(57)【要約】  イーサネットインタフェースモジュールは、イーサネットネットワークとデバイスとの間でフレームを送信するように動作可能な全二重ポートと、全二重ポートの受信部を全二重ポートの送信部に接続する経路とを含む。経路にはキューが配置されている。キューには評価装置が接続されており、評価装置は、受信フレームがイーサネットインタフェースモジュールにアドレス指定されているかどうかを判定するとともに、フレームタイプフィールドがフレームタイプを含むかどうかを判定する。イーサネットインタフェースモジュールは、全ての受信フレームが全二重ポートからエコーバックされるように第１のモードで動作可能であるとともに、所定の評価基準を満たす受信フレームが全二重ポートからエコーバックされる一方、所定の評価基準を満たさない受信フレームが破棄されるように第２のモードで動作可能である。
2017529033.tif 000002
【特許請求の範囲】
【請求項１】
イーサネットネットワークにデバイスを接続するように構成されたイーサネットインタフェースモジュールであって、
受信部と送信部を備え、前記イーサネットネットワークと前記デバイスとの間でフレームを転送するように動作可能な第１の全二重ポートであって、各受信フレームが、フレームタイプを識別するためのフレームタイプフィールドと、前記デバイスにコマンドを供給するために利用されるコマンドフィールドとを備える、前記第１の全二重ポートと、
前記第１の全二重ポートの受信部を前記第１の全二重ポートの送信部に接続する第１の経路と、
前記第１の経路に配置されるキューと、
前記キューに接続され、受信フレームが前記イーサネットインタフェースモジュールにアドレス指定されているかどうかを判定するとともに、前記フレームタイプフィールドがフレームタイプを含むかどうかを判定する評価装置と、を備え、
前記イーサネットインタフェースモジュールは、
全ての前記受信フレームが前記第１の全二重ポートからエコーバックされるように第１のモードで動作可能であるとともに、
所定の評価基準を満たす前記受信フレームが前記第１の全二重ポートからエコーバックされ、前記所定の評価基準を満たさない前記受信フレームが破棄されるように第２のモードで動作可能である、イーサネットインタフェースモジュール。
【請求項２】
前記フレームタイプは、前記フレームが所定のフィールドを備えるか否かを識別するために使用される、請求項１に記載のイーサネットインタフェースモジュール。
【請求項３】
前記所定のフィールドは、シーケンス識別フィールドとリターンアドレスフィールドとのうちの一方または双方を含む、請求項２に記載のイーサネットインタフェースモジュール。
【請求項４】
前記フレームタイプは、前記フレームがシーケンス識別フィールドを備えるか否かを識別するために使用される、請求項２に記載のイーサネットインタフェースモジュール。
【請求項５】
前記フレームタイプは、前記フレームがリターンアドレスフィールドを備えるか否かを識別するために使用される、請求項２に記載のイーサネットインタフェースモジュール。
【請求項６】
前記フレームタイプは、前記フレームがシーケンス識別フィールドを備えるか否かを識別するために使用される、請求項１に記載のイーサネットインタフェースモジュール。
【請求項７】
前記フレームタイプは、前記フレームがリターンアドレスフィールドを備えるか否かを識別するために使用される、請求項１に記載のイーサネットインタフェースモジュール。
【請求項８】
前記フレームタイプフィールドに含まれる前記フレームタイプは第１の状態に設定された第１の所定ビットを備え、前記コマンドフィールドに含まれるコマンドは第２の状態に設定された第１の所定ビットを備え、前記第１の状態と前記第２の状態は、前記フレームタイプフィールドと前記コマンドフィールドとを区別するべく異なるものに選択される、請求項１に記載のイーサネットインタフェースモジュール。
【請求項９】
前記イーサネットインタフェースモジュールを識別する宛先アドレスを備え、
前記受信フレームは、宛先アドレスを含む宛先アドレスフィールドと、前記フレームの送信元を示す送信元アドレスを含む送信元アドレスフィールドとを備え、
前記イーサネットインタフェースモジュールは、前記受信フレームのフィールドを修正しつつ、前記送信元アドレスを変更することなくリターンフレームを生成するように前記デバイスで動作可能である、請求項１に記載のイーサネットインタフェースモジュール。
【請求項１０】
前記イーサネットインタフェースモジュールを識別する宛先アドレスを備え、
前記受信フレームは、宛先アドレスを含む宛先アドレスフィールドと、前記フレームの送信元を示す送信元アドレスを含むリターンアドレスフィールドとを備え、
前記イーサネットインタフェースモジュールは、前記受信フレームのフィールドを修正して、修正されたリターンフレームを生成し、前記宛先アドレスを前記リターンフレームの送信元アドレスフィールドに挿入して、リターンアドレスを利用して前記リターンフレームの宛先を識別するように前記デバイスで動作可能である、請求項１に記載のイーサネットインタフェースモジュール。
【請求項１１】
前記イーサネットインタフェースモジュールを識別する宛先アドレスと、
リターンアドレスと、を備え、
前記受信フレームは、宛先アドレスを含む宛先アドレスフィールドと、前記フレームの送信元を示す送信元アドレスを含むリターンアドレスフィールドとを備え、
前記イーサネットインタフェースモジュールは、前記受信フレームのフィールドを修正して、修正されたリターンフレームを生成し、前記宛先アドレスを前記リターンフレームの送信元アドレスフィールドに挿入して、リターンアドレスを利用して前記リターンフレームの宛先を識別するように前記デバイスで動作可能である、請求項１に記載のイーサネットインタフェースモジュール。
【請求項１２】
前記リターンアドレスは、前記リターンフレームの宛先アドレスフィールドに挿入される、請求項１１に記載のイーサネットインタフェースモジュール。
【請求項１３】
前記受信フレームは、シーケンス識別子を含むシーケンス識別フィールドを備え、一連の前記受信フレームのシーケンス識別子は互いに所定の関係を有し、
前記イーサネットインタフェースモジュールは、前記シーケンス識別子を利用して、受信フレームが先の受信フレームと所定の関係を有しているか否かを判定する、請求項１に記載のイーサネットインタフェースモジュール。
【請求項１４】
前記イーサネットインタフェースモジュールは、前記受信フレームのシーケンス識別子が前記所定の関係を有していないと判定した場合に前記受信フレームに対する所定の動作を実行する、請求項１３に記載のイーサネットインタフェースモジュール。
【請求項１５】
前記所定の動作は、前記受信フレームの廃棄を含む、請求項１４に記載のイーサネットインタフェースモジュール。
【請求項１６】
前記所定の動作は、前記受信フレームが廃棄されたことを前記受信フレームの送信元に通知することを含む、請求項１５に記載のイーサネットインタフェースモジュール。
【請求項１７】
前記イーサネットネットワークは、前記受信フレームを送るマスタを備え、
前記コマンドフィールドは、関連するコマンドデータを備える１つまたは複数の関連するデータフィールドを有する、請求項１に記載のイーサネットインタフェースモジュール。
【請求項１８】
前記イーサネットインタフェースモジュールは、それに関連付けられた固有の識別キーを備え、
前記固有の識別キーが前記マスタに設けられている、請求項１７に記載のイーサネットインタフェースモジュール。
【請求項１９】
前記受信フレームは、シーケンス識別フィールドとセキュリティフィールドとを備え、前記シーケンス識別フィールドはシーケンス識別子を含み、前記セキュリティフィールドは、前記１つまたは複数の関連するデータフィールドのうちの１つに含まれている第１のデータの暗号化ハッシュ値を含む、請求項１８に記載のイーサネットインタフェースモジュール。
【請求項２０】
前記暗号化ハッシュ値は、前記固有の識別キーを利用して、前記マスタによって、前記シーケンス識別子および前記第１のデータに対して演算される、請求項１９に記載のイーサネットインタフェースモジュール。
【請求項２１】
前記受信フレームは、第２のシーケンス識別フィールドと第２のセキュリティフィールドとを備え、前記第２のシーケンス識別フィールドは第２のシーケンス識別子を含み、前記第２のセキュリティフィールドは、前記１つまたは複数の関連するデータフィールドのうちの第２のデータフィールドに含まれている第２のデータの第２の暗号化ハッシュ値を含む、請求項２０に記載のイーサネットインタフェースモジュール。
【請求項２２】
前記第２の暗号化ハッシュ値は、前記固有の識別キーを利用して、前記マスタによって、前記第２のシーケンス識別子および前記第２のデータに対して演算される、請求項２１に記載のイーサネットインタフェースモジュール。
【請求項２３】
第１のデータレジスタと、
第２のデータレジスタと、
前記受信フレームについて前記第１のデータを第１の暗号化ハッシュ値を用いてチェックするとともに前記第２のデータを第２の暗号化ハッシュ値を用いてチェックするように動作する装置と、を備え、
前記装置は、前記第１の暗号化ハッシュ値によって前記第１のデータの完全性が確認される場合に前記第１のデータを前記第１のデータレジスタに格納するとともに、前記第２の暗号化ハッシュ値によって前記第２のデータの完全性が確認される場合に前記第２のデータを前記第２のデータレジスタに格納し、
前記装置は、第１の格納データと第２の格納データとを比較し、
前記第１の格納データと前記第２の格納データとが一致する場合に、前記第１の格納データと前記第２の格納データとのうちの少なくとも一方が前記デバイスに出力され、
前記イーサネットインタフェースモジュールは、前記第１の格納データと前記第２の格納データとが一致しない場合に前記受信フレームを廃棄する、請求項２２に記載のイーサネットインタフェースモジュール。
【請求項２４】
前記イーサネットインタフェースモジュールは、前記受信フレームのフィールドを修正して前記受信フレームを修正することによりリターンフレームを生成し、前記イーサネットネットワークを介して前記リターンフレームを送信するように前記デバイスで動作可能であり、
前記リターンフレームは、
第１のリターンシーケンス識別子を含む第１のリターンシーケンス識別フィールドと、前記イーサネットネットワークを介して送信される第１のリターンデータを含む第１のリターンデータフィールドと、第１のリターンセキュリティフィールドとを備えるとともに、
第２のリターンシーケンス識別子を含む第２のリターンシーケンス識別フィールドと、前記イーサネットネットワークを介して送信される第２のリターンデータを含む第２のリターンデータフィールドと、第２のリターンセキュリティフィールドとを備え、
前記第１のリターンセキュリティフィールドは、前記固有の識別キーを利用して、前記第１のリターンシーケンス識別子および前記第１のリターンデータに対して演算された第１の暗号化ハッシュ値を含み、
前記第２のリターンセキュリティフィールドは、前記固有の識別キーを利用して、前記第２のリターンシーケンス識別子および前記第２のリターンデータに対して演算された第２の暗号化ハッシュ値を含む、請求項２３に記載のイーサネットインタフェースモジュール。
【請求項２５】
前記第１のリターンシーケンス識別子は、前記シーケンス識別子と、生成されたシーケンス識別子とのうちの一方を含み、
前記第２のリターンシーケンス識別子は、前記シーケンス識別子と、生成された第２のシーケンス識別子とのうちの一方を含む、請求項２４に記載のイーサネットインタフェースモジュール。
【請求項２６】
第１のシーケンス識別子および第２のシーケンス識別子の各々が利用される回数をカウントして第１のカウント値と第２のカウント値を生成するカウンタと、
前記第１のリターンシーケンス識別子と前記第２のリターンシーケンス識別子を、それぞれ前記第１のカウント値と前記第２のカウント値に基づいて修正する第２の装置と、を備える請求項２５に記載のイーサネットインタフェースモジュール。
【請求項２７】
第１のデータレジスタと、
第２のデータレジスタと、
前記受信フレームについて前記第１のデータを第１の暗号化ハッシュ値を用いてチェックするように動作する装置と、を備え、
前記装置は、前記第１の暗号化ハッシュ値によって前記第１のデータの完全性が確認される場合に前記第１のデータを前記第１のデータレジスタに格納し、
前記マスタは、第２の受信フレームを送り、前記第２の受信フレームは、第２のシーケンス識別子と、第２のデータと、前記第２のシーケンス識別子および前記第２のデータに対して演算された第２の暗号化ハッシュ値とを含み、
前記装置は、前記第２の受信フレームについて前記第２のデータを前記第２の暗号化ハッシュ値を用いてチェックし、前記第２の暗号化ハッシュ値によって前記第２のデータの完全性が確認される場合に前記第２のデータを前記第２のデータレジスタに格納するように動作し、
前記装置は、第１の格納データと第２の格納データとを比較し、
前記第１の格納データと前記第２の格納データとが一致する場合に、前記第１の格納データと前記第２の格納データとのうちの少なくとも一方が前記デバイスに出力され、
前記イーサネットインタフェースモジュールは、前記第１の格納データと前記第２の格納データとが一致しない場合に、前記受信フレームと前記第２の受信フレームとを廃棄する、請求項２２に記載のイーサネットインタフェースモジュール。
【請求項２８】
前記イーサネットインタフェースモジュールは、前記受信フレームのフィールドを修正して前記受信フレームを修正することによりリターンフレームを生成し、前記イーサネットネットワークを介して前記リターンフレームを送信するように前記デバイスで動作可能であり、
前記リターンフレームは、
第１のリターンシーケンス識別子を含む第１のリターンシーケンス識別フィールドと、前記イーサネットネットワークを介して送信される第１のリターンデータを含む第１のリターンデータフィールドと、第１のリターンセキュリティフィールドとを備えるとともに、
第２のリターンシーケンス識別子を含む第２のリターンシーケンス識別フィールドと、前記イーサネットネットワークを介して送信される第２のリターンデータを含む第２のリターンデータフィールドと、第２のリターンセキュリティフィールドとを備え、
前記第１のリターンセキュリティフィールドは、前記固有の識別キーを利用して、前記第１のリターンシーケンス識別子および前記第１のリターンデータに対して演算された第１の暗号化ハッシュ値を含み、
前記第２のリターンセキュリティフィールドは、前記固有の識別キーを利用して、前記第２のリターンシーケンス識別子および前記第２のリターンデータに対して演算された第２の暗号化ハッシュ値を含む、請求項２３に記載のイーサネットインタフェースモジュール。
【請求項２９】
前記第１のリターンシーケンス識別子は、前記シーケンス識別子と、生成されたシーケンス識別子とのうちの一方を含み、
前記第２のリターンシーケンス識別子は、前記シーケンス識別子と、生成された第２のシーケンス識別子とのうちの一方を含む、請求項２８に記載のイーサネットインタフェースモジュール。
【請求項３０】
第１のシーケンス識別子および第２のシーケンス識別子の各々が利用される回数をカウントして第１のカウント値と第２のカウント値を生成するカウンタと、
前記第１のリターンシーケンス識別子と前記第２のリターンシーケンス識別子を、それぞれ前記第１のカウント値と前記第２のカウント値に基づいて修正する第２の装置と、を備える請求項２９に記載のイーサネットインタフェースモジュール。
【請求項３１】
前記イーサネットインタフェースモジュールは、前記受信フレームのフィールドを修正して前記受信フレームを修正することによりリターンフレームを生成し、前記イーサネットネットワークを介して前記リターンフレームを送信するように前記デバイスで動作可能であり、
前記リターンフレームは、第１のリターンシーケンス識別子を含む第１のリターンシーケンス識別フィールドと、第１のリターンデータを含む第１のリターンデータフィールドと、第１のリターンセキュリティフィールドとを備え、
前記イーサネットインタフェースモジュールは、第２の受信フレームのフィールドを修正して前記第２の受信フレームを修正することにより第２のリターンフレームを生成し、前記イーサネットネットワークを介して前記第２のリターンフレームを送信するように前記デバイスで動作可能であり、
前記第２のリターンフレームは、第２のリターンシーケンス識別子を含む第２のリターンシーケンス識別フィールドと、第２のリターンデータを含む第２のリターンデータフィールドと、第２のリターンセキュリティフィールドとを備え、
前記第１のリターンセキュリティフィールドは、前記固有の識別キーを利用して、前記第１のリターンシーケンス識別子および前記第１のリターンデータに対して演算された第１の暗号化ハッシュ値を含み、
前記第２のリターンセキュリティフィールドは、前記固有の識別キーを利用して、前記第２のリターンシーケンス識別子、前記第１のリターンデータ、および前記第２のリターンデータに対して演算された第２の暗号化ハッシュ値を含む、請求項２０に記載のイーサネットインタフェースモジュール。
【請求項３２】
前記第１のリターンシーケンス識別子は、前記シーケンス識別子と、生成されたシーケンス識別子とのうちの一方を含み、
前記第２のリターンシーケンス識別子は、前記シーケンス識別子と、生成された第２のシーケンス識別子とのうちの一方を含む、請求項３１に記載のイーサネットインタフェースモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してイーサネットネットワークに関し、特にイーサネットインタフェースモジュールに関する。
【背景技術】
【０００２】
イーサネット（登録商標）は幅広い製品で使用されている。しかしながら、イーサネットでは、単純なデバイスであっても相当量のハードウェアとソフトウェアを実装する必要がある。
【０００３】
典型的なイーサネットデバイスでは、機能が非常に単純なものであっても（デバイスの実際の機能に加えて）イーサネット通信を提供するために次のコンポーネントを必要とする。
【０００４】
１．イーサネット物理アクセス層（ＰＨＹ）と、それに関連する磁気部品、コネクタ、および他のハードウェア；
２．デバイスとＰＨＹとの間でパケットをデジタル形式で通信するためのイーサネット媒体アクセス制御（ＭＡＣ）；
３．受信パケットをそれらが評価され利用されている間において格納し、送信用の発信パケットを格納するためのパケットメモリ；
４．イーサネットを介して通信されるプロトコルの範囲を評価するためのマイクロプロセッサおよびソフトウェアであって、実装時に評価されるプロトコルには、以下のうちのいずれかとともに、他の種々のプロトコルが含まれ得る；
ＡＲＰ（アドレス解決プロトコル）
ＩＣＭＰ（インターネット制御メッセージプロトコル）
ＵＤＰ（ユーザデータグラムプロトコル）
ＴＣＰ（伝送制御プロトコル）
ＤＨＣＰ（動的ホスト構成プロトコル）
ＢＯＯＴＰ（ブートストラッププロトコル）
５．各デバイス用の一般的なスイッチのポートまたは個々のデバイスにおけるリソースを切り替えるポートを備える各デバイスのイーサネット切り替え装置。イーサネット切り替え装置は、追加のメモリおよびハードウェアロジックリソースとともに、スイッチ管理のための追加のソフトウェア／プロトコルの要件を必要とする。
【０００５】
上記のコンポーネントは、イーサネットデバイスの実際の機能に必要なコンポーネントに追加される。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
イーサネット（登録商標）の単純なデバイスでさえ相当量のハードウェアおよびソフトウェアを実装に必要とすることは、特定クラスのアプリケーションに対してイーサネットのコストを高くするものとなる。
【０００７】
したがって、より少ないコンポーネントの数を必要とし、複雑でなく、より低コストのイーサネットインタフェースまたはノードを提供することが高く望まれている。
【課題を解決するための手段】
【０００８】
本発明の原理によれば、非常に低コストのイーサネットインタフェースが提供され、高いレベルのデバイスに対するより複雑な機能および製品の差別化を図る。
イーサネットインタフェースの実施形態は、ＰＨＹおよびＭＡＣブロックを利用するが、パケットメモリ、プロトコル評価ソフトウェア、およびデバイス毎の切り替えリソースを必要としない。
【０００９】
イーサネットネットワーク構成にデバイスを接続するように構成されたイーサネットインタフェースモジュールの実施形態は、第１のＰＨＹおよび第１のＭＡＣを備える第１の全二重ポートと、第２のＰＨＹおよび第２のＭＡＣを備える第２の全二重ポートとを備える。第１の全二重ポートおよび第２の二重ポートは各々、ネットワークとデバイスとの間でフレームを転送するように動作可能である。各フレームは、宛先アドレスフィールドと送信元アドレスフィールドとコマンドフィールドとを含む。イーサネットインタフェースモジュールはさらに、第１の全二重ポートと第２の全二重ポートとを接続する第１の経路と、第２の全二重ポートと第１の全二重ポートとを接続する第２の経路と、第１の経路に配置された第１のキューと、第２の経路に配置された第２のキューと、第１のキューおよび第２のキューに接続された評価装置とを含む。評価装置は、第１の全二重ポートまたは第２の全二重ポートからの受信フレームで受信した受信宛先アドレスから、受信フレームがデバイスにアドレス指定されているかどうかを判定する。評価装置は、可変コマンドに関連するコマンド識別子を備え、評価装置は、受信フレームがデバイスで利用されるべきものであると判定した後に、コマンドフィールドでコマンド識別子を受信すると、デバイスに適用する可変コマンドを識別するように動作する。
【００１０】
評価装置は、コマンド識別子を格納するメモリを備え、このメモリは、ランダムアクセスメモリとすることができる。
評価装置は、アドレスがイーサネットインタフェースモジュールに関連付けられていない場合には、第１の全二重ポートおよび第２の全二重ポートのうち受信フレームを受信した一方のポートから他方のポートに受信フレームを転送するように動作可能である。
【００１１】
イーサネットインタフェースモジュールは、それに関連付けられた１つまたは複数の宛先アドレスを有し、評価装置は、受信した宛先アドレスがイーサネットインタフェースモジュールと関連していない場合には、受信フレームを第１の全二重ポートおよび第２の全二重ポートのうちの一方から他方に転送し送信するように動作可能である。
【００１２】
第１のキューは、第１の全二重ポートで受信した第１の所定バイト数の受信フレームを格納するように動作可能であり、第２のキューは、第２の全二重ポートで受信した第２の所定バイト数の受信フレームを格納するように動作可能である。
【００１３】
第１のキューおよび第２のキューは、第１の全二重ポートおよび第２の全二重ポートのうちの１つで受信フレームが受信されると同時に、受信フレームが第１のキューおよび第２のキューのうちの一方を通過して他方に送信フレームとして供給されるように動作する。
【００１４】
評価装置は、デバイスのユニキャストアドレスと、デバイスがサポートする１つまたは複数のマルチキャストアドレスとを含み得る。
イーサネットインタフェースモジュールはさらにリード／ライト装置を備える。リード／ライト装置は、受信フレームの宛先アドレスフィールドにユニキャストアドレスが含まれると評価装置が判定した場合には、送信フレーム内の宛先アドレスに代えて、１つまたは複数のマルチキャストアドレスのうちの所定の１つを宛先フィールドに挿入するように動作可能である。
【００１５】
評価装置はさらに、アドレスがイーサネットインタフェースモジュールに関連付けられていない場合は、第１の全二重ポートおよび第２の全二重ポートのうち、受信フレームを受信した一方の全二重ポートから他方の全二重ポートに、その受信フレームを転送するように動作可能である。
【００１６】
イーサネットインタフェースモジュールは、それに関連付けられた所定のイーサタイプ（Ethertype）を備え得る。評価装置は、受信フレームのイーサタイプフィールド内の受信したイーサタイプが所定のイーサタイプと一致するかどうかを判定するように動作可能である。
【００１７】
評価装置は、受信したイーサタイプが所定のイーサタイプと一致すると判定した後に、フレームコマンドフィールドがデバイスに適用する受信コマンドを含むかどうかを判定する。
【００１８】
イーサネットインタフェースモジュールはさらに、デバイスに接続されたデバイスインタフェースとデータメモリとを含む。データメモリおよび評価装置は、デバイスに適用する受信コマンドに応答して協働して動作することにより、受信フレームが第１または第２のキューを通過するときに受信フレームから受信データを抽出したり、受信データに代えて送信データを受信フレーム内に挿入したりする。
【００１９】
評価装置は、宛先アドレスがイーサネットインタフェースモジュールに関連するものでない場合には、受信フレームを第１の全二重ポートおよび第２の全二重ポートのうちの他方に転送して送信するように動作可能である。
【００２０】
評価装置は、受信したイーサタイプがデバイスのイーサタイプに対応すると判定した後に、そのデバイスに適用される受信コマンドがコマンドフィールドに含まれるかどうかを判定する。デバイスに適用される受信コマンドがコマンドフィールドに含まれない場合、受信コマンドに含まれるイーサネットインタフェースモジュールのデータが受信フレームから抽出されるか、または送信フレーム内に挿入される。送信パケットは、受信パケットと同じ長さでイーサネットインタフェースモジュールによって維持される。
【００２１】
受信コマンドがデバイスに適用されないと評価装置が判定した場合には、受信フレームは、イーサネットインタフェースモジュールから送信フレームとして送信される。
イーサネットインタフェースモジュールは、デバイスに対するインタフェースと、デバイスと第１のキューと第２のキューとの間で交換されるデータを格納する格納装置と、リード／ライト装置とを備える。リード／ライト装置は、受信フレームがイーサネットインタフェースモジュールを通過する際に、受信フレームからデータを抽出したり、受信フレーム内にデータを挿入したりするように動作する。
【００２２】
評価装置は、受信フレームに対して実行する動作を決定する。この動作は、受信フレームの宛先アドレスフィールド内の宛先アドレス、受信フレームのイーサタイプフィールド内のイーサタイプ、および受信フレームのコマンドフィールド内のコマンド識別子のうちの１つまたは複数に基づいて決定される。
【００２３】
イーサネットインタフェースモジュールは、イーサネットネットワーク装置にデバイスを接続するように構成し得る。イーサネットインタフェースモジュールは、第１のＰＨＹと第１のＭＡＣとを備える第１の全二重ポートと、第２のＰＨＹと第２のＭＡＣとを備える第２の全二重ポートとを備える。第１の全二重ポートおよび第２の全二重ポートはそれぞれ、ネットワークとデバイスとの間でパケットデータのフレームを転送するように動作可能である。各フレームは、宛先アドレスフィールドと、送信元アドレスフィールドと、コマンドフィールドとを含む。イーサネットインタフェースモジュールは、第１の全二重ポートと第２の全二重ポートとを接続する第１の経路と、第２の全二重ポートと第１の全二重ポートとを接続する第２の経路と、第１の経路に配置され、所定バイト数のフレームを格納するように選択される第１のキューと、第２の経路に配置され、所定バイト数のフレームを格納するように選択される第２のキューと、第１のキューおよび第２のキューに接続され、第１の全二重ポートまたは第２の全二重ポートで受信した受信フレームの宛先アドレスからその受信フレームがデバイスにアドレス指定されているかどうかを判定するように動作可能な評価装置とを備える。第１のキューは、第１の全二重ポートで受信した各受信フレームを第２の全二重ポートに転送することにより、所定の一定の遅延時間で遅延された送信フレームを提供するように動作可能である。第２のキューは、第２の全二重ポートで受信した各受信フレームを第１の全二重ポートに転送することにより、所定の一定の遅延時間で遅延された送信フレームを提供するように動作可能である。評価装置は、可変コマンドに関連付けられたコマンド識別子を含む。評価装置は、受信フレームがデバイスで利用されるべきものであると判定した後に、コマンドフィールドでコマンド識別子を受信すると、デバイスに適用する可変コマンドを識別するように動作する。
【００２４】
所定の一定の遅延時間は、所定バイト数によって決定されてもよい。
イーサネットインタフェースモジュールは、リード／ライト装置を含む。リード／ライト装置は、第１の全二重ポートおよび第２の全二重ポートのうちの一方で受信された受信フレームを他方に供給するときに、その受信フレーム内の第１の所定のパケットデータを第２の所定のパケットデータに置き換えるように動作可能である。
【００２５】
また、イーサネットインタフェースモジュールは、デバイスに接続されたインタフェースを備え得る。リード／ライト装置は、第１のキューおよび第２のキューとともに、インタフェースに接続される。リード／ライト装置は、第１のキューまたは第２のキューから受信フレームデータを抽出し、その抽出した受信フレームデータをデバイスからのデータで置き換えるように動作する。
【００２６】
イーサネットインタフェースモジュールはさらに、データメモリを備え得る。データメモリ、評価装置、およびリード／ライト装置は、デバイスに適用される受信コマンドに応答して協働して動作することにより、受信フレームが第１のキューまたは第２のキューを通過するときに、その受信フレームから受信フレームデータを抽出し、その受信データに代えて送信データを受信フレーム内に挿入する。
【００２７】
イーサネットインタフェースモジュールは、イーサネットネットワーク構成にデバイスを接続するように構成される。イーサネットインタフェースモジュールは、第１のＰＨＹおよび第１のＭＡＣを備える第１の全二重ポートと、第２のＰＨＹおよび第２のＭＡＣを備える第２の全二重ポートと、第１の全二重ポートと第２の全二重ポートとを接続する第１の経路と、第２の全二重ポートと第１の全二重ポートとを接続する第２の経路と、第１の経路に配置された第１のキューと、第２の経路に配置された第２のキューとを備える。第１の全二重ポートおよび第２の全二重ポートはそれぞれ、ネットワークとデバイスとの間でフレームを転送するように動作可能である。各フレームは、宛先アドレスフィールドとコマンドフィールドとを備える。イーサネットインタフェースモジュールはさらに、第１のキューおよび第２のキューに接続された評価装置を備える。この評価装置は、第１の全二重ポートまたは第２の全二重ポートで受信した受信フレームの受信宛先アドレスからその受信フレームがデバイスにアドレス指定されているかどうかを判定する。また、評価装置は、可変コマンドに関連付けられたコマンド識別子を含み、受信フレームがデバイスで利用されるべきものであると判定した後に、コマンドフィールドでコマンド識別子を受信すると、デバイスに適用する可変コマンドを識別するように動作する。
【００２８】
イーサネットネットワーク構成にデバイスを接続するように構成されたイーサネットインタフェースモジュールは、第１のＰＨＹおよび第１のＭＡＣを備える第１の全二重ポートと、第２のＰＨＹおよび第２のＭＡＣを備える第２の全二重ポートとを備える。第１の全二重ポートは、第１の受信部と第１の送信部とを備える。第２の二重ポートは、第２の受信部と第２の送信部とを備える。第１の全二重ポートおよび第２の二重ポートはそれぞれ、ネットワークとデバイスとの間でパケットフレームを転送するように動作可能である。各フレームは、宛先アドレスフィールドとコマンドフィールドとを備える。イーサネットインタフェースモジュールはさらに、第１の全二重ポートと第２の全二重ポートとを接続する第１の経路と、第２の全二重ポートと第１の全二重ポートとを接続する第２の経路と、第１の経路に配置される第１のキューと、第２の経路に配置される第２のキューと、第１の受信部と第１の送信部とを接続し第１のキューの少なくとも一部を備える第３の経路と、第２の受信部と第２の送信部とを接続し第２のキューの少なくとも一部を備える第４の経路と、第１のキューおよび第２のキューに接続された評価装置とを備える。評価装置は、第１の全二重ポートまたは第２の全二重ポートで受信した受信フレームの受信宛先アドレスからその受信フレームがデバイスにアドレス指定されているかどうかを判定するように動作可能である。評価装置は、可変コマンドに関連付けられたコマンド識別子を備え、受信フレームがデバイスで利用されるべきものであると判定した後に、コマンドフィールドでコマンド識別子を受信すると、デバイスに適用される可変コマンドを識別するように動作する。イーサネットインタフェースモジュールは、イーサネットフィールドノードとして第１のモードで動作可能であるとともに、イーサネットエンドモードとして第２のモードで動作可能である。イーサネットインタフェースモジュールは、第１のモードにあるときには、第１の全二重ポートおよび第２の全二重ポートのうちの一方で受信フレームを受信してその受信フレームを第１の全二重ポートおよび第２の全二重ポートのうちの他方で送信するように動作可能であり、第２のモードにあるときには、第１の全二重ポートおよび第２の全二重ポートのうちの一方で受信フレームを受信してその受信フレームを同じポートで送信するように動作可能である。
【００２９】
評価装置は、コマンド識別子を格納するメモリを備え得る。メモリは、ランダムアクセスメモリとすることができる。
評価装置は、第１のモードにおいて、受信フレームに含まれている受信宛先アドレスがイーサネットインタフェースモジュールに関連付けられていない場合には、第１の全二重ポートおよび第２の全二重ポートのうち受信フレームを受信した一方のポートから他方のポートに対してその受信フレームを転送するように動作可能である。
【００３０】
デバイスは、それに関連付けられた１つまたは複数の宛先アドレスを有することができる。
評価装置は、第１のモードにおいて、受信宛先アドレスがイーサネットインタフェースモジュールに関連付けられていない場合には、受信フレームを第１の全二重ポートおよび第２の全二重ポートのうちの他方に転送して他方から送信するように動作可能である。
【００３１】
第１のキューは、第１の全二重ポートで受信した第１の所定バイト数の受信フレームを格納するように動作可能であり、第２のキューは、第２の全二重ポートで受信した第２の所定バイト数の受信フレームを格納するように動作可能である。
【００３２】
第１のキューおよび第２のキューは、第１のモードにおいて、第１の全二重ポートおよび第２の全二重ポートのうちの一方で受信フレームが受信されると同時に、その受信フレームがその一方のポートを通過して他方のポートに送信フレームとして供給されるように動作する。
【００３３】
評価装置は、デバイスのユニキャストアドレスと、デバイスがサポートする１つまたは複数のマルチキャストアドレスとを備え得る。
イーサネットインタフェースモジュールはさらに、評価装置が受信フレームの宛先アドレスフィールドにユニキャストアドレスが含まれていると判定した場合に、送信フレーム内の宛先アドレスに代えて、１つまたは複数のマルチキャストアドレスのうちの所定の１つを宛先フィールドに挿入するように動作可能なリード／ライト装置を備える。
【００３４】
評価装置は、第１のモードにおいて、アドレスがイーサネットインタフェースモジュールに関連付けられていない場合には、第１の全二重ポートおよび第２の全二重ポートのうち受信フレームを受信した一方のポートから他方のポートにその受信フレームを転送するように動作可能である。
【００３５】
イーサネットインタフェースモジュールは、それに関連付けられた所定のイーサタイプを備える。評価装置は、受信フレームのイーサタイプフィールド内の受信したイーサタイプが所定のイーサタイプと一致するかどうかを判定するように動作可能である。そして、評価装置は、受信したイーサタイプが所定のイーサタイプと一致すると判定した後に、フレームコマンドフィールドがデバイスに適用する受信コマンドを含むかどうかを判定する。
【００３６】
イーサネットインタフェースモジュールはさらに、デバイスに接続されたデバイスインタフェースと、データメモリとを備え得る。データメモリおよび評価装置は、デバイスに適用される受信コマンドに応答して協働して動作することにより、受信フレームがイーサネットインタフェースモジュールを通過するときに受信フレームから受信データを抽出したり、受信データに代えて送信データを送信フレーム内に挿入したりする。送信パケットは、イーサネットインタフェースモジュールによって受信パケットと同じ長さに維持される。
【００３７】
受信コマンドがデバイスに適用されないと評価装置によって判定された場合には、受信フレームはイーサネットインタフェースモジュールから送信フレームとして送信される。
イーサネットインタフェースモジュールは、デバイスに対するインタフェースと、デバイスと第１のキューと第２のキューとの間で交換されるデータを格納する格納装置と、リード／ライト装置とを備え得る。リード／ライト装置は、受信フレームがイーサネットインタフェースモジュールを通過する際に、受信フレームからデータを抽出したり、受信フレーム内にデータを挿入したりするように動作する。
【００３８】
イーサネットインタフェースモジュールは、イーサネットネットワーク構成にデバイスを接続するように構成されている。イーサネットインタフェースモジュールは、第１のＰＨＹおよび第１のＭＡＣを備える第１の全二重ポートと、第２のＰＨＹおよび第２のＭＡＣを備える第２の全二重ポートと、第１の全二重ポートと第２の全二重ポートとを接続する第１の経路と、第２の全二重ポートと第１の全二重ポートとを接続する第２の経路と、第１の経路に配置されて所定バイト数のフレームを格納するように選択される第１のキューと、第２の経路に配置されて所定バイト数のフレームを格納するように選択される第２のキューと、第１のキューおよび第２のキューに接続された評価装置とを備える。第１の全二重ポートおよび第２の二重ポートはそれぞれ、ネットワークとデバイスとの間でパケットデータのフレームを転送するように動作可能である。各フレームは、宛先アドレスフィールドと送信元アドレスフィールドとコマンドフィールドとを備える。評価装置は、第１の全二重ポートまたは第２の全二重ポートで受信した受信フレームの受信宛先アドレスからその受信フレームがデバイスにアドレス指定されているかどうかを判定するように動作可能である。第１のキューは、第１の全二重ポートで受信した各受信フレームを第２の全二重ポートに転送することにより、所定の一定の遅延時間で遅延された送信フレームを供給するように動作可能である。第２のキューは、第２の全二重ポートで受信した各受信フレームを第１の全二重ポートに転送することにより、所定の一定の遅延時間で遅延された送信フレームを供給するように動作可能である。評価装置は、可変コマンドに関連付けられたコマンド識別子を含み、受信フレームがデバイスで利用されるべきものであると判定した後に、コマンドフィールドでコマンド識別子を受信すると、デバイスに適用する可変コマンドを識別するように動作する。イーサネットインタフェースモジュールは、イーサネットフィールドノードとして第１のモードで動作可能であるとともに、イーサネットエンドモードとして第２のモードで動作可能である。イーサネットインタフェースモジュールは、第１のモードにあるとき、第１の全二重ポートおよび第２の全二重ポートのうちの一方で受信フレームを受信してその受信フレームを第１の全二重ポートおよび第２の全二重ポートのうちの他方で送信するように動作可能である。イーサネットインタフェースモジュールは、第２のモードにあるとき、第１の全二重ポートおよび第２の全二重ポートのうちの一方で受信フレームを受信してその受信フレームを受信ポートと同じポートで送信するように動作可能である。
【００３９】
イーサネットインタフェースモジュールは、イーサネットネットワーク装置にデバイスを接続するように構成されている。イーサネットインタフェースモジュールは、第１のＰＨＹおよび第１のＭＡＣを備える第１の全二重ポートを備える。第１の全二重ポートは、受信部と送信部とを備え、ネットワークとデバイス間でパケットフレームを転送するように動作可能である。各フレームは、宛先アドレスフィールドとコマンドフィールドとを備える。イーサネットインタフェースモジュールはさらに、第１の全二重ポートの送信部に第１の全二重ポートの受信部を接続する第１の経路と、第１の経路に配置されるキューと、キューに接続された評価装置とを備え、評価装置は、受信部で受信した受信フレーム内の受信宛先アドレスからその受信フレームがデバイスにアドレス指定されているかどうかを判定する。評価装置は、可変コマンドに関連付けられたコマンド識別子を含み、受信フレームがデバイスで利用されるべきものであると判定した後に、コマンドフィールドでコマンド識別子を受信すると、デバイスに適用する可変コマンドを識別するように動作する。
【００４０】
イーサネットインタフェースモジュールは、コマンド識別子を格納する第１のメモリを備える。第１のメモリは、ランダムアクセスメモリからなる。
評価装置は、受信フレームを受信部から送信部に転送するように動作可能である。受信フレームがイーサネットインタフェースモジュールに関連付けられていない場合は、受信フレームは変更されることなく受信部から送信部に転送される。
【００４１】
キューは、第１の所定バイト数の受信フレームを格納するように動作可能である。キューは、受信フレームが受信部を介して受信されると同時に、その受信フレームがキューを通過して送信フレームとして送信部に供給されるように動作する。
【００４２】
評価装置は、デバイスのユニキャストアドレスと、デバイスがサポートする１つまたは複数のマルチキャストアドレスとを含む。イーサネットインタフェースモジュールはさらに、評価装置が受信フレームの宛先アドレスフィールドにユニキャストアドレスが含まれていると判定した場合に、受信フレーム内の宛先アドレスに代えて、１つまたは複数のマルチキャストアドレスのうちの所定の１つを送信フレームの宛先フィールドに挿入するように動作可能なリード／ライト装置を備える。評価装置は、宛先アドレスがイーサネットインタフェースモジュールに関連付けられていない場合、受信フレームを受信部から送信部に転送するように動作可能である。イーサネットインタフェースモジュールは、それに関連付けられた所定のイーサタイプを備えており、受信フレームのイーサタイプフィールド内の受信したイーサタイプが所定のイーサタイプと一致するかどうかを判定するように動作可能である。評価装置は、受信したイーサタイプが所定のイーサタイプと一致すると判定した後に、フレームのコマンドフィールドがデバイスに適用される受信コマンドを含むかどうかを判定するように動作可能である。
【００４３】
評価装置は、受信したイーサタイプがデバイスイーサタイプに対応すると判定した後、コマンドフィールドがデバイスに適用される受信コマンドを含むかどうかを判定するように動作可能である。コマンドフィールドがデバイスに適用される受信コマンドを含む場合は、イーサネットインタフェースモジュールのデータが受信フレームから抽出されるか、または送信フレームに挿入される。受信コマンドがデバイスに適用されないと評価装置が判定した場合には、受信フレームは送信フレームとして送信される。受信したイーサタイプがデバイスイーサタイプに対応しないと評価装置が判定した場合は、受信フレームは、イーサネットインタフェースモジュールから送信フレームとして送信される。
【００４４】
イーサネットインタフェースモジュールはさらに、デバイスに接続されたデバイスインタフェースと、データメモリとを備え得る。データメモリおよび評価装置は、デバイスに適用される受信コマンドに応答して協働して動作することにより、受信フレームがキューを通過するときに受信フレームから受信データを抽出したり、受信データに代えて送信データを受信フレーム内に挿入したりする。送信パケットは、イーサネットインタフェースモジュールによって受信パケットと同じ長さに維持される。
【００４５】
イーサネットインタフェースモジュールはさらに、デバイスに対するインタフェースと、デバイスと第１のキューと第２のキューとの間で交換されるデータを格納する格納装置と、リード／ライト装置とを備え得る。リード／ライト装置は、受信フレームがキューを通過するときに受信フレームからデータを抽出するか、または受信フレームにデータを挿入するように動作する。
【００４６】
評価装置は、受信フレームに対して実行する動作を決定する。この動作は、受信フレームの宛先アドレスフィールド内の宛先アドレス、受信フレームのイーサタイプフィールド内のイーサタイプ、および受信フレームのコマンドフィールド内のコマンド識別子のうちの１つまたは複数に基づいて決定される。
【００４７】
キューは、各受信フレームを受信部から送信部に転送することにより所定の一定の遅延時間で遅延された送信フレームを供給するように動作可能である。キューは、所定バイト数の受信フレームを格納するように選択される。所定の一定の遅延時間は、所定バイト数によって決定される。
【００４８】
イーサネットネットワークにデバイスを接続するように構成されたイーサネットインタフェースモジュールは、受信部および送信部を備える第１の全二重ポートであって、イーサネットネットワークとデバイスとの間でフレームを転送するように動作可能な第１の全二重ポートと、第２の受信部および第２の送信部を備える第２の全二重ポートであって、イーサネットネットワークとデバイスとの間でフレームを転送するように動作可能な第２の全二重ポートと、第１の全二重ポートと第２の全二重ポートとを接続する第１の経路と、第２の全二重ポートと第１の全二重ポートとを接続する第２の経路と、第１の経路に配置された第１のキューと、第２の経路に配置された第２のキューと、第１の受信部と第１の送信部とを接続する第３の経路であって、第１のキューの少なくとも一部を備える第３の経路と、第２の受信部と第２の送信部とを接続する第４の経路であって、第２のキューの少なくとも一部を備える第４の経路と、第１のキューおよび第２のキューに接続された評価装置とを備える。評価装置は、第１の全二重ポートまたは第２の全二重ポートで受信した受信フレームの受信宛先アドレスからその受信フレームがデバイスにアドレス指定されているかどうかを判定するように動作可能である。各受信フレームは、送信元アドレスを含む送信元アドレスフィールドと、宛先アドレスを含む宛先アドレスフィールドと、フレームタイプを識別するためのフレームタイプフィールドと、コマンドをデバイスに供給するために利用されるコマンドフィールドとを備える。評価装置は、受信フレームがデバイスにアドレス指定されているかどうかを判定するとともに、フレームタイプフィールドがフレームタイプを含むかどうかを判定する。
【００４９】
各フレームタイプは、フレームが所定のフィールドを含むか否かを識別するために使用される。所定のフィールドは、シーケンス識別フィールドおよびリターンアドレスフィールドのうちの一方または双方を備える。フレームタイプフィールドに含まれる各フレームタイプは、第１の状態に設定された第１の所定ビットを備え、コマンドフィールドに含まれる各コマンドは、第２の状態に設定された第１の所定ビットを備え、第１の状態および第２の状態は、フレームタイプフィールドとコマンドフィールドとを区別するべく異なるものに選択される。
【００５０】
各イーサネットインタフェースモジュールは、イーサネットインタフェースモジュールを識別する宛先アドレスを備える。各受信フレームは、宛先アドレスを含む宛先アドレスフィールドと、そのフレームの送信元を示す送信元アドレスを含む送信元アドレスフィールドとを備える。イーサネットインタフェースモジュールは、受信フレームのフィールドを修正しつつ、送信元アドレスを変更することなくリターンフレームを生成するようにデバイスで動作可能である。
【００５１】
イーサネットインタフェースモジュールは、受信フレームのフィールドを修正して、修正されたリターンフレームを生成し、そのモジュールのアドレスをリターンフレームの送信元アドレスフィールドに挿入して、リターンアドレスを利用してリターンフレームの宛先を識別するようにデバイスで動作可能である。
【００５２】
イーサネットインタフェースモジュールは、イーサネットインタフェースモジュールを識別する宛先アドレスと、リターンアドレスとを備え得る。各受信フレームは、宛先アドレスを含む宛先アドレスフィールドと、そのフレームの送信元を示す送信元アドレスを含むリターンアドレスフィールドとを備える。イーサネットインタフェースモジュールは、受信フレームのフィールドを修正して、修正されたリターンフレームを生成し、そのモジュールのアドレスをリターンフレームの送信元アドレスフィールドに挿入して、リターンアドレスを利用してリターンフレームの宛先を識別するようにデバイスで動作可能である。リターンアドレスは、リターンフレームの宛先アドレスフィールドに挿入される。
【００５３】
各受信フレームは、シーケンス識別子を含むシーケンス識別フィールドを備える。一連の受信フレームのシーケンス識別子は互いに所定の関係を有する。イーサネットインタフェースモジュールは、シーケンス識別子を利用して、受信フレームが先の受信フレームと所定の関係を有しているか否かを判定する。イーサネットインタフェースモジュールは、受信フレームのシーケンス識別子が所定の関係を有していないと判定した場合にその受信フレームに対する所定の動作を実行する。所定の動作は、受信フレームの廃棄を含み得る。また、所定の動作は、受信フレームが廃棄されたことを受信フレームの送信元に通知することを含み得る。
【００５４】
イーサネットネットワークは、受信フレームを送るマスタを備える。コマンドフィールドは、関連するコマンドデータを備える１つまたは複数の関連するデータフィールドを有する。イーサネットインタフェースモジュールは、それに関連付けられた固有の識別キーを備え、この固有の識別キーはマスタに設けられている。
【００５５】
受信フレームは、シーケンス識別フィールドとセキュリティフィールドとを備える。シーケンス識別フィールドはシーケンス識別子を備え、セキュリティフィールドは、１つまたは複数の関連するデータフィールドのうちの１つに含まれている第１のデータの暗号化ハッシュ値を備える。暗号化ハッシュ値は、固有の識別キーを利用して、マスタによって、シーケンス識別子および第１のデータに対して演算される。
【００５６】
受信フレームは、第２のシーケンス識別フィールドと第２のセキュリティフィールドとを備える。第２のシーケンス識別フィールドは第２のシーケンス識別子を備える。第２のセキュリティフィールドは、１つまたは複数の関連するデータフィールドのうちの第２のデータフィールドに含まれている第２のデータの第２の暗号化ハッシュ値を備える。第２の暗号化ハッシュ値は、固有の識別キーを利用して、マスタによって、第２のシーケンス識別子および第２のデータに対して演算される。
【００５７】
イーサネットインタフェースモジュールはさらに、第１データレジスタと、第２のデータレジスタと、受信フレームについて第１のデータを第１の暗号化ハッシュ値を用いてチェックするとともに第２のデータを第２の暗号化ハッシュ値を用いてチェックするように動作する装置とを備え得る。この装置は、第１の暗号化ハッシュ値によって第１のデータの完全性が確認される場合に第１のデータを第１のデータレジスタに格納し、第２の暗号化ハッシュ値によって第２のデータの完全性が確認される場合に第２のデータを第２のデータレジスタに格納する。また、装置は、第１の格納データと第２の格納データとを比較する。第１の格納データと第２の格納データとが一致する場合に、第１の格納データと第２の格納データとのうちの少なくとも一方がデバイスに出力される。イーサネットインタフェースモジュールは、第１の格納データと第２の格納データとが一致しない場合に受信フレームを廃棄する。
【００５８】
イーサネットインタフェースモジュールは、受信フレームのフィールドを修正してリターンフレームを生成し、イーサネットネットワークを介してリターンフレームを送信するようにデバイスで動作可能である。リターンフレームは、第１のリターンシーケンス識別子を含む第１のリターンシーケンス識別フィールドと、イーサネットネットワークを介して送信される第１のリターンデータを含む第１のリターンデータフィールドと、第１のリターンセキュリティフィールドとを備える。また、リターンフレームは、第２のリターンシーケンス識別子を含む第２のリターンシーケンス識別フィールドと、イーサネットネットワークを介して送信される第２のリターンデータを含む第２のリターンデータフィールドと、第２のリターンセキュリティフィールドとを備える。第１のリターンセキュリティフィールドは、固有の識別キーを利用して、第１のリターンシーケンス識別子および第１のリターンデータに対して演算された第１の暗号化ハッシュ値を備える。第２のリターンセキュリティフィールドは、固有の識別キーを利用して、第２のリターンシーケンス識別子および第２のリターンデータに対して演算された第２の暗号化ハッシュ値を備える。
【００５９】
第１のリターンシーケンス識別子は、シーケンス識別子と、生成されたシーケンス識別子のうちの一方を備え得る。第２のリターンシーケンス識別子は、シーケンス識別子と、生成された第２のシーケンス識別子とのうちの一方を備え得る。
【００６０】
イーサネットインタフェースモジュールは、第１のシーケンス識別子および第２のシーケンス識別子の各々が利用される回数をカウントして第１のカウント値と第２のカウント値を生成するカウンタと、第１のリターンシーケンス識別子および第２のリターンシーケンス識別子を、それぞれ第１のカウント値と第２のカウント値に基づいて修正する第２の装置とを備え得る。
【００６１】
別の実施形態では、イーサネットインタフェースモジュールは、第１のデータレジスタと、第２のデータレジスタと、受信フレームについて第１のデータを第１の暗号化ハッシュ値を用いてチェックするように動作する装置とを備える。装置は、第１の暗号化ハッシュ値によって第１のデータの完全性が確認される場合に第１のデータを第１のデータレジスタに格納する。
【００６２】
マスタは、第２の受信フレームを送る。この第２の受信フレームは、第２のシーケンス識別子と、第２のデータと、第２のシーケンス識別子および第２のデータに対して演算された第２の暗号化ハッシュ値とを含む。上記装置は、第２の受信フレームについて第２のデータを第２の暗号化ハッシュ値を用いてチェックし、第２の暗号化ハッシュ値によって第２のデータの完全性が確認される場合に第２のデータを第２のデータレジスタに格納する。また、上記装置は、第１の格納データと第２の格納データとを比較する。そして、第１の格納データと第２の格納データとが一致する場合に、第１の格納データと第２の格納データとのうちの少なくとも一方がデバイスに出力される。イーサネットインタフェースモジュールは、第１の格納データと第２の格納データが一致しない場合は、受信フレームと第２の受信フレームを廃棄する。
【００６３】
イーサネットインタフェースモジュールは、受信フレームのフィールドを修正して受信フレームを修正することでリターンフレームを生成し、イーサネットネットワークを介してリターンフレームを送信するようにデバイスで動作可能である。リターンフレームは、第１のリターンシーケンス識別子を含む第１のリターンシーケンス識別フィールドと、イーサネットネットワークを介して送信される第１のリターンデータを含む第１のリターンデータフィールドと、第１のリターンセキュリティフィールドとを備える。また、リターンフレームは、第２のリターンシーケンス識別子を含む第２のリターンシーケンス識別フィールドと、イーサネットネットワークを介して送信される第２のリターンデータを含む第２のリターンデータフィールドと、第２のリターンセキュリティフィールドとを備える。第１のリターンセキュリティフィールドは、固有の識別キーを利用して、第１のリターンシーケンス識別子および第１のリターンデータに対して演算された第１の暗号化ハッシュ値を含む。第２のリターンセキュリティフィールドは、固有の識別キーを利用して、第２のリターンシーケンス識別子および第２のリターンデータに対して演算された第２の暗号化ハッシュ値を含む。
【００６４】
第１のリターンシーケンス識別子は、シーケンス識別子と、生成されたシーケンス識別子とのうちの一方を含み、第２のリターンシーケンス識別子は、シーケンス識別子と、生成された第２のシーケンス識別子とのうちの一方を含む。
【００６５】
イーサネットインタフェースモジュールはさらに、カウンタを備え得る。カウンタは、第１のシーケンス識別子および第２のシーケンス識別子の各々が利用される回数をカウントして第１のカウント値と第２のカウント値をそれぞれ生成する。上記第２の装置は、第１のリターンシーケンス識別子と第２のリターンシーケンス識別子を、それぞれ第１のカウント値と第２のカウント値に基づいて修正する。
【００６６】
イーサネットインタフェースモジュールは、受信フレームのフィールドを修正して受信フレームを修正することによりリターンフレームを生成し、イーサネットネットワークを介してリターンフレームを送信するようにデバイスで動作可能である。リターンフレームは、第１のリターンシーケンス識別子を含む第１のリターンシーケンス識別フィールドと、第１のリターンデータを含む第１のリターンデータフィールドと、第１のリターンセキュリティフィールドとを備える。イーサネットインタフェースモジュールは、第２の受信フレームのフィールドを修正して第２の受信フレームを修正することにより第２のリターンフレームを生成し、イーサネットネットワークを介して第２のリターンフレームを送信するようにデバイスで動作可能である。第２のリターンフレームは、第２のリターンシーケンス識別子を含む第２のリターンシーケンス識別フィールドと、第２のリターンデータを含む第２のリターンデータフィールドと、第２のリターンセキュリティフィールドとを備える。第１のリターンセキュリティフィールドは、固有の識別キーを利用して、リターンシーケンス識別子および第１のリターンデータに対して演算された第１の暗号化ハッシュ値を含む。第２のリターンセキュリティフィールドは、固有の識別キーを利用して、第２のリターンシーケンス識別子および第１のリターンデータに対して演算された第２の暗号化ハッシュ値を含む。第１のリターンシーケンス識別子は、シーケンス識別子と、生成されたシーケンス識別子とのうちの一方を含み、第２のリターンシーケンス識別子は、シーケンス識別子と、生成された第２のシーケンス識別子とのうちの一方を含む。
【００６７】
イーサネットネットワークにデバイスを接続するように構成されたイーサネットインタフェースモジュールを動作させる方法が提供される。イーサネットインタフェースモジュールは、受信部と送信部を備えた第１の全二重ポートであって、イーサネットネットワークとデバイスとの間でフレームを転送するように動作可能な第１の全二重ポートと、第２の受信部と第２の送信部を備えた第２の全二重ポートであって、イーサネットネットワークとデバイスとの間でフレームを転送するように動作可能な第２の全二重ポートと、固有の宛先アドレスと、第１の全二重ポートと第２の全二重ポートとを接続する第１の経路と、第２の全二重ポートと第１の全二重ポートとを接続する第２の経路と、第１の経路に配置された第１のキューと、第２の経路に配置された第２のキューと、第１の受信部と第１の送信部とを接続する第３の経路であって、第１のキューの少なくとも一部を含む第３の経路と、第２の受信部と第２の送信部とを接続する第４の経路であって、第２のキューの少なくとも一部を含む第４の経路と、第１のキューおよび第２のキューに接続された評価装置であって、第１の全二重ポートまたは第２の全二重ポートで受信した受信フレームの受信宛先アドレスからその受信フレームがデバイスにアドレス指定された固有の宛先アドレスを含むかどうかを判定する評価装置とを備える。各受信フレームは、送信元アドレスを含む送信元アドレスフィールドと、宛先アドレスを含む宛先アドレスフィールドと、フレームタイプを識別するためのフレームタイプフィールドと、コマンドを供給するために利用されるコマンドフィールドとを含む。評価装置は、受信フレームがデバイスにアドレス指定されているかどうかを判定するとともに、フレームタイプフィールドがフレームタイプを含むかどうかを判定する。
【００６８】
方法は、イーサネットインタフェースモジュールに対するコマンドを備えるフレームを受信することを備える。コマンドは、第１の全二重ポートおよび第２の全二重ポートのうちの一方を上流ポートとして定義し、他方を下流ポートとして定義する。フレームは、リフレクタイーサネットノードのリフレクタアドレスを提供する。コマンドは、イーサネットインタフェースモジュールをピンカプセル化モードにするように実行可能である。
【００６９】
方法はさらに、イーサネットインタフェースモジュールをピンカプセル化モードで動作させることにより、宛先フィールド内に固有のアドレスを含み上流ポートで受信した受信フレームを、下流ポートに転送することを備える。受信フレームの宛先アドレスフィールドが修正されることによって、リフレクタアドレスを含む修正フレームが提供され、受信フレームの送信元アドレスフィールドは、固有のアドレスと、フレームシーケンスフィールド内の新たな巡回冗長検査とを含むように修正される。方法はさらに、フレームチェックシーケンスフィールドを除いて受信フレームの残りの部分を変更せずに修正フレームを供給することを備える。
【００７０】
また、方法は、イーサネットインタフェースモジュールをピンカプセル化モードで動作させることにより、宛先フィールド内に固有のアドレスを含み下流ポートで受信した受信フレームの未変更部分を含む第２の修正フレームを、上流ポートに転送することを備え得る。フレームシーケンスフィールドは、下流ポート受信フレームの部分に対して演算された巡回冗長検査を含む。方法はさらに、フレームチェックシーケンスフィールドを除いて下流ポート受信フレームの残りの部分を変更せずに、修正した下流ポート受信フレームを供給することを備える。
【００７１】
方法は、ピンカプセル化層とフレームとを備えるピンカプセル化フレームを上流ポートで受信すること、下流ポートを介してリフレクタイーサネットノードにフレームを転送すること、ピンカプセル化層と応答フレームとを備える第２のピンカプセル化フレームをリフレクタイーサネットノードから下流ポートで受信すること、第２のピンカプセル化フレームからピンカプセル化層を除去し、上流ポートを介して応答フレームを転送することを備え得る。
【００７２】
イーサネットネットワークにデバイスを接続するように構成されたイーサネットインタフェースモジュールは、受信部と送信部を備える第１の全二重ポートであって、イーサネットネットワークとデバイスとの間でフレームを転送するように動作可能な第１の全二重ポートを備える。各受信フレームは、フレームタイプを識別するためのフレームタイプフィールドと、コマンドをデバイスに供給するために利用されるコマンドフィールドとを備える。イーサネットインタフェースモジュールはさらに、第１の全二重ポートの受信部を第１の全二重ポートの送信部に接続する第１の経路と、第１の経路に配置されたキューと、キューに接続された評価装置とを備える。評価装置は、受信フレームがイーサネットインタフェースモジュールにアドレス指定されているかどうかを判定するとともに、フレームタイプフィールドがフレームタイプを含むかどうかを判定する。フレームタイプは、フレームが所定のフィールドを含むか否かを識別するために使用される。所定のフィールドは、シーケンス識別フィールドおよびリターンアドレスフィールドのうちの一方または双方を含む。
【００７３】
フレームタイプフィールドに含まれるフレームタイプは、第１の状態に設定された第１の所定ビットを含み、コマンドフィールドに含まれる各コマンドは、第２の状態に設定された第１の所定ビットを含み、第１の状態と第２の状態は、フレームタイプフィールドとコマンドフィールドを区別するべく異なるものに選択される。
【００７４】
本発明は、添付の図面とともに以下の詳細な説明によってより理解される。
【図面の簡単な説明】
【００７５】
【図１Ａ】フレームを例示する図。
【図１Ｂ】フレームを例示する図。
【図１Ｃ】フレームを例示する図。
【図１Ｄ】フレームを例示する図。
【図１Ｅ】フレームを例示する図。
【図１Ｆ】フレームを例示する図。
【図１Ｇ】フレームを例示する図。
【図１Ｈ】フレームを例示する図。
【図１Ｊ】フレームを例示する図。
【図２】イーサネットインタフェースモジュールのブロック図。
【図３】フローチャートを示す図。
【図４】イーサネットインタフェースの一部分の詳細なブロック図。
【図５】イーサネットインタフェースの一部分の詳細なブロック図。
【図６】第１のネットワークトポロジーを例示する図。
【図７】第２のネットワークトポロジーを例示する図。
【図８】第３のネットワークトポロジーを例示する図。
【図９】種々の値のテーブルを示す図。
【図１０】コマンドを例示する図。
【図１１】第２のイーサネットインタフェースモジュールのブロック図。
【図１２】第１の構成における２ポート実施形態を例示する図。
【図１３】第２の構成における１ポート実施形態を例示する図。
【図１４】第３の構成における１ポート実施形態を例示する図。
【図１５】第４の構成における１ポート実施形態を例示する図。
【図１６】第１のトポロジーを例示する図。
【図１７】第２のトポロジーを例示する図。
【図１８】第３のトポロジーを例示する図。
【発明を実施するための形態】
【００７６】
イーサネット（登録商標）物理トランシーバはしばしば、物理層トランスミッタおよび／またはレシーバ、物理層トランシーバ、ＰＨＹトランシーバ、ＰＨＹシーバ、あるいは単にＰＨＹと呼ばれる。ＰＨＹは、一般的には、イーサネットデバイス上に存在する。その目的は、イーサネットリンクへのアナログ信号の物理アクセスを提供することにある。ＰＨＹチップは、イーサネットフレームのハードウェア送受信機能を具現化する。ＰＨＹは、一端で回線変調とインタフェースし、他端でバイナリパケットシグナリングとインタフェースする。ＰＨＹは、通常は、第２のチップとともに使用されるか、または上位層の媒体アクセス制御、すなわち、ＭＡＣ機能を担うマイクロコントローラとインタフェースされる。ＩＥＥＥ８０２．３−２００２セクション４．１．４は、ＭＡＣに必要な機能を規定している。
【００７７】
本明細書では、ＰＨＹおよびＭＡＣは、それぞれＰＨＹ機能およびＭＡＣ機能を提供するブロックを指す。
以下に説明するイーサネットインタフェースモジュールの種々の実施形態は、ＰＨＹおよびＭＡＣを含むが、パケットメモリ、プロトコル評価ソフトウェア、およびデバイス毎の切り替えリソースを含まないかまたは必要としない。イーサネットインタフェースモジュールの種々の実施形態は、対応するデバイスの全二重動作のみが許容されるという制約を含み、イーサネットインタフェースモジュールに関連する対応するデバイス上のすべてのポートは同じデータレートで動作するものとなる。
【００７８】
上記の制約により、イーサネットインタフェースモジュールの実施形態を利用するデバイスは、これらに限定されないが、ＰＲＯＦＩＮＥＴ、１５８８Ｖ２、ＡＶＢなどを含む非常に高性能な多くのイーサネット環境を含む任意の典型的なイーサネットネットワークで共存することができる。
【００７９】
種々のイーサネットインタフェースモジュールにおいては、全二重でなければならないことを除いて、イーサネット物理実装の仕様に制約はない。非限定的な例として、イーサネットの物理実装として、光ファイバや銅ケーブル、シールドケーブルや非シールド法、ケーブルを介した異なる信号技術、パワーオーバーイーサネット（Power-Over-Ethernet）などを使用することができる。
【００８０】
全二重動作は、一対のステーションまたはデバイス間の同時通信を可能にする。全二重動作では、各ステーションまたはデバイスは同時に送受信することができ、したがって、各イーサネットインタフェースは、パケットデータフレームを同時に送受信できる必要がある。
【００８１】
イーサネットインタフェースモジュールの種々の実施形態の基本フレームフォーマット１００Ａを図１Ａに示す。フォーマット１００Ａは例示であって、当業者であれば理解し得るように限定ではない。例示のフォーマット１００Ａは、宛先アドレスフィールド１０１と、送信元アドレスフィールド１０３と、イーサタイプ識別フィールド１０５と、イーサネットインタフェースモジュール（ＥＩＭ）コマンドフィールド１０７と、パケットデータフィールド１０９と、ＦＣＳ（フレームチェックシーケンス）フィールド１１１とを備える。
【００８２】
各イーサネットインタフェースモジュールには、インタフェースの物理アドレスまたはハードウェアアドレスとも呼ばれる固有の４８ビットアドレスが割り当てられている。宛先アドレスフィールド１０１は、パケットフレームの宛先であるインタフェースのアドレスに対応するアドレスを含む。あるいは、宛先アドレスフィールド１０１は、これに代えて、ネットワーク上の１つまたは複数のインタフェースが受信可能なマルチキャストアドレス、または標準ブロードキャストアドレスを含んでいてもよい。
【００８３】
ネットワークに接続されたすべてのイーサネットインタフェースモジュールは、少なくとも宛先アドレスフィールド１０１を介して送信された各フレームを読み込む。フレームの宛先アドレスがイーサネットインタフェースモジュールの自身のアドレス、またはイーサネットインタフェースモジュールが受信するようにプログラムされているマルチキャストアドレスまたはブロードキャストアドレスと一致しない場合、イーサネットインタフェースモジュールは、パケットフレームを破棄するか、または以下で説明するようにそれを転送することができる。
【００８４】
送信元アドレスまたはＳＲＣアドレスフィールド１０３は、パケットフレームを送信したイーサネットインタフェースの物理アドレスを含む。
イーサタイプ識別フィールド１０７は、パケットデータフィールド１１１で搬送される高レベルプロトコルデータのタイプを参照する識別子を含む。
【００８５】
各イーサネットインタフェースモジュールは、コマンドフィールド１０９で指定されるコマンドのセットをサポートする。いくつかの共通のコマンドは基本プロトコルの一部として定義される一方、使用可能なコマンドの大部分はデバイス固有の動作で使用される。コマンドセットについては、以下で詳しく説明する。
【００８６】
データフィールド１１１は、データを搬送する。
ＦＣＳ（フレームチェックシーケンス）フィールド１１３は、種々のフィールド内のビットの完全性をチェックするために使用される巡回冗長検査（ＣＲＣ）を提供する。送信イーサネットステーションまたはマスタによってフレームが生成されると、ＣＲＣ値が演算されてフィールド１１３内に挿入される。フレームが受信されると、受信イーサネットインタフェースでＣＲＣが再度演算される。新たに演算されたＣＲＣ値は、フィールド１１３内のＣＲＣ値と比較される。２つの値が同じである場合は、パケットデータフレームの送信にエラーが発生していないことが高いレベルで保証される。
【００８７】
ＶＬＡＮ（仮想ローカルエリアネットワーク）ヘッダを備えた基本パケットフレームフォーマット１００Ｂを図１Ｂに示す。パケットフレームフォーマット１００は例示であって、当業者であれば理解し得るように限定ではない。例示のフォーマットは、宛先アドレスフィールド１０１と、送信元アドレスフィールド１０３と、ＶＬＡＮ（仮想ローカルエリアネットワーク）ヘッダフィールド１１３と、イーサタイプ識別フィールド１０５と、イーサネットインタフェースモジュール（ＥＩＭ）コマンドフィールド１０７と、データフィールド１０９と、ＦＣＳ（フレームチェックシーケンス）フィールド１１１とを備える。
【００８８】
ＶＬＡＮタグヘッダフィールド１１３は、フレームが属するＶＬＡＮを識別する。
ＶＬＡＮタグヘッダフィールド１１３は、特定の実施形態では任意としてもよい。ＶＬＡＮヘッダが任意である場合、コマンドフィールド１０７は１６ビット長であり、データフィールド１０９はコマンドに依存する。実施形態はＶＬＡＮヘッダの使用を示しているが、他のヘッダフィールドを利用することもできる。
【００８９】
イーサネットインタフェースモジュール２００のブロック図を図２に示す。イーサネットインタフェースモジュール２００は、第１のＰＨＹ２０１ａと第１のＭＡＣ２０１ｂとを備える第１の全二重ポート２０１を備える。イーサネットインタフェースモジュール２００はさらに、第２のＰＨＹ２０３ａと第２のＭＡＣ２０３ｂとを備える第２の全二重ポート２０３を備える。全二重ポートとしての各ポート２０１，２０３は送信部と受信部とを備えるが、これらは明瞭化のために図示されていない。
【００９０】
第１の経路２０５は、ポート２０１の受信部をポート２０３の送信部に接続する。第２の経路２０７は、ポート２０３の受信部をポート２０１の送信部に接続する。第１の経路２０５内には、第１のキュー２０９が配置されている。第２の経路２０７内には、第２のキュー２１１が配置されている。各キュー２０９，２１１の長さは数バイトであり、典型的には６バイト以上である。
【００９１】
動作時、各キュー２０９，２１１は受信フレームからバイトを受信する。新たなバイトが受信されると、そのバイトは対応する送信部に向かってキュー内でシフトされる。キューの長さはフレームの長さよりも短く、このため、ポート２０１，２０３のうちの一方で受信された受信フレームは、その受信フレームが受信されると同時に、所定の時間遅延で時間的にオフセットされて他方のポート２０３，２０１で送信フレームとして送信される。所定の時間遅延は、キュー２０１，２０３のサイズによって決定される。
【００９２】
特定可能な一定の時間遅延を提供することにより、本発明の実施形態は、本発明の原理によるイーサネットインタフェースモジュール２００を利用するすべてのデバイスに対して予測可能な一貫した一定の時間遅延を提供することができる点で有利である。
【００９３】
イーサネットインタフェースモジュール２００はさらに、評価ロジック２１３、リード／ライトロジック２１５、レジスタ／メモリ２１７、およびデバイスインタフェース２１９を備える。評価ロジック２１３およびリード／ライトロジック２１５はそれぞれ、専用ロジックによって、またはプログラマブルデバイス上の低レベルソフトウェアで具現化することができる。デバイスインタフェース２１９は、デバイス１０００に対するインタフェースを提供する。デバイス１０００と受信フレームとの間のデータ転送は、キュー２０９，２１１、リード／ライトロジック２１５、メモリ２１７、およびデバイスインタフェース２１９を介して行われる。
【００９４】
評価ロジック２１３、リード／ライトロジック２１５、メモリ２１７、およびデバイスインタフェース２１９のサイズおよび複雑さは、デバイスのクラスの要件に依存して変化し得る。例えば、レジスタ／メモリは、数バイトから数キロバイトまでの格納サイズであり得る。デバイスインタフェース１９は、少数のデジタル入力および／または出力から、シリアルインタフェース（例えばＳＰＩまたはＵＡＲＴ）や、マイクロプロセッサと直接通信するための複雑なバスまでの範囲であり得る。
【００９５】
評価ロジック２１３は、関連するデバイスのための１つまたは複数の宛先アドレスを含むアドレスメモリを備える。宛先アドレスは、デバイスに関連付けられた１つまたは複数のマルチキャストアドレスを含む。種々の実施形態では、マルチキャストアドレスのいくつかはプログラム可能であってもよい。メモリは、通常、ランダムアクセスメモリとすることができる。メモリは、関連するデバイス１０００のユニキャストアドレスやマルチキャストアドレスを格納することができる。評価ロジック２１３は、各受信フレームが第１のキュー２０９や第２のキュー２１１を通過する際にその受信フレームを監視して、その受信フレームの宛先アドレスフィールド１０１に含まれる宛先アドレスをデバイス１０００に関連付けられたアドレスと比較する。
【００９６】
各イーサネットインタフェースモジュール２００は、「フィールドノード」または「エンドノード」として動作することができる。フィールドノードやエンドノードは、ネットワーク内のイーサネットインタフェースモジュール２００の位置や役割を指す。図２に示される２ポートイーサネットインタフェースモジュール２００では、２つのポート２０１，２０３のうち１つのポートのみが接続される（例えばイーサネットリンクを有する）場合にイーサネットインタフェースモジュール２００はエンドノードとして動作する。イーサネットインタフェースモジュール２００の双方のポート２０１，２０３が接続される場合は、イーサネットインタフェースモジュール２００はフィールドノードとして動作する。
【００９７】
リード／ライトロジック２１５は、評価ロジック２１３に応答して、メモリ２１７への格納やデバイスインタフェース２１９を介したデバイス１０００への送信を行うべく受信フレームからのデータパケットの読み出しや、インタフェース２１９を介して受信したデバイス１０００からのデータパケットの書き込みやメモリ２１７に格納されているデータパケットの書き込みを行う。
【００９８】
イーサネットインタフェースモジュール２００がフィールドノードとして動作する場合は、ポート２０１，２０３のうちの一方でフレームが受信されて、受信フレームの最初の６バイトが対応するキュー２０９，２１１に格納されるとともにデバイス１０００のＭＡＣアドレスやそのデバイス１０００がサポートする１つまたは複数のマルチキャストアドレスと一致するか否かが評価ロジック２０３によって評価される。アドレスが一致し、かつ宛先アドレスがデバイスのユニキャストアドレスである場合は、パケットの宛先アドレスがイーサネットインタフェースモジュール２００に格納されているマルチキャストアドレスのうちの所定の１つと置き換えられる。
【００９９】
受信フレームのフレームバイトがポート２０１，２０３のうちの一方で受信されてキュー２０９，２１１のうちの対応する一つに入れられると、その受信フレームは、他方のポート２０３，２０１に送信フレームとして提供されてその他方のポート２０３，２０１でフレームの送信が開始される。各フレームがキュー２０９を通過すると、評価ロジック２１３は、受信フレームのイーサタイプフィールドをチェックする。イーサタイプフィールドに含まれているイーサタイプがイーサネットインタフェースモジュール２００のイーサタイプと一致する場合は、受信フレームの後続部分がそのデバイスに適用可能なコマンドであるか否かが評価ロジック２１３によって評価される。
【０１００】
デバイスに適用されるコマンドの例としては、リードデータや、ライトデータなどが挙げられる。コマンドに含まれるデータは、ノードを通過する際にパケットから抽出されるか、またはパケット内に適宜挿入される。パケットは、それが書き込まれるときにはそれが読み出されるときと同じ長さに維持される。すなわち、受信フレームからメモリ２１９にバイトが書き込まれる場合、送信フレームには同じバイトが書き込まれる。しかしながら、メモリ２１９から受信フレームにバイトを読み出す場合に、受信フレームの対応する位置に入ってくるバイトは破棄され、メモリ２１９からのデバイスデータと置き換えられる。
【０１０１】
図３は、イーサネットインタフェースモジュール２００の基本動作を示す。図３に示すように、ステップ３０１において、受信フレームがポート２０１で受信されたと仮定する。受信フレームの第１のバイトはキュー２０９に入れられ、評価ロジック２１３は、ステップ３０３において、宛先アドレスフィールド１０１がデバイス１０００のアドレスを含むかどうかを判定する。受信フレームがデバイス１０００の宛先アドレスを含まない場合、評価ロジック２１３は、ステップ３０５において、宛先アドレスフィールド１０１がグローバルマルチキャストアドレスを含むかどうかを判定する。受信フレームがグローバルマルチキャストアドレスを含まない場合は、評価ロジック２１３は、ステップ３０７において、宛先アドレスフィールド１０１がデバイス１０００の第２のマルチキャストアドレスを含むかどうかを判定する。宛先アドレスフィールド１０１がデバイス１０００の第２のマルチキャストアドレスを含まないとステップ３０７において判定された場合、評価ロジック２１３は、ステップ３０９において、イーサネットインタフェースモジュール２００がエンドノードとして選択されているのかそれともフィールドノードとして選択されているのかを判定する。イーサネットインタフェースモジュール２００がエンドノードである場合、イーサネットインタフェースモジュール２００は、ステップ３１１において、受信フレームを破棄する。イーサネットインタフェースモジュール２００がエンドノードでない場合、すなわちフィールドノードである場合には、イーサネットインタフェースモジュール２００は、無修正の受信フレームを送信フレームとしてポート２０３に転送する。これにより、デバイス１０００に関連付けられていないイーサネットトラフィックは、最小かつ一定の特定可能な遅延でネットワークを通過可能となる。
【０１０２】
評価ロジック２１３が、ステップ３０３，３０５，３０７のいずれかで宛先アドレスの一致があると判定した場合、次いで、評価ロジック２１３は、ステップ３１５において、イーサネットインタフェースモジュール２００がエンドノードであるかフィールドノードであるかを判定する。ステップ３１５の判定において、イーサネットインタフェースモジュール２００がエンドノードであると判定された場合、評価ロジック２１３は、ステップ３１７において、宛先アドレスフィールド１０１を、送信元アドレスフィールド１０３に含まれている送信元アドレスで上書きし、次いで、評価ロジック２１３は、イーサタイプフィールド１０７がデバイス１０００のイーサタイプを含むかどうかを判定する。イーサタイプフィールド１０７がデバイス１０００のイーサタイプを含み、ステップ３２１において、イーサネットインタフェースモジュール２００がエンドノードであると判定された場合、イーサネットインタフェースモジュールは、ポート２０１の受信部に受信フレームを反射させながら、コマンドフィールド１０９に含まれるコマンドを処理する。イーサタイプフィールド１０７がデバイス１０００のイーサタイプを含むが、ステップ３２１において、イーサネットインタフェースモジュール２００がエンドノードではないと判定された場合、イーサネットインタフェースモジュール２００は、コマンドフィールド１０９に含まれるコマンドを処理し、ステップ３２５で送信フレームの送信を完了する。
【０１０３】
ステップ３１９において、イーサタイプフィールド１０７がデバイス１０００のイーサタイプを含まないと評価ロジック２１３が判定した場合、評価ロジック２１３は、ステップ３０９において、イーサネットインタフェースモジュール２００がエンドノードであるか否かを判定する。イーサネットインタフェースモジュール２００がエンドノードであると判定された場合、ステップ３１１においてフレームは破棄される。イーサネットインタフェースモジュール２００がエンドノードでないと判定された場合、無修正の受信フレームがポート２０３から送信される。
【０１０４】
ステップ３１５において、イーサネットインタフェースモジュール２００がエンドノードではないと評価ロジック２１３が判定した場合、評価ロジック２１３は、受信フレームの宛先フィールド１０１がデバイス１０００に関連付けられたマルチキャストアドレスを含むかどうかを判定する。宛先フィールドがデバイス１０００に関連付けられたマルチキャストアドレスを含む場合、受信フレームはポート２０３に転送され、評価ロジック２１３は、ステップ３１９において、イーサタイプフィールド１０７がイーサネットインタフェースモジュール２００に関連付けられたイーサタイプを含むかどうかを判定する。ステップ３１９からの処理は、上述したように進行する。
【０１０５】
ステップ３１５において、イーサネットインタフェースモジュール２００がエンドノードではないと評価ロジック２１３が判定し、かつステップ３２７において、宛先アドレスフィールド１０１がデバイス１０００に関連付けられたマルチキャストアドレスを含まないと評価ロジック２１３が判定した場合、評価ロジック２１３は、ステップ３２９において、受信フレームの宛先フィールド１０１内のアドレスをマルチキャストアドレスで書き換え、ステップ３２０において、イーサネットインタフェースモジュール２００は、受信フレームをポート２０３に転送し始める。次いで、評価ロジック２１３は、ステップ３１９において、イーサタイプフィールド１０７内のイーサタイプがイーサネットインタフェースモジュール２００のイーサタイプと一致するかどうかを判定する。ステップ３１９からの処理は、上述したように進行する。
【０１０６】
すなわち、着信した受信フレームが上記のチェックに失敗する場合（宛先アドレスが一致しない場合、イーサタイプが一致しない場合、またはサポートされていないコマンドである場合）、受信フレームは修正されず、送信フレームとして他のポートに転送される。これにより、関連するデバイス１０００に関連付けられていないトラフィックは最小遅延のみでネットワークを通過可能となる。
【０１０７】
評価ロジック２１３は、ネットワーク診断目的のために、ノード上の無効パケットの数や関心のある他の統計を維持し得る。これらの統計は、一般的なコマンドフレームワークを通じて読み取ることができる。
【０１０８】
ポート２０１，２０３の送信側では、パケットフレームチェックシーケンス（ＦＣＳ）が演算されてＦＣＳフィールド１１３内の送信フレームに挿入され、受信フレームからのＦＣＳと置換される。受信フレームのＦＣＳ演算でエラーが検出された場合には、誤ったＦＣＳが送信フレームに挿入されてそれが無効化される。
【０１０９】
評価ロジック２１３は、特定のデバイスタイプに関して、デバイスが双方のポート２０１，２０３で同時にコマンドを受信した場合にどのように挙動するかについてプログラムされてもよい。この場合の利用可能なオプションには、
認識した最初のコマンドについてのみ動作させること、
何ら制限なしに双方の動作を実行すること、
相互干渉しない場合のみ双方の動作を実行すること、または
一方または双方のパケットにエラーコードを挿入すること、
が含まれる。
【０１１０】
イーサネットインタフェースモジュール２００がエンドノードとして指定された場合、受信フレームがＭＡＣアドレスまたはサポートされているマルチキャストアドレスの１つと一致しない場合、またはそのイーサタイプが一致しない場合、その受信フレームが破棄される。これらのチェックがすべて合格すると、着信フレームの送信元アドレスが送信用の宛先アドレスとして使用され、受信フレームを生成した送信元コントローラにその受信フレーム内のメッセージが送り返される。次いで、デバイスのＭＡＣアドレスが送信フレームの送信元アドレスとして使用される。フレームの送信は、それが受信された同一ポートの送信部から開始される。フレームが転送されると、コマンドフィールド１０９を評価しフレームの内容をリード／ライトするのと同じプロセスがフィールドノードの場合と同じように実行される。
【０１１１】
イーサネットインタフェースモジュール２００は、フレームの処理に関していくつかの機能をサポートする。サポートされるマルチキャストアドレスの数は、少なくとも１つあればよく異なっていてもよい。また、サポートされるコマンドのセットは、イーサネットインタフェースモジュールごとに異なっていてもよい。ＶＬＡＮヘッダは、いくつかの異なる方法で扱うことができる。ＶＬＡＮヘッダは無視することもできる。
【０１１２】
イーサネットインタフェースモジュール２００はさらに、ＶＬＡＮフィールド１０５がマルチキャスト宛先アドレスを分析する上で追加のフィルタとして使用されるようにプログラムされてもよい。例えば、宛先アドレスフィールド１０１の宛先アドレスが一致し、かつＶＬＡＮフィールド１０５が一致した場合にのみ、宛先アドレスが一致するとみなされてもよい。
【０１１３】
また、イーサネットインタフェースモジュール２００がエンドノードとしてプログラムされている場合、ＶＬＡＮフィールド１０５に正しいＶＬＡＮアドレスを有するフレームのみを反映するようにイーサネットインタフェースモジュール２００がプログラムされてもよい。さらに、イーサネットインタフェースモジュール２００は、受信フレームを送信フレームとして反映させる際に受信フレームのＶＬＡＮフィールドのＶＬＡＮアドレスを他のＶＬＡＮアドレスと置き換えるようにプログラムされてもよい。
【０１１４】
イーサネットインタフェースモジュール２００は、デバイス１０００に関連付けられたユニキャストアドレスを対象とする特定のコマンドに対してのみ動作するようにプログラムされてもよい。これにより、一般に認識されるコマンドを有する単一のデバイスのみに対するアクセスを制御可能となる。
【０１１５】
イーサネットインタフェースモジュール２００は、データを含む受信フレームが完全に有効になるまで着信データの適用を遅らせるなどのデータ管理機能をさらに有していてもよい。着信データの適用を遅らせるために、イーサネットインタフェースモジュール２００にシャドーメモリまたはシャドーレジスタを提供したり、着信データのマルチバッファリングを可能にしたりするなどの種々のアプローチを導入することができる。有効性を示すことに加えて最新データの受信を示すために、デバイスインタフェース２１９に信号を供給してもよい。さらには、データを搬送する送信フレームが有効にされた後にのみ出力データが送信されたことを示す信号が生成されてもよい。イーサネットインタフェースモジュール２００は、送信用の一貫したデータセットを保証するために出力データのマルチバッファリングを行ってもよい。また、イーサネットインタフェースモジュール２００は、データがデバイスインタフェース２１９上でリード／ライトされていることを示すステータスフラグを提供してもよい。
【０１１６】
異なるデバイス１０００は、異なるパケットフィールドを有するフレームを含み、種々の複雑さを有しているので、イーサネットインタフェースモジュール２００は、フレームタイプを区別するように動作可能である。各フレーム１００は、図１Ｃに示されるようなタイプフィールド１１７を含み得る。タイプフィールド１１７は１６ビット長となるように選択することができる。
【０１１７】
以下の表１は、タイプフィールド１１７の符号化を例示したものである。
【０１１８】
【表１】
2017529033.tif 000003
タイプ符号化には全て最上位ビットが設定される。コマンドフィールド１０７の最上位ビットは設定されない。このため、タイプフィールド１１７とコマンドフィールド１０７との間の区別が可能になる。この区別が可能となることによって、基本デバイス１０００は、より複雑なものとシームレスに動作する。
【０１１９】
イーサネットインタフェースモジュール２００は、最も単純な形態では、それに含まれる送信元アドレスを変更することなくフレームの特定フィールドを修正する。最初の送信元アドレスは発信フレーム内で維持され、フレームがデバイスストリングの終わりに達するとフレーム送信元に宛先が戻される。
【０１２０】
あるいは、図１Ｄにおいてフレーム１００Ｄで示されるようなリターンアドレスフィールド１１９が、このプロトコル拡張をサポートする全てのフレーム１００Ｄに含まれる。そして、フレームを修正する各イーサネットインタフェースモジュール２００は、自身のアドレスを送信元アドレスとして使用して、エンドノードまたはリフレクタイーサネットインタフェースモジュール２００は、リターンアドレスを使用することができる。
【０１２１】
さらに、エンドノードとなる可能性があるイーサネットインタフェースモジュール２００はリターンアドレスを用いてプログラムされてもよい。これにより、フレームオーバーヘッドが低減され、エンドノードのイーサネットインタフェースモジュール２００の処理時間が短縮される。この方法を実現する場合、フレームに変更を加える必要はなく、エンドノードにコマンドおよび格納手段を追加するだけでよい。
【０１２２】
このような機能を有するイーサネットインタフェースモジュール２００は、自身にアドレス指定されたフレームを受信すると、発信フレームの送信元アドレスを自身のＭＡＣアドレスに置き換える。エンドノードのイーサネットインタフェースモジュール２００は、そのフレームが返送されるときにリターンアドレスを宛先アドレスとして使用する。
【０１２３】
図１Ａに示されるような基本フレーム１００Ａの場合、エンドノードのイーサネットインタフェースモジュール２００は、イーサタイプが読み取られて検証されるまで待たなければ送信を開始できない。また、リターンアドレスを受信するまで待たなければフレームデータをリターンポートから送信できない。このため、この方法では、フレームの返送に多くのレイテンシ遅延が生じる。
【０１２４】
しかしながら、いずれの場合も、イーサタイプの受信／検証の後にプリアンブルの送信が開始されるので、この遅延は実際には最小限である。プリアンブルが８バイトで、タイプ／リターンアドレスも８バイト長であるとすれば、有効な追加遅延は非常に小さい（１００Ｍビットで０〜８０ナノ秒）。
【０１２５】
図１Ｅに示すように、シーケンス識別子（「シーケンスＩＤ」）フィールド１２１がフレーム１００Ｅのプロトコルに追加されている。シーケンスＩＤを提供することにより、フレームが正しい順序で到着し、欠落フレームが検出されることを保証することが可能になる。
【０１２６】
フレーム１００Ｅには、１６ビットのシーケンスＩＤが示されている。より大きい長さのシーケンスＩＤフィールドは、例えば認証などに応じて特別な場合に使用することができるが、フレームオーダーを管理する目的には１６ビットで十分である。
【０１２７】
イーサネットインタフェースモジュール２００は、フレームのシーケンスＩＤを修正しない。むしろ、フレームは受信したシーケンスＩＤとともに返送される。動作時、イーサネットインタフェースモジュール２００は、フルスケールの範囲でシーケンスＩＤの増分シーケンスを予期する。古いフレーム、すなわち異常フレームが受信された場合、それは機能せずに廃棄される。受信したフレームのシーケンス番号が以前に受信したフレームのシーケンス番号と所定の関係を有することを判定することによって古いフレームを検出することができる。
【０１２８】
フレームの廃棄は、コマンドの動作でマスタ４０１に示される。例えば、ＲＥＡＤコマンドは、マスタ４０１に戻されるデータを修正しない。ＷＲＩＴＥコマンドは、関連する受信フィールドを有し、動作の成立時にデバイス１０００によって修正され、非成立時には、例えばシーケンスＩＤが異常の場合には修正されないままにされる。これらの詳細はコマンド符号化の一部である。
【０１２９】
ローカルイーサネットネットワーク内のセキュリティに対処するために、認証方法が提供される。
各イーサネットインタフェースモジュール２００は、それに関連付けられ、製造時または展開時にインストールされたキーを有する。イーサネットインタフェースモジュール２００のキーは、それと通信するマスタ４０１に設けられている。基本フレームプロトコルフォーマットは変更されず、むしろ追加データがコマンドデータフィールド１０９に含まれる。追加データを含むフレーム１００Ｆが図１Ｆに示されている。
【０１３０】
フレーム１００Ｆにおいて、異なるデバイス間で通信されるコマンドデータの各セクションは、例えば、個別のシーケンスＩＤを有する。マスタ４０１は、デバイス固有のキー（例えば、１２８ビット）を使用して、シーケンス識別フィールド１２１ａ，１２１ｂおよびそれに付随するデータフィールド１０９ａ，１０９ｂに対して暗号化ハッシュを演算する。この暗号化ハッシュは、セキュリティハッシュ値フィールド１２３ａ、１２３ｂ内のデータに続いてフレーム１００Ｆに挿入される。イーサネットインタフェースモジュール２００がデータを受信すると、シーケンス識別フィールド１２１ａ，１２１ｂ内のシーケンスＩＤとデータフィールド１０９ａ，１０９ｂ内のデータに対して同じハッシュ関数を演算し、それが受信フレームに含まれるハッシュ値と一致するか否かを検証する。
【０１３１】
同様に、デバイス１０００から読み出されるデータに対して、新たなシーケンスＩＤが生成されるか、またはマスタ４００から最後に受信されたものが利用され、シーケンスＩＤおよびマスタ４００に送信されるデータに対して暗号化ハッシュが生成される。適切なリードコマンドを含むフレーム１Ｆが、イーサネットインタフェースモジュール２００を通過するとき、シーケンス識別フィールド、データフィールド、およびハッシュフィールドが送信され、マスタ４００での受信時にチェックされる。
【０１３２】
デバイス１０００および／またはマスタ４００に対する攻撃のメカニズムとなるシーケンスＩＤの再使用を不要とすることを保証するために６４ビットのシーケンスＩＤが選択されている。
【０１３３】
より小さな値またはより大きな値を使用できることは当業者には明らかである。同様に、暗号化ハッシュのサイズは、サイズとセキュリティとの間の良好な妥協点を提供するために６４ビットに選択される。
【０１３４】
イーサネットインタフェースモジュール２００は、一般的なイーサネットネットワークを介して安全なチャネルを提供する。データは、イーサネットインタフェースモジュール２００内の２つの異なる、検証されたチャネルに送られる。これは、図４及び図５に関して以下に説明するように統合されたハードウェア実装で達成される。
【０１３５】
マスタ４００は、出力値を決定し、その出力値を図１Ｆの２つのデータブロック１０９ａ，１０９ｂとしてフレームに符号化する。そして、各データブロック１０９ａ，１０９ｂは、上述したようにフィールド１２１ａ，１２１ｂ内のシーケンスＩＤおよびフィールド１２３ａ，１２３ｂ内の暗号化ハッシュで保護される。２つの異なる暗号化キーを使用することができる。次いで、フレーム１００Ｆは、イーサネットインタフェースモジュール２００に送信される。あるいは、２つの別個の安全符号化データブロック１０９ａ，１０９ｂは、２つの別々のフレームを介して送信することができる。
【０１３６】
イーサネットインタフェースモジュール２００において１つまたは複数のフレーム１００Ｆが受信されると、フィールド１０９ａ，１０９ｂ内の２つの安全なデータ符号化ブロックは、図４および図５に詳細に示されるリード／ライトロジック２１５によって処理される。参照を目的として、フレーム１００Ｆが図４に示されている。データフィールド１０９ａ，１０９ｂの処理は、矢印４５００ａ，４５００ｂで示されている。フィールド１０９ａ，１０９ｂの安全符号化データブロックはブロック４５０１ａ，４５０１ｂで受信される。フィールド１０９ａ，１０９ｂ内の安全符号化データブロックは、ハッシュ関数実行４５０３ａ，４５０３ｂによってフィールド１２３ａ，１２３ｂの暗号化ハッシュ値に対してチェックされ、変換が完了した後に別々のレジスタ４５０５ａ、４５０５ｂにロードされる。２つのレジスタ４５０５ａ、４５０５ｂ内の暗号化ハッシュ値は、比較器４５０７によって比較され、両者が一致する場合、その出力はＩ／Ｏマルチプレクサに供給され、デバイス１０００に出力される。両者が一致しない場合、そのフレームは廃棄されて、ブロック４５１１に格納されたフォールバックハッシュ値が出力される。
【０１３７】
監視タイマ４５１１が利用され、有効なフレームが所定のプログラム可能な期間に受信されない場合、デフォルト値にリセットされる。
イーサネットインタフェースモジュール２００は、デバイス１０００から受信した入力フレームを２つの別個のレジスタ６０５ａ，６０５ｂに書き込む。マスタ４００に出力される入力フレームデータは、上述したように逆に管理される。シーケンスＩＤが入力フレームに供給される。使用されるシーケンスＩＤは、マスタ４００から最後に正常に受信した出力データのシーケンスＩＤである。図示しない小さな追加のカウンタ、例えば４ビットのカウンタは、シーケンスＩＤが使用された回数を示す。この情報は、マスタ４００への入力フレームにロードされる。
【０１３８】
マスタ４００で入力フレーム１００Ｆが受信されると、フレームデータが解析されて、検証および比較される。
この方法は、一般的なイーサネットネットワーク上でハードウェア安全チャネルを提供する。
【０１３９】
イーサネットインタフェース装置２００の機能は、複数のネットワークトポロジーにおいて動作可能である。そのようなネットワークトポロジーのいくつかの例が図６，図７，図８に示されている。
【０１４０】
図６は、代表的なフルループトポロジー４００を例示する。マスタ４０１は、一方のポート４０１ａからフレームを送信し、イーサネットインタフェースモジュール４０３，４０５，４０７，４０９，４１１，４１３，４１５による修正後に他方のポート４０１ｂで同じフレームを受信する。非イーサネットインタフェースモジュールノード４１５との間の伝送は、イーサネットインタフェースモジュール４０３，４０５，４０７，４０９，４１１，４１３のデバイスが存在しないかのようにして行われる。エンドノードまたはリフレクタが存在しないため、送信フレームのマルチキャスト宛先アドレスは変更されない（ただし、ユニキャストＬＥＮパケット宛先アドレスは、マルチキャストアドレスに変更される）。
【０１４１】
図７に示される反射回線において、マスタ４０１は、種々のイーサネットインタフェース装置５０３，５０５，５０７，５０９によって修正されたフレームを送信する。１つのポートのみが接続された回線における最後のイーサネットインタフェースデバイス５０９は、受信フレームの宛先アドレスフィールド１０１内の宛先アドレスをマスタ４０１のアドレスと置き換え、自身のアドレスを送信元アドレスフィールド１０３内の送信元アドレスとして使用して、修正された受信フレームを送信フレームとしてマスタ４０１に送り返す。
【０１４２】
図８の例では、イーサネットインタフェースモジュール６０３，６０７，６０９，６１１，６１５は、マスタ４０１に接続されるとともに多数のスイッチ６０５および他のデバイスタイプ６１３，６１７を備えた標準イーサネットネットワーク６００全体に分散される。切り替えネットワーク６００は、各反射デバイスがパケットをマスタ４０１に返送する多数の反射回線に類似した動作を行う。例えば、スイッチ６０５の前に位置するイーサネットインタフェースデバイス６０３によって操作されるように意図されているマスタ４０１から送信されたマルチキャストイーサネットインタフェースデバイスのフレームは、複数の経路を通じて複数のリフレクタ６０７，６０９，６１５に送信される。これにより、受信フレームの多くのコピーがマスタ４０１に返送される。このようなパケットの増加を避けるためにいくつかの異なるサポート技術が使用される。スイッチを介したマルチキャストパケットのルーティングを細かく制御することにより、指定のノードによって処理される特定のマルチキャストアドレスを使用可能としつつ、そのアドレスが指定のノードから単一のリフレクタにのみルーティングされる。あるいは、管理スイッチを再度使用することで、ＶＬＡＮ＿ＩＤフィールド１０５内のＶＬＡＮ＿ＩＤを使用して単一のリフレクタ６０７，６０９，６１５にフレームをルーティングすることができる。
【０１４３】
管理スイッチを使用しない場合でも、イーサネットインタフェースモジュールデバイスの機能を使用してこの状況を管理することができる。異なるイーサネットインタフェースモジュールに異なるマルチキャストアドレスを割り当てることが可能であり、その結果、対象とする１つのフレームは単一のエンドノードのみで反映されることになる。同様に、パケットの複製を回避するように、対象とする１つのフレームが単一のリフレクタのみから返送されるように、ＶＬＡＮフィールド１０５内のＶＬＡＮヘッダを使用することができる。
【０１４４】
これらの機能は、管理スイッチを使用する場合でも使用しない場合でも、ネットワークを流れるフレームの制御を可能にする。
イーサネットインタフェースモジュール２００は、受信フレーム内のコマンドフィールド１０９で指定された多数のコマンドセットをサポートする。いくつかのコマンドは基本プロトコルの一部として定義される一方、使用可能なコマンドの大部分はデバイス固有の動作で使用される。図９は、イーサネットインタフェースモジュール２００の一実施形態で使用されるコマンドのいくつかを例示する。
【０１４５】
コマンドは、固定であってもよいしまたは設定可能であってもよい。固定コマンドは、デバイス１０００の構成に依存せず、常に同じ方法で処理される。設定可能コマンドは、イーサネットを介した設定を通じて変更される種々の機能的要素を有する。これらの要素には、特定のコマンド識別子（ＩＤ）や、デバイスがデータを読み書きするパケットへのオフセットなどが含まれる。設定可能コマンドは、複雑なデバイスを構築する際に大きな柔軟性を提供する。コマンド機能の唯一の制約は、デバイス全体のパケットフローを妨げないようにすることにある。特定のデバイスに対して有用な機能をコマンドに割り当てることができる。
【０１４６】
種々の実施形態において、全てのデバイスは、コアコマンドとして知られる固定コマンドセットを共有する。非常に基本的なデバイスの場合、フルサポートされるコマンドセットは固定コマンドのみで構成される。コアコマンドには、以下が含まれる。
【０１４７】
ディスカバリ（Discover）：以下で説明する；
リード設定（Read Configuration）：デバイスの現在の設定の読み出し；
ライト設定（Write Configuration）：デバイスの設定変更（具体的には設定可能コマンドのパラメータ設定）；
リード基本データ（Read Base Data）：デバイスに関連付けられた基本入力データの読み出し；
ライト基本データ（Write Base Data）：デバイスに関連付けられた基本出力データの書き込み。
【０１４８】
より複雑なデバイスは追加コマンドをサポートする。これらは設定可能であってもよいしまたは固定であってもよい。これらのコマンドの複雑さは、イーサネットインタフェースモジュール２００を通過するデータフローを阻害しない限り、プロトコルによって制限されない。デバイス固有のコマンドは、専用のロジックブロックとして実現されてもよいし、プログラマブルブロックによって実行されてもよい。イーサネットインタフェースモジュール２００におけるプログラマブルブロックの場合、デバイス上のリソース（例えば、ＲＯＭまたはホストプロセッサによって書き込まれたもの）からそのプログラムをロードしてもよいし、あるいはデバイスの設定コマンドによってロードしてもよい。すなわち、コントローラは、設定処理の一部としてイーサネットインタフェースモジュール２００のプログラムを書き込んでもよい。
【０１４９】
設定可能コマンドをサポートする各デバイスは、コマンドに関連付けられたコマンドＩＤを示すランダムアクセスメモリテーブルと、必要に応じて他のフィールドとを有する。これには、通常、コマンドによってアドレス指定されたデータのサイズ、コマンドを実行しているフレーム内のデータのオフセット、コマンドのデータを読み書きするためのデバイス上のメモリ／レジスタ空間のオフセットなどが含まれる。なお、図７の表に示された値は例示に過ぎない。
【０１５０】
この可変コマンドの方法によって、システム設計者は、複数のデバイスから多様なデータを読み出したり、複数のデバイスにデータを書き込んだり、あるデバイスからデータを読み出して他のデバイスにデータを書き込んだりする単一フレームを構築することが可能となる。例えば、同じイーサネットインタフェースモジュール２００のコマンドＩＤは、あるデバイスではリードコマンドとして、他のデバイスではライトコマンドとして設定することで、単一フレームによって双方の動作をもたらすようにすることができる。また、複雑なデバイスでは、複数のコマンドに対する単一コマンドＩＤの設定がサポートされ、これにより、単一コマンド／フレームによって、単一フレーム（フレーム内の異なるオフセットまたは共有オフセット）におけるリードとライトの双方、さらには他の機能が可能となる。あるいは、他のコマンドＩＤはフレームデータとの相関を有さず、そのフレームはデバイス上で何らかの動作を引き起こすイベントとして使用されてもよい。
【０１５１】
特定の関心のあるコマンドはディスカバリコマンドである。これにより、イーサネットインタフェースモジュール２００のマスタは、ネットワーク上で利用可能なイーサネットインタフェースモジュールデバイスを判定して、ネットワーク上の相互関係を把握することができる。ディスカバリフレーム８００が図１０に示されている。フィールド１０１，１０３，１０５，１０７，１１３の各々は、図１Ａに関して説明したものである。
【０１５２】
開始カウントフィールド８０１は、後述するように、探索の開始値である開始カウント値を含み、非常に多数の装置の発見を可能にする。最大カウントフィールド８１１は、現在のディスカバリフレームに収容できる最大カウント値を含む。カウントフィールド８１３は、発見される次のデバイスのインデックスを含む。フィールド８１７−０，８１７−１，…，８１７−ｎは、発見されたデバイスによって埋められた情報を含む。フィールド８１７−０，８１７−１，…，８１７−ｎは、以下を含むことができる。
【０１５３】
デバイスＭＡＣアドレス（６バイト）；
デバイスタイプ（２バイト）：機能／データの基本セットを示すもの（例えば、スイッチ、８ビットＩ／Ｏ、温度センサ、１ビット入力、１ビット出力、リレーなどを含む）；
ベンダーＩＤ（４バイト）；
ベンダーデバイスタイプ（２バイト）：デバイスのより具体的な／拡張機能を識別するために使用されるもの；
バージョン番号（２バイト）；
ベンダーフィールド（４バイト）：オプションや状態などに応じてデバイスをさらに区別可能とするもの。
【０１５４】
この情報のセットでは、各デバイスは２０バイトを使用して自身の発見を報告する。フルサイズのディスカバリフレームは、最大７３個のデバイスを報告することができる。
典型的なディスカバリプロセスは、以下に示す値、
開始カウント値＝０
ＭＡＸカウント値＝７２
カウント値＝０
でフォーマットされたマルチキャストパケットをマスタが送信することによって開始される。
【０１５５】
フレームがイーサネットインタフェースモジュール２００を通過すると、カウント値が最大カウントフィールド８１３の最大カウント値と比較される。カウント値が最大カウント値より大きい場合、フレームは修正されることなく転送される（上述したようなエンドノードで反射される場合を除く）。カウント値が最大カウント値未満である場合、現在のカウントフィールド８１５が、フレーム８００へのオフセットとして使用される。カウント値はインクリメントされ、送信フレームに書き戻されてデバイスから出力される。
【０１５６】
次に、イーサネットインタフェースモジュール２００は、フレームから読み出したカウント値にフィールドのバイト数（例えば、２０）を乗じた値から特定されるフレーム位置に達するまで、受信フレームの内容を未修正のまま転送する。この時点で、上記のデータはパケットに書き込まれ、パケットの残りは修正されずに転送される。
【０１５７】
単一フレームで特定可能なものよりも多くのデバイスを有するシステムの場合は、開始カウントフィールド８１１が使用される。最初のフレームは開始カウント値「０」と最大カウント値「７２」で送信される。フレームがフルで返信されると、フレームがフルでなくなるまで、次のフレームが開始カウント値「７３」と最大カウント値「１４５」などで送信される。
【０１５８】
返信されたディスカバリフレーム内の情報が与えられると、マスタは、どのような種類のデバイスがネットワーク上で利用可能であるかを決定することができる。また、ネットワークのトポロジーについても大部分推測することが可能となる。
【０１５９】
イーサネットインタフェースモジュール２００は、種々のネットワーク管理支援機能を提供する。ネットワークエラー管理において有用な１つの機能は、イーサネットインタフェースモジュール２００が、ポート２０１，２０３の１つでネットワークリンクを失った場合に、特定のフレームを作成する能力を有することである。フレームは、マスタ４００またはプログラムされていない場合は特定のマルチキャストアドレスを対象とする。このフレームは、イーサネットインタフェースモジュール２００のＩＤおよびそのネットワークリンクを失ったポートに関する情報を含む。同様のフレームが、リンク上のイーサネットインタフェースモジュール２００によって、再確立されたポートに送信される。
【０１６０】
リンク変更通知パケットに使用される同じフレームおよびハードウェアも、イーサネットインタフェースモジュール２００の電源がオンになると、一般には「Hello」メッセージを送出するために使用される。これにより、マスタ４００は、各イーサネットインタフェースモジュール２００がアクティブになると直ちにそれを識別することができる。
【０１６１】
多数のネットワーク関連の値が、イーサネットインタフェースモジュール２００およびそれらの発生を維持するカウント値によって監視される。これらのカウント値は、マスタ４００によってアクセスされ、ネットワーク診断などを助けることができる。監視データの例には、以下が含まれる。
【０１６２】
各ポートで受信されるデータのバイト数；
各ポートで送信されるデータのバイト数；
各ポートで受信されるフレーム数；
各ポートに作用するフレーム数；
各ポートで受信される無効フレーム（不良ＦＣＳ）の数；
各ポートで無効なセキュリティ暗号化ハッシュで受信されるフレーム数；
各ポートで無効なシーケンスＩＤで受信されるフレーム数。
【０１６３】
回線の最後にイーサネットインタフェースモジュール２００が存在しないネットワークトポロジーにおいて、設計上またはネットワーク障害のために、標準的なインターネット制御メッセージプロトコル（ＩＣＭＰ）ピンプロトコルの利点を有するアプローチが最後のイーサネットインタフェースモジュール２００の下流にある標準イーサネットデバイスに提供される。標準イーサネットデバイスは、以下ではリフレクタと呼ぶ。これは、最後のイーサネットインタフェースモジュール２００を特定モードで回線に配置することによって達成される。
【０１６４】
ピン（PING）カプセル化モードと呼ばれるこの特定モードでは、マスタ４０１は、次のパラメータを設定するために、回線内における最後のイーサネットインタフェースモジュール２００にコマンドを送信する。
【０１６５】
上流ポート、すなわちマスタ４０１に最も近いポートの定義；
下流ポート、すなわち下流のリフレクタに対向するポートの定義；
リフレクタのイーサネットＭＡＣアドレスの指定；
破棄するフレームヘッダサイズ（ＳＨ）を示す値のプログラム（このプログラム機能はＩＰ−Ｖ６をサポートする）。
【０１６６】
イーサネットインタフェースモジュール２００は、図１Ｇに示されるピンカプセル化フレーム１００Ｇを受信すると、ピンカプセル化モードとなる。フレーム１００Ｇは、宛先アドレスフィールド１０１内のイーサネットインタフェースモジュール２００のアドレスと、送信元アドレスフィールド１０３内のマスタ４０１のアドレスとを含む。フレーム１００Ｇはさらに、ＩＰヘッダフィールド１２５およびＩＣＭＰエコー要求ヘッダフィールド１２７を含む。ピンペイロードフィールド１００Ｘもフレーム１００Ｇに含まれる。ペイロードフィールド１００Ｘはフルイーサネットフレームを含む。イーサネットインタフェースモジュール２００は、図１Ｈに示される、修正されたピンカプセル化フレーム１００Ｈをそのダウンストリームポートを介して転送する。フレーム１００Ｈでは、フレーム１００Ｇは、フレーム１００Ｇのフィールド１０１内の宛先アドレスをセットアップ中に提供された標準イーサネットデバイスのアドレスに置き換え、フィールド１０３内の送信元アドレスを自身のＭＡＣアドレスに置き換え、新たに演算されたＦＣＳをＦＣＳフィールド１１１内に提供することによって修正される。図１Ｈにおいて、ピンペイロードフィールド１１１にピンペイロードコンテンツを含むフレーム１００Ｇの残りの部分は修正されないままである。
【０１６７】
ピンカプセル化モードでは、イーサネットインタフェースモジュール２００は、自身のユニキャストＭＡＣアドレスに向けられ下流ポートで受信される図１Ｊに示されたエコー応答またはポン（PONG）フレーム１００Ｊを受信する。イーサネットインタフェースモジュール２００は、フレームの最初のＳＨバイトと、ＶＬＡＮヘッダが存在する場合には追加の４バイトを破棄して、フィールド１００Ｙで搬送されたフレーム１００Ｊの残りの部分を別個のフレームとして扱い、上流ポートを介してフィールド１００Ｙを、そのフィールド１００Ｙのフレームに生成されたフィールド１１１内の新たなＦＣＳとともに転送する。ヘッダを破棄した後、次の６バイトが宛先アドレスとして扱われ、次の６バイトが送信元アドレスとして扱われる。フレームの残りの部分がイーサネットインタフェースモジュール２０にアドレス指定されている場合、イーサネットインタフェースモジュールはそれを処理する。
【０１６８】
上述のようにイーサネットインタフェースモジュール２００を構成した後、マスタ４０１は、イーサネットインタフェースモジュール２００から下流の標準イーサネットノードに送信されるようにピンフレームヘッダを生成することによってネットワーク接続される。ただし、イーサネット宛先アドレスはイーサネットインタフェースモジュール２００のものであり、送信元アドレスはマスタ４０１のものである。マスタ４０１は、図１Ｇに示されるピンフレーム１００Ｇのペイロードフィールド１００Ｘに、標準イーサネットインタフェースモジュール２００のフレーム、例えばフレーム１００Ａを置く。そして、マスタ４００は、そのフレームをイーサネットインタフェースモジュール２００に送信する。
【０１６９】
フレーム１００Ｇは、イーサネットインタフェースモジュール２００の上流ポートにおいて受信され、上述のように処理される。これにより、有効なピンフレーム１００Ｈがイーサネットインタフェースモジュール２００からリフレクタ装置にもたらされる。
【０１７０】
リフレクタ装置は、フレーム１００Ｈを標準ピンフレームとして処理し、その処理によって得られたフレーム１００Ｊをイーサネットインタフェースモジュール２００に返信する。
【０１７１】
イーサネットインタフェースモジュール２００は、フレーム１００Ｇからピンカプセル化層を除去し、フィールド１００Ｙに含まれる標準イーサネットインタフェースモジュール２００のフレームを処理して、マスタ４０１の方向における上流側、およびネットワークの同じライン上に存在する他のイーサネットインタフェースモジュール２００に転送する。ＩＣＭＰピンヘッダとＩＰヘッダは、エコー要求（ピン）からエコー応答（ポン）に変更するように修正される。フレームが途中でイーサネットインタフェースモジュール２００を通過するとき、ピンペイロードブロック１００Ｙよりも前の全てが破棄され、標準フレームが残される。
【０１７２】
１つの問題は、マスタ４０１以外のＩＰアドレスをフレームに使用する必要があることにある。これは、リピータがそのＡＲＰテーブルをフレーム内のＩＰアドレスおよび関連するＭＡＣアドレスで更新するためである。このような単一のＩＰアドレスは、所与のイーサネットネットワークシステムにおいてこのように使用される全てのイーサネットインタフェースモジュール２００に使用することができる。
【０１７３】
イーサネットインタフェースモジュール９００の別の実施形態が図１１に示される。イーサネットインタフェースモジュール９００は、多数のトポロジー選択肢を維持したまま、単一のＰＨＹ９０１ａおよび単一のＭＡＣ９０１ｂを使用する単一の全二重ポート９０１を含む。潜在的に同時に２つの方向に転送されるデータを有する２つの全二重リンクを使用するのではなく、イーサネットインタフェースモジュール９００は単一の全二重ポート９０１を使用して２ポートノードと同じ基本動作を提供する。全二重通信の送信経路と受信経路が物理的に分離されているか同一であるかに応じてイーサネットインタフェースモジュール９００の異なる実施形態が存在する。送信経路と受信経路が分離されている場合には、以下の説明がすべて適用される。通信チャネルが分離されていない場合、このような一つのＰＨＹ装置はリフレクタとしてのみ動作することができる。
【０１７４】
イーサネットインタフェースモジュール９００の動作は、ポート９０１に入って来るトラフィックが同じポート９０１に返送されることを除いて、２ポートイーサネットインタフェースモジュール２００と同様である。リフレクタモードでは、２ポートイーサネットインタフェースモジュール２００がリフレクタモードにあるときと同様に動作する。リフレクタモードにおける違いは、リフレクタモードに移行するという決定がリンク状態に基づいて行われないことである。すなわち、ノードはリフレクタノードとして固定されるか、あるいは、物理スイッチ、外部プロセッサなどからの外部指示が存在する。
【０１７５】
これらのノードの動作を理解するために、異なるネットワークケーブル接続を図１２〜図１５に示す。
図１２は、２つのコネクタ１００５，１００７を介して別々のケーブル１００１，１００３に接続された各ポート２０１，２０３を有する２ポートイーサネットインタフェースモジュール２００を示す。各ケーブル１００１，１００３は、２方向に通信するための２つのツイストペア線を備える。ケーブル１００１はツイストペアＣ，Ｄを含み、ケーブル１００３はツイストペアＡ，Ｂを含む。
【０１７６】
図１３は、２つのコネクタ１１０５，１１０７を介して２つの異なるケーブル１１０１，１１０３に接続された単一のポート９０１を有する１ポートイーサネットインタフェースモジュール９００を示す。１方向の通信は、イーサネットインタフェースモジュール９００を通過することなく、ノード上の２つのコネクタ１１０５，１１０７の間で単純に接続される。他の方向の通信は、一方のケーブル１１０３からポート９０１に入り、他方のケーブル１１０１にルーティングされた同じポート９０１から出る。各ケーブル１１０１，１１０３は、２方向に通信するための２本のツイストペア線からなる。ケーブル１１０１はツイストペアＣ，Ｄを含み、ケーブル１１０３はツイストペアＡ，Ｂを含む。
【０１７７】
図１４は、単一のコネクタ１２０５を有する１ポートイーサネットインタフェースモジュール９００を示す。ケーブル１２０１は、使用される単一のツイストペアＣを含み、ケーブル１２０３は、同様に、使用される単一のツイストペアＡを含む。このアプローチは、図示のようにケーブルを「継ぎ合わせる」ためにコネクタおよび／またはケーブルに対して異なるアプローチを必要とする。別のアプローチは、図１１と同様の２つのコネクタを使用することである。ただし、ＬＥＮロジックをバイパスする導体は不要である。
【０１７８】
図１５は、標準イーサネットポート９０１に直接取り付けることができる単一のコネクタを有する１ポートＬＥＮインタフェースモジュール９００を示す。この構成は、専用リフレクタ（常に回線上の最後のノード）のものであり、２つのツイストペアを有する単一のケーブル１３０３のみが利用される。
【０１７９】
図１６には、図１３に示されたケーブルを利用するネットワーク１４００のイーサネットトポロジーが示されている。各デバイスまたはフィールドノード１４０３，１４０５、およびエンドノード１４０７は、２つのコネクタを有し、ケーブルは双方向のトラフィック用の導体を有する。フレームはマスタ１４０１から送られ、回線の下流に向かって、フィールドノード１４０３，１４０５、および回線の最後のノードであるエンドノード１４０７へ転送される。エンドノード１４０７は、フィールドノード１４０３，１４０５を介してフレームをマスタ１４０１に戻す。
【０１８０】
図１７を参照すると、ネットワーク１５００の交換ネットワークトポロジーが示されている。イーサネットマスタ１５０１が提供され、このマスタ１５０１は、ブロック１５０３によってその一部が表される複数の装置と通信する。標準イーサネットスイッチ１５０５は、フィールドノード１５０７，１５１７およびエンドノード１５１３，１５１５に接続される。追加フィールドノード１５０９は、エンドノード１５１１に接続され、フィールドノード１５１７は、エンドノード１５１９に接続されるイーサネットデバイス１５２１に接続される。このトポロジーでは、フィールドノード１５０７，１５０９，１５１７およびエンドノード１５１１，１５１３、１５１５，１５１９は、イーサネットインタフェースモジュール２００またはイーサネットインタフェースモジュール９００を含むことができる。さらに、イーサネットデバイス１５２１は、それに統合されたイーサネットインタフェースモジュールの機能を有することができる。
【０１８１】
図１８に示されるネットワーク１６００のトポロジーでは、図１２に従ってケーブルが接続されている。図１６のネットワーク１６００は、単一方向の導体（例えば、１００−ＢＡＳＥ−ＴＸ動作用の単一銅ツイストペア）を使用したフィールドノード１６０３，１６０５，１６０７，１６０９およびエンドノード１６１１のループである。
【０１８２】
１ポートイーサネットインタフェースモジュール９００の場合、標準スイッチポートまたは２ポートデバイスのポートに差し込まれたリフレクタとして厳密に使用されない限り、自動ネゴシエーションに参加することはできない。このため、通常は、固定通信モードで動作する必要がある。
【０１８３】
イーサネットインタフェースモジュール２００，９００は、そのデータ通信が全て同じデータレートで実行されているため、異なるルールがリンク管理に適用される。デュアルポートイーサネットインタフェースモジュール２００の場合、最も単純な選択肢は、固定データレートでデバイスを構築し、自動ネゴシエーションを無効にすることである。これには、そのようなデバイスが接続されている他の全てのポートも固定データレートであり、自動ネゴシエーションが無効になっている必要がある。
【０１８４】
種々の実施形態におけるより柔軟なアプローチは、イーサネットインタフェースモジュール２００が自動ネゴシエーションを実行することを可能にしつつ、ネゴシエーションを固定速度に制限することである。これは、イーサネットインタフェースモジュール２００が関連付けることができるほとんどの標準デバイスとシームレスに動作する。
【０１８５】
イーサネットインタフェースモジュール２００は、以下のようにリンク管理初期化を実行することができる。
第１のポート２０１にリンクを確立する；
第２のポート２０３にリンクを確立する；
２つのリンク伝送速度が一致しない場合、高速リンクを停止し、自動ネゴシエーションを再開して低速伝送速度を強制する。
【０１８６】
単一ポートイーサネットインタフェースモジュール９００のデバイスは、別のデバイスの同じポートに対して双方向を解消するモードで動作している場合にのみ、自動ネゴシエーションを実行することができる。図１６に示される反射ループトポロジーを提供するネットワーク１６００の場合には自動ネゴシエーションは不可能であり、固定周波数を使用しなければならない。
【０１８７】
イーサネットインタフェースモジュール２００，９００は多種多様な方法を用いて実施することができる。
一実施形態では、イーサネットインタフェースモジュール２００，９００は、ＭＡＣ機能（ハードウェアまたはソフトウェアのいずれか）およびＰＨＹと接続されたソフトウェアでフレーム処理および転送を実行するのに十分規則的に動作することができるプログラマブルデバイスを備える。
【０１８８】
他の実施形態では、イーサネットインタフェースモジュール２００，９００は、コアイーサネットインタフェースモジュール機能と外部ＰＨＹに接続されるＭＡＣ機能とを実行する集積回路を備えることができる。
【０１８９】
さらなる実施形態では、イーサネットインタフェースモジュール２００，９００は、同じＩＣ上に組み込まれたＰＨＹを有するコアイーサネットインタフェースモジュール機能を実行する集積回路を備えることができる。
【０１９０】
さらなる実施形態では、イーサネットインタフェースモジュール２００，９００は、コアイーサネットインタフェースモジュール機能と専用Ｉ／Ｏ動作（例えば、同じＩＣ上のアナログ／デジタルコンバータ）とを実行する集積回路を備えることができる。
【０１９１】
さらなる実施形態では、イーサネットインタフェースモジュール２００，９００は、コアイーサネットインタフェースモジュール機能およびＭＡＣを実行する集積回路を備えることができる。この場合、同一ＩＣ上にＰＨＹを備えていても備えていなくてもよい。
【０１９２】
上記のいずれもフィールドプログラマブルゲートアレイ（ＦＰＧＡ）のようなプログラム可能なハードウェアで実施することができる。
イーサネットインタフェースモジュール２００，９００とネットワーク上の他のデバイスとの同期は、必要に応じて種々の方法で行うことができる。一実施形態では、着信イーサネットインタフェースモジュールコマンドフレームのタイミングを使用して、イベントをタイムスタンプするための信号を生成し、またはクロック管理ブロックを直接制御してもよい。
【０１９３】
イーサネットインタフェースモジュール２００，９００は、タイムスタンプ、クロック周波数管理などを行うために種々の機能を提供することができる。さらに、イーサネットインタフェースモジュール２００，９００の特定の実施形態は、ＩＥＥＥ１５８８Ｖ２などの他のプロトコルからのフレームを認識し、それらのプロトコルを利用してもよい。
【０１９４】
監視タイマ機能がイーサネットインタフェースモジュール２００，９００に提供されてもよい。このような機能は、特定のコマンドの受信とコマンドのセットの１つの受信との間の最大時間を測定するタイマを含む。時間が経過すると、外部ハードウェアへの信号の生成、電子インタフェースモジュール２００，９００のデータのデフォルト値への置き換えなど、何らかの措置が取られる。
【０１９５】
デバイスの受信ポート上の正確な通信周波数は、フレームを送信しているピアデバイスによって決定され、他方のポートから再送信されるパケットの周波数は、ローカルデバイスによって決定される。これらの２つの周波数は、２つのデバイスの発振器の違い、温度の影響などにより、通常は正確には一致しない。この違いによって２つの問題が生じる。
【０１９６】
第１の問題は、ローカルデバイス上にてある程度のバッファリングが必要であるため、受信しているデータよりも送信クロックが高速であれば、フレームの終了前に送信するデータが不足しないようにすることである。同様に、送信クロックが遅い場合、着信フレームの受信が完了する前に、受信された追加のデータをバッファする必要がある。宛先アドレスを受信するのに要する時間をプリアンブル送信に加えた転送時間は、より高速の送信クロックをカバーするのに十分である。遅い送信クロックの場合には、数バイト程度の同様のバッファリングレベルで十分である。
【０１９７】
第２の問題は、高性能ネットワークに特有の問題である。一部のネットワークは、ネットワークを通過するフレームの非常に一貫したタイミングに依存する。例として、ＰＲＯＦＩＮＥＴ＿ＩＲＴネットワーク、ＳＥＲＣＯＳ＿ＩＩＩネットワーク、およびイーサネットを使用して正確なタイミングを割り振るさまざまなネットワークプロトコルが挙げられる。これらの場合、イーサネットインタフェースモジュール２００，９００のノード上の送信および受信クロックに差をもたせることによって導入されるジッタが問題である。この問題を解決するために、イーサネットインタフェースモジュール２００，９００は、受信ポート２０１，９０１上の信号から回復されたクロックを使用して送信ポート２０３，９０３を駆動することができる。これは、パケットがイーサネットインタフェースモジュール２００，９００のノードを通過するのに要する時間を非常に一貫したレベルに維持し、これらの高性能ネットワークにおいてシームレスな動作を可能にする。
【０１９８】
イーサネットインタフェースモジュール２００，９００を含むネットワークにおけるマスタ機能は、適切な処理能力を有する任意のイーサネット認識装置によって実現することができる。これは、パーソナルコンピュータ、クラウドベースのサーバ、プログラマブルロジックコントローラ、または専用のコントローラとすることができる。マスタのパフォーマンス要件は、全体として、ネットワーク化されたデバイスのニーズに応じたものとなる。デバイスへのフレームの頻度は、一部のアプリケーションによってはマイクロ秒であり他のアプリケーションでは数時間に及ぶ場合もあるが、これはプロトコルとは完全に無関係である。
【０１９９】
イーサネットインタフェースモジュール２００，９００を含むローカルエリアネットワーク（ＬＡＮ）は、物のインターネット（ＩｏＴ）アプリケーションを含むより広範なネットワークに統合されてもよい。イーサネットインタフェースモジュールデバイスが、インターネットプロトコル（ＩＰ）を介して、またはローカルイーサネットＬＡＮ経由で直接アクセスできない機能を介してアクセスされる必要がある場合、これは「ＩＰ仮想化」によって実現できる。このインターネットプロトコル（ＩＰ）仮想化では、フレームをＵＤＰまたはＴＣＰパケットにカプセル化して、イーサネットインタフェースモジュールが存在するＬＡＮ上の別のＩＰ対応ノードにＩＰプロトコルを使用して送信できる。このリモートＩＰ対応ノードは、上位層のプロトコル（例えば、ＩＰ／ＴＣＰ）を取り除き、生のフレームを送信し、返されたフレームを再カプセル化し、ＩＰを使用してそれらをマスタに送信する。マスタと同じＬＡＮ（またはマスタ自体の中に直接）およびイーサネットインタフェースモジュールが存在するリモートＬＡＮの両方で、この方法でフレームをカプセル化して転送する専用の機器を構築するのは簡単なプロセスである。
【０２００】
イーサネットインタフェースモジュール２００，９００を通信および制御に利用するアプローチには、多大な潜在的用途がある。これらの用途は、イーサネットインタフェースモジュール２００，９００のネットワークのための高帯域幅と低コストとの組み合わせのために特に幅広いものである。
【０２０１】
イーサネットインタフェースモジュールは、家庭用の単一のコントローラまたは複数のコントローラにステータスおよび制御情報の任意のレベルの複雑さを伝えるために、家庭用機器と共に利用されてもよい。これにより、家庭用機器の統一された制御インタフェースが可能になり、インターネットレベルのアクセスやセキュリティの問題などのために管理が必要な単一の場所が提供される。
【０２０２】
洗濯機／乾燥機、食器洗い機、炉／ＡＣ、レンジ、冷蔵庫などの主要な機器に加えて、イーサネットインタフェースモジュールノードは、サーモスタット、火災検知器などのようなより小さい機器に使用されてもよい。例えば、サーモスタット市場は、機能が強化された（高コストの）「スマート」サーモスタットへの移行がある。サーモスタットを備えたイーサネットインタフェースモジュールを利用し、コントローラ上のソフトウェアを使用することで、低コストの「スマートサーモスタット」機能を任意のレベルの機能性で提供することができる。
【０２０３】
さらに、イーサネットインタフェースモジュール２００，９００の使用は、ツイストペア配線を使用してウォールスイッチ、照明器具、コンセント等の間で通信することにより、基本的な家庭用配線のコストを低減することができる。この構成では、電源を供給するために使用される厚銅配線は、最短経路によって照明器具およびコンセントの間に張られ、所定の位置にある電子スイッチは、イーサネットインタフェースモジュール２００，９００のノードによって制御される。ウォールスイッチは、非常に単純なイーサネットインタフェースモジュール２００，９００のデバイス１０００であり、これらには、例えばパワーオーバーイーサネット規格の１つを使用して通信配線と低電圧電源のみが供給される。その結果、設置作業の労力、配線コスト、制御の柔軟性が向上し、スイッチや設備の相互関係がプログラム可能となり、すべての家庭配線がマスタの制御下に置かれる。
【０２０４】
産業設定において、イーサネットインタフェースモジュール２００，９００は、イーサネットおよび他の通信層の両方の、より複雑なシステムを現在使用している多くの装置で使用され得る。また、イーサネットインタフェースモジュール２００，９００を有するデバイスは、ほとんどのネットワークにおいて、他のタイプのデバイスに散在させることができる。例えば、低コストのイーサネットインターネットモジュールデバイスは、イーサネットインタフェースモジュール２００，９００の決定的な転送特性のために、ＩＲＴネットワークに悪影響を及ぼすことなくＰＲＯＦＩＮＥＴ＿ＩＲＴを作動させるネットワーク上に置くことができる。
【０２０５】
イーサネットインタフェースモジュール２００，９００は、自動車領域において、ドームライト制御、ドアロック制御、ブレーキなどの重要なインフラストラクチャとの通信など、広く使用することができる。高性能産業用ネットワークとの組み合せと同様に、イーサネットインタフェースモジュール２００，９００は、ネットワークタイミングおよび管理プロトコルに関係なく高性能自動車ネットワークに配置することができ、これにより、ネットワークアーキテクチャに異なるアプローチが取られているとしても、複数の自動車メーカーに単一のデバイス設計を販売することが可能となる。
【０２０６】
本発明を種々の実施形態に関して説明したが、当業者であれば、本発明の範囲から逸脱することなく種々の変更および変形を行い得ることが理解される。本発明は、図示し説明した特定の実施形態によって限定されることを意図しない。本発明は、添付の特許請求の範囲によってのみ範囲が限定されることが意図される。
【図１Ａ】
2017529033.tif 000004
【図１Ｂ】
2017529033.tif 000005
【図１Ｃ】
2017529033.tif 000006
【図１Ｄ】
2017529033.tif 000007
【図１Ｅ】
2017529033.tif 000008
【図１Ｆ】
2017529033.tif 000009
【図１Ｇ】
2017529033.tif 000010
【図１Ｈ】
2017529033.tif 000011
【図１Ｊ】
2017529033.tif 000012
【図２】
2017529033.tif 000013
【図３】
2017529033.tif 000014
【図４】
2017529033.tif 000015
【図５】
2017529033.tif 000016
【図６】
2017529033.tif 000017
【図７】
2017529033.tif 000018
【図８】
2017529033.tif 000019
【図９】
2017529033.tif 000020
【図１０】
2017529033.tif 000021
【図１１】
2017529033.tif 000022
【図１２】
2017529033.tif 000023
【図１３】
2017529033.tif 000024
【図１４】
2017529033.tif 000025
【図１５】
2017529033.tif 000026
【図１６】
2017529033.tif 000027
【図１７】
2017529033.tif 000028
【図１８】
2017529033.tif 000029
【国際調査報告】
2017529033.tif 000030