(57)【要約】  パケット送信装置２は、シーケンス番号が定められたパケットを送信先装置３へ送信するパケット送信手段２０と、パケット送信手段２０により送信された送信済みパケットを指示する送信済みパケット指示情報を生成する送信済みパケット指示情報生成手段２１と、送信済みパケット指示情報をパケットと別に送信先装置３へ送信する送信済みパケット指示情報送信手段２３と、を備える。
2010070749.tif 000002
【特許請求の範囲】
【請求項１】
シーケンス番号が定められたパケットを送信先装置へ送信するパケット送信手段と、
前記パケット送信手段により送信された送信済みパケットを指示する送信済みパケット指示情報を生成する送信済みパケット指示情報生成手段と、
前記パケットと別に、前記送信済みパケット指示情報を前記送信先装置へ送信する送信済みパケット指示情報送信手段と、
を備えるパケット送信装置。
【請求項２】
連続するシーケンス番号が定められた一連の前記パケットのうち前記パケット送信手段によって未だ送信されていなかった欠落パケットが送信可能になった後に、前記送信済みパケット指示情報送信手段は、前記一連のパケットを指示する前記送信済みパケット指示情報を送信する請求項１に記載のパケット送信装置。
【請求項３】
前記パケット送受信装置が前記欠落パケットを取得したときに、前記送信済みパケット指示情報送信手段は、前記一連のパケットを指示する前記送信済みパケット指示情報を送信する請求項２に記載のパケット送信装置。
【請求項４】
前記パケット送受信装置が前記送信先装置から前記欠落パケットのアクノリッジ信号を受信したときに、前記送信済みパケット指示情報送信手段は、前記一連のパケットを指示する前記送信済みパケット指示情報を送信する請求項２に記載のパケット送信装置。
【請求項５】
前記送信済みパケット指示情報送信手段は、一定の周期で、各前記周期中に送信されたパケットを指示する前記送信済みパケット指示情報を送信する請求項１に記載のパケット送信装置。
【請求項６】
前記送信先装置から、前記送信済みパケット指示情報を要求する送信済みパケット指示情報要求信号を受信する送信済みパケット指示情報要求信号受信手段をさらに備え、
前記送信済みパケット指示情報要求信号受信手段が前記送信済みパケット指示情報要求信号を受信したときに、前記送信済みパケット指示情報送信手段は前記送信済みパケット指示情報を送信する請求項１に記載のパケット送信装置。
【請求項７】
シーケンス番号が定められたパケットを送信元装置から受信するパケット受信手段と、
前記パケットを格納する受信バッファと、
前記送信元装置により送信された送信済みパケットを指示する送信済みパケット指示情報を、前記パケットと別に、前記送信元装置から受信する送信済みパケット指示情報受信手段と、
前記送信済みパケット指示情報により指示された前記パケットを前記受信バッファから取り出し、かつ前記シーケンス番号の順序で前記パケットを並べ替えるパケット並べ替え手段と、
を備えるパケット受信装置。
【請求項８】
前記送信済みパケット指示情報は、前記送信元装置から送信された各前記パケットの前記シーケンス番号を前記パケットの送信順に並べたシーケンス番号列を含み、
前記受信バッファには、受信した前記パケットが受信順に格納され、
前記パケット並べ替え手段は、前記送信済みパケット指示情報に含まれる各前記シーケンス番号に従って前記パケットを並べ替える請求項７に記載のパケット受信装置。
【請求項９】
請求項１に記載のパケット送信装置と、請求項７に記載のパケット受信装置とを備え、
前記パケット送信装置は、前記順序が付けられたパケットと前記送信済みパケット指示情報とを、前記パケット受信装置に送信する通信システム。
【請求項１０】
シーケンス番号が定められたパケットをパケット送信装置からパケット受信装置へ送信し、
前記パケット送信装置から送信された送信済みパケットを指示する送信済みパケット指示情報を、前記パケット送信装置が生成し、
前記パケット送信装置が、前記送信済みパケット指示情報を前記パケットと別に前記パケット受信装置へ送信する、
パケット通信方法。
【請求項１１】
連続するシーケンス番号が定められた一連の前記パケットのうち前記パケット送信装置によって未だ送信されていなかった欠落パケットが送信可能になった後に、前記一連のパケットを指示する前記送信済みパケット指示情報が送信される請求項１０に記載のパケット通信方法。
【請求項１２】
前記パケット受信装置において前記パケットを受信し、
前記パケット受信装置の受信バッファに前記パケットを格納し、
前記パケット受信装置において前記送信済みパケット指示情報を受信し、
前記パケット受信装置において、前記送信済みパケット指示情報により指示された前記パケットを前記受信バッファから取り出し、かつ前記シーケンス番号の順序で前記パケットを並べ替える請求項１０に記載のパケット通信方法。
【請求項１３】
前記送信済みパケット指示情報は、前記送信元装置から送信された各前記パケットのシーケンス番号を前記パケットの送信順に並べたシーケンス番号列を含み、
前記受信バッファには、受信した前記パケットが受信順に格納され、
前記送信済みパケット指示情報に含まれる各前記パケットのシーケンス番号に従って、前記パケットを並べ替える請求項１２に記載のパケット通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンス番号が定められたパケットを送受信する通信システムに関し、受信側装置に受信されたパケットの並べ替え処理を含んでもよい。
【背景技術】
【０００２】
近年、Ｗ−ＣＤＭＡ（Wideband-Code Division Multiple Access）における上り回線のパケット通信を高速化する伝送規格として、ＨＳＵＰＡ （High Speed Uplink Packet Access）が検討されている。【０００３】
図１は、ＨＳＵＰＡにおける各部のレイヤ構成図である。移動局（UE）は、レイヤL1の物理レイヤ(PHY)と、レイヤL2のMACサブレイヤ（MAC-d、MAC-es/MAC-e）及びRLC(Radio Link. Control)レイヤと、を備えている。MACサブレイヤは、MAC-ｄ（MAC dedicated）レイヤと、MAC-e（MAC-enhanced） レイヤと、MAC-esレイヤ(MAC-enhanced sub layer)を備えている。【０００４】
基地局(Node B)は、Uuインタフェースに従って移動局と通信するための物理レイヤ(PHY)、Iub/Iurインタフェースに従って無線網制御装置（RNC）とパケット通信するためのTNLレイヤ（Transport Network Layer）を備える。基地局は、更にMAC-eレイヤ、EDCH FP（Enhanced DCH Frame Protocol）レイヤを備えている。ここに、Uu(The Radio interface between UTLAN and the User Equipment)インタフェースとは、無線アクセスネットワークと移動局との間のインタフェースである。また、Iub(Interface between an RNC and a Node B)インタフェースとは、基地局と無線網制御装置との間のインタフェースである。またIur(A logical interface between two RNC)インタフェースとは、２つの無線網制御装置同士のインタフェースである。【０００５】
無線網制御装置であるＳＲＮＣ（Serving RNC）はTNLレイヤ、EDCH FPレイヤ、MAC-esレイヤ、MAC-ｄレイヤ、RLCレイヤを備えている。また、無線網制御装置であるＤＲＮＣ（Drift RNC）は、TNLレイヤを備えている。【０００６】
図２は、移動局、基地局、無線網制御装置間で送受されるデータフレームを示す図である。移動局は、ネットワークへと送信するデータフレームを短いRLC PDU(MAC-d PDU)へ分割する。移動局は、複数のMAC-d PDUを多重化してMAC-es PDUを生成する。このMAC-es PDUは、送信されるデータフレーム中における各PDUの順序を示すシーケンス番号であるＴＳＮを含んでいる。移動局は、さらに複数のMAC-es PDUを多重化してEDCH FP（Frame Protocol for Enhanced Dedicated Channel）フレームを作成する。【０００７】
ＨＳＵＰＡ方式は、データ伝送速度の向上のために、複数の通信チャネル上においてＨＡＲＱ（Hybrid Automatic Repeat Request）制御を行っている。この結果、どの通信チャネルを経由したデータが先に基地局に受信されるかが不定であり、基地局で受信されるデータの順序は保証されない。【０００８】
このため基地局は、各MAC-es PDUにシーケンス番号ＴＳＮを付与し、無線網制御装置（S-RNC）が、シーケンス番号ＴＳＮに基づいてMAC-es PDUの並べ替え処理を行っている。無線網制御装置（S-RNC）は、受信したEDCH FPフレームからMac-es PDUを取り出し、各Mac-es PDUをＴＳＮに従って並べ替えを行った上で、データフレームの再生を行う。【０００９】
【特許文献１】特開２００８−７２４５２号公報
【発明の開示】
【００１０】
無線網制御装置における、従来のMac-es PDUの並べ替え処理は、例えば以下の通りである。無線網制御装置は、受信した順序でMac-es PDUを受信バッファから取り出す。Uuインタフェース上でデータの欠落が生じた場合には、無線網制御装置に受信されるデータにおいて、シーケンス番号の欠落が生じる。無線網制御装置は、受信バッファから取り出したデータのシーケンス番号の欠落を検出したとき、欠落したデータに続く後続データを並べ替え処理用バッファに一時移し替える。その後、欠落したデータが受信バッファから取り出されたとき、無線網制御装置は、並べ替え処理用バッファに蓄えていた後続データとともに、欠落したデータを、シーケンス番号の順序に従う順序でネットワークへ送信する。
【００１１】
上述の従来の並べ替え処理では、無線網制御装置は、受信バッファから取り出したデータを、並べ替え処理用バッファに移し替える処理が必要になる。このため並べ替え処理が多発する状況下では、並べ替え処理用バッファにデータを移し替える処理のために、無線網制御装置を制御する処理装置の負荷が増加し、処理遅延を招くという問題があった。
【００１２】
上記事情に鑑み、開示のパケット送信装置、パケット受信装置、通信システム及びパケット通信方法は、シーケンス番号が定められたパケットを受信する受信装置において、シーケンス番号に従ったパケットの並べ替え処理の効率を向上することを目的とする。
【００１３】
ある実施例の形態によるパケット送信装置は、シーケンス番号が定められたパケットを送信先装置へ送信するパケット送信手段と、パケット送信手段により送信された送信済みパケットを指示する送信済みパケット指示情報を生成する送信済みパケット指示情報生成手段と、パケットと別に、送信済みパケット指示情報を送信先装置へ送信する送信済みパケット指示情報送信手段と、を備える。
【００１４】
ある実施例の形態によるパケット受信装置は、シーケンス番号が定められたパケットを送信元装置から受信するパケット受信手段と、パケットを格納する受信バッファと、送信元装置により送信された送信済みパケットを指示する送信済みパケット指示情報を、パケットと別に、送信元装置から受信する送信済みパケット指示情報受信手段と、送信済みパケット指示情報により指示されたパケットを受信バッファから取り出し、かつシーケンス番号の順序でパケットを並べ替えるパケット並べ替え手段と、を備える。
【００１５】
送信元装置が、パケットの他に送信済みパケット指示情報も受信側装置へ送信することで、受信側装置が、パケットを受信バッファから取り出す前に、パケットの並べ替えに必要なパケットが揃っているか否かを判定することが可能となる。並べ替え処理用バッファにデータを移し替えることなく、パケットの並べ替え処理を行うことができるため、パケットの並べ替える受信側装置の負荷が低減される。
【図面の簡単な説明】
【００１６】
【図１】ＨＳＵＰＡにおける各部のレイヤ構成図である。
【図２】移動局、基地局、無線網制御装置間で送受されるデータフレームを示す図である。
【図３】開示の通信システムの第１例の構成図である。
【図４】図３に示す第１パケット送受信装置のハードウエア構成図の第１例である。
【図５】図４に示す第１パケット送受信装置のブロック図の第１例である。
【図６】図３に示す第２パケット送受信装置のハードウエア構成図である。
【図７】図６に示す第２パケット送受信装置のブロック図の第１例である。
【図８】図４に示す第１パケット送受信装置の動作フローチャートの第１例である。
【図９】送信済みパケット指示情報のフレームフォーマットを示す図である。
【図１０】図３に示す通信システムの動作の説明図である。
【図１１】図６に示す第２パケット送受信装置による受信処理のフローチャートである。
【図１２】図６に示す第２パケット送受信装置による並べ替え処理のフローチャート（その１）である。
【図１３】図６に示す第２パケット送受信装置による並べ替え処理のフローチャート（その２）である。
【図１４】図４に示す第１パケット送受信装置の動作フローチャートの第２例である。
【図１５】図４に示す第１パケット送受信装置のブロック図の第２例である。
【図１６】図６に示す第２パケット送受信装置のブロック図の第２例である。
【図１７】図４に示す第１パケット送受信装置の動作フローチャートの第３例である。
【図１８】図４に示す第１パケット送受信装置のブロック図の第３例である。
【図１９】図４に示す第１パケット送受信装置の動作フローチャートの第４例である。
【図２０】図３に示す第１パケット送受信装置のハードウエア構成図の第２例である。
【図２１】図２０に示す第１パケット送受信装置のブロック図である。
【図２２】図２０に示す第１パケット送受信装置の動作フローチャートの例である。
【図２３】開示の通信システムの第２例の構成図である。
【図２４】図２３に示す移動局のハードウエア構成図である。
【図２５】図２３に示す基地局のハードウエア構成図である。
【図２６】図２５に示す基地局のブロック図の第１例である。
【図２７】図２３に示す無線網制御装置のハードウエア構成図である。
【図２８】図２７に示す無線網制御装置のブロック図である。
【図２９】並べ替えバッファを使用する並べ替え処理の説明図である。
【図３０】図２５に示す基地局の動作フローチャートである。
【図３１】図２３に示す通信システムの動作の第１例の説明図である。
【図３２】図２７に示す無線網制御装置による受信処理のフローチャートである。
【図３３】図２７に示す無線網制御装置による並べ替え処理のフローチャート（その１）である。
【図３４】図２７に示す無線網制御装置による並べ替え処理のフローチャート（その２）である。
【図３５】図２４に示す移動局のブロック図である。
【図３６】図２５に示す基地局のブロック図の第２例である。
【図３７】図２４に示す移動局の動作フローチャートである。
【図３８】図２３に示す通信システムの動作の第２例の説明図である。
【図３９】図２５に示す基地局による受信処理のフローチャートである。
【図４０】図２５に示す基地局による並べ替え処理のフローチャート（その１）である。
【図４１】図２５に示す基地局による並べ替え処理のフローチャート（その２）である。
【符号の説明】
【００１７】
１、１００    通信システム
２    第１パケット送受信装置
３    第２パケット送受信装置
４    第３パケット送受信装置
１０１    移動局（ＵＥ）
１０２    基地局（ＮｏｄｅＢ）
１０３    無線網制御装置（ＲＮＣ）
１０４    ｘＧＳＮ
【発明を実施するための最良の形態】
【００１８】
以下、添付する図面を参照して実施例を説明する。図３は、開示の通信システムの第１例の構成図である。通信システム１は、第１パケット送受信装置２と、第２パケット送受信装置３と、第３パケット送受信装置４を備える。第１及び２パケット送受信装置２及び３は、以下に示す他の実施例のように基地局及び無線網制御装置であってよい。また、第１及び２パケット送受信装置２及び３は、以下に示す他の実施例のように移動局及び基地局であってよい。すなわち第１及び２パケット送受信装置２及び３は下位装置及び上位装置という関係にあってよい。第１及び２パケット送受信装置２及び３は、基地局同士又は無線網制御装置同士であってもよい。すなわち、第１及び２パケット送受信装置２及び３は、下位装置及び上位装置という関係でなくともよい。【００１９】
図４は、図３に示す第１パケット送受信装置２のハードウエア構成図の第１例である。第１パケット送受信装置２は、プロセッサ１０と、制御プログラム１１を記憶するプログラム記憶部１２と、メモリ１３と、パケット取得部１４と、通信部１５と、送信バッファ１６と、受信バッファ１７を備える。【００２０】
プロセッサ１０は、ＣＰＵ等のデータプロセッサにより実現され、プログラム記憶部１２に格納された制御プログラム１１を実行することにより、第１パケット送受信装置２の動作を制御する。プログラム記憶部１２は、プロセッサ１０により実行されることによりユーザデータを生成するアプリケーションプログラムを格納していてもよい。メモリ１３は、制御プログラム１１やアプリケーションプログラムの実行に必要なデータを記憶し、またこれらプログラムの実行の際に生成される一時的なデータを記憶する。【００２１】
パケット取得部１４は、第１パケット送受信装置２から第２パケット送受信装置３へ送信されるパケットを取得する。パケット取得部１４が取得する各パケットには、パケットの順序を示すシーケンス番号が定められている。シーケンス番号は、各パケット内に埋め込まれていてよい。パケット取得部１４は、例えば、他の通信装置からパケットを受信することによりパケットを取得してよい。また、パケット取得部１４は、例えば、プロセッサ１０により実行されたアプリケーションプログラムにより生成されたユーザデータを、分割したパケットを取得するソフトウエアモジュールであってもよい。【００２２】
通信部１５は、第２パケット送受信装置３との間のデータの送受信を行う。例えば、通信部１５は、パケット取得部１４が取得したパケットを第２パケット送受信装置３へ送信する。送信バッファ１６は、第２パケット送受信装置３へ送信されるデータを通信部１５が受け付けるまでの間一時的に保持する。受信バッファ１７は、通信部１５が第２パケット送受信装置３から受信したデータを一時的に保持する。【００２３】
図５は、図４に示す第１パケット送受信装置２のブロック図の第１例である。プロセッサ１０が、プログラム記憶部１２に格納された制御プログラム１１を実行することによって、パケット送信部２０、送信済みパケット指示情報生成部２１及び送信済みパケット指示情報送信部２３の機能が実現される。【００２４】
パケット送信部２０は、パケット取得部１４が取得したパケットを、第２パケット送受信装置３へ送信する処理を行う。パケット送信部２０は、第２パケット送受信装置３へ送信されるパケットを送信バッファ１６へ入力し、通信部１５は、送信バッファ１６へ格納されたパケットを第２パケット送受信装置３へ送信する。【００２５】
送信済みパケット指示情報生成部２１は、パケット取得部１４が取得したパケットを入力する。送信済みパケット指示情報生成部２１は、パケット取得部１４から受信したパケットがパケット送信部２０により送信されたものであると見なし、パケット送信部２０により送信されたパケットを指示する送信済みパケット指示情報を生成する。送信済みパケット指示情報は、パケット送信部２０により送信されたパケットを、送信されたパケットをシーケンス番号によって特定してよい。【００２６】
例えば、シーケンス番号が昇順により送信順序を定めており、連続するシーケンス番号ｎ、（ｎ＋１）、（ｎ＋２）…（ｎ＋ｘ）をそれぞれ有する一連のパケットを指定する場合を考える。この場合、一連のパケットのシーケンス番号を、各パケットの送信順に並べた一連のシーケンス番号ｎ、（ｎ＋１）、（ｎ＋２）…（ｎ＋ｘ）を送信済みパケット指示情報としてよい。また、一連のパケットのシーケンス番号の範囲を示す情報（ｎ：（ｎ＋ｘ））を送信済みパケット指示情報としてよい。【００２７】
本明細書における説明で使用される送信済みパケット指示情報は、パケット送信部２０により送信された各パケットのシーケンス番号を、各パケットの送信順に並べた一連のシーケンス番号を含む、一組のシーケンス番号である。送信済みパケット指示情報生成部２１は、パケット取得部１４から取得した各パケットから、それぞれのパケットに埋め込まれていたシーケンス番号を取り出す。送信済みパケット指示情報生成部２１は、取り出したシーケンス番号をメモリ１３に記憶する。【００２８】
送信済みパケット指示情報生成部２１は、各パケットのシーケンス番号を取り出す都度、それまでにメモリ１３に記憶されているシーケンス番号の列に追加していくことにより、パケットの送信順に並べた一連のシーケンス番号の列を生成する。送信済みパケット指示情報生成部２１は、後述する送信タイミングにおいて、メモリ１３に記憶されているシーケンス番号の列を読み出して、シーケンス番号の列を含む送信済みパケット指示情報を送信済みパケット指示情報送信部２３へ出力する。【００２９】
送信済みパケット指示情報送信部２３は、送信済みパケット指示情報生成部２１から受信した送信済みパケット指示情報を第２パケット送受信装置３へ送信する処理を行う。送信済みパケット指示情報送信部２３は、送信済みパケット指示情報を送信バッファ１６へ入力し、通信部１５は、送信バッファ１６へ格納された送信済みパケット指示情報を第２パケット送受信装置３へ送信する。【００３０】
図６は、図３に示す第２パケット送受信装置３のハードウエア構成図である。第２パケット送受信装置３は、プロセッサ３０と、制御プログラム３１を記憶するプログラム記憶部３２と、メモリ３３と、第１通信部３４と、第１受信バッファ３５と、第１送信バッファ３６を備える。また、第２パケット送受信装置３は、第２通信部３７と、第２送信バッファ３８と、第２受信バッファ３９と、並べ替えバッファ４０を備える。【００３１】
プロセッサ３０は、ＣＰＵ等のデータプロセッサにより実現され、プログラム記憶部３２に格納された制御プログラム３１を実行することにより、第２パケット送受信装置３の動作を制御する。メモリ３３は、制御プログラム３１等のプログラムの実行に必要なデータを記憶し、またこれらプログラムの実行の際に生成される一時的なデータを記憶する。【００３２】
第１通信部３４は、第１パケット送受信装置２との間のデータの送受信を行う。例えば第１通信部３４は、第１パケット送受信装置２が送信したパケットを受信する。また、例えば第１通信部３４は、第１パケット送受信装置２が送信した送信済みパケット指示情報を受信する。【００３３】
第１受信バッファ３５は、第１通信部３４が第１パケット送受信装置２から受信したデータを一時的に保持する。第１送信バッファ３６は、第２パケット送受信装置３から第１パケット送受信装置２へ送信されるデータを第１通信部３４が受け付けるまでの間一時的に保持する。【００３４】
第２通信部３７は、第３パケット送受信装置４との間のデータの送受信を行う。例えば第２通信部３７は、第１パケット送受信装置２から受信され、以下に述べるプロセッサ３０による並べ替え処理によりシーケンス番号順に並び替えられたパケットを、第３パケット送受信装置４へ送信する。第２受信バッファ３９は、第２通信部３７が第３パケット送受信装置４から受信したデータを一時的に保持する。第２送信バッファ３８は、第２パケット送受信装置３から第３パケット送受信装置４へ送信されるデータを第２通信部３７が受け付けるまでの間一時的に保持する。【００３５】
並べ替えバッファ４０は、第１パケット送受信装置２から受信されたパケットの並び替え処理の際に、必要に応じて、第１受信バッファ３５から受信パケットを退避するために使用されるバッファである。【００３６】
図７は、図６に示す第２パケット送受信装置３のブロック図の第１例である。プロセッサ３０が、プログラム記憶部３２に格納された制御プログラム３１を実行することによって、パケット受信部５０、送信済みパケット指示情報受信部５１、並べ替え処理部５２、パケット送信部５３の機能が実現される。【００３７】
パケット受信部５０は、第１通信部３４により受信され第１受信バッファ３５に格納された受信パケットの受信処理を行う。送信済みパケット指示情報受信部５１は、第１通信部３４により受信され第１受信バッファ３５に格納された送信済みパケット指示情報の受信処理を行う。【００３８】
並べ替え処理部５２は、第１パケット送受信装置２から受信したパケットを、各パケットのシーケンス番号の順序に並べ替える並べ替え処理を行う。並べ替え処理の際に、並べ替え処理部５２は、必要に応じて第１受信バッファ３５から読み出されたパケットを、並べ替えバッファ４０に退避する。パケット送信部５３は、並べ替え処理部５２によって並べ替えた順序で、パケットを第３パケット送受信装置４へ送信する処理を行う。パケット送信部５３は、第３パケット送受信装置４へ送信されるパケットを第２送信バッファ３８へ入力し、第２通信部３７は、第２送信バッファ３８へ格納されたパケットを第３パケット送受信装置４へ送信する。【００３９】
図８は、図４に示す第１パケット送受信装置２の動作フローチャートの第１例である。ステップＳ１においてパケット取得部１４は、第１パケット送受信装置２から第２パケット送受信装置３へ送信されるパケットを取得する。取得されるパケットは、他の通信装置から受信したユーザデータを格納するパケットや、プロセッサ１０により実行されたアプリケーションプログラムにより生成されたユーザデータを格納するパケットであってよい。【００４０】
ステップＳ２において送信済みパケット指示情報生成部２１は、ステップＳ１で取得したパケットに埋め込まれているシーケンス番号を取得する。ステップＳ３においてパケット送信部２０は、ステップＳ１で取得したパケットを第２パケット送受信装置３へ送信する。【００４１】
ステップＳ４において送信済みパケット指示情報生成部２１は、ステップＳ２で取得したシーケンス番号をメモリ１３に記憶する。先行して受信したパケットのシーケンス番号が既にメモリ１３に記憶されている場合には、送信済みパケット指示情報生成部２１は、既にメモリ１３に記憶されているシーケンス番号の後へ、新たに記憶するシーケンス番号を追加する。【００４２】
ステップＳ５において送信済みパケット指示情報生成部２１は、ステップＳ２で取得したシーケンス番号が、期待シーケンス番号であるか否かを判定する。ここで、パケットを送信する第１パケット送受信装置２の処理において「期待シーケンス番号」とは、未送信パケットのシーケンス番号のうち最も送信順序が早いシーケンス番号である。本実施例では、昇順で送信順序を定めているものとする。この場合「期待シーケンス番号」は、未送信パケットのうちシーケンス番号のうち最も小さいシーケンス番号である。何らかの理由によりシーケンス番号の順序通りにパケットが送信されずに後続のパケットに追い越されたパケットが生じた場合には、このような追い越されたパケットのシーケンス番号のうち最も小さいシーケンス番号となる。【００４３】
ステップＳ５の判定においてステップＳ２で取得したシーケンス番号が期待シーケンス番号でない場合には（ステップＳ５：Ｎ）、プロセッサ１０は処理をステップＳ１に戻す。ステップＳ１〜Ｓ５の処理を繰り返すことにより、送信済みパケット指示情報生成部２１は、期待シーケンス番号以降のシーケンス番号を有する送信済みパケットのシーケンス番号の列をメモリ１３に蓄積する。【００４４】
ステップＳ５の判定においてステップＳ２で取得したシーケンス番号が期待シーケンス番号である場合には（ステップＳ５：Ｙ）、ステップＳ６において送信済みパケット指示情報生成部２１は、インデクス変数ｉの値を、（期待シーケンス番号＋１）に設定する。ステップＳ７及びＳ８において送信済みパケット指示情報生成部２１は、メモリ１３に記憶されていない最小の期待シーケンス番号を検索する。すなわちステップＳ７において送信済みパケット指示情報生成部２１は、インデクス変数ｉの値と等しいシーケンス番号がメモリ１３に記憶されているか否かを判定する。インデクス変数ｉの値と等しいシーケンス番号がメモリ１３に記憶されている限り（ステップＳ７：Ｙ）、送信済みパケット指示情報生成部２１は、ステップＳ８にてインデクス変数ｉの値を１つ増加してステップＳ７及びＳ８を繰り返す。【００４５】
メモリ１３に記憶されていない最小の期待シーケンス番号が見つかったとき（ステップＳ７：Ｎ）、ステップＳ９において送信済みパケット指示情報生成部２１は、期待シーケンス番号から（ｉ−１）までの連続するシーケンス番号を含む送信済みパケット指示情報を生成する。【００４６】
図９は、送信済みパケット指示情報のフレームフォーマットを示す図である。送信済みパケット指示情報は、ヘッダ部（Header CRC）と、FTフィールドと、Control Frame Typeフィールドと、通知TSN数フィールドと、１つ以上のTSN#0〜TSN#(n-1)フィールドを含む。FTフィールドの値は、このフレームが制御フレームかデータフレームかを示す。Control Frame Typeフィールドの値は、このフレームがシーケンスデータを通知する送信済みパケット指示情報であることを示す。通知TSN数フィールドの値は、送信済みパケット指示情報により通知されるシーケンス番号の合計数を示す。TSN#0〜TSN#(n-1)フィールドには、それぞれシーケンス番号が格納される。送信済みパケット指示情報送信部２３は、送信済みパケット指示情報を第２パケット送受信装置３へ送信する。【００４７】
図８のステップＳ１０において送信済みパケット指示情報生成部２１は、メモリ１３に記憶されている期待シーケンス番号から（ｉ−１）までの連続するシーケンス番号を消去する。ステップＳ１１において送信済みパケット指示情報生成部２１は、期待シーケンス番号の値をインデクス変数ｉの値に更新する。その後、プロセッサ１０は処理をステップＳ１に戻す。【００４８】
図１０は、図３に示す通信システム１の動作の説明図である。図において、ユーザデータを格納する各パケットは「１」〜「５」の値が囲むマス目として示されており、マス目に囲まれた各値は、それぞれのパケットのシーケンス番号を示す。また、送信済みパケット指示情報は、文字「Ｓ」を囲むマス目として示されている。【００４９】
第１パケット送受信装置２は、参照符号６０で指示されるように、シーケンス番号１〜５を有する各パケットを順次取得する（図８のステップＳ１）。このとき、何らかの理由によって第１パケット送受信装置２によるシーケンス番号２のパケットの取得が遅れ、シーケンス番号５のパケットを受信した後に、シーケンス番号２のパケットを取得した場合を考える。この場合には、シーケンス番号「１」、「３」、「４」、「５」及び「２」の順序で、第２パケット送受信装置３へ送信される（ステップＳ３）。【００５０】
ステップＳ１〜Ｓ５のループにおいて、シーケンス番号２のパケットの取得の失敗により期待シーケンス番号の値は「２」となる。このため、第１パケット送受信装置２がシーケンス番号２のパケットを取得するまで、シーケンス番号「３」、「４」及び「５」がメモリ１３に蓄積される。【００５１】
第１パケット送受信装置２がシーケンス番号２のパケットを取得すると（ステップＳ５：Ｙ）、送信済みパケット指示情報生成部２１は、シーケンス番号２〜５を含む送信済みパケット指示情報Ｓを生成する（ステップＳ９）。送信済みパケット指示情報Ｓは、パケットの送信順序にしたがって並べたシーケンス番号２〜５を有していてよい。例えば本例では、送信済みパケット指示情報Ｓに格納されるシーケンス番号２〜５は、「３」、「４」、「５」、「２」の順序で配置されている。【００５２】
参照符号６１は、送信済みパケット指示情報Ｓがシーケンス番号「２」のパケットの後に、第２パケット送受信装置３へ送信される様子を示す。【００５３】
図１１は、図６に示す第２パケット送受信装置３による受信処理のフローチャートである。ステップＳ２０において第２パケット送受信装置３の第１通信部３４は、第１パケット送受信装置２から送信されたパケット及び／又は送信済みパケット指示情報を受信する。ステップＳ２１において第１通信部３４は、ステップＳ２０で受信したデータを、受信した順序で第１受信バッファ３５に格納する。第２パケット送受信装置３は、ステップＳ２０及びＳ２１を繰り返すことにより第１パケット送受信装置２から受信したデータを、第１受信バッファ３５に格納する。【００５４】
図７に示す並べ替え処理部５２は、第１パケット送受信装置２から受信して第１受信バッファ３５に格納されたパケットを、各パケットのシーケンス番号の順序で並べ替えてから、第３パケット送受信装置４へ転送する。図１２及び図１３は、図６に示す第２パケット送受信装置３による並べ替え処理のフローチャートである。【００５５】
ステップＳ３０において、並べ替え処理部５２は、第１受信バッファ３５に格納されている送信済みパケット指示情報があるか否かを判定する。第１受信バッファ３５に格納されている送信済みパケット指示情報がない場合（ステップＳ３０：Ｎ）、並べ替え処理部５２は、処理をステップＳ３７へ移行する（参照符号Ａ）。第１受信バッファ３５に格納されている送信済みパケット指示情報がある場合（ステップＳ３０：Ｙ）、並べ替え処理部５２は、処理をステップＳ３１へ移行する。【００５６】
ステップＳ３１において並べ替え処理部５２は、第１受信バッファ３５から送信済みパケット指示情報を取り出す。ステップＳ３２において並べ替え処理部５２は、取り出された送信済みパケット指示情報が示すシーケンス番号に、期待シーケンス番号が含まれるか否かを判定する。【００５７】
第１パケット送受信装置２からパケットを受信する第２パケット送受信装置３の処理において「期待シーケンス番号」とは、未送信パケットのうち、シーケンス番号が最も小さく、かつ後続のパケットについても未だ並べ替え処理部５２による並べ替え処理が行われていないパケットのシーケンス番号である。【００５８】
送信済みパケット指示情報が示すシーケンス番号に期待シーケンス番号が含まれていない場合（ステップＳ３２：Ｎ）、並べ替え処理部５２は、処理をステップＳ３７へ移行する（参照符号Ａ）。送信済みパケット指示情報が示すシーケンス番号に期待シーケンス番号が含まれている場合（ステップＳ３２：Ｙ）、並べ替え処理部５２は、処理をステップＳ３３へ移行する。【００５９】
ステップＳ３３においてパケット受信部５０は、期待シーケンス番号のパケットを第１受信バッファ３５から取り出す。ステップＳ３４においてパケット送信部５３は、ステップＳ３３にて取り出されたパケットを第３パケット送受信装置４へ送信する。ステップＳ３５において並べ替え処理部５２は、期待シーケンス番号を１つ増加することにより、期待シーケンス番号を更新する。【００６０】
ステップＳ３６において並べ替え処理部５２は、送信済みパケット指示情報が示すシーケンス番号に、更新された期待シーケンス番号が含まれるか否かを判定する。送信済みパケット指示情報が示すシーケンス番号に期待シーケンス番号が含まれている場合（ステップＳ３６：Ｙ）、並べ替え処理部５２は処理をステップＳ３３へ戻す。【００６１】
このため、ステップＳ３５によって１つずつ増加する期待シーケンス番号が、送信済みパケット指示情報に含まれている限り、プロセッサ３０はステップＳ３３〜Ｓ３６を繰り返し実行する。この結果、プロセッサ３０は、シーケンス番号の順序に従って、第１受信バッファ３５から連続するシーケンス番号のパケットを取り出して、第３パケット送受信装置４へ送信することができる。すなわち、シーケンス番号の順序に従って第１受信バッファ３５からパケットを取り出すことにより、並べ替え処理部５２は、並べ替えバッファを使用することなく並べ替え処理を行うことができる。【００６２】
送信済みパケット指示情報が示すシーケンス番号に期待シーケンス番号が含まれていない場合（ステップＳ３６：Ｎ）、プロセッサ３０は処理をステップＳ３０へ戻す。【００６３】
ステップＳ３７において並べ替え処理部５２は、第１受信バッファ３５に受信済みパケットが格納されているか否かを判定する。受信済みパケットがある場合（ステップＳ３７：Ｙ）には並べ替え処理部５２は処理をステップＳ３８へ移行する。受信済みパケットがない場合（ステップＳ３７：Ｎ）には並べ替え処理部５２は処理をステップＳ４４へ移行する。【００６４】
ステップＳ３８において並べ替え処理部５２は、パケット受信部５０により第１受信バッファ３５から取り出したパケットを、並べ替えバッファ４０へコピーすることにより、第１受信バッファ３５のパケットを並べ替えバッファ４０へ退避する。既に並べ替えバッファ４０にパケットが記憶されている場合には、並べ替え処理部５２は、既に記憶されているパケットに加えて、新たに記憶するパケットを格納する。【００６５】
ステップＳ３９において並べ替え処理部５２は、ステップＳ３８で並べ替えバッファ４０へ退避したパケットのシーケンス番号が、期待シーケンス番号と同じであるか否かを判定する。退避したパケットのシーケンス番号が期待シーケンス番号である場合（ステップＳ３９：Ｙ）には並べ替え処理部５２は処理をステップＳ４０へ移行する。【００６６】
ステップＳ４０において並べ替え処理部５２は、並べ替えバッファ４０へ格納されているパケットのうち、期待シーケンス番号のパケットを含んだ１つ以上の連続するパケットを第３パケット送受信装置４へ送信する。ステップＳ４１において並べ替え処理部５２は、期待シーケンス番号の値を、（Ｓ４０で送信したパケットのシーケンス番号の最大値＋１）へ更新する。【００６７】
ステップＳ３９の判定にて、退避したパケットのシーケンス番号が期待シーケンス番号でない場合（ステップＳ３９：Ｎ）には並べ替え処理部５２は処理をステップＳ４２へ移行する。ステップＳ４２において並べ替え処理部５２は、並べ替えタイマが起動中か否かを判定する。並べ替えタイマは、例えばプロセッサ３０の処理によって実現されるソフトウエアタイマであってよい。並べ替えタイマによる時間測定は、期待シーケンス番号でないシーケンス番号のパケットを空の並べ替えバッファ４０に退避した時点で開始する。並べ替えタイマは、並べ替えバッファ４０にパケットが退避して所定時間以上経過したときに、並べ替えバッファ４０に留まっているパケットを第３パケット送受信装置４へ送信するために使用されるタイマである。【００６８】
ステップＳ４２の判定にて、並べ替えタイマが起動していない場合（ステップＳ４２：Ｎ）には、並べ替え処理部５２は処理をステップＳ４３へ移行する。ステップＳ４３にて並べ替え処理部５２は、並べ替えタイマを起動し、並べ替えタイマによる時間計測を開始する。その後、並べ替え処理部５２は処理をステップＳ４４へ移行する。ステップＳ４２の判定にて、並べ替えタイマが既に起動している場合（ステップＳ４２：Ｙ）には、並べ替え処理部５２は処理をステップＳ４４へ移行する。【００６９】
ステップＳ４４において並べ替え処理部５２は、並べ替えタイマが起動中か否かを判定する。並べ替えタイマが起動中でない場合（ステップＳ４４：Ｎ）、プロセッサ３０は処理をステップＳ３０へ戻す（参照符号Ｂ）。並べ替えタイマが起動中である場合（ステップＳ４４：Ｙ）、並べ替え処理部５２は処理をステップＳ４５へ移行する。【００７０】
ステップＳ４５において並べ替え処理部５２は、並べ替えタイマにより計測された時間が所定時間を超えたか否か、すなわち並べ替えタイマによる計時がタイムアウトとなったか否かを判定する。並べ替えタイマによる計時がタイムアウトとなったとき（ステップＳ４５：Ｙ）、並べ替え処理部５２は処理をステップＳ４６へ移行する。【００７１】
ステップＳ４６において並べ替え処理部５２は、並べ替えバッファ４０へ格納されている全てのパケットを第３パケット送受信装置４へ送信する。ステップＳ４７において並べ替え処理部５２は、期待シーケンス番号の値を、（Ｓ４６で送信したパケットのシーケンス番号の最大値＋１）へ更新する。ステップＳ４８において並べ替え処理部５２は、並べ替えタイマを停止する。その後、プロセッサ３０は処理をステップＳ３０へ戻す（参照符号Ｂ）。【００７２】
ステップＳ４５における判定において並べ替えタイマによる計時がタイムアウトとなっていないとき（ステップＳ４５：Ｎ）、並べ替え処理部５２は処理をステップＳ４９へ移行する。ステップＳ４９において並べ替え処理部５２は、並べ替えタイマの計測値を所定の時間ステップ分だけ増加して、計測値を更新する。その後、プロセッサ３０は処理をステップＳ３０へ戻す（参照符号Ｂ）。【００７３】
再び図１０を参照して、第２パケット送受信装置３による受信処理を説明する。上述の通り、第１パケット送受信装置２は、シーケンス番号「１」、「３」、「４」、「５」、「２」の順序でパケットを送信した後、シーケンス番号２〜５を含む送信済みパケット指示情報Ｓを送信する。第２パケット送受信装置３の第１受信バッファ３５には、受信順、すなわち、シーケンス番号「１」、「３」、「４」、「５」、「２」の順序で並んだパケットが格納され、その後に送信済みパケット指示情報Ｓが格納される。なお、送信済みパケット指示情報Ｓに格納されるシーケンス番号２〜５は、「３」、「４」、「５」、「２」の順序で配置されている。【００７４】
例えば第２パケット送受信装置３が輻輳している場合などのように、第１受信バッファ３５にパケットが格納されても、すぐにプロセッサ３０がこのパケットの処理を開始できない場合がある。このような場合、シーケンス番号の順序通りにパケットが送信されず、あるパケットの送信順序が後続のパケットの送信順序より遅くなったとしても、このパケットの処理の順番が到来する前に、このパケットの受信が完了することが考えられる。例えば図１０において第２パケット送受信装置３の並べ替え処理部５２は、シーケンス番号「２」〜「５」の後続するパケットと送信済みパケット指示情報Ｓを受信してから、シーケンス番号「１」の処理を開始する。【００７５】
図１０は、並べ替えバッファ４０が空である状態を示している。このような状態は、図１３に示すステップＳ３７以降へ処理が移行せずに並べ替えバッファ４０にパケットが退避しない場合に生じる。このとき、第１受信バッファ３５から取り出されるパケットのシーケンス番号は期待シーケンス番号と一致しており、並べ替え処理部５２は図１２に示すステップＳ３０〜Ｓ３６を繰り返している。したがって、シーケンス番号「１」のパケットの後に、並べ替え処理部５２が、送信済みパケット指示情報Ｓを第１受信バッファ３５から取り出した時点では、期待シーケンス番号は「２」である。【００７６】
並べ替え処理部５２は、送信済みパケット指示情報Ｓにより（図１２のステップＳ３１）、期待シーケンス番号「２」、及びそれに続く連続するシーケンス番号「３」〜「５」のパケットが、第１受信バッファ３５に格納されていることを知ることができる。このためステップＳ３３〜Ｓ３６において並べ替え処理部５２は、連続するシーケンス番号「２」〜「５」のパケットを、シーケンス番号の順序に従って第１受信バッファ３５から取り出すことができる。【００７７】
並べ替え処理部５２は、第１受信バッファ３５から取り出した順序にしたがって、パケット送信部５３にパケットを送信させる。第２送信バッファ３８は、送信順序を待つパケットを格納する。参照符号６３に示すように、第２送信バッファ３８に格納されている各パケットの順序は、シーケンス番号の順序に従っている。ここで参照符号６３に示すマス目は第２送信バッファ３８内の格納位置を示している。図中において上位にあるマス目に格納されているデータほど送信順序が早い。【００７８】
図中において各マス目内に記載されている数字は、格納されているパケットのシーケンス番号を示す。また文字「ｘ」は、先行するパケットが格納されていることを示し、文字「ｅ」は空の格納位置を示し、文字「ａ」はシーケンス番号「２」〜「５」のパケットの後の利用可能な格納位置を示す。【００７９】
また参照符号６４に示すマス目は、第２パケット送受信装置３から第３パケット送受信装置４へ送信されるパケットのタイムチャートを意味している。図中において右側にあるマス目に格納されているデータほど送信順序が早い。図中においてマス目内に記載されている数字は、パケットのシーケンス番号を示す。文字「ｘ」は、先行するパケットを示し、文字「ｅ」は空のタイムスロットを示し、文字「ａ」はシーケンス番号「２」〜「５」のパケットの後の利用可能なタイムスロットを示す。なお、図１０において使用される表記法は、図２９、図３１及び図３８においても同様に使用される。【００８０】
ステップＳ３３〜Ｓ３６において並べ替え処理部５２は、並べ替えバッファ４０にパケットを退避させずにパケットの並べ替え処理を行う。このとき並べ替え処理部５２は、シーケンス番号の順序に従って第１受信バッファ３５からパケットを読み出すことができる。すなわち、より古いシーケンス番号のパケットがより若いシーケンス番号のパケットよりも後に受信されても、より古いシーケンス番号のパケットから先に第１受信バッファ３５から読み出して送信することができる。【００８１】
これに対して、並べ替えバッファ４０を使用する並べ替え処理の場合には、受信された順序で第１受信バッファ３５からパケットを取り出す。このため、シーケンス番号の順序と受信順序が一致しない場合には、より古いシーケンス番号のパケットよりも先に受信された後続パケットを全て並べ替えバッファ４０へ退避し終えるまで、これらのパケットの送信処理を遅らせなければならない。【００８２】
ステップＳ３３〜Ｓ３６の並べ替え処理は、上述のような並べ替えバッファ４０を使用する並べ替え処理において生じるパケットの送信処理の遅れを防止することができる。図１０の参照符号６６は、シーケンス番号「２」〜「５」のパケットの送信処理の遅れを減らし、利用可能なタイムスロットを増やすことができることを示している。【００８３】
また、並べ替えバッファ４０を使用する並べ替え処理の場合には、期待シーケンス番号のパケットを第１受信バッファ３５から取り出したときに、並べ替えバッファ４０に退避しておいたパケットを一気に第３パケット送受信装置４へ送信する。このため送信バーストが発生して第３パケット送受信装置４への負担が発生する。第３パケット送受信装置４がシェーピングによるガード手段を有している場合には、送信バーストがデータ欠落の原因となる。このため、並べ替えバッファ４０を使用する並べ替え処理は、通信システム１における通信スループットが低下する要因となる。【００８４】
これに対して、ステップＳ３３〜Ｓ３６において並べ替え処理部５２は、第１受信バッファ３５からのパケットの読み出し処理とパケットの送信処理とを交互に行う。このような読み出しと送信とを交互に行う処理は、並べ替え処理が生じない場合の処理と同様であるため、並べ替え処理が生じない場合と比べて各パケットの送信間隔が大きく相違しない。したがって、ステップＳ３３〜Ｓ３６において行われる並べ替え処理は、送信バーストを防止することができる。図１０の参照符号６５は、シーケンス番号「１」〜「５」のパケットの送信間隔が保たれ、送信バーストが防止されている様子を示している。【００８５】
なお、送信済みパケット指示情報内のシーケンス番号がパケットの送信順序で配列されていれば、並べ替え処理部５２は、送信済みパケット指示情報により第１受信バッファ３５における各パケットの格納順序を決定することができる。この場合、並べ替え処理部５２は、各パケットに埋め込まれたシーケンス番号を参照せずに、所望のシーケンス番号のパケットを第１受信バッファ３５から取り出すことができる。【００８６】
並べ替えバッファを使用する並べ替え処理は、例えばユーザデータであるパケットが受信バッファに格納された後に、格納されたパケットを並べ替えバッファへコピーするために、受信装置のプロセッサの処理が増大する。このために、ユーザデータの処理遅延や、受信装置のプロセッサの過負荷によるデータ送信機能の障害の原因になる恐れがある。【００８７】
本実施例の通信システム１によれば、第２パケット送受信装置３の処理が遅れ、第１受信バッファ３５に大量のパケットが蓄積されている場合には、これらのパケットに併せて送信済みパケット指示情報も第１受信バッファ３５に蓄積される。したがって、第２パケット送受信装置３は、送信済みパケット指示情報を参照して、第１受信バッファ３５からパケットを取り出すときに並べ替え処理を行うことができる。並べ替えバッファの使用によるプロセッサ３０の過負荷を防止することができるため、ユーザデータの処理遅延やデータ送信機能の障害といった上記問題を解決できる。【００８８】
また本実施例の通信システム１によれば、第２パケット送受信装置３から送信されるデータのバーストを防止することができる。このため本実施例は、通信バーストに起因する通信システム１の機能障害の誘発や、シェーピングによるユーザデータの欠落といった問題を解消することができる。【００８９】
また、ＨＳＵＰＡサービスにおいては、無線リソースの有効活用のために移動局と基地局間の無線通信において送信電力が抑制されることがある。この結果、ＨＡＲＱの再送率が増加し、シーケンス番号の順序と受信順序の不一致が増加して無線網制御装置におけるユーザデータの並べ替え処理の負荷が増加する。本実施例の並べ替え処理は、無線網制御装置におけるユーザデータの並べ替え処理の負荷低減に寄与することができる。【００９０】
図１４は、図４に示す第１パケット送受信装置２の動作フローチャートの第２例である。本実施例による第１パケット送受信装置２は、送信済みパケット指示情報を一定の周期で第２パケット送受信装置３へ送信する。第１パケット送受信装置２は、所定の送信周期の間に、取得したパケットのシーケンス番号を順次メモリ１３に蓄積する。周期的な送信時期になる度に、第１パケット送受信装置２は、メモリ１３内に蓄積したシーケンス番号を含む送信済みパケット指示情報を第２パケット送受信装置３へ送信する。具体的な処理を、図１４を参照して説明する。【００９１】
ステップＳ５０においてパケット取得部１４は、図８に示すステップＳ１と同様にパケットを取得する。ステップＳ５１において送信済みパケット指示情報生成部２１は、ステップＳ５０で取得したパケットに埋め込まれているシーケンス番号を取得する。ステップＳ５２においてパケット送信部２０は、ステップＳ５０で取得したパケットを第２パケット送受信装置３へ送信する。ステップＳ５３において送信済みパケット指示情報生成部２１は、図８に示すステップＳ４と同様に、ステップＳ５１で取得したシーケンス番号をメモリ１３に記憶する。【００９２】
ステップＳ５４において送信済みパケット指示情報生成部２１は、現時刻が、送信済みパケット指示情報を送信する周期的な送信時期であるか否かを判定する。現時刻が周期的な送信時期でない場合には（ステップＳ５４：Ｎ）、プロセッサ１０は処理をステップＳ５０へ戻す。所定の周期の間、ステップＳ５０〜Ｓ５４の処理を繰り返すことにより、送信済みパケット指示情報生成部２１は、送信済みパケットのシーケンス番号の列をメモリ１３に蓄積する。【００９３】
現時刻が周期的な送信時期である場合には（ステップＳ５４：Ｙ）、ステップＳ５５において送信済みパケット指示情報生成部２１は、メモリ１３に記憶されている全てのシーケンス番号を含む送信済みパケット指示情報を生成する。送信済みパケット指示情報送信部２３は、送信済みパケット指示情報を第２パケット送受信装置３へ送信する。ステップＳ５６において送信済みパケット指示情報生成部２１は、メモリ１３に記憶されているシーケンス番号を消去する。その後、プロセッサ１０は処理をステップＳ５０に戻す。【００９４】
本実施例によれば、送信済みパケット指示情報生成部２１は、周期的にシーケンス番号を集計するという比較的簡単な処理で送信済みパケット指示情報を作成できる。このため、第１パケット送受信装置２の処理プロセッサ１０に大きな負荷をかけずに、本実施例を実現できる。【００９５】
図１５は、図４に示す第１パケット送受信装置２のブロック図の第２例であり、図１６は、図６に示す第２パケット送受信装置３のブロック図の第２例である。本実施例では、第１パケット送受信装置２は、第２パケット送受信装置３からの要求に応じて、送信済みパケット指示情報を第２パケット送受信装置３へ送信する。【００９６】
図１５に示す構成要素のうち、図５に示す構成要素と同じ構成要素については同一の参照符号を付す。また、図４に示すプロセッサ１０がプログラム記憶部１２に格納された制御プログラム１１を実行することによって、送信済みパケット指示情報要求信号受信部２４の機能が実現される。【００９７】
図１６に示す構成要素のうち、図７に示す構成要素と同じ構成要素については同一の参照符号を付す。また、図６に示すプロセッサ３０がプログラム記憶部３２に格納された制御プログラム３１を実行することによって、送信済みパケット指示情報要求信号送信部５４の機能が実現される。【００９８】
送信済みパケット指示情報要求信号送信部５４は、第１パケット送受信装置２に対して送信済みパケット指示情報の送信を要求する送信済みパケット指示情報要求信号を生成し、第１パケット送受信装置２へ送信する処理を行う。例えば、送信済みパケット指示情報要求信号送信部５４は、周期的に送信済みパケット指示情報要求信号を第１パケット送受信装置２に送信してよい。【００９９】
また例えば送信済みパケット指示情報要求信号送信部５４は、並べ替え処理部５２の指示に従って、送信済みパケット指示情報要求信号を第１パケット送受信装置２に送信してよい。例えば、並べ替え処理部５２は、既に受信した送信済みパケット指示情報によって指示されたパケットの処理をプロセッサ３０が終了するときに、送信済みパケット指示情報要求信号の送信を送信済みパケット指示情報要求信号送信部５４に指示してよい。【０１００】
図１５に示す送信済みパケット指示情報要求信号受信部２４は、第２パケット送受信装置３から送信された送信済みパケット指示情報要求信号を受信する。パケット指示情報要求信号受信部２４が送信済みパケット指示情報要求信号を受信したとき、送信済みパケット指示情報生成部２１及び送信済みパケット指示情報送信部２３は、送信済みパケット指示情報の生成及び送信を行う。【０１０１】
図１７は、図４に示す第１パケット送受信装置２の動作フローチャートの第３例である。ステップＳ６０においてパケット取得部１４は、図８に示すステップＳ１と同様にパケットを取得する。ステップＳ６１において送信済みパケット指示情報生成部２１は、ステップＳ６０で取得したパケットに埋め込まれているシーケンス番号を取得する。ステップＳ６２においてパケット送信部２０は、ステップＳ６０で取得したパケットを第２パケット送受信装置３へ送信する。ステップＳ６３において送信済みパケット指示情報生成部２１は、図８に示すステップＳ４と同様に、ステップＳ６１で取得したシーケンス番号をメモリ１３に記憶する。【０１０２】
ステップＳ６４において送信済みパケット指示情報生成部２１は、送信済みパケット指示情報要求信号受信部２４が、送信済みパケット指示情報要求信号を受信したか否かを判定する。送信済みパケット指示情報要求信号が受信されていない場合には（ステップＳ６４：Ｎ）、プロセッサ１０は処理をステップＳ６０へ戻す。送信済みパケット指示情報要求信号が受信されるまでの間、ステップＳ６０〜Ｓ６４の処理を繰り返すことにより、送信済みパケット指示情報生成部２１は、送信済みパケットのシーケンス番号の列をメモリ１３に蓄積する。【０１０３】
送信済みパケット指示情報要求信号が受信された場合には（ステップＳ６４：Ｙ）、ステップＳ６５において送信済みパケット指示情報生成部２１は、メモリ１３に記憶されている全てのシーケンス番号を含む送信済みパケット指示情報を生成する。送信済みパケット指示情報送信部２３は、送信済みパケット指示情報を第２パケット送受信装置３へ送信する。ステップＳ６６において送信済みパケット指示情報生成部２１は、メモリ１３に記憶されているシーケンス番号を消去する。その後、プロセッサ１０は処理をステップＳ６０に戻す。【０１０４】
本実施例によれば、パケットを受信する第２パケット送受信装置３の需要に応じて、送信済みパケット指示情報を送信することができるので、効率的に送信済みパケット指示情報を生成及び送信することが可能となる。【０１０５】
図１８は、図４に示す第１パケット送受信装置２の機能ブロック図の第３例である。本実施例では、第１パケット送受信装置２は、欠落パケットの検出後に所定の条件が満たされたときに送信済みパケット指示情報を第２パケット送受信装置３へ送信する。ここで「欠落パケット」とは、シーケンス番号の順序通りに第１パケット送受信装置２から第２パケット送受信装置３へパケットが送信されなかった場合において、後続パケットよりも後に送信されたパケットのことをいう。【０１０６】
図１８に示す構成要素のうち、図５に示す構成要素と同じ構成要素については同一の参照符号を付す。また、図４に示すプロセッサ１０がプログラム記憶部１２に格納された制御プログラム１１を実行することによって、欠落パケット検出部２５及び送信可否判定部２６の機能が実現される。【０１０７】
欠落パケット検出部２５は欠落パケットの発生を検出する。例えば欠落パケット検出部２５は、メモリ１３に格納されたシーケンス番号が不連続であるか否かを判定することにより欠落パケットの発生を検出してよい。送信可否判定部２６は、欠落パケット検出部２５が欠落パケットを検出した後に、所定の条件が満たされるか否かを判定する。送信可否判定部２６が所定の条件が満たされると判定したとき、送信済みパケット指示情報生成部２１及び送信済みパケット指示情報送信部２３は、送信済みパケット指示情報の生成及び送信を行う。例えば、所定の条件は、欠落パケットの検出から所定時間が経過したことであってよく、又は欠落パケットの検出から所定数のパケットが送信されたことであってよい。【０１０８】
図１９は、図４に示す第１パケット送受信装置２の動作フローチャートの第４例である。ステップＳ７０においてパケット取得部１４は、図８に示すステップＳ１と同様にパケットを取得する。ステップＳ７１において送信済みパケット指示情報生成部２１は、ステップＳ７０で取得したパケットに埋め込まれているシーケンス番号を取得する。ステップＳ７２においてパケット送信部２０は、ステップＳ７０で取得したパケットを第２パケット送受信装置３へ送信する。ステップＳ７３において送信済みパケット指示情報生成部２１は、図８に示すステップＳ４と同様に、ステップＳ８１で取得したシーケンス番号をメモリ１３に記憶する。【０１０９】
ステップＳ７４において送信可否判定部２６は、パケット欠落フラグの値を参照し、欠落パケットが検出されたことが記憶されている否かを判定する。パケット欠落フラグは、プロセッサ１０により参照及び変更可能な変数であり、欠落パケットが発生したことを示す値「Ｔ」と欠落パケットが発生していないことを示す値「Ｆ」を取りうる。【０１１０】
パケット欠落フラグの値が「Ｔ」でない場合には（ステップＳ７４：Ｎ）、プロセッサ１０は処理をステップＳ７５へ移す。ステップＳ７５において欠落パケット検出部２５は、欠落パケットが発生したか否かを検出する。欠落パケットが発生した場合には（ステップＳ７５：Ｙ）、ステップＳ７６において欠落パケット検出部２５は、パケット欠落フラグに値「Ｔ」を代入する。その後プロセッサ１０は、処理をステップＳ７０へ移す。【０１１１】
ステップＳ７５の判定において欠落パケットが発生していない場合には（ステップＳ７５：Ｎ）、プロセッサ１０は処理をステップＳ７０へ移す。【０１１２】
パケット欠落フラグの値が「Ｔ」である場合には（ステップＳ７４：Ｙ）、プロセッサ１０は処理をステップＳ７７へ移す。ステップＳ７７において送信可否判定部２６は、上述の所定の条件が満たされるか否かを判定する。所定の条件が満たされると送信可否判定部２６が判定したとき（ステップＳ７７：Ｙ）、ステップＳ７８において送信済みパケット指示情報生成部２１は、メモリ１３に記憶されている全てのシーケンス番号を含む送信済みパケット指示情報を生成する。送信済みパケット指示情報送信部２３は、送信済みパケット指示情報を第２パケット送受信装置３へ送信する。【０１１３】
ステップＳ７９において送信済みパケット指示情報生成部２１は、メモリ１３に記憶されているシーケンス番号を消去する。ステップＳ８０において送信可否判定部２６は、パケット欠落フラグに値「Ｆ」を代入する。その後、プロセッサ１０は処理をステップＳ７０に戻す。ステップＳ７７の判定において所定の条件が満たされていないと送信可否判定部２６が判定したとき（ステップＳ７７：Ｎ）、プロセッサ１０は処理をステップＳ７０に戻す。【０１１４】
本実施例によれば、欠落パケットが発生したときに、欠落パケットを送信できたか否かの判定を行わずに送信済みパケット指示情報を送信することができる。このため、第１パケット送受信装置２の処理プロセッサ１０の大きな負荷をかけずに、本実施例を実現できる。【０１１５】
図２０は、図３に示す第１パケット送受信装置２のハードウエア構成図の第２例である。本実施例において、第１パケット送受信装置２は第２パケット送受信装置３へ送信するパケットの再送制御処理を行う。このため第１パケット送受信装置２は、再送制御部１８を備える。第１パケット送受信装置２と第２パケット送受信装置３との間で実行される再送制御は、例えばＨＡＲＱ制御であってよい。本実施例では、第１パケット送受信装置２は、各パケットが第２パケット送受信装置３へ送信されたか否かの判定を、第２パケット送受信装置３から受信したアクノリッジ信号に基づいて行う。【０１１６】
図２１は、図２０に示す第１パケット送受信装置２のブロック図である。図４に示すプロセッサ１０がプログラム記憶部１２に格納された制御プログラム１１を実行することによって、ＡＣＫ取得部２７とシーケンス番号取得部２８の機能が実現される。【０１１７】
ＡＣＫ取得部２７は、再送制御部１８により実施された再送制御によって各パケットについて第２パケット送受信装置３から受信されたアクノリッジ信号を取得する。シーケンス番号取得部２８は、各パケットについてＡＣＫ取得部２７が取得したアクノリッジ信号から、そのパケットのシーケンス番号を取得する。【０１１８】
また、図２１に示す構成要素のうち、図５に示す構成要素と同じ構成要素については同一の参照符号を付す。但し、送信済みパケット指示情報生成部２１は、パケット送信部２０により送信されたパケットのシーケンス番号をシーケンス番号取得部２８から入力し、入力されたシーケンス番号に従って、パケット送信部２０により送信されたパケットを特定する。【０１１９】
図２２は、図２０に示す第１パケット送受信装置２の動作フローチャートの例である。ステップＳ９０においてパケット取得部１４は、図８に示すステップＳ１と同様にパケットを取得する。ステップＳ９１においてパケット送信部２０は、ステップＳ９０で取得したパケットを第２パケット送受信装置３へ送信する。ステップＳ９２において通信部１５は、ステップＳ９１で送信したパケットについて、第２パケット送受信装置３からアクノリッジ信号（ＡＣＫ）又は否定応答信号（ＮＡＣＫ）を受信する。【０１２０】
ステップＳ９３においてプロセッサ１０は、通信部１５がアクノリッジ信号を受信したか否かを判定する。通信部１５が否定応答信号を受信したとき（Ｓ９３：Ｎ）、プロセッサ１０は処理をステップＳ９１に戻しパケットを再送する。ステップＳ９３の判定において通信部１５がアクノリッジ信号を受信したとき（Ｓ９３：Ｙ）、プロセッサ１０は処理をステップＳ９４へ移す。【０１２１】
ステップＳ９４において、ＡＣＫ取得部２７は、受信バッファ１７からアクノリッジ信号を取得する。そしてシーケンス番号取得部２９は、取得されたアクノリッジ信号から、アクノリッジ信号が返されたパケットのシーケンス番号を取り出す。送信済みパケット指示情報生成部２１は、取り出されたシーケンス番号をシーケンス番号取得部２８から入力する。【０１２２】
ステップＳ９５において送信済みパケット指示情報生成部２１は、図８に示すステップＳ４と同様に、ステップＳ９４で取得したシーケンス番号をメモリ１３に記憶する。ステップＳ９６において送信済みパケット指示情報生成部２１は、ステップＳ９４で取得したシーケンス番号が、期待シーケンス番号であるか否かを判定する。ステップＳ９４で取得したシーケンス番号が期待シーケンス番号でない場合には（ステップＳ９６：Ｎ）、プロセッサ１０は処理をステップＳ９０に戻す。【０１２３】
ステップＳ９４で取得したシーケンス番号が期待シーケンス番号である場合には（ステップＳ９６：Ｙ）、ステップＳ９７において送信済みパケット指示情報生成部２１は、インデクス変数ｉの値を、（期待シーケンス番号＋１）に設定する。ステップＳ９８及びＳ９９において送信済みパケット指示情報生成部２１は、メモリ１３に記憶されていない最小の期待シーケンス番号を検索する。すなわちステップＳ９８において送信済みパケット指示情報生成部２１は、インデクス変数ｉの値と等しいシーケンス番号がメモリ１３に記憶されているか否かを判定する。インデクス変数ｉの値と等しいシーケンス番号がメモリ１３に記憶されている限り（ステップＳ９８：Ｙ）、送信済みパケット指示情報生成部２１は、ステップＳ９９にてインデクス変数ｉの値を１つ増加してステップＳ９９及びＳ９８を繰り返す。【０１２４】
メモリ１３に記憶されていない最小の期待シーケンス番号が見つかったとき（ステップＳ９８：Ｎ）、ステップＳ１００において送信済みパケット指示情報生成部２１は、期待シーケンス番号から（ｉ−１）までの連続するシーケンス番号を含む送信済みパケット指示情報を生成する。送信済みパケット指示情報送信部２３は、送信済みパケット指示情報を第２パケット送受信装置３へ送信する。【０１２５】
ステップＳ１０１において送信済みパケット指示情報生成部２１は、メモリ１３に記憶されている期待シーケンス番号から（ｉ−１）までの連続するシーケンス番号を消去する。ステップＳ１０２において送信済みパケット指示情報生成部２１は、期待シーケンス番号の値をインデクス変数ｉの値に更新する。その後、プロセッサ１０は処理をステップＳ９０に戻す。【０１２６】
本実施例によれば、アクノリッジ信号に基づいて判定を行うことにより、第１パケット送受信装置２は、より正確に期待シーケンス番号のパケットを送信したか否かを判定できる。【０１２７】
図２３は、開示の通信システムの第２例の構成図である。通信システム１００は、移動局（UE）１０１と、基地局（NodeB）１０２と、無線網制御装置（RNC）１０３とｘＧＳＮ１０４を含む。ある実施例によれば、通信システム１００は、Ｗ−ＣＤＭＡ移動通信システムであり、また通信システム１００は、移動局１０１から上位装置へ向かうアップリンクにおいてＨＳＵＰＡサービスを提供する。以下、図３に示す第１パケット送受信装置２を基地局１０２に適用し、第２パケット送受信装置３を無線網制御装置１０３に適用し、第３パケット送受信装置４をｘＧＳＮ１０４に適用する実施例を説明する。【０１２８】
図２４は、図２３に示す移動局１０１のハードウエア構成図である。基地局１０１は、プロセッサ１１０と、制御プログラム１１１を記憶するプログラム記憶部１１２と、メモリ１１３と、無線通信部１１５と、送信バッファ１１６と、受信バッファ１１７と、再送制御部１１８を備える。【０１２９】
プロセッサ１１０は、ＣＰＵ等のデータプロセッサにより実現され、プログラム記憶部１１２に格納された制御プログラム１１１を実行することにより、移動局１０１の動作を制御する。プログラム記憶部１１２は、プロセッサ１１０により実行されることによりユーザデータを生成するアプリケーションプログラム１１９を格納していてもよい。メモリ１１３は、制御プログラム１１１やアプリケーションプログラム１１９の実行に必要なデータを記憶し、またこれらプログラムの実行の際に生成される一時的なデータを記憶する。【０１３０】
移動局１０１は、アプリケーションプログラム１１９が生成するユーザデータを、所定の形式を有するフレームに分割してから、基地局１０２に送信する。例えばフレームはMAC-es PDUであってよい。ユーザデータを伝送する各フレームには、各フレームの順序を示すシーケンス番号が定められている。シーケンス番号は、各フレーム内に埋め込まれていてよい。以下の説明において、ユーザデータを分割したフレームを単に「ユーザデータ」と示すことがある。【０１３１】
無線通信部１１５は、移動局１０１の上位装置である基地局１０２との間の無線通信機能を有する。例えば、無線通信部１１５は、ユーザデータを基地局１０２へ送信する。また、無線通信部１１５は、送信したユーザデータについてのアクノリッジ信号又は否定応答信号を基地局１０２から受信する。送信バッファ１１６は、基地局１０２へ送信されるデータを無線通信部１１５が受け付けるまでの間一時的に保持する。受信バッファ１１７は、無線通信部１１５が基地局１０２から受信したデータを一時的に保持する。再送制御部１１８は、無線通信部１１５による基地局１０２との間の無線通信の再送制御処理を行う。再送制御部１１８による再送制御は、例えばＨＡＲＱ制御であってよい。【０１３２】
図２５は、図２３に示す基地局１０２のハードウエア構成図である。基地局１０２は、プロセッサ１２０と、制御プログラム１２１を記憶するプログラム記憶部１２２と、メモリ１２３と、無線通信部１２４と、第１受信バッファ１２５と、第１送信バッファ１２６を備える。また、基地局１０２は、通信部１２７と、第２送信バッファ１２８と、第２受信バッファ１２９と、並べ替えバッファ１３０と、再送制御部１３１を備える。【０１３３】
プロセッサ１２０は、ＣＰＵ等のデータプロセッサにより実現され、プログラム記憶部１２２に格納された制御プログラム１２１を実行することにより、基地局１０２の動作を制御する。メモリ１２３は、制御プログラム１２１等のプログラムの実行に必要なデータを記憶し、またこれらプログラムの実行の際に生成される一時的なデータを記憶する。【０１３４】
無線通信部１２４は、移動局１０１との間の無線通信機能を有する。例えば無線通信部１２４は、移動局１０１が送信したユーザデータを受信する。また、無線通信部１２４は、移動局１０１から受信したユーザデータに関するアクノリッジ信号又は否定応答信号を移動局１０１へ送信する。第１受信バッファ１２５は、無線通信部１２４が移動局１０１から受信したデータを一時的に保持する。第１送信バッファ１２６は、基地局１０２から移動局１０１へ送信されるデータを無線通信部１２４が受け付けるまでの間一時的に保持する。【０１３５】
通信部１２７は、基地局１０１の上位装置である無線網制御装置１０３との間のデータ送受信を行う。例えば通信部１２７は、移動局１０１から受信したユーザデータを、無線網制御装置１０３へ送信する。第２受信バッファ１２９は、通信部１２７が無線網制御装置１０３から受信したデータを一時的に保持する。第２送信バッファ１２８は、基地局１０２から無線網制御装置１０３へ送信されるデータを通信部１２７が受け付けるまでの間一時的に保持する。再送制御部１３１は、無線通信部１２４による移動局１０１との間の無線通信の再送制御処理を行う。並べ替えバッファ１３０については後述する。【０１３６】
図２６は、図２５に示す基地局１０２のブロック図の第１例である。プロセッサ１２０が、プログラム記憶部１２２に格納された制御プログラム１２１を実行することによって、ユーザデータ送信部１３２、シーケンスデータ生成部１３３及びシーケンスデータ送信部１３５の機能が実現される。【０１３７】
ユーザデータ送信部１３２は、無線通信部１２４が移動局１０１から受信したユーザデータを、無線網制御装置１０３へ送信する処理を行う。ユーザデータ送信部１３２は、無線網制御装置１０３へ送信されるパケットを第２送信バッファ１２８へ入力し、通信部１２７は、第２送信バッファ１２８へ格納されたパケットを無線網制御装置１０３へ送信する。【０１３８】
シーケンスデータ生成部１３３は、移動局１０１から受信したユーザデータを入力し、これらユーザデータからシーケンス番号をそれぞれ取得し、これらシーケンス番号を含むシーケンスデータを生成する。シーケンスデータは、ユーザデータ送信部１３２により送信されるユーザデータを示し、上記の他の実施例における送信済みパケット指示情報の一例に相当する。【０１３９】
例えば、基地局１０２が、シーケンス番号ｎ１、ｎ２、ｎ３、ｎ４の順で、これらのシーケンス番号のユーザデータを受信したとき、シーケンスデータ生成部１３３は、受信順でこれらの番号を並べた列ｎ１、ｎ２、ｎ３、ｎ４をシーケンスデータとしてよい。【０１４０】
シーケンスデータ生成部１３３は、移動局１０１から受信した各ユーザデータから、埋め込まれていたシーケンス番号を取り出す。シーケンスデータ生成部１３３は、取り出したシーケンス番号をメモリ１２３に記憶する。シーケンスデータ生成部１３３は、各ユーザデータのシーケンス番号を取り出す都度、それまでにメモリ１２３に記憶されているシーケンス番号の列に追加していくことにより、ユーザデータの受信順に並べた一連のシーケンス番号の列を生成する。シーケンスデータ生成部１３３は、後述する送信タイミングにおいて、メモリ１２３に記憶されているシーケンス番号の列を読み出して、シーケンス番号の列を含むシーケンスデータをシーケンスデータ送信部１３５へ出力する。ここで、ユーザデータ送信部１３２は移動局１０１から受信した順序で無線網制御装置１０３へユーザデータを送信するため、シーケンスデータに含まれるシーケンス番号の順序は、基地局１０２から無線網制御装置１０３へのユーザデータの送信順序と同一である。【０１４１】
シーケンスデータ送信部１３５は、シーケンスデータ生成部１３３が生成したシーケンスデータを無線網制御装置１０３へ送信する処理を行う。シーケンスデータ送信部１３５は、シーケンスデータを第２送信バッファ１２８へ入力し、通信部１２７は、第２送信バッファ１２８へ格納されたシーケンスデータを無線網制御装置１０３へ送信する。【０１４２】
図２７は、図２３に示す無線網制御装置１０３のハードウエア構成図である。無線網制御装置１０３は、プロセッサ１４０と、制御プログラム１４１を記憶するプログラム記憶部１４２と、メモリ１４３と、第１通信部１４４と、第１受信バッファ１４５と、第１送信バッファ１４６を備える。また、無線網制御装置１０３は、第２通信部１４７と、第２送信バッファ１４８と、第２受信バッファ１４９と、並べ替えバッファ１５０を備える。【０１４３】
プロセッサ１４０は、ＣＰＵ等のデータプロセッサにより実現され、プログラム記憶部１４２に格納された制御プログラム１４１を実行することにより、無線網制御装置１０３の動作を制御する。メモリ１４３は、制御プログラム１４１等のプログラムの実行に必要なデータを記憶し、またこれらプログラムの実行の際に生成される一時的なデータを記憶する。【０１４４】
第１通信部１４４は、基地局１０２との間のデータの送受信を行う。例えば第１通信部１４４は、基地局１０２が送信したユーザデータを受信する。また、例えば第１通信部１４４は、基地局１０２が送信したシーケンスデータを受信する。第１受信バッファ１４５は、第１通信部１４４が基地局１０２から受信したデータを一時的に保持する。第１送信バッファ１４６は、無線網制御装置１０３から基地局１０２へ送信されるデータを第１通信部１４４が受け付けるまでの間一時的に保持する。【０１４５】
第２通信部１４７は、無線網制御装置１０３の上位装置であるｘＧＳＮ１０４との間のデータの送受信を行う。例えば第２通信部１４７は、移動局１０１から受信したユーザデータをｘＧＳＮ１０４へ送信する。第２受信バッファ１４９は、第２通信部１４７がｘＧＳＮ１０４から受信したデータを一時的に保持する。第２送信バッファ１４８は、無線網制御装置１０３からｘＧＳＮ１０４へ送信されるデータを第２通信部１４７が受け付けるまでの間一時的に保持する。【０１４６】
本実施例において、並べ替えバッファ１５０は、基地局１０２から受信されたユーザデータの並び替え処理の際に、必要に応じて、受信したユーザデータを第１受信バッファ１４５から退避するために使用されるバッファである。【０１４７】
図２８は、図２７に示す無線網制御装置１０３のブロック図である。プロセッサ１４０が、プログラム記憶部１４２に格納された制御プログラム１４１を実行することによって、ユーザデータ受信部１５１、シーケンスデータ受信部１５２、並べ替え処理部１５３、ユーザデータ送信部１５４の機能が実現される。【０１４８】
ユーザデータ受信部１５１は、第１通信部１４４により受信され第１受信バッファ１４５に格納されたユーザデータの受信処理を行う。シーケンスデータ受信部１５２は、第１通信部１４４により受信され第１受信バッファ１４５に格納されたシーケンスデータの受信処理を行う。【０１４９】
並べ替え処理部１５３は、基地局１０２から受信したユーザデータを、各ユーザデータのシーケンス番号の順序に並べ替える並べ替え処理を行う。並べ替え処理の際に、並べ替え処理部１５３は、必要に応じて第１受信バッファ１４５から読み出されたパケットを、並べ替えバッファ１５０に退避する。ユーザデータ送信部１５４は、並べ替え処理部１５３によって並べ替えた順序で、パケットをｘＧＳＮ１０４へ送信する処理を行う。ユーザデータ送信部１５４は、ｘＧＳＮ１０４へ送信されるパケットを第２送信バッファ１４８へ入力し、第２通信部１４７は、第２送信バッファ１４８へ格納されたパケットをｘＧＳＮ１０４へ送信する。【０１５０】
図２９は、並べ替えバッファ１５０を使用する並べ替え処理の説明図である。参照符号２００は、移動局１０１で動作するアプリケーションプログラム１１９により生成されたユーザデータを示している。各マス目はデータフレームに分解された各ユーザデータを示し、マス目に囲まれた数字「１」〜「５」はそれぞれのユーザデータのシーケンス番号を示す。【０１５１】
参照符号２０１及び２０２は、それぞれ移動局１０１から基地局１０２へ、及び基地局１０２から無線網制御装置１０３へ送信されるユーザデータを示す。より上方にあるユーザデータほど送信時期が早い。参照符号２１１に示すとおり、移動局１０１から基地局１０２への送信において、シーケンス番号「２」のユーザデータの初回のデータ送信が失敗し、シーケンス番号「２」は再送制御によりシーケンス番号「５」のユーザデータの後に再送されたと仮定する。【０１５２】
このとき基地局１０２は、参照符号２０２に示すとおり、シーケンス番号「１」、「３」、「４」、「５」、「２」の順で、無線網制御装置１０３へユーザデータを送信する。このため、無線網制御装置１０３の第１受信バッファ１４５は、受信順に、すなわちシーケンス番号「１」、「３」、「４」、「５」、「２」の順で、ユーザデータを格納する。【０１５３】
無線網制御装置１０３のプロセッサ１４０の処理が輻輳すると、ユーザデータが受信バッファ１４５に格納されても、受信してすぐにユーザデータの処理をプロセッサ１４０が開始できなくなる。図２９において無線網制御装置１０３の並べ替え処理部１５３は、シーケンス番号「２」〜「５」の後続のユーザデータの格納が完了してから、シーケンス番号「１」の処理を開始する。第１受信バッファ１４５、並べ替え処理部１５３及び並べ替えバッファ１５０に記載されたユーザデータの上下方向の位置関係は、それぞれの構成要素１４５、１５３及び１５０における処理タイミングを概略的に示す。【０１５４】
並べ替えバッファ１５０を使用する並べ替え処理の場合、並べ替え処理部１５３は、受信された順序で第１受信バッファ１４５からユーザデータを取り出す。このため、並べ替え処理部１５３は、シーケンス番号の順序と受信順序が一致しない場合には、より古いシーケンス番号のユーザデータよりも先に受信された後続のユーザデータを並べ替えバッファ１５０へ退避する。【０１５５】
すなわち、図２９に示す例では、古いシーケンス番号「２」のユーザデータよりも先に、シーケンス番号「３」〜「５」を有する後続のユーザデータが受信されている。このため並べ替え処理部１５３は、シーケンス番号「３」〜「５」のユーザデータを並べ替えバッファ１５０へ退避する。参照符号２０４は、シーケンス番号「３」〜「５」のユーザデータを含む、シーケンス番号「２」〜「５」のユーザデータが、並べ替えバッファ１５０へ退避された様子を示している。【０１５６】
第１受信バッファ１４５からシーケンス番号「２」のユーザデータを取り出し、並べ替えバッファ１５０へ退避した後、並べ替え処理部５２は、シーケンス番号の順序に従って、ユーザデータ送信部１５４に各ユーザデータを送信させる。第２送信バッファ１４８は、送信順序を待つユーザデータを格納する。参照符号２０５に示すように、第２送信バッファ１４８に格納されている各ユーザデータの順序は、シーケンス番号の順序に従っている。【０１５７】
シーケンス番号「２」のユーザデータを第１受信バッファ１４５に取り出すまで、並べ替え処理部５２は、シーケンス番号「３」〜「５」のユーザデータを並べ替えバッファ１５０への退避処理を行う。このため、参照符号２０５に示すように、シーケンス番号「２」〜「５」のユーザデータを送信する処理が遅れる。参照符号２０６に示すマス目は、無線網制御装置１０３からｘＧＳＮへ送信されるパケットのタイムチャートを意味している。シーケンス番号「２」〜「５」のユーザデータの送信処理の遅れのために、シーケンス番号「１」と「２」のユーザデータの間に、空のタイムスロット「ｅ」（参照符号２０７）が多く発生する。【０１５８】
シーケンス番号「２」のユーザデータを第１受信バッファ１４５に取り出した後、並べ替え処理部５２は、並べ替えバッファ１５０に退避しておいたパケットを一気にｘＧＳＮ１０４へ送信する。このため送信バーストが発生してｘＧＳＮ１０４への負担が発生する。この様子を参照符号２０８で示す。ｘＧＳＮ１０４がシェーピングによるガード手段を有している場合には、送信バーストがデータ欠落の原因となる。【０１５９】
図３０は、図２５に示す基地局１０２の動作フローチャートである。ステップＳ１１０において無線通信部１２４は、移動局１０１から送信されたユーザデータを受信し、第１受信バッファ１２５に格納する。ステップＳ１１１においてシーケンスデータ生成部１３３は、ステップＳ１１０で取得したユーザデータに埋め込まれているシーケンス番号を取得する。ステップＳ１３２においてユーザデータ送信部１３２は、ステップＳ１１０で取得したユーザデータを無線網制御装置１０３へ送信する。【０１６０】
ステップＳ１１３においてシーケンスデータ生成部１３３は、ステップＳ１１１で取得したシーケンス番号をメモリ１２３に記憶する。先行して受信したユーザデータのシーケンス番号が既にメモリ１２３に記憶されている場合には、シーケンスデータ生成部１３３は、既にメモリ１２３に記憶されているユーザデータの後へ、新たに記憶するシーケンス番号を追加する。【０１６１】
ステップＳ１１４においてシーケンスデータ生成部１３３は、ステップＳ１１１で取得したシーケンス番号が、期待シーケンス番号であるか否かを判定する。ここで、基地局１０２が無線網制御装置１０３へユーザデータを送信する処理において「期待シーケンス番号」とは、未送信のユーザデータのシーケンス番号のうち最も送信順序が早いシーケンス番号である。本実施例では、昇順で送信順序を定めているものとする。この場合「期待シーケンス番号」は、未送信パケットのうちシーケンス番号のうち最も小さいシーケンス番号である。【０１６２】
ステップＳ１１４の判定においてステップＳ１１１で取得したシーケンス番号が期待シーケンス番号でない場合には（ステップＳ１１４：Ｎ）、プロセッサ１２０は処理をステップＳ１１０に戻す。ステップＳ１１０〜Ｓ１１４の処理を繰り返すことにより、シーケンスデータ生成部１３３は、期待シーケンス番号以降のシーケンス番号を有する送信済みユーザデータの列をメモリ１３に蓄積する。【０１６３】
ステップＳ１１４の判定においてステップＳ１１１で取得したシーケンス番号が期待シーケンス番号である場合には（ステップＳ１１４：Ｙ）、ステップＳ１１５においてシーケンスデータ生成部１３３は、インデクス変数ｉの値を、（期待シーケンス番号＋１）に設定する。ステップＳ１１６及びＳ１１７においてシーケンスデータ生成部１３３は、メモリ１２３に記憶されていない最小の期待シーケンス番号を検索する。すなわちステップＳ１１６においてシーケンスデータ生成部１３３は、インデクス変数ｉの値と等しいシーケンス番号がメモリ１２３に記憶されているか否かを判定する。インデクス変数ｉの値と等しいシーケンス番号がメモリ１２３に記憶されている限り（ステップＳ１１６：Ｙ）、シーケンスデータ生成部１３３は、ステップＳ１１７にてインデクス変数ｉの値を１つ増加してステップＳ１１６及びＳ１１７を繰り返す。【０１６４】
メモリ１２３に記憶されていない最小の期待シーケンス番号が見つかったとき（ステップＳ１１６：Ｎ）、ステップＳ１１８においてシーケンスデータ生成部１３３は、期待シーケンス番号から（ｉ−１）までの連続するシーケンス番号を含むシーケンスデータを生成する。シーケンスデータのフォーマットは、図９を参照して説明したフォーマットと同様でよい。シーケンスデータ送信部１３５は、シーケンスデータを第２パケット送受信装置３へ送信する。【０１６５】
ステップＳ１１９においてシーケンスデータ生成部１３３は、メモリ１２３に記憶されている期待シーケンス番号から（ｉ−１）までの連続するシーケンス番号を消去する。ステップＳ１２０においてシーケンスデータ生成部１３３は、期待シーケンス番号の値をインデクス変数ｉの値に更新する。その後、プロセッサ１２０は処理をステップＳ１１０に戻す。【０１６６】
図３１は、図２３に示す通信システム１の動作の第１例の説明図である。参照符号２１０は、移動局１０１で動作するアプリケーションプログラム１１９により生成されたユーザデータを示している。各マス目はデータフレームに分解された各ユーザデータを示し、マス目に囲まれた数字「１」〜「５」はそれぞれのユーザデータのシーケンス番号を示す。【０１６７】
参照符号２１１は、移動局１０１から基地局１０２へ送信されるユーザデータを示す。より上方にあるデータほど送信時期が早い。参照符号２１２は、基地局１０２から無線網制御装置１０３へ送信されるユーザデータとシーケンスデータを示す。シーケンスデータは文字「Ｓ」を囲むマス目として示されている。【０１６８】
参照符号２１１に示すとおり、移動局１０１から基地局１０２への送信において、シーケンス番号「２」のユーザデータの初回のデータ送信が失敗し、シーケンス番号「２」は再送制御によりシーケンス番号「５」のユーザデータの後に再送されたと仮定する。この場合には、シーケンス番号「１」、「３」、「４」、「５」及び「２」の順序で、無線網制御装置１０３へ送信される（ステップＳ１１２）。【０１６９】
ステップＳ１１０〜Ｓ１１４のループにおいて、シーケンス番号２のユーザデータの受信の失敗により期待シーケンス番号の値は「２」となる。このため、基地局１０２がシーケンス番号２のユーザデータを取得するまで、シーケンス番号「３」、「４」及び「５」がメモリ１３に蓄積される。【０１７０】
基地局１０２がシーケンス番号２のユーザデータを受信すると（ステップＳ１１４：Ｙ）、シーケンスデータ生成部１３３は、シーケンス番号２〜５を含む送信済みシーケンスデータＳを生成する（ステップＳ１１８）。シーケンスデータＳは、基地局１０２から無線網制御装置１０３へのユーザデータの送信順序にしたがって並べたシーケンス番号２〜５を有していてよい。例えば本例では、シーケンスデータＳに格納されるシーケンス番号２〜５は、「３」、「４」、「５」、「２」の順序で配置されている。【０１７１】
シーケンスデータ送信部１３５は、シーケンス番号「２」のユーザデータの後に、シーケンスデータＳを送信する。参照符号２１２は、シーケンスデータＳがシーケンス番号「２」のユーザデータの後に、無線網制御装置１０３へ送信される様子を示す。【０１７２】
図３２は、図２７に示す無線網制御装置１０３による受信処理のフローチャートである。ステップＳ１３０において無線網制御装置１０３の第１通信部１４４は、基地局１０２から送信されたユーザデータ及び／又はシーケンスデータを受信する。ステップＳ１３１において第１通信部１４４は、ステップＳ１３０で受信したデータを、受信した順序で第１受信バッファ１４５に格納する。無線網制御装置１０３は、ステップＳ１３０及びＳ１３１を繰り返すことにより基地局１０２から受信したデータを、第１受信バッファ１４５に格納する。【０１７３】
図２８に示す並べ替え処理部１５３は、基地局１０２から受信して第１受信バッファ１４５に格納されたユーザデータを、各ユーザデータのシーケンス番号の順序で並べ替えてから、ｘＧＳＮ１０４へ転送する。【０１７４】
図３３及び図３４は、図２７に示す無線網制御装置１０３による並べ替え処理のフローチャートである。ステップＳ１４０において、並べ替え処理部１５３は、第１受信バッファ１４５に格納されているシーケンスデータがあるか否かを判定する。第１受信バッファ１４５に格納されているシーケンスデータがない場合（ステップＳ１４０：Ｎ）、並べ替え処理部１５３は、処理をステップＳ１４７へ移行する（参照符号Ａ）。第１受信バッファ１４５に格納されているシーケンスデータがある場合（ステップＳ１４０：Ｙ）、並べ替え処理部１５３は、処理をステップＳ１４１へ移行する。【０１７５】
ステップＳ１４１において並べ替え処理部１５３は、第１受信バッファ１４５からシーケンスデータを取り出す。ステップＳ１４２において並べ替え処理部１５３は、取り出されたシーケンスデータに、期待シーケンス番号が含まれるか否かを判定する。基地局１０２からユーザデータを受信する無線網制御装置１０３の処理において「期待シーケンス番号」とは、未送信のユーザデータのうち、シーケンス番号が最も小さく、かつ後続のユーザデータについても未だ並べ替え処理部１５３による並べ替え処理が行われていないユーザデータのシーケンス番号である。【０１７６】
シーケンスデータに期待シーケンス番号が含まれていない場合（ステップＳ１４２：Ｎ）、並べ替え処理部１５３は、処理をステップＳ１４７へ移行する（参照符号Ａ）。シーケンスデータに期待シーケンス番号が含まれている場合（ステップＳ１４２：Ｙ）、並べ替え処理部１５３は、処理をステップＳ１４３へ移行する。【０１７７】
ステップＳ１４３においてユーザデータ受信部１５１は、期待シーケンス番号のユーザデータを第１受信バッファ１４５から取り出す。ステップＳ１４４においてユーザデータ送信部１５４は、ステップＳ１４３にて取り出されたユーザデータをｘＧＳＮ１０４へ送信する。ステップＳ１４５において並べ替え処理部１５３は、期待シーケンス番号を１つ増加することにより、期待シーケンス番号を更新する。【０１７８】
ステップＳ１４６において並べ替え処理部１５３は、シーケンスデータに、更新された期待シーケンス番号が含まれるか否かを判定する。シーケンスデータに期待シーケンス番号が含まれている場合（ステップＳ１４６：Ｙ）、並べ替え処理部１５３は処理をステップＳ１４３へ戻す。【０１７９】
このため、ステップＳ１４５によって１つずつ増加する期待シーケンス番号が、ステップＳ１４１で取り出されたシーケンスデータに含まれている限り、プロセッサ１４０はステップＳ１４３〜Ｓ１４６を繰り返し実行する。この結果、プロセッサ１４０は、シーケンス番号の順序に従って、第１受信バッファ１４５から連続するシーケンス番号のユーザデータを取り出して、ｘＧＳＮ１０４へ送信することができる。すなわち、シーケンス番号の順序に従って第１受信バッファ１４５からシーケンスデータを取り出すことにより、並べ替え処理部１５３は、並べ替えバッファを使用することなく並べ替え処理を行うことができる。【０１８０】
シーケンスデータに期待シーケンス番号が含まれていない場合（ステップＳ１４６：Ｎ）、プロセッサ１４０は処理をステップＳ１４０へ戻す。【０１８１】
ステップＳ１４７において並べ替え処理部１５３は、第１受信バッファ１４５に受信済みユーザデータが格納されているか否かを判定する。受信済みユーザデータがある場合（ステップＳ１４７：Ｙ）には並べ替え処理部１５３は処理をステップＳ１４８へ移行する。受信済みユーザデータがない場合（ステップＳ１４７：Ｎ）には並べ替え処理部１５３は処理をステップＳ１５４へ移行する。【０１８２】
ステップＳ１４８において並べ替え処理部１５３は、ユーザデータ受信部１５１により第１受信バッファ１４５から取り出したユーザデータを、並べ替えバッファ１５０へコピーすることにより、第１受信バッファ１４５のユーザデータを並べ替えバッファ１５０へ退避する。既に並べ替えバッファ１５０にユーザデータが記憶されている場合には、並べ替え処理部１５３は、既に記憶されているユーザデータに加えて、新たに記憶するユーザデータを格納する。【０１８３】
ステップＳ１４９において並べ替え処理部１５３は、ステップＳ１４８で並べ替えバッファ１５０へ退避したユーザデータのシーケンス番号が、期待シーケンス番号と同じであるか否かを判定する。退避したユーザデータのシーケンス番号が期待シーケンス番号である場合（ステップＳ１４９：Ｙ）には並べ替え処理部１５３は処理をステップＳ１５０へ移行する。【０１８４】
ステップＳ１５０において並べ替え処理部１５３は、並べ替えバッファ１５０へ格納されているユーザデータのうち、期待シーケンス番号のユーザデータを含んだ１つ以上の連続するユーザデータをｘＧＳＮ１０４へ送信する。ステップＳ１５１において並べ替え処理部１５３は、期待シーケンス番号の値を、（Ｓ１５０で送信したユーザデータのシーケンス番号の最大値＋１）へ更新する。【０１８５】
ステップＳ１４９の判定にて、退避したユーザデータのシーケンス番号が期待シーケンス番号でない場合（ステップＳ１４９：Ｎ）には並べ替え処理部１５３は処理をステップＳ１５２へ移行する。ステップＳ１５２において並べ替え処理部１５３は、並べ替えタイマが起動中か否かを判定する。並べ替えタイマは、例えばプロセッサ１４０の処理によって実現されるソフトウエアタイマであってよい。並べ替えタイマによる時間測定は、期待シーケンス番号でないシーケンス番号のユーザデータを空の並べ替えバッファ１５０に退避した時点で開始する。並べ替えタイマは、並べ替えバッファ１５０にユーザデータが退避して所定時間以上経過したときに、並べ替えバッファ１５０に留まっているユーザデータをｘＧＳＮ１０４へ送信するために使用されるタイマである。【０１８６】
ステップＳ１５２の判定にて、並べ替えタイマが起動していない場合（ステップＳ１５２：Ｎ）には、並べ替え処理部１５３は処理をステップＳ１５３へ移行する。ステップＳ１５３にて並べ替え処理部１５３は、並べ替えタイマを起動し、並べ替えタイマによる時間計測を開始する。その後、並べ替え処理部１５３は処理をステップＳ１５４へ移行する。ステップＳ１５２の判定にて、並べ替えタイマが既に起動している場合（ステップＳ１５２：Ｙ）には、並べ替え処理部１５３は処理をステップＳ１５４へ移行する。【０１８７】
ステップＳ１５４において並べ替え処理部１５３は、並べ替えタイマが起動中か否かを判定する。並べ替えタイマが起動中でない場合（ステップＳ１５４：Ｎ）、プロセッサ１４０は処理をステップＳ１４０へ戻す（参照符号Ｂ）。並べ替えタイマが起動中である場合（ステップＳ１５４：Ｙ）、並べ替え処理部１５３は処理をステップＳ１５５へ移行する。【０１８８】
ステップＳ１５５において並べ替え処理部１５３は、並べ替えタイマにより計測された時間が所定時間を超えたか否か、すなわち並べ替えタイマによる計時がタイムアウトとなったか否かを判定する。並べ替えタイマによる計時がタイムアウトとなったとき（ステップＳ１５５：Ｙ）、並べ替え処理部１５３は処理をステップＳ１５６へ移行する。【０１８９】
ステップＳ１５６において並べ替え処理部１５３は、並べ替えバッファ１５０へ格納されている全てのユーザデータをｘＧＳＮ１０４へ送信する。ステップＳ１５７において並べ替え処理部１５３は、期待シーケンス番号の値を、（Ｓ１５６で送信したユーザデータのシーケンス番号の最大値＋１）へ更新する。ステップＳ１５８において並べ替え処理部１５３は、並べ替えタイマを停止する。その後、プロセッサ１４０は処理をステップＳ１４０へ戻す（参照符号Ｂ）。【０１９０】
ステップＳ１５５における判定において並べ替えタイマによる計時がタイムアウトとなっていないとき（ステップＳ１５５：Ｎ）、並べ替え処理部１５３は処理をステップＳ１５９へ移行する。ステップＳ１５９において並べ替え処理部１５３は、並べ替えタイマの計測値を所定の時間ステップ分だけ増加して、計測値を更新する。その後、プロセッサ１４０は処理をステップＳ３０へ戻す（参照符号Ｂ）。【０１９１】
再び図３１を参照して、無線網制御装置１０３による受信処理を説明する。上述の通り、基地局１０２は、シーケンス番号「１」、「３」、「４」、「５」、「２」の順序でユーザデータを送信した後、シーケンス番号２〜５を含むシーケンスデータＳを送信する。無線網制御装置１０３の第１受信バッファ１４５には、受信順、すなわち、シーケンス番号「１」、「３」、「４」、「５」、「２」の順序で並んだユーザデータが格納され、その後にシーケンスデータＳが格納される。なお、シーケンスデータＳに格納されるシーケンス番号２〜５は、「３」、「４」、「５」、「２」の順序で配置されている。【０１９２】
図３１は、例えば無線網制御装置１０３の処理が輻輳し、第１受信バッファ１４５にユーザデータが格納されても、すぐにプロセッサ１４０がこのユーザデータの処理を開始できない状態を示す。このような場合、あるユーザデータの送信順序が後続のユーザデータの送信順序より遅くなったとしても、このユーザデータの処理の順番が到来する前に、このユーザデータの受信が完了することが考えられる。例えば図３１において無線網制御装置１０３の並べ替え処理部１５３は、シーケンス番号「２」〜「５」の後続するユーザデータとシーケンスデータＳを受信してから、シーケンス番号「１」の処理を開始する。【０１９３】
また図３１は、並べ替えバッファ１５０が空である状態を示している。このような状態は、図３４に示すステップＳ１４７以降へ処理が移行せずに並べ替えバッファ１５０にユーザデータが退避しない場合に生じる。このとき、第１受信バッファ１４５から取り出されるユーザデータのシーケンス番号は期待シーケンス番号と一致しており、並べ替え処理部１５３は図３３に示すステップＳ１４０〜Ｓ１４６を繰り返している。したがって、シーケンス番号「１」のユーザデータの後に、並べ替え処理部１５３が、シーケンスデータＳを第１受信バッファ１４５から取り出した時点では、期待シーケンス番号は「２」である。【０１９４】
並べ替え処理部１５３は、シーケンスデータＳにより（図３３のステップＳ１４１）、期待シーケンス番号「２」、及びそれに続く連続するシーケンス番号「３」〜「５」のユーザデータが、第１受信バッファ１４５に格納されていることを知ることができる。このためステップＳ１４３〜Ｓ１４６において並べ替え処理部１５３は、連続するシーケンス番号「２」〜「５」のユーザデータを、シーケンス番号の順序に従って第１受信バッファ１４５から取り出すことができる。【０１９５】
並べ替え処理部１５３は、第１受信バッファ１４５から取り出した順序にしたがって、ユーザデータ送信部１５４にユーザデータを送信させる。第２送信バッファ１４８は、送信順序を待つユーザデータを格納する。参照符号２１４に示すように、第２送信バッファ４８に格納されている各ユーザデータの順序は、シーケンス番号の順序に従っている。ここで参照符号２１４に示すマス目は第２送信バッファ１４８内の格納位置を示している。図中において上位にあるマス目に格納されているデータほど送信順序が早い。また参照符号２１５に示すマス目は、無線網制御装置１０３からｘＧＳＮ１０４へ送信されるユーザデータのタイムチャートを意味している。図中において右側にあるマス目に格納されているデータほど送信順序が早い。【０１９６】
ステップＳ１４３〜Ｓ１４６において並べ替え処理部１５３は、並べ替えバッファ１５０にユーザデータを退避させずにユーザデータの並べ替え処理を行う。このとき並べ替え処理部１５３は、シーケンス番号の順序に従って第１受信バッファ１４５からユーザデータを読み出すことができる。すなわち、より古いシーケンス番号のユーザデータがより若いシーケンス番号のユーザデータよりも後に受信されても、より古いシーケンス番号のユーザデータから先に第１受信バッファ１４５から読み出して送信することができる。【０１９７】
ステップＳ１４３〜Ｓ１４６において行われる並べ替え処理は、並べ替えバッファ１５０へのユーザデータの退避処理をしないため、図２９を参照して説明した並べ替えバッファ１５０を使用する並べ替え処理における送信処理の遅れを防止することができる。図３１の参照符号２１７は、シーケンス番号「２」〜「５」のユーザデータの送信処理の遅れが低減した結果、図２９で示したタイムチャート２０６と比べて、利用可能なタイムスロット「ａ」が増加したことを示している。【０１９８】
また、図２９を参照して説明した並べ替えバッファ１５０を使用する並べ替え処理の場合には、ユーザデータをｘＧＳＮ１０４へ送信する際にバーストが生じていた。一方で並べ替え処理部１５３は、ステップＳ１４３〜Ｓ１４６において第１受信バッファ１４５からのユーザデータの読み出し処理とユーザデータの送信処理とを交互に行う。このような読み出しと送信とを交互に行う処理は、並べ替え処理が生じない場合の処理と同様であるため、並べ替え処理が生じない場合と比べて各ユーザデータの送信間隔が大きく相違しない。したがって、ステップＳ１４３〜Ｓ１４６において行われる並べ替え処理は、並べ替えバッファ１５０を使用する並べ替え処理において発生していた送信バーストを防止することができる。図３１の参照符号２１６は、シーケンス番号「１」〜「５」のユーザデータの送信間隔が保たれ、送信バーストが防止されている様子を示している。【０１９９】
なお、シーケンスデータ内のシーケンス番号がユーザデータの送信順序で配列されていれば、並べ替え処理部１５３は、シーケンスデータにより第１受信バッファ１４５における各ユーザデータの格納順序を決定することができる。この場合、並べ替え処理部１５３は、各ユーザデータに埋め込まれたシーケンス番号を参照せずに、所望のシーケンス番号のユーザデータを第１受信バッファ１４５から取り出すことができる。【０２００】
並べ替えバッファを使用する並べ替え処理は、ユーザデータが受信バッファに格納された後に、格納されたユーザデータを並べ替えバッファへコピーするために、無線網制御装置１０３のプロセッサの処理が増大する。このために、ユーザデータの処理遅延や、無線網制御装置１０３のプロセッサの過負荷によるデータ送信機能の障害の原因になる恐れがある。【０２０１】
本実施例の通信システム１００によれば、無線網制御装置１０３の処理が遅れ、第１受信バッファ１４５に大量のユーザデータが蓄積されている場合には、これらのユーザデータに併せてシーケンスデータも第１受信バッファ１４５に蓄積される。したがって、無線網制御装置１０３は、シーケンスデータを参照して、第１受信バッファ１４５からユーザデータを取り出すときに並べ替え処理を行うことができる。並べ替えバッファの使用によるプロセッサ１４０の過負荷を防止することができるため、ユーザデータの処理遅延やデータ送信機能の障害といった上記問題を解決できる。【０２０２】
また本実施例の通信システム１００によれば、無線網制御装置１０３から送信されるデータのバーストを防止することができる。このため本実施例は、通信バーストに起因する通信システム１００の機能障害の誘発や、シェーピングによるユーザデータの欠落といった問題を解消することができる。【０２０３】
なお、図３に示す第１パケット送受信装置２が、周期的に送信済みパケット指示情報を送信するのと同様に、基地局１０２は周期的にシーケンスデータを送信してもよい。本実施例によれば、基地局１０２は、周期的にシーケンス番号を集計するという比較的簡単な処理でシーケンスデータを作成できるため、基地局１０２に大きな負荷をかけずに本実施例を実現できる。【０２０４】
また、図３に示す第２パケット送受信装置３が、図１６に示す送信済みパケット指示情報要求信号送信部５４を備えるのと同様に、無線網制御装置１０３は、シーケンスデータ要求信号送信部を備えていてもよい。そして、送信済みパケット指示情報要求信号送信部５４が第１パケット送受信装置２に送信済みパケット指示情報の送信を要求するのと同様に、シーケンスデータ要求信号送信部は、基地局１０２にシーケンスデータの送信を要求してもよい。【０２０５】
図３に示す第１パケット送受信装置２が、図１５に示す送信済みパケット指示情報要求信号受信２４を備えるのと同様に、基地局１０２は、シーケンスデータ要求信号受信部を備えていてもよい。そして、送信済みパケット指示情報要求信号受信部２４が送信済みパケット指示情報要求信号を受信するのと同様に、シーケンスデータ要求信号受信部は、シーケンスデータ要求信号を受信してよい。第１パケット送受信装置２の送信済みパケット指示情報生成部２１及び送信済みパケット指示情報送信部２３は、送信済みパケット指示情報要求信号が受信されたときに、送信済みパケット指示情報を作成及び送信する。これと同様に、基地局１０２のシーケンスデータ作成部１３３とシーケンスデータ送信部１３５は、シーケンスデータ要求信号を受信したときにシーケンスデータの作成及び送信をしてもよい。本実施例によれば、無線網制御装置１０３の需要に応じてシーケンスデータを送信することができるので、効率的にシーケンスデータを生成及び送信することが可能となる。【０２０６】
図３に示す第１パケット送受信装置２が、図１８に示す欠落パケット検出部２５を備えるのと同様に、基地局１０２は、欠落ユーザを検出する欠落データ検出部を備えてもよい。ここで「欠落データ」とは、シーケンス番号の順序通りに基地局１０２から無線網制御装置１０３へユーザデータが送信されなかった場合において、後続ユーザデータよりも後に送信されたユーザデータのことをいう。また、図３に示す第１パケット送受信装置２が、図１８に示す送信可否判定部２６を備えるのと同様に、基地局１０２は、欠落データが検出された後に、上記所定の条件が満たされるか否かを判定する送信可否判定部を備えてよい。送信可否判定部が所定の条件が満たされると判定したとき、基地局１０２のシーケンスデータ作成部１３３とシーケンスデータ送信部１３５は、シーケンスデータの生成及び送信を行ってよい。本実施例によれば、欠落データが発生したときに、欠落データを送信できたか否かの判定を行わずに送信済みパケット指示情報を送信することができる。このため、基地局１０２に大きな負荷をかけずに本実施例を実現できる。【０２０７】
以下、図３に示す第１パケット送受信装置２を移動局１０１に適用し、第２パケット送受信装置３を基地局１０２に適用し、第３パケット送受信装置４を無線網制御装置１０３に適用する実施例を説明する。図３５は、図２４に示す移動局１０１のブロック図である。【０２０８】
図２４に示すプロセッサ１１０が、プログラム記憶部１１２に格納された制御プログラム１１１を実行することによって、ユーザデータ送信部１６０、ＡＣＫ取得部１６１、シーケンス番号取得部１６２、シーケンスデータ作成部１６３、シーケンスデータ送信部１６５の機能が実現される。【０２０９】
ユーザデータ送信部１６０は、アプリケーションプログラム１１９の実行により発生したユーザデータを、基地局１０２へ送信する処理を行う。ユーザデータ送信部１６０は、基地局１０２へ送信されるユーザデータを送信バッファ１１６へ入力し、無線通信部１１５は、送信バッファ１１６へ格納されたパケットを基地局１０２へ送信する。【０２１０】
ＡＣＫ取得部１６１は、再送制御部１１８により実施された再送制御によって各ユーザデータについて基地局１０２から受信されたアクノリッジ信号を取得する。シーケンス番号取得部１６２は、各ユーザデータについてＡＣＫ取得部１６２が取得したアクノリッジ信号から、そのユーザデータのシーケンス番号を取得する。【０２１１】
シーケンスデータ生成部１６３は、ユーザデータ送信部１６０による送信が成功したユーザデータのシーケンス番号をシーケンス番号取得部１６２から入力し、これらシーケンス番号を含むシーケンスデータを生成する。シーケンスデータは、ユーザデータ送信部１６０により送信されたユーザデータを示し、上記の他の実施例における送信済みパケット指示情報の一例に相当する。例えば、移動局１０１が、シーケンス番号ｎ１、ｎ２、ｎ３、ｎ４の順で、これらのシーケンス番号のユーザデータを送信したとき、シーケンスデータ生成部１６３は、送信順でこれらの番号を並べた列ｎ１、ｎ２、ｎ３、ｎ４をシーケンスデータとしてよい。【０２１２】
シーケンスデータ生成部１６３は、シーケンス番号取得部１６２からシーケンス番号を入力する。シーケンスデータ生成部１６３は、入力したシーケンス番号をメモリ１１３に記憶する。シーケンスデータ生成部１６３は、各シーケンス番号を入力する都度、それまでにメモリ１１３に記憶されているシーケンス番号の列に追加していくことにより、ユーザデータの送信順に並べた一連のシーケンス番号の列を生成する。シーケンスデータ生成部１６３は、後述する送信タイミングにおいて、メモリ１１３に記憶されているシーケンス番号の列を読み出して、シーケンス番号の列を含むシーケンスデータをシーケンスデータ送信部１６５へ出力する。【０２１３】
シーケンスデータ送信部１６５は、シーケンスデータ生成部１６３が生成したシーケンスデータを基地局１０２へ送信する処理を行う。シーケンスデータ送信部１６５は、シーケンスデータを送信バッファ１１６へ入力し、無線通信部１１５は、送信バッファ１１６へ格納されたシーケンスデータを基地局１０２へ送信する。【０２１４】
図３６は、図２５に示す基地局１０２のブロック図の第２例である。図２５に示すプロセッサ１２０が、プログラム記憶部１２２に格納された制御プログラム１２１を実行することによって、ユーザデータ受信部１７１、シーケンスデータ受信部１７２、並べ替え処理部１７３、ユーザデータ送信部１７４の機能が実現される。なお、本実施例において、図２５に示す並べ替えバッファ１３０は、移動局１０１から受信されたユーザデータの並び替え処理の際に、必要に応じて、受信したユーザデータを第１受信バッファ１２５から退避するために使用されるバッファである。【０２１５】
図３７は、図２４に示す移動局１０１の動作フローチャートである。ステップＳ１６０においてユーザデータ送信部１６０は、アプリケーションプログラム１１９の実行により発生したユーザデータを取得する。ステップＳ１６１においてユーザデータ送信部１６０は、ステップＳ１６０で取得したユーザデータを基地局１０２へ送信する。ステップＳ１６２において無線通信部１１５は、ステップＳ１６１で送信したユーザデータについて、基地局１０２からアクノリッジ信号（ＡＣＫ）又は否定応答信号（ＮＡＣＫ）を受信する。【０２１６】
ステップＳ１６３においてプロセッサ１１０は、無線通信部１１５がアクノリッジ信号を受信したか否かを判定する。無線通信部１１５が否定応答信号を受信したとき（Ｓ１６３：Ｎ）、プロセッサ１１０は処理をステップＳ１６１に戻しユーザデータを再送する。ステップＳ１６３の判定において無線通信部１１５がアクノリッジ信号を受信したとき（Ｓ１６３：Ｙ）、プロセッサ１１０は処理をステップＳ１６４へ移す。【０２１７】
ステップＳ１６４において、ＡＣＫ取得部１６１は、受信バッファ１１７からアクノリッジ信号を取得する。そしてシーケンス番号取得部１６２は、取得されたアクノリッジ信号から、アクノリッジ信号が返されたユーザデータのシーケンス番号を取り出す。シーケンスデータ生成部１６３は、取り出されたシーケンス番号をシーケンス番号取得部１６２から入力する。【０２１８】
ステップＳ１６５においてシーケンスデータ生成部１６３は、ステップＳ１６４で取得したシーケンス番号をメモリ１１３に記憶する。先行して受信したユーザデータのシーケンス番号が既にメモリ１１３に記憶されている場合には、ユーザデータ生成部１６３は、既にメモリ１１３に記憶されているユーザデータの後へ、新たに記憶するシーケンス番号を追加する。【０２１９】
ステップＳ１６６においてシーケンスデータ生成部１６３は、ステップＳ１６４で取得したシーケンス番号が、期待シーケンス番号であるか否かを判定する。ここで、移動局１０１が基地局１０２へユーザデータを送信する処理において「期待シーケンス番号」とは、未送信のユーザデータのシーケンス番号のうち最も送信順序が早いシーケンス番号である。本実施例では、昇順で送信順序を定めているものとする。この場合「期待シーケンス番号」は、未送信パケットのうちシーケンス番号のうち最も小さいシーケンス番号である。【０２２０】
ステップＳ１６４で取得したシーケンス番号が期待シーケンス番号でない場合には（ステップＳ１６６：Ｎ）、プロセッサ１１０は処理をステップＳ１６０に戻す。【０２２１】
ステップＳ１６４で取得したシーケンス番号が期待シーケンス番号である場合には（ステップＳ１６６：Ｙ）、ステップＳ１６７においてシーケンスデータ生成部１６３は、インデクス変数ｉの値を、（期待シーケンス番号＋１）に設定する。【０２２２】
ステップＳ１６８及びＳ１６９においてシーケンスデータ生成部１６３は、メモリ１１３に記憶されていない最小の期待シーケンス番号を検索する。すなわちステップＳ１６８においてシーケンスデータ生成部１６３は、インデクス変数ｉの値と等しいシーケンス番号がメモリ１１３に記憶されているか否かを判定する。インデクス変数ｉの値と等しいシーケンス番号がメモリ１１３に記憶されている限り（ステップＳ１６８：Ｙ）、シーケンスデータ生成部１６３は、ステップＳ１６９にてインデクス変数ｉの値を１つ増加してステップＳ１６８及びＳ１６９を繰り返す。【０２２３】
メモリ１１３に記憶されていない最小の期待シーケンス番号が見つかったとき（ステップＳ１６８：Ｎ）、ステップＳ１７０においてシーケンスデータ生成部１６３は、期待シーケンス番号から（ｉ−１）までの連続するシーケンス番号を含むシーケンスデータを生成する。シーケンスデータ送信部１６５は、シーケンスデータを基地局１０２へ送信する。【０２２４】
ステップＳ１７１においてシーケンスデータ生成部１６３は、メモリ１１３に記憶されている期待シーケンス番号から（ｉ−１）までの連続するシーケンス番号を消去する。ステップＳ１７２においてシーケンスデータ生成部１６３は、期待シーケンス番号の値をインデクス変数ｉの値に更新する。その後、プロセッサ１１０は処理をステップＳ１６０に戻す。【０２２５】
図３８は、図２３に示す通信システム１の動作の第２例の説明図である。参照符号２２０は、アプリケーションプログラム１１９により生成されたユーザデータを示している。各マス目はデータフレームに分解された各ユーザデータを示し、マス目に囲まれた数字「１」〜「５」はそれぞれのユーザデータのシーケンス番号を示す。【０２２６】
参照符号２２１は、移動局１０１から基地局１０２へ送信されるユーザデータを示し、
マス目に囲まれた数字「１」〜「５」はそれぞれのユーザデータのシーケンス番号を示す。より右側にあるデータほど送信時期が早い。【０２２７】
参照符号２２２は、参照符号２２１に示す送信ユーザデータに対して基地局１０２から移動局１０１へ送信されるＡＣＫ信号を示している。マス目に囲まれた数字「１」〜「５」は、基地局１０２へ無事受信されたユーザデータのシーケンス番号を示す。より左側にあるデータほど送信時期が早い。【０２２８】
移動局１０１から基地局１０２への送信において、シーケンス番号「２」のユーザデータの初回のデータ送信が失敗し、シーケンス番号「２」は再送制御によりシーケンス番号「５」のユーザデータの後に再送された場合を想定する。この場合には、シーケンス番号「１」、「３」、「４」、「５」及び「２」の順序で、無線網制御装置１０３へ送信される（ステップＳ１６１）。【０２２９】
ステップＳ１６０〜Ｓ１６６のループにおいて、シーケンス番号２のユーザデータの送信の失敗により期待シーケンス番号の値は「２」となる。このため、移動局１０１が、シーケンス番号２のユーザデータについてＡＣＫ信号を受信するまで、シーケンス番号「３」、「４」及び「５」がメモリ１１３に蓄積される。参照符号２２３は、シーケンス番号がメモリ１１３に蓄積される様子を示している。【０２３０】
移動局１０２がシーケンス番号２のユーザデータについてＡＣＫ信号を受信すると（ステップＳ１６６：Ｙ）、シーケンスデータ生成部１６３は、シーケンス番号２〜５を含む送信済みシーケンスデータＳを生成する（ステップＳ１７０）。シーケンスデータＳは、移動局１０１から基地局１０２へのユーザデータの送信順序にしたがって並べたシーケンス番号２〜５を有していてよい。例えば本例では、シーケンスデータＳに格納されるシーケンス番号２〜５は、「３」、「４」、「５」、「２」の順序で配置されている。【０２３１】
シーケンスデータ送信部１６５は、シーケンス番号「２」のユーザデータの後に、シーケンスデータＳを送信する。参照符号２２３は、シーケンスデータＳがシーケンス番号「２」のユーザデータの後に、無線網制御装置１０３へ送信される様子を示す。【０２３２】
図３９は、図２５に示す基地局１０２による受信処理のフローチャートである。ステップＳ１８０において基地局１０２の無線通信部１２４は、移動局１０１から送信されたユーザデータ及び／又はシーケンスデータを受信する。ステップＳ１８１において無線通信部１２４は、ステップＳ１８０で受信したデータを、受信した順序で第１受信バッファ１２５に格納する。基地局１０２は、ステップＳ１８０及びＳ１８１を繰り返すことにより移動局１０１から受信したデータを、第１受信バッファ１２５に格納する。【０２３３】
図３６に示す並べ替え処理部１７３は、移動局１０１から受信して第１受信バッファ１２５に格納されたユーザデータを、各ユーザデータのシーケンス番号の順序で並べ替えてから、無線網制御装置１０３へ転送する。【０２３４】
図４０及び図４１は、図２５に示す基地局１０２による並べ替え処理のフローチャートである。ステップＳ１９０において、並べ替え処理部１７３は、第１受信バッファ１２５に格納されているシーケンスデータがあるか否かを判定する。第１受信バッファ１２５に格納されているシーケンスデータがない場合（ステップＳ１９０：Ｎ）、並べ替え処理部１７３は、処理をステップＳ１９７へ移行する（参照符号Ａ）。第１受信バッファ１２５に格納されているシーケンスデータがある場合（ステップＳ１９０：Ｙ）、並べ替え処理部１７３は、処理をステップＳ１９１へ移行する。【０２３５】
ステップＳ１９１において並べ替え処理部１７３は、第１受信バッファ１２５からシーケンスデータを取り出す。ステップＳ１９２において並べ替え処理部１７３は、取り出されたシーケンスデータに、期待シーケンス番号が含まれるか否かを判定する。移動局１０１からユーザデータを受信する基地局１０２の処理において「期待シーケンス番号」とは、未送信のユーザデータのうち、シーケンス番号が最も小さく、かつ後続のユーザデータについても未だ並べ替え処理部１７３による並べ替え処理が行われていないユーザデータのシーケンス番号である。【０２３６】
シーケンスデータに期待シーケンス番号が含まれていない場合（ステップＳ１９２：Ｎ）、並べ替え処理部１７３は、処理をステップＳ１９７へ移行する（参照符号Ａ）。シーケンスデータに期待シーケンス番号が含まれている場合（ステップＳ１９２：Ｙ）、並べ替え処理部１７３は、処理をステップＳ１９３へ移行する。【０２３７】
ステップＳ１９３においてユーザデータ受信部１７１は、期待シーケンス番号のユーザデータを第１受信バッファ１２５から取り出す。ステップＳ１９４においてユーザデータ送信部１７４は、ステップＳ１９３にて取り出されたユーザデータを無線網制御装置１０３へ送信する。ステップＳ１９５において並べ替え処理部１７３は、期待シーケンス番号を１つ増加することにより、期待シーケンス番号を更新する。【０２３８】
ステップＳ１９６において並べ替え処理部１７３は、シーケンスデータに、更新された期待シーケンス番号が含まれるか否かを判定する。シーケンスデータに期待シーケンス番号が含まれている場合（ステップＳ１９６：Ｙ）、並べ替え処理部１７３は処理をステップＳ１９３へ戻す。【０２３９】
このため、ステップＳ１４５によって１つずつ増加する期待シーケンス番号が、ステップＳ１９１で取り出されたシーケンスデータに含まれている限り、プロセッサ１２０はステップＳ１９３〜Ｓ１９６を繰り返し実行する。この結果、プロセッサ１２０は、シーケンス番号の順序に従って、第１受信バッファ１２５から連続するシーケンス番号のユーザデータを取り出して、無線網制御装置１０３へ送信することができる。すなわち、シーケンス番号の順序に従って第１受信バッファ１２５からシーケンスデータを取り出すことにより、並べ替え処理部１７３は、並べ替えバッファを使用することなく並べ替え処理を行うことができる。【０２４０】
シーケンスデータに期待シーケンス番号が含まれていない場合（ステップＳ１９６：Ｎ）、プロセッサ１２０は処理をステップＳ１９０へ戻す。【０２４１】
ステップＳ１９７において並べ替え処理部１７３は、第１受信バッファ１２５に受信済みユーザデータが格納されているか否かを判定する。受信済みユーザデータがある場合（ステップＳ１９７：Ｙ）には並べ替え処理部１７３は処理をステップＳ１９８へ移行する。受信済みユーザデータがない場合（ステップＳ１９７：Ｎ）には並べ替え処理部１７３は処理をステップＳ２０４へ移行する。【０２４２】
ステップＳ１９８において並べ替え処理部１７３は、ユーザデータ受信部１７１により第１受信バッファ１２５から取り出したユーザデータを、並べ替えバッファ１３０へコピーすることにより、第１受信バッファ１２５のユーザデータを並べ替えバッファ１３０へ退避する。既に並べ替えバッファ１３０にユーザデータが記憶されている場合には、並べ替え処理部１７３は、既に記憶されているユーザデータに加えて、新たに記憶するユーザデータを格納する。【０２４３】
ステップＳ１９９において並べ替え処理部１７３は、ステップＳ１９８で並べ替えバッファ１３０へ退避したユーザデータのシーケンス番号が、期待シーケンス番号と同じであるか否かを判定する。退避したユーザデータのシーケンス番号が期待シーケンス番号である場合（ステップＳ１９９：Ｙ）には並べ替え処理部１７３は処理をステップＳ２００へ移行する。【０２４４】
ステップＳ２００において並べ替え処理部１７３は、並べ替えバッファ１３０へ格納されているユーザデータのうち、期待シーケンス番号のユーザデータを含んだ１つ以上の連続するユーザデータを無線網制御装置１０３へ送信する。ステップＳ２０１において並べ替え処理部１７３は、期待シーケンス番号の値を、（Ｓ２００で送信したユーザデータのシーケンス番号の最大値＋１）へ更新する。【０２４５】
ステップＳ１９９の判定にて、退避したユーザデータのシーケンス番号が期待シーケンス番号でない場合（ステップＳ１９９：Ｎ）には並べ替え処理部１７３は処理をステップＳ２０２へ移行する。ステップＳ２０２において並べ替え処理部１７３は、並べ替えタイマが起動中か否かを判定する。並べ替えタイマは、例えばプロセッサ１２０の処理によって実現されるソフトウエアタイマであってよい。並べ替えタイマによる時間測定は、期待シーケンス番号でないシーケンス番号のユーザデータを空の並べ替えバッファ１３０に退避した時点で開始する。並べ替えタイマは、並べ替えバッファ１３０にユーザデータが退避して所定時間以上経過したときに、並べ替えバッファ１３０に留まっているユーザデータを無線網制御装置１０３へ送信するために使用されるタイマである。【０２４６】
ステップＳ２０２の判定にて、並べ替えタイマが起動していない場合（ステップＳ２０２：Ｎ）には、並べ替え処理部１７３は処理をステップＳ２０３へ移行する。ステップＳ２０３にて並べ替え処理部１７３は、並べ替えタイマを起動し、並べ替えタイマによる時間計測を開始する。その後、並べ替え処理部１７３は処理をステップＳ２０４へ移行する。ステップＳ２０２の判定にて、並べ替えタイマが既に起動している場合（ステップＳ２０２：Ｙ）には、並べ替え処理部１７３は処理をステップＳ２０４へ移行する。【０２４７】
ステップＳ２０４において並べ替え処理部１７３は、並べ替えタイマが起動中か否かを判定する。並べ替えタイマが起動中でない場合（ステップＳ２０４：Ｎ）、プロセッサ１２０は処理をステップＳ１９０へ戻す（参照符号Ｂ）。並べ替えタイマが起動中である場合（ステップＳ２０４：Ｙ）、並べ替え処理部１７３は処理をステップＳ２０５へ移行する。【０２４８】
ステップＳ２０５において並べ替え処理部１７３は、並べ替えタイマにより計測された時間が所定時間を超えたか否か、すなわち並べ替えタイマによる計時がタイムアウトとなったか否かを判定する。並べ替えタイマによる計時がタイムアウトとなったとき（ステップＳ２０５：Ｙ）、並べ替え処理部１７３は処理をステップＳ２０６へ移行する。【０２４９】
ステップＳ２０６において並べ替え処理部１７３は、並べ替えバッファ１３０へ格納されている全てのユーザデータを無線網制御装置１０３へ送信する。ステップＳ２０７において並べ替え処理部１７３は、期待シーケンス番号の値を、（Ｓ２０６で送信したユーザデータのシーケンス番号の最大値＋１）へ更新する。ステップＳ２０８において並べ替え処理部１７３は、並べ替えタイマを停止する。その後、プロセッサ１２０は処理をステップＳ１９０へ戻す（参照符号Ｂ）。【０２５０】
ステップＳ２０５における判定において並べ替えタイマによる計時がタイムアウトとなっていないとき（ステップＳ２０５：Ｎ）、並べ替え処理部１７３は処理をステップＳ２０９へ移行する。ステップＳ２０９において並べ替え処理部１７３は、並べ替えタイマの計測値を所定の時間ステップ分だけ増加して、計測値を更新する。その後、プロセッサ１２０は処理をステップＳ１９０へ戻す（参照符号Ｂ）。【０２５１】
再び図３８を参照して、基地局１０２による受信処理を説明する。上述の通り、移動局１０１は、シーケンス番号「１」、「３」、「４」、「５」、「２」の順序でユーザデータを送信した後、シーケンス番号２〜５を含むシーケンスデータＳを送信する。基地局１０２の第１受信バッファ１３５には、受信順、すなわち、シーケンス番号「１」、「３」、「４」、「５」、「２」の順序で並んだユーザデータが格納され、その後にシーケンスデータＳが格納される。なお、シーケンスデータＳに格納されるシーケンス番号２〜５は、「３」、「４」、「５」、「２」の順序で配置されている。【０２５２】
図３８は、例えば基地局１０２の処理が輻輳し、第１受信バッファ１２５にユーザデータが格納されても、すぐにプロセッサ１２０がこのユーザデータの処理を開始できない状態を示す。このような場合、あるユーザデータの送信順序が後続のユーザデータの送信順序より遅くなったとしても、このユーザデータの処理の順番が到来する前に、このユーザデータの受信が完了することが考えられる。例えば図３８において基地局１０２の並べ替え処理部１７３は、シーケンス番号「２」〜「５」の後続するユーザデータとシーケンスデータＳを受信してから、シーケンス番号「１」の処理を開始する。【０２５３】
また図３８は、並べ替えバッファ１３０が空である状態を示している。このような状態は、図４１に示すステップＳ１９７以降へ処理が移行せずに並べ替えバッファ１３０にユーザデータが退避しない場合に生じる。このとき、第１受信バッファ１２５から取り出されるユーザデータのシーケンス番号は期待シーケンス番号と一致しており、並べ替え処理部１７３は図３３に示すステップＳ１９０〜Ｓ１９６を繰り返している。したがって、並べ替え処理部１７３がシーケンス番号「１」のユーザデータを受信バッファ１２５から取り出した後に、期待シーケンス番号は「２」となる。【０２５４】
並べ替え処理部１７３は、シーケンスデータＳにより（図４０のステップＳ１９１）、期待シーケンス番号「２」、及びそれに続く連続するシーケンス番号「３」〜「５」のユーザデータが、第１受信バッファ１２５に格納されていることを知ることができる。このためステップＳ１９３〜Ｓ１９６において並べ替え処理部１７３は、連続するシーケンス番号「２」〜「５」のユーザデータを、シーケンス番号の順序に従って第１受信バッファ１２５から取り出すことができる。【０２５５】
並べ替え処理部１７３は、第１受信バッファ１２５から取り出した順序にしたがって、ユーザデータ送信部１７４にユーザデータを送信させる。第２送信バッファ１２８は、送信順序を待つユーザデータを格納する。参照符号２２５に示すように、第２送信バッファ４８に格納されている各ユーザデータの順序は、シーケンス番号の順序に従っている。ここで参照符号２２５に示すマス目は第２送信バッファ１２８内の格納位置を示している。図中において上位にあるマス目に格納されているデータほど送信順序が早い。また参照符号２２６に示すマス目は、基地局１０２から無線網制御装置１０３へ送信されるユーザデータのタイムチャートを意味している。図中において右側にあるマス目に格納されているデータほど送信順序が早い。【０２５６】
ステップＳ１９３〜Ｓ１９６において並べ替え処理部１７３は、並べ替えバッファ１３０にユーザデータを退避させずにユーザデータの並べ替え処理を行う。このとき並べ替え処理部１７３は、シーケンス番号の順序に従って第１受信バッファ１２５からユーザデータを読み出すことができる。すなわち、より古いシーケンス番号のユーザデータがより若いシーケンス番号のユーザデータよりも後に受信されても、より古いシーケンス番号のユーザデータから先に第１受信バッファ１２５から読み出して送信することができる。【０２５７】
ステップＳ１９３〜Ｓ１９６において行われる並べ替え処理は、並べ替えバッファ１３０へのユーザデータの退避処理をしないため、並べ替えバッファを使用する並べ替え処理におけるユーザデータの送信処理の遅れを防止することができる。図３８の参照符号２２８は、シーケンス番号「２」〜「５」のユーザデータの送信処理の遅れが低減した結果、利用可能なタイムスロット「ａ」が増加したことを示している。【０２５８】
また、並べ替えバッファを使用する並べ替え処理の場合には、ユーザデータの送信バーストが生じていた。一方で並べ替え処理部１７３は、ステップＳ１９３〜Ｓ１９６において第１受信バッファ１２５からのユーザデータの読み出し処理とユーザデータの送信処理とを交互に行う。このような読み出しと送信とを交互に行う処理は、並べ替え処理を生じない場合の処理と同様であるため、並べ替え処理を生じない場合と比べて各ユーザデータの送信間隔が大きく相違しない。したがって、ステップＳ１９３〜Ｓ１９６において行われる並べ替え処理は、並べ替えバッファを使用する並べ替え処理において発生していた送信バーストを防止することができる。図３８の参照符号２２７は、シーケンス番号「１」〜「５」のユーザデータの送信間隔が保たれ、送信バーストが防止されている様子を示している。【０２５９】
なお、シーケンスデータ内のシーケンス番号がユーザデータの送信順序で配列されていれば、並べ替え処理部１７３は、シーケンスデータにより第１受信バッファ１２５における各ユーザデータの格納順序を決定することができる。この場合、並べ替え処理部１７３は、各ユーザデータに埋め込まれたシーケンス番号を参照せずに、所望のシーケンス番号のユーザデータを第１受信バッファ１２５から取り出すことができる。【０２６０】
並べ替えバッファを使用する並べ替え処理は、ユーザデータが受信バッファに格納された後に、格納されたユーザデータを並べ替えバッファへコピーするために、基地局１０２のプロセッサの処理が増大する。このために、ユーザデータの処理遅延や、基地局１０２のプロセッサの過負荷によるデータ送信機能の障害の原因になる恐れがある。【０２６１】
本実施例の通信システム１００によれば、基地局１０２の処理が遅れ、第１受信バッファ１２５に大量のユーザデータが蓄積されている場合には、これらのユーザデータに併せてシーケンスデータも第１受信バッファ１２５に蓄積される。したがって、基地局１０２は、シーケンスデータを参照して、第１受信バッファ１２５からユーザデータを取り出すときに並べ替え処理を行うことができる。並べ替えバッファの使用によるプロセッサ１２０の過負荷を防止することができるため、ユーザデータの処理遅延やデータ送信機能の障害といった上記問題を解決できる。【０２６２】
また本実施例の通信システム１００によれば、基地局１２５から送信されるデータのバーストを防止することができる。このため本実施例は、通信バーストに起因する通信システム１００の機能障害の誘発や、シェーピングによるユーザデータの欠落といった問題を解消することができる。【０２６３】
なお、図３に示す第１パケット送受信装置２が、周期的に送信済みパケット指示情報を送信するのと同様に、移動局１０１は周期的にシーケンスデータを送信してもよい。本実施例によれば、移動局１０１は、周期的にシーケンス番号を集計するという比較的簡単な処理でシーケンスデータを作成できるため、移動局１０１に大きな負荷をかけずに本実施例を実現できる。【０２６４】
また、図３に示す第２パケット送受信装置３が、図１６に示す送信済みパケット指示情報要求信号送信部５４を備えるのと同様に、基地局１０２は、シーケンスデータ要求信号送信部を備えていてもよい。そして、送信済みパケット指示情報要求信号送信部５４が第１パケット送受信装置２に送信済みパケット指示情報の送信を要求するのと同様に、シーケンスデータ要求信号送信部は、移動局１０１にシーケンスデータの送信を要求してもよい。【０２６５】
図３に示す第１パケット送受信装置２が、図１５に示す送信済みパケット指示情報要求信号受信２４を備えるのと同様に、移動局１０１は、シーケンスデータ要求信号受信部を備えていてもよい。そして、送信済みパケット指示情報要求信号受信部２４が送信済みパケット指示情報要求信号を受信するのと同様に、シーケンスデータ要求信号受信部は、シーケンスデータ要求信号を受信してよい。第１パケット送受信装置２の送信済みパケット指示情報生成部２１及び送信済みパケット指示情報送信部２３は、送信済みパケット指示情報要求信号が受信されたときに、送信済みパケット指示情報を作成及び送信する。これと同様に、移動局１０１のシーケンスデータ作成部１６３とシーケンスデータ送信部１６５は、シーケンスデータ要求信号を受信したときにシーケンスデータの作成及び送信をしてもよい。本実施例によれば、基地局１０２の需要に応じてシーケンスデータを送信することができるので、効率的にシーケンスデータを生成及び送信することが可能となる。【０２６６】
図３に示す第１パケット送受信装置２が、図１８に示す欠落パケット検出部２５を備えるのと同様に、移動局１０１は、欠落ユーザを検出する欠落データ検出部を備えてもよい。ここで「欠落データ」とは、シーケンス番号の順序通りに移動局１０１から基地局１０２へユーザデータが送信されなかった場合において、後続ユーザデータよりも後に送信されたユーザデータのことをいう。また、図３に示す第１パケット送受信装置２が、図１８に示す送信可否判定部２６を備えるのと同様に、移動局１０１は、欠落データが検出された後に、上記所定の条件が満たされるか否かを判定する送信可否判定部を備えてよい。送信可否判定部が所定の条件が満たされると判定したとき、移動局１０１のシーケンスデータ作成部１６３とシーケンスデータ送信部１６５は、シーケンスデータの生成及び送信を行ってよい。本実施例によれば、欠落データが発生したときに、欠落データを送信できたか否かの判定を行わずに送信済みパケット指示情報を送信することができる。このため、移動局１０１に大きな負荷をかけずに本実施例を実現できる。【０２６７】
以上、本発明の好適な実施態様について詳述したが、当業者が種々の修正及び変更をなし得ること、並びに、特許請求の範囲は本発明の真の精神および趣旨の範囲内にあるこの様な全ての修正及び変更を包含することは、本発明の範囲に含まれることは当業者に理解される。
【図１】
2010070749.tif 000003
【図２】
2010070749.tif 000004
【図３】
2010070749.tif 000005
【図４】
2010070749.tif 000006
【図５】
2010070749.tif 000007
【図６】
2010070749.tif 000008
【図７】
2010070749.tif 000009
【図８】
2010070749.tif 000010
【図９】
2010070749.tif 000011
【図１０】
2010070749.tif 000012
【図１１】
2010070749.tif 000013
【図１２】
2010070749.tif 000014
【図１３】
2010070749.tif 000015
【図１４】
2010070749.tif 000016
【図１５】
2010070749.tif 000017
【図１６】
2010070749.tif 000018
【図１７】
2010070749.tif 000019
【図１８】
2010070749.tif 000020
【図１９】
2010070749.tif 000021
【図２０】
2010070749.tif 000022
【図２１】
2010070749.tif 000023
【図２２】
2010070749.tif 000024
【図２３】
2010070749.tif 000025
【図２４】
2010070749.tif 000026
【図２５】
2010070749.tif 000027
【図２６】
2010070749.tif 000028
【図２７】
2010070749.tif 000029
【図２８】
2010070749.tif 000030
【図２９】
2010070749.tif 000031
【図３０】
2010070749.tif 000032
【図３１】
2010070749.tif 000033
【図３２】
2010070749.tif 000034
【図３３】
2010070749.tif 000035
【図３４】
2010070749.tif 000036
【図３５】
2010070749.tif 000037
【図３６】
2010070749.tif 000038
【図３７】
2010070749.tif 000039
【図３８】
2010070749.tif 000040
【図３９】
2010070749.tif 000041
【図４０】
2010070749.tif 000042
【図４１】
2010070749.tif 000043
【手続補正書】
【提出日】平成23年4月1日(2011.4.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
シーケンス番号が定められたパケットを送信先装置へ送信するパケット送信手段と、
前記パケット送信手段により送信された送信済みパケットを指示する送信済みパケット指示情報を生成する送信済みパケット指示情報生成手段と、
前記パケットと別に、前記送信済みパケット指示情報を前記送信先装置へ送信する送信済みパケット指示情報送信手段と、
を備えるパケット送信装置。
【請求項２】
連続するシーケンス番号が定められた一連の前記パケットのうち前記パケット送信手段によって未だ送信されていなかった欠落パケットが送信可能になった後に、前記送信済みパケット指示情報送信手段は、前記一連のパケットを指示する前記送信済みパケット指示情報を送信する請求項１に記載のパケット送信装置。
【請求項３】
シーケンス番号が定められたパケットを送信元装置から受信するパケット受信手段と、
前記パケットを格納する受信バッファと、
前記送信元装置により送信された送信済みパケットを指示する送信済みパケット指示情報を、前記パケットと別に、前記送信元装置から受信する送信済みパケット指示情報受信手段と、
前記送信済みパケット指示情報により指示された前記パケットを前記受信バッファから取り出し、かつ前記シーケンス番号の順序で前記パケットを並べ替えるパケット並べ替え手段と、
を備えるパケット受信装置。
【請求項４】
前記送信済みパケット指示情報は、前記送信元装置から送信された各前記パケットの前記シーケンス番号を前記パケットの送信順に並べたシーケンス番号列を含み、
前記受信バッファには、受信した前記パケットが受信順に格納され、
前記パケット並べ替え手段は、前記送信済みパケット指示情報に含まれる各前記シーケンス番号に従って前記パケットを並べ替える請求項３に記載のパケット受信装置。
【請求項５】
請求項１に記載のパケット送信装置と、請求項３に記載のパケット受信装置とを備え、
前記パケット送信装置は、前記順序が付けられたパケットと前記送信済みパケット指示情報とを、前記パケット受信装置に送信する通信システム。
【請求項６】
シーケンス番号が定められたパケットをパケット送信装置からパケット受信装置へ送信し、
前記パケット送信装置から送信された送信済みパケットを指示する送信済みパケット指示情報を、前記パケット送信装置が生成し、
前記パケット送信装置が、前記送信済みパケット指示情報を前記パケットと別に前記パケット受信装置へ送信する、
パケット通信方法。
【請求項７】
前記パケット受信装置において前記パケットを受信し、
前記パケット受信装置の受信バッファに前記パケットを格納し、
前記パケット受信装置において前記送信済みパケット指示情報を受信し、
前記パケット受信装置において、前記送信済みパケット指示情報により指示された前記パケットを前記受信バッファから取り出し、かつ前記シーケンス番号の順序で前記パケットを並べ替える請求項６に記載のパケット通信方法。
【国際調査報告】
2010070749.tif 000044
2010070749.tif 000045