JPH0635726A - 確率的優先順位に基づいてタスクを選択する方法 - Google Patents
確率的優先順位に基づいてタスクを選択する方法Info
- Publication number
- JPH0635726A JPH0635726A JP5142596A JP14259693A JPH0635726A JP H0635726 A JPH0635726 A JP H0635726A JP 5142596 A JP5142596 A JP 5142596A JP 14259693 A JP14259693 A JP 14259693A JP H0635726 A JPH0635726 A JP H0635726A
- Authority
- JP
- Japan
- Prior art keywords
- task
- priority
- tasks
- queue
- executed
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
Abstract
クを選択する確率的優先順位ベーススケジューラを開示
する。 【構成】 確率的優先順位ベーススケジューラは、タス
クの優先順位により重み付けされた乱数に基づいてタス
クを選択する。どのタスクも選択される零ではない有限
の確率を有しており、その確率はタスクの優先順位に比
例するので、たとえ優先順位の低いタスクであっても、
全てのタスクは選択される機会をもち、従って、ロック
アウトの問題は排除される。
Description
特に、1つ以上のプロセッサによる実行に備えて複数の
タスクをスケジューリングするようなデジタルコンピュ
ータのオペレーティングシステムの分野に関する。
以上のタスクが同時に実行可能な状態になることは一般
的である。本体コンピュータ及びミニコンピュータで
は、それらのタスクはバッチ処理ジョブと、時分割シス
テムのユーザーと、プリンタへ出力を送信するために使
用されるシステムタスクとから構成されると考えること
ができる。現在、マイクロコンピュータ利用システム、
さらにはハンドヘルドコンピュータ利用システムでも、
多重タスク処理は適用範囲に入っている。マイクロコン
ピュータシステム又はハンドヘルドコンピュータシステ
ムのユーザーは、ユーザーのアクションにより指定され
ている一次タスクのみを承知しているが、他のタスクに
は電子メール、カレンダサービス、手書き文字認識など
の処理機能がある。
あるタスクが2つ以上あるとき、オペレーティングシス
テムはタスクが1つ以上のプロセッサにより実行される
順序をスケジューリングしなければならない。公知のス
ケジューリング方法はそれぞれのタスクと優先順位を関
連づける。スケジューリング間隔ごとに、最も高い優先
順位をもつタスクが実行のために選択される。この優先
順位ベースのスケジューリングに関わる問題は、より高
い優先順位のタスクが実行のために利用可能である間
は、低い優先順位のタスクは実行されないということで
ある。この問題はロックアウトとして知られている。優
先順位スケジューリングには変形(強制排除スケジュー
リング及び短期間のうちに事象に基づいて優先順位に小
さな増分を加える方式など、共に以下に説明する)もあ
るが、それらの方法はロックアウトの問題を解決せず、
スケジューリングプロセスを一層複雑にしてしまう。
トの発生を許さない新たな優先順位ベーススケジューリ
ングプロセスを提供することである。
順位により重み付けされた乱数に基づいて確率によって
実行のために選択される。どのタスクも選択される有限
の零でない確率を有しており、その確率はタスクの優先
順位に比例するので、本発明は、たとえ優先順位の低い
タスクであっても、全てのタスクが選択される機会をも
ち、それにより、ロックアウトの問題を排除するという
利点を有する。本発明のその他の目的、特徴及び利点
は、以下の好ましい実施例の詳細な説明、特許請求の範
囲及び添付の図面からさらに十分に明らかになるであろ
う。
システムのブロック線図である。このシステムは入力装
置12、メモリ階層14、出力装置16及びクロックタ
イマ18と相互に接続する中央処理装置(CPU)10
を含む。CPU10はメモリ14から取り出した命令を
実行する必要があるシステムに含まれるCPUは1つで
あっても良く、複数であっても良い。典型的な使用状況
においては、メモリ14は階層を成して配列されてい
る。より大形のシステムは、通常、読取り専用メモリ
(ROM)と、読出し書込み用メモリ(RAM)と、普
通はディスクドライブの形態をとる補助記憶装置とを有
する。小形のコンピュータはROM及びRAMのみを含
んでいれば良く、拡張に備えて追加のROM又はRAM
を含むプラグインカードを使用しても良い。クロックタ
イマ18はCPUに対する割込みの発生源を構成してい
る。
を取り出す。メモリから取り出した命令によって、CP
U10は入力装置12と出力装置16を制御し、メモリ
14のデータを操作する。オペレーティングシステム
は、コンピュータシステムの動作を制御する1組の命令
とデータ構造である。オペレーティングシステムは選択
されたユーザータスクを実行することを目的としてい
る。オペレーティングシステムのうち、実行すべきタス
クを選択する部分はスケジューラとして知られている。
では、1つのタスクは複数の命令とデータの集合体であ
る。スケジューリングプロセスはタスクの操作と選択を
扱う。簡略化したモデルにおいては、タスクは2つの状
態の一方、すなわち、活動状態又はブロック化状態のい
ずれかをとると考えられる。1つの状態から他方の状態
へのタスクの遷移は事象により駆動される。活動状態の
タスクはCPUにより実行可能な状態にある。ブロック
化状態のタスクは実行可能ではなく、タスクを活動状態
に戻すための何らかの事象が起こるのを待機している。
1例として、第1のタスクがデータを実行し、処理して
いるものと仮定する。タスクは処理を継続するために必
要な情報を求めてオペレーティングシステムに対して入
力要求を発生する。オペレーティングシステムは入力動
作を開始させ、タスクの状態を活動からブロック化へ変
化させるためにスケジューラを呼び出す。スケジューラ
は実行すべき第2のタスクを選択する。第1のタスクに
関わる入力動作が完了したとき、スケジューラは第1の
タスクの状態をブロック化から活動へ再び変化させる。
ンスケジューラである。この種のスケジューラは単純に
それぞれ活動状態にあるタスクを順に選択し、各タスク
に等しい重みを与える。ラウンドロビンスケジューリン
グの場合にはロックアウトは起こらない。スケジューリ
ングは、オペレーティングシステムに対して実行中のタ
スクが要求を発生した結果として始まるか、あるいは、
タイマの割込みに基づいて定期的にスケジューリングが
開始されるかのいずれかであろう。
くつかのタスクが他のタスクより重要であることを認識
する方法として知られている。たとえば、銀行業務シス
テムにおいては、銀行用端末装置にいたるデータ通信回
線を処理するタスクはチェックを処理するバッチジョブ
と比べてより重要であり、より高い優先順位を有する。
すなわち、銀行用端末装置での顧客は迅速な応答を要求
するが、バックグラウンドチェック処理はそれと同様の
時間の制約を受けていない。複数の時間を共用するユー
ザーを表すタスクと、バックグラウンドバッチジョブと
を有し、プリンタへデータを転送している従来の時分割
システムでは、それぞれが入力した要求に対する迅速な
応答を要望する時間共用ユーザーに高い優先順位を割当
て、ほとんど時間をとらないプリンタタスクにより低い
優先順位を割当て、まだ利用可能な残ったCPUの時間
を使用できるバックグラウンドバッチタスクに低い優先
順位を割当てることになるであろう。語処理などの主ユ
ーザーアクティビティを表わすタスクと、プリンタ制
御、遠隔データ転送及び電子メールなどのバックグラウ
ンドタスクとを有するパーソナルコンピュータシステム
においては、語処理アクティビティに最高の優先順位を
与え、バックグラウンドタスクには低い優先順位を与え
ることになるであろう。スケジューラソフトウェアはタ
スクを追跡し、次に実行すべきタスクを選択する。
列と、ブロック化タスクの待ち行列とを保持する。図2
は、優先順位ベーススケジューラに関わる活動タスク待
ち行列を表わす図である。概略的に示したデータ構造は
当該技術では良く知られている。使用するプロセッサの
アーキテクチャに応じて、それらのデータ構造を制御ブ
ロック(図示したもの)として編成するか、又はテーブ
ルとして編成することが可能であろう。図2の活動タス
ク待ち行列は二重連係リストを使用して示されている。
活動待ち行列見出し20は待ち行列の最終要素に向かう
逆方向リンク21と、第1のタスク待ち行列ブロック2
4に向かう順方向リンク22とを含む。各タスク待ち行
列ブロック24も先行要素に向かう逆方向リンク21
と、待ち行列の次の要素に向かう順方向リンク22とを
含む。明瞭を期するために、順方向リンク22を図示
し、逆方向リンクを省略してある。各タスク待ち行列ブ
ロック24は、オペレーティングシステムに対するタス
クを識別するために使用される一意のタスクid25を
さらに含む。各タスク待ち行列ブロック24はタスク優
先順位26をさらに含む。タスク待ち行列ブロック24
は、タスクの実行を延期し、異なるタスクへ切り替え、
後に、オペレーティングシステム及びCPUによる要求
に応じてタスクの実行を再開するための追加タスク文脈
データ27をさらに含む。二重連係リストにより、待ち
行列へのエントリの挿入、待ち行列からの除去及びエン
トリの再位置決めに際して周知の技法を効率良く使用す
ることができる。
し、活動タスク待ち行列を優先順位の順に保持した状態
で、スケジューラは単純に実行すべき活動タスク待ち行
列中の第1のタスクを選択する。動作中、図2に提示し
た情報を使用する優先順位ベーススケジューラはid=
1且つ優先順位=14であるタスク24aを実行させる
と考えられる。このタスクは、別のタスクの優先順位を
そのタスクのレベルを越えるまで上げ、そのタスクの優
先順位を別のタスクの優先順位より低くなるまで下げる
か、あるいは、タスクを活動状態からブロック化状態へ
変化させる何らかの事象が起こるまで、実行を継続する
であろう。タスク24b、24c及び24dはロックア
ウトされ、そのような何らかの事象が起こるまで実行さ
れない。
がある。一方の段階は事象の報告を含み、他方の段階は
実行すべきのタスクの選択を含む。事象の報告の結果、
タスクの優先順位と状態は変化する。それらの事象はタ
スクの優先順位の変化をもたらすかもしれないので、通
常は実行すべきタスクの選択は事象報告に続いている。
従って、スケジューリングプロセスは事象によって開始
されるとみなして良い。スケジューリングプロセスを引
き起こす事象の1つの種類は、オペレーティングシステ
ムに対する呼び出しである。
タスクの実行を延期すべきであることを指定する入力要
求を発生する場合、そのタスクの状態を活動からブロッ
ク化へ変化させ、次に、実行すべき活動タスクを選択す
るために、スケジューリングを呼び出す。スケジューリ
ングプロセスを呼び出す別の種類の事象は、入出力動作
の完了や、バッファが空又は一杯になるなどの入出力事
象である。たとえば、タスクが非常に急速にデータを生
成しており、そのデータを出力バッファを介して相対的
に低速の出力装置へ送信している場合、出力バッファが
一杯になったならば、出力バッファに空きができるま
で、そのタスクをブロック化する。空きが利用可能にな
った時点で、タスクを再び活動状態にすることができ
る。
れるもう1つの事象はタイマ割込みである。オペレーテ
ィングシステムは、タイマスライスとして知られるある
長さの時間(たとえば、1/60秒)の中で1回の割込
みを発生させるために、CPUに接続するタイマをイネ
ーブルする。割込みが起こると、CPUはその現在タス
クを実行するのを停止し、割込みをサービスする。この
割込みサービスの一部として、オペレーティングシステ
ムはスケジューリングプロセスを呼び出し、その結果、
実行すべき別のタスクが選択されるであろう。この種の
スケジューリングでは、現在タスクの実行を強制排除
し、また、CPU時間をスライスとして割当てるので、
この方式をタイムスライス形強制排除スケジューリング
と呼ぶ。逆に、現在実行中のタスクが別のタスクのスケ
ジューリングを招く何らかの事象を発生させるまで、そ
のタスクに実行を継続させるスケジューラは非強制排除
スケジューラとして知られている。
本的な優先順位スケジューリング方法に対していくつか
の変更が行われている。タイムスライス形強制排除スケ
ジューリングはその1つである。同じ優先順位をもつ一
群のタスクの中でのロックアウトを防止するために、ラ
ウンドロビンスケジューリングも採用されている。この
方法の原則は非常に単純である。すなわち、1)タスク
を追加するときは、そのタスクをその優先順位グループ
の先頭に追加し、2)タスクが1つのタイムスライスを
完了すると、タスクをその優先順位グループの終わりへ
移動するというものである。たとえば、図2に示すケー
スでは、id=1のタスク24aが最初に実行されるタ
スクになるであろう。所定のタイムスライスが終了した
とき、ラウンドロビン方法はタスク24aを待ち行列の
優先順位グループ14の終わりへ移動する。図2におい
ては、タスク24aはリスト中のタスク24bの後に再
び連なり、タスク24bが実行に備えて待ち行列の先頭
に出ることになるであろう。次のタイムスライスの終了
時には、それらの位置は逆転し、タスク24aの実行が
再開されるであろう。次々に続くタイムスライスを経
て、タスク24aとタスク24bは順番に実行される。
この方式はロックアウトの問題を解決しない。タスク2
4c及び24dは優先順位が低く、実行されないため、
それらのタスクは依然として事実上ロックアウトされて
いる。
方式は、事象に基づいて短い間隔でタスクの優先順位に
小さな増分を加えるというものである。これを図3に示
す。そのようなシステムにおいては、各タスクブロック
24は現在優先順位32と、基底優先順位34とを含
む。図3に示すように、先に説明したようなラウンドロ
ビン強制排除スケジューラがタスク24aと、タスク2
4bとを交互に実行させると考えられる。増分方式はス
ケジューリングプロセスに次の規則を追加する。1)タ
イムスライスの終了時に、現在タスクの優先順位32を
減分するが、優先順位は現在タスクの基底順位34より
低くなるほど落とされることがない。現在優先順位を減
分した後、タスクを適切な優先順位群の末尾に配置す
る。そして、2)スケジューラに報告されるそれぞれの
事象はそれと関連する優先順位増分を有するが、その増
分は0であっても良い。1つの事象が報告されると、こ
の増分をタスクの現在優先順位に追加し、そのタスクを
待ち行列中の、適切な優先順位群の先頭に再び配置す
る。
告され、この事象が優先順位増分3を伴うものと仮定す
る。これにより、タスク24cの現在優先順位32は1
2から15へ上がるので、タスク24cは最も高い優先
順位をもつことになるであろう。活動タスク待ち行列2
0は、タスク24cを先頭とし、その後にタスク24a
及び24bが続く連なりとなるので、実行のためにタス
ク24cがスケジューリングされることになる。1つの
タイムスライスの終了時に、タスク24cの現在優先順
位32は15から14に減分し、待ち行列中の、同様に
現在優先順位14を有するタスク24a及び24bの後
に再び連なるであろう。そこで、タスク24aは1つの
タイムスライスで実行されるであろう。そのタイムスラ
イスの終了時には、タスク24aの優先順位を減分する
ことができない。それは、減分すると基底優先順位34
より低くなってしまうからである。そこで、タスク24
aはタスク24b及び24cの後に再び連なり、タスク
24bが実行される。次のタイムスライスの終了時に
は、タスク24bはタスク24c及び24aの後に再び
連なり、タスク24cが実行されることになる。次のタ
イムスライスの終了時に、タスク24cの現在優先順位
32は14から13に減分し、タスク24a及び24b
の後に再び連なる。(強制排除タイマ事象以外の)他の
事象が報告されないと仮定すれば、タスク24a及び2
4bは実行を継続し、タスク24c及び24dは現在優
先順位が低いために再びロックアウトされる。
プロセスを一層複雑にする。事象ごとに優先順位増分を
割当てなければならず、それらの増分がわずかに変化し
ても、システムの動作や性能に著しく影響を及ぼす可能
性がある。さらに、ロックアウトの問題は優先順位増分
プロセスによっては解決されない。
されるデータ構造を概略的に示す。本発明は、タスクの
優先順位に基づき確率方式によりタスクを選択すること
により、優先順位ベース方式を維持しつつロックアウト
の問題を解決する。活動待ち行列見出し20はタスク待
ち行列ブロック24から成る二重連係リストの先頭であ
る。各タスク待ち行列ブロック24はタスクid25
と、タスク優先順位26と、タスクデータ27とを含
む。可変Σprio40は活動タスク待ち行列の中の全ての
タスクのタスク優先順位25の和を保持する。タスクの
挿入又は除去によって活動タスク待ち行列が変更される
と、活動タスク待ち行列中の全てのタスクのタスク優先
順位25の和を表わすために、可変Σprio40を更新す
る。図4に示す構造の場合、この値は43である。本発
明のスケジューリングプロセスは1からΣprioを含めた
値までの範囲で、従って、1から43までの範囲の中で
1つの任意の整数を生成し、この整数を使用して、実行
すべき次のタスクを選択する。
知の方法や装置を使用して、ランダム整数を効率良く発
生させることができる。数列の現在整数値がrn である
とすれば、数列中の次の整数値rn+1 はrn+1 =(a*
rn)mod kとして計算される。当該技術で良く知
られているように、定数aと、数列の初期シード値とを
慎重に選択しなければならない。乗算は基底をKとして
モジュール方式で実行されるが、この基底は計算を容易
にするために2の累乗に関連づけられている。たとえ
ば、rn+1 =(16807*rn ) mod231−1は一
様数列を生成する。
先順位の和が生成した値以上になるまで、タスクの優先
順位を加算しつつ活動タスク待ち行列をたどってゆく。
そのたどりプロセスの間にこの条件を満たすタスクが実
行すべきタスクである。タスク待ち行列にタスクを追加
し、また、待ち行列からタスクを除去するときに、値Σ
prioを維持することができるが、あるいは、スケジュー
リングプロセスの間に待ち行列をさらに通過してゆき、
タスク優先順位を加算することにより、値Σprioを再生
成することも可能である。
成されるランダム整数は33であると仮定する。タスク
待ち行列をたどるときは、タスク24aから始まる。タ
スク優先順位の和はこの時点では14であり、14は3
3より小さいので、タスク24aは選択されない。次の
タスク24bに移ると、優先順位の和は28(14+1
4)になり、これも33より小さいので、タスク24b
は選択されない。次のタスク24cへ移ると、優先順位
の和は40(14+14+12)になり、これは33よ
り大きいので、タスク24cが実行すべきタスクとして
選択される。
ク優先順位を加算する代わりに、タスク待ち行列をたど
りながらランダム整数を現在タスク優先順位だけ減分
し、0に対して試験することも可能である。多くのコン
ピュータにおいて、値が0以下であるかどうかをみるた
めに試験することはより効果的である。図4を利用して
説明すると、この待ち行列たどり方法において、タスク
選択のために生成されるランダム整数は33であると仮
定する。タスク待ち行列をたどるときには、タスク24
aから始まる。タスク選択値33からタスクの優先順位
14を減算する。その剰余は19であり、これをタスク
選択値として戻し、記憶する。この値は0より大きいの
で、タスク24bから待ち行列をたどり続ける。タスク
24bの優先順位は14であり、この値を19から減算
すると、その剰余は5となる。5は0より大きいので、
タスク24cへとたどり続ける。タスク24cの優先順
位は12であり、これを5から減算すると、剰余は−7
になる。−7は0より小さいので、タスク24cは実行
すべきタスクとして選択される。
す。適切に設計された擬似乱数列発生器の出力は統計的
に見て均一であるので、時間の経過に伴って1から43
までの全ての整数値が同様の頻度をもって現れ、従っ
て、与えられたタスクの全てが実行のために選択され
る。与えられるどのタスクについても、そのタスクが選
択される確率はそのタスクの優先順位に比例する。図5
において、数直線50は0からΣprio(活動タスク優先
順位の和)、ここでは0から43の範囲の整数を示す。
さらに、各タスクのスパンも示されており、各スパンは
タスクの優先順位と等しい。優先順位14のタスク24
aに関連するスパン52aは1から14までの範囲であ
る。優先順位14のタスク24bは、15から28まで
のスパン52bを有する。優先順位12のタスク24c
は、29から40までのスパン52cを有する。優先順
位3のタスク24dは41から43までのスパン52d
を有する。1から14までの範囲にある生成ランダム整
数はタスク24aを選択し、25から28の範囲にある
ときはタスク24bを選択し、29から40の範囲にあ
るときはタスク24cを選択し、41から43の範囲に
あるときはタスク24dを選択する。時間の経過につれ
て、1つのタスクが実行されるCPU時間の量はその優
先順位に比例し、ロックアウトされるタスクは全くな
い。限界に至ると、時間が増すにつれて、タスクが実行
するCPU時間の量はタスク優先順位をΣprioで除算し
た値に近づく。図5では、Σprioは値43を有する。優
先順位14をもつタスク24aが実行されるCPU時間
の量は14/43、約32.6%に近づく。優先順位1
4のタスク24bが実行されるCPU時間の量は14/
43、約32.6%にほぼ等しい。優先順位12のタス
ク24cが実行されるCPU時間の量は12/43、約
27.9%に近づく。優先順位3のタスク24dが実行
されるCPU時間の量は3/43、約7%に近づく。
明のモデルを示す。このモデルは、Apple Mac
intoshを含む数多くのコンピュータシステムで利
用可能である。Wolfram Research,I
nc.が刊行した言語Mathematicaで書かれ
ている。図7は、このモデルをApple Macin
tosh II でランさせた場合の出力を示し、その性
能を論証している。まず、図6について説明すると、縦
棒の左側の行番号は単に参照を助けるためのであり、モ
デルの一部ではない。行1から5はグラフ作成機能lp
lotを規定している。この機能は引数として作図すべ
き点のリストと、グラフの名称と、作図すべき漸近線の
値とを取り出す。行6は累算すべきサンプル点の数とし
て変数nを規定しており、この場合、nは1000であ
る。行7は変数t1,t2,t3及びt4を規定し、そ
れらを0に初期設定する。変数t1はタスク1が選択さ
れる回数を含む。変数t2はタスク2が選択される回数
を含む。変数t3はタスク3が選択される回数を含む。
変数t4はタスク4が選択される回数を含む。行8は、
作図データを保持するために使用される4つのリストp
1,p2,p3及びp4を初期設定する。行9は、サン
プル点ごとに繰り返されるループを開始する。行10は
変数jに1から43まで(43を含む)の範囲のランダ
ム整数を割当てる。行11から14は、変数jのランダ
ム整数に基づいて、各タスクが選択される回数をカウン
トする。図5も参照して説明すると、ランダム整数jが
1から14の範囲にあるとき、図5では24aと記され
ているタスク1を選択し、この選択を表わすために変数
t1を増分する。行15及び16は、図7のグラフで使
用するための、各タスクが実行された時間のパーセンテ
ージを計算する。データ点ごとに時間のパーセンテージ
は、タスクが選択された回数(変数t1,t2,t3及
びt4に保持されている)をサンプル数iで除算した値
に等しい。行18から21は図7に示すグラフを生成す
る。
性能をグラフで表わし、各タスクが時間の経過につれて
使用するCPU時間のパーセンテージを示している。優
先順位14をもつタスク1についてグラフに示すよう
に、CPU時間はグラフには水平の実線として示されて
いる32.7%の計算値に急速に近づく。同様に、同じ
優先順位14をもつタスク2は32.7%に急速に近づ
き、優先順位12のタスク3は27.9%に急速に近づ
き、優先順位3のタスク4は7%のCPU経時使用量に
急速に近づく。これらのグラフは、本発明が優先順位に
基づいてタスクをスケジューリングし、優先順位の低い
タスクをロックアウトしないことを示している。
動タスク待ち行列の直線的探索を要求する。待ち行列の
中に多数のタスクが入っている場合には、この直線的探
索は長い時間を要するようになる。図8は、待ち行列の
中に数多くのタスクがあるときに待ち行列をたどるのに
要する時間を短縮する本発明の第2の実施例を示す。1
つの直線的リストの中で活動待ち行列見出し20に全て
の活動タスクを連ならせるのではなく、タスクをそれぞ
れが副待ち行列見出し62を有する副待ち行列にグルー
プ分けする。それぞれの副待ち行列見出し62はセルΣ
list64を含み、これはその副待ち行列に入っている全
てのタスクに関わる優先順位の和である。副待ち行列見
出し62は、それぞれのタスク待ち行列ブロック66に
至る順方向リンクと、逆方向リンクとを含むタスク待ち
行列見出し65をさらに含む。図表を明瞭にするため
に、順方向リンクのみを示してある。全てのΣlist64
セルの和は、全タスクの優先順位の和であるΣprio60
として保持されている。副待ち行列の中ではタスクは何
らかの特定の順序である必要がない。
グ基準に適合する1つの副待ち行列を選択するために副
待ち行列見出し62をたどり、次に、その副待ち行列を
たどって特定のタスク待ち行列ブロック66を選択し、
図5の実施例のように選択されるタスク到達するために
全てのタスク待ち行列24をたどらないので、図8の待
ち行列たどりプロセスは図5の実施例の場合より速い。
めに生成されるランダム整数は81であると仮定する。
たどるときには、副待ち行列見出し62aから始める。
この時点での優先順位の和は40であり、40は81よ
り小さいので、選択すべきタスクは副待ち行列62aの
中にはない。次の副待ち行列見出し62bに移ると、優
先順位の和は54(40+14)であり、これは81よ
り小さいので、選択すべきタスクは副待ち行列62bの
中にはない。次の副待ち行列見出し62cに移ると、優
先順位の和は66(40+14+12)であり、これは
81より小さいので、選択すべきタスクは副待ち行列6
2cの中にはない。次の副待ち行列見出し62dへ移る
と、優先順位の和は92(40+14+12+26)で
あり、これは81より大きいので、選択すべきタスクは
副待ち行列62dの中にある。副待ち行列見出しブロッ
ク62dの中のタスク待ち行列見出し65をたどると、
タスク待ち行列ブロック66dに至る。この時点での優
先順位の和は75(40+14+12+9)であり、こ
れは81より小さいので、実行すべきタスクとしてタス
ク66dは選択されない。タスク待ち行列ブロック66
eへ移ると、優先順位の和は82(40+14+12+
9+8)であり、これは81より大きいので、実行すべ
きタスクとしてタスク66eが選択される。
係するタスクの数のカウントをその副待ち行列見出し6
2の中に保持しておくものであると考えられる。これに
より、タスク待ち行列ブロック66c及び待ち行列見出
しブロック62cにより示すように、副待ち行列見出し
62に連係するタスク待ち行列ブロック66が唯一つし
かないケースを処理するために、特定の符号化が可能に
なる。これは最も短い副待ち行列に新たなタスクを追加
するプロセスをも簡略化するであろう。
問題を排除する優先順位ベーススケジューラを提供す
る。本発明の付加的な利点としては待ち行列の管理が簡
単になるということがある。タスクを優先順位の順に追
加したり、優先順位の順に保持しておく必要はない。タ
スクの優先順位はかわらないので、タスクを待ち行列の
中の新たな優先順位位置に再び連ならせる必要はない。
説明したが、本発明は、実行のために複数のタスクをス
ケジューリングしなければならないどのようなコンピュ
ータ作動装置に適用されても良い。本発明を特定の実施
例に関連して説明したが、本発明の真の趣旨から逸脱せ
ずに様々な変更を実施して良く、要素を等価の物と置き
換えても良いことは当業者には理解されるであろう。加
えて、本発明の本質的な技法から逸脱せずに数多くの変
形を実施しうるであろう。
図。
来の技術)に関わるデータ構造を示す図。
テム(従来の技術)に関わるデータ構造を示す図。
Claims (1)
- 【請求項1】 実行可能な複数のタスクが実行のために
利用可能であるようなコンピュータシステムでタスクを
選択する方法において、 それら実行可能な複数のタスクを含むデータ構造を維持
する過程と;実行可能なタスクのそれぞれに1つの優先
順位を関連づける過程と;実行可能なタスクのデータ構
造から、タスクの優先順位により重み付けされた無作為
のタスクを選択する過程とから成るタスクを選択する方
法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/887,987 US5247677A (en) | 1992-05-22 | 1992-05-22 | Stochastic priority-based task scheduler |
US887,987 | 1992-05-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0635726A true JPH0635726A (ja) | 1994-02-10 |
JP3578780B2 JP3578780B2 (ja) | 2004-10-20 |
Family
ID=25392283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14259693A Expired - Lifetime JP3578780B2 (ja) | 1992-05-22 | 1993-05-24 | 確率的優先順位に基づいてタスクを選択する方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5247677A (ja) |
JP (1) | JP3578780B2 (ja) |
FR (1) | FR2691557B1 (ja) |
Families Citing this family (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892971A (en) * | 1986-08-08 | 1999-04-06 | Norand Corporation | Portable data processing device having an indicia reader and a multi-tasking operating system capable of executing battery monitoring instructions while concurrently executing application programs |
JPH05250187A (ja) * | 1992-03-06 | 1993-09-28 | Hitachi Ltd | レディ空間キューによるタスク制御方式 |
US5586317A (en) * | 1993-07-30 | 1996-12-17 | Apple Computer, Inc. | Method and apparatus for implementing I/O in a frame-based computer system |
US5664175A (en) * | 1993-08-13 | 1997-09-02 | International Business Machines Corporation | Method and system for reprioritizing calendar items on a data processing system |
US5504898A (en) * | 1994-06-20 | 1996-04-02 | Candle Distributed Solutions, Inc. | Threaded environment for AS/400 |
US5513351A (en) * | 1994-07-28 | 1996-04-30 | International Business Machines Corporation | Protecting a system during system maintenance by usage of temporary filenames in an alias table |
US6330583B1 (en) * | 1994-09-09 | 2001-12-11 | Martin Reiffin | Computer network of interactive multitasking computers for parallel processing of network subtasks concurrently with local tasks |
US5694559A (en) * | 1995-03-07 | 1997-12-02 | Microsoft Corporation | On-line help method and system utilizing free text query |
JPH096633A (ja) * | 1995-06-07 | 1997-01-10 | Internatl Business Mach Corp <Ibm> | データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム |
WO1997031313A1 (en) * | 1996-02-21 | 1997-08-28 | International Business Machines Corporation | Method and computer system for improving the response time of a computer system to a user request |
US6714960B1 (en) * | 1996-11-20 | 2004-03-30 | Silicon Graphics, Inc. | Earnings-based time-share scheduling |
JPH10240818A (ja) | 1996-12-26 | 1998-09-11 | Canon Inc | 情報処理装置及びその方法 |
EP0851372A3 (en) * | 1996-12-26 | 1999-08-04 | Canon Kabushiki Kaisha | An information processing apparatus for managing schedule data and a method therefor |
FR2758427B1 (fr) * | 1997-01-13 | 1999-02-05 | Alsthom Cge Alcatel | Element de commutation, notamment de cellules atm, mettant en oeuvre des priorites probabilistes attachees aux cellules |
TW405090B (en) * | 1997-04-04 | 2000-09-11 | Ibm | Predictive cache loading by program address discontinuity history |
US5935234A (en) * | 1997-04-14 | 1999-08-10 | International Business Machines Corporation | Method and system for controlling access to a shared resource in a data processing system utilizing pseudo-random priorities |
US5931924A (en) * | 1997-04-14 | 1999-08-03 | International Business Machines Corporation | Method and system for controlling access to a shared resource that each requestor is concurrently assigned at least two pseudo-random priority weights |
US5995997A (en) * | 1997-05-02 | 1999-11-30 | Microsoft Corporation | Apparatus and methods for optimally allocating currently available computer resources to future task instances versus continued execution of current task instances |
JPH10328163A (ja) * | 1997-05-28 | 1998-12-15 | Siemens Ag | 核スピン断層撮影装置のためのパルスシーケンスの制御方法及び装置 |
US6385638B1 (en) * | 1997-09-04 | 2002-05-07 | Equator Technologies, Inc. | Processor resource distributor and method |
GB2334116A (en) * | 1998-02-04 | 1999-08-11 | Ibm | Scheduling and dispatching queued client requests within a server computer |
US7055151B1 (en) * | 1998-04-03 | 2006-05-30 | Applied Micro Circuits Corporation | Systems and methods for multi-tasking, resource sharing and execution of computer instructions |
US7805724B1 (en) | 1998-05-27 | 2010-09-28 | Arc International I.P., Inc. | Apparatus, method and computer program for dynamic slip control in real-time scheduling |
US6421702B1 (en) | 1998-06-09 | 2002-07-16 | Advanced Micro Devices, Inc. | Interrupt driven isochronous task scheduler system |
US6704763B1 (en) | 1998-06-09 | 2004-03-09 | Advanced Micro Devices, Inc. | Hardware enforcement mechanism for an isochronous task scheduler |
US6502123B1 (en) | 1998-06-09 | 2002-12-31 | Advanced Micro Devices, Inc. | Isochronous system using certified drivers to ensure system stability |
US6418459B1 (en) | 1998-06-09 | 2002-07-09 | Advanced Micro Devices, Inc. | Isochronous task scheduling structure for a non-real-time operating system |
US6061709A (en) * | 1998-07-31 | 2000-05-09 | Integrated Systems Design Center, Inc. | Integrated hardware and software task control executive |
US7451447B1 (en) | 1998-08-07 | 2008-11-11 | Arc International Ip, Inc. | Method, computer program and apparatus for operating system dynamic event management and task scheduling using function calls |
US6272518B1 (en) | 1998-08-17 | 2001-08-07 | International Business Machines Corporation | System and method for porting a multithreaded program to a job model |
JP3273600B2 (ja) * | 1999-03-10 | 2002-04-08 | セイコーエプソン株式会社 | プリンタ、プリンタ制御方法及びプログラムを記録した記憶媒体 |
EP1037146A1 (en) * | 1999-03-15 | 2000-09-20 | BRITISH TELECOMMUNICATIONS public limited company | Resource scheduling |
EP1037147A1 (en) * | 1999-03-15 | 2000-09-20 | BRITISH TELECOMMUNICATIONS public limited company | Resource scheduling |
US7577958B1 (en) * | 1999-12-09 | 2009-08-18 | Nortel Networks Limited | Expediting an operation in a computer system |
US7099855B1 (en) | 2000-01-13 | 2006-08-29 | International Business Machines Corporation | System and method for electronic communication management |
US7010788B1 (en) * | 2000-05-19 | 2006-03-07 | Hewlett-Packard Development Company, L.P. | System for computing the optimal static schedule using the stored task execution costs with recent schedule execution costs |
US7137117B2 (en) * | 2000-06-02 | 2006-11-14 | Microsoft Corporation | Dynamically variable idle time thread scheduling |
US7849463B2 (en) | 2000-06-02 | 2010-12-07 | Microsoft Corporation | Dynamically variable idle time thread scheduling |
US8290768B1 (en) | 2000-06-21 | 2012-10-16 | International Business Machines Corporation | System and method for determining a set of attributes based on content of communications |
US6408277B1 (en) | 2000-06-21 | 2002-06-18 | Banter Limited | System and method for automatic task prioritization |
US9699129B1 (en) | 2000-06-21 | 2017-07-04 | International Business Machines Corporation | System and method for increasing email productivity |
US6909722B1 (en) * | 2000-07-07 | 2005-06-21 | Qualcomm, Incorporated | Method and apparatus for proportionately multiplexing data streams onto one data stream |
US7644057B2 (en) | 2001-01-03 | 2010-01-05 | International Business Machines Corporation | System and method for electronic communication management |
US20020184290A1 (en) * | 2001-05-31 | 2002-12-05 | International Business Machines Corporation | Run queue optimization with hardware multithreading for affinity |
US7509671B1 (en) * | 2001-06-20 | 2009-03-24 | Microstrategy Incorporated | Systems and methods for assigning priority to jobs in a reporting system |
US20030037091A1 (en) * | 2001-08-09 | 2003-02-20 | Kozo Nishimura | Task scheduling device |
US7093004B2 (en) * | 2002-02-04 | 2006-08-15 | Datasynapse, Inc. | Using execution statistics to select tasks for redundant assignment in a distributed computing platform |
US6985976B1 (en) | 2002-02-22 | 2006-01-10 | Teja Technologies, Inc. | System, method, and computer program product for memory management for defining class lists and node lists for allocation and deallocation of memory blocks |
US7039772B1 (en) | 2002-02-22 | 2006-05-02 | Teja Technologies, Inc. | System, method, and computer program product for processing reflective state machines |
US7320044B1 (en) | 2002-02-22 | 2008-01-15 | Arc International I.P., Inc. | System, method, and computer program product for interrupt scheduling in processing communication |
US7130936B1 (en) | 2002-02-22 | 2006-10-31 | Teja Technologies, Inc. | System, methods, and computer program product for shared memory queue |
US7178146B1 (en) * | 2002-03-26 | 2007-02-13 | Emc Corporation | Pizza scheduler |
US20070079077A1 (en) * | 2002-04-29 | 2007-04-05 | Baines Mandeep S | System, method, and computer program product for shared memory queue |
US6920632B2 (en) * | 2002-08-23 | 2005-07-19 | Xyron Corporation | Dynamic multilevel task management method and apparatus |
US20050015768A1 (en) * | 2002-12-31 | 2005-01-20 | Moore Mark Justin | System and method for providing hardware-assisted task scheduling |
US7389230B1 (en) | 2003-04-22 | 2008-06-17 | International Business Machines Corporation | System and method for classification of voice signals |
US7013400B2 (en) * | 2003-04-24 | 2006-03-14 | International Business Machines Corporation | Method for managing power in a simultaneous multithread processor by loading instructions into pipeline circuit during select times based on clock signal frequency and selected power mode |
US8495002B2 (en) | 2003-05-06 | 2013-07-23 | International Business Machines Corporation | Software tool for training and testing a knowledge base |
US20050187913A1 (en) | 2003-05-06 | 2005-08-25 | Yoram Nelken | Web-based customer service interface |
US7734456B2 (en) * | 2004-03-30 | 2010-06-08 | Osamu Fujita | Method and apparatus for priority based data processing |
US7573808B2 (en) * | 2004-08-06 | 2009-08-11 | Fujitsu Limited | Smart resync of data between a network management system and a network element |
US20060173723A1 (en) * | 2005-01-28 | 2006-08-03 | Raytheon Company | Scheduler |
US7681014B2 (en) * | 2005-02-04 | 2010-03-16 | Mips Technologies, Inc. | Multithreading instruction scheduler employing thread group priorities |
US20070016906A1 (en) * | 2005-07-18 | 2007-01-18 | Mistletoe Technologies, Inc. | Efficient hardware allocation of processes to processors |
ATE545243T1 (de) | 2006-08-09 | 2012-02-15 | Alcatel Lucent | System und verfahren zur qos-basierten paketplanung |
US8694999B2 (en) * | 2006-12-07 | 2014-04-08 | Wind River Systems, Inc. | Cooperative scheduling of multiple partitions in a single time window |
JP4935595B2 (ja) * | 2007-09-21 | 2012-05-23 | 富士通株式会社 | ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム |
US8621475B2 (en) * | 2007-12-06 | 2013-12-31 | International Business Machines Corporation | Responsive task scheduling in cooperative multi-tasking environments |
US8966490B2 (en) * | 2008-06-19 | 2015-02-24 | Freescale Semiconductor, Inc. | System, method and computer program product for scheduling a processing entity task by a scheduler in response to a peripheral task completion indicator |
WO2009153619A1 (en) * | 2008-06-19 | 2009-12-23 | Freescale Semiconductor, Inc. | A system, method and computer program product for debugging a system |
US20110099552A1 (en) * | 2008-06-19 | 2011-04-28 | Freescale Semiconductor, Inc | System, method and computer program product for scheduling processor entity tasks in a multiple-processing entity system |
CN101299197B (zh) * | 2008-06-30 | 2011-09-28 | 无锡中星微电子有限公司 | 一种增删任务的方法和单元 |
CN101902487B (zh) * | 2009-05-26 | 2013-03-20 | 中兴通讯股份有限公司 | 基于链表的队列调度方法与装置 |
KR101644800B1 (ko) * | 2010-01-07 | 2016-08-02 | 삼성전자주식회사 | 컴퓨팅 시스템 및 방법 |
US9547528B1 (en) | 2010-03-29 | 2017-01-17 | EMC IP Holding Company LLC | Pizza scheduler |
US20120130725A1 (en) * | 2010-11-22 | 2012-05-24 | Microsoft Corporation | Automatic upgrade scheduling |
US8683479B1 (en) * | 2011-02-16 | 2014-03-25 | Hewlett-Packard Development Company, L.P. | Shifting information technology workload demands |
US9026161B2 (en) | 2012-04-19 | 2015-05-05 | Raytheon Company | Phased array antenna having assignment based control and related techniques |
US8949841B2 (en) * | 2012-12-27 | 2015-02-03 | Nvidia Corporation | Approach for a configurable phase-based priority scheduler |
US10089142B2 (en) * | 2013-08-21 | 2018-10-02 | Hasso-Plattner-Institut Fur Softwaresystemtechnik Gmbh | Dynamic task prioritization for in-memory databases |
US9632844B2 (en) * | 2013-12-12 | 2017-04-25 | International Business Machines Corporation | Non-preemption of a group of interchangeable tasks in a computing device |
US9690644B2 (en) * | 2014-11-06 | 2017-06-27 | International Business Machines Corporation | Cognitive analysis for healing an IT system |
RU2684581C2 (ru) * | 2017-01-27 | 2019-04-09 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Пензенский государственный университет" (ФГБОУ ВО "Пензенский государственный университет") | Способ стохастической диспетчеризации очередей коммутатора и устройство, его реализующее |
JP6855909B2 (ja) * | 2017-04-27 | 2021-04-07 | 富士通株式会社 | 作業支援システム、情報処理装置、及び作業支援方法 |
RU2718215C2 (ru) | 2018-09-14 | 2020-03-31 | Общество С Ограниченной Ответственностью "Яндекс" | Система обработки данных и способ обнаружения затора в системе обработки данных |
RU2731321C2 (ru) | 2018-09-14 | 2020-09-01 | Общество С Ограниченной Ответственностью "Яндекс" | Способ определения потенциальной неисправности запоминающего устройства |
RU2714219C1 (ru) | 2018-09-14 | 2020-02-13 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и система для планирования передачи операций ввода/вывода |
RU2714602C1 (ru) | 2018-10-09 | 2020-02-18 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и система для обработки данных |
RU2721235C2 (ru) | 2018-10-09 | 2020-05-18 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и система для маршрутизации и выполнения транзакций |
RU2711348C1 (ru) | 2018-10-15 | 2020-01-16 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и система для обработки запросов в распределенной базе данных |
RU2714373C1 (ru) | 2018-12-13 | 2020-02-14 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и система для планирования выполнения операций ввода/вывода |
RU2749649C2 (ru) | 2018-12-21 | 2021-06-16 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и система для планирования обработки операций ввода/вывода |
RU2720951C1 (ru) | 2018-12-29 | 2020-05-15 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и распределенная компьютерная система для обработки данных |
RU2746042C1 (ru) | 2019-02-06 | 2021-04-06 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и система для передачи сообщения |
CN113535361A (zh) * | 2021-07-23 | 2021-10-22 | 百果园技术(新加坡)有限公司 | 任务调度方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4642756A (en) * | 1985-03-15 | 1987-02-10 | S & H Computer Systems, Inc. | Method and apparatus for scheduling the execution of multiple processing tasks in a computer system |
US5129078A (en) * | 1988-08-19 | 1992-07-07 | Groves Stanley E | Dedicated service processor with inter-channel communication features |
-
1992
- 1992-05-22 US US07/887,987 patent/US5247677A/en not_active Expired - Lifetime
-
1993
- 1993-05-21 FR FR9306103A patent/FR2691557B1/fr not_active Expired - Lifetime
- 1993-05-24 JP JP14259693A patent/JP3578780B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
FR2691557A1 (fr) | 1993-11-26 |
FR2691557B1 (fr) | 1996-04-12 |
JP3578780B2 (ja) | 2004-10-20 |
US5247677A (en) | 1993-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3578780B2 (ja) | 確率的優先順位に基づいてタスクを選択する方法 | |
Sprunt et al. | Aperiodic task scheduling for hard-real-time systems | |
Van Tilborg et al. | Foundations of real-time computing: Scheduling and resource management | |
Lehoczky et al. | The rate monotonic scheduling algorithm: Exact characterization and average case behavior | |
JP6383518B2 (ja) | 仮想マシンモニター及び仮想マシンモニターのスケジューリング方法 | |
Tindell | Using offset information to analyse static priority pre-emptively scheduled task sets | |
JPH07271868A (ja) | アクティブでシミュレートされた意思決定処理を統合するシステム | |
JPH05274162A (ja) | マルチメディア・コンピュータ・オペレーティング・システム及び方法 | |
Burns et al. | Allocating and scheduling hard real-time tasks on a point-to-point distributed system | |
Goossens | Scheduling of hard real-time periodic systems with various kinds of deadline and offset constraints | |
Behera et al. | A new dynamic round robin and SRTN algorithm with variable original time slice and intelligent time slice for soft real time systems | |
CN113515366A (zh) | 一种总线负载均衡处理方法、装置及存储介质 | |
US7562364B2 (en) | Adaptive queue scheduling | |
Stankovic et al. | Scheduling in real-time transaction systems | |
EP1849071A2 (en) | Scheduler | |
Kim et al. | A due date-based approach to part type selection in flexible manufacturing systems | |
Chang | Queues with feedback for time-sharing computer system analysis | |
Mercer | An introduction to real-time operating systems: Scheduling theory | |
Liao et al. | Modeling and solving scheduling in overloaded situations with weighted partial MaxSAT | |
JPH09265459A (ja) | データ処理装置の制御方法 | |
Pandit et al. | Survey of real time scheduling algorithms | |
JPH11327928A (ja) | リアルタイムアプリケーション支援プログラムを記録したコンピュータ読み取り可能な記録媒体およびコンピュータシステム | |
Chen et al. | Scheduling value-based nested transactions in distributed real-time database systems | |
WO2006016283A2 (en) | Task scheduling using context switch overhead table | |
US20240264862A1 (en) | Task prioritization based on current conditions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20031202 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040302 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040305 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040602 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040622 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040714 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070723 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080723 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080723 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090723 Year of fee payment: 5 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090723 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090723 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100723 Year of fee payment: 6 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110723 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110723 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120723 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120723 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130723 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |