(57)【特許請求の範囲】
【請求項１】
データフレームから生じたデータパケットを管理する方法であって、前記データパケットは処理前にバッファ手段に呈示され、データフレームの開始に対応するデータパケットがバッファ段に呈示されたとき、前記バッファ手段の充填レベルが、輻輳の状態に対応する所定の第１の充填しきい値を超えているかどうかが判定され、超えている場合、このデータパケットおよび同じデータフレームに属するすべてのデータパケットが前記バッファ手段の前で系統的に廃棄され、前記データフレームがＡＡＬ２接続から生じ、それぞれが各非同期転送モード（ＡＴＭ）アダプテーションレイヤタイプ２サービスデータユニット（ＡＡＬ２ＳＤＵ）を構成し、前記データパケットがコモンパートサブレイヤ（ＣＰＳ）パケットであり、前記ＣＰＳパケットが非同期転送モード（ＡＴＭ）セルに多重化される前に、前記バッファ手段が前記ＣＰＳパケットを格納する、方法。
【請求項２】
前記第１の充填しきい値を超えている場合、データパケットが、一方で前記第１の充填しきい値を超える前に前記バッファ手段に入るのを許可された最初のデータパケットの後に続いており、他方で前記最初のデータパケットと同じデータフレームから生じている場合にのみ、前記データパケットが前記バッファ手段に入ることができる、請求項１に記載の方法。
【請求項３】
前記バッファ手段は、前記第１の充填しきい値を超えたときに前記輻輳の状態となり、前記第１の充填しきい値よりも低い、前記バッファ手段の第２の充填しきい値よりも下になることによって前記輻輳の状態が解除される、請求項１に記載の方法。
【請求項４】
前記第１の充填しきい値を超えたときの前記バッファ手段の残り容量が、前記バッファ手段に最初のデータパケットが受け入れられているデータフレームの残りのデータパケットすべてを受け入れるのに実質的に十分となるように、前記第１の充填しきい値が設定される、請求項１に記載の方法。
【請求項５】
ＣＰＳパケットごとに、ユーザ間インタフェース（ＵＵＩ）フィールドを使用してＣＰＳパケットがＡＡＬ２ＳＤＵを形成する最後のＣＰＳパケットかどうかが判定され、最後である場合に、直後のＣＰＳパケットが最初のＣＰＳパケットとみなされ、
ＡＡＬ２ＳＤＵフレームの最初のＣＰＳパケットの場合に、前記バッファ手段が輻輳の状態にあるかどうかが検出され、
輻輳の場合、前記最初のＣＰＳパケットおよび後続のすべてのＣＰＳパケットは、ＣＰＳパケットのＵＵＩフィールドが現ＡＡＬ２ＳＤＵフレームの最後のＣＰＳパケットに対応することが検出されるＣＰＳパケットまで、そのＣＰＳパケットを含めて廃棄される、請求項１に記載の方法。
【請求項６】
ＣＰＳパケットごとに、ユーザ間インタフェース（ＵＵＩ）フィールドを使用してＣＰＳパケットがＡＡＬ２ＳＤＵを形成する最後のＣＰＳパケットかどうかが判定され、最後である場合に、直後のＣＰＳパケットが最初のＣＰＳパケットとみなされ、
ＡＡＬ２ＳＤＵフレームの最初のＣＰＳパケットの場合に、前記バッファ手段が輻輳の状態にあるかどうかが検出され、
前記バッファ手段が前記最初のＣＰＳパケットに対して輻輳の状態にない場合、前記最初のＣＰＳパケットおよび後続のすべてのＣＰＳパケットは、ＣＰＳパケットのＵＵＩフィールドが現ＡＡＬ２ＳＤＵフレームの最後のＣＰＳパケットに対応することが検出されるＣＰＳパケットまで、そのＣＰＳパケットを含めて前記バッファ手段に系統的に受け入れられる、請求項１に記載の方法。
【請求項７】
ＣＰＳパケットごとに、ユーザ間インタフェース（ＵＵＩ）フィールドを使用してＣＰＳパケットがＡＡＬ２ＳＤＵを形成する最後のＣＰＳパケットかどうかが判定され、最後である場合に、直後のＣＰＳパケットが最初のＣＰＳパケットとみなされ、
ＡＡＬ２ＳＤＵフレームの最初のＣＰＳパケットの場合に、前記バッファ手段が輻輳の状態にあるかどうかが検出され、
前記バッファ手段が輻輳の状態にない場合、前記最初のＣＰＳパケットが前記バッファ手段に受け入れられ、前記最初のＣＰＳパケットと同じＡＡＬ２ＳＤＵフレームに属する後続のＣＰＳパケットごとに、ＣＰＳパケットが前記バッファ手段がオーバーフローの状態にない場合にのみ受け入れられる、請求項１に記載の方法。
【請求項８】
着信ＣＰＳパケットごとに、前記ＣＰＳパケットのヘッダの長さインディケータフィールド（ＬＩ）が読み取られて、該着信ＣＰＳパケットの長さが決定され、
そのように決定された到着ＣＰＳパケットの長さを利用して、バッファ占有カウンタが更新され、バッファ占有カウンタは、
ｉ）所与のＡＡＬ２接続用に前記バッファ手段中で使用されるオクテットの瞬間的な数、
ｉｉ）所与のＡＡＬ２接続のグループ用に前記バッファ手段中で使用されるオクテットの瞬間的な数、および
ｉｉｉ）前記バッファ手段中に格納されたすべてのＡＡＬ２接続によって前記バッファ中で使用されるオクテットの瞬間的な数、のうちの少なくとも１つを格納するように構成される、請求項１に記載の方法。
【請求項９】
データフレームから生じたデータパケットを管理する装置であって、データパケットは処理前にバッファ手段に呈示され、
バッファ手段に呈示されたデータパケットがデータフレームの最初のデータパケットかどうかを判定するためのデータパケット分析手段と、
バッファ手段の前記充填レベルが、輻輳の状態に対応する所定の第１の充填しきい値を超えるかどうかを判定する手段と、
前記バッファ手段の前記充填レベルが前記第１の充填しきい値を超える場合にアクティブである手段であって、データフレームの前記最初のデータパケットおよび同じデータフレームに属する後続のデータパケットすべてを前記バッファ手段の前で系統的に廃棄する手段とを備え、前記データフレームがＡＡＬ２接続から生じ、それぞれが各ＡＴＭ（非同期転送モード）アダプテーションレイヤタイプ２サービスデータユニット（ＡＡＬ２ＳＤＵ）を構成し、前記データパケットがコモンパートサブレイヤ（ＣＰＳ）パケットであり、前記バッファ手段は、前記ＣＰＳパケットが非同期転送モード（ＡＴＭ）セルに多重化される前に前記ＣＰＳパケットを格納する、装置。
【請求項１０】
前記第１の充填しきい値を超えているときにアクティブである手段であって、データパケットが、一方では、前記第１の充填しきい値を超える前に前記バッファ手段に入るのを許可された最初のデータパケットの後に続いており、他方では、前記最初のデータパケットと同じデータフレームから生じている場合にのみ、データパケットが前記バッファ手段に入ることができるようにする手段を備える、請求項９に記載の装置。
【請求項１１】
前記バッファ手段は、前記第１の充填しきい値を超えたときに前記輻輳の状態となり、前記第１の充填しきい値よりも低い、前記バッファ手段の第２の充填しきい値よりも下にくることによって前記輻輳の状態が解除される、請求項９に記載の装置。
【請求項１２】
前記第１の充填しきい値を超えたときの前記バッファ手段の残り容量が、前記バッファ手段に最初のデータパケットが受け入れられているデータフレームの残りのデータパケットすべてを受け入れるのに実質的に十分となるように前記第１の充填しきい値が設定される、請求項９に記載の装置。
【請求項１３】
ＣＰＳパケットごとにアクティブである手段であって、ＣＰＳパケットのユーザ間インタフェース（ＵＵＩ）フィールドから、ＣＰＳパケットがＡＡＬ２ＳＤＵを形成する最後のＣＰＳパケットかどうかを判定し、最後である場合に、直後のＣＰＳパケットを最初のＣＰＳパケットとみなす手段と、
ＡＡＬ２ＳＤＵフレームの最初のＣＰＳパケットの場合にアクティブである、前記バッファ手段が輻輳の状態にあるかどうかを検出する手段と、
輻輳の場合にアクティブである手段であって、前記最初のＣＰＳパケットおよび前記後続のＣＰＳパケットすべてを、ＣＰＳパケットのＵＵＩフィールドが現ＡＡＬ２ＳＤＵフレームの最後のＣＰＳパケットに対応することが検出されるＣＰＳパケットまで、そのＣＰＳパケットを含めて廃棄する手段とをさらに備える、請求項９に記載の装置。
【請求項１４】
ＣＰＳパケットごとにアクティブである手段であって、そのユーザ間インタフェース（ＵＵＩ）フィールドから、ＣＰＳパケットがＡＡＬ２ＳＤＵを形成する最後のＣＰＳパケットかどうかを判定し、最後である場合に、直後のＣＰＳパケットを最初のＣＰＳパケットとみなす手段と、
ＡＡＬ２ＳＤＵフレームの最初のＣＰＳパケットの場合にアクティブであって、前記バッファ手段が輻輳の状態にあるかどうかを検出する手段と、
前記バッファ手段が前記最初のＣＰＳパケットに対して輻輳の状態にない場合にアクティブである手段であって、前記最初のＣＰＳパケットおよび後続のＣＰＳパケットすべてを、ＣＰＳパケットのＵＵＩフィールドが現ＡＡＬ２ＳＤＵフレームの最後のＣＰＳパケットに対応することが検出されるＣＰＳパケットまで、そのＣＰＳパケットを含めて前記バッファ手段に系統的に受け入れる手段とをさらに備える、請求項９に記載の装置。
【請求項１５】
ＣＰＳパケットごとにアクティブである手段であって、そのユーザ間インタフェース（ＵＵＩ）フィールドから、ＣＰＳパケットがＡＡＬ２ＳＤＵを形成する最後のＣＰＳパケットかどうかを判定し、最後である場合に、直後のＣＰＳパケットを最初のＣＰＳパケットとみなす手段と、
ＡＡＬ２ＳＤＵフレームの最初のＣＰＳパケットの場合にアクティブである、前記バッファ手段が輻輳の状態にあるかどうかを検出する手段と、
バッファ手段が輻輳の状態にない場合にアクティブである手段であって、前記最初のＣＰＳパケットを前記バッファ手段に受け入れ、前記最初のＣＰＳパケットと同じＡＡＬ２ＳＤＵフレームに属する後続のＣＰＳパケットごとに、前記バッファ手段が飽和状態にない場合にのみ前記ＣＰＳパケットを受け入れる手段とをさらに備える、請求項９に記載の装置。
【請求項１６】
着信ＣＰＳパケットごとにアクティブである手段であって、ＣＰＳパケットのヘッダの長さインディケータフィールド（ＬＩ）を読み取り、到着ＣＰＳパケットの長さを決定する手段と、
そのように決定された到着ＣＰＳパケットの長さに基づいて前記バッファ占有カウンタを更新する手段とをさらに備え、バッファ占有カウンタは、
ｉ）所与のＡＡＬ２接続用に前記バッファ手段中で使用されるオクテットの瞬間的な数と、
ｉｉ）所与のＡＡＬ２接続のグループ用に前記バッファ手段中で使用されるオクテットの瞬間的な数と、
ｉｉｉ）バッファ手段中に格納されたすべてのＡＡＬ２接続によって前記バッファ中で使用されるオクテットの瞬間的な数、とのうちの少なくとも１つを格納するように構成される、請求項９に記載の装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、無線または有線通信ネットワークにおける非同期パケットの形をとるデータ転送の分野に関する。データパケットが非同期で転送されるとき、着信データパケットの瞬間的なフローレートが多重化の最大スループット容量を超える場合に、ネットワークノードで輻輳が生じるリスクがある。このコンテキストで、本発明はより詳細には、ただしこれに限らないが、ＡＡＬ２（ＡＴＭ（非同期転送モード）アダプテーションレイヤ２）接続として知られるネットワーク接続を多重化するバッファ中のそのような輻輳を管理するためのプロトコルに関する。
【０００２】
【従来の技術】
ＡＡＬ２は、とりわけＵＴＲＡＮ（ＵＭＴＳ（ユニバーサル移動通信システム）地上無線アクセスネットワーク）で使用される。ＵＴＲＡＮは、ＵＭＴＳ用の地上無線アクセスネットワークである。ＵＭＴＳは、標準化機構によって定義された第３世代移動システム（３ＧＰＰ）を構成する。
【０００３】
ＡＡＬ２プロトコル、およびデータ伝送システムにおけるその実施は、よく確立されており、現在、例えば国際電気通信連合電気通信標準化部門（ＩＴＵ−Ｔ）による刊行物、「Ｓｅｒｉｅｓ  Ｉ：Ｓｅｇｍｅｎｔａｔｉｏｎ  ａｎｄ  Ｒｅａｓｓｅｍｂｌｙ  Ｓｅｒｖｉｃｅ  Ｓｐｅｃｉｆｉｃ  Ｃｏｎｖｅｒｇｅｎｃｅ  Ｓｕｂｌａｙｅｒ  ｆｏｒ  ｔｈｅ  ＡＡＬ  ｔｙｐｅ２」という名称の勧告Ｉ３６６．１（０６／９８）中で、また、ＩＴＵ−Ｔからの「Ｂ−ＩＳＤＮＡＴＭ  Ａｄａｐｔａｔｉｏｎ  ｌａｙｅｒ  ｔｙｐｅ２  Ｓｐｅｃｉｆｉｃａｔｉｏｎ」という名称の勧告Ｉ．３６３．２中で標準化されており、これらの内容を従来技術に含めるものとする。
【０００４】
図１は、コアネットワーク（ＣＮ）を２つのコントローラ（ＲＮＣ）にリンクする通信ネットワークの一部の一例を示す概略図であり、コントローラ自体は、ノードＢと呼ばれる基地局に接続される。類比としては、ノードＢは、ＧＳＭシステムにおける無線基地局（ＢＴＳ）に相当する。ノードＢおよびＲＮＣは、Ｉｕｂ（Ｉｎｔｅｒｆａｃｅ  ＵＭＴＳ  ｂｉｓ、ＧＳＭのＡｂｉｓインタフェースに相当する）として知られるインタフェースによって相互に接続される。ＲＮＣは、インタフェースＩｕ（ＵＭＴＳインタフェース）を介してコアネットワークＣＮに接続される。
【０００５】
ＲＮＣは、インタフェースＩｕｒ（２つのＲＮＣ間のＵＭＴＳインタフェース）によって相互に接続される。これらのインタフェースはＡＴＭに基づく。ＡＴＭは、Ｉｕ、Ｉｕｒ、Ｉｕｂインタフェース用のトランスポート層として使用される。
【０００６】
インタフェースＩｕｒおよびＩｕｂは、無線データフレームまたは多重無線データフレームを受け取る。無線レベルでは、データフレームは１０ｍｓの持続時間を有する。ＩｕｂおよびＵｒインタフェース上のデータフレーム伝送間の時間間隔は、通常１０ｍｓ、２０ｍｓ、４０ｍｓ、または８０ｍｓ（それぞれ１、２、４、または８個の無線データフレームに相当する）である。
【０００７】
ＵＭＴＳは、データおよび音声と、場合によってはその他のタイプのいくつかのサービスをトランスポートするように働き、それらのいくつかは、２Ｍｂｉｔｓ／ｓ迄のボーレートを有する可能性がある。
【０００８】
データのトランスポートを、８ｋｂｉｔｓ／ｓのボーレートの音声を含むメッセージの例によって示す。したがって、１０ｍｓごとにデータフレームを送るためには、８０ビットすなわち１０オクテットが使用されることになる。２０ｍｓごとの音声データフレームの送信は、１６０ビットすなわち２０オクテット（バイト）を必要とする。１４４ｋｂｉｔｓ／ｓのデータサービスを使用する場合、データフレームは、４つまたは８つのグループとして形成することができる。伝送時間間隔は、一般に４０または８０ｍｓである。８０ｍｓのデータフレームの場合、１データフレームにつき１４４０オクテットがＩｕｂインタフェース上で利用可能であることになる。４０ｍｓのデータフレームでは、１データフレームにつき７２０オクテットがＩｕｂインタフェース上で利用可能であることになる。
【０００９】
ＡＴＭシステムは、５３オクテット（バイト）のセルを使用する。接続識別情報用に５オクテット、およびペイロードの形成用に４８オクテットである。
【００１０】
したがって、利用可能な４８オクテットをそれぞれが有するＡＴＭセルによって、情報（例えば前述の１０または１４４０オクテット）をトランスポートしなければならない。
【００１１】
このために、ＡＴＭアダプテーションレイヤ、すなわちＡＡＬ２が使用される。このアダプテーションレイヤは、いくつかのサブレイヤを含む。サービス固有セグメント化／再アセンブリサブレイヤ（ＳＳＳＡＲ：Ｓｅｒｖｉｃｅ  ｓｐｅｃｉｆｉｃ  ｓｅｇｍｅｎｔａｔｉｏｎ  ａｎｄ  ｒｅａｓｓｅｍｂｌｙ  ｓｕｂｌａｙｅｒ）は、ＳＥＧ−ＳＳＣＳ（オプション）の一部を形成し、４５オクテットを超えるデータパケットを分割できるようにする。コモンパートサブレイヤ（ＣＰＳ：ｃｏｍｍｏｎ  ｐａｒｔ  ｓｕｂｌａｙｅｒ）として知られるもう１つのサブレイヤは、ＳＳＳＡＲサービスデータユニット（ＳＤＵ）をＡＴＭセルのペイロード中に多重化できるようにする（ＡＴＭセルのペイロードは、常に４８オクテットである）。
【００１２】
図２は、異なるＡＡＬ２サブレイヤおよびＡＴＭレイヤを示す図であり、これらは、データフレームがＩｕｂまたはＩｕｒインタフェース上に送られたときに機能し始める。図のちょうど下部に、４８オクテットのペイロードに加えて５オクテットのヘッダを含むＡＴＭセルを示す。
【００１３】
この図は、図中の最上層として示す１５０オクテット長さのＡＡＬ２ＳＤＵフレームの一例に基づく。使用されるサービス固有コンバージェンスサブレイヤ（ＳＳＣＳ、ｓｅｒｖｉｃｅ  ｓｐｅｃｉｆｉｃ  ｃｏｎｖｅｒｇｅｎｃｅ  ｓｕｂｌａｙｅｒ）は、セグメント化／再アセンブリサービス固有コンバージェンスサブレイヤ（ＳＥＧ−ＳＳＣＳ：ｓｅｇｍｅｎｔａｔｉｏｎ  ａｎｄ  ｒｅａｓｓｅｍｂｌｙ  ｓｅｒｖｉｃｅ  ｓｐｅｃｉｆｉｃ  ｃｏｎｖｅｒｇｅｎｃｅ  ｓｕｂｌａｙｅｒ）である。これは、この例ではサービス固有セグメント化／再アセンブリ（ＳＳＳＡＲ、ｓｅｒｖｉｃｅ  ｓｐｅｃｉｆｉｃ  ｓｅｇｍｅｎｔａｔｉｏｎ  ａｎｄ  ｒｅａｓｓｅｍｂｌｙ）サブレイヤに変えられている。したがって、ＳＳＳＡＲ  ＳＤＵフレームは、ＡＡＬ２ＳＤＵフレームと同じ長さである。この長さは、時間の経過と共に変わる可能性があり、ボーレート、トランスポートすべきデータの量などによって決まる。
【００１４】
２つのＡＡＬ２レイヤが、この場合に対象のレイヤとなる。すなわち、必須のコモンパートサブレイヤ（ＣＰＳ）、およびオプションのセグメント化／再アセンブリレイヤであるセグメント化／再アセンブリサービス固有コンバージェンスサブレイヤ（ＳＥＧ−ＳＳＣＳ）である。
【００１５】
その名が示すように、ＳＳＳＡＲは、ＳＳＳＡＲ  ＳＤＵ（この場合は１つのＡＡＬ２ＳＤＵは１つのＳＳＳＡＲ  ＳＤＵと等しい）を、ＳＳＳＡＲプロトコルデータユニットＰＤＵと呼ばれるデータパケットにセグメント化（および再アセンブリ）することになり、このデータパケットのデフォルトの最大サイズは４５オクテットである。したがって、この例の１５０オクテットＡＡＬ２ＳＤＵは、３つの４５オクテットＳＳＳＡＲ  ＰＤＵに分割することができ、残りの１５オクテットは、第４のＳＳＳＡＲ  ＰＤＵにロードすることができる。
【００１６】
次いで、ＳＳＳＡＲ  ＰＤＵは、フォーマット、および特に構成オクテット数に関して、１つのＳＳＳＡＲ  ＰＤＵが１つのＣＰＳ  ＳＤＵに対応するという条件を保ちながら、必須のコモンパートサブレイヤ（ＣＰＳ）に転送される。
【００１７】
ＣＰＳレイヤは、ＡＴＭセルのペイロードを形成する４８オクテット上に、ＣＰＳレイヤが受け取るＣＰＳ ＳＤＵを多重化する。
【００１８】
このために、ＣＰＳレイヤは、各ＣＰＳ  ＳＤＵの識別用に、３オクテットのヘッダをＣＰＳレイヤが受け取る各ＣＰＳ  ＳＤＵに加えることになる。
【００１９】
この３オクテットを図３に示すが、これらは以下のものを含む。
・５ビットの誤り訂正フィールドＨＥＣ。
・ＡＡＬ２接続番号すなわちチャネルユーザＡＡＬ２ＣＰＳを識別する、８ビットのＣＩＤフィールド。
・ＣＰＳパケットのペイロード長から１を引いたものを識別する、６ビットのＬＩフィールド。ＣＰＳパケットの最大長さはデフォルトで４５オクテットだが、この値は、シグナリングによって６４オクテットに増加させることができる。
・５ビットのＵＵＩ（ｕｓｅｒ−ｔｏ−ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ、ユーザ間インタフェース）フィールド。ＳＥＧ  ＳＳＣＳの場合、ＣＰＳ−ＵＵＩを使用して「モアデータ（Ｍｏｒｅ  Ｄａｔａ）」ビットが実装される。「２７」に等しい値のＵＵＩ値は、ＳＳＳＡＲ−ＳＤＵの再アセンブリを完了するためにデータがさらに必要とされることを示す。「２６」に等しい値は、ＳＳＳＡＲ  ＳＤＵの最後のデータが受信されたことを示す。その他の値、すなわち０と２６の間の値はどれも、他のＳＳＣＳ仕様との互換性の理由から使用すべきではない。
【００２０】
したがって、セグメント化の場合、ＵＵＩフィールドは、ＳＳＳＡＲ  ＳＤＵ（この例では１５０オクテット）の終わりの受信を示すために値「２６」を有し、データがさらに後に続くことを示すために値「２７」を有する。
【００２１】
言い換えれば、ＵＵＩフィールドが「２７」を生じる間中ずっと、受信されたＣＰＳパケットは未完了であり、それが「２６」を生じるとすぐに、そのＣＰＳパケットは再アセンブリされて所与のＳＳＳＡＲ  ＳＤＵに属することになる。
【００２２】
旧来のインストレーションでは、ＳＳＳＡＲがＳＳＳＡＲ  ＳＤＵの再アセンブリ中にエラーを検出した場合、完全なＣＰＳ  ＳＤＵが廃棄されなければならない。
【００２３】
この３オクテットは、ＣＰＳパケットヘッダ中にもまた表れる。
【００２４】
１つだけのＣＰＳ  ＰＤＵの場合にＡＴＭセルのペイロード内またはＣＰＳ  ＰＤＵ内にある最初のＣＰＳパケットの位置を識別するように働くＣＰＳ−ＰＤＵスタートフィールド（ＳＴＦ）オクテットもある。
【００２５】
ＣＰＳ  ＰＤＵは、ＡＴＭセルのペイロードに対応する。
【００２６】
ＣＰＳ  ＰＤＵのサイズは、常に（ＡＴＭセルのペイロードに等しい）４８オクテットに等しい。最初のＣＰＳ  ＰＤＵオクテットは、常にＳＴＦオクテットである。残りの４７オクテットは、ＣＰＳパケットオクテットかパディングかどちらかである。
【００２７】
ＣＰＳ  ＳＤＵが４５オクテットの場合、ＣＰＳパケットは、４５＋３＝４８オクテットを有することに留意されたい。
【００２８】
したがって、最初の４７オクテットを、１つのＣＰＳ  ＰＤＵに挿入することができる。残った最後のオクテットは、別のＣＰＳ  ＰＤＵに入ることになる。
【００２９】
したがって、ＣＰＳ  ＳＤＵをＣＰＳ  ＰＤＵに多重化するとき、ペイロードのレベルで、またがりが生じる。図２に示すように、ＣＰＳ  ＳＤＵの第１の４５ペイロードオクテットは、２つのＣＰＳ  ＰＤＵ上で分割され、４４オクテットが第１のＣＰＳ  ＰＤＵ中になり（したがってそのパケットのペイロードを完全に満たし）、残りの１オクテットが後続のＣＰＳ  ＰＤＵ中になる。このオクテットは、後続のＣＰＳ  ＰＤＵのＳＴＦオクテットの後に直接置かれる。
【００３０】
第２のＣＰＳ  ＰＤＵが、第２のＣＰＳ  ＳＤＵを多重化するために４３オクテットしか有することができないことは理解されるであろう。したがって、その第２のＣＰＳ  ＳＤＵの最後の２オクテットは、第３のＣＰＳ  ＰＤＵ中で、そのＳＴＦのすぐ後に組み込まれることになる。
【００３１】
したがって、ＣＰＳ  ＰＤＵ用のＳＴＦオクテットは、最初のＣＰＳパケットの開始がＳＴＦオクテットのすぐ後に位置することを示すことになる。第２のＣＰＳ  ＰＤＵの場合、第２のＣＰＳパケットの開始が２番目のオクテットからとなるように位置されることをＳＴＦオクテットが示すことになり、第３のＣＰＳＰＤＵの場合、第３のＣＰＳパケットの開始が３番目のオクテットからとなるように位置されることをＳＴＦオクテットが示すことになる。
【００３２】
図２に示すように、第４のＣＰＳ  ＰＤＵは、ＳＴＦオクテット、それに続く第３のＣＰＳ  ＳＤＵの残り３オクテット、それに続く第４のＣＰＳ  ＰＤＵの３オクテットヘッダ、および第４のＣＰＳ  ＳＤＵの１５オクテットすべて、すなわち合計２２オクテットを含む。したがって、この第４のＣＰＳ  ＰＤＵは、ペイロード中に２６フリーオクテットを有する。
【００３３】
この例では、この２６オクテットは、図２の上部ラインに示すような２０オクテットしか含んでいない後続のＡＡＬ２ＳＤＵを多重化するために部分的に活用される。このＡＡＬ２ＳＤＵは、例えば、２０ｍｓで音声をサンプリングするための別の接続に対応する場合もある。
【００３４】
最初の、１５０オクテットのＡＡＬ  ＳＤＵと同様に、この２０オクテットのＡＡＬ  ＳＤＵは、前述の３オクテットヘッダに加えて２０ペイロードオクテットを含んでおり合計２３オクテットを形成するＣＰＳ  ＳＤＵ（この場合は単一パケット１つだけ）の形に変換される。このＣＰＳパケットを、２６フリーオクテットを有する第４のＣＰＳ  ＰＤＵ中に含めて組み込むことができる。この第４のＣＰＳ  ＰＤＵの使用されない３オクテットは、どんな情報も有しないパディングオクテットで埋められる。
【００３５】
このように多重化されたＣＰＳ  ＰＤＵは、次いで、ＡＴＭサービスアクセスポイント（ＳＡＰ）を介してＡＴＭレイヤに転送される。ＡＴＭレイヤは、それぞれが５オクテットのヘッダおよび４８オクテットのペイロードで構成されるＡＴＭセルを含む。したがって、ＣＰＳ  ＰＤＵを、ＡＴＭセルのペイロード中に含めて組み込むことができる。
【００３６】
実際には、ＣＰＳパケットは、ＣＰＳ  ＰＤＵへの中間多重化を経由して対応するＡＴＭセルに置き換えられる前に、バッファに格納される。実際、情報はバッファに非同期で到着し、ＣＰＳパケットをＣＰＳ  ＰＤＵに変換するためには、無視できないいくらかの処理時間が必要とされる。したがって、所与の瞬間に、インタフェース上で転送できるよりも多くの情報をＣＰＳパケットの形で受け取ることがあり得る。これが、パケットをバッファに入れなければならない理由である。
【００３７】
図２の場合におけるＣＰＳパケットのバッファへの到着を、図４に概略的に示す。図の上部に、ＦＩＦＯ原則に従って暫定的に格納された５つのＣＰＳパケットを示す。これらのＣＰＳパケットは、これらのＣＰＳパケットを前述のようにＣＰＳ  ＰＤＵに変換し対応するＡＴＭセル用のペイロードを作成する機能を有するユニット（図示せず）に、同期式で送られる。
【００３８】
【発明が解決しようとする課題】
このときＵＭＴＳでは、ＡＴＭセルを形成するためのバッファのレベルでの着信負荷が、ごく一時的に１よりも大きい場合がある。言い換えれば、ＡＴＭセルに多重化して出力できるよりも多くのＣＰＳパケットが到着する状況が発生する。このとき、瞬間的な過負荷が発生する可能性がある。この過負荷状況が長く続きすぎると、バッファがオーバーフローする可能性があり、したがってＣＰＳパケットが失われる可能性がある。
【００３９】
従来技術では、バッファが一杯のときは、着信データパケットをそれらの発生源を考慮せずに無作為に廃棄しなければならない。概して言えば、適切なバッファの管理はなく、バッファのオーバーフローを引き起こすデータパケットは、バッファが一杯である間中ずっと系統的に廃棄される。この結果、いくつかのＡＡＬ２ＳＤＵブロックが不必要に破棄される場合がある。
【００４０】
【課題を解決するための手段】
これらの問題に鑑みて、本発明は、データフレームから生じたデータパケットを管理する方法であって、データパケットは処理前にバッファ手段に呈示され、データフレームの開始に対応するデータパケットがバッファ段に呈示されると、バッファ手段の充填レベルが輻輳状態に対応する第１の所定充填しきい値を超えているかどうかが判定され、超えている場合、そのデータパケットおよびそれと同じデータフレームに属するすべてのデータパケットが、バッファの前で系統的に廃棄される。
【００４１】
本発明による方法は、前述のＡＡＬ２接続に特によく役立ち、この場合、当該のデータフレームはＡＡＬ２接続から生じ、それぞれは各ＡＴＭ（非同期転送モード）アダプテーションレイヤサービスデータユニット（ＡＡＬ２ＳＤＵ）を構成し、データパケットはコモンパートサブレイヤ（ＣＰＳ）パケットであり、バッファ手段は、ＣＰＳパケットが非同期転送モード（ＡＴＭ）セルに多重化される前にＣＰＳパケットを格納する。バッファに格納される途中で（例えばＡＡＬ２ＳＤＵに対応する）データフレームを破棄しない目的で、第１のしきい値を超えている場合でもデータパケットはなおバッファ手段に入ることができるが、ただしそのデータパケットが、一方では、第１のしきい値を超える前にバッファ手段に入るのを許可された最初のデータパケットの後に続いており、他方では、その最初のデータパケットと同じデータフレームから生じた場合に限って入ることができる。
【００４２】
バッファの輻輳しきい値レベルを決定するために、異なる様々な基準を考えることができる。好ましい一実施形態では、第１のしきい値を超えたときに輻輳の状態となり、第１のしきい値よりも低い、バッファ手段の第２の充填しきい値よりも下になることによって輻輳の状態が解除される。したがって、輻輳基準はヒステリシス効果を呈する。
【００４３】
本発明の第１の態様によれば、第１のしきい値を超えたときのメモリの残り容量が、バッファ手段に最初のデータパケットが受け入れられているデータフレームの残りのデータパケットすべてを受け入れるのに実質的に十分になるように第１のしきい値が設定される。このようにして、バッファにロードされる途中のデータフレームはどれも、失われることはあり得ない。
【００４４】
ＡＡＬ２接続の場合、以下のような機構をセットアップすることができる。
【００４５】
ＣＰＳパケットごとに、ユーザ間インタフェース（ＵＵＩ）フィールドを使用してＣＰＳパケットがＡＴＭ（非同期転送モード）アダプテーションレイヤタイプ２（ＡＡＬ２）サービスデータユニット（ＳＤＵ）を形成する最後のＣＰＳパケットかどうかが判定され、最後である場合に、直後のコモンパートサブレイヤ（ＣＰＳ）パケットが最初のＣＰＳパケットとして決定される。
【００４６】
ＡＡＬ２サービスデータユニット（ＳＤＵ）フレームの最初のＣＰＳパケットの場合に、バッファ手段が輻輳の状態にあるかどうかが検出される。
【００４７】
輻輳の場合、前記最初のＣＰＳパケットおよび後続のすべてのＣＰＳパケットは、そのＣＰＳパケットのＵＵＩフィールドが現ＡＡＬ２ＳＤＵフレームの最後のＣＰＳパケットに対応することが検出されたＣＰＳパケットまで、そのＣＰＳパケットを含めて廃棄される。
【００４８】
さらに、以下のように進行することができる。
【００４９】
ＣＰＳパケットごとに、ユーザ間インタフェース（ＵＵＩ）フィールドを使用してＣＰＳパケットがＡＡＬ２ＳＤＵを形成する最後のＣＰＳパケットかどうかが判定され、最後である場合に、直後のＣＰＳパケットが最初のＣＰＳパケットとして決定される。
【００５０】
ＡＡＬ２ＳＤＵフレームの最初のＣＰＳパケットの場合に、バッファ手段が輻輳の状態にあるかどうかが検出される。
【００５１】
バッファ手段が輻輳の状態にない場合、最初のＣＰＳパケットおよび後続のすべてのＣＰＳパケットは、そのＣＰＳパケットのＵＵＩフィールドが現ＡＡＬ２ＳＤＵフレームの最後のＣＰＳパケットに対応することが検出されたＣＰＳパケットまで、それを含めて前記バッファ手段に受け入れられる。
【００５２】
この機構はまた、以下のように動作することもできる。
【００５３】
ＣＰＳパケットごとに、ユーザ間インタフェース（ＵＵＩ）フィールドを使用してＣＰＳパケットがＡＡＬ２ＳＤＵを形成する最後のＣＰＳパケットかどうかが判定され、最後である場合に、直後のＣＰＳパケットが最初のＣＰＳパケットとして決定される。
【００５４】
ＡＡＬ２ＳＤＵフレームの最初のＣＰＳパケットの場合に、バッファ手段が輻輳の状態にあるかどうかが検出される。
【００５５】
バッファ手段が輻輳の状態にない場合、前記最初のＣＰＳパケットはバッファ手段に受け入れられ、最初のＣＰＳパケットと同じＡＡＬ２ＳＤＵフレームに属する後続のＣＰＳパケットごとに、ＣＰＳパケットが、前記バッファ手段が飽和状態にない場合にのみ受け入れられる。
【００５６】
ＡＡＬ２データ伝送システムの場合、データフレームは完全なＡＡＬ２ＳＤＵであることになり、したがって、そのＡＡＬ２ＳＤＵに属するＣＰＳパケットは、輻輳の場合には系統的に廃棄されることになる。
【００５７】
言い換えれば、ＡＡＬ２接続の場合に輻輳状態が起こったとき、パケット廃棄機構が作動して、各ＡＡＬ２ＳＤＵからいくつかのＣＰＳパケットだけが除去される代わりにＡＡＬ２ＳＤＵ全体のすべてのＣＰＳパケットがインテリジェントに除去される。
【００５８】
実際、ＡＡＬ２ＳＤＵの１つまたはいくつかのＣＰＳパケットが失われると、ＡＡＬ２ＳＤＵ全体が失われる。本発明によるこの場合では、いくらかでも失われることになるＡＡＬ２ＳＤＵはすべて廃棄される。このようにするとき、パケット廃棄プロセス中にメモリが解放できるようにすることによって、メモリ中の空間がクリアされる。
【００５９】
ＡＡＬ２通信システムの場合になお、前述のＣＰＳパケットヘッダのＵＵＩフィールドを活用することによって選択的除去を有利に達成することができる。このフィールドは、対応するＡＡＬ２ＳＤＵのデータフレームの長さと等しい長さであるＳＳＳＡＲ  ＳＤＵフレームの最後のデータを受信したことを示す。
【００６０】
この場合、本発明による機構を実施して、ＵＵＩフィールドの値を決定することができる。輻輳しきい値が達せられると、この機構は、後続のＣＰＳパケットが２７に等しいＵＵＩフィールドを有する場合、輻輳しきい値が達せられる前にすでに入ることを許可され始めたＡＡＬ２ＳＤＵの残りのＣＰＳパケットがすべて入れるようにする。このフィールドについて値２６が検出されたとき、そのＣＰＳパケットが現ＡＡＬ２ＳＤＵに対する最後のＣＰＳパケットであることが確定される。したがって、それもまたバッファに入ることを許可される。しかし、そのＵＵＩフィールドのレベルで値２７（次のＣＰＳパケットがＡＡＬ２ＳＤＵ全体を含む場合には２６）を有することになる次のＣＰＳパケットは、廃棄されることになる。同じことが、同じＡＡＬ２ＳＤＵの後続のＣＰＳパケットにも当てはまり、後続のＣＰＳパケットは、ＵＵＩフィールドに対して値２６を有することになる最後のＣＰＳパケットを除き、ＣＰＳパケットのＵＵＩフィールドのレベルで値２７によって識別される。
【００６１】
データフレームの最大長さに限度があることが分かっており、この長さはＡＡＬ２ＳＤＵ接続の場合に例えば６５５６８オクテットであるため、パケット廃棄ステップは、現データフレームのＣＰＳパケットを受け入れ続けて次のデータフレームのＣＰＳパケットを廃棄するだけにすることがなお可能なように、バッファが完全に飽和状態になる前に行われることが好ましい。
【００６２】
起こり得るバッファの輻輳およびオーバーフロー条件を効率的に管理する目的で、この方法は有利にも、以下のように動作する。
・着信ＣＰＳパケットごとに、ＣＰＳパケットヘッダの長さインディケータフィールド（ＬＩ：Ｌｅｎｇｔｈ  Ｉｎｄｉｃａｔｏｒ  ｆｉｅｌｄ）が読み取られて、到着ＣＰＳパケットの長さが決定される。
・そのように決定された着信ＣＰＳパケットの長さを使用して、以下のうちの少なくとも１つを格納するように構成されたバッファ占有カウンタが更新される。
ｉ）所与のＡＡＬ２接続用にバッファ中で使用されるオクテットの瞬間的な数。
ｉｉ）所与のＡＡＬ２接続のグループ用にバッファ中で使用されるオクテットの瞬間的な数。
ｉｉｉ）バッファ中に格納されたすべてのＡＡＬ２接続によってバッファ中で使用されるオクテットの瞬間的な数。
【００６３】
本発明はまた、データフレームから生じたデータパケットを管理するための装置にも関し、ＣＰＳパケットは処理される前にバッファ手段に呈示され、この装置は以下のものを備える。
・前記バッファ手段に呈示されたＣＰＳパケットがデータフレームの最初のＣＰＳパケットかどうかを分析するためのパケット分析手段。
・バッファ手段の充填レベルが輻輳の状態に対応する第１の所定充填しきい値を超えるかどうかを判定するための手段。
・前記バッファ手段の充填レベルが第１のしきい値を超える場合にアクティブであって、データフレームのこの最初のＣＰＳパケット、および同じデータフレームに属する後続のすべてのＣＰＳパケットをバッファの前で系統的に廃棄する手段。
【００６４】
この装置はさらに、上記および方法クレーム中に定義したすべてのプロセスステップを実施するように構成することができる。
【００６５】
これは、従来のコンピュータアーキテクチャに従ってプログラムにより動作するプロセッサを中心とすることができる。ＡＡＬ２接続の場合、プロセッサは、通信と、ＣＰＳパケットを受け取るバッファとを管理する汎用処理手段に同化させることができる。
【００６６】
本発明の他の利点および特徴は、添付の図面を参照しながら、単に例として挙げる好ましい実施形態の説明を読めばより明白になるであろう。
【００６７】
【発明の実施の形態】
本発明による管理方法は、図２および３に示したメッセージの例に従って述べる。
【００６８】
しかし、まず図５を参照しながら輻輳およびオーバーフローの概念を述べる。
【００６９】
図５に、ＣＰＳパケットがＡＴＭセルペイロードにロードされるようＣＰＳ  ＰＤＵに多重化される前にＣＰＳパケットを受け取るバッファメモリ４０の格納容量を、柱の形で示す。所与の瞬間のメモリの充填レベルを矢印Ｆで示す。矢印Ｆが高いほど、メモリ４０はより充填されている。
【００７０】
メモリ４０は、２つの充填しきい値を含む。すなわち、メモリの絶対的限界に近い、輻輳しきい値に対応する高い方のしきい値４２と、メモリの低い方の充填レベルに対応する、低い方のしきい値４４である。これらのしきい値４２と４４の間にクリティカルゾーン４６が規定され、これは、後で説明するようにヒステリシス範囲を規定する。
【００７１】
バッファメモリ４０の充填レベルが高い方のしきい値４２に達したかまたはそれを超えたとき、輻輳状況が達せられる。しかし、このしきい値が達せられたか、またはそれを超えた後は、メモリの充填レベルがクリティカルゾーン４６中に留まる間中ずっと輻輳条件のままである。言い換えれば、充填レベル（矢印Ｆ）がやや落ちて、高い方のしきい値４２の下にきたがクリティカルゾーン４６内に留まる場合でも、輻輳条件のままである。この場合、輻輳状況を終わらせるためには、充填レベルが低い方のしきい値４４より下になる必要がある。
【００７２】
このように輻輳条件が終わった場合、これは、高い方の限界４２を超えてた場合にのみ再び存在することができる。この理由から、本発明の一実施形態によるクリティカルゾーン４６は、ヒステリシス範囲を形成する。
【００７３】
オーバーフロー状況は単に、メモリの絶対的な格納限界が達せられた場合である。言い換えれば、バッファメモリは、オーバーフロー状況では新しいパケットを受け取ることがもはや物理的に不可能である。
【００７４】
輻輳の場合、ＣＰＳパケットがバッファ４０に届く前にＣＰＳパケットを廃棄することが必要な場合がある。本発明によれば、廃棄されるＣＰＳパケットは、同じＡＡＬ２ＳＤＵフレームから生じたＣＰＳパケットとなる。言い換えれば、前述の基準に従って輻輳条件が達せられたとき、再アセンブリ途中のＡＡＬ２ＳＤＵフレームからのＣＰＳパケットを格納し続けることが（高い方のしきい値４２とバッファメモリのオーバーフローレベルとの間にあるマージンのおかげで）なお可能な場合があるが、前記ＡＡＬ２ＳＤＵフレームがロードされるとすぐに、後続のＡＡＬ２ＳＤＵからくるＣＰＳパケットは、系統的に廃棄されることになる。
【００７５】
ここで、選択的なパケット廃棄アルゴリズムの一例を、図６〜１０を参照しながら述べる。
【００７６】
このアルゴリズムは３つの段階に分けられる。第１の段階は、輻輳がいつ発生したかを決定し、第２の段階は、ＣＰＳパケットを選択的に廃棄し、第３の段階は、次のＣＰＳパケットがＡＡＬ２ＳＤＵフレームの最初かどうかを判定する。
【００７７】
段階１：輻輳決定アルゴリズム
このアルゴリズムは、バッファ４０に輻輳が生じているか否かを決定する。
【００７８】
輻輳基準は、図５を参照しながら述べた通りである。すなわち、ヒステリシス条件を伴う。
【００７９】
このアルゴリズムを、図６の流れ図に示す。
【００８０】
このアルゴリズムは、機能するために以下のパラメータを必要とする。
【００８１】
ｉ）内部パラメータ（ＡＡＬ２接続またはＡＡＬ２接続のグループごと、あるいはバッファごとの）：
・ＣＯＮＧ＿ＶＡＬ：輻輳インディケータ。この値は、輻輳の場合にＯＫであり、輻輳のない場合にＮＯＫである。
・ＣＰＳ＿ＣＯ（ＣＰＳカウンタ）。これは、（ＡＡＬ２接続、ＡＡＬ２接続のグループ、またはバッファ全体ごとの）バッファの現充填レベルを示すカウンタである。言い換えれば、これは、所与のＡＡＬ２接続用にバッファ中にあるオクテットの数（または所与の接続のグループに用にバッファ中にあるオクテットの数、あるいは使用されているオクテットの総数）を示す。
【００８２】
ｉｉ）ＣＰＳパケットコンテキスト：グローバルコンテキストが、処理されるＣＰＳパケットのＬＩ値を読み取れるようにする（ＬＩフィールドがＣＰＳパケットヘッダから読み取られる）。
【００８３】
ｉｉｉ）接続または接続のグループによって、あるいはバッファによって構成可能なコンテキスト：
・ＣＰＳ＿Ｌｏｗ＿Ｔｈｒｅｓｈｏｌｄ＝低い方のしきい値４４
・ＣＰＳ＿Ｈｉｇｈ＿Ｔｈｒｅｓｈｏｌｄ＝高い方のしきい値４２
アルゴリズムは、各着信ＣＰＳパケットのヘッダからＬＩフィールドを読み取ることによって開始する（ステップＳ５６）。ＣＰＳパケットの（オクテット単位での）サイズは、ＬＩ＋１＋３であり、３はヘッダのサイズ、ＬＩ＋１はＣＰＳパケットペイロードのサイズである。
【００８４】
次いで、バッファ４０が輻輳の状態にあるかどうかが判定される（ステップＳ５８）。以前のサンプリングで決定されたことによりバッファが輻輳の状態にある場合（ＣＯＮＧ＿ＶＡＬ＝ＯＫ）、アルゴリズムは枝ｂ１を辿り、ＣＰＳ＿ＣＯ＋ＬＩ＋１＋３が低い方のしきい値と比較される（ステップＳ６０）。ＣＰＳ＿ＣＯ＋ＬＩ＋１＋３が低い方のしきい値４４よりも低い場合は、最初に宣言された輻輳条件がもはや真ではないことが決定され、アルゴリズムは枝ｂ２を辿り、値ＣＯＮＧ＿ＶＡＬ＝ＮＯＫが設定される（ステップＳ６２）。ＣＰＳ＿ＣＯ＋ＬＩ＋１＋３がＣＰＳ＿Ｌｏｗ＿Ｔｈｒｅｓｈｏｌｄ以上である場合は、輻輳状態がまだ存在すると判定され、アルゴリズムは枝ｂ３を辿り、ＣＯＮＧ＿ＶＡＬ＝ＯＫが維持される（ステップＳ６４）。
【００８５】
バッファ４０が最初に輻輳の状態にない場合（ＣＯＮＧ＿ＶＡＬ＝ＮＯＫ、ステップＳ５８）、アルゴリズムは枝ｂ５を辿り、ＣＰＳ＿ＣＯ＋ＬＩ＋１＋３が高い方のしきい値４２と比較される（ステップＳ６６）。ＣＰＳ＿ＣＯ＋ＬＩ＋１＋３がＣＰＳ＿Ｈｉｇｈ＿Ｔｈｒｅｓｈｏｌｄよりも低い場合は、輻輳がなく、ＣＯＮ＿ＶＡＬ＝ＮＯＫである（枝ｂ６、ステップＳ６８）。ＣＰＳ＿ＣＯ＋ＬＩ＋１＋３がＣＰＳ＿Ｈｉｇｈ＿Ｔｈｒｅｓｈｏｌｄ以上である場合は、輻輳の状態があると判定され、ＣＯＮＧ＿ＶＡＬ＝ＯＫである（枝ｂ７、ステップＳ７０）。
【００８６】
段階２：ＣＰＳパケット廃棄アルゴリズム
上に定義したコンテキストに加え、この機構は以下のものを必要とする。
・ＡＡＬ２接続ごとに、ＣＰＳパケット廃棄機構がその接続によってアクティブにされたか否か（それぞれ「Ｔｒｕｅ」および「Ｆａｌｓｅ」）を示すコンテキストビットＰＤＡＡＬ２（ｐａｃｋｅｔ  ｄｉｓｃａｒｄｅｄ）、および
・ＡＡＬ２接続ごとに、処理する（処理中または後続の）ＣＰＳパケットがＡＡＬ２ＳＤＵの最初のＣＰＳパケットである（またはそうでない）か否かを示すコンテキストビットＦＰ（Ｆｉｒｓｔ  Ｐａｃｋｅｔ）。
【００８７】
このアルゴリズムを図７に示す。
【００８８】
この手順はステップＳ７２でＣＰＳパケットがＡＡＬ２接続から到着して開始する。次いで、このＣＰＳパケットをバッファ４０に格納すべきか廃棄すべきかを判定するアルゴリズムが後に続く。
【００８９】
まず、ＦＰコンテキストを考慮することによって、ＣＰＳパケットがＡＡＬ２ＳＤＵの最初のＣＰＳパケットかどうかが判定される（ステップＳ７４）。これは、前のＣＰＳパケットのＵＵＩフィールドが値２６にあったことに注意することによって検出することができる。例えば図２に示した１５０オクテットのデータフレームの最初のＣＰＳパケットを考慮することによって、そのような場合であるとみなされることになる。次いで、アルゴリズムは枝ｂ８を辿り、ここで、上記段階１の輻輳決定アルゴリズムを適用することによって、バッファ４０が輻輳の状態にあるかどうかが判定される（ステップＡ７６）。このアルゴリズムの終結時に、輻輳がないかどうかが判定される（ＣＯＮ＿ＶＡＬ＝ＮＯＫ、ステップＳ７８）。輻輳がない場合は（枝ｂ９）、ＣＰＳパケットはバッファに受け入れられ、したがってパケット廃棄機構は抑制される（ＰＤＡＡＬ２＝ＦＡＬＳＥ）。同時に、カウンタＣＰＳ＿ＣＯが更新されて、受け取ったＣＰＳパケットのオクテットが含められる（ＣＰＳ＿ＣＯ＝ＣＰＳ＿ＣＯ＋ＬＩ＋４）（ステップＳ８０）。
【００９０】
次に、いかに示す最初のＣＰＳパケット判定アルゴリズムが実行される（ステップＡ８２）。
【００９１】
ここで、図５および６を参照しながら説明した基準に従ってバッファメモリ４０が輻輳の状態にあるときに、前述の最初のＣＰＳパケットが到着した場合を考える。このアルゴリズムはステップＳ７８から枝ｂ１０を辿り着信パケット廃棄機構を開始するが、この機構は処理されているＣＰＳパケットから始める。このために、パケット廃棄インディケータがＰＤＡＡＬ２＝ＴＲＵＥに設定される（ステップＳ８４）。次に、前の場合と同じように、最初のＣＰＳパケットアルゴリズムが実行される（アルゴリズムＡ８２）。
【００９２】
ここで、受け取られたＣＰＳパケットがＡＡＬ２ＳＤＵフレームの最初のＣＰＳパケットでない場合を考察する。この場合、この機構は、ステップＳ７４から枝ｂ１１を辿り、そこで、ＣＰＳパケット廃棄機構がアクティブでないかどうか（ＰＤＡＡＬ２＝ＦＡＬＳＥ？）が判定される（ステップＳ８６）。機構がアクティブでない場合は、アルゴリズムは枝ｂ１２を辿り、着信ＣＰＳパケットが受け入れられ、ＣＰＳ＿ＣＯカウンタが更新され（ステップＳ８８）、最初のＣＰＳパケットアルゴリズムＡ８２に進む。このとき、ＣＰＳ＿ＣＯカウンタは、ＬＩ＋３＋１だけインクリメントされる（ＣＰＳ＿ＣＯ＝ＣＰＳ＿ＣＯ＋ＬＩ＋３＋１）。次のＣＰＳパケットのバッファメモリ４０への受入れが、輻輳の状態があるかどうかを判定することなく進行することに留意されたい。したがって、同じＡＡＬ２ＳＤＵの後続のＣＰＳパケットはすべて、系統的に受け入れられることになる。この点に鑑みて、バッファメモリ４０の高い方のしきい値４２は、最大長さすなわち６５５６８オクテットまたはそれより大きいＡＡＬ２ＳＤＵフレームを受け入れるのに十分なマージンをオーバーフロー前に残すように設定することができる。
【００９３】
ここで、最初のＣＰＳパケットに対して輻輳があり、したがってこのＣＰＳパケットを廃棄すべきであることが判定されたときの、後続のＣＰＳパケットの場合を考える。後続のＣＰＳパケットごとにアルゴリズムがステップＳ８６にくることになり、そこで、パケット廃棄機構がアクティブにされていることが判定されることになる（ＰＤＡＡＬ２＝ＴＲＵＥ、枝ｂ１３）。これは、メモリが輻輳しているある瞬間に現ＡＡＬ２ＳＤＵフレームの最初のＣＰＳパケットが到着し、したがって前述のようにステップＳ８４で廃棄されたことを意味する。したがって、そのＡＡＬ２ＳＤＵフレームの各ＣＰＳパケットは除去され（ステップＳ９０）、次いでアルゴリズムは、前述の最初のＣＰＳパケットアルゴリズムＡ８２に進む。この場合、そのＣＰＳパケットが廃棄された後、同じＡＡＬ２ＳＤＵフレームのＣＰＳ  ＳＤＵパケットはすべて、メモリの充填レベルを考慮することなく系統的に廃棄されることに留意されたい。
【００９４】
バッファメモリ４０を離れるＣＰＳパケットごとに、カウンタＣＰＳ＿ＣＯが、サービスされたＣＰＳオクテットの数だけデクリメントされる。すなわち、ＣＰＳ＿ＣＯ＝ＣＰＳ＿ＣＯ−サービスされたオクテットの数である。サービスされるオクテットの数は、ＣＰＳパケットのサイズ（ＬＩ＋３＋１）以下である。
【００９５】
段階３：最初のＣＰＳパケット判定アルゴリズム
図８に示すこのアルゴリズムは、処理すべき所与のＡＡＬ２の次のＣＰＳパケットがＡＡＬ２ＳＤＵフレームの最初のＣＰＳパケットであるか否かを決定する。
【００９６】
前述のコンテキストに加え、最初のＣＰＳパケット判定アルゴリズムは、処理されるＣＰＳパケットのＣＰＳ  ＵＵＩの値を読み取るためのグローバルコンテキストを必要とする（ＣＰＳ−ＵＵＩフィールドがＣＰＳパケットヘッダ中で読み取られる）。
【００９７】
このアルゴリズムは、処理されるＣＰＳパケットのＵＵＩフィールドを読み取ることで開始する（ステップＳ９２）。上に説明したように、このＵＵＩフィールドは、他のＣＰＳパケットが少なくとも１つ後に続いてそのＡＡＬ２ＳＤＵフレームを完成させる場合は値２７を有し、反対に、ＣＰＳパケットがそのデータフレームの最後のＣＰＳパケットである場合は値２６を有する。ＣＰＳパケットは、図２におけるパケット５の場合のように、データフレームの最初のＣＰＳパケットであり最後のＣＰＳパケットでもある場合があることに留意されたい。
【００９８】
したがって、ステップＳ９２で、ＵＵＩフィールドが２７に等しいと判定された場合、後続のＣＰＳパケットはＡＡＬ２フレームの最初のＣＰＳパケットになれないことが注意され、アルゴリズムは枝ｂ１４に進み、次のＣＰＳパケットが最初のＣＰＳパケットにならないこと、すなわちＦＰ＝ＦＡＬＳＥを記録する（ステップ９４）。反対の場合では、アルゴリズムは枝ｂ１５に進み、次のＣＰＳパケットが新しいＡＡＬ２ＳＤＵフレームの最初のＣＰＳパケットとなること、すなわちＦＰ＝ＴＲＵＥを記録する（ステップ９６）。アルゴリズムは、当該のＣＰＳパケットに対するステップ９４または９６の後に終了する。
【００９９】
ここで、図９を参照しながら本発明の第２の実施形態を述べるが、これは、図７を参照しながらすでに述べた実施形態の変形を構成する。
【０１００】
図９に示すように、この変形は本質的に、オーバーフロー管理用の決定アルゴリズムＡ９８と決定ステップ（Ｓ１００）をステップＳ８６とＳ８４／Ｓ８８との間の枝ｂ１２に追加することにある。その他のステップおよび枝はすべて、図７に関して述べたものと同一であり、簡潔にするためにここでは繰り返さない。
【０１０１】
このアルゴリズムは、バッファ４０がオーバーフロー状態にあるか否かを判定する働きをする。
【０１０２】
前述のパラメータに加え、オーバーフロー管理用の決定アルゴリズムＡ９８は、次の２つのパラメータを必要とする。
・オーバーフローインディケータであるＯＶＥＲ＿ＶＡＬ。この値は、バッファがオーバーフロー状態にある場合はＯＫ、バッファがオーバーフロー状態にない場合はＮＯＫである。（バッファのオーバーフローは、バッファが物理的にもはやデータを格納できないときに起こることを想起されたい。）
・オクテット単位のバッファ容量であるＢＵＦ＿ＣＡＰ。このパラメータは、各または所与のバッファ用に設定可能である。
【０１０３】
図１０に、決定アルゴリズムＡ９８に対する流れ図を示す。これは、現オクテットカウンタ値ＣＰＳ＿ＣＯと処理されるＣＰＳパケットのサイズを足したものがバッファ容量よりも少ないかどうか、すなわちＣＰＳ＿ＣＯ＋ＬＩ＋１＋３＜ＢＵＦ＿ＣＡＰを判定することによって開始する（ステップＳ１０２）。そうである場合、バッファはオーバーフローの状態にない。この場合、アルゴリズムは枝ｂ１６を辿って、パラメータＯＶＥＲ＿ＶＡＬを値ＮＯＫに設定する（ステップ１０４）。逆に、ステップ１０２でバッファ４０が飽和状態であると判定された場合、アルゴリズムは枝１７を辿って、パラメータＯＶＥＲ＿ＶＡＬをＯＫに設定する（ステップ１０６）。
【０１０４】
オーバーフロー管理用の決定アルゴリズムＡ９８の後、第２の実施形態による手順は、前述のステップ１００に進んで、ＯＶＥＲ＿ＶＡＬの値を判定する（図９）。
【０１０５】
ＯＶＥＲ＿ＶＡＬ＝ＯＫの場合、すなわちバッファ４０が飽和状態の場合、アルゴリズムは枝ｂ１８を辿り、この枝１８は、現ＣＰＳパケットを廃棄してパラメータＰＤＡＡＬ２＝ＴＲＵＥを設定するステップＳ８４に続く。したがって、次の最初のＣＰＳパケットまでの後続のＣＰＳパケットすべて（ただし次の最初のＣＰＳパケットは除く）に対するアルゴリズムは、このとき、前述のステップ７４からステップ８６に展開し、その後、枝ｂ１３を辿り、そこで、これらのＣＰＳパケットはステップＳ９０で系統的に廃棄されることになる。したがって、オーバーフロー管理用の決定アルゴリズムによって判定されたようにバッファオーバーフローがある場合、現ＣＰＳパケットおよび後続のすべてのＡＡＬ２ＳＤＵのＣＰＳパケットは、最初の１つまたはいくつかのＣＰＳパケットがバッファメモリ４０に記録されていたとしても、系統的に廃棄される。
【０１０６】
言い換えれば、第２の実施形態は、１つまたはいくつかのＣＰＳパケットがすでにバッファメモリに受け入れられていても、所与のＡＡＬ２ＳＤＵフレームのＣＰＳパケットを除去できるようにする。この手法は、高い方のしきい値４２（図４）を、バッファメモリの高い方の充填レベルに、かつバッファの最大物理容量の限界にも設定することを可能にする。
【０１０７】
一方、ステップＳ１００でバッファ４０が飽和状態でないと判定された場合、アルゴリズムはｂ１９を辿って、ＣＰＳパケットを受け入れてカウンタＣＰＳ＿ＣＯをＬＩ＋４だけインクリメントする前述のステップＳ８８に進む。
【０１０８】
述べた例はすべて、ＡＡＬ２接続のコンテキストの範囲内である。しかし、本発明の教示を、類似の問題が起こるすべてのパケット送信システムに適用できることは明白である。
【０１０９】
最後に、述べたアルゴリズムを、適切なハードウェアとソフトウェアの組合せを使用して、異なるいくつかの等価な形で実施できることは、当業者に明白である。
【図面の簡単な説明】
【図１】地上アクセスネットワークの３ＧＰＰに定義されたＵＭＴＳ標準に準拠するネットワークの一部の一例を示す図である。
【図２】異なるＡＡＬ２とＡＴＭのレイヤを介したＡＡＬ２ＳＤＵフレームのＡＴＭセルへの分解および多重化の例を示す図である。
【図３】ＣＰＳ  ＳＤＵヘッダの詳細な構造を示す図である。
【図４】ＣＰＳ  ＰＤＵを形成するために多重化されることを待機している、例２の場合に対するバッファ入口でのＣＰＳパケットのキューイングを示す図である。
【図５】本発明の一実施形態による、異なる充填しきい値を示すバッファメモリの充填レベルの概略図である。
【図６】本発明による輻輳管理用の決定アルゴリズムに対する流れ図である。
【図７】本発明の一実施形態による、完全なインテリジェントパケット廃棄アルゴリズムに対する流れ図である。
【図８】図７のアルゴリズム中で使用される最初のＣＰＳパケット検出アルゴリズムに対する流れ図である。
【図９】本発明の第２の実施形態による完全なインテリジェントパケット廃棄アルゴリズムに対する流れ図である。
【図１０】図９のアルゴリズム中で使用されるオーバーフロー管理用の決定アルゴリズムに対する流れ図である。
【符号の説明】
４０  バッファメモリ
４２  高い方の充填しきい値
４４  低い方の充填しきい値
４６  クリティカルゾーン
Ｆ  充填レベル
【図１】
0004618861.tif 000002
【図２】
0004618861.tif 000003
【図３】
0004618861.tif 000004
【図４】
0004618861.tif 000005
【図５】
0004618861.tif 000006
【図６】
0004618861.tif 000007
【図７】
0004618861.tif 000008
【図８】
0004618861.tif 000009
【図９】
0004618861.tif 000010
【図１０】
0004618861.tif 000011