(57)【要約】【解決手段】説明される発明は、周期的現象の効率的スケジューリング用システムおよび方法であって、スケジューリングシステムにおける周期的タスク率、資源スケジュール周期、並びにタスクおよび資源周期に対する尺度の単位をモデル化し選択するための方法の集合を含んでいる。システムのスケジューラは、性能測定、例えば衝突回避、計算効率および資源利用について改良される。【特許請求の範囲】
【請求項１】
スケジューリングシステムをモデル化し構造化するための方法であって、前記システムは、複数のタスクと、タスクにサービスするための資源と、タスクのセットを資源に割り当てるスケジューラとを有し、前記方法は、タスクを数学グループのサブグループのコセットとして規定し、資源を前記数学グループとして規定し、そして順序またはサイズをグループに割り当てるように資源に対する尺度の単位を規定する作用を備えることを特徴とする方法。
【請求項２】
タスクを表すコセット、資源を表すグループ、および尺度の単位は、制限されるものではないが、時間、空間、周波数、エネルギ、スピードおよび質量を含む物理ドメインについて規定される請求項１の方法。
【請求項３】
前記システムは、コセットおよび関連したサブグループによって表される少なくとも第１のタスクと、第２のコセットおよび関連したサブグループによって表される少なくとも第２のタスクとを有し、第２のサブグループのジェネレータは、第１のサブグループのジェネレータとは異なる請求項１の方法。
【請求項４】
前記スケジューリングシステムは、複数の資源を有する請求項１の方法。
【請求項５】
前記複数の資源は、物理ドメイン全体に分布されている請求項４の方法。
【請求項６】
タスクは、資源を表すグループのサブグループのコセットによって表すことができ、またコセットは、第１および第２の値によって完全に表すことができ、第１の値は、サブグループのジェネレータを有し、そして第２の値は、コセット代表を有する請求項１の方法。
【請求項７】
タスクは、グループの連続するコセットによって表すことができる請求項６の方法。
【請求項８】
前記複数の資源は、少なくとも２つの異なる順序を有したグループによって表わされる請求項５の方法。
【請求項９】
前記システムは、周期的なスケジュールされたタスク予約を有したパケット交換通信システムを含む請求項１の方法。
【請求項１０】
タスクをコセットとして、また資源をグループとして規定し測定する作用は、資源を表すグループの順序であるＮの値からの前記コセットに関連した可能なサブグループのセットを、Ｎの素因数のべき集合から求める作用を含み、このセットは、（付加的）グループＺＮのサブグループのセットと等価であり、Ｎ＝ｐ１ｐ２ｐ３．．．ｐｊの素因数分解である場合、全ての可能なサブグループジェネレータのセットは、２ｊの値１，ｐ１，ｐ２，ｐ３，．．．，ｐｊ，ｐ１ｐ２，ｐ１ｐ３，．．．，ｐ１ｐｊ，ｐ２ｐ３，ｐ２ｐ４，．．．，ｐ２ｐｊ，．．．，ｐ１ｐ２ｐ３．．．ｐｊによって構成される請求項１の方法。
【請求項１１】
セットＰ＝｛ｐ１，ｐ２，．．．，ｐｋ｝から選択されたジェネレータ値を有する１以上のサブグループのセットが与えられ、タスクに対してコセットを規定する作用は更に、コセット代表ｘおよびｙを、サブグループジェネレータｐｉおよびｐｊを有する２つのタスクに対してそれぞれ選択する作用を含み、（ｘ−ｙ）は、ｇ＝ｇｃｄ（ｐｉ，ｐｊ）によって均等に割り切れることがなく、ｇｃｄ（）は、最大公約数関数であり、それ故ｇはｐｉとｐｊの最大公約数である請求項１の方法。
【請求項１２】
前記システムは、Ｐ＝｛ｐ１，ｐ２，．．．，ｐｋ｝から選択されるジェネレータ値を有するサブグループによって表されるタスクをサポートし、更にコセット代表をタスクに対し独得に割り当てる作用を有し、前記コセット代表は、値のセット｛０，１，．．．ｇ−１｝から選択され、ｇ＝ｇｃｄ（Ｐ）は、Ｐにおける要素値の全ての最大公約数である請求項１の方法。
【請求項１３】
前記システムは、複数の資源を有し、前記複数の資源は、少なくとも２つの異なる順序を有したグループによって表わされる請求項１の方法。
【請求項１４】
前記数学グループは、アーベル数学グループおよび非アーベル数学グループからなるグループのセットから選択される請求項１の方法。
【請求項１５】
サブグループジェネレータのセットは、前記サブグループジェネレータのセットよりも小さいサブセットに制限されている請求項１の方法。
【請求項１６】
サブグループジェネレータのセットは、前記サブグループジェネレータのセットよりも小さいサブセットに制限されている請求項１１の方法。
【請求項１７】
資源を表すグループは、タスクを表すコセットの交差がゼロとなるように選択される請求項１の方法。
【請求項１８】
資源に対する尺度の単位は、前記資源を表すグループのサブグループの全てのジェネレータ値のセットが比較的に素数的なペアをなさないように選択されるか、あるいはジェネレータ値のセットが比較的大きな最大公約数を有するように選択される請求項１の方法。
【請求項１９】
尺度の単位は、前記複数の資源を表すグループの順序の対応するセットが比較的大きな最大公約数を有するように選択される請求項５の方法。
【請求項２０】
グループ、サブグループ、またはコセット表記を使用してシステム状態情報を符号化する作用を更に備える請求項１の方法。
【請求項２１】
前記スケジューラは、可能な衝突イベント、または等価的に、そのような可能なイベントが起こる前に、タスクを表すコセットの非ゼロ交差の要素を識別する請求項１の方法。
【請求項２２】
複数のタスクと、タスクにサービスするための資源と、前記資源を表すグループのサブグループのコセットを有する複数のタスクを識別するスケジューラとを有するスケジューリングシステムであって、前記グループは、資源に対する尺度の１以上の単位を前記数学グループの要素によって資源に索引付けするように規定することによって選択されるスケジューリングシステム。
【請求項２３】
タスクは、サブグループのコセットによって表すことができ、またコセットは、第１および第２の値によって完全に表すことができ、第１の値は、サブグループのジェネレータを有し、そして第２の値は、コセット代表を有する請求項２２のシステム。
【請求項２４】
前記スケジューラは、前記資源を表す前記グループのサブグループのセットをＮの素因数のべき集合から求め（ここで、Ｎは前記資源を表す前記グループの順序である）、前記セットは、（付加的）グループＺＮのサブグループのセットと等価であり、Ｎ＝ｐ１ｐ２ｐ３．．．ｐｊの素因数分解である場合、全てのサブグループの前記セットは、ジェネレータとして、２ｊの値１，ｐ１，ｐ２，ｐ３，．．．，ｐｊ，ｐ１ｐ２，ｐ１ｐ３，．．．，ｐ１ｐｊ，ｐ２ｐ３，ｐ２ｐ４，．．．ｐ２ｐｊ，．．．，ｐ１ｐ２ｐ３．．．ｐｊのセットから選択された値を有する請求項２２のシステム。
【請求項２５】
セットＰ＝｛ｐ１，ｐ２，．．．，ｐｋ｝から選択されたジェネレータ値を有する１以上のサブグループのセットが与えられ、タスクに対してコセットを規定する作用は更に、コセット代表ｘおよびｙを、サブグループジェネレータｐｉおよびｐｊを有する２つのタスクに対してそれぞれ選択する作用を含み、（ｘ−ｙ）は、ｇ＝ｇｃｄ（ｐｉ，ｐｊ）によって均等に割り切れることがなく、ｇｃｄ（）は、最大公約数関数であり、それ故ｇはｐｉとｐｊの最大公約数である請求項２４のシステム。
【請求項２６】
前記システムは、Ｐ＝｛ｐ１，ｐ２，．．．，ｐｋ｝から選択されるジェネレータ値を有するサブグループによって表されるタスクをサポートし、更にコセット代表をタスクに対し独得に割り当てる作用を有し、前記コセット代表は、値のセット｛０，１，．．．ｇ−１｝から選択され、ｇ＝ｇｃｄ（Ｐ）は、Ｐにおける要素値の全ての最大公約数である請求項２４のシステム。
【請求項２７】
請求項１の方法に従って動作することを特徴とするスケジューラ。
【請求項２８】
請求項１の方法に従って動作することを特徴とするスケジューリングシステム。
【請求項２９】
コセット代表のセットが与えられ、タスクに対してコセットを規定する作用は更に、セットＰ＝｛ｐ１，ｐ２，．．．，ｐｋ｝から選択されたジェネレータ値を有するサブグループを選択する作用を含み、コセット代表ｘおよびｙを有する２つのタスクに対して、２つのサブグループは、選択されたジェネレータｐｉおよびｐｊを有し、（ｘ−ｙ）は、ｇ＝ｇｃｄ（ｐｉ，ｐｊ）によって均等に割り切れることがなく、ｇｃｄ（）は、最大公約数関数であり、それ故ｇはｐｉとｐｊの最大公約数である請求項１の方法。
【請求項３０】
前記システムは、値のセット｛０，１，．．．ｇ−１｝から独得に選択されるコセット代表を有するタスクをサポートし、更にタスクに対しサブグループを割り当てる作用を有し、サブグループジェネレータ値は、セットＰ＝｛ｐ１，ｐ２，．．．，ｐｋ｝から選択され、更にＰにおける要素を選択する作用を有し、Ｐにおける要素の最大公約数であるｇｃｄ（Ｐ）は、ｇ以上である請求項１の方法。
【請求項３１】
コセットおよび関連するサブグループによって表されるタスクを、このタスクを表すサブグループとは異なるサブグループを有したコセットによって表される複数のタスクから合成するための方法。
【請求項３２】
コセットおよび関連するサブグループによって表されるタスクを、このタスクを表すサブグループとは異なるサブグループを有したコセットによって表される複数のタスクへ分解するための方法。
【請求項３３】
時間ドメインで動作するスケジューリングシステムをモデル化し構造化するための方法であって、前記システムは、複数の周期的タスクと、タスクにサービスするための資源と、資源に関連したスケジュール周期と、タスクのセットを資源に割り当てるスケジューラとを有し、前記方法は、タスク周期と前記資源スケジュール周期を１以上の尺度の単位によって規定し測定する作用を備え、タスク周期と資源スケジュール周期に対する測定値は、数学的グループの要素によって索引付けされることを特徴とする方法。
【請求項３４】
前記システムは、第１の周期を有する少なくとも第１の周期的タスクと、前記第１の周期とは異なる第２の周期を有する少なくとも第２の周期的タスクとを有する請求項３３の方法。
【請求項３５】
タスク周期と資源スケジュール周期を規定し測定する作用は、Ｎを法とする整数のグループＺＮを有する資源を識別し（ここで、Ｎは前記資源スケジュール周期に関連したグループの順序である）、更に可能なタスク周期値のセットをＮの素因数のべき集合から求める作用を含み、前記タスク周期値のセットは、（付加的）グループＺＮのサブグループのセットと等価であり、Ｎ＝ｐ１ｐ２ｐ３．．．ｐｊの素因数分解である場合、前記タスク周期値のセットは、要素として、２ｊの値１，ｐ１，ｐ２，ｐ３，．．．，ｐｊ，ｐ１ｐ２，ｐ１ｐ３，．．．，ｐ１ｐｊ，ｐ２ｐ３，ｐ２ｐ４，．．．，ｐ２ｐｊ，．．．，ｐ１ｐ２ｐ３．．．ｐｊを有する請求項３３の方法。
【請求項３６】
セットＲ＝｛ｒ１，ｒ２，．．．，ｒｋ｝から選択された率値を有する１以上の周期的タスクのセット（ここで、ｒｊは資源スケジュール周期中のタスクに対するサービスイベントの数を示す）と、対応するフロー周期のセットＰ＝｛ｐ１，ｐ２，．．．，ｐｋ｝（ここで、ｐｊ＝Ｎ／ｒｊであり、またＮは資源スケジュール周期の尺度である）とが与えられ、更に２つのタスクに対して２つの率ｐｉおよびｐｊ並びにコセット代表ｘおよびｙを選択して割り当てる作用を含み、ｇ＝ｇｃｄ（ｐｉ，ｐｊ）によって均等に割り切れることがない（ｘ−ｙ）を選択することによって、コセット＜ｐｉ＞ｘおよび＜ｐｊ＞ｙの交差はゼロとなる（ここで、ｇは率ｐｉおよびｐｊの同時最大公約数である）請求項３５の方法。
【請求項３７】
前記システムは、セットＲ＝｛ｒ１，ｒ２，．．．，ｒｋ｝から選択される率、または等価的に対応するセットＰ＝｛ｐ１，ｐ２，．．．，ｐｋ｝から選択されるタスク周期値を有するタスクをサポートし（ここで、ｐｊ＝Ｎ／ｒｊであり、またＮは資源スケジュール周期の尺度である）、更にコセット代表をタスクに対し独得に割り当てる作用を有し、前記コセット代表は、値のセット｛０，１，．．．ｇ−１｝から選択され、ｇ＝ｇｃｄ（Ｐ）は、Ｐにおける要素値の全ての最大公約数である請求項３５の方法。
【請求項３８】
前記システムは、複数の資源を有し、前記複数の資源は、Ｎの少なくとも２つの異なる値、または等価的に前記グループに対する少なくとも２つの異なる順序を有するグループＺＮによって表される請求項３３の方法。
【請求項３９】
タスク周期のセットは、前記タスク周期のセットよりも小さいサブセットに制限されている請求項３５の方法。
【請求項４０】
前記資源スケジュール周期は、タスクを表すコセットの交差がゼロとなるように選択される請求項３３の方法。
【請求項４１】
前記資源スケジュール周期に対する尺度の単位は、前記タスク周期値のセットが比較的に素数的なペアをなさないように選択されるか、あるいは前記タスク周期値のセットが、比較的大きな最大公約数を有するように選択される請求項３３の方法。
【請求項４２】
前記資源スケジュール周期に対する尺度の単位は、前記タスク周期値のセットが比較的に素数的なペアをなさないように選択されるか、あるいは前記タスク周期値のセットが、比較的大きな最大公約数を有するように選択される請求項３５の方法。
【請求項４３】
尺度の単位は、前記複数の資源を表すグループの順序の対応するセット
が、比較的大きな最大公約数を有するように選択される請求項３３の方法。
【請求項４４】
スケジューリングシステムをモデル化し構造化するための方法であって、前記システムは、複数のタスクと、タスクにサービスするための資源と、タスクのセットを資源に割り当てるスケジューラとを有し、前記方法は、資源スケジュール周期に対する尺度の単位を割り当てる作用を備え、資源スケジュール周期は、数学的グループの要素によって索引付けされ、タスクは、前記数学的グループのサブグループのコセットによって、または前記資源スケジュール周期を表す前記グループの要素の任意の集合によって表されることを特徴とする方法。
【請求項４５】
複数の周期的タスクと、タスクにサービスするための資源と、この資源を表す数学的グループのサブグループのコセットを有する複数のタスクを識別するスケジューラとを有するスケジューリングシステムであって、前記グループは、資源スケジュール周期に対する１以上の尺度の単位を選択することによって、資源スケジュール周期を前記数学的グループの要素によって索引付けするように選択されることを特徴とするスケジューリングシステム。
【請求項４６】
スケジューリングシステムをモデル化し構造化するための方法であって、前記システムは、複数のタスクと、タスクにサービスするための複数の資源と、前記タスクを前記資源に割り当てるスケジューラとを有し、前記方法は、資源に対する尺度の単位を規定する作用を備え、資源は、数学的グループの要素によって索引付けされ、タスクは、前記数学的グループのサブグループのコセットによって、または資源を表す前記グループの要素の任意の集合によって表されることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連する先行出願
この出願は、２００３年３月３１日に出願された仮出願第６０／４５９，０６７号の優先権を主張する。
【０００２】
発明の分野
本発明は、一般に周期的タスクをスケジュールするシステムに関し、特にそのようなシステムのスケジューラおよびそのようなシステムのモデル化に関する。
【０００３】
発明の背景
この開示は、タスクおよび資源のセットとしてモデル化された、スケジュールされたシステムに対する先端技術の進歩を提供する。この場合、タスクは周期的である。即ち、資源は、各資源スケジュール周期中に、必要とされる量のサービスを必要とされる頻度でタスクに供しなければならない。そのようなシステムは一般に、（１）タスクのセットと、（２）タスクにサービスする資源のセットと、（３）あるタスクが周期的にサービスされる必要のある属性と共に、資源をタスクに割り当てるためのスケジューラとを有する。そのようなシステムは多くの物理形態で具体化されているが、この発明に現在関連しているのは、コンピュータソフトウエアおよびハードウエアシステムである。資源は、異なるサービス率／容量を有し、またタスクは異なる周波数、または等価的に、異なる周期を有する。
【０００４】
１つのスケジューラまたは複数のスケジューラは、システム目的のセットに一致するように、資源をタスクに割り当てる責任がある。そのようなシステムは、非常に広い範囲の応用に及ぶ。これらは、限定されるものではないが、コンピュータのオペレーティングシステム、輸送ネットワーク、製造および産業プロセス、アナログ、デジタルおよび光学的通信システム、ワイヤレス通信システム、パケット交換通信ネットワーク（例えばＩＰネットワーク）、セル交換通信ネットワーク（例えばＡＴＭネットワーク）、精密計数、標本化、および測定装置、暗号システム、並びに電磁信号装置（例えば、磁気共鳴撮像システム）を含む。そのようなシステムは、周期的タスク、資源、およびスケジューラから構成されるようにモデル化することができる。
【０００５】
そのようなシステムのスケジューラにとって主たる挑戦は、衝突のないスケジュール、即ちどのタスクが、どの資源によって、何時サービスされるかを規定するスケジュールを、次のようにして見出すことである。即ち、そのようなスケジュールが存在するならば、１より多くないタスクが、いつでも資源または資源のセットによるサービス用にスケジュールされるように、そしてまた資源が高度に利用されるように、である。追加的な挑戦は、スケジュールの衝突のない特性が維持されるように、新規な周期的タスクを動的にスケジュールに加えることである。いくつかの環境、例えばパケット交換ネットワーク、セル交換ネットワーク、および分散オペレーティングシステムでは、追加的な複雑さは、分散された資源にわたってスケジュールを調整する必要性である。例えば、パケット交換ネットワークにおけるパケットのフローは典型的に、複数のパケットスイッチ／ルータおよび相互接続通信リンクを横断する。このフローは、各ルータで局部的にスケジュールされる必要があり、また経路に沿った各ルータでのローカルスケジュールは、終端間スケジュールを与えるために時間調整（スケジュール）される必要がある。分散オペレーティングシステムは、広域時間調整される必要のある異なるホストでプロセスが実行されることに同様の挑戦を有する。
【０００６】
計算の複雑さに関して、一般に衝突のないスケジューリング問題は、所定の最適性基準が課せられるときのＮＰ困難（至難）さである。ＮＰ困難スケジューリング問題の精密な定義は幾分複雑であるが、当業者によって良く理解される。実際の定義では、ＮＰ困難スケジューリング問題は、最適な解決法にとって問題を解くことに必要な時間が問題のサイズに関して指数関数的に（非常に）速く成長するということである。実際にＮＰ困難スケジューリング問題にとって最適な解決法は、比較的に小さい問題に適用されるとき以外は使用されない。
【０００７】
この結果、近最適スケジュールを与えるためにスケジューリング用の種々の近似アルゴリズムが開発されたり、および／または、このアルゴリズムの性能を改良するために、所定の制約がこの問題に加えられている。例えば、Ｄペン等の“分散リアルタイムシステムの割り当ておよびスケジューリング通信周期的タスク”（ＩＥＥＥソフトウエア工学会報、第２３卷１２号、１９９７年１２月）と、その中に含まれた周期的スケジューリング問題およびオペレーティングシステム用アルゴリズムの概説についての参考文献を参照されたい。この開示は、参照によってここに組み入れられる。パケット交換ネットワークの領域では、Ｈ．ツァン、Ｄ．フェラーリの“率制御型サービス規律”（高速ネットワークジャーナル：サービス品質についての特別な問題、第３卷４号、１９９４年）と、その中の参考文献（その開示は、参照によってここに組み入れられる）は、パケット通信ネットワークでの周期的タスクとしてモデル化される率制御型パケットフローに関する先端技術の概観を与えている。オペレーティングシステムとパケット交換ネットワーク双方の文献には、タスクの周期的属性を説明し活用するスケジューリング近似アルゴリズムが記載されている。
【０００８】
どの資源が特定の間隔内にどのタスクにサービスするかを特定するスケジュールの構築は、タスクが周期的なサービスを必要とするか否かによらず困難な問題である。従って、本発明は、計算スケジュールに対して改良された計算量を提供し、また資源利用に関してそれらスケジュールの改良された性能を提供する。
【０００９】
発明の要約
本発明は、スケジューリングシステムにおける周期的タスク率、資源スケジュール周期、並びにタスクおよび資源周期に対する尺度の単位をモデル化し選択するための方法の集合に関する。システムのスケジューラは、性能測定、例えば衝突回避、計算効率および資源利用について改良される。
【００１０】
ここで開示される方法は、数学グループ理論における新規な定理、即ちバビロニア定理と、このバビロニア定理の系、即ち完全パッキング系とに基づいている。これらは、本発明者によって表明され証明されているもので、この特許出願において最初に開示されたものである。タスク周期／率の良く選択されたセットおよび／またはスケジュール周期のセットおよび／または周期に対する尺度の単位、衝突のないスケジュールを計算するスケジューリングアルゴリズムの性能は、有意に改良される。タスク周期、資源スケジュール周期、および尺度の単位は、種々の物理現象、例えば限定されるものではないが、時間、空間、周波数、エネルギ、スピード、および質量のいずれかに対して規定される。
【００１１】
“周期”という用語は、時間間隔を記述するために時間ドメインでしばしば使用される。他の物理ドメインでは、間隔の概念は、時間間隔ではなく、物理ドメインで規定される間隔である。例えば、空間ドメインでは、間隔は長さ単位、例えばメートルによって、単一軸に沿って測定される。また、スケジュールやタスクの“周期性”は、空間に関して規定される。例えば、タスクは対象を、もう１つの対象に沿って２メートル毎に配置するためのものとなる。スケジューリング応用が規定される物理ドメインとは関係なしに、本発明は適用可能である。さらには、当業者は、本発明の明細書中で使用されている物理ドメインから他の物理ドメインへ本発明を容易にマップすることができる。“周期”に対する言及は、物理ドメイン内の間隔に一般化される。同様に、“尺度の単位” に対する言及は、物理ドメインに一般化される。
【００１２】
さらには、本発明が適用されるスケジューリングシステムの周期的性質故に、スケジューリングシステムのイベント、測定値、およびシステム値を、数学グループの要素によって索引つけされるか、それについて規定されるように、モデル化することもしばしば自然である。より包括的なグループ理論の入門的論述は、Ｊ．Ｂ．フラレイの「抽象代数学の最初のコース」（アディソン−ウエズレイ、リーディング、ＭＡ，ＵＳＡ、２００２年１１月、ＩＳＢＮ０２０１７６３９０７）に見出され、参照によりここに組み入れられる。例えば、スケジュール周期がＮ単位と計測される場合、スケジュール周期に関連したイベントは、例えばタスクが資源によってサービスされるときに、Ｎを法とする整数のグループによって自然に索引付けされる。同様に、資源によってサービスされるタスクは、その資源を表すグループのサブグループのコセットによって表される。かくして、“資源”や“資源スケジュール周期”は、一般に数学グループとして表され、“タスク”や“タスクサービススケジュール”は、その資源を表すグループのサブグループのコセットによって表され、コセットは、コセット代表およびサブグループによって表され、サブグループは、そのサブグループのジェネレータと同一視される。資源を表すグループの順序は、そのグループ内の要素の数であり、一般には“Ｎ”と呼ばれることになる。簡略化および理解の容易化のために、本発明の明細書を通して、Ｎを法とする整数のグループによる索引付けが仮定されている。但し、そうでないと表明された場合は、Ｎを法とする整数のグループのクラスが、全てのグループを含むことはない。
【００１３】
特に、それは、無限グループまたは非アーベルグループ、例えば順列グループを含まない。そのようなグループにとって、周期や率の概念はスペクトル成分に一般化する。精密には、“スペクトル成分”によって、我々はグループのサブグループを意味する。ここで、サブグループ、即ちスペクトル成分は、サブグループのジェネレータによって識別される。あるスケジューリングシステムは、イベントおよび値が自然に索引付けされる１つのグループまたは複数のグループがＮを法とする整数のグループのクラスにないように、構造化されることがある。これらの場合に、Ｎを法とする整数のグループのクラスのメンバーでないグループまで拡張されたバビロニア定理および完全パッキング系のバージョンは、明細書中に記載された方法のバージョンと同様に、スケジューリングシステムに適用される。当業者は、本発明の方法の仕様を、Ｎを法とする整数のグループのクラスからアーベルおよび非アーベルグループの双方を含む他のグループへ容易にマップすることができる。
【００１４】
本発明は、この書類の残りを通して、一般的にバビロニアスケジューリングと呼ばれる。
【００１５】
本発明は、スケジューリング応用の幅広いセットに即時に適用可能である。明細書に記載されている実施形態は、パケット通信ネットワークおよびセル通信ネットワークに直接適用されているが、この発明はこの実施形態に限定されるものではなく、当業者はこの発明を、周期的タスクをスケジュールするシステムに対し、あるいはより一般的に、資源を表すグループのサブグループのコセットによって表されるタスクをスケジュールするシステムに対し容易にマップすることができる。セル通信ネットワークは、全てのパケットが同じサイズであるパケット交換ネットワークの特殊なケースとみなすことができる。それ故、この説明の残りについて、我々は、例示目的のためにのみ、パケット通信ネットワークに言及するが、このことは本発明の限定にはならない。
【００１６】
資源およびそれらのそれぞれのサービス率が与えられ、そして変化するサービス要求を有したタスクのセットが与えられると、バビロニアスケジューリングは、（１）タスク周期性のセット、および／または（２）資源スケジュール周期、および／または（３）タスクおよび資源周期に対する尺度の単位を、タスクサービス要求が満たされるように、また衝突のないスケジュールの計算が、そのようなスケジュールが存在する場合には、可能となるように、モデル化し、選択することに使用される。それから、１または複数の関連したスケジューリングアルゴリズムが構築される。このアルゴリズムは、資源を効率的に且つ衝突なしにスケジュールするものであるか、利用可能な計算資源を使用して衝突のないスケジュールが見いだせないことを効率的に決定するものである。異なるサービス率を有する個別のスケジューリングシステム資源は、衝突のないタスク周期性の異なるセットをサポートすることが可能である。バビロニアスケジューリングは、パケット交換ネットワークで典型的に必要とされるように、資源の全てに対し同時に適用できる衝突のないタスク周期性を決定することに使用できる。
【００１７】
パケット通信ネットワークは、異なるアーキテクチャを使用するルータおよびスイッチで実施される。一般に、この発明は、率制御型サービス規律をサポートするアーキテクチャを持つルータおよびスイッチに適用される。例えば、Ｈ．ツァン、Ｄ．フェラーリの“率制御型サービス規律”（高速ネットワークジャーナル：サービス品質についての特別な問題、第３卷４号、１９９４年）を参照されたい（その開示は、参照によって全てここに組み入れられる）。率制御型サービス規律をサポートするルーティング／スイッチングデバイスの１つのタイプには、Ｓ．ムーア、Ｃ．Ａ．シラーＪｒ．の“パケットシーケンシング：ＩＰネットワークにおける理想ＱｏＳ用の決定性プロトコル”（ＩＥＥＥ通信誌、２００３年１０月、第４１巻１０号（参照によってここに組み入れられる）に記載されているようなパケットシーケンサと、ＮＨ州ポーツマスのセタシアンネットワーク社から入手可能なＳＱ−１０００およびＳＱ−５０型のルーティング／スイッチングデバイスとがある。パケットシーケンサで構成されるか、一部構成されるネットワークは、時間決定性で損失のないＩＰパケットフロー用の通信をサポートし、そして特にサービス周期的な、特に等時性のパケットフローに良く適合する。等時性パケットフローは、周期的フローであって、システムに対する尺度の単位に関して、フロー内のパケットが等しく離された追加的制約を有する。より一般的に、タスクは周期的であるが、システムをモデル化することに使用される根元的数学グループに関して、等大となるように更に制約されている。
【００１８】
多くの開発されたネットワークは、異なるリンクスピードを持つ複数の通信リンクを有し、そして周期的パケットフロー（周期的タスク）は、フローの経路が異なるスピード即ちサービス率の複数のリンクを含むときでさえ、リンク資源によって周期的にサービスされなければならない。パケットシーケンシングの文脈では、フローはサービスされるタスクであり、ネットワークポート／リンクはタスクにサービスする資源であり、そしてシーケンスエージェントと呼ばれるソフトウエアモジュールはスケジューラとして機能する。本発明は、周期的率のセットおよび／またはリンク資源周期および／または尺度の単位を選択することに使用される。これらは、ネットワーク中の全てのリンクに適用されると共に、性能計測に関する改良を表示するスケジューリングアルゴリズムの設計および実施をサポートする。
【００１９】
バビロニアスケジューリングはまた、他の応用にも直ちに適用可能であるが、ＩＰパケットシーケンシングネットワークは、本明細書で最もしばしば使用される具体例である。当業者は、この発明を、パケットシーケンシングネットワークから、周期的またはスペクトルの現象をスケジュールまたは管理する応用またはシステムに、容易にマップすることができる。
【００２０】
発明の詳細な説明
本発明の原理に従って、一般的にバビロニアスケジューリングと称される方法の集合がここに開示され、異なる周期性を持つ周期的タスクを異なるサービス率を持つ複数の資源の全てにわたってスケジューリングするための効率的なスケジューラを提供して、スケジュールが衝突しないように、即ち多くても１つのタスクが任意の与えられた時間に資源によるサービスを受けるようにスケジュールされる。
【００２１】
上述したように、本発明は、周期的またはスペクトルの現象を有するどのようなスケジューリングシステムにも適用される。この出願の好ましい実施形態は、パケット通信ネットワークまたはセル通信ネットワーク（パケットネットワークの特殊なケース）であるが、本発明はこの実施形態に限定されるものではない。好ましい実施形態は、率制御型サービス規律をサポートするルーティングおよびスイッチングデバイスを使用するパケットネットワークに適用される。例えば、Ｈ．ツァン、Ｄ．フェラーリの“率制御型サービス規律”（高速ネットワークジャーナル：サービス品質についての特別な問題、第３卷４号、１９９４年）を参照されたい（参照によって全てここに組み入れられる）。１つのそのようなタイプのデバイスは、パケットシーケンサである。パケットシーケンサによって構成されるか、一部構成されるネットワークは、パケットシーケンシングネットワークと称される。
【００２２】
パケットシーケンシングネットワークは、Ｓ．ムーア、Ｃ．Ａ．シラーＪｒ．の“パケットシーケンシング：ＩＰネットワークにおける理想ＱｏＳ用の決定性プロトコル”（ＩＥＥＥ通信誌、２００３年１０月、第４１巻１０号［ムーア、シラー］の参考文献に詳述されている（参照によってその全体がここに組み入れられる）。
【００２３】
パケットシーケンシングネットワークの典型的構成において、リンク資源は、スケジュール周期を法とする時間を規定する。例えば、ネットワークリンクは、Ｐを法とする時間を規定する。ここで、Ｐ＝１２０ｍｓである。加えて、リンクのスケジュール周期は、予約（アポイントメント）と呼ばれる離散的な単位に関して測定される。この予約は、典型的にはバイトで測定される。ここで留意されるべき点は、スケジュール周期の物理ドメイン（時間）は、尺度の単位の物理ドメイン（バイトで測定される予約であるか、または等価的に量）とは異なるということである。かくして、スケジュール周期１２０ｍｓで予約サイズ５０バイトの１００Ｍｂｐｓ高速イーサーネットリンクにとって、スケジュール周期１２０ｍｓは、３０，０００予約のサイズとなる（３０，０００＝１２０ｍｓ＊１００Ｍｂｐｓ＊（バイト／８ビット）＊（予約／５０バイト））。
【００２４】
ネットワークリンクは、パケットシーケンシングデバイスに接続される。これらデバイスは、通常のＩＰパケットルータのように機能するが、コミットメントを受入れると共に強制して、個別のパケットフローからのパケットに対し精密な時間に、即ち特別な予約時間にサービスする追加的能力を有する。ネットワークに取り付けられたデバイスや、ネットワークによってホストされるアプリケーションは、ネットワークを通る順序付けされたパケットのフローまたは道程に対するリクエストを発行することができる。このリクエストは、典型的にはシーケンスエージェントと呼ばれるソフトウエアモジュールによって扱われる。このモジュールは、ネットワークに取り付けられたホスト上に存在できるか、ネットワーク内のシーケンサを通して分散され得る。
【００２５】
スケジューリングシステムのより一般的な文脈では、シーケンスエージェントは、タスク（順序付けられたフロー、または道程）を資源（フローの経路に沿ったリンク）に割り当てるスケジューラである。シーケンスエージェントは、ネットワークの接続形態およびリンク状態を知っている。そして、この情報を使用して、ネットワークを通る道程を計算することができる。この道程は、ネットワークを通る経路を特定するだけでなく、精密な時間（予約）を特定する｛予約、シーケンサリンクポート｝対の集団である。各シーケンサは、その時間の間に、フローからのパケットにサービスする。
【００２６】
上記のシナリオで、シーケンスエージェントは、リクエストを扱い、ネットワークを通る衝突のない道程をパケットフローに対して見つける。即ち、シーケンスエージェントは、ネットワークを通る経路を見つけるだけでなく、もう１つのフローに対して既に割り当てられたものではない予約時間を、その経路内の各リンク上で見つける。いくつかのフロー、特に所定の所謂“リアルタイム”フロー、例えば“ボイスオーバーＩＰ”（ＶｏＩＰ）ネットワーク化された応用によって創生されるフローは、厳密に等時性であると共に周期的ではない道程から利益を得る。即ち、フロー内の連続パケットは、等距離離された時間間隔中サービスされる。
【００２７】
例えば、２０ｍｓサンプリング周期を持つ典型的なＧ．７１１符号化ＶｏＩＰ応用は、２０ｍｓ毎にパケットを構築してネットワークに送信する。パケットが宛先へ精密な２０ｍｓ間隔で配送されるように、根元的ネットワークが等時的にパケットを輸送できる場合、受信デバイスはジッター補償バッファを必要としない。ＶｏＩＰ応用では、ジッター補償バッファは、終端間待ち時間に貢献するが、この待ち時間は最小化されるべきである。それ故、等時的にパケットフローを輸送することができるパケットシーケンシングネットワークを使用することによってジッター補償バッファを消去することは、終端間待ち時間の最小化を助ける。
【００２８】
パケットシーケンサは、パケットルーティングおよびスイッチングデバイスのより一般的なクラスの一例である。このクラスは、Ｈ．ツァン、Ｄ．フェラーリの“率制御型サービス規律”（高速ネットワークジャーナル：サービス品質についての特別な問題、第３卷４号、１９９４年）の率制御型サービス規律をサポートする能力によって特徴付けられる。このクラスのルータおよびスイッチによって構成されたネットワークは一般に、サービス品質計測、例えば終端間遅延、遅延変化（通常ジッターとして知られる）、パケット待ち行列損失、および損失分散に関して、他のクラスのルーティングおよびスイッチングデバイスで構成されたネットワークと比較されたときに、改良された性能を呈する。
【００２９】
それらの時間ベースの転送アーキテクチャ故に、パケットシーケンシングネットワークは、等時性パケット輸送サービスを提供することが可能である。これは通常のパケットルータとは対照的である。通常のパケットルータは、コンテンションベースの資源共有モデルを使用するので、ネットワークを横断すると共に同じ資源（例えば、ネットワークリンク）について争う複数のフローがあるときは、等時性輸送に対して、または周期的輸送に対してさえ、ハード保証をすることができない。
【００３０】
他のネットワーク化された応用、例えばデータファイル転送のようなリアルタイム要求を有しない応用は、ＶｏＩＰ等のリアルタイム応用のように多くの利益を等時性パケット輸送から直接得ることがないが、これら他の応用に対して等時性および／または周期的輸送を使用することは、ネットワークに対し全体として次の有意な利益を与える。これは、その使用が潜在的に、
（１）ネットワークがその資源を利用する能力を増加し、
（２）シーケンスエージェントが道程を計算することに使用する時間を減少し、
（３）シーケンスエージェントがシーケンサに伝送して、それらに道程情報を与える信号方式情報の時間およびサイズを減少する、からである。
【００３１】
これらの利益の全ては、ネットワークのコスト、複雑さ、および性能を制御するために重要である。一例として、我々は利益（３）を、１２０ｍｓスケジュール周期および５０バイト予約、従って各周期に３０，０００予約を持つ１００Ｍｂｐｓ高速イーサーネットリンクの上記例の文脈中で検証する。２０ｍｓ毎にパケットを入手するＧ．７１１符号化ＶｏＩＰフローを考える。各パケットは、２３８バイト（１６０バイトのＧ．７１１符号化ペイロード、１２バイトのＲＴＰヘッダー、８バイトのＵＤＰヘッダー、２０バイトのＩＰヘッダー、および３８バイトのイーサーネットフレーム）を使用し、それ故５連続した５０バイトの予約をリンクによるサービス用に必要とする。
【００３２】
十分なスループットをフローに対して与えるために、シーケンスエージェントは、他のフローに既に託されたものではない３０，０００予約の集団内で５連続した予約の６セットを識別する必要がある。即ち、リンクは６ＶｏＩＰパケットに対し１２０ｍｓ毎にサービスする必要がある。シーケンスエージェントが６予約セットのスケジュール内の位置を非等時性手法で、例えばランダムに選択する場合、シーケンスエージェントは、６セットの予約およびそれらの位置を有したリンクに関連したシーケンサに対し信号送信しなければならない。
【００３３】
これに対し、シーケンスエージェントが、周期内で予約全体にわたって等距離で均一に分散された６予約セット位置を選択する場合、即ちフローのパケットにサービスすることを等時的にスケジュールする場合、シーケンスエージェントがシーケンサに信号送信する必要のある唯一の情報は、第１予約セット位置（オフセット）およびフロー率、即ち１２０ｍｓ周期内にサービスされるべきパケットの数である。シーケンサは、ローカル処理資源を使用して、リンクスケジュール内における他の要約セットの均一に離された位置を単純に計算することができる。
【００３４】
一般に、周期的ではあるが非等時的な予約選択戦略が使用される場合、信号方式情報の量は、単一スケジュール周期内でサービスされるべきパケットの数、またはフロー率と線形に比例する。これに対し、等時的なスケジューリング戦略では、信号方式情報の量は一定であってフロー率とは無関係になる。この特性は、高スループットフローおよび高トランザクション率をサポートするネットワークにおいて信号方式のオーバーヘッドを減少させるためには重要になる。このようなネットワークは、例えば高品質ＩＰテレビ会議応用をホストする。この応用は、フロー当たり数１００パケットを各１２０ｍｓリンクスケジュール周期中に生成すると共に、毎秒数１００回のビデオセッションの配置および分解を生じさせるものである。
【００３５】
一般に、数学グループを有するスケジューリングシステムのモデル化は、システム情報の効率的符号化を認める。例えば、周期的タスクは、グループのコセットによって表すことができ、またコセットは、２つの値、即ちグループのジェネレータと、コセット代表とによって全て表すことができる。スケジューリングシステム情報の効率的符号化は、システムによって性能を改良することに活用される。
【００３６】
Ｎ＝（リンクスピード＊スケジュール周期）／予約サイズである場合に、Ｎ予約を有するリンクにとって、可能な等時性フロー率は、Ｎの素因数のべき集合から求められる。そして、このセットは、（付加的）グループＺＮのサブグループのセットと等価である。具体的には、Ｎ＝ｐ１ｐ２ｐ３．．．ｐｊの素因数分解である場合、周期当たりのパケット数または等価的に相互パケット間隔（フロー率）で測定される全ての可能な等時性フロー率は、２ｊの値１，ｐ１，ｐ２，ｐ３，．．．，ｐｊ，ｐ１ｐ２，ｐ１ｐ３，．．．，ｐ１ｐｊ，ｐ２ｐ３，ｐ２ｐ４，．．．，ｐ２ｐｊ，．．．，ｐ１ｐ２ｐ３．．．ｐｊによって構成される。（素因数はＮの素因数分解では１より多く起こり、この場合そのセットのいつかのメンバーは重複することになる）。このセットは、Ｎに対するタスク率の許容セットと称される。等時性タスク周期の対応するセットは、Ｎに対するタスク周期の許容セットと称される。
【００３７】
具体例として、スケジュール周期が、２＊２＊３＊５に因数分解されるＮ＝６０に一致する場合を考える。等時性フロー率の許容セットは、｛１，２，３，５，４，６，１０，１５，１２，２０，３０，６０｝である。この場合、単位は周期当たりのパケット数である。与えられた等時性フロー率に対し、予約で測定される相互パケット間隔、または周期は、Ｎをフロー率で割ることによって単純に計算される。例えば、Ｎ＝６０であり且つ周期当たり４パケットのフロー率である場合、フロー内の各パケットのリーディングエッジ間の相互パケット間隔は、６０／４＝１５予約である。１つの予約サイズに一致するパケットを仮定すると、この等時性フローは、予約のセット｛０，１５，３０，４５｝、または予約のセット｛１，１６，３１，４６｝、または予約のセット｛２，７，３２，４７｝等を割り当てられる。ここで留意されるべき点は、Ｎが素因数であるか、または比較的少ない素因数を持つ数である場合、等時性フロー率のセットは、高度に素数でないＮの値から求められる等時性フロー率と比べて、比較的少ない要素を含むことになる、ということである。ここでまた留意されるべき点は、Ｎの与えられた値に対する許容タスク率のセットと許容タスク周期のセットは、同じ要素を有する、ということである。
【００３８】
前述したように、数学グループは、周期的タスクを有したスケジューリングシステムをモデル化することに対して優れた枠組みを与える。より包括的なグループ理論の入門的論述は、Ｊ．Ｂ．フラレイの「抽象代数学の最初のコース」（アディソン−ウエズレイ、リーディング、ＭＡ，ＵＳＡ、２００２年１１月、ＩＳＢＮ０２０１７６３９０７）に見出され、参照により全てここに組み入れられる。Ｎ＝６０である上記の例では、モデル化に有用なグループは、整数加算の通常動作について、６０を法とする整数のグループである。このグループにとって、１５予約の相互パケット間隔および１予約に一致するパケットを有する等時性フローは、ジェネレータ１５を有するサブグループ＜１５＞、または｛０，１５，３０，４５｝として表され、その要素は正確に予約であって、その予約中にフローは資源によってサービスされることになる。等時性フローに割り当てられた第１予約が０でないとき、そのフローはサブグループ＜１５＞のコセットとして表される。
【００３９】
例えば、コセット｛１，１６，３１，４６｝は＜１５＞１として表され、そして１のコセット代表を有する。コセット｛０，１５，３０，４５｝もまたサブグループ＜１５＞であり、＜１５＞０として表されるが、コセット代表が０であるときに、添字表記は標準的表記実務に従って省略される。コセットの要素は予約を表す。この予約中に、例えばシーケンサがパケットをリンク上で転送するときに、資源はタスクにサービスすることになる。
【００４０】
フロー内のパケットが１予約より大きい場合、フローにサービスするために、連続するコセットが割り当てられなければならない。例えば、２予約の大きさのパケットを有すると共に１５予約の周期を有するフローは、コセット対（＜１５＞，＜１５＞１）、またはコセット対（＜１５＞１，＜１５＞２）、またはコセット対（＜１５＞２，＜１５＞３）等を割り当てられる必要がある。
【００４１】
バビロニアスケジューリングは、Ｐを法とする時間（ここで、Ｐはスケジュール周期である）を、尺度の単位（予約）に関して、スケジュール周期の尺度が整数Ｎとなるように測定する。バビロニアスケジューリングは、スケジュールされたタスクの周期性を、Ｎの素因数のべき集合から、またはＮの整数倍数または整数約数のべき集合から求められる値に制約する。
【００４２】
当業者は、Ｎの整数倍数または整数約数に対する等時性フロー周期を如何にして求めるかを理解するであろう。そのように制約された周期を持つ周期的タスクはバビロニアタスクと称され、それらの周期はバビロニア周期と称され、それらのタスク率はバビロニア率と称される。タスク周期または率がバビロニアであるか否かはＮの値に依存しない、という点に留意されたい。例えば、Ｎ＝６０であるときに、４は、６０を均等に分割するので、バビロニア周期およびバビロニア率の双方である。しかし、Ｎ＝３０であるときに、４は、３０を均等に分割しないので、バビロニア周期または率とはならない。
【００４３】
次に説明されるのは、バビロニアタスクをスケジューリングするときに衝突を回避するための効率的方法に対する基礎である。バビロニアタスク間の衝突を回避することは、バビロニア定理によって規定される特別な関係を有するタスクについてコセット代表を選択することと等価である。バビロニア定理が示していることは、それぞれバビロニア周期ａおよびｂを持つ２つのタスクが、それぞれコセット代表ｘおよびｙを割り当てられているとすれば、これらタスク＜ａ＞ｘおよび＜ｂ＞ｙは、（ｘ−ｙ）がｇによって均等に分割される場合に、そしてその場合にのみ衝突する、という点である。ここで、ｇはａおよびｂの最大公約数、またはｇｃｄ（）である。この定理の証明はまた、タスクが衝突する予約、即ち＜ａ＞ｘと＜ｂ＞ｙの交差を決定するための単純な手順を含んでいる。
【００４４】
簡単な例が助けになる。再び我々は、Ｎ＝６０のスケジュール周期について上記の例を使用し、また我々は、１約束より大きくないパケットを有するパケットフローを仮定する。６予約の周期を持つフロー“ａ”と、１５予約の周期を持つフロー“ｂ”とを考える。ｇｃｄ（６，１５）＝３であるので、コセットは、それらの代表の差が３によって均等に分割されないように選択されるべきである。＜６＞０および＜１５＞１を選択する。実際に、＜６＞０はセット｛０，６，１２，１８，２４，３０，３６，４２，４８，５４｝であり、＜１５＞１はセット｛１，１６，３１，４６｝であり、そして＜６＞０と＜１５＞１の交差はゼロである。即ち、フローは衝突しない。その代わりに、例えば＜６＞１および＜１５＞１０が選択された場合、バビロニア定理によってフローは衝突する。これは、（１０−１）＝９が３＝ｇｃｄ（６，１５）によって均等に分割されるからである。実際に、＜６＞１はセット｛１，７，１３，１９，２５，３１，３７，４３，４９，５５｝であり、＜１５＞１０はセット｛１０，２５，４２，５７｝であり、＜６＞１と＜１５＞１０の交差は｛２５｝となる。即ち、タスク＜６＞１および＜１５＞１０は、リンク上で同時にスケジュールされた場合には、予約２５で衝突する。
【００４５】
バビロニア周期は、比較的に素数的であり得るので、そのような周期を持つフローは、衝突なしに資源を共有することができない、という点にも留意されたい。上記例では、バビロニア周期は、Ｎ＝６０，４および１５を有するが、ｇｃｄ（４，１５）＝１であるので、バビロニア定理が証明することは、関連するフローを表すコセットはどのようなものでも、（それらが衝突する）非ゼロ交差を有することになる、という点である。これは、コセット代表の全ての可能な差が１によって均等に分割されるからである。バビロニア定理がまた示すことは、一般に大きなペアをなすｇｃｄ（）値を有するバビロニア周期を持つフローをスケジュールすることは望ましい、という点である。この理由は、このことがゼロ交差を持つコセットに対してより大きな可能性を認めるからであり、従ってそのようなコセットを見出す確率を増加させるべきだからである。
【００４６】
しかしながら、システムが率の所定セットをサポートする必要がある場合、Ｎは衝突が回避できるように選択される。例えば、スケジュール周期の範囲内で４または１５のいずれかの率を有するフローをサポートする要求があることを想定すると、フローは、スケジュール周期当たり４回またはスケジュール周期当たり１５回のいずれか一方でサービスされなければならない。尺度の単位（予約）が、Ｎ＝６０であるように規定される場合、フローの対応する周期は、率４のフローに対しては６０／４＝１５予約となり、また率１５のフローに対しては６０／１５＝４予約となる。我々は既にｇｃｄ（４，１５）＝１であることを見てきた。それ故、フロー率およびＮのこれらの値は、衝突を回避するには十分ではない。しかしながら、予約サイズ（尺度の単位）は、Ｎが衝突を回避するに十分な値へと変化するように再構成され得る。等価的に、スケジュールを索引付けすることに使用されるグループは、変化されうる。例えば、予約サイズがそのオリジナルサイズの半分に再規定されることを想定する。この場合、スケジュール周期は今、Ｎ＝１２０予約となる。即ち、索引付けすることに使用されるグループは、Ｚ６０からＺ１２０へと変化されている。スケジュール周期当たり４回サービスされなければならないフローは今、１２０／４＝３０予約の周期を有する。また、スケジュール周期当たり１５回サービスされなければならないフローは今、１２０／１５＝８予約の周期を有する。ｇｃｄ（８，３０）＝２であるので、両タイプのフローを衝突なしにスケジュールすることが可能である。
【００４７】
上述したように、バビロニア定理は、潜在的な衝突を検出したり、２つの異なるサービス率を持つフローについて衝突を回避するスケジュール周期尺度を選択することに使用できる。しかしながら、２より多いフロー率が率セット内にある場合は、バビロニア定理に基づいた同様の論理が適用される。即ち、率Ｒ＝｛ｒ１，ｒ２，．．．，ｒｋ｝を有するタスクのセットと、フロー周期Ｐ＝｛ｐ１，ｐ２，．．．，ｐｋ｝の対応するセット（ここで、ｐｊ＝Ｎ／ｒｊであり、またＮは資源スケジュール周期の尺度である）とが与えられると、（ｘ−ｙ）がｇ＝ｇｃｄ（ｐ）、即ちＰにおける要素の全ての同時最大公約数によって均等に割り切れない場合、コセット代表ｘおよびｙを有する２つのフローは衝突しない。
【００４８】
この観察は、バビロニア定理に対して、完全パッキング系と呼ばれる系を生じさせる。この系は、スケジューリングアルゴリズムによって、リンク資源を効率的にスケジュールし利用することに使用される。システムが、率セットＲ＝｛ｒ１，ｒ２，．．．，ｒｋ｝を有するフロー（タスク）と、フロー周期Ｐ＝｛ｐ１，ｐ２，．．．，ｐｋ｝の対応するセットとをサポートすることを想定する（ここで、サイズＮのスケジュール周期を有するリンク上においてｐｊ＝Ｎ／ｒｊである）。ｇ＝ｇｃｄ（Ｐ）とすると、Ｒから任意に選択された率を有するｇフローのセットは、ｇフローにコセット代表０，１，．．．ｇ−１が独得に割り当てられていれば、衝突しない。実際に完全パッキング系が意味することは、フローおよびフロー率の現ミックスとは関係なく、１つのフローにコセット代表０，１，．．．ｇ−１が独得に割り当てられていれば、そのフローが他のフローと衝突することをスケジューラはチェックする必要もない、という点である。完全パッキング系は、従って、スケジューリングアルゴリズムの計算量を有意に減少させること、並びに資源が全て利用され得る条件を規定することに使用できる。
【００４９】
完全パッキング系は、率のセットを決定するための基礎である。この率のセットは、スケジューリングアルゴリズムによって、計算量を減少すること、並びに資源利用を改良することに利用される。率Ｒのセットとフロー周期Ｐの対応するセットにとって、ｇ＝ｇｃｄ（Ｐ）のより大きな値は、衝突のないスケジュールを見出し可能なスケジューリングアルゴリズムを、ｇのより小さな値よりも効率的に提供する。かくして、Ｒ（従ってＰ）は、ｇｃｄ（Ｐ）が大きくなるように採集されるべきである。あるいは逆に言えば、Ｒが予め設定されている場合には、スケジュール周期および／または尺度の単位は、ｇｃｄ（Ｐ）が大きくなるように採集されるべきである。
【００５０】
完全パッキング系に基づいた率セット選択の説明例として、パケットシーケンシングネットワークにおいて、４４Ｍｂｐｓのペイロード帯域を有したＤＳ−３リンクを考える。ネットワーク工事チームが１２０ｍｓのスケジュール周期および５０バイトの約束サイズを有したリンクを構成しているものと想定する。このリンクは、スケジュール周期のサイズに対してＮ＝１３２００約束を生じる。スケジュール周期当たり６０パケットまでの率、即ち６０ｐｐｐを有するパケットフローをサポートする要求がある。Ｎ＝１３２００の因数分解が明らかにすることは、６０ｐｐｐより大きくない等時性フロー率のセットＲは｛１，２，３，４，５，６，８，１０，１２，１５，２０，２４，２５，３０，４０，５０，６０｝であり、またフロー周期の対応するセットＰは、約束で測って、｛１３２００，６６００，４４００，３３００，２６４０，２２００，１６５０，１３２０，１１００，８８０，６６０，５５０，５２８，４４０，３３０，２６４，２２０｝であり、これはｇ＝ｇｃｄ（Ｐ）＝２２を与える、という点である。
【００５１】
２２は、ｇにとって良い値なのか？その答えは、ホストされる応用の要求に依存している。ネットワークがサポートする必要のある応用のセットが“ボイスオーバーＩＰ”（ＶｏＩＰ）および通常のデータトラフィックを含むことを考える。Ｇ．７１１および２０ｍｓサンプリングを使用して符号化されたペイロードを有するＶｏＩＰパケットは、２００バイト、即ち４予約より大きいが、２５０バイト、即ち５予約よりは小さい（正確なサイズは、リンクレイヤプロトコルフレーミングに依存する）。それ故、スケジューラは、５連続予約のセットをＶｏＩＰトラフィックに対して割り当てる必要がある。データパケットは、（１５００バイトのイーサーネット最大伝送時間単位（ＭＴＵ）がネットワークパラメータ値であるものと仮定すると）１５３８バイトにも大きくできるので、スケジューラは、３１連続予約データトラフィックのセットを割り当てる必要がある。かくして、このリンクを通してスケジュールされた正に最初のフローがデータフローである場合、そのフローには、値０から２１＝ｇ−１までの全てをカバーするコセット代表０，１，２，．．．３０が割り当てられる。従って、データフローの率とは関係なく、スケジューラは、後続フローをスケジュールしようとするときに、後続フローの率とは関係なく、衝突を明確にチェックしなければならない。これは効率が悪い。
【００５２】
率Ｒのセットは低減されるか、制限されて、ｇｃｄ（Ｐ’）がｇｃｄ（Ｐ）よりも大きくなるように、低減されたフロー率セットＲ’および対応するフロー周期セットＰ’を形成する。バビロニアスケジューリングを使用して、そのようなＲ’およびＲセットを構築する１つの手法は、次のようなものである。即ち、６０ｐｐｐ率をサポートする要求故に、６０はＲ’に含まれ、そして６０ｐｐｐフロー率周期（Ｎ／６０＝１３２００／６０＝２２０予約）はＰ’に含まれる。ゴールは、ｇｃｄ（Ｐ’）が大きくなるように、Ｐの要素をＰ’に包含することである。このようにする１つの手法は、それらの周期（２２０の整数倍）だけをＰに包含することであり、これによりＰ’＝｛２２０，４４０，６６０，８８０，１１００，１３２０，２２００，２６４０，３３００，４４００，６６００，１３２００｝となる。構成によって、明らかにｇｃｄ（Ｐ’）＝２２０となる。Ｒ’を形成する対応するフロー率は、確かに６０ｐｐｐを均等に分割するフロー率であり、Ｒ’＝｛１，２，３，４，５，６，１０，１２，１５，２０，３０，６０｝である。
【００５３】
上記のフロー率セット構成技術の有効性は、次のように測定することができる。即ちＲ’は１２フロー率を含むのに対し、Ｒは７フロー率を含む。あるいは、Ｒ’はＲよりもおよそ３０％少ないフロー率を有する。しかしｇｃｄ（Ｐ’）＝２２０は、ｇｃｄ（Ｐ）＝２２よりも１０倍大きい、または１０００％の増加であり、１つの解釈は、１０倍多いトラフィックは、明確な衝突チェックがなされる必要がある前に、スケジュールされ得る、ということになる。Ｒの代わりにＲ’を使用するようにシステムを制限することは、関連したスケジューラアルゴリズムの性能を有意に改良することになる。この制限は、Ｒ’がほぼＲの大きさであるという点で小さいだけでなく、この制限はまた、次のように容易に取り除かれる。即ち、システム要求が、ＲにはあるがＲ’にはないフロー率ｒｊを含む場合、ｒｊはＲ’内の要素によって構成される、という点に留意されたい。例えば、ＲにはあるがＲ’にはない２４ｐｐｐがシステム要求であることを想定すると、２４ｐｐｐフローは、２つの均等に離された１２ｐｐｐフローとして合成される。この場合、１２ｐｐｐはＲ’にある。より一般的に、所定の率を有する所定のフローは、異なる率のフローの組み合わせによって合成され得る。この場合、フローの率の合計は、所定のフローの率と等しくなる。このフロー率合成方法は、Ｒ’内ではなくＲ内のフロー率に適用される。従って、事実上どのフロー率も使用から外されてはいない。同様に、所定の率を有する所定のフローは、合計が所定の率となる率のフローに分解され得る。
【００５４】
明細書のこの点まで、単一資源サービス率だけが考慮されている。勿論、多くのリアルワールドスケジュール化システムは、異なるサービス率を有する資源のセットに対してタスクをスケジュールする。リアルワールドネットワークは例外ではない。それらは通常、異なるスピードを有する種々のリンクを包含するので、ネットワークを横断する単一パケットフローは、有意にスピードを変化させるリンク上を輸送される。
【００５５】
例えば、顧客ネットワークとサービスプロバイダネットワークとの間のアクセスリンクは、典型的にはＤＳ−１（１．５３６Ｍｂｐｓ）、ＤＳ−３（４４Ｍｂｐｓ）、またはＯＣ−３（１５５Ｍｂｐｓ）であり、また内部ネットワークファブリックリンクは、典型的にはＯＣ−３、ＯＣ−１２（６２０Ｍｂｐｓ）、ＯＣ−４８（２４８０Ｍｂｐｓ）、またはＯＣ−１９２（９９２０Ｍｂｐｓ）リンクであるか、あるいは１０、１００、１０００、または１０，０００Ｍｂｐｓイーサーネットリンクである。シーケンサのネットワークがそのように容量を変化させるリンクと相互接続されている場合、如何にしてパケットフローが等時的に終端間で輸送されるかを考慮しなければならない。
【００５６】
我々が上記論議から知ったことは、単一リンクがＮ予約に一致するスケジュール期間を有する場合、そのリンクによって輸送され得る等時性フロー率／周期の許容セットは、Ｎの素因数のべき集合から求められる、ということである。今、２つのリンクを考える。それぞれは、スケジュール期間に対して同じ時間値を、また予約に対して同じサイズ（例えば、それぞれ１２０ｍｓおよび５０バイト）を有するが、異なる根元的リンク容量を有するので、結果的に２つの異なるスケジュール期間測定値Ｎ１およびＮ２予約が、２つのリンクに対して生じる。両リンクにわたって相互にサポートされ得る等時性フロー周期は、ｇｃｄ（Ｎ１，Ｎ２）の素因数のべき集合から求められる。より一般的には、ｋリンクのセットおよびスケジュール期間尺度｛Ｎ１，Ｎ２，．．．Ｎｋ｝の対応するセットに対して、等時性フロー率は、ｇｃｄ（｛Ｎ１，Ｎ２，．．．Ｎｋ｝）の素因数のべき集合から求められる。
【００５７】
例えば、ネットワークがＤＳ−３、ＯＣ−３、および１０Ｍｂｐｓイーサーネットリンクを含むものと想定する。これらはそれぞれ、（３つのリンクタイプ全てに対して１２０ｍｓにセットされた）スケジュール周期当たり１３２００、２７０００、および３０００の５０バイト予約を有するように構成されている。すると、ｇｃｄ（１３２００，２７０００，３００）＝６００となり、これは素因数分解６００＝２＊２＊２＊３＊５＊５を有する。従って、これら３つの異なるリンクタイプにわたって相互にサポートされ得る等時性フロー率の許容セットＲは、６００を均等に分割する全整数により構成される。即ち、Ｒ＝｛１，２，３，４，５，６，８，１０，１２，１５，２０，２４，２５，３０，４０，５０，６０，７５，１００，１２０，１５０，２００，３００，６００｝である。各リンクタイプは、Ｎの異なる値を有するので、各リンクに対するフロー周期のセットは、各リンクタイプについて異なるものとなる。複数のリンクタイプおよびスピードを有するネットワークを設計し構築する場合、単式リンク−スピードの場合にサポートされたフロー率のセットを制限するための前述した方法は、当業者によって容易に複式リンク−スピードの場合に適用および応用される、という点に留意されたい。異なるリンクタイプのセット内の各リンクタイプに対する予約の数の構成は、大きなｇｃｄ（）値に対する必要性によってガイドされる、という点に更に留意されたい。
【００５８】
上記の論議は、異なるリンクタイプに対するスケジュール周期および尺度の単位（予約サイズ）を、次のように選択する方法を示している。（１）リンクタイプｉに対するスケジュール周期当たりの予約の個別値Ｎｉは多くの素因数を有し、従って種々の等時性フロー率をサポートすることができる。（２）ｊ個のリンクタイプに対する値Ｎ１，Ｎ２，．．．Ｎｊのセットは、最大公約数ｇを有する。これは、それ自体が多くの素因数を有する、即ち高度に素数でないｇの値を有する。後者の場合、比較的大きな種類の等時性フロー率は、リンクタイプの全てにわたって同時にサポートされ得る。また、それらの対応するフロー周期セットの最大公約数は比較的大きい。
【００５９】
これらの方法は、当業者によって、パケット通信ネットワークのクラスから、変化するサービス率の資源のセットを有するスケジュールされたシステムの広いクラスへと容易に拡張される（異なる周期を有した周期的タスクにサービスすることが望ましい）。また、前述したように、妥当であるかシステムによって必要とされるフロー率をフロー率制限方法が許さない場合でさえも、これらのフロー率は、許容される周期を持ついくつかのフローから合成することができる。
【００６０】
明細書のこの点まで、本発明の説明は、タスクのセットに対するコセット代表を見出す問題に関してなされてきた。この場合、タスクの率属性は許容値の予め設定されたセットから選択され、対応するコセットの交差はゼロとなる。本発明はまた、以下で説明されるように、逆の問題にも適用し得る。即ち、コセット代表のセットと、コセット代表が割り当てられるタスクのセットとが与えられる場合、対応するコセットの交差がゼロとなるように各タスクに割り当てられる率は何なのか？当業者は、所定の率を有するタスクのセットに対するコセット代表を見出す問題事例に対して上述された方法を、所定のコセット代表を有するタスクのセットに対する率を見出す逆の問題事例に、容易にマップすることができる。
【００６１】
更に当業者は、本発明が、限定されるものではないが、以下の使用分野におけるスケジューラおよびスケジューリングシステムにも適用可能であることを認識することになる。即ち、コンピュータのオペレーティングシステム、輸送ネットワーク、製造および産業プロセス、アナログ、デジタルおよび光学的通信システム、ワイヤレス通信システム、パケット交換通信ネットワーク（例えばＩＰネットワーク）、セル交換通信ネットワーク（例えばＡＴＭネットワーク）、精密計数、標本化、および測定装置、暗号システム、並びに電磁信号装置（例えば、磁気共鳴撮像システム）である。当業者は、本発明を特別な使用分野にマップすることができる。
【００６２】
当業者によって本発明に適用される変形および置換は、本発明の範囲内にあるものと考えられる。
【手続補正書】
【提出日】平成17年2月24日(2005.2.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
スケジューリングシステムをモデル化し構造化するための方法であって、前記システムは、複数のタスクと、タスクにサービスするための資源と、タスクのセットを資源に割り当てるスケジューラとを有し、前記方法は、タスクを抽象代数学上の数学グループのサブグループのコセットとして規定し、資源を前記数学グループとして規定し、そして順序またはサイズをグループに割り当てるように資源に対する尺度の単位を規定する作用を備えることを特徴とする方法。
【請求項２】
タスクを表すコセット、資源を表すグループ、および尺度の単位は、制限されるものではないが、時間、空間、周波数、エネルギ、スピードおよび質量を含む物理ドメインについて規定される請求項１の方法。
【請求項３】
前記システムは、コセットおよび関連したサブグループによって表される少なくとも第１のタスクと、第２のコセットおよび関連したサブグループによって表される少なくとも第２のタスクとを有し、第２のサブグループのジェネレータは、第１のサブグループのジェネレータとは異なる請求項１の方法。
【請求項４】
前記スケジューリングシステムは、複数の資源を有する請求項１の方法。
【請求項５】
前記複数の資源は、物理ドメイン全体に分布されている請求項４の方法。
【請求項６】
タスクは、資源を表すグループのサブグループのコセットによって表すことができ、またコセットは、第１および第２の値によって完全に表すことができ、第１の値は、サブグループのジェネレータを有し、そして第２の値は、コセット代表を有する請求項１の方法。
【請求項７】
タスクは、グループの連続するコセットによって表すことができる請求項６の方法。
【請求項８】
前記複数の資源は、少なくとも２つの異なる順序を有したグループによって表わされる請求項５の方法。
【請求項９】
前記システムは、周期的なスケジュールされたタスク予約を有したパケット交換通信システムを含む請求項１の方法。
【請求項１０】
タスクをコセットとして、また資源をグループとして規定し測定する作用は、資源を表すグループの順序であるＮの値からの前記コセットに関連した可能なサブグループのセットを、Ｎの素因数のべき集合から求める作用を含み、このセットは、（付加的）グループＺＮのサブグループのセットと等価であり、Ｎ＝ｐ１ｐ２ｐ３．．．ｐｊの素因数分解である場合、全ての可能なサブグループジェネレータのセットは、２ｊの値１，ｐ１，ｐ２，ｐ３，．．．，ｐｊ，ｐ１ｐ２，ｐ１ｐ３，．．．，ｐ１ｐｊ，ｐ２ｐ３，ｐ２ｐ４，．．．，ｐ２ｐｊ，．．．，ｐ１ｐ２ｐ３．．．ｐｊによって構成される請求項１の方法。
【請求項１１】
セットＰ＝｛ｐ１，ｐ２，．．．，ｐｋ｝から選択されたジェネレータ値を有する１以上のサブグループのセットが与えられ、タスクに対してコセットを規定する作用は更に、コセット代表ｘおよびｙを、サブグループジェネレータｐｉおよびｐｊを有する２つのタスクに対してそれぞれ選択する作用を含み、（ｘ−ｙ）は、ｇ＝ｇｃｄ（ｐｉ，ｐｊ）によって均等に割り切れることがなく、ｇｃｄ（）は、最大公約数関数であり、それ故ｇはｐｉとｐｊの最大公約数である請求項１の方法。
【請求項１２】
前記システムは、Ｐ＝｛ｐ１，ｐ２，．．．，ｐｋ｝から選択されるジェネレータ値を有するサブグループによって表されるタスクをサポートし、更にコセット代表をタスクに対し独得に割り当てる作用を有し、前記コセット代表は、値のセット｛０，１，．．．ｇ−１｝から選択され、ｇ＝ｇｃｄ（Ｐ）は、Ｐにおける要素値の全ての最大公約数である請求項１の方法。
【請求項１３】
前記システムは、複数の資源を有し、前記複数の資源は、少なくとも２つの異なる順序を有したグループによって表わされる請求項１の方法。
【請求項１４】
前記数学グループは、アーベル数学グループおよび非アーベル数学グループからなるグループのセットから選択される請求項１の方法。
【請求項１５】
サブグループジェネレータのセットは、前記サブグループジェネレータのセットよりも小さいサブセットに制限されている請求項１の方法。
【請求項１６】
サブグループジェネレータのセットは、前記サブグループジェネレータのセットよりも小さいサブセットに制限されている請求項１１の方法。
【請求項１７】
資源を表すグループは、タスクを表すコセットの交差がゼロとなるように選択される請求項１の方法。
【請求項１８】
資源に対する尺度の単位は、前記資源を表すグループのサブグループの全てのジェネレータ値のセットが比較的に素数的なペアをなさないように選択されるか、あるいはジェネレータ値のセットが比較的大きな最大公約数を有するように選択される請求項１の方法。
【請求項１９】
尺度の単位は、前記複数の資源を表すグループの順序の対応するセットが比較的大きな最大公約数を有するように選択される請求項５の方法。
【請求項２０】
グループ、サブグループ、またはコセット表記を使用してシステム状態情報を符号化する作用を更に備える請求項１の方法。
【請求項２１】
前記スケジューラは、可能な衝突イベント、または等価的に、そのような可能なイベントが起こる前に、タスクを表すコセットの非ゼロ交差の要素を識別する請求項１の方法。
【請求項２２】
複数のタスクと、タスクにサービスするための資源と、前記資源を表す抽象代数学上の数学グループのサブグループのコセットを有する複数のタスクを識別するスケジューラとを有するスケジューリングシステムであって、前記グループは、資源に対する尺度の１以上の単位を前記数学グループの要素によって資源に索引付けするように規定することによって選択されるスケジューリングシステム。
【請求項２３】
タスクは、サブグループのコセットによって表すことができ、またコセットは、第１および第２の値によって完全に表すことができ、第１の値は、サブグループのジェネレータを有し、そして第２の値は、コセット代表を有する請求項２２のシステム。
【請求項２４】
前記スケジューラは、前記資源を表す前記グループのサブグループのセットをＮの素因数のべき集合から求め（ここで、Ｎは前記資源を表す前記グループの順序である）、前記セットは、（付加的）グループＺＮのサブグループのセットと等価であり、Ｎ＝ｐ１ｐ２ｐ３．．．ｐｊの素因数分解である場合、全てのサブグループの前記セットは、ジェネレータとして、２ｊの値１，ｐ１，ｐ２，ｐ３，．．．，ｐｊ，ｐ１ｐ２，ｐ１ｐ３，．．．，ｐ１ｐｊ，ｐ２ｐ３，ｐ２ｐ４，．．．ｐ２ｐｊ，．．．，ｐ１ｐ２ｐ３．．．ｐｊのセットから選択された値を有する請求項２２のシステム。
【請求項２５】
セットＰ＝｛ｐ１，ｐ２，．．．，ｐｋ｝から選択されたジェネレータ値を有する１以上のサブグループのセットが与えられ、タスクに対してコセットを規定する作用は更に、コセット代表ｘおよびｙを、サブグループジェネレータｐｉおよびｐｊを有する２つのタスクに対してそれぞれ選択する作用を含み、（ｘ−ｙ）は、ｇ＝ｇｃｄ（ｐｉ，ｐｊ）によって均等に割り切れることがなく、ｇｃｄ（）は、最大公約数関数であり、それ故ｇはｐｉとｐｊの最大公約数である請求項２４のシステム。
【請求項２６】
前記システムは、Ｐ＝｛ｐ１，ｐ２，．．．，ｐｋ｝から選択されるジェネレータ値を有するサブグループによって表されるタスクをサポートし、更にコセット代表をタスクに対し独得に割り当てる作用を有し、前記コセット代表は、値のセット｛０，１，．．．ｇ−１｝から選択され、ｇ＝ｇｃｄ（Ｐ）は、Ｐにおける要素値の全ての最大公約数である請求項２４のシステム。
【請求項２７】
請求項１の方法に従って動作することを特徴とするスケジューラ。
【請求項２８】
請求項１の方法に従って動作することを特徴とするスケジューリングシステム。
【請求項２９】
コセット代表のセットが与えられ、タスクに対してコセットを規定する作用は更に、セットＰ＝｛ｐ１，ｐ２，．．．，ｐｋ｝から選択されたジェネレータ値を有するサブグループを選択する作用を含み、コセット代表ｘおよびｙを有する２つのタスクに対して、２つのサブグループは、選択されたジェネレータｐｉおよびｐｊを有し、（ｘ−ｙ）は、ｇ＝ｇｃｄ（ｐｉ，ｐｊ）によって均等に割り切れることがなく、ｇｃｄ（）は、最大公約数関数であり、それ故ｇはｐｉとｐｊの最大公約数である請求項１の方法。
【請求項３０】
前記システムは、値のセット｛０，１，．．．ｇ−１｝から独得に選択されるコセット代表を有するタスクをサポートし、更にタスクに対しサブグループを割り当てる作用を有し、サブグループジェネレータ値は、セットＰ＝｛ｐ１，ｐ２，．．．，ｐｋ｝から選択され、更にＰにおける要素を選択する作用を有し、Ｐにおける要素の最大公約数であるｇｃｄ（Ｐ）は、ｇ以上である請求項１の方法。
【請求項３１】
コセットおよび関連する数学サブグループによって表されるタスクを、このタスクを表すサブグループとは異なるサブグループを有したコセットによって表される複数のタスクから合成するための方法。
【請求項３２】
コセットおよび関連する数学サブグループによって表されるタスクを、このタスクを表すサブグループとは異なるサブグループを有したコセットによって表される複数のタスクへ分解するための方法。
【請求項３３】
時間ドメインで動作するスケジューリングシステムをモデル化し構造化するための方法であって、前記システムは、複数の周期的タスクと、タスクにサービスするための資源と、資源に関連したスケジュール周期と、タスクのセットを資源に割り当てるスケジューラとを有し、前記方法は、タスク周期と前記資源スケジュール周期を１以上の尺度の単位によって規定し測定する作用を備え、タスク周期と資源スケジュール周期に対する測定値は、抽象的代数学上の数学グループの要素によって索引付けされることを特徴とする方法。
【請求項３４】
前記システムは、第１の周期を有する少なくとも第１の周期的タスクと、前記第１の周期とは異なる第２の周期を有する少なくとも第２の周期的タスクとを有する請求項３３の方法。
【請求項３５】
タスク周期と資源スケジュール周期を規定し測定する作用は、Ｎを法とする整数のグループＺＮを有する資源を識別し（ここで、Ｎは前記資源スケジュール周期に関連したグループの順序である）、更に可能なタスク周期値のセットをＮの素因数のべき集合から求める作用を含み、前記タスク周期値のセットは、（付加的）グループＺＮのサブグループのセットと等価であり、Ｎ＝ｐ１ｐ２ｐ３．．．ｐｊの素因数分解である場合、前記タスク周期値のセットは、要素として、２ｊの値１，ｐ１，ｐ２，ｐ３，．．．，ｐｊ，ｐ１ｐ２，ｐ１ｐ３，．．．，ｐ１ｐｊ，ｐ２ｐ３，ｐ２ｐ４，．．．，ｐ２ｐｊ，．．．，ｐ１ｐ２ｐ３．．．ｐｊを有する請求項３３の方法。
【請求項３６】
セットＲ＝｛ｒ１，ｒ２，．．．，ｒｋ｝から選択された率値を有する１以上の周期的タスクのセット（ここで、ｒｊは資源スケジュール周期中のタスクに対するサービスイベントの数を示す）と、対応するフロー周期のセットＰ＝｛ｐ１，ｐ２，．．．，ｐｋ｝（ここで、ｐｊ＝Ｎ／ｒｊであり、またＮは資源スケジュール周期の尺度である）とが与えられ、更に２つのタスクに対して２つの率ｐｉおよびｐｊ並びにコセット代表ｘおよびｙを選択して割り当てる作用を含み、ｇ＝ｇｃｄ（ｐｉ，ｐｊ）によって均等に割り切れることがない（ｘ−ｙ）を選択することによって、コセット＜ｐｉ＞ｘおよび＜ｐｊ＞ｙの交差はゼロとなる（ここで、ｇは率ｐｉおよびｐｊの同時最大公約数である）請求項３５の方法。
【請求項３７】
前記システムは、セットＲ＝｛ｒ１，ｒ２，．．．，ｒｋ｝から選択される率、または等価的に対応するセットＰ＝｛ｐ１，ｐ２，．．．，ｐｋ｝から選択されるタスク周期値を有するタスクをサポートし（ここで、ｐｊ＝Ｎ／ｒｊであり、またＮは資源スケジュール周期の尺度である）、更にコセット代表をタスクに対し独得に割り当てる作用を有し、前記コセット代表は、値のセット｛０，１，．．．ｇ−１｝から選択され、ｇ＝ｇｃｄ（Ｐ）は、Ｐにおける要素値の全ての最大公約数である請求項３５の方法。
【請求項３８】
前記システムは、複数の資源を有し、前記複数の資源は、Ｎの少なくとも２つの異なる値、または等価的に前記グループに対する少なくとも２つの異なる順序を有するグループＺＮによって表される請求項３３の方法。
【請求項３９】
タスク周期のセットは、前記タスク周期のセットよりも小さいサブセットに制限されている請求項３５の方法。
【請求項４０】
前記資源スケジュール周期は、タスクを表すコセットの交差がゼロとなるように選択される請求項３３の方法。
【請求項４１】
前記資源スケジュール周期に対する尺度の単位は、前記タスク周期値のセットが比較的に素数的なペアをなさないように選択されるか、あるいは前記タスク周期値のセットが、比較的大きな最大公約数を有するように選択される請求項３３の方法。
【請求項４２】
前記資源スケジュール周期に対する尺度の単位は、前記タスク周期値のセットが比較的に素数的なペアをなさないように選択されるか、あるいは前記タスク周期値のセットが、比較的大きな最大公約数を有するように選択される請求項３５の方法。
【請求項４３】
尺度の単位は、前記複数の資源を表すグループの順序の対応するセット
が、比較的大きな最大公約数を有するように選択される請求項３３の方法。
【請求項４４】
スケジューリングシステムをモデル化し構造化するための方法であって、前記システムは、複数のタスクと、タスクにサービスするための資源と、タスクのセットを資源に割り当てるスケジューラとを有し、前記方法は、資源スケジュール周期に対する尺度の単位を割り当てる作用を備え、資源スケジュール周期は、抽象代数学上の数学グループの要素によって索引付けされ、タスクは、前記数学グループのサブグループのコセットによって、または前記資源スケジュール周期を表す前記グループの要素の任意の集合によって表されることを特徴とする方法。
【請求項４５】
複数の周期的タスクと、タスクにサービスするための資源と、この資源を表す抽象代数学上の数学グループのサブグループのコセットを有する複数のタスクを識別するスケジューラとを有するスケジューリングシステムであって、前記グループは、資源スケジュール周期に対する１以上の尺度の単位を選択することによって、資源スケジュール周期を前記数学的グループの要素によって索引付けするように選択されることを特徴とするスケジューリングシステム。
【請求項４６】
スケジューリングシステムをモデル化し構造化するための方法であって、前記システムは、複数のタスクと、タスクにサービスするための複数の資源と、前記タスクを前記資源に割り当てるスケジューラとを有し、前記方法は、資源に対する尺度の単位を規定する作用を備え、資源は、抽象代数学上の数学グループの要素によって索引付けされ、タスクは、前記数学グループのサブグループのコセットによって、または資源を表す前記グループの要素の任意の集合によって表されることを特徴とする方法。
【国際調査報告】
2006523354.tif 000002