(57)【特許請求の範囲】
【請求項１】
制御パケットによって各ノード間の管理を行う無線通信において，特定の宛先ノードにデータを送信する通信装置であって：
送信パケットを一時的に保持するメモリバッファ部と；
前記メモリバッファ部からの送信パケットを前記宛先ノードに送信するパケット送信部と；
前記送信パケットの送信タイミング，および前記制御パケットの送受信タイミングを制御する送受信制御部と；
削除すべき送信パケットがある場合，前記制御パケットの送信または受信中に，前記削除すべき送信パケットを前記メモリバッファ部から削除するパケット削除部と；
を備えることを特徴とする，通信装置。
【請求項２】
前記パケット削除部は，
前記メモリバッファ内に保持された送信パケットと，該送信パケットの宛先ノードとを関連付けた送受信テーブルを有し，
前記削除すべき送信パケットと宛先ノードが同じ送信パケットを全て削除することを特徴とする，請求項１に記載の通信装置。
【請求項３】
前記削除すべき送信パケットは，宛先ノードが所定時間内に受信完了しない送信パケットであることを特徴とする，請求項２に記載の通信装置。
【請求項４】
前記所定時間は，前記制御パケットの送信または受信回数で定義されることを特徴とする，請求項３に記載の通信装置。
【請求項５】
前記送受信テーブルでは，送信パケットに，さらに前記制御パケットの送信または受信回数が関連付けられ，
前記パケット削除部は，前記送受信テーブルの送信パケット毎に前記制御パケットの送信または受信回数を計数し，所定回数に達したとき，前記送信パケットを削除することを特徴とする，請求項４に記載の通信装置。
【請求項６】
前記所定時間は，前記宛先ノードからの受信エラー信号の回数で定義されることを特徴とする，請求項３に記載の通信装置。
【請求項７】
前記送受信テーブルでは，送信パケットに，さらに前記受信エラー信号の回数が関連付けられ，
前記パケット削除部は，前記送受信テーブルの送信パケット毎に前記受信エラー信号の回数を計数し，所定回数に達したとき，前記送信パケットを削除することを特徴とする，請求項６に記載の通信装置。
【請求項８】
前記送信パケットにはクラスが定義され，
前記パケット削除部は，前記クラスに応じて，前記削除すべき送信パケットと宛先ノードが同じ送信パケット全てを削除するかどうか決定することを特徴とする，請求項２に記載の通信装置。
【請求項９】
送信パケットを管理するネットワーク管理部をさらに備え，
前記パケット削除部は，送信パケットを削除したことを前記ネットワーク管理部に伝達し，
前記ネットワーク管理部は，前記メモリバッファ部とは別に管理している，前記削除すべき送信パケットと同じ宛先ノードの送信パケットを全て削除し，前記パケット削除部に再度送信パケットの削除を依頼することを特徴とする，請求項２に記載の通信装置。
【請求項１０】
前記パケット削除部は，前記ネットワーク制御部からの削除命令を受信後，前記制御パケットの送信または受信回数に拘わらず，次の制御パケットの送信または受信中に，前記送信パケットを強制的に削除することを特徴とする，請求項９に記載の通信装置。
【請求項１１】
前記制御パケットはビーコン信号であることを特徴とする，請求項１に記載の通信装置。
【請求項１２】
前記メモリバッファ部は，送受信パケット兼用であることを特徴とする，請求項１に記載の通信装置。
【請求項１３】
制御パケットによって各ノード間の管理を行う無線通信において，特定の宛先ノードにデータを送信する通信装置であって：
送信パケットを一時的に保持するメモリバッファ部と；
前記メモリバッファ部からの送信パケットにシーケンス番号を順次付与して前記宛先ノードに送信するパケット送信部と；
前記送信パケットの送信タイミング，および前記制御パケットの送受信タイミングを制御する送受信制御部と；
前記宛先ノードから受信パケットを受信し，前記シーケンス番号が同期しているかどうかを判断するパケット受信部と；
前記シーケンス番号が同期していないとき，前記制御パケットの送信または受信中に，前記宛先ノードに関する送信パケットを前記メモリバッファ部から削除するパケット削除部と；
を備えることを特徴とする，通信装置。
【請求項１４】
制御パケットによって各ノード間の管理を行う無線通信において，特定の宛先ノードに送信するデータを削除するデータ削除方法であって：
送信パケットを一時的に保持するメモリバッファ工程と；
前記保持された送信パケットを前記宛先に送信するパケット送信工程と；
前記送信パケットの送信タイミング，および前記制御パケットの送受信タイミングを制御する送受信制御工程と；
削除すべき送信パケットがある場合，前記制御パケットの送信または受信中に，前記削除すべき送信パケットを前記メモリバッファ部から削除するパケット削除工程と；
を含むことを特徴とする，データ削除方法。
【請求項１５】
制御パケットによって各ノード間の管理を行う無線通信において，特定の宛先ノードに送信するデータを削除するデータ削除方法であって：
送信パケットを一時的に保持するメモリバッファ工程と；
前記保持された送信パケットにシーケンス番号を順次付与して前記宛先ノードに送信するパケット送信工程と；
前記送信パケットの送信タイミング，および前記制御パケットの送受信タイミングを制御する送受信制御工程と；
前記宛先ノードから受信パケットを受信し，前記シーケンス番号が同期しているかどうかを判断するパケット受信工程と；
前記シーケンス番号が同期していないとき，前記制御パケットの送信または受信中に，前記宛先ノードに関する送信パケットを前記メモリバッファ部から削除するパケット削除工程と；
を含むことを特徴とする，データ削除方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，通信装置およびデータ削除方法にかかり，例えば，複数のノード間で無線通信が可能な通信装置およびデータ削除方法に関する。
【背景技術】
【０００２】
無線ネットワークに関する標準的な規格の一例として米国電子技術者協会ＩＥＥＥ（Ｔｈｅ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）８０２．１１，ＨｉｐｅｒＬＡＮ／２，ＩＥＥＥ８０２．１５．３，Ｂｌｕｅｔｏｏｔｈなどが挙げられる。上記ＩＥＥＥ８０２．１１規格には，無線通信方式や使用する周波数帯域の違いなどにより，ＩＥＥＥ８０２．１１ａ規格，ＩＥＥＥ８０２．１１ｂ規格などの各種無線通信プロトコルが存在する。
【０００３】
従来から知られているこのような無線通信プロトコルでは，任意のノード（ｎｏｄｅ：通信端末）同士で通信を行う場合，コーディネータ（Ｃｏｏｒｄｉｎａｔｏｒ）を介す必要があった。例えば，ＩＥＥＥ８０２．１５．３においては，各ノードに割り当てられる時間がコーディネータによって厳密に管理され，このコーディネータに指定されたタイミングでのみデータの送受信を行うことが可能となる。
【０００４】
このような無線通信の応用としてアクセスポイント（ＡＰ：Ａｃｃｅｓｓ  Ｐｏｉｎｔ）を介さずに各ノード同士で直接通信可能なアドホック（Ａｄ−ｈｏｃ）通信も考案されている。かかるアドホック通信では，各ノード同士が直接，非同期に無線通信を行うことができ，通信可能な領域にある複数のノードでグループを形成することも可能である。
【０００５】
上記アドホック通信では，上述したようにアクセスポイントを介さずに各ノード間でデータが交換される。データ通信において使用されるメモリバッファは，通信端末が持つメイン・メモリとは別（または同一メモリでも別領域）であることが殆どであり，送信パケットは，このように分離された通信用メモリバッファに一時的に蓄積され，順次，上記メモリバッファからの送信パケットの送信処理が行なわれる。しかし，特定のノードに対するデータや，データ中の特定のパケット（ｐａｃｋｅｔ）に伝送エラーが生じた場合，そのデータの再送処理が繰り返し行われ，上記メモリバッファ内にパケットが滞ってしまう。また，リアルタイム性が要求されるデータに関しては，データの送信遅延による障害も生じることになる。
【０００６】
かかる問題を回避するため，データの再送処理の時間を計数し，再送処理時間を超えたパケットを放棄して，当該パケットの再送を中止する技術が知られている（特許文献１）。かかる技術によると，繰り返し伝送エラーが生じるパケットの再送処理を打ち切って，早期に次のパケットの送信処理に移行するため，いつまでも再送処理を繰り返すことによる遅延を回避でき，リアルタイム性を確保することが可能となる。
【０００７】
【特許文献１】特開平１１−３３１２６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし，メモリバッファ中のパケットを単純に削除する場合，そのメモリバッファへのアクセス状態が不明なため，アクセスの衝突が起こりうる。例えば，パケットの送信処理または受信処理を行うためにメモリバッファにアクセスする場合，割り込んでパケットの削除処理を行うと，それ以前のアクセスを待機させなければならない等，処理が煩雑になる。
【０００９】
また，無線通信の場合，電波伝搬環境が時々刻々と変化するため，有線のようにパケットのエラー率を予め想定することが困難である。この状況下において，無線通信システムは，年々，高速化しているため，メモリバッファ管理の効率化を図らないと，大容量のメモリが必要となる。
【００１０】
このとき，メモリバッファを大容量にし，一時的に通信できない宛先ノードに対する再送を繰り返しできるようにしたとしても，上記高速伝送下においては，メモリバッファへ書き込まれるパケットがバッファメモリを占有してしまい，複数の宛先に対してアドホック通信を行なうシステムにおいてメモリの利用効率が悪化することとなる。この利用効率の悪化により，通信回線が良好な宛先ノードが利用できるバッファメモリのサイズを小さくしてしまい，その宛先ノードへの通信にまで影響を与えてしまう可能性がある。
【００１１】
また，無線通信におけるＭＡＣ制御については，ＴＤＭＡ（Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）方式が主流であったが，近日では無線ＬＡＮに代表されるように，ＣＳＭＡ／ＣＡ（Ｃｏｌｌｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ  ｗｉｔｈ  Ｃｏｌｌｉｓｉｏｎ  Ａｖｏｉｄａｎｃｅ）方式が主流になりつつある。ＣＳＭＡ／ＣＡ方式は，他のノードがパケットの送受信を認識して，パケットの送受信が行われるため，自律分散ネットワークでは非常に有効な方法である。
【００１２】
このように，Ｅｔｈｅｒｎｅｔ（登録商標）で代表されるＣＳＭＡ（Ｃｏｌｌｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）のような送受信制御方式が無線通信においても主流になりつつあり，同方式は，送受信タイミングを予めスケジューリングしないという点で，アドホック通信に適した方式と言える。しかし，同方式は，送受信タイミングがいつ開始されるかわからないという点もあり，メモリバッファ管理には向いていない。
【００１３】
本発明は，従来の無線通信システムが有する上記問題点に鑑みてなされたものであり，本発明の目的は，メモリバッファへのアクセスの衝突を避け，適切なタイミングで不要なパケットを削除可能な，新規かつ改良された通信装置およびデータ削除方法を提供することである。
【課題を解決するための手段】
【００１４】
上記課題を解決するために，本発明のある観点によれば，制御パケットによって各ノード間の管理を行う無線通信において，特定の宛先ノードにデータを送信する通信装置であって：送信パケットを一時的に保持するメモリバッファ部と；上記メモリバッファ部からの送信パケットを上記宛先ノードに送信するパケット送信部と；上記送信パケットの送信タイミング，および上記制御パケットの送受信タイミングを制御する送受信制御部と；削除すべき送信パケットがある場合，上記制御パケットの送信または受信中に，上記削除すべき送信パケットを上記メモリバッファ部から削除するパケット削除部と；を備えることを特徴とする，通信装置が提供される。上記無線通信は，各ノード同士がアクセスポイントを介さずに直接通信を行うアドホック通信であっても良く，アクセスポイントがノード間のネットワーク制御を行う通信であっても良い。
【００１５】
上記制御パケットは，ビーコン信号であっても良いし，ＲＴＳ（Ｒｅｑｕｅｓｔ  Ｔｏ  Ｓｅｎｄ）制御信号，ＣＴＳ（Ｃｌｅａｒ  Ｔｏ  Ｓｅｎｄ）制御信号，ＡＣＫ（送信完了）制御信号，ＮＡＣＫ（送信失敗）制御信号，データの通信帯域を予約するパケットであっても良い。また，上記送受信制御部は，ＣＳＭＡまたはＰＳＭＡにより制御されるとしても良い。
【００１６】
上記制御パケットの送信または受信は，パケット送信部，受信パケットを他のノードから受信するパケット受信部，および送受信制御部によって行われ，メモリバッファ部とは処理が切り離される。従って，制御パケットの送信または受信中は，メモリバッファ部へのアクセスは行われない。本発明は，メモリバッファがフリーになる上記タイミングで削除を要する送信パケットを削除するのでメモリバッファ部へのアクセス衝突を回避できる。
【００１７】
上記パケット削除部は，上記メモリバッファ内に保持された送信パケットと，該送信パケットの宛先ノードとを関連付けた送受信テーブルを有し，上記削除すべき送信パケットと宛先ノードが同じ送信パケットを全て削除するとしても良い。
【００１８】
伝送エラー等によって削除することが必要となった送信パケットと同一の宛先ノードに送信予定の送信パケットは，再度，伝送エラー等が生じる可能性が高い。これは，宛先ノードとの距離の変化等，通信状況の変化によって伝送エラーが生じた場合，当面，同様の伝送エラーを繰り返すことが予測されるからである。従って，パケット削除部は，このような送信パケットのみならず，その送信パケットと宛先ノードが同じ送信パケット群も削除することにより，より迅速にメモリバッファ部の空き容量を確保することができる。
【００１９】
上記削除すべき送信パケットは，宛先ノードが所定時間内に受信完了しない（タイムアウトした）送信パケットであるとしても良い。
【００２０】
上記パケット送信部は，宛先ノードから送信パケットの受信完了（ＡＣＫ）の返答があるまで，送信パケットの送信を繰り返す。しかし，宛先ノードとの距離の変化等，通信状況の変化によって通信が不可能になった場合においても，再送信を試みるのは非効率である。従って，所定時間内に受信完了（ＡＣＫ）の返答がない宛先ノードの送信パケットの再送を中止することができる。
【００２１】
上記所定時間は，上記制御パケットの送信または受信回数で定義されるとしても良い。
【００２２】
上記制御パケットは定期的，例えば１００ｍｓｅｃに一回，近隣のノードに対して発せられ，また，他のノードから受信される。従って，上記制御パケットは，送信パケットの削除タイミングとしてのみではなく，タイムアウトのトリガとしても利用される。
【００２３】
上記送受信テーブルでは，送信パケットに，さらに上記制御パケットの送信または受信回数が関連付けられ，上記パケット削除部は，上記送受信テーブルの送信パケット毎に上記制御パケットの送信または受信回数を計数し，所定回数に達したとき，上記送信パケットを削除するとしても良い。
【００２４】
パケット削除部は，送受信テーブルの各送信パケットに関連付けられた，制御パケットの送信または受信回数を，カウントアップもしくはカウントダウンにより計数し，所定回数に達した送信パケット，およびその送信パケットと宛先ノードが同一の送信パケットを全て削除する。かかる構成により，メモリバッファ部内の送信パケット全てを統括的に管理することができる。
【００２５】
上記所定時間は，上記宛先ノードからの受信エラー信号の回数で定義されるとしても良い。
【００２６】
上記パケット削除部は，宛先ノードの受信エラー信号（ＮＡＣＫ）に基づいてタイムアウトを換算する。かかる構成により，各ノードに対して，送信パケットの再送の回数を均一に与えることが可能となる。
【００２７】
上記送受信テーブルでは，送信パケットに，さらに上記受信エラー信号の回数が関連付けられ，上記パケット削除部は，上記送受信テーブルの送信パケット毎に上記受信エラー信号の回数を計数し，所定回数に達したとき，上記送信パケットを削除するとしても良い。
【００２８】
パケット削除部は，送受信テーブルの各送信パケットに関連付けられた，宛先ノードの受信エラー信号の回数を，カウントアップもしくはカウントダウンにより計数し，所定回数に達した送信パケットおよびその送信パケットと宛先ノードが同一の送信パケットを全て削除する。かかる構成により，メモリバッファ部内の送信パケット全てを統括的に管理することができる。
【００２９】
上記送信パケットにはクラス（ｃｌａｓｓ）が定義され，上記パケット削除部は，上記クラスに応じて，上記削除すべき送信パケットと宛先ノードが同じ送信パケット全てを削除するかどうか決定するとしても良い。
【００３０】
例えば，送信パケットがリアルタイム性を要するデータの一部であった場合，リアルタイム性を犠牲にしてまで送信パケットを送信する必要はない。また，逆にリアルタイム性を犠牲にしても確実に宛先ノードに到達する必要がある送信パケットも存在する。かかる送信パケットの属性をクラスとして定義し，その定義に応じて，送信パケットの削除の範囲を判断する。
【００３１】
送信パケットを管理するネットワーク管理部をさらに備え，上記パケット削除部は，送信パケットを削除したことを上記ネットワーク管理部に伝達し，上記ネットワーク管理部は，上記メモリバッファ部とは別に管理している上記削除すべき送信パケットと同じ宛先ノードの送信パケットを全て削除し，上記パケット削除部に再度送信パケットの削除を依頼するとしても良い。
【００３２】
タイムアウトにより送信の必要が無くなった送信パケットと同一の宛先ノードに送信される送信パケットは，上位層，例えば，アプリケーション層においても削除されるべきである。従って，パケット削除部は，ネットワーク管理部にも送信パケットの削除を促す。しかし，かかる削除コマンドの伝送遅延により，ネットワーク管理部が送信パケットを削除する直前に，メモリバッファに送信パケットを送信してしまうこともあり得る。かかる再度の削除命令により，伝送エラーを生じる可能性が高い送信パケットを完全に削除することができる。
【００３３】
上記パケット削除部は，上記ネットワーク制御部からの削除命令を受信後，上記制御パケットの送信または受信回数に拘わらず，次の制御パケットの送信または受信中に，上記送信パケットを強制的に削除するとしても良い。かかる削除は，送信または受信回数を上記所定回数の直前値に設定して行うとしても良い。
【００３４】
上記通信装置内で，送信データのリセット等，送信パケットを強制的に削除する必要が出た場合，パケット削除部は，送受信テーブルのカウント値を強制的に変更する。かかる構成により，次回の制御パケットの送信時に当該送信パケットが確実に削除され，かつ，メモリバッファ部へのアクセスの衝突も回避できる。
【００３５】
上記メモリバッファ部は，送受信パケット兼用であるとしても良い。メモリバッファ部をシングルバッファで形成することにより，送信パケットや受信パケットの容量が互いに対して偏った場合でも，記憶容量の有効活用が可能となる。
【００３６】
また，上記課題を解決するために，本発明の他の観点によれば，制御パケットによって各ノード間の管理を行う無線通信において，特定の宛先ノードにデータを送信する通信装置であって：送信パケットを一時的に保持するメモリバッファ部と；上記メモリバッファ部からの送信パケットにシーケンス番号を順次付与して上記宛先ノードに送信するパケット送信部と；上記送信パケットの送信タイミング，および上記制御パケットの送受信タイミングを制御する送受信制御部と；上記宛先ノードから受信パケットを受信し，上記シーケンス番号が同期しているかどうかを判断するパケット受信部と；上記シーケンス番号が同期していないとき，上記制御パケットの送信または受信中に，上記宛先ノードに関する送信パケットを上記メモリバッファ部から削除するパケット削除部と；を備えることを特徴とする，通信装置が提供される。
【００３７】
上記パケット送信部がシーケンス番号を付与し，パケット受信部がそのシーケンス番号を確認することで，送信パケットが同期されているかどうか確認できる。上記同期がずれた場合，通信装置は，送信データのリセットを行い，送信パケットを強制削除する。
【００３８】
また，上記課題を解決するために，本発明の他の観点によれば，上述した通信装置として，特定の宛先ノードに送信するデータを削除するデータ削除方法も提供される。
【００３９】
かかる構成により，送信パケットの削除タイミングにおいて，メモリバッファ部へのアクセスを衝突させることなく，適切なタイミングで不要なパケットを削除することが可能となる。
【発明の効果】
【００４０】
以上説明したように本発明の通信装置およびデータ削除方法によれば，メモリバッファへのアクセスの衝突を避け，適切なタイミングで不要なパケットを削除することができ，記憶領域を有効に利用することが可能となる。
【発明を実施するための最良の形態】
【００４１】
以下に添付図面を参照しながら，本発明の好適な実施の形態について詳細に説明する。なお，本明細書及び図面において，実質的に同一の機能構成を有する構成要素については，同一の符号を付することにより重複説明を省略する。
【００４２】
（第１の実施形態：無線通信ネットワーク）
近年，インターネット等の通信網に接続された通信装置と，モバイルパーソナルコンピュータ等の通信装置との間を，無線通信によって接続する無線通信ネットワークが一般化されつつある。無線ネットワークに関する標準的な規格の一例として米国電子技術者協会ＩＥＥＥ８０２．１１，ＨｉｐｅｒＬＡＮ／２，ＩＥＥＥ８０２．１５．３，Ｂｌｕｅｔｏｏｔｈなどが挙げられる。上記ＩＥＥＥ８０２．１１規格には，無線通信方式や使用する周波数帯域の違いなどにより，ＩＥＥＥ８０２．１１ａ規格，ＩＥＥＥ８０２．１１ｂ規格などの各種無線通信プロトコルが存在する。
【００４３】
このような無線通信ネットワークの構成を，上記ＩＥＥＥ８０２．１１を例に挙げて詳しく説明する。ＩＥＥＥ８０２．１１によるネットワーキングでは，ＢＳＳ（Ｂａｓｉｃ  Ｓｅｒｖｉｃｅ  Ｓｅｔ）の概念が用いられる。ここでは，アクセスポイントと呼ばれるマスタ制御局が存在するインフラモードで定義されるＢＳＳと，複数のＭＴ（Ｍｏｂｉｌｅ  Ｔｅｒｍｉｎａｌ）のみにより構成されるアドホック（Ａｄ−ｈｏｃ）モードで定義されるＩＢＳＳ（Ｉｎｄｅｐｅｎｄｅｎｔ  ＢＳＳ）とが定義される。上記アクセスポイントは，例えばコーディネータであり，ＭＴは，例えばノード（通信端末）である。
【００４４】
上記インフラモードのＢＳＳにおいては，無線通信ネットワーク内にコーディネーション（Ｃｏｏｒｄｉｎａｔｉｏｎ）を行うアクセスポイントが必須となる。このアクセスポイントは，アクセスポイント周辺の通信可能な範囲に存在するＭＴをＢＳＳとしてまとめ，所謂セルラーシステムにおけるセルを構成する。
【００４５】
上記アクセスポイントの近隣に存在するＭＴは，該アクセスポイントに収容され，このアクセスポイントによるＢＳＳの１メンバとして無線通信ネットワークに参入する。上記アクセスポイントは，適当な時間間隔でビーコン（Ｂｅａｃｏｎ）信号と呼ばれるネットワーク管理情報を含んだ制御信号を送信する。このビーコン信号を受信することが可能なＭＴは，アクセスポイントが近隣に存在することを認識し，さらに該アクセスポイントとの間でコネクションの確立を行う。
【００４６】
図１は，インフラモードで定義されるＢＳＳを説明するための説明図であり，図２は，上記ＢＳＳにおけるビーコン信号のタイミングを示したタイミングチャートである。図１においては，通信局ＳＴＡ０がアクセスポイントとして定義され，該ＳＴＡ０から通信可能な範囲１００内にあるＳＴＡ１およびＳＴＡ２がＭＴとして定義される。上記ＳＴＡ０は，図２に示すように一定の時間間隔でビーコン信号を送信する。次回のビーコン信号の送信時刻は，ビーコン信号内のターゲットビーコン送信時刻（ＴＢＴＴ：Ｔａｒｇｅｔ  Ｂｅａｃｏｎ  Ｔｒａｎｓｍｉｔ  Ｔｉｍｅ）というパラメータによって通知されており，時刻がＴＢＴＴになるとアクセスポイントはビーコン信号の送信手順を遂行する。
【００４７】
また，周辺に存在するＭＴ（図１におけるＳＴＡ１，ＳＴＡ２）は，上記アクセスポイントから送信されるビーコン信号を受信し，ビーコン信号内部に記されたＴＢＴＴフィールドをデコードすることによって次回のビーコン送信時刻を認識する。従って，受信の必要が無い場合などの通信状況によっては，次回あるいは複数回先のＴＢＴＴまで受信機の電源をＯＦＦし，スリープ状態に入ることも可能である。このようにコーディネータの存在するネットワークにおいては，コーディネータのみがビーコンを送信しているため，当該無線通信ネットワーク内のＭＴは，アクセスポイントからのＴＢＴＴが一時的に遅れることも許容する。
【００４８】
続いて，もう一方のアドホックモード時におけるＩＥＥＥ８０２．１１の動作を説明する。かかるアドホック通信では，各通信装置（ノード）同士が直接，ＣＳＭＡのプロトコルの管理下で非同期に無線通信を行うことができる。他にも，ＩＥＥＥ８０２．１５．３におけるＵＷＢ（Ｕｌｔｒａ  Ｗｉｄｅ  Ｂａｎｄ）通信では，アクセスポイントを介してネットワークの管理が行われ，プリアンブルを用いたパケット構造のデータ通信方式により上記のアドホック通信（またはメッシュ通信）を実現している。
【００４９】
図３は，アドホックモードで定義されるＩＢＳＳを説明するための説明図であり，図４は，上記ＩＢＳＳにおけるビーコン信号のタイミングを示したタイミングチャートである。上記アドホックモードのＩＢＳＳにおいて，ＳＴＡ１やＳＴＡ２で表されるＭＴは，自己の通信範囲１０２内にある複数のＭＴに対してネゴシエーションを行い，各ＭＴで自律的にＩＢＳＳを定義する。このＭＴ群は，ＩＢＳＳが定義されネゴシエーションが成された後に，図３に記した一定間隔毎のＴＢＴＴを定める。各ＭＴは，自局内のクロックを参照して時刻がＴＢＴＴになったことを認識すると，ランダム時間遅延（Ｒａｎｄｏｍ  Ｂａｃｋｏｆｆ）させた後，ＩＢＳＳ内の他のＭＴがビーコン信号を送信していないことを確認し，他のＭＴに対してビーコン信号を送信する。
【００５０】
上記の例では，ＩＢＳＳに属するいずれかのＭＴが，ＴＢＴＴが訪れる毎にビーコン信号を送信する。従って，ビーコン信号同士が衝突する可能性もある。
【００５１】
また，図１のＳＴＡ０，ＳＴＡ１，ＳＴＡ２を全てＭＴとして定義した場合，例えば，ＳＴＡ１がＳＴＡ０にデータを送信しようと試みた場合，ＳＴＡ０の近隣にはＳＴＡ２が存在し，そのＳＴＡ２が，一方の通信装置（ＳＴＡ０）とは通信可能であるが他方の通信装置（ＳＴＡ１）とは通信ができない所謂隠れ端末となる。このような隠れ端末によってデータ通信が妨げられるのを回避するため，通信装置（ＳＴＡ１）および通信装置（ＳＴＡ０）は，ＲＴＳ／ＣＴＳ制御信号を利用して送信端末と受信端末とを特定する。
【００５２】
図５は，上記ＲＴＳ／ＣＴＳ制御信号による制御を説明するためのタイミングチャートである。ここで，ＳＴＡ０，ＳＴＡ１，ＳＴＡ２は，図１に示した位置関係に配されているとする。このとき，ＳＴＡ１とＳＴＡ２がＳＴＡ０にデータ・フレームを送信する場合，お互いの電波をキャリアセンスすることができない。従って，一方が送信するデータ・フレームが衝突する可能性が生じる。このようなデータ・フレームの衝突を回避するため，従来における無線ネットワーキングのＭＡＣ層では，上述したように，ＲＴＳ制御信号，ＣＴＳ制御信号を介したアクセス方式が提供されている。
【００５３】
例えば，図５を参照すると，ＳＴＡ１からＳＴＡ０にデータを送信しようとした場合，先ず，ＳＴＡ１はＲＴＳ制御信号１１０を送信する。かかるＲＴＳ制御信号１１０は，ＳＴＡ０で受信されるが，ＳＴＡ２には届かない。しかし，ＳＴＡ０がＲＴＳ制御信号１１０に対応したＣＴＳ制御信号１１２をＳＴＡ１に対して返信した場合，ＳＴＡ２は，ＣＴＳ制御信号１１２を受信することができ，ＳＴＡ０が他局（ここでは，ＳＴＡ１）と通信を開始していることを認識する。ＳＴＡ２は，ＳＴＡ０の通信を認識すると，ＳＴＡ０との通信の衝突を回避するため，自己からのデータの送信を一定時間禁止（ＮＡＶ：Ｎｅｔｗｏｒｋ  Ａｌｌｏｃａｔｉｏｎ  Ｖｅｃｔｏｒ：非送信区間）１１４する。このように通信経路が確保されたＳＴＡ１は，ＳＴＡ０に対してＤａｔａ１１６を送信し，ＳＴＡ０は，それに応じてＡＣＫ制御信号１１８を返信する。また，ＳＴＡ２がＳＴＡ０への送信を試みた場合，上記と同様にＳＴＡ１の送信も一定時間禁止１２０される。このようにして上記の隠れ端末問題を解消している。
【００５４】
また，上記隠れ端末問題以外にも，各ノード間の環境の変化等によって，データの伝送エラーが生じる問題もある。以下に，伝送エラー時の対応に関して詳述する。
【００５５】
図６は，ＴＤＭＡ方式における各ノードの送受信タイミングを示したタイミングチャートである。従来，無線のＭＡＣ（Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）の制御方式としては，ＴＤＭＡ方式が主流であった。かかるＴＤＭＡ方式では，フレーム１５０毎に，基地局との通信を行うノード（ＳＴＡ１，ＳＴＡ２）が割り当てられ，割り当てられた時間内においてのみ，各ノード（ＳＴＡ１，ＳＴＡ２）と基地局とのデータの送受信が行われる。
【００５６】
また，ＴＤＭＡ方式では，基地局に対するデータの送信（Ｕｐｌｉｎｋ）や受信（Ｄｏｗｎｌｉｎｋ）が，ＴＤＭＡスロッドと呼ばれる相違する時間分割で管理されていることが多く，そのため，データの送信と受信とが別々にスケジューリングされる。従って，データの受信中に，容易に送信パケットを削除することが可能であった。
【００５７】
ここで，送信パケットを削除するのは，特定のノードに対するデータや，データ中の特定のパケットに伝送エラーが生じた場合，そのデータの再送処理が繰り返し行われ，メモリバッファ内にパケットが滞ってしまうことを回避するためである。
【００５８】
例えば，図６のノード（ＳＴＡ１）が，基地局に送信するデータを保持しており，何らかの理由で伝送エラーが起きている場合，上記ノード（ＳＴＡ１）は，データの再送処理の時間を計数し，再送処理時間を超えた送信パケットを放棄して，当該パケットの再送を中止する。このようなタイムアウトによって，繰り返し伝送エラーが生じるパケットの再送処理を打ち切り，早期に次のパケットの送信処理に移行できるので，いつまでも再送処理を繰り返すことによる遅延を回避でき，リアルタイム性を確保することが可能となる。
【００５９】
一方，ＣＳＭＡ方式では，送受信のスケジューリングが困難である。従って，上述したように，ビーコン信号やポーリング（ｐｏｌｌｉｎｇ）パケットによって，各ノードの通信タイミングを同期化し，通信を安定化する。
【００６０】
図７は，ＣＳＭＡ方式における各ノードの送受信タイミングを示したタイミングチャートである。図７に示したように，ＣＳＭＡ方式では，ビーコン信号により各ノード間を同期させ，その同期の枠１５２内で，データの転送シーケンスが実施される。
【００６１】
上述したＴＤＭＡ方式と違い，ＣＳＭＡ方式においては，データの送受信タイミングがビーコン信号のタイミングや，ＲＴＳ／ＣＴＳ制御信号に依存し，パケットの送受信における自己のメモリバッファへのアクセスタイミングを把握するのは困難である。従って，伝送エラーが検知され，メモリバッファに蓄積された送信パケットの削除を要する状況においても，自己のメモリバッファへのアクセス状態が不明なため容易に送信パケットを削除することができなかった。
【００６２】
Ｅｔｈｅｒｎｅｔ（登録商標）のような有線による高速通信では，伝送エラーが比較的少ないため，送信パケットの再送信制御を上位層，例えばＴＣＰ層で行うことができた。しかし，上記ＣＳＭＡ方式のような無線環境下においては，通信環境が有線と比較して不安定なので，伝送エラーが生じる可能性が高い。上記ＣＳＭＡ方式においても，高速通信を実現しようとすると，伝送効率の面から，パケットの再送制御や削除制御を上位層ではなく，例えばＭＡＣ層で行う必要性が生じる。かかる問題を克服することにより，現行の１００Ｍｂｐｓ程度の通信のみではなく，今後主流になることが予想される３００Ｍｂｐｓ〜１Ｇｂｐｓの転送速度を有するＵＷＢやＩＥＥＥ８０２．１１ｎのような高速通信にも対応可能となる。
【００６３】
本発明による実施形態においては，上記ビーコン信号を含む制御パケットの送信または受信時に送信パケットの削除を行うことにより，このようなメモリバッファへのアクセスの衝突を避け，適切なタイミングで不要なパケットを削除することが可能である。
【００６４】
（第２の実施形態：通信装置）
【００６５】
図８は，通信装置２００の概略的な構成を示したブロック図である。上記通信装置２００は，ネットワーク管理部２１０と，メモリバッファ部２１２と，送信データ生成部２１４と，送受信制御部２１６と，物理層Ｔｘ部２１８と，アンテナ２２０と，物理層Ｒｘ部２２２と，物理層制御部２２４と，受信データ制御部２２６と，パケット削除部２２８とを含んで構成される。
【００６６】
上記ネットワーク管理部２１０は，上位層（上位レイヤ）であり，例えば，アプリケーション層で生成された送信データを送信パケットに分割し，生成された送信パケットをメモリバッファ部２１２に転送する。また，ネットワーク管理部２１０は，メモリバッファ部２１２から受信パケットを受信する。さらに，ネットワーク管理部２１０は，アプリケーション層からのスループット要求を受けて，通信経路の確保やＱｏＳ（Ｑｕａｌｉｔｙ  Ｏｆ  Ｓｅｒｖｉｃｅ）による無線回線制御も実施している。また，ネットワーク管理部２１０は，宛先ノードのアプリケーションとの間でＰ２Ｐ制御を行うとしても良い。
【００６７】
上記ＱｏＳによるスループットの管理においては，単位時間当たりどの程度の送信パケットが送信されているかも判断され，もはや通信が行われていないと判断されるノードに対して，データの送信を強制的に打ち切ることもできる。
【００６８】
上記メモリバッファ部２１２は，データを一時的に保持することが可能な記憶媒体，例えば，ＳＲＡＭ，ＤＲＡＭ，ＳＤＲＡＭ，ＤＤＲ，ＳＤＲＡＭ，ランバスＤＲＡＭ，ＥＥＰＲＯＭ，ＦＬＡＳＨ等で形成される。そして，ネットワーク管理部２１０からの送信パケットをルーティング情報に応じて一時的に保持する。また，メモリバッファ部２１２は，受信データ制御部２２６からの受信パケットもネットワーク管理部２１０が取り込む準備ができるまで一時的に保持する。
【００６９】
かかる記憶媒体としてＤＰＲＡＭ（Ｄｕａｌ  ｐｏｒｔ  ＲＡＭ）を使用し，送受信の経路を分ける（送受信のメモリを独立して備える）ことも可能であるが，ここでは，コスト等を踏まえた実現性から送受信のパケットを共有のアドレス空間に配置するシングルバッファを利用する。従って，シングルバッファの記憶媒体に受信パケットを書き込むときには送信パケットを書き込むことができず，また，送信パケットを書き込むときには受信パケットの入力ができない。バッファの記憶容量は特に限定しない。上記メモリバッファ部２１２をシングルバッファで形成することにより，送信パケットや受信パケットの容量に偏りが生じた場合でも，記憶容量の有効活用が可能となる。例えば，送信パケットが記憶容量の３０％しか利用していないときは受信パケットは最大７０％の記憶容量を利用できる。
【００７０】
上記送信データ生成部２１４は，送受信制御部２１６から送信レート等の情報を得て，送信パケットを生成する。かかる送信データ生成部２１４や後述する受信データ制御部２２６の無線方式は上述した方式に限られず，例えば，赤外線，ＯＦＤＭ，ＤＳ−ＳＳ，ＦＨ−ＳＳ，モノパルス等であっても良い。また，送信データ生成部２１４，物理層Ｔｘ部２１８，物理層制御部２２４により上述したパケット送信部（図示せず）が形成される。送信データ生成部２１４は，送信パケットを同期させるためのシーケンス番号を順次付与するとしても良い。かかるシーケンス番号は，通信装置２００と他のノードとの間でパケットの重複受信を管理するために共通に設けられた数値であり，このシーケンス番号を送信パケットの送信順に利用しても良い。
【００７１】
上記送受信制御部２１６は，ＴＤＭＡ，ＣＳＭＡのＭＡＣプロトコルを制御し，送信データ生成部２１４に送信レート等の情報を提供する。また，送信データ生成部２１４からの送信パケットの送信タイミング，およびアドホック通信内の通信時間（タイミング）を制御する制御パケットの送受信タイミングを制御し，その制御タイミングをメモリバッファ部２１２に伝達する。また，かかる制御方式は，ＣＳＭＡに類似し，ＣａｒｒｉｅｒではなくＰｒｅａｍｂｌｅの相関によってパケットを識別するＰＳＭＡと呼ばれるメディアアクセス制御を含むとしても良い。
【００７２】
上記制御パケットは，ビーコンであっても良いし，ＲＴＳ制御信号，ＣＴＳ制御信号，ＡＣＫ（送信完了）制御信号，ＮＡＣＫ（送信失敗）制御信号，データの通信帯域を予約するパケットであっても良い。
【００７３】
上記物理層Ｔｘ部２１８は，物理層制御部２２４からの指令を受けて，動作を開始し，送信データ生成部２１４からのデータを，アンテナ２２０を介してエアー（ａｉｒ）に出力する。
【００７４】
上記物理層Ｒｘ部２２２は，物理層制御部２２４からの指令を受けて，動作を開始し，物理層Ｔｘ部２１８が出力した送信データに対する宛先ノードからの返信データ（パケット）を受信する。その後，受信データ制御部２２６に転送する。かかる物理層Ｒｘ部２２２，物理層制御部２２４，受信データ制御部２２６により上述したパケット受信部（図示せず）が形成される。
【００７５】
上記物理層制御部２２４は，送受信制御部２１６または送信データ生成部２１４からのデータ送信コマンドを受けて，物理層におけるデータの送信を制御し，また，他のノードから受信したデータを受信データ制御部２２６へ転送する。さらに，送信に関しては物理層Ｔｘ部２１８を，受信に関しては物理層Ｒｘ部２２２をタイミング制御する。
【００７６】
上記受信データ制御部２２６は，受信データ（パケット）を分析し，受信したデータの種類や被測距装置を特定する情報を認識する。また，送信データ生成部２１４がシーケンス番号を各送信パケットに付与している場合，受信データ制御部２２６は，かかるシーケンス番号が同期しているかどうかを判断するとしても良い。ここで，シーケンス番号が同期していないとき，後述するパケット削除部２２８に送信パケットの強制削除を要請することができる。
【００７７】
上記パケット削除部２２８は，削除すべき送信パケットがある場合，上述した制御パケットの送信または受信中に，その制御パケットの送信または受信を検知して，削除すべき送信パケットをメモリバッファ部２１２から削除する。ここで，通信装置２００は，制御パケットに関して，送信のみを行うことが可能としても良いし，受信のみを行うことが可能としても良い。また，そのような送信または受信のみを行うモードが設けられるとしても良い。かかる構成により消費電力を低減することが可能となる。また，かかる削除処理は，パケット削除部２２８が直接行うとしても良く，パケット削除部２２８の命令によりメモリバッファ部２１２で行われるとしても良い。
【００７８】
上記制御パケットの送信または受信は，送信データ生成部２１４や，受信データ制御部２２６と，送受信制御部２１６とによって行われ，メモリバッファ部２１２とは一定期間（例えば，ビーコンの場合２０μｓｅｃ）処理が切り離される。従って，制御パケットの送信または受信中は，メモリバッファ部２１２へのアクセスは行われない。本実施形態では，上記のタイミングで削除すべき送信パケットを削除するのでメモリバッファ部２１２へのアクセス衝突を回避できる。ここで，制御パケット，特にビーコンによる時間間隔を２０μｓｅｃとしているが，かかる場合に限られず，システムに応じて，また，同一のシステムにおいても動作状況に応じてその間隔は変化し，様々な時間をとることができる。
【００７９】
また，上述したように制御パケットは，ビーコン信号以外にも，ＲＴＳ制御信号，ＣＴＳ制御信号，ＡＣＫ（送信完了）制御信号，ＮＡＣＫ（送信失敗）制御信号，データの通信帯域を予約するパケットを適用することができる。ここで，メモリバッファ部２１２が送信と受信とを独立して管理している場合，パケット削除部２２８は，パケットを受信していることを検知して，そのパケット受信中に削除すべき送信パケットを削除するとしても良い。
【００８０】
また，送信パケットにはクラスが定義され，パケット削除部２２８は，上記クラスに応じて，上記削除すべき送信パケットと宛先ノードが同じ送信パケット全てを削除するかどうか決定するとしても良い。送信パケットがリアルタイム性を要するデータ（例えば，ＱｏＳ用のパケット）の一部であった場合，リアルタイム性を犠牲にしてまで送信パケットを送信する必要はない。また，逆にリアルタイム性を犠牲にしても確実に宛先ノードに到達する必要がある送信パケットも存在する。かかる送信パケットの属性をクラスとして定義し，その定義に応じて，送信パケットの削除の範囲を判断する。かかる構成により，送信パケットの内容に応じた最適の削除範囲を定義することが可能となる。
【００８１】
また，上記パケット削除部２２８は，送信パケットを削除したことをネットワーク管理部２１０に伝達し，ネットワーク管理部２１０は，メモリバッファ部２１２とは別，例えば，アプリケーション層で管理している，削除すべき送信パケットと同じ宛先ノードの送信パケットを全て削除し，パケット削除部２２８に，再度，送信パケットの削除を依頼するとしても良い。
【００８２】
タイムアウトにより送信の必要が無くなった送信パケットと同一の宛先ノードに送信される送信パケットは，上位層，例えば，アプリケーション層においても削除されるべきである。従って，パケット削除部２２８は，ネットワーク管理部２１０にも送信パケットの削除を促す。しかし，かかる削除コマンドの伝送遅延により，ネットワーク管理部２１０が送信パケットを削除する直前に，メモリバッファ部２１２に送信パケットを送信してしまうこともあり得る。かかる再度の削除命令により，伝送エラーを生じる送信パケットを完全に削除することができる。
【００８３】
上述した通信装置２００を利用してメモリバッファ部２１２に保持された送信パケットを削除する具体的な動作を以下に示す。
【００８４】
上記パケット削除部２２８は，宛先ノードが所定時間内に受信完了しない送信パケットをタイムアウトした送信パケットとして，メモリバッファ部２１２から削除する。
【００８５】
パケット送信部（送信データ生成部２１４，物理層Ｔｘ部２１８，物理層制御部２２４）は，宛先ノードから送信パケットの受信完了（ＡＣＫ）の返答があるまで，送信パケットの送信を繰り返す。しかし，宛先ノードとの距離の変化等，通信状況の変化によって通信が不可能になった場合においても，再送信を試みるのは非効率である。従って，所定時間内に受信完了（ＡＣＫ）の返答がない宛先ノードの送信パケットの再送は中止される。
【００８６】
本実施形態において，所定時間は，上記制御パケットの送信または受信回数で定義されるとしても良い。上記制御パケットは定期的，例えば１００ｍｓｅｃに一回，近隣のノードに対して発せられ，また，他のノードから受信される。従って，上記制御パケットは，送信パケットの削除タイミングとしてのみではなく，タイムアウトのトリガとしても利用される。
【００８７】
また，上記パケット削除部２２８は，上記タイムアウトを総合的に管理するため，メモリバッファ部２１２内に保持された送信パケットと，該送信パケットのバケット長と，該送信パケットの宛先ノードと，制御パケットの送信または受信回数とを関連付けた送受信テーブルを有している。上記各パラメータは，バッファメモリ部２１２内で送信パケットと同様に記憶されるとしても良いし，他の記憶領域に記憶されるとしても良い。また，送信パケットや受信パケットのシーケンス番号も合わせて管理することも可能である。
【００８８】
パケット削除部２２８は，送受信テーブルの各送信パケットに関連付けられた，制御パケットの送信または受信回数を，カウントアップもしくはカウントダウンにより計数し，所定回数に達した送信パケットおよびその送信パケットと宛先ノードが同一の送信パケットを全て削除することができる。かかる構成により，メモリバッファ部内の送信パケット全てを統括的に管理することができる。以下に，送信パケットの削除動作を詳述する。
【００８９】
図９は，送受信テーブル３００のデータ構造を概略的に示した説明図である。ここでは，メモリバッファ部２１２のアドレス１〜５までに送信パケットと受信パケットが混在して記憶され，送受信テーブル３００には，特に送信パケットに関する様々な情報が関連付けられている。先ず，アドレス３０２には，メモリバッファ部２１２の物理的または論理的なアドレスが示される。かかるアドレス３０２は，メモリバッファ部２１２のアドレスのみに限られず，送信パケットを管理するための管理番号であっても良い。そのアドレス３０２に格納されたパケットの種別がパケット３０４に示される。例えば，アドレス１には「送信パケット１」が記憶されている。かかるパケット３０４に示される「送信パケット」と「受信パケット」はパケットの方向を示し，語尾の数値は，再送管理にも必要なシーケンス番号を示す。
【００９０】
上述した送受信テーブル３００の内容や保存方法は，制限されず，単一のファイルで管理しても，所定のファイル単位に分割して管理しても良い。
【００９１】
送信パケットの優先順位は，アクセス方式に準じて設定される。例えば，ラウンド・ロビン方式を適応したり，総レングス（Ｌｅｎｇｔｈ）の多い順にしたりすることができる。上記図９の例では，上記ノード２に送信権が与えられた場合，「送信パケット１」が最初に送信許可され，ノード３宛に送信件が割り当てられた場合，「送信パケット３」が最初に送信許可される。
【００９２】
また，パケット長３０６は，各送信パケットの長さをバイト単位で示し，宛先ノード３０８は，送信先のノード名を示している。また，回数３１０には，本実施形態において，制御パケットの送信回数が記され，初期値を１０として制御パケットの送信毎に一つずつカウントダウンされる。勿論初期値は１０に限られるものではない。図９の場合，アドレス１の「送信パケット１」の回数３１０は３なので，上位層からＥｎＱｕｅｕｅ（送出）されて，既に１００ｍｓｅｃ×７回の時間，宛先ノードに送信完了されていないことが理解できる。また，残り３００ｍｓｅｃは待機可能であることも同時に理解される。
【００９３】
図１０は，制御パケットの送信の流れと，それぞれの時点における送受信テーブルの変化を説明するためのタイミングチャートであり，図１１Ａ，Ｂ，Ｃ，Ｄは，図１０の時点（２），（３），（４），（５）における送受信テーブルを示した説明図である。本実施形態では，宛先ノードのうち，ノード２との通信環境が悪く，ノード３との通信環境は比較的良い場合を想定している。
【００９４】
図１０の時点（１）において，送受信テーブルは，図９に示したようになっており，メモリバッファ部２１２には，ノード２に対する送信パケット２つ，ノード３に対する送信パケット１つ，および受信パケット２つが保持されている。
【００９５】
図１０の時点（２）では，アドレス２，３に保持されていた受信パケット１，２がネットワーク管理部２１０に読み出され，また，アドレス４に保持されているノード３への送信パケット３のみが送信に成功し，それぞれメモリバッファ部２１２から削除されている。従って，図１１Ａのアドレス２〜４は空の状態となる。また，ノード２への送信パケットは伝送エラーにより送信が完了していないので，送受信テーブルに残っている。ここで，制御パケットが１回送信されていることから，回数３１０は，１ずつ減算され，送信パケット１の回数３１０は，「２」に，送信パケット２の回数３１０は，「７」となっている。
【００９６】
続いて，図１０の時点（３）では，上位層からのパケット送信命令に応じて，新たに，アドレス２にノード３への送信パケットが追加されている。図１０の時点（２）から（３）の間に，アドレス１，２，５に示された送信パケット全てが送信を失敗しているので，かかる制御パケットのカウントは，図１１Ｂに示すように，「１」，「９」，「６」に減じられる。
【００９７】
続いて，図１０の時点（４）では，受信パケット３がアドレス４に追加されている。しかし，図１０の時点（３）から（４）にかけて，やはりアドレス１，２，５に示された送信パケットは送信完了しておらず，かかる制御パケットのカウントは，図１１Ｃに示すように「０」，「８」，「５」に減じられる。ここで，パケット削除部２２８は，送信パケット１の回数３１０が「０」になったのを（所定回数１０回に達したのを）受けて，ノード２宛の送信パケットが停滞していると判断し，当該送信パケット１を削除する。また，削除すべき送信パケット１の宛先ノードは「ノード２」なので，同宛先ノードである送信パケット２も，その回数３１０（待機時間）に拘わらず同時に削除する。こうして，時点（４）の直後である時点（５）では，図１１Ｄのように，送受信テーブルのアドレス１，５は空になり，次なるパケットを保持する領域が確保される。
【００９８】
伝送エラー等によって削除することが必要となった送信パケットと同一の宛先ノードに送信予定の送信パケットは，再度，伝送エラー等が生じる可能性が高い。これは，宛先ノードとの距離の変化等，通信状況の変化によって伝送エラーが生じた場合，当面，同様の伝送エラーを繰り返すことが予測されるからである。従って，パケット削除部２２８は，タイムアウトした送信パケットのみならず，その送信パケットと宛先ノードが同じ送信パケット群も削除して，より迅速にメモリバッファ部の空き容量を確保する。
【００９９】
上記では，回数３１０をカウントダウンして所定時間を計数しているが，カウントアップによって所定時間を計数することもできる。この場合，初期値を０回として，所定回数１０回（閾値）に達した送信パケットを削除することとなる。ここでは，所定時間を所定回数の計数によって測定しているが，システムとして予め統一されていれば，時間として取り扱うことも，送信や受信回数として取り扱うこともどちらも可能である。上記回数３１０は実質的には時間を意味するが，説明の簡略化により，回数と定義している。また，カウントダウンまたはカウントダウンと削除処理の順序は問わない。
【０１００】
また，ここでは，理解を容易にするためアドレスを５つに絞って説明したが，かかる範囲に限定されず，メモリバッファ部２１２の記憶容量に応じて，より多くのアドレスを対応付けることができる。また，本実施形態は，上述した数値に限られず，様々な数値をとりうる。
【０１０１】
さらに，本実施形態では，上位層であるネットワーク管理部２１０からパケット削除部２２８に強制的に送信パケットの削除を指令することも可能である。ネットワーク管理部２１０がパケット削除部２２８に対して強制的に削除指令を発すると，パケット削除部２２８はネットワーク管理部２１０が送受信テーブル３００中の当該送信パケットの回数３１０を強制的に１にして，送信パケットの削除が行われる。この処理により次回の制御パケット送信時にこの送信パケットは確実に削除される。
【０１０２】
（第３の実施形態：データ削除方法）
続いて，アクセスポイントを介さずに各通信装置同士が直接通信を行うアドホック通信において，上述した通信装置２００を利用し，特定の宛先ノードに送信するデータを削除するデータ削除方法の詳細な動作を説明する。
【０１０３】
図１２は，第３の実施形態におけるデータ削除方法の流れを示したフローチャート図である。本実施形態では，制御パケットの送信または受信中に，メモリバッファで滞っている送信パケットを削除し，メモリバッファ部へのアクセス衝突を回避する。
【０１０４】
通信装置２００は，当該通信装置２００の周囲のノードと通信タイミングを図るため，送受信制御部２１６に制御パケットとしてビーコン信号を送信する。他のノードは，かかるビーコン信号を受信し，そのビーコン信号により割り当てられた信号帯域に従って，各ノード間のデータ交換を実施する。
【０１０５】
通信装置２００の送受信制御部２１６は，ビーコン信号がアサート（ａｓｓｅｒｔ）されたことをパケット削除部２２８に伝達し，パケット削除部２２８は，ビーコン信号が送信中であることを知ることができる（Ｓ４００）。ビーコン信号のアサートが検出されない場合，当該工程は待機状態が続く。上記ビーコン信号がアサートされた場合，送受信制御部２１６は，メモリバッファ部２１２と切り離してビーコン信号の送信が行われるため，パケット削除部２２８は，独立してメモリバッファ部２１２にアクセスすることができる。また，ここでは，ビーコン信号の送信を挙げているが，ビーコン信号を受信する通信装置に関しても適用可能である。
【０１０６】
ビーコン信号がアサートされると，パケット削除部２２８は，未だもって送信が完了していない送信パケット全ての制御パケット回数を計数する（Ｓ４０２）。特に，ここでは，予め上位層によって設定されたパケット待機許可時間分（制御パケット１０回）を初期値にして，送受信テーブル３００の回数３１０を１ほど減算する。
【０１０７】
かかる送受信テーブル３００は，ネットワーク管理部２１０がメモリバッファ部２１２に送信パケットを送信した時点および受信データ制御部２２６がメモリバッファ部２１２に受信パケットを伝送した時点で，そのパケットの内容に基づいて追加される。通常，ビーコン信号は，定期的（１００ｍｓｅｃ）に発信されるので，初期値を１０とした場合のタイムアウトは，１００ｍｓｅｃ×１０回で１ｓｅｃとなる。
【０１０８】
そして，送受信テーブル３００の回数３１０を減算した結果，その値が０になった送信パケットの有無を判断する（Ｓ４０４）。ここで，回数３１０が０になった送信パケットが存在していたら，その送信パケットの宛先ノード３０８を抽出する（Ｓ４０６）。そして，当該送信パケットおよび送信パケットと同一の宛先ノードを有する送信パケット全てを削除する（Ｓ４０８）。
【０１０９】
かかる工程（Ｓ４０８）では，送信パケットの削除を行っているが，かかる場合に限られず，送信パケットの削除情報をネットワーク管理部２１０に伝達し，ネットワーク管理部２１０が，続いてＥｎＱｕｅｕｅする送信パケットの量を制限することも可能である。
【０１１０】
次に，パケット削除部２２８は，送信パケットを削除したことをネットワーク管理部２１０に伝達し，ネットワーク管理部２１０は，例えばアプリケーション層で管理している削除すべき送信パケットと同じ宛先ノードの送信パケットを全て削除する（Ｓ４１０）。そして，ネットワーク管理部２１０は，パケット削除部２２８に再度，送信パケットの削除を依頼し，それに応じてパケット削除部２２８は，宛先ノードが同一の送信パケットを再度削除する（Ｓ４１２）。このような再度の削除処理により，伝送エラーを生じる送信パケットを完全に削除することができる。
【０１１１】
かかる構成では，送信パケットの削除タイミングにおいて，メモリバッファ部へのアクセスが衝突することがなく，適切なタイミングで不要なパケットを削除することが可能となる。
【０１１２】
図１３は，上記ビーコン信号のアサート判断（Ｓ４００）時のキャリアセンスに関して詳細に述べたフローチャートである。まず，送受信制御部２１６が一定期間，ここでは１００ｍｓｅｃを計数し，ビーコン信号の送信予定時刻が到来すると（Ｓ４５０），エアー上にパケットが存在されているかどうか，即ち，同アドホック通信を形成するノード間でデータ交換が行われているかどうか確認する（Ｓ４５２）。このときのパケットの検出方法は，キャリアセンスや，既知パターンとの相関によってパケットの存在を把握するプリアンブル（Ｐｒｅａｍｂｌｅ）センスが考えられる。
【０１１３】
図１４は，上記のＦｒａｍｅフォーマットを示した説明図である。このようにＦｒａｍｅは，プリアンブル（Ｐｒｅａｍｂｌｅ）部と，ヘディング（Ｈｅａｄｉｎｇ）部と，ペイロード（Ｐａｙｌｏａｄ）部とからなり，プリアンブル部は，規格により既知のシンボル・パターンが定義されている。ヘディング部は，かかるＦｒａｍｅのタイプ（例えば，ＲＴＳ制御信号），通信をするネットワークグループを特定するためのグループ識別子，届け先を示すアドレス，送り元を示すアドレス（自己のアドレス），制御情報等を含んで構成され，ペイロード部は，ネットワークの同期情報，装置の属性や能力など固有の情報エレメントや自己が通信に利用する時間情報などネットワーク管理部２１０で制御される情報やアプリケーション層で使用するデータ等を含んで構成される。
【０１１４】
例えば，無線通信におけるパケットは，上述したように，プリアンブル部，ヘディング部およびペイロード部から形成され，かかるプリアンブル部を検出してパケットの有無を把握する。かかるプリアンブルとヘッダは，送信データ生成部２１４または物理層Ｔｘ部２１８で生成されるとしても良い。
【０１１５】
上記パケットの存在確認（Ｓ４５２）で，パケットがエアー上に存在すると判断された場合，一定時間（上述したＮＡＶの間），データの送信を中止して待機する（Ｓ４５４）。パケットがエアー上に存在しない場合，ビーコン信号をアサートして，その旨パケット削除部２２８に伝達する（Ｓ４５６）。
【０１１６】
（第４の実施形態：送信パケットの強制削除）
また，通信装置２００は，他のノードとの通信において，送信パケットのシーケンス番号の不整合に従って，現在の送信パケットをクリアするため，強制的に送信パケットを削除することも可能である。
【０１１７】
例えば，コーディネータが存在しない自律分散なネットワークにおいて，自己の通信装置２００と他のノード（宛先ノード）との間でデータ通信する場合を想定する。このとき，パケットの重複受信を管理するため，送信データ生成部２１４において，各送信パケットにシーケンス番号を順次付与している。
【０１１８】
このようにシーケンス番号が付与された送信パケットは，通常，シーケンス番号順に送信される。従って，宛先としての宛先ノードは，かかるシーケンス番号の連続性を判断するだけで，その伝送エラーを検知できる。例えば，両通信装置間の無線通信に何らかの不具合が生じた場合，上記シーケンス番号が同期されなくなる可能性がある。宛先ノードは，重複パケットの存在を常に検出しているため，不連続なシーケンス番号を検知すると，送信先の通信装置にかかる伝送エラーを伝える。
【０１１９】
図１５は，通信装置と宛先ノードとのデータ通信の流れを示したフローチャートである。まず，通信装置２００は，シーケンス番号「１０」の送信パケットを生成し，その送信パケットをシーケンス番号と共に宛先ノードに送信する（Ｓ５００）。宛先ノードは，その送信パケットを受信すると，通信装置２００に対して，受信の完了信号（ＡＣＫ）をそのシーケンス番号「１０」と共に伝送する（Ｓ５０２）。通信装置２００は，かかるＡＣＫ制御信号を受けて，シーケンス番号「１０」までの送信パケットが送信完了したことを把握し，メモリバッファ部２１２内にあるシーケンス番号「１０」の送信パケットを削除する（Ｓ５０４）。
【０１２０】
次に，通信装置２００は，シーケンス番号「１１」の送信パケットの送信準備を始める。通信装置２００は，シーケンス番号「１１」の送信パケットを宛先ノードに送信する（Ｓ５０６）。しかし，何らかの不具合により，シーケンス番号「１５」の送信パケットが宛先ノードに届いたと仮定する。宛先ノードは，受信すべきパケットのシーケンス番号が「１１」ではなく，「１５」であったことを受けて，受信が失敗したこと（ＮＡＣＫ）を通信装置２００に伝達し，併せて，シーケンス番号をリセットする旨のコマンドを送信する（Ｓ５０８）。
【０１２１】
通信装置２００は，宛先ノードからの受信失敗を受けて，シーケンス番号の同期ずれが生じたことを把握し，シーケンス番号のリセットを行う（Ｓ５１０）。このとき，パケット削除部２２８は，上記宛先ノードに関して送信予定になっている送信パケットをメモリバッファ部２１２から一掃する。これは，ネットワーク管理部２１０がパケット削除部２２８の送受信テーブルの該当送信パケットの回数３１０を強制的に「１」にすることによって実施できる。かかる回数３１０は次回の制御パケットの送信時に「０」に減算されるからである。また，回数３１０に拘わらず，強制的に該当送信パケットを削除するとしても良い。
【０１２２】
かかる削除処理によって，シーケンス番号の同期ずれが生じた場合においても，ネットワーク管理部２１０と送受信制御部２１６との連携を保ち，効率の良いパケット削除を実現することができる。
【０１２３】
本実施形態では，宛先ノードが送信パケット毎に送信完了（ＡＣＫ）を返信するイミディエイトＡＣＫ（Ｉｍｍｅｄｉａｔｅ  ＡＣＫ）によって実現されているが，かかる場合に限られず，例えば，宛先ノードの返信タイミングでＡＣＫを返信してパケット送信の効率化を図るシステムにおいても適用可能である。
【０１２４】
（第５の実施形態：ＮＡＣＫによる送信パケットの削除）
パケット削除部２２８は，メモリバッファ部２１２に所定時間滞っている送信パケットを削除するが，この所定時間は，宛先ノードからの受信エラー（ＮＡＣＫ）信号の回数で定義されるとしても良い。従って，パケット削除部２２８は，宛先ノードの受信エラー信号（ＮＡＣＫ）に基づいてタイムアウトを換算する。パケット削除部２２８は，送受信テーブル中の制御パケットの回数の代わりに受信エラー信号の回数を記憶し，その計数でタイムアウトを換算する。かかる構成により，各ノードに対して，送信パケットの再送の回数を均一に与えることが可能となる。
【０１２５】
ここでは，通信装置２００にＡＲＱ（Ａｕｔｏｍａｔｉｃ  Ｒｅｐｅａｔ  ｒｅＱｕｅｓｔ）の機能を追加し，ＡＲＱ回数によるタイムアウトと，パケット待機時間によるタイムアウトの２つの方向から送信パケットの削除管理を行う。
【０１２６】
図１６は，通信装置と宛先ノードとのデータ通信の流れを示したフローチャートである。まず，通信装置２００は，シーケンス番号「１０」の送信パケットを生成し，その送信パケットをシーケンス番号と共に送信する（Ｓ６００）。宛先ノードは，その送信パケットを受信すると，通信装置２００に対して，受信の完了信号（ＡＣＫ）をそのシーケンス番号「１０」と共に伝送する（Ｓ６０２）。通信装置２００は，かかるＡＣＫ制御信号を受けて，シーケンス番号「１０」までの送信パケットが送信完了したことを把握し，メモリバッファ部２１２内にあるシーケンス番号「１０」の送信パケットを削除する（Ｓ６０４）。
【０１２７】
次に，通信装置２００は，シーケンス番号「１１」の送信パケットの送信準備を始める。そして，通信装置２００は，シーケンス番号「１１」の送信パケットを宛先ノードに送信する（Ｓ６０６）。しかし，何らかの不具合により，その送信パケットの送信が完了しなかった場合，宛先ノードは，通信装置２００にＮＡＣＫを返信する（Ｓ６０８）。
【０１２８】
通信装置２００は，同送信パケットの再送を行う（Ｓ６１０）。しかし，その送信パケットも宛先ノードに伝わらなかった場合，宛先ノードは同様のＮＡＣＫを送信する（Ｓ６１２）。
【０１２９】
宛先ノードからのＮＡＣＫの回数が規定回数，ここでは２回になった場合，通信装置２００は，シーケンス番号のリセットを行い，当該上記宛先ノードに関して送信予定になっている送信パケットをメモリバッファ部２１２から一掃する（Ｓ６１４）。これは，ネットワーク管理部２１０がパケット削除部２２８の送受信テーブルの該当送信パケットの回数３１０を強制的に全て「１」にすることによって実施できる。また，回数３１０に拘わらず，強制的に該当送信パケットを削除するとしても良い。かかる削除処理によって，シーケンス番号の同期ずれが生じた場合においても，ネットワーク管理部２１０と送受信制御部２１６との連携を保ち，効率の良いパケット削除を実現することができる。
【０１３０】
そして，通信装置２００は，新たなシーケンス番号「０」が付された送信パケットを改めて宛先ノードに送信する（Ｓ６２０）。ここでも宛先ノードからＮＡＣＫが返信された場合（Ｓ６２２），通信装置２００は，もはや宛先ノードとの通信は不可能であることを把握する。通信装置２００は，当該送信パケットがメモリバッファ部２１２に待機している時間を計測し，待機時間が所定時間を超えた送信パケットおよびその送信パケットと同一の宛先ノードを有する送信パケット全てを削除する（Ｓ６２４）。ここで期間６３０は，ＡＲＱ回数によるタイムアウトを示し，期間６３２は，パケット待機時間によるタイムアウトである。
【０１３１】
また，本実施形態では，パケット毎に１つのシーケンス番号を付与した例を挙げているが，かかる場合に限られず，ＭＳＤＵ（ＭＡＣ  Ｓｅｒｖｉｃｅ  Ｄａｔｅ  Ｕｎｉｔ）毎にシーケンス番号を付与し，１つのパケットに複数のシーケンス番号が関連付けられるとしても良い。宛先ノードは，上記ＭＳＤＵ毎に付加されたＣＲＣエラー情報を元にＮＡＣＫを返信しても良いし，パケットのデコードに問題が出た時点でＮＡＣＫを返信することもできる。
【０１３２】
本実施形態では，宛先ノードが送信パケット毎に送信完了（ＡＣＫ）を返信するイミディエイトＡＣＫによって実現されているがかかる場合に限られず，例えば，ディレイドＡＣＫ（Ｄｅｌａｙｅｄ  ＡＣＫ）を利用することもできる。この場合，期間６３０が長くなることもある。また，上記ディレイドＡＣＫを利用すると，互いの送受信シーケンスが交差することも考えられるが，調停（Ａｒｂｉｔｒａｔｉｏｎ）により解決することもできる。
【０１３３】
また，本実施形態では，ＮＡＣＫの回数が所定回数を超えた場合，送受信制御部２１６にその都度確認しているが，予め設定されたＣＳＭＡまたはＰＳＭＡプロトコルにより，次のパケット送信までのＩｎｔｅｒＦｒａｍｅ  Ｓｐａｃｅ内で処理が終わるように設計配慮することも可能である。
【０１３４】
かかる送信パケットの削除は，その送信パケットと同一の宛先ノード全ての送信パケットを削除するとしても良いし，対象のクラスを踏まえて，削除するとしても良い。
【０１３５】
上記ＮＡＣＫの回数をカウントする構成により，メモリバッファ部内の送信パケット全てを統括的に管理することができる。
【０１３６】
上述した様々な実施形態によって，ＣＳＭＡやＰＳＭＡのような前もって送受信時間が決定されてないシステムにおいても，高速データ通信に対応するためのパケット管理を実現することができる。また，シーケンス番号の同期ずれの処理，ネットワークの端末管理で管理している端末が見えなくなった場合の処理，ＡＲＱによる再送管理との復号機能に関するパケット管理等を実現することも可能となる。
【０１３７】
以上，添付図面を参照しながら本発明の好適な実施形態について説明したが，本発明は係る例に限定されないことは言うまでもない。当業者であれば，特許請求の範囲に記載された範疇内において，各種の変更例または修正例に想到し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【０１３８】
例えば，上記実施形態においては，制御パケットとしてビーコン信号を挙げ，そのビーコン信号において送信パケットを削除したが，かかる場合に限られず，例えば，８０２．１１のようにアクセスポイントのみがビーコン信号を送信するネットワークにおいて，ビーコン信号の受信タイミングを推測して，送信パケットの削除を行うとしても良い。
【０１３９】
また，上記ビーコン信号に限らず，ＲＴＳ，ＣＴＳ，ＡＣＫといった制御パケットの送信もしくは受信時に送信パケットを削除するとしても良い。このようなネットワークの制御パケットの送受信においても，メモリバッファ部のアクセスは切り離されているので，メモリバッファ部へのアクセス衝突は生じない。
【０１４０】
ただし，ＣＳＭＡの場合，予めパケットの送信または受信時間がスケジューリングされていないため，パケットの送受信時に送信パケットの削除を行うと，削除処理が不安定になる可能性があり，また，回路構成を複雑にする必要が生じる。従って，図５における，ＤＩＦＳやＳＩＦＳで示した期間に送信パケットの削除を行うとしても良い。しかし，近日の通信装置等に設けられる通信回路の進歩により上記ＤＩＦＳやＳＩＦＳが短期間化され，高速データ転送等に利用される大容量のメモリバッファ部においては，一度に削除する送信パケットの量も多く，ＤＩＦＳやＳＩＦＳの期間では送信パケットを削除しきれない可能性もある。その場合，メモリバッファ部の利用効率が低下し，無駄な時間を費やすこととなる。従って，十分な送信パケット削除時間を確保するため，上述したようなビーコンの送信または受信時間を利用することが有効である。
【０１４１】
本実施形態においては，一つの通信装置に対して一つのノードへの送信パケットの送信を想定しているが，１対複数の送信も可能である。また，上記通信装置は，送信専用や受信専用として形成することもできる。
【０１４２】
なお，本明細書のデータ削除方法における各工程は，必ずしもタイミングチャート（フローチャート）として記載された順序に沿って時系列に処理する必要はなく，並列的あるいは個別に実行される処理（例えば，並列処理あるいはオブジェクトによる処理）も含むとしても良い。
【図面の簡単な説明】
【０１４３】
【図１】インフラモードで定義されるＢＳＳを説明するための説明図である。
【図２】ＢＳＳにおけるビーコン信号のタイミングを示したタイミングチャートである。
【図３】アドホックモードで定義されるＩＢＳＳを説明するための説明図である。
【図４】ＩＢＳＳにおけるビーコン信号のタイミングを示したタイミングチャートである。
【図５】ＲＴＳ／ＣＴＳ制御信号による制御を説明するためのタイミングチャートである。
【図６】ＴＤＭＡ方式における各ノードの送受信タイミングを示したタイミングチャートである。
【図７】ＣＳＭＡ方式における各ノードの送受信タイミングを示したタイミングチャートである。
【図８】通信装置の概略的な構成を示したブロック図である。
【図９】送受信テーブルのデータ構造を概略的に示した説明図である。
【図１０】制御パケットの送信の流れと，それぞれの時点における送受信テーブルの変化を説明するためのタイミングチャートである。
【図１１Ａ】図１０の各時点における送受信テーブルを示した説明図である。
【図１１Ｂ】図１０の各時点における送受信テーブルを示した説明図である。
【図１１Ｃ】図１０の各時点における送受信テーブルを示した説明図である。
【図１１Ｄ】図１０の各時点における送受信テーブルを示した説明図である。
【図１２】第３の実施形態におけるデータ削除方法の流れを示したフローチャート図である。
【図１３】ビーコン信号のアサート判断時のキャリアセンスに関して詳細に述べたフローチャートである。
【図１４】Ｆｒａｍｅフォーマットを示した説明図である。
【図１５】通信装置と宛先ノードとのデータ通信の流れを示したフローチャートである。
【図１６】通信装置と宛先ノードとのデータ通信の流れを示したフローチャートである。
【符号の説明】
【０１４４】
２００  通信装置
２１０  ネットワーク管理部
２１２  メモリバッファ部
２１４  送信データ生成部
２１６  送受信制御部
２１８  物理層Ｔｘ部
２２２  物理層Ｒｘ部
２２４  物理層制御部
２２６  受信データ制御部
２２８  パケット削除部
３００  送受信テーブル
【図１】
0004760306.tif 000002
【図２】
0004760306.tif 000003
【図３】
0004760306.tif 000004
【図４】
0004760306.tif 000005
【図５】
0004760306.tif 000006
【図６】
0004760306.tif 000007
【図７】
0004760306.tif 000008
【図８】
0004760306.tif 000009
【図９】
0004760306.tif 000010
【図１０】
0004760306.tif 000011
【図１１Ａ】
0004760306.tif 000012
【図１１Ｂ】
0004760306.tif 000013
【図１１Ｃ】
0004760306.tif 000014
【図１１Ｄ】
0004760306.tif 000015
【図１２】
0004760306.tif 000016
【図１３】
0004760306.tif 000017
【図１４】
0004760306.tif 000018
【図１５】
0004760306.tif 000019
【図１６】
0004760306.tif 000020