(57)【要約】【課題】  第１および第２のＨｏｓｔが同じ時間帯のＭＡＳを予約してしまい、それぞれの通信相手同士で干渉する場合がある。第１のＨｏｓｔが当該ＭＡＳの予約を解放してしまうと、第１のＨｏｓｔの通信範囲内に存在する第３のＨｏｓｔが同じＭＡＳを予約し、やはり干渉が生じてしまう場合がある。【解決手段】  本発明の通信装置は、通信相手と通信するための時間枠を予約する予約手段と、前記予約手段により予約した前記時間枠で前記通信相手と通信した際の、前記通信相手における干渉を判定する判定手段と、前記判定手段により前記干渉が判定された場合、前記時間枠をマスクするマスク手段とを有する。【選択図】  図５
2011130303.tif 000002
【特許請求の範囲】
【請求項１】
通信相手と通信するための時間枠を予約する予約手段と、
前記予約手段により予約した前記時間枠で前記通信相手と通信した際の、前記通信相手における干渉を判定する判定手段と、
前記判定手段により前記干渉が判定された場合、前記時間枠をマスクするマスク手段と、
を有することを特徴とする通信装置。
【請求項２】
前記マスク手段は、前記通信相手との前記時間枠を使用した通信を停止すると共に、前記時間枠を他の通信装置に予約させないようにすることを特徴とする請求項１に記載の通信装置。
【請求項３】
前記マスク手段は、前記予約手段による前記時間枠の予約を継続することで、前記時間枠を前記他の通信装置に予約させないようにすることを特徴とする請求項２に記載の通信装置。
【請求項４】
前記予約手段により予約した時間枠を報知する報知手段を更に有することを特徴とする請求項１乃至３のいずれか１項に記載の通信装置。
【請求項５】
前記判定手段により前記干渉が判定された場合、前記時間枠とは異なる時間枠で前記通信相手と通信する通信手段を更に有することを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
前記予約手段は、前記マスク手段が前記時間枠をマスクした後、前記時間枠とは異なる時間枠を新たに予約し、
前記通信手段は、前記予約手段が新たに予約した時間枠で前記通信相手と通信することを特徴とする請求項５に記載の通信装置。
【請求項７】
前記予約手段は、所定の周期で繰り返されるスーパーフレームの中から、前記時間枠を予約することを特徴とする請求項１乃至６のいずれか１項に記載の通信装置。
【請求項８】
前記通信相手にデータを送信する送信手段を更に有し、
前記判定手段は、前記送信手段が送信した前記データに対する前記通信相手からの受信応答に基づいて前記判定を行うことを特徴とする請求項１乃至７のいずれか１項に記載の通信装置。
【請求項９】
前記判定手段は、前記通信相手が前記データを正常に受信できたことを示す前記受信応答を連続して取得できなかった場合、前記通信相手において干渉が起きたと判定することを特徴とする請求項８に記載の通信装置。
【請求項１０】
前記通信装置は複数の通信相手と通信し、
前記判定手段は、前記複数の通信相手の各々に対して前記判定を行い、
前記マスク手段は、前記複数の通信相手のうち、前記判定手段により前記干渉が判定された通信相手との前記時間枠における通信を停止することを特徴とする請求項１乃至９のいずれか１項に記載の通信装置。
【請求項１１】
通信装置を制御する制御方法であって、
通信相手と通信するための時間枠を予約する予約工程と、
前記予約工程において予約した前記時間枠で前記通信相手と通信した際の、前記通信相手における干渉を判定する判定工程と、
前記判定工程において前記干渉が判定された場合、前記時間枠をマスクするマスク工程と、
を有することを特徴とする制御方法。
【請求項１２】
コンピュータにより実行され、通信装置の制御を行うためのプログラムであって、請求項１１に記載の制御方法を実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の周期で通信相手と通信する通信装置に関する。
【背景技術】
【０００２】
従来、ＷｉＭｅｄｉａ規格の上位プロトコルであるＷｉｒｅｌｅｓｓＵＳＢ（ＷＵＳＢ）規格に準拠したＨｏｓｔは、一定時間周期で繰り返されるスーパーフレーム内に配置されたＭＡＳの中から、通信に使用するＭＡＳを予約する。ＭＡＳとはＭｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｓｌｏｔの略であり、ＷｉＭｅｄｉａ規格に準拠した通信装置（Ｈｏｓｔおよびその通信相手）同士の通信に使用するタイムスロットである。Ｈｏｓｔは予約したＭＡＳの情報をビーコンに含めて報知する。また、通信装置は、Ｈｏｓｔが予約したＭＡＳを使用して一定周期間隔で通信する。
【０００３】
また、Ｈｏｓｔは上述の予約に際して、他のＨｏｓｔが送信したビーコンを検出し、他のＨｏｓｔが予約したＭＡＳとは異なるＭＡＳを予約する。これにより、Ｈｏｓｔは干渉を生じることなく通信することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−４６１７４
【非特許文献】
【０００５】
【非特許文献１】Ｗｉｒｅｌｅｓｓ  Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  １．０
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、Ｈｏｓｔでは干渉が生じないが、Ｈｏｓｔの通信相手では干渉が生じる場合がある。例えば、第１のＨｏｓｔと第２のＨｏｓｔが共にお互いのビーコンを検出できなかったために、両Ｈｏｓｔが同じ時間帯のＭＡＳを予約してしまい、それぞれの通信相手同士で干渉する場合である。さらに、第１のＨｏｓｔと第２のＨｏｓｔは、それぞれの通信相手における干渉を検出できないため、同じＭＡＳを使用して通信を継続する。各通信装置は一定周期間隔で通信を行うため、第１のＨｏｓｔおよび第２のＨｏｓｔの各々の通信相手における干渉は継続的に生じ、通信品質を低下させてしまう。また、第１のＨｏｓｔが当該ＭＡＳの予約を解放してしまうと、第１のＨｏｓｔの通信範囲内に存在する第３のＨｏｓｔが同じＭＡＳを予約し、やはり干渉が生じてしまう場合がある。
【０００７】
本発明は、通信相手において干渉を生じる時間枠を他の通信装置が使用しないようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の通信装置は、通信相手と通信するための時間枠を予約する予約手段と、前記予約手段により予約した前記時間枠で前記通信相手と通信した際の、前記通信相手における干渉を判定する判定手段と、前記判定手段により前記干渉が判定された場合、前記時間枠をマスクするマスク手段とを有する。
【発明の効果】
【０００９】
本発明によれば、通信相手において干渉を生じる時間枠をマスクするので、他の通信装置が当該時間枠を使用しないようにすることができる。
【図面の簡単な説明】
【００１０】
【図１】システム構成図である。
【図２】フレームの構成を示す図である。
【図３】干渉する場合を示した図である。
【図４】Ｈｏｓｔのハードウェア構成を示す図である。
【図５】Ｈｏｓｔが実現するフローチャートを示す図である。
【図６】Ｈｏｓｔが実現するソフトウェア構成を示す図である。
【図７】ＭＡＳテーブルを示す図である。
【発明を実施するための形態】
【００１１】
＜実施形態１＞
図１（ａ）は、本実施形態におけるシステム構成図である。１０１は通信装置（Ｓｅｌｆ−Ｂｅａｃｏｎｉｎｇ  Ｄｅｖｉｃｅ）としてのＨｏｓｔである。また、１０２は通信相手としてのＮＢＤ（Ｎｏｎ−Ｂｅａｃｏｎｉｎｇ  Ｄｅｖｉｃｅ）である。Ｈｏｓｔ１０１とＮＢＤ１０２とは無線接続しており、ＷｉＭｅｄｉａプロトコルに準拠したＷｉｒｅｌｅｓｓ  ＵＳＢ（ＷＵＳＢ）による無線通信を行う。ここで、ＨｏｓｔはＷｉＭｅｄｉａで規定されたビーコン（報知信号）を送信するが、ＮＢＤはビーコンを送信しない。ＷｉＭｅｄｉａに準拠した各装置はビーコンを受信することで、Ｈｏｓｔの存在を認識し、Ｈｏｓｔと同期を取ることができる。また、Ｈｏｓｔ１０３とＮＢＤ１０４も無線接続しており、ＷＵＳＢによる無線通信を行う。
【００１２】
Ｈｏｓｔ１０１とＨｏｓｔ１０３とは共にＷｉＭｅｄｉａで規定されたビーコン（報知信号）を送信しているが、お互いのビーコンを受信できない位置関係にある。従って、Ｈｏｓｔ１０１はＨｏｓｔ１０３を認識できない。また、Ｈｏｓｔ１０１はＮＢＤ１０４の通信エリア（通信範囲）外のため、ＮＢＤ１０４を認識できない。また、Ｈｏｓｔ１０３はＮＢＤ１０２の通信エリア外のため、ＮＢＤ１０２を認識できない。従って、Ｈｏｓｔ１０１とＨｏｓｔ１０３との間で同期を取ることはできない。一方で、ＮＢＤ１０２はＮＢＤ１０４の通信エリア内にある。しかしながら、ＮＢＤ１０２もＮＢＤ１０４もビーコンを送信しないので、互いに同期を取ることはできない。
【００１３】
また、１０５はＨｏｓｔであり、Ｈｏｓｔ１０１からのビーコンを受信できるが、Ｈｏｓｔ１０３からのビーコンを受信できない。なお、図１（ｂ）については実施形態２において説明する。
【００１４】
図２（ａ）に、ＷｉＭｅｄｉａおよびＷＵＳＢで用いられるフレームの構成を示す。２０１は、ＷｉＭｅｄｉａにより規定され、所定の周期（６５．５３６ｍｓ）で繰り返されるスーパーフレームである。スーパーフレーム２０１は、ビーコンを送信するためのビーコン期間２１１（ＢＰ、Ｂｅａｃｏｎ  Ｐｅｒｉｏｄ）と、通信装置同士が通信するための２５５のタイムスロット（以下、ＭＡＳ）２１２とを有する。ここで、タイムスロットとは時間枠のことであり、ＭＡＳとはＭｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｓｌｏｔの略である。
【００１５】
Ｈｏｓｔは、未使用のＭＡＳの中から、ＮＢＤと通信するためのＭＡＳを予約する。ここで、未使用のＭＡＳとはＨｏｓｔ１０１自身、および、Ｈｏｓｔ１０１の通信範囲内にある他のＨｏｓｔが予約していないＭＡＳのことである。このようにＨｏｓｔは、他のＨｏｓｔが予約していないＭＡＳを用いてＮＢＤと通信することで、干渉を防ぐことができる。また、上述のように予め通信するＭＡＳを予約する方式をＤＲＰ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｒｅｓｅｒｖａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）という。さらに、Ｈｏｓｔは、予約したＭＡＳの情報（ＤＲＰ  ＩＥ、ＤＲＰ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｌｅｍｅｎｔ）をビーコンに含めて送信する。これにより、他のＨｏｓｔは、当該ＭＡＳが予約されている（使用中である）ことを認識できる。
【００１６】
さらに、Ｈｏｓｔは、ＷｉＭｅｄｉａで予約したＭＡＳを１つまたは複数用いて、ＷＵＳＢの通信を行うためのトランザクション・グループ（以下、ＴＧ）２２１を設定する。ＴＧ２２１は、ＭＭＣスロット２３１、送信スロット２３２、受信スロット２３３、応答スロット２３４を有する。ＭＭＣスロット２３１とは、Ｈｏｓｔ１０１がＷＵＳＢで規定されたＭＭＣ（Ｍｉｃｒｏ−ｓｃｈｅｄｕｌｅｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｍｍａｎｄ）信号を送信するためのタイムスロットである。ここで、ＭＭＣ信号には、送信スロット２３２、受信スロット２３３および受信応答スロット２３４のタイミングの割当情報が含まれている。また、ＭＭＣ信号には、次のＭＭＣ開始時刻の情報が含まれている。
【００１７】
送信スロット２３２とは、ＨｏｓｔがＮＢＤに対してデータを送信するためのタイムスロットである。また、受信スロット２３３とは、ＨｏｓｔがＮＢＤからデータを受信する、即ち、ＮＢＤがＨｏｓｔに対してデータを送信するためのタイムスロットである。また、応答スロット２３４とは、ＮＢＤが受信応答（Ｈａｎｄ  Ｓｈａｋｅ  Ｏｕｔ）をＨｏｓｔに対して送信するためのタイムスロットである。なお、ＮＢＤは、送信スロット２３２においてＨｏｓｔがＮＢＤに対して送信したデータを正常に受信できた場合には、Ａｃｋを返す。また、正常に受信できなかった場合には、Ｎａｃｋを返す。なお、図２（ｂ）については実施形態２で説明する。
【００１８】
次に、ＮＢＤ１０２とＮＢＤ１０４とが干渉する場合について、図３を用いて説明する。Ｈｏｓｔ１０１はＭＡＳ３０１〜３０４を予約し、予約したＭＡＳのうち、ＭＡＳ３０１、３０２を用いてＴＧ３１１を設定している。ＴＧ３１１において、Ｈｏｓｔ１０１はＮＢＤ１０２と通信している。一方、Ｈｏｓｔ１０３はＭＡＳ３０６、３０７を予約した、予約したＭＡＳ３０６、３０７を用いてＴＧ３１２を設定している。ＴＧ３１２において、Ｈｏｓｔ１０３はＮＢＤ１０４と通信している。
【００１９】
Ｈｏｓｔ１０１とＨｏｓｔ１０３は、お互いの存在を認識していないため、独立にＭＡＳを予約している。その結果、予約されたＭＡＳの一部が同じ時間帯３２１となってしまっている。時間帯３２１では、Ｈｏｓｔ１０１とＮＢＤ１０２の通信、および、Ｈｏｓｔ１０３とＮＢＤ１０４の通信が並行して行われる。時間帯３２１にＮＢＤ１０４がＨｏｓｔ１０３にデータを送信し、また、ＮＢＤ１０２がＨｏｓｔ１０１からデータを受信しようとすると、ＮＢＤ１０２の受信信号に干渉が生じてしまう。干渉が生じると、ＮＢＤ１０２は、Ｈｏｓｔ１０１からのデータを受信できなくなってしまう。また、ＮＢＤ１０２による受信とＮＢＤ１０４による送信とは周期的に行われるため、どのスーパーフレームにおいても干渉が生じ、通信品質が低下してしまう。また、通信相手がＭＭＣを受信できない場合には、通信が切断してしまうこともある。
【００２０】
図４（ａ）に、Ｈｏｓｔ１０１のハードウェア構成図を示す。なお、図４（ｂ）については後述する。４０１はＣＰＵを有する制御部である。４０２はＲＯＭおよびＲＡＭを有する記憶部である。記憶部４０２は、図５に示すフローチャート（後述）を実現するためのプログラム、および、図７（ａ）に示すＭＡＳテーブル７０１を記憶している。ＭＡＳテーブル７０１は、ＮＢＤ１０２において干渉が生じたＭＡＳを管理するためのテーブルである。４０３はディスプレイを有し、ユーザに通知するための情報を表示する表示部である。４０４はアンテナを有し、ＮＢＤ１０２と通信するための通信部である。
【００２１】
図５に、制御部４０１が記憶部４０２に記憶されたプログラムを読み出すことで実現されるフローチャートを示す。また、図６は当該フローチャートを実現することにより構成されるソフトウェアブロック図である。
【００２２】
ステップＳ５０１において検索部６０１は、スーパーフレーム２０１の中から未使用のＭＡＳを検索する。ステップＳ５０２において選択部６０２は、検索された未使用のＭＡＳの中から、ＮＢＤ１０２と通信するためのＭＡＳを選択する。ここでは、選択部６０２はＭＡＳ３０１〜３０４を選択する。ステップＳ５０３において報知部６０３は、選択したＭＡＳの情報（ＤＲＰ  ＩＥ）をビーコンに含めて報知し、当該ＭＡＳを予約する。
【００２３】
ステップＳ５０４において設定部６０４は、予約したＭＡＳを用いたＴＧを設定する。ここでは、ＭＡＳ３０１、３０２を用いてＴＧ３１１を設定する。ステップＳ５０５において送信部６０５は、設定したＴＧ３１１の情報をＮＢＤ１０２に送信する。予約したＭＡＳの時刻になると、ステップＳ５０６において、送信部６０５はＭＭＣスロット２３１を使用してＭＭＣ信号を送信する。ステップＳ５０７において、送信部６０５は送信スロット２３２を使用して、データ（Ｄｏｕｔ）をＮＢＤ１０２に対して送信する。
【００２４】
ステップＳ５０８において、受信部６０６は受信スロット２３３を使用して、ＮＢＤ１０２からのデータ（Ｄｉｎ）を待ち受ける。なお、受信部６０６はＮＢＤ１０２からデータ（Ｄｉｎ）を受信した場合には、当該データを受信する。ステップＳ５０９において、受信部６０６は応答スロット２３４を使用して、ＮＢＤ１０２からの受信応答を待ち受ける。なお、受信部６０６はＮＢＤ１０２から受信応答を受信した場合には、当該受信応答を受信する。
【００２５】
ステップＳ５１０において判別部６０７は、受信部６０６がＮＢＤ１０２から受信応答を受信したか否かを判別する。受信応答を受信していた場合はステップＳ５１１に進み、受信応答を受信していなかった場合はステップＳ５１２に進む。ここで、受信応答を受信していない場合とは、ＮＢＤ１０２がＭＭＣ信号を受信できなかったために、応答スロット２３４のタイミングを認識できず、受信応答を送信できなかった場合である。なお、ＭＭＣ信号を受信できない場合とは、例えば、ＮＢＤ１０２がＭＭＣ信号を受信するタイミングに、ＮＢＤ１０４がＨｏｓｔ１０３にデータを送信し、ＮＢＤ１０２において干渉が生じ、ＭＭＣ信号を正常に受信できなかった場合である。
【００２６】
ステップＳ５１１において判別部６０７は、受信部６０６がＮＢＤ１０２から受信した受信応答がＡｃｋであるかＮａｃｋであるかを判別する。Ａｃｋである場合はステップＳ５１３に進み、Ｎａｃｋである場合はステップＳ５１２に進む。ここで、受信応答がＮａｃｋである場合とは、例えば、ＮＢＤ１０２がＨｏｓｔ１０１からデータ（Ｄｏｕｔ）を受信する際に干渉が生じ、データを正常に受信できなかった場合である。ここでは、ＮＢＤ１０２がＨｏｓｔ１０１からデータ（Ｄｏｕｔ）を受信するタイミングに、ＮＢＤ１０４がＨｏｓｔ１０３にデータを送信し、ＮＢＤ１０２において干渉が生じ、データ（Ｄｏｕｔ）を正常に受信できなかったものとする。従って、ＮＢＤ１０２は受信応答としてＮａｃｋを送信する。
【００２７】
ここで、ステップＳ５１２に進む場合とは、受信応答を受信できなかった場合、または受信応答としてＮａｃｋを受信した場合である。いずれの場合においても、ＮＢＤ１０２は信号（データ信号またはＭＭＣ信号）の受信に失敗している。そこで、ステップＳ５１２において更新部６０８は、ＭＡＳテーブル７０１のうち、当該ＴＧが使用するＭＡＳに対応するカウンタ値に１を加算する。ここでは、ＴＧ３１１を使用したことでＮＢＤ１０２に干渉が生じたので、ＴＧ３１１が使用するＭＡＳ３０１、３０２のカウンタ値に１を加算する。このようにして、Ｈｏｓｔ１０１は、ＭＡＳテーブル７０１を用いてＮＢＤ１０２で生じた干渉の回数を管理することができる。
【００２８】
一方、ＮＢＤ１０２でデータ（Ｄｏｕｔ）およびＭＭＣ信号の受信に成功した場合にはステップＳ５１３に進む。そこで、ステップＳ５１３において更新部６０８は、ＭＡＳテーブル７０１のうち、当該ＴＧが使用するＭＡＳに対応するカウンタ値を０に更新する。このように、ＮＢＤ１０２でデータ（Ｄｏｕｔ）およびＭＭＣ信号の受信に成功した場合にはカウンタ値を０に更新するので、ＮＢＤ１０２が連続して信号の受信に失敗しない限り、カウンタ値が２以上になることはない。
【００２９】
ステップＳ５１４において確認部６０９は、１スーパーフレームが終了したかを確認する終了している場合はステップＳ５１５に進み、終了していない場合にはステップＳ５０６に進む。ステップＳ５１５において判定部６１０は、ＭＡＳテーブル７０１の中に、カウンタ値が閾値（ここでは、３）以上のＭＡＳがあるか否かを判定する。ここで、カウンタ値が閾値以上であるＭＡＳでは、ＮＢＤ１０２が連続して信号の受信に失敗している。そこで、Ｈｏｓｔ１０１は、ＮＢＤ１０２の受信失敗の原因を一時的なノイズ（バーストエラー）ではなく、他のＷｉＭｅｄｉａ装置（ここでは、ＮＢＤ１０４）からの周期的な干渉によるものと判定する。なぜならば、バーストエラーの場合、連続して信号の受信に失敗する可能性が低いからである。上述のようにして、Ｈｏｓｔ１０１はＮＢＤ１０２における干渉を検出することができる。なお、ステップＳ５１５の判定の結果、カウンタ値が閾値以上のＭＡＳがある場合はステップＳ５１６に進み、ない場合はステップＳ５０６に進む。
【００３０】
ステップＳ５１６においてマスク部６１１は、カウンタ値が閾値以上のＭＡＳをマスクする。マスクとは、Ｈｏｓｔ１０１が、干渉が生じた通信相手との当該ＭＡＳを使用した通信を停止すると共に、当該ＭＡＳを他のＨｏｓｔに予約させないようにすることである。なお、本実施形態では後述のステップＳ５１８においてマスクしたＭＡＳを予約ＭＡＳとして報知することで、当該ＭＡＳを他のＨｏｓｔに予約させないようにする。ＭＡＳをマスクすることにより、Ｈｏｓｔ１０５が当該ＭＡＳを予約してしまうことを防ぐことができる。従って、Ｈｏｓｔ１０５およびＨｏｓｔ１０５の不図示の通信相手とＮＢＤ１０４が干渉してしまうことを防ぐことができる。
【００３１】
また、マスクしたＭＡＳでは通信を停止するので、ＭＭＣを送信しない。従って、ＭＭＣ内の情報要素のうち、次のＭＭＣのタイミングを示す情報要素の値が変更される。なお、マスクしたＭＡＳの情報は記憶部４０２に記憶される。ステップＳ５１７において設定部６０４は、既に予約されているＭＡＳのうち、マスクしたＭＡＳを除くＭＡＳに変更して、ＴＧを再設定する。ここでは、設定部６０４はＭＡＳ３０３、３０４を用いて、ＮＢＤ１０２と通信するためのＴＧを設定する。なお、検索部６０１が未使用のＭＡＳを再度検索し、再検索により検索されたＭＡＳの中から選択部６０２が新たに選択したＭＡＳを用いて、設定部６０４がＴＧを設定するようにしてもよい。このように、Ｈｏｓｔ１０１は新たなＭＡＳを使用してＮＢＤ１０２と通信するので、Ｈｏｓｔ１０１はＮＢＤ１０２との通信を継続することができる。
【００３２】
ステップＳ５１８において報知部６０３は、マスクしたＭＡＳ（ここでは、３０１、３０２）を予約ＭＡＳとしてＤＲＰ  ＩＥに含めたビーコンを報知する。このようにマスクしたＭＡＳの予約を継続するので、Ｈｏｓｔ１０１が再び同じＭＡＳを予約してしまうことを防ぐことができる。これにより、Ｈｏｓｔ１０１の処理負荷が軽減する。また、Ｈｏｓｔ１０５が当該ＭＡＳを予約してしまうことを防ぐことができる。従って、Ｈｏｓｔ１０５およびＨｏｓｔ１０５の不図示の通信相手とＮＢＤ１０４が干渉してしまうことを防ぐことができる。
【００３３】
上述のようにして、通信装置（Ｈｏｓｔ１０１）は通信相手（ＮＢＤ１０２）からの受信応答に基づいて、通信相手における周期的な干渉を検出する。特に、通信装置は、通信相手から受信応答、もしくは、データの受信に成功したことを示す受信応答を連続して得られなかった場合に、他の通信装置（ＮＢＤ１０４）のデータ送信に起因して通信相手において周期的に干渉が生じているものと判定する。これにより、通信相手において生じている干渉が、バーストエラーではなく、他の通信装置のデータ送信に起因した周期的な干渉であることが分かる。
【００３４】
さらに、通信相手における周期的な干渉を検出した場合には、干渉しているＭＡＳをマスクする。即ち、通信装置は当該ＭＡＳを使用した通信相手との通信を停止すると共に、当該ＭＡＳを他のＨｏｓｔに予約させないようにする。これにより、通信相手において干渉を生じるＭＡＳを使用した通信を行わないので、通信品質を向上させることができる。また、通信相手がＭＭＣを受信できないことにより、切断してしまう可能性を低減することができ、通信の安定性が向上する。
【００３５】
また、当該ＭＡＳを他のＨｏｓｔに予約させないようにするので、Ｈｏｓｔ１０１が再び同じＭＡＳを予約してしまうことを防ぐことができる。これにより、Ｈｏｓｔ１０１の処理負荷が軽減する。また、Ｈｏｓｔ１０１の通信範囲内にあるＨｏｓｔ１０５も当該ＭＡＳを予約しないため、Ｈｏｓｔ１０５およびＨｏｓｔ１０５の不図示の通信相手とＮＢＤ１０４が干渉してしまうことを防ぐことができる。なお、具体的には、Ｈｏｓｔ１０１がマスクしたＭＡＳの予約を継続することで、当該ＭＡＳを他のＨｏｓｔに予約させないようにすることができる。
【００３６】
なお、上述の実施形態を通信部４０４内のハードウェアのみを用いて実現することもできる。この場合の通信部４０４内のハードウェア構成を図４（ｂ）に示す。
【００３７】
監視部４２２はアンテナ４２１を介して電波状態を監視し、未使用のＭＡＳを検索する（Ｓ５０１に相当）。監視部４２２は検索したＭＡＳの情報を選択部４２３に通知する。選択部４２３は通知されたＭＡＳ情報に基づいてＭＡＳを予約し（Ｓ５０２に相当）、予約したＭＡＳ情報を生成部４２４および設定部４２５に通知する。生成部４２４は通知されたＭＡＳ情報を含めたビーコンを生成、変調し、アンテナ４２１に供給する。アンテナ４２１は供給されたビーコンを送信する（Ｓ５０３に相当）。また、設定部４２５は通知されたＭＡＳ情報に基づいて、ＴＧを設定する（Ｓ５０４に相当）。設定部４２５は設定したＴＧの情報を生成部４２４およびタイマ４２６に通知する。生成部４２４は通知されたＴＧ情報を含めたデータをアンテナ４２１に供給する。アンテナ４２１は供給されたデータを送信する（Ｓ５０５に相当）。タイマ４２６は、ＭＭＣ信号を送信する時刻になったことを生成部４２４に通知する。当該通知を受信すると生成部４２４は、ＭＭＣ信号を生成、変調し、アンテナ４２１に供給する。アンテナ４２１は供給されたＭＭＣ信号を送信する（Ｓ５０６に相当）。生成部４２４はタイマ４２６からデータ（Ｄｏｕｔ）を送信する時刻になったことを通知されると、インターフェース（Ｉ／Ｆ）４２７から送信データを取得し、当該データをアンテナ４２１に供給する。さらにアンテナ４２１は供給されたデータを送信する（Ｓ５０７に相当）。
【００３８】
タイマ４２６は、受信応答を受信すべき時刻になったことを受信部４２８に通知する。受信部４２８は通信相手から受信応答を受信した場合、当該受信応答を判別部４２９に供給する。また、受信応答を受信できなかった場合、その旨を判定部４３０に通知する。判別部４２９は受信応答がＡｃｋである場合、ローカルメモリ４３１にアクセスし、ローカルメモリ４３１に記憶されているＭＡＳテーブル７０１を更新する（Ｓ５１３に相当）。一方、判別部４２９は受信応答がＮａｃｋである場合、その旨を判定部４３０に通知する。判定部４３０は、ローカルメモリ４３１に記憶されているＭＡＳテーブル７０１を更新する（Ｓ５１２に相当）。さらに、判定部４３０は更新されたＭＡＳテーブル７０１を参照し、カウンタ値が閾値以上であるＭＡＳの有無を判定する（Ｓ５１５に相当）。カウンタ値が閾値以上であるＭＡＳを検出した場合には、当該ＭＡＳの情報を設定部４２５、生成部４２４に通知する。設定部４２５は、通知されたＭＡＳをマスクし（Ｓ５１６に相当）、新たなＭＭＣを用いてＴＧを設定する（Ｓ５１７に相当）。また、生成部４２４は通知されたＭＡＳを予約済みとしてＤＲＰ  ＩＥに含めたビーコンを生成し、アンテナ４２１に供給する。アンテナ４２１は、供給されたビーコンを送信する（Ｓ５１８に相当）。上述のようにしても、同様の効果を得ることができる。
【００３９】
＜実施形態２＞
実施形態１では、干渉を検出したＭＡＳをマスクした。実施形態２においてＨｏｓｔは、干渉を検出した通信相手とは当該ＭＡＳを用いた通信を行わないが、他の通信相手とは当該ＭＡＳを用いた通信を行う。
【００４０】
図１（ｂ）は、本実施形態におけるシステム構成図である。１０２〜１０５については、実施形態１と同様なので、ここでは説明を省略する。１０１は、ＮＢＤ１０２およびＮＢＤ１０６とＷＵＳＢに準拠した無線通信を行うＨｏｓｔである。１０５はＨｏｓｔ１０１とＷＵＳＢに準拠した無線通信を行うＮＢＤである。ＮＢＤ１０６は、ＮＢＤ１０４の通信エリア外のため、ＮＢＤ１０４がデータを送信しても干渉することは無い。また、Ｈｏｓｔ１０１のハードウェア構成は実施形態１と同様であり、図４に示されているので、ここでは説明を省略する。ただし、記憶部４０２は図７（ｂ）に示すＭＡＳテーブル７０２を記憶している。
【００４１】
図２（ｂ）に、Ｈｏｓｔ１０１が設定したＴＧのフレーム構成を示す。送信スロット２３２は、さらにＮＢＤ１０２への送信スロット２３２−１とＮＢＤ１０６への送信スロット２３２−２とを有する。また、受信スロット２３３は、さらにＮＢＤ１０２からの受信スロット２３３−１とＮＢＤ１０６からの受信スロット２３３−２とを有する。
【００４２】
図５に、制御部４０１が記憶部４０２に記憶されたプログラムを読み出すことで実現されるフローチャートを示す。
【００４３】
ステップＳ５０１において検索部６０１は、スーパーフレーム２０１の中から未使用のＭＡＳを検索する。ステップＳ５０２において選択部６０２は、検索された未使用のＭＡＳの中から、ＮＢＤ１０２、１０５と通信するためのＭＡＳを選択する。ここでは、選択部６０２はＭＡＳ３０１〜３０４を選択する。ステップＳ５０３において報知部６０３は、予約したＭＡＳの情報（ＤＲＰ  ＩＥ）をビーコンに含めて報知し、予約する。
【００４４】
ステップＳ５０４において設定部６０４は、予約したＭＡＳを用いたＴＧを設定する。ここでは、ＭＡＳ３０１、３０２を用いてＴＧ３１１を設定する。ステップＳ５０５において送信部６０５は、設定したＴＧ３１１の情報をＮＢＤ１０２、１０５に送信する。予約したＭＡＳの時刻になると、ステップＳ５０６において、送信部６０５はＭＭＣスロット２３１を使用してＭＭＣ信号を送信する。ステップＳ５０７において、送信部６０５は送信スロット２３２を使用して、データ（Ｄｏｕｔ１）をＮＢＤ１０２に対して、データ（Ｄｏｕｔ２）をＮＢＤ１０６に対して、それぞれ送信する。ステップＳ５０８において、受信部６０６は受信スロット２３３を使用して、ＮＢＤ１０２、１０５からのデータ（Ｄｉｎ）を待ち受ける。ステップＳ５０９において、受信部６０６は応答スロット２３４を使用して、ＮＢＤ１０２、１０５からの受信応答を待ち受ける。なお、受信部６０６はＮＢＤ１０２、１０５から受信応答を受信した場合には、当該受信応答を受信する。
【００４５】
ステップＳ５１０において判別部６０７は、受信部６０６がＮＢＤから受信応答を受信したか否かをＮＢＤ毎に判別する。受信応答を受信していた場合はステップＳ５１１に進み、受信応答を受信していなかった場合はステップＳ５１２に進む。ステップＳ５１１において判別部６０７は、受信部６０６がＮＢＤから受信した受信応答がＡｃｋであるかＮａｃｋであるかをＮＢＤ毎に判別する。
【００４６】
ステップＳ５１２において更新部６０８は、ＭＡＳテーブル７０２のうち、判別したＮＢＤについて、当該ＴＧが使用するＭＡＳに対応するカウンタ値に１を加算する。また、ステップＳ５１３において更新部６０８は、ＭＡＳテーブル７０２のうち、判別したＮＢＤについて、当該ＴＧが使用するＭＡＳに対応するカウンタ値を０に更新する。
【００４７】
ここでは、ＮＢＤ１０２では干渉が生じているので、ＮＢＤ１０２についてはＭＡＳ３０１、３０２のカウンタ値に１が加算され、カウンタ値が３になったものとする。また、ＮＢＤ１０６では干渉が生じていないので、ＮＢＤ１０６についてはＭＡＳ３０１、３０２のカウンタ値が０に更新される。
【００４８】
ステップＳ５１４において確認部６０９は、１スーパーフレームが終了したかを確認する終了している場合はステップＳ５１５に進み、終了していない場合にはステップＳ５０６に進む。ステップＳ５１５において判定部６１０は、ＭＡＳテーブル７０２の中に、カウンタ値が閾値（ここでは、３）以上のＭＡＳがあるか否かを判定する。ステップＳ５１６においてマスク部６１１は、カウンタ値が閾値以上のＭＡＳを有するＮＢＤとは、当該ＭＡＳの使用した通信を停止する。ここでは、マスク部６１１はＭＡＳ３０１、３０２を使用したＮＢＤ１０２との通信を停止する。
【００４９】
ステップＳ５１７において設定部６０４は、既に予約されているＭＡＳのうち、マスクしたＭＡＳを除くＭＡＳに変更して、ＴＧを再設定する。ここでは、設定部６０４はＭＡＳ３０３、３０４を用いて、ＮＢＤ１０２と通信するためのＴＧを設定する。また、設定部６０４はＭＡＳ３０１、３０２を用いてＮＢＤ１０６と通信するためのＴＧを再設定する。ステップＳ５１８において報知部６０３は、ＤＲＰ  ＩＥを含めたビーコンを報知する。その後、ステップＳ５０５に進む。
【００５０】
上述のように、通信相手毎に干渉を検出し、干渉を検出した通信相手に対しては当該ＭＡＳを割り当てないことで通信品質を向上させることができる。また、同じＭＡＳを用いているものの干渉を検出しなかった通信相手に対しては、当該ＭＡＳを用いて通信を継続することで、帯域を有効に活用することができる。
【００５１】
本発明は前述の機能を実現するソフトウェアのプログラムコードを記録したコンピュータで読み取り可能な記録媒体をシステムあるいは装置に供給し、システムあるいは装置が記録媒体に格納されたプログラムコードを読み出し実行するようにしてもよい。
【符号の説明】
【００５２】
１０１  Ｈｏｓｔ
１０２  ＮＢＤ
１０４  ＮＢＤ
４０１  制御部
４０２  記憶部
４０４  通信部
【図１】
2011130303.tif 000003
【図２】
2011130303.tif 000004
【図３】
2011130303.tif 000005
【図４】
2011130303.tif 000006
【図５】
2011130303.tif 000007
【図６】
2011130303.tif 000008
【図７】
2011130303.tif 000009