(57)【特許請求の範囲】
【請求項１】
ＡＴＭセルを複数のＶＣを介してＡＴＭ網に送信するＡＴＭ装置において、
第１のＶＣを介して等間隔に送信されるＡＴＭセルに対して、第２のＶＣを介して等間隔に送信されるＡＴＭセルが衝突しないように該第２のＶＣのＡＴＭセルの送信タイミングを調整してＡＴＭ網に送信するスケジューラ手段を備え、
前記スケジューラ手段は、ＡＴＭセルの最小の送信帯域を単位として、前記第１のＶＣおよび前記第２のＶＣの各ＶＣの帯域を前記単位で除した値の最小公倍数以上のビット幅を有するテーブルに前記第１のＶＣのＡＴＭセルの送信タイミングを該テーブルの１ビットに対応させ配置した送信テーブルと、前記第１のＶＣおよび前記第２のＶＣの各ＶＣの帯域を前記単位で除した値の最小公倍数以上のビット幅を有するテーブルに前記第２のＶＣのＡＴＭセルの送信タイミングを該テーブルの１ビットに対応させ配置した検査テーブルとを有し、
前記送信テーブルと前記検査テーブルとを比較演算し、
前記第１のＡＴＭセルの送信タイミングを示すビットと前記第２のＡＴＭセルの送信タイミングを示すビットが衝突しない位置を検出し、
前記第１のＡＴＭセルの送信タイミングを示すビットと前記第２のＡＴＭセルの送信タイミングを示すビットが衝突する位置を検出した場合前記検査テーブルに配置されたＡＴＭセルの送信タイミングを示すビットをローテーションさせて前記送信テーブルと比較演算し、前記第１のＡＴＭセルの送信タイミングを示すビットと前記第２のＡＴＭセルの送信タイミングを示すビットが衝突しない位置を検出し、
前記送信テーブルに前記第２のＡＴＭセルの送信タイミングを示すビットを重畳して配置し、前記送信テーブルに基づき前記第１のＶＣおよび前記第２のＶＣのＡＴＭセルをＡＴＭ網に送信することを特徴とするＡＴＭ装置。
【請求項２】
前記単位は６４ｋｂｐｓであることを特徴とする請求項１記載のＡＴＭ装置。
【請求項３】
前記スケジューラ手段は、前記検査テーブルに配置された前記第２のＶＣのＡＴＭセルの送信タイミングを示すビットをローテーションさせる場合、前記検査テーブルに配置された前記第２のＶＣのＡＴＭセルの送信タイミングを示すビットを所定の検査間隔ずつ前記第２のＶＣのＡＴＭセルの送信タイミングを示すビットの配置をローテーションさせることを特徴とする請求項１または請求項２記載のＡＴＭ装置。
【請求項４】
前記スケジューラ手段は、前記第１のＶＣおよび前記第２のＶＣの各ＶＣのＡＴＭセルの送信タイミングを示すビットが衝突しないセル位置を検出できない場合はさらに、前記検査間隔を所定量減少させた後にあらためて前記検査テーブルに配置された前記第２のＶＣのＡＴＭセルの送信タイミングを示すビットをローテーションさせ、前記送信テーブルと前記検査テーブルとを比較演算し、前記第１のＡＴＭセルの送信タイミングを示すビットと前記第２のＡＴＭセルの送信タイミングを示すビットが衝突しない位置を検出するようにしたことを特徴とする請求項３記載のＡＴＭ装置。
【請求項５】
前記スケジューラ手段は、前記第２のＶＣのＡＴＭセルの送信タイミング示すビットを、前記検査テーブルに固定的に定めた所定量ずつＡＴＭセルの配置をローテーションさせて比較演算することでＡＴＭセルの送信タイミングを示すビットを配置することにより、前記第１のＶＣのＡＴＭセルの送信タイミングを示すビットと衝突しないＡＴＭセル位置を検出するようにしたことを特徴とする請求項３記載のＡＴＭ装置。
【請求項６】
前記スケジューラ手段は、前記送信テーブルに、前記第１のＶＣのＡＴＭセルの送信タイミングを示すビットおよび前記第２のＶＣのＡＴＭセルの送信タイミングを示すビットが連続して衝突しない最大幅の中央に前記第２のＶＣのＡＴＭセルの送信タイミングを示すビットを配置するようにしたことを特徴とする請求項１乃至５のいずれか一に記載のＡＴＭ装置。
【請求項７】
複数のＶＣのＡＴＭセルをスケジューリングしてＡＴＭ網に送信するＡＴＭセル送信スケジューリング方法において、
前記ＡＴＭセルの最小の送信帯域を単位として、第１のＶＣおよび第２のＶＣの各ＶＣの帯域を前記単位で除した値の最小公倍数以上のビット幅を有するテーブルに前記第１のＶＣのＡＴＭセルの送信タイミングを該テーブルの１ビットに対応させ配置した送信テーブルと、前記第１のＶＣおよび前記第２のＶＣの各ＶＣの帯域を前記単位で除した値の最小公倍数以上のビット幅を有するテーブルに前記第２のＶＣのＡＴＭセルの送信タイミングを該テーブルの１ビットに対応させ配置した検査テーブルとを用意し、
前記送信テーブルと前記検査テーブルとを比較演算し、前記第１のＡＴＭセルの送信タイミングを示すビットと前記第２のＡＴＭセルの送信タイミングを示すビットが衝突しない位置を検出し、
前記第１のＡＴＭセルの送信タイミングを示すビットと前記第２のＡＴＭセルの送信タイミングを示すビットが衝突する位置を検出した場合前記検査テーブルに配置されたＡＴＭセルの送信タイミングを示すビットをローテーションさせて前記送信テーブルと比較演算し、前記第１のＡＴＭセルの送信タイミングを示すビットと前記第２のＡＴＭセルの送信タイミングを示すビットが衝突しない位置を検出し、
前記送信テーブルに前記第１のＡＴＭセルの送信タイミングを示すビットと衝突しない位置の前記第２のＡＴＭセルの送信タイミングを示すビットを重畳して配置し、
前記送信テーブルに基づき前記第１のＶＣおよび前記第２のＶＣのＡＴＭセルをＡＴＭ網に送信することを特徴とするＡＴＭセル送信スケジューリング方法。
【請求項８】
前記ＡＴＭセルスケジューリング方法は、前記検査テーブルに配置された前記第２のＶＣのＡＴＭセルの送信タイミングを示すビットをローテーションさせる場合、前記検査テーブルに配置された前記第２のＶＣのＡＴＭセルの送信タイミングを示すビットの配置を検査間隔ずつローテーションさせることを特徴とする請求項７記載のＡＴＭセルスケジューリング方法。
【請求項９】
前記ＡＴＭセル送信スケジューリング方法は、前記第１のＶＣおよび前記第２のＶＣの各ＶＣのＡＴＭセルの送信タイミングを示すビットが衝突しないセル位置を検出できない場合はさらに、前記検査間隔を所定量減少させた後にあらためて前記検査テーブルに配置された前記第２のＶＣのＡＴＭセルの送信タイミングを示すビットをローテーションさせ、前記送信テーブルと前記検査テーブルとを比較演算し、前記第１のＡＴＭセルの送信タイミングを示すビットと前記第２のＡＴＭセルの送信タイミングを示すビットが衝突しない位置を検出するようにしたことを特徴とする請求項７又は８記載のＡＴＭセル送信スケジューリング方法。
【請求項１０】
前記ＡＴＭスケジューリング方法は、前記送信テーブルに、前記第１のＶＣのＡＴＭセルの送信タイミングを示すビットおよび前記第２のＶＣのＡＴＭセルの送信タイミングを示すビットが連続して衝突しない最大幅の中央に前記第２のＶＣのＡＴＭセルの送信タイミングを示すビットを配置するようにしたことを特徴とする請求項７乃至９のいずれか一に記載のＡＴＭセル送信スケジューリング方法。
【請求項１１】
前記請求項７〜１０のいずれか一に記載されたＡＴＭセル送信スケジューリング方法を実行させるためのプログラムを記録して成ることを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、非同期転送モード（ＡＴＭ：Asynchronus Transfer Mode）網にＡＴＭセルを送信するためのＡＴＭ装置、ＡＴＭセルの送信スケジューリングを行うＡＴＭセル送信スケジューリング方法、ＡＴＭセル送信スケジューリング方法を実行させるためのプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
ＡＴＭ交換網では仮想パス（ＶＰ）と仮想チャネル（ＶＣ）という論理的な通信路を使って５３バイトのＡＴＭセルが送受信される。ＡＴＭ交換網にＡＴＭセルを送信する場合、契約した帯域（ＶＰ）に相当する間隔で等間隔にＡＴＭセルを送信する。また、ＶＣにおいては、固定ビットレート（ＣＢＲ；Constant Bit Rate）の場合、ＣＢＲの帯域に相当する間隔で等間隔にＡＴＭセルを送信する。同期回線からの情報をそのまま等価的に接続する場合は（主にＰＢＸ（Private Branch Exchange）や電話）、ＣＥＳ（回線エミュレーション）を介し、ＣＢＲとして送信する。
【０００３】
ＶＣ毎のＡＴＭセルの送信間隔は所定間隔に決まっており、ＶＣが追加される等して、ＶＰに設定された複数のＶＣのＡＴＭセルが同時に送信される状態（ＡＴＭセル送信の衝突）が発生した場合、各ＶＣのＡＴＭセルが衝突しないように、前記複数のＶＣのうちのいずれかのＶＣのＡＴＭセルは位置がずらされて送信される。この時、ＡＴＭセルの送信間隔にずれが生じ、揺らぎが発生する。
【０００４】
図８及び図９は、従来のＡＴＭ装置におけるＡＴＭセルの送信タイミングを示すタイミング図である。
【０００５】
図８に示すように、ＡＴＭセルＡ３〜Ａ７がＶＣ１に予め定められた所定の間隔で送信されている場合に、ＡＴＭセルＢ１〜Ｂ８がＶＣ２に予め定められた所定の間隔で送信開始されると、ＶＣ１のＡＴＭセルＡ３〜Ａ６が、各々、ＶＣ２のＡＴＭセルＢ１、Ｂ３、Ｂ５、Ｂ７と衝突してしまう。したがって、図９に示すように、ＶＣ１のセルＡ３〜Ａ６とＶＣ２のセルＢ１〜Ｂ７とが衝突しないように配置するために、ＡＴＭセルＡ３〜Ａ６の間隔が、本来のセル間隔からずれた位置に配置され、ＡＴＭセルＡ３からＡ６に揺らぎが発生する。
【０００６】
従来、このような揺らぎを吸収するためにＡＴＭセルの受信側にジッタバッファを設けていた。
【０００７】
【発明が解決しようとする課題】
前述の如くして、前記ジッタバッファにより、揺らぎをある程度吸収することは可能ではある。しかしながら、この揺らぎによって遅延が発生する。ＡＴＭ網内においても多少（約１．５ｍｓ）の遅延は発生するので、さらに遅延が生じることになる。
【０００８】
ＰＢＸや電話など、ＣＥＳからのデータの場合は、この遅延が問題となる。リアルタイムなデータ通信が要求される場合には致命的である。
【０００９】
また、この揺らぎ幅が大きいと、ジッタバッファでも吸収しきれなくなり、受信側でアンダーランやオーバーランが発生する。前記ジッタバッファがハードウェア的に固定されているものもあり、この場合には、容易にそのバッファサイズを変更できないため、ジッタバッファによる効果的な吸収が不可能になる。
【００１０】
本発明は、揺らぎの発生を防止して遅延のないデータ通信を可能にすることを課題としている。また、本発明は、受信側でのオーバーランやアンダーランの発生を防止することを課題としている。
【００１１】
【課題を解決するための手段】
本発明によれば、ＡＴＭセルを複数のＶＣを介してＡＴＭ網に送信するＡＴＭ装置において、第１のＶＣを介して等間隔に送信されるＡＴＭセルに対して、第２のＶＣを介して等間隔に送信されるＡＴＭセルが衝突しないように該第２のＶＣのＡＴＭセルの送信開始タイミングを調整してＡＴＭ網に送信するスケジューラ手段を備えて成ることを特徴とするＡＴＭ装置が提供される。スケジューラ手段は、第１のＶＣを介して等間隔に送信されるＡＴＭセルに対して、第２のＶＣを介して等間隔に送信されるＡＴＭセルが衝突しないように該第２のＶＣのＡＴＭセルの送信開始タイミングを調整してＡＴＭ網に送信する。
【００１２】
また、本発明によれば、ＡＴＭセルを複数のＶＣを介してＡＴＭ網に送信するＡＴＭ装置において、第１、第２のＶＣの帯域に相当する値の最小公倍数以上の幅をもつテーブルを用意し、前記テーブルに、第１のＶＣのＡＴＭセルを等間隔に配置し、第２のＶＣのＡＴＭセルが前記第１のＶＣのＡＴＭセルに衝突しないセル位置を検出して該衝突しない位置に第２のＶＣのＡＴＭセルを等間隔に配置し、前記第１、第２のＶＣのセルをＡＴＭ網に送信するスケジューラ手段を備えて成ることを特徴とするＡＴＭ装置が提供される。スケジューラ手段は、第１、第２のＶＣの帯域に相当する値の最小公倍数以上の幅をもつテーブルを用意し、前記テーブルに、第１のＶＣのＡＴＭセルを等間隔に配置し、第２のＶＣのＡＴＭセルが前記第１のＶＣのＡＴＭセルに衝突しないセル位置を検出して該衝突しない位置に第２のＶＣのＡＴＭセルを等間隔に配置し、前記第１、第２のＶＣのセルをＡＴＭ網に送信する。
【００１３】
ここで、前記スケジューラ手段は、前記第１のＶＣのＡＴＭセルの送信タイミングを示す送信テーブルと、前記第２のＶＣのＡＴＭセルが等間隔に配置された検査テーブルとを用意し、前記検査テーブルに配置されたＡＴＭセルが前記送信テーブルに配置されたＡＴＭセルと衝突しないように、前記検査テーブルのＡＴＭセルを検査間隔ずつローテーションさせることによって、前記第１のＶＣのＡＴＭセルに衝突しない前記第２のＶＣのセル位置を検出するように構成してもよい。また、前記スケジューラ手段は、前記第１、第２のＶＣのＡＴＭセルが衝突しないセル位置を検出できない場合、前記検査間隔を所定量減少させた後にあらためて衝突しない位置を検出するように構成してもよい。また、前記スケジューラ手段は、前記第２のＶＣのＡＴＭセルを、前記検査テーブルに固定的に定めた所定量ずつローテーションさせながら配置することにより、前記第１のＶＣのＡＴＭセルと衝突しないセル位置を検出するように構成してもよい。また、前記スケジューラ手段は、前記第１、第２のＶＣのＡＴＭセルが連続して衝突しない最大幅の中央に前記第２のＶＣのセルを配置するように構成してもよい。
【００１４】
また、本発明によれば、複数のＶＣのＡＴＭセルをスケジューリングしてＡＴＭ網に送信するＡＴＭセル送信スケジューリング方法において、第１、第２のＶＣの帯域に相当する値の最小公倍数以上の幅をもつテーブルを用意し、前記テーブルに、前記第１のＶＣのＡＴＭセルを等間隔に配置し、前記第２のＶＣのＡＴＭセルが前記第１のＶＣのＡＴＭセルに衝突しないセル位置を検出して該衝突しない位置に第２のＶＣのＡＴＭセルを等間隔に配置し、前記第１、第２のＶＣのセルをＡＴＭ網に送信するようにしたことを特徴とするＡＴＭセル送信スケジューリング方法が提供される。第１のＶＣのＡＴＭセルをテーブルに等間隔に配置し、第２のＶＣのＡＴＭセルが前記第１のＶＣのＡＴＭセルに衝突しないセル位置を検出して該衝突しない位置に第２のＶＣのＡＴＭセルを等間隔に配置し、前記第１、第２のＶＣのセルをＡＴＭ網に送信する。
【００１５】
ここで、前記第１のＶＣのＡＴＭセルの送信タイミングを示す送信テーブルと、前記第２のＶＣのＡＴＭセルが等間隔に配置された検査テーブルとを用意し、前記検査テーブルに配置されたＡＴＭセルが前記送信テーブルに配置されたＡＴＭセルと衝突しないように、前記検査テーブルのＡＴＭセルを検査間隔ずつローテーションさせることによって、前記第１のＶＣのＡＴＭセルに衝突しない前記第２のＶＣのセル位置を検出するようにしてもよい。また、前記第１、第２のＶＣのＡＴＭセルが衝突しないセル位置を検出できない場合、前記検査間隔を所定量減少させた後にあらためて衝突しない位置を検出するようにしてもよい。また、前記第１、第２のＶＣのＡＴＭセルが連続して衝突しない最大幅の中央に前記第２のＶＣのセルを配置するようにしてもよい。
【００１６】
また、本発明によれば、前記ＡＴＭセル送信スケジューリング方法を実行させるためのプログラムを記録して成ることを特徴とするコンピュータ読み取り可能な記録媒体が提供される。
【００１７】
【発明の実施の形態】
以下、添付図面を参照して、本発明の実施の形態に係るＡＴＭ装置、ＡＴＭセル送信スケジューリング方法及びＡＴＭセル送信スケジューリング方法を実行させるためのプログラムを記録した記録媒体について説明する。
【００１８】
図１は、本発明の実施の形態に係るＡＴＭ装置１００及び、ＡＴＭ装置１００を用いたネットワークを示すブロック図である。ＡＴＭ装置としては、ＡＴＭセルをＡＴＭ網に送信する機能を有する各種装置が使用できるが、本実施の形態では、ルータやＣＥＳを内蔵する統合アクセス装置（Integrated Access Device）の例を示している。
【００１９】
図１において、ＰＢＸ１０５、専用線ルータ１０６、ＦＲルータ１０７は、インタフェース手段としてのＣＥＳインタフェース（ＣＥＳ  Ｉ／Ｆ）に接続されており、スケジューラ手段としてのセル送信スケジューラ１０１及びインタフェース手段としてのＡＴＭインタフェース（ＡＴＭ  Ｉ／Ｆ）を介して、ＡＴＭ回線１１０に接続されている。尚、ＰＢＸ１０５、専用線ルータ１０６、ＦＲルータ１０７からの各種データは、各々、ＶＰ１のＶＣ１（ＣＢＲ）、ＶＰ１のＶＣ２（ＣＢＲ）、ＶＰ２のＶＣ１（ＣＢＲ）を通してＡＴＭセルの送信が行われるる。
【００２０】
また、ＬＡＮ１０８（代表的にＶＯＩＰ（Voice Over IP）装置１０９を示す。）は、インタフェース手段としてのＬＡＮインタフェース（ＬＡＮ  Ｉ／Ｆ）１０３に接続されており、セル送信スケジューラ１０１及びＡＴＭインタフェース１０４を介してＡＴＭ回線１１０に接続されている。ＬＡＮ１０８からの音声データ等の各種データは、ＶＰ３のＶＣ１（ＣＢＲ）を経由してＡＴＭセルが送信される。セル送信スケジューラ１０１は、中央処理装置（ＣＰＵ）を備えており、後述するように、各ＶＣにおけるＡＴＭセルの送信開始位置をずらすことにより、ＡＴＭセルの衝突が生じないようにするものである。尚、説明は省略するが、前記ＣＰＵは、ＡＴＭセルの分解／組立などの処理機能をも有している。
【００２１】
図２は、セル送信スケジューラ１０１の処理動作を示すフローチャートである。また、図３〜図７は、セル送信スケジューラ１０１の処理動作によって、ＡＴＭセルが衝突しないように所定位置に配置される様子を示すタイミング図である。
【００２２】
以下、図１〜図７に沿って、本実施の形態について詳細に説明する。
【００２３】
先ず、ＶＣの最大帯域が２４Ｂとし又、使用するＶＣの帯域が２Ｂ、３Ｂ、４Ｂ、６Ｂ、８Ｂ、１２Ｂ、１６Ｂ、２４Ｂのいずれかとし、これらの最小公倍数（４８Ｂ）以上の幅である１行９６bit幅の検査テーブルを用意する。但し、１Ｂは６４kbpsを意味し又、１Ｂがこのテーブルの１bitに相当するように設定している。また、ＣＥＳインタフェース１０２から受信したデータを、ＶＣ１（４Ｂ：２５６kbps）、ＶＣ２（８Ｂ：５１２kbps）、ＶＣ３（１２Ｂ：７６８kbps）と順次追加して送信する場合を想定して説明する。
【００２４】
ＶＣの帯域が１Ｂの場合のＡＴＭセル送信間隔は、ＡＴＭセル１つが５３バイトなので、１０００ms／（（６４０００bps／８bit）／５３byte）＝６．６３msとなる。帯域が１Ｂの場合は、この９６bit幅のテーブルに１つ配置されることになるので、ｎ bitあたりの時間的差異は（６．６３／９６）×ｎ msとなる。
【００２５】
１本目のＶＣ（ＶＣ１）によってＡＴＭセルを送信する場合、セル送信スケジューラ１０１では、先ず、図２のステップＳ２０１において、セル配置間隔（Ｘ）及び前記セル配置間隔（Ｘ）内の検査間隔（ｄｅｌｔａ）を設定する。ここで、前記セル配置間隔（Ｘ）はＡＴＭセルを等間隔に配置する際の間隔であり、ＶＣの帯域によって定まる。また、前記検査間隔（ｄｅｌｔａ）とは、後から追加するＶＣのＡＴＭセルの間隔を意味し、複数のＶＣ間で衝突するＡＴＭセルが存在するか否かを検査するために、仮に設定するものである。前記検査間隔（ｄｅｌｔａ）は、例えば、１６を基準値とし、前記セル配置間隔（Ｘ）が１６以上の場合には前記検査間隔（ｄｅｌｔａ）として１６を使用し、前記セル配置間隔（Ｘ）が１６未満の場合には前記配置間隔（Ｘ）の最大公約数を用いる。
【００２６】
ここでは、ＶＣ１の帯域が４Ｂであるため、これらを９６bit幅の検査テーブルに配置すると、ＶＣ１におけるＡＴＭセルのセル配置間隔（Ｘ）＝９６／４＝２４bitとなる。また、ＡＴＭセルが衝突するか否かを検査するために最初に設置する検査間隔である初期検査間隔（ｄｅｌｔａ）＝１６／２＝８bitに設定する。このようにして決定したＶＣ１のＡＴＭセルを９６bit幅の前記検査テーブル３０１に配置すると、１６進数表記で、［０ｘ  ８０００００８０  ００００８０００  ００８０００００］となり（ステップＳ２０２）、図３（ａ）に示すような状態で、検査テーブル３０１にＡＴＭセルが配置される。尚、図３及び後述する図４、図５では、テーブル３０１〜５０３において、「１」はＡＴＭセルが配置される位置、「０」はＡＴＭセルが配置されない位置を示している。
【００２７】
次に、既存の送信テーブル（既存テーブル）と前記検査テーブル３０１とのＡＮＤ条件により、両テーブル間のＡＴＭセルの衝突が生じるか否かを検出する（ステップＳ２０３）。
【００２８】
このとき、前回の検査でセルの衝突が生じず且つ今回の検査でセルの衝突が発生したか否かを判断し（ステップＳ２０４）、前記判断が肯定の場合には、前回の衝突から今回の衝突までの最大回数を更新して記憶すると共にそのときの先頭位置を更新して記憶し、ステップＳ２０７に移行する（ステップＳ２１２）。ステップＳ２０４において、前記判断が否定の場合には、最初に衝突が発生しない状態、又は、前回衝突が発生し且つ今回衝突が発生しない状態か否かを判断する（ステップＳ２０５）。
【００２９】
ステップＳ２０５において、前記判断が肯定の場合には、衝突無しの回数及びＡＴＭセルの先頭位置を初期化してステップＳ２０７に移行する（ステップＳ２１３）。ステップＳ２０５において、前記判断が否定の場合には、前回も今回も衝突が発生しないということであるため、衝突しない回数を１だけインクリメントする（ステップＳ２０６）。
【００３０】
次に、前記検査テーブル３０１を検査間隔（ｄｅｌｔａ）分だけシフト（ローテーション）し（ステップＳ２０７）、前記検査テーブルのセル配置間隔（Ｘ）分だけ前記検査を終了したか否かを判断する（ステップＳ２０８）。終了していなければ、ステップＳ２０３に戻って前記検査処理を繰り返す。終了した場合には、衝突なしの最大回数及び先頭位置を更新して記憶する（ステップＳ２０９）。
【００３１】
次に、前記検査によって衝突しないセル配置が存在したか否かを判断し（ステップＳ２１０）、存在する場合には、セル送信基準スタート位置（先頭のＡＴＭセルの送信開始位置を決定する際に基準となる予め定められた位置）からの先頭セルの送信開始位置を計算し、既存のテーブルに重ねて配置し（ステップＳ２１１）、処理を終了する。前記セル送信開始位置を計算する際に、セル配置が可能な場所の両側の間隔が最も広くなるように、セル送信開始位置を算出する。即ち、セル送信開始位置が（セル送信基準スタート位置＋（衝突なしの最大回数／２）×検査間隔（ｄｅｌｔａ））となるように決定する。
【００３２】
一方、ステップＳ２１０において、衝突しないセル配置が存在しない場合には、検査間隔（ｄｅｌｔａ）を半分に設定する（ステップＳ２１４）。このとき設定した検査間隔（ｄｅｌｔａ）が正か否かを判断し（ステップＳ２１５）、正の場合にはステップＳ２０３に戻って、新たに設定した前記検査間隔（ｄｅｌｔａ）を用いて前記検査を繰り返す。ステップＳ２１５において、検査間隔（ｄｅｌｔａ）が零又は負と判断した場合には、ＶＣ１のセル配置間隔（Ｘ）分について検査した結果、衝突の発生しないセル配置は検出できなかったと判断して（ステップＳ２１６）、処理を終了する。
【００３３】
上記処理により、ＶＣ１における最適なセル位置を算出すると、ＶＣ１送信時においては他のＶＣは使用されておらず、既存テーブルがないため、ステップＳ２０１〜Ｓ２１１を処理することによりセル配置が決定され、先頭より８bitローテーションした位置が最適な位置となる。即ち、［０ｘ  ００８０００００  ８０００００８０  ００００８０００］が最適な位置となる。したがって、送信テーブル３０２は、図３（ｂ）に示すように、［０ｘ  ００８０００００  ８０００００８０  ００００８０００］となる。
【００３４】
以上のようにして、ＶＣ１においては、ＡＴＭセル送信時は、予め定めた基準位置である送信基準スタート位置より、８bit分に相当する時間をおいて、送信開始する。
【００３５】
次に、ＶＣ１によるＡＴＭセル送信が行われている状態で、２本目のＶＣ（ＶＣ２）が追加されると、セル送信スケジューラ１０１では、帯域８Ｂを９６bit幅の検査テーブルに配置する。この場合、セル配置間隔（Ｘ）＝９６／８＝１２、初期検査間隔（ｄｅｌｔａ）＝４に設定する（ステップＳ２０１）。
【００３６】
これを１行９６bit幅の検査テーブルに配置すると、［０ｘ  ８００８００８０  ０８００８００８  ００８００８００］となり（ステップＳ２０２）、図４（ａ）に示すように、検査テーブル４０１にＡＴＭセルが配置される。
【００３７】
既存テーブルとして、図３（ｂ）に示す送信テーブル３０２が存在するため、図２のセル送信開始位置算出フローによりＶＣ２のセル配置間隔（Ｘ）分について、ＶＣ２のＡＴＭセルがＶＣ１のＡＴＭセルと衝突しないセル位置の検査を行い、最適な位置を算出すると、ＶＣ２のＡＴＭセルは、先頭より４bitローテーションした位置が最適な位置となる。即ち、最適位置は、［０ｘ  ０８００８００８  ００８００８００  ８００８００８０］となり、各ＡＴＭセルは、図４（ｂ）のローテーション後の検査テーブル４０２に示すように配置される。
【００３８】
したがって、前記既存テーブルにこのテーブルを重畳して配置すると、［０ｘ０８８０８００８  ８０８００８８０  ８００８８０８０］となり（ステップＳ２１１）、新たな送信テーブル（新たな既存テーブル）は、図４（ｃ）に示すようになる。これにより、ＶＣ１とＶＣ２のＡＴＭセルは衝突しない位置に配置されることになる。以上のようにして、ＶＣ２のＡＴＭセル送信時は、前記送信基準スタート位置より、４bit分に相当する時間をおいて、送信開始される。よって、ＶＣ１及びＶＣ２のＡＴＭセルは衝突することなく送信される。
【００３９】
次に、３本目のＶＣ（ＶＣ３）が追加されると、セル送信スケジューラ１０１では、帯域１２Ｂを１行９６bit幅の検査テーブル５０１に配置する。この場合、セル配置間隔（Ｘ）＝９６／１２＝８、初期検査間隔（ｄｅｌｔａ）＝８に設定する（ステップＳ２０１）。これを９６bit幅の検査テーブル５０１に配置すると、［０ｘ  ８０８０８０８０  ８０８０８０８０  ８０８０８０８０］となり（ステップＳ２０２）、図５（ａ）に示すように、検査テーブル５０１にＡＴＭセルが配置される。
【００４０】
既存テーブル（ＶＣ１とＶＣ２のＡＴＭセルが重畳された送信テーブル４０３）は、前述したように、［０ｘ  ０８８０８００８  ８０８００８８０  ８００８８０８０］であるため、図２のセル送信開始位置算出フローによりＶＣ３のセル配置間隔（Ｘ）分について、ＶＣ３のＡＴＭセルがＶＣ１及びＶＣ２のＡＴＭセルと衝突しないセル位置の検査を行い、最適な位置を算出すると、ＶＣ３のＡＴＭセルは、先頭より２bitローテーションした位置が最適な位置となる。即ち、最適位置は、［０ｘ  ２０２０２０２０  ２０２０２０２０  ２０２０２０２０］となり、図５（ｂ）のローテーション後の検査テーブル５０２に示すように配置される。
【００４１】
したがって、前記既存テーブル４０３にこのテーブルを重ねて配置すると、図５（ｃ）に示すように、［０ｘ  ２８ａ０ａ０２８  ａ０ａ０２８ａ０  ａ０２８ａ０ａ０］となり（ステップＳ２１１）、ＶＣ１〜ＶＣ３のＡＴＭセルは衝突しない位置に配置されることになる。以上のようにして、ＶＣ３のＡＴＭセル送信時は、前記送信基準スタート位置より、２bit分に相当する時間をおいて、送信開始される。これにより、ＶＣ１〜ＶＣ３のＡＴＭセルは衝突することなく送信される。
【００４２】
上記処理を行うことにより、例えば図６に示すように、ＡＴＭセルを複数のＶＣ（ＶＣ１、ＶＣ２）によりＡＴＭ網に送信するＡＴＭ装置において、各ＶＣ（ＶＣ１、ＶＣ２）の帯域に相当する値の最小公倍数以上の幅をもつ検査テーブルを用意し、セル送信スケジューラ１０１によって、該テーブルに、既設のＶＣ１のＡＴＭセルＡ３〜Ａ７を等間隔に配置し、後に追加され等間隔に配置されるＶＣ２のＡＴＭセルＢ１〜Ｂ８の送信開始位置を、ＶＣ１のＡＴＭセルＡ３〜Ａ７に衝突しないように決定する。これにより、図７に示すように、ＶＣ１のＡＴＭセルＡ２〜Ａ７、ＶＣ２のＡＴＭセルＢ１〜Ｂ６に揺らぎを発生することなく、ＡＴＭ網に送信することが可能になる。
【００４３】
以上述べたように、本実施の形態に係るＡＴＭ装置は、特に、第１のＶＣを介して等間隔に送信されるＡＴＭセルに対して、第２のＶＣを介して等間隔に送信されるＡＴＭセルが衝突しないように該第２のＶＣのＡＴＭセルの送信開始タイミングを調整してＡＴＭ網に送信するセル送信スケジューラ１０１を備えている。したがって、ＡＴＭセルに揺らぎが発生することを防止して遅延のないデータ通信が可能になる。また、受信側でのオーバーランやアンダーランの発生を防止することが可能になる。
【００４４】
また、本実施の形態に係るＡＴＭ装置は、特に、第１、第２のＶＣの帯域に相当する値の最小公倍数以上の幅をもつテーブルを用意し、前記テーブルに、第１のＶＣのＡＴＭセルを等間隔に配置し、第２のＶＣのＡＴＭセルが前記第１のＶＣのＡＴＭセルに衝突しないセル位置を検出して該衝突しない位置に第２のＶＣのＡＴＭセルを等間隔に配置し、前記第１、第２のＶＣのセルをＡＴＭ網に送信するセル送信スケジューラ１０１を備えている。したがって、ＡＴＭセルの揺らぎを防止して遅延のないデータ通信が可能になり又、受信側でのオーバーランやアンダーランの発生を防止することが可能になる。
【００４５】
ここで、セル送信スケジューラ１０１は、前記第１のＶＣのＡＴＭセルの送信タイミングを示す送信テーブルと、前記第２のＶＣのＡＴＭセルが等間隔に配置された検査テーブルとを用意し、前記検査テーブルに配置されたＡＴＭセルが前記送信テーブルに配置されたＡＴＭセルと衝突しないように、前記検査テーブルのＡＴＭセルを検査間隔ずつローテーションさせることによって、前記第１のＶＣのＡＴＭセルに衝突しない前記第２のＶＣのセル位置を検出するように構成している。したがって、ＡＴＭセルが衝突しない配置を的確に検出することが可能になる。
【００４６】
また、セル送信スケジューラ１０１は、前記第１、第２のＶＣのＡＴＭセルが衝突しないセル位置を検出できない場合、前記検査間隔を所定量（例えば１／２）ずつ減少させた後にあらためて衝突しない位置を検出するように構成している。したがって、短時間で、ＡＴＭセルが衝突しない位置を検出することが可能になる。
【００４７】
また、セル送信スケジューラ１０１は、前記第１、第２のＶＣのＡＴＭセルが連続して衝突しない最大幅の中央に前記第２のＶＣのセルを配置するように構成している。したがって、前記第１、第２のＶＣのＡＴＭセル間隔を大きく取ることが可能になり、何らかの原因によってＡＴＭセルのタイミングがずれた場合にも衝突を防ぐことが可能になる。
【００４８】
また、本実施の形態に係るＡＴＭセル送信スケジューリング方法は、特に、第１、第２のＶＣの帯域に相当する値の最小公倍数以上の幅をもつテーブルを用意し、前記テーブルに、前記第１のＶＣのＡＴＭセルを等間隔に配置し、前記第２のＶＣのＡＴＭセルが前記第１のＶＣのＡＴＭセルに衝突しないセル位置を検出して該衝突しない位置に第２のＶＣのＡＴＭセルを等間隔に配置し、前記第１、第２のＶＣのセルをＡＴＭ網に送信するようにしている。したがって、ＡＴＭセルに揺らぎが発生することを防止して遅延のないデータ通信が可能になる。また、受信側でのオーバーランやアンダーランの発生を防止することが可能になる。
【００４９】
ここで、前記第１のＶＣのＡＴＭセルの送信タイミングを示す送信テーブルと、前記第２のＶＣのＡＴＭセルが等間隔に配置された検査テーブルとを用意し、前記検査テーブルに配置されたＡＴＭセルが前記送信テーブルに配置されたＡＴＭセルと衝突しないように、前記検査テーブルのＡＴＭセルを検査間隔ずつローテーションさせることによって、前記第１のＶＣのＡＴＭセルに衝突しない前記第２のＶＣのセル位置を検出するようにしている。したがって、ＡＴＭセルが衝突しない配置を的確に検出することが可能になる。
【００５０】
また、前記第１、第２のＶＣのＡＴＭセルが衝突しないセル位置を検出できない場合、前記検査間隔を所定量（例えば１／２）ずつ減少させた後にあらためて衝突しない位置を検出するようにしている。したがって、短時間で、ＡＴＭセルが衝突しない位置を検出することが可能になる。
【００５１】
また、前記第１、第２のＶＣのＡＴＭセルが連続して衝突しない最大幅の中央に前記第２のＶＣのセルを配置するようにしている。したがって、前記第１、第２のＶＣのＡＴＭセル間隔を大きく取ることが可能になる。
【００５２】
また、図２に示すＡＴＭセル送信スケジューリング方法を実行させるためのプログラムは、磁気ディスク、ＣＤ−ＲＯＭ、半導体メモリ（例えばＳＲＡＭ、フラッシュメモリ）等のコンピュータ読み取り可能な記録媒体に記録しておけば、コンピュータ、ルータ装置等の各種ＡＴＭ装置に該機能を実行させることが可能になる。
【００５３】
尚、本実施の形態においては、ＡＴＭセルが衝突しない位置を検出できない場合、前記検査間隔を所定量ずつ減少させた後にあらためて衝突しない位置を検出するようにしたが、前記第２のＶＣのＡＴＭセルを、前記検査テーブルに固定的に定めた所定量（例えば１bit）ずつローテーションさせながら配置することにより、前記第１のＶＣのＡＴＭセルと衝突しないセル位置を検出するように構成してもよい。これにより、ＡＴＭセルが衝突しない位置を高精度に検出することが可能になる。
【００５４】
【発明の効果】
本発明によれば、ＡＴＭセルに揺らぎが発生することを防止して遅延のないデータ通信を可能にすることが可能になる。
【００５５】
また、受信側でのオーバーランやアンダーランの発生を防止することが可能になる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るＡＴＭ装置を使用したシステム構成図である。
【図２】本発明の実施の形態に係るＡＴＭ装置の処理を示すフローチャートである。
【図３】本発明の実施の形態におけるＡＴＭセル配置を示す図である。
【図４】本発明の実施の形態におけるＡＴＭセル配置を示す図である。
【図５】本発明の実施の形態におけるＡＴＭセル配置を示す図である。
【図６】本発明の実施の形態におけるＡＴＭセル配置を示すタイミング図である。
【図７】本発明の実施の形態におけるＡＴＭセル送信タイミングを示す図である。
【図８】従来のＡＴＭ装置におけるＡＴＭセル送信タイミングを示す図である。
【図９】従来のＡＴＭ装置におけるＡＴＭセル送信タイミングを示す図である。
【符号の説明】
１００・・・ＡＴＭ装置
１０１・・・スケジューリング手段としてのセル送信スケジューラ
１０２・・・ＣＥＳインタフェース
１０３・・・ＬＡＮインタフェース
１０４・・・ＡＴＭインタフェース
１０５・・・ＰＢＸ
１０６・・・専用線ルータ
１０７・・・ＦＲルータ
１０８・・・ＬＡＮ
１０９・・・ＶＯＩＰ装置
１１０・・・ＡＴＭ回線
【図１】
0003875464.tif 000002
【図２】
0003875464.tif 000003
【図３】
0003875464.tif 000004
【図４】
0003875464.tif 000005
【図５】
0003875464.tif 000006
【図６】
0003875464.tif 000007
【図７】
0003875464.tif 000008
【図８】
0003875464.tif 000009
【図９】
0003875464.tif 000010