(57)【要約】【課題】従来の技術による諸問題を解決するための通信システムにおける受信窓サイズを再設定する方法及びその関連装置を提供する。【解決手段】通信システムの受信窓サイズを再設定する方法は、受信窓サイズを変更する指令を受信し、受信窓サイズを変更する指令に基づいて受信窓のサイズを変更し、受信端のバッファーにおいて、サイズの変更された受信窓の範囲外にあるシーケンス番号を有するパケットを消去して上位層に送信し、受信端の次期受信予定パケットのシーケンス番号がサイズの変更された受信窓の前にあるか否かを判断し、受信端の次期受信予定パケットのシーケンス番号がサイズの変更された受信窓の前にあるのでなければ、次期受信予定パケットのシーケンス番号を維持し、受信端のバッファー内におけるパケットを変更しないとするステップを含む。【選択図】図１
2006295880.tif 000002
【特許請求の範囲】
【請求項１】
通信システムが受信端の受信窓サイズを変更するとき、既に上位層に送信されたパケットを受信端が再送信することを防止して符号化／復号化パラメーターの同期性を維持するための通信システムの受信窓サイズを再設定する方法であって、
受信窓サイズを変更する指令を受信し、
受信窓サイズを変更する指令に基づいて受信窓のサイズを変更し、
受信端のバッファーにおいて、サイズの変更された受信窓の範囲外にあるシーケンス番号を有するパケットを消去して上位層に送信し、
受信端の次期受信予定パケットのシーケンス番号がサイズの変更された受信窓の前にあるか否かを判断し、
受信端の次期受信予定パケットのシーケンス番号がサイズの変更された受信窓の前にあるのでなければ、次期受信予定パケットのシーケンス番号を維持し、受信端のバッファー内におけるパケットを変更しないとするステップを含むことを特徴とする通信システムの受信窓サイズを再設定する方法。
【請求項２】
前記受信端の次期受信予定パケットのシーケンス番号がサイズの変更された受信窓の前にある場合、前記方法は更に、
（ａ）受信端の次期受信予定パケットのシーケンス番号をサイズの変更された受信窓の下縁として設定し、
（ｂ）受信端のバッファーにおいて、受信済のパケットのうち、受信端の次期受信予定パケットのシーケンス番号に等しいシーケンス番号を有するものと、それについで第１個目の未受信パケットの前まで連続するシーケンス番号を有するすべてのパケットを上位層に送信し、
（ｃ）受信端の次期受信予定パケットのシーケンス番号を第１個目の未受信パケットに対応するシーケンス番号として設定するステップを含むことを特徴とする請求項１記載の通信システムの受信窓サイズを再設定する方法。
【請求項３】
前記ステップ（ｂ）はモジュラス演算によって複数のパケットのシーケンス番号が連続するか否かを判断することを特徴とする請求項２記載の通信システムの受信窓サイズを再設定する方法。
【請求項４】
前記通信システムは第三世代モバイル通信システムに属するＨＳＤＰＡ（高速ダウンリンクパケットアクセス）システムであることを特徴とする請求項１記載の通信システムの受信窓サイズを再設定する方法。
【請求項５】
前記受信端の次期受信予定パケットのシーケンス番号が、受信端の受信窓の上縁につぐシーケンス番号に等しければ、受信端の次期受信予定パケットのシーケンス番号をサイズの変更された受信窓の前に位置しないと判断することを特徴とする請求項１記載の通信システムの受信窓サイズを再設定する方法。
【請求項６】
前記受信端の次期受信予定パケットのシーケンス番号が受信端の受信窓の範囲外にあり、しかも受信端の受信窓の上縁につぐシーケンス番号に等しくなければ、受信端の次期受信予定パケットのシーケンス番号をサイズの変更された受信窓の前にあると判断することを特徴とする請求項１記載の通信システムの受信窓サイズを再設定する方法。
【請求項７】
通信システムが受信端の受信窓サイズを変更するとき、既に上位層に送信されたパケットを受信端が再送信することを防止して符号化／復号化パラメーターの同期性を維持するための通信システムの受信窓サイズを再設定する方法であって、
受信窓サイズを変更する指令を受信し、
受信窓サイズを変更する指令に基づいて受信窓のサイズを変更し、
受信端のバッファーにおいて、サイズの変更された受信窓の範囲外にあるシーケンス番号を有するパケットを消去して上位層に送信し、
受信端の次期受信予定パケットのシーケンス番号が、サイズの変更された受信窓の上縁とサイズの変更された受信窓のサイズとの差より小さいまたはそれに等しいか否かを判断し、
受信端の次期受信予定パケットのシーケンス番号が、サイズの変更された受信窓の上縁とサイズの変更された受信窓のサイズとの差より小さいまたはそれに等しい場合には、
受信端の次期受信予定パケットのシーケンス番号をサイズの変更された受信窓の下縁として設定し、
受信端のバッファーにおいて、受信済であるが未だに上位層に送信されていないパケットのうち、受信端の次期受信予定パケットのシーケンス番号に等しいシーケンス番号を有するものと、それについで第１個目の未受信パケットの前まで連続するシーケンス番号を有するすべてのパケットを上位層に送信し、
受信端の次期受信予定パケットのシーケンス番号を第１個目の未受信パケットに対応するシーケンス番号として設定するステップを含むことを特徴とする通信システムの受信窓サイズを再設定する方法。
【請求項８】
前記受信端の次期受信予定パケットのシーケンス番号が、サイズの変更された受信窓の上縁とサイズの変更された受信窓のサイズとの差より大きい場合には、受信端のバッファー内におけるパケットを変更しないとするステップを含むことを特徴とする請求項７記載の通信システムの受信窓サイズを再設定する方法。
【請求項９】
前記方法はモジュラス演算によって、受信端の次期受信予定パケットのシーケンス番号が、サイズの変更された受信窓の上縁とサイズの変更された受信窓のサイズとの差より大きいか否かを判断することを特徴とする請求項７記載の通信システムの受信窓サイズを再設定する方法。
【請求項１０】
前記モジュラス演算は受信端の受信窓の下縁を底端とすることを特徴とする請求項９記載の通信システムの受信窓サイズを再設定する方法。
【請求項１１】
前記通信システムは第三世代モバイル通信システムに属するＨＳＤＰＡシステムであることを特徴とする請求項７記載の通信システムの受信窓サイズを再設定する方法。
【請求項１２】
通信システムがモバイル通信装置の受信窓サイズを変更するとき、既に上位層に送信されたパケットをモバイル通信装置が再送信することを防止して符号化／復号化パラメーターの同期性を維持するための通信システムに用いられるモバイル通信装置であって、
モバイル通信装置の機能を実行するハードウェア回路と、
プログラムコードを実行してハードウェア回路を制御するプロセッサーと、
プログラムコードを保存する保存メモリーとを含み、そのうちプログラムコードは、
受信窓サイズを変更する指令を受信し、
受信窓サイズを変更する指令に基づいてモバイル通信装置の受信窓のサイズを変更し、
モバイル通信装置のバッファーにおいて、サイズの変更された受信窓の範囲外にあるシーケンス番号を有するパケットを消去して上位層に送信し、
モバイル通信装置の次期受信予定パケットのシーケンス番号がサイズの変更された受信窓の前にあるか否かを判断し、
モバイル通信装置の次期受信予定パケットのシーケンス番号がサイズの変更された受信窓の前にあるのでなければ、次期受信予定パケットのシーケンス番号を維持し、モバイル通信装置のバッファー内におけるパケットを変更しないとする手順を含むことを特徴とするモバイル通信装置。
【請求項１３】
前記モバイル通信装置の次期受信予定パケットのシーケンス番号がサイズの変更された受信窓の前にある場合、前記プログラムコードは更に、
（ａ）モバイル通信装置の次期受信予定パケットのシーケンス番号をサイズの変更された受信窓の下縁として設定し、
（ｂ）モバイル通信装置のバッファーにおいて、受信済のパケットのうち、モバイル通信装置の次期受信予定パケットのシーケンス番号に等しいシーケンス番号を有するものと、それについで第１個目の未受信パケットの前まで連続するシーケンス番号を有するすべてのパケットを上位層に送信し、
（ｃ）モバイル通信装置の次期受信予定パケットのシーケンス番号を第１個目の未受信パケットに対応するシーケンス番号として設定する手順を含むことを特徴とする請求項１２記載のモバイル通信装置。
【請求項１４】
前記手順（ｂ）はモジュラス演算によって複数のパケットのシーケンス番号が連続するか否かを判断することを特徴とする請求項１３記載のモバイル通信装置。
【請求項１５】
前記通信システムは第三世代モバイル通信システムに属するＨＳＤＰＡシステムであることを特徴とする請求項１２記載のモバイル通信装置。
【請求項１６】
前記プログラムコードは更に、
モバイル通信装置の次期受信予定パケットのシーケンス番号が、モバイル通信装置の受信窓の上縁につぐシーケンス番号に等しければ、モバイル通信装置の次期受信予定パケットのシーケンス番号をサイズの変更された受信窓の前に位置しないと判断する手順を含むことを特徴とする請求項１２記載のモバイル通信装置。
【請求項１７】
前記プログラムコードは更に、
モバイル通信装置の次期受信予定パケットのシーケンス番号がモバイル通信装置の受信窓の範囲外にあり、しかもモバイル通信装置の受信窓の上縁につぐシーケンス番号に等しくなければ、モバイル通信装置の次期受信予定パケットのシーケンス番号をサイズの変更された受信窓の前にあると判断する手順を含むことを特徴とする請求項１２記載のモバイル通信装置。
【請求項１８】
通信システムがモバイル通信装置の受信窓サイズを変更するとき、既に上位層に送信されたパケットをモバイル通信装置が再送信することを防止して符号化／復号化パラメーターの同期性を維持するための通信システムに用いられるモバイル通信装置であって、
モバイル通信装置の機能を実行するハードウェア回路と、
プログラムコードを実行してハードウェア回路を制御するプロセッサーと、
プログラムコードを保存する保存メモリーとを含み、そのうちプログラムコードは
受信窓サイズを変更する指令を受信し、
受信窓サイズを変更する指令に基づいてモバイル通信装置の受信窓のサイズを変更し、
モバイル通信装置のバッファーにおいて、サイズの変更された受信窓の範囲外にあるシーケンス番号を有するパケットを消去して上位層に送信し、
モバイル通信装置の次期受信予定パケットのシーケンス番号が、サイズの変更された受信窓の上縁とサイズの変更された受信窓のサイズとの差より小さいまたはそれに等しいか否かを判断し、
モバイル通信装置の次期受信予定パケットのシーケンス番号が、サイズの変更された受信窓の上縁とサイズの変更された受信窓のサイズとの差より小さいまたはそれに等しい場合には、
モバイル通信装置の次期受信予定パケットのシーケンス番号をサイズの変更された受信窓の下縁として設定し、
モバイル通信装置のバッファーにおいて、受信済であるが未だに上位層に送信されていないパケットのうち、モバイル通信装置の次期受信予定パケットのシーケンス番号に等しいシーケンス番号を有するものと、それについで第１個目の未受信パケットの前まで連続するシーケンス番号を有するすべてのパケットを上位層に送信し、
モバイル通信装置の次期受信予定パケットのシーケンス番号を第１個目の未受信パケットに対応するシーケンス番号として設定する手順を含むことを特徴とするモバイル通信装置。
【請求項１９】
前記プログラムコードは更に、
モバイル通信装置の次期受信予定パケットのシーケンス番号が、サイズの変更された受信窓の上縁とサイズの変更された受信窓のサイズとの差より大きい場合には、モバイル通信装置のバッファー内におけるパケットを変更しないとする手順を含むことを特徴とする請求項１８記載のモバイル通信装置。
【請求項２０】
前記プログラムコードはモジュラス演算によって、モバイル通信装置の次期受信予定パケットのシーケンス番号が、サイズの変更された受信窓の上縁とサイズの変更された受信窓のサイズとの差より大きいか否かを判断することを特徴とする請求項１８記載のモバイル通信装置。
【請求項２１】
前記モジュラス演算はモバイル通信装置の受信窓の下縁を底端とすることを特徴とする請求項２０記載のモバイル通信装置。
【請求項２２】
前記通信システムは第三世代モバイル通信システムに属するＨＳＤＰＡシステムであることを特徴とする請求項１８記載のモバイル通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は通信システムの受信窓サイズを再設定する方法に関し、特に通信システムが受信端の受信窓サイズを変更するとき、受信端が送信済のパケットを上位層に再送信することを防止することにより、符号化／復号化パラメーターの同期性を維持する方法に関する。
【背景技術】
【０００２】
無線通信システムでは、送信端と受信端の間の信号交換の同期性及び正確性を維持するため、パケットのヘッダーにシーケンス番号を添付することが一般である。受信端は受信されたパケットのシーケンス番号と予定のシーケンス番号を比較することによって、その正確性を判断する。判断時の演算を減少するためには、各パケットのシーケンス番号は一般にその前後のパケットと連続するように設定される。送信端でのシーケンス番号添付方法は具体的な実施によって異なる。例えば、シーケンス番号を累加して各パケットのヘッダーに添付することが可能であり、言い換えれば、各パケットのシーケンス番号はその前のシーケンス番号に１を足して得たものである。しかし、この方法で大量のパケットを送信すれば、シーケンス番号が極大になって送信に影響するおそれもある。例えばシーケンス番号を７ビットとし、すなわち０〜１２７を数えるとすれば、シーケンス番号は１２７を超えると０から再び起算され、しかも１２７から０になるとき、両番号は連続とされる。既存のプロトコル層には、シーケンス番号が１２７から０になるとき、別途にＨＦＮ（ハイパーフレーム番号）を累計するものがある。このように各パケットのシーケンス番号に応じて、送信端と受信端がＨＦＮを適切に累加すれば、同期性を保ち、後続の符号化／復号化を順調に進めることができる。
【０００３】
なお、ノイズ妨害によるパケットの紛失を避けるため、送信端と受信端はそれぞれ送信窓と受信窓を有する。受信窓を例にすれば、受信端に受信されたパケットのシーケンス番号が受信窓の範囲内にあれば、整列、重複パケットの削除または受信窓の移動が行われる。そうでなければ、パケット処理または受信窓の移動は行われない。この方法は、ノイズまたはその他の妨害によるシーケンス番号の乱れを防止し、そのうち受信窓の範囲は具体的な実施によって異なる。例えば、高速伝送を実現するＨＳＤＰＡ（高速ダウンリンクパケットアクセス）技術は、受信されたプロトコルデータ単位（ＰＤＵ）の最後のシーケンス番号（最大値）に基づいて受信窓の範囲を定める。しかし、システムが受信窓サイズを変更すれば、以下のような送信エラーが発生する可能性がある。
【０００４】
第三世代モバイル通信システムでは、ＨＳＤＰＡ技術はＷＣＤＭＡ（広帯域コード分割多重アクセス）システムにおける帯域幅とパケットの利用を効率化することを目的とする技術である。当該技術規格によれば、ＭＡＣ−ｈｓ（高速媒体アクセス制御）層は下記の通りに下から上まで順次に４つの副層またはエンティティーを有する。
１．  ＨＡＲＱ（ハイブリッド自動再送要求）：受信済のＰＤＵに基づいて、肯定応答（ＡＣＫ）または否定応答（ＮＡＫ）などの応答信号を発生する。
２．  ＲＱＤ（整列キュー配分）：ＰＤＵのキューＩＤに基づいて、対応する整列キュー（待ち行列）にＰＤＵを配分することによって、種々のサービスに必要なデータを支援する。
３．  ＲＥ（整列エンティティー）：各ＲＥはＴＳＮ（伝送シーケンス番号）に基づいて整列キューを利用して受信済のＰＤＵを整列する。ＨＳＤＰＡ技術のＭＡＣ規格によれば、あるＰＤＵを正確に受信しなかったのであれば、その次のＰＤＵを上位層に送信しないとする。
４．  ＤＥ（分解エンティティー）：ＰＤＵのヘッダーとすべての充填ビットを除去し、分解して得たペイロードを上位のＭＡＣ―ｄ層（専用媒体アクセス制御）に送信する。
【０００５】
ＨＳＤＰＡ規格によれば、各ＰＤＵのヘッダーごとに長さ６ビットのＴＳＮブロックが含まれ、言い換えれば、ＴＳＮの範囲は０〜６３であり、６３を超えれば０となるのである。受信窓のサイズと範囲を定めるためには、ＨＳＤＰＡ規格は下記のパラメーター及び変数を定義している。
１．  パラメーターRECEIVE_WINDOW_SIZE：受信窓サイズを示す。このパラメーターの値はシステムによって決められる。
２．  変数next_expected_TSN：受信成功した最後のＰＤＵにつぐＰＤＵのＴＳＮを示し、言い換えれば次期予定ＴＳＮである。変数next_expected_TSNに等しいＴＳＮを有するＰＤＵをＤＥ層に無事送信した後、変数next_expected_TSNは更新される。言い換えれば、変数next_expected_TSNは未だに無事受信していないＰＤＵのうち第１個目のＰＤＵのＴＳＮを示し、その初期値は０である。
３．  変数RcvWindow_UpperEdge：受信窓の上縁に対応するＴＳＮを示す。この変数は受信窓上縁とも呼ばれる。第１個目のＰＤＵを受信した後、この変数は受信済のＰＤＵのＴＳＮのうち最大値を示す。
【０００６】
前記ＴＳＮの比較は６４モジュラス演算で行われ、更に（RcvWindow_UpperEdge  -  RECEIVE_WINDOW_SIZE  +  1）を、すなわち受信窓の下縁を底端（modulus  base）とする。例えば、連続するＴＳＮ＝６３、０を例にすれば、受信窓の下縁＝（RcvWindow_UpperEdge  -  RECEIVE_WINDOW_SIZE  +  1）＝５０であるとき、
(63-50)  mod  64  =  13
(0-50)  mod  64  =  14
ゆえに、ＴＳＮ＝０はＴＳＮ＝６３より大きいのであり、その順序は後になる。
【０００７】
前記の通りに、受信窓の範囲内にあるＴＳＮを有するＰＤＵのみ整列バッファーに一時保存されて整列される。したがって、整列バッファーに必要なメモリーの容量は受信窓のサイズによって決められる。受信窓のサイズはパラメーターRECEIVE_WINDOW_SIZEに示され、受信窓の受信可能なＴＳＮの範囲は（RcvWindow_UpperEdge  -  RECEIVE_WINDOW_SIZE  +  1）からRcvWindow_UpperEdgeとなる。従来の技術では、整列キューが作動すると同時に、整列バッファーに必要なメモリー容量を節約するため、受信窓のサイズを縮小し、すなわちパラメーターRECEIVE_WINDOW_SIZEを小さい値に再設定することがある。ＨＳＤＰＡのＭＡＣ層規格によれば、受信窓サイズを変更する指令を受けると、受信端はその指令にしたがってパラメーターRECEIVE_WINDOW_SIZEを再設定し、更に新しい受信窓の前にあるＴＳＮを有するＰＤＵを整列バッファーから消去して上位層（ＤＥ層）に送信する。この場合、（受信窓の下縁を底端とするモジュラス演算を行う結果、）変数next_expected_TSNが変数RcvWindow_UpperEdgeと新しいパラメーターRECEIVE_WINDOW_SIZEの差より小さいまたはそれに等しいのであれば、すなわち（next_expected_TSN  <=  RcvWindow_UpperEdge  -  RECEIVE_WINDOW_SIZE）が成立すると判断すれば、変数ext_expected_TSNを新しい受信窓の下縁とする。続いて受信端のバッファーにおいて、受信済のＰＤＵのうち、変数ext_expected_TSNに等しいＴＳＮを有するものと、それについで第１個目の未受信ＰＤＵの前まで連続するＴＳＮを有するすべてのＰＤＵを上位層に送信する。最後に変数ext_expected_TSNを第１個目の未受信ＰＤＵに対応するＴＳＮとする。
【０００８】
例えば、受信窓サイズを１６（すなわちRECEIVE_WINDOW_SIZE  =  16）とし、整列キューではＴＳＮ＝１７のＰＤＵを除き、ＴＳＮ＝０からＴＳＮ＝２５のＰＤＵをすべて受信したとすれば、更に、ＴＳＮ＝３０のＰＤＵを受信しており（しかしＴＳＮ＝２６からＴＳＮ＝２９のＰＤＵは未受信）、ＴＳＮ＝０からＴＳＮ＝１６のＰＤＵをすべて上位層に送信したとすれば、RcvWindow_UpperEdge  =  30、next_expected_TSN  =  17となり、受信窓の受信可能なＴＳＮの範囲はＴＳＮ＝１５（３０−１６＋１）からＴＳＮ＝３０となる。続いて、システムが受信窓のサイズを８に縮小すると（すなわちRECEIVE_WINDOW_SIZE  =  8）、従来の技術ではまず、受信窓の受信可能なＴＳＮの範囲がＴＳＮ＝２３（３０−８＋１）からＴＳＮ＝３０となる。その後、新しい受信窓の前に受信されたＰＤＵは上位層に送信され、言い換えられＴＳＮ＝１８からＴＳＮ＝２２のＰＤＵは上位層に送信される。この場合、（受信窓の下縁を底端とするモジュラス演算を行う結果、）変数next_expected_TSNが変数RcvWindow_UpperEdgeと新しいパラメーターRECEIVE_WINDOW_SIZEとの差より小さい（(17-23)  mod  64  <  (30-8-23)  mod  64）ので、変数next_expected_TSNを新しい受信窓の下縁とし（next_expected_TSN  =  23）、ＴＳＮ＝２３からＴＳＮ＝２５のＰＤＵを上位層に送信する。最後に、変数next_expected_TSNを第１個目の未受信ＰＤＵに対応するＴＳＮとして設定し、すなわちnext_expected_TSN  =  26とする。
【０００９】
前述から見れば、従来のＨＳＤＰＡシステムは受信端の受信窓サイズを縮小することによって、整列バッファーに必要なメモリー容量を節約することができる。しかし従来の技術は、場合によって深刻な送信エラーをきたす可能性がある。
【００１０】
例えば、受信窓サイズを１６（すなわちRECEIVE_WINDOW_SIZE  =  16）とし、整列キューではＴＳＮ＝０からＴＳＮ＝３０のＰＤＵをすべて受信して上位層に送信したとすれば、RcvWindow_UpperEdge  =  30、next_expected_TSN  =  31となり、受信窓の受信可能なＴＳＮの範囲はＴＳＮ＝１５（３０−１６＋１）からＴＳＮ＝３０となる。続いて、システムが受信窓のサイズを８に縮小すると（すなわちRECEIVE_WINDOW_SIZE  =  8）、従来の技術ではまず、受信窓の受信可能なＴＳＮの範囲がＴＳＮ＝２３（３０−８＋１）からＴＳＮ＝３０となる。その後、受信窓の下縁を底端とするモジュラス演算を行って、（next_expected_TSN  <=  RcvWindow_UpperEdge  -  RECEIVE_WINDOW_SIZE）が成立するか否かを判断すれば、以下の結果となる。
【００１１】
(next_expected_TSN  -  23)  mod  64  =  (31-23)  mod  64  =  8かつ
(RcvWindow_UpperEdge  -  RECEIVE_WINDOW_SIZE  -  23)  mod  64  =  (30-8-23)  mod  64  =  63
８＜６３であるため、（next_expected_TSN  <=  RcvWindow_UpperEdge  -  RECEIVE_WINDOW_SIZE）は成立する。したがって、変数next_expected_TSNを新しい受信窓の下縁とし（next_expected_TSN  =  23）、ＴＳＮ＝２３からＴＳＮ＝２５のＰＤＵを上位層に送信する。最後に、変数next_expected_TSNを第１個目の未受信ＰＤＵに対応するＴＳＮとして設定し、すなわちnext_expected_TSN  =  31とする。言い換えれば、変数next_expected_TSNを初期値３１から２３に、更に３１に設定し、整列バッファーに保存されるＴＳＮ＝２３からＴＳＮ＝３０のＰＤＵを上位層に２回送信することとなる。重複シーケンス番号検知機能を有するモードでは、ＴＳＮ＝２３からＴＳＮ＝３０のＰＤＵを上位層に２回送信することはシステム資源を無駄にして効率を低下させるにとどまるが、しかし、ＵＭ（非アクノレッジ）モードなど重複シーケンス番号検知機能を有しないモードでは、再送信されたＰＤＵのＴＳＮは次の循環のＴＳＮとして認識され（ＨＦＮは＋１となる）、それによって送信端と受信端の符号化／復号化パラメーターの同期性が失われて深刻な送信エラーが発生する。この場合、符号化／復号化パラメーターの同期性を回復させるには、送信端と受信端をリセットしなければならなくなる。
【００１２】
言い換えれば、従来の技術では、（next_expected_TSN  <=  RcvWindow_UpperEdge  +  1）が成立すれば、すなわち受信端の次期予定ＴＳＮが受信窓の上縁につぐ第１個目のＴＳＮに等しい状況において、受信窓のサイズを変更すれば、既に上位層に送信されたＰＤＵの一部は再送信されることになる。このことは、システム資源をむだにして送信効率を低下させるのみならず、送信端と受信端の符号化／復号化パラメーターの同期性にも影響し、それを解消するためには送信端と受信端をリセットするしかない。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
この発明は前述の問題を解決するための通信システムにおける受信窓サイズを再設定する方法及びその関連装置を提供することを課題とする。
【課題を解決するための手段】
【００１４】
この発明は、通信システムが受信端の受信窓サイズを変更するとき、既に上位層に送信されたパケットを受信端が再送信することを防止して符号化／復号化パラメーターの同期性を維持するための通信システムの受信窓サイズを再設定する方法を提供する。該方法は、受信窓サイズを変更する指令を受信し、受信窓サイズを変更する指令に基づいて受信窓のサイズを変更し、受信端のバッファーにおいて、サイズの変更された受信窓の範囲外にあるシーケンス番号を有するパケットを消去して上位層に送信し、受信端の次期受信予定パケットのシーケンス番号がサイズの変更された受信窓の前にあるか否かを判断し、受信端の次期受信予定パケットのシーケンス番号がサイズの変更された受信窓の前にあるのでなければ、次期受信予定パケットのシーケンス番号を維持し、受信端のバッファー内におけるパケットを変更しないとするステップを含む。
【００１５】
この発明は更に、通信システムが受信端の受信窓サイズを変更するとき、既に上位層に送信されたパケットを受信端が再送信することを防止して符号化／復号化パラメーターの同期性を維持するためその他の通信システムの受信窓サイズを再設定する方法を提供する。該方法は、受信窓サイズを変更する指令を受信し、受信窓サイズを変更する指令に基づいて受信窓のサイズを変更し、受信端のバッファーにおいて、サイズの変更された受信窓の範囲外にあるシーケンス番号を有するパケットを消去して上位層に送信し、受信端の次期受信予定パケットのシーケンス番号が、サイズの変更された受信窓の上縁とサイズの変更された受信窓のサイズとの差より小さいまたはそれに等しいか否かを判断し、受信端の次期受信予定パケットのシーケンス番号が、サイズの変更された受信窓の上縁とサイズの変更された受信窓のサイズとの差より小さいまたはそれに等しい場合には、受信端の次期受信予定パケットのシーケンス番号をサイズの変更された受信窓の下縁として設定し、受信端のバッファーにおいて、受信済であるが未だに上位層に送信されていないパケットのうち、受信端の次期受信予定パケットのシーケンス番号に等しいシーケンス番号を有するものと、それについで第１個目の未受信パケットの前まで連続するシーケンス番号を有するすべてのパケットを上位層に送信し、受信端の次期受信予定パケットのシーケンス番号を第１個目の未受信パケットに対応するシーケンス番号として設定するステップを含む。
【００１６】
この発明は更に、通信システムがモバイル通信装置の受信窓サイズを変更するとき、既に上位層に送信されたパケットをモバイル通信装置が再送信することを防止して符号化／復号化パラメーターの同期性を維持するための通信システムに用いられるモバイル通信装置を提供する。該モバイル通信装置は、モバイル通信装置の機能を実行するハードウェア回路と、プログラムコードを実行してハードウェア回路を制御するプロセッサーと、プログラムコードを保存する保存メモリーとを含む。そのうちプログラムコードは、受信窓サイズを変更する指令を受信し、受信窓サイズを変更する指令に基づいてモバイル通信装置の受信窓のサイズを変更し、モバイル通信装置のバッファーにおいて、サイズの変更された受信窓の範囲外にあるシーケンス番号を有するパケットを消去して上位層に送信し、モバイル通信装置の次期受信予定パケットのシーケンス番号がサイズの変更された受信窓の前にあるか否かを判断し、モバイル通信装置の次期受信予定パケットのシーケンス番号がサイズの変更された受信窓の前にあるのでなければ、次期受信予定パケットのシーケンス番号を維持し、モバイル通信装置のバッファー内におけるパケットを変更しないとする手順を含む。
【００１７】
この発明は更に、通信システムがモバイル通信装置の受信窓サイズを変更するとき、既に上位層に送信されたパケットをモバイル通信装置が再送信することを防止して符号化／復号化パラメーターの同期性を維持するためその他の通信システムに用いられるモバイル通信装置を提供する。該モバイル通信装置は、モバイル通信装置の機能を実行するハードウェア回路と、プログラムコードを実行してハードウェア回路を制御するプロセッサーと、プログラムコードを保存する保存メモリーとを含む。そのうちプログラムコードは、受信窓サイズを変更する指令を受信し、受信窓サイズを変更する指令に基づいてモバイル通信装置の受信窓のサイズを変更し、モバイル通信装置のバッファーにおいて、サイズの変更された受信窓の範囲外にあるシーケンス番号を有するパケットを消去して上位層に送信し、モバイル通信装置の次期受信予定パケットのシーケンス番号が、サイズの変更された受信窓の上縁とサイズの変更された受信窓のサイズとの差より小さいまたはそれに等しいか否かを判断し、モバイル通信装置の次期受信予定パケットのシーケンス番号が、サイズの変更された受信窓の上縁とサイズの変更された受信窓のサイズとの差より小さいまたはそれに等しい場合には、モバイル通信装置の次期受信予定パケットのシーケンス番号をサイズの変更された受信窓の下縁として設定し、モバイル通信装置のバッファーにおいて、受信済であるが未だに上位層に送信されていないパケットのうち、モバイル通信装置の次期受信予定パケットのシーケンス番号に等しいシーケンス番号を有するものと、それについで第１個目の未受信パケットの前まで連続するシーケンス番号を有するすべてのパケットを上位層に送信し、モバイル通信装置の次期受信予定パケットのシーケンス番号を第１個目の未受信パケットに対応するシーケンス番号として設定する手順を含む。
【発明の効果】
【００１８】
この発明は受信端の次期予定ＴＳＮがサイズの変更された受信窓の前にあるか否か、またはサイズの変更された受信窓の上縁に対応するＴＳＮと、サイズの変更された受信窓のサイズとの差より小さいもしくはそれに等しいか否かを判断することによって、受信端の次期予定ＴＳＮが受信窓の上縁につぐ第１個目のＴＳＮに等しい状況を防止し、または受信端の次期予定ＴＳＮが受信窓の上縁につぐ第１個目のＴＳＮに等しい状況において、受信済であるが未だに上位層に送信されていないＰＤＵのうち、受信端の次期予定ＴＳＮに等しいＴＳＮを有するものと、それについで第１個目の未受信ＰＤＵの前まで連続するＴＳＮを有するすべてのＰＤＵのみ上位層に送信する。したがって、この発明は従来の技術による問題を改善し、システム資源を節約して送信効率を向上するとともに、送信端と受信端の符号化／復号化パラメーターの同期性を維持することができる。
【発明を実施するための最良の形態】
【００１９】
かかる方法及び装置の特徴を詳述するために、具体的な実施例を挙げ、図示を参照にして以下に説明する。
【００２０】
この発明は、受信端の受信窓の範囲が受信窓の上縁とサイズによって定められる通信システムを対象とし、以下は第三世代モバイル通信システムであるＨＳＤＰＡシステムを例にする。
【００２１】
図３を参照する。図３はモバイル通信装置３００のブロック図である。説明を簡潔にまとめるため、図３はモバイル通信装置３００の入力装置３０２と、出力装置３０４と、制御回路３０６と、ＣＰＵ（中央処理装置）３０８と、保存装置３１０と、プログラムコード３１２と、トランシーバー３１４のみ示すとする。モバイル通信装置３００では、制御回路３０６はＣＰＵ３０８を通して保存装置３１０に保存されるプログラムコード３１２を実行することによって、モバイル通信装置３００を制御する。モバイル通信装置３００は、入力装置３０２（例えばキーボード）で入力信号を受信し、出力装置３０４（例えばスクリーンとスピーカー）で画像もしくは音声などの信号を出力する。トランシーバー３１４は無線信号を受信して制御回路３０６に送信するほか、制御回路３０６からも信号を受信してそれを無線で出力する。言い換えれば、通信プロトコルの構成としては、トランシーバー３１４は第一層の一部とされ、制御回路３０６は第二層と第三層とされる。
【００２２】
図４を参照する。図４は図３におけるプログラムコード３１２を表す説明図である。プログラムコード３１２はアプリケーション層４００と、第三層インターフェイス４０２と、第二層インターフェイス４０６と、第一層インターフェイス４１８とを含む。信号を発射するとき、第二層インターフェイス４０６は第三層インターフェイス４０２によって出力されるデータに基づいて、複数のサーバーデータユニット（ＳＤＵ）４０８を形成してバッファー４１２に保存する。続いて、バッファー４１２に保存されるＳＤＵ４０８に基づいて、第二層インターフェイス４０６は複数のＰＤＵ４１４を発生し、第一層インターフェイス４１８を通して目的端に出力する。それに対して、無線信号を受信するとき、第一層インターフェイス４１８は信号を受信し、更にそれをＰＤＵ４１４として第二層インターフェイス４０６に出力する。第二層インターフェイス４０６はＰＤＵ４１４をＳＤＵ４０８に還元してバッファー４１２に保存する。その後、第二層インターフェイス４０６はバッファー４１２に保存されるＳＤＵ４０８を第三層インターフェイス４０２に送信する。無線信号を受信する場合、プログラムコード３１２がＳＤＵ４０８をバッファー４１２に保存するか否かは、受信窓の範囲によって決められる。受信されるＰＤＵのシーケンス番号が受信窓の範囲内にあれば、整列、重複パケットの削除と受信窓の移動が実行され、そうでなければ、すなわちＰＤＵのシーケンス番号が受信窓の範囲外にあれば、受信窓の移動が実行される。
【００２３】
一部の状況において、プログラムコード３１２は受信窓のサイズを縮小してバッファーの容量を節約することが必要である。本発明はこのような状況を勘案して、受信端の受信窓サイズを再設定する方法を提供する。
【実施例１】
【００２４】
図１を参照する。図１はこの発明の実施例１のフロー１０を表すフローチャートである。ＨＳＤＰＡシステムにおける受信端の受信窓サイズを再設定するフロー１０において、パラメーターRECEIVE_WINDOW_SIZEと、変数next_expected_TSNと、変数RcvWindow_UpperEdgeの定義は前記従来の技術と同じである。フロー１０は下記のステップを含む。
ステップ１００：開始。
ステップ１０２：受信窓サイズを変更する指令を受信する。
ステップ１０４：受信窓サイズを変更する指令に基づいて、受信窓サイズを変更する。
したがって、パラメーターRECEIVE_WINDOW_SIZEは新しい値となる。
ステップ１０６：受信端のバッファーにおいて、サイズの変更された受信窓の範囲外にあるＴＳＮを有するＰＤＵを消去し、上位層に送信する。
ステップ１０８：受信端の次期予定ＴＳＮ（すなわち変数next_expected_TSN）がサイズの変更された受信窓の前にあるか否かを判断する。判断結果が「はい」であれば次のステップに移行し、「いいえ」であればステップ１１６に移行する。
ステップ１１０：受信端の次期予定ＴＳＮをサイズの変更された受信窓の下縁として設定する。言い換えれば、（next_expected_TSN  =  RcvWindow_UpperEdge  -  RECEIVE_WINDOW_SIZE  +  1）の演算を行う。
ステップ１１２：受信端のバッファーにおいて、受信済のＰＤＵのうち、受信端の次期予定ＴＳＮに等しいＴＳＮを有するものと、それについで第１個目の未受信ＰＤＵの前まで連続するＴＳＮを有するすべてのＰＤＵを上位層に送信する。
ステップ１１４：受信端の次期予定ＴＳＮを第１個目の未受信ＰＤＵに対応するＴＳＮとして設定する。
ステップ１１６：終了。
【００２５】
フロー１０によれば、受信窓サイズを変更する指令を受信した後、この発明はパラメーターRECEIVE_WINDOW_SIZEを当該指令に指定される値に設定し、それによって受信窓のサイズはシステムに指定されるサイズに変更される。それと同時に、サイズの変更された受信窓の範囲外にあるＴＳＮを有するＰＤＵをバッファーから消去して上位層に送信する。続いて、変数next_expected_TSNがサイズの変更された受信窓の前にあるか否かを判断する。変数next_expected_TSNがサイズの変更された受信窓の前にあるのでなければ、例えば次期予定ＴＳＮが受信窓の上縁につぐ第１個目のＴＳＮと一致すれば、この発明は変数next_expected_TSNを維持し、バッファー内のＰＤＵに対して処理を行わないとする。それに対して、変数next_expected_TSNがサイズの変更された受信窓の前にあるのであれば、この発明は変数next_expected_TSNを新しい受信窓の下縁として設定し、更に受信端のバッファーにおいて、受信済のＰＤＵのうち、変数next_expected_TSNに等しいＴＳＮを有するものと、それについで第１個目の未受信ＰＤＵの前まで連続するＴＳＮを有するすべてのＰＤＵを上位層に送信する。最後に変数next_expected_TSNを第１個目の未受信ＰＤＵに対応するＴＳＮとして設定する。
【００２６】
前記ＨＳＤＰＡ規格によるパラメーターと変数のうち、変数next_expected_TSNは受信窓の範囲内に入ることは許されるが、変数RcvWindow_UpperEdgeと一致することは許されない（なぜなら、変数RcvWindow_UpperEdgeはすべて受信済のＰＤＵが有するＴＳＮの最大値に等しいからである）。そのため、変数next_expected_TSNは（RcvWindow_UpperEdge  -  RECEIVE_WINDOW_SIZE  +  1）から（RcvWindow_UpperEdge  -  1）であり、または（RcvWindow_UpperEdge  +  1）に等しい。
【００２７】
前記のようにフロー１０は、システムが受信窓サイズを変更するとき、既に上位層に送信されたＰＤＵを間違って再送信することを防止することができる。それと比べて従来の技術では、（next_expected_TSN  =  RcvWindow_UpperEdge  +  1）が成立する場合、受信窓のサイズを変更すれば、既に上位層に送信されたＰＤＵは再送信される。このことは、システム資源をむだにして送信効率を低下させるのみならず、送信端と受信端の符号化／復号化パラメーターの同期性にも影響し、それを解消するためには送信端と受信端をリセットするしかない。したがって、この発明は従来の技術による問題を改善することができる。
【００２８】
例えば、受信窓サイズを１６（すなわちRECEIVE_WINDOW_SIZE  =  16）とし、整列キューではＴＳＮ＝０からＴＳＮ＝３０のＰＤＵをすべて受信して上位層に送信したとすれば、RcvWindow_UpperEdge  =  30、next_expected_TSN  =  31となり、受信窓の受信可能なＴＳＮの範囲はＴＳＮ＝１５（３０−１６＋１）からＴＳＮ＝３０となる。続いて、システムが受信窓のサイズを８に縮小すると（すなわちRECEIVE_WINDOW_SIZE  =  8）、前記フロー１０によれば、next_expected_TSN  =  31が受信窓の後にあるので、この発明はnext_expected_TSN  を維持して、バッファー内のＰＤＵに対して処理を行わないとする。そのため、ＴＳＮ＝２３からＴＳＮ＝３０のＰＤＵは重複送信されず、変数next_expected_TSN  =  31は維持される。これにより従来の技術による重複送信を防止することができる。そのほか、次期予定ＴＳＮが新しい受信窓の前にある場合の処理は従来の技術と同じであり、ここでその説明を省略する。
【実施例２】
【００２９】
図２を参照する。図２はこの発明の実施例２のフロー２０を表すフローチャートである。ＨＳＤＰＡシステムにおける受信端の受信窓サイズを再設定するフロー２０において、パラメーターRECEIVE_WINDOW_SIZEと、変数next_expected_TSNと、変数RcvWindow_UpperEdgeの定義は前記従来の技術と同じである。フロー２０は下記のステップを含む。
ステップ２００：開始。
ステップ２０２：受信窓サイズを変更する指令を受信する。
ステップ２０４：受信窓サイズを変更する指令に基づいて、受信窓サイズを変更する。したがって、パラメーターRECEIVE_WINDOW_SIZEは新しい値となる。
ステップ２０６：受信端のバッファーにおいて、サイズの変更された受信窓の範囲外にあるＴＳＮを有するＰＤＵを消去し、上位層に送信する。
ステップ２０８：受信端の次期予定ＴＳＮが、サイズの変更された受信窓の上縁に対応するＴＳＮと、サイズの変更された受信窓のサイズとの差より小さいまたはそれに等しいか否かを判断する。すなわち（next_expected_TSN  <=  RcvWindow_UpperEdge  -  RECEIVE_WINDOW_SIZE）が成立するか否かを判断する。判断結果が「はい」であれば次のステップに移行し、「いいえ」であればステップ２１６に移行する。
ステップ２１０：受信端の次期予定ＴＳＮをサイズの変更された受信窓の下縁として設定する。言い換えれば、（next_expected_TSN  =  RcvWindow_UpperEdge  -  RECEIVE_WINDOW_SIZE  +  1）の演算を行う。
ステップ２１２：受信端のバッファーにおいて、受信済であるが未だに上位層に送信されていないＰＤＵのうち、受信端の次期予定ＴＳＮに等しいＴＳＮを有するものと、それについで第１個目の未受信ＰＤＵの前まで連続するＴＳＮを有するすべてのＰＤＵを上位層に送信する。
ステップ２１４：受信端の次期予定ＴＳＮを第１個目の未受信ＰＤＵに対応するＴＳＮとして設定する。
ステップ２１６：終了。
【００３０】
フロー２０によれば、受信窓サイズを変更する指令を受信した後、この発明はパラメーターRECEIVE_WINDOW_SIZEを当該指令に指定される値に設定し、それによって受信窓のサイズはシステムに指定されるサイズに変更される。それと同時に、サイズの変更された受信窓の範囲外にあるＴＳＮを有するＰＤＵをバッファーから消去して上位層に送信する。続いて、（next_expected_TSN  <=  RcvWindow_UpperEdge  -  RECEIVE_WINDOW_SIZE）が成立するか否かを判断する。それが成立すれば、この発明は変数next_expected_TSNを新しい受信窓の下縁として設定し、更に受信端のバッファーにおいて、受信済であるが未だに上位層に送信されていないＰＤＵのうち、変数next_expected_TSNに等しいＴＳＮを有するものと、それについで第１個目の未受信ＰＤＵの前まで連続するＴＳＮを有するすべてのＰＤＵを上位層に送信する。最後に変数next_expected_TSNを第１個目の未受信ＰＤＵに対応するＴＳＮとして設定する。言い換えれば、（next_expected_TSN  <=  RcvWindow_UpperEdge  -  RECEIVE_WINDOW_SIZE）が成立すれば、フロー２０によればこの発明は、受信済であるが未だに上位層に送信されていないＰＤＵのうち、変数next_expected_TSNに等しいＴＳＮを有するものと、それについで第１個目の未受信ＰＤＵの前まで連続するＴＳＮを有するすべてのＰＤＵを上位層に送信する。そのため、フロー２０では、いったんＰＤＵを上位層に送信すると再送信することはない。したがってこの発明は、システムが受信窓のサイズを変更する際、上位層に送信されたＰＤＵを間違って再送信することを防ぐことができる。
【００３１】
例えば、受信窓サイズを１６（すなわちRECEIVE_WINDOW_SIZE  =  16）とし、整列キューではＴＳＮ＝０からＴＳＮ＝３０のＰＤＵをすべて受信して上位層に送信したとすれば、RcvWindow_UpperEdge  =  30、next_expected_TSN  =  31となり、受信窓の受信可能なＴＳＮの範囲はＴＳＮ＝１５（３０−１６＋１）からＴＳＮ＝３０となる。システムが受信窓のサイズを８に縮小すれば（すなわちRECEIVE_WINDOW_SIZE  =  8）、受信窓の受信可能なＴＳＮの範囲はＴＳＮ＝２３（３０−８＋１）からＴＳＮ＝３０となる。続いて、受信窓の下縁を底端にするモジュラス演算を利用して（next_expected_TSN  <=  RcvWindow_UpperEdge  -  RECEIVE_WINDOW_SIZE）が成立するか否かを判断すれば、下記の結果となる。
(next_expected_TSN  -  23)  mod  64  =  (31-23)  mod  64  =  8かつ
(RcvWindow_UpperEdge  -  RECEIVE_WINDOW_SIZE  -  23)  mod  64  =  (30-8-23)  mod  64  =  63
８＜６３であるため、（next_expected_TSN  <=  RcvWindow_UpperEdge  -  RECEIVE_WINDOW_SIZE）は成立する。したがって、変数next_expected_TSNは新しい受信窓の下縁とされる（next_expected_TSN  =  23）。フロー２０によれば、新しい受信窓では、ＴＳＮ＝２３からＴＳＮ＝３０のＰＤＵをすべて上位層に送信して再送信することはなく、更に変数next_expected_TSNを第１個目の未受信ＰＤＵに対応するＴＳＮとして設定し、すなわちnext_expected_TSN  =  26とする。このように、この発明は従来の技術によるＰＤＵの重複送信を防ぐことができる。
【００３２】
従来の技術では、受信端の次期予定ＴＳＮが受信窓の上縁につぐ第１個目のＴＳＮに等しい状況において、受信窓サイズを変更すれば、既に上位層に送信されたＰＤＵを再送信することとなる。このことは、システム資源をむだにして送信効率を低下させるのみならず、送信端と受信端の符号化／復号化パラメーターの同期性にも影響し、それを解消するためには送信端と受信端をリセットするしかない。それと比べて、この発明は受信端の次期予定ＴＳＮがサイズの変更された受信窓の前にあるか否かを判断することによって、受信端の次期予定ＴＳＮが受信窓の上縁につぐ第１個目のＴＳＮに等しい状況を防止し、または受信端の次期予定ＴＳＮが受信窓の上縁につぐ第１個目のＴＳＮに等しい状況において、受信済であるが未だに上位層に送信されていないＰＤＵのうち、受信端の次期予定ＴＳＮに等しいＴＳＮを有するものと、それについで第１個目の未受信ＰＤＵの前まで連続するＴＳＮを有するすべてのＰＤＵのみ上位層に送信する。そのため、この発明は従来の技術による問題を改善し、システム資源を節約して送信効率を向上するとともに、送信端と受信端の符号化／復号化パラメーターの同期性を維持することができる。
【００３３】
なお、当業者に周知される通り、前記フロー１０またはフロー２０をプログラムコードとして通信装置の保存装置（ファームウェア）に書き込むことによって本発明を実施することができる。この発明は、受信端の受信窓の範囲が受信窓の上縁とサイズによって定められる通信システムを対象とし、前述のＨＳＤＰＡシステムは例示に過ぎず、この発明を制限するものではない。当業者のなしうる変更は、いずれもこの発明の範囲に属する。
【００３４】
以上はこの発明の好ましい実施例であって、この発明の実施の範囲を限定するものではない。よって、当業者のなし得る修正、もしくは変更であって、この発明の精神の下においてなされ、この発明に対して均等の効果を有するものは、いずれもこの発明の特許請求の範囲に属するものとする。
【産業上の利用可能性】
【００３５】
この発明は受信端の次期予定ＴＳＮがサイズの変更された受信窓の前にあるか否か、またはサイズの変更された受信窓の上縁に対応するＴＳＮと、サイズの変更された受信窓のサイズとの差より小さいもしくはそれに等しいか否かを判断することによって、従来の技術によるＰＤＵの重複送信を防止する。したがって、この発明は従来の技術による問題を改善し、システム資源を節約して送信効率を向上するとともに、送信端と受信端の符号化／復号化パラメーターの同期性を維持することができる。
【図面の簡単な説明】
【００３６】
【図１】この発明の実施例１のフローを表すフローチャートである。
【図２】この発明の実施例２のフローを表すフローチャートである。
【図３】この発明によるモバイル通信装置のブロック図である。
【図４】図３におけるプログラムコードを表す説明図である。
【符号の説明】
【００３７】
３００      モバイル通信装置
３０２      入力装置
３０４      出力装置
３０６      制御回路
３０８      ＣＰＵ
３１０      保存装置
３１２      プログラムコード
３１４      トランシーバー
４００      アプリケーション層
４０２      第三層インターフェイス
４０６      第二層インターフェイス
４０８      ＳＤＵ
４１２      バッファー
４１４      ＰＤＵ
４１８      第一層インターフェイス
【図１】
2006295880.tif 000003
【図２】
2006295880.tif 000004
【図３】
2006295880.tif 000005
【図４】
2006295880.tif 000006