(57)【特許請求の範囲】
【請求項１】
ネットワーク媒体でさまざまなプライオリティのデータフレームを伝送するためのフレーム処理ユニットであって、
ａ）  データフレームを受取り、データフレームをバッファメモリ内に記憶する、フレームバッファ管理回路と、
ｂ）  前記バッファメモリ内に、指定されたプライオリティのデータフレームが存在することを示すデータを記憶するレジスタと、
ｃ）  前記レジスタを読出して、伝送用に利用可能な最高位のプライオリティのデータフレームを判定するプライオリティレゾリューション回路と、
ｄ）  前記プライオリティレゾリューション回路から前記最高位のプライオリティのデータフレームのアドレスを受取り、メディアアクセスコントローラから、前記データフレームが伝送され得ることを示す信号を受取り、前記アドレスに対応する前記バッファメモリから前記データフレームを取出し、前記データフレームを、前記ネットワーク媒体に伝送するために、前記メディアアクセスコントローラにとって利用可能な状態にする、フレーム伝送回路とを含み、
前記プライオリティレゾリューション回路は、絶えず前記レジスタからデータを取出して、前記バッファメモリ内の最高位のプライオリティのデータフレームを判定し、より高位のプライオリティのフレームが利用可能になると、前記フレーム伝送回路に対して以前に与えられたアドレスを置き換える、フレーム処理ユニット。
【請求項２】
フレームバッファはランダムアクセスメモリフレームバッファである、請求項１に記載のフレーム処理ユニット。
【請求項３】
前記フレームバッファ内の各フレームに対するプライオリティの標識に加え、前記フレームバッファ内の各フレームのアドレス位置を記憶する、ランダムアクセスメモリポインタテーブルをさらに含む、請求項２に記載のフレーム処理ユニット。
【請求項４】
前記フレームバッファ管理回路は、前記レジスタによって示された、前記最高位のプライオリティのフレームのアドレスを、前記ランダムアクセスメモリポインタテーブルから突き止める、請求項３に記載のフレーム処理ユニット。
【請求項５】
前記メディアアクセスコントローラは、前記フレーム伝送回路からフレームを受取り、各フレームを物理層回路にとって利用可能な状態にする、請求項４に記載のフレーム処理ユニット。
【請求項６】
フレーム伝送フレーム回路は、前記データフレームが前記メディアア
クセスコントローラに伝送されると、前記プライオリティレゾリューション回路にコマンドを送り、前記プライオリティレゾリューション回路は、次いで、前記レジスタおよび前記ランダムアクセスメモリポインタテーブルを更新して前記データフレームの伝送を反映する、請求項５に記載のフレーム処理ユニット。
【請求項７】
前記フレームバッファ管理回路は、周辺バスを介してアプリケーションからデータフレームを受取って記憶する、請求項６に記載のフレーム処理ユニット。
【請求項８】
前記周辺バスを介して受取られたデータは、前記アプリケーションによって割当てられたさまざまなプライオリティのデータを含み得る、請求項７に記載のフレーム処理ユニット。
【請求項９】
フレームバッファ内で伝送用に利用可能な最高位のプライオリティのデータフレームを伝送する方法であって、
ａ）  レジスタからデータを読出して、伝送用に利用可能な前記最高位のプライオリティのデータフレームのプライオリティを判定するステップと、
ｂ）  前記最高位のプライオリティのフレームがフレームバッファ内に記憶されているアドレスを突き止めるステップと、
ｃ）  前記最高位のプライオリティのデータフレームのアドレスをフレーム伝送回路に書込むステップと、
ｄ）  新規の、より高位のプライオリティのデータフレームが利用可能になると、前記最高位のプライオリティのデータフレームの前記アドレスを、新規の最高位のプライオリティのデータフレームのアドレスで上書きするステップと、
ｅ）  前記新規の最高位のプライオリティのデータフレームを前記フレームバッファから取出して、ネットワーク媒体が利用可能であるときに、前記新規の最高位のプライオリティのデータフレームを伝送するステップとを含む、方法。
【請求項１０】
データフレームが伝送されると、前記レジスタを更新して前記データフレームの伝送を反映するステップをさらに含む、請求項９に記載の方法。
【請求項１１】
フレームバッファアドレスを突き止める前記ステップは、前記フレームバッファアドレスに加え、前記アドレスに記憶されたフレームのプライオリティを記憶するポインタテーブル内で前記フレームバッファアドレスを探索するステップを含む、請求項１０に記載の方法。
【請求項１２】
データフレームが伝送されると、前記ポインタテーブルを更新して前記データフレームの伝送を反映するステップをさらに含む、請求項１１に記載の方法。
【請求項１３】
ネットワークコンピュータであって、
ａ）  ネットワーク媒体で伝送するために、さまざまなプライオリティのデータフレームを生成する複数のアプリケーションを動作させる中央処理ユニットと、
ｂ）  前記データフレームを受取り、前記データフレームを前記ネットワーク媒体でプライオリティの順序で伝送するネットワークインターフェイス回路とを含み、前記ネットワークインターフェイス回路は、
ｉ）  データフレームを前記中央処理ユニットから受取り、データフレームをバッファメモリ内に記憶する、フレームバッファ管理回路と、
ii）  前記バッファメモリ内に、指定されたプライオリティのデータフレームが存在することを示すデータを記憶するレジスタと、
iii）  前記レジスタを読出して、伝送用に利用可能な最高位のプライオリティのデータフレームを判定するプライオリティレゾリューション回路と、
iv）  前記プライオリティレゾリューション回路から前記最高位のプライオリティのデータフレームのアドレスを受取り、メディアアクセスコントローラから、前記データフレームが伝送され得ることを示す信号を受取り、前記アドレスに対応する前記バッファメモリから前記データフレームを取出し、前記データフレームを、前記ネットワーク媒体に伝送するために、前記メディアアクセスコントローラにとって利用可能な状態にする、フレーム伝送回路とを含み、
前記プライオリティレゾリューション回路は、絶えず前記レジスタからデータを取出し
て、前記バッファメモリ内の最高位のプライオリティのデータフレームを判定し、より高位のプライオリティのフレームが利用可能になると、前記フレーム伝送回路に対して以前に与えられたアドレスを置き換える、ネットワークコンピュータ。
【請求項１４】
フレームバッファはランダムアクセスメモリフレームバッファである、請求項１３に記載のネットワークコンピュータ。
【請求項１５】
前記フレームバッファ内の各フレームに対するプライオリティの標識に加え、前記フレームバッファ内の各フレームのアドレス位置を記憶するポインタテーブルをさらに含む、請求項１４に記載のネットワークコンピュータ。
【請求項１６】
前記フレームバッファ管理回路は、前記レジスタによって示された、前記最高位のプライオリティのフレームのアドレスを、ランダムアクセスメモリポインタテーブルから突き止める、請求項１５に記載のネットワークコンピュータ。
【請求項１７】
前記メディアアクセスコントローラは、前記フレーム伝送回路から前記フレームを受取り、各フレームを物理層回路にとって利用可能な状態にする、請求項１６に記載のネットワークコンピュータ。
【請求項１８】
フレーム伝送フレーム回路は、前記データフレームが前記メディアアクセスコントローラに伝送されると、前記プライオリティレゾリューション回路にコマンドを送り、前記プライオリティレゾリューション回路は、次いで、前記レジスタおよびランダムアクセスメモリポインタテーブルを更新して前記データフレームの伝送を反映する、請求項１７に記載のネットワークコンピュータ。
【請求項１９】
前記フレームバッファ管理回路は、周辺バスを介してアプリケーションからフレームを受取って記憶する、請求項１８に記載のネットワークコンピュータ。
【請求項２０】
前記周辺バスを介して受取られたデータは、前記アプリケーションによって割当てられたさまざまなプライオリティのデータを含み得る、請求項１９に記載のネットワークコンピュータ。
【発明の詳細な説明】
【０００１】
【技術分野】
この発明は、一般に、ネットワークインターフェイシングに関し、より特定的に、ネットワーク媒体で伝送するためにデータフレームを優先付けするための装置および方法に関する。
【０００２】
【発明の背景】
コンピュータ光学およびデジタル信号処理技術が進歩するにつれ、通信ネットワークを介してデジタル情報を費用効率よく伝送することに対する需要が高まっている。この需要に応えるために、高速パケットスイッチ通信ネットワークが開発された。パケットスイッチ通信ネットワークは、典型的に、異なる情報ソースを１つの通信チャネルに多重化して、帯域幅の有用性を最大にする。たとえば、パケットスイッチネットワークでは、コンピュータのデータファイル、デジタル化された音声データ、および他のデータコンテンツは、伝送フレームにコード化される。次に、各データフレームは、チャネルが利用可能であるとネットワーク媒体のリモート装置に伝送される。
【０００３】
このようなネットワークの問題とは、ピーク伝送期間中に、ネットワークが輻輳し得ることである。ネットワークが輻輳すると、データフレームは伝送器およびスイッチングノードのキューとなり、データフレームの送信に遅延を生じる。従来、データフレームは、データフレームのプライオリティに関係なくそれらが受取られる順序で、すなわち、ファーストインファーストアウト（ＦＩＦＯ）で伝送される。
【０００４】
コンピュータのデータファイルまたは他のコンピュータのデータコンテンツを有するデータフレームが遅延すると、この遅延はロードすべきファイルまたはウェブページを待っているユーザに認識し得るものとなって、ユーザを苛立たせるおそれがある。しかしながら、ファイルが到着すると、それはまるでより早い時間に届いたかのように、実に有用であり、同じ情報のコンテンツをコンピュータまたはユーザに提供する。これを時間に敏感でないデータ、または非リアルタイムのデータ、すなわち、より低位のプライオリティのデータフレームと呼ぶことができる。
【０００５】
これに対し、２名のオペレータ間の電話通話等の音声通信を表わす、デジタル化された音声データを含むデータフレームは、時間に敏感なデータまたはリアルタイムのデータ、すなわち、より高位のプライオリティのデータフレームである。音声がデジタル化され、セグメント化されて音声フレームに圧縮されると、各データフレームは、一定の時間ウィンドウ内にレシーバに到着して、レシーバによって復元され、アナログ音声信号に再構築されなければならない。デジタル化された音声データ等の時間に敏感なパケットのネットワーク遅延は、レシーバにおける音声信号の破損および／または完全に了解不可能なサウンドバーストを生じるであろう。いずれの場合も、時間に敏感なデータは、時間に敏感でないデータとは異なり、ネットワークが輻輳したためにオンタイムに到着しない場合、有用にならない。デジタル音声データおよびデジタル画像データは、時間に敏感なデータの明らかな例であるが、任意のトランザクション処理システムにおける他のタイプのデータも、ネットワークリソースに対してさまざまなプライオリティの要件を有し得る。
【０００６】
ネットワークの輻輳を軽減し、時間感度またはプライオリティに関係なく、すべてのデータフレームを確実にタイムリーに送信するための解決法の１つとは、データ速度を上げ、および／または追加の伝送ラインおよび／またはルータを加えることにより、ネットワーク帯域幅の全体を単に拡張することである。しかしながら、このような解決法は費用がかかるおそれがあるうえに、追加のリソースは、ネットワークが輻輳していない期間中には必要とされない。
【０００７】
時間に敏感なデータフレームを確実にタイムリーに送信するための別の解決法とは、キュー内でデータフレームを優先付けすることである。しかしながら、キュー内でフレームを優先付けすることは、ラインのブロッキング問題を解決しない。ラインのブロッキング問題は、たとえば、最高位のプライオリティのデータフレーム（プライオリティ３等）がキューから取出され、次に利用可能なタイムスロット（たとえばメディアアクセスコントローラが伝送用に利用することのできる時間間隔）中に、伝送用にレジスタ（または他のメモリ）に書込まれる際に生じる。このとき、そのデータフレームは、キュー内に残った残りのデータフレームから分離される。キュー内の残りのデータフレームは、より新規の入来データフレームとともに再び優先付けされ得るが、その最初のデータフレームが伝送されるまで、他のフレームは伝送され得ない。したがって、第１のフレームがレジスタに書込まれた後にキュー内に入来した、より高位のプライオリティのデータフレーム（６等）は、より低位のプライオリティのデータフレーム３より前には伝送されなくなってしまう。
【０００８】
ＵＳ−Ａ−５  ３８１  ４１３は、共有された伝送媒体に接続されたネットワークステーションを記載し、このステーションは、共有された伝送媒体とステーションが送受信し得る、各タイプのデータパケットを処理するための１つ以上のプロトコルのスタックと、対応するデータパケットを記憶するための各プロトコルに関連するキューとを含む。それはまた、データパケットの送出を制御してかつ伝送媒体における特定のタイプのデータパケットのアクセス遅延を制限するためのスロットラーを記載する。
さらに、仮定的プリエンプティブプライオリティキューの性能は、米国ニュージャージー州、アメリカン・テレフォン・アンド・テレグラフ社（American Telephone and Telegraph Co.）の、『ベル・システム・テクニカル・ジャーナル（Bell System Technical Journal）』、第６２巻、第１０号、第２部、１９８３年１２月、３２２５〜３２４４頁の、Hluchyj M. G.他による、「パケット通信システムへのアプリケーションによる、プリエンプティブプライオリティキューの性能分析（Performance Analysis of a Preemptive Priority Queue with Applications to Packet Communication Systems）」において、数学的に分析されている。
公知の優先付けシステムと関連するラインブロッキング問題を被ることのない、より高位のプライオリティのフレームをより低位のプライオリティのフレームよりも上に優先付けする方法および伝送システムが必要とされる。
【０００９】
【発明の概要】
この発明の第１の局面は、ネットワーク媒体でさまざまなプライオリティのデータフレームを伝送するためのフレーム処理ユニットを提供することである。このフレーム処理ユニットは、ａ）データフレームを受取り、データフレームをバッファメモリ内に記憶するフレームバッファ管理回路と、ｂ）バッファメモリ内に、指定されたプライオリティのデータフレームが存在することを示すデータを記憶するレジスタと、ｃ）レジスタを読出して、伝送用に利用可能な最高位のプライオリティのデータフレームを判定するプライオリティレゾリューション回路と、ｄ）プライオリティレゾリューション回路から最高位のプライオリティのデータフレームのアドレスを受取り、メディアアクセスコントローラから、フレームが伝送され得ることを示す信号を受取り、アドレスに対応するバッファメモリからフレームを取出し、そのデータフレームを、ネットワーク媒体で伝送するために、メディアアクセスコントローラにとって利用可能な状態にするフレーム伝送回路とを含む。
【００１０】
さらに、プライオリティレゾリューション回路は、絶えずレジスタからデータを取出して、バッファメモリ内の最高位のプライオリティのデータフレームを判定し、より高位のプライオリティのフレームが利用可能になると、フレーム伝送回路に対して以前に与えられたアドレスを置き換えることができる。
【００１１】
フレームバッファはランダムアクセスメモリフレームバッファであってよく、処理ユニットは、フレームバッファ内の各フレームに対するプライオリティの標識に加え、フレームバッファ内の各フレームのアドレス位置を記憶する、ランダムアクセスメモリポインタテーブルをさらに含んでよい。フレームバッファ管理回路は、レジスタに示された、ランダムアクセスメモリポインタテーブル内のプライオリティを探索することにより、最高位のプライオリティのフレームのアドレスを突き止めることができる。
【００１２】
一実施例において、メディアアクセスコントローラは、フレーム伝送回路からフレームを受取り、各フレームを物理層回路にとって利用可能な状態にする。その後、フレーム伝送回路は、プライオリティレゾリューション回路にコマンドを送ることができ、プライオリティレゾリューション回路は、次いで、レジスタおよびランダムアクセスメモリポインタテーブルを更新してフレームの伝送を反映する。
【００１３】
フレームバッファ管理回路は、周辺バスを介してアプリケーションからデータフレームを受取って記憶することができ、周辺バスを介して受取られたデータは、アプリケーションによって割当てられたさまざまなプライオリティのデータを含み得る。
【００１４】
この発明の第２の局面は、フレームバッファ内で利用可能な最高位のプライオリティのデータフレームを伝送する方法を提供することである。この方法は、ａ）レジスタからデータを読出して、伝送用に利用可能な最高位のプライオリティのデータフレームのプライオリティを判定するステップと、ｂ）最高位のプライオリティのフレームがフレームバッファ内に記憶されている、フレームバッファアドレスを突き止めるステップと、ｃ）最高位のプライオリティのデータフレームのアドレスをフレーム伝送回路に書込むステップと、ｄ）新規の、より高位のプライオリティのデータフレームが利用可能になると、最高位のプライオリティのデータフレームのアドレスを、新規の最高位のプライオリティのデータフレームのアドレスで上書きするステップと、ｅ）新規の最高位のプライオリティのデータフレームをフレームバッファから取出して、ネットワーク媒体が利用可能であるときに、新規の最高位のプライオリティのデータフレームを伝送するステップとを含む。
【００１５】
フレームバッファアドレスを突き止めるステップは、フレームバッファアドレスに加え、そのアドレスに記憶されたフレームのプライオリティを記憶するポインタテーブル内でフレームバッファアドレスを探索するステップを含み得る。さらに、この方法は、データフレームが伝送されると、レジスタを更新しかつポインタテーブルを更新してデータフレームの伝送を反映するステップをさらに含み得る。
【００１６】
この発明の第３の局面は、ネットワーク媒体で伝送するために、さまざまなプライオリティのデータフレームを生成する複数のアプリケーションを動作させる中央処理ユニットを含むネットワークコンピュータを提供することである。ネットワークコンピュータは、中央処理ユニットからデータフレームを受取り、データフレームをネットワーク媒体でプライオリティの順序で伝送するネットワークインターフェイス回路を含む。ネットワークインターフェイス回路は、ａ）データフレームを中央処理ユニットから受取り、データフレームをバッファメモリ内に記憶する、フレームバッファ管理回路と、ｂ）バッファメモリ内に、指定されたプライオリティのデータフレームが存在することを示すデータを記憶するレジスタと、ｃ）レジスタを読出して、伝送用に利用可能な最高位のプライオリティのデータフレームを判定するプライオリティレゾリューション回路と、ｄ）プライオリティレゾリューション回路から最高位のプライオリティのデータフレームのアドレスを受取り、メディアアクセスコントローラから、フレームが伝送され得ることを示す信号を受取り、そのアドレスに対応するバッファメモリからフレームを取出し、そのデータフレームを、ネットワーク媒体で伝送するために、メディアアクセスコントローラにとって利用可能な状態にする、フレーム伝送回路とを含む。
【００１７】
さらに、プライオリティレゾリューション回路は、絶えずレジスタからデータを取出して、バッファメモリ内の最高位のプライオリティのデータフレームを判定し、より高位のプライオリティのフレームが利用可能になると、フレーム伝送回路に対して以前に与えられたアドレスを置き換えることができる。
【００１８】
フレームバッファはランダムアクセスメモリフレームバッファであってよく、処理ユニットは、フレームバッファ内の各フレームに対するプライオリティの標識に加え、フレームバッファ内の各フレームのアドレス位置を記憶する、ランダムアクセスメモリポインタテーブルをさらに含んでよい。フレームバッファ管理回路は、レジスタによって示された、ランダムアクセスメモリポインタテーブル内のプライオリティを探索することにより、最高位のプライオリティのフレームのアドレスを突き止めることができる。
【００１９】
一実施例において、メディアアクセスコントローラは、フレーム伝送回路からフレームを受取り、各フレームを物理層回路にとって利用可能な状態にする。その後、フレーム伝送回路は、プライオリティレゾリューション回路にコマンドを送ることができ、プライオリティレゾリューション回路は、次いで、レジスタおよびランダムアクセスメモリポインタテーブルを更新してフレームの伝送を反映する。
【００２０】
フレームバッファ管理回路は、周辺バスを介してアプリケーションからデータフレームを受取って記憶することができ、周辺バスを介して受取られたデータは、アプリケーションによって割当てられたさまざまなプライオリティのデータを含み得る。
【００２１】
【好ましい実施例の説明】
次に、図面を参照して、この発明を詳細に説明する。図面では、同じ参照番号が、全体にわたって同じ要素を指すように用いられる。
【００２２】
図１を参照すると、この発明の一実施例に従ったネットワーク１０が示される。ネットワーク１０は、３つのサブネットワーク１３（ａ）〜１３（ｃ）を相互接続するルータ１２を含み、サブネットワークの各々は、サブネットワーク１３（ａ）〜１３（ｃ）の各々に結合された装置を相互接続する物理媒体１４（ａ）〜１４（ｃ）を含む。典型的に、各物理媒体１４（ａ）〜１４（ｃ）は、物理媒体１４（ａ）〜１４（ｃ）に結合された装置の各々を相互接続し、このようなすべての装置は、規定されたネットワークプロトコルを用いて、物理媒体１４（ａ）〜１４（ｃ）に結合された他の装置とデータフレームを通信する。たとえば、ネットワーク１４（ａ）は、公知のイーサネット（Ｒ）標準の１つに示されるプロトコルおよび物理媒体を含んでよい。物理媒体１４（ａ）〜１４（ｃ）が大きなカバレージエリアに及び得、広範囲のネットワーク物理媒体を含んで、広範囲のネットワークプロトコルを用いて通信し得ることを認識されたい。特定のネットワーク物理媒体およびプロトコルが、この発明の範囲を限定することを意図せず、ネットワーク１０が全二重ネットワークおよび／または無線ネットワークを用いるサブネットワーク１３（ａ）〜１３（ｃ）を含み得ることが考えられると認識されたい。
【００２３】
複数のクライアントワークステーション１８（ａ）〜１８（ｄ）がネットワーク１０に結合されており、それらは、好ましい実施例において、典型的なデスクトップコンピュータである。各クライアントワークステーション１８は、データネットワークを介して通信するための適切なハードウェアおよびソフトウェアを含む。たとえば、各ワークステーション１８は、ＨＰＮＡ２．０対応であってよく、ネットワーク媒体１４は、ＰＯＴＳツイストペア電話ネットワークであってよい。ＨＰＮＡ２．０は、カリフォルニア州サニィベイル（Sunnyvale）のアドバンスト・マイクロ・ディバイシズ（Advanced Micro Devices）社を含む業界機構である、ホームフォーンラインネットワーキングアソシエーション（Home Phone line Network Association）によって制定された、ＰＯＴＳツイストペア電話配線を介してデータを転送するためのプロトコルである。さらに、各クライアントワークステーション１８は、ネットワーク１０を介してアプリケーションサーバ１６のインターフェイスとなるデータ処理アプリケーションを動作させる。加えて、各クライアントワークステーション１８は、オペレータが、Ｈ．３２３テレフォニーゲートウェイ２０を介してデータネットワーク１０を用いる他の人々およびワークステーション１８の他のオペレータと全二重音声通信（電話通話等）を行なうことを可能にする、Ｈ．３２３対応である。Ｈ．３２３は、国際電気通信連合（ＩＴＵ）によって制定されたインターネットプロトコル（ＩＰ）テレフォニー標準である。
【００２４】
アプリケーションサーバ１６は、クライアントワークステーション１８の各々と、ファイルを記憶して通信する典型的なアプリケーションサーバである。テレフォニーゲートウェイ２０は、複数のクライアントワークステーション１８間および／またはＰＢＸシステムもしくはローカルな電話会社の加入者ループに結合された標準的な電話間で、デジタル化された音声データフレーム（たとえば、電話通話を表わすデジタル化された音声データのフレーム）を相互接続するよう働く。
【００２５】
図２を参照すると、ワークステーション１８のブロック図が示される。ワークステーション１８は、プロセッサ４２と、データ処理アプリケーション６０、音声通信アプリケーション５０、およびこの明細書で論じられるワークステーション１８と関連するさまざまな周辺ハードウェア回路を駆動するのに必要とされる任意の他のコードを記憶して実行するためのメモリ４８とを含む。
【００２６】
クライアントワークステーション１８は、オペレータがそれらを介してデータ処理アプリケーション６０のインターフェイスとなる、典型的なキーボード３０およびディスプレイ３２を含む。キーボード３０は、キーボードインターフェイス回路４６に結合され、キーボードインターフェイス回路は、次いで、周辺バス４４を介してプロセッサ４２に結合する。メモリ４８内に記憶されたキーボードドライバ５６は、公知の技術を用いてキーボード３０を駆動する。同様に、ディスプレイ３２は、ビデオカード等のディスプレイインターフェイス回路４７に結合され、ディスプレイインターフェイス回路は、次いで、周辺バス４４を介してプロセッサ４２に結合する。メモリ４８内に記憶されたディスプレイドライバ５４は、ディスプレイインターフェイス回路４７およびディスプレイ３２を駆動する。
【００２７】
ＬＡＮテレフォニーシステム３４により、ワークステーションのオペレータは、Ｈ．３２３テレフォニーゲートウェイ２０（図１）を介して電話通話を開始し、受けることができる。ＬＡＮテレフォニーシステム３４は、スピーカ３６、マイクロフォン３８、および音声サブシステム４０を含む。音声サブシステム４０は、周辺バス４４を介してプロセッサ４２に結合する。メモリ４８内に記憶された音声サブシステムドライバ５８は、音声サブシステム４０、スピーカ３６、およびマイクロフォン３８を動作させて、オペレータの音声インターフェイスとなる。音声通信アプリケーション５０は、Ｈ．３２３標準に従ってデジタル音声データのフレームをエンコード／デコードすることに加え、このようなデジタル音声データのフレームをテレフォニーゲートウェイ２０（図１）と交換するよう働く。音声通信アプリケーション５０により、オペレータは、キーボード３０およびディスプレイ３２をインターフェイスとして用いて、ダイヤル呼出を行なうか、そうでなければ電話通話を開始することもできる。
【００２８】
クライアントワークステーション１８は、ネットワークインターフェイスカード６２を介してネットワーク媒体１４（すなわち、１４（ａ）、１４（ｂ）、または１４（ｃ））に結合される。ネットワークインターフェイスカード６２は周辺バス４４を介してプロセッサ４２に結合され、メモリ４８内に記憶されかつプロセッサ４２によって実行されるネットワークインターフェイスドライバ５２は、ネットワークインターフェイスカード６２を駆動する。
【００２９】
ネットワークインターフェイスカード６２がデジタル音声データのフレームをテレフォニーゲートウェイ２０と通信し、データ処理アプリケーションのデータのフレームをアプリケーションサーバ１６と通信するよう働くことを認識されたい。上で論じたとおり、ネットワーク１０または任意のサブネットワーク１３が輻輳すると、フレームの送信が遅延されるおそれがある。さらに、テレフォニーゲートウェイ２０およびアプリケーションサーバ１６へのフレームの送信が、ゲートウェイ２０またはアプリケーションサーバ１６へのヘビーローディング（たとえば、他のワークステーション１８がフレームを同時に送ろうとする）のために、遅延されるおそれがある。データ処理アプリケーションのデータを含むフレームの遅延は、ロードすべきファイルまたはウェブページを待っているユーザに認識され、ユーザを苛立たせるおそれがあるが、遅延はこのデータの有用性を損なわない。しかしながら、音声通信またはリアルタイムの画像データを表わす、デジタル化された音声データの遅延は、レシーバにおける音声信号の破損および／または完全に了解不可能なサウンドバーストもしくは画像イメージの破壊を結果的に生じ得る。したがって、デジタル化された音声データまたはリアルタイムの画像データを含むさまざまなプライオリティのデータフレームを、リアルタイムのフレーム、すなわち、アプリケーションによってより高位のプライオリティが割当てられたデータフレームと呼ぶことができる。データ処理アプリケーションのデータを含むさまざまなプライオリティのデータフレームを、非リアルタイムのフレーム、すなわち、アプリケーションによってより低位のプライオリティが割当てられたデータフレームと呼ぶことができる。
【００３０】
図３を参照すると、ネットワークインターフェイスカード６２（図２）を実現するのに有用な伝送器回路６４のブロック図が示される。伝送器回路６４は、伝送用のフレームのプライオリティの順序を判定して、このようなプライオリティの順序でデータフレームを伝送する。伝送器回路６４は、周辺バス４４からリアルタイムのデータフレームおよび非リアルタイムのデータフレームを受取るフレーム処理ユニット７４を含む。フレーム処理ユニット７４は、データフレームを管理するためのフレームバッファ管理回路１００と、入来するデータフレームを記憶するためのランダムアクセスメモリフレームバッファ１０２と、データフレームを参照するための、プライオリティおよびアドレスランダムアクセスメモリポインタテーブル１０４とを含む。フレーム処理ユニット７４はまた、伝送用に利用可能なフレームのプライオリティを示す標識を記憶するためのレジスタ１０６と、伝送用に利用可能な最高位のプライオリティのデータフレーム（またはメディアアクセスコントローラにリクエストされたプライオリティのデータフレーム）を選択するためのプライオリティレゾリューション回路１０８と、フレームバッファ１０２からデータフレームを取出して、データフレームをメディアアクセスコントローラ７２に伝送するためのフレーム伝送回路１１０とを含む。
【００３１】
動作の際に、フレームバッファ管理回路１００は、周辺バス４４から受取られた入来データフレームを読出して、それらのデータフレームをランダムアクセスメモリフレームバッファ１０２に書込むよう働く。さらに、フレームバッファ管理回路１００は、そのデータフレームがフレームバッファ１０２内に記憶された場所に対応する開始アドレスおよび終了アドレスに加え、対応するプライオリティのレベルをポインタテーブル１０４に書込む。フレームバッファ管理回路１００はまた、プライオリティのレベルに対応するビットをレジスタ１０６にセットする。
【００３２】
動作の際に、プライオリティレゾリューション回路１０８は、レジスタ１０６を読出して、伝送用に利用可能な最高位のプライオリティのデータフレームを判定し、そのフレームのアドレスをランダムアクセスメモリポインタテーブル１０４から取出して、そのデータフレームのアドレスをフレーム伝送回路１１０に送るよう働く。さらに、フレームが伝送された後に、プライオリティレゾリューション回路は、ランダムアクセスメモリポインタテーブル１０４をクリアし、好適ならば、レジスタ１０６内の標識をクリアする。
【００３３】
動作の際に、フレーム伝送回路１１０は、ランダムアクセスメモリフレームバッファ１０２からデータフレームを取出して、そのデータフレームをメディアアクセスコントローラ７２に与えるよう働く。一般に、リアルタイムのデータフレームは高位のプライオリティレベルの標識を有し、非リアルタイムのデータフレームは低位のプライオリティの標識を有する。処理ユニット７４の動作のより詳細な説明は、この明細書において、図４ａおよび図４ｂに関連して含まれる。
【００３４】
動作の際に、メディアアクセスコントローラ７２は、物理層回路６８に結合される。物理層回路６８は、伝送データフレーム内のデータのビットをペイロードエンコーディング（payload encoding）して伝送データフレームを示す、デジタル化された変調搬送波を生成するための、デジタル信号処理回路を含む。デジタル−アナログコンバータ７０は、ライン７１上にアナログ搬送波信号を生成する。アナログフロントエンド６６は、ライン７１上のアナログ搬送波信号をネットワーク媒体１４に結合し、信号の強度がネットワーク伝送プロトコルのパラメータ内に確実に入るようにする適切な増幅器回路を含む。
【００３５】
動作の際に、メディアアクセスコントローラ７２は、ライン７３上のチャネルセンサ回路（図示せず）から、ネットワーク媒体１４が伝送用に利用可能であることを示す信号を受取る。このような信号を受取ると、メディアアクセスコントローラ７２は、データフレームリクエストをフレーム伝送回路１１０に生成する。一般に、フレーム伝送回路１１０は、ランダムアクセスメモリフレームバッファ１０２内に記憶された最高位のプライオリティのデータフレームを、伝送のために、メディアアクセスコントローラ７２に与える。しかしながら、或る環境では、メディアアクセスコントローラ７２が最高位のプライオリティのフレームではない特定のプライオリティのフレームをリクエストし得ることが考えられる。このような環境において、フレーム伝送回路１１０は、リクエストされたプライオリティのフレームをメディアアクセスコントローラ７２に与える。
【００３６】
図４ａ、図４ｂ、および図４ｃの各々は、フレーム処理ユニット７４内の回路の動作を示すフローチャートを示す。図３のブロック図とともに図４ａのフローチャートを特に参照して、フレームバッファ管理回路１００の動作を示す。
【００３７】
ステップ８０において、フレームバッファ管理回路１００は、周辺バス４４をモニタして、データフレームが転送用に存在するかどうかを判定する。データフレームが利用可能でない場合、リターンループ８１によって示されるとおり、フレームバッファ管理回路１００は、データフレームが周辺バス４４から利用可能になるまで待つ。ステップ８２では、データフレームが周辺バス４４上に存在すると、フレームバッファ管理回路１００は、そのデータをランダムアクセスメモリフレームバッファ１０２に書込む。ステップ８３において、フレームバッファ管理回路１００は、そのデータフレームのアドレスおよびそのフレームのプライオリティのレベルをランダムアクセスメモリポインタテーブル１０４に書込む。ステップ８４において、フレームバッファ管理回路１００は、ランダムアクセスメモリポインタテーブル１０４内のデータフレームのプライオリティのレベルに対応するビットをレジスタ１０６内にセットする。
【００３８】
図３とともに図４ｂを参照して、プライオリティレゾリューション回路１０８の動作を示す。ステップ８５において、プライオリティレゾリューション回路１０８は、利用可能なデータフレームを求めてレジスタ１０６を読出す。利用可能なデータフレームがない場合、リターンループ８６に示されるように、プライオリティレゾリューション回路１０８は、或るデータフレームが利用可能になるまでレジスタ１０６を再び読出す。ステップ８７では、或るデータフレームが利用可能であると、プライオリティレゾリューション回路１０８が最高位のプライオリティ（またはメディアアクセスコントローラにリクエストされたプライオリティ）のデータフレームのアドレスを、ランダムアクセスメモリポインタテーブル１０４から取出す。ステップ８８において、プライオリティレゾリューション回路１０８は、そのデータフレームのアドレスをフレーム伝送回路１１０に書込む。
【００３９】
ステップ８９において、プライオリティレゾリューション回路１０８は、レジスタ１０６、ランダムアクセスメモリフレームバッファ１０２、およびランダムアクセスメモリポインタテーブル１０４をクリアする信号が、フレーム伝送回路１１０から来るのを待つ。ステップ９０では、プライオリティレゾリューション回路１０８が、フレーム伝送回路１１０からレジスタ１０６をクリアする信号を受取ると、プライオリティレゾリューション回路１０８はレジスタ１０６をクリアする。ステップ９１において、プライオリティレゾリューション回路１０８は、ランダムアクセスメモリフレームバッファ１０２およびランダムアクセスメモリポインタテーブル１０４をクリアする。ステップ８９でプライオリティレゾリューション回路１０８がフレーム伝送回路からレジスタ１０６をクリアする信号を受取らない場合、プライオリティレゾリューション回路１０８は、より高位のプライオリティのデータフレーム（またはメディアアクセスコントローラにリクエストされたプライオリティのフレーム）がステップ９２で示されたとおり、利用可能であるかどうかを判定するために、レジスタ１０６を再び読出す。このようなフレームがない場合、リターンループ９３に示されるように、プライオリティレゾリューション回路１０８は、レジスタ１０６をクリアする信号をフレーム伝送回路１１０から再び待つ（ステップ８９）。ステップ９４では、利用可能なこのようなデータフレームがある場合、プライオリティレゾリューション回路１０８は、このようなデータフレームのアドレスをランダムアクセスメモリポインタテーブル１０４から取出す。ステップ９５において、プライオリティレゾリューション回路１０８はそのデータフレームのアドレスをフレーム伝送回路１１０に書込む。
【００４０】
ステップ８９およびステップ９２が、フレーム伝送回路１１０に書込まれたどのようなアドレスも、プライオリティレゾリューション回路１０８がステップ８９においてクリアする信号を受取る前に、常により高位のプライオリティのフレーム（またはリクエストされたプライオリティのフレーム）で確実に上書きされ得るように動作することを認識されたい。
【００４１】
図３とともに図４ｃを参照して、フレーム伝送回路１１０の動作を示す。ステップ９６において、フレーム伝送回路１１０は、データフレームを伝送するために、メディアアクセスコントローラ７２からのリクエストを待つ。フレーム伝送回路１１０がメディアアクセスコントローラ７２からリクエストを受取らない場合、リターンループ７９に示されるとおり、フレーム伝送回路１１０は、メディアアクセスコントローラ７２からのリクエストを待つにすぎない。ステップ９７では、フレーム伝送回路１１０がメディアアクセスコントローラ７２からリクエストを受取ると、フレーム伝送回路１１０は、ランダムアクセスメモリフレームバッファ１０２からデータフレームを取出す。ステップ９８において、フレーム伝送回路１１０は、そのデータフレームをメディアアクセスコントローラ７２に伝送する。ステップ９９において、フレーム伝送回路は、レジスタ１０６、ランダムアクセスメモリフレームバッファ１０２、およびランダムアクセスメモリポインタテーブル１０４をクリアする信号を、プライオリティレゾリューション回路１０８に送る。
【００４２】
図５を参照して、この発明に従ったルータ１２のブロック図を示す。ルータ１２は、ルータの動作を制御するマイクロプロセッサ１０１を含む。複数のトランシーバ１０２（ａ）〜１０２（ｃ）の各々は、ルータ１２を複数のサブネットワーク１３のうちの１つに結合する。プロセッサ１０１はアドレステーブル１０５に結合され、サブネットワーク１３（ａ）〜１３（ｃ）のうちの１つでトランシーバ１０２（ａ）〜１０２（ｃ）のうちの１つによって受取られたフレームを、そのフレームがアドレス指定された装置の置かれているサブネットワーク１３（ａ）〜１３（ｃ）のうちの別の１つにルーティングするよう動作する。各トランシーバ１０２（ａ）〜１０２（ｃ）は、図３、図４ａ、および図４ｂに関して上で説明されたように構成されかつ機能する、伝送器回路６４を含む。このような構造および機能により、ルータ１２は、サブネットワーク上で、非リアルタイムのフレームよりも前にリアルタイムのフレームを伝送するよう働く。
【００４３】
上述のシステムおよび方法は、ネットワーク媒体を介して伝送するために、リアルタイムのデータフレームを優先付けするためのフレームバッファを提供する。このような優先付けは、メディアアクセスコントローラで実現される優先付けのスキームがあるならば、それから独立することができる。
【００４４】
好ましい優先付けのスキームは、３ビットのプライオリティ標識によって示され得る、８つのプライオリティのレベルを提供する。しかしながら、この好ましい実施例の教示を評価することにより、各フレームに対してさらなるプライオリティのレベルを割当てることができると認識されたい。複数のプライオリティのレベルを備えたシステムは、たとえば、リアルタイムの音声データとリアルタイムの画像データとの間で優先付けを行なうのに有用となる。このようなシステムにより、また、デジタル化された音声データの異なるフレーム間において、より重要な音声を含むフレームに対してより高位のプライオリティを与える優先付けが可能となる。たとえば、オペレータが一連の音声を理解するのに重要な、母音を含むフレームは、たとえ欠落しても音声を完全に了解不可能にはしないであろう、硬子音を含むフレームよりも上に優先付けされ得る。
【００４５】
この発明を、ある好ましい実施例に関して示しかつ説明してきたが、この明細書を読んで理解すると、等価物および変更物が生じることが当業者には明らかである。この発明は、これらの等価物および変更物のすべてを含み、前掲の請求項の範囲によってのみ限定される。
【図面の簡単な説明】
【図１】  この発明の一実施例に従った、ネットワークのブロック図である。
【図２】  この発明の一実施例に従った、クライアントワークステーションのブロック図である。
【図３】  この発明の一実施例に従った、ネットワーク伝送器回路のブロック図である。
【図４ａ】  この発明の一実施例に従った、フレームバッファ管理回路の例示的動作を示すフロー図である。
【図４ｂ】  この発明の一実施例に従った、プライオリティレゾリューション回路の例示的動作を示すフロー図である。
【図４ｃ】  この発明の一実施例に従った、フレーム伝送回路の例示的動作を示すフロー図である。
【図５】  この発明の一実施例に従った、ルータのブロック図である。
【図１】
0004630524.tif 000002
【図２】
0004630524.tif 000003
【図３】
0004630524.tif 000004
【図４ａ】
0004630524.tif 000005
【図４ｂ】
0004630524.tif 000006
【図４ｃ】
0004630524.tif 000007
【図５】
0004630524.tif 000008