(57)【特許請求の範囲】
【請求項１】
共用パケット・パイプを用いて、それぞれ異なる優先順位を有する複数のタイプのパケットを転送する網において、共用パケット・パイプ内に複数のパケットを追加する方法であって、前記方法は：
低い優先順位を有するパケットのパケット・ヘッダにフラグを立てて、保留状態のパケットを識別して、高い優先順位を有するパケットを送信可能にする段階；
前記低い優先順位を有するパケットの前記送信を中途終了させる段階；
前記低い優先順位を有する前記パケットの残りを格納装置内に入れる段階；
前記高い優先順位を有するパケットを送信する段階；および
前記高い優先順位を有するパケットが送信を終了したなら、前記低い優先順位を有するパケットの残りを送信する段階；
を備え、前記パケット・ヘッダにフラグを立てる段階はさらに、入来するパケットの優先順位を判定することを含み、前記入来するパケットの優先順位を判定することは、前記低い優先順位を有するパケットのＣＲＣを検査し、そのＣＲＣ検査が失敗することにより前記入来するパケットがより優先順位の高いパケットであると想定することを含むことを特徴とする方法。
【請求項２】
前記低い優先順位を有するパケットの送信を中途終了させる段階はさらに、前記パケットが分割される場所において、パケット・フラグを挿入する段階からなることを特徴とする請求項１記載の方法。
【請求項３】
前記パケット・ヘッダにフラグを立てる段階はさらに、送信中のデータ・パケットの優先順位を定期的に検査する段階からなることを特徴とする請求項１記載の方法。
【請求項４】
前記パケット・ヘッダにフラグを立てる段階はさらに、前記低い優先順位のパケットを識別する段階と、前記高い優先順位のパケットの開始を識別する段階からなることを特徴とする請求項１記載の方法。
【請求項５】
前記パケット・ヘッダにフラグを立てる段階はさらに、前記低い優先順位のパケットの割り込みを識別する段階からなることを特徴とする請求項１記載の方法。
【請求項６】
前記パケット・ヘッダにフラグを立てる段階はさらに、割り込まれたパケットを識別する段階からなることを特徴とする請求項１記載の方法。
【請求項７】
前記低い優先順位を有するパケットの残りを格納装置内に入れる段階はさらに、前記パケットの残りを待ち行列に転送する段階からなることを特徴とする請求項１記載の方法。
【請求項８】
それぞれ異なる優先順位を有する複数のタイプのパケットを転送するように設計された網において、複数のパケット・タイプを追加して、共用パケット・パイプ内で予測可能な送信を実施するための装置であって、前記装置は：
共用パケット・パイプ；
前記共用パケット・パイプに通信可能な形で結合される信号送信手段；
前記共用パケット・パイプに接続されるコントローラ；および
前記共用パケット・パイプと接続される信号受信手段；
を備え、前記コントローラ内には、前記共用パケット・パイプを通じた前記パケットの送信を調整するために、前記コントローラにより用いられるパケット優先順位付け・送信アルゴリズムが格納されており、前記コントローラは、低い優先順位を有するパケットのパケット・ヘッダにフラグを立てて高い優先順位を有するパケットの送信を可能とし、前記コントローラにより前記フラグを立てることは、前記コントローラにより前記低い優先順位を有するパケットのＣＲＣを検査し、そのＣＲＣ検査が失敗することにより入来するパケットがより優先順位の高いパケットであると想定することを含むことを特徴とする装置。
【請求項９】
前記コントローラは、低い優先順位を有するパケットの送信を中途終了した後、前記パケットが分割されるところに、パケット・フラグを挿入するようにプログラムされることを特徴とする請求項８記載の装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、一般にデータ・パケットを共用パケット・パイプ（shared packet pipe）で転送することに関し、さらに詳しくは、帯域幅を節約しながら、共用パケット・パイプを介して、異なる優先順位を有するデータ・パケットをオン・デマンド（on demand）転送する方法と装置に関する。
【０００２】
【従来の技術】
パケットおよびパケット・データ・システムは周知のものであり、数多くの用途がある。パケット・データ・システムは、情報の伝達を容易にするためのパケットの転送を可能にする。例えば、パケットおよびパケット・データ・システムは、セルラ・システムでは、音声情報とデータ情報をセルラ電話利用者に送出するのに用いられる。今日の世界では、情報の転送は、個々のタイプの情報をパケットに封入して、これらのパケットを「パイプ」を通じて送出することによって実現される。パケットは、情報（すなわち、データ，音声，ＥＴ３，オーディオなど）の集合である。パッケージ内に入れられた情報は、上記の情報タイプの組み合わせとすることができる。パケットをパケット・パイプ、さらに詳しくは共用パケット・パイプを通じて送出するとき、パケットには優先度が割り当てられる。この優先度は、主にパケットのサイズと、パケット内に入れられた情報のタイプに基づいて割り当てられる。一定のパケット・タイプは、送信の時間が重要であり（全二重音声）、時間が重要でないパケットを現在送信することによって、留め置くことはできない。共用パケット・パイプを含む網を使用して、情報パケットを転送するとき、優先順位の低い大きなパケットが、共用パケット・パイプを詰まらせて、高優先順位のパケットは低優先順位のパケットが終了するのを待つのが通常である。このため、優先順位の高い送信において、許容できない遅延が生じる。
【０００３】
【発明が解決しようとする課題】
共用パケット・パイプに見られる詰まり（clogging）の問題を排除するために、いくつかの先行技術による方法が考案された。例えば、フレーム・リレー標準には以前、プリエンプション（preemption）が含められた。プリエンプションは、パケットが１つのタイプの送信回線を通って移動するのを停止する方法である。例えば、プリエンプションが発生するのは、ＨＤＬＣ（ハイレベル・データ・リンク制御手順）プロトコルが、「キル系列（kill sequence）」を用いて、パケット送信を終了させる場合である。この「キル系列」は、パケット送信局により出される特殊なビット列である。これらの方法はともに、遅延を減少させる一方で、送信機は、パケットのうちキルされた部分を再送信する必要があるので、パケットを転送するのに必要な帯域幅を増加する。このため、共用パケット・パイプ転送システムにおいて、種々の優先順位を有するパケットを転送するより効果的な方法が必要とされる。
【０００４】
【課題を解決するための手段】
それぞれ異なる優先順位を有する複数のタイプのパケットを転送するために共用パケット・パイプを用いる網において、共用パケット・パイプ内に、複数のデータ・パケットを追加する方法であって、前記方法は、低い優先順位を有するパケットの送信を中途終了させる段階，前記低い優先順位を有するパケットの残りを格納手段内に入れる段階，および高い優先順位を有するパケットを送信する段階を含む。前記複数のデータ・パケットを追加する方法はさらに、高い優先順位を有するパケットが送信を終了したなら、低い優先順位を有するパケットの残りを送信する段階，前記低い優先順位を有するパケットのパケット・ヘッダにフラグを立てて、保留状態のパケットを識別して、高い優先順位を有するパケットの送信を可能にする段階，入ってくるパケットの優先順位を決定する段階，および送信されるデータ・パケットの優先順位を定期的にチェックする段階を含む。
【０００５】
本発明の１実施態様により、それぞれ異なる優先順位を有する複数のタイプのパケットを転送するように設計された網において、複数のパケット・タイプを追加して、共用パケット・パイプ内で予測可能な送信を実施するための装置は、共用パケット・パイプ，前記共用パケット・パイプと通信可能な形で結合される信号送信手段，前記結合された共用パケット・パイプに接続されるコントローラ，および共用パケット・タイプに通信可能な形で結合される信号受信手段を含む。本発明は、帯域幅を犠牲にせずに、共用パケット・パイプ内でのデータ・パケットの「詰まり」の問題を解決するためのアルゴリズムを用いる。データ・パケットは、いくつかのタイプの送信元から発生する。例えば、データ・パケットは、セルラ電話，ページャおよびその他の無線装置から発生することができる。これらのパケットは、利用者から利用者、すなわち、セルラ電話の一方の通話者から別のセルラ電話の通話者，通話者からページャ，または別の送信源から情報をダウンロードする利用者から送信される。詰まりが発生するのは、複数の優先順位を有するあまりにも多くのデータ・パケットが、時間的に近接しすぎて送信されるときである。このアルゴリズムは、「キル系列」を送信して、時間が重要でないデータ・パケットの送信を中途終了させる。パケットの残りは、待ち行列に戻されて、適正な時間に送信される。共用パケット・パイプ５８の受信側端部は、時間に重要でないパケットから受信されたデータを一時的に保持し、時間に重要なデータ・パケットの残りが送信されたなら、パケット・データの残りを追加する。パケット・ヘッダ内のフラグは、保留状態のパケットを識別して、時間に重要な複数のパケットが通過できるようにするために用いられる。満了タイマ（expiration timer）は、回線が破壊された場合に、バッファに入れられたパケットをフラッシュ（flush）するのに用いられる。
【０００６】
【実施例】
本発明の好適な実施例により、また図１，図２および図３を参照して、パケットの優先順位付け・送信アルゴリズムが開示される。前述のように、図１は、データ・パケット送信システム５０を示すブロック図である。データ・パケット送信システム５０は、データ・パケット送信装置５２から５６，共用パケット・パイプ５８，データ・パケット送信コントローラ６０，およびデータ・パケット受信装置６２から６６を含む。前述のように、データ・パケット送信装置５２から５６は、セルラ電話，ページャおよびＰＤＡ（digital personal assistance）を含むが、これらに限定されない。また、データ・パケット受信装置６２から６６は、データ・パケット送信装置５２から５６と同じタイプの装置とすることができる。共用パケット・パイプ５８は、データ・パケット送信媒体であり、その中でパケットはそれぞれの宛先に転送される。データ・パケット送信コントローラ６０（以下コントローラ６０という）は、共用パケット・パイプ５８を通じて、データ・パケットの流れを調節する。コントローラ６０は、本発明によるパケット優先順位付け・送信アルゴリズムを収容し、実行する。
【０００７】
前述のように、図２は、本発明によるパケット優先順位付け・送信アルゴリズムを示すパケット遷移図である。パケット優先順位付け・送信アルゴリズム（以下「アルゴリズム」という）は、異なるシナリオを図２に適用すると最も効果的に説明できる。
【０００８】
シナリオ１：２レベルの割り込みパケット
最初に、データ・パケットＡとこれに伴うフラグが、データ・パケット送信装置から送出される。時間Ｄで、パケットＢが送信される。さらに、時間Ｅで、パケットＣが送信される。データ・パケットとフラグは、任意の時間点であるポイントＤに到達するまで、時間を移動する。パケットＡが送信されると同時に、データ・パケットＢ，Ｃも送信される。しかしながら、データ・パケットＡ，Ｂ，Ｃはそれぞれ、昇順で異なる送信優先順位を有することに注意されたい。ポイントＤで、フラグがアルゴリズムにより検出されて、アルゴリズムは、データ・パケットＡがポイントＤに到達する直前に、データ・パケットＡに関して、巡回冗長符号（以下ＣＲＣという）検査を行う。データ・パケットＡは送信を終了していないので、ＣＲＣ検査は失敗する。ＣＲＣ検査が失敗するので、アルゴリズムは、より優先順位の高いパケット（データ・パケットＢ）が送信中であると想定する。ポイントＥで、フラグが受信され、アルゴリズムは、データ・パケットＤがポイントＤ１に到達する直前に、データ・パケットＢに関してＣＲＣ検査を行う。データ・パケットＢは送信を終了していないので、ＣＲＣ検査は失敗する。ＣＲＣ検査が失敗するので、アルゴリズムは、より優先順位の高いパケット（データ・パケットＣ）が送信中であると想定する。ポイントＦにおいて、ＣＲＣ検査が成功し、このため、データ・パケットＣは完全に送信された。ポイントＧにおいて、２つのＣＲＣ検査が実施される。２つの検査が実施されるのは、直前のパケットの終了フラグと、次のパケットの開始フラグの両方の役割を果たす各データ・パケット間にあるフラグと、データ・パケットを一続きの列にすることが可能なためである。受信機は、ポイントＦ１からポイントＧまでのデータ・パケットが、データ・パケットＣの後に来る別の割り込みパケットであるか、またはデータ・パケットＢの続きであるか分からない。このため、アルゴリズムは、ポイントＦ１からポイントＧまでのデータ・パケットに関してＣＲＣ検査を実施する。ＣＲＣが一致する場合には、データ・パケットＣの後に来る別のデータ・パケットである。あるいは、アルゴリズムは、ポイントＤにおいて、フラグの後のデータ・パケットについてＣＲＣ検査を実施して、ポイントＧ（ＣＲＣを含まない）までＣＲＣ検査を続け、ポイントＥからポイントＦ１までのデータ・パケットを排除することができる。ポイントＧのＣＲＣが一致する場合には、パケットＢは良好である。ポイントＨにおいて、アルゴリズムは、ポイントＧで実施されたのと同じ関数を実施する。ポイントＨのＣＲＣが一致する場合には、データ・パケットＡが復号される。
【０００９】
シナリオ２：ビット誤りを有する２レベルの割り込み（図２参照）
このシナリオにおいては、ビット・ストリームが、ポイントＤ１で破壊されると想定する。どのレベルのビット誤りも、当該パケットに加え、その下にある保留状態の全パケットをも破壊する。これが発生するのはまれと想定されるので、送信中のパケットがなんらかの形で失われたということで認められるとされる。この方法はさらに、下にあるパケットが失われることも認めるが、これらはいずれにせよ、明らかに、優先順位の高いものではなかった。ポイントＤにおいて、フラグが受信され、アルゴリズムは、データ・パケットＡがポイントＤに到達する直前に、データ・パケットＡについてＣＲＣを検査する。データ・パケットＡは送信を終了していないので、ＣＲＣ検査は失敗する。ＣＲＣ検査が失敗するので、アルゴリズムは、より高い優先順位のパケット（データ・パケットＢ）が送信中であると想定する。ポイントＥにおいて、フラグが受信され、アルゴリズムは、データ・パケットＤがポイントＤ１に到達する直前に、データ・パケットＢについてＣＲＣ検査を行う。データ・パケットＢは、送信を終了していないので、ＣＲＣは失敗する。ＣＲＣ検査が失敗するので、アルゴリズムは、より高い優先順位のパケット（データ・パケットＣ）が送信中であると想定する。ポイントＦにおいて、ＣＲＣ検査は成功し、このため、データ・パケットＣは完全に送信済である。ポイントＧにおいて、ＣＲＣ検査は失敗する。そこで、アルゴリズムは、データ・パケットＡの残りが新しいデータ・パケットであると想定するが、これは誤りである。Ｈのフラグ後、アルゴリズムによってアイドル・パターンが検出される場合には、アルゴリズムはつぎの２つのうち１つのやり方で働く：（１）パケット・スタックが削除され、データ・パケットＡ，Ｂが失われる、または（２）ポイントＨにおいて、別のデータ・パケットが続く場合には、アルゴリズムは、パケットＢが後ろに来るパケットＡに関してタイムアウトを待つ。どちらの場合も、データ・パケットＡ，Ｂは失われる。
【００１０】
シナリオ３：スタートアップ時に受信機を同期、ビット誤りなし（図２参照）
第３のシナリオにおいては、ポイントＤ１において、受信機が再ブートして立ち上がると想定する。ポイントＥにおいて、受信機は第１フラグを得る。アルゴリズムは、ポイントＥまでの現れるデータ・パケットを廃棄する。ポイントＦ１では、送信中の高い優先順位のパケットの割り込みがないので、アルゴリズムは、データ・パケットのＣＲＣを復号する。ポイントＧ１において、アルゴリズムは、ポイントＦ１とポイントＧ間に存在するデータ・パケットについて、ＣＲＣ検査を行う。これらのポイント間のＣＲＣ検査は失敗する。受信機は、ポイントＦ１からポイントＧ１までのデータ・パケットが、割り込みパケットであると想定するが、これは誤りである。ポイントＨ１において、受信機はＣＲＣを検査し、これもまた失敗する。最終的には、ポイントＦ，Ｇにおいてスタートしたタイマはタイムアウトし、これらの部分パケットは廃棄され、受信機は正常に動作する。同期時に、アルゴリズムは、すべての部分パケットがリンクから一掃されるまで、パケットを廃棄する。あるいは、アルゴリズムは、共用パケット・パイプ５８がクリアになるまで、待機するようにプログラムできる。しかしながら、この結果、データ・パケットは失われる。
【００１１】
図３は、本発明の好適な実施例によるパケット・データ送信アルゴリズムの１実施例を示すデータ・パケット送信のフロー図を示す。図３はさらに、パケットの優先順位付け・送信アルゴリズム１００が、より優先順位の高いデータ・パケットが送信される間に、優先順位の低いデータ・パケットの送信が遅延する問題をどのように解決するかについて詳細を示す。このプロセスは、段階１０２から始まり、ここで、データ・パケットが送信される。段階１０４において、高い優先順位を有する第２データ・パケットが、送信を開始される。この例では、第２データ・パケットは、低い優先順位を有するデータ・パケットのそれよりも高い優先順位を有すると想定する。第２データ・パケットが、第１データ・パケットよりも高い優先順位を有すると決定されたなら、第１データ・パケットは中途終了される。ついで、第１データ・パケットの残りの部分が格納される。プロセスのこの部分は、図３の段階１０６，１０８に示される。パケット・ヘッダにフラグが立てられた後、高い優先順位のデータ・パケットが送信される。これは、図３の段階１１２に示される。第２データ・パケットが送信されたなら、第１データ・パケットの残りは、信号回復装置に送信される（段階１１２）。
【００１２】
図４は、本発明の好適な実施例によるパケット優先順位付け・送信アルゴリズムの別の実施例を示すデータ・パケット受信のフロー図を示す。パケットの優先順位付け・送信プロセスは、段階２０２で開始され、ここで、パケット・データ・ストリームが受信される。段階２０４で、データ・パケットの終了またはデータ・パケットの開始のいずれかを示すフラグが、コントローラ５６によって受信される。フラグがコントローラ５６によって受信された後、巡回冗長符号検査が、データ・パケットについて実施される（段階２０６）。巡回冗長符号検査は、送信中のパケットが、完全なデータ・パケットか、またはデータ・パケットの一部分であるかを決定する。データ・パケットが巡回冗長検査に失敗する場合には、アルゴリズムは、送信中のデータ・パケットと同じ優先度を有する部分パケット全部についてＣＲＣを検査するようにプログラムされる（段階２０８）。同じ優先度でＣＲＣ検査を受けていないデータ・パケットが存在する場合には、アルゴリズムは、この優先度の直前の部分パケットに連結するようにプログラムされる（段階２１０）。段階２１０が完了した後、アルゴリズムは、データ・パケットについてＣＲＣを検査するようにプログラムされる。事実上、アルゴリズムは段階２０６に戻る。この優先度の部分パケットすべてがＣＲＣ検査を受けた場合には、誤りが存在し、アルゴリズムは、現在送信中のデータ・パケットを廃棄するようにプログラムされる（段階２１２）。データ・パケットが巡回冗長符号検査に合格する場合には、アルゴリズムはデータ・パケットを復号する（段階２１４）。段階２１６において、別のフラグが受信されるまで（段階２０４）、優先順位の高いデータ・パケットが受信される。前述のプロセスは、すべてのデータ・パケットが送信、受信済みとなるまで続く。
【００１３】
本発明を好適な実施例を参照して説明してきたが、当業者は、本発明の意図および範囲から逸脱することなく、形態と細部に変更を加えることが可能であることを認識しよう。
【図面の簡単な説明】
【図１】  データ・パケット送信システムを示すブロック図である。
【図２】  本発明によるパケット優先順位付け・送信アルゴリズムを示すパケット遷移図である。
【図３】  本発明によるパケット優先順位付け・送信アルゴリズムの１実施例を示すデータ・パケット送信のフロー図である。
【図４】  本発明によるパケット優先順位付け・送信アルゴリズムの別の実施例を示すデータ・パケット受信のフロー図である。
【符号の説明】
１０２  時間が重要でないパケットが送信される
１０４  時間が重要なパケットが現れ、送信されるのを待つ
１０６  時間が重要でないパケットの送信を中途終了する
１０８  時間が重要でないパケットの残りを格納手段内に入れる
１１０  時間が重要なパケットを送信する
１１２  時間が重要でないパケットの残りを送信する
【図１】
0004028207.tif 000002
【図２】
0004028207.tif 000003
【図３】
0004028207.tif 000004
【図４】
0004028207.tif 000005