JP2004289574A - Apparatus and method for transferring data and data transfer program - Google Patents

Apparatus and method for transferring data and data transfer program Download PDF

Info

Publication number
JP2004289574A
JP2004289574A JP2003080028A JP2003080028A JP2004289574A JP 2004289574 A JP2004289574 A JP 2004289574A JP 2003080028 A JP2003080028 A JP 2003080028A JP 2003080028 A JP2003080028 A JP 2003080028A JP 2004289574 A JP2004289574 A JP 2004289574A
Authority
JP
Japan
Prior art keywords
data
packet
layer
maximum count
pdu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003080028A
Other languages
Japanese (ja)
Inventor
Azusa Iwai
梓 岩井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003080028A priority Critical patent/JP2004289574A/en
Publication of JP2004289574A publication Critical patent/JP2004289574A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technique for efficiently realizing a data transfer based on WCDMA standards while suppressing data capacitance developed on a RAM to a small value. <P>SOLUTION: In order to perform a communication according to a communication rule specified at each layer, data are acquired from a high order layer, the data acquired until becoming a basic unit length are added to a predetermined header before a maximum count is measured to generate a packet while measuring a lapse time from the acquirement of the data up to a predetermined maximum count. After the maximum count is measured, the packet of the basic unit length is transferred to a low order layer when the packet of the basic unit length is generated while processing to generate or processing to discard the packet for transferring the data which has not been transferred to the low order layer, to the low order layer of the data acquired. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、層毎に規定した通信規約に従って通信を行うに当たり、特定層でのデータ転送を制御するデータ転送装置、データ転送方法およびデータ転送プログラムに関する。
【0002】
【従来の技術】
近年、携帯電話等の移動通信帯において高速通信の要請が高まりつつあるが、音声通話を前提に開発された従来の通信システムでは高速データ転送が困難であった。そこで、いわゆる第3世代と呼ばれる規格が策定され、WCDMA規格(WCDMAは株式会社NTTドコモの登録商標)として知られている。このWCDMA規格では通信体間で守るべき約束事が通信規約として規定されており、OSI参照モデルに準拠しながらMAC層(Medium Access Control Layer)、その上位のRLC層(Radio Link Control Layer)、その上位のRRC層(Radio Resource Control Layer)等、各階層で扱うデータフォーマットが決められている。(例えば、非特許文献1参照。)。
【0003】
【非特許文献1】
“3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Radio Link Control(RLC)protocol specification(release 1999) 3GPP TS 25.322 V3.11.0(2002−06) Technical Specification”2002年6月発行,22ページ
【0004】
【発明が解決しようとする課題】
上述した規格においては、通信体間が満たすべき約束事および結果は示してあるが、具体的な実現方法やデータ処理についての詳細は規定していない。従って、実際に上記規格を準拠しながら通信端末において大容量データを高速に転送するためには通信端末の提供メーカーが具体的な処理を決定し、その処理を実現する通信端末を作成する必要がある。このデータ処理に時間を要すると高速データ転送時のボトルネックとなるし、多くのリソースを必要とするものであれば通信端末のコストが高くなる。
本発明は、上記課題にかんがみてなされたもので、RAM上に展開されるデータ容量を小さく抑えながら効率的にWCDMA規格に準拠したデータ転送を実施することが可能なデータ転送装置、データ転送方法およびデータ転送プログラムの提供を目的とする。
【0005】
【課題を解決するための手段および発明の効果】
上記目的を達成するため、本発明では、所定の時間間隔を計測するタイマーを設定し、タイマー切れに達するまでは上位層からのデータを待ちつつ、上位層からデータを取得したら基本単位長の総てがヘッダとデータとで構成されるパケットを生成する。上位層からのデータを待ちながらデータを取得することなくタイマー切れになった場合には未転送のデータを下位層に転送するかあるいは未転送のデータを破棄する。すなわち、特定層では上位層から取得したデータから所定の基本単位長のパケットを生成して下位層に転送しており、所定のヘッダとデータを含むパケットを生成するに当たり、パケット生成手段では所定のヘッダに対して基本単位長になるまで上記取得したデータを付加してパケットを生成する。また、本発明ではデータの取得後にカウントを開始して最大カウントまで計測することにより、当該最大カウント数に相当する時間間隔まで計測するタイマーを実現しており、このタイマーはデータを取得してから計測を行う。
【0006】
従って、上位層から特定層に次々にデータが転送されている状況ではデータを取得した時点でタイマーのカウントが初期値にリセットされ、タイマー切れ(最大カウントに達した状態)になることが無く次々にデータを転送することができる。以上の構成により、転送すべきデータとしてパケットの基本単位長を超えるデータが存在する限りできるだけデータを書き込みながらパケットを生成し、生成された基本単位長のパケットがパケット転送手段によって順次下位層に転送されることになる。
【0007】
基本単位長に満たないデータが下位層に転送されずに残っている場合はパケット生成手段が所定のヘッダに対して基本単位長になるまで上記取得したデータを付加する処理により、基本単位長の途中までがデータで構成された、基本単位長に満たないパケットを生成する。このパケットはRAM内にバッファリングされた状態となる。この状態でさらに上位層からデータを取得すると、パケット生成手段の処理により基本単位長に達しないままバッファリングされていたパケットに当該取得したデータが追加され、基本単位長のパケットが生成される。
【0008】
上述のように、基本単位長に満たないパケットがRAM内にバッファリングされた状態で上位層から特定層にデータが送られないときにはタイマー切れになり、未転送データは下位層に転送可能なパケットとされ、あるいは破棄される。下位層に転送可能なパケットにするためには基本単位長になるまでパディングを行う構成等を採用可能である。すなわち、データを転送する際にはバッファ内に蓄積しておく時間が短いほど、また、転送するパケット内に無為なデータ(パディング等)が少ないほど効率的な転送が可能である。そこで、本発明ではタイマーによって所定の時間間隔を区切って処理を行っており、この時間間隔内ではパケット内になるべくデータを書き込んで下位層に受け渡すが、所定時間が経過しても上位層からデータを取得できないときには未転送データを転送あるいは破棄する。
【0009】
すなわち、タイマーによる計測により、上位層からデータが送られない状態でいつまでも上位層からのデータを待つことなく、必要に応じてパディング等を行ってパケットを転送するかあるいはデータを破棄する。従って、非常に効率的に下位層に対してデータを受け渡すことができる。上記タイマーの時間間隔内では取得したデータをなるべくパケット内に書き込んで逐次下位層に受け渡すので、多くのRAM容量を必要としない。また、取得したデータによってパケットの基本単位長を満たすことができない場合には転送待ちとなるが、転送待ちのデータ容量が基本単位長に書き込み可能なデータ容量を超えることがないので、多くのRAM容量を必要としない。従って、RAM上に展開されるデータ容量を小さく抑えながら効率的にWCDMA規格に準拠したデータ転送を実施することができる。
【0010】
上記データ取得手段においては上位層からデータを取得することができれば良く、上位層における処理によって上位層から特定層への転送データにヘッダを付加していたとしてもこの転送データとヘッダとを含むデータが本発明にかかる特定層で取得するデータである。また、各層において通信を実現するために層毎にデータ取得可能になったことを上位層あるいは下位層に伝えながら通信を行う構成であっても良い。すなわち、データ取得手段においては本発明にかかる特定層でデータを取得可能になったときに上位層にその旨を通知してデータを受信する構成としても良い。
【0011】
パケット生成手段では通信規約に従った基本単位長のパケットを生成することができればよい。基本単位長はデータの転送先となる下位層に受け渡すデータの最小単位であり、通信に際して予め下位層と特定層とで共通の基本単位長が決められていればよい。具体的な基本単位長としては種々のデータ容量を採用可能である。すなわち、データ転送装置で常に固定的であることは必須ではなく、データ転送装置の使用態様やデータ転送レート、ユーザ設定によって変更しても良いし、通信毎に下位層あるいは上位層と通信を行って決定してもよい。基本単位長が一旦決められるとこの単位毎に特定層から下位層にパケットが転送されるが、このパケットではヘッダおよびデータを合わせて基本単位長になる限り、個々の容量は可変である。すなわち、通信規約にて必要とされるヘッダはデータの内容によって可変的であるし、ヘッダの容量によってデータ容量も可変である。
【0012】
未転送データ処理手段では未転送データについて処理することができれば良く、未転送データについて下位層に転送可能な基本単位長のパケットとして転送しても良いし、破棄しても良く、通信速度や処理速度の観点から都合の良い方を選択すればよい。例えば、上記パケット生成手段での処理が既に行われた状態で、基本単位長に達しないままのパケットがバッファリングされているときには、当該バッファリングされているパケットが未転送データになるし、パケット生成手段による処理がなされていなくても、データ取得手段によって取得され、下位層に転送されていないデータは未転送データである。パケット転送手段では生成された基本単位長のパケットを下位層に転送することができれば良く、上記パケット生成手段にて生成されたパケットや未転送データ処理手段にて生成されたパケットを下位層に転送する。
【0013】
所定の通信規約に従って各層での処理を行って通信を行う際には、例えば単位時間当たりに電波に重畳可能なデータ容量など、データ転送の物理的な制約によって各層での単位処理当たりのデータ容量が決まる場合が多い。そこで、本発明における特定層において送信モード設定手段を形成し、上記データ取得手段では送信モードにおいてデータを取得する構成を採用するのが好ましい。
【0014】
すなわち、送信モード設定手段では、上記下位層へのデータ転送可能指示を当該下位層から取得する。下位層からデータ転送可能指示を受け取ったときには下位層にデータ転送可能であるので、特定層の状態を送信モードとし、この送信モードにおいて上位層からのデータ取得と下位層への転送処理を行う。送信モードでデータ転送を行うため、このモードにおいて上記データ取得手段と上記パケット生成手段と上記未転送データ処理手段と上記パケット転送手段とが処理を行う。
【0015】
これにより、下位層においてデータ取得不能であるときにデータ処理を行うことを防止することができ、必要最低限のバッファ用RAMを備えれば充分である。また、下位層では上述のように基本単位長を一回の最小データ転送量とするが、下位層がこれよりさらに下の層にデータを転送する際には当該基本単位長のパケットを所定数分まとめて転送する。そこで、一回のデータ転送可能指示に対して上記パケット転送手段が所定数の基本単位長のパケットを転送した後に送信モード設定手段は上記送信モードを解除する。
【0016】
従って、下位層でパケットを受け取ることができる状況下において特定層が送信モードになっているよう構成することができる。また、本発明おいては、上述のように上位層から特定層に次々にデータが転送されている状況でデータを取得する度にタイマーのカウントをリセットし、次々にデータ転送できるようにしているが、送信モードの設定によれば下位層での処理容量を超えるデータを次々に取得することはない。従って、バッファ用RAMの容量を抑えることができる。
【0017】
未転送データ処理手段の好適な構成として、送信モードの解除タイミングとカウントとの双方を加味する構成を採用可能である。すなわち、送信モードが解除されるのは上位層からデータを受け取ってから上記パケット転送手段が所定数の基本単位長のパケットを転送した後である。この後、再び送信モードに設定されるのは特定層で下位層からデータ転送可能指示を受け取ったときである。上記計測手段は送信モードの設定にかかわらず計測を続けており、このように再び送信モードに設定された状態で最大カウントが計測される以前であれば、上記パケット生成手段によって未転送のデータが処理される。
【0018】
未転送のデータによって基本単位長のパケットが生成されれば下位層に転送されるが、未転送のデータによって基本単位長を満たすことができない場合にはパケットを転送しないまま上位層からのデータを待つことになる。しかし、ここではデータを待ちながら最大カウントが計測されたときに、当該未転送のデータが含まれるパケットに対してパディングを行って基本単位長のパケットとする。基本単位長のパケットが生成されれば、このパケットはパケット転送手段によって下位層に転送される。従って、いつまでも上位層からのデータを待つことなく未転送のデータを下位層に転送することができる。
【0019】
尚、上述のように送信モード解除後に再び送信モードになったときに未転送のデータが含まれるパケットが存在しなければ、所定の通信規約に従って前回送信したパケットが最後である旨を示すヘッダを有するパケットを生成する。上位層から特定層にデータが受け渡されればこのパケットに対して当該データを書き込み、上位層から特定層にデータが受け渡されなければこのパケットに対してパディングを行って下位層に転送すればよい。また、上述のように再び送信モードになったときに、上位層からデータが受け渡されることによってタイマーがリセットされた場合は、パディング等を行わず、上記パケット生成手段による処理により、上位層から受け取ったデータとともに未転送データを転送することができる。
【0020】
未転送データ処理手段の構成例として送信モードの解除タイミングとカウントとの双方を加味する構成を採用する例としては他にも種々の構成例が採用可能である。例えば、送信モードが解除され、再び送信モードが設定される前に計測手段で上記最大カウントが計測された場合に未転送データを破棄する構成を採用可能である。すなわち、再び送信モードに設定される以前に最大カウントが計測されていると、再び送信モードになった時点で上記パケット生成手段は未転送データについて処理を行っていない。
【0021】
従って、未転送データを転送しようとすると基本単位長のパケットを生成する処理を行う必要があり、処理に時間を要する。そこで、未転送データを破棄してしまえば上位層から次のデータを受け渡されたとしてもすぐに処理を開始することができる。音声通話のように、送信側と受信側で厳密なデータの一致を要しない場合にはデータを破棄してしまっても問題が生じないことが多い。また、厳密なデータの一致を要する場合であっても、破棄された場合には受信側から再送要求を行い、この再送要求に応じる構成をとる通信規約が多いので、再送を行えばよい。尚、再び送信モードが設定される前に計測手段で上記最大カウントが計測された場合に、未転送データを破棄することなく当該未転送データから基本単位長のパケットを生成し、下位層に転送する構成を採用することも可能である。
【0022】
上記計測手段においては、データ取得手段によってデータを取得してからの経過時間を計測し、最大カウントまで計測を続けることによって所定の時間間隔を計測するタイマーとして機能することができればよい。最大カウントに相当する時間間隔としては上位層からデータを取得するための待ち過ぎを防止可能な時間であればよいが、その好適な構成例として最大カウントに相当する時間間隔を上記データ転送可能指示がなされる最小の時間間隔以下にする例を採用可能である。
【0023】
すなわち、データ転送可能指示は下位層でデータ受け取り可能になった時点で下位層から本発明にかかる特定層に対してなされるが、データ受け取り可能になるのは下位層からさらに下の層へデータを転送した後である。従って、下位層における単位時間当たりのデータ転送速度に応じてデータ転送可能指示がなされる最小の時間間隔は決まってくる。当該最小の時間間隔以下に上記計測手段の最大カウントを決めておけば、本発明によって上位層からデータが送られない状態でいつまでも上位層からのデータを待つことを防止するに際してデータ転送可能指示を最大一回だけ待ち、未転送データがあれば二回目のデータ転送可能指示がなされる前に処理してしまうことができる。従って、効率的にデータを処理することができる。
【0024】
また、層構造における各層の通信規約を規定する構成においては、最下位層におけるデータ転送の物理的な制約(物理層での単位時間でのデータ転送量)によって各層での単位処理当たりのデータ容量が決まる場合が多い。すなわち、物理層での一回の送信データ量より多くのデータを物理層に受け渡しても物理層で送信待ちが発生するので、各層では、物理層での送信毎に当該物理層での一回の送信データ量に相当するデータを受け渡せるようにデータ処理を行えば充分である。従って、最大カウントを物理層で所定送信単位のデータを転送するための時間間隔以下にすることにより、物理層での転送周期においてデータ転送を行わない周期の発生頻度を低下させることができる。
【0025】
ところで、上述したデータ転送装置は、データ転送のために時系列に所定の工程を実施する方法としても機能する。従って、請求項7に記載の発明のようにデータ転送方法としても発明を構成する、請求項2〜請求項6に対応した構成にすることも可能である。また、このようなデータ転送装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものである。従って、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。発明の思想の具現化例としてデータ転送装置の制御ソフトウェアとなる場合には、かかる機能を実現するプログラムが当然に存在する。請求項8にかかる発明は、上述した機能を実現するデータ転送プログラムである。むろん、ここでも請求項2〜請求項6に対応した構成にすることが可能である。
【0026】
【発明の実施の形態】
以下、下記の順序に従って本発明の実施形態を説明する。
(1)データ転送装置の構成:
(2)RLC層での処理概要:
(3)データ転送処理:
(4)RLC層での動作例:
(5)他の実施形態:
【0027】
(1)データ転送装置の構成:
図1は、本発明を携帯電話に適用した実施形態における携帯電話10の構成を示すブロック図である。携帯電話10はMPU20を備えており、同MPU20はRAM21およびROM22とによってプログラム実行環境を構成しており、RAM21をワークエリアとして各種プログラムを実行可能である。各種プログラムとしてはOS23およびRRCモジュール24,RLCモジュール25,MACモジュール26を備えている。RRCモジュール24,RLCモジュール25,MACモジュール26はOS23の実行下において通信制御処理を行っている。
【0028】
本実施形態における携帯電話10はWCDMA規格に準拠した通信を行うようになっており、RRCモジュール24はRRC層でのデータ転送を制御し、RLCモジュール25はRLC層でのデータ転送を制御し、MACモジュール26はMAC層でのデータ転送を制御する。MPU20は、他の機器とのインタフェースとしてTxコントローラ27aとRxコントローラ27bとI/F28とを備えている。I/F28はCODEC12と接続されており、CODEC12はスピーカ12aおよびマイク12bと接続されている。
【0029】
すなわち、マイク12bによってアナログ電気信号に変換された音声はCODEC12によってデジタルデータ化され、I/F28を介してMPU20に供給される。このデジタルデータは送信されるデータとなる。また、MPU20は受信データから音声をコーディングしたデジタルデータを生成し、I/F28を介してCODEC12に供給する。CODEC12では当該デジタルデータをアナログ電気信号に変換しスピーカ12aから音声を発生させる。
【0030】
Txコントローラ27aはTx制御部11aにデータを転送するインタフェースであり、データ送信時にMACモジュール26によって生成されたMAC層のデータをTx制御部11aに転送するようになっている。Rxコントローラ27bはRx制御部11bからデータを受信するインタフェースであり、受け取ったデータをMACモジュール26に受け渡す。
【0031】
携帯電話10は、基地局と無線通信を行うためRFモジュール11を備えており、同RFモジュール11にはTx制御部11aとRx制御部11bとRFコントローラ11cとが備えられている。すなわち、RFモジュール11はデータを電波に重畳し、あるいは検波するモジュールであり、RFコントローラ11cはMPU20の制御信号によってRFモジュール11の電源管理や利得制御等を実施しながら、電波の送受信を制御する。ここで、RFモジュール11からは特定周期毎に電波を授受して通信を実施可能であり、特定周期内で特定容量のデータを授受する。
【0032】
Tx制御部11aは、MACモジュール26によって生成されたデジタルデータを取得し、RFモジュール11で重畳可能なデータを作成するとともに当該作成したデータをRFモジュール11に受け渡す。Rx制御部11bは、RFモジュール11にて受信した電波に対して検波を行って得られたデータからMACモジュール26に受け渡すデータを作成する。当該作成したデータはMACモジュール26に受け渡される。
【0033】
尚、図1のOS23においては、図示しない各種プログラムを実行可能である。例えば、図示しないユーザインタフェースによってデータの入出力を実施可能に構成するとともに各種アプリケーションプログラムを実行可能とし、メール送信,写真,動画データの送信を実施可能に構成しても良い。むろん、携帯電話10は電話番号の入力やコネクションの確立を制御するプログラムを搭載しているし、RRC層が生成したデータをさらに各種アプリケーションに受け渡すための処理や逆の処理を実施するプログラムも搭載する。
【0034】
(2)RLC層での処理概要:
本実施形態におけるデータ転送プログラムは上記RLCモジュール25に相当する。すなわち、本実施形態では上述の特定層がRLC層であり、以下このRLC層での処理概要を説明する。RLC層においてRLCモジュール25が本発明にかかる処理を実施するため、RLCモジュール25はタイマー機能を備えており、図1に示すようにRAM21においてSDUバッファ21aとPDUバッファ21bという2種類のバッファを確保して処理を行う。
【0035】
図2は、RLC層でのデータ授受を説明する説明図であり、RLC層,RLC層より上位のRRC層,RLC層より下位のMAC層,MAC層より下位の物理層を図示している。データ送信に際してMACモジュール26はMAC層にてデータを転送することが可能になったとき、データ転送可能指示を行う(本実施形態ではこのデータ転送可能指示をTTIイベントと呼ぶ)。TTIイベントが発生したときにはRLCモジュール25がRRC層からSDU(Service Data Unit)と呼ばれるデータユニットを取得する。
【0036】
すなわち、送信データはSDUとしてRRC層からRLC層に受け渡されるようになっており、RRCモジュール24は当該SDUを作成してRLC層に受け渡す。RLCモジュール25は、ヘッダとデータとから構成されるとともに基本単位長のデータ容量となるパケット(PDU:Protocol Data Unit)を生成する。このとき、RLCモジュール25は上記RAM21内のSDUバッファ21aに上記取得したSDUをバッファリングし、バッファリングされたデータを逐次PDUバッファ21bにコピーしながらPDUを生成する。
【0037】
RLCモジュール25は、PDUバッファ21bにバッファリング中のデータ容量が基本単位長に達したらそのデータをPDUとしてMAC層に転送する。すなわち、RLC層からMAC層へは当該PDUを単位としてデータが転送され、また、本実施形態では4つのPDUをセットで処理するようになっている。すなわち、MACモジュール26は物理層にデータを転送する際に4つのPDUを一回の転送単位として処理を行っており、RLCモジュール25はこの転送単位に合わせて4つのPDUをセットで処理する。
【0038】
物理層は主に上記RFモジュール11,Tx制御部11a,Rx制御部11b,RFコントローラ11cでの処理に相当しMAC層から取得したデータを電波に重畳して外部に送信する。ここで、物理層においては一回のデータ送信に際してT(ms)の時間を費やしており、RLCモジュール25でセットとする上記4つのPDUは物理層にて当該T(ms)で送信する容量のデータを作成するために必要なデータ容量である。尚、上記タイマー機能はRLC層にてSDUを取得したときにリセットされるとともにリセット後から当該T(ms)の計測を行う機能であり、上記MPU20を駆動するクロックの数を計測する構成や上記OS23の機能として提供されたタイマーを流用する構成等によって実現可能である。
【0039】
また、RLCモジュール25は、このタイマーによってSDU取得後の経過時間を計測しているときには、上記SDUの取得やPDUの生成、転送処理を行う。基本単位長のPDUに達しなければRRC層からのデータ取得を待って、データを受け取った場合にバッファリング中のPDUにデータを追加する。タイマーによってT(ms)を計測し終えたときには、データ取得の待機を停止し、その時点で未転送のデータがあればPDUを生成してMAC層に転送するか、あるいは当該未転送のデータを破棄する。
【0040】
図3は、上記PDUのデータ構造を説明する説明図である。同図において上部に記載した0〜7は各ビットの桁番号を示している。すなわち、同図に示した矩形の横方向はPDUの各データの容量をビット単位で示している。また、同図にて矩形が縦方向に8段並べてあるが、これは本実施形態におけるPDUの容量(基本単位長)を示している。すなわち、本実施形態では8ビットのデータ8個(合計8バイト)によってPDUが構成されている。むろん、これらの数値は一例であり、基本単位長がより大きなPDUを利用する構成であっても良い。
【0041】
当該PDUの構成は上述の非特許文献等に規定された規約に従っている。すなわち、PDUの先頭にはヘッダを付し、ヘッダの後にデータあるいはパディングを記述するフォーマットとなっている。ヘッダは各種の意味に相当するフラグであるが、ここでは本発明に関連するヘッダを中心に説明する。ヘッダSNは通し番号(Seqential Number)を示すフラグであり、ひとまとまりのデータを受信側で再構築したり再送信時の識別のために付与される。
【0042】
ヘッダHE(Header Extension Type)は後ろに続くビットの内容を示しており、ヘッダHEが”00”のときにはデータが続くことを意味し、ヘッダHEが”01”のときにはヘッダLIが続くことを示している。ヘッダLI(Length Indicator)は各種の意味を有しており、PDU内のデータがひとまとまりのSDUの最後であるとともにそのデータの長さを示すことが可能である。本実施形態においては、データの長さをバイトで示すようになっている。また、直前のパケットでデータが終了していることおよびパディングが存在することを示すことが可能であり、本実施形態において前者は”0000000”(以下、終了フラグと呼ぶ)であり、後者は”1111111”(以下、パディングフラグと呼ぶ)である。
【0043】
ヘッダLIの長さは7ビットであり、繰り返し記載することができるし、パケットにまたがってデータが続くときにはヘッダLIを省略することができる。但し、ヘッダLIが続くのかヘッダLIの後にデータが続くのかを示す必要があり、これはヘッダE(Extension bit)で指示される。すなわち、ヘッダEが”0”のときはデータが続き、ヘッダEが”1”のときはヘッダLIが続くことを示している。ヘッダEが”0”のときにはその後にデータが記述され、ここに上記取得するSDUを適宜分割して記述することになる。このデータは可変長であり、データによってPDUの8バイトを満たすことができないときには適宜パディングを行うようになっている。
【0044】
(3)データ転送処理:
以下、上記構成において上記RLCモジュール25が通信規約に従いながら本発明のデータ転送を実現する際の処理を詳細に説明する。図4〜図6はRLCモジュール25での処理を示すフローチャートである。本実施形態においてRLCモジュール25にはデータの送受信およびパケット生成処理を行うTxモード(送信モード)という状態と、待機を行うReady状態との二つの状態が設定されており、TTIイベントの発生およびパケットの処理状況によってこれらの状態が移り変わる。
【0045】
処理を行っていないとき、RLCモジュール25はReady状態(ステップS100)であり、この状態でMAC層からTTIイベントの発生を受け付け待ちを行っている(ステップS105)。同ステップS105にてTTIイベントの発生を受け付けたことを判別すると、RLCモジュール25はステップS110にて状態をTxモードにする。Txモードでは、ステップS115にてさらにTxモードでの状態が遷移するか否かを把握する。
【0046】
Txモードでは、RRC層からデータを取得したとき、後述するループ処理で処理しきれなかった残り(未転送)のデータがあるときおよび上記タイマー機能によって設定時間まで計測した(タイマー切れ)ときの3つの場合にそれぞれに適合した処理を行うようになっており、この処理に移行することを状態遷移と呼んでいる。RRC層からデータが転送されたときにはステップS115の判別により、RLCモジュール25がステップS120にてデータ、すなわちSDUを取得し上記SDUバッファ21aに対してバッファリングする。ステップS125では当該SDUの取得に応じてタイマーをリセットし、上記タイマー機能による計測を開始する。
【0047】
ステップS130では、上記PDUバッファ21bを参照し、PDUバッファ21b内の該当部分にヘッダSNが記述されていないときにヘッダSNを書き込む。すなわち、PDUに対して通し番号を付与してヘッダSNとして記述する。ステップS135では上記SDUバッファ21a内のデータであってPDUバッファ21bに対してコピーしていないデータが当該PDUバッファ21bで処理中のパケットの残り容量(残り容量=基本単位長−書き込み済みのデータ容量)より少ないか否かを判別する。
【0048】
ステップS135にてSDUの未コピーデータがPDUの残り容量より少ないと判別されたときには、当該未コピーデータがSDUの最後になるのでステップS140にてPDUバッファ21bに対して当該未コピーデータのバイト数を示す上記ヘッダLIを書き込む。ステップS135にてSDUの未コピーデータがPDUの残り容量より少ないと判別されないときには、当該未コピーデータがSDUの最後ではないのでステップS140をスキップしてヘッダLIは書き込まない。
【0049】
ステップS145では、さらにSDUバッファ21a内のデータであってPDUバッファ21bに対してコピーしていないデータが当該PDUバッファ21bで処理中のパケットの残り容量より少ないか否かを判別する。ステップS145にてSDUの未コピーデータがPDUの残り容量より少ないと判別されたときには、当該未コピーデータをPDUに記述することによってSDUをすべてPDUに記述することになり、また未コピーデータによってPDUの基本単位長に達しないことになり、ステップS150以降の処理を行う。
【0050】
ステップS145にてSDUの未コピーデータがPDUの残り容量より少ないと判別されないときには、未コピーデータによって基本単位長に達するPDUを生成可能であり、図5に示すステップS200以降の処理を行って当該未コピーデータをPDUに記述する。すなわち、ステップS135,S145にて二回の判別を行うことにより、前者ではヘッダLIを記述すべきか否かを判別し後者では基本単位長に達する場合と達しない場合とで処理を分岐するための判別を行っている。
【0051】
ステップS200ではSDUバッファ21a内の未コピーデータをPDUバッファ21bで処理中のパケットの残り部分に記述する。これにより、ヘッダとデータとによって基本単位長のPDUが生成されるので、ステップS210では当該生成されたPDUをMAC層に転送する。ステップS220では次のパケットを生成する処理を行うために、PDUバッファ21b内を初期化(データの削除)する。ステップS230では上記SDUバッファ21a内の全データをPDUに対してコピーする処理を行ったか否かを判別する。
【0052】
同ステップS230で上記SDUバッファ21a内の全データをPDUに対してコピーする処理を行ったと判別されないときには、さらにSDUバッファ21aに未コピーデータが残っているということであり、ステップS235の判別を行う。ステップS235では上記ステップS210で処理を行ったパケットが現段階のTTIイベントで最後のパケット、すなわち、TTIイベント内でのPDUの送信セットである4個目のパケットであったか否かを判別する。
【0053】
ステップS235で現段階のTTIイベントで最後のパケットであると判別されないときには、現段階のTTIイベントでさらにPDUをMAC層に転送可能であるため、ステップS130以降を繰り返すループ処理を行う。ステップS235で現段階のTTIイベントで最後のパケットであると判別されたときには、現段階のTTIイベントでさらにPDUをMAC層に転送することはできないので、ステップS240にて次にTxモードになったときに残り有状態になるように設定し、ステップS100にジャンプしてRLCモジュール25の状態をReadyとする。
【0054】
上記ステップS230で上記SDUバッファ21a内の全データをPDUに対してコピーする処理を行ったと判別されるのは、上記ステップS200での処理においてSDUバッファ21a内の未コピーデータとPDUバッファ21bで処理中のパケットの残り部分の容量が偶然一致していたときである。この場合は、ステップS250にてSDUバッファ21a内を初期化(データの削除)する。そして、上記ステップS210でMAC層に転送したPDUにヘッダLIを記述したか否かをステップS255で判別し、記述したと判別されないときにはステップS260でPDUバッファ21b内の適切な位置にヘッダLIの終了フラグを付加する。すなわち、次のPDUのヘッダに終了フラグを付加することになり、受信側でこのPDUを受け取ることによってSDUの終了を判定できるようにする。
【0055】
この後は、図4のステップS160の判別を行う。すなわち、上記ステップS210で処理を行ったパケットが現段階のTTIイベントで最後のパケットであったか否かを判別する。同ステップS160にて現段階のTTIイベントで最後のパケットであったと判別されたときにはステップS100にジャンプしてRLCモジュール25の状態をReadyとし、ステップS160にて現段階のTTIイベントで最後のパケットであったと判別されないときにはステップS110にジャンプしてRLCモジュール25の状態をTxモードにする。
【0056】
図4のステップS145でSDUの未コピーデータがPDUの残り容量より少ないと判別された場合、ステップS150では上記SDUバッファ21a内の未コピーデータの総てをPDUに対してコピーする処理を行い、ステップS155にてSDUバッファ21aを初期化する。そして、ステップS160の判別を行う。一方、TxモードにおいてSDUバッファ21a内にデータが残っているときにはステップS115の判別により、RLCモジュール25がステップS130以降の処理を繰り返す。さらに、TxモードにおいてステップS115での判別の段階でタイマーが切れているときには図6に示す処理を実施する。
【0057】
タイマーが切れているときには図6のステップS300においてSDUバッファ21a内のデータの総てをPDUに対してコピーする処理を実施済みであるか否かを判別する。同ステップS300にてSDUバッファ21a内のデータの総てをPDUに対してコピーする処理を実施済みであると判別されない場合、本実施形態ではステップS310にてSDUバッファ21aを初期化する。すなわち、残りの未転送データについては破棄する。データを破棄しても音声通話では問題がない場合が多いので処理を高速に進めることができる。データ通信の場合には受信側からの再送信指示によってデータを再送することができる。ステップS310の処理後にはステップS110にジャンプしてTxモードとなる。
【0058】
ステップS300にてSDUバッファ21a内のデータの総てをPDUに対してコピーする処理を実施済みであると判別されたとき、ステップS320ではPDUバッファ21bを参照し記述済みのデータ、すなわち転送すべきPDUが存在するか否かを判別する。ステップS320で転送すべきPDUが存在すると判別されないときには、ステップS110にジャンプしてTxモードとする。
【0059】
ステップS320で転送すべきPDUが存在すると判別されたときには、ステップS325にてPDUバッファ21bを参照し、処理中のパケットにヘッダSNがなければ適切な通し番号を示すヘッダSNを書き込む。ステップS330ではPDUバッファ21b内にパディングフラグを示すヘッダLIを記述し、ステップS335においてPDUバッファ21bの空き容量に対してパディングを行う。尚、本実施形態においてパディングデータは”0”である。
【0060】
パディングによって基本単位長のPDUが生成されるのでステップS340ではこのPDUをMAC層に転送し、ステップS345にてPDUバッファ21bを初期化する。そして、ステップS350において上記ステップS340で処理を行ったパケットが現段階のTTIイベントで最後のパケットであったか否かを判別し、最後のパケットであったと判別されるまでステップS325以降の処理を繰り返す。
【0061】
以上の処理により、通常はTxモードにおいてRRC層からSDUを取得するのを待ちながらも、タイマー切れに達したときにはその時点での未転送データを処理することができる。すなわち、未転送データが存在し、かつ未転送データがPDUバッファ21bにコピー済みであった場合には、未転送データおよびパディングによってTTIイベント内でのPDUの送信セットである4回のパケットを送信してしまう。これにより、早い段階で次のTTIイベントを発生させることができるし、未転送データに対する処理を行わないまま必要以上に長い時間待ち続けることを防止することができる。
【0062】
(4)RLC層での動作例:
次に、複数の例についてRLCモジュール25が実施する動作例を説明する。図7〜図10はRRC層とRLC層とMAC層における動作を時系列的に示した図であり、上下に示した直線において上方から下方に向けて時間が進むことを示している。尚、図の簡略のため上下に示した直線の長さと時間間隔とは必ずしも一致していない。RLCモジュール25は、上記ステップS100にてReady状態で待機しており、MAC層からTTIイベントの発生を示すデータを受け取ったときにはステップS105の判別を経てステップS110にてTxモードとなる。
【0063】
このTxモードにおいてRLCモジュール25がステップS120でRRC層からハッチを付して示す11バイトのデータ(SDU1)を受け取ると、当該SDU1をSDUバッファ21aに書き込み、ステップS125でタイマーをセットする。図においてハッチを付した矩形はデータを示しており、矩形の一つを1バイトとして示している。また、図に示すような頂点が重なる二つの逆向きの三角形はタイマーのセットを示しているこのタイマーのセットから延びる直線上で×印はタイマーのリセットを示し、直線終端の矢印はタイマーが切れたことを示している。
【0064】
RLCモジュール25は、ステップS130にてPDUバッファ21bを参照する。この段階ではPDUバッファ21bに何も記述されていないので、通し番号を作成してヘッダSNとし、PDUバッファ21bに書き込む。ヘッダSNは2バイトでありPDUの残り容量は6バイトになる。ステップS135ではSDUバッファ21a内の未コピーデータである11バイトとPDUの残り容量を比較して未コピーデータの方が容量が大きいと判別し、さらにステップS145においても同様の判別を行う。そして、ステップS200においてSDUバッファ21aから6バイト抽出し、PDUバッファ21bに書き込む。このとき、SDUバッファ21aの全データを処理した訳ではないのでヘッダLIは不要であり、ヘッダHEを”00”としてヘッダLIを省略する。
【0065】
こうして作成されたPDU1はステップS210にてMAC層に転送される。PDU1の転送後にはさらに次のPDUを生成するため、ステップS220でPDUバッファ21bを初期化し、5バイト分の未コピーデータが存在することをステップS230で判別し、転送済みのPDUが1個であることからステップS235で現段階のTTIイベントで最後のパケットであったと判別せずにステップS130以降の処理を繰り返す。
【0066】
この繰り返しに際しては、ステップS130でPDUバッファ21bにヘッダSNを書き込むが、SDUバッファ21a内の未コピーデータは5バイトであり、ヘッダSN書き込み後のPDUの残り容量は6バイトであるため、ヘッダHEを”01”にするとともにステップS135の判別を経てステップS140でヘッダLIを書き込む。このとき、未コピーデータ容量5バイトを示すヘッダLIにするとともにヘッダEを”0”とする
【0067】
SDUバッファ21a内の未コピーデータとPDUの残り容量は双方とも5バイトである。従って、ステップS145ではSDUバッファ21a内の未コピーデータがPDUの残り容量より少ないと判別せず、ステップS200でPDUを作成する。この結果、SDUバッファ21a内の総てのデータをPDUバッファ21bにコピーしたことになる。このため、ステップS210,S220におけるPDU2の転送と初期化およびステップS230の判別を経てステップS250以降の処理を行う。すなわち、SDUバッファ21aを初期化し、ヘッダLIを書き込み済みであることによってステップS255の判別を経てステップS260をスキップする。さらに、ステップS160においては転送済みのPDUが2個であることから現段階のTTIイベントで最後のパケットであったと判別せずにTxモードを続ける。
【0068】
図7に示す例では、このTxモードにおいてさらにRRC層から12バイトのデータ(SDU2)を取得する場合について示している。このように新たなデータをステップS120で取得すると、ステップS125でタイマーをセットする。すなわち、タイマーをリセットする。この12バイトのデータについて処理を行う際にも上記11バイトのデータと同様の処理を行うが、データ容量が1バイト異なるため、ループの2回目(PDU4の生成処理)においてもステップS140をスキップしてヘッダLIを記述しない。これにより、ステップS255においてヘッダLIを書き込み済みであると判別し、ステップS260で次のPDU(PDU5)のためにそのヘッダに終了フラグを含むヘッダLIを書き込んでおく。
【0069】
PDU4は最初のTTIイベントが発生してから4個目のPDUであるため、ステップS160の判別により、RLCモジュール25はReady状態に復帰する。当該Ready状態への復帰後、MAC層から再びTTIイベントの発生を示すデータを受け取ると、Txモードになる。図7はこのTxモードにおいて新たなSDUをRRC層から取得しないままタイマーが切れた場合の例を示している。図7に示す例では取得済みのSDUについて前回のTxモードで処理してしまっている。また、PDUバッファ21bには既に終了フラグを示すヘッダLIが記述されている。従って、ステップS300にてSDUを総てPDUバッファ21bにコピー済みであると判別し、ステップS320にて転送すべきPDU(ヘッダLI)が存在すると判別する。
【0070】
そして、PDUバッファ21bに対してステップS325にてヘッダSNを書き込み、ステップS330にてパディングフラグを示すヘッダLIを書き込む。むろん、ヘッダHEは”01”とするし、終了フラグを示すヘッダLIの次のヘッダEは”1”とし、パディングフラグの次のヘッダEは”0”とする。そして、ステップS335にてパディングを実施し、ステップS340にてPDUを転送し(PDU5)、ステップS345にてPDUバッファ21bを初期化する。この後は、ステップS350において4回目のPDU(PDU8)を転送したと判別されるまで、ステップS325〜S350を繰り返し、ヘッダとパディングとで構成されるPDU6〜PDU8をMAC層に転送する。
【0071】
尚、図7に示す例においてSDU2のデータ容量が12バイトではなく11バイトであった場合、PDU4に相当するパケットはPDU2と同様の形となり、ヘッダLIによってSDU2データの終了を指示することができる。従って、再びTxモードになったとしてもPDUバッファ21b内に転送すべきPDUは存在せず、データ転送は行わない。
【0072】
図8は、TxモードにおいてRLC層で最初に15バイトのデータ(SDU3)を取得し、次に11バイトのデータ(SDU4)を取得した場合の例を示している。尚、同図においてはハッチの方向を変えることによってSDU3とSDU4とを区別している。SDU3について最初の12バイト分は上記SDU2と同様の処理を行う。すなわち、SDU3のデータ容量は15バイトであり、PDUを生成するための最初の二回分の処理においてはステップS135,S145にて未コピーデータの容量がPDUバッファ21b内の残り容量より少ないと判別せず、ヘッダLIを設けることがない。この結果、ヘッダSNと6バイトのデータからなるPDUを生成し、2回転送する。
【0073】
SDU3のデータを2回のPDUで転送した後には3バイトのデータが残るが、ステップS235の判別を経てさらにステップS130以降を繰り返すので、この場合はステップS135にてSDU3の未コピーデータの容量がPDUバッファ21b内の残り容量より少ないと判別してヘッダLIを書き込む。このヘッダLIはデータ数3バイトを示し、ヘッダEは”0”である。そして、ステップS150にてPDUバッファ21bに3バイトの未コピーデータをコピーし、ステップS155でSDUバッファ21aを初期化する。従って、この時点でSDU3をPDUバッファ21bにコピーする処理は終了している。
【0074】
しかし、このPDUはTTIイベントの発生から3個目のパケットであるため、ステップS160の判別を経て再びTxモードになる。ここで図8に示すようにRLCモジュール25がRRC層から11バイトのデータ(SDU4)を取得すると、ステップS125でタイマーがリセットされ、ステップS130にて当該SDU4に対する処理が開始される。この例では、上述の3個目のパケットとしてPDUが途中まで形成され、残り容量が2バイトであってSDU4が11バイトであるため、ステップS135,S145にてSDU4の未コピーデータの容量がPDUバッファ21b内の残り容量より少ないと判別しない。
【0075】
そして、ステップS200で2バイトの残り容量に対してSDU4の先頭の2バイトを記述し、生成されたPDUをステップS210にてMAC層に転送する。SDUバッファ21aにはSDU4が記述されており、未コピーデータが9バイト存在するので、ステップS230,S235の判別を経てステップS130以降で4個目のパケットの生成作業を行う。このとき、SDUバッファ21a内の未コピーデータは9バイトであるため、ステップS135,S145にて未コピーデータの容量がPDUバッファ21b内の残り容量より少ないと判別せず、ヘッダLIを設けずにパケットを生成してMAC層に転送する。
【0076】
当該転送されるパケットはTTIイベントが発生してから4個目のパケットであり、さらにSDUバッファ21a内にはさらに未コピーデータが3バイト残っているため、ステップS230,S235,S240を経てRLCモジュール25はReady状態となる。図8に示す例ではReady状態になってから再びTTIイベントが発生し、その後RRC層からデータを取得することなくタイマー切れになる例を示している。
【0077】
Ready状態においては、上記SDU4の残り3バイトが未転送データとして残っている。そこで、ステップS115の判別によってステップS130以降の処理を開始する。このとき、3バイトのデータはPDUの残り容量より少ないのでステップS135の判別を経てステップS140にて3バイトを示すヘッダLIが付加される。さらにステップS145の判別を経てステップS150では上記SDU4の残り3バイトをPDUバッファ21bに記述し、SDUバッファ21aを初期化する。この状態においてPDUバッファ21b内のデータはヘッダSNとデータ数3バイトを示すヘッダLIと3バイト分のデータである。
【0078】
このデータがPDUバッファ21bに記述されるとステップS160の判別を行うが、現在のパケットはTTIイベントが発生してから1個目のパケットであるため、当該ステップS160の判別を経て再びTxモードになる。図8に示す例ではこのTxモードにてRRC層から新たにデータを受信しないので、時間の経過によってタイマー切れとなる。このとき、ステップS300,S320の判別を経てステップS325以降の処理を行い、PDUを転送する。
【0079】
すなわち、ステップS330にてPDUバッファ21bにパディングフラグを示すヘッダLIを付加し、ステップS335でパディングを行う。この結果生成されるデータは図8に示すPDU9である。このように、タイマーによって時間を区切ることによりいつまでもRRC層からデータが転送されることを待ち続けることなく、効率的にデータを転送することができる。尚、PDU9をMAC層に転送した後には、上記図7のPDU6〜8と同様の処理を行ってTTIイベントを終了させ、再びReady状態に復帰する。
【0080】
図9は、TxモードにおいてRLC層で最初に30バイトのデータ(SDU5)を取得した場合の例を示している。図9に示す例では1回目のTTIイベントに対してPDUを4回MAC層に転送し、次のTTIイベントが発生する前にタイマーが切れる場合の例を示している。SDU5について最初の24バイト分は上記SDU2に対して行った処理と同様の処理を4パケット分行う。すなわち、SDU5のデータ容量は30バイトであり、PDUを生成するための4回分の処理においてはステップS135,S145にて未コピーデータの容量がPDUバッファ21b内の残り容量より少ないと判別せず、ヘッダLIを設けることがない。この結果、ヘッダSNと6バイトのデータからなるPDUを生成し、4回転送する。
【0081】
SDU5のデータを4回のPDUで転送した後には6バイトのデータが残るが、このデータに対する処理はTxモードになるまで行わない。また、図9に示す例ではMAC層から再びTTIイベントを示すデータを取得する以前にタイマーが切れる。従って、この再度のTTIイベントによってステップS110のTxモードになるが、タイマーが切れているのでステップS115の判別を経て図6のステップS300の判別を行う。この例では、上記残りの6バイトのデータはPDUバッファ21bに対してコピーされていないので、ステップS300の判別を経てステップS310の処理を行う。すなわち、6バイトのデータを破棄する。そして、再びTxモードとなる。
【0082】
(5)他の実施形態:
上記実施形態においては、RLC層を請求項に言う特定層としていたが、層構造の通信において特定層から下位層に対して基本単位長毎にパケットを送信する構成である限りにおいて、RLC層以外の層を請求項に言う特定層としても良い。また、上述の実施形態においては本発明を携帯電話に対して適用していたが、むろん、中継局での通信に対して本発明を適用しても良い。かかる構成により、効率的にデータを中継することが可能になり、通信システム全体として高速に通信を行うことが可能になる。また、上記図3に示すパケットはAMD(Acknowledge Mode Data)と呼ばれるデータについての規約に従っているが、むろん他のデータ、例えばUMD(Unacknowledge Mode Data)と呼ばれるデータについて本発明を適用しても良い。
【図面の簡単な説明】
【図1】携帯電話の構成を示すブロック図である。
【図2】RLC層でのデータ授受を説明する説明図である。
【図3】PDUのデータ構造を説明する説明図である。
【図4】RLCモジュールでの処理を示すフローチャートである。
【図5】RLCモジュールでの処理を示すフローチャートである。
【図6】RLCモジュールでの処理を示すフローチャートである。
【図7】各層における動作を時系列的に示した図である。
【図8】各層における動作を時系列的に示した図である。
【図9】各層における動作を時系列的に示した図である。
【符号の説明】
10…携帯電話、11…RFモジュール、11a…Tx制御部、11b…Rx制御部、11c…RFコントローラ、12…CODEC、12a…スピーカ、12b…マイク、20…MPU、21…RAM、21a…SDUバッファ、21b…PDUバッファ、22…ROM、23…OS、24…RRCモジュール、25…RLCモジュール、26…MACモジュール、27a…Txコントローラ、27b…Rxコントローラ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data transfer device, a data transfer method, and a data transfer program for controlling data transfer in a specific layer when performing communication according to a communication protocol defined for each layer.
[0002]
[Prior art]
In recent years, demand for high-speed communication in a mobile communication band such as a mobile phone has been increasing, but high-speed data transfer has been difficult in a conventional communication system developed on the premise of voice communication. Therefore, a so-called third generation standard has been formulated and is known as the WCDMA standard (WCDMA is a registered trademark of NTT DoCoMo, Inc.). In the WCDMA standard, rules to be maintained between communication bodies are defined as communication protocols, and a MAC layer (Medium Access Control Layer), an upper RLC layer (Radio Link Control Layer), and an upper layer thereof while complying with the OSI reference model. The data format handled in each layer, such as the RRC layer (Radio Resource Control Layer), is determined. (For example, see Non-Patent Document 1.)
[0003]
[Non-patent document 1]
"3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Radio Link Control (RLC) protocol specification (release 1999) 3GPP TS 25.322 V3.11.0 (2002-06) Technical Specification" 6 May 2002 issue, 22 page
[0004]
[Problems to be solved by the invention]
In the above-mentioned standard, promises and results to be satisfied between the communication bodies are shown, but specific implementation methods and data processing details are not specified. Therefore, in order to transfer large-capacity data at high speed in a communication terminal while actually complying with the above standards, it is necessary for the communication terminal provider to determine a specific process and create a communication terminal that realizes the process. is there. If this data processing takes time, it becomes a bottleneck at the time of high-speed data transfer, and if a large amount of resources are required, the cost of the communication terminal increases.
The present invention has been made in view of the above problems, and has a data transfer apparatus and a data transfer method capable of efficiently performing data transfer conforming to the WCDMA standard while suppressing the amount of data developed on a RAM to be small. And a data transfer program.
[0005]
Means for Solving the Problems and Effects of the Invention
In order to achieve the above object, the present invention sets a timer for measuring a predetermined time interval, waits for data from the upper layer until the timer expires, and obtains the basic unit length when acquiring data from the upper layer. A packet composed of a header and data is generated. If the timer expires without acquiring data while waiting for data from the upper layer, the non-transferred data is transferred to the lower layer or the untransferred data is discarded. That is, the specific layer generates a packet having a predetermined basic unit length from the data obtained from the upper layer and transfers the packet to the lower layer. In generating a packet including a predetermined header and data, the packet generation means uses a predetermined packet. A packet is generated by adding the acquired data to the header until the basic unit length is reached. Also, in the present invention, by starting counting after acquiring data and measuring up to the maximum count, a timer that measures up to a time interval corresponding to the maximum count number is realized, and this timer is used after acquiring data. Perform measurement.
[0006]
Therefore, in a situation where data is successively transferred from the upper layer to the specific layer, the count of the timer is reset to the initial value at the time of acquiring the data, and the timer does not run out (the maximum count is reached) one after another. Can transfer the data. With the above configuration, as long as there is data exceeding the basic unit length of the packet as data to be transferred, a packet is generated while writing data as much as possible, and the generated packet having the basic unit length is sequentially transferred to the lower layer by the packet transfer means. Will be done.
[0007]
If data less than the basic unit length remains without being transferred to the lower layer, the packet generation means adds the obtained data to the predetermined header until the basic unit length is reached. Generates a packet that is composed of data up to the middle and that is shorter than the basic unit length. This packet is in a state of being buffered in the RAM. When data is further acquired from the upper layer in this state, the acquired data is added to the packet that has been buffered without reaching the basic unit length by the processing of the packet generation means, and a packet having the basic unit length is generated.
[0008]
As described above, when data less than the basic unit length is buffered in the RAM and data is not sent from the upper layer to the specific layer, the timer expires, and untransferred data is a packet that can be transferred to the lower layer. Or discarded. In order to make a packet transferable to a lower layer, a configuration in which padding is performed until the packet reaches the basic unit length can be adopted. That is, when data is transferred, the shorter the time of accumulation in the buffer, and the smaller the unnecessary data (padding or the like) in the packet to be transferred, the more efficient the transfer. Therefore, in the present invention, processing is performed by dividing a predetermined time interval by a timer. In this time interval, data is written as much as possible in a packet and transferred to a lower layer. When data cannot be obtained, the untransferred data is transferred or discarded.
[0009]
That is, the packet is transferred or the data is discarded by performing padding or the like as necessary without waiting for the data from the upper layer forever without data being transmitted from the upper layer by the measurement by the timer. Therefore, data can be transferred to the lower layer very efficiently. Within the time interval of the timer, the acquired data is written in a packet as much as possible and sequentially passed to the lower layer, so that a large RAM capacity is not required. If the basic unit length of the packet cannot be satisfied by the acquired data, the transfer waits. However, since the data capacity of the transfer wait does not exceed the data capacity that can be written to the basic unit length, many RAMs are required. Does not require capacity. Therefore, it is possible to efficiently perform data transfer conforming to the WCDMA standard while keeping the data capacity developed on the RAM small.
[0010]
The data acquisition means only needs to be able to acquire data from the upper layer, and even if a header is added to the transfer data from the upper layer to the specific layer by the processing in the upper layer, the data including the transfer data and the header. Is data acquired by the specific layer according to the present invention. In addition, the communication may be performed while notifying the upper layer or the lower layer that data can be obtained for each layer in order to realize communication in each layer. In other words, the data acquisition means may be configured to receive the data by notifying the upper layer when the data can be acquired in the specific layer according to the present invention.
[0011]
The packet generation means only needs to be able to generate a packet having a basic unit length according to the communication protocol. The basic unit length is a minimum unit of data to be transferred to a lower layer as a data transfer destination, and it is sufficient that a common basic unit length is previously determined between a lower layer and a specific layer during communication. Various data capacities can be adopted as specific basic unit lengths. That is, it is not essential that the data transfer device is always fixed, and may be changed according to the usage mode of the data transfer device, the data transfer rate, user settings, or perform communication with the lower layer or the upper layer for each communication. May be determined. Once the basic unit length is determined, a packet is transferred from a specific layer to a lower layer for each unit. In this packet, the individual capacity is variable as long as the header and data together make the basic unit length. That is, the header required by the communication protocol is variable depending on the content of data, and the data capacity is also variable depending on the capacity of the header.
[0012]
The untransferred data processing means only needs to be able to process the untransferred data. The untransferred data may be transferred as a packet having a basic unit length that can be transferred to a lower layer, or may be discarded. Whatever is convenient from the viewpoint of speed may be selected. For example, when the packet generation means has already processed the packet and the packet that has not reached the basic unit length is buffered, the buffered packet becomes untransmitted data, Even if the processing is not performed by the generation unit, data acquired by the data acquisition unit and not transferred to the lower layer is untransferred data. The packet transfer means only needs to be able to transfer the packet of the basic unit length generated to the lower layer, and transfers the packet generated by the packet generation means or the packet generated by the untransferred data processing means to the lower layer. I do.
[0013]
When performing communication by performing processing in each layer according to a predetermined communication protocol, the data capacity per unit processing in each layer due to physical restrictions on data transfer, such as the data capacity that can be superimposed on radio waves per unit time Is often determined. Therefore, it is preferable that a transmission mode setting unit is formed in the specific layer in the present invention, and the data acquisition unit adopts a configuration in which data is acquired in the transmission mode.
[0014]
That is, the transmission mode setting means acquires the data transfer enable instruction to the lower layer from the lower layer. When a data transfer enable instruction is received from the lower layer, data transfer to the lower layer is possible. Therefore, the state of the specific layer is set to the transmission mode, and in this transmission mode, data acquisition from the upper layer and transfer processing to the lower layer are performed. In order to perform data transfer in the transmission mode, the data acquisition unit, the packet generation unit, the untransferred data processing unit, and the packet transfer unit perform processing in this mode.
[0015]
Thus, it is possible to prevent data processing from being performed when data cannot be acquired in the lower layer, and it is sufficient to provide the minimum necessary buffer RAM. In the lower layer, as described above, the basic unit length is set to the minimum amount of data transfer at one time. However, when the lower layer transfers data to a layer lower than this, a predetermined number of packets of the basic unit length are transmitted. Transfer in batches. Therefore, the transmission mode setting means releases the transmission mode after the packet transfer means has transmitted a predetermined number of packets of the basic unit length in response to one data transfer enable instruction.
[0016]
Therefore, it is possible to configure the specific layer to be in the transmission mode under the condition that the packet can be received in the lower layer. Further, in the present invention, the timer count is reset every time data is acquired in a situation where data is sequentially transferred from an upper layer to a specific layer as described above, so that data can be transferred one after another. However, according to the setting of the transmission mode, data exceeding the processing capacity of the lower layer is not obtained one after another. Therefore, the capacity of the buffer RAM can be reduced.
[0017]
As a preferable configuration of the untransferred data processing means, a configuration that takes into account both the transmission mode release timing and the count can be adopted. That is, the transmission mode is released after the packet transfer means transfers a predetermined number of packets of the basic unit length after receiving data from the upper layer. Thereafter, the transmission mode is set again when the data transfer enable instruction is received from the lower layer in the specific layer. The measuring means continues measurement regardless of the setting of the transmission mode. Until the maximum count is measured in the state in which the transmission mode is set again, untransferred data is transmitted by the packet generating means. It is processed.
[0018]
If a packet of the basic unit length is generated by the untransmitted data, it is transferred to the lower layer.If the basic unit length cannot be satisfied by the untransmitted data, the data from the upper layer is transferred without transferring the packet. I will wait. However, here, when the maximum count is measured while waiting for data, padding is performed on a packet including the untransferred data to obtain a packet having a basic unit length. When a packet having the basic unit length is generated, this packet is transferred to the lower layer by the packet transfer means. Therefore, untransferred data can be transferred to the lower layer without waiting for data from the upper layer forever.
[0019]
If there is no packet containing untransferred data when the transmission mode is resumed after the transmission mode is released as described above, a header indicating that the previously transmitted packet is the last according to a predetermined communication protocol is added. Generate a packet with If data is passed from the upper layer to the specific layer, the data is written to this packet.If data is not passed from the upper layer to the specific layer, the packet is padded and transferred to the lower layer. Just fine. Also, when the timer is reset by passing data from the upper layer when returning to the transmission mode again as described above, padding or the like is not performed, and processing from the upper layer is performed by processing by the packet generation unit. Untransferred data can be transferred together with the received data.
[0020]
As an example of the configuration of the untransferred data processing means, a configuration in which both the release timing of the transmission mode and the count are taken into consideration is adopted, and various other configuration examples can be adopted. For example, it is possible to adopt a configuration in which the untransferred data is discarded when the maximum count is measured by the measuring unit before the transmission mode is canceled and the transmission mode is set again. That is, if the maximum count is measured before the transmission mode is set again, the packet generation means does not perform processing on the untransferred data when the transmission mode is set again.
[0021]
Therefore, when trying to transfer untransferred data, it is necessary to perform a process of generating a packet having a basic unit length, which takes time. Therefore, if the untransferred data is discarded, the process can be started immediately even if the next data is passed from the upper layer. In the case where it is not necessary to exactly match the data on the transmission side and the reception side as in a voice call, there is often no problem even if the data is discarded. Further, even when strict data matching is required, if the data is discarded, a retransmission request is issued from the receiving side, and there are many communication protocols that are configured to respond to the retransmission request. If the maximum count is measured by the measuring unit before the transmission mode is set again, a packet having a basic unit length is generated from the untransferred data without discarding the untransferred data and transferred to the lower layer. It is also possible to adopt a configuration that performs the following.
[0022]
In the above-mentioned measuring means, it is sufficient that the measuring means can function as a timer for measuring a predetermined time interval by measuring the elapsed time from the data acquisition by the data acquiring means and continuing the measurement up to the maximum count. The time interval corresponding to the maximum count may be any time that can prevent excessive waiting for acquiring data from the upper layer. As a preferred configuration example, the time interval corresponding to the maximum count is set to the data transfer enable instruction. It is possible to adopt an example in which the time interval is smaller than the minimum time interval.
[0023]
That is, the data transfer enable instruction is issued from the lower layer to the specific layer according to the present invention when data can be received in the lower layer, but the data can be received only from the lower layer to the lower layer. After the transfer. Therefore, the minimum time interval at which the data transfer enable instruction is issued is determined according to the data transfer speed per unit time in the lower layer. If the maximum count of the measuring means is determined within the minimum time interval or less, a data transfer enable instruction is issued according to the present invention in order to prevent waiting for data from the upper layer forever without data being sent from the upper layer. The process waits at most once, and if there is untransferred data, it can be processed before the second data transfer enable instruction is issued. Therefore, data can be processed efficiently.
[0024]
Further, in the configuration that defines the communication protocol of each layer in the layered structure, the data capacity per unit processing in each layer depends on the physical restriction of the data transfer in the lowest layer (the amount of data transferred per unit time in the physical layer). Is often determined. In other words, even if more data is transmitted to the physical layer than is transmitted once in the physical layer, a transmission wait occurs in the physical layer. Therefore, each layer transmits once in the physical layer. It is sufficient to perform data processing so that data corresponding to the amount of transmission data can be delivered. Accordingly, by setting the maximum count to be equal to or less than the time interval for transferring data of a predetermined transmission unit in the physical layer, it is possible to reduce the frequency of occurrence of a cycle in which data transfer is not performed in the transfer cycle in the physical layer.
[0025]
By the way, the above-described data transfer device also functions as a method for performing predetermined steps in a time series for data transfer. Therefore, it is also possible to adopt a configuration corresponding to claims 2 to 6, which constitutes the invention as a data transfer method as in the invention described in claim 7. Further, such a data transfer device may exist alone or may be used in a state of being incorporated in a certain device, and the idea of the invention is not limited to this, but includes various aspects. . Therefore, it can be changed as appropriate, such as software or hardware. When the control software of the data transfer device is used as an embodiment of the idea of the present invention, there is naturally a program that realizes such a function. The invention according to claim 8 is a data transfer program that realizes the above-described functions. Needless to say, a configuration corresponding to claims 2 to 6 can be adopted here.
[0026]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in the following order.
(1) Configuration of data transfer device:
(2) Outline of processing in RLC layer:
(3) Data transfer processing:
(4) Operation example in RLC layer:
(5) Other embodiments:
[0027]
(1) Configuration of data transfer device:
FIG. 1 is a block diagram showing a configuration of a mobile phone 10 according to an embodiment in which the present invention is applied to a mobile phone. The mobile phone 10 includes an MPU 20, and the MPU 20 forms a program execution environment with a RAM 21 and a ROM 22, and can execute various programs using the RAM 21 as a work area. The various programs include an OS 23, an RRC module 24, an RLC module 25, and a MAC module 26. The RRC module 24, the RLC module 25, and the MAC module 26 perform communication control processing under the execution of the OS 23.
[0028]
The mobile phone 10 according to the present embodiment performs communication conforming to the WCDMA standard, the RRC module 24 controls data transfer in the RRC layer, the RLC module 25 controls data transfer in the RLC layer, The MAC module 26 controls data transfer in the MAC layer. The MPU 20 includes a Tx controller 27a, an Rx controller 27b, and an I / F 28 as interfaces with other devices. The I / F 28 is connected to the CODEC 12, and the CODEC 12 is connected to the speaker 12a and the microphone 12b.
[0029]
That is, the sound converted into an analog electric signal by the microphone 12b is converted into digital data by the CODEC 12 and supplied to the MPU 20 via the I / F 28. This digital data becomes data to be transmitted. Further, the MPU 20 generates digital data obtained by coding audio from the received data, and supplies the digital data to the CODEC 12 via the I / F 28. The CODEC 12 converts the digital data into an analog electric signal and generates a sound from the speaker 12a.
[0030]
The Tx controller 27a is an interface for transferring data to the Tx control unit 11a, and transfers the MAC layer data generated by the MAC module 26 at the time of data transmission to the Tx control unit 11a. The Rx controller 27b is an interface for receiving data from the Rx control unit 11b, and passes the received data to the MAC module 26.
[0031]
The mobile phone 10 includes an RF module 11 for performing wireless communication with a base station. The RF module 11 includes a Tx control unit 11a, an Rx control unit 11b, and an RF controller 11c. That is, the RF module 11 is a module that superimposes or detects data on radio waves, and the RF controller 11c controls transmission and reception of radio waves while performing power management, gain control, and the like of the RF module 11 by a control signal of the MPU 20. . Here, communication can be performed by transmitting and receiving a radio wave from the RF module 11 at a specific cycle, and data of a specific capacity is transmitted and received within the specific cycle.
[0032]
The Tx control unit 11a acquires digital data generated by the MAC module 26, creates data that can be superimposed by the RF module 11, and transfers the created data to the RF module 11. The Rx control unit 11b creates data to be passed to the MAC module 26 from data obtained by detecting a radio wave received by the RF module 11. The created data is transferred to the MAC module 26.
[0033]
The OS 23 in FIG. 1 can execute various programs (not shown). For example, data input / output may be performed by a user interface (not shown), various application programs may be executed, and mail transmission, photograph and moving image data transmission may be performed. Of course, the mobile phone 10 has a program for controlling input of a telephone number and establishment of a connection, and a program for performing a process for further transferring data generated by the RRC layer to various applications and a process for performing the reverse process. Mount.
[0034]
(2) Outline of processing in RLC layer:
The data transfer program according to the present embodiment corresponds to the RLC module 25. That is, in the present embodiment, the above-mentioned specific layer is the RLC layer, and an outline of processing in this RLC layer will be described below. Since the RLC module 25 performs the processing according to the present invention in the RLC layer, the RLC module 25 has a timer function, and as shown in FIG. 1, two types of buffers, an SDU buffer 21a and a PDU buffer 21b, are secured in the RAM 21. And perform the processing.
[0035]
FIG. 2 is an explanatory diagram for explaining data transfer in the RLC layer, and shows the RLC layer, an RRC layer higher than the RLC layer, a MAC layer lower than the RLC layer, and a physical layer lower than the MAC layer. When transmitting data, the MAC module 26 issues a data transfer enable instruction when the data can be transferred in the MAC layer (this data transfer enable instruction is called a TTI event in the present embodiment). When a TTI event occurs, the RLC module 25 acquires a data unit called SDU (Service Data Unit) from the RRC layer.
[0036]
That is, transmission data is passed from the RRC layer to the RLC layer as an SDU, and the RRC module 24 creates the SDU and passes it to the RLC layer. The RLC module 25 generates a packet (PDU: Protocol Data Unit) composed of a header and data and having a data capacity of a basic unit length. At this time, the RLC module 25 buffers the obtained SDU in the SDU buffer 21a in the RAM 21 and generates PDUs while sequentially copying the buffered data to the PDU buffer 21b.
[0037]
When the amount of data buffered in the PDU buffer 21b reaches the basic unit length, the RLC module 25 transfers the data as a PDU to the MAC layer. That is, data is transferred from the RLC layer to the MAC layer in units of the PDU, and in this embodiment, four PDUs are processed as a set. That is, when transferring data to the physical layer, the MAC module 26 performs processing using four PDUs as one transfer unit, and the RLC module 25 processes four PDUs in a set according to the transfer unit.
[0038]
The physical layer mainly corresponds to the processing in the RF module 11, the Tx control unit 11a, the Rx control unit 11b, and the RF controller 11c, and superimposes data acquired from the MAC layer on a radio wave and transmits the radio wave to the outside. Here, the physical layer spends T (ms) for one data transmission, and the four PDUs set by the RLC module 25 have the capacity of transmitting at the T (ms) in the physical layer. This is the data capacity required to create data. Note that the timer function is a function that is reset when an SDU is acquired in the RLC layer and that measures the T (ms) after the reset. The timer function is configured to measure the number of clocks for driving the MPU 20, This can be realized by a configuration or the like in which a timer provided as a function of the OS 23 is used.
[0039]
The RLC module 25 performs the acquisition of the SDU, the generation of the PDU, and the transfer process when the elapsed time after the acquisition of the SDU is measured by the timer. If it does not reach the PDU of the basic unit length, it waits for data acquisition from the RRC layer, and when it receives data, adds the data to the PDU being buffered. When T (ms) has been measured by the timer, the waiting of data acquisition is stopped, and if there is untransferred data at that time, a PDU is generated and transferred to the MAC layer, or the untransferred data is transferred to the MAC layer. Discard.
[0040]
FIG. 3 is an explanatory diagram illustrating the data structure of the PDU. In the figure, 0 to 7 described at the top indicate the digit number of each bit. In other words, the horizontal direction of the rectangle shown in the figure indicates the capacity of each data of the PDU in bit units. Also, in the figure, eight rectangles are arranged in the vertical direction, which indicates the capacity (basic unit length) of the PDU in the present embodiment. That is, in the present embodiment, a PDU is composed of eight pieces of 8-bit data (a total of eight bytes). Of course, these numerical values are merely examples, and a configuration using a PDU with a larger basic unit length may be used.
[0041]
The configuration of the PDU conforms to the rules specified in the above-mentioned non-patent literature. That is, the header of the PDU has a header, and data or padding is described after the header. The header is a flag corresponding to various meanings. Here, the header related to the present invention will be mainly described. The header SN is a flag indicating a serial number, and is provided for reconstructing a set of data on the receiving side or for identification at the time of retransmission.
[0042]
The header HE (Header Extension Type) indicates the content of the following bit. When the header HE is "00", it means that data follows. When the header HE is "01", it indicates that the header LI follows. ing. The header LI (Length Indicator) has various meanings, and the data in the PDU is the last of a group of SDUs and can indicate the length of the data. In the present embodiment, the length of data is indicated by bytes. Further, it is possible to indicate that the data is completed in the immediately preceding packet and that padding is present. In the present embodiment, the former is “00000000” (hereinafter, referred to as an end flag), and the latter is “ 1111111 "(hereinafter, referred to as a padding flag).
[0043]
The length of the header LI is 7 bits, and can be repeatedly described. When data continues over a packet, the header LI can be omitted. However, it is necessary to indicate whether the header LI follows or the data follows the header LI, and this is indicated by the header E (Extension bit). That is, when the header E is "0", the data is continued, and when the header E is "1", the header LI is continued. When the header E is "0", data is described thereafter, and the obtained SDU is divided and described as appropriate. This data has a variable length, and padding is appropriately performed when the data cannot fill the 8 bytes of the PDU.
[0044]
(3) Data transfer processing:
Hereinafter, a process when the RLC module 25 implements the data transfer according to the present invention while complying with the communication protocol in the above configuration will be described in detail. 4 to 6 are flowcharts showing the processing in the RLC module 25. In the present embodiment, the RLC module 25 is set in two states, a Tx mode (transmission mode) for performing data transmission / reception and packet generation processing, and a Ready state for performing standby. These states change depending on the processing status of.
[0045]
When the process is not being performed, the RLC module 25 is in the Ready state (step S100), and in this state, waits to receive a TTI event from the MAC layer (step S105). When determining that the occurrence of the TTI event has been received in step S105, the RLC module 25 sets the state to the Tx mode in step S110. In the Tx mode, it is determined in step S115 whether the state in the Tx mode is further changed.
[0046]
In the Tx mode, when the data is acquired from the RRC layer, when there is remaining (untransferred) data that cannot be processed by a loop process described later, and when the timer function measures the time until the set time (timer expires), 3 In each case, processing suitable for each case is performed, and transition to this processing is called state transition. When the data is transferred from the RRC layer, the RLC module 25 obtains the data, that is, the SDU in step S120 and buffers the data in the SDU buffer 21a according to the determination in step S115. In step S125, the timer is reset according to the acquisition of the SDU, and measurement by the timer function is started.
[0047]
In step S130, the header SN is written when the header SN is not described in the corresponding portion in the PDU buffer 21b by referring to the PDU buffer 21b. That is, a serial number is assigned to the PDU and described as a header SN. In step S135, the data in the SDU buffer 21a but not copied to the PDU buffer 21b is the remaining capacity of the packet being processed in the PDU buffer 21b (remaining capacity = basic unit length−written data capacity). ) To determine whether it is less.
[0048]
If it is determined in step S135 that the uncopied data of the SDU is smaller than the remaining capacity of the PDU, the uncopied data is at the end of the SDU. Therefore, in step S140, the number of bytes of the uncopied data is stored in the PDU buffer 21b. Is written. If it is not determined in step S135 that the uncopied data of the SDU is smaller than the remaining capacity of the PDU, the uncopied data is not at the end of the SDU, so that step S140 is skipped and the header LI is not written.
[0049]
In step S145, it is further determined whether or not the data in the SDU buffer 21a and not copied to the PDU buffer 21b is smaller than the remaining capacity of the packet being processed in the PDU buffer 21b. If it is determined in step S145 that the uncopied data of the SDU is smaller than the remaining capacity of the PDU, all the SDUs are described in the PDU by describing the uncopied data in the PDU. Does not reach the basic unit length, and the processing after step S150 is performed.
[0050]
When it is not determined in step S145 that the uncopied data of the SDU is smaller than the remaining capacity of the PDU, a PDU reaching the basic unit length can be generated by the uncopied data, and the process from step S200 shown in FIG. Describe the uncopied data in the PDU. That is, by performing two determinations in steps S135 and S145, the former determines whether or not the header LI should be described, and the latter determines whether the header LI reaches the basic unit length or not. Judgment is being performed.
[0051]
In step S200, the uncopied data in the SDU buffer 21a is described in the remaining portion of the packet being processed in the PDU buffer 21b. As a result, a PDU having a basic unit length is generated based on the header and the data. In step S210, the generated PDU is transferred to the MAC layer. In step S220, the inside of the PDU buffer 21b is initialized (data is deleted) in order to perform processing for generating the next packet. In step S230, it is determined whether or not the process of copying all the data in the SDU buffer 21a to the PDU has been performed.
[0052]
If it is not determined in step S230 that all data in the SDU buffer 21a has been copied to the PDU, it means that uncopied data still remains in the SDU buffer 21a, and the determination in step S235 is performed. . In step S235, it is determined whether or not the packet processed in step S210 is the last packet in the current TTI event, that is, the fourth packet that is a PDU transmission set in the TTI event.
[0053]
If it is not determined in step S235 that the packet is the last packet in the current TTI event, a PDU can be further transferred to the MAC layer in the current TTI event, and thus a loop process from step S130 is repeated. If it is determined in step S235 that the packet is the last packet in the current TTI event, the PDU cannot be further transferred to the MAC layer in the current TTI event. Sometimes, the state is set to be in the remaining state, and the process jumps to step S100 to set the state of the RLC module 25 to Ready.
[0054]
In step S230, it is determined that the process of copying all data in the SDU buffer 21a to the PDU is performed because the uncopied data in the SDU buffer 21a and the PDU buffer 21b are processed in the process of step S200. This is when the capacities of the remaining packets in the packet coincide by chance. In this case, in step S250, the inside of the SDU buffer 21a is initialized (data is deleted). Then, it is determined in step S255 whether or not the header LI has been described in the PDU transferred to the MAC layer in step S210. If it is not determined that the header LI has been described, the end of the header LI is determined in an appropriate position in the PDU buffer 21b in step S260. Add a flag. That is, an end flag is added to the header of the next PDU, so that the receiving end can determine the end of the SDU by receiving this PDU.
[0055]
Thereafter, the determination in step S160 in FIG. 4 is performed. That is, it is determined whether or not the packet processed in step S210 is the last packet in the current TTI event. If it is determined in step S160 that the packet is the last packet in the current TTI event, the flow jumps to step S100 to change the state of the RLC module 25 to Ready, and in step S160, the state of the last packet in the current TTI event is determined. If it is not determined that there is, the process jumps to step S110 to change the state of the RLC module 25 to the Tx mode.
[0056]
If it is determined in step S145 in FIG. 4 that the uncopied data of the SDU is smaller than the remaining capacity of the PDU, in step S150, processing of copying all the uncopied data in the SDU buffer 21a to the PDU is performed. In step S155, the SDU buffer 21a is initialized. Then, the determination in step S160 is performed. On the other hand, if data remains in the SDU buffer 21a in the Tx mode, the RLC module 25 repeats the processing from step S130 onward, based on the determination in step S115. Further, in the Tx mode, when the timer has expired at the stage of the determination in step S115, the processing shown in FIG. 6 is performed.
[0057]
When the timer has expired, it is determined in step S300 in FIG. 6 whether or not the process of copying all the data in the SDU buffer 21a to the PDU has been performed. If it is not determined in step S300 that all the data in the SDU buffer 21a has been copied to the PDU, the SDU buffer 21a is initialized in step S310 in this embodiment. That is, the remaining untransferred data is discarded. In many cases, there is no problem in voice communication even if data is discarded, so that processing can be performed at high speed. In the case of data communication, data can be retransmitted according to a retransmission instruction from the receiving side. After the process in step S310, the process jumps to step S110 to enter the Tx mode.
[0058]
When it is determined in step S300 that the process of copying all the data in the SDU buffer 21a to the PDU has been performed, in step S320, the data that has been described with reference to the PDU buffer 21b, that is, the data to be transferred. It is determined whether a PDU exists. If it is not determined in step S320 that there is a PDU to be transferred, the process jumps to step S110 to set the Tx mode.
[0059]
If it is determined in step S320 that there is a PDU to be transferred, the PDU buffer 21b is referred to in step S325, and if the packet being processed does not have a header SN, a header SN indicating an appropriate serial number is written. In step S330, a header LI indicating a padding flag is described in the PDU buffer 21b, and padding is performed on the free space of the PDU buffer 21b in step S335. In this embodiment, the padding data is “0”.
[0060]
Since a PDU having a basic unit length is generated by padding, the PDU is transferred to the MAC layer in step S340, and the PDU buffer 21b is initialized in step S345. Then, in step S350, it is determined whether or not the packet processed in step S340 is the last packet in the current TTI event, and the processing in step S325 and thereafter is repeated until it is determined that the packet is the last packet.
[0061]
By the above processing, normally, while waiting for the acquisition of the SDU from the RRC layer in the Tx mode, when the timer expires, the untransferred data at that time can be processed. That is, when there is untransferred data and the untransferred data has been copied to the PDU buffer 21b, four packets which are a transmission set of the PDU in the TTI event are transmitted by the untransferred data and padding. Resulting in. As a result, the next TTI event can be generated at an early stage, and it is possible to prevent waiting for an unnecessarily long time without processing untransferred data.
[0062]
(4) Operation example in RLC layer:
Next, operation examples performed by the RLC module 25 for a plurality of examples will be described. 7 to 10 are diagrams showing the operations in the RRC layer, the RLC layer, and the MAC layer in chronological order, and show that the time progresses from the upper part to the lower part in the straight lines shown up and down. Note that the lengths of the straight lines shown above and below do not always match the time intervals for simplification of the drawing. The RLC module 25 stands by in the Ready state in step S100, and upon receiving data indicating the occurrence of a TTI event from the MAC layer, enters the Tx mode in step S110 through the determination in step S105.
[0063]
In the Tx mode, when the RLC module 25 receives 11-byte data (SDU1) indicated by hatching from the RRC layer in step S120, the RLC module 25 writes the SDU1 to the SDU buffer 21a, and sets a timer in step S125. In the figure, hatched rectangles indicate data, and one of the rectangles is indicated as one byte. Also, two inverted triangles whose vertices overlap as shown in the figure indicate a set of timers.On a straight line extending from this set of timers, a cross indicates that the timer is reset, and an arrow at the end of the straight line indicates that the timer is off. It shows that.
[0064]
The RLC module 25 refers to the PDU buffer 21b in step S130. At this stage, since nothing is described in the PDU buffer 21b, a serial number is created and used as a header SN, which is written in the PDU buffer 21b. The header SN is 2 bytes, and the remaining capacity of the PDU is 6 bytes. In step S135, the remaining capacity of the PDU is compared with 11 bytes that are uncopied data in the SDU buffer 21a, and it is determined that the uncopied data has a larger capacity. In step S145, the same determination is performed. Then, in step S200, six bytes are extracted from the SDU buffer 21a and written to the PDU buffer 21b. At this time, since not all data in the SDU buffer 21a has been processed, the header LI is unnecessary, and the header HE is set to "00" and the header LI is omitted.
[0065]
The PDU1 created in this way is transferred to the MAC layer in step S210. After the transfer of PDU1, in order to generate the next PDU, the PDU buffer 21b is initialized in step S220, and it is determined in step S230 that 5 bytes of uncopied data are present. Because of this, in step S235, the processing after step S130 is repeated without determining that the packet is the last packet in the current TTI event.
[0066]
In this repetition, the header SN is written in the PDU buffer 21b in step S130, but the uncopied data in the SDU buffer 21a is 5 bytes, and the remaining capacity of the PDU after writing the header SN is 6 bytes. Is set to "01" and the header LI is written in step S140 after the determination in step S135. At this time, the header LI indicating the uncopied data capacity of 5 bytes is set and the header E is set to "0".
[0067]
The remaining capacity of the uncopied data and the PDU in the SDU buffer 21a is 5 bytes. Therefore, in step S145, it is not determined that the uncopyed data in the SDU buffer 21a is smaller than the remaining capacity of the PDU, and the PDU is created in step S200. As a result, all the data in the SDU buffer 21a has been copied to the PDU buffer 21b. Therefore, after the transfer and initialization of the PDU 2 in steps S210 and S220, and the determination in step S230, the processes in and after step S250 are performed. That is, the SDU buffer 21a is initialized, and since the header LI has been written, the process skips step S260 via the determination in step S255. Further, in step S160, since the number of transferred PDUs is two, the Tx mode is continued without determining that the packet is the last packet in the current TTI event.
[0068]
The example shown in FIG. 7 shows a case where 12-byte data (SDU2) is further acquired from the RRC layer in the Tx mode. When new data is obtained in step S120, a timer is set in step S125. That is, the timer is reset. When performing the processing on the 12-byte data, the same processing as the above-described 11-byte data is performed. However, since the data capacity differs by 1 byte, step S140 is skipped even in the second loop (PDU4 generation processing). Header LI is not described. Accordingly, it is determined in step S255 that the header LI has been written, and in step S260, the header LI including the end flag is written in the header for the next PDU (PDU5).
[0069]
Since the PDU 4 is the fourth PDU after the occurrence of the first TTI event, the RLC module 25 returns to the Ready state by the determination in step S160. After returning to the Ready state, when data indicating the occurrence of a TTI event is received again from the MAC layer, the Tx mode is set. FIG. 7 shows an example in which the timer expires without acquiring a new SDU from the RRC layer in the Tx mode. In the example shown in FIG. 7, the acquired SDU is processed in the previous Tx mode. Further, the header LI indicating the end flag has already been described in the PDU buffer 21b. Therefore, in step S300, it is determined that all the SDUs have been copied to the PDU buffer 21b, and in step S320, it is determined that there is a PDU (header LI) to be transferred.
[0070]
Then, the header SN is written in the PDU buffer 21b in step S325, and the header LI indicating the padding flag is written in step S330. Of course, the header HE is set to "01", the header E next to the header LI indicating the end flag is set to "1", and the header E next to the padding flag is set to "0". Then, padding is performed in step S335, the PDU is transferred in step S340 (PDU5), and the PDU buffer 21b is initialized in step S345. Thereafter, steps S325 to S350 are repeated until it is determined in step S350 that the fourth PDU (PDU8) has been transferred, and PDU6 to PDU8 composed of a header and padding are transferred to the MAC layer.
[0071]
In the example shown in FIG. 7, if the data capacity of SDU2 is 11 bytes instead of 12 bytes, the packet corresponding to PDU4 has the same form as PDU2, and the end of SDU2 data can be instructed by header LI. . Therefore, even if the mode changes to the Tx mode again, there is no PDU to be transferred in the PDU buffer 21b, and no data transfer is performed.
[0072]
FIG. 8 shows an example in which 15 bytes of data (SDU3) are obtained first in the RLC layer in the Tx mode, and then 11 bytes of data (SDU4) are obtained. In the figure, SDU3 and SDU4 are distinguished by changing the direction of the hatch. For SDU3, the same processing as the above SDU2 is performed for the first 12 bytes. That is, the data capacity of SDU3 is 15 bytes, and in the first two processes for generating the PDU, it is determined in steps S135 and S145 that the capacity of the uncopied data is smaller than the remaining capacity in the PDU buffer 21b. No header LI is provided. As a result, a PDU including the header SN and 6-byte data is generated and transferred twice.
[0073]
After transferring the data of SDU3 by two PDUs, three bytes of data remain. However, after the determination in step S235, step S130 and subsequent steps are repeated. In this case, the capacity of the uncopied data of SDU3 is reduced in step S135. It is determined that the remaining capacity is smaller than the remaining capacity in the PDU buffer 21b, and the header LI is written. The header LI indicates 3 bytes of data, and the header E is "0". Then, in step S150, the 3-byte uncopied data is copied to the PDU buffer 21b, and in step S155, the SDU buffer 21a is initialized. Therefore, at this point, the process of copying SDU3 to the PDU buffer 21b has been completed.
[0074]
However, since this PDU is the third packet from the occurrence of the TTI event, the mode becomes the Tx mode again after the determination in step S160. Here, as shown in FIG. 8, when the RLC module 25 acquires 11-byte data (SDU4) from the RRC layer, the timer is reset in step S125, and the processing for the SDU4 is started in step S130. In this example, since the PDU is formed halfway as the third packet and the remaining capacity is 2 bytes and SDU4 is 11 bytes, the capacity of the uncopied data of SDU4 is set to PDU in steps S135 and S145. It is not determined that the remaining capacity is smaller than the remaining capacity in the buffer 21b.
[0075]
Then, in step S200, the first two bytes of SDU4 are described with respect to the remaining capacity of 2 bytes, and the generated PDU is transferred to the MAC layer in step S210. Since SDU4 is described in the SDU buffer 21a and there are 9 bytes of uncopied data, the operation of generating the fourth packet is performed after step S130 after the determination of steps S230 and S235. At this time, since the uncopied data in the SDU buffer 21a is 9 bytes, it is not determined in steps S135 and S145 that the capacity of the uncopied data is smaller than the remaining capacity in the PDU buffer 21b, and the header LI is not provided. Generate a packet and transfer it to the MAC layer.
[0076]
The transferred packet is the fourth packet after the occurrence of the TTI event, and three bytes of uncopied data still remain in the SDU buffer 21a. Therefore, the RLC module passes through steps S230, S235, and S240. 25 is in a ready state. The example shown in FIG. 8 shows an example in which a TTI event occurs again after entering the Ready state, and then the timer expires without acquiring data from the RRC layer.
[0077]
In the Ready state, the remaining three bytes of the SDU 4 remain as untransferred data. Therefore, the processing after step S130 is started according to the determination in step S115. At this time, since the 3-byte data is smaller than the remaining capacity of the PDU, a header LI indicating 3 bytes is added in step S140 after the determination in step S135. Further, after the determination in step S145, in step S150, the remaining three bytes of SDU4 are described in the PDU buffer 21b, and the SDU buffer 21a is initialized. In this state, the data in the PDU buffer 21b is the header SN, the header LI indicating the number of data of 3 bytes, and the data of 3 bytes.
[0078]
When this data is described in the PDU buffer 21b, the determination in step S160 is performed. Since the current packet is the first packet after the occurrence of the TTI event, the Tx mode is set again after the determination in step S160. Become. In the example shown in FIG. 8, since no new data is received from the RRC layer in the Tx mode, the timer expires as time passes. At this time, after the determination in steps S300 and S320, the processes in and after step S325 are performed, and the PDU is transferred.
[0079]
That is, a header LI indicating a padding flag is added to the PDU buffer 21b in step S330, and padding is performed in step S335. The data generated as a result is PDU 9 shown in FIG. As described above, by dividing the time by the timer, the data can be efficiently transferred without continuously waiting for the data to be transferred from the RRC layer. After the PDU 9 is transferred to the MAC layer, the same processing as that of the PDUs 6 to 8 in FIG. 7 is performed to end the TTI event and return to the Ready state again.
[0080]
FIG. 9 illustrates an example of a case where 30-byte data (SDU5) is first acquired in the RLC layer in the Tx mode. FIG. 9 shows an example in which a PDU is transferred to the MAC layer four times in response to the first TTI event, and the timer expires before the next TTI event occurs. For the first 24 bytes of SDU5, the same processing as that for SDU2 is performed for four packets. That is, the data capacity of the SDU 5 is 30 bytes, and in the four processes for generating the PDU, it is not determined in steps S135 and S145 that the capacity of the uncopied data is smaller than the remaining capacity in the PDU buffer 21b. No header LI is provided. As a result, a PDU including the header SN and 6-byte data is generated and transferred four times.
[0081]
After transferring the data of SDU5 by four PDUs, 6-byte data remains. However, processing on this data is not performed until the Tx mode is set. Further, in the example shown in FIG. 9, the timer expires before data indicating the TTI event is acquired again from the MAC layer. Accordingly, the Tx mode is set again in step S110 by the second TTI event. However, since the timer has expired, the determination in step S300 in FIG. 6 is performed through the determination in step S115. In this example, since the remaining 6-byte data has not been copied to the PDU buffer 21b, the processing in step S310 is performed after the determination in step S300. That is, the 6-byte data is discarded. Then, the mode again becomes the Tx mode.
[0082]
(5) Other embodiments:
In the above embodiment, the RLC layer is a specific layer described in the claims. However, other than the RLC layer, as long as the packet is transmitted from the specific layer to the lower layer for each basic unit length in the communication of the layer structure, May be a specific layer described in the claims. Further, in the above-described embodiment, the present invention is applied to a mobile phone, but of course, the present invention may be applied to communication at a relay station. With such a configuration, data can be efficiently relayed, and high-speed communication can be performed as a whole communication system. Further, the packet shown in FIG. 3 complies with the rules for data called AMD (Acknowledge Mode Data), but the present invention may be applied to other data, for example, data called UMD (Unknown Knowledge Mode Data).
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a mobile phone.
FIG. 2 is an explanatory diagram illustrating data transmission and reception in an RLC layer.
FIG. 3 is an explanatory diagram illustrating a data structure of a PDU.
FIG. 4 is a flowchart showing processing in the RLC module.
FIG. 5 is a flowchart showing processing in the RLC module.
FIG. 6 is a flowchart showing processing in the RLC module.
FIG. 7 is a diagram showing an operation in each layer in a time-series manner.
FIG. 8 is a diagram showing an operation in each layer in a time-series manner.
FIG. 9 is a diagram showing an operation in each layer in a time-series manner.
[Explanation of symbols]
Reference Signs List 10: mobile phone, 11: RF module, 11a: Tx control unit, 11b: Rx control unit, 11c: RF controller, 12: CODEC, 12a: speaker, 12b: microphone, 20: MPU, 21: RAM, 21a: SDU Buffer, 21b PDU buffer, 22 ROM, 23 OS, 24 RRC module, 25 RLC module, 26 MAC module, 27a Tx controller, 27b Rx controller

Claims (8)

層毎に規定した通信規約に従って通信を行うに当たり特定層にてその上位層からデータを受け取って特定層の下位層にデータを受け渡すデータ転送装置であって、
上記上位層からデータを取得するデータ取得手段と、
同データを取得してからの経過時間を所定の最大カウントまで計測する計測手段と、
同計測手段によって上記最大カウントが計測される以前において所定のヘッダに対して基本単位長になるまで上記取得したデータを付加してパケットを生成するパケット生成手段と、
上記計測手段によって上記最大カウントが計測された後において上記取得したデータのうち下位層に未転送のデータについて下位層へ転送するためのパケットを生成する処理あるいは破棄処理を行う未転送データ処理手段と、
生成された基本単位長のパケットを上記下位層に転送するパケット転送手段とを備えることを特徴とするデータ転送装置。
A data transfer device that receives data from an upper layer at a specific layer and transfers data to a lower layer of the specific layer when performing communication according to a communication protocol defined for each layer,
Data acquisition means for acquiring data from the upper layer,
Measuring means for measuring an elapsed time since acquiring the data up to a predetermined maximum count,
Packet generation means for generating a packet by adding the obtained data until a basic unit length is reached for a predetermined header before the maximum count is measured by the measurement means;
Untransferred data processing means for performing processing for generating or discarding a packet for transferring to the lower layer for data not transferred to the lower layer among the acquired data after the maximum count is measured by the measuring means; ,
A data transfer unit for transferring the generated packet having the basic unit length to the lower layer.
上記下位層へのデータ転送可能指示を当該下位層から取得するとともに当該データ転送可能指示によって上記特定層の状態を送信モードとし、一回のデータ転送可能指示に対して上記パケット転送手段が所定数の基本単位長のパケットを転送した後には上記送信モードを解除する送信モード設定手段を備え、当該送信モードにおいて上記データ取得手段がデータを取得し上記パケット生成手段がパケットを生成し、上記未転送データ処理手段が処理を行い、上記パケット転送手段がパケットを転送することを特徴とする上記請求項1に記載のデータ転送装置。The data transfer enable instruction to the lower layer is obtained from the lower layer, and the state of the specific layer is set to the transmission mode by the data transfer enable instruction. Transmission mode setting means for canceling the transmission mode after transferring a packet having a basic unit length of... In the transmission mode, the data acquisition means acquires data, the packet generation means generates a packet, and 2. The data transfer apparatus according to claim 1, wherein the data processing means performs processing, and the packet transfer means transfers the packet. 上記未転送データ処理手段は、上記未転送のデータが存在するときに上記送信モードが解除され、上記最大カウントが計測される以前において再び送信モードになり、その後最大カウントが計測されたときに、当該未転送のデータが含まれるパケットが存在すればこのパケットに対してパディングを行って基本単位長のパケットとすることを特徴とする上記請求項請求項2に記載のデータ転送装置。The untransferred data processing means, when the untransferred data is present, the transmission mode is canceled, the transmission mode is again set before the maximum count is measured, and when the maximum count is measured thereafter, 3. The data transfer apparatus according to claim 2, wherein if there is a packet including the untransferred data, the packet is padded to obtain a packet having a basic unit length. 上記未転送データ処理手段は、上記未転送のデータが存在するときに上記送信モードが解除され、上記最大カウントが計測された後において再び送信モードになったときに当該未転送のデータを破棄することを特徴とする上記請求項請求項2または請求項3のいずれかに記載のデータ転送装置。The untransferred data processing means cancels the untransferred data when the transmission mode is released when the untransferred data exists and returns to the transmission mode after the maximum count is measured. 4. The data transfer device according to claim 2, wherein 上記最大カウントに相当する時間間隔は、上記データ転送可能指示がなされる最小の時間間隔以下であることを特徴とする上記請求項2〜請求項4のいずれかに記載のデータ転送装置。5. The data transfer device according to claim 2, wherein a time interval corresponding to the maximum count is equal to or less than a minimum time interval at which the data transfer enable instruction is issued. 上記最大カウントに相当する時間間隔は、物理層で所定送信単位のデータを転送するための時間間隔以下であることを特徴とする上記請求項1〜請求項5のいずれかに記載のデータ転送装置。6. The data transfer device according to claim 1, wherein a time interval corresponding to the maximum count is equal to or less than a time interval for transferring data of a predetermined transmission unit in a physical layer. . 層毎に規定した通信規約に従って通信を行うに当たり特定層にてその上位層からデータを受け取って特定層の下位層にデータを受け渡すデータ転送方法であって、
上記上位層からデータを取得し、当該データを取得してからの経過時間を所定の最大カウントまで計測しながら、当該最大カウントが計測される以前において所定のヘッダに対して基本単位長になるまで上記取得したデータを付加してパケットを生成し、上記最大カウントが計測された後においては上記取得したデータのうち下位層に未転送のデータについて下位層へ転送するためのパケットを生成する処理あるいは破棄処理を行いつつ基本単位長のパケットが生成されたら当該基本単位長のパケットを上記下位層に転送することを特徴とするデータ転送方法。
A data transfer method for receiving data from an upper layer at a specific layer and passing data to a lower layer of the specific layer when performing communication according to a communication protocol defined for each layer,
Obtaining data from the upper layer and measuring the elapsed time from the acquisition of the data up to a predetermined maximum count, until the basic unit length for a predetermined header before the maximum count is measured A process of generating a packet by adding the obtained data and generating a packet for transferring data not transferred to a lower layer among the obtained data to the lower layer after the maximum count is measured or A data transfer method, wherein a packet having a basic unit length is transferred to the lower layer when a packet having a basic unit length is generated while performing a discarding process.
層毎に規定した通信規約に従って通信を行うに当たり特定層にてその上位層からデータを受け取って特定層の下位層にデータを受け渡すデータ転送プログラムであって、
上記上位層からデータを取得するデータ取得機能と、
同データを取得してからの経過時間を所定の最大カウントまで計測する計測機能と、
同計測機能によって上記最大カウントが計測される以前において所定のヘッダに対して基本単位長になるまで上記取得したデータを付加してパケットを生成するパケット生成機能と、
上記計測機能によって上記最大カウントが計測された後において上記取得したデータのうち下位層に未転送のデータについて下位層へ転送するためのパケットを生成する処理あるいは破棄処理を行う未転送データ処理機能と、
生成された基本単位長のパケットを上記下位層に転送するパケット転送機能とをコンピュータに実現させることを特徴とするデータ転送プログラム。
A data transfer program that receives data from an upper layer at a specific layer and transfers data to a lower layer of the specific layer when performing communication according to a communication protocol defined for each layer,
A data acquisition function for acquiring data from the upper layer,
A measurement function for measuring the elapsed time since acquiring the data up to a predetermined maximum count,
A packet generation function of adding a packet obtained by adding the obtained data until a basic unit length is reached for a predetermined header before the maximum count is measured by the measurement function;
An untransferred data processing function for generating or discarding a packet to be transferred to a lower layer for data not transferred to a lower layer among the acquired data after the maximum count is measured by the measurement function; and ,
A data transfer program for causing a computer to realize a packet transfer function of transferring a generated packet having a basic unit length to the lower layer.
JP2003080028A 2003-03-24 2003-03-24 Apparatus and method for transferring data and data transfer program Pending JP2004289574A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003080028A JP2004289574A (en) 2003-03-24 2003-03-24 Apparatus and method for transferring data and data transfer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003080028A JP2004289574A (en) 2003-03-24 2003-03-24 Apparatus and method for transferring data and data transfer program

Publications (1)

Publication Number Publication Date
JP2004289574A true JP2004289574A (en) 2004-10-14

Family

ID=33293996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003080028A Pending JP2004289574A (en) 2003-03-24 2003-03-24 Apparatus and method for transferring data and data transfer program

Country Status (1)

Country Link
JP (1) JP2004289574A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007116985A1 (en) * 2006-04-04 2007-10-18 Nec Corporation Arq and harq protocol data units and method of formation
JP2011512057A (en) * 2008-01-04 2011-04-14 ノキア コーポレイション Subheader for dummy padding in the MAC protocol data unit
US8171363B2 (en) 2007-08-10 2012-05-01 Fujitsu Limited Method and device for counting transmission times of data unit, transmission device, and computer program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007116985A1 (en) * 2006-04-04 2007-10-18 Nec Corporation Arq and harq protocol data units and method of formation
JP2009532920A (en) * 2006-04-04 2009-09-10 日本電気株式会社 ARQ protocol data unit, HARQ protocol data unit and formation method
US8352820B2 (en) 2006-04-04 2013-01-08 Nec Corporation ARQ and HARQ protocol data units and method of formation
US8171363B2 (en) 2007-08-10 2012-05-01 Fujitsu Limited Method and device for counting transmission times of data unit, transmission device, and computer program
JP2011512057A (en) * 2008-01-04 2011-04-14 ノキア コーポレイション Subheader for dummy padding in the MAC protocol data unit

Similar Documents

Publication Publication Date Title
KR101190525B1 (en) Integrated base stations and a method of transmitting data units in a communications system for mobile devices
KR101086683B1 (en) Method and apparatus for performing buffer status reporting
CA2542375C (en) Method and apparatus for data communications over multiple channels
US8588131B2 (en) Wireless slave unit
TWI734010B (en) Method and apparatus for transmitting data
EP2183890B1 (en) Aggregate data frame generation
CN110312282B (en) Data transmission method and device
JP2010521826A (en) Explicit layer 2 signaling for intermittent reception
CN110493890A (en) A kind of connection restoration methods, access and mobile management function to ps domain entity and user equipment
CN107041170B (en) Data sending method, device and terminal
CN108809540B (en) Data processing method and device
CN112217615A (en) Method and device for supporting time-sensitive network
JP5573844B2 (en) Communication terminal and communication method
EP3937565A1 (en) Communication method and apparatus
CN111264079B (en) Data transmission method, electronic device, system and storage medium
JP2004297400A (en) Wireless information communication system
JP2006114973A (en) Radio base station and radio terminal equipment
JP2004289574A (en) Apparatus and method for transferring data and data transfer program
CN110620640B (en) Data transmission method, terminal and node equipment
US8325753B1 (en) Selective suppression of 802.11 ACK frames
CN108886766B (en) Control information transmission method and device
JP4900477B2 (en) Mobile communication system, network device, and packet order control method
CN113542147A (en) Data transmission method and system
CN108200605B (en) Data transmission method and device for base station
CN108886705A (en) A kind of signal transmission method and equipment