(57)【要約】【課題】高速にパケットを処理する情報処理装置を低コストで提供する。【解決手段】外部から受信した受信情報を処理する情報処理装置であって、受信情報の少なくとも一部を含むキーに対応付けて、当該受信情報に対する処理を示す処理情報を、予め連想記憶する処理情報格納部と、受信情報の少なくとも一部を抽出して処理情報格納部にキーとして供給し、処理情報格納部に当該受信情報に対応する処理情報を出力させる処理情報制御部と、処理情報格納部が出力する処理情報により指定されるシーケンスを実行するシーケンサと、シーケンサが実行するシーケンスに従って、受信情報を処理する受信情報処理部とを備える。【選択図】　図２
2004104450.tif 000002
【特許請求の範囲】
【請求項１】
外部から受信した受信情報を処理する情報処理装置であって、
前記受信情報の少なくとも一部を含むキーに対応付けて、当該受信情報に対する処理を示す処理情報を、予め連想記憶する処理情報格納部と、
前記受信情報の少なくとも一部を抽出して前記処理情報格納部に前記キーとして供給し、前記処理情報格納部に当該受信情報に対応する前記処理情報を出力させる処理情報制御部と、
前記処理情報格納部が出力する前記処理情報により指定されるシーケンスを実行するシーケンサと、
前記シーケンサが実行する前記シーケンスに従って、前記受信情報を処理する受信情報処理部と
を備えることを特徴とする情報処理装置。
【請求項２】
前記処理情報制御部は、前記受信情報として、ネットワークからパケットを受信し、
前記処理情報格納部は、前記パケットのヘッダの少なくとも一部を含む前記キーに対応付けて、前記処理情報を予め格納し、
前記受信情報処理部は、前記処理情報に基づいて前記シーケンサが実行する前記シーケンスに従って、前記パケットを処理することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記処理情報格納部は、前記パケットのヘッダに含まれるべき、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、及び宛先ポート番号の少なくとも一部を前記キーとして、前記処理情報を予め格納することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
受信した前記パケットに対応する前記処理情報を前記処理情報格納部が格納していない場合、前記受信情報処理部は前記パケットを破棄することを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記情報処理装置の外部に設けられた通信機器との間で確立したセッションを示すセッション情報を格納するセッション情報格納部を更に備え、
受信した前記パケットがＴＣＰ（Ｔｒａｎｓｐｏｒｔ　Ｃｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ）に基づくＴＣＰパケットである場合、前記処理情報制御部は、当該ＴＣＰパケットのヘッダに基づき、前記セッション情報格納部が格納する前記セッション情報を更新することを特徴とする請求項２に記載の情報処理装置。
【請求項６】
前記ＴＣＰパケットの前記ヘッダに含まれるフラグがＳＹＮである場合、前記セッション情報格納部は、当該ＴＣＰパケットに対応するセッションを示す前記セッション情報を含むエントリを、新たに格納することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記セッション情報格納部は、前記ＴＣＰパケットのヘッダに含まれる、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、及びフラグと、前記セッションを識別するセッションＩＤとの少なくとも一部を含むキーに対応付けて、前記セッション情報を連想記憶することを特徴とする請求項５に記載の情報処理装置。
【請求項８】
前記セッション情報格納部は、前記フラグを含む前記セッション情報を格納し、
前記受信情報処理部は、受信した前記ＴＣＰパケットのフラグが示す遷移状態が、前記セッション情報に含まれる前記フラグが示す遷移状態の次の状態として適切か否かを判定し、適切であると判定した場合には当該ＴＣＰパケットを処理し、適切でないと判定した場合には当該ＴＣＰパケットを破棄することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
受信した前記ＴＣＰパケットのフラグが示す遷移状態が、前記次の状態として適切と判定された場合、前記受信情報処理部は、前記ＴＣＰパケットを前記情報処理装置の外部に設けられた他の通信機器に転送することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記処理情報格納部、前記処理情報制御部、前記シーケンサ、前記受信情報処理部、及び前記セッション情報格納部は、一の半導体チップにモノリシックに形成された電子回路であることを特徴とする請求項５に記載の情報処理装置。
【請求項１１】
前記半導体チップにモノリシックに形成され、前記パケットを転送すべき経路を示す経路情報を格納する経路情報格納部を更に備え、
前記受信情報処理部は、前記経路情報により指定される、前記情報処理装置の外部に設けられた他の通信機器に、前記パケットを転送することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記処理情報格納部、前記セッション情報格納部、及び前記経路情報格納部は、入力されるキーに応じて、前記処理情報、前記セッション情報、又は前記経路情報のいずれかを出力する一の連想記憶メモリとして実装されることを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
予め定められた暗号方式で暗号化された前記パケットを復号する暗号処理部を更に備え、
前記処理情報制御部は、前記パケットが、前記暗号方式で暗号化されているか否かを判定し、前記パケットが前記暗号方式で暗号化されている場合、当該パケットを前記暗号処理部に復号させ、復号された前記パケットから前記ヘッダの少なくとも一部を抽出して、前記処理情報格納部に前記キーの少なくとも一部として供給し、
前記処理情報格納部は当該キーに対応する前記処理情報を出力することを特徴とする請求項２に記載の情報処理装置。
【請求項１４】
外部から受信した受信情報を処理する情報処理方法であって、
前記受信情報の少なくとも一部を抽出する情報抽出段階と、
前記受信情報の少なくとも一部を含むキーに対応付けて、当該受信情報に対する処理を示す処理情報を予め連想記憶する処理情報格納部に、抽出した前記受信情報の少なくとも一部をキーの少なくとも一部として供給し、前記処理情報格納部に当該受信情報に対応する前記処理情報を出力させる処理情報出力段階と、
前記処理情報格納部が出力する前記処理情報により指定されるシーケンスを実行するシーケンス実行段階と、
前記シーケンスに従って、前記受信情報を処理する受信情報処理段階と
を備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置及び情報処理方法に関する。特に本発明は、外部から受信した受信情報を処理する情報処理装置に関する。
【０００２】
【従来の技術】
従来、シーケンサの実行するシーケンスに従って、受信したパケットを処理する情報処理装置が知られている。当該情報処理装置は、パケットが示す情報に対する条件判定をシーケンスに従って順次行って、パケットを処理する。
【０００３】
【発明が解決しようとする課題】
しかし、従来の情報処理装置においては、パケットが示す情報の判定に時間がかかる場合があった。そのため、従来、パケットを高速に処理するのは困難であった。
【０００４】
そこで本発明は、上記の課題を解決することのできる情報処理装置及び情報処理方法を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【０００５】
【課題を解決するための手段】
即ち、本発明の第１の形態によると、外部から受信した受信情報を処理する情報処理装置であって、受信情報の少なくとも一部を含むキーに対応付けて、当該受信情報に対する処理を示す処理情報を、予め連想記憶する処理情報格納部と、受信情報の少なくとも一部を抽出して処理情報格納部にキーとして供給し、処理情報格納部に当該受信情報に対応する処理情報を出力させる処理情報制御部と、処理情報格納部が出力する処理情報により指定されるシーケンスを実行するシーケンサと、シーケンサが実行するシーケンスに従って、受信情報を処理する受信情報処理部とを備える。
【０００６】
処理情報制御部は、受信情報として、ネットワークからパケットを受信し、処理情報格納部は、パケットのヘッダの少なくとも一部を含むキーに対応付けて、処理情報を予め格納し、受信情報処理部は、処理情報に基づいてシーケンサが実行するシーケンスに従って、パケットを処理してよい。処理情報格納部は、パケットのヘッダに含まれるべき、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、及び宛先ポート番号の少なくとも一部をキーとして、処理情報を予め格納してよい。受信したパケットに対応する処理情報を処理情報格納部が格納していない場合、受信情報処理部は当該パケットを破棄してよい。
【０００７】
情報処理装置の外部に設けられた通信機器との間で確立したセッションを示すセッション情報を格納するセッション情報格納部を更に備え、受信したパケットがＴＣＰ（Ｔｒａｎｓｐｏｒｔ　Ｃｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ）に基づくＴＣＰパケットである場合、処理情報制御部は、当該ＴＣＰパケットのヘッダに基づき、セッション情報格納部が格納するセッション情報を更新してよい。ＴＣＰパケットのヘッダに含まれるフラグがＳＹＮである場合、セッション情報格納部は、当該ＴＣＰパケットに対応するセッションを示すセッション情報を含むエントリを、新たに格納してよい。
【０００８】
セッション情報格納部は、ＴＣＰパケットのヘッダに含まれる、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、及びフラグと、セッションを識別するセッションＩＤとの少なくとも一部を含むキーに対応付けて、セッション情報を連想記憶してよい。セッション情報格納部は、フラグを含むセッション情報を格納し、受信情報処理部は、受信したＴＣＰパケットのフラグが示す遷移状態が、セッション情報に含まれるフラグが示す遷移状態の次の状態として適切か否かを判定し、適切であると判定した場合には当該ＴＣＰパケットを処理し、適切でないと判定した場合には当該ＴＣＰパケットを破棄してよい。受信したＴＣＰパケットのフラグが示す遷移状態が、当該次の状態として適切と判定された場合、受信情報処理部は、ＴＣＰパケットを情報処理装置の外部に設けられた他の通信機器に転送してよい。
【０００９】
処理情報格納部、処理情報制御部、シーケンサ、受信情報処理部、及びセッション情報格納部は、一の半導体チップにモノリシックに形成された電子回路であってよい。当該半導体チップにモノリシックに形成され、パケットを転送すべき経路を示す経路情報を格納する経路情報格納部を更に備え、受信情報処理部は、当該経路情報により指定される、情報処理装置の外部に設けられた他の通信機器に、パケットを転送してよい。処理情報格納部、セッション情報格納部、及び経路情報格納部は、入力されるキーに応じて、処理情報、セッション情報、又は経路情報のいずれかを出力する一の連想記憶メモリとして実装されてよい。
【００１０】
予め定められた暗号方式で暗号化されたパケットを復号する暗号処理部を更に備え、処理情報制御部は、パケットが、当該暗号方式で暗号化されているか否かを判定し、パケットが当該暗号方式で暗号化されている場合、当該パケットを暗号処理部に復号させ、復号されたパケットからヘッダの少なくとも一部を抽出して、処理情報格納部にキーの少なくとも一部として供給し、処理情報格納部は当該キーに対応する処理情報を出力してよい。
【００１１】
本発明の第２の形態によると、外部から受信した受信情報を処理する情報処理方法であって、受信情報の少なくとも一部を抽出する情報抽出段階と、受信情報の少なくとも一部を含むキーに対応付けて、当該受信情報に対する処理を示す処理情報を予め連想記憶する処理情報格納部に、抽出した受信情報の少なくとも一部をキーの少なくとも一部として供給し、処理情報格納部に当該受信情報に対応する処理情報を出力させる処理情報出力段階と、処理情報格納部が出力する処理情報により指定されるシーケンスを実行するシーケンス実行段階と、当該シーケンスに従って、受信情報を処理する受信情報処理段階とを備える。
【００１２】
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【００１３】
【発明の実施の形態】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態はクレームにかかる発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１４】
図１は、本発明の一実施形態に係るホームゲートウェイ１００の構成の一例を示す。本実施形態のホームゲートウェイ１００は、外部の通信機器から受け取るパケットを高速に処理して、他の通信機器に転送する。ホームゲートウェイ１００は、例えば、ルータの機能を有してよい。
【００１５】
ホームゲートウェイ１００は、複数の通信インターフェース１０４−１〜２、制御インターフェース１０６、情報処理部１０２、キューバッファ１１６、ＣＰＵ１１０、ＲＡＭ１１８、初期値格納部１２０、ＤＭＡコントローラ１１２、タイマ１１４、ブリッジ１０８、及びバス１２２を備える。
【００１６】
複数の通信インターフェース１０４−１〜２のそれぞれは、サーバ１５０及びパーソナルコンピュータ１５２のそれぞれと通信可能に接続され、パケットを送受信する。複数の通信インターフェース１０４−１〜２のそれぞれは、例えばイーサネット（登録商標）やシリアルインターフェース等であってよい。また、本実施形態において、通信インターフェース１０４−１は、インターネットを介してサーバ１５０と接続される。
【００１７】
制御インターフェース１０６は、複数の被制御機器１５４−１〜２と通信可能に接続され、これらを制御する。制御インターフェース１０６は、例えば、８０２．１１ｂ、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ、又はＩＥＥＥ１３９４等に基づくインターフェースであってよく、複数の被制御機器１５４−１〜２に対してパケットを送受信して、これらを制御する。
【００１８】
尚、サーバ１５０、パーソナルコンピュータ１５２、及び複数の被制御機器１５４−１〜２のそれぞれは、ホームゲートウェイ１００の外部に設けられた通信機器の一例である。これらの通信機器は、例えばＬＡＮ（Ｌｏｃａｌ　ＡｒｅａＮｅｔｗｏｒｋ）等のネットワークを介して通信インターフェース１０４−１〜２、又は制御インターフェース１０６と接続されてよい。また、複数の被制御機器１５４−１〜２のそれぞれは、例えば、デジタルセットトップボックス、デジタルテレビ受信機、家庭用ゲーム機、ＰＤＡ、若しくは携帯電話機等の情報機器であってもよく、デジタルカメラ、ＨＤＤ録画機、若しくはＤＶＤプレイヤ等のデジタル機器、エアコン若しくは冷蔵庫等の家電製品、又は温度計若しくは圧力センサ等の各種センサ等であってよい。
【００１９】
情報処理部１０２は、本発明に係る情報処理装置の一例であり、ホームゲートウェイ１００の外部から受信した受信情報を処理する。本実施形態において、情報処理部１０２は、サーバ１５０、パーソナルコンピュータ１５２、又は被制御機器１５４−１〜２から、受信情報の一例である、ＩＰ（Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）に基づくパケットを受け取り、処理する。
【００２０】
情報処理部１０２は、サーバ１５０及びパーソナルコンピュータ１５２のそれぞれと、複数の通信インターフェース１０４−１〜２を介して接続され、制御インターフェース１０６、ブリッジ１０８、及びバス１２２を介して、複数の被制御機器１５４−１〜２に接続される。そして、情報処理部１０２は、サーバ１５０、パーソナルコンピュータ１５２、及び被制御機器１５４−１〜２における、一の通信機器から受け取ったパケットを、他の通信機器に転送する。
【００２１】
キューバッファ１１６は、例えばＤＲＡＭ等のメモリであり、情報処理部１０２が転送するパケットをキューとして一時記憶するバッファである。また、ＣＰＵ１１０は、ホームゲートウェイ１００の動作を制御する。ＲＡＭ１１８は、ＣＰＵ１１０が参照するメモリである。初期値格納部１２０は、例えば、フラッシュメモリ等の不揮発メモリであってよく、ホームゲートウェイ１００の起動時に、情報処理部１０２に設定すべき情報を格納する。
【００２２】
ＤＭＡコントローラ１１２は、制御インターフェース１０６とＲＡＭ１１８との間のデータの転送を制御する。タイマ１１４は、ホームゲートウェイ１００の動作の同期を制御する。タイマ１１４は、例えば、ウォッチドックタイマの機能を有してよい。本実施形態によれば、受信したパケットを適切に処理して転送することができる。
【００２３】
ここで、ホームゲートウェイ１００は、例えばサーバ１５０等と、ＳＮＭＰ（Ｓｉｍｐｌｅ　Ｎｅｔｗｏｒｋ　Ｍａｎａｇｅｍｅｎｔ　Ｐｒｏｔｏｃｏｌ）等に基づいて通信し、当該通信に基づいて複数の被制御機器１５４−１、２を制御してよい。また、ホームゲートウェイ１００は、複数の被制御機器１５４−１、２から受け取る情報に基づく送信情報を、例えばサーバ１５０等に送信してもよい。
【００２４】
例えば、ホームゲートウェイ１００は、被制御機器１５４の一例であるカメラが撮像する画像に基づいて、当該カメラの周囲の異常を検出し、異常を検出した場合、当該異常を示す送信情報を、例えばＳＮにより、サーバ１５０に送信してよい。また、ホームゲートウェイ１００は、開閉扉又は門等に取り付けられた磁気センサの出力に基づき、当該開閉扉又は門等の開閉を検知して、当該検知の結果をサーバ１５０に送信してもよい。これらの場合、ホームゲートウェイ１００が設置された家庭等の状態を、当該家庭等の外部において、適切に監視することができる。また、これにより、当該家庭等の状態を、効率よく管理及び監視する防災システム等を提供することができる。
【００２５】
また、ホームゲートウェイ１００は、例えば、水道、ガス、又は電気等の使用量の検針を行い、当該検針の結果をサーバ１５０に送信してもよい。この場合、ホームゲートウェイ１００が設置された家庭等のライフラインの管理を適切に行うことができる。
【００２６】
図２は、情報処理部１０２の詳細な構成の一例を示す。情報処理部１０２は、ＣＡＭ２０４、処理情報制御部２０２、シーケンサ２０６、パケット処理部２０８、及び暗号処理部２１０を有する。
【００２７】
ＣＡＭ２０４は、連想記憶メモリの一例であり、受信するパケットに対する処理を示す処理情報を、受信すべきパケットのヘッダの少なくとも一部を含むキーに対応付けて、予め連想記憶する。これにより、ＣＡＭ２０４は、処理情報格納部の機能を有する。ＣＡＭ２０４は、外部から受け取るキーと、キーが一致するエントリ（行）に対応する処理情報を出力する。本実施形態において、ＣＡＭ２０４は、ホームゲートウェイ１００（図１参照）の起動時に、初期値格納部１２０（図１参照）から処理情報を受け取って格納する。
【００２８】
また、ＣＡＭ２０４は、ホームゲートウェイ１００の外部に設けられた通信機器との間で確立したセッションを示すセッション情報を格納するセッション情報格納部の機能を更に有する。本実施形態において、ＣＡＭ２０４は、更に、パケットを転送すべき経路を示す経路情報を格納する経路情報格納部の機能を有する。すなわち、本実施形態において、処理情報格納部、セッション情報格納部、及び経路情報格納部は、一のＣＡＭ２０４として実装され、入力されるキーに応じて、処理情報、セッション情報、又は経路情報のいずれかを出力する。
【００２９】
処理情報制御部２０２は、ホームゲートウェイ１００が受信したパケットのヘッダの少なくとも一部を抽出してＣＡＭ２０４にキーとして供給し、ＣＡＭ２０４に当該パケットに対応する処理情報を出力させる。また、受信したパケットが、ＴＣＰ（Ｔｒａｎｓｐｏｒｔ　Ｃｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ）に基づくＴＣＰパケットである場合、処理情報制御部２０２は、当該ＴＣＰパケットのヘッダに基づき、ＣＡＭ２０４が格納するセッション情報を更新する。
【００３０】
シーケンサ２０６は、予め定められた複数のシーケンスから、ＣＡＭ２０４が出力する処理情報により指定される一のシーケンスを選択して実行する。これにより、シーケンサ２０６は、ＣＡＭ２０４に格納された処理情報に基づき、パケットの処理において実行すべきシーケンスを速やかに決定し、パケットに応じたシーケンスを速やかに実行する。そのため、本実施形態によれば、受信したパケットを高速に処理することができる。
【００３１】
また、パケット処理部２０８は、シーケンサ２０６が実行するシーケンスに従って、パケットを処理する。そのため、本実施形態によれば、汎用性の高い回路構成により、柔軟にパケットを処理することができる。これにより、ホームゲートウェイ１００を低コストで提供することができる。すなわち、本実施形態によれば、高速にパケットを処理する情報処理装置を低コストで提供することができる。
【００３２】
また、本実施形態において、パケット処理部２０８は、パケット中継部２１２及び転送処理部２１４を含む。パケット中継部２１２は、シーケンサ２０６が実行するシーケンスに従って、パケットのヘッダに基づき、パケットを転送処理部２１４に中継するか否かを判定する。また、パケットを転送処理部２１４に転送しない場合、パケット中継部２１２は、当該パケットを破棄する。
【００３３】
例えば、受信したパケットに対応する処理情報をＣＡＭ２０４が格納していない場合、パケット中継部２１２は当該パケットを破棄する。また、パケット中継部２１２は、受信したＴＣＰパケットのヘッダと、処理情報制御部２０２に格納されたセッション情報とを比較して、受信したＴＣＰパケットが適切であるかを判定し、不適切なＴＣＰパケットを破棄する。この場合、パケット中継部２１２は、セッション情報に対するキーとしてＣＡＭ２０４に格納された情報に基づき、当該判定を行ってよい。これにより、ホームゲートウェイ１００は、安全にパケットを転送することができる。
【００３４】
転送処理部２１４は、ＣＡＭ２０４に格納された経路情報により指定される通信機器にパケットを転送する。本実施形態において、転送処理部２１４は、転送すべきパケットを、キューバッファ１１６に一旦格納し、シーケンサ２０６が実行するシーケンスに従って、転送処理を行う。この場合、転送処理部２１４は、処理情報に基づき、転送の優先度を決定し、当該優先度に従ってパケットを転送してよい。また、転送処理部２１４は、処理情報に基づき、当該パケットの転送の可否を判定してよい。
【００３５】
暗号処理部２１０は、例えば、ＤＥＳ（Ｄａｔａ　Ｅｎｃｒｙｐｔｉｏｎ　Ｓｔａｎｄａｒｄ）、トリプルＤＥＳ等の予め定められた暗号方式で暗号化されたパケットを復号する。例えば、ホームゲートウェイ１００が暗号化されたパケットを受信した場合、暗号処理部２１０は、処理情報制御部２０２の指示に応じて、当該パケットを復号する。この場合、処理情報制御部２０２は、例えば、当該指示に応じて、パケットのヘッダ、及び当該パケットに対応する処理情報に基づき、復号の要否を判定し、復号が必要な場合には、予め定められた複数の暗号方式から当該パケットに対応する暗号方式を選択し、復号を行ってよい。
【００３６】
また、暗号処理部２１０は、転送処理部２１４の指示に応じて、ホームゲートウェイ１００の外部に転送するパケットを暗号化してよい。尚、処理情報制御部２０２は、例えば、ＩＰｓｅｃのＥＳＰ（Ｅｎｃａｐｓｕｌａｔｉｎｇ　Ｓｅｃｕｒｉｔｙ　Ｐａｙｌｏａｄ）暗号化及び復号化の処理と、事前共有鍵（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）の生成を行ってよい。
【００３７】
尚、本実施形態において、ＣＡＭ２０４、処理情報制御部２０２、シーケンサ２０６、パケット処理部２０８、及び暗号処理部２１０は、一の半導体チップにモノリシックに形成された電子回路である。そのため、本実施形態によれば、更に低コストでホームゲートウェイ１００を提供することができる。
【００３８】
図３は、処理情報制御部２０２の構成の一例を示す。処理情報制御部２０２は、ヘッダ抽出部３０２、ヘッダ格納部３０４、及びヘッダ処理部３０６を含む。また、本実施形態において、ＣＡＭ２０４は、処理情報の一例であるクラスＩＤを予め格納する。クラスＩＤは、例えば、ユーザにより予め定められた、パケットに対する処理のフローを示す情報である。
【００３９】
ヘッダ抽出部３０２は、ホームゲートウェイ１００（図１参照）が受信したパケットの受信フレームからヘッダを抽出し、抽出したヘッダを、ヘッダ格納部３０４に格納（Ｃａｐｔｕｒｅ）させる。また、ヘッダ抽出部３０２は、更に、抽出したヘッダに基づき、当該パケットのプロトコル、及び対応するアプリケーションを識別（Ｒｅｃｏｇｎｉｔｉｏｎ）する。ヘッダ抽出部３０２は、例えば、ヘッダのチェックサム、又はヘッダが示すバージョン等により、ヘッダの正当性を検証（Ｖｅｒｉｆｉｃａｔｉｏｎ）するのが好ましい。
【００４０】
ここで、暗号化されたパケットを受け取った場合、ヘッダ抽出部３０２は、暗号処理部２１０の当該パケットを復号させる。また、ヘッダ抽出部３０２は、受け取ったパケットを、パケット中継部２１２に与える。
【００４１】
ヘッダ格納部３０４は、ヘッダ抽出部３０２が抽出したヘッダの内容を示すヘッダ情報を一時記憶するレジスタである。ヘッダ格納部３０４は、パケット中継部２１２及びヘッダ処理部３０６のそれぞれの要求に応じて、ヘッダ情報をこれらに出力する。
【００４２】
ヘッダ処理部３０６は、ヘッダ格納部３０４に格納されたヘッダ情報に基づき、クラスＩＤを、ＣＡＭ２０４から取得する。これにより、ヘッダ処理部３０６は、パケットを、ユーザにより予め定められたクラスに分類する。そして、シーケンサ２０６（図２参照）は、パケットのクラスＩＤに対応するシーケンスを実行する。そのため、本実施形態によれば、シーケンサ２０６は、受信したパケットに応じたシーケンスを速やかに実行することができる。
【００４３】
また、ヘッダ処理部３０６は、パケットのヘッダに基づき、ＣＡＭ２０４に格納されたセッション情報を更新する。これにより、セッションを適切に管理することができる。
【００４４】
図４は、ユーザにより予め定められた、パケットに対する処理のフローを識別する情報の一例を示す。ＣＡＭ２０４は、図４が示す情報の少なくとも一部を含むキーに対応付けて、処理情報を格納してよい。本実施形態において、ヘッダ処理部３０６は、プロトコル番号、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、及びアプリケーションが参照するＵＲＬの少なくとも一部を含むキーをＣＡＭ２０４に入力し、キーが一致するエントリに対応するクラスＩＤをＣＡＭ２０４から取得する。これにより、ヘッダ処理部３０６は、パケットをクラスに分類する。
【００４５】
例えば、受信したパケットのヘッダが示すプロトコル番号が６であり、送信元ＩＰアドレスが自己（ホームゲートウェイ１００）のアドレスであり、宛先ＩＰアドレスがＥＲＰ（Ｅｎｔｅｒｐｒｉｓｅ　Ｒｅｓｏｕｒｃｅ　Ｐｌａｎｎｉｎｇ）サーバのアドレスであり、送信元ポート番号が任意であり、及び宛先ポート番号がＥＲＰを示すポートである場合、ＣＡＭ２０４は、ヘッダ処理部３０６からのキーの入力に応じて、ＥＲＰに基づくパケットに対する処理のフローを示すクラスＩＤである値０１を出力する。
【００４６】
また、プロトコル番号が１７、送信元ＩＰアドレスが自己のアドレス、宛先ＩＰアドレスが任意、送信元ポート番号がＶｏＩＰ（Ｖｏｉｃｅ　ｏｖｅｒ　ＩＰ）の送信元を示すポート、宛先ポート番号がＶｏＩＰの宛先を示すポートである場合、ＣＡＭ２０４は、ＶｏＩＰに基づくパケットに対するクラスＩＤである値０２を出力する。
【００４７】
プロトコル番号が６、送信元ＩＰアドレスがＦＴＰ（Ｆｉｌｅ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）サーバ、宛先ＩＰアドレスが自己のアドレス、送信元ポート番号が２１番、宛先ポート番号が任意である場合、ＣＡＭ２０４は、ＦＴＰに基づくパケットに対するクラスＩＤである値０３を出力する。
【００４８】
プロトコル番号が６、５０、又は５１、送信元ＩＰアドレスが自己のアドレス、宛先ＩＰアドレスが対向ルータのアドレス、送信元ポート番号がＵＤＰ（Ｕｓｅｒ　Ｄａｔａｇｒａｍ　Ｐｒｏｔｏｃｏｌ）の５００番、宛先ポート番号がＵＤＰの５００番である場合、ＣＡＭ２０４は、ＩＰｓｅｃ（ＩＰ　Ｓｅｃｕｒｉｔｙ）に基づくパケットに対するクラスＩＤである値０４を出力する。
【００４９】
プロトコル番号が６、送信元ＩＰアドレスがＨＴＴＰ（Ｈｙｐｅｒ　ＴｅｘｔＴｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）サーバ、宛先ＩＰアドレスが自己のアドレス、送信元ポート番号が８０番、宛先ポート番号が任意、アプリケーションが参照するＵＲＬが予め定められたＵＲＬである場合、ＣＡＭ２０４は、ＨＴＴＰに基づくパケットに対するクラスＩＤである値１Ｂを出力する。
【００５０】
図５は、ＣＡＭ２０４が処理情報を対応付けるキーの一例を示す。本実施形態において、ＣＡＭ２０４は、パケットのヘッダに含まれるべき、送信元ＩＰアドレス（ＳＡ）、宛先ＩＰアドレス（ＤＡ）、送信元ポート番号（ＳＰ）、及び宛先ポート番号（ＤＰ）をキーとして、処理情報を予め格納する。別の実施例において、ＣＡＭ２０４は、これらの少なくとも一部を含むキーに対応付けて、処理情報を格納してもよい。
【００５１】
図６は、ＣＡＭ２０４がセッション情報を対応付けるキーの一例を示す。ＣＡＭ２０４は、それぞれのセッションに対し、予め定められたキーに対応するセッション情報を、当該セッションを示すエントリとして格納する。本実施形態において、ＣＡＭ２０４は、ＴＣＰ（Ｔｒａｎｓｐｏｒｔ　Ｃｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ）に基づくパケットであるＴＣＰパケットのヘッダに含まれる、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、及びＴＣＰの遷移状態を示すフラグと、セッションを識別するセッションＩＤとを含むキーに対応付けて、セッション情報を連想記憶する。別の実施例において、ＣＡＭ２０４は、これらの少なくとも一部を含むキーに対応付けて、セッション情報を格納してもよい。
【００５２】
ＣＡＭ２０４は、セッション情報として、例えば、当該セッションに対応するクラスＩＤを、キーに対応付けて格納してよい。これにより、ホームゲートウェイ１００は、パケットに対するセッションの処理を、パケットに対応するクラスに応じて適切に行うことができる。
【００５３】
また、ＣＡＭ２０４は、セッションＩＤにより、ＣＡＭ２０４に登録された複数のセッションを識別する。本実施形態において、ＣＡＭ２０４は、セッションＩＤを処理情報制御部２０２（図２参照）から受け取る。ホームゲートウェイ１００（図１参照）が外部の通信機器と新たなセッションを確立する場合、処理情報制御部２０２は、当該セッションに対応するセッションＩＤを生成し、ＣＡＭ２０４に新たなセッション情報に対応するエントリを格納する。本実施形態によれば、セッションを適切に管理することができる。
【００５４】
図７は、情報処理部１０２の動作の一例を示すフローチャートである。最初に、処理情報制御部２０２は、ホームゲートウェイ１００が受信したパケットのヘッダを抽出し（Ｓ１０２）、当該パケットがＩＰｓｅｃに基づくパケットか否かを判定する（Ｓ１０４）。これにより、処理情報制御部２０２は、パケットが、予め定められたの暗号方式で暗号化されているか否かを判定する。情報処理部１０２は、Ｓ１０２で抽出したヘッダに基づき、ＣＡＭ２０４からクラスＩＤを取得し、取得したクラスＩＤに基づき、当該判定を行ってよい。
【００５５】
次に、パケットがＩＰｓｅｃに基づくパケットであれば、処理情報制御部２０２は、当該パケットを暗号処理部２１０に復号させ（Ｓ１０６）、必要に応じてアプリケーション層のヘッダを更に抽出して、抽出したヘッダを処理する（Ｓ１０８）。一方。Ｓ１０４において、パケットがＩＰｓｅｃに基づくパケットでないと判定された場合、Ｓ１０８に進む。
【００５６】
尚、Ｓ１０６において、処理情報制御部２０２は、復号されたパケットからヘッダの少なくとも一部を抽出し、これを処理情報に対するキーとして、ＣＡＭ２０４に供給してよい。この場合、処理情報制御部２０２は、復号されたパケットに対応するクラスＩＤを改めて取得する。
【００５７】
Ｓ１０８の次に、処理情報制御部２０２は、受信したパケットのセッションがＣＡＭ２０４に登録されているか否かを判定する（Ｓ１１０）。当該セッションに対応するエントリがＣＡＭ２０４に格納されている場合、処理情報制御部２０２は、当該セッションは登録済みであると判定する。そして、セッションが登録済みであり、対応するエントリにおけるフラグがＴＣＰの遷移状態ＦＩＮを示す場合（Ｓ１１２）、処理情報制御部２０２は、ＣＡＭ２０４から、当該セッションに対応するエントリを抹消して（Ｓ１１４）、Ｓ１２２に進む。
【００５８】
一方、Ｓ１１０において、登録済みのセッションでないと判定された場合、ＣＡＭ２０４が、当該パケットに対応するクラスＩＤを格納しており（Ｓ１１６）、パケットのフラグがＴＣＰの遷移状態ＳＹＮを示す場合（Ｓ１１８）、処理情報制御部２０２は、当該セッションに対応するエントリを、ＣＡＭ２０４に、新たに格納させてセッションを登録し（Ｓ１２０）、Ｓ１２２に進む。
【００５９】
ここで、Ｓ１１２において登録されたエントリにおけるフラグがＦＩＮでない場合、Ｓ１１６において処理情報制御部２０２がパケットに対応するクラスＩＤを格納していない場合、又はＳ１１８においてパケットのフラグがＳＹＮでない場合は、それぞれＳ１２２に進む。
【００６０】
そして、次に、パケット中継部２１２は、パケットのフラグが示す遷移状態が適切であるか否かを判定し（Ｓ１２２）、転送処理部２１４は、遷移状態が適切であると判定されたパケットを転送する（Ｓ１２４）。本実施形態によれば、パケットに対応するセッションを適切に管理して、パケットを適切に転送することができる。
【００６１】
図８は、Ｓ１２２（図７参照）に示した、パケット中継部２１２の動作の一例を示すフローチャートである。最初に、パケット中継部２１２は、ヘッダ格納部３０４からパケットのヘッダ情報を取得し（Ｓ２０２）、ヘッダ情報に基づき、ＣＡＭ２０４が、当該パケットに対応するクラスＩＤを格納しているか否かを判定する（Ｓ２０４）。
【００６２】
そして、クラスＩＤが格納されている場合、パケットがＴＣＰパケットであり（Ｓ２０６）、当該ＴＣＰパケットのセッションに対応するエントリがＣＡＭ２０４に登録されていれば（Ｓ２０８）、パケット中継部２１２は、当該エントリに対応するキー（図６参照）に含まれるフラグが示す遷移状態を識別する（Ｓ２１６）。ここで、パケット中継部２１２は、キーのうち、例えば、フラグ及びセッションＩＤをマスクして、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号をキーとして、ＣＡＭ２０４に供給してよい。これにより、パケット中継部２１２は、エントリに含まれるフラグを取得する。
【００６３】
そして、次に、当該フラグが示す遷移状態に応じて、ＴＣＰパケットのフラグが示す遷移状態が適切か否かを判定し（Ｓ２１８、Ｓ２２２、Ｓ２２６）、適切と判定された場合、パケット中継部２１２は動作を終了し、情報処理部１０２はＳ１２４（図７参照）に動作を進める。一方、適切でないと判定された場合、パケット中継部２１２は、当該ＴＣＰパケットを破棄して（Ｓ２２０、Ｓ２２４、Ｓ２２８）、動作を終了する。
【００６４】
ここで、本実施形態のパケット中継部２１２は、Ｓ２１６において、キーに含まれるフラグを、ＳＹＮ、ＦＩＮ、又はその他のフラグのいずれであるかを識別する。そして、ＳＹＮと判定された場合、パケット中継部２１２は、Ｓ２１８において、セッションの確立判定を行って、ＴＣＰパケットのフラグが示す遷移状態が適切であるか否かを判定する。
【００６５】
また、ＦＩＮと判定された場合、パケット中継部２１２は、Ｓ２２２において、セッションの終了判定を行って、ＴＣＰパケットのフラグが示す遷移状態が適切であるか否かを判定する。その他のフラグと判定された場合、パケット中継部２１２は、Ｓ２２６において、送受信するパケットに基づき、転送の可否の判定を行って、ＴＣＰパケットのフラグが示す遷移状態が適切であるか否かを判定する。本実施形態によれば、ＣＡＭ２０４に格納されたセッション情報に基づき、パケットの遷移状態が適切か否かを高速に判定することができる。また、これにより、受信したパケットを高速に処理することができる。
【００６６】
ここで、Ｓ２０４において、パケットに対応するクラスＩＤが格納されていないと判定された場合、パケット中継部２１２は、パケットを破棄して（Ｓ２１０）、動作を終了する。また、Ｓ２０６において、パケットがＵＤＰに基づくパケットであると判定された場合、パケット中継部２１２は、予め定められたＵＤＰ処理を行って（Ｓ２１２）、動作を終了する。Ｓ２０８において、ＴＣＰパケットに対応するセッションがＣＡＭ２０４に登録されていないと判定された場合、パケット中継部２１２は、例えば、ＩＰヘッダのＯｐｔｉｏｎフィールドの有無、又はアプリケーション層の内容検査等の詳細チェックを行って（Ｓ２１４）、動作を終了する。
【００６７】
図９は、Ｓ１２４（図７参照）に示した、転送処理部２１４の動作の一例を示すフローチャートである。最初に、転送処理部２１４は、パケットのヘッダ情報に基づくキーを、ＣＡＭ２０４に入力して、当該パケットに対応するクラスＩＤを取得する（Ｓ３０２）。
【００６８】
次に、転送処理部２１４は、クラスＩＤに基づき、当該パケットの転送を許可するか否かを判定する（Ｓ３０４、Ｓ３０８、Ｓ３１２）。この場合、シーケンサ２０６はクラスＩＤにより指定されるシーケンスを実行し、転送処理部２１４は、当該シーケンスに従って、Ｓ３０４、Ｓ３０８、又はＳ３１２の処理を行う。
【００６９】
本実施形態において、転送処理部２１４は、パケットのヘッダと、ＣＡＭ２０４が格納するクラスＩＤとに基づき、パケットをクラスに高速に分類する。また、転送処理部２１４は、クラスＩＤにより指定される処理フローに基づき、転送の可否を適切に判定する。そのため、本実施形態によれば、パケットの処理を高速かつ適切に行うことができる。
【００７０】
そして、転送が許可された場合、転送処理部２１４は、ＣＡＭ２０４に格納された経路情報を検索し（Ｓ３１６）、当該経路情報に従ってパケットを転送する（Ｓ３１８）。一方、Ｓ３０４、Ｓ３０８、又はＳ３１２で転送が許可されなかった場合、転送処理部２１４はパケットを破棄する（Ｓ３０６、Ｓ３１０、Ｓ３１４）。本実施形態によれば、転送の可否を、パケットに応じて適切かつ高速に判定し、パケットを転送することができる。
【００７１】
図１０は、ＣＡＭ２０４が処理情報を対応付けるキーの別の例を示す。本例において、ＣＡＭ２０４は、パケットのヘッダにふくまれるべき、プロトコル番号及びアプリケーション情報と、クラスＩＤとを更にキーとして、クラスＩＤを格納する。この場合、パケットを更に詳細なクラスに分類して、クラスに応じた処理を行うことができる。また、これにより、パケットをより適切に処理することができる。
【００７２】
尚、処理情報制御部２０２は、プロトコル番号、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、クラスＩＤ、アプリケーション情報の一部をマスクした情報、例えば、送信元ＩＰアドレス及び送信元ポート番号を、キーとしてＣＡＭ２０４に与えて、クラスＩＤを取得してよい。また、ＣＡＭ２０４は、キーの一部であるアプリケーション情報として、例えば、アプリケーション層のヘッダが含む情報の一例である、ＨＴＴＰアプリケーションが用いるＵＲＬを用いてよい。
【００７３】
図１１は、ＣＡＭ２０４がセッション情報を対応付けるキーの別の例を示す。本例において、ＣＡＭ２０４は、ＴＣＰパケットのヘッダに含まれる、タイムスタンプ（Ｔｉｍｅ　Ｓｔａｍｐ）、送信パケットのシーケンス番号（ＴＣＰ　ｓｅｑ＃（ｏｕｔ））、受信パケットのシーケンス番号（ＴＣＰ　ｓｅｑ＃（ｉｎ））、及び転送先情報（ＮＡＴ　ｄａｔａ）を更にキーとして、セッション情報を格納する。本例によれば、セッションを更に詳細に管理することができる。
【００７４】
ここで、ＣＡＭ２０４は、タイムスタンプとして、セッションを確立したＳＹＮパケットの受信時間を登録してよい。これにより、例えば同一のセッションＩＤに対応する複数のパケットを受信した場合、受信時刻とタイムスタンプとの時間差に基づき、それぞれのパケットの整合性を判定することができる。
【００７５】
パケット中継部２１２は、例えば、送信及び／又は受信パケットのシーケンス番号と、送信及び／又は受信するパケットのＡＣＫ番号とに基づき、受信したパケットが適切か否かを判定してよく、転送先情報に基づき、転送の可否を判定してもよい。転送処理部２１４は、例えば、転送先情報に基づき、例えば転送先情報が示す通信機器に、パケットを転送してよい。本例によれば、セッションをより適切に管理して、パケットを処理することができる。
【００７６】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることができる。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００７７】
【発明の効果】
上記説明から明らかなように、本発明によれば高速にパケットを処理する情報処理装置を低コストで提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るホームゲートウェイ１００の構成の一例を示す図である。
【図２】情報処理部１０２の詳細な構成の一例を示す。
【図３】処理情報制御部２０２の構成の一例を示す。
【図４】パケットに対する処理のフローを識別する情報の一例を示す。
【図５】ＣＡＭ２０４が処理情報を対応付けるキーの一例を示す。
【図６】ＣＡＭ２０４がセッション情報を対応付けるキーの一例を示す。
【図７】情報処理部１０２の動作の一例を示すフローチャートである。
【図８】パケット中継部２１２の動作の一例を示すフローチャートである。
【図９】転送処理部２１４の動作の一例を示すフローチャートである。
【図１０】ＣＡＭ２０４が処理情報を対応付けるキーの別の例を示す。
【図１１】ＣＡＭ２０４がセッション情報を対応付けるキーの別の例を示す。
【符号の説明】
１００・・・ホームゲートウェイ、１０２・・・情報処理部、１０４・・・通信インターフェース、１０６・・・制御インターフェース、１０８・・・ブリッジ、１１０・・・ＣＰＵ、１１２・・・ＤＭＡコントローラ、１１４・・・タイマ、１１６・・・キューバッファ、１１８・・・ＲＡＭ、１２０・・・初期値格納部、１２２・・・バス、１５０・・・サーバ、１５２・・・パーソナルコンピュータ、１５４・・・被制御機器、２０２・・・処理情報制御部、２０４・・・ＣＡＭ、２０６・・・シーケンサ、２０８・・・パケット処理部、２１０・・・暗号処理部、２１２・・・パケット中継部、２１４・・・転送処理部、３０２・・・ヘッダ抽出部、３０４・・・ヘッダ格納部、３０６・・・ヘッダ処理部
【図１】
2004104450.tif 000003
【図２】
2004104450.tif 000004
【図３】
2004104450.tif 000005
【図４】
2004104450.tif 000006
【図５】
2004104450.tif 000007
【図６】
2004104450.tif 000008
【図７】
2004104450.tif 000009
【図８】
2004104450.tif 000010
【図９】
2004104450.tif 000011
【図１０】
2004104450.tif 000012
【図１１】
2004104450.tif 000013