JP2000284980A - マルチタスクシステムおよびマルチタスクシステムにおけるメッセージ伝送スケジューリング方法 - Google Patents

マルチタスクシステムおよびマルチタスクシステムにおけるメッセージ伝送スケジューリング方法

Info

Publication number
JP2000284980A
JP2000284980A JP11361211A JP36121199A JP2000284980A JP 2000284980 A JP2000284980 A JP 2000284980A JP 11361211 A JP11361211 A JP 11361211A JP 36121199 A JP36121199 A JP 36121199A JP 2000284980 A JP2000284980 A JP 2000284980A
Authority
JP
Japan
Prior art keywords
real
time
priority
task
message
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
JP11361211A
Other languages
English (en)
Inventor
Chia Shen
チャ・シェン
Oscar J Gonzalez Gomez
オスカー・ジェイ・ゴンザレス・ゴメス
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.)
Mitsubishi Electric Information Technology Corp
Mitsubishi Electric Research Laboratories Inc
Original Assignee
Mitsubishi Electric Information Technology Corp
Mitsubishi Electric Research Laboratories Inc
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 Mitsubishi Electric Information Technology Corp, Mitsubishi Electric Research Laboratories Inc filed Critical Mitsubishi Electric Information Technology Corp
Publication of JP2000284980A publication Critical patent/JP2000284980A/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
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Abstract

(57)【要約】 【課題】 アルタイム機能を持たない標準型のものでも
ユーザがアクティビティのリアルタイムスケジューリン
グを指定できるマルチタスクシステムを得る。 【解決手段】 複数の優先順位バンドにおいて昇順に並
べられた多重優先順位を有するリアルタイム及び非リア
ルタイムメッセージを作成するライタ・タスクでありリ
アルタイムメッセージが所定のタイミング・デッドライ
ンを有するようにしたライタ・タスク112と、ポイン
タを用いてメッセージに索引を付ける複数の待ち行列で
あって優先順位バンドごとに一つの待ち行列がある複数
の待ち行列311〜と、タイミング・デッドラインに依
存するタイムアウト信号に呼応しより低い優先順位待ち
行列からより高い優先順位待ち行列までポインタを動か
すディスパッチャ310と、ポインタが索引を付けたメ
ッセージを多重優先順位に従って伝送するデータプッシ
ュ・エージェント113を含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、マルチタスク・
コンピュータシステムに関するもので、より詳しくは、
ネットワーク上で相互に交信するリアルタイムタスクの
ユーザレベル・スケジューリングに係わる、マルチタス
クシステムおよびマルチタスクシステムにおけるメッセ
ージ伝送スケジューリング方法に関するものである。
【0002】
【従来の技術】リアルタイム適用業務、例えば、プロセ
ス制御、工場自動化技術、プラント制御等では、標準型
で、市販の、より汎用のコンピュータ、オぺレーティン
グシステム(OS)、及びネットワークを使用する動きが
起こりつつあることが明らかになった。言い換えると、
ユーザは、自分の適用業務を廉価ですぐに手に入る出来
合いのハードウェア及びソフトウェア・コンポーネント
で実現することの方を好むはずである。
【0003】例えば、ユーザは高価なワークステーショ
ンを出来合いのパソコンと取り換えたいであろう。ユー
ザは又、リアルタイム制御用に標準型のパソコン・オぺ
レーティングシステムを採用したいであろう。制御ネッ
トワーク用にインターネット・プロトコル(IP)を使お
うという勢いも増してきている。制御及び装置レベルの
ネットワークとして、汎用IPベース・ネットワーク
は、工業用フィールドバスに比べて、費用とサポートの
点で有利である。
【0004】更に、ますます多くのデスクトップ適用業
務がリアルタイム要素、例えば、ビデオストリーム等の
連続媒体のプレゼンテーションや、遠隔地学習環境にお
ける器具及び装置の遠隔制御等を使用し始めている。広
範なリアルタイムタスクのために汎用コンポーネントを
使おうとするこの潜在能力は、現代の多くの汎用オペレ
ーティングシステムに対して、最低程度のリアルタイム
スケジューリング及びプログラミングのサポートするよ
う促している。
【0005】しかしながら、出来合いのハードウェア及
びソフトウェア・コンポーネントを用いて、リアルタイ
ム機能性を持つ分散型システムを構築しようとすること
には、まだ問題がある。これは主として、出来合いのコ
ンポーネントが必ずしもリアルタイム機能性を想定して
設計されてはいないという事実によるものである。特
に、例えば終端間予測可能性を実現するために、一つの
コンピュータにおけるプロセスが、ネットワークを通じ
て別のコンピュータにおけるプロセスにデータを送ると
き、特定の問題がいくつか起こる。
【0006】リアルタイム適用業務要件は、システムの
スケジューリング可能なエンティティ、すなわちタスク
に課せられた要件にマップしなければならない。優先順
位逆転、OSレベル・リアルタイムスケジューリングに
対する不十分なサポート、及び限られた優先順位の数の
可能性があるにもかかわらず、タスクの予測可能な実行
が保証されなければならない。リアルタイム及び非リア
ルタイムタスクがハードウェア環境の中で統合されなけ
ればならない。
【0007】従来技術では、リアルタイムタスクと非リ
アルタイムタスクとを統合するためのスケジューリング
・サポートが実施されたのは、現存のオペレーティング
システムを拡大するか、又は基盤を成すハードウェアを
仮想化して、オペレーティングシステムによりリアルタ
イムカーネルを多重化することによってであった。これ
らのアプローチはいくつかの欠点を持つ。第一のアプロ
ーチは、現存のオペレーティングシステムを修正するこ
とを必要とする。しかしながら、オペレーティングシス
テムの原始プログラムへのアクセスが必ずしも利用でき
ない。第二のアプローチでは、密接に関連し合うリアル
タイム及び非リアルタイム・アクティビティの両方をサ
ポートするのは難しい。例えば、プロセスに係わる多重
実行スレッドがあったり、タスクが共通のアドレス空間
を共有することを必要とする場合等がそうである。
【0008】現世代のオペレーティングシステムは、非
低下優先順位やリアルタイムスレッド等のリアルタイム
スケジューリングをいくらかサポートするバージョンを
作り出した。より旧い世代のオペレーティングシステム
には、このようなスケジューリング機能に対するサポー
ト策が存在しない。例えば、Windows NT 4.0は、スレッ
ドが非低下優先順位を持つようなREALTIME クラスを提
供する。
【0009】このクラスにおける実行スレッドは、時分
割スレッドよりも優先順位が高い。これらの新しいバー
ジョンは、タイマに1ミリセカンドの細分性を与えるこ
とや、リアルタイム周期的タスクに使用できる周期的コ
ールバック・ルーチンを提供することも行なっている。
リアルタイム適用業務は、タスクが予測可能で制限され
た時変性(variability in time)を伴ってスケジュール
され,実行され、成し遂げられることを必要とする。実
際には、予測可能性は種々の細分性(granularities)と
なる。
【0010】リアルタイムタスクのスペクトル(遅延限
界の分布範囲)の一方の端において、ローカルループ制
御器、埋め込み制御器、及びPLCによるロボット、装
置、及び器具に対する直接的な物理的制御は、サブミリ
セカンド乃至1ミリセカンドの遅延限界を要求すること
ができる。残念なことに、多くのオペレーティングシス
テムに存在する非決定主義の影響で、ユーザレベル・ス
ケジューリングを、サブミリセカンドの精度でリアルタ
イムタスクに対応するよう設計するのは非実際的であ
る。この種のタスクは、リアルタイムカーネルによっ
て、よりよく処理される。
【0011】リアルタイムタスクのスペクトルのもう一
方の端において、ビデオオンデマンド・ファイルサーバ
や、財政的タスク用のデータベース処理にとっては、最
大遅延、すなわち1秒というデッドライン値は十分な値
である。これらのタスクは、現存のオペレーティングシ
ステム基本命令で直接に構築することができる。
【0012】リアルタイムタスクのスペクトルの中間に
は、何十ミリセカンド乃至何百ミリセカンドの範囲の終
端間往復遅延/応答時間を許容できるリアルタイムタス
クのの大きな母集団がある。これらのタスクは、遠隔デ
ータ収集、ビデオモニタリング、ファイルアクセス等と
ユーザとの相互作用、及びビデオを見て遠距離装置をモ
ニタし制御するための命令送出を含むことが多い。
【0013】
【発明が解決しようとする課題】以上のように従来、リ
アルタイム機能を備える必要のない標準型の出来合いの
コンポーネントで構成されているシステムの場合でも、
ユーザがアクティビティのリアルタイムスケジューリン
グを指定することができるシステムが求められていると
いう課題があった。
【0014】本発明の目的は、システムが必ずしもリア
ルタイム機能を備えない標準型の出来合いのコンポーネ
ントで構成されている場合でも、ユーザがアクティビテ
ィのリアルタイムスケジューリングを指定できるような
マルチタスクシステムおよびマルチタスクシステムにお
けるメッセージ伝送スケジューリング方法を提供するこ
とにある。
【0015】
【課題を解決するための手段】上記の目的に鑑み、この
発明は、複数の優先順位バンドにおいて昇順に並べられ
た多重優先順位を有するリアルタイム及び非リアルタイ
ムメッセージを作成するライタ・タスクであって、前記
リアルタイムメッセージが所定のタイミング・デッドラ
インを有するようにしたライタ・タスクと、ポインタを
用いて前記メッセージに索引を付けるための複数の待ち
行列であって、優先順位バンドごとに一つの待ち行列が
あるようにした複数の待ち行列と、前記タイミング・デ
ッドラインに依存するタイムアウト信号に呼応して、よ
り低い優先順位待ち行列から、より高い優先順位待ち行
列までポインタを動かすディスパッチャと、ポインタが
索引を付けたメッセージを、前記多重優先順位に従って
伝送するデータプッシュ・エージェントと、を含むこと
を特徴とするマルチタスクシステムにある。
【0016】また、伝送されたメッセージを受信するリ
ーダ・タスクを含むことを特徴とする請求項1に記載の
マルチタスクシステムにある。
【0017】また、四つの優先順位バンドと、第一、第
二、第三、及び第四の待ち行列とがあり、前記リアルタ
イムメッセージは前記第一、第二、及び第四の待ち行列
におけるポインタによって索引を付けられ、前記非リア
ルタイムメッセージは前記第三の待ち行列におけるポイ
ンタによって索引を付けられることを特徴とする請求項
1に記載のマルチタスクシステムにある。
【0018】また、前記メッセージが一定のサイズを有
することを特徴とする請求項1に記載のマルチタスクシ
ステムにある。
【0019】また、前記ライタ・タスク及びリーダ・タ
スクが、ネットワークによって接続された種々のコンピ
ュータシステムで実行することを特徴とする請求項2に
記載のマルチタスクシステムにある。
【0020】また、前記メッセージが、リフレクティブ
・メモリのリングバッファに格納されることを特徴とす
る請求項1に記載のマルチタスクシステムにある。
【0021】また、各待ち行列は、それがメッセージを
格納しているかどうかを決定するためにフラグを立てる
ことを特徴とする請求項1に記載のマルチタスクシステ
ムにある。
【0022】また、前記タイムアウト信号が、前記ディ
スパッチャのコールバック機構によって起動されること
を特徴とする請求項3に記載のマルチタスクシステムに
ある。
【0023】また、前記ライタ・タスク及びリーダ・タ
スクを位置合わせするとともに、前記リング・バッファ
を割り当てるためのマネージャを更に含むことを特徴と
する請求項6に記載のマルチタスクシステムにある。
【0024】また、前記非リアルタイムメッセージが、
ラウンドロビン・スケジューリングを用いて伝送される
ことを特徴とする請求項1に記載のマルチタスクシステ
ムにある。
【0025】また、同期ブロッキング・リアルタイムメ
ッセージは前記第一の優先順位バンドに割り当てられ、
非同期非ブロッキング・リアルタイムメッセージは前記
第二の優先順位バンドに割り当てられ、非リアルタイム
メッセージは前記第三の優先順位バンドに割り当てられ
ることを特徴とする請求項3に記載のマルチタスクシス
テムにある。
【0026】また、前記メッセージを伝送しながらタイ
ミングデータを収集するためのプロファイラを含むこと
を特徴とする請求項1に記載のマルチタスクシステムに
ある。
【0027】また、複数の優先順位バンドにおいて昇順
に並べられた多重優先順位を有するリアルタイム及び非
リアルタイムメッセージを作成し、前記リアルタイムメ
ッセージが所定のタイミング・デッドラインを有してい
るステップと、ポインタを用いて前記メッセージに索引
を付け、優先順位バンドごとに一つの待ち行列があるよ
うになっているステップと、前記タイミング・デッドラ
インに依存するタイムアウト信号に呼応して、より低い
優先順位待ち行列から、より高い優先順位待ち行列まで
ポインタを動かすステップと、ポインタが索引を付けた
メッセージを、前記多重優先順位に従って伝送するステ
ップと、を含むことを特徴とするマルチタスクシステム
におけるメッセージ伝送スケジューリング方法にある。
【0028】上記課題を解決するため、本発明は、多重
タスク分散型コンピュータシステムにリアルタイム及び
非リアルタイムメッセージ伝送のユーザレベル・スケジ
ューリングを提供する。リアルタイムメッセージは、所
定のタイミング・デッドラインを持っている。少なくと
も一つのライタ・タスクがリアルタイム及び非リアルタ
イムメッセージを作成する。メッセージは、複数、例え
ば四つの優先順位バンドで構成された多重優先順位を持
ち得る。作成されたメッセージは、リフレクティブ・メ
モリ(reflective memory)のリングバッファ(ring buffe
rs)に格納され、待ち行列エントリに格納されたポイン
タによって索引を付けられる。第四待ち行列におけるポ
インタは、低優先順位を持つリアルタイムメッセージに
索引を付ける。第三待ち行列におけるポインタは、非リ
アルタイムメッセージに索引を付ける。第一及び第二待
ち行列は、それぞれ、高優先順位および最高優先順位リ
アルタイムメッセージに索引を付けるためのポインタを
格納する。
【0029】ディスパッチャが、タイムアウト信号に呼
応して、ポインタを第四待ち行列から第二待ち行列まで
動かす。タイムアウト信号は、タイミング・デッドライ
ンに間に合ったことを保証する。データプッシュ・エー
ジェントが、関係する優先順位に基づく待ち行列におけ
るポインタによって索引を付けられたメッセージを伝送
する。リーダ・タスクが、データプッシュ・エージェン
トによって伝送されたメッセージを受け取る。
【0030】本発明の一態様では、ライタ・タスクとリ
ーダ・タスクとは、システムの種々のノードで実行し、
これらのノードはネットワークによって連結される。
【0031】
【発明の実施の形態】図1は、本発明によるユーザレベ
ル・スケジューリングを利用する分散型コンピュータシ
ステム100を示す。このシステム100は、ネットワ
ーク130によってリーダ・ノード120に連結された
ライタ・ノード110を含む。
【0032】ライタ・ノード110は、ライタ・メモリ
111、ライタ・タスク112、及びデータプッシュ・
エージェント(DPA)113を含む。リーダ・ノード1
20は、これに対応するリーダ・メモリ121、リーダ
・タスク122、及びデータレシーブ・エージェント
(DRA)123を含む。本システムにおいては、メモリ
111,121は、Shen他によって1996年12月3
日に出願された米国特許出願番号08/760,110
「リアルタイム・チャネルベース・リフレクティブメモ
リ(Real-time Channel-Based Reflective Memory」に説
明されているような、反射的なものである。
【0033】システム100の動作中、データは、セン
サ等のリアルタイムデータ入力装置114から得ること
ができる。データは、ライタ・タスク112によってラ
イタ・メモリ111に書き込まれる。データは、DPA
113によって、ネットワーク130の仮想メモリ・チ
ャンネル131を通じてライタ・ノードからリーダ・ノ
ードに伝送される。データは、DRA123によって受
信される。リーダ・タスク122は、その局部的リフレ
クティブ・メモリ121からデータを読み取り、そのデ
ータをディスプレイ端末等のデータ出力装置124上に
描写する。
【0034】システム100は、同時実行のデータ伝送
動作を実施する多重ノード及びタスクを含み得ることに
注目すべきである。一つのライタ・タスクは、同時に多
重リーダ・タスクにデータを伝送することができるが、
リーダ・タスクの方は、一度に一つのライタ・タスクか
らデータを受信できるのみである。
【0035】ここでは、標準型で出来合いのハードウェ
ア及びソフトウェアコンポーネントを用いてシステム1
00を構築することの方を選ぶ。加えて、システムにオ
ペレーティング特性を持たせることが望まれる。残念な
がら、上述したように、出来合いのハードウェア及びソ
フトウェア・コンポーネントは、必ずしもリアルタイム
適用業務専用に設計されていない。特に、終端間予測可
能性を実現するために、ライタ・ノードがリーダ・ノー
ドデータを伝送している間に、いくつかの問題に取り組
まなければならない。
【0036】第一に、タスクのリアルタイム要件は、シ
ステムのスケジューリング可能なエンティティに課せら
れた要件にマップしなければならない。第二に、優先順
位逆転、オペレーティングシステムレベル・リアルタイ
ムスケジューリングに対する不十分なサポート、及び限
られた優先番号の可能性があるにもかかわらず、タスク
の予測可能な実行が保証されなければならない。第三
に、リアルタイム及び非リアルタイム・アクティビティ
がシステム内で統合されなければならない。
【0037】これら困難な問題点に対する解決策を説明
する。特に、通信サーバ300を用いてユーザレベル・
リアルタイムスケジューリングを可能にする。ユーザレ
ベル・スケジューリングは実際的である。なぜならば、
このユーザレベル・スケジューリングは、今日一般に用
いられているオペレーティングシステムに見出され得る
簡単な基本命令に基づくからである。UDP/IPプロ
トコルを用いEthernet(イーサネット)ローカルエリアネ
ットワーク(LAN)によって接続されたWindows NT オ
ペレーティングシステムを実行するPC(パソコン)のた
めに、ユーザレベル・スケジューリングの実施の形態を
具体化した。
【0038】現代のオペレーティングシステム、例えば
NTTM,IRIXTM,SolarisTM等は、一般に次
のスケジューリング機能を含む:割り込み優先権ベース
のスケジューリング、ラウンドロビン・スケジューリン
グ、非低下優先順位、優先順位調整機構、及び周期的事
象をトリガしたり、スレッドの実行を解放したりするこ
とができる周期タイマ。
【0039】リアルタイムスケジューリングという目的
に対して、これらの機能にはいくつかの問題点がある。
一般に、プロセス又はスレッドの実行の間には優先権継
承はなく、又、ユーザ・スレッドからシステムレベルや
ネットワークプロトコル・スタックスレッドへの優先権
トラッキングはない。
【0040】これらの欠点のせいで、ネットワーク通信
によるリアルタイム終端間予測可能スケジューリングは
極めて困難になる。例えば、「ソケット」レベル・コー
ルの実行の順序は、ソケット・コールを作成するスレッ
ドに割り当てられた優先順位を必ずしも考慮しない。こ
こで、ソケットという用語は、データを送信側から受信
側へ伝送する際に用いる実際の接続を説明するのに使わ
れる。
【0041】また、通常、優先順位の数は限られてい
る。これは、有り得る各リアルタイムタスクに唯一の優
先順位を割り当てることは必ずしも可能ではないことを
意味する。又、基本的な優先順位ベースのスケジューリ
ング以外に、タスクのタイミング制約を指定し、保証す
るための特定のサポートが不足している。これは、優先
順位割り当て策は、あらかじめタイミング制約を保証し
なければならないことを暗示する。
【0042】システム100で実行するタスクは、次の
データ転送特性のいずれかを持つことができる。散発的
にユーザが出すコマンドに応答するタスクのようないく
つかのタスクは、データをコマンドが作成された直後に
リーダ・タスクに伝送する必要があり、そのデータは受
信後直ちに読み取られる必要がある。
【0043】周期的にビデオ画像を収集して、表示する
タスクのような別のタスク、例えばセキュリティ監視シ
ステムでは、ライトとリーダとは自分のペースで実行す
ることができる。例えば、少なくとも正常な作動条件の
間、カメラは毎秒30コマの速度でデータを収集でき、
一方、ビデオは毎秒15コマの速度で表示することがで
きる。
【0044】あれこれと観察した結果に基づいて、シス
テムとユーザレベル・スケジューリングとがサポートし
なければならない次の基本的なデータ転送動作セットを
定義する。
【0045】データ送信動作 同期データ書き込み:データ送信動作はタスク・ライト
によってトリガされる。非同期データ書き込み:データ
は周期的に送信され、送信の周期はデータ書き込みの周
期とは無関係である。
【0046】データ受信動作 同期、又はブロッキング読み取り:リーダ・タスクの実
行は、ライタ・タスクからのデータの到着を待つ間、中
断される。データが到着したら、リーダ・タスクは動作
を再開し、受信データを処理せよとの信号を受ける。非
同期、又は非ブロッキング読み取り:リーダ・タスクの
実行は、連続的であってもよいが、受信データを検出す
る責任はリーダ・タスクにある。
【0047】ある意味では、同期及び非同期データ転移
モードは、それぞれ、事象ベース及び状態ベース・アプ
ローチに対応する。事象ベース・アプローチの場合は、
事象が起こると、各事象に対して反応が生じる。状態ベ
ース・アプローチの場合は、現在の状態に対して反応が
生じる。両モードが共存することを可能にする。
【0048】データ伝送動作の形式 種々のタイプのデータ転移動作を表Aにまとめて示す。
【0049】 表A 組合わせ データ・タイプ デッドライン タスク ――――――――――――――――――――――――――――――――――― SB 散発的 G 命令の送出 AN 周期的 G 傾向グラフ SB 散発的 G センサ・データ AN 周期的 G ビデオ SB 散発的 NG バックグラウンド
【0050】表Aにおいて、SB=同期ブロッキング、
AN=非同期非ブロッキング、G=保証付き、NG=保
証なし。
【0051】以下、本発明をより詳細に説明する。本発
明の態様は、タスク要件を、スケジューリング可能なエ
ンティティ、限られた優先順位の数を持つタスクの終端
間スケジューリングにマップすること、並びに標準型で
出来合いのハードウェア及びソフトウェア・コンポーネ
ントで構成された同一のシステムにおけるリアルタイム
と非リアルタイムタスクの両方に対処することを含む。
【0052】この発明のタスク要件マッピングは、通信
タスクによって課される優先順位の制約に対処するもの
である。
【0053】図2は、終端間計算及び通信に係わるコン
ポーネントを示す。終端間計算及び通信エンティティ
は、データをそれぞれ書き込み、読み取るタスク11
2、122、データをそれぞれ送信し、受信するエージ
ェント113,123、並びにその他のネットワークイ
ンタフェース及びネットワーク転送プロトコル130を
含む。
【0054】従って、特定のスケジュール項目は、ライ
トタスクとリードタスク、及びDPAとDRAである。
一般に、ユーザはネットワーク130を統轄できない。
二つの終端間スパンを識別することができる。第一のス
パン201はタスク対タスク(T対T)で、第二のスパン
202はメモリ対メモリ(M対M)である。スパンと関連
するのは、最大許容遅延、すなわちデッドライン、に対
する保証である。
【0055】タスク・アクティビティの一部、例えばコ
マンド制御は、T対T遅延(すなわちデッドライン(dead
line))保証を要求し、一方、他の部分、例えば傾向グラ
フは、M対M遅延保証を要求するのみである。T対T最
大遅延保証をサポートするために、タスク書き込みから
タスク読み取りまでの全タスクを、優先順位を制約され
たタスクグラフとしてスケジュールする。他方、M対M
最大遅延保証をサポートするために、タスク書き込みと
タスク読み取りとを独立にスケジュールする一方、タス
クの残り全部を、優先順位を制約された一組のタスクと
してスケジュールする。
【0056】定義上、同期データ書き込み動作及びブロ
ッキング読み取り動作は、関係するタスクの間に優先順
位制約を課し、一方、非同期データ書き込み動作及び非
ブロッキング読み取り動作は、独立のタスク・リプレゼ
ンテーションを当然サポートする。特に、同期動作に関
して、タスク書き込み動作とDPA113との間に、
又、ブロッキングモードに関して、DRA123とタス
ク読み取り動作との間に優先順位制約が存在する。
【0057】優先順位ベース・スケジューリングのサポ
ートのみを利用し、いかなるノードにおいても、T対T
及びM対Mスパン終端間スケジューリングを可能にする
ために、優先順位を制約されたタスクを、以下のよう
に、リリース・ジッタ(releasejitter)を持つ独立の周
期的タスクとしてモデル化する。
【0058】Jyをタスク・エンティティyとし、Cy
計算時間とすれば、スパンT対Tの場合には、
【0059】Jwrite=0, JDPA=Cwrite , JDRA=JDPA+CDPA+Cntwk、および Jread=JDRA+CDRA・
【0060】スパンM対Mの場合には、
【0061】Jwrite=0, Jread=0, JDPA=0, JDRA=CDPA+Cntwk
【0062】タスク・タイミング要件をシステム・スケ
ジュール可能コンポーネントにマップするために、次の
方法を取る。
【0063】ライタ及びリーダ・タスクが、それらの最
大許容遅延、同期及び非同期データ受信、並びにブロッ
キング又は非ブロッキングデータ検索要件を指定する。
【0064】表Aに関して、タイミング要件は、次のよ
うにマップされる。 (1)SBタスク:ライタ・タスクに関する周期および遅
延は、スパンT対Tについての他の全てのタスクのため
にも利用することができ、又、タスクのリリース・ジッ
タは、上記のように、T対Tの場合に従って計算され
る。 (2)ANタスク:ライタ及びリーダ・タスクは、独立の
周期及び遅延を持つ。エージェントタスクDPA及びD
RAは、リーダ・タスクの周期を使用し、一方、遅延は
次式のように決定される。
【0065】DDRA=Dread−CreadDPA=Dread−Cread−CDRA−Cntwk
【0066】ここで、Cは計算による時間遅延である。
【0067】それぞれのリリース・ジッタは、上記のよ
うに、M対Mの場合に従って計算される。実際のタイミ
ング計量に関する情報は、以下により詳しく説明するプ
ロファイラ(図1のP1,P2)によって収集することが
できる。
【0068】出来合いのコンポーネントを利用するこ
と、すなわち、送信/受信タスク優先順位の優先順位で
メッセージを処理し、優先順位の逆転を最小限に抑え、
限られたオペレーティングシステム優先順位を処理する
ことに伴う諸問題を処理するために「通信サーバ」を用
いる。極めて長い低優先順位のメッセージを伝送しなが
ら高優先順位のメッセージの伝送がブロックされる場合
には、優先順位の逆転が起こる。
【0069】本発明による優先順位割り当ては全て、次
のような関係を持つ四つの優先順位バンドになる:P
one>Ptwo>Pthree>Pfour。ここで、"one"は最高優
先順位バンドで、"four"は最低優先順位バンドである。
これらの四つの優先順位バンドが特定のオペレーティン
グシステム優先順位にマップされる態様は、利用できる
優先順位の数に依存する。これらの優先順位バンドの用
法は以下に詳述する。
【0070】図3は、本発明の推奨する実施の形態によ
る非同期サーバ300を示す。このサーバ300は、ソ
フトウェアプログラム及びライタ・ノード110におけ
るデータ構造体として具体化されている。サーバ300
は、ディスパッチャ310、マネージャ330、及びコ
ールバック機構340を含む。
【0071】サーバ300は、例えば、優先順位バンド
ごとに一つの多重待ち行列、すなわち四つの待ち行列3
11〜314も含む。データ待ち行列は、ライタの局部
的リフレクティブ・メモリに割り当てられる。待ち行列
におけるエントリは、伝送さるべき実際のメッセージに
対すポインタになり得る。つまり、待ち行列エントリに
おけるポインタは、メッセージとして伝送さるべき実際
のデータに索引を付ける。このエントリは、待ち行列内
で、データに係わる優先順位に従って分類することがで
きる。これによって、オペレーティングシステムで利用
できる優先順位の数が適用業務が要求する優先順位の数
よりも小さい場合の問題に対処することができる。実際
上、この通信サーバ300は速度制御器(rate controll
er)として機能する。
【0072】DPAはデータを、待ち行列を介して、優
先順位に従って送り出す。例えば、待ち行列311〜3
13のどれかにメッセージがある限り、メッセージは待
ち行列314を介しては送られないはずである。待ち行
列が空であるかどうかを決定するために、待ち行列31
1〜314の各々にフラグ(F)が立てられる。
【0073】サーバ300の動作中、リーダ・タスク及
びライタ・タスクは、マネージャ330とリクエスト3
01とを用いてサーバと「位置合わせ(register)」す
る。言い換えると、タスクは、マネージャ330を使っ
てサーバ300と付いたり離れたりする。マネージャは
データベース331を維持してタイミング情報やタスク
識別子(ID)等のタスク専用パラメータを格納する。
【0074】位置合わせプロセスは、上述のような最大
許容遅延を定義せよとの要求に関連する適切なタイマ・
パラメータ302を計算する。コールバック機構は、こ
のタイマ・パラメータを用いて、メッセージが高優先順
位で送り出される必要があるとき周期的昇格タイムアウ
ト信号303を発生するシステムレベル・タイマを起動
する。コールバック機構340とディスパッチャ310
との間の通信は、標準型オペレーティングシステム・メ
ッセージング基本命令を用いてもよい。
【0075】ライタ・タスクは、リングバッファ304
にデータを格納する。このリングバッファは、タスクか
らのリクエストに応じて、マネージャ330によってリ
フレクティブ・メモリ111に割り当てられる。以下に
説明するように、データは一定サイズのメッセージ35
0として、リングバッファ304に格納される。メッセ
ージに対するポインタが、優先順位Pone〜Pfour に応
じて、対応する待ち行列311〜314に格納される。
【0076】DPAは通常、優先順位バンドPfourにお
けるリアルタイムデータを、待ち行列314を介して送
り出す。本システムは、より高い優先順位バンドで実行
するタスクがない場合のみデータを送り出すようにスケ
ジュールする。非リアルタイムデータは、優先順位P
threeにおける標準型の静的ラウンドロビン・スケジュ
ーリングを用い、待ち行列313を介して送り出すこと
ができる。最高優先順位バンドPoneにおける非リアル
タイムデータは、常に待ち行列313を介して送り出さ
れる。
【0077】差し迫ったタイミング・デッドラインのた
めに、低い優先順位のリアルタイムデータが高い優先順
位に「昇格」される必要がある場合は、ディスパッチャ
は、ポインタを待ち行列314から待ち行列312へ動
かす(305)。これは、コールバック機構によって起動
され昇格タイムアウト信号303に呼応して行なわれ
る。
【0078】ディスパッチャ310とDPA113との
動作を分離すれば、高優先順位データプッシュ・リクエ
ストがサイズS0のメッセージを送り出している期間し
か優先順位逆転によるッブロッキングタイムを受けない
ことを確実なものとすることによって、ソケットすなわ
ち通信路のレベルにおける優先順位逆転を最小限に抑え
ることができる。メッセージサイズS0については以下
に説明する。
【0079】主な関心の対象は、ライタ・タスク、リー
ダ・タスク、及びDPA113である。DRA123
は、簡単な事象駆動型モデルを用いてスケジュールされ
る。すなわち、明示的には受信メッセージの優先順位の
責任を負わない。
【0080】終端間タイミング制約付きのタスクをサポ
ートするために、タスク優先順位とメッセージ送信優先
順位が一貫していることを確実なものにする。このよう
にすれば、高優先順位タスクのメッセージが低優先順位
タスクのメッセージの伝送によってブロックされないは
ずである。前に述べたように、汎用オペレーティングシ
ステムは、このような優先順位トラッキングをサポート
していない。この問題を改善するため、ソケットを通じ
ての通信のためのサーバ・ベースの方法を開発した。
【0081】サーバ300は、メッセージ伝送マネージ
ャである。ネットワーク通信は全てサーバによって処理
される。サーバは、メッセージ伝送を要求しているタス
クの優先順位を知っており、データをネットワークに送
り出すDPAを、優先順位トラッキングが達成されるよ
うな方法でスケジュールする。
【0082】多くのリアルタイム・スケジューラが、時
間の抽象的な概念に関してのみスケジュールし、単に
「機能」マネージャとして作動していることは注目に値
する。これに対し、この発明の通信サーバはデータ転送
をスケジュールするのみでなく、タスクの代表として実
際に通信を実施する。これによって、この発明のシステ
ムは、データ転送に関する優先順位逆転問題を改善でき
るようになる。
【0083】具体的には、ユーザレベル・インタフェー
スを提供して、タスクのタイミング及びデータメッセー
ジ要件を指定する。サーバはソケット設備を処理し、当
該指定に基づいてデータ伝送をスケジュールする。ユー
ザが、タイミング、データ、及びタスク間の諸関係、例
えば周期、速度(rate)、データサイズ、遅延、応答限
界、優先度関係などの点から、タスク・コンポーネント
の要件を指定できるようにすることは、タスク設計者に
対し彼らのタスクに相対的優先度を割り当てるように要
求することに比べて、はるかに直観的に分かりやすく、
且つ効果的な提案である。
【0084】ユーザが指定したリアルタイム要件は、サ
ーバ内で用いらるべき独特の優先順位に翻訳される。こ
の方法は、一般的なオペレーティングシステムによって
サポートされる限られた優先順位の数の問題を改善する
ものである。こうして、明確にこの発明のサーバ内でタ
スクの優先順位を割り当てて管理し、同時に、ユーザ
に、タスクタイミング、メッセージのサイズ及び優先
度、並びに同期化制約を指定する能力を与える。
【0085】要するに、この発明のサーバは優先順位逆
転の影響を最小限に抑え、限られたオペレーティングシ
ステム優先順位の数で優先順位トラッキングを処理し,
ユーザの指定したタイミング要件を可能にする。
【0086】この発明のサーバ300は、修正された二
重優先度スケジューリング手順を用いて、種々のリアル
タイム及び非リアルタイムタスク・アクティビティに対
処する。サポートさるべき一般的なアクティビティとし
ては、次のものが挙げられる。コマンド及び制御アクテ
ィビティの場合は、ユーザは散発的にコマンドを出し、
直ちにデータ伝送を必要とし、限られたデータ受信を遅
延させる。ビデオ/オーディオ・アプリケーションは、
低いジッタ表示でのデータ伝送を必要とする。装置及び
器具モニタリングの場合は、データは周期的に収集され
るが、警告等のいくつかの信号は、直ちに注意すること
を要求する。傾向グラフは、周期的なデータ収集及び伝
送、並びに周期的なデータ表示に頼る。大部分のバック
グラウンド・アクティビティは、最善の努力によるデー
タ伝送及び受信を要求するのみである。
【0087】こえらのタスクの中には、リアルタイム制
約を持つものもあり、リアルタイム要件を持たないもの
ものもある。リアルタイムタスクは、同期(S)、又は非
同期(A)データ伝送、及びブロッキング(B)又は非ブロ
ッキング(N)データ受信を要求する。一般に同期タスク
は、より差し迫った、時間が肝要なタスクを構成し、一
方、非同期タスクは、本質的に周期的なものである。非
リアルタイム・アクティビティは、最善の努力で対処す
ることができる。これらの知見に基づいて、タスクを一
組の独特の優先順位にマップする次の機構を各タスクタ
イプ、すなわちSBリアルタイム、ANリアルタイム、
及び非リアルタイムについてそれぞれ一つ開発した。
【0088】SBタスクは全て、Poneバンドが割り当
てられ、デッドライン単調アルゴリズムに基づく優先順
位を持つはずである。すなわち、Poneバンド内で、S
Bタスクは、そのデッドラインによって決定された独特
の優先順位を持つ。多くのタスク、例えばプラント・モ
ニタリングでは、システム内にこのようなエンティティ
は一つか二つあるだけである。
【0089】タイミング制約を持つANデータは全て、
最初、デッドライン単調アルゴリズムに基づく優先順位
fourバンドが割り当てられ、デッドラインが差し迫っ
たときPtwoに昇格される。非リアルタイムタスクは全
て、Pthreeバンドの優先順位が割り当てられる。これ
らの優先順位は、その所要実行速度に基づいて割り当て
るられるか、もしくは、タスクが速度を指定しないとき
ランダムに割り当てられ得る。
【0090】二重優先度スケジューリングは、タスクが
そのタイミング制約を守り損なわないと同時に、非リア
ルタイムタスクに対するシステムの応答性を改善するよ
うなタスクを実行する。これは、常にリアルタイムタス
クに高い方の優先順位を与えることとは対照的である。
上記目的で、各リアルタイムタスクは通常、非リアルタ
イムタスクに割り当てられている優先順位よりも低い優
先順位で実行する。
【0091】リアルタイムタスクが非リアルタイムタス
クに優先して実行する時がきたら、リアルタイムタスク
がそのデッドラインに遅れないように、リアルタイムタ
スクの優先順位を高めて、非リアルタイムタスクの上位
にくるようにする。このタイムは優先順位昇格タイムP
iと呼ばれるが、これはデッドラインDiを持つタスク
iの呼び出しごとに、次の公式化に従って決定され
る。この中でRiは応答時間、wiはブロッキング時間、
iはリリース・ジッタ、Cは全計算時間、そしてhp
(i) はTj よりも高い優先順位を持つタスクのセットで
ある。
【0092】 PTi =Di−Rii =wi+Jii m+1 =Ci+S0j∈hp(i)[(wi m+Jj)/Tj]Cj
【0093】ここで、繰り返しはwi 0=0、で始まり、
i m+1=wi m又はwi m+1>Diのときに終る。こうし
て、昇格タイムは、以下に説明するリリース・ジッタJ
i及び、より低い優先順位タスクからの一様サイズの伝
送によるある量のブロッキングタイムS0(これも以下に
説明)を考慮に入れる。
【0094】言い換えると、サーバは、二つの事象、す
なわち非リアルタイムタスクの処理要求の到着、又はリ
アルタイムタスクの昇格タイムの出現のうちの一つが起
こるまで、リアルタイムタスクを処理しながら、最低優
先順位Pfourで実行する。
【0095】非リアルタイムタスクの処理要求が到着し
たら、サーバの優先順位はPthreeまで上げられ得る。
そして、処理さるべき非リアルタイムタスクが少しでも
ある間は、もしくは一つ以上のリアルタイムタスクの昇
格タイムが出現するまでは、Pthreeに留まることがで
きる。一つ以上のリアルタイムタスクの昇格タイムが出
現したら、サーバの優先順位は、そのタスクがSBタス
クであるかANタスクであるかによって、PtwoかPone
まで上げられる。ある意味で、優先順位Poneは、Ptwo
バンドの上端にあると見なすことができる。
【0096】要するに、サーバは、全ての通信タスク
を、それぞれの周期性、データサイズ、及び優先順位に
応じて処理する。サーバは、タスクデータ通信が明確に
サーバ内でスケジュールされるような二重優先度アルゴ
リズムを実現するのである。
【0097】上述のようなサーバを用いても、低優先順
位のデータを伝送するのに要する時間の間、高優先順位
のデータが低優先順位のデータによってブロックされる
可能性が依然としてある。最悪の場合には、このブロッ
キング時間は、メッセージサイズが制限されていない場
合は極めて長くなる可能性がある。このブロッキング時
間を小さな量に制限するため、データを一定サイズのメ
ッセージとして伝送する。これによって、一定量の割り
込み優先(fixed preemption points)による伝送が可能
となる。こうすれば、高優先順位データは、一定サイズ
のメッセージを伝送するのに要する時間の間しかブロッ
クされないはずである。
【0098】特定のシステム構成にとって最適のメッセ
ージサイズは、経験的に、例えばプロファイラによって
決定することができる。メッセージサイズは、計算時間
と伝送時間とから成る非プリエンプティ単位としての役
を果す。したがって、S0項は単位メッセージサイズ
か、又はこのサイズのメッセージを送受信するのに要す
る時間としての役を果たす。送り出されるデータは全
て、単位サイズS0のメッセージの形にまとめられる。
【0099】リアルタイムタスクを処理するためには、
スケジュラが有効であるための計算時間、通信オーバヘ
ッド、及び伝播遅延を知る必要がある。この発明の解決
策は、この発明のスケジュラを用いる特定のノードにお
けるシステム設定時間においてプロファイリングを利用
することである。プロファイラは、データがオペレーシ
ョンシステム内で転送されているときにタイミング情報
を収集する二つのタスクを含む。
【0100】第一のタスク(図1におけるP1)は、ネッ
トワークにおける種々のエンティティ、例えば個々のタ
スクやエージェント、の終端間タイミングパラメータを
決定する。その他の収集可能なプロファイリングデータ
としては、メモリ対メモリ往復時間、非同期DPAサー
バ・スケジュラの計算時間及びオーバヘッド、データ通
路の各ステージに発生するジッタ、呼び出しを完成し書
き込むための時間、データを送るための時間、メッセー
ジの最適サイズ等が挙げられる。第二のプロファイラ・
タスク(P2)は、リーダ・ノードにおける処理量を決定
することができる。この情報は、メモリ割り当てを調整
するのに利用することができる。
【0101】以上要約すると、この発明は、リアルタイ
ムタスクと非リアルタイムタスクの両方が、標準型で出
来合いのハードウェア及びソフトウェアコンポーネンで
同時に実行できるようにするシステムを提供した。本シ
ステムは、特定のプロセッサ速度についての先験的な知
識も、ネットワーク伝播遅延に関する知識も必要としな
い。特に、実際的であり、又、今日一般的に用いられて
いるオぺレーティングシステムの大部分に見出され得る
簡単な基本命令を基にした通信タスク用のユーザレベル
・スケジューリング方式を提供する。このスケジューリ
ング方式は、サーバ・ベースの実行、メッセージ通信の
速度制御、及び二重優先順位スケジューリングの組み合
わせから成る。更に、リアルタイム・アクティビティを
予測可能的にスケジュールするためには、最悪ケースの
実行時間を要することがよく分かった。これらの実行時
間を求めるために、この発明は、実行時間とサーバコン
ポーネント用のメッセージ遅延パラメータとを抽出する
ためにスケジュラ・サポートと併せてプロファイラを提
供する。
【0102】本発明を特定の用語と実例を用いて説明し
た。本発明の精神と範囲内で種々の改造や修正が実施可
能であることを理解すべきである。従って、本特許請求
の範囲の目的は、本発明の真の精神と範囲とに合致する
そのような改造や修正の全てを包含することにある。
【0103】
【発明の効果】以上のようにこの発明によれば、複数の
優先順位バンドにおいて昇順に並べられた多重優先順位
を有するリアルタイム及び非リアルタイムメッセージを
作成するライタ・タスクであって、前記リアルタイムメ
ッセージが所定のタイミング・デッドラインを有するよ
うにしたライタ・タスクと、ポインタを用いて前記メッ
セージに索引を付けるための複数の待ち行列であって、
優先順位バンドごとに一つの待ち行列があるようにした
複数の待ち行列と、前記タイミング・デッドラインに依
存するタイムアウト信号に呼応して、より低い優先順位
待ち行列から、より高い優先順位待ち行列までポインタ
を動かすディスパッチャと、ポインタが索引を付けたメ
ッセージを、前記多重優先順位に従って伝送するデータ
プッシュ・エージェントと、を含むマルチタスクシステ
ムとしたので、システムが必ずしもリアルタイム機能を
備えない標準型の出来合いのコンポーネントで構成され
ている場合でも、ユーザがアクティビティのリアルタイ
ムスケジューリングを指定できるようなマルチタスクシ
ステムおよびマルチタスクシステムにおけるメッセージ
伝送スケジューリング方法を提供できる。
【図面の簡単な説明】
【図1】 この発明によるユーザレベル・スケジューリ
ングを利用する分散型コンピュータシステムのブロック
図である。
【図2】 終端間データ通信路のブロック図である。
【図3】 この発明による通信サーバのブロック図であ
る。
【符号の説明】
100 コンピュータシステム、111 ライタ・メモ
リ(リフレクティブ・メモリ)、121 リーダ・メモリ
(リフレクティブ・メモリ)、112 ライタ・タスク、
113 データプッシュ・エージェント(DPA)、12
2 リーダ・タスク、123 データ受信エージェント
(DRA)、130 ネットワーク、300 サーバ、3
03 タイムアウト信号、304 リングバッファ、3
10ディスパッチャ、311〜314 待ち行列、33
0 マネージャ、340 コールバック機構、350
メッセージ。
───────────────────────────────────────────────────── フロントページの続き (71)出願人 597067574 201 BROADWAY, CAMBRI DGE, MASSACHUSETTS 02139, U.S.A. (72)発明者 チャ・シェン アメリカ合衆国、マサチューセッツ州、ア ーリントン、アパッチ・トレイル 3 (72)発明者 オスカー・ジェイ・ゴンザレス・ゴメス アメリカ合衆国、マサチューセッツ州、ア ムハースト、セーレム・プレイス 45

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 複数の優先順位バンドにおいて昇順に並
    べられた多重優先順位を有するリアルタイム及び非リア
    ルタイムメッセージを作成するライタ・タスクであっ
    て、前記リアルタイムメッセージが所定のタイミング・
    デッドラインを有するようにしたライタ・タスクと、 ポインタを用いて前記メッセージに索引を付けるための
    複数の待ち行列であって、優先順位バンドごとに一つの
    待ち行列があるようにした複数の待ち行列と、 前記タイミング・デッドラインに依存するタイムアウト
    信号に呼応して、より低い優先順位待ち行列から、より
    高い優先順位待ち行列までポインタを動かすディスパッ
    チャと、 ポインタが索引を付けたメッセージを、前記多重優先順
    位に従って伝送するデータプッシュ・エージェントと、
    を含むことを特徴とするマルチタスクシステム。
  2. 【請求項2】 伝送されたメッセージを受信するリーダ
    ・タスクを含むことを特徴とする請求項1に記載のマル
    チタスクシステム。
  3. 【請求項3】 四つの優先順位バンドと、第一、第二、
    第三、及び第四の待ち行列とがあり、前記リアルタイム
    メッセージは前記第一、第二、及び第四の待ち行列にお
    けるポインタによって索引を付けられ、前記非リアルタ
    イムメッセージは前記第三の待ち行列におけるポインタ
    によって索引を付けられることを特徴とする請求項1に
    記載のマルチタスクシステム。
  4. 【請求項4】 前記メッセージが一定のサイズを有する
    ことを特徴とする請求項1に記載のマルチタスクシステ
    ム。
  5. 【請求項5】 前記ライタ・タスク及びリーダ・タスク
    が、ネットワークによって接続された種々のコンピュー
    タシステムで実行することを特徴とする請求項2に記載
    のマルチタスクシステム。
  6. 【請求項6】 前記メッセージが、リフレクティブ・メ
    モリのリングバッファに格納されることを特徴とする請
    求項1に記載のマルチタスクシステム。
  7. 【請求項7】 各待ち行列は、それがメッセージを格納
    しているかどうかを決定するためにフラグを立てること
    を特徴とする請求項1に記載のマルチタスクシステム。
  8. 【請求項8】 前記タイムアウト信号が、前記ディスパ
    ッチャのコールバック機構によって起動されることを特
    徴とする請求項3に記載のマルチタスクシステム。
  9. 【請求項9】 前記ライタ・タスク及びリーダ・タスク
    を位置合わせするとともに、前記リング・バッファを割
    り当てるためのマネージャを更に含むことを特徴とする
    請求項6に記載のマルチタスクシステム。
  10. 【請求項10】 前記非リアルタイムメッセージが、ラ
    ウンドロビン・スケジューリングを用いて伝送されるこ
    とを特徴とする請求項1に記載のマルチタスクシステ
    ム。
  11. 【請求項11】 同期ブロッキング・リアルタイムメッ
    セージは前記第一の優先順位バンドに割り当てられ、非
    同期非ブロッキング・リアルタイムメッセージは前記第
    二の優先順位バンドに割り当てられ、非リアルタイムメ
    ッセージは前記第三の優先順位バンドに割り当てられる
    ことを特徴とする請求項3に記載のマルチタスクシステ
    ム。
  12. 【請求項12】 前記メッセージを伝送しながらタイミ
    ングデータを収集するためのプロファイラを含むことを
    特徴とする請求項1に記載のマルチタスクシステム。
  13. 【請求項13】 複数の優先順位バンドにおいて昇順に
    並べられた多重優先順位を有するリアルタイム及び非リ
    アルタイムメッセージを作成し、前記リアルタイムメッ
    セージが所定のタイミング・デッドラインを有している
    ステップと、 ポインタを用いて前記メッセージに索引を付け、優先順
    位バンドごとに一つの待ち行列があるようになっている
    ステップと、 前記タイミング・デッドラインに依存するタイムアウト
    信号に呼応して、より低い優先順位待ち行列から、より
    高い優先順位待ち行列までポインタを動かすステップ
    と、 ポインタが索引を付けたメッセージを、前記多重優先順
    位に従って伝送するステップと、 を含むことを特徴とするマルチタスクシステムにおける
    メッセージ伝送スケジューリング方法。
JP11361211A 1999-01-28 1999-12-20 マルチタスクシステムおよびマルチタスクシステムにおけるメッセージ伝送スケジューリング方法 Pending JP2000284980A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/239583 1999-01-28
US09/239,583 US6490611B1 (en) 1999-01-28 1999-01-28 User level scheduling of inter-communicating real-time tasks

Publications (1)

Publication Number Publication Date
JP2000284980A true JP2000284980A (ja) 2000-10-13

Family

ID=22902798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11361211A Pending JP2000284980A (ja) 1999-01-28 1999-12-20 マルチタスクシステムおよびマルチタスクシステムにおけるメッセージ伝送スケジューリング方法

Country Status (3)

Country Link
US (1) US6490611B1 (ja)
EP (1) EP1024429A3 (ja)
JP (1) JP2000284980A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278862A (ja) * 2001-03-21 2002-09-27 Q'z Creative Co Ltd プッシュ型情報配信方法、プッシュ型情報配信用プログラム、及びプッシュ型情報配信装置、記憶媒体
JP2009151685A (ja) * 2007-12-21 2009-07-09 Fujitsu Ltd ディスクアレイ装置管理システム、ディスクアレイ装置、ディスクアレイ装置の制御方法および管理サーバ
JP2018045638A (ja) * 2016-09-16 2018-03-22 株式会社東芝 情報処理装置、情報処理方法及びプログラム

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000305796A (ja) * 1999-04-22 2000-11-02 Hitachi Ltd 電子計算機間のジョブ転送方法およびジョブ転送システム
US6625639B1 (en) * 1999-10-20 2003-09-23 International Business Machines Corporation Apparatus and method for processing a task in a clustered computing environment
US6658449B1 (en) * 2000-02-17 2003-12-02 International Business Machines Corporation Apparatus and method for periodic load balancing in a multiple run queue system
US6748593B1 (en) * 2000-02-17 2004-06-08 International Business Machines Corporation Apparatus and method for starvation load balancing using a global run queue in a multiple run queue system
US7165134B1 (en) * 2000-06-28 2007-01-16 Intel Corporation System for selectively generating real-time interrupts and selectively processing associated data when it has higher priority than currently executing non-real-time operation
JP3584859B2 (ja) * 2000-06-29 2004-11-04 日本電気株式会社 パケットスケジューリング装置
JP3803707B2 (ja) 2000-12-28 2006-08-02 フューチャーシステムコンサルティング株式会社 フレームワークシステム
US7411966B2 (en) 2001-03-16 2008-08-12 Siemens Aktiengesellschaft Method and system for coupling data networks
US6976072B2 (en) * 2001-03-30 2005-12-13 Sharp Laboratories Of America, Inc. Method and apparatus for managing job queues
US7373644B2 (en) * 2001-10-02 2008-05-13 Level 3 Communications, Llc Automated server replication
AU2002358953A1 (en) * 2001-12-10 2003-06-23 Virtual Locality Ltd. Apparatus and method for optimized and secured reflection of network services to remote locations
US7733888B2 (en) * 2002-06-04 2010-06-08 Alcatel-Lucent Usa Inc. Pointer allocation by prime numbers
US7210070B2 (en) * 2003-07-11 2007-04-24 Unisys Corporation Maintenance interface unit for servicing multiprocessor systems
US20050147130A1 (en) * 2003-12-23 2005-07-07 Intel Corporation Priority based synchronization of data in a personal area network
US7594227B2 (en) * 2004-03-08 2009-09-22 Ab Initio Technology Llc Dependency graph parameter scoping
US8789051B2 (en) 2004-11-18 2014-07-22 Hamilton Sundstrand Corporation Operating system and architecture for embedded system
US7742581B2 (en) 2004-11-24 2010-06-22 Value-Added Communications, Inc. Electronic messaging exchange
JP4667859B2 (ja) * 2004-12-28 2011-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーション エージェントの、メッセージ処理装置、メッセージ処理方法、及びメッセージ処理プログラム
US9876915B2 (en) 2005-01-28 2018-01-23 Value-Added Communications, Inc. Message exchange
US20060171310A1 (en) * 2005-02-03 2006-08-03 Utstarcom, Inc. Method and system of consolidating mobile IP messages within a network
US7802256B2 (en) * 2005-06-27 2010-09-21 Microsoft Corporation Class scheduler for increasing the probability of processor access by time-sensitive processes
US7657671B2 (en) * 2005-11-04 2010-02-02 Sun Microsystems, Inc. Adaptive resilvering I/O scheduling
CN100440871C (zh) * 2006-07-07 2008-12-03 Ut斯达康通讯有限公司 用于无线通信系统的分组调度方法和装置
JP2009080690A (ja) * 2007-09-26 2009-04-16 Nec Corp 情報記録再生システム,情報記録再生方法及びプログラム
US8732236B2 (en) 2008-12-05 2014-05-20 Social Communications Company Managing network communications between network nodes and stream transport protocol
US8601069B1 (en) 2007-11-21 2013-12-03 Marvell International Ltd. Method and apparatus for message multicasting
US9229792B1 (en) * 2007-11-21 2016-01-05 Marvell International Ltd. Method and apparatus for weighted message passing
KR100953099B1 (ko) * 2007-12-26 2010-04-19 전자부품연구원 소형 저전력 임베디드 시스템 및 그의 선점 회피 방법
US8484645B2 (en) * 2008-06-10 2013-07-09 Hewlett-Packard Development Company, L.P. Apparatus, and associated method, for handling content pursuant to transfer between enterprise content management repositories
KR20130010910A (ko) * 2008-12-05 2013-01-29 소우셜 커뮤니케이션즈 컴퍼니 실시간 커널
US9069851B2 (en) 2009-01-15 2015-06-30 Social Communications Company Client application integrating web browsing and network data stream processing for realtime communications
US9621714B2 (en) 2009-01-27 2017-04-11 Value-Added Communications, Inc. System and method for electronic notification in institutional communication
US8839209B2 (en) * 2010-05-12 2014-09-16 Salesforce.Com, Inc. Software performance profiling in a multi-tenant environment
US20110321052A1 (en) * 2010-06-23 2011-12-29 International Business Machines Corporation Mutli-priority command processing among microcontrollers
US20120192147A1 (en) * 2011-01-25 2012-07-26 Argen Wong Develop real time software without an RTOS
CN102831007B (zh) * 2011-06-14 2017-04-12 中兴通讯股份有限公司 实时处理系统中的共享资源访问方法和实时处理系统
CN102495758A (zh) * 2011-12-05 2012-06-13 中南大学 分布式高性能计算环境中实时任务的调度方法
US9270610B2 (en) * 2013-02-27 2016-02-23 Apple Inc. Apparatus and method for controlling transaction flow in integrated circuits
US9740513B2 (en) * 2014-06-05 2017-08-22 Futurewei Technologies, Inc. System and method for real time virtualization
US9658885B2 (en) 2014-09-04 2017-05-23 Home Box Office, Inc. Asynchronous task multiplexing and chaining
US9983902B2 (en) * 2015-05-14 2018-05-29 General Electric Company System and method for multi-level real-time scheduling analyses
US20170324834A1 (en) * 2016-05-06 2017-11-09 Global Tel*Link Corp. System and method for generating and transmitting a non-real time communication
US10749827B2 (en) 2017-05-11 2020-08-18 Global Tel*Link Corporation System and method for inmate notification and training in a controlled environment facility
CN109783573B (zh) * 2018-12-18 2021-10-15 北京华夏电通科技股份有限公司 多路推送的数据同步方法及终端
CN111475869B (zh) * 2020-03-31 2023-10-27 东软集团股份有限公司 通信方法、装置、介质、安全计算模块和安全芯片
JP7363684B2 (ja) * 2020-06-30 2023-10-18 トヨタ自動車株式会社 リソース管理装置及びリソース管理方法
CN112134783A (zh) * 2020-08-11 2020-12-25 广州市贺氏办公设备有限公司 基于用户亲密度的即时通讯系统、方法、装置及介质
CN116339955B (zh) * 2023-05-25 2023-08-11 中国人民解放军国防科技大学 计算换通信框架的局部优化方法、装置和计算机设备
CN116795603B (zh) * 2023-08-22 2024-03-29 北京遥感设备研究所 一种数据库系统中备份事务的高效发布时间分配方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6229242A (ja) * 1985-07-30 1987-02-07 Hitachi Ltd パソコンネツトワ−クシステムでのデ−タ通信方法
JPH0244455A (ja) * 1988-08-05 1990-02-14 Matsushita Electric Ind Co Ltd Fifo装置
JPH04295951A (ja) * 1991-03-25 1992-10-20 Omron Corp マルチプロセッサシステムにおけるデータ通信装置
JPH05268291A (ja) * 1992-03-19 1993-10-15 Hitachi Ltd デ−タバッファ管理システム
JPH076043A (ja) * 1993-03-05 1995-01-10 Mitsubishi Electric Corp マルチスレッド・サーバ
JPH0877029A (ja) * 1994-09-09 1996-03-22 Hitachi Ltd 負荷率に基づいた処理要求実行順序制御方式
JPH10200550A (ja) * 1996-12-26 1998-07-31 Daewoo Electron Co Ltd セルスケジューリング方法及びその装置
WO1998045976A2 (en) * 1997-04-04 1998-10-15 Ascend Communications, Inc. Hierarchical packet scheduling method and apparatus

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4658351A (en) * 1984-10-09 1987-04-14 Wang Laboratories, Inc. Task control means for a multi-tasking data processing system
US5519867A (en) * 1993-07-19 1996-05-21 Taligent, Inc. Object-oriented multitasking system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6229242A (ja) * 1985-07-30 1987-02-07 Hitachi Ltd パソコンネツトワ−クシステムでのデ−タ通信方法
JPH0244455A (ja) * 1988-08-05 1990-02-14 Matsushita Electric Ind Co Ltd Fifo装置
JPH04295951A (ja) * 1991-03-25 1992-10-20 Omron Corp マルチプロセッサシステムにおけるデータ通信装置
JPH05268291A (ja) * 1992-03-19 1993-10-15 Hitachi Ltd デ−タバッファ管理システム
JPH076043A (ja) * 1993-03-05 1995-01-10 Mitsubishi Electric Corp マルチスレッド・サーバ
JPH0877029A (ja) * 1994-09-09 1996-03-22 Hitachi Ltd 負荷率に基づいた処理要求実行順序制御方式
JPH10200550A (ja) * 1996-12-26 1998-07-31 Daewoo Electron Co Ltd セルスケジューリング方法及びその装置
WO1998045976A2 (en) * 1997-04-04 1998-10-15 Ascend Communications, Inc. Hierarchical packet scheduling method and apparatus
JP2001519120A (ja) * 1997-04-04 2001-10-16 アセンド コミュニケーションズ インコーポレイテッド 階層型パケット・スケジューリング方法及び装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278862A (ja) * 2001-03-21 2002-09-27 Q'z Creative Co Ltd プッシュ型情報配信方法、プッシュ型情報配信用プログラム、及びプッシュ型情報配信装置、記憶媒体
JP4531280B2 (ja) * 2001-03-21 2010-08-25 株式会社 キューズ・クリエイティブ プッシュ型情報配信方法、プッシュ型情報配信用プログラム、及びプッシュ型情報配信装置、記憶媒体
JP2009151685A (ja) * 2007-12-21 2009-07-09 Fujitsu Ltd ディスクアレイ装置管理システム、ディスクアレイ装置、ディスクアレイ装置の制御方法および管理サーバ
JP2018045638A (ja) * 2016-09-16 2018-03-22 株式会社東芝 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
EP1024429A3 (en) 2002-12-18
EP1024429A2 (en) 2000-08-02
US6490611B1 (en) 2002-12-03

Similar Documents

Publication Publication Date Title
JP2000284980A (ja) マルチタスクシステムおよびマルチタスクシステムにおけるメッセージ伝送スケジューリング方法
Tovar et al. Real-time fieldbus communications using Profibus networks
Tindell et al. Holistic schedulability analysis for distributed hard real-time systems
EP0798638B1 (en) Periodic process scheduling method
Henriksson et al. TrueTime: Simulation of control loops under shared computer resources
US7339948B2 (en) Industrial controller providing deterministic communication on ethernet
Sha et al. A systematic approach to designing distributed real-time systems
US7080177B2 (en) System and method for arbitrating clients in a hierarchical real-time DRAM system
Nakajima et al. Integrated management of priority inversion in real-time mach
JP6428805B2 (ja) 演算装置、制御装置および制御方法
JP2016523409A (ja) 分散リアルタイムシステムにおける周期的なタスク上で適時にデータを受け渡す方法および装置
CN111813522A (zh) 一种虚拟arinc 653仿真验证平台
Lee et al. Partition scheduling in APEX runtime environment for embedded avionics software
Levine et al. Empirical evaluation of OS endsystem support for real-time CORBA object request brokers
Gopalakrishna et al. Efficient quality of service support in multimedia computer operating systems
Shen et al. User Level Scheduling of Communicating Real-Time Tasks.
Schulzrinne Operating system issues for continuous media
JP2007249357A (ja) 情報処理装置、分散処理システム及びタスク管理方法
Obenland The use of POSIX in real-time systems, assessing its effectiveness and performance
Jansen et al. Real-time scheduling of HLA simulator components
Mittal et al. Dynamic real-time channel establishment in multiple access bus networks
Bartolini et al. Using priority inheritance techniques to override the size limit of CAN messages
US6952826B1 (en) Method for implementing a multi-level system model for deterministically handling selected data
JP3653176B2 (ja) プロセス実行制御方法
Sierla Middleware solutions for automation applications: case RTPS