JPWO2009113353A1 - 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム - Google Patents

転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム Download PDF

Info

Publication number
JPWO2009113353A1
JPWO2009113353A1 JP2010502743A JP2010502743A JPWO2009113353A1 JP WO2009113353 A1 JPWO2009113353 A1 JP WO2009113353A1 JP 2010502743 A JP2010502743 A JP 2010502743A JP 2010502743 A JP2010502743 A JP 2010502743A JP WO2009113353 A1 JPWO2009113353 A1 JP WO2009113353A1
Authority
JP
Japan
Prior art keywords
unit
payload
transfer control
header
transfer
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.)
Granted
Application number
JP2010502743A
Other languages
English (en)
Other versions
JP4978732B2 (ja
Inventor
雅規 上久保
雅規 上久保
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2010502743A priority Critical patent/JP4978732B2/ja
Publication of JPWO2009113353A1 publication Critical patent/JPWO2009113353A1/ja
Application granted granted Critical
Publication of JP4978732B2 publication Critical patent/JP4978732B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • H04L49/9073Early interruption upon arrival of a fraction of a packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

【課題】本発明は、多重受信フレームを入力してメモリに格納し、後続処理でのデータ管理を容易にすることが可能な転送制御装置を提供する。【解決手段】転送制御装置20は、位置情報管理部の位置情報に基づいて、予めヘッダパラメータをアラインしたヘッダ構造体を生成し、ヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送記憶する制御を行うヘッダパラメータ整列制御部27、予めペイロードを特定サイズにアラインしたペイロード構造体を生成し、ペイロード構造体を第2の記憶部上のペイロード記憶領域に転送記憶する制御を行うペイロード整列制御部28を含む。【選択図】図2

Description

本発明は、転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラムに関し、特に、無線通信フレームのプロトコル処理手順に基づき下位物理層から入力された受信フレームをメモリに格納し、メモリに格納するデータを予めヘッダ解析してメモリへの受信フレームのデータ格納場所を算出する機能を有する多重化フレーム転送装置などに関する。
近年の無線通信技術及びそれにかかわるデバイス性能の向上に伴い、無線通信の送受信レートは向上の一途をたどっている。
たとえば、移動体通信における通信レートは、第二世代のパケット通信が最大28.8kbpsであったものが、2001年の第三世代方式商用開始に至ると384kbpsでのサービス開始となった。
さらに第3.5世代では14.4Mbpsまでの速度向上が将来見込まれている。
今後、第3.9世代では100Mbpsを目指した仕様の策定が各国の標準化団体による共同プロジェクトである3GPP(3rd Generation Partnership Project)によって進められており、第4世代ではGbpsクラスの通信速度が見込まれている。
このように、通信帯域が指数関数的に向上していく状況下において、受信されたフレームがCPUによってプロトコル処理されるべき速度もそれに応じて増えていく。
ここでいうプロトコル処理とは、ヘッダ情報からPDU(Protocol Data Unit)の構成を算出する単純処理の部分と、それを元に仮想的に割り当てられている論理チャネルごとに各PDUを振り分けて優先度や対向局との間のACK(ACKnowledgement)などを行いながら通信の終端処理を行う部分とにわけられる。
前者の単純処理は、受信フレームを先頭から数バイト程度のデータ単位で少なくともヘッダ部分を取り込みながら取得できる情報を順次取り出していく処理であるため、専用のハードウェアによる処理が適している。
他方、後者の終端処理は、それまでに解析した内容、つまり以前に受信もしくは送信した内容も合わせて考慮しながらの複雑な分岐処理を伴う。この終端処理は、プログラミング面からはランダムなメモリアクセスと条件分岐が多数発生する処理であるため、CPUという汎用処理系での処理が適している。
このような無線通信における上り通信のためのパケット処理に関する関連技術として、例えば以下に示す特許文献1、特許文献2、などが挙げられる。
特許文献1では、CPUによって実行される上位通信レイヤ処理から入力した多重化されていない単一PDUからなるフレームに対して固定長ヘッダの認識を行い、ペイロード部の転送完了を待たずして並行して下位通信レイヤ側の無線通信ヘッダを生成している。
このとき、第二のメモリに上位レイヤからのフレームを格納する際、下位側の固定長ヘッダを付加できるだけのオフセット分を予め開けて第二のメモリに格納している。
これにより、無線通信部分の送信フレームを生成する際の無線通信ヘッダの生成を前倒しするとともに、無線通信における送信データ作成時に無線通信ヘッダを付加するための新たなメモリ上のコピーを回避している。
ここでの下位レイヤでのヘッダ生成とそれに伴うオフセットの生成を除けば、下り通信におけるデータ転送も同じ構成で実現できることが容易に類推される。
特許文献2では、ネットワークアダプタは、ネットワークを介して受信した複数のパケットをホストコンピュータに転送するためのものであって、受信した各パケットをヘッダ部と本体データ部とに分離する分離手段と、前記分離手段により分離された各パケットを蓄積するための蓄積手段と、前記複数パケットの各ヘッダ部に基づいて新たなヘッダを作成する作成手段と、前記新たなヘッダおよび前記蓄積手段に蓄積されている複数の本体データ部の各格納位置を示す複数の位置特定情報を前記ホストコンピュータに通知する通知手段と、前記ホストコンピュータにおいて前記位置特定情報を用いて作成された転送指示に基づいて前記蓄積手段から前記複数の本体データ部を読み出してホストコンピュータに転送する転送手段、を備える。
特許文献2では、このようなネットワークアダプタを用いて、受信パケットをホストコンピュータに転送する場合には、ネットワーク側から受信したパケットがネットワークアダプタのアダプタメモリに非連続に格納されると、連続したパケットに再構成する処理をネットワークアダプタ側においては行わず、受信した複数のパケットのヘッダに基づいて論理的に1つにまとめられたパケットを作成する。
そして、その論理的に作成されたパケットのヘッダおよび複数の受信パケットから取り出した複数の本体データ部分がホストコンピュータに転送され、ホストコンピュータは、論理的に作成されたパケットのヘッダに基づいてプロトコル処理を実行する。
この場合、受信した複数のパケットのヘッダから論理的に作成され、ホストコンピュータに転送するための新たなヘッダを再構成ヘッダとする。
ネットワークアダプタから転送された再構成ヘッダは、ホストコンピュータにおいては、ホストメモリのカーネル空間に格納される。ホストコンピュータのプロトコル処理を実行するソフトウェアによって再構成ヘッダが処理され、パケットの本体データの転送先が決定される。
ここで、パケットの本体データの転送先は、ホストメモリのユーザ空間上の領域であり、ホストコンピュータにおいてメモリ間コピーは行わず、ネットワークアダプタのアダプタメモリ上のパケットの本体データは、直接ホストコンピュータのユーザ空間にDMA転送される。
アダプタメモリの本体データの格納位置は、本体データの転送に先立って、本体データの位置情報(位置特定情報)としてネットワークアダプタからホストコンピュータに送信される。
受信バッファ領域には、ネットワークアダプタから送られてくる再構成ヘッダおよび位置情報が格納される。ここで、位置情報は、例えば、ネットワークアダプタのアダプタメモリにおける、各本体データの先頭アドレス、および各本体データのデータ長から構成される。
ここで、ネットワークアダプタからホストコンピュータへの再構成ヘッダおよび位置情報の転送は、後述するヘッダ転送用DMAディスクリプタに従って行われる。
特開2007−189550号公報 特開2006−302246号公報
しかしながら、特許文献1に開示された無線通信処理装置では、次のような不具合がある。
第一に、複数のPDUからなる多重化フレームを高速処理することができない、という不具合があった。
この不具合が発生する原因は、単一のPDUから構成されるフレームを到着順に処理することを前提としているためにメモリ上での複数PDUの管理について考慮していないことに起因する。
また、複数の論理チャネルごとにこの多重化フレームが用いられるような通信仕様である場合、論理チャネル間に割り当てられた優先度の違いによって送受信されるPDUの順序を意図的に入れ替えなければならない場合がある。
このような状況に対応するためには、メモリ上に送信対象となるデータを一回の無線送信以上の量にて滞留保持させておかなければならない。この場合、関連技術のように入力時点で出力時のヘッダ生成が必ずしもできるわけではない。
また、一旦、メモリに受信フレームがそのままの形で連続的に格納されてしまうと、通常では、この後、メモリ上に複数のPDUを効率的に格納されるように改めてメモリ上でコピーを行う動作が必要となり、高速処理することができない。
例えば、ペイロード間の境界は、任意の中途半端なバイト境界、もしくはビット境界となり、多重化フレーム中の一部のペイロード処理が終了後、前記境界部分だけをメモリ解放することは非効率で、高速処理を妨げることになる。
逆に、受信時の多重化フレーム中の複数のPDUがすべて処理された後に、初めて多重化フレーム全体の領域をメモリ上で解放することは、メモリリソースを過剰に消費し、高速処理を妨げることになる。
第ニに、後続CPU処理において、処理負荷の低減を図る最適化が不十分である、という不具合があった。
この不具合が発生する原因は、ヘッダ位置の検出やヘッダパラメータの抽出はオフロードして専用ハードウェアで実行することができる処理であるにもかかわらず、それを後続の汎用CPUで処理を行わせることに起因する。後続の汎用CPUでの処理は、その後のCPUで行うプロトコル処理と合わせてCPUで処理すべき仕事量が増えて負荷が高くなる。
また、多重化フレームにおけるヘッダは、ビット単位でパラメータが詰め込まれている。このため、ヘッダの解析は、ビット単位での処理が必要である。
しかし、後続の処理に用いられる汎用CPUは、通常このようなビット単位での処理命令が直接的には実装されていないケースが通常であった。このため、DSPや専用ロジックで処理したほうが効率がよく、DSPや専用ロジックなどの他の回路が必要となってしまう。
さらに、特許文献2では、複数のヘッダや複数のペイロードからなる多重化フレームについてのメモリ上での管理について考慮しておらず、また、汎用CPUにて多重化フレームを処理する場合には、各ペイロードについてメモリ上のアライメント動作が必要となる場合が想定され、CPUで処理すべき仕事量が増えて負荷が高くなる、という不具合が考えられる。
本発明の目的は、受信した多重化フレームを記憶部に記憶する際に、後続処理を行う汎用CPUが使用及び破棄しやすく、結果として汎用CPUの負荷低減となる受信時のデータ転送可能な転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラムを提供することにある。
上記目的を達成するため、本発明の転送制御装置は、複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する多重化フレーム転送システムに関わる転送制御装置であって、受信した前記多重化フレームを記憶する第1の記憶部と、受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析部と、前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出して格納管理する位置情報管理部と、前記位置情報管理部の位置情報に基づいて、予め前記ヘッダパラメータをアラインしたヘッダ構造体を生成し、このヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送記憶するように出力する制御を行うヘッダパラメータ整列制御部と、前記位置情報管理部の位置情報に基づいて、予め前記ペイロードを特定サイズにアラインしたペイロード構造体を生成し、このペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送記憶するように出力する制御を行うペイロード整列制御部と、を含むことを特徴としている。
本発明の多重化フレーム転送システムは、上述の転送制御装置と、前記転送制御装置からの前記ヘッダ構造体、前記ペイロード構造体を分離して記憶する第2の記憶部と、各部の制御を司る中央制御部と、を含むことを特徴としている。
本発明の転送制御方法は、複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する制御を行う転送制御方法であって、受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析ステップと、前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出する位置情報算出ステップと、前記位置情報算出ステップにて算出された位置情報に基づいて、予め転送前に前記ヘッダパラメータをアラインしたヘッダ構造体を生成するとともに前記ペイロードを特定サイズにアラインしたペイロード構造体を生成し、前記ヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送するとともに、前記ペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送する制御を行う転送制御ステップと、を含むことを特徴としている。
本発明の転送制御プログラムは、複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する制御を行う転送制御装置が備えたコンピュータに諸機能を実現させることが可能な転送制御プログラムであって、受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析機能と、前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出する位置情報算出機能と、
前記位置情報算出機能にて算出された位置情報に基づいて、予め前記ヘッダパラメータをアラインしたヘッダ構造体を生成し、このヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送記憶するように出力する制御を行うヘッダパラメータ整列制御機能と、前記位置情報算出機能にて算出された位置情報に基づいて、予め前記ペイロードを特定サイズにアラインしたペイロード構造体を生成し、このペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送記憶するように出力する制御を行うペイロード整列制御機能と、を含む機能をコンピュータに実現させることを特徴としている。
本発明によれば、第1の記憶部に一時保持される無線通信に適したフォーマットの多重化フレームを第2の記憶部へ転送する際にそのまま転送するのではなく、汎用CPUでプロトコル処理するのに適した形へ変換したものを第2の記憶部へ転送する。すなわち、複数のヘッダと複数のペイロードそれぞれを分離して後続のCPUでの処理に適した形に予めそれぞれアラインして第2の記憶部上に配置されることで、第2の記憶部上の余分なコピー回数が抑制され、結果として汎用CPUの負荷低減され、受信した多重化フレームの後続処理時間を短縮することができる。
以下、本発明の実施形態を図に基づいて詳細に説明する。
〔本発明の転送制御装置の基本的構成〕
先ず、本発明の転送制御装置の基本的構成について説明する。本発明の転送制御装置(例えば図2に示す符号20など)は、複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する多重化フレーム転送システム(例えば図1に示す符号1など)に関わるものを対象とするものである。
この転送制御装置は、受信した前記多重化フレームを記憶する第1の記憶部(例えば図2に示す符号22など)と、受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析部(例えば図2に示す符号24など)と、前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出して格納管理する位置情報管理部(例えば図2に示す符号25など)と、を含む構成とすることができる。
さらに、この転送制御装置は、前記位置情報管理部の位置情報に基づいて、予め前記ヘッダパラメータをアラインしたヘッダ構造体(例えば図3に示す符号120など)を生成し、このヘッダ構造体を他の第2の記憶部(例えば図1に示す符号50など)上のヘッダパラメータ記憶領域に転送記憶するように出力する制御を行うヘッダパラメータ整列制御部(例えば図2に示す符号27など)と、前記位置情報管理部の位置情報に基づいて、予め前記ペイロードを特定サイズにアラインしたペイロード構造体(例えば図3に示す符号140など)を生成し、このペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送記憶するように出力する制御を行うペイロード整列制御部(例えば図2に示す符号28など)と、を含む構成としている。
このような転送制御装置では、第1の記憶部に一時保持される無線通信に適したフォーマットの多重化フレームを第2の記憶部へ転送する際にそのまま転送するのではなく、汎用CPUでプロトコル処理するのに適した形へ変換したものを第2の記憶部へ転送する。すなわち、複数のヘッダと複数のペイロードそれぞれを分離して後続のCPUでの処理に適した形に予めそれぞれアラインして第2の記憶部上に配置されることで、第2の記憶部上の余分なコピー回数が抑制され、結果として汎用CPUの負荷低減され、受信した多重化フレームの後続処理時間を短縮することが可能となる
その理由は、受信した前記多重化フレームの受信データを第2の記憶部に書き込む際に、その後のCPU部に処理させると生じる冗長とならざるを得ない処理を容易に実行してしまえることによる。
ここで言うCPU部における後続処理とは、ビットレベルでのヘッダ解析とその解析結果に基づいて第2の記憶部上でヘッダ及びペイロードを再配置するか、もしくは再配置しないまま管理するという複雑な処理実行のいずれかのことを指す。
第2の記憶部に初回格納する際に、予め本来格納すべきアドレスを先行演算して求めることによって、第2の記憶部上での余分なコピー回数が抑制される。また、この余分なコピーを回避するのに要する複雑なデータ管理を回避できる。
以下、このような本発明の「転送制御装置」を、「多重化フレーム転送システム」に適用した好適な実施の形態の一例について、図面を参照して具体的に説明する。
〔第1の実施の形態〕
(多重化フレーム転送システムの全体構成)
先ず、本実施の形態の多重化フレーム転送システムの具体的構成について、全体構成から説明し、続いて転送制御装置の各部の詳細構成について説明することとする。図1は、本発明における第1実施の形態の多重化フレーム転送システムの全体の概略構成の一例を示すブロック図である。
本実施の形態の多重化フレーム転送システム1は、図1に示すように、中央制御部としてのCPU部10、転送制御装置としてのDMAコントローラ20、バス部30、メモリコントローラ部40、第2の記憶部としての外部メモリ部50、物理層インターフェース部60、物理層処理部70を含んで構成される。
CPU部10、DMAコントローラ部20、メモリコントローラ部40、物理層インターフェース部60は、それぞれバス部30に電気的に接続されている。
外部メモリ部50は、メモリコントローラ部40に電気的に接続されている。
物理層処理部70は、インターフェース部60に電気的に接続されている。
CPU部10は、バス部30に対するマスタデバイスとしてバス部30に接続されている。
CPU部10は、バス部30を介してDMAコントローラ部20を制御する。
CPU部10は、バス部30及びメモリコントローラ部40を介して外部メモリ50を記憶領域としてアクセスする。
CPU部10は、バス部30及び物理層インターフェース部60を介して物理層処理部70内に備えるローカルメモリを記憶領域としてアクセスする。
DMAコントローラ部20は、バス部30に対するマスタデバイス及びスレーブデバイスとしてバス部30に接続される。
DMAコントローラ部20は、スレーブデバイスとして動作する経路において、DMAコントローラ部20に内包するレジスタに対してCPU部10からの書き込みを受けることでCPU部10からの制御要求を受け付ける。
DMAコントローラ部20は、マスタデバイスとして動作する経路において、バス部30及びメモリコントローラ部40を介して外部メモリ50を記憶領域としてアクセスする。また、DMAコントローラ部20は、マスタデバイスとして動作する経路において、バス部30及び物理層インターフェース部60を介して物理層処理部70内に備えるローカルメモリを記憶領域としてアクセスする。
バス部30は、データ転送用の線路としてのバス、バス制御回路などを含むことができる。
(DMAコントローラ部の詳細構成)
次に、DMAコントローラ部20の詳細構成について図2を参照して説明する。図2は、図1の多重化フレーム転送装置のDMAコントローラ部の詳細構成の一例を示すブロック図である。
DMAコントローラ部20は、複数のPDUが多重化された無線通信フレームを受信するシステムの一部として動作し、図2に示すように、入力される多重化フレームの無線通信受信データを一次格納するためにバスのバースト転送長単位に区切られて管理されるバッファ部22と、入力される無線通信受信データを前記バッファ部22に書き込む受信データ入力部21と、前記バッファ部22上のデータの置き換えや破棄を管理するバッファ管理部23と、前記バッファ部22に格納された受信データの複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析部24と、前記ヘッダパラメータから各々のPDUを予めきめられた論理チャネルの優先度などに応じて分類・保持するPDU種別管理部29と、前記ヘッダパラメータからヘッダとペイロードの受信データ先頭からの位置を算出・保持する位置情報管理部25と、前記位置情報管理部25で保持された情報を元にヘッダパラメータを外部メモリ部50上の特定の領域にバイトアラインして出力するヘッダパラメータ整列制御部27と、前記位置情報管理部25で保持された情報を用いてPDU種別管理部29で保持された種別ごとに外部メモリ部50上で所定サイズにアラインされた位置にペイロードを出力するペイロード整列制御部28と、選択制御部26と、を含んで構成される。
DMAコントローラ部20は、入力された多重化フレームの無線通信受信データを複数のヘッダパラメータを種別ごとに分けられた複数のペイロードとして外部メモリ部50上に構成する機能を有する。
受信データ入力部21は、バス部30及び物理層インターフェース部60を介して物理層処理部70に電気的に接続されている。受信データ入力部21は、物理層処理部70・物理層インターフェース部60・バス部30という経路を通じて受信データをDMAコントローラ部20内の各部に入力するためのものである。本実施の形態では、受信データは、多重化フレームを構成するものとする。
バッファ部22は、下位レイヤの物理層から受信したデータを一時的に保持する記憶部である。
バッファ部22は、下位レイヤから取り込んだデータをメモリへ書き込むまでの間でヘッダ解析に要する時間を考慮した最低限のサイズのバッファサイズを備えている。
具体的には、バッファ部22のバッファサイズとしては、例えば数十バイトから数kB程度などのバッファサイズなどが挙げられる。より具体的には、前記バッファサイズに関しては、例えばバースト転送の32バイトに対してダブルバッファの64バイトなどが最小値として妥当な値として挙げられる。
この程度のバッファサイズであれば、例えばレジスタなどにて実装することが可能である。また、それを大きく超えるバッファサイズのバッファ部22は、例えば低レイテンシのメモリにて構成することができる。バッファ部22がメモリにて構成される場合には、入力と出力の少なくとも2ポートを有することができる。
バッファ管理部23は、ヘッダ解析が終了するまでの間、バッファ部22内にヘッダ部を保持しておくための制御を行う回路である。バッファ管理部23は、予定以上にヘッダ処理に時間を要した場合には、下位物理層からの入力を一時的に停止する停止制御回路を有することができる。
ただし、バッファ部22のバッファサイズは、ヘッダ解析起因で入力を止めるような制御が発生しないような十分なサイズとすることが好ましい。
ヘッダパラメータ解析部24は、ヘッダ部を構成するパラメータ毎に、ヘッダ部を分離するための回路である。
位置情報管理部25は、ヘッダパラメータ解析部24で抽出したヘッダパラメータからペイロード位置やペイロード長に関する情報を取得して、この取得した情報に基づいてヘッダ部やペイロード部のそれぞれの位置を算出する。位置情報管理部25は、算出した位置情報を保持管理する。
PDU種別管理部29は、ヘッダパラメータから例えばVoIP、動画ストリーミング、IPパケットといった優先度の異なるペイロードを検出する。
ヘッダパラメータ整列制御部27は、パラメータがバイトアラインされた状態のものを外部メモリ部50に出力する制御を行う回路である。ヘッダパラメータ整列制御部27の制御の下で、CPU部10は、構造体としてヘッダパラメータにアクセスできる。
また、複数のヘッダパラメータすべてが外部メモリ部50へ出力されたことは、ヘッダパラメータ解析部24でヘッダパラメータを解析することにより終了フラグを検知するなどの手段により決定できる。
それをヘッダパラメータ整列制御部27が末尾のヘッダパラメータと合わせて受け取ることで、割り込みなどの手段を用いてCPU部10にヘッダパラメータ書き込み終了を通知して後続処理を早期に開始する構成をとることもできる。
ペイロード整列制御部28は、前記位置情報管理部25で保持された情報を用いてPDU種別管理部29で保持された種別ごとに外部メモリ部50上で所定サイズにアラインされた位置にペイロードを出力する。
選択制御部26は、ヘッダパラメータ整列制御部27の出力(ヘッダ構造体)と、ペイロード整列制御部28の出力(ペイロード構造体)とを選択的に切替制御する。
(外部メモリ部におけるデータの格納構造について)
ここで、外部メモリ部50上に格納される格納データの概要を図3に示す。図3は、図1の多重化フレーム転送装置の外部メモリ上に格納される格納データのデータ構造の一例を示す説明図である。
DMAコントローラ部20は、図3に示すように、受信データ110のヘッダ部112とペイロード部114とを分離し、予めDMA転送前に、ヘッダ部112をパラメータ単位でバイトアラインした状態のヘッダ構造体120とし、ペイロード部114を特定のサイズにアラインするとともに優先度に応じた配置としたペイロード構造体140とし、DMA転送によってヘッダ構造体120、ペイロード構造体140を外部メモリ部50上の別々の領域(ヘッダ格納領域、ペイロード格納領域)にそれぞれ格納する。
ヘッダ部112は、多重化フレームにおける複数のヘッダの各々のパラメータを含む。ペイロード部114は、多重化フレームにおける複数のペイロードを含む。ヘッダ構造体120は、多重化フレームにおける複数のヘッダの各々のパラメータを含む。ペイロード構造体140は、低優先度フレームにおけるペイロードが特定のサイズにアラインされた第1のペイロード構造体部142と、高優先度フレームにおけるペイロードが特定のサイズにアラインされた第2のペイロード構造体部144と、を含む。
また、第1のペイロード構造体部142、第2のペイロード構造体部144は、それぞれ、特定のサイズにアラインされたペイロード本体と、無効データとを含む。
ここで、先に述べた、別々に格納するとは、後続のCPUによる処理において、ヘッダ部112とペイロード部114を分離認識するための専用の処理を行う必要の無い形で保持されるということを意味する。
外部メモリ部50において、ヘッダ構造体120とペイロード構造体140の各物理アドレスが非連続な離れた部分に格納されるのが望ましいのか否かは、CPU部10におけるデータの管理構造に依存する。
CPU部10で仮想的にデータを管理できるならば、物理的なメモリ上の格納位置に対する制約は緩和される。
一方、CPU部10での管理が物理アドレスを強く反映した、もしくは、CPU部10上で実行される各タスクから物理アドレスが直接扱われるような場合には、物理アドレス上でもヘッダ構造体120の格納領域とペイロード構造体140の格納領域は分離されていることが望ましい。
ヘッダ部112は、パラメータ単位でバイトアラインされたヘッダ構造体120として外部メモリ部50に格納される。これは、汎用的なCPUではバイト境界未満の半端なデータを扱うことには向かないためである。
つまり、効率的にCPU部10で処理するためにはバイトもしくはその整数倍で少なくとも格納されている方が良い。
各ヘッダにそれぞれ複数のパラメータが関連づけられる時には、このバイトアラインされたヘッダ構造体120のデータ構造は、CPU部10上のC言語によるプログラムからは構造体として扱うことができる。
また、ヘッダ部112とペイロード部114との対応づけが維持される必要があるため、ペイロード部114がメモリ上で格納された位置へのポインタ情報も格納される場合も考えられる。
また、複数のヘッダ間をつなぐものとして、構造体がリンクリストで連結されたデータ構造を採ることも考えられる。
ペイロード部114は、それぞれが特定のサイズにアラインされた領域に格納され、その端数分は無効データで埋められる。
ここに、所定サイズとは、バス部のバースト転送サイズである32バイトなどからページサイズの4kBまでの間もしくはその前後で、通常の通信フレームサイズがいくらかに依存する。
無効データで埋められることによる無駄を省くには、アラインの単位は通常時でのフレームサイズの4分の1もしくはそれ以下であることが望ましい。
また、ペイロード部114の先頭アドレスは、アラインサイズに相当する下位ビットがすべて0となるアドレスに格納されるのが望ましい。
さらに、ペイロード部114のうち優先度の高いものは早々に解放されるため、優先度の同じもの同士をあつめ、優先度の異なるものは別エリアへ格納する形がフラグメンテーション回避の点から望ましい。
また、優先度の違いは間接的にペイロード部のサイズの違いにも相関があるため、ペイロード部のサイズの大きさを揃えたもの同士を近くで管理することにも成りやすい。
これは、たとえば、優先度をVoIP、ストリーミングビデオ、IPパケットなどといったもので分類すると、それぞれの間での通常のペイロードサイズが異なることに現れている。
ここで、本実施の形態の構成要件と、本発明の構成要件との対応関係について述べると、本実施の形態のバッファ22により、本発明にいう「第1の記憶部」を構成することができる。また、本実施の形態の外部メモリ部50により、本発明にいう「第2の記憶部」を構成することができる。さらに、本実施の形態のCPU部10により、本発明にいう「中央制御部」を構成することができる。
また、「第1の記憶部」は、受信した前記多重化フレームを記憶することができる。ヘッダパラメータ解析部は、受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出することができる。位置情報管理部は、前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出して格納管理することができる。
さらに、ヘッダパラメータ整列制御部27は、前記位置情報管理部25の位置情報に基づいて、予め前記ヘッダパラメータをアラインしたヘッダ構造体を生成し、このヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送記憶するように出力する。
ペイロード整列制御部28は、前記位置情報管理部25の位置情報に基づいて、予め前記ペイロード部を特定サイズにアラインしたペイロード構造体を生成し、このペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送記憶するように出力する。
PDU種別管理部29は、前記ヘッダパラメータに基づいて、前記多重化フレームを構成する各々のPDUを種別毎に分類し管理する。この場合、前記ペイロード整列制御部28は、前記PDU種別管理部29が示す種別毎に、前記第2の記憶部上の前記ペイロード記憶領域の異なる位置にそれぞれ前記ペイロード構造体をダイレクトに転送記憶するように出力する。
前記ペイロード整列制御部28は、前記ペイロード構造体を、前記特定サイズに加工された加工ペイロードと無効データとからなる単位ブロックを有するデータ構造として生成する。
前記PDU種別管理部29は、多重化フレームに含まれる論理チャネルの優先度に応じて前記PDUを分類する。この場合、前記位置情報管理部25は、前記優先度に基づいて、前記異なる位置を決定する。
前記位置情報管理部25は、前記優先度毎に、前記第2の記憶部上のアライン単位が異なるように位置情報を算出する。
前記ヘッダパラメータ解析部27は、前記複数のヘッダの各々の末尾に関する末尾情報を検知し、前記ヘッダパラメータと合わせて前記末尾情報を前記ヘッダパラメータ整列制御部に通知する。
前記ペイロード整列制御部28は、前記ヘッダパラメータ解析部24から渡される前記ヘッダパラメータの前記末尾情報を示すフラグを検知し、検知した旨を中央制御部10に通知する制御を行うことができる。
前記第1の記憶部は、各部を接続するバス部のバースト転送長単位で入力・破棄されるものとして構成することができる。
前記ヘッダパラメータ整列制御部27は、前記ヘッダパラメータの値をプログラミング言語によって予め決められた整数変数長にアラインして出力する。
前記ヘッダパラメータ整列制御部27は、前記ヘッダパラメータの末尾が前記第2の記憶部へ転送完了したことを、割り込みを用いて中央制御部に通知する。
さらに、第2の記憶部は、前記転送制御装置からの前記ヘッダ構造体、前記ペイロード構造体を分離して記憶する。中央制御部10は、各部の制御を司る。
(処理手順について)
次に、上述のような構成を有する多重化フレーム転送システムにおける各部の処理は、方法としても実現可能であり、転送制御方法としての各種の処理手順について、図4を参照しつつ説明する。図4は、本発明の第1の実施の形態による多重化フレーム転送システムにおける全体の処理手順の一例を示すフローチャートである。
本実施の形態に係る転送制御方法は、複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する制御を、例えば転送制御装置、転送制御装置が備えたコンピュータ、コンピュータなどが行うものを対象とするものである。
この転送制御方法は、基本的構成として、受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析ステップ(例えば図4に示すステップS11など)と、前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出する位置情報算出ステップ(例えば図4に示すステップS12など)と、前記位置情報算出ステップにて算出された位置情報に基づいて、予め転送前に前記ヘッダパラメータをアラインしたヘッダ構造体を生成するとともに前記ペイロードを特定サイズにアラインしたペイロード構造体を生成し、前記ヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送するとともに、前記ペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送する制御を行う転送制御ステップ(例えば図4に示すステップS13など)と、を含む。
さらに、この転送制御方法は、前記ヘッダパラメータに基づいて、前記多重化フレームを構成する各々のPDUを種別毎に分類し管理するPDU種別管理ステップをさらに有するようにしてもよい。この場合、前記転送制御ステップでは、前記種別毎に、前記第2の記憶部上の前記ペイロード記憶領域の異なる位置にそれぞれ前記ペイロード構造体をダイレクトに転送記憶するように出力する制御を行うようにしてもよい。
また、この転送制御方法は、前記転送制御ステップでは、前記ペイロード構造体を、前記特定サイズに加工された加工ペイロードと無効データとからなる単位ブロックを有するデータ構造として生成するようにしてもよい。
さらに、この転送制御方法は、前記PDU種別管理ステップでは、多重化フレームに含まれる論理チャネルの優先度に応じて前記PDUを分類するようにしてもよい。この場合、前記位置情報管理ステップでは、前記優先度に基づいて、前記異なる位置を決定するようにしてもよい。
また、この転送制御方法は、前記位置情報管理ステップでは、前記優先度毎に、前記第2の記憶部上のアライン単位が異なるように位置情報を算出するようにしてもよい。
さらに、この転送制御方法は、前記ヘッダパラメータ解析ステップでは、前記複数のヘッダの各々の末尾に関する末尾情報を検知し、前記ヘッダパラメータと合わせて前記末尾情報を前記ヘッダパラメータ整列制御部に通知する制御を行うようにしてもよい。
また、この転送制御方法は、前記転送制御ステップでは、前記ヘッダパラメータの前記末尾情報を示すフラグを検知し、検知した旨を中央制御部に通知する制御を行うようにしてもよい。
さらに、この転送制御方法は、前記転送制御ステップでは、前記ヘッダパラメータの値をプログラミング言語によって予め決められた整数変数長にアラインして出力する制御を行うようにしてもよい。
また、この転送制御方法は、前記転送制御ステップでは、前記ヘッダパラメータの末尾が前記第2の記憶部へ転送完了したことを、割り込みを用いて中央制御部に通知する制御を行うようにしてもよい。
(各部の詳細な制御手順について)
次に、より詳細な各部の制御手順について図5を参照して説明する。図5は、本発明の第1の実施の形態による多重化フレーム転送システムにおける詳細な処理手順の一例を示すシーケンス図である。
(ヘッダ構造体関連の転送処理)
まず、CPU部10が、DMAコントローラ部20に対して一連の処理の開始である転送開始要求を送信する(ステップS101)。
DMAコントローラ部20は、CPU部10からの転送開始要求を受領する(ステップS102)
具体的には、DMAコントローラ部20側のレジスタにCPU部10から所定の値を書き込むなどによって転送内容の通知と開始のトリガが渡される。
転送開始要求により通知される転送内容としては、転送対象となる受信データの格納位置(受信データ格納位置情報)や、転送先となる外部メモリ部50上でどのアドレスに転送するか(転送先メモリアドレス情報)などの情報が挙げられる。
このあと、転送終了までDMAコントローラ部20が自立的に一連の処理を実行する。
先ず、DMAコントローラ部20の受信データ入力部21が受信データを入力し、DMAコントローラ20に備えられたバッファ部22にデータを転送する。
このとき、DMAコントローラ部20の受信データ入力部21は、バス部30に対してマスタデバイスとして動作し、下位の物理層処理部70に対してデータを読み出すための要求(メモリ読み出し要求)を発行する(ステップS103)。
物理層処理部70は、DMAコントローラ部20からのメモリ読み出し要求を受領すると(ステップS104)、内部のローカルメモリにある受信データである読み出しデータをDMAコントローラ部20に対して通知する(ステップS105)。
DMAコントローラ部20の受信データ入力部21は、物理層処理部70からの読み出しデータの通知を受け取る(ステップS106)。
このときの転送単位は、たとえば、バスの転送効率を考えるとバスにおけるバースト転送単位であることが望ましく32バイト程度の値となる。
次に、DMAコントローラ部20のヘッダパラメータ解析部24は、バッファ部22の内部に格納された値を順次読み取りながらヘッダ部を解析し、ヘッダ部の情報をパラメータとして取り出す(ステップS108a)<ヘッダ解析処理>。
ヘッダ情報は、たとえば、ビット単位で詰め込まれている。ヘッダパラメータ解析部24によるヘッダ解析処理では、ビット単位で読み進めながらその結果をバイト単位でヘッダパラメータとして保持する。
さらに、そのバイトアラインされたヘッダ情報(ヘッダ構造体)は、DMAコントローラ部20のヘッダパラメータ整列制御部27により出力される(ステップS108b)<ヘッダ構造体出力処理>。
そして、処理済みヘッダ(ヘッダ構造体)は、順次、外部メモリ部50へ書き出される(ステップS108c)。外部メモリ部50は、ヘッダ構造体(図3に示す符号120)が格納される(ステップS109)。
ただし、ペイロードの位置情報については、後続のペイロードを転送する過程で必要となるため、別途DMAコントローラ部20の位置情報管理部25に保持しておく。
続いて、DMAコントローラ部20は、外部メモリ部50へのヘッダ構造体の転送が終了すると、ヘッダ転送終了通知をCPU部10に対して送信する(ステップS111)。
CPU部10では、DMAコントローラ部20からのヘッダ転送終了通知が受領される。
このようにして、DMAコントローラ部20は、ヘッダ構造体関連の転送処理が終了すると、続いてペイロード関連の転送処理を開始する。
(ペイロード関連の転送処理)
先ず、ステップS111においてヘッダ転送終了通知をCPU部10に対して送信すると、DMAコントローラ部20の受信データ入力部21は、バス部30に対してマスタデバイスとして動作し、下位の物理層処理部70に対してデータのうちペイロード部を読み出すための要求(メモリ読み出し要求)を発行する(ステップS113)。
物理層処理部70は、DMAコントローラ部20からのメモリ読み出し要求を受領すると(ステップS114)、内部のローカルメモリにある受信データである読み出しデータのうちペイロード部をDMAコントローラ部20に対して通知する(ステップS115)。
DMAコントローラ部20の受信データ入力部21は、物理層処理部70からの読み出しデータのうちペイロード部の通知を受け取る(ステップS116)。
次に、DMAコントローラ部20のペイロード整列制御部28は、バッファ部22の内部から転送されてきた読み出しデータのペイロード部を、ペイロード単位でアラインしながら出力し、外部メモリ部50へ転送する制御を行う(ステップS118a)<ペイロード出力制御処理>。
この際、DMAコントローラ部20のペイロード整列制御部28は、位置情報管理部25にて算出されたペイロード部の位置情報に基づいて、ペイロード単位でアラインすることができる。
また、DMAコントローラ部20のペイロード整列制御部28は、PDU種別管理部29のペイロード部に対応するPDU分類情報(例えば優先度など)に基づいて、ペイロード部の種別に応じてペイロード単位でアラインすることができる。
例えばペイロード部がVoIPであれば、高優先度と判断し、外部メモリ部50上の第1のペイロード格納領域に格納され、ペイロード部がIPパケットであれば、低優先度と判断し、外部メモリ部50上の第2のペイロード格納領域に格納される(例えば図3に示す高優先度フレーム144、低優先度フレーム142など)。
そして、第1のペイロード格納領域のペイロード部が、第2のペイロード格納領域のペイロード部よりも優先的に先に処理される。ここでは、一例として優先度を2段階で説明したが、3以上の複数段階の優先度に基づいて、ペイロード部を格納し、その優先度に基づいて、処理を行うようにしてもよい。
ここで、ペイロード部を無線通信処理上の優先度等に応じて外部メモリ部50上の格納位置を決めるためのPDU分類情報は、前記ヘッダパラメータ解析部24で得られたパラメータのうち、分類に関わるパラメータがPDU種別管理部29に入力されることによって、PDU種別管理部29にて算出され、保持される。
このとき、分類に関わるパラメータとしては、通信の種別として、たとえばVoIPやビデオストリーミングやIPパケットといったものを分類することを想定している。
また、ヘッダのパラメータとしては、これらを区別するためのたとえば論理チャネル値が定義されているときにこれを用いる。
バッファに順次格納されるデータが、ヘッダ部からペイロード部に変わると、位置情報管理部25の情報に基づいて、ペイロード境界を認識しながら、PDU種別管理部29によって外部メモリ部50上の出力先アドレスを算出して、これらの情報に基づいてペイロード整列制御部28によって出力が行われる。
DMAコントローラ部20は、外部メモリ部50に対してペイロード部を順次出力し(ステップS118b)、外部メモリ部50は、ペイロード部を前記優先度にしたがって順次格納する(ステップS119)。
続いて、DMAコントローラ部20は、外部メモリ部50へのペイロード部の転送が終了すると、ペイロード転送終了通知をCPU部10に対して送信する(ステップS121)。
CPU部10では、DMAコントローラ部20からのペイロード転送終了通知が受領される。
(ヘッダパラメータ解析部の詳細動作)
ヘッダ解析動作を表す状態遷移図を図6に示す。
ヘッダ検出処理が開始する前は、待機状態101にある。DMAにて所定の転送が開始されるとともに、状態はヘッダ解析102に遷移する。この状態にあるとき、先頭からヘッダのフォーマットが順次チェックされ、ヘッダパラメータが抽出される。
また、ヘッダ解析状態102において、検出通知状態103に遷移し、末尾を表すフラグを排他的論理和などを用いて検出することによってヘッダの末尾であることを示す値を合わせて外部メモリ部50に出力されることも考えられる。
また、ヘッダ解析状態102において、末尾を表すフラグ以外のビットに関してもチェックを行うことにより、ヘッダのフォーマットが正しいかどうかをチェックすることもできる。
これは、チェックしたいビット以外のものをマスクして、所望の値と排他的論理和をとることで、正常なフォーマットを有するか否かをチェックできる。もし、異常なヘッダ形式を検知したときには、状態を104に遷移してCPUにエラー通知を行う。
以上のように本実施の形態によれば、バッファ部に一時保持される無線通信に適したフォーマットの受信データを外部メモリ部へ転送する際にそのまま転送するのではなく、汎用CPUであるCPU部でプロトコル処理するのに適した形へ変換したものを外部メモリ部へ転送する。
また、複数のヘッダと複数のペイロードそれぞれを分離して後続のCPU部での処理に適した形にアラインして外部メモリ50上に配置されることで、受信したデータの後続処理時間を短縮することが可能な転送制御装置を提供することができることである。
その理由は、物理層処理部70から入力した受信データを外部メモリに書く際に、その後のCPU部10に処理させると生じる冗長とならざるを得ない処理を容易に実行してしまえることによる。
ここで言うCPU部における後続処理とは、ビットレベルでのヘッダ解析とその解析結果に基づいて外部メモリ部上でヘッダ及びペイロードを再配置するかもしくは再配置しないまま管理するという複雑な処理実行のいずれかのことを指す。
外部メモリ部に初回格納する際に予め本来格納すべきアドレスを先行演算して求めることによって余分な外部メモリ部上のコピー回数が抑制されている。もしくは、この余分なメモリコピーを回避するのに要する複雑なデータ管理を回避できている。
ここで、図1及び図2に示すブロック図における一部の各ブロックは、コンピュータが適宜なメモリに格納された各種プログラムを実行することにより、該プログラムにより機能化された状態を示すソフトウエアモジュール構成であってもよい。
すなわち、物理的構成は例えば一又は複数のCPU(或いは一又は複数のCPUと一又は複数のメモリ)等ではあるが、各部(回路・手段)によるソフトウェア構成は、プログラムの制御によってCPUが発揮する複数の機能を、それぞれ複数の部(手段)による構成要素として表現したものである。
CPUがプログラムによって実行されている動的状態(プログラムを構成する各手順を実行している状態)を機能表現した場合、CPU内に各部(手段)が構成されることになる。プログラムが実行されていない静的状態にあっては、各手段の構成を実現するプログラム全体(或いは各手段の構成に含まれるプログラム各部)は、メモリなどの記憶領域に記憶されている。
以上に示した各部(手段)の説明は、プログラムにより機能化されたコンピュータをプログラムの機能と共に説明したものと解釈することも出来るし、また、固有のハードウェアにより恒久的に機能化された複数の電子回路ブロックからなる装置を説明したものとも解釈することが出来ることは、当然である。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現でき、いずれかに限定されるものではない。
また、各部は、通信可能な専用のコンピュータからなる装置としてそれぞれ構成し、これらの各装置によりシステムを構成してもよい。
[その他の各種変形例]
また、本発明にかかる装置及び方法は、そのいくつかの特定の実施の形態に従って説明してきたが、本発明の主旨および範囲から逸脱することなく本発明の本文に記述した実施の形態に対して種々の変形が可能である。
例えば、上述の各実施の形態におけるペイロード整列制御部では、ペイロードの種類に応じた優先度を、高優先度のペイロードと、低優先度のペイロードでそれぞれアラインする例を挙げたが、各ペイロードの種類に応じた優先度を、複数段階の各ペイロード構造体に区分し、それぞれの各ペイロード構造体をそれぞれアラインして、外部メモリに転送する場合であってもよい。
この場合、例えば図8に示す構成などが挙げられる。図8では、DMAコントローラ(転送制御装置)320は、前記実施の形態と同様に、ペイロード整列制御部328と、ヘッダパラメータ整列制御部327と、その他の各部とを含んで構成される。ペイロード整列制御部328は、各ペイロードの種類に応じた優先度を、複数段階の各ペイロード構造体に区分し、それぞれの各ペイロード構造体をそれぞれアライン可能な第1優先度ペイロード整列制御部328a―1、第2優先度ペイロード整列制御部328a―2、・・・・、第N優先度ペイロード整列制御部328a―Nを構成することもできる。
そして、第1優先度ペイロード整列制御部328a―1、第2優先度ペイロード整列制御部328a―2、・・・・、第N優先度ペイロード整列制御部328a―Nにより、それぞれアライン(前記実施の形態のような無効データを入れる場合を含む)されたN個の各ペイロード構造体は、外部メモリ350に転送され、外部メモリ350の第1優先度ペイロード格納領域、第2優先度ペイロード格納領域、・・・、第N優先度ペイロード格納領域にそれぞれ格納することができる。
勿論、ヘッダパラメータ整列制御部327が複数のヘッダをアラインしてヘッダ構造体を生成し、外部メモリ350のヘッダパラメータ格納領域351にヘッダ構造体を転送することができる。
その他の構成およびその他のステップないしは機能並びにその作用効果については、前述した実施の形態の場合と同一となっている。また、上記の説明において、上述した各ステップの動作内容及び各部の構成要素並びにそれらによる各機能をプログラム化し、コンピュータに実行させてもよい。
さらに、上述の各実施の形態では、ヘッダ構造体とペイロード構造体の転送は、先ず、ヘッダ構造体を外部メモリ部のヘッダパラメータ記憶領域に転送し、その後ペイロード構造体を前記外部メモリ部上のペイロード記憶領域に転送するようにしたが、これらを同時に転送可能に構成してもよい。
この概念図を図7に示す。図7のDMAコントローラ(転送制御装置220)の構成では、ヘッダパラメータ整列制御部227は、外部メモリ部250のヘッダパラメータ格納領域(ヘッダパラメータ記憶領域)に転送可能な第1の転送経路を有する。ペイロード整列制御部228は、外部メモリ部250のペイロード格納領域(ペイロード記憶領域)に転送可能な第2の転送経路を有する。このように各々独立して転送可能に構成することで、処理速度の高速化が図れる。
その他の構成およびその他のステップないしは機能並びにその作用効果については、前述した実施の形態の場合と同一となっている。また、上記の説明において、上述した各ステップの動作内容及び各部の構成要素並びにそれらによる各機能をプログラム化し、コンピュータに実行させてもよい。
また、複数のPDUが多重化された多重化フレームの場合を示したが、これに限らず、多重化が複数回繰り返されたデータ構造の場合であってもよい。
また、PDUは、例えばMAC PDUというデータ処理単位に限らず、例えばMAC─hs PDUというデータ処理単位を含むものとして構成されていてもよい。
ここで、MAC(Media Access Control:媒体アクセス制御)多重とは、1つのMAC−hs PDU単位のパケットデータ内に、複数種類の論理チャネル(logical channel)が存在する場合をいう。
このMAC多重が起こった場合には、MAC SDUとなるRLC PDU単位のパケットデータ毎に、論理チャネル番号を特定するためのC/Tと呼ばれる情報がMACヘッダとして付加されることになる。この場合には、MAC−hs SDU=RLC PDU+MACヘッダ(C/Tフィールド)となり、MAC−hs SDU=RLC PDUとはならなくなる。
MAC多重が起こった場合には、RLC PDUにMACヘッダとしてC/Tフィールドが付加されたものがMAC−hs SDUとなる。そして、このC/Tフィールド分のデータサイズは固定されている。
さらに、上記構成部材の数、位置、形状等は上記実施の形態に限定されず、本発明を実施する上で好適な数、位置、形状等にすることができる。すなわち、上記実施の形態では、優先度が2段階に分類する例を示したが、3以上の複数段階であってもよい。
(プログラム)
さらにまた、前述した実施形態の機能を実現する本発明のソフトウェアのプログラムは、前述した各実施の形態における各種ブロック図などに示された処理部(処理手段)、機能などに対応したプログラムや、フローチャート、シーケンス図などに示された処理手順、処理手段、機能などに対応したプログラムやなどにおいて各々処理される各処理プログラム、本明細書で全般的に記述される方法(ステップ)、説明された処理、データの全体もしくは各部を含む。
具体的には、本発明の一実施の形態の転送制御プログラムは、複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する制御を行う転送制御装置が備えたコンピュータに諸機能を実現させることが可能なものを対象とするものである。
この転送制御プログラムは、受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析機能と、前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出する位置情報算出機能と、前記位置情報算出機能にて算出された位置情報に基づいて、予め前記ヘッダパラメータをアラインしたヘッダ構造体を生成し、このヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送記憶するように出力する制御を行うヘッダパラメータ整列制御機能と、前記位置情報算出機能にて算出された位置情報に基づいて、予め前記ペイロードを特定サイズにアラインしたペイロード構造体を生成し、このペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送記憶するように出力する制御を行うペイロード整列制御機能と、を含む機能をコンピュータに実現させることができる。
また、この転送制御プログラムは、前記ヘッダパラメータに基づいて、前記多重化フレームを構成する各々のPDUを種別毎に分類し管理するPDU種別管理機能を含む機能をさらにコンピュータに実現させることができる。この場合、前記ペイロード整列制御機能では、前記PDU種別管理機能での種別毎に、前記第2の記憶部上の前記ペイロード記憶領域の異なる位置にそれぞれ前記ペイロード構造体をダイレクトに転送記憶するように出力する制御を行う機能をコンピュータに実現させることができる。
さらに、この転送制御プログラムは、前記ペイロード整列制御機能では、前記ペイロード構造体を、前記特定サイズに加工された加工ペイロードと無効データとからなる単位ブロックを有するデータ構造として生成する機能をコンピュータに実現させることができる。
また、この転送制御プログラムは、前記PDU種別管理機能では、多重化フレームに含まれる論理チャネルの優先度に応じて前記PDUを分類する機能をコンピュータに実現させることができる。この場合、前記位置情報管理機能では、前記優先度に基づいて、前記異なる位置を決定する機能をコンピュータに実現させることができる。
さらに、この転送制御プログラムは、前記位置情報管理機能では、前記優先度毎に、前記第2の記憶部上のアライン単位が異なるように位置情報を算出する機能をコンピュータに実現させることができる。
また、この転送制御プログラムは、前記ヘッダパラメータ解析機能では、前記複数のヘッダの各々の末尾に関する末尾情報を検知し、前記ヘッダパラメータと合わせて前記末尾情報を前記ヘッダパラメータ整列制御部に通知する制御を行う機能をコンピュータに実現させることができる。
さらに、この転送制御プログラムは、前記ヘッダパラメータ整列制御機能では、前記ヘッダパラメータ解析機能から渡される前記ヘッダパラメータの前記末尾情報を示すフラグを検知し、検知した旨を中央制御部に通知する制御を行う機能をコンピュータに実現させることができる。
また、この転送制御プログラムは、前記ヘッダパラメータ整列制御機能では、前記ヘッダパラメータの値をプログラミング言語によって予め決められた整数変数長にアラインして出力する制御を行う機能をコンピュータに実現させることができる。
さらに、この転送制御プログラムは、前記ヘッダパラメータ整列制御機能では、
前記ヘッダパラメータの末尾が前記第2の記憶部へ転送完了したことを、割り込みを用いて中央制御部に通知する制御を行う機能をコンピュータに実現させることができる。
プログラムは、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムは、高水準プロシージャ型またはオブジェクト
指向プログラミング言語で、あるいは必要に応じてアセンブリまたはマシン言語で実装することができる。いずれの場合も、言語はコンパイラ型またはインタープリタ型言語であってもよい。
プログラムを供給する手法としては、電気通信回線(有線、無線を問わない)によってコンピュータと通信可能に接続された外部の機器から前記電気通信回線を通じて提供することも可能である。
本発明のプログラムによれば、当該転送制御プログラムを格納するROM等の記憶媒体から、当該転送制御プログラムをコンピュータ(CPU)に読み込んで実行させれば、或いは、当該転送制御プログラムを、通信手段を介してコンピュータにダウンロードさせた後に実行させれば、上述した本発明に係る装置を比較的簡単に実現できる。発明の思想の具現化例として装置のソフトウェアとなる場合には、かかるソフトウェアを記憶した記憶媒体上においても当然に存在し、利用される。
また、プログラムは、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。プログラムの供給方法として通信回線を利用して行なう場合であれば通信回線が伝送媒体となって本発明が利用されることになる。さらに、装置における従属請求項は、方法,プログラムにおいて従属請求項に対応した構成にすることも可能である。
(情報記録媒体)
また、上述のプログラムを、情報記録媒体に記録した構成であってもよい。情報記録媒体には、上述のプログラムを含むアプリケーションプログラムが格納されており、コンピュータが当該情報記録媒体からアプリケーションプログラムを読み出し、当該アプリケーションプログラムをハードディスクにインストールすることが可能である。これにより、上述のプログラムは、磁気記録媒体、光記録媒体あるいはROMなどの情報記録媒体に記録してプログラムを提供することができる。そのようなプログラムが記録された情報記録媒体を、コンピュータにおいて使用することは、好都合な情報処理装置を構成する。
プログラムを供給するための情報記録媒体としては、例えばROM、RAM、フラッシュメモリやSRAM等の半導体メモリ並びに集積回路、あるいはそれらを含むUSBメモリやメモリカード、光ディスク、光磁気ディスク、磁気記録媒体等を用いてよく、さらに、フレキシブルディスク、CD−ROM、CD―R、CD―RW、FD、DVDROM、HDDVD(HDDVD−R−SL<1層>、 HDDVD−R−DL<2層>、HDDVD−RW−SL、HDDVD−RW−DL、HDDVD−RAM−SL)、DVD±R−SL、DVD±R−DL、DVD±RW−SL、DVD±RW−DL、DVD−RAM、Blu−Ray Disk<登録商標>(BD−RーSL、BD−R−DL、BD−RE−SL、BD−RE−DL)、MO、ZIP、磁気カード、磁気テープ、SDカード、メモリスティック、不揮発性メモリカード、ICカード、等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置、等に記録して構成して用いてよい。
さらに、「情報記録媒体」は、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの(伝送媒体ないしは伝送波)、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。
また、コンピュータ上で稼働しているOS、端末(例えば携帯電話など)上のRTOS等が処理の一部又は全部を行う場合にも、上記実施の形態と同等の機能を実現できると共に、同等の効果を得ることができる。
さらに、プログラムを暗号化してCD−ROM等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。この場合、本発明の構成は、プログラムの各構成要素(各種の手段、ステップ及びデータ)と、前記プログラム(各種の手段、ステップ及びデータ)を暗号化する暗号化手段と、を含んでよい。
また、前記実施の形態における「システム」とは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない。このため、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。「システム」には、OSや周辺機器等のハードウェアを含んでもよい。
さらに、上述のプログラムなどが搭載される情報処理装置としては、サーバは、例えばパーソナルコンピュータに限らず、各種サーバー、EWS(エンジニアリングワークステーション)、中型コンピュータ、メインフレームなどが挙げられる。情報端末は、以上の例に加えて、携帯型情報端末、各種モバイル端末、PDA、携帯電話機、ウエアラブル情報端末、種々の(携帯型などの)テレビ・DVDレコーダ・各種音響機器及びそのリモコン、各種情報通信機能を搭載した家電機器、ネットワーク機能を有するゲーム機器等からも利用できる構成としても構わない。あるいは、これらの端末に表示されるアプリケーションとして改良されたものも本発明の範囲に含めることができる。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
さらに、本明細書において、フローチャートに示されるステップは、記載された手順に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。また、実装では、プログラム手順(ステップ)が実行される順序を変更することができる。さらに、実装の必要に応じて、本明細書で説明した特定の手順(ステップ)を、組み合わされた手順(ステップ)として実装、除去、追加、または再配置することができる。
さらに、装置の各手段、各機能、各ステップの手順の機能などのプログラムの機能を、専用のハードウェア(例えば専用の半導体回路等)によりその機能を達成してもよく、プログラムの全機能のうち一部の機能をハードウェアで処理し、全機能のうちさらに他の機能をソフトウェアで処理するようにしてもよい。専用のハードウェアの場合、各部を集積回路例えばLSIにて形成されてもよい。これらは個別に1チップ化されても良いし、一部または全部を含むように1チップ化されても良い。また、LSIには、他の機能ブロックが含まれていても良い。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。
さらに、「通信」では、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであってもよい。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであってもよい。
そして、この通信には通信網が含まれる。通信網を構成するネットワークとしては、例えば携帯電話回線網(基地局及び交換システムを含む)、公衆電話回線網、IP電話網、ISDN回線網などこれに類する各種回線網、インターネット(乃ち、TCP・IPプロトコルを用いた通信態様)やイントラネット、LAN<イーサネット(登録商標)、やギガビットイーサネット(登録商標)などを含む>、WAN、光ファイバー通信網、電力線通信網、ブロードバンド対応可能な各種専用回線網などいずれのハードウェア構成でもよい。さらに、ネットワークは、TCP・IPプロトコルの他、種々の通信プロトコルを用いたネットワークあるいはソフトウェア的に構築された仮想ネットワークやこれに類するあらゆるネットワークを含むネットワークなどいかなる通信プロトコルであってもよい。また、ネットワークは、有線に限らず、無線(衛星通信、各種高周波通信手段等を含む)ネットワーク(例えば、簡易電話システムや携帯電話のようなシングルキャリア通信システム、W―CDMAやIEEE802.11bに準拠した無線LANのようなスペクトラム拡散通信システム、IEEE802.11aやHiperLAN/2のようなマルチキャリア通信システム、などを含むネットワーク)であっても構わず、これらの組み合わせを利用してもよく、他のネットワークと接続されたシステムであってもよい。さらに、ネットワークは、ポイントツーポイント、ポイントツーマルチポイント、マルチポイントツーマルチポイントなど如何なる形態でもよい。
また、システムにおける他の通信装置との間の通信構造に際し、いずれか一方又は双方に形成されるインタフェースの種類は、今後開発される如何なるインタフェースであっても構わない。
さらに、上述の手法は、必ずしも実体のある装置に限られる必要はなく、その方法としても機能することは容易に理解できる。このため、方法にかかる発明も、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。この場合、方法を実現するための一例として転送制御装置、多重化フレーム転送システムなども含めることができる。
ところで、このような装置は、単独で存在する場合もあるし、ある機器(例えば通信装置)に組み込まれた状態で利用されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものである。従って、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。発明の思想の具現化例として装置のソフトウェアとなる場合には、かかるソフトウェアを記憶した記憶媒体上においても当然に存在し、利用されるといわざるをえない。
さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合であってもよく、一部を記憶媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。本発明をソフトウェアで実現する場合、ハードウェアやオペレーティングシステムを利用する構成とすることも可能であるし、これらと切り離して実現することもできる。
また、発明の範囲は、図示例に限定されないものとする。
さらに、上記各実施の形態には種々の段階が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。つまり、上述の各実施の形態同士、あるいはそれらのいずれかと各変形例のいずれかとの組み合わせによる例をも含む。この場合において、本実施形態において特に記載しなくとも、各実施の形態及びそれらの変形例に開示した各構成から自明な作用効果については、当然のことながら実施の形態の作用効果として含めることができる。逆に、本実施の形態に記載されたすべての作用効果を奏することのできる構成が、本発明の本質的特徴部分の必須構成要件であるとは限らない。また、実施の形態に示される全構成要件から幾つかの構成要件が削除された構成による実施の形態並びにその構成に基づく技術的範囲も発明になりうる。
そして、各実施の形態及びそれらの変形例を含むこれまでの記述は、本発明の理解を容易にするために、本発明の多様な実施の形態のうちの一例の開示、すなわち、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、例証するものであり、制限するものではなく、適宜変形及び/又は変更が可能である。本発明は、その技術思想、またはその主要な特徴に基づいて、様々な形で実施することができ、各実施の形態及びその変形例によって本発明の技術的範囲が限定的に解釈されてはならないものである。
従って、上記に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物を含む趣旨である。
この出願は2008年3月13日に出願された日本出願特願2008−064960を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は、無線通信におけるプロトコルスタック処理装置などに適用できる。
本発明の第1の実施の形態による多重化フレーム転送システムの全体構成の一例を示すブロック図である。 図1の多重化フレーム転送システムのDMAコントローラ部(転送制御装置)の詳細構成の一例を示すブロック図である。 図1の多重化フレーム転送システムの外部メモリ部上に格納される格納データのデータ構造の一例を示す説明図である。 本発明の第1の実施の形態による多重化フレーム転送システムにおける全体の処理手順の一例を示すフローチャートである。 本発明の第1の実施の形態による多重化フレーム転送システムにおける詳細な処理手順の一例を示すシーケンス図である。 図2のDMAコントローラ部のヘッダパラメータ解析部の動作の一例を示す状態遷移図である。 本発明の他の実施の形態による多重化フレーム転送システムにおけるDMAコントローラ部(転送制御装置)の詳細構成の一例を示すブロック図である。 本発明の他の実施の形態による多重化フレーム転送システムにおけるDMAコントローラ部(転送制御装置)の概略構成の一例を示すブロック図である。
符号の説明
1 多重化フレーム転送システム
10 CPU部
20 DMAコントローラ部(転送制御装置)
21 受信データ入力部、
22 バッファ部(第1の記憶部)
23 バッファ管理部
24 ヘッダパラメータ解析部
25 位置情報管理部
26 選択制御部
27 ヘッダパラメータ整列制御部
28 ペイロード整列制御部
29 PDU種別管理部
30 バス部
40 メモリコントローラ部
50 外部メモリ部(第2の記憶部)
60 物理層インターフェース部、
70 物理層処理部


Claims (25)

  1. 複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する多重化フレーム転送システムに関わる転送制御装置であって、
    受信した前記多重化フレームを記憶する第1の記憶部と、
    受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析部と、
    前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出して格納管理する位置情報管理部と、
    前記位置情報管理部の位置情報に基づいて、予め前記ヘッダパラメータをアラインしたヘッダ構造体を生成し、このヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送記憶するように出力する制御を行うヘッダパラメータ整列制御部と、
    前記位置情報管理部の位置情報に基づいて、予め前記ペイロードを特定サイズにアラインしたペイロード構造体を生成し、このペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送記憶するように出力する制御を行うペイロード整列制御部と、
    を含むことを特徴とする転送制御装置。
  2. 請求項1に記載の転送制御装置において、
    前記ヘッダパラメータに基づいて、前記多重化フレームを構成する各々のPDUを種別毎に分類し管理するPDU種別管理部をさらに有し、
    前記ペイロード整列制御部は、
    前記PDU種別管理部が示す種別毎に、前記第2の記憶部上の前記ペイロード記憶領域の異なる位置にそれぞれ前記ペイロード構造体をダイレクトに転送記憶するように出力する制御を行うことを特徴とする転送制御装置。
  3. 請求項1に記載の転送制御装置において、
    前記ペイロード整列制御部は、
    前記ペイロード構造体を、前記特定サイズに加工された加工ペイロードと無効データとからなる単位ブロックを有するデータ構造として生成するものであることを特徴とする転送制御装置。
  4. 請求項2に記載の転送制御装置において、
    前記PDU種別管理部は、
    多重化フレームに含まれる論理チャネルの優先度に応じて前記PDUを分類するものであり、
    前記位置情報管理部は、
    前記優先度に基づいて、前記異なる位置を決定することを特徴とする転送制御装置。
  5. 請求項4に記載の転送制御装置において、
    前記位置情報管理部は、
    前記優先度毎に、前記第2の記憶部上のアライン単位が異なるように位置情報を算出することを特徴とする転送制御装置。
  6. 請求項1に記載の転送制御装置において、
    前記ヘッダパラメータ解析部は、
    前記複数のヘッダの各々の末尾に関する末尾情報を検知し、前記ヘッダパラメータと合わせて前記末尾情報を前記ヘッダパラメータ整列制御部に通知する制御を行うものであることを特徴とする転送制御装置。
  7. 請求項6に記載の転送制御装置において、
    前記ペイロード整列制御部は、
    前記ヘッダパラメータ解析部から渡される前記ヘッダパラメータの前記末尾情報を示すフラグを検知し、検知した旨を中央制御部に通知する制御を行うことを特徴とする転送制御装置。
  8. 請求項1に記載の転送制御装置において、
    前記第1の記憶部は、
    各部を接続するバス部のバースト転送長単位で入力・破棄されるものであることを特徴とする転送制御装置。
  9. 請求項1に記載の転送制御装置において、
    前記ヘッダパラメータ整列制御部は、
    前記ヘッダパラメータの値をプログラミング言語によって予め決められた整数変数長にアラインして出力する制御を行うものであることを特徴とする転送制御装置。
  10. 請求項1に記載の転送制御装置において、
    前記ヘッダパラメータ整列制御部、
    前記ヘッダパラメータの末尾が前記第2の記憶部へ転送完了したことを、割り込みを用いて中央制御部に通知する制御を行うことを特徴とする転送制御装置。
  11. 請求項1乃至請求項10のうちいずれか一項に記載の転送制御装置と、
    前記転送制御装置からの前記ヘッダ構造体、前記ペイロード構造体を分離して記憶する第2の記憶部と、
    各部の制御を司る中央制御部と、
    を含むことを特徴とする多重化フレーム転送システム。
  12. 複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する制御を行う転送制御方法であって、
    受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析ステップと、
    前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出する位置情報算出ステップと、
    前記位置情報算出ステップにて算出された位置情報に基づいて、予め転送前に前記ヘッダパラメータをアラインしたヘッダ構造体を生成するとともに前記ペイロードを特定サイズにアラインしたペイロード構造体を生成し、前記ヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送するとともに、前記ペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送する制御を行う転送制御ステップと、
    を含むことを特徴とする転送制御方法。
  13. 請求項12に記載の転送制御方法において、
    前記ヘッダパラメータに基づいて、前記多重化フレームを構成する各々のPDUを種別毎に分類し管理するPDU種別管理ステップをさらに有し、
    前記転送制御ステップでは、
    前記種別毎に、前記第2の記憶部上の前記ペイロード記憶領域の異なる位置にそれぞれ前記ペイロード構造体をダイレクトに転送記憶するように出力する制御を行うことを特徴とする転送制御方法。
  14. 請求項12に記載の転送制御方法において、
    前記転送制御ステップでは、
    前記ペイロード構造体を、前記特定サイズに加工された加工ペイロードと無効データとからなる単位ブロックを有するデータ構造として生成することを特徴とする転送制御方法。
  15. 請求項13に記載の転送制御方法において、
    前記PDU種別管理ステップでは、
    多重化フレームに含まれる論理チャネルの優先度に応じて前記PDUを分類し、
    前記位置情報管理ステップでは、
    前記優先度に基づいて、前記異なる位置を決定することを特徴とする転送制御方法。
  16. 請求項15に記載の転送制御方法において、
    前記位置情報管理ステップでは、
    前記優先度毎に、前記第2の記憶部上のアライン単位が異なるように位置情報を算出することを特徴とする転送制御方法。
  17. 請求項12に記載の転送制御方法において、
    前記ヘッダパラメータ解析ステップでは、
    前記複数のヘッダの各々の末尾に関する末尾情報を検知し、前記ヘッダパラメータと合わせて前記末尾情報を前記ヘッダパラメータ整列制御部に通知する制御を行うことを特徴とする転送制御方法。
  18. 請求項17に記載の転送制御方法において、
    前記転送制御ステップでは、
    前記ヘッダパラメータの前記末尾情報を示すフラグを検知し、検知した旨を中央制御部に通知する制御を行うことを特徴とする転送制御方法。
  19. 請求項12に記載の転送制御方法において、
    前記転送制御ステップでは、
    前記ヘッダパラメータの値をプログラミング言語によって予め決められた整数変数長にアラインして出力する制御を行うことを特徴とする転送制御方法。
  20. 請求項12に記載の転送制御方法において、
    前記転送制御ステップでは、
    前記ヘッダパラメータの末尾が前記第2の記憶部へ転送完了したことを、割り込みを用いて中央制御部に通知する制御を行うことを特徴とする転送制御方法。
  21. 複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する制御を行う転送制御装置が備えたコンピュータに諸機能を実現させることが可能な転送制御プログラムであって、
    受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析機能と、
    前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出する位置情報算出機能と、
    前記位置情報算出機能にて算出された位置情報に基づいて、予め前記ヘッダパラメータをアラインしたヘッダ構造体を生成し、このヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送記憶するように出力する制御を行うヘッダパラメータ整列制御機能と、
    前記位置情報算出機能にて算出された位置情報に基づいて、予め前記ペイロードを特定サイズにアラインしたペイロード構造体を生成し、このペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送記憶するように出力する制御を行うペイロード整列制御機能と、
    を含む機能をコンピュータに実現させることを特徴とする転送制御プログラム。
  22. 請求項21に記載の転送制御プログラムにおいて、
    前記ヘッダパラメータに基づいて、前記多重化フレームを構成する各々のPDUを種別毎に分類し管理するPDU種別管理機能を含む機能をさらにコンピュータに実現させ、
    前記ペイロード整列制御機能では、
    前記PDU種別管理機能での種別毎に、前記第2の記憶部上の前記ペイロード記憶領域の異なる位置にそれぞれ前記ペイロード構造体をダイレクトに転送記憶するように出力する制御を行う機能をコンピュータに実現させることを特徴とする転送制御プログラム。
  23. 請求項21に記載の転送制御プログラムにおいて、
    前記ペイロード整列制御機能では、
    前記ペイロード構造体を、前記特定サイズに加工された加工ペイロードと無効データとからなる単位ブロックを有するデータ構造として生成する機能をコンピュータに実現させることを特徴とする転送制御プログラム。
  24. 請求項21に記載の転送制御プログラムにおいて、
    前記PDU種別管理機能では、
    多重化フレームに含まれる論理チャネルの優先度に応じて前記PDUを分類する機能をコンピュータに実現させ、
    前記位置情報管理機能では、
    前記優先度に基づいて、前記異なる位置を決定する機能をコンピュータに実現させることを特徴とする転送制御プログラム。
  25. 請求項21に記載の転送制御プログラムにおいて、
    前記位置情報管理機能では、
    前記優先度毎に、前記第2の記憶部上のアライン単位が異なるように位置情報を算出する機能をコンピュータに実現させることを特徴とする転送制御プログラム。
JP2010502743A 2008-03-13 2009-02-13 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム Active JP4978732B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010502743A JP4978732B2 (ja) 2008-03-13 2009-02-13 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008064960 2008-03-13
JP2008064960 2008-03-13
JP2010502743A JP4978732B2 (ja) 2008-03-13 2009-02-13 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム
PCT/JP2009/052374 WO2009113353A1 (ja) 2008-03-13 2009-02-13 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム

Publications (2)

Publication Number Publication Date
JPWO2009113353A1 true JPWO2009113353A1 (ja) 2011-07-21
JP4978732B2 JP4978732B2 (ja) 2012-07-18

Family

ID=41065025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010502743A Active JP4978732B2 (ja) 2008-03-13 2009-02-13 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム

Country Status (2)

Country Link
JP (1) JP4978732B2 (ja)
WO (1) WO2009113353A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111954265B (zh) * 2020-08-17 2023-12-19 Oppo广东移动通信有限公司 一种生成包头的方法及终端、存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000092066A (ja) * 1998-09-08 2000-03-31 Nec Corp Atmセル組立・分解装置
JP2006302246A (ja) * 2005-03-23 2006-11-02 Fujitsu Ltd ネットワークアダプタ、通信システムおよび通信方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000092066A (ja) * 1998-09-08 2000-03-31 Nec Corp Atmセル組立・分解装置
JP2006302246A (ja) * 2005-03-23 2006-11-02 Fujitsu Ltd ネットワークアダプタ、通信システムおよび通信方法

Also Published As

Publication number Publication date
JP4978732B2 (ja) 2012-07-18
WO2009113353A1 (ja) 2009-09-17

Similar Documents

Publication Publication Date Title
US20220060555A1 (en) Accelerated network packet processing
US11249688B2 (en) High-speed data packet capture and storage with playback capabilities
US10084647B2 (en) Data forwarding to server via virtual network card or to external network via network interface, based on fusion descriptor
JP4942375B2 (ja) ネットワーク処理装置
US8121148B2 (en) Protocol stack using shared memory
WO2015058699A1 (en) Data forwarding
US11681470B2 (en) High-speed replay of captured data packets
US11425231B2 (en) Method, apparatus and computer program product for processing data
US9961147B2 (en) Communication apparatus, information processor, communication method, and computer-readable storage medium
JP5094482B2 (ja) 処理装置及びその処理方法
JP4978732B2 (ja) 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム
JP2014022761A (ja) ネットワークシステム、情報中継装置、及びパケット配信方法
US10318470B1 (en) Systems and methods for data transfer over a shared interface
US7764676B1 (en) Method and system for processing network information
EP3346663B1 (en) Apparatus, system, and method for accelerating security inspections using inline pattern matching
WO2014073050A1 (ja) 情報処理装置及び情報処理方法
JP5120188B2 (ja) パケット制御装置、パケット制御方法、及びパケット制御プログラム
CN112015564A (zh) 加解密处理方法及装置
Chimata Path of a packet in the linux kernel stack
US7428242B2 (en) Action list for a split media access and control layer communications system
Zeng et al. CONTC: A Traffic Control System for Container Overlay Networks
Wang Design and Implementation of TCPHA
KR20040075597A (ko) 네트워크 라인 인터페이스 시스템의 정보 저장 방법 및 그장치
JP2006081029A (ja) データ通信装置及びデータ通信方法
JP2019213059A (ja) 通信装置、通信装置の制御方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120321

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120403

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4978732

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150