無線通信端末
【課題】良好な通信環境下で複数のデータフレームに対する送達確認応答のフレーム長を削減することにより、通信効率を向上する。
【解決手段】フレームボディフィールドと、その長さに関する情報を含む第1のフィールドと、フレームボディフィールドの誤り検出をするための第2のフィールドと、フレームボディフィールドに対応するシーケンス番号を含むシーケンス番号フィールドとを含む物理パケットを受信し、第1のフィールドと第2のフィールドを用いて、正しいフレームボディフィールドを抽出し、それに対応するシーケンス番号フィールドとを保持し、連続で受信成功した最大のシーケンス番号を保持し、最大のシーケンス番号までのシーケンス番号に対応するフレームボディフィールドを継続して受信処理し、少なくとも1つの正しいフレームボディが抽出されたならば、連続で受信成功した最大のシーケンス番号を通知する応答フレームを送信する。
【解決手段】フレームボディフィールドと、その長さに関する情報を含む第1のフィールドと、フレームボディフィールドの誤り検出をするための第2のフィールドと、フレームボディフィールドに対応するシーケンス番号を含むシーケンス番号フィールドとを含む物理パケットを受信し、第1のフィールドと第2のフィールドを用いて、正しいフレームボディフィールドを抽出し、それに対応するシーケンス番号フィールドとを保持し、連続で受信成功した最大のシーケンス番号を保持し、最大のシーケンス番号までのシーケンス番号に対応するフレームボディフィールドを継続して受信処理し、少なくとも1つの正しいフレームボディが抽出されたならば、連続で受信成功した最大のシーケンス番号を通知する応答フレームを送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、送達確認応答を用いてフレーム交換を行う無線通信端末に関する。
【背景技術】
【0002】
複数のデータフレームに対する送達確認応答を1つの応答フレームで示す方法として、シーケンス開始番号と固定長ビットマップを用いるものがある。固定長ビットマップには、シーケンス開始番号からの相対的なシーケンス番号のデータフレームに対する個々の送達確認応答が表示される(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】IEEE P802.11−2007
【発明の概要】
【発明が解決しようとする課題】
【0004】
極めて良好な通信環境下では冗長となる場合を考慮し、複数のデータフレームに対する送達確認応答のフレーム長を削減することにより、通信効率を向上することのできる通信端末を提供することが望ましい。
【課題を解決するための手段】
【0005】
実施形態によれば、受信部と、第1の処理部と、第1の記憶部と、第2の記憶部と、第2の処理部と、送信部とを具備する無線通信端末が提供される。受信部は、1つ以上のフレームボディフィールドと、前記フレームボディフィールドの長さに関する情報を含む第1のフィールドと、前記フレームボディフィールドの誤り検出をするための第2のフィールドと、前記フレームボディフィールドに対応するシーケンス番号を含むシーケンス番号フィールドとを含む1つの物理パケットを受信する。第1の処理部は、前記第1のフィールドと前記第2のフィールドを用いて、正しいフレームボディフィールドを抽出する。第1の記憶部は、前記第1の処理部により抽出されたフレームボディフィールドと、そのフレームボディフィールドに対応するシーケンス番号フィールドとを保持する。第2の記憶部は、前記第1の処理部の結果に基づいて、連続で受信成功した最大のシーケンス番号を保持する。第2の処理部は、前記連続で受信成功した最大のシーケンス番号までのシーケンス番号に対応するフレームボディフィールドを前記第1の記憶部から継続する受信処理へ回す。送信部は、前記第1の処理部により少なくとも1つの正しいフレームボディが抽出されたならば、前記連続で受信成功した最大のシーケンス番号を通知する応答フレームを送信する。
【図面の簡単な説明】
【0006】
【図1】第1の実施形態に係るデータフレームフォーマットを示した図
【図2】第1の実施形態に係る送達確認応答フレームフォーマットを示した図
【図3】第1の実施形態に係る無線通信端末構成を示した図
【図4】第1の実施形態に係る具体的なデータフレームの受信状態を示した図
【図5】第1の実施形態に係る具体的なデータフレームの受信状態を示した別の図
【図6】第1の実施形態に係る具体的なデータフレームの受信状態を示した別の図
【図7】第1の実施形態に係る具体的なデータフレームの受信状態を示した別の図
【図8】第1の実施形態に係る詳細なデータフレームフォーマットを示した図
【図9】第1の実施形態に係るフレームボディフィールドとFCSフィールドの抽出方法を説明するための図
【図10】第1の実施形態に係るSHフィールドの探索処理を説明するための図
【図11】第2の実施形態に係る送達確認応答フレームフォーマットを示した図
【図12】第2の実施形態に係る具体的なデータフレームと送達確認応答フレームの交換を示した図
【図13】第2の実施形態に係る具体的なデータフレームと送達確認応答フレームの交換を示した別の図
【図14】第2の実施形態に係る具体的なデータフレームと送達確認応答フレームの交換を示した別の図
【図15】第3の実施形態に係る受信データフレーム内の処理を説明するための図
【図16】第3の実施形態に係る受信データフレーム内の処理を説明するための別の図
【図17】第3の実施形態に係る受信データフレーム内の処理を説明するための別の図
【図18】第5の実施形態に係る受信バッファとSMSN保持部の状態を示した図
【図19】第7の実施形態に係る受信バッファとSMSN保持部の状態とデータフレーム受信と送達確認応答フレーム送信の関係を例示した図
【図20】第7の実施形態に係る受信バッファとSMSN保持部の状態とデータフレーム受信と送達確認応答フレーム送信の関係を例示した別の図
【図21】第9の実施形態に係る受信バッファとSMSN保持部の状態とデータフレーム受信と送達確認応答フレーム送信の関係を例示した図
【図22】第9の実施形態に係る受信バッファとSMSN保持部の状態とデータフレーム受信と送達確認応答フレーム送信の関係を例示した別の図
【図23】第9の実施形態に係る受信バッファとSMSN保持部の状態とデータフレーム受信と送達確認応答フレーム送信の関係を例示した別の図
【図24】第12の実施形態に係る具体的なデータフレームと送達確認応答フレームの交換の例を示した図
【図25】第12の実施形態に係るシーケンス番号開始の通知ビットが正しく使用されているかを判断するアルゴリズム例を示した図
【発明を実施するための形態】
【0007】
以下、実施の形態について、図面を参照して説明する。
【0008】
電磁波の波長がミリメートル(mm)オーダーのミリ波帯、例えば60 GHz帯、では通信状態が極めて良好な場合と極めて劣悪な場合に大きく二分されることが考えられる(IEEE 802.11 doc.:IEEE802.11-09/0302r0)。以下で説明する種々の実施形態は、このような通信状態が発生し得る場合の、主にフレームの受信動作における通信効率の向上に関する。
【0009】
(第1の実施形態)
まず、無線通信に用いられるフレームならびに、無線通信端末の基本的な構成を説明する。
【0010】
本実施形態では、無線通信端末が他の無線通信端末と接続し、通信を行う際に3種類のフレームを用いる。他の無線通信端末との間の物理的な通信リンクの管理に用いるフレームが管理フレームである。例えば他の無線通信端末との間の通信を開始するために用いられるフレームや通信リンクをリリースする(つまり接続を切断する)ためのフレーム、無線通信端末におけるパワーセーブ動作に係るフレームなどがある。
【0011】
他の無線通信端末と物理的な通信リンクが確立した上で、無線通信端末の内部で生成されたデータを他の無線通信端末に送信するフレームがデータフレームである。データは本実施形態の上位層で生成されるものである。例えばユーザの操作によってデータは生成される。
【0012】
上記データフレームを他の無線通信端末との間で送受(交換)する際の制御に用いられるフレームが制御フレームである。無線通信端末がデータフレームを受信した場合にその送達確認のために送信される応答フレームは制御フレームの1つである。
【0013】
これら3種類のフレームは物理(PHYsical;PHY)層で必要に応じた処理を経て物理パケットとしてアンテナを経由して送出される。
【0014】
本実施形態に係るデータフレームのフォーマットを図1に示す。本実施形態では複数のデータが連接(Aggregate)して1つの物理パケットを構成するアグリゲーションフレームを扱う。図1はn個のデータがフレームボディとして連接されていることを示している。ここでは便宜的にサブヘッダ(SubHeader;SH)フィールド2とフレームボディ(Frame Body;FB)フィールド3とフレームチェックシーケンス(Frame Check Sequence;FCS)フィールド4とを1セットとして「フレーム」と呼び、フレーム#1、フレーム#2、…フレーム#nと表している。
【0015】
共通ヘッダ(Common Header;CH)フィールド5には当該フレームを送信する無線通信端末の識別子(Transmitter Unique ID;Tx UID)や受信先の無線通信端末の識別子(Receiver Unique ID;Rx UID)など、フレーム全体に共通の情報が入れられる。フレームを受信した無線通信端末がそのフレームが当該無線通信端末宛てであるかをRx UIDを用いて確認後、その情報に応じた受信処理を行うことから、好ましくはRx UIDがCHフィールド5の先頭に来て、その後Tx UIDが続く構成が良い。このCHフィールド5に、以降に連接して入れられているフレームボディ3の数情報を入れるようにしてもよい。またCHフィールド5の情報が正しく受信できたかを確認するための誤り検出フィールド、すなわちヘッダチェックシーケンス(Header Check Sequence;HCS)フィールドをCHフィールドに付加してもよい。
【0016】
CHフィールド5の後には1つ以上のデータが入れられる。各データはフレームボディ(Frame Body;FB)フィールド3に入れられ、それにサブヘッダ(SubHeader;SH)フィールド2とフレームチェックシーケンス(Frame Check Sequence;FCS)フィールド4が付随する。
【0017】
SHフィールドにはFBフィールド長を示すLengthフィールド7、フレームボディ(すなわちデータ)の順序であるシーケンス番号を示すシーケンス番号(Sequence Number;SN)フィールド8、及びヘッダチェックシーケンス(Header Check Sequence;HCS)フィールド6が入れられている。図1ではHCSフィールド6をSHフィールド2の隣に明示しているが、HCSフィールド6はSHフィールド2に含まれる。SHフィールド2にはそのSHフィールドとFBフィールドに対応するフレームの種別を示す情報9などを含めてもよい。当該フレームはデータフレームであるので、フレーム種別はデータフレームであることが示される。なお、フレームの種別を示す情報9とは、例えば1つのフィールドで示してもよいし、制御フレームとデータフレーム/管理フレームの識別をする第1のフィールドとデータフレームと管理フレームの識別をする第2のフィールドというように複数のフィールドで示してもよい。最終的にフレームの種別情報として少なくともデータフレームと管理フレームと制御フレームのレベルで識別できるようになっていればよい。フレームの種別を示す情報9はCHヘッダ5に入れてもよい。これらSHフィールド2の情報が正しく受信できたかを確認するための誤り検出フィールドがHCSフィールド6である。SHフィールド2にHCSフィールド6を設けることによって、SHフィールド2の情報が示すFBフィールド長7やシーケンス番号8などのSHフィールド内のデータを正しく抽出できるか判断することができる。
【0018】
FBフィールド3に続くFCSフィールド4はFBフィールド3の情報が正しく受信できたかを確認するための誤り検出フィールドである。
【0019】
本実施形態において上記のようなデータフレームを受信した無線通信端末が送信する送達確認応答フレームのフォーマットを図2に示す。
【0020】
CHヘッダはデータフレームフォーマットと同様である。以降に連接して入れられているフレームボディの数情報を入れるフィールドがある場合には、ここには数は0(零)であることを示す。
【0021】
図2におけるSHフィールドは図1におけるSHフィールドと同じ構成で示してあるが、異なってもよい。しかし少なくともシーケンス番号を示すSNフィールド2とHCSフィールド6が入る。図2では図1と同様にHCSフィールド6をSHフィールド2の隣に明示しているが、HCSフィールド6はSHフィールド2に含まれる。フレームの種別を示す情報9をデータフレームにおけるSHフィールドと同様に入れる場合は、制御フレームであることが示される。フレームの種別を示す情報9はCHヘッダ5に入れてもよい。フレーム種別の情報9の表示方法としては、図1のデータフレームに関して記載したのと同様、例えば1つのフィールドで示してもよいし、制御フレームとデータフレーム/管理フレームの識別をする第1のフィールドとデータフレームと管理フレームの識別をする第2のフィールドというように複数のフィールドで示してもよい。当該フレームは制御フレームであることから、前述のように複数のフィールドで示す場合は、データフレームと管理フレームの識別をするフィールドは無関係となるため、リザーブド(Reserved)となる。当該送達確認応答のSHフィールド2を図1におけるデータフレームのSHフィールド2と同じ構成とする場合にはLengthフィールドをリザーブド(Reserved)にしてもよいし、あるいはFBフィールドが存在しないため、例えば0(零)を入れるようにしてもよい。
【0022】
本実施形態に係る送達確認応答フレームにおいて、SNフィールド2には無線通信端末が連続で受信成功したフレームの最大のシーケンス番号(Successive Maximum Sequence Number;SMSN)8’を指定する。
【0023】
送達確認応答フレームのSHフィールド2の最後にはSHフィールドの情報が正しく受信できたかを確認できるように誤り検出フィールドであるHCSフィールド6を付ける。
【0024】
このような送達確認応答フレームのフォーマットにより、従来の複数のフレームボディすなわちデータ各々に対する送達確認応答を通知する方法に比べて応答フレーム長が短くなり、極めて良好な通信環境下で通信効率を向上することができる。また送達確認応答フレームに入力する情報としての受信ステータスを1状態だけ保持すればよい。
【0025】
当該データフレームや送達確認応答フレームを含むフレームは物理層で符号化処理などを施され、物理ヘッダやプリアンブルなどが付与され、アンテナから変調されて送出されることになる。
【0026】
図3に本実施形態における無線通信端末の構成を示す。
【0027】
受信処理部10と送信処理部20が上位処理部0とアクセス制御部30とPHY処理部40につながっている。PHY処理部40は物理パケットを受信する受信部と物理パケットを送信する送信部とを備え、周波数変換回路50を介してアンテナ60とつながっている。
【0028】
本実施形態の無線通信端末において、図3のアンテナ60まで含む構成を無線通信装置部としてもよい。このように、アンテナ60を無線通信装置部に含める構成とすることにより、アンテナまで含めた1つの装置として無線通信装置を構成することが可能となるため、実装面積を少なく抑えることが可能となる。また、図3において、アンテナ60を送信処理部20と受信処理部10で共用している。このように、1つのアンテナを送信処理部および受信処理部で共用することにより、無線通信装置を小型化することが可能となる。
【0029】
PHY処理部40の送信部は送信処理部20から受け取ったフレームに符号化などの処理を行い、物理パケットに変換する。この物理パケットは周波数変換回路50で必要な周波数帯、例えば60GHzのミリ波帯、の無線信号に変調されてアンテナ60から輻射される。アンテナ60は図3では複数の場合を示しているが、単一であってもよい。
【0030】
受信の場合は、アンテナ60から受信した無線信号が周波数変換回路50においてPHY処理部40で処理可能な基底帯域(Baseband)に復調され、PHY処理部40の受信部に渡される。受信部により物理パケット復号化処理やプリアンブル及び物理ヘッダなどを取り除く処理が行われた後のペイロード部がフレームとしてPHY処理部40から受信処理部10に渡される。またフレームを受信処理部10に渡す前に、物理パケットの受信開始の通知を、フレームを受信処理部10に渡した後には受信終了の通知をそれぞれ受信処理部10に入力する。物理パケットのエラー検出の通知や、無線媒体の状況に関する情報をアクセス制御部30に入力する。
【0031】
受信処理部10と送信処理部20とアクセス制御部30は上述のデータフレーム、制御フレーム、管理フレームを扱い、他の無線通信端末との間で無線リンクを確立し、それらフレームの交換を行う。これらは少なくとも媒体アクセス制御(Media Access Control;MAC)に関する処理を行うが、データフレームに関してはデータを交換する無線通信端末間のアプリケーション層レベルでデータの送信の順序とデータの受信の順序が合うように、受信側におけるデータの並べ直しの処理も含む。
【0032】
なお、複数の異なるPHY処理部があり、各々に対応する送信処理部、受信処理部、アクセス制御部があり、さらに異なるPHY処理部にまたがった共通処理部があってもよい。
【0033】
ユーザの操作などによってアプリケーションで送信するデータが発生すると、上位処理部0を介して送信処理部20にデータが渡され、送信処理部20において図1で示すデータフレームに変換される。個々のデータはフレームボディとして、あるいはより細かい単位に分割(fragment)した上でFBフィールドに入れられる。送信処理部20には1ずつ増加する整数カウンタを用意しておき、同一の無線通信端末へ同一種別のフレーム(ここではデータフレーム)を送信する間は、各フレームボディに対応するSNフィールドに当該カウンタの値をシーケンス番号として割り当てる。送信処理部20はアクセス制御部30からの情報に基づき送信タイミングを計り、生成したフレームを送信指示と共にPHY処理部40に渡す。このとき、送信に必要な変調及び符号化方式の指示なども合わせて行うようにしてもよい。
【0034】
PHY処理部40を介して上記データフレームを受信した無線通信端末では、受信処理部10でデータフレームに対する図2の送達確認応答フレームを生成し、データフレームを含んだ物理パケットの受信終了後から所定のフレーム間隔(InterFrame Space;IFS)を開けて当該送達確認応答フレームを物理パケットとして送信する。また、受信処理部10は、受信したデータフレーム中のFBフィールド部の内容をSNフィールドに基づいて順番に上位処理部0に渡す。
【0035】
本実施形態では、受信したデータフレームから1つでも正しくFBフィールドを抽出できたなら、連続で受信成功したフレームの最大シーケンス番号(SMSN)をSNフィールドに入れた送達確認応答フレームを前記データフレーム受信のIFS後に送信する。また受信したフレームから新規に正しく抽出できたフレームボディがSMSNを更新したなら、当該フレームボディを上位処理部0に渡す。これらを実現するため、受信処理部10は、デアグリゲーション/フィルタ部12、受信バッファ14、連続最大シーケンス番号(SMSN)保持部16、受信コーディネータ部18を含む。構成はこれに限らず、最終的には上記目的を達成することができればよい。
【0036】
デアグリゲーション/フィルタ部12はFBフィールドが連接されている(Aggregated)場合に各FBフィールドを分離及び抽出するデアグリゲーション処理と、以降の受信処理に必要なフレームのみを通すフィルタリング処理を行う。
【0037】
フレーム種別情報がCHフィールドにある場合、好ましくは次のように処理が行われる。連接されたフレームボディの数情報がCHフィールドに記載されている場合であって、それが0の場合は、フレームボディの数が0を許容するフレーム種別であるかを確認する。また、そのフレーム種別を処理する際の条件として、当該フレームの識別子が、許容するTx UIDの範囲内でありまたRx UIDの範囲内であるかを確認する。当該条件を満たした場合には、制御フレームであればこれを受信コーディネータ部18へ渡し、データフレームであればこれを受信バッファ14へ渡す。管理フレームの場合にもシーケンス番号で管理している場合には、データフレームと同様に受信バッファ14へ渡し、後述する応答動作としての送達確認応答フレームの送信もデータフレームの場合と同様になる。フレームボディの数情報が1以上の場合には、フレーム種別を確認し、そのフレームボディの数を許容するフレーム種別であるかを確認する。また、そのフレーム種別を処理する際の条件として、当該フレームの識別子が、許容するTx UIDの範囲内でありまたRx UIDの範囲内である場合に、デアグリゲーション処理を行う。受信フレームがフィルタリング処理において条件から外れた場合にはその条件の外れ方に応じてエラー処理に回すか、そのまま廃棄するかなどを行う。このようにすることで、自無線通信端末宛てのデータフレームの場合にはこれをデアグリゲーション処理し、自無線通信端末宛ての送達確認応答フレームの場合にはこれを受信コーディネータ部18へ渡す。そしてデアグリゲーション処理では連接された(Aggregated)FBフィールドをSHフィールドのLengthフィールドの情報によって個別に抽出(Deaggregation)する。まずSHフィールド内の情報に誤りがないかどうかをSHフィールドの最後に入れられたHCSフィールドに基づいて判定する。次に、誤りがない、つまり正しいと判定された場合にLengthフィールドの情報を用いてFBフィールドを抽出する。そして各FBフィールドの情報に誤りがないかどうかをFBフィールドに続くFCSフィールドに基づいて判定する。誤りがない、つまり正しいと判定されたFBフィールドの情報を対応するSNフィールドの情報(シーケンス番号)とともに受信バッファ14へ渡す。このようにSHフィールドにフレームボディ長(Lengthフィールド)とシーケンス番号(SNフィールド)というフレームボディに関する情報が一箇所にまとまっていることにより、デアグリゲーション/フィルタ部12と受信バッファ14で用いる情報の抽出が容易になる。受信フレームの処理を開始して最初に正しくFBフィールドの情報を抽出できた際には、送達確認応答フレームの準備開始の指示を受信コーディネータ部18に送る。受信コーディネータ部18に対するこの通知によって、受信フレームから少なくとも1つ以上のFBフィールドを正しく抽出できると、受信コーディネータ部18は送達確認応答フレームの送信準備を行うことになる。SHフィールドにより、それが付随するFBフィールドと、FBフィールドに続くFCSフィールドの抽出と判定を行った後は、当該FCSフィールドの後に続く次のSHフィールドを探索して同様の動作を継続する。そして、受信フレームの最後まで処理が終了すると、受信コーディネータ部18に受信フレームの処理終了の通知を送る。この際、受信フレームを終了した実際の時刻を合わせて通知に入れるようにする。受信フレームを終了した時刻は、PHY処理部40から受信フレームの終了通知を受け取った時刻を把握し、当該把握までに発生した処理遅延の時間を差し引くことにより求めることができる。なお、実際の抽出するフレームボディの数がフレームボディの数情報と異なる場合にはエラー処理に回す。抽出するフレームボディの数がフレームボディの数情報と一致した段階でデアグリゲーション処理を終了するようにしてもよい。
【0038】
フレーム種別情報がSHフィールドにある場合は、自無線通信端末宛てのフレームなら上記のSHフィールドによるデアグリゲーション処理を行いつつ、フレーム種別によって必要な情報を適宜他の受信コーディネータ部18、受信バッファ14に送る。フレームボディの数情報が0の場合は、次のSHフィールドを用いてフレームボディの数が0を許容するフレーム種別であることを確認する。また、そのフレーム種別を処理する際の条件として、当該フレームの識別子が、許容するTx UIDの範囲内でありまたRx UIDの範囲内である場合には受信コーディネータ部18へ渡す。フレームボディの数情報が1以上の場合は、CHフィールド直後の最初のSHフィールドを用いてフレーム種別を確認し、そのフレームボディの数を許容するフレーム種別であるかを確認する。また、そのフレーム種別を処理する際の条件として、当該フレームの識別子が、許容するTx UIDの範囲内でありまたRx UIDの範囲内である場合に、デアグリゲーション処理を行う。
【0039】
デアグリゲーション処理は上述と同様となる。但し、デアグリゲーション処理中に、各SHフィールドに記載されたフレーム種別情報を確認し、許容するフレーム種別であるかを判断し、その条件から外れた場合にはエラー処理に回す。例えば1つのフレーム内には単一のフレーム種別のフレームボディしか連接できないとする。その場合に、最初のSHフィールドがデータフレームであって、次のSHフィールドが管理フレームである、というように異なるフレーム種別のフレームボディが混在するようなフレームを受信するとエラー処理に回すことになる。
【0040】
受信バッファ14では、正しいと判定されたFBフィールドの情報(フレームボディ)と、それに対応するシーケンス番号を対にして保持する。好ましくはフレームボディとシーケンス番号の対をシーケンス番号順に並べ替える(reorder)。受信バッファ14はSMSN保持部16で保持する最大シーケンス番号を参照し、その最大シーケンス番号より1大きいシーケンス番号があるなら、当該1大きいシーケンス番号に対応するフレームボディを受信コーディネータ部18に渡し、また当該1大きいシーケンス番号をSMSN保持部16に通知する。受信バッファ14が受信コーディネータ部18にフレームボディを渡した際には、好ましくは当該フレームボディとそれに対応するシーケンス番号を保持していた領域をクリアする。
【0041】
SMSN保持部16では、受信バッファ14から通知されたシーケンス番号を保持する。このように動作することによって、SMSN保持部16は受信成功した連続最大シーケンス番号を保持することになる。
【0042】
受信コーディネータ部18は、デアグリゲーション/フィルタ部12からの入力に対し、送信処理部20あるいは上位処理部0と連動した動作を行う。受信コーディネータ部18は、送達確認応答フレームの準備開始の通知を受けると、受信フレームの処理終了の通知を受けるのを待ち、受信フレームの処理終了の通知があると、SMSN保持部16から連続最大シーケンス番号を取得し、その番号とフレームを受信終了した時刻を含む送達確認応答フレームの送信指示を送信処理部20へ送る。送達確認応答フレームの準備開始の通知を受けて、受信フレームの処理終了の通知が来る前に不適切なフレームを受信したなどのエラー処理が発動された場合は、好ましくは送達確認応答フレームの準備開始を中断する。受信コーディネータ部18が受信バッファ14からFBフィールドを入力されると、上位処理部0へFBフィールド、すなわちフレームボディを渡す。また受信コーディネータ部18は、送達確認応答フレームが入力されたなら、そのフレームに記載された送達確認に関する情報を送信処理部20に渡す。本実施形態では受信成功した連続最大シーケンス番号を送達確認応答フレームによって通知することになっていることから、当該連続最大シーケンス番号を送信処理部20に通知することになる。好ましくは、合わせて送達確認応答フレームのTx UID、すなわち送達確認応答フレームを送信した無線通信端末の識別子を通知する。
【0043】
送信処理部20は送達確認応答フレームの送信指示を受けると、連続最大シーケンス番号をSNフィールドに入れた図2の送達確認応答フレームを生成し、通知された受信フレームの受信終了時刻から固定時間後に送信されるようにPHY処理部40へ送達確認応答フレームを渡す。固定時間とは好ましくは規定される最小のフレーム間隔(IFS)であって、送信と受信の切り替え時間と送達確認の必要なフレームであることを把握して送達確認応答フレームを生成及び送信するまでの処理遅延とを足した時間である。一般に、この最小フレーム間隔はShort InterFrame Space (SIFS)と呼ばれる。また受信コーディネータ部18から送達確認に関する情報を受けると、その情報を用いて送信したフレームの再送処理を行う。本実施形態では連続最大シーケンス番号の通知を受けることにより、送信したフレームボディのうち、当該通知シーケンス番号より大きなフレームボディを再送する。再送するフレームボディを含んだデータフレームを生成し、送信する手順は前述と同様である。送達確認応答フレームのTx UIDを連続最大シーケンス番号と合わせて受けることで、送信したフレームボディのうち当該Tx UIDと同一のRx UIDを持つフレームボディに対して再送処理を行うべきであることを判断することができる。すなわち、データフレームを送信した相手先の無線通信端末から送達確認応答フレームを受けると、その無線通信端末に対して適切な再送を行うことができる。再送処理の対象となるフレーム(データフレームあるいは管理フレーム)の送信後、当該フレームに対する送達確認応答フレームを所定の時間内に受信しなければ、フレームに含まれる全てのフレームボディを再送する処理は従来知られている技術と同様となる。
【0044】
前述のシーケンス番号とは、データの送信側とデータの受信側の無線通信端末との間でデータの順序を同一にし、認識を共通にするためのものである。本実施形態では受信コーディネータ部18を介するわけであるが、受信バッファ14の上記動作によって、受信したフレームボディ情報をSNフィールドの情報に基づくことによりデータ送信側無線端末における順序に対応付けて上位層に上げることができる。なお、順序を整えることなく受信バッファ14からそのまま上位処理部0へフレームボディ情報を渡すようにしてもよい。
【0045】
上位処理部0は受信したフレームのフレームボディ情報を受信処理部10から受けると、当該フレームボディをアプリケーションへデータとして入力するなどの継続した受信処理を行う。フレームボディ情報は、受信処理部10から、継続した受信処理へ回される。
【0046】
以上のように動作することで、送達確認に基づいたデータのフレーム交換を無線通信端末間で行うことができる。
【0047】
次に、具体的に図4のようなデータフレームを受信した場合について検討する。ここではCHフィールドは正しく受信された場合を想定する。つまり、CHフィールドがHCSフィールドを含む場合であって、該HCSフィールドにより誤りを検出しなかった場合を想定する。なお、CHフィールドが正しく受信されなかった場合は、送達確認応答フレームの送信は行われない。各SHフィールド中のHCSフィールドと各FBフィールドに付随するFCSフィールドは省略してあるが、それぞれのHCSあるいはFCSで誤りがない(すなわち正しい)と判定された場合は対応するSHフィールドあるいはFBフィールドの下に○と示してあり、それぞれのHCSあるいはFCSで誤りが検出された場合は対応するSHフィールドあるいはFBフィールドの下に×と示してある。便宜的に最初のフレームセットのSHとFBはSH1とFB1と表し、2番目のフレームセットのSHとFBはSH2とFB2と表し、3番目のフレームセットのSHとFBはSH3とFB3と表し、4番目のフレームセットのSHとFBはSH4とFB4と表してある。図4ではデータフレームの中には4セットのフレームがあるが、最初と2番目と3番目のSHフィールドとFBフィールドは正しく受信され、4番目のフレームではSHフィールドに誤りが検出され、従ってFBフィールドも誤りであると判定されたものとする(SH4が対応するHCSで誤りと判定された場合、対応するFCSを用いてFB4を判定する動作は省略してよい)。シーケンス番号として、SH1のSNフィールドには101、SH2のSNフィールドには102、SH3のSNフィールドには103、SH4のSNフィールドには104が割り当てられているとした場合、無線通信端末において連続で受信成功したシーケンス番号は103になることから、データフレームを送信した無線通信端末に103をSNフィールドに入れた送達確認応答フレームを送信する。当該データフレームを送信した無線通信端末はSNフィールドに103が入った送達確認応答フレームを受信すると、シーケンス番号104に対応するデータを再送する必要があることを把握し、SH4とFB4を含むデータフレームを送信することになる。
【0048】
再び図4と同様のシーケンス番号の入ったデータフレームを考え、例えば図5のように3番目のフレームセットのSH3が対応するHCSフィールドに基づき正しいと判定されたが、FB3が対応するFCSフィールドに基づき誤っていたと判定された場合は、無線通信端末はデータフレームを送信した無線通信端末に102をSNフィールドに入れた送達確認応答フレームを送信する。当該データフレームを送信した無線通信端末はSNフィールドに102が入った送達確認応答フレームを受信すると、シーケンス番号103以降のデータを再送する必要があることを把握し、SH3とFB3のセットと、SH4とFB4のセットを再送することになる。これらのセットは1つのデータフレームの中に連接させるようにしてもよいし、個々にCHフィールドを先頭に付加したデータフレームとして別に送信するようにしてもよい。これら再送フレームセットにまだ送信していないフレームセットを追加してデータフレームを構成するようにしてもよい。
【0049】
データフレームの受信が図6の場合を考える。シーケンス番号の割り当ては図4の場合と同様とすると、この例ではシーケンス番号101、102、103に対応するフレームセットの受信は失敗し、シーケンス番号104に対応するフレームセットだけ受信成功している。このような受信結果の場合、無線通信端末は最後の4番目のフレームセットを正しく抽出できたことにより送達確認応答フレームの生成及び送信をするが、当該データフレームの受信で連続して受信成功したシーケンス番号の更新はない。このデータフレームの受信の前のデータフレームによってシーケンス番号100まで順当に受信成功しており、連続して受信成功したシーケンス番号として100を保持していた場合、シーケンス番号として100を入れた送達確認応答フレームを送信する。当該データフレームを送信した無線通信端末は、シーケンス番号101以降の送信したデータを再送する必要があることを把握し、さらに送信先の無線通信端末から送達確認応答はあったということから、送信先無線通信端末には多少のデータは通っていること、つまりコネクションはあること、そして送信先無線通信端末は仮にパワーセーブ動作を行っているとしても現在は受信可能状態にあるということ、を把握することができる。これは通信相手の無線通信端末との間のコネクションを確認する、あるいは受信可能状態にあるかを確認するために探査(Probe)フレームを送信することの代わりになる。
【0050】
データフレームの受信が図7の場合を考える。シーケンス番号の割り当ては図4の場合と同様とすると、この例ではシーケンス番号101、102、103に対応するフレームセットの受信は失敗し、さらにシーケンス番号104に対応するフレームセットのFB4に誤りを検出している。このような受信結果の場合、無線通信端末は1つも正しいフレームボディ、すなわちデータ、の抽出を行えなかったため、送達確認応答フレームの生成及び送信は行わない。当該データフレームを送信した無線通信端末は、当該データフレーム送信の固定時間後に送達確認応答フレームを送信先の無線通信端末から受信しなかったことから、送信先の無線通信端末にデータは届かなかったと判断し、送達確認応答フレーム待ちで再送候補となっているデータ、すなわちシーケンス番号101から104に対応するフレームセットの再送をする。
【0051】
データ送信側無線通信端末は、期待する送達確認応答フレームを受信しなかった場合、送信したデータフレームの中のフレームセットが全て受信失敗したと判断して再送処理を行う。あるいは送達確認応答フレームを要求するフレーム(好ましくはこれも制御フレームである)を送信可能な機構を持つ場合には、当該要求フレームを送信してもよい。当該要求フレームを受信したデータ受信側無線通信端末はSMSN保持部16で保持している値を送達確認応答フレームに入れて送信する。
【0052】
上記図6や図7のような場合、前半のSHフィールドに誤りがあるため、それに続くFBフィールド及びFCSフィールドの抽出ができず、どこから次のSHフィールドが開始するか不明である。そのため、SHフィールドがHCSにより誤っていると判定された場合には次のSHフィールドを探索する動作を行う。この動作は図3に示したデアグリゲーション/フィルタ部12で行われる。
【0053】
まずSHフィールドとそのHCSフィールドとFBフィールドの後のFCSフィールドは固定長であることが要求される。好ましくはSHフィールドがバイト長であり、FBフィールドからFCSフィールドまでの長さの和がSHフィールド長の整数倍になるように、FBフィールドの後にパディングをするパディング(PADding;PAD)フィールドを追加する。ここでは、SHフィールドの長さは8バイトであり、その中に含まれるHCSフィールドは4バイトであるとする。またFCSフィールドの長さは4バイトであるとする。そうすると、PADフィールドは0〜7バイトになる。PADフィールドには各ビットに0を入れるのが望ましい。このデータフレームのフォーマットを図8に示す。SHフィールドの中のLengthフィールドはPADフィールドの長さを含まないので、受信側の無線通信端末は当該Lengthフィールドの値を用いてFBフィールドのみを抽出することができる。またFCSフィールドはFBフィールドの先頭からFBフィールド以上になるSHフィールドの長さ8バイトの最小の整数倍のところから4バイトさかのぼった領域であると判断することができる。図9でこの動作を説明すると、例えばLengthフィールドに18と記載されている場合、SHフィールド後の18バイトをFBフィールドとして抽出し、18バイト以上で最小の8バイトの整数倍は24であることから、SHフィールドの後から24バイトのところをFCSフィールドの終点とし、そこから4バイトさかのぼった領域をFCSフィールドとして抽出することができる。ここで、FCSフィールドはFBフィールドのみを誤り検出の対象とし、PADフィールドは誤り検出の対象には含めない。
【0054】
連接されたフレームセットを含む構成とする場合には、仮に同一のフレーム種別のみが許容されるとした場合、図2の送達確認応答フレームのような、FBフィールドとそれに続くPADフィールドとFCSフィールドがない、SHフィールドのみで終わる制御フレームの構成を途中に含まないことになる。すると誤り判定されたHCSフィールドの後に必ず少なくとも最小のフレームボディ長とPADフィールドと4バイト長のFCSフィールドとがあり、その後に次のSHフィールドが来ることになる。最小のフレームボディ長とPADフィールド長とFCSフィールド長4バイトの和はSHフィールド長の整数倍になる規則であることから、次のSHフィールドの検索開始地点は現時点のSHフィールドの直後からSHフィールド長の整数倍ずらした地点にすればよい。これを図10を用いて説明する。例えば最小のフレームボディ長として0バイトを許容するならSHフィールド長の整数倍にする規則からPADフィールドは4バイトになり、現時点のSHフィールドの直後(図10の(b))を基点としてそこからSHフィールド長の1倍つまり8バイトだけずらした地点(図10の(c))、つまり現時点でのSHフィールドの先頭(図10の(a))からは16バイトずらした地点(図10の(c))を、次のSHフィールドの探索開始地点とすることになる。このSHフィールドの探索開始地点からSHフィールドの固定長分8バイトをSHフィールドとして抽出し、その中で最後の4バイトをHCSフィールドとして誤り検出を試行する。
【0055】
HCSフィールドと想定した部分を用いた誤り検出によって誤りがあると判定された場合、それ以降は現在のSHフィールドの探索開始地点(図10の(c))からSHフィールドの固定長分8バイトをずらした地点をSHフィールドの探索開始地点(図10の(d))として再びそこからSHフィールドの固定長分8バイトをSHフィールドとして抽出し、その中で最後の4バイトをHCSフィールとして誤り検出を試行する。再びHCSフィールドと想定した部分を用いた誤り検出で誤りがあると判定された場合には、現時点でのSHフィールドの探索開始地点からSHフィールドの固定長分8バイトをずらした地点を再びSHフィールドの探索開始地点としてその地点からSHフィールド長分をSHフィールドとして抽出し、想定するHCSフィールドの誤り検出の試行をする、という動作を繰り返す。
【0056】
HCSフィールドであると想定した部分を用いた誤り検出によって誤りがないと判定された場合にはSHフィールドの固定長分8バイトで抽出した領域をSHフィールドと確定してFBフィールドとそれに付随するFCSフィールドの領域とを抽出する。PADフィールドを認識し、除外する処理は上述のとおりである。
【0057】
このようにしてどこから次のSHフィールドが開始するか不明となった場合でもSHフィールドの検出をすることができる。
【0058】
上記SHフィールドの探索処理において、現時点でのSHフィールドの直後から残る領域長が最小のフレームボディ長とFCSフィールド長と最小のフレームボディ長の場合のPADフィールド長の和の2倍とSHフィールド長の和より少なかった場合、次のフレームセットは存在しないとして探索処理を終了してよい。図8のようにFCSフィールド長がSHフィールド長よりも短く、最小のフレームボディ長は0とすると、FCSフィールド長と最小のフレームボディ長とFCSフィールド長とPADフィールド長の和は8バイトでSHフィールド長の1倍になるから、その2倍の16バイトにSHフィールド長の8バイトを足した24バイト、つまりSHフィールド長の3倍よりもフレームボディ分離が未処理の領域が少ない場合には探索処理を終了し、SHフィールドの3倍よりもフレームボディ分離が未処理の領域がある場合には、フレームセットが存在する可能性がまだあるとして次のSHフィールドの探索処理を試行する。現時点でのSHフィールドの探索開始地点からの残る領域長での議論に置き換えるなら、上記SHフィールド長の3倍に加えて現時点で想定するSHフィールド長があるため、SHフィールド長の4倍より少ないか、それ以上かになる。
【0059】
なお、ここまでは図2の送達確認応答フレームのようなSHフィールドでフレームセットが完了する構成単位が混在することを許容しないで記述してきたが、そのような構成単位の混在を許容するなら、上述の最小のフレームボディ長とFCSフィールド長を0バイトとして(つまり、ないものとして)、最初から次のSHフィールドの探索開始地点を現時点でのSHフィールドの探索開始地点からSHフィールドの固定長分だけずらした地点(図10の(b))にして探索処理を行えばよい(図10の(b)で誤り判定されたら、次は(c)を探索開始地点として処理し、以降は前述と同様)。
【0060】
データフレームの構成は図8のようであるとすると、図6の場合の具体的なSHフィールドの探索動作は次のようになる。最小のフレームボディ長は0とする。最初のSHフィールドがそのHCSフィールドにより誤りと判定されると、そのSHフィールドの直後を基点として8バイトずらした地点を次のSHフィールドの探索開始地点として想定するHCSフィールド部の誤り検出を試行する。この場合、誤りと判定されることから、SHフィールドの探索開始地点をさらに8バイト後にずらし、同様の処理を行っていく。最終的に最後のSHフィールド(SH4と示してある部分)を抽出してそれがHCSフィールドより正しいと判定されると、Lengthフィールドを用いてFBフィールドを抽出し、Lengthフィールド以上で8バイトの最小整数倍の地点がフレームセットの最後であるとしてそこから4バイトさかのぼった領域をFCSフィールドとして抽出する。そしてFCSフィールドからFBフィールドが正しいと判定される。
【0061】
SHフィールドの探索処理を継続するかどうかの判断としてフレームボディ分離が未処理の領域長を用いる方法を上述したが、CHフィールドなどに連接されたフレーム数が記載されている場合には、これをSHフィールドの探索処理を継続するかどうかの判断に用いてもよい。もちろん未処理領域長の判断と組み合わせてもよい。SHフィールドがそのHCSフィールドにより正しいと判定されたらフレーム数として1をカウントし、SHフィールドの探索に失敗している領域は1とカウントして連接フレーム数として示された値と同じになった段階で次のSHフィールドの探索を終了する。図6の場合ではCHフィールドに連接フレーム数は4であると記載されているとすると、フレームセット#1から#3までHCSフィールドにより正しいと判定されるSHフィールドがないため、フレーム数として1しかカウントできておらず、SHフィールドの探索処理を継続し、最後のフレームセット#4でSHフィールドがそのHCSフィールドにより正しいと判定される。最後の段階でも、フレーム数としてのカウントは2になる。図5の場合にはフレームセット#3でフレーム数としてのカウントは3になっており、SH3フィールドのLengthフィールドの値と8バイトの整数倍との関係に基づきフレームセット#3の直後からSHフィールドの探索を行うが、そこでSH4フィールドが誤りと判定されることでカウントは4になり、それ以上のSHフィールドの探索は行わない。
【0062】
なお、上述のようにSHフィールド長の整数倍の制約がない場合は、例えば必ずバイト長でフレームセットが構成されるとするなら、上述のSHフィールド探索動作におけるSHフィールド長を用いていた部分を1バイトに置き換えればよい。
【0063】
(第2の実施形態)
第2の実施形態は基本的に第1の実施形態に基づいており、第1の実施形態の構成において、どのシーケンス番号から開始するかをデータ送信側無線通信端末がデータ受信側無線通信端末に通知する構成としたものである。
【0064】
具体的には、例えばシーケンス番号の開始を通知するビットをSHフィールド内に設ける。データ送信側無線通信端末がデータフレームを送信する際に、最初のシーケンス番号が入るフレームセットのSHフィールドではそのビットを立てる(つまり1を立てる)。それ以外のフレームセットではそのビットは立てない(つまり0にする)。このようにすることで、無線通信端末は連続で受信成功した最大のシーケンス番号を把握する上での開始番号をデータの受信と同時に入手することができ、これにより予めデータ交換の前にデータ送信側の無線通信端末からのシーケンス開始番号の通知を受ける必要がない。すなわち、即時にデータ交換を行うことができ、通信効率を向上することができる。データ受信側無線通信端末はそのビットが立っているSHフィールドのSNフィールドの値をシーケンス開始番号として、その番号から連続して値が上がるように受信データフレームを整列させる。具体的には図3の受信バッファ14で、そのシーケンス開始番号から連続して受信コーディネータ部18に上げるようにし、SMSN部16にもそのシーケンス開始番号から連続で受信成功した最大シーケンス番号を通知するようにする。好ましくは、シーケンス開始番号を通知されると、SMSN部16は保持している値を(当該シーケンス開始番号−1)という初期値で上書きし、その後正しく連続で受信成功した最大のシーケンス番号で上書きしていくようにする。この初期値はデアグリゲーション/フィルタ部12から受信コーディネータ部18を経由して通知を受けるようにすればよい。
【0065】
シーケンス番号の開始を通知するビットが立ったSHフィールドを含むフレームに対して送達確認応答フレームを送信する場合には、図11のようにその送達確認応答フレームにおけるSHフィールドでも当該ビット(図11では、「シーケンス開始把握(SYNC)」と示してある)を立てるようにすれば、データ送信側無線通信端末がその送達確認応答フレームを受信してシーケンス番号開始の通知が正確にデータ受信側無線通信端末に通じたかどうかを確認することができる。これにより、データ送信側無線通信端末は、通知したシーケンス開始番号から、データ受信側無線通信端末の通知してくる連続で受信成功した最大のシーケンス番号までを、データ受信側無線通信端末が正しく受信したことを把握し、再送を含むデータ送信を適切にスケジュールすることができる。
【0066】
図12〜図14を用いて説明する。図12はデータ送信側無線通信端末が4つのフレームセットが入ったデータフレーム(DATAと記載してあるもの)を送信し、それに対してデータ受信側無線通信端末が送達確認応答フレーム(ACKと記載してあるもの)を送信した状況を表している。フレーム構成は省略し、データフレームでは各フレームセットにおけるシーケンス番号の開始を通知するビット(SYNCと記載)の状況とシーケンス番号(SNと記載)の値が分かり、送達確認応答フレームではシーケンス番号開始の通知の把握を示すビット(SYNCと記載)と連続で受信成功した最大のシーケンス番号(SNと記載)の値とが分かるようにしてある。また各フレームセットあるいは送達確認応答フレームの受信状況を前述の例と同様に○/×で示してある。図12で、シーケンス番号101からシーケンス番号が開始されることを示すため、シーケンス番号の開始を通知するビットを最初のフレームセットで立てている(SYNC=1、SN=101)。続くフレームセットではシーケンス番号は開始の番号ではないため、シーケンス番号の開始を通知するビットは立てない(SYNC=0)。このデータフレームを受信した無線通信端末は、シーケンス開始を通知されたフレームセット(SYNC=1、SN=101)をSHフィールド及びFBフィールドともに正しく受信し、続く2個目のフレームセット(SYNC=0、SN=102)もSHフィールド及びFBフィールドともに正しく受信し、3個目のフレームセット(SYNC=0、SN=103)はSHフィールドあるいはFBフィールドで誤りを検出し、4個目のフレームセット(SYNC=0、SN=104)はSHフィールド及びFBフィールドともに正しく受信した。そしてデータ受信側無線通信端末は固定時間後にシーケンス番号開始の通知を把握したことと、連続で受信成功した最大のシーケンス番号とを通知する送達確認応答フレーム(SYNC=1、SN=102)をデータ送信側無線通信端末に送信する。データ送信側無線通信端末は当該送達確認応答フレームを受信すると、連続で受信成功した最大のシーケンス番号より1大きいシーケンス番号のフレームから送信する。図13ではシーケンス番号103(SYNC=0、SN=103)とシーケンス番号104(SYNC=0、SN=104)のフレームセットを連接して送信している。図13では連接して送信しているが、これら再送フレームを単独に送信してもよい。但し、単独で送信する場合、必ずシーケンス番号順に送信する。また図13では再送対象のフレームセットのみを連接しているが、未送信のシーケンス番号105のフレームセットを連接してもよい。未送信のフレームセットは再送対象のフレームセットと連続したシーケンス番号であれば、複数を再送対象のフレームセットに加えて連接してもよい。例えば、図13のデータフレームにシーケンス番号105と106も連接できる。
【0067】
ここで図14のように、シーケンス番号の開始を通知するフレームセットの受信に失敗した場合を考える。
【0068】
データ受信側無線通信端末でSHフィールドは受信成功したが、FBフィールドの受信に失敗した場合は、シーケンス開始番号は101と把握しているので、SYNC=1、SN=100という送達確認応答フレームを送信してもよい。つまりシーケンス開始番号に対応するFBフィールドの受信を失敗した場合は、シーケンス開始番号−1の値(つまり先のSMSN部16の初期値)を返すようにする。
【0069】
データ受信側無線通信端末は最初のフレームセットのSHフィールドも受信失敗していたら、シーケンス開始の番号も把握していない。しかし、2番目のフレームセット(SN=102)と4番目のフレームセット(SN=104)は受信している。そこで、送達確認応答フレームを送信する条件は満たされているわけであるから、データ受信側無線通信端末はSMSN保持部16で保持している値を入れて送達確認応答フレームを送信してもよい。しかしこの場合、シーケンス番号の開始を通知するフレームセットを受信したとは認識していないので、送達確認応答フレーム内のシーケンス番号開始の通知を把握したことを示すビットは立てない(SYNC=0)。それにより、データ送信側無線通信端末はデータ受信側無線通信端末がシーケンス番号開始の通知を受けなかったことを認識し、送達確認応答フレームに示されたシーケンス番号は無視し、シーケンス開始番号の通知とそのシーケンス開始番号に対応するフレームセットからの再送を行う。あるいは、データ受信側無線通信端末はシーケンス開始の番号を把握していない場合、SMSN保持部16で保持している値を入れて返すのではなく、任意の値を入れて返すのでもよい。このようにしても、送達確認応答フレーム内のシーケンス開始の通知を把握したことを示すビットは立っていない(SYNC=0)ことより、データ送信側無線通信端末は前述と同様に、データ送信側無線通信端末はデータ受信側無線通信端末がシーケンス番号開始の通知を受けなかったことを認識し、送達確認応答フレームに示されたシーケンス番号は無視し、シーケンス開始番号の通知とそのシーケンス開始番号に対応するフレームセットからの再送を行うことができる。
【0070】
あるいは、コネクション確立後の最初のデータフレームでは必ずシーケンス開始番号の通知があると規定されている場合、データ受信側無線通信端末でその条件が満たされないと、データフレームに対する応答をしないようにしてもよい。データ受信側無線通信端末では無応答とともにエラー処理を行ってもよい。データ送信側無線通信端末はデータフレーム送信後、固定時間の間送達確認応答フレームが来るかを観測し、来ないと判断すると通常のように再送処理を行うことができる。
【0071】
このようにすることで、データ交換の最初に通知を受けるだけで物理パケットごとにシーケンス開始番号の通知を受ける必要がなく、データ送信側の無線通信端末の負荷を軽減することができる。
【0072】
(第3の実施形態)
第3の実施形態は基本的に第1の実施形態に基づいており、第1の実施形態の構成において、SHフィールドの探索処理をフレーム分離が未処理の領域がまだ十分に残っていてもある条件が満たされれば終了する構成としたものである。この条件については以降に詳細をする。探索を終了した時点で、図3の受信バッファ14に保持した情報を廃棄する。
【0073】
第1の実施形態ではSHフィールドに誤りが検出された場合に次のSHフィールドを探索する処理について記載した。そこでは、まだ残る領域が最小のFBフィールド長とFCSフィールド長の和の2倍とSHフィールド長の和以上あるなら、SHフィールドの探索を行っていた。
【0074】
ここで、送達確認応答フレームを送信する条件は、1つでも正しいFBフィールドを抽出することであった。そして送達確認応答フレームでは連続で受信成功したシーケンス番号が通知される。そこで、必ずデータフレームにはシーケンス番号が連続して増加する方向でフレームセットが入れられる、と決められている場合、データフレームの前半の1つあるいは複数のフレームセットの受信に失敗した場合、すでに保持している連続で受信成功したシーケンス番号を当該受信データフレームにより更新する可能性はない。この場合、送達確認応答フレームを送信する条件が満たされるかどうかだけを確認できればよいことになる。
【0075】
また、すでに保持している連続で受信成功したシーケンス番号を当該受信データフレームにより更新する可能性がないということで、受信バッファでシーケンス番号順に連続してフレームボディを次の処理に回す動作も行う必要もなく、受信バッファに当該受信データフレームを保持しておく必要がない。
【0076】
そこで少なくとも1つのフレームセットを正しく抽出できた後、フレームセットの抽出に失敗した場合を、SHフィールドの探索終了、つまりフレームセットの抽出処理の終了の条件とする。これをより詳細に述べると、あるSHフィールドが正しく抽出され、それを用いて抽出したFBフィールドもそれに付随するFCSフィールドにより誤りがない(すなわち、正しい)と判定されることを第1条件とし、第1条件が満たされた上でフレームボディ分離が未処理の領域から抽出したSHフィールドがそのフィールド内のHCSフィールドにより誤りがあると判定された場合もしくは誤りなく(すなわち、正しく)抽出したSHフィールドに基づき抽出したFBフィールドがそれに付随するFCSフィールドにより誤りがあると判定された場合(第2条件)には、次のSHフィールドの探索処理を行わない。
【0077】
そしてこの終了条件が満たされた場合には、受信バッファに保持したフレームセットの情報を廃棄する。
【0078】
SHフィールドを探索する処理と受信バッファの内容破棄について図15〜図17を用いて説明する。
【0079】
図15の例においては、CHフィールドを正しく検出した後、最初のフレームセットのSHフィールド(SH1)がそのHCSフィールドにより誤り検出される。そこで、続くFBフィールド(FB1)も誤りと判定されるが、残る領域についての処理を継続する。すなわち、SH1フィールドの後から第1の実施形態に基づく方法で次の正しいSHフィールドを探索する処理を行う。そして、図15でSH2と表記されたSHフィールドを正しく抽出し、そのSHフィールドが示すFBフィールド(FB2)も付随するFCSフィールドにより正しい(誤りがない)と判定すると、上述の第1条件が満たされたことになり、図3のデアグリゲーション/フィルタ部12から受信バッファ14にSH2内のシーケンス番号とFB2を渡し、残る領域についての処理を継続する。すなわち、FB2に付随するFCSフィールドの後に続く次のSHフィールド(SH3)を抽出して誤りがないかの判定をそのHCSフィールドで行う。図15ではSH3が誤りと判定された場合を示しており、これにより上述の第2条件が満たされる。第1条件の後に第2条件が満たされたということで、SH3の抽出及び判定以降の処理を行わない。すなわち、未処理の領域が残ってはいるが、第1の実施形態のようにSHフィールドの探索処理を継続せずに終了する。そして、図3の受信バッファ14に保持してあったFB2とそれに対応するシーケンス番号情報を廃棄する。
【0080】
図16は、図15とSH3の抽出までは同様で、第1条件は満たされているが、抽出したSH3がそのHCSフィールドにより誤りがない(正しい)と判定された場合を示している。しかし、SH3が示すFB3が付随するFCSフィールドにより誤りがあると判定され、ここで上述の第2条件が満たされる。そこで第1条件の後に第2条件が満たされたということで、FB3の抽出及び判定以降の処理を行わない。すなわち、未処理の領域が残ってはいるが、第1の実施形態のようにSHフィールドの探索処理を継続せずに終了する。また受信バッファで保持してあったFB2とそれに対応するシーケンス番号情報を廃棄する。
【0081】
図17は、前半のフレームセットが正しく抽出できた場合を示している。すなわち、最初のFBフィールド(FB1)を正しく抽出できたことで、上述の第1条件は満たされ、2番目のSHフィールド(SH2)の抽出及び判定処理を継続する。ここで図3のデアグリゲーション/フィルタ部12から受信バッファ14にSH1内のシーケンス番号とFB1が渡される。受信バッファ14ではSMSN保持部16を参照して当該受信データフレームの前に受信していたデータフレームにより保持していた連続で受信成功した最大シーケンス番号とSH1のシーケンス番号を比較し、SH1のシーケンス番号が保持していた値より1だけ大きいと判断すると、受信コーディネータ部18を経由してFB1の情報を上位へ渡す。SH2が正しいと判定されてそれに基づきFBフィールド(FB2)の抽出を行い、それも付随するFCSフィールドにより正しいと判定され、そのFCSフィールド後のSHフィールドの抽出及び判定処理を継続する。ここでも図3のデアグリゲーション/フィルタ部12から受信バッファ14にSH2内のシーケンス番号とFB2が渡される。そして受信バッファ14はFB2のシーケンス番号がFB1のシーケンス番号より1大きいことから、受信コーディネータ部18を経由してFB2の情報も上位へ渡す。しかし、続くSH3が誤りと判定されたことで、上述の第2条件が満たされる。そこで第1条件の後に第2条件が満たされたということで、SH3の抽出及び判定以降の処理を行わない。すなわち、未処理の領域が残ってはいるが、第1の実施形態のようにSHフィールドの探索処理を継続せずに終了する。この場合、FB2以降のフレームボディとそれに付随するシーケンス番号情報は受信バッファ14には渡されないので、敢えて廃棄処理を実施する必要はない。
【0082】
上述の処理では、デアグリゲーション/フィルタ部から受信バッファに一旦フレームボディとそれに付随するシーケンス番号を渡し、処理終了の判断と同時に受信バッファ内の情報を廃棄する、としていたが、受信データフレームの先頭のフレームセットを正しく抽出できなかったら、SMSN保持部で保持する情報は当該受信データフレームでは更新されないので、それ以降のフレームセットのフレームボディとそれに付随するシーケンス番号の情報は受信バッファには渡さない、というようにしてもよい。つまり必ずデータフレームにはシーケンス番号が連続で増加する方向でフレームセットが入れられる、と決められている場合に、最初のFBフィールドを正しく抽出することに失敗した、もしくは最初のFBフィールドから連続して正しく抽出できた後にFBフィールドを正しく抽出することに失敗した時点から、受信データフレームの最後までフレームセットの分離を完了していなくてもそれ以降のフレームセットのフレームボディとそれに付随するシーケンス番号の情報は受信バッファには渡さない、あるいは受信バッファにおける情報保持を止めることである。
【0083】
このようにすることで、応答フレームに入れる連続で受信成功した最大のシーケンス番号とSMSN保持部16で必要な情報以外の冗長な情報を受信バッファ14で保持せず、従来の複数データに対する応答方式に比べてデータ受信側でメモリの使用を削減することができる。またバッファ管理も容易になり実装負荷を軽減できる。実装負荷の軽減はひいては実装上のバグ発生の危険度も削減することができる。
【0084】
ここまでは、必ずデータフレームにはシーケンス番号が連続して増加する方向でフレームセットが入れられる、と決められている場合で説明してきたが、シーケンス番号が順不同で入れられている場合でも、上述のような条件で処理を終了するようにしてもよい。この場合、仮に処理を終了しなかったなら連続で受信成功した最大のシーケンス番号を更新できたかもしれないところを、必ずしも更新できないわけだが、送達確認応答フレームの送信条件は満たされるわけで、データ送信側無線通信端末から少なくとも1つは正しいフレームセットを受信できたということは、データ送信側無線通信端末に通知することができる。
【0085】
このようにすることで、送達確認応答フレームの送信条件を満たした以降の冗長なSHフィールドの探索処理を止めることができ、消費電力を削減することができる。
【0086】
(第4の実施形態)
第4の実施形態は基本的に第3の実施形態に基づいており、未処理の領域が十分残っている場合でも処理を終了する条件に関して、データフレームの中でフレームセットが必ずしもシーケンス番号が連続して増加する方向で入れられなくてもよいとし、連続で受信成功した最大のシーケンス番号の更新が少なくとも1回は行われてから処理を終了するようにしたものである。具体的には第3の実施形態で説明した第1条件を変更する。
【0087】
すなわち、あるFBフィールドがそれに付随するFCSフィールドにより誤りがない(正しい)と判定され、そのFBフィールドに対応するSHフィールド内のSNフィールドが図3のSMSN保持部16で保持する連続で受信成功した最大のシーケンス番号を更新することを第1条件とする。従って、連続で受信成功した最大のシーケンス番号が当該受信データフレームに基づいて更新されるまではSHフィールドの探索処理を継続し、1回でも更新がされれば、それ以降はSHフィールドが誤るかもしくはSHフィールドが正しくてもそれが対応するFBフィールドが誤った場合に仮に未処理の領域が残っていたとしても次のSHフィールドを探索する処理は終了することになる。受信バッファの廃棄のタイミングは上記第1条件が満たされた以降、第2条件が満たされた場合である。
【0088】
例えば、図15の受信状況のように2番目のフレームセットを受信成功し、そのシーケンス番号がSMSN保持部で保持している連続で受信成功した最大のシーケンス番号を更新したとすれば第1条件が満たされたとして、第3の実施形態の場合と同様にSH3が誤っていると判定した時点で、それ以降の処理を終了する。図3の受信バッファ14はデアグリゲーション/フィルタ部12からFB2を受け取ると、SMSN保持部16で保持する値を参照し、その値よりFB2に対応するシーケンス番号が1だけ大きいので、受信コーディネータ部18を経由してFB2を上位へ渡す。そしてその後、デアグリゲーション/フィルタ部12における当該受信データフレームの処理終了に伴い、受信バッファ14にはFBフィールドとSNフィールドの情報は渡されないから空のままとなる。
【0089】
例えば、図15の受信状況のように2番目のフレームセットを受信成功したものの、そのシーケンス番号がSMSN保持部で保持している連続で受信成功した最大のシーケンス番号を更新しなかったなら、まだ第1条件は満たされていないため、第3の実施形態とは異なり、SH3が誤っていると判定しても続くSHフィールドの探索処理を継続する。
【0090】
図17の受信状況のように1番目のフレームセットと2番目のフレームセットを正しく受信したとしても、例えば当該受信データフレームの前の受信データフレームで連続で受信成功した最大のシーケンス番号が100であり、1番目のフレームセットのシーケンス番号が103であり、2番目のフレームセットのシーケンス番号が104であれば、当該受信データフレームにおいて連続で受信成功した最大のシーケンス番号の更新はまだ達成されていないため、第3の実施形態とは異なり、SH3が誤っていると判定しても続くSHフィールドの探索処理を継続する。
【0091】
このようにすることで、物理パケット内のデータがシーケンス番号順でない場合でも、送達確認応答フレームの送信条件を満たし、かつ受信側無線通信端末として有意なデータを抽出した後の冗長なSHフィールドの探索処理を止めることができ、消費電力を削減することができる。
【0092】
(第5の実施形態)
第5の実施形態は基本的に第1の実施形態に基づいており、第1の実施形態の構成において、1つのデータフレームの受信処理を終了するごとに受信バッファで保持する情報を廃棄するようにしたものである。
【0093】
第1の実施形態では連続で受信成功した最大のシーケンス番号をデータ送信側無線通信端末に通知することから、データ送信側無線通信端末ではその連続で受信成功した最大のシーケンス番号より大きなシーケンス番号に対応するフレームセットは再送の対象となる。そこで、データ受信側無線通信端末ではシーケンス番号が飛んだ(歯抜けの)状態でフレームセットを受信バッファに保持しておいても、データ送信側無線通信端末からそれら受信済みのフレームも含めた再送があり、重複受信することになる。従って歯抜け状態の受信バッファは廃棄しても問題ないわけである。
【0094】
図18の例で考える。図18は図3の受信バッファ14とSMSN保持部16に関する情報を概念的に示してある。受信バッファ14にはシーケンス番号102と104に対応するフレームボディ情報が保持されており、ここまでで連続で受信成功した最大のシーケンス番号はSMSN保持部16を参照すると100である、ということを表現している。シーケンス番号100まではすでに連続していることから、次の処理に渡されており、シーケンス番号順に受信バッファは管理され、シーケンス番号101と103に対応するフレームボディが未受信である。この状態で受信データフレームの処理が終了すると、受信バッファで保持しているシーケンス番号102と104に対応するフレームボディ情報も廃棄する、というのが本実施形態の動作になる。具体的には、図3のデアグリゲーション/フィルタ部12で受信データフレームの処理を最後まで完了したことを把握すると、受信コーディネータ部18に受信フレームの処理終了の通知を出す。受信コーディネータ部18はデアグリゲーション/フィルタ部12からの受信フレームの処理終了の通知を受けると、受信バッファ14から連続で受信成功した最大のシーケンス番号までのフレームボディを受け取った後、受信バッファ14に保持する情報の消去を指示する。受信バッファに指示をするのではなく、受信コーディネータ部18が受信バッファの保持情報を消去するようにしてもよい。
【0095】
このようにすることで、データフレームの中でフレームセットが必ずしもシーケンス番号が連続して増加する方向で入れられていなくても確実にデータフレームの最後まで確実に連続で受信成功した最大のシーケンス番号があるかを確認することができ、その上で受信処理後には不要な情報を受信バッファで保持する必要がなく、メモリの使用を削減することができる。
【0096】
(第6の実施形態)
第6の実施形態は、第1〜第5の実施形態の各々に適用することが可能であり、データ受信側無線通信端末において、データ送信側無線通信端末が適切なシーケンス番号の範囲を守って送信しているかの判断基準を設けるように構成したものである。
【0097】
第1の実施形態では1つのデータフレームに複数のフレームセットを連接して入れることができる。一方でデータ受信側無線通信端末ではシーケンス番号が連続で増加する方向でフレームセットを順に上位処理に渡す動作を行う。そこで、データ送信側無線通信端末における新規と再送を含めたフレームセットのシーケンス番号の範囲、つまり送信側スライディングウィンドウ、とデータ受信側無線通信端末での受信バッファサイズを考えなくてはならない。少なくとも受信バッファサイズは保持できるフレームセットの個数が送信側スライディングウィンドウの範囲以上に対応していなければならない。好ましくは、送信側スライディングウィンドウの幅と受信バッファサイズで保持できるフレームセットの個数は等しい。そうすれば、データ送信側とデータ受信側の両方で必要十分となる。
【0098】
例えば送信側スライディングウィンドウの幅と受信バッファがともに4つのフレームセットに対応できるものとする。従って、データ受信側無線通信端末では連続で受信成功した最大のシーケンス番号から4つ大きいシーケンス番号のフレームセットまでは受信して問題はないが、それ以上のシーケンス番号を持つフレームセットを受信して受信バッファに入れてしまうと、保持している連続で受信成功した最大のシーケンス番号から連続で上位にフレームボディ情報を渡す処理ができなくなる。例えば、連続で受信成功した最大のシーケンス番号は100であるとし、そこでシーケンス番号105のフレームセットを受信した場合、受信バッファに当該フレームセットを保持すると、その後シーケンス番号101〜104の4つのフレームセットを受信した場合に、その中のいずれかのフレームセットが受信バッファに入りきらず、その結果、連続して上位にフレームボディ情報を渡す処理ができなくなる。従って、データ受信側無線通信端末は1つ前の受信データフレームを処理した段階で保持している連続で受信成功した最大のシーケンス番号に受信バッファサイズ(ここでは4)加えた値より大きいシーケンス番号のフレームセットを含むデータフレームを受信すると、連続性違反、言い換えればスライディングウィンドウ違反であるとして、エラー処理を開始する。
【0099】
データ送信側無線通信端末は、シーケンス番号の連続性を保障するために、データ受信側無線通信端末が送達確認応答フレームで通知した連続で受信成功した最大のシーケンス番号に基づき、送信側スライディングウィンドウを制御する。上述の例では、データ受信側無線通信端末から連続で受信成功した最大のシーケンス番号は100であり、スライディングウィンドウの幅を受信バッファサイズと同様の4とすると、スライディングウィンドウの始点Win_sを100+1すなわち101に合わせ、スライディングウィンドウの終点Win_eが100+4すなわち104であることから、シーケンス番号101から104の間のフレームセットのみをデータフレームに入れて送信するようにする。このスライディングウィンドウ内であればどのフレームセットから送信してもよいが、好ましくはシーケンス番号順に送信するようにする。スライディングウィンドウ内の全てのフレームセットを一度にデータフレームに入れなくてもよいし、スライディングウィンドウ内の送信順のどこまでのフレームセットを同一のデータフレームに入れるのかも任意である。しかし、スライディングウィンドウの始点Win_sから連続したシーケンス番号のフレームセットを、それらが順不同であってもよいが、1つのデータフレーム内に入れることが望ましい。このように送信することで、データ受信側無線通信端末で効率的に受信したデータをシーケンス番号順に上位処理に渡すことができるためである。
【0100】
一方、データ受信側無線通信端末は連続で受信成功した最大のシーケンス番号100を送達確認応答フレームとして送信したが、データ送信側無線通信端末で当該送達確認フレームを受信しなかった、もしくは正しく受信できなかった場合、データ送信側無線通信端末は送信側スライディングウィンドウを更新しない。従って、この場合、データ送信側無線通信端末とデータ受信側無線通信端末とで動作が同期せず、データ送信側無線通信端末は再び古いスライディングウィンドウに基づきデータフレームを送信することになる。一つ前に送達確認応答フレームで通知した、連続で受信成功した最大のシーケンス番号が96であるとし、それは正しく受信されていたとすると、例えばシーケンス番号97から100の間のフレームセットをデータフレームに入れて送信してくる。データ受信側無線通信端末において、この古いスライディングウィンドウに基づき送信されたデータフレームに含まれるフレームセットは連続性違反、言い換えればスライディングウィンドウ違反、として検出すべきではない。しかし、それより小さなシーケンス番号のフレームセットを含むデータフレームを受信した場合には連続性違反とすべきである。但し、これは一つ前の送達確認応答フレームは正しく受信できていたと仮定した上での判断になる。ここで、データ受信側無線通信端末で現在保持している連続で受信成功した最大のシーケンス番号から受信バッファサイズ(ここでは4)を引いた値以下のシーケンス番号のフレームセットを含むデータフレームを受信したら、明らかに違反である。つまり、一旦はシーケンス番号100までのフレームセットを受信したのに、シーケンス番号96あるいはそれより小さいシーケンス番号のフレームセットを受信した場合には、データ送信側無線通信端末が送信側スライディングウィンドウの幅を無視して送信していることになるからである。またシーケンス番号が最小は97からであっても最大が101以上のものも含むなら、送信スライディングウィンドウの幅を無視して送信していることになり、これも違反である。これらの場合も、上述と同様、エラー処理を開始する。
【0101】
データ受信側無線通信端末における連続性違反、言い換えればスライディングウィンドウ違反の検出は、図3の無線通信端末構成においては、例えば以下のように処理すればよい。
【0102】
シーケンス番号が小さ過ぎる違反の検出:
例1−デアグリゲーション/フィルタ部12はデータフレーム内の最小のシーケンス番号を抽出するようにしておいて、データフレームの受信終了し、受信コーディネータ部18に受信フレームの処理終了の通知を送る際に、合わせて当該最小のシーケンス番号を通知するようにする。受信コーディネータ部18は受信フレームの処理終了の通知をデアグリゲーション/フィルタ部12から受けると、その中の最小のシーケンス番号を抽出し、SMSN保持部16で保持している連続最大シーケンス番号と比較して連続最大シーケンス番号から受信バッファサイズを引いた値以下であれば、エラー処理を開始する。
【0103】
例2−あるいはデアグリゲーション/フィルタ部12はデータフレームの受信開始と受信終了の通知を受信バッファ14に送るようにする。受信バッファ14はデータフレームの受信開始の通知を受けると、その時点からデアグリゲーション/フィルタ部12により入力されるシーケンス番号のうち最小のシーケンス番号を保持するようにする。受信バッファ14はデータフレームの受信終了の通知を受けると、SMSN保持部16で保持している連続最大シーケンス番号と当該最小のシーケンス番号を比較し、当該最小のシーケンス番号がSMSN保持部16で保持している連続最大シーケンス番号から受信バッファサイズを引いた値以下であれば、エラー処理を行うように受信コーディネータ部18に指示を送る。例1のようにすると、送達確認応答フレームの送信を止めてエラー処理を行うことが可能である。例2のようにすると、送達確認応答フレームを送信してからエラー処理を開始することになる。送達確認応答フレームの送信を止めるようにしたいなら、受信コーディネータ部18はデアグリゲーション/フィルタ部12からの受信フレームの処理終了の通知を受けると、SMSN保持部16における比較作業が正常に終了しているかどうかを確認する手順を設ける。
【0104】
シーケンス番号が大き過ぎる違反の検出:
デアグリゲーション/フィルタ部12はデータフレームの受信開始の通知を受信バッファ14に送るようにする。受信バッファ14はデアグリゲーション/フィルタ部12からデータフレームの受信開始の通知を受けると、SMSN保持部16から連続最大シーケンス番号を入手し、データフレームの受信開始通知の後からデアグリゲーション/フィルタ部12により入力されたシーケンス番号が当該入手した連続最大シーケンス番号に受信バッファサイズを足した値よりも大きければ、エラー処理を行うように受信コーディネータ部18に指示を送る。
【0105】
ここで、エラー処理としては好ましくはデータ送信側無線通信端末との間の接続を、切断用の管理フレームを送信するなどして、切断する。また、連続性違反を検出したデータフレームに含まれるフレームセットは全て廃棄する。
【0106】
シーケンス番号は前述のように整数カウンタにより割り当てられるが、整数カウンタは最大値まで到達すると最小値(0)からのカウントアップに戻るサイクル動作を行う。従って、「小さい」「大きい」と表現はしているが、最小値に戻る境界では必ずしも実際の値が小さい/大きいとはならない。例えば最大値が255の整数カウンタを考え、受信バッファサイズを4とし、現在保持している連続で最大のシーケンス番号が253であり、当該連続で最大のシーケンス番号を送達確認応答フレームに入れて送信しているとすると、次に受信したデータフレームが250、251、252、253のシーケンス番号のみ(一部のみを含む)から構成される場合、あるいは254、255、0(=256−256)、1(=257−256)のシーケンス番号のみ(一部のみを含む)から構成される場合は正常と判断し、それ以外の場合に違反と判断する。
【0107】
スライディングウィンドウ幅と受信バッファサイズをデータ送信側無線通信端末とデータ受信側無線通信端末で認識を共通にするには、例えばデータフレームの送信の前に管理フレームで通知し合う方法がある。少なくともデータ受信側無線通信端末の受信バッファサイズさえデータ送信側無線通信端末に通知できれば、データ送信側無線通信端末はその通知された受信バッファサイズ以下の幅のスライディングウィンドウ幅にすればよい。またこのように管理フレームで通知するのではなく、システムとして一意に指定しておくのでもよい。
【0108】
このようにすることで、データ受信側無線通信端末でシーケンス番号順にデータを上位処理に渡す動作を保証することができる。
【0109】
(第7の実施形態)
本実施形態は、基本的には第1の実施形態又は第6の実施形態に適用可能であり、データフレームを受信する無線通信端末の受信バッファが新規のフレームセットを受け付けなくなった(フルになった)状態を考慮する構成としたものである。
【0110】
データフレームを受信した無線通信端末の受信バッファでは連続したシーケンス番号のフレームボディを受け付けると通常は当該フレームボディを次の処理に回す。第1の実施形態では図3の受信バッファ14が受信コーディネータ部18を経由して連続したシーケンス番号に対応するフレームボディを上位処理部0に渡す。ここで、受信バッファ14が受信コーディネータ部18にフレームボディを渡す際、受信コーディネータ部18は例えばフレームボディを正常に受け付けたかどうかの通知を受信バッファ14に出し、受信バッファ14はこの通知の信号を受けて正常にフレームボディを受信コーディネータ部18に渡せたかどうかを把握する仕組みであるとする。また受信コーディネータ部18と上位処理部0の間のフレームボディ情報を含む各種データの受け渡しにおいても、受信バッファ14と受信コーディネータ部18の間と同様に通知信号に基づき正常に受け渡しが完了したかどうかを把握する仕組みであるとする。このような仕組みになっているとき、例えば上位処理部0における処理が遅れ、前のフレームボディを受信コーディネータ部18が上位処理部0に渡せていないとすると、受信バッファ14に連続したシーケンス番号に対応するフレームボディがあっても、それを受信コーディネータ部18に渡すことができず(渡す処理をしても失敗の通知信号をもらう)、当該フレームボディ(とそれに対応するシーケンス番号情報)をまだ受信バッファで保持していることになる。このような状況では、データ送信側無線通信端末が送信側スライディングウィンドウを適切に制御し、適切なシーケンス番号のフレームボディだけを含むデータフレームを送信していても、データ受信側無線通信端末では受信バッファがフルの状態になり新規のデータフレームを受け付けることができないことが起こりうる。
【0111】
この場合、本実施形態では受信バッファ14から受信コーディネータ部18へ連続したシーケンス番号に対応するフレームボディの受け渡しが完了していないため、SMSN保持部16へ当該シーケンス番号の通知は行っていない。つまり、SMSN保持部16では連続で受信成功した最大のシーケンス番号の更新は行われていない。そこで、データフレームの受信完了後に送信される送達確認応答フレームに入れられる連続で受信成功した最大のシーケンス番号はSMSN保持部16で保持しているシーケンス番号、つまり受信バッファ14から次の処理に正常に渡すことができたフレームボディに対応するシーケンス番号となる。
【0112】
例えば受信バッファサイズは4として、図19のように、まず受信バッファ14が空で受け付けられる状態にあり、連続で受信成功した最大のシーケンス番号として100をSMSN保持部16で保持しているとする。そこにシーケンス番号101から104に対応するフレームボディを含むデータフレームを受信したが、デアグリゲーション/フィルタ部12では図にあるようにシーケンス番号103以外のフレームボディを正しく抽出することができたとする。シーケンス番号101、102、104に対応するフレームボディはそのシーケンス番号とともに受信バッファ14に送られ、受信バッファ14ではシーケンス番号101はSMSN保持部16で保持しているシーケンス番号100より1だけ大きく連続しているということから、シーケンス番号101に対応するフレームボディを次の処理に渡した。そしてSMSN保持部16で保持する値は101となる。続くシーケンス番号102に対応するフレームボディも同様に連続していることから次の処理に渡したいが、渡す処理が成功していないとする。そうすると、本来はシーケンス番号102を送達確認応答フレームに入れて送信するところが、図19のようにシーケンス番号101を入れて送信することになる。データ送信側無線通信端末はこの送達確認応答フレームを受けて、次に図20のように再送対象のシーケンス番号102から104に対応するフレームセットと新規のシーケンス番号105に対応するフレームセットを入れたデータフレームを送信するかもしれないが、その場合も受信バッファでシーケンス番号102に対応するフレームボディを次の処理に回せない状態のままであるとすると、仮に全てのフレームセットを正常に受信することができて受信バッファとしてはシーケンス番号102から105を全て次の処理に回せる状態であったとしても実際には次の処理に回せていないため、シーケンス番号101を入れた送達確認応答フレームを送信することになる。
【0113】
図19の右側の受信バッファでシーケンス番号102と104に関する情報は送達確認応答フレームの送信と同時に廃棄してしまってもよい。また図20でも102以上のシーケンス番号に対応するフレームセットは再送対象になるため、廃棄してしまってもよい。
【0114】
データ送信側無線通信端末でこのように連続で受信成功した最大のシーケンス番号が上がっていかない送達確認応答フレームを複数回受信した場合には、データ受信側無線通信端末の受信バッファがフレームボディを次の処理に回せない状態になっていると推測して、データフレームの送信をしばらく待つなどの制御をすることもできる。この受信バッファが連続したシーケンス番号のフレームボディを次の処理に回せない状態になった場合に、その状態が解消されるまでの時間を予測し、当該予測時間を送達確認応答フレームの中に入れて、あるいは送達確認応答フレームの代わりに異なるフレームに入れて送信し、データ受信側無線通信端末及びデータ送信側無線通信端末でこの予測時間の間パワーセーブ動作を行うこともできる。連続したシーケンス番号のフレームボディを次の処理に渡せない状態に受信バッファが陥った場合、その状態が解消するまでの時間を予測するには、本願と同一出願人による他の特許出願に係る特願2010−259171号明細書に記載された技術を用いてもよい。すなわち、受信したペイロードデータのサイズが受信バッファの空き容量より大きい場合にバッファフル信号を生成する無線通信装置において、当該ペイロードデータを記憶可能な空き容量が受信バッファに確保されるまでの待ち時間を予測する技術を用いてもよい。この待ち時間は、受信バッファから上位プロトコルまたはホストシステムへのデータ転送時間や転送先の記憶装置の動作シーケンスに要する時間に基づいて予測することができる。具体的には、ハードディスクドライブやフラッシュメモリにデータを書き込む際の準備時間ならびにデータ量とデータ転送速度との関係、USB(Universal Serial Bus)デバイス又はPCI(Peripheral Component Interconnect)デバイスなどのインタフェースにおける転送時間等に基づいて、待ち時間を予測することができる。
【0115】
上記では受信バッファ14が受信コーディネータ部18を経由してフレームボディを上位処理部0に渡す方法を記載したが、直接フレームボディを上位処理部0に渡すようにしてもよく、その場合、フレームボディの受け付けに関連する通知信号は上述の受信バッファ14と受信コーディネータ部18の関係の代わりに受信バッファ14と上位処理部0の関係に置き換えればよい。
【0116】
このようにすることで、データフレームを受信する無線通信端末の受信バッファが新規のフレームセットを受け付けなくなった(フルになった)状態に対処することができる。
【0117】
(第8の実施形態)
第8の実施形態は基本的に第1の実施形態に基づいており、第1の実施形態に係る複数フレームセットを連接させたデータフレームの受信に対応できない無線通信端末が存在する場合の動作を規定するものである。例えば2つまでのフレームセットを連接したデータフレームの受信には対応できるが、それ以上の連接数のデータフレームの受信には対応できない無線通信端末との共存に関する。
【0118】
このような無線通信端末が存在し、そのような無線通信端末にも第1の実施形態に係る無線通信端末がデータ送信を行う可能性がある場合でも、データフレームの送信の前にまず相手無線通信端末との接続を確立する手順で、相手無線通信端末の能力を把握することで、適切なデータフレーム構成を用いることができる。例えば接続を確立する際に、一方の無線通信端末が接続要求の管理フレームを送信し、それを受信した無線通信端末が接続要求を受け付ける際に接続応答の管理フレームを送信するとする。それらの管理フレームの中で、無線通信端末の対応するバージョンを記載するようにすれば、バージョン差がある場合にはどのようなデータフレームまで受信できるかをバージョンが高い方の無線通信端末は把握することができ、データフレームを送信する場合に低いバージョンに対応した方法に制限すればよい。
【0119】
低いバージョンにおける送達確認応答フレームについても第1の実施形態のようにシーケンス番号を通知するフォーマットを使用しているのであれば、バージョンが高い方の無線通信端末がデータ受信側になる場合にも、1つフレームボディしか含まないデータフレームを受信して送信する送達確認応答フレームは第1の実施形態に基づいて送信しても問題はない。送信されるフレームボディはシーケンス番号順に送信されるわけであり、1つのフレームボディしか含まないデータフレームを正しく受信した場合にはそのフレームボディに係るシーケンス番号で連続して受信成功した最大のシーケンス番号は更新されるわけであるから、そのシーケンス番号を送達確認応答フレームに入れて送信すれば、データ送信側無線通信端末ではその低いバージョンにおける通常の送達確認応答フレームの受信と変わらないので普通に処理できる。2つのフレームボディまでしかデータフレームに含められない無線通信端末がデータ送信側で、3つ以上のフレームボディを含むデータフレームの受信処理も可能な無線通信端末がデータ受信側であっても、第1の実施形態に基づき送達確認応答フレームを送信すればよい。データ送信側無線通信端末は通知されたシーケンス番号までがデータ受信側無線通信端末で正常に受信されたと把握して、適宜再送の判断をできるからである。
【0120】
バージョンの低い無線通信端末が第1の実施形態のデータフレームあるいは送達確認応答フレームを第三者として受信したとしても、CHヘッダのRx UIDが自無線通信端末を指定していないことから、そのデータフレームあるいは送達確認応答フレームを廃棄する。
【0121】
仮にデータ受信側無線通信端末が対応できる以上のフレームセットを連接したデータフレームを送信してしまったとしても、例えば連接フレームセット数がSHフィールドに記載されていることにより、その数が対応できる数以下であるかを確認し、適切な処理をすることもできる。例えば対応できるまでの数までを受信処理してもよいが、これは第6の実施形態と類似の状態になることから、好ましくは接続を切断する、換言すれば通信リンクをリリースする、管理フレームをデータ送信側無線通信端末に送信する。好ましくは接続を切断する管理フレームに、バージョンが異なること、あるいは対応できるフレームセット数を超えたフレームセットを含むデータフレームを送信したこと、などを理由として管理フレーム内に記載して送信する。そうすれば、管理フレームを受信したデータ送信側無線通信端末は送信方法を適切に選択し直した上で再度接続の設定手順のための管理フレームを先の無線通信端末と交換してデータフレームの送信を再開できる。
【0122】
このようにして、第1の実施形態に対応しない無線通信端末が存在する場合にも、第1の実施形態に対応する無線通信端末と第1の実施形態に対応しない無線通信端末で適切な処理を行うことができ、無線通信システムとして破綻しない。
【0123】
(第9の実施形態)
第9の実施形態は、基本的に第7の実施形態の変形例に関する。連続で受信成功した最大のシーケンス番号として第7の実施形態では受信バッファ14から次の処理に渡すことのできたシーケンス番号のみを保持していた。本実施形態では、受信バッファ14内で次の処理に渡すことはできていないが前記シーケンス番号からさらに連続しているシーケンス番号のうちの最大のものも保持するようにし、送達確認応答フレームでは後者のシーケンス番号を入れて通知する。
【0124】
ここでは便宜的に、受信バッファ14から次の処理に渡すことのできた連続で最大のシーケンス番号をSMSN_B、受信バッファ14内の状態も含めた連続で受信成功した最大のシーケンス番号をSMSN_Rと表現する。
【0125】
SMSN_Bは前述の実施形態と同様、受信バッファ14から受信コーディネータ部18にシーケンス番号が1つずつ増加する順にフレームボディを渡す際に、その受け渡しが成功した時点でSMSN保持部16に保持させる、成功したフレームボディの対応するシーケンス番号である。
【0126】
SMSN_Rは受信バッファ14で保持しているフレームセットまで含めて考えた場合の連続で受信成功した最大のシーケンス番号である。受信バッファ14ではフレームセットをシーケンス番号に基づき管理しているが、受信バッファ14内でSMSN_Bから連続するシーケンス番号のフレームボディを正しく受信している場合にはSMSN_Rの値を更新するようにして、連続している最大のシーケンス番号をSMSN保持部16に通知するようにする。SMSN_Rは受信バッファ14が受信コーディネータ部18にフレームボディを渡す処理時間が理想的にない場合には、SMSN_Bと同一となる。しかし、実際には処理遅延があり、第7の実施形態の状況のように、シーケンス番号が連続している場合でも受信バッファ14から受信コーディネータ部18に渡せないことが発生するときには、SMSN_Rの値とSMSN_Bの値は異なる。
【0127】
受信コーディネータ部18では送達確認応答フレームの送信指示を送信処理部20に送る際には、SMSN_Rの値を合わせて送るようにし、送信処理部20はSMSN_Rの値を送達確認応答フレームのSNフィールドに入れて送信する。
【0128】
図21〜図23を用いて具体的な動作を説明する。第7の実施形態の図19、図20を用いた場合と同様、受信バッファサイズは4とする。図21では、まず受信バッファ14が空で受け付けられる状態にあり、SMSN保持部16ではSMSN_B、SMSN_Rともに100を保持しているとする。そこにシーケンス番号101から104に対応するフレームボディを含むデータフレームを受信したが、デアグリゲーション/フィルタ部12では図にあるようにシーケンス番号103以外のフレームボディを正しく抽出することができたとする。シーケンス番号101、102、104に対応するフレームボディはそのシーケンス番号とともに受信バッファ14に送られ、受信バッファ14ではシーケンス番号101はSMSN保持部16で保持しているSMSN_Bの100より1だけ大きく連続しているということから、シーケンス番号101に対応するフレームボディを次の処理に渡した。そしてSMSN保持部16で保持するSMSN_BとSMSN_Rは101となる。続くシーケンス番号102に対応するフレームボディも同様に連続していることから、受信バッファ14はSMSN保持部16のSMSN_Rを101から102に更新させるが、当該フレームボディを次の処理に渡す動作はまだ受け付けられないとする。従ってSMSN_Bは101で、SMSN_Rは102という状態になる。当該データフレームの受信後には、図21にあるようにシーケンス番号102を入れた送達確認応答フレームを送信することになる。ここでデータ受信側無線通信端末は、シーケンス番号104に対応するフレームセットは廃棄してしまってもよい。データ送信側無線通信端末は、送信スライディングウィンドウの幅をデータ受信側無線通信端末の受信バッファサイズと同様の4であるとすると、この送達確認応答フレームを受けて、次に図22のように再送対象のシーケンス番号103と104に対応するフレームセットと新規のシーケンス番号105と106に対応するフレームセットを入れたデータフレームを送信するかもしれない。データ受信側無線通信端末では仮に全てのフレームセットを正常に受信することができたとして、このようなデータフレームを受信した段階でもまだシーケンス番号102に対応するフレームボディを次の処理に回せない状態であるとすると、SMSN_Bは101だが、SMSN_Rは受信バッファ14で保持できる最大のシーケンス番号の105になる。シーケンス番号106に対応するフレームセットは受信バッファ14に入れることができず、廃棄される。送信される送達確認応答フレームのSNフィールドには105が入れられる。図22の送達確認応答フレームを受けて、データ送信側無線通信端末が図23のように再送対象となるシーケンス番号106に対応するフレームセットと新規のシーケンス番号107〜109に対応するフレームセットを入れたデータフレームを送信するとする。データ受信側無線通信端末では仮に全てのフレームセットをデアグリゲーション/フィルタ部12で正常に受信することができたとしても、まだシーケンス番号102に対応するフレームボディを次の処理に回せない状態であるとすると、受信バッファ14にも新たなフレームセット、つまりシーケンス番号106から109に対応するフレームセットを保持することもできないため、SMSN_Bは101、SMSN_Rは105のままになる。送達確認応答フレームとしては再びSNフィールドに105を入れたものを送信する。
【0129】
このように送達確認応答フレームで通知するシーケンス番号が上がっていかない状態になった後は、第7の実施形態の動作と同様である。
【0130】
本実施形態のようにSMSN_Rの値を送達確認応答フレームのSNフィールドに入れて送信することにより、受信バッファ14で許容できる範囲までデータ送信側無線通信端末にフレームセットの再送を含む送信をさせることができ、通信効率を向上することができる。
【0131】
上述のように、本実施形態によれば受信バッファ14で保持できるフレームセット数以上のフレームセットをデータ送信側無線通信端末は送信することになる。第6の実施形態によれば、データ受信側無線通信端末においてこれは連続性違反となるが、送達確認応答フレームに記載されたSNフィールドの値に基づきデータ送信側無線通信端末はスライディングウィンドウを制御するわけであるから、連続性違反をしているわけではない。従って、第9の実施形態では送達確認応答フレームに記載したSNフィールドの値、つまりSMSN_Rから受信バッファサイズ以上大きいシーケンス番号のフレームセットを含むデータフレームを受信したなら連続性違反としてエラー処理を開始するようにする。図22や図23では受信バッファ14に入らないフレームセットがあるが、これらはSMSN_R+4以内であるから、連続性違反とはしない。例えば図22においてSMSN_R=102としているところに、シーケンス番号107に対応するフレームセットまで入ったデータフレームを受信すると、連続性違反と判定する。
【0132】
(第10の実施形態)
第10の実施形態は、第1〜第9の実施形態の各々に適用することができ、フラグメントされたデータを受信した場合の処理に関する。
【0133】
データをフラグメントする場合は、第1の実施形態に基づき、複数のフレームセットに分割して入れるが、シーケンス番号を連続で増加させる。さらに、SHフィールドにフラグメントに関する情報を入れるフィールド(More Fragmentフィールド;FMフィールド)を設ける。フラグメントされていないデータのフレームセットである場合、もしくは最後のフラグメントの入ったフレームセットの場合には、当該FMフィールドに0を設定し、そうでない場合、つまりまだフラグメントデータのフレームセットが次に続く場合には、1を設定する。従って、このFMフィールドのサイズを1ビットとすることが好ましい。
【0134】
データ受信側無線通信端末では受信バッファ14から受信コーディネータ部18にシーケンス番号が連続して増加する順でフレームボディを渡すが、合わせて対応するFMフィールドの値も渡す。このようにすることで、受信コーディネータ部18では、FMフィールドに1が立っていたら次のシーケンス番号に対応するフレームボディも1つのデータとしてつなげるというデフラグメント(defragment)処理を行う。FMフィールドに0が立っていたら次のフレームボディを待つことはせずにそのまま上位処理部0に渡す。
【0135】
受信バッファ14から上位処理部0に直接フレームセットを渡す場合には、当該デフラグメント処理は上位処理部0に設けられていればよい。
【0136】
このようにすることで、データがフラグメントされたデータフレームを受信しても、データ受信側無線通信端末でもとのデータに戻す、つまりデフラグメント処理をする、ことができる。
【0137】
(第11の実施形態)
第11の実施形態は、第1〜第10の実施形態の各々に適用することができ、送達確認応答フレームの生成及び送信の条件に関する。具体的には、受信したデータフレームで少なくとも1つのサブヘッダのHCSが正しかった場合に、送達確認応答フレームの生成及び送信を行う。
【0138】
第1の実施形態で図3を用いた無線通信端末の構成の説明において、デアグリゲーション/フィルタ部12は受信フレームの処理を開始し、最初に正しくSHフィールドの情報を抽出できた際に、送達確認応答フレームの準備開始の指示を受信コーディネータ部18に送る、というように変更する。
【0139】
例えば第1の実施形態で用いた図7の状況を再び考える。第1の実施形態ではシーケンス番号101、102、103に対応するフレームセット(フレームセット1、2、3)の受信に失敗し、さらにシーケンス番号104に対応するフレームセット(フレームセット4)ではサブヘッダ(SH4)は誤りがない(正しい)と判断しているが、フレームボディに付随するFCSフィールド(FB4)に誤りを検出しており、それによって、送達確認応答フレームの生成及び送信は行わない。しかし、本実施形態では、SH4のサブヘッダを1つ正しく抽出できていることから、送達確認応答フレームの生成及び送信を行う。送達確認応答フレームで通知するシーケンス番号の入れ方はこれまでの実施形態と同様である。すなわち、当該データフレームの受信で連続して受信成功したシーケンス番号の更新はない。このデータフレームの受信の前にシーケンス番号100まで順当に受信成功しており、連続して受信成功した最大のシーケンス番号として100を保持していた場合、シーケンス番号として100を入れた送達確認応答フレームを送信する。
【0140】
当該データフレームを送信した無線通信端末は、シーケンス番号101以降の送信したデータを再送する必要があることを把握し、さらに送信先の無線通信端末から送達確認応答はあったということから、送信先無線通信端末にはデータフレームの情報の一部は通っていること、つまりコネクションはあること、そして送信先無線通信端末は仮にパワーセーブ動作を行っているとしても現在は受信可能状態にあるということ、を把握することができる。これは通信相手の無線通信端末との間のコネクションを確認する、あるいは受信可能状態にあるかを確認するために探査(Probe)フレームを送信することの代わりになる。
【0141】
(第12の実施形態)
第12の実施形態は、第1〜第11の各々に適用することができ、コネクション確立後の最初のデータフレームに対する応答が来なかった場合の、データ送信側無線通信端末と、データ受信側無線通信端末の動作に関する。
【0142】
コネクション確立後の最初のデータフレームでは、第2の実施形態に基づき、最初のシーケンス番号が入るフレームセットのSHフィールドでシーケンス番号の開始を通知するビット(SYNC)を立てる。そして、データ受信側無線通信端末では、そのシーケンス番号の開始を通知するビットが立ったSHフィールドを正しく受信し、応答条件が満たされた場合には送達確認応答フレームを送信するが、その際送達確認応答フレームのSHフィールドでも対応するビット(SYNC)を立てる。
【0143】
本実施形態では当該ビットを立てた送達確認応答フレームがデータ送信側無線通信端末で正しく受信できなかった場合について記載する。
【0144】
図24を用いて説明する。図24ではシーケンス番号253からシーケンス番号が開始するとし(スライディングウィンドウの始点Win_s=253)、シーケンス番号253を割り当てたフレームセットをデータフレームの先頭に配し、シーケンス番号の開始を通知するビットを立て(SYNC=1、SN=253)ている。そして同じデータフレームの中に他に3つのフレームセットを連接している。これら3つのフレームセットのシーケンス番号はそれぞれ、254、255、0である。ここでは、シーケンス番号のカウンタは255までであるとし、255まで達すると0に戻るとしている。当該データフレームの全てのフレームセットを正しく受信したとすると、データ受信側無線通信端末において連続で受信成功した最大のシーケンス番号は0となるため、連続で受信成功した最大のシーケンス番号は0でありシーケンス番号の開始通知を受けたという送達確認応答フレーム(SYNC=1、SN=0)を送信する。この送達確認応答フレームがデータ送信側無線通信端末で正しく受信できなかったとする。この場合、データ送信側無線通信端末は送信側スライディングウィンドウを変えない(Win_s=253のままである)。データ送信側無線通信端末は最初のデータフレームを送信後、所定の時間、送達確認応答フレームを待つが、所定時間経過しても送達確認応答フレームを受信しなかったと判断すると、さらに所定のフレーム間隔(IFS)を空けて再送を行う。本実施形態では図24の上に示したようにシーケンス番号253からのフレームセットをデータフレームに入れて送信するが、送達確認応答フレームでシーケンス番号の開始通知を受けたということを確認できなかったため、シーケンス番号253のフレームセットでは再びシーケンス番号の開始通知のビットを立てる(SYNC=1、SN=253)。このような再送データフレームを受信したデータ受信側無線通信端末は前に示したと同様に送達確認応答フレームを送信し、データフレームの交換が継続されていく。一方、図24で、下向き矢印の下に示したようなデータフレームをデータ受信側無線通信端末が受信すると、エラー処理を開始する。すなわち下向き矢印の下の1つ目のデータフレームのように、前と開始するシーケンス番号が異なるとき(SYNC=1、SN=254)、あるいは2つ目のデータフレームのように、シーケンス番号を開始する通知ビットが立っていないとき(SYNC=0、SN=253)にはデータ受信側無線通信端末はエラー処理を開始する。
【0145】
ここでデータ受信側無線通信端末が図24の上の再送フレームは正常であるとする一方、下向き矢印の下の2つのデータフレームではエラーであると判断する処理方法を具体的に示す。
【0146】
例えば無線通信端末はこの判断処理を行うために、Sync1とStartSNという2つのパラメータを用意しておく。コネクション確立直後は少なくともSync1は0にする。
【0147】
無線通信端末がコネクション確立後、相手無線通信端末から最初のデータフレームを受信した場合(つまりSync1が0の場合、条件1)、データフレームの先頭のフレームセットのシーケンス番号開始の通知ビットが立っており、かつ他の正しいSHフィールドのフレームセット中のシーケンス番号開始の通知ビットが立っていない(条件2)なら、シーケンス番号開始の通知ビットの使用は正しいとする。そして、シーケンス番号開始の通知ビットが立っているSHフィールドのSNフィールド(シーケンス番号)をStartSNに書き込み、Sync1を1だけインクリメントする(つまりSync1は1となる)。これが図24における最初のデータフレーム受信時の処理になる。条件2が満たされていない場合はシーケンス番号開始の通知ビットの使用が正しくないとして、エラー処理を開始する。
【0148】
コネクション確立後、1回シーケンス番号開始の通知ビットの使用が正しいデータフレームを受信した場合(つまりSync1が1の場合、条件3)、次に受信したデータフレームの先頭のフレームセットのシーケンス番号開始の通知ビットが立っており、かつ他の正しいSHフィールドのフレームセットの中のシーケンス番号開始の通知ビットが立っていない(条件4)か、を判断する。条件4が満たされている場合は、さらにシーケンス番号開始の通知ビットが立っているSHフィールドのSNフィールド(シーケンス番号)が保持しているStartSNと等しい(条件5)か、を判断し、等しい場合にはシーケンス番号開始の通知ビットの使用は正しいとする。Sync1はその値のまま保持する(つまりSync1は1のまま)。これが図24における正しい再送データフレーム受信時の処理になる。一方、条件5が満たされていない場合は、シーケンス番号開始の通知ビットの使用が正しくないとして、エラー処理を開始する。これが図24で下向き矢印の下の1つ目のデータフレーム受信時の処理になる。条件4が満たされていない場合は、受信データフレームに含まれる全ての正しいSHフィールドのフレームセットでシーケンス番号開始の通知ビットが立っていない(条件6)か、を判断する。条件6が満たされているなら、次に受信データフレームに含まれる最小のシーケンス番号が保持しているStartSNより大きい(条件7)か、を判断し、条件7が満たされているなら、シーケンス番号開始の通知ビットの使用は正しいとする。そして、Sync1を1だけインクリメントする(つまりSync1は2となる)。これは、コネクション確立後の最初のデータフレームに対する送達確認応答フレームがデータ送信側無線通信端末で正しく受信され、それを受けて送信側スライディングウィンドウを更新し、次のデータフレームが送信された場合の受信処理に当たる。条件7が満たされていないなら、シーケンス番号開始の通知ビットの使用が正しくないとして、エラー処理を開始する。これが図24で下向き矢印の下の2つ目のデータフレーム受信時の処理になる。条件6が満たされていないなら、シーケンス番号開始の通知ビットの使用が正しくないとして、エラー処理を開始する。
【0149】
コネクション確立後の最初のデータフレームに対する送達確認応答フレームがデータ送信側無線通信端末で正しく受信され、それを受けて送信側スライディングウィンドウを更新し、次のデータフレームが送信された場合の受信では(つまりSync1が2の場合であり、上記条件1も2も満たさない場合に当たる)、受信したデータフレームに含まれる全ての正しいSHフィールドのフレームセットでシーケンス番号開始の通知ビットが立っていない(条件8)なら、シーケンス番号開始の通知ビットの使用は正しいとする。Sync1はその値のまま保持する(つまりSync1は2のまま)。条件8が満たされていないなら、シーケンス番号開始の通知ビットの使用が正しくないとして、エラー処理を開始する。
【0150】
以上に示したシーケンス番号開始の通知ビットが正しく使用されているかを判断する処理動作をC言語ライクに表現したものが図25である。
【0151】
このように、コネクション確立後の最初のデータフレームは、開始するシーケンス番号を通知するという重要な役割も持つため、確実にデータ受信側無線通信端末に送信する必要がある。そこで、ロバストな、好ましくは使用する中で最もロバストな、変調及び符号化方式を選択することが望ましい。
【0152】
このようにすることで、開始するシーケンス番号を確実にデータ受信側無線通信端末に通知することができる。またこのようにすることで、シーケンス番号の開始通知を含むデータフレームへの送達確認応答フレームがデータ送信側無線通信端末で正しく受信できなかった場合の動作を明らかにすることができ、異なる実装により相互接続ができなくなるという問題を回避することができる。
【0153】
なお、ここまでデータ送信側無線通信端末とデータ受信側無線通信端末を区別して記載してきたが、必ずしもこの関係は一意ではなく、2つの無線通信端末の間で相互にデータを送信してもよい。この場合、一方のデータの流れを見れば、一方の無線通信端末が送信側になり、他方の無線通信端末が受信側になるが、他方のデータの流れを見れば、その関係は変わる。
【0154】
(第13の実施形態)
第13の実施形態では、図3の無線通信端末の構成を無線通信装置部として当該構成に加えて、バッファを備える。このように、バッファを無線通信装置に含める構成とすることにより、送受信フレームをバッファに保持することが可能となり、再送処理や外部出力処理を容易に行うことが可能となる。
【0155】
(第14の実施形態)
第14の実施形態では、第13の実施形態に係る無線通信装置の構成に加えて、バス、プロセッサ部、及び外部インターフェース部を備える。プロセッサ部及び外部インターフェース部は、バスを介してバッファと接続される。プロセッサ部ではファームウエアが動作する。このように、ファームウエアを無線通信装置に含める構成とすることにより、ファームウエアの書き換えによって無線通信装置の機能の変更を容易に行うことが可能となる。
【0156】
(第15の実施形態)
第15の実施形態では、図3の無線通信端末の構成を無線通信装置部として当該構成に加えて、クロック生成部を備える。クロック生成部は、クロックを生成して出力端子より無線通信装置の外部にクロックを出力する。このように、無線通信装置内部で生成されたクロックを外部に出力し、外部に出力されたクロックによってホスト側を動作させることにより、ホスト側と無線通信装置側とを同期させて動作させることが可能となる。
【0157】
(第16の実施形態)
第16の実施形態では、図3の無線通信端末の構成を無線通信装置部として当該構成に加えて、電源部、電源制御部、及び無線電力給電部を含む。電源制御部は、電源部と無線電力給電部とに接続され、無線通信装置に供給する電源を選択する制御を行う。このように、電源を無線通信装置に備える構成とすることにより、電源を制御した低消費電力化動作が可能となる。
【0158】
(第17の実施形態)
第17の実施形態では、第16の実施形態に係る無線通信装置の構成に加えて、SIMカードを含む。SIMカードは、上位処理部0あるいは受信処理部10と送信処理部20に接続される。このように、SIMカードを無線通信装置に備える構成とすることにより、容易に認証処理を行うことが可能となる。
【0159】
(第18の実施形態)
第18の実施形態では、第14の実施形態に係る無線通信装置の構成に加えて、動画像圧縮/伸長部を含む。動画像圧縮/伸長部は、バスと接続される。このように、動画像圧縮/伸長部を無線通信装置に備える構成とすることにより、圧縮した動画像の伝送と受信した圧縮動画像の伸長とを容易に行うことが可能となる。
【0160】
(第19の実施形態)
第19の実施形態では、図3の無線通信端末の構成を無線通信装置部として当該構成に加えて、LED部を含む。LED部は、受信処理部10と送信処理部20あるいはPHY処理部40と接続される。このように、LED部を無線通信装置に備える構成とすることにより、無線通信装置の動作状態をユーザに容易に通知することが可能となる。
【0161】
(第20の実施形態)
第20の実施形態では、図3の無線通信端末の構成を無線通信装置部として当該構成に加えて、バイブレータ部を含む。バイブレータ部は、少なくとも受信処理部10あるいはPHY処理部40と接続される。このように、バイブレータ部を無線通信装置に備える構成とすることにより、無線通信装置の動作状態をユーザに容易に通知することが可能となる。
【0162】
(第21の実施形態)
第21の実施形態では、図3の無線通信端末の構成を無線通信装置部として当該構成に加えて、第1の実施形態で記載したように、複数の異なるPHY処理部40を設け、無線切替部を含む。無線切替部は、複数の異なるPHY処理部40に接続され、異なるPHY処理部40による通信の間を切替える。このように、複数の異なるPHY処理部40を無線通信装置に備える構成とすることにより、状況に応じて適切なPHY処理部40を用いた通信に切替えることが可能となる。
【0163】
(第22の実施形態)
第22の実施形態では、図3の無線通信端末の構成を無線通信装置部として当該構成に加えて、第1の実施形態で記載したように、複数の異なるPHY処理部40を設け、またこれら各々のPHY処理部40に対応する受信処理部10と送信処理部20とアクセス制御部30のセットを設け、無線切替部を含む。無線切替部は、受信処理部10と送信処理部20とアクセス制御部30のセット間を切り替えられるように接続され、異なる受信処理部10と送信処理部20とアクセス制御部30とPHY処理部40による複数の通信方式の間を切替える。このように、複数の異なる受信処理部10と送信処理部20とアクセス制御部30とPHY処理部40のセットを無線通信装置に備える構成とすることにより、状況に応じて適切な受信処理部10と送信処理部20とアクセス制御部30とPHY処理部40のセットを用いた通信に切替えることが可能となる。
【0164】
(第23の実施形態)
第23の実施形態では、第21の実施形態に係る無線通信装置の構成に加えて、スイッチ(SW)を含む。スイッチは、アンテナ60、複数の異なるPHY処理部40、無線切替部に接続される。このように、スイッチを無線通信装置に備える構成とすることにより、アンテナを共用しながら状況に応じて適切なPHY処理部40を用いた通信に切替えることが可能となる。
【0165】
(第24の実施形態)
第24の実施形態では、第22の実施形態に係る無線通信装置の構成に加えて、スイッチ(SW)を含む。スイッチは、アンテナ60、受信処理部10と送信処理部20とアクセス制御部30のセットの根元、及び無線切替部に接続される。このように、スイッチを無線通信装置に備える構成とすることにより、アンテナを共用しながら状況に応じて適切な受信処理部10と送信処理部20とアクセス制御部30とPHY処理部40のセットを用いた通信に切替えることが可能となる。
【0166】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0167】
0…上位層処理部、10…受信処理部、12…デアグリゲーション/フィルタ部、14…受信バッファ、16…SMSN保持部、18…受信コーディネータ部、20…送信処理部、30…アクセス制御部、40…PHY制御部、50…周波数変換回路、60…アンテナ
【技術分野】
【0001】
本発明の実施形態は、送達確認応答を用いてフレーム交換を行う無線通信端末に関する。
【背景技術】
【0002】
複数のデータフレームに対する送達確認応答を1つの応答フレームで示す方法として、シーケンス開始番号と固定長ビットマップを用いるものがある。固定長ビットマップには、シーケンス開始番号からの相対的なシーケンス番号のデータフレームに対する個々の送達確認応答が表示される(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】IEEE P802.11−2007
【発明の概要】
【発明が解決しようとする課題】
【0004】
極めて良好な通信環境下では冗長となる場合を考慮し、複数のデータフレームに対する送達確認応答のフレーム長を削減することにより、通信効率を向上することのできる通信端末を提供することが望ましい。
【課題を解決するための手段】
【0005】
実施形態によれば、受信部と、第1の処理部と、第1の記憶部と、第2の記憶部と、第2の処理部と、送信部とを具備する無線通信端末が提供される。受信部は、1つ以上のフレームボディフィールドと、前記フレームボディフィールドの長さに関する情報を含む第1のフィールドと、前記フレームボディフィールドの誤り検出をするための第2のフィールドと、前記フレームボディフィールドに対応するシーケンス番号を含むシーケンス番号フィールドとを含む1つの物理パケットを受信する。第1の処理部は、前記第1のフィールドと前記第2のフィールドを用いて、正しいフレームボディフィールドを抽出する。第1の記憶部は、前記第1の処理部により抽出されたフレームボディフィールドと、そのフレームボディフィールドに対応するシーケンス番号フィールドとを保持する。第2の記憶部は、前記第1の処理部の結果に基づいて、連続で受信成功した最大のシーケンス番号を保持する。第2の処理部は、前記連続で受信成功した最大のシーケンス番号までのシーケンス番号に対応するフレームボディフィールドを前記第1の記憶部から継続する受信処理へ回す。送信部は、前記第1の処理部により少なくとも1つの正しいフレームボディが抽出されたならば、前記連続で受信成功した最大のシーケンス番号を通知する応答フレームを送信する。
【図面の簡単な説明】
【0006】
【図1】第1の実施形態に係るデータフレームフォーマットを示した図
【図2】第1の実施形態に係る送達確認応答フレームフォーマットを示した図
【図3】第1の実施形態に係る無線通信端末構成を示した図
【図4】第1の実施形態に係る具体的なデータフレームの受信状態を示した図
【図5】第1の実施形態に係る具体的なデータフレームの受信状態を示した別の図
【図6】第1の実施形態に係る具体的なデータフレームの受信状態を示した別の図
【図7】第1の実施形態に係る具体的なデータフレームの受信状態を示した別の図
【図8】第1の実施形態に係る詳細なデータフレームフォーマットを示した図
【図9】第1の実施形態に係るフレームボディフィールドとFCSフィールドの抽出方法を説明するための図
【図10】第1の実施形態に係るSHフィールドの探索処理を説明するための図
【図11】第2の実施形態に係る送達確認応答フレームフォーマットを示した図
【図12】第2の実施形態に係る具体的なデータフレームと送達確認応答フレームの交換を示した図
【図13】第2の実施形態に係る具体的なデータフレームと送達確認応答フレームの交換を示した別の図
【図14】第2の実施形態に係る具体的なデータフレームと送達確認応答フレームの交換を示した別の図
【図15】第3の実施形態に係る受信データフレーム内の処理を説明するための図
【図16】第3の実施形態に係る受信データフレーム内の処理を説明するための別の図
【図17】第3の実施形態に係る受信データフレーム内の処理を説明するための別の図
【図18】第5の実施形態に係る受信バッファとSMSN保持部の状態を示した図
【図19】第7の実施形態に係る受信バッファとSMSN保持部の状態とデータフレーム受信と送達確認応答フレーム送信の関係を例示した図
【図20】第7の実施形態に係る受信バッファとSMSN保持部の状態とデータフレーム受信と送達確認応答フレーム送信の関係を例示した別の図
【図21】第9の実施形態に係る受信バッファとSMSN保持部の状態とデータフレーム受信と送達確認応答フレーム送信の関係を例示した図
【図22】第9の実施形態に係る受信バッファとSMSN保持部の状態とデータフレーム受信と送達確認応答フレーム送信の関係を例示した別の図
【図23】第9の実施形態に係る受信バッファとSMSN保持部の状態とデータフレーム受信と送達確認応答フレーム送信の関係を例示した別の図
【図24】第12の実施形態に係る具体的なデータフレームと送達確認応答フレームの交換の例を示した図
【図25】第12の実施形態に係るシーケンス番号開始の通知ビットが正しく使用されているかを判断するアルゴリズム例を示した図
【発明を実施するための形態】
【0007】
以下、実施の形態について、図面を参照して説明する。
【0008】
電磁波の波長がミリメートル(mm)オーダーのミリ波帯、例えば60 GHz帯、では通信状態が極めて良好な場合と極めて劣悪な場合に大きく二分されることが考えられる(IEEE 802.11 doc.:IEEE802.11-09/0302r0)。以下で説明する種々の実施形態は、このような通信状態が発生し得る場合の、主にフレームの受信動作における通信効率の向上に関する。
【0009】
(第1の実施形態)
まず、無線通信に用いられるフレームならびに、無線通信端末の基本的な構成を説明する。
【0010】
本実施形態では、無線通信端末が他の無線通信端末と接続し、通信を行う際に3種類のフレームを用いる。他の無線通信端末との間の物理的な通信リンクの管理に用いるフレームが管理フレームである。例えば他の無線通信端末との間の通信を開始するために用いられるフレームや通信リンクをリリースする(つまり接続を切断する)ためのフレーム、無線通信端末におけるパワーセーブ動作に係るフレームなどがある。
【0011】
他の無線通信端末と物理的な通信リンクが確立した上で、無線通信端末の内部で生成されたデータを他の無線通信端末に送信するフレームがデータフレームである。データは本実施形態の上位層で生成されるものである。例えばユーザの操作によってデータは生成される。
【0012】
上記データフレームを他の無線通信端末との間で送受(交換)する際の制御に用いられるフレームが制御フレームである。無線通信端末がデータフレームを受信した場合にその送達確認のために送信される応答フレームは制御フレームの1つである。
【0013】
これら3種類のフレームは物理(PHYsical;PHY)層で必要に応じた処理を経て物理パケットとしてアンテナを経由して送出される。
【0014】
本実施形態に係るデータフレームのフォーマットを図1に示す。本実施形態では複数のデータが連接(Aggregate)して1つの物理パケットを構成するアグリゲーションフレームを扱う。図1はn個のデータがフレームボディとして連接されていることを示している。ここでは便宜的にサブヘッダ(SubHeader;SH)フィールド2とフレームボディ(Frame Body;FB)フィールド3とフレームチェックシーケンス(Frame Check Sequence;FCS)フィールド4とを1セットとして「フレーム」と呼び、フレーム#1、フレーム#2、…フレーム#nと表している。
【0015】
共通ヘッダ(Common Header;CH)フィールド5には当該フレームを送信する無線通信端末の識別子(Transmitter Unique ID;Tx UID)や受信先の無線通信端末の識別子(Receiver Unique ID;Rx UID)など、フレーム全体に共通の情報が入れられる。フレームを受信した無線通信端末がそのフレームが当該無線通信端末宛てであるかをRx UIDを用いて確認後、その情報に応じた受信処理を行うことから、好ましくはRx UIDがCHフィールド5の先頭に来て、その後Tx UIDが続く構成が良い。このCHフィールド5に、以降に連接して入れられているフレームボディ3の数情報を入れるようにしてもよい。またCHフィールド5の情報が正しく受信できたかを確認するための誤り検出フィールド、すなわちヘッダチェックシーケンス(Header Check Sequence;HCS)フィールドをCHフィールドに付加してもよい。
【0016】
CHフィールド5の後には1つ以上のデータが入れられる。各データはフレームボディ(Frame Body;FB)フィールド3に入れられ、それにサブヘッダ(SubHeader;SH)フィールド2とフレームチェックシーケンス(Frame Check Sequence;FCS)フィールド4が付随する。
【0017】
SHフィールドにはFBフィールド長を示すLengthフィールド7、フレームボディ(すなわちデータ)の順序であるシーケンス番号を示すシーケンス番号(Sequence Number;SN)フィールド8、及びヘッダチェックシーケンス(Header Check Sequence;HCS)フィールド6が入れられている。図1ではHCSフィールド6をSHフィールド2の隣に明示しているが、HCSフィールド6はSHフィールド2に含まれる。SHフィールド2にはそのSHフィールドとFBフィールドに対応するフレームの種別を示す情報9などを含めてもよい。当該フレームはデータフレームであるので、フレーム種別はデータフレームであることが示される。なお、フレームの種別を示す情報9とは、例えば1つのフィールドで示してもよいし、制御フレームとデータフレーム/管理フレームの識別をする第1のフィールドとデータフレームと管理フレームの識別をする第2のフィールドというように複数のフィールドで示してもよい。最終的にフレームの種別情報として少なくともデータフレームと管理フレームと制御フレームのレベルで識別できるようになっていればよい。フレームの種別を示す情報9はCHヘッダ5に入れてもよい。これらSHフィールド2の情報が正しく受信できたかを確認するための誤り検出フィールドがHCSフィールド6である。SHフィールド2にHCSフィールド6を設けることによって、SHフィールド2の情報が示すFBフィールド長7やシーケンス番号8などのSHフィールド内のデータを正しく抽出できるか判断することができる。
【0018】
FBフィールド3に続くFCSフィールド4はFBフィールド3の情報が正しく受信できたかを確認するための誤り検出フィールドである。
【0019】
本実施形態において上記のようなデータフレームを受信した無線通信端末が送信する送達確認応答フレームのフォーマットを図2に示す。
【0020】
CHヘッダはデータフレームフォーマットと同様である。以降に連接して入れられているフレームボディの数情報を入れるフィールドがある場合には、ここには数は0(零)であることを示す。
【0021】
図2におけるSHフィールドは図1におけるSHフィールドと同じ構成で示してあるが、異なってもよい。しかし少なくともシーケンス番号を示すSNフィールド2とHCSフィールド6が入る。図2では図1と同様にHCSフィールド6をSHフィールド2の隣に明示しているが、HCSフィールド6はSHフィールド2に含まれる。フレームの種別を示す情報9をデータフレームにおけるSHフィールドと同様に入れる場合は、制御フレームであることが示される。フレームの種別を示す情報9はCHヘッダ5に入れてもよい。フレーム種別の情報9の表示方法としては、図1のデータフレームに関して記載したのと同様、例えば1つのフィールドで示してもよいし、制御フレームとデータフレーム/管理フレームの識別をする第1のフィールドとデータフレームと管理フレームの識別をする第2のフィールドというように複数のフィールドで示してもよい。当該フレームは制御フレームであることから、前述のように複数のフィールドで示す場合は、データフレームと管理フレームの識別をするフィールドは無関係となるため、リザーブド(Reserved)となる。当該送達確認応答のSHフィールド2を図1におけるデータフレームのSHフィールド2と同じ構成とする場合にはLengthフィールドをリザーブド(Reserved)にしてもよいし、あるいはFBフィールドが存在しないため、例えば0(零)を入れるようにしてもよい。
【0022】
本実施形態に係る送達確認応答フレームにおいて、SNフィールド2には無線通信端末が連続で受信成功したフレームの最大のシーケンス番号(Successive Maximum Sequence Number;SMSN)8’を指定する。
【0023】
送達確認応答フレームのSHフィールド2の最後にはSHフィールドの情報が正しく受信できたかを確認できるように誤り検出フィールドであるHCSフィールド6を付ける。
【0024】
このような送達確認応答フレームのフォーマットにより、従来の複数のフレームボディすなわちデータ各々に対する送達確認応答を通知する方法に比べて応答フレーム長が短くなり、極めて良好な通信環境下で通信効率を向上することができる。また送達確認応答フレームに入力する情報としての受信ステータスを1状態だけ保持すればよい。
【0025】
当該データフレームや送達確認応答フレームを含むフレームは物理層で符号化処理などを施され、物理ヘッダやプリアンブルなどが付与され、アンテナから変調されて送出されることになる。
【0026】
図3に本実施形態における無線通信端末の構成を示す。
【0027】
受信処理部10と送信処理部20が上位処理部0とアクセス制御部30とPHY処理部40につながっている。PHY処理部40は物理パケットを受信する受信部と物理パケットを送信する送信部とを備え、周波数変換回路50を介してアンテナ60とつながっている。
【0028】
本実施形態の無線通信端末において、図3のアンテナ60まで含む構成を無線通信装置部としてもよい。このように、アンテナ60を無線通信装置部に含める構成とすることにより、アンテナまで含めた1つの装置として無線通信装置を構成することが可能となるため、実装面積を少なく抑えることが可能となる。また、図3において、アンテナ60を送信処理部20と受信処理部10で共用している。このように、1つのアンテナを送信処理部および受信処理部で共用することにより、無線通信装置を小型化することが可能となる。
【0029】
PHY処理部40の送信部は送信処理部20から受け取ったフレームに符号化などの処理を行い、物理パケットに変換する。この物理パケットは周波数変換回路50で必要な周波数帯、例えば60GHzのミリ波帯、の無線信号に変調されてアンテナ60から輻射される。アンテナ60は図3では複数の場合を示しているが、単一であってもよい。
【0030】
受信の場合は、アンテナ60から受信した無線信号が周波数変換回路50においてPHY処理部40で処理可能な基底帯域(Baseband)に復調され、PHY処理部40の受信部に渡される。受信部により物理パケット復号化処理やプリアンブル及び物理ヘッダなどを取り除く処理が行われた後のペイロード部がフレームとしてPHY処理部40から受信処理部10に渡される。またフレームを受信処理部10に渡す前に、物理パケットの受信開始の通知を、フレームを受信処理部10に渡した後には受信終了の通知をそれぞれ受信処理部10に入力する。物理パケットのエラー検出の通知や、無線媒体の状況に関する情報をアクセス制御部30に入力する。
【0031】
受信処理部10と送信処理部20とアクセス制御部30は上述のデータフレーム、制御フレーム、管理フレームを扱い、他の無線通信端末との間で無線リンクを確立し、それらフレームの交換を行う。これらは少なくとも媒体アクセス制御(Media Access Control;MAC)に関する処理を行うが、データフレームに関してはデータを交換する無線通信端末間のアプリケーション層レベルでデータの送信の順序とデータの受信の順序が合うように、受信側におけるデータの並べ直しの処理も含む。
【0032】
なお、複数の異なるPHY処理部があり、各々に対応する送信処理部、受信処理部、アクセス制御部があり、さらに異なるPHY処理部にまたがった共通処理部があってもよい。
【0033】
ユーザの操作などによってアプリケーションで送信するデータが発生すると、上位処理部0を介して送信処理部20にデータが渡され、送信処理部20において図1で示すデータフレームに変換される。個々のデータはフレームボディとして、あるいはより細かい単位に分割(fragment)した上でFBフィールドに入れられる。送信処理部20には1ずつ増加する整数カウンタを用意しておき、同一の無線通信端末へ同一種別のフレーム(ここではデータフレーム)を送信する間は、各フレームボディに対応するSNフィールドに当該カウンタの値をシーケンス番号として割り当てる。送信処理部20はアクセス制御部30からの情報に基づき送信タイミングを計り、生成したフレームを送信指示と共にPHY処理部40に渡す。このとき、送信に必要な変調及び符号化方式の指示なども合わせて行うようにしてもよい。
【0034】
PHY処理部40を介して上記データフレームを受信した無線通信端末では、受信処理部10でデータフレームに対する図2の送達確認応答フレームを生成し、データフレームを含んだ物理パケットの受信終了後から所定のフレーム間隔(InterFrame Space;IFS)を開けて当該送達確認応答フレームを物理パケットとして送信する。また、受信処理部10は、受信したデータフレーム中のFBフィールド部の内容をSNフィールドに基づいて順番に上位処理部0に渡す。
【0035】
本実施形態では、受信したデータフレームから1つでも正しくFBフィールドを抽出できたなら、連続で受信成功したフレームの最大シーケンス番号(SMSN)をSNフィールドに入れた送達確認応答フレームを前記データフレーム受信のIFS後に送信する。また受信したフレームから新規に正しく抽出できたフレームボディがSMSNを更新したなら、当該フレームボディを上位処理部0に渡す。これらを実現するため、受信処理部10は、デアグリゲーション/フィルタ部12、受信バッファ14、連続最大シーケンス番号(SMSN)保持部16、受信コーディネータ部18を含む。構成はこれに限らず、最終的には上記目的を達成することができればよい。
【0036】
デアグリゲーション/フィルタ部12はFBフィールドが連接されている(Aggregated)場合に各FBフィールドを分離及び抽出するデアグリゲーション処理と、以降の受信処理に必要なフレームのみを通すフィルタリング処理を行う。
【0037】
フレーム種別情報がCHフィールドにある場合、好ましくは次のように処理が行われる。連接されたフレームボディの数情報がCHフィールドに記載されている場合であって、それが0の場合は、フレームボディの数が0を許容するフレーム種別であるかを確認する。また、そのフレーム種別を処理する際の条件として、当該フレームの識別子が、許容するTx UIDの範囲内でありまたRx UIDの範囲内であるかを確認する。当該条件を満たした場合には、制御フレームであればこれを受信コーディネータ部18へ渡し、データフレームであればこれを受信バッファ14へ渡す。管理フレームの場合にもシーケンス番号で管理している場合には、データフレームと同様に受信バッファ14へ渡し、後述する応答動作としての送達確認応答フレームの送信もデータフレームの場合と同様になる。フレームボディの数情報が1以上の場合には、フレーム種別を確認し、そのフレームボディの数を許容するフレーム種別であるかを確認する。また、そのフレーム種別を処理する際の条件として、当該フレームの識別子が、許容するTx UIDの範囲内でありまたRx UIDの範囲内である場合に、デアグリゲーション処理を行う。受信フレームがフィルタリング処理において条件から外れた場合にはその条件の外れ方に応じてエラー処理に回すか、そのまま廃棄するかなどを行う。このようにすることで、自無線通信端末宛てのデータフレームの場合にはこれをデアグリゲーション処理し、自無線通信端末宛ての送達確認応答フレームの場合にはこれを受信コーディネータ部18へ渡す。そしてデアグリゲーション処理では連接された(Aggregated)FBフィールドをSHフィールドのLengthフィールドの情報によって個別に抽出(Deaggregation)する。まずSHフィールド内の情報に誤りがないかどうかをSHフィールドの最後に入れられたHCSフィールドに基づいて判定する。次に、誤りがない、つまり正しいと判定された場合にLengthフィールドの情報を用いてFBフィールドを抽出する。そして各FBフィールドの情報に誤りがないかどうかをFBフィールドに続くFCSフィールドに基づいて判定する。誤りがない、つまり正しいと判定されたFBフィールドの情報を対応するSNフィールドの情報(シーケンス番号)とともに受信バッファ14へ渡す。このようにSHフィールドにフレームボディ長(Lengthフィールド)とシーケンス番号(SNフィールド)というフレームボディに関する情報が一箇所にまとまっていることにより、デアグリゲーション/フィルタ部12と受信バッファ14で用いる情報の抽出が容易になる。受信フレームの処理を開始して最初に正しくFBフィールドの情報を抽出できた際には、送達確認応答フレームの準備開始の指示を受信コーディネータ部18に送る。受信コーディネータ部18に対するこの通知によって、受信フレームから少なくとも1つ以上のFBフィールドを正しく抽出できると、受信コーディネータ部18は送達確認応答フレームの送信準備を行うことになる。SHフィールドにより、それが付随するFBフィールドと、FBフィールドに続くFCSフィールドの抽出と判定を行った後は、当該FCSフィールドの後に続く次のSHフィールドを探索して同様の動作を継続する。そして、受信フレームの最後まで処理が終了すると、受信コーディネータ部18に受信フレームの処理終了の通知を送る。この際、受信フレームを終了した実際の時刻を合わせて通知に入れるようにする。受信フレームを終了した時刻は、PHY処理部40から受信フレームの終了通知を受け取った時刻を把握し、当該把握までに発生した処理遅延の時間を差し引くことにより求めることができる。なお、実際の抽出するフレームボディの数がフレームボディの数情報と異なる場合にはエラー処理に回す。抽出するフレームボディの数がフレームボディの数情報と一致した段階でデアグリゲーション処理を終了するようにしてもよい。
【0038】
フレーム種別情報がSHフィールドにある場合は、自無線通信端末宛てのフレームなら上記のSHフィールドによるデアグリゲーション処理を行いつつ、フレーム種別によって必要な情報を適宜他の受信コーディネータ部18、受信バッファ14に送る。フレームボディの数情報が0の場合は、次のSHフィールドを用いてフレームボディの数が0を許容するフレーム種別であることを確認する。また、そのフレーム種別を処理する際の条件として、当該フレームの識別子が、許容するTx UIDの範囲内でありまたRx UIDの範囲内である場合には受信コーディネータ部18へ渡す。フレームボディの数情報が1以上の場合は、CHフィールド直後の最初のSHフィールドを用いてフレーム種別を確認し、そのフレームボディの数を許容するフレーム種別であるかを確認する。また、そのフレーム種別を処理する際の条件として、当該フレームの識別子が、許容するTx UIDの範囲内でありまたRx UIDの範囲内である場合に、デアグリゲーション処理を行う。
【0039】
デアグリゲーション処理は上述と同様となる。但し、デアグリゲーション処理中に、各SHフィールドに記載されたフレーム種別情報を確認し、許容するフレーム種別であるかを判断し、その条件から外れた場合にはエラー処理に回す。例えば1つのフレーム内には単一のフレーム種別のフレームボディしか連接できないとする。その場合に、最初のSHフィールドがデータフレームであって、次のSHフィールドが管理フレームである、というように異なるフレーム種別のフレームボディが混在するようなフレームを受信するとエラー処理に回すことになる。
【0040】
受信バッファ14では、正しいと判定されたFBフィールドの情報(フレームボディ)と、それに対応するシーケンス番号を対にして保持する。好ましくはフレームボディとシーケンス番号の対をシーケンス番号順に並べ替える(reorder)。受信バッファ14はSMSN保持部16で保持する最大シーケンス番号を参照し、その最大シーケンス番号より1大きいシーケンス番号があるなら、当該1大きいシーケンス番号に対応するフレームボディを受信コーディネータ部18に渡し、また当該1大きいシーケンス番号をSMSN保持部16に通知する。受信バッファ14が受信コーディネータ部18にフレームボディを渡した際には、好ましくは当該フレームボディとそれに対応するシーケンス番号を保持していた領域をクリアする。
【0041】
SMSN保持部16では、受信バッファ14から通知されたシーケンス番号を保持する。このように動作することによって、SMSN保持部16は受信成功した連続最大シーケンス番号を保持することになる。
【0042】
受信コーディネータ部18は、デアグリゲーション/フィルタ部12からの入力に対し、送信処理部20あるいは上位処理部0と連動した動作を行う。受信コーディネータ部18は、送達確認応答フレームの準備開始の通知を受けると、受信フレームの処理終了の通知を受けるのを待ち、受信フレームの処理終了の通知があると、SMSN保持部16から連続最大シーケンス番号を取得し、その番号とフレームを受信終了した時刻を含む送達確認応答フレームの送信指示を送信処理部20へ送る。送達確認応答フレームの準備開始の通知を受けて、受信フレームの処理終了の通知が来る前に不適切なフレームを受信したなどのエラー処理が発動された場合は、好ましくは送達確認応答フレームの準備開始を中断する。受信コーディネータ部18が受信バッファ14からFBフィールドを入力されると、上位処理部0へFBフィールド、すなわちフレームボディを渡す。また受信コーディネータ部18は、送達確認応答フレームが入力されたなら、そのフレームに記載された送達確認に関する情報を送信処理部20に渡す。本実施形態では受信成功した連続最大シーケンス番号を送達確認応答フレームによって通知することになっていることから、当該連続最大シーケンス番号を送信処理部20に通知することになる。好ましくは、合わせて送達確認応答フレームのTx UID、すなわち送達確認応答フレームを送信した無線通信端末の識別子を通知する。
【0043】
送信処理部20は送達確認応答フレームの送信指示を受けると、連続最大シーケンス番号をSNフィールドに入れた図2の送達確認応答フレームを生成し、通知された受信フレームの受信終了時刻から固定時間後に送信されるようにPHY処理部40へ送達確認応答フレームを渡す。固定時間とは好ましくは規定される最小のフレーム間隔(IFS)であって、送信と受信の切り替え時間と送達確認の必要なフレームであることを把握して送達確認応答フレームを生成及び送信するまでの処理遅延とを足した時間である。一般に、この最小フレーム間隔はShort InterFrame Space (SIFS)と呼ばれる。また受信コーディネータ部18から送達確認に関する情報を受けると、その情報を用いて送信したフレームの再送処理を行う。本実施形態では連続最大シーケンス番号の通知を受けることにより、送信したフレームボディのうち、当該通知シーケンス番号より大きなフレームボディを再送する。再送するフレームボディを含んだデータフレームを生成し、送信する手順は前述と同様である。送達確認応答フレームのTx UIDを連続最大シーケンス番号と合わせて受けることで、送信したフレームボディのうち当該Tx UIDと同一のRx UIDを持つフレームボディに対して再送処理を行うべきであることを判断することができる。すなわち、データフレームを送信した相手先の無線通信端末から送達確認応答フレームを受けると、その無線通信端末に対して適切な再送を行うことができる。再送処理の対象となるフレーム(データフレームあるいは管理フレーム)の送信後、当該フレームに対する送達確認応答フレームを所定の時間内に受信しなければ、フレームに含まれる全てのフレームボディを再送する処理は従来知られている技術と同様となる。
【0044】
前述のシーケンス番号とは、データの送信側とデータの受信側の無線通信端末との間でデータの順序を同一にし、認識を共通にするためのものである。本実施形態では受信コーディネータ部18を介するわけであるが、受信バッファ14の上記動作によって、受信したフレームボディ情報をSNフィールドの情報に基づくことによりデータ送信側無線端末における順序に対応付けて上位層に上げることができる。なお、順序を整えることなく受信バッファ14からそのまま上位処理部0へフレームボディ情報を渡すようにしてもよい。
【0045】
上位処理部0は受信したフレームのフレームボディ情報を受信処理部10から受けると、当該フレームボディをアプリケーションへデータとして入力するなどの継続した受信処理を行う。フレームボディ情報は、受信処理部10から、継続した受信処理へ回される。
【0046】
以上のように動作することで、送達確認に基づいたデータのフレーム交換を無線通信端末間で行うことができる。
【0047】
次に、具体的に図4のようなデータフレームを受信した場合について検討する。ここではCHフィールドは正しく受信された場合を想定する。つまり、CHフィールドがHCSフィールドを含む場合であって、該HCSフィールドにより誤りを検出しなかった場合を想定する。なお、CHフィールドが正しく受信されなかった場合は、送達確認応答フレームの送信は行われない。各SHフィールド中のHCSフィールドと各FBフィールドに付随するFCSフィールドは省略してあるが、それぞれのHCSあるいはFCSで誤りがない(すなわち正しい)と判定された場合は対応するSHフィールドあるいはFBフィールドの下に○と示してあり、それぞれのHCSあるいはFCSで誤りが検出された場合は対応するSHフィールドあるいはFBフィールドの下に×と示してある。便宜的に最初のフレームセットのSHとFBはSH1とFB1と表し、2番目のフレームセットのSHとFBはSH2とFB2と表し、3番目のフレームセットのSHとFBはSH3とFB3と表し、4番目のフレームセットのSHとFBはSH4とFB4と表してある。図4ではデータフレームの中には4セットのフレームがあるが、最初と2番目と3番目のSHフィールドとFBフィールドは正しく受信され、4番目のフレームではSHフィールドに誤りが検出され、従ってFBフィールドも誤りであると判定されたものとする(SH4が対応するHCSで誤りと判定された場合、対応するFCSを用いてFB4を判定する動作は省略してよい)。シーケンス番号として、SH1のSNフィールドには101、SH2のSNフィールドには102、SH3のSNフィールドには103、SH4のSNフィールドには104が割り当てられているとした場合、無線通信端末において連続で受信成功したシーケンス番号は103になることから、データフレームを送信した無線通信端末に103をSNフィールドに入れた送達確認応答フレームを送信する。当該データフレームを送信した無線通信端末はSNフィールドに103が入った送達確認応答フレームを受信すると、シーケンス番号104に対応するデータを再送する必要があることを把握し、SH4とFB4を含むデータフレームを送信することになる。
【0048】
再び図4と同様のシーケンス番号の入ったデータフレームを考え、例えば図5のように3番目のフレームセットのSH3が対応するHCSフィールドに基づき正しいと判定されたが、FB3が対応するFCSフィールドに基づき誤っていたと判定された場合は、無線通信端末はデータフレームを送信した無線通信端末に102をSNフィールドに入れた送達確認応答フレームを送信する。当該データフレームを送信した無線通信端末はSNフィールドに102が入った送達確認応答フレームを受信すると、シーケンス番号103以降のデータを再送する必要があることを把握し、SH3とFB3のセットと、SH4とFB4のセットを再送することになる。これらのセットは1つのデータフレームの中に連接させるようにしてもよいし、個々にCHフィールドを先頭に付加したデータフレームとして別に送信するようにしてもよい。これら再送フレームセットにまだ送信していないフレームセットを追加してデータフレームを構成するようにしてもよい。
【0049】
データフレームの受信が図6の場合を考える。シーケンス番号の割り当ては図4の場合と同様とすると、この例ではシーケンス番号101、102、103に対応するフレームセットの受信は失敗し、シーケンス番号104に対応するフレームセットだけ受信成功している。このような受信結果の場合、無線通信端末は最後の4番目のフレームセットを正しく抽出できたことにより送達確認応答フレームの生成及び送信をするが、当該データフレームの受信で連続して受信成功したシーケンス番号の更新はない。このデータフレームの受信の前のデータフレームによってシーケンス番号100まで順当に受信成功しており、連続して受信成功したシーケンス番号として100を保持していた場合、シーケンス番号として100を入れた送達確認応答フレームを送信する。当該データフレームを送信した無線通信端末は、シーケンス番号101以降の送信したデータを再送する必要があることを把握し、さらに送信先の無線通信端末から送達確認応答はあったということから、送信先無線通信端末には多少のデータは通っていること、つまりコネクションはあること、そして送信先無線通信端末は仮にパワーセーブ動作を行っているとしても現在は受信可能状態にあるということ、を把握することができる。これは通信相手の無線通信端末との間のコネクションを確認する、あるいは受信可能状態にあるかを確認するために探査(Probe)フレームを送信することの代わりになる。
【0050】
データフレームの受信が図7の場合を考える。シーケンス番号の割り当ては図4の場合と同様とすると、この例ではシーケンス番号101、102、103に対応するフレームセットの受信は失敗し、さらにシーケンス番号104に対応するフレームセットのFB4に誤りを検出している。このような受信結果の場合、無線通信端末は1つも正しいフレームボディ、すなわちデータ、の抽出を行えなかったため、送達確認応答フレームの生成及び送信は行わない。当該データフレームを送信した無線通信端末は、当該データフレーム送信の固定時間後に送達確認応答フレームを送信先の無線通信端末から受信しなかったことから、送信先の無線通信端末にデータは届かなかったと判断し、送達確認応答フレーム待ちで再送候補となっているデータ、すなわちシーケンス番号101から104に対応するフレームセットの再送をする。
【0051】
データ送信側無線通信端末は、期待する送達確認応答フレームを受信しなかった場合、送信したデータフレームの中のフレームセットが全て受信失敗したと判断して再送処理を行う。あるいは送達確認応答フレームを要求するフレーム(好ましくはこれも制御フレームである)を送信可能な機構を持つ場合には、当該要求フレームを送信してもよい。当該要求フレームを受信したデータ受信側無線通信端末はSMSN保持部16で保持している値を送達確認応答フレームに入れて送信する。
【0052】
上記図6や図7のような場合、前半のSHフィールドに誤りがあるため、それに続くFBフィールド及びFCSフィールドの抽出ができず、どこから次のSHフィールドが開始するか不明である。そのため、SHフィールドがHCSにより誤っていると判定された場合には次のSHフィールドを探索する動作を行う。この動作は図3に示したデアグリゲーション/フィルタ部12で行われる。
【0053】
まずSHフィールドとそのHCSフィールドとFBフィールドの後のFCSフィールドは固定長であることが要求される。好ましくはSHフィールドがバイト長であり、FBフィールドからFCSフィールドまでの長さの和がSHフィールド長の整数倍になるように、FBフィールドの後にパディングをするパディング(PADding;PAD)フィールドを追加する。ここでは、SHフィールドの長さは8バイトであり、その中に含まれるHCSフィールドは4バイトであるとする。またFCSフィールドの長さは4バイトであるとする。そうすると、PADフィールドは0〜7バイトになる。PADフィールドには各ビットに0を入れるのが望ましい。このデータフレームのフォーマットを図8に示す。SHフィールドの中のLengthフィールドはPADフィールドの長さを含まないので、受信側の無線通信端末は当該Lengthフィールドの値を用いてFBフィールドのみを抽出することができる。またFCSフィールドはFBフィールドの先頭からFBフィールド以上になるSHフィールドの長さ8バイトの最小の整数倍のところから4バイトさかのぼった領域であると判断することができる。図9でこの動作を説明すると、例えばLengthフィールドに18と記載されている場合、SHフィールド後の18バイトをFBフィールドとして抽出し、18バイト以上で最小の8バイトの整数倍は24であることから、SHフィールドの後から24バイトのところをFCSフィールドの終点とし、そこから4バイトさかのぼった領域をFCSフィールドとして抽出することができる。ここで、FCSフィールドはFBフィールドのみを誤り検出の対象とし、PADフィールドは誤り検出の対象には含めない。
【0054】
連接されたフレームセットを含む構成とする場合には、仮に同一のフレーム種別のみが許容されるとした場合、図2の送達確認応答フレームのような、FBフィールドとそれに続くPADフィールドとFCSフィールドがない、SHフィールドのみで終わる制御フレームの構成を途中に含まないことになる。すると誤り判定されたHCSフィールドの後に必ず少なくとも最小のフレームボディ長とPADフィールドと4バイト長のFCSフィールドとがあり、その後に次のSHフィールドが来ることになる。最小のフレームボディ長とPADフィールド長とFCSフィールド長4バイトの和はSHフィールド長の整数倍になる規則であることから、次のSHフィールドの検索開始地点は現時点のSHフィールドの直後からSHフィールド長の整数倍ずらした地点にすればよい。これを図10を用いて説明する。例えば最小のフレームボディ長として0バイトを許容するならSHフィールド長の整数倍にする規則からPADフィールドは4バイトになり、現時点のSHフィールドの直後(図10の(b))を基点としてそこからSHフィールド長の1倍つまり8バイトだけずらした地点(図10の(c))、つまり現時点でのSHフィールドの先頭(図10の(a))からは16バイトずらした地点(図10の(c))を、次のSHフィールドの探索開始地点とすることになる。このSHフィールドの探索開始地点からSHフィールドの固定長分8バイトをSHフィールドとして抽出し、その中で最後の4バイトをHCSフィールドとして誤り検出を試行する。
【0055】
HCSフィールドと想定した部分を用いた誤り検出によって誤りがあると判定された場合、それ以降は現在のSHフィールドの探索開始地点(図10の(c))からSHフィールドの固定長分8バイトをずらした地点をSHフィールドの探索開始地点(図10の(d))として再びそこからSHフィールドの固定長分8バイトをSHフィールドとして抽出し、その中で最後の4バイトをHCSフィールとして誤り検出を試行する。再びHCSフィールドと想定した部分を用いた誤り検出で誤りがあると判定された場合には、現時点でのSHフィールドの探索開始地点からSHフィールドの固定長分8バイトをずらした地点を再びSHフィールドの探索開始地点としてその地点からSHフィールド長分をSHフィールドとして抽出し、想定するHCSフィールドの誤り検出の試行をする、という動作を繰り返す。
【0056】
HCSフィールドであると想定した部分を用いた誤り検出によって誤りがないと判定された場合にはSHフィールドの固定長分8バイトで抽出した領域をSHフィールドと確定してFBフィールドとそれに付随するFCSフィールドの領域とを抽出する。PADフィールドを認識し、除外する処理は上述のとおりである。
【0057】
このようにしてどこから次のSHフィールドが開始するか不明となった場合でもSHフィールドの検出をすることができる。
【0058】
上記SHフィールドの探索処理において、現時点でのSHフィールドの直後から残る領域長が最小のフレームボディ長とFCSフィールド長と最小のフレームボディ長の場合のPADフィールド長の和の2倍とSHフィールド長の和より少なかった場合、次のフレームセットは存在しないとして探索処理を終了してよい。図8のようにFCSフィールド長がSHフィールド長よりも短く、最小のフレームボディ長は0とすると、FCSフィールド長と最小のフレームボディ長とFCSフィールド長とPADフィールド長の和は8バイトでSHフィールド長の1倍になるから、その2倍の16バイトにSHフィールド長の8バイトを足した24バイト、つまりSHフィールド長の3倍よりもフレームボディ分離が未処理の領域が少ない場合には探索処理を終了し、SHフィールドの3倍よりもフレームボディ分離が未処理の領域がある場合には、フレームセットが存在する可能性がまだあるとして次のSHフィールドの探索処理を試行する。現時点でのSHフィールドの探索開始地点からの残る領域長での議論に置き換えるなら、上記SHフィールド長の3倍に加えて現時点で想定するSHフィールド長があるため、SHフィールド長の4倍より少ないか、それ以上かになる。
【0059】
なお、ここまでは図2の送達確認応答フレームのようなSHフィールドでフレームセットが完了する構成単位が混在することを許容しないで記述してきたが、そのような構成単位の混在を許容するなら、上述の最小のフレームボディ長とFCSフィールド長を0バイトとして(つまり、ないものとして)、最初から次のSHフィールドの探索開始地点を現時点でのSHフィールドの探索開始地点からSHフィールドの固定長分だけずらした地点(図10の(b))にして探索処理を行えばよい(図10の(b)で誤り判定されたら、次は(c)を探索開始地点として処理し、以降は前述と同様)。
【0060】
データフレームの構成は図8のようであるとすると、図6の場合の具体的なSHフィールドの探索動作は次のようになる。最小のフレームボディ長は0とする。最初のSHフィールドがそのHCSフィールドにより誤りと判定されると、そのSHフィールドの直後を基点として8バイトずらした地点を次のSHフィールドの探索開始地点として想定するHCSフィールド部の誤り検出を試行する。この場合、誤りと判定されることから、SHフィールドの探索開始地点をさらに8バイト後にずらし、同様の処理を行っていく。最終的に最後のSHフィールド(SH4と示してある部分)を抽出してそれがHCSフィールドより正しいと判定されると、Lengthフィールドを用いてFBフィールドを抽出し、Lengthフィールド以上で8バイトの最小整数倍の地点がフレームセットの最後であるとしてそこから4バイトさかのぼった領域をFCSフィールドとして抽出する。そしてFCSフィールドからFBフィールドが正しいと判定される。
【0061】
SHフィールドの探索処理を継続するかどうかの判断としてフレームボディ分離が未処理の領域長を用いる方法を上述したが、CHフィールドなどに連接されたフレーム数が記載されている場合には、これをSHフィールドの探索処理を継続するかどうかの判断に用いてもよい。もちろん未処理領域長の判断と組み合わせてもよい。SHフィールドがそのHCSフィールドにより正しいと判定されたらフレーム数として1をカウントし、SHフィールドの探索に失敗している領域は1とカウントして連接フレーム数として示された値と同じになった段階で次のSHフィールドの探索を終了する。図6の場合ではCHフィールドに連接フレーム数は4であると記載されているとすると、フレームセット#1から#3までHCSフィールドにより正しいと判定されるSHフィールドがないため、フレーム数として1しかカウントできておらず、SHフィールドの探索処理を継続し、最後のフレームセット#4でSHフィールドがそのHCSフィールドにより正しいと判定される。最後の段階でも、フレーム数としてのカウントは2になる。図5の場合にはフレームセット#3でフレーム数としてのカウントは3になっており、SH3フィールドのLengthフィールドの値と8バイトの整数倍との関係に基づきフレームセット#3の直後からSHフィールドの探索を行うが、そこでSH4フィールドが誤りと判定されることでカウントは4になり、それ以上のSHフィールドの探索は行わない。
【0062】
なお、上述のようにSHフィールド長の整数倍の制約がない場合は、例えば必ずバイト長でフレームセットが構成されるとするなら、上述のSHフィールド探索動作におけるSHフィールド長を用いていた部分を1バイトに置き換えればよい。
【0063】
(第2の実施形態)
第2の実施形態は基本的に第1の実施形態に基づいており、第1の実施形態の構成において、どのシーケンス番号から開始するかをデータ送信側無線通信端末がデータ受信側無線通信端末に通知する構成としたものである。
【0064】
具体的には、例えばシーケンス番号の開始を通知するビットをSHフィールド内に設ける。データ送信側無線通信端末がデータフレームを送信する際に、最初のシーケンス番号が入るフレームセットのSHフィールドではそのビットを立てる(つまり1を立てる)。それ以外のフレームセットではそのビットは立てない(つまり0にする)。このようにすることで、無線通信端末は連続で受信成功した最大のシーケンス番号を把握する上での開始番号をデータの受信と同時に入手することができ、これにより予めデータ交換の前にデータ送信側の無線通信端末からのシーケンス開始番号の通知を受ける必要がない。すなわち、即時にデータ交換を行うことができ、通信効率を向上することができる。データ受信側無線通信端末はそのビットが立っているSHフィールドのSNフィールドの値をシーケンス開始番号として、その番号から連続して値が上がるように受信データフレームを整列させる。具体的には図3の受信バッファ14で、そのシーケンス開始番号から連続して受信コーディネータ部18に上げるようにし、SMSN部16にもそのシーケンス開始番号から連続で受信成功した最大シーケンス番号を通知するようにする。好ましくは、シーケンス開始番号を通知されると、SMSN部16は保持している値を(当該シーケンス開始番号−1)という初期値で上書きし、その後正しく連続で受信成功した最大のシーケンス番号で上書きしていくようにする。この初期値はデアグリゲーション/フィルタ部12から受信コーディネータ部18を経由して通知を受けるようにすればよい。
【0065】
シーケンス番号の開始を通知するビットが立ったSHフィールドを含むフレームに対して送達確認応答フレームを送信する場合には、図11のようにその送達確認応答フレームにおけるSHフィールドでも当該ビット(図11では、「シーケンス開始把握(SYNC)」と示してある)を立てるようにすれば、データ送信側無線通信端末がその送達確認応答フレームを受信してシーケンス番号開始の通知が正確にデータ受信側無線通信端末に通じたかどうかを確認することができる。これにより、データ送信側無線通信端末は、通知したシーケンス開始番号から、データ受信側無線通信端末の通知してくる連続で受信成功した最大のシーケンス番号までを、データ受信側無線通信端末が正しく受信したことを把握し、再送を含むデータ送信を適切にスケジュールすることができる。
【0066】
図12〜図14を用いて説明する。図12はデータ送信側無線通信端末が4つのフレームセットが入ったデータフレーム(DATAと記載してあるもの)を送信し、それに対してデータ受信側無線通信端末が送達確認応答フレーム(ACKと記載してあるもの)を送信した状況を表している。フレーム構成は省略し、データフレームでは各フレームセットにおけるシーケンス番号の開始を通知するビット(SYNCと記載)の状況とシーケンス番号(SNと記載)の値が分かり、送達確認応答フレームではシーケンス番号開始の通知の把握を示すビット(SYNCと記載)と連続で受信成功した最大のシーケンス番号(SNと記載)の値とが分かるようにしてある。また各フレームセットあるいは送達確認応答フレームの受信状況を前述の例と同様に○/×で示してある。図12で、シーケンス番号101からシーケンス番号が開始されることを示すため、シーケンス番号の開始を通知するビットを最初のフレームセットで立てている(SYNC=1、SN=101)。続くフレームセットではシーケンス番号は開始の番号ではないため、シーケンス番号の開始を通知するビットは立てない(SYNC=0)。このデータフレームを受信した無線通信端末は、シーケンス開始を通知されたフレームセット(SYNC=1、SN=101)をSHフィールド及びFBフィールドともに正しく受信し、続く2個目のフレームセット(SYNC=0、SN=102)もSHフィールド及びFBフィールドともに正しく受信し、3個目のフレームセット(SYNC=0、SN=103)はSHフィールドあるいはFBフィールドで誤りを検出し、4個目のフレームセット(SYNC=0、SN=104)はSHフィールド及びFBフィールドともに正しく受信した。そしてデータ受信側無線通信端末は固定時間後にシーケンス番号開始の通知を把握したことと、連続で受信成功した最大のシーケンス番号とを通知する送達確認応答フレーム(SYNC=1、SN=102)をデータ送信側無線通信端末に送信する。データ送信側無線通信端末は当該送達確認応答フレームを受信すると、連続で受信成功した最大のシーケンス番号より1大きいシーケンス番号のフレームから送信する。図13ではシーケンス番号103(SYNC=0、SN=103)とシーケンス番号104(SYNC=0、SN=104)のフレームセットを連接して送信している。図13では連接して送信しているが、これら再送フレームを単独に送信してもよい。但し、単独で送信する場合、必ずシーケンス番号順に送信する。また図13では再送対象のフレームセットのみを連接しているが、未送信のシーケンス番号105のフレームセットを連接してもよい。未送信のフレームセットは再送対象のフレームセットと連続したシーケンス番号であれば、複数を再送対象のフレームセットに加えて連接してもよい。例えば、図13のデータフレームにシーケンス番号105と106も連接できる。
【0067】
ここで図14のように、シーケンス番号の開始を通知するフレームセットの受信に失敗した場合を考える。
【0068】
データ受信側無線通信端末でSHフィールドは受信成功したが、FBフィールドの受信に失敗した場合は、シーケンス開始番号は101と把握しているので、SYNC=1、SN=100という送達確認応答フレームを送信してもよい。つまりシーケンス開始番号に対応するFBフィールドの受信を失敗した場合は、シーケンス開始番号−1の値(つまり先のSMSN部16の初期値)を返すようにする。
【0069】
データ受信側無線通信端末は最初のフレームセットのSHフィールドも受信失敗していたら、シーケンス開始の番号も把握していない。しかし、2番目のフレームセット(SN=102)と4番目のフレームセット(SN=104)は受信している。そこで、送達確認応答フレームを送信する条件は満たされているわけであるから、データ受信側無線通信端末はSMSN保持部16で保持している値を入れて送達確認応答フレームを送信してもよい。しかしこの場合、シーケンス番号の開始を通知するフレームセットを受信したとは認識していないので、送達確認応答フレーム内のシーケンス番号開始の通知を把握したことを示すビットは立てない(SYNC=0)。それにより、データ送信側無線通信端末はデータ受信側無線通信端末がシーケンス番号開始の通知を受けなかったことを認識し、送達確認応答フレームに示されたシーケンス番号は無視し、シーケンス開始番号の通知とそのシーケンス開始番号に対応するフレームセットからの再送を行う。あるいは、データ受信側無線通信端末はシーケンス開始の番号を把握していない場合、SMSN保持部16で保持している値を入れて返すのではなく、任意の値を入れて返すのでもよい。このようにしても、送達確認応答フレーム内のシーケンス開始の通知を把握したことを示すビットは立っていない(SYNC=0)ことより、データ送信側無線通信端末は前述と同様に、データ送信側無線通信端末はデータ受信側無線通信端末がシーケンス番号開始の通知を受けなかったことを認識し、送達確認応答フレームに示されたシーケンス番号は無視し、シーケンス開始番号の通知とそのシーケンス開始番号に対応するフレームセットからの再送を行うことができる。
【0070】
あるいは、コネクション確立後の最初のデータフレームでは必ずシーケンス開始番号の通知があると規定されている場合、データ受信側無線通信端末でその条件が満たされないと、データフレームに対する応答をしないようにしてもよい。データ受信側無線通信端末では無応答とともにエラー処理を行ってもよい。データ送信側無線通信端末はデータフレーム送信後、固定時間の間送達確認応答フレームが来るかを観測し、来ないと判断すると通常のように再送処理を行うことができる。
【0071】
このようにすることで、データ交換の最初に通知を受けるだけで物理パケットごとにシーケンス開始番号の通知を受ける必要がなく、データ送信側の無線通信端末の負荷を軽減することができる。
【0072】
(第3の実施形態)
第3の実施形態は基本的に第1の実施形態に基づいており、第1の実施形態の構成において、SHフィールドの探索処理をフレーム分離が未処理の領域がまだ十分に残っていてもある条件が満たされれば終了する構成としたものである。この条件については以降に詳細をする。探索を終了した時点で、図3の受信バッファ14に保持した情報を廃棄する。
【0073】
第1の実施形態ではSHフィールドに誤りが検出された場合に次のSHフィールドを探索する処理について記載した。そこでは、まだ残る領域が最小のFBフィールド長とFCSフィールド長の和の2倍とSHフィールド長の和以上あるなら、SHフィールドの探索を行っていた。
【0074】
ここで、送達確認応答フレームを送信する条件は、1つでも正しいFBフィールドを抽出することであった。そして送達確認応答フレームでは連続で受信成功したシーケンス番号が通知される。そこで、必ずデータフレームにはシーケンス番号が連続して増加する方向でフレームセットが入れられる、と決められている場合、データフレームの前半の1つあるいは複数のフレームセットの受信に失敗した場合、すでに保持している連続で受信成功したシーケンス番号を当該受信データフレームにより更新する可能性はない。この場合、送達確認応答フレームを送信する条件が満たされるかどうかだけを確認できればよいことになる。
【0075】
また、すでに保持している連続で受信成功したシーケンス番号を当該受信データフレームにより更新する可能性がないということで、受信バッファでシーケンス番号順に連続してフレームボディを次の処理に回す動作も行う必要もなく、受信バッファに当該受信データフレームを保持しておく必要がない。
【0076】
そこで少なくとも1つのフレームセットを正しく抽出できた後、フレームセットの抽出に失敗した場合を、SHフィールドの探索終了、つまりフレームセットの抽出処理の終了の条件とする。これをより詳細に述べると、あるSHフィールドが正しく抽出され、それを用いて抽出したFBフィールドもそれに付随するFCSフィールドにより誤りがない(すなわち、正しい)と判定されることを第1条件とし、第1条件が満たされた上でフレームボディ分離が未処理の領域から抽出したSHフィールドがそのフィールド内のHCSフィールドにより誤りがあると判定された場合もしくは誤りなく(すなわち、正しく)抽出したSHフィールドに基づき抽出したFBフィールドがそれに付随するFCSフィールドにより誤りがあると判定された場合(第2条件)には、次のSHフィールドの探索処理を行わない。
【0077】
そしてこの終了条件が満たされた場合には、受信バッファに保持したフレームセットの情報を廃棄する。
【0078】
SHフィールドを探索する処理と受信バッファの内容破棄について図15〜図17を用いて説明する。
【0079】
図15の例においては、CHフィールドを正しく検出した後、最初のフレームセットのSHフィールド(SH1)がそのHCSフィールドにより誤り検出される。そこで、続くFBフィールド(FB1)も誤りと判定されるが、残る領域についての処理を継続する。すなわち、SH1フィールドの後から第1の実施形態に基づく方法で次の正しいSHフィールドを探索する処理を行う。そして、図15でSH2と表記されたSHフィールドを正しく抽出し、そのSHフィールドが示すFBフィールド(FB2)も付随するFCSフィールドにより正しい(誤りがない)と判定すると、上述の第1条件が満たされたことになり、図3のデアグリゲーション/フィルタ部12から受信バッファ14にSH2内のシーケンス番号とFB2を渡し、残る領域についての処理を継続する。すなわち、FB2に付随するFCSフィールドの後に続く次のSHフィールド(SH3)を抽出して誤りがないかの判定をそのHCSフィールドで行う。図15ではSH3が誤りと判定された場合を示しており、これにより上述の第2条件が満たされる。第1条件の後に第2条件が満たされたということで、SH3の抽出及び判定以降の処理を行わない。すなわち、未処理の領域が残ってはいるが、第1の実施形態のようにSHフィールドの探索処理を継続せずに終了する。そして、図3の受信バッファ14に保持してあったFB2とそれに対応するシーケンス番号情報を廃棄する。
【0080】
図16は、図15とSH3の抽出までは同様で、第1条件は満たされているが、抽出したSH3がそのHCSフィールドにより誤りがない(正しい)と判定された場合を示している。しかし、SH3が示すFB3が付随するFCSフィールドにより誤りがあると判定され、ここで上述の第2条件が満たされる。そこで第1条件の後に第2条件が満たされたということで、FB3の抽出及び判定以降の処理を行わない。すなわち、未処理の領域が残ってはいるが、第1の実施形態のようにSHフィールドの探索処理を継続せずに終了する。また受信バッファで保持してあったFB2とそれに対応するシーケンス番号情報を廃棄する。
【0081】
図17は、前半のフレームセットが正しく抽出できた場合を示している。すなわち、最初のFBフィールド(FB1)を正しく抽出できたことで、上述の第1条件は満たされ、2番目のSHフィールド(SH2)の抽出及び判定処理を継続する。ここで図3のデアグリゲーション/フィルタ部12から受信バッファ14にSH1内のシーケンス番号とFB1が渡される。受信バッファ14ではSMSN保持部16を参照して当該受信データフレームの前に受信していたデータフレームにより保持していた連続で受信成功した最大シーケンス番号とSH1のシーケンス番号を比較し、SH1のシーケンス番号が保持していた値より1だけ大きいと判断すると、受信コーディネータ部18を経由してFB1の情報を上位へ渡す。SH2が正しいと判定されてそれに基づきFBフィールド(FB2)の抽出を行い、それも付随するFCSフィールドにより正しいと判定され、そのFCSフィールド後のSHフィールドの抽出及び判定処理を継続する。ここでも図3のデアグリゲーション/フィルタ部12から受信バッファ14にSH2内のシーケンス番号とFB2が渡される。そして受信バッファ14はFB2のシーケンス番号がFB1のシーケンス番号より1大きいことから、受信コーディネータ部18を経由してFB2の情報も上位へ渡す。しかし、続くSH3が誤りと判定されたことで、上述の第2条件が満たされる。そこで第1条件の後に第2条件が満たされたということで、SH3の抽出及び判定以降の処理を行わない。すなわち、未処理の領域が残ってはいるが、第1の実施形態のようにSHフィールドの探索処理を継続せずに終了する。この場合、FB2以降のフレームボディとそれに付随するシーケンス番号情報は受信バッファ14には渡されないので、敢えて廃棄処理を実施する必要はない。
【0082】
上述の処理では、デアグリゲーション/フィルタ部から受信バッファに一旦フレームボディとそれに付随するシーケンス番号を渡し、処理終了の判断と同時に受信バッファ内の情報を廃棄する、としていたが、受信データフレームの先頭のフレームセットを正しく抽出できなかったら、SMSN保持部で保持する情報は当該受信データフレームでは更新されないので、それ以降のフレームセットのフレームボディとそれに付随するシーケンス番号の情報は受信バッファには渡さない、というようにしてもよい。つまり必ずデータフレームにはシーケンス番号が連続で増加する方向でフレームセットが入れられる、と決められている場合に、最初のFBフィールドを正しく抽出することに失敗した、もしくは最初のFBフィールドから連続して正しく抽出できた後にFBフィールドを正しく抽出することに失敗した時点から、受信データフレームの最後までフレームセットの分離を完了していなくてもそれ以降のフレームセットのフレームボディとそれに付随するシーケンス番号の情報は受信バッファには渡さない、あるいは受信バッファにおける情報保持を止めることである。
【0083】
このようにすることで、応答フレームに入れる連続で受信成功した最大のシーケンス番号とSMSN保持部16で必要な情報以外の冗長な情報を受信バッファ14で保持せず、従来の複数データに対する応答方式に比べてデータ受信側でメモリの使用を削減することができる。またバッファ管理も容易になり実装負荷を軽減できる。実装負荷の軽減はひいては実装上のバグ発生の危険度も削減することができる。
【0084】
ここまでは、必ずデータフレームにはシーケンス番号が連続して増加する方向でフレームセットが入れられる、と決められている場合で説明してきたが、シーケンス番号が順不同で入れられている場合でも、上述のような条件で処理を終了するようにしてもよい。この場合、仮に処理を終了しなかったなら連続で受信成功した最大のシーケンス番号を更新できたかもしれないところを、必ずしも更新できないわけだが、送達確認応答フレームの送信条件は満たされるわけで、データ送信側無線通信端末から少なくとも1つは正しいフレームセットを受信できたということは、データ送信側無線通信端末に通知することができる。
【0085】
このようにすることで、送達確認応答フレームの送信条件を満たした以降の冗長なSHフィールドの探索処理を止めることができ、消費電力を削減することができる。
【0086】
(第4の実施形態)
第4の実施形態は基本的に第3の実施形態に基づいており、未処理の領域が十分残っている場合でも処理を終了する条件に関して、データフレームの中でフレームセットが必ずしもシーケンス番号が連続して増加する方向で入れられなくてもよいとし、連続で受信成功した最大のシーケンス番号の更新が少なくとも1回は行われてから処理を終了するようにしたものである。具体的には第3の実施形態で説明した第1条件を変更する。
【0087】
すなわち、あるFBフィールドがそれに付随するFCSフィールドにより誤りがない(正しい)と判定され、そのFBフィールドに対応するSHフィールド内のSNフィールドが図3のSMSN保持部16で保持する連続で受信成功した最大のシーケンス番号を更新することを第1条件とする。従って、連続で受信成功した最大のシーケンス番号が当該受信データフレームに基づいて更新されるまではSHフィールドの探索処理を継続し、1回でも更新がされれば、それ以降はSHフィールドが誤るかもしくはSHフィールドが正しくてもそれが対応するFBフィールドが誤った場合に仮に未処理の領域が残っていたとしても次のSHフィールドを探索する処理は終了することになる。受信バッファの廃棄のタイミングは上記第1条件が満たされた以降、第2条件が満たされた場合である。
【0088】
例えば、図15の受信状況のように2番目のフレームセットを受信成功し、そのシーケンス番号がSMSN保持部で保持している連続で受信成功した最大のシーケンス番号を更新したとすれば第1条件が満たされたとして、第3の実施形態の場合と同様にSH3が誤っていると判定した時点で、それ以降の処理を終了する。図3の受信バッファ14はデアグリゲーション/フィルタ部12からFB2を受け取ると、SMSN保持部16で保持する値を参照し、その値よりFB2に対応するシーケンス番号が1だけ大きいので、受信コーディネータ部18を経由してFB2を上位へ渡す。そしてその後、デアグリゲーション/フィルタ部12における当該受信データフレームの処理終了に伴い、受信バッファ14にはFBフィールドとSNフィールドの情報は渡されないから空のままとなる。
【0089】
例えば、図15の受信状況のように2番目のフレームセットを受信成功したものの、そのシーケンス番号がSMSN保持部で保持している連続で受信成功した最大のシーケンス番号を更新しなかったなら、まだ第1条件は満たされていないため、第3の実施形態とは異なり、SH3が誤っていると判定しても続くSHフィールドの探索処理を継続する。
【0090】
図17の受信状況のように1番目のフレームセットと2番目のフレームセットを正しく受信したとしても、例えば当該受信データフレームの前の受信データフレームで連続で受信成功した最大のシーケンス番号が100であり、1番目のフレームセットのシーケンス番号が103であり、2番目のフレームセットのシーケンス番号が104であれば、当該受信データフレームにおいて連続で受信成功した最大のシーケンス番号の更新はまだ達成されていないため、第3の実施形態とは異なり、SH3が誤っていると判定しても続くSHフィールドの探索処理を継続する。
【0091】
このようにすることで、物理パケット内のデータがシーケンス番号順でない場合でも、送達確認応答フレームの送信条件を満たし、かつ受信側無線通信端末として有意なデータを抽出した後の冗長なSHフィールドの探索処理を止めることができ、消費電力を削減することができる。
【0092】
(第5の実施形態)
第5の実施形態は基本的に第1の実施形態に基づいており、第1の実施形態の構成において、1つのデータフレームの受信処理を終了するごとに受信バッファで保持する情報を廃棄するようにしたものである。
【0093】
第1の実施形態では連続で受信成功した最大のシーケンス番号をデータ送信側無線通信端末に通知することから、データ送信側無線通信端末ではその連続で受信成功した最大のシーケンス番号より大きなシーケンス番号に対応するフレームセットは再送の対象となる。そこで、データ受信側無線通信端末ではシーケンス番号が飛んだ(歯抜けの)状態でフレームセットを受信バッファに保持しておいても、データ送信側無線通信端末からそれら受信済みのフレームも含めた再送があり、重複受信することになる。従って歯抜け状態の受信バッファは廃棄しても問題ないわけである。
【0094】
図18の例で考える。図18は図3の受信バッファ14とSMSN保持部16に関する情報を概念的に示してある。受信バッファ14にはシーケンス番号102と104に対応するフレームボディ情報が保持されており、ここまでで連続で受信成功した最大のシーケンス番号はSMSN保持部16を参照すると100である、ということを表現している。シーケンス番号100まではすでに連続していることから、次の処理に渡されており、シーケンス番号順に受信バッファは管理され、シーケンス番号101と103に対応するフレームボディが未受信である。この状態で受信データフレームの処理が終了すると、受信バッファで保持しているシーケンス番号102と104に対応するフレームボディ情報も廃棄する、というのが本実施形態の動作になる。具体的には、図3のデアグリゲーション/フィルタ部12で受信データフレームの処理を最後まで完了したことを把握すると、受信コーディネータ部18に受信フレームの処理終了の通知を出す。受信コーディネータ部18はデアグリゲーション/フィルタ部12からの受信フレームの処理終了の通知を受けると、受信バッファ14から連続で受信成功した最大のシーケンス番号までのフレームボディを受け取った後、受信バッファ14に保持する情報の消去を指示する。受信バッファに指示をするのではなく、受信コーディネータ部18が受信バッファの保持情報を消去するようにしてもよい。
【0095】
このようにすることで、データフレームの中でフレームセットが必ずしもシーケンス番号が連続して増加する方向で入れられていなくても確実にデータフレームの最後まで確実に連続で受信成功した最大のシーケンス番号があるかを確認することができ、その上で受信処理後には不要な情報を受信バッファで保持する必要がなく、メモリの使用を削減することができる。
【0096】
(第6の実施形態)
第6の実施形態は、第1〜第5の実施形態の各々に適用することが可能であり、データ受信側無線通信端末において、データ送信側無線通信端末が適切なシーケンス番号の範囲を守って送信しているかの判断基準を設けるように構成したものである。
【0097】
第1の実施形態では1つのデータフレームに複数のフレームセットを連接して入れることができる。一方でデータ受信側無線通信端末ではシーケンス番号が連続で増加する方向でフレームセットを順に上位処理に渡す動作を行う。そこで、データ送信側無線通信端末における新規と再送を含めたフレームセットのシーケンス番号の範囲、つまり送信側スライディングウィンドウ、とデータ受信側無線通信端末での受信バッファサイズを考えなくてはならない。少なくとも受信バッファサイズは保持できるフレームセットの個数が送信側スライディングウィンドウの範囲以上に対応していなければならない。好ましくは、送信側スライディングウィンドウの幅と受信バッファサイズで保持できるフレームセットの個数は等しい。そうすれば、データ送信側とデータ受信側の両方で必要十分となる。
【0098】
例えば送信側スライディングウィンドウの幅と受信バッファがともに4つのフレームセットに対応できるものとする。従って、データ受信側無線通信端末では連続で受信成功した最大のシーケンス番号から4つ大きいシーケンス番号のフレームセットまでは受信して問題はないが、それ以上のシーケンス番号を持つフレームセットを受信して受信バッファに入れてしまうと、保持している連続で受信成功した最大のシーケンス番号から連続で上位にフレームボディ情報を渡す処理ができなくなる。例えば、連続で受信成功した最大のシーケンス番号は100であるとし、そこでシーケンス番号105のフレームセットを受信した場合、受信バッファに当該フレームセットを保持すると、その後シーケンス番号101〜104の4つのフレームセットを受信した場合に、その中のいずれかのフレームセットが受信バッファに入りきらず、その結果、連続して上位にフレームボディ情報を渡す処理ができなくなる。従って、データ受信側無線通信端末は1つ前の受信データフレームを処理した段階で保持している連続で受信成功した最大のシーケンス番号に受信バッファサイズ(ここでは4)加えた値より大きいシーケンス番号のフレームセットを含むデータフレームを受信すると、連続性違反、言い換えればスライディングウィンドウ違反であるとして、エラー処理を開始する。
【0099】
データ送信側無線通信端末は、シーケンス番号の連続性を保障するために、データ受信側無線通信端末が送達確認応答フレームで通知した連続で受信成功した最大のシーケンス番号に基づき、送信側スライディングウィンドウを制御する。上述の例では、データ受信側無線通信端末から連続で受信成功した最大のシーケンス番号は100であり、スライディングウィンドウの幅を受信バッファサイズと同様の4とすると、スライディングウィンドウの始点Win_sを100+1すなわち101に合わせ、スライディングウィンドウの終点Win_eが100+4すなわち104であることから、シーケンス番号101から104の間のフレームセットのみをデータフレームに入れて送信するようにする。このスライディングウィンドウ内であればどのフレームセットから送信してもよいが、好ましくはシーケンス番号順に送信するようにする。スライディングウィンドウ内の全てのフレームセットを一度にデータフレームに入れなくてもよいし、スライディングウィンドウ内の送信順のどこまでのフレームセットを同一のデータフレームに入れるのかも任意である。しかし、スライディングウィンドウの始点Win_sから連続したシーケンス番号のフレームセットを、それらが順不同であってもよいが、1つのデータフレーム内に入れることが望ましい。このように送信することで、データ受信側無線通信端末で効率的に受信したデータをシーケンス番号順に上位処理に渡すことができるためである。
【0100】
一方、データ受信側無線通信端末は連続で受信成功した最大のシーケンス番号100を送達確認応答フレームとして送信したが、データ送信側無線通信端末で当該送達確認フレームを受信しなかった、もしくは正しく受信できなかった場合、データ送信側無線通信端末は送信側スライディングウィンドウを更新しない。従って、この場合、データ送信側無線通信端末とデータ受信側無線通信端末とで動作が同期せず、データ送信側無線通信端末は再び古いスライディングウィンドウに基づきデータフレームを送信することになる。一つ前に送達確認応答フレームで通知した、連続で受信成功した最大のシーケンス番号が96であるとし、それは正しく受信されていたとすると、例えばシーケンス番号97から100の間のフレームセットをデータフレームに入れて送信してくる。データ受信側無線通信端末において、この古いスライディングウィンドウに基づき送信されたデータフレームに含まれるフレームセットは連続性違反、言い換えればスライディングウィンドウ違反、として検出すべきではない。しかし、それより小さなシーケンス番号のフレームセットを含むデータフレームを受信した場合には連続性違反とすべきである。但し、これは一つ前の送達確認応答フレームは正しく受信できていたと仮定した上での判断になる。ここで、データ受信側無線通信端末で現在保持している連続で受信成功した最大のシーケンス番号から受信バッファサイズ(ここでは4)を引いた値以下のシーケンス番号のフレームセットを含むデータフレームを受信したら、明らかに違反である。つまり、一旦はシーケンス番号100までのフレームセットを受信したのに、シーケンス番号96あるいはそれより小さいシーケンス番号のフレームセットを受信した場合には、データ送信側無線通信端末が送信側スライディングウィンドウの幅を無視して送信していることになるからである。またシーケンス番号が最小は97からであっても最大が101以上のものも含むなら、送信スライディングウィンドウの幅を無視して送信していることになり、これも違反である。これらの場合も、上述と同様、エラー処理を開始する。
【0101】
データ受信側無線通信端末における連続性違反、言い換えればスライディングウィンドウ違反の検出は、図3の無線通信端末構成においては、例えば以下のように処理すればよい。
【0102】
シーケンス番号が小さ過ぎる違反の検出:
例1−デアグリゲーション/フィルタ部12はデータフレーム内の最小のシーケンス番号を抽出するようにしておいて、データフレームの受信終了し、受信コーディネータ部18に受信フレームの処理終了の通知を送る際に、合わせて当該最小のシーケンス番号を通知するようにする。受信コーディネータ部18は受信フレームの処理終了の通知をデアグリゲーション/フィルタ部12から受けると、その中の最小のシーケンス番号を抽出し、SMSN保持部16で保持している連続最大シーケンス番号と比較して連続最大シーケンス番号から受信バッファサイズを引いた値以下であれば、エラー処理を開始する。
【0103】
例2−あるいはデアグリゲーション/フィルタ部12はデータフレームの受信開始と受信終了の通知を受信バッファ14に送るようにする。受信バッファ14はデータフレームの受信開始の通知を受けると、その時点からデアグリゲーション/フィルタ部12により入力されるシーケンス番号のうち最小のシーケンス番号を保持するようにする。受信バッファ14はデータフレームの受信終了の通知を受けると、SMSN保持部16で保持している連続最大シーケンス番号と当該最小のシーケンス番号を比較し、当該最小のシーケンス番号がSMSN保持部16で保持している連続最大シーケンス番号から受信バッファサイズを引いた値以下であれば、エラー処理を行うように受信コーディネータ部18に指示を送る。例1のようにすると、送達確認応答フレームの送信を止めてエラー処理を行うことが可能である。例2のようにすると、送達確認応答フレームを送信してからエラー処理を開始することになる。送達確認応答フレームの送信を止めるようにしたいなら、受信コーディネータ部18はデアグリゲーション/フィルタ部12からの受信フレームの処理終了の通知を受けると、SMSN保持部16における比較作業が正常に終了しているかどうかを確認する手順を設ける。
【0104】
シーケンス番号が大き過ぎる違反の検出:
デアグリゲーション/フィルタ部12はデータフレームの受信開始の通知を受信バッファ14に送るようにする。受信バッファ14はデアグリゲーション/フィルタ部12からデータフレームの受信開始の通知を受けると、SMSN保持部16から連続最大シーケンス番号を入手し、データフレームの受信開始通知の後からデアグリゲーション/フィルタ部12により入力されたシーケンス番号が当該入手した連続最大シーケンス番号に受信バッファサイズを足した値よりも大きければ、エラー処理を行うように受信コーディネータ部18に指示を送る。
【0105】
ここで、エラー処理としては好ましくはデータ送信側無線通信端末との間の接続を、切断用の管理フレームを送信するなどして、切断する。また、連続性違反を検出したデータフレームに含まれるフレームセットは全て廃棄する。
【0106】
シーケンス番号は前述のように整数カウンタにより割り当てられるが、整数カウンタは最大値まで到達すると最小値(0)からのカウントアップに戻るサイクル動作を行う。従って、「小さい」「大きい」と表現はしているが、最小値に戻る境界では必ずしも実際の値が小さい/大きいとはならない。例えば最大値が255の整数カウンタを考え、受信バッファサイズを4とし、現在保持している連続で最大のシーケンス番号が253であり、当該連続で最大のシーケンス番号を送達確認応答フレームに入れて送信しているとすると、次に受信したデータフレームが250、251、252、253のシーケンス番号のみ(一部のみを含む)から構成される場合、あるいは254、255、0(=256−256)、1(=257−256)のシーケンス番号のみ(一部のみを含む)から構成される場合は正常と判断し、それ以外の場合に違反と判断する。
【0107】
スライディングウィンドウ幅と受信バッファサイズをデータ送信側無線通信端末とデータ受信側無線通信端末で認識を共通にするには、例えばデータフレームの送信の前に管理フレームで通知し合う方法がある。少なくともデータ受信側無線通信端末の受信バッファサイズさえデータ送信側無線通信端末に通知できれば、データ送信側無線通信端末はその通知された受信バッファサイズ以下の幅のスライディングウィンドウ幅にすればよい。またこのように管理フレームで通知するのではなく、システムとして一意に指定しておくのでもよい。
【0108】
このようにすることで、データ受信側無線通信端末でシーケンス番号順にデータを上位処理に渡す動作を保証することができる。
【0109】
(第7の実施形態)
本実施形態は、基本的には第1の実施形態又は第6の実施形態に適用可能であり、データフレームを受信する無線通信端末の受信バッファが新規のフレームセットを受け付けなくなった(フルになった)状態を考慮する構成としたものである。
【0110】
データフレームを受信した無線通信端末の受信バッファでは連続したシーケンス番号のフレームボディを受け付けると通常は当該フレームボディを次の処理に回す。第1の実施形態では図3の受信バッファ14が受信コーディネータ部18を経由して連続したシーケンス番号に対応するフレームボディを上位処理部0に渡す。ここで、受信バッファ14が受信コーディネータ部18にフレームボディを渡す際、受信コーディネータ部18は例えばフレームボディを正常に受け付けたかどうかの通知を受信バッファ14に出し、受信バッファ14はこの通知の信号を受けて正常にフレームボディを受信コーディネータ部18に渡せたかどうかを把握する仕組みであるとする。また受信コーディネータ部18と上位処理部0の間のフレームボディ情報を含む各種データの受け渡しにおいても、受信バッファ14と受信コーディネータ部18の間と同様に通知信号に基づき正常に受け渡しが完了したかどうかを把握する仕組みであるとする。このような仕組みになっているとき、例えば上位処理部0における処理が遅れ、前のフレームボディを受信コーディネータ部18が上位処理部0に渡せていないとすると、受信バッファ14に連続したシーケンス番号に対応するフレームボディがあっても、それを受信コーディネータ部18に渡すことができず(渡す処理をしても失敗の通知信号をもらう)、当該フレームボディ(とそれに対応するシーケンス番号情報)をまだ受信バッファで保持していることになる。このような状況では、データ送信側無線通信端末が送信側スライディングウィンドウを適切に制御し、適切なシーケンス番号のフレームボディだけを含むデータフレームを送信していても、データ受信側無線通信端末では受信バッファがフルの状態になり新規のデータフレームを受け付けることができないことが起こりうる。
【0111】
この場合、本実施形態では受信バッファ14から受信コーディネータ部18へ連続したシーケンス番号に対応するフレームボディの受け渡しが完了していないため、SMSN保持部16へ当該シーケンス番号の通知は行っていない。つまり、SMSN保持部16では連続で受信成功した最大のシーケンス番号の更新は行われていない。そこで、データフレームの受信完了後に送信される送達確認応答フレームに入れられる連続で受信成功した最大のシーケンス番号はSMSN保持部16で保持しているシーケンス番号、つまり受信バッファ14から次の処理に正常に渡すことができたフレームボディに対応するシーケンス番号となる。
【0112】
例えば受信バッファサイズは4として、図19のように、まず受信バッファ14が空で受け付けられる状態にあり、連続で受信成功した最大のシーケンス番号として100をSMSN保持部16で保持しているとする。そこにシーケンス番号101から104に対応するフレームボディを含むデータフレームを受信したが、デアグリゲーション/フィルタ部12では図にあるようにシーケンス番号103以外のフレームボディを正しく抽出することができたとする。シーケンス番号101、102、104に対応するフレームボディはそのシーケンス番号とともに受信バッファ14に送られ、受信バッファ14ではシーケンス番号101はSMSN保持部16で保持しているシーケンス番号100より1だけ大きく連続しているということから、シーケンス番号101に対応するフレームボディを次の処理に渡した。そしてSMSN保持部16で保持する値は101となる。続くシーケンス番号102に対応するフレームボディも同様に連続していることから次の処理に渡したいが、渡す処理が成功していないとする。そうすると、本来はシーケンス番号102を送達確認応答フレームに入れて送信するところが、図19のようにシーケンス番号101を入れて送信することになる。データ送信側無線通信端末はこの送達確認応答フレームを受けて、次に図20のように再送対象のシーケンス番号102から104に対応するフレームセットと新規のシーケンス番号105に対応するフレームセットを入れたデータフレームを送信するかもしれないが、その場合も受信バッファでシーケンス番号102に対応するフレームボディを次の処理に回せない状態のままであるとすると、仮に全てのフレームセットを正常に受信することができて受信バッファとしてはシーケンス番号102から105を全て次の処理に回せる状態であったとしても実際には次の処理に回せていないため、シーケンス番号101を入れた送達確認応答フレームを送信することになる。
【0113】
図19の右側の受信バッファでシーケンス番号102と104に関する情報は送達確認応答フレームの送信と同時に廃棄してしまってもよい。また図20でも102以上のシーケンス番号に対応するフレームセットは再送対象になるため、廃棄してしまってもよい。
【0114】
データ送信側無線通信端末でこのように連続で受信成功した最大のシーケンス番号が上がっていかない送達確認応答フレームを複数回受信した場合には、データ受信側無線通信端末の受信バッファがフレームボディを次の処理に回せない状態になっていると推測して、データフレームの送信をしばらく待つなどの制御をすることもできる。この受信バッファが連続したシーケンス番号のフレームボディを次の処理に回せない状態になった場合に、その状態が解消されるまでの時間を予測し、当該予測時間を送達確認応答フレームの中に入れて、あるいは送達確認応答フレームの代わりに異なるフレームに入れて送信し、データ受信側無線通信端末及びデータ送信側無線通信端末でこの予測時間の間パワーセーブ動作を行うこともできる。連続したシーケンス番号のフレームボディを次の処理に渡せない状態に受信バッファが陥った場合、その状態が解消するまでの時間を予測するには、本願と同一出願人による他の特許出願に係る特願2010−259171号明細書に記載された技術を用いてもよい。すなわち、受信したペイロードデータのサイズが受信バッファの空き容量より大きい場合にバッファフル信号を生成する無線通信装置において、当該ペイロードデータを記憶可能な空き容量が受信バッファに確保されるまでの待ち時間を予測する技術を用いてもよい。この待ち時間は、受信バッファから上位プロトコルまたはホストシステムへのデータ転送時間や転送先の記憶装置の動作シーケンスに要する時間に基づいて予測することができる。具体的には、ハードディスクドライブやフラッシュメモリにデータを書き込む際の準備時間ならびにデータ量とデータ転送速度との関係、USB(Universal Serial Bus)デバイス又はPCI(Peripheral Component Interconnect)デバイスなどのインタフェースにおける転送時間等に基づいて、待ち時間を予測することができる。
【0115】
上記では受信バッファ14が受信コーディネータ部18を経由してフレームボディを上位処理部0に渡す方法を記載したが、直接フレームボディを上位処理部0に渡すようにしてもよく、その場合、フレームボディの受け付けに関連する通知信号は上述の受信バッファ14と受信コーディネータ部18の関係の代わりに受信バッファ14と上位処理部0の関係に置き換えればよい。
【0116】
このようにすることで、データフレームを受信する無線通信端末の受信バッファが新規のフレームセットを受け付けなくなった(フルになった)状態に対処することができる。
【0117】
(第8の実施形態)
第8の実施形態は基本的に第1の実施形態に基づいており、第1の実施形態に係る複数フレームセットを連接させたデータフレームの受信に対応できない無線通信端末が存在する場合の動作を規定するものである。例えば2つまでのフレームセットを連接したデータフレームの受信には対応できるが、それ以上の連接数のデータフレームの受信には対応できない無線通信端末との共存に関する。
【0118】
このような無線通信端末が存在し、そのような無線通信端末にも第1の実施形態に係る無線通信端末がデータ送信を行う可能性がある場合でも、データフレームの送信の前にまず相手無線通信端末との接続を確立する手順で、相手無線通信端末の能力を把握することで、適切なデータフレーム構成を用いることができる。例えば接続を確立する際に、一方の無線通信端末が接続要求の管理フレームを送信し、それを受信した無線通信端末が接続要求を受け付ける際に接続応答の管理フレームを送信するとする。それらの管理フレームの中で、無線通信端末の対応するバージョンを記載するようにすれば、バージョン差がある場合にはどのようなデータフレームまで受信できるかをバージョンが高い方の無線通信端末は把握することができ、データフレームを送信する場合に低いバージョンに対応した方法に制限すればよい。
【0119】
低いバージョンにおける送達確認応答フレームについても第1の実施形態のようにシーケンス番号を通知するフォーマットを使用しているのであれば、バージョンが高い方の無線通信端末がデータ受信側になる場合にも、1つフレームボディしか含まないデータフレームを受信して送信する送達確認応答フレームは第1の実施形態に基づいて送信しても問題はない。送信されるフレームボディはシーケンス番号順に送信されるわけであり、1つのフレームボディしか含まないデータフレームを正しく受信した場合にはそのフレームボディに係るシーケンス番号で連続して受信成功した最大のシーケンス番号は更新されるわけであるから、そのシーケンス番号を送達確認応答フレームに入れて送信すれば、データ送信側無線通信端末ではその低いバージョンにおける通常の送達確認応答フレームの受信と変わらないので普通に処理できる。2つのフレームボディまでしかデータフレームに含められない無線通信端末がデータ送信側で、3つ以上のフレームボディを含むデータフレームの受信処理も可能な無線通信端末がデータ受信側であっても、第1の実施形態に基づき送達確認応答フレームを送信すればよい。データ送信側無線通信端末は通知されたシーケンス番号までがデータ受信側無線通信端末で正常に受信されたと把握して、適宜再送の判断をできるからである。
【0120】
バージョンの低い無線通信端末が第1の実施形態のデータフレームあるいは送達確認応答フレームを第三者として受信したとしても、CHヘッダのRx UIDが自無線通信端末を指定していないことから、そのデータフレームあるいは送達確認応答フレームを廃棄する。
【0121】
仮にデータ受信側無線通信端末が対応できる以上のフレームセットを連接したデータフレームを送信してしまったとしても、例えば連接フレームセット数がSHフィールドに記載されていることにより、その数が対応できる数以下であるかを確認し、適切な処理をすることもできる。例えば対応できるまでの数までを受信処理してもよいが、これは第6の実施形態と類似の状態になることから、好ましくは接続を切断する、換言すれば通信リンクをリリースする、管理フレームをデータ送信側無線通信端末に送信する。好ましくは接続を切断する管理フレームに、バージョンが異なること、あるいは対応できるフレームセット数を超えたフレームセットを含むデータフレームを送信したこと、などを理由として管理フレーム内に記載して送信する。そうすれば、管理フレームを受信したデータ送信側無線通信端末は送信方法を適切に選択し直した上で再度接続の設定手順のための管理フレームを先の無線通信端末と交換してデータフレームの送信を再開できる。
【0122】
このようにして、第1の実施形態に対応しない無線通信端末が存在する場合にも、第1の実施形態に対応する無線通信端末と第1の実施形態に対応しない無線通信端末で適切な処理を行うことができ、無線通信システムとして破綻しない。
【0123】
(第9の実施形態)
第9の実施形態は、基本的に第7の実施形態の変形例に関する。連続で受信成功した最大のシーケンス番号として第7の実施形態では受信バッファ14から次の処理に渡すことのできたシーケンス番号のみを保持していた。本実施形態では、受信バッファ14内で次の処理に渡すことはできていないが前記シーケンス番号からさらに連続しているシーケンス番号のうちの最大のものも保持するようにし、送達確認応答フレームでは後者のシーケンス番号を入れて通知する。
【0124】
ここでは便宜的に、受信バッファ14から次の処理に渡すことのできた連続で最大のシーケンス番号をSMSN_B、受信バッファ14内の状態も含めた連続で受信成功した最大のシーケンス番号をSMSN_Rと表現する。
【0125】
SMSN_Bは前述の実施形態と同様、受信バッファ14から受信コーディネータ部18にシーケンス番号が1つずつ増加する順にフレームボディを渡す際に、その受け渡しが成功した時点でSMSN保持部16に保持させる、成功したフレームボディの対応するシーケンス番号である。
【0126】
SMSN_Rは受信バッファ14で保持しているフレームセットまで含めて考えた場合の連続で受信成功した最大のシーケンス番号である。受信バッファ14ではフレームセットをシーケンス番号に基づき管理しているが、受信バッファ14内でSMSN_Bから連続するシーケンス番号のフレームボディを正しく受信している場合にはSMSN_Rの値を更新するようにして、連続している最大のシーケンス番号をSMSN保持部16に通知するようにする。SMSN_Rは受信バッファ14が受信コーディネータ部18にフレームボディを渡す処理時間が理想的にない場合には、SMSN_Bと同一となる。しかし、実際には処理遅延があり、第7の実施形態の状況のように、シーケンス番号が連続している場合でも受信バッファ14から受信コーディネータ部18に渡せないことが発生するときには、SMSN_Rの値とSMSN_Bの値は異なる。
【0127】
受信コーディネータ部18では送達確認応答フレームの送信指示を送信処理部20に送る際には、SMSN_Rの値を合わせて送るようにし、送信処理部20はSMSN_Rの値を送達確認応答フレームのSNフィールドに入れて送信する。
【0128】
図21〜図23を用いて具体的な動作を説明する。第7の実施形態の図19、図20を用いた場合と同様、受信バッファサイズは4とする。図21では、まず受信バッファ14が空で受け付けられる状態にあり、SMSN保持部16ではSMSN_B、SMSN_Rともに100を保持しているとする。そこにシーケンス番号101から104に対応するフレームボディを含むデータフレームを受信したが、デアグリゲーション/フィルタ部12では図にあるようにシーケンス番号103以外のフレームボディを正しく抽出することができたとする。シーケンス番号101、102、104に対応するフレームボディはそのシーケンス番号とともに受信バッファ14に送られ、受信バッファ14ではシーケンス番号101はSMSN保持部16で保持しているSMSN_Bの100より1だけ大きく連続しているということから、シーケンス番号101に対応するフレームボディを次の処理に渡した。そしてSMSN保持部16で保持するSMSN_BとSMSN_Rは101となる。続くシーケンス番号102に対応するフレームボディも同様に連続していることから、受信バッファ14はSMSN保持部16のSMSN_Rを101から102に更新させるが、当該フレームボディを次の処理に渡す動作はまだ受け付けられないとする。従ってSMSN_Bは101で、SMSN_Rは102という状態になる。当該データフレームの受信後には、図21にあるようにシーケンス番号102を入れた送達確認応答フレームを送信することになる。ここでデータ受信側無線通信端末は、シーケンス番号104に対応するフレームセットは廃棄してしまってもよい。データ送信側無線通信端末は、送信スライディングウィンドウの幅をデータ受信側無線通信端末の受信バッファサイズと同様の4であるとすると、この送達確認応答フレームを受けて、次に図22のように再送対象のシーケンス番号103と104に対応するフレームセットと新規のシーケンス番号105と106に対応するフレームセットを入れたデータフレームを送信するかもしれない。データ受信側無線通信端末では仮に全てのフレームセットを正常に受信することができたとして、このようなデータフレームを受信した段階でもまだシーケンス番号102に対応するフレームボディを次の処理に回せない状態であるとすると、SMSN_Bは101だが、SMSN_Rは受信バッファ14で保持できる最大のシーケンス番号の105になる。シーケンス番号106に対応するフレームセットは受信バッファ14に入れることができず、廃棄される。送信される送達確認応答フレームのSNフィールドには105が入れられる。図22の送達確認応答フレームを受けて、データ送信側無線通信端末が図23のように再送対象となるシーケンス番号106に対応するフレームセットと新規のシーケンス番号107〜109に対応するフレームセットを入れたデータフレームを送信するとする。データ受信側無線通信端末では仮に全てのフレームセットをデアグリゲーション/フィルタ部12で正常に受信することができたとしても、まだシーケンス番号102に対応するフレームボディを次の処理に回せない状態であるとすると、受信バッファ14にも新たなフレームセット、つまりシーケンス番号106から109に対応するフレームセットを保持することもできないため、SMSN_Bは101、SMSN_Rは105のままになる。送達確認応答フレームとしては再びSNフィールドに105を入れたものを送信する。
【0129】
このように送達確認応答フレームで通知するシーケンス番号が上がっていかない状態になった後は、第7の実施形態の動作と同様である。
【0130】
本実施形態のようにSMSN_Rの値を送達確認応答フレームのSNフィールドに入れて送信することにより、受信バッファ14で許容できる範囲までデータ送信側無線通信端末にフレームセットの再送を含む送信をさせることができ、通信効率を向上することができる。
【0131】
上述のように、本実施形態によれば受信バッファ14で保持できるフレームセット数以上のフレームセットをデータ送信側無線通信端末は送信することになる。第6の実施形態によれば、データ受信側無線通信端末においてこれは連続性違反となるが、送達確認応答フレームに記載されたSNフィールドの値に基づきデータ送信側無線通信端末はスライディングウィンドウを制御するわけであるから、連続性違反をしているわけではない。従って、第9の実施形態では送達確認応答フレームに記載したSNフィールドの値、つまりSMSN_Rから受信バッファサイズ以上大きいシーケンス番号のフレームセットを含むデータフレームを受信したなら連続性違反としてエラー処理を開始するようにする。図22や図23では受信バッファ14に入らないフレームセットがあるが、これらはSMSN_R+4以内であるから、連続性違反とはしない。例えば図22においてSMSN_R=102としているところに、シーケンス番号107に対応するフレームセットまで入ったデータフレームを受信すると、連続性違反と判定する。
【0132】
(第10の実施形態)
第10の実施形態は、第1〜第9の実施形態の各々に適用することができ、フラグメントされたデータを受信した場合の処理に関する。
【0133】
データをフラグメントする場合は、第1の実施形態に基づき、複数のフレームセットに分割して入れるが、シーケンス番号を連続で増加させる。さらに、SHフィールドにフラグメントに関する情報を入れるフィールド(More Fragmentフィールド;FMフィールド)を設ける。フラグメントされていないデータのフレームセットである場合、もしくは最後のフラグメントの入ったフレームセットの場合には、当該FMフィールドに0を設定し、そうでない場合、つまりまだフラグメントデータのフレームセットが次に続く場合には、1を設定する。従って、このFMフィールドのサイズを1ビットとすることが好ましい。
【0134】
データ受信側無線通信端末では受信バッファ14から受信コーディネータ部18にシーケンス番号が連続して増加する順でフレームボディを渡すが、合わせて対応するFMフィールドの値も渡す。このようにすることで、受信コーディネータ部18では、FMフィールドに1が立っていたら次のシーケンス番号に対応するフレームボディも1つのデータとしてつなげるというデフラグメント(defragment)処理を行う。FMフィールドに0が立っていたら次のフレームボディを待つことはせずにそのまま上位処理部0に渡す。
【0135】
受信バッファ14から上位処理部0に直接フレームセットを渡す場合には、当該デフラグメント処理は上位処理部0に設けられていればよい。
【0136】
このようにすることで、データがフラグメントされたデータフレームを受信しても、データ受信側無線通信端末でもとのデータに戻す、つまりデフラグメント処理をする、ことができる。
【0137】
(第11の実施形態)
第11の実施形態は、第1〜第10の実施形態の各々に適用することができ、送達確認応答フレームの生成及び送信の条件に関する。具体的には、受信したデータフレームで少なくとも1つのサブヘッダのHCSが正しかった場合に、送達確認応答フレームの生成及び送信を行う。
【0138】
第1の実施形態で図3を用いた無線通信端末の構成の説明において、デアグリゲーション/フィルタ部12は受信フレームの処理を開始し、最初に正しくSHフィールドの情報を抽出できた際に、送達確認応答フレームの準備開始の指示を受信コーディネータ部18に送る、というように変更する。
【0139】
例えば第1の実施形態で用いた図7の状況を再び考える。第1の実施形態ではシーケンス番号101、102、103に対応するフレームセット(フレームセット1、2、3)の受信に失敗し、さらにシーケンス番号104に対応するフレームセット(フレームセット4)ではサブヘッダ(SH4)は誤りがない(正しい)と判断しているが、フレームボディに付随するFCSフィールド(FB4)に誤りを検出しており、それによって、送達確認応答フレームの生成及び送信は行わない。しかし、本実施形態では、SH4のサブヘッダを1つ正しく抽出できていることから、送達確認応答フレームの生成及び送信を行う。送達確認応答フレームで通知するシーケンス番号の入れ方はこれまでの実施形態と同様である。すなわち、当該データフレームの受信で連続して受信成功したシーケンス番号の更新はない。このデータフレームの受信の前にシーケンス番号100まで順当に受信成功しており、連続して受信成功した最大のシーケンス番号として100を保持していた場合、シーケンス番号として100を入れた送達確認応答フレームを送信する。
【0140】
当該データフレームを送信した無線通信端末は、シーケンス番号101以降の送信したデータを再送する必要があることを把握し、さらに送信先の無線通信端末から送達確認応答はあったということから、送信先無線通信端末にはデータフレームの情報の一部は通っていること、つまりコネクションはあること、そして送信先無線通信端末は仮にパワーセーブ動作を行っているとしても現在は受信可能状態にあるということ、を把握することができる。これは通信相手の無線通信端末との間のコネクションを確認する、あるいは受信可能状態にあるかを確認するために探査(Probe)フレームを送信することの代わりになる。
【0141】
(第12の実施形態)
第12の実施形態は、第1〜第11の各々に適用することができ、コネクション確立後の最初のデータフレームに対する応答が来なかった場合の、データ送信側無線通信端末と、データ受信側無線通信端末の動作に関する。
【0142】
コネクション確立後の最初のデータフレームでは、第2の実施形態に基づき、最初のシーケンス番号が入るフレームセットのSHフィールドでシーケンス番号の開始を通知するビット(SYNC)を立てる。そして、データ受信側無線通信端末では、そのシーケンス番号の開始を通知するビットが立ったSHフィールドを正しく受信し、応答条件が満たされた場合には送達確認応答フレームを送信するが、その際送達確認応答フレームのSHフィールドでも対応するビット(SYNC)を立てる。
【0143】
本実施形態では当該ビットを立てた送達確認応答フレームがデータ送信側無線通信端末で正しく受信できなかった場合について記載する。
【0144】
図24を用いて説明する。図24ではシーケンス番号253からシーケンス番号が開始するとし(スライディングウィンドウの始点Win_s=253)、シーケンス番号253を割り当てたフレームセットをデータフレームの先頭に配し、シーケンス番号の開始を通知するビットを立て(SYNC=1、SN=253)ている。そして同じデータフレームの中に他に3つのフレームセットを連接している。これら3つのフレームセットのシーケンス番号はそれぞれ、254、255、0である。ここでは、シーケンス番号のカウンタは255までであるとし、255まで達すると0に戻るとしている。当該データフレームの全てのフレームセットを正しく受信したとすると、データ受信側無線通信端末において連続で受信成功した最大のシーケンス番号は0となるため、連続で受信成功した最大のシーケンス番号は0でありシーケンス番号の開始通知を受けたという送達確認応答フレーム(SYNC=1、SN=0)を送信する。この送達確認応答フレームがデータ送信側無線通信端末で正しく受信できなかったとする。この場合、データ送信側無線通信端末は送信側スライディングウィンドウを変えない(Win_s=253のままである)。データ送信側無線通信端末は最初のデータフレームを送信後、所定の時間、送達確認応答フレームを待つが、所定時間経過しても送達確認応答フレームを受信しなかったと判断すると、さらに所定のフレーム間隔(IFS)を空けて再送を行う。本実施形態では図24の上に示したようにシーケンス番号253からのフレームセットをデータフレームに入れて送信するが、送達確認応答フレームでシーケンス番号の開始通知を受けたということを確認できなかったため、シーケンス番号253のフレームセットでは再びシーケンス番号の開始通知のビットを立てる(SYNC=1、SN=253)。このような再送データフレームを受信したデータ受信側無線通信端末は前に示したと同様に送達確認応答フレームを送信し、データフレームの交換が継続されていく。一方、図24で、下向き矢印の下に示したようなデータフレームをデータ受信側無線通信端末が受信すると、エラー処理を開始する。すなわち下向き矢印の下の1つ目のデータフレームのように、前と開始するシーケンス番号が異なるとき(SYNC=1、SN=254)、あるいは2つ目のデータフレームのように、シーケンス番号を開始する通知ビットが立っていないとき(SYNC=0、SN=253)にはデータ受信側無線通信端末はエラー処理を開始する。
【0145】
ここでデータ受信側無線通信端末が図24の上の再送フレームは正常であるとする一方、下向き矢印の下の2つのデータフレームではエラーであると判断する処理方法を具体的に示す。
【0146】
例えば無線通信端末はこの判断処理を行うために、Sync1とStartSNという2つのパラメータを用意しておく。コネクション確立直後は少なくともSync1は0にする。
【0147】
無線通信端末がコネクション確立後、相手無線通信端末から最初のデータフレームを受信した場合(つまりSync1が0の場合、条件1)、データフレームの先頭のフレームセットのシーケンス番号開始の通知ビットが立っており、かつ他の正しいSHフィールドのフレームセット中のシーケンス番号開始の通知ビットが立っていない(条件2)なら、シーケンス番号開始の通知ビットの使用は正しいとする。そして、シーケンス番号開始の通知ビットが立っているSHフィールドのSNフィールド(シーケンス番号)をStartSNに書き込み、Sync1を1だけインクリメントする(つまりSync1は1となる)。これが図24における最初のデータフレーム受信時の処理になる。条件2が満たされていない場合はシーケンス番号開始の通知ビットの使用が正しくないとして、エラー処理を開始する。
【0148】
コネクション確立後、1回シーケンス番号開始の通知ビットの使用が正しいデータフレームを受信した場合(つまりSync1が1の場合、条件3)、次に受信したデータフレームの先頭のフレームセットのシーケンス番号開始の通知ビットが立っており、かつ他の正しいSHフィールドのフレームセットの中のシーケンス番号開始の通知ビットが立っていない(条件4)か、を判断する。条件4が満たされている場合は、さらにシーケンス番号開始の通知ビットが立っているSHフィールドのSNフィールド(シーケンス番号)が保持しているStartSNと等しい(条件5)か、を判断し、等しい場合にはシーケンス番号開始の通知ビットの使用は正しいとする。Sync1はその値のまま保持する(つまりSync1は1のまま)。これが図24における正しい再送データフレーム受信時の処理になる。一方、条件5が満たされていない場合は、シーケンス番号開始の通知ビットの使用が正しくないとして、エラー処理を開始する。これが図24で下向き矢印の下の1つ目のデータフレーム受信時の処理になる。条件4が満たされていない場合は、受信データフレームに含まれる全ての正しいSHフィールドのフレームセットでシーケンス番号開始の通知ビットが立っていない(条件6)か、を判断する。条件6が満たされているなら、次に受信データフレームに含まれる最小のシーケンス番号が保持しているStartSNより大きい(条件7)か、を判断し、条件7が満たされているなら、シーケンス番号開始の通知ビットの使用は正しいとする。そして、Sync1を1だけインクリメントする(つまりSync1は2となる)。これは、コネクション確立後の最初のデータフレームに対する送達確認応答フレームがデータ送信側無線通信端末で正しく受信され、それを受けて送信側スライディングウィンドウを更新し、次のデータフレームが送信された場合の受信処理に当たる。条件7が満たされていないなら、シーケンス番号開始の通知ビットの使用が正しくないとして、エラー処理を開始する。これが図24で下向き矢印の下の2つ目のデータフレーム受信時の処理になる。条件6が満たされていないなら、シーケンス番号開始の通知ビットの使用が正しくないとして、エラー処理を開始する。
【0149】
コネクション確立後の最初のデータフレームに対する送達確認応答フレームがデータ送信側無線通信端末で正しく受信され、それを受けて送信側スライディングウィンドウを更新し、次のデータフレームが送信された場合の受信では(つまりSync1が2の場合であり、上記条件1も2も満たさない場合に当たる)、受信したデータフレームに含まれる全ての正しいSHフィールドのフレームセットでシーケンス番号開始の通知ビットが立っていない(条件8)なら、シーケンス番号開始の通知ビットの使用は正しいとする。Sync1はその値のまま保持する(つまりSync1は2のまま)。条件8が満たされていないなら、シーケンス番号開始の通知ビットの使用が正しくないとして、エラー処理を開始する。
【0150】
以上に示したシーケンス番号開始の通知ビットが正しく使用されているかを判断する処理動作をC言語ライクに表現したものが図25である。
【0151】
このように、コネクション確立後の最初のデータフレームは、開始するシーケンス番号を通知するという重要な役割も持つため、確実にデータ受信側無線通信端末に送信する必要がある。そこで、ロバストな、好ましくは使用する中で最もロバストな、変調及び符号化方式を選択することが望ましい。
【0152】
このようにすることで、開始するシーケンス番号を確実にデータ受信側無線通信端末に通知することができる。またこのようにすることで、シーケンス番号の開始通知を含むデータフレームへの送達確認応答フレームがデータ送信側無線通信端末で正しく受信できなかった場合の動作を明らかにすることができ、異なる実装により相互接続ができなくなるという問題を回避することができる。
【0153】
なお、ここまでデータ送信側無線通信端末とデータ受信側無線通信端末を区別して記載してきたが、必ずしもこの関係は一意ではなく、2つの無線通信端末の間で相互にデータを送信してもよい。この場合、一方のデータの流れを見れば、一方の無線通信端末が送信側になり、他方の無線通信端末が受信側になるが、他方のデータの流れを見れば、その関係は変わる。
【0154】
(第13の実施形態)
第13の実施形態では、図3の無線通信端末の構成を無線通信装置部として当該構成に加えて、バッファを備える。このように、バッファを無線通信装置に含める構成とすることにより、送受信フレームをバッファに保持することが可能となり、再送処理や外部出力処理を容易に行うことが可能となる。
【0155】
(第14の実施形態)
第14の実施形態では、第13の実施形態に係る無線通信装置の構成に加えて、バス、プロセッサ部、及び外部インターフェース部を備える。プロセッサ部及び外部インターフェース部は、バスを介してバッファと接続される。プロセッサ部ではファームウエアが動作する。このように、ファームウエアを無線通信装置に含める構成とすることにより、ファームウエアの書き換えによって無線通信装置の機能の変更を容易に行うことが可能となる。
【0156】
(第15の実施形態)
第15の実施形態では、図3の無線通信端末の構成を無線通信装置部として当該構成に加えて、クロック生成部を備える。クロック生成部は、クロックを生成して出力端子より無線通信装置の外部にクロックを出力する。このように、無線通信装置内部で生成されたクロックを外部に出力し、外部に出力されたクロックによってホスト側を動作させることにより、ホスト側と無線通信装置側とを同期させて動作させることが可能となる。
【0157】
(第16の実施形態)
第16の実施形態では、図3の無線通信端末の構成を無線通信装置部として当該構成に加えて、電源部、電源制御部、及び無線電力給電部を含む。電源制御部は、電源部と無線電力給電部とに接続され、無線通信装置に供給する電源を選択する制御を行う。このように、電源を無線通信装置に備える構成とすることにより、電源を制御した低消費電力化動作が可能となる。
【0158】
(第17の実施形態)
第17の実施形態では、第16の実施形態に係る無線通信装置の構成に加えて、SIMカードを含む。SIMカードは、上位処理部0あるいは受信処理部10と送信処理部20に接続される。このように、SIMカードを無線通信装置に備える構成とすることにより、容易に認証処理を行うことが可能となる。
【0159】
(第18の実施形態)
第18の実施形態では、第14の実施形態に係る無線通信装置の構成に加えて、動画像圧縮/伸長部を含む。動画像圧縮/伸長部は、バスと接続される。このように、動画像圧縮/伸長部を無線通信装置に備える構成とすることにより、圧縮した動画像の伝送と受信した圧縮動画像の伸長とを容易に行うことが可能となる。
【0160】
(第19の実施形態)
第19の実施形態では、図3の無線通信端末の構成を無線通信装置部として当該構成に加えて、LED部を含む。LED部は、受信処理部10と送信処理部20あるいはPHY処理部40と接続される。このように、LED部を無線通信装置に備える構成とすることにより、無線通信装置の動作状態をユーザに容易に通知することが可能となる。
【0161】
(第20の実施形態)
第20の実施形態では、図3の無線通信端末の構成を無線通信装置部として当該構成に加えて、バイブレータ部を含む。バイブレータ部は、少なくとも受信処理部10あるいはPHY処理部40と接続される。このように、バイブレータ部を無線通信装置に備える構成とすることにより、無線通信装置の動作状態をユーザに容易に通知することが可能となる。
【0162】
(第21の実施形態)
第21の実施形態では、図3の無線通信端末の構成を無線通信装置部として当該構成に加えて、第1の実施形態で記載したように、複数の異なるPHY処理部40を設け、無線切替部を含む。無線切替部は、複数の異なるPHY処理部40に接続され、異なるPHY処理部40による通信の間を切替える。このように、複数の異なるPHY処理部40を無線通信装置に備える構成とすることにより、状況に応じて適切なPHY処理部40を用いた通信に切替えることが可能となる。
【0163】
(第22の実施形態)
第22の実施形態では、図3の無線通信端末の構成を無線通信装置部として当該構成に加えて、第1の実施形態で記載したように、複数の異なるPHY処理部40を設け、またこれら各々のPHY処理部40に対応する受信処理部10と送信処理部20とアクセス制御部30のセットを設け、無線切替部を含む。無線切替部は、受信処理部10と送信処理部20とアクセス制御部30のセット間を切り替えられるように接続され、異なる受信処理部10と送信処理部20とアクセス制御部30とPHY処理部40による複数の通信方式の間を切替える。このように、複数の異なる受信処理部10と送信処理部20とアクセス制御部30とPHY処理部40のセットを無線通信装置に備える構成とすることにより、状況に応じて適切な受信処理部10と送信処理部20とアクセス制御部30とPHY処理部40のセットを用いた通信に切替えることが可能となる。
【0164】
(第23の実施形態)
第23の実施形態では、第21の実施形態に係る無線通信装置の構成に加えて、スイッチ(SW)を含む。スイッチは、アンテナ60、複数の異なるPHY処理部40、無線切替部に接続される。このように、スイッチを無線通信装置に備える構成とすることにより、アンテナを共用しながら状況に応じて適切なPHY処理部40を用いた通信に切替えることが可能となる。
【0165】
(第24の実施形態)
第24の実施形態では、第22の実施形態に係る無線通信装置の構成に加えて、スイッチ(SW)を含む。スイッチは、アンテナ60、受信処理部10と送信処理部20とアクセス制御部30のセットの根元、及び無線切替部に接続される。このように、スイッチを無線通信装置に備える構成とすることにより、アンテナを共用しながら状況に応じて適切な受信処理部10と送信処理部20とアクセス制御部30とPHY処理部40のセットを用いた通信に切替えることが可能となる。
【0166】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0167】
0…上位層処理部、10…受信処理部、12…デアグリゲーション/フィルタ部、14…受信バッファ、16…SMSN保持部、18…受信コーディネータ部、20…送信処理部、30…アクセス制御部、40…PHY制御部、50…周波数変換回路、60…アンテナ
【特許請求の範囲】
【請求項1】
1つ以上のフレームボディフィールドと、前記フレームボディフィールドの長さに関する情報を含む第1のフィールドと、前記フレームボディフィールドの誤り検出をするための第2のフィールドと、前記フレームボディフィールドに対応するシーケンス番号を含むシーケンス番号フィールドとを含む1つの物理パケットを受信する受信部と、
前記第1のフィールドと前記第2のフィールドを用いて、正しいフレームボディフィールドを抽出する第1の処理部と、
前記第1の処理部により抽出されたフレームボディフィールドと、そのフレームボディフィールドに対応するシーケンス番号フィールドとを保持する第1の記憶部と、
前記第1の処理部の結果に基づいて、連続で受信成功した最大のシーケンス番号を保持する第2の記憶部と、
前記連続で受信成功した最大のシーケンス番号までのシーケンス番号に対応するフレームボディフィールドを前記第1の記憶部から継続する受信処理へ回す第2の処理部と、
前記第1の処理部により少なくとも1つの正しいフレームボディが抽出されたならば、前記連続で受信成功した最大のシーケンス番号を通知する応答フレームを送信する送信部と、
を具備することを特徴とする無線通信端末。
【請求項2】
1つ以上のフレームボディフィールドと、前記フレームボディフィールドの長さに関する情報を含む第1のフィールド及び前記フレームボディフィールドに対応するシーケンス番号を含むシーケンス番号フィールドを含むサブヘッダフィールドと、前記フレームボディフィールドの誤り検出をするための第2のフィールドと、前記サブヘッダフィールド情報の誤り検出をするための第3のフィールドとを含む、1つの物理パケットを受信する受信部と、
前記第3のフィールドを用いて正しいサブヘッダフィールドを抽出し、該サブヘッダフィールドと前記第2のフィールドとを用いて正しいフレームボディフィールドを抽出する第1の処理部と、
前記第1の処理部により抽出されたフレームボディフィールドと、そのフレームボディフィールドに対応するシーケンス番号を保持する第1の記憶部と、
前記第1の処理部の結果に基づいて、連続で受信成功した最大のシーケンス番号を保持する第2の記憶部と、
前記第2の記憶部連続で受信成功した最大のシーケンス番号までのシーケンス番号に対応するフレームボディフィールドを前記第1の記憶部から継続する受信処理へ回す第2の処理部と、
前記第1の処理部により少なくとも1つのサブヘッダフィールドが抽出されたならば、前記連続で受信成功した最大のシーケンス番号を通知する応答フレームを送信する送信部と、
を具備することを特徴とする無線通信端末。
【請求項3】
前記シーケンス番号フィールドと前記第1のフィールドとは、同一のサブヘッダフィールドに含まれることを特徴とする請求項1記載の無線通信端末。
【請求項4】
前記サブヘッダフィールドは、前記シーケンス番号フィールドによって示される値がシーケンス開始番号であるか否かを通知する情報をさらに含むことを特徴とする請求項2又は3記載の無線通信端末。
【請求項5】
前記サブヘッダフィールドは、前記サブヘッダフィールド情報の誤り検出をするための第3のフィールドを最後に含むことを特徴とする請求項3記載の無線通信端末。
【請求項6】
前記サブヘッダフィールドは第1の固定バイト長であり、前記第2のフィールドは第2の固定長であり、前記第3のフィールドは第3の固定長であり、
前記第2の固定長は前記第1の固定バイト長よりも短く、
前記フレームボディフィールドには、フレームボディフィールド長と前記第2の固定長と第4のフィールド長との和が前記第1の固定バイト長の倍数になるようにパディングを行う第4のフィールドが追加されており、
前記第1の処理部は、
前記サブヘッダフィールドが当該サブヘッダフィールドに含まれる第3のフィールドにより誤りと判定され、かつ前記受信部が受信した物理パケットのフレームボディ分離が未処理である領域が少なくとも第1の固定バイト長の3倍以上残されている場合、
前記サブヘッダフィールドとして扱った第1の固定バイト長の領域の直後から第1の固定バイト長だけ前記受信部が受信した物理パケットの後方にずらした地点を第1の基点として再度、前記第1の固定バイト長分をサブヘッダフィールドとして抽出し、想定する第3のフィールド部を用いて誤り検出を行う、サブヘッダフィールドの探索処理を実施し、
前記想定する第3のフィールド部に誤りがあると判定された場合には前記第1の基点から第1の固定バイト長分後方にずらした地点を新たに第1の基点としてサブヘッダフィールドの探索処理を継続し、
前記想定する第3のフィールド部に誤りがないと判定された場合には第1の固定バイト長分で抽出した領域をサブヘッダフィールドと確定してフレームボディフィールドとそれに付随する第2のフィールドの領域を抽出する
ことを特徴とする請求項2乃至請求項5記載の無線通信端末。
【請求項7】
前記第1の処理部は、
前記サブヘッダフィールドにより抽出したフレームボディフィールドが前記第2のフィールドを用いて正しいと判定したならば、
前記受信部が受信した物理パケットのフレームボディ分離が未処理である領域から抽出したサブヘッダフィールドが前記第3のフィールドを用いて誤りと判定した場合、もしくは正しいサブヘッダフィールドに基づき抽出したフレームボディフィールドがそれに付随する第2のフィールドを用いて誤りと判定した場合には、前記サブヘッダフィールドの探索処理を終了することを特徴とする請求項6記載の無線通信端末。
【請求項8】
前記第1の処理部は、
前記第2のフィールドを用いて正しいと判定したフレームボディのシーケンス番号フィールドによって前記連続で受信成功した最大のシーケンス番号が更新された以降、
前記受信部が受信した物理パケットのフレームボディ分離が未処理である領域から抽出したサブヘッダフィールドを前記第3のフィールドを用いて誤りと判定した場合、もしくは正しいサブヘッダフィールドに基づき抽出したフレームボディフィールドがそれに付随する第2のフィールドを用いて誤りと判定した場合には、前記サブヘッダフィールドの探索処理を終了することを特徴とする請求項6記載の無線通信端末。
【請求項9】
前記受信部が受信した物理パケットには、対応するシーケンス番号フィールドの値が連続で増加するようにフレームボディフィールドが入れられ、
該物理パケットからの正しいフレームボディフィールドの抽出に失敗した時点で、
前記第1の記憶部は、前記第1の処理部により抽出したフレームボディフィールド及び対応するシーケンス番号フィールドの保持を止めることを特徴とする請求項1又は請求項2記載の無線通信端末。
【請求項10】
前記第2の処理部は、前記受信部が受信した物理パケットの最後までフレームボディフィールドの抽出が完了した場合には、連続で受信成功した最大のシーケンス番号までの前記第1の記憶部に保持された情報を継続する受信処理へ回すため抽出した後、前記第1の記憶部に保持された情報を廃棄することを特徴とする請求項1又は請求項2記載の無線通信端末。
【請求項11】
前記第2の記憶部は、シーケンスの開始番号である旨通知されたシーケンス番号フィールドを含む物理パケットの受信時点から連続で受信成功した最大のシーケンス番号を保持することを特徴とする請求項4記載の無線通信端末。
【請求項12】
シーケンス開始番号である旨通知されたシーケンス番号フィールドを含む物理パケットの受信に対する応答フレームは、シーケンス開始番号の通知を受けたことを通知する情報をさらに含むことを特徴とする請求項4記載の無線通信端末。
【請求項1】
1つ以上のフレームボディフィールドと、前記フレームボディフィールドの長さに関する情報を含む第1のフィールドと、前記フレームボディフィールドの誤り検出をするための第2のフィールドと、前記フレームボディフィールドに対応するシーケンス番号を含むシーケンス番号フィールドとを含む1つの物理パケットを受信する受信部と、
前記第1のフィールドと前記第2のフィールドを用いて、正しいフレームボディフィールドを抽出する第1の処理部と、
前記第1の処理部により抽出されたフレームボディフィールドと、そのフレームボディフィールドに対応するシーケンス番号フィールドとを保持する第1の記憶部と、
前記第1の処理部の結果に基づいて、連続で受信成功した最大のシーケンス番号を保持する第2の記憶部と、
前記連続で受信成功した最大のシーケンス番号までのシーケンス番号に対応するフレームボディフィールドを前記第1の記憶部から継続する受信処理へ回す第2の処理部と、
前記第1の処理部により少なくとも1つの正しいフレームボディが抽出されたならば、前記連続で受信成功した最大のシーケンス番号を通知する応答フレームを送信する送信部と、
を具備することを特徴とする無線通信端末。
【請求項2】
1つ以上のフレームボディフィールドと、前記フレームボディフィールドの長さに関する情報を含む第1のフィールド及び前記フレームボディフィールドに対応するシーケンス番号を含むシーケンス番号フィールドを含むサブヘッダフィールドと、前記フレームボディフィールドの誤り検出をするための第2のフィールドと、前記サブヘッダフィールド情報の誤り検出をするための第3のフィールドとを含む、1つの物理パケットを受信する受信部と、
前記第3のフィールドを用いて正しいサブヘッダフィールドを抽出し、該サブヘッダフィールドと前記第2のフィールドとを用いて正しいフレームボディフィールドを抽出する第1の処理部と、
前記第1の処理部により抽出されたフレームボディフィールドと、そのフレームボディフィールドに対応するシーケンス番号を保持する第1の記憶部と、
前記第1の処理部の結果に基づいて、連続で受信成功した最大のシーケンス番号を保持する第2の記憶部と、
前記第2の記憶部連続で受信成功した最大のシーケンス番号までのシーケンス番号に対応するフレームボディフィールドを前記第1の記憶部から継続する受信処理へ回す第2の処理部と、
前記第1の処理部により少なくとも1つのサブヘッダフィールドが抽出されたならば、前記連続で受信成功した最大のシーケンス番号を通知する応答フレームを送信する送信部と、
を具備することを特徴とする無線通信端末。
【請求項3】
前記シーケンス番号フィールドと前記第1のフィールドとは、同一のサブヘッダフィールドに含まれることを特徴とする請求項1記載の無線通信端末。
【請求項4】
前記サブヘッダフィールドは、前記シーケンス番号フィールドによって示される値がシーケンス開始番号であるか否かを通知する情報をさらに含むことを特徴とする請求項2又は3記載の無線通信端末。
【請求項5】
前記サブヘッダフィールドは、前記サブヘッダフィールド情報の誤り検出をするための第3のフィールドを最後に含むことを特徴とする請求項3記載の無線通信端末。
【請求項6】
前記サブヘッダフィールドは第1の固定バイト長であり、前記第2のフィールドは第2の固定長であり、前記第3のフィールドは第3の固定長であり、
前記第2の固定長は前記第1の固定バイト長よりも短く、
前記フレームボディフィールドには、フレームボディフィールド長と前記第2の固定長と第4のフィールド長との和が前記第1の固定バイト長の倍数になるようにパディングを行う第4のフィールドが追加されており、
前記第1の処理部は、
前記サブヘッダフィールドが当該サブヘッダフィールドに含まれる第3のフィールドにより誤りと判定され、かつ前記受信部が受信した物理パケットのフレームボディ分離が未処理である領域が少なくとも第1の固定バイト長の3倍以上残されている場合、
前記サブヘッダフィールドとして扱った第1の固定バイト長の領域の直後から第1の固定バイト長だけ前記受信部が受信した物理パケットの後方にずらした地点を第1の基点として再度、前記第1の固定バイト長分をサブヘッダフィールドとして抽出し、想定する第3のフィールド部を用いて誤り検出を行う、サブヘッダフィールドの探索処理を実施し、
前記想定する第3のフィールド部に誤りがあると判定された場合には前記第1の基点から第1の固定バイト長分後方にずらした地点を新たに第1の基点としてサブヘッダフィールドの探索処理を継続し、
前記想定する第3のフィールド部に誤りがないと判定された場合には第1の固定バイト長分で抽出した領域をサブヘッダフィールドと確定してフレームボディフィールドとそれに付随する第2のフィールドの領域を抽出する
ことを特徴とする請求項2乃至請求項5記載の無線通信端末。
【請求項7】
前記第1の処理部は、
前記サブヘッダフィールドにより抽出したフレームボディフィールドが前記第2のフィールドを用いて正しいと判定したならば、
前記受信部が受信した物理パケットのフレームボディ分離が未処理である領域から抽出したサブヘッダフィールドが前記第3のフィールドを用いて誤りと判定した場合、もしくは正しいサブヘッダフィールドに基づき抽出したフレームボディフィールドがそれに付随する第2のフィールドを用いて誤りと判定した場合には、前記サブヘッダフィールドの探索処理を終了することを特徴とする請求項6記載の無線通信端末。
【請求項8】
前記第1の処理部は、
前記第2のフィールドを用いて正しいと判定したフレームボディのシーケンス番号フィールドによって前記連続で受信成功した最大のシーケンス番号が更新された以降、
前記受信部が受信した物理パケットのフレームボディ分離が未処理である領域から抽出したサブヘッダフィールドを前記第3のフィールドを用いて誤りと判定した場合、もしくは正しいサブヘッダフィールドに基づき抽出したフレームボディフィールドがそれに付随する第2のフィールドを用いて誤りと判定した場合には、前記サブヘッダフィールドの探索処理を終了することを特徴とする請求項6記載の無線通信端末。
【請求項9】
前記受信部が受信した物理パケットには、対応するシーケンス番号フィールドの値が連続で増加するようにフレームボディフィールドが入れられ、
該物理パケットからの正しいフレームボディフィールドの抽出に失敗した時点で、
前記第1の記憶部は、前記第1の処理部により抽出したフレームボディフィールド及び対応するシーケンス番号フィールドの保持を止めることを特徴とする請求項1又は請求項2記載の無線通信端末。
【請求項10】
前記第2の処理部は、前記受信部が受信した物理パケットの最後までフレームボディフィールドの抽出が完了した場合には、連続で受信成功した最大のシーケンス番号までの前記第1の記憶部に保持された情報を継続する受信処理へ回すため抽出した後、前記第1の記憶部に保持された情報を廃棄することを特徴とする請求項1又は請求項2記載の無線通信端末。
【請求項11】
前記第2の記憶部は、シーケンスの開始番号である旨通知されたシーケンス番号フィールドを含む物理パケットの受信時点から連続で受信成功した最大のシーケンス番号を保持することを特徴とする請求項4記載の無線通信端末。
【請求項12】
シーケンス開始番号である旨通知されたシーケンス番号フィールドを含む物理パケットの受信に対する応答フレームは、シーケンス開始番号の通知を受けたことを通知する情報をさらに含むことを特徴とする請求項4記載の無線通信端末。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【公開番号】特開2012−165139(P2012−165139A)
【公開日】平成24年8月30日(2012.8.30)
【国際特許分類】
【出願番号】特願2011−23216(P2011−23216)
【出願日】平成23年2月4日(2011.2.4)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成24年8月30日(2012.8.30)
【国際特許分類】
【出願日】平成23年2月4日(2011.2.4)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]