(57)【要約】【課題】本発明はＩＰデータ処理装置に関し，ＩＰパケットのプロトコル種別毎にデータ処理をルーティングするＩＰデータ処理装置を提供することを目的とする。【解決手段】ネットワークインタフェース装置と接続するデータ処理装置は，外部バスと内部バス間のバス制御手段と，内部の各部とデータ転送を行うデータ転送処理手段を備え，データ転送処理手段は，ネットワークインタフェース装置とやり取りするパケットデータのコンテキスト情報を管理するコンテキスト情報管理手段と，複数のプロトコル種別をプロトコル種別ＩＤとして認識するプロトコル種別ＩＤ認識手段と，該パケットデータのプロトコル種別ＩＤ毎にルーティング情報を格納したルーティングテーブルとを備え，プロトコル種別とルーティングテーブルに基づいて対応するプロトコル種別，もしくはサービス毎に内部バスか，インタフェース手段のいずれの転送経路にするかを決定する。【選択図】図１
2009272912.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続するネットワークインタフェース装置と相互にデータ転送を行うデータ処理装置を備えたＩＰデータ処理装置であって，
前記データ処理装置は，前記ネットワークインタフェース装置に接続する外部バスと内部バスとの調停を行ってバス間のデータ転送を制御するバス制御手段と，
前記内部バスに接続されると共に内部の各部とデータ転送の処理を行うデータ転送処理部と，前記外部バスを介した前記ネットワークインタフェース装置内の転送管理情報にアクセスして前記データ転送処理部に制御指示をするＣＰＵ部と，内部バス経由で接続されるメモリ部と，
前記データ転送処理部に複数のプロトコルに対応する処理を行う各部とのインタフェース手段を接続し，
前記データ転送処理部は，前記ネットワークインタフェース装置との間で送受信するパケットに関するプロトコル等のコンテキスト情報を管理するコンテキスト情報管理部と，前記コンテキスト情報から作成されるパケットのプロトコル種別ＩＤを認識するためのプロトコル種別ＩＤテーブルと，前記プロトコル種別ＩＤに対応したルーティング情報を格納するルーティングテーブルとを備え，
前記ＣＰＵ部はパケットを前記プロトコル種別ＩＤテーブルと前記ルーティングテーブルに基づいて，プロトコル種別，またはサービス毎に，前記内部バスに転送するか，前記インタフェース手段へ転送するかのルーティングを決定することを特徴とするＩＰデータ処理装置。
【請求項２】
請求項１において，
前記プロトコル種別ＩＤに対応したルーティングテーブルには，ルーティング処理制御情報として，サービスに対応したサービス品質の優先度と，複数パケットのバルク化を許可するか否か，圧縮を許可するか否かの情報が設定され，
前記ＣＰＵ部は，前記ルーティングテーブルによる，サービス品質の優先度に応じて転送順序が制御され，バルク化の許可・不許可及び圧縮の許可・不許可の設定に対応して，ルーティング先として内部バスを経由したメモリ部または内部バスを経由しない前記各インタフェース手段への経路を選択することを特徴とするＩＰデータ処理装置。
【請求項３】
請求項２において，
前記データ転送処理部に圧縮処理手段を備え，
前記圧縮処理手段は，処理する前のデータを非圧縮データとして保持すると共に，前記ルーティングテーブルの圧縮許可情報を受け取ると指定された方式により対象データについて部分圧縮を行い圧縮率の効果を出力する部分圧縮処理部と，前記圧縮率の効果を判定し，圧縮効果を判定して効果があると対象データの全圧縮の指示を発生し効果がないと非圧縮の指示を発生する圧縮判定部と，全圧縮の指示を受けて対象データの全圧縮を行う圧縮制御部と，
を備えることを特徴とするＩＰデータ処理装置。
【請求項４】
請求項１において，
前記データ転送処理部は，前記ルーティング先へのデータ転送の前に同一のプロトコル種別ＩＤの複数のパケットをバルク化する場合，ルーティング処理の処理時間，内部バス占有の割合と他の転送経路のプロトコル種別ＩＤのパケットの転送時間を判断し，バルク化サイズを可変にすると共に転送順序を変更する制御を行うことを特徴とするＩＰデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ＩＰデータ処理装置に関し，特に，ＩＰパケットのプロトコル種別毎にデータ処理をルーティングするＩＰデータ処理装置に関する。
【背景技術】
【０００２】
携帯通信端末等の高速化が要求されるＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケットのＩＰデータ処理装置においては，処理データの増加に伴い，ソフト処理負荷，ＣＰＵバス占有率の増加が処理速度向上を阻害する要因となっている。そのため，データ処理装置のシステム負荷および処理レイテンシを低減させる技術が不可欠となる。
【０００３】
また，携帯端末等の消費電力の低減の要望もあり，通信の高速化やソフト処理負荷の増加に伴う端末の消費電力の増加を抑えるための技術も必要とされている。
【０００４】
高速化が要求されるＩＰデータ処理装置において，従来，ＩＰパケット処理を行う際，受信パケットの正常性の検査や，送信パケットのＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）のチェックサム生成・付与の処理は，主にソフトウェアにより逐次処理していた。
【０００５】
なお，通信制御装置において，ＩＰパケットのペイロードの分解・結合，ヘッダ生成等をハードウェア処理として実現し，ハードウェアによる並列処理により，高速に送信データを出力することが知られている（特許文献１参照）。
【０００６】
また，ＵＳＢデバイスを用いたデータ転送制御装置において，ＵＳＢデバイスをＩＰパケットデータのやり取り可能なＬＡＮノードとして動作させることができ，ＵＳＢデバイスを用いた簡易な構成でネットワークが構築できることが知られている（特許文献２参照）。
【特許文献１】特開２００６−８１０３３号公報
【特許文献２】特開２００４−３６２４２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来のＩＰデータ処理装置のソフトウェアによる処理においては，以下に示すような問題が生じていた。
【０００８】
（ａ）高速化パケット通信において，インターネットアクセス，音声データ，動画データ等の様々なサービスにより，携帯端末（例えば，携帯電話）のデータ処理負荷が増大している。その主な要因は，携帯端末に備えられたＣＰＵに対して，データ転送時の割り込み回数の増加や，レイヤ構成の終端処理等に負荷が増大していることによるものである。
【０００９】
（ｂ）さらに，携帯端末のＣＰＵは，通信のプロトコル処理をソフトウェアにより先に処理する必要があり，ＣＰＵに対するデータ転送が複数回発生すると，バス使用率の増加につながる。また，プロトコル処理により，ＣＰＵに対する割込みが多発する。例えば，およそ８千回／秒程度（通信速度５０Ｍｂｐｓ÷１５００（バイト／パケット／秒）×割込み２（回／パケット）の場合）の割り込み処理が発生する。
【００１０】
その結果，ＣＰＵバスの占有率が高い場合，競合による待ち合わせが発生し，Ｑｏｓ（サービス品質：Quolity Of Service) を保証できない場合が発生することがある。このため，ＣＰＵバスの占有率を改善することが課題となっている。
【００１１】
（ｃ）ＣＰＵデータ処理増加に伴う消費電力の増加は，二次的な問題として，携帯端末の連続動作時間が短くなり，利用者の充電が頻繁になる問題や，バッテリー容量を増加する必要がある等の問題が生じる。
【００１２】
上記特許文献１の技術によれば，ＩＰパケットのデータを結合するのみのハードウェア処理であり，ＩＰパケットのデータのプロトコル種別毎のデータ転送ルーティングや，バスの利用効率を向上するものではない。
【００１３】
また，上記特許文献２によれば，データ転送制御装置において，ＵＳＢデバイスを用いてＬＡＮノードとして動作させることを目的としており，ＣＰＵのデータ処理の負荷を低減し，通信データ高速化の対応に伴うＣＰＵの消費電力の増加を抑えるものではない。
【００１４】
本発明は，ＩＰパケットの処理内容毎に，データ処理装置内のデータルーティングを最適化し，ＣＰＵのデータ処理の負荷を低減し，通信データ高速化の対応に伴うＣＰＵの消費電力の増加を抑え，データ処理装置の消費電力を低減できるＩＰデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
このＩＰデータ処理装置は，ネットワークインタフェースと相互にデータ転送を行うデータ処理装置を備え，データ処理装置は，ネットワークインタフェース装置に接続する外部バスと内部バスとの調停を行ってバス間のデータ転送を制御するバス制御手段と，内部バスに接続されると共に内部の各部とデータ転送の処理を行うデータ転送処理部と，外部バスを介したネットワークインタフェース装置内の転送管理情報にアクセスしてデータ転送処理部に制御指示をするＣＰＵ部と，内部バス経由で接続されるメモリ部とを備える。データ転送処理部に複数のプロトコルに対応する処理を行う各部とのインタフェース手段を接続し，前記データ転送処理部は，ネットワークインタフェース装置との間で送受信するパケットに関するプロトコル等のコンテキスト情報を管理するコンテキスト情報管理部と，コンテキスト情報から作成されるパケットのプロトコル種別ＩＤを認識するためのプロトコル種別ＩＤテーブルと，プロトコル種別ＩＤに対応したルーティング情報を格納するルーティングテーブルとを備える。ＣＰＵ部はパケットをプロトコル種別ＩＤテーブルとルーティングテーブルに基づいて，プロトコル種別，またはサービス毎に，内部バスに転送するか，インタフェース手段へ転送するかのルーティングを決定するよう構成するものである。
【００１６】
また，好適には，プロトコル種別ＩＤに対応したルーティングテーブルに，ルーティング処理制御情報として，サービスに対応したサービス品質の優先度と，複数パケットのバルク化を許可するか否か，圧縮を許可するか否かの情報が設定され，ＣＰＵ部は，ルーティングテーブルによる，サービス品質の優先度に応じて転送順序が制御され，バルク化の許可・不許可及び圧縮の許可・不許可の設定に対応して，ルーティング先として内部バスを経由したメモリ部または内部バスを経由しない各インタフェース手段への経路を選択するよう構成することができる。
【００１７】
更に，データ転送処理部に圧縮処理手段を備え，該圧縮処理手段は，処理する前のデータを非圧縮データとして保持すると共に，ルーティングテーブルの圧縮許可情報を受け取ると指定された方式により対象データについて部分圧縮を行い圧縮率の効果を出力する部分圧縮処理部と，圧縮率の効果を判定し，効果があると対象データの全圧縮の指示を発生し効果がないと非圧縮の指示を発生する圧縮判定部と，全圧縮の指示を受けて対象データの全圧縮を行う圧縮制御部とを備えるよう構成することができる。
【００１８】
また，データ転送処理部は，ルーティング先へのデータ転送の前に同一のプロトコル種別ＩＤの複数のパケットをバルク化する場合，ルーティング処理の処理時間，内部バス占有の割合と他の転送経路のプロトコル種別ＩＤのパケットの転送時間を判断し，バルク化サイズを可変にすると共に転送順序を変更する制御を行うよう構成することができる。
【発明の効果】
【００１９】
本ＩＰデータ処理装置により，ＩＰパケットのデータのプロトコル種別毎のデータ転送ルーティング処理をハードウェアで実現できるため，ＣＰＵに対して，データ転送時の割り込み回数の増加や，レイヤ構成の終端処理等の負荷を低減することができる。
【００２０】
また，その結果，ＣＰＵバスの占有率を改善することができ，バス利用率向上につながるため，競合による待ち合わせ発生によるＱｏｓを保証できない事態を低減することができる。
【００２１】
さらに，ソフトウェアによるＣＰＵ介在の処理を低減することにより，高速パケット通信化に伴うＣＰＵのデータ処理負荷に起因するＣＰＵ消費電力の増加を抑制することができる。
【発明を実施するための最良の形態】
【００２２】
図１は本発明に係るＩＰデータ処理装置の基本構成を示す。図中，１はデータ処理装置，１１，１２はＣＰＵ部，１３，２はネットワークインタフェース装置，２１はバス制御部，２２はメモリ部，２３は送受信部，２４は転送管理テーブル，３はデータ転送処理部，３０はコンテキスト情報管理部，３１はプロトコル種別ＩＤテーブル，３２はルーティングテーブル，３３はデータ処理部，３４はバルク化処理部，３５は圧縮伸長処理部，１００，２００は内部バス，３００は外部バス，１０１はＩＦ部，１０２は専用ラインである。
【００２３】
図１において，データ処理装置１には，ネットワークインタフェース装置２がバス３００を介して接続されている。ネットワークインタフェース装置２は，外部の対向装置（図示省略）とネットワークを介して接続され，ＤＬパケット（Ｄｏｗｎ  Ｌｉｎｋ  Ｐａｃｋｅｔ）および，ＵＬパケット（Ｕｐ  Ｌｉｎｋ  Ｐａｃｋｅｔ）のやり取りを行う。
【００２４】
本発明に係るＩＰデータ処理装置の対象となる装置はデータ処理装置１であるが，はじめにネットワーク側とのやり取りを行うネットワークインタフェース装置２の基本構成について説明する。
【００２５】
ネットワークインタフェース装置２は，バス制御部２１，メモリ部２２，送受信部２３，転送管理テーブル２４，内部バス２００を備えている。さらに，転送管理テーブル２４には，プロトコル種別ＩＤ２４０とデータ格納先アドレス情報２４１が格納されている。
【００２６】
バス制御部２１は，ネットワークインタフェース装置２の内部バス２００と，外部バス３００間のバス上のデータ転送を制御し，データ処理装置１との装置間のデータ転送を行う。メモリ部２２は，内部バス２００からアクセス可能なアドレスにマッピングされており，メモリ部２２上に，ＤＬパケットおよびＵＬパケットのデータ，装置２内のデータ等が一時記憶されるメモリである。
【００２７】
送受信部２３は，外部の対向装置（図示省略）と物理ＩＦ（Ｉｎｔｅｒｆａｃｅ）を介して，ＤＬパケットを受信し，ＵＬパケットを送信する。なお，物理ＩＦは，有線通信の場合はメタル通信線や光ファイバ等であり，無線通信の場合は空間伝播である。
【００２８】
転送管理テーブル２４は，データ処理装置１へ転送すべきデータのプロトコル種別ＩＤ２４０，データ格納先であるメモリ部２２のデータ格納先アドレス情報２４１等の転送データに関する情報が格納され，更新されるテーブルである。
【００２９】
内部バス２００は，ネットワークインタフェース装置２内のバス制御部２１，メモリ部２２，送受信部２３間のアドレス信号，データ信号，制御信号を伝送するための複数の信号線やラインバッファ等を備える。
【００３０】
次に，データ処理装置１内の機能部の説明を行う。データ転送処理部３は，ネットワークインタフェース装置２内のメモリ部２２からパケットデータをルーティングテーブル３２に基づいて，データ処理装置１内のルーティング先へデータ転送する。
【００３１】
バス制御部１１は，データ処理装置１の内部バス１００と，外部バス３００間のバス上のデータ転送を制御し，ネットワークインタフェース装置２との装置間のデータ転送を行う。ＣＰＵ部１２は，内部バス１００に接続された制御用の処理装置（ＣＰＵ）であり，ネットワークインタフェース装置２の転送管理テーブル２４を参照し，データ転送処理部３に転送データの指示を出す。メモリ部１３は，ＣＰＵ部１２のワークメモリとして，また，一部のサービスに対応するデータが一時記憶されるメモリ部である。
【００３２】
内部バス１００は，データ処理装置１内のバス制御部１１，ＣＰＵ部（処理装置）１２，メモリ部１３間のアドレス信号，データ信号，制御信号を伝送するための複数の信号線やラインバッファ等を備える。
【００３３】
インタフェース部１０１（１０１Ａ，１０１Ｂ，１０１Ｃを代表）は，データ転送処理部３の複数のデータ転送先，又はデータ転送元である。例えば，ＵＳＢインタフェース，その他のインタフェースである。なお，以下，単にＩＦ１０１（Ａ，Ｂ，Ｃ）と記す。
【００３４】
専用ライン１０２（１０２Ａ，１０２Ｂ，１０２Ｃを代表）は，各ＩＦ１０１（Ａ，Ｂ，Ｃ）に対応し，接続された信号ラインである。データ転送処理部３が，データ転送する際，専用ライン１０２を介し，ルーティングテーブル３２に基づいて各ＩＦ１０１（Ａ，Ｂ，Ｃ）とのデータ転送を行う。
【００３５】
データ転送処理部３には，コンテキスト情報管理部３０，プロトコル種別ＩＤテーブル３１，ルーティングテーブル３２，データ処理部３３，バルク化処理部３４が備えられている。
【００３６】
コンテキスト情報管理部３０は，ネットワークインタフェース装置２と対向処置間において，コンテキスト情報のやり取りを行い，そのやり取りした内容を保持する。具体的には，コンテキスト情報には，以下のようなパラメータが含まれている。
【００３７】
（ａ）ユーザレベルプロトコル（例えば，ＩＰｖ４，ＩＰｖ６，ＰＰＰ，ＵＤＰ／ＴＣＰ等）
（ｂ）パケットプロトコルアドレス（ＩＰｖ４，ＩＰｖ６アドレス）
（ｃ）ＱｏＳ（サービス品質）プロファイル（要求ＱｏＳ，交渉結果ＱｏＳの属性値）
（ｄ）メディア種別（ビデオ，オーディオ等）
（ｅ）ポート番号（通信相手先の指定情報）
等である。コンテキスト管理情報に従い，プロトコル種別ＩＤが作成される。
【００３８】
プロトコル種別ＩＤテーブル３１は，データ処理装置１とネットワークインタフェース装置２にて共通に利用されるプロトコル種別ＩＤが格納される。データ処理装置１においては，プロトコル種別ＩＤテーブル３１のＩＤ番号に対応するルーティングテーブル３２が用意される。
【００３９】
ルーティングテーブル３２は，ＩＰパケットのルーティング処理において使用する複数のパラメータ情報が格納されている。例えば，プロトコル種別ＩＤ，ＱｏＳ（サービス品質：Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）優先度，データの一括転送許可／不許可を示すバルク処理情報，データの圧縮の許可／不許可を示すＣｏｍｐ（Ｃｏｍｐｒｅｓｓｉｏｎ）情報等である。
【００４０】
データ処理部３３は，ＩＰパケットの圧縮，または転送された圧縮データの伸長処理を行う圧縮伸長処理部３５を備えている。データ処理部３３は，ルーティングテーブル３２に基づいて，ルーティング先の経路，内部バス１００の使用有無，バルク化処理の有無，圧縮処理の有無および処理内容等を決定し，データの転送処理を行う。
【００４１】
バルク化処理部３４は，データのバルク化（同一種別のＩＰパケットを一括転送することを言う）の有無，データを一括転送するバルク数や，転送データの転送ブロック単位における転送順序の入れ替え等の制御処理を行う。
【００４２】
圧縮伸長処理部３５は，転送データの中でデータ種別によっては，圧縮効果が大きく，データ転送処理部３からメモリ部１３もしくは，いずれかのＩＦ１０１（Ａ，Ｂ，Ｃ）へ転送する前に圧縮する。また，データ転送処理部３が受信した転送データの中で所定の圧縮情報を有する圧縮データに対し，圧縮伸長処理部３５は，圧縮データを所定のアルゴリズムで伸長する。その伸長されたデータが，データ転送処理部３からネットワークインタフェース装置２を介して，ＵＬパケットとして送出される。
【００４３】
装置間の外部バス３００は，データ処理装置１のバス制御部１１と，ネットワークインタフェース装置２のバス制御部２１間に接続される信号線である。例えば，装置間でやり取りされるデータは，外部バス３００上でレイヤ２（例えば，ＨＤＬＣ（Ｈｉｇｈ−Ｌｅｖｅｌ  Ｄａｔａ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌ））プロトコルで，データ転送される。
図２はＩＰデータ処理装置のプロトコル種別ＩＤ認識・割付の動作概要を示す。図２（Ａ）は装置間のコンテキスト情報のやり取りの概要を示し，図２（Ｂ）はプロトコル種別ＩＤの割付・認識処理の動作概要を示す。
【００４４】
図２（Ａ）において，ネットワークインタフェース装置２は，対向装置（図示省略）間で，コンテキスト情報（ＤＬ，ＵＬ）のやり取りを行っている。コンテキスト情報には，上記した（ａ）〜（ｅ）の複数のパラメータが含まれている。このコンテキスト情報は，バス３００を介して，ネットワークインタフェース装置２とデータ処理装置１間でやり取りされ，データ処理装置１内のコンテキスト情報管理部３０で管理される。
【００４５】
データ処理装置１は，コンテキスト情報に従い，プロトコル種別ＩＤテーブル３１を作成する。プロトコル種別ＩＤテーブル３１のプロトコル種別ＩＤ情報は，データ処理装置１，およびネットワークインタフェース装置２において共有される（転送管理テーブル２４内のプロトコル種別ＩＤ２４０）。
【００４６】
また，データ処理装置１は，プロトコル種別ＩＤテーブル３１のプロトコル種別ＩＤに対応するルーティングテーブル３２を備える。データ処理装置１内部において，この２つのテーブル（３１，３２）がテーブル連携を行い，プロトコル種別に対応したデータをルーティングテーブル３２に基づいてルーティングを決定することができる。
【００４７】
次に，図２（Ｂ）において，ＩＰパケット処理の動作概要を説明する。ネットワークインタフェース装置２において，受信されたＤＬパケットは，プロトコル種別ＩＤテーブル２４０の内容と比較され，対応するプロトコル種別ＩＤが付与される。
【００４８】
コンテキスト情報は，その対象ベアラ・サービスが終了するまでは保持される。そのため，その間通信されるパケットは，プロトコル種別ＩＤテーブル２４０の内容と比較され，プロトコル種別ＩＤが付与される。なお，プロトコル種別ＩＤテーブル２４０を更新する契機としては，コンテキスト情報に対し，固定的に割付け保持する場合と，ベアラ・サービスの開始から終了までの間のみ保持する（すなわち動的に管理される）場合が存在する。
【００４９】
装置（１，２）間は，レイヤ２プロトコル経路であり，プロトコル種別ＩＤが付与されたＩＰパケットが転送される。データ処理装置１において，ＩＰパケットのプロトコル種別ＩＤを認識し，ルーティングテーブル３２に従い，適切なプロトコル処理対応部へＩＰパケットをルーティングする。
【００５０】
ＵＬパケットとして送信されるパケットは，データ処理装置１内でプロトコル処理に対応する機能部から送出されたデータがパケット化されたものであり，ルーティングテーブル３２に基づいてプロトコル種別ＩＤが付与される（ＩＤ割付）。
【００５１】
ネットワークインタフェース装置２は，このプロトコル種別ＩＤが付与されたＩＰパケットをプロトコル種別ＩＤに基づいて（ＩＤ認識），対向装置へＵＬパケットとして送出する。
【００５２】
図３はＩＰデータ処理装置の実施例の構成を示す。
【００５３】
図３において，データ処理装置１Ａには，ネットワークインタフェース装置２Ａがバス３００を介して接続され，データ処理１Ａとネットワークインタフェース装置２ＡとでＩＰデータ処理装置が構成され，ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）５を介して外部機器４が接続されている。ネットワークインタフェース装置２Ａは，外部の対向装置（図示省略）とネットワークを介して接続され，ＤＬパケットおよび，ＵＬパケットのやり取りを行う。
【００５４】
データ処理装置１Ａは，ＤＭＡコントローラ部３Ａ，バス制御部１１，ＣＰＵ部１２，ＲＡＭ部１３Ａ，ＩＰｓｅｃ処理部１４，ログ処理部１５，ＵＳＢ−ＩＦ部１６，シリアルＩＦ部１７，ＤＳＰ部１８を備えている。
【００５５】
さらに，ＤＭＡコントローラ部３Ａは，プロトコル種別ＩＤテーブル３１，ルーティングテーブル３２，データ処理部３３，バルク化処理部３４，レイヤ２処理部３６，ＴＯＥ（ＴＣＰ／ＩＰ  Ｏｆｆｌｏａｄ  Ｅｎｇｉｎｅ）３７を備えている。また，データ処理部３３は，圧縮伸長処理部３５を備える。
【００５６】
ネットワークインタフェース装置２Ａは，バス制御部２１，ＲＡＭ部２２Ａ，物理ＩＦ部２３Ａ，転送管理テーブル２４，内部バス２００を備えている。さらに，転送管理テーブル２４には，プロトコル種別ＩＤ２４０とデータ格納先アドレス情報２４１が格納されている（図示省略）。
【００５７】
以下に，データ処理装置１Ａとネットワークインタフェース装置２Ａの本実施例の構成について説明する。
【００５８】
ＣＰＵ部１２は，データ処理装置１Ａ内のシステム制御ＣＰＵとして機能し，バス３００経由で，ネットワークインタフェース装置２Ａ内の転送管理テーブル２４を参照し，データの取込みや転送処理をＤＭＡコントローラ部３Ａに指示する。
【００５９】
ＤＭＡコントローラ部３Ａは，ＣＰＵ部１２の指示により，ネットワークインタフェース装置２Ａ内のＲＡＭ部２２ＡからＩＰパケットデータを，ルーティングテーブル３２に基づいてデータ処理装置１Ａ内のルーティング先へ転送する。その際，ルーティングテーブル３２内の情報から後述するレイヤ２処理，ＴＯＥ処理，バルク化処理や圧縮処理の有無等を読取り，各処理の適用すべきデータは処理後，また，適用しないデータはそのままのデータとして，転送順位に従い，ルーティング先へ転送する。ルーティング先として，以下に説明するＩＦ部がある。
【００６０】
ＩＰｓｅｃ処理部１４は，Ｔ２信号ライン（ＤＭＡコントローラ部３Ａと接続）を介して，転送されたデータを処理するルーティング先の１つである。転送されたデータは，ＩＰｓｅｃ（Ｓｅｃｕｒｉｔｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）処理され，処理されたデータは，バス１００を介してＲＡＭ部１３Ａへ転送される。なお，ＩＰｓｅｃとは，ＩＰパケットを暗号化して，データを送受信するためのプロトコルである。
【００６１】
ログ処理部１５は，Ｔ４信号ラインを介して転送されたデータに，ログ用のフラグを付与し，ＵＳＢ−ＩＦ部１６へ転送するルーティング先の１つである。さらに，ログ処理されたデータは，ＵＳＢ５を介して，外部機器４（ＰＣ等）に送られる。
【００６２】
ＵＳＢ−ＩＦ部１６は，ログ処理部１５からのデータの他にも，Ｔ３信号ライン（ＤＭＡコントローラ部３Ａと接続）経由および，Ｔ６信号ライン（ＲＡＭ部１３Ａと接続）経由の転送データを処理する。また，ＵＳＢ−ＩＦ部１６には，Ｔ６信号ラインへ送出するデータを圧縮または，Ｔ６信号ラインから受信するデータを伸長する圧縮伸長部１６１が備えられている。
【００６３】
シリアルＩＦ部１７は，Ｔ７信号ライン（ＤＭＡコントローラ部３Ａと接続）を介して，ＤＳＰ部１８へデータを転送するルーティング先の１つである。そのＤＳＰ部１８は，ＵＤＰ，ＲＴＰプロトコルの音声等のパケットデータを処理するＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）である。
【００６４】
また，各機能部からバス１００経由のデータ転送は，プロトコル種別ＩＤに対応する分類ＢＵ１〜ＢＵ９で示している。ＢＵ１は，転送管理テーブル２４からＣＰＵ部１２へ送出されるか，または，その逆にＣＰＵ部１２から転送管理テーブル２４へ送出されるデータ転送であることを示す。ＢＵ２〜ＢＵ９についても，同様にＲＡＭ部２２ＡからＤＭＡコントローラ部３Ａ間のデータ転送であることを示す。さらに，その中の一部（ＢＵ５および６，ＢＵ８および９）は，バス１００経由でのＤＭＡコントローラ部３ＡからＲＡＭ部１３Ａ間のデータ転送である。
【００６５】
ＤＭＡコントローラ部３Ａの内部機能について，以下に詳細な機能説明を行う。
【００６６】
レイヤ２処理部３６は，装置（１，２）間のレイヤ２フレームの正常性をチェックするために，フレームデータのＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）検査または，ＦＣＳビットを生成し，付加する。
【００６７】
ＴＯＥ３７は，ＴＣＰ／ＩＰ，ＵＤＰヘッダを対象とし，受信処理パケットの正常性をチェックサム検査により判定する。また，送信時は，チェックサムを生成し，付加する。すなわち，ＣＰＵの代わりにＴＣＰ／ＩＰプロトコル処理を行う機能部である。
【００６８】
バルク化処理部３４は，バルク許可されたデータの一括転送の処理（バルク転送処理とも言う）を行う。圧縮伸長処理部３５は，圧縮許可されたデータの圧縮処理および，圧縮された転送データの伸長処理を行う。なお，バルク化処理部３４および，圧縮伸長処理部３５の詳細な機能については，後述において説明する（図５〜７の説明）。
【００６９】
図４はルーティングテーブル３２の詳細内容を示す。
【００７０】
テーブル情報の大項目として，コンテキスト管理情報，プロトコル種別ＩＤ，ルーティング処理制御情報，ルーティング処理ブロック，経路，ルーティング先等の情報に大別される。
【００７１】
コンテキスト管理情報は，ＱｏＳ（サービス品質）プロファイルに従い分類され，ＱｏＳ優先度処理の順位に基づいて処理することができるように分類される。例えば，プロトコル種別ＩＤ＝“０１”（１０進数２桁の数値）がＱｏＳ優先の最も高い優先順位であり，プロトコル種別ＩＤ＝“１０”が最も優先順位が低く割当てられている。プロトコル種別ＩＤは，コンテキスト情報管理部（図示省略）により割当てられた番号である。
【００７２】
図４において，分類（ＢＵ１）〜（ＢＵ９）は，転送データのプロトコル種別ＩＤ毎に分類されている。（ＢＵ１）転送情報データ，（ＢＵ７）会話型ストリーミングデータＶｏＩＰおよび（ＢＵ５）同ＴＶ，（ＢＵ１）システム制御系（システム制御），（ＢＵ８）システム制御系（呼制御），（ＢＵ２，ＢＵ３，ＢＵ６，ＢＵ９）インタラクティブやバックグランド，（ＢＵ４）ログ情報用等である。また，プロトコルとリンクしていない分類の“（ＢＵ１）転送情報”と“（ＢＵ１）システム制御系”は，バス経路は同じであるが，ルーティング先への処理優先度が異なる。そのため，別のプロトコル種別ＩＤとして，優先順位別にＩＤ＝“０１”とＩＤ＝“０４”をそれぞれ割当てている。
【００７３】
ルーティング処理制御情報として，ＱｏＳ優先，バルク許可，Ｃｏｍｐ許可の情報が格納されている。その情報内容は，以下の通りである。
【００７４】
ＱｏＳ優先は，ルーティング先への転送の優先度を示す情報である。ＤＭＡコントローラ部３Ａは，このＱｏＳ優先情報とＣＰＵバスの利用状態，処理ブロックの利用状態を監視し，ＱｏＳに影響を与えないと判断した範囲内で，データ転送処理順位を調整する。
【００７５】
バルク許可は，同一のプロトコル種別ＩＤのデータを優先処理に影響を与えない範囲内で，データのブロック単位をまとめて転送することを許可するか否かの情報である。
【００７６】
Ｃｏｍｐ許可は，圧縮処理を許可するか否かの情報で，許可の場合には，転送データの圧縮を圧縮伸長処理部３５で行う。
【００７７】
ルーティング処理ブロック情報には，ＤＭＡＣ処理（ＤＭＡコントローラ部３Ａの処理）の他，ＩＰｓｅｃ処理，ＴＯＥ処理，シリアルＩＦ処理，ログ処理等の対応／非対応の情報が格納されている。
【００７８】
ＢＵ２，ＢＵ５，ＢＵ６，ＢＵ８およびＢＵ９は，ＤＭＡコントローラ部３Ａを介し，バス１００を経由してＲＡＭ部１３Ａにデータ転送されるルーティングである。以上のデータ転送とＢＵ１のデータ転送においては，主にバス１００を介して行われる。
【００７９】
一方，ＢＵ７〜Ｔ７，ＢＵ３〜Ｔ３，ＢＵ４〜Ｔ４へのルーティング先までの経路は，ＤＭＡコントローラ部３Ａを介し，内部バス１００を使用しないルーティングである。また，ＢＵ２〜Ｔ２，ＢＵ６〜Ｔ６間においても，一部の経路（Ｔ２，Ｔ６）は，内部バス１００を介さずに，専用信号ラインを利用する。以上のデータ転送は，ルーティング処理ブロック間でのデータ受け渡しを主にハードウェアで実現している。
【００８０】
この際，ＣＰＵ部１２に対する割込み通知は，転送データがルーティング先に転送された時点で，ＣＰＵ割込み通知が行われる。また，ＣＰＵ割込み通知タイミングは，転送管理テーブル２４に管理されている全てのデータ転送が完了した時点や，バルク転送が完了した時点との選択可能な構成であっても良い。
【００８１】
以上のように，ルーティングテーブル３２に基づいて，ＣＰＵ部１２に指示されたＤＭＡコントローラ部３Ａは，プロトコル種別ＩＤにより，ＢＵ１〜ＢＵ９の転送先へのルーティングを決定する。このようにハードウェアによるルーティングを利用することにより，ＣＰＵ負荷の軽減，ＣＰＵバス占有率の低減を実現することができる。
【００８２】
図５はデータ転送時におけるバルク転送処理の動作概要を示す。図５において，（ａ）は転送管理テーブル２４の内容を示し，（ｂ）基本バルク転送時および（ｃ）拡張バルク転送時のＤＭＡコントローラ部３Ａ内のディスクリプタ（処理予約とも言う）のパケット単位の設定内容を示している。
【００８３】
ネットワークインタフェース装置２Ａの転送管理テーブル２４には，図５の（ａ）に示すように複数のプロトコルデータの転送要求がランダムに格納される。転送要求の格納される情報は，パケット単位のプロトコル種別ＩＤ，データ転送元のアドレス，データ容量等の情報として，管理される。
【００８４】
図５（ｂ）基本バルク転送方式について，以下に説明する。
【００８５】
データ処理装置１Ａは，転送管理テーブル２４を読込み，プロトコル種別ＩＤテーブル３１とルーティングテーブル３２に基づいて，パケット単位でバルク許可情報をチェックする。そのバルク許可情報が“許可”ならば，同一のプロトコル種別ＩＤのデータをまとめて伝送する。
【００８６】
例えば，“プロトコル種別ＩＤ＝０１”のパケット（以下，単にＩＤ（１）と記す）は，バルク不許可であるため，バルク処理は行われない。ＩＤ（８），ＩＤ（９），ＩＤ（１０）は，バルク許可であるため，バルク処理がそれぞれのＩＤ毎に適用されている。なお，ＩＤ（７）はバルク許可であるが，バルク化処理すべきデータ量に満たない（図中，１パケットである）ため，バルク化処理は行われない。  データの転送順序は，矢印の向きに示すＩＤ（１）からＩＤ（１０）の順に従って，転送される。
【００８７】
図５（ｃ）拡張バルク転送方式について，以下に説明する。
【００８８】
基本バルク転送方式の拡張機能（以下，単に拡張バルク転送方式と言う）は，ＤＭＡコントローラ部３Ａのディスクリプタへの設定情報を以下に示す設定要因に従い制御する。
【００８９】
（要因１）格納アドレス先の容量制限
（要因２）ルーティングテーブル３２に基づいて，ルーティング処理ブロックの処理時間（処理の占有割合）や，ＣＰＵバス１００占有の割合により，他処理経路のパケット処理可能とＤＭＡコントローラ部３Ａが判断した場合
以上の要因に従い，拡張バルク転送方式時には，バルク化するサイズを可変する制御および，転送順位を変更する制御を行う。
【００９０】
図５（ｃ）において，ＩＤ（９）は，圧縮処理後，ＤＭＡコントローラ部３ＡからＢＵ６経由で，ＲＡＭ部１３Ａに転送されるデータ種別である。ＩＤ（１０）は，ＤＭＡコントローラ部３ＡからＴ４経由で，ログ処理部１５に転送されるデータ種別である。
【００９１】
ＩＤ（９）の転送データに対しては，圧縮処理が実行され，その後，ＲＡＭ部１３Ａに転送される。その転送の際，ＣＰＵバス１００を占有する。
【００９２】
ＩＤ（９）の５パケット分の圧縮処理時間を要し，その圧縮処理後，ＩＤ（１０）のパケットのデータが転送される場合，待機時間となってしまう。また，ＩＤ（９）とＩＤ（１０）のルーティング先としても経路が異なるため，ＤＭＡコントローラ部３Ａは，ＩＤ（１０）を先に処理するように転送順序を一部入れ替えるように制御する。
【００９３】
これにより，ＩＤ（９）の２パケット分の処理の間に転送可能なＩＤ（１０）の２パケット分の転送データが，ＩＤ（９）の２パケット分の処理転送後，ＩＤ（９）の残りの３パケット分より先に転送される。
【００９４】
具体的には，図５（ｃ）のＩＤ（９）のデータ（取得アドレス８０００＿００００と８０００＿１０００）の転送順の次に，ＩＤ（１０）のデータ（取得アドレス８０００＿８０００と８０００＿８５００）を繰り上げる。そして，そのＩＤ（１０）の次の転送順に，ＩＤ（９）のデータ（取得アドレス８００１＿６０００他）に繰り下げ，転送データ順の入替えを行う。
【００９５】
図６は圧縮処理部の詳細な構成を示す図である。図６に示す圧縮処理部３５Ａは，図３に示した圧縮伸長部３５の圧縮処理の詳細な構成である。圧縮処理部３５Ａは，圧縮管理部３５１，圧縮制御部３５２，ワークメモリ３５３，部分圧縮処理部３５４，圧縮判定部３５５，転送制御部３５６を備えている。
【００９６】
圧縮処理部３５Ａは，入力データＤａｔａＩｎを，ルーティングテーブル３２のＣｏｍｐ許可情報に基づいて，圧縮処理の有無を最初に判断する。このＣｏｍｐ許可情報が圧縮不許可の場合，圧縮処理はされず，非圧縮データとしてＤａｔａＯｕｔから出力される。一方，Ｃｏｍｐ許可情報が圧縮許可の場合，前述の各部の機能部により圧縮処理が行われ，ＤａｔａＯｕｔからインデックス（Ｉｎｄｅｘ）情報（後述する図７の（Ｂ）に示す）が付与された転送データが出力される。以下に圧縮処理部３５Ａ内の機能部について説明する。
【００９７】
圧縮管理部３５１は，ルーティングテーブル３２のＣｏｍｐ許可情報や，その他設定情報により，圧縮処理部３５Ａ内の設定を管理・指示する。
【００９８】
圧縮制御部３５２は，圧縮管理部３５１により指示されたワークメモリ３５３内の指定されたデータを取出し，所定の幾通りの中から選択した圧縮アルゴリズムに従い，データの圧縮処理を行う。圧縮処理は，ハードウェア処理能力に見合ったアルゴリズムを用いる。また，非圧縮データと比較した圧縮データの圧縮率について，圧縮判定部３５５に対し，圧縮率の効果通知を行う。
【００９９】
また，Ｃｏｍｐ許可情報の圧縮許可データに対し，パケット単位で，圧縮情報が異なる場合，以下の内容を含むインデックス情報を生成して圧縮データに付加する。
【０１００】
インデックス情報：圧縮の有無，圧縮方式，圧縮レイヤの情報
これにより，パケット単位で，圧縮効果が異なる場合においても，インデックス情報により圧縮の有無，圧縮方式，圧縮レイヤを区別できるため，圧縮効果の無いパケット（データ長が増えてしまう場合を含めて効果なしとする）等には，圧縮処理を施さないことが可能となる。
【０１０１】
また，ＣＰＵや，処理ブロック毎に処理に利用するパケットのヘッダ部分が異なるため，圧縮管理部３５１から圧縮レイヤが指示され，指示された処理に利用するヘッダ部分を残し（ヘッダ部分は非圧縮），ペイロード部分のみを圧縮対象とする。
【０１０２】
生成されたインデックス（Ｉｎｄｅｘ）情報は，インデックス情報が付与された圧縮データとして，ワークメモリ３５３に保存される。
【０１０３】
ワークメモリ３５３は，非圧縮データを一時記憶し，また，圧縮後の圧縮データを一時記憶するメモリである。
【０１０４】
部分圧縮処理部３５４は，圧縮管理部３５１により部分圧縮を指示されたワークメモリ３５３内の指定されたデータの一部を取出し，所定の幾通りの中から選択した圧縮アルゴリズムに従い，データの部分圧縮処理を行う。また，非圧縮データと比較した圧縮データの圧縮率について，圧縮判定部３５５に対し，圧縮率の効果通知を行う。簡易的に，短時間に圧縮効果を判断する場合に，部分圧縮処理が利用される。
【０１０５】
その際，圧縮判定部３５５により，部分圧縮効果が有効だと判断された場合，圧縮判定部３５５から圧縮制御部３５２に対し，対象データの全圧縮の圧縮指示が出され，圧縮制御部３５２は，ワークメモリ３５３から対象データを取出し，圧縮を行い，処理後の圧縮データをワークメモリに記憶する。
【０１０６】
圧縮判定部３５５は，プロトコルによっては圧縮効果が不明なデータが存在するため，圧縮制御部３５２等の圧縮率の効果通知により，圧縮の有効性を判断する。有効と判断した場合，圧縮データをワークメモリ３５３から取出し，転送制御部３５６へ転送指示を出す。また，有効でないと判断した場合，非圧縮データをワークメモリ３５３から取出し，転送制御部３５６に転送指示を出す。
【０１０７】
転送制御部３５６は，圧縮判定部３５５を介して非圧縮データ，または，圧縮データを受取り，転送データとしてデータ処理部３３（図３に示す）に送り出す。そして，圧縮データは，データ処理部３３から所定のルーティング先へ転送される。
【０１０８】
図７は圧縮前後のデータ比較による圧縮処理概要の図である。図７（Ａ）は単パケットのデータ圧縮処理概要を示しており，図７（Ｂ）は複数パケットのバルク化処理されたデータ圧縮処理概要を示す。
【０１０９】
なお，以下では，Ｆｌａｇはパケット先頭の位置の場合，開始フラグであり，一方，最後尾の位置の場合（ペイロードの次），終了フラグである。ヘッダ情報は，ＤＬＣＩ（Ｄａｔａ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌ  Ｉｄｅｎｔｉｆｉｅｒ），ｅ．ｔ．ｃ（他のヘッダ内容）を含めた情報を示す。
【０１１０】
図７（Ａ）において，圧縮対象が単パケット（バルク処理なし）で，圧縮レイヤにレイヤ２が指示された場合の圧縮前データＰＡ，圧縮後データＰＢを示す。
【０１１１】
レイヤ２の単パケットの場合，ヘッダ情報，ＩＰヘッダとＦｌａｇ（終了フラグ）は圧縮されず，ＴＣＰ／ＵＤＰの部分（ＴＣＰヘッダ＋ペイロード（上位層））が圧縮対象となる。
【０１１２】
図７（Ｂ）において，圧縮対象がバルク化パケット（複数のパケットがバルク化処理されたものを言う）で，圧縮レイヤにレイヤ２が指示された場合の圧縮前データＰＣ，圧縮後データＰＤを示す。
【０１１３】
圧縮対象とならないのは，レイヤ２先頭パケットのヘッダ情報と，この圧縮データの後に付加されるＦｌａｇ（終了フラグ）である。一方，このヘッダ情報とＦｌａｇ以外の部分が，圧縮対象となる。この圧縮データ（ＤＢ）は，圧縮Ｉｎｄｅｘ（４ｂｙｔｅ情報）＋圧縮対象となった圧縮データＤＣを含んだデータとなっている。
【０１１４】
なお，レイヤ２以降（すなわち，レイヤ３〜）のバルク化パケットの圧縮の場合，各パケットヘッダ部分を残したペイロード部分のみを圧縮対象とする。
【０１１５】
圧縮Ｉｎｄｅｘ情報には，圧縮有無，圧縮レイヤ，ＩＰヘッダの次番号および圧縮アルゴリズム情報（圧縮方式）からなる４バイトの圧縮パラメータが設定されている。
【０１１６】
図８はルーティング処理フローを示す図である。
【０１１７】
図３に示すデータ処理装置１Ａにおいて，ＣＰＵ部１２は，ネットワークインタフェース装置２Ａより転送管理テーブル２４の読込みを行う（図８のＳ１）。この読込み周期は，転送管理テーブル２４に示されたパケットを全て転送した際や，所定の単位時間タイマー等のネットワークインタフェース装置２Ａの割込み指示で開始される。
【０１１８】
ＣＰＵ部１２は，転送管理テーブル２４内のプロトコル種別ＩＤを認識し，パケット転送のルーティング順序を決定するようにＤＭＡコントローラ部３Ａに指示を出す。この場合，転送順序はルーティングテーブル３２に基づいて，ＱｏＳ／優先順位に従い決定される（図８のＳ２）。なお，このルーティング順序の決定は，ＤＭＡコントローラ部３Ａは介在せず，ＣＰＵ部１２により決定されても良い。
【０１１９】
ＤＭＡコントローラ部３Ａは，ルーティング順序選択の開始から，ＣＰＵバス１００の利用状態，処理ブロックの利用状態を監視する（図８のＳ３）。ＤＭＡコントローラ部３Ａは，Ｑｏｓに影響を与えないと判断できる範囲内で（周辺機能部の設定条件パラメータ等により決定される），パケット処理順位を調整する。この際に，バルク化処理を行うべきパケットはバルク化し，その上で，転送順位を調整する（図８のＳ４）。
【０１２０】
次に，転送順位が調整された転送データは，データ転送処理が行われる（図８のＳ５）。なお，詳細なデータ転送処理のフローを図９に示しており，詳細な説明は後述する。
【０１２１】
前に読込んだ転送管理テーブルの転送すべきデータ転送が全て完了していない場合（図８のＳ６のＮｏ），ステップＳ３の処理に戻り，残りの転送すべきデータの転送処理を行う。一方，前に読込んだ転送管理テーブル２４の転送すべきデータ転送が全て完了した場合（図８のＳ６のＹｅｓ），転送管理テーブル２４の読込みを行うため，ステップＳ１の処理に戻る。なお，転送管理テーブル２４に該当するデータが無い場合の待機状態等の処理は，図示省略している。また，読込み周期は，所定の単位時間タイマー等のネットワークインタフェース装置２Ａの割込み指示で開始されても良い。
【０１２２】
図９はデータ転送処理フローを示す図である。
【０１２３】
ＤＭＡコントローラ部３Ａにおいて，データ転送処理が開始されると，ルーティングテーブル３２に基づいて，ルーティング処理ブロックを制御する（図９のＳ１１）。
【０１２４】
具体的には，ＤＭＡコントローラ部３Ａは，ルーティングテーブル３２の情報に基づき，レイヤ２処理（図９のＳ１２），ＴＯＥ（ＴＣＰ／ＩＰ  Ｏｆｆｌｏａｄ  Ｅｎｇｉｎｅ）処理（同Ｓ１３），圧縮処理（同Ｓ１４）の設定を行い，これらの処理部へ転送データを渡す。圧縮処理が行われない場合，ルーティング先を決定する処理へ移る（図９のＳ１４のＮｏ）。一方，圧縮処理が行われる場合（図９のＳ１４のＹｅｓ），図１０に示す圧縮処理が行われ（図９のＳ１５），圧縮処理終了後，次の処理へ移る。
【０１２５】
ルーティングテーブル３２に基づき，ＤＭＡコントローラ部３Ａは，経路Ｔ２のルーティング先であると決定した場合（図９のＳ１６のＹｅｓ），経路Ｔ２（Ｔ２信号ラインの経路を指す）へ所定のデータを転送する（同Ｓ１７）。
【０１２６】
経路Ｔ２を介して，ＩＰｓｅｃ処理部１４へデータが転送され，データの暗号化または，復号化処理が行われる（図９のＳ１８）。さらに，ＴＯＥ処理を経て（図９のＳ１９），ＲＡＭ部１３Ａへ処理データが転送される（同Ｓ２０）。
【０１２７】
ＤＭＡコントローラ部３Ａは，経路Ｔ３のルーティング先であると決定した場合（図９のＳ２１のＹｅｓ），経路Ｔ３へ所定のデータを転送する（同Ｓ２２）。そして，経路Ｔ３を介し，ＵＳＢ−ＩＦ部１６へデータが転送される（図９のＳ２３）。ＤＭＡコントローラ部３Ａは，経路Ｔ４のルーティング先であると決定した場合（図９のＳ２４のＹｅｓ），経路Ｔ４へ所定のデータを転送し（同Ｓ２５），経路Ｔ４を介し，ログ処理部１５へデータが転送される（同Ｓ２６）。さらに，ログ処理部１５により，ログ処理されたデータは，ＵＳＢ−ＩＦ部１６へ転送される（図９のＳ２３）。
【０１２８】
同様に，ＤＭＡコントローラ部３Ａは，経路Ｔ７のルーティング先であるか決定した場合（図９のＳ２７のＹｅｓ），経路Ｔ７へ所定のデータを転送し（同Ｓ２８），経路Ｔ７を介し，シリアルＩＦ部１７へデータが転送される（同Ｓ２９）。
【０１２９】
以上の経路以外（図９のＳ２７のＮｏ）のＣＰＵバス１００経由（ＢＵ５，ＢＵ６，ＢＵ８，ＢＵ９）では，ルーティング先のＲＡＭ部１３Ａへデータ転送が行われる（図９のＳ３０）。
【０１３０】
図１０は圧縮処理フローを示す図である。以下に，図１０の処理フローを，図６の圧縮処理部の構成に基づいて説明を行う。
【０１３１】
圧縮処理部３５Ａにおいて，ルーティングテーブル３２のＣｏｍｐ許可情報に基づき，圧縮管理部３５１が圧縮対象の判断を行う（図１０のＳ４１）。非圧縮対象である場合（図１０のＳ４１のＮｏ），ＤａｔａＩｎから入力されたデータは，圧縮処理されず，転送制御部３５６からＤａｔａＯｕｔとして出力され，圧縮処理の次の処理へ移行する。
【０１３２】
圧縮対象である場合（図１０のＳ４１のＹｅｓ），ルーティングテーブル情報に基づき，圧縮レイヤが圧縮管理部３５１により圧縮制御部３５２に指示される（同Ｓ４２）。
【０１３３】
対象データの全圧縮の場合（図１０のＳ４３のＹｅｓ），圧縮制御部３５２は，ワークメモリ３５３から圧縮前の対象データを取出す（同Ｓ４４）。
【０１３４】
次に，圧縮制御部３５２は，取出したデータを設定された圧縮アルゴリズムに基づき，全圧縮を行う（図１０のＳ４５）。圧縮処理後，圧縮制御部３５２は，圧縮データのＩｎｄｅｘ情報を生成し，生成したＩｎｄｅｘ情報を圧縮データに付加する（ステップＳ４６）。なお，データの圧縮とＩｎｄｅｘ情報付加は，前述の図７の説明に示すような内容で行われる。
【０１３５】
圧縮制御部３５２は，Ｉｎｄｅｘ情報が付加された圧縮データをワークメモリ３５３へ保存する（図１０のＳ４７）。一方，全圧縮が指定されておらず（図１０のＳ４３のＮｏ），部分圧縮の指示がある場合（同Ｓ４８のＹｅｓ），対象データをワークメモリ３５３から取出す（同Ｓ４９）。そして，取出したデータの一部について，部分圧縮処理部３５４は，部分圧縮を実行し（図１０のＳ５０），ワークメモリ３５３へ保存する（同Ｓ５１）。
【０１３６】
なお，全圧縮および部分圧縮のそれぞれの場合において，圧縮制御部３５２と部分圧縮処理部３５４は，圧縮前および圧縮後データを比較し，圧縮率を算出し，圧縮判定部３５５にその効果通知を行う。
【０１３７】
圧縮判定部３５５は，圧縮制御部３５２，または，部分圧縮処理部３５４から圧縮率等の効果通知を受け，圧縮の有効性を判定し（図１０のＳ５２），効果ありと判定された場合，その圧縮が全圧縮処理か，部分圧縮処理かにより，次の処理を選択する（同Ｓ５３）。
【０１３８】
部分圧縮処理の圧縮効果が有効と判断した場合（図１０のＳ５３のＹｅｓ），圧縮判定部３５５は圧縮制御部３５２に対し，全圧縮の指示を通知し，指示を受けた圧縮制御部３５２が全圧縮処理を実行する（Ｓ４４以降の処理となる）。全圧縮処理の圧縮効果が有効と判断した場合（図１０のＳ５３のＮｏ），圧縮判定部３５５はワークメモリ３５３から圧縮データを取出し（同Ｓ５４），取出したデータを転送制御部３５６へ送出する。
【０１３９】
圧縮効果なしと判定した場合，圧縮判定部３５５は，ワークメモリ３５３から圧縮前データを取出し，転送制御部３５６へ取出したデータを送出する（図１０のＳ５５）。
【０１４０】
以上の処理後，転送制御部３５６から圧縮処理後の圧縮データ，または非圧縮データが送出され，圧縮処理は終了する。
【０１４１】
ここまでの説明は，圧縮処理についての説明であるが，圧縮伸長処理部３５（図３に示す）には，圧縮伸長されたデータを伸長し，圧縮前のデータに変換する機能部を有している（図示省略）。なお，伸長処理は，圧縮処理された転送データを圧縮方式のアルゴリズムに対応する伸長方式のアルゴリズムで伸長する（「解凍する」という場合もある）ものであり，ここでは，伸長処理についての詳細な構成や処理フローの説明は省略する。
【０１４２】
図１１はＩＰデータ処理装置の具体的な使用例を示す図である。図１１において，携帯電話６は，データ処理装置１Ａ，ネットワークインタフェース部２Ａ，ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｃｙ）部７，操作・表示部８，ＡＰＬ（Ａｐｐｌｉｃａｔｉｏｎ）９，アンテナ１０を備えている。データ処理処置１Ａとネットワークインタフェース部２Ａ間には，外部バス３００が接続されている。
【０１４３】
データ処理装置１Ａおよびネットワークインタフェース部２Ａに関する機能は，図３に示されたものと同機能であり，ここでは説明は省略する。
【０１４４】
ＲＦ部７はアンテナ１０から送受信する電波により，携帯電話網の無線基地局との通信を行い，ＤＬパケットおよびＵＬパケットの送受信を行う。
【０１４５】
操作・表示部８は，携帯電話６の利用者がキー等の操作を行い，また，表示確認等を行うためのヒューマンマシンインタフェース部である。
【０１４６】
ＡＰＬ９は，パケット通信を介して送受信されるデータの各種プロトコルに基づき，実現されるアプリケーションである。例えば，Ｗｅｂサイトアクセスや，画像ストリーミングサービス等である。携帯電話６は，携帯電話網経由で，様々なサービスを受けることが可能である。
【０１４７】
データ処理装置１Ａは，送受信されたパケットからプロトコル種別ＩＤを認識または割付を行う。そして，本データ処理装置１Ａによれば，前述に説明したようなＩＰデータのルーティング処理を携帯電話６において，実現することが可能となる。
【０１４８】
これにより，高速パケット通信におけるインターネットアクセス，音声データ，動画データ等の様々なサービスによるデータ処理負荷が増加に対し，ＣＰＵのデータ転送時の割込み回数の低減や，レイヤ構成の終端処理等に負荷低減を実現することができる。
【０１４９】
また，ＣＰＵを非介在とする処理を増やすことにより，ＣＰＵの消費電力を抑え，高速化処理に伴う電力消費増加を低減することができる。
【０１５０】
（付記１）  ネットワークに接続するネットワークインタフェース装置と相互にデータ転送を行うデータ処理装置を備えたＩＰデータ処理装置であって，前記データ処理装置は，前記ネットワークインタフェース装置に接続する外部バスと内部バスとの調停を行ってバス間のデータ転送を制御するバス制御手段と，前記内部バスに接続されると共に内部の各部とデータ転送の処理を行うデータ転送処理部と，前記外部バスを介した前記ネットワークインタフェース装置内の転送管理情報にアクセスして前記データ転送処理部に制御指示をするＣＰＵ部と，内部バス経由で接続されるメモリ部と，前記データ転送処理部に複数のプロトコルに対応する処理を行う各部とのインタフェース手段を接続し，前記データ転送処理部は，前記ネットワークインタフェース装置との間で送受信するパケットに関するプロトコル等のコンテキスト情報を管理するコンテキスト情報管理部と，前記コンテキスト情報から作成されるパケットのプロトコル種別ＩＤを認識するためのプロトコル種別ＩＤテーブルと，前記プロトコル種別ＩＤに対応したルーティング情報を格納するルーティングテーブルとを備え，前記ＣＰＵ部はパケットを前記プロトコル種別ＩＤテーブルと前記ルーティングテーブルに基づいて，プロトコル種別，またはサービス毎に，前記内部バスに転送するか，前記インタフェース手段へ転送するかのルーティングを決定することを特徴とするＩＰデータ処理装置。
【０１５１】
（付記２）  付記１において，前記プロトコル種別ＩＤに対応したルーティングテーブルには，ルーティング処理制御情報として，サービスに対応したサービス品質の優先度と，複数パケットのバルク化を許可するか否か，圧縮を許可するか否かの情報が設定され，前記ＣＰＵ部は，前記ルーティングテーブルによる，サービス品質の優先度に応じて転送順序が制御され，バルク化の許可・不許可及び圧縮の許可・不許可の設定に対応して，ルーティング先として内部バスを経由したメモリ部または内部バスを経由しない前記各インタフェース手段への経路を選択することを特徴とするＩＰデータ処理装置。
【０１５２】
（付記３）  付記２において，前記データ転送処理部に圧縮処理手段を備え，前記圧縮処理手段は，処理する前のデータを非圧縮データとして保持すると共に，前記ルーティングテーブルの圧縮許可情報を受け取ると指定された方式により対象データについて部分圧縮を行い圧縮率の効果を出力する部分圧縮処理部と，前記圧縮率の効果を判定し，圧縮効果を判定して効果があると対象データの全圧縮の指示を発生し効果がないと非圧縮の指示を発生する圧縮判定部と，全圧縮の指示を受けて対象データの全圧縮を行う圧縮制御部と，を備えることを特徴とするＩＰデータ処理装置。
【０１５３】
（付記４）  付記１において，前記データ転送処理部は，前記ルーティング先へのデータ転送の前に同一のプロトコル種別ＩＤの複数のパケットをバルク化する場合，ルーティング処理の処理時間，内部バス占有の割合と他の転送経路のプロトコル種別ＩＤのパケットの転送時間を判断し，バルク化サイズを可変にすると共に転送順序を変更する制御を行うことを特徴とするＩＰデータ処理装置。
【０１５４】
（付記５）  付記４において，前記データ転送処理手段は，バルク単位での転送処理の際，データ圧縮を同時に実施することを特徴とするＩＰデータ処理装置。
【０１５５】
（付記６）  付記１において，前記データ転送処理部は，データ圧縮伸長処理手段を備え，受信転送データの中に圧縮情報を有する圧縮データを検出すると，所定のアルゴリズムで伸長し，伸長されたデータをパケットとして前記データ転送処理部からネットワークインタフェース装置を介して対向装置へ送出することを特徴とするＩＰデータ処理装置。
【０１５６】
（付記７）  付記６において，前記データ転送処理部は，データ圧縮またはデータ伸長部分をレイヤ構造の何番目かのレイヤを対象とするかを判断し，対象と判断したレイヤを選択レイヤとして，該選択レイヤからのペイロード部分を圧縮または伸張することを特徴とするＩＰデータ処理装置。
【０１５７】
（付記８）  付記７において，データ転送前のデータの圧縮の有無，圧縮方式，圧縮レイヤの複数の圧縮状態の情報を含むインデックス情報を圧縮データに付与し，該付与したデータを転送データとして転送し，また，転送データを受取った場合，該転送データからインデックス情報を読取り，該読取った情報に基づいて圧縮の有無，圧縮方式，圧縮レイヤを判断し，圧縮されたデータを伸長することを特徴とするＩＰデータ処理装置。
【図面の簡単な説明】
【０１５８】
【図１】本発明に係るＩＰデータ処理装置の基本構成を示す図である。
【図２】ＩＰデータ処理装置のプロトコル種別ＩＤ認識・割付の動作概要を示す図である。
【図３】ＩＰデータ処理装置の実施例の構成を示す図である。
【図４】ルーティングテーブルの詳細内容を示す図である。
【図５】データ転送時におけるバルク転送処理の動作概要を示す図である。
【図６】圧縮処理部の詳細な構成を示す図である。
【図７】圧縮前後のデータ比較による圧縮処理概要の図である。
【図８】ルーティング処理フローを示す図である。
【図９】データ転送処理フローを示す図である。
【図１０】圧縮処理フローを示す図である。
【図１１】ＩＰデータ処理装置の具体的な使用例を示す図である。
【符号の説明】
【０１５９】
１                データ処理装置
２                ネットワークインタフェース装置
３                データ転送処理部
１１，２１        バス制御部
１２              ＣＰＵ部
１３，２２        メモリ部
２３              送受信部
２４              転送管理テーブル
３０              コンテキスト情報管理部
３１              プロトコル種別ＩＤテーブル
３２              ルーティングテーブル
３３              データ処理部
３４              バルク化処理部
３５              圧縮伸長処理部
１００，２００    内部バス
３００            外部バス
１０１            ＩＦ部
１０２            専用ライン
【図１】
2009272912.tif 000003
【図２】
2009272912.tif 000004
【図３】
2009272912.tif 000005
【図４】
2009272912.tif 000006
【図５】
2009272912.tif 000007
【図６】
2009272912.tif 000008
【図７】
2009272912.tif 000009
【図８】
2009272912.tif 000010
【図９】
2009272912.tif 000011
【図１０】
2009272912.tif 000012
【図１１】
2009272912.tif 000013