(57)【特許請求の範囲】
【請求項１】
通信ネットワークを介してデータパケットを受信し、パケット処理を実行する通信処理装置であり、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理部と、
前記パケット優先度付け処理部において優先度の設定されたパケットを保持するパケット蓄積部と、
前記パケット蓄積部に蓄積されたパケットを前記パケット優先度付け処理部において設定された優先度毎に設定されたスケジューリング情報に基づいて、パケット処理を実行するレイヤに対して出力するパケットスケジューリング処理部とを有し、
前記スケジューリング情報は、パケット優先度に対応したパケットの出力割合を示す情報であることを特徴とする通信処理装置。
【請求項２】
通信ネットワークを介してデータパケットを受信し、パケット処理を実行する通信処理装置であり、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理部と、
前記パケット優先度付け処理部において優先度の設定されたパケットを保持するパケット蓄積部と、
前記パケット優先度付け処理部において設定された優先度と、パケット出力のスケジューリング情報とを対応付けたテーブルであり、少なくとも、通信処理装置の通常動作時と、省電力時を含む通信処理装置の複数の状態（モード）に対応して異なるスケジューリング情報を格納したスケジューリングルール情報管理テーブルと、
前記パケット処理の優先度、および通信処理装置の状態（モード）に応じて、前記スケジューリングルール情報管理テーブルを参照して、対応するデータエントリに設定されたスケジューリング情報に基づいて、前記パケット蓄積部に蓄積されたパケットを、パケット処理を実行するレイヤに対して出力する処理を実行するパケットスケジューリング処理部と、
を有することを特徴とする通信処理装置。
【請求項３】
前記通信処理装置は、
送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号、送信先ポート番号、プロトコルの少なくともいずれかと、優先度とを対応付けた優先度付けルール情報管理テーブルを有し、
前記パケット優先度付け処理部は、
受信パケットから取得される付帯情報と、前記優先度付けルール情報管理テーブルの各データエントリとのマッチング処理を行ない、優先度付けルール情報管理テーブルのマッチングするデータエントリに対応付けられた優先度を、該受信パケットの優先度として設定する構成であることを特徴とする請求項１または２に記載の通信処理装置。
【請求項４】
前記通信処理装置は、
優先度と、パケット出力のスケジューリング情報としてのスケジューリング割合、タイムアウト時間、出力時間間隔の少なくともいずれかを対応付けたスケジューリングルール情報管理テーブルを有し、
前記パケットスケジューリング処理部は、
前記パケット優先度付け処理部において設定された優先度に応じて、前記スケジューリングルール情報管理テーブルを参照し、対応するデータエントリに設定されたスケジューリング情報に基づいてパケットの出力を実行する構成であることを特徴とする請求項１または２に記載の通信処理装置。
【請求項５】
前記パケット優先度付け処理部は、
設定された優先度の低いパケットの廃棄処理を実行する構成を有することを特徴とする請求項１または２に記載の通信処理装置。
【請求項６】
前記通信処理装置は、
送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号、送信先ポート番号、プロトコルの少なくともいずれかと、優先度とを対応付けた優先度付けルール情報管理テーブルを有し、
前記パケット優先度付け処理部は、
受信パケットから取得される付帯情報と、前記優先度付けルール情報管理テーブルの各データエントリとのマッチング処理を行ない、優先度付けルール情報管理テーブルにマッチングするデータエントリが無いパケットについての廃棄処理を実行する構成を有することを特徴とする請求項１または２に記載の通信処理装置。
【請求項７】
前記通信処理装置は、
優先度と、タイムアウト時間を対応付けたスケジューリングルール情報管理テーブルを有し、
前記パケットスケジューリング処理部は、
前記パケット蓄積部に蓄積されたパケット中、前記スケジューリングルール情報管理テーブル内に設定されたタイムアウト時間を経過したパケットの廃棄処理を優先度の低いパケットから順次実行する構成を有することを特徴とする請求項１または２に記載の通信処理装置。
【請求項８】
前記パケット蓄積部は、
パケット優先度付け処理部において設定された優先度毎に設定された個別のキューとして構成され、
前記パケットスケジューリング処理部は、
前記個別のキューに蓄積されたパケットを、前記パケット優先度付け処理部において設定された優先度毎に設定されたスケジューリング情報に基づいて各キューから取り出して出力する構成を有することを特徴とする請求項１または２に記載の通信処理装置。
【請求項９】
複数のレイヤから構成されるプロトコルスタックを備え、異なるレイヤに属する処理を実行するために、レイヤ間にてデータの授受を行う通信処理装置であって、
前記通信処理装置に対する供給データの供給元に従い、当該供給データの優先度を決定する優先度決定部と、
各優先度に対応して割り当てられた複数の優先度対応記憶領域を有し、前記優先度決定部において決定された各優先度のデータを前記優先度対応記憶領域に、データの優先度に応じて記憶するデータ記憶部と、
前記優先度毎に上位レイヤへのデータの供給ルールを定めたテーブルが記憶されたテーブル記憶部と、
前記データ記憶部に記憶されたデータを前記テーブルに従って、上位レイヤに供給するデータ供給部と、
前記上位レイヤに供給されたデータに対して、上位レイヤに属する処理を施す処理手段と、
を備える通信処理装置。
【請求項１０】
前記テーブルは、少なくとも通信処理装置の通常動作時と、省電力時を含む複数の状態（モード）に対応して、異なる供給ルールが定められたテーブルであることを特徴とする請求項９に記載の通信処理装置。
【請求項１１】
通信ネットワークを介してデータパケットを受信し、パケット処理を実行する通信処理方法であり、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理ステップと、
前記パケット優先度付け処理ステップにおいて優先度の設定されたパケットを保持するパケット蓄積ステップと、
前記パケット蓄積ステップにおいて蓄積されたパケットを前記パケット優先度付け処理ステップにおいて設定された優先度毎に設定されたスケジューリング情報に基づいて、パケット処理を実行するレイヤに対して出力するパケットスケジューリング処理ステップとを有し、
前記スケジューリング情報は、パケット優先度に対応したパケットの出力割合を示す情報であることを特徴とする通信処理方法。
【請求項１２】
通信ネットワークを介してデータパケットを受信し、パケット処理を実行する通信処理方法であり、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理ステップと、
前記パケット優先度付け処理ステップにおいて優先度の設定されたパケットを保持するパケット蓄積ステップと、
前記パケット蓄積ステップにおいて蓄積されたパケットを前記パケット優先度付け処理ステップにおいて設定された優先度毎に設定されたスケジューリング情報に基づいて出力するパケットスケジューリング処理ステップとを有し、
前記パケットスケジューリング処理ステップは、
前記パケット優先度付け処理部において設定された優先度と、パケット出力のスケジューリング情報とを対応付けたテーブルであり、少なくとも、通信処理装置の通常動作時と、省電力時を含む通信処理装置の複数の状態（モード）に対応して異なるスケジューリング情報を格納したスケジューリングルール情報管理テーブルを参照して、対応するデータエントリに設定されたスケジューリング情報に基づいて、前記パケット蓄積部に蓄積されたパケットを、パケット処理を実行するレイヤに対して出力する処理を実行するステップであることを特徴とする通信処理方法。
【請求項１３】
通信ネットワークを介してデータパケットを受信し、パケット処理を実行するコンピュータ・プログラムであって、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理ステップと、
前記パケット優先度付け処理ステップにおいて優先度の設定されたパケットを保持するパケット蓄積ステップと、
前記パケット蓄積ステップにおいて蓄積されたパケットを前記パケット優先度付け処理ステップにおいて設定された優先度毎に設定されたスケジューリング情報に基づいて、パケット処理を実行するレイヤに対して出力するパケットスケジューリング処理ステップとを有し、
前記スケジューリング情報は、パケット優先度に対応したパケットの出力割合を示す情報であることを特徴とするコンピュータ・プログラム。
【請求項１４】
通信ネットワークを介してデータパケットを受信し、パケット処理を実行するコンピュータ・プログラムであって、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理ステップと、
前記パケット優先度付け処理ステップにおいて優先度の設定されたパケットを保持するパケット蓄積ステップと、
前記パケット蓄積ステップにおいて蓄積されたパケットを前記パケット優先度付け処理ステップにおいて設定された優先度毎に設定されたスケジューリング情報に基づいて出力するパケットスケジューリング処理ステップとを有し、
前記パケットスケジューリング処理ステップは、
前記パケット優先度付け処理部において設定された優先度と、パケット出力のスケジューリング情報とを対応付けたテーブルであり、少なくとも、通信処理装置の通常動作時と、省電力時を含む通信処理装置の複数の状態（モード）に対応して異なるスケジューリング情報を格納したスケジューリングルール情報管理テーブルを参照して、対応するデータエントリに設定されたスケジューリング情報に基づいて、前記パケット蓄積部に蓄積されたパケットを、パケット処理を実行するレイヤに対して出力する処理を実行させるステップであることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信処理装置、および通信処理方法、並びにコンピュータ・プログラムに関する。詳細には、ネットワークを介して通信パケットを送受信する構成において、パケット受信側でパケット送信元アドレス等の情報に基づいて処理優先度を決定するとともに、パケット処理リソース状況に応じて処理を実行することにより、優先度の高いパケットを効率的に処理することを可能とした通信処理装置、および通信処理方法、並びにコンピュータ・プログラムに関する。
【０００２】
【従来の技術】
ＡＤＳＬ、ケーブルテレビ網などを使ったインターネットへの常時接続サービスが登場し、個人の所有する端末のインターネットへの常時接続も増えつつある。また、情報家電と呼ばれるインターネットに常時接続しリモートから制御可能なＡＶ機器他の家電製品も登場してきている。
【０００３】
個人の所有するネットワーク端末、特に情報家電等の家庭内の通信処理装置におけるネットワークを介する受信データの処理で特に考慮すべき点として以下の３点が存在する。
（１）通信相手の識別による処理優先度付けの必要性
（２）ＤｏＳ攻撃への対処
（３）低いＣＰＵ能力への対応
【０００４】
（１）通信相手の識別による処理優先度付けの必要性
まず、第１に通信相手を識別し、受信データ（パケット）の処理について優先度付けを行なって、優先度順に処理を実行することが望ましい。情報家電等、個人の所有するネットワーク端末では、その利用者、すなわち通信を行なう利用者は、特定の外部端末からの通信が多くを占める。例えばネットワーク端末所有者本人、家族、友人等の所有する端末からの通信が多く、これらの特定端末からの通信をその他の外部からの通信より優先して処理することが好ましい。不特定の外部からの通信パケットと、ネットワーク端末所有者本人、家族、友人等の所有する端末からの通信パケットとを同等のレベルで処理すると、例えば以下で説明するＤｏＳ攻撃等により、本来処理の必要なネットワーク端末所有者本人、家族等からの通信パケットの処理が実行できない状態となる場合がある。
【０００５】
（２）ＤｏＳ攻撃への対処
ＴＣＰトラフィック処理用のリソースに対するＤｏＳ攻撃としては、主に次の２つが挙げられる。
・ＳＹＮ  Ｆｌｏｏｄ攻撃
・ＴＣＰコネクションを大量に確立するＤｏＳ攻撃
【０００６】
ＳＹＮ  Ｆｌｏｏｄ攻撃は、ＴＣＰ／ＩＰでコネクションを確立するために行われる３ウェイハンドシェークプロトコルにおいて確立途中の状態を管理するキューのデータサイズが有限であることを利用した攻撃である。すなわち、ターゲットサーバにＴＣＰコネクションの確立を要求するＳＹＮパケットを大量に送り、３ウェイハンドシュークプロトコルを終了しないことで確立途中の状態を大量に作る。この攻撃によりターゲットサーバの確立途中の状態を管理するキューが溢れ、新たなＴＣＰコネクションを確立することを一時的に不可能にするものである。
【０００７】
ＴＣＰコネクションを大量に作るというＤｏＳ攻撃の概要を以下説明する。ＴＣＰコネクションが確立される度にメモリ、ＣＰＵなどのリソースが使用されるため、一度に処理可能なＴＣＰコネクション数には上限が存在する。そこでターゲットサーバに対し複数のマシンを用いて大量のＴＣＰコネクションを確立し、上限までリソースを使い切ってしまうと、ターゲットサーバは新たなＴＣＰコネクションを確立不能になる。ターゲットサーバの能力によっては処理速度の低下やシステムの停止といった現象が起こる。
【０００８】
このようなＤｏＳ攻撃を家庭内のネットワーク端末が受けると、ネットワーク端末所有者本人、家族、友人等の所有する端末からの通信パケットの処理が不可能となるという事態が発生する。
【０００９】
（３）低いＣＰＵ能力への対応
第３に低いＣＰＵ能力への対応が必要となる。個人の所有するネットワーク端末では、通信に使用するＣＰＵリソースが少ない場合が多く想定される。例えば以下の場合が挙げられる。
・情報家電など通信は付加的な機能であり、ＣＰＵの能力が低い場合
・情報家電における音楽再生処理など、別の処理の割り込みにより処理の低下が許されず、その結果ネットワークに割り当てられるＣＰＵリソースが少ない場合
・省電力モードやスタンバイ状態など、端末の処理速度を故意に遅くしている場合
【００１０】
上記のような場合において、パケット処理が間に合わないときには、ＣＰＵの能力に合わせ無駄なパケットから廃棄してゆくことが望ましい。特に省電力モード時には、受信パケットを選別して情報家電等通信端末の所有者からのパケットのみを処理し、他のパケットは廃棄するような設定としたパケット選別処理により、低いＣＰＵ能力に対応した処理構成とすることが可能となる。
【００１１】
多数の受信パケットの処理効率化を実現する構成として、受信パケットの処理スケジューリングを実行して、優先度の高いパケットから順に処理する構成がある。例えばCheckPoint社の FloodGate-1、あるいは、特開平９−８３５４７の「パケットスケジューリング装置」などに記載がある。しかし、これらは、パケットの送信時にデータの送信側でスケジューリングを行うことによりネットワーク使用を効率化することを目的としており、パケットを受信する端末側において、パケットを選別してスケジューリングを行なうものではない。従って、データ（パケット）を受信する通信処理装置側で、ＤｏＳ攻撃からの防御や、低いＣＰＵ能力に対応したパケット選別、例えば、優先度の低いパケットの廃棄等により、パケット処理を実現する構成を示しているものではない。
【００１２】
【発明が解決しようとする課題】
本発明は、上述の問題点に鑑みてなされたものであり、パケットの処理優先度をデータ（パケット）受信側で判定し、判定された優先度に基づいて処理スケジューリングを実行して、例えば情報家電等の家庭内通信装置の所有者本人、家族等からのパケットを識別し、これらのパケットに高い優先度を付与して効率的な処理を可能とする通信処理装置、および通信処理方法、並びにコンピュータ・プログラムを提供するものである。
【００１３】
【課題を解決するための手段】
本発明の第１の側面は、
通信ネットワークを介してデータパケットを受信し、パケット処理を実行する通信処理装置であり、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理部と、
前記パケット優先度付け処理部において優先度の設定されたパケットを保持するパケット蓄積部と、
前記パケット蓄積部に蓄積されたパケットを前記パケット優先度付け処理部において設定された優先度毎に設定されたスケジューリング情報に基づいて、パケット処理を実行するレイヤに対して出力するパケットスケジューリング処理部とを有し、
前記スケジューリング情報は、パケット優先度に対応したパケットの出力割合を示す情報であることを特徴とする通信処理装置にある。
さらに、本発明の第２の側面は、
通信ネットワークを介してデータパケットを受信し、パケット処理を実行する通信処理装置であり、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理部と、
前記パケット優先度付け処理部において優先度の設定されたパケットを保持するパケット蓄積部と、
前記パケット優先度付け処理部において設定された優先度と、パケット出力のスケジューリング情報とを対応付けたテーブルであり、少なくとも、通信処理装置の通常動作時と、省電力時を含む通信処理装置の複数の状態（モード）に対応して異なるスケジューリング情報を格納したスケジューリングルール情報管理テーブルと、
前記パケット処理の優先度、および通信処理装置の状態（モード）に応じて、前記スケジューリングルール情報管理テーブルを参照して、対応するデータエントリに設定されたスケジューリング情報に基づいて、前記パケット蓄積部に蓄積されたパケットの出力を実行するパケットスケジューリング処理部と、
を有することを特徴とする通信処理装置にある。
【００１４】
さらに、本発明の通信処理装置の一実施態様において、前記通信処理装置は、送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号、送信先ポート番号、プロトコルの少なくともいずれかと、優先度とを対応付けた優先度付けルール情報管理テーブルを有し、前記パケット優先度付け処理部は、受信パケットから取得される付帯情報と、前記優先度付けルール情報管理テーブルの各データエントリとのマッチング処理を行ない、優先度付けルール情報管理テーブルのマッチングするデータエントリに対応付けられた優先度を、該受信パケットの優先度として設定する構成であることを特徴とする。
【００１５】
さらに、本発明の通信処理装置の一実施態様において、前記通信処理装置は、優先度と、パケット出力のスケジューリング情報としてのスケジューリング割合、タイムアウト時間、出力時間間隔の少なくともいずれかを対応付けたスケジューリングルール情報管理テーブルを有し、前記パケットスケジューリング処理部は、前記パケット優先度付け処理部において設定された優先度に応じて、前記スケジューリングルール情報管理テーブルを参照し、対応するデータエントリに設定されたスケジューリング情報に基づいてパケットの出力を実行する構成であることを特徴とする。
【００１７】
さらに、本発明の通信処理装置の一実施態様において、前記パケット優先度付け処理部は、設定された優先度の低いパケットの廃棄処理を実行する構成を有することを特徴とする。
【００１８】
さらに、本発明の通信処理装置の一実施態様において、前記通信処理装置は、送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号、送信先ポート番号、プロトコルの少なくともいずれかと、優先度とを対応付けた優先度付けルール情報管理テーブルを有し、前記パケット優先度付け処理部は、受信パケットから取得される付帯情報と、前記優先度付けルール情報管理テーブルの各データエントリとのマッチング処理を行ない、優先度付けルール情報管理テーブルにマッチングするデータエントリが無いパケットについての廃棄処理を実行する構成を有することを特徴とする。
【００１９】
さらに、本発明の通信処理装置の一実施態様において、前記通信処理装置は、優先度と、タイムアウト時間を対応付けたスケジューリングルール情報管理テーブルを有し、前記パケットスケジューリング処理部は、前記パケット蓄積部に蓄積されたパケット中、前記スケジューリングルール情報管理テーブル内に設定されたタイムアウト時間を経過したパケットの廃棄処理を優先度の低いパケットから順次実行する構成を有することを特徴とする。
【００２０】
つらに、本発明の通信処理装置の一実施態様において、前記パケット蓄積部は、パケット優先度付け処理部において設定された優先度毎に設定された個別のキューとして構成され、前記パケットスケジューリング処理部は、前記個別のキューに蓄積されたパケットを、前記パケット優先度付け処理部において設定された優先度毎に設定されたスケジューリング情報に基づいて各キューから取り出して出力する構成を有することを特徴とする。
さらに、本発明の第３の側面は、
複数のレイヤから構成されるプロトコルスタックを備え、異なるレイヤに属する処理を実行するために、レイヤ間にてデータの授受を行う通信処理装置であって、
前記通信処理装置に対する供給データの供給元に従い、当該供給データの優先度を決定する優先度決定部と、
各優先度に対応して割り当てられた複数の優先度対応記憶領域を有し、前記優先度決定部において決定された各優先度のデータを前記優先度対応記憶領域に、データの優先度に応じて記憶するデータ記憶部と、
前記優先度毎に上位レイヤへのデータの供給ルールを定めたテーブルが記憶されたテーブル記憶部と、
前記データ記憶部に記憶されたデータを前記テーブルに従って、上位レイヤに供給するデータ供給部と、
前記上位レイヤに供給されたデータに対して、上位レイヤに属する処理を施す処理手段と、
を備える通信処理装置にある。
さらに、本発明の通信処理装置の一実施態様において、前記テーブルは、少なくとも通信処理装置の通常動作時と、省電力時を含む複数の状態（モード）に対応して、異なる供給ルールが定められたテーブルであることを特徴とする。
【００２１】
さらに、本発明の第４の側面は、
通信ネットワークを介してデータパケットを受信し、パケット処理を実行する通信処理方法であり、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理ステップと、
前記パケット優先度付け処理ステップにおいて優先度の設定されたパケットを保持するパケット蓄積ステップと、
前記パケット蓄積ステップにおいて蓄積されたパケットを前記パケット優先度付け処理ステップにおいて設定された優先度毎に設定されたスケジューリング情報に基づいて、パケット処理を実行するレイヤに対して出力するパケットスケジューリング処理ステップとを有し、
前記スケジューリング情報は、パケット優先度に対応したパケットの出力割合を示す情報であることを特徴とする通信処理方法にある。
さらに、本発明の第５の側面は、
通信ネットワークを介してデータパケットを受信し、パケット処理を実行する通信処理方法であり、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理ステップと、
前記パケット優先度付け処理ステップにおいて優先度の設定されたパケットを保持するパケット蓄積ステップと、
前記パケット蓄積ステップにおいて蓄積されたパケットを前記パケット優先度付け処理ステップにおいて設定された優先度毎に設定されたスケジューリング情報に基づいて出力するパケットスケジューリング処理ステップとを有し、
前記パケットスケジューリング処理ステップは、
前記パケット優先度付け処理部において設定された優先度と、パケット出力のスケジューリング情報とを対応付けたテーブルであり、少なくとも、通信処理装置の通常動作時と、省電力時を含む通信処理装置の複数の状態（モード）に対応して異なるスケジューリング情報を格納したスケジューリングルール情報管理テーブルを参照して、対応するデータエントリに設定されたスケジューリング情報に基づいて、前記パケット蓄積部に蓄積されたパケットを、パケット処理を実行するレイヤに対して出力する処理を実行するステップであることを特徴とする通信処理方法にある。
【００２９】
さらに、本発明の第６の側面は、
通信ネットワークを介してデータパケットを受信し、パケット処理を実行するコンピュータ・プログラムであって、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理ステップと、
前記パケット優先度付け処理ステップにおいて優先度の設定されたパケットを保持するパケット蓄積ステップと、
前記パケット蓄積ステップにおいて蓄積されたパケットを前記パケット優先度付け処理ステップにおいて設定された優先度毎に設定されたスケジューリング情報に基づいて、パケット処理を実行するレイヤに対して出力するパケットスケジューリング処理ステップとを有し、
前記スケジューリング情報は、パケット優先度に対応したパケットの出力割合を示す情報であることを特徴とするコンピュータ・プログラム。
さらに、本発明の第７の側面は、
通信ネットワークを介してデータパケットを受信し、パケット処理を実行するコンピュータ・プログラムであって、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理ステップと、
前記パケット優先度付け処理ステップにおいて優先度の設定されたパケットを保持するパケット蓄積ステップと、
前記パケット蓄積ステップにおいて蓄積されたパケットを前記パケット優先度付け処理ステップにおいて設定された優先度毎に設定されたスケジューリング情報に基づいて出力するパケットスケジューリング処理ステップとを有し、
前記パケットスケジューリング処理ステップは、
前記パケット優先度付け処理部において設定された優先度と、パケット出力のスケジューリング情報とを対応付けたテーブルであり、少なくとも、通信処理装置の通常動作時と、省電力時を含む通信処理装置の複数の状態（モード）に対応して異なるスケジューリング情報を格納したスケジューリングルール情報管理テーブルを参照して、対応するデータエントリに設定されたスケジューリング情報に基づいて、前記パケット蓄積部に蓄積されたパケットを、パケット処理を実行するレイヤに対して出力する処理を実行させるステップであることを特徴とするコンピュータ・プログラムにある。
【００３０】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００３１】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【００３２】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施態様の詳細について説明する。
【００３３】
ネットワーク端末におけるＴＣＰコネクションに関する処理の概略について、図1を参照して説明する。
【００３４】
物理ネットワークは、ＯＳＩ参照モデルの第１層に相当し、例えば電気信号や光信号によるデータ送受信の確立、コネクタ、ケーブル等のデータ伝送路における処理を行なう。ネットワークインタフェース層処理は、ＯＳＩ参照モデル第２層に相当し、通信機器間でのパケットの認識、送受信処理を行なう。インターネット層は、ＯＳＩ参照モデル第３層に相当し、アドレス管理および伝送経路の選択処理を行なう。トランスポート層処理は、ＯＳＩ参照モデル第４層に相当し、通信機器間のデータ転送制御と、データ転送の信頼性確率処理を行なう。アプリケーション層処理は、ＯＳＩ参照モデル第７層に相当し、アプリケーションが送受信を行なうための通信処理制御や、アプリケーションの固有処理の対応を行なう。
【００３５】
本発明の通信処理装置においては、図1におけるインターネット（Internet）層処理とトランスポート層処理に渡る処理において、パケットの処理優先度を判定し、判定された優先度に基づいて処理スケジューリングを実行する。すなわち、通信処理装置としての情報家電等のデータ受信端末の所有者により予め優先度付けルール情報を設定してメモリ内に記憶保持し、保持された優先度付けルールに基づいて、受信パケットに対して優先度付与処理を実行し、付与された優先度に応じてパケットのスケジューリングまたは廃棄を行い、スケジューリングした順番及び設定された時間間隔でパケットをトランスポート層処理に渡して、パケット処理を実行する。
【００３６】
［処理概要］
まず、本発明の通信処理装置および通信処理方法の処理概要について図２および図３を参照して説明する。
【００３７】
図２は、本発明の通信処理装置において、ネットワークを介して受信するパケットの処理優先度を判定し、判定された優先度に基づいて処理スケジューリングを実行するパケット処理判定部の処理構成を示したブロック図である。図３は、パケット処理判定部において実行するパケット入力処理、およびパケット出力処理の処理フローを示している。
【００３８】
図２の構成において、通信処理装置がネットワークを介してネットワークインタフェース層の処理により受け取られたパケットは、インターネット（Internet）層の処理を介してＩＰデータグラムとしてパケット入力部１０１に渡される。パケットは、パケット入力部１０１を介してパケット優先度付け処理部１０２に転送され、優先度付け情報管理部１０３に格納された優先度付け情報に従って各受信パケットに対する処理の優先度が付与される。
【００３９】
優先度付け情報は、具体的には優先度付け情報管理部１０３に格納された優先度付けルール情報管理テーブルである。優先度付けルール情報管理テーブルについては後段で詳細に説明する。パケット優先度付け処理部１０２は、受信パケットから取得される送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号、送信先ポート番号、プロトコルの少なくともいずれかのデータに基づいて、優先度付けルール情報管理テーブルとのマッチングをとり、テーブルの対応するエントリデータに対応付けられた優先度を、そのパケットの優先度として設定する。優先度付け情報に基づく優先度が付けられないパケットはここで廃棄する場合もある。優先度付け情報および優先度付与処理の詳細については後述する。
【００４０】
優先度が付与されたパケットは、パケットキューとしてのパケット蓄積部１０４に格納されて保管される。後段で詳細に説明するが、キューはパケット優先度付け処理部１０２で付与された優先度別に構成される。パケット蓄積部１０４内のキューにパケットが多量に蓄積され、パケットが蓄積できなくなった場合には優先度の低いパケットから廃棄する処理を実行する。パケット蓄積部１０４に保管されたパケットは、パケットスケジューリング処理部１０５において、スケジューリング情報管理部１０６に格納されたスケジューリング情報に従って、パケット出力部１０７に対して出力される。スケジューリング情報は、パケット優先度付け処理部１０２で付与された優先度に応じたパケット出力の処理スケジュールを記録したスケジューリングルール情報管理テーブルである。このテーブルの具体例については後述する。
【００４１】
パケットスケジューリング処理部１０５からのパケット出力は、トランスポート層からの明示的なパケット要求があった場合、もしくはスケジューリング情報管理部１０６の情報で決められた時間間隔の経過に基づいて実行される。スケジューリング情報、およびパケットスケジューリング処理部１０５における処理の詳細については後述する。
【００４２】
図３に示すフローに従って、本発明の通信処理装置において実行するパケット入力処理およびパケット出力処理の処理ステップの概要を説明する。
【００４３】
まず、パケット受信時の処理について説明する。ネットワークインタフェース層の処理により受け取られたパケットは、インターネット（Internet）層の処理によりパケット入力部１０１に渡される（Ｓ０１）。パケット入力部１０１からパケット優先度付け処理部１０２に渡されたパケットは、優先度付け情報管理部１０３の優先度付け情報（優先度付けルール情報管理テーブル）に基づいて優先度付け処理が実行される（Ｓ０２）。優先度が付けられないパケットはここで廃棄する。優先度の付けられたパケットはパケット蓄積部１０４に格納される（Ｓ０３）。パケット蓄積部１０４は、パケットが多量に蓄積され、パケットが蓄積できなくなった場合には優先度の低いパケットから廃棄してゆく。
【００４４】
次に、トランスポート層からのパケット要求時の処理を説明する。トランスポート層からの明示的なパケット要求があった場合、もしくはスケジューリング情報管理部１０６の情報で決められた時間間隔の経過の後、パケットスケジューリング処理部１０５はパケット出力処理を開始（Ｓ１１）する。パケットスケジューリング処理部１０５は、まず、スケジューリング情報管理部１０６の情報（スケジューリングルール情報管理テーブル）を元に、次に上層に渡すパケットの優先度を決定する（Ｓ１２）。次にパケットスケジューリング処理部１０５は、決定した優先度のパケットをパケット蓄積部１０４から受け取りパケット出力部に渡す（Ｓ１３）。パケット出力部１０７はトランスポート層の各プロトコルのパケット処理用関数を呼び出すことでパケットをトランスポート層に引き渡す。
【００４５】
本発明の通信処理装置および方法では、パケットを受信した通信処理装置において、通信相手の識別と処理の優先度付けを実行する。具体的には、例えば受信パケットに基づいてパケットの送信者情報を取得して送信者に応じた優先度付けを行う。特に家庭内の情報家電等の受信装置である通信処理装置の所有者の保有する通信端末からのパケットの優先度を高く設定した優先度付け情報や、所有者と認証された通信パケットの優先度を高く設定した優先度付け情報を予め優先度付け情報管理部１０３内の格納情報とし、この情報を用いた優先度付け処理を実行することで通信処理装置の所有者からのパケットの処理の優先度を高くすることが可能となる。
【００４６】
また、本発明の通信処理装置および方法では、不特定多数の端末からのリソースに対するＤｏＳ攻撃の予防が可能となる。任意の端末からのパケットの優先度を他のパケットに比べ下げた優先度付け情報を予め優先度付け情報管理部１０３内の格納情報とし、この情報を用いた優先度付け処理を実行することで、ＤｏＳ攻撃の予防が可能となる。ＤｏＳ攻撃目的とする優先度の低いパケットを大量に受け取っても、所有者からのパケットなど優先度の高いパケットが先に処理され、処理が間に合わなければ優先度の低いパケットすなわちＤｏＳ攻撃のパケットから先に廃棄される。このため、優先度の高い通信者からの受信パケットは、ＤｏＳ攻撃の影響を受けにくく、処理を確実に実行することができる。
【００４７】
また、本発明の通信処理装置および方法では、低いＣＰＵ能力への対応が可能となる。ＣＰＵの能力が低くトランスポート層以降の層での処理に時間がかかる場合には、パケットをトランスポート層に渡す時間間隔を大きく設定したスケジューリング情報を生成してスケジューリング情報管理部１０６内に格納し、パケットスケジューリング処理部１０５がスケジューリング情報管理部１０６内に格納された情報で決められた時間間隔の経過に基づいてパケット出力を実行する。時間間隔を大きくしたスケジューリング情報に基づいてパケット出力を行なうことによりＣＰＵの処理能力に適合したパケット出力が実行される。また、パケット蓄積部１０４において優先度の低いパケットから先に廃棄されるため、優先度の高いパケットは廃棄されにくい。特に、省電力モード用として、優先度の低いパケットを廃棄し、優先度の高いパケットのみ処理されるように設定することも可能である。これらの処理の詳細については、後述する。
【００４８】
以下、本発明の通信処理装置および方法における優先度付けおよびスケジューリング処理の詳細について説明する。
【００４９】
［優先度付けおよびスケジューリング処理]
通常の、ネットワークを介したパケット受信の処理、例えばリナックス・カーネル（Linux Kernel）のＴＣＰ／ＩＰプロトコルスタックの処理では、図４に示すように、受信パケットがネットワークインタフェース層において受信キューに格納され、その後、インターネット（Internet）層の処理を経てトランスポート層の各プロトコル(TCP,UDP,ICMP等)ごとの処理を呼び出してパケットを渡す手続きが実行される。
【００５０】
本発明の通信処理装置ではこのインターネット（Internet）層の処理の後に、受信パケットに優先度付けを行って、付与した優先度により複数のキューに分けて格納した後、スケジューリングをしてトランスポート層の各処理を呼び出す構成を持つ。図５に本発明の通信処理装置のパケット処理判定部の処理を説明する図を示す。
【００５１】
本発明の通信処理装置では、パケット受信時に、ネットワークインターフェース層、およびインターネット（Internet）層の処理の後、受信パケットは受信キュー５０１に格納されパケット優先度付け処理部５０２が呼び出される。
【００５２】
パケット優先度付け処理部５０２は、パケットに対する優先度付け処理を実行する。パケット優先度付け処理部５０２は、優先度付け情報管理部５０３内の格納データである優先度付けルール情報管理テーブルとマッチングを取りパケットの優先度を決定する。
【００５３】
優先度付け情報管理部５０３内の格納データである優先度付けルール情報管理テーブルのデータ構成例を図６に示す。
【００５４】
図６に示す各行が各データエントリを表しており、送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号、送信先ポート番号、プロトコルと、優先度がそれぞれ対応付けられて格納される。送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号、送信先ポート番号、プロトコルは、それぞれ優先度を判定するパケットのヘッダ情報中の対応値が満たすべき条件を表している。
【００５５】
例えばＴＣＰあるいはＵＤＰパケットには、それぞれヘッダ情報内に送信元ＩＰアドレス、送信先ＩＰアドレスが格納され、優先度付け処理部５０２は、パケットから取得されるこれらの情報と、図６に示す優先度付けルール情報管理テーブルとのマッチング処理を実行し、マッチングするデータエントリに格納された優先度情報を取得する。
【００５６】
図７に通信装置間で送受信される通信パケットの構成例として、ＩＰパケット構成のＩＰヘッダの詳細を示す。ＩＰｖ４、ＩＰｖ６等のバージョンを示すバージョン、ヘッダ長、さらに、優先度情報を格納したＴＯＳ（Type of Service）フィールド、パケットの長さ、パケットの識別子、ＩＰ層でのデータ分割（フラグメント）に関する制御情報としてのフラグ、分割（フラグメント）されたデータの場所を示す断片オフセット、データの破棄までの時間情報を示すＴＴＬ（Time to Live）、上位層で利用されるプロトコル（４：ＩＰ，ＴＣＰ：７，ＵＤＰ：１７…）ヘッダのチェックサム、送信元ＩＰアドレス、宛て先ＩＰアドレスを有する。
【００５７】
次に、図８にＩＰパケットのＴＣＰ(Transmission Control protocol)フォーマットを示す。ＴＣＰヘッダには、送信元ポート番号、宛先ポート番号、データパケットの先頭がそのデータの送信初めから何バイトにあたるかをバイト数で示したデータ順序を示すシーケンス番号、相手から次に送られるデータの送信シーケンス番号を示す受信確認番号、ヘッダ長、ＴＣＰセグメントの処理方法などのコードビットからなるヘッダ情報、データの残り受信可能バイト数を示すウィンドウサイズ、ＴＣＰパケットの信頼性保証値としてのチェックサム、緊急処理を要するデータ一を示す緊急ポインタを有する。
【００５８】
さらに、図９に、ＩＰパケットの構成中のＵＤＰ（User Datagram Protocol）ヘッダの詳細を示す。ＵＤＰはコネクションレス型のサービスを提供するプロトコルであり、シンプルなヘッダ構成を持つ。図に示すようにＵＤＰヘッダには、送信元ポート番号、宛先ポート番号、データ長としてのヘッダとデータ長の総バイト数を示す長さ。ＵＤＰパケットの信頼性保証値としてのチェックサムを有する。ＵＤＰはこのようにシンプルな構成であるため、制御が簡素化される。
【００５９】
図６に戻り、優先度付けルール情報管理テーブルのデータ構成について説明する。送信元ポート番号に示す［＞１０２３］は、１０２４以上のポート番号であることを表しており、［＊］は値が任意であることを表している。パケット内のヘッダ等から取得される情報とテーブル格納データとのマッチングを取り条件をすべて満たしたエントリを選択し、そのエントリに対応して設定された優先度をパケットの優先度とする。基本的に表の上からマッチングを調べるものとし、複数のルールを満たす場合にはより上の行の優先度に決定する。
【００６０】
優先度は０〜Ｎまでであり、数字の大きいものがより高い優先度を持つ設定である。最大値Ｎはあらかじめ決まっている値または端末の所有者が決めた値とする。優先度０は最も優先度が低いパケットであり廃棄するパケットを表す。各優先度に対応するキュー５０４−１〜Ｎのサイズは設定により決められた値である。基本的に優先度が上がるほど対応するキューのサイズも大きくなる。優先度が０のときにはそのパケットは廃棄する。パケットから取得したアドレス情報等とマッチングするエントリがない場合にも優先度を０とし、そのパケットは廃棄する。
【００６１】
例えば受信パケットのヘッダ情報から取得される送信元ＩＰアドレスが［42.156.42.31］送信先ＩＰアドレスが［56.67.43.15］、送信元ポート番号が［１０２４］、送信先ポート番号が［８０］であるＴＣＰパケットであれば、優先度付けルール情報管理テーブルの第１番目のエントリとマッチングするパケットであるので優先度［６］が設定される。
【００６２】
このように、パケット優先度付け処理部５０２は、受信パケットから取得される送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号、送信先ポート番号、プロトコルと、図６に示す優先度付けルール情報管理テーブルの各エントリとのマッチングを実行し、一致するエントリに対応付けられた優先度をその受信パケットの優先度として設定し、設定した優先度に対応したパケット蓄積部５０４内のキュー５０４−１〜Ｎにパケットを出力格納する。
【００６３】
優先度の付けられたパケットは優先度ごとに用意されたリングバッファによるキュー５０４−１〜Ｎに格納される。キュー５０４−１〜Ｎのサイズすなわち格納できる最大パケット量は、優先度により異なるあらかじめ設定された量である。基本的には優先度の高いキューほど大きいサイズが用意される。
【００６４】
パケットスケジューリング処理部５０５は、スケジューリング情報管理部５０６に格納したスケジューリングルール情報管理テーブルに従い、複数のキュー５０４−１〜Ｎからパケットを取り出し、トランスポート層を呼び出してパケットを渡す。この際に、トランスポート層を呼び出す時間間隔を調整し、また、各キューから時間の経過したパケットの廃棄を行う。
【００６５】
スケジューリング情報管理部５０６内の格納データであるスケジューリングルール情報管理テーブルのデータ構成例を図１０に示す。
【００６６】
図１０に示すように、スケジューリングルール情報管理テーブルは、パケットの優先度に対応させて、処理の配分比率を示すスケジューリング割合、キューから廃棄するまでのタイムアウト時間、トランスポート層にパケットを渡す時間間隔、時間間隔の設定の有効、無効の設定、の各データを格納している。さらに通常時および省電力時のそれぞれの状態（モード）別データを有しており、パケットを受信する装置の状態（モード）に応じて処理態様が変更されることになる。
【００６７】
パケットの出力順は、スケジューリングの割合によって決定される。例えば３種類の異なる優先度のパケットとして優先度３，２，１のパケットａ，ｂ，ｃがあり、それぞれのスケジューリングの割合が例えば、６０％，３０％，１０％として設定されている場合、パケットの出力は６：３：１の割合で実行される。例えばトランスポート層への出力を、ａａｂａａｂａａｂｃの順に順次、繰り返すことによって、６０％，３０％，１０％の処理割合が実現される。
【００６８】
スケジューリングの割合は合計で１００％となるようになっており、基本的に優先度が大きいほど割合も大きく設定される。スケジューリングによりパケットの処理に遅延が生じるため、受信後時間が経過したパケットに関しては廃棄する必要がある。このため、タイムアウト時間を各優先度ごとに用意する。各パケットをキューに格納する際にキューへの格納時間を記録して管理しておき、スケジューリング時に、キューへの格納後タイムアウト時間が経過したパケットを廃棄する。
【００６９】
トランスポート層に渡す時間間隔は、トランスポート層を呼び出してパケットを渡す時間の間隔の制御に使用され、時間間隔の有効/無効が有効であるときにはパケットをトランスポート層に渡す間に設定された時間間隔を置く。時間間隔が無効であるときには間隔をおかず、順次パケットをトランスポート層に渡してゆく。省電力モード時など、ＣＰＵの能力が低くトランスポート層以降の層での処理に時間がかかる場合のトランスポート層に渡す時間間隔は大きく設定する。図１０のテーブルでは、通常時は２０パケット／秒の時間間隔が設定され、省電力時は５パケット／秒とした設定である。このスケジューリングルール情報管理テーブルに従ったパケット出力を実行することで、ＣＰＵの処理能力に適合したパケット出力が可能となる。
【００７０】
これらの設定をパケットを受信する装置の状態（モード）に応じて複数用意して切り替えることが可能である。図１０の例では通常時と省電力時の２つの設定が用意されている例であるが、さらに複数のモードがある場合は各モードに応じて設定情報を生成してテーブルを構成するとともに、システムの設定により現在の設定を切り替える。図１０に示す例では、設定名［通常時］に現在の設定［Ｏ］が設定されており、現在この通信処理装置は通常時の状態（モード）にあることを示している。この状態では、図１０のテーブルの上半分のエントリからパケットに付与された優先度に対応するエントリを取得して、処理態様を決定する。
【００７１】
例えば、通常時のモード設定で、優先度［１］が付与されたパケットについての処理態様は、スケジューリング割合：１％、タイムアウト時間：５秒、トランスポート層に渡す時間間隔：２０パケット／秒で処理が実行されることになる。
【００７２】
次に、パケット優先度付け処理部における処理、およびパケットスケジューリング処理部における処理の手順についてフローチャートを参照して説明する。
【００７３】
まず、パケット優先度付け処理部における処理について、図１１の処理フローを参照して説明する。
【００７４】
インターネット等のネットワークを通じパケットを受信した通信処理装置は、ネットワークインタフェース層の処理により受信キューにパケットを格納し、その後、インターネット（Internet）層の処理を経て優先度付け処理が呼び出される。図１１に示す処理フローは、優先度付け処理の呼び出しを契機として実行される。
【００７５】
優先度付け処理部は、受信キューから処理対象のパケットを1つ取り出し（Ｓ２１）、そのパケット内の情報と優先度付けルール情報管理テーブルとを比較してマッチングを行い優先度を決定（Ｓ２２）する。テーブル中に対応するルールが存在せず優先度が決まらない場合には優先度は０に設定する。
【００７６】
次に決定した優先度の判定処理（Ｓ２３）を実行し、優先度が０の場合には、そのパケットの廃棄処理を実行（Ｓ２４）する。優先度が０でない場合には、優先度に対応するキューに格納することになる。キューはリングバッファになっており、空き領域がない場合（Ｓ２５でＹｅｓ）には、キューの最初からパケットを廃棄していき格納に必要な空き領域を用意する（Ｓ２６）。空き領域ができたのちキューの最後にパケットを格納（Ｓ２７）して優先度付け処理を終了する。
【００７７】
このように、パケット優先度付け処理部５０２は、優先度付け情報管理部５０３内の格納データである優先度付けルール情報管理テーブルとマッチングを取りパケットの優先度（０，１〜Ｎ）を決定し、優先度＝０の場合はパケットの廃棄を実行し、優先度≠０の場合は、設定した優先度に対応するキュー５０４−１〜Ｎに格納する処理を実行する。
【００７８】
次に、パケットスケジューリング処理部における処理の手順について図１２に示すフローチャートを参照して説明する。
【００７９】
パケットスケジューリング処理部は、スケジューリング情報管理部に格納されたスケジューリングルール情報管理テーブルに指定された時間間隔が経過したとき、またはトランスポート層からの明示的なパケット要求検出を契機としてスケジューリング処理を開始する。トランスポート層から明示的にパケットが要求される場合にはスケジューリングルール情報管理テーブルの現在の設定における時間間隔の有効/無効の確認処理（Ｓ３１）は行われず、図１２に示すステップＳ３４の処理から開始されることになる。
【００８０】
スケジューリング処理のフローの各ステップについて説明する。まずパケットスケジューリング処理部は、スケジューリング情報管理部に格納されたスケジューリングルール情報管理テーブルの現在の設定で、トランスポート層にパケットを渡す時間間隔の設定が有効であるか、無効であるかの設定情報を確認する（Ｓ３１）。時間間隔が有効である場合には、直前のパケット出力処理から設定された時間間隔経過するまで待つ(Ｓ３３)。無効である場合、及び既に時間間隔が経過している場合は、パケットを選択するキュー、すなわち出力するパケットの優先度を決定（Ｓ３４）する。
【００８１】
パケットの出力順は、前述したようにスケジューリングの割合によって決定される。例えば３種類の異なる優先度のパケットとして優先度３，２，１のパケットａ，ｂ，ｃがあり、それぞれのスケジューリングの割合が例えば、６０％，３０％，１０％として設定されている場合、パケットの出力は６：３：１の割合で実行され、トランスポート層への出力順を、例えばａａｂａａｂａａｂｃの順として設定することで、６０％，３０％，１０％の処理割合が実現される。
【００８２】
ステップＳ３４において、トランスポート層へ出力するパケットの優先度を決定した後、優先度に対応するキューからパケットを選択する。選択の際に、キューの最初のパケットからタイムアウトに関する確認が行われタイムアウトしているパケットは廃棄（Ｓ３５）してゆく。
【００８３】
タイムアウト確認はキューに記録されているパケット毎のキュー格納時間が、スケジューリングルール情報管理テーブルに格納されたタイムアウト時間を経過しているか否かの確認により行う。タイムアウトしているパケットを廃棄していきタイムアウトしていないパケットを見つけた時点（Ｓ３６でＹｅｓ）で、そのパケットを選び、トランスポート層に渡し（Ｓ３７）処理を終了する。タイムアウトの確認によりキューに含まれているパケットがすべてなくなった場合にはもう一度キューを決めなおし、別の優先度のキューからパケットを同様の処理で得る。
【００８４】
このように、本発明の通信処理装置および方法では、パケットを受信した通信処理装置において、受信パケットに基づいてパケットの送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号、送信先ポート番号、プロトコル等の情報を取得して、取得情報に応じた優先度付けを行い、設定した優先度付け情報に基づいてスケジューリング処理部においてパケットのトランスポート層への出力が高い優先度を持つパケットを優先して実行される。従って、例えば通信処理装置の所有者からのパケットの処理の優先度を高く設定することで、所有者からのパケットの優先処理が可能となる。
【００８５】
また、優先度付けルール情報管理テーブルに登録の無い端末からのパケットは、優先度が０に設定されることになり、ＤｏＳ攻撃目的とするパケットの優先度は０として設定されることになり、このようなパケットを大量に受け取っても優先度処理部において自動的に廃棄されることになり、優先度付けルール情報管理テーブルに登録された端末からのパケットの処理が妨げられることがない。
【００８６】
また、本発明の通信処理装置および方法では、例えば省電力モード時など、ＣＰＵの能力が低くトランスポート層以降の層での処理に時間がかかる場合には、パケットをトランスポート層に渡す時間間隔を大きく設定したスケジューリング情報をスケジューリングルール情報管理テーブルとして設定してスケジューリング情報管理部に格納し、テーブルに従ったパケット出力をすることで、ＣＰＵの処理能力に適合したパケット出力が可能となる。また、タイムアウトパケットは、パケット蓄積部において優先度の低いパケットから先に廃棄される構成であり、優先度の高いパケットは廃棄されにくく、高優先度のパケットの処理が優先的に実行されることになる。
【００８７】
なお、上述の説明では、送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号、送信先ポート番号、プロトコルの各情報のすべての情報のマッチングを行なって優先度の決定を行なう例について説明したが、これらの情報のすべてのマッチング処理ではなく、例えば送信元ＩＰアドレスのみ、あるいは、送信元ＩＰアドレスと送信元ポート番号のみを参照して優先度の決定処理を行なう構成としてもよい。
【００８８】
［通信処理装置構成例］
次に通信処理装置の構成例について図１３を用いて説明する。ＣＰＵ(Central processing Unit)７０１は、各種アプリケーションプログラムや、ＯＳ（Operating System）を実行する演算ユニットである。ＲＯＭ（Read-Only-Memory）７０２は、ＣＰＵ７０１が実行するプログラム、あるいは演算パラメータとしての固定データを格納する。ＲＡＭ（Random Access Memory）７０３は、ＣＰＵ７０１の処理において実行されるプログラム、およびプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用される。
【００８９】
キーボード７０８はＣＰＵ７０１に各種の指令を入力するためにユーザにより操作され、ポインティングデバイス７０９はディスプレイ７１０の画面上の位置指定、コマンド指定などの際にユーザによって操作される。ディスプレイ７１０は例えばＣＲＴ、液晶ディスプレイ等であり、各種情報をテキストまたはイメージ等により表示する。ＨＤＤ(Hard Disk Drive)７１１は、情報記憶媒体としてのハードディスクを駆動し、ハードディスクからのプログラム、データの読み取りまたはハードディスクに対するプログラム、データの書き込みを実行する。
【００９０】
ドライブ７１２は、フロッピーディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体７１３の記録再生を実行するドライブであり、各リムーバブル記録媒体７１３からのプログラムまたはデータ再生、リムーバブル記録媒体７１３に対するプログラムまたはデータ格納を実行する。
【００９１】
各記憶媒体に記録されたプログラムまたはデータを読み出してＣＰＵ７０１において実行または処理を行なう場合は、読み出したプログラム、データはインタフェース、バス７０６を介して例えば接続されているＲＡＭ７０３に供給する。キーボード７０８乃至ドライブ７１２はインタフェースに接続されており、インタフェースはバス７０６を介してＣＰＵ７０１に接続されている。
【００９２】
通信部７１４は通信処理装置の接続された例えばルータ等を介して他の端末またはサーバと通信し、ＣＰＵ７０１、ＨＤＤ７１１等から供給されたデータをパケット化して送信したり、ルータを介してパケットを受信する処理を実行する。通信部７０３はバス７０６を介してＣＰＵ７０１に接続されている。
【００９３】
通信部７１４を介して受信したパケットは、パケット処理判定部７１５において、前述した優先度付け処理およびスケジューリング処理が実行される。これらの処理は、図１３に示すように独立したパケット処理判定部７１５を持たない場合は、ＣＰＵ７０１の制御の下に、例えばＨＤＤ７１１等の記憶手段に優先度付けルール情報管理テーブルおよびスケジューリングルール情報管理テーブルを格納して、これらを参照しながら実行することも可能であるが、図１３に示すように独立したパケット処理判定部７１５を設けた場合は、優先度付け処理およびスケジューリング処理は、パケット処理判定部７１５において実行される。
【００９４】
パケット処理判定部７１５の構成例を図１４に示す。パケット処理判定部はＣＰＵ８０１、ＲＡＭ８０２、ＥＥＰＲＯＭなどの不揮発性メモリによって構成される記憶装置８０３、パケットを受け取るパケット受信部８０４、スケジューリングされたパケットを渡すパケット出力部８０５、各テーブルの設定や、パケット出力要求を受け取る要求受信部８０６からなる。
【００９５】
前述した優先度付け処理およびスケジューリング処理の各処理アルゴリズムがコード化されて、記憶装置に格納されておりＣＰＵにより実行される。パケット受信時には、パケット処理判定部７１５において、パケットへの優先度付け処理及びスケジューリング処理がＲＡＭ８０２をワークエリアとして実行され、パケット出力部８０５によりスケジューリングされたパケットが通信処理装置内の処理部としての例えばメインＣＰＵ７０１に渡される。優先度付けルール情報管理テーブル及び、スケジューリングルール情報管理テーブルは記憶装置８０３内に格納されており、通信処理装置のキーボード等の入力部を介してパケット処理判定部７１５の要求受信部８０６を介した入力情報に基づいてデータ設定、変更等の処理が可能である。また、各キューはＲＡＭ８０２上に優先度別に作成される。
【００９６】
このように、専用のパケット処理判定部７１５を通信処理装置内にハードウェアとして組み込むことにより、通信処理装置のシステムに影響を与えずに重要ではないパケットを廃棄することが可能になり、無駄なネットワーク処理によりシステム上の他処理の実行速度が低下することを防ぐことができる。
【００９７】
また、このパケット処理判定部に、認証処理機能を付加した構成とすることで、パケットの送信端末との認証処理を実行し、認証されない端末からのパケットはすべて廃棄し、認証された端末からのパケットのみを処理対象とする選別を行なう構成としてもよい。
【００９８】
また、このパケット処理判定部に、暗号処理、復号処理を実行する暗号処理機能を付加した構成とすることで暗号化パケットの復号処理を可能として、セキュアな通信に対応する構成としてもよい。
【００９９】
さらに、パケット処理判定部内に、セキュリティ機能として、既存のファイアウォールで存在するようなコンテンツフィルタリング処理機能や攻撃検知機能を加え、時間があるときのみこれらの追加のセキュリティ機能を使用することで端末のシステムに影響を与えずにより高度なセキュリティを与えることも可能となる。
【０１００】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１０１】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１０２】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフロッピーディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０１０３】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１０４】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【０１０５】
【発明の効果】
以上、説明したように、本発明の通信処理装置、および通信処理方法によれば、ネットワークを介してデータ（パケット）を受信したデータ受信側の通信処理装置において、受信パケットに基づいてパケットの送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号、送信先ポート番号、プロトコル等の情報に応じた優先度設定を行い、設定した優先度付け情報に基づいてパケット処理のスケジューリング処理を実行して、パケットのトランスポート層への出力処理を優先度に応じて実行することが可能となり、例えば通信処理装置の所有者等特定の端末からのパケットの処理の優先度を高く設定することで、端末を選別したパケットの優先処理が実現される。
【０１０６】
また、本発明の通信処理装置、および通信処理方法によれば、優先度付けルール情報管理テーブルに登録の無い端末からのパケットの優先度を０に設定する構成とし、優先度処理部において自動的に廃棄する構成としたので、ＤｏＳ攻撃目的とするパケットの優先度は０として設定され、このようなパケットを大量に受け取っても優先度処理部において自動的に廃棄されることになり、優先度付けルール情報管理テーブルに登録された所有者等の特定端末からのパケットの処理が妨げられることがない。
【０１０７】
また、本発明の通信処理装置および方法によれば、優先度別のスケジューリングルールを規定したスケジューリングルール情報管理テーブルを使用したパケット出力を行なう構成とし、さらに、省電力モード時など、ＣＰＵの能力が低くトランスポート層以降の層での処理に時間がかかる場合には、パケットをトランスポート層に渡す時間間隔を大きく設定したスケジューリング情報を設定してテーブルに従ったパケット出力を実行する構成としたので、ＣＰＵの処理能力に適合したパケット出力が可能となる。
【０１０８】
また、本発明の通信処理装置および方法において、優先度付け処理およびスケジューリング処理専用のパケット処理判定部をハードウェア化して通信処理装置としての端末に組み込む構成とすれば、必要のないパケットの振り落としをパケット処理判定部で行うことができ、端末のシステムで処理すべきパケットが来るまで、端末のシステムに影響を与えず余計な負荷を情報家電等の通信端末装置に与えることが防止される。
【図面の簡単な説明】
【図１】ＴＣＰコネクションの処理の概要を説明する図である。
【図２】本発明の通信処理装置におけるパケット処理判定部の処理概要を説明する図である。
【図３】本発明の通信処理装置におけるパケット処理判定部の処理概要を説明するフロー図である。
【図４】通信処理装置におけるネットワークインタフェース送およびトランスポート層間の処理を説明する図である。
【図５】本発明の通信処理装置におけるパケット処理判定部の処理概要を説明する図である。
【図６】本発明の通信処理装置のパケット優先度付け処理部で適用する優先度付けルール情報管理テーブルのデータ構成例を示す図である。
【図７】ＩＰパケットにおけるＩＰヘッダの構成を説明する図である。
【図８】ＩＰパケットにおけるＴＣＰヘッダの構成を説明する図である。
【図９】ＩＰパケットにおけるＵＤＰヘッダの構成を説明する図である。
【図１０】本発明の通信処理装置のパケットスケジューリング処理部で適用するスケジューリングルール情報管理テーブルのデータ構成例を示す図である。
【図１１】本発明の通信処理装置のパケット優先度付け処理部で実行するパケット優先度付け処理フローを示す図である。
【図１２】本発明の通信処理装置のパケットスケジューリング処理部で実行するスケジューリング処理フローを示す図である。
【図１３】本発明の通信処理装置のシステム構成例を示す図である。
【図１４】本発明の通信処理装置におけるパケット処理判定部のシステム構成例を示す図である。
【符号の説明】
１０１  パケット入力部
１０２  パケット優先度付け処理部
１０３  優先度付け情報管理部
１０４  パケット蓄積部
１０５  パケットスケジューリング処理部
１０６  スケジューリング情報管理部
１０７  パケット出力部
５０１  受信キュー
５０２  パケット優先度付け処理部
５０３  優先度付け情報管理部
５０４  パケット蓄積部
５０５  パケットスケジューリング処理部
５０６  スケジューリング情報管理部
７０１  ＣＰＵ(Central processing Unit)
７０２  ＲＯＭ（Read-Only-Memory）
７０３  ＲＡＭ（Random Access Memory）
７０６  バス
７０８  キーボード
７０９  ポインティングデバイス
７１０  ディスプレイ
７１１  ＨＤＤ
７１２  ドライブ
７１３  リムーバブル記憶媒体
７１４  通信部
７１５  パケット処理判定部
８０１  ＣＰＵ(Central processing Unit)
８０２  ＲＡＭ（Random Access Memory）
８０３  記憶装置
８０４  パケット受信部
８０５  パケット出力部
８０６  要求受信部
【図１】
0003876687.tif 000002
【図２】
0003876687.tif 000003
【図３】
0003876687.tif 000004
【図４】
0003876687.tif 000005
【図５】
0003876687.tif 000006
【図６】
0003876687.tif 000007
【図７】
0003876687.tif 000008
【図８】
0003876687.tif 000009
【図９】
0003876687.tif 000010
【図１０】
0003876687.tif 000011
【図１１】
0003876687.tif 000012
【図１２】
0003876687.tif 000013
【図１３】
0003876687.tif 000014
【図１４】
0003876687.tif 000015