(57)【特許請求の範囲】
【請求項１】
複数のコンポーネント信号を表すデータを送るパケット・ストリームを発生するトランスポート・ストリーム・エンコーダを動作させる方法であって、前記複数のコンポーネント信号は、所定の時間内に伝送される所定のサイズを有するデータ・ブロックを発生する所定のデータ・コンポーネント信号を含んでおり、
前記パケット・ストリームを、複数のパケット・スロットを含む連続的なグループに区切るステップと、
前記複数のパケット・スロットとそれぞれ関連する複数の優先順位リストの各々が複数のエントリーを含み、前記各エントリーが複数のコンポーネント信号の各１つを表すデータを含んでいる、前記複数の優先順位リストを維持するステップと、
前記複数の優先順位リストのエントリーに応答して前記パケット・ストリームを発生するステップと、
前記所定のデータ・コンポーネント信号からのデータを含んでいるパケットが時間的に十分に規則正しく発生され、前記データ・ブロックが前記所定の時間内に伝送されるのを保証するように前記複数の優先順位リストを変更するステップとから成る、前記方法。
【請求項２】
前記変更するステップが、前記所定のデータ・コンポーネント信号を表すデータを含んでいるエントリーを、前記複数の優先順位リストのうちの１つに最高の優先順位で据えるステップを含む、請求項１記載の方法。
【請求項３】
前記変更するステップが更に、前記所定のデータを含むパケットが次の連続的パケット・グループで発生された後で、前記所定のデータ・コンポーネント信号を表すデータを含むエントリーを、前記複数の優先順位リストの１つの最高の優先順位からはずすステップを含んでいる、請求項２記載の方法。
【請求項４】
前記所定のデータ・ブロックを送るのに必要な幾つかのパケットを決めるステップと、
決められた数のパケットを前記所定の時間内に発生するのに必要なパケット間の時間間隔を決めるステップを更に含み、
前記変更するステップが前記複数の優先順位リストを決められた各時間内に一度変更するステップを含む、請求項１記載の方法。
【請求項５】
前記所定のデータ・コンポーネント信号を表すデータを含んでいる前記各エントリーを、前記複数の優先順位リストの各々の最低の優先順位に据えるステップを更に含み、前記各優先順位リストで比較的高い優先順位のエントリーに関連するコンポーネント信号のうち、１パケットを形成するのに十分なデータを含んでいるコンポーネント信号がほかになければ、所定のデータを含むパケットが発生されるようにする、請求項１記載の方法。
【請求項６】
所定の時間内に伝送される所定のサイズを有するデータ・ブロックを送る所定のデータ・コンポーネント信号源を含む複数のコンポーネント信号源と、
前記複数のコンポーネント信号源に結合され、複数のパケット・スロットを含む連続的グループに区切られた複合パケット・ストリームを発生するパケット発生器と、
前記複数のパケット・スロットとそれぞれ関連する複数の優先順位リストの各々が複数のエントリーを含み、前記各エントリーが前記複数のコンポーネント信号源の各１つを表すデータを含んでいる、前記複数の優先順位リストを貯えるメモリと、
前記複数の優先順位リスト内のエントリーに応答し、前記各パケット・スロットに関連する優先順位リスト中のエントリー内で代表的データを有するコンポーネント信号源の中から選択されたコンポーネント信号源からのデータを含むパケットを発生させるように前記パケット発生器を調整するスケジューラと、
前記所定のデータ・コンポーネント信号源からのデータを含むパケットが時間的に十分に規則正しく発生され、前記データ・ブロックが前記所定の時間内に伝送されるのを保証するように前記複数の優先順位リスト内のエントリーを変更するプロセッサとから成る、トランスポート・ストリーム・エンコーダ。
【請求項７】
前記プロセッサに結合され前記プロセッサで制御されるリアルタイム・クロックを更に含んでおり、前記プロセッサが更に、
前記所定のデータ・ブロックを伝送するのに必要な幾つかのパケットを決定し、
前記所定のデータを所定の時間内に伝送するのに必要なパケット間の時間間隔を決定し、
前記決定された時間間隔で隔てられる連続的クロック信号を供給するように前記リアルタイム・クロックを調整し、
前記クロック信号に応答して、前記複数の優先順位リスト内のエントリーを変更し、前記所定のデータ・コンポーネント信号からのデータを含むパケットが次の連続的パケット・グループで発生されるようにする、請求項６のエンコーダ。
【請求項８】
前記プロセッサが、前記複数の優先順位リスト内のエントリーを変更して、前記所定のデータ・コンポーネント信号源を表すデータを含んでいるエントリーを前記複数の優先順位リストの１つにおける最高の優先順位に据えて、前記所定のデータを含んでいるパケットが次の連続的パケット・グループ内で発生されるようにする、請求項６記載のエンコーダ。
【請求項９】
前記プロセッサが前記複数の優先順位リスト内のエントリーを更に変更して、前記所定のデータを含んでいるパケットが次の連続的パケット・グループ内に発生された後、前記複数の優先順位リストの１つの最高順位から、前記所定のデータ・コンポーネント信号源を表すデータを含んでいるエントリーを取り除く、請求項８記載のエンコーダ。
【請求項１０】
前記複数の優先順位リストの各々が、前記所定のデータ・コンポーネント信号源を表すデータを優先順位の最も低いエントリーに含んでおり、前記各優先順位リスト内で優先順位の比較的高いエントリーに関連するほかのコンポーネント信号がパケットを形成するのに十分なデータを含んでいなければ、前記所定のデータを含んでいるパケットが発生される、請求項６記載のエンコーダ。
【請求項１１】
前記プロセッサが更に、
前記所定のデータ・ブロックを送るために必要な幾つかのパケットを決定し、
前記決定された数のパケットを前記所定の時間内に発生するために必要なパケット間の時間間隔を決定し、
前記決定された各時間間隔内に複数の優先順位リストを一度変更する、請求項６記載のエンコーダ。
【発明の詳細な説明】
産業上の利用分野
本発明は、オポチュニスティック（ｏｐｐｏｒｔｕｎｉｓｔｉｃ：好機をねらった、時宜を得た、タイムリーな）なパケット・スロット・トランスポート・システムでデータを転送する方法および装置に関する。特に、この方法は、複合パケット・ストリーム内のデータ・コンポーネント信号の優先順位の割り当てを適応的に変更して、コンポーネント信号によって送られる所定量のデータが所定の時間内に伝送されることを保証する。
発明の背景
現在、パケット・トランスポート・システムは娯楽番組を配給するのに使用されている。例えば、衛星パケット・トランスポート・システムは複数のテレビジョン・チャンネルを視聴者の地域に送る。各テレビジョン・チャンネルにはビデオ信号と１つ以上のオーディオ信号が含まれている。また、テレビジョン受像機内に在るプロセッサに視聴者と双方向に交信できる番組を実現させるために、各テレビジョン・チャンネルに番組データ信号を含めることが提案されている。このような衛星パケット・トランスポート・システムは、複数の異なるコンポーネント信号（例えば、ビデオ、オーディオ、および番組データ）を伝送する。
比較的遅いスループット（単位時間当たりの処理能力）データ伝送用の低データ・レートのサービスを提供することも提案されている。例えば、コンポーネント信号のプロバイダーは、所定のサイズを有するデータ、例えば、所定の比較的長い期間にわたって送られるデータ・ファイルを転送することを望む。例えば、銀行は或る地域から別の地域へ１ブロックの取り引きを一夜で転送することを望むことがある。
１９９５年５月１６日出願の「複数のコンポーネント信号を表すデータを送るパケット・ストリームを発生するトランスポート・ストリーム・エンコーダを動作させる方法と装置」という名称の米国特許出願番号０８／４４２，４２９において、複数のコンポーネント信号を含む複合パケット・ストリームを発生するトランスポート・パケット・ストリーム・エンコーダが開示されている。複合パケット・ストリームは、幾つかの連続的なパケット・スロットのグループに区切られる。１グループ内の各パケット・スロットは、そのパケット・スロットに受け入れられるコンポーネント信号の優先順位リスト（ｐｒｉｏｒｉｔｙ  ｏｒｄｅｒｅｄ  ｌｉｓｔ）を持っている。選択されたコンポーネント信号からのデータは、そのパケット・スロットの中に据えられる。パケットを形成するとき、そのパケット・スロットに関連する優先順位リストは優先順に調べられ、パケットを満たすために伝送される十分なデータを有する第１のコンポーンネント信号源が、そのパケット・スロットを満たすために割り当てられる。もし十分なデータを有するコンポーネント信号源がなければ、そのパケット・スロット内にヌル・パケット（ｎｕｌｌ  ｐａｃｋｅｔ：無効パケット）が発生される。優先順位リストは、コンポーネント信号のプロバイダーがトランスポート・プロバイダーから購入したスループットのレベルを与えるように発生される。
その出願で述べられている構成では、パケット・スロット内で低いデータ・レートのコンポーネントに高い優先順位を割り当て、高いデータ・レートのコンポーネントに低い優先順位を割り当てるという、融通性を与えている。これにより、低データ・レートの信号は、必要とされるスループットを維持するために、パケット・スロットに十分にアクセスできると共に、低データ・レートのコンポーネントが１つのパケットを満たすのに十分なデータを持たない場合、それらのスロットを高いデータレートのコンポーネント・データで満たすことができ、従って、無駄なヌル・パケットの発生を回避することができる。
しかしながら、多数のコンポーネント信号を送るようなパケット・トランスポート・システムでは、コンポーネント信号により必要とされるスループットはダイナミックに変動する。１９９５年１２月２１日出願の「パケット・スロット優先パケット・トランスポート・システムの性能の最適化」という名称の米国特許出願番号０８／５７６，５２７では、パケット・ストリームで送られるコンポーネント信号について必要とされる現在のスループットにダイナミックに最適化されるトランスポート・ストリーム・エンコーダを開示している。この出願で開示されるパケット・トランスポート・システムは米国特許出願０８／４４２，４２９で開示されるものと同様なものであるが、複数の優先順位リストの内容は所定のパラメータに基づいてダイナミックに更新される。
例えば、そのようなトランスポート・ストリーム・エンコーダは、その動作を番組作成で予定される変更のために、種々のコンポーネント信号に要求されるスループットの変化に適合させることができ、従って、その動作を最適化し、例えば、各コンポーネントによって必要とされるスループットを与えると同時に、ヌル・パケットの数を最小限度にする。クロックがそのようなシステムに信号を供給して、番組作成が変更されたとき（例えば、その時刻）を知らせる。クロック信号が受信されると、優先順位リストが更新され、コンポーネント信号源と、それらの内容の新しい混合のために、パケット・トランスポート・システムを最適に構成する。
優先順位リストはパケット・ストリームの内容に基づいて更新される。このようなトランスポート・ストリーム・エンコーダでは、パケット・ストリーム・エンコーダにより発生される各パケットをデータ・コレクタ（ｄａｔａ  ｃｏｌｌｅｃｔｏｒ）で分析して、パケット内にデータが入っているコンポーネント信号源のアイデンティティ（ｉｄｅｎｔｉｔｙ：同一性）を判断する。複数のリスト（順位リスト）内のエントリー（ｅｎｔｒｙ：記載事項）は、集められたデータに応答して更新され、たとえば、１つのコンポーネント信号のデータ・レートのラル（ｌｕｌｌ：中断、中止、休止）を利用する。この場合、複数のリストにおけるエントリーは更新され、ラル（ｌｕｌｌ）を生じるコンポーネント信号の優先順位を下げ、それによって、他のコンポーネント信号の優先順位を上げる。このようにして、トランスポート・ストリーム・エンコーダの動作は、コンポーネント信号源のデータ・レートの瞬時的変化に対して最適化される。
再び、或る場所から別の場所へ取り引きのファイルを一夜で伝送することを望む銀行の例に戻る。この転送を実行するために、米国特許出願０８／４４２，４２９または０８／５７６、５２７の何れかのパケット・トランスポート・ストリーム・エンコーダが使用される。そのパケット・スロット内に１つのパケットを形成するのに十分なデータを他のコンポーネント信号が持っていないとき、銀行のデータのコンポーネント信号源に対応するエントリーを各優先順位リストの最下部に据えることにより、銀行のデータを含んでいるパケットがヌル・パケットの代りに形成され伝送される。送信する銀行のデータがある限り、ヌル・パケットは決して伝送されないので、発生されたパケットはすべてデータを運ぶ。このようにして情報を転送することは、オポチュニスティック（ｏｐｐｏｒｔｕｎｉｓｔｉｃ）な転送と呼ばれる。しかしながら、上述のシステムでは、ある特定の時間内に銀行のデータが伝送されるという保証はあり得ない。パケット・トランスポート・システムが特定の時間内にオポチュニスティックなデータを送ることを保証できることが望ましい。
発明の概要
本発明の原理によれば、トランスポート・ストリーム・エンコーダは、複数のコンポーネント信号を表すデータを送るパケット・ストリームを発生する。コンポーネント信号のうちの１つは、所定の時間内に転送される所定のサイズを有するデータ・ブロックを発生するオポチュニスティックなデータ・コンポーネント信号である。このようなトランスポート・ストリーム・エンコーダを動作させる方法は以下のステップから成る：パケット・ストリームは連続的なグループに区切られ、各グループは複数のパケット・スロットを含んでいる。複数のパケット・スロットに関連する複数の優先順位リスト（ｌｉｓｔ）が維持される。各リストは複数のエントリー（記載事項）を含み、各エントリーは、複数のコンポーネント信号の各１つを表すデータを含んでいる。パケット・ストリームは、複数の優先順位リスト内のエントリーに応答して発生される。複数の優先順位リストは変更されて、オポチュニスティックなデータ・コンポーネント信号からのデータを含んでいるパケットが時間的に十分に規則正しく発生され、そのデータ・ブロックが所定の時間内に転送されるのを保証する。
本発明の別の特徴によれば、トランスポート・ストリーム・エンコーダは複数のコンポーネント信号源から成る。複数のコンポーネント信号源の１つは、所定の時間内に転送される所定のサイズを有するデータ・ブロックを送るオポチュニスティックなデータ・コンポーネント信号源である。パケット発生器は複数のコンポーネント信号源に結合され、複合パケット・ストリームを発生し、複合パケット・ストリームは、複数のパケット・スロットを含む連続的グループに区切られる。メモリは、複数のパケット・スロットに関連する複数の優先順位リストを貯える。各優先順位リストは複数のエントリーを含み、各エントリーは、複数のコンポーネント信号源の各１つを表すデータを含んでいる。スケジューラは、複数の優先順位リスト内のエントリーに応答し、各パケット・スロットについてパケットを発生するようにパケット発生器を制御する。発生されたパケットは、そのパケット・スロットに関連する優先順位リスト中のエントリー内に典型的すなわち代表的（ｒｅｐｒｅｓｅｎｔａｔｉｖｅ）データを有するコンポーネント信号源の中から選択されたコンポーネント信号源からのデータを含んでいる。プロセッサは複数の優先順位リスト内のエントリーを変更して、オポチュニスティックなデータ・コンポーネント信号源からのデータを含んでいるパケットが時間的に十分に規則正しく発生され、そのデータ・ブロックが所定の時間内に転送されることを保証する。
請求の範囲と実施例との対応関係を図面で使われている参照番号で示すと次の通りである。
１．複数のコンポーネント信号を表すデータを送るパケット・ストリームを発生するトランスポート・ストリーム・エンコーダを動作させる方法であって、前記複数のコンポーネント信号は、所定の時間内に伝送される所定のサイズを有するデータ・ブロックを発生する所定のデータ・コンポーネント信号を含んでおり、
前記パケット・ストリームを、複数のパケット・スロットを含む連続的なグループに区切るステップと、
前記複数のパケット・スロットとそれぞれ関連する複数の優先順位リストの各々が複数のエントリーを含み、前記各エントリーが複数のコンポーネント信号の各１つを表すデータを含んでいる、前記複数の優先順位リストを維持するステップと、
前記複数の優先順位リストのエントリーに応答して前記パケット・ストリームを発生するステップと、
前記所定のデータ・コンポーネント信号からのデータを含んでいるパケットが時間的に十分に規則正しく発生され、前記データ・ブロックが前記所定の時間内に伝送されるのを保証するように前記複数の優先順位リストを変更するステップとから成る、前記方法。
２．前記変更するステップが、前記所定のデータ・コンポーネント信号を表すデータを含んでいるエントリーを、前記複数の優先順位リストのうちの１つに最高の優先順位で据えるステップを含む、請求項１記載の方法。
３．前記変更するステップが更に、前記所定のデータを含むパケットが次の連続的パケット・グループで発生された後で、前記所定のデータ・コンポーネント信号を表すデータを含むエントリーを、前記複数の優先順位リストの１つの最高の優先順位からはずすステップを含んでいる、請求項２記載の方法。
４．前記所定のデータ・ブロックを送るのに必要な幾つかのパケットを決めるステップと、
決められた数のパケットを前記所定の時間内に発生するのに必要なパケット間の時間間隔を決めるステップを更に含み、
前記変更するステップが前記複数の優先順位リストを決められた各時間内に一度変更するステップを含む、請求項１記載の方法。
５．前記所定のデータ・コンポーネント信号を表すデータを含んでいる前記各エントリーを、前記複数の優先順位リストの各々の最低の優先順位に据えるステップを更に含み、前記各優先順位リストで比較的高い優先順位のエントリーに関連するコンポーネント信号のうち、１パケットを形成するのに十分なデータを含んでいるコンポーネント信号がほかになければ、所定のデータを含むパケットが発生されるようにする、請求項１記載の方法。
６．所定の時間内に伝送される所定のサイズを有するデータ・ブロックを送る所定のデータ・コンポーネント信号源（７）を含む複数のコンポーネント信号源（５）と、
前記複数のコンポーネント信号源に結合され、複数のパケット・スロットを含む連続的グループに区切られた複合パケット・ストリームを発生するパケット発生器（１０）と、
前記複数のパケット・スロットとそれぞれ関連する複数の優先順位リストの各々が複数のエントリーを含み、前記各エントリーが前記複数のコンポーネント信号源の各１つを表すデータを含んでいる、前記複数の優先順位リストを貯えるメモリ（２０）と、
前記複数の優先順位リスト内のエントリーに応答し、前記各パケット・スロットに関連する優先順位リスト中のエントリー内で代表的データを有するコンポーネント信号源の中から選択されたコンポーネント信号源からのデータを含むパケットを発生させるように前記パケット発生器を調整するスケジューラ（３０）と、
前記所定のデータ・コンポーネント信号源からのデータを含むパケットが時間的に十分に規則正しく発生され、前記データ・ブロックが前記所定の時間内に伝送されるのを保証するように前記複数の優先順位リスト内のエントリーを変更するプロセッサ（５０）とから成る、トランスポート・ストリーム・エンコーダ。
７．前記プロセッサに結合され前記プロセッサで制御されるリアルタイム・クロックを更に含んでおり、前記プロセッサが更に、
前記所定のデータ・ブロックを伝送するのに必要な幾つかのパケットを決定し、
前記所定のデータを所定の時間内に伝送するのに必要なパケット間の時間間隔を決定し、
前記決定された時間間隔で隔てられる連続的クロック信号を供給するように前記リアルタイム・クロックを調整し、
前記クロック信号に応答して、前記複数の優先順位リスト内のエントリーを変更し、前記所定のデータ・コンポーネント信号からのデータを含むパケットが次の連続的パケット・グループで発生されるようにする、請求項６のエンコーダ。
８．前記プロセッサが、前記複数の優先順位リスト内のエントリーを変更して、前記所定のデータ・コンポーネント信号源を表すデータを含んでいるエントリーを前記複数の優先順位リストの１つにおける最高の優先順位に据えて、前記所定のデータを含んでいるパケットが次の連続的パケット・グループ内で発生されるようにする、請求項６記載のエンコーダ。
９．前記プロセッサが前記複数の優先順位リスト内のエントリーを更に変更して、前記所定のデータを含んでいるパケットが次の連続的パケット・グループ内に発生された後、前記複数の優先順位リストの１つの最高順位から、前記所定のデータ・コンポーネント信号源を表すデータを含んでいるエントリーを取り除く、請求項８記載のエンコーダ。
１０．前記複数の優先順位リストの各々が、前記所定のデータ・コンポーネント信号源を表すデータを優先順位の最も低いエントリーに含んでおり、前記各優先順位リスト内で優先順位の比較的高いエントリーに関連するほかのコンポーネント信号がパケットを形成するのに十分なデータを含んでいなければ、前記所定のデータを含んでいるパケットが発生される、請求項６記載のエンコーダ。
１１．前記プロセッサが更に、
前記所定のデータ・ブロックを送るために必要な幾つかのパケットを決定し、
前記決定された数のパケットを前記所定の時間内に発生するために必要なパケット間の時間間隔を決定し、
前記決定された各時間間隔内に複数の優先順位リストを一度変更する、請求項６記載のエンコーダ。
【図面の簡単な説明】
第１図は、本発明を組み込んでいるトランスポート・ストリーム・エンコーダのブロック図である。
第２図は、第１図に示すトランスポート・ストリーム・エンコーダの動作を説明するのに役立つ図を、一部はブロック図で、一部はメモリの配置図で、一部は波形で示す。
発明の詳細な説明
第１図は、本発明を組み込んでいるトランスポート・ストリーム・エンコーダのブロック図である。第１図で、複数のコンポーネント信号源が、対応するそれぞれの入力端子５に結合される。オポチュニスティックなデータ信号源７の出力端子は、入力端子５のうちの１つに結合され、所定量のデータ（例えば、所定のサイズのデータ・ファイル）を送るための信号を発生する。他のコンポーネント信号源は図示されていない。入力端子５は、パケット発生器１０のそれぞれのデータ入力端子に結合される。パケット発生器１０の出力端子は、パケット・トランスポート・ストリーム・エンコーダの出力端子１５に結合される。出力端子１５は、例えば、パケット発生器１０から発生される信号を遠隔位置に伝送する更に別の回路（図示せず）に結合される。
スケジュール・リスト・メモリ２０は第１のリスト・メモリ（ＬＩＳＴ  ＭＥＭＯＲＹ１）２２と第２のリスト・メモリ（ＬＩＳＴ  ＭＥＭＯＲＹ２）２４を含んでいる。スケジュール・リスト・メモリ２０の出力端子はスケジューラ３０のスケジュール・データ入力端子に結合される。スケジューラ３０の出力端子はパケット発生器１０の制御入力端子に結合される。マイクロプロセッサ５０の出力端子は、スケジューラ３０の制御入力端子に結合される。
パケット・トランスポート・ストリーム・エンコーダの１つの実施例において、スケージューラ３０は、マイクロプロセッサ５０の制御の下に、独立したサブシステムとして動作する。この実施例で、データは、スケジュール・リスト・メモリ２０内のリスト・メモリ２２と２４に書き込まれあるいはリスト・メモリ２２と２４から読み出されると共に、スケジューラ３０によって、マイクロプロセッサ５０から受け取られあるいはマイクロプロセッサ５０に供給される。別の実施例では、スケジューラ３０は、マイクロプロセッサ５０のシステム・バス（図示せず）に取り付けられるＩ／Ｏデバイスとして実施される。この実施例では、スケジュール・リスト・メモリ２０は、マイクロプロセッサ５０のシステム・バス（マイクロプロセッサ５０からスケジューラ・リスト・メモリ２０への破線で示す）にも結合される。マイクロプロセッサ５０は、直接システム・バスを通して、スケジュール・リスト・メモリ２０へデータを書き込みあるいはメモリ２０からデータを読み出し、スケジューラ３０は、既知の技術、例えば、直接メモリ・アクセス（ＤＭＡ：Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）を使用して、スケジュール・リスト・メモリ２０にアクセスする。
第２図は、第１図に示すトランスポート・ストリーム・エンコーダの動作を示すのに役立つ図である。動作を説明すると、パケット発生器１０は、一連のパケットを含んでいるパケット・ストリームを発生する。各パケットは、複数の各コンポーネント・データ信号源（第１図）からのデータを含んでいるか、またはデータを含んでいないヌル・パケットである。パケット・ストリームは、一連の矩形として、第２図の上部に示されている。このパケット・ストリームは連続的なグループに分割され、各グループはＭ個のパケット・スロットを含んでいる。１グループのパケット・スロットは第２図に示されている。そのグループ内の第１のパケットはスロット（ＳＬＯＴ）１と呼ばれる、第２のパケットはスロット（ＳＬＯＴ）２と呼ばれ、最後のパケットはスロット（ＳＬＯＴ）Ｍと呼ばれる。連続的なパケット・グループは、そのパケット・ストリーム内で繰り返され、第２図に示すグループに先行するパケット・スロットは前のグループのスロットＭであり、第２図に示すグループの後に続くパケット・スロットは次のグループのスロット１である。
各パケット・スロットは、それに関連して、優先順位リストを持っている。スケジュール・リスト・メモリ２０（第１図）は、これらの優先順位リスト１２０を構成するデータを含んでいる。第１組の優先順位リスト、１２２Ａ、１２４Ａ．．．１２９Ａは、スケジュール・リスト・メモリ２０内の第１のリスト・メモリ２２内に貯えられる。第２図で、スロット１は、それに関連する優先順位リスト１２２Ａ（優先順位リスト１２２Ａからのスロット１に至る矢印で示す）を有する。同様に、スロット２は、それに関連する優先順位リスト１２４Ａを有し、スロットＭは、それに関連する優先順位リスト１２９Ａを有する。各優先順位リストは、優先順に貯えられた複数のエントリーを含んでいる。任意のリスト（順位表）におけるエントリーの数は、他の任意のリストにおけるエントリーの数と同じである必要はない。第２図で、各優先順位リストの一番上のエントリーは最高の優先順位を割り当てられており、２番目のエントリーは次に高い優先順位を割り当てられている、などとなる。
優先順位リスト内の各エントリーはコンポーネント信号源（第１図）の識別子を含んでいる。コンポーネント信号源は、それぞれそれに関連する独自の識別子を持っている。優先順位リスト１２２Ａ内の最上部のエントリーＩＤ１は任意のコンポーネント信号源の識別子を含むように設定することができる。優先順位リスト１２２Ａ内の第２のエントリーＩＤ２も任意のコンポーネント信号源の識別子を含むことができる。同様に、優先順位リスト１２２Ａ、１２４Ａ、１２９Ａ内のすべてのエントリーＩＤｘは、任意のコンポーネント信号源の識別子を含むことができる。
パケット発生器１０は、コンポーネント信号源にそれぞれ結合される複数のＦＩＦＯバッファ（図示せず）を、既知の方法で含んでいる。パケット・スロット（ＳＬＯＴ）１についてコンポーネント信号源が求められているとき、スケジューラ３０は、スロット１に関連する優先順位リスト１２２Ａを上から下へ検索する。優先順位リスト１２２Ａ内の第１のエントリーＩＤ１によって識別されるコンポーネント信号源に関連するＦＩＦＯバッファが調べられる。もしそのＦＩＦＯバッファ内に１つの完全なパケットを形成するのに十分なデータがあれば、スケジューラ３０は、そのデータをバッファＦＩＦＯから引き出し、そのデータを含んでいるパケットをスロット１内に形成するようにパケット発生器１０を調整する。もし完全な１パケットを形成するのに十分なデータがそのＦＩＦＯバッファ内になければ、優先順位リスト１２２Ａ内の次のエントリーＩＤ２により識別されるコンポーネント信号源に関連するＦＩＦＯバッファが調べられる。もしそのＦＩＦＯバッファ内に十分なデータがあれば、スケジューラ３０は、そのデータを含んでいるパケットを形成するようにパケット発生器１０を調整し、十分なデータがなければ、次のエントリーからのＦＩＦＯバッファが調べられる。
これは、優先順位リスト１２２Ａ内のエントリーにより識別されるコンポーネント信号源に関連するＦＩＦＯバッファが１パケットを形成するのに十分なデータを含んでいることが判明するまで続けられ、そのようなＦＩＦＯバッファが見つからない場合、スケジューラ３０はヌル・パケットを発生するようにパケット発生器１０を制御する。次に、上記のプロセスはスロット２についても繰り返され、優先順位リスト１２４Ａは上から下へ検索され、それから連続的に、そのグループ内の１つ置きのパケット・スロットについて繰り返され、スロットＭに至り、優先リスト１２９Ａが検索される。それからこのプロセス全体は、次に続くグループについて繰り返され、再び、優先順位リスト１２２Ａから始まる。
第２図で、第２組の優先順位リスト、１２２Ｂ、１２４Ｂ．．．１２９Ｂは、これらの優先順位リストとマイクロプロセッサ５０間の矢印で示すように、マイクロプロセッサ５０に関連している。これらの優先順位リストは、それぞれ、第１組の優先順位リスト１２２Ａ、１２４Ａ、１２９Ａと構造的に対応している。マイクロプロセッサ５０は、パケット・スロットの内容を適合させるように、コンポーネント信号源の識別子を第２組の優先順位リストのエントリーから読み出しあるいは第２組優先順位リストのエントリーの中へ書き込むことができる。
マイクロプロセッサ５０から発生される第２組の優先順位リストが完了すると、スケジューラ（第１図）は、その優先データを第２組の優先順位リスト１２２Ｂ、１２４Ｂ、１２９Ｂから取るようにマイクロプロセッサ５０により調整される。これは、第２図で、優先順位リスト１２２Ｂからスロット１へ、優先順位リスト１２４Ｂからスロット２へ、そして優先順位リスト１２９ＢからスロットＭへ至る破線の矢印で示されている。同時に、優先順位リスト１２２Ａ、１２４Ａ、１２９Ａとマイクロプロセッサ５０間の破線の矢印で示すように、第１組の優先順位リスト１２２Ａ、１２４Ａ、１２９Ａはマイクロプロセッサ５０に関連する。同様にして、マイクロプロセッサ５０は、第１組の優先順位リスト１２２Ａ、１２４Ａ、１２９Ａ内のエントリーを更新し、その間、スケジューラ３０は第２組の優先順位リスト１２２Ｂ、１２４Ｂ、１２９Ｂにアクセスする。マイクロプロセッサ５０は、スケジューラ３０で処理されるリスト・メモリ２２または２４の一方を制御し、他方を更新する。
オポチュニスティックなデータ・コンポーネント信号源７は、所定のサイズを有する１ブロックのオポチュニスティックなデータを表す連続的データ・サンプルを含んでいる信号を発生する。このデータの所有者は、このデータ・ブロックを所定の時間内に伝送するために、パケット・トランスポート・システムのプロバイダーと契約する。このデータを送るのに必要とされるパケットの数は、データのサイズを、各パケットで送られるデータ量で割ることにより計算される。例えば、もしオポチュニスティックなデータが１００万バイトであり、各パケットが１００バイトを送るならば、そのデータを伝送するのに１０，０００パケットが必要である。次に、その時間をパケットの数で割ることにより、パケット間の間隔が計算される。上記の例で、もしオポチュニスティックなデータのブロックを８時間（２８、８００秒）以内で伝送しようとするならば、１パケットを少なくとも２．８８秒毎に伝送しなければならない。
マイクロプロセッサ５０内のリアルタイム・クロック（図示せず）は、２．８８秒毎にマイクロプロセッサ５０に通知するようにセットされる。その通知に応答して、マイクロプロセッサ５０は、オポチュニスティックなコンポーネント信号源７に対応するエントリーを、優先順位リスト２２または２４内の最高の優先順位に挿入し、それから、新しく挿入されたエントリーを含んでいる優先順位リストをスケジューラ３０に使用させて、１つのパケット・グループを発生させる。このようにして、オポチュニスティックなデータ源からの１パケット・データは、そのパケット・ストリーム内に入れられる。このパケットが発生された後、マイクロプロセッサが、オポチュニスティックなパケットが必要とされることをリアルタイム・クロックで通知される次のときまで、マイクロセッサ５０はスケジューラに、最初の組の優先順位リストからパケット・グループを形成させる。このようにして、オポチュニスティックなコンポーネント信号源７は最小限度のスループットが保証され、これにより、すべてのデータは所定の時間内に伝送される。
また、オポチュニスティックなコンポーネント信号源７に対応するエントリーは、各パケット・スロットの各優先順位リストの最下位に置かれてもよい。このようにして、もしそのスロットを満たすことができるコンポーネント信号源がほかになければ、ヌル・パケットの代りに、オポチュニスティックなデータを送るパケットが挿入される。もしオポチュニスティックなデータを含んでいるパケット・スロットが発生されるなら、オポチュニスティックなデータは伝送の最終時間よりも早く伝送されるであろうが、オポチュニスティックなデータはやはり所定の時間内に伝送されることを保証されている。あるいは、このようにスケジュール外に発生されるオポチュニスティックなデータ・パケットの数はたどる（ｔｒａｃｋ）こともできる。必要とされるスループットが、このようにして維持される限り、上述のように、オポチュニスティックなデータ・パケットをスケジュールする必要はない。
【図１】
0003816958.tif 000002
【図２】
0003816958.tif 000003