(57)【要約】【課題】ＩＰネットワーク接続機能を有さない管理対象デバイスを管理する管理システムを低いコストで提供する。【解決手段】通信ネットワークに接続される半導体回路デバイスであって、複数の受信キューと、通信ネットワークから受信した複数の受信パケットのそれぞれに対し、当該受信パケットのヘッダに基づいて一の受信キューを選択し、選択した受信キューに当該受信パケットを格納させる受信キュー選択回路と、複数の受信キューに格納された複数の受信パケットのそれぞれに対してトランスポートプロトコル処理を行うべき処理順序を、複数の受信キューの優先度に基づき決定する処理順序決定回路とを備える。【選択図】　図１３
2004048394.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークに接続される半導体回路デバイスであって、
複数の受信キューと、
前記通信ネットワークから受信した複数の受信パケットのそれぞれに対し、当該受信パケットのヘッダに基づいて一の前記受信キューを選択し、選択した前記受信キューに当該受信パケットを格納させる受信キュー選択回路と、
前記複数の受信キューに格納された前記複数の受信パケットのそれぞれに対してトランスポートプロトコル処理を行うべき処理順序を、前記複数の受信キューの優先度に基づき決定する処理順序決定回路と
を備える半導体回路デバイス。
【請求項２】
前記受信パケットのヘッダに基づき、当該受信パケットを格納する前記受信キューの優先度を決定する優先度決定回路を更に備えることを特徴とする請求項１に記載の半導体回路デバイス。
【請求項３】
前記受信キュー選択回路は、前記受信パケットのヘッダに基づき前記受信パケットに対応するセッションを識別し、当該セッションに基づき前記受信パケットを格納させる前記受信キューを選択し、
前記優先度決定回路は、前記受信パケットに対応する前記セッションに基づき、前記優先度を決定することを特徴とする請求項２に記載の半導体回路デバイス。
【請求項４】
前記受信キュー選択回路は、前記受信パケットのヘッダに基づき前記受信パケットに対応するセッションを識別し、当該セッションに基づき前記受信パケットを格納させる前記受信キューを選択し、
前記優先度決定回路は、前記受信パケットに対応する前記セッションと、前記受信パケットのＴＣＰヘッダに含まれるコードビットとに基づいて、前記優先度を決定することを特徴とする請求項２に記載の半導体回路デバイス。
【請求項５】
前記優先度決定回路は、前記受信パケットのＴＣＰヘッダに含まれる宛先ポート番号に基づき前記優先度を決定することを特徴とする請求項２に記載の半導体回路デバイス。
【請求項６】
前記優先度決定回路は、前記受信パケットに対応するＩＰヘッダに含まれる送信元アドレスに基づき前記優先度を決定することを特徴とする請求項２記載の半導体回路デバイス。
【請求項７】
前記優先度決定回路は、前記複数の受信キューのそれぞれに対して予め設定された帯域幅に基づき、前記優先度を決定することを特徴とする請求項２に記載の半導体回路デバイス。
【請求項８】
前記受信パケットに対してトランスポートプロトコル処理を行うトランスポート受信処理回路を更に備え、
前記複数の受信キューは、
高い優先度に設定された、少なくとも一の高優先受信キューと、
前記高優先受信キューより低い優先度に設定された複数の低優先受信キューとを有し、
前記高優先受信キューが前記受信パケットを格納する場合、前記トランスポート受信処理回路は当該受信パケットを処理し、
前記処理順序決定回路は、前記トランスポート受信処理回路が前記低優先受信キューに格納された前記受信パケットを処理する毎に、前記複数の低優先受信キューから、予め設定された順序に基づき、一の前記低優先受信キューを順次選択し、
前記高優先受信キューが前記受信パケットを格納しない場合、前記トランスポート受信処理回路は、前記処理順序決定回路が選択している前記低優先受信キューに格納された、前記受信パケットを処理することを特徴とする請求項１に記載の半導体回路デバイス。
【請求項９】
前記受信キュー選択回路は、前記受信パケットに対応するセッション、前記受信パケットのＴＣＰヘッダに含まれるコードビット、前記受信パケットのＴＣＰヘッダに含まれる宛先ポート番号、及び前記受信パケットのＩＰヘッダに含まれる送信元アドレスの少なくとも１つに基づいて、当該受信パケットを格納させる前記受信キューを選択し、
前記処理順序決定回路は、前記複数の受信パケットのそれぞれが前記複数の受信キューのいずれに格納されているかに基づいて、前記トランスポートプロトコル処理を行うべき処理順序を決定することを特徴とする請求項１に記載の半導体回路デバイス。
【請求項１０】
前記通信ネットワークに送信すべき送信パケットを格納する送信キューを更に備え、
前記処理順序決定回路は、前記複数の受信キューに格納された前記複数の受信パケット、及び前記送信キューに格納された前記送信パケットのそれぞれに対してトランスポートプロトコル処理を行うべき処理順序を、前記複数の受信キューの優先度及び前記送信キューの優先度に基づき決定することを特徴とする請求項１に記載の半導体回路デバイス。
【請求項１１】
通信ネットワークから受信した複数の受信パケットを処理するパケット処理方法であって、
前記複数の受信パケットのそれぞれに対し、当該受信パケットのヘッダに基づいて、複数の受信キューから一の前記受信キューを選択し、選択した前記受信キューに当該受信パケットを格納させる受信キュー選択段階と、
前記複数の受信キューに格納された前記複数の受信パケットのそれぞれに対してトランスポートプロトコル処理を行うべき処理順序を、前記複数の受信キューの優先度に基づき決定する処理順序決定段階と
を備えるパケット処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体回路デバイス及びパケット処理方法に関する。特に本発明は、通信ネットワークに接続される半導体回路デバイスに関する。
【０００２】
【従来の技術】
従来、ＩＰネットワーク接続機能を有さない被管理対象デバイスに、ＳＮＭＰ（Ｓｉｍｐｌｅ　Ｎｅｔｗｏｒｋ　Ｍａｎａｇｅｍｅｎｔ　Ｐｒｏｔｏｃｏｌ）通信機能を有するワークステーション等を接続して、当該被管理対象デバイスを管理する方法（プロキシエージェント）が知られている。この場合、ワークステーションは、通信ネットワークを介して、ネットワーク管理ステーションからＳＮＭＰメッセージを受け取り、当該メッセージに従って被管理対象デバイスを管理する。
【０００３】
【発明が解決しようとする課題】
しかし、ワークステーションは大型で高価であり、また、消費電力が大きい。そのため、従来、プロキシエージェントが使用できる環境が限定されるという問題があった。
【０００４】
そこで本発明は、上記の課題を解決することのできる半導体回路デバイス及びパケット処理方法を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【０００５】
【課題を解決するための手段】
即ち、本発明の第１の形態によると、通信ネットワークに接続される半導体回路デバイスであって、複数の受信キューと、通信ネットワークから受信した複数の受信パケットのそれぞれに対し、当該受信パケットのヘッダに基づいて一の受信キューを選択し、選択した受信キューに当該受信パケットを格納させる受信キュー選択回路と、複数の受信キューに格納された複数の受信パケットのそれぞれに対してトランスポートプロトコル処理を行うべき処理順序を、複数の受信キューの優先度に基づき決定する処理順序決定回路とを備える。受信パケットのヘッダに基づき、当該受信パケットを格納する受信キューの優先度を決定する優先度決定回路を更に備えてよい。
【０００６】
受信キュー選択回路は、受信パケットのヘッダに基づき受信パケットに対応するセッションを識別し、当該セッションに基づき受信パケットを格納させる受信キューを選択し、優先度決定回路は、受信パケットに対応するセッションに基づき、優先度を決定してよい。受信キュー選択回路は、受信パケットのヘッダに基づき受信パケットに対応するセッションを識別し、当該セッションに基づき受信パケットを格納させる受信キューを選択し、優先度決定回路は、受信パケットに対応するセッションと、受信パケットのＴＣＰヘッダに含まれるコードビットとに基づいて、優先度を決定してよい。
【０００７】
優先度決定回路は、受信パケットのＴＣＰヘッダに含まれる宛先ポート番号に基づき優先度を決定してよい。優先度決定回路は、受信パケットに対応するＩＰヘッダに含まれる送信元アドレスに基づき優先度を決定してよい。優先度決定回路は、複数の受信キューのそれぞれに対して予め設定された帯域幅に基づき、優先度を決定してよい。
【０００８】
受信パケットに対してトランスポートプロトコル処理を行うトランスポート受信処理回路を更に備え、複数の受信キューは、高い優先度に設定された、少なくとも一の高優先受信キューと、高優先受信キューより低い優先度に設定された複数の低優先受信キューとを有し、高優先受信キューが受信パケットを格納する場合、トランスポート受信処理回路は当該受信パケットを処理し、処理順序決定回路は、トランスポート受信処理回路が低優先受信キューに格納された受信パケットを処理する毎に、複数の低優先受信キューから、予め設定された順序に基づき、一の低優先受信キューを順次選択し、高優先受信キューが受信パケットを格納しない場合、トランスポート受信処理回路は、処理順序決定回路が選択している低優先受信キューに格納された、受信パケットを処理してよい。
【０００９】
受信キュー選択回路は、受信パケットに対応するセッション、受信パケットのＴＣＰヘッダに含まれるコードビット、受信パケットのＴＣＰヘッダに含まれる宛先ポート番号、及び受信パケットのＩＰヘッダに含まれる送信元アドレスの少なくとも１つに基づいて、当該受信パケットを格納させる受信キューを選択し、処理順序決定回路は、複数の受信パケットのそれぞれが複数の受信キューのいずれに格納されているかに基づいて、トランスポートプロトコル処理を行うべき処理順序を決定してよい。
【００１０】
通信ネットワークに送信すべき送信パケットを格納する送信キューを更に備え、処理順序決定回路は、複数の受信キューに格納された複数の受信パケット、及び送信キューに格納された送信パケットのそれぞれに対してトランスポートプロトコル処理を行うべき処理順序を、複数の受信キューの優先度及び送信キューの優先度に基づき決定してよい。
【００１１】
本発明の第２の形態によると、通信ネットワークから受信した複数の受信パケットを処理するパケット処理方法であって、複数の受信パケットのそれぞれに対し、当該受信パケットのヘッダに基づいて、複数の受信キューから一の受信キューを選択し、選択した受信キューに当該受信パケットを格納させる受信キュー選択段階と、複数の受信キューに格納された複数の受信パケットのそれぞれに対してトランスポートプロトコル処理を行うべき処理順序を、複数の受信キューの優先度に基づき決定する処理順序決定段階とを備える。
【００１２】
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【００１３】
【発明の実施の形態】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態はクレームにかかる発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１４】
図１は、本発明の一実施形態に係る管理システム１０の一例を示す。本実施形態において、管理システム１０は、ＩＰネットワーク接続機能を有さない被管理対象デバイス（Ｍａｎａｇｅｄ　Ｏｂｊｅｃｔ）の一例であるセンサ２０を、ＳＮＭＰ（Ｓｉｍｐｌｅ　Ｎｅｔｗｏｒｋ　Ｍａｎａｇｅｍｅｎｔ　Ｐｒｏｔｏｃｏｌ）により管理する。
【００１５】
管理システム１０は、通信ネットワーク４０により互いに接続された、複数の管理装置５０−１、２と、被管理対象システム７０とを備える。
【００１６】
被管理対象システム７０は、ＩＰ通信に基づく処理を行うＩＰアプリケーションの一例である。本実施形態において、被管理対象システム７０は、ＩＰに基づくプロトコルの一例であるＳＮＭＰに基づき、処理を行う。管理対象システム７０は、例えばＨＴＴＰ（Ｈｙｐｅｒ　Ｔｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）やマルチメディア呼制御プロトコル等の、ＩＰに基づく他のプロトコルに基づき、更に処理を行ってもよい。本実施形態において、被管理対象システム７０は、センサ２０及びエージェントデバイス３０を有する。
【００１７】
センサ２０は、エージェントデバイス３０の外部に設けられ、被管理対象システム７０の外部の環境を検出して、当該外部の環境を示す値を外部入力信号としてエージェントデバイス３０に供給する。センサ２０は、例えば、温度センサ、湿度センサ、煙センサ、又は水センサであって、センサ２０に対応する温度を示す値、湿度を示す値、煙の有無を示す値、又は水量を示す値を外部入力信号として出力してよい。
【００１８】
ここで、本実施形態において、センサ２０は、アナログ信号である外部入力信号をエージェントデバイス３０に供給する。別の実施例において、センサ２０は、デジタル信号である外部入力信号を出力してもよい。例えば、温度センサであるセンサ２０は、温度を示すアナログ信号又はデジタル信号を、エージェントデバイス３０への外部入力信号として出力してよい。
【００１９】
エージェントデバイス３０は、ＳＮＭＰにおけるプロキシエージェントの機能を有し、センサ２０と取り外し可能に接続される。エージェントデバイス３０は、ＡＤ変換器３２、センサ制御デバイス３４、及び初期値格納部３６を含む。
【００２０】
ＡＤ変換器３２は、アナログ伝送線路２２を介してセンサ２０から受け取る外部入力信号をデジタル信号にＡＤ変換する。ここで、ＡＤ変換器３２は、例えばＳＰＩ（Ｓｅｒｉａｌ　Ｐｅｒｉｐｈｅｒａｌ　Ｉｎｔｅｒｆａｃｅ）等によりセンサ制御デバイス３４と接続され、センサ制御デバイス３４から受け取る設定パラメータに従ってＡＤ変換を行う。そして、センサ制御デバイス３４は、ＡＤ変換器３２がデジタル信号に変換した外部入力信号を入力データとして受け取り、外部入力信号が示す環境データを、ＳＮＭＰに基づくメッセージを用いて通信ネットワーク４０に送信する。
【００２１】
ここで、センサ制御デバイス３４は、被管理対象システム７０の外部と接続可能なシリアルインターフェイスを有する。センサ制御デバイス３４は、当該シリアルインターフェイスを介して、例えば管理装置５０−１と接続されてもよく、センサ２０と接続されてもよい。
【００２２】
また、センサ制御デバイス３４は、デジタル伝送線路２４を介してセンサ２０にコマンドを供給することによりセンサ２０を制御する。更には、センサ制御デバイス３４は、デジタル伝送線路２４を介して、例えばセンサ２０の状態を示すステータス信号を受け取ってもよく、デジタル信号である外部入力信号を受け取ってもよい。コマンド出力部３０６は、制御信号をセンサ２０に与えてよい。
【００２３】
また、センサ制御デバイス３４は、センサ２０又はデジタル伝送線路２４から動作電力を受け取ってもよい。デジタル伝送線路２４は、例えば、ＲＳ−２３２Ｃ、ＳＰＩ等のシリアルインターフェイス、又は複数のビットを有するＤＩＯインターフェイスであってよい。
【００２４】
初期値格納部３６は、例えば管理装置５０−１のＩＰアドレス等の、センサ制御デバイス３４に初期設定すべき情報を格納する。初期値格納部３６は、例えば、ＥＥＰＲＯＭ又はフラッシュメモリであってよい。センサ制御デバイス３４は、起動時に初期値格納部３６にアクセスし、初期設定すべき情報を取得する。
【００２５】
尚、別の実施例において、エージェントデバイス３０は、センサ制御デバイス３４に接続されたＣＰＵを更に含んでもよい。当該ＣＰＵは、例えば、ＳＮＭＰに基づく処理の一部を行ってよい。
【００２６】
複数の管理装置５０−１、２は、ＳＮＭＰにおけるネットワーク管理ステーション（マネージャ）の機能を有し、ＳＮＭＰに基づくメッセージを被管理対象システム７０に対して送受信することにより、被管理対象システム７０を管理する。管理装置５０−１は、ＳＮＭＰ管理部５２、閲覧データ格納部５４、通知部５６、及び連絡先データベース５８を有する。
【００２７】
ＳＮＭＰ管理部５２は、ＳＮＭＰに基づくメッセージを用いて、環境データをセンサ制御デバイス３４から取得する。すなわち、ＳＮＭＰ管理部５２は、被管理対象システム７０に対する定期的なポーリング、又は被管理対象システム７０から受け取るトラップメッセージにより環境データを取得する。
【００２８】
連絡先データベース５８は、センサ制御デバイス３４に対応付けて、センサ制御デバイス３４の使用者の連絡先を示す連絡先情報を格納する。本実施形態において、連絡先データベース５８は、連絡先情報として、移動体端末の一例である携帯電話６０への連絡先を格納する。別の実施例において、連絡先データベース５８は、連絡先情報として、例えばセンサ制御デバイス３４の使用者の電子メールアドレスやＦＡＸ番号を格納してもよい。
【００２９】
通知部５６は、環境データが予め定められた条件を満たす場合に、センサ制御デバイス３４の使用者に対して、環境データが予め定められた条件を満たすことを示す通知を行う。通知部５６は、例えば、ポーリングに応じて取得した環境データの値が予め設定された閾値を越えた場合や、トラップメッセージにより環境データを取得した場合に、当該通知を行ってよい。通知を行う場合、通知部５６は、連絡先データベース５８から携帯電話６０への連絡先を取得して通知を行う。この場合、通知部５６は、予め定められた複数回の通知を行ってよい。また、通知部５６は、携帯電話６０に、音声又は文字メッセージ等により通知を行ってよい。
【００３０】
閲覧データ格納部５４は、センサ制御デバイス３４の使用者へ通知部５６が通知を行った場合に、携帯電話６０から閲覧可能に環境データを格納する。閲覧データ格納部５４は、例えば、携帯電話６０が有するウェブブラウザ機能によりアクセス可能なホームページに、環境データを格納してよい。
【００３１】
また、別の実施例において、閲覧データ格納部５４は、管理装置５０−１の外部のサーバに環境データを含むデータを送付することにより、当該外部のサーバ上に設けられた、携帯電話６０から閲覧可能なホームページに環境データを格納してもよい。
【００３２】
管理装置５０−２は、管理装置５０−１と同一又は同様の機能を有するため説明を省略する。被管理対象システム７０は、例えば管理装置５０−１と通信不可能な場合に、管理装置５０−２と通信する。
【００３３】
本実施形態において、管理装置５０−１は、センサ２０を、ＳＮＭＰに基づく通信機能を有するエージェントデバイス３０を介して制御及び監視する。そのため、本実施形態によれば、ＩＰネットワーク接続機能を有さないセンサをＳＮＭＰにより管理して、外部の環境を検出する管理システムを提供することができる。また、これにより、インターネットの標準プロトコルにより、センサを遠隔管理、監視し、計測するシステムを提供することができる。更には、本実施形態によれば、センサ２０に対する管理及び監視を統合化して行うシステム及びソリューションを提供することができる。尚、ＳＮＭＰは、ＳＮＭＰに基づき定義されたプロトコル、あるいは、ＳＮＭＰに基づき将来定義されるプロトコルであってもよい。
【００３４】
以上において、通信ネットワーク４０は、例えばインターネットや他の公衆回線網等の広域ネットワークであってもよく、ローカルネットワーク等であってもよい。
【００３５】
センサ制御デバイス３４は、例えば、ネットワーク化されていないスタンドアローン機器やノンコンピュータ機器等の各種被制御デバイスを制御する制御デバイスの一例である。センサ制御デバイス３４は、センサ２０に代えて、被管理対象デバイスであるこれらの被制御デバイスに接続され、これらの被制御デバイスを管理及び／又は監視して制御してよい。
【００３６】
また、センサ制御デバイス３４は、ＳＮＭＰに代えて、例えば、ＩＰに基づくプロトコルの一例である、ＨＴＴＰ、マルチメディア呼制御プロトコル、又はＴＥＬＮＥＴプロトコルにより、管理装置５０−１と通信してもよい。この場合、管理装置５０−１は、これらのプロトコルに基づき、被管理対象デバイスを制御することができる。そのため、本実施形態によれば、ＩＰネットワーク接続機能を有さない被管理対象デバイスを管理する管理システム及びＩＰネットワークソリューションを低いコストで提供することができる。
【００３７】
図２は、本実施形態に係るセンサ制御デバイス３４の構成の一例を示す。センサ制御デバイス３４は、一の半導体チップ上に形成された半導体回路デバイスであり、入力部１０２、環境データ取得部１０４、ＭＩＢ格納部１０８、ＳＮＭＰ制御部１０６、及び暗号処理部１１０を含む。
【００３８】
入力部１０２は、ＡＤ変換器３２から外部入力信号を入力する。環境データ取得部１０４は、入力部１０２から入力された外部入力信号を示す入力データを、環境データとしてＭＩＢ格納部１０８に供給する。また、環境データ取得部１０４は、センサ２０を制御するコマンドを、センサ２０に与える。
【００３９】
ＭＩＢ格納部１０８は、環境データを、ＳＮＭＰにおけるＭＩＢ（Ｍａｎａｇｅｍｅｎｔ　Ｉｎｆｏｒｍａｔｉｏｎ　Ｂａｓｅ）オブジェクトに対応付けて格納する。尚、ＭＩＢは、ＭＩＢに基づき定義されたデータ構造、又は将来ＭＩＢに基づき定義されるデータ構造であってもよい。
【００４０】
ＳＮＭＰ制御部１０６は、ＭＩＢ格納部１０８から環境データを受け取り、ＳＮＭＰに基づくメッセージを用いて、通信ネットワーク４０へ送信する。この場合、ＳＮＭＰ制御部１０６は、例えば、管理装置５０−１（図１参照）の要求（ポーリング）に応じて環境データを送信してもよく、環境データが予め定められた条件を満たす場合に、トラップメッセージにより環境データを送信してもよい。更には、ＳＮＭＰ制御部１０６は、暗号処理部１１０から取得した暗号鍵により、環境データを暗号化して送信してよい。
【００４１】
また、ＳＮＭＰ制御部１０６は、センサ２０を制御するコマンドを通信ネットワーク４０から受信するために用いるＭＩＢオブジェクトを管理する。この場合、ＭＩＢ格納部１０８は、当該コマンドをＭＩＢオブジェクトに対応付けて格納する。そして、環境データ取得部１０４は、ＭＩＢ格納部１０８から当該コマンドを受け取ってセンサ２０に与える。
【００４２】
尚、ＳＮＭＰ制御部１０６は、シリアルインターフェイスを介して、例えば管理装置５０−１と接続されてもよい。この場合、ＳＮＭＰ制御部１０６は、シリアルインターフェイスを介してコマンドを受け取ってよい。
【００４３】
また、ＳＮＭＰ制御部１０６は、例えば、ＨＴＴＰ、マルチメディア呼制御プロトコル、又はＴＥＬＮＥＴプロトコル等の、ＩＰ上に実装された各種プロトコルに基づく処理を更に行ってよい。
【００４４】
ＭＩＢ格納部１０８は、ＩＰ上に実装された各種プロトコルに基づいて取得した情報を格納する取得情報格納部の一例である。ＭＩＢ格納部１０８は、例えば、センサ制御デバイス３４に設定すべき情報を、ＨＴＴＰ、マルチメディア呼制御プロトコル、又はＴＥＬＮＥＴプロトコルに基づいて管理装置５０−１から取得して格納してよい。
【００４５】
本実施形態において、半導体チップ上に形成された半導体回路デバイスであるセンサ制御デバイス３４は、センサ２０を制御するコマンドを出力する機能と、センサ２０から受け取る外部入力信号を示すＳＮＭＰメッセージを生成する機能とを有する。本実施形態によれば、小型で低消費電力、かつ高速なエージェントデバイス３０を低いコストで提供することができる。尚、センサ制御デバイス３４は、例えば、当該コマンド出力機能及びＳＮＭＰ制御部メッセージ生成機能を有するＡＳＩＣであってよい。センサ制御デバイス３４は、モノリシックＩＣであるのが好ましい。
【００４６】
また、別の実施例において、センサ制御デバイス３４は、複数の半導体チップに分割して形成されてもよい。この場合、当該複数の半導体チップは、ＭＣＰ（Ｍｕｌｔｉ　Ｃｈｉｐ　Ｍｏｄｕｌｅ）として、一のパッケージに封入してもよい。この場合も、エージェントデバイス３０を低いコストで提供することができる。
【００４７】
ここで、本実施形態において、センサ制御デバイス３４は、外部のＡＤ変換器３２によりデジタル信号に変換された外部入力信号を受け取る。別の実施例においては、センサ制御デバイス３４が、ＡＤ変換器３２を含んでもよい。この場合、入力部１０２は、アナログ信号の外部入力信号をセンサ２０から受け取り、ＡＤ変換器３２は、当該アナログ信号をデジタル信号に変換して環境データを生成し、環境データ取得部１０４を介してＭＩＢ格納部１０８に供給する。この場合、エージェントデバイス３０を更に低いコストで提供することができる。
【００４８】
図３は、環境データ取得部１０４及びＭＩＢ格納部１０８の詳細な構成の一例を示す。環境データ取得部１０４は、平均値生成部３０２、データ格納制御部３０４、及びコマンド出力部３０６を有する。
【００４９】
平均値生成部３０２は、入力部１０２から外部入力信号を受け取り、外部入力信号の平均値を算出することにより環境データを生成する。この場合、平均値生成部３０２は、平均時間間隔格納部２０４に設定された時間間隔における平均値を算出する。
【００５０】
ここで、平均値生成部３０２は、環境データの生成をハードウェア処理により行ってよい。この場合、平均値生成部３０２は、例えば１ｍ秒毎等の高いサンプリングレートで外部入力信号を受け取り、平均値を算出してよい。また、平均時間間隔格納部２０４は、平均値を算出する時間間隔をサンプリングの回数により指定してもよい。
【００５１】
データ格納制御部３０４は、入力周期格納部２０６に設定された周期毎に、環境データを環境データ格納部２０２に格納させる。また、コマンド出力部３０６は、コマンド格納部２０８からコマンドを受け取って、センサ２０に与える。
【００５２】
ＭＩＢ格納部１０８は、環境データ格納部２０２、平均時間間隔格納部２０４、入力周期格納部２０６、コマンド格納部２０８、送信条件格納部２１０、送信回数格納部２１２、及びＩＰアドレス格納部２１４を有する。環境データ格納部２０２は環境データを、平均時間間隔格納部２０４は外部入力信号の値の平均を算出する時間間隔を、入力周期格納部２０６は外部入力信号の値を入力する周期を、コマンド格納部２０８はセンサ２０に与えるべきコマンドを、送信条件格納部２１０はＳＮＭＰ制御部１０６に環境データを送信させる条件を、送信回数格納部２１２はトラップメッセージの繰り返し回数を、ＩＰアドレス格納部２１４は複数の管理装置５０−１、２（図１参照）のＩＰアドレスを、それぞれＭＩＢオブジェクトに関連づけて格納する。
【００５３】
ここで、ＭＩＢ格納部１０８は、格納すべき情報をＳＮＭＰ制御部１０６から受け取る。ＳＮＭＰ制御部１０６は、センサ制御デバイス３４（図１参照）の起動時に、ＭＩＢ格納部１０８が格納すべき初期値を初期値格納部３６（図１参照）から受け取って、ＭＩＢ格納部１０８に供給する。
【００５４】
そして、初期値格納部３６の起動後に、通信ネットワーク４０からＭＩＢ格納部１０８の更新を示すＳＮＭＰメッセージを受け取った場合、ＳＮＭＰ制御部１０６は、当該メッセージに従ってＭＩＢ格納部１０８が格納する情報を更新する。例えば、平均時間間隔格納部２０４の設定を指示するＳＮＭＰメッセージを受信した場合、ＳＮＭＰ制御部１０６は、当該ＳＮＭＰメッセージにより指定される時間間隔を平均時間間隔格納部２０４に設定する。また、入力周期格納部２０６の設定を指示するＳＮＭＰメッセージを受信した場合、当該ＳＮＭＰメッセージにより指定される周期を入力周期格納部２０６に設定する。センサ２０に対するコマンドを含むＳＮＭＰメッセージを通信ネットワーク４０から受信した場合、当該ＳＮＭＰメッセージにより指定されるコマンドをコマンド格納部２０８に設定する。
【００５５】
また、センサ制御デバイス３４は、管理装置５０−１及び／又は管理装置５０−２のＩＰアドレスを、外部のサーバ等からの要求に基づき変更してもよい。この場合、センサ制御デバイス３４を管理すべき管理装置を、通信ネットワーク４０を介して変更することができる。
【００５６】
本実施形態において、ＭＩＢ格納部１０８は、センサ２０に与えるコマンド、及びセンサ２０から受け取る外部入力信号に基づく環境データを、ＭＩＢオブジェクトに対応付けて格納する。これにより、管理装置５０−１は、予め定められたデータ構造を有するＭＩＢオブジェクトを介してセンサ２０を管理する。そのため、本実施形態によれば、センサ２０の種類によらず、適切にセンサ２０を管理することができる。
【００５７】
図４は、ＭＩＢ格納部１０８（図３参照）が格納するＭＩＢの構成の一例を示す。本実施形態において、ＭＩＢ格納部１０８は、ｅｎｔｅｒｐｒｉｓｅｓサブツリー（．１．３．６．１．４．１）以下に定義された、例えばセンサ制御デバイス３４（図１参照）の製造元である○○○会社のサブツリーが含む、センサ制御デバイスのサブツリーを格納する。管理装置５０−１（図１参照）は、ＳＮＭＰメッセージを用いて、○○○会社サブツリー以下のＭＩＢオブジェクトの値を設定する。
【００５８】
尚、本実施形態において、ＭＩＢ格納部１０８は、例えば構成管理、障害管理、性能管理、セキュリティ管理、課金管理等に用いる標準的なＭＩＢサブツリー（図示せず）を更に格納する。管理装置５０−１は、ＳＮＭＰメッセージを用いて、これらの標準的なＭＩＢサブツリー以下のＭＩＢオブジェクトの値を設定する。
【００５９】
センサ制御デバイスサブツリーは、ＡＤ変換器３２（図１参照）を管理するために用いるＡＤ変換器サブツリーと、センサ２０（図１参照）からデジタル信号を受け取るのに用いるデジタル入力サブツリーと、センサ２０にデジタル信号を送るのに用いるデジタル出力サブツリーと、管理装置５０−１、２（図１参照）にトラップメッセージを送るのに用いるトラップサブツリーと、設定オブジェクトとを含む。
【００６０】
ＡＤ変換器サブツリーは、それぞれがＡＤ変換器３２の一のアナログ入力端子に対応するチャネル０〜３サブツリーと、初期化サブツリーとを有する。尚、本実施形態において、ＡＤ変換器３２は、チャネル０〜３に対応する４つのアナログ入力端子を有する。センサ２０は、ＡＤ変換器３２の一又は複数のアナログ入力端子に外部入力信号を供給してよい。
【００６１】
チャネル０サブツリーは、説明、アクティブフラグ、トラップフラグ、トラップモード、トラップ閾値、入力周期、平均時間間隔、遅延時間、書込ビット数、書き込みパラメータ、読出しビット数、及びＭＩＢ割当てのそれぞれを示すＭＩＢオブジェクトと、データサブツリーとを含む。
【００６２】
説明オブジェクトは、ＡＤ変換器３２のチャネル０の名称又はチャネル０の機能を識別する情報を示す。アクティブフラグオブジェクトは、チャネル０が動作しているか否かを示す。トラップフラグオブジェクトは、ＳＮＭＰ制御部１０６（図２参照）にトラップメッセージを送信させるか否かを設定する。
【００６３】
トラップモードオブジェクトは、トラップメッセージを繰り返し送信する回数を示す。トラップ閾値オブジェクトは、環境データの閾値を示す。ここで、ＳＮＭＰ制御部１０６は、環境データの値が当該閾値を越える場合に、トラップメッセージを用いて、環境データを通信ネットワーク４０へ送信する。ＳＮＭＰ制御部１０６は、環境データが当該閾値より高い値、又は低い値に変化した場合にトラップメッセージを送信してよい。
【００６４】
また、トラップ閾値オブジェクトは、閾値として上限閾値と下限閾値とを示してもよい。この場合、ＳＮＭＰ制御部１０６は、環境データが上限閾値より高い値、又は下限閾値より低い値に変化した場合にトラップメッセージを送信してよい。
【００６５】
入力周期オブジェクトは、環境データ格納部２０２に新たな環境データを格納させる周期を示す。平均時間間隔オブジェクトは、ＡＤ変換器３２の出力を平均する時間間隔を示す。遅延時間オブジェクトは、ＡＤ変換器３２に対するコマンドの出力に対応して、ＡＤ変換器３２がデータを出力するまでの遅延時間を示す。書込ビット数オブジェクトは、ＡＤ変換器３２に与えるコマンド又は設定パラメータのビット長を示す。書き込みパラメータオブジェクトは、ＡＤ変換器３２に与えるコマンド又は設定パラメータを示す。読出しビット数オブジェクトは、ＡＤ変換器３２から受け取るデジタルデータのビット長を示す。
【００６６】
ＭＩＢ割当てオブジェクトは、物理チャネルであるチャネル０の論理チャネルへの割り当てを示す。ここで、管理装置５０−１（図１参照）は、論理チャネルを指定してセンサ制御デバイス３４にアクセスし、センサ制御デバイス３４は、当該論理チャネルに対応する、ＡＤ変換器３２の物理チャネルにアクセスする。
【００６７】
データサブツリーは、データ１〜１０の１０個のＭＩＢオブジェクトを含む。データ１〜１０オブジェクトは、それぞれＡＤ変換器３２から受け取る環境データを示す。尚、チャネル１〜３サブツリーは、それぞれチャネル０サブツリーと同一又は同様の構成を有するため説明を省略する。
【００６８】
初期化サブツリーは、ＡＤ変換器３２を初期化するコマンド又は設定パラメータを示す初期化データオブジェクトを含む。初期化データオブジェクトは、例えば、ＡＤ変換器３２に設定すべきゲイン又はオフセット等を示す。
【００６９】
デジタル入力サブツリーは、説明、トラップマスク、及びデジタル入力データのそれぞれを示すＭＩＢオブジェクトを含む。説明オブジェクトは、センサ制御デバイス３４がデジタル伝送線路２４（図１参照）を介してセンサ２０から受け取るデジタル信号を表す名称、又はデジタル信号の種類を識別する情報を示す。トラップマスクオブジェクトは、当該デジタル信号のうち、トラップ信号を送信する条件の検出に用いるビットを選択するのに用いる。デジタル入力データオブジェクトは、センサ２０から受け取ったデジタル信号の値を示す。
【００７０】
デジタル出力ツリーは、説明及びデジタル出力データのそれぞれを示すＭＩＢオブジェクトを含む。説明オブジェクトは、センサ制御デバイス３４がデジタル伝送線路２４を介してセンサ２０に与えるデジタル信号であるコマンド若しくはデータを表す名称、又はデジタル伝送線路２４を介した通信の形式を識別する情報を示す。デジタル出力データオブジェクトは、デジタル伝送線路２４を介してセンサ２０に与えるデジタル信号を書き込むために用いる。
【００７１】
トラップサブツリーは、トラップマネージャ１，２のそれぞれを示すＭＩＢオブジェクトを含む。トラップマネージャ１オブジェクトは、管理装置５０−１のＩＰアドレスを示す。トラップマネージャ２オブジェクトは、管理装置５０−２のＩＰアドレスを示す。
【００７２】
設定オブジェクトは、初期値格納部３６（図１参照）の記憶内容の更新値を示すＭＩＢオブジェクトである。管理装置５０−１は、設定オブジェクトに値を設定してセンサ制御デバイス３４を再起動することにより、初期値格納部３６の記憶内容を更新する。
【００７３】
以上において、センサ２０又はＡＤ変換器３２から受け取る入力データを示すＭＩＢオブジェクト以外のＭＩＢオブジェクトは、管理装置５０−１等によって書き換え可能であってよい。これにより、センサ制御デバイス３４の使用者は、センサ２０、ＡＤ変換器３２、センサ制御デバイス３４、及び初期値格納部３６の設定等を、通信ネットワーク４０を介して行うことができる。
【００７４】
本実施形態において、環境データ格納部２０２（図３参照）は、データ１〜１０オブジェクトの値を格納する。平均時間間隔格納部２０４（図３参照）は、平均時間間隔オブジェクトの値を格納する。入力周期格納部２０６（図３参照）は、入力周期オブジェクトの値を格納する。コマンド格納部２０８（図３参照）は、デジタル出力データオブジェクトの値を格納する。送信条件格納部２１０（図３参照）は、トラップフラグオブジェクト及びトラップ閾値オブジェクトの値を格納する。送信回数格納部２１２（図３参照）は、トラップモードオブジェクトの値を格納する。ＩＰアドレス格納部２１４（図３参照）は、トラップマネージャ１，２オブジェクトの値を格納する。
【００７５】
これにより、ＭＩＢ格納部１０８は、環境データを、センサ２０の種類に依存しないデータ１〜１０オブジェクト（入力データＭＩＢオブジェクト）に対応付けて格納し、センサ２０に与えるコマンドを、センサ２０の種類に依存しないデジタル出力データオブジェクト（コマンドＭＩＢオブジェクト）に対応付けて格納する。そして、ＳＮＭＰ制御部１０６は、データ１〜１０オブジェクトに対応付けられた環境データを通信ネットワーク４０へ送信する。また、コマンド出力部３０６は、デジタル出力データオブジェクトに対応付けられたコマンドを、センサ２０に与える。本実施形態によれば、エージェントデバイス３０は、センサ２０の種類によらない汎用的な構造のＭＩＢを用いて、各種のセンサ２０をＳＮＭＰにより管理することができる。また、これにより、異なる種類の被管理対象デバイスを、例えば同一のハードウェア処理により管理することができる。
【００７６】
図５は、暗号処理部１１０の構成の一例を示す。暗号処理部１１０は、暗号鍵取得部４０２及び暗号鍵格納部４０４を含む。暗号鍵取得部４０２は、センサ制御デバイス３４の起動時に、ＳＮＭＰ制御部１０６を介して初期値格納部３６（図１参照）から暗号鍵を取得して、暗号鍵格納部４０４に格納させる。
【００７７】
また、暗号鍵取得部４０２は、センサ制御デバイス３４の起動後に、暗号鍵の送信を要求する暗号鍵要求メッセージを、管理装置５０−１へ送信し、管理装置５０−１から新たな暗号鍵を取得する。この場合、暗号鍵取得部４０２は、管理装置５０−１のＩＰアドレスをＩＰアドレス格納部２１４（図３参照）から取得する。
【００７８】
そして、暗号鍵格納部４０４は、格納する暗号鍵を新たな暗号鍵に更新し、ＳＮＭＰ制御部１０６は、新たな暗号鍵によって暗号化されたＳＮＭＰメッセージを用いて環境データを通信ネットワーク４０へ送信する。本実施形態によれば、センサ制御デバイス３４が起動する度に新たな暗号鍵を取得することにより、管理装置５０−１は、被管理対象システム７０と、秘匿性の高い通信を行うことができる。
【００７９】
図６は、本実施形態に係るセンサ制御デバイス３４の動作の一例を示すフローチャートである。最初に、センサ制御デバイス３４は、初期値格納部３６が格納するデータを取得して、ＭＩＢ格納部１０８が格納するＭＩＢ、及び暗号鍵格納部４０４が格納する暗号鍵の初期値を設定する（Ｓ１０２）。そして、管理装置５０−１から、ＭＩＢ又は暗号鍵を設定させるＳＮＭＰメッセージを受信した場合（Ｓ１０４）、受信したＳＮＭＰメッセージに従って、ＭＩＢ、及び／又は暗号鍵を更新する（Ｓ１０６）。
【００８０】
そして、管理装置５０−１から環境データの要求が有る場合（Ｓ１０８）、ＡＤ変換器３２から取得した環境データをＭＩＢオブジェクトに対応付けて環境データ格納部２０２に格納する（Ｓ１１０）。そして、ＳＮＭＰメッセージを用いて管理装置５０−１に送信し（Ｓ１１２）、次の環境データの要求を待つ（Ｓ１０８）。一方、Ｓ１０４において、ＭＩＢ又は暗号鍵を更新させるＳＮＭＰメッセージを受信しない場合、センサ制御デバイス３４は、Ｓ１０８に進んで環境データの要求を待つ。
【００８１】
ここで、Ｓ１０８における環境データの要求は、例えば、センサ２０に対して外部入力信号を出力させるコマンド送付を指示するＳＮＭＰメッセージである。この場合、コマンド出力部３０６は、当該コマンドをセンサ２０に与え、センサ２０は、コマンドに対応して外部入力信号を出力する。
【００８２】
Ｓ１０８において、環境データの要求がない場合、ＳＮＭＰ制御部１０６は、管理装置５０−１と通信可能か否かを確認する（Ｓ１１４）。ＳＮＭＰ制御部１０６は、例えば、予め設定された確認周期毎に、管理装置５０−１に対してｐｉｎｇ等のメッセージを送信することにより、管理装置５０−１に対して通信可能なことを確認してよい。
【００８３】
そして、管理装置５０−１と通信可能であり、かつ、トラップフラグオブジェクトの値がトラップメッセージの送信を行う設定の場合（Ｓ１１６）、ＡＤ変換器３２から環境データを取得して環境データ格納部２０２に格納する（Ｓ１１８）。
【００８４】
そして、環境データが送信条件格納部２１０が格納する閾値オブジェクトの示す閾値より大きい場合（Ｓ１２０）、ＳＮＭＰ制御部１０６はトラップメッセージを管理装置５０−１に送信し（Ｓ１２２）、Ｓ１０８に戻って環境データの要求を待つ。
【００８５】
ここで、Ｓ１２０において、ＳＮＭＰ制御部１０６は、環境データが閾値より小さい場合にトラップメッセージを送信してもよい。また、Ｓ１２２において、ＳＮＭＰ制御部１０６は、トラップモードオブジェクトが示す送信回数で指定される数のトラップメッセージを管理装置５０−１へ送信する。
【００８６】
また、Ｓ１１４において、ＳＮＭＰ制御部１０６が管理装置５０−１と通信不可能な場合、センサ制御デバイス３４は、管理装置５０−２に管理装置５０−１と通信不可能であることを示すトラップメッセージを送信する。この場合、管理装置５０−２の通知部５６は、センサ制御デバイス３４の使用者の連絡先を連絡先データベース５８から取得して、使用者に、管理装置５０−１と通信不可能であることを通知する。
【００８７】
本実施形態によれば、センサ制御デバイス３４は、管理装置５０−１からの環境データの要求に応じて、又は、管理装置５０−１が予め設定したＭＩＢオブジェクトの値に応じた動作により、環境データを管理装置５０−１へ送信する。本実施形態によれば、管理装置５０−１は、センサ制御デバイス３４を適切に管理して環境データを取得することができる。
【００８８】
図７は、本実施形態に係る管理装置５０−１の動作の一例を示すフローチャートである。管理装置５０−１は、最初に、センサ制御デバイス３４が格納するＭＩＢ及び／又は暗号鍵を設定させるＳＮＭＰメッセージを送信する（Ｓ２０２）。そして、センサ制御デバイス３４の使用者が環境データを要求する場合（Ｓ２０４）、ＳＮＭＰ管理部５２はセンサ制御デバイス３４に対して環境データを要求し（Ｓ２０６）、センサ制御デバイス３４からの応答があった場合（Ｓ２０８）には、受け取った環境データと予め設定された閾値とを比較する（Ｓ２１０）。そして、環境データが閾値より大きい場合、通知部５６はコマンド格納部２０８からセンサ制御デバイス３４の使用者の連絡先情報を取得し、使用者の携帯電話６０に、環境データが閾値より大きいことを通知する（Ｓ２１２）。そして、閲覧データ格納部５４は環境データを携帯電話６０から閲覧可能に格納する（Ｓ２１４）。尚、別の実施例においては、環境データが閾値より小さい場合に使用者に通知してもよい。
【００８９】
ここで、Ｓ２０４において、ユーザが環境データを要求しない場合、管理装置５０−１はセンサ制御デバイス３４が送信するトラップメッセージを待ち（Ｓ２１６）、環境データを示すトラップメッセージを受信した場合は、Ｓ２１２に進んで使用者に通知を行う。また、Ｓ２１６においてトラップメッセージを受信しない場合は、センサ制御デバイス３４と通信可能か否かを確認し（Ｓ２１８）、通信不可能な場合は、Ｓ２１２に進んで、センサ制御デバイス３４と通信不可能であることを使用者に通知する。Ｓ２１８において、管理装置５０−１は、センサ制御デバイス３４に対して、例えばｐｉｎｇ等のメッセージを送信することにより、通信可能なことを確認してよい。
【００９０】
尚、Ｓ２０８においてセンサ制御デバイス３４からの応答が無い場合も、Ｓ２１２に進んで、センサ制御デバイス３４と通信不可能であることを使用者に通知する。これにより、ＳＮＭＰ管理部５２は、予め設定された応答要求周期毎に、センサ制御デバイス３４に対して応答を要求して、センサ制御デバイス３４の状態を確認する。尚、通知部５６は、予め設定された回数の環境データの要求（ポーリング）に対してセンサ制御デバイス３４の応答がない場合、使用者へ通知してもよい。
【００９１】
ここで、Ｓ２１０で環境データが閾値より小さい場合や、Ｓ２１８で制御デバイス３４と通信可能であることが確認された場合は、次にＳ２０４に戻って、使用者が環境データを要求するか否かを再度確認する。また、Ｓ２０４において、ＳＮＭＰ管理部５２は、予め設定された取得周期毎に環境データを要求して、センサ制御デバイス３４から環境データを取得してもよい。
【００９２】
本実施形態によれば、管理装置５０−１は、センサ制御デバイス３４を適切に管理し、環境データが予め定められた条件を満たした場合、又はセンサ制御デバイス３４との通信が正常に行えない場合に、使用者に通知することができる。
【００９３】
図８は、本実施形態に係る管理装置５０−１の一例であるパーソナルコンピュータ本体１１０のハードウェア構成の一例を示す。本実施形態に係るパーソナルコンピュータ本体１１０は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、グラフィックコントローラ１０７５、及び表示装置１０８０を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００９４】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。ＣＰＵ１０００は、ＳＮＭＰ管理部５２及び通知部５６（図１参照）として動作してよい。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００９５】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ１０４０は、パーソナルコンピュータ本体１１０が使用するプログラム及びデータを格納する。ハードディスクドライブ１０４０は、閲覧データ格納部５４及び連絡先データベース５８（図１参照）として動作してよい。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０を介して入出力チップ１０７０に提供する。
【００９６】
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、パーソナルコンピュータ本体１１０の起動時にＣＰＵ１０００が実行するブートプログラムや、パーソナルコンピュータ本体１１０のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、ＲＡＭ１０２０を介して入出力チップ１０７０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【００９７】
ここで、本実施形態において、ＲＡＭ１０２０に格納されるプログラムは、ＳＮＭＰ管理部モジュールと、通知モジュールと、閲覧データ格納モジュールと、連絡先データモジュールとを備える。これらのモジュールは、パーソナルコンピュータ本体１１０を、ＳＮＭＰ管理部５２、通知部５６、閲覧データ格納部５４、及び連絡先データベース５８として動作させる。
【００９８】
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。
【００９９】
以上に示した通り、本実施形態によれば、ＩＰネットワーク接続機能を有さない被管理対象デバイスを、ＳＮＭＰにより管理する管理システムを低いコストで提供することができる。また、これにより、所望の環境で使用できるプロキシエージェントを提供することができる。
【０１００】
図９は、ＳＮＭＰ制御部１０６の詳細な構成の一例を示す。本実施形態のＳＮＭＰ制御部１０６は、小さなバッファ容量で、正確なフロー制御を実現する。
【０１０１】
ＳＮＭＰ制御部１０６は、第１受信バッファ５０２、通信処理回路５１０、転送回路５１２、第２受信バッファ５０４、アプリケーション処理回路５０６、及びウィンドウサイズ決定回路５０８を備える。
【０１０２】
第１受信バッファ５０２は、通信ネットワーク４０から受信したＩＰパケットを格納するリングバッファである。ここで、ＩＰパケットは、ＩＰ（Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）に基づくパケットであり、パケットヘッダ及びパケットデータを含む。
【０１０３】
また、パケットヘッダは、ＩＰに基づくヘッダであるＩＰヘッダと、トランスポート層のヘッダであるトランスポートヘッダとを含む。トランスポートヘッダは、例えばＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ　Ｃｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ）に基づくＴＣＰヘッダ又はＵＤＰ（Ｕｓｅｒ　Ｄａｔａｇｒａｍ　Ｐｒｏｔｏｃｏｌ）に基づくＵＤＰヘッダである。パケットデータは、例えばＴＣＰ又はＵＤＰ等のトランスポート層のデータである。
【０１０４】
本実施形態において、第１受信バッファ５０２は、ＩＰパケットの一部である第１部分データの一例としてパケットヘッダを格納し、ＩＰパケットにおける、第１部分データとは異なる部分である第２部分データの一例としてパケットデータを格納する。別の実施例において、第１受信バッファ５０２は、一部に重複する部分を有する第１部分データ及び第２部分データを格納してもよい。例えば、第１受信バッファ５０２は、第１部分データとしてＩＰパケットを格納し、第２部分データとして、パケットデータを格納してもよい。
【０１０５】
通信処理回路５１０は、第１受信バッファ５０２に格納されたパケットヘッダを順次取り出し、パケットヘッダに基づくヘッダ処理の一例であるＩＰプロトコル処理及びトランスポートプロトコル処理を行う。ここでＩＰプロトコル処理及びトランスポートプロトコル処理のそれぞれは、例えばＩＰヘッダ及びトランスポートヘッダに基づくヘッダ処理であり、ＳＮＭＰ制御部１０６が行う第１の処理の一例である。
【０１０６】
本実施形態において、通信処理回路５１０は、ＴＣＰ／ＩＰプロトコルスタックを実現する機能を有する。また、通信処理回路５１０は、ＴＣＰ／ＩＰプロトコルスタック処理をハードウェア処理により行ってよい。この場合、通信処理回路５１０は、ＩＰプロトコル処理及びトランスポートプロトコル処理を高速に行うことができる。
【０１０７】
転送回路５１２は、例えば、ＩＰヘッダが含むパケット長フィールドの値、及びＴＣＰヘッダが含むデータオフセットフィールドの値に基づいて、ＩＰパケットからパケットデータを抽出する。そして、転送回路５１２は、抽出したパケットデータを、例えば第１受信バッファ５０２がＩＰパケットを受信するのに同期して、第１受信バッファ５０２から第２受信バッファ５０４へ転送する。
【０１０８】
第２受信バッファ５０４は、転送回路５１２が転送するパケットデータを受け取って格納するリングバッファである。第２受信バッファ５０４は、ＩＰプロトコル処理及びトランスポートプロトコル処理のいずれかと少なくとも一部を並行して、パケットデータを第１受信バッファ５０２から受け取る。
【０１０９】
アプリケーション処理回路５０６は、第２受信バッファ５０４に格納されたパケットデータを、例えばストリームデータとしてＦＩＦＯ順に受け取り、ＳＮＭＰに基づく処理（ＳＮＭＰ処理）を行う。アプリケーション処理回路５０６は、ＳＮＭＰ処理により、ＭＩＢ格納部１０８に格納されたＭＩＢを更新する。また、アプリケーション処理回路５０６は、外部からシリアルインターフェイスを介して受け取る指示に基づき、ＳＮＭＰ処理を行ってもよい。
【０１１０】
ここで、ＳＮＭＰ処理は、パケットデータに対するアプリケーション層の処理の一例であり、第１の処理より長い処理時間を要する第２の処理の一例である。通信処理回路５１０は、アプリケーション処理回路５０６によるＳＮＭＰ処理より高速にヘッダ処理を行う。また、別の実施例において、アプリケーション処理回路５０６は、例えば、ＨＴＴＰ、マルチメディア呼制御プロトコル、又はＴＥＬＮＥＴプロトコル等に基づくパケットデータを受け取り、これに基づいてＭＩＢを更新してもよい。
【０１１１】
ウィンドウサイズ決定回路５０８は、第１受信バッファ５０２が受け取ったＩＰパケットがＴＣＰに基づくパケットである場合に、第２受信バッファ５０４の空き容量に基づいて、ＴＣＰにおけるウィンドウサイズを決定する。そして、ウィンドウサイズ決定回路５０８は、決定したウィンドウサイズを通信処理回路５１０に通知する。通信処理回路５１０は、当該ウィンドウサイズを、ＩＰパケットの送信元に、通信ネットワーク４０を介して通知する。
【０１１２】
本実施形態において、第１受信バッファ５０２は、ＩＰパケットの受信と同期した並行処理により、当該ＩＰパケットが含むパケットデータを第２受信バッファ５０４に転送する。そして、通信処理回路５１０は、第１受信バッファ５０２が格納するパケットヘッダを、アプリケーション処理回路５０６によるＳＮＭＰ処理より高速に処理する。
【０１１３】
これにより、第１受信バッファ５０２は、受信したＩＰパケットに対するアプリケーション処理が完了する前に、次のＩＰパケットを受信することができる。そのため、本実施形態によれば、ＩＰパケットを受信するバッファの容量を低減することができる。第１受信バッファ５０２の容量は、例えば、受信するＩＰパケットの最大サイズと同程度であってもよい。更には、本実施形態によれば、少ないバッファ容量により、効率的にＩＰパケットを処理することができる。
【０１１４】
また、本実施形態において、第１受信バッファ５０２及び第２受信バッファ５０４はリングバッファである。この場合、第１受信バッファ５０２又は第２受信バッファ５０４が一部にデータを格納している場合であっても、他の部分を空き容量として有効に使用することができる。そのため、本実施形態によれば、第１受信バッファ５０２又は第２受信バッファ５０４の容量が小さい場合であっても適切にデータ転送を行うことができる。また、これにより、センサ制御デバイス３４（図１参照）を低いコストで提供することができる。
【０１１５】
また、本実施形態において、ＳＮＭＰ制御部１０６は、受け取ったＩＰパケットをパケットヘッダとパケットデータとに分離して処理する。通信処理回路５１０は、例えば、受け取ったパケットヘッダに基づいて新たなパケットヘッダを生成し、当該新たなパケットヘッダと、第２受信バッファ５０４に格納されたパケットデータとに基づいて新たなＩＰパケットを生成してよい。
【０１１６】
通信処理回路５１０は、生成した新たなＩＰパケットを、通信ネットワーク４０又は、例えばプライベートネットワーク等の他のネットワークに送信してよい。これにより、ＳＮＭＰ制御部１０６は、ＩＰパケットを、パケットヘッダを書き換えて中継することができる。この場合、ＩＰパケットをセキュアに中継することができる。
【０１１７】
図１０は、ＳＮＭＰ制御部１０６の動作の一例を示すフローチャートである。まず、第１受信バッファ５０２は、通信ネットワーク４０から受信したＩＰパケットを格納する（Ｓ３０２）。そして、受け取ったＩＰパケットのデータ量（サイズ）が、第１受信バッファ５０２の容量以下であれば（Ｓ３０４）、転送回路５１２は、第２受信バッファ５０４へのパケットデータの転送を開始し（Ｓ３０６）、通信処理回路５１０は、パケットヘッダに基づくヘッダ処理を開始する。（Ｓ３０８）。
【０１１８】
そして、ヘッダ処理が正常に終了した場合（Ｓ３１０）、アプリケーション処理回路５０６は、第２受信バッファ５０４に格納されたパケットデータに対して、ＳＮＭＰ処理を開始する（Ｓ３１２）。この場合、第１受信バッファ５０２は、ＩＰパケットを格納していた領域を開放してよい。
【０１１９】
そして、通信処理回路５１０はウィンドウサイズ決定回路５０８が決定したウィンドウサイズをＩＰパケットの送信元に通知し（Ｓ３１４）、Ｓ３０２に戻って次のＩＰパケットを受信して格納する。この場合、第１受信バッファ５０２は、アプリケーション処理回路５０６がＳＮＭＰ処理を行っている間に次のＩＰパケットを受信してよい。
【０１２０】
ここで、Ｓ３０４において、受信したＩＰパケットが、第１受信バッファ５０２の容量より大きいデータ量を有する場合、通信処理回路５１０は、ＩＰパケットの送信元に、第１受信バッファ５０２の容量を最大転送単位（ＭＴＵ）として通知する（Ｓ３１６）。
【０１２１】
また、Ｓ３１０において、ヘッダ処理が異常終了した場合、第２受信バッファ５０４は、ヘッダ処理が異常終了したパケットヘッダに対応するパケットデータを格納していた領域を開放し（Ｓ３１８）、Ｓ３１４に進む。この場合、通信処理回路５１０は、異常終了の結果に基づく障害処理を行うのが好ましい。
【０１２２】
本実施形態において、通信処理回路５１０は、第２受信バッファ５０４にパケットデータを転送した後に他のＩＰパケットを受信する。そのため、本実施形態によれば、少ないバッファ容量により、効率的にＩＰパケットを受信することができる。また、ウィンドウサイズ決定回路５０８は、第２受信バッファ５０４の空き容量に基づいて、受信可能なデータ量に対応する適切なウィンドウサイズを決定する。そのため、本実施形態によれば、ウィンドウサイズの誤りによるＩＰパケットの再送が生じるのを防止することができる。また、これにより、正確なフロー制御を実現することができる。
【０１２３】
図１１は、通信処理回路５１０の詳細な構成の一例を示す。本実施形態において、通信処理回路５１０は、ＩＰプロトコル処理及びトランスポートプロトコル処理を高速に行う。通信処理回路５１０は、抽出回路６０２、ＩＰプロトコル処理回路６０６、トランスポートプロトコル処理回路６０４、セッション情報格納部６１４、リソース管理回路６１２、障害処理回路６１０、及び送信回路６０８を有する。
【０１２４】
抽出回路６０２は、第１受信バッファ５０２が受信したＩＰパケットからＩＰヘッダ及びトランスポートヘッダを抽出し、抽出したＩＰヘッダ及びトランスポートヘッダのそれぞれを、ＩＰプロトコル処理回路６０６及びトランスポートプロトコル処理回路６０４のそれぞれに供給する。ここで、抽出回路６０２は、ＩＰパケットに含まれるＩＨＬ（Ｉｎｔｅｒｎｅｔ　Ｈｅａｄｅｒ　Ｌｅｎｇｔｈ）フィールドの値に基づき、ＩＰヘッダを抽出する。
【０１２５】
また、ＩＰパケットがトランスポートヘッダの一例であるＴＣＰヘッダを含む場合、抽出回路６０２は、ＴＣＰヘッダのデータオフセットフィールドが位置すべき部分の値と、ＩＨＬフィールドの値とに基づき、ＩＰパケットからＴＣＰヘッダを抽出する。ＩＰパケットがトランスポートヘッダの一例であるＵＤＰヘッダを含む場合、抽出回路６０２は、ＵＤＰヘッダのＵＤＰヘッダ長が位置すべき部分の値と、ＩＨＬフィールドの値とに基づき、ＩＰパケットからＵＤＰヘッダを抽出する。
【０１２６】
ＩＰプロトコル処理回路６０６は、抽出回路６０２が抽出したＩＰヘッダに基づき、ＩＰプロトコル処理を行う。また、ＩＰプロトコル処理回路６０６は、ハードウェア処理によりＩＰプロトコル処理を行ってよい。この場合、ＩＰプロトコル処理回路６０６は、高速にＩＰプロトコル処理を行うことができる。
【０１２７】
また、ＩＰプロトコル処理回路６０６は、予め定められた場合に、ＩＰプロトコル処理における障害を検出する。ＩＰプロトコル処理回路６０６は、例えば、ＩＰヘッダのバージョン番号が予め定められた番号でないサポート外の番号である場合や、ＩＰヘッダのサービスタイプを示す値が予め定められた受け入れ可能な値でない場合に、ＩＰプロトコル処理における障害を検出してよい。また、ＩＰプロトコル処理回路６０６は、再計算したＩＰヘッダのチェックサム値がＩＰヘッダのヘッダチェックサムフィールドに格納された値と異なる場合に、ＩＰプロトコル処理における障害を検出してもよい。
【０１２８】
トランスポートプロトコル処理回路６０４は、抽出回路６０２が抽出したトランスポートヘッダに基づき、トランスポートプロトコル処理の一例であるＴＣＰプロトコル処理又はＵＤＰプロトコル処理を行う。本実施形態において、トランスポートプロトコル処理回路６０４は、ＩＰプロトコル処理回路６０６によるＩＰプロトコル処理と少なくとも一部を並行して、例えばハードウェア処理によりトランスポートプロトコル処理を行う。そのため、トランスポートプロトコル処理回路６０４は、高速にトランスポートプロトコル処理を行うことができる。
【０１２９】
また、トランスポートプロトコル処理回路６０４は、予め定められた場合に、トランスポートプロトコル処理における障害を検出する。トランスポートプロトコル処理回路６０４は、例えば、ＩＰパケットのウィンドウ制御において障害が生じた場合にトランスポートプロトコル処理における障害を検出してよい。すなわち、例えば、トランスポートプロトコル処理回路６０４は、提示した受信ウィンドウを外れたシーケンス番号を持つＴＣＰヘッダを含むＩＰパケットを受信した場合に障害を検出してよい。
【０１３０】
また、トランスポートプロトコル処理回路６０４は、受信済みのデータを重複して受信した場合にトランスポートプロトコル処理における障害を検出してもよい。すなわち、例えば、トランスポートプロトコル処理回路６０４は、ＩＰパケットの複製がネットワーク上で発生した場合や、ＡＣＫがＩＰパケットの送信元に到達しなかった場合に障害を検出してよい。更には、トランスポートプロトコル処理回路６０４は、ＦＩＮを受信した後に更にＩＰパケットを受信した場合に障害を検出してもよい。
【０１３１】
セッション情報格納部６１４は、通信ネットワーク４０に接続された通信装置との間で確立したセッションを示すセッション情報を格納するメモリである。セッション情報格納部６１４は、外部の通信装置とセッションを確立する毎に、当該セッションに対応するＰＣＢ６１６（Ｐｒｏｔｏｃｏｌ　Ｃｏｎｔｒｏｌ　Ｂｌｏｃｋ）を動的に生成して、セッション情報を格納する。これにより、セッション情報格納部６１４は、確立しているセッションの数に等しい、複数のＰＣＢ６１６を格納する。複数のＰＣＢ６１６のそれぞれは、例えば、対応するセッションにおける、通信先並びに自己のＩＰアドレス、通信先並びに自己のポート番号、次に送るべきＴＣＰパケットのシーケンス番号、次に受け取るべきＴＣＰパケットのシーケンス番号、及び通信先から通知されたウィンドウサイズ等を示す情報を格納する。
【０１３２】
リソース管理回路６１２は、ＰＣＢ６１６が格納する情報をセッション情報格納部６１４から取得して、ＩＰプロトコル処理回路６０６、トランスポートプロトコル処理回路６０４、及び障害処理回路６１０のそれぞれに供給する。また、リソース管理回路６１２は、例えば、トランスポートプロトコル処理回路６０４によるＩＰプロトコル処理回路６０６によるＩＰプロトコル処理の結果、及びトランスポート処理の結果をアプリケーション処理回路５０６に通知する。アプリケーション処理回路５０６は、これらの結果に基づき、ＳＮＭＰ処理を行ってよい。
【０１３３】
ここで、リソース管理回路６１２は、セッションの確立に応じて動的に生成されたＰＣＢに基づき、セッションを管理する。そのため、本実施形態によれば、通信処理回路５１０は、単一のセッションにより通信を行う端末としての機能、複数のセッションを集積して多重処理して通信を行う機能、又は複数のセッションに基づき通信を中継する機能等を有することができる。
【０１３４】
また、リソース管理回路６１２は、セッションの管理をハードウェア処理により行ってよい。この場合、リソース管理回路６１２は、通信処理回路５１０のリソース管理を高速に行うことができる。リソース管理回路６１２は、ＩＰプロトコル処理回路６０６、トランスポートプロトコル処理回路６０４、又は障害処理回路６１０等のハードウェアリソースを管理することにより、セッションを処理するスケジューリングを行ってもよい。
【０１３５】
障害処理回路６１０は、ＩＰプロトコル処理回路６０６がＩＰプロトコル処理において障害を検出した場合、又はトランスポートプロトコル処理回路６０４がトランスポートプロトコル処理において障害を検出した場合に、障害処理を行う。障害処理回路６１０は、障害処理として、例えば、ＩＰパケットの再送要求や通信エラーの通知を、ＩＰパケットの送信元に行ってよい。
【０１３６】
また、障害処理回路６１０は、ＩＰプロトコル処理回路６０６におるＩＰプロトコル処理の結果、及びトランスポートプロトコル処理回路６０４によるトランスポートプロトコル処理の結果に基づき、障害の検出を行ってもよい。この場合、障害処理回路６１０は、セッション情報格納部６１４に格納されたセッション情報に基づき、障害を検出してよい。
【０１３７】
障害処理回路６１０は、例えば、通信ネットワーク４０から受信したＩＰパケットが、セッションの確立を要求するものでなく、かつ、ＩＰパケットのＩＰヘッダに含まれる送信元ＩＰアドレス及び宛先ＩＰアドレスと、トランスポートヘッダに含まれる送信元ポート番号及び宛先ポート番号とにより指定されるセッションを示すセッション情報がセッション情報格納部６１４に格納されていない場合に障害を検出してよい。また、ＴＣＰパケットの宛先ポート番号が示すポートがサービス可能状態（Ｌｉｓｔｅｎ　Ｓｔａｔｅ）でない場合や、セッションの確立を要求するＩＰパケットのＩＰヘッダにおける送信元ＩＰアドレスがサービス非許可のＩＰアドレスを示す場合に障害を検出してもよい。
【０１３８】
送信回路６０８は、通信ネットワーク４０にＩＰパケットを送信する。送信回路６０８は、例えばアプリケーション処理回路５０６が生成するデータ、ウィンドウサイズ決定回路５０８が決定するウィンドウサイズ、又は障害処理回路６１０による障害処理の結果に基づくＩＰパケットを送信する。
【０１３９】
この場合、例えば、トランスポートプロトコル処理回路６０４は、アプリケーション処理回路５０６が生成するデータ、又はウィンドウサイズ決定回路５０８が決定したウィンドウサイズを受け取り、受け取ったデータ又はウィンドウサイズに基づくＴＣＰプロトコル処理によりＴＣＰパケットを生成する。ＩＰプロトコル処理回路６０６は、トランスポートプロトコル処理回路６０４から当該ＴＣＰパケットを受け取り、ＩＰプロトコル処理によりＩＰパケットを生成して送信回路６０８に供給する。送信回路６０８は、受け取ったＩＰパケットを通信ネットワーク４０に送信する。
【０１４０】
本実施形態において、通信処理回路５１０は、受信したＩＰパケットに対するＩＰプロトコル処理と、トランスポートプロトコル処理とを少なくとも一部を並行して行う。そのため、本実施形態によれば、ＩＰパケットを高速に処理することができる。また、これにより、第１受信バッファ５０２の容量が小さい場合であっても、ＩＰパケットを適切に処理することができる。
【０１４１】
この場合、アプリケーション処理回路５０６は、トランスポートプロトコルに基づくアプリケーションプロトコル処理を行ってよい。アプリケーション処理回路５０６は、例えば、ＴＣＰに基づくアプリケーションプロトコルの一例であるＨＴＴＰ、マルチメディア呼制御プロトコル、又はＴＥＬＮＥＴプロトコル等に基づく処理を行ってよい。また、アプリケーション処理回路５０６は、ＵＤＰに基づくマルチメディア制御プロトコル処理を行ってもよい。この場合、トランスポートプロトコル処理回路６０４は、例えば、ＲＴＰ等の上位階層においてフロー制御をするのが好ましい。
【０１４２】
ここで、小規模なＣＰＵ及び小容量のメモリにより、アプリケーションプロトコル処理を行うとすれば、処理に多くの時間を要する場合がある。例えば、ＨＴＴＰに基づくＷｅｂアプリケーションや、マルチメディア呼制御プロトコルに基づくアプリケーションを実行するとすれば、ＨＴＭＬ処理や描画処理等に多くの時間を有することとなる。しかし、本実施形態によれば、受信したＩＰパケットを高速に処理することにより、これらの処理を効率よく、高速に行うことができる。そのため、本実施形態によれば、これらのアプリケーションを実行する端末を低コストで提供することができる。
【０１４３】
図１２は、通信処理回路５１０が、受信したＩＰパケットを処理する動作の一例を示すフローチャートである。最初に、抽出回路６０２はＩＰパケットからＩＰヘッダを抽出し（Ｓ４０２）、ＩＰプロトコル処理回路６０６は、抽出されたＩＰヘッダに基づき、ＩＰプロトコル処理を開始する（Ｓ４０４）。次に、抽出回路６０２はトランスポートヘッダを抽出し（Ｓ４０６）、トランスポートプロトコル処理回路６０４は、抽出されたトランスポートヘッダに基づき、トランスポートプロトコル処理を開始する（Ｓ４０８）。これにより、トランスポートプロトコル処理回路６０４は、ＩＰプロトコル処理と少なくとも一部を並行してトランスポートプロトコル処理を行う。
【０１４４】
そして、次に、障害処理回路６１０はＩＰプロトコル処理及びトランスポートプロトコル処理の結果に基づいてセッション情報を確認し（Ｓ４１０）、ＩＰプロトコル処理回路６０６、トランスポートプロトコル処理回路６０４、又は障害処理回路６１０が障害を検出した場合（Ｓ４１２）、障害処理回路６１０は障害を処理して（Ｓ４１４）、通信処理回路５１０はＩＰパケットの処理を終了する。
【０１４５】
一方、Ｓ４１２において、障害が検出されなかった場合、リソース管理回路６１２は、ＩＰプロトコル処理回路６０６によるＩＰプロトコル処理の結果、及びトランスポートプロトコル処理回路６０４によるトランスポートプロトコル処理の結果をアプリケーション処理回路５０６に通知して、アプリケーション処理回路５０６にＳＮＭＰ処理を開始させ（Ｓ４１６）、通信処理回路５１０はＩＰパケットの処理を終了する。本実施形態によれば、通信処理回路５１０は、ＩＰプロトコル処理とトランスポートプロトコル処理とを適切に並列処理することができる。
【０１４６】
図１３は、トランスポートプロトコル処理回路６０４の詳細な構成の一例を示す。本実施形態のトランスポートプロトコル処理回路６０４は、通信ネットワーク４０（図１１参照）から受信したＩＰパケットを処理する順序を、優先度に応じて変更する。トランスポートプロトコル処理回路６０４は、受信キュー選択回路７０２、複数の受信キュー７０４−１〜ｎ、送信キュー選択回路７１２、複数の送信キュー７１４−１〜ｎ、優先度決定回路７０８、処理順序決定回路７０６、及びトランスポート送受信処理回路７１０を含む。
【０１４７】
受信キュー選択回路７０２は、受信パケットの一例であるトランスポートヘッダを抽出回路６０２から受け取り、これに基づき、一の受信キュー７０４を選択する。この場合、受信キュー選択回路７０２は、例えば、トランスポートヘッダに基づきＩＰパケットに対応するセッションを識別し、当該セッションに基づき受信キュー７０４を選択する。受信キュー選択回路７０２は、当該セッションを示す情報を、リソース管理回路６１２を介してセッション情報格納部６１４（図１１参照）から受け取ってよい。受信キュー選択回路７０２は、選択した受信キュー７０４にトランスポートヘッダを格納させる。
【０１４８】
ここで、受信キュー選択回路７０２は、選択した受信キュー７０４に、トランスポート層のデータを更に格納させてもよい。この場合、受信キュー７０４は、ＴＣＰパケット又はＵＤＰパケットを格納してよい。
【０１４９】
送信キュー選択回路７１２は、アプリケーション処理回路５０６が生成するデータ、又はウィンドウサイズ決定回路５０８が決定したウィンドウサイズを送信パケットとして受け取り、一の送信キュー７１４に格納させる。送信キュー選択回路７１２は、例えば、送信パケットを送信する送信先に応じて、一の送信キュー７１４を選択してよい。この場合、送信キュー選択回路７１２は、当該送信先を示す情報を、セッション情報格納部６１４から受け取ってよい。
【０１５０】
優先度決定回路７０８は、トランスポートヘッダに基づき、当該トランスポートヘッダを格納する受信キュー７０４の優先度を決定する。本実施形態において、優先度決定回路７０８は、トランスポートヘッダに対応するセッションを示す情報に基づき優先度を決定する。また、トランスポートヘッダがＴＣＰヘッダである場合、優先度決定回路７０８は、ＴＣＰヘッダに含まれる、例えばＳＹＮ、ＦＩＮ等のコードビットや、アプリケーション識別子である宛先ポート番号に基づき優先度を決定してもよい。
【０１５１】
別の実施例において、優先度決定回路７０８は、ＩＰプロトコル処理回路６０６（図１１参照）からＩＰのヘッダに含まれる送信元アドレスを示す情報を受け取り、当該情報に基づき優先度を決定してもよい。また、優先度決定回路７０８は、更に、複数の送信キュー７１４のそれぞれが格納する送信パケットに対応するセッションを示す情報に基づき、複数の送信キュー７１４のそれぞれに対する優先度を決定する。
【０１５２】
処理順序決定回路７０６は、複数の受信キュー７０４−１〜ｎのそれぞれに格納されたトランスポートヘッダに対してトランスポートプロトコルを行うべき処理順序を、それぞれの受信キュー７０４の優先度に基づいて決定する。また、本実施形態において、処理順序決定回路７０６は、複数の送信キュー７１４−１〜ｎのそれぞれに対する優先度に更に基づき、それぞれの受信キュー７０４に格納されたトランスポートヘッダと、それぞれの送信キュー７１４に格納された送信パケットとに対してトランスポート処理を行うべき処理順序を決定する
【０１５３】
トランスポート送受信処理回路７１０は、受信キュー７０４に格納されたトランスポートヘッダに対してトランスポートプロトコル処理を行って、処理結果をリソース管理回路６１２に供給する。この場合、リソース管理回路６１２は、セッション情報格納部６１４にアクセスし、当該トランスポートヘッダに対応するＰＣＢ６１６（図１１参照）を更新してよい。
【０１５４】
また、トランスポート送受信処理回路７１０は、送信キュー７１４に格納された送信パケットに対してトランスポートプロトコル処理を行って、ＩＰプロトコル処理回路６０６に供給する。この場合、ＩＰプロトコル処理回路６０６は、送信パケットに更にＩＰプロトコル処理を行って、送信回路６０８（図１１）に供給してよい。送信回路６０８は、受け取った送信パケットを通信ネットワーク４０に送信してよい。本実施形態によれば、受信したＩＰパケット及び通信ネットワーク４０に送信すべき送信パケットを、優先度に応じて適切に処理することができる。
【０１５５】
図１４は、優先度決定回路７０８の構成の詳細な構成の一例を示す。本実施形態において、優先度決定回路７０８は、複数の受信キュー７０４（図１３参照）のそれぞれに対して予め設定された帯域幅に更に基づき、優先度を決定する。優先度決定回路７０８は、セッション情報識別回路８０２、予約帯域レジスタ８０４、累積差分カウンタ８０６、及び優先度設定回路８０８を含む。
【０１５６】
セッション情報識別回路８０２は、複数の受信キュー７０４のそれぞれが格納するトランスポートヘッダに対応するセッションを示す情報を、リソース管理回路６１２を介してセッション情報格納部６１４から取得する。セッション情報識別回路８０２は、セッションを示す情報として、例えば、通信先並びに自己のＩＰアドレス、及び通信先並びに自己のポート番号を取得してよい。
【０１５７】
予約帯域レジスタ８０４は、それぞれ受信キュー７０４に対して割り当てられた、単位時間あたりのＩＰパケット処理量を、予約帯域幅として格納する。予約帯域レジスタ８０４は、予約帯域幅を、リソース管理回路６１２の指示に基づいて格納してよい。
【０１５８】
累積差分カウンタ８０６は、それぞれの受信キュー７０４に対応する、予約帯域幅の時間積分値と累積処理量との差分を格納する。ここで、累積処理量とは、受信キュー７０４に格納されたトランスポートヘッダに対応するＩＰパケットが処理された累積データ量である。
【０１５９】
本実施形態において、累積差分カウンタ８０６は、単位時間経過毎に、それぞれの受信キュー７０４に対応して格納する値に、対応する受信キュー７０４の予約帯域幅の値を加算する。ここで、当該加算の結果が予約帯域幅の値以上の場合、累積差分カウンタは予約帯域幅の値を格納してよい。
【０１６０】
そして、トランスポート送受信処理回路７１０（図１３参照）が、トランスポートヘッダを処理する毎に、累積差分カウンタ８０６は、格納する値から、当該トランスポートヘッダに対応するＩＰパケットのデータ長を減算する。これにより、累積差分カウンタ８０６は、累積処理量と予約帯域幅の時間積分値との差分を格納する。ここで、当該減算の結果が予め定められた下限値以下の場合、累積差分カウンタ８０６は、当該下限値を格納してよい。累積処理量が予約帯域幅の時間積分値と比べて大きい場合、累積差分カウンタ８０６は、負の値を格納してよい。
【０１６１】
優先度設定回路８０８は、セッション情報識別回路８０２が識別したセッションを示す情報と、累積差分カウンタ８０６が格納する値とに基づいて、複数の受信キュー７０４のそれぞれに対して優先度を設定する。優先度設定回路８０８は、対応する累積差分カウンタ８０６の格納値が大きな受信キュー７０４の優先度を高く設定してよい。優先度設定回路８０８は設定した優先度を処理順序決定回路７０６に通知する。本実施形態によれば、それぞれの受信キュー７０４に対して適切に優先度を設定することができる。
【０１６２】
図１５は、トランスポートプロトコル処理回路６０４の動作の一例を示すフローチャートである。受信キュー選択回路７０２が新たな受信パケットとしてトランスポートヘッダを受け取った場合、（Ｓ５０２）、受信キュー選択回路７０２は、受け取った受信パケットに対応するセッションを識別する（Ｓ５０４）。そして、受信キュー選択回路７０２は、一の受信キュー７０４を選択して受信パケットを格納させ（Ｓ５０６）、優先度決定回路７０８は、この送信キュー７１４の優先度を決定する（Ｓ５０８）。
【０１６３】
ここで、Ｓ５０２において、送信キュー選択回路７１２が新たに生成された送信パケットを受け取った場合、送信キュー選択回路７１２は、受け取った送信パケットに対応するセッションを識別する（Ｓ５０４）。そして、送信キュー選択回路７１２は、一の送信キュー７１４を選択して送信パケットを格納させ（Ｓ５０６）、優先度決定回路７０８は、この受信キュー７０４の優先度を決定する（Ｓ５０８）。
【０１６４】
Ｓ５０８の次に、処理順序決定回路７０６は、複数の受信キュー７０４−１〜ｎ、及び複数の送信キュー７１４−１〜ｎの優先度に従って、これらに格納された受信パケット及び送信パケットを処理すべき順序を決定する（Ｓ５１０）。本実施形態において、処理順序決定回路７０６は、次に処理されるべき一の受信キュー７０４又は送信キュー７１４を選択する。そして、トランスポート送受信処理回路７１０は、処理順序決定回路７０６が選択した受信キュー７０４に格納された受信パケット、又は送信キュー７１４に格納された送信パケットに対して処理を行う（Ｓ５１２）。
【０１６５】
ここで、複数の受信キュー７０４−１〜ｎ、及び複数の送信キュー７１４−１〜ｎのそれぞれに帯域幅が設定されている場合（Ｓ５１４）、トランスポート送受信処理回路７１０は、累積差分カウンタ８０６の格納値を更新し（Ｓ５１６）、Ｓ５０２に戻る。
【０１６６】
そして、受信キュー選択回路７０２が新たな受信パケットを受け取らず、かつ、送信キュー選択回路７１２が新たな送信パケットを受け取らない場合であり（Ｓ５０２）、いずれかの受信キュー７０４又は送信キュー７１４が、未処理の受信パケット又は送信パケットを格納している場合（Ｓ５１８）、処理順序決定回路７０６は次の順序の受信キュー７０４又は送信キュー７１４を選択する（Ｓ５１０）。
【０１６７】
また、受信キュー選択回路７０２が新たな受信パケットを受け取るか、送信キュー選択回路７１２が新たな送信パケットを受け取った場合（Ｓ５０２）、Ｓ５０４〜Ｓ５０８に従って、処理順序決定回路７０６は新たな順序を決定する（Ｓ５１０）。また、Ｓ５１２において、未処理の受信パケット又は送信パケットがない場合、Ｓ５０２に戻って新たな受信パケット又は送信パケットの到着を待つ。本実施形態によれば、複数の受信キュー７０４−１〜ｎのそれぞれが格納する受信パケットと、複数の送信キュー７１４−１〜ｎのそれぞれが格納する送信パケットとを適切な順序で順次処理することができる。
【０１６８】
図１６は、処理順序決定回路７０６の動作の一例を示すフローチャートである。本実施形態において、処理順序決定回路７０６は、複数のスロットを有するスケジュールリングに従って、一の受信キュー７０４又は送信キュー７１４を選択する。複数のスロットのそれぞれは、ユーザの指示に基づいていずれかの受信キュー７０４又は送信キュー７１４を指定することにより、受信キュー７０４又は送信キュー７１４を処理すべき順序を指定する。
【０１６９】
先ず、受信パケットを格納している受信キュー７０４、及び送信パケットを格納している送信キュー７１４いずれかが、予め定められた優先度より高い優先度を有する場合（Ｓ６０２）、処理順序決定回路７０６は、この受信キュー７０４又は送信キュー７１４を選択して（Ｓ６０４）、動作を終了する。ここで、高い優先度を有する受信キュー７０４又は送信キュー７１４が複数のある場合、処理順序決定回路７０６は、これらのうち最も高い優先度を有する受信キュー７０４又は送信キュー７１４を選択する（Ｓ６０４）。
【０１７０】
これにより、トランスポート送受信処理回路７１０は、高い優先度の受信キュー７０４に格納された受信パケット、及び高い優先度の送信キュー７１４に格納された送信パケットを優先的に処理する。また、複数の受信キュー７０４のそれぞれは、複数の受信パケットを格納してよく、複数の送信キュー７１４のそれぞれは、複数の送信パケットを格納してよい。この場合、最も高い優先度の受信キュー７０４又は送信キュー７１４が受信パケット又は送信パケットを格納していれば、処理順序決定回路７０６は、この受信キュー７０４又は送信キュー７１４を選択する。そのため、トランスポート送受信処理回路７１０は、最も高い優先度の受信キュー７０４又は送信キュー７１４に格納された受信パケット又は送信パケットをすべて処理した後に、次の優先度の受信キュー７０４又は送信キュー７１４に格納された受信パケット又は送信パケットを処理する。
【０１７１】
一方、高い優先度を有する受信キュー７０４がいずれも受信パケットを格納しておらず、かつ、高い優先度を有する送信キュー７１４がいずれも送信パケットを格納していない場合（Ｓ６０２）、スケジュールリングのスロットを一つ進めて次のスロットを選択する（Ｓ６０６）。
【０１７２】
ここで、選択したスロットが指定する受信キュー７０４又は送信キュー７１４が受信パケット又は送信パケットを格納している場合（Ｓ６０８）、処理順序決定回路７０６は当該受信キュー７０４又は送信キュー７１４を選択して（Ｓ６１０）動作を終了する。一方、選択したスロットに対応する受信キュー７０４が受信パケットを格納していないか、送信キュー７１４が送信パケットを格納してない場合（Ｓ６０８）、スケジュールリングのスロットを更に一つ進めて次のスロットを選択して（Ｓ６０６）、再びＳ６０８に進む。
【０１７３】
これにより、処理順序決定回路７０６は、複数のスロットに予め設定された順序に基づき、複数の受信キュー７０４から、一の受信キュー７０４を順次選択する。また、処理順序決定回路７０６は、一のスロットが指定する受信キュー７０４を選択した後、次の受信キュー７０４を選択する前にスロットを一つ進める。そのため、処理順序決定回路７０６は、トランスポート送受信処理回路７１０がトランスポートヘッダを処理する毎に、次の受信キュー７０４を選択する。
【０１７４】
本実施形態において、処理順序決定回路７０６は、予め定められた優先度より高い優先度を有する、受信キュー７０４に格納された受信パケット、及び送信キュー７１４に格納された送信パケットを優先的に処理し、それ以外の受信キュー７０４又は送信キュー７１４に格納された受信パケット又は送信パケットを、予め設定されたスケジュールリングに従って処理する。そのため、本実施形態によれば、高い優先度の受信キュー７０４又は送信キュー７１４に対して確実に優先して処理を行いながら、その他の受信キュー７０４及び送信キュー７１４に対しては、優先度の高いキューのみが連続して処理されるスタベーション（Ｓｔｒａｖａｔｉｏｎ）を避けた処理を行うことができる。そのため、本実施形態によれば、例えばサーバ系アプリケーション等の複数のセッションを同時に処理するアプリケーションにおいても、これら複数のセッションを効率よく処理することができる。
【０１７５】
尚、別の実施例において、処理順序決定回路７０６は、受信パケット又は送信パケットがいずれの受信キュー７０４又は送信キュー７１４に格納されているかに基づいて、トランスポートプロトコル処理を行うべき処理順序を決定してもよい。この場合、受信キュー選択回路７０２は、例えば、受信パケットに対応するセッションに基づいて、当該受信パケットを格納させる受信キュー７０４を選択してよい。また、受信キュー選択回路７０２は、受信パケットの一例であるＴＣＰヘッダに含まれるコードビット、宛先ポート番号や、当該トランスポートヘッダを含むＩＰヘッダに含まれる送信元アドレス受信キュー７０４を選択してもよい。また、送信キュー選択回路７１２は、例えば、送信パケットに対応するセッションに基づいて、当該送信パケットを格納させる送信キュー７１４を選択してよい。この場合も、処理順序決定回路７０６は、受信パケット又送信パケットに対する適切な処理順序を決定することができる。
【０１７６】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更または改良を加えることができる。そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１７７】
【発明の効果】
上記説明から明らかなように、本発明によれば、ＩＰネットワーク接続機能を有さない被管理対象デバイスを管理する管理システムを低いコストで提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る管理システム１０の一例を示す図である。
【図２】本実施形態に係るセンサ制御デバイス３４の構成の一例を示す図である。
【図３】環境データ取得部１０４及びＭＩＢ格納部１０８の詳細な構成の一例を示す図である。
【図４】ＭＩＢ格納部１０８が格納するＭＩＢの構成の一例を示す図である。
【図５】暗号処理部１１０の構成の一例を示す図である。
【図６】本実施形態に係るセンサ制御デバイス３４の動作の一例を示すフローチャートである。
【図７】本実施形態に係る管理装置５０−１の動作の一例を示すフローチャートである。
【図８】パーソナルコンピュータ本体１１０のハードウェア構成の一例を示す図である。
【図９】ＳＮＭＰ制御部１０６の構成の一例を示す図である。
【図１０】ＳＮＭＰ制御部１０６の動作の一例を示すフローチャートである。
【図１１】通信処理回路５１０の構成の一例を示す図である。
【図１２】通信処理回路５１０の動作の一例を示すフローチャートである。
【図１３】トランスポートプロトコル処理回路６０４の詳細な構成の一例を示す図である。
【図１４】優先度決定回路７０８の構成の詳細な構成の一例を示す図である。
【図１５】トランスポートプロトコル処理回路６０４の動作の一例を示すフローチャートである。
【図１６】処理順序決定回路７０６の動作の一例を示すフローチャートである。
【符号の説明】
１０・・・管理システム、２０・・・センサ、２２・・・アナログ伝送線路、２４・・・デジタル伝送線路、３０・・・エージェントデバイス、３２・・・ＡＤ変換器、３４・・・センサ制御デバイス、３６・・・初期値格納部、４０・・・通信ネットワーク、５０−１、２・・・管理装置、５２・・・ＳＮＭＰ管理部、５４・・・閲覧データ格納部、５６・・・通知部、５８・・・連絡先データベース、６０・・・携帯電話、７０・・・被管理対象システム、１０２・・・入力部、１０４・・・環境データ取得部、１０６・・・ＳＮＭＰ制御部、１０８・・・ＭＩＢ格納部、１１０・・・暗号処理部、２０２・・・環境データ格納部、２０４・・・平均時間間隔格納部、２０６・・・入力周期格納部、２０８・・・コマンド格納部、２１０・・・送信条件格納部、２１２・・・送信回数格納部、２１４・・・ＩＰアドレス格納部、３０２・・・平均値生成部、３０４・・・データ格納制御部、３０６・・・コマンド出力部、４０２・・・暗号鍵取得部、４０４・・・暗号鍵格納部、５０２・・・第１受信バッファ、５０４・・・第２受信バッファ、５０６・・・アプリケーション処理回路、５０８・・・ウィンドウサイズ決定回路、５１０・・・通信処理回路、５１２・・・転送回路、６０２・・・抽出回路、６０４・・・トランスポートプロトコル処理回路、６０６・・・ＩＰプロトコル処理回路、６０８・・・送信回路、６１０・・・障害処理回路、６１２・・・リソース管理回路、６１４・・・セッション情報格納部、６１６・・・ＰＣＢ、７０２・・・受信キュー選択回路、７０４・・・受信キュー、７０６・・・処理順序決定回路、７０８・・・優先度決定回路、７１０・・・トランスポート送受信処理回路、７１２・・・送信キュー選択回路、７１４・・・送信キュー、８０２・・・セッション情報識別回路、８０４・・・予約帯域レジスタ、８０６・・・累積差分カウンタ、８０８・・・優先度設定回路、１０００・・・ＣＰＵ、１０１０・・・ＲＯＭ、１０２０・・・ＲＡＭ、１０３０・・・通信インターフェイス、１０４０・・・ハードディスクドライブ、１０５０・・・フレキシブルディスクドライブ、１０６０・・・ＣＤ−ＲＯＭドライブ、１０７０・・・入出力チップ、１０７５・・・グラフィックコントローラ、１０８０・・・表示装置、１０８２・・・ホストコントローラ、１０８４・・・入出力コントローラ、１０９０・・・フレキシブルディスク、１０９５・・・ＣＤ−ＲＯＭ、１１００・・・同期制御部、１１１０・・・受信部
【図１】
2004048394.tif 000003
【図２】
2004048394.tif 000004
【図３】
2004048394.tif 000005
【図４】
2004048394.tif 000006
【図５】
2004048394.tif 000007
【図６】
2004048394.tif 000008
【図７】
2004048394.tif 000009
【図８】
2004048394.tif 000010
【図９】
2004048394.tif 000011
【図１０】
2004048394.tif 000012
【図１１】
2004048394.tif 000013
【図１２】
2004048394.tif 000014
【図１３】
2004048394.tif 000015
【図１４】
2004048394.tif 000016
【図１５】
2004048394.tif 000017
【図１６】
2004048394.tif 000018