(57)【要約】【課題】通信パスの切り替えなどによる受信データの順序性の崩れを防止する構成を実現する。【解決手段】データ送信元がデータ宛先毎にシーケンスナンバー（ＳＮ）を設定し、中継ポイントがＳＮの書き換えを行わずに送信する。パケットを受信側は、送信元アドレス単位で受信データを格納する送信元アドレス対応リオーダーバッファを設定し、受信パケットに設定されたＳＮに従ってパケット順を揃える。また、データ送信元と受信先間で経路変更要求と応答を送受信し、受信先において受信済みのＳＮ等の情報を送信元に通知し、送信元において、この情報を利用して新経路を利用して送信するパケットのＳＮを決定する。本構成により、受信装置の上位層は送信データの順番に一致した順でデータを受領することが可能となる。【選択図】図１５
2010050770.tif 000002
【特許請求の範囲】
【請求項１】
通信データの制御を行う制御部と、
通信データを格納するメモリを有し、
前記制御部は、
前記メモリに送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）単位で受信データを格納する送信元アドレス対応リオーダーバッファを設定し、該送信元アドレス対応リオーダーバッファに１つのデータ送信元からの受信パケットを格納し、受信パケットに設定されたシーケンスナンバーに従ってパケット順を揃える処理を行う無線通信装置。
【請求項２】
前記受信パケットは、データ送信元においてデータ宛先（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）毎に設定したシーケンスナンバーがヘッダに記録されたパケットであり、中継ポイントを経由して受信する場合においても、中継ポイントにおいてシーケンスナンバーの書き換えの行われないパケットである請求項１に記載の無線通信装置。
【請求項３】
前記制御部は、
データ送信元から受信する経路変更要求に応じて、経路変更応答を返信する処理を行い、
前記経路変更応答に、
（ａ）前記経路変更要求を受信した時点で、送信元から受信済みの最終パケットのシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）、
（ｂ）前記送信元アドレス対応リオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）、
上記（ａ），（ｂ）の各情報を格納して送信する構成である請求項１に記載の無線通信装置。
【請求項４】
前記制御部は、
前記経路変更応答後に、前記データ送信元から受信するパケットを前記送信元アドレス対応リオーダーバッファに格納し、送信元アドレス対応リオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）より後のシーケンスナンバーを持つ新規受信パケットを受信した場合、該新規受信パケットを送信元アドレス対応リオーダーバッファに格納し、より先行するシーケンスナンバーを持つパケットを送信元アドレス対応リオーダーバッファから取得する処理を行う請求項３に記載の無線通信装置。
【請求項５】
通信データの制御を行う制御部を有し、
前記制御部は、
データ宛先（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）毎に設定したシーケンスナンバーをヘッダに設定したパケットを送信し、
パケット送信経路の変更時に、経路変更要求を前記データ宛先に対して送信して経路変更応答を返信として受信する処理を行い、
前記経路変更応答に含まれる、
（ａ）前記経路変更要求を受信した時点で、送信元から受信済みの最終パケットのシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）、
（ｂ）前記送信元アドレス対応リオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）、
上記（ａ），（ｂ）の各情報を利用して、経路変更後の新経路で送信するパケットのヘッダに設定するシーケンスナンバーを決定する処理を行なう構成を有する無線通信装置。
【請求項６】
前記制御部は、
経路変更後の新経路で送信するパケットのヘッダに設定するシーケンスナンバーＸを、
最終パケットのシーケンスナンバー＜Ｘ≦ＷｉｎＥｎｄ
上記条件式を満足するシーケンスナンバーとする請求項５に記載の無線通信装置。
【請求項７】
データ送受信を行う複数の無線通信装置からなる通信システムであり、
データ送信を行う送信装置が、
通信経路の変更時に、経路変更要求を前記データ宛先に対して送信して経路変更応答を返信として受信する処理を行い、
前記経路変更応答に含まれる、
（ａ）前記経路変更要求を受信した時点で、送信元から受信済みの最終パケットのシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）、
（ｂ）前記送信元アドレス対応リオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）、
上記（ａ），（ｂ）の各情報を利用して、経路変更後の新経路で送信するパケットのヘッダに設定するシーケンスナンバーを決定する処理を行なう構成を有し、
データ受信を行う受信装置が、
前記送信装置からの経路変更要求に応じて、上記（ａ），（ｂ）の各情報を格納した経路変更応答を返信する処理を行う構成である通信システム。
【請求項８】
無線通信装置において実行する通信制御方法であり、
制御部が、メモリに送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）単位で受信データを格納する送信元アドレス対応リオーダーバッファを設定するステップと、
前記制御部が、前記送信元アドレス対応リオーダーバッファに１つのデータ送信元からの受信パケットを格納し、受信パケットに設定されたシーケンスナンバーに従ってパケット順を揃える処理を行うステップを有する通信制御方法。
【請求項９】
無線通信装置において実行する通信制御方法であり、
データ宛先（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）毎に設定したシーケンスナンバーをヘッダに設定したパケットを送信するステップと、
パケット送信経路の変更時に、経路変更要求を前記データ宛先に対して送信して経路変更応答を返信として受信する処理を行うステップと、
前記経路変更応答に含まれる、
（ａ）前記経路変更要求を受信した時点で、送信元から受信済みの最終パケットのシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）、
（ｂ）前記送信元アドレス対応リオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）、
上記（ａ），（ｂ）の各情報を利用して、経路変更後の新経路で送信するパケットのヘッダに設定するシーケンスナンバーを決定する処理を行なうステップを有する通信制御方法。
【請求項１０】
無線通信装置において通信制御を実行させるプログラムであり、
制御部に、メモリに送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）単位で受信データを格納する送信元アドレス対応リオーダーバッファを設定させるステップと、
前記制御部に、前記送信元アドレス対応リオーダーバッファに１つのデータ送信元からの受信パケットを格納させて、受信パケットに設定されたシーケンスナンバーに従ってパケット順を揃える処理を行わせるステップを有するプログラム。
【請求項１１】
無線通信装置において通信制御を実行させるプログラムであり、
制御部に、データ宛先（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）毎に設定したシーケンスナンバーをヘッダに設定したパケットを送信させるステップと、
前記制御部に、パケット送信経路の変更時に、経路変更要求を前記データ宛先に対して送信して経路変更応答を返信として受信する処理を行わせるステップと、
前記制御部に、前記経路変更応答に含まれる、
（ａ）前記経路変更要求を受信した時点で、送信元から受信済みの最終パケットのシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）、
（ｂ）前記送信元アドレス対応リオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）、
上記（ａ），（ｂ）の各情報を利用して、経路変更後の新経路で送信するパケットのヘッダに設定するシーケンスナンバーを決定する処理を行なわせるステップを有するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信装置、通信システム、および通信制御方法、並びにプログラムに関し、例えば通信経路の変更などに伴う受信パケットの順序乱れに対応した処理を行う無線通信装置、通信システム、および通信制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、ＩＥＥＥ８０２．１１に代表される無線ＬＡＮ規格に従った無線ネットワークが機器の自由度が高い等の利点から、有線ネットワークに代わり普及している。無線通信を利用するアプリケーションも多種多様になった結果、システム全体でのスループットを高めることが求められている。
【０００３】
無線ＬＡＮ規格（ＩＥＥＥ８０２．１１）には、無線通信装置間でダイレクト通信を行うアドホック通信と、アクセスポイントを経由したインフラストラクチャモードの通信が規定されている。
【０００４】
なお、これらの通信処理について開示した従来技術としては例えば特許文献１（特開２００５−１１７４５８号公報）がある。
【０００５】
図１に示す８０２．１１のインフラストラクチャモードで定義される通信システムでは、無線通信装置（ＳＴＡ）１０，２０同士の通信を行うために一旦アクセスポイント(ＡＰ)３０を中継する必要がある。すなわち図１に示すＡＰ経由パス５１を介した通信が行われる。
【０００６】
インフラストラクチャモードでは、このような中継処理を伴うためスループットの低下を招いていた。そこで８０２．１１ｅにおいて無線通信装置（ＳＴＡ）間の直接通信モードを追加することにより、無線通信装置（ＳＴＡ）同士の通信におけるスループットを向上する仕組みが提供された。
【０００７】
図２に示すように、無線通信装置（ＳＴＡ）１０，２０同士の直接通信を行うモードであり、無線通信装置（ＳＴＡ）１０，２０を直接結ぶダイレクトリンクパス５２を利用した通信である。
【０００８】
また、新しい通信方式としてＴＤＬＳ（Ｔｕｎｎｅｌｅｄ  Ｄｉｒｅｃｔ  Ｌｉｎｋ  Ｓｅｔｕｐ）方式が、新しい規格である８０２．１１ｚとして定義されつつある。この方式はインフラストラクチャモードを保ったまま無線端末同士の直接通信リンク（ダイレクトリンク）を設定し、直接通信することができるようにするものである。また、ダイレクトリンクを設定した後は、通信相手への送信に使用する経路（アクセスポイント経由パスとダイレクトリンクパス）を必要に応じて適宜切り替えられる仕組みについても提案されている。
【０００９】
しかし、データの経路が複数許されたことにより、データパケットの送信中に経路を動的に切り替えると、送信先において、ＭＡＣ層が上位層に対して保証しているデータパケットの順序を保つことができなくなる問題が生じるようになった。この問題点について、図３を参照して説明する。
【００１０】
図２に示すアクセスポイント（ＡＰ）３０，無線通信装置（ＳＴＡ１）１０、無線通信装置（ＳＴＡ２）２０から構成されるシステムで、ＳＴＡ１からＳＴＡ２にデータを送信すると仮定する。この時、経路はＡＰ経由の経路であるＡＰ経由パス５１とＳＴＡ間の直接通信（Ｄｉｒｅｃｔ  Ｌｉｎｋ）経路であるダイレクトリンクパス５２の２通りの通信パスを双方利用可能であるとする。
【００１１】
通信パス切り替え時に発生するパケット順の乱れについて、図３を参照して説明する。図３には、左から、
データ送信端末である無線通信装置（ＳＴＡ１）、
通信中継装置としてのアクセスポイント（ＡＰ）、
データ受信端末である無線通信装置（ＳＴＡ２）、
これらの各装置を示している。
なお、無線通信装置（ＳＴＡ１）は、通信データの生成、供給処理などを行うアプリケーション等の上位レイヤと、上位レイヤから送信データを受領して送信処理を行うＭＡＣ層に分離して示してある。無線通信装置（ＳＴＡ２）についても、上位レイヤと、ＭＡＣ層に分離して示してある。なお、ハードウェア的には上位レイヤはデータ処理部などによって構成され、ＭＡＣ層は無線インターフェース部などによって構成される。
【００１２】
なお、以下の説明では、無線通信装置（ＳＴＡ１）を「ＳＴＡ１」、無線通信装置（ＳＴＡ２）を「ＳＴＡ２」、アクセスポイント（ＡＰ）を「ＡＰ」として簡略化して表記する。
【００１３】
図３のシーケンス図の各ステップについて説明する。ＳＴＡ１の上位レイヤは、ステップＳ１１において、無線インターフェース部としてのＭＡＣ層に対して通信パケット１，２を供給する。ＭＡＣ層は、ステップＳ１２において、ＡＰ経由の経路（ＡＰ経由パス）でデータパケット１を送信する。その後、ステップＳ１３において、ＳＴＡ間直接通信経路（ダイレクトリンクパス）を利用してパケット２を送信する。
【００１４】
データ受信側のＳＴＡ２はデータパケット１とデータパケット２を受信することになる。ＡＰ経由パスを利用して送信されたパケット１は、ＡＰにおいて中継処理がなされるため、多くの転送時間を要する。
【００１５】
この結果、図に示すように、ＳＴＡ間直接通信経路（ダイレクトリンクパス）を利用して送信されたパケット２が、先に、ステップＳ１４においてＳＴＡ２ＭＡＣ層からＳＴＡ２上位レイヤに提供される。その後、ステップＳ１５において、ＳＴＡ２ＭＡＣ層がＡＰ経由パスを介して受信したパケット１をステップＳ１６においてＳＴＡ２上位レイヤに提供する処理が行われる。
【００１６】
結果として、ＳＴＡ２上位レイヤは、パケット２、パケット１の順序でパケットを受領することになってしまい、ＳＴＡ１が送信したパケット順番とは異なる順番でパケットを受信することになる。このようなパケット順番の乱れは、ＡＰが中継することによる処理遅延や、ＡＰ−ＳＴＡ２間の通信環境の悪化による再送の遅延などよる。
【００１７】
なお、送信されるデータパケット１，２には、データ送信側のＳＴＡ１において昇順のシーケンスナンバー（Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）が割り当てられる。しかし、データパケット１に対してはＡＰで中継処理される際に、ＡＰがシーケンスナンバーの書き換えを行ってしまう。これは、８０２．１１の定義するシーケンスナンバーがＥｎｄ−ｔｏ−ＥｎｄではなくＰｅｅｒ−ｔｏ−Ｐｅｅｒの通信に対して割り当てられるものであるためである。
【００１８】
この結果、ＳＴＡ２はパケットの到達順序、およびパケットに設定されたシーケンスナンバーのいずれを適用しても、本来のデータパケットの順序を判断することができない。結果として、ＭＡＣ層が上位層に提供するデータパケットの順序を保証することができなくなる。
【００１９】
図３を参照して説明した例は、８０２．１１での例であるが、８０２．１１ｅに従ったデータ通信シーケンスでも同様の問題が発生する。８０２．１１ｅでは、同一送信元からの複数のデータパケットの集合をブロックとして処理し、ブロックに対する受信確認としてのＢｌｏｃｋ  ＡＣＫ、さらに、同一送信元からのパケットをシーケンスナンバー順に揃える処理を実行するリオーダーバッファ（Ｒｅ−ｏｒｄｅｒ  ｂｕｆｆｅｒ）を用いた処理が行われる。
【００２０】
図４、図５を参照して、８０２．１１ｅに従った通信を行う場合の通信パス切り替えによるパケット順の乱れについて説明する。図４、図５も図３と同様、左から、
データ送信端末である無線通信装置（ＳＴＡ１）、
通信中継装置としてのアクセスポイント（ＡＰ）、
データ受信端末である無線通信装置（ＳＴＡ２）、
これらの各装置を示している。
なお、無線通信装置（ＳＴＡ１）と、無線通信装置（ＳＴＡ２）は、上位レイヤと、ＭＡＣ層に分離して示してある。
【００２１】
ＳＴＡ１の上位レイヤは、ステップＳ２１において、無線インターフェース部としてのＭＡＣ層に対して通信パケット１〜６を供給する。ＭＡＣ層は、ステップＳ２２において、ＡＰ経由の経路（ＡＰ経由パス）でデータパケット１〜３を送信する。なお、送信パケット１〜３のＭＡＣヘッダに設定されるアドレス情報は以下の通りとなる。
データ送信元を示すソースアドレス（ＳＡ）＝１
直接通信におけるデータ送信元を示すトランスミッタアドレス（ＴＡ）＝１
直接通信におけるデータ受信先を示すレシーバアドレス（ＲＡ）＝０
データ宛先を示すディスティネーションアドレス（ＤＡ）＝２
これらのアドレス情報がパケット１〜３のＭＡＣヘッダに設定される。なお、ヘッダには、ＳＴＡ１が設定したシーケンスナンバー（ＳＮ＝１〜３）も記録される。
【００２２】
なお、図に示すように、
ＳＴＡ１のＭＡＣアドレス＝１、
ＡＰのＭＡＣアドレス=０、
ＳＴＡ２のＭＡＣアドレス＝２、
であり、上記の各アドレス設定は、これらのＭＡＣアドレスに対応する設定となっている。
【００２３】
次に、ＳＴＡ１ＭＡＣ層は、ステップＳ２３において、ＳＴＡ間直接通信経路（ダイレクトリンクパス）を利用してパケット４〜６を送信する。なお、送信パケット４〜６のＭＡＣヘッダに設定されるアドレス情報は以下の通りとなる。
データ送信元を示すソースアドレス（ＳＡ）＝１
直接通信におけるデータ送信元を示すトランスミッタアドレス（ＴＡ）＝１
直接通信におけるデータ受信先を示すレシーバアドレス（ＲＡ）＝２
データ宛先を示すディスティネーションアドレス（ＤＡ）＝２
これらのアドレス情報がパケット４〜６のＭＡＣヘッダに設定される。なお、ヘッダには、ＳＴＡ１が設定したシーケンスナンバー（ＳＮ＝１４〜１６）も記録される。
【００２４】
データ受信側のＳＴＡ２はデータパケット１〜６を受信することになる。ＡＰ経由パスを利用して送信されたパケット１は、ＡＰにおいて中継処理がなされるため、多くの転送時間を要する。
【００２５】
この結果、図に示すように、ＳＴＡ間直接通信経路（ダイレクトリンクパス）を利用して送信されたパケット４〜６が、先に、ステップＳ２４においてＳＴＡ２ＭＡＣ層によって受信され、リオーダーバッファに格納される。リオーダーバッファは、パケットの直接送信元、すなわち、パケットのＭＡＣヘッダのトランスミッタアドレス（ＴＡ）毎に設定される。パケット４〜６は、共通のＴＡ＝１（ＳＴＡ１）であり、パケット４〜６は、ＴＡ＝１対応のリオーダーバッファに格納されて、シーケンスナンバー（ＳＮ＝１４〜１６）に従ってパケット順が揃えられる。ステップＳ２５において、パケットの順番がシーケンスナンバー順に揃えられていることが確認された後、上位レイヤに提供される。上位レイヤは、まずパケット４〜６を受領することになる。
【００２６】
その後、図５に示すステップＳ３１において、ＡＰからＳＴＡ２ＭＡＣ層に対してＡＰ経由パスのパケット１〜３が送信される。この送信パケット１〜３のＭＡＣヘッダに設定されるアドレス情報は以下の通りとなる。
データ送信元を示すソースアドレス（ＳＡ）＝１
直接通信におけるデータ送信元を示すトランスミッタアドレス（ＴＡ）＝０
直接通信におけるデータ受信先を示すレシーバアドレス（ＲＡ）＝２
データ宛先を示すディスティネーションアドレス（ＤＡ）＝２
これらのアドレス情報がパケット１〜３のＭＡＣヘッダに設定される。なお、ヘッダには、ＡＰが設定したシーケンスナンバー（ＳＮ＝１０１〜１０３）も記録される。
【００２７】
ステップＳ３２においてＳＴＡ２ＭＡＣ層によって、これらのパケットはリオーダーバッファに格納される。リオーダーバッファは、前述したように、パケットの直接送信元、すなわち、パケットのＭＡＣヘッダのトランスミッタアドレス（ＴＡ）毎に設定される。パケット１〜３は、共通のＴＡ＝０（ＡＰ）であり、パケット１〜３は、ＴＡ＝０対応のリオーダーバッファに格納されて、ＡＰが付与したシーケンスナンバー（ＳＮ＝１０１〜１０３）に従ってパケット順が揃えられる。ステップＳ３３において、パケットの順番がシーケンスナンバー順に揃えられていることが確認された後、上位レイヤに提供される。上位レイヤは、パケット１〜３を受領することになる。
【００２８】
結果として、ＳＴＡ２上位レイヤは、パケット４〜６、パケット１〜３の順序でパケットを受領することになってしまい、ＳＴＡ１が送信したパケット順番とは異なる順番でパケットを受信することになる。
【００２９】
このように８０２．１１ｅの定義するリオーダーバッファは、同一のＴＡから送信されるパケットの順序を揃える機能は有するが異なるＴＡのパケットの順序を揃える機能は果たさない。結果として、図３を参照して説明したシーケンスナンバーと同様、Ｐｅｅｒ−ｔｏ−Ｐｅｅｒの通信には効果を発揮するが、ＡＰ経由パスによって送信されるパケット群（パケット１，２，３）と、ダイレクトリンクパスで到達するパケット群（パケット４，５，６）の順序性の保証に対しては機能しない。
【００３０】
この問題を解決する手段の一つとして、８０２．１１ｓ（ｄｒａｆｔ）で新たに定義されたメッシュシーケンスナンバー(Ｍｅｓｈ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ)を利用する方法がある。
【００３１】
メッシュシーケンスナンバーは、データ送信元とデータ宛先であるＥｎｄ−ｔｏ−Ｅｎｄで不変のシーケンスナンバーとして設定される。このメッシュシーケンスナンバーは、データパケットのヘッダ情報の中に、既存のＰｅｅｒ−ｔｏ−Ｐｅｅｒ対応のシーケンスナンバーと並んで記録される。
【００３２】
図６に８０２．１１ｓに対応するパケットのヘッダ構成例を示す。図に示すように、ヘッダには、存のＰｅｅｒ−ｔｏ−Ｐｅｅｒ対応のシーケンスナンバーが［Ｓｅｑｕｅｎｃｅ  Ｃｏｎｔｒｏｌ］欄に記録され、さらに、データ送信元とデータ宛先であるＥｎｄ−ｔｏ−Ｅｎｄで不変のシーケンスナンバーが[Ｍｅｓｈ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ]欄に記録される。
【００３３】
メッシュシーケンスナンバーを利用して通信パスの切り替えを行った場合の通信シーケンス例について、図７、図８を参照して説明する。図７、図８も左から、
データ送信端末である無線通信装置（ＳＴＡ１）、
通信中継装置としてのアクセスポイント（ＡＰ）、
データ受信端末である無線通信装置（ＳＴＡ２）、
これらの各装置を示している。
なお、無線通信装置（ＳＴＡ１）と、無線通信装置（ＳＴＡ２）は、上位レイヤと、ＭＡＣ層に分離して示してある。
【００３４】
ＳＴＡ１の上位レイヤは、ステップＳ５１において、無線インターフェース部としてのＭＡＣ層に対して通信パケット１〜６を供給する。ＭＡＣ層は、ステップＳ５２において、ＡＰ経由の経路（ＡＰ経由パス）でデータパケット１〜３を送信する。なお、送信パケット１〜３のＭＡＣヘッダに設定されるアドレス情報は以下の通りとなる。
データ送信元を示すソースアドレス（ＳＡ）＝１
直接通信におけるデータ送信元を示すトランスミッタアドレス（ＴＡ）＝１
直接通信におけるデータ受信先を示すレシーバアドレス（ＲＡ）＝０
データ宛先を示すディスティネーションアドレス（ＤＡ）＝２
これらのアドレス情報がパケット１〜３のＭＡＣヘッダに設定される。
なお、ヘッダには、ＳＴＡ１が設定した以下の情報も記録される。
シーケンスナンバー（ＳＮ＝１〜３）、
メッシュシーケンスナンバー（ＭＳＮ＝１〜３）。
【００３５】
なお、図に示すように、
ＳＴＡ１のＭＡＣアドレス＝１、
ＡＰのＭＡＣアドレス=０、
ＳＴＡ２のＭＡＣアドレス＝２、
であり、上記の各アドレス設定は、これらのＭＡＣアドレスに対応する設定となっている。
【００３６】
次に、ＳＴＡ１ＭＡＣ層は、ステップＳ５３において、ＳＴＡ間直接通信経路（ダイレクトリンクパス）を利用してパケット４〜６を送信する。なお、送信パケット４〜６のＭＡＣヘッダに設定されるアドレス情報は以下の通りとなる。
データ送信元を示すソースアドレス（ＳＡ）＝１
直接通信におけるデータ送信元を示すトランスミッタアドレス（ＴＡ）＝１
直接通信におけるデータ受信先を示すレシーバアドレス（ＲＡ）＝２
データ宛先を示すディスティネーションアドレス（ＤＡ）＝２
これらのアドレス情報がパケット４〜６のＭＡＣヘッダに設定される。
なお、ヘッダには、ＳＴＡ１が設定した以下の情報も記録される。
シーケンスナンバー（ＳＮ＝１４〜１６）、
メッシュシーケンスナンバー（ＭＳＮ＝４〜６）。
【００３７】
データ受信側のＳＴＡ２はデータパケット１〜６を受信することになる。ＡＰ経由パスを利用して送信されたパケット１は、ＡＰにおいて中継処理がなされるため、多くの転送時間を要する。
【００３８】
この結果、図に示すように、ＳＴＡ間直接通信経路（ダイレクトリンクパス）を利用して送信されたパケット４〜６が、先に、ステップＳ５４においてＳＴＡ２ＭＡＣ層によって受信され、リオーダーバッファに格納される。リオーダーバッファは、パケットの直接送信元、すなわち、パケットのＭＡＣヘッダのトランスミッタアドレス（ＴＡ）毎に設定される。パケット４〜６は、共通のＴＡ＝１（ＳＴＡ１）であり、パケット４〜６は、ＴＡ＝１対応のリオーダーバッファに格納されて、シーケンスナンバー（ＳＮ＝１４〜１６）に従ってパケット順が揃えられる。ステップＳ５５において、パケットの順番がシーケンスナンバー順に揃えられていることが確認された後、さらに、ステップＳ５６において、データ送信元とデータ宛先であるＥｎｄ−ｔｏ−Ｅｎｄ単位のリオーダリング処理を行うリオーダーバッファに格納される。
【００３９】
ステップＳ５７では、データ送信元（ＳＡ）単位のリオーダリング処理を行うリオーダーバッファにおいて、メッシュシーケンスナンバーに基づいてパケット順が揃えられる。ステップＳ５８において、パケットの順番がメッシュシーケンスナンバー順に揃えられていることが確認された後、ステップＳ５８において、そのままバッファに保持される。
【００４０】
その後、図８に示すステップＳ６１において、ＡＰからＳＴＡ２ＭＡＣ層に対してＡＰ経由パスのパケット１〜３が送信される。この送信パケット１〜３のＭＡＣヘッダに設定されるアドレス情報は以下の通りとなる。
データ送信元を示すソースアドレス（ＳＡ）＝１
直接通信におけるデータ送信元を示すトランスミッタアドレス（ＴＡ）＝０
直接通信におけるデータ受信先を示すレシーバアドレス（ＲＡ）＝２
データ宛先を示すディスティネーションアドレス（ＤＡ）＝２
これらのアドレス情報がパケット１〜３のＭＡＣヘッダに設定される。
なお、ヘッダには、ＡＰ１が設定した以下の情報、
シーケンスナンバー（ＳＮ＝１０１〜１０３）、
さらに、ＳＴＡ１が設定した以下の情報、
シーケンスナンバー（ＳＮ＝１〜３）
これらの情報が記録されている。
【００４１】
ステップＳ６２においてＳＴＡ２ＭＡＣ層によって、これらのパケットはトランスミッタアドレス（ＴＡ）毎に設定されたリオーダーバッファに格納される。パケット１〜３は、共通のＴＡ＝０（ＡＰ）であり、パケット１〜３は、ＴＡ＝０対応のリオーダーバッファに格納されて、ＡＰが付与したシーケンスナンバー（ＳＮ＝１０１〜１０３）に従ってパケット順が揃えられる。ステップＳ６３において、パケットの順番がシーケンスナンバー順に揃えられていることが確認された後、さらに、ステップＳ６４において、データ送信元とデータ宛先であるＥｎｄ−ｔｏ−Ｅｎｄ単位のリオーダリング処理を行うリオーダーバッファに格納される。
【００４２】
ステップＳ６５では、データ送信元（ＳＡ）単位のリオーダリング処理を行うリオーダーバッファにおいて、メッシュシーケンスナンバーに基づいてパケット順が揃えられる。このリオーダーバッファには、先に受信済みのパケット４〜６がすでにメッシュシーケンスナンバーに従って格納されている。このバッファにさらに、パケット１〜３が格納され、全体のパケット１〜６がメッシュシーケンスナンバーに従って揃えられる。ステップＳ６６において、パケットの順番がメッシュシーケンスナンバー順に揃えられていることが確認された後、上位レイヤに提供される。上位レイヤは、メッシュシーケンスナンバーに従って揃えられたパケット１〜６を受領することになる。
【００４３】
結果として、ＳＴＡ２上位レイヤは、パケット１〜６の順序でパケットを受領することになり、ＳＴＡ１が送信したパケット順番と同じ順番でパケットを受信することになる。
【００４４】
しかし、この方法では、ヘッダにメッシュシーケンスナンバーを記録することが必要である。またデータ受信側において、メッシュシーケンスナンバーに従ってパケット順をそろえるためのリオーダーバッファを設けて新たな処理を行うことが必要となる。結果として、パケットのヘッダ情報のオーバーヘッド増加によるスループットの低下と、受信側の回路規模の増大という問題が新たに生じることとなる。
【特許文献１】特開２００５−１１７４５８号公報
【発明の開示】
【発明が解決しようとする課題】
【００４５】
本発明は、例えば上記の問題に鑑みてなれたものであり、通信装置間で通信されるパケットを受信側が、送信順に従って処理可能な構成を提供するものである。本発明は、新たなヘッダ情報の追加や、新たなリオーダーバッファの追加を行うことなく受信データの順序の乱れを解消することを可能とする無線通信装置、通信システム、および通信制御方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００４６】
本発明の第１の側面は、
通信データの制御を行う制御部と、
通信データを格納するメモリを有し、
前記制御部は、
前記メモリに送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）単位で受信データを格納する送信元アドレス対応リオーダーバッファを設定し、該送信元アドレス対応リオーダーバッファに１つのデータ送信元からの受信パケットを格納し、受信パケットに設定されたシーケンスナンバーに従ってパケット順を揃える処理を行う無線通信装置にある。
【００４７】
さらに、本発明の無線通信装置の一実施態様において、前記受信パケットは、データ送信元においてデータ宛先（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）毎に設定したシーケンスナンバーがヘッダに記録されたパケットであり、中継ポイントを経由して受信する場合においても、中継ポイントにおいてシーケンスナンバーの書き換えの行われないパケットである。
【００４８】
さらに、本発明の無線通信装置の一実施態様において、前記制御部は、データ送信元から受信する経路変更要求に応じて、経路変更応答を返信する処理を行い、前記経路変更応答に、
（ａ）前記経路変更要求を受信した時点で、送信元から受信済みの最終パケットのシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）、
（ｂ）前記送信元アドレス対応リオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）、
上記（ａ），（ｂ）の各情報を格納して送信する構成である。
【００４９】
さらに、本発明の無線通信装置の一実施態様において、前記制御部は、前記経路変更応答後に、前記データ送信元から受信するパケットを前記送信元アドレス対応リオーダーバッファに格納し、送信元アドレス対応リオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）より後のシーケンスナンバーを持つ新規受信パケットを受信した場合、該新規受信パケットを送信元アドレス対応リオーダーバッファに格納し、より先行するシーケンスナンバーを持つパケットを送信元アドレス対応リオーダーバッファから取得する処理を行う。
【００５０】
さらに、本発明の第２の側面は、
通信データの制御を行う制御部を有し、
前記制御部は、
データ宛先（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）毎に設定したシーケンスナンバーをヘッダに設定したパケットを送信し、
パケット送信経路の変更時に、経路変更要求を前記データ宛先に対して送信して経路変更応答を返信として受信する処理を行い、
前記経路変更応答に含まれる、
（ａ）前記経路変更要求を受信した時点で、送信元から受信済みの最終パケットのシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）、
（ｂ）前記送信元アドレス対応リオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）、
上記（ａ），（ｂ）の各情報を利用して、経路変更後の新経路で送信するパケットのヘッダに設定するシーケンスナンバーを決定する処理を行なう構成を有する無線通信装置にある。
【００５１】
さらに、本発明の無線通信装置の一実施態様において、前記制御部は、経路変更後の新経路で送信するパケットのヘッダに設定するシーケンスナンバーＸを、
最終パケットのシーケンスナンバー＜Ｘ≦ＷｉｎＥｎｄ
上記条件式を満足するシーケンスナンバーとする。
【００５２】
さらに、本発明の第３の側面は、
データ送受信を行う複数の無線通信装置からなる通信システムであり、
データ送信を行う送信装置が、
通信経路の変更時に、経路変更要求を前記データ宛先に対して送信して経路変更応答を返信として受信する処理を行い、
前記経路変更応答に含まれる、
（ａ）前記経路変更要求を受信した時点で、送信元から受信済みの最終パケットのシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）、
（ｂ）前記送信元アドレス対応リオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）、
上記（ａ），（ｂ）の各情報を利用して、経路変更後の新経路で送信するパケットのヘッダに設定するシーケンスナンバーを決定する処理を行なう構成を有し、
データ受信を行う受信装置が、
前記送信装置からの経路変更要求に応じて、上記（ａ），（ｂ）の各情報を格納した経路変更応答を返信する処理を行う構成である通信システムにある。
【００５３】
さらに、本発明の４の側面は、
無線通信装置において実行する通信制御方法であり、
制御部が、メモリに送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）単位で受信データを格納する送信元アドレス対応リオーダーバッファを設定するステップと、
前記制御部が、前記送信元アドレス対応リオーダーバッファに１つのデータ送信元からの受信パケットを格納し、受信パケットに設定されたシーケンスナンバーに従ってパケット順を揃える処理を行うステップを有する通信制御方法にある。
【００５４】
さらに、本発明の第５の側面は、
無線通信装置において実行する通信制御方法であり、
データ宛先（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）毎に設定したシーケンスナンバーをヘッダに設定したパケットを送信するステップと、
パケット送信経路の変更時に、経路変更要求を前記データ宛先に対して送信して経路変更応答を返信として受信する処理を行うステップと、
前記経路変更応答に含まれる、
（ａ）前記経路変更要求を受信した時点で、送信元から受信済みの最終パケットのシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）、
（ｂ）前記送信元アドレス対応リオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）、
上記（ａ），（ｂ）の各情報を利用して、経路変更後の新経路で送信するパケットのヘッダに設定するシーケンスナンバーを決定する処理を行なうステップを有する通信制御方法にある。
【００５５】
さらに、本発明の第６の側面は、
無線通信装置において通信制御を実行させるプログラムであり、
制御部に、メモリに送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）単位で受信データを格納する送信元アドレス対応リオーダーバッファを設定させるステップと、
前記制御部に、前記送信元アドレス対応リオーダーバッファに１つのデータ送信元からの受信パケットを格納させて、受信パケットに設定されたシーケンスナンバーに従ってパケット順を揃える処理を行わせるステップを有するプログラムにある。
【００５６】
さらに、本発明の第７の側面は、
無線通信装置において通信制御を実行させるプログラムであり、
制御部に、データ宛先（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）毎に設定したシーケンスナンバーをヘッダに設定したパケットを送信させるステップと、
前記制御部に、パケット送信経路の変更時に、経路変更要求を前記データ宛先に対して送信して経路変更応答を返信として受信する処理を行わせるステップと、
前記制御部に、前記経路変更応答に含まれる、
（ａ）前記経路変更要求を受信した時点で、送信元から受信済みの最終パケットのシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）、
（ｂ）前記送信元アドレス対応リオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）、
上記（ａ），（ｂ）の各情報を利用して、経路変更後の新経路で送信するパケットのヘッダに設定するシーケンスナンバーを決定する処理を行なわせるステップを有するプログラムにある。
【００５７】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００５８】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００５９】
本発明の一実施例構成によれば、例えば通信パスの切り替えによって発生するパケットの順序乱れを防止することができる。データ送信元がデータ宛先（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）毎にシーケンスナンバーを設定し、中継ポイントがシーケンスナンバーの書き換えを行わずに送信する。パケットを受信側では、送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）単位で受信データを格納する送信元アドレス対応リオーダーバッファを設定し、受信パケットに設定されたシーケンスナンバーに従ってパケット順を揃える。また、データ送信元と受信先間で経路変更要求と応答を送受信し、受信先において受信済みのシーケンスナンバー等の情報を送信元に通知し、送信元において、この情報を利用して新経路を利用して送信するパケットのシーケンスナンバーを決定する。本構成により、受信装置の上位層は送信データの順番に一致した順でデータを受領することが可能となる。
【発明を実施するための最良の形態】
【００６０】
以下、図面を参照しながら本発明の無線通信装置、通信システム、および通信制御方法、並びにプログラムの詳細について説明する。
【００６１】
本発明の無線通信システムの一実施形態について図９を参照して説明する。図９には、データ通信を行う２つの無線端末として、無線通信装置（ＳＴＡ１）１１０、無線通信装置（ＳＴＡ２）１２０、さらに、無線通信装置間の通信中継処理を実行するアクセスポイント（ＡＰ）１３０を示している。
【００６２】
無線通信装置（ＳＴＡ１）１１０と、無線通信装置（ＳＴＡ２）１２０は、複数の通信パス、すなわちＡＰ経由パス１５１と、ダイレクトリンクパス１５２を選択的に利用した通信を行う機能を有する。アクセスポイント（ＡＰ）１３０は、ＡＰ経由パス１５１回した通信においてパケットの中継処理を行う。
【００６３】
なお、本発明の実施例を後段において複数説明するが、例えば実施例１のシステムでは、アクセスポイント（ＡＰ）１３０は、中継パケットのヘッダに設定されたシーケンスナンバーの書き換えを行なわない。すなわち、無線通信装置（ＳＴＡ１）１１０から、無線通信装置（ＳＴＡ２）１２０への送信パケットであれば、無線通信装置（ＳＴＡ１）１１０が設定したシーケンスナンバーを変更することなく無線通信装置（ＳＴＡ２）１２０へ転送する。
【００６４】
実施例２のシステムでは、従来と同様、アクセスポイント（ＡＰ）１３０は、中継パケットのヘッダに設定されたシーケンスナンバーの書き換えを実行する。これらの実施例については、後段で詳細に説明する。
【００６５】
無線通信装置（ＳＴＡ１）１１０と、無線通信装置（ＳＴＡ２）１２０は、アクセスポイント（ＡＰ）１３０に対する接続要求としてのアソシエーションが完了しており、図９に示す無線通信装置（ＳＴＡ１）１１０から、アクセスポイント（ＡＰ）１３０を経由して無線通信装置（ＳＴＡ２）１２０を結ぶＡＰ経由パス１５１が使用可能であるものとする。
【００６６】
以下、説明する実施例では、無線通信装置（ＳＴＡ１）１１０がデータ送信側、無線通信装置（ＳＴＡ２）１２０がデータ受信側の設定とする。無線通信装置間の直接通信を行うためのセットアップ処理としてのＤＬＳ（Ｄｉｒｅｃｔ  Ｌｉｎｋ  Ｓｅｔ−ｕｐ）の処理が完了すると、図９に示す無線通信装置（ＳＴＡ１）１１０と無線通信装置（ＳＴＡ２）１２０を、直接結ぶダイレクトリンクパス１５２が使用可能になる。
【００６７】
図１０は図９に示す無線通信装置（ＳＴＡ１）１１０の構成を示すブロック図である。なお、無線通信装置（ＳＴＡ２）１２０も共通の構成を持つ。図１０に示すように、無線通信装置１１０は、データ処理部１１１、伝送処理部１１２、無線インターフェース部１１３、制御部１１４、メモ１リ１５、アンテナ１１６を有する。
【００６８】
データ処理部１１１は、通信データを格納したパケットを作成する。伝送処理部１１２はデータ処理部１１１で生成されたパケットに対してヘッダや誤り検出符号の付加などの処理を行い、処理後のデータを無線インターフェース部１１３に提供する。無線インターフェース部１１３は、伝送処理部１１２から受け取ったデータを変調信号にしてアンテナ１１６を介して送出する。
【００６９】
データ受信動作においては、アンテナ１１６を介して受信したデータに対して、無線インターフェース部１１３が受信信号の復調を行い、伝送処理部１１２がヘッダの解析を行い、データ処理部１１１に渡す。データ処理部はパケットから通信データを取得する。制御部１１４は、上記各構成部の処理の統括的制御を行う。またメモリ１１５に格納されたデータを取得してパケット格納データとするためにデータ処理部１１１に提供する。あるいはデータ処理部１１１がパケットから取得したデータをメモリ１１５に格納する。メモリ１１５には、通信データの他、通信制御用のプログラムが格納されており、制御部１１４は、プログラムに従った通信制御を実行する。
【００７０】
メモリ１１５は、送信元アドレス（ＳＡ）対応のリオーダーバッファ１１８を含む。リオーダーバッファ１１８は制御部１１４または伝送処理部１１２の制御の下でパケット順を例えばパケットのＭＡＣヘッダに設定されたシーケンスナンバーに従ったシーケンス順に並べて格納するバッファである。リオーダーバッファ１１８は、送信元アドレス（ＳＡ：Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）単位で管理される。制御部１１４は、メモリ１１５に送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）単位で受信データを格納する送信元アドレス対応のリオーダーバッファ１１８を設定し、この送信元アドレス対応のリオーダーバッファ１１８に１つのデータ送信元からの受信パケットを格納し、受信パケットに設定されたシーケンスナンバーに従ってパケット順を揃える処理を行う。
【００７１】
［実施例１］
以下において説明する実施例１の構成では、アクセスポイント（ＡＰ）は、ＡＰ中継パスを経由するデータパケットについて、ヘッダに設定されたシーケンスナンバーの変更を行わない。すなわちパケット送信元（ソース）の設定したオリジナルのシーケンスナンバーが変更されずに宛先（ディスティネーション）まで届く設定である。従ってダイレクトリンクパスを利用した場合でもＡＰ経由パスを利用した場合でも、あるいは２つのパスを切り替えて混在させて利用した場合でも、データの受信装置のリオーダーバッファには、通信元アドレス（ＳＡ：Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）単位で、受信パケットの順序を、送信元の送信順（送信元で設定したシーケンスナンバー順）に一致させて格納することができる。
【００７２】
パケットのＭＡＣヘッダには、データ送信元において設定するシーケンスナンバーが記録される。このシーケンスナンバーは中継ポイントであるアクセスポイント（ＡＰ）は書き換えず、単にコピーを行って転送する。
【００７３】
本実施例の無線通信装置は、受信パケットを送信元アドレス（ＳＡ：Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）単位で管理されるリオーダーバッファに格納し、パケットの順序をヘッダに設定されたシーケンスナンバーに従った順序を揃えて格納する。
【００７４】
本発明の実施例１に従った通信処理シーケンスの概要について、図１１、図１２を参照して説明する。図１１、図１２には、左から、
データ送信装置である無線通信装置（ＳＴＡ１）、
通信中継装置としてのアクセスポイント（ＡＰ）、
データ受信装置である無線通信装置（ＳＴＡ２）、
これらの各装置を示している。
なお、無線通信装置（ＳＴＡ１）は、通信データの生成、供給処理などを行うアプリケーション等の上位レイヤと、上位レイヤから送信データを受領して送信処理を行うＭＡＣ層に分離して示してある。無線通信装置（ＳＴＡ２）についても、上位レイヤと、ＭＡＣ層に分離して示してある。なお、ハードウェア的には上位レイヤはデータ処理部などによって構成され、ＭＡＣ層は無線インターフェース部などによって構成される。なお、上位レイヤ、ＭＡＣ層いずれも制御部の管理下で制御が行われる。
【００７５】
なお、以下の説明では、データ送信を行う無線通信装置（ＳＴＡ１）を「ＳＴＡ１」、データ受信を行う無線通信装置（ＳＴＡ２）を「ＳＴＡ２」として簡略化して表記して説明する。
【００７６】
データ送信側であるＳＴＡ１はデータパケットを送信する際にパケットヘッダに設定するシーケンスナンバー（Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）を、パケット宛先アドレスであるディスティネーションアドレス（ＤＡ：Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）毎に管理する。すなわちＥｎｄ−ｔｏ−Ｅｎｄ単位で管理する。
【００７７】
図１１に示す例では、データ送信側であるＳＴＡ１は、ＳＴＡ２を宛先としたパケット１〜６を送信する。パケット１〜３はＡＰ経由パスを利用して送信し、パケット４〜６はダイレクトリンクパスを利用して送信する。
【００７８】
パケット１〜６の宛先アドレス（ＤＡ：Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）は、ＳＴＡ２のマックアドス＝２であり共通する。従って、ＳＴＡ１は、パケット１〜６に連続したシーケンスナンバーを設定する。本例ではパケット１〜６に対してシーケンスナンバー：ＳＮ＝１〜６を設定するものとする。
【００７９】
ＡＰ中継パスで送信されるパケット１〜３は、アクセスポイント（ＡＰ）において一旦、受信された後、ＡＰからＳＴＡ２に再送信される。ＡＰでは、データパケットを中継する際に、受信パケットのヘッダに設定されたシーケンスナンバー（Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）を維持して転送先（ＳＴＡ２）に送信する。
【００８０】
受信側装置であるＳＴＡ２は送信元アドレス（ＳＡ）単位のリオーダーバッファを用いて、送信元アドレス（ＳＡ）単位で、受信パケットのシーケンスナンバーに従って順番を揃えるリオーダーバッファを利用して受信パケットの管理を行う。すなわち、Ｅｎｄ−ｔｏ−Ｅｎｄ単位でパケット管理を行う。
【００８１】
図１１、図１２に示す例では、データパケット１〜６は全て送信元がＳＴＡ１であり、ＳＡ（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）＝１である。従ってＳＴＡ２において、パケット１〜６は、全て同一のリオーダーバッファに格納され、シーケンスナンバーに従ってパケット順番が揃えられる。
【００８２】
ＳＴＡ２はデータパケットをＳＡ＝１対応のリオーダーバッファに保持し、ＡＰ経由パス、およびダイレクトリンクパス双方のパケットを同一のＳＡ＝１対応のリオーダーバッファに格納してシーケンスナンバーに従ってパケット順番を揃える処理を行う。この処理の後、パケットが上位層のアプリケーションなどに提供される。
【００８３】
なお、実施例において説明するソースアドレス（ＳＡ：Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）、宛先アドレスまたはディスティネーションアドレス（ＤＡ：Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）は、通信パケットのエンドツーエンド（Ｅｎｄ−ｔｏ−Ｅｎｄ）の通信元と通信先のＭＡＣアドレスである。
【００８４】
また、トランスミッタアドレス（ＴＡ：Ｔｒａｎｓｍｉｔｔｅｒ  Ａｄｄｒｅｓｓ）、レシーバアドレス（ＲＡ：Ｒｅｃｅｉｖｅｒ  Ａｄｄｒｅｓｓ）は、ピアツーピア（Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）のデータパケット送信元と送信先のＭＡＣアドレスである。
【００８５】
これらのアドレス（ＳＡ，ＴＡ，ＲＡ，ＤＡ）は、いずれも８０２．１１で定義されたＭＡＣヘッダに含まれるアドレスフィールド（Ａｄｄｒｅｓｓ  ｆｉｅｌｄ）（図６に示すヘッダ中のＡｄｄｒ１，Ａｄｄｒ２，Ａｄｄｒ３，Ａｄｄｒ４）から間接的に求めることが可能である。
【００８６】
以下、図１１、図１２に示すシーケンス図に従って、時間を追って処理の流れを説明する。ＳＴＡ１の上位レイヤは、ステップＳ１０１において、無線インターフェース部としてのＭＡＣ層に対して通信パケット１〜６を供給する。ＭＡＣ層は、ステップＳ１０２において、ＡＰ経由の経路（ＡＰ経由パス）でデータパケット１〜３を送信する。なお、送信パケット１〜３のＭＡＣヘッダに設定されるアドレス情報は以下の通りとなる。
データ送信元を示すソースアドレス（ＳＡ）＝１
直接通信におけるデータ送信元を示すトランスミッタアドレス（ＴＡ）＝１
直接通信におけるデータ受信先を示すレシーバアドレス（ＲＡ）＝０
データ宛先を示すディスティネーションアドレス（ＤＡ）＝２
これらのアドレス情報がパケット１〜３のＭＡＣヘッダに設定される。なお、ヘッダには、ＳＴＡ１が設定したシーケンスナンバー（ＳＮ＝１〜３）も記録される。
【００８７】
なお、図に示すように、
ＳＴＡ１のＭＡＣアドレス＝１、
ＡＰのＭＡＣアドレス=０、
ＳＴＡ２のＭＡＣアドレス＝２、
であり、上記の各アドレス設定は、これらのＭＡＣアドレスに対応する設定となっている。
【００８８】
次に、ＳＴＡ１ＭＡＣ層は、ステップＳ１０３において、ＳＴＡ間直接通信経路（ダイレクトリンクパス）を利用してパケット４〜６を送信する。なお、送信パケット４〜６のＭＡＣヘッダに設定されるアドレス情報は以下の通りとなる。
データ送信元を示すソースアドレス（ＳＡ）＝１
直接通信におけるデータ送信元を示すトランスミッタアドレス（ＴＡ）＝１
直接通信におけるデータ受信先を示すレシーバアドレス（ＲＡ）＝２
データ宛先を示すディスティネーションアドレス（ＤＡ）＝２
これらのアドレス情報がパケット４〜６のＭＡＣヘッダに設定される。なお、ヘッダには、ＳＴＡ１が設定したシーケンスナンバー（ＳＮ＝４〜６）も記録される。
【００８９】
データ受信側のＳＴＡ２はデータパケット１〜６を受信することになる。ＡＰ経由パスを利用して送信されたパケット１は、ＡＰにおいて中継処理がなされるため、多くの転送時間を要する。
【００９０】
この結果、図に示すように、ＳＴＡ間直接通信経路（ダイレクトリンクパス）を利用して送信されたパケット４〜６が、先に、ステップＳ１０４においてＳＴＡ２ＭＡＣ層によって受信され、リオーダーバッファに格納される。本発明の通信装置の有するリオーダーバッファは、前述したようにパケットのオリジナルの送信元、すなわち送信元アドレス（ＳＡ）単位で管理される。
【００９１】
パケット４〜６は、共通のＳＡ＝１（ＳＴＡ１のＭＡＣアドレス＝１）を持つパケットであり、パケット４〜６は、ＳＡ＝１対応のリオーダーバッファに格納されて、シーケンスナンバー（ＳＮ＝４〜６）に従ってパケット順が揃えられる。ステップＳ１０５において、パケットの順番がシーケンスナンバー順に揃えられているか否かを確認する。この時点で、シーケンスナンバーはＳＮ＝４〜６のみであり、先行するシーケンスナンバーＳＮ＝１〜３が格納されていない。この場合、ステップＳ１０５の判定はＮｏとなる。すなわち、パケットの順序性が保たれていないと判断し、上位レイヤには転送することなく、ステップＳ１０６において、そのままリオーダーバッファに保持される。
【００９２】
その後、図１２に示すステップＳ１２１において、ＡＰからＳＴＡ２ＭＡＣ層に対してＡＰ経由パスのパケット１〜３が送信される。この送信パケット１〜３のＭＡＣヘッダに設定されるアドレス情報は以下の通りとなる。
データ送信元を示すソースアドレス（ＳＡ）＝１
直接通信におけるデータ送信元を示すトランスミッタアドレス（ＴＡ）＝０
直接通信におけるデータ受信先を示すレシーバアドレス（ＲＡ）＝２
データ宛先を示すディスティネーションアドレス（ＤＡ）＝２
これらのアドレス情報がパケット１〜３のＭＡＣヘッダに設定される。なお、ヘッダには、ＡＰが変更することなくＳＴＡ１の設定したシーケンスナンバー（ＳＮ＝１〜３）も記録されている。
【００９３】
ステップＳ１２２においてＳＴＡ２ＭＡＣ層によって、これらのパケットはリオーダーバッファに格納される。リオーダーバッファは、前述したように、パケットのオリジナルの送信元、すなわち送信元アドレス（ＳＡ）単位で管理されたリオーダーバッファである。
【００９４】
パケット１〜３は、共通のＳＡ＝１（ＳＴＡ１のＭＡＣアドレス＝１）を持つパケットであり、パケット１〜３は、ＳＡ＝１対応のリオーダーバッファに格納される。ＳＡ＝１のリオーダーバッファには、すでにダイレクトリンクパス経由で受信済みのパケット４〜６がシーケンスナンバー順に格納されており、パケット１〜３は、ここに追加格納されることになる。通信装置の制御部は、パケット１〜３をリオーダーバッファに追加格納する際に、パケット１〜６のシーケンスナンバーを参照して、シーケンスナンバー（ＳＮ＝１〜６）に従ってパケット順を揃える。
【００９５】
次に、ステップＳ１２３において、パケットの順番がシーケンスナンバー順に揃えられているか否かを確認する。リオーダーバッファにはＳＮ＝１〜６のパケットが格納されており、ステップＳ１２３の判定はＹｅｓとなる。この判定に基づいて、ステップＳ１２４において、受信パケットのデータ処理などを実行するアプリケーションなどを実行する上位レイヤにパケットが提供される。
【００９６】
上位レイヤが受け取るパケットの順番は、ＳＡ＝１対応のリオーダーバッファに格納されているパケット順、すなわちパケット１〜６の順番となる。これは、ＳＴＡ１の送信順に一致することになる。
【００９７】
上述したように、図１１、図１２を参照して説明した実施例１は、８０２．１１で定義されたＭＡＣヘッダと、データ送信元アドレス（ＳＡ）対応のリオーダーバッファを利用して、データの送信元と宛先、すなわち、エンドツーエンド（Ｅｎｄ−ｔｏ−Ｅｎｄ）での順序性を保つことを可能としている。
【００９８】
なお、本実施例１では、パケットの中継処理を行うノード、すなわちアクセスポイント（ＡＰ）は、転送するパケットのヘッダに設定されたシーケンスナンバーの書き換えを行なわない設定とすることを必要とする。また、データ送信元（ＳＴＡ１）で設定するシーケンスナンバーは、宛先アドレス（ＤＡ）単位で連続したシーケンスナンバーとして設定する。
【００９９】
なお、本実施例においてパケットヘッダに記録するソースアドレス（ＳＡ）、宛先アドレス（ＤＡ）は、８０２．１１において規定されるパケットヘッダのＭＡＣヘッダ（図６参照）の規定のアドレスフィールド（Ａｄｄｒｅｓｓ  ｆｉｅｌｄ）に記録可能であり、ヘッダ構成を変更する必要はない。
【０１００】
［実施例２］
次に、本発明の第２実施例について説明する。実施例２では、アクセスポイント（ＡＰ）は、従来のシステムと同様、パケットヘッダに設定されているシーケンスナンバーの書き換えを実行する。これは、既存の８０２．１１と同様のピアツーピア（Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）管理処理と同様の処理である。
【０１０１】
送信側装置であるＳＴＡ１はデータパケットを送信する際に、パケットヘッダに設定するシーケンスナンバー（Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）を、パケットの直接的なデータ受信先を示すレシーバアドレス（ＲＡ：Ｒｅｃｅｉｖｅｒ  Ａｄｄｒｅｓｓ）毎に管理する。これも、既存の８０２．１１と同様のピアツーピア（Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）管理処理と同様の処理である。
【０１０２】
本実施例２では、データ送信側であるＳＴＡ１が経路変更を行う際に、データ受信側のＳＴＡ２に対して経路変更要求を送信する。ＳＴＡ２は、ＳＴＡ１からの経路変更要求を受信すると、経路変更を受諾する場合、経路変更応答をＳＴＡ１に送信する。ＳＴＡ２がＳＴＡ１に送信する経路変更応答には、以下のデータを格納する。
（ａ）ＳＴＡ２が経路変更要求を受信した時点で、その送信元（ＳＴＡ１）から受信済みの最終パケットのシーケンスナンバー（最終受信パケットシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ））、
（ｂ）ＳＴＡ２の送信元アドレス（ＳＡ）単位で管理するリオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）、
これらの２つのデータを格納してＳＴＡ１に通知する。
【０１０３】
図１３を参照してこれらのデータについて説明する。図１３には、ＳＴＡ２が送信元アドレス（ＳＡ）単位で管理するリオーダーバッファを示している。このリオーダーバッファは、ＳＴＡ１の送信元アドレスＳＡ＝１に対応するリオーダーバッファである。
【０１０４】
ＳＴＡ２が経路変更要求を受信した時点で、ＳＴＡ１から受信済みの最終パケットのシーケンスナンバー（最終受信パケットシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ））がＳＮ＝１００であるとする。このシーケンスナンバーは、例えばＡＰ経由パスで受信したパケットのヘッダに設定されたシーケンスナンバーであり、アクセスポイント（ＡＰ）が中継処理に際して設定したシーケンスナンバーである。
【０１０５】
最終受信パケットのヘッダには送信元アドレス（ＳＡ＝１）も記録されており、ＳＴＡ２は、その送信元アドレス（ＳＡ）に対応するリオーダーバッファについて検証し、リオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）を算出する。
【０１０６】
ＳＴＡ２は、最終受信パケットシーケンスナンバー：ＳＮ＝１００と、ＳＡ＝１対応のリオーダーバッファのバッファサイズからリオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）を算出する。図に示す例では、ＳＡ＝１対応のリオーダーバッファには８パケット格納可能であり、最終受信パケットシーケンスナンバー：ＳＮ＝１００以降に、連続するシーケンスナンバーのパケットを受信したと仮定すると、ＳＮ＝１０１〜１０８のパケットを格納することができる。この格納可能な最終シーケンスナンバーＳＮ＝１０８を［ＷｉｎＥｎｄ］とする。
【０１０７】
なお、リオーダーバッファに新たに格納可能な最初のシーケンスナンバー：ＳＮ＝１０１を［ＷｉｎＳｔａｒｔ］とする。
すなわち、ＳＴＡ２の管理するＳＡ＝１のリオーダーバッファには、新たにＳＴＡ１から受信する８パケットを格納可能な状態にある。
【０１０８】
ＳＴＡ２は、ＳＴＡ１に対してこのように、
（ａ）ＳＴＡ２が経路変更要求を受信した時点で、その送信元（ＳＴＡ１）から受信済みの最終パケットのシーケンスナンバー（最終受信パケットシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ））、
（ｂ）ＳＴＡ２の送信元アドレス（ＳＡ）単位で管理するリオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）、
これらの２つのデータを格納してＳＴＡ１に通知する。
【０１０９】
ＳＴＡ１は、ＳＴＡ２から受信したこれら２つのデータに基づいて、経路変更後の送信パケットに設定するシーケンスナンバーを決定する。ＳＴＡ１は、例えばこれまでの通信パスであるＡＰ経由パスから、ダイレクトリンクパスに変更して送信するパケットに設定するシーケンスナンバー［Ｘ］を以下の値とする。
Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ＜Ｘ≦ＷｉｎＥｎｄ
【０１１０】
上記の例では、
Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ＝１００
ＷｉｎＥｎｄ＝１０８
この設定であるので、
１００＜Ｘ≦１０８
となる。
なお、複数のパケットをブロックとして連続送信する場合は、それらの複数パケットに設定するシーケンスナンバーの全てが上記条件を満足するように設定することが好ましい。
【０１１１】
この処理を行う場合、データ受信側であるＳＴＡ２は、受信パケットの最終シーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）と、送信元アドレス（ＳＡ）単位で管理するリオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）を算出または保持することが必要となる。この処理シーケンスについて図１４を参照して説明する。
【０１１２】
図１４には、左から、
データ送信装置である無線通信装置（ＳＴＡ１）、
通信中継装置としてのアクセスポイント（ＡＰ）、
データ受信装置である無線通信装置（ＳＴＡ２）、
これらの各装置を示している。
なお、無線通信装置（ＳＴＡ１）は、通信データの生成、供給処理などを行うアプリケーション等の上位レイヤと、上位レイヤから送信データを受領して送信処理を行うＭＡＣ層に分離して示してある。無線通信装置（ＳＴＡ２）についても、上位レイヤと、ＭＡＣ層に分離して示してある。
【０１１３】
ＳＴＡ１とＳＴＡ２はＡＰ経由パスを利用して通信を実行している。ＳＴＡ１の上位レイヤは、ステップＳ２０１において、無線インターフェース部としてのＭＡＣ層に対して通信パケット０を供給する。ＭＡＣ層は、ステップＳ２０２において、ＡＰ経由の経路（ＡＰ経由パス）でデータパケット０を送信する。なお、送信パケット０のＭＡＣヘッダに設定されるアドレス情報は以下の通りとなる。
データ送信元を示すソースアドレス（ＳＡ）＝１
直接通信におけるデータ送信元を示すトランスミッタアドレス（ＴＡ）＝１
直接通信におけるデータ受信先を示すレシーバアドレス（ＲＡ）＝０
データ宛先を示すディスティネーションアドレス（ＤＡ）＝２
これらのアドレス情報がパケット０のＭＡＣヘッダに設定される。
なお、ヘッダには、ＳＴＡ１が設定した以下の情報も記録される。
シーケンスナンバー（ＳＮ＝０）。
【０１１４】
中継処理を行うアクセスポイント（ＡＰ）は、ステップＳ２０３において、新たなシーケンスナンバー（ＳＮ＝１００）を設定した中継パケットをＳＴＡ２に送信する。
【０１１５】
ＳＴＡ２では、受信パケットをＳＡ＝１対応のリオーダーバッファに一端格納した後、上位レイヤに転送する。さらに、ＳＴＡ２は、ＡＰから受信したパケットのヘッダに設定されたシーケンスナンバー（ＳＮ＝１００）をメモリに格納して保持する。
【０１１６】
さらに、ＳＴＡ２は、ＳＴＡ１からの経路変更要求を受信した場合、ＳＡ＝１対応のリオーダーバッファのバッファサイズに基づいて、リオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）を算出する処理を行う。
【０１１７】
次に、本実施例２における通信シーケンスについて、図１５〜図１８を参照して説明する。図１５〜図１８には、左から、
データ送信装置である無線通信装置（ＳＴＡ１）、
通信中継装置としてのアクセスポイント（ＡＰ）、
データ受信装置である無線通信装置（ＳＴＡ２）、
これらの各装置を示している。
なお、無線通信装置（ＳＴＡ１）は、通信データの生成、供給処理などを行うアプリケーション等の上位レイヤと、上位レイヤから送信データを受領して送信処理を行うＭＡＣ層に分離して示してある。無線通信装置（ＳＴＡ２）についても、上位レイヤと、ＭＡＣ層に分離して示してある。なお、ハードウェア的には上位レイヤはデータ処理部などによって構成され、ＭＡＣ層は無線インターフェース部などによって構成される。なお、上位レイヤ、ＭＡＣ層いずれも制御部の管理下で制御が行われる。
【０１１８】
図１５〜図１８に示す例では、ＳＴＡ１がＳＴＡ２に対してデータ送信を行っている。データパケット１〜３についてはＡＰ経由パスを利用して送信し、パケット４以降はダイレクトリンクパスを利用して送信する。なお、パス変更時には、前述した経路変更要求と、経路変更応答がＳＴＡ１とＳＴＡ２間で送受信される。
【０１１９】
図１５〜図１８に示す各ステップの処理について説明する。
まず、ＳＴＡ１の上位レイヤは、ステップＳ３０１において、無線インターフェース部としてのＭＡＣ層に対して通信パケット１〜６を供給する。ＭＡＣ層は、ステップＳ３０２において、ＡＰ経由の経路（ＡＰ経由パス）でデータパケット１〜３を送信する。なお、送信パケット１〜３のＭＡＣヘッダに設定されるアドレス情報は以下の通りとなる。
データ送信元を示すソースアドレス（ＳＡ）＝１
直接通信におけるデータ送信元を示すトランスミッタアドレス（ＴＡ）＝１
直接通信におけるデータ受信先を示すレシーバアドレス（ＲＡ）＝０
データ宛先を示すディスティネーションアドレス（ＤＡ）＝２
これらのアドレス情報がパケット１〜３のＭＡＣヘッダに設定される。なお、ヘッダには、ＳＴＡ１が設定したシーケンスナンバー（ＳＮ＝１〜３）も記録される。
【０１２０】
なお、図に示すように、
ＳＴＡ１のＭＡＣアドレス＝１、
ＡＰのＭＡＣアドレス=０、
ＳＴＡ２のＭＡＣアドレス＝２、
であり、上記の各アドレス設定は、これらのＭＡＣアドレスに対応する設定となっている。
【０１２１】
次に、ＳＴＡ１は、ステップＳ３０３においてＡＰ経由パスからダイレクトリンクパスへの経路変更要求をＳＴＡ２に送信する。この経路変更要求はダイレクトリンクパスを利用して送信する。
【０１２２】
データ受信側のＳＴＡ２は、ステップＳ３０４において経路変更を受諾することを示す経路変更応答をＳＴＡ１に送信する。この経路変更応答もダイレクトリンクパスを利用して送信する。
【０１２３】
ＳＴＡ２がＳＴＡ１に送信する経路変更応答には、前述したように、以下のデータが格納される。
（ａ）ＳＴＡ２が経路変更要求を受信した時点で、その送信元（ＳＴＡ１）から受信済みの最終パケットのシーケンスナンバー（最終受信パケットシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ））、
（ｂ）ＳＴＡ２の送信元アドレス（ＳＡ）単位で管理するリオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）、
これらの２つのデータを格納してＳＴＡ１に通知する。
【０１２４】
図に示す処理例では、
（ａ）最終受信パケットシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）＝１００、
（ｂ）ＳＴＡ１対応のリオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）＝１０８、
このような設定とする。
【０１２５】
ＳＴＡ１は、ステップＳ３０５において、ＳＴＡ２から受信した経路変更応答に格納されたこれら２つのデータに基づいて、経路変更後の送信パケットに設定するシーケンスナンバーを決定する。
【０１２６】
これまでの通信パスであるＡＰ経由パスから、ダイレクトリンクパスに変更して送信するパケットに設定するシーケンスナンバー［Ｘ］を以下の値とする。
Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ＜Ｘ≦ＷｉｎＥｎｄ
上記の例では、
Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ＝１００
ＷｉｎＥｎｄ＝１０８
この設定であるので、
１００＜Ｘ≦１０８
となる。
なお、複数のパケットをブロックとして連続送信する場合は、それらの複数パケットに設定するシーケンスナンバーの全てが上記条件を満足するように設定する。
【０１２７】
図１６に示すステップＳ３１１において、ＳＴＡ１は、ＳＴＡ間直接通信経路（ダイレクトリンクパス）を利用してパケット４〜６を送信する。送信パケット４〜６のＭＡＣヘッダに設定されるアドレス情報は以下の通りとなる。
データ送信元を示すソースアドレス（ＳＡ）＝１
直接通信におけるデータ送信元を示すトランスミッタアドレス（ＴＡ）＝１
直接通信におけるデータ受信先を示すレシーバアドレス（ＲＡ）＝２
データ宛先を示すディスティネーションアドレス（ＤＡ）＝２
これらのアドレス情報がパケット４〜６のＭＡＣヘッダに設定される。
【０１２８】
ヘッダには、ＳＴＡ１が設定したシーケンスナンバー（ＳＮ＝１０６〜１０８）も記録される。このシーケンスナンバー：ＳＮ＝１０６〜１０８は、
Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ＜Ｘ≦ＷｉｎＥｎｄ
この条件式を満足するシーケンスナンバーとしてＳＴＡ１が算出したシーケンスナンバーである。
【０１２９】
本処理例では、データ受信側のＳＴＡ２は、ＡＰ経由パスで送信されたパケット１〜３より先にダイレクトリンクパス経由のパケット４〜６を受領する。ステップＳ３１２において、ＳＴＡ間直接通信経路（ダイレクトリンクパス）を利用して送信されたパケット４〜６が、ＳＴＡ２ＭＡＣ層によって受信され、リオーダーバッファに格納される。このリオーダーバッファは、前述したようにパケットのオリジナルの送信元、すなわち送信元アドレス（ＳＡ）単位で管理される。
【０１３０】
パケット４〜６は、共通のＳＡ＝１（ＳＴＡ１のＭＡＣアドレス＝１）を持つパケットであり、パケット４〜６は、ＳＡ＝１対応のリオーダーバッファに格納されて、シーケンスナンバー（ＳＮ＝１０６〜１０８）に従ってパケット順が揃えられる。なお、リオーダーバッファには、先頭がＷｉｎＳｔａｒｔに対応するシーケンスナンバーのパケットの格納部とされ、最後尾が、ＷｉｎＥｎｄに対応するシーケンスナンバーのパケットの格納部として設定される。
【０１３１】
ステップＳ３１３において、リオーダーバッファにパケットがシーケンスナンバー順に揃えられているか否かを確認する。この時点で、リオーダーバッファに格納されているパケットは、シーケンスナンバー：ＳＮ＝１０６〜１０８のみであり、先行するシーケンスナンバーＳＮ＝１０１〜１０５が格納されていない。この場合、ステップＳ３１３の判定はＮｏとなる。すなわち、パケットの順序性が保たれていないと判断し、上位レイヤには転送することなく、ステップＳ３１４において、そのままリオーダーバッファに保持される。
【０１３２】
その後、図１７に示すステップＳ３２１において、ＡＰからＳＴＡ２ＭＡＣ層に対してＡＰ経由パスのパケット１〜３が送信される。この送信パケット１〜３のＭＡＣヘッダに設定されるアドレス情報は以下の通りとなる。
データ送信元を示すソースアドレス（ＳＡ）＝１
直接通信におけるデータ送信元を示すトランスミッタアドレス（ＴＡ）＝０
直接通信におけるデータ受信先を示すレシーバアドレス（ＲＡ）＝２
データ宛先を示すディスティネーションアドレス（ＤＡ）＝２
これらのアドレス情報がパケット１〜３のＭＡＣヘッダに設定される。なお、ヘッダには、ＡＰが新たに設定したシーケンスナンバー（ＳＮ＝１０１〜１０３）も記録されている。
【０１３３】
このシーケンスナンバー：ＳＮ＝１０１〜１０３は、先にＡＰ経由パスでＳＴＡ２に送信済みのパケットのシーケンスナンバー：ＳＮ＝１００に連続するシーケンスナンバーである。すなわち、先に説明した最終受信パケットシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）ＳＮ＝１００に続く連続番号となる。基本的に、ＳＴＡ１の送信するデータパケットの優先度設定に変更が無い場合、ＡＰにおいては連続するシーケンスナンバーが設定される。
【０１３４】
ステップＳ３２２においてＳＴＡ２ＭＡＣ層によって、これらのＡＰ経由で送信されるパケット１〜３はリオーダーバッファに格納される。リオーダーバッファは、前述したように、パケットのオリジナルの送信元、すなわち送信元アドレス（ＳＡ）単位で管理されたリオーダーバッファである。
【０１３５】
パケット１〜３は、共通のＳＡ＝１（ＳＴＡ１のＭＡＣアドレス＝１）を持つパケットであり、パケット１〜３は、ＳＡ＝１対応のリオーダーバッファに格納される。ＳＡ＝１のリオーダーバッファには、すでにダイレクトリンクパス経由で受信済みのパケット４〜６がシーケンスナンバー順（ＳＮ＝１０６〜１０８）に格納されており、パケット１〜３は、ここに追加格納されることになる。通信装置の制御部は、パケット１〜３をリオーダーバッファに追加格納する際に、パケット１〜６のシーケンスナンバーを参照して、シーケンスナンバーに従ってパケット順を揃える。
【０１３６】
図１７のステップＳ３２２に示すように、リオーダーバッファには、先頭からシーケンスナンバー：ＳＮ＝１０１〜１０３のパケット１〜３が格納され、バッファの最後部にシーケンスナンバー：ＳＮ＝１０６〜１０８のパケット４〜６が格納される。
【０１３７】
次に、ステップＳ３２３において、パケットの順番がシーケンスナンバー順に揃えられているか否かを確認する。この時点で、リオーダーバッファには、シーケンスナンバー：ＳＮ＝１０４から１０５のパケットが未受信であるため、パケットの到達順序が保たれていないと判断し、上位層へのパケットの転送は行わない。ステップＳ３２５において、そのままバッファに格納した状態を維持する。
【０１３８】
次に、図１８のステップＳ４０１〜Ｓ４０２において、ＳＴＡ１は、ダイレクトリンクパスを介して次々とパケット７〜１１を送信する。これらのパケットにも先にパケット４〜６に対して設定したシーケンスナンバー：ＳＮ＝１０６〜１０８に続くシーケンスナンバー：ＳＮ＝１０９〜１１３が設定される。
【０１３９】
ＳＴＡ２は、これらのパケットをダイレクトリンクパスを介して受信し、ＳＴＡ１に対応する送信元アドレス（ＳＡ＝１）対応のリオーダーバッファに格納する。本例において、（ＳＡ＝１）対応のリオーダーバッファは８つのパケットを格納可能な構成である。（ＳＡ＝１）対応のリオーダーバッファには、すでにパケット１〜３（ＳＮ＝１０１〜１０３）と、パケット４〜６（ＳＮ＝１０６〜１０８）とが格納されているため、これらすべてのパケットの格納は無理となる。本処理例では、リオーダーバッファの末尾（ＷｉｎＥｎｄ）にシーケンスナンバー＝１０８のパケット６が格納されており、さらなる格納パケットの追加はできない状態にある。
【０１４０】
この場合、ＳＴＡ２は、ステップＳ４１１〜Ｓ４１２に示すように、ＷｉｎＥｎｄを超えたシーケンスナンバーの設定されたパケットを受信した場合には、その受信パケットをリオーダーバッファに順次格納して、溢れたパケットを上位層に転送する処理を行う。
【０１４１】
図１９を参照して、この処理について説明する。ＳＴＡ１から新たな受信パケット７〜１１（ＳＮ＝１０９〜１１３）２０１を受信し、ＳＴＡ１対応のリオーダーバッファ２２１に格納しようとする。しかし、このリオーダーバッファ２２１には、受信パケット７〜１１（ＳＮ＝１０９〜１１３）２０１を格納するスペースがない。この場合、リオーダーバッファ２２１の先頭から順番に、パケットを取り出して滋養位相に転送する。この例ではパケット１〜３（ＳＮ＝１０１〜１０３）が取り出されて上位層に転送され、受信パケット７〜１１（ＳＮ＝１０９〜１１３）２０１をリオーダーバッファ２２１に格納する処理が行われる。
【０１４２】
図１８に戻り、本実施例のシーケンスについての説明を続ける。このようにして新規受信パケット７〜１１（ＳＮ＝１０９〜１１３）がリオーダーバッファに格納された後、ＳＴＡ２は、ステップＳ４２２において、パケットがリオーダーバッファに到達順序に従って格納されているか否かを判定する。この時点で、リオーダーバッファには、パケット４〜１１（ＳＮ＝１０６〜１１３）が格納されている。この場合、ステップＳ４２２の判定はＹｅｓとなる。この判定に基づいて、ステップＳ４２３において、受信パケットのデータ処理などを実行するアプリケーションなどを実行する上位レイヤにパケットが提供される。
【０１４３】
上位レイヤが受け取るパケットの順番は、図に示すように、リオーダーバッファから溢れることで先に転送されたパケット１〜３、その後、リオーダーバッファに格納されたパケット４〜１１となる。これは、ＳＴＡ１の送信順に一致することになる。
【０１４４】
上述したように、実施例２も実施例１と同様、データの送信元と宛先、すなわち、エンドツーエンド（Ｅｎｄ−ｔｏ−Ｅｎｄ）でパケット順を保つことが可能となる。
【０１４５】
なお、本実施例２では、パケットの中継処理を行うノード、すなわちアクセスポイント（ＡＰ）は、従来と同様の処理を行うものであり、何ら変更する必要はない。すなわちＡＰは転送パケットのヘッダに設定されたシーケンスナンバーの書き換えを行なってよい。
【０１４６】
本実施例２も、実施例１と同様、パケット受信側において、送信元アドレス（ＳＡ）単位で設定されるリオーダーバッファを利用して受信パケットの管理を行う。
データ送信側のＳＴＡ１は、通信パスの切り替えを行う際に経路変更要求を受信側（ＳＴＡ２）に送信し、ＳＴＡ２から経路変更応答を受信し、その経路変更応答に格納されたデータを利用して、経路変更後の送信パケットに設定するシーケンスナンバーを決定する。
【０１４７】
経路変更応答に格納するデータは以下のデータである。
（ａ）ＳＴＡ２が経路変更要求を受信した時点で、その送信元（ＳＴＡ１）から受信済みの最終パケットのシーケンスナンバー（最終受信パケットシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ））、
（ｂ）ＳＴＡ２の送信元アドレス（ＳＡ）単位で管理するリオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）、
これらの２つのデータを格納して経路要求を行ったデータ送信側（ＳＴＡ１）に通知する。
【０１４８】
データ送信側（ＳＴＡ１）は、これらのデータを利用して、経路変更後の送信パケットに設定するシーケンスナンバーを決定する。すなわち、
Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ＜Ｘ≦ＷｉｎＥｎｄ
この条件式を満足するシーケンスナンバーを算出し、この算出したシーケンスナンバーを新規経路で送信するパケットに設定して送信する。
【０１４９】
このような処理を行うことで、エンドツーエンド（Ｅｎｄ−ｔｏ−Ｅｎｄ）でパケット順を一致させることを実現している。
【０１５０】
なお、上述の実施例では、ＡＰ経由パスからダイレクトリンクパスへの変更処理例を説明した。この場合の経路変更要求と、経路変更応答は、新規経路であるダイレクトリンクパスを利用して行う。
【０１５１】
上述した処理例以外のパス切り替えにおいても本発明は適用可能である。ただし、経路変更要求と、経路変更応答は、新規経路を利用して行う。例えば旧経路をダイレクトリンクパスとして、新経路をＡＰ経由パスとする場合は経路変更要求と、経路変更応答は、ＡＰ経由パスを利用して行う。
【０１５２】
旧経路をダイレクトリンクパスとして、新経路をＡＰ経由パスとする場合における経路変更要求と、経路変更応答の通信シーケンスを図２０に示す。
【０１５３】
ステップＳ５０１においてＳＴＡ１がＳＴＡ２に対してダイレクトリンクパスを経由したデータ送信を行っている。その後、ＳＴＡ１がＡＰ経由パスへの経路変更要求を行う場合、ＳＴＡ１は、ステップＳ５０２においてＡＰ経由パスを利用して経路変更要求をＳＴＡ２に対して送信する。
【０１５４】
ＳＴＡ２は、ステップＳ５０３において、経路変更応答をＡＰ経由パスで送信する。
経路変更応答には以下のデータを格納する。
（ａ）ＳＴＡ２が経路変更要求を受信した時点で、その送信元（ＳＴＡ１）から受信済みの最終パケットのシーケンスナンバー（最終受信パケットシーケンスナンバー（Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ））、
（ｂ）ＳＴＡ２の送信元アドレス（ＳＡ）単位で管理するリオーダーバッファに格納可能な最終シーケンスナンバー（ＷｉｎＥｎｄ）、
これらの２つのデータを格納して経路要求を行ったデータ送信側（ＳＴＡ１）に通知する。
【０１５５】
その後、ＳＴＡ１は、ステップＳ５０５において、新たな経路、すなわちＡＰ経由パスを利用してデータ送信を開始する。この送信パケットに設定するシーケンスナンバーは、上述した処理例と同様、
Ｌａｔｅｓｔ  Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ＜Ｘ≦ＷｉｎＥｎｄ
この条件式を満足するシーケンスナンバーである。
【０１５６】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１５７】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１５８】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１５９】
以上、説明したように、本発明の一実施例構成によれば、例えば通信パスの切り替えによって発生するパケットの順序乱れを防止することができる。データ送信元がデータ宛先（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）毎にシーケンスナンバーを設定し、中継ポイントがシーケンスナンバーの書き換えを行わずに送信する。パケットを受信側では、送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）単位で受信データを格納する送信元アドレス対応リオーダーバッファを設定し、受信パケットに設定されたシーケンスナンバーに従ってパケット順を揃える。また、データ送信元と受信先間で経路変更要求と応答を送受信し、受信先において受信済みのシーケンスナンバー等の情報を送信元に通知し、送信元において、この情報を利用して新経路を利用して送信するパケットのシーケンスナンバーを決定する。本構成により、受信装置の上位層は送信データの順番に一致した順でデータを受領することが可能となる。
【図面の簡単な説明】
【０１６０】
【図１】ＡＰ経由パスを介した通信処理について説明する図である。
【図２】ＡＰ経由パスと、ダイレクトリンクパスを利用した通信処理について説明する図である。
【図３】通信パスの切り替えによる受信フレームの順序の乱れについて説明する図である。
【図４】通信パスの切り替えによる受信フレームの順序の乱れについて説明する図である。
【図５】通信パスの切り替えによる受信フレームの順序の乱れについて説明する図である。
【図６】通信パケットに設定するヘッダの構成例について説明する図である。
【図７】メッシュシーケンスナンバーを利用した通信処理シーケンスの一例について説明する図である。
【図８】メッシュシーケンスナンバーを利用した通信処理シーケンスの一例について説明する図である。
【図９】本発明の一実施例の通信処理システム構成例について説明する図である。
【図１０】本発明の一実施例の無線通信装置の構成例について説明する図である。
【図１１】本発明の一実施例に係る経路切り替えを伴う通信シーケンスについて説明する図である。
【図１２】本発明の一実施例に係る経路切り替えを伴う通信シーケンスについて説明する図である。
【図１３】無線通信装置の利用するリオーダーバッファについて説明する図である。
【図１４】本発明の一実施例に係る経路切り替えを伴う通信シーケンスについて説明する図である。
【図１５】本発明の一実施例に係る経路切り替えを伴う通信シーケンスについて説明する図である。
【図１６】本発明の一実施例に係る経路切り替えを伴う通信シーケンスについて説明する図である。
【図１７】本発明の一実施例に係る経路切り替えを伴う通信シーケンスについて説明する図である。
【図１８】本発明の一実施例に係る経路切り替えを伴う通信シーケンスについて説明する図である。
【図１９】本発明の一実施例に係る経路切り替えを伴う通信処理においてデータ受信側がリオーダーバッファを利用して行う処理について説明する図である。
【図２０】本発明の一実施例に係る経路切り替えを伴う通信シーケンスについて説明する図である。
【符号の説明】
【０１６１】
１０，２０  無線通信装置（ＳＴＡ）
３０  アクセスポイント（ＡＰ）
５１  ＡＰ経由パス
５２  ダイレクトリンクパス
１１０，１２０  無線通信装置（ＳＴＡ）
１３０  アクセスポイント（ＡＰ）
１５１  ＡＰ経由パス
１５２  ダイレクトリンクパス
１１１  データ処理部
１１２  伝送処理部
１１３  無線インターフェース部
１１４  制御部
１１５  メモリ
１１６  アンテナ
１１８  リオーダーバッファ
２０１  受信パケット
２２１  リオーダーバッファ
【図１】
2010050770.tif 000003
【図２】
2010050770.tif 000004
【図３】
2010050770.tif 000005
【図４】
2010050770.tif 000006
【図５】
2010050770.tif 000007
【図６】
2010050770.tif 000008
【図７】
2010050770.tif 000009
【図８】
2010050770.tif 000010
【図９】
2010050770.tif 000011
【図１０】
2010050770.tif 000012
【図１１】
2010050770.tif 000013
【図１２】
2010050770.tif 000014
【図１３】
2010050770.tif 000015
【図１４】
2010050770.tif 000016
【図１５】
2010050770.tif 000017
【図１６】
2010050770.tif 000018
【図１７】
2010050770.tif 000019
【図１８】
2010050770.tif 000020
【図１９】
2010050770.tif 000021
【図２０】
2010050770.tif 000022