(57)【特許請求の範囲】
【請求項１】
コンピュータをネットワーク送信媒体に接続するネットワーク・インタフェース制御装置であって、
前記ネットワーク送信媒体へ及び前記ネットワーク送信媒体からデータを転送するためのコネクタと、
データのフレームをコネクタを介して受信し且つ送信するために、前記コネクタに結合されている、媒体アクセス制御デバイスであって、コンピュータの各々処理モジュールと通信するための複数のデータ・チャンネルと、前記複数のデータ・チャンネルに対して割り当てられたネットワーク・アドレスを保存するためのメモリと、前記割り当てられたネットワーク・アドレスに応答して前記複数のデータ・チャンネルに対して前記コネクタを介して受信されたフレームを選択的にパスまたはブロックする、前記複数のデータ・チャンネルとメモリに結合されたアドレス・フィルタ・ロジックを有する媒体アクセス制御デバイスを備えることを特徴とするネットワーク・インタフェース制御装置。
【請求項２】
前記メモリは、前記割り当てられたネットワーク・アドレスに加えて複数の更なるネットワーク・アドレスを保存し、且つ、前記アドレス・フィルタ・ロジックは、複数の更なるネットワーク・アドレスに応答する回路を含んでいる、請求の範囲第１項に記載の装置。
【請求項３】
前記フレームは、ソースアドレスと宛先アドレスを含んでいて、且つ、前記複数の更なるネットワーク・アドレスに応答する回路は、前記複数の更なるネットワーク・アドレスが特定のフレームのソースアドレスと宛先アドレスを含んでいる時に、前記複数のデータ・チャンネルの少なくとも１つで前記特定のフレームをブロックするためのロジックを含む、請求の範囲第２項に記載の装置。
【請求項４】
前記複数のデータ・チャンネルの第１データ・チャンネルで送信され且つ受信されるデータを導くために前記アドレス・フィルタ・ロジックに接続されている第１の物理的データ・パスと、前記複数のデータ・チャンネルの第２データ・チャンネルで送信され且つ受信されるデータを導くために前記アドレス・フィルタ・ロジックに接続された第２の物理的データ・パスを更に含む、請求の範囲第１項に記載の装置。
【請求項５】
前記複数のデータ・チャンネルの少なくとも２つで送信され且つ受信されるデータを導くために物理的データ・パスを更に含む、請求の範囲第１項に記載の装置。
【請求項６】
前記ネットワーク送信媒体から前記コネクタを介して受信されるフレームと、前記複数のデータ・チャンネルから前記ネットワーク送信媒体に送信されるフレームとを前記アドレス・フィルタ・ロジックに供給する、前記コネクタと媒体アクセス制御装置の間に結合されている媒体仲裁回路を含む、請求の範囲第１項に記載の装置。
【請求項７】
前記媒体仲裁回路は、前記コネクタに、前記複数のデータ・チャンネルからネットワーク送信媒体に送信されるフレーム間の衝突の信号を送る局部的な衝突検出回路を含む、請求の範囲第６項に記載の装置。
【請求項８】
コンピュータをネットワーク送信媒体に接続するネットワーク・インタフェース制御装置において、
前記ネットワーク送信媒体へ及び前記ネットワーク送信媒体からデータ・フレームを転送するための物理的レイヤ・デバイスと、
前記物理的レイヤ・デバイスに結合されている複数の仮想データ・リンク・レイヤ・モジュールであって、コンピュータの各々上位のプロトコル・レイヤ・モジュールに対応する複数のデータ・チャンネルと、前記複数の仮想データ・リンク・レイヤ・モジュールに対して割り当てられたネットワーク・アドレスを保存するためのメモリと、前記割り当てられたネットワーク・アドレスに応答して前記複数の仮想データ・リンク・レイヤ・モジュールに対して前記物理的レイヤ・デバイスから受信されたフレームを選択的にパスまたはブロックする、前記物理的レイヤ・デバイスと複数のデータ・チャンネルとメモリに結合されている、アドレス・フィルタ・ロジックを有する仮想データ・リンク・レイヤ・モジュールを備えることを特徴とするネットワーク・インタフェース制御装置。
【請求項９】
前記物理的レイヤ・デバイスは、前記ネットワーク送信媒体に接続するために、複数のデータ・チャンネルを単一のデータ・パスに併合する回路を含む、請求の範囲第８項に記載の装置。
【請求項１０】
前記物理的レイヤ・デバイスは、ネットワーク送信媒体を介して受信されるフレームと、前記複数の仮想データ・リンク・レイヤ・モジュールから前記ネットワーク送信媒体に送信されるフレームとを前記アドレス・フィルタ・ロジックに供給する、前記複数の仮想データ・リンク・レイヤ・モジュールに結合された媒体仲裁回路を含む、請求の範囲第８項に記載の装置。
【請求項１１】
前記媒体仲裁回路は、前記複数の仮想データ・リンク・レイヤ・モジュールから前記ネットワーク送信媒体に送信されるフレーム間の衝突の信号を送る局部的な衝突検出回路を含む、請求の範囲第10項に記載の装置。
【請求項１２】
前記メモリは、前記割り当てられたネットワーク・アドレスに加えて前記複数の更なるネットワーク・アドレスを保存し、且つ、前記アドレス・フィルタ・ロジックは、前記複数の更なるネットワーク・アドレスに応答する回路を含んでいる、請求の範囲第８項に記載の装置。
【請求項１３】
フレームは、ソースと宛先アドレスを含んでいて、且つ、前記複数の更なるネットワーク・アドレスに応答する回路は、前記複数の更なるネットワーク・アドレスが特定のフレームのソースアドレスと宛先アドレスを含んでいる時に、前記複数のデータ・チャンネルの少なくとも１つで前記特定のフレームをブロックするためのロジックを含む、請求の範囲第12項に記載の装置。
【請求項１４】
ネットワーク送信媒体に接続されているコンピュータ・システムにおいて、
前記ネットワーク送信媒体に結合されているネットワーク・インタフェースであって、第１の割り当てられたネットワーク・アドレスを有する第１プロセッサ・インタフェースと、第２の割り当てられたネットワーク・アドレスを有する第２プロセッサ・インタフェースを少なくとも有するネットワーク・インタフェースと、
フレームを、前記ネットワーク・インタフェースを介して受信し且つ送信する、前記第１プロセッサ・インタフェースに結合されている第１処理資源と、フレームを、前記ネットワーク・インタフェースを介して受信し且つ送信する、前記第２プロセッサ・インタフェースに結合されている第２処理資源と、を備えることを特徴とするコンピュータ・システム。
【請求項１５】
前記第１と第２のプロセッサ・インタフェースは、前記ネットワーク送信媒体と第１と第２の処理資源間のデータの通信のために各々バッファと待合わせ構造を含む、請求の範囲第14項に記載のシステム。
【請求項１６】
前記ネットワーク・インタフェースは、前記第１の割り当てられたネットワーク・アクセスに応答して前記第１プロセッサ・インタフェースに対して受信された送信を選択的にパスしまたはブロックし、且つ、前記第２の割り当てられたネットワーク・アドレスに応答して前記第２プロセッサ・インタフェースに対して受信された送信を選択的にパスまたはブロックするアドレス・フィルタ・ロジックを含む、請求の範囲第14項に記載のシステム。
【請求項１７】
前記ネットワーク・インタフェースは、前記ネットワーク送信媒体へ及び前記ネットワーク送信媒体からデータを転送するためのコネクタと、
データのフレームを、前記コネクタを介して受信し且つ送信するために、前記コネクタに結合されている、媒体アクセス制御デバイスであって、前記第１プロセッサ・インタフェースに対する第１データ・チャンネルと前記第２プロセッサ・インタフェースに対する第２データ・チャンネルと、前記第１と第２の割り当てられたネットワーク・アドレスを保存するためのメモリと、前記割り当てられたネットワーク・アドレスに応答して前記第１と第２のデータ・チャンネルに対してコネクタを介して受信されたフレームを選択的にパスまたはブロックする、複数のデータ・チャンネルと前記メモリに結合されたアドレス・フィルタ・ロジックを有する前記媒体アクセス制御デバイスを含む、請求の範囲第14項に記載のシステム。
【請求項１８】
前記メモリは、前記第１と第２の割り当てられたネットワーク・アドレスに加えて前記複数の更なるネットワーク・アドレスを保存し、且つ、前記アドレス・フィルタ・ロジックは、前記複数の更なるネットワーク・アドレスに応答する回路を含む、請求の範囲第17項に記載のシステム。
【請求項１９】
フレームは、ソースアドレスと宛先アドレスを含んでいて、且つ、前記複数の更なるネットワーク・アドレスに応答する回路は、前記複数の更なるネットワーク・アドレスが特定のフレームのソースアドレスと宛先アドレスを含んでいる時に、前記第１と第２のデータ・チャンネルの少なくとも１つで前記特定のフレームをブロックするためのロジックを含む、請求の範囲第18項に記載のシステム。
【請求項２０】
前記第１と第２のプロセッサ・インタフェースは、各々仮想データ・リンク・レイヤ・インタフェースを有する、請求の範囲第14項に記載のシステム。
【請求項２１】
前記第１プロセッサ・インタフェースは、各々割り当てられたネットワーク・アドレスを有する複数の仮想データ・リンク・レイヤ・インタフェースを備える、請求の範囲第14項に記載のシステム。
【請求項２２】
前記第１処理資源に結合されている少なくとも１つの更なるネットワーク・インタフェースを更に有し、且つ、前記第１処理資源は、ネットワーク中間システム機能を有し、前記第２処理資源は、ネットワーク管理機能を有する、請求の範囲第14項に記載のシステム。
【請求項２３】
前記第１処理資源に結合されている少なくとも１つの更なるネットワーク・インタフェースを更に有し、且つ、前記第１処理資源は、ネットワーク中間システム機能を有し、且つ、前記第２処理資源は、ネットワーク・エンド・システム機能を有する、請求の範囲第14項に記載のシステム。
【請求項２４】
複数のネットワーク送信媒体に接続されているコンピュータ・システムにおいて、
第１の割り当てられたネットワーク・アドレスを有する第１プロセッサ・インタフェースと第２の割り当てられたネットワーク・アドレスを有する第２プロセッサ・インタフェースを少なくとも有する、第１ネットワーク送信媒体に結合されている第１ネットワーク・インタフェースと、
第１プロセッサ・インタフェースに結合され、ネットワーク・エンド・システム資源を有する第１プロセッサと、
第２プロセッサ・インタフェースに結合されている第２プロセッサであって、前記第１と第２のネットワーク送信媒体を横断して送信するために前記第１と第２のネットワーク・インタフェース間でフレームを搬送するために第２ネットワーク送信媒体と中間システム資源に結合された第２ネットワーク・インタフェースを有する前記第２プロセッサを備えることを特徴とするコンピュータ・システム。
【請求項２５】
前記中間システム資源は、経路指定アダプタ機能を含む、請求の範囲第24項に記載の装置。
【請求項２６】
前記中間システム資源は、ブリッジ機能を含む、請求の範囲第24項に記載の装置。
【請求項２７】
前記中間システム資源は、経路指定機能を含む、請求の範囲第24項に記載の装置。
【請求項２８】
前記中間システム資源は、ブリッジと経路指定機能を含む、請求の範囲第24項に記載の装置。
【請求項２９】
前記第１と第２のプロセッサ・インタフェースは、前記ネットワーク送信媒体と第１と第２の処理資源の間でデータの送信のために各々バッファと待合わせ構造を含んでいる、請求の範囲第24項に記載のシステム。
【請求項３０】
前記ネットワーク・インタフェースは、前記第１の割り当てられたネットワーク・アクセスに応答して前記第１プロセッサ・インタフェースに対して受信された送信を選択的にパスまたはブロックし、且つ、前記第２の割り当てられたネットワーク・アドレスに応答して第２プロセッサ・インタフェースに対して受信された送信を選択的にパスまたはブロックするアドレス・フィルタ・ロジックを含む、請求の範囲第24項に記載のシステム。
【請求項３１】
前記ネットワーク・インタフェースは、前記ネットワーク送信媒体へ及び前記ネットワーク送信媒体からデータを転送するためのコネクタと、
データのフレームを、前記コネクタを介して受信し且つ送信するために、コネクタに結合されている媒体アクセス制御デバイスであって、前記第１プロセッサ・インタフェースに対する第１データ・チャンネルと前記第２プロセッサ・インタフェースに対する第２データ・チャンネルと、前記第１と第２の割り当てられたネットワーク・アドレスを保存するためのメモリと、前記割り当てられたネットワーク・アドレスに応答して前記第１と第２のデータ・チャンネルに対してコネクタを介して受信されたフレームを選択的にパスまたはブロックする、前記複数のデータ・チャンネルとメモリに結合されたアドレス・フィルタ・ロジックを有する媒体アクセス制御デバイスを含む、請求の範囲第24項に記載のシステム。
【請求項３２】
前記メモリは、前記第１と第２の割り当てられたネットワーク・アドレスに加えて複数の更なるネットワーク・アドレスを保存し、且つ、前記アドレス・フィルタ・ロジックは、前記複数の更なるネットワーク・アドレスに応答する回路を含む、請求の範囲第31項に記載のシステム。
【請求項３３】
フレームは、ソースアドレスと宛先アドレスを含んでいて、且つ、前記複数の更なるネットワーク・アドレスに応答する回路は、前記複数の更なるネットワーク・アドレスが特定のフレームのソースアドレスと宛先アドレスを含んでいる時に、第１と第２のデータ・チャンネルの少なくとも１つで前記特定のフレームをブロックするためのロジックを含む、請求の範囲第32項に記載のシステム。
【請求項３４】
ネットワーク送信媒体に接続されているコンピュータ・システムにおいて、
第１の割り当てられたネットワーク・アドレスを有する第１プロセッサ・インタフェースと第２の割り当てられたネットワーク・アドレスを有する第２プロセッサ・インタフェースを少なくとも有する、前記ネットワーク送信媒体に結合されているネットワーク・インタフェースと、
エンド・システム・プロセスのために前記ネットワーク・インタフェースを介してフレームを受信し且つ送信する、前記第１プロセッサ・インタフェースに結合されているデータ処理ユニットと、
多重媒体システム・プロセスのために前記ネットワーク・インタフェースを介して多重媒体データのフレームを受信し且つ送信する、前記第２プロセッサ・インタフェースに結合されている多重媒体ユニットを備えることを特徴とするコンピュータ・システム。
【請求項３５】
前記ネットワーク・インタフェース・コントローラは、多重媒体ユニットを支援する送信優先権ロジックを含んでいる、請求の範囲第34項に記載のシステム。
【請求項３６】
前記第１と第２のプロセッサ・インタフェースは、前記ネットワーク送信媒体とデータ処理ユニットと多重媒体ユニットの間でデータの通信のために各々バッファと待合わせ構造を含む、請求の範囲第34項に記載のシステム。
【請求項３７】
前記ネットワーク・インタフェースは、前記第１の割り当てられたネットワーク・アクセスに応答して前記第１プロセッサ・インタフェースに対して受信された送信を選択的にパスまたはブロックし、且つ、前記第２の割り当てられたネットワーク・アドレスに応答して前記第２プロセッサ・インタフェースに対して受信された送信を選択的にパスまたはブロックするアドレス・フィルタ・ロジックを有する、請求の範囲第34項に記載のシステム。
【請求項３８】
前記ネットワーク・インタフェースは、前記ネットワーク送信媒体へ及び前記ネットワーク送信媒体からデータを転送するためのコネクタと、
コネクタに結合され、データのフレームを前記コネクタを介して受信し且つ送信する媒体アクセス制御デバイスであって、前記第１プロセッサ・インタフェースに対する第１データ・チャンネルと前記第２プロセッサ・インタフェースに対する第２データ・チャンネルと、前記第１と第２の割り当てられたネットワーク・アドレスを保存するためのメモリと、前記割り当てられたネットワーク・アドレスに応答して前記第１と第２のプロセッサ・インタフェースに対してコネクタを介して受信されたフレームを選択的にパスまたはブロックする、前記複数のデータ・チャンネルと前記メモリに結合されているアドレス・フィルタ・ロジックを有する媒体アクセス制御デバイスと、
を備える請求の範囲第34項に記載のシステム。
【請求項３９】
ネットワーク送信媒体に接続されているコンピュータ・システムにおいて、
第１の割り当てられたネットワーク・アドレスを有する第１プロセッサ・インタフェースと第２の割り当てられたネットワーク・アドレスを有する第２プロセッサ・インタフェースを少なくとも含む、ネットワーク送信媒体に結合されているネットワーク・インタフェースと、
エンド・システム・プロセスのために前記ネットワーク・インタフェースを介してフレームを受信し且つ送信する、第１プロセッサ・インタフェースに結合されているデータ処理ユニットと、
前記ネットワーク・インタフェースを介してデータのフレームを受信し且つ送信する第２プロセッサ・インタフェースに結合されている第１ポートとリモート・システムに対する通信リンクのために適応される第２ポートを備え、且つ、前記第２の割り当てられたネットワーク・アドレスを有する、第１ポートを介して受信されたフレームを第２ポートに送り、且つ前記第２の割り当てられたネットワーク・アドレスを有していない、前記第２ポートを介して受信されたフレームを前記第１ポートに送るための資源を含んでいる経路指定アダプタ・ユニットを備えることを特徴とするコンピュータ・システム。
【請求項４０】
前記第１と第２のプロセッサ・インタフェースは、前記ネットワーク送信媒体とデータ処理ユニットの間で且つネットワーク送信媒体と経路指定アダプタ・ユニットの間でのデータの通信のために各々バッファと待合わせ構造を含む、請求の範囲第39項に記載のシステム。
【請求項４１】
前記ネットワーク・インタフェースは、前記第１の割り当てられたネットワーク・アクセスに応答して前記第１プロセッサ・インタフェースに対して受信された送信を選択的にパスまたはブロックし、且つ、前記第２の割り当てられたネットワーク・アドレスに応答して前記第２プロセッサ・インタフェースに対して受信された送信を選択的にパスまたはブロックするアドレス・フィルタ・ロジックを含む、請求の範囲第39項に記載のシステム。
【請求項４２】
前記ネットワーク・インタフェースは、前記ネットワーク送信媒体へ及び前記ネットワーク送信媒体からデータを転送するためのコネクタと、
前記コネクタに結合され、前記コネクタを介してデータのフレームを受信し且つ送信する媒体アクセス制御デバイスであって、前記第１プロセッサ・インタフェースに対する第１データ・チャンネルと前記第２プロセッサ・インタフェースに対する第２データ・チャンネルと、前記第１と第２の割り当てられたネットワーク・アドレスを保存するためのメモリと、前記割り当てられたネットワーク・アドレスに応答して前記第１と第２のプロセッサ・インタフェースに対してコネクタを介して受信されたフレームを選択的にパスまたはブロックする、前記複数のデータ・チャンネルとメモリに結合されたアドレス・フィルタ・ロジックを有する媒体アクセス制御デバイスを含む、請求の範囲第39項に記載のシステム。
【発明の詳細な説明】
発明の背景
発明の分野
本発明は、ローカル・エリア・ネットワーク、特に多重機能コンピュータ・システムのためのネットワーク・インタフェースに関する。
関連技術の説明
いま、ローカル・エリア・ネットワーク（LAN）はBRouters（Bルーター）またはBoundary Routers（バウンダリー  ルーター）と呼ばれるLocal（ローカル）またはRemote Bridges（リモート  ブリッジ），Routers（ルーター），Bridge-Router（ブリッジ  ルーター）ハイブリッドのように互いにコンピュータに接続されている（ネットワーク資源をリモート・ネットワークに拡大するシステムという名称で、1992年４月20日に出願された、出願番号07/871，113、John Hartに依る同時継続アメリカ特許出願を参照）。LANを互いに接続するこれらのコンピュータの全ては中間システム（ISコンピュータ）と呼ばれる。IEEE 802．1 MACブリッジ・スタンダードをリモート・ブリッジに拡大、John Hart，IEEEネットワーク、コンピュータ通信のマガジン、1988年１月、第２部、No.１と、ブリッジとルータを大型インターネットワークに統合、Eric Benhamou，IEEEネットワーク、コンピュータ通信のマガジン、1988年１月、第２部、No.１を参照。
LANには、パーソナル・コンピュータ（PC）、ミニコンピュータ、メインフレーム、エンド・システム（ESコンピュータ）と呼ばれる他のデバイスが組み込まれている。
ネットワークのオペレーションはOSIモデルを基準にして普通は説明される（衝突検出機能を搭載するキャリア感知多重アクセスIEEE Std 802．3-1985とTokenリング・アクセス方法と物理的なレイヤの仕様IEEE Std 802．５-1985）。これは、マシン間に並べられた媒体またはワイヤーを含めた物理的なレイヤからClars's  Filemaker ProR Databaseソフトウェア（OSIレイヤ７）（Filemakerはカリフォルニア州サンタクララのClaris Corporationの登録商標である）にいたる範囲の７つのレイヤを基準にする技術の説明である。流通業者間の相互使用を可能にするために且つネットワーク製品の設計と作成を単純にするために、殆どのネットワーク製品はこれらのレイヤを基準にして設計されている。例えば、データ・リンク・レイヤ（OSIレイヤ２）のデバイスは、内蔵のワイヤーを殆ど備えていないが、代わりに、或る他の流通業者が組み込めるコネクタを備えている。
OSIモデルのレイヤ１は物理的レイヤである。これは、送信媒体、すなわち、普通は、電話回線、同軸ケーブル、または光ファイバー・ケーブルのように、デバイス間に走行される配線施設を含んでいる。このレベルで、ネットワークで共有されるデータは、方形波、シリアル・ビット・ストリーム、または平行ビット・ストリームのように、電気送信信号を基準にしている。
OSIモデルの第２のレイヤはデータ・リンク・レイヤ（DLL）である。これは、Network Adapter（ネットワーク  アダプター）カードのように、実際のワイヤーに接続するデバイスを説明するレイヤである。データ・フレームをワイヤーまたはケーブルに置き、且つ単独の配線構造を共有するデバイス間で調停する、デバイスの部分はDLLの媒体アクセス制御（MAC）部と呼ばれる。このレベルで、データは、ソース（発生子）と宛先（目標）アドレスを含んでいる巧みに定められたヘッダーを含んでいる、パケットまたはフレームを基準にしている。共有されるデータは、パケットにも存在するが、データの内容または意味を基準にしてレイヤ２デバイスで理解されない。
OSIモデルの第３と第４のレイヤはネットワーク・レイヤと搬送レイヤである。OSIモデルが標準化される前の数多くの製品開発が原因で、数多くの製品は、これらの２つのレイヤを互いに製作する際に不明確なものにしている。この特許の観点から、これらの２つのレイヤは、複数の接続部がデバイスに存在する場合に生じるデータをDLLが送る決定であり、そこでは、適切なパケット・ヘッダーがDLLの選択に基づいて決定され、且つデータを別のコンピュータに渡すか送るかについて管理される。初期のネットワーク化に於ける標準化の不備のために、ネットワーク・プロトコルまたはプロトコル・スーツと通常は呼ばれる、数多くの異なる製品がこれらのレイヤにいま存在する。例えば、TPC/IPプロトコル・スーツ（DDNプロトコル・ハンドブック、第２部、DARPA Internet Standard、1985年）とXNSプロトコル・スーツ（Internet搬送プロトコル、Xeroxシステム統合スタンダード、XSIS 028112、1981年12月）とMS-DOS国際ネットワーク・ドライバ・スキーマ（MINDS）、第１部、3Com Corporation、1984年１月がある。
OSIモデルの第５と第６と第７のレイヤは、それらが発明を使用するコンピュータの向上された性能から利益を得ていることを除けば、本発明と関係ない。
コンピュータをLANに接続するDLL技術は、ネットワーク・インタフェース・コントローラ（NIC）と通常は呼ばれる。NICデバイスの例として、Inter 586 Ethernet Controller（Intel Corporation，Santa Clara，California），IBM & National TROPIC TokenRing Controller（National Semiconductor，Santa Clara，California），3Com Vulcan Ethernet Controller（3Com Corporation，Santa Clara California）がある。各々NICは、スタンダード・ボディに依って製造者に譲渡されたプールのネットワーク・アドレスから製造工程中にNICの製造者に依って譲渡された独特の単一のアドレスMACアドレスが搭載されている。
DLLのパケットに用いられるMACアドレスは単一の宛先アドレスまたはグループ・アドレスとして識別できる。Token Ring（トークン  リング）やEthernet（イーサーネット）のような最も広く使用されているデータ・リンク技術の場合、これは、物理的媒体に置かれている第１アドレス・ビットを１に設定し、グループ・アドレスを０に指定または単一の宛先アドレスを指定することに依って行われる。宛先アドレスが単一の宛先アドレスであるパケットは、Unicasts（ユニカスト）と呼ばれ、そのMACアドレスに割り当てられた単一のIS/ESコンピュータだけが其のパケットを受信するように意図される時に用いられる。宛先アドレスがグループ・アドレスであるパケットは、Multicasts（マルチカスト）と呼ばれ、パケットがIS/ESコンピュータの全てまたはグループに依って受信されることを意図される時に用いられる。
殆どのNICは、コンピュータの上部レイヤが全てのMulticastsをUnicastsの宛先アドレスとして其のESの独自のアドレスを搭載する任意のUnicastsにプラスして得るようにデザインされている。これは、ESのソフトウェアの上部レイヤが、そのESを対象にされている単一のアドレス・パケットを処理することだけ可能にし、且つ別のコンピュータを意図されているDLLデータをフィルタ（ブロックまたはパス）できるようにする。
或るESコンピュータがデータを別のESコンピュータと交換を希望する時に、それらは各々他のMACアドレスを最初に見いださなければならない。このプロセスはネーム分解と呼ばれる。一般的に、第１コンピュータは、その独自のMACアドレスと第２ ESの上部レイヤ・ネームを搭載する特殊なマルチカストを送る。これは全てのESコンピュータに依って受信されるが、正しい受信レイヤ・ネームを備えているESコンピュータだけが本来のESと直接応答する。それは其のMACアドレスを搭載する第１コンピュータに対してUnicastと応答するので、２つのコンピュータはUnicastsを其のポイントから交換できる。この交換の変形は、LANのコンピュータのために作動し且つエンド・システムのために応答する、ネームまたはローケータ・サーバに対するネーム分解プロセスの集中である。識別の確立後に、各々他の独自のMACアドレスを搭載するUnicastsが使用されるので、各々デバイスのNICは自らのために指定されたパケットを受け取り、他のコンピュータを意図されて指定されたパケットを無視（データ・リンク・レイヤでブロック）できる。
同時に作動するTCP/IPやXNSのような多重プロトコル・スーツを搭載するESコンピュータは、共有NICと、ネットワーク・デバイス・ドライバ仕様（NDIS）（ネットワーク・デバイス・ドライバ・インタフェース仕様、バージョン2.0、3Com CorporationとMicrosoft Corporation 1989年）で定められるProtocol Manager（プロトコル  マネジャー）のような上部レイヤ・ソフトウェアから最も多く構成され、各々プロトコルがパケットを調べることを尋ね、且つプロトコル・モジュールがパケットを識別するまで其のモジュールがプロセスを繰り返すかどうかについて決定する。この方式はRound-Robin（ラウンド-ロビン）パケット識別（RRPI）と呼ばれる。
多重LANを互いに透過的にESコンピュータにOSIレイヤ２と前述のものに接続するISデバイスはBridges（ブリッジ）と呼ばれる。Bridgesは、MACレイヤでパケットの違いを区別する長所を活用せず、全てのパケットがMACアドレスと関係なしに受け取られる乱雑モードと呼ばれる形態で作動する。これは、ESとISデバイスがパケットを他のLANに適正に出入するようにLANに接続されていることを学習するために行われる。
ESコンピュータとレイヤ２〜４で連動することに依って多重LANを互いに接続するISデバイスはRoutersと呼ばれる。これらのデバイスは、それらが本来のESコンピュータに依って其れらにアドレス指定された他のLANにパケットを送るだけなので、乱雑モードを使用する必要はない。しかし、経路指定機能が作動しない大多数のプロトコルと環境のために、殆どのRoutersはいまブリッジをサポートしなければならないので、乱雑モードを使用しなければならない。ブリッジと経路指定の両方の機能を実行するコンピュータはBRoutersと呼ばれる。マーケットに於いて殆どフル機能のRouter製品は実際にはBroutersである。
ISとESの両方の機能を搭載するコンピュータは、殆どプロトコルに特有のものであり、ブリッジが要求する“乱雑モード”の処理するオーバーヘッドのために経路指定されたプロトコルだけサポートする。これらのコンピュータでは、プロトコル識別はNDISを搭載する前述のソフトウェアで行われ、各々プロトコルの経路指定レイヤ３に於いて、更なる識別はパケットがデバイスのES部またはIS部のものかどうか決定するために行われる。このISとES機能の統合を、Farallon Computing，Inc.，（Alameda，California）から入手できるマッキントッシュ・コンピュータ用のPhoneNet Liaisonと3Com Corporationから入手できるPCコンピュータ用の3+Open Internet for OS/2 LAN Managerのような単一のコンピュータに提供する、幾つかの製品がいま入手できる。
これらの統合化されたIS/ESコンピュータの全ては、レイヤ１と２のコンポーネントを共有し且つレイヤ３と４のソフトウェアをESに搭載することに依って作動し、なおかつ、パケットがESモジュールに指定され且つ処理のために上部レイヤ・ソフトウェアにパスされるかどうか、またはデータがISモジュールに指定され且つ其のレベルで処理されるかどうか決定する。グループ・アドレス・パケットはしばしば両方のモジュールを用いて処理しなければならない。
統合化IS/ESコンピュータの利点として、装置の経費節減と、ネットワークの信頼性と管理性の其の最終的な向上に伴うネットワークに於けるコンピュータの数の減少がある。しかも、このアプローチにも問題がある。第１に、経路指定の決定はプロトコル特有のものであり且つプロトコルはコード・スペースと複雑性に関して非常に大型になるので、殆どの実例は、１つだけ或いは恐らく２つのプロトコルしかサポートしない。第２に、ソフトウェアの変更は、それらが統合化IS/ESプロトコル・スーツの変更を要求するので問題がある。従って、遙かに多くの試験が要求され、更新も範囲的に大きくなる。第３に、殆どの製品はブリッジの機能を実行できない、何故ならば、LANの全てのパケットを調べる処理コストがES CPUを実施するために非常に高くなり、データベース管理またはファイル・システム管理のようなES機能を処理するうえでも高価になるからである。そのうえ、プロトコル・レイヤに関連しないESデバイスを実行するアプリケーション・ソフトウェアに時々ソフトウェアのエラーと欠陥が生じる場合があるので、IS機能の実施に悪い影響を与え、且つIS機能に依存するネットワークの数多くの他のESデバイスに間接的に影響を及ぼす。
前述のように、コンピュータは、コンピュータを識別し且つ其のコンピュータを意図されていないパケットをブロックするために、データ・リンク・レイヤで用いられる其れらに割り当てられた単一の独自のMACアドレスを備えている。これは、単一のESコンピュータに対して且つ経路指定する（およびブリッジしない）ISコンピュータに対して受け入れられる状態で作動する。それは、統合化IS/ESデバイス、またはブリッジが生じるISデバイスに対して作動しない。これらのアプリケーションの両方に対して、デバイスは重要な処理を高いレイヤのソフトウェアでいま実施しなければならない。そのうえ、数多くのコンピュータを含んでいるネットワークの場合、ESコンピュータを処理する量はマルチカストを処理しなければならないので、その殆どは、重要であっても無視される。
発明の要約
本発明は、単一のMACアドレスの代わりに多重MACアドレスを備えたDLLデバイスを構築し、多重の仮想DLLインタフェースをコンピュータの上部レイヤ（３−７）に提供する。これは、多重の仮想DLLインタフェースの長所を活用して、コンピュータに依って実行される各々機能の性能を高める、ネットワーク・システムに取り付けるための新しいクラスの多重機能コンピュータを導くことになる。従って、新しいネットワーク・インタフェース制御装置と、ネットワークに取り付けるための新しいクラスの多重機能コンピュータ・システムが与えられる。
本発明によるネットワーク・インタフェース制御装置は、ネットワーク送信媒体へ及びネットワーク送信媒体からデータを転送するためのコネクタと、コネクタに結合されている媒体アクセス制御デバイスを含んでいる。媒体アクセス制御デバイスは、データのフレームをコネクタを経由して受信し且つ送信し、且つ接続されているコンピュータの各々処理モジュールと通信するために複数のデータ・チャンネルを含んでいる。媒体アクセス制御デバイスのメモリは複数のデータ・チャンネルに対して複数の割り当てられたネットワーク・アドレスを保存する。デバイスのアドレス濾波ロジックは、複数のデータ・チャンネルとメモリに結合され、且つ各々割り当てられたネットワーク・アドレスに応答して複数のデータ・チャンネルに対してコネクタを経由して受信されたフレームをパスし且つブロックする。
或る改善事例に従って、媒体アクセス制御デバイスのメモリは割り当てられたネットワーク・アドレスに加えて複数の更なるネットワーク・アドレスを保存する。アドレス・フィルタ・ロジックは、特定のフレームのソースと宛先アドレスがメモリに保存されている更なるアドレスで確認される時に、複数のデータ・チャンネルの少なくとも１つのチャンネル上で特定のフレームをブロックするロジックのように、更なるネットワーク・アドレスに応答する回路を含んでいる。
媒体アクセス制御デバイスに依って作動される複数のデータ・チャンネルは、単一の物理的インタフェース、または特定のデザインの必要性に適した独自の物理的インタフェースに常駐できる。高性能のデザインは、データ・チャンネルの各々に対して独自のバッファと待合わせ構造を含んでいる。代替デザインは、独自の、割り当てられたネットワーク・アドレスを備えて接続されたコンピュータの複数の機能モジュールに対して共有されるバッファと待合わせ構造を含むことができる。
或タイプのネットワーク送信媒体のためのネットワーク・インタフェース制御装置はコネクタと媒体アクセス制御デバイスの間に結合される媒体仲裁回路を含んでいる。この回路は、アドレス・フィルタ・ロジックに、ネットワーク送信媒体からコネクタを経由して受信されるフレームと、複数のデータ・チャンネルからネットワーク送信媒体に送信されるフレームを送る。従って、ネットワーク・インタフェース制御装置は其れに依って送信されたフレームを受信するのて、別個のネットワーク・アドレスを有する独自の機能モジュールはネットワーク・インタフェース制御装置を共有する他の機能からの通信を処理できる。
代わりに、本発明は、ネットワーク送信媒体へ及びネットワーク送信媒体からデータ・フレームを転送するための物理的レイヤ・デバイスと、物理的レイヤ・デバイスに結合されている複数の仮想データ・リンク・レイヤ・モジュールを搭載する、ネットワーク・インタフェース制御装置を特徴にしている。仮想データ・リンク・レイヤ・モジュールは接続されているコンピュータの各々上位のプロトコル・レイヤ・モジュールに対応する複数のデータ・チャンネルと、複数の仮想データ・リンク・レイヤ・モジュールに対して割り当てられたネットワーク・アドレスを保存するためのメモリと、割り当てられたネットワーク・アドレスに応答して複数の仮想データ・リンク・レイヤ・モジュールに対して物理的レイヤ・デバイスから受信されたデータ・フレームを選択的にパスまたはブロックする、物理的レイヤ、デバイスと複数のデータ・チャンネルとメモリに結合されている、アドレス・フィルタ・ロジックを含んでいる。発明の或る見解に於いて、物理的レイヤ・デバイスは、ネットワーク送信媒体に接続するために、対応する複数の仮想データ・リンク・レイヤ・モジュールの複数のデータ・データを、単一のデータ・パスに併合する回路を含んでいる。
従って、コンピュータで上位のプロトコル・レイヤ・モジュールとするために、アドレス・フィルタ・ロジックと物理的レイヤ回路を共有し、コンピュータの他の上位レイヤ・モジュールからの送信を受信する、独自のデータ・リンク・レイヤ・インタフェースが提供される。
前述のように、本発明は新しいクラスの多重機能コンピュータ・システムも特徴にしている。本発明の特徴によるコンピュータ・システムは、ネットワーク送信媒体に結合されていて、第１の割り当てられたネットワーク・アドレスを有する第１プロセッサ・インタフェースと、第２の割り当てられたネットワーク・アドレスを有する第２プロセッサ・インタフェースを少なくとも含んでいる、ネットワーク・インタフェースを含んでいる。第１処理資源はフレームをネットワーク・インタフェースを経由して受信し且つ送信する第１プロセッサ・インタフェースに結合されている。更に、第２処理資源はフレームをネットワーク・インタフェースを経由して受信し且つ送信する第２プロセッサ・インタフェースに結合されている。
第１と第２の処理資源は、エンド・システム手順を実行するメインCPUと、中間システム機能を実行する双対プロセッサCPUを搭載している。代わりに、第１と第２の処理資源は単一のCPUに依って実行される別個のプロトコル・スーツを搭載している。第１と第２のプロセッサ・インタフェースは、ネットワーク送信媒体と第１と第２の処理資源の間のデータの通信のために各々バッファと待合わせ構造を含んでいるか、または単一のバッファと待合わせ構造を共有している。
前述のように、本発明の特徴は、第１と第２のプロセッサ・インタフェースを各々仮想データ・リンク・レイヤ・インタフェースとしてコンピュータ・システムに依って実行される上位レイヤ機能に与える。更に、システムは、第１と第２のプロセッサ・インタフェースの１つが各々割り当てられたネットワーク・アドレスを有する複数の仮想データ・リンク・レイヤ・インタフェースを搭載するように構成されている。
他の特徴において、本発明は新しいクラスの統合化エンド・システム／中間システム・コンピュータを提供する。この新しいクラスのIS/ESコンピュータは複数の割り当てられたネットワーク・アドレスを有するネットワーク・インタフェースに基づいている。従って、デバイスは、第１の割り当てられたネットワーク・アドレスを有する第１プロセッサ・インタフェースと第２の割り当てられたネットワーク・アドレスを有する第２プロセッサ・インタフェースを少なくとも含んでいる、第１ネットワーク送信媒体に結合されている。第１プロセッサは第１プロセッサ・インタフェースに結合され且つネットワーク・エンド・システム資源を含んでいる。第２プロセッサは、第２プロセッサ・インタフェースに結合され、且つ第２ネットワーク送信媒体に結合される少なくとも第２の第２ネットワーク・インタフェースを含んでいる。第２プロセッサは、第１と第２のネットワーク送信媒体を横断する送信のために第１と第２のネットワーク・インタフェース間でフレームを搬送するネットワーク中間システム資源を実行する。従って、第２プロセッサは、ここで説明された“経路指定アダプタ”機能を与える。また、このシステムは、それがブリッジと経路指定とBrouting機能を実行するように、第２プロセッサ上のネットワーク送信媒体に任意の数のポートを与えるように拡張できる。更に、これらの中間システム機能は、第１プロセッサ上で実行されるネットワーク・エンド・システム資源に干渉せずに実行される。
更に他の特徴において、新しいクラスの多重機能システムは、第１仮想データ・リンク・レイヤ・インタフェースをメインCPUに且つ第２仮想データ・リンク・レイヤ・インタフェースを大容量のオーディオとビデオ・データを扱う多重媒体モジュールに与える、多重MACアドレス・ネットワーク・インタフェース・コントローラを含んで提供される。オーディオとビデオ・データは、ネットワークを経由して多重媒体モジュールに、モジュールの独自のMACアドレスに基づいて、且つ主要処理モジュールまたはネットワークの他のエンド・システムとの通信に用いられる上位レベルのプロトコルに付随するオーバーヘッドの無い状態で、出入できる。
結論として、発明には４つの基本的なネットワーク・インタフェースの特徴がある。本発明の第１の特徴は、多重MACアドレスをデータ・リンク・レイヤ・デバイスに使用し、且つちょうど１つのアドレスというより、むしろこのセットでブロックまたはパスするアドレスを使用することである。本発明の第２の特徴は、コンピュータの上部レイヤに対して多重の別個のデータ・リンク・レイヤ・デバイスとして現れる単一のデータ・リンク・レイヤ・デバイスの作成に依って仮想のDLLを具備することにある。本発明の第３の特徴は、単一のデータ・リンク・レイヤ・デバイスが複数のデバイスをエミュレートしている時に要求される媒体仲裁方法にある。本発明の第４の特徴は、パケットが送信されている時に其れを受信する方法にある。
更に、新しいクラスの多重機能コンピュータ・システムと高性能統合化IS/ES製品と新しい多重媒体システムは、仮想データ・リンク・レイヤ技術に基づいて提供される。
本発明の他の特徴と利点は、図面と詳細な説明と次に示す特許請求の範囲を検討することに依って理解できる。
【図面の簡単な説明】
図１は従来技術のネットワーク中間システムの機能ブロック図である。
図２は、図１の従来技術の中間システム・ブリッジ・セクションのためのソフトウェア・アルゴリズムのフローチャートである。
図３は、多重に割り当てられたMACアドレスを搭載する本発明に従って実現されたネットワーク中間システムの機能ブロック図である。
図４は、本発明に従って適応される図３の中間システムのブリッジ機能のソフトウェア・アルゴリズムのためのフローチャートである。
図５は、単一のMACアドレスを有する従来技術のエンド・システム／中間システムの機能ブロック図である。
図６は、本発明に従う多重MACアドレスを有するエンド・システム／中間システムの機能ブロック図である。
図７は本発明に従う単純化されたＩＳ／ＥＳコンピュータの機能ブロック図である。
図８は、本発明を活用する経路指定アダプタ／境界ルータ・システムの機能ブロック図である。
図９は、ホスト・プロセッサとの接続のために適応される、本発明に従うネットワーク・インタフェース・コントローラを備えた双対プロセッサの略図である。
図１０は、図８のシステムで使用するネットワーク・インタフェース・コントローラの略図である。
図１１は、本発明に従うAUIインタフェースのための媒体仲裁回路の機能ブロック図である。
図１２は、BNCコネクタのための媒体仲裁回路の機能ブロック図である。
図１３は、１０BaseTコネクタのための媒体仲裁回路の機能ブロック図である。
図１４は本発明に従って表現されたアドレス・フィルタの機能ブロック図である。
図１５は、本発明に従う多重MACアドレス・インタフェース・コントローラを使用する多重媒体システムの概略ブロック図である。
図１６は、図１５の多重媒体システムで使用するネットワーク・インタフェース・コントローラの略図である。
図１７は、図１５の多重媒体システムのネットワーク・インタフェース・コントローラの代替事例の略ブロック図である。
好まれる実施例の詳細な説明
本発明の詳細な説明は図１〜１７を参照しながら説明され、そこでは、図１と２と５は従来技術を示し、図２と４と図６〜１７は本発明を図示している。
Ｉ．多重MACアドレス
本発明に従って、セットのMACアドレスは単一のMACアドレスの代わりにデータ・リンク・レイヤ・デバイスに割り当てられていて、ロジックは、パケットをブロック（放棄）するか、またはパケットのソースと宛先MACアドレスがセットの割当アドレスとマッチするかどうかに基づいてコンピュータの上部レイヤにパケットをパスするために与えられている。本発明に包含されているDLLデバイスは、処理に費やされる時間が最小限であるレイヤ２と、費やされる時間が重要な単位になる上部レイヤの関係の決定を可能にするてんで、従来のDLLデバイスに対して改善されている。次に示すのは、発明を用いて実施できる改善の一部の例である。
(1)コンピュータのDLLの多重で独自のMACアドレスを、丁度それが多重の異なるコンピュータから構成されるようにして割り当てて、上部レイヤとの多重データ・チャンネルを具備するDLLを構築することに依って、単一のDLLは、仮想インタフェースを与え、種々の上部レイヤ・ソフトウェアが丁度各々ソフトウェア・モジュールが其れ自体の専用DLLを具備するようにして書き込まれることを可能にする。これは次の仮想データ・リンク・デバイスの項目で詳細に説明される。
(2)コンピュータのDLLにマルチカスト・アドレスである更なるMACアドレスを保存することに依って、ＢＳコンピュータは、各々マルチカストを調べて其れが関係するかどうか決定しなければならない上部レイヤ・ソフトウェアに於ける処理時間を大幅に短縮できる。殆どのマルチカストはＥＳコンピュータに依って放棄されるので、この発明の使用は、特に非常に数多くのコンピュータを具備するLANで顕著な節減を達成することになる。プロトコルに基づいて、DLLデバイスは、マルチカストMACアドレスの其のリストのものを除いて全てのパケットを受け取るか、または其のリストのものだけ受け取る。
(3)コンピュータのDLLにLANの他のコンピュータに割り当てられていた更なるMACアドレスを保存することによって、ブリッジを行うＩＳデバイスは、パケットのソースと宛先の両方のアドレスがDLLの更なるMACアドレスのリストに存在するDLL放棄パケットを具備することに依って、大幅に減少された其の処理オーバーヘッドを具備できる。宛先アドレスがテーブルにある場合、パケットは別のLANに送られてはいけない。ソース・アドレスがテーブルにある場合、パケットを送ったコンピュータはブリッジにとって既に“既知の”ものである。ソース・アドレスがテーブルにない場合、パケットを送るコンピュータはブリッジにとって“未知”のものであり、そのソース・アドレスは上部レイヤ・ソフトウェアによってテーブルのアドレスのリストに加えられる。
図１は、乱雑モードで作動するＩＳコンピュータBrouterまたはBridgeの代表的な従来技術のデザインを示す。コンピュータは、プロセッサ１１に結合されているネットワーク・インタフェース・コントローラ１０を含んでいる。ネットネットワーク・インタフェース・コントローラ１０とプロセッサ１１の間のインタフェースは、送信バッファと待合わせ構造１２を含んでいるデータ・パスを含んでいて、バッファと待合わせ構造１３を受信する。
ネットワーク・インタフェース・コントローラ１０は送信媒体１４に媒体仲裁回路１５を経由して結合されている。送信バッファと待合わせ構造１２からのパスはライン１９を横断して媒体仲裁回路１５に与えられている。また、受信されたデータはライン１６上で送られてバッファと待合わせ構造１３を受信する。独自のMACアドレス１８とアドレス・フィルタ・ロジック１７は、ネットワーク・インタフェース・コントローラ１０上に通常は存在するが、デバイスが散乱モードで作動している時に用いられない。
バッファと待合わせ構造１２と１３はプロセッサ１１のリンク・レイヤ・インタフェース処理モジュール２０に結合されている。リンク・レイヤ・インタフェース・モジュール２０はブリッジと経路指定機能のためにプロトコル・レイヤ・モジュール２１に結合されている。これらの機能２１は、ブロック２２に依って表わされているように他のローカル・エリア・ネットワークまたはワイド・エリア・ネットワークに結合されている。また、プロトコル・レイヤ・モジュール２１は、プロセッサ１１に依って実行されるネットワーク管理資源ブロック２３にも結合される。
ソフトウェアは、経路指定パケット、ブリッジ・パケット、ネットワーク管理パケットの違いを区別するために要求される処理機能を備えた、このデザインで層状にされる。ブリッジは全てのパケットのチェックを要求するので、プロセッサ１１に依って実行されたソフトウェアはLANの全てのパケットを実際に処理しなければならない。
図２は、図１の従来技術のデバイスのブリッジ部のためのソフトウェア・アルゴリズムを示す。図２に図示されるアルゴリズムは受信パケット・ブロック３０から始まる。上部レイヤ・ソフトウェアがパケットをバッファと待合わせ構造から受信した後に、ソフトウェアは、パケットがローカルの宛先を有しているかどうか最初に決定する（ブロック３１）。この決定は、ソフトウェアに依って開発されたMACアドレス・データ・ベース３２を参照しながら行われる。ブロック３１で、パケットがローカルな宛先を有すると決定されると、ソフトウェアはパケットを放棄する（ブロック３３）。しかし、パケットがリモートの宛先を有している場合、ソフトウェアはパケットをリモートLANに送る（ブロック３４）。ブロック３３または３４の後に、必要におうじてパケット処理の最後に到達する（ブロック３５）。従って、全てのパケットが、調査され、宛先MACアドレスに基づいて送信または放棄される。ブリッジは、全てのパケットのソース・アドレス・フィールドを調査し、それらのデータベースを作成して、ローカルLANデバイスの独自のMACアドレスを“学習”する。このデータベースは、ローカルであるパケットを濾波するためにブリッジに依って用いられる。全てのパケットがソフトウェアに依って調査されなければならないので、ブリッジのプロセッサは十分な容量を備えていなければならない、そうしないと、パケットは紛失または“ドロップ”され、必要な時に送信されない可能性がある。これらのドロップされたパケットはエンド・ステーションの上部レイヤ・プロトコル・ソフトウェアに依って通常は取り戻されるが、それらは、性能と応答の問題を招き、ＥＳデバイスが多くのパケットを送って紛失されたパケットを取り戻すことを始める時に、“スラッシング”を導いて、ブリッジを更にオーバーロードする恐れがある。
本発明を用いると、BridgeまたはBrouterの性能を大幅に拡大できる。図３は発明を用いる新しいデザインを示す。システムはホスト・プロセッサ５１に結合されているネットワーク・インタフェース・コントローラ５０を含んでいる。ホスト・プロセッサ５１はネットワーク管理資源５２と中間システム経路指定機能資源５３と中間システム・ブリッジ機能資源５４を含んでいる。経路指定とブリッジ機能５３と５４は、ブロック５５に依って表される他のローカル・エリア・ネットワークまたはワイド・エリア・ネットワークに結合されている。ネットワーク管理資源５２は、パケットをバッファと待合わせ構造５７と５８を経由してネットワーク・インタフェース・コントローラ５０に送信し且つ受信するためにリンク・レイヤ・インタフェース・モジュール５６に結合されている。同様に、中間システム経路指定機能５３は、データをネットワーク・インタフェース・コントローラ５０を経由して受信し且つ送信するためにバッファと待合わせ構造６０と６１を経由して順に結合されるリンク・レイヤ・インタフェース資源５９に結合されている。また、中間システム・ブリッジ機能５４は、データをネットワーク・インタフェース・コントローラ５０を経由して受信し且つ送信するためにバッファと待合わせ構造６３と６４を経由して順に結合されるリンク・レイヤ・インタフェース・モジュール６２に結合されている。
ネットワーク・インタフェース・コントローラ５０は、データをライン７１を横断して媒体仲裁回路７２に受信し且つ送信する送信媒体７０に結合されている。媒体仲裁回路７２は、ホスト・プロセッサ５１の各々リンク・レイヤ・インタフェース５６と５９のために送信バッファと待合わせ構造５７と６０と６３からの送信データ・パス７３と７４と７５を併合する。媒体仲裁回路７２から受信されたデータはライン７６を横断してアドレス・フィルタ・ロジック７７に送られる。アドレス・フィルタ・ロジックは、中間システム機能に割り当てられたMACアドレス７８と、ネットワーク管理機能に割り当てられたMACアドレス７９と、更なるフィルタ機能に用いられる多重の独自でない可変自在のMACアドレス８０を保存する、メモリに結合される。受信されたパケットは、そこで、割当アドレス７８と７９に相応し且つ更なるアドレス８０に相応してパスまたはブロックされる。従って、アドレス・フィルタは、ネットワーク管理指定パケットのためにバッファと待合わせ構造５８にライン８１を横断して結合される。アドレス・フィルタは、各々経路指定とブリッジ機能のためにバッファと待合わせ構造６１と６４にライン８２と８３を横断してデータを送る。
ローカルＥＳデバイスのアドレスを搭載するDLLのアドレス・アレイをプログラム設定し、このアレイにエントリとマッチする其れらの宛先アドレスに基づいてパケットをブロックすることに依って、ブリッジ・ソフトウェアが処理しなければならないパケットの数は大幅に減少される。更に、アレイを用いてパケットのソース・アドレスを比較すると、ブリッジの学習機能も大幅に改善できる。そのうえ、幾つかの独自のMACアドレスを用いると、デバイスのネットワーク管理機能とＩＳ経路指定機能とブリッジ機能も巧みに分離できる。
図４は発明の長所を採用した新しいブリッジ・ソフトウェアを示す。図４に図示される新しいアルゴリズムは受信パケット・ブロック９０を含んでいる。受信されたパケットのための第１ステップは、パケットがローカルであるかどうか決定することである（ブロック９１）。このステップは、ブリッジ・ソフトウェア・ロジックに依って生成されたMACアドレス・データベース９２に相応して実行される。パケットがローカルの場合、アルゴリズムは、パケットが放棄されるブロック９３に分岐する。パケットの放棄後に、ネットワーク・インタフェース・コントローラのアドレス・アレイ８０が更新される（ブロック９４）。ブロック９１で、パケットがリモート・ネットワークに送られたと決定されると、それはリモートLANに送られる（ブロック９５）。ブロック９４または９５の後に、必要におうじて、パケット処理はブリッジ・ソフトウェアに依って終了する（ブロック９６）。ロジックに余計なステップ（ブロック９４）があるが、発明を用いて処理しなければならない非常に少数のパケットは、必要とされるプロセッサの帯域幅を著しく減少する。更に、更新ステップは、他のCPUの作動が発生すると考えられない時の“不動作”中に現れるように構成できる。
ソース／宛先アドレスをペアでDLLに保存すると、数多くのプロトコル・スーツに依るマルチカスト・パケットの使用時の問題を解決できる。これらのプロトコルに対して、単一のマルチカスト・アドレスが全てのグループ・メッセージに用いられ、（ネーム分解のような）特定の上部レイヤの活用部はDLLではアクセスできないパケットのデータ部に構成される。これは特殊なマルチカストのブロックを不可能にする。しかし、リストのアドレスをペアで備えることに依って、DLLは、関係するものを除いて、全てのコンピュータからの全てのマルチカスト・パケットをブロックするように構成できる。
II．仮想データ・リンク・デバイス
いまコンピュータには単一のDLLが内蔵され且つ単一のMACアドレスが割り当てられているので、コンピュータの上部レイヤ３−７は、複数の機能がネットワークにアクセスする時に更に複雑になる。発明に従って、多重の仮想DLLが与えられ、各々其れら自体の独自のMACアドレスが割り当てられ、オプションで各々DLLに対する其れら自体のデータ・パスを備えている。これは、コンピュータを、それ自体の仮想DLLに対する排他的なアクセスを有する各々主な上部レイヤ・モジュールを有することに依って遙かに単純にする。これに基づくコンピュータの改善例が次に示される。
幾つかのプロトコルを備えた統合化ＩＳ／ＥＳデバイスの場合、各々プロトコル・モジュールＩＳモジュールの独自のMACアドレスは、パケットが、前述の関連する技術の項目で説明された高価な（CPU帯域幅と消費時間に関して）ＲＲＰＩ方法の代わりに、適切なソフトウェア・モジュールに直接パスされることを可能にする。この技術も、多重プロセッサ・システムに於いて非常に価値があり、上部レイヤ・ソフトウェア・モジュールが異なるCPU上で実行することを可能にし、且つ、それらのパケットは、CPU帯域幅と消費時間に関して再び高価になるソフトウェアの上部レイヤの代わりに、物理的レイヤで其れらに転送される。
次の図５は、統合化ＩＳ／ＥＳマルチプロセッサ・デバイスの従来技術のシステム構造を示し、データの流れとソフトウェア・モジュールを図示している。
従来技術の統合化ＩＳ／ＥＳデバイスはメイン・プロセッサ１０１に結合されているネットワーク・インタフェース・コントローラ１００を含んでいる。メイン・プロセッサは順に双対プロセッサ１０２に結合されている。
ネットワーク・インタフェース・コントローラ１００は送信媒体１０３に媒体仲裁回路１０４を経由して結合される。媒体仲裁回路１０４は、受信データをライン１０５を横断して、独自のMACアドレス１０７を保存するアドレス・フィルタ１０６にパスする。フィルタ１０６をパスするパケットはバッファと待合わせ構造１０８を経由してラウンド・ロビン・プロトコル識別モジュール１０９に送られる。
メイン・プロセッサ１０１または双対プロセッサ１０２から送信されたパケットは、バッファと待合わせ構造１１０を経由しパス１１１を横断して媒体仲裁回路１０４にパスされる。
図５に図示される実施例の場合、メイン・プロセッサ１０１は、独自の上部レイヤ・プロトコルを実行する複数の処理モジュール１２０と１１２と１１３を実行する。各々が、機能など１１５を経路指定するためにプロトコル中間システム・レイヤに且つエンド・システム機能要素のためにプロトコル上部レイヤに結合されている、プロトコル・リンク・レイヤ・インタフェース１１４を含んでいる。
同様に、双対プロセッサ１０２は処理モジュール１１６を実行する。処理モジュール１１６は、プロトコル中間システム・レイヤ１１７に結合されているエンド・システム機能要素のためのプロトコル上部レイヤを含んでいる。プロトコル中間システム・レイヤ１１７は相互プロセッサ通信モジュール１１８に結合されている。このモジュールは、メイン・プロセッサ１０１に依って実行されるプロトコル・リンク・レイヤ・インタフェース・モジュール１１９と通信する。
そこで、ラウンド・ロビン・プロトコル識別モジュール１０９は、処理モジュール１１６、１２０、１１２、１１８の各々プロトコル・リンク・レイヤ・インタフェース（例えば１１９と１１４）に送る受信パケットの経路指定を行う。各々処理モジュール（１１６、１２０、１１２、１１３）に依って送信されるパケットは、媒体仲裁回路１０４を経由して直接送信されるバッファと待合わせ構造１１０を経由してパスされる。
本発明に従って変更された双対プロセッサ／メイン・プロセッサが図６に図示されている。図６に図示されるように、本発明に従う統合化ＩＳ／ＥＳシステムは、メイン・プロセッサ１５１と双対プロセッサ１５２に結合されるネットワーク・インタフェース・コントローラ１５０を含んでいる。メイン・プロセッサ１５１はネットワーク・インタフェース・コントローラ１５０にバッファと待合わせ構造１５３と１５４を経由して結合される。双対プロセッサ１５２はネットワーク・インタフェース・コントローラ１５０にバッファと待合わせ構造１５５と１５６を経由して結合されている。
メイン・プロセッサは複数の処理モジュール１５７と１５８と１５９を実行し、それらは、各々モジュールのエンド・システム機能要素のためにプロトコル上部レイヤに順に結合される、プロトコル中間システム・レイヤ１６１に結合されているプロトコル・リンク・レイヤ・インタフェース１６０を含んでいる。モジュール１５７と１５８と１５９の各々は、送信バッファと待合わせ構造１５４に直接及び受信バッファと待合わせ構造１５３に直接結合されて、ネットワーク・インタフェース・コントローラに対するデータ・チャンネルを構築する。
双対プロセッサ１５２は処理モジュール１６３も実行する。この処理モジュールは、プロトコル・リンク・レイヤ・モジュール１６４と、プロトコル中間システム・レイヤ１６５と、前述のようにエンド・システム機能要素のためのプロトコル上部レイヤを含んでいる。しかし、プロトコル・リンク・レイヤ・インタフェース１６４を双対プロセッサに含め、プロトコル・リンク・レイヤを送信フレームのためにバッファと待合わせ構造１５５に且つ受信フレームのためにバッファと待合わせ構造１５６に直接接続することに依って、独自のデータ・チャンネルが、相互プロセッサ通信モジュールに依存せずに、別のデータ・パスを経由しげ双対プロセッサに対して構築される。
図６のネットワーク・インタフェース・コントローラ１５０は送信媒体１７０に媒体仲裁回路１７２を経由して結合されている。受信データは、多重MACアドレスを前述のようにメモリ１７４に保存するアドレス・フィルタ１７３を経由して結合される。３つのデータ・チャンネルは、メイン・プロセッサの各々モジュール１５７と１５８と１５９にバッファと待合わせ構造１５３を搭載するパスを経由して結合されている。別のデータ・チャンネルはバッファと待合わせ構造１５６を経由してアドレス・フィルタ１７３から双対プロセッサに依って実行されるモジュール１６３に結合されている。送信されるフレームはメイン・プロセッサ１５１の３つのモジュールからバッファと待合わせ構造１５４を経由して媒体仲裁回路１７２に送られる。更に、送信フレームは双対プロセッサ１６３からバッファと待合わせ構造１５５を経由して媒体仲裁回路１７２に送られる。
図示されるように、上部レイヤ・システムは統合化ＩＳ／ＥＳシステムに対して非常に単純にされており、上部レイヤ相互プロセッサ通信とラウンド・ロビン・プロトコル識別モジュールはもう要求されない。
図７は本発明の別の応用事例を図示していて、そこでは統合化コンピュータが、エンド・システムと中間システムの機能をハードウェア的に分離し、各々機能を其れ自体のプロセッサに与える。従って、図７のようにシステムは送信媒体２00に媒体仲裁回路２０１を経由して結合される。受信フレームはライン２０２を横断してアドレス・フィルタ２０３に送られる。アドレス・フィルタ２０３は、エンド・システム・プロセッサに対して第１に割り当てられたMACアドレス２０４に、中間システム・プロセッサに対して第２に割り当てられたMACアドレス205に対応している。中間システムに指定された受信フレームはバッファと待合わせ構造２０６から中間システム・プロセッサ２０７に結合される。エンド・システムを経由して指定された受信パケットはバッファと待合わせ構造２０８を経由してエンド・システム・プロセッサ２０９に結合される。同様に、中間システムから送信されたフレームはバッファと待合わせ構造２１１を経由して媒体仲裁回路２０１に結合される。デバイス２０９のエンド・システム部に依って送信されたパケットは、バッファと待合わせ構造２１２を経由して媒体仲裁回路２０１に結合される。
中間システム２０７は、ブロック２１３に依って表されるようにワイド・エリア・ネットワークまたはローカル・エリア・ネットワークのような他のネットワークに少なくとも１つのネットワーク・インタフェースを経由して結合される。
従来技術の統合化ＩＳ／ＥＳシステムは、システムがハードウェアと設置される各々LANの単一の独自のMACアドレスを共有するようにデザインされ、且つ、上部レイヤ・ソフトウェアは、パケットのデータ部に基づいて、パケットがシステムのローカルなＥＳ部かＩＳ部か或いは両方のためのものかについて決定しなければならない。本発明は、２つ以上の独自のMACアドレスを可能にするハードウェアMAC手法と、MAC宛先アドレスに基づいてパケットのハードウェア・レベル経路指定を提供し、そこでは、片方のパス２０８がシステムのＥＳ部に専用の独自のアドレスを有する唯一の連絡用のパケットを入手し、他のパス２０６は全てのパケット（ＩＳブリッジ機能要素の場合）または連絡用及びシステムのＩＳ経路指定機能要素専用の独自のMACアドレスを意図するパケットの何れかを入手する。ＩＳ部は、ＩＳとＥＳの機能要素のCPU分離を可能にする理想的な双対プロセッサである。このＥＳとＩＳの機能要素を統合する新しい方法は、ネットワーク資源をリモート・ネットワークに拡大するシステムという名称で、１９９２年４月２０日に出願された、John Hartに依る同時継続アメリカ特許出願番号０７／８７１，１１３に述べれられている境界経路指定環境の経路指定アダプタにとって特に魅力的である。経路指定アダプタの場合、ＩＳ機能要素専用の双対プロセッサのサイズと複雑性と性能に関するCPUとRAMの基準は、最小限であり、且つ単一のＰＣカードの新しいMACハードウェアを一体化できる。
図８に図示されるように、経路指定アダプタ２４１は、それが取り付けられている境界LAN ２２３とリンク２３８を横断して受信／送信されるLANフレームに囲われているプロトコル・スーツと関係なしに、機能を実行する。経路指定アダプタの機能要素は、境界中継機能２２１と経路指定アダプタ管理機能２２４を実行する双対プロセッサ２４４に結合される境界リンク・インタフェース２２０から成る。更に、前述のような多重MACアドレス・ネットワーク・インタフェース・コントローラ２２２は、独自のMACアドレスを有する第１インタフェース246を横断して双対プロセッサ２４４に且つ独自のMACアドレスを有する第２インタフェース２４７を横断してメイン・プロセッサ２４５に結合される。
境界リンク・インタフェース機能２２０は境界リンク２３８と境界中継機能２２１の間に位置している。経路指定アダプタ２４１の境界リンク・インタフェース２２０は、境界ルータ２４０の其の同じ境界リンク・インタフェース機能２３７と連動し、フレームを境界リンク２３８に送信し且つ其こから受信するように対応する。境界リンク・インタフェース２２０の機能要素は境界ルータ２40の境界リンク・インタフェース２３７と本質的に同じである。
境界ルータは、図８に図示されるように、ローカルLAN ２３１に取り付けるために少なくとも１つのローカルLANインタフェース２３０を含んでいる。図示されるように、各々取り付けられるLANに１つのローカルLANインタフェースがある。各々ローカルLANインタフェースには境界ルータの経路指定資源に依る使用のためにLANアドレスが与えられている。ローカルLANインタフェースには、各々取り付けられるLANに対して１つ、カプセル開放／カプセル封鎖機能２３２が結合されている。カプセル開放／カプセル封鎖機能２３２は、各々経路指定されたプロトコルに対して実施されるルータ管理機能２３３とマルチプロトコル・リレー２３４に結合されている。リモート・ネットワークに作用する境界ルータのエクステンションは境界ルータ管理機能２３５と境界設定機能２３６と境界リンク・インタフェース２３７を含んでいる。境界中継インタフェース２３７は、経路指定アダプタ２４１の境界リンク・インタフェース２２０との通信を与える境界リンク２３８に結合される。
従って、境界ルータは、（3 COM Corporation，Santa Clara，Californiaから入手できるNETBuilderのような）マルチプロトコル・ルータのロジックの全てにプラスして、境界ルータを経路指定アダプタに相互接続する境界リンクのための境界機能要素を含んでいる。更なる機能要素は境界ルータ管理機能２３５と境界設定機能２３６と境界リンク・インタフェース２３７のインタフェースから成る。
経路指定アダプタに於いて、多重MACアドレス・ネットワーク・インタフェース・コントローラ２２２は境界LAN ２２３と双対プロセッサの境界リレー２２１の間に位置する第１インタフェース２４６を含んでいる。インタフェース・コントローラ２２２のインタフェース２４６は、経路指定アダプタのためにフレームを境界LAN ２２３に送信し且つそこから受信するように対応する。インタフェース２４６のネットワーク・インタフェース・コントローラ２２２の機能要素は、次に示す、
(1)  境界LAN ２２３によって定められる物理的なデータ・リンク・プロトコルなどを取り扱う要素と、
(2)  教会中継機能２２１に依って中継されるフレームを送信する要素と、
(3)  有効に受信されたLANデータ・フレームを、アダプタ管理機能を経路指定して設定されたグループ・アドレスまたは境界ルータに拡大されたリモート・インタフェースを与えるインタフェース２４６のアドレスを含んでいるプログラム設定されたセットのアドレス内部に宛先アドレスを有する境界中継機能２２１にパスする要素を含んでいる。
境界中継機能２２１は、アダプタのフレーム中継ロジックを含んでいて、高レベルのプロトコル・スーツと関係なしに作動する。経路指定アダプタ２０１のフレーム中継ロジックは次に示す２つの規則に依って定められる。
(1)  境界リレー２２１に境界LAN ２２３からパスされた任意のフレームは、リンク２３８が作動しない限り、その境界リンク・インタフェース２２０に送られる。この場合、それはネットワーク管理フレームであり、それは経路指定アダプタ管理機能２２４にパスされる。これは、リンクが作動しない時に、経路指定アダプタがローカルに管理されることを可能にする。例えば、経路指定アダプタ管理機能２２４は、リダイアルをダイアル・リンク上で試みるように、リンクを再び開く試みを要請する管理フレームに対応する。
(2)  その境界リンク・インタフェース２２０から受信された任意のフレームは、その宛先が経路指定アダプタのLANアドレスと等しくない限り、ネットワーク・インタフェース・コントローラ２２２にインタフェース２４６を経由して送られる。この場合、それは境界ルータ管理機能２３５からのネットワーク管理フレームになり、それは経路指定アダプタ管理機能２２４にパスされる。
経路指定アダプタ管理機能２２４は、LANタイプの境界LAN ２２３と受信されるマルチカスト宛先アドレスのようなローカル構成の情報を維持する。
また、経路指定アダプタ管理機能２２４は、境界ルータ管理機能の代替も作動する。そのように、それは、それから受信された管理要請や応答などを処理し応答する。
更に、経路指定アダプタ管理機能２２４は、境界リンク２３８が作動しない時に、境界LAN ２２３のエンド・システムから受信された管理機能や応答などを処理し応答する。
ネットワーク・インタフェース・コントローラ２２２は、独自のMACアドレスを有するインタフェース２４７をメイン・プロセッサ２４５の境界LANに与え、それは、このようなエンド・システムの機能を、双対プロセッサ２４４の経路指定アダプタ管理機能に依って必要とされるフレームを識別するために要求されるプロセスに依って妨げられない特定のシステムに適したものとして実行する。
図９は、本発明に従うネットワーク・インタフェース・コントローラを搭載するプリント基板を示す。回路ボード７００は、ホスト・バス・コネクタ７０１と、送信媒体コネクタ７０２と、通信をコネクタ７０２を経由して受信し且つ送信するように適応される集積回路トランスシーバ７０３を含んでいる。トランスシーバ７０３には、集積回路７０３のアドレス・フィルタ・ロジックに依る使用のために各々MACアドレスを保存するEEPROM 704、705、2706、707のような複数の不揮発性メモリ・セルが結合されている。また、ボードが挿入されるコンピュータ・システムのオペレーティング・システムのオプションのリモート初期プログラム・ロード（RIPL）のためのプログラム記憶装置７０８もある。チップ７０３は複数のチャンネルのライン７０９を横断してCPUとボードの付随するロジック７１０と通信する。このロジック７１０はSIO／モデム・チップ・セット７１１を経由して遠隔通信リンク７１２に結合される。この構成は、CPUが図８の双対プロセッサとして作動する経路指定アダプタ実施例に特に適している。
図１０は、図９のシステムに用いられるネットワーク・インタフェース・コントローラ７０３を示す。このデバイス７０３は、媒体仲裁回路７５０と、MACアドレス・レジスター７０４〜７０７に結合されるアドレス・フィルタ・ロジック７５１を含んでいる。アドレス・フィルタ７５１は、ライン７５２を横断して付随するロジック７０１とCPUの中間システム・モジュールに受信データを送り、パス７５３を横断してＰＣ処理モジュールに受信データを送る。送信データは、ライン７５４の中間システムから且つライン５４４に沿ってＰＣシステムから受信される。
図１０に図示されるように、ＰＣ処理モジュールに３つのMACアドレスが割り当てられている。これらのMACアドレスは、ＰＣに対する物理的データ・パスを共有する仮想データ・リンク・レイヤ・デバイスとしてライン７５３を横断して送られる。しかし、このデータ・パスは、ＰＣソフトウェアの観点からデータ・リンク・レイヤ・プロセスと通信するために独自のチャンネルに分割される。
III．媒体仲裁
いまEthernet 10BaseTのような配線システムは多重MACアドレスと多重データ・パスを搭載するデバイスを取り扱うように設計されていないので、本発明は、標準配線システムと適切に作動する新しい媒体仲裁インタフェースを提供する。
いまDLLは、それらが媒体上で送信している同じパケットを受信しない。単一のDLLの場合、これは、コンピュータの上部レイヤをそれらがパケットを送る時を知っているので発行しない。しかし、仮想DLLの場合、或るモジュールがパケットを送ると、他のモジュールが其のパケットの受信者になる。発明は、仮想DLLを経由して送信されているパケットを、ちょうどそれらが異なるコンピュータから来たようにして受信する能力を提供する。
図１１と１２と１３はEthernetタイプ・インタフェースのために本発明に従う３つの代替媒体仲裁回路を示す。この技術は、仲裁回路が接続される多重仮想DLLを作動するために適切な変更が加えられている、トークン・リングやトークン・バスやFDDIやISDNなどのような他のネットワーク・タイプにも適用できる。
図１１はデータ・パスを取付ユニット・インタフェースAUIで併合する媒体仲裁回路を示す。システムはネットワークの媒体３０１に結合される媒体取付ユニット・トランスシーバ３００を含んでいる。媒体取付トランスシーバ３００は、媒体取付ユニットMAUサービスを特定の媒体３０１に与える数多くの市販の集積回路の中の任意の１つであり、且つ標準取付ユニット・インタフェースAUIをドライブする信号を生成する。従って、トランスシーバ３００の出力信号は、プラスとマイナスの衝突要素のペア３０２と、プラスとマイナスの受信要素のペア３０３と、プラスとマイナスの送信要素のペア３０４を含んでいる。
媒体仲裁回路に依って作動される仮想DLLの各々は標準AUIインタフェースを媒体仲裁回路に与える。従って、システムはAUI 1 306とAUI 2 307を含んでいる。AUI 1 306は、送信要素のペア３０８と、受信要素のペア３０３と、衝突要素のペア３１０を含んでいる。AUI 2は送信要素のペア３１１と受信要素のペア３０３を含んでいる。AUI 2は衝突要素のペア３１０をAUI 1と共有している。
送信要素のペア３０８と３１１は、トランスシーバ３００に適した送信要素のペア３０４を生成するために合計増幅器３０５で併合される。合計増幅器に衝突検出ロジック３２６が結合されている。衝突検出ロジック３２６は衝突発振器３２７に結合される。衝突検出ロジック３２６は、衝突が検出される時に、信号を発振器３２７にライン３２８を横断して送る。衝突発振器３２７の出力は、ライン３２９（従来技術で周知のようにプラスとマイナスのペアを搭載する）上で送られて、送信要素のペア３０８と３１１の両方が合計増幅器３０５を経由して送信している時に始まり、両方が送信を停止すると止める。
受信要素のペア３０３は受信信号をインタフェースAUI 1 306とAUI 1 307に送る。MAUトランスシーバ３００は、送信要素のペア３０４上で送られたデータを受信要素のペア３０３を経由して反響させるので、両方にレシーバが他から送られた送信を受信できる受信パスを与える。
AUI 1とAUI 2の衝突要素のペア３１０は合計増幅器３３２の出力で生成される。合計増幅器３３２の入力は、ライン３２９の発振器３２７と、トランスシーバ３００に依って生成された衝突要素のペア３０２の出力を含んでいる。
従って、AUI 1を経由して送信されたパケットはAUI 2によって受信され、逆方向に於いても逆に受信されることが分かる。更に、送信要素のペア３０８と３１１の間の衝突は媒体仲裁回路で検出される。最終的に、合計増幅器はトランスシーバ出力３００を別個の仮想DLLインタフェース３０６と３０７から分離する。
図１２は、BNCタイプEthernetに接続するために適応される媒体仲裁回路の実施例を示す。このシステムに於いて、BNC Ethernetスタンダードに適応する同軸ケーブル４００はコネクタ一般的に４０１に接続されている。コネクタ４01は接地線４０２と信号ライン４０３を与える。信号ライン４０３は第１トランスシーバ４０４と第２トランスシーバ４０５に結合される。接地線４０２は、各々トランスシーバ４０４と４０５に結合されているＤＣ／ＤＣコンバータ４０６と４０７に結合される。ＤＣ／ＤＣコンバータ４０６と４０７は−９Ｖ電源をトランスシーバ４０４と４０５に従来技術で周知のように送る。トランスシーバ４04と４０５は、本発明に従う別個の仮想DLLに対して、各々別個のAUIインタフェース、AUI 1 410とAUI 2 411に、変成器４０８と４０９を経由して送られる、AUIインタフェースの６つの出力を生成する。
図１３は、ツイスト・ペアの送信媒体を用いる10BaseT標準Ethernetコネクタのための媒体仲裁回路を示す。そこで、10BaseTコネクタ５００は、受信要素のペア５０１を送って、衝突要素のペア５０２を受信する。受信要素のペア50１は、各々、媒体取付ユニット・トランスシーバ５０７と５０８に各々受信要素のペア５０５と５０６をドライブする第１合計増幅器５０３と第２合計増幅器５04に送られる。トランスシーバ５０７と５０８は、従来技術で周知のようにネットワーク・インタフェース・コントローラのデータ・パスに結合され、標準AUIタイプのインタフェースを与える場合もあり与えない場合もある。
システムの送信要素のペア５０２は合計増幅器５０９に依ってドライブされる。合計増幅器５０９の入力は、MAU 1 507によって生成される衝突要素のペア510と、MAU 2 508に依って生成される衝突要素のペア５１１を含んでいる。合計増幅器は衝突発振器５１３に結合されている衝突検出ロジック５１２を含んでいる。両方の送信要素のペア５１０と５１１が送信を始めると、衝突発振器の信号は、ライン５１４を横断して送られ、ライン５１５上で衝突信号を生成することを始める。両方の送信要素のペア５１０と５１１が送信を停止すると、ライン５１５の衝突信号はオフにされる。
受信要素のペア５０５と５０６を各々ドライブする合計増幅器５０３と５０４の入力は衝突信号をライン５１５上で受信する。
そのうえ、MAU 1 507に受信要素のペア５０５をドライブする合計増幅器503は、送信要素のペア５１１をMAU 2から入力として受信する。受信要素のペア５０６をドライブする合計増幅器５０４は、受信要素のペア５０１と衝突要素のペア５１５に加えて、MAU 1 507に依って送られた送信要素のペア５１０も受信する。
従って、図１３の回路は、近くの仮想DLLによって送信されたパケットを受信する能力を提供し、コネクタ５００を別個の仮想DLLから分離し、標準インタフェースをアドレス・フィルタと送信バッファと待合わせ構造に与えることが分かる。
IV．汎用プログラム設定Ethernet NIC
発明に基づくEthernetネットワーク・インタフェース・コントローラNICについて図１４と付録の表１と２と３と４を参照しながら説明される。NICは、５１１までのMACアドレスを保持できるテーブルを備えていて、２つの仮想DLLインタフェースをコンピュータの上部レイヤに与える。それは、５１１×５１１のアドレス・ペア・インデックス・アレイを備えているので、アドレス・テーブルのソースの宛先アドレスの特定のペアを具備する任意のパケットが、２つの仮想DLLの各々に対して特にブロックまたはパスされることを可能にする。アドレス・ペア・テーブルは廉価な２５６Ｋ×４の外部（NICに対して）RAMを用いて作られている。NICは、２つの別個の３２ビット全二重データ・パスをコンピュータの外部デバイスに与え、且つ広く共有されるプログラミング・インタフェースを備えている。デバイスは２つのDLLインタフェース（ＡとＢ）の各々に対して数多くのレジスターを備えていて、それらは、マルチカストが処理されなければならない行為、またはソース宛先のエントリがパケットをブロックすべきことを示唆する場合と宛先のエントリがそれをパスすべきことを示唆する場合の行為を制御する。
図１４はデバイスの制御構造を示す。表１は、パケットをパスまたはブロックするべきかどうか決定するために、次に説明されるアルゴリズムを示している。デバイスのレジスターは表２と３と４にリストされている。
NICの部分は制御構造を示すために図１４に概略的に図示されている。入力データは、ライン６００上で受信されバッファ６０１を経由して送られる。バッファ６０１で、ソース・アドレスが、検出されてライン６０２上で送られ、宛先アドレスが検出されてライン６０３上で送られる。データは、バッファ６０１からライン６０４のNICのデータ・パスに送られる。
アドレス・フィルタは、２つのデータ・パスに対して割り当てられたMACアドレスに加えて複数のMACアドレスを保持するように設計された、アドレス・リスト一般的に６０５を含んでいる。好まれる実施例のアドレス・リストは合計で５１２のエントリに対してセットの１６  ３１×４８ビットRAMを含んでいる。RAM６０５の各々にソース・インデックス・カウンタ６０６と宛先インデックス・カウンタ６０７が結合される。アドレス・リスト・カウンタ・ロジックのアドレス・リストの１つのモジュールが、単純にするために図面に図示されている。各々アドレス・リストRAM ６０５の出力は、ライン６０２のソース・アドレスを第２入力として受信するコンパレータ６０８と、ライン６０３の宛先アドレスを第２入力として受信するコンパレータ６０９に送られる。コンパレータ６０８と609の出力は、検索ロジックを制御する際に使用するために送り戻される。これらの出力は、マッチ・プロセスの２つのビット結果を保存するアドレス・マッチ・レジスター６１０にも送られる。
マッチが確認されると、マッチ・ソースのソース・インデックス・カウンタの値はインデックス・ソース・レジスター６１１に保存され、宛先インデックス・カウンタ６０７の値はインデックス宛先レジスター６１２に保存される。３２ビット・ブロックの５ビット・カウンタ値は、４ビット・ブロック・ナンバーに追加され、９ビット・ソース・インデックスと９ビット宛先インデックスが設定される。ソース・インデックス６１１と宛先インデックス６１２は、インデックス・アレイ６１３にアクセスするために用いられる１８ビット・アドレスを生成するために連結される。インデックス・アレイの出力はフィルタ制御パラメータを設定するためにレジスター６１４に送られる。レジスター６１４からのフィルタ制御パラメータはライン６１５上でフィルタ制御ロジック６１６に送られる。フィルタ制御ロジックの他の入力は、マッチ結果レジスター６１０と、次に説明される矛盾デフォルト・レジスター６１７と、アドレス・タイプ・レジスター６18を含んでいる。アドレス・タイプ・レジスターは、ライン６０３の宛先アドレスがユニカストまたはマルチカスト・アドレスであるかについて示す。
NICは、MAC A 620とMAC B 621と指示されるチャンネルＡとＢに対して割り当てられたMACアドレスを保存するためのレジスターを含んでいる。これらのレジスターには、ライン６０３の入力宛先アドレスと各々パスＡとＢに対して保存され割り当てられていたMACアドレスを比較する、各々コンパレータ６２２と６２３が結合されている。これらのマッチの結果は、入力パケットをライン624と６２５上で指示される各々チャンネルにパスするかどうか決定するために用いられる。マッチ・ライン６２４ NORマッチ・ライン６２５が指示されると、図のNORゲート６２６の出力に依って図示されるように、カウンタとロジック６１６を含んでいるアドレス・フィルタ・ロジックが動作状態になる。
NICは、５１０MACアドレスをアドレス・リストRAM ６０５に保持し、各々マッチされたソースと宛先のペアのエントリに、デフォルト・ケースと、或るアドレス・マッチがあるが他にないケースのエントリをプラスして含んでいる、マッチされたアドレス・ペア・ルックアップ・テーブル６１３を具備するようにデザインされている。これは５１２×５１２インデックス・アレイ６１３を具備することによって行われる。更に小さい或いは更に大きいNICデザインにも可能であるが、最適のものは２n−２のアドレス・リストと（２n）2のアレイ・サイズになる。次に示す定数は、アレイのエントリを記す時に用いられる。最初の２つはアドレス・リストの最初と最後のエントリのインデックスであり、２番目の２つのはデフォルトとマッチがないケースを扱うアレイのエントリのものである。
0003746785.tif 000002
NICは、製作プロセス中に独自のMACアドレスをレジスター６２０と６２１に割り当てるための２つの外部アドレス・ポートを備えている。これらのアドレスは２つの４８ビット読取専用レジスターとしてプログラマーが使用できる。
0003746785.tif 000003
デバイスは５１０×４８ビットMACアドレスの内部プログラム設定アレイ605を備えている。
0003746785.tif 000004
セットの２４ビット・ソース・マッチとセットの２４ビット宛先マッチ非オーバーフロー・カウンタ（図示されていない）も統計のために用いられる。これらは、アドレスの比較が成功するたびに増加され、コンピュータの上部レイヤに依ってアクセスできる。
処理時間を高速にするために、AddressListアレイは、各々がソースと宛先に対して２つのコンパレータ６０８と６０９を有する、１６の異なる３２×４８ビット・メモリ・セル６０５として実際に製作される。
0003746785.tif 000005
各々パケットが受信されると、パケットのソースと宛先アドレスはアレイの各々エントリと各々比較される。マッチが発生すると、９ビット・インデックス・レジスター（６１１または６１２）は、マッチが確認されたアレイのナンバー（０．．５０９）を備えてセットされ、そうでない場合に、レジスターは５１１にセットされて、マッチが確認されなかったことを意味する。ソースと宛先のマッチのための２つのレジスターは次に示す通りである。
0003746785.tif 000006
そのうえ、マッチが生じたことを意味するために用いられる、１つの２ビット・レジスター“AddressList”６１０がある。その値は次に示す通りである。
０＝いずれのアドレスのマッチもAddressList確認されない
１＝ソース・アドレスのマッチだけ
２＝宛先アドレスのマッチだけ
３＝両方のアドレスがマッチしている
各々パケットの宛先アドレスが調査され、そのタイプは１ビット・プール・レジスター“fMultiCast”６１８に記され、その値は次のように定義される。
FALSE (0)＝ユニカスト・アドレス
TRUE  (1)＝マルチカスト・アドレス
ソースと宛先インデックス・レジスターがロードされた後に、それらは５つの４ビット・データ・セルに外部２５６Ｋ×４ビット・メモリ・チップ６１３からアクセスするために用いられる。このチップ６１３は、２つのインデックス・レジスター６１１と６１２の組み合わされた１８ビットを用いてアドレス指定される（２０＊０＝５１２＊５１２＝２６２  １４４＝２５６Ｋ）。外部メモリは次のように記される。
MatchArray[0..511,0..511].A（各々４ビット・メモリ・セルの下位の２ビット）
MatchArray[0..511,0..511].B（各々４ビット・メモリ・セルの上部の２ビット）
リターンされた５つの４ビット・データ・セルは、エントリがMatchArrayと２つのグローバル・デフォルト・レジスター６５０のロケーションに対応している、１０の２ビット・レジスター６１４に保存される。最初の２つは、アドレス・ペア・マッチを含んでいるセルに用いられる。
0003746785.tif 000007
MatchSD.AとMatchSD.Bレジスターは次のように定義される。
0(00)  空（すなわち、デフォルトを使用）
1(01)  未定義
2(10)  パケットをパス
3(11)  パケットをブロック
次の４つのレジスターは、ソースと宛先の両方のアドレス・マッチが発生する時にデフォルト制御値として用いられるが、MatchSD.AまたはMatchSD.Bあるいはその両方のレジスターは“Emptyになる”。それらは次に示す通りである。
0003746785.tif 000008
次の２つのレジスターは、ソース・アドレスのマッチが発生するが、宛先アドレスでない時の動作を決定するために用いられる。
0003746785.tif 000009
最後の２つのレジスターは、宛先アドレスであるが、ソース・アドレスでない、マッチのために用いられる。
0003746785.tif 000010
２つのプログラム設定２ビット・レジスター６５０は、パケットのソースと宛先の両方のアドレスが確認されない時にパケットの処置を決定するために用いられる。
0003746785.tif 000011
前述の最初の２つの制御レジスター（MatchD.AとMatchD.Bを除いて、全てのMatch制御レジスターは次のように定義される。
0(00)  パケットをパスする
1(01)  Unicastの場合にパケットをブロックし、multicastの場合にパスする
2(10)  Unicastの場合にパケットをパスし、multicastの場合にブロックする
3(11)  パケットをブロックする
ソースと宛先の両方のアドレスがマッチし、MatchArray[Indexsrc，Indexdst]がEmptyでない場合に、パケットをブロックまたはパスする決定はMatchArrayのエントリの内容に基づいて常に行われる。ソースと宛先のペアのエントリが空の場合、矛盾デフォルト・レジスター６１７は、各々アドレスの動作が異なる場合に優先権を有するアドレスを抽出するために用いられる。ソースと宛先のアドレスに基づいてパスとブロック命令の間のこれらの矛盾を解決するために、４つのデフォルト・レジスター６５１が用いられる。レジスターは次に示す通りである。
0003746785.tif 000012
２つの.Uレジスターは、宛先パケットがUnicast（fMultiCast=FALSE）の時に、２つの.Mレジスターは宛先パケットがMulticast（fMultiCast=TRUE）の時に用いられる。２つの.Aレジスターは最初のDLLインタフェース、２つの.Bは第２のDLLインタフェースのためにある。両方のアドレスがマッチする場合、マッチ・セルは空になり、fUseDstは優先権を有するアドレスを決定するために用いられる。fUseDstSDがTRUEの場合、空のMatchSD.dst（MatchArray[510,Indexdst]から）が用いられ、fUseDstSDがFALSEの場合、空のMatchSD.src（MatchArray[Indexsrc,510]から）が用いられる。
ソースアドレスだけマッチする場合、MatchS.n（=MatchArray[Indexsrc,510]n）が用いられ、宛先アドレスだけマッチする場合、
MatchD.n（=MatchArray[511,Indexdst].n）が用いられる。
マッチが確認されない場合、Matchxx.AとMatchxx.Bデフォルト・レジスター６５０がパケットの処置を決定するために用いられる。レジスターとアレイと定数の要約が表２に記載されている。
BRouterデザイン
図１４を参照しながら既に説明されたNICを用いて、超高性能の統合化ＩＳ／ＥＳコンピュータについて次に説明される。NICの仮想DLLとデータ・パスＡはコンピュータのＩＳ部に割り振りされ、仮想DLLとデータ・パスＢはデバイスのＥＳ部に割り振りされている。
MACアドレス（６０５）のリストは、全てのエントリが“Empty”になるように初期設定されている。
0003746785.tif 000013
コンピュータのＩＳ部は、仮想DLL Ａに割り当てられ、テーブル・エントリ０をそのために確保し、それをそれ自体の独自のMACアドレスに割り当てる。
AddressList[0]=MACA；
Match Arrayは、全てのマッチされたペアのエントリがＩＳモジュールに対して“Empty”として構成される。
0003746785.tif 000014
MatchArray６１３は、宛先アドレスMACAを備えた任意のパッキンがＩＳモジュールに常にパスされ、ＩＳモジュールから始まる任意のパケット（ソース・アドレス＝MACA）がＩＳによって受信されることからブロックされるように構成されている。
0003746785.tif 000015
テーブル６０５の第２のアドレス・エントリはES(DLL B)のエントリであり、DLL AのISモジュールは其のアドレスをLANのローカル・コンピュータとして扱うので、宛先としてそのMACアドレスを備えた任意のパケットをブロックする。ソースと宛先の両方のアドレスがテーブルにある場合、我々は、ソース・アドレスを学習する必要がないので、宛先アドレスに基づいて動作を決定する。
0003746785.tif 000016
ESモジュールのMACアドレスはLANのローカル・コンピュータとして扱われ、アレイは、他のコンピュータからESモジュールへのパケット（MACB宛先アドレスを備えた）がブロックされるように構成されている。
ESモジュールからのパケットは、学習されている場合にパスされる。
ISモジュールはそれが結果としてブロックまたはパスを希望する新しいアドレスを学習するたびに、アレイ・エントリが作られる。ソースまたは宛先の何れかのアドレスが未知のケースで、我々は、処理するためにパケットをISモジュールにパスする。
0003746785.tif 000017
ISモジュールは、標準BRouterとして最初にプログラム設定されていて、全てのマルチカストと、未知の宛先アドレス（他のLANに送るために）を備えた全てのパケットと、未知のソース・アドレスを備えた全てのパケット（新しいソース・アドレスがローカルLAN上にあることを知らせるために）を受信する。そのうえ、宛先アドレスMACAを備えた任意のUnicastパケットはISモジュールに常にパスされ、ISモジュールから始まる全てパケット（ソース・アドレス＝MACA）はISモジュールに依って受信されることをブロックされる。
0003746785.tif 000018
アドレスまたはアドレスのペアがテーブルに加えられる或いは削除される時に、それは通常は次に示すケースの１つになる。
(1)  ローカルLANのコンピュータの新しいMACアドレスがパケットの新しいソース・アドレス（MACnew）を探して発見された。この場合、ISモジュールは、この宛先アドレスを備えた全てのパケットのブロックを希望する。アドレス・テーブルAddressList［］が満杯の場合、古いエントリは或る形式の経年変化アルゴリズムを用いて削除される。それが必要におうじて行われ且つテーブルのロケーションが決定される（Indexnew）と、NICは、そのエントリに相応して次のように初期設定される。
0003746785.tif 000019
(2)  時々、マルチカスト（MACmc）はネットワーク・アドミニストレータに依ってブロックされることを希望される。前述のようにエントリ（Indexnew）を確認すると、こは次のようにして行われる。
0003746785.tif 000020
(3)  時々、ネットワーク・アドミニストレータは、ネットワーク・プロトコルを分析するために、特定のコンピュータ（MACcomputer）に出入する全てのパケットを見ることを希望する。前述のように、コンピュータまたは新しいエントリに対して存在するエントリ（Indexcomputer）を確認した後に、これは次のようにして行われる。
0003746785.tif 000021
我々は、コンピュータのＥＳ部を仮想DLL Bに割り当て、テーブル・エントリ１を其れに対して確保し、それに、そのためのアドレス・リストのエントリと共に其れ自体の独自のMACアドレスを割り当てる。
0003746785.tif 000022
コンピュータのＥＳ部は、その宛先アドレスを備えたユニカストだけ受信し且つ全てのマルチカストを受信するように構成されている。宛先アドレスMACBを備えた任意のUnicastパケットはＥＳモジュールに常にパスされ、任意のMulticastはＥＳモジュールにパスされ、ＥＳモジュールから始まる全てのパケット（ソース・アドレス＝MACB）にＥＳに依って受信されることからブロックされる。
0003746785.tif 000023
ＥＳからＩＳ（ＢからＡ）またはＩＳからＥＳ（ＡからＢ）のユニカストの特殊なケースは、マッチされたペアのテーブルのエントリを用いて扱われる。
0003746785.tif 000024
Ｖ．多重媒体ネイットワーク・インタフェース・コントローラ
本発明は、独自のデータ取扱の問題をかかえている、多重媒体システムに於いて特に効果的である。多重媒体応用事例には２つの主なタイプ、すなわち保存されるデータ（再生のために保存された画像とオーディオを検索するもの）とリアルタイム（すなわち、別のロケーションで記録されたままの状態で画像を表示または音声を生成するもの）がある。オーディオ・データと画像データは、ここでは多重媒体データと呼ばれる。
両方の応用事例に於いて、ネットワーク・インタフェース・コントローラに相応する３つの主なパラメータとして、処理能力と待ち時間とバッファ・サイズがある。ネットワークが十分な処理能力を備えている場合、待ち時間とバッファ・サイズのパラメータが大きな原因となる。
オーディオは、毎秒４Ｋ〜６４Ｋビットを品質に基づいて通常は要求する。ビデオは、毎秒６４Ｋ〜５１２Ｋ以上のビットを品質に基づいて要求する。
Ethernetは、最大処理能力５Mbps（１秒あたり１，０００，０００ビット）、または其の１０メガビット公称速度の約半分を備えている。同様に、トークン・リングは、使用するTokenRingのバージョンに基づいて２Mbps（４メガビット速度）または８Mbps（１６メガビット）を備えている。任意のこれらの媒体タイプは１より多い或る数のユーザに対して多重媒体のために十分な帯域幅を備えている。例えば、２５６Kbpsのデータ・レートを用いるオーディオ・ビジュアル多重媒体応用事例の場合、Ethernetローカル・エリア・ネットワーク（LAN）はLANセグメントあたり２０までの同時ユーザ（５Mbps／２５６Kbps＝２０）を備えることができる。
LANは共有サービスなので、データが或るマシンから別のマシンに転送されるために要する時間は固定された時間でない。LANのデータ転送時間は±２標準偏差（±２SD）を転送する中間時間を基準にして調べられ、応用事例は、この最大時間に等しい固定された時間遅延でなければならない、そうしないと、データ遅延は音声またはビデオに好ましくない乱れを導くことになる。この遅延は、バッファに、データ・レートに依って掛け算された遅延時間に等しいサイズが割り振りされることを要求する。待ち時間を短縮することに依って、保存されるデータの応用事例は少量のメモリを要求することになり、リアルタイム応用事例は最小限度の時間遅延で実施する。
システムの待ち時間を長くする要因には、記録デバイス（リアルタイム）またはディスク・ドライブ（保存されるデータ）からの転送時間、プロトコル経路指定のリンク・レベル・インタフェース・ソフトウェア時間、MAC待合わせ時間、共有媒体が自由になることを待つ時間、物理的媒体転送時間、受信MAC転送時間、待合わせ時間、リンク・レベル・インタフェースに費やされるソフトウェア時間、ソフトウェア・プロトコルの処理、データを扱うアプリケーションの時間、データを表示または再生するデバイス・ドライバ時間を含めて、数多くの要因がある。
これらの要因の全ては、リアルタイム多重媒体を実行可能にするために最小限度でなければならない。本発明は、ネットワーク・インタフェース・コントローラが、多重媒体データを送信または受信するために必要な時間量（待ち時間）を大幅に短縮する方式を提供するものである。
図１５は、本発明に従う多重MACアドレス・ネットワーク・インタフェース・コントローラ８０１の長所を活用する多重媒体システム８００を示す。ネットワーク・インタフェース・コントローラ８０１はネットワークにライン８０２を横断して結合されている。ネットワーク・インタフェース・コントローラの第１インタフェースはライン８０３を横断してメインCPU ８０４に結合されている。ネットワーク・インタフェース・コントローラの第２のインタフェースはライン８０５を横断して多重媒体モジュール８０６に結合されている。多重媒体モジュールもメインCPUとライン８０７を横断して通信する。多重媒体モジュールはオーディオ／ビデオ・ハードウェア８０９に対するライン８０８を横断して経路指定オーディオとビデオ・データの機能を特に行う。
コンピュータの多重媒体モジュールのための別個の独自のMACアドレスとデータ・チャンネルを用いると、ビデオとオーディオ・データは、ソフトウェアのオーバーヘッドなしに、待ち時間を大幅に短縮して処理できる。オーディオ／ビデオ・データは、セッションがローカルの場合にプロトコル・ヘッダーなしに、またはデータが別のネットワークから経路指定して送られる場合に最小限度のプロトコル・オーバーヘッドで直接送られることができる。
インタフェース・コントローラ８０１の２つの代替方式が図１６と１７に図示されている。図１６の実施例の場合、媒体仲裁ロジック８２０はネットワークに受信ライン８２１と送信ライン８２２を横断して結合される。受信データは媒体仲裁ロジック８２０を経由しライン８２３を横断してアドレス・フィルタ・ロジック８２４に送られる。アドレス・フィルタ・ロジック８２４は、それに付随して、メインCPUモジュールに対して第１に割り当てられたMACアドレス８２６と多重媒体モジュールに対して第２に割り当てられたMACアドレス８２７を備えている。多重媒体モジュールのデータはライン８６０上で送られ、メインCPUモジュールに指定されたデータはライン８６１上で各々受信者に送られる。
メインCPUから送信されたデータはライン８６２上で媒体仲裁ロジック８２０に送られる。同様に多重媒体モジュールから送信されたデータはライン８３１上で媒体仲裁ロジック８２０に送られる。送信優先権ロジック８３０には、次に詳細に説明される、多重媒体モジュールに依る送信を支援する、仲裁回路が与えられている。
図１６に図示されているデザインでは、受信パケットの宛先MACアドレスに基づいて１つ或いは両方のデータ・パス上でデータをパスするか、またはMACアドレスに基づいて何れのデータ・パス上でもデータをパスしない、単一のアドレス・フィルタ・ロジック・セッションがある。コントローラは、２つの制御レジスター、FilterControl ８２８と８２９を、各々データ・パスに対して１つ備えている。２つの制御レジスターの各々は次に定義される値を備えている。
０  パケットをパスしない
１  宛先アドレスがデータ・パスに割り当てられた独自のMACアドレスとマッチするユニカスト・パケットだけパスする
２  マルチカストだけパスする
３  適正な宛先MACアドレスを備えているユニカストと全てのマルチカストをパスする
４  全てのパケットをパスする（乱雑モード）
コンピュータは、FilterControl ８２８をMain CPU Module＝３に、およびFilterControl ８２９をMain CPU Module＝１に設定して、通常は初期設定される。
図１７に図示される代替事例は、２つの重複する単一の独自MACアドレス・フィルタ・ロジック・モジュール８４４と８４５を、メインCPUモジュールに１つと多重媒体モジュールに１つ、各々備えている。このように配置されたアドレス・フィルタの事例は、デザインと試験が単純になるが、ASICで製作するために更に多くのゲートを要求する。
そこで、図１７に図示されるように、代替バージョンは、受信入力をライン８４１に送信出力をネットワークに結合されているライン８４２に備えている媒体仲裁ロジック８４０を含んでいる。第１受信出力は、メインCPUのアドレス・フィルタ・ロジック８４４にライン８４３上で送られる。アドレス・フィルタ・ロジックの出力はライン８４５上でメインCPUに送られる。アドレス・フィルタ・ロジック８４４は、メインCPUモジュールの第１の独自MACアドレスを保存する第１レジスター８４６に結合される。そのうえ、それは、前述のようにフィルタ制御パラメータを保存するレジスター８４７に結合されている。
媒体仲裁ロジック８４０の第２出力は多重媒体モジュールのアドレス・フィルタ・ロジック８４９にライン８４８上で送られる。アドレス・フィルタ・ロジック８４９は、多重媒体モジュールの第２の独自MACアドレスを保存するレジスター８５０に結合される。そのうえ、アドレス・フィルタ・ロジック８４９は、この第２パスのフィルタ制御パラメータを保存するレジスター８５１に結合されている。アドレス・フィルタ・ロジック８４９の出力はライン８５３上で多重媒体モジュールに送られる。
CPUモジュールからの送信データはライン８５４上で媒体仲裁ロジック８４０に送られる。多重媒体モジュールからの送信データは、ライン８５５上で媒体仲裁ロジック８４０に送られる。
アドレス・フィルタまたはフィルタに対する数多くの受信ラインのなかで異なるのは媒体仲裁ロジックの２つの対応するバージョンである。この応用事例で他に説明された送信と媒体仲裁ロジックの受信に加えて、両方のバージョンは、送信側の待ち時間を短縮するために、多重媒体パケットがメインCPUからのパケットを中断することを可能にする。送信優先権回路８３０（図１６と１７の両方に於いて）を備えている。これは、送信される残っているバイト数をチェックして確認することに依って行われ、レジスターTransmitPriorityLengthのバイト数より大きい場合、パケットは送信時に停止され、衝突が要求された時間に対して生成され、多重媒体パケットが送られる。このロジックは、次に定義される値を有する、レジスターTransmitPriorityLengthから制御される。
０  両方のデータ・パス上で等しい優先権
（すなわち、送信の中断は優先権に基づいて発生しない）
１  メインCPUモジュールが多重媒体モジュールに対して優先権を有する
２  多重媒体モジュールがメインCPUモジュールに対して優先権を有する
従って、メインCPUを扱う精巧な通信プロトコルを可能にし、特殊な多重媒体モジュールに出入する音響的で且つ視覚的なデータの処理に関連する待ち時間を最小限にする、独自の多重媒体システムが提供される。このシステムは、本発明に従うネットワークに単独で接続する、独自の処理モジュールとの仮想データ・リンク・レイヤ・インタフェースを用いて、柔軟性に富んだ多重MACアドレス・ネットワーク・インタフェース・コントローラ・デザインを更に与える。
VI．結論
結論として、本発明は、単一に割り当てられたアドレスより、むしろ、このセットの多重ネットワーク・アドレスに基づいて、機能をアドレス・ブロックし且つパスできる、多重ネットワーク・アドレスを備えたデータ・リンク・レイヤ・デバイスを提供する。このデバイスは、仮想データ・リンク・レイヤを上部レイヤ・ソフトウェアに、データ・リンク・レイヤ・デバイスの各々割り当てられたMACアドレスに相応して与える。これは、上部レイヤ・ソフトウェアが、処理を単純にすることに依って、多重MACアドレスの長所を活用することを可能にする。更に、拡大されたフィルタ技術が多重MACデータ・リンク・レイヤ・デバイスに使用できるので、コンピュータのメイン・プロセッサのフレーム・トラフィックが、大幅に減少する。
そこで、新しいネットワーク・インタフェース・コントローラには多重MACアドレスの発明の長所が採用されているので、仮想データ・リンク・レイヤを活用する高性能の多重機能コンピュータ・システムと統合化エンド・システム／統合化システム・コンピュータは従来技術と比べると遙かに優れている。
本発明の好まれる実施例の今までの説明は、図解と説明を意図して行われた。それは、開示された正確な形態に対して本発明を限定する或いは全てを説明することを意図していない。数多くの変更と修正は当業者にとって自明なことである。実施例は、発明の原理と其の具体的な応用事例を最適に説明し、考えられる特定の使用に適した種々の変更と種々の実施例に相応して当業者が発明を理解できるようにするために製品され説明された。発明の範囲は次に示す請求項とそれらに相当する項目に依って定められることを意図されている。
0003746785.tif 000025
0003746785.tif 000026
0003746785.tif 000027
0003746785.tif 000028
0003746785.tif 000029
0003746785.tif 000030
0003746785.tif 000031
0003746785.tif 000032
0003746785.tif 000033
【図１】
0003746785.tif 000034
【図２】
0003746785.tif 000035
【図３】
0003746785.tif 000036
【図４】
0003746785.tif 000037
【図５】
0003746785.tif 000038
【図６】
0003746785.tif 000039
【図７】
0003746785.tif 000040
【図８】
0003746785.tif 000041
【図９】
0003746785.tif 000042
【図１０】
0003746785.tif 000043
【図１１】
0003746785.tif 000044
【図１２】
0003746785.tif 000045
【図１３】
0003746785.tif 000046
【図１４】
0003746785.tif 000047
【図１５】
0003746785.tif 000048
【図１６】
0003746785.tif 000049
【図１７】
0003746785.tif 000050