(57)【要約】  動作をスケジューリングする方法及び個別の冗長サブシステムがそのために存在する複数のシステムリソースを有する試料アナライザ上で開始された試験を救済する方法。方法は、サブシステム又はその冗長サブシステム上で実行されるべきアクションをリアルタイムでスケジューリングすること、サブシステム又は第一の冗長サブシステムを別のサブシステム又は第二の冗長サブシステムにリンクすること、サブシステム又は冗長サブシステムに対し、実行されるべきアクションを実行するよう命令すること、各アクションを実行すること、アクションの実行をモニタすること、及び開始された試験に影響するおそれのあるエラー又は誤動作が起こった場合に、第一のサブシステム上で実行されるべきアクションを、対応する個別の冗長サブシステム上に再スケジューリングすることを含む。再スケジューリングが不可能であるならば、方法は、開始された試験を休止しようと試みることを含む。休止が失敗するならば、方法は、その試験を不良とマーキングすること、及び最小限の妨害で試験を除去することを含む。
2011527759.tif 000002
【特許請求の範囲】
【請求項１】
複数のシステムリソース及び前記複数のシステムリソースの一つに対する少なくとも一つの個別の冗長サブシステムを有する試験装置上でオブジェクトに対する動作をスケジューリングする方法であって、
前記複数のシステムリソース及び前記少なくとも一つの個別の冗長サブシステム上で実行されるべき複数のアクション（それぞれが開始時間及び完了時間を有する）をリアルタイムでスケジューリングすること、
前記複数のシステムリソースの少なくとも一つ又は前記少なくとも一つの個別の冗長サブシステムの第一のものを、前記複数のシステムリソースの別の一つ又は前記少なくとも一つの個別の冗長サブシステムの第二のものにリンクすること、
前記複数のシステムリソースの少なくとも一つ及び前記少なくとも一つの個別の冗長サブシステムに対し、前記実行されるべき複数のアクションそれぞれを実行するよう命令すること、
前記複数のアクションそれぞれを実行すること、
前記複数のアクションそれぞれの実行をモニタすること、及び、
前記複数のシステムリソースの第一のサブシステム上で実行されるべきアクションを、前記少なくとも一つの個別の冗長サブシステムの対応するサブシステム上にリアルタイムで再スケジューリングすること、
を含む方法。
【請求項２】
再スケジューリングが失敗したとき、前記オブジェクトに対する前記動作を休止することをさらに含む、請求項１記載の方法。
【請求項３】
休止が失敗したとき、前記オブジェクトに対する前記動作を不良とマーキングし、前記オブジェクトを前記試験装置から除去することをさらに含む、請求項２記載の方法。
【請求項４】
前記複数のシステムリソースの一つ又は前記個別の冗長サブシステムの一つがアクションを正常に実行したことを認める完了信号を生成することをさらに含む、請求項１記載の方法。
【請求項５】
前記実行されるべきアクションを命令する前に、前記実行されるアクションの間に消費される消耗リソースを割り振り、確保することをさらに含む、請求項１記載の方法。
【請求項６】
前記実行されるべきアクションの実行の前に、前記割り振られ、確保された消耗リソースを、実行されるべき別のアクションの間に利用可能にすることをさらに含む、請求項５記載の方法。
【請求項７】
前記複数のシステムリソースそれぞれ及び前記少なくとも一つの個別の冗長サブシステムそれぞれの動作状態を確認することをさらに含む、請求項１記載の方法。
【請求項８】
再スケジューリングすることが、前記複数のサブシステムの前記第一のサブシステムによって消費されるように割り振られ、確保された消耗リソースを、前記対応するサブシステム上で実行されるべきアクションの間の消費のために再び割り振り、確保することをさらに含む、請求項１記載の方法。
【請求項９】
システム又は消耗リソースの検出されたエラー又は誤動作によって必要になるものである、少なくとも一つの個別の冗長サブシステムがそのために存在する複数のシステムリソースを有する試験装置上で開始された試験を救済する方法であって、
前記複数のシステムリソース及び前記少なくとも一つの個別の冗長サブシステム上で実行されるべき複数のアクション（それぞれが開始時間及び完了時間を有する）をリアルタイムでスケジューリングすること、
前記複数のシステムリソースの少なくとも一つ又は前記少なくとも一つの個別の冗長サブシステムの第一のものを、前記複数のシステムリソースの別の一つ又は前記少なくとも一つの個別の冗長サブシステムの第二のものにリンクすること、
前記複数のシステムリソースの少なくとも一つ及び前記少なくとも一つの個別の冗長サブシステムに対し、前記実行されるべき複数のアクションそれぞれを実行するよう命令すること、
前記複数のアクションそれぞれを実行すること、
前記複数のアクションそれぞれの実行をモニタすること、及び、
前記複数のシステムリソースの第一のサブシステム上で実行されるべきアクションを、前記少なくとも一つの個別の冗長サブシステムの対応するサブシステム上にリアルタイムで再スケジューリングすること、
を含む方法。
【請求項１０】
再スケジューリングが失敗したとき、前記オブジェクトに対する前記動作を休止することをさらに含む、請求項９記載の方法。
【請求項１１】
再スケジューリングすることが、前記開始された試験を前記複数のシステムリソースの前記第一のサブシステムから前記少なくとも一つの個別の冗長サブシステムの対応するサブシステムに移すことを含む、請求項９記載の方法。
【請求項１２】
前記複数のシステムリソースの一つ又は前記個別の冗長サブシステムの一つがアクションを正常に実行したことを認める完了信号を生成することをさらに含む、請求項９記載の方法。
【請求項１３】
前記複数のシステムリソースそれぞれ及び前記少なくとも一つの個別の冗長サブシステムそれぞれの動作状態を確認することをさらに含む、請求項９記載の方法。
【請求項１４】
再スケジューリングすることが、前記複数のシステムリソースの第一のサブシステムによって消費されるように割り振られ、確保された消耗リソースを、前記対応するサブシステム上で実行されるべきアクションの間の消費のために再び割り振り、確保することをさらに含む、請求項９記載の方法。
【請求項１５】
対応する個別の冗長サブシステムがそのために存在する複数のシステムリソース及び少なくとも一つのサブシステムを有する試験装置のためのスケジューラであって、
前記複数のシステムリソース及び対応する個別の冗長サブシステム上で実行されるべき少なくとも一つのアクションをスケジューリング、スケジューリング解除又は再スケジューリングするように構造化され、構成されたスケジューリング装置を含み、前記スケジューリング装置が、所望の機能を前記複数のシステムリソースの適切なサブシステム上にスケジューリングすることにより、オブジェクトに対してその所望の機能を実行し、また、前記実行されるべき少なくとも一つのアクションの完了又は完了時間に影響するエラー又は誤動作が起こった場合に、前記所望の機能を前記少なくとも一つの個別の冗長サブシステムの対応する適切なサブシステム上に再スケジューリングすることにより、前記オブジェクトに対して前記所望の機能を完了するように構造化され、構成されているスケジューラ。
【請求項１６】
前記少なくとも一つのアクションの第一のスケジューリング済みアクションを前記少なくとも一つのアクションの第二のスケジューリング済みアクションにリンクするように構造化され、構成されているアクションアセンブリビルダをさらに含み、前記第一及び第二のスケジューリング済みアクションそれぞれが開始時間及び完了時間を有する、請求項１５記載のスケジューラ。
【請求項１７】
前記複数のシステムリソースの適切なサブシステム上でオブジェクトに対して所望の機能を実行するための第一のセットのコマンド信号を生成し、前記所望の機能の実行がエラー又は誤動作によって影響される場合に、前記所望の機能を前記少なくとも一つの個別の冗長サブシステムの対応する適切なサブシステム上で実行するための第二のセットのコマンド信号を生成するように構造化され、構成されている制御装置をさらに含む、請求項１５記載のスケジューラ。
【請求項１８】
前記複数のサブシステム及び前記少なくとも一つの個別の冗長サブシステムのための消耗リソースを割り振り、確保するために前記スケジューリング装置が電気的に結合されているデータ記憶装置をさらに含む、請求項１５記載のスケジューラ。
【請求項１９】
個別のアクションを実行するための複数のシステムリソース、
少なくとも一つの個別の冗長サブシステム、
前記複数のシステムリソース上で実行されるべき複数のアクションをスケジューリング、スケジューリング解除又は再スケジューリングするように構造化され、構成されているスケジューラ、
前記複数のアクションの第一のスケジューリング済みアクションを前記複数のアクションの第二のスケジューリング済みアクションに動作的に接続するように構造化され、構成されているアクションアセンブリビルダ（各スケジューリング済みアクションは開始時間及び完了時間を有する）、及び、
前記複数のシステムリソースの適切なサブシステム上でオブジェクトに対して所望のアクションを実行するための第一のセットのコマンド信号を生成し、完了されるべき前記少なくとも一つのアクションの完了又は完了時間に影響するエラー又は誤動作が起こった場合に、前記所望のアクションを前記個別の冗長サブシステムの対応する適切なサブシステム上で実行するための第二のセットのコマンド信号を生成することにより、前記オブジェクトを救済するように構造化され、構成されている制御装置、
を含む試料アナライザ。
【請求項２０】
前記複数のシステムリソースそれぞれが、ディスパッチされたコマンド信号を受け取ること、前記ディスパッチされたコマンド信号に対する応答を送信すること、前記サブシステムの動作可能性／動作不能性の状態信号を送信すること、前記コマンド信号に対応するアクションを実行すること、及び前記コマンド信号に対応するアクションが実行されたという完了信号を送信することの少なくとも一つを実行するように適合されている、請求項１９記載のアナライザ。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本ユーティリティ特許出願は、「Error-Handling Scheduler」と題する２００８年７月１０日付けの米国特許仮出願第６１／０７９，４４７号の優先権を主張する。
【０００２】
連邦政府資金援助を受けた研究開発に関する声明
（該当せず）
【０００３】
発明の背景
本発明は、システムアナライザ及びそのための制御システムに関し、より具体的には、少なくとも一つの冗長サブシステムを有するシステムアナライザに対して高速エラー処理及び高速例外処理を提供するためのスケジューラ及び制御システムに関する。
【０００４】
化学発光アナライザのようなシステムアナライザに多数の冗長サブシステムを提供することは、サブシステムの追加的サイズ及びコストのせいで、一般的には実施されない。しかし、多数の冗長サブシステムは、サブシステムの一つが動作不能になった場合でも試料を処理し続けるための限定的な能力を提供する。実に、多数の冗長サブシステムが提供される場合、それらの冗長サブシステムは互換性がある。その結果、試料が投入されたのち、対応するサブシステムが動作不能になった場合に、ある冗長サブシステムが、その対応するサブシステムに代わって作動することができる。
【０００５】
スループットに悪影響を及ぼすことなく、投入された試料を救済することは特に望ましい。したがって、試料を救済し、さらには、冗長サブシステムがそのために存在するサブシステムの動作不能性にもかかわらずスループットを実際に増大させるためのスケジューラを提供することが望ましいであろう。より具体的には、不測の事象の影響を抑えるために、高速エラーハンドラ及び／又は高速例外ハンドラならびに関連するエラー及び／又は例外処理アプリケーション、ソフトウェアなどを提供することが望ましいであろう。
【発明の概要】
【０００６】
オブジェクトに対する動作をスケジューリングする方法及び複数のシステムリソースを有し、その少なくとも一つが個別の冗長サブシステムを有する試料アナライザ上で開始された試験を救済する方法が開示される。方法は、サブシステム上で実行されるべき複数のアクションをリアルタイムでスケジューリングすること；少なくとも一つのサブシステム又は第一の個別の冗長サブシステムを別のサブシステム又は第二の個別の冗長サブシステムにリンクすること；サブシステム及び個別の冗長サブシステムに対し、アクションを実行するよう命令すること；各アクションを実行すること；各アクションの実行をモニタすること；及び開始された試験の正常なフローからの逸脱、たとえばエラー又は誤動作がある場合に、開始された試験を再スケジューリングもしくは遅延（「休止」）させる、又は開始された試験を「不良」とマーキングすることを含む。
【０００７】
同じく、少なくとも一つの冗長サブシステムを有する試料アナライザのためのスケジューラが開示される。スケジューラは、サブシステムによって実行される少なくとも一つのアクションをスケジューリング、スケジューリング解除又は再スケジューリングするように構造化され、構成されているスケジューリング装置を含む。より具体的には、スケジューリング装置は、所望の機能を適切なサブシステム上にスケジューリングすることにより、オブジェクトに対して所望の機能を実行し、適切なサブシステム上で所望の機能の実行が正常なフローからの逸脱、たとえばエラー又は誤動作を経験する場合に、必要ならば、開始された試験を不良とマーキングすることにより；開始された試験を「休止」させることにより；及び／又は所望の機能を対応する適切なサブシステム上に再スケジューリングすることにより、所望の機能を完了するように構造化され、構成されている。
【０００８】
最後に、個別の動作を実行するための複数のシステムリソース；少なくとも一つの個別の冗長サブシステム；スケジューラ；第一のスケジューリング済みアクションを第二のスケジューリング済みアクションにリンクするように構造化され、構成されているアクションアセンブリビルダ；及び適切なサブシステム上でオブジェクトに対して所望の機能を実行するための第一のセットのコマンド信号を生成するように構造化され、構成されている制御装置を含む試料アナライザが開示される。可能ならば、スケジューラ及び制御装置はさらに、試料アナライザのエラー又は誤動作の場合に、対応する冗長サブシステム上で所望の機能を完了させることにより；開始された試験を「休止」させることにより、又は、再スケジューリング及び休止が失敗した場合に、開始された試験を不良とマーキングし、それをシステムアナライザから除去することにより、オブジェクト、たとえば開始された試験を救済するように適合されている。
【０００９】
本発明は、発明の詳細な説明を図面と併せて参照することにより、さらに十分に理解されるであろう。
【図面の簡単な説明】
【００１０】
【図１】本発明のシステムアナライザのためのサブシステムの実施態様のブロック図を示す。
【図２】本発明のシステムアナライザのための機器制御装置のブロック図を示す。
【図３】スケジューラスケジュールを現在時ラインとともに示す。
【図４】現在時ラインが二つのアクションブロックと交差した後の図３のスケジューラスケジュールを示す。
【図５】現在時ラインがアクションブロックの一つを通過し、二つの新たなアクションブロックと交差した後の図４のスケジューラスケジュールを示す。
【発明を実施するための形態】
【００１１】
詳細な説明
多数の冗長サブシステムを有する試料アナライザ、たとえば化学発光アナライザで使用するための高レベルスケジューラが開示される。スケジューラは、高速エラー処理及び高速例外処理機能を提供してスループットを改善するように適合されている。スケジューラは、正常なフローからの逸脱の場合に、多数の冗長サブシステムの存在及び利用可能性を使用して、できるだけ多数の開始された試料試験を救済する。たとえば、逸脱は、冗長サブシステム及び／又はその制御ソフトウェアのエラー又は誤動作及び／又は開始された試験の取り消しを含むことができる。したがって、スケジューラは、試験、プライム、希釈物、試料ラック、遺棄された反応管などをサブシステムごとにスケジューリングするように設計されている。
【００１２】
有利には、本スケジューラ手法は、ユーザが、サブシステム及びリソースをスケジューリングして、試験そのものの開始の前に、すでに開始された試験と直接衝突することなく、事前に指定されたアッセイプロトコルをできるだけ速やかに完了することを可能にする。たとえば、スケジューラは、希釈物を設定する；容器を個別の試薬又は複数の試薬で満たす；充填された、又は空の容器を収容するラック及び／又はウェッジを所望の場所に移動させる；などができる。
【００１３】
高速エラー処理能力及び高速例外処理能力は、開始された試験の取り消しの結果として、又は冗長サブシステムの一つにおける機械的、ソフトウェアもしくは他のエラー／誤動作の結果として生じるおそれのある不測の事象、すなわち逸脱を斟酌する。高速エラー処理能力及び高速例外処理能力の目的は、可能な限り、開始された試験が「不良」と分類されることを防ぐことである。実に、冗長サブシステムを互換可能に使用して、普通ならば「不良」と分類されるであろう開始された試験を完了し、救うことは、当技術分野において新規であり、本発明の望ましい特質である。
【００１４】
理論的には、スケジューラとは、スケジュールへの、及びスケジュール内のインターフェースのセットであるが、スケジュールとインタフェースする、又はスケジュールとのインタフェースを可能にするハードワイヤード装置、装置を制御するためのソフトウェア、ソフトウェアのためのコンピュータ実行可能なコードなどをも指す。スケジューラは、スケジュールを操作するための多数のソフトウェアインタフェースクラスを含む。
【００１５】
インタフェースクラスは、たとえば、アクションを、スケジュールに加える、又はスケジュールから除去することによってスケジュールを操作又は修正し；スケジュール中へのポインタのセットを含む、又は含むことができるオブジェクト、たとえばラック、試験、事象などを設定、変更及び／又は除去するように適合されている。
【００１６】
図３にペッグボードとして概念的に表されたスケジュールは、所望のタスク又は動作を実行するために試料アナライザの一つ以上のサブシステムが論理的及び時系列的順序で実行すべきアクションの二次元アレイである。そして、ペッグボードは、システムアナライザの現在及び未来の活動を保持するための中心構造である。スケジューラがペッグボードを創製し、維持する。
【００１７】
スケジュールは、サブシステム又はリソースを対時間で示す概念化された表である。スケジューラは、全く関連のない動作、たとえばラック撤去、反応管撤去、試薬吸引、試薬小出しなどを、一つの動作が他の動作を妨げることなく実行するように適合されている。必然的に、スケジュールそのものは、動作から切り離されている、すなわち、リアルタイム要件を有しない。
【００１８】
図３に示すように、スケジュール時間はｙ方向には無拘束であり、スケジュール上の各「スケジューリング済み」項目が一つのアクションを構成する。アクションは、一般には原子単位とも呼ばれる、スケジューリング可能な最小単位に対応する。行動の原子単位はスケジューラに記憶される。アクションは、非限定的に、アクションの特定、アクションの開始時間、アクションを実行するサブシステムの特定、アクションの終了時間、アクションの優先順位、アクションが確約されたかどうかなどの一つ以上を含むことができる。
【００１９】
また、各アクションは、状態、たとえば「スケジューリング済み」、「スケジューリングされていない」、「進行中」及び「完了」を含む。「スケジューリング済み」アクションとは、実行されるべきとして二次元アレイに含まれているアクション、すなわち、概念的スケジュールに含まれているアクションを指す。「スケジューリングされていない」アクションとは、スケジューラによって使用されることはできるが、スケジュールに含まれてはいないアクションである。他の二つの状態は読んで字のごとくであり、以下で言及する。
【００２０】
複数のアクションは、それらが相互に関連する、又は相互に依存することを示すために、アセンブル又は集約されることができる。スケジューラの統合部分であることもできるし、個別の独立型装置であることもできるアクションアセンブリ又はアクションアセンブリビルダが、集約されたアクションを相互に関連させる。アクションアセンブリビルダは、要求された高レベル活動、たとえば患者検査をアクションアセンブリに変換する。アクションアセンブリビルダ部分の主要な目的は、アクションがスケジューラに利用可能になるようなアクション間の時間的関係を確立することである。実に、スケジューラがアクションをスケジューリングするのが速ければ速いほど、特にサブシステムのエラー又は誤動作の場合、アナライザのスループットが高くなる。
【００２１】
スケジューラの二次的な目的は、インタフェースを要するサブシステムの占有のためのインタフェースを追跡し、提供することである。占有とは、除去可能なスケジューリング可能な事象の数、たとえばサブシステム中又はサブシステム上のラック又は反応管の位置の数をいう。
【００２２】
前述したように、本開示の趣旨に関して、スケジューラとは、アクションをリアルタイムで創製し、スケジューリングし、実行することができるハードウェア、ミドルウェア及び／又はソフトウェアアプリケーションを指すことができる。ハードウェアアプリケーションの例は、非限定的に、プロセッサ、マイクロプロセッサ、パーソナルコンピュータ、制御装置、制御システムなどを含むことができる。ソフトウェアアプリケーションは、ドライバプログラム、アプリケーション、アルゴリズムなどのための機械実行可能なコード及び／又は機械実行可能なコードが記憶されている有形オブジェクトを含むことができる。
【００２３】
スケジューラ最適化
スケジューラは、試料に対して事前に確立されたアッセイプロトコルを高レベルのラックスループットで完了するために、ジョブ又は試験（すでに開始されたもの及びまだ開始されていないものの両方）、ラック、プライム、希釈物、遺棄された反応管などをスケジューリングするように構造化され、構成されている。スケジューラに固有であるものは、動作を、サブシステムごとに、必要な場合には冗長サブシステムを取り換えながらスケジューリングし、より具体的には、開始された試験を可能な程度に救済する能力である。
【００２４】
本発明にしたがって、以下の最適化関数が、どの試験を開始すべきであり、どのリソース、たとえば試薬、溶球、試料、バッフルなどを使用すべきであるのかを決定することを可能にする。
【００２５】
Jm|nwt, prec, rj, resbaffle 1 272 2, resreagent・・k, resbead・・
1, ressample・1 z, resreaction tube 1・2 | 105 CPmax + CRmax
【００２６】
関数中、
J又はjはジョブを指し、
Jmは、各ジョブが個別の事前に決定された経路を有するジョブショップを指し、
nwtは、二つの連続するサブシステムの間でジョブが待つことを許されない「ノーウエイト」を指し、
precは、いくつかのジョブが他のジョブよりも前に完了されなければならないという順序制約を指し、
rjは、ジョブが処理を開始することができる最早指定時間又はジョブがサブシステムに到着する時間に対応する解放日付を指し、
resλσρはリソース制約を指し（λ＝タイプの数であり、σ＝タイプあたりの限界であり、ρ＝タスクのための最大要件である）、
kは試薬の最大量を指し、
zは試料の最大量を指し、
CPmaxは、優先クラス内で解放されるすべての試験の一連のジョブ又はタスクの開始と終了との間の時間の量、すなわち「メイクスパン」をそれらの優先順位で乗じたものを指し、
CRmaxは、ある特定のラックからのすべての試験のメイクスパンを指す。
【００２７】
そのうえ、以下の最適化関数は、個別の試験を最高レベルのスループットで実行するためのスケジューラの部分を表す。
【００２８】
カルーセル内の溶球パックの選択
【００２９】
1|res・・1, rj, Dj | Lmax
【００３０】
関数中、Djはジョブjの期限を指し、Lmaxは最大完了時間又は期限を指す。
【００３１】
インキュベータの選択
【００３２】
Pmt|nwt, rj|今日の優先順位
【００３３】
カルーセル内の試薬ウェッジの選択
【００３４】
1|res・・9, rj, Dj | Lmax
【００３５】
キットの選択
【００３６】
1|res・・1, rj, Dj | Lmax
【００３７】
試料ピペッタ
【００３８】
Pm | nwt, rj ressample 1 1 z | 今日の順位
【００３９】
試薬ピペッタ
【００４０】
Pm | nwt, rj resreagent・・k | 今日の順位
【００４１】
インキュベータ及びピペッタに関する「今日の順位」とは、一つのインキュベータ／ピペッタがより頻繁に使用され、ひいては、別の冗長インキュベータ／ピペッタよりも多大な摩耗をこうむることのないよう、冗長インキュベータ／ピペッタそれぞれの摩耗が均一化される手段をいう。したがって、「今日の順位」は、１−２−３又は２−３−１又は３−１−２（各数字が個別のインキュベータ／ピペッタを指す）の順序に対応するであろう。
【００４２】
制御アーキテクチャ
システムアナライザのための例示的な制御側アーキテクチャ及びサブシステム間インタフェースが図１に示されている。様々なサブシステムの数及び機能は、スケジューラの機能を説明する目的のためのみである。図１のサブシステムはすべて当業者に周知であり、したがって、それらの機能及び相互関係は詳細には説明しない。
【００４３】
具現化されたシステムアナライザ１０は、ラックローダ１１、反射カルーセル１２、試料カルーセル１３、冗長試料ピペッタ１４ａ及び１４ｂ、冗長溶球カルーセル１５ａ及び１５ｂ、反応管供給フィーダ１６、試薬トラック１７、試料管トラック１８、冗長試料インキュベータ１９ａ及び１９ｂ、冗長洗浄ステーション２０ａ及び２０ｂ、ルミノメータ２１、冗長試薬ピペッタ２２ａ〜２２ｄならびに複数の試薬カルーセル２３ａ及び２３ｂを含む。例示目的のためのみ、試料ピペッタ１４ａ及び１４ｂ、溶球カルーセル１５ａ及び１５ｂ、試薬カルーセル２３ａ及び２３ｂならびにインキュベータ１９ａ及び１９ｂ、冗長洗浄ステーション２０ａ及び２０ｂの数はそれぞれ二である。より多数のインキュベータ及び／又はより多数又は少数の試料ピペッタ、溶球カルーセル、試薬カルーセル及び／又は洗浄ステーションが含まれてもよい。多数の個別の冗長サブシステムの存在及び利用可能性が本スケジューラを望ましいものにする。
【００４４】
図１に示すように、冗長試料ピペッタ１４ａ及び１４ｂそれぞれは試料カルーセル１３及び試料管トラック１８に動作的に接続されて、試料カルーセル１３中に配置された容器に含まれる試料又は希釈剤を試料ピペッタ１４ａ又は１４ｂの一つによって吸引し、小出し、試料管トラック１８中に配置された容器中に小出しすることができるようになっている。第一の複数の試薬ピペッタ２２ａ及び２２ｂが複数の試薬カルーセル２３ａの一つに動作的に接続され、第二の複数の試薬ピペッタ２２ｃ及び２２ｄが複数の試薬カルーセル２３ｂの別の一つに動作的に接続されている。冗長試薬ピペッタ２２ａ〜２２ｄそれぞれは試薬トラック１７に動作的に接続され、第一の複数の試薬ピペッタの少なくとも一つ２２ｂ及び第二の複数の試薬ピペッタの少なくとも一つ２２ｄが冗長インキュベータ１９ａ及び１９ｂの一つ以上に動作的に接続されている。試薬カルーセル２３ａ及び２３ｂならびに試薬ピペッタ２２ａ〜２２ｄは動作的に接続されて、冗長試薬カルーセル２３ａ又は２３ｂの一つに配置された容器から所望の量の試薬を吸引することができるようになっている。
【００４５】
冗長試薬ピペッタ２２ａ〜２２ｄの一つ以上が試薬トラック１７及び冗長インキュベータ１９ａ及び１９ｂに動作的に接続されて、吸引された試薬を、試薬トラック１７中に配置された、又は冗長インキュベータ１９ａ及び１９ｂのいずれかの中に配置された容器の中に小出しすることができるようになっている。
【００４６】
図１は、冗長試薬ピペッタ２２ａ〜２２ｄが、試薬トラック１７に動作的に接続されている回転ピペッタ２２ａ及び２２ｃならびに試薬トラック１７及び冗長インキュベータ１９ａ及び１９ｂの一つ以上に動作的に接続されている線形ピペッタ２２ｂ及び２２ｄを含むことを示す。回転又は線形ピペッタの選択は自由である。しかし、前述したように、冗長試薬ピペッタ２２ａ〜２２ｄの集合的摩耗を均一化するために、使用順序を制御することができる。
【００４７】
図２を参照すると、アナライザシステム１０は、機器制御装置３０、アクションアセンブリビルダ４０、スケジューラ５０及びデータ記憶装置６０をさらに含む。これらのシステム要素は別々の機能又は別個の装置として説明され、参照されるが、システム要素のすべて又は任意の組み合わせを、スケジューラ５０又は主制御装置の部分として具現化することもできる。
【００４８】
機器制御装置３０は、どのコマンドをどのシステムリソースに送るのかを決定し、そのコマンドをいつ送るべきかを決定するように構造化され、構成されている。このために、制御装置３０はスケジュールを使用する。制御装置３０はさらに、サブシステムから応答を受け取り；その応答を解析し；応答を使用して、動作が成功したのか失敗したのかを判断する。成功又は失敗に依存して、制御装置３０は、開始された試験のさらなる処分を取り扱う。
【００４９】
機器制御装置３０は、入出力インタフェース及び十分なメモリ、たとえば揮発性ランダムアクセスメモリ（ＲＡＭ）及び不揮発性読み取り専用メモリ（ＲＯＭ）を有するプロセッサ、マイクロプロセッサ、パーソナルコンピュータなどを使用して具現化することができる。データ記憶装置６０のすべて又はいくらかの部分を含むこともできる制御装置ＲＯＭは、スケジューラ５０、アクションアセンブリビルダ４０及び図１に示す様々なサブシステムを作動させるためのアプリケーション、アルゴリズム、ドライバプログラムなどを含むソフトウェア又はハードウェアを含むことができる。制御装置のＲＡＭ上で実行されるプログラムは、制御装置ＲＯＭに記憶されたドライバプログラム、アプリケーション、アルゴリズムなどを選択的に呼び出し、実行するように適合されている。
【００５０】
アクションアセンブリビルダ及びスケジューラ
時間に敏感なやり方でスケジュールを使用する原子単位行動又は多数の原子単位行動のスケジューリングは、スケジューラ５０によって実行される。しかし、スケジューラ５０は、アクションアセンブリビルダ４０を使用して、要求された高レベル活動をアクションアセンブリに変換する。前述したように、スケジューラ５０は、現在及び未来の活動、すなわちスケジュールを保持するための手段を維持する。
【００５１】
個別のサブシステムを使用して原子単位行動を時間に非敏感なやり方で実行すること、及び複数の「スケジューリング済み」アクションを相互に関連させることはアクションアセンブリビルダ４０によって実行される。アクションアセンブリビルダ４０の原子単位そのものがアクションである。したがって、アクションアセンブリビルダ４０の機能を説明する前に、アクションが意味するものをより良く理解しなければならない。
【００５２】
理論的に、「アクション」とは、個別のサブシステムによってサポートされる原子単位行動をいう。しかし、より具体的には、アクションはまた、スケジューラ５０及びスケジューリング機能にとって重要である又は有用であることができる各サブシステムの原子単位行動に関する情報を含む。たとえば、試薬の吸引に対応する原子単位行動の場合、創製されるアクションは、試薬カルーセル２３ａ又は２３ｂの一つ及び試薬ピペッタ２２ａ〜２２ｄの一つの上の特定の試薬ボトル中に格納された特定の試薬に関連するアクションの部分、すなわちジョブ又はタスクをアドレス指定しなければならない。
【００５３】
原子単位行動は、アクションの「状態」、たとえば「スケジューリングされていない」、「スケジューリング済み」、「ディスパッチ済み」及び「完了」を含むことができる。「スケジューリングされていない」とは、創製されてはいるが、スケジュールに組み込まれてはいない（以下に記載するように、スケジューラ５０によって）アクションをいう。「スケジューリング済み」とは、創製され、スケジューラ５０によってスケジュールに組み込まれているアクションをいう。スケジューリング済みのアクションは「予約」又は「確約」されることができ、これもまた以下に記載する。「ディスパッチ済み」とは、サブシステムに送られたが、それに関して応答が受け取られていないアクションコマンドをいう。「完了」とは、アクションコマンドが特定のサブシステムによって受け取られ、その特定のサブシステムがディスパッチされたアクションの受け取りを認めており、その特定のサブシステムからの応答信号が処理されていることを意味する。
【００５４】
アクションは、原子単位行動を完了するのに要する最大量の時間をモデル化する、及び／又は、異なるサブシステムの相関に関連するアクションの間のタイミング関係をモデル化する。前者は、スケジューラ５０が、二つのアクションが同じサブシステムによって同時並行的に完了されることを要求するように個別のサブシステムをオーバースケジューリングすることなく、原子単位行動をスケジューリングすることを可能にする。後者の場合、相互に関連するアクションを実行するのに適切な開始時間を待ちながら、相互に関連するアクションに関する情報又はパケットを事前にアセンブリすることができる。
【００５５】
そして、アクションアセンブリビルダ４０の主要な目的は、一つ以上のサブシステムのための各試験又はジョブを絶対的に時間に非敏感なやり方で記述することである。アクションアセンブリビルダ４０は、サブシステム冗長の数又はアセンブリされたアクションの開始時間をあまり気にせず、むしろ、どの個別のサブシステムがそのアクション行動を実行するために作動するのか、また、複数の相関に関連するアクションの間の相対的時間的関係を気にする。アセンブリビルダ４０は、アクションアセンブリの開始時間を割り振ることなく、任意の複雑さのアセンブルされたアクションを構築する。スケジューラ５０は、アクションアセンブリの開始時間を割り振り、サブシステム及びリソースを割り振る。そのような情報が、実際の開始時間の前に、任意の複雑さのアクションをアセンブリすることを可能にする。これは、スケジュールに関する以下の説明でさらに明らかになるであろう。
【００５６】
より具体的には、アクションアセンブリビルダ４０は、個別のサブシステムによって、たとえば呼び出しを使用しながら複数のアクションをアセンブルし、さらに、アクションがどのように互いに関連するのか、また、アクションがどのように互いによって制約されるのかを記述する。たとえば、試薬を含む管を試薬トラック１７から試料トラック１８に移すためには、少なくとも二つの相互に関連するタスクを伴うということが事前に知られる。したがって、そのアクションの実際の開始時間の前に、様々な個々のタスクを一つの実行可能なアクションにアセンブルすることが効率的であり、意味を成す。
【００５７】
例に戻ると、第一のタスクは、試薬を含む個別の試料管を試薬トラック１７中の個別の場所から移すための試薬トラック移送アクションを伴う。関与するサブシステムは、とりわけ、試薬トラック１７及び移送装置（図示せず）を含む。第二のタスクは、試薬トラック１８中の個別の場所で個別の試料管を受け取るための試料トラック受け取りアクションを伴う。関与するサブシステムは、とりわけ、移送装置（図示せず）及び試料トラック１８を含む。そして、アクションアセンブリビルダ４０は、実際の開始時間の前に、スケジュール上に「スケジューリング済み」である場合、アクション行動を実行するために必要なサブシステムに対して必要なアクションコマンドを生成する一つのアクションへの呼び出しを生成することができる。
【００５８】
以下、スケジュール概念（図３）を使用して、アクションアセンブリビルダ４０及びスケジューラ５０とのその相互関係を再び説明する。前述したように、アクションアセンブリビルダ４０及びスケジューラ５０の機能性は、本明細書で選択し、記載するものとは異なる構成に分割されることもできる。
【００５９】
概念的に、任意のアクションの原子単位行動が時間及び／又はシステムリソースを消費するということは事前に知られる。時間要素は、開始時間と終了時間との間で計測される。スケジュール上、時間はｙ方向における連続体である。システムリソースは、サブシステム能力、キットコンポーネント、個別のサブシステム、冗長サブシステム、消耗品、たとえば試料管、使い捨てチップ、管カバー、キュベット、試薬、洗浄液などを指すことができる。
【００６０】
アクションがスケジュールに含まれる前に、スケジューラ５０はまず、原子単位行動の一部分であるタスクを完了するために必要なシステム又は消耗リソースごとに、そのシステム又は消耗リソースが利用可能であることを決定しなければならない。その結果、スケジューラ５０がスケジュール（「ペッグボード」）中にアクションを含む場合、それぞれのアクション及び／又は制御装置３０に対応する「OnSchedule」動作が、必要なシステム及び消耗リソースを自動的に割り振り、確保し、すなわち取っておき、そのアクションが実際に開始される場合及びそのアクションの間にタスクが開始される場合、そのタスク及びアクションを完了する。
【００６１】
消耗リソースは、現実的又は物理的存在、たとえば試薬ボトル中の試薬の量又は試験管ラック中の試験管の数及び仮想的存在、たとえばデータベース中のデータを有する。たとえば、確保された消耗リソース上のデータファイル及び全利用可能な消耗リソース上のデータファイルは、メモリ、たとえばデータストアデータベース６０中に維持されることができる。
【００６２】
データストア６０は、システムアナライザに関連する情報、たとえば各サブシステムの現在の状態及び／又は能力ならびにその上で使用されるための消耗リソース、たとえば各カルーセル及び各インキュベータの内容物などに関する情報の共通の保管所である。
【００６３】
したがって、個別のアクション又はアクションアセンブリのための「OnSchedule」動作が呼び出されると、そのアクション／アクションアセンブリに対応する適切な全利用可能なリソースデータファイルが引き落としされ、サブシステムまたは個別のアクション／アクションアセンブリに固有である、適切な確保されたリソースデータファイルが、全利用可能なリソースデータファイルから引き落としされたリソースの量とともにクレジットされる。有利には、制御装置３０、アクションアセンブリビルダ４０及びスケジューラ５０は、確保される消耗リソースが全利用可能なリソースを超過しないように適合されている。さもなくばリソースの超過が起こる場合、制御装置３０は、システムアナライザがより多くのリソースを必要としていることをユーザに警告するための警告信号を生成するように適合されている。そのうえ、スケジューラ５０は、システム又は消耗リソースが足りないアクション／アクションアセンブリをスケジューリングしないように適合されている。
【００６４】
図３〜５は概念的スケジュールの様々な段階を示す。縦座標（ｙ軸）は、連続体である時間の経過を示す。複数の非特定の「スケジューリング済み」アクションのボックス３２が、無次元である横座標（ｘ軸）に沿って配置されている。現在時ライン４５が実時間のしるしを提供する。したがって、現在時ライン４５よりも下の縦座標沿いの値は未来の接近中の時間を表す。
【００６５】
各アクションボックス３２は、アクションを完了すべき特定のサブシステムではなく、完了されるべきアクションを指す。スケジュール上に示されたアクションボックス３２は、そのためにシステム及び消耗リソースが確保されている「スケジューリング済み」状態にある。スケジュール上に含まれていないアクションは「スケジューリングされていない」状態にとどまる。
【００６６】
各アクションのｙ方向の「高さ」寸法は時間に敏感であり、そのアクションが開始された時間又は開始される予定である時間（最上部３４）及びそのアクションが完了される時間又は完了されるべき時間（最下部３６）を示す。簡潔にいうと、アクションボックス３２の「高さ」寸法は、特定のアクションの開始と完了との間に必要な時間の量を表す。
【００６７】
しかし、一つのアクションが、完了するために一つ以上のサブシステムを要することもあることが留意されよう。各サブシステムが、アクションを構成するタスク又はジョブを完了する。たとえば、試料ピペッタアクションボックス３２（図３）は、冗長試料ピペッタ１４ａ又は１４ｂの一つ中に収容された事前に吸引された試料を、試料トラック１８中に配置された空の反応容器の中に小出しすることを伴う。したがって、アクションが完了したとき、試料ピペッタ１４ａ又は１４ｂの一つ、及び、試料トラック１８のサブシステムが使用されている。一つのアクションが各タスクをカバーする。
【００６８】
図３〜５の矢印は、相互に関連するアセンブリされたアクション３２のリンク又はリンク点３３を示す。リンク点３３は、リンクされたアクションボックス３２が相互依存性である、すなわち、リンクされた各アクション３２が、完了されるためには、リンクされた他方のアクション３２に依存するということを意味する。大部分の場合、リンクされたアクションは、アセンブルされたアクションが共通のサブシステムを共用するということを意味する。
【００６９】
リンク点３３はアクションアセンブリビルダ４０によって生成される。したがって、リンクされたアクションボックス３２は「アクションアセンブリ」を示し、それはさらに、リンクされたアクションアセンブリの間に特定の潜在的に制限的なタイミング要件が課されていることを指定する。たとえば、サブシステムアクションボックス３２の「高さ」沿いのリンク３３の時間的場所は、サブシステムシーケンス中のリンクされた送り側サブシステムと受け側サブシステムとの間の通信の最早又は必要な開始時間を示す。これを以下の例によってさらに説明する。
【００７０】
スケジュールは、未来時間の値の方向に、すなわち、横座標の方向に移動する現在時ライン４５を含む。図３において、現在時ライン４５は、スケジューリング済みアクションボックス３２のいずれとも交差しておらず、したがって、実行されているアクションはない。図４において、現在時ライン４５は、二つのスケジューリング済みアクションボックス３２ａ及び３２ｂの最上部分３４と交差した状態で示されている。二つのスケジューリング済みアクションボックス３２ａ及び３２ｂは互いに直接はリンクしていないが、スケジューリング済みアクションの依存性が示されている。
【００７１】
第一のアクションボックス３２ａは、たとえば、試薬ピペッタ２２ａ〜２２ｄサブシステムの一つ、及び、試薬カルーセル２３ａ又は２３ｂサブシステムの一つに格納された試薬容器の一つを伴う一つの試薬吸引アクションに対応する。第二のアクションボックス３２ｂは、たとえば、溶球反応管カルーセル１５ａ又は１５ｂサブシステムの一つ、及び、管フィーダ１６サブシステムを伴う溶球反応管取得アクションに対応する。
【００７２】
現在時ライン４５がはじめに第一のスケジューリング済みアクションボックス３２ａの最上部分３４、すなわち開始時間と交差すると、制御装置３０が第一のアクションボックス３２ａに対応する適切なアクションコマンドを自動的に構築する、又はアクションそのものがそれを構築し、すなわち、一つの試薬吸引を実行し、その後、対応する利用可能なサブシステム、たとえば適切な試薬カルーセル２３ａ又は２３ｂ及び利用可能な試薬ピペッタ２２ａ〜２２ｄにコマンドをディスパッチする。ひとたびアクションコマンドが送られると、アクションの原子単位行動の状態は「スケジューリング済み」から「ディスパッチ済み」に変更される。
【００７３】
時系列的に、時間が進行（増加）して、現在時ライン４５が第二のスケジューリング済みアクションボックス３２ｂの最上部分３４、すなわち開始時間と交差すると、制御装置３０が第二のアクションボックス３２ｂに対応する適切なアクションコマンドを自動的に構築する、又はアクションそのものがそれを構築し、すなわち、溶球反応管を取得し、その後、適切な対応するサブシステム、たとえば適切な溶球カルーセル１５ａ又は１５ｂ及び管フィーダ１６にコマンドをディスパッチする。ひとたび適切なアクションコマンドが送られると、アクションの原子単位行動の状態は「スケジューリング済み」から「ディスパッチ済み」に変更される。
【００７４】
サブシステムは、ディスパッチされたアクションコマンドを受けたのち、応答メッセージ又は信号を生成し、制御装置３０又はアクションそのものに送信して、ディスパッチされたアクションコマンドが受け取られたことを示すように適合されている。肯定応答メッセージ又は信号は、最大許容可能アクション期間の満了の前に、すなわち、現在時ライン４５がアクションボックス３２の最下部分３６と交差する前に、制御装置３０及び／又はアクションによって受け取られなければならない。これは、次の活動を遅らせないよう、特定のサブシステムに対応する次の活動を実行するための時間を提供するためである。アクションの最大許容可能期間の満了の前に肯定応答メッセージ又は信号が受け取られないならば、累積的な遅れが生じる。
【００７５】
ディスパッチされたアクションコマンドの受け取りに応答するメッセージ又は信号は、また、サブシステムが機能している、又は機能していない、指定されたアクションを実行することができる、又は実行することができないことを制御装置３０又はアクションに知らせるサブシステム状態メッセージを含むこともできる。あるいはまた、サブシステムが機能している、又は機能していない、指定されたアクションを実行することができる、又は実行することができないことを制御装置３０又はアクションに知らせる、肯定応答信号とは別にあるメッセージ又は信号を送信することもできる。サブシステムの稼働状態を制御装置３０又はアクションに知らせるサブシステム状態メッセージを提供する利点は、冗長サブシステムを使用することによって、累積的な遅れが生じ始める前に、開始された試験を経路指定変更又は再スケジューリングするためのより多くの反応時間を提供する。
【００７６】
現在時ライン４５が対応するアクションボックス３２の最下部分３６に到達する、又はそれを通過する前に、又は、リンクされているならば、現在時ライン４５がリンク点３３に到達する、又はそれを通過する前に、各サブシステムがアクションコマンドの受け取りを認めることが、決定的ではないにしても重要である。実に、次のアクションの開始（及び／又は完了）を遅らせないために、次のアクションを実行するための時間が必要である。遅らせてしまうならば、関与するサブシステムに関して累積的な遅れが生じる。
【００７７】
あるいはまた、サブシステムがその動作可能性状態を確認するメッセージ又は信号を自動的に制御装置３０又はアクションに提供する代わりに、アクションコマンドを適切なサブシステムにディスパッチするのと同時に、又はその前に、制御装置３０又はアクションそのものが、対応するサブシステムをチェックして、サブシステムが、アクションコマンドに対応するタスクを今でも実行することができるかどうかを確認する。この情報は自動的にスケジューラ５０に提供される。
【００７８】
また、アクションコマンドを適切なサブシステムにディスパッチするのと同時に、又はその前に、制御装置３０又はアクションそのものは、アクション又はアクションのタスク部分を完了するために必要な消耗リソースが適切なサブシステムの一つにおいて利用可能である、又は事前に確保されていることを確認するためにチェックする。
【００７９】
ひとたび対応するアクションがサブシステムによって完了されると、サブシステムは、完了信号を生成し、制御装置３０又はアクションに送る。これが、アクション行動の状態を「デスパッチ済み」から「完了」に変更する。
【００８０】
開始された試験に影響するおそれのあるエラー又は誤動作が起こると、妨害を経験するサブシステムがエラーメッセージを制御装置３０に送信して、中断、エラー又は誤動作を制御装置に３０に警告するように適合されていることもできるし、制御装置３０が各サブシステムの活動を絶えずモニタして、サブシステムがアクションを完了まで実行することを保証することもできる。以下、エラー処理及び例外処理をさらに詳細に説明する。
【００８１】
ひとたびサブシステムがコマンドが実行されたことを制御装置３０又はアクションに合図するならば、制御装置３０又はアクションは、「OnReply」機能を呼び出し、実行するように適合されている。「OnReply」機能は、アクションの成功、サブシステムに関連する状態又は能力の変化などに関するデータを応答メッセージから抽出するように適合されている。各サブシステムに関する変更された状態又は能力のデータは、リソース更新を提供し、ある特定のサブシステムが注意を要するという必要な警告又は警報メッセージを提供するために記憶されることができる。
【００８２】
適切なサブシステムによってアクションが完了（又は開始）される前に原子単位行動が取り消される、又は他のやり方で停止されると、システムリソース及び中断又は取り消し時に消費されていない確保された消耗リソースは、スケジューラ５０により、「OnUnschedule」動作を使用することによって解放される。たとえば、「OnUnschedule」動作の一部として、「スケジューリング済み」アクションボックス３２がスケジュールから除去され、「スケジューリングされていない」、すなわち、利用可能なアクション状態に配置される。消費されていない残りの消耗リソースは、別のアクションにおける使用のために、実リソースデータベースにクレジットされる。
【００８３】
図５を参照すると、さらなる時間とともに、現在時ライン４５は、第一のスケジューリング済みアクションボックス３２ａと第三のスケジューリング済みアクションボックス３２ｃとの間のリンク点３３と交差する。アクションボックス３２ａ及びアクションボックス３２ｃは、スケジュール上で二つの間のリンク点３３から明らかである「アクションアセンブリ」を構成する。第三のスケジューリング済みアクションボックス３２ｃは、試薬ピペッタ２２ａ〜２２ｄサブシステムの一つ及び試薬トラック１７サブシステムを伴う一つの試薬小出しアクションに対応する。ここでもまた、リンク点３３の場所は、スケジュール上にとどまるために、リンクされたアクション３２ａ及び３２ｃの間の通信が確立されるべきである実時間を示す。
【００８４】
第一及び第三のスケジューリング済みアクションボックス３２ａ及び３２ｃの間の特定のリンク点３３は、どの試薬ピペッタ２２ａ〜２２ｄサブシステムが第一のスケジューリング済みアクション３２ａに使用されようと（両アクションに共通のサブシステムである）、それが第三のスケジューリング済みアクションボックス３２ｃにも使用されることを表す。より具体的には、第一のスケジューリング済みアクション３２ａにしたがって吸引された試薬量が、第三のスケジューリング済みアクション３２ｃの間に小出しされる。
【００８５】
高速エラー処理及び高速例外処理
高速エラー処理及び高速例外処理が本発明の望ましい特質である。実に、ひとたびアクションが開始されると、スケジューリング及びスケジューラの観点から、本質的には、成功又は失敗しかない。したがって、システムが、リソース、たとえば冗長システムリソースを再び割り振る、普通ならば除去又は再開されなければならない、開始された試験を救済する、又は開始された試験を一時的に止めることを要求するかもしれない高優先順位STAT試験を処理する能力は、改善されたスループットによって時間、金及び試料の有意な節約を提供する。
【００８６】
したがって、高速エラー処理のためには、制御装置３０、アクションアセンブリビルダ４０及びスケジューラ５０は、好ましい順に、関与するアクションを再スケジューリングすること、試験を「休止」すること、又は試験を「不良」とマーキングすることにより、いかなるエラー、誤動作又は開始された試験の非完了を示す他の徴候にも応答するように構造化され、構成されている。好ましい又は望ましい結果は、アクションを再スケジューリングすることである。再スケジューリングは、中断されたサブシステムに類似した適切な冗長サブシステムに対応する利用可能な「スケジューリングされていない」アクションを使用してサブシステムを変更すること、及び／又は消耗リソースを変更することを含むことができる。このようにして、アクション及び後続の処分を完了するために、開始された試験を中断されたサブシステムから対応する適切な冗長サブシステムに移転することにより、開始された試験を救済することができる。不都合には、開始された、又は開始されたアクションに依存するすべてのアクションが、スケジュール上の時間において固定空間を占有するという点で、固定されてしまう。
【００８７】
再スケジューリングは不可能であるが、システムリソース又は消耗リソースが実際に必要になる前にスケジューラ５０が代替経路を考案する（又は元の経路を使用する）ことができるならば、試験を「休止」することが次に望ましい結果である。「休止」される試験は、完了されることもあるし、完了されないこともある。開始された試験は、休止の理由がもはや問題でなくなる、又は試験が失敗し、不良とマーキングされるまで、変更されないままである。
【００８８】
休止は一般に、システムアナライザとの何らかの人間相互作用、たとえば、ドアが再び閉められるまでシステムリソースの能力を一時的に低下させるドアの開放によって起こる。したがって、スケジューラ５０が、本例の場合、開始された試験がドアに対応するリソースを必要とするようになる前にドアが閉められるであろうと推測することができるならば、ドアが実際に閉められるまで開始された試験を進行を休止することにより、開始された試験を救うことができる。
【００８９】
最後に、再スケジューリング又は休止のいずれも実行可能な選択肢ではない場合、スケジューラ５０は試験を不良とマーキングすることができ、スケジューラ５０は、開始された他の試験を最小限しか妨害せずに、できるだけ速やかかつ安全に不良試験をシステムアナライザから除去するように適合される。ひとたび試験が不良とマーキングされるならば、その試験に関して他の問題がないとしても、アセンブルされたアクションに対応するリアルタイム要件が犯される。
【００９０】
スケジューリングを高速処理するために、制御装置３０、アクションアセンブラ４０及びスケジューラ５０は、開始された試験を取り消す、又は中断するように構造化され、構成されている。したがって、スケジューリングの高速処理は、開始された試験に対して実行されている現在のアクションを取り消すこと（アクション状態を「スケジューリングされていない」に変更する）；アクションをより高い優先順位の試験にスケジューリングすること；及び利用可能な「スケジューリングされていない」アクションが利用可能になったときそれを使用して、開始された試験で失敗したアクションを再スケジューリングすることを含む。このようにして、アクションの完了及びその後の処分のために、開始された試験を、中断された、又は取り消されたサブシステムから対応する適切な冗長サブシステムに再スケジューリングすることにより、救済することができる。
【００９１】
本明細書に開示された発明の概念を逸することなく、開示された方法及び装置の改変及び変形が可能であることが当業者には明らかであり、したがって、本発明は、請求の範囲の全範囲及び真意に対して以外、限定されるものとみなされるべきではない。
【図１】
2011527759.tif 000003
【図２】
2011527759.tif 000004
【図３】
2011527759.tif 000005
【図４】
2011527759.tif 000006
【図５】
2011527759.tif 000007
【国際調査報告】
2011527759.tif 000008