JP2002517035A - リアルタイムスケジューリングロジックおよび時間確定的アーキテクチャを使用する分散コンピューティング環境 - Google Patents

リアルタイムスケジューリングロジックおよび時間確定的アーキテクチャを使用する分散コンピューティング環境

Info

Publication number
JP2002517035A
JP2002517035A JP2000551319A JP2000551319A JP2002517035A JP 2002517035 A JP2002517035 A JP 2002517035A JP 2000551319 A JP2000551319 A JP 2000551319A JP 2000551319 A JP2000551319 A JP 2000551319A JP 2002517035 A JP2002517035 A JP 2002517035A
Authority
JP
Japan
Prior art keywords
communication
component
time
computer
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000551319A
Other languages
English (en)
Inventor
ランディー、ディー.ウッズ
デイビッド、エム.ジェイキム
ウェイン、ピー.ドゥープリー
ゲリット、エイチ.バーニアーズ
スティーブン、ジー.チャーチル
ジョージ、ピー.フェルナンデス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dow Chemical Co
Original Assignee
Dow Chemical Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dow Chemical Co filed Critical Dow Chemical Co
Publication of JP2002517035A publication Critical patent/JP2002517035A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Logic Circuits (AREA)

Abstract

(57)【要約】 相互データ通信において複数のコンピュータノードに対してシステムが与えられ、調整的にロジックを実行する。このアプローチは、各ノードの時間定義が本質的に同一となるようノードにおける時間定義を合わせ、各コンピュータノードの通信スケジュールを定義し、スケジュールは各通信を開始するよう定義された未来時間を有し、各スケジュールをその各ノードに送り、スケジュールで定義された時間で各通信を開始する。コンピュータネットワークは、多数の通信パスをサポートするメッセージ担体と、メッセージ担体に接続された複数のコンピュータと、コンピュータ間の時間同期を維持するクロックシステムと、コンピュータ間の通信順序を決定するためのメッセージ担体に接続されたスケジューラとを有している。メッセージ担体は、コンピュータが実行する時間確定的タスクに基づいて、選択されたコンピュータ間の通信を確立する。複数のコンピュータノードにおける1つのコンピュータノードは、未来期間に対する他のコンピュータノードとともにコンピュータノードが必要とする各通信の通信要求リストを定義し、マスタースケジューラに通信要求リストを送信し、マスタースケジューラから逆に通信スケジュールを受信し、通信スケジュールからローカルタスクスケジュールを定義し、スケジューリングSれた時間で通信を実行することにより、他のノードと協調してロジックを実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明はデータ処理制御システムの分野に関し、特に複数のコンピュータがネ
ットワーク内で調整してそのロジックを実行する集積システムに関する。本明細
書に説明されるシステムの主要な用途は物理的に大掛かりな形で配置されるマシ
ンのコンピュータ化制御のためのものであるが(例えば化学薬品製造設備)、複
数のコンピュータ、並列コンピュータプロセッサ、およびネットワーク化コンピ
ュータプロセッサに関する努力に対する利点も得られる。
【0002】
【従来の技術】
計算要求や地理的制約で(例えば大規模な地理的に分散した化学薬品工場にお
ける処理制御用の)計算設備の物理的分散が必要になる場合、(例えば製品品質
などの)実施要因は計算タスクの集中的調整による恩恵を受けることがある。本
発明は、地理的に分散した複数のコンピュータをネットワーク化して、時間調整
インタラクティブを可能にするシステムおよび方法について説明する。この結果
得られるネットワークによりタスク調整が可能となり、システムが実行するタス
クに有利な例えば冗長性、安全、高処理能力などの他の品質の実現が容易となる
【0003】 処理制御システムで使用される物理的に分散されたリモートフィールドユニッ
トの集合に対するこのような重要なリアルタイムネットワーク化を示すシステム
の一実施例は、1995年6月27日出願のGlaster, Robert
S. Hoy, Robert S., Fernadez, G. Paul
, Grai, Timothy J.による米国特許5,428,769 “
”Process control interface system ha
ving triply redundant remote field u
nits(三重化リモートフィールドユニットを有する処理制御インタフェース
システム)”に記載されている。システムは多数の処理制御状況に適しており、
またネットワーク化方法はそのような必要があるものと仮定して各期間において
各システムを効果的にアドレス指定している。しかし、このようなアドレス指定
サイクルの多くは、やりとりする変数が安定している場合は不用である。ネット
ワーク効率の観点から見た場合の更に的確なシナリオでは、入力または出力の何
れかの状態を変化させる必要がある場合のみ通信を図る。
【0004】 計算タスクの集中的調整と結び付いた計算設備の物理的分散はまた、並行性に
よって特徴付けられる高性能プロセッサにおける駆動概念である。John L
. HennessyおよびDavid A. PattersonによるCo
mputer Architecture A Quantitative A
pproach(コンピュータアーキテクチャA量的アプローチ(Morgan
Kaufmann; San Mateo, California; 19
90; 351〜363頁)の7.1および7.2項(「ベクトルプロセッサ」
)に記載されているように、ベクトルプロセッサはこのようなシステムの1つの
具体例であり、またE. F. Gehringer, D. P. Siew
iorek, Z. Segallによる“Parallel Process
ing − The Cm* Experience(並行処理−Cm*経験)
”(Digital Press via Editorial Inc.;
Rockport, Massachusetts; 1987)の11〜18
頁に説明されるCm*設計のようなプロセッサ・メモリ対アプローチは、このよ
うな種類のアプローチの第2の例である。
【0005】 未来のスケジュールリングされた状況における計算タスクの集中調整もまた、
William Gavettによる資料Productions and O
perations Management(生成および操作管理)の569〜
584頁(Harcort, Brace, and World; New
York; 1968)に説明されているような従来のプロジェクトスケジュー
リングの概念に頼っている。
【0006】
【発明が解決しようとする課題】
処理制御システムの開発は、一般に制御されているシステムにおける問題の絶
えず増大する併合と管理により特徴付けられており、比較的量の多いデータの比
較的大量のロジックを、拡張が認められない時間枠で実行することが必要となる
。これは、非常に迅速にロジックを処理し、またアドレス指定された物理的メモ
リに大量のデータを有するハードウェアによってある程度実現されるが、このソ
リューションを実行するには実質的にコストがかかる。未来システムの能力で制
御状態の包括的処理を効果的に拡張可能にするために必要なことは、非常に多数
の分散型コンピュータがネットワーク全体で時間同期する相互的な方法で大量の
ロジックを実行できるようにするソリューションパスを正確に提供することであ
る。本発明はこのような方法およびシステムを提供する。
【0007】
【課題を解決するための手段】
本発明は、相互データ通信における複数のコンピュータノードが調整した方法
でロジックを実行できるようにするコンピュータ実施方法であって、 (a)上記複数のコンピュータノード間でリアルタイム時間を合わせて、各コ
ンピュータノードが原則的に同一のリアルタイム時間を有するようにする工程と
、 (b)各コンピュータノードの通信スケジュールを定義し、上記スケジュール
がそれぞれの通信を開始するために定義された将来の異なる時間を有する工程と
、 (c)各スケジュールをその各コンピュータノードに伝える工程と、 (d)そのスケジュールで定義された時間で各ノードからそれぞれの通信を開
始する工程とを具備して成る方法を提供する。
【0008】 上記実施例は、複数のコンピュータが接続されたメッセージ担体と、コンピュ
ータ間で時間同期を維持するクロックシステム(ネットワーク内の全コンピュー
タがアクセス可能)と、コンピュータが実行する時間確定タスクに基づいてメッ
セージ担体が選択されたコンピュータ間での通信を確立することによりコンピュ
ータ間の通信順序を決定するスケジューラとを有するコンピュータネットワーク
を提供する。
【0009】 上記実施例は更に、一連のコンピュータにおける時間感覚を世界的に確定され
た基準に合わせる世界時間システムを提供する。
【0010】 上記実施例は更に、複数の構成要素ノードが協調してロジックを実行できるよ
うにするコンピュータ実施方法を提供する。
【0011】 上記実施例は更に、メッセージ担体を介して、コンピュータ間の通信における
並行処理を提供する。
【0012】 上記実施例は更に、集合グループとして機能する複数のリソース対象において
リソース対象のタスクをスケジューリングするコンピュータ実施方法を提供する
【0013】 上記実施例は更に、異なるコンピュータがその発振器の発振速度を調整するこ
とによりその時間定義を合わせることが可能となる方法を提供する。
【0014】 コンピュータネットワークアーキテクチャは、多数の通信パスをサポートする
メッセージ担体と、メッセージ担体に接続され、通信状態を含む複数の異なる動
作状態で繰り返すことにより時間確定的タスクを実行するようプログラムされた
複数のコンピュータと、コンピュータ間で時間同期を維持するよう全ての上記コ
ンピュータによりアクセス可能なクロックシステムと、コンピュータによって実
行される時間確定的タスクに基づいてメッセージ担体に選択されたコンピュータ
間の通信を確立させることにより、コンピュータ間の通信順序を決定する上記メ
ッセージ担体に接続されたスケジューラとにより可能となる。
【0015】 複数のコンピュータノードにおけるコンピュータノード(独立した中央演算処
理装置で演算を行う要素)は、他のコンピュータノードと共にメッセージ担体に
接続されることにより他のノードと協調してロジックを実行することが可能であ
り、(a)また1つのコンピュータノードにマスタースケジューリング能力を与
えて、マスタースケジューラを確立する工程と、(b)各コンピュータノードに
おいて、将来の期間に対して他のコンピュータノードと共に上記コンピュータノ
ードが必要とする各通信の通信要求リストを定義する工程と、(c)メッセージ
担体を介して各コンピュータノードからマスタースケジューラに通信要求リスト
を送信する工程と、(d)各コンピュータノードにおいて、上記メッセージ担体
を介してマスタースケジューラから通信スケジュールを受信する工程と、(e)
各コンピュータノードにおいて、通信スケジュールからローカルタスクスケジュ
ールを定義する工程とを提供する。
【0016】 上記アプローチにより、システムにおける複数の構成要素ノードは、分散型プ
ラットフォーム群上で調整して大量のロジックを実行することが可能となる。
【0017】 上記の実行において、基準瞬間時間値を定義する工程は、マスタースケジュー
ラにより一実施例において実行される。
【0018】 上記の実行において、一実施例における各構成要素ノードの通信要求リストを
定義する工程により、通信は未来期間における最大数に制限され、また各通信は
持続時間属性を有しており、持続時間属性の値は効率的な操作を実現するために
固定最大値未満である。
【0019】 一実施例において世界時間システムを使用することにより、拡張システムにお
ける多数の異なるコンピュータノード(構成要素ノード)全体で世界共通の時間
観が可能となる。
【0020】 スケジューリング方法は、集合グループとして機能する複数のリソース対象に
おいてリソース(構成要素)対象のタスクをスケジューリングする工程を含んで
おり、またこのコンピュータ実施工程(「明示的クリティカルリソース」工程と
呼ぶ)は、 集合グループの未来タスク集合を定義する工程と、 未来タスク集合における各未来タスクに必要な各リソース対象を定義する工程
と、 未来タスク集合に対するいずれか2つのリソース対象間で必要な各インタラク
ションを定義する工程と、 使用例が使用持続属性値を有する各インタラクションを実現することにおいて
、各リソース対象の使用例を定義する工程と、 各使用例に対するアクセスリソース対象および被アクセスリソース対象を定義
する工程と、 リソース対象がアクセスリソース対象である場合に、そのリソース対象に対す
る全ての上記使用例の全ての使用持続属性値の合計として、各アクセスリソース
対象の合計アクセス時間値を決定する工程と、 被アクセスリソース対象と上記アクセスリソース対象との間の全ての上記イン
タラクションに対する全ての使用持続属性値の合計として、各被アクセスリソー
ス対象の合計被アクセス時間値を決定する工程と、 スケジュールに対するスケジューリング期間内の連続未来時間インクリメント
集合を定義する工程と、 (a)未来タスク集合に対する最高の合計アクセス値を有するアクセスリソ
ース対象と、 (b)(被アクセス対象とアクセスリソース対象との間に使用例が存在する
場合−スケジュール記録における未来リソースインタラクションイベントが、ス
ケジュールにおける最先使用可能時間に等しい開始時間と、アクセスリソース対
象に対するアクセスリソース対象識別子属性と、被アクセスリソース対象に対す
る被アクセスリソース対象識別子属性と、上記使用持続属性値を有する場合)未
来タスク集合に対する最高の合計被アクセス値を有する被アクセスリソース対象
との間において、 未来タスク集合の第1使用可能未来タスクに基づいて、第1の未来時間インク
リメントにおける最先使用可能時間に、未来リソースインタラクションをスケジ
ューリングする工程と、 スケジューリング候補から、スケジュールされた未来リソースインタラクショ
ンイベントにおける被アクセスリソース対象に対する使用例およびスケジュール
された未来リソースインタラクションイベントにおけるアクセス構成要素対象識
別子属性を除去して、インタラクションがスケジュールされていないこれらの未
来タスクに対して未来タスク集合を再定義する工程と、 再定義された未来タスク集合に対し、合計被アクセス値を決定する工程と、合
計アクセス値を決定する工程と、未来通信タスクをスケジューリングする工程と
、第1未来時間インクリメントにスケジューリング可能な全ての使用例がスケジ
ューリングされるまでスケジュールされたリソース対象に対する使用例全てを除
去する工程を繰り返す工程と、 再定義された未来タスク集合に対し、また続いて残っている上記複数の未来時
間インクリメントのそれぞれに対して、合計被アクセス値を決定する工程と、合
計アクセス値を決定する工程と、未来リソースインタラクションイベントをスケ
ジューリングする工程と、スケジュールされたリソース対象に対する全てのリソ
ース対象を除去する工程と、各未来時間インクリメントにスケジューリング可能
な全てのリソースインタラクションイベントがスケジュールされ、また上記スケ
ジュール期間に全てのリソースインタラクションイベントがスケジュールされる
まで上記工程を繰り返す工程を繰り返し実行する工程とを含む。
【0021】 一実施例において、メッセージ担体は通信イベントにおける並行処理を可能に
する複数のチャネルを有しており、スケジューリング工程はグループとしての複
数のチャネルに対するものであり、最先使用可能時間はメッセージ担体の何れか
のチャネルに対するものである。
【0022】 複数の実施例において、各構成要素ノードは、ネットワーク上でローカルクロ
ックを調整して世界クロックに合わせる可変速度発振器を有している。コンピュ
ータ回路によって実行される時間調整ロジックおよび発振器速度調整ロジックも
、特定の構成要素ノード(コンピュータノード)の迅速な時間合わせを行うもの
である。
【0023】 上記実施例で使用されるメッセージ担体は、(好適な実施例において)クロス
バースイッチの形を取るネットワークトポロジで、または他の実施例において無
線周波数通信システムで可能となる。
【0024】 本発明のその他の特徴および効果は、好適な実施例の詳細な説明および添付図
面を読むことにより更に明らかになるであろう。
【0025】
【発明の実施の形態】
明細書の本部分の序文として、本発明のシステムおよび方法は、調整して実行
されるタスクの集中スケジューリング、時間確定的イベント操作、ネットワーク
上の複数のコンピュータ(「構成要素ノード」とも呼ぶ)に対する発振器の効果
的なリアルタイム同期化および調整を実施する。これに関して、時間確定的ネッ
トワークは、あるイベント(イベントの例は、トークンの受信や特定のバスの検
出された利用可能度である)ではなく時間に基づいて、別個のコンピューティン
グ構成要素間の通信を伴う。調整して行われるタスクの集中スケジューリング、
時間確定的イベント操作、ネットワーク上の複数のコンピュータに対する発振器
の効果的なリアルタイム同期化および調整には、コンピュータがリアルタイムで
実際の瞬間の本質的に共通なデータロジカル表現観を共有することが必要である
。これは例えば、(本発明の範囲の制限無く)100万分の2のシステム広範精
度の場合、ネットワークに対する明白なソースによって定義されるリアルタイム
の瞬間が08:00:0000000時間であると、システムにおける2つの異
なるコンピュータが本質的に、2つのコンピュータの内第1コンピュータが07
:59:9999995と08:00:0000005との間のリアルタイムに
おける瞬間をデータロジカル表現し、また第2コンピュータも07:59:99
99995と08:00:0000005との間のリアルタイムにおける瞬間を
データロジカル表現すると認識すると仮定する。当然のように、2つのコンピュ
ータ間のリアルタイム瞬間のデータロジカル表現の差は100万分の2以下であ
る。
【0026】 分散コンピューティングネットワークにおけるコンピュータが本質的に共通の
リアルタイムにおける実際の瞬間のデータロジカル表現観を共有する場合、これ
らのコンピュータを時間に基づいて特定のタスクを実行するようプログラムする
ことが可能である。複数のコンピュータを使用するタスクは中央的にスケジュー
リングすることが可能であり、基準を設けて時間依存アクティビティが実質的に
分散したコンピュータ上で確定的に実行されるようにする。これに関しては、リ
アルタイム操作における決定論が、リアルタイムの予め定義された瞬間での予め
定義されたイベントの発生を特徴付けている。
【0027】 コンピュータ間通信においてこのような時間調整を使用することにより、常用
冗長性を容易に使用することも可能となる。常用冗長性においては、それぞれ基
本的に同一のロジックを実行し、これらの実行結果をやりとりし、独立して得ら
れた結果を任意にアービトレーションして、今後の使用のために共通して理解さ
れた相互結論を得て、また結果を同時に実行するよう動作する2台以上のコンピ
ュータが存在する。この過程は、各コンピュータが受信したデータが同一のロジ
ックを実行するかあるいは結果をアービトレーションする他のコンピュータと共
有される場合に非常に効果的に進められるので、アービトレーション過程を開始
する時間を相互に決定するある機構がなくてはならない。本発明では、冗長コン
ピュータ間の時間同期を確立し、通信事例に関するタスクをスケジュールする機
構は、(1)コンピュータ間でリアルタイム時間の瞬間の本質的に同一なデータ
ロジカル表現を行い、(2)スケジューリングアプローチを使用して、各コンピ
ュータにおいてそのコンピュータの通信事例が発生するときの瞬間を定義し、(
3)通信事例に対して定義された時間で通信事例に使用される各システムでのタ
スクの適切な送信、受信、リンケージを実施するものである。このように、指示
されたアービトレーションタスクが実行される時間は、(通信タスクが実際に実
行されたあとにアービトレーションタスクの開始時間が決定されるのを待つアプ
ローチとは逆に)通信タスクがスケジューリングされた後に予め決定される。
【0028】 スケジューリングアプローチは、スケジューリングロジックの実行により実施
される。ロジックの概念は、その目的が電気回路のイネーブルシステム(通常は
「コンピュータ」という語で示す)による実行で達せられるソフトウェア(コン
ピュータプログラム)に関連している。通信スケジューリングで使用されるスケ
ジューリングロジックは、スケジューリングされているリソース(例えば、特定
のコンピュータ、各コンピュータ内のデータ空間、各コンピュータにおける実行
時間、各コンピュータ内の特定の回路)に対する要求の分析に基づいている。こ
のスケジューリングロジックはネットワーク通信のスケジューリングで使用され
るが、互いにインタラクションを必要とするリソースのスケジューリングにおい
ても適用される。また、リアルタイム用途に特に適している。更に、スケジュー
リングロジックは、スケジューリングを行うべきリソースに対して効果的となり
、入力(すなわち、このネットワーク上のいずれか2つのコンピュータ間の接続
要求の収集)からその出力、すなわちスケジュールを生成するのに要する時間を
予測することが可能となるよう設計されている。このタスクを達成するために、
スケジューリングロジックは、スケジュールが生成されている時間に対して最も
要求度の高い使用可能なリソースをスケジューリングする。(1)スケジュール
の各点において要求が最も高いリソースを評価する性質と、(2)最も要求の高
いリソースを優先させる点を反映させるので、本明細書に説明される特定のスケ
ジューリングロジック方法も明示的クリティカルリソースまたはACRスケジュ
ーリングロジックと呼ぶ。これに関して、好適な実施例では、特定のタスクが一
旦スケジューリングされると、スケジュールにおける代替タスクを実行するため
にスケジュールから除去されることはないという意味では、スケジューリングロ
ジックは反復されない。これは、好適なACRスケジューリングロジックタイプ
のスケジューリングロジックをリアルタイム用途により適合させるという特質で
ある。
【0029】 ネットワーク通信のスケジューリングにスケジューリングロジックを使用する
ことにおいて、考慮すべき送信リソースと受信リソースがある。ネットワーク通
信がスケジューリングされるたびに、送信リソースは受信リソースに対応させら
れる。
【0030】 ネットワーク通信のスケジューリングにおいては、マスタースケジューラが処
理する動作と構成要素ノードが処理する動作が存在する。
【0031】 図1は、一般的な構成要素と分散型ネットワークにおける様々な一般的構成要
素間の対応するデータフローのデータフロー図130であり、メッセージ担体1
00、第1構成要素107、第2構成要素108、データ通信パス101および
データ通信パス102を介して構成要素ノード107および108間の通信を調
整するマスタースケジューラ106、(データ通信パス104、データ通信パス
105、データ通信パス101、データ通信パス102を介して)構成要素ノー
ド107および108間の同期を取る(クロック109および代替クロック11
0としての)クロック代替、(データ通信パス118、データ通信パス117、
データ通信パス119、データ通信パス120、データ通信パス121を介して
)この分散コンピューティング環境において効果的にインタラクションを行うの
に必要な1次データテーブルおよび交換を示している。
【0032】 クロック109は、メッセージ担体を介してマスタースケジューラから構成要
素ノードに分散される(あるいは、メッセージ担体100が、代替ローカルクロ
ック110を構成要素ノード107、108およびマスタースケジューラ106
に分散させることが出来る)。これにより、メッセージ担体に接続されている全
てのノードが共通の時間観を共有することが出来る。これに関して、クロック1
09は物理的世界(例えば、北アメリカ、ヨーロッパ、アジア)で使用される世
界クロックを表しており、また代替クロック110はメッセージ担体100のみ
が参照するネットワーク用のクロックを表しており、更にメッセージ担体100
の状態を実行するコンピュータは分散ネットワーク内の関連するコンピュータの
時間を任意に定義する。クロック109またはクロック110はそれぞれ、リン
ケージ104または105を介して共通のクロック信号を周期的に出力する。
【0033】 各構成要素ノード107、108は、共通のクロック信号を受信し、その共通
するクロック信号に対して効果的に「同期」を行い(ノードにおける時間定義を
、共通のクロック信号に対する時間定義との精密許容差に合わせて、確立された
クロック周期およびアンカーポイントと同期して動作するシステム時間基準を作
成する)、マスタースケジューラ106から適切なローカルイベントテーブル1
14、116を受信し、受信したローカルイベントテーブル116、114およ
びローカルイベントテーブル114、116に記載されていないその他のタスク
に基づいて各タスク実行リストを作成し、タスク実行リストを実行し、通信11
3、115の要求リストを生成し、通信の要求リストをマスタースケジューラ1
06に送信する。各構成要素ノード107、108は、ノード107、108の
必要なタスクに基づいて接続要求リスト113、115を生成し、これらの要求
をメッセージ担体100を介して所定の時間にマスタースケジューラ106に送
る。マスタースケジューラ106は、構成要素ノードからの接続要求リスト11
3、115を合成要求リスト111に合成する。このリストは、マスターイベン
トテーブル112に示される通信スケジュールを作成するのに使用される。この
マスターイベントテーブル112は、各構成要素ノード107、108で使用で
きるよう部分毎に分けられ、メッセージ担体100を介して(所定の時間で)構
成要素ノード107、108に送られ、ローカルイベントテーブル114、11
6に保存される。ローカルイベントテーブル114、116は構成要素ノード1
07、108で使用され、他の構成要素ノードとの通信を含む使用可能時間依存
タスクのタイミングを調整する。
【0034】 図2は、世界中の物理的に異なる場所に存在するコンピューティング構成要素
の分散ネットワーク220の図であり、図1のデータフロー図130で要約した
状況の例を示している。この図は、コンピュータ201〜214のネットワーク
と、データフロー図クロック109、110に対する時間ソースを表すクロック
203およびクロック214における2つの時間ソースとを含んでいる。これに
関して、図2は、北アメリカおよびユーラシアにおける全システムの時間定義基
準としてのクロック203を示しており、またクロック206はアフリカにおけ
るコンピュータ206、207、208、209、214のあまり世界分散され
ていない領域の時間定義基準を規定している。ちなみに、クロック203は図1
のデータフロー図状況におけるクロック109に「マッピング」し、またクロッ
ク214は図1のデータフロー図状況におけるクロック110に「マッピング」
している。従って図2は、(対応するメッセージ担体100、マスタースケジュ
ーラ106、クロック104、105の動作を促進する)分散コンピューティン
グ環境の2つの可能な構成を示している。分散コンピューティング環境は、地理
的に制限された地域に配置したり、または世界中に分散させることが可能である
。地理的に大きな領域に分散させた場合、クロック203は好適には例えば全地
球位置発見システムなどの衛星タイミング分散システムである。
【0035】 図3は、バス構造330におけるネットワークの図を示している。図3は、メ
ッセージ担体100が構成要素107、108をマスタースケジューラ106に
接続するバス300であることを除き、図1の基本構成要素を示している。
【0036】 図4は、ネットワークがリングトポロジ430で実現される分散コンピューテ
ィング環境を示している。図4は、メッセージ担体100が構成要素ノード10
7、108をマスタースケジューラ106に効果的に接続するためのリングセグ
メント402、403、405、401によって使用可能となるリングである。
【0037】 図5は、好適なネットワークアーキテクチャの実施例である交換スタートポロ
ジ530におけるネットワークの図を示している。図5はまた、メッセージ担体
100が明示的に構成要素ノード107、108およびマスタースケジューラ1
06を接続するスタートポロジにおいて実現される交換ネットワークであり、ま
たこのマスタースケジューラ106がネットワークスイッチ501に組み込まれ
ることを除き、図1の基本構成要素を示している。この図は、潜在的に地理的に
分散された構成における多数の入力/出力処理装置および演算プラットフォーム
を介しての大規模製造工程(可動構成要素が、装置からの測定値を読取りまた出
力信号を出力するロジックを実行するコンピュータ制御システムからの出力信号
を使用して、リアルタイムで変更される装置における商品製造の実行を示す製造
工程)で使用されるような好適な実施例を示している。スタートポロジネットワ
ーク530は、I/O(入力信号/出力信号)インタフェース510、I/Oイ
ンタフェース511、I/Oインタフェース522、I/Oインタフェース51
9、I/Oインタフェース512、I/Oインタフェース513、I/Oインタ
フェース520、I/Oインタフェース521を介して製造を行う装置に対する
測定値の読取と、制御信号の出力を可能にする。I/Oインタフェース510、
I/Oインタフェース511、I/Oインタフェース512、I/Oインタフェ
ース513は全て、リングブレークアウト508およびリングブレークアウト5
09を介して、ローカルネットワーク515によって制御コンピュータ504お
よびヒストリアンコンピュータ505に結合される。同様に、I/Oインタフェ
ース522、I/Oインタフェース519、I/Oインタフェース520、I/
Oインタフェース521は、リングブレークアウト518およびリングブレーク
アウト517を介して、ローカルネットワーク514によって制御コンピュータ
506およびヒストリアンコンピュータ507に全て結合される。I/Oインタ
フェース510、I/Oインタフェース511、I/Oインタフェース512、
I/Oインタフェース513、リングブレークアウト508、リングブレークア
ウト509、制御コンピュータ504、ヒストリアンコンピュータ507、ロー
カルネットワーク515は、ローカルロジカル整合性および高リアルタイムデー
タロジカル結合で動作する。同様に、I/Oインタフェース522、I/Oイン
タフェース519、I/Oインタフェース520、I/Oインタフェース521
、リングブレークアウト518、リングブレークアウト517、制御コンピュー
タ506、ヒストリアンコンピュータ507、ローカルネットワーク514は、
ローカルロジカル整合性および高リアルタイムデータロジカル結合で動作する。
【0038】 メッセージ送信を介しての、 (a)I/Oインタフェース510、I/Oインタフェース511、I/Oイ
ンタフェース512、I/Oインタフェース513、リングブレークアウト50
8、リングブレークアウト509、制御コンピュータ504、ヒストリアンコン
ピュータ505、ローカルネットワーク515と、 (b)I/Oインタフェース522、I/Oインタフェース519、I/Oイ
ンタフェース520、I/Oインタフェース521、リングブレークアウト51
8、リングブレークアウト517、制御コンピュータ506、ヒストリアンコン
ピュータ507、ローカルネットワーク514との間の結合は、 (1)コンピュータ間のリアルタイム時間における瞬間の本質的に同一のデータ
ロジカル表現を行うための通信、(2)ネットワークスイッチ501を使用する
ことにより、コンピュータ506、ヒストリアンコンピュータ507、制御コン
ピュータ504、ヒストリアンコンピュータ505、ユーザインタフェース50
3の何れか2つの間で各通信事例が発生するときの各瞬間を、コンピュータ50
6、ヒストリアンコンピュータ507、制御コンピュータ504、ヒストリアン
コンピュータ505、ユーザインタフェース503、ネットワークサポート50
2、ネットワークスイッチ501に対して定義するマスタースケジューラ106
の処理、通信事例に対して定義された時間での通信事例に使用される構成要素に
対する適切な送信、受信、リンケージタスクを実施するネットワークスイッチ5
01により可能となる。ネットワークサポート502はまた、交換スタートポロ
ジ530における容認可能な通信相手を定義し、また交換スタートポロジ530
における診断情報へのアクセスを集積かつ実行する単一の情報ソースとしての交
換スタートポロジ530へのノードとして調整される。ネットワークスイッチ5
01は、交換スタートポロジ530における容認可能な通信相手のリストについ
てネットワークサポート502を参照し、送信、受信およびリンケージタスクの
定義においてこのリストを対照にして通信事例要求を確認する。
【0039】 一実施例において、I/Oインタフェース522、I/Oインタフェース51
9、I/Oインタフェース520、I/Oインタフェース521は、1996年
9月10日発行のSederlund, Edward R.; Lindes
mith, Robert J.; Root, Larry A.; Dup
ree, Wayne P.; Thomas, Lowell V.による米
国特許5,555,424(24Sederlund他)“Extended
Harvard architecture computer memory
system with programmable variable a
ddress increment”(プログラム可能可変アドレスインクリメ
ントを有する拡張ハーバードアーキテクチャコンピュータメモリシステム)に記
載されているような処理制御システムによって促進される。この特許は、本発明
の生成および使用方法を示すために、本出願に参考として取り上げられるもので
ある。
【0040】 更に好適な実施例においては、I/Oインタフェース522、I/Oインタフ
ェース519、I/Oインタフェース520、I/Oインタフェース521は、
1996年12月10日発行のBaca, Jr., Eloy; Dupre
e, Wayne P.; Grinwis, Donald J.; Dan
se, Johannes C.; Pelletier, Douglas
P.; Schulze, Oscar E.による米国特許5,583,75
7(Baca, Jr.他)“Method of input signal
resolution for actively redundant p
rocess control computers”(アクティブに冗長的な
処理制御コンピュータの入力信号分解方法)に記載されているような2つの処理
制御コンピュータ(例えば24Sederlund他に記載される処理制御コン
ピュータ)を使用する一般処理制御システムにおける冗長処理制御コンピュータ
システムによって促進される。この特許は、本発明の生成および使用方法を示す
ために、本出願に参考として取り上げられるものである。
【0041】 24Sederlund他に記載される処理制御コンピュータのデータアクセ
スを実現するシステムの実施例は、1996年10月22日発行のSederl
und, Edward R.; Thomas, Nadene T.; L
indesmith, Robert J.; Cowles, Russel
l W.による米国特許5,568,615(15Sederlund他)“S
tealth interface for process control
computers”(処理制御コンピュータのステルスインタフェース)に
記載されている。この特許は、本発明の生成および使用方法を示すために、本出
願に参考として取り上げられるものである。
【0042】 24Sederlund他に記載される処理制御コンピュータと共に使用され
るリモートフィールドユニットを提供するシステムの実施例は、1995年6月
27日発行のGlaser, Robert S.; Hoy, Robert
S.; Fernandez, G. Paul; Grai, Timot
hy J.による“Process control interface s
ystem having triply redundant remote
field units”(三重化リモートフィールドユニットを有する処理
制御インタフェースシステム)に説明されている。この特許は、本発明の生成お
よび使用方法を示すために、本出願に参考として取り上げられるものである。
【0043】 69Glaser他に記載されるフィールドユニット共に使用される配電シス
テムにおける電流を読み取るインタフェースを提供するシステムの実施例は、1
992年9月29日発行のGlaser R. StevenおよびBade,
Jeffery Mによる米国特許5,151,866“ High spe
ed power analyzer”(高速電力アナライザ)に説明されてい
る。この特許は、本発明の生成および使用方法を示すために、本出願に参考とし
て取り上げられるものである。
【0044】 Baca他に記載される冗長的処理制御コンピュータシステムと共に使用され
る高速ゲートウェーを提供するシステムおよび24Sederlund他に記載
される処理制御コンピュータのデータアクセスを実現するシステムの実施例は、 (a)1996年5月21日発行のAllbery, Jr., James
D.; Troisi, Peter A.; Johnson, Susa
n J.; Cullen, James H.; Butler, Rich
ard L.; Ferreira, James P.; Ellison,
Joseph; Patel, Chiman L.; Uban, Jam
es E.; Schultz, Dale H.による米国特許5,519,
603(Allbery, Jr他)“Intelligent proces
s control communication system and m
ethod having capability to time alig
n corresponding data sets”(対応するデータセッ
トを時間調整することの可能なインテリジェント処理制御通信システムおよび方
法)、 (b)1995年6月27日発行のde Bruijn, Ronny P.
; Verboven, Marc L. K.; van Weele, L
eonardus A.; Vermeire, Roger R.; Sch
ulze, Oscar E.; Schultz, Dale H.; Be
ll, Brian G.による米国特許5,428,745(45de Br
uijn他)“Secure communication system f
or re−estabilishing time limited com
munication between first and second
computers before communication time
period expiration using new random n
umber”(新乱数を使用する通信期間終了の前に第1および第2コンピュー
タ間の時間制限通信を再確立する確実な通信システム)、 (c)1996年10月1日発行のde Bruijn, Ronny P.
; van Weele, Leonardus A.; Veboven,
Marc L. K.; Vermeire, Roger R.; Schu
ltze, Oscar E.; Bell, Brian G.; Schu
ltz, Dale H.による米国特許5,561,770(70de Br
uijn他)“System and method for determi
ning whether to transmit command to
control computer by checking status
of enable indicator associated with
variable identified in the command”(
コマンドで識別された変数に対応するイネーブルインジケータの状態を確認する
ことにより制御コンピュータへのコマンドを送信するか否かを決定するシステム
および方法)に記載されている。
【0045】 これらの特許は、本発明の生成および使用方法を示すために、本出願に参考と
して取り上げられるものである。
【0046】 上記特許に記載される冗長処理制御コンピュータシステムおよびインタフェー
スで使用されるヒューマンインタフェースを提供するシステムの実施例は、19
97年5月20日発行のvan Weele, Leonardus A.;
de Bruijn, Ronny P.; Vermeire, Roger
R.; Zemering, Christo; Lenting, Ben
による米国特許5,631,825(van Weele他)“Operato
r station for manufacturing process
control system”(処理制御システムを製造するためのオペレー
タステーション)に説明されている。この特許は、本発明の生成および使用方法
を示すために、本出願に参考として取り上げられるものである。このヒューマン
インタフェースシステムは、I/Oインタフェース522、I/Oインタフェー
ス519、I/Oインタフェース520、I/Oインタフェース521のそれぞ
れまたはいずれかにおける1つのユーザインタフェースとして使用できるが、ち
なみにユーザインタフェース503は好適には、ネットワークスイッチ501を
介しての交換スタートポロジ530の特定の例におけるシステム集合全体に対す
るインタフェース用に設計される。
【0047】 上記システムで事項するアプリケーションプログラムコードのリアルタイム解
釈を提供するシステムの実施例は、(a)1996年2月13日発行のPres
snall, Dana W.; Plishak, Jeffery T.;
Felix, Bradley K.; Durisin, Michael
J.; Ellison, Josephによる米国特許5,491,625
(Pressnall他)“Information display sys
tem for actively redundant computeri
zed process control”(アクティブに冗長的なコンピュー
タ化処理制御用の情報表示システム)、および(b)1995年4月18日発行
のVan de Lavoir, Ronny; Follon, Marin
us (Neerpelt, BE); Ravenscroft, Ianに
よる米国特許5,408,603(Van de Lavoir他)“Glob
al process control information syste
m and method”(世界処理制御情報システムおよび方法)に説明さ
れている。これらの特許は、本発明の生成および使用方法を示すために、本出願
に参考として取り上げられるものである。
【0048】 人に対するインタフェースを提供する大規模な図解概略システムは、オペレー
タステーションと共に好適な実施例において展開されている。この図式概略シス
テムは、1998年5月10日に発行のJohn L. Clementによる
米国特許5,726,668(Clement)“Programmable
graphics panel”(プログラム可能グラフィクスパネル)に説明
されている。これらの特許は、本発明の生成および使用方法を示すために、本出
願に参考として取り上げられるものである。
【0049】 概念化された最も好適な実施例において、I/Oインタフェース510、I/
Oインタフェース511、I/Oインタフェース522、I/Oインタフェース
519、I/Oインタフェース512、I/Oインタフェース513、I/Oイ
ンタフェース520、I/Oインタフェース521、リングブレークアウト50
8、リングブレークアウト509、制御コンピュータ504、ヒストリアンコン
ピュータ505、リングブレークアウト518、リングブレークアウト517、
制御コンピュータ506、ヒストリアンコンピュータ507、I/Oインタフェ
ース522、I/Oインタフェース519、I/Oインタフェース520、I/
Oインタフェース521、リングブレークアウト518、リングブレークアウト
517、制御コンピュータ506、ネットワークサポート502、ネットワーク
スイッチ501、ヒストリアンコンピュータ507は、現場計測を助長する69
Glaser他のシステムを有する1997年2月12日出願のWayne D
upree, Jeffery Lucas, Larry Root, Ge
rrit Verniers, Stephen Churchillによる米
国特許出願番号08/797,967 “A Dedicated Conte
xt−Cycling Computer”(専用コンテキスト繰返しコンピュ
ータ)に記載されるような専用コンテキスト繰返しコンピュータを使用すること
で実施される。この特許出願は、本発明の好適な意図された生成および使用方法
を示すために、本出願に参考として取り上げられるものである。
【0050】 コンテキスト繰返しプロセッサは多数の様々な入力および出力回路を規定する
ものであり、各特殊回路は関連するリソースの処理および構成状態、属性、また
は他のコンテキストがアクティブなときに回路または機能に対応する状況を維持
するために少なくとも1つの専用レジスタを有している。特殊回路と専用レジス
タを組み合わせることにより、コンテキストの電気回路基部が確立される。コン
テキストはまた、回路用に関連するロジックを有している。複数のコンテキスト
は、CPU内で共通資産を共有する。
【0051】 必要に応じ、コンテキスト繰返しコンピュータと共に使用するコプロセッサは
、1997年8月5日発行のDupree, Wayne P.; Churc
hill, Stephen G.; Gallant, Jeffrey R
.; Root, Larry A.; Bressette, Willia
m J.; Orr, III, Robert A.; Ramaswamy
, Srikala; Lucas, Jeffrey A.; Bleck,
Jamesによる米国特許5,655,133(Dupree他)“Mass
ively multiplexed superscalar Harvar
d architecture computer”(大規模多重化スーパース
ケーラハーバードアーキテクチャコンピュータ)に記載されている。この特許は
、本発明の好適な意図された生成および使用方法を示すために、本出願に参考と
して取り上げられるものである。ネットワークスイッチ501も、少なくとも9
9の並行かつ同時通信リンケージを実施することの可能なクロスバー(Xバー)
スイッチ516を好適に使用する。
【0052】 マスタースケジューラ106は(クロック109へのアクセスまたはクロック
110の表示としての)共通のクロック信号を与えるためにネットワークスイッ
チ501内で実現され、また共通信号を分配し、各構成要素ノード108、10
7からの要求を収集し(このネットワーク530の例においては、制御コンピュ
ータ506、ヒストリアンコンピュータ507、制御コンピュータ504、ヒス
トリアンコンピュータ505、ユーザインタフェース503、ネットワークサポ
ート502、ネットワークスイッチ501は全て、図1のデータフローコンテキ
ストにおける構成要素ノード107および108の例である)、各構成要素ノー
ド108、107の通信タスクのスケジューリングを行い、各構成要素ノード1
08、107にスケジュールを送信し、更に構成要素ノード108、107間を
接続する。
【0053】 共通のクロック信号を分配するのは、ネットワーク530上の各構成要素ノー
ド108、107の時間感覚を同一にさせるためである。同一の時間感覚を持た
せることは、タスクのスケジューリングが時間に基づいて行われるので、本発明
では極めて重大である。従って、共通のクロック信号を使用して、全ての構成要
素ノード108、107を効果的に同期させ、また共通時間に調整する。予め定
義された周期で、ネットワークスイッチ501のマスタースケジューラ106は
、各構成要素ノード108、107に伝達されるメッセージを送信して、期間の
始まりを定義する。
【0054】 各構成要素ノード108、107(制御コンピュータ506、ヒストリアンコ
ンピュータ507、制御コンピュータ504、ヒストリアンコンピュータ505
、ユーザインタフェース503、ネットワークサポート502、ネットワークス
イッチ501のいずれか1つ)からの要求の収集は、各スケジューリング期間毎
に行われる。ネットワークスイッチ501のマスタースケジューラ106は、各
スケジューリング期間の各構成要素ノード108、107(制御コンピュータ5
06、ヒストリアンコンピュータ507、制御コンピュータ504、ヒストリア
ンコンピュータ505、ユーザインタフェース503、ネットワークサポート5
02、ネットワークスイッチ501のいずれか1つ)からの要求を受信する時間
を除外する。要求は、要求された通信が必要となる構成要素ノード108、10
7から発せられる。ネットワークスイッチ501のマスタースケジューラ106
はこれらの各要求を受信し、そのスケジューリングロジックでこれらを考慮する
。各要求は、ソース、送信先、通信長さに関する情報を含んでいる。また、各要
求は優先度インジケータ以外にも、送信先ノードで実行する特定のアプリケーシ
ョンにそのメッセージを送るのに必要な情報も含んでいる。全ての構成要素ノー
ド108、107からの接続要求の収集タスクが完了した後、結果は合成要求リ
スト111に集められる。ちなみに、合成要求リスト111の項目がネットワー
クスイッチ501自身のマスタースケジューラ106内部から開始することも可
能であり、更に特定の接続要求が反復性を有して、未来期間集合における複数の
接続が単一の接続要求から発生するようにすることも可能である。
【0055】 ネットワークスイッチ501のマスタースケジューラ106は、未来に発生す
る通信のスケジューリングを行う。通信のスケジューリングを行うために使用さ
れる方法は、本明細書で述べる明示的クリティカルリソースアプローチが好適な
アプローチであっても、時間確定的ネットワークの機能においては重大ではない
。ロジックは、要求された通信への時間割当を実施する。スケジューリング期間
にスケジューリング工程を停止する時期は、次の3つの場合のいずれかで決定さ
れる。第1に、スケジューリング可能な全ての通信要求をスケジューリングする
ので、スケジューリング作業は残っていない。第2に、スケジューリングを実行
する時間は残っていない(プロセッサは、次のタスクを続行するためにスケジュ
ーリング処理を停止しなければならない)。第3に、時間インクリメントの使用
可能なスケジューリングウィンドウでスケジュール可能な接続よりも要求された
接続のほうが多く(処理能力の使い果たし)、この場合に過剰要求が次のスケジ
ューリング試行の待ち行列として残っている。
【0056】 結果として得られるスケジュールは、マスターイベントテーブル112に保存
される。このマスターイベントテーブル112は、合成要求リスト111にある
のと同様の情報の他に、スケジューリングされた通信の開始時間621を含んで
いる。ちなみに、タスクの特定のタイミング要求事項を強制するのに必要なよう
に、スケジューリング処理をバイパスさせるために特定のタスクをマスターイベ
ントテーブル112に予めロードすることも可能である。
【0057】 次に、ネットワークスイッチ501のマスタースケジューラ106は、ローカ
ルイベントテーブル114、116(特定の構成要素ノード107、108に関
するスケジュールの部分)を各適切な構成要素ノード107、108に伝える。
ソースまたは送信先として適切な構成要素ノード108、107を含むマスター
イベントテーブル112上の各イベントに対して、項目がローカルイベントテー
ブル114、116に存在する。(何れかの通信で使用される各構成要素ノード
108、107(制御コンピュータ506、ヒストリアンコンピュータ507、
制御コンピュータ504、ヒストリアンコンピュータ505、ユーザインタフェ
ース503、ネットワークサポート502、ネットワークスイッチ501のいず
れか)は、自身のローカルイベントテーブル114、116を受信する。
【0058】 次に、ネットワークスイッチ501のマスタースケジューラ106は、マスタ
ーイベントテーブル112に割当てられて表示される時間に応じた接続を実行す
る。非ブロッキングスイッチの好適な実施例を使用する場合のこれらの接続の処
理により、複数の接続が同時に実行される状況が生じる。
【0059】 ネットワークスイッチ501のマスタースケジューラ106に存在する合成要
求リスト111は、偶発性無く実行される連続的な反復接続、または(要求され
たときに、通常はネットワーク上の何れかのノードにより開始されて実行される
)動的要求接続を含んでいてもよい。この接続要求リストは、少なくとも、ソー
ス指定部、送信先指定部、持続指定部(記録詳細600を示す図6を参照)を含
んでいる。スケジューリングに関連する他のパラメータは、任意で優先度617
のような指定部を含んでいる。
【0060】 図6は、スケジューリングおよびタスク調整処理で使用される1次テーブルお
よびメッセージ600の合成を示している。接続要求リスト115は、両構成要
素ノード108および107において、またネットワークスイッチ501におけ
るマスタースケジューラ106の合成要求リスト111に組み合わされたときに
、ソース614、送信先615、長さ616、あるいは優先度617のフィール
ド610を有している。マスタースケジューラ106のスケジューラロジック6
11はこれらのフィールド610においてデータを使用し、各接続に対するソー
ス618、送信先619、長さ620、開始時間621のフィールド612を有
するマスターイベントテーブル112であるスケジュールを構成する。ちなみに
、スケジューラロジック611は接続要求リスト111からソース614、送信
先615、長さ616を取り、また開始時間621はスケジューリング処理自体
から得られるものである。
【0061】 ローカルイベントテーブル114、116は単にマスターイベントテーブル1
12の下位集合であり、各構成要素ノード108、107(制御コンピュータ5
06、ヒストリアンコンピュータ507、制御コンピュータ504、ヒストリア
ンコンピュータ505、ユーザインタフェース503、ネットワークサポート5
02、ネットワークスイッチ501のいずれか1つ)に適用可能な部分に分けら
れ、フィールド613の操作は不用である。仮想パス601、602、603、
606、607、608は、接続要求リストフィールド610からローカルイベ
ントテーブルフィールド613への情報の流れを示す。仮想パス604はスケジ
ューラへの優先度617の入力を、また仮想パス609はスケジューラロジック
611から伝達されるときの開始時間621、625を示す。
【0062】 次に、このデータはスケジューラロジック611により使用されて、要求され
た接続を提供するためのスケジュールを得る。スケジューラロジック611のス
ケジューリング処理の結果はマスターイベントテーブル112に記録され、これ
は各ローカルイベントテーブル116に解析されネットワークノードに分配され
る(図1参照)。イベントテーブルは、ソース622、送信先623、持続62
4、開始時間625のフィールド613を含んでいる。
【0063】 ネットワークノード内で、ローカルイベントテーブル114、116はローカ
ルタスクリストおよびロジックと共に統合されるので、全ての必要な作業を完了
させ、また全てのタイミングはスケジューラロジック611により指定されたタ
イミングに対応するようになる(または対立することがなくなる)。
【0064】 図7は一般なスケジューリング処理710の概略を示す。接続要求は、定義さ
れた要求受入期間に収集される。定義された期間後、接続要求の収集を処理しな
ければならない。他の接続要求は禁止されてはいないが、中断点を確立する必要
がある。図7は、接続要求のスケジューリングにおいて必要となるネットワーク
スイッチ501ノードにおけるマスタースケジューラ106で使用される基本ス
テップを示す。最初の3つのステップ701〜703は、全てのノードにおいて
の割当て時間定義を規定する。ステップ704では、接続要求は全ての構成要素
ノード107、108(優先スケジューリング操作からそのローカルタスクスケ
ジュールにおける予め定義された瞬間での通信として要求を送信するノード)か
ら受信される。ステップ705では、接続要求処理が終了するので、完了間近の
時間インクリメントの特定ウィンドウの間に構成要素ノード108、107から
収集された要求にスケジューリング処理が適用されるときに、スケジュールが未
来に対して定義されることが可能となる。スケジュール接続要求ステップ706
は、要求が一旦収集されると開始される(図8に詳細を示す)。スケジュールが
完了すると、ステップ707でスケジュールの適用可能な部分が、ローカルイベ
ントテーブル114、116を生成するためにマスターイベントテーブル112
より抽出され、ステップ707ではこれらのテーブルはステップ708でノード
107、108に伝えられ、更にステップ709で実行される。
【0065】 一般的に分散コンピューティング環境に対しては、ノード107、108間の
接続はいつでも必要となりうる。これは、接続要求がいつでも発生する可能性が
あり、またあるサービス時間は接続を処理するために許容度を持たせる必要があ
る。ネットワーク530での所望の応答に適した速度で、接続要求の収集、接続
要求のスケジューリング、ネットワークノードへの得られたスケジュールの分配
、確立された要求接続を介してのネットワーク530による通信を繰返し実行す
る4つの処理が存在する(表1参照)。
【0066】
【表1】 表2は、上記に述べたように、常に進行中のこれら4つの処理間のタイミング
関係を示している。
【0067】
【表2】 ちなみに、表2の右端の欄においては、初期の数回の繰返しで通信の基準が確
立された後に、通信が常に発生する。時間インクリメントウィンドウにおける特
定の通信に対しては、実行されている通信のスケジュールが前回の時間インクリ
メントウィンドウで伝達され、要求はスケジュール伝達の前に時間インクリメン
トウィンドウでスケジューリングされ、また要求はスケジューリングの前でも要
求された。タイミングの変化はこのパイプラインにおいて存在するが、これは好
適な実施例で使用されるパイプラインに類似している。
【0068】 現在の好適な実施例で使用されるロジックは、留意すべき2つの目的と共に作
られている。すなわち、効率的なスケジュールを得る必要があり、またそのスケ
ジュールを生成するのに必要な繰返し回数は適切なレベルで制限しなければなら
ない。効率的なスケジューリングにおいては、結果として得られるスケジュール
の効率が主として、スケジュールにおいて最も使用頻度の高いリソースが使用さ
れた効率の関数である前提に基づく単純な処理が行われる。これは、スケジュー
リング処理における全ての時間で、最も高い残留要求を有するリソースにスケジ
ューリング優先度を与える必要があるということを意味している。容認可能な時
間でスケジュールを生成するために、ロジックは一旦一度のみ(試行およびエラ
ーロジックは容認不可と見なされる)また各接続要求に対する適度の処理必要事
項と共に各要求ををスケジューリングするよう作られた。
【0069】 図8に示すように、スケジューリングにおける基本処理806では以下を行う
【0070】 1)リソース要求を評価するための基準の定義 2)クリティカリティに応じたリソースのソート 3)このステップにおいてリソースクリティカリティ順に実行されうる接続の
提供。
【0071】 4)前回提供された要求を完了させることによる、適用可能なリソースの解放 5)全ての要求が提供されるまで、または他の要求を実行する機会が無くなる
までステップ2〜4の繰返し このスケジューリングパスにおいて対処出来なかった要求は、次のスケジュー
リングパスで再実行される。
【0072】 図8のフローチャートは、明示的クリティカルリソーススケジューリングロジ
ックで使用される処理の概略を示している。第1ステップでは、リソースの使用
が評価される800基準を定義する。好適な実施例に対しては、送信および受信
チャネルはスケジューリングされたリソースであり、またこれらリソースのそれ
ぞれに対する使用持続期間は選択された基準である。
【0073】 リソースが使用に関して評価されると、リソースは使用に応じてソートされる
。これにより、最も頻繁に使用されるリソースは、まずステップ802でスケジ
ューリングされることになる。スケジューリング可能な全てのリソースがスケジ
ューリングされると(既存の要求接続は、全てのリソースの同時使用を必要とす
るか、またはこれを認める)、時間インクリメントのスケジューリングウィンド
ウは、ステップ803において、適用可能なリソースが使用可能となるまで進め
られる。対処すべき接続要求が他に存在し、スケジュールにおいてこれらの要求
を処理する時間がある場合は、ステップ804後にこの処理を繰返す(ステップ
801〜803の他の繰返しの必要に対する問題は解決される)。スケジューラ
ロジックの下位処理806は、スケジューリング事例が完了したステップ804
で解決されると、ステップ805に進み処理を終了させる。
【0074】 表9は、スケジューリングロジックの明示的クリティカルリソース(ACR)
の好適な実施例の下位処理950を更に詳細な概略を示している。この図は、図
8で説明したステップと、図8に示す処理の好適な実施としての条件付操作で必
要なその他の処置および例外操作とを含んでいる。ステップ902においてAC
R表が構成され、またACR表のSAV値に基づいてスケジューリングされてい
ない要求が存在するか否かをステップ903で判別する(ACR表に要求が存在
しないことを数値が示す場合、ステップ918へ飛ぶ)。要求が存在する場合、
ACR下位処理950はステップ904においてウィンドウサイズの計算を行い
、ステップ905で特定の要求を探し出し、またステップ906で特定の要求と
通信相手が存在するか確認する。要求と通信相手が存在する場合、ステップ91
2でイベントテーブルにイベントを追加し、ステップ914で次の要求に進む前
にステップ913でACRパスを修正する。ステップ915で高値がゼロでない
場合、処理は再びステップ904に進む。ステップ915において高値がゼロの
場合、ステップ916でACRにおける(未来)時間の定義が行われ、時間の効
率についてステップ917で処理能力がチェックされて、このスケジューリング
操作において更にスケジューリングを行うことが可能となり、また処理は次の要
求についてステップ914に戻る。ステップ906で通信を行う受信器が存在し
ない場合、ステップ907で他の受信器が定義され、ステップ908で評価され
る。ステップ908で他の受信器を定義しない場合、他の送信器がステップ91
9で選択されて、またステップ920で評価される。可能であれば(ステップ9
20)、ステップ921で最も高いACR値を有する受信器を選択し、処理をス
テップ908に戻す。可能でなければ(ステップ920)、処理はステップ91
6に進む。ステップ908で他のものが定義されると、処理はステップ909、
910、911、912を介してスケジューリングに進む。これらのステップで
実行されている仮想データロジカル処理は、表3に示す5つのノードから成る仮
定的ネットワークの通信要求リストに対する例を考慮することにより非常に良く
説明され得る。
【0075】
【表3】 長さがある任意の時間単位、おそらくミリ秒で測定されると仮定すると、1〜
nのn個の異なる優先度レベルが存在し、このとき1は最高優先度で、またnは
最低優先度である。
【0076】 まず、ちなみに放送タイプネットワーク(キャリア検知多重アクセス衝突回避
ネットワークまたはCSMA/CDネットワークなど、全てのトランザクション
は処理能力を共有する必要がある)では、上記要求を完了させるのに必要なサー
ビス時間は理論的に最低246個の時間単位が必要となる。
【0077】 非ブロッキングスイッチを組み入れることにより、5つの送信リソースおよび
5つの受信リソースの同時操作が可能になる。非ブロッキングネットワークを実
施することの利点について細かく検討すると、例のスケジューラロジックは、表
4などの表を構成することにより各リソースについての要求をまず評価する。
【0078】
【表4】 合計アクセス値またはSAVは単に、送信器(表の行におけるX−)および受
信器(表の列におけるR−)インタラクション回数の行または列の総数であり、
任意の長さ単位で測定される特定のリソースについての総要求を反映している。
ちなみに、要求に対処するのに必要な理論的最小時間は、非ブロッキングスイッ
チソリューションを選択することにより、時間単位は246から104に現象し
た。送信器3のSAVが最も高く、また送信器3が動作している時に他の送信器
も一般に動作が可能なので、これらの要求の最小サービス時間はおそらく送信器
3によって制約される。理論上の下限は104個の時間単位であり、また実際の
最小サービス時間はこれよりも大きく、接続が処理される順序に依存にすること
がある。しかしながら、次の目的は、最適スケジューリング方法を決定して、依
存ネットワークの能力を最大に高めることにある(要求されたサービス時間の最
小化)。
【0079】 この特定の例で、結果として得られるスケジュールが、要求の数や構成にかか
わらず、150の時間単位の持続期間で時間の時間インクリメントの未来ウィン
ドウに適用されると仮定する。例は、その150の単位スケジュールに対する時
間=0で確立される接続を考察することにより開始される。SAVで判断すると
、第1の目的は、送信器3および受信器1に関する特定の要求をスケジューリン
グすることである。初期要求リストに再び戻ると、例のスケジューラロジックは
、16の時間単位長さを有する送信器3および受信器1に関する要求を探し出す
。例のスケジューラロジックは現在時間=0で接続をスケジューリングし、また
例のスケジューラロジックは150の時間単位を有しているため、例のスケジュ
ーラロジックは、16ワードの要求が時間インクリメントのスケジューリングウ
ィンドウに組み込まれると推論し、表5のイベントテーブルにトランザクション
を記録する。
【0080】
【表5】 図的には、表5は図10のスケジュール図1001として示すことが出来る。
送信器スケジュール化要素1002および受信器スケジュール化要素1003は
、スケジューリングされたタスクを示す。
【0081】 要求リストは、この最後の要求が処理されたことを多少反映しなければならな
い。この修正された要求リストは、表6に示すリストに類似している。
【0082】
【表6】 送信器3および受信器1は時間=0に対して使用されているので、その状態は
使用中を表していなければならず、そのため更新されたSAV表は特定の再フォ
ーマット後に表7に類似する。
【0083】
【表7】 ちなみに、送信器3および受信器1のSAVは、提供された要求を反映するた
めに調整されている。これは、スケジューラロジックが、スケジュールで最もイ
ンパクトの高いリソースにスケジューリング優先度を与え続けるためである。こ
れは、他のリソースの必要性を犠牲にして行われ、またある時期においてSAV
の低いリソースに与えられた非効率性により、これらのリソースのスケジュール
の残り部分でのインパクトは、開始時に最もインパクトの高かったリソースより
も高くなる。そのため、プロトコルは明示的クリティカルリソーススケジューリ
ング(スケジューリングの優先度は、検討時にクリティカルパスに現れるリソー
スに常に与えられる)またはACRスケジューリングと呼ばれる。
【0084】 これで、例のスケジューラロジックが、スケジューリングに対して変わらず使
用可能であるスケジューリングインパクトに関して次の2つの同時リソースであ
る送信器5から受信器4への要求をスケジュールすべきであることが明らかであ
る。このような要求が存在するため、例のスケジューラロジックは表が表8、9
、10に類似するよう実行を行う。
【0085】
【表8】
【表9】
【表10】 ちなみに、イベントテーブルは事実上、要求リストからのスケジューリングさ
れた要求の(日付順に)ソートされたリストである。そのため、中間段階は各ス
ケジューリングステップで示されていない。
【0086】 上記のように処理を繰り返すので、例のスケジューラロジックは1から2への
通信事例要求(すなわち、送信器1から受信器2への接続)をスケジューリング
し、表は以下のように表11および12に修正される。
【0087】
【表11】
【表12】 次に例のスケジューラロジックは2から5への通信事例要求を探すが、このよ
うな要求はなされていない。試行するべき次の組み合わせを決定する際に複数の
選択肢があるが、処理能力効率と処理費用との間の所望のトレードオフに基づい
て最適なソリューションが選ばれる。(最小処理能力インパクト内で、簡単な規
定の集合が選ばれ、また好適な実施例では、全ての受信器の選択肢がなくなるま
で既存の送信器に対して選択肢としての受信器が選ばれる。その後特定の送信器
が無視され、次の送信器が選択され、インパクトの最も高い受信器が再び考慮さ
れる−図9参照。) このロジックを使用し、2から3の通信事例要求が検索されるが、見つからず
、次に4から5の通信事例要求が検索され、探し出され、選択される。SAV表
は更新され、時間=0で他の接続は行われないと判断される。表13にイベント
表を示す。
【0088】
【表13】 再び、これらの4つの接続を図11のスケジュール図1101に示す。図10
の送信器スケジュール化要素1002および受信器スケジュール化要素1003
は、それぞれスケジュール化要素1102および1103として示しており、ス
ケジュール化要素1104および1105(5から4の通信)、1106および
1107(1から2の通信)、1108および1109(4から5の通信)でつ
ながっている。
【0089】 進行時間で使用されるロジックは、次の時間的終了までの進行ということにな
る。この場合、4から5の通信事例接続は次の時間的終了であるので、例は時間
を時間=9に進め、このとき送信器4および受信器5が再び使用可能となる。要
求リストおよびSAV表は、表14および15に示すとおりである。
【0090】
【表14】
【表15】 2から5の通信事例要求、2から3の通信事例要求、4から5の通信事例要求
、4から3の通信事例要求の検索後、例のスケジューラロジックは時間を再び進
める必要があり、時間=9では実際には何もスケジュールされないと判断する。
次の終了は時間=15のときであり、このとき1から2の通信事例接続が終了す
る。SAV表を表16に示す。
【0091】
【表16】 次に、例のスケジューラロジックは1から2の通信事例要求を検索するが、1
から2の通信事例のみがすでにスケジューリングされているので、例は1から5
の通信事例要求を検索し、探し出してスケジューリングを行う。新しいSAV表
を表17に示す。
【0092】
【表17】 次に例のスケジューラロジックは、時間を再び進めるときであると判断する前
に、2から2の通信事例要求、2から3の通信事例要求、4から2の通信事例要
求、4から3の通信事例要求を検索する。例は時間を15から16に進める。こ
のときのSAV表は表18のようになる。
【0093】
【表18】 次に例のスケジューラロジックは、3から1の通信事例要求をスケジューリン
グするが、これは時間=16でスケジューリングできる唯一の要求である。例の
スケジューラロジックが時間を時間=17に進めた後の表は、表19、20、2
1のようになる。
【0094】
【表19】
【表20】 時間=17ではスケジュールできるものは何もないので、例は時間=18に進
み、ここで5から4の通信事例要求が終了する。
【0095】
【表21】 5から4の通信事例要求を検索出来ない場合、その後5から2の通信事例要求
が探し出され、また1から4の通信事例要求も探し出される。表は表22および
23のようになる。
【0096】
【表22】
【表23】 次に例のスケジューラロジックは時間を時間=26に進め、ここで例のスケジ
ューラロジックは表24を定義する。
【0097】
【表24】 次に例のスケジューラロジックは5から3の通信事例をスケジューリングする
が、これはこのときにスケジューリングすることの出来る唯一の通信事例である
。時間はその後27、そして28に進み、SAV表は表25のようになる。
【0098】
【表25】 3から1の通信事例要求が存在しないため、例のスケジューラロジックは3か
ら2の通信事例要求および5から1の通信事例要求をスケジューリングし、時間
を31、そして48に進める。このときSAV表は表26のようになる。
【0099】
【表26】 次に例のスケジューラロジックは3から4の通信事例要求をスケジューリング
し、時間を49に進める。その結果、表27が得られる。
【0100】
【表27】 次に例のスケジューラロジックは2から1の通信事例要求をスケジューリング
し、時間を67に進める。表28が結果として得られる。
【0101】
【表28】 次に例のスケジューラロジックは3から3の通信事例要求をスケジューリング
し、表29に示すように時間を73に進める。
【0102】
【表29】 次に例のスケジューラロジックは4から1の通信事例要求をスケジューリング
し、時間を75に進める。その結果、表30が得られる。
【0103】
【表30】 これにより、残りの3から4の通信事例要求が例のスケジューラロジックによ
ってスケジューリングされ、その後例のスケジューラロジックは時間=86に進
める。その結果、表31が得られる。
【0104】
【表31】 次に例のスケジューラロジックは残りの5から1の通信事例要求をスケジュー
リングし、時間を91に進める。次に最初の3から5の通信事例要求をスケジュ
ーリングし、時間を94、そして95に進める。また最後の要求である別の3か
ら5の通信事例要求をスケジューリングする。結果として得られるイベントテー
ブルは表32のようになる。
【0105】
【表32】 ちなみに、要求リスト全体は104の時間単位で全て揃うことになる。これは
これらの特定の要求に対応するのに必要な理論上の最低時間である。
【0106】 図では、最終スケジュールは図12のスケジュール図1201に示すとおりで
ある。図10の送信器スケジュール化要素1002および受信器スケジュール化
要素1003はスケジュール化要素1202および1203として示し、図11
のスケジュール化要素1104、1105、1106、1107、1108、1
109はスケジュール化要素1204、1205、1206、1207、120
8、1209として示し、1から4の通信事例に対する新規要素1216、12
17、5から2の通信事例に対する1214、1215、3から1の通信事例に
対する1212、1213、3から2の通信事例に対する1220、1221、
5から1の通信事例に対する1222、1223、2から1の通信事例に対する
1226、1227、3から4の通信事例に対する1224、1225、3から
3の通信事例に対する1228、1229、4から1の通信事例に対する123
0、1231、3から4の通信事例に対する1132、1233、5から1の通
信事例に対する1234、1235、そして3から5の通信事例に対する123
8、1239が示されている。3種類のインタラクションが要素識別子無しの状
態で図示されている(2の持続期間を有する1から5の通信、1の持続期間を有
する5から3の通信、4の持続期間を有する3から5の通信)。
【0107】 ちなみに、クリティカルリソースである送信器3は、時間=4になるまで確実
にスケジューリングされ、このときの時間は理論上の最小スケジューリング時間
に達するために満たす必要のある規準である。またちなみに、第2の非常にクリ
ティカルなリソースである受信器1は時間=94になるまで確実にスケジューリ
ングされた。このロジックは理論的に最適なスケジュールを常に作り出すわけで
はなく、要求の最も高いリソースに対して効率的となるよう設計されている。
【0108】 スケジューリング過程が150単位の時間インクリメントウィンドウではなく
100単位の時間インクリメントウィンドウに適用されれば、最も最後の要求は
この時間インクリメントウィンドウにおけるスケジューリングから除外されるが
、次の時間インクリメントウィンドウに対してスケジューリング処理が再開され
るまで待ち行列に加えられる。
【0109】 上記の例では、全ての要求の優先度レベルが1である要求リストを示した。一
実施例において、4種類の優先度レベルが支持される。レベルの最も高い全要求
は、他の優先度要求がスケジューリングについて考慮される前に、ロジックに従
ってスケジューリングされる。
【0110】 保証された要求全てが一旦スケジューリングされると、他の3つの優先度から
の接続要求はすでにスケジュールに入っている保証された要求を避けてスケジュ
ーリングされる。スケジュールにすでに接続が存在している場合、時間インクリ
メントウィンドウのサイズを計算する処理は幾分複雑であるが、ロジックは本質
的に同じである。ACR値(またはSAV)は何をいつスケジューリングするか
を決定する場合にはそれでも優勢であるが、同一の2つの並行リソース間の接続
要求は優先度に基づいて選択される。これは例えば、ACRロジックが優先度が
中程度の4から2の通信事例要求をスケジューリングする前に優先度の低い4か
ら5の通信事例要求をスケジュールすることが可能であっても、優先度が中程度
の4から5の通信事例要求をスケジューリングする前には不可能であることを意
味している。
【0111】 単に時間の時間インクリメントウィンドウではなく、特定の時間で発生する特
定の接続に対しての要求事項が存在するため、これらの要求にスケジューリング
を無視させるよう適応させることが可能である。これらの固定時間接続はスケジ
ューリングの開始前にイベントテーブルに入れられ、またスケジューリングされ
た接続は何れの要求についても最も高い優先度を有している。
【0112】 上記例において、時間を進めることは、すでにスケジューリングされた接続の
次の時間による終了を認めるだけのことにすぎない。しかし、時間を進める処理
は、他の機能を実行するために使用されるべき周期を費やす。好適な実施例にお
けるネットワークスケジューラは、処理要求事項を減らすために256単位の最
小時間インクリメントを使用する(上記の150単位の時間インクリメントウィ
ンドウではなく25,000単位異常の時間インクリメントスケジューリングウ
ィンドウを有する)。これはスケジューリング効率に明らかにマイナスの影響及
ぼし、またプラスの影響は少ない。概して、インクリメント間で多数の終了を処
理した結果、非常に多くのリソースが各時間インクリメントでのスケジューリン
グ候補となる。同時に競合するリソースが多いと、単に早く終了したその他のリ
ソースが、クリティカルインパクト値の高いこれらのリソースの代わりになるよ
うなことはほとんどない。この妥協の最終的な結果は、演算周期は維持されるが
処理能力効率はほとんど影響を受けないということになる。
【0113】 上記例において、全ての要求はそっくりそのままスケジューリングされ、要求
を際分化する必要はなかった。しかしながら、何れかの要求の長さが定義された
時間インクリメントウィンドウ(上記例では150時間単位)よりも長いと、ス
ケジューリングを可能にするために要求は少なくとも2つの部分にセグメント化
されてしまう。このような場合、設計、メッセージの細分化、低優先度属性の使
用で長いメッセージが避けられない場合、優先度の低い長いメッセージによって
、同一リソースで競合するより優先度の高いメッセージが除外されることはほと
んどない。
【0114】 好適な実施例においては、1023単位を超える要求は1000単位の「完全
」ブロックおよび長さが1023ユニット以下の任意の「部分」ブロックに細分
化される。
【0115】 好適な実施例では、イティネラリ(スケジュールを伝えるのに使用される特定
のメッセージ)自体が、そのサイズが変化しまた潜在的に大きいために、スケジ
ューリングされたメッセージである。しかし、アジェンダ(接続要求を収集する
ために使用されるメッセージ)は小さく、また固定時間接続として処理される(
アジェンダはそっくりそのままスケジューリングされない)。好適な実施例で使
用されるスケジューリングパイプラインでは、アジェンダの収集および第1時間
インクリメントウィンドウにおけるイティネラリのスケジューリングが行われ、
また第2、第3、第4時間インクリメントウィンドウは(それぞれメッセージの
スケジューリング、スケジューリングの伝達、接続の実施のために)上記のよう
に使用される。
【0116】 次に図13において、構成要素ノード107、108に対する構成部分が非常
に詳細に示されている。図13は図1および5の多数の構成部分を再び示してお
り、また他のノードに対するメッセージの同時送信および受信を可能にするロジ
ックタイプが詳細に図示されている。これに関して、送信ロジック1301およ
び受信ロジック1302が、構成要素ノード107上の随伴送信ロジック131
9および受信ロジック1320、構成要素ノード108上の別の随伴送信ロジッ
ク1321および受信ロジック1322と共に、マスタースケジューラ106に
対して示されている。経路1311、1305、1306は、(クロスバースイ
ッチ516を有する)メッセージ担体100から外に向かうベクトル化メッセー
ジパスを示す。このようなメッセージ伝達アプローチは、上記に説明したような
コンテキスト繰返しコンピュータで可能となり、特定のノード107、108、
106はメッセージの交互的送信および受信を行うようになる。ローカルスケジ
ューラ1307、発振器1308、CPU1309、VCXO(電圧制御水晶発
振子)1309を示す詳細は、上記のローカルタスクリスト1303および同様
に上記のローカルタスクスケジュール1304と共にノード107に対して図示
されている。
【0117】 次に図14において、組み合わされたときに、ネットワーク化分散型リアルタ
イムコンピュータにおける検討材料のユニークかつ有益に理論的説明を例証する
3種類のテクノロジーに注目し、本発明の性質を充分に検討する。これに関して
、重要なテクノロジーは、コンピュータ間の厳格な同期化、ネットワーク通信を
含む時間確定的操作、特にネットワーク通信を伴う分散タスク集中スケジューリ
ングに関連している。この図は、好適な実施例で実施される様々なテクノロジー
間の相互関係1400を示しており、実施に対して重大であると考えられるテク
ノロジーを重視している。組み合わされたときに、分散コンピューティング環境
でリアルタイム演算に従うアーキテクチャを提供する基本的テクノロジーは、(
1)時間確定的イベント制御1422、(2)システム間の厳格な同期化142
3、(3)分散型環境におけるリアルタイムの操作に対して重大であるタスクの
集中スケジューリング1421である。
【0118】 テクノロジー間の関係は矢印で示している。矢印は許可テクノロジーから使用
可能テクノロジーを指し示しており、また「許可」という用語はそのテクノロジ
ーの有用性またはテクノロジー適用の簡素さにおける改善を表すためにここで漫
然と使用する。ちなみに、二重矢印で示すように、多数のテクノロジーは相互に
有益である。
【0119】 以下の表は、理論的説明において相互に関連する厳格な同期化1423、優先
順位付け1424、時間確定的イベント制御1422、保全1426、制限確認
1425、集中スケジューリング1421、物理的回路切換1434、非ブロッ
キングツリートポロジ1429、信頼性1428、常用冗長性1427、低コス
ト1435の特徴と目的における図14の仮想リンケージとしての実施特徴間の
関係を説明するものである。
【0120】
【表33】
【表34】
【表35】
【表36】
【表37】 図15において、各構成要素ノード108、107(制御コンピュータ506
、ヒストリアンコンピュータ507、制御コンピュータ504、ヒストリアンコ
ンピュータ505、ユーザインタフェース503、ネットワークサポート502
、ネットワークスイッチ501の何れか)におけるスケジューリングに対して実
行される一般処理1500を説明する。各構成要素ノード108、107は、共
通クロック信号を受信し、その共通クロック信号に対して同期化を行い、ネット
ワークスイッチ501におけるマスタースケジューラ106からローカルイベン
トテーブル114、116を受信し、受信したローカルイベントテーブル114
、116に基づいてタスク実行リストを決定し、ローカルイベントテーブル11
4、116に記載されていない他のタスクと結合させ、タスク実行リストを実行
し、通信の要求リストを生成し、ネットワークスイッチ501におけるマスター
スケジューラ106に通信の要求リストを送信する。
【0121】 ステップ1501および1502−ネットワークは世界時間基準に大きく依存
しているので、構成要素ノード108、107での第1ステップ1501は共通
クロック信号の受信である。クロック信号は、ネットワークスイッチ501にお
けるマスタースケジューラ106から各構成要素ノード108、107へのメッ
セージとして伝達される。構成要素ノード108、107は、ステップ1501
でこのクロック信号を受信し、実際の受信時間をスタンプし、このメッセージの
完全性を有効化する。この有効化されたメッセージは同期化処理に対する入力と
して使用され、またステップ1502において、時間メッセージ受信の予測時間
と実際の時間との差を任意に決定する(時間メッセージの種類がデータ伝達メッ
セージではなくパルスである場合は任意)。
【0122】 ステップ1503および1504−次に各構成要素ノード108、107は共
通クロック信号に対して同期しなければならない。この同期化を行う処理は2つ
の別個のタスクに細分化できる。まずステップ1503において、共通クロック
信号のソースに適合する周波数に対して電圧制御発振器(1308)を調整し、
またステップ1504において、共通クロック信号によって定義される各期間の
開始が、ネットワークスイッチ501におけるマスタースケジューラ106で発
生すると同じ時間で構成要素ノード108、107において発生するよう時間を
合わせる。
【0123】 ステップ1505−ネットワークスイッチ501におけるマスタースケジュー
ラ106に対する構成要素ノード108、107の同期が一旦完了すると、構成
要素ノード108、107はネットワークスイッチ501におけるマスタースケ
ジューラ106からローカルイベントテーブル114、116を受信しなければ
ならない。ローカルイベントテーブル114、116は、この構成要素ノードを
必要とする通信のスケジュールを含んでいる。ちなみに、ローカルイベントテー
ブル114、116の受信自体は、ネットワークスイッチ501におけるマスタ
ースケジューラ106によってスケジューリングされている。従って、ノードが
ローカルイベントテーブル114、116を受信する最初の時間では、ローカル
イベントテーブル114、116が受信される何れかの可能な時間でメッセージ
を受信することができる。
【0124】 ステップ1506−構成要素ノード108、107の次のステップは、タスク
実行リストの作成である。タスク実行リストはローカルイベントテーブル114
、116、およびローカルイベントテーブル114、116に記載されていない
が構成要素ノード108、107が実行する必要のある他のタスクから作成され
る。ネットワークスイッチ501におけるマスタースケジューラ106から送ら
れるローカルイベントテーブル114、116は、送信および受信タスクに関す
るタイミングを与える。タスク実行リストを作成するために、以下のサブステッ
プを実行しなければならない。
【0125】 サブステップ1506A:伝播遅延の原因となるネットワークスイッチ501
におけるマスタースケジューラ106から受信される開始時間を調整する。ネッ
トワークスイッチ501のマスタースケジューラ106から受信されるタイミン
グは、ネットワークスイッチ501のマスタースケジューラ106に関連する。
構成要素ノード108、107はネットワークスイッチ501のマスタースケジ
ューラ106と同期するが、それでも通信媒体によって伝播に固有の遅延が存在
する。この遅延はネットワークスイッチ501のマスタースケジューラまたは構
成要素ノードによって解消されるか、あるいは固有の遅延が接続に割当てられた
時間におけるオーバーヘッドとして含まれる程度に時間インクリメント通信ウィ
ンドウが充分大きくなければならない。好適な実施例においては、この遅延は構
成要素ノードで解消される。
【0126】 サブステップ1506B:通信タスクに依存するタスクをスケジューリングす
る。通信に先だってスケジューリングしなければならないタスクが存在する(例
えば、メモリから送信されるデータの転送)。また、受信後にスケジューリング
されなければならないタスクも存在する(例えば、冗長コンピューティング環境
における多数の異なるソース間のデータのアービトレーション、およびメモリー
へのデータの転送)。構成要素ノード108、107は、これらのタスクのスケ
ジューリングを行う。
【0127】 サブステップ1506C:ローカルイベントテーブル114、116に記載さ
れていないかまたは通信に依存しないタスクをスケジューリングする。これらは
、構成要素ノード108、107が通信に関連するタスクの他に実行しなければ
ならないタスクである。これらのタスクは、他のI/O、ローカル化ディスプレ
イなどの動作用であってもよい。
【0128】 ステップ1507−構成要素ノード108、107の次のステップは、タスク
実行リストの実行である。リストにおける各タスクは、実行されるべきタスク、
タスクの開始時間、タスクを問題なく完了させるのに必要なパラメータを含んで
いる。
【0129】 ステップ1508−次に構成要素ノード108、107は、構成要素ノード1
08、107が通信を希望する構成要素ノード108、107のリストである通
信要求リストを作成することが可能である。この通信要求リストに含まれる情報
は、ソースノード識別子、送信先ノード識別子、通信の総長さである。
【0130】 ステップ1509−この通信要求リストはネットワークスイッチ501のマス
タースケジューラ106に送られて、そのスケジューリングを考慮する。このと
き、構成要素ノード108、107は、特定の期間における必要な機能全てを実
行済みである。次のステップ1510は、次の基準瞬間メッセージを受信する時
か否かの決定である。受信すべき時間であれば、基準瞬間メッセージを受信する
最初のステップ1501から始まる処理全体が繰り返される。次の基準瞬間メッ
セージを受信すべき時間でなければ、構成要素ノードのロジックはステップ15
05に進む。
【0131】 1つの考察実施例として、図16は、無線周波数手段によって通信が行われ、
また無線周波数送信器および受信器によって送信1601、1602、1603
が行われるデータフロー図1600として、図1の一般データフロー図130を
示す。
【0132】 本発明は、コンピュータと処理制御の特定の機能向けのプログラムコード(あ
るいは、例えばソフトウェアやロジックと言い換えることもでき、この場合ロジ
ックは電気回路の許可システムによる実行用のソフトウェアを示す)とを組み合
わせることによって一実施例において生成される特殊目的コンピュータとして考
慮されるマシンを使用することによって可能となる。そのため、電源に接続され
て、電気が供給され、またそのコンピュータプログラムコード(ソフトウェア)
を実行するために起動されたときに、特殊目的コンピュータは、コンピュータプ
ログラムコードからの命令に従って、本発明に関連する特定の機能を実行する。
コンピュータは、中央処理装置、中央処理装置に接続された少なくとも1つの物
理的メモリ、中央処理装置に接続された任意の入力キーボード、中央処理装置に
接続された任意の出力ディスプレイ(無制限に、プリンタ、出力が用紙に印刷さ
れる印刷端末、陰極線管モニター、および/またはフラットパネルモニターを含
んでいてもよい)、コンピュータクロックパルス生成器などの電気的に起動され
た構成要素と、コンピュータの電気的に起動された構成要素全てを通電させる電
気に対する接続部とを有している。中央プロセッサは更に、制御バスと、一次的
にデータを保持したり(例えば、レジスタまたはアキュムレータ)あるいは基本
的なデータ処理操作を実行する(例えば、加算回路)特定のコンピュータ回路と
を有している。特定のコンピュータ回路は通信において、それぞれ伝導(通信)
または非伝導(非通信)構成とされるラッチ回路によって制御バスに接続される
。特定の瞬間での全てのラッチ回路の集合的構成によって、中央プロセッサの特
定の状態が決まる。更に、コンピュータプログラムコードのそれぞれの命令が中
央処理装置によって順にアクセスされ、またクロックパルス生成器からの出力が
ラッチに送られると、中央プロセッサの状態はそれぞれ修正かつ変更される。ま
たコンピュータは任意で、本発明の特定の機能用の特殊目的コンピュータプログ
ラムコードの実行を可能にするコンピュータプログラムコードプラットフォーム
として機能する汎用オペレーティングシステムの形でコンピュータプログラムコ
ードを有することもできる。概して、この実施例における本発明は、上記システ
ムの特に有益な目的および実用化を果たすことによってテクノロジーを助長する
ようプログラムされた複数のコンピュータにより、好適な実施例において実施さ
れる。また、各コンピュータは、コンピュータプログラムコードの機能性によっ
て与えられる機能性を実現する媒体として機能する。複数の実施例において、特
殊目的コンピュータの拡張形式内の幾つかの通信リンケージは、電気、光、また
は無線周波数信号の通信インタフェースと、少なくとも1つの中央処理装置に直
接または間接的にリンクされる電気送信器および受信器構成要素を集合的に使用
する通信媒体とによって実施されてもよい。
【0133】 コンピュータ内に存在するコンピュータプログラムコードは、そのマシンの少
なくとも1つの構成要素部分となる。コンピュータプログラムコードは、無制限
に、相互リンクされたモジュール、ルーチン、サブルーチン、プログラム対象、
および/またはインストールされたインタラクティブ処理であってもよい。現代
の特定用途向け集積回路(ASIC)テクノロジーによって可能となる創発的な
コンピュータの設計において、コンピュータプログラムコードは、クロックパル
スを必要とすることなく簡素化されたロジックのシナリオを実行する従来のハー
ドウェアに組み込まれたゲート配列を連想させるハードウェアに組み込まれた回
路において少なくとも一部表現される。この説明の図は、コンピュータプログラ
ムコード内の重要なモジュールと構成要素との間の個数構造関係と、実現される
べき本発明のマシンの機能性を可能にする本発明の他の側面とを示している。こ
れに関して、システムにおける演算要素は、ハードウェアおよびソフトウェアの
組み合わせから構成される。
【0134】 本発明は図に基づいて説明した。この点においては、上記開示の利点を知る当
業者が本発明の精神から逸脱することなく上記の特定の実施例を変更できること
は明らかである。このような変更は、添付された請求項の範囲および精神のみに
よって限定される本発明の範囲内で考慮される。
【図面の簡単な説明】
【図1】 分散ネットワークにおける様々な構成要素間のデータフローの図を表す。
【図2】 世界中の物理的に異なる場所に存在するコンピューティング構成要素の分散ネ
ットワークを示す。この図は、コンピューティング要素、マスタースケジューラ
、共通時間ソースを含む。
【図3】 バス構造におけるネットワークの図を表す。
【図4】 ネットワークがリングトポロジで実施される分散コンピューティング環境を示
す。
【図5】 好適なネットワークアーキテクチャ実施例である交換スタートポロジにおける
ネットワークの図を表す。
【図6】 コンピューティング構成要素とマスタースケジューラ間で通信されるデータ構
造の図を表す。
【図7】 2つの別個のコンピューティング構成要素間の通信のスケジューリングにおい
て、マスタースケジューラで実施される処理のフローチャートを表す。
【図8】 2つの別個のコンピューティング構成要素間の通信のスケジューリングにおい
て、マスタースケジューラで実施されるスケジューリングロジック(電気回路に
より実行されるソフトウェア)の簡略図を表す。
【図9】 マスタースケジューラで進められるスケジューリングロジックの詳細フォロー
チャートを表す。
【図10】 第1の接続がスケジューリングされた後の2つの別個のコンピューティング構
成要素間の第1のスケジューリングされた通信を示す横線工程表を表す。
【図11】 第1ステップでスケジューリング可能であり、全接続がスケジューリングされ
た後のコンピューティング構成要素間のスケジューリングされた通信を示す横線
工程表を表す。
【図12】 全ての接続がスケジューリングされた後のコンピューティング構成要素間のス
ケジューリングされた通信を示す横線工程図である。
【図13】 メッセージ担体、マスタースケジューラ、クロック、構成要素ノードの詳細な
構成を示す。
【図14】 好適な実施例で組み合わされ、適用に対して最も重要なものを重要視したテク
ノロジー間の関係を示す。
【図15】 構成要素ノード間の通信を円滑にするために各コンピューティング構成要素で
実行するロジックのフローチャートを表す。
【図16】 通信が無線周波数で促進される分散ネットワークにおける様々な構成要素間の
データフローの図を表す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウェイン、ピー.ドゥープリー アメリカ合衆国ミシガン州、ミドランド、 ストニー、クリーク、5301 (72)発明者 ゲリット、エイチ.バーニアーズ ベルギー国ベー‐9180、モアビーク‐ワー ス、ハイルウェーク、88 (72)発明者 スティーブン、ジー.チャーチル アメリカ合衆国ミシガン州、ミドランド、 ワスクビッチ、2588 (72)発明者 ジョージ、ピー.フェルナンデス アメリカ合衆国ミシガン州、ミドランド、 ノース、5、マイル、449 Fターム(参考) 5B045 CC06 CC09 GG01 5B098 FF04 FF07 GA04 GA08 GC16 【要約の続き】 ューラに通信要求リストを送信し、マスタースケジュー ラから逆に通信スケジュールを受信し、通信スケジュー ルからローカルタスクスケジュールを定義し、スケジュ ーリングSれた時間で通信を実行することにより、他の ノードと協調してロジックを実行する。

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 相互データ通信における複数のコンピュータノードが調整した方法でロジック
    を実行可能にするコンピュータ実施方法であって、 上記複数のコンピュータノード間でリアルタイム時間を合わせて、各コンピュ
    ータノードが原則的に同一のリアルタイム時間を有するようにする工程と、 各コンピュータノードの通信スケジュールを定義し、上記スケジュールはそれ
    ぞれの通信を開始するために定義された将来の異なる時間を有する工程と、 各スケジュールをその各コンピュータノードに伝える工程と、 そのスケジュールで定義された時間で各ノードからそれぞれの通信を開始する
    工程とを具備して成る方法。
  2. 【請求項2】 多数の通信パスをサポートするメッセージ担体と、 上記メッセージ担体に接続され、通信状態を含む複数の異なる動作状態で繰り
    返すことにより時間確定的タスクを実行するようプログラムされた複数のコンピ
    ュータと、 上記コンピュータ間で時間同期を維持するよう全ての上記コンピュータにより
    アクセス可能なクロックシステムと、 上記コンピュータによって実行される上記時間確定的タスクに基づいて上記メ
    ッセージ担体に選択されたコンピュータ間の通信を確立させることにより、上記
    コンピュータ間の通信順序を決定する上記メッセージ担体に接続されたスケジュ
    ーラとを具備して成るコンピュータネットワークアーキテクチャ。
  3. 【請求項3】 複数のコンピュータノードにおけるコンピュータノードが上記複数のコンピュ
    ータノードにおける他のノードと調整した方法でロジックを実行可能にするコン
    ピュータ実施方法であって、 上記複数のコンピュータノードにおける各コンピュータノードにメッセージ担
    体を接続する工程と、 1つのコンピュータノードにマスタースケジューリング能力を与えて、マスタ
    ースケジューラを確立する工程と、 各コンピュータノードにおいて、将来の期間に対して他のコンピュータノード
    と共に上記コンピュータノードが必要とする各通信の通信要求リストを定義する
    工程と、 上記メッセージ担体を介して各コンピュータノードから上記マスタースケジュ
    ーラに上記通信要求リストを送信する工程と、 各コンピュータノードにおいて、上記メッセージ担体を介して上記マスタース
    ケジューラから通信スケジュールを受信する工程と、 各コンピュータノードにおいて、上記通信スケジュールからローカルタスクス
    ケジュールを定義する工程とを具備して成る方法。
  4. 【請求項4】 複数の構成要素ノードが協調してロジックを実行可能にさせるコンピュータ実
    施方法であって、 メッセージ担体を上記複数の構成要素ノードの各構成要素ノードに接続する工
    程と、 上記メッセージ担体を介してデータ通信のマスタースケジュールに各上記構成
    要素ノードを提供する工程と、 上記複数のノードの基準瞬間時間値を定義する工程と、 上記メッセージ担体を介して各構成要素ノードと上記マスタースケジュールに
    上記基準瞬間時間値を伝える工程と、 将来の期間において他の構成要素ノードと共に上記構成要素ノードが必要とす
    る各通信を示す各上記構成要素ノードにおける通信要求リストを定義する工程と
    、 上記メッセージ担体を介して各構成要素ノードから上記マスタースケジュール
    に上記通信要求リストを伝える工程と、 上記マスタースケジューラにおいて、各上記受信した通信要求リストにおける
    上記基準瞬間時間値と各上記通信とに対する通信イベントでの構成要素ノード間
    のスケジューリングされた通信を定義する工程と、 上記マスタースケジューラにおいて、上記スケジュールされた通信に対する各
    構成要素ノードの通信スケジュールを定義する工程と、 上記メッセージ担体を介して、上記マスタースケジューラから各構成要素ノー
    ドに各上記通信スケジュールを送信する工程と、 各構成要素ノードにおいて、上記基準瞬間時間値と、上記基準瞬間時間値が上
    記構成要素ノードに伝えられた時の時間との時間差を定義する工程と、 各構成要素ノードにおいて、上記通信スケジュールと構成要素ノードの上記時
    間差とからローカルタスクスケジュールを定義し、構成要素ノードが上記スケジ
    ューリングされた通信イベント時間で上記メッセージ担体を介して他の構成要素
    ノードに通信するようにする工程と、 上記各ローカルタスクスケジュールに従って、上記メッセージ担体を介して各
    スケジューリングされた通信に対する上記構成要素ノード間の上記スケジューリ
    ングされた通信を実行する工程を具備して成る方法。
  5. 【請求項5】 基準瞬間時間値を定義する上記工程が上記マスタースケジューラによって実行
    される請求項4に記載の方法。
  6. 【請求項6】 各上記構成要素ノードにおける通信要求リストを定義する上記工程が、上記通
    信を上記将来の期間における最大数に制限する請求項4に記載の方法。
  7. 【請求項7】 各通信には持続時間属性があり、上記持続時間属性の値は固定最大値未満であ
    る請求項4に記載の方法。
  8. 【請求項8】 上記複数の構成要素ノードの基準瞬間時間値を定義する上記工程が世界時間シ
    ステムによって実行される請求項4に記載の方法。
  9. 【請求項9】 複数の構成要素ノードが調整した方法でロジックを実行できるようにさせるコ
    ンピュータ実施方法であって、 上記複数の構成要素ノードにおけるそれぞれ中央演算処理装置を有する各構成
    要素ノードにメッセージ担体を接続する工程と、 データ通信におけるマスタースケジューラに上記メッセージ担体を介して各上
    記構成要素ノードを与える工程と、 上記複数の構成要素ノードに対して瞬間としての基準瞬間時間値を定義する工
    程と、 上記メッセージ担体を介して、各構成要素ノードおよび上記マスタースケジュ
    ーラに上記基準瞬間時間値を伝える工程と、 各上記構成要素ノードにおける通信要求リストに、将来の期間に対する未来タ
    スクインクリメントの達成において上記構成要素ノードが必要とする他の構成要
    素ノードに対する各アクセスを定義する工程と、 上記メッセージ担体を介して、各上記構成要素ノードから上記マスタースケジ
    ューラに上記通信要求リストを伝える工程と、 上記マスタースケジューラにおいて、未来タスクインクリメントの達成で上記
    構成要素ノードが必要とする他の構成要素ノードへの各上記アクセスに対する通
    信イベントデータ対象を定義し、上記通信イベントデータ対象がアクセス構成要
    素識別属性値、被アクセス構成要素識別属性値、およびアクセス持続属性値を有
    している工程と、 上記マスタースケジューラにおいて、通信イベント集合に定義された全ての通
    信イベントデータ対象を収集する工程と、 上記マスタースケジューラにおいて、上記構成要素ノードに対する被アクセス
    構成要素識別属性値を有する全ての通信イベントデータ対象における全てのアク
    セス持続属性値の合計として、上記通信イベント集合における各構成要素ノード
    の合計被アクセス値を定義する工程と、 上記マスタースケジューラにおいて、上記構成要素ノードに対するアクセス構
    成要素識別属性値を有する全ての通信イベントデータ対象における全てのアクセ
    ス持続属性値の合計として、上記通信イベント集合における各構成要素ノードに
    対する合計アクセス値を定義する工程と、 上記マスタースケジューラとスケジュールにおける最先使用可能時間とに対し
    て、上記通信イベント集合に対する最高の上記合計アクセス値を有するアクセス
    構成要素ノードと、上記アクセス構成要素ノードに対して全通信イベントデータ
    対象の最高関連アクセス持続属性値を有する通信イベントデータ対象における被
    アクセス構成要素識別属性値に対する被アクセス構成要素との間の上記基準瞬間
    時間値に対する未来通信タスクをスケジューリングし、また上記未来通信タスク
    が、スケジュールにおける最先使用可能時間に等しいタスク開始時間、アクセス
    構成要素に対するアクセス構成要素ノード識別子属性、被アクセス構成要素ノー
    ドに対する被アクセスノード識別子属性を有している工程と、 上記マスタースケジューラにおいて、スケジューリングされた未来通信タスク
    における被アクセス構成要素ノード識別子属性に対する通信イベントデータ対象
    と、スケジューリングされた未来通信タスクにおける被アクセス構成要素ノード
    識別子属性とを除去して、スケジューリングされていないこれらの通信イベント
    データ対象に通信イベント集合を再定義する工程と、 上記マスタースケジュールにおいて、再定義された通信イベント集合に対して
    、合計被アクセス値を決定する工程、合計アクセス値を決定する工程、未来通信
    タスクをスケジューリングする工程、全ての通信イベントデータ対象が各構成要
    素ノードの通信スケジュールに入れられるまでスケジューリングされた構成要素
    ノードに対する全ての通信イベントデータ対象を除去する工程を繰り返す工程と
    、 上記メッセージ担体を介して、上記マスタースケジューラから各構成要素ノー
    ドに各上記通信スケジュールを送信する工程と、 各構成要素ノードにおいて、上記基準瞬間時間値と、上記基準瞬間時間値が上
    記構成要素ノードに伝えられるときの時間との間の時間差を定義する工程と、 各構成要素ノードにおいて、上記通信スケジュールと、構成要素の上記時間差
    とからローカルタスクスケジュールを定義し、構成要素ノードが上記スケジュー
    リングされた通信イベント時間で上記メッセージ担体を介して他の構成要素ノー
    ドに通信するようにする工程と、 上記各ローカルタスクスケジュールに応じて、上記メッセージ担体を介して各
    スケジューリングされた通信イベントに対して構成要素ノード間の上記スケジュ
    ーリングされた通信を実行する工程とを具備して成る方法。
  10. 【請求項10】 集合グループとして機能する複数の構成要素対象において構成要素対象間での
    通信をスケジューリングするコンピュータ実施方法であって、 コンピュータを提供する工程と、 上記コンピュータにおいて、各構成要素対象に対して、未来タスクインクリメ
    ントの達成で上記構成要素対象が必要とする他の構成要素対象への各アクセスに
    対する通信イベントデータ対象を定義し、上記通信イベントデータ対象がアクセ
    ス構成要素識別属性値、被アクセス構成要素識別属性値、アクセス持続属性値を
    有する工程と、 上記コンピュータにおいて、通信イベント集合に全ての定義された通信イベン
    トデータ対象を収集する工程と、 上記コンピュータにおいて、上記構成要素対象に対する被アクセス構成要素識
    別属性値を有する全ての通信イベントデータ対象における全てのアクセス持続属
    性値の合計として、上記通信イベント集合において各構成要素対象の合計被アク
    セス値を決定する工程と、 上記コンピュータにおいて、上記構成要素対象に対するアクセス構成要素識別
    属性値を有する全ての通信イベントデータ対象において全てのアクセス持続属性
    値の合計として、上記通信イベント集合における各構成要素対象の合計アクセス
    値を決定する工程と、 スケジュールに対するスケジューリング期間内の逐次未来時間インクリメント
    の集合を定義する工程と、 上記コンピュータにおいて、 通信イベントデータ対象が被アクセス構成要素対象とアクセス構成要素対象
    との間に存在する場合、上記通信イベント集合に対する最高の上記合計アクセス
    値を有する上記アクセス構成要素対象および、上記通信イベント集合に対する最
    高の上記合計被アクセス値を有する被アクセス構成要素対象と、 スケジュールにおける最先使用可能時間に等しいタスク開始時間、アクセス
    構成要素対象に対するアクセス構成要素対象識別子属性、被アクセス構成要素対
    象に対する被アクセス構成要素対象識別子構成要素、上記アクセス持続属性値を
    有する未来通信タスクとの間で、 上記通信イベント集合における第1の使用可能通信イベントデータ対象に基づ
    いて上記未来通信タスクを、第1の上記未来時間インクリメントにおける最先使
    用可能時間にスケジューリングし、 上記コンピュータにおいて、スケジューリング候補から、スケジューリングさ
    れた未来通信タスクにおける被アクセス構成要素対象識別子属性と、スケジュー
    リングされた未来通信タスクにおけるアクセス構成要素対象識別子属性とに対す
    る通信イベントデータ対象を除去して、スケジューリングされていないこれらの
    通信イベントデータ対象を再定義する工程と、 再定義された通信イベント集合に対する上記コンピュータにおいて、合計被ア
    クセス値を決定する工程と、合計アクセス値を決定する工程と、未来通信タスク
    をスケジューリングする工程と、上記第1の未来時間インクリメントにスケジュ
    ーリングることの可能な全ての通信イベントデータ対象がスケジューリングされ
    るまでスケジュールされた構成要素対象に対する全ての通信イベントデータ対象
    を除去する工程とを繰り返す工程と、 再定義された通信イベント集合と、続いて上記複数の未来時間インクリメント
    の各残りのインクリメントに対する上記コンピュータにおいて、合計被アクセス
    値を決定する工程、合計アクセス値を決定する工程、未来通信タスクをスケジュ
    ーリングする工程、およびスケジューリングされた構成要素対象に対する全ての
    通信イベントデータ対象を除去する工程を繰り返し実行し、またそれぞれの上記
    未来時間インクリメントにスケジューリングすることの可能な全ての通信イベン
    トデータ対象がスケジューリングされるまで、また上記スケジューリング期間に
    全ての通信イベントデータ対象がスケジューリングされるまで、上記工程を繰り
    返す工程とを具備して成る方法。
  11. 【請求項11】 上記定義が予め定義された期間内に必要となる未来タスクインクリメントに限
    定されており、また上記スケジューリングが上記予め定義された期間に対するも
    のである請求項10に記載の方法。
  12. 【請求項12】 上記複数の構成要素対象における各構成要素対象にメッセージ担体を接続する
    工程を更に含み、上記メッセージ担体は上記通信イベントにおいて並行処理を認
    可する複数のチャネルを有しており、また上記スケジューリング工程はグループ
    としての上記複数のチャネルに対するものであり、上記最先使用可能時間は上記
    メッセージ担体における何れかのチャネルに対するものである請求項11に記載
    の方法。
  13. 【請求項13】 各上記構成要素対象は上記メッセージ担体とのデータ通信を行っている構成要
    素ノードであり、各構成要素ノードは中央演算処理装置を有している請求項12
    に記載の方法。
  14. 【請求項14】 集合グループとして機能する複数のリソース対象におけるリソース対象のタス
    クをスケジューリングするコンピュータ実施方法であって、 コンピュータを提供する工程と、 上記コンピュータにおいて、上記集合グループの未来タスク集合を定義する工
    程と、 上記コンピュータにおいて、上記未来タスク集合における各未来タスクに必要
    な各リソース対象を定義する工程と、 上記コンピュータにおいて、上記未来タスク集合に対するいずれか2つのリソ
    ース対象間で必要な各インタラクションを定義する工程と、 上記コンピュータにおいて、各上記インタラクションを実現することにおいて
    、使用持続属性値を有する各上記リソース対象の使用例を定義する工程と、 上記コンピュータにおいて、各上記使用例に対するアクセスリソース対象およ
    び被アクセスリソース対象を定義する工程と、 上記コンピュータにおいて、リソース対象がアクセスリソース対象である場合
    に、そのリソース対象に対する全ての上記使用例の全ての使用持続属性値の合計
    として、各アクセスリソース対象の合計アクセス時間値を最初に決定する工程と
    、 上記コンピュータにおいて、上記被アクセスリソース対象と上記アクセスリソ
    ース対象との間の全ての上記インタラクションに対する全ての使用持続属性値の
    合計として、各被アクセスリソース対象の合計被アクセス時間値を第2に決定す
    る工程と、 上記コンピュータにおいて、スケジュールに対するスケジューリング期間内の
    連続未来時間インクリメント集合を定義する工程と、 上記コンピュータにおいて、 上記未来タスク集合に対する最高の上記合計アクセス値を有するアクセスリ
    ソース対象と、 上記被アクセス対象と上記アクセスリソース対象との間に使用例が存在する
    場合に、上記未来タスク集合に対する最高の上記合計被アクセス値を有する被ア
    クセスリソース対象との間において、 上記未来タスク集合の第1使用可能未来タスクに基づいて、第1の上記未来時
    間インクリメントにおける最先使用可能時間に、未来リソースインタラクション
    をスケジューリングする工程と、 上記工程において上記未来リソースインタラクションイベントは、スケジュ
    ールにおける最先使用可能時間に等しい開始時間、アクセスリソース対象に対す
    るアクセスリソース対象識別子属性、被アクセスリソース対象に対する被アクセ
    スリソース対象識別子属性、上記使用持続属性値を有しており、 上記コンピュータにおいて、スケジューリング候補から、スケジュールされた
    未来リソースインタラクションイベントにおける被アクセスリソース対象に対す
    る使用例およびスケジュールされた未来リソースインタラクションイベントにお
    けるアクセス構成要素対象識別子属性を除去して、インタラクションがスケジュ
    ールされていないこれらの未来タスクに対して未来タスク集合を再定義する工程
    と、 上記コンピュータにおいて、再定義された未来タスク集合に対し、合計被アク
    セス値を決定する工程と、合計アクセス値を決定する工程と、未来通信タスクを
    スケジューリングする工程と、上記第1未来時間インクリメントにスケジューリ
    ング可能な全ての使用例がスケジューリングされるまでスケジュールされたリソ
    ース対象に対する使用例全てを除去する工程を繰り返す工程と、 上記コンピュータにおいて、再定義された未来タスク集合に対し、また続いて
    残っている上記複数の未来時間インクリメントのそれぞれに対して、合計被アク
    セス値を決定する工程と、合計アクセス値を決定する工程と、未来リソースイン
    タラクションイベントをスケジューリングする工程と、スケジュールされたリソ
    ース対象に対する全てのリソース対象を除去する工程と、各未来時間インクリメ
    ントにスケジューリング可能な全てのリソースインタラクションイベントがスケ
    ジュールされ、また上記スケジュール期間に全てのリソースインタラクションイ
    ベントがスケジュールされるまで上記工程を繰り返す工程を繰り返し実行する工
    程とを具備して成る方法。
  15. 【請求項15】 相互データ通信における複数のコンピュータノードが調整した方法でロジック
    を実行できるようにさせるコンピュータ実施装置であって、 上記複数のコンピュータノード間のリアルタイムを合わせて、各コンピュータ
    ノードが原則的に同一のリアルタイム時間を有するようにさせる手段と、 各コンピュータノードに対して、各通信を開始させるために定義された未来の
    他の時間を有する通信スケジュールを定義する手段と、 各スケジュールをその各コンピュータノードに伝える手段と、 そのスケジュールにおいて定義された時間で、各ノードから各通信を開始させ
    る手段とを具備して成る装置。
  16. 【請求項16】 メッセージ担体を有するコンピュータ実施装置であって、 複数の構成要素ノードを具備し、各構成要素ノードは上記メッセージ担体とデ
    ータ通信を行い、また各構成要素ノードは、 中央演算処理装置と、 上記メッセージ担体から基準瞬間時間値を有する基準瞬間メッセージを受信
    し、上記基準瞬間時間値と上記基準瞬間メッセージの受信時間との間の時間差を
    定義する時間位相ロジックと、 未来期間において上記構成要素ノードが必要とする各ノード間通信を識別し
    、全ての上記ノード間通信に対する通信要求リストを確立する通信定義ロジック
    と、 上記通信要求リストを上記メッセージ担体を介してマスタースケジューラに
    伝える通信要求送信ロジックと、 上記メッセージ担体を介して上記マスタースケジューラから通信スケジュー
    ルを受信するタスク受信ロジックと、 上記通信スケジュールと上記時間差からローカルタスクスケジュールを定義
    するタスク統合ロジックと、 上記ローカルタスクスケジュールに応じて、上記メッセージ担体を介して他
    の構成要素ノードと通信する通信実施ロジックと、 上記通信メッセージ担体を介して上記複数の構成要素ノードとデータ通信を
    行うマスタースケジューラとを含み、上記マスタースケジューラは中央演算処理
    装置が実行するスケジューラロジックを有しており、上記スケジューラロジック
    は、 瞬間としての上記基準瞬間時間値を定義する基準瞬間定義ロジックと、 上記基準瞬間時間値を有する基準瞬間メッセージを生成し、上記メッセージ
    担体を介して各構成要素ノードに上記基準瞬間メッセージを伝達する基準瞬間通
    信ロジックと、 上記メッセージ担体を介して各上記構成要素ノードから各上記通信要求リス
    トを受信する通信要求受信ロジックと、 上記基準瞬間時間値と各上記受信通信要求リストに存在する各上記ノード間
    通信とに対して、通信イベント時間で構成要素ノード間の通信をスケジューリン
    グし、更に上記スケジュールされた通信に対して各構成要素ノードの通信スケジ
    ュールを定義する通信スケジュール定義ロジックと、 上記メッセージ担体を介して各構成要素ノードに対して各上記通信スケジュ
    ールを送信する構成要素ノード通信スケジュールとを有する装置。
  17. 【請求項17】 各構成要素ノードが更に可変速度発振器を含む請求項16に記載の装置。
  18. 【請求項18】 各構成要素ノードが時間合わせロジックおよび発振器速度調整ロジックを更に
    含む請求項16に記載の装置。
  19. 【請求項19】 上記メッセージ担体がクロスバースイッチを含む請求項16に記載の装置。
  20. 【請求項20】 上記メッセージ担体がネットワークトポロジを含む請求項16に記載の装置。
  21. 【請求項21】 上記メッセージ担体が無線周波数通信システムを含む請求項16に記載の装置
JP2000551319A 1998-05-26 1999-03-26 リアルタイムスケジューリングロジックおよび時間確定的アーキテクチャを使用する分散コンピューティング環境 Pending JP2002517035A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8673798P 1998-05-26 1998-05-26
US60/086,737 1998-05-26
PCT/US1999/006634 WO1999061985A1 (en) 1998-05-26 1999-03-26 Distributed computing environment using real-time scheduling logic and time deterministic architecture

Publications (1)

Publication Number Publication Date
JP2002517035A true JP2002517035A (ja) 2002-06-11

Family

ID=22200563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000551319A Pending JP2002517035A (ja) 1998-05-26 1999-03-26 リアルタイムスケジューリングロジックおよび時間確定的アーキテクチャを使用する分散コンピューティング環境

Country Status (7)

Country Link
EP (1) EP1084470B1 (ja)
JP (1) JP2002517035A (ja)
CN (1) CN1303497A (ja)
AT (1) ATE245833T1 (ja)
CA (1) CA2331860A1 (ja)
DE (1) DE69909791T2 (ja)
WO (1) WO1999061985A1 (ja)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003271107A1 (en) * 2002-10-23 2004-05-13 Sharp Kabushiki Kaisha Communication management method, central control station, communication station, communication management program, and computer-readable recording medium storing communication management program
US7331048B2 (en) 2003-04-04 2008-02-12 International Business Machines Corporation Backfill scheduling of applications based on data of the applications
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US8086752B2 (en) 2006-11-22 2011-12-27 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US10613817B2 (en) 2003-07-28 2020-04-07 Sonos, Inc. Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US9374607B2 (en) 2012-06-26 2016-06-21 Sonos, Inc. Media playback system with guest access
US8326951B1 (en) 2004-06-05 2012-12-04 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US7483898B2 (en) * 2004-06-14 2009-01-27 Microsoft Corporation System and method for auditing a network
US7496099B2 (en) * 2004-07-30 2009-02-24 Fisher-Rosemount Systems, Inc. Communication controller for coordinating transmission of scheduled and unscheduled messages
CN100362522C (zh) * 2006-03-31 2008-01-16 北京飞天诚信科技有限公司 软件保护装置中的实时时钟校准方法
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
CN101132270B (zh) * 2007-08-02 2010-09-08 北京航空航天大学 多节点协调的时间一致性管理方法
CN102457370A (zh) * 2010-10-27 2012-05-16 金蝶软件(中国)有限公司 一种虚拟集群同步信号生成方法、装置和系统
US10620988B2 (en) 2010-12-16 2020-04-14 Et International, Inc. Distributed computing architecture
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
EP2657797B1 (de) * 2012-04-27 2017-01-18 Siemens Aktiengesellschaft Verfahren zum Betreiben eines redundanten Automatisierungssystems
EP2898436A1 (en) * 2012-09-18 2015-07-29 Siemens Aktiengesellschaft Multiple programmable logic controller simulator
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
US9510055B2 (en) 2013-01-23 2016-11-29 Sonos, Inc. System and method for a media experience social interface
US9307508B2 (en) 2013-04-29 2016-04-05 Google Technology Holdings LLC Systems and methods for syncronizing multiple electronic devices
AT514444A2 (de) * 2013-06-24 2015-01-15 Fts Computertechnik Gmbh Verfahren und Vorrichtung zur zeitrichtigen Datenübergabe an die zyklischen Tasks in einem verteilten Echtzeitsystem
US9720576B2 (en) 2013-09-30 2017-08-01 Sonos, Inc. Controlling and displaying zones in a multi-zone system
US20150095679A1 (en) 2013-09-30 2015-04-02 Sonos, Inc. Transitioning A Networked Playback Device Between Operating Modes
US9288596B2 (en) 2013-09-30 2016-03-15 Sonos, Inc. Coordinator device for paired or consolidated players
US9654545B2 (en) 2013-09-30 2017-05-16 Sonos, Inc. Group coordinator device selection
CN103530742B (zh) * 2013-10-28 2019-01-29 金蝶软件(中国)有限公司 提高排程运算速度的方法及装置
US9300647B2 (en) 2014-01-15 2016-03-29 Sonos, Inc. Software application and zones
US9313591B2 (en) 2014-01-27 2016-04-12 Sonos, Inc. Audio synchronization among playback devices using offset information
US20150220498A1 (en) 2014-02-05 2015-08-06 Sonos, Inc. Remote Creation of a Playback Queue for a Future Event
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9679054B2 (en) 2014-03-05 2017-06-13 Sonos, Inc. Webpage media playback
US10587693B2 (en) 2014-04-01 2020-03-10 Sonos, Inc. Mirrored queues
US20150324552A1 (en) 2014-05-12 2015-11-12 Sonos, Inc. Share Restriction for Media Items
US20150356084A1 (en) 2014-06-05 2015-12-10 Sonos, Inc. Social Queue
US9874997B2 (en) 2014-08-08 2018-01-23 Sonos, Inc. Social playback queues
US9959087B2 (en) 2014-09-24 2018-05-01 Sonos, Inc. Media item context from social media
US9723038B2 (en) 2014-09-24 2017-08-01 Sonos, Inc. Social media connection recommendations based on playback information
US9860286B2 (en) 2014-09-24 2018-01-02 Sonos, Inc. Associating a captured image with a media item
US9667679B2 (en) 2014-09-24 2017-05-30 Sonos, Inc. Indicating an association between a social-media account and a media playback system
WO2016049342A1 (en) 2014-09-24 2016-03-31 Sonos, Inc. Social media connection recommendations based on playback information
US9690540B2 (en) 2014-09-24 2017-06-27 Sonos, Inc. Social media queue
US10645130B2 (en) 2014-09-24 2020-05-05 Sonos, Inc. Playback updates
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
US10303422B1 (en) 2016-01-05 2019-05-28 Sonos, Inc. Multiple-device setup
US9886234B2 (en) 2016-01-28 2018-02-06 Sonos, Inc. Systems and methods of distributing audio to one or more playback devices
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
CN107168790B (zh) * 2017-03-31 2020-04-03 北京奇艺世纪科技有限公司 一种作业的调度方法及装置
CN110535706B (zh) * 2019-09-02 2022-03-01 成都吉胜科技有限责任公司 一种基于局域网的自动协同调度方法
CN112711235B (zh) * 2020-12-29 2022-05-10 浙江中控技术股份有限公司 一种工业控制系统令牌调度时间自适应的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4724517A (en) * 1982-11-26 1988-02-09 Inmos Limited Microcomputer with prefixing functions
EP0183877B1 (en) * 1984-11-30 1990-08-16 Inmos Limited Microcomputer for time dependent processes

Also Published As

Publication number Publication date
WO1999061985A1 (en) 1999-12-02
CN1303497A (zh) 2001-07-11
DE69909791D1 (de) 2003-08-28
DE69909791T2 (de) 2004-04-22
CA2331860A1 (en) 1999-12-02
EP1084470B1 (en) 2003-07-23
EP1084470A1 (en) 2001-03-21
ATE245833T1 (de) 2003-08-15

Similar Documents

Publication Publication Date Title
JP2002517035A (ja) リアルタイムスケジューリングロジックおよび時間確定的アーキテクチャを使用する分散コンピューティング環境
US6748451B2 (en) Distributed computing environment using real-time scheduling logic and time deterministic architecture
Ramamritham et al. Scheduling algorithms and operating systems support for real-time systems
Righter et al. Distributed simulation of discrete event systems
EP0069438B1 (en) A multiprocessor system, a system and method for intercommunicating between processors, a system for effecting data transfer, a system for controlling routing of messages, and an arrangement for ascertaining a global state of readiness of a system
EP1244963B1 (en) Task scheduling and message passing
Fohler Flexibility in statically scheduled hard real-time systems
US9733997B2 (en) Event management method and distributed system
Kaudel A literature survey on distributed discrete event simulation
CN103716397A (zh) 一种面向服务仿真时钟推进方法
Singh et al. A non-database operations aware priority ceiling protocol for hard real-time database systems
JP2000259429A (ja) タイマー管理装置および方法
JP2651473B2 (ja) マルチプロセッサ・システムにおけるメッセージの通信制御方法
Hsia et al. Screen-based scenario generator: A tool for scenario-based prototyping
US7260611B2 (en) Multi-leader distributed system
Holler Chapter 13. Multiple copy update
Rizvi et al. An efficient optimistic time management algorithm for discrete-event simulation system
Nguyen et al. Design and analysis of semaphore precedence constraints: A model-based approach for deterministic communications
Seceleanu et al. Device allocation on the SegBus platform based on communication scheduling cost minimization
Halang Achieving jitter-free and predictable real-time control by accurately timed computer peripherals
MXPA00011694A (en) Distributed computing environment using real-time scheduling logic and time deterministic architecture
Shin et al. Message communications in a distributed real-time system with a polled bus
Kim Timing analysis in existing and emerging cyber physical systems
CN116541143A (zh) 一种具有时延确定性的多处理器嵌入式系统的实现方法
Leifsson Analyzing different scheduling policies in Natjam using Timed Rebeca