JP2009272912A - Ipデータ処理装置 - Google Patents

Ipデータ処理装置 Download PDF

Info

Publication number
JP2009272912A
JP2009272912A JP2008121923A JP2008121923A JP2009272912A JP 2009272912 A JP2009272912 A JP 2009272912A JP 2008121923 A JP2008121923 A JP 2008121923A JP 2008121923 A JP2008121923 A JP 2008121923A JP 2009272912 A JP2009272912 A JP 2009272912A
Authority
JP
Japan
Prior art keywords
data
compression
unit
processing
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.)
Withdrawn
Application number
JP2008121923A
Other languages
English (en)
Inventor
Masataka Hirose
雅隆 広瀬
Eiichiro Ito
英一郎 伊藤
Takao Yasui
教郎 安井
Takanobu Akiba
孝信 秋庭
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008121923A priority Critical patent/JP2009272912A/ja
Publication of JP2009272912A publication Critical patent/JP2009272912A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】本発明はIPデータ処理装置に関し,IPパケットのプロトコル種別毎にデータ処理をルーティングするIPデータ処理装置を提供することを目的とする。
【解決手段】ネットワークインタフェース装置と接続するデータ処理装置は,外部バスと内部バス間のバス制御手段と,内部の各部とデータ転送を行うデータ転送処理手段を備え,データ転送処理手段は,ネットワークインタフェース装置とやり取りするパケットデータのコンテキスト情報を管理するコンテキスト情報管理手段と,複数のプロトコル種別をプロトコル種別IDとして認識するプロトコル種別ID認識手段と,該パケットデータのプロトコル種別ID毎にルーティング情報を格納したルーティングテーブルとを備え,プロトコル種別とルーティングテーブルに基づいて対応するプロトコル種別,もしくはサービス毎に内部バスか,インタフェース手段のいずれの転送経路にするかを決定する。
【選択図】図1

Description

本発明は,IPデータ処理装置に関し,特に,IPパケットのプロトコル種別毎にデータ処理をルーティングするIPデータ処理装置に関する。
携帯通信端末等の高速化が要求されるIP(Internet Protocol)パケットのIPデータ処理装置においては,処理データの増加に伴い,ソフト処理負荷,CPUバス占有率の増加が処理速度向上を阻害する要因となっている。そのため,データ処理装置のシステム負荷および処理レイテンシを低減させる技術が不可欠となる。
また,携帯端末等の消費電力の低減の要望もあり,通信の高速化やソフト処理負荷の増加に伴う端末の消費電力の増加を抑えるための技術も必要とされている。
高速化が要求されるIPデータ処理装置において,従来,IPパケット処理を行う際,受信パケットの正常性の検査や,送信パケットのFCS(Frame Check Sequence)のチェックサム生成・付与の処理は,主にソフトウェアにより逐次処理していた。
なお,通信制御装置において,IPパケットのペイロードの分解・結合,ヘッダ生成等をハードウェア処理として実現し,ハードウェアによる並列処理により,高速に送信データを出力することが知られている(特許文献1参照)。
また,USBデバイスを用いたデータ転送制御装置において,USBデバイスをIPパケットデータのやり取り可能なLANノードとして動作させることができ,USBデバイスを用いた簡易な構成でネットワークが構築できることが知られている(特許文献2参照)。
特開2006−81033号公報 特開2004−362421号公報
従来のIPデータ処理装置のソフトウェアによる処理においては,以下に示すような問題が生じていた。
(a)高速化パケット通信において,インターネットアクセス,音声データ,動画データ等の様々なサービスにより,携帯端末(例えば,携帯電話)のデータ処理負荷が増大している。その主な要因は,携帯端末に備えられたCPUに対して,データ転送時の割り込み回数の増加や,レイヤ構成の終端処理等に負荷が増大していることによるものである。
(b)さらに,携帯端末のCPUは,通信のプロトコル処理をソフトウェアにより先に処理する必要があり,CPUに対するデータ転送が複数回発生すると,バス使用率の増加につながる。また,プロトコル処理により,CPUに対する割込みが多発する。例えば,およそ8千回/秒程度(通信速度50Mbps÷1500(バイト/パケット/秒)×割込み2(回/パケット)の場合)の割り込み処理が発生する。
その結果,CPUバスの占有率が高い場合,競合による待ち合わせが発生し,Qos(サービス品質:Quolity Of Service) を保証できない場合が発生することがある。このため,CPUバスの占有率を改善することが課題となっている。
(c)CPUデータ処理増加に伴う消費電力の増加は,二次的な問題として,携帯端末の連続動作時間が短くなり,利用者の充電が頻繁になる問題や,バッテリー容量を増加する必要がある等の問題が生じる。
上記特許文献1の技術によれば,IPパケットのデータを結合するのみのハードウェア処理であり,IPパケットのデータのプロトコル種別毎のデータ転送ルーティングや,バスの利用効率を向上するものではない。
また,上記特許文献2によれば,データ転送制御装置において,USBデバイスを用いてLANノードとして動作させることを目的としており,CPUのデータ処理の負荷を低減し,通信データ高速化の対応に伴うCPUの消費電力の増加を抑えるものではない。
本発明は,IPパケットの処理内容毎に,データ処理装置内のデータルーティングを最適化し,CPUのデータ処理の負荷を低減し,通信データ高速化の対応に伴うCPUの消費電力の増加を抑え,データ処理装置の消費電力を低減できるIPデータ処理装置を提供することを目的とする。
このIPデータ処理装置は,ネットワークインタフェースと相互にデータ転送を行うデータ処理装置を備え,データ処理装置は,ネットワークインタフェース装置に接続する外部バスと内部バスとの調停を行ってバス間のデータ転送を制御するバス制御手段と,内部バスに接続されると共に内部の各部とデータ転送の処理を行うデータ転送処理部と,外部バスを介したネットワークインタフェース装置内の転送管理情報にアクセスしてデータ転送処理部に制御指示をするCPU部と,内部バス経由で接続されるメモリ部とを備える。データ転送処理部に複数のプロトコルに対応する処理を行う各部とのインタフェース手段を接続し,前記データ転送処理部は,ネットワークインタフェース装置との間で送受信するパケットに関するプロトコル等のコンテキスト情報を管理するコンテキスト情報管理部と,コンテキスト情報から作成されるパケットのプロトコル種別IDを認識するためのプロトコル種別IDテーブルと,プロトコル種別IDに対応したルーティング情報を格納するルーティングテーブルとを備える。CPU部はパケットをプロトコル種別IDテーブルとルーティングテーブルに基づいて,プロトコル種別,またはサービス毎に,内部バスに転送するか,インタフェース手段へ転送するかのルーティングを決定するよう構成するものである。
また,好適には,プロトコル種別IDに対応したルーティングテーブルに,ルーティング処理制御情報として,サービスに対応したサービス品質の優先度と,複数パケットのバルク化を許可するか否か,圧縮を許可するか否かの情報が設定され,CPU部は,ルーティングテーブルによる,サービス品質の優先度に応じて転送順序が制御され,バルク化の許可・不許可及び圧縮の許可・不許可の設定に対応して,ルーティング先として内部バスを経由したメモリ部または内部バスを経由しない各インタフェース手段への経路を選択するよう構成することができる。
更に,データ転送処理部に圧縮処理手段を備え,該圧縮処理手段は,処理する前のデータを非圧縮データとして保持すると共に,ルーティングテーブルの圧縮許可情報を受け取ると指定された方式により対象データについて部分圧縮を行い圧縮率の効果を出力する部分圧縮処理部と,圧縮率の効果を判定し,効果があると対象データの全圧縮の指示を発生し効果がないと非圧縮の指示を発生する圧縮判定部と,全圧縮の指示を受けて対象データの全圧縮を行う圧縮制御部とを備えるよう構成することができる。
また,データ転送処理部は,ルーティング先へのデータ転送の前に同一のプロトコル種別IDの複数のパケットをバルク化する場合,ルーティング処理の処理時間,内部バス占有の割合と他の転送経路のプロトコル種別IDのパケットの転送時間を判断し,バルク化サイズを可変にすると共に転送順序を変更する制御を行うよう構成することができる。
本IPデータ処理装置により,IPパケットのデータのプロトコル種別毎のデータ転送ルーティング処理をハードウェアで実現できるため,CPUに対して,データ転送時の割り込み回数の増加や,レイヤ構成の終端処理等の負荷を低減することができる。
また,その結果,CPUバスの占有率を改善することができ,バス利用率向上につながるため,競合による待ち合わせ発生によるQosを保証できない事態を低減することができる。
さらに,ソフトウェアによるCPU介在の処理を低減することにより,高速パケット通信化に伴うCPUのデータ処理負荷に起因するCPU消費電力の増加を抑制することができる。
図1は本発明に係るIPデータ処理装置の基本構成を示す。図中,1はデータ処理装置,11,12はCPU部,13,2はネットワークインタフェース装置,21はバス制御部,22はメモリ部,23は送受信部,24は転送管理テーブル,3はデータ転送処理部,30はコンテキスト情報管理部,31はプロトコル種別IDテーブル,32はルーティングテーブル,33はデータ処理部,34はバルク化処理部,35は圧縮伸長処理部,100,200は内部バス,300は外部バス,101はIF部,102は専用ラインである。
図1において,データ処理装置1には,ネットワークインタフェース装置2がバス300を介して接続されている。ネットワークインタフェース装置2は,外部の対向装置(図示省略)とネットワークを介して接続され,DLパケット(Down Link Packet)および,ULパケット(Up Link Packet)のやり取りを行う。
本発明に係るIPデータ処理装置の対象となる装置はデータ処理装置1であるが,はじめにネットワーク側とのやり取りを行うネットワークインタフェース装置2の基本構成について説明する。
ネットワークインタフェース装置2は,バス制御部21,メモリ部22,送受信部23,転送管理テーブル24,内部バス200を備えている。さらに,転送管理テーブル24には,プロトコル種別ID240とデータ格納先アドレス情報241が格納されている。
バス制御部21は,ネットワークインタフェース装置2の内部バス200と,外部バス300間のバス上のデータ転送を制御し,データ処理装置1との装置間のデータ転送を行う。メモリ部22は,内部バス200からアクセス可能なアドレスにマッピングされており,メモリ部22上に,DLパケットおよびULパケットのデータ,装置2内のデータ等が一時記憶されるメモリである。
送受信部23は,外部の対向装置(図示省略)と物理IF(Interface)を介して,DLパケットを受信し,ULパケットを送信する。なお,物理IFは,有線通信の場合はメタル通信線や光ファイバ等であり,無線通信の場合は空間伝播である。
転送管理テーブル24は,データ処理装置1へ転送すべきデータのプロトコル種別ID240,データ格納先であるメモリ部22のデータ格納先アドレス情報241等の転送データに関する情報が格納され,更新されるテーブルである。
内部バス200は,ネットワークインタフェース装置2内のバス制御部21,メモリ部22,送受信部23間のアドレス信号,データ信号,制御信号を伝送するための複数の信号線やラインバッファ等を備える。
次に,データ処理装置1内の機能部の説明を行う。データ転送処理部3は,ネットワークインタフェース装置2内のメモリ部22からパケットデータをルーティングテーブル32に基づいて,データ処理装置1内のルーティング先へデータ転送する。
バス制御部11は,データ処理装置1の内部バス100と,外部バス300間のバス上のデータ転送を制御し,ネットワークインタフェース装置2との装置間のデータ転送を行う。CPU部12は,内部バス100に接続された制御用の処理装置(CPU)であり,ネットワークインタフェース装置2の転送管理テーブル24を参照し,データ転送処理部3に転送データの指示を出す。メモリ部13は,CPU部12のワークメモリとして,また,一部のサービスに対応するデータが一時記憶されるメモリ部である。
内部バス100は,データ処理装置1内のバス制御部11,CPU部(処理装置)12,メモリ部13間のアドレス信号,データ信号,制御信号を伝送するための複数の信号線やラインバッファ等を備える。
インタフェース部101(101A,101B,101Cを代表)は,データ転送処理部3の複数のデータ転送先,又はデータ転送元である。例えば,USBインタフェース,その他のインタフェースである。なお,以下,単にIF101(A,B,C)と記す。
専用ライン102(102A,102B,102Cを代表)は,各IF101(A,B,C)に対応し,接続された信号ラインである。データ転送処理部3が,データ転送する際,専用ライン102を介し,ルーティングテーブル32に基づいて各IF101(A,B,C)とのデータ転送を行う。
データ転送処理部3には,コンテキスト情報管理部30,プロトコル種別IDテーブル31,ルーティングテーブル32,データ処理部33,バルク化処理部34が備えられている。
コンテキスト情報管理部30は,ネットワークインタフェース装置2と対向処置間において,コンテキスト情報のやり取りを行い,そのやり取りした内容を保持する。具体的には,コンテキスト情報には,以下のようなパラメータが含まれている。
(a)ユーザレベルプロトコル(例えば,IPv4,IPv6,PPP,UDP/TCP等)
(b)パケットプロトコルアドレス(IPv4,IPv6アドレス)
(c)QoS(サービス品質)プロファイル(要求QoS,交渉結果QoSの属性値)
(d)メディア種別(ビデオ,オーディオ等)
(e)ポート番号(通信相手先の指定情報)
等である。コンテキスト管理情報に従い,プロトコル種別IDが作成される。
プロトコル種別IDテーブル31は,データ処理装置1とネットワークインタフェース装置2にて共通に利用されるプロトコル種別IDが格納される。データ処理装置1においては,プロトコル種別IDテーブル31のID番号に対応するルーティングテーブル32が用意される。
ルーティングテーブル32は,IPパケットのルーティング処理において使用する複数のパラメータ情報が格納されている。例えば,プロトコル種別ID,QoS(サービス品質:Quality of Service)優先度,データの一括転送許可/不許可を示すバルク処理情報,データの圧縮の許可/不許可を示すComp(Compression)情報等である。
データ処理部33は,IPパケットの圧縮,または転送された圧縮データの伸長処理を行う圧縮伸長処理部35を備えている。データ処理部33は,ルーティングテーブル32に基づいて,ルーティング先の経路,内部バス100の使用有無,バルク化処理の有無,圧縮処理の有無および処理内容等を決定し,データの転送処理を行う。
バルク化処理部34は,データのバルク化(同一種別のIPパケットを一括転送することを言う)の有無,データを一括転送するバルク数や,転送データの転送ブロック単位における転送順序の入れ替え等の制御処理を行う。
圧縮伸長処理部35は,転送データの中でデータ種別によっては,圧縮効果が大きく,データ転送処理部3からメモリ部13もしくは,いずれかのIF101(A,B,C)へ転送する前に圧縮する。また,データ転送処理部3が受信した転送データの中で所定の圧縮情報を有する圧縮データに対し,圧縮伸長処理部35は,圧縮データを所定のアルゴリズムで伸長する。その伸長されたデータが,データ転送処理部3からネットワークインタフェース装置2を介して,ULパケットとして送出される。
装置間の外部バス300は,データ処理装置1のバス制御部11と,ネットワークインタフェース装置2のバス制御部21間に接続される信号線である。例えば,装置間でやり取りされるデータは,外部バス300上でレイヤ2(例えば,HDLC(High−Level Data Link Control))プロトコルで,データ転送される。

図2はIPデータ処理装置のプロトコル種別ID認識・割付の動作概要を示す。図2(A)は装置間のコンテキスト情報のやり取りの概要を示し,図2(B)はプロトコル種別IDの割付・認識処理の動作概要を示す。
図2(A)において,ネットワークインタフェース装置2は,対向装置(図示省略)間で,コンテキスト情報(DL,UL)のやり取りを行っている。コンテキスト情報には,上記した(a)〜(e)の複数のパラメータが含まれている。このコンテキスト情報は,バス300を介して,ネットワークインタフェース装置2とデータ処理装置1間でやり取りされ,データ処理装置1内のコンテキスト情報管理部30で管理される。
データ処理装置1は,コンテキスト情報に従い,プロトコル種別IDテーブル31を作成する。プロトコル種別IDテーブル31のプロトコル種別ID情報は,データ処理装置1,およびネットワークインタフェース装置2において共有される(転送管理テーブル24内のプロトコル種別ID240)。
また,データ処理装置1は,プロトコル種別IDテーブル31のプロトコル種別IDに対応するルーティングテーブル32を備える。データ処理装置1内部において,この2つのテーブル(31,32)がテーブル連携を行い,プロトコル種別に対応したデータをルーティングテーブル32に基づいてルーティングを決定することができる。
次に,図2(B)において,IPパケット処理の動作概要を説明する。ネットワークインタフェース装置2において,受信されたDLパケットは,プロトコル種別IDテーブル240の内容と比較され,対応するプロトコル種別IDが付与される。
コンテキスト情報は,その対象ベアラ・サービスが終了するまでは保持される。そのため,その間通信されるパケットは,プロトコル種別IDテーブル240の内容と比較され,プロトコル種別IDが付与される。なお,プロトコル種別IDテーブル240を更新する契機としては,コンテキスト情報に対し,固定的に割付け保持する場合と,ベアラ・サービスの開始から終了までの間のみ保持する(すなわち動的に管理される)場合が存在する。
装置(1,2)間は,レイヤ2プロトコル経路であり,プロトコル種別IDが付与されたIPパケットが転送される。データ処理装置1において,IPパケットのプロトコル種別IDを認識し,ルーティングテーブル32に従い,適切なプロトコル処理対応部へIPパケットをルーティングする。
ULパケットとして送信されるパケットは,データ処理装置1内でプロトコル処理に対応する機能部から送出されたデータがパケット化されたものであり,ルーティングテーブル32に基づいてプロトコル種別IDが付与される(ID割付)。
ネットワークインタフェース装置2は,このプロトコル種別IDが付与されたIPパケットをプロトコル種別IDに基づいて(ID認識),対向装置へULパケットとして送出する。
図3はIPデータ処理装置の実施例の構成を示す。
図3において,データ処理装置1Aには,ネットワークインタフェース装置2Aがバス300を介して接続され,データ処理1Aとネットワークインタフェース装置2AとでIPデータ処理装置が構成され,USB(Universal Serial Bus)5を介して外部機器4が接続されている。ネットワークインタフェース装置2Aは,外部の対向装置(図示省略)とネットワークを介して接続され,DLパケットおよび,ULパケットのやり取りを行う。
データ処理装置1Aは,DMAコントローラ部3A,バス制御部11,CPU部12,RAM部13A,IPsec処理部14,ログ処理部15,USB−IF部16,シリアルIF部17,DSP部18を備えている。
さらに,DMAコントローラ部3Aは,プロトコル種別IDテーブル31,ルーティングテーブル32,データ処理部33,バルク化処理部34,レイヤ2処理部36,TOE(TCP/IP Offload Engine)37を備えている。また,データ処理部33は,圧縮伸長処理部35を備える。
ネットワークインタフェース装置2Aは,バス制御部21,RAM部22A,物理IF部23A,転送管理テーブル24,内部バス200を備えている。さらに,転送管理テーブル24には,プロトコル種別ID240とデータ格納先アドレス情報241が格納されている(図示省略)。
以下に,データ処理装置1Aとネットワークインタフェース装置2Aの本実施例の構成について説明する。
CPU部12は,データ処理装置1A内のシステム制御CPUとして機能し,バス300経由で,ネットワークインタフェース装置2A内の転送管理テーブル24を参照し,データの取込みや転送処理をDMAコントローラ部3Aに指示する。
DMAコントローラ部3Aは,CPU部12の指示により,ネットワークインタフェース装置2A内のRAM部22AからIPパケットデータを,ルーティングテーブル32に基づいてデータ処理装置1A内のルーティング先へ転送する。その際,ルーティングテーブル32内の情報から後述するレイヤ2処理,TOE処理,バルク化処理や圧縮処理の有無等を読取り,各処理の適用すべきデータは処理後,また,適用しないデータはそのままのデータとして,転送順位に従い,ルーティング先へ転送する。ルーティング先として,以下に説明するIF部がある。
IPsec処理部14は,T2信号ライン(DMAコントローラ部3Aと接続)を介して,転送されたデータを処理するルーティング先の1つである。転送されたデータは,IPsec(Security Architecture for Internet Protocol)処理され,処理されたデータは,バス100を介してRAM部13Aへ転送される。なお,IPsecとは,IPパケットを暗号化して,データを送受信するためのプロトコルである。
ログ処理部15は,T4信号ラインを介して転送されたデータに,ログ用のフラグを付与し,USB−IF部16へ転送するルーティング先の1つである。さらに,ログ処理されたデータは,USB5を介して,外部機器4(PC等)に送られる。
USB−IF部16は,ログ処理部15からのデータの他にも,T3信号ライン(DMAコントローラ部3Aと接続)経由および,T6信号ライン(RAM部13Aと接続)経由の転送データを処理する。また,USB−IF部16には,T6信号ラインへ送出するデータを圧縮または,T6信号ラインから受信するデータを伸長する圧縮伸長部161が備えられている。
シリアルIF部17は,T7信号ライン(DMAコントローラ部3Aと接続)を介して,DSP部18へデータを転送するルーティング先の1つである。そのDSP部18は,UDP,RTPプロトコルの音声等のパケットデータを処理するDSP(Digital Signal Processor)である。
また,各機能部からバス100経由のデータ転送は,プロトコル種別IDに対応する分類BU1〜BU9で示している。BU1は,転送管理テーブル24からCPU部12へ送出されるか,または,その逆にCPU部12から転送管理テーブル24へ送出されるデータ転送であることを示す。BU2〜BU9についても,同様にRAM部22AからDMAコントローラ部3A間のデータ転送であることを示す。さらに,その中の一部(BU5および6,BU8および9)は,バス100経由でのDMAコントローラ部3AからRAM部13A間のデータ転送である。
DMAコントローラ部3Aの内部機能について,以下に詳細な機能説明を行う。
レイヤ2処理部36は,装置(1,2)間のレイヤ2フレームの正常性をチェックするために,フレームデータのFCS(Frame Check Sequence)検査または,FCSビットを生成し,付加する。
TOE37は,TCP/IP,UDPヘッダを対象とし,受信処理パケットの正常性をチェックサム検査により判定する。また,送信時は,チェックサムを生成し,付加する。すなわち,CPUの代わりにTCP/IPプロトコル処理を行う機能部である。
バルク化処理部34は,バルク許可されたデータの一括転送の処理(バルク転送処理とも言う)を行う。圧縮伸長処理部35は,圧縮許可されたデータの圧縮処理および,圧縮された転送データの伸長処理を行う。なお,バルク化処理部34および,圧縮伸長処理部35の詳細な機能については,後述において説明する(図5〜7の説明)。
図4はルーティングテーブル32の詳細内容を示す。
テーブル情報の大項目として,コンテキスト管理情報,プロトコル種別ID,ルーティング処理制御情報,ルーティング処理ブロック,経路,ルーティング先等の情報に大別される。
コンテキスト管理情報は,QoS(サービス品質)プロファイルに従い分類され,QoS優先度処理の順位に基づいて処理することができるように分類される。例えば,プロトコル種別ID=“01”(10進数2桁の数値)がQoS優先の最も高い優先順位であり,プロトコル種別ID=“10”が最も優先順位が低く割当てられている。プロトコル種別IDは,コンテキスト情報管理部(図示省略)により割当てられた番号である。
図4において,分類(BU1)〜(BU9)は,転送データのプロトコル種別ID毎に分類されている。(BU1)転送情報データ,(BU7)会話型ストリーミングデータVoIPおよび(BU5)同TV,(BU1)システム制御系(システム制御),(BU8)システム制御系(呼制御),(BU2,BU3,BU6,BU9)インタラクティブやバックグランド,(BU4)ログ情報用等である。また,プロトコルとリンクしていない分類の“(BU1)転送情報”と“(BU1)システム制御系”は,バス経路は同じであるが,ルーティング先への処理優先度が異なる。そのため,別のプロトコル種別IDとして,優先順位別にID=“01”とID=“04”をそれぞれ割当てている。
ルーティング処理制御情報として,QoS優先,バルク許可,Comp許可の情報が格納されている。その情報内容は,以下の通りである。
QoS優先は,ルーティング先への転送の優先度を示す情報である。DMAコントローラ部3Aは,このQoS優先情報とCPUバスの利用状態,処理ブロックの利用状態を監視し,QoSに影響を与えないと判断した範囲内で,データ転送処理順位を調整する。
バルク許可は,同一のプロトコル種別IDのデータを優先処理に影響を与えない範囲内で,データのブロック単位をまとめて転送することを許可するか否かの情報である。
Comp許可は,圧縮処理を許可するか否かの情報で,許可の場合には,転送データの圧縮を圧縮伸長処理部35で行う。
ルーティング処理ブロック情報には,DMAC処理(DMAコントローラ部3Aの処理)の他,IPsec処理,TOE処理,シリアルIF処理,ログ処理等の対応/非対応の情報が格納されている。
BU2,BU5,BU6,BU8およびBU9は,DMAコントローラ部3Aを介し,バス100を経由してRAM部13Aにデータ転送されるルーティングである。以上のデータ転送とBU1のデータ転送においては,主にバス100を介して行われる。
一方,BU7〜T7,BU3〜T3,BU4〜T4へのルーティング先までの経路は,DMAコントローラ部3Aを介し,内部バス100を使用しないルーティングである。また,BU2〜T2,BU6〜T6間においても,一部の経路(T2,T6)は,内部バス100を介さずに,専用信号ラインを利用する。以上のデータ転送は,ルーティング処理ブロック間でのデータ受け渡しを主にハードウェアで実現している。
この際,CPU部12に対する割込み通知は,転送データがルーティング先に転送された時点で,CPU割込み通知が行われる。また,CPU割込み通知タイミングは,転送管理テーブル24に管理されている全てのデータ転送が完了した時点や,バルク転送が完了した時点との選択可能な構成であっても良い。
以上のように,ルーティングテーブル32に基づいて,CPU部12に指示されたDMAコントローラ部3Aは,プロトコル種別IDにより,BU1〜BU9の転送先へのルーティングを決定する。このようにハードウェアによるルーティングを利用することにより,CPU負荷の軽減,CPUバス占有率の低減を実現することができる。
図5はデータ転送時におけるバルク転送処理の動作概要を示す。図5において,(a)は転送管理テーブル24の内容を示し,(b)基本バルク転送時および(c)拡張バルク転送時のDMAコントローラ部3A内のディスクリプタ(処理予約とも言う)のパケット単位の設定内容を示している。
ネットワークインタフェース装置2Aの転送管理テーブル24には,図5の(a)に示すように複数のプロトコルデータの転送要求がランダムに格納される。転送要求の格納される情報は,パケット単位のプロトコル種別ID,データ転送元のアドレス,データ容量等の情報として,管理される。
図5(b)基本バルク転送方式について,以下に説明する。
データ処理装置1Aは,転送管理テーブル24を読込み,プロトコル種別IDテーブル31とルーティングテーブル32に基づいて,パケット単位でバルク許可情報をチェックする。そのバルク許可情報が“許可”ならば,同一のプロトコル種別IDのデータをまとめて伝送する。
例えば,“プロトコル種別ID=01”のパケット(以下,単にID(1)と記す)は,バルク不許可であるため,バルク処理は行われない。ID(8),ID(9),ID(10)は,バルク許可であるため,バルク処理がそれぞれのID毎に適用されている。なお,ID(7)はバルク許可であるが,バルク化処理すべきデータ量に満たない(図中,1パケットである)ため,バルク化処理は行われない。 データの転送順序は,矢印の向きに示すID(1)からID(10)の順に従って,転送される。
図5(c)拡張バルク転送方式について,以下に説明する。
基本バルク転送方式の拡張機能(以下,単に拡張バルク転送方式と言う)は,DMAコントローラ部3Aのディスクリプタへの設定情報を以下に示す設定要因に従い制御する。
(要因1)格納アドレス先の容量制限
(要因2)ルーティングテーブル32に基づいて,ルーティング処理ブロックの処理時間(処理の占有割合)や,CPUバス100占有の割合により,他処理経路のパケット処理可能とDMAコントローラ部3Aが判断した場合
以上の要因に従い,拡張バルク転送方式時には,バルク化するサイズを可変する制御および,転送順位を変更する制御を行う。
図5(c)において,ID(9)は,圧縮処理後,DMAコントローラ部3AからBU6経由で,RAM部13Aに転送されるデータ種別である。ID(10)は,DMAコントローラ部3AからT4経由で,ログ処理部15に転送されるデータ種別である。
ID(9)の転送データに対しては,圧縮処理が実行され,その後,RAM部13Aに転送される。その転送の際,CPUバス100を占有する。
ID(9)の5パケット分の圧縮処理時間を要し,その圧縮処理後,ID(10)のパケットのデータが転送される場合,待機時間となってしまう。また,ID(9)とID(10)のルーティング先としても経路が異なるため,DMAコントローラ部3Aは,ID(10)を先に処理するように転送順序を一部入れ替えるように制御する。
これにより,ID(9)の2パケット分の処理の間に転送可能なID(10)の2パケット分の転送データが,ID(9)の2パケット分の処理転送後,ID(9)の残りの3パケット分より先に転送される。
具体的には,図5(c)のID(9)のデータ(取得アドレス8000_0000と8000_1000)の転送順の次に,ID(10)のデータ(取得アドレス8000_8000と8000_8500)を繰り上げる。そして,そのID(10)の次の転送順に,ID(9)のデータ(取得アドレス8001_6000他)に繰り下げ,転送データ順の入替えを行う。
図6は圧縮処理部の詳細な構成を示す図である。図6に示す圧縮処理部35Aは,図3に示した圧縮伸長部35の圧縮処理の詳細な構成である。圧縮処理部35Aは,圧縮管理部351,圧縮制御部352,ワークメモリ353,部分圧縮処理部354,圧縮判定部355,転送制御部356を備えている。
圧縮処理部35Aは,入力データDataInを,ルーティングテーブル32のComp許可情報に基づいて,圧縮処理の有無を最初に判断する。このComp許可情報が圧縮不許可の場合,圧縮処理はされず,非圧縮データとしてDataOutから出力される。一方,Comp許可情報が圧縮許可の場合,前述の各部の機能部により圧縮処理が行われ,DataOutからインデックス(Index)情報(後述する図7の(B)に示す)が付与された転送データが出力される。以下に圧縮処理部35A内の機能部について説明する。
圧縮管理部351は,ルーティングテーブル32のComp許可情報や,その他設定情報により,圧縮処理部35A内の設定を管理・指示する。
圧縮制御部352は,圧縮管理部351により指示されたワークメモリ353内の指定されたデータを取出し,所定の幾通りの中から選択した圧縮アルゴリズムに従い,データの圧縮処理を行う。圧縮処理は,ハードウェア処理能力に見合ったアルゴリズムを用いる。また,非圧縮データと比較した圧縮データの圧縮率について,圧縮判定部355に対し,圧縮率の効果通知を行う。
また,Comp許可情報の圧縮許可データに対し,パケット単位で,圧縮情報が異なる場合,以下の内容を含むインデックス情報を生成して圧縮データに付加する。
インデックス情報:圧縮の有無,圧縮方式,圧縮レイヤの情報
これにより,パケット単位で,圧縮効果が異なる場合においても,インデックス情報により圧縮の有無,圧縮方式,圧縮レイヤを区別できるため,圧縮効果の無いパケット(データ長が増えてしまう場合を含めて効果なしとする)等には,圧縮処理を施さないことが可能となる。
また,CPUや,処理ブロック毎に処理に利用するパケットのヘッダ部分が異なるため,圧縮管理部351から圧縮レイヤが指示され,指示された処理に利用するヘッダ部分を残し(ヘッダ部分は非圧縮),ペイロード部分のみを圧縮対象とする。
生成されたインデックス(Index)情報は,インデックス情報が付与された圧縮データとして,ワークメモリ353に保存される。
ワークメモリ353は,非圧縮データを一時記憶し,また,圧縮後の圧縮データを一時記憶するメモリである。
部分圧縮処理部354は,圧縮管理部351により部分圧縮を指示されたワークメモリ353内の指定されたデータの一部を取出し,所定の幾通りの中から選択した圧縮アルゴリズムに従い,データの部分圧縮処理を行う。また,非圧縮データと比較した圧縮データの圧縮率について,圧縮判定部355に対し,圧縮率の効果通知を行う。簡易的に,短時間に圧縮効果を判断する場合に,部分圧縮処理が利用される。
その際,圧縮判定部355により,部分圧縮効果が有効だと判断された場合,圧縮判定部355から圧縮制御部352に対し,対象データの全圧縮の圧縮指示が出され,圧縮制御部352は,ワークメモリ353から対象データを取出し,圧縮を行い,処理後の圧縮データをワークメモリに記憶する。
圧縮判定部355は,プロトコルによっては圧縮効果が不明なデータが存在するため,圧縮制御部352等の圧縮率の効果通知により,圧縮の有効性を判断する。有効と判断した場合,圧縮データをワークメモリ353から取出し,転送制御部356へ転送指示を出す。また,有効でないと判断した場合,非圧縮データをワークメモリ353から取出し,転送制御部356に転送指示を出す。
転送制御部356は,圧縮判定部355を介して非圧縮データ,または,圧縮データを受取り,転送データとしてデータ処理部33(図3に示す)に送り出す。そして,圧縮データは,データ処理部33から所定のルーティング先へ転送される。
図7は圧縮前後のデータ比較による圧縮処理概要の図である。図7(A)は単パケットのデータ圧縮処理概要を示しており,図7(B)は複数パケットのバルク化処理されたデータ圧縮処理概要を示す。
なお,以下では,Flagはパケット先頭の位置の場合,開始フラグであり,一方,最後尾の位置の場合(ペイロードの次),終了フラグである。ヘッダ情報は,DLCI(Data Link Control Identifier),e.t.c(他のヘッダ内容)を含めた情報を示す。
図7(A)において,圧縮対象が単パケット(バルク処理なし)で,圧縮レイヤにレイヤ2が指示された場合の圧縮前データPA,圧縮後データPBを示す。
レイヤ2の単パケットの場合,ヘッダ情報,IPヘッダとFlag(終了フラグ)は圧縮されず,TCP/UDPの部分(TCPヘッダ+ペイロード(上位層))が圧縮対象となる。
図7(B)において,圧縮対象がバルク化パケット(複数のパケットがバルク化処理されたものを言う)で,圧縮レイヤにレイヤ2が指示された場合の圧縮前データPC,圧縮後データPDを示す。
圧縮対象とならないのは,レイヤ2先頭パケットのヘッダ情報と,この圧縮データの後に付加されるFlag(終了フラグ)である。一方,このヘッダ情報とFlag以外の部分が,圧縮対象となる。この圧縮データ(DB)は,圧縮Index(4byte情報)+圧縮対象となった圧縮データDCを含んだデータとなっている。
なお,レイヤ2以降(すなわち,レイヤ3〜)のバルク化パケットの圧縮の場合,各パケットヘッダ部分を残したペイロード部分のみを圧縮対象とする。
圧縮Index情報には,圧縮有無,圧縮レイヤ,IPヘッダの次番号および圧縮アルゴリズム情報(圧縮方式)からなる4バイトの圧縮パラメータが設定されている。
図8はルーティング処理フローを示す図である。
図3に示すデータ処理装置1Aにおいて,CPU部12は,ネットワークインタフェース装置2Aより転送管理テーブル24の読込みを行う(図8のS1)。この読込み周期は,転送管理テーブル24に示されたパケットを全て転送した際や,所定の単位時間タイマー等のネットワークインタフェース装置2Aの割込み指示で開始される。
CPU部12は,転送管理テーブル24内のプロトコル種別IDを認識し,パケット転送のルーティング順序を決定するようにDMAコントローラ部3Aに指示を出す。この場合,転送順序はルーティングテーブル32に基づいて,QoS/優先順位に従い決定される(図8のS2)。なお,このルーティング順序の決定は,DMAコントローラ部3Aは介在せず,CPU部12により決定されても良い。
DMAコントローラ部3Aは,ルーティング順序選択の開始から,CPUバス100の利用状態,処理ブロックの利用状態を監視する(図8のS3)。DMAコントローラ部3Aは,Qosに影響を与えないと判断できる範囲内で(周辺機能部の設定条件パラメータ等により決定される),パケット処理順位を調整する。この際に,バルク化処理を行うべきパケットはバルク化し,その上で,転送順位を調整する(図8のS4)。
次に,転送順位が調整された転送データは,データ転送処理が行われる(図8のS5)。なお,詳細なデータ転送処理のフローを図9に示しており,詳細な説明は後述する。
前に読込んだ転送管理テーブルの転送すべきデータ転送が全て完了していない場合(図8のS6のNo),ステップS3の処理に戻り,残りの転送すべきデータの転送処理を行う。一方,前に読込んだ転送管理テーブル24の転送すべきデータ転送が全て完了した場合(図8のS6のYes),転送管理テーブル24の読込みを行うため,ステップS1の処理に戻る。なお,転送管理テーブル24に該当するデータが無い場合の待機状態等の処理は,図示省略している。また,読込み周期は,所定の単位時間タイマー等のネットワークインタフェース装置2Aの割込み指示で開始されても良い。
図9はデータ転送処理フローを示す図である。
DMAコントローラ部3Aにおいて,データ転送処理が開始されると,ルーティングテーブル32に基づいて,ルーティング処理ブロックを制御する(図9のS11)。
具体的には,DMAコントローラ部3Aは,ルーティングテーブル32の情報に基づき,レイヤ2処理(図9のS12),TOE(TCP/IP Offload Engine)処理(同S13),圧縮処理(同S14)の設定を行い,これらの処理部へ転送データを渡す。圧縮処理が行われない場合,ルーティング先を決定する処理へ移る(図9のS14のNo)。一方,圧縮処理が行われる場合(図9のS14のYes),図10に示す圧縮処理が行われ(図9のS15),圧縮処理終了後,次の処理へ移る。
ルーティングテーブル32に基づき,DMAコントローラ部3Aは,経路T2のルーティング先であると決定した場合(図9のS16のYes),経路T2(T2信号ラインの経路を指す)へ所定のデータを転送する(同S17)。
経路T2を介して,IPsec処理部14へデータが転送され,データの暗号化または,復号化処理が行われる(図9のS18)。さらに,TOE処理を経て(図9のS19),RAM部13Aへ処理データが転送される(同S20)。
DMAコントローラ部3Aは,経路T3のルーティング先であると決定した場合(図9のS21のYes),経路T3へ所定のデータを転送する(同S22)。そして,経路T3を介し,USB−IF部16へデータが転送される(図9のS23)。DMAコントローラ部3Aは,経路T4のルーティング先であると決定した場合(図9のS24のYes),経路T4へ所定のデータを転送し(同S25),経路T4を介し,ログ処理部15へデータが転送される(同S26)。さらに,ログ処理部15により,ログ処理されたデータは,USB−IF部16へ転送される(図9のS23)。
同様に,DMAコントローラ部3Aは,経路T7のルーティング先であるか決定した場合(図9のS27のYes),経路T7へ所定のデータを転送し(同S28),経路T7を介し,シリアルIF部17へデータが転送される(同S29)。
以上の経路以外(図9のS27のNo)のCPUバス100経由(BU5,BU6,BU8,BU9)では,ルーティング先のRAM部13Aへデータ転送が行われる(図9のS30)。
図10は圧縮処理フローを示す図である。以下に,図10の処理フローを,図6の圧縮処理部の構成に基づいて説明を行う。
圧縮処理部35Aにおいて,ルーティングテーブル32のComp許可情報に基づき,圧縮管理部351が圧縮対象の判断を行う(図10のS41)。非圧縮対象である場合(図10のS41のNo),DataInから入力されたデータは,圧縮処理されず,転送制御部356からDataOutとして出力され,圧縮処理の次の処理へ移行する。
圧縮対象である場合(図10のS41のYes),ルーティングテーブル情報に基づき,圧縮レイヤが圧縮管理部351により圧縮制御部352に指示される(同S42)。
対象データの全圧縮の場合(図10のS43のYes),圧縮制御部352は,ワークメモリ353から圧縮前の対象データを取出す(同S44)。
次に,圧縮制御部352は,取出したデータを設定された圧縮アルゴリズムに基づき,全圧縮を行う(図10のS45)。圧縮処理後,圧縮制御部352は,圧縮データのIndex情報を生成し,生成したIndex情報を圧縮データに付加する(ステップS46)。なお,データの圧縮とIndex情報付加は,前述の図7の説明に示すような内容で行われる。
圧縮制御部352は,Index情報が付加された圧縮データをワークメモリ353へ保存する(図10のS47)。一方,全圧縮が指定されておらず(図10のS43のNo),部分圧縮の指示がある場合(同S48のYes),対象データをワークメモリ353から取出す(同S49)。そして,取出したデータの一部について,部分圧縮処理部354は,部分圧縮を実行し(図10のS50),ワークメモリ353へ保存する(同S51)。
なお,全圧縮および部分圧縮のそれぞれの場合において,圧縮制御部352と部分圧縮処理部354は,圧縮前および圧縮後データを比較し,圧縮率を算出し,圧縮判定部355にその効果通知を行う。
圧縮判定部355は,圧縮制御部352,または,部分圧縮処理部354から圧縮率等の効果通知を受け,圧縮の有効性を判定し(図10のS52),効果ありと判定された場合,その圧縮が全圧縮処理か,部分圧縮処理かにより,次の処理を選択する(同S53)。
部分圧縮処理の圧縮効果が有効と判断した場合(図10のS53のYes),圧縮判定部355は圧縮制御部352に対し,全圧縮の指示を通知し,指示を受けた圧縮制御部352が全圧縮処理を実行する(S44以降の処理となる)。全圧縮処理の圧縮効果が有効と判断した場合(図10のS53のNo),圧縮判定部355はワークメモリ353から圧縮データを取出し(同S54),取出したデータを転送制御部356へ送出する。
圧縮効果なしと判定した場合,圧縮判定部355は,ワークメモリ353から圧縮前データを取出し,転送制御部356へ取出したデータを送出する(図10のS55)。
以上の処理後,転送制御部356から圧縮処理後の圧縮データ,または非圧縮データが送出され,圧縮処理は終了する。
ここまでの説明は,圧縮処理についての説明であるが,圧縮伸長処理部35(図3に示す)には,圧縮伸長されたデータを伸長し,圧縮前のデータに変換する機能部を有している(図示省略)。なお,伸長処理は,圧縮処理された転送データを圧縮方式のアルゴリズムに対応する伸長方式のアルゴリズムで伸長する(「解凍する」という場合もある)ものであり,ここでは,伸長処理についての詳細な構成や処理フローの説明は省略する。
図11はIPデータ処理装置の具体的な使用例を示す図である。図11において,携帯電話6は,データ処理装置1A,ネットワークインタフェース部2A,RF(Radio Frequecy)部7,操作・表示部8,APL(Application)9,アンテナ10を備えている。データ処理処置1Aとネットワークインタフェース部2A間には,外部バス300が接続されている。
データ処理装置1Aおよびネットワークインタフェース部2Aに関する機能は,図3に示されたものと同機能であり,ここでは説明は省略する。
RF部7はアンテナ10から送受信する電波により,携帯電話網の無線基地局との通信を行い,DLパケットおよびULパケットの送受信を行う。
操作・表示部8は,携帯電話6の利用者がキー等の操作を行い,また,表示確認等を行うためのヒューマンマシンインタフェース部である。
APL9は,パケット通信を介して送受信されるデータの各種プロトコルに基づき,実現されるアプリケーションである。例えば,Webサイトアクセスや,画像ストリーミングサービス等である。携帯電話6は,携帯電話網経由で,様々なサービスを受けることが可能である。
データ処理装置1Aは,送受信されたパケットからプロトコル種別IDを認識または割付を行う。そして,本データ処理装置1Aによれば,前述に説明したようなIPデータのルーティング処理を携帯電話6において,実現することが可能となる。
これにより,高速パケット通信におけるインターネットアクセス,音声データ,動画データ等の様々なサービスによるデータ処理負荷が増加に対し,CPUのデータ転送時の割込み回数の低減や,レイヤ構成の終端処理等に負荷低減を実現することができる。
また,CPUを非介在とする処理を増やすことにより,CPUの消費電力を抑え,高速化処理に伴う電力消費増加を低減することができる。
(付記1) ネットワークに接続するネットワークインタフェース装置と相互にデータ転送を行うデータ処理装置を備えたIPデータ処理装置であって,前記データ処理装置は,前記ネットワークインタフェース装置に接続する外部バスと内部バスとの調停を行ってバス間のデータ転送を制御するバス制御手段と,前記内部バスに接続されると共に内部の各部とデータ転送の処理を行うデータ転送処理部と,前記外部バスを介した前記ネットワークインタフェース装置内の転送管理情報にアクセスして前記データ転送処理部に制御指示をするCPU部と,内部バス経由で接続されるメモリ部と,前記データ転送処理部に複数のプロトコルに対応する処理を行う各部とのインタフェース手段を接続し,前記データ転送処理部は,前記ネットワークインタフェース装置との間で送受信するパケットに関するプロトコル等のコンテキスト情報を管理するコンテキスト情報管理部と,前記コンテキスト情報から作成されるパケットのプロトコル種別IDを認識するためのプロトコル種別IDテーブルと,前記プロトコル種別IDに対応したルーティング情報を格納するルーティングテーブルとを備え,前記CPU部はパケットを前記プロトコル種別IDテーブルと前記ルーティングテーブルに基づいて,プロトコル種別,またはサービス毎に,前記内部バスに転送するか,前記インタフェース手段へ転送するかのルーティングを決定することを特徴とするIPデータ処理装置。
(付記2) 付記1において,前記プロトコル種別IDに対応したルーティングテーブルには,ルーティング処理制御情報として,サービスに対応したサービス品質の優先度と,複数パケットのバルク化を許可するか否か,圧縮を許可するか否かの情報が設定され,前記CPU部は,前記ルーティングテーブルによる,サービス品質の優先度に応じて転送順序が制御され,バルク化の許可・不許可及び圧縮の許可・不許可の設定に対応して,ルーティング先として内部バスを経由したメモリ部または内部バスを経由しない前記各インタフェース手段への経路を選択することを特徴とするIPデータ処理装置。
(付記3) 付記2において,前記データ転送処理部に圧縮処理手段を備え,前記圧縮処理手段は,処理する前のデータを非圧縮データとして保持すると共に,前記ルーティングテーブルの圧縮許可情報を受け取ると指定された方式により対象データについて部分圧縮を行い圧縮率の効果を出力する部分圧縮処理部と,前記圧縮率の効果を判定し,圧縮効果を判定して効果があると対象データの全圧縮の指示を発生し効果がないと非圧縮の指示を発生する圧縮判定部と,全圧縮の指示を受けて対象データの全圧縮を行う圧縮制御部と,を備えることを特徴とするIPデータ処理装置。
(付記4) 付記1において,前記データ転送処理部は,前記ルーティング先へのデータ転送の前に同一のプロトコル種別IDの複数のパケットをバルク化する場合,ルーティング処理の処理時間,内部バス占有の割合と他の転送経路のプロトコル種別IDのパケットの転送時間を判断し,バルク化サイズを可変にすると共に転送順序を変更する制御を行うことを特徴とするIPデータ処理装置。
(付記5) 付記4において,前記データ転送処理手段は,バルク単位での転送処理の際,データ圧縮を同時に実施することを特徴とするIPデータ処理装置。
(付記6) 付記1において,前記データ転送処理部は,データ圧縮伸長処理手段を備え,受信転送データの中に圧縮情報を有する圧縮データを検出すると,所定のアルゴリズムで伸長し,伸長されたデータをパケットとして前記データ転送処理部からネットワークインタフェース装置を介して対向装置へ送出することを特徴とするIPデータ処理装置。
(付記7) 付記6において,前記データ転送処理部は,データ圧縮またはデータ伸長部分をレイヤ構造の何番目かのレイヤを対象とするかを判断し,対象と判断したレイヤを選択レイヤとして,該選択レイヤからのペイロード部分を圧縮または伸張することを特徴とするIPデータ処理装置。
(付記8) 付記7において,データ転送前のデータの圧縮の有無,圧縮方式,圧縮レイヤの複数の圧縮状態の情報を含むインデックス情報を圧縮データに付与し,該付与したデータを転送データとして転送し,また,転送データを受取った場合,該転送データからインデックス情報を読取り,該読取った情報に基づいて圧縮の有無,圧縮方式,圧縮レイヤを判断し,圧縮されたデータを伸長することを特徴とするIPデータ処理装置。
本発明に係るIPデータ処理装置の基本構成を示す図である。 IPデータ処理装置のプロトコル種別ID認識・割付の動作概要を示す図である。 IPデータ処理装置の実施例の構成を示す図である。 ルーティングテーブルの詳細内容を示す図である。 データ転送時におけるバルク転送処理の動作概要を示す図である。 圧縮処理部の詳細な構成を示す図である。 圧縮前後のデータ比較による圧縮処理概要の図である。 ルーティング処理フローを示す図である。 データ転送処理フローを示す図である。 圧縮処理フローを示す図である。 IPデータ処理装置の具体的な使用例を示す図である。
符号の説明
1 データ処理装置
2 ネットワークインタフェース装置
3 データ転送処理部
11,21 バス制御部
12 CPU部
13,22 メモリ部
23 送受信部
24 転送管理テーブル
30 コンテキスト情報管理部
31 プロトコル種別IDテーブル
32 ルーティングテーブル
33 データ処理部
34 バルク化処理部
35 圧縮伸長処理部
100,200 内部バス
300 外部バス
101 IF部
102 専用ライン

Claims (4)

  1. ネットワークに接続するネットワークインタフェース装置と相互にデータ転送を行うデータ処理装置を備えたIPデータ処理装置であって,
    前記データ処理装置は,前記ネットワークインタフェース装置に接続する外部バスと内部バスとの調停を行ってバス間のデータ転送を制御するバス制御手段と,
    前記内部バスに接続されると共に内部の各部とデータ転送の処理を行うデータ転送処理部と,前記外部バスを介した前記ネットワークインタフェース装置内の転送管理情報にアクセスして前記データ転送処理部に制御指示をするCPU部と,内部バス経由で接続されるメモリ部と,
    前記データ転送処理部に複数のプロトコルに対応する処理を行う各部とのインタフェース手段を接続し,
    前記データ転送処理部は,前記ネットワークインタフェース装置との間で送受信するパケットに関するプロトコル等のコンテキスト情報を管理するコンテキスト情報管理部と,前記コンテキスト情報から作成されるパケットのプロトコル種別IDを認識するためのプロトコル種別IDテーブルと,前記プロトコル種別IDに対応したルーティング情報を格納するルーティングテーブルとを備え,
    前記CPU部はパケットを前記プロトコル種別IDテーブルと前記ルーティングテーブルに基づいて,プロトコル種別,またはサービス毎に,前記内部バスに転送するか,前記インタフェース手段へ転送するかのルーティングを決定することを特徴とするIPデータ処理装置。
  2. 請求項1において,
    前記プロトコル種別IDに対応したルーティングテーブルには,ルーティング処理制御情報として,サービスに対応したサービス品質の優先度と,複数パケットのバルク化を許可するか否か,圧縮を許可するか否かの情報が設定され,
    前記CPU部は,前記ルーティングテーブルによる,サービス品質の優先度に応じて転送順序が制御され,バルク化の許可・不許可及び圧縮の許可・不許可の設定に対応して,ルーティング先として内部バスを経由したメモリ部または内部バスを経由しない前記各インタフェース手段への経路を選択することを特徴とするIPデータ処理装置。
  3. 請求項2において,
    前記データ転送処理部に圧縮処理手段を備え,
    前記圧縮処理手段は,処理する前のデータを非圧縮データとして保持すると共に,前記ルーティングテーブルの圧縮許可情報を受け取ると指定された方式により対象データについて部分圧縮を行い圧縮率の効果を出力する部分圧縮処理部と,前記圧縮率の効果を判定し,圧縮効果を判定して効果があると対象データの全圧縮の指示を発生し効果がないと非圧縮の指示を発生する圧縮判定部と,全圧縮の指示を受けて対象データの全圧縮を行う圧縮制御部と,
    を備えることを特徴とするIPデータ処理装置。
  4. 請求項1において,
    前記データ転送処理部は,前記ルーティング先へのデータ転送の前に同一のプロトコル種別IDの複数のパケットをバルク化する場合,ルーティング処理の処理時間,内部バス占有の割合と他の転送経路のプロトコル種別IDのパケットの転送時間を判断し,バルク化サイズを可変にすると共に転送順序を変更する制御を行うことを特徴とするIPデータ処理装置。
JP2008121923A 2008-05-08 2008-05-08 Ipデータ処理装置 Withdrawn JP2009272912A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008121923A JP2009272912A (ja) 2008-05-08 2008-05-08 Ipデータ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008121923A JP2009272912A (ja) 2008-05-08 2008-05-08 Ipデータ処理装置

Publications (1)

Publication Number Publication Date
JP2009272912A true JP2009272912A (ja) 2009-11-19

Family

ID=41439061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008121923A Withdrawn JP2009272912A (ja) 2008-05-08 2008-05-08 Ipデータ処理装置

Country Status (1)

Country Link
JP (1) JP2009272912A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011181987A (ja) * 2010-02-26 2011-09-15 Nec Access Technica Ltd パケット中継装置及びパケット中継方法
JP2014517588A (ja) * 2011-05-02 2014-07-17 アップル インコーポレイテッド ネットワークトンネルを通してデータを転送するための方法および装置
JP2015109544A (ja) * 2013-12-04 2015-06-11 株式会社日立製作所 無線通信システム
JP2016005282A (ja) * 2014-06-19 2016-01-12 エックスプライアント, インコーポレイテッド パケットの固有の識別子を用いて、パケットの構造を特定する方法およびその装置
US10397113B2 (en) 2014-06-19 2019-08-27 Cavium, Llc Method of identifying internal destinations of network packets and an apparatus thereof
US10560399B2 (en) 2014-06-19 2020-02-11 Cavium, Llc Method of dynamically renumbering ports and an apparatus thereof
US10616380B2 (en) 2014-06-19 2020-04-07 Cavium, Llc Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof
US10785169B2 (en) 2013-12-30 2020-09-22 Marvell Asia Pte, Ltd. Protocol independent programmable switch (PIPS) for software defined data center networks
US11050859B2 (en) 2014-06-19 2021-06-29 Marvell Asia Pte, Ltd. Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011181987A (ja) * 2010-02-26 2011-09-15 Nec Access Technica Ltd パケット中継装置及びパケット中継方法
JP2014517588A (ja) * 2011-05-02 2014-07-17 アップル インコーポレイテッド ネットワークトンネルを通してデータを転送するための方法および装置
JP2015109544A (ja) * 2013-12-04 2015-06-11 株式会社日立製作所 無線通信システム
US10785169B2 (en) 2013-12-30 2020-09-22 Marvell Asia Pte, Ltd. Protocol independent programmable switch (PIPS) for software defined data center networks
US11824796B2 (en) 2013-12-30 2023-11-21 Marvell Asia Pte, Ltd. Protocol independent programmable switch (PIPS) for software defined data center networks
JP2016005282A (ja) * 2014-06-19 2016-01-12 エックスプライアント, インコーポレイテッド パケットの固有の識別子を用いて、パケットの構造を特定する方法およびその装置
US10397113B2 (en) 2014-06-19 2019-08-27 Cavium, Llc Method of identifying internal destinations of network packets and an apparatus thereof
US10560399B2 (en) 2014-06-19 2020-02-11 Cavium, Llc Method of dynamically renumbering ports and an apparatus thereof
US10616380B2 (en) 2014-06-19 2020-04-07 Cavium, Llc Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof
US11050859B2 (en) 2014-06-19 2021-06-29 Marvell Asia Pte, Ltd. Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof
US11799989B2 (en) 2014-06-19 2023-10-24 Marvell Asia Pte, Ltd. Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof

Similar Documents

Publication Publication Date Title
JP2009272912A (ja) Ipデータ処理装置
US7526303B2 (en) Method and apparatus to manage power in a communication system
US20090094353A1 (en) Information processing apparatus and information processing system
JP5696724B2 (ja) 中継装置,中継システム,中継方法,プログラム,及びプログラムを記録したコンピュータ読み取り可能な記録媒体
US7356034B2 (en) Terminal device, method for processing communication data inside the terminal device, and program for implementing the method
US20030021263A1 (en) Packet data processing apparatus and method of wideband wireless local loop (W-WLL) system
JP4312633B2 (ja) 送信方法および送信装置
JP2005073261A (ja) 移動通信端末機のパケットサービス性能の向上方法
KR102381036B1 (ko) 무선 통신 시스템에서 데이터 패킷을 처리하기 위한 장치 및 방법
US8862748B2 (en) Method and system for optimizing power consumption and reducing MIPS requirements for wireless communication
WO2021129821A1 (zh) 数据传输方法、装置、存储介质及终端设备
WO2004064333A1 (ja) 通信装置、ネットワークシステム、通信管理方法、要求信号、応答信号、プログラム、および、プログラムを記録した記録媒体
JP4437013B2 (ja) Ip−pbxシステム及びip端末制御用プログラム
CN108780433A (zh) 用于ma usb协议的增强服务质量机制
JP2003223410A (ja) コンピュータ装置およびシステム構成方法
US7701968B2 (en) Device and method thereof for transmitting a MAC service data unit in a network system
WO2020221202A1 (zh) 一种数据处理方法、通信装置和系统
JP3735755B2 (ja) パケット通信装置
CN113672532A (zh) 一种usb设备控制装置及数据传输装置
JP2005244366A (ja) ゲートウェイ装置及び移動端末機とlan間接続方法
JP4636864B2 (ja) 中継機器
JP7079446B2 (ja) 通信システム、および、制御方法
US8369237B2 (en) Apparatus and method for transmitting/receiving packet in dual modem mobile communication terminal
JP2018170680A (ja) 通信装置及び送信制御方法
US20230179545A1 (en) Packet forwarding apparatus with buffer recycling and associated packet forwarding method

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110802