JP2004048394A - 半導体回路デバイス及びパケット処理方法 - Google Patents

半導体回路デバイス及びパケット処理方法 Download PDF

Info

Publication number
JP2004048394A
JP2004048394A JP2002203260A JP2002203260A JP2004048394A JP 2004048394 A JP2004048394 A JP 2004048394A JP 2002203260 A JP2002203260 A JP 2002203260A JP 2002203260 A JP2002203260 A JP 2002203260A JP 2004048394 A JP2004048394 A JP 2004048394A
Authority
JP
Japan
Prior art keywords
reception
packet
priority
queue
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002203260A
Other languages
English (en)
Inventor
Tetsuo Ogawa
小川 哲男
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IPSQUARE Inc
Original Assignee
IPSQUARE Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by IPSQUARE Inc filed Critical IPSQUARE Inc
Priority to JP2002203260A priority Critical patent/JP2004048394A/ja
Priority to PCT/JP2002/008958 priority patent/WO2004004251A1/ja
Priority to AU2002328419A priority patent/AU2002328419A1/en
Publication of JP2004048394A publication Critical patent/JP2004048394A/ja
Priority to US10/839,411 priority patent/US20040208177A1/en
Pending legal-status Critical Current

Links

Images

Abstract

【課題】IPネットワーク接続機能を有さない管理対象デバイスを管理する管理システムを低いコストで提供する。
【解決手段】通信ネットワークに接続される半導体回路デバイスであって、複数の受信キューと、通信ネットワークから受信した複数の受信パケットのそれぞれに対し、当該受信パケットのヘッダに基づいて一の受信キューを選択し、選択した受信キューに当該受信パケットを格納させる受信キュー選択回路と、複数の受信キューに格納された複数の受信パケットのそれぞれに対してトランスポートプロトコル処理を行うべき処理順序を、複数の受信キューの優先度に基づき決定する処理順序決定回路とを備える。
【選択図】 図13

Description

【0001】
【発明の属する技術分野】
本発明は、半導体回路デバイス及びパケット処理方法に関する。特に本発明は、通信ネットワークに接続される半導体回路デバイスに関する。
【0002】
【従来の技術】
従来、IPネットワーク接続機能を有さない被管理対象デバイスに、SNMP(Simple Network Management Protocol)通信機能を有するワークステーション等を接続して、当該被管理対象デバイスを管理する方法(プロキシエージェント)が知られている。この場合、ワークステーションは、通信ネットワークを介して、ネットワーク管理ステーションからSNMPメッセージを受け取り、当該メッセージに従って被管理対象デバイスを管理する。
【0003】
【発明が解決しようとする課題】
しかし、ワークステーションは大型で高価であり、また、消費電力が大きい。そのため、従来、プロキシエージェントが使用できる環境が限定されるという問題があった。
【0004】
そこで本発明は、上記の課題を解決することのできる半導体回路デバイス及びパケット処理方法を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【0005】
【課題を解決するための手段】
即ち、本発明の第1の形態によると、通信ネットワークに接続される半導体回路デバイスであって、複数の受信キューと、通信ネットワークから受信した複数の受信パケットのそれぞれに対し、当該受信パケットのヘッダに基づいて一の受信キューを選択し、選択した受信キューに当該受信パケットを格納させる受信キュー選択回路と、複数の受信キューに格納された複数の受信パケットのそれぞれに対してトランスポートプロトコル処理を行うべき処理順序を、複数の受信キューの優先度に基づき決定する処理順序決定回路とを備える。受信パケットのヘッダに基づき、当該受信パケットを格納する受信キューの優先度を決定する優先度決定回路を更に備えてよい。
【0006】
受信キュー選択回路は、受信パケットのヘッダに基づき受信パケットに対応するセッションを識別し、当該セッションに基づき受信パケットを格納させる受信キューを選択し、優先度決定回路は、受信パケットに対応するセッションに基づき、優先度を決定してよい。受信キュー選択回路は、受信パケットのヘッダに基づき受信パケットに対応するセッションを識別し、当該セッションに基づき受信パケットを格納させる受信キューを選択し、優先度決定回路は、受信パケットに対応するセッションと、受信パケットのTCPヘッダに含まれるコードビットとに基づいて、優先度を決定してよい。
【0007】
優先度決定回路は、受信パケットのTCPヘッダに含まれる宛先ポート番号に基づき優先度を決定してよい。優先度決定回路は、受信パケットに対応するIPヘッダに含まれる送信元アドレスに基づき優先度を決定してよい。優先度決定回路は、複数の受信キューのそれぞれに対して予め設定された帯域幅に基づき、優先度を決定してよい。
【0008】
受信パケットに対してトランスポートプロトコル処理を行うトランスポート受信処理回路を更に備え、複数の受信キューは、高い優先度に設定された、少なくとも一の高優先受信キューと、高優先受信キューより低い優先度に設定された複数の低優先受信キューとを有し、高優先受信キューが受信パケットを格納する場合、トランスポート受信処理回路は当該受信パケットを処理し、処理順序決定回路は、トランスポート受信処理回路が低優先受信キューに格納された受信パケットを処理する毎に、複数の低優先受信キューから、予め設定された順序に基づき、一の低優先受信キューを順次選択し、高優先受信キューが受信パケットを格納しない場合、トランスポート受信処理回路は、処理順序決定回路が選択している低優先受信キューに格納された、受信パケットを処理してよい。
【0009】
受信キュー選択回路は、受信パケットに対応するセッション、受信パケットのTCPヘッダに含まれるコードビット、受信パケットのTCPヘッダに含まれる宛先ポート番号、及び受信パケットのIPヘッダに含まれる送信元アドレスの少なくとも1つに基づいて、当該受信パケットを格納させる受信キューを選択し、処理順序決定回路は、複数の受信パケットのそれぞれが複数の受信キューのいずれに格納されているかに基づいて、トランスポートプロトコル処理を行うべき処理順序を決定してよい。
【0010】
通信ネットワークに送信すべき送信パケットを格納する送信キューを更に備え、処理順序決定回路は、複数の受信キューに格納された複数の受信パケット、及び送信キューに格納された送信パケットのそれぞれに対してトランスポートプロトコル処理を行うべき処理順序を、複数の受信キューの優先度及び送信キューの優先度に基づき決定してよい。
【0011】
本発明の第2の形態によると、通信ネットワークから受信した複数の受信パケットを処理するパケット処理方法であって、複数の受信パケットのそれぞれに対し、当該受信パケットのヘッダに基づいて、複数の受信キューから一の受信キューを選択し、選択した受信キューに当該受信パケットを格納させる受信キュー選択段階と、複数の受信キューに格納された複数の受信パケットのそれぞれに対してトランスポートプロトコル処理を行うべき処理順序を、複数の受信キューの優先度に基づき決定する処理順序決定段階とを備える。
【0012】
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【0013】
【発明の実施の形態】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態はクレームにかかる発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0014】
図1は、本発明の一実施形態に係る管理システム10の一例を示す。本実施形態において、管理システム10は、IPネットワーク接続機能を有さない被管理対象デバイス(Managed Object)の一例であるセンサ20を、SNMP(Simple Network Management Protocol)により管理する。
【0015】
管理システム10は、通信ネットワーク40により互いに接続された、複数の管理装置50−1、2と、被管理対象システム70とを備える。
【0016】
被管理対象システム70は、IP通信に基づく処理を行うIPアプリケーションの一例である。本実施形態において、被管理対象システム70は、IPに基づくプロトコルの一例であるSNMPに基づき、処理を行う。管理対象システム70は、例えばHTTP(Hyper Text Transfer Protocol)やマルチメディア呼制御プロトコル等の、IPに基づく他のプロトコルに基づき、更に処理を行ってもよい。本実施形態において、被管理対象システム70は、センサ20及びエージェントデバイス30を有する。
【0017】
センサ20は、エージェントデバイス30の外部に設けられ、被管理対象システム70の外部の環境を検出して、当該外部の環境を示す値を外部入力信号としてエージェントデバイス30に供給する。センサ20は、例えば、温度センサ、湿度センサ、煙センサ、又は水センサであって、センサ20に対応する温度を示す値、湿度を示す値、煙の有無を示す値、又は水量を示す値を外部入力信号として出力してよい。
【0018】
ここで、本実施形態において、センサ20は、アナログ信号である外部入力信号をエージェントデバイス30に供給する。別の実施例において、センサ20は、デジタル信号である外部入力信号を出力してもよい。例えば、温度センサであるセンサ20は、温度を示すアナログ信号又はデジタル信号を、エージェントデバイス30への外部入力信号として出力してよい。
【0019】
エージェントデバイス30は、SNMPにおけるプロキシエージェントの機能を有し、センサ20と取り外し可能に接続される。エージェントデバイス30は、AD変換器32、センサ制御デバイス34、及び初期値格納部36を含む。
【0020】
AD変換器32は、アナログ伝送線路22を介してセンサ20から受け取る外部入力信号をデジタル信号にAD変換する。ここで、AD変換器32は、例えばSPI(Serial Peripheral Interface)等によりセンサ制御デバイス34と接続され、センサ制御デバイス34から受け取る設定パラメータに従ってAD変換を行う。そして、センサ制御デバイス34は、AD変換器32がデジタル信号に変換した外部入力信号を入力データとして受け取り、外部入力信号が示す環境データを、SNMPに基づくメッセージを用いて通信ネットワーク40に送信する。
【0021】
ここで、センサ制御デバイス34は、被管理対象システム70の外部と接続可能なシリアルインターフェイスを有する。センサ制御デバイス34は、当該シリアルインターフェイスを介して、例えば管理装置50−1と接続されてもよく、センサ20と接続されてもよい。
【0022】
また、センサ制御デバイス34は、デジタル伝送線路24を介してセンサ20にコマンドを供給することによりセンサ20を制御する。更には、センサ制御デバイス34は、デジタル伝送線路24を介して、例えばセンサ20の状態を示すステータス信号を受け取ってもよく、デジタル信号である外部入力信号を受け取ってもよい。コマンド出力部306は、制御信号をセンサ20に与えてよい。
【0023】
また、センサ制御デバイス34は、センサ20又はデジタル伝送線路24から動作電力を受け取ってもよい。デジタル伝送線路24は、例えば、RS−232C、SPI等のシリアルインターフェイス、又は複数のビットを有するDIOインターフェイスであってよい。
【0024】
初期値格納部36は、例えば管理装置50−1のIPアドレス等の、センサ制御デバイス34に初期設定すべき情報を格納する。初期値格納部36は、例えば、EEPROM又はフラッシュメモリであってよい。センサ制御デバイス34は、起動時に初期値格納部36にアクセスし、初期設定すべき情報を取得する。
【0025】
尚、別の実施例において、エージェントデバイス30は、センサ制御デバイス34に接続されたCPUを更に含んでもよい。当該CPUは、例えば、SNMPに基づく処理の一部を行ってよい。
【0026】
複数の管理装置50−1、2は、SNMPにおけるネットワーク管理ステーション(マネージャ)の機能を有し、SNMPに基づくメッセージを被管理対象システム70に対して送受信することにより、被管理対象システム70を管理する。管理装置50−1は、SNMP管理部52、閲覧データ格納部54、通知部56、及び連絡先データベース58を有する。
【0027】
SNMP管理部52は、SNMPに基づくメッセージを用いて、環境データをセンサ制御デバイス34から取得する。すなわち、SNMP管理部52は、被管理対象システム70に対する定期的なポーリング、又は被管理対象システム70から受け取るトラップメッセージにより環境データを取得する。
【0028】
連絡先データベース58は、センサ制御デバイス34に対応付けて、センサ制御デバイス34の使用者の連絡先を示す連絡先情報を格納する。本実施形態において、連絡先データベース58は、連絡先情報として、移動体端末の一例である携帯電話60への連絡先を格納する。別の実施例において、連絡先データベース58は、連絡先情報として、例えばセンサ制御デバイス34の使用者の電子メールアドレスやFAX番号を格納してもよい。
【0029】
通知部56は、環境データが予め定められた条件を満たす場合に、センサ制御デバイス34の使用者に対して、環境データが予め定められた条件を満たすことを示す通知を行う。通知部56は、例えば、ポーリングに応じて取得した環境データの値が予め設定された閾値を越えた場合や、トラップメッセージにより環境データを取得した場合に、当該通知を行ってよい。通知を行う場合、通知部56は、連絡先データベース58から携帯電話60への連絡先を取得して通知を行う。この場合、通知部56は、予め定められた複数回の通知を行ってよい。また、通知部56は、携帯電話60に、音声又は文字メッセージ等により通知を行ってよい。
【0030】
閲覧データ格納部54は、センサ制御デバイス34の使用者へ通知部56が通知を行った場合に、携帯電話60から閲覧可能に環境データを格納する。閲覧データ格納部54は、例えば、携帯電話60が有するウェブブラウザ機能によりアクセス可能なホームページに、環境データを格納してよい。
【0031】
また、別の実施例において、閲覧データ格納部54は、管理装置50−1の外部のサーバに環境データを含むデータを送付することにより、当該外部のサーバ上に設けられた、携帯電話60から閲覧可能なホームページに環境データを格納してもよい。
【0032】
管理装置50−2は、管理装置50−1と同一又は同様の機能を有するため説明を省略する。被管理対象システム70は、例えば管理装置50−1と通信不可能な場合に、管理装置50−2と通信する。
【0033】
本実施形態において、管理装置50−1は、センサ20を、SNMPに基づく通信機能を有するエージェントデバイス30を介して制御及び監視する。そのため、本実施形態によれば、IPネットワーク接続機能を有さないセンサをSNMPにより管理して、外部の環境を検出する管理システムを提供することができる。また、これにより、インターネットの標準プロトコルにより、センサを遠隔管理、監視し、計測するシステムを提供することができる。更には、本実施形態によれば、センサ20に対する管理及び監視を統合化して行うシステム及びソリューションを提供することができる。尚、SNMPは、SNMPに基づき定義されたプロトコル、あるいは、SNMPに基づき将来定義されるプロトコルであってもよい。
【0034】
以上において、通信ネットワーク40は、例えばインターネットや他の公衆回線網等の広域ネットワークであってもよく、ローカルネットワーク等であってもよい。
【0035】
センサ制御デバイス34は、例えば、ネットワーク化されていないスタンドアローン機器やノンコンピュータ機器等の各種被制御デバイスを制御する制御デバイスの一例である。センサ制御デバイス34は、センサ20に代えて、被管理対象デバイスであるこれらの被制御デバイスに接続され、これらの被制御デバイスを管理及び/又は監視して制御してよい。
【0036】
また、センサ制御デバイス34は、SNMPに代えて、例えば、IPに基づくプロトコルの一例である、HTTP、マルチメディア呼制御プロトコル、又はTELNETプロトコルにより、管理装置50−1と通信してもよい。この場合、管理装置50−1は、これらのプロトコルに基づき、被管理対象デバイスを制御することができる。そのため、本実施形態によれば、IPネットワーク接続機能を有さない被管理対象デバイスを管理する管理システム及びIPネットワークソリューションを低いコストで提供することができる。
【0037】
図2は、本実施形態に係るセンサ制御デバイス34の構成の一例を示す。センサ制御デバイス34は、一の半導体チップ上に形成された半導体回路デバイスであり、入力部102、環境データ取得部104、MIB格納部108、SNMP制御部106、及び暗号処理部110を含む。
【0038】
入力部102は、AD変換器32から外部入力信号を入力する。環境データ取得部104は、入力部102から入力された外部入力信号を示す入力データを、環境データとしてMIB格納部108に供給する。また、環境データ取得部104は、センサ20を制御するコマンドを、センサ20に与える。
【0039】
MIB格納部108は、環境データを、SNMPにおけるMIB(Management Information Base)オブジェクトに対応付けて格納する。尚、MIBは、MIBに基づき定義されたデータ構造、又は将来MIBに基づき定義されるデータ構造であってもよい。
【0040】
SNMP制御部106は、MIB格納部108から環境データを受け取り、SNMPに基づくメッセージを用いて、通信ネットワーク40へ送信する。この場合、SNMP制御部106は、例えば、管理装置50−1(図1参照)の要求(ポーリング)に応じて環境データを送信してもよく、環境データが予め定められた条件を満たす場合に、トラップメッセージにより環境データを送信してもよい。更には、SNMP制御部106は、暗号処理部110から取得した暗号鍵により、環境データを暗号化して送信してよい。
【0041】
また、SNMP制御部106は、センサ20を制御するコマンドを通信ネットワーク40から受信するために用いるMIBオブジェクトを管理する。この場合、MIB格納部108は、当該コマンドをMIBオブジェクトに対応付けて格納する。そして、環境データ取得部104は、MIB格納部108から当該コマンドを受け取ってセンサ20に与える。
【0042】
尚、SNMP制御部106は、シリアルインターフェイスを介して、例えば管理装置50−1と接続されてもよい。この場合、SNMP制御部106は、シリアルインターフェイスを介してコマンドを受け取ってよい。
【0043】
また、SNMP制御部106は、例えば、HTTP、マルチメディア呼制御プロトコル、又はTELNETプロトコル等の、IP上に実装された各種プロトコルに基づく処理を更に行ってよい。
【0044】
MIB格納部108は、IP上に実装された各種プロトコルに基づいて取得した情報を格納する取得情報格納部の一例である。MIB格納部108は、例えば、センサ制御デバイス34に設定すべき情報を、HTTP、マルチメディア呼制御プロトコル、又はTELNETプロトコルに基づいて管理装置50−1から取得して格納してよい。
【0045】
本実施形態において、半導体チップ上に形成された半導体回路デバイスであるセンサ制御デバイス34は、センサ20を制御するコマンドを出力する機能と、センサ20から受け取る外部入力信号を示すSNMPメッセージを生成する機能とを有する。本実施形態によれば、小型で低消費電力、かつ高速なエージェントデバイス30を低いコストで提供することができる。尚、センサ制御デバイス34は、例えば、当該コマンド出力機能及びSNMP制御部メッセージ生成機能を有するASICであってよい。センサ制御デバイス34は、モノリシックICであるのが好ましい。
【0046】
また、別の実施例において、センサ制御デバイス34は、複数の半導体チップに分割して形成されてもよい。この場合、当該複数の半導体チップは、MCP(Multi Chip Module)として、一のパッケージに封入してもよい。この場合も、エージェントデバイス30を低いコストで提供することができる。
【0047】
ここで、本実施形態において、センサ制御デバイス34は、外部のAD変換器32によりデジタル信号に変換された外部入力信号を受け取る。別の実施例においては、センサ制御デバイス34が、AD変換器32を含んでもよい。この場合、入力部102は、アナログ信号の外部入力信号をセンサ20から受け取り、AD変換器32は、当該アナログ信号をデジタル信号に変換して環境データを生成し、環境データ取得部104を介してMIB格納部108に供給する。この場合、エージェントデバイス30を更に低いコストで提供することができる。
【0048】
図3は、環境データ取得部104及びMIB格納部108の詳細な構成の一例を示す。環境データ取得部104は、平均値生成部302、データ格納制御部304、及びコマンド出力部306を有する。
【0049】
平均値生成部302は、入力部102から外部入力信号を受け取り、外部入力信号の平均値を算出することにより環境データを生成する。この場合、平均値生成部302は、平均時間間隔格納部204に設定された時間間隔における平均値を算出する。
【0050】
ここで、平均値生成部302は、環境データの生成をハードウェア処理により行ってよい。この場合、平均値生成部302は、例えば1m秒毎等の高いサンプリングレートで外部入力信号を受け取り、平均値を算出してよい。また、平均時間間隔格納部204は、平均値を算出する時間間隔をサンプリングの回数により指定してもよい。
【0051】
データ格納制御部304は、入力周期格納部206に設定された周期毎に、環境データを環境データ格納部202に格納させる。また、コマンド出力部306は、コマンド格納部208からコマンドを受け取って、センサ20に与える。
【0052】
MIB格納部108は、環境データ格納部202、平均時間間隔格納部204、入力周期格納部206、コマンド格納部208、送信条件格納部210、送信回数格納部212、及びIPアドレス格納部214を有する。環境データ格納部202は環境データを、平均時間間隔格納部204は外部入力信号の値の平均を算出する時間間隔を、入力周期格納部206は外部入力信号の値を入力する周期を、コマンド格納部208はセンサ20に与えるべきコマンドを、送信条件格納部210はSNMP制御部106に環境データを送信させる条件を、送信回数格納部212はトラップメッセージの繰り返し回数を、IPアドレス格納部214は複数の管理装置50−1、2(図1参照)のIPアドレスを、それぞれMIBオブジェクトに関連づけて格納する。
【0053】
ここで、MIB格納部108は、格納すべき情報をSNMP制御部106から受け取る。SNMP制御部106は、センサ制御デバイス34(図1参照)の起動時に、MIB格納部108が格納すべき初期値を初期値格納部36(図1参照)から受け取って、MIB格納部108に供給する。
【0054】
そして、初期値格納部36の起動後に、通信ネットワーク40からMIB格納部108の更新を示すSNMPメッセージを受け取った場合、SNMP制御部106は、当該メッセージに従ってMIB格納部108が格納する情報を更新する。例えば、平均時間間隔格納部204の設定を指示するSNMPメッセージを受信した場合、SNMP制御部106は、当該SNMPメッセージにより指定される時間間隔を平均時間間隔格納部204に設定する。また、入力周期格納部206の設定を指示するSNMPメッセージを受信した場合、当該SNMPメッセージにより指定される周期を入力周期格納部206に設定する。センサ20に対するコマンドを含むSNMPメッセージを通信ネットワーク40から受信した場合、当該SNMPメッセージにより指定されるコマンドをコマンド格納部208に設定する。
【0055】
また、センサ制御デバイス34は、管理装置50−1及び/又は管理装置50−2のIPアドレスを、外部のサーバ等からの要求に基づき変更してもよい。この場合、センサ制御デバイス34を管理すべき管理装置を、通信ネットワーク40を介して変更することができる。
【0056】
本実施形態において、MIB格納部108は、センサ20に与えるコマンド、及びセンサ20から受け取る外部入力信号に基づく環境データを、MIBオブジェクトに対応付けて格納する。これにより、管理装置50−1は、予め定められたデータ構造を有するMIBオブジェクトを介してセンサ20を管理する。そのため、本実施形態によれば、センサ20の種類によらず、適切にセンサ20を管理することができる。
【0057】
図4は、MIB格納部108(図3参照)が格納するMIBの構成の一例を示す。本実施形態において、MIB格納部108は、enterprisesサブツリー(.1.3.6.1.4.1)以下に定義された、例えばセンサ制御デバイス34(図1参照)の製造元である○○○会社のサブツリーが含む、センサ制御デバイスのサブツリーを格納する。管理装置50−1(図1参照)は、SNMPメッセージを用いて、○○○会社サブツリー以下のMIBオブジェクトの値を設定する。
【0058】
尚、本実施形態において、MIB格納部108は、例えば構成管理、障害管理、性能管理、セキュリティ管理、課金管理等に用いる標準的なMIBサブツリー(図示せず)を更に格納する。管理装置50−1は、SNMPメッセージを用いて、これらの標準的なMIBサブツリー以下のMIBオブジェクトの値を設定する。
【0059】
センサ制御デバイスサブツリーは、AD変換器32(図1参照)を管理するために用いるAD変換器サブツリーと、センサ20(図1参照)からデジタル信号を受け取るのに用いるデジタル入力サブツリーと、センサ20にデジタル信号を送るのに用いるデジタル出力サブツリーと、管理装置50−1、2(図1参照)にトラップメッセージを送るのに用いるトラップサブツリーと、設定オブジェクトとを含む。
【0060】
AD変換器サブツリーは、それぞれがAD変換器32の一のアナログ入力端子に対応するチャネル0〜3サブツリーと、初期化サブツリーとを有する。尚、本実施形態において、AD変換器32は、チャネル0〜3に対応する4つのアナログ入力端子を有する。センサ20は、AD変換器32の一又は複数のアナログ入力端子に外部入力信号を供給してよい。
【0061】
チャネル0サブツリーは、説明、アクティブフラグ、トラップフラグ、トラップモード、トラップ閾値、入力周期、平均時間間隔、遅延時間、書込ビット数、書き込みパラメータ、読出しビット数、及びMIB割当てのそれぞれを示すMIBオブジェクトと、データサブツリーとを含む。
【0062】
説明オブジェクトは、AD変換器32のチャネル0の名称又はチャネル0の機能を識別する情報を示す。アクティブフラグオブジェクトは、チャネル0が動作しているか否かを示す。トラップフラグオブジェクトは、SNMP制御部106(図2参照)にトラップメッセージを送信させるか否かを設定する。
【0063】
トラップモードオブジェクトは、トラップメッセージを繰り返し送信する回数を示す。トラップ閾値オブジェクトは、環境データの閾値を示す。ここで、SNMP制御部106は、環境データの値が当該閾値を越える場合に、トラップメッセージを用いて、環境データを通信ネットワーク40へ送信する。SNMP制御部106は、環境データが当該閾値より高い値、又は低い値に変化した場合にトラップメッセージを送信してよい。
【0064】
また、トラップ閾値オブジェクトは、閾値として上限閾値と下限閾値とを示してもよい。この場合、SNMP制御部106は、環境データが上限閾値より高い値、又は下限閾値より低い値に変化した場合にトラップメッセージを送信してよい。
【0065】
入力周期オブジェクトは、環境データ格納部202に新たな環境データを格納させる周期を示す。平均時間間隔オブジェクトは、AD変換器32の出力を平均する時間間隔を示す。遅延時間オブジェクトは、AD変換器32に対するコマンドの出力に対応して、AD変換器32がデータを出力するまでの遅延時間を示す。書込ビット数オブジェクトは、AD変換器32に与えるコマンド又は設定パラメータのビット長を示す。書き込みパラメータオブジェクトは、AD変換器32に与えるコマンド又は設定パラメータを示す。読出しビット数オブジェクトは、AD変換器32から受け取るデジタルデータのビット長を示す。
【0066】
MIB割当てオブジェクトは、物理チャネルであるチャネル0の論理チャネルへの割り当てを示す。ここで、管理装置50−1(図1参照)は、論理チャネルを指定してセンサ制御デバイス34にアクセスし、センサ制御デバイス34は、当該論理チャネルに対応する、AD変換器32の物理チャネルにアクセスする。
【0067】
データサブツリーは、データ1〜10の10個のMIBオブジェクトを含む。データ1〜10オブジェクトは、それぞれAD変換器32から受け取る環境データを示す。尚、チャネル1〜3サブツリーは、それぞれチャネル0サブツリーと同一又は同様の構成を有するため説明を省略する。
【0068】
初期化サブツリーは、AD変換器32を初期化するコマンド又は設定パラメータを示す初期化データオブジェクトを含む。初期化データオブジェクトは、例えば、AD変換器32に設定すべきゲイン又はオフセット等を示す。
【0069】
デジタル入力サブツリーは、説明、トラップマスク、及びデジタル入力データのそれぞれを示すMIBオブジェクトを含む。説明オブジェクトは、センサ制御デバイス34がデジタル伝送線路24(図1参照)を介してセンサ20から受け取るデジタル信号を表す名称、又はデジタル信号の種類を識別する情報を示す。トラップマスクオブジェクトは、当該デジタル信号のうち、トラップ信号を送信する条件の検出に用いるビットを選択するのに用いる。デジタル入力データオブジェクトは、センサ20から受け取ったデジタル信号の値を示す。
【0070】
デジタル出力ツリーは、説明及びデジタル出力データのそれぞれを示すMIBオブジェクトを含む。説明オブジェクトは、センサ制御デバイス34がデジタル伝送線路24を介してセンサ20に与えるデジタル信号であるコマンド若しくはデータを表す名称、又はデジタル伝送線路24を介した通信の形式を識別する情報を示す。デジタル出力データオブジェクトは、デジタル伝送線路24を介してセンサ20に与えるデジタル信号を書き込むために用いる。
【0071】
トラップサブツリーは、トラップマネージャ1,2のそれぞれを示すMIBオブジェクトを含む。トラップマネージャ1オブジェクトは、管理装置50−1のIPアドレスを示す。トラップマネージャ2オブジェクトは、管理装置50−2のIPアドレスを示す。
【0072】
設定オブジェクトは、初期値格納部36(図1参照)の記憶内容の更新値を示すMIBオブジェクトである。管理装置50−1は、設定オブジェクトに値を設定してセンサ制御デバイス34を再起動することにより、初期値格納部36の記憶内容を更新する。
【0073】
以上において、センサ20又はAD変換器32から受け取る入力データを示すMIBオブジェクト以外のMIBオブジェクトは、管理装置50−1等によって書き換え可能であってよい。これにより、センサ制御デバイス34の使用者は、センサ20、AD変換器32、センサ制御デバイス34、及び初期値格納部36の設定等を、通信ネットワーク40を介して行うことができる。
【0074】
本実施形態において、環境データ格納部202(図3参照)は、データ1〜10オブジェクトの値を格納する。平均時間間隔格納部204(図3参照)は、平均時間間隔オブジェクトの値を格納する。入力周期格納部206(図3参照)は、入力周期オブジェクトの値を格納する。コマンド格納部208(図3参照)は、デジタル出力データオブジェクトの値を格納する。送信条件格納部210(図3参照)は、トラップフラグオブジェクト及びトラップ閾値オブジェクトの値を格納する。送信回数格納部212(図3参照)は、トラップモードオブジェクトの値を格納する。IPアドレス格納部214(図3参照)は、トラップマネージャ1,2オブジェクトの値を格納する。
【0075】
これにより、MIB格納部108は、環境データを、センサ20の種類に依存しないデータ1〜10オブジェクト(入力データMIBオブジェクト)に対応付けて格納し、センサ20に与えるコマンドを、センサ20の種類に依存しないデジタル出力データオブジェクト(コマンドMIBオブジェクト)に対応付けて格納する。そして、SNMP制御部106は、データ1〜10オブジェクトに対応付けられた環境データを通信ネットワーク40へ送信する。また、コマンド出力部306は、デジタル出力データオブジェクトに対応付けられたコマンドを、センサ20に与える。本実施形態によれば、エージェントデバイス30は、センサ20の種類によらない汎用的な構造のMIBを用いて、各種のセンサ20をSNMPにより管理することができる。また、これにより、異なる種類の被管理対象デバイスを、例えば同一のハードウェア処理により管理することができる。
【0076】
図5は、暗号処理部110の構成の一例を示す。暗号処理部110は、暗号鍵取得部402及び暗号鍵格納部404を含む。暗号鍵取得部402は、センサ制御デバイス34の起動時に、SNMP制御部106を介して初期値格納部36(図1参照)から暗号鍵を取得して、暗号鍵格納部404に格納させる。
【0077】
また、暗号鍵取得部402は、センサ制御デバイス34の起動後に、暗号鍵の送信を要求する暗号鍵要求メッセージを、管理装置50−1へ送信し、管理装置50−1から新たな暗号鍵を取得する。この場合、暗号鍵取得部402は、管理装置50−1のIPアドレスをIPアドレス格納部214(図3参照)から取得する。
【0078】
そして、暗号鍵格納部404は、格納する暗号鍵を新たな暗号鍵に更新し、SNMP制御部106は、新たな暗号鍵によって暗号化されたSNMPメッセージを用いて環境データを通信ネットワーク40へ送信する。本実施形態によれば、センサ制御デバイス34が起動する度に新たな暗号鍵を取得することにより、管理装置50−1は、被管理対象システム70と、秘匿性の高い通信を行うことができる。
【0079】
図6は、本実施形態に係るセンサ制御デバイス34の動作の一例を示すフローチャートである。最初に、センサ制御デバイス34は、初期値格納部36が格納するデータを取得して、MIB格納部108が格納するMIB、及び暗号鍵格納部404が格納する暗号鍵の初期値を設定する(S102)。そして、管理装置50−1から、MIB又は暗号鍵を設定させるSNMPメッセージを受信した場合(S104)、受信したSNMPメッセージに従って、MIB、及び/又は暗号鍵を更新する(S106)。
【0080】
そして、管理装置50−1から環境データの要求が有る場合(S108)、AD変換器32から取得した環境データをMIBオブジェクトに対応付けて環境データ格納部202に格納する(S110)。そして、SNMPメッセージを用いて管理装置50−1に送信し(S112)、次の環境データの要求を待つ(S108)。一方、S104において、MIB又は暗号鍵を更新させるSNMPメッセージを受信しない場合、センサ制御デバイス34は、S108に進んで環境データの要求を待つ。
【0081】
ここで、S108における環境データの要求は、例えば、センサ20に対して外部入力信号を出力させるコマンド送付を指示するSNMPメッセージである。この場合、コマンド出力部306は、当該コマンドをセンサ20に与え、センサ20は、コマンドに対応して外部入力信号を出力する。
【0082】
S108において、環境データの要求がない場合、SNMP制御部106は、管理装置50−1と通信可能か否かを確認する(S114)。SNMP制御部106は、例えば、予め設定された確認周期毎に、管理装置50−1に対してping等のメッセージを送信することにより、管理装置50−1に対して通信可能なことを確認してよい。
【0083】
そして、管理装置50−1と通信可能であり、かつ、トラップフラグオブジェクトの値がトラップメッセージの送信を行う設定の場合(S116)、AD変換器32から環境データを取得して環境データ格納部202に格納する(S118)。
【0084】
そして、環境データが送信条件格納部210が格納する閾値オブジェクトの示す閾値より大きい場合(S120)、SNMP制御部106はトラップメッセージを管理装置50−1に送信し(S122)、S108に戻って環境データの要求を待つ。
【0085】
ここで、S120において、SNMP制御部106は、環境データが閾値より小さい場合にトラップメッセージを送信してもよい。また、S122において、SNMP制御部106は、トラップモードオブジェクトが示す送信回数で指定される数のトラップメッセージを管理装置50−1へ送信する。
【0086】
また、S114において、SNMP制御部106が管理装置50−1と通信不可能な場合、センサ制御デバイス34は、管理装置50−2に管理装置50−1と通信不可能であることを示すトラップメッセージを送信する。この場合、管理装置50−2の通知部56は、センサ制御デバイス34の使用者の連絡先を連絡先データベース58から取得して、使用者に、管理装置50−1と通信不可能であることを通知する。
【0087】
本実施形態によれば、センサ制御デバイス34は、管理装置50−1からの環境データの要求に応じて、又は、管理装置50−1が予め設定したMIBオブジェクトの値に応じた動作により、環境データを管理装置50−1へ送信する。本実施形態によれば、管理装置50−1は、センサ制御デバイス34を適切に管理して環境データを取得することができる。
【0088】
図7は、本実施形態に係る管理装置50−1の動作の一例を示すフローチャートである。管理装置50−1は、最初に、センサ制御デバイス34が格納するMIB及び/又は暗号鍵を設定させるSNMPメッセージを送信する(S202)。そして、センサ制御デバイス34の使用者が環境データを要求する場合(S204)、SNMP管理部52はセンサ制御デバイス34に対して環境データを要求し(S206)、センサ制御デバイス34からの応答があった場合(S208)には、受け取った環境データと予め設定された閾値とを比較する(S210)。そして、環境データが閾値より大きい場合、通知部56はコマンド格納部208からセンサ制御デバイス34の使用者の連絡先情報を取得し、使用者の携帯電話60に、環境データが閾値より大きいことを通知する(S212)。そして、閲覧データ格納部54は環境データを携帯電話60から閲覧可能に格納する(S214)。尚、別の実施例においては、環境データが閾値より小さい場合に使用者に通知してもよい。
【0089】
ここで、S204において、ユーザが環境データを要求しない場合、管理装置50−1はセンサ制御デバイス34が送信するトラップメッセージを待ち(S216)、環境データを示すトラップメッセージを受信した場合は、S212に進んで使用者に通知を行う。また、S216においてトラップメッセージを受信しない場合は、センサ制御デバイス34と通信可能か否かを確認し(S218)、通信不可能な場合は、S212に進んで、センサ制御デバイス34と通信不可能であることを使用者に通知する。S218において、管理装置50−1は、センサ制御デバイス34に対して、例えばping等のメッセージを送信することにより、通信可能なことを確認してよい。
【0090】
尚、S208においてセンサ制御デバイス34からの応答が無い場合も、S212に進んで、センサ制御デバイス34と通信不可能であることを使用者に通知する。これにより、SNMP管理部52は、予め設定された応答要求周期毎に、センサ制御デバイス34に対して応答を要求して、センサ制御デバイス34の状態を確認する。尚、通知部56は、予め設定された回数の環境データの要求(ポーリング)に対してセンサ制御デバイス34の応答がない場合、使用者へ通知してもよい。
【0091】
ここで、S210で環境データが閾値より小さい場合や、S218で制御デバイス34と通信可能であることが確認された場合は、次にS204に戻って、使用者が環境データを要求するか否かを再度確認する。また、S204において、SNMP管理部52は、予め設定された取得周期毎に環境データを要求して、センサ制御デバイス34から環境データを取得してもよい。
【0092】
本実施形態によれば、管理装置50−1は、センサ制御デバイス34を適切に管理し、環境データが予め定められた条件を満たした場合、又はセンサ制御デバイス34との通信が正常に行えない場合に、使用者に通知することができる。
【0093】
図8は、本実施形態に係る管理装置50−1の一例であるパーソナルコンピュータ本体110のハードウェア構成の一例を示す。本実施形態に係るパーソナルコンピュータ本体110は、ホストコントローラ1082により相互に接続されるCPU1000、RAM1020、グラフィックコントローラ1075、及び表示装置1080を有するCPU周辺部と、入出力コントローラ1084によりホストコントローラ1082に接続される通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるROM1010、フレキシブルディスクドライブ1050、及び入出力チップ1070を有するレガシー入出力部とを備える。
【0094】
ホストコントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000及びグラフィックコントローラ1075とを接続する。CPU1000は、ROM1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。CPU1000は、SNMP管理部52及び通知部56(図1参照)として動作してよい。グラフィックコントローラ1075は、CPU1000等がRAM1020内に設けたフレームバッファ上に生成する画像データを取得し、表示装置1080上に表示させる。これに代えて、グラフィックコントローラ1075は、CPU1000等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【0095】
入出力コントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ1040は、パーソナルコンピュータ本体110が使用するプログラム及びデータを格納する。ハードディスクドライブ1040は、閲覧データ格納部54及び連絡先データベース58(図1参照)として動作してよい。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020を介して入出力チップ1070に提供する。
【0096】
また、入出力コントローラ1084には、ROM1010と、フレキシブルディスクドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。ROM1010は、パーソナルコンピュータ本体110の起動時にCPU1000が実行するブートプログラムや、パーソナルコンピュータ本体110のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、RAM1020を介して入出力チップ1070に提供する。入出力チップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【0097】
ここで、本実施形態において、RAM1020に格納されるプログラムは、SNMP管理部モジュールと、通知モジュールと、閲覧データ格納モジュールと、連絡先データモジュールとを備える。これらのモジュールは、パーソナルコンピュータ本体110を、SNMP管理部52、通知部56、閲覧データ格納部54、及び連絡先データベース58として動作させる。
【0098】
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。
【0099】
以上に示した通り、本実施形態によれば、IPネットワーク接続機能を有さない被管理対象デバイスを、SNMPにより管理する管理システムを低いコストで提供することができる。また、これにより、所望の環境で使用できるプロキシエージェントを提供することができる。
【0100】
図9は、SNMP制御部106の詳細な構成の一例を示す。本実施形態のSNMP制御部106は、小さなバッファ容量で、正確なフロー制御を実現する。
【0101】
SNMP制御部106は、第1受信バッファ502、通信処理回路510、転送回路512、第2受信バッファ504、アプリケーション処理回路506、及びウィンドウサイズ決定回路508を備える。
【0102】
第1受信バッファ502は、通信ネットワーク40から受信したIPパケットを格納するリングバッファである。ここで、IPパケットは、IP(Internet Protocol)に基づくパケットであり、パケットヘッダ及びパケットデータを含む。
【0103】
また、パケットヘッダは、IPに基づくヘッダであるIPヘッダと、トランスポート層のヘッダであるトランスポートヘッダとを含む。トランスポートヘッダは、例えばTCP(Transmission Control Protocol)に基づくTCPヘッダ又はUDP(User Datagram Protocol)に基づくUDPヘッダである。パケットデータは、例えばTCP又はUDP等のトランスポート層のデータである。
【0104】
本実施形態において、第1受信バッファ502は、IPパケットの一部である第1部分データの一例としてパケットヘッダを格納し、IPパケットにおける、第1部分データとは異なる部分である第2部分データの一例としてパケットデータを格納する。別の実施例において、第1受信バッファ502は、一部に重複する部分を有する第1部分データ及び第2部分データを格納してもよい。例えば、第1受信バッファ502は、第1部分データとしてIPパケットを格納し、第2部分データとして、パケットデータを格納してもよい。
【0105】
通信処理回路510は、第1受信バッファ502に格納されたパケットヘッダを順次取り出し、パケットヘッダに基づくヘッダ処理の一例であるIPプロトコル処理及びトランスポートプロトコル処理を行う。ここでIPプロトコル処理及びトランスポートプロトコル処理のそれぞれは、例えばIPヘッダ及びトランスポートヘッダに基づくヘッダ処理であり、SNMP制御部106が行う第1の処理の一例である。
【0106】
本実施形態において、通信処理回路510は、TCP/IPプロトコルスタックを実現する機能を有する。また、通信処理回路510は、TCP/IPプロトコルスタック処理をハードウェア処理により行ってよい。この場合、通信処理回路510は、IPプロトコル処理及びトランスポートプロトコル処理を高速に行うことができる。
【0107】
転送回路512は、例えば、IPヘッダが含むパケット長フィールドの値、及びTCPヘッダが含むデータオフセットフィールドの値に基づいて、IPパケットからパケットデータを抽出する。そして、転送回路512は、抽出したパケットデータを、例えば第1受信バッファ502がIPパケットを受信するのに同期して、第1受信バッファ502から第2受信バッファ504へ転送する。
【0108】
第2受信バッファ504は、転送回路512が転送するパケットデータを受け取って格納するリングバッファである。第2受信バッファ504は、IPプロトコル処理及びトランスポートプロトコル処理のいずれかと少なくとも一部を並行して、パケットデータを第1受信バッファ502から受け取る。
【0109】
アプリケーション処理回路506は、第2受信バッファ504に格納されたパケットデータを、例えばストリームデータとしてFIFO順に受け取り、SNMPに基づく処理(SNMP処理)を行う。アプリケーション処理回路506は、SNMP処理により、MIB格納部108に格納されたMIBを更新する。また、アプリケーション処理回路506は、外部からシリアルインターフェイスを介して受け取る指示に基づき、SNMP処理を行ってもよい。
【0110】
ここで、SNMP処理は、パケットデータに対するアプリケーション層の処理の一例であり、第1の処理より長い処理時間を要する第2の処理の一例である。通信処理回路510は、アプリケーション処理回路506によるSNMP処理より高速にヘッダ処理を行う。また、別の実施例において、アプリケーション処理回路506は、例えば、HTTP、マルチメディア呼制御プロトコル、又はTELNETプロトコル等に基づくパケットデータを受け取り、これに基づいてMIBを更新してもよい。
【0111】
ウィンドウサイズ決定回路508は、第1受信バッファ502が受け取ったIPパケットがTCPに基づくパケットである場合に、第2受信バッファ504の空き容量に基づいて、TCPにおけるウィンドウサイズを決定する。そして、ウィンドウサイズ決定回路508は、決定したウィンドウサイズを通信処理回路510に通知する。通信処理回路510は、当該ウィンドウサイズを、IPパケットの送信元に、通信ネットワーク40を介して通知する。
【0112】
本実施形態において、第1受信バッファ502は、IPパケットの受信と同期した並行処理により、当該IPパケットが含むパケットデータを第2受信バッファ504に転送する。そして、通信処理回路510は、第1受信バッファ502が格納するパケットヘッダを、アプリケーション処理回路506によるSNMP処理より高速に処理する。
【0113】
これにより、第1受信バッファ502は、受信したIPパケットに対するアプリケーション処理が完了する前に、次のIPパケットを受信することができる。そのため、本実施形態によれば、IPパケットを受信するバッファの容量を低減することができる。第1受信バッファ502の容量は、例えば、受信するIPパケットの最大サイズと同程度であってもよい。更には、本実施形態によれば、少ないバッファ容量により、効率的にIPパケットを処理することができる。
【0114】
また、本実施形態において、第1受信バッファ502及び第2受信バッファ504はリングバッファである。この場合、第1受信バッファ502又は第2受信バッファ504が一部にデータを格納している場合であっても、他の部分を空き容量として有効に使用することができる。そのため、本実施形態によれば、第1受信バッファ502又は第2受信バッファ504の容量が小さい場合であっても適切にデータ転送を行うことができる。また、これにより、センサ制御デバイス34(図1参照)を低いコストで提供することができる。
【0115】
また、本実施形態において、SNMP制御部106は、受け取ったIPパケットをパケットヘッダとパケットデータとに分離して処理する。通信処理回路510は、例えば、受け取ったパケットヘッダに基づいて新たなパケットヘッダを生成し、当該新たなパケットヘッダと、第2受信バッファ504に格納されたパケットデータとに基づいて新たなIPパケットを生成してよい。
【0116】
通信処理回路510は、生成した新たなIPパケットを、通信ネットワーク40又は、例えばプライベートネットワーク等の他のネットワークに送信してよい。これにより、SNMP制御部106は、IPパケットを、パケットヘッダを書き換えて中継することができる。この場合、IPパケットをセキュアに中継することができる。
【0117】
図10は、SNMP制御部106の動作の一例を示すフローチャートである。まず、第1受信バッファ502は、通信ネットワーク40から受信したIPパケットを格納する(S302)。そして、受け取ったIPパケットのデータ量(サイズ)が、第1受信バッファ502の容量以下であれば(S304)、転送回路512は、第2受信バッファ504へのパケットデータの転送を開始し(S306)、通信処理回路510は、パケットヘッダに基づくヘッダ処理を開始する。(S308)。
【0118】
そして、ヘッダ処理が正常に終了した場合(S310)、アプリケーション処理回路506は、第2受信バッファ504に格納されたパケットデータに対して、SNMP処理を開始する(S312)。この場合、第1受信バッファ502は、IPパケットを格納していた領域を開放してよい。
【0119】
そして、通信処理回路510はウィンドウサイズ決定回路508が決定したウィンドウサイズをIPパケットの送信元に通知し(S314)、S302に戻って次のIPパケットを受信して格納する。この場合、第1受信バッファ502は、アプリケーション処理回路506がSNMP処理を行っている間に次のIPパケットを受信してよい。
【0120】
ここで、S304において、受信したIPパケットが、第1受信バッファ502の容量より大きいデータ量を有する場合、通信処理回路510は、IPパケットの送信元に、第1受信バッファ502の容量を最大転送単位(MTU)として通知する(S316)。
【0121】
また、S310において、ヘッダ処理が異常終了した場合、第2受信バッファ504は、ヘッダ処理が異常終了したパケットヘッダに対応するパケットデータを格納していた領域を開放し(S318)、S314に進む。この場合、通信処理回路510は、異常終了の結果に基づく障害処理を行うのが好ましい。
【0122】
本実施形態において、通信処理回路510は、第2受信バッファ504にパケットデータを転送した後に他のIPパケットを受信する。そのため、本実施形態によれば、少ないバッファ容量により、効率的にIPパケットを受信することができる。また、ウィンドウサイズ決定回路508は、第2受信バッファ504の空き容量に基づいて、受信可能なデータ量に対応する適切なウィンドウサイズを決定する。そのため、本実施形態によれば、ウィンドウサイズの誤りによるIPパケットの再送が生じるのを防止することができる。また、これにより、正確なフロー制御を実現することができる。
【0123】
図11は、通信処理回路510の詳細な構成の一例を示す。本実施形態において、通信処理回路510は、IPプロトコル処理及びトランスポートプロトコル処理を高速に行う。通信処理回路510は、抽出回路602、IPプロトコル処理回路606、トランスポートプロトコル処理回路604、セッション情報格納部614、リソース管理回路612、障害処理回路610、及び送信回路608を有する。
【0124】
抽出回路602は、第1受信バッファ502が受信したIPパケットからIPヘッダ及びトランスポートヘッダを抽出し、抽出したIPヘッダ及びトランスポートヘッダのそれぞれを、IPプロトコル処理回路606及びトランスポートプロトコル処理回路604のそれぞれに供給する。ここで、抽出回路602は、IPパケットに含まれるIHL(Internet Header Length)フィールドの値に基づき、IPヘッダを抽出する。
【0125】
また、IPパケットがトランスポートヘッダの一例であるTCPヘッダを含む場合、抽出回路602は、TCPヘッダのデータオフセットフィールドが位置すべき部分の値と、IHLフィールドの値とに基づき、IPパケットからTCPヘッダを抽出する。IPパケットがトランスポートヘッダの一例であるUDPヘッダを含む場合、抽出回路602は、UDPヘッダのUDPヘッダ長が位置すべき部分の値と、IHLフィールドの値とに基づき、IPパケットからUDPヘッダを抽出する。
【0126】
IPプロトコル処理回路606は、抽出回路602が抽出したIPヘッダに基づき、IPプロトコル処理を行う。また、IPプロトコル処理回路606は、ハードウェア処理によりIPプロトコル処理を行ってよい。この場合、IPプロトコル処理回路606は、高速にIPプロトコル処理を行うことができる。
【0127】
また、IPプロトコル処理回路606は、予め定められた場合に、IPプロトコル処理における障害を検出する。IPプロトコル処理回路606は、例えば、IPヘッダのバージョン番号が予め定められた番号でないサポート外の番号である場合や、IPヘッダのサービスタイプを示す値が予め定められた受け入れ可能な値でない場合に、IPプロトコル処理における障害を検出してよい。また、IPプロトコル処理回路606は、再計算したIPヘッダのチェックサム値がIPヘッダのヘッダチェックサムフィールドに格納された値と異なる場合に、IPプロトコル処理における障害を検出してもよい。
【0128】
トランスポートプロトコル処理回路604は、抽出回路602が抽出したトランスポートヘッダに基づき、トランスポートプロトコル処理の一例であるTCPプロトコル処理又はUDPプロトコル処理を行う。本実施形態において、トランスポートプロトコル処理回路604は、IPプロトコル処理回路606によるIPプロトコル処理と少なくとも一部を並行して、例えばハードウェア処理によりトランスポートプロトコル処理を行う。そのため、トランスポートプロトコル処理回路604は、高速にトランスポートプロトコル処理を行うことができる。
【0129】
また、トランスポートプロトコル処理回路604は、予め定められた場合に、トランスポートプロトコル処理における障害を検出する。トランスポートプロトコル処理回路604は、例えば、IPパケットのウィンドウ制御において障害が生じた場合にトランスポートプロトコル処理における障害を検出してよい。すなわち、例えば、トランスポートプロトコル処理回路604は、提示した受信ウィンドウを外れたシーケンス番号を持つTCPヘッダを含むIPパケットを受信した場合に障害を検出してよい。
【0130】
また、トランスポートプロトコル処理回路604は、受信済みのデータを重複して受信した場合にトランスポートプロトコル処理における障害を検出してもよい。すなわち、例えば、トランスポートプロトコル処理回路604は、IPパケットの複製がネットワーク上で発生した場合や、ACKがIPパケットの送信元に到達しなかった場合に障害を検出してよい。更には、トランスポートプロトコル処理回路604は、FINを受信した後に更にIPパケットを受信した場合に障害を検出してもよい。
【0131】
セッション情報格納部614は、通信ネットワーク40に接続された通信装置との間で確立したセッションを示すセッション情報を格納するメモリである。セッション情報格納部614は、外部の通信装置とセッションを確立する毎に、当該セッションに対応するPCB616(Protocol Control Block)を動的に生成して、セッション情報を格納する。これにより、セッション情報格納部614は、確立しているセッションの数に等しい、複数のPCB616を格納する。複数のPCB616のそれぞれは、例えば、対応するセッションにおける、通信先並びに自己のIPアドレス、通信先並びに自己のポート番号、次に送るべきTCPパケットのシーケンス番号、次に受け取るべきTCPパケットのシーケンス番号、及び通信先から通知されたウィンドウサイズ等を示す情報を格納する。
【0132】
リソース管理回路612は、PCB616が格納する情報をセッション情報格納部614から取得して、IPプロトコル処理回路606、トランスポートプロトコル処理回路604、及び障害処理回路610のそれぞれに供給する。また、リソース管理回路612は、例えば、トランスポートプロトコル処理回路604によるIPプロトコル処理回路606によるIPプロトコル処理の結果、及びトランスポート処理の結果をアプリケーション処理回路506に通知する。アプリケーション処理回路506は、これらの結果に基づき、SNMP処理を行ってよい。
【0133】
ここで、リソース管理回路612は、セッションの確立に応じて動的に生成されたPCBに基づき、セッションを管理する。そのため、本実施形態によれば、通信処理回路510は、単一のセッションにより通信を行う端末としての機能、複数のセッションを集積して多重処理して通信を行う機能、又は複数のセッションに基づき通信を中継する機能等を有することができる。
【0134】
また、リソース管理回路612は、セッションの管理をハードウェア処理により行ってよい。この場合、リソース管理回路612は、通信処理回路510のリソース管理を高速に行うことができる。リソース管理回路612は、IPプロトコル処理回路606、トランスポートプロトコル処理回路604、又は障害処理回路610等のハードウェアリソースを管理することにより、セッションを処理するスケジューリングを行ってもよい。
【0135】
障害処理回路610は、IPプロトコル処理回路606がIPプロトコル処理において障害を検出した場合、又はトランスポートプロトコル処理回路604がトランスポートプロトコル処理において障害を検出した場合に、障害処理を行う。障害処理回路610は、障害処理として、例えば、IPパケットの再送要求や通信エラーの通知を、IPパケットの送信元に行ってよい。
【0136】
また、障害処理回路610は、IPプロトコル処理回路606におるIPプロトコル処理の結果、及びトランスポートプロトコル処理回路604によるトランスポートプロトコル処理の結果に基づき、障害の検出を行ってもよい。この場合、障害処理回路610は、セッション情報格納部614に格納されたセッション情報に基づき、障害を検出してよい。
【0137】
障害処理回路610は、例えば、通信ネットワーク40から受信したIPパケットが、セッションの確立を要求するものでなく、かつ、IPパケットのIPヘッダに含まれる送信元IPアドレス及び宛先IPアドレスと、トランスポートヘッダに含まれる送信元ポート番号及び宛先ポート番号とにより指定されるセッションを示すセッション情報がセッション情報格納部614に格納されていない場合に障害を検出してよい。また、TCPパケットの宛先ポート番号が示すポートがサービス可能状態(Listen State)でない場合や、セッションの確立を要求するIPパケットのIPヘッダにおける送信元IPアドレスがサービス非許可のIPアドレスを示す場合に障害を検出してもよい。
【0138】
送信回路608は、通信ネットワーク40にIPパケットを送信する。送信回路608は、例えばアプリケーション処理回路506が生成するデータ、ウィンドウサイズ決定回路508が決定するウィンドウサイズ、又は障害処理回路610による障害処理の結果に基づくIPパケットを送信する。
【0139】
この場合、例えば、トランスポートプロトコル処理回路604は、アプリケーション処理回路506が生成するデータ、又はウィンドウサイズ決定回路508が決定したウィンドウサイズを受け取り、受け取ったデータ又はウィンドウサイズに基づくTCPプロトコル処理によりTCPパケットを生成する。IPプロトコル処理回路606は、トランスポートプロトコル処理回路604から当該TCPパケットを受け取り、IPプロトコル処理によりIPパケットを生成して送信回路608に供給する。送信回路608は、受け取ったIPパケットを通信ネットワーク40に送信する。
【0140】
本実施形態において、通信処理回路510は、受信したIPパケットに対するIPプロトコル処理と、トランスポートプロトコル処理とを少なくとも一部を並行して行う。そのため、本実施形態によれば、IPパケットを高速に処理することができる。また、これにより、第1受信バッファ502の容量が小さい場合であっても、IPパケットを適切に処理することができる。
【0141】
この場合、アプリケーション処理回路506は、トランスポートプロトコルに基づくアプリケーションプロトコル処理を行ってよい。アプリケーション処理回路506は、例えば、TCPに基づくアプリケーションプロトコルの一例であるHTTP、マルチメディア呼制御プロトコル、又はTELNETプロトコル等に基づく処理を行ってよい。また、アプリケーション処理回路506は、UDPに基づくマルチメディア制御プロトコル処理を行ってもよい。この場合、トランスポートプロトコル処理回路604は、例えば、RTP等の上位階層においてフロー制御をするのが好ましい。
【0142】
ここで、小規模なCPU及び小容量のメモリにより、アプリケーションプロトコル処理を行うとすれば、処理に多くの時間を要する場合がある。例えば、HTTPに基づくWebアプリケーションや、マルチメディア呼制御プロトコルに基づくアプリケーションを実行するとすれば、HTML処理や描画処理等に多くの時間を有することとなる。しかし、本実施形態によれば、受信したIPパケットを高速に処理することにより、これらの処理を効率よく、高速に行うことができる。そのため、本実施形態によれば、これらのアプリケーションを実行する端末を低コストで提供することができる。
【0143】
図12は、通信処理回路510が、受信したIPパケットを処理する動作の一例を示すフローチャートである。最初に、抽出回路602はIPパケットからIPヘッダを抽出し(S402)、IPプロトコル処理回路606は、抽出されたIPヘッダに基づき、IPプロトコル処理を開始する(S404)。次に、抽出回路602はトランスポートヘッダを抽出し(S406)、トランスポートプロトコル処理回路604は、抽出されたトランスポートヘッダに基づき、トランスポートプロトコル処理を開始する(S408)。これにより、トランスポートプロトコル処理回路604は、IPプロトコル処理と少なくとも一部を並行してトランスポートプロトコル処理を行う。
【0144】
そして、次に、障害処理回路610はIPプロトコル処理及びトランスポートプロトコル処理の結果に基づいてセッション情報を確認し(S410)、IPプロトコル処理回路606、トランスポートプロトコル処理回路604、又は障害処理回路610が障害を検出した場合(S412)、障害処理回路610は障害を処理して(S414)、通信処理回路510はIPパケットの処理を終了する。
【0145】
一方、S412において、障害が検出されなかった場合、リソース管理回路612は、IPプロトコル処理回路606によるIPプロトコル処理の結果、及びトランスポートプロトコル処理回路604によるトランスポートプロトコル処理の結果をアプリケーション処理回路506に通知して、アプリケーション処理回路506にSNMP処理を開始させ(S416)、通信処理回路510はIPパケットの処理を終了する。本実施形態によれば、通信処理回路510は、IPプロトコル処理とトランスポートプロトコル処理とを適切に並列処理することができる。
【0146】
図13は、トランスポートプロトコル処理回路604の詳細な構成の一例を示す。本実施形態のトランスポートプロトコル処理回路604は、通信ネットワーク40(図11参照)から受信したIPパケットを処理する順序を、優先度に応じて変更する。トランスポートプロトコル処理回路604は、受信キュー選択回路702、複数の受信キュー704−1〜n、送信キュー選択回路712、複数の送信キュー714−1〜n、優先度決定回路708、処理順序決定回路706、及びトランスポート送受信処理回路710を含む。
【0147】
受信キュー選択回路702は、受信パケットの一例であるトランスポートヘッダを抽出回路602から受け取り、これに基づき、一の受信キュー704を選択する。この場合、受信キュー選択回路702は、例えば、トランスポートヘッダに基づきIPパケットに対応するセッションを識別し、当該セッションに基づき受信キュー704を選択する。受信キュー選択回路702は、当該セッションを示す情報を、リソース管理回路612を介してセッション情報格納部614(図11参照)から受け取ってよい。受信キュー選択回路702は、選択した受信キュー704にトランスポートヘッダを格納させる。
【0148】
ここで、受信キュー選択回路702は、選択した受信キュー704に、トランスポート層のデータを更に格納させてもよい。この場合、受信キュー704は、TCPパケット又はUDPパケットを格納してよい。
【0149】
送信キュー選択回路712は、アプリケーション処理回路506が生成するデータ、又はウィンドウサイズ決定回路508が決定したウィンドウサイズを送信パケットとして受け取り、一の送信キュー714に格納させる。送信キュー選択回路712は、例えば、送信パケットを送信する送信先に応じて、一の送信キュー714を選択してよい。この場合、送信キュー選択回路712は、当該送信先を示す情報を、セッション情報格納部614から受け取ってよい。
【0150】
優先度決定回路708は、トランスポートヘッダに基づき、当該トランスポートヘッダを格納する受信キュー704の優先度を決定する。本実施形態において、優先度決定回路708は、トランスポートヘッダに対応するセッションを示す情報に基づき優先度を決定する。また、トランスポートヘッダがTCPヘッダである場合、優先度決定回路708は、TCPヘッダに含まれる、例えばSYN、FIN等のコードビットや、アプリケーション識別子である宛先ポート番号に基づき優先度を決定してもよい。
【0151】
別の実施例において、優先度決定回路708は、IPプロトコル処理回路606(図11参照)からIPのヘッダに含まれる送信元アドレスを示す情報を受け取り、当該情報に基づき優先度を決定してもよい。また、優先度決定回路708は、更に、複数の送信キュー714のそれぞれが格納する送信パケットに対応するセッションを示す情報に基づき、複数の送信キュー714のそれぞれに対する優先度を決定する。
【0152】
処理順序決定回路706は、複数の受信キュー704−1〜nのそれぞれに格納されたトランスポートヘッダに対してトランスポートプロトコルを行うべき処理順序を、それぞれの受信キュー704の優先度に基づいて決定する。また、本実施形態において、処理順序決定回路706は、複数の送信キュー714−1〜nのそれぞれに対する優先度に更に基づき、それぞれの受信キュー704に格納されたトランスポートヘッダと、それぞれの送信キュー714に格納された送信パケットとに対してトランスポート処理を行うべき処理順序を決定する
【0153】
トランスポート送受信処理回路710は、受信キュー704に格納されたトランスポートヘッダに対してトランスポートプロトコル処理を行って、処理結果をリソース管理回路612に供給する。この場合、リソース管理回路612は、セッション情報格納部614にアクセスし、当該トランスポートヘッダに対応するPCB616(図11参照)を更新してよい。
【0154】
また、トランスポート送受信処理回路710は、送信キュー714に格納された送信パケットに対してトランスポートプロトコル処理を行って、IPプロトコル処理回路606に供給する。この場合、IPプロトコル処理回路606は、送信パケットに更にIPプロトコル処理を行って、送信回路608(図11)に供給してよい。送信回路608は、受け取った送信パケットを通信ネットワーク40に送信してよい。本実施形態によれば、受信したIPパケット及び通信ネットワーク40に送信すべき送信パケットを、優先度に応じて適切に処理することができる。
【0155】
図14は、優先度決定回路708の構成の詳細な構成の一例を示す。本実施形態において、優先度決定回路708は、複数の受信キュー704(図13参照)のそれぞれに対して予め設定された帯域幅に更に基づき、優先度を決定する。優先度決定回路708は、セッション情報識別回路802、予約帯域レジスタ804、累積差分カウンタ806、及び優先度設定回路808を含む。
【0156】
セッション情報識別回路802は、複数の受信キュー704のそれぞれが格納するトランスポートヘッダに対応するセッションを示す情報を、リソース管理回路612を介してセッション情報格納部614から取得する。セッション情報識別回路802は、セッションを示す情報として、例えば、通信先並びに自己のIPアドレス、及び通信先並びに自己のポート番号を取得してよい。
【0157】
予約帯域レジスタ804は、それぞれ受信キュー704に対して割り当てられた、単位時間あたりのIPパケット処理量を、予約帯域幅として格納する。予約帯域レジスタ804は、予約帯域幅を、リソース管理回路612の指示に基づいて格納してよい。
【0158】
累積差分カウンタ806は、それぞれの受信キュー704に対応する、予約帯域幅の時間積分値と累積処理量との差分を格納する。ここで、累積処理量とは、受信キュー704に格納されたトランスポートヘッダに対応するIPパケットが処理された累積データ量である。
【0159】
本実施形態において、累積差分カウンタ806は、単位時間経過毎に、それぞれの受信キュー704に対応して格納する値に、対応する受信キュー704の予約帯域幅の値を加算する。ここで、当該加算の結果が予約帯域幅の値以上の場合、累積差分カウンタは予約帯域幅の値を格納してよい。
【0160】
そして、トランスポート送受信処理回路710(図13参照)が、トランスポートヘッダを処理する毎に、累積差分カウンタ806は、格納する値から、当該トランスポートヘッダに対応するIPパケットのデータ長を減算する。これにより、累積差分カウンタ806は、累積処理量と予約帯域幅の時間積分値との差分を格納する。ここで、当該減算の結果が予め定められた下限値以下の場合、累積差分カウンタ806は、当該下限値を格納してよい。累積処理量が予約帯域幅の時間積分値と比べて大きい場合、累積差分カウンタ806は、負の値を格納してよい。
【0161】
優先度設定回路808は、セッション情報識別回路802が識別したセッションを示す情報と、累積差分カウンタ806が格納する値とに基づいて、複数の受信キュー704のそれぞれに対して優先度を設定する。優先度設定回路808は、対応する累積差分カウンタ806の格納値が大きな受信キュー704の優先度を高く設定してよい。優先度設定回路808は設定した優先度を処理順序決定回路706に通知する。本実施形態によれば、それぞれの受信キュー704に対して適切に優先度を設定することができる。
【0162】
図15は、トランスポートプロトコル処理回路604の動作の一例を示すフローチャートである。受信キュー選択回路702が新たな受信パケットとしてトランスポートヘッダを受け取った場合、(S502)、受信キュー選択回路702は、受け取った受信パケットに対応するセッションを識別する(S504)。そして、受信キュー選択回路702は、一の受信キュー704を選択して受信パケットを格納させ(S506)、優先度決定回路708は、この送信キュー714の優先度を決定する(S508)。
【0163】
ここで、S502において、送信キュー選択回路712が新たに生成された送信パケットを受け取った場合、送信キュー選択回路712は、受け取った送信パケットに対応するセッションを識別する(S504)。そして、送信キュー選択回路712は、一の送信キュー714を選択して送信パケットを格納させ(S506)、優先度決定回路708は、この受信キュー704の優先度を決定する(S508)。
【0164】
S508の次に、処理順序決定回路706は、複数の受信キュー704−1〜n、及び複数の送信キュー714−1〜nの優先度に従って、これらに格納された受信パケット及び送信パケットを処理すべき順序を決定する(S510)。本実施形態において、処理順序決定回路706は、次に処理されるべき一の受信キュー704又は送信キュー714を選択する。そして、トランスポート送受信処理回路710は、処理順序決定回路706が選択した受信キュー704に格納された受信パケット、又は送信キュー714に格納された送信パケットに対して処理を行う(S512)。
【0165】
ここで、複数の受信キュー704−1〜n、及び複数の送信キュー714−1〜nのそれぞれに帯域幅が設定されている場合(S514)、トランスポート送受信処理回路710は、累積差分カウンタ806の格納値を更新し(S516)、S502に戻る。
【0166】
そして、受信キュー選択回路702が新たな受信パケットを受け取らず、かつ、送信キュー選択回路712が新たな送信パケットを受け取らない場合であり(S502)、いずれかの受信キュー704又は送信キュー714が、未処理の受信パケット又は送信パケットを格納している場合(S518)、処理順序決定回路706は次の順序の受信キュー704又は送信キュー714を選択する(S510)。
【0167】
また、受信キュー選択回路702が新たな受信パケットを受け取るか、送信キュー選択回路712が新たな送信パケットを受け取った場合(S502)、S504〜S508に従って、処理順序決定回路706は新たな順序を決定する(S510)。また、S512において、未処理の受信パケット又は送信パケットがない場合、S502に戻って新たな受信パケット又は送信パケットの到着を待つ。本実施形態によれば、複数の受信キュー704−1〜nのそれぞれが格納する受信パケットと、複数の送信キュー714−1〜nのそれぞれが格納する送信パケットとを適切な順序で順次処理することができる。
【0168】
図16は、処理順序決定回路706の動作の一例を示すフローチャートである。本実施形態において、処理順序決定回路706は、複数のスロットを有するスケジュールリングに従って、一の受信キュー704又は送信キュー714を選択する。複数のスロットのそれぞれは、ユーザの指示に基づいていずれかの受信キュー704又は送信キュー714を指定することにより、受信キュー704又は送信キュー714を処理すべき順序を指定する。
【0169】
先ず、受信パケットを格納している受信キュー704、及び送信パケットを格納している送信キュー714いずれかが、予め定められた優先度より高い優先度を有する場合(S602)、処理順序決定回路706は、この受信キュー704又は送信キュー714を選択して(S604)、動作を終了する。ここで、高い優先度を有する受信キュー704又は送信キュー714が複数のある場合、処理順序決定回路706は、これらのうち最も高い優先度を有する受信キュー704又は送信キュー714を選択する(S604)。
【0170】
これにより、トランスポート送受信処理回路710は、高い優先度の受信キュー704に格納された受信パケット、及び高い優先度の送信キュー714に格納された送信パケットを優先的に処理する。また、複数の受信キュー704のそれぞれは、複数の受信パケットを格納してよく、複数の送信キュー714のそれぞれは、複数の送信パケットを格納してよい。この場合、最も高い優先度の受信キュー704又は送信キュー714が受信パケット又は送信パケットを格納していれば、処理順序決定回路706は、この受信キュー704又は送信キュー714を選択する。そのため、トランスポート送受信処理回路710は、最も高い優先度の受信キュー704又は送信キュー714に格納された受信パケット又は送信パケットをすべて処理した後に、次の優先度の受信キュー704又は送信キュー714に格納された受信パケット又は送信パケットを処理する。
【0171】
一方、高い優先度を有する受信キュー704がいずれも受信パケットを格納しておらず、かつ、高い優先度を有する送信キュー714がいずれも送信パケットを格納していない場合(S602)、スケジュールリングのスロットを一つ進めて次のスロットを選択する(S606)。
【0172】
ここで、選択したスロットが指定する受信キュー704又は送信キュー714が受信パケット又は送信パケットを格納している場合(S608)、処理順序決定回路706は当該受信キュー704又は送信キュー714を選択して(S610)動作を終了する。一方、選択したスロットに対応する受信キュー704が受信パケットを格納していないか、送信キュー714が送信パケットを格納してない場合(S608)、スケジュールリングのスロットを更に一つ進めて次のスロットを選択して(S606)、再びS608に進む。
【0173】
これにより、処理順序決定回路706は、複数のスロットに予め設定された順序に基づき、複数の受信キュー704から、一の受信キュー704を順次選択する。また、処理順序決定回路706は、一のスロットが指定する受信キュー704を選択した後、次の受信キュー704を選択する前にスロットを一つ進める。そのため、処理順序決定回路706は、トランスポート送受信処理回路710がトランスポートヘッダを処理する毎に、次の受信キュー704を選択する。
【0174】
本実施形態において、処理順序決定回路706は、予め定められた優先度より高い優先度を有する、受信キュー704に格納された受信パケット、及び送信キュー714に格納された送信パケットを優先的に処理し、それ以外の受信キュー704又は送信キュー714に格納された受信パケット又は送信パケットを、予め設定されたスケジュールリングに従って処理する。そのため、本実施形態によれば、高い優先度の受信キュー704又は送信キュー714に対して確実に優先して処理を行いながら、その他の受信キュー704及び送信キュー714に対しては、優先度の高いキューのみが連続して処理されるスタベーション(Stravation)を避けた処理を行うことができる。そのため、本実施形態によれば、例えばサーバ系アプリケーション等の複数のセッションを同時に処理するアプリケーションにおいても、これら複数のセッションを効率よく処理することができる。
【0175】
尚、別の実施例において、処理順序決定回路706は、受信パケット又は送信パケットがいずれの受信キュー704又は送信キュー714に格納されているかに基づいて、トランスポートプロトコル処理を行うべき処理順序を決定してもよい。この場合、受信キュー選択回路702は、例えば、受信パケットに対応するセッションに基づいて、当該受信パケットを格納させる受信キュー704を選択してよい。また、受信キュー選択回路702は、受信パケットの一例であるTCPヘッダに含まれるコードビット、宛先ポート番号や、当該トランスポートヘッダを含むIPヘッダに含まれる送信元アドレス受信キュー704を選択してもよい。また、送信キュー選択回路712は、例えば、送信パケットに対応するセッションに基づいて、当該送信パケットを格納させる送信キュー714を選択してよい。この場合も、処理順序決定回路706は、受信パケット又送信パケットに対する適切な処理順序を決定することができる。
【0176】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更または改良を加えることができる。そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0177】
【発明の効果】
上記説明から明らかなように、本発明によれば、IPネットワーク接続機能を有さない被管理対象デバイスを管理する管理システムを低いコストで提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る管理システム10の一例を示す図である。
【図2】本実施形態に係るセンサ制御デバイス34の構成の一例を示す図である。
【図3】環境データ取得部104及びMIB格納部108の詳細な構成の一例を示す図である。
【図4】MIB格納部108が格納するMIBの構成の一例を示す図である。
【図5】暗号処理部110の構成の一例を示す図である。
【図6】本実施形態に係るセンサ制御デバイス34の動作の一例を示すフローチャートである。
【図7】本実施形態に係る管理装置50−1の動作の一例を示すフローチャートである。
【図8】パーソナルコンピュータ本体110のハードウェア構成の一例を示す図である。
【図9】SNMP制御部106の構成の一例を示す図である。
【図10】SNMP制御部106の動作の一例を示すフローチャートである。
【図11】通信処理回路510の構成の一例を示す図である。
【図12】通信処理回路510の動作の一例を示すフローチャートである。
【図13】トランスポートプロトコル処理回路604の詳細な構成の一例を示す図である。
【図14】優先度決定回路708の構成の詳細な構成の一例を示す図である。
【図15】トランスポートプロトコル処理回路604の動作の一例を示すフローチャートである。
【図16】処理順序決定回路706の動作の一例を示すフローチャートである。
【符号の説明】
10・・・管理システム、20・・・センサ、22・・・アナログ伝送線路、24・・・デジタル伝送線路、30・・・エージェントデバイス、32・・・AD変換器、34・・・センサ制御デバイス、36・・・初期値格納部、40・・・通信ネットワーク、50−1、2・・・管理装置、52・・・SNMP管理部、54・・・閲覧データ格納部、56・・・通知部、58・・・連絡先データベース、60・・・携帯電話、70・・・被管理対象システム、102・・・入力部、104・・・環境データ取得部、106・・・SNMP制御部、108・・・MIB格納部、110・・・暗号処理部、202・・・環境データ格納部、204・・・平均時間間隔格納部、206・・・入力周期格納部、208・・・コマンド格納部、210・・・送信条件格納部、212・・・送信回数格納部、214・・・IPアドレス格納部、302・・・平均値生成部、304・・・データ格納制御部、306・・・コマンド出力部、402・・・暗号鍵取得部、404・・・暗号鍵格納部、502・・・第1受信バッファ、504・・・第2受信バッファ、506・・・アプリケーション処理回路、508・・・ウィンドウサイズ決定回路、510・・・通信処理回路、512・・・転送回路、602・・・抽出回路、604・・・トランスポートプロトコル処理回路、606・・・IPプロトコル処理回路、608・・・送信回路、610・・・障害処理回路、612・・・リソース管理回路、614・・・セッション情報格納部、616・・・PCB、702・・・受信キュー選択回路、704・・・受信キュー、706・・・処理順序決定回路、708・・・優先度決定回路、710・・・トランスポート送受信処理回路、712・・・送信キュー選択回路、714・・・送信キュー、802・・・セッション情報識別回路、804・・・予約帯域レジスタ、806・・・累積差分カウンタ、808・・・優先度設定回路、1000・・・CPU、1010・・・ROM、1020・・・RAM、1030・・・通信インターフェイス、1040・・・ハードディスクドライブ、1050・・・フレキシブルディスクドライブ、1060・・・CD−ROMドライブ、1070・・・入出力チップ、1075・・・グラフィックコントローラ、1080・・・表示装置、1082・・・ホストコントローラ、1084・・・入出力コントローラ、1090・・・フレキシブルディスク、1095・・・CD−ROM、1100・・・同期制御部、1110・・・受信部

Claims (11)

  1. 通信ネットワークに接続される半導体回路デバイスであって、
    複数の受信キューと、
    前記通信ネットワークから受信した複数の受信パケットのそれぞれに対し、当該受信パケットのヘッダに基づいて一の前記受信キューを選択し、選択した前記受信キューに当該受信パケットを格納させる受信キュー選択回路と、
    前記複数の受信キューに格納された前記複数の受信パケットのそれぞれに対してトランスポートプロトコル処理を行うべき処理順序を、前記複数の受信キューの優先度に基づき決定する処理順序決定回路と
    を備える半導体回路デバイス。
  2. 前記受信パケットのヘッダに基づき、当該受信パケットを格納する前記受信キューの優先度を決定する優先度決定回路を更に備えることを特徴とする請求項1に記載の半導体回路デバイス。
  3. 前記受信キュー選択回路は、前記受信パケットのヘッダに基づき前記受信パケットに対応するセッションを識別し、当該セッションに基づき前記受信パケットを格納させる前記受信キューを選択し、
    前記優先度決定回路は、前記受信パケットに対応する前記セッションに基づき、前記優先度を決定することを特徴とする請求項2に記載の半導体回路デバイス。
  4. 前記受信キュー選択回路は、前記受信パケットのヘッダに基づき前記受信パケットに対応するセッションを識別し、当該セッションに基づき前記受信パケットを格納させる前記受信キューを選択し、
    前記優先度決定回路は、前記受信パケットに対応する前記セッションと、前記受信パケットのTCPヘッダに含まれるコードビットとに基づいて、前記優先度を決定することを特徴とする請求項2に記載の半導体回路デバイス。
  5. 前記優先度決定回路は、前記受信パケットのTCPヘッダに含まれる宛先ポート番号に基づき前記優先度を決定することを特徴とする請求項2に記載の半導体回路デバイス。
  6. 前記優先度決定回路は、前記受信パケットに対応するIPヘッダに含まれる送信元アドレスに基づき前記優先度を決定することを特徴とする請求項2記載の半導体回路デバイス。
  7. 前記優先度決定回路は、前記複数の受信キューのそれぞれに対して予め設定された帯域幅に基づき、前記優先度を決定することを特徴とする請求項2に記載の半導体回路デバイス。
  8. 前記受信パケットに対してトランスポートプロトコル処理を行うトランスポート受信処理回路を更に備え、
    前記複数の受信キューは、
    高い優先度に設定された、少なくとも一の高優先受信キューと、
    前記高優先受信キューより低い優先度に設定された複数の低優先受信キューとを有し、
    前記高優先受信キューが前記受信パケットを格納する場合、前記トランスポート受信処理回路は当該受信パケットを処理し、
    前記処理順序決定回路は、前記トランスポート受信処理回路が前記低優先受信キューに格納された前記受信パケットを処理する毎に、前記複数の低優先受信キューから、予め設定された順序に基づき、一の前記低優先受信キューを順次選択し、
    前記高優先受信キューが前記受信パケットを格納しない場合、前記トランスポート受信処理回路は、前記処理順序決定回路が選択している前記低優先受信キューに格納された、前記受信パケットを処理することを特徴とする請求項1に記載の半導体回路デバイス。
  9. 前記受信キュー選択回路は、前記受信パケットに対応するセッション、前記受信パケットのTCPヘッダに含まれるコードビット、前記受信パケットのTCPヘッダに含まれる宛先ポート番号、及び前記受信パケットのIPヘッダに含まれる送信元アドレスの少なくとも1つに基づいて、当該受信パケットを格納させる前記受信キューを選択し、
    前記処理順序決定回路は、前記複数の受信パケットのそれぞれが前記複数の受信キューのいずれに格納されているかに基づいて、前記トランスポートプロトコル処理を行うべき処理順序を決定することを特徴とする請求項1に記載の半導体回路デバイス。
  10. 前記通信ネットワークに送信すべき送信パケットを格納する送信キューを更に備え、
    前記処理順序決定回路は、前記複数の受信キューに格納された前記複数の受信パケット、及び前記送信キューに格納された前記送信パケットのそれぞれに対してトランスポートプロトコル処理を行うべき処理順序を、前記複数の受信キューの優先度及び前記送信キューの優先度に基づき決定することを特徴とする請求項1に記載の半導体回路デバイス。
  11. 通信ネットワークから受信した複数の受信パケットを処理するパケット処理方法であって、
    前記複数の受信パケットのそれぞれに対し、当該受信パケットのヘッダに基づいて、複数の受信キューから一の前記受信キューを選択し、選択した前記受信キューに当該受信パケットを格納させる受信キュー選択段階と、
    前記複数の受信キューに格納された前記複数の受信パケットのそれぞれに対してトランスポートプロトコル処理を行うべき処理順序を、前記複数の受信キューの優先度に基づき決定する処理順序決定段階と
    を備えるパケット処理方法。
JP2002203260A 2002-07-01 2002-07-11 半導体回路デバイス及びパケット処理方法 Pending JP2004048394A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2002203260A JP2004048394A (ja) 2002-07-11 2002-07-11 半導体回路デバイス及びパケット処理方法
PCT/JP2002/008958 WO2004004251A1 (ja) 2002-07-01 2002-09-03 半導体回路デバイス、パケット処理方法、管理システム、管理方法、及びパケット処理方法
AU2002328419A AU2002328419A1 (en) 2002-07-01 2002-09-03 Semiconductor circuit device, packet processing method, management system, management method, and packet processing method
US10/839,411 US20040208177A1 (en) 2002-07-01 2004-05-04 Semiconductor circuit device, packet processing method, management system, management method and packet processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002203260A JP2004048394A (ja) 2002-07-11 2002-07-11 半導体回路デバイス及びパケット処理方法

Publications (1)

Publication Number Publication Date
JP2004048394A true JP2004048394A (ja) 2004-02-12

Family

ID=31709204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002203260A Pending JP2004048394A (ja) 2002-07-01 2002-07-11 半導体回路デバイス及びパケット処理方法

Country Status (1)

Country Link
JP (1) JP2004048394A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008176694A (ja) * 2007-01-22 2008-07-31 Mitsubishi Electric Engineering Co Ltd 監視システム
JP2009510806A (ja) * 2005-06-29 2009-03-12 インターデイジタル テクノロジー コーポレーション 無線送受信ユニットにおいてデータを処理するためのプロトコル・エンジン
JP4843102B2 (ja) * 2008-06-20 2011-12-21 株式会社アドバンテスト 試験装置および試験方法
JP2012081554A (ja) * 2010-10-12 2012-04-26 Tohoku Univ 触覚センサシステム
JP2012090302A (ja) * 2006-06-16 2012-05-10 Harris Corp インバウンドのコンテンツ型QoS方法及びシステム
US8362791B2 (en) 2008-06-20 2013-01-29 Advantest Corporation Test apparatus additional module and test method
JP2018023087A (ja) * 2016-08-03 2018-02-08 正文科技股▲ふん▼有限公司Gemtek Technology Co., Ltd, 無線通信デバイス
WO2021181874A1 (ja) * 2020-03-09 2021-09-16 オムロン株式会社 通信制御機器および通信制御機器の制御方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009510806A (ja) * 2005-06-29 2009-03-12 インターデイジタル テクノロジー コーポレーション 無線送受信ユニットにおいてデータを処理するためのプロトコル・エンジン
JP2012090302A (ja) * 2006-06-16 2012-05-10 Harris Corp インバウンドのコンテンツ型QoS方法及びシステム
JP2008176694A (ja) * 2007-01-22 2008-07-31 Mitsubishi Electric Engineering Co Ltd 監視システム
JP4843102B2 (ja) * 2008-06-20 2011-12-21 株式会社アドバンテスト 試験装置および試験方法
US8362791B2 (en) 2008-06-20 2013-01-29 Advantest Corporation Test apparatus additional module and test method
JP2012081554A (ja) * 2010-10-12 2012-04-26 Tohoku Univ 触覚センサシステム
JP2018023087A (ja) * 2016-08-03 2018-02-08 正文科技股▲ふん▼有限公司Gemtek Technology Co., Ltd, 無線通信デバイス
US10200891B2 (en) 2016-08-03 2019-02-05 Gemtek Technology Co., Ltd. Wireless communication device
WO2021181874A1 (ja) * 2020-03-09 2021-09-16 オムロン株式会社 通信制御機器および通信制御機器の制御方法

Similar Documents

Publication Publication Date Title
US20040208177A1 (en) Semiconductor circuit device, packet processing method, management system, management method and packet processing method
JP5621778B2 (ja) コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法
JP5643881B2 (ja) 自動化されたサービス発見及び動的接続管理
US8219713B2 (en) Method and system for a network controller based pass-through communication mechanism between local host and management controller
US8285828B2 (en) Method and system for platform level data model for indications based event control and data transfer
US7720097B2 (en) Communication apparatus, communication method, communication program and recording medium
JP2005537764A (ja) 優先度及びリザーブ帯域幅プロトコルを利用したネットワークにおけるQoSを提供する機構
JP2007159012A (ja) 中継装置及びクライアント機器とサーバとの接続方法
CN112631788B (zh) 数据传输方法及数据传输服务器
US20020099858A1 (en) Network communications protocol
Karamitsios et al. Efficient IoT data aggregation for connected health applications
JP2001168915A (ja) Ipパケット転送装置
JP2004048394A (ja) 半導体回路デバイス及びパケット処理方法
NO338397B1 (no) Tildeling av trådløse kanaler i en basestasjonsprosessor
US20050073966A1 (en) Method and apparatus for identifying devices supporting multicast channel allocation protocol (MCAP) on the same network and multicast communication method using the same
JP2004048392A (ja) 半導体回路デバイス及びパケット処理方法
JP2011044800A (ja) 通信装置、通信システムおよび通信方法
JP4082112B2 (ja) 半導体回路デバイス及びパケット処理方法
JP2010114721A (ja) ホームネットワーク内の端末から広域ネットワークへコンテンツを送信するコンテンツ送信方法及びシステム
CN110771117B (zh) 一种采用面向id的网络的会话层通信
KR101002142B1 (ko) 이종 ip 망 환경에서의 정보 서비스 제공 방법
JP2004038401A (ja) 半導体回路デバイス、管理システム、及び管理方法
JP2005072701A (ja) インタフェース提供装置
US11870865B2 (en) Distributed proxy for encrypted transport protocol with efficient multi-priority multiplexed transport for improving user's traffic QoS
KR100301021B1 (ko) Ieee 1394와 atm간의 게이트웨이 관리 방법 및 그에 대한 게이트 웨이

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071001

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080115