(57)【特許請求の範囲】
【請求項１】
データパケットを受取るためのソースポートと、データパケットの一部を含むデータ信号、ソースポートのポート番号を識別するポート信号、およびデータパケットがエラー条件を含むときを示すエラー信号を、発生する中継器フロントエンドとを有する、管理中継器において、データパケットのエラー統計を選択的に記憶するための回路であって、
データ信号およびエラーコードを前記中継器フロントエンドから受取り、前記一部のビットと前記エラーコードとを、その出力から転送するためのフォーマットに配列するためのデータフォーマッタと、
前記データフォーマッタの前記出力に結合され、前記一部および前記エラーコードを転送時に記憶するためのメモリと、
前記データフォーマッタおよび前記メモリの記憶装置に結合され、かつエラー信号のアサートに応答して、前記一部および前記エラーコードを前記データフォーマッタの前記出力から前記メモリに同期して転送かつ書込するための制御装置とを含む、回路。
【請求項２】
前記データフォーマッタはポート番号のビットを前記フォーマットに配列し、前記制御装置はポート番号を前記メモリに転送かつ書込する、請求項１に記載の回路。
【請求項３】
前記メモリは先入先出メモリを含む、請求項１に記載の回路。
【請求項４】
前記メモリはランダムアクセスメモリを含む、請求項１に記載の回路。
【請求項５】
前記メモリに結合され、前記メモリにアクセスするためのマイクロプロセッサインタフェースと、
前記マイクロプロセッサインタフェースに結合され、前記メモリにおける前記一部および前記エラーコードからデータパケットのエラー統計を読取るためのマイクロプロセッサとをさらに含む、請求項１に記載の回路。
【請求項６】
前記制御装置は前記マイクロプロセッサにも結合され、さらにメモリ状態信号をアサートして、前記メモリにおける前記一部および前記エラーコードがアクセスのために利用可能であるということを前記マイクロプロセッサと通信する、請求項５に記載の回路。
【請求項７】
前記一部はデータパケットのソースアドレスフィールドを含む、請求項１に記載の回路。
【請求項８】
管理中継器は、前記一部を識別するためのシフト信号と、データパケットに関連した前記エラー条件を識別するエラー状態信号と、データパケットの終わりを示すパケット終わり信号とをさらに発生し、
前記データフォーマッタはデータ信号、ポート信号、および前記エラー状態信号を受取り、前記一部のビットとエラー条件とを前記データフォーマッタの前記出力から転送するための前記フォーマットに配列し、
前記メモリは前記データフォーマッタの前記出力に結合され、前記一部およびエラー条件を転送時に記憶し、
前記制御装置は前記一部およびエラー条件を前記データフォーマッタの前記出力から前記メモリに同期して転送かつ書込し、前記制御装置はパケット終わり信号およびエラー信号の同時のアサートに応答して転送を開始する、請求項１に記載の回路。
【請求項９】
前記制御装置はパケット終わり信号およびエラー信号の同時のアサートに応答して、一連の選択信号と一連の書込信号とを同期してアサートし、
前記データフォーマッタは、
転送するための前記一部を含むまで、データ信号を受取り、かつ直列ビットストリームを並列ビットストリームへ変換するためのシフトレジスタを含み、前記シフトレジスタはシフト信号のデアサートに応答してロックし、さらに、
前記一部を受取るための前記シフトレジスタに結合された第１の入力と、ポート番号を受取るための第２の入力と、エラー条件を受取るための第３の入力と、前記制御装置に結合された選択入力とを有するマルチプレクサを含み、前記マルチプレクサは前記選択入力で前記一連の選択信号に応答して、前記一部、ポート番号、およびエラー条件を前記マルチプレクサの出力から前記メモリに増分的に転送し、
前記データフォーマッタの前記出力は前記マルチプレクサの前記出力を含み、
前記メモリは前記マルチプレクサの前記出力と前記制御装置とに結合され、前記制御装置からの前記一連の書込信号に応答して、前記一部、ポート番号、およびエラー条件を記憶する、請求項８に記載の回路。
【請求項１０】
前記データフォーマッタは前記ポート信号を受取り、前記ポート信号を前記フォーマットに配列して前記データフォーマッタの前記出力から転送する、請求項１に記載の回路。
【請求項１１】
前記エラー統計が特定の予め選択されたポートに関連していることを前記ポート信号が示すと、前記制御装置は、前記エラー信号に応答して、前記一部を同期して転送かつ書込する、請求項１に記載の回路。
【請求項１２】
前記エラー統計がエラーの特定の予め選択されたタイプに関連していることを前記エラー信号が示すと、前記制御装置は、前記エラー信号に応答して、前記一部を同期して転送かつ書込する、請求項１に記載の回路。
【請求項１３】
前記エラー信号の前記アサートはプログラム可能である、請求項１に記載の回路。
【請求項１４】
前記エラーコードが予め選択されたポートに関連していることを前記ポート信号が示すときにのみ、前記エラー信号はアサートされる、請求項13に記載の回路。
【請求項１５】
前記エラー信号は、前記エラーコードがエラー条件の予め選択されたタイプに関連しているときにのみアサートされる、請求項13に記載の回路。
【請求項１６】
ソースポートでデータパケットを受取るための中継器を含むネットワークにおいて、データパケットのエラー統計を選択的に記憶するための改善された管理回路であって、
中継器に結合され、データパケットを処理して、データパケットの一部を含むデータ信号と、ソースポートのポート番号を識別するポート信号と、データパケットに関連したエラー条件を識別するエラー状態信号と、データパケットの終わりを示すパケット終わり信号と、データパケットが前記エラー条件を含むときを示すエラー信号とを発生するための中継器フロントエンドと、
前記中継器フロントエンドに結合され、前記データ信号、前記ポート信号、および前記エラー状態信号を受取り、前記一部のビット、前記ポート番号、および前記エラー条件を、その出力から転送するために配列するためのデータフォーマッタと、
前記データフォーマッタの前記出力に結合され、前記一部、前記ポート番号、および前記エラー条件を転送時に記憶するためのメモリと、
前記中継器フロントエンド、前記データフォーマッタ、および前記メモリに結合され、前記一部、前記ポート番号、および前記エラー条件を前記データフォーマッタの前記出力から前記メモリに同期して転送かつ書込するための制御装置とを含み、前記制御装置は前記パケット終わり信号および前記エラー信号の同時のアサートに応答する、回路。
【請求項１７】
装置のソースポートで受取られたデータパケットと、データパケットの一部を含むデータ信号と、ソースポートを識別するポート信号と、データパケットがエラー条件を含むときを示すエラー信号とを有するネットワークにおいて、データパケットのエラー統計を選択的に記憶するための方法であって、
データ信号およびエラー状態信号を受取るステップと、
前記一部のビットと前記エラー状態信号とを転送するためのフォーマットに配列するステップと、
前記一部および前記エラー状態信号を転送して記憶するために選択するステップとを含み、前記選択するステップはエラー信号のアサートに応答し、さらに、
前記一部および前記エラー状態信号を転送時に記憶するステップを含む、方法。
【請求項１８】
装置からポート番号のビットを受取り、かつ配列するステップと、
前記一部および前記エラー状態信号とともにポート番号を記憶するステップとをさらに含む、請求項17に記載のエラー統計記憶方法。
【請求項１９】
配列する前記ステップはさらに前記ポート信号を前記フォーマットに配列する、請求項17に記載の方法。
【発明の詳細な説明】
発明の背景
この発明はコンピュータネットワークにおいてエラー統計を集めることに関し、特に、コンピュータネットワークで伝送されるデータパケットのエラー統計を選択的に記憶するネットワーク管理に役立つ回路および方法に関する。
コンピュータネットワークのどんなアプリケーションでも、円滑に動作するネットワークを維持することが最も重要である。ネットワークでのデータパケット伝送を監視し、エラー条件を識別することによって、ネットワークにおいて問題の位置を突き止めるユーザの能力が高められる。すなわち、エラータイプ、発生頻度、およびエラーソースのような情報がネットワークにおける特定の問題を示すことができる。したがって、ユーザはネットワークの信頼性を高めるために補正処置をとることができる。
簡単なネットワークでは、ユーザはエラーを求めてネットワークを手動で監視できる。より大きく複雑なネットワークでは、ネットワークの手動による監視は扱いにくくかつ不十分になる。大きいネットワークはより複雑な自動管理を必要とする。自動監視および管理を実現するネットワークは管理ネットワークと称される。このようなネットワークでは、多様なエラー統計に関する特殊情報を得る能力がネットワークの障害追跡問題において非常に貴重である。
IEEE802.3規格（これにより、あらゆる目的のために引用により特に援用される）に基づいたネットワークのようなある典型的な管理ネットワークでは、１つのデータ端末装置（DTE）、たとえばエンドステーションによって別のDTEに伝送されたデータパケットが少なくとも１つの中継器を通過する。あらゆるデータパケットが中継器を通過するので、中継器はネットワーク管理についてのエラー統計を集めるのに都合のよい場所である。
多様なデータパケットのエラー統計を中継器で集めることは、管理ユニットを中継器に接続することによって可能である。管理ユニットを備えた中継器は管理中継器と称される。管理中継器がデータパケットを受取ると、中継器はデータパケットで多様な機能を行なう管理ユニットにデータパケットを伝送する。管理ユニットのいくつかの機能には、受取時におけるデータパケットのフォーマット化、エラー検出の実行、およびエラー条件のフラグを立てることが含まれる。
エラー統計を管理中継器で蓄積する１つの方法は、エラーを検出し、異なったエラー条件の発生数をカウントし、かつそのカウントを管理ユニットの内部ランダムアクセスメモリ（RAM）に記憶するための内部ハードウェアを含んだ第１のタイプの管理ユニット（タイプＩ）を用いることである。特定のエラー条件が管理中継器に送られるデータパケットに存在するとき、管理ユニット内のハードウェアはエラーを検出かつフラグし、適切なレジスタを次に増分させる。エラー統計を得るために、マイクロプロセッサはタイプＩ管理ユニット内の多様なレジスタを単に読取り、かつ多様なタイプのエラーの全カウントを得ることができる。タイプＩ管理中継器の一例は、カリフォルニア州、サニィベイル（Sunnyvale,California）のアドバンスト・マイクロ・ディバイシズ（Advanced Micro Devices）社によって製造されるIMR＋/HIMIBチップセット（P/N  AM79C981（IMR）およびAM79C987（HIMIB）である。
タイプＩ管理中継器は多くの課題を十分にこなすが、あるアプリケーションでは性能が最適ではない。なぜなら、統計は多くのデータパケットにわたって蓄積されたエラーの総数を反映するだけだからである。パケットごとのエラー統計は入手できない。特定のデータパケットに対するエラー統計を知ることが所望である場合もある。
パケットごとにエラー統計を蓄積する能力を有した、別の、より一般的な管理中継器実施例を用いることが知られている。管理中継器のこの実施例は中継器に対して第２のタイプの管理ユニット（タイプII）を含む。タイプII管理ユニットはメディアアクセス制御装置（MAC）、RAM、およびマイクロプロセッサからなる。
タイプII管理中継器では、エンドステーションからのデータパケットは中継器によって受取られ、これは次にデータパケットをMACに渡す。MACはプリアンブルと開始フレームの区切記号とをデータパケットからとり、データパケットの残りのフレームを直列データストリームから並列データストリームにフォーマット化する。MACはデータパケットのフレームの全内容をRAMに書込む。マイクロプロセッサはRAMの内容を読取り、それをユーザによってプログラムされるソフトウェアに従って処理する。このソフトウェアはエラー検出を実施し、所望のエラー統計をデータパケットから抽出する。
タイプII管理ユニットは非効率的かつ高価である。これは、エラーがなかったとしても、データパケットはすべて記憶かつ処理されるからである。何千ものデータパケットがネットワークを毎秒通過し得る。タイプII管理中継器は、急速に入ってくるデータパケットによって発生した多量のデータを記憶するための大きいRAMと、あらゆるデータを処理し、かつエラー統計を集めるための急速かつ強力なマイクロプロセッサとの両方を必要とする。
さらに、タイプII管理ユニットはあるタイプの複雑なエラー統計を集めるのに非効率的である。たとえば、ユーザが特定のデータパケットのエラー条件とそのデータパケットの対応する物理的ポートとを知ることを所望するならば、タイプII管理は実行するとしても部分的に行なう。異なったエラー条件をフラグするために装備されるMACを管理ユニットが用いると仮定しても、管理ユニットはなお、あらゆるデータパケットを記憶かつ処理しなければならない。MACが特定のエラーをフラグするまでの、データパケットがMACに流れ込み、次にRAMに流れ込む速度のために、マイクロプロセッサはフラグされたエラーに関連した、データパケットの物理的ポートを特定できない。どの物理的ポートがあるエラーに関連しているかを特定するために、マイクロプロセッサはRAMにおけるあらゆるデータパケットの内容をリアルタイムで読取りかつ処理しなければならない。このように、タイプII管理ユニットはより複雑なエラー統計を集めるのには非効率かつ高価である。物理的ポートの情報を特定するために、外部ハードウェアが中継器および管理ユニットに加えてしばしば必要とされる。
発明の概要
この発明は、エラーを有するデータパケットのみに対してエラー統計を選択的に記憶するための装置および方法を提供する。この発明は先行技術を超える多様な利点を有し、その中には、データパケットのエラー統計を集めるのがより効率的かつ経済的であり、複雑なエラー統計をパケットごとに特定する能力が高まったことが含まれる。
この発明のある局面に従うと、この発明は、データパケットに関連した所望の情報を受取るためのデータフォーマッタを含み、かつメモリに転送するためのフォーマットにビットを配列する回路と、マイクロプロセッサによって後にアクセスするために所望の情報を記憶するためのメモリと、所望の情報をデータフォーマッタからメモリへと選択的に転送かつ書込するための制御装置とを提供する。好ましい実施例は、エラーを有するデータパケットに対する所望の情報だけを記憶することによって性能を向上させる。すなわち、データパケット自体の内部の情報、たとえばソースアドレスと、データパケットの外部の情報、たとえば中継器のポート番号と、データパケットのエラー情報、たとえばエラー条件とは、マイクロプロセッサがその都合の良いときに読取るように、エラー統計としてメモリに記憶される。
このように、エラー統計を集めるためにユーザによって所望される情報だけを選択的に記憶し、かつエラーを有するデータパケットに対するこのような情報のみを記憶することによって、この発明の利点が実現される。すなわち、この発明はマイクロプロセッサに対する処理上の要件を減らし、これによって、より遅く、より安価にマイクロプロセッサを使用させる。この発明のさらなる利点は、MACを不要にし、あらゆるデータパケットを無差別にセーブするのに必要であるような非常に大きなメモリを必要としないことである。
この発明の性質および利点は、明細書の残りの部分と図面とを参照することによってさらに理解される。
【図面の簡単な説明】
図１は、この発明の好ましい実施例の詳細な概略ブロック図である。
好ましい実施例の説明
図１は、管理中継器10とマイクロプロセッサ20と複数個のデータ端末装置（DTE）30iとの詳細な概略ブロック図である。管理中継器10は、複数個のポート41iを有する中継器フロントエンド40と管理ユニット50とマイクロプロセッサインタフェース60とを含む。
１つのDTE301はデータパケットを管理中継器10を介して別のDTE302に渡す。管理中継器10では、中継器フロントエンド40は１つのポート411でデータパケットを受取り、他のポート41iからデータパケットを同報通信する。
中継器フロントエンド40はまた、データパケットを処理して複数個のエラー統計信号を発生し、各信号はいくつかのデータ、エラー条件、または状態制御情報のいずれかを含む。エラー統計信号は、データパケットのエラー統計を抽出かつ記憶する際に管理ユニット50によって用いられる。データパケットのエラー統計の構成部分を含むエラー統計信号は、記憶する前に何らかのフォーマット化を必要とし得る一連のビットを含む。管理ユニット50はエラー統計信号を受取り、記憶とマイクロプロセッサ20による後のアクセスとのためにデータパケットのエラー統計をフォーマット化する。マイクロプロセッサ20はマイクロプロセッサインタフェース60を経てエラー統計にアクセスする。
この発明の好ましい実施例では、中継器フロントエンド40はアドバンス・マイクロ・ディバイシズ社のIMR＋/HIMIBチップセットのコアを組み入れる。管理ハードウェア回路構成要素は、組み入れられたIEEE規格802.3に従って管理情報ベース（MIB）または統計を生成する。もちろん、所望のエラー統計信号を発生する、管理ユニットを備えた中継器はこの発明を組み入れるために変更できる。
管理ユニット50はデータフォーマッタ70、メモリ80、および制御装置90を含む。データフォーマッタ70は中継器フロントエンド40から関心のあるエラー統計信号を受取る。データフォーマッタ70はエラー統計のビットを記憶へ転送するためのフォーマットへ配列する。データフォーマッタ70に結合されたメモリ80はエラー統計を記憶する。制御装置90は、データフォーマッタ70からメモリ80へのエラー統計の転送を制御する。制御装置90は中継器フロントエンド40からの特定のエラー状態信号に応答し、これはエラー信号と呼ばれる、データパケットがエラーを有することを示す。中継器フロントエンド40がエラー信号をアサートするとき、制御装置90はデータフォーマッタ70からメモリ80へとエラー統計を同期して転送かつ書込する。このように、管理ユニット50はエラーのあるデータパケットに対してのみエラー統計を記憶する。好ましい実施例では、「同期して」とはデータフォーマッタ70からのデータ転送とメモリ80への書込との調整を指す。
好ましい実施例に従って、管理ユニット50は、データパケットのソースアドレスと、データパケットを受取った物理的ポートを識別するポート番号と、フレームチェックシーケンス（FCS）エラー、アラインメントエラー、長フレーム、短事象、微弱、データレートエラー、および雑音のような、データパケットのエラー条件とを含む構成部分を備えたエラー統計を記憶する。この発明の他の実施例は、具体的な実施例に依存して、これら列挙されたもののいくらかまたはすべてに加えて、またはその代わりに、他の統計を記憶できる。
好ましい実施例では、中継器フロントエンド40は、データパケットの一部を含むデータ信号と、ソースポートのポート番号を識別するポート信号と、データパケットに関連したエラー条件を含むエラー状態信号と、その部分を識別するためのシフト信号と、データパケットの終わりを示すパケット終わり信号と、データパケットがエラーを含むときを示すエラー信号とのエラー統計信号を発生する。
データフォーマッタ70は、シフトレジスタ100およびマルチプレクサ110を含み、マルチプレクサ110は、８個の１バイト入力と、その入力の１つでの各バイトを出力111に連続的に送るための１つの選択入力とを含む。
シフトレジスタ100はデータパケットの所望の部分を含むデータ信号とシフト信号とを受取る。中継器フロントエンド40から与えられるシフト信号は、シフトレジスタ100への所望のデータパケット部分の記憶を制御する。
中継器フロントエンド40は直列ビットストリームの全データパケットをシフトレジスタ100に伝送する。シフトレジスタ100は直列入力を６つの１バイト並列出力へ配列する。中継器フロントエンド40はシフト信号をデアサートするまで直列ビットストリームをシフトレジスタ100へシフトする。中継器フロントエンド40は、データパケットの所望の部分が一旦完全にシフトレジスタ100へシフトされると、シフト信号をデアサートする。
プリアンブル（１、０が交互に起こるパターンの56ビット）と開始フレームの区切記号（SFD）（10101011）とに先行され、データパケットのフレームは宛先アドレスフィールド（48ビットの固定した長さ）で始まり、ソースアドレスフィールド（48ビットの固定した長さ）に従われる。データパケットの所望の部分がソースアドレスフィールドなので、SFDを過ぎて96ビットがカウントされるまで、中継器フロントエンド40は直列ビットストリームにおいてシフトするようにシフト信号をアサートするだけである。シフトレジスタ100は48ビット（８ビット／バイトで６バイト）を記憶するだけであり、したがって、最後の48ビット（すなわちソースアドレス）だけがシフト信号のデアサートの前に記憶される。この点で、中継器フロントエンド40は、記憶するために転送する準備のできたフォーマットでソースアドレスフィールドをシフトレジスタ100へ記憶している。
この発明のこの実施例では、管理中継器10は、先行技術におけるようにデータパケットの全フレームを記憶するというよりもむしろ、関心のあるデータパケットの内部部分だけを記憶するための能力を含む。データパケットに対するエラー統計の一部としてデータパケットの異なった部分を記憶するために、ユーザは他の明らかな変更の中で、シフトレジスタ100の大きさとシフト信号アサートのタイミングとを変化できる。記憶される特定の部分はこの発明では中心的ではない設計上の選択である。好ましい実施例では、他の部分またはいくつかの部分が記憶され得るが、特定の部分を記憶することが望ましい。ある実施例では、この技術において周知であるような多様な制御信号に基づいて、管理中継器10は記憶するための特定の部分を選択するようにプログラムできる。
マルチプレクサ110は８個の入力でのバイトを連続的に出力111に送る。出力111はメモリ80に結合される。マルチプレクサ110は選択入力112でアサートされる一連の選択信号に応答して、バイトを一度に１つメモリ80に転送する。シフトレジスタ100によってフォーマット化されているソースアドレスフィールドのビットはマルチプレクサ110への入力で６である。ポート信号はマルチプレクサ110への１つの入力で存在し、管理中継器10のポート番号を表わす４ビットの値を含む。ポート番号はデータパケットを受取る中継器の物理的ポートを識別する。エラー状態信号はマルチプレクサ110への別の入力で存在し、データパケットに関連したエラー条件を示すビットを含む。
メモリ80はマルチプレクサ110に結合され、制御装置90からの書込信号に応答してエラー統計を記憶する。好ましい実施例では、メモリ80は４バイト幅の先入先出メモリとして実現される。しかしながら、メモリ80の実現はこの発明には中心的ではない設計上の選択である。たとえば、メモリ80はRAMを備えるような他の方法で実現されてもよく、制御装置への適切な変更は当業者には明らかである。
制御装置90は中継器フロントエンド40からエラー信号およびパケット終わり信号を受取る。中継器フロントエンド40がデータパケットの終わりに達しており、エラー状態信号およびポート信号の統計が有効であるようにデータパケットの処理を完了しているならば、中継器フロントエンド40はパケット終わり信号をアサートする。データパケットに関連したエラーを検出すると、中継器フロントエンド40はエラー信号をアサートする。
中継器フロントエンド40がエラー信号およびパケット終わり信号を同時にアサートするとき、制御装置90はマルチプレクサ110の選択入力112に一連の選択信号をアサートし、同期して一連の書込信号をメモリ80にアサートする。しかしながら、エラー信号がパケット終わり信号と同時にアサートされなければ、制御装置90は選択信号または書込信号をアサートしない。
制御装置90が選択信号をアサートするとき、マルチプレクサ110は最下位バイトをシフトレジスタ100から出力111に送る。次に、マルチプレクサ110の出力111でのバイトがメモリ80へ書込まれるように、制御装置90は書込信号をメモリ80にアサートし、これによってバイト値が記憶される。シフトレジスタ100におけるあらゆるバイトとポート信号とエラー状態信号とがメモリ80へ書込まれるまで、制御装置90は選択信号および書込信号をアサートし続ける。
関連したエラーを有するデータパケットのエラー統計が一旦メモリ80に記憶されると、マイクロプロセッサ20はメモリ80に記憶されたエラー統計を適宜読取りできる。マイクロプロセッサ20はマイクロプロセッサインタフェース60を経てエラー統計を読取る。マイクロプロセッサ20はエラー統計にアクセスするために読取信号をアサートする。メモリ80がアクセスに利用可能なエラー統計を含むことを示すために、制御装置90がマイクロプロセッサ20に状態フラグをアサートすることも可能である。この発明の好ましい実施例に従って、マイクロプロセッサ20は、エラーのために多量のデータパケットを急速に処理する課題で過剰に負担をかけられているのではなく、メモリ80に記憶されているエラーでデータパケットに対するエラー統計を読取るだけである。
この発明は好ましい実施例に関して説明されているが、多様な変化、変更および均等物はこの発明から逸脱せずに行なわれ得ることが当業者には明らかである。したがって、上の説明は、添付の請求の範囲によって規定されるこの発明の範疇を限定するものとしてみなされないべきである。
【図１】
0003600876.tif 000002