(57)【要約】      （修正有）【課題】ネットワークデバイスにおいてフレキシブルな送信間隔およびバックオフ間隔を実施する方法を提供する。【解決手段】通信媒体を介したネットワークデバイスによる通信の方法であって、乱数値を選択することと、乱数値およびネットワークデバイスが通信媒体の制御権をめぐって競合していない最大数の通信タイムスロットであるバックオフ競合ウィンドウに少なくとも部分的には基づいて、バックオフ間隔を選択することと、バックオフ間隔を開始することと、バックオフ間隔が経過し、通信媒体上で送信が検出されなかった後で、通信媒体の制御権を取得することと、前記通信媒体上で送信が検出されるときに、前記バックオフ競合ウィンドウ内の別の連続したバックオフ間隔を選択することと、を含む。【選択図】図３Ｂ
2019080337.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークデバイスによる通信の方法であって、
前記ネットワークデバイスにおいて、通信媒体上で送信するための総送信持続時間および所定の送信間隔に少なくとも部分的には基づいて、前記ネットワークデバイスの総バックオフ持続時間を決定することと、
前記ネットワークデバイスが前記総バックオフ持続時間中に前記通信媒体上で送信することを防止するために前記総バックオフ持続時間を開始することと、を備える、方法。
【請求項２】
前記ネットワークデバイスにおいて前記総送信持続時間を決定することをさらに備え、
ここにおいて、前記総バックオフ持続時間を決定することが、前記総送信持続時間が前記総送信持続時間中に送信されるデータに関連付けられた前記所定の送信間隔を超えると決定したことに応答する、請求項１に記載の方法。
【請求項３】
前記総送信持続時間中に前記ネットワークデバイスによって送信されるデータに関連付けられた優先度レベルに少なくとも部分的には基づいて、前記所定の送信間隔を決定することをさらに備える、請求項１に記載の方法。
【請求項４】
前記総送信持続時間が、前記所定の送信間隔の倍数である、請求項１に記載の方法。
【請求項５】
前記総バックオフ持続時間が、前記総送信持続時間中に送信されるデータに関連付けられた所定のバックオフ間隔の倍数である、請求項１に記載の方法。
【請求項６】
前記ネットワークデバイスに関連付けられたバックオフ競合ウィンドウに少なくとも部分的には基づいてバックオフ間隔を選択することをさらに備え、ここにおいて、前記バックオフ競合ウィンドウが、前記ネットワークデバイスが前記通信媒体上のデータ送信を延期する最大数の通信タイムスロットを表す、請求項１に記載の方法。
【請求項７】
前記ネットワークデバイスの前記総バックオフ持続時間を決定することが、
前記総送信持続時間と前記所定の送信間隔との比に少なくとも部分的には基づいて前記ネットワークデバイスにおいて実施するバックオフ間隔の数を決定することと、
前記バックオフ間隔の数に少なくとも部分的には基づいて、前記総バックオフ持続時間を決定することと、を備える、請求項１に記載の方法。
【請求項８】
前記ネットワークデバイスにおいて前記総バックオフ持続時間を開始することが、
前記ネットワークデバイスにおいて開始された第１のバックオフ間隔が経過したかどうかを決定することと、
前記第１のバックオフ間隔が経過したと決定された場合に、
前記総バックオフ持続時間が前記第１のバックオフ間隔と、その後に続く第２のバックオフ間隔とを含むかどうかを決定することと、
前記総バックオフ持続時間が前記第１のバックオフ間隔と、その後に続く前記第２のバックオフ間隔とを含むと決定された場合に、
前記通信媒体上で別のネットワークデバイスによって開始された送信が検出されるかどうかを決定することと、を備える、請求項１に記載の方法。
【請求項９】
前記通信媒体上で別のネットワークデバイスによって開始された送信が検出されるかどうかに少なくとも部分的には基づいて、前記第２のバックオフ間隔の持続時間を変化させるかどうかを決定することをさらに備える、請求項８に記載の方法。
【請求項１０】
前記通信媒体上で前記送信が検出された場合に、前記第１のバックオフ間隔を決定するために使用されたバックオフ競合ウィンドウに対して、前記第２のバックオフ間隔を決定するためのバックオフ競合ウィンドウの長さを延長することと、
前記通信媒体上で送信が検出されない場合に、前記第２のバックオフ間隔を決定するための前記バックオフ競合ウィンドウの長さを所定の長さに設定すると決定することと、をさらに備える、請求項９に記載の方法。
【請求項１１】
前記ネットワークデバイスの前記総バックオフ持続時間を決定することが、
現在のバックオフ競合ウィンドウ、前記総送信持続時間、および前記所定の送信間隔のうちの少なくとも１つに基づいて前記ネットワークデバイスに関連付けられた新たなバックオフ競合ウィンドウを決定することと、ここにおいて、前記新たなバックオフ競合ウィンドウが、前記ネットワークデバイスが前記通信媒体上のデータ送信を延期する最大数の通信タイムスロットを表し、
前記新たなバックオフ競合ウィンドウに少なくとも部分的には基づいて、前記総バックオフ持続時間を選択することと、を備える、請求項１に記載の方法。
【請求項１２】
前記ネットワークデバイスにおいて前記総バックオフ持続時間が経過したと決定することと、
前記総バックオフ持続時間が経過したと決定したことに応答して、前記通信媒体の制御権を取得するために少なくとも１つのメッセージを送信することと、をさらに備える、請求項１に記載の方法。
【請求項１３】
前記総送信持続時間および前記所定の送信間隔に少なくとも部分的には基づいて前記ネットワークデバイスにおいて実施する連続したバックオフ間隔の数を決定することと、
第１のバックオフ間隔が経過し、第２のバックオフ間隔が前記第１のバックオフ間隔の後に続いていると決定された場合に、
前記通信媒体上で別のネットワークデバイスによる送信が検出されるかどうかを決定することと、
前記通信媒体上で別のネットワークデバイスによる送信が検出されるかどうかに少なくとも部分的には基づいて、前記第２のバックオフ間隔の持続時間を変化させるかどうかを決定することと、をさらに備える、請求項１に記載の方法。
【請求項１４】
ネットワークデバイスであって、
プロセッサユニットと、
前記プロセッサユニットに結合された時間間隔計算ユニットと、を備え、前記時間間隔計算ユニットが、
通信媒体上で送信するための総送信持続時間および所定の送信間隔に少なくとも部分的には基づいて、前記ネットワークデバイスの総バックオフ持続時間を決定し、
前記ネットワークデバイスが前記総バックオフ持続時間中に前記通信媒体上で送信することを防止するために前記総バックオフ持続時間を開始するように構成される、ネットワークデバイス。
【請求項１５】
前記時間間隔計算ユニットが、
前記総送信持続時間を決定するようにさらに構成され、
ここにおいて前記総バックオフ持続時間を決定するように構成された前記時間間隔計算ユニットが、前記総送信持続時間が、前記総送信持続時間中に送信されるデータに関連付けられる前記所定の送信間隔を超えると決定したことに応答する、請求項１４に記載のネットワークデバイス。
【請求項１６】
前記時間間隔計算ユニットが、
前記ネットワークデバイスに関連付けられたバックオフ競合ウィンドウに少なくとも部分的には基づいてバックオフ間隔を選択するようにさらに構成され、ここにおいて、前記バックオフ競合ウィンドウが、前記ネットワークデバイスが前記通信媒体上でデータ送信を延期する最大数の通信タイムスロットを表す、請求項１４に記載のネットワークデバイス。
【請求項１７】
前記ネットワークデバイスの前記総バックオフ持続時間を決定するように構成された前記時間間隔計算ユニットが、
前記総送信持続時間と前記所定の送信間隔との比に少なくとも部分的には基づいて前記ネットワークデバイスにおいて実施するバックオフ間隔の数を決定し、
前記バックオフ間隔の数に少なくとも部分的には基づいて、前記総バックオフ持続時間を決定するように構成された前記時間間隔計算ユニットを備える、請求項１４に記載のネットワークデバイス。
【請求項１８】
前記ネットワークデバイスにおいて前記総バックオフ持続時間を開始するように構成された前記時間間隔計算ユニットが、
前記ネットワークデバイスにおいて開始された第１のバックオフ間隔が経過したかどうかを決定し、
前記第１のバックオフ間隔が経過し、第２のバックオフ間隔が前記第１のバックオフ間隔の後に続いていると決定された場合に、
前記通信媒体上で別のネットワークデバイスによって開始された送信が検出されるかどうかに少なくとも部分的には基づいて、前記第２のバックオフ間隔の持続時間を変化させるかどうかを決定し、ここにおいて、前記総バックオフ持続時間が、前記第１のバックオフ間隔と、前記第２のバックオフ間隔とを含むように構成された前記時間間隔計算ユニットを備える、請求項１４に記載のネットワークデバイス。
【請求項１９】
前記時間間隔計算ユニットが、
前記通信媒体上で前記送信が検出された場合に、前記第１のバックオフ間隔を決定するために使用されたバックオフ競合ウィンドウに対して、前記第２のバックオフ間隔を決定するためのバックオフ競合ウィンドウの長さを延長し、
前記通信媒体上で送信が検出されない場合に、前記第２のバックオフ間隔を決定するための前記バックオフ競合ウィンドウの長さを所定の長さに設定すると決定するようにさらに構成される、請求項１８に記載のネットワークデバイス。
【請求項２０】
前記ネットワークデバイスの前記総バックオフ持続時間を決定するように構成された前記時間間隔計算ユニットが、
現在のバックオフ競合ウィンドウ、前記総送信持続時間、および前記所定の送信間隔のうちの少なくとも１つに基づいて前記ネットワークデバイスに関連付けられた新たなバックオフ競合ウィンドウを決定し、ここにおいて、前記新たなバックオフ競合ウィンドウが、前記ネットワークデバイスが前記通信媒体上のデータ送信を延期する最大数の通信タイムスロットを表し、
前記新たなバックオフ競合ウィンドウに少なくとも部分的には基づいて、前記総バックオフ持続時間を選択するように構成された前記時間間隔計算ユニットを備える、請求項１４に記載のネットワークデバイス。
【請求項２１】
機械実行可能命令を記憶した非一時的機械可読記憶媒体であって、前記機械実行可能命令が、
ネットワークデバイスにおいて、通信媒体上で送信するための総送信持続時間および所定の送信間隔に少なくとも部分的には基づいて、前記ネットワークデバイスの総バックオフ持続時間を決定し、
前記ネットワークデバイスが前記総バックオフ持続時間中に前記通信媒体上で送信することを防止するために前記ネットワークデバイスにおいて前記総バックオフ持続時間を開始する命令を備える、非一時的機械可読記憶媒体。
【請求項２２】
前記命令が、
前記ネットワークデバイスにおける前記総送信持続時間を決定する命令をさらに備え、
ここにおいて前記総バックオフ持続時間を決定する前記命令が、前記総送信持続時間が、前記総送信持続時間中に送信されるデータに関連付けられる前記所定の送信間隔を超えると決定したことに応答する、請求項２１に記載の非一時的機械可読記憶媒体。
【請求項２３】
前記命令が、
前記ネットワークデバイスに関連付けられたバックオフ競合ウィンドウに少なくとも部分的には基づいてバックオフ間隔を選択する命令をさらに備え、ここにおいて、前記バックオフ競合ウィンドウが、前記ネットワークデバイスが前記通信媒体上でデータ送信を延期する最大数の通信タイムスロットを表す、請求項２１に記載の非一時的機械可読記憶媒体。
【請求項２４】
前記ネットワークデバイスの前記総バックオフ持続時間を決定する前記命令が、
前記総送信持続時間と前記所定の送信間隔との比に少なくとも部分的には基づいて前記ネットワークデバイスにおいて実施するバックオフ間隔の数を決定し、
前記バックオフ間隔の数に少なくとも部分的には基づいて、前記総バックオフ持続時間を決定する命令を備える、請求項２１に記載の非一時的機械可読記憶媒体。
【請求項２５】
前記ネットワークデバイスの前記総バックオフ持続時間を開始する前記命令が、
前記ネットワークデバイスにおいて開始された第１のバックオフ間隔が経過したかどうかを決定し、
前記第１のバックオフ間隔が経過し、第２のバックオフ間隔が前記第１のバックオフ間隔の後に続いていると決定された場合に、
前記通信媒体上で別のネットワークデバイスによって開始された送信が検出されるかどうかに少なくとも部分的には基づいて、前記第２のバックオフ間隔の持続時間を変化させるかどうかを決定する命令を備え、ここにおいて、前記総バックオフ持続時間が、前記第１のバックオフ間隔と前記第２のバックオフ間隔とを含む、請求項２１に記載の非一時的機械可読記憶媒体。
【請求項２６】
前記ネットワークデバイスの前記総バックオフ持続時間を決定する前記命令が、
現在のバックオフ競合ウィンドウ、前記総送信持続時間、および前記所定の送信間隔のうちの少なくとも１つに基づいて前記ネットワークデバイスに関連付けられた新たなバックオフ競合ウィンドウを決定し、ここにおいて、前記新たなバックオフ競合ウィンドウが、前記ネットワークデバイスが前記通信媒体上のデータ送信を延期する最大数の通信タイムスロットを表し、
前記新たなバックオフ競合ウィンドウに少なくとも部分的には基づいて、前記総バックオフ持続時間を選択する命令を備える、請求項２１に記載の非一時的機械可読記憶媒体。
【請求項２７】
ネットワークデバイスであって、
通信媒体上で送信するための総送信持続時間および所定の送信間隔に少なくとも部分的には基づいて、前記ネットワークデバイスの総バックオフ持続時間を決定するための手段と、
前記ネットワークデバイスが前記総バックオフ持続時間中に前記通信媒体上で送信することを防止するために前記総バックオフ持続時間を開始するための手段と、を備える、ネットワークデバイス。
【請求項２８】
前記ネットワークデバイスに関連付けられたバックオフ競合ウィンドウに少なくとも部分的には基づいてバックオフ間隔を選択するための手段をさらに備え、ここにおいて、前記バックオフ競合ウィンドウが、前記ネットワークデバイスが前記通信媒体上でデータ送信を延期する最大数の通信タイムスロットを表す、請求項２７に記載のネットワークデバイス。
【請求項２９】
前記ネットワークデバイスの前記総バックオフ持続時間を決定するための前記手段が、
前記総送信持続時間と前記所定の送信間隔との比に少なくとも部分的には基づいて前記ネットワークデバイスにおいて実施するバックオフ間隔の数を決定するための手段と、
前記バックオフ間隔の数に少なくとも部分的には基づいて、前記総バックオフ持続時間を決定するための手段と、を備える、請求項２７に記載のネットワークデバイス。
【請求項３０】
前記ネットワークデバイスの前記総バックオフ持続時間を開始するための手段が、
前記ネットワークデバイスにおいて開始された第１のバックオフ間隔が経過したかどうかを決定するための手段と、
前記第１のバックオフ間隔が経過し、第２のバックオフ間隔が前記第１のバックオフ間隔の後に続いていると決定された場合に、
前記通信媒体上で別のネットワークデバイスによって開始された送信が検出されるかどうかに少なくとも部分的には基づいて、前記第２のバックオフ間隔の持続時間を変化させるかどうかを決定するための手段と、を備え、ここにおいて、前記総バックオフ持続時間が、前記第１のバックオフ間隔と前記第２のバックオフ間隔とを含む、請求項２７に記載のネットワークデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
[0001]本願は、２０１３年３月７日に出願された米国仮出願第６１／７７４４１４号、および２０１４年３月７日に出願された米国出願第１４／２０１３７２号の優先権の利益を主張するものである。
【背景技術】
【０００２】
[0002]本発明の主題の実施形態は、一般に、通信ネットワークの分野に関し、さらに詳細には、ネットワークデバイスにおいてフレキシブルな送信間隔およびバックオフ間隔を実施することに関する。
【０００３】
[0003]ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）デバイスは、通常、共有されるＷＬＡＮ通信媒体へのアクセスを調整するために、媒体コンテンションプロトコル（たとえばキャリア検知多重アクセス／衝突回避（ＣＳＭＡ／ＣＡ）プロトコル）を使用する。たとえば、コンテンションプロトコルは、各ＷＬＡＮデバイスが、ＷＬＡＮ通信媒体上で送信するかどうか、およびどのようにして他の送信との衝突を回避するかを決定することを可能にすることができる。ＩＥＥＥ  ８０２．１１通信プロトコルによれば、データを送信しようとするＷＬＡＮデバイスは、そのデータを送信する前に、無作為なバックオフ間隔を開始することができる。ＷＬＡＮデバイスは、その無作為なバックオフ間隔が経過した後まで、そのデータの送信を延期することができる。
【発明の概要】
【０００４】
[0004]ネットワークデバイスにおいてフレキシブルな送信間隔およびバックオフ間隔を実施するための様々な実施形態が開示される。いくつかの実施形態では、ネットワークデバイスによる通信の方法は、ネットワークデバイスにおいて、通信媒体上で送信するための総送信持続時間および所定の送信間隔に少なくとも部分的には基づいてネットワークデバイスの総バックオフ持続時間を決定することと、ネットワークデバイスが総バックオフ持続時間中に通信媒体上で送信することを防止するために総バックオフ持続時間を開始することとを備える。
【０００５】
[0005]いくつかの実施形態では、この方法は、ネットワークデバイスにおいて総送信持続時間を決定することをさらに備え、ここにおいて総バックオフ持続時間を決定することは、総送信持続時間が総送信持続時間中に送信されるデータに関連付けられた所定の送信間隔を超えると決定したことに応答する。
【０００６】
[0006]いくつかの実施形態では、この方法は、総送信持続時間中にネットワークデバイスによって送信されるデータに関連付けられた優先度レベルに少なくとも部分的には基づいて、所定の送信間隔を決定することをさらに備える。
【０００７】
[0007]いくつかの実施形態では、総送信持続時間は、所定の送信間隔の倍数である。
【０００８】
[0008]いくつかの実施形態では、総バックオフ持続時間は、総送信持続時間中に送信されるデータに関連付けられた所定のバックオフ間隔の倍数である。
【０００９】
[0009]いくつかの実施形態では、この方法は、ネットワークデバイスに関連付けられたバックオフ競合ウィンドウに少なくとも部分的には基づいてバックオフ間隔を選択することをさらに備え、ここにおいてバックオフ競合ウィンドウは、ネットワークデバイスが通信媒体上のデータ送信を延期する最大数の通信タイムスロットを表す。
【００１０】
[0010]いくつかの実施形態では、ネットワークデバイスの総バックオフ持続時間を決定することが、総送信持続時間と所定の送信間隔との比に少なくとも部分的には基づいてネットワークデバイスにおいて実施するバックオフ間隔の数を決定することと、バックオフ間隔の数に少なくとも部分的には基づいて、総バックオフ持続時間を決定することとを備える。
【００１１】
[0011]いくつかの実施形態では、ネットワークデバイスにおいて総バックオフ持続時間を開始することは、ネットワークデバイスにおいて開始された第１のバックオフ間隔が経過したかどうかを決定することと、第１のバックオフ間隔が経過したと決定された場合に、総バックオフ持続時間が第１のバックオフ間隔と、その後に続く第２のバックオフ間隔とを含むかどうかを決定することと、総バックオフ持続時間が第１のバックオフ間隔と、その後に続く第２のバックオフ間隔とを含むと決定された場合に、通信媒体上で別のネットワークデバイスによって開始された送信が検出されるかどうかを決定することと、を備える。
【００１２】
[0012]いくつかの実施形態では、この方法は、通信媒体上で別のネットワークデバイスによって開始された送信が検出されるかどうかに少なくとも部分的には基づいて、第２のバックオフ間隔の持続時間を変化させるかどうかを決定することをさらに備える。
【００１３】
[0013]いくつかの実施形態では、この方法は、通信媒体上で送信が検出された場合に、第１のバックオフ間隔を決定するために使用されたバックオフ競合ウィンドウに対して、第２のバックオフ間隔を決定するためのバックオフ競合ウィンドウの長さを延長することと、通信媒体上で送信が検出されない場合に、第２のバックオフ間隔を決定するためのバックオフ競合ウィンドウの長さを所定の長さに設定すると決定することとをさらに備える。
【００１４】
[0014]いくつかの実施形態では、ネットワークデバイスの総バックオフ持続時間を決定することは、現在のバックオフ競合ウィンドウ、総送信持続時間、および所定の送信間隔のうちの少なくとも１つに基づいてネットワークデバイスに関連付けられた新たなバックオフ競合ウィンドウを決定することと、ここにおいて、新たなバックオフ競合ウィンドウが、ネットワークデバイスが通信媒体上のデータ送信を延期する最大数の通信タイムスロットを表し、新たなバックオフ競合ウィンドウに少なくとも部分的には基づいて、総バックオフ持続時間を選択することと、を備える。
【００１５】
[0015]いくつかの実施形態では、この方法は、ネットワークデバイスにおいて総バックオフ持続時間が経過したと決定することと、総バックオフ持続時間が経過したと決定したことに応答して、通信媒体の制御権を取得するために少なくとも１つのメッセージを送信することとをさらに備える。
【００１６】
[0016]いくつかの実施形態では、この方法は、総送信持続時間および所定の送信間隔に少なくとも部分的には基づいてネットワークデバイスにおいて実施する連続したバックオフ間隔の数を決定することと、第１のバックオフ間隔が経過し、第２のバックオフ間隔が第１のバックオフ間隔の後に続いていると決定された場合に、通信媒体上で別のネットワークデバイスによる送信が検出されるかどうかを決定することと、通信媒体上で別のネットワークデバイスによる送信が検出されるかどうかに少なくとも部分的には基づいて、第２のバックオフ間隔の持続時間を変化させるかどうかを決定することと、をさらに備える。
【００１７】
[0017]いくつかの実施形態では、ネットワークデバイスは、プロセッサユニットと、プロセッサユニットに結合された時間間隔計算ユニットとを備え、時間間隔計算ユニットは、通信媒体上で送信するための総送信持続時間および所定の送信間隔に少なくとも部分的には基づいて、ネットワークデバイスの総バックオフ持続時間を決定し、ネットワークデバイスが総バックオフ持続時間中に通信媒体上で送信することを防止するために総バックオフ持続時間を開始するように構成される。
【００１８】
[0018]いくつかの実施形態では、時間間隔計算ユニットは、総送信持続時間を決定するようにさらに構成され、ここにおいて総バックオフ持続時間を決定するように構成された時間間隔計算ユニットは、総送信持続時間が、総送信持続時間中に送信されるデータに関連付けられる所定の送信間隔を超えると決定したことに応答する。
【００１９】
[0019]いくつかの実施形態では、時間間隔計算ユニットは、ネットワークデバイスに関連付けられたバックオフ競合ウィンドウに少なくとも部分的には基づいてバックオフ間隔を選択するようにさらに構成され、ここにおいて、バックオフ競合ウィンドウは、ネットワークデバイスが通信媒体上でデータ送信を延期する最大数の通信タイムスロットを表す。
【００２０】
[0020]いくつかの実施形態では、ネットワークデバイスの総バックオフ持続時間を決定するように構成された時間間隔計算ユニットは、総送信持続時間と所定の送信間隔との比に少なくとも部分的には基づいてネットワークデバイスにおいて実施するバックオフ間隔の数を決定し、バックオフ間隔の数に少なくとも部分的には基づいて、総バックオフ持続時間を決定するように構成された時間間隔計算ユニットを備える。
【００２１】
[0021]いくつかの実施形態では、ネットワークデバイスにおいて総バックオフ持続時間を開始するように構成された時間間隔計算ユニットは、ネットワークデバイスにおいて開始された第１のバックオフ間隔が経過したかどうかを決定し、第１のバックオフ間隔が経過し、第２のバックオフ間隔が第１のバックオフ間隔の後に続いていると決定された場合に、通信媒体上で別のネットワークデバイスによって開始された送信が検出されるかどうかに少なくとも部分的には基づいて、第２のバックオフ間隔の持続時間を変化させるかどうかを決定し、ここにおいて、総バックオフ持続時間が、第１のバックオフ間隔と、第２のバックオフ間隔とを含むように構成された時間間隔計算ユニットを備える。
【００２２】
[0022]いくつかの実施形態では、時間間隔計算ユニットは、通信媒体上で送信が検出された場合に、第１のバックオフ間隔を決定するために使用されたバックオフ競合ウィンドウに対して、第２のバックオフ間隔を決定するためのバックオフ競合ウィンドウの長さを延長し、通信媒体上で送信が検出されない場合に、第２のバックオフ間隔を決定するためのバックオフ競合ウィンドウの長さを所定の長さに設定すると決定するようにさらに構成される。
【００２３】
[0023]いくつかの実施形態では、ネットワークデバイスの総バックオフ持続時間を決定するように構成された時間間隔計算ユニットは、現在のバックオフ競合ウィンドウ、総送信持続時間、および所定の送信間隔のうちの少なくとも１つに基づいてネットワークデバイスに関連付けられた新たなバックオフ競合ウィンドウを決定し、ここにおいて、新たなバックオフ競合ウィンドウが、ネットワークデバイスが通信媒体上のデータ送信を延期する最大数の通信タイムスロットを表し、新たなバックオフ競合ウィンドウに少なくとも部分的には基づいて、総バックオフ持続時間を選択するように構成された時間間隔計算ユニットを備える。
【００２４】
[0024]いくつかの実施形態では、機械実行可能命令を記憶した非一時的機械可読記憶媒体、機械実行可能命令は、ネットワークデバイスにおいて、通信媒体上で送信するための総送信持続時間および所定の送信間隔に少なくとも部分的には基づいて、ネットワークデバイスの総バックオフ持続時間を決定し、ネットワークデバイスが総バックオフ持続時間中に通信媒体上で送信することを防止するためにネットワークデバイスにおいて総バックオフ持続時間を開始する命令を備える。
【００２５】
[0025]いくつかの実施形態では、命令は、ネットワークデバイスにおける総送信持続時間を決定する命令をさらに備え、ここにおいて総バックオフ持続時間を決定する命令は、総送信持続時間が、総送信持続時間中に送信されるデータに関連付けられる所定の送信間隔を超えると決定したことに応答する。
【００２６】
[0026]いくつかの実施形態では、命令は、ネットワークデバイスに関連付けられたバックオフ競合ウィンドウに少なくとも部分的には基づいてバックオフ間隔を選択する命令をさらに備え、ここにおいて、バックオフ競合ウィンドウは、ネットワークデバイスが通信媒体上でデータ送信を延期する最大数の通信タイムスロットを表す。
【００２７】
[0027]いくつかの実施形態では、ネットワークデバイスの総バックオフ持続時間を決定する命令は、総送信持続時間と所定の送信間隔との比に少なくとも部分的には基づいてネットワークデバイスにおいて実施するバックオフ間隔の数を決定し、バックオフ間隔の数に少なくとも部分的には基づいて、総バックオフ持続時間を決定する命令を備える。
【００２８】
[0028]いくつかの実施形態では、ネットワークデバイスの総バックオフ持続時間を開始する命令は、ネットワークデバイスにおいて開始された第１のバックオフ間隔が経過したかどうかを決定し、第１のバックオフ間隔が経過し、第２のバックオフ間隔が第１のバックオフ間隔の後に続いていると決定された場合に、通信媒体上で別のネットワークデバイスによって開始された送信が検出されるかどうかに少なくとも部分的には基づいて、第２のバックオフ間隔の持続時間を変化させるかどうかを決定する命令を備え、ここにおいて、総バックオフ持続時間は、第１のバックオフ間隔と第２のバックオフ間隔とを含む。
【００２９】
[0029]いくつかの実施形態では、ネットワークデバイスの総バックオフ持続時間を決定する命令は、現在のバックオフ競合ウィンドウ、総送信持続時間、および所定の送信間隔のうちの少なくとも１つに基づいてネットワークデバイスに関連付けられた新たなバックオフ競合ウィンドウを決定し、ここにおいて、新たなバックオフ競合ウィンドウは、ネットワークデバイスが通信媒体上のデータ送信を延期する最大数の通信タイムスロットを表し、新たなバックオフ競合ウィンドウに少なくとも部分的には基づいて、総バックオフ持続時間を選択する命令を備える。
【００３０】
[0030]いくつかの実施形態では、ネットワークデバイスは、通信媒体上で送信するための総送信持続時間および所定の送信間隔に少なくとも部分的には基づいて、ネットワークデバイスの総バックオフ持続時間を決定するための手段と、ネットワークデバイスが総バックオフ持続時間中に通信媒体上で送信することを防止するために総バックオフ持続時間を開始するための手段とを備える。
【００３１】
[0031]いくつかの実施形態では、このネットワークデバイスは、ネットワークデバイスに関連付けられたバックオフ競合ウィンドウに少なくとも部分的には基づいてバックオフ間隔を選択するための手段をさらに備え、ここにおいて、バックオフ競合ウィンドウは、ネットワークデバイスが通信媒体上でデータ送信を延期する最大数の通信タイムスロットを表す。
【００３２】
[0032]いくつかの実施形態では、ネットワークデバイスの総バックオフ持続時間を決定するための手段は、総送信持続時間と所定の送信間隔との比に少なくとも部分的には基づいてネットワークデバイスにおいて実施するバックオフ間隔の数を決定するための手段と、バックオフ間隔の数に少なくとも部分的には基づいて、総バックオフ持続時間を決定するための手段とを備える。
【００３３】
[0033]いくつかの実施形態では、ネットワークデバイスの総バックオフ持続時間を開始するための手段は、ネットワークデバイスにおいて開始された第１のバックオフ間隔が経過したかどうかを決定するための手段と、第１のバックオフ間隔が経過し、第２のバックオフ間隔が第１のバックオフ間隔の後に続いていると決定された場合に、通信媒体上で別のネットワークデバイスによって開始された送信が検出されるかどうかに少なくとも部分的には基づいて、第２のバックオフ間隔の持続時間を変化させるかどうかを決定するための手段とを備え、ここにおいて、総バックオフ持続時間は、第１のバックオフ間隔と、第２のバックオフ間隔とを含む。
【００３４】
[0034]添付の図面を参照することにより、本実施形態がよりよく理解され得、多数の目的、特徴、および利点が当業者に明らかになり得る。
【図面の簡単な説明】
【００３５】
【図１】[0035]フレキシブルな送信間隔およびバックオフ間隔を実施するための機構を示す例示的な概念図。
【図２Ａ】[0036]バックオフ持続時間を決定するための一実施形態の例示的な動作を示す流れ図。
【図２Ｂ】[0037]バックオフ持続時間を決定するための別の実施形態の例示的な動作を示す流れ図。
【図３Ａ】[0038]フレキシブルなバックオフ間隔を実施するための一実施形態の例示的な動作を示す流れ図。
【図３Ｂ】[0039]フレキシブルなバックオフ間隔を実施するための別の実施形態の例示的な動作を示す流れ図。
【図４Ａ】[0040]総バックオフ持続時間を動的に変化させるための一実施形態の例示的な動作を示す流れ図。
【図４Ｂ】[0041]総バックオフ持続時間を動的に変化させるための別の実施形態の例示的な動作を示す流れ図。
【図５】[0042]通信ネットワークにおいて総バックオフ持続時間を動的に変化させる２つのネットワークデバイスの例示的なタイミング図。
【図６】[0043]フレキシブルな送信間隔およびバックオフ間隔のための機構を含む電子デバイスの一実施形態を示すブロック図。
【発明を実施するための形態】
【００３６】
[0044]以下の説明は、本発明の主題の技法を具現化する、例示的なシステムと、方法と、技法と、命令シーケンスと、コンピュータプログラム製品とを含む。ただし、記載される実施形態は、これらの具体的な詳細がなくても実施され得ることを理解されたい。たとえば、例は、ＷＬＡＮデバイスにおいてフレキシブルな送信間隔およびバックオフ間隔を実施するための動作について言及しているが、実施形態は、それらに限定されない。他の実施形態では、これらのフレキシブルな送信間隔およびバックオフ間隔のための動作が、他の適当な通信プロトコルおよび標準を実施するネットワークデバイス（たとえばＷｉＭＡＸ（登録商標）、電力線通信（ＰＬＣ）、イーサネット（登録商標）など）によって実行されることもあり得る。他の例では、周知の命令インスタンス、プロトコル、構造、技法については、説明をわかりにくくしないように、詳細には示されていない。
【００３７】
[0045]ＩＥＥＥ８０２．１１通信プロトコルによれば、ネットワークデバイスには、通常、送信機会（ＴＸＯＰ）限界（transmit opportunity limit）とも呼ばれる、所定の送信間隔が割り当てられる。所定の送信間隔は、ネットワークデバイスが、バックオフ間隔を開始することなく連続的に通信媒体にアクセスすることができる時間持続時間である。送信されるデータのタイプおよび優先度に応じて、ネットワークデバイスは、送信間隔（すなわちＴＸＯＰ限界）の間、通信を送信することができる。送信間隔が経過した後で、ネットワークデバイスは、通信媒体の制御権を放棄し、他の競合するネットワークデバイスが通信媒体の制御権を取得することができるように、送信を所定のバックオフ間隔の間だけ延期する。例示的な送信／バックオフシーケンスは、バックオフ、送信、バックオフ、送信などで表現され得、ここで、各送信時間期間は、所定の送信間隔以下である。したがって、送信しているネットワークデバイスは、送信間隔中にのみ通信を送信することができ、一時的に、他の競合するネットワークデバイスに通信媒体の制御権を引き渡すことがある。これにより、送信のためにスケジューリングされたデータの有用性または新鮮度が低下する可能性がある。特に、時間に敏感なデータ（たとえばサウンディングデータ、ビームフォーミングパラメータなど）の場合には、１つの送信間隔の後でバックオフ間隔を開始し、通信媒体の制御権を放棄することは、時間に敏感なデータの有用性を低下させる可能性がある。これにより、通信システム（たとえばマルチユーザ多入力多出力（ＭＵ−ＭＩＭＯ）システム、ビームフォーミングシステムなど）の効率も低下する可能性がある。
【００３８】
[0046]いくつかの実施形態では、ネットワークデバイスは、複数の連続した送信間隔（たとえば複数の連続したＴＸＯＰ限界）にわたって通信媒体の制御権を取得するように構成され得る。たとえば、ネットワークデバイスは、送信に利用可能なデータの量および／または送信間隔の持続時間に応じて、それが通信媒体の制御権を有する送信間隔の数を決定することができる。送信間隔を超える総送信持続時間にわたって通信媒体の制御権を維持した（たとえばデータを送信した）後で、ネットワークデバイスは、複数の連続したバックオフ間隔を開始することができる。たとえば、ネットワークデバイスは、２つの連続した送信間隔にわたって通信媒体上でデータを送信する場合には、送信、送信、バックオフ、バックオフ、送信、送信、バックオフ、バックオフなどの送信／バックオフシーケンスで示されるように、２つの連続したバックオフ間隔を開始することができる。さらに、いくつかの実施形態では、ネットワークデバイスは、複数の連続したバックオフ間隔を実施するときに、その通信媒体上で別のネットワークデバイスによる送信が検出されるかどうかに応じて、後続のバックオフ間隔の持続時間を変化させるかどうかを決定することができる。たとえば、ネットワークデバイスは、連続するバックオフ間隔を実施すると決定することもある。この例では、ネットワークデバイスは、現在のバックオフ間隔が経過した後で他のデバイスの送信が検出されたかどうかに応じて、後続のバックオフ間隔の持続時間を変化させるかどうかを決定することができる。
【００３９】
[0047]複数の送信間隔をクラスタ化／グループ化することにより、ネットワークデバイスがより長い持続時間にわたって通信媒体の制御権を維持できるようにすることができる。これは、ネットワークデバイスが、送信されるものとしてスケジューリングされた時間に敏感なデータを送信した後で通信媒体の制御権を放棄することを保証する助けになり得る。複数の送信間隔をグループ化することは、送信されるデータの「新鮮さ」に依拠するネットワークデバイスおよびシステムにとっても有用となり得る。また、ネットワークデバイスが複数の連続した送信間隔にわたって通信媒体の制御権を取得したときに複数のバックオフ間隔を実施することは、通信媒体上のネットワークデバイスの間の公平性を保証する助けとなり得る。
【００４０】
[0048]図１は、フレキシブルな送信間隔およびバックオフ間隔を実施するための機構を示す例示的な概念図である。図１は、ネットワークデバイス１０２、１０４、および１１０を含む通信ネットワーク１００を示している。ネットワークデバイス１０２は、時間間隔計算ユニット１０６と、トランシーバユニット１０８とを含む。図１には示されていないが、ネットワークデバイス１０４および１１０も、ネットワークデバイス１０２と同様の時間間隔計算ユニットとトランシーバユニットとを含み得る。いくつかの実施形態では、ネットワークデバイス１０２、１０４、および１１０は、各々、ラップトップコンピュータ、タブレットコンピュータ、モバイル電話、スマート機器、ゲームコンソール、アクセスポイント、デスクトップコンピュータ、ウェアラブルデバイス、または他の適当な電子デバイスなどの電子デバイスであり得る。ネットワークデバイス１０２、１０４、および１１０は、各々、１つまたは複数の通信プロトコルを実施するように構成され得る（たとえば、通信ネットワーク１００がＷＬＡＮデバイスであり、ネットワークデバイス１０２、１０４、および１１０が、各々、ＷＬＡＮデバイスであることもある）。いくつかの実施形態では、ＷＬＡＮ通信プロトコルに加えて、ネットワークデバイス１０２、１０４、および１１０は、各々、他のタイプの通信（たとえばＢＬＵＥＴＯＯＴＨ（登録商標）（Ｂｌｕｅｔｏｏｔｈ（登録商標））、イーサネット、ＷｉＭＡＸ、ＰＬＣなど）を可能にする他のプロトコルおよび関連する機能性を実施し得る。さらに、いくつかの実施形態では、ネットワークデバイス１０２、１０４、および１１０は、各々、１つまたは複数の無線トランシーバ、プロセッサ、アナログフロントエンド（ＡＦＥ）ユニット、メモリ、他の構成要素、および／または通信プロトコルおよび関連する機能性を実施する他の論理を含み得る。
【００４１】
[0049]一実施形態では、ネットワークデバイス１０２は、通信ネットワーク１００中の別のネットワークデバイス（たとえばネットワークデバイス１１０）にデータを送信すると決定し得る。ネットワークデバイス１０２は、通信媒体の制御権および通信媒体上の送信機会をめぐって他のネットワークデバイス１０４および１１０と競合する可能性がある。ネットワークデバイス１０２は、所定のバックオフ競合ウィンドウに少なくとも部分的には基づいて、バックオフ間隔を無作為に選択し得る。バックオフ競合ウィンドウは、ネットワークデバイス１０２が通信媒体の制御権を取得しようと試みる前に送信を延期すべき、好ましい数の通信タイムスロットとすることができる。通信タイムスロットは、ネットワークデバイス１０２、１０４、および１１０が通信媒体上でデータを送信する、または送信を延期することができる最小の時間単位を指すことがある。したがって、一実施形態では、バックオフ競合ウィンドウは、ネットワークデバイス１０２が通信媒体の制御権をめぐって競合してはならない最大数の通信タイムスロットであることがある。たとえば、バックオフ競合ウィンドウは、１５個の通信タイムスロット、３１個の通信タイムスロット、または別の適当な数のタイムスロットを含み得る。バックオフ間隔は、適当な下限（たとえばゼロ）からバックオフ競合ウィンドウまでの間の乱数を選択することによって選択され得る。たとえば、バックオフ競合ウィンドウが３１個の通信タイムスロットを含む場合には、バックオフ間隔は、０から３１の間の乱数を選択することによって決定され得る。一例では、バックオフ時間間隔が１０個の通信タイムスロットとして定義された場合には、ネットワークデバイス１０２は、１０個の通信タイムスロットの間は、データを送信する、または通信媒体の制御権を取得しようと試みることはできない。バックオフ間隔が経過した後で、ネットワークデバイス１０２は、通信媒体がビジーであるかどうか（たとえば通信媒体がネットワークデバイス１１０またはネットワークデバイス１０４によって使用されているかどうか）を決定することができる。通信媒体がビジーである場合には、ネットワークデバイス１０２は、別のバックオフ間隔を選択し、開始することができる。たとえば、ネットワークデバイス１０２は、直前のバックオフ間隔の２倍の別のバックオフ間隔を開始することもできる。通信媒体がビジーでない場合には、ネットワークデバイス１０２は、通信媒体の制御権を取得して、データを送信することができる。
【００４２】
[0050]ネットワークデバイス１０２が通信媒体の制御権を取得した後で、トランシーバユニット１０８は、バッファリングされたデータをネットワークデバイス１１０に送信し始めることができる。時間間隔計算ユニット１０６は、ネットワークデバイス１０２が通信媒体上でデータを送信する持続時間を常時監視することができる。ネットワークデバイス１０２が通信媒体上でデータを連続的に送信する持続時間は、「総送信持続時間」と呼ばれる。時間間隔計算ユニット１０６は、総送信持続時間の間に送信されたデータの優先度およびタイプに少なくとも部分的には基づいて、所定の送信間隔または送信機会（ＴＸＯＰ）限界を決定することもできる。いくつかの実施形態では、ＷＬＡＮにおけるチャネルアクセスは、強化された分散チャネルアクセス（enhanced distributed channel access）（ＥＤＣＡ）プロトコルによって管理され得る。ＥＤＣＡプロトコルは、各々が異なる所定の送信間隔と関連付けられた複数のチャネルアクセスの優先度およびデータタイプを定義することができる。一例では、４つのアクセス優先度があることがあり、それらのアクセス優先度の各々が、異なる所定の送信間隔と関連付けられ得る。たとえば、第１のアクセス優先度は、２ｍｓの送信間隔と関連付けられることがあり、第２のアクセス優先度は、４ｍｓの送信間隔と関連付けられることがある、などである。時間間隔計算ユニット１０６は、ネットワークデバイス１０２が通信媒体上でデータを送信した連続した送信間隔の数を決定することができる。たとえば、送信間隔が２ｍｓであり、総送信持続時間が６ｍｓである場合には、時間間隔計算ユニット１０６は、ネットワークデバイス１０２が３つの連続した送信間隔にわたって通信媒体の制御権を有していたと決定することができる。複数の送信間隔（たとえば６ｍｓの総送信持続時間）にわたって通信媒体の制御権を有した後で、ネットワークデバイス１０２は、複数の連続したバックオフ間隔にわたって送信を延期することができる。ネットワークデバイス１０２が送信を延期する時間の総量は、「総バックオフ持続時間」と呼ばれる。総バックオフ持続時間の間、ネットワークデバイス１０２は、通信媒体の制御権をめぐって競合してはならず、通信媒体上でデータを送信してはならない。総バックオフ持続時間が経過した後で、ネットワークデバイス１０２は、通信媒体の制御権を取得しようと試みることができる。
【００４３】
[0051]時間間隔計算ユニット１０６は、総バックオフ持続時間を計算するために様々な技法を利用することができる。一実施形態では、時間間隔計算ユニット１０６は、バックオフ競合ウィンドウに少なくとも部分的には基づいて、バックオフ間隔を決定することができる。たとえば、時間間隔計算ユニット１０６は、バックオフ競合ウィンドウに少なくとも部分的には基づいて、バックオフ間隔を無作為に選択することができる。一実施形態では、バックオフ競合ウィンドウは、ネットワークデバイス１０２が通信媒体の制御権をめぐって競合してはならない最大時間間隔（たとえば通信タイムスロットの最大数）であり得る。時間間隔計算ユニット１０６は、バックオフ間隔の倍数として総バックオフ持続時間を決定することができる。一実施形態では、総バックオフ持続時間を構成するためにグループ化されるべきバックオフ間隔の数は、式１に示されるように、総送信持続時間を所定の送信間隔（すなわちＴＸＯＰ限界）で割ることによって決定され得る。式１において、「ｒｏｕｎｄ−ｕｐ」関数は、結果を次の整数に切り上げるために使用され得る。
【数１】
2019080337.tif 000003
【００４４】
[0052]式１を参照すると、総送信持続時間を所定の送信間隔で割った結果が２．２である場合には、時間間隔計算ユニット１０６は、この結果を切り上げてバックオフ間隔数３にすることができる。別の実施形態では、バックオフ間隔の数は、総送信持続時間を所定の送信間隔で割って、その結果を最も近い整数に丸めることによって決定され得る。たとえば、総送信持続時間を所定の送信間隔で割った結果が２．２である場合には、時間間隔計算ユニット１０６は、その結果を丸めてバックオフ間隔数２にすることができる。別の実施形態では、時間間隔計算ユニット１０６は、総送信持続時間を所定の送信間隔で割った結果を丸めないこともある。この実施形態では、時間間隔計算ユニット１０６は、総バックオフ持続時間を決定するために小数の（すなわち非整数の）結果を使用することができる。
【００４５】
[0053]一実施形態では、時間間隔計算ユニット１０６は、式２に示されるように、バックオフ間隔の数に選択されたバックオフ間隔を掛けることによって、総バックオフ持続時間を決定することができる。
【数２】
2019080337.tif 000004
【００４６】
[0054]別の実施形態では、時間間隔計算ユニット１０６は、式３に示されるように総バックオフ持続時間を計算することができる。式３に示されるように、総バックオフ持続時間は、総送信持続時間を所定の送信間隔（すなわち所定の送信間隔の数）で割った結果を四捨五入せずに計算され得る。言い換えれば、総バックオフ持続時間は、バックオフ間隔に、直前の総送信持続時間で使用された所定の送信間隔の数を掛けることによって計算され得る。
【数３】
2019080337.tif 000005
【００４７】
[0055]別の実施形態では、時間間隔計算ユニット１０６は、有効バックオフ競合ウィンドウを生じるために、バックオフ競合ウィンドウに、直前の総送信持続時間で使用された所定の送信間隔の数を掛けることができる。上述のように、バックオフ競合ウィンドウは、ネットワークデバイスが通信媒体上の送信を延期すべき好ましい数の通信タイムスロットを示すことができる。たとえば、バックオフ競合ウィンドウは、ネットワークデバイス１０２が送信を延期し、通信媒体の制御権をめぐって競合してはならない通信タイムスロットの最大数を示すことができる。時間間隔計算ユニット１０６は、式４に示されるように、有効バックオフ競合ウィンドウを計算することができる。有効バックオフ競合ウィンドウは、総送信持続時間が所定の送信間隔を超えるか、所定の送信間隔未満であるか、または所定の送信間隔と等しいかに応じて、それぞれ現在のバックオフ競合ウィンドウを超える、現在のバックオフ競合ウィンドウ未満になる、または現在のバックオフ競合ウィンドウと等しくなり得る。時間間隔計算ユニット１０６は、次いで、ゼロから有効バックオフ競合ウィンドウまでの間の無作為な値を選択することによって、総バックオフ持続時間を選択することができる。
【数４】
2019080337.tif 000006
【００４８】
[0056]図２Ａは、バックオフ持続時間を決定するための一実施形態の例示的な動作を示す流れ図（「フロー」）２００である。フロー２００は、ブロック２０２から開始する。
【００４９】
[0057]ブロック２０２で、ネットワークデバイスは、通信媒体上で送信する総送信持続時間および所定の送信間隔に少なくとも部分的には基づいて、総バックオフ持続時間を決定する。時間間隔計算ユニット１０６は、ネットワークデバイス１０２が通信媒体上でデータを送信した時間の量を常時監視することができる。いくつかの実施形態では、ネットワークデバイス１０２が通信媒体の制御権を有していた送信持続時間は、ネットワークデバイス１０２によって送信されたデータの量に少なくとも部分的には基づいて決定され得る。さらに、時間間隔計算ユニット１０６は、ネットワークデバイス１０２によって送信されたデータの優先度に応じて、適当な送信間隔を選択することができる。いくつかの実施形態では、時間間隔計算ユニット１０６は、総送信持続時間が所定の送信間隔を超える場合に、総バックオフ持続時間を決定することができる。ネットワークデバイス１０２は、（たとえば時間に敏感なデータが無効にならないことを保証するために）複数の連続した送信間隔にわたって通信媒体上で通信を送信することができる。ネットワークデバイス１０２は、次の送信持続時間を開始し、次のデータのセットを送信する前に複数の連続したバックオフ間隔を実施するために、総バックオフ持続時間を決定することができる。時間間隔計算ユニット１０６は、総バックオフ持続時間を決定するために様々な技法を使用することができる。たとえば、時間間隔計算ユニット１０６は、上述した式１および式２、式３、または式４を用いて、総バックオフ持続時間を決定することができる。フローは、ブロック２０４に進む。
【００５０】
[0058]ブロック２０４で、ネットワークデバイスは、総バックオフ持続時間中の通信媒体上のネットワークデバイスからのデータ送信を防止するために、総バックオフ持続時間を開始する。いくつかの実施形態では、時間間隔計算ユニット１０６は、ネットワークデバイス１０２がデータを送信することと通信媒体の制御権をめぐって競合することとをどれくらい長く延期すべきかを常時監視するバックオフタイマを実装することができる。いくつかの実施形態では、時間間隔計算ユニット１０６は、選択された数の連続したバックオフ間隔が経過したかどうかを決定することができる。たとえば、時間間隔計算ユニット１０６は、ネットワークデバイス１０２が５つの連続したバックオフ間隔を実施すべきであると決定した場合には、５つの連続したバックオフ間隔が経過したかどうかを決定することができる。他の実施形態では、時間間隔計算ユニット１０６は、総バックオフ持続時間が経過したかどうかを決定するために、バックオフタイマにアクセスすることができる。別の実施形態では、バックオフタイマまたは別のバックグラウンドプロセスが、総バックオフ持続時間が経過するときに割込み（または他のトリガ信号）を生成することができる。総バックオフ持続時間が経過した後で、ネットワークデバイスは、通信媒体の制御権を再取得しようと試みることができる。ネットワークデバイスは、通信媒体の制御権を取得した後で、データ送信を開始することができる。ブロック２０４の後、フローは終了する。
【００５１】
[0059]図２Ｂは、バックオフ持続時間を決定するための別の実施形態の例示的な動作を示す流れ図２５０である。フロー２５０は、ブロック２５２で開始する。
【００５２】
[0060]ブロック２５２で、ネットワークデバイスは、通信媒体上でデータを送信する総送信持続時間を決定する。ネットワークデバイス１０２は、共有される通信媒体の制御権をめぐって、通信ネットワーク１００中の他のネットワークデバイス（たとえばネットワークデバイス１０４および１１０）と競合することができる。ネットワークデバイス１０２が通信媒体の制御権を取得した後で、トランシーバユニット１０８は、ネットワークデバイス１１０にデータを送信することができる。時間間隔計算ユニット１０６は、ネットワークデバイス１０２が通信媒体上でデータを送信した時間の量を常時監視することができる。いくつかの実施形態では、ネットワークデバイス１０２が通信媒体の制御権を有していた送信持続時間は、ネットワークデバイス１０２によって送信されたデータの量に少なくとも部分的には基づいて決定され得る。フローは、ブロック２５４に進む。
【００５３】
[0061]ブロック２５４で、ネットワークデバイスは、総送信持続時間が所定の送信間隔を超えると決定する。送信間隔（たとえばＴＸＯＰ限界）は、ネットワークデバイス１０２がバックオフ無しで継続的に通信を送信することができる所定の時間間隔とすることができる。ネットワークデバイス１０２は、送信されたデータのタイプおよび優先度に応じて、異なる送信間隔を有することができる。たとえば、ＩＥＥＥ８０２．１１通信プロトコルは、４つのアクセス優先度（または優先度レベル）を示すことがある。したがって、ネットワークデバイス１０２は、アクセス優先度の各々について１つの、４つの送信間隔を有し得る。時間間隔計算ユニット１０６は、ネットワークデバイスによって送信される通信の優先度に応じて、適当な送信間隔を選択することができる。一例では、時間間隔計算ユニット１０６は、「ベストエフォート」データ（たとえば中程度の優先度のデータ）が通信媒体上で送信されたと決定することがある。この例では、時間間隔計算ユニット１０６は、「ベストエフォート」データタイプに対応する送信間隔（たとえば２ｍｓの送信間隔）を選択することがある。複数の連続した送信間隔にわたってデータを送信した後で、ネットワークデバイス１０２は、通信媒体上の他のネットワークデバイスとの公平性を維持するために、複数の連続したバックオフ間隔にわたってデータ送信を延期することができる。フローは、ブロック２５６に進む。
【００５４】
[0062]ブロック２５６で、ネットワークデバイスは、総送信持続時間および所定の送信間隔に少なくとも部分的には基づいて、総バックオフ持続時間を決定する。ネットワークデバイス１０２は、（たとえば時間に敏感なデータが無効にならないことを保証するために）複数の連続した送信間隔にわたって通信媒体上で通信を送信することができる。ネットワークデバイス１０２は、次の送信持続時間を開始し、次のデータのセットを送信する前に複数の連続したバックオフ間隔を実施するために、総バックオフ持続時間を決定することができる。時間間隔計算ユニット１０６は、総バックオフ持続時間を決定するために様々な技法を使用することができる。たとえば、時間間隔計算ユニット１０６は、上述した式１および式２、式３、または式４を使用して、総バックオフ持続時間を決定することができる。フローは、ブロック２５８に進む。
【００５５】
[0063]ブロック２５８で、ネットワークデバイスは、総バックオフ持続時間中の通信媒体上のネットワークデバイスからのデータ送信を防止するために、総バックオフ持続時間を開始する。いくつかの実施形態では、時間間隔計算ユニット１０６は、ネットワークデバイス１０２がデータを送信することと通信媒体の制御権をめぐって競合することとをどれくらい長く延期すべきかを常時監視するバックオフタイマを実装することができる。いくつかの実施形態では、時間間隔計算ユニット１０６は、選択された数の連続したバックオフ間隔が経過したかどうかを決定することができる。たとえば、時間間隔計算ユニット１０６は、ネットワークデバイス１０２が５つの連続したバックオフ間隔を実施すべきであると決定した場合には、５つの連続したバックオフ間隔が経過したかどうかを決定することができる。他の実施形態では、時間間隔計算ユニット１０６は、総バックオフ持続時間が経過したかどうかを決定するために、バックオフタイマにアクセスすることができる。別の実施形態では、バックオフタイマまたは別のバックグラウンドプロセスが、総バックオフ持続時間が経過するときに割込み（または他のトリガ信号）を生成することができる。総バックオフ持続時間が経過した後で、ネットワークデバイスは、通信媒体の制御権を再取得しようと試みることができる。ネットワークデバイスは、通信媒体の制御権を取得した後で、データ送信を開始することができる。ブロック２５８の後、フローは終了する。
【００５６】
[0064]図３Ａは、フレキシブルなバックオフ間隔を実施するための一実施形態の例示的な動作を示す流れ図３００である。フロー３００は、ブロック３０２で開始する。
【００５７】
[0065]ブロック３０２で、ネットワークデバイスは第１のバックオフ間隔が経過して、第１のバックオフ間隔の後に第２のバックオフ間隔が続く場合に、通信媒体上で別のネットワークデバイスによる送信が検出されるかどうかを決定する。いくつかの実施形態では、ネットワークデバイスは、総送信持続時間と、ネットワークデバイス１０２が通信媒体上で継続的にデータを送信することができる所定の送信間隔とに少なくとも部分的には基づいて、連続したバックオフ間隔の数を決定することができる。たとえば、総バックオフ持続時間を構成する上記の数の連続したバックオフ間隔は、第１のバックオフ間隔と、その後に続く第２のバックオフ間隔とを含むことがある。この例では、第１のバックオフ間隔が経過した後で、ネットワークデバイス１０２は、別のネットワークデバイスが通信媒体上で送信を開始したかどうかを決定することができる。この確認は、ネットワークデバイス１０２が後続のバックオフ間隔（たとえば第２のバックオフ間隔）の持続時間を延長するかどうかを決定する助けとなり得る。フローは、ブロック３０４に進む。
【００５８】
[0066]ブロック３０４で、ネットワークデバイスは、通信媒体上で別のネットワークデバイスによる送信が検出されたかどうかに少なくとも部分的には基づいて、第２のバックオフ間隔の持続時間を変化させるかどうかを決定する。第１のバックオフ間隔が経過した後で別のデバイスによる送信が検出された場合には、ネットワークデバイスは、衝突が起きたかのように動作を実行することができる。一実施形態では、第１のバックオフ間隔が経過した後で別のデバイスによる送信が検出された場合には、ネットワークデバイスは、第２のバックオフ間隔の持続時間を延長することができる。ブロック３０４の後、フローは終了する。
【００５９】
[0067]図３Ｂは、フレキシブルなバックオフ間隔を実施するための別の実施形態の例示的な動作を示す流れ図３５０である。フロー３５０は、ブロック３５２で開始する。
【００６０】
[0068]ブロック３５２で、ネットワークデバイスは、データを送信するための総送信持続時間がそのデータに関連付けられた所定の送信間隔を超えると決定する。時間間隔計算ユニット１０６は、ネットワークデバイス１０２が通信媒体上で通信を送信した時間の量を常時監視することができる。また、送信間隔は、ネットワークデバイス１０２が通信媒体上で継続的にデータを送信することができる所定の時間間隔とすることができる。複数の連続した送信間隔にわたってデータを送信した後で、ネットワークデバイス１０２は、通信媒体上の他のネットワークデバイスとの公平性を維持するために、複数の連続したバックオフ間隔にわたってデータ送信を延期することができる。フローは、ブロック３５４に進む。
【００６１】
[0069]ブロック３５４で、ネットワークデバイスは、総送信持続時間および所定の送信間隔に少なくとも部分的には基づいて、連続的なバックオフ間隔の数を決定する。言い換えれば、ネットワークデバイスは、総送信持続時間が経過した後に実施する総バックオフ持続時間を決定する。たとえば、時間間隔計算ユニット１０６は、ネットワークデバイスにおいて実施されるべき連続したバックオフ間隔の数を決定するために、上述の技術のうちの１つ（たとえば式１）を使用することができる。フローは、ブロック３５６に進む。
【００６２】
[0070]ブロック３５６で、第１のバックオフ間隔が経過し、第２のバックオフ間隔が第１のバックオフ間隔の後に続く場合には、ネットワークデバイスは、通信媒体上で別のネットワークデバイスによる送信が検出されるかどうかを決定する。たとえば、総バックオフ持続時間を構成する上記の数の連続したバックオフ間隔は、第１のバックオフ間隔と、その後に続く第２のバックオフ間隔とを含むことがある。この例では、第１のバックオフ間隔が経過した後で、ネットワークデバイス１０２は、別のネットワークデバイスが通信媒体上で送信を開始したかどうかを決定することができる。いくつかの実施形態では、この確認は、ネットワークデバイス１０２が後続のバックオフ間隔（たとえば第２のバックオフ間隔）の持続時間を延長するかどうかを決定する助けとなり得る。フローは、ブロック３５８に進む。
【００６３】
[0071]ブロック３５８で、ネットワークデバイスは、通信媒体上で別のネットワークデバイスによる送信が検出されたかどうかに少なくとも部分的には基づいて、第２のバックオフ間隔の持続時間を変化させるかどうかを決定する。第１のバックオフ間隔が経過した後で別のデバイスによる送信が検出された場合には、ネットワークデバイスは、衝突が起きたかのように動作を実行することができる。一実施形態では、第１のバックオフ間隔が経過した後で別のデバイスによる送信が検出された場合には、ネットワークデバイスは、第２のバックオフ間隔の持続時間を延長することができる。ブロック３５８の後、フローは終了する。
【００６４】
[0072]図４Ａは、総バックオフ持続時間を動的に変化させるための一実施形態の例示的な動作を示す流れ図４００である。フロー４００は、ブロック４０２で開始する。
【００６５】
[0073]ブロック４０２で、ネットワークデバイスにおいて、バックオフ間隔が開始される。いくつかの実施形態では、時間間隔計算ユニット１０６は、各バックオフ間隔を常時監視するバックオフタイマを実装することができる。時間間隔計算ユニット１０６は、バックオフ間隔の値をバックオフタイマに記憶することができる。時間間隔計算ユニット１０６は、バックオフタイマがゼロまでカウントダウンした後で、１つのバックオフ間隔が経過したと決定することができる。フローは、ブロック４０４に進む。
【００６６】
[0074]ブロック４０４で、ネットワークデバイスは、バックオフ間隔が経過したかどうかを決定する。いくつかの実施形態では、時間間隔計算ユニット１０６は、バックオフ間隔が経過するときに、バックオフタイマから通知（たとえば割込みまたはトリガ信号）を受信することができる。他の実施形態では、時間間隔計算ユニット１０６は、バックオフ間隔が経過したかどうかを決定するために、定期的にバックオフタイマにアクセスすることができる。バックオフ間隔が経過していない場合には、フローは、ブロック４０４にループして戻り、ブロック４０４で、ネットワークデバイス１０２は、バックオフ間隔が経過するまで待機する。バックオフ間隔が経過した場合には、フローは、ブロック４０６に進む。
【００６７】
[0075]ブロック４０６で、経過したバックオフ間隔が中間バックオフ間隔であるかどうかが決定される。別のバックオフ間隔の前のバックオフ間隔は、「中間バックオフ間隔」と呼ばれることもある。たとえば、時間間隔計算ユニット１０６は、ネットワークデバイス１０２が２つの連続したバックオフ間隔、第１のバックオフ間隔および第２のバックオフ間隔を実施すべきであると決定することがある。この例では、第２のバックオフ間隔が第１のバックオフ間隔の後に続く場合、第１のバックオフ間隔が、中間バックオフ間隔と呼ばれることがある。ただし、第２のバックオフ間隔の直後に続く別のバックオフ間隔はないので、第２のバックオフ間隔は、中間バックオフ間隔になり得ない。いくつかの実施形態では、時間間隔計算ユニット１０６は、総バックオフ持続時間が経過したかどうかを決定することができる。上述のように、選択された数のバックオフ間隔の総持続時間は、総バックオフ持続時間と呼ばれることがある。上記の例を参照すると、総バックオフ持続時間は、第１のバックオフ間隔と、その後に続く第２のバックオフ間隔とを含み得る。他の実施形態では、総バックオフ持続時間は、任意の適当な数のバックオフ間隔（たとえば１つのバックオフ間隔、３つ以上のバックオフ間隔など）を含み得ることに留意されたい。総バックオフ持続時間が経過していない場合には、これは、ネットワークデバイス１０２が、次の送信間隔の前に少なくとも１つの他のバックオフ間隔（たとえば第２のバックオフ間隔）を開始することを示している。しかし、総バックオフ持続時間が経過した場合には、これは、ネットワークデバイスが、次の送信間隔の前にそれ以上のバックオフ間隔を開始しないことを示している。したがって、経過したバックオフ間隔が中間バックオフ間隔である場合（すなわち総バックオフ持続時間が経過していない場合）には、フローは、ブロック４１０に進む。そうでない場合、経過したバックオフ間隔が中間バックオフ間隔でない場合（たとえば総バックオフ持続時間が経過した場合）には、フローは、ブロック４０８に進む。
【００６８】
[0076]ブロック４０８で、経過したバックオフ間隔が中間バックオフ間隔でない場合には、総バックオフ持続時間が経過して、ネットワークデバイスが通信媒体の制御権を取得しようと試みているかどうかが決定される。上述のように、中間バックオフ間隔は、１つまたは複数のさらに別のバックオフ間隔がその後に続いているバックオフ間隔を指す。したがって、経過したバックオフ間隔が中間バックオフ間隔でない場合には、時間間隔計算ユニット１０６は、最終／最後のバックオフ間隔および総バックオフ持続時間が経過したと決定することができる。言い換えれば、時間間隔計算ユニット１０６は、選択された数の連続したバックオフ間隔が経過したと決定することができる。その結果として、時間間隔計算ユニット１０６は、ネットワークデバイス１０２（たとえばトランシーバユニット１０８）に、必要なら通信媒体の制御権をめぐって競合するように通知することができる。通信媒体の制御権を取得した後で、トランシーバユニット１０８は、通信媒体上でデータを送信することができる。ブロック４０８の後、フローは終了する。
【００６９】
[0077]ブロック４１０で、経過したバックオフ間隔が中間バックオフ間隔である場合には、ネットワークデバイスは、通信媒体上で送信が検出されるかどうかを決定する。たとえば、総バックオフ持続時間は、第１のバックオフ間隔と、その後に続く第２のバックオフ間隔とを含むことがある。第１のバックオフ間隔（すなわち中間バックオフ間隔）が経過した後で、トランシーバユニット１０８は、通信媒体を感知し、別のネットワークデバイスが通信媒体上でデータを送信しているかどうかを決定することができる。ネットワークデバイス１０２は、通信媒体上で送信することを許可されておらず、また１つまたは複数のさらに別のバックオフ間隔を実施するように構成されているが、この確認は、ネットワークデバイス１０２が後続のバックオフ間隔（たとえば第２のバックオフ間隔）の持続時間を延長するかどうかを決定する助けとなり得る。いくつかの実施形態では、トランシーバユニット１０８は、通信媒体上に送信があるかどうかを決定するために、所定の感知時間間隔にわたって通信媒体をモニタリングすることができる。一実施形態では、感知時間間隔は、中間バックオフ間隔（たとえば第１のバックオフ間隔）の終端部分と、後続のバックオフ間隔（たとえば第２のバックオフ間隔）の先頭部分とにまたがることもある。別の実施形態では、感知時間間隔は、第１のバックオフ間隔の終端部分しか含まないこともある。別の実施形態では、感知時間間隔は、第２のバックオフ間隔の先頭部分しか含まないこともある。
【００７０】
[0078]いくつかの実施形態では、時間間隔計算ユニット１０６は、通信媒体上で送信が検出されるかどうかに少なくとも部分的には基づいて、バックオフ競合ウィンドウの長さを変化させるかどうかを決定することができる。バックオフ競合ウィンドウは、ネットワークデバイスが通信媒体上のデータ送信を延期する最大数の通信タイムスロットを表すことがある。時間間隔計算ユニット１０６は、バックオフ競合ウィンドウの長さを変化させるかどうかを決定することによって、第２のバックオフ間隔の持続時間を変化させるかどうかを決定することができる。第２のバックオフ間隔の持続時間は、バックオフ競合ウィンドウから決定され得ることに留意されたい。通信媒体上で送信が検出されない場合には、フローは、ブロック４１２に進む。そうでない場合、通信媒体上で送信が検出される場合には、フローは、ブロック４１４に進む。
【００７１】
[0079]ブロック４１２で、中間バックオフ間隔が経過した後で通信媒体上で送信が検出されない場合には、競合ウィンドウの長さは、所定の持続時間（たとえば所定の最小持続時間、または特定の実装形態または標準仕様によって決定される所定の持続時間）に設定される。その結果として、次のバックオフ間隔持続時間は、競合ウィンドウの変化と同時に起こるように修正され得る。たとえば、競合ウィンドウが最小競合ウィンドウにリセットされた場合には、次のバックオフ間隔は、ゼロから最小競合ウィンドウまでの間の乱数として選択され得る。他の実施形態では、次のバックオフ間隔の持続時間は、現在のバックオフ間隔の持続時間と同じであることもある。フローは、次いで、ブロック４０２にループして戻り、ブロック４０２で、決定された持続時間を有する次のバックオフ間隔が開始される。いくつかの実施形態では、競合ウィンドウの長さは、次のバックオフ間隔を開始した後で（たとえば次のバックオフ間隔の進行中に）選択され得ることに留意されたい。バックオフ間隔の長さは、選択された競合ウィンドウの長さに応じて更新され得る。
【００７２】
[0080]ブロック４１４で、中間バックオフ間隔が経過した後で通信媒体上で送信が検出された場合には、競合ウィンドウは、衝突が起こったかのように修正され得る。いくつかの実施形態では、中間バックオフ間隔が経過した後で通信媒体上で送信が検出された場合に、競合ウィンドウの長さが延長され得る。その結果として、次のバックオフ間隔の長さが延長され得る。いくつかの実施形態では、ネットワークデバイス１０２は、中間バックオフ間隔が経過したときに別のネットワークデバイス１１０からの送信の開始を検出した場合には、ネットワークデバイス１０２との衝突として、この検出された送信を中断することができる。したがって、トランシーバユニット１０８が通信媒体上で別のネットワークデバイスからの送信を検出した場合には、時間間隔計算ユニット１０６は、次のバックオフ間隔の長さを延長することができる。たとえば、総バックオフ持続時間が第１のバックオフ間隔と、その後に続く第２のバックオフ間隔とを含む場合には、第１のバックオフ間隔が経過した後で送信が検出され得る。その結果として、第２のバックオフ間隔の長さが延長され得る。いくつかの実施形態では、第２のバックオフ間隔の持続時間は、第１のバックオフ間隔の持続時間の２倍であることもある。他の実施形態では、第２のバックオフ間隔の持続時間は、別の適当な倍率で第１のバックオフ間隔の持続時間を超えることもある。いくつかの実施形態では、トランシーバユニット１０８が通信媒体上で別のネットワークデバイスからの送信を検出した場合には、時間間隔計算ユニット１０６は、第２のバックオフ間隔を決定するための競合ウィンドウの長さを延長することができる。いくつかの実施形態では、競合ウィンドウの長さは、（第１のバックオフ間隔の持続時間を決定するために使用された）現在の競合ウィンドウの長さの２倍に延長されることもある。他の実施形態では、競合ウィンドウの長さは、別の適当な倍率で現在の競合ウィンドウの長さを超えることもある。第２のバックオフ間隔の持続時間は、この延長された競合ウィンドウに少なくとも部分的には基づいて選択され得る。たとえば、第２のバックオフ間隔は、ゼロから延長された競合ウィンドウまでの間の乱数として選択され得る。ブロック４１４からブロック４０２まで進んで、次のバックオフ間隔が開始され得る。いくつかの実施形態では、競合ウィンドウの長さは、次のバックオフ間隔を開始した後で（たとえば次のバックオフ間隔の進行中に）選択され得ることに留意されたい。バックオフ間隔の長さは、この延長された競合ウィンドウの長さに応じて更新され得る。
【００７３】
[0081]図４Ｂは、総バックオフ持続時間を動的に変化させるための別の実施形態の例示的な動作を示す流れ図４５０である。フロー４５０は、ブロック４５２で開始する。
【００７４】
[0082]ブロック４５２で、ネットワークデバイスにおいて、ネットワークデバイスによって送信されたデータに少なくとも部分的には基づいて、総送信持続時間および所定の送信間隔が決定される。ネットワークデバイス１０２が通信媒体の制御権を取得した後で、トランシーバユニット１０８は、通信ネットワーク１００中の他のネットワークデバイスにデータ（たとえばデータ／管理フレーム）を送信することができる。いくつかの実施形態では、時間間隔計算ユニット１０６は、ネットワークデバイス１０２によって送信されたデータの量に基づいて、総送信持続時間を決定することができる。たとえば、時間間隔計算ユニット１０６は、ネットワークデバイス１０２によって送信されたフレームの数および各フレームの長さに基づいて、総送信持続時間を決定することができる。別の実施形態では、時間間隔計算ユニット１０６は、ネットワークデバイス１０２が通信媒体の制御権を有する持続時間を常時監視するために、送信タイマを実装することができる。さらに、時間間隔計算ユニット１０６は、総送信持続時間の間に送信されたデータのタイプおよび優先度に基づいて、送信間隔（たとえばＴＸＯＰ限界）を決定することもできる。フローは、ブロック４５４に進む。
【００７５】
[0083]ブロック４５４で、ネットワークデバイスにおいて、バックオフ間隔が選択される。一実施形態では、時間間隔計算ユニット１０６は、バックオフ競合ウィンドウおよびローカルな乱数（または擬似乱数）発生器に少なくとも部分的には基づいて、バックオフ間隔を選択することができる。乱数発生器は、下限（たとえばゼロ）およびバックオフ競合ウィンドウをある値を選択することができる。選択された値は、バックオフ間隔として指定され得る。別の実施形態では、バックオフ間隔は、総送信持続時間の間に送信されたデータのタイプおよび優先度に基づいて事前に決定され得る。いくつかの実施形態では、バックオフ間隔は、送信間隔と同じ持続時間を有することもある。別の実施形態では、バックオフ間隔は、別の適当な所定の値でもあり得る。フローは、ブロック４５６に進む。
【００７６】
[0084]ブロック４５６で、ネットワークデバイスが送信を延期すべき連続したバックオフ間隔の数が、総送信持続時間および所定の送信間隔に少なくとも部分的には基づいて決定される。複数の連続した送信間隔にわたってデータを送信した後、ネットワークデバイス１０２は、複数の連続したバックオフ間隔の間、データを送信する、または通信媒体の制御権をめぐって競合してはならない。一実施形態では、式１に示されるように、時間間隔計算ユニット１０６は、総送信持続時間を送信間隔で割ることができる。時間間隔計算ユニット１０６は、連続したバックオフ間隔の数を決定するために、その商を次に大きい整数に丸めることができる。たとえば、送信持続時間が３ｍｓであり、ＴＸＯＰ限界が２ｍｓである場合には、時間間隔計算ユニット１０６は、ネットワークデバイス１０２が２つの連続したバックオフ間隔を実施すべきであると決定することができる。上述のように、通信タイムスロットは、ネットワークデバイス１０２、１０４、および１１０がデータを送信する、または通信媒体上の送信を延期することができる時間の最小単位を指すことがある。上記の例では、（ブロック４５４で選択された）バックオフ間隔が７個の通信タイムスロットを含む場合には、ネットワークデバイス１０２は、通信媒体の制御権を取得しようと試みる前に１４個の通信タイムスロット（すなわち２つの連続したバックオフ間隔）にわたって送信を延期することができる。選択された数のバックオフ間隔の総持続時間が、総バックオフ持続時間と呼ばれることがある。たとえば、時間間隔計算ユニット１０６がブロック４５６で２つの連続したバックオフ間隔を実施すると決定した場合には、総バックオフ持続時間は２つのバックオフ間隔を含み得る。フローは、ブロック４５８に進む。
【００７７】
[0085]ブロック４５８で、ネットワークデバイスにおいて、バックオフ間隔が開始される。いくつかの実施形態では、時間間隔計算ユニット１０６は、各バックオフ間隔を常時監視するバックオフタイマを実装することができる。時間間隔計算ユニット１０６は、バックオフ間隔の値を、バックオフタイマに記憶することができる。時間間隔計算ユニット１０６は、バックオフタイマがゼロまでカウントダウンした後で、１つのバックオフ間隔が経過したと決定することができる。フローは、ブロック４６０に進む。
【００７８】
[0086]ブロック４６０で、ネットワークデバイスは、バックオフ間隔が経過したかどうかを決定する。いくつかの実施形態では、時間間隔計算ユニット１０６は、バックオフ間隔が経過するときに、バックオフタイマから通知（たとえば割込みまたはトリガ信号）を受信することができる。他の実施形態では、時間間隔計算ユニット１０６は、バックオフ間隔が経過したかどうかを決定するために、定期的にバックオフタイマにアクセスすることができる。バックオフ間隔が経過していない場合には、フローは、ブロック４６０にループして戻り、ブロック４６０で、ネットワークデバイス１０２は、バックオフ間隔が経過するまで待機する。バックオフ間隔が経過した場合には、フローは、ブロック４６２に進む。
【００７９】
[0087]ブロック４６２で、経過したバックオフ間隔が中間バックオフ間隔であるかどうかが決定される。いくつかの実施形態では、時間間隔計算ユニット１０６は、図４Ａのブロック４０６を参照して上述したように、経過したバックオフ間隔が中間バックオフ間隔であるかどうか、および総バックオフ持続時間が経過したかどうかを決定することができる。経過したバックオフ間隔が中間バックオフ間隔である場合（すなわち総バックオフ持続時間が経過していない場合）には、フローは、ブロック４６６に進む。そうでない場合、経過したバックオフ間隔が中間バックオフ間隔でない場合（たとえば総バックオフ持続時間が経過した場合）には、フローは、ブロック４６４に進む。
【００８０】
[0088]ブロック４６４で、経過したバックオフ間隔が中間バックオフ間隔でない場合には、総バックオフ持続時間が経過して、ネットワークデバイスが通信媒体の制御権を取得しようと試みていることが決定される。いくつかの実施形態では、経過したバックオフ間隔が中間バックオフ間隔でない場合には、時間間隔計算ユニット１０６は、図４Ａのブロック４０８を参照して上述したように、最終／最後のバックオフ間隔および総バックオフ持続時間が経過したと決定することができる。その結果として、時間間隔計算ユニット１０６は、ネットワークデバイス１０２（たとえばトランシーバユニット１０８）に、必要なら通信媒体の制御権をめぐって競合するように通知することができる。通信媒体の制御権を取得した後で、トランシーバユニット１０８は、通信媒体上でデータを送信することができる。ブロック４６４の後、フローはループしてブロック４５２に戻る。
【００８１】
[0089]ブロック４６６で、経過したバックオフ間隔が中間バックオフ間隔である場合には、ネットワークデバイスは、通信媒体上で送信が検出されるかどうかを決定する。いくつかの実施形態では、トランシーバユニット１０８は、図４Ａのブロック４１０を参照して上述したように、通信媒体上で送信があるかどうかを決定するために、所定の感知時間間隔にわたって通信媒体をモニタリングすることができる。通信媒体上で送信が検出されない場合には、フローは、ブロック４６８に進む。そうでない場合、通信媒体上で送信が検出される場合には、フローは、ブロック４７０に進む。
【００８２】
[0090]ブロック４６８で、中間バックオフ間隔が経過した後で通信媒体上で送信が検出されない場合には、競合ウィンドウの長さは、所定の持続時間（たとえば所定の最小持続時間、または特定の実装形態または標準仕様によって決定される所定の持続時間）に設定される。いくつかの実施形態では、図４Ａのブロック４１２を参照して上述したように、通信媒体上で送信が検出さえない場合には、時間間隔計算ユニット１０６は、競合ウィンドウを修正することもあれば、修正しないこともある。フローは、次いで、ループしてブロック４５８に戻り、ブロック４５８で、適当な持続時間を有する次のバックオフ間隔が開始される。いくつかの実施形態では、競合ウィンドウの長さは、次のバックオフ間隔を開始した後で（たとえば次のバックオフ間隔の進行中に）選択され得ることに留意されたい。バックオフ間隔の長さは、選択された競合ウィンドウの長さに応じて更新され得る。
【００８３】
[0091]ブロック４７０で、中間バックオフ間隔が経過した後で通信媒体上で送信が検出された場合には、競合ウィンドウは、衝突が起こったかのように修正され得る。いくつかの実施形態では、時間間隔計算ユニット１０６は、図４Ａのブロック４１４を参照して上述したように、通信媒体上で送信が検出された場合に競合ウィンドウを修正するために様々な技法を利用することができる。ブロック４７０からブロック４５８に進んで、次のバックオフ間隔が開始され得る。いくつかの実施形態では、競合ウィンドウの長さは、次のバックオフ間隔を開始した後で（たとえば次のバックオフ間隔の進行中に）選択され得ることに留意されたい。バックオフ間隔の長さは、延長された競合ウィンドウの長さに応じて更新され得る。図４Ｂには示されていないが、フローは、それ以上のバックオフ間隔が開始されないときに終了することができる。
【００８４】
[0092]図５は、通信ネットワーク中で総バックオフ持続時間を動的に変化させる２つのネットワークデバイスを示す例示的なタイミング図である。タイミング図５００は、第１のネットワークデバイスの送信間隔およびバックオフ間隔を示し、タイミング図５５０は、第２のネットワークデバイスの送信間隔およびバックオフ間隔を示す。タイミング図５００に示されるように、第１のネットワークデバイスは、通信媒体の制御権を取得し、通信媒体上でデータを送信する。図５に示されるように、第１のネットワークデバイスは、３つの連続した送信間隔５０４、５０６、および５０８（図５ではＴＸＯＰとして示される）にまたがる総送信持続時間５０２にわたって送信する。第１のネットワークデバイスは、式１〜式４を用いて上述したように、総送信持続時間５０２および送信間隔に少なくとも部分的には基づいて、総バックオフ持続時間５１０を決定する。図５では、第１のネットワークデバイスは、総バックオフ持続時間５１０が３つの連続したバックオフ間隔にまたがるべきであると決定する。第１のネットワークデバイスは、（たとえばバックオフ競合ウィンドウに基づいて）バックオフ間隔の持続時間を決定することができ、３つの連続したバックオフ間隔５１２、５１４、および５１６にわたって送信を延期することができる。タイミング図５００では、バックオフ間隔５１２および５１４の各々の後には、さらなるバックオフ間隔が続いている。したがって、バックオフ間隔５１２および５１４は、各々、「中間バックオフ間隔」と呼ばれる。
【００８５】
[0093]第２のネットワークデバイスについてのタイミング図５５０を参照すると、第２のネットワークデバイスは、第１のネットワークデバイスが通信媒体の制御権を有している間（たとえば総送信持続時間５０２の間）は、いかなる送信も開始してはならず、通信媒体の制御権を取得しようと試みてもならない。これは、タイミング図５５０では、バックオフ間隔５５２で示されている。バックオフ間隔５５２が経過した後で、第２のネットワークデバイスは、通信媒体の制御権を取得しようと試みることができる。タイミング図５５０では、第２のネットワークデバイスは、通信媒体の制御権を取得し、２つの送信間隔５５４および５５６にまたがる送信持続時間にわたってデータを送信する。第１のネットワークデバイスに関連して同様に述べたように、利用可能な／バッファリングされたデータを送信した後で、第２のネットワークデバイスは、２つの連続したバックオフ間隔５５８および５６０を実施すると決定する。
【００８６】
[0094]第１のネットワークデバイスについてのタイミング図５００を参照すると、総バックオフ持続時間５１０が経過した後で、第１のネットワークデバイスは、通信媒体の制御権をめぐって他のネットワークデバイスと競合することができる。タイミング図５００では、第１のネットワークデバイスは、通信媒体の制御権を取得し、２つの送信間隔５１８および５２０にまたがる持続時間にわたってデータを送信する。上述のように、送信間隔５１８および５２０で利用可能な／バッファリングされたデータを送信した後で、第１のネットワークデバイスは、２つの連続したバックオフ間隔５２２および５２４を実施すると決定する。第１のネットワークデバイスは、無作為なバックオフ間隔を決定し、そのバックオフ間隔で示される持続時間を有する第１のバックオフ間隔５２２を開始する。バックオフ間隔５２２の後には別のバックオフ間隔５２４が続いているので、バックオフ間隔５２２は、中間バックオフ間隔である。中間バックオフ間隔５２２が経過した後で、第１のネットワークデバイスは、通信媒体上で別のネットワークデバイスからの送信があるかどうかを決定する。言い換えれば、第１のネットワークデバイスは、バックオフ間隔５２２は経過したが、総バックオフ持続時間５１０は経過していないと決定することができる。したがって、第１のネットワークデバイスは、通信媒体上で別のネットワークデバイスからの送信があるかどうかに応じて、少なくとも１つの後続のバックオフ間隔の持続時間を変化させるかどうかを決定することができる。タイミング図５００および５５０では、第２のネットワークデバイスの送信間隔５６２（と、したがって送信）の開始は、第１のネットワークデバイスの中間バックオフ間隔５２２の終了時に起こる。したがって、第１のネットワークデバイスは、衝突が起こったかのように動作し、第２のバックオフ間隔５２４の持続時間を延長すると決定する。タイミング図５００に示されるように、第２のバックオフ間隔５２４の持続時間は、第１のバックオフ間隔５２２の持続時間を超える。いくつかの実施形態では、第２のバックオフ間隔５２４の持続時間は、第１のバックオフ間隔５２２の持続時間の２倍とすることができる。他の実施形態では、第２のバックオフ間隔５２４の持続時間は、任意の適当な倍率で第１のバックオフ間隔５２２の持続時間を超え得る。別の実施形態では、第１のネットワークデバイスは、式４に示されるように、バックオフ競合ウィンドウの長さを延長し、有効バックオフ競合ウィンドウを決定することができる。第１のネットワークデバイスは、適当な下限（たとえばゼロ）と有効バックオフ競合ウィンドウとの間の無作為な値を選択することができる。第１のネットワークデバイスは、有効バックオフ競合ウィンドウに応じて選択された無作為な値に等しい数の通信タイムスロットにわたって第２のバックオフ間隔５２４を開始することができる。
【００８７】
[0095]図１〜図５および本明細書で説明される動作は、実施形態の理解を助けるための例であり、実施形態を制限する、または特許請求の範囲を制限するために使用されるべきものではないことを理解されたい。実施形態は、追加の動作を実行してもよいし、これらより少ない数の動作を実行してもよいし、動作を異なる順序で実行してもよいし、動作を並列に実行してもよいし、いくつかの動作を異なる形で実行してもよい。たとえば、図２Ｂは、ネットワークデバイス１０２が、通信が送信された後で総送信持続時間および送信間隔を決定するものとして示しているが、実施形態はこれに限定されない。他の実施形態では、ネットワークデバイス１０２は、通信媒体上でデータの送信を開始する前に、総送信持続時間および送信間隔を決定することもできる。たとえば、時間間隔計算ユニット１０６は、ネットワークデバイス１０２におけるバッファリングされたデータの量に少なくとも部分的には基づいて、ネットワークデバイス１０２の総送信持続時間を決定することができる。時間間隔計算ユニット１０６は、バッファリングされたデータのタイプ／優先度に少なくとも部分的に基づいて、送信間隔を決定することもできる。
【００８８】
[0096]図４Ｂは、ネットワークデバイス１０２が（たとえばバックオフ競合ウィンドウに基づいて）バックオフ間隔を選択した後でバックオフ間隔の数を計算するものとして示しているが、実施形態はこれに限定されない。他の実施形態では、時間間隔計算ユニット１０６は、バックオフ間隔を選択する前に、バックオフ間隔の数を計算することもできる。いくつかの実施形態では、時間間隔計算ユニット１０６は、送信されたデータ（またはバッファリングされたデータ）のタイプおよび優先度に少なくとも部分的には基づいて、所定のバックオフ間隔を選択することもできる。
【００８９】
[0097]いくつかの実施形態では、時間間隔計算ユニット１０６は、ネットワークデバイス１０２が実施すべき追加／余剰のバックオフ間隔の数を決定することができる。追加のバックオフ間隔の数は、総送信持続時間の間に越えた送信間隔境界の数と等しくすることができる。図５の例示的なタイミング図５００を参照すると、総送信持続時間５０２は、３つの送信間隔５０４、５０６、および５０８にまたがる。図５では、総送信持続時間５０２が開始した後で、２つの送信間隔境界（すなわち送信間隔５０４と５０６との間の境界面、および送信間隔５０６と５０８との間の境界面）を超える。したがって、第１のネットワークデバイスは、２つの追加のバックオフ間隔を実施し、図５に示されるように、合計で３つの連続したバックオフ間隔５１２、５１４、および５１６わたって実施することができる。
【００９０】
[0098]いくつかの実施形態では、総送信持続時間が送信間隔未満である場合には、ネットワークデバイス１０２は所定数のバックオフ間隔にわたって送信を延期することができる。一実施形態では、ネットワークデバイス１０２は、総送信持続時間が送信間隔未満である場合には、少なくとも１つのバックオフ間隔にわたって送信を延期することができる。ただし、他の実施形態では、ネットワークデバイス１０２は、総送信持続時間が送信間隔未満である場合に、任意の適当な数の連続したバックオフ間隔（たとえば２つの連続したバックオフ間隔）にわたって送信を延期することができる。別の実施形態では、ネットワークデバイス１０２は、総送信持続時間が送信間隔未満である場合に、バックオフ間隔１つに満たない時間だけ送信を延期することもできる。
【００９１】
[0099]いくつかの実施形態では、時間間隔計算ユニット１０６は、ネットワークデバイス１０２が通信媒体上で送信することができる連続した送信間隔の数を制限することができる。実質的には、時間間隔計算ユニット１０６は、ネットワークデバイス１０２が通信を送信することができる総送信持続時間を制限する、または連続的に送信され得るデータの量を制限することができる。たとえば、時間間隔計算ユニット１０６は、ネットワークデバイス１０２が最大送信持続時間を越えて送信してはならない、または最大数の連続した送信間隔を越えて送信してはならないと決定することができる。これにより、ネットワークデバイス１０２が通信媒体の制御権を取得した後で通信媒体を独占しないことを保証することができる。バッファリングされたデータを送信するために必要な時間の量が最大送信持続時間を越えると時間間隔計算ユニット１０６が決定した場合には、トランシーバユニット１０８は、バッファリングされたデータのうち送信されるべき部分を選択することができる。バッファリングされたデータのこの部分は、バッファリングされたデータの優先度／タイプ、そのデータが時間に敏感であるかどうか、宛先デバイスの優先度などに基づいて選択され得る。たとえば、トランシーバユニット１０８は、最高の優先度に関連付けられたデータの部分を送信すると決定することもある。最大送信持続時間の間にデータのこの部分を送信した後で、ネットワークデバイス１０２は、総バックオフ持続時間（たとえば適当な数の連続したバックオフ間隔）を開始することができる。総バックオフ持続時間が経過した後で、トランシーバユニット１０８は、通信媒体の制御権をめぐって競合することができる。トランシーバユニット１０８は、ネットワークデバイス１０２が通信媒体の制御権を取得した後で、残りのバッファリングされたデータの一部／すべてを送信することができる。別の例としては、ネットワークデバイス１０２から送信されるものとしてスケジューリングされたデータに関連付けられた送信時間が、ネットワークデバイス１０２に関連付けられた最大送信持続時間を越えると決定されることもある。したがって、ネットワークデバイス１０２は、最大送信持続時間にわたってそのデータの第１の部分を送信することができる。ネットワークデバイスは、データの第１の部分の送信に関連付けられた総バックオフ持続時間が経過した後で、そのデータの第２の部分を送信することができる。ネットワークデバイス１０２は、任意の適当な技法（たとえば、データの優先度、データの待ち時間指定、先入れ先出し式など）を使用して、データの第１の部分および第２の部分を選択することができることに留意されたい。さらに、いくつかの実施形態では、時間間隔計算ユニット１０６は、ネットワークデバイス１０２が通信媒体上で送信を行うことと、通信媒体の制御権をめぐって競合することとを延期する総バックオフ持続時間を制限することができる。いくつかの実施形態では、時間間隔計算ユニット１０６は、最大バックオフ持続時間または最大競合ウィンドウを決定することができる。いくつかの実施形態では、最大バックオフ持続時間および最大競合ウィンドウは、最大送信持続時間に少なくとも部分的には基づいて決定され得る。
【００９２】
[00100]いくつかの実施形態では、時間間隔計算ユニット１０６は、バッファリングされたデータの送信への利用可能性、送信されているデータのタイプおよび優先度などに応じて、複数の連続した送信間隔をクラスタ化するかどうかを決定することができる。たとえば、送信されるものとしてスケジューリングされたデータが時間に敏感なデータでない場合には、ネットワークデバイス１０２は、複数の連続した送信間隔をクラスタ化しないと決定することができる。
【００９３】
[00101]図３〜図５は、中間バックオフ間隔が経過した後で送信が検出された場合に次のバックオフ間隔の持続時間を延長する動作を示している。しかし、様々な他の実施形態が可能である。一実施形態では、中間バックオフ間隔が経過した後で、ネットワークデバイス１０２は、１つの後続のバックオフ間隔の持続時間を延長することがある。たとえば、ネットワークデバイス１０２が３つの連続したバックオフ間隔５１２、５１４、および５１６を実施すると決定するタイミング図５００を考慮されたい。この例では、中間バックオフ間隔５１２が経過した後で送信が検出された場合に、ネットワークデバイス１０２は、次のバックオフ間隔５１４の持続時間のみを延長し、バックオフ間隔５１６の持続時間は延長しないことがある。中間バックオフ間隔５１４が経過した後で、ネットワークデバイス１０２は、通信媒体を再度感知し、バックオフ間隔５１６の持続時間を延長するかどうかを決定することができる。中間バックオフ間隔５１４が経過した後で送信が検出された場合には、ネットワークデバイス１０２は、次のバックオフ間隔５１６の持続時間を延長することができる。しかし、中間バックオフ間隔５１４が経過した後で送信が検出されない場合には、ネットワークデバイス１０２は、次のバックオフ間隔５１６の持続時間を延長しないこともある。言い換えると、バックオフ間隔５１６の持続時間は、最初のバックオフ間隔５１２の持続時間と同じであってもよい。別の実施形態では、中間バックオフ間隔が経過した後で、ネットワークデバイス１０２は、すべての後続のバックオフ間隔の持続時間を延長することができる。たとえば、ネットワークデバイス１０２が、３つの連続したバックオフ間隔５１２、５１４、および５１６を実施すると決定するタイミング図５００を考慮されたい。この例では、中間バックオフ間隔５１２が経過した後で送信が検出された場合に、ネットワークデバイス１０２は、後続のバックオフ間隔５１４および５１６の持続時間を延長することができる。さらに、中間バックオフ間隔５１４が経過した後で、ネットワークデバイス１０２は、通信媒体を再度感知し、バックオフ間隔５１６の持続時間をさらに延長するかどうかを決定することができる。たとえば、ネットワークデバイス１０２は、最初に、各々２ｍｓの持続時間を有する３つのバックオフ間隔５１２、５１４、および５１６を実施すると決定することができる。バックオフ間隔５１２が経過した後で送信が検出された場合には、ネットワークデバイス１０２は、後続のバックオフ間隔５１４および５１６の各々の持続時間を４ｍｓに延長することができる。バックオフ間隔５１４が経過した後で送信が検出された場合には、ネットワークデバイス１０２は、バックオフ間隔５１６の持続時間を８ｍｓにさらに延長することができる。
【００９４】
[00102]当業者には理解されるように、本発明の主題の態様は、システム、方法、またはコンピュータプログラム製品として実施され得る。したがって、本発明の主題の態様は、完全にハードウェアの実施形態、ソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、あるいはソフトウェアの態様と、本明細書においていずれも「回路」、「モジュール」、または「システム」と一般に呼ばれることがあるハードウェアの態様とを組み合わせた実施形態の形態を取り得る。さらに、本発明の主題の態様は、コンピュータ可読プログラムコードが実装された１つまたは複数のコンピュータ可読媒体に実装されたコンピュータプログラム製品の形態を取り得る。
【００９５】
[00103]１つまたは複数の非一時的コンピュータ可読媒体の任意の組合せが利用され得る。非一時的コンピュータ可読媒体は、一時的伝搬信号を唯一の例外として、すべてのコンピュータ可読媒体を備える。非一時的コンピュータ可読媒体は、コンピュータ可読記憶媒体であることもある。コンピュータ可読記憶媒体は、たとえば、電子的な、磁気的な、光学的な、電磁気学的な、赤外線の、または半導体のシステム、装置、またはデバイス、あるいはそれらの任意の適当な組合せであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例としては、１本または複数本のワイヤを有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、光学記憶デバイス、磁気記憶デバイス、あるいはそれらに任意の適当な組合せが挙げられる（列挙したものはすべてを網羅しているわけではない）。本文書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによって使用される、またはそれらと組み合わせて使用されるプログラムを含むことができる、または記憶することができる、任意の有形の媒体であり得る。
【００９６】
[00104]本発明の主題の態様の動作を実行するためのコンピュータ可読媒体上に実装されたコンピュータプログラムコードは、Ｊａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向のプログラミング言語を含む１つまたは複数のプログラミング言語と、「Ｃ」プログラミング言語またはそれに類するプログラミング言語などの従来の手続き型プログラミング言語との任意の組合せで書き込まれ得る。プログラムコードは、完全にユーザのコンピュータ上で実行してもよいし、部分的にユーザのコンピュータ上で実行してもよいし、独立型ソフトウェアパッケージとして実行してもよいし、一部はユーザのコンピュータ上で実行して、一部は遠隔コンピュータ上で実行してもよいし、あるいは完全に遠隔コンピュータまたはサーバ上で実行してもよい。後者のシナリオでは、遠隔コンピュータは、ローカルエリアネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）など任意のタイプのネットワークを介してユーザのコンピュータに接続され得、その接続は、（たとえばインターネットサービスプロバイダを用いてインターネットを介して）外部コンピュータに対しても行われてもよい。
【００９７】
[00105]本発明の主題の態様について、本発明の主題の実施形態による方法、装置（システム）、およびコンピュータプログラム製品の流れ図および／またはブロック図を参照して説明した。流れ図および／またはブロック図の各ブロック、ならびに流れ図および／またはブロック図中のブロックの組合せは、コンピュータプログラム命令によって実施され得ることは理解されるであろう。これらのコンピュータプログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供されて機械を生成して、その命令が、そのコンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行されて、流れ図および／またはブロック図の１つまたは複数のブロックに指定される機能／作用を実施するための手段を生成するようにすることができる。
【００９８】
[00106]これらのコンピュータプログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスを特定の様式で機能させることができるコンピュータ可読媒体にも記憶され得、コンピュータ可読媒体に記憶されたそれらの命令が、流れ図および／またはブロック図の１つまたは複数のブロックに指定される機能／作用を実施する命令を含む製品を生成するようにすることができる。
【００９９】
[00107]コンピュータプログラム命令は、コンピュータまたは他のプログラマブル装置上で実行されるそれらの命令が、流れ図および／またはブロック図の１つまたは複数のブロックに指定される機能／作用を実施するためのプロセスを提供するように、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップが実行されてコンピュータ実施プロセスを生成するように、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにもロードされ得る。
【０１００】
[00108]図６は、フレキシブルな送信間隔およびバックオフ間隔のための機構を含む電子デバイス６００の一実施形態を示すブロック図である。いくつかの実施形態では、電子デバイス６００は、ラップトップコンピュータ、タブレットコンピュータ、ネットブック、モバイル電話、スマート機器、ウェアラブルデバイス、ゲームコンソール、デスクトップコンピュータ、ネットワークブリッジデバイス、または通信機能を含む他の適当な電子デバイスであり得る。たとえば、電子デバイス６００は、ＷＬＡＮ通信媒体を介して通信するためのＷＬＡＮ通信プロトコルを実施するＷＬＡＮデバイスであり得る。電子デバイス６００は、プロセッサユニット６０２（複数のプロセッサ、複数のコア、複数のノードを含む場合、および／またはマルチスレッドを実施する場合などもある）を含む。電子デバイス６００は、メモリユニット６０６を含む。メモリユニット６０６は、システムメモリ（たとえば、キャッシュ、ＳＲＡＭ、ＤＲＡＭ、ゼロキャパシタＲＡＭ、ツイントランジスタＲＡＭ、ｅＤＲＡＭ、ＥＤＯ  ＲＡＭ、ＤＤＲ  ＲＡＭ、ＥＥＰＲＯＭ（登録商標）、ＮＲＡＭ、ＲＲＡＭ（登録商標）、ＳＯＮＯＳ、ＰＲＡＭなどのうちの１つまたは複数）、または、コンピュータ可読記憶媒体のすでに上で説明された可能な実現形態のうちの任意の１つまたは複数であり得る。電子デバイス６００は、また、バス６１０（たとえばＰＣＩ、ＩＳＡ、ＰＣＩ−Ｅｘｐｒｅｓｓ、Ｈｙｐｅｒ  Ｔｒａｎｓｐｏｒｔ（登録商標）、ＩｎｆｉｎｉＢａｎｄ（登録商標）、ＮｕＢｕｓ、ＡＨＢ、ＡＸＩなど）と、ネットワークインターフェース６０４とを含む。プロセッサユニット６０２、メモリユニット６０６、およびネットワークインターフェース６０４は、バス６１０に結合される。ネットワークインターフェース６０４は、ワイヤレスネットワークインターフェース（たとえばＷＬＡＮインターフェース、Ｂｌｕｅｔｏｏｔｈインターフェース、ＷｉＭＡＸインターフェース、ＺｉｇＢｅｅ（登録商標）インターフェース、ワイヤレスＵＳＢインターフェースなど）、および／または有線ネットワークインターフェース（たとえば電力線通信インターフェース、イーサネットインターフェースなど）を含む。さらに、いくつかの実施形態では、電子デバイス６００は、ハイブリッド通信機能性を実施するためのＩＥＥＥ標準１９０５．１プロトコルを実行することができる。
【０１０１】
[00109]電子デバイス６００は、通信ユニット６０８も含む。通信ユニット６０８は、時間間隔計算ユニット６１２と、トランシーバユニット６１４とを含む。図１〜図５を参照して上述したように、時間間隔計算ユニット６１２は、電子デバイス６００が通信媒体の制御権を有していた送信持続時間に少なくとも部分的には基づいて電子デバイス６００のバックオフ持続時間を決定するための機能性を実行することができる。これらの機能性のいずれか１つは、部分的に（または完全に）ハードウェアで、および／またはプロセッサユニット６０２上で実施され得る。たとえば、機能性は、特定用途向け集積回路（ＡＳＩＣ）を用いて実施され得、プロセッサユニット６０２に実装された論理で実施され得、周辺デバイスまたはカード上のコプロセッサにおいて実施され得る。いくつかの実施形態では、通信ユニット６０８は、電子デバイス６００の通信を可能にするために、システムオンチップ（ＳｏＣ）、ＡＳＩＣ、または別の適当な集積回路上に実装され得る。いくつかの実施形態では、通信ユニット６０８は、追加のプロセッサおよびメモリを含み得、電子デバイス６００の１つまたは複数の回路基板上の１つまたは複数の集積回路に実装され得る。さらに、実現形態は、より少ない数の構成要素、または図６には示されていない追加の構成要素（たとえばビデオカード、オーディオカード、追加のネットワークインターフェース、周辺デバイスなど）を含むことができる。たとえば、バス６１０で結合されたプロセッサユニット６０２に加えて、通信ユニット６０８は、少なくとも１つの追加のプロセッサユニットを含むこともできる。別の例としては、メモリユニット６０６は、バス６１０に結合されるものとして示してあるが、プロセッサユニット６０２に結合されていてもよい。
【０１０２】
[00110]様々な実装形態および開発形態を参照して実施形態について説明したが、これらの実施形態は例示的なものであること、および本発明の主題の範囲がそれらに限定されないことは理解されるであろう。一般に、本明細書で説明したネットワークデバイスにおけるフレキシブルな送信間隔およびバックオフ間隔のための技法は、任意の１つまたは複数のハードウェアシステムと調和する機構で実施され得る。多くの変形、修正、追加、および改良が可能である。
【０１０３】
[00111]本明細書において単数の場合として説明されている構成要素、動作、または構造については、複数の場合も可能である。最後に、様々な構成要素、動作、およびデータ記憶位置の間の境界は、ある程度任意であり、特定の動作は、具体的な例示的な構成の文脈において例示されたものである。他の機能性の割振りも構想され、それらも本発明の主題の範囲内に含まれ得る。一般に、例示的な構成において別個の構成要素として提示されている構造および機能性は、結合された構造または構成要素として実施され得る。同様に、単一の構成要素として提示されている構造および機能性は、別個の構成要素として実施され得る。これらおよび他の変形、修正、追加、および改良は、本発明の主題の範囲内に含まれ得る。
【図１】
2019080337.tif 000007
【図２Ａ】
2019080337.tif 000008
【図２Ｂ】
2019080337.tif 000009
【図３Ａ】
2019080337.tif 000010
【図３Ｂ】
2019080337.tif 000011
【図４Ａ】
2019080337.tif 000012
【図４Ｂ】
2019080337.tif 000013
【図５】
2019080337.tif 000014
【図６】
2019080337.tif 000015
【手続補正書】
【提出日】平成31年1月25日(2019.1.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信媒体を介したネットワークデバイスによる通信の方法であって、
乱数値を選択することと、
前記乱数値およびバックオフ競合ウィンドウに少なくとも部分的には基づいてバックオフ間隔を選択することと、ここにおいて、前記バックオフ競合ウィンドウは、前記ネットワークデバイスが前記通信媒体の制御権をめぐって競合していない最大数の通信タイムスロットである、
前記バックオフ間隔を開始することと、
前記バックオフ間隔が経過し、前記通信媒体上で送信が検出されなかった後で、前記通信媒体の制御権を取得することと、
前記通信媒体上で送信が検出されるときに、前記バックオフ競合ウィンドウ内の別の連続したバックオフ間隔を選択することと
を備える、方法。
【請求項２】
前記乱数値はゼロと前記バックオフ競合ウィンドウとの間にある、請求項１に記載の方法。
【請求項３】
別のバックオフ間隔を選択することは、
直前のバックオフ間隔の２倍の長さを有する別のバックオフ間隔を選択することを備える、請求項２に記載の方法。
【請求項４】
前記方法は、
前記通信媒体に送信があるかどうかを決定するために、所定の感知時間間隔にわたって前記通信媒体をモニタリングすることをさらに備える、請求項１〜３のうちの一項に記載の方法。
【請求項５】
前記乱数値は、通信タイムスロットの数を表す、請求項１〜４のうちの一項に記載の方法。
【請求項６】
前記通信媒体の制御権を取得することは、
前記通信媒体上で少なくとも１つのメッセージを送信することを備える、請求項１〜５のうちの一項に記載の方法。
【請求項７】
少なくとも１つの送信間隔の間、メッセージを送信することをさらに備える、請求項６に記載の方法。
【請求項８】
通信媒体を介して通信するネットワークデバイスであって、
乱数値を選択するための手段と、
前記乱数値および所定のバックオフ競合ウィンドウに少なくとも部分的には基づいてバックオフ間隔を選択するための手段と、ここにおいて、前記バックオフ競合ウィンドウが、前記ネットワークデバイスが前記通信媒体の制御権をめぐって競合していない最大数の通信タイムスロットである、
前記バックオフ間隔を開始するための手段と、
前記バックオフ間隔が経過し、前記通信媒体上で送信が検出されるかどうかを決定するための手段と、
前記通信媒体上で送信が検出されるときに、前記バックオフ競合ウィンドウ内の別の連続したバックオフ間隔を選択するための手段と
を備える、ネットワークデバイス。
【請求項９】
機械実行可能命令を記憶した機械可読記憶媒体であって、前記機械実行可能命令は、コンピュータに請求項１〜７のうちのいずれかに従った方法を実行させる命令を備える、機械可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１０３
【補正方法】変更
【補正の内容】
【０１０３】
[00111]本明細書において単数の場合として説明されている構成要素、動作、または構造については、複数の場合も可能である。最後に、様々な構成要素、動作、およびデータ記憶位置の間の境界は、ある程度任意であり、特定の動作は、具体的な例示的な構成の文脈において例示されたものである。他の機能性の割振りも構想され、それらも本発明の主題の範囲内に含まれ得る。一般に、例示的な構成において別個の構成要素として提示されている構造および機能性は、結合された構造または構成要素として実施され得る。同様に、単一の構成要素として提示されている構造および機能性は、別個の構成要素として実施され得る。これらおよび他の変形、修正、追加、および改良は、本発明の主題の範囲内に含まれ得る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ネットワークデバイスによる通信の方法であって、
前記ネットワークデバイスにおいて、通信媒体上で送信するための総送信持続時間および所定の送信間隔に少なくとも部分的には基づいて、前記ネットワークデバイスの総バックオフ持続時間を決定することと、
前記ネットワークデバイスが前記総バックオフ持続時間中に前記通信媒体上で送信することを防止するために前記総バックオフ持続時間を開始することと、を備える、方法。
［Ｃ２］
前記ネットワークデバイスにおいて前記総送信持続時間を決定することをさらに備え、
ここにおいて、前記総バックオフ持続時間を決定することが、前記総送信持続時間が前記総送信持続時間中に送信されるデータに関連付けられた前記所定の送信間隔を超えると決定したことに応答する、Ｃ１に記載の方法。
［Ｃ３］
前記総送信持続時間中に前記ネットワークデバイスによって送信されるデータに関連付けられた優先度レベルに少なくとも部分的には基づいて、前記所定の送信間隔を決定することをさらに備える、Ｃ１に記載の方法。
［Ｃ４］
前記総送信持続時間が、前記所定の送信間隔の倍数である、Ｃ１に記載の方法。
［Ｃ５］
前記総バックオフ持続時間が、前記総送信持続時間中に送信されるデータに関連付けられた所定のバックオフ間隔の倍数である、Ｃ１に記載の方法。
［Ｃ６］
前記ネットワークデバイスに関連付けられたバックオフ競合ウィンドウに少なくとも部分的には基づいてバックオフ間隔を選択することをさらに備え、ここにおいて、前記バックオフ競合ウィンドウが、前記ネットワークデバイスが前記通信媒体上のデータ送信を延期する最大数の通信タイムスロットを表す、Ｃ１に記載の方法。
［Ｃ７］
前記ネットワークデバイスの前記総バックオフ持続時間を決定することが、
前記総送信持続時間と前記所定の送信間隔との比に少なくとも部分的には基づいて前記ネットワークデバイスにおいて実施するバックオフ間隔の数を決定することと、
前記バックオフ間隔の数に少なくとも部分的には基づいて、前記総バックオフ持続時間を決定することと、を備える、Ｃ１に記載の方法。
［Ｃ８］
前記ネットワークデバイスにおいて前記総バックオフ持続時間を開始することが、
前記ネットワークデバイスにおいて開始された第１のバックオフ間隔が経過したかどうかを決定することと、
前記第１のバックオフ間隔が経過したと決定された場合に、
前記総バックオフ持続時間が前記第１のバックオフ間隔と、その後に続く第２のバックオフ間隔とを含むかどうかを決定することと、
前記総バックオフ持続時間が前記第１のバックオフ間隔と、その後に続く前記第２のバックオフ間隔とを含むと決定された場合に、
前記通信媒体上で別のネットワークデバイスによって開始された送信が検出されるかどうかを決定することと、を備える、Ｃ１に記載の方法。
［Ｃ９］
前記通信媒体上で別のネットワークデバイスによって開始された送信が検出されるかどうかに少なくとも部分的には基づいて、前記第２のバックオフ間隔の持続時間を変化させるかどうかを決定することをさらに備える、Ｃ８に記載の方法。
［Ｃ１０］
前記通信媒体上で前記送信が検出された場合に、前記第１のバックオフ間隔を決定するために使用されたバックオフ競合ウィンドウに対して、前記第２のバックオフ間隔を決定するためのバックオフ競合ウィンドウの長さを延長することと、
前記通信媒体上で送信が検出されない場合に、前記第２のバックオフ間隔を決定するための前記バックオフ競合ウィンドウの長さを所定の長さに設定すると決定することと、をさらに備える、Ｃ９に記載の方法。
［Ｃ１１］
前記ネットワークデバイスの前記総バックオフ持続時間を決定することが、
現在のバックオフ競合ウィンドウ、前記総送信持続時間、および前記所定の送信間隔のうちの少なくとも１つに基づいて前記ネットワークデバイスに関連付けられた新たなバックオフ競合ウィンドウを決定することと、ここにおいて、前記新たなバックオフ競合ウィンドウが、前記ネットワークデバイスが前記通信媒体上のデータ送信を延期する最大数の通信タイムスロットを表し、
前記新たなバックオフ競合ウィンドウに少なくとも部分的には基づいて、前記総バックオフ持続時間を選択することと、を備える、Ｃ１に記載の方法。
［Ｃ１２］
前記ネットワークデバイスにおいて前記総バックオフ持続時間が経過したと決定することと、
前記総バックオフ持続時間が経過したと決定したことに応答して、前記通信媒体の制御権を取得するために少なくとも１つのメッセージを送信することと、をさらに備える、Ｃ１に記載の方法。
［Ｃ１３］
前記総送信持続時間および前記所定の送信間隔に少なくとも部分的には基づいて前記ネットワークデバイスにおいて実施する連続したバックオフ間隔の数を決定することと、
第１のバックオフ間隔が経過し、第２のバックオフ間隔が前記第１のバックオフ間隔の後に続いていると決定された場合に、
前記通信媒体上で別のネットワークデバイスによる送信が検出されるかどうかを決定することと、
前記通信媒体上で別のネットワークデバイスによる送信が検出されるかどうかに少なくとも部分的には基づいて、前記第２のバックオフ間隔の持続時間を変化させるかどうかを決定することと、をさらに備える、Ｃ１に記載の方法。
［Ｃ１４］
ネットワークデバイスであって、
プロセッサユニットと、
前記プロセッサユニットに結合された時間間隔計算ユニットと、を備え、前記時間間隔計算ユニットが、
通信媒体上で送信するための総送信持続時間および所定の送信間隔に少なくとも部分的には基づいて、前記ネットワークデバイスの総バックオフ持続時間を決定し、
前記ネットワークデバイスが前記総バックオフ持続時間中に前記通信媒体上で送信することを防止するために前記総バックオフ持続時間を開始するように構成される、ネットワークデバイス。
［Ｃ１５］
前記時間間隔計算ユニットが、
前記総送信持続時間を決定するようにさらに構成され、
ここにおいて前記総バックオフ持続時間を決定するように構成された前記時間間隔計算ユニットが、前記総送信持続時間が、前記総送信持続時間中に送信されるデータに関連付けられる前記所定の送信間隔を超えると決定したことに応答する、Ｃ１４に記載のネットワークデバイス。
［Ｃ１６］
前記時間間隔計算ユニットが、
前記ネットワークデバイスに関連付けられたバックオフ競合ウィンドウに少なくとも部分的には基づいてバックオフ間隔を選択するようにさらに構成され、ここにおいて、前記バックオフ競合ウィンドウが、前記ネットワークデバイスが前記通信媒体上でデータ送信を延期する最大数の通信タイムスロットを表す、Ｃ１４に記載のネットワークデバイス。
［Ｃ１７］
前記ネットワークデバイスの前記総バックオフ持続時間を決定するように構成された前記時間間隔計算ユニットが、
前記総送信持続時間と前記所定の送信間隔との比に少なくとも部分的には基づいて前記ネットワークデバイスにおいて実施するバックオフ間隔の数を決定し、
前記バックオフ間隔の数に少なくとも部分的には基づいて、前記総バックオフ持続時間を決定するように構成された前記時間間隔計算ユニットを備える、Ｃ１４に記載のネットワークデバイス。
［Ｃ１８］
前記ネットワークデバイスにおいて前記総バックオフ持続時間を開始するように構成された前記時間間隔計算ユニットが、
前記ネットワークデバイスにおいて開始された第１のバックオフ間隔が経過したかどうかを決定し、
前記第１のバックオフ間隔が経過し、第２のバックオフ間隔が前記第１のバックオフ間隔の後に続いていると決定された場合に、
前記通信媒体上で別のネットワークデバイスによって開始された送信が検出されるかどうかに少なくとも部分的には基づいて、前記第２のバックオフ間隔の持続時間を変化させるかどうかを決定し、ここにおいて、前記総バックオフ持続時間が、前記第１のバックオフ間隔と、前記第２のバックオフ間隔とを含むように構成された前記時間間隔計算ユニットを備える、Ｃ１４に記載のネットワークデバイス。
［Ｃ１９］
前記時間間隔計算ユニットが、
前記通信媒体上で前記送信が検出された場合に、前記第１のバックオフ間隔を決定するために使用されたバックオフ競合ウィンドウに対して、前記第２のバックオフ間隔を決定するためのバックオフ競合ウィンドウの長さを延長し、
前記通信媒体上で送信が検出されない場合に、前記第２のバックオフ間隔を決定するための前記バックオフ競合ウィンドウの長さを所定の長さに設定すると決定するようにさらに構成される、Ｃ１８に記載のネットワークデバイス。
［Ｃ２０］
前記ネットワークデバイスの前記総バックオフ持続時間を決定するように構成された前記時間間隔計算ユニットが、
現在のバックオフ競合ウィンドウ、前記総送信持続時間、および前記所定の送信間隔のうちの少なくとも１つに基づいて前記ネットワークデバイスに関連付けられた新たなバックオフ競合ウィンドウを決定し、ここにおいて、前記新たなバックオフ競合ウィンドウが、前記ネットワークデバイスが前記通信媒体上のデータ送信を延期する最大数の通信タイムスロットを表し、
前記新たなバックオフ競合ウィンドウに少なくとも部分的には基づいて、前記総バックオフ持続時間を選択するように構成された前記時間間隔計算ユニットを備える、Ｃ１４に記載のネットワークデバイス。
［Ｃ２１］
機械実行可能命令を記憶した非一時的機械可読記憶媒体であって、前記機械実行可能命令が、
ネットワークデバイスにおいて、通信媒体上で送信するための総送信持続時間および所定の送信間隔に少なくとも部分的には基づいて、前記ネットワークデバイスの総バックオフ持続時間を決定し、
前記ネットワークデバイスが前記総バックオフ持続時間中に前記通信媒体上で送信することを防止するために前記ネットワークデバイスにおいて前記総バックオフ持続時間を開始する命令を備える、非一時的機械可読記憶媒体。
［Ｃ２２］
前記命令が、
前記ネットワークデバイスにおける前記総送信持続時間を決定する命令をさらに備え、
ここにおいて前記総バックオフ持続時間を決定する前記命令が、前記総送信持続時間が、前記総送信持続時間中に送信されるデータに関連付けられる前記所定の送信間隔を超えると決定したことに応答する、Ｃ２１に記載の非一時的機械可読記憶媒体。
［Ｃ２３］
前記命令が、
前記ネットワークデバイスに関連付けられたバックオフ競合ウィンドウに少なくとも部分的には基づいてバックオフ間隔を選択する命令をさらに備え、ここにおいて、前記バックオフ競合ウィンドウが、前記ネットワークデバイスが前記通信媒体上でデータ送信を延期する最大数の通信タイムスロットを表す、Ｃ２１に記載の非一時的機械可読記憶媒体。
［Ｃ２４］
前記ネットワークデバイスの前記総バックオフ持続時間を決定する前記命令が、
前記総送信持続時間と前記所定の送信間隔との比に少なくとも部分的には基づいて前記ネットワークデバイスにおいて実施するバックオフ間隔の数を決定し、
前記バックオフ間隔の数に少なくとも部分的には基づいて、前記総バックオフ持続時間を決定する命令を備える、Ｃ２１に記載の非一時的機械可読記憶媒体。
［Ｃ２５］
前記ネットワークデバイスの前記総バックオフ持続時間を開始する前記命令が、
前記ネットワークデバイスにおいて開始された第１のバックオフ間隔が経過したかどうかを決定し、
前記第１のバックオフ間隔が経過し、第２のバックオフ間隔が前記第１のバックオフ間隔の後に続いていると決定された場合に、
前記通信媒体上で別のネットワークデバイスによって開始された送信が検出されるかどうかに少なくとも部分的には基づいて、前記第２のバックオフ間隔の持続時間を変化させるかどうかを決定する命令を備え、ここにおいて、前記総バックオフ持続時間が、前記第１のバックオフ間隔と前記第２のバックオフ間隔とを含む、Ｃ２１に記載の非一時的機械可読記憶媒体。
［Ｃ２６］
前記ネットワークデバイスの前記総バックオフ持続時間を決定する前記命令が、
現在のバックオフ競合ウィンドウ、前記総送信持続時間、および前記所定の送信間隔のうちの少なくとも１つに基づいて前記ネットワークデバイスに関連付けられた新たなバックオフ競合ウィンドウを決定し、ここにおいて、前記新たなバックオフ競合ウィンドウが、前記ネットワークデバイスが前記通信媒体上のデータ送信を延期する最大数の通信タイムスロットを表し、
前記新たなバックオフ競合ウィンドウに少なくとも部分的には基づいて、前記総バックオフ持続時間を選択する命令を備える、Ｃ２１に記載の非一時的機械可読記憶媒体。
［Ｃ２７］
ネットワークデバイスであって、
通信媒体上で送信するための総送信持続時間および所定の送信間隔に少なくとも部分的には基づいて、前記ネットワークデバイスの総バックオフ持続時間を決定するための手段と、
前記ネットワークデバイスが前記総バックオフ持続時間中に前記通信媒体上で送信することを防止するために前記総バックオフ持続時間を開始するための手段と、を備える、ネットワークデバイス。
［Ｃ２８］
前記ネットワークデバイスに関連付けられたバックオフ競合ウィンドウに少なくとも部分的には基づいてバックオフ間隔を選択するための手段をさらに備え、ここにおいて、前記バックオフ競合ウィンドウが、前記ネットワークデバイスが前記通信媒体上でデータ送信を延期する最大数の通信タイムスロットを表す、Ｃ２７に記載のネットワークデバイス。
［Ｃ２９］
前記ネットワークデバイスの前記総バックオフ持続時間を決定するための前記手段が、
前記総送信持続時間と前記所定の送信間隔との比に少なくとも部分的には基づいて前記ネットワークデバイスにおいて実施するバックオフ間隔の数を決定するための手段と、
前記バックオフ間隔の数に少なくとも部分的には基づいて、前記総バックオフ持続時間を決定するための手段と、を備える、Ｃ２７に記載のネットワークデバイス。
［Ｃ３０］
前記ネットワークデバイスの前記総バックオフ持続時間を開始するための手段が、
前記ネットワークデバイスにおいて開始された第１のバックオフ間隔が経過したかどうかを決定するための手段と、
前記第１のバックオフ間隔が経過し、第２のバックオフ間隔が前記第１のバックオフ間隔の後に続いていると決定された場合に、
前記通信媒体上で別のネットワークデバイスによって開始された送信が検出されるかどうかに少なくとも部分的には基づいて、前記第２のバックオフ間隔の持続時間を変化させるかどうかを決定するための手段と、を備え、ここにおいて、前記総バックオフ持続時間が、前記第１のバックオフ間隔と前記第２のバックオフ間隔とを含む、Ｃ２７に記載のネットワークデバイス。
【外国語明細書】
2019080337000001.pdf