(57)【特許請求の範囲】
【請求項１】
パケットを受信する受信手段と、
前記受信手段によって受信されたパケットを格納するためのセクションを複数有するリングバッファと、
前記受信手段によって受信されたパケットをリングバッファ制御方式によって前記リングバッファに格納させるパケット格納処理手段と、
前記リングバッファに格納されているパケットを組み立てることによってデータの復元処理を行うデータ復元手段と、
前記リングバッファが有する前記セクションの総数未満のセクション数に相当するサイズの第一の領域を前記リングバッファに配置する第一の領域配置手段と、
前記リングバッファが有する前記セクションの総数と前記第一の領域のサイズに相当するセクション数との差未満のセクション数に相当するサイズの第二の領域を、前記第一の領域と重ならないように前記リングバッファに配置する、第二の領域配置手段と、
を有し、
前記第一の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されてから前記第二の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されるまでに、前記第一の領域配置手段は、最後にパケットが格納された前記セクションの位置よりも後方の所定の範囲内にある前記セクションの位置に先頭が配置されるように前記第一の領域を配置し直し、前記第二の領域配置手段は、再配置後の前記第一の領域と重ならないように前記第二の領域を配置し直し、
前記データ復元手段は、再配置後の前記第二の領域が配置される前記セクションに既に格納されているパケットを使用せずに前記復元処理を行う、
ことを特徴とする受信装置。
【請求項２】
パケットを受信する受信手段と、
前記受信手段によって受信されたパケットを格納するためのセクションを複数有するリングバッファと、
前記受信手段によって受信されたパケットをリングバッファ制御方式によって前記リングバッファに格納させるパケット格納処理手段と、
前記リングバッファに格納されているパケットを組み立てることによってデータの復元処理を行うデータ復元手段と、
前記リングバッファが有する前記セクションの総数未満のセクション数に相当するサイズの第一の領域を前記リングバッファに配置する第一の領域配置手段と、
前記リングバッファが有する前記セクションの総数と前記第一の領域のサイズに相当するセクション数との差未満のセクション数に相当するサイズの第二の領域を、前記第一の領域と重ならないように前記リングバッファに配置する、第二の領域配置手段と、
前記リングバッファが有する前記セクションの総数と前記第一の領域および前記第二の領域の各サイズに相当するセクション数同士の和との差未満のセクション数に相当するサイズの第三の領域を、前記第一の領域の最後尾と前記第二の領域の先頭との間に配置する、第三の領域配置手段と、
を有し、
前記第一の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されてから前記第三の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されるまでに、前記第三の領域配置手段は、最後にパケットが格納された前記セクションよりも後方の所定の範囲内にある前記セクションの位置に先頭が配置されるように前記第三の領域を配置し直し、前記第一の領域配置手段および前記第二の領域配置手段は、それぞれ、前記第一の領域および前記第二の領域を、互いに重ならずかつ再配置後の前記第三の領域と重ならないように配置し直し、
前記データ復元手段は、再配置後の前記第二の領域が配置される前記セクションに既に格納されているパケットを使用せずに前記復元処理を行う、
ことを特徴とする受信装置。
【請求項３】
前記第一の領域配置手段および前記第二の領域配置手段は、通信の状況に応じて、それぞれ、前記第一の領域のサイズおよび前記第二の領域のサイズを変更する、
請求項２記載の受信装置。
【請求項４】
受信されたパケットを格納するためのセクションを複数有するバッファをリングバッファ制御方式によって管理するバッファ管理方法であって、
第一の領域のサイズに相当する前記セクションの個数を表わす第一の個数および第二の領域のサイズに相当する前記セクションの個数を表わす第二の個数を、両個数の総数が前記バッファの有する前記セクションの総数以下に収まるように決めておき、
前記第一の個数だけ連続する前記セクションの集合の位置に前記第一の領域を配置しておき、前記第一の領域が配置されていない、前記第二の個数だけ連続する前記セクションの集合の位置に、前記第二の領域を配置しておき、
前記第一の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されてから前記第二の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されるまでに、最後にパケットが格納された前記セクションの位置よりも後方の所定の範囲内にあるいずれかの前記セクションの位置に先頭が配置されるように前記第一の領域を移動させ、移動後の前記第一の領域と重ならないように前記第二の領域を移動させ、
移動後の前記第二の領域が配置される前記セクションに既に格納されているパケットを無効にする、
ことを特徴とするバッファ管理方法。
【請求項５】
受信されたパケットを格納するためのセクションを複数有するリングバッファが設けられたコンピュータに用いられるコンピュータプログラムであって、
受信されたパケットをリングバッファ制御方式によって前記リングバッファに格納させる格納処理と、
前記リングバッファに格納されているパケットを組み立てることによってデータを復元する処理と、
前記リングバッファが有する前記セクションの総数未満のセクション数に相当するサイズの第一の領域を前記リングバッファに配置する処理と、
前記リングバッファが有する前記セクションの総数と前記第一の領域のサイズに相当するセクション数との差未満のセクション数に相当するサイズの第二の領域を、前記第一の領域と重ならないように前記リングバッファに配置する処理と、
前記第一の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されてから前記第二の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されるまでに、最後にパケットが格納された前記セクションの位置よりも後方の前記セクションの位置に先頭が配置されるように前記第一の領域を配置し直す処理と、
再配置後の前記第一の領域と重ならないように前記第二の領域を配置し直す処理と、
再配置後の前記第二の領域が配置される前記セクションに既に格納されているパケットを以外のパケットを使用してデータを復元する処理と、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リングバッファ制御方式でデータを受信する受信装置およびその受信装置におけるバッファ管理方法などに関する。
【背景技術】
【０００２】
近年、複数の装置同士でデータの送受信を行う際に、いわゆるパケット通信方式が広く行われるようになった。パケット通信方式によると、受信側において、何らかの原因によって一部のパケットに誤りが発生しまたは一部のパケットを受信することができなくても、そのパケットを再送してもらうだけで、通信対象のデータを組み立て復元することができる。
【０００３】
パケットを再送する仕組みを有するデータ通信技術として、特許文献１に記載されるようなＡＲＱ（Automatic Repeat reQuest）および非特許文献１に記載されるようなＨＡＲＱ（Hybrid ARQ）などの方式が提案されている。ＨＡＲＱは、誤り検出パケットの判定情報と再送パケットとを合成することによって再送の効率の向上を図ることができるというメリットを有しており、第三世代移動無線通信システムに採用されている。
【０００４】
ＨＡＲＱの方式を用いて通信を行う場合は、送信側は、パケットごとに、ＳＮ−ＨＡＲＱ（Sequential Number - Hybrid Automatic Repeat Request）という番号を、リングバッファ制御方式における番号の割振方法によって割り振る。つまり、所定の範囲の連続的な番号をパケットの並び順に割り振る。そして、最後尾の番号を割り振り終えたら、それ以降のパケットに対しては再び「０」番から番号を割り振る。
【０００５】
受信側は、受信したパケットをリングバッファ制御方式のバッファ（以下、「リングバッファ」と記載する。）に一旦格納し、ＳＮ−ＨＡＲＱの若い（小さい）順に組み立てることによって通信対象のデータを復元する。
【特許文献１】特開２０００−２１６８１３号公報
【非特許文献１】”ＭＩＭＯ（Ｍｕｌｔｉ  Ｉｎｐｕｔ  Ｍｕｌｔｉ  Ｏｕｔｐｕｔ）関連技術  ２−４−２−１  Ｈｙｂｒｉｄ−ＡＲＱ”，特許庁，２００６年３月１５日インターネット検索，”ＵＲＬ：http://www.jpo.go.jp/shiryou/s＿sonota/hyoujun＿gijutsu/mimo/2-4-2.pdf”
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、受信側は、パケットをＳＮ−ＨＡＲＱの順番通りに受信できるとは限らない。なぜなら、通常、送信側と受信側とは複数のチャネルによって通信を行うので、各パケットは、伝送されるチャネルが異なれば送信側から受信側に届くまでの時間に差が生じるからである。
【０００７】
また、受信側は、一部のパケットを、他のパケットよりも、遅延して正常に受信する場合がある。その原因の１つは、そのパケットを一度受信したが誤りが検出されたため再送制御を行ったことによる。また、一部のチャネルの混雑が原因であることもある。
【０００８】
受信側は、一部のパケットを正常に受信するのが遅延すると、そのパケットを必要とする復元の処理を中断し、そのパケットが正常に受信できるのを待たなければならない。受信側は、それを受信できるまで待っている間も、他のパケットを次々に受信しリングバッファに格納する。
【０００９】
しかし、このような状態が続くと、そのパケットが正常に受信されるまで使用されるのを待っている他のパケットの格納位置（セル）にまで書込みポインタが進んでしまう。つまり、リングバッファが１周してしまう。そうすると、そのパケットが正常に受信されるまで、処理がスタック（stuck）状態になってしまう。
【００１０】
本発明は、このような問題点に鑑み、パケット通信方式によるデータの受信の処理を従来よりも円滑に行うことができるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る受信装置は、パケットを受信する受信手段と、前記受信手段によって受信されたパケットを格納するためのセクションを複数有するリングバッファと、前記受信手段によって受信されたパケットをリングバッファ制御方式によって前記リングバッファに格納させるパケット格納処理手段と、前記リングバッファに格納されているパケットを組み立てることによってデータの復元処理を行うデータ復元手段と、前記リングバッファが有する前記セクションの総数未満のセクション数に相当するサイズの第一の領域を前記リングバッファに配置する第一の領域配置手段と、前記リングバッファが有する前記セクションの総数と前記第一の領域のサイズに相当するセクション数との差未満のセクション数に相当するサイズの第二の領域を、前記第一の領域と重ならないように前記リングバッファに配置する、第二の領域配置手段と、を有し、前記第一の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されてから前記第二の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されるまでに、前記第一の領域配置手段は、最後にパケットが格納された前記セクションの位置よりも後方の所定の範囲内にある前記セクションの位置に先頭が配置されるように前記第一の領域を配置し直し、前記第二の領域配置手段は、再配置後の前記第一の領域と重ならないように前記第二の領域を配置し直し、前記データ復元手段は、再配置後の前記第二の領域が配置される前記セクションに既に格納されているパケットを使用せずに前記復元処理を行う、ことを特徴とする。
【００１２】
または、パケットを受信する受信手段と、前記受信手段によって受信されたパケットを格納するためのセクションを複数有するリングバッファと、前記受信手段によって受信されたパケットをリングバッファ制御方式によって前記リングバッファに格納させるパケット格納処理手段と、前記リングバッファに格納されているパケットを組み立てることによってデータの復元処理を行うデータ復元手段と、前記リングバッファが有する前記セクションの総数未満のセクション数に相当するサイズの第一の領域を前記リングバッファに配置する第一の領域配置手段と、前記リングバッファが有する前記セクションの総数と前記第一の領域のサイズに相当するセクション数との差未満のセクション数に相当するサイズの第二の領域を、前記第一の領域と重ならないように前記リングバッファに配置する、第二の領域配置手段と、前記リングバッファが有する前記セクションの総数と前記第一の領域および前記第二の領域の各サイズに相当するセクション数同士の和との差未満のセクション数に相当するサイズの第三の領域を、前記第一の領域の最後尾と前記第二の領域の先頭との間に配置する、第三の領域配置手段と、を有し、前記第一の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されてから前記第三の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されるまでに、前記第三の領域配置手段は、最後にパケットが格納された前記セクションよりも後方の所定の範囲内にある前記セクションの位置に先頭が配置されるように前記第三の領域を配置し直し、前記第一の領域配置手段および前記第二の領域配置手段は、それぞれ、前記第一の領域および前記第二の領域を、互いに重ならずかつ再配置後の前記第三の領域と重ならないように配置し直し、前記データ復元手段は、再配置後の前記第二の領域が配置される前記セクションに既に格納されているパケットを使用せずに前記復元処理を行う、ことを特徴とする。
【００１３】
好ましくは、前記第一の領域配置手段および前記第二の領域配置手段は、通信の状況に応じて、それぞれ、前記第一の領域のサイズおよび前記第二の領域のサイズを変更する。
【発明の効果】
【００１４】
本発明によると、パケット通信方式によるデータの受信の処理を従来よりも円滑に行うことができる。
【発明を実施するための最良の形態】
【００１５】
〔第一の実施形態〕
図１は本発明に係るバッファ管理方法が適用されるネットワークの全体的な構成の例を示す図、図２は携帯電話端末１Ａのハードウェア構成の例を示す図、図３は携帯電話端末１Ａの機能的構成の例を示す図、図４は基地局３がパケットＰを送信する処理の流れの例を説明するための図、図５受信データ管理テーブルＴＬＪ、受信領域ＲＡ、および廃棄領域ＲＢの位置関係の例を示す図はである。
【００１６】
本発明に係る携帯電話端末１Ａは、図１に示すように、基地局３および通信回線ＬＮなどを介して他の携帯電話端末１Ｘと接続し通信を行うことができる。さらに、インターネットＮＷなどを介してパーソナルコンピュータ４またはＷｅｂサーバなどと接続し通信を行うことができる。
【００１７】
この携帯電話端末１Ａは、図２に示すように、ＣＰＵ１０ａ、バッファ用メモリ１０ｂ、フラッシュメモリ１０ｃ、無線回路１０ｄ、液晶パネル１０ｅ、操作ボタン１０ｆ、アンテナ１０ｇ、マイク１０ｈ、スピーカ１０ｉ、および入出力インタフェース１０ｊなどによって構成される。このように、携帯電話端末１Ａのハードウェア構成は、基本的に従来の携帯電話端末のハードウェア構成と同じである。
【００１８】
バッファ用メモリ１０ｂは、基地局３との間で送受信を行うデータを一時的に格納するためのバッファ用のＲＡＭである。
【００１９】
フラッシュメモリ１０ｃには、図３に示すようなデータ書込部１０１、データ読出部１０２、対象データ復元部１０３、領域移動処理部１０４、受信領域起点ポインタ１ＪＸ、受信領域終点ポインタ１ＪＹ、廃棄領域起点ポインタ１ＨＸ、廃棄領域終点ポインタ１ＨＹ、書込ポインタ１ＷＰ、および読出ポインタ１ＲＰなどの機能を実現するためのファームウェアＦＷＲが記憶されている。ファームウェアＦＷＲは、ＣＰＵ１０ａによって実行される。または、図３に示す機能の一部分をハードウェア的に実現することもできる。
【００２０】
基地局３は、携帯電話端末１Ａと携帯電話端末１Ｘまたはパーソナルコンピュータ４との間のデータ通信を中継する。以下、基地局３が、再送方式としてＨＡＲＱ（Hybrid Automatic Repeat reQuest）の方式を用いて携帯電話端末１Ａにデータを送信（中継）する場合を例に、説明する。
【００２１】
基地局３は、図４に示すような手順で携帯電話端末１Ａに対象のデータ（以下、「対象データＤＴ」と記載する。）を送信する。対象データＤＴを、所定のサイズまたはそれ以下の複数のＰＤＵ（Protocol Data Unit）に分割する（＃９１）。以下、分割された各ＰＤＵを「分割データＢＴ」と記載する。なお、対象データＤＴがＭＡＣ（Media Access Control）フレームのデータのように可変長である場合は、対象データＤＴごとに分割される分割データＢＴの個数が異なる。
【００２２】
各分割データＢＴに、ＳＮ−ＨＡＲＱ（Sequential Number - Hybrid Automatic Repeat Request）という番号を１つずつ付与する（＃９２）。基地局３は、付与するＳＮ−ＨＡＲＱを、リングバッファ制御方式におけるデータのように管理している。
【００２３】
つまり、基地局３は、番号付与管理テーブルＴＬＲおよび番号付与ポインタ３ＰＮを有する。番号付与管理テーブルＴＬＲには、付与することができるＳＮ−ＨＡＲＱ（本実施形態では、「０」〜「４０９５」の４０９６個のＳＮ−ＨＡＲＱ）が登録されている。番号付与ポインタ３ＰＮは、最後に付与したＳＮ−ＨＡＲＱを指す。なお、番号付与ポインタ３ＰＮは、ＳＮ−ＨＡＲＱの付与を開始する前の初期値として「４０９５」を指すものとする。
【００２４】
そして、基地局３は、対象データＤＴの分割された先頭の分割データＢＴから順に例えば「０」、「１」、「２」、…、「５」のように連番を付与する。次に送信する対象データＤＴの分割データＢＴに対しては、その続きのＳＮ−ＨＡＲＱ（前述の例の場合であれば、「６」）からの連番を付与する。「４０９５」まで付与し終わったら、「０」に戻ってＳＮ−ＨＡＲＱを付与する。
【００２５】
ＳＮ−ＨＡＲＱを付与する処理と並行してまたは前後して、各分割データＢＴにＣＲＣ（Cyclic Redundancy Check）の符号を付与する（＃９３）。
【００２６】
分割データＢＴ、それに対して付与したＳＮ−ＨＡＲＱおよびＣＲＣの符号、およびその他必要な情報を統合することによって、パケットＰを生成する（＃９４）。そして、生成した各パケットＰを、先頭のパケットＰ（ＳＮ−ＨＡＲＱの若いパケットＰ）から順に携帯電話端末１Ａに送信する（＃９５）。
【００２７】
ただし、１つの対象データＤＴが所定のサイズ以下である場合は、それを分割することなく１つのパケットＰに載せて送信する。または、複数の対象データＤＴを１つのパケットＰに載せて送信する場合もある。
【００２８】
ところで、携帯電話端末１Ａは、これらのパケットＰを、基地局３から送信された順に受信するとは限らない。例えば、「１」、「２」、「３」のＳＮ−ＨＡＲＱをそれぞれ有するパケットＰ１、Ｐ２、Ｐ３がその順番通りに基地局３から送信されたとしても、携帯電話端末１Ａは、パケットＰ３、Ｐ１、Ｐ２の順に受信する場合がある。または、パケットＰ１〜Ｐ３のうちのいずれかが届くのが遅れることもある。この場合は、パケットＰ１〜Ｐ３をすべて受信し終わるまでの間に、他の対象データＤＴのパケットＰを受信することがある。
【００２９】
したがって、パケットＰを受信するごとに対象データＤＴの組立ての処理を常に進めることができるとは限らない。つまり、パケットＰが揃うのを待たなければならないことがある。そこで、携帯電話端末１Ａのバッファ用メモリ１０ｂには、必要なパケットＰが揃うのを待つために、受信したパケットＰを一時的に格納しておく受信データ管理テーブルＴＬＪが確保されている。
【００３０】
この受信データ管理テーブルＴＬＪは、図５に示すように、４０９６個の、パケットＰを１つ格納できる程度の記憶領域（以下、「パケット格納セクションＣ」と記載する。）に分割されている。１つのパケット格納セクションＣに、基地局３から送信されてきた１つのパケットＰを格納する。各パケット格納セクションＣには、それぞれ、０番〜４０９５番のセクション番号が付けられている。また、受信データ管理テーブルＴＬＪは、リングバッファ制御によって管理されている。
【００３１】
さらに、受信データ管理テーブルＴＬＪには、受信領域ＲＡおよび廃棄領域ＲＢの２つの領域が設定されている。以下、受信領域ＲＡおよび廃棄領域ＲＢは、受信データ管理テーブルＴＬＪの中の連続するパケット格納セクションＣ（つまり、セクション群）に、両領域が重なり合わないように、配置される。受信データ管理テーブルＴＬＪの各パケット格納セクションＣは、両領域のうちのいずれか一方に所属する。したがって、受信データ管理テーブルＴＬＪは、受信領域ＲＡおよび廃棄領域ＲＢによって二分される。
【００３２】
また、受信領域ＲＡおよび廃棄領域ＲＢは、受信データ管理テーブルＴＬＪの各パケット格納セクションＣに対して相対的に移動する。したがって、これらが移動するのに伴って、各パケット格納セクションＣが所属する領域が受信領域ＲＡから廃棄領域ＲＢに変わったり廃棄領域ＲＢから受信領域ＲＡに変わったりすることがある。
【００３３】
受信領域ＲＡの範囲は、受信領域起点ポインタ１ＪＸおよび受信領域終点ポインタ１ＪＹによって決められている。具体的には、受信領域起点ポインタ１ＪＸが指すパケット格納セクションＣ、受信領域終点ポインタ１ＪＹが指すパケット格納セクションＣ、および前者から見てセクション番号の順方向（つまり、図５において時計回りの方向）の両者間のパケット格納セクションＣが、受信領域ＲＡに所属する。同様に、廃棄領域ＲＢは、廃棄領域起点ポインタ１ＨＸおよび廃棄領域終点ポインタ１ＨＹによって決められている。
【００３４】
したがって、受信領域起点ポインタ１ＪＸ、受信領域終点ポインタ１ＪＹ、廃棄領域起点ポインタ１ＨＸ、および廃棄領域終点ポインタ１ＨＹのそれぞれの値（セクション番号）を変えることによって、受信領域ＲＡおよび廃棄領域ＲＢを移動させることができる。
【００３５】
また、受信領域ＲＡおよび廃棄領域ＲＢには、次のような規則が適用される。受信領域ＲＡに所属するパケット格納セクションＣに新たなパケットＰを書き込むことは許可されるが、受信領域ＲＡに所属するパケット格納セクションＣに既に格納されているパケットＰをリセットすることは禁止されている。一方、廃棄領域ＲＢに所属するパケット格納セクションＣにも、新たなパケットＰを書き込むことが許可されている。また、廃棄領域ＲＢが移動した直後に、廃棄領域ＲＢに所属する（位置する）パケット格納セクションＣはリセットされる。つまり、そのパケット格納セクションＣに格納されているパケットＰは廃棄されたものとして取り扱われる。
【００３６】
図６は受信領域ＲＡおよび廃棄領域ＲＢの移動の例を説明するための図である。次に、図３の各部の機能および受信データ管理テーブルＴＬＪの使用方法などについて詳細に説明する。
【００３７】
データ書込部１０１および書込ポインタ１ＷＰは、基地局３から送信されてきたパケットＰを、受信データ管理テーブルＴＬＪの中のパケット格納セクションＣに格納するための処理を行う。
【００３８】
書込ポインタ１ＷＰは、従来のリングバッファ制御における書込ポインタと同様に、最後にパケットＰが書き込まれたパケット格納セクションＣを指し示す。データ書込部１０１は、無線回路１０ｄによってパケットＰが受信されると、そのパケットＰを、書込ポインタ１ＷＰが指し示すパケット格納セクションＣの次のパケット格納セクションＣに書き込む。
【００３９】
つまり、セクション番号がｘ番であるパケット格納セクションＣ（以下、「ｘ番のパケット格納セクションＣ」のように記載する。）を書込ポインタ１ＷＰが示しているときにパケットＰが受信されると、（ｘ＋１）番のパケット格納セクションＣにそれを格納する。そして、書込ポインタ１ＷＰを（ｘ＋１）番を示すように更新する。以下、同様に、パケットＰが受信されるごとに、それぞれを（ｘ＋２）番、（ｘ＋３）番、…のパケット格納セクションＣに順次格納し、それに合わせて書込ポインタ１ＷＰを、（ｘ＋２）番、（ｘ＋３）番、…を示すように順次更新する。ただし、４０９５番のパケット格納セクションＣにパケットＰが格納されたその次（つまり、書込ポインタ１ＷＰが４０９５番を示す場合）は、０番のパケット格納セクションＣにパケットＰを格納し、書込ポインタ１ＷＰを、０番を示すように更新する。
【００４０】
データ読出部１０２、対象データ復元部１０３、および読出ポインタ１ＲＰは、受信データ管理テーブルＴＬＪに格納されているパケットＰを読み出して対象データＤＴを復元するための処理を、従来通りに行う。
【００４１】
すなわち、ある１つの対象データＤＴのパケットＰがすべて受信データ管理テーブルＴＬＪに格納されたら、データ読出部１０２は、読出ポインタ１ＲＰに従ってこれらのパケットＰをパケット格納セクションＣから読み出す。対象データ復元部１０３は、読み出されたパケットＰに載せられている分割データＢＴの誤り検出を、それとともに載せられているＣＲＣの符号に基づいて行う。誤りが検出されなかったら、ＳＮ−ＨＡＲＱの順に並べて組み立てる。これにより、対象データＤＴが復元される。誤りが検出された場合は、再送制御などを従来通りに行う。
【００４２】
領域移動処理部１０４は、受信領域起点ポインタ１ＪＸ、受信領域終点ポインタ１ＪＹ、廃棄領域起点ポインタ１ＨＸ、および廃棄領域終点ポインタ１ＨＹを更新することによって受信領域ＲＡおよび廃棄領域ＲＢを移動させる。ここで、これらを移動させるタイミングおよび方法などを、図６を参照して説明する。
【００４３】
基地局３から次々に送信されてくるパケットＰが受信されると、データ書込部１０１は、図６（ａ）に示すように、受信領域ＲＡの先頭のパケット格納セクションＣからセクション番号の順に（図中の０番のパケット格納セクションＣから時計回りに）格納していく。
【００４４】
データ書込部１０１によるパケットＰの格納（書込み）の処理と並行して、データ読出部１０２は、対象データＤＴを再生するために必要なパケットＰが揃ったら、それらを受信領域ＲＡから読み出す。対象データ復元部１０３は、各パケットＰに載せられている分割データＢＴを抽出し、誤り検出の処理を行い、誤りが検出されなければＳＮ−ＨＡＲＱの順にそれらの分割データＢＴを結合させて組み立てる。これにより、対象データＤＴが復元される。なお、ＳＮ−ＨＡＲＱが連続するパケットＰが２つ以上揃ったら、部分的な組立てを適宜行うようにしてもよい。
【００４５】
データ書込部１０１、データ読出部１０２、および対象データ復元部１０３による処理を続けていると、やがて、図６（ｂ）に示すように、受信領域ＲＡの最後尾のパケット格納セクションＣ（図中のｋ番のパケット格納セクションＣ）にパケットＰが格納される。そして、さらにパケットＰが受信されると、データ書込部１０１は、それらのパケットＰを廃棄領域ＲＢの先頭のパケット格納セクションＣ（図中の（ｋ＋１）番のパケット格納セクションＣ）から順に格納する。これと並行して、データ読出部１０２および対象データ復元部１０３は、各パケット格納セクションＣに格納されているパケットＰを適宜読み出し、それらを使用して対象データＤＴを復元する処理を行う。
【００４６】
受信領域ＲＡの最後尾のパケット格納セクションＣにパケットＰが格納された時点においては、パケットＰの到着順または再送制御の処理などの影響によって、受信領域ＲＡの各パケット格納セクションＣには、対象データＤＴの復元のために既に使用されたパケットＰが格納されていることもあれば、使用されるのを待っている状態のパケットＰが格納されていることもある。以下、既にパケット格納セクションＣに格納され使用されるのを待っている状態のパケットＰを「使用待ち状態」のパケットＰと記載する。また、受信されるのを待っている状態（つまり、遅延している状態）のパケットＰを「待受け状態」のパケットＰと記載する。
【００４７】
廃棄領域ＲＢへのパケットＰの格納（書込み）が始まった後、廃棄領域ＲＢに所属するいずれかのパケット格納セクションＣに格納されたパケットＰが使用されて対象データＤＴの復元が行われると、領域移動処理部１０４は、受信領域ＲＡを、その使用されたパケットＰのパケット格納セクションＣの次のパケット格納セクションＣが先頭になるように移動（シフト）させる。つまり、例えば、（ｋ＋２）番のパケット格納セクションＣのパケットＰが使用された場合は、図６（ｃ）に示すように、先頭が（ｋ＋３）番のパケット格納セクションＣになるように受信領域ＲＡを移動（シフト）させる。なお、使用されたパケットＰが複数個ある場合は、それぞれのパケット格納セクションＣのうちの最後尾のパケット格納セクションＣの次のパケット格納セクションＣが先頭になるように受信領域ＲＡを移動させる。
【００４８】
受信領域ＲＡの移動は、受信領域起点ポインタ１ＪＸおよび受信領域終点ポインタ１ＪＹを更新することによって行うことができる。すなわち、受信領域起点ポインタ１ＪＸを、当該先頭になるパケット格納セクションＣのセクション番号を示すように更新する。これにより、受信領域ＲＡの先頭が移動する。また、受信領域終点ポインタ１ＪＹを、受信領域起点ポインタ１ＪＸの更新量と同じ量だけ更新する。
【００４９】
さらに、受信領域ＲＡの移動に伴って、廃棄領域ＲＢも同じ量だけ移動（シフト）させる。廃棄領域ＲＢの移動も、受信領域ＲＡの場合と同様に、廃棄領域起点ポインタ１ＨＸおよび廃棄領域終点ポインタ１ＨＹを更新することによって行うことができる。
【００５０】
受信領域ＲＡおよび廃棄領域ＲＢの移動後、データ書込部１０１、データ読出部１０２、および対象データ復元部１０３は、上に述べた処理を継続する。つまり、図６（ｄ）に示すように、基地局３から次々に送信されてくるパケットＰを、移動後の受信領域ＲＡの先頭のパケット格納セクションＣ（図中の（ｋ＋３）番のパケット格納セクションＣ）から順に格納していく。
【００５１】
ただし、データ読出部１０２および対象データ復元部１０３は、移動後の廃棄領域ＲＢに属する各パケット格納セクションＣに残っているパケットＰを、使用されたか否かに関わらず、廃棄されたものとして取り扱う。つまり、待受け状態のパケットＰが未だに受信されないために、使用待ち状態のパケットＰが残っていても、廃棄されたものとしてそれを取り扱う。例えば、０番のパケット格納セクションＣに使用待ち状態のパケットＰが格納されていても、廃棄されたものとしてそれを取り扱う。
【００５２】
なお、データ読出部１０２はパケット格納セクションＣがリセットされた否かを廃棄領域起点ポインタ１ＨＸおよび廃棄領域終点ポインタ１ＨＹに基づいて知ることができるが、リセットされたパケット格納セクションＣにその旨を示すフラグを立てておいてもよい。または、リセットされたパケット格納セクションＣに格納されているパケットＰを削除してもよい。
【００５３】
さらにその後、データ書込部１０１は、リセットされたパケット格納セクションＣに新たなパケットＰを格納させるが、そのパケットＰは、再びそのパケット格納セクションＣがリセットされるまで有効であり、対象データＤＴの復元のために使用される。
【００５４】
図７は携帯電話端末１Ａにおける受信処理および領域管理処理の流れの例を説明するフローチャートである。
【００５５】
次に、基地局３から送信されてくるデータを携帯電話端末１Ａが受信する際の処理および受信領域ＲＡ、廃棄領域ＲＢの移動の処理の流れを、フローチャートを参照して説明する。
【００５６】
図７において、携帯電話端末１Ａは、携帯電話端末１Ｘまたはパーソナルコンピュータ４と通信を行う準備のために、予め、ファームウェアＦＷＲを起動し（＃１１）、リングバッファである受信データ管理テーブルＴＬＪをバッファ用メモリ１０ｂに確保しておく（＃１２）。受信データ管理テーブルＴＬＪに受信領域ＲＡおよび廃棄領域ＲＢを設定する（＃１３）。そして、パケットＰの受信を開始する（＃１４）。
【００５７】
受信したパケットＰを、受信領域ＲＡの先頭のパケット格納セクションＣから順に格納していく（＃１５）。対象データＤＴを復元するために必要なパケットＰが揃ったら（＃１６でＹｅｓ）、これらのパケットＰを読み出し（＃１７）、これらのパケットＰに載せられている分割データＢＴをＳＮ−ＨＡＲＱの順に並べて組み立てる（＃１８）。この際、ＣＲＣの符号を用いて誤り検出も行う。以上の処理によって、対象データＤＴが復元される。なお、分割データＢＴに誤りがあった場合は、従来通り、その分割データＢＴのパケットＰの再送制御を行う。
【００５８】
なお、分割されずに１つまたは複数の対象データＤＴが１つのパケットＰに収まっている場合は、ステップ＃１８において、それらの対象データＤＴをそのまま抽出する。
【００５９】
受信領域ＲＡのすべてのパケット格納セクションＣにパケットＰが格納されるまで、ステップ＃１５〜＃１８の処理を適宜実行する。
【００６０】
受信領域ＲＡのすべてのパケット格納セクションＣにパケットＰが格納されたら（＃１９でＹｅｓ）、それ以降に受信したパケットＰを、廃棄領域ＲＢの先頭のパケット格納セクションＣから順に格納していく（＃２０）。
【００６１】
対象データＤＴを復元するために必要なパケットＰが揃ったら（＃２１でＹｅｓ）、ステップ＃１７、＃１８の場合と同様に、これらのパケットＰを使用して対象データＤＴを復元する（＃２２、＃２３）。
【００６２】
そして、受信領域ＲＡおよび廃棄領域ＲＢを移動させ（＃２４）、移動後の廃棄領域ＲＢに所属するパケット格納セクションＣをリセットする（＃２５）。つまり、パケット格納セクションＣに格納されているパケットＰを削除するなどして無効化する。
【００６３】
通信を終了するまで、ステップ＃１５〜＃２５の処理を適宜実行する。これにより、対象データＤＴが次々に復元される。
【００６４】
第一の実施形態によると、受信データ管理テーブルＴＬＪすなわちリングバッファに受信領域ＲＡおよび廃棄領域ＲＢを設定し、受信したパケットを受信領域ＲＡに格納しつつ受信領域ＲＡが満杯になったら受信領域ＲＡの先頭を番号進行方向に押し上げるように移動させ、それに伴って廃棄領域ＲＢも移動させた。そして、移動後に廃棄領域ＲＢに所属するパケット格納セクションＣに格納されているパケットＰすなわち移動前の受信領域ＲＡに格納されているパケットＰのうち受信時刻が古いパケットＰを廃棄した。
【００６５】
このような構成により、受信側において、リングバッファがスタック（stuck）状態になるのを防止し、パケット通信方式によるデータの受信の処理を円滑に行うことができる。
【００６６】
〔第二の実施形態〕
図８は受信データ管理テーブルＴＬＪ’、受信領域ＲＳ、廃棄領域ＲＴ、および緩和領域ＲＵの位置関係の例を示す図、図９は携帯電話端末１Ｂの機能的構成の例を示す図である。
【００６７】
第一の実施形態では、図５に示したように、受信データ管理テーブルＴＬＪに受信領域ＲＡおよび廃棄領域ＲＢの２種類の領域を設け、受信したパケットＰの管理を行った。第二の実施形態では、図８に示すように、受信データ管理テーブルＴＬＪ’に受信領域ＲＳ、廃棄領域ＲＴ、および緩和領域ＲＵの３種類の領域を設け、受信したパケットＰの管理を行う。以下、第一の実施形態との相違点を中心に説明する。第一の実施形態と共通する点については説明を省略する。
【００６８】
受信領域ＲＳおよび廃棄領域ＲＴは、それぞれ、第一の実施形態における受信領域ＲＡおよび廃棄領域ＲＢと同様の役割を有する。
【００６９】
緩和領域ＲＵも、受信領域ＲＳと同様の役割を有する。すなわち、緩和領域ＲＵに該当するパケット格納セクションＣに新たなパケットＰを書き込むことは許可するが、緩和領域ＲＵに該当するパケット格納セクションＣに既に格納されているパケットＰを削除することは禁止する。
【００７０】
ところで、第一の実施形態では受信領域ＲＡおよび廃棄領域ＲＢを受信領域ＲＡのサイズに相当するセクション数以上移動させた。しかし、移動量が多いと、新たに廃棄領域ＲＢに該当するパケット格納セクションＣが多くなるので、使用待ち状態のまま廃棄されてしまうパケットＰが多くなってしまう。これらのパケットＰの中には、受信して間もないものも含まれていれば、かなりの時間が経過しているものも含まれている。
【００７１】
上位装置（中継局である基地局３または通信相手である携帯電話端末１Ｘなど）または上位層の何らかの問題（再送制御の処理またはハンドオフなど）により待受け状態が続いているパケットＰのうち、待受け状態の時間が短いパケットＰは、ある時間範囲内に受信が再開されることが想定される。つまり、これから受信する、ある範囲の個数のパケットＰの中に、待受け状態の時間が短いパケットＰの受信が含まれることが期待できる。
【００７２】
そこで、この「ある範囲の個数」に相当するサイズの緩和領域ＲＵを設け、パケットロスの防止を図る。つまり、緩和領域ＲＵは、上記の受信領域ＲＳの役割に加え、受信領域ＲＳおよび廃棄領域ＲＴの移動量を緩和し、パケットＰのロスを減らす役割を有する。
【００７３】
第二の実施形態に係る携帯電話端末１Ｂは、図１で説明した第一の実施形態の携帯電話端末１Ａと同様に、基地局３、通信回線ＬＮ、またはインターネットＮＷなどを介して他の携帯電話端末１Ｘまたはパーソナルコンピュータ４などと接続し通信を行うことができる。
【００７４】
携帯電話端末１Ｂのハードウェア構成は、携帯電話端末１Ａのハードウェア構成と同様であり、図２で示した通りである。ただし、フラッシュメモリ１０ｃには、図９に示すようなデータ書込部１２１、データ読出部１２２、対象データ復元部１２３、領域移動処理部１２４、受信領域起点ポインタ２ＪＸ、受信領域終点ポインタ２ＪＹ、廃棄領域起点ポインタ２ＨＸ、廃棄領域終点ポインタ２ＨＹ、緩和領域起点ポインタ２ＫＸ、緩和領域終点ポインタ２ＫＹ、書込ポインタ２ＷＰ、および読出ポインタ２ＲＰなどの機能を実現するためのファームウェアＦＷＳが記憶されている。
【００７５】
データ書込部１２１、データ読出部１２２、対象データ復元部１２３、書込ポインタ２ＷＰ、および読出ポインタ２ＲＰは、それぞれ、図３のデータ書込部１０１、データ読出部１０２、対象データ復元部１０３、書込ポインタ１ＷＰ、および読出ポインタ１ＲＰと同様の処理を行う。
【００７６】
受信領域起点ポインタ２ＪＸ、受信領域終点ポインタ２ＪＹ、廃棄領域起点ポインタ２ＨＸ、および廃棄領域終点ポインタ２ＨＹは、それぞれ、第一の実施形態における受信領域起点ポインタ１ＪＸ、受信領域終点ポインタ１ＪＹ、廃棄領域起点ポインタ１ＨＸ、および廃棄領域終点ポインタ１ＨＹと同様の役割を果たす。つまり、受信領域起点ポインタ２ＪＸおよび受信領域終点ポインタ２ＪＹは、それぞれ、受信領域ＲＳの中の先頭のパケット格納セクションＣのセクション番号および最後尾のパケット格納セクションＣのセクション番号を指す。廃棄領域起点ポインタ２ＨＸおよび廃棄領域終点ポインタ２ＨＹは、それぞれ、廃棄領域ＲＴの中の先頭のパケット格納セクションＣのセクション番号および最後尾のパケット格納セクションＣのセクション番号を指す。
【００７７】
第二の実施形態では、受信データ管理テーブルＴＬＪ’を３つの領域に分割し、そのうちの１つの領域を受信領域ＲＳとし、受信領域ＲＳと書込方向（番号進行方向）の逆方向に隣接する領域を廃棄領域ＲＴとし、残りの領域を緩和領域ＲＵとする。つまり、時計回りの順に、受信領域ＲＳ、緩和領域ＲＵ、廃棄領域ＲＴが配置される。
【００７８】
図１０は受信領域ＲＳ、廃棄領域ＲＴ、および緩和領域ＲＵの移動の例を説明するための図である。
【００７９】
ここで、受信領域ＲＳ、廃棄領域ＲＴ、および緩和領域ＲＵを移動させるタイミングおよび方法などを、図１０を参照して説明する。
【００８０】
パケットＰが受信されると、データ書込部１２１は、図１０（ａ）に示すように、受信領域ＲＳの先頭のパケット格納セクションＣからセクション番号の順に（図中の０番のパケット格納セクションＣから時計回りに）、それらのパケットＰを格納していく。
【００８１】
データ書込部１２１による格納（書込み）の処理と並行して、データ読出部１２２は、対象データＤＴを復元するために必要なパケットＰが揃ったら、第一の実施形態の場合と同様に、これらのパケットＰに載せられている分割データＢＴをＳＮ−ＨＡＲＱの順に結合させて組み立てる。これにより、対象データＤＴが復元される。なお、ＳＮ−ＨＡＲＱが連続するパケットＰが２つ以上揃ったら、部分的な組立てを適宜行ってもよい。また、誤り検出の処理も従来通り行う。
【００８２】
データ書込部１２１、データ読出部１２２、および対象データ復元部１２３による処理を続けていると、やがて、図１０（ｂ）に示すように、受信領域ＲＳの最後尾のパケット格納セクションＣ（図中のｍ番のパケット格納セクションＣ）にパケットＰが格納される。そして、さらにパケットＰが受信されると、それらのパケットＰが緩和領域ＲＵの先頭のパケット格納セクションＣ（図中のｍ＋１番のパケット格納セクションＣ）から順に格納される。これと並行して、データ読出部１２２および対象データ復元部１２３は、受信領域ＲＳまたは緩和領域ＲＵに所属するパケット格納セクションＣに格納されている使用待ち状態のパケットＰを適宜読み出し、それらを使用して対象データＤＴを復元する処理を行う。
【００８３】
緩和領域ＲＵへのパケットＰの格納（書込み）が始まった後、緩和領域ＲＵに所属するいずれかのパケット格納セクションＣに格納されたパケットＰが使用されて対象データＤＴの復元が行われると、領域移動処理部１２４は、緩和領域ＲＵを、その使用されたパケット格納セクションＣの次のパケット格納セクションＣが先頭になるように移動（シフト）させる。つまり、例えば、（ｍ＋２）番のパケット格納セクションＣのパケットＰが使用された場合は、図１０（ｃ）に示すように、先頭が（ｍ＋３）番のパケット格納セクションＣになるように緩和領域ＲＵを移動（シフト）させる。なお、使用されたパケットＰが複数個ある場合は、それぞれのパケット格納セクションＣのうちの最後尾のパケット格納セクションＣの次のパケット格納セクションＣが先頭になるように緩和領域ＲＵを移動させる。
【００８４】
緩和領域ＲＵの移動は、緩和領域起点ポインタ２ＫＸおよび緩和領域終点ポインタ２ＫＹを更新することによって行うことができる。すなわち、緩和領域起点ポインタ２ＫＸを、当該先頭になるパケット格納セクションＣのセクション番号を示すように更新する。これにより、受信領域ＲＡの先頭が移動する。また、緩和領域終点ポインタ２ＫＹを、緩和領域起点ポインタ２ＫＸの更新量と同じ量だけ更新する。
【００８５】
さらに、緩和領域ＲＵの移動に伴って、受信領域ＲＳおよび廃棄領域ＲＴも同じ量だけ移動（シフト）させる。
【００８６】
受信領域ＲＳ、廃棄領域ＲＴ、および緩和領域ＲＵの移動後、データ書込部１２１は、書込ポインタ２ＷＰに従ってパケットＰをパケット格納セクションＣに格納する処理を継続する。つまり、基地局３から次々に送信されてくるパケットＰを、図１０（ｄ）に示すように、移動後の受信領域ＲＵの先頭のパケット格納セクションＣ（図中の（ｍ＋３）番のパケット格納セクションＣ）から順に格納していく。
【００８７】
データ読出部１２２および対象データ復元部１２３も、受信領域ＲＡまたは緩和領域ＲＵに格納されている使用待ち状態のパケットＰを使用して対象データＤＴを復元する処理を継続する。ただし、移動後の廃棄領域ＲＴに所属するパケット格納セクションＣは、リセットしておく。つまり、そのパケット格納セクションＣに格納されているパケットＰを削除するなどして廃棄する。
【００８８】
さらにその後、データ書込部１２１は、リセットされたパケット格納セクションＣに新たなパケットＰを格納させるが、第一の実施形態の場合と同様、そのパケットＰは、再びそのパケット格納セクションＣがリセットされるまで有効であり、対象データＤＴの復元のために使用される。
【００８９】
図１１は携帯電話端末１Ｂにおける受信処理および領域管理処理の流れの例を説明するフローチャートである。
【００９０】
次に、基地局３から送信されてくるデータを携帯電話端末１Ｂが受信する際の処理の流れを、フローチャートを参照して説明する。
【００９１】
図１１において、携帯電話端末１Ｂは、携帯電話端末１Ｘまたはパーソナルコンピュータ４と通信を行う準備のために、予め、ファームウェアＦＷＳを起動し（＃６１）、受信データ管理テーブルＴＬＪ’をバッファ用メモリ１０ｂに確保しておく（＃６２）。受信データ管理テーブルＴＬＪ’に受信領域ＲＳ、廃棄領域ＲＴ、および緩和領域ＲＵを設定する（＃６３）。そして、パケットＰの受信を開始する（＃６４）。
【００９２】
受信したパケットＰを、受信領域ＲＳの先頭のパケット格納セクションＣから順に格納していく（＃６５）。対象データＤＴを復元するために必要なパケットＰが揃ったら（＃６６でＹｅｓ）、これらのパケットＰを使用して対象データＤＴを復元する（＃６７、６８）。  受信領域ＲＳのすべてのパケット格納セクションＣにパケットＰが格納されるまで、ステップ＃６５〜＃６８の処理を適宜実行する。
【００９３】
受信領域ＲＳのすべてのパケット格納セクションＣにパケットＰが格納されたら（＃６９でＹｅｓ）、それ以降に受信したパケットＰを、緩和領域ＲＵの先頭のパケット格納セクションＣから順に格納していく（＃７０）。
【００９４】
対象データＤＴを復元するために必要なパケットＰが揃ったら（＃７１でＹｅｓ）、これらのパケットＰを使用して対象データＤＴを復元する（＃７３）。
【００９５】
そして、受信領域ＲＳ、廃棄領域ＲＴ、および緩和領域ＲＵを移動させ（＃７４）、移動後の廃棄領域ＲＴに所属するパケット格納セクションＣに格納されているパケットＰを廃棄する（＃７５）。また、通信を終了するまで、ステップ＃７０〜＃７５の処理を適宜実行する。これにより、対象データＤＴが次々に復元される。
【００９６】
第二の実施形態によると、緩和領域ＲＵを用いることによって、廃棄領域ＲＴの移動量を緩和することができる。これにより、リングバッファがスタック（stuck）状態になるのを防止するとともに、第一の実施形態の場合よりもパケットロスを減らすことができる。
【００９７】
第一および第二の実施形態では、受信領域ＲＡ、ＲＳおよび廃棄領域ＲＢ、ＲＴのサイズを固定したが、通信の状態または目的などに応じて変更してもよい。例えば、携帯電話端末１Ａ、１Ｂと基地局３との間の無線の状態がよくない場合は、誤りのあるパケットが通常よりも多く検出されるので、待受け状態のパケットＰを多く受信できるようにするために、受信領域ＲＡ、ＲＳのサイズをその標準のサイズよりも大きく取ってもよい。ユーザが携帯電話端末１Ａ、携帯電話端末１Ｂで会話を行う場合は、リアルタイム性が要求されるので、待受け状態のパケットＰを少なくするために、廃棄領域ＲＢ、ＲＴのサイズをその標準のサイズよりも大きく取ってもよい。
【００９８】
第一および第二の実施形態では、ＨＡＲＱの方式を用いたパケット通信におけるリングバッファ方式によるパケットの管理について説明したが、本発明は、他の方式を用いたパケット通信においても適用可能である。
【００９９】
第一の実施形態では、受信領域ＲＡおよび廃棄領域ＲＢの２つの領域が受信データ管理テーブルＴＬＪに配置される場合を例に説明した。また、第二の実施形態では、受信領域ＲＳ、廃棄領域ＲＴ、および緩和領域ＲＵの３つの領域が受信データ管理テーブルＴＬＪ’に配置される場合を例に説明した。しかし、本発明は、これら以外の領域が受信データ管理テーブルＴＬＪ、ＴＬＪ’に設けられている場合にも適用可能である。
【０１００】
第一の実施形態では、図６（ｂ）（ｃ）で説明したように、最後に（最近に）格納されかつ使用されたパケットＰのパケット格納セクションＣ（図中の（ｋ＋２）番のパケット格納セクションＣ）の次のパケット格納セクションＣ（図中の（ｋ＋３）番のパケット格納セクションＣ）が先頭になるように廃棄領域ＲＢを移動させた。しかし、移動の位置を多少変えてもよい。例えば、図中の（ｋ＋２）番のパケット格納セクションＣよりも所定の個数（例えば、数個。または、受信データ管理テーブルＴＬＪのパケット格納セクションＣの総数に対して数パーセント分の個数。）だけ後ろのパケット格納セクションＣが先頭になるように廃棄領域ＲＢを移動させてもよい。第二の実施形態においても同様に、緩和領域ＲＵを、最後に（最近に）格納されかつ使用されたパケットＰのパケット格納セクションＣの次のパケット格納セクションＣが先頭になるように移動させるのではなく、それよりも後方の所定の範囲内のパケット格納セクションＣが先頭になるように移動させてもよい。
【０１０１】
その他、携帯電話端末１Ａ、１Ｂ、基地局３の全体または各部の構成、処理内容、処理順序、データベースの構成などは、本発明の趣旨に沿って適宜変更することができる。
【０１０２】
上に述べた実施例には、以下に述べるような付記も開示されている。
（付記１）
パケットを受信する受信手段と、
前記受信手段によって受信されたパケットを格納するためのセクションを複数有するリングバッファと、
前記受信手段によって受信されたパケットをリングバッファ制御方式によって前記リングバッファに格納させるパケット格納処理手段と、
前記リングバッファに格納されているパケットを組み立てることによってデータの復元処理を行うデータ復元手段と、
前記リングバッファが有する前記セクションの総数未満のセクション数に相当するサイズの第一の領域を前記リングバッファに配置する第一の領域配置手段と、
前記リングバッファが有する前記セクションの総数と前記第一の領域のサイズに相当するセクション数との差未満のセクション数に相当するサイズの第二の領域を、前記第一の領域と重ならないように前記リングバッファに配置する、第二の領域配置手段と、
を有し、
前記第一の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されてから前記第二の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されるまでに、前記第二の領域配置手段は、最後にパケットが格納された前記セクションの位置またはそれよりも後方の所定の範囲内にある前記セクションの位置に先頭が配置されるように前記第二の領域を配置し直し、前記第一の領域配置手段は、再配置後の前記第二の領域と重ならないように前記第一の領域を配置し直し、
前記データ復元手段は、再配置後の前記第二の領域が配置される前記セクションに既に格納されているパケットを使用せずに前記復元処理を行う、
ことを特徴とする受信装置。
（付記２）
パケットを受信する受信手段と、
前記受信手段によって受信されたパケットを格納するためのセクションを複数有するリングバッファと、
前記受信手段によって受信されたパケットをリングバッファ制御方式によって前記リングバッファに格納させるパケット格納処理手段と、
前記リングバッファに格納されているパケットを組み立てることによってデータの復元処理を行うデータ復元手段と、
前記リングバッファが有する前記セクションの総数未満のセクション数に相当するサイズの第一の領域を前記リングバッファに配置する第一の領域配置手段と、
前記リングバッファが有する前記セクションの総数と前記第一の領域のサイズに相当するセクション数との差未満のセクション数に相当するサイズの第二の領域を、前記第一の領域と重ならないように前記リングバッファに配置する、第二の領域配置手段と、
前記リングバッファが有する前記セクションの総数と前記第一の領域および前記第二の領域の各サイズに相当するセクション数同士の和との差未満のセクション数に相当するサイズの第三の領域を、前記第一の領域の最後尾と前記第二の領域の先頭との間に配置する、第三の領域配置手段と、
を有し、
前記第一の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されてから前記第三の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されるまでに、前記第三の領域配置手段は、最後にパケットが格納された前記セクションよりも後方の所定の範囲内にある前記セクションの位置に先頭が配置されるように前記第三の領域を配置し直し、前記第一の領域配置手段および前記第二の領域配置手段は、それぞれ、前記第一の領域および前記第二の領域を、互いに重ならずかつ再配置後の前記第三の領域と重ならないように配置し直し、
前記データ復元手段は、再配置後の前記第二の領域が配置される前記セクションに既に格納されているパケットを使用せずに前記復元処理を行う、
ことを特徴とする受信装置。
（付記３）
前記第一の領域配置手段および前記第二の領域配置手段は、通信の状況に応じて、それぞれ、前記第一の領域のサイズおよび前記第二の領域のサイズを変更する、
付記２記載の受信装置。
（付記４）
受信されたパケットを格納するためのセクションを複数有するバッファをリングバッファ制御方式によって管理するバッファ管理方法であって、
第一の領域のサイズに相当する前記セクションの個数を表わす第一の個数および第二の領域のサイズに相当する前記セクションの個数を表わす第二の個数を、両個数の総数が前記バッファの有する前記セクションの総数以下に収まるように決めておき、
前記第一の個数だけ連続する前記セクションの集合の位置に前記第一の領域を配置しておき、前記第一の領域が配置されていない、前記第二の個数だけ連続する前記セクションの集合の位置に、前記第二の領域を配置しておき、
前記第一の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されてから前記第二の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されるまでに、最後にパケットが格納された前記セクションの位置またはそれよりも後方の所定の範囲内にあるいずれかの前記セクションの位置に先頭が配置されるように前記第二の領域を移動させ、移動後の前記第二の領域と重ならないように前記第一の領域を移動させ、
移動後の前記第二の領域が配置される前記セクションに既に格納されているパケットを無効にする、
ことを特徴とするバッファ管理方法。
（付記５）
受信されたパケットを格納するためのセクションを複数有するバッファをリングバッファ制御方式によって管理するバッファ管理方法であって、
第一の領域のサイズに相当する前記セクションの個数を表わす第一の個数、第二の領域のサイズに相当する前記セクションの個数を表わす第二の個数、および第三の領域のサイズに相当する前記セクションの個数を表わす第三の個数を、これら３つの個数の総数が前記バッファの有する前記セクションの総数以下に収まるように決めておき、
前記第一の個数だけ連続する前記セクションの集合の位置に前記第一の領域を配置しておき、前記第一の領域が配置されていない、前記第二の個数だけ連続する前記セクションの集合の位置に、前記第二の領域を配置しておき、前記第一の領域および前記第二の領域のいずれも配置されておらず、かつ、前記第一の領域が配置される前記セクションのうちの最後尾の前記セクションと前記第二の領域が配置される前記セクションのうちの先頭の前記セクションとの間にある、前記第三の個数だけ連続する前記セクションの集合の位置に、前記第三の領域を配置しておき、
前記第一の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されてから前記第三の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されるまでに、最後にパケットが格納された前記セクションよりも後方の所定の範囲内にある前記セクションの位置に先頭が配置されるように前記第三の領域を移動させ、前記第一の領域および前記第二の領域を互いに重ならずかつ移動後の前記第三の領域と重ならないように移動させ、
移動後の前記第二の領域が配置される前記セクションに既に格納されているパケットを無効にする、
ことを特徴とするバッファ管理方法。
（付記６）
受信されたパケットを格納するためのセクションを複数有するリングバッファが設けられたコンピュータに用いられるコンピュータプログラムであって、
受信されたパケットをリングバッファ制御方式によって前記リングバッファに格納させる格納処理と、
前記リングバッファに格納されているパケットを組み立てることによってデータを復元する処理と、
前記リングバッファが有する前記セクションの総数未満のセクション数に相当するサイズの第一の領域を前記リングバッファに配置する処理と、
前記リングバッファが有する前記セクションの総数と前記第一の領域のサイズに相当するセクション数との差未満のセクション数に相当するサイズの第二の領域を、前記第一の領域と重ならないように前記リングバッファに配置する処理と、
前記第一の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されてから前記第二の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されるまでに、最後にパケットが格納された前記セクションの位置またはそれよりも後方の前記セクションの位置に先頭が配置されるように前記第二の領域を配置し直す処理と、
再配置後の前記第二の領域と重ならないように前記第一の領域を配置し直す処理と、
再配置後の前記第二の領域が配置される前記セクションに既に格納されているパケットを以外のパケットを使用してデータを復元する処理と、
をコンピュータに実行させるためのコンピュータプログラム。
（付記７）
受信されたパケットを格納するためのセクションを複数有するリングバッファが設けられたコンピュータに用いられるコンピュータプログラムであって、
受信されたパケットをリングバッファ制御方式によって前記リングバッファに格納させる処理と、
前記リングバッファに格納されているパケットを組み立てることによってデータを復元する処理と、
前記リングバッファが有する前記セクションの総数未満のセクション数に相当するサイズの第一の領域を前記リングバッファに配置する処理と、
前記リングバッファが有する前記セクションの総数と前記第一の領域のサイズに相当するセクション数との差未満のセクション数に相当するサイズの第二の領域を、前記第一の領域と重ならないように前記リングバッファに配置する処理と、
前記リングバッファが有する前記セクションの総数と前記第一の領域および前記第二の領域の各サイズに相当するセクション数同士の和との差未満のセクション数に相当するサイズの第三の領域を、前記第一の領域の最後尾と前記第二の領域の先頭との間に配置する処理と、
前記第一の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されてから前記第三の領域が配置されている最後尾の前記セクションに新たに受信されたパケットが格納されるまでに、最後にパケットが格納された前記セクションよりも後方の所定の範囲内にある前記セクションの位置に先頭が配置されるように前記第三の領域を配置し直す処理と、
前記第一の領域および前記第二の領域を互いに重ならずかつ再配置後の前記第三の領域と重ならないように配置し直す処理と、
再配置後の前記第二の領域が配置される前記セクションに既に格納されているパケットを以外のパケットを使用してデータを復元する処理と、
をコンピュータに実行させるためのコンピュータプログラム。
【図面の簡単な説明】
【０１０３】
【図１】本発明に係るバッファ管理方法が適用されるネットワークの全体的な構成の例を示す図である。
【図２】携帯電話端末のハードウェア構成の例を示す図である。
【図３】携帯電話端末の機能的構成の例を示す図である。
【図４】受信データ管理テーブル、受信領域、および廃棄領域の位置関係の例を示す図である。
【図５】基地局がパケットを送信する処理の流れの例を説明するための図である。
【図６】受信領域および廃棄領域の移動の例を説明するための図である。
【図７】携帯電話端末における受信処理および領域管理処理の流れの例を説明するフローチャートである。
【図８】受信データ管理テーブル、受信領域、廃棄領域、および緩和領域の位置関係の例を示す図である。
【図９】携帯電話端末の機能的構成の例を示す図である。
【図１０】受信領域、廃棄領域、および緩和領域の移動の例を説明するための図である。
【図１１】携帯電話端末における受信処理および領域管理処理の流れの例を説明するフローチャートである。
【符号の説明】
【０１０４】
１Ａ、１Ｂ  携帯電話端末（受信装置）
１０ｄ  無線回路（受信手段）
１０１、１２１  データ書込部（パケット格納処理手段）
１０３、１２３  対象データ復元部（データ復元手段）
１ＪＸ、２ＪＸ  受信領域起点ポインタ（第一の領域配置手段）
１ＪＹ、２ＪＹ  受信領域終点ポインタ（第一の領域配置手段）
１ＨＸ、２ＨＸ  廃棄領域起点ポインタ（第二の領域配置手段）
１ＨＹ、２ＨＹ  廃棄領域終点ポインタ（第二の領域配置手段）
２ＫＸ  緩和領域起点ポインタ（第三の領域配置手段）
Ｃ  パケット格納セクション（セクション）
Ｐ  パケット
ＲＡ、ＲＳ  受信領域（第一の領域）
ＲＢ、ＲＴ  廃棄領域（第二の領域）
ＲＵ  緩和領域（第三の領域）
ＴＬＪ、ＴＬＪ’  受信データ管理テーブル（リングバッファ）
【図１】
0004703462.tif 000002
【図２】
0004703462.tif 000003
【図３】
0004703462.tif 000004
【図４】
0004703462.tif 000005
【図５】
0004703462.tif 000006
【図６】
0004703462.tif 000007
【図７】
0004703462.tif 000008
【図８】
0004703462.tif 000009
【図９】
0004703462.tif 000010
【図１０】
0004703462.tif 000011
【図１１】
0004703462.tif 000012