(57)【特許請求の範囲】
【請求項１】
ＡＴＭネットワークにおいて帯域幅割当テーブルを用いて仮想チャンネルに帯域幅を割当てる方法であって、前記帯域幅割当テーブルが複数のエントリに分割されるメインテーブルを有し、各々のエントリが複数のサブテーブルを有する、該方法において前記メインテーブルのエントリであるメインエントリのフラグをチェックする第ａ段階と、
前記フラグが第１値を有する場合、前記メインエントリに記録された仮想チャンネルのインデックスを読取る第ｂ段階と、
前記フラグが第２値を有する場合、前記仮想チャンネルのインデックスが記録されたサブテーブルのエントリであるサブエントリを検索して前記インデックスを読取る第ｃ段階と、
前記インデックスに対応する前記仮想チャンネルのセルを供給する第ｄ段階と、
前記メインテーブルの最後のメインエントリに対応する仮想チャンネルのセルが供給されるまで前記第ａ段階から第ｄ段階までを反復する第ｅ段階とを含み、
各メインエントリの帯域幅は、前記ＡＴＭネットワークの帯域幅を、前記メインテーブルを構成するメインエントリの個数で除することによって得られる大きさであり、各サブテーブルを構成する各サブエントリの帯域幅は、該サブテーブルを含む前記メインエントリの前記帯域幅を、該サブテーブルを構成するサブエントリの個数で除することによって得られる大きさであることを特徴とする帯域幅割当方法。
【請求項２】
前記第ｃ段階が、
０番目のサブテーブルがメインテーブルであり、ｉ番目のサブテーブルのエントリが（ｉ−１）番目のサブテーブルのエントリに記録された内容によって指定される時、前記ｉ番目のサブテーブルのエントリのフラグをチェックする第ｃ１段階と、
前記フラグが第１値を有する場合、前記ｉ番目のサブテーブルのエントリに記録された仮想チャンネルのインデックスを読取る第ｃ２段階と、
前記フラグが第２値を有する場合、ｉを１だけ増加させて、前記第ｃ１段階に戻る第ｃ３段階とを有することを特徴とする請求項１に記載の帯域幅割当方法。
【請求項３】
前記メインエントリに対応する前記複数のサブテーブルが階層的構造を有し、（ｉ＋１）番目のサブテーブルがｉ番目のサブテーブルより下位階層であることを特徴とする請求項２に記載の帯域幅割当方法。
【請求項４】
前記ｉ番目のサブテーブルのエントリが、ポインタによって指定されることを特徴とする請求項３に記載の帯域幅割当方法。
【請求項５】
前記ポインタによって指定されるエントリが読取られた後、前記ポインタの値を１だけ増加させ、次のエントリを表すようにすることを特徴とする請求項４に記載の帯域幅割当方法。
【請求項６】
ＡＴＭネットワークにおいて帯域幅割当テーブルを用いて仮想チャンネルに帯域幅を割当てる方法であって、前記帯域幅割当テーブルが複数のエントリに分割される（ａ）メインテーブルと（ｂ）複数のサブテーブルとを有する、該方法において、
前記メインテーブルのエントリであるメインエントリのフラグをチェックする第ａ段階と、
前記フラグが第１値を有する場合、前記メインエントリに記録された仮想チャンネルのインデックスを読取る第ｂ段階と、
前記フラグが第２値を有する場合、前記仮想チャンネルのインデックスが記録されたサブテーブルのエントリであるサブエントリを検索して前記インデックスを読取る第ｃ段階と、
前記インデックスに対応する前記仮想チャンネルのセルを供給する第ｄ段階と、
前記メインテーブルの最後のメインエントリに対応する仮想チャンネルのセルが供給されるまで前記第ａ段階から第ｄ段階まで反復する第ｅ段階とを含み、
各メインエントリの帯域幅は、前記メインテーブルを構成するメインエントリの個数よりサブテーブルを有するメインエントリの個数を減じてからサブテーブルの個数を加えた値に、前記ＡＴＭネットワークの帯域幅を乗じることによって得られる大きさであり、各サブテーブルを構成する各サブエントリの帯域幅は、前記メインエントリの前記帯域幅に該サブテーブルを構成するサブエントリの個数を乗じた値によって、前記ＡＴＭネットワークの帯域幅を除することによって得られる大きさであることを特徴とする帯域幅割当方法。
【請求項７】
前記第ｃ段階が、
前記メインエントリを読取る第ｃ１段階と、
前記メインエントリによって指定されるサブテーブルにアクセスする第ｃ２段階と、
前記サブエントリに記録された仮想チャンネルのインデックスを読取る第ｃ３段階とを有することを特徴とする請求項６に記載の帯域幅割当方法。
【請求項８】
前記フラグが第２値を有する場合、前記メインエントリがサブテーブルを示すポインタであることを特徴とする請求項７に記載の帯域幅割当方法。
【請求項９】
前記メインエントリがポインタによって指定されることを特徴とする請求項８に記載の帯域幅割当方法。
【請求項１０】
前記ポインタによって指定される前記メインエントリが読取られた後、前記ポインタの値を１だけ増加させて、次のメインエントリを示すようにすることを特徴とする請求項９に記載の帯域幅割当方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、帯域幅割当方法に関し、特に、ＡＴＭネットワークインタフェースカードでサブテーブルを用いて階層的に帯域幅を割当てる帯域幅割当方法に関する。
【０００２】
【従来の技術】
ＡＴＭ（非同期伝送方式）通信ネットワークは、多様なサービスの提供のために階層的なプロトコルによって具現される。従来の公衆電話網やパケット交換網が、各々、音声サービスやデータサービスを提供する専用ネットワークである反面、ＡＴＭネットワークは音声サービス、データサービス及び映像サービスなどを統合ネットワークとして提供するために構成される。
【０００３】
多様なサービスを提供するため、ＡＴＭネットワークは情報を限られたサイズの単位、即ちパケットまたはセル形態での仮想チャンネルを通しての転送、及び統計的多重化を行う。各々の仮想チャンネルに対する帯域幅は、ＡＴＭネットワークインタフェースカード内の制御メモリにある帯域幅割当テーブルを用いて割当てられる。
【０００４】
図１には、ホストシステム１０及びＡＴＭネットワークインタフェースカード２０のブロック図が示されている。ホストシステム１０はホストメモリ１１、プロセッサ１２及びバス制御部１３を備え、Ｉ／Ｏ（入力／出力）バス３０を通じてＡＴＭネットワークインタフェースカード２０に接続されている。ホストシステム１０のプロセッサ１２では、ユーザへのサービス提供のためのアプリケーションプログラムが実行され、ＡＴＭ通信機能を提供するためのネットワークインタフェースカードドライバ（図示せず）が組込まれている。このネットワークインタフェースカードドライバは、ＡＴＭ通信と関連する多様な種類のテーブル及びリングをセットアップし、アプリケーションプログラムの要求に応じてテーブルのデータを更新する。
【０００５】
ＡＴＭネットワークインタフェースカード２０は、ネットワークインタフェースカードドライバによって直接制御され、伝送されるべきパケットをＡＴＭセルに分割し、アプリケーションプログラムの要求に応じて該ＡＴＭセルをＡＴＭネットワークに伝送し、受取ったＡＴＭセルを再び組立ててパケットを生成して、生成されたパケットをアプリケーションプログラムに転送する。
【０００６】
図１に示すように、ＡＴＭネットワークインタフェースカード２０は、ＡＡＬ（ＡＴＭ適応層）プロセッサ２１、ＳＯＮＥＴ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｏｐｔｉｃａｌ  ＮＥＴｗｏｒｋ）／ＡＴＭラインアダプタ２２、送受信装置２３、ＥＰＲＯＭ２４及び制御メモリ２５を備える。ＡＡＬプロセッサ２１は、３２ビットのローカルメモリバス２７を通じて制御メモリ２５に接続されており、８ビットのローカルスレーブバス２６を通じてはＥＰＲＯＭ２４に接続されている。ＥＰＲＯＭ２４は、８ビットのローカルスレーブバス２６を通じてＳＯＮＥＴ／ＡＴＭラインアダプタ２２に接続されている。更に、ＡＡＬプロセッサ２１は、Ｉ／Ｏバス３０を通じてホストシステム１０内のホストメモリ１１に直接アクセスすることができ、制御メモリ２５に対してデータ読取り／書込み動作を行い得る。また、ホストシステム１０内のプロセッサ１２は、Ｉ／Ｏバス３０を通じて制御メモリ２５に直接アクセスしてデータを読取り／書込み動作を行い得る。
【０００７】
ホストシステム１０に適用されたアプリケーションプログラムがＡＴＭと関連するサービスを求める場合、ホストシステム１０のネットワークインタフェースカードドライバはアプリケーションプログラムにそのサービスを提供する。例えば、あるアプリケーションプログラムとして、ホストメモリ１１にあるメッセージデータを格納し、そのメッセージデータを伝送するように要求する場合は、ネットワークインタフェースカードドライバはＩ／Ｏバス３０を通じてＡＡＬプロセッサ２１としてそのメッセージデータを転送することを要求する。
【０００８】
ＡＡＬプロセッサ２１は、一定の単位長さ、例えば４８バイト単位でホストメモリ１１に格納されたメッセージデータを読取って、ＡＡＬプロトコルフォーマットに応じてＡＴＭセルを形成し、そのＡＴＭセルをＳＯＮＥＴ／ＡＴＭラインアダプタ２２に伝達する。このＳＯＮＥＴ／ＡＴＭラインアダプタ２２は受取ったＡＴＭセルを光通信に適した予め定められたフォーマットにマッピングし、送受信装置２３はフォーマットされた直列データを光信号に変換してＡＴＭネットワークに伝送する。
【０００９】
一方、ＡＴＭネットワークから送受信装置２３に入力されたデータは、ＡＴＭセルに分割された後、ＳＯＮＥＴ／ＡＴＭラインアダプタ２２を通じてＡＡＬプロセッサ２１に入力される。ＡＡＬプロセッサ２１は、ＡＴＭセルからヘッダー及びペイロードを分離し、ペイロードを再び組立ててメッセージを復元し、割込みを通じてメッセージの再組立完了をホストシステム１０に報知する。ＡＡＬプロセッサ２１からメッセージの再組立完了を報知する割込みが受信される時、ホストシステム１０のネットワークインタフェースカードドライバは受取ったメッセージを所定の手順によってアプリケーションプログラムに転送する。
【００１０】
制御メモリ２５内の帯域幅割当テーブルでは、伝送のために割当てられた仮想チャンネルを示すインデックス、またはＡＴＭセルがそのテーブルエントリに記録されることによって、各仮想チャンネルに帯域幅が割当てられるようにする。帯域幅割当テーブルの大きさ、即ち帯域幅割当テーブルを構成するエントリの個数、及び物理リンクの伝送速度または帯域幅が決定される時、帯域幅割当テーブルの１つのエントリに対する伝送速度は、次のように計算される。
【００１１】
【数１】
Ｃv＝−Ｖ／Ｎ  （ｂｐｓ）    式（１）
【００１２】
ここで、Ｃvは帯域幅割当テーブルの１つのエントリに対する伝送速度であり、Ｖは物理リンクの全体伝送速度であり、Ｎは帯域幅割当テーブルを構成するエントリの個数である。物理リンクとは、帯域幅割当テーブルのエントリに指定される仮想チャンネルを表す。
【００１３】
例えば、物理リンクの伝送速度が１００Ｍｂｐｓであり、帯域幅割当テーブルを構成するエントリの数が１００個である場合、帯域幅割当テーブルの１つのエントリに対する伝送速度は１Ｍｂｐｓになる。
【００１４】
帯域幅割当テーブルの各エントリに記録された仮想チャンネルのインデックス周波数によって、仮想チャンネルへの帯域幅割当てが行われる。帯域幅割当テーブルの１つのエントリに対する伝送速度が１Ｍｂｐｓであり、仮想チャンネルの必要帯域幅が４．５Ｍｂｐｓである場合は、その仮想チャンネルを表すインデックスが帯域幅割当テーブルの五つのエントリに記録される。図３は、帯域幅割当テーブルの一例を示す模式図であって、仮想チャンネルのインデックスが帯域幅割当テーブルを構成する各エントリに記録されている。各インデックスは、仮想チャンネル０〜２５５のうちの何れか１つを表す８ビットを有する。
【００１５】
ＡＡＬプロセッサ２１は、帯域幅割当テーブルの各エントリを順次アクセスして、帯域幅割当テーブルの各エントリに付けられた各インデックスによって指定される仮想チャンネルを通じてデータ伝送を行う。
【００１６】
前述した従来の帯域幅割当方法においては、１つのエントリに対する帯域幅が大きい場合、相当量の帯域幅損失が生じる。例えば、チャンネル１の帯域幅が１．５Ｍｂｐｓであり、チャンネル２の帯域幅が６４Ｋｂｐｓであり、帯域幅割当テーブルの１つのエントリに対する帯域幅が１Ｍｂｐｓである場合、チャンネル１のインデックスは２つのエントリに記録され、チャンネル２のインデックスは１つのエントリに記録される。この場合に帯域幅の損失は、チャンネル１に対しては０．５Ｍｂｐｓであり、チャンネル２に対しては９３６Ｋｂｐｓとなる。
【００１７】
従って、帯域幅割当テーブルを構成する各エントリの数を増やして帯域幅割当テーブルの各エントリに割当てられるべき帯域幅を減らす必要がある。しかし、帯域幅割当テーブルの各エントリに割当てられるべき帯域幅をある程度減らしたとしても、それだけエントリの数が増加するようになり、作動上非効率になるという不都合がある。
【００１８】
【発明が解決しようとする課題】
従って、本発明の主な目的は、サブテーブルを用いて仮想チャンネルに帯域幅を効果的に割当てる方法を提供することにある。
【００１９】
【課題を解決するための手段】
上記の目的を達成するために、本発明の好適な一実施例によれば、ＡＴＭネットワークにおいて帯域幅割当テーブルを用いて仮想チャンネルに帯域幅を割当てる方法であって、前記帯域幅割当テーブルが複数のエントリに分割されるメインテーブルを有し、各々のエントリが複数のサブテーブルを有する、該方法において
前記メインテーブルのエントリのフラグをチェックする第ａ段階と、
前記フラグが第１値を有する場合、前記メインテーブルのエントリに記録された仮想チャンネルのインデックスを読取る第ｂ段階と、
前記フラグが第２値を有する場合、前記仮想チャンネルのインデックスが記録されたサブテーブルのエントリを検索して前記インデックスを読取る第ｃ段階と、
前記インデックスに対応する前記仮想チャンネルのセルを供給する第ｄ段階と、
前記メインテーブルの最後のエントリに対応する仮想チャンネルのセルが供給されるまで前記第ａ段階から第ｄ段階までを反復する第ｅ段階とを含むことを特徴とする帯域幅割当方法が提供される。
【００２０】
本発明の他の実施例によれば、ＡＴＭネットワークにおいて帯域幅割当テーブルを用いて仮想チャンネルに帯域幅を割当てる方法であって、前記帯域幅割当テーブルが複数のエントリに分割されるメインテーブルと複数のサブテーブルとを有する、該方法において、
前記メインテーブルのエントリのフラグをチェックする第ａ段階と、
前記フラグが第１値を有する場合、前記メインテーブルのエントリに記録された仮想チャンネルのインデックスを読取る第ｂ段階と、
前記フラグが第２値を有する場合、前記仮想チャンネルのインデックスが記録されたサブテーブルのエントリを検索して前記インデックスを読取る第ｃ段階と、
前記インデックスに対応する前記仮想チャンネルのセルを供給する第ｄ段階と、
前記メインテーブルの最後のエントリに対応する仮想チャンネルのセルが供給されるまで前記第ａ段階から第ｄ段階まで反復する第ｅ段階とを含むことを特徴とする帯域幅割当方法が提供される。
【００２１】
【発明の実施の形態】
以下、本発明の好適実施例について図面を参照しながらより詳しく説明する。
【００２２】
本発明の実施例によると、帯域幅割当テーブルのエントリは複数のサブエントリに分けられ、または分けられた帯域幅がそのエントリに割当てられることによって、帯域幅の細分化を具現し得る。
【００２３】
図３を参照すると、本発明の好適な第１実施例による帯域幅割当テーブル４０が示されている。この帯域幅割当テーブル４０はメインエントリポインタ４１と、Ｎ個のメインエントリよりなるメインテーブル４２とからなり、各メインエントリは２つのまたはそれ以上のサブエントリを有し得、また仮想チャンネルを表す異なるインデックスを有し得る。
【００２４】
本発明の好適実施例によれば、各メインエントリは、メインエントリポインタ４１によって指定されるメインエントリの内容が仮想チャンネルのインデックスであるか、またはメインエントリに含まれたサブエントリを指定するサブエントリポインタであるかを表すフラグを有する。例えば、フラグが「０」である場合は該当エントリの内容が仮想チャンネルのインデックスであり、フラグが「１」である場合には該当エントリの内容がメインエントリに含まれたサブエントリを指定するサブエントリポインタである。ここで、サブエントリは仮想チャンネルを表すインデックスを有している。
【００２５】
メインテーブル４２を構成するエントリの数がＮであり、第１メインエントリ４３を構成するサブエントリ４３−１の数がＮ１（例えば、２）、第２メインエントリ４４を構成するサブエントリ４４−１の数がＮ２（例えば、８）であり、物理リンクの伝送速度がＬであると、１つのメインエントリに対する帯域幅はＬ／Ｎ、第１メインエントリ４３の１つのサブエントリに対する帯域幅はＬ／（Ｎ×Ｎ１）、第２メインエントリ４４の１つのサブエントリに対する帯域幅はＬ／（Ｎ×Ｎ２）になる。ここで、Ｎ、Ｎ１、Ｎ２及びＬは各々正の整数である。これらのメインエントリ４３及び４４に含まれたサブエントリの帯域幅がメインテーブル４２の帯域幅より著しく小さいので、帯域幅量子化の損失を減らして仮想チャンネルへの帯域幅の割当てを行い得る。
【００２６】
図４には、本発明の第１実施例によって仮想チャンネルへの帯域幅の割当方法を説明するためのフローチャートが示されている。
【００２７】
最初、ステップＳ５１において、メインエントリポインタによって指定されるテーブルのメインエントリを読取る。ステップＳ５２において、メインエントリのフラグをチェックして、メインエントリポインタによって指定されるメインエントリの内容をチェックする。フラグが「０」である場合、プロセスはステップＳ５３に進む。ここで、メインエントリに記録されたインデックスに対応する仮想チャンネルＶＣを認識する。ステップＳ５４にて、ＶＣに対応するＡＴＭセルを伝送することで、ステップＳ５３にて認識されたＶＣが提供され、プロセスはステップＳ５９に進む。
【００２８】
もし、フラグが「１」である場合にはプロセスはステップＳ５５に進んで、メインエントリのサブエントリポインタによって指定されるサブエントリの内容を読取る。ここで、サブエントリの内容は提供されるべき仮想チャンネルＶＣのインデックスである。その後、ステップＳ５６において、サブエントリに登録された仮想チャンネルが提供される。ステップＳ５７にては、サブエントリポインタの値が「１」だけ増加して次のサブエントリを指定する。
【００２９】
その後、ステップＳ５８にて、サブエントリポインタによって指定されるサブエントリが存在するかがチェックされる。判断の結果存在する場合には、プロセスはステップＳ５５にリターンし、そうでない場合には、ステップＳ５９に進みメインエントリポインタの値を「１」だけ増加して、メインテーブルの次のメインエントリを指定するようにする。メインテーブルの次のメインエントリに対しても同一の過程が繰返して行われる。
【００３０】
図５には、本発明の好適な第２実施例による帯域幅割当テーブル６０が示されている。
【００３１】
帯域幅割当テーブル６０は、第１階層のポインタ、即ちメインエントリポインタ６１と、その第１階層におけるＮ個のエントリを有するメインテーブル６２とから構成される。第１階層の各エントリは第２階層における２つまたはそれ以上のエントリを有し得る。即ち、下位階層の各エントリは上位階層の２つまたはそれ以上のエントリを有し得る。
【００３２】
さらに、本発明の第２実施例によれば、１つの階層の各エントリは該当エントリが次の階層のエントリなどを有するかを表すフラグを備える。フラグが、現エントリに次の階層のエントリが全く含まれていないことを表す場合、該当エントリの内容は提供されるべき仮想チャンネルを表すインデックスである。また、フラグが、現エントリに次の階層のエントリが２つ以上存在する場合には、該当エントリの内容は次の階層のエントリのうちのいずれか１つを指定するポインタである。
【００３３】
例えば、フラグが「０」であると、該当エントリの内容は仮想チャンネルのインデックスであり、フラグが「１」である場合には該当エントリの内容は次の階層のエントリを指定するポインタである。
【００３４】
メインテーブル６２を構成する第１階層におけるエントリの数がＮであり、物理リンクの伝送速度がＬである場合、第１階層の１つのエントリに対する帯域幅はＬ／Ｎである。第１階層のエントリ６３が第２階層６３−１のＮ１１個（例えば、２）のエントリを有する場合、第２階層のエントリ６３−１の各々に対する帯域幅はＬ／（Ｎ×Ｎ１１）となる。さらに、第２階層におけるエントリ６３−１のうちのいずれか１つが第３階層のＮ２１個（例えば、４）のエントリを有する場合は、Ｌ／（Ｎ×Ｎ１１×Ｎ２１）の帯域幅が第３階層のエントリ６３−２の各々に割り当てられる。同様に、第１階層のエントリ６４が第２階層６３−１のＮ１２個（例えば、８）のエントリ６４−１を有し、またエントリ６４−１のうちのいずれか１つが第３階層のＮ２２個（例えば、２）のエントリ６４−２を有する場合、エントリ６４−１の各々に対する帯域幅はＬ／（Ｎ×Ｎ１２）となり、エントリ６４−２の各々に対する帯域幅はＬ／（Ｎ×Ｎ１２×Ｎ２２）となる。
【００３５】
前述したように、帯域幅を個々のエントリによって適応的に割り当てることができ、帯域幅量子化の損失を少なくして仮想チャンネルへの帯域幅の割当を行うことができる。
【００３６】
図６には、本発明の第２実施例によって仮想チャンネルへの帯域幅の割当方法を説明するためのフローチャートが示されている。
【００３７】
最初、ステップＳ７１にて、メインエントリポインタ６１によって指定されるメインテーブル６２における、最高位階層または第１階層の第１エントリを読取る。メインテーブル６１は最高位階層のポインタに対応する。ステップＳ７２にて、メインエントリのフラグをチェックすることで、メインエントリの内容を調査する。フラグが「０」である場合は、プロセスはステップＳ７３に進んで、ここで、メインエントリに記録されたインデックスに対応する仮想チャンネルＶＣを認識し、フラグが「１」である場合にはプロセスはステップＳ７４に進む。ステップＳ７４では、下位階層のポインタによって指定される下位階層（即ち、第２階層）のエントリが読取られ、ステップＳ７２の過程が繰返して行われる。
【００３８】
ステップＳ７５にて、ステップＳ７３にて読取られたＶＣが提供される。その後、ステップＳ７６では、ステップＳ７３にて用いられたポインタの値は１だけ増加される。
【００３９】
続けて、ステップＳ７７では、ステップＳ７６にて処理されたポインタに対応するエントリが存在するかがチェックされる。存在する場合、プロセスはステップＳ７２にリターンして上記の過程を繰返して行い、そうでない場合、ステップＳ７８にて、ステップＳ７６にて処理されたポインタが最高位階層を指定するか否かが判断される。最高位階層でない場合、高位階層の１つまたは複数のエントリが残存していると判断して、プロセスはステップＳ７９へ進む。
【００４０】
ステップＳ７９では、高位階層のポインタ値を１だけ増加してステップＳ７８を繰返して行う。一方、ステップＳ７６にて処理されたポインタが最高位階層である場合は、帯域幅割当過程を終了する。上記のプロセスは、提供されるべき全てのＡＴＭセルが処理されるまで繰返して行われてもよい。
【００４１】
図７には、本発明の好適な第３実施例による帯域幅割当テーブルが示されている。第３実施例において、サブテーブルポインタによって指定されるサブエントリポインタを用いてアクセスして、サブテーブルがメインテーブルにおける複数のエントリによって共有されることによって、帯域幅をより適応的に割当て得る。
【００４２】
帯域幅割当テーブル８０は、メインエントリポインタ８１、メインテーブル８２、複数のサブエントリポインタ及び複数のサブテーブルを備えている。説明の便宜上、２つのサブエントリポインタとしては第１サブエントリポインタ８３及び第２サブエントリポインタ８５が示され、２つのサブテーブルとしては第１サブテーブル８４及び第２サブテーブル８６が示されている。
【００４３】
メインテーブル８２のエントリのフラグは、メインテーブル８２のエントリの内容が仮想チャンネルのインデックスか、またはサブエントリポインタによって指定されるサブテーブルポインタの何れかであるかを表す。例えば、フラグが「０」である場合はメインテーブル８２の該当エントリの内容が仮想チャンネルのインデックスであり、フラグが「１」である場合にはメインテーブル８２の該当エントリの内容がサブエントリポインタを指定するサブテーブルポインタである。ここで、サブエントリポインタは該当サブテーブルのエントリを表し、そのサブテーブルのエントリには仮想チャンネルのインデックスが記録されている。
【００４４】
第３実施例において、メインテーブル８２のエントリの個数がＮ１個であり、図７に示したように、３つのエントリがサブエントリポインタ８３を指し、５つのエントリがサブエントリポインタ８５を指定し、テーブル８０が２つのサブテーブル８４、８６を有する場合、仮想チャンネルのインデックスをその内容として有する、各サブテーブル及びメインテーブル８２のエントリに割当てられる帯域幅は、Ｌ（メインテーブルのエントリの個数−サブエントリポインタを有するエントリの個数＋サブテーブルの個数）として決定される。更に、サブテーブル８４、８６が図７に示したように、各々Ｎ２個（例えば、４）、Ｎ３個（例えば、８）を有する場合、これらのサブテーブル８４、８６に登録された仮想チャンネルに割り当てられる帯域幅は、各々Ｌ／Ｎ２（Ｎ１−６）及びＬ／Ｎ３（Ｎ１−６）である。
【００４５】
図８には、本発明の第３実施例によって仮想チャンネルへの帯域幅の割当方法を説明するためのフローチャートが示されている。
【００４６】
最初、ステップＳ９１にて、メインエントリポインタによって指定されるメインテーブルのエントリを読取る。ステップＳ９２にて、メインエントリのフラグをチェックすることで、メインエントリの内容が調査される。もし、フラグが「０」である場合は、プロセスがステップＳ９３に進んで、メインエントリに記録されたインデックスに対応する仮想チャンネルＶＣが認識され、フラグが「１」である場合にはプロセスはステップＳ９４に進む。
【００４７】
ステップＳ９４にて、メインテーブルのメインエントリに記録されたサブテーブルポインタによって指定されるサブエントリポインタが読取られる。ステップＳ９５においては、サブエントリポインタによって指定されるサブテーブルのエントリが読取られる。ここで、サブテーブルのエントリの内容は提供されるべき仮想チャンネルＶＣのインデックスである。その後、ステップＳ９６において、サブエントリポインタを「１」だけ増加させて、サブテーブルの次のエントリを指定するようにする。
【００４８】
ステップＳ９７にて、上記のステップＳ９３、またはＳ９５にて読取られた仮想チャンネルＶＣのセルが提供され、ステップＳ９８にて、メインエントリポインタを「１」だけ増加させて次のメインエントリを指定するようにする。メインテーブルの次のメインエントリに対しても、同一の過程が繰返して行われる。
【００４９】
上記において、本発明の好適な実施の形態について説明したが、本発明の請求範囲を逸脱することなく、当業者は種々の改変をなし得るであろう。
【００５０】
【発明の効果】
従って、本発明によれば、サブテーブルを用いて仮想チャンネルに帯域幅を効率的に割当てることによって帯域幅量子化の損失を減らすことができる。
【図面の簡単な説明】
【図１】ホストシステム及びＡＴＭネットワークインタフェースカードを示すブロック図である。
【図２】通常の帯域幅割当テーブルを示す図面である。
【図３】本発明の第１実施例による帯域幅割当テーブルを示す図面である。
【図４】本発明の第１実施例による仮想チャンネルへの帯域幅割当方法を説明するためのフローチャートである。
【図５】本発明の第２実施例による帯域幅割当テーブルを示す図面である。
【図６】本発明の第２実施例によって仮想チャンネルへの帯域幅割当方法を説明するためのフローチャートである。
【図７】本発明の第３実施例による帯域幅割当テーブルを示す図面である。
【図８】本発明の第３実施例によって仮想チャンネルへの帯域幅割当方法を説明するためのフローチャートである。
【符号の説明】
１０  ホストシステム
１１  ホストメモリ
１２  プロセッサ
１３  バス制御部
２０  ＡＴＭネットワークインタフェースカード
２２  ＳＯＮＥＴ／ＡＴＭラインアダプタ
２３  送受信装置
２４  ＥＰＲＯＭ
２５  制御メモリ
２６  ローカルスレーブバス
２７  ローカルメモリバス
３０  Ｉ／Ｏバス
【図１】
0003992823.tif 000002
【図２】
0003992823.tif 000003
【図３】
0003992823.tif 000004
【図４】
0003992823.tif 000005
【図５】
0003992823.tif 000006
【図６】
0003992823.tif 000007
【図７】
0003992823.tif 000008
【図８】
0003992823.tif 000009