図13はW−CDMA(Wideband Code Division Multiple Access)のシステムで想定されている無線インターフェイスのプロトコル階層を示す図である。
図13に示すように、W−CDMAのシステムで想定されている無線インターフェイスのプロトコル階層は、PHY(物理)レイヤ201と、MAC(Medium Access Control)レイヤ202と、RLC(Radio Link Control)レイヤ203と、PDCP(Packet Data Convergence Protocol)レイヤ204と、アプリケーション・レイヤ205と、RRC(Radio Resource Control)レイヤ206と、NAS(No Access Stratum)レイヤ207と、を備えて構成されている。
PHYレイヤ201はトランスポート・チャネルによる無線伝送や無線品質などの測定を行うレイヤである。
MACレイヤ202は、RLCレイヤ203に対し、論理チャネルの伝送や無線リソースの割り当てを行うレイヤである。
RLCレイヤ203は、上位レイヤであるPDCPレイヤ204へのデータ伝送サービスを提供するレイヤである。RLCレイヤ203とアプリケーション・レイヤ205との間のデータ転送は、PDCPレイヤ204を介して行われる。
RRCレイヤ206は、無線リソースを制御するレイヤであり、NASレイヤ207に対して接続される。
RLCレイヤ203とアプリケーション・レイヤ205との間の制御情報の転送は、RRCレイヤ206及びNASレイヤ207を介して行われる。
現状のW−CDMA(3GPP UMTS)には、HSDPA(High Speed Downlink Packet Access : 3GPP Release.5から導入)、E−DCH(Enhanced DCH : 3GPP Release.6から導入)などの機能が追加されている。これらの追加に伴い、アップリンク(Uplink)、ダウンリンク(Downlink)共に高スループット化の実現が進んでいる。また、今後も、携帯電話機においては高スループットを実現するために処理削減の必要性が常に存在する。
ダウンリンクの無線帯域が大きくなる場合、一定時間に処理しなくてはならないデータ量が増えることとなる。すなわち、RLC PDU(PDU:Protocol Data Unit)のサイズが固定であると仮定すると、RLCレイヤ203において一定時間に処理しなくてはならないRLC PDUの個数が増えることとなる。一般的に、一定時間内に処理すべきRLC PDUの個数が増えることは、RLCレイヤ203において一定時間内に処理すべきステップ数が増えることとなり、処理負荷の増大に繋がる。
このことをHSDPAの環境下において具体的な数値に当てはめると以下のようになる。
図14は、RLCレイヤ203において1TTI内に受信したHS−DSCHのトランスポート・ブロックの最大ビット数と、RLCレイヤ203において1TTI内に処理すべきRLC PDUの理論上の最大数との対応関係を、HSDPAのカテゴリ毎に示す図である。なお、1TTI(TTI:Transmit Time Interval)は2msec、RLC PDUのデータ・サイズは42バイトであるものとする。また、HSDPAのカテゴリ6の環境下ではダウンリンクのレートは最大3.6Mbps、同カテゴリ8の環境下ではダウンリンクのレートは最大7.2Mbps、同カテゴリ10の環境下ではダウンリンクのレートは最大14.4Mbpsである。
ここで、MAC−hs(HS−DSCH向けMAC)で使用するMAC−hsヘッダのサイズは、通信経路が1つだけの基本的なチャネル・コンフィグレーションの場合には21ビットとなる。
このため、図14に示す値(最大数)は、“MAC−hsヘッダのサイズ=21ビット”として、次の計算式(1)に当てはめて求めた値である。
(1TTIに処理すべきRLC PDUの理論上の最大数)=(1TTI内に受信したHS−DSCHのトランスポート・ブロックの最大ビット数)/336(ビット)・・・・・・計算式(1)
図14に示すように、帯域が広がるほど、RLCレイヤ203において一定時間(1TTI)内に処理しなければならないRLC PDUの個数が増えることとなる。
図15は、通信経路が1つだけの基本的なチャネル・コンフィグレーションの場合において、データ・フレームの名称及び形態がレイヤ毎にどのように変化するのかを示す図である。
図15に示すように、RLC PDUは、16ビットのRLC AM(AM:Acknowledge Mode:確認モード)ヘッダと、320ビットのペイロード部と、からなる336ビットのフレームである。
また、MAC−d PDU(個別チャネル向けMAC)も、336ビットのフレームである。
MAC−hs SDU(SDU:Service Data Unit)は、21個分のMAC−dPDU(21×336=7056ビット)に221ビットのパディング(Padding)を加えてなる合計7277ビットのフレームである。
MAC−hs PDUは、MAC−hs SDUにMAC−hsヘッダを加えてなるフレームである。例えば、1個のMAC−hs SDUに21ビットのMAC−hsヘッダを加えてなるMAC−hs PDUの場合は、合計7298ビットのフレームになる。このMAC−hs PDUがトランスポート・ブロックとなる。
次に、RLC PDUの構造及びプロトコル規定について説明する。
図16はRLC PDUの構造を示す図である。
RLC PDUの構造は「3GPP TS25.322 Chapter9.2 Formats and parameters」に規定されている。
図17はRLC ヘッダを構成している各識別情報のデータ量及び内容を示す図である。各識別情報は、一般的には、ヘッダのIE(Information Element:情報要素)と称される。
図17に示すように、「D/C」は、コントロールPDU(Control PDU:制御用PDU)とデータPDU(Data PDU)とを識別するための、1ビットのD/Cフィールドである。すなわち、D/Cフィールドの値が「0」であれば、RLC PDUがコントロールPDUであることを示し、D/Cフィールドの値が「1」であれば、RLC PDUがデータPDUであることを示す。
また、「シーケンス・ナンバー(Sequence Number:以下、SNと略記)」は、PDUのシーケンス・ナンバーを示す12ビットのデータである。すなわち、SNは、0〜4095までの何れかの値となる。なお、PDUの数が4096個を超える場合、シーケンス・ナンバーは循環的に使用される。
「P」は、送達確認(Status Report)の要求の有無を示すための、1ビットのポーリング・ビット(Polling ビット)である。「P」の値が「0」であれば送達確認が要求されていないことを示し、「P」の値が「1」であれば送達確認が要求されていることを示す。
「HE」は、後続データとしてレングス・インジケータ(Length Indicator)が存在するか否かを識別するための2ビットのヘッダ・エクステンション・タイプ(Header Extension Type)である。「HE」の値が「00」であれば、次の8ビットがデータであることを示し、「HE」の値が「01」であれば、次の8ビットがレングス・インジケータと後述する「E(E ビット)」とを含むことを示す。
「E」は、1ビットのエクステンション・ビット(Extension bit)である。「E」の値が「0」であれば、次のフィールドが、データ、ピギーバック・ステータスPDU(piggybacked STATUS PDU)及びパディング(padding)のうちの何れかであることを示す。また、「E」の値が「1」であれば、次のフィールドがレングス・インジケータ及びE bitであることを示す。
「レングス・インジケータ(Length Indicator(LI))」は、バイト数が可変である。LIは、RLC SDUを構成するPDUのうち最終セグメント(segment)を構成するPDUを示すために用いられる。
例えば、LIの値が[0010100(=20)]であれば、該LIを有するPDUにおける20バイト目がSDUの終端(データの終端)である旨を示す。
また、LIの値が[1111111]であれば、残りのデータはパディングである旨を示す。
ここで、TCP/IPを使用するような一般的な環境下におけるRLC PDUの特性を考える。
図18は、RLC SDUのサイズ=1500バイト、RLC PDUのサイズ=42バイトの環境下において、RLC SDUとRLC PDUとの対応を示す図である。
図18に示すように、RLC SDUのサイズ=1500バイト、RLC PDUのサイズ=42バイトであれば、1個のRLC SDUは38個のセグメントに分割される。
そして、各セグメントにヘッダが付加されることにより、それぞれRLC PDUを構成する。
この場合、先頭セグメント(No.1)から37個目(No.37)までの合計37個のセグメントについては、データ・サイズが40バイトである。また、これら37個のセグメントについては、付加されるヘッダ内のP(ポーリング・ビット)の値が「0」、HE(ヘッダ・エクステンション・タイプ)の値が「00」であり、送達確認の要求がないとともに、LI(レングス・インジケータ)が付加されない。
最終セグメント(No.38)のみ、データ・サイズが、例えば20バイトである(1500−37×40=20のため)。この最終セグメントについては、付加されるヘッダ内のP(ポーリング・ビット)の値が「1」、HE(ヘッダ・エクステンション・タイプ)の値が「01」であり、送達確認の要求が有るとともに、LI(レングス・インジケータ)が付加される。
なお、これら38個のRLC PDUには、連続するSN(シーケンス・ナンバー)が付与される(例えば、図18の例では、0〜37のSNを付与している)。
図19は、RLC PDUのサイズが42バイト、RLC SDUのサイズが1500バイトの環境下における一般的なダウンリンク・データ転送の動作を示す模式図である。すなわち、図19は、W−CDMAの通信システムにおいて想定されている無線インターフェイスのプロトコル階層のうち、MACレイヤ202からRLCレイヤ203へのデータ転送と、RLCレイヤ203からPDCPレイヤ204への、ダウンリンク時のデータ転送の一般的な動作を示す。
MAC−hsのペイロード部にはRLCヘッダが含まれているため、一般的には、図19に示すように、MACレイヤ202からRLCレイヤ203へは、RLC PDUをそのままの形で転送する(受け渡す)。
すなわち、図19に示すように、MACレイヤ202からRLCレイヤ203へとRLC SDU(=1500バイト)1個分のデータ転送を行うに際しては、SN=0〜37の合計38個のRLC PDUをMACレイヤ202からRLCレイヤ203へと受け渡す。
また、RLCレイヤ203からPDCPレイヤ204へのデータ転送においては、RLCレイヤ203において個々のRLC PDUのペイロード部を結合することによりRLC SDUを生成し、該生成したRLC SDUを上位レイヤであるPDCPレイヤ204へと受け渡す。
すなわち、図18に示すように、RLCレイヤ203からPDCPレイヤ204へのデータ転送においては、38個の各RLC PDUからそれぞれヘッダを除いたペイロード部の各々を1つに結合することによりRLC SDUを生成し、該生成したRLC SDUをRLCレイヤ203からPDCPレイヤ204へと受け渡す。
図20は、図19とは逆に、一般的なアップリンク・データ転送の動作を示す模式図である。この場合も、RLC PDUのサイズが42バイト、RLC SDUのサイズが1500バイトの環境下における動作を示す。すなわち、図20は、PDCPレイヤ204からRLCレイヤ203へのデータ転送と、RLCレイヤ203からMACレイヤ202へのデータ転送の一般的な動作を示す。
図20に示すように、PDCPレイヤ204からRLCレイヤ203へと1個のRLC SDUをデータ転送するに際しては、一纏まりのRLC SDUをPDCPレイヤ204からRLCレイヤ203へと送信する。
また、RLCレイヤ203からMACレイヤ202へのデータ転送においては、RLC SDUをSN=0〜37の合計38個のデータに分割し、各データにヘッダを付与することにより、合計38個のRLC PDUを生成する。そして、これら38個のRLC PDUをRLCレイヤ203からMACレイヤ202へと受け渡す。
なお、本発明に関連する先行技術文献としては、特許文献1−3がある。
特許文献1−3には、複数のフレームを結合して他のレイヤへ転送する通信処理を行う技術が開示されている。
特開2000−059435号公報
特開2005−318211号公報
特開2008−005493号公報
以下、図面を参照して、本発明の実施形態に係る通信処理装置、通信処理方法及びそのプログラムについて説明する。
〔第1の実施形態〕
図1は第1の実施形態に係る通信処理装置100の構成を示すブロック図である。
図1に示すように、本実施形態に係る通信処理装置100は、制御部101と、送受信部102と、を備えている。
制御部101は、例えば、第1のレイヤにおける通信処理(以下、第1の通信処理)を行う第1のレイヤ処理手段103と、第2のレイヤにおける通信処理(以下、第2の通信処理)を行う第2のレイヤ処理手段104と、第3のレイヤにおける通信処理を行う第3のレイヤ処理手段105と、を備えている。
第1のレイヤ処理手段103は、所定の規格に従って第1のレイヤにおける第1の通信処理を行う。
同様に、第2のレイヤ処理手段104は所定の規格に従って第2のレイヤにおける第2の通信処理を行い、第3のレイヤ処理手段105は所定の規格に従って第3のレイヤにおける第3の通信処理を行う。
なお、本実施形態では、第1〜第3のレイヤは、第1、第2、第3レイヤの順に階層構造をなしている。第1のレイヤと第2のレイヤ、第2のレイヤと第3のレイヤの相互間における上位・下位の関係は特に限定されない。すなわち、上位のレイヤから順に第1、第2、第3レイヤであっても、あるいはその逆であってもよい。
送受信部102は、通信処理装置100の外部(例えば、ネットワーク、或いは外部の通信処理装置)からフレームを受信する処理と、制御部101の制御下でフレームを通信処理装置100の外部(例えば、ネットワーク、或いは外部の通信処理装置)に送信する処理と、を行う。
図2は第1の実施形態に係る通信処理方法の動作を示す図である。
図2に示すように、第1のレイヤ処理手段103は、通信処理装置100の外部より送受信部102を介して複数の第1のフレームを受信する。
なお、第1のレイヤ処理手段103が一度に処理する第1のフレームの数は任意であるが、ここでは、簡単のため、一度に処理する第1のフレームが第1のフレーム31、32、33の3つである例を説明する。
各第1のフレーム31、32、33は、それぞれのデータ1、2、3と、各データ1、2、3に対して第2のレイヤにおいて行われる所定の通信処理(第2の通信処理)に用いられる識別情報と、を含む構成とされている。
第1のフレーム31,32は、互いに同一の識別情報11を含む。
また、第1のフレーム33は、識別情報11とは異なる識別情報12を含む。
第1のレイヤ処理手段103は、受信した第1のフレーム31〜33のうち、データを相互に結合して1つにまとめる第1のフレームを、各第1のフレームの識別情報の内容に応じて判別する。
第2のレイヤでは、識別情報11,12の内容に応じて、各データ1〜3に対し第2の通信処理を行う。
第2の通信処理の例としては、データ内のエラー検出、エラーを検出した場合におけるデータ送信元へのデータ再送要求(以下、単に再送要求)、データ送信元に対するデータを受信した旨の通知(以下、受信応答)、などがある。これらの処理を行うか否か、行う場合にどのような処理内容で行うか(モードの選択)などは、識別情報の内容によって指定される。また、第2のレイヤでは、識別情報が互いに同一のフレームのデータに対しては、同一の第2の通信処理を行う。
そこで、第1の実施形態では、第1のレイヤ処理手段103は、第2のレイヤ処理手段104にフレームを受け渡す際に、互いに等しい識別情報を有する第1のフレームのデータを相互に結合し、1つにまとめてから受け渡す。
具体的には、例えば、図2に示すように、第1のレイヤ処理手段103は、同一の識別情報11を有する第1のフレーム31、32のデータ1,2を、相互に結合するデータであると判別する。そして、相互に結合すると判別したデータ1,2を結合することによって、結合データ20を生成する。
結合データ20に含まれるデータ1,2に対しては、第2のレイヤにおいて互いに同一の第2の通信処理を行う。このため、第1のレイヤ処理手段103は、結合データ20に対しては1つの識別情報を代表識別情報(結合データ用識別情報)13として付加する。すなわち、代表識別情報13と結合データ20とを含む第2のフレーム34を生成する。なお、代表識別情報13は、例えば、識別情報11と同じ内容である。
そして、第1のレイヤ処理手段103は、第2のフレーム34を第2のレイヤ処理手段104へ受け渡す。
また、第1のレイヤ処理手段103は、データ3を結合するとは判別されなかった第1のフレーム33は、そのまま第3のフレーム35として第2のレイヤ処理手段104へ受け渡す。
第2のレイヤ処理手段104は、結合データ20に含まれる各データ1,2に対しては、識別情報11の内容に従って、同一の第2の通信処理を行う。
また、第2のレイヤ処理手段104は、第3のフレーム35のデータ3に対しては、識別情報12の内容に従って、第2の通信処理を行う。
このように各データ1,2,3に対して第2の通信処理を行った後で、第2のレイヤ処理手段104は、各データ1,2,3を組み合わせて1つのフレーム、すなわち、図2に示すように第4のフレーム36を生成し、該第4のフレーム36を第3のレイヤ処理手段105へ受け渡す。
ここで、図1において、制御部101の第1〜第3のレイヤ処理手段103〜105は、制御部101の機能的構成である。
図3は制御部101のハードウェア構成の例を示すブロック図である。
制御部101は、具体的には、例えば、図3に示すように、制御動作を実行するCPU(Central Processing Unit)111と、このCPU111の動作用プログラムを記憶保持したROM(Read Only Memory)112と、CPU111の作業領域などとして機能するRAM(Random Access Memory)113と、を備えて構成されている。
そして、制御部101は、これらCPU111、ROM112、RAM113の協働により、第1〜第3のレイヤ処理手段103〜105として機能する。
以上のような第1の実施形態によれば、第1のレイヤでは、データを相互に結合する第1のフレーム31,32を各第1のフレーム31〜33の識別情報11,12の内容に応じて判別し、該判別した第1のフレーム31,32のデータ1,2を相互に結合して結合データ20を生成し、代表識別情報13(結合データ用識別情報)と結合データ20とを含む第2のフレーム34を生成し、該第2のフレーム34を第2のレイヤへ受け渡すので、第1のレイヤから第2のレイヤへ受け渡すフレームの数を低減することができる。よって、第2のレイヤにおける処理負荷を軽減することができる。加えて、第2のレイヤにおいて第4のフレーム36を生成する処理は、結合データ20とデータ3とを組み合わせることによって行うことができるため、第2のレイヤにおける処理負荷を軽減することができる。すなわち、第2のレイヤでは、予めデータ1,2が結合されてなる結合データ20と、データ3とを結合すればよいため、データ1,2を結合しなくて良い分、処理負荷を軽減できる。
なお、上記の第1の実施形態において、第2の通信処理の際には、結合データ20を1つのデータとして扱い、一括して処理(受信応答の送信、再送要求の送信など)を行っても良い。ただし、このように結合データ20に対し一括して第2の通信処理を行う場合には、通信相手の同じレイヤとの事前の取り決めが必要である。
或いは、第2の通信処理の際には、結合データ20を結合前のデータ1,2に分割し、個々のデータ1,2に対してそれぞれ個別に、同一の処理(受信応答の送信、再送要求の送信など)を行なってもよい。
何れの場合にも、結合データ20に付加された識別情報の内容のチェック、及びその内容に応じた第2の通信処理の種類の判別は、1つの結合データ20に対して1回だけで済む。すなわち、結合データ20を生成せずに、各データ1,2にそれぞれ識別情報を付加した状態で第1のレイヤから第2のレイヤへ各データ1,2を受け渡す場合と比べ、第2のレイヤ処理手段105の処理負荷を軽減できる。
また、受信したフレームが結合データ20を含むフレーム(第2のフレーム)であるか、結合データ20ではなく単体のデータを含むフレーム(第3のフレーム)であるかを第2のレイヤ処理手段104が判別する方法としては、次のような方法が挙げられる。
例えば、第3のフレームの長さ(データ量)を予め規定しておき、それよりも長いフレームを第2のフレームであると判別することが挙げられる。或いは、フレームの種類を識別できるような情報を、第2のフレームに含ませるか、或いは第2及び第3のフレームの双方に含ませてもよい。
或いは、結合データ20のサイズ、或いは結合数を識別できるような情報を第2のフレームに含ませても良い。
或いは、ソフトウェアの実装による対応方法もある。例えば、あるフレームの内容が、通信処理装置内のRAMのある領域に記憶されているならば、その領域を示す情報を、各レイヤ処理手段104、105の間で、パラメータとして受け渡すという方法がある。
また、上記の第1の実施形態では、通信処理装置100が第1〜第3のレイヤ処理手段103〜105を備える例を説明したが、通信処理装置100は、このうち第1のレイヤ処理手段103を少なくとも備えていれば良く、第2及び第3のレイヤ処理手段104、105は備えていなくても良い。すなわち、第2及び第3のレイヤ処理手段104、105のうちの少なくとも一方に相当する構成は、通信処理装置100の外部の構成であっても良い。
また、上記の第1の実施形態では、第3のレイヤが存在する例を説明したが、第3のレイヤは存在しなくても良い。例えば、第2のレイヤがアプリケーション・レイヤであってもよい。この場合、第4のフレーム36を生成する処理、及び、第2のレイヤから第3のレイヤへ第4のフレーム36を受け渡す処理は不要であり、第3のレイヤ処理手段105も不要である。
<第1の実施形態の変形例>
上記の第1の実施形態では、第1のフレームの識別情報の全体の内容に応じて(具体的には、識別情報の全体が同一であるか否かに応じて)、データを相互に結合する第1のフレームを判別する例を説明した。
これに対し、本変形例では、識別情報の一部分の内容に応じて(例えば、識別情報の一部分が同一であるか否かに応じて)、データを相互に結合する第1のフレームを判別する例を説明する。
なお、本変形例の場合も、通信処理装置100の構成は、上記の第1の実施形態(図1、図3)と同様である。
図4は本変形例に係る通信処理方法の動作を示す図である。
本変形例の場合、各第1のフレームは、第1の識別情報と第2の識別情報とを含む点でのみ上記の第1の実施形態と相違する。
すなわち、図4に示すように、第1のフレーム31は、第1の識別情報としての識別情報11と、第2の識別情報としての識別情報21と、を含む。同様に、第1のフレーム32は第1の識別情報としての識別情報11と第2の識別情報としての識別情報22とを含み、第1のフレーム33は第1の識別情報としての識別情報12と第2の識別情報としての識別情報23とを含む。
このうち、第1の識別情報としての識別情報11、12は、上記の第1の実施形態と同様である。本変形例でも、第1のレイヤ処理手段103は、識別情報11、12の内容に応じて、データを結合する第1のフレームを判別する。
一方、第2の識別情報としての識別情報21〜23は、各第1のフレーム31〜33に固有の情報(例えば、フレームの順序を示す情報など)である。この第2の識別情報は、再送要求などに用いられる。
上記の第1の実施形態で説明したように、結合データ20に対する第2の通信処理は、第1の識別情報11によって指定される、データ1、データ2に共通の処理である。すなわち、第2のレイヤでは、結合データ20に対しては、第1の識別情報11を参照することなしに、処理の内容を判断できる。従って、第1の識別情報11を第2のフレーム34に含ませる必要はない。
このため、変形例の場合において結合データ20に付加する結合データ用識別情報としては、何れか1つの第1のフレームの第2の識別情報(例えば、図4に示すように、識別情報21)のみを用いることができる。このように、第2のフレーム34に、第2の識別情報のみを含ませることによって、さらにヘッダ部によるオーバーヘッドを削減することができる。
なお、第2のレイヤでは、結合データ20に含まれる各データ1,2に対しては、共通の第2の通信処理を行ってもよい。或いは、結合データ20に対して一括して第2の通信処理を行い、さらに必要に応じて、個々のデータ1,2の第2の識別情報を結合データ用識別情報に基づいて生成し、その個別データへの所定の処理を行うこともできる。
〔第2の実施形態〕
本実施形態では、データ送信元の通信処理装置(送信装置)からデータ送信先の通信処理装置(受信装置)へフレームを送信する場合を想定する。また、本実施形態では、第1のレイヤは第2のレイヤの下位のレイヤであり、第2のレイヤは第3のレイヤの下位のレイヤであるものとする。そして、送信装置の第1のレイヤ、又はさらにそれよりも下位のレイヤから、ネットワーク、あるいは他の受信装置へフレームを送信する。
送信装置と受信装置では、第1の実施形態と同様に、第1のレイヤ、第2のレイヤの各々において、所定の規格に基づく通信処理(第1の通信処理、第2の通信処理)を行う。
なお、本実施形態の場合も、通信処理装置100の構成は、上記の第1の実施形態(図1、図3)と同様である。
図5は第2の実施形態に係る通信処理方法の動作を示す図である。
図5に示すように、第2のレイヤ処理手段104(第2のレイヤ)から第1のレイヤ処理手段103(第1のレイヤ)へ受け渡すフレーム(第1のフレーム61、第3のフレーム64)は、データ(データ51、3)と、該データに対して受信装置が第2のレイヤにおいて行う所定の通信処理に用いられる識別情報(識別情報11、12)と、を含む。
受信装置の第2のレイヤにおいては、識別情報が同一のフレームのデータに対しては、同じ第2の通信処理を行う。
そこで、第2の実施形態では、送信装置の第2のレイヤは、その上位の第3のレイヤから受け取った第4のフレーム60のデータ50を第1のレイヤに受け渡す際、第1のレイヤにおいて複数に分割されるデータ(第1のデータ)51と、それ以外の(第1のレイヤにおいて分割されない)データ(第3のデータ)3と、に分割して受け渡す。
データ51には1つの識別情報を代表識別情報(第1のデータ用識別情報)14として付加することにより第1のフレーム61を生成し、この第1のフレーム61を第1のレイヤへ受け渡す。
すなわち、第4のフレーム60のデータ50のうち、第1のレイヤにおいて分割された際に、代表識別情報14を元に生成できる識別情報11が付加されるデータ1,2のかたまりであるデータ51には、代表識別情報14を付加してから第1のレイヤへ受け渡す。
つまり、第2のレイヤ処理手段104は、データ51と代表識別情報14とを含む第1のフレーム61を生成し、該第1のフレーム61を第1のレイヤ処理手段103へ受け渡す。
また、その他のデータ3、すなわち代表識別情報14を元に生成できない識別情報12が付加されるデータ3には、第2のレイヤにおいて識別情報12を付加してから第1のレイヤへ受け渡す。
つまり、第2のレイヤ処理手段104は、データ3と識別情報12とを含む第3のフレーム64を生成し、この第3のフレーム64を第1のレイヤ処理手段103へ受け渡す。
ここで、データ50をデータ51とデータ3とに分割する方法としては、例えば、規定のサイズの整数倍のデータ51と、その端数のサイズ(=規定のサイズ未満)のデータであってデータ50からデータ51を除いた残りのデータ3と、に分割する方法が挙げられる。
或いは、データ50が規定のサイズの整数倍である場合には、データ50の終端部のデータのみを規定のサイズに切り取ってデータ3とし、残りの全体をデータ51(規定のサイズの整数倍となる)としても良い。
第1のレイヤ処理手段103は、第1のフレーム61を受けると、該第1のフレーム61のデータ51を複数のデータ1,2に分割する。そして、分割した各データ1,2に対しては、代表識別情報14に基づいて個別の識別情報11を生成し、該識別情報11を付加する。これにより、第2のフレーム62、63をそれぞれ生成する。なお、識別情報11の内容は、代表識別情報14と同一であっても良い。
更に、第1のレイヤ処理手段103は、生成した第2のフレーム62,63を受信装置宛に送信する。
また、第1のレイヤ処理手段103は、第3のフレーム64を受けると、該第3のフレーム64をそのまま受信装置宛に転送する。
以上のような第2の実施形態によれば、第1のレイヤでは、データ51を複数のデータ1、2に分割し、「データ送信先の通信処理装置がデータ1、2の各々に対して第2のレイヤにおいて行う所定の通信処理」に用いられる識別情報11をデータ1、2毎に生成し、個々のデータ1、2と各データ1、2に対応して生成された識別情報11とを含む第2のフレーム62、63を生成し、各第2のフレーム62、63を送信先の通信処理装置宛に送信するので、送信元において第2のレイヤから第1のレイヤへ受け渡すフレームの数を低減することができる。すなわち、第1のレイヤにおいて複数に分割されるデータ51を第1のフレーム61の形態でまとめて第2のレイヤから第1のレイヤへ受け渡すので、第4のフレーム60のデータ50を規定のサイズの多数のデータに分割して第2のレイヤから第1のレイヤへ受け渡す場合と比べて、第2のレイヤから第1のレイヤへ受け渡すフレームの個数を削減できる。よって、第2のレイヤにおける処理負荷を軽減することができる。しかも、送信元の第2のレイヤにおけるデータ50の分割数を低減でき、その点でも該第2のレイヤにおける処理負荷を軽減することができる。
また、第1のレイヤでは、各々の通常フレームへの通信処理、例えば識別情報の追加といった処理の回数が削減できる。すなわち、データ51を分割することにより生成した個々のデータ1,2に対する処理が、条件判断などが不要な、共通の処理の繰り返しとなる。従って、第1のレイヤにおける処理負荷も軽減できる。
第1のレイヤにおいて複数に分割されるデータ51を含むフレーム(第1のフレーム61)であるか、分割されないデータ3を含むフレーム(第3のフレーム64)であるかの判別、すなわちフレームの種類の判別は、第1の実施形態で説明したのと同様の方法によって行うことが可能である。
<第2の実施形態の変形例>
第2の実施形態においても、上記の第1の実施形態の変形例と同様に、識別情報に第1の識別情報と第2の識別情報とを含ませても良い。
本変形例の場合も、通信処理装置100の構成は、上記の第1の実施形態(図1、図3)と同様である。
図6は本変形例に係る通信処理方法の動作を示す図である。
この場合、データ51を分割することにより生成されるデータ1,2に対する第1のレイヤでの通信処理が共通なので(第1の識別情報が共通の識別情報11)、第1のフレーム61には第1の識別情報を含ませる必要がない。そして、データ1,2の何れかの第2の識別情報(識別情報21又は22)のみを代表識別情報として第1のフレーム61に使用することができる。第1のレイヤでは、データ51を分割することにより生成されるデータ1,2に対しては、予め第1の識別情報が判明しているので、それを識別情報11として追加し、さらに必要に応じて、代表識別情報に基づいて、個別データの第2の識別情報を生成して追加し、第2のフレームを構成することもできる。
〔第3の実施形態〕
次に、第3の実施形態を説明する。
本実施形態では、背景技術の項において詳述したようなW−CDMAの規定に従ったダウンリンク・データ転送について説明する。
図7は本実施形態に係る通信処理装置100の構成を示すブロック図である。
本実施形態の場合、制御部101は、図13に示す各レイヤにおける通信処理を行うように構成されている。
すなわち、制御部101は、PHY(物理)レイヤ201における通信処理を行うPHY(物理)レイヤ処理手段301と、第1のレイヤとしてのMACレイヤ202における通信処理を行うMACレイヤ処理手段(第1のレイヤ処理手段)302と、第2のレイヤとしてのRLCレイヤ203における通信処理を行うRLCレイヤ処理手段(第2のレイヤ処理手段)303と、第3のレイヤとしてのPDCPレイヤ204における通信処理を行うPDCPレイヤ処理手段(第3のレイヤ処理手段)304と、アプリケーション・レイヤ205における通信処理を行うアプリケーション・レイヤ処理手段305と、RRCレイヤ206における通信処理を行うRRCレイヤ処理手段306と、NASレイヤ207における通信処理を行うNASレイヤ処理手段208と、を備えて構成されている。
なお、本実施形態の場合も、制御部101のハードウェア構成は、上記の第1の実施形態(図3)と同様である。
本実施形態では、以下に説明するように、主としてMACレイヤ(第1のレイヤ)202からRLCレイヤ(第2のレイヤ)203へのデータ転送処理を改善する。すなわち、ダウンリンク・データ転送におけるRLCレイヤ203の処理削減を実現する。
例えば、インターネット上のWEBサイトを閲覧したり、大容量のファイルをダウンロードしたり、或いは、アップロードを実施するようなノンリアルタイム(non−real time)サービスを使用する場合、セッション(Session)確立時のチャネル・コンフィグレーションの際、RLCのモードとしては、データの送達確認が行われるRLC AM(AM:Acknowledge Mode)がネットワークから設定される。よって、本実施形態では、RLC AMを使用した場合の動作を説明する。
RLC AMの場合、上位2バイトのRLC AM ヘッダ(図15参照)は、D/C、SN(シーケンス・ナンバー)、送達確認を要求するP(ポーリングビット)、及び、後続データとしてレングス・インジケータが存在するか否かを識別するHE(ヘッダ・エクステンション・タイプ)で構成される(図16参照)。
これらD/C、SN、P、及びHEは、第2のレイヤとしてのRLCレイヤ203において、第2のフレームとしてのRLC PDUに含まれるデータ(通信経路が一つしかない、典型的なパターンの場合、第1のフレームとしてのMAC−d PDUに含まれるデータに等しい)対して行われる所定の通信処理に用いられる識別情報である。
ここで、RLC AMヘッダ内の各情報は、各RLC PDUに共通の値が設定されることが多い第1の識別情報と、RLC PDU毎に異なる第2の識別情報に分類することができる。例えば、D/C、P、及びHEは第1の識別情報に、SNは第2の識別情報に分類することができる。
本実施形態の場合、MACレイヤ処理手段302は、MAC−d PDU(第1のフレーム)を送受信部102及びPHYレイヤ処理手段301を介してネットワークより受信する。
MACレイヤ処理手段302は、MAC−d PDUを受信すると、各MAC−d PDUの先頭2バイト(RLC AM ヘッダに相当する)を構成する識別情報(D/C、SN、P、及びHE)の内容に応じて、複数のMAC−d PDUのうち、それに含まれるデータを相互に結合するMAC−d PDUを判別する。
ここで、RLCレイヤ203では、受信したフレームにD/C=1が設定され、且つ、P=1が設定されているという「第1の条件」を満たす場合には、ネットワークに対し送達確認を送信する。
また、受信したフレームにD/C=1が設定され、且つ、HE=01が設定されている(すなわちフレームがLIを含む)という「第2の条件」を満たす場合には、RLCレイヤ203では、当該フレームのペイロード部がRLC SDUの最後のセグメントを構成するデータであると判断(認識)する。
MACレイヤ処理手段302は、これら第1及び第2の条件のうちの少なくとも何れか一方を満たすフレームに対しては、「RLCレイヤ203における所定のプロトコル処理が必要である」と判定する。
MACレイヤ処理手段302は、逆に、第1及び第2の条件の何れも満たさないフレームに対しては、「RLCレイヤ203における所定のプロトコル処理が不要である」と判定する。すなわち、D/C=1が設定されているフレームであっても、HE=00(HE=01でない。すなわち、LIが存在しない)、且つ、P=0(送達確認が不要)が設定されているフレームに対しては、「RLCレイヤ203における所定のプロトコル処理が不要である」と判定する。
なお、D/C=1が設定されているフレーム(すなわちデータPDU)のデータは、RLCレイヤ203からPDCPレイヤ204を介してアプリケーション・レイヤ205へと受け渡される。
対して、D/C=0が設定されているフレーム(すなわちコントロールPDU)は、RLCレイヤ203からRRCレイヤ206及びNASレイヤ207を介してアプリケーション・レイヤ205へと受け渡される。
本実施形態では、以下、データPDU(D/C=1)の流れについてのみ説明し、コントロールPDU(D/C=0)の流れについては説明を省略する。
図18にて説明したように、RLC PDUのサイズが42バイト、RLC SDUのサイズが1500バイトの環境下においては、1個のRLC SDUから38個のRLC PDUが生成される。
また、一般的には、これら38個のRLC PDUのうち、先頭セグメント(No.1)を含むRLC PDUから37個目のセグメント(No.37)を含むRLC PDUまでについては、ぞれぞれP=0、HE=00が設定され、最終セグメント(No.38)を含むRLC PDUについてのみ、P=1、HE=01が設定されている。
つまり、実環境下においては殆どのRLC PDUは所定のプロトコル処理が不要なRLC PDUである。
なお、SNがどの値であるRLC PDUにPを付加するかは、ネットワークのコンフィグレーションに応じて異なる。図18には、RLC SDUの最終セグメントを含むRLC PDUにPが付加されるケースを図示したが、ネットワークからの設定によっては、Pが付加されないRLC PDUを受信した場合でも、SN欠損を検出したときに、送達確認を送信することがある。
本実施形態では、RLC SDUから複数のPDUを生成した際に、実運用環境下においては、殆どのRLC PDUはRLCレイヤ203における所定のプロトコル処理が不要なPDUとなるという特性を利用する。
すなわち、MACレイヤ202においては、RLCレイヤ203における所定のプロトコル処理が不要であり、且つ、連続したSNを持つRLC PDUについては、個々のRLC PDUの形でRLCレイヤ203にデータを受け渡すのではなく、それらを結合したフレームの形で転送する。これにより、あたかもRLCレイヤ203において処理しなければならないRLC PDUの個数を減らすかのような動作とする。
MACレイヤ202においては、上記所定のプロトコル処理が不要であり、且つ、SNが連続したRLC PDUについては、それらのペイロード部を結合することにより生成されるフレームを、あたかもサイズが大きい1つのRLC PDUであるかのように扱って、RLCレイヤ203へ転送する。
RLCレイヤ203においては、例えば、規定のサイズ(具体的には、例えば、42バイト)とは異なるフレームをMACレイヤ202から受けた場合、SNが連続した複数のRLC PDUのペイロード部が結合されて転送されてきたと認識し、処理する。
なお、この規定のサイズは、セッション確立時にネットワークから通知され、制御部101のRAM113に記憶保持される。
図8は、本実施形態に係る通信処理方法によるダウンリンク・データ転送の動作を示す模式図である。すなわち、図8は、RLC PDUのサイズ=42バイト、RLC SDUのサイズ=1500バイトの環境下において、MACレイヤ処理手段302が(MACレイヤ202が)MAC−d PDUを受信した後の動作を示す。なお、図8に示すのは、1個のRLC SDUに相当するデータを転送する動作である。
本実施形態の場合、図8に示すように、MACレイヤ202においては、PHYレイヤ201から受信した複数のMAC−d PDU(=RLC PDU)のうち、RLCレイヤ203における所定のプロトコル処理が不要であり、且つ、SN(シーケンス・ナンバー)が連続するMAC−d PDUを相互に結合する。
これにより、RLC PDUよりもサイズが大きいフレームF1を生成する。
フレームF1の生成に際しては、先頭のMAC−d PDUのRLC ヘッダ以外は、RLC ヘッダを省いてRLC ペイロード部のみを相互に結合する。
そして、生成したフレームF1を、MACレイヤ202からRLCレイヤ203へ受け渡す。
また、RLCレイヤ203における所定のプロトコル処理が必要なRLC PDUについては、結合せずにそのままの形でフレームF2としてMACレイヤ202からRLCレイヤ203へ転送する。
具体的には、本実施形態の場合、図8に示すように、例えば、SN=0のRLC PDUと、SN=1〜36の各RLC PDUからヘッダを省いた残りであるペイロード部と、をSNの順に並べて相互に結合することによりフレームF1を生成し、該フレームF1をMACレイヤ202からRLCレイヤ203へ受け渡す。
すなわち、SN=0〜SN=36の合計37個のRLC PDUを、不要なヘッダを省略して結合することによりフレームF1を生成し、受け渡す。
なお、本実施形態では、フレームF1から先頭のRLC PDUのRLCヘッダを除いたものが、結合データである。また、フレームF1の先頭のRLC PDUのRLCヘッダが、結合データ用識別情報である。
また、SN=37のRLC PDUは、P=1であり、且つ、HE=01であるため、RLCレイヤ203における所定のプロトコル処理が必要なPDUである。よって、結合せずにそのままの形でフレームF2としてMACレイヤ202からRLCレイヤ203へ受け渡す。
このように、MACレイヤ202は、1個のRLC SDUに相当するデータをRLCレイヤ203へ受け渡す場合には、図8に示すように、2つのフレームF1、F2をRLCレイヤ203に受け渡す。つまり、MACレイヤ202は、あたかも2個のRLC PDUをRLCレイヤ203に受け渡すかのような動作を行う。
次に、RLCレイヤ203においては、例えば、受け渡されたフレームのサイズが規定のサイズ(例えば、42バイト)であるか否かを判別する。規定のサイズとは異なるデータ量のフレームを受けた場合、該フレームをフレームF1であると判別する。
ここで、RLCレイヤ203においては、規定のサイズよりも大きいサイズのフレームを受けた場合に、フレームF1を受けたと判別するようにしても良いのは勿論であるが、規定のサイズよりも小さいフレームの受け渡しは実際的には発生しないため、受け渡されたフレームがフレームF1かフレームF2であるかを認識するためには、規定のサイズであるか否かの判別で良い。
RLCレイヤ203は、規定のサイズとは異なるフレームF1を受けると、該フレームF1を、SNが連続した複数のRLC PDUのペイロード部がSNの順に結合されてなるフレームであると認識する。
また、RLCレイヤ203において、規定のサイズのデータ量のフレーム、すなわちフレームF2を受信すると、RLCレイヤ203では、該フレームF2を、該RLCレイヤ203における所定のプロトコル処理が必要なRLC PDUであると認識する。
RLCレイヤ203では、フレームF2を構成するRLC PDUについては、以下のようにプロトコル処理を行う。
すなわち、フレームF2を構成するRLC PDUには、P=1が設定されているので、RLCレイヤ203は、ネットワークに対し送達確認を送信する。
また、フレームF2を構成するRLC PDUには、LIが含まれている(HE=01)ので、RLCレイヤ203は、該RLC PDUをRLC SDUの最後のセグメントを構成するデータであると認識する。
一方、フレームF1は、SNが連続した複数のRLC PDUを結合してなるフレームであり、ヘッダはSN=0の先頭のセグメントのヘッダのみが含まれている。
このため、RLCレイヤ203では、フレームF1から先頭のヘッダを除くとともに、該フレームF1の最後尾にフレームF2のペイロード部を結合することにより、RLC SDUを生成することができる。
RLCレイヤ203は、このように生成したRLC SDUをPDCPレイヤ204へ受け渡す。
次に、図9は、第3の本実施形態の場合において、2個のRLC SDUに相当するデータを転送する動作を示す模式図である。
この場合、図9に示すように、SN=0のRLC PDUと、SN=1〜36の各RLC PDUからヘッダを省いた残りであるペイロード部と、を結合することにより、図8の場合と同様にフレームF1を生成し、該フレームF1をMACレイヤ202からRLCレイヤ203へ転送する。
また、SN=37のRLC PDUは、RLCレイヤ203における処理のプロトコル処理が必要なPDU(P=1、LI有)であるので、図8の場合と同様に、結合せずにそのままの形でフレームF2としてMACレイヤ202からRLCレイヤ203へ転送する。
また、SN=38のRLC PDUと、SN=39〜74の各RLC PDUからヘッダを省いた残りであるペイロード部と、を結合することにより、フレームF3を生成し、該フレームF3をMACレイヤ202からRLCレイヤ203へ転送する。
また、SN=75のRLC PDUは、プロトコル処理が必要なPDU(P=1、LI有)であるので、結合せずにそのままの形でフレームF4としてMACレイヤ202からRLCレイヤ203へ転送する。
このように、MACレイヤ202は、2個のRLC SDUに相当するデータを転送する場合には、図9に示すように、4つのフレームF1、F2、F3、F4をRLCレイヤ203に転送する。つまり、MACレイヤ202は、あたかも4個のRLC PDUをRLCレイヤ203に送信するかのような動作を行う。
次に、RLCレイヤ203においては、規定のサイズとは異なるデータ量のフレーム、すなわちフレームF1、F3を受信すると、これらフレームF1、F3を、SNが連続した複数のRLC PDU(のペイロード部)が結合されてなるフレームであると認識する。
また、RLCレイヤ203では、規定のサイズのデータ量のフレーム、すなわちフレームF2、F4を受信すると、該フレームF2、F4に対して、従来通りのRLC PDUに対する受信処理を行う。従って、結果的に所定のプロトコル処理が発生する。
RLCレイヤ203では、フレームF2、F4を構成するRLC PDUについては、以下のようにプロトコル処理を行う。
すなわち、フレームF2、F4を構成するRLC PDUには、P=1が設定されているので、RLCレイヤ203は、ネットワークに対し送達確認をそれぞれ送信する。
また、フレームF2、F4を構成するRLC PDUには、LIが含まれている(HE=01)ので、RLCレイヤ203は、該RLC PDUをRLC SDUの最後のセグメントを構成するデータであると認識する。
一方、フレームF1は、SNが連続した複数のRLC PDUを結合してなるフレームであり、ヘッダはSN=0の先頭のセグメントのヘッダのみが含まれている。
同様に、フレームF3は、SNが連続した複数のRLC PDUを結合してなるフレームであり、ヘッダはSN=38の先頭のセグメントのヘッダのみが含まれている。
このため、RLCレイヤ203では、フレームF1から先頭のヘッダを除くとともに、該フレームF1の最後尾にフレームF2のペイロード部を結合することにより、1つ目のRLC SDU(図9に示すRLC SDU(No.1))を生成することができる。
同様に、フレームF3から先頭のヘッダを除くとともに、該フレームF3の最後尾にフレームF4のペイロード部を結合することにより、2つ目のRLC SDU(図9に示すRLC SDU(No.2))を生成することができる。
よって、図8の動作の場合と同様に、従来と比べてRLCレイヤ203の処理負担を軽減することができる。
ここで、RLCレイヤ203においては、このようにRLC SDU(No.1)、RLC SDU(No.2)をそれぞれ生成するに際し、各フレームF1〜F4のヘッダに含まれるSNの値とLIの値に基づき、以下に説明するようにして、相互に結合するフレームを判別する。
先ず、フレームF1のSNの値は「0」であることから、該フレームF1内の結合されたペイロード部(結合データ)は、RLC SDUの先頭を構成することが分かる。
また、フレームF3のSNの値は「38」であり、SNの値がフレームF2の続き番号であることが分かる。しかし、フレームF3には、LIが含まれていないため、フレームF3は、SDUの先頭を構成することが分かる。
また、フレームF2、F4には、SDUの終端である旨を示すL1が含まれていることから、フレームF2、F4のペイロード部をフレームF1、F3のペイロード部の終端に結合させれば良いことが分かる。
このうちフレームF2のSNの値は「37」であるため、フレームF2のペイロード部はフレームF3ではなく、フレームF1内のペイロード部の終端に結合させれば良いと分かる。
また、フレームF4のSNの値は「75」であるため、フレームF4のペイロード部は、フレームF3のペイロード部の終端に結合させれば良いと分かる。
フレームF2のペイロード部をフレームF1内のペイロード部の終端に結合させる際、並びに、フレームF4のペイロード部をフレームF3のペイロード部の終端に結合させる際には、各々のLIにより示されているデータの終端位置に基づいて、パディングを削除する。
なお、LIの値が、パディングがない旨を示す[0000000]である場合、このRLC PDUは、フレームの先頭に結合される。この場合、パディングがない旨を示すLIを有するRLC PDUの前のRLC PDUのペイロード部がSDUの終端を構成する。
以上のような第3の実施形態によれば、MACレイヤ202では、ペイロード部を相互に結合するRLC PDUを各RLC PDUのヘッダに含まれる識別情報の内容に応じて判別し、該判別したRLC PDUのペイロード部を相互に結合し、該結合したペイロード部と、先頭のRLC PDUのRLCヘッダ(識別情報を含む)と、を含むフレームF1を生成し、該フレームF1をMACレイヤ202からRLCレイヤ203へ受け渡す。よって、MACレイヤ202からRLCレイヤ203へ受け渡すフレームの数を低減することができる。よって、RLCレイヤ203における処理負荷を軽減することができる。しかも、RLCレイヤ203において結合すべきデータ数を低減でき、その点でもRLCレイヤ203における処理負荷を軽減することができる。
すなわち、SN=0〜37の合計38個のRLC PDUの各々からヘッダを除いた上で、それらPDUのペイロード部を結合することによりRLC SDUを生成する必要がある従来の動作と比べて、RLCレイヤ203の処理負荷を軽減できる。
また、RLCレイヤ203は、再送制御をするので、再送制御が終わるまでは、MACレイヤ202から受け渡されたフレームのうち、PDCPレイヤ204へ受け渡しが終わっていないフレームは全て保持しておく必要がある。このため、フレーム(RLC PDU)の数が多ければ、管理のために多大な処理負荷を要するという事情がある。しかし、本実施形態では、管理すべきフレームの数が大幅に低減されるので、フレーム数の増加に起因する諸問題の発生を防止することができる。
なお、上記の第3の実施形態では、RLC AMを使用した場合の動作を説明したが、第3の実施形態は、データの送達確認が行われないRLC UM(UM:Unacknowledge Mode:非確認モード)が設定された場合も同様に使用することが可能である。
RLC UMの場合、RLC ヘッダが1バイトであり、HE及びD/Cは何れも使用しないため、これらの識別情報の判別は行う必要がない。RLC UMの場合、E(エクステンション・ビット)=1であればLIも有るので、E=0であり、且つ、SNが連続するRLC PDUを相互に結合することにより、フレームF1、F3を生成する。
〔第4の実施形態〕
次に、第4の実施形態を説明する。
図10は、本実施形態に係る通信処理方法によるダウンリンク・データ転送の動作を示す模式図である。すなわち、図10は、RLC PDUのサイズ=42バイト、RLC SDUのサイズ=1500バイトの環境下において、MACレイヤ処理手段302が(MACレイヤ202が)MAC−d PDUを受信した後の動作を示す。なお、図10に示すのは、2個のRLC SDUに相当するデータを転送する動作である。
第4の実施形態に係る通信処理装置の構成は、上記の第3の実施形態(図7)と同様である。
第4の実施形態の場合、図10のフレームF6のように、P=1であるか、又は、HE=01(LI有)のRLC PDU(例えば、SN=37のRLC PDU)を、フレームの先頭のセグメントに結合することができる。
これにより、第4の実施形態では、上記の第3の実施形態の場合よりも、更に処理の効率化を図ることができる。
本実施形態の場合、具体的には、例えば、図10に示すように、2つのRLC SDUに相当するデータを、3つのフレームF5、F6、F7に分けて、MACレイヤ202からRLCレイヤ203へと受け渡すことができる。
このうちフレームF5は、SN=0〜36の37個分のRLC PDUのペイロード部と、RLCヘッダと、からなる。
また、フレームF6は、SN=37〜74の38個分のRLC PDUのペイロード部と、SN=37のRLC PDUのRLCヘッダと、からなる。
フレームF6におけるSN=37のRLC PDUは、RLCレイヤ203における所定のプロトコル処理が必要なPDUであるため、そのペイロード部は結合データを構成しない。しかし、フレームF6は、SN=38以降のRLC PDUのペイロード部の結合データを含む。
また、フレームF7は、SN=75のRLC PDUからなる。
RLCレイヤ203では、MACレイヤ202からフレームF5、F6、F7を受信すると、フレームF5の各ペイロード部と、フレームF6の先頭セグメント(SN=37)のペイロード部と、を結合することにより1つ目のRLC SDU(図10のRLC SDU(No.1))を生成する。また、フレームF6の2番目以降の各セグメント(SN=38〜74)を構成する各ペイロード部と、フレームF7のペイロード部と、を結合することにより2つ目のRLC SDU(図10のRLC SDU(No.1))を生成する。
そして、これら生成した2つのRLC SDUをRLCレイヤ203からPDCPレイヤ204へと受け渡す。
以上のような第4の実施形態によれば、RLCレイヤ203における所定のプロトコル処理が必要なRLC PDUのペイロード部は結合データを構成することはできない。しかし、結合データを構成することができないペイロード部であっても、予め取り決めを行っておくことにより、結合データを構成することができる。例えば、フレームの先頭を構成するRLC PDUに対しては、所定のプロトコル処理を適用するように、予め取り決めておくことによって、結合データを構成することが可能となる。そして、その結合データはフレームの先頭に結合することができる。従って、上記の第3の実施形態よりもフレームの数を低減できる。
なお、上記の第4の実施形態では、フレームF6が結合データを含む例を説明したが、フレームF6は、(例えばSN=37の)RLC PDUの他には、1つのRLC PDUのペイロード部のみを含んでいても良い。
〔第5の実施形態〕
第5の実施形態では、背景技術の項において詳述したようなW−CDMAの規定に従ったアップリンク・データ転送について説明する。
図11は、本実施形態に係る通信処理方法におけるアップリンク・データ転送の動作を示す模式図である。すなわち、図11は、RLC PDUのサイズ=42バイト、RLC SDUのサイズ=1500バイトの環境下において、PDCPレイヤ204からRLCレイヤ203へのデータ転送と、RLCレイヤ203からMACレイヤ202へのデータ転送の動作を示す。なお、図11に示すのは、1個のRLC SDUのデータを転送する動作である。
この場合、図11に示すように、先ず、PDCPレイヤ204からRLCレイヤ203へとRLC SDUを受け渡す。
RLCレイヤ203では、RLC SDUを受けると、このRLC SDUの先頭から、RLCペイロード部の規定のサイズ(=40バイト)の整数倍で、且つ最大の大きさのデータ(整数倍データ)を切り取る。
言い換えると、RLC SDUを、RLCペイロード部の規定のサイズの整数倍の整数倍データ(第1のデータ)と、規定サイズ未満の端数データ(第3のデータ)と、に分割する。
RLCレイヤ203では、続いて、整数倍データと、端数データのそれぞれに対し、RLCヘッダを付加し、それぞれフレームF8,9を生成する。
すなわち、整数倍データには、SN=0と設定したRLCヘッダを付加することにより、フレームF8とする。
なお、RLCペイロード部の規定のサイズの整数倍のデータは、該整数で等分割することにより、プロトコル処理が不要でSNが連続したRLC PDUの各ペイロード部を構成する。
このため、フレームF8は、プロトコル処理が不要でSNが連続したRLC PDUを、先頭のRLC PDUにのみRLC ヘッダを付加し、その他のRLC PDUにはRLC ヘッダを省略した形で、各々のRLC ペイロード部を結合したものであると言い換えることができる。
また、RLC SDUから切り取ることができた整数倍データの大きさが、規定のサイズの何倍であるかに応じて、端数データに付加するRLCヘッダのSNの値を設定する。例えば、整数倍データの大きさが、規定サイズの37倍である場合には、SN=37(38番目)のSN値とする。
端数データには、終端にパディングを付加することにより、合計で規定のサイズとなるように調節する。
端数データに付加するRLCヘッダは、上記のように設定したSN値とする他、HE=01とし、RLC SDUの終端である旨のLIを付加し、P=1とする。また、LIの値は、データの終端位置を示す値に設定する。これにより、フレームF9を生成する。
続いて、RLCレイヤ203は、このように生成したフレームF8,F9をMACレイヤ202へ受け渡す。
RLCレイヤ203は、1個のRLC SDUに相当するデータを転送する場合には、図11に示すように、あたかも2個のRLC PDUをMACレイヤ202へ受け渡すかのような動作を行う。
次に、MACレイヤ202においては、規定のサイズとは異なるデータ量のフレーム、すなわちフレームF8を受信すると、該フレームF8を、SNが連続した複数のRLC PDU(のペイロード部)が結合されてなるフレームであると認識する。
MACレイヤ202では、フレームF8のペイロード部(RLCヘッダを除く部分)を、個々のRLC PDUのペイロード部のサイズ(40バイト)で先頭から等分に切り分けて複数のデータに分割し、これら各データに対し、RLCヘッダを生成及び付加することにより、RLC PDUを生成する。
ここで、先頭のRLC PDUについては、RLCレイヤ203から受け渡されたRLC ヘッダ(SN=0)をそのまま用い、2番目のRLC PDUからは、先頭のRLC PDUのヘッダに格納されているSNを1つずつインクリメントする形で、全てのRLC ヘッダを生成する。
そして、これら生成したRLC PDUをネットワークへ転送する。
また、MACレイヤ202は、フレームF9については、1個のRLC PDUであると認識し、そのままネットワークへ転送する。
以上のような第5の実施形態によれば、MACレイヤ202では、規定のサイズの整数倍のデータと、このデータの識別情報としてのRLCヘッダと、を含むフレームF8のデータを規定のサイズの複数のデータに分割する。これら分割したデータの各々に対して、「データ送信先の第2のレイヤにおいて行う所定の通信処理」に用いられる識別情報としてのRLCヘッダを、SN=0のRLCヘッダに基づいて生成する。そして、分割した個々のデータと、当該データに対応して生成されたRLCヘッダと、を含むRLC PDUを生成し、これらRLC PDUをデータ送信先の通信処理装置宛に送信する。
従って、RLCレイヤ203からMACレイヤ202へ受け渡すフレームの数を低減することができる。よって、RLCレイヤ203における処理負荷を軽減することができる。しかも、RLCレイヤにおけるデータの分割数を低減でき、その点でも該RLCレイヤにおける処理負荷を軽減することができる。
以上のように、本実施形態においては、RLCレイヤ203からMACレイヤ202へ受け渡すフレームの数を削減できる。そのため、RLCが管理しなければならないRLC PDUの個数を劇的に削減することができる。
ところで、一般的に通信処理装置がARQ (Automatic Repeat Request)機能を保有している場合、PDUの再送制御が必要となる。再送制御を行うためには、PDUを下位のレイヤに転送しても、その転送済みのPDUを即座に削除することはできず、送信先の通信装置からの受信応答(ACK)を受信して初めて削除することができる。このことは、本実施形態におけるRLCレイヤ203についても同様である。具体的に説明すると、本実施形態では、RLCレイヤ203からMACレイヤ202へPDUを転送した後も、送信先からのACKを受信するまでは、送信したPDUを保持している必要がある。このように、PDUの送信後もPDUの管理が必要となるため、PDUの個数を削減することができれば、PDU管理の処理を削減することができる。従って、管理のために要するソフトウェア処理量を削減することが可能になる。
〔第6の実施形態〕
図12は、第6の実施形態に係る通信処理方法におけるアップリンク・データ転送の動作を示す模式図である。すなわち、図12は、RLC PDUのサイズ=42バイト、RLC SDUのサイズ=1500バイトの環境下において、PDCPレイヤ204からRLCレイヤ203へのデータ転送と、RLCレイヤ203からMACレイヤ202へのデータ転送の動作を示す。なお、図12に示すのは、2個のRLC SDUに相当するデータを転送する動作である。
本実施形態の場合、図12に示すように、先ず、PDCPレイヤ204からRLCレイヤ203へと2個のRLC SDUを受け渡す。
RLCレイヤ203では、2個のRLC SDUを受けると、このうち先に受けたRLC PDU(No.1)の先頭から、上記の第5の実施形態と同様に、規定のサイズ(=40バイト)の整数倍で、且つ最大の大きさのデータ(整数倍データ)を切り取る。
すなわち、RLC SDU(No.1)を、規定のサイズの整数倍の整数倍データ(第1のデータ)と、規定サイズ未満の端数データ(第3のデータ)と、に分割する。
RLCレイヤ203では、続いて、整数倍データに対し、SN=0のRLCヘッダを付加し、フレームF10を生成する。このフレームF10は、上記の第5の実施形態のフレームF8に相当する。
すなわち、フレームF10は、プロトコル処理が不要でSNが連続したRLC PDUを、先頭のRLC PDUにのみRLC ヘッダを付加し、その他のRLC PDUにはRLC ヘッダを省略した形で、各々のRLC ペイロード部を結合したものであると言い換えることができる。
また、端数データに対し、RLCヘッダを付加する。
端数データに付加するRLCヘッダは、上記の第5の実施形態と同様に設定したSN値(例えば、SN=37)とする他、HE=01とし、RLC SDUの終端である旨のLIを付加し、さらにP=1とする。また、LIの値は、データの終端位置を示す値に設定する。
更に、端数データの終端にパディングを付加することにより、端数データとパディングとの合計が規定のサイズとなるように調節する。
一方、RLC SDU(No.2)も、RLC SDU(No.2)と同様に、整数倍データ(第1のデータ)と、端数データ(第3のデータ)と、に分割する。
このうち整数倍データは、RLC SDU(No.1)を元に生成した端数データ(RLCヘッダを有する)の終端に結合する。これにより、フレーム(第3のフレーム)F11を生成する。
このように、フレームF11は、上記端数データの分割元のRLC SDU(No.1)とは別のRLC SDU(No.2)から分割された、整数倍データを含む。
言い換えるとフレームF11は、プロトコル処理が必要なRLC PDU(SN=37)のペイロード部にRLC ヘッダを付加したものと、プロトコル処理が不要でSNが連続したRLC PDU(SN=38〜74)におけるRLC ヘッダを省略した各ペイロード部と、を結合したものである。
また、RLC SDU(No.2)を元に生成した端数データ、すなわちプロトコル処理が必要なRLC PDU(SN=75)のペイロード部には、RLC ヘッダを付加するとともに、その終端にパディングを付加する。これにより、端数データとパディングとの合計を規定のサイズとし、RLCヘッダ、端数データ、及びパディングからなるフレームF12を生成する。
そして、これら生成したフレームF10、F11、F12をRLCレイヤ203からMACレイヤ202へ受け渡す。
このように、RLCレイヤ203は、2個のRLC SDUに相当するデータをMACレイヤ202へ受け渡す場合には、図12に示すように、あたかも3個のRLC PDUをRLCレイヤ203に受け渡すかのような動作を行う。
次に、MACレイヤ202においては、規定のサイズ(42バイト)とは異なるデータ量のフレーム、すなわちフレームF10、F11を受けると、該フレームF10、F11を、SNが連続した複数のRLC PDU(のペイロード部)が結合されてなる部分を有するフレームであると認識する。
MACレイヤ202では、フレームF10のペイロード部(RLCヘッダを除く部分)を、規定のサイズ、すなわち、個々のRLC PDUのペイロード部のサイズ(40バイト)で先頭から等分に切り分けて複数のデータに分割し、これら各データに対し、RLCヘッダを生成及び付加することにより、RLC PDUを生成する。
ここで、第5の実施形態と同様に、先頭のRLC PDUについては、RLCレイヤ203から受け渡されたRLC ヘッダ(SN=0)をそのまま用い、2番目のRLC PDUからは、先頭のRLC PDUのヘッダに格納されているSNを1つずつインクリメントする形で、全てのRLC ヘッダを生成する。
そして、これら生成したRLC PDUをネットワークへ転送する。
また、フレームF11は、その先頭が、所定のプロトコル処理が必要なRLC PDUであるため、MACレイヤ202は、フレームF11の先頭は、RLC PDUの規定のサイズ(42バイト)で切り取り、残りのペイロード部は、個々のRLC PDUのペイロード部のサイズ(40バイト)で先頭から等分に切り分けて複数のデータに分割し、これら各データに対し、RLCヘッダを生成及び付加することにより、RLC PDUを生成する。また、この際、所定のプロトコル処理が必要な先頭のRLC PDUのヘッダに格納されているSNを1つずつインクリメントする形で、全てのRLC ヘッダを生成する。
そして、これら生成したRLC PDUをネットワークへ転送する。
また、MACレイヤ202は、規定のサイズのデータ量のフレームF12については、1個のRLC PDUであると認識し、そのままネットワークへ転送する。
以上のような第6の実施形態によれば、フレームF11は、規定のサイズの端数データを含むRLC PDU(例えば、SN=37)と、このRLC PDUの分割元であるRLC SDU(No.1)とは別のRLC SDU(No.2)から分割された、規定のサイズ(40バイト)の整数倍のデータと、を含む構成である。このため、上記の第5の実施形態よりも、フレームの数を低減でき、RLCレイヤ203における処理負荷を更に軽減できる。
なお、上記の各実施形態では、高レートのデータ転送であるHSDPAのHSPA(High Speed Packet Access)動作を例示したが、3Gで使われる他の全てのチャネル(DCH(Dedicated Channel)、FACH(Forward Access Channel)、RACH(Random Access Channel)、E−DCH(Enhanced Dedicated Channel))にも同様に適用可能である。