(57)【特許請求の範囲】
【請求項１】
非同期転送モード（ＡＴＭ）装置のデジタル信号プロセッサ（ＤＳＰ）部とホストプロセッサから受信したパケット化データを送信するための送信装置において、
前記ＤＳＰ部から取り出した、物理的な電話線識別子を有する音声パケットを受信するための入力点を備えた第１の直接メモリアクセスユニットと、
前記ホストプロセッサから送信チャンネル識別子を有するシグナリング管理パケットを受信するための入力点を備えた第２の直接メモリアクセスユニットとを有する送信装置。
【請求項２】
非同期転送モード（ＡＴＭ）装置のデジタル信号プロセッサ（ＤＳＰ）部とホストプロセッサから受信したパケット化データを送信するため送信方法において、
前記ＤＳＰ部によりサポートされた発信音声チャンネルに対応する物理的電話線識別子を有する音声パケットを前記ＤＳＰ部から取り出し、
識別された送信チャンネルに関連する送信バッファに対して前記音声パケットを送り、
送信チャンネル識別子を有するシグナリング管理パケットを前記ホストプロセッサから取り出し、
識別した送信チャンネルに関連する送信バッファに対し前記シグナリング管理パケットを送る、送信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的には、データ及び電気通信の分野に関し、特に、非同期転送モードアダプテーションレイヤ送信アーキテクチャに関する。
【０００２】
【従来の技術】
コンピュータシステム間の通信及び資源の共有を改善するために、ネットワーク通信プロトコルを備えたデータ通信ネットワークが導入された。通信ネットワークは、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）であってもよく、または両方のＬＡＮとＷＡＮの特性を有してもよい。通信ネットワークの物理的伝送媒体は、銅線、光ファイバ、または同軸ケーブルのようなワイア型のネットワーク、あるいは、無線、赤外線、またはマイクロ波のような無線型のネットワークであってもいい。
【０００３】
コンピュータシステムは、より多くのグラフィック画像を利用し始め、ビデオ会議が更に望ましくなるに従って、ビデオデータの通信は、両方のＬＡＮとＷＡＮに亘り重要になっている。エンドユーザ間のビデオ通信のための別々の手段は今までに開発し得たであろうが、ビデオデータ、オーディオデータ、及びデジタルデータをＬＡＮとＷＡＮを介して同時に送信することが望ましい。
【０００４】
１９９０年代の通信分野において、最も期待され現在最も急速に成長しているテクノロジは、恐らく、非同期転送モード（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ：ＡＴＭ）テクノロジとして知られているであろう。ＡＴＭは、ローカルエリアネットワーク（ＬＡＮ）と広域ネットワーク（ＷＡＮ）の性能限界を除去する機構を提供すると共に、ギガビット/秒のオーダの速度でデータ転送を行っている。ＬＡＮとＷＡＮの可変長パケットは、比較的短い一定長さのパケットであるＡＴＭセルと置き換えられつつある。ＡＴＭセルは、単一のバックボーンのネットワークを介して音声、ビデオ及びデータを運ぶことができるので、ＡＴＭテクノロジは、高速の端末対端末通信トラフィック用の一体の機構を提供する。
【０００５】
実際、ＡＴＭテクノロジは、ＡＴＭアダプテーションレイヤ（ＡＡＬ）標準仕様ＡＡＬ１（回路エミュレーション、すなわち、音声用）、ＡＡＬ２（ＡＴＭによる音声）及び仕様ＡＡＬ５（ＬＡＮトラフィックのようなパケット化したデータ用）に従って主としてデータを送るために現在使用されている。
【０００６】
ＡＴＭは、任意のユーザ対ネットワークインターフェース（Ｕｓｅｒ  ｔｏ  Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ：ＵＮＩ）でユーザトラフィックを運ぶため、及び多重メガビットデータレートの高速装置間のマルチメディアネットワーキングを容易にするためにＩＴＵ及びアメリカンナショナルインスティチュート（ＡＮＳＩ）により定義された通信概念として発生した。ＡＴＭは高速で音声、ビデオ、データを含むネットワークトラフィックを転送するための方法である。交換装置の周りに集中されたこの接続型交換ネットワーキングテクノロジを使用して、多数の仮想回路は、同一の物理的回路を介して多くのアプリケーションによりサポートすることができる。この交換テクノロジにより、帯域幅は、各アプリケーション毎に専用とすることができ、インサーネット、トークンリング及びファイバ分配データインターフェース（Ｆｉｂｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ：ＦＤＤＩ）のような共有媒体ネットワーキングテクノロジに存在する問題を克服する。ＡＴＭにより、異なる種類の物理レイヤテクノロジは、同一のより高いレイヤ、すなわち、ＡＴＭレイヤを共有することができる。
【０００７】
ＡＴＭは、非常に短い一定長のセルと呼ばれるパケットを使用する。各セルのヘッダと呼ばれる最初の５バイトは、セルをその行き先に送るに必要な情報を含んでいる。この各セルのヘッダは、ネットワークに対し、輻輳制御機構及びトラフィック管理機構を実装する能力を与えもする。セル交換が可変長のパケット交換よりも複雑さの度合いが少なく、多くのセルのためハードウエアで並列に達成することができるので、その一定長のセルで、交換遅延は、より小さなより予測可能なものとなる。このセルのフォーマットにより、多重プロトコル伝送が可能にもなる。ＡＴＭはプロトコルトランスペアレントであるので、種々のプロトコルは同時に送ることができる。ＡＴＭの場合、電話、ファックス、ビデオ、データおよび他の情報は、同時に送ることができる。
【０００８】
ＡＴＭは、接続型輸送サービスである。ＡＴＭネットワークにアクセスするために、ステーションは、ＡＴＭ交換機に対するシグナリングプロトコルを使用して、ステーション自体と他のエンドステーションとの間に仮想回路を要求する。ＡＴＭは、同一ネットワークの一部として管理されるＡＴＭ交換機とＡＴＭユーザとをインタコネクトするために一般的に使用されるユーザネットワークインターフェース（ＵＮＩ）を提供する。
【０００９】
与えられたＡＴＭネットワークを介して、１つのエンド装置から他のエンド装置への通信は、仮想接続をなし得る１個以上の論理通路を有するであろう。１つのエンド装置から他のエンド装置への有り得る通路は、仮想通路（ＶＰ）と呼ばれている。各仮想通路は、仮想チャンネル（ＶＣ）と呼ばれる１個以上の通信論理チャンネルを有してもよい。仮想チャンネルが活動状態の時、この仮想チャンネルは、しばしば仮想接続と呼ばれている。各ＶＣは、仮想チャンネル識別子（ＶＣＩ）と呼ばれる関連識別番号を有している。各ＶＰは、仮想通路識別子（ＶＰＩ）と呼ばれる関連識別番号を有している。
【００１０】
ＡＴＭネットワークは、非同期時分割多重化方式の形であるセル交換を使用して通信を行う。ＡＴＭで使用されるセルは、可変長のデータパケットを使用するパケット交換とは対照的に、一定長さのものである。
【００１１】
ＡＴＭネットワークアーキテクチャは、ＯＳＩ基準モデルに基づく独立の通信レイヤで一般的には組織化されている。簡述すれば、通信レイヤで行われる種々の機能の一部を記載する。物理レイヤは、通信インターフェースへの適用が生じる物理媒体及び通信集中度を特定する。物理媒体は、この物理媒体で使用されるコネクタ、ケーブル布線、インピーダンス及びプロトコルの種類について要求されるビットタイミングを考慮する。ＡＴＭレイヤにおいては、一般的なフロー制御が考慮され、セルのヘッダは発生または除去され、それぞれの次のレイヤに送られる。ＶＰＩ/ＶＣＩアドレスは解析されまたは変換されてもよく、ＡＴＭセルは、場合により多重化され、分離される。ＡＴＭアダプテーションレイヤにおいては、分割及び再組み立てサブレイヤ（ＳＡＲ）が存在する。ＳＡＲサブレイヤは、プロトコルデータユニット（ＰＤＵ）のＡＴＭセルへの分割を行い、または、ＡＴＭセルを、より高位のレイヤへ送られるＰＤＵに組み立てる。
【００１２】
ＡＴＭテクノロジは、このパケットをベースにした試みにより提供される融通性及び回復性のために、インターネットと一般に呼ばれる世界に亘る公的な媒体を介するコンピュータ間通信に特によく適合している。遠隔の、家庭の、または小事務所のワークステーションをインターネットに現在結合できる比較的最近のテクノロジは、当業界においてデジタル加入者ループ（「ＤＳＬ」）と呼ばれる。ＤＳＬは、一般的には、有限の距離において、従来の電話会社の銅配線を介して現在の音声媒体のデータ速度よりもはるかに大きい比較的高帯域幅を送る公的なネットワークテクノロジに関するものである。それとして、ＤＳＬ変調器/復調器（「モデム」）は、現在従来技術による約５００Ｋｂｐｓから１８Ｍｂｐｓあるいはこれ以上に亘るＤＳＬモデムにより提供されるデータレートで、インターネットへのＡＴＭ通信及びこのインターネットからのＡＴＭ通信のワークステーション及びパーソナルコンピュータによる実行に現在利用可能である。
【００１３】
【発明が解決しようとする課題】
複数の通信チャンネルを備えたＡＴＭネットワークにおいて、トラフィック制御を実施するために要求される装置は、かなり複雑である。強引な方法を利用して所望の複雑なタスクの一部を達成することは可能ではあるが、これらの解決方法は、特に小規模の事務所/家庭事務所（ＳＯＨＯ）の用途のために実現するにはしばしばコストが掛り過ぎ、及び（または）不十分である。従って、ＳＯＨＯ
ＡＴＭの解決法を実施するすばらしい技術が必要とされている。
【００１４】
【課題を解決するための手段】
本発明は、デジタル信号処理装置（ＤＳＰ）部及びホストプロセッサを備えたＡＴＭ内のＡＴＭアダプテーションレイヤ（ＡＡＬ）で形成された接続で、非同期転送モード（ＡＴＭ）データセルを送信するための装置及び方法としての技術的利点を達成する。送信機は、（デジタル化した音声サンプルを音声信号に変換する）ＤＳＰ部及び（ＡＡＬ２シグナリング機能及びレイヤ管理機能を実行する）ホストプロセッサと直接インターフェースされている。送信機は、ハードウエアで実現し、シリコンチップに集積することができる。送信機は、ＡＴＭ接続でＤＳＰ部からのＡＡＬ２音声パケットとホストプロセッサからシグナリングパケット及び管理パケットをインターリーブするよう形成されている。
本発明の更に完全な理解のため、添付図面と共に次の詳細な記載を参照する。
【００１５】
【実施例】
本発明の数多くの革新的な教示を、現在の好適な実施例に特に関して記載する。しかし、このクラスの実施例は、本明細書では、多くの好都合な使用例及び革新的な教示内容のわずか数例を提供するだけであると理解されたい。一般に本願明細書でなされた説明は、種々の請求した発明のいずれをも明確にその境界を定めるものではない。更に、一部の記載は、一部の発明の特徴に適合するが他の物には適合しないかもしれない。
【００１６】
次に図１には、本発明の一実施例による例示的な非同期転送モード（ＡＴＭ）ｘＤＳＬルータ/ゲートウエイ１００のブロック線図が示してある。ｘＤＳＬルータ/ゲートウエイ１００は、周辺の、またはチップのインタコネクトを介して全てインタコネクトされた、ＬＡＮインターフェース１８２（イーサネット（登録商標）、ＨＰＮＡ、無線イーサネット（登録商標）など）、各電話線用の別個のコーディック１６５及び関連するＤＳＰ１６０を一般的に備えた電話線インタコネクト、（ＭＩＰＳ型プロセッサのような）ホストプロセッサまたはネットワークプロセッサ１９０、及びＡＴＭモジュール１０１を有している。ＤＳＰ１６０は、多重電話線をサポートすることができる。ＡＴＭモジュール１０１は、更に、（一般的にＤＳＰ１７０とコーディック１７５を備えた）ｘＤＳＬモデムに結合され、そして、ＡＴＭ２５ＬＡＮ１８０に結合することができる。ｘＤＳＬモデムへの結合は、ＰＣＩ、ＨＰＩ、ＸＢＵＳまたはＵＴＯＰＩＡのようなインターフェースを介して行われる。ＡＴＭ２５ＬＡＮへのインターフェースは、ＵＴＯＰＩＡを介して行われる。ＡＴＭモジュール１０１は、ホストプロセッサ１９０、ＤＳＰ及び周辺装置またはスタンドアロン型チップとしてのＬＡＮインターフェース（イーサネット（登録商標）ＭＡＣなど）と集積化することができる。
【００１７】
周辺インタコネクトまたはチップのインタコネクトにより、外部のまたは埋め込み式のホストプロセッサ１９０は、ｘＤＳＬルータ/ゲートウエイ１００にアクセスすることができる。従って、ホストプロセッサ１９０は、開始時にルータ/ゲートウエイ１００を初期化及び設定することができ（例えば、機能を遂行可能にし、ＤＭＡをバッファポインタなどで初期化することができる）、実行時間中、ルータ/ゲートウエイ１００へのアクセスを行うことができる。（実行時間のタスクの内容は、ＡＴＭ接続を設定及び壊したり、送信のためパケットを待ち行列に配置したり、バッファをＤＭＡに返したり、完了リング〈ｃｏｍｐｌｅｔｉｏｎｒｉｎｇ〉を処理したりすることなどを含むことができる。）ＡＴＭモジュールを含むｘＤＳＬルータ/ゲートウエイ１００の集積化のため、周辺のインタコネクトは、なるべくＶＢＵＳであることが好ましい。ＶＢＵＳは、中央資源として配置のマスタ/スレーブ装置を備えたテキサスインスツルメンツの特許品である共有バスシステムであってそのマスタ/スレーブは、インタコネクトのため中央資源を介して「要請」及び「認可」を使用する。しかし、このインターフェースは、独立型のモジュールアプリケーション用の標準インターフェース（例えば、ＰＣＩ）または一般的にではあるが特許品の（ｐｒｏｐｒｉｅｔａｒｙ）インターフェース（例えば、ＨＰＩまたはＸＢＵＳ）とすることができる。
【００１８】
次に図２を参照すると、本発明の一実施例による例示的なＡＴＭモジュール１０１のブロック線図が示してある。このＡＴＭモジュール１０１は、全ての内部モジュールがインターフェースで接続する共有バスタイプの配置の形をしたモジュールインタコネクトを有している。内部モジュールは、主処理モジュールすなわちＡＴＭプロセッサ１２０、ＵＴＯＰＩＡ  Ｌ２モジュール１０８、セルＤＭＡ  Ｉ/Ｆ１０６、セルバッファモジュール１０４、ＡＡＬ２モジュール１０２、ＡＡＬ５モジュール１０５、状態ＲＡＭとデータメモリを備えたＬＡＭモジュール１１２を有している。ＡＴＭプロセッサ１２０は、周辺のインタコネクト上の全ての他のモジュールに対するマスタである。ＡＴＭモジュール１０１がスタンドアロン型のチップとして接続されると、チップ/周辺インタコネクトモジュール１４０は、ホストプロセッサ装置に結合されるように設けることができる。更に、インターフェースモジュール、すなわち、ＨＰＩ/ＸＢＵＳ/ＰＣＩモジュールは、セルＤＭＡ/ＩＦ１０６との外部インターフェースとして必要とされよう。
【００１９】
ＡＡＬ２  ＳＡＲ１０２またはモジュールは、当業者に公知のＩＴＵ−Ｔ３６３．２の規格に記載された機能を発揮する。その記載は、ここに援用する。ＡＡＬ２  ＳＡＲ１０２により、関連する常駐（ｒｅｓｉｄｅｎｔｉａｌ）ルータ/ゲートウエイがＡＴＭを介して音声をサポートすることができる。
【００２０】
ＡＡＬ５  ＳＡＲまたはモジュール１０５は、ＩＴＵ−Ｔ３６３．５の規格に記載された機能を発揮する。ＡＡＬ２とＡＡＬ５の仕様（ＩＴＵ−Ｔ３６３．２とＩＴＵ−Ｔ３６３．５）は、その全部を本明細書に援用する。ＡＡＬ５  ＳＡＲ１０５により、常駐ルータ/ゲートウエイは、ＩＰデータグラムでカプセル化されたデータ、ボイスオヴァＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）及びビデオをサポートすることができる。更に、ＡＡＬ５  ＳＡＲ１０５は、ＡＡＬ５及びＯＡＭのトラフィックタイプを設定することができる３２個の全二重接続部までサポートすることが好ましい（しかし、数千の接続部に合わせることができる）。なお、ＡＴＭモジュール１０１は、ユーザがＡＴＭプロセッサ１２０のＯＡＭ処理をオフにすることができ、それにより、ＡＡＬ５モジュール１０５がＯＡＭセルのネットワークまたはホストプロセッサ１９０（図１）への輸送を容易にできるように構成されている。
【００２１】
ＡＡＬ２モジュール１０２は、送信時にシグナリングパケット及びレイヤ管理/パケットがセル/データストリームに挿入でき、受信時にシグナリングパケット及びレイヤ管理パケットがセル/データストリームから抽出できるように構成されている。この革新により、専用のＤＭＡはＤＳＰ及びホストプロセッサ１９０と直接インターフェースで接続を行うことができる。従って、音声パケットは、ＤＳＰから取り出されたり/ＤＳＰへ送られたりし、一方、シグナリングパケット及びレイヤ管理/パケットは、ホストプロセッサ１９０から取り出されたり、ホストプロセッサ１９０へ送られたりする。ＡＡＬ２処理用のホストプロセッサ（例えば、Ｔｅｌｏｇｙ‘ｓ  Ｇｏｌｄｅｎ  Ｇａｔｅｗａｙのオリジナル・ソリューション）を利用するシステムに関する利益は、音声パケットの場合、待ち時間が最小になるということである。これは、ホストプロセッサが迂回されるからであり、システム性能は、音声パケットがシステムバスを介して再現されないので増大する。
【００２２】
（優先待ち行列を有する）セルバッファ１０４は、特定の交換用途のためＡＴＭセルをバッファリングするようＡＴＭプロセッサ１２０により使用される。セルのバッファリングの必要性は、例えば、ＡＴＭプロセッサ１２０が高速ポート（例えば、ＡＴＭ−２５）から低速ポート（例えば、ｘＤＳＬ）へセルを切り替えなければならない時に生じる。例えば、ＶＢクロスコネクト用途の場合に、ｘＤＳＬルータ/ゲートウエイ１００は、ＡＴＭセルをセルＤＭＡ  Ｉ/Ｆ１０６のポートの１つに送る前に、ＵＴＯＰＩＡ１０８インターフェースからのＡＴＭセルのバーストをバッファリングすることができる。ＡＴＭセルは、セルバッファ１０４を介してチップ（例えば、ＳＤＲＡＭ）からバッファリングすることもできる。セルバッファ１０４は、なるべくハードウエアで実現することが好ましい。
【００２３】
セルバッファ１０４は、セルＤＭＡ  Ｉ/Ｆ１０６のｘＤＳＬポートあたり多くの待ち行列をサポートすることができる。なるべく、システムは少なくとも２つのＡＤＳＬポート、すなわち、迅速通路とインターリーブした通路とをサポートすることが好ましい。セルＤＭＡ  Ｉ/Ｆ１０６は、基本的には広帯域ポートである。セルバッファ１０４の全ての待ち行列は、独立している。待ち行列を如何に使用するかを決定するのは、ファームウエアの負荷である。これにより、ＡＴＭモジュール１０１は、ＶＰクロスコネクト（すなわち、例えば、ＡＴＭ２５対ｘＤＳＬ及びこの逆）の優先順位待ち行列をサポートすることができる。セルバッファ１０４は、サポートされた待ち行列の数、各待ち行列の大きさ及び各待ち行列へのポインタで開始時にホストプロセッサ１９０により設定される。更に、セルバッファ１０４は、ポインタ操作を行うために、インテリジェンスで操作可能に設定される。
【００２４】
ＵＴＯＰＩＡレベル２モジュール１０８は、ＡＴＭ−２５ネットワーク（ポートはＬＡＮポートとなる）に対し、インターフェースすることができるか、またはｘＤＳＬ  ＰＨＹ（ポートはＷＡＮポートとなる）に対し、インターフェースすることができる。ＵＴＯＰＩＡレベル２モジュール１０８がＬＡＮポートである場合、セルＤＭＡ  Ｉ/Ｆモジュール１０６は、ｘＤＳＬ  ＰＨＹに対しインターフェースし、従って、ＷＡＮポートになる。
ＡＴＭプロセッサ１２０は、ＶＰクロスコネクト（すなわち、切り替え）、サービス品質（ＱｏＳ）及び動作とメインテナンス（ＯＡＭ）の処理を可能にするように構成されている。ＡＴＭプロセッサ１２０の重要な責任は、ＡＴＭセルをＡＴＭ機能部/ポートから取り出したり、ＡＴＭセルをＡＴＭ機能部/ポートへ送ったりすることである。
【００２５】
ＡＴＭモジュール１０１によりサポートされる少なくとも２つの種類のトラフィックのフローが存在する、すなわち、ＶＣ終端接続及びＶＰ終端接続である。ＶＣ終端接続のトラフィックの流れは、ＡＡＬ５  １０５またはＡＡＬ２モジュール１０２がその２つのポートの一方を構成し、ＤＳＰまたはホストプロセッサで終端される。ＶＰの終端接続の一例は、２つのポート間でセルが切り替えられる時である（例えば、ｘＤＳＬポートへのＡＴＭ２５）。
【００２６】
ＵＴＯＰＩＡポートの１つで送信されるＡＴＭセルは、ＡＴＭプロセッサ１２０によってＵＴＯＰＩＡモジュール１０８に送られる。同様に、ＵＴＯＰＩＡポートの１つで受信されたＡＴＭセルは、ＡＴＭプロセッサ１２０によって取り出される。ＵＴＯＰＩＡモジュール１０８は、好ましくは４個までのＰＨＹ（すなわち、ポート）をサポートするが、３２個のＰＨＹをサポートするように設定することができる外部ＵＴＯＰＩＡレベル２を提供する。モジュール１０８は、ＡＴＭプロセッサ１２０に対しメモリバススレーブインターフェースを介してインターフェースする。
【００２７】
ＡＴＭプロセッサ１２０は、ＰＨＹポートの１つで送信する必要のあるセルを有する時はいつも、そのセルを適当なセルＦＩＦＯ内に書き込む（入力ポート及び出力ポートは、セルＦＩＦＯに接続している）。送信時に、管理装置（ＵＬ２マスタ）は、セルＦＩＦＯのポーリングを可能にしてＡＴＭセル全体をチェックすることができるように構成されている。もしＡＴＭセル全体が利用できる場合、ＡＴＭセルは送信される。
【００２８】
受信時に、ＵＬ２マスタは、ＡＴＭセルをＵＴＯＰＩＡアドレス線に基づいてセルＦＩＦＯへ書き込む。ＡＴＭセル全体が受信されると、ＵＴＯＰＩＡモジュール１０８は、ＡＴＭプロセッサ１２０に対して受信セルＦＩＦＯを処理する必要があるということを知らせる。ＡＴＭプロセッサ１２０は、ＵＴＯＰＩＡモジュール１０８からＡＴＭセルを取り出し、このセルをＡＴＭヘッダ情報に従ってその行き先ポートへ送る。
【００２９】
ＷＡＮアップリンク（すなわち、ＡＤＳＬモデム）で送信されるべきＡＴＭセルは、ＡＴＭプロセッサ１２０によってＤＳＬまたはセルＤＭＡ  Ｉ/Ｆモジュール１０６に送られる。同様に、ＷＡＮアップリンク（すなわち、ｘＤＳＬ  ＰＨＹ）から受信されたＡＴＭセルは、ＡＴＭプロセッサ１２０によって取り出されて、その行き先ポートへ送られる。
【００３０】
セルＤＭＡ  Ｉ/Ｆモジュール１０６は、メモリバススレーブインターフェースを介してＡＴＭプロセッサ１２０に、ＸＢＵＳ、ＰＨＩまたはＰＣＩを介してＡＤＳＬモデムへインターフェースしている。セルＤＭＡ  Ｉ/Ｆモジュール１０６は、２つのポート（ポートＡとポートＢ）をサポートすることが好ましい。ＡＴＭセルをポート（例えば、ＵＴＯＰＩＡレベル２ポート１０８、セルＩ/Ｆポート１０６など）から取り出したりＡＴＭセルをこのポートへ送るためにＡＴＭプロセッサと共に機能（例えば、ＡＡＬ２  ＳＡＲ１０２、ＡＡＬ５  ＳＡＲ１０５、セルバッファ１０４など）を利用するＡＴＭモジュール１０１の新規な態様は、機能/特徴の豊富なＡＴＭソリューションと高められたシステム性能を考慮しホストプロセッサに関するオーバーヘッドを減少している。前述のように、これらの機能には、ＡＴＭ交換、サービス品質（ＱｏＳ）及び動作と保全（Ｏｐｅｒａｔｉｏｎ  ａｎｄ  Ｍａｉｎｔｅｎａｎｃｅ）（ＯＡＭ）処理を含むことができる。
【００３１】
上記の機能は、ＡＴＭプロセッサ１２０で動作するファームウエアで実行することができる。これらの機能及び任意の他の考えられる機能は、容易に実行される。それは、ＡＴＭプロセッサ１２０が送信または受信されたどのＡＴＭセルにも「タッチする（ｔｏｕｃｈｅｓ）」からである。これらの機能は、ファームウエアで実行できるので、ネットワークまたはホストプロセッサ１９０を動作する専用のハードウエア及び（または）ソフトウエアの必要はなくなる。
【００３２】
ＡＴＭモジュール１０１は、ＶＣ終端接続のためにＱｏＳをサポートするばかりでなく、ＶＰ終端接続（すなわち、ＶＰクロスコネクトまたは切り替えを行うための接続設定）のためＱｏＳをサポートすることができる。ＶＰ終端接続のＱｏＳまたはトラフィック整形（ｔｒａｆｆｉｃ  ｓｈａｐｉｎｇ）は、交換機能と共にセルバッファ１０４の使用により達成される。例えば、セルバッファ１０４は、各ポートごとにかなりの数の優先待ち行列をサポートすることができる。ＡＴＭ１２０は、行き先ポートとＡＴＭセルの優先順位を決定してそれをセルバッファ１０４に送る。優先待ち行列は、ＡＴＭプロセッサ１２０によりスケジュール化される。優先順位待ち行列のクレジットが満期になる時はいつも（ｗｈｅｎｅｖｅｒ  ａ  ｃｒｅｄｉｔ  ｍａｔｕｒｅｓ  ｆｏｒ  ａ  ｐｒｉｏｒｉｔｙ  ｑｕｅｕｅ）、ＡＴＭプロセッサ１２０は、セルバッファ１０４の特定の待ち行列からＡＴＭセルを取り出してそれを出口ポートへ送る。
【００３３】
システム性能の更なる改善及びホストプロセッサ１９０に関するオーバーヘッドの減少は、ＡＡＬ５のためのＣＲＣ−３２の計算、ＯＡＭセルのためのＣＲＣ−１０の計算、ＡＴＭヘッダ用のＨＥＣの計算、ＡＡＬ２  ＰＤＵのためのパリティの計算、及びＡＡＬ２  ＣＰＳパケットヘッダ用のＣＲＣ−５の計算のようなハードウエアのホストプロセッサ１９０により一般的には行なわれる、ソフトウエアの集中タスクを行う本発明のアーキテクチャにより達成される。
【００３４】
ＡＴＭプロセッサ
融通性のあるＡＴＭプロセッサ１２０のアーキテクチャにより、交換、ＱｏＳ及びＯＡＭの各機能は、チップ数の少ない（ｌｏｗ−ｃｈｉｐ  ｃｏｕｎｔ）、単一モジュールにより行うことができる。伝統的に、これらの機能は、各特定の機能（すなわち、交換及びサービス品質）ごとに、またはホストプロセッサ１９０で動作するソフトウエア（すなわち、動作及び保全（ＯＡＭ））のための専用ハードウエアにより行われてきた。
【００３５】
次に図３を参照すると、本発明の一実施例による例示的なＡＴＭプロセッサ１２０のブロック線図が示してある。ＡＴＭプロセッサ１２０のアーキテクチャには、次の機能ブロックが含まれる、すなわち、パックデータ構造プロセッサ（Ｐａｃｋｅｄ  Ｄａｔａ  Ｓｔｒｕｃｔｕｒｅ  Ｐｒｏｃｅｓｓｏｒ）（ＰＤＳＰ））１１４、プログラムメモリ１１０、Ｔｘスケジューラ１１８、ＶＰＬ/ＶＣＩルックアップテーブル（ＬＵＴ）１２２、ＳＡＲ/ＱｏＳ  ＲＡＭ１１２及びレジスタブロック１１６。
【００３６】
ＰＤＳＰ１１４には、２つの周辺インターフェース（その両方は、ＶＢＵＳインターフェースである）、すなわち、メモリバス及びレジスタバスが関連している。ＰＤＳＰ１１４は、基本的には、パックデータ構造を効率的に処理するための単一サイクルのブランチを実行できるＲＩＳＣの中心部である。Ｔｘスケジューラ１１８、ＬＵＴ１２２、及びレジスタブロック１１６は、ＰＤＳＰ１１４のレジスタバスに配置され、ＰＤＳＰ１１４は、唯一のマスタである。ＡＴＭプロセッサ１２０は、ＰＤＳＰ１１４を介して、例えばＶＢＵＳに接続されている。ＡＴＭプロセッサ１２０は、このＶＢＵＳ上における唯一のマスタである。ＶＢＵＳのスレーブは、システムの出口ポート及び入り口ポート、及びＡＴＭ機能（例えば、ＡＡＬ５  ＳＡＲ１０５、セルバッファ１０４など）である。全てのスレーブ機能は、ＶＢＵＳにＦＩＦＯを介してインターフェースされ、各ＦＩＦＯの占有状態は、ＰＤＳＰ１１４に関連した状態レジスタに接続されている。システムの機能モジュールの残りは、ＰＤＳＰ１１４のメモリバスに存在する。レジスタバス及びメモリバスは、ＰＤＳＰ１１４の２つの別々のＶＢＵＳインターフェースであることが好ましく、従って、これら２つのバスは、２つの独立のメモリマップを有している。
【００３７】
ＰＤＳＰ１１４は、ＡＴＭプロセッサ１２０の「頭脳」要素または処理要素であって、プログラムメモリ１１０からのファームウエアを実行する。ホストプロセッサ１９０（図１）は、開始時に命令ＲＡＭ１１０にホストインターフェーススレーブ（Ｓ）を介してファームウエアをロードする。コードロードに依存して、アーキテクチャのプログラム可能要素を使用することにより、システムは、個々の顧客に合わせて作ることができる。例えば、特定のコードロードは、ＶＰクロスコネクト（すなわち、交換）、ＱｏＳ及びＯＡＭ処理を可能にすることができる。ファームウエアでサポートされたアルゴリズムと機能には、ＱｏＳ、ＩＴＵ−Ｔｉ．６１０、及びＡＴＭ交換を含むことができる。
【００３８】
次に図８を参照すると、本発明の実施例によるＰＤＳＰ１１４とその種々のインターフェースのブロック線図が示してある。プログラムメモリインターフェース８０５は、ＰＤＳＰ１１４により使用されてプログラムメモリから命令を取り出す。レジスタスレーブＶＢＵＳ  Ｉ/Ｆ８１０は、ＰＤＳＰ１１４により使用されてＴｘスケジューラ１１８、ＬＵＴ１１２、レジスタブロック１１６をアクセスする。メモリＩ/Ｆ８１５は、ＰＤＳＰ１１４により使用されてデータポート、及び接続状態ＲＡＭ並びにＳＡＲ/ＱｏＳ  ＲＡＭ１１２のデータメモリに関連したセルＦＩＦＯをアクセスする。ＳＡＲ/ＱｏＳ状態Ｉ/Ｆ８２０により、ＰＤＳＰ１１４は、なんらかのＰＤＳＰ処理８３０をトリガすることができるイベントのラウンドロビンポーリング（ｒｏｕｎｄ−ｒｏｂｉｎ  ｐｏｌｌｉｎｇ）を実行することができる。ＰＤＳＰ処理８３０は、送信データ及び受信データの処理、ＯＡＭ、ＱｏＳ及び接続の各設定を含むことができる。
【００３９】
次に図３をまた見るに、レジスタブロック１１６は、２つのＶＢＵＳスレーブインターフェースを有している。ホストプロセッサ１９０とＰＤＳＰ１１４の両方は、それぞれのＶＢＵＳインターフェースを介して、形成及び状態について内部レジスタにアクセスすることができる。ＰＤＳＰ１１４が設定形状情報を読み取る前に、ホストプロセッサがこの情報に上書きするのを防止する論理がレジスタブロック１１６に設けられている。レジスタブロック１１６は、共に連結されて、ＰＤＳＰ１１４にバスで送られる種々のモジュールからの状態ビットを集めるに便利な場所を提供もする。ホストプロセッサからＰＤＳＰ命令ＲＡＭ１１０へのインターフェースは、（ＣＲＣの結果などのような）命令ＲＡＭの設定及び状態のためにも設けられている。
【００４０】
レジスタブロック１１６は、ホストプロセッサ１９０によりホストインターフェーススレーブ（Ｓ）を介して使用されて、例えば、接続の設定及び取り消しの通知及びＯＡＭ設定を通信する。ホストプロセッサ１９０は、ＡＴＭ状態情報を獲得することもできる。ホストプロセッサは、ＡＴＭモジュール１０１を設定し、統計を得、及びバスアクセスによりＰＤＳＰ１１４に対し命令を発することができる。
ＳＡＲ/ＱｏＳ  ＲＡＭ１１２は、接続状態ＲＡＭとＰＤＳＰデータメモリを有している。データメモリは、ＰＤＳＰ１１４によりスクラッチパッドとして使用されるが、接続状態ＲＡＭは、トラフィックの種類（すなわち、ＡＡＬ５、ＡＡＬ２、またはＶＰクロスコネクト）、送信源及び行き先ポート並びにトラフィック契約に関する情報のような接続についての情報を有している。（ＰＤＳＰ１１４は、ＱｏＳを行うためにそのトラフィック契約情報を使用する。）
【００４１】
接続状態ＲＡＭにより、ホストプロセッサ１９０は、ホストインターフェーススレーブ（Ｓ）を介して、ｘＤＳＬルータ/ゲートウエイ１００内の各接続を設定することができる。ホストプロセッサは、接続設定の通知前に接続状態ＲＡＭに接続パラメータを設定する。この設定には、行き先及び送信源ポート（すなわち、これらのポート間でＡＴＭセルは、切り替えられる）、ＶＰ変換情報、サービス品質パラメータ（Ｔｘスケジューラ１１８をプログラムするために使用されるセルレート）、ＯＡＭ設定パラメータが含まれる。これらのパラメータは、交換、ＱｏＳ及びＯＡＭの機能を果す時にＰＤＳＰ１１４により使用される。
【００４２】
Ｔｘスケジューラ１１８は、専用のハードウエアをＡＴＭセル伝送のスケジュール化のために提供する。Ｔｘスケジューラ１１８は、スレーブインターフェースを介してＰＤＳＰ１１４のレジスタバスでＰＤＳＰ１１４にインターフェースする。ＰＤＳＰ１１４は、書き込みスケジューラ命令レジスタによりスケジューラハードウエアの制御全体を行い、ＰＤＳＰ１１４は、ＶＢＵＳ読み取り可能出力レジスタを介する全てのスケジューラの結果及びＰＤＳＰ状態レジスタに関係づけられた状態ビットの直接受信者である。Ｔｘスケジューラハードウエアは、高データレートのＡＴＭチャンネルに対し、低レベルスケジュール化動作を行う重計算負荷からＰＤＳＰ１１４を開放する。
【００４３】
任意の与えられた時に、スケジューラハードウエアは、最大６３個の活動チャンネルを取り扱うことができる。各チャンネルごとに、ＰＤＳＰ１１４は、スケジューラ１１８に対してチャンネル番号とこのチャンネル番号に対する所望のセル伝送レートを与えることによって、ＤＭＡチャンネルのための一連のセルの送信を開始する。ＰＤＳＰ１１４は、スケジューラ１１８に対してそのチャンネル番号を停止するよう命令することによって、そのチャンネルに対する送信の流れを停止する。チャンネルが（開始動作及び停止動作の間において）スケジューラ１１８で活動状態中、スケジューラ１１８は、セルが、表示されたチャンネル番号に対して今送信されるべきであるということをＰＤＳＰ１１４に示す「チャンネル満期（ｃｈａｎｎｅｌ  ｄｕｅ）」信号をそのチャンネルの所望セルレートで周期的にアサート（ａｓｓｅｒｔ）する。ＰＤＳＰ１１４は、その接続に関連したＤＭＡチャンネルでＡＴＭセルの送信を要求する。
【００４４】
このＡＴＭセルがＦＩＦＯにある時に、ＰＤＳＰ１１４は、このセルをその行き先ポートに送る。（なお、上記は、システムでＶＣ終端がなされたＡＴＭ接続についてあてはまる。交換またはＶＰクロスコネクト用に形成された接続でＱｏＳをサポートするために、ＡＴＭセルは、入り口ＦＩＦＯから取り出されて優先待ち行列でバッファリングされる。ＰＤＳＰ１１４は、クレジットがＴｘスケジューラ１１８から発せられる時に、これらの待ち行列を処理する。）かくして、ＰＤＳＰは、ループ内に保持されて、各スケジューラ「満期」（ｓｃｈｅｄｕｌｅｒ  “ｄｕｅ”）を処理する。これにより、ＰＤＳＰにはチャンネルデータの利用可能性に基づいてセルの送信を中断し、再度開始し、所望ならば、ネットワークの輻輳に応答して、各チャンネルの送信速度を調整するきめの細かい能力が与えられる。Ｔｘスケジューラ１１８とＶＰＩ/ＶＣＩルックアップテーブル１２２は、接続が設定または取り消される時は常に、ＰＤＳＰにより設定される。
【００４５】
各ＦＩＦＯの占有状態は、ＰＤＳＰ１１４の状態レジスタに直接連絡される。ＰＤＳＰ１１４は、その状態レジスタに変化を検出した時、単一サイクルの分岐を行うように最適化されている。従って、ＶＢＵＳのポートは、ＰＤＳＰ１１４から非常に効率的に処理を受けることができる。ＦＩＦＯの占有状態が「空きでない（ｎｏｔ＿ｅｍｐｔｙ）」の時、ＰＤＳＰ１１４は、まず、ＡＴＭセルを取り出してこれを内部レジスタに記憶する。ＰＤＳＰ１１４は、まず、そのＡＴＭセルがＯＡＭセルであるか否かを決定し、次いで、ＶＰＩ/ＶＣＩ  ＬＵＴ１２２に対しＡＴＭヘッダ（またはＶＰクロスコネクトまたはＦ４ＯＡＭセルの場合にはＡＴＭヘッダの一部）を書き込み、マッチ（ｍａｔｃｈ）の結果及び状態ＲＡＭ内へのインデックスがＰＤＳＰ１１４に戻され、或いは、「ノーマッチ（ｎｏ−ｍａｔｃｈ）」の結果が戻される。もし結果が「ノーマッチ」の場合、セルは廃棄される。結果がマッチとして戻る場合、インデックスは、その状態情報を取り出すために使用され、適切なセル処理が行われ、セルはその行き先きポートへ送られる。
【００４６】
前述のように、ＶＰＩ/ＶＣＩ  ＬＵＴ１２２は、ＰＤＳＰ１１４により発生されて維持される。接続が設定されると、ＶＰＩ/ＶＣＩ情報は、コンテンツアドレッサブルメモリ（ＣＡＭ）のアドレスに加えられる。同様に、接続が断たれると、ＶＰＩ/ＶＣＩ情報は、ＣＡＭから削除される。ＶＰＩ/ＶＣＩ  ＬＵＴ１２２は、ＲＡＭとして実施することができ、ＰＤＳＰ１１４によりサーチが可能となる。ＶＰＩ/ＶＣＩ  ＬＵＴ１２２は、レジスタバスを介してＰＤＳＰ１１４によりアクセルされる。
【００４７】
接続のルックアップは、ＰＤＳＰ１１４がＶＰＩ/ＶＣＩを提供し、ＣＡＭに対し行われるサーチ動作を開始する。ＣＡＭは、単一ヒット、多重ヒットまたは失敗をフラッグで示す。もし単一ヒットがフラッグにより示されると、ＣＡＭは、ＶＰＩ/ＶＣＩを含むアドレスの場所を提供する。このアドレスの場所は、その特定の接続に関する情報を含むＳＡＲ/ＱｏＳ  ＲＡＭ１１２の接続状態ＲＡＭ内へＰＤＳＰ１１４によりオフセットまたはインデックスとして使用される。ＰＤＳＰ１１４は、このアドレスを使用して接続ＤＭＡ情報及びトラフィック契約をアクセスすることができる。
【００４８】
交換の機能性故に、ＱｏＳとＯＡＭは、各機能のための専用のハードウエアを有するよりも、或いはその機能をホストプロセッサ１９０上で実行するよりも、むしろ、ＡＴＭプロセッサ１２０と統合される。
更に、ＡＴＭプロセッサ１２０は、各ＡＴＭをポートのＦＩＦＯから取り出したり、これをポートのＦＩＦＯに送ったりするので、ＡＴＭモジュール１０１は、交換またはＶＰクロスコネクトを容易に行うに適している。
【００４９】
ＡＡＬ５モジュール
ＡＡＬ５モジュール１０５（図２）は、ＡＡＬ５〜ＰＤＵを分割及び再組み立てし、ＡＡＬ５〜ＰＤＵ用のＣＲＣ−３２を計算する。ＡＡＬ５モジュールは、ホストインターフェースを介してホストプロセッサ１９０に、メモリバススレーブインターフェースを介してＰＤＳＰ１１４にインターフェースしている。
ＡＡＬ５〜ＰＤＵの分割は、Ｔｘスケジューラ１１８が接続用の分割機会（ｓｅｇｍｅｎｔａｔｉｏｎ  ｏｐｐｏｒｔｕｎｉｔｙ）（すなわち、ＤＭＡチャンネル）をスケジュール化する時に行われる。（ＤＡＭチャンネルの情報は、ＰＤＳＰ１１４によりＡＬＬ５モジュール１０５に供給される。）ＤＭＡエンジン２０１は、ホストプロセッサ１９０に関連したメモリからセルを取り出して、ペイロードについてＣＲＣ−３２を計算し、セルをセルＦＩＦＯに書き込む。セルＦＩＦＯがセル全体を含むと、ＰＤＳＰ１１４は、そのセルを取り出して適切に送る。
【００５０】
再組み立て時に、ＰＤＳＰ１１４は、ＶＰＩ/ＶＣＩルックアップを行い、セルをＡＬＬ５モジュールのセルＦＩＦＯに書き込み、チャンネルを表示もする。再組み立て論理回路は、チャンネル状態にアクセスし、ＣＲＣ−３２を計算し、そのセルの制御をＤＭＡに転送する。セルＦＩＦＯがＡＴＭセルを含むと、受信ＤＭＡは、そのセルをホストメモリ再組み立て論理回路内へ書き込み、パケット（ＥＰＯ）処理の終了を行うために受信ＤＭＡを開始する。
【００５１】
ＡＡＬ２モジュール
一般に、ボイスオーバＡＴＭ（ＶｏＡ）解法において、電話または線は、コーディックを介してデジタル信号プロセッサ（ＤＳＰ）に接続される。このＤＳＰは、多くの電話線をサポートすることができる。ＤＳＰの主な機能は、信号処理を行うことである。ＶｏＡ方式の場合、ＤＡＰは、送受信のためにコーディックからデジタル音声サンプルを捕獲し、「プレイバック」のために音声サンプルをコーディックに与える。
【００５２】
ＤＳＰは、パケット化した音声サンプルを処理要素またはホストプロセッサ（例えば、埋め込み式の、または、外部のプロセッサ）に対し送信し、及びその処理要素またはホストプロセッサからパケット化した音声サンプルを受信する。その音声サンプルは、音声チャンネルを定義するためにパケット化される。処理要素は、音声セッション（すなわち、電話呼び出し）、レイヤ管理機能、及びＡＡＬ２送受信機能を設定または取り消すためにシグナリングを行う。
【００５３】
この種のシステムの１つの不都合は、送信または受信されたデータがシステムバスで２度（ホストプロセッサとＤＳＰとの間で１度、ホストプロセッサとＡＴＭ輸送ハードウエアとの間で１度）書き込まれなければならず、それにより、システム性能の劣化が生じるということである。他の不都合は、ＣＲＣとパリティ計算のようなまさしくそのソフトウエアの集中機能がＡＡＬ２の送受信のために行わなければならないということである。従って、ＡＡＬ２の送受信機能が専用のハードウエアで行われていた場合と比較して、比較的強力なホストプロセッサを使用しなければならない。少なくとも前述の不都合のために、このアーキテクチャは、難解な音声ソリューションには余り良くは合わせられない。
【００５４】
本発明の態様によれば、（音声サンプルを捕獲する）ＤＳＰサブシステムと（ＡＡＬ２シグナリング機能とレイヤ管理機能を行う）ホストプロセッサに直接インターフェースすることができるハードウエアＡＡＬ２送信機の実現が、共通のインターフェースを介して可能となる。ＡＡＬ２送信機は、ＡＴＭ接続でＤＳＰサブシステムからのＡＡＬ２音声パケットとホストプロセッサからのシグナリングパケット及び管理パケットをインターリーブすることができる。ＡＡＬ２受信機は、受信したデータストリームから音声パケットとシグナリングパッケット及び管理パケットを抽出することができる。
【００５５】
ＡＡＬ２モジュール１０２は、「Ｔｅｌｏｇｙ‘ｓ  Ｇｏｌｄｅｎ  Ｇａｔｅｗａｙ」のＡＡＬ２ソリューションを使用してＶｏＡをサポートする。このことは、ＡＡＬ２モジュール１０２がホストプロセッサ１２０またはＤＡＰサブシステム１６０に含まれるか、またはこれに関連するＴｘ/Ｒｘ  ＦＩＦＯからＣＰＳ−ＳＤＵを読み取ったり/または、これにこのＣＰＳ−ＳＤＵを書き込むということを意味する。ＡＡＬ２モジュール１０２は、ＤＳＰ（ＡまたはＢ）Ｒｘ/Ｔｘ  ＦＩＦＯ及びホストＲｘ/Ｔｘ  ＦＩＦＯをサポートする。ホストＲｘ  ＦＩＦＯとＴｘ  ＦＩＦＯは、ＡＡＬシグナリング及びピアトゥピアレイヤ管理をサポートするために使用することができる。モジュール１０２は、Ｒｘ＆ＴｘのＤＭＡエンジンのホストインターフェースを介して、ホストプロセッサ１９０に、そして、メモリバススレーブインターフェースを介して、ＰＤＳＰ１１４にインターフェースする。
【００５６】
ＡＡＬ２送信機
次に図４を見ると、本発明の一実施例によるＡＡＬ２モジュール１０２のハードウエアで構成されたＡＡＬ２送信機部９４０の機能的なブロック線図が示してある。この送信機部９４０は、ＤＳＰ１６０とホストプロセッサ１９０の処理要素とに直接インターフェースする２組のＡＡＬ２Ｔｘ  ＤＭＡ４１５を有している。すなわち、ＤＭＡは、ＤＳＰ１６０からＡＡＬ２音声パケットを取り出し、ホストＤＭＡは、ホストプロセッサ１９０からＡＡＬ２のシグナリングパケット/管理パケットを取りだす。
ＤＭＡ４１５により取り出されたパケットは、パケットの長さ、サンプル数及びチャンネル識別子を包含するパケット情報を含んでいる。図４は、１組２つのＤＳＰ（Ａ，Ｂ）を示すが、このシステムは１個のみのＤＳＰか、2個より多くのＤＳＰを有することができる。
【００５７】
ＡＡＬ２送信機部９４０は、ホストプロセッサ１９０がＡＡＬ２ＡＴＭ接続を設定/取消、または音声会議（すなわち、電話呼び出し）の設定/取り消しをする時は常に、更新される２組のテーブル、すなわち、ＡＡＬ２チャンネルルックアップ（ＬＵＴ）４０５とＤＭＡチャンネル状態テーブル４１０を有している。
【００５８】
ＡＡＬ２チャンネルＬＵＴ４０５は、音声チャンネルをＡＴＭ接続にマップ化するために、そのテーブルへのインデックスとしてＤＳＰにより割り当てられた音声チャンネルを使用する。（ＡＴＭ接続は、設定時にＤＭＡチャンネルにマップ化される。各ＤＡＭチャンネルは、１度に１回だけのＡＴＭ接続にマップ化できるだけである。）そのテーブルにおける各登録内容は、「ＯＮ」ビットとＤＭＡチャンネル状態テーブルへのポインタである。「ＯＮ」ビットは、音声セッションが活動状態であるか否かを明示する。ポインタは、ＤＭＡチャンネル状態テーブルを示す。（なお、ＡＡＬ２の多重化は、単一のＤＭＡチャンネルに一部または全ての登録事項を設定することによって達成される。）
【００５９】
ＤＭＡチャンネル状態テーブル４１０の各登録事項は、「ＯＮ」ビット、ＡＡＬ２一連番号及びＡＡＬ２ＰＤＵオフセット情報のような、そのＡＡＬ２接続のためのＤＭＡチャンネル特定情報及び送信バッファへのポインタを含んでいる。「ＯＮ」ビットは、このＤＭＡチャンネルが設定されているか否かを明示する。すなわち、ＡＴＭ接続がホストプロセッサ１９０により設定されて、このＤＭＡチャンネルにそれをマップ化しているか否かを明示する。
【００６０】
ＤＳＰ  ＤＭＡによりパケットが取り出されると、ＡＡＬ２  Ｔｘモジュールは、そのパケットチャンネル識別子を使用する。このパケットチャンネル識別子は、ＡＡＬ２チャンネルＬＵＴ４０５に対するインデックスとしてＤＳＰにより割り当てられた音声チャンネルであって、音声セッションが活動状態であることを保証する。もし音声セッションが不活動状態の場合、ＡＡＬ２のパケットは、落とされ、ホストプロセッサ１９０は、割り込みにより知らされる。もし音声セッションが活動状態の場合、ＤＭＡチャンネルポインタは使用され、ＤＭＡチャンネル状態テーブル４１０からＤＭＡチャンネル情報をアクセスする。
【００６１】
ＤＭＡチャンネル状態情報がアクセスされると、ＡＡＬ２  Ｔｘモジュールは「ＯＮ」ビットをチェックすることによって、ＤＭＡチャンネルがＡＴＭ接続にマッピングされたということを検証する。もしＤＭＡチャンネルが不活性の場合、ＡＡＬ２パケットは落とされて、ホストプロセッサは割り込みにより知らされる。もしＤＭＡチャンネルが活性の場合、ＡＡＬ２  Ｔｘモジュールは、ＡＡＬ２送信機能を実行する。
【００６２】
特に、ＡＡＬ２パケットは、ＤＰＳ１６０及び（または）ホストプロセッサ１９０により発生される。ＤＳＰ  ＡとＤＳＰ  Ｂは、各々４本までの音声ライン（全部で８本の音声ライン）をなるべくサポートしたほうがよい。ＡＡＬ２パケットがＤＳＰ  ＡまたはＤＳＰ  Ｂにより、ＡＡＬ２  Ｔｘ  ＦＩＦＯ  ＡまたはＡＡＬ２  Ｔｘ  ＦＩＦＯ  Ｂ（４５０、４５１）内に書き込まれると、ＡＡＬ２パケットは、データが発生した音声チャンネル（１〜８）に対応する（ＬＵＴ４０５内の）ＡＡＬ２バッファヘッダの論理チャンル＃内に１〜８からの論理チャンネル＃を書き込む。ＡＡＬ２パケットがホストプロセッサによりＡＡＬ２Ｔｘ  ホストＦＩＦＯ４７０内に書き込まれると、それはＤＭＡチャンネル状態テーブル４１０のＡＡＬ２バッファヘッダの論理チャンネル＃フィールド内にＡＡＬ２  ＦＩＦＯチャンネル＃（０〜７）を書き込む。このようにしてＡＡＬ２モジュールが音声パケット、シグナリングパケットおよび管理パケットをＡＡＬ２データストリーム内にインターリーブする。
【００６３】
ＡＡＬ２  Ｔｘ  ＤＭＡ４１５は、初期化時に、Ｔｘ  ＦＩＦＯベースアドレス及びＴｘポールカウント（Ａ＆Ｂ）及びＴｘホストＦＩＦＯベースアドレス及びＴｘホストポールカウントで設定される。Ｔｘポールタイマは、Ｔｘポールカウントレジスタの対応値をロードされ、そして、クロックの各エッジで１つだけデクリメントされる。Ｔｘポールタイマがゼロになると、ＤＭＡ４１５は、対応するＴｘ  ＦＩＦＯ（４５０、４５１、４７０）をポーリングする。このＴｘ  ＦＩＦＯをポーリングすると、Ｔｘ  ＤＭＡ４１５は、書き込みポインタをＦＩＦＯの読み取りポインタと比較し、ＡＡＬ２のデータが取り出せるかどうかを判別する。もしＡＡＬ２  ＣＰＳパケットが入手できる場合、ＤＭＡは、読み取りポインタと書き込みポインタとの間に含まれるパケットを読み取る。全てのパケットがＴｘ  ＦＩＦＯから読み取られると、Ｔｘ  ＤＭＡ４１５は、読み取りポインタを更新する（Ｔｘ  ＤＭＡのみが書き込みポインタに問い合せする（ｉｎｔｅｒｒｏｇａｔｅ）と共に、他方、それは読み取りポインタを更新する）。
【００６４】
Ｔｘ  ＦＩＦＯ  Ａ４５０とＴｘ  ＦＩＦＯ  Ｂ４５１は、Ｔｘ  ホストＦＩＦＯ４７０より高い優先順位を有している。ＣＰＳパケットは、Ｔｘ  ＦＩＦＯＡ４５０とＴｘ  ＦＩＦＯ  Ｂ４５１から取り出すべきデータが存在しない時はいつも、Ｔｘ  ホストＦＩＦＯ４７０から取り出されるだけである。この理由は、音声サンプルが時間に影響されやすく、シグナリング/レイヤ管理は、そうではないからである。
【００６５】
Ｔｘ  ＦＩＦＯ  Ａ４５０とＴｘ  ＦＩＦＯ  Ｂ４５１から読み取られたＡＡＬ２パケットについては、分割エンジンがＡＡＬ２  Ｔｘ  ＬＵＴ４０５を調べる。ホストソフトウエアがＡＡＬ２チャンネル設定レジスタを介してＡＡＬ２チャンネルを加える時に、ＬＵＴ４０５の登録データは更新される。ＡＡＬ２チャンネル設定レジスタは、別個のモジュール内に配置することができるが、論理的にはＡＡＬ２  モジュール１０２内に配置されている。論理チャンネル＃は、ＡＡＬ２  ＦＩＦＯチャンネル＃（０〜７）を決定するためにＬＵＴ４０５内にインデックスとして使用される。なお、ＡＡＬ２  Ｔｘ  ＬＵＴ４０５内の一部の登録データまたは全ての登録データでも、１つのＶＰＩ/ＶＣＩで数個の論理チャンネルの多重化を達成するために、同一のＡＡＬ２  ＦＩＦＯチャンネル＃を含んでもよい。
【００６６】
Ｔｘ  ホストＦＩＦＯから読み取られたＡＡＬ２パケットのために、ＡＡＬ２パケットヘッダから読み取られたＡＡＬ２  ＦＩＦＯ４７０チャンネル＃は、直接使用される（ＬＵＴ４０５は、無視または回避される）。これにより、ホストプロセッサ１９０は、ＡＡＬ２チャンネルが設定される前に（ＡＡＬ２シグナリング及びピアツーピアレイヤ管理のため）ＡＡＬ２パケットを送信することが可能となる。
【００６７】
パケットでホストプロセッサ１９０により供給されたチャンネル情報は、それよりも、ＤＭＡチャンネル状態テーブル４１０に対するポインタである。従って、ホストプロセッサ１９０は、どのＡＴＭ接続がシグナリング及びレイヤ管理情報を含むパケットを送信すべきかを独立に決定することができる。なお、ＡＡＬ２チャンネルＬＵＴ４０５は、回避されるので、ホストプロセッサ１９０は、活性の音声チャンネルなしでシグナリングを行うことができる。ホストプロセッサ１９０が送信可能となるために、ＡＴＭ接続は設定されなければならない。
【００６８】
分割エンジン４２０は、次にＣＰＳパケットを送り、このＣＰＳパケットを適切なＡＡＬ２チャンネルＦＩＦＯへバイトパック（ｂｙｔｅ−ｐａｃｋ）する。次に、ＡＴＭプロセッサ４２０は、チャンネルのＦＩＦＯからＣＰＳ−ＰＤＵを読み取り、所望ならばそれにデータを加え（ｐａｄｓ  ｉｔ  ｉｆ  ｒｅｑｕｉｒｅｄ）、ＡＴＭヘッダを挿入し、このＤＭＡチャンネルがＡＴＭプロセッサによりスケジュール化されている時に、その行き先ポートにそのセルを送る。ＶＰＩ/ＶＣＩと行き先ポートは、（接続ＶＰＩ/ＶＣＩレジスタ、接続設定レジスタ、及び接続状態ＲＡＭを介して）接続が設定される時に提供される接続情報から決定される。
【００６９】
本発明によれば、シグナリングはＡＡＬ２で行うことができるので、ＡＡＬ５ＳＡＲ機能は必要ではない。（ボイスオーバＡＴＭソリューションの一般的に使用される実装は、ＡＡＬ５パケットタイプを使用して専用のＡＴＭ接続でシグナリングを行うことである）。更に、ＡＡＬ２送信機能は、専用のハードウエアで行うことができる。これは、ＡＡＬ２送信機により、ホストプロセッサが任意のＡＴＭ接続で送信ストリーム内にＡＡＬ２シグナリングパケット及びレイヤ管理パケットをインターリーブすることができるからである。従って、ボイスオーバＡＴＭソリューションのためのホストプロセッサ１９０または埋め込みプロセッサの必要なＭＩＰＳは減少される。
【００７０】
ＡＡＬ２音声パケットがワイヤで送信されるまで、ＤＳＰ１６０により音声サンプルが捕獲される時から導入された待ち時間は、ＡＡＬ２送信機９４０がＤＳＰに関連したＦＩＦＯから直接ＡＡＬ２音声パケットを取り出すために、最小となる。音声パケットは、装置/周辺バスを介して多数回転送はされないので、装置性能は最大となる。
【００７１】
ＡＡＬ受信機
ＡＡＬ２について設定された接続で受信されたＡＴＭセルについては、ＡＡＬ２受信機は、パリティとＡＡＬ２開始フィールド連続番号を検証し、次に、ＡＴＭセルに含まれるＡＡＬ２  ＣＰＳパケットを抽出する。しかし、問題は、「ＣＰＳパケットをホストプロセッサまたはＤＳＰに送る必要があるか？」である。特定のＣＩＤとＵＵＩは、シグナリングのため及びレイヤ管理のために予約されるが、このテクノロジがかなり新しいので、規格は変化を受ける。従って、ホストプロセッサに送る必要のあるＣＩＤのハードコーディング（ｈａｒｄｃｏｄｉｎｇ）は、実際には実現性あるソリューションではない。
【００７２】
本発明の態様では、ＡＡＬ２受信機のハードウエア実装が（デジタル化した音声サンプルを音声信号に変換する）ＤＳＰサブ装置と（ＡＡＬ２シグナリング機能及びレイヤ管理機能を行う）ホストプロセッサと直接インターフェースすることができる。ＡＡＬ２受信機は、ホストプログラム可能なＣＩＤ及びＵＵＩフィルタを使用して、ＡＡＬ２音声パケットからＡＡＬ２シグナリングパケット及び管理パケットをフィルタすることができる。
【００７３】
特に、図５を見ると、本発明の一実施例によるＡＡＬ２受信機９５０の機能ブロック線図が示してある。ＡＡＬ２受信機９５０は、ＡＴＭモジュール１０２においてハードウエアで実装することができる。ＡＡＬ２受信機９５０は、ＤＳＰ１６０とホストプロセッサ１９０（すなわち、処理要素）と直接インターフェースするＡＡＬ２  ＲＸ  ＤＭＡ５１５と関連した２組のＤＭＡを有している。すなわち、そのＤＳＰ  ＤＭＡは、ＡＡＬ２音声パケットをＤＳＰ１６０に書き込み、ホストＤＭＡは、ＡＡＬ２のシグナリング/管理パケットをホストプロセッサ１９０に書き込む。
【００７４】
ＡＴＭセルがＳＡＲのインターフェースの１つに達すると、ＡＴＭプロセッサ１２０は、ＴＤＳＰ１１４を介して、ＶＰＩ/ＶＣＩルックアップを行う。もし特定のＡＴＭ接続がＡＡＬ２接続であるということをＡＴＭプロセッサ１２０が決定すると、ＣＰＳパケットは抽出されてＡＡＬ２セルＦＩＦＯに送られる。続いて、ＣＰＳパケットヘッダがＣＩＤとＵＵＩのフィルタ整合について質問を受ける（ＨＥＣがチェックされる）。
【００７５】
再組み立てエンジン５２０は、ＣＰＳパケットヘッダのＨＥＣをチェックして、ＣＰＳパケットが次のようにＤＳＰ（ＡまたはＢ）  Ｒｘ  ＦＩＦＯ（５４０、５４１）の１つまたはＲｘホストＦＩＦＯ５３０に送られるべきかを判別する。ＡＡＬ２受信エンジンにより、ホストプロセッサ１９０は、ＣＩＤまたはＵＵＩの情報に基づいてホストプロセッサ１９０にフィルタリングされるべきＣＰＳパケットを設定することができる。従って、ホストプロセッサ１９０は、ＣＰＳシグナリングパケット及びピアトゥピアレイヤ管理パケットを受信することができる。もしＣＩＤフィルタ５５０でマッチ（ｍａｔｃｈ）が得られると、パケットはホストプロセッサ１９０とＵＵＩに送られる。このとき、フィルタ５６０は、問い合せされない（ｎｏｔ  ｉｎｔｅｒｒｏｇａｔｅｄ）。もしマッチがＣＩＤフィルタ５５０で得られない場合、ＵＵＩフィルタ５６０は調べられる。
【００７６】
もしマッチがＵＵＩフィルタ５６０で得られると、パケットは、ホストＤＭＡに送られるかまたは廃棄される。（ＵＵＩフィルタは、ＵＵＩに基づいてホストプロセッサがパケットを廃棄することができるという特徴を有している。）そうでなく、ＣＰＳパケットのＣＩＤがＡＡＬ２  Ｒｘ  ＬＵＴ（ルックアップテーブル）５８０のＣＩＤとマッチする場合、パケットは、その特定のＣＩＤに関連した論理チャンネル番号に従って、Ｒｘ  ＤＭＡ  ＲＡＭ５９０の９個のチャンネル（８個の音声チャンネルと１個のホストチャンネル）の内の１つに送られる。ＬＵＴ５８０内の登録データは、ホストソフトウエアがＡＡＬ２チャンネル設定レジスタを介してＡＡＬ２チャンネルを加える時に更新される。
【００７７】
ＣＰＳパケットがＣＰＳパケット境界でカプセル化された後、ＡＡＬ２  ＲｘＤＭＡ５１５は、データをＲｘ  ＦＩＦＯ  Ａ５４０、Ｒｘ  ＦＩＦＯ  Ｂ５４１またはＲｘホストＦＩＦＯ５３０内に書き込む。ＦＩＦＯの読み取りポインタ及び書き込みポインタを監視することによって、ＤＳＰ１６０とホストプロセッサ１９０は、ＣＰＳパケットが何時それらに利用可能かを決定することができる。
本発明のＡＡＬ２受信機９５０の場合、ＡＡＬ５  ＳＡＲ機能は必要ではない。それは、シグナリングがＡＡＬ２モジュール１０２で行うことができるからである。（ボイスオーバＡＴＭソリューションの普通使用の実装は、ＡＡＬ５パケットタイプを使用して、専用のＡＴＭ接続でシグナリングを行うことである）。
【００７８】
更に、機能ブロック（すなわち、ＢＳＰ１６０、ホストプロセッサ１９０及びＡＡＬ２  ９５０）間の通信は、ＤＳＰ１６０と直接インターフェースするＡＡＬ２受信機９５０で徹底的に簡略化されるために最小となる。待ち時間は、ＤＳＰ  ＦＩＦＯへの直接接続のために最小となる。データは、システムバスを介して１度書き込まれるだけである。最終結果は、全体的に改良された装置性能となる。
【００７９】
セルバッファモジュール
任意の与えられたネットワークのデータトラフィックは、本質的にバースト性である。すなわち、任意の与えられたネットワーク部分またはネットワークインターフェースに亘るプロトコルデータ単位（ＰＤＵ）のパターンは、事実上データトラフィックのない間隔を伴うラインレートで、データトラフィックの間隔を経験する。（ブリッジ、ルータ及びスイッチのような充分設計されたネットワーキング装置は、高速ポートにＰＤＵを受信し、そして、このＰＤＵを低速ポートに送り/切り替え/方向付けるが、正常なバーストの長さの続く間はＰＤＵを落とすべきではない。
【００８０】
本発明の一実施例によれば、セルバッファは、バーストを吸収し、ＰＤＵは落とさないということを保証するために使用される。更に、異なるデータフロー（例えば、ＡＴＭネットワーク用のそれぞれの接続）は、優先順位を割り当てられる。優先順位をバッファリングしたＰＤＵに割り当てることによって、システムは、トラフィック整形及びサービス品質（ＱｏＳ）をサポートすることができ、従って、帯域幅をより効率的に利用することができる。例えば、一時的に輻輳したＡＴＭネットワークでは、（例えば、音声のような）リアルタイムデータを運ぶ接続は、非リアルタイムデータ（例えば、ＦＴＰ転送）を運ぶ接続よりも高い優先順位を割り当てることができる。ＡＴＭ装置の場合、高い優先順位を持つＡＴＭセルは、高い優先順位の待ち行列でバッファリングされ、一方、低い優先順位のＡＴＭセルは、低い優先順位の待ち行列でバッファリングされる。高い優先順位の待ち行列は、ＡＴＭプロセッサのファームウエア負荷に従って、低い優先順位の待ち行列より前にサービスを受ける。
【００８１】
なお、２つの優先順位の待ち行列のみを使用する上記の例は、優先順位の待ち行列を使用する簡単な場合を記載している。システムは、任意の数の優先順位待ち行列を有することができよう。ＡＴＭ交換機のような精巧なＡＴＭネットワーク装置では、優先順位待ち行列は、特定のトラフィックタイプ（ＣＤＲ、ＶＢＲ，ＡＢＲ及びＵＢＲ）に割り当てられる。
【００８２】
ＡＴＭモジュール１１０は、８個の論理的なＩ/Ｏポートを有することが好ましい。これらのＩ/Ｏポートから、ＡＴＭプロセッサ１２０は、データを取り出し及びそのＩ/Ｏポートにデータを送らなければならない。これらのＩ/Ｏポートは、４個のＡＴＭ−２５ポート（すなわち、高速ポート）と２個のセルインターフェースポート（すなわち、これらはＡＤＳＬポートとして使用されるので、低速ポートである）並びに１個のＡＡＬ５ポートと１個のＡＬＬ２ポートを有することができる。本発明の好適な実施例によれば、２個のＡＤＳＬポートが存在するので、少なくとも２個の待ち行列をサポートする必要がある。
【００８３】
次に図６Ａを見ると、本発明によるＡＴＭプロセッサ１２０とセルバッファモジュール１０４との間の例示的なインタコネクトのブロック線図が示してある。ＡＴＭプロセッサ１２０は、ＡＴＭヘッダに基づいて行き先ポートを決定し、セルバッファ１０４を用いて、例えば、ＡＴＭ−２５入り口ポートでバースト中にＡＴＭセルをバッファリングすることができる。更に、バッファリングされＡＤＳＬポートに向けられたＡＴＭセルは、それぞれ異なる優先順位を割り当てることによって区別することができる。従って、何らかの基準に基づいて優先順位をサポートするために、ポート当たり別の待ち行列が必要とされる。なお、セルバッファ１０４は、ＡＴＭセルだけでなく他のＰＤＵと使用することもできる。
【００８４】
次に図６Ｂを見ると、本発明の一実施例によるセルバッファモジュール１０４で使用される優先順位キャッシュ６１５が示してある。この優先順位キャッシュ６１５は、１ポート当たり４個レベルの優先順位をもつ２個のポートをサポートすることが好ましい。しかし、ポートの数及び優先順位のレベルは、システム仕様に基づいて調整することができる。
【００８５】
状態信号６２１と６１４は、直接前記のＰＤＳＰの状態レジスタにインターフェースする。これらの信号がアサートされ（高レベル設定にされると）、ＡＴＭプロセッサ１２０は、セルがバッファリングされるように利用可能か（すなわち、セルバッファＯＵＴ待ち行列が空であるか）またはセルが取り出されてセルＤＭＡ  Ｉ/Ｆに送ることができるか（すなわち、ポートのＩＮ待ち行列の少なくとも１つが空きではないか）のいずれが知らされる。ＩＮ待ち行列状態ビットが設定されると、ＰＤＳＰ１１４は、どのＩＮ待ち行列がＡＴＭセルを含んでいるかを決定するためにＩＮ待ち行列レジスタを読む。
【００８６】
キャッシュ６１５のメモリは、ＰＤＳＰ１１４と（チップから離して配置された）ＳＤＲＡＭまたは他の類似で遠隔のメモリ装置との間のキャッシュとして使用される二重ポートＲＡＭが好ましい。ＳＤＲＡＭは、チップ/周辺インターフェースを介してアクセス可能である。キャッシュ６１５は、各々がＮ個のセル（用途に基づいたＲＡＭサイズ）を含む複数個の待ち行列に論理的に分割することができる。
ＡＴＭセルがバッファリングの必要がある時、ＰＤＳＰ１１４は、そのセルをセルバッファキャッシュの出力待ち行列内に書き込む。ＡＴＭセルは、３２ビットの境界付けＡＴＭセルの最後の３バイトに含まれる特定のポート及び待ち行列情報を含んでいる。この情報は、キャッシュＤＭＡ６２０により使用されて、セルを正しい待ち行列に送る。図７は、本発明による例示的で調整済みの又は整列された（ａｌｉｇｎｅｄ）ＡＴＭセルを示す。
【００８７】
セルがキャッシュ６１５に書き込まれ、または（ＰＤＳＰ１１４またはキャッシュＤＭＡ６２０のいずれかにより）キャッシュ６１５から読み取られる時はいつも、キャッシュ待ち行列状態は更新される。キャッシュ６１５の状態は、キャッシュＤＭＡ６２０に関連したキャッシュ論理部６２２から（直接ＰＤＳＰ１１４の状態レジスタインターフェースにインターフェースされた）ＯＵＴ待ち行列状態信号６１２とＩＮ待ち行列状態信号６１４とにより送られる。ＯＵＴ待ち行列状態信号６１２は、ＯＵＴ待ち行列がＡＴＭセルを受け入れることができる時に主張され、ＩＮ待ち行列状態信号６１４は、セルバッファキャッシュ６１５の少なくとも１つの待ち行列がＡＴＭセルを含む時にアサートされる。ＡＴＭセルをセルバッファ１０４から取り出すために、ＰＤＳＰ１１４は、まず、ＩＮ待ち行列状態信号６１４を調べる。もしこの信号がアサートされると、ＰＤＳＰ１１４は、どの待ち行列がＡＴＭセルを含むかを判別するために、セルバッファキャッシュレジスタ６２５を読み取らなければならない。このレジスタ６２５に含まれる状態情報は、ＡＴＭセルが移動できるか否かを、ＰＤＳＰ１１４とキャッシュＤＭＡ６２０に示す。
【００８８】
セルがキャッシュ６１５のＯＵＴ待ち行列に書き込まれる前に、ＰＤＳＰ１１４は、３２ビットの境界付けＡＴＭセルの最後の３バイト内にキャッシュ待ち行列ＩＤを追加する。メモリバスを介する転送は、３２ビットワードで行われるので、ＡＴＭセルは、バイト５４、５５及び５６が使用されない時には、バイト１ないし５３に存在する。
ポートＩＤと待ち行列ＩＤは、その送り決定（すなわち、どのポートとどの待ち行列にＡＴＭセルが所属するか）において、キャッシュＤＭＡ６２０により使用される。待ち行列ＩＤは、ＡＴＭセルの優先待ち行列を選択する。
【００８９】
キャッシュＤＭＡ６２０は、全ての待ち行列のためＯＵＴ待ち行列（すなわち、バッファリングされるべきセル）とＩＮ待ち行列（すなわち、取り出されるべきセル）を処理する。これは、キャッシュＤＭＡ６２０がＡＴＭセルをキャッシュ６１５からＳＤＲＡＭ（ＩＮ待ち行列が満杯の場合）に移動し、及びＡＴＭセルをＳＤＲＡＭからキャッシュ６１５に移動することによって達成される。
【００９０】
キャッシュＤＭＡ６２０は、セルがＯＵＴ待ち行列からメモリ６１４のＩＮ待ち行列または外部メモリ（例えば、ＳＤＲＡＭ）のいずれかへ移動することができるか否か判別するために内部待ち行列ポインタを使用する。キャッシュＤＭＡ６２０の最高の優先順位は、セルを含むＯＵＴ待ち行列を処理することであって、ポート及び待ち行列ＩＤは問い合せられ（ｉｎｔｅｒｒｏｇａｔｅｄ）、キャッシュ論理部は、セルがＩＮ待ち行列またはＳＤＲＡＭに送られたか、またはＯＵＴ待ち行列に残されているかを判別する。特定のＩＮ待ち行列のキャシュの占有がチェックされ、もしキャッシュ待ち行列が満杯でない場合、セルは、直ちにキャッシュ６１５のＩＮ待ち行列に書き込まれる。キャッシュ待ち行列が満杯の場合、セルは、ＳＤＲＡＭの外部待ち行列に送られる。なお、キャッシュ６１５のＩＮ待ち行列が満杯の場合は、セルは、ＳＤＲＡＭの外部待ち行列に送られるだけである。
【００９１】
キャッシュＤＭＡ６２０は、外部待ち行列でバッファリングされたセルのマスタである。もしＯＵＴ待ち行列内にセルが存在せず、キャッシュ６１５のＩＮ待ち行列が満杯でない場合、キャッシュＤＭＡ６２０は、セルを外部待ち行列からキャッシュ６１５に移動する。従って、キャッシュ６１５に関連したＩＮ待ち行列は、外部待ち行列が利用される前に完全に占有される。
セルバッファモジュール６００は、サポートされる待ち行列の数、各待ち行列の大きさ及びＳＤＲＡＭに含まれる各待ち行列のポインタで開始時にホストプロセッサによって設定される。
【００９２】
セルバッファモジュール６００は、ハードウエアで実現することができるので、容易に実現され、事実上任意の「チップ上の装置（ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）」に「落とす（ｄｒｏｐｐｅｄ）」ことができる。更に、キャッシュ６００は調整可能である。すなわち、モジュールは、サポートされるポート数及び優先順位のレベル数並びにＩＮ/ＯＵＴ待ち行列上のＰＤＵの深さまで特定の装置要件に容易に合わせられる。同様に、待ち行列当たり割り当てられる優先順位は、容易に適応される。これは、優先順位のアルゴリズムがＡＴＭプロセッサ１２０または交換エンジンから実行されるからである。
【００９３】
本発明の方法及び装置の好適な実施例は、添付図面で示され、前述の詳細な説明で記載されたが、本発明は開示された実施例に限定されるものではなく、特許請求の範囲により記載され定義された本発明の主旨から逸脱せずに数多くの再配置、変形及び変更、更に置換を行うことができる。
【００９４】
以上の説明に関して更に以下の項を開示する。
（１）非同期転送モード（ＡＴＭ）装置のデジタル信号プロセッサ（ＤＳＰ）部とホストプロセッサから受信したパケット化データを送信するための送信装置において、
前記ＤＳＰ部から取り出した、物理的な電話線識別子を有する音声パケットを受信するための入力点を備えた第１の直接メモリアクセスユニットと、
前記ホストプロセッサから送信チャンネル識別子を有するシグナリング管理パケットを受信するための入力点を備えた第２の直接メモリアクセスユニットとを有する送信装置。
（２）前記ＡＴＭ装置は、ＡＡＬ２モジュールである、第１項記載の送信装置。
（３）チャンネルポインタ用のメモリを備えたルータ識別子テーブルを更に有し、前記物理的電話線識別子は、チャンネル状態テーブルの送信チャンネルを識別する特定のチャンネルポインタにインデクシング又は割出しし、
前記チャンネル状態テーブルは、複数の送信チャンネル用のチャンネル情報を記憶するメモリを有し、前記チャンネル情報は、送信バッファへのポインタを有し、特定の送信バッファと関係付けられた前記音声パケット及びシグナリング管理パケットは、更なる処理及び行き先きポートへの送信のため、前記特定送信バッファへ送られる、第1項記載の送信装置。
（４）前記ルータ識別子テーブルの複数の登録は、１本のＡＴＭチャンネルで複数の物理的な電話線を多重化するための特定の送信チャンネルを識別する、第３項記載の送信装置。
（５）前記特定の送信バッファに対し、音声パケット及びシグナリング兼管理パケットの各ペイロードを送るための分割論理装置を更に有する、第３項記載の送信装置。
（６）前記第１の直接メモリアクセスユニットは、前記ＤＳＰ部の各デジタル信号プロセッサに関連した音声バッファから前記音声パケットを取り出すよう更に動作可能に形成されている、第1項記載の送信装置。
（７）ハードウエアで実施された、第３項記載の送信装置。
（８）非同期転送モード（ＡＴＭ）接続で音声パケット及びシグナリングパケットと管理パケットをインターリーブするためのインターリーブ装置において、
音声通信を受信するための入力点を有し、前記音声通信をパケット化すると共に対応する物理的電話線識別子を追加するよう動作可能に形成された、デジタル信号プロセッサ（ＤＳＰ）装置と、
ＡＴＭアダプテーションレイヤのシグナリング兼管理を可能にすると共に、送信チャンネル識別子を有する対応のシグナリング兼管理パケットを送信可能にするよう動作可能に形成されたホストプロセッサと、
ＡＴＭ送信機とを有し、このＡＴＭ送信機は、
前記ＤＳＰ部から取り出した音声パケットを受信するための入力点を備えた第１の直接メモリアクセスユニットと、
前記ホストプロセッサから取り出したシグナリング管理パケットを受信するための入力点を備えた第２の直接メモリアクセスユニットとを有する、インターリーブ装置。
（９）前記ＡＴＭ送信機は、ＡＡＬ２モジュールで実施されている、第８項記載のインターリーブ装置。
（１０）チャンネルポインタを記憶するためのメモリを備えたルータ識別子テーブルを更に有し、前記論理チャンネル識別子は、チャンネル状態テーブルの送信チャンネルを識別する特定のチャンネルポインタ登録にインデクシング又は割出しし、
前記チャンネル状態テーブルは、複数の送信チャンネル用のチャンネル情報を記憶するためのメモリを有し、前記チャンネル情報は、送信バッファへのポインタ登録を有し、特定の送信バッファと関係付けられた前記音声パケット及びシグナリング管理パケットは、更なる処理及び行き先きポートへの送信のため、前記特定送信バッファへ送られる、第８項記載のインターリーブ装置。
（１１）前記ルータ識別子テーブルの複数の登録は、１本のＡＴＭチャンネルで複数の物理的な電話線を多重化するための特定の送信チャンネルを識別する、第1０項記載のインターリーブ装置。
（１２）前記第１の直接メモリアクセスユニットは、前記ＤＳＰ部の各デジタル信号プロセッサに関連した音声バッファから前記音声パケットを取り出すよう更に動作可能に形成されている、第1０項記載のインターリーブ装置。
（１３）前記特定の送信バッファに対し、音声パケット及びシグナリング兼管理パケットの各ペイロードを送るための分割論理装置を更に有する、第1０項記載のインターリーブ装置。
（１４）シリコンチップに集積化された、第1０項記載のインターリーブ装置。
（１５）前記ＡＴＭ送信機は、ハードウエアで実施されている、第1０項記載のインターリーブ装置。
（１６）非同期転送モード（ＡＴＭ）装置のデジタル信号プロセッサ（ＤＳＰ）部とホストプロセッサから受信したパケット化データを送信するため送信方法において、
前記ＤＳＰ部によりサポートされた発信音声チャンネルに対応する物理的電話線識別子を有する音声パケットを前記ＤＳＰ部から取り出し、
識別された送信チャンネルに関連する送信バッファに対して前記音声パケットを送り、
送信チャンネル識別子を有するシグナリング兼管理パケットを前記ホストプロセッサから取り出し、
識別した送信チャンネルに関連する送信バッファに対し前記シグナリング兼管理パケットを送る、送信方法。
（１７）ルータ識別テーブルに記憶されてチャンネル状態テーブルの複数の送信チャンネル登録の１つをおのおのが識別する１組のチャンネルポインタに前記物理的電話線識別子をインデクシング又は割出しし、
前記チャンネル状態テーブルの送信チャンネル記録に前記シグナリング兼管理パケットの送信チャンネル識別子をインデクシングすることを更に含む、第1６項記載の送信方法。
（１８）前記音声パケットおよび前記シグナリング兼管理パケットの送信は、各パケットのペイロードのみを送ることを含む、第1７項記載の送信方法。
（１９）前記ＡＴＭ装置に関連した行き先きポートに対し、前記送信バッファに送られたデータを送信することを更に含む、第1７項記載の送信方法。
（２０）ハードウエアで実施される第1７項記載の送信方法。
【００９５】
（２１）本発明は、デジタル信号プロセッサ（ＤＳＰ）部（１６０）とホストプロセッサ（１９０）を有する非同期転送モード（ＡＴＭ）装置内のＡＴＭアダプテーションレイヤ（ＡＡＬ）により形成された接続でＡＴＭデータセルを送信するための装置及び方法を提供する。送信機は、(デジタル化した音声サンプルを音声信号に変換する）ＤＳＰ部（１６０）及び（ＡＡＬ２シグナリング機能及びレイヤ管理機能を実行する）ホストプロセッサ（１９０）と直接インターフェース接続している。送信機は、ＡＴＭ接続でＤＳＰ部（１６０）からのＡＡＬ２音声パケットと、ホストプロセッサ（１９０）からのシグナリングパケットと管理パケットとをインターリーブするよう形成されている。データは、ＤＭＡ（４１５）により取り出される。チャンネルルックアップテーブルは、音声チャンネルをＡＴＭ接続にマッピングするためにチャンネルルックアップテーブルへのインデックスとしてＤＳＰにより割り当てられた音声チャンネルを使用する。
【００９６】
（関連出願の相互参照）
関連出願は、「ＡＡＬ２  Ｒｅｃｅｉｖｅｒ  ｆｏｒ  Ｆｉｌｔｅｒｉｎｇ  Ｓｉｇｎａｌｉｎｇ／Ｍａｎａｇｅｍｅｎｔ  Ｐａｃｋｅｔｓ  Ｉｎ  Ａｎ  ＡＴＭ  Ｓｙｓｔｅｍ  」なる名称の共通に譲渡された米国特許出願代理人整理番号ＴＩ−３２５７８、「ＡＴＭ  Ｐｒｏｃｅｓｓｏｒ  ｆｏｒ  Ｓｗｉｔｃｈｉｎｇ  Ｉｎ  Ａｎ  ＡＴＭ  Ｓｙｓｔｅｍ」なる名称の米国特許出願代理人整理番号ＴＩ−３２５８０、及び「ＡＴＭ  Ｓｙｓｔｅｍ  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｆｏｒ  Ｔｈｅ  Ｃｏｎｖｅｒｓｉｏｎｓ  ｏｆ  Ｄａｔａ，  Ｖｏｉｃｅａｎｄ  Ｖｉｄｅｏ」なるなる名称の米国特許出願代理人整理番号ＴＩ−３２５８１、「Ｃｅｌｌ  Ｂｕｆｆｅｒｉｎｇ  Ｓｙｓｔｅｍ  ｗｉｔｈ  Ｐｒｉｏｒｉｔｙ  Ｃａｃｈｅ  Ｉｎ  Ａｎ  ＡＴＭ  Ｓｙｓｔｅｍ」なる名称の米国特許出願代理人整理番号ＴＩ−３２５８２であり、これらの出願の各々の教示内容は、言及により本願に組み込み、本願と共に出願される。
【図面の簡単な説明】
【図１】本発明の一実施例による例示的なｘＤＳＬ  ＳＯＨＯルータ/ゲートウエイシステムのブロック線図。
【図２】本発明の一実施例による例示的なＡＴＭモジュールのブロック線図。
【図３】本発明の一実施例による例示的なＡＴＭプロセッサのブロック線図。
【図４】本発明の例示的な実施例によるＡＡＬ２モジュールにおけるハードウエアで実施されるＡＡＬ２送信機部の機能的ブロック線図。
【図５】本発明の一実施例によるＡＡＬ２受信機部の機能的ブロック線図。
【図６Ａ】本発明の一実施例によるセルバッファモジュールインタコネクトのブロック線図。
【図６Ｂ】本発明の一実施例によるセルバッファモジュールの集積化した優先キャッシュのブロック線図。
【図７】本発明の一実施例によるポートＩＤ及び優先順位をもつ整列したＡＴＭセルフォーマット。
【図８】本発明の一実施例によるパック済みデータ構造プロセッサ、ＡＴＭプロセッサのプログラム可能なコア部及びＡＴＭプロセッサの種々のインターフェースのブロック線図。
【符号の説明】
１００  ルータ／ゲートウェイ
１０１  ＡＴＭモジュール
１２０  ＡＴＭプロセッサ
１４０  チップ／周辺インターコネクトモジュール
１６０，１７０  ＤＳＰ
１６５，１７５  コーディック
４１５  ＤＭＡ
４２０  分割エンジン
９４０  ＡＡＬ２送信機部
【図１】
0003964249.tif 000002
【図２】
0003964249.tif 000003
【図３】
0003964249.tif 000004
【図４】
0003964249.tif 000005
【図５】
0003964249.tif 000006
【図６Ａ】
0003964249.tif 000007
【図６Ｂ】
0003964249.tif 000008
【図７】
0003964249.tif 000009
【図８】
0003964249.tif 000010