(57)【特許請求の範囲】
【請求項１】
フレームリレー通信における複数のデータリンクに対応する通信残量データの補給処理を所定の設定周期で実行するトラヒック制御方式において、
前記複数のデータリンクを前記設定周期を分割して得られる複数の時分割タイミングに分散させて割り当てる時分割割当て手段と、
前記各時分割タイミング毎に、該時分割タイミングに前記時分割割当て手段により割り当てられたデータリンクに対応する通信残量データの補給処理を実行する通信残量データ補給処理実行手段と、
を有することを特徴とするトラヒック制御方式。
【請求項２】
前記時分割割当て手段は、前記各時分割タイミングにおける前記データリンクの割当て数が均等になるように、前記複数のデータリンクを前記複数の時分割タイミングに分散させて割り当てる、
ことを特徴とする請求項１に記載のトラヒック制御方式。
【請求項３】
前記データリンク毎に前記通信残量データの補給処理を実行するか否かを示す通信残量データ補給処理指示手段を更に有し、
前記通信残量データ補給処理実行手段は、前記通信残量データ補給処理指示手段が前記データリンクに対する通信残量データの補給処理の実行を指示している場合においてのみ、該データリンクに対する通信残量データの補給処理を実行する、
ことを特徴とする請求項１又は２の何れか１項に記載のトラヒック制御方式。
【請求項４】
複数のデータリンクに対応するトラヒックデータの設定処理を所定の設定周期で実行するトラヒック制御方式において、
前記複数のデータリンクを前記設定周期を分割して得られる複数の時分割タイミングに分散させて割り当てる時分割割当て手段と、
前記各時分割タイミング毎に、該時分割タイミングに前記時分割割当て手段により割り当てられたデータリンクに対応するトラヒックデータの設定処理を実行するトラヒックデータ設定処理実行手段と、
を有することを特徴とするトラヒック制御方式。
【請求項５】
前記時分割割当て手段は、前記各時分割タイミングにおける前記データリンクの割当て数が均等になるように、前記複数のデータリンクを前記複数の時分割タイミングに分散させて割り当てる、
ことを特徴とする請求項４に記載のトラヒック制御方式。
【請求項６】
前記データリンク毎に前記トラヒックデータの設定処理を実行するか否かを示すトラヒックデータ設定処理指示手段と、
前記トラヒックデータ設定処理実行手段は、前記トラヒックデータ設定処理指示手段が前記データリンクに対するトラヒックデータの設定処理の実行を指示している場合においてのみ、該データリンクに対するトラヒックデータの設定処理を実行する、
ことを特徴とする請求項４又は５の何れか１項に記載のトラヒック制御方式。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、フレームリレー通信等におけるトラヒック制御方式に関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
近年、従来のパケット交換機におけるフレームの転送時間の短縮を目的としたフレームリレー通信方式が、脚光をあびている。フレームリレー通信方式では、従来は加入者端末とネットワークの間で行っていた情報転送の確認作業やエラー発生時の再送制御等を発信加入者端末と宛先加入者端末に任せることによって、ネットワークにおける通信制御が大幅に簡素化され、その結果、高速なフレーム通信が実現されている。
【０００３】
フレームリレー通信の実行時には、発信加入者端末と宛先加入者端末の間に、例えばＰＣＭ回線上の１つ以上のタイムスロットタイミングが割り当てられた物理チャネル（ＰＬＮ：ＰｈｙｓｉｃａＬ  ｃｈａＮｎｅｌ）が定義され、更に、このＰＬＮ  を使用する複数のデータリンクが定義される。加入者は、これらのデータリンクを使用することにより、１つのＰＬＮ  に複数種類の情報を多重させて通信することができる。ＰＬＮ  上では、情報は、主にヘッダ部と情報部とからなるフレームと呼ばれるデータユニットに格納されて伝送される。このフレームの情報部には、通信情報が格納される。また、このフレームのヘッダ部には、そのフレームの情報部に格納される通信情報がどのデータリンクに対応するものであるかを示すデータリンクコネクション識別子（ＤＬＣＩ：Ｄａｔａ  Ｌｉｎｋ  Ｃｏｎｎｅｃｔｉｏｎ  Ｉｄｅｎｔｉｆｉｅｒ）が格納される。
【０００４】
ネットワーク内には、フレームリレー通信を制御する装置として、フレームリレーノード装置が設置される。このフレームリレーノード装置は、フレームが挿入されているタイムスロットのタイミングを識別することによりそのフレームが属するＰＬＮ  を識別し、フレームのヘッダ部に格納されているＤＬＣＩを識別することによってそのフレームが属するデータリンクを識別する。この場合、フレームリレーノード装置は、各ＰＬＮ  の各データリンク毎に、ＣＩＲ（Ｃｏｍｍｉｔｔｅｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｒａｔｅ）  制御と呼ばれるトラヒック制御を実行する。一般に、このＣＩＲ  制御は、リーキーバケット（Ｌｅａｋｙ  Ｂｕｃｋｅｔ）方式と呼ばれるトラヒック制御方式に基づく制御方式である。このＣＩＲ  制御において使用されるパラメータとその意味を以下に示す。
１．ＣＩＲ（Ｃｏｍｍｉｔｔｅｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｒａｔｅ）
平常転送時における加入者端末とフレームリレーノード装置の間の転送ビットレート。
【０００５】
２．ＥＩＲ（Ｅｘｃｅｓｓ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｒａｔｅ）
バースト転送時における加入者端末とフレームリレーノード装置の間の転送ビットレート。
【０００６】
３．Ｂｃ（Ｃｏｍｍｉｔｔｅｄ  Ｂｕｒｓｔ  Ｓｉｚｅ）
ＣＩＲ  のもとでの単位時間（Ｔｃ）あたりの転送データ量。
４．Ｂｅ（Ｅｘｃｅｓｓ  Ｂｕｒｓｔ  Ｓｉｚｅ）
ＥＩＲ  のもとでの単位時間（Ｔｃ）あたりの転送データ量。
【０００７】
５．ＣＢ（Ｃｏｍｍｉｔｔｅｄ  Ｂｕｒｓｔ）
平常転送時のＣＩＲ  制御のもとで各ΔＴ  時間内において加入者端末が送信可能な残りデータ量  （バケット）  。
【０００８】
６．ＥＢ（Ｅｘｃｅｓｓ  Ｂｕｒｓｔ）
バースト転送時のＣＩＲ  制御のもとで各ΔＴ  時間内において加入者端末が送信可能な残りデータ量  （バケット）  。
【０００９】
７．  ＣＩＲΔＴ
平常転送時のＣＩＲ  制御のもとでΔＴ  時間毎にＣＢに対し補給されるデータ量。      ＣＩＲ×ΔＴ  に等しい。
【００１０】
８．  ＥＩＲΔＴ
バースト転送時のＣＩＲ  制御のもとでΔＴ  時間毎にＥＢに対し補給されるデータ量。  ＥＩＲ×ΔＴ  に等しい。
加入者は、データリンクの開設時に、ネットワークプロバイダとの間で、平常転送時にそのデータリンクを使用して加入者端末とフレームリレーノード装置の間で単位時間（Ｔｃ）あたりに転送されるデータ量を示すパラメータＢｃと、バースト転送時にそのデータリンクを使用して加入者端末とフレームリレーノード装置の間で単位時間（Ｔｃ）あたりに転送されるデータ量を示すパラメータＢｅを契約する。ここで、平常転送時とは情報が定常的に転送される期間  （通常の通信状態）  をいい、バースト転送時とは情報が一時的に多量に転送される期間  （一時的に画像データなどが転送される場合）  をいう。契約データ量であるＢｃ及びＢｅは、転送ビットレートＣＩＲ  及びＥＩＲ  に等しい。フレームリレーノード装置は、開設されたデータリンクにＤＬＣＩを割り当てた後、そのＤＬＣＩにバッファを割り当て、そのバッファに、加入者が契約したＢｃ及びＢｅのほか、上述した各パラメータを設定する。
【００１１】
フレームリレーノード装置は、１組のＰＬＮ  及びＤＬＣＩに対応するフレームリレー通信の開始時に、そのＰＬＮ  及びＤＬＣＩに対応する平常転送時における単位時間（Ｔｃ）あたりの残りのデータ量を示すパラメータＣＢに契約量Ｂｃを格納し、そのＰＬＮ  及びＤＬＣＩに対応する単位時間（Ｔｃ）あたりの残りのデータ量を示すパラメータＥＢに契約量Ｂｅを格納する。フレームリレーノード装置は、フレームを受信したＰＬＮ  とそのフレームのヘッダ部に格納されているＤＬＣＩを判別することにより、ＣＩＲ  制御を各ＰＬＮ  及びデータリンク（ＤＬＣＩ）毎に実行する。
【００１２】
まず、フレームリレーノード装置は、フレームを受信すると、そのフレームが属するＰＬＮ  及びＤＬＣＩに対応するＣＢの値からそのフレームのデータ量を減算する。この処理は、フレームが受信される毎に、そのフレームが属するＰＬＮ  及びＤＬＣＩに対応するＣＢの値がＣＢ≦０になるまで実行される。各ＰＬＮ  及びＤＬＣＩについて０＜ＣＢ≦Ｂｃが満たされている間は、そのＰＬＮ  及びＤＬＣＩを使用している加入者端末は、平常転送時における契約量を守っていることになる。
【００１３】
各ＰＬＮ  及びＤＬＣＩについてＣＢ≦０となると、そのＰＬＮ  及びＤＬＣＩにおけるデータ量が平常転送時における契約量をオーバーしたことになる。フレームリレーノード装置は、ＣＢ≦０となっているＰＬＮ  及びＤＬＣＩに対応するフレームを更に受信すると、そのフレームのＤＥビットにフラグをセットすると共に、そのフレームが属するＰＬＮ  及びＤＬＣＩに対応するＥＢの値からそのフレームのデータ量を減算する。この計算処理は、フレームが受信される毎に、そのフレームが属するＰＬＮ  及びＤＬＣＩに対応するＥＢの値がＥＢ≦０になるまで実行される。各ＰＬＮ  及びＤＬＣＩについて０＜ＥＢ≦Ｂｅが満たされている間は、そのＰＬＮ  及びＤＬＣＩを使用している加入者端末は、バースト転送時における契約量を守っていることになる。
【００１４】
各ＰＬＮ  及びＤＬＣＩについてＥＢ≦０となると、そのＰＬＮ  及びＤＬＣＩにおけるデータ量はバースト転送時における契約量をもオーバーしたことになる。フレームリレーノード装置は、ＥＢ≦０となっているＰＬＮ  及びＤＬＣＩに対応するフレームを更に受信すると、そのフレームをネットワーク内に転送する処理は行わずに、そのフレームを廃棄する。
【００１５】
ここで、加入者による契約量Ｂｃ及びＢｅは単位時間（Ｔｃ）あたりのデータ量で、加入者端末が平常転送時及びバースト転送時にそれぞれ送信可能な残りデータ量であるＣＢ及びＥＢの値は、これら単位時間（Ｔｃ）あたりの契約量Ｂｃ及びＢｅを基準に判定される。従って、一種のデータのバケットであるＣＢ及びＥＢの値  （内容）  は、少なくとも単位時間（Ｔｃ）毎に補給  （補正）  される必要がある。実際には、ＣＩＲ  制御の精度を高めるために、フレームリレーノード装置は、単位時間（Ｔｃ）より短いΔＴ  時間毎に、各ＰＬＮ  及びＤＬＣＩに対応するＣＢ及びＥＢの値に、各ＰＬＮ  及びＤＬＣＩに対応する補給データ量  ＣＩＲΔＴ  及び  ＥＩＲΔＴ  を補給する処理を実行する。補給の結果、各ＰＬＮ  及びＤＬＣＩに対応するＣＢ及びＥＢの値が、それぞれのＰＬＮ  及びＤＬＣＩに対応するＢｃ及びＢｅの値を超えた場合には、ＣＢ及びＥＢの値はそれぞれＢｃ及びＢｅ  （満杯状態）  にセットされる。
【００１６】
しかし、このような補給処理では、以下のような問題が生ずる。即ち、フレームリレーノード装置が扱うＰＬＮ  及びＤＬＣＩの数は、相当数に上る可能性がある。このような場合において、従来、フレームリレーノード装置は、ΔＴ  時間毎に、全てのＰＬＮ  及びＤＬＣＩに対して、一斉に各ＰＬＮ  及びＤＬＣＩに対応するＣＢ及びＥＢの補給処理を実行している。この結果、ＰＬＮ  及びＤＬＣＩの数が多い場合には、上記補給処理がΔＴ  時間毎に集中する結果となり、フレームリレーノード装置内のＣＩＲ  制御を実行するプロセッサにおいて実行される他の処理が遅延し、更にはＣＩＲ  制御の処理自体も遅延する結果を招いてしまうという問題点を有している。
【００１７】
一方、フレームリレーノード装置の処理能力は、１フレームに対する処理時間によって決定される。即ち、フレームリレーノード装置の処理能力は、単位時間あたりに処理できるフレーム数に対応する。従って、フレームリレーノード装置にその処理能力以上の数のフレームが入力された場合には、いわゆる輻輳制御を実行する必要が生ずる。この一方で、フレームリレーノード装置においては、前述したようなＣＩＲ  制御も実行される必要もある。しかし、従来は、フレームリレー通信方式において、輻輳制御とＣＩＲ  制御を連係させて効率的に実行する制御方式は知られていない。
【００１８】
また、フレームリレーノード装置は、フレームの送受信処理の他に上述したようなＣＩＲ  制御及び輻輳制御などの各種処理を実行する必要があるため、フレームの送受信処理をいかに効率よく行うかという問題も生じてくる。
【００１９】
以上挙げた各問題点は、必ずしもフレームリレー通信方式に限られたものではなく、他の通信方式においても同様の問題が生ずる可能性がある。
本発明は、フレームリレー通信等において各データリンクに対して一定時間毎に実行されるトラヒックパラメータの設定処理を効率良く実行可能とすること、階層的なトラヒック制御処理を効率良く連係可能とすること、及びトラヒック制御処理と共に実行されるフレーム等の通信情報の送受信処理を効率良く実行可能とすることを目的とする。
【００２０】
【課題を解決するための手段】
図１及び図２は、本発明をフレームリレー通信方式に適用した場合のトラヒック制御方式のブロック図である。
【００２１】
本発明の第１の態様は、フレームリレー通信における複数のデータリンク  （ＤＬＣＩ）  に対応する通信残量データ  （ＣＩＲ  バケット）  の補給処理を所定の設定周期で実行するトラヒック制御方式を前提とする。
【００２２】
そして、図１に示される時分割割当て手段１０１は、複数のデータリンクを設定周期を分割して得られる複数の時分割タイミングに分散させて割り当てる。
次に、図１に示される通信残量データ補給処理実行手段１０２は、各時分割タイミング毎に、その時分割タイミングに時分割割当て手段１０１により割り当てられたデータリンクに対応する通信残量データの補給処理を実行する。
【００２３】
本発明の第２の態様は、図１の構成において、時分割割当て手段１０１は、各時分割タイミングにおけるデータリンクの割当て数が均等になるように、複数のデータリンクを複数の時分割タイミングに分散させて割り当てるように構成される。
【００２４】
本発明の第３の態様は、図１の構成において、データリンク毎に通信残量データの補給処理を実行するか否かを示す通信残量データ補給処理指示手段１０３を更に有する。
【００２５】
そして、通信残量データ補給処理実行手段１０２は、通信残量データ補給処理指示手段１０３がデータリンクに対する通信残量データの補給処理の実行を指示している場合においてのみ、そのデータリンクに対する通信残量データの補給処理を実行する。
【００２６】
本発明の第４の態様は、以下の構成を有する。
まず、図２において、通信処理周期実行手段２０１は、フレームリレー通信におけるフレームの通信処理を周期的に実行する。
【００２７】
フレーム処理数制限手段２０２は、その通信処理周期実行手段２０１により１周期内で通信処理されるフレームの処理数を制限する。
本発明の第５の態様は、例えば図２に示される通信処理周期実行手段２０１がフレームリレー通信におけるフレームの通信処理を周期的に実行している場合において、フレームリレー通信において定義されるデータリンクに対してＣＩＲ  制御などの通信量制御が実行され  （図２の２０３）  、その後に、上記データリンクが使用する物理チャネルに対して輻輳制御が実行される  （図２の２０４）  ように構成される。
【００２８】
本発明の第６の態様は、第１のサンプリング周期において、その第１のサンプリング周期を含むその前後の複数の第１のサンプリング周期においてサンプリングされるキュー長などの輻輳情報に基づいて第１のサンプリング周期におけるキュー長などの輻輳情報を算出する輻輳制御方式を前提とする。
【００２９】
そして、図２に示される輻輳情報サンプリング手段２０５は、第１のサンプリング周期を更に等分割して得られる複数の第２のサンプリング周期において輻輳情報をサンプリングする。
【００３０】
次に、輻輳情報平均化手段２０６は、輻輳情報サンプリング手段２０５により第２のサンプリング周期毎にサンプリングされる第１のサンプリング周期分の複数の輻輳情報の平均を計算し、その結果得られる平均値を前述した第１のサンプリング周期においてサンプリングされる輻輳情報とする。
【００３１】
本発明の第７の態様は、図２に示されるように、通信バッファ２０７を用いてフレームリレー通信を行うフレームリレー通信システムを前提とする。
そして、通信バッファ割当て手段２０８は、フレームリレー通信を行うためのデータリンク毎に、そのデータリンクが使用する物理チャネルのタイムスロット数に応じた記憶容量を有する通信バッファ２０７を割当てる。
【００３２】
本発明の第８の態様では、図２に示される通信バッファ割当て手段２０８は、通信を行うためのデータリンク  （物理チャネルも含む）  毎に、そのデータリンクにおけるフレームリレー通信の契約量  （例えば物理チャネルを使用する全ＤＬＣＩに対応するＣＩＲ  値の総和）  に応じた記憶容量を有する通信バッファ２０７を割当てる。
【００３３】
本発明の第９の態様は、以下の構成を有する。
まず、前述した通信処理周期実行手段２０１を有する。
そして、前述した図２に示されるフレーム処理数制限手段２０２は、通信処理周期実行手段２０１によって１周期内で通信処理されるデータリンク全体で通信されるフレームの処理数を制限する全体フレーム処理数制限手段として構成される。
【００３４】
更に、データリンク毎フレーム処理数制限手段２０９は、１周期内でデータリンク毎に通信されるフレームの処理数を、そのデータリンクに対して通信バッファ割当て手段２０８により割当てられる通信バッファ２０７の記憶容量に応じて制限する。
【００３５】
本発明の第１０の態様は、以下の構成を有する。
まず、図２に示される受信完了表示ビットマップ手段２１０は、通信を行うためのデータリンク毎に、そのデータリンクで通信情報が受信されたか否かを論理値１又は０として表示するビット情報をそのデータリンクに対応するビット位置に保持する。
【００３６】
次に、リンク状態表示ビットマップ手段２１１は、データリンク毎に、そのデータリンクが有効であるか否かを論理値１又は０としてとして表示するビット情報をそのデータリンクに対応するビット位置に保持する。
【００３７】
そして、通信処理指示手段２１２は、受信完了表示ビットマップ手段２１０とリンク状態表示ビットマップ手段２１１とで対応するビット位置毎に論理積を演算し、その結果得られる各ビット位置に論理値１が表示されている場合においてのみ、そのビット位置に対応するデータリンクに対する通信処理を指示する。
【００３８】
本発明の第１１の態様は、特には図示しないが、データリンク毎にそのデータリンクのトラヒックの統計項目を収集するトラヒック制御方式を前提とする。
そして、特には図示しないデータ領域保持手段は、指定されたデータリンクに対してのみそのデータリンクのトラヒックの統計項目を集計するためのデータ領域を保持する。
【００３９】
また、特には図示しないトラヒック統計項目収集手段は、指定されたデータリンクに対してのみそのデータリンクのトラヒックの統計項目の収集を行いデータ領域に集計する。
【００４０】
【作用】
本発明の第１の態様では、通信残量データの補給処理が所定の設定周期を分割して得られる各時分割タイミングに分散されることにより、処理の集中を避けることが可能となる。
【００４１】
なお、本発明は、フレームリレー通信に限られるものではなく、他の通信方式において、トラヒックデータが周期的に設定されるような場合に、その設定処理を複数の時分割タイミングに分散させて実行することにより、処理の集中を避けることが可能となる。
【００４２】
本発明の第２の態様では、各時分割タイミングにおけるデータリンクの割当て数が均等になるような割当てが行われることにより、処理の均等化を図ることが可能となる。
【００４３】
本発明の第３の態様では、データリンクに対して通信残量データの補給処理が実行される場合に、まず、通信残量データ補給処理指示手段１０３が参照され、補給処理が指示されている場合においてのみ当該補給処理が実行される。このようにして、通信残量データの補給処理の効率化が図られる。
【００４４】
また、フレームリレー通信以外の他の通信方式において、例えば複数のデータリンク毎にトラヒックデータの設定処理が周期的に行われるような場合に、データリンク毎にトラヒックデータの設定処理を行う必要があるか否かを所定の指示手段を参照して判定することにより、トラヒックデータの設定処理の効率化を図ることができる。
【００４５】
本発明の第４の態様では、通信処理が所定の周期で周期的に実行され、その場合に、通信処理されるフレームの処理数が制限される。この結果、上記周期時間内に受信されたフレームに対する通信処理を完了させることができ、この処理以外の処理のための時間を確保することができる。
【００４６】
なお、本発明は、フレームリレー通信方式に限られるものではなく、他の通信方式において、通信情報の送受信処理が周期的に実行されるように構成され、かつその場合に処理される通信情報数に制限が設けられることにより、送受信処理以外の処理のための時間を確保することができる。
【００４７】
本発明の第５の態様では、まずデータリンクに対応するＣＩＲ  制御などの通信量制御が実行され、例えばそのフレームがそれが属する物理チャネルに対応するキューに取り込まれた後に、その物理チャネル  （キュー）  に対して輻輳制御が実行される。これにより、契約量を守ったデータリンク上のフレームの受信を原因として輻輳状態が発生してしまう恐れを排除することができる。
【００４８】
なお、本発明はフレームリレー通信方式に限られるものではなく、他の通信方式において、例えば物理リンクに複数の論理リンクが収容されそれぞれに対してトラヒック制御が実行される場合のように、階層的なトラヒック構造に対してそれぞれトラヒック制御が実行されるような場合において、低い階層のトラヒックから優先的にトラヒック制御が実行されることにより、規律を守ったトラヒックの通信を原因として輻輳状態が発生してしまう恐れを排除することができる。
【００４９】
本発明の第６の態様においては、フレームリレー通信方式での輻輳制御方式において、複数の第１のサンプリング周期にわたって輻輳情報をスムージングすると共に、各第１のサンプリング周期よりも更に短い第２のサンプリング周期で輻輳情報が平均化されることにより、輻輳監視のための第１のサンプリング周期が比較的長くなるような場合でも、安定した輻輳情報を得ることができる。
【００５０】
本発明の第７の態様では、フレームリレー通信を行うためのデータリンクが使用する物理チャネルのタイムスロット数に応じた記憶容量を有する通信バッファ２０７が割当てられることにより、物理チャネルの太さに応じたバッファリングが可能となる。
【００５１】
なお、本発明はフレームリレー通信に限られるものではなく、他の通信方式において、データリンクが使用する伝送帯域に応じた容量の通信用バッファを割当てるように構成することもできる。
【００５２】
本発明の第８の態様では、データリンクにおけるフレームリレー通信の契約量に応じた記憶容量を有する通信バッファ２０７が割当てられることにより、契約量に応じたバッファリングが可能となる。
【００５３】
なお、本発明はフレームリレー通信に限られるものではなく、他の通信方式において、データリンクにおけるトラヒック制御量に容量の通信用バッファを割当てるように構成することもできる。
【００５４】
本発明の第９の態様では、フレームの通信処理が所定の周期で起動され、その周期内で複数のデータリンク全体で処理可能な数のフレームに対してのみ通信処理が実行される。これと共に、複数のデータリンク全体で処理可能な数の範囲内で処理される各データリンクに対応するフレームの数が、各データリンクに割り当てられる通信バッファ２０７の容量に応じて制限される。これにより、各データリンクの通信容量に応じた適切なフレームリレー通信処理が実行される。
【００５５】
なお、本発明はフレームリレー通信方式に限られるものではなく、他の通信方式において、各データリンクに割当てられるバッファの容量に関連するように通信情報の処理数を決定するように構成することもできる。
【００５６】
本発明の第１０の態様では、受信完了表示ビットマップ手段２１０の各ビットは、そのビット位置に対応するデータリンクで通信情報が受信されたときに例えばハードウエアによって１にセットされる。即ち、例えば図２の通信処理周期実行手段２０１は、通信情報の受信割込みが発生する毎に通信処理を実行する必要はなく、受信完了表示ビットマップ手段２１０の各ビットの値を見るだけで、そのビットに対応するデータリンクに対応する通信情報が受信されているか否かを判定できる。
【００５７】
また、リンク状態表示ビットマップ手段２１１の各ビットは、特には図示しない制御装置などがそのビットに対応するデータリンクを有効にしたときに１にセットされ、無効にしたときに０にリセットされる。即ち、例えば図２の通信処理周期実行手段２０１は、リンク状態表示ビットマップ手段２１１の各ビットの値を見るだけで、そのビットに対応するデータリンクが通信情報を受信可能な状態になっているか否かを判定できる。
【００５８】
ここで、例えば図２の通信処理周期実行手段２０１は、上記２つのビットマップ手段の各ビットを個別に検査する必要はない。即ち、通信処理指示手段２１２は、受信完了表示ビットマップ手段２１０とリンク状態表示ビットマップ手段２１１とで対応するビット位置毎に論理積を演算し、その結果得られる各ビット位置に論理値１が表示されている場合においてのみ、そのビット位置に対応するデータリンクに対する通信処理が指示されればよい。
【００５９】
この結果、通信情報の処理実行の可否判定を高速化することができる。
本発明の第１１の態様では、一般の通信システムにおいて、例えば指定された加入者に対してのみトラヒックデータの収集を行うように構成することができ、トラヒックデータの収集の効率化が図れる。
【００６０】
【実施例】
以下、図面を参照しながら、本発明の実施例につき詳細に説明する。
全体構成及び動作
図１は、本発明の実施例におけるフレームリレー通信システムの全体構成図である。
【００６１】
加入者端末である端末３０１は、ローカルエリアネットワーク（ＬＡＮ）  ３０４、ルータ３０５、及びＤＳＵ（Ｄａｔａ  Ｓｅｒｖｉｃｅ  Ｕｎｉｔ）３０６を介して、ユーザネットワークインタフェース３０７によって、フレームリレーノード装置３０２に接続される。フレームリレーノード装置３０２は、ＡＴＭ  インタフェース３０８によりＡＴＭ  交換機３０３に接続される。このＡＴＭ  交換機３０３は、ＡＴＭ  （  非同期転送モード：Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）方式に基づくデータ交換処理を実行する。即ち、本実施例の場合、フレームリレー通信システムは、ＡＴＭ  ネットワークをバックボーンとして構築される。なお、フレームリレー通信システムは、必ずしもＡＴＭ  ネットワークをバックボーンとする必要はなく、様々なネットワークをバックボーンとすることができる。
【００６２】
ユーザネットワークインタフェース３０７は、例えば、２４タイムスロットが多重された１．５Ｍｂｐｓ（メガビット／秒）  の転送ビットレートを有するＰＣＭ  ディジタル回線であって、１タイムスロットあたり６４Ｋｂｐｓ  （キロビット／秒）  の転送ビットレートを有する。加入者は、１つ以上のタイムスロットを組み合せることによって、１つのＰＬＮ（物理チャネル）  を構成することができ、このＰＬＮ  を使用してフレームリレー通信を行う。
【００６３】
ＡＴＭ  インタフェース３０８は、例えば、１５０Ｍｂｐｓ  の転送ビットレートを有するＡＴＭ  回線であって、ＡＴＭ  セルを転送する。
フレームリレーノード装置３０２は、図３の端末３０１からユーザネットワークインタフェース３０７を介して転送されてきたフレームを受信し、そのフレームに対してＣＩＲ  制御及び輻輳制御を実行しながら、そのフレームをＡＴＭ  セルに変換し、そのＡＴＭ  セルをＡＴＭ  交換機３０３に向かうＡＴＭ  インタフェース３０８に送出する処理と、それとは逆に、ＡＴＭ  交換機３０３からＡＴＭ  インタフェース３０８を介して転送されてきたＡＴＭ  セルを受信し、それをフレームに変換し、そのフレームを端末３０１に向かうユーザネットワークインタフェース３０７に送出する処理を実行する。前者の処理をイングレス（ｉｎｇｒｅｓｓ）  処理と呼び、後者の処理をエグレス（ｅｇｒｅｓｓ）処理と呼ぶ。
【００６４】
図４は、図３のフレームリレーノード装置３０２内の処理構造とデータの流れを示した図である。
始めに、イングレス処理は、以下のようにして実行される。
【００６５】
まず、フレーム送受信部４０４は、ユーザネットワークインタフェース３０７から各ＰＬＮ（物理チャネル）  に対応して特には図示しないメモリ上に予め確保されるイングレス処理用バッファに、各ＰＬＮ  に対応するタイムスロットタイミングで各ＰＬＮ  に対応するフレームを順次受信する。
【００６６】
次に、ユーザインタフェース処理部４０１は、機能的に、ユーザネットワークインタフェース３０７上に定義される上記各ＰＬＮ  に対応して設けられる。
ＰＬＮ  別に設けられているユーザインタフェース処理部４０１内のイングレス処理部４０１−１は、フレーム送受信部４０４によって上記ＰＬＮ  に対応するイングレス処理用バッファに受信された各フレームに対し、そのフレームに格納されているＤＬＣＩに対応するＣＩＲ  制御を実行し、その結果そのフレームが廃棄されなかった場合にイングレス処理用バッファ内のそのフレームのアドレスを上記ＰＬＮ  に対応するイングレス処理用キューに接続する。更に、イングレス処理部４０１−１は、上記ＰＬＮ  に対応するイングレス処理用キューに接続されている各フレームのＤＬＣＩとユーザ情報が含まれるフレーム本体  （後述する図５（ａ）  のハッチング部）  のメモリアドレスをＡＴＭ  インタフェース処理部４０３内のイングレス処理部４０３−１に順次引き渡す。同時に、イングレス処理部４０１−１は、フレームリレースイッチングテーブル４０２をアクセスすることにより、上記ＰＬＮ  及び引き渡すフレーム本体のヘッダ部に格納されているＤＬＣＩに対応するＶＰＩ／ＶＣＩ（仮想パス識別子／仮想チャネル識別子）  を検索して、そのＶＰＩ／ＶＣＩ  をＡＴＭ  インタフェース処理部４０３内のイングレス処理部４０３−１に出力する。
【００６７】
また、イングレス処理部４０１−１は、上記処理と並行して、上記ＰＬＮ  に対応するイングレス処理用キューに対し、所定のサンプリング周期で、輻輳制御を実行する。
【００６８】
ＡＴＭ  インタフェース処理部４０３内のイングレス処理部４０３−１は、ユーザインタフェース処理部４０１内のイングレス処理部４０１−１から引き渡されたメモリアドレスに格納されているフレーム本体の長さを算出した後、そのフレーム長とフレーム本体のメモリアドレス、及びイングレス処理部４０１−１から引き渡されたＶＰＩ／ＶＣＩ  をセル送受信部４０５に引き渡す。
【００６９】
セル送受信部４０５は、イングレス処理部４０３−１から引き渡されたメモリアドレスに格納されているフレーム本体が格納されたプロトコルデータユニット  （後述する図５（ｃ）  のＣＰＣＳ−ＰＤＵ）  を作成し、更に、そのプロトコルデータユニットを等分割することにより新たなプロトコルデータユニット  （後述する図５（ｄ）  のＳＡＲ−ＰＤＵ）を作成した後、その分割されたプロトコルデータユニットがそれぞれのペイロードに格納され、イングレス処理部４０３−１から引き渡された１つのＶＰＩ／ＶＣＩ  がそれぞれのヘッダ部に格納されたＡＴＭ  セル  （後述する図５（ｅ）  ）  を順次生成し、それらをＡＴＭ  インタフェース３０８に順次送出する。
【００７０】
フレームが格納されていた記憶領域は、フレーム送受信部４０４がユーザネットワークインタフェース３０７から続いて入力されるフレームを受信するためのイングレス処理用バッファとして開放される。
【００７１】
一方、エグレス処理は、以下のようにして実行される。
始めに、セル送受信部４０５は、ＡＴＭ  インタフェース３０８から順次受信したＡＴＭ  セルのペイロードに含まれるプロトコルデータユニット（ＳＡＲ−ＰＤＵ）  を、そのヘッダ部に格納されているＶＰＩ／ＶＣＩ  別に結合することにより、フレームリレー通信用のフレーム本体を含む１つのプロトコルデータユニット（ＣＰＣＳ−ＰＤＵ）を特には図示しないメモリ上に復元し、簡単な誤り検出・訂正を行った後、フレームリレー通信用のＤＬＣＩとユーザ情報が格納されたフレーム本体を復元して、そのメモリアドレスをＶＰＩ／ＶＣＩ  と共にＡＴＭ  インタフェース処理部４０３内のエグレス処理部４０３−２に引き渡す。なお、１つのプロトコルデータユニット（ＣＰＣＳ−ＰＤＵ）を復元するための先頭と末尾のＡＴＭ  セルは、各ＡＴＭ  セルのヘッダ部に格納されるペイロードタイプ（ＰＴ）フィールドの値によって識別される。
【００７２】
次に、ＡＴＭ  インタフェース処理部４０３内のエグレス処理部４０３−２は、セル送受信部４０５から引き渡されたメモリアドレスに格納されているフレーム本体のメモリアドレスをユーザインタフェース処理部４０１内のエグレス処理部４０１−２に引き渡す。この時同時に、ＡＴＭ  インタフェース処理部４０３内のエグレス処理部４０３−２は、フレームリレースイッチングテーブル４０２をアクセスすることによって、セル送受信部４０５から引き渡されたＶＰＩ／ＶＣＩ  に対応するＰＬＮ  及びＤＬＣＩを検索し、検索されたＤＬＣＩを、検索されたＰＬＮ  に対応するユーザインタフェース処理部４０１内のエグレス処理部４０１−２に引き渡す。
【００７３】
ユーザインタフェース処理部４０１内のエグレス処理部４０１−２は、ＡＴＭ  インタフェース処理部４０３内のエグレス処理部４０３−２から引き渡されたメモリアドレスに格納されているフレーム本体のヘッダ部に、エグレス処理部４０３−２から引き渡されたＤＬＣＩを格納した後、そのフレーム本体が含まれるフレームリレー通信用のフレームを作成し、そのフレームのメモリアドレスを、上記ＰＬＮ  に対応するエグレス処理用キューに接続する。更に、エグレス処理部４０１−２は、上記ＰＬＮ  に対応するエグレス処理用キューからフレームのメモリアドレスを１つずつ取り出しフレーム送受信部４０４に順次引き渡す。
【００７４】
フレーム送受信部４０４は、ＰＬＮ  別に、そのＰＬＮ  に対応するユーザインタフェース処理部４０１内のエグレス処理部４０１−２から引き渡されたメモリアドレスに格納されているフレームを、そのＰＬＮ  に対応するタイムスロットタイミングで、ユーザネットワークインタフェース３０７に順次送出する。
【００７５】
図５は、上述したフレームリレーノード装置３０２が実行するイングレス処理又はエグレス処理において変換されるフレームとＡＴＭ  セルのデータフォーマットの関係を示した図である。
【００７６】
フレームリレー通信用のフレームは、例えばＨＤＬＣ  （ハイレベルデータリンク制御手順：Ｈｉｇｈ  Ｌｅｖｅｌ  Ｄａｔａ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌ  ｐｒｏｃｅｄｕｒｅ）と呼ばれるプロトコルに従った図５（ａ）  に示されるデータフォーマットを有する。即ち、フレームは、フラグシーケンスＦｌａｇ、ＤＬＣＩその他  （コントロール）  を含むヘッダ部、加入者の通信情報が格納される情報部、フレームチェックシーケンスＦＣＳ  、及びフラグシーケンスＦｌａｇから構成される。
【００７７】
フレームとＡＴＭ  セルは、フレームリレーノード装置３０２が有するＡＡＬ  （ＡＴＭ  Ａｄａｐｔａｔｉｏｎ  Ｌａｙｅｒ）と呼ばれるレイヤ機能及びＡＴＭ  レイヤ機能によって相互に変換される。
【００７８】
即ち、まず、ＡＡＬ  機能内の１つのレイヤ機能であるＳＳＣＳ  （サービス依存部コンバージェンスサブレイヤ：ＳｅｒｖｉｃｅＳｐｅｃｉｆｉｃ  Ｃｏｎｖｅｒｇｅｎｃｅ  Ｓｕｂｌａｙｅｒ）  機能によって、図５（ａ）  に示されるフレームのうちハッチングされた部分として示されるヘッダ部及び情報部とからなるフレーム本体と、図５（ｂ）  に示されるデータフォーマットを有するＳＳＣＳ−ＰＤＵ  （ＳＳＣＳプロトコルデータユニット：ＳＳＣＳ  Ｐｒｏｔｏｃｏｌ  ＤａｔａＵｎｉｔ）  とが、相互に変換される。ＳＳＣＳ機能には、特に意味のある処理は含まれておらず、フレーム本体と次に説明するＣＰＣＳ−ＰＤＵとの橋渡し的な機能を有するにすぎない。
【００７９】
続いて、ＡＡＬ  機能内の１つのレイヤ機能であるＣＰＣＳ  （共通部コンバージェンスサブレイヤ：Ｃｏｍｍｏｎ  Ｐａｒｔ  Ｃｏｎｖｅｒｇｅｎｃｅ  Ｓｕｂｌａｙｅｒ）  機能により、図５（ｂ）  に示されるデータフォーマットを有するＳＳＣＳ−ＰＤＵと、図５（ｃ）  に示されるデータフォーマットを有するＣＰＣＳ−ＰＤＵ  （ＣＰＣＳプロトコルデータユニット：ＣＰＣＳ  Ｐｒｏｔｏｃｏｌ  ＤａｔａＵｎｉｔ）  とが、相互に変換される。ＣＰＣＳ−ＰＤＵは、図５（ｃ）  に示されるように、フレーム本体の他に、ｎオクテットのパディング部ＰＡＤ（ｎについては後述する）  、２オクテットの予約部、２オクテットのデータ長部Ｌｅｎｇｔｈ、及び４オクテットのデータチェックシーケンスＣＲＣ  ３２を含む。パディング部ＰＡＤ  のオクテット長ｎは、ＣＰＣＳ−ＰＤＵ全体のオクテット長が４８オクテットの整数倍  （４８×Ｎ）  となるように決定される。データ長部Ｌｅｎｇｔｈには、ＣＰＣＳ−ＰＤＵ全体のオクテット長が格納される。データチェックシーケンスＣＲＣ  ３２は、ＣＰＣＳ−ＰＤＵ全体のエラーチェックを行うために付加されるＣＲＣ  ３２符号である。
【００８０】
更にＡＡＬ  機能内の１つのレイヤ機能であるＳＡＲ（セル分割・組立：ＳｅｇｍｅｎｔａｔｉｏｎＡｎｄ  Ｒｅａｓｓｅｍｂｌｙ）  サブレイヤ機能によって、図５（ｃ）  に示されるデータフォーマットを有するＣＰＣＳ−ＰＤＵと、図５（ｄ）  に示されるデータフォーマットを有するＳＡＲ−ＰＤＵ  （ＳＡＲプロトコルデータユニット：ＳＡＲ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）  とが、相互に変換される。このＳＡＲ−ＰＤＵ  は、図５（ｄ）  及び（ｃ）  に示されるように、ＣＰＣＳ−ＰＤＵを４８オクテットずつ分割して得られるものである。
【００８１】
そして、ＡＴＭ  レイヤ機能により、図５（ｄ）  に示されるデータフォーマットを有する各ＳＡＲ−ＰＤＵ  が、図５（ｅ）  に示されるデータフォーマットを有するＡＴＭ  セルのそれぞれ４８オクテットのペイロードにマッピングされる。また、ＡＴＭ  セルのヘッダ部は、５オクテット長である。従って、１つのＡＴＭ  セルは、５３オクテット長である。
【００８２】
前述した説明から理解されるように、上述したレイヤ機能において、ＣＰＣＳ機能  （ＳＳＣＳ機能を含む）  はＡＴＭ  インタフェース処理部４０３が担当し、ＳＡＲ  サブレイヤ機能及びＡＴＭ  レイヤ機能は、セル送受信部４０５が担当している。
ＣＩＲ  バケット補給処理
次に、上述の機能を有するフレームリレーノード装置３０２が実行するＣＩＲ  制御において、加入者端末が平常転送時及びバースト転送時にそれぞれ送信可能な残りデータ量、即ち一種のデータのバケット  （以下、ＣＩＲ  バケットと呼ぶ）  であるＣＢ及びＥＢの値の補給処理について説明する。この基本的な原理は、＜従来の技術及び発明が解決しようとする課題＞の項で説明した。
【００８３】
既に＜従来の技術及び発明が解決しようとする課題＞の項で説明したように、従来は、図６（ａ）  に示されるように、フレームリレーノード装置は、ΔＴ  時間毎に、全てのＤＬＣＩに対して、一斉に各ＤＬＣＩに対応するＣＩＲ  バケット補給処理を実行していたため、その補給処理がΔＴ  時間毎に集中することにより他の処理を遅延させてしまうという結果を招いていた。
【００８４】
これに対して、本実施例では、図６（ｂ）  に示されるように、ΔＴ  時間が更に例えば２５分割され、その分割の結果生ずる２５の時分割タイミングのそれぞれ  （τ時間毎）  に、ＤＬＣＩが均等に割り当てられる。そして、各時分割タイミングにおいて、その時分割タイミングに割り当てられたＤＬＣＩに対するＣＩＲ  バケット補給処理が実行される。この結果、本実施例では、ＣＩＲ  バケット補給処理がΔＴ  を例えば２５分割して得られる各時分割タイミングに分散されるため、処理の集中を避けることが可能となる。なお、１つのＤＬＣＩに対するＣＩＲ  バケット補給処理の時間間隔は、従来と同じΔＴ  時間である。
【００８５】
図７は、それぞれの時分割タイミングにＤＬＣＩが登録される様子を示した概念図である。フレームリレーノード装置３０２（図３、図４）内の特には図示しないメモリには、＃０〜＃２４  までのＤＬＣＩ登録キューが確保され、特には図示しない制御装置によって登録されたＤＬＣＩが、各キューにおけるＤＬＣＩの登録数が均等になるように、各キューに接続される。
【００８６】
図８は、このようなＤＬＣＩ登録キューを用いたＣＩＲ  バケット補給処理の動作フローチャートである。この動作フローチャートは、図４に示されるフレームリレーノード装置３０２のユーザインタフェース処理部４０１内のイングレス処理部４０１−１が、割込み処理として実行する。
【００８７】
まず、ステップ８０１において、特には図示しないタイマからのΔＴ／２５毎の割込みがウエイトされる。
ステップ８０２でΔＴ／２５毎のタイマ割込みが通知されると、ステップ８０３において、変数ｎの値に対応する＃ｎのＤＬＣＩ登録キューに接続されている各ＤＬＣＩに対するＣＩＲ  バケット補給処理が実行される。この処理では、処理対象ＤＬＣＩに対応して特には図示しないメモリ上に確保されているバッファ内に格納されているＣＩＲ  バケットであるＣＢ及びＥＢの値に、上記バッファ内に格納されている処理対象ＤＬＣＩに対応する補給データ量  ＣＩＲΔＴ  及び  ＥＩＲΔＴ  がそれぞれ加算される。補給処理の結果、ＣＢ又はＥＢの値が、上記バッファ内に格納されている処理対象ＤＬＣＩに対応する平常転送時の契約量Ｂｃ又はバースト転送時の契約量Ｂｅの値を超えた場合は、ＣＢ及びＥＢの値はそれぞれＢｃ及びＢｅ  （満杯状態）  にセットされる。
【００８８】
＃ｎのＤＬＣＩ登録キューに接続されている全てのＤＬＣＩに対するＣＩＲ  バケット補給処理が終了すると、ステップ８０４で、変数ｎの値が＋１だけインクリメントされる。
【００８９】
ステップ８０５では、変数ｎの値が２５になったか否かが判定される。ステップ８０５の判定がＹＥＳならステップ８０６で変数ｎの値が０にリセットされ、またステップ８０５の判定がＮＯならステップ８０６は実行されずに、ステップ８０１の処理に戻り、ΔＴ／２５毎の次のタイマ割込みがウエイトされる。
【００９０】
以上説明したように、ＣＩＲ  バケット補給処理がΔＴ  を例えば２５分割して得られる各時分割タイミングに分散されることにより、処理の集中を避けることが可能となる。なお、本発明は、フレームリレー通信に限られるものではなく、他の通信方式において、各データリンクのトラヒックデータが周期的に設定されるような場合に、その設定処理を複数の時分割タイミングに分散させて実行することにより、処理の集中を避けることが可能となる。
ＤＬＣＩ登録キュー制御処理
上述したように、＃０〜＃２４  のＤＬＣＩ登録キューには、処理の均等な分散を図るために、特には図示しない制御装置によって登録されたＤＬＣＩが、各キューにおけるＤＬＣＩの登録数が均等になるように、各キューに接続される必要がある。
【００９１】
そのため、本実施例では、図９に示されるように、各ＤＬＣＩ登録キューに対応して登録カウンタＱＣが特には図示しないメモリ上に設けられる。そして、登録されたＤＬＣＩがキューに接続される毎に、そのキューに対応する登録カウンタＱＣの値が＋１される。また、ＤＬＣＩに対応するフレームリレー通信が終了してそのＤＬＣＩが削除される毎に、そのＤＬＣＩが接続されているキューからそのＤＬＣＩが切り離されると共に、そのキューに対応する登録カウンタＱＣの値が−１される。
【００９２】
ＤＬＣＩの登録時には、登録されたＤＬＣＩは、登録カウンタＱＣの値が少ないキューに接続される。図１０は、この動作を実現するための動作フローチャートである。この動作フローチャートは、フレームリレーノード装置３０２のユーザインタフェース処理部４０１内のイングレス処理部４０１−１が実行する。
【００９３】
まず、ステップ１００１で、特には図示しない制御装置からＤＬＣＩの登録が通知されると、ステップ１００２〜１００９の処理が実行される。
これらの一連の処理では、ステップ１００２でＤＬＣＩ登録キューを指示する変数ｎの値が０にリセットされた後に、ステップ１００６でｎの値が２３になったと判定されるまで、ステップ１００７でｎの値が＋１ずつインクリメントされながら、ステップ１００３で、ｎの値により指示されるＤＬＣＩ登録キューに対応する登録カウンタＱＣ（ｎ）  の値が、その１つ後のＤＬＣＩ登録キューの登録カウンタＱＣ（ｎ＋１）  より小さいか否かを判定する処理が、このステップ１００３の判定がＮＯである限り、繰り返し実行される。なお、登録カウンタＱＣ（０）  〜ＱＣ（２４）の値は、運用開始時に全て０にリセットされる。
【００９４】
そして、変数ｎの値により指示されるＤＬＣＩ登録キューに対応する登録カウンタＱＣ（ｎ）  の値が、その１つ後のＤＬＣＩ登録キューの登録カウンタＱＣ（ｎ＋１）  の値より小さくステップ１００３の判定がＹＥＳである場合は、変数ｎの値により指示されるＤＬＣＩ登録キューに接続されるＤＬＣＩの数が少ないことになる。この場合には、ステップ１００４で、ｎの値により指示されるＤＬＣＩ登録キュー（ｎ）  に、ステップ１００１で通知された登録ＤＬＣＩが接続される。その後、ステップ１００５で、ｎの値により指示されるＤＬＣＩ登録キューに対応する登録カウンタＱＣ（ｎ）  の値が＋１だけインクリメントされて、ＤＬＣＩ登録キューの制御処理を終了する。
【００９５】
一方、ステップ１００３→１００６→１００７→１００３の繰り返し処理において、ステップ１００３の判定がＮＯのまま変数ｎの値が２３に達しステップ１００６の判定がＹＥＳとなった場合は、ステップ１００８において、最後のＤＬＣＩ登録キュー（２４）に、ステップ１００１で通知された登録ＤＬＣＩが接続される。その後、ステップ１００９で、最後のＤＬＣＩ登録キュー（２４）に対応する登録カウンタＱＣ（２４）の値が＋１だけインクリメントされて、ＤＬＣＩ登録キューの制御処理を終了する。
【００９６】
以上の説明は、フレームリレー通信におけるＤＬＣＩの登録方式に関するものであるが、本発明はこれに限られるものではなく、他の通信方式において、各データリンクのトラヒックデータの設定処理の時分割タイミングへの割当てが、各タイミングにおけるデータリンクの割当て量が均等になるように行われることによって、処理の均等化を図ることが可能となる。
ＣＩＲ  バケット補給処理の効率化
前述したように、ＣＩＲ  バケット補給処理は、全体のＤＬＣＩがΔＴ  を例えば２５分割して得られる各時分割タイミングに分散された上で、各ＤＬＣＩについてはΔＴ  の時間間隔で実行される  （図８のステップ８０３参照）  。この場合に、ＤＬＣＩに対応するＣＩＲ  バケットであるＣＢ及びＥＢの値が満杯状態に対応するＢｃ及びＢｅに等しく、かつその状態からΔＴ  時間内に、フレームリレーノード装置３０２がそのＤＬＣＩに対応するフレームを受信しなかった場合は、そのＤＬＣＩについてはＣＩＲ  バケット補給処理を実行する必要はない。一方、ＤＬＣＩに対応するＣＢ又はＥＢの値が満杯状態ではない場合、或いは、満杯状態からΔＴ  時間内に、フレームリレーノード装置３０２がそのＤＬＣＩに対応するフレームを受信した場合は、そのＤＬＣＩについてはＣＩＲ  バケット補給処理を実行する必要がある。
【００９７】
そこで、本実施例では、ＣＩＲ  バケット補給処理をなるべく短時間に終了させて他の処理のための時間を確保するために、以下のような構成を採用している。
まず、特には図示しないメモリ上には、図１１に示されるように、登録されているＤＬＣＩ毎のＣＩＲ  制御用のパラメータを格納するためのＤＬＣＩバッファ１１０３のアドレスを格納したアドレステーブル１１０２が確保されている。
【００９８】
更に、各ＤＬＣＩ毎のＣＢ又はＥＢの何れかに対し各ＤＬＣＩの契約量であるＢｃ又はＢｅの補給を行うか否かをＤＬＣＩ毎に示すフラグ  （以下、ＣＩＲ  バケット補給フラグと呼ぶ）  を格納したフラグテーブル１１０１が確保されている。
【００９９】
そして、例えば前述した図８のステップ８０３においてＤＬＣＩに対してＣＩＲ  バケット補給処理が実行される場合に、まず、フラグテーブル１１０１内のそのＤＬＣＩに対応するＣＩＲ  バケット補給フラグが参照され、そのフラグがオンに設定されている場合にＣＩＲ  バケット補給処理が実行され、そのフラグがオフとなっている場合にはＣＩＲ  バケット補給処理は実行されない。このようにして、ＣＩＲ  バケット補給処理の効率化が図られる。
【０１００】
図１２は、ＣＩＲ  バケット補給フラグをオンにするための処理に関連する動作フローチャートである。この動作フローチャートは、フレームリレーノード装置３０２のＰＬＮ  別のユーザインタフェース処理部４０１内のイングレス処理部４０１−１において、ステップ１２０１のフレーム取込み処理が実行される毎に実行される。
【０１０１】
まず、ステップ１２０１では、フレーム送受信部４０４  （図４）  がユーザネットワークインタフェース３０７から特には図示しないメモリ内の上記ＰＬＮ  に対応するイングレス処理用バッファにフレームが受信されているか否かを判定し、受信されたフレームを読み込む処理が実行される。この処理については図１４等の説明において後述するが、例えば５ｍｓｅｃ（ミリ秒）  の周期で起動される。
【０１０２】
次に、ステップ１２０２で、イングレス処理用バッファから読み込まれたフレームのヘッダ部に格納されているＤＬＣＩ  （図５参照）  に対応する図１１に示されるアドレステーブル１１０２上のアドレスが参照されることにより、そのＤＬＣＩに対応するＤＬＣＩバッファ１１０３が獲得される。
【０１０３】
続いて、ステップ１２０３で、そのＤＬＣＩバッファ１１０３内のＣＩＲ  制御用のパラメータを用いてＣＩＲ  制御が実行される。この処理においては、既に＜従来の技術及び発明が解決しようとする課題＞の項で説明したように、ＤＬＣＩバッファ１１０３内の各パラメータについて、０＜ＣＢ≦Ｂｃが満たされている間はＣＢの値から受信されたフレームのデータ量が減算され、ＣＢ≦０となった後に０＜ＥＢ≦Ｂｅが満たされている間はＥＢの値から受信されたフレームのデータ量が減算される。
【０１０４】
このようにして、ステップ１２０３のＣＩＲ  制御によってＣＢ又はＥＢの値が減算された場合には、次のΔＴ  時間の経過時にＣＩＲ  バケット補給処理を実行する必要があるため、ステップ１２０４でＣＩＲ  バケット補給フラグがオンされる。
【０１０５】
図１３は、ＣＩＲ  バケット補給フラグをオフにするための処理に関連する動作フローチャートである。この動作フローチャートは、フレームリレーノード装置３０２のユーザインタフェース処理部４０１内のイングレス処理部４０１−１において、前述した図８のステップ８０３において各ＤＬＣＩに対してＣＩＲ  バケット補給処理が実行される毎に実行される。
【０１０６】
まず、ステップ１３０１では、処理対象のＤＬＣＩに対応するフラグテーブル１１０１内のＣＩＲ  バケット補給フラグがオンであるか否かが判定される。
処理対象のＤＬＣＩに対応するＣＩＲ  バケット補給フラグがオフでステップ１３０１の判定がＮＯの場合には、そのＤＬＣＩに対応するＣＩＲ  バケットであるＣＢ及びＥＢの値は共に満杯状態であるＢｃ及びＢｅの値になっているため、そのまま図１３の動作フローチャートの処理が終了し、そのＤＬＣＩに対してはＣＩＲ  バケット補給処理は実行されない。
【０１０７】
処理対象のＤＬＣＩに対応するＣＩＲ  バケット補給フラグがオンでステップ１３０１の判定がＹＥＳの場合には、処理対象のＤＬＣＩに対応する図１１に示されるアドレステーブル１１０２上のアドレスが参照されることにより、そのＤＬＣＩに対応するＤＬＣＩバッファ１１０３が獲得される。
【０１０８】
ステップ１３０３では、獲得されたＤＬＣＩバッファ１１０３内のＣＢ又はＥＢに対してＣＩＲ  バケット補給処理が実行される。この処理については、図８のステップ８０３の説明において前述した。
【０１０９】
ステップ１３０４では、ステップ１３０３のＣＩＲ  バケット補給処理が実行された結果、ＣＢの値がＢｃの値に等しくなり、かつＥＢの値がＢｅの値に等しくなったか否か、即ちＣＢ及びＥＢ共に満杯状態になったか否かが判定される。
【０１１０】
ＣＢ及びＥＢ共に満杯状態になりステップ１３０４の判定がＹＥＳの場合には、ステップ１３０５で、図１１のフラグテーブル１１０１内の処理対象のＤＬＣＩに対応するＣＩＲ  バケット補給フラグがオフにされ、図１３の動作フローチャートが終了する。
【０１１１】
ＣＢ又はＥＢの何れかが満杯状態ではなくステップ１３０４の判定がＮＯの場合には、ステップ１３０５は実行されず、従って、図１１のフラグテーブル１１０１内の処理対象のＤＬＣＩに対応するＣＩＲ  バケット補給フラグはオンのままとなる。
【０１１２】
以上の説明は、フレームリレー通信における各ＤＬＣＩ毎のＣＩＲ  バケット補給処理に関するものであるが、本発明はこれに限られるものではなく、他の通信方式において、例えば複数のデータリンク毎にトラヒックデータの設定処理が周期的に行われるような場合に、データリンク毎にトラヒックデータの設定処理を行う必要があるか否かを所定のフラグを参照することによって判定することにより、トラヒックデータの設定処理の効率化を図ることができる。
フレーム取込み／転送処理
ユーザインタフェース処理部４０１内のイングレス処理部４０１−１の主な機能は、受信フレームの取込み及び転送処理である。この場合、ユーザネットワークインタフェース３０７からフレームリレーノード装置３０２にその処理能力以上の数のフレームが入力された場合には、イングレス処理部４０１−１において輻輳制御が働くが、輻輳状態になったからといって加入者が必ずしもフレームの送出を抑制するとは限らず、フレームリレーノード装置３０２にその処理能力以上の数のフレームが継続して入力された場合の対策も必要である。
【０１１３】
そこで、本実施例では、イングレス処理部４０１−１は、フレーム取込み／転送処理を例えば５ｍｓｅｃ  の周期で起動させ、その周期内で処理可能な数のフレームに対してのみ処理を行うように構成される。
【０１１４】
図１４は、そのような機能を実現するための動作フローチャートである。この動作フローチャートは、イングレス処理部４０１−１が、例えば５ｍｓｅｃ  毎に起動される割込み処理として実行する。
【０１１５】
まず、ステップ１４０１において、５ｍｓｅｃ  の周期がウエイトされる。
例えば特には図示しないタイマからの割込みによって５ｍｓｅｃ  の周期が経過すると、ステップ１４０２で、受信フレームの取込み処理数をカウントするための変数であるカウンタＣＮＴ１の値と、取り込まれたフレームの転送処理数をカウントするための変数であるカウンタＣＮＴ２の値が、共に０にリセットされる。
【０１１６】
次に、ステップ１４０３では、フレーム送受信部４０４によって、この動作フローチャートを実行しているイングレス処理部４０１−１に割り当てられているＰＬＮ（物理チャネル）  に対応するイングレス処理用バッファに、フレームが受信されているか否かが判定される。なお、イングレス処理部４０１−１が含まれるユーザインタフェース処理部４０１の機能は、前述したように、各ＰＬＮ  に対応して独立に動作する。
【０１１７】
上記ＰＬＮ  に対応するイングレス処理用バッファにフレームが受信されておらずステップ１４０３の判定がＮＯの場合は、フレームの取込み処理は実行されず、ステップ１４０７以降のフレームの転送処理が実行される。
【０１１８】
上記ＰＬＮ  に対応するイングレス処理用バッファにフレームが受信されておりステップ１４０３の判定がＹＥＳの場合は、ステップ１４０４で、そのイングレス処理用バッファからフレームが読み込まれる。ここまでの処理は、前述した図１２の動作フローチャートのステップ１２０１の処理に対応する。この処理以降、ステップ１４０４においては、前述した図１２の動作フローチャートのステップ１２０２、１２０３、及び１２０４の処理に対応するＣＩＲ  制御に関する処理が実行される。ここで、前述したステップ１２０２のＣＩＲ  制御が実行された場合に、ＣＢ≦０となった後に更にＥＢ≦０となった場合には、＜従来の技術及び発明が解決しようとする課題＞の項で説明したように、処理対象のＤＬＣＩに対応するデータリンクが扱うデータ量がバースト転送時における契約量をオーバーしたことになるため、イングレス処理用バッファに受信されているフレームはネットワーク内には転送されずに廃棄される。一方、イングレス処理用バッファに受信されているフレームが廃棄されなかった場合には、そのフレームのメモリアドレスは、図１４の動作フローチャートを実行しているイングレス処理部４０１−１に割り当てられているＰＬＮ  に対応するイングレス処理用キューに接続される。
【０１１９】
上述したステップ１４０４の受信フレームの取込み処理の後、ステップ１４０５で、受信フレームの取込み処理数をカウントするためのカウンタＣＮＴ１の値が＋１だけインクリメントされる。
【０１２０】
更に、ステップ１４０６では、カウンタＣＮＴ１の値が、予め設定されている閾値ｍに達したか否かが判定される。
カウンタＣＮＴ１の値が閾値ｍに達しておらずステップ１４０６の判定がＮＯならば、ステップ１４０３に戻り、イングレス処理部４０１−１に割り当てられているＰＬＮ（物理チャネル）  に対応するイングレス処理用バッファに受信されているフレームが更に検索されイングレス処理用キューに取り込まれる。
【０１２１】
カウンタＣＮＴ１の値が閾値ｍに達しステップ１４０６の判定がＹＥＳになると、受信フレームの取込み処理の処理可能数を超えたと判定され、それ以上は受信フレームの取込み処理は実行されず、ステップ１４０７以降のフレームの転送処理が実行される。
【０１２２】
ステップ１４０７では、図１４の動作フローチャートを実行しているイングレス処理部４０１−１に割り当てられているＰＬＮ  に対応するイングレス処理用キューにフレームが取り込まれているか否か  （フレームのメモリアドレスが接続されているか否か）  が判定される。
【０１２３】
上記キューにフレームが取り込まれておらずステップ１４０７の判定がＮＯならば、転送されるべきフレームは存在しないため、ステップ１４０１に戻り、次の５ｍｓｅｃ  の周期の経過がウエイトされる。
【０１２４】
上記キューにフレームが取り込まれておりステップ１４０７の判定がＹＥＳならば、ステップ１４０８で、取り込まれたフレームの転送処理が実行される。即ち、上記キューからフレームのメモリアドレスが１つ取り出されて、そのメモリアドレスに格納されているフレームのＤＬＣＩとユーザ情報が含まれるフレーム本体  （後述する図５（ａ）  のハッチング部）  のメモリアドレスが図４のＡＴＭ  インタフェース処理部４０３内のイングレス処理部４０３−１に引き渡される。この時同時に、図４のフレームリレースイッチングテーブル４０２がアクセスされることによって、図１４の動作フローチャートを実行しているイングレス処理部４０１−１に割り当てられているＰＬＮ  及び引き渡されるフレームのヘッダ部に格納されているＤＬＣＩに対応するＶＰＩ／ＶＣＩ（仮想パス識別子／仮想チャネル識別子）  が検索されて、そのＶＰＩ／ＶＣＩ  がＡＴＭ  インタフェース処理部４０３内のイングレス処理部４０３−１に出力される。
【０１２５】
上述したステップ１４０８の取込みフレームの転送処理の後、ステップ１４０９で、取込みフレームの転送処理数をカウントするためのカウンタＣＮＴ２の値が＋１だけインクリメントされる。
【０１２６】
更に、ステップ１４１０では、カウンタＣＮＴ２の値が、予め設定されている閾値ｎに達したか否かが判定される。
カウンタＣＮＴ２の値が閾値ｎに達しておらずステップ１４１０の判定がＮＯならば、ステップ１４０７に戻り、イングレス処理部４０１−１に割り当てられているＰＬＮ（物理チャネル）  に対応するイングレス処理用キューに取り込まれているフレームが更に検索される。
【０１２７】
カウンタＣＮＴ２の値が閾値ｎに達しステップ１４１０の判定がＹＥＳになると、フレーム転送処理の処理可能数を超えたと判定され、それ以上はフレーム転送処理は実行されず、ステップ１４０１に戻り、次の５ｍｓｅｃ  の周期の経過がウエイトされる。
【０１２８】
上述したように、本実施例では、イングレス処理が５ｍｓｅｃ  の周期で周期的に実行され、その場合に、イングレス処理用キューに取り込まれるフレームの数と、その周期毎にイングレス処理用キューからＡＴＭ  インタフェース処理部４０３内のイングレス処理部４０３−１  （図４）  に転送されるフレームの数に制限が設けられる。この結果、ユーザネットワークインタフェース３０７の特定のＰＬＮ  からフレームリレーノード装置３０２に瞬間的に処理能力以上のフレームが入力された場合には、そのＰＬＮ  に対応するイングレス処理用キューにフレームがいったん取り込まれ、このフレームはその後このキューからＡＴＭ  交換機３０３  （図３）  に向けて転送される。一方、ユーザネットワークインタフェース３０７の特定のＰＬＮ  からフレームリレーノード装置３０２に継続的に処理能力以上のフレームが入力された場合には、そのＰＬＮ  に対応するイングレス処理用キューのキュー長が長くなり、その結果、後述する輻輳制御が働き始めることになる。このような機能により、例えば５ｍｓｅｃ  の周期時間内に受信されたフレームに対するイングレス処理を完了させることができ、この処理以外の処理のための時間を確保することができる。
【０１２９】
なお、本発明は、イングレス処理に関する上述した実施例に限られるものではなく、エグレス処理にも適用することができる。この場合、例えば、エグレス処理が周期的に実行されるように構成され、ユーザインタフェース処理部４０１内のエグレス処理部４０１−２がＡＴＭ  インタフェース処理部４０３内のエグレス処理部４０３−２から引き渡されたフレームを処理してエグレス処理用キューに取り込む処理を実行する場合における処理フレーム数に制限が設けられることにより、エグレス処理以外の処理のための時間を確保することができる。
【０１３０】
更に、本発明は上述したフレームリレー通信方式に関する実施例に限られるものではなく、他の通信方式において、通信情報の送受信処理が周期的に実行されるように構成され、かつその場合に処理される通信情報数に制限が設けられることにより、送受信処理以外の処理のための時間を確保することができる。
ＣＩＲ  制御と輻輳制御の実行関係
上述した図１４のステップ１４０４で示される受信フレームの取込み処理において、ＣＩＲ  制御は前述したようにＰＬＮ  内のＤＬＣＩ毎に個別に実行される。一方、輻輳制御は、ＰＬＮ  全体に対して一括して実行される。このため、１つのＰＬＮ  を使用する複数のデータリンク（ＤＬＣＩ）が存在し、その契約量  （Ｂｃ及びＢｅ）  を守ったデータリンクと契約量を超えたデータリンクとが混在している場合に、もし輻輳制御がＣＩＲ  制御よりも先に実行された場合に、契約量を守ったデータリンク上のフレームの受信を原因として輻輳状態が発生してしまう恐れがある。
【０１３１】
そこで、本実施例においては、図１４のステップ１４０４において前述したように受信されたフレームに格納されているＤＬＣＩに対応するＣＩＲ  制御が実行され、そのフレームが処理対象のＰＬＮ  に対応するイングレス処理用キューに取り込まれた後に、そのイングレス処理用キューに対して所定のサンプリング周期で輻輳制御が実行される。即ち、ＣＩＲ  制御と輻輳制御の実行関係は、図１５に示される如くとなる。
【０１３２】
上述の実施例は、フレームリレー通信方式におけるＣＩＲ  制御と輻輳制御との実行関係を規定するものであるが、本発明はこれに限られるものではなく、他の通信方式において、例えば物理リンクに複数の論理リンクが収容されそれぞれに対してトラヒック制御が実行される場合のように、階層的なトラヒック構造に対してそれぞれトラヒック制御が実行されるような場合において、内側の階層のトラヒックから優先的にトラヒック制御が実行されることによって、規律を守ったトラヒックの通信を原因として輻輳状態が発生してしまう恐れを排除することができる。
輻輳制御
前述したように、図１４のステップ１４０４においては、イングレス処理部４０１−１に割り当てられているＰＬＮ  に対応するイングレス処理用キューに対して輻輳制御が実行される。
【０１３３】
この輻輳制御は、イングレス処理用キューのキュー長を所定のサンプリング周期で周期的に監視し、キュー長が閾値を超えた場合に特には図示しない制御装置に輻輳状態を通知するために実行される。制御装置からイングレス処理部４０１−１へは、所定の閾値を設定することができる。
【０１３４】
ここで、キュー長の計算方式の１つとして、次式に基づいてキュー長を計算する方式が知られている。
【０１３５】
【数１】
Ｙ（ｓ）＝αＸ（ｓ）＋  （１−α）Ｙ（ｓ−１）
ここで、ｓ  は、図１６（ａ）  に示されるように、所定のサンプリング周期Ｔを隔てたサンプリングタイミングであって、Ｘ（ｓ）は今回サンプリング時に測定されたイングレス処理用キューのキュー長、Ｙ（ｓ−１）は前回サンプリング時のキュー長の計算値、Ｙ（ｓ）は今回サンプリング時に計算されるべきキュー長の計算値である。また、αは、０≦α≦１を満たす値であり、今回サンプリング時の測定値と前回サンプリング時の計算値の間の重み比率を表す係数である。αの値が小さければ、毎回のサンプリング時の測定値が変動しても計算値はあまり変動しない。逆に、αの値が大きければ、毎回のサンプリング時の測定値が計算値に反映される度合いが大きくなる。このような計算方式によって、制御装置に通知される輻輳状態メッセージのバイオレーション  （ばたつき）  の度合いを制御できる。
【０１３６】
本実施例では、上述の計算方式を基礎として、更に輻輳制御のためのサンプリング周期Ｔが長い場合を考慮して、図１６（ｂ）  に示されるように、サンプリング周期Ｔを更に等分割して得られるサンプリング周期ｔでキュー長のサンプリングが行われ、サンプリング周期Ｔの平均値として前記数１式で使用されるＸ（ｓ）が得られるように動作する。
【０１３７】
図１７は、本実施例による輻輳計算処理の動作フローチャートである。この動作フローチャートは、図４のユーザインタフェース処理部４０１内のイングレス処理部４０１−１が、サンプリング周期ｔ毎の割込み処理として実行する。
【０１３８】
まず、ステップ１７０１において、周期ｔがウエイトされる。この周期ｔは、図１６（ｂ）  に示されるように、サンプリング周期Ｔを等分割して得られるサンプリング周期である。
【０１３９】
例えば特には図示しないタイマからの割込みによって周期ｔが経過すると、ステップ１７０２で、周期ｔの繰返し数をカウントするための変数であるカウンタＣＮＴ  の値が＋１だけインクリメントされる。
【０１４０】
ステップ１７０３では、図１７の動作フローチャートを実行するイングレス処理部４０１−１に割り当てられているＰＬＮ  に対応するイングレス処理用キューの現在のタイミングにおけるキュー長が測定され、その測定値が特には図示しないメモリに格納されている平均化用データに累算される。
【０１４１】
ステップ１７０４では、カウンタＣＮＴ  の値がＴ／ｔに対応する値に等しくなったか否かが判定される。
ステップ１７０４の判定がＮＯである場合には、平均化用データはサンプリング周期Ｔ分だけ累算されていないため、ステップ１７０１に戻る。
【０１４２】
ステップ１７０１〜１７０４の繰返しの結果、カウンタＣＮＴ  の値がＴ／ｔに対応する値に等しくなってステップ１７０４の判定がＹＥＳとなると、ステップ１７０５で、次式によってサンプリング周期Ｔ分だけ累算された平均化用データから、キュー長の平均値が計算され、その値がＸ（ｓ）とされる。
【０１４３】
【数２】
Ｘ（ｓ）＝累算された平均化用データ／ＣＮＴ
ステップ１７０６では、上述の数２式によって算出されたＸ（ｓ）を用いて、前述した数１式に従って、今回サンプリング時ｓにおけるキュー長の計算値Ｙ（ｓ）が算出される。
【０１４４】
ステップ１７０７では、予め特には図示しない制御装置から設定されている輻輳閾値とステップ１７０６で計算されたキュー長の計算値Ｙ（ｓ）とが比較され、輻輳状態に変化が生じた場合に、比較結果に応じた輻輳状態メッセージが、特には図示しない制御装置に通知される。
【０１４５】
最後に、ステップ１７０８では、カウンタＣＮＴ  の値が０にリセットされ、ステップ１７０１に戻る。
上述の実施例は、フレームリレー通信方式での輻輳制御方式において、複数のサンプリング周期にわたって輻輳情報をスムージングすると共に、各サンプリング周期よりも更に短いサンプリング周期で輻輳情報を平均化するものである。しかし、本発明はこれに限られるものではなく、他の通信方式の輻輳制御方式においても全く同様に適用することができる。
ＰＬＮ  が使用するタイムスロット数に応じたＰＬＮ  毎のイングレス処理用バッファの割当て
既に説明したように、図４のフレーム送受信部４０４は、ユーザネットワークインタフェース３０７から各ＰＬＮ（物理チャネル）  に対応して特には図示しないメモリ上に予め確保されるイングレス処理用バッファに、各ＰＬＮ  に対応するタイムスロットタイミングで各ＰＬＮ  に対応するフレームを順次受信する。この場合、フレームリレーノード装置３０２内のメモリには限りがあるため、各ＰＬＮ  に対してどのようにイングレス処理用バッファを割り当てるかが問題となる。
【０１４６】
本実施例が対象とするフレームリレー通信方式においては、例えば２４タイムスロットが多重された１．５Ｍｂｐｓ（メガビット／秒）  の転送ビットレートを有するＰＣＭ  ディジタル回線であるユーザネットワークインタフェース３０７上で、それぞれが６４Ｋｂｐｓ  （キロビット／秒）  の転送ビットレートを有するタイムスロットを１つ以上組み合せることにより、１つのＰＬＮ  を構成することができ、このＰＬＮ  を使用してフレームリレー通信が行われる。従って、フレームリレーノード装置３０２は、組み合わせられるタイムスロット数が多いＰＬＮ  を有する加入者に対するフレームと、その数が少ないＰＬＮ  を有する加入者に対するフレームとを混在して処理することになる。
【０１４７】
そこで、本実施例は、ＰＬＮ  が使用するタイムスロット数に応じてフレームリレー制御を行うことができるように、イングレス処理用バッファの割当てが決定される。
【０１４８】
図１８は、ＰＬＮ  が使用するタイムスロットに応じたＰＬＮ  毎のイングレス処理用バッファの割当て処理を示す動作フローチャートである。この動作フローチャートは、図４のフレームリレーノード装置３０２のユーザインタフェース処理部４０１内のイングレス処理部４０１−１によって実行される。
【０１４９】
まず、ステップ１８０１で、特には図示しない制御装置からＰＬＮ  の登録が通知される。この通知には、登録されたＰＬＮ  の識別子と、そのＰＬＮ  が使用するタイムスロット数が含まれる。
【０１５０】
次に、ステップ１８０２で、以下のようにして登録が通知されたＰＬＮ  に割り当てられるイングレス処理用バッファの個数Ｎが計算される。まず、フレームリレーノード装置３０２内のバッファ用メモリが有するイングレス処理用バッファの総数を、Ｂ個とする。１個のイングレス処理用バッファは、１個のフレームを受信できる記憶容量を有する。次に、Ｂ個のイングレス処理用バッファが、ユーザネットワークインタフェース３０７上のタイムスロット数に対応する数  （例えば２４）  に等分割される。従って、ユーザネットワークインタフェース３０７上の１つのタイムスロットには、次式で示されるｂ個のイングレス処理用バッファを割り当てることができる。
【０１５１】
【数３】
ｂ＝Ｂ／２４
続いて、数３式で計算される１タイムスロットあたりのイングレス処理用バッファの数ｂと、通知された使用タイムスロット数とから、次式によって、登録が通知されたＰＬＮ  に割当てられるイングレス処理用バッファのＮが計算される。
【０１５２】
【数４】
Ｎ＝ｂ×使用タイムスロット数
ステップ１８０３においては、登録が通知されたＰＬＮ  の識別子に対応させて、数４式で計算される値Ｎに対応する数のイングレス処理用バッファが割り当てられる。その後、図１８の動作フローチャートの処理が終了する。
【０１５３】
今、例えば、フレームリレーノード装置３０２内のバッファ用メモリが有するイングレス処理用バッファの数をＢ＝２４０  個とし、ユーザネットワークインタフェース３０７上のタイムスロット数を２４個とすると、数３式より、ユーザネットワークインタフェース３０７上の１つのタイムスロットにはｂ＝  ２４０／２４＝１０個のイングレス処理用バッファを割り当てることができる。従って、数４式より、例えば２個のタイムスロットを使用するＰＬＮ  にはＮ＝１０×２＝２０個のイングレス処理用バッファが割り当てられ、２２個のタイムスロットを使用するＰＬＮ  にはＮ＝１０×２２＝２２０  個のイングレス処理用バッファが割り当てられることになる。
【０１５４】
以上説明したようにしてＰＬＮ  が使用するタイムスロットの数に応じた容量のイングレス処理用バッファが割り当てられることにより、前述した輻輳制御をＰＬＮ  が使用するタイムスロット数に応じて適切に実行できる。
【０１５５】
即ち、前述した輻輳制御時におけるＰＬＮ  に対応するイングレス処理用キューのキュー長の閾値が、そのＰＬＮ  に割り当てられるイングレス処理用バッファの容量  （数４式で計算される数Ｎ）  に対する所定のパーセント値に対応する値に設定される。この結果、ＰＬＮ  が使用するタイムスロット数に応じた量のフレームをネットワークに流し込むことが可能となる。
【０１５６】
上述の実施例は、イングレス処理用バッファの割当て方式に関するものであるが、本発明はこれに限られるものではなく、エグレス処理に使用されるバッファの割当て処理等においても全く同様に適用することができる。
【０１５７】
更に、上述の実施例は、フレームリレー通信方式において、ＰＬＮ  が使用するタイムスロットの数に応じた容量の通信用バッファを割り当てる方式に関するものであるが、本発明はこれにも限られるものではなく、他の通信方式において、データリンクが使用する伝送帯域に応じた容量の通信用バッファを割当てるように構成することもできる。
ＰＬＮ  が使用するタイムスロット数に応じた制御構造とビットマップを使用した制御構造を有するフレーム取込み／転送処理
図１４等で説明したように、イングレス処理部４０１−１は、イングレス処理用バッファからイングレス処理用キューへのフレームの取込み処理と、イングレス処理用キューからイングレス処理部４０３−１へのフレームの転送処理を、例えば５ｍｓｅｃ  の周期で起動させて、その周期内で処理可能な数のフレームに対してのみ取込み処理と転送処理を実行する。一方で、上述したように、各ＰＬＮ  には、各ＰＬＮ  が使用するタイムスロットの数、即ち各ＰＬＮ  に対応する伝送路の太さに応じた容量のイングレス処理用バッファが割り当てられる。
【０１５８】
そこで、以下に説明する実施例  （図２０〜図２２の動作フローチャート）  においては、各ＰＬＮ  に対応する複数のユーザインタフェース処理部４０１内のイングレス処理部４０１−１が、１つのイングレス処理部４０１−１として構成され、その１つのイングレス処理部４０１−１が、フレーム取込み／転送処理を例えば５ｍｓｅｃ  の周期で起動させて、その周期内で複数のＰＬＮ  全体で処理可能な数のフレームに対してのみ取込み処理と転送処理を実行する。これと共に、イングレス処理部４０１−１は、複数のＰＬＮ  全体で処理可能な数の範囲内で処理される各ＰＬＮ  に対応するフレームの数が、各ＰＬＮ  に割り当てられるイングレス処理用バッファの数Ｎ  （数４式）  に関連するようにフレームの取込み／転送処理を実行する。
【０１５９】
なお、図１４の動作フローチャートは１つのＰＬＮ  に対応するイングレス処理部４０１−１が実行するものであるため、そこで規定される５ｍｓｅｃ  の周期内で処理可能なフレームの数ｍ  （ステップ１４０６）  は、１つのＰＬＮ  あたりの処理可能フレーム数である。これに対して、以下の実施例  （図２０〜図２２の動作フローチャート）  では、１つのイングレス処理部４０１−１が全てのＰＬＮ  に対応するフレームを処理するように構成されるため、５ｍｓｅｃ  の周期内で処理可能なフレームの数は、複数のＰＬＮ  全体で処理可能なフレームの数として規定される。
【０１６０】
具体的には、５ｍｓｅｃ  の周期内でイングレス処理用バッファからイングレス処理用キューに取り込むことが可能な複数のＰＬＮ  全体に対応するフレーム数を、例えば、フレームリレーノード装置３０２内のバッファ用メモリが有するイングレス処理用バッファの総数Ｂに等しいと仮定する。この場合、各ＰＬＮ  につき、５ｍｓｅｃ  の周期内でそのＰＬＮ  に対応するイングレス処理用バッファからそのＰＬＮ  に対応するイングレス処理用キューに取り込むことができるフレームの数を、そのＰＬＮ  に割り当てられるイングレス処理用バッファの数Ｎ  （数４式）  に等しい数に設定することにより、５ｍｓｅｃ  の周期内で、各ＰＬＮ  に対応するイングレス処理用バッファ内の全てのフレームをそれぞれ各ＰＬＮ  に対応するイングレス処理用キューに取り込むことができる。実際には、トラヒックの特性などを考慮して、５ｍｓｅｃ  の周期内でイングレス処理用バッファからイングレス処理用キューに取り込むことが可能な複数のＰＬＮ  全体に対応するフレーム数は、フレームリレーノード装置３０２内のバッファ用メモリが有するイングレス処理用バッファの総数Ｂよりはかなり少ない数に設定される。一般には、５ｍｓｅｃ  の周期内でイングレス処理用バッファからイングレス処理用キューに取り込むことが可能な複数のＰＬＮ  全体に対応するフレーム数をｋとし、各ＰＬＮ  につき、５ｍｓｅｃ  の周期内でそのＰＬＮ  に対応するイングレス処理用バッファからそのＰＬＮ  に対応するイングレス処理用キューに取り込むことができるフレームの数をＮＰ  とすれば、前述した仮定より次式の比例関係が成立する。
【０１６１】
【数５】
Ｂ：ｋ＝Ｎ：ＮＰ
従って、各ＰＬＮ  に対応する値ＮＰ  は、次式によって算出することができる。
【０１６２】
【数６】
ＮＰ  ＝ｋ×Ｎ／Ｂ
即ち、各ＰＬＮ  に対応する値ＮＰ  は、５ｍｓｅｃ  の周期内における複数のＰＬＮ  全体に対応する処理可能フレーム数ｋに、バッファの総数Ｂに対する各ＰＬＮ  に割り当てられるバイト数Ｎの比Ｎ／Ｂを、乗算した値として算出できる。
【０１６３】
例えば、ｋの値がユーザネットワークインタフェース３０７上のタイムスロット数に等しい値２４の場合には、数６式より、ＮＰ  は次式のように算出される。
【０１６４】
【数７】
ＮＰ  ＝Ｎ×２４／Ｂ
この数７式に数３式及び数４式を代入すると、次式が成立する。
【０１６５】
【数８】
0003563127.tif 000002
即ち、ｋの値がユーザネットワークインタフェース３０７上のタイムスロット数に等しい値２４は、その周期内で取り込むことができる各ＰＬＮ  に対応するフレームの数ＮＰ  は、各ＰＬＮ  が使用するタイムスロット数に等しい。
【０１６６】
以上の原理は、後述する図２０〜図２２の動作フローチャートで示されるフレーム取込み処理に、具体的に適用されている。
また、以上の原理は、５ｍｓｅｃ  の周期内に各ＰＬＮ  に対応するフレームがそのＰＬＮ  に対応するイングレス処理用バッファからそのＰＬＮ  に対応するイングレス処理用キューに取り込まれる処理に対してのみならず、同じ周期内でそのＰＬＮ  に対応するフレームがそのＰＬＮ  に対応するイングレス処理用キューからＡＴＭ  インタフェース処理部４０３内のイングレス処理部４０３−１へ転送される処理に対しても同様に適用できる。
【０１６７】
次に、１つのイングレス処理部４０１−１が全てのＰＬＮ  に対応するフレームを処理するように構成された場合は、フレームの取込み処理が実行される毎に、各ＰＬＮ  に対応するイングレス処理用バッファにフレームが受信されているか否か、また、各ＰＬＮ  がフレームを受信可能な状態になっているか否か、更に、１つ前の５ｍｓｅｃ  の周期において各ＰＬＮ  に対応するイングレス処理用バッファに受信されていたフレームが全て各ＰＬＮ  に対応するイングレス処理用キューに取込まれたか否かを判定する必要がある。
【０１６８】
一般には、各ＰＬＮ  に対応するイングレス処理用バッファにフレームが受信されているか否かは、フレームが受信された旨を表示する割込みが発生する毎に、各ＰＬＮ  に対応するイングレス処理用バッファにアクセスする必要がある。また、１つ前の５ｍｓｅｃ  の周期において各ＰＬＮ  に対応するイングレス処理用バッファに受信されていたフレームが全て各ＰＬＮ  に対応するイングレス処理用キューに取込まれたか否かを判定する場合にも、各ＰＬＮ  に対応するイングレス処理用バッファにアクセスする必要がある。更に、各ＰＬＮ  がフレームを受信可能な状態になっているか否かは、特には図示しない制御装置にアクセスする必要がある。しかし、このようなアクセスをいちいち行っていたのでは、フレームの取込み処理が遅延してしまい、フレームリレーノード装置３０２の処理能力の低下を招いてしまう。特に、受信割込みが発生する毎にバッファをアクセスしていたのでは、著しい処理遅延を招く。
【０１６９】
そこで、以下の実施例  （図２０〜図２２の動作フローチャート）  では、図１９に示されるような３枚のビットマップが使用されることにより、処理の高速化が図られている。
【０１７０】
図１９において、各ビットマップ１９０１、１９０２、１９０３は、フレームリレーノード装置３０２内の特には図示しないメモリに保持され、それぞれ、ユーザネットワークインタフェース３０７上の２４個のタイムスロットに対応する２４ビットで構成される。即ち、各ビットマップは、第０バイト、第１バイト、及び第３バイトの３バイトのデータによって構成される２４ビットからなる。そして、各ビットマップにおいて、第０バイトのＬＳＢ  からＭＳＢ  までの８ビットは＃０〜＃７のタイムスロットの情報を保持し、第１バイトのＬＳＢ  からＭＳＢ  までの８ビットは＃８〜＃１５  のタイムスロットの情報を保持し、第２バイトのＬＳＢ  からＭＳＢ  までの８ビットは＃１６  〜＃２３  のタイムスロットの情報を保持する。
【０１７１】
受信完了ステータス表示ビットマップ１９０１の各ビットは、図４のフレーム送受信部４０４がそのビットに対応するＰＬＮ  のフレームをそのＰＬＮ  に対応するイングレス処理用バッファに受信したときにハードウエアにより１にセットされ、そのビットが読み出されたときに特には図示しないハードウエアによって０にリセットされる。即ち、上記イングレス処理部４０１−１は、フレームの受信割込みが発生する毎にフレーム取込み処理を実行する必要はなく、周期的に実行されるフレーム取込み処理において、受信完了ステータス表示ビットマップ１９０１の各ビットの値を見るだけで、そのビットに対応するＰＬＮ  に対応するイングレス処理用バッファにフレームが受信されているか否かを判定できる。
【０１７２】
回線状態表示ビットマップ１９０２の各ビットは、特には図示しない制御装置がそのビットに対応するＰＬＮ  をアクティブ状態にしたときに１にセットされ、インアクティブ状態にしたときに０にリセットされる。即ち、上記イングレス処理部４０１−１は、回線状態表示ビットマップ１９０２の各ビットの値を見るだけで、そのビットに対応するＰＬＮ  がフレームを受信可能な状態になっているか否かを判定できる。
【０１７３】
処理状況表示ビットマップ１９０３の各ビットは、そのビットに対応する受信完了ステータス表示ビットマップ１９０１のビットが１であるときに１にセットされ、上記イングレス処理部４０１−１が、そのビットに対応するＰＬＮ  に対応するイングレス処理用バッファ内の全てのフレームをそのＰＬＮ  に対応するイングレス処理用キューに取り込んだときに０にリセットされる。即ち、上記イングレス処理部４０１−１は、処理状況表示ビットマップ１９０３の各ビットの値を見るだけで、１つ前の５ｍｓｅｃ  の周期において各ＰＬＮ  に対応するイングレス処理用バッファに受信されていたフレームが全て各ＰＬＮ  に対応するイングレス処理用キューに取込まれたか否かを判定できる。
【０１７４】
ここで、全てのＰＬＮ  に対応するフレームを処理する１つのユーザインタフェース処理部４０１内のイングレス処理部４０１−１は、図１９に示される３つのビットマップの各ビットを個別に検査する必要はない。即ち、まず、イングレス処理部４０１−１は、まず、処理状況表示ビットマップ１９０３と受信完了ステータス表示ビットマップ１９０１の対応するビット位置毎に一括して論理和を演算し、各ビット位置の演算結果を新たな処理状況表示ビットマップ１９０３の各ビット値とし、次にその処理状況表示ビットマップ１９０３と回線状態表示ビットマップ１９０２の対応するビット位置毎に一括して論理積を演算し、各ビット位置の演算結果を新たな処理状況表示ビットマップ１９０３の各ビット値とする。そして、イングレス処理部４０１−１は、このようにして得られた処理状況表示ビットマップ１９０３の各ビットの値を見るだけで、そのビットに対応するＰＬＮ  についてフレームの取込み処理を実行するか否かを決定できる。この結果、フレームの取込み処理実行の可否判定を高速化することができる。なお、特定のＰＬＮ  に対し加入者がフレームを送出していても、障害等によりノード側で強制的にそのＰＬＮ  をインアクティブにする可能性があるため、回線状態表示ビットマップ１９０２を参照する意義がある。
【０１７５】
以上の原理は、各ＰＬＮ  に対応するフレームがそのＰＬＮ  に対応するイングレス処理用バッファからそのＰＬＮ  に対応するイングレス処理用キューに取り込まれる処理に対してのみならず、そのＰＬＮ  に対応するフレームがそのＰＬＮ  に対応するイングレス処理用バッファからＡＴＭ  インタフェース処理部４０３内のイングレス処理部４０３−１へ転送される処理に対しても同様に適用できる。この場合には、各ＰＬＮ  に対応するイングレス処理用バッファにフレームが取り込まれているか否かを示す２４ビットのビットマップが用意されればよい。
【０１７６】
図２０〜図２２は、ここまでに説明した、ＰＬＮ  毎のフレーム処理数をＰＬＮ  が使用するタイムスロット数に応じて制御する原理と、ビットマップを使用した制御原理とを、イングレス処理用バッファからイングレス処理用キューへのフレームの取込み処理に適用した場合の動作フローチャートである。この動作フローチャートは、ユーザインタフェース処理部４０１が各ＰＬＮ  別に機能するのではなく全てのＰＬＮ  に対応するフレームを処理するように構成された場合における当該ユーザインタフェース処理部４０１内のイングレス処理部４０１−１によって実行される。
【０１７７】
始めに、図２０〜図２２の動作フローチャートの処理は、既に説明した図１４の場合などと同様に、例えば５ｍｓｅｃ  の周期で起動される。
まず、図２０のステップ２００１では、処理状況表示ビットマップ１９０３と受信完了ステータス表示ビットマップ１９０１の対応するビット位置毎に一括して論理和（ＯＲ）が演算され、各ビット位置の演算結果が新たな処理状況表示ビットマップ１９０３の各ビット値とされる。
【０１７８】
次に、ステップ２００２では、ステップ２００１で演算された処理状況表示ビットマップ１９０３と回線状態表示ビットマップ１９０２の対応するビット位置毎に一括して論理積（ＡＮＤ）  が演算され、各ビット位置の演算結果が新たな処理状況表示ビットマップ１９０３の各ビット値とされる。以降は、前述したように、この処理状況表示ビットマップ１９０３の各ビットを参照して、各ビットに対応するＰＬＮ  のフレーム転送処理が実行される。
【０１７９】
ステップ２００３では、変数であるカウンタＦＣＮＴの値が０にリセットされる。このカウンタＦＣＮＴは、この動作フローチャートが実行される周期内において複数のＰＬＮ  全体でイングレス処理用バッファからイングレス処理用キューに取り込まれたフレーム数をカウントするためのものである。
【０１８０】
次に、ステップ２００４では、処理状況表示ビットマップ１９０３の第ｍバイト（０≦ｍ≦２）がフェッチされる。以降の説明では、処理状況表示ビットマップ１９０３の第ｍバイトをｔａｂｌｅ（ｍ）と表す。ここで、ｍは変数であり、初期状態ではその値は０である。従って、初期状態では、処理状況表示ビットマップ１９０３の第０バイトｔａｂｌｅ（０）  （図１９参照）  がフェッチされる。
【０１８１】
ステップ２００５においては、処理状況表示ビットマップ１９０３の第ｍバイトｔａｂｌｅ（ｍ）内の参照ビット位置を示す変数ｎの値が、０であるか否かが判定される。
【０１８２】
変数ｎの値は初期状態では０であるため、ステップ２００５の判定はＹＥＳとなり、ステップ２００６は実行されない。ステップ２００６については、後述する。
【０１８３】
ステップ２００７においては、処理状況表示ビットマップ１９０３の第ｍバイトｔａｂｌｅ（ｍ）の内容が全て０であるか否かが判定される。
この判定がＹＥＳならば、その第ｍバイト内の８ビット分に相当する＃（ｍ＊８）〜＃（ｍ＊８＋７）までの各ＰＬＮ  に対応するイングレス処理用バッファにはフレームは受信されていないため、それらに対するフレーム取込み処理は実行する必要はない。この場合には、後述するステップ２０２１以降の処理状況表示ビットマップ１９０３の次のバイトデータに対する制御処理が実行される。
【０１８４】
一方、ステップ２００７の判定がＮＯならば、ステップ２０１０で変数ｎの値が＋１ずつインクリメントされながら、ステップ２００８で、処理状況表示ビットマップ１９０３の第ｍバイトｔａｂｌｅ（ｍ）に対して１ビット右シフト処理が実行され、その結果、キャリーフラグＣＦ＝１が出力されたか否かが判定される。
【０１８５】
ステップ２００９の判定がＹＥＳとなった時点において、処理状況表示ビットマップ１９０３の第ｍバイトｔａｂｌｅ（ｍ）内の変数ｎによって指示される第ｎビット目の値１が検出されたことになる。即ち、＃（ｍ＊８＋ｎ）のＰＬＮ  に対応するイングレス処理用バッファにフレームが受信されていることが検出される。
【０１８６】
この結果、図２１のステップ２０１１で、＃（ｍ＊８＋ｎ）のＰＬＮ  に対応するイングレス処理用バッファの内容がサーチされる。ここで、ｍは変数ｍの値であり、ｎは変数ｎの値である。
【０１８７】
ステップ２０１２においては、ステップ２０１１のサーチの結果、＃（ｍ＊８＋ｎ）のＰＬＮ  に対応するイングレス処理用バッファに、受信フレームが実際に格納されているか否かが判定される。今回の周期において第１回目にステップ２０１１が実行された時点ではステップ２０１２の判定が必ずＹＥＳとなる。
【０１８８】
ステップ２０１２の判定がＹＥＳとなると、ステップ２０１３で、＃（ｍ＊８＋ｎ）のＰＬＮ  に対応するイングレス処理用バッファからフレームが読み込まれる。ここでの処理は、図１４のステップ１４０４の処理と全く同様であり、読み込まれたフレームに対してＣＩＲ  制御が実行され、その結果フレームが廃棄されなかった場合に、そのフレームのメモリアドレスが、上記ＰＬＮ  に対応するイングレス処理用キューに接続される。
【０１８９】
ステップ２０１４においては、＃（ｍ＊８＋ｎ）のＰＬＮ  に対する処理フレーム数の許容値ＮＰ  の値が−１だけデクリメントされる。この値の初期値は、前述した数６式によって計算され、特には図示しないメモリなどにプリセットされている。
【０１９０】
ステップ２０１５では、複数のＰＬＮ  全体でイングレス処理用バッファからイングレス処理用キューに取り込まれたフレーム数をカウントするカウンタＦＣＮＴの値が＋１だけインクリメントされる。
【０１９１】
ステップ２０１６では、カウンタＦＣＮＴの値が複数のＰＬＮ  全体の処理フレーム数の許容値ｋに等しくなったか否かが判定される。
ステップ２０１６の判定がＮＯならば、ステップ２０１７で、＃（ｍ＊８＋ｎ）のＰＬＮ  に対する処理フレーム数の許容値ＮＰ  の値が０になったか否かが判定される。
【０１９２】
ステップ２０１７の判定がＮＯならば、＃（ｍ＊８＋ｎ）のＰＬＮ  に対してはまだフレームの取込み処理を続行できるため、ステップ２０１１に戻り、＃（ｍ＊８＋ｎ）のＰＬＮ  に対応するイングレス処理用バッファの内容がサーチされる。
【０１９３】
このようにして、ステップ２０１１→２０１６→２０１７→２０１１という繰返し処理によって、＃（ｍ＊８＋ｎ）のＰＬＮ  に対応するイングレス処理用バッファからそのＰＬＮ  に対応するイングレス処理用キューへのフレームの取込み処理が繰り返され、上記イングレス処理用バッファに受信フレームが存在しなくなると、ステップ２０１２の判定がＮＯとなる。
【０１９４】
この結果、ステップ２０３４で、処理状況表示ビットマップ１９０３の第ｍバイトｔａｂｌｅ（ｍ）の第ｎビットが０にリセットされる。従って、次回の周期以降、フレーム送受信部４０４が＃（ｍ＊８＋ｎ）のＰＬＮ  に対応するイングレス処理用バッファに新たなフレームを受信しなければ、そのＰＬＮ  に対するフレーム取込み処理は実行されない。
【０１９５】
ステップ２０３４の処理の後は、ステップ２０１８が実行される。これについては後述する。
また、ステップ２０１１→２０１６→２０１７→２０１１という繰返し処理により、＃（ｍ＊８＋ｎ）のＰＬＮ  に対応するイングレス処理用バッファからそのＰＬＮ  に対応するイングレス処理用キューへのフレームの取込み処理が繰り返されている過程において、＃（ｍ＊８＋ｎ）のＰＬＮ  に対する処理フレーム数の許容値ＮＰ  の値が０になりステップ２０１７の判定がＹＥＳとなると、ステップ２０１８が実行される。
【０１９６】
上記ステップ２０１７の判定がＹＥＳとなった場合又は前記ステップ２０３４の処理の後に、まず、ステップ２０１８においては、次回の周期以降に実行される＃（ｍ＊８＋ｎ）のＰＬＮ  に対するフレーム取込み処理に備えて、そのＰＬＮ  に対する処理フレーム数の許容値ＮＰ  の値が、前述した数６式によって計算された初期値に復旧される。
【０１９７】
その後、ステップ２０１９で、前述したステップ２００８の右シフト処理の後の処理状況表示ビットマップ１９０３の第ｍバイトｔａｂｌｅ（ｍ）の内容が０  （８ビット全てが０）  であるか否かが判定される。
【０１９８】
この判定がＹＥＳなら、その第ｍバイト内の残りのビットに対応するＰＬＮ  に対応するイングレス処理用バッファにはフレームは受信されていないため、それらに対するフレーム取込み処理は実行する必要はない。この場合には、後述するステップ２０２１以降の処理状況表示ビットマップ１９０３の次のバイトデータに対する制御処理が実行される。
【０１９９】
ステップ２０１９の判定がＮＯなら、変数ｎの値が＋１だけインクリメントされた後、ステップ２００８に戻って、今回処理されたビット位置以降のビット位置に対応するＰＬＮ  に対するフレーム取込み処理が実行される。
【０２００】
一方、ステップ２０１１→２０１６→２０１７→２０１１という繰返し処理により、＃（ｍ＊８＋ｎ）のＰＬＮ  に対応するイングレス処理用バッファからそのＰＬＮ  に対応するイングレス処理用キューへのフレームの取込み処理が繰り返されている過程において、カウンタＦＣＮＴの値が複数のＰＬＮ  全体の処理フレーム数の許容値ｋに等しくなりステップ２０１６の判定がＹＥＳとなった場合には、ステップ２０２６〜２０３３の処理が実行されることにより、今回の周期における複数のＰＬＮ  全体のフレーム取込み処理が終了する。
【０２０１】
即ちまず、ステップ２０２６で、ステップ２０１７の場合と同様に、＃（ｍ＊８＋ｎ）のＰＬＮ  に対する処理フレーム数の許容値ＮＰ  の値がちょうど０になっているか否かが判定される。
【０２０２】
この判定がＮＯなら、そのまま図２０〜図２２の動作フローチャートの処理が終了する。この結果、次回の周期まで変数ｍ、ｎ、及び許容値ＮＰ  の値が保存されているため、次回の周期における図２０〜図２２の動作フローチャートの起動時には、＃（ｍ＊８＋ｎ）のＰＬＮ  に対するフレーム取込み処理から処理が再開される。
【０２０３】
ここで、ステップ２００４で処理状況表示ビットマップ１９０３の第ｍバイトｔａｂｌｅ（ｍ）がフェッチされた後、変数ｎの値が０でなければ、即ち、ｔａｂｌｅ（ｍ）の第０バイトが参照されていなければ、ステップ２００５の判定がＮＯとなるため、ステップ２００６が実行される。ステップ２００６では、ｔａｂｌｅ（ｍ）に対してｎビット右シフト処理が実行されることにより、変数ｎに対応する参照ビット位置が復元される。
【０２０４】
一方、ステップ２０２６の判定がＹＥＳとなった場合には、今回の周期において、＃（ｍ＊８＋ｎ）のＰＬＮ  に対するフレーム取込み処理がちょうど許容値ＮＰ  の値に対応する回数分実行されたことになる。
【０２０５】
この場合には、まず、ステップ２０２７において、次回の周期以降に実行される＃（ｍ＊８＋ｎ）のＰＬＮ  に対するフレーム取込み処理に備えて、そのＰＬＮ  に対する処理フレーム数の許容値ＮＰ  の値が、前述した数６式によって計算された初期値に復旧される。
【０２０６】
次に、ステップ２０２８では、変数ｎの値が７になっているか否かが判定される。
ステップ２０２８の判定がＮＯなら、ステップ２０２９で変数ｎの値が＋１だけインクリメントされた後に、図２０〜図２２の動作フローチャートの処理が終了する。この結果、次回の周期まで変数ｍ及びｎの値が保存されているため、次回の周期における図２０〜図２２の動作フローチャートの起動時には、処理状況表示ビットマップ１９０３の第ｍバイトｔａｂｌｅ（ｍ）の次のビット位置ｎに対応するＰＬＮ  に対するフレーム取込み処理から処理が再開される。この場合においても、前述したステップ２００６が実行されることにより、新たな変数ｎに対応する参照ビット位置が復元される。
【０２０７】
一方、ステップ２０２８の判定がＹＥＳならば、処理状況表示ビットマップ１９０３の第ｍバイトｔａｂｌｅ（ｍ）内の１がセットされている全てのビットに対応するＰＬＮ  に対するフレーム取込み処理が終了したことになる。
【０２０８】
この場合には、以下のようにして変数ｍの値がインクリメントされる。
まず、ステップ２０３０では、現在の変数ｍの値が２であるか否かが判定される。
【０２０９】
ステップ２０３０の判定がＮＯならステップ２０３１で変数ｍの値が＋１だけインクリメントされ、ステップ２０３０の判定がＹＥＳならステップ２０３２で変数ｍの値が０にリセットされ、その後、ステップ２０３３で、変数ｎの値が０にリセットされ、図２０〜図２２の動作フローチャートの処理が終了する。この結果、次回の周期では、処理状況表示ビットマップ１９０３の次のバイトデータの先頭ビットがアクセスされる。
【０２１０】
一方、既に説明したように、処理状況表示ビットマップ１９０３の第ｍバイトｔａｂｌｅ（ｍ）内の値が０となっていて、ステップ２００７又は２０１９の判定がＹＥＳの場合には、ｔａｂｌｅ（ｍ）内の各ビット位置に対応するＰＬＮ  に対するフレーム取込み処理は実行する必要はなく、ステップ２０２１以降の処理が実行される。
【０２１１】
ステップ２０２１〜２０２４は、各々上述したステップ２０３０〜２０３３と同じ処理である。そして、処理状況表示ビットマップ１９０３の内容  （ｔａｂｌｅ（０）〜ｔａｂｌｅ（２）の内容）  が０でなくステップ２０２５の判定がＮＯならば、カウンタＦＣＮＴの値はまだ複数のＰＬＮ  全体の処理フレーム数の許容値ｋに等しくなっていないため、ステップ２００４に戻って、処理状況表示ビットマップ１９０３の次のバイトデータに対する処理が実行される。一方、ステップ２０２５の判定がＹＥＳならば、処理されるべき受信フレームが存在しないため、そのまま図２０〜図２２の動作フローチャートの処理が終了する。
【０２１２】
上述した実施例は、イングレス処理に関するものであるが、本発明はこれに限られるものではなく、エグレス処理にも同様に適用することができる。即ち、例えばユーザインタフェース処理部４０１内のエグレス処理部４０１−２が、フレームの復元とフレーム送受信部４０４への転送処理を所定周期で起動させ、その周期内で複数のＰＬＮ  全体で処理可能な数のフレームに対してのみ復元処理と転送処理を実行する。これと共に、エグレス処理部４０１−２は、複数のＰＬＮ  全体で処理可能な数の範囲内で処理される各ＰＬＮ  に対応するフレームの数が、各ＰＬＮ  に割り当てられるエグレス処理用のバッファの数に関連するように、フレームの復元／転送処理を実行する。この場合においても、ＡＴＭ  インタフェース３０８側からＡＴＭ  セルが受信されたか否かを示すビットマップ等を用意することにより、処理の高速化を図ることができる。
【０２１３】
また、上述した実施例は、フレームリレー通信方式において、各ＰＬＮ  に割り当てられるバッファの数に関連するようにフレームの処理数を決定するものであるが、本発明はこれに限られるものではなく、他の通信方式において、各データリンクに割当てられるバッファの数に関連するように通信情報の処理数を決定するように構成することもできる。この場合においても、通信情報が受信されたか否かを示すビットマップ等を用意することにより、処理の高速化を図ることができる。
ＰＬＮ  内の各ＤＬＣＩに対応するＣＩＲ  値の総和に応じたＰＬＮ  毎のイングレス処理用バッファの割当て
上述の実施例では、ＰＬＮ  が使用するタイムスロット数に応じてそのＰＬＮ  に対応するイングレス処理用バッファの割当てが決定される  （図１８参照）  。これに対して、ＰＬＮ  内の各ＤＬＣＩに対応するＣＩＲ（Ｃｏｍｍｉｔｔｅｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｒａｔｅ）  値の総和に応じてそのＰＬＮ  に対応するイングレス処理用バッファの割当てが決定されてもよい。なお、ＣＩＲ  値の総和以外の契約量であってもよい。
【０２１４】
図２３は、ＰＬＮ  内の各ＤＬＣＩに対応するＣＩＲ  値の総和に応じたＰＬＮ  毎のイングレス処理用バッファの割当て処理を示す動作フローチャートである。この動作フローチャートは、図４のフレームリレーノード装置３０２のユーザインタフェース処理部４０１内のイングレス処理部４０１−１によって実行される。
【０２１５】
始めに、ステップ２３０１で、特には図示しない制御装置からＤＬＣＩの登録が通知される。この通知には、登録されたＤＬＣＩが属するＰＬＮ  と、そのＤＬＣＩに対応するＣＩＲ  値が含まれる。
【０２１６】
ステップ２３０２においては、現在までにＰＬＮ  に属するＤＬＣＩのＣＩＲ  値の総和値ＰＬＮ（ｎ）ＣＩＲ  に、ステップ２３０１で通知された登録ＤＬＣＩに対応するＣＩＲ  値が加算される。
【０２１７】
ステップ２３０３においては、現在までにフレームリレーノード装置３０２内の全てのＰＬＮ  に属するＤＬＣＩのＣＩＲ  値の総和値ΣＣＩＲ  に、ステップ２３０１で通知された登録ＤＬＣＩに対応するＣＩＲ  値が加算される。
【０２１８】
ステップ２３０４においては、変数ｎの値が０にリセットされる。この変数ｎの値は、フレームリレーノード装置３０２が管理する最大で２４個のＰＬＮ  のそれぞれを指示する。
【０２１９】
ステップ２３０５では、フレームリレーノード装置３０２内の全てのＰＬＮ  に属するＤＬＣＩのＣＩＲ  値の新たな総和値ΣＣＩＲ  に対する、ｎ番目のＰＬＮ（ｎ）に属するＤＬＣＩのＣＩＲ  値の新たな総和値ＰＬＮ（ｎ）ＣＩＲ  の比Ｘ（ｎ）が計算される。
【０２２０】
ステップ２３０６では、フレームリレーノード装置３０２内のバッファ用メモリが有するイングレス処理用バッファの総数に、ステップ２３０５で計算された比Ｘ（ｎ）が乗算されることにより、ｎ番目のＰＬＮ（ｎ）に割当てられるイングレス処理用バッファのＮが計算される。
【０２２１】
ステップ２３０７においては、ｎ番目のＰＬＮ（ｎ）に、ステップ２３０６で計算された値Ｎに対応する数のイングレス処理用バッファが割り当てられる。
そして、ステップ２３０８において変数ｎの値が＋１だけインクリメントされながら、ステップ２３０９において変数ｎの値が２４に等しくなったと判定されるまで、変数ｎの値に対応する各ＰＬＮ（ｎ）について、ステップ２３０５〜ステップ２３０７の処理が繰り返し実行される。
【０２２２】
ステップ２３０９の判定がＹＥＳとなると、図２３の動作フローチャートの処理が終了する。
上述の実施例は、フレームリレー通信方式においてＰＬＮ  内の各ＤＬＣＩに対応するＣＩＲ  値の総和に応じてそのＰＬＮ  に対応するイングレス処理用バッファの割当てが決定されるものであるが、本発明はこれに限られるものではなく、他の通信方式において、各データリンクが使用するトラヒックの申告量等のトラヒック制御量に応じて通信バッファの割当てを決定するように構成することもできる。
ＰＬＮ  内の各ＤＬＣＩのＣＩＲ  値の総和に応じた制御構造とビットマップを使用した制御構造を有するフレーム取込み／転送処理
図２３の動作フローチャートで示されるバッファ割り当て方式は、図２０〜図２２の動作フローチャートによって示されるフレーム取込み処理にそのまま適用することができる。
【０２２３】
即ち、前述した実施例は、ＰＬＮ  毎のフレーム処理数がＰＬＮ  が使用するタイムスロットに応じて制御される構成を有しているが、ＰＬＮ  内の各ＤＬＣＩに対応するＣＩＲ  値の総和に応じてＰＬＮ  毎のフレーム数が制御されてもよい。
【０２２４】
この場合には、図２０〜図２２の動作フローチャート中で使用される各ＰＬＮ  に対する処理フレーム数の許容値ＮＰ  の値は、前述した数６式に基づいて、５ｍｓｅｃ  の周期内における複数のＰＬＮ  全体に対応する処理可能フレーム数ｋに、バッファの総数Ｂに対する図２３の動作フローチャートで算出される各ＰＬＮ  に割り当てられるバイト数Ｎの比Ｎ／Ｂを、乗算した値として算出すればよい。
【０２２５】
以上の原理は、５ｍｓｅｃ  の周期内に各ＰＬＮ  に対応するフレームがそのＰＬＮ  に対応するイングレス処理用バッファからそのＰＬＮ  に対応するイングレス処理用キューに取り込まれる処理に対してのみならず、同じ周期内でそのＰＬＮ  に対応するフレームがそのＰＬＮ  に対応するイングレス処理用キューからＡＴＭ  インタフェース処理部４０３内のイングレス処理部４０３−１へ転送される処理に対しても同様に適用できる。
トラヒックデータの収集処理
フレームリレー通信方式においては、ユーザネットワークインタフェース３０７単位、ＰＬＮ  単位、及びＤＬＣＩ単位で、トラヒックデータを収集し、それらに対して統計処理を実行することが行われる。
【０２２６】
このような処理が実行される場合に、従来は、各トラヒックの収集ポイント毎に、全ての統計項目が周期的に収集され、それらの収集結果に基づいて、各トラヒックの収集ポイント毎に全ての統計項目に対応してメモリなどに確保されているカウンタ  （変数）  をカウントアップさせる処理などが行われていた。
【０２２７】
これに対して、本実施例では、ＰＬＮ  、ＤＬＣＩ単位の統計項目については、特には図示しない制御装置が統計処理あり・なしをフレームリレーノード装置３０２に対して指定するように構成される。そして、各トラヒックの収集ポイント毎に、指定された統計項目のみが周期的に収集され、それらの収集結果に基づいて、図２４に示されるように、各トラヒックの収集ポイント毎に指定された統計項目のみに対応してメモリなどに確保されているカウンタをカウントアップさせる処理が実行される。
【０２２８】
この結果、トラヒックデータを収集するための冗長な通信処理時間及びメモリ容量を削減することができる。
このようなトラヒックデータの収集方式は、フレームリレー通信方式に関わらず、一般の交換システムにおいて、各加入者単位にパフォーマンス情報などの統計項目を収集する場合に同様に適用できる。即ち、例えば指定された加入者に対してのみトラヒックデータの収集を行うように構成することができる。
【０２２９】
【発明の効果】
本発明の第１の態様によれば、通信残量データの補給処理が所定の設定周期を分割して得られる各時分割タイミングに分散されることにより、処理の集中を避けることが可能となる。
【０２３０】
なお、本発明は、フレームリレー通信に限られるものではなく、他の通信方式において、トラヒックデータが周期的に設定されるような場合に、その設定処理を複数の時分割タイミングに分散させて実行することにより、処理の集中を避けることが可能となる。
【０２３１】
本発明の第２の態様によれば、各時分割タイミングにおけるデータリンクの割当て数が均等になるような割当てが行われることにより、処理の均等化を図ることが可能となる。
【０２３２】
本発明の第３の態様によれば、通信残量データの補給処理の効率化を図ることが可能となる。
また、フレームリレー通信以外の他の通信方式において、例えば複数のデータリンク毎にトラヒックデータの設定処理が周期的に行われるような場合にも、同様の構成によりトラヒックデータの設定処理の効率化を図ることができる。
【０２３３】
本発明の第４の態様によれば、周期時間内に受信されたフレームに対する通信処理を完了させることができ、この処理以外の処理のための時間を確保することが可能となる。
【０２３４】
なお、本発明は、フレームリレー通信方式に限られるものではなく、他の通信方式においても、同様の構成により、送受信処理以外の処理のための時間を確保することが可能となる。
【０２３５】
本発明の第５の態様によれば、契約量を守ったデータリンク上のフレームの受信を原因として輻輳状態が発生してしまう恐れを排除することが可能となる。
なお、本発明はフレームリレー通信方式に限られるものではなく、他の通信方式において、例えば物理リンクに複数の論理リンクが収容されそれぞれに対してトラヒック制御が実行される場合のように、階層的なトラヒック構造に対してそれぞれトラヒック制御が実行されるような場合においても、低い階層のトラヒックから優先的にトラヒック制御が実行されることにより、規律を守ったトラヒックの通信を原因として輻輳状態が発生してしまう恐れを排除することが可能となる。
【０２３６】
本発明の第６の態様によれば、輻輳監視のための第１のサンプリング周期が比較的長くなるような場合でも、安定した輻輳情報を得ることが可能となる。
本発明の第７の態様によれば、物理チャネルの太さに応じたバッファリングが可能となる。
【０２３７】
なお、本発明はフレームリレー通信に限られるものではなく、他の通信方式において、データリンクが使用する伝送帯域に応じた容量の通信用バッファを割当てるように構成することもできる。
【０２３８】
本発明の第８の態様によれば、フレームリレー通信の契約量に応じたバッファリングが可能となる。
なお、本発明はフレームリレー通信に限られるものではなく、他の通信方式において、データリンクにおけるトラヒック制御量に容量の通信用バッファを割当てるように構成することもできる。
【０２３９】
本発明の第９の態様によれば、各データリンクの通信容量に応じた適切なフレームリレー通信処理を実行することが可能となる。
なお、本発明はフレームリレー通信方式に限られるものではなく、他の通信方式において、各データリンクに割当てられるバッファの容量に関連するように通信情報の処理数を決定するように構成することもできる。
【０２４０】
本発明の第１０の態様によれば、通信情報の処理実行の可否判定を高速化することが可能となる。
本発明の第１１の態様によれば、一般の通信システムにおいて、例えば指定された加入者に対してのみトラヒックデータの収集を行うように構成することができ、トラヒックデータの収集の効率化が図れる。
【図面の簡単な説明】
【図１】本発明のブロック図  （その１）  である。
【図２】本発明のブロック図  （その２）  である。
【図３】フレームリレー通信システムの全体構成図である。
【図４】フレームリレーノード装置内の処理構造とデータの流れを示した図である。
【図５】フレームとＡＴＭ  セルのデータフォーマットの関係図である。
【図６】ＣＩＲ  バケット補給処理の説明図である。
【図７】ＤＬＣＩ登録の概念図である。
【図８】本実施例におけるＣＩＲ  バケット補給処理の動作フローチャートである。
【図９】ＤＬＣＩ登録キュー制御処理の説明図である。
【図１０】ＤＬＣＩ登録キュー制御処理の動作フローチャートである。
【図１１】ＣＩＲ  制御のデータ構成図である。
【図１２】ＣＩＲ  バケット補給フラグオン処理に関連する動作フローチャートである。
【図１３】ＣＩＲ  バケット補給フラグオフ処理に関連する動作フローチャートである。
【図１４】フレーム取込み／転送処理の動作フローチャートである。
【図１５】ＣＩＲ  制御と輻輳制御の実行関係図である。
【図１６】輻輳計算の説明図である。
【図１７】本実施例における輻輳計算処理の動作フローチャートである。
【図１８】ＰＬＮ  が使用するタイムスロット数に応じたＰＬＮ  毎のイングレス処理用バッファの割当て処理の動作フローチャートである。
【図１９】ビットマップの説明図である。
【図２０】ＰＬＮ  が使用するタイムスロット数に応じた制御構造とビットマップを使用した制御構造を有するフレーム取込み処理の動作フローチャート  （その１）  である。
【図２１】ＰＬＮ  が使用するタイムスロット数に応じた制御構造とビットマップを使用した制御構造を有するフレーム取込み処理の動作フローチャート  （その２）  である。
【図２２】ＰＬＮ  が使用するタイムスロット数に応じた制御構造とビットマップを使用した制御構造を有するフレーム取込み処理の動作フローチャート  （その３）  である。
【図２３】ＰＬＮ  内の各ＤＬＣＩのＣＩＲ  値の総和に応じたＰＬＮ  毎のイングレス処理用バッファの割当て処理の動作フローチャートである。
【図２４】トラヒックデータの収集処理の説明図である。
【符号の説明】
１０１      時分割割当て手段
１０２      通信残量データ補給処理実行手段
１０３      通信残量データ補給処理指示手段
２０１      通信処理周期実行手段
２０２        （全体）  フレーム処理数制限手段
２０３      通信量制御
２０４      輻輳制御
２０５      輻輳情報サンプリング手段
２０６      輻輳情報平均化手段
２０７      通信バッファ
２０８      通信バッファ割当て手段
２０９      データリンク毎フレーム処理数制限手段
２１０      受信完了表示ビットマップ手段
２１１      リンク状態表示ビットマップ手段
２１２      通信処理指示手段
【図１】
0003563127.tif 000003
【図２】
0003563127.tif 000004
【図３】
0003563127.tif 000005
【図４】
0003563127.tif 000006
【図５】
0003563127.tif 000007
【図６】
0003563127.tif 000008
【図７】
0003563127.tif 000009
【図８】
0003563127.tif 000010
【図９】
0003563127.tif 000011
【図１０】
0003563127.tif 000012
【図１１】
0003563127.tif 000013
【図１２】
0003563127.tif 000014
【図１３】
0003563127.tif 000015
【図１４】
0003563127.tif 000016
【図１５】
0003563127.tif 000017
【図１６】
0003563127.tif 000018
【図１７】
0003563127.tif 000019
【図１８】
0003563127.tif 000020
【図１９】
0003563127.tif 000021
【図２０】
0003563127.tif 000022
【図２１】
0003563127.tif 000023
【図２２】
0003563127.tif 000024
【図２３】
0003563127.tif 000025
【図２４】
0003563127.tif 000026