(57)【特許請求の範囲】
【請求項１】
複数の分析装置である複数のリソースを備えた分析システムで、複数の分析処理である複数のジョブを実行する分析スケジュールを決定する分析システム・スケジューリング方法であって、
さらに、スケジュールを一定の時間間隔で区切ったサイクルに、ジョブで実行するリソース毎のタスクを割り付けたものである全体スケジュールを決定するために必要なジョブのプロトコルやタスクおよびタスクモデルに関する情報を格納する全体スケジュール決定知識格納部と、決定した全体スケジュールの情報を格納するスケジュール情報格納部と、全体スケジュールの決定処理を行う全体スケジュール決定機構から成る全体スケジュール決定モジュールと、
リソースの制御を実行するためのオペレーション情報をサイクルに割り付けたものである詳細スケジュールを決定するために必要なリソース別のタスクとオペレーションの対応関係を格納するリソース別スケジュール決定知識格納部と、リソース別の詳細スケジュールの決定処理を行うリソース別スケジュール決定機構から成るリソース別スケジュール決定モジュールを用いて、分析スケジュールを決定する分析システム・スケジューリング方法であって、
全体スケジュール決定モジュールにより、分析システムでの複数のジョブの実行を要求するジョブ要求列を記憶装置によって入力し、前記ジョブ要求列中の複数のジョブを当該ジョブで行われる分析手順を構成する一連の操作である複数のタスクに、全体スケジュール決定知識格納部より取得したジョブとタスクの関係を示す情報により制御装置によって変換し、前記複数のタスクを実行する順序と、当該タスクが一連の操作を行う時間と、連続するタスクの実行間隔であるタスク間インターバルとを全体スケジュール決定知識格納部から記憶装置によって取得し、前記時間とタスク間インターバルを前記実行順序で割り付けることによって前記複数のタスクを割り付けて全体スケジュールを制御装置によって決定し、
リソース別スケジュール決定モジュールにより、前記分析スケジュールの特定のサイクルについて、当該サイクル中の複数のタスクで使用する各リソースにおけるオペレーションを、リソース別スケジュール決定知識格納部より取得したタスクとオペレーションの対応関係により制御装置によって求め、さらに前記タスクとオペレーションの対応関係から、一サイクルを制御用に時分割したセグメントに、リソース毎にこれらオペレーションを割り付けたものから成る制御用テーブルを記憶装置によって作成し、当該サイクル中のタスクで使用するリソースについての制御用テーブルから成る詳細スケジュールを制御装置によって決定することを特徴とする分析システム・スケジューリング方法。
【請求項２】
ジョブで実行する複数のタスクの名称及びその実行順序を示すジョブプロトコルと、ジョブで実行する複数のタスクのタスク間インターバルとの組み合わせによって、ジョブ要求列中における複数のジョブを表現して記憶装置により格納することを特徴とする請求項１に記載された分析システム・スケジューリング方法。
【請求項３】
スケジュールを一定の時間間隔で区切ったサイクルに、ジョブで実行するリソース毎のタスクを割り付けたものである全体スケジュールを制御装置によって決定する際に、ジョブ要求列で指定されているジョブで実行する複数のタスクの内、タスク間インターバルの無い一連の複数のタスクを１つのタスクの塊であるタスクモデルとして表した上で、それらタスクおよびタスクモデルがサイクル中で部分的に使用する時間帯を示す使用タイミングによって、それらタスクまたはタスクモデルを同じサイクル内で重複しないようにスケジュール上に配置することで、前記複数のタスクを前記複数のサイクルの特定の部分に制御装置によって割り付けることを特徴とする請求項１に記載された分析システム・スケジューリング方法。
【請求項４】
全体スケジュールを決定する際に使用するタスクモデル及びその使用タイミングを示すデータと、詳細スケジュールを決定する際に使用するタスクとオペレーションの対応関係を示すデータとをリソース毎に分けたデータを使用して全体スケジュール及び詳細スケジュールを制御装置によって決定することを特徴とする請求項１に記載された分析システム・スケジューリング方法。
【請求項５】
請求項１記載の分析システムで使用する全てのリソースの内の一部のリソースについて、前記リソースを使用するジョブを、全体リソース決定知識格納部より取得したジョブとタスクの関係を示す情報、すなわちジョブプロトコルを用いて、当該ジョブで行われる分析手順を構成する一連の操作である複数のタスクに制御装置によって変換し、前記複数のタスクを実行する順序と、当該タスクが一連の操作を行う時間と、連続するタスクの実行間隔であるタスク間インターバルとを全体スケジュール決定知識格納部から記憶装置によって取得し、前記時間とタスク間インターバルを前記実行順序で割り付けることによって前記複数のタスクを制御装置によって割り付けて全体スケジュールを決定することを特徴とする請求項１に記載された分析システム・スケジューリング方法。
【請求項６】
特定のジョブで実行する複数のタスクについて、全体スケジュール中の当該タスクの終了時のサイクルから、前記特定のジョブの終了時刻を制御装置によって予測することを特徴とする請求項１に記載された分析システム・スケジューリング方法。
【請求項７】
全体スケジュールに従って複数のジョブの実行を開始し、そのジョブが使用するサイクル中の複数のタスクを実行する直前または数サイクル前に、そのタスクが使用するサイクルの詳細スケジュールの決定に必要な情報である分析システムの特定のリソースについてのタスクを全体スケジュールから記憶装置によって獲得し、前記情報を、リソース別スケジュール決定知識格納部から取得したタスクとオペレーションの対応関係によって、そのタスクが使用するサイクルの詳細スケジュールに制御装置によって変換することによって、全体スケジュールに従って複数のジョブを実行中に詳細スケジュールを決定することを特徴とする請求項１に記載された分析システム・スケジューリング方法。
【請求項８】
請求項１記載の分析システムの特定のリソースについて定めた全体スケジュールから前記特定のリソースを使用するサイクルとそのサイクルで実行されるタスクを制御装置によって求め、リソース別スケジュール決定知識格納部から、そのタスクの実行に必要な前記特定のリソースと、そのタスクの実行に必要な前記特定のリソース以外のリソースについてのタスクとオペレーションの対応関係を記憶装置によって取得し、前記特定のリソース以外のリソースについて、そのタスクとオペレーションの対応関係から前記サイクル中のタスクをそのリソースについてのオペレーションに制御装置によって分解し、それらオペレーションをサイクルを制御用に時分割したセグメントに割り付けたものから成る制御用テーブルを記憶装置によって作成することで、前記特定のリソースの全体スケジュールから他のリソースの詳細スケジュールを決定することを特徴とする請求項１に記載された分析システム・スケジューリング方法。
【請求項９】
全体スケジュール及び詳細スケジュールに従って複数のジョブを実行中に、前記ジョブの実行条件が変更されたときに、前記実行条件の変更されたジョブ以外の全体スケジュール中の未実行のジョブの内容を記憶装置によって退避し、前記退避されたジョブと前記変更されたジョブの内容によってそれらのジョブのタスクを制御装置によって割り付けて全体スケジュールを再決定することにより、前記全体スケジュールを変更する再スケジューリングを行うことを特徴とする請求項１に記載された分析システム・スケジューリング方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、分析システム・スケジューリング方法に関し、特に、複数の分析処理を行う分析スケジュールを決定する分析システム・スケジューリング方法に適用して有効な技術に関するものである。
【０００２】
【従来の技術】
従来、数十種類のサンプルを数十項目の分析項目について、複数の分析装置を用いて分析する場合には、その分析処理内容の実行順序及び実行時間等を定めて分析スケジュールを決定した後、前記分析スケジュールに従って分析処理を行っている。
【０００３】
前記の様な数十種類のサンプルの分析処理では、通常、使用する試薬及びサンプルの種類、前記試薬及びサンプルの混合手順、並びに、前記試薬及びサンプルを反応させる為のインキュベーション時間等、その分析処理内容は、分析対象であるサンプルや分析項目によって異なっているので、前記の様に分析処理内容の異なる複数の分析処理を正確かつ効率的に行う為に、当該分析処理の分析スケジュールを決定した後に当該分析処理を行っている。
【０００４】
前記分析スケジュールを決定する方法において、複数の分析装置を用いて複数の分析処理を行う分析スケジュールを決定する場合に、前記分析処理をジョブ、前記ジョブで行われる分析手順を構成する一連の操作を示す複数の処理シーケンスをタスク、前記分析装置をリソース、前記リソースに対する個々の操作内容をオペレーション、前記分析スケジュール中の特定の長さの時間をサイクルと呼ぶことにすると、分析処理開始前に全てのジョブについて分析スケジュールの作成を実行し、サイクル毎の全てのジョブのタスクで使用するリソース及びそのオペレーションを記載した分析スケジュールを決定しておく分析システム・スケジューリング方法と、分析処理実行中に当該ジョブの特定のタスクを実行するサイクルの直前もしくは数サイクル前に、前記タスクについての分析スケジュールの作成を実行し、前記タスクで使用するリソース及びそのオペレーションを記載した分析スケジュールを決定する分析システム・スケジューリング方法がある。
【０００５】
前記の分析処理開始前に全ての分析スケジュールを決定しておく分析システム・スケジューリング方法では、予め全ての分析スケジュールが決定されているので、特定の分析処理の終了時刻を知ることが可能である。
【０００６】
また、前記の分析処理実行中に分析スケジュールを決定する分析システム・スケジューリング方法では、各サイクル毎に分析スケジュールの決定を行うので、分析処理を行っているときに、分析項目の変更等、分析処理の実行条件に変更が生じた場合に、当該分析スケジュールの変更を容易に行うことが可能である。
【０００７】
スケジューリング方法に関する特許としては次のものがある。まず、生産スケジュールの決定に関する方法として、特開平６−２９０１６５号の「生産スケジューリング装置」に、知識を用いて柔軟な生産スケジュールの決定を行う装置が述べられている。この他に、計算機システムにおけるジョブのスケジューリング方法として、特開平６−２８２４４６号の「ジョブスケジュール作成方法」に、実行時のジョブ間のリソースの取り合いを防ぐ為のスケジューリング方法が述べられている。
【０００８】
【発明が解決しようとする課題】
本発明者は、前記従来技術を検討した結果、以下の問題点を見い出した。
【０００９】
すなわち、前記従来の分析処理開始前に全ての分析スケジュールを決定しておく分析システム・スケジューリング方法では、分析スケジュールの決定で扱う情報量が多く、前記分析スケジュールの決定に時間がかかり過ぎる為、分析処理実行中に分析項目の追加や変更を行うことが困難であるという問題があった。
【００１０】
また、前記従来の分析処理実行中に分析スケジュールを決定する分析システム・スケジューリング方法では、分析スケジュールの詳細は分析処理実行中に決定する為、当該分析処理の終了時刻を予測することができないという問題があった。
【００１１】
更に、従来の分析システム・スケジューリング方法では、複数の分析処理を逐次実行する分析スケジュールを決定していた為、サンプルと試薬を反応させる為のインキュベーション時間は分析装置が動作していない時間となって分析効率が向上しないという問題があった。
【００１２】
本発明の目的は、複数の分析処理の分析効率を向上させる分析システム・スケジューリング方法を提供することにある。
【００１３】
本発明の他の目的は、分析スケジュールの決定処理の負荷分散を行うことが可能な技術を提供することにある。
【００１４】
本発明の他の目的は、ジョブに関するデータの作成、テスト及び保守を容易にすることが可能な技術を提供することにある。
【００１５】
本発明の他の目的は、分析スケジュールの決定時間を短縮することが可能な技術を提供することにある。
【００１６】
本発明の他の目的は、タスクに関するデータの作成、テスト及び保守を容易にすることが可能な技術を提供することにある。
【００１７】
本発明の他の目的は、リソースの変更、追加及び削除を容易にすることが可能な技術を提供することにある。
【００１８】
本発明の他の目的は、ジョブの終了時刻を予測することが可能な技術を提供することにある。
【００１９】
本発明の他の目的は、決定された分析スケジュールに動的な変更が生じた場合に、リソースの利用効率低下を防止することが可能な技術を提供することにある。
【００２０】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかになるであろう。
【００２１】
【課題を解決するための手段】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記のとおりである。
【００２２】
（１）複数の分析装置である複数のリソースを備えた分析システムで、複数の分析処理である複数のジョブを実行する分析スケジュールを決定する分析システム・スケジューリング方法であって、
前記分析システムでの複数のジョブの実行を要求するジョブ要求列を入力し、前記ジョブ要求列中の複数のジョブを当該ジョブで行われる分析手順を構成する一連の操作である複数のタスクに変換し、前記複数のタスクを実行する順序と、当該タスクが使用する時間と、連続するタスクの実行間隔であるタスク間インターバルとによって前記複数のタスクを割り付けて全体スケジュールを決定し、
前記分析スケジュールの特定の時間単位であるサイクルについて、当該サイクル中の複数のタスクで実行するリソースのオペレーションを求め、前記オペレーションから当該リソースの制御データを作成し、当該サイクル中のタスクで使用するリソースの全てのオペレーションを定めて詳細スケジュールを決定するものである。
【００２３】
（２）前記（１）の分析システム・スケジューリング方法において、当該ジョブで実行する複数のタスクの名称及びその実行順序を示すジョブプロトコルと、当該ジョブで実行する複数のタスクのタスク間インターバルとの組み合わせによって、前記ジョブ要求列中の複数のジョブを表現するものである。
【００２４】
（３）前記（１）の分析システム・スケジューリング方法において、当該ジョブで実行する複数のタスクの内、タスク間インターバルの無い一連の複数のタスクを１つのタスクとして表すタスクモデルと、当該サイクル中で当該タスクが部分的に使用する時間を示す使用タイミングとによって、前記複数のタスクを前記複数のサイクルの特定の部分に割り付けて全体スケジュールを決定するものである。
【００２５】
（４）前記（１）の分析システム・スケジューリング方法において、当該タスクに対するリソースの複数のオペレーションの実行または非実行を示すタスクとオペレーションの対応関係を参照することによって当該リソースの制御データを作成して詳細スケジュールを決定するものである。
【００２６】
（５）前記（１）の分析システム・スケジューリング方法において、前記全体スケジュールを決定する際に使用する前記タスクモデル及びその使用タイミングを示すデータと、前記詳細スケジュールを決定する際に使用する前記のタスクとオペレーションの対応関係を示すデータとをリソース毎に分けて作成し、前記のリソース毎に分けて作成されたデータを使用して全体スケジュール及び詳細スケジュールを決定するものである。
【００２７】
（６）前記（１）の分析システム・スケジューリング方法において、前記分析システムで使用する全てのリソースの内の一部のリソースについて、前記リソースを使用するジョブを当該ジョブで行われる分析手順を構成する一連の操作である複数のタスクに変換し、前記複数のタスクを実行する順序と、当該タスクが使用する時間と、連続するタスクの実行間隔であるタスク間インターバルとによって前記複数のタスクを割り付けて全体スケジュールを決定するものである。
【００２８】
（７）前記（１）の分析システム・スケジューリング方法において、特定のジョブで実行する複数のタスクについて、全体スケジュール中の当該タスクに割り付けられた時間と当該タスクのタスク間インターバルを累積し、前記特定のジョブの終了時刻を予測するものである。
【００２９】
（８）前記（１）の分析システム・スケジューリング方法において、全体スケジュールに従って複数のジョブの実行を開始し、当該サイクル中の複数のタスクを実行する直前または数サイクル前に、当該サイクルの詳細スケジュールの決定に必要な情報を全体スケジュールから獲得し、前記情報を当該サイクルの詳細スケジュールに変換することによって、全体スケジュールに従って複数のジョブを実行中に詳細スケジュールを決定するものである。
【００３０】
（９）前記（１）の分析システム・スケジューリング方法において、前記分析システムの特定のリソースについて定めた全体スケジュールから前記特定のリソースを使用するサイクルを求め、前記特定のリソースを使用するタスクとオペレーションの対応関係から前記サイクル中の他のリソースの制御データを作成し、前記特定のリソースの全体スケジュールから他のリソースの詳細スケジュールを決定するものである。
【００３１】
（１０）前記（１）の分析システム・スケジューリング方法において、全体スケジュール及び詳細スケジュールに従って複数のジョブを実行中に、前記ジョブの実行条件が変更されたときに、前記実行条件の変更されたジョブ以外のジョブの内容を退避し、前記退避されたジョブと前記変更されたジョブの内容によって、前記全体スケジュールを変更する再スケジューリングを行うものである。
【００３２】
【作用】
上述した手段の項に記載された分析システム・スケジューリング方法の作用を簡単に説明すれば以下のとおりである。
【００３３】
（１）複数の分析装置である複数のリソースを備えた分析システムで実行する複数の分析処理である複数のジョブをジョブ要求列を入力し、前記ジョブ要求列中の複数のジョブを、当該ジョブで行われる分析手順を構成する一連の操作である複数のタスクに変換する。
【００３４】
当該ジョブの複数のタスクを実行する順序と、前記複数のタスクの各タスクが使用する時間と、前記複数のタスクの実行間隔であるタスク間インターバルに応じて、前記複数のタスクを、複数のサイクルに分割された全体スケジュールに割り付けることにより、当該ジョブの全体スケジュールへの割り付けを行う。
【００３５】
最初に実行が開始されるジョブの割り付けが終了したら、次に実行が開始されるジョブについて、前記と同様にして当該ジョブの複数のタスクの割り付けを行う。
【００３６】
ここで、次に処理を行うジョブの複数のタスクを全体スケジュールに割り付ける際に、既に割り付け済みのジョブ中のタスクのタスク間インターバルが、当該ジョブのタスクを実行するのに充分な長さである場合には、当該ジョブのタスクを、前記割り付け済みのジョブ中のタスク間インターバル中に割り付ける。
【００３７】
前記の様にして、全てのジョブのタスクの割り付けを行って全体スケジュールを決定する。
【００３８】
次に、前記全体スケジュールに定められた複数のサイクル中の各サイクルにて、当該サイクル中で実行する複数のタスクで使用する複数のリソースについて当該リソースのオペレーションを調べ、当該タスクで使用するリソースを操作するオペレーションの内容によって当該リソースの制御データを作成する。
【００３９】
当該サイクル中で実行する全てのタスクについて、当該タスクで使用するリソースの制御データを求め、当該リソースを使用する制御データを１つに集めて当該サイクル中の当該リソースの制御データを作成し、当該サイクル中のタスクで使用するリソースの全てのオペレーションを定めて詳細スケジュールを決定する。
【００４０】
以上の様に、複数のジョブ中の複数のタスクの実行順序、実行時間及びタスク間インターバルを割り付ける全体スケジュールの決定処理と、当該サイクル中のリソースのオペレーションを示す詳細スケジュールの決定処理を分割しているので、分析スケジュールの決定処理の負荷分散を行うことが可能である。
【００４１】
（２）前記分析システム・スケジューリング方法において、当該ジョブで実行する複数のタスクの名称とその実行順序について、前記タスクの名称またはタスクの実行順序が異なる複数のジョブプロトコルを作成する。
【００４２】
前記分析システムで実行する複数のジョブを前記ジョブ要求列に表現する際に、前記ジョブ要求列中に当該ジョブの具体的な複数のタスクの名称や前記複数のタスクの実行順序を記載して前記ジョブ要求列を作成するのではなく、当該ジョブで実行する複数のタスクの名称とその実行順序を示すジョブプロトコルと、当該ジョブで実行する複数のタスクのタスク間インターバルを前記ジョブ要求列に記載し、前記ジョブプロトコルとタスク間インターバルとの組み合わせによって前記ジョブ要求列中の複数のジョブを表現する。
【００４３】
以上の様に、ジョブをジョブプロトコルとタスク間インターバルとの組み合わせによって表現するので、ジョブのデータの作成、テスト及び保守を容易にすることが可能である。
【００４４】
（３）前記分析システム・スケジューリング方法において、当該ジョブで実行する複数のタスクの内、前記タスク間インターバルの無い一連の複数のタスクをモデル化したタスクである１つのタスクモデルとして表現する。
【００４５】
次に、当該タスクモデルが、当該サイクル中で使用する部分的な時間を示す使用タイミングによって、前記複数のタスクの実行時間を表現し、当該タスクモデルを当該サイクル中の特定の使用タイミングに割り付けて全体スケジュールを決定する。
【００４６】
以上の様に、全体スケジュール中のタスクを簡略化されたタスクモデルで表現するので、全体スケジュールの決定時間を短縮することが可能である。
【００４７】
（４）前記分析システム・スケジューリング方法において、当該タスクで使用するリソースで行われる複数のオペレーションの内、当該タスクで実行するオペレーションを示すタスクとオペレーションの対応関係を作成する。
【００４８】
前記タスクとオペレーションの対応関係の作成は、当該リソースで行われる複数のオペレーションの内、当該タスクで実行されるオペレーションに対しては実行を示すフラグを、また、当該タスクで実行されないオペレーションに対しては非実行を示すフラグを記載したタスク−オペレーション対応表を作成することによって行う。
【００４９】
次に、前記タスクとオペレーションの対応関係を参照し、当該サイクル中の複数のタスクのオペレーションから当該サイクル中の複数のリソースの制御データを定めることによって詳細スケジュールを決定する。
【００５０】
以上の様に、時間情報を付加していない操作内容のみでオペレーションを表しているので、タスクのデータの作成、テスト及び保守を容易にすることが可能である。
【００５１】
（５）前記分析システム・スケジューリング方法において、前記全体スケジュールを決定する際に使用する前記タスクモデル及びその使用タイミングを示すデータをリソース毎に分けて作成する。
【００５２】
次に、前記のリソース毎に分けて作成されたタスクモデル及びその使用タイミングを用いて、リソース毎にタスクの割り付けを行って、リソース毎の全体スケジュールを作成する。
【００５３】
また、前記詳細スケジュールを決定する際に使用する前記のタスクとオペレーションの対応関係を示すデータをリソース毎に分けて作成する。
【００５４】
前記のリソース毎に分けて作成されたタスクとオペレーションの対応関係を示すデータを使用して、リソース毎の制御データを作成して詳細スケジュールを決定する。
【００５５】
以上の様に、リソース毎にデータ構造を分けておくことにより、分析スケジュールを決定するソフトウェアをリソース毎に実装することができるので、リソースの変更、追加及び削除を容易にすることが可能である。
【００５６】
（６）前記分析システム・スケジューリング方法において、前記分析システムで使用する全てのリソースの内の一部のリソースを選択して代表リソースとし、前記代表リソースについて、前記代表リソースを使用するジョブを当該ジョブで行われる分析手順を構成する一連の操作である複数のタスクに変換する。
【００５７】
次に、前記複数のタスクを実行する順序と、当該タスクが使用する時間と、連続するタスクの実行間隔であるタスク間インターバルとによって前記複数のタスクを割り付けて全体スケジュールを決定する。
【００５８】
前記分析システムに備えられた複数のリソースは、相互に関連したオペレーションを行うものがあり、前記の関連した複数のリソースでは、その一部のリソースについて全体スケジュールを作成すれば、関連する他のリソースの全体スケジュールについても全体スケジュールを決定したことになる。
【００５９】
以上の様に、全てのリソースの全体スケジュールを作成するのではなく、一部のリソースについての全体スケジュールを決定するので、全体スケジュールの決定時間を短縮することが可能である。
【００６０】
（７）前記分析システム・スケジューリング方法において、特定のジョブで実行する複数のタスクについて、全体スケジュールに割り付けられた当該タスクの実行時間と当該タスクのタスク間インターバルを累積し、前記特定のジョブの終了時刻を予測する。
【００６１】
以上の様に、全体スケジュールによって複数のジョブが行われる時刻が決定されるので、特定のジョブの終了時刻を予測することが可能である。
【００６２】
（８）前記分析システム・スケジューリング方法において、全体スケジュールに従って複数のジョブの実行を行う際に、当該サイクル中の複数のタスクを実行する直前または数サイクル前に、当該サイクル中で実行するタスクの情報を全体スケジュールから獲得する。
【００６３】
次に、前記の獲得した情報により、当該サイクル中で実行する全てのタスクについて、当該タスクで使用するリソースの制御データを求め、当該リソースを使用する制御データを１つに集めて、当該サイクル中の当該リソースの制御データを作成し、当該サイクル中のタスクで使用するリソースの全てのオペレーションを定めて詳細スケジュールを決定する。
【００６４】
以上の様に、詳細スケジュールが必要となるときに必要な情報を全体スケジュールから獲得して詳細スケジュールを作成するので、不必要な情報の保持を防止し、分析スケジュールの決定処理の負荷分散を効果的に行うことが可能である。
【００６５】
（９）前記分析システム・スケジューリング方法において、複数のリソースを使用するタスクの特定のリソースについて定めた全体スケジュールから、前記特定のリソースを使用するサイクルを求める。
【００６６】
次に、前記タスクと前記タスクで使用する他のリソースのタスクとオペレーションの対応関係から、前記特定のリソースを使用するサイクルに、前記他のリソースの制御データを作成して他のリソースの詳細スケジュールを決定する。
【００６７】
以上の様に、特定のリソースの全体スケジュール情報から他のリソースの詳細スケジュールを決定するので、全てのリソースについて全体スケジュールを決めておく必要が無く、全体スケジュールの決定時間を短縮することが可能である。
【００６８】
（１０）前記分析システム・スケジューリング方法において、全体スケジュール及び詳細スケジュールに従って複数のジョブを実行中に、前記ジョブの実行条件が変更されたときに、まず、前記実行条件の変更されたジョブ以外のジョブの内容を退避する。
【００６９】
次に、前記退避されたジョブと前記変更されたジョブの内容によって新しくジョブ要求列を作成し、前記の新しいジョブ要求列に記載された複数のジョブの全体スケジュールを再決定する。
【００７０】
以上の様に、未実行のジョブと追加・変更するジョブについて全体スケジュールを再決定するので、決定された全体スケジュールに動的な変更が生じた場合のリソースの利用効率低下を防止することが可能である。
【００７１】
以上説明した様に、前記手段の項に記載された分析システム・スケジューリング方法によれば、複数の分析処理の分析効率を向上させることが可能である。
【００７２】
【実施例】
以下、本発明について、一実施例とともに図面を参照して詳細に説明する。
【００７３】
なお、実施例を説明する為の全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
【００７４】
図１は、本実施例の分析システム・スケジューリング方法を実施する実施装置の概略構成を示す図である。図１において、１１０は全体スケジュール決定モジュール、１１１は全体スケジュール決定機構、１１２は全体スケジュール決定知識格納部、１１３はスケジュール情報格納部、１２０はリソース別スケジュール決定モジュール、１２１はリソース別スケジュール決定機構、１２２はリソース別スケジュール決定知識格納部、１３０はコントロールモジュール、１３１はコントロール機構、１３２はコントロール知識格納部、１４０は装置状態監視モジュール、１５０はインターフェースモジュールである。
【００７５】
また、１０１はインターフェースモジュール１５０からの作業の依頼、１０２は全体スケジュール決定モジュール１１０からのスケジュール情報、１０３は１サイクル分の詳細スケジュール、１０４〜１０６は作業内容の変更等の割り込みである。
【００７６】
図１に示す様に、本実施例の分析システム・スケジューリング方法を実施する実施装置は、全体スケジュールを決定する全体スケジュール決定モジュール１１０と、詳細スケジュールを決定するリソース別スケジュール決定モジュール１２０と、全体スケジュール決定モジュール１１０およびリソース別スケジュール決定モジュール１２０で決定した全体スケジュール及び詳細スケジュールに従い当該分析システムを制御するコントロールモジュール１３０と、当該分析システムで発生する各種のアラームや、当該分析システムへの入力を監視してリソースの状態を判断し、前記リソースの状態を他のモジュールへ伝達する装置状態監視モジュール１４０と、当該分析システムへの作業依頼として分析処理の要求列であるジョブ要求列を入力したり、また、前記全体スケジュール及び詳細スケジュールに従って実行中の複数のジョブの監視を行う為のインターフェースモジュール１５０を備えている。
【００７７】
本実施例の分析システム・スケジューリング方法を実施する実施装置は、制御装置と記憶装置及び当該分析システムの各分析装置と前記制御装置を接続するインターフェース装置から構成され、全体スケジュール決定モジュール１１０、リソース別スケジュール決定モジュール１２０、コントロールモジュール１３０、装置状態監視モジュール１４０、及び、インターフェースモジュール１５０の各モジュールの機能を実行するソフトウェアを備えている。
【００７８】
全体スケジュール決定モジュール１１０は、全体スケジュール決定機構１１１と全体スケジュール決定知識格納部１１２とスケジュール情報格納部１１３から成り、リソース別スケジュール決定モジュール１２０は、リソース別スケジュール決定機構１２１とリソース別スケジュール決定知識格納部１２２を備え、コントロールモジュール１３０は、コントロール機構１３１とコントロール知識格納部１３２から構成されている。
【００７９】
全体スケジュール決定知識格納部１１２とリソース別スケジュール決定知識格納部１２２とコントロール知識格納部１３２は、ジョブとタスクの関係やタスクとオペレーションの対応関係等の更新期間の長い静的な情報を格納し、スケジュール情報格納部１１３は、要求されたジョブの情報、決定された分析スケジュール及び前記分析スケジュールを実行中に退避したジョブの情報等の更新期間の短い動的な情報を格納している。
【００８０】
ここで、ジョブとは、当該分析システムで特定のサンプルを特定の分析項目について分析する分析処理、タスクとは、前記特定のサンプルを吸引するサンプルピペッティング等、前記ジョブで行われる分析手順を構成する一連の操作、オペレーションとは、サンプルディスクを回転し位置付けする操作や、ピペッタによりサンプルを吸引する操作等、前記タスク中の各リソースへの操作内容、前記リソースとは、当該分析システムを構成するピペッタ、サンプルディスク等の構成機器である。
【００８１】
図２は、本実施例の分析システム・スケジューリング方法の処理手順を示すフローチャートである。図２において、１は全体スケジュール決定モジュール１１０およびリソース別スケジュール決定モジュール１２０で実行する処理手順を示すフローチャート、２はコントロールモジュール１３０で実行するフローチャートである。
【００８２】
図３は、本実施例の分析システム・スケジューリング方法の実施装置に格納された情報と処理手順の対応を示す図である。図３において、９１はジョブ要求列とジョブプロトコルから作成されるジョブ情報、９２はタスクモデル情報、９３は全体スケジュール、９４はタスク情報である。
【００８３】
図３に示す様に、本実施例の分析システム・スケジューリング方法は、全体スケジュール決定知識格納部１１２に保持するジョブ情報９１およびタスクモデル情報９２を用いて、依頼された全ジョブについて、全体スケジュール９３を決定するステップ１０と、当該分析システムが動作している各サイクルにおいて、リソース別スケジュール決定知識格納部１２２に保持するタスク情報９３を用いて、１サイクル分の詳細スケジュールを導出するステップ２０と、全体スケジュールの再スケジューリングを行うステップ５０の３ステップから構成されている。
【００８４】
図４は、本実施例の分析システム・スケジューリング方法の分析システムの一例である免疫分析装置の概略構成を示す図である。図４において、４１０はチップコンテナ、４１１はチップ、４２０はベッセルコンテナ、４２１はベッセル、４３０はピペッタ、４４０はサンプルディスク、４４１はサンプル、４５０は試薬ディスク、４５１は試薬、４５２はビーズ、４６０はインキュベータ、４７０は測定ユニット、４８０はキャップ開閉機である。
【００８５】
図４に示す様に、本実施例の分析システム・スケジューリング方法の分析システムの一例である免疫分析装置は、チップコンテナ４１０と、ベッセルコンテナ４２０と、ピペッタ４３０と、サンプルディスク４４０と、試薬ディスク４５０、インキュベータ４６０と、測定ユニット４７０と、キャップ開閉機４８０を備えている。
【００８６】
前記免疫分析装置のチップコンテナ４１０は、ピペッタ４３０の使い捨てのピペッタノズルであるチップ４１１を格納する容器、ベッセルコンテナ４２０は、使い捨ての反応容器であるベッセル４２１を格納する容器であり、サンプルディスク４４０は検体である複数のサンプル４４１を格納する円盤状の容器、試薬ディスク４５０は、試薬４５１と磁性流体であるビーズ４５２を入れたラックパックを格納する円盤状の容器、インキュベータ４６０は、サンプル４４１と試薬４５１を反応させる反応器、キャップ開閉機４８０は、前記ラックパックの蓋を開閉する機器である。
【００８７】
前記免疫分析装置は、チップコンテナ４１０のチップ４１１をピペッタ４３０のノズルの先に装着し、試薬ディスク４５０を回転させて特定の試薬４５１及びビーズ４５２を吸引位置に移動させた後、キャップ開閉機４８０によって特定の試薬４５１及びビーズ４５２を入れたラックパックの蓋を開け、ピペッタ４３０によって試薬４５１及びビーズ４５２を吸引し、次に、サンプルディスク４４０を回転させてサンプル４４１を吸引位置に移動させた後、ピペッタ４３０によってサンプル４４１を吸引し、ピペッタ４３０に吸引されたサンプル４４１、試薬４５１及びビーズ４５２をベッセル４２１に吐出する。
【００８８】
次に、前記免疫分析装置は、サンプル４４１、試薬４５１及びビーズ４５２が混合されたベッセル４２１をインキュベータ４６０に運び、一定時間経過させてサンプル４４１と試薬４５１を反応させた後、ベッセル４２１を測定ユニット４７０に移動し、電気化学発光と呼ぶ方法により、ビーズ４５２の磁力によって一箇所に集められたサンプル４４１と試薬４５１の化学反応によって生じる微弱な光を測定ユニット４７０で測定することでサンプル４４１の分析を行う。
【００８９】
本実施例の分析システム・スケジューリング方法は、前記免疫分析装置の様な分析システムを使用して数十検体以上の各サンプルについて数十項目以上の分析処理をタイムチャートによって周期的に行う場合に、できるだけ効率の良い分析処理を行う分析スケジュールを決定するものである。
【００９０】
（分析スケジュールを決定する処理手順）
以下に、本実施例の分析システム・スケジューリング方法において分析システムの分析スケジュールを決定する処理手順の概要について、図１及び図２を参照して説明する。
【００９１】
本実施例の分析システム・スケジューリング方法において、図１に示す様に、インターフェースモジュール１５０から当該分析システムにジョブの依頼１０１を行うと、全体スケジュール決定モジュール１１０は、図２のステップ１０の処理を行って、依頼された全ジョブについての全体スケジュールを決定する。
【００９２】
ステップ１０の処理では、複数の分析装置である複数のリソースを備えた分析システムで実行する複数の分析処理である複数のジョブをジョブ要求列によって入力し、前記ジョブ要求列中の複数のジョブを、当該ジョブで行われる分析手順を構成する一連の操作である複数のタスクに変換する。
【００９３】
次に、当該ジョブの複数のタスクを実行する順序と、前記複数のタスクの各タスクが使用する時間と、前記複数のタスクの実行間隔であるタスク間インターバルに応じて、前記複数のタスクを、複数のサイクルに分割された全体スケジュールに割り付けることにより、当該ジョブの全体スケジュールへの割り付けを行う。
【００９４】
最初に実行が開始されるジョブの割り付けが終了したら、次に実行が開始されるジョブについて、前記と同様にして当該ジョブの複数のタスクの割り付けを行う。
【００９５】
ここで、次に処理を行うジョブの複数のタスクを全体スケジュールに割り付ける際に、既に割り付け済みのジョブ中のタスクのタスク間インターバルが、当該ジョブのタスクを実行するのに充分な長さである場合には、当該ジョブのタスクを、前記割り付け済みのジョブ中のタスク間インターバル中に割り付ける。
【００９６】
前記の様にして、全てのジョブのタスクの割り付けを行って全体スケジュールを決定する。
【００９７】
また、ステップ６０の処理で、他のモジュールと並列して動作しているコントロールモジュール１３０が、１サイクル分の詳細スケジュールを要求すると、ステップ２０の処理で、リソース別スケジュール決定モジュール１２０は、全体スケジュール決定モジュール１１０から必要なスケジュール情報１０２を受け取り、１サイクル分の詳細スケジュールを決定する。
【００９８】
ステップ６０の処理では、前記全体スケジュールに定められた複数のサイクル中の各サイクルにて、当該サイクル中で実行する複数のタスクで使用する複数のリソースについて当該リソースのオペレーションを調べ、当該タスクで使用するリソースを操作するオペレーションの内容によって当該リソースの制御データを作成する。
【００９９】
当該サイクル中で実行する全てのタスクについて、当該タスクで使用するリソースの制御データを求め、当該リソースを使用する制御データを１つに集めて当該サイクル中の当該リソースの制御データを作成し、当該サイクル中の当該リソースのオペレーションを定めて詳細スケジュールを決定する。
【０１００】
ステップ７０の処理で、コントロールモジュール１３０は、１サイクル分の詳細スケジュール１０３を受け取ると、その情報に従って分析システムの制御を実行する。
【０１０１】
ステップ３０の処理で、分析システムのエラー発生、または、ジョブ内容の変更等の割り込み１０４〜１０６が発生していることが判ると、ステップ５０の処理に進み、全体スケジュール決定モジュール１１０およびリソース別スケジュール決定モジュール１２０において、既存スケジュールのキャンセルおよび全体スケジュールの再スケジューリングを実施する。
【０１０２】
また、ステップ３０の処理で、分析システムのエラー発生、または、ジョブ内容の変更等の割り込み１０４〜１０６が発生していなければ、ステップ４０の処理に進み、停止条件の判定を行って、前記停止条件を満足するまで実行する。
【０１０３】
コントロールモジュール１３０のステップ８０の処理においても、停止条件の判定を行って、前記停止条件を満足するまで実行する。
【０１０４】
以上の様に、本実施例の分析システム・スケジューリング方法によれば、複数のジョブ中の複数のタスクの実行順序、実行時間及びタスク間インターバルを割り付ける全体スケジュールの決定処理と、当該サイクル中のリソースのオペレーションを示す詳細スケジュールの決定処理を分割しているので、分析スケジュールの決定処理の負荷分散を行うことが可能である。
【０１０５】
以下に、本実施例の分析システム・スケジューリング方法におけるジョブプロトコルについて説明する。
【０１０６】
図５は、本実施例の分析システム・スケジューリング方法におけるジョブの概略構成を示す図である。図５において、２００はジョブ、２１００〜２３００はサイクルを単位とした時間間隔で並んだタスクである。
【０１０７】
図５に示す様に、本実施例の分析システム・スケジューリング方法におけるジョブ２００は、サイクルを単位とした時間間隔で並んだ複数のタスク２１００、タスク２２００、タスク２３００と、前記タスクとタスクの間に一定の待ち時間を設けるインターバルから構成されており、タスク２１００を実行した後、あるインターバルを経てタスク２２００を実行し、再びあるインターバルが経過した後にタスク２３００を実行してジョブ２００の処理を終了している。
【０１０８】
本実施例の分析システム・スケジューリング方法では、図４に示す様に、サンプル４４１と試薬４５１を吸引し、一定の時間経過させてサンプル４４１と試薬４５１を反応させた後、前記反応結果を測定ユニット４７０によって測定して分析処理を行っており、サンプル４４１を特定の分析項目について分析する分析処理がジョブ２００に相当し、タスク２１００〜２３００の例としては、ピペッタ４３０によるサンプル４４１や試薬４５１の吸引に必要な一連の操作や、測定ユニット４７０で測定を行う為に必要な一連の操作等が相当し、前記タスク間のインターバルの一例としては、インキュベータ４６０によるサンプル４４１と試薬４５１を反応させる為に必要なインキュベーション時間が挙げられる。
【０１０９】
図６は、本実施例の分析システム・スケジューリング方法におけるジョブ要求列の概略構成を示す図である。図６において、３００はジョブ要求列、３０１はジョブの名称、３０２はジョブタイプ、３０３はタスク間インターバル、３０３ａ〜３０３ｃは各タスクのタスク間インターバルである。
【０１１０】
図６に示す様に、本実施例の分析システム・スケジューリング方法では、ジョブプロトコル中のジョブの種類であるジョブタイプ３０２と前記ジョブタイプ中の複数のタスクのタスク間インターバル３０３を指定してジョブの実行を要求しており、ジョブ要求列３００は、インターフェースモジュール１５０から入力され、ジョブの名称３０１、ジョブプロトコルの種類を表わすジョブタイプ３０２と、ジョブを構成するタスク間の実行間隔を表わすタスク間インターバル３０３で構成されている。また、タスク間インターバル３０３は、各タスクのタスク間インターバル３０３ａ〜３０３ｃを有している。
【０１１１】
図７は、本実施例の分析システム・スケジューリング方法におけるジョブプロトコルの概略構成を示す図である。図７において、４００はジョブプロトコル、４０１はジョブタイプ、４０２はジョブを構成するタスク、４０２ａ〜４０２ｄはジョブの各実行段階のタスクである。
【０１１２】
図７に示す様に、本実施例の分析システム・スケジューリング方法のジョブプロトコル４００は、ジョブプロトコルの種類を表わす複数のジョブタイプ４０１と、ジョブタイプ４０１に対応する複数のタスク４０２で構成され、タスク４０２はジョブで実行される段階毎にタスク４０２ａ〜４０２ｄに分かれており、全体スケジュール決定知識格納部１１２に格納されている。
【０１１３】
図６及び図７に示す様に、本実施例の分析システム・スケジューリング方法では、ジョブ要求列３００によって要求される複数のジョブで行われる分析処理を、ジョブプロトコル４００に示された複数のタスク４０２と、ジョブ要求列３００に示されたタスク間インターバル３０３の値によって表現している。
【０１１４】
図７に示したタスク４０２のタスク４０２ａとタスク４０２ｂとの間には、図６に示したタスク間インターバル３０３ａがあり、タスク４０２ｂとタスク４０２ｃとの間にはタスク間インターバル３０３ｂがあり、タスク４０２ｃとタスク４０２ｄとの間にはタスク間インターバル３０３ｃがある。
【０１１５】
図６に示す様に、ジョブの名称３０１が「ＪＯＢ１」であるジョブのジョブタイプ３０２は「ＴＹＰＥ１］であり、図７に示す様に、タスク４０２として「ＴＡＳＫ１」、「ＴＡＳＫ２］、「ＴＡＳＫ３］の３つのタスクで構成されており、また、図６及び図７に示す様に、「ＴＡＳＫ１」と「ＴＡＳＫ２］との間のタスク間インターバル３０３及び「ＴＡＳＫ２」と「ＴＡＳＫ３］との間のタスク間インターバル３０３は共に「１０」である。
【０１１６】
前記の様に、本実施例の分析システム・スケジューリング方法では、ジョブ要求列３００中で、あるジョブをジョブタイプ３０２とタスク間インターバル３０３の組み合わせで表現することにより、ピペッティングシーケンスや測定シーケンス等、同一のタスクを行う複数のジョブを、同じジョブタイプ３０２を用いることによって表現する。
【０１１７】
また、実行するタスクは同一であるが、分析対象のサンプル４４１や使用する試薬４５１の種類によってサンプル４４１と試薬４５１を反応させるインキュベーション時間が異なる複数のジョブの実行を要求する場合には、同じジョブタイプ３０２と異なるタスク間インターバル３０３の値を用いることによって複数のジョブを表現する。
【０１１８】
以上の様に、本実施例の分析システム・スケジューリング方法によれば、ジョブをジョブプロトコルとタスク間インターバルとの組み合わせによって表現するので、ジョブのデータの作成、テスト及び保守を容易にすることが可能である。
【０１１９】
以下に、本実施例の分析システム・スケジューリング方法におけるタスクモデルについて説明する。
【０１２０】
図８は、本実施例の分析システム・スケジューリング方法におけるタスクの概略構成を示す図である。図８において、２１１１〜２１１８は「リソース１」で実行されるオペレーション、２１２１〜２１２５は「リソース２」で実行されるオペレーション、２１３１〜２１３３は「リソース３」で実行されるオペレーション、２０１はサイクルの境界である。
【０１２１】
図８に示す様に、本実施例の分析システム・スケジューリング方法におけるタスク２１００は、リソース毎に分けられた複数のオペレーションから成り、「リソース１」で実行されるオペレーション２１１１〜２１１８、「リソース２」で実行されるオペレーション２１２１〜２１２５、「リソース３」で実行されるオペレーション２１３１〜２１３３で構成されている。
【０１２２】
前記リソースの例としては、ピペッタ４３０の使い捨てのピペッタノズルであるチップ４１１を格納するチップコンテナ４１０、使い捨ての反応容器であるベッセル４２１を格納するベッセルコンテナ４２０、検体である複数のサンプル４４１を格納する円盤状のサンプルディスク４４０、試薬４５１と磁性流体であるビーズ４５２を入れたラックパックを格納する円盤状の試薬ディスク４５０、サンプル４４１と試薬４５１を反応させるインキュベータ４６０、前記ラックパックの蓋を開閉するキャップ開閉機４８０が相当する。
【０１２３】
また、前記リソースで実行されるオペレーションとしては、チップコンテナ４１０のチップ４１１をピペッタ４３０のノズルの先に装着する操作、試薬ディスク４５０を回転させて特定の試薬４５１及びビーズ４５２を吸引位置に移動させる操作、キャップ開閉機４８０によって特定の試薬４５１及びビーズ４５２を入れたラックパックの蓋を開ける操作、ピペッタ４３０によって試薬４５１及びビーズ４５２を吸引する操作、サンプルディスク４４０を回転させてサンプル４４１を吸引位置に移動させる操作、ピペッタ４３０によってサンプル４４１を吸引する操作、ピペッタ４３０に吸引されたサンプル４４１、試薬４５１及びビーズ４５２をベッセル４２１に吐出する操作、サンプル４４１、試薬４５１及びビーズ４５２が混合されたベッセル４２１をインキュベータ４６０に運ぶ操作、一定時間経過させてサンプル４４１と試薬４５１を反応させる操作、ベッセル４２１を測定ユニット４７０に移動する操作、電気化学発光と呼ぶ方法により、ビーズ４５２の磁力によって一箇所に集められたサンプル４４１と試薬４５１の化学反応によって生じる微弱な光を測定ユニット４７０により測定する操作が挙げられる。
【０１２４】
本実施例の分析システム・スケジューリング方法では、オペレーション２１１１〜２１１８、オペレーション２１２１、オペレーション２１２２、オペレーション２１２３〜２１２５を、それぞれ１つのオペレーションとして表現することにより、タスク２１００をタスクモデルとしてモデル化している。
【０１２５】
図９は、本実施例の分析システム・スケジューリング方法におけるタスクモデルの概略構成を示す図である。図９において、２１１ａ及び２１２ａ〜２１２ｃはタスクモデルのオペレーションである。
【０１２６】
図９に示す様に、本実施例の分析システム・スケジューリング方法におけるタスクモデルは、リソース毎に分けられた複数のモデル化されたオペレーションから成り、図８のオペレーション２１１１〜２１１８を１つのオペレーション２１１ａとし、オペレーション２１２１を１つのオペレーション２１２ａとし、オペレーション２１２２を１つのオペレーション２１２ｂとし、オペレーション２１２３から２１２５を１つのオペレーション２１２ｃとすることにより、タスク２１００をタスクモデルとしてモデル化して表現している。
【０１２７】
本実施例の分析システム・スケジューリング方法の免疫分析装置は、チップコンテナ４１０のチップ４１１をピペッタ４３０のノズルの先に装着し、試薬ディスク４５０を回転させて特定の試薬４５１及びビーズ４５２を吸引位置に移動させた後、キャップ開閉機４８０によって特定の試薬４５１及びビーズ４５２を入れたラックパックの蓋を開け、ピペッタ４３０によって試薬４５１及びビーズ４５２を吸引し、次に、サンプルディスク４４０を回転させてサンプル４４１を吸引位置に移動させた後、ピペッタ４３０によってサンプル４４１を吸引し、ピペッタ４３０に吸引されたサンプル４４１、試薬４５１及びビーズ４５２をベッセル４２１に吐出するが、本実施例の分析システム・スケジューリング方法のタスクモデルでは、この様な一連の操作をピペッティングシーケンスとしてリソース毎に１つのタスクモデルで表現している。
【０１２８】
図１０は、本実施例の分析システム・スケジューリング方法におけるタスクモデルの使用タイミングを示す図である。図１０において、５００は当該タスクが「リソース１」を使用する使用タイミング、５０１は当該タスクのタスク名、５０２はタスク名５０１のタスクが使用するサイクル、５０３はサイクル５０２中の使用タイミングを表わす使用タイミング番号、５１０は当該タスクが「リソース２」を使用する使用タイミング、５１１は当該タスクのタスク名、５１２はタスク名５１１のタスクが使用するサイクル、５１３はサイクル５１２中の使用タイミングを表わす使用タイミング番号、５２０は当該タスクが「リソース４」を使用する使用タイミング、５２１は当該タスクのタスク名、５２２はタスク名５２１のタスクが使用するサイクル、５２３はサイクル５２２中の使用タイミングを表わす使用タイミング番号である。
【０１２９】
また、図１０において、各使用タイミング番号に示された番号は、各サイクルを特定の長さの時間に分割したときの分割されたサイクルの特定の部分を示す番号であり、前記サイクルを分割する特定の時間の長さは、使用するリソースや行われるオペレーションによって決定される。
【０１３０】
図１０に示す様に、本実施例の分析システム・スケジューリング方法において、全体スケジュール決定知識格納部１１２に格納された使用タイミング５００は、リソース毎に分けられた複数の使用タイミングから成り、当該タスクの名称であるタスク名５０１と、当該タスクが使用するサイクル５０２と、サイクル５０２中でタスクが当該リソースを使用する使用タイミングを表わす使用タイミング番号５０３で構成され、使用タイミング５１０及び使用タイミング５２０についても同様に構成されている。
【０１３１】
図１０に示す様に、本実施例の分析システム・スケジューリング方法の「ＴＡＳＫ１」は、サイクル５０２の「ｎ」の使用タイミング５０３の１番目で「リソース１」を使用し、サイクル５１２の「ｎ−１」の使用タイミング番号５１３の６番目及び９番目と、サイクル５１２の「ｎ」の使用タイミング５１３の２番目、３番目及び４番目で「リソース２」を使用している。
【０１３２】
図９及び図１０に示す様に、本実施例の分析システム・スケジューリング方法では、ジョブに対応するタスクを、タスクモデルとその使用タイミングによって示すことで、タスクをジョブの構成部品として表現しており、タスクをジョブの構成部品として表現することにより、用意すべきタスクの数を減らすことができるので、タスクの作成、テストおよび保守が容易になる。
【０１３３】
以上の様に、本実施例の分析システム・スケジューリング方法によれば、全体スケジュール中のタスクを簡略化されたタスクモデルで表現するので、全体スケジュールの決定時間を短縮することが可能である。
【０１３４】
また、本実施例の分析システム・スケジューリング方法によれば、リソース毎にタスクモデル及び使用タイミング番号のデータ構造を分けておくことにより、全体スケジュールを決定するソフトウェアをリソース毎に実装することができるので、リソースの変更、追加及び削除を容易にすることが可能である。
【０１３５】
以下に、本実施例の分析システム・スケジューリング方法におけるタスク−オペレーション対応表について説明する。
【０１３６】
図１１は、本実施例の分析システム・スケジューリング方法におけるタスクとオペレーションの対応を示す図である。図１１において、６００はタスク−オペレーション対応表、６０１はタスク名、６０２はサイクル、６０３はセグメント番号、６０４はオペレーション名６０４、６０５はフラグ、６０６はオプションである。
【０１３７】
図１１に示す様に、本実施例の分析システム・スケジューリング方法のタスク−オペレーション対応表６００は、リソース別スケジュール決定知識格納部１２２に格納され、リソース毎に分けられたタスクに対応する複数のオペレーションの対応関係から成り、タスク名６０１と、タスク名６０１のタスクが使用するサイクル６０２と、サイクル６０２を１０のセグメントに分割し、前記分割した１０のセグメントの特定のセグメントを表わすセグメント番号６０３と、セグメント番号６０３に対応するオペレーション名６０４と、オペレーション名６０４のオペレーションの実行または非実行を表わすフラグ６０５と、移動先や動作方法等の当該オペレーションの実行に必要なオプション６０６で構成されている。
【０１３８】
図１１に示す様に、本実施例の分析システム・スケジューリング方法では、タスクに対応するオペレーションを、オペレーション名６０４と当該オペレーションの実行または非実行を表すフラグ６０５によって示すことで、オペレーションをタスクの構成部品として表現している。
【０１３９】
以上の様に、本実施例の分析システム・スケジューリング方法によれば、オペレーションをタスクの構成部品として表現することにより、用意すべきオペレーションの数を減らすことができるので、オペレーションの作成、テストおよび保守が容易になると共に、オペレーションに具体的な時刻の情報を付加せず、操作内容のみで表わすことにより、オペレーション内部の詳細な仕様を変更する場合でも分析スケジュールの決定に与える影響を少なくすることができる。
【０１４０】
また、本実施例の分析システム・スケジューリング方法によれば、リソース毎にタスク−オペレーション対応表のデータ構造を分けておくことにより、詳細スケジュールを決定するソフトウェアをリソース毎に実装することができるので、リソースの変更、追加及び削除を容易にすることが可能である。
【０１４１】
（全体スケジュールを決定する処理手順）
以下に、本実施例の分析システム・スケジューリング方法において、複数のジョブについて、図２のステップ１０に示した全体スケジュールの決定を行う処理手順について説明する。
【０１４２】
図１２は、本実施例の分析システム・スケジューリング方法において、全体スケジュールを決定する処理手順を示すフローチャートである。
【０１４３】
図１２に示す様に、本実施例の分析システム・スケジューリング方法のステップ７１０の処理では、まず、ジョブ要求列をスケジュール情報格納部１１３に格納しておく。
【０１４４】
図１３は、本実施例の分析システム・スケジューリング方法において全体スケジュールが決定される複数のジョブのジョブ要求列を示す図である。図１３において、１３０１は分析項目、１３０２はジョブタイプ、１３０３はタスク間インターバルである。
【０１４５】
図１３に示す様に、本実施例の分析システム・スケジューリング方法におけるジョブ要求列には、分析項目１３０１に、「ＴＥＳＴ０１」、「ＴＥＳＴ０２」及び「ＴＥＳＴ０３」の３つのジョブが記載され、ジョブタイプ１３０２はそれぞれ「ｐｒｏｔｏｃｏｌ０１」、「ｐｒｏｔｏｃｏｌ０２」及び「ｐｒｏｔｏｃｏｌ０３」であり、ジョブタイプ１３０２に対応するタスク間のタスク間インターバル１３０３を有している。
【０１４６】
次に、図１２に示すステップ７２０の処理で、スケジュール情報格納部１１３に格納されたジョブ要求列から分析項目１３０１とジョブタイプ１３０２及びタスク間インターバル１３０３を取り出し、全体スケジュール決定知識格納部１１２に格納しているジョブプロトコルによって、ジョブ要求列中のジョブをタスク間インターバルの入ったジョブ構成に変換する。
【０１４７】
図１４は、本実施例の分析システム・スケジューリング方法において全体スケジュールが決定される複数のジョブのジョブプロトコルを示す図である。図１４において、１４０１はジョブタイプ、１４０３はジョブタイプ１４０１に対応するタスクである。
【０１４８】
図１４に示す様に、本実施例の分析システム・スケジューリング方法において全体スケジュールが決定される複数のジョブは、「ＰＳ０１」、「ＰＳ０２」、「ＰＳ０３」、「ＰＳ０４」、「ＰＳ０５」、「ＭＳ０１」、「ＭＳ０２」及び「ＭＳ０３」の複数のタスクで構成されており、「ＰＳ」はピペッタ４３０による吸引に伴う一連のピペッティングシーケンスであること、「ＭＳ」は測定ユニット４７０による測定に伴う一連の測定シーケンスであることを示している。
【０１４９】
図１５は、本実施例の分析システム・スケジューリング方法において、全体スケジュールが決定される複数のジョブの概略構成を示す図である。図１５において、１５００はジョブ構成、１５０１と１５０３はタスク、１５０２はタスク間インターバルである。
【０１５０】
図１５に示す様に、本実施例の分析システム・スケジューリング方法において、全体スケジュールが決定される複数のジョブは、図１３に示すタスク間インターバル１３０３と、図１４に示すジョブプロトコルに対応するタスク１４０３を組み合わせることによって、タスク間インターバル１５０２の入ったジョブ構成１５００を生成している。
【０１５１】
ジョブ「ＴＥＳＴ０１」は、ピペッティングシーケンス「ＰＳ０１」のタスク１５０１を行い、２サイクルのインキュベーション時間であるタスク間インターバル１５０２が経過した後、測定シーケンス「ＭＳ０１」のタスク１５０３を実行することを示している。
【０１５２】
ジョブ「ＴＥＳＴ０２」は、ピペッティングシーケンス「ＰＳ０２」のタスクを行い、２サイクルのインキュベーション時間が経過した後、ピペッティングシーケンス「ＰＳ０４」のタスクを行って、１サイクルのインキュベーション時間が経過した後、測定シーケンス「ＭＳ０２」のタスクを実行することを示している。
【０１５３】
ジョブ「ＴＥＳＴ０３」は、ピペッティングシーケンス「ＰＳ０３」のタスクを行い、２サイクルのインキュベーション時間が経過した後、ピペッティングシーケンス「ＰＳ０５」のタスクを行って、２サイクルのインキュベーション時間が経過した後、測定シーケンス「ＭＳ０３」のタスクを実行することを示している。
【０１５４】
図１２に示すステップ７３０の処理では、全体スケジュール決定知識格納部１１２に格納しているタスクモデルの使用タイミングを用いて、ジョブ構成１５００のタスクのモデル化を行う。
【０１５５】
図１６は、本実施例の分析システム・スケジューリング方法において、ピペッタの使用タイミングを示す図である。図１６において、１６０１はタスク、１６０２はサイクル、１６０３は使用タイミングである。
【０１５６】
図１６に示す様に、本実施例の分析システム・スケジューリング方法のピペッタ４３０の使用タイミングにおいて、タスク１６０１である「ＰＳ０１」で、ピペッタ４３０は、サイクル１６０２を３等分した使用タイミング１６０３の内、「ｎ−１」番目のサイクルの３番目と、「ｎ」番目のサイクルの１番目を使用することを示している。
【０１５７】
図１７は、本実施例の分析システム・スケジューリング方法において、試薬ディスクの使用タイミングを示す図である。図１７において、１７０１はタスク、１７０２はサイクル、１７０３は使用タイミングである。
【０１５８】
図１７に示す様に、本実施例の分析システム・スケジューリング方法の試薬ディスク４５０の使用タイミングにおいて、タスク１７０１の「ＰＳ０１」で、試薬ディスク４５０は、サイクル１７０２を９等分した使用タイミング１７０３の内、「ｎ−１」番目のサイクルの５及び６番目と、「ｎ」番目のサイクルの１、２、３及び４番目を使用することを示している。
【０１５９】
図１８は、本実施例の分析システム・スケジューリング方法によって決定されたＴＥＳＴ０１の全体スケジュールを示す図である。図１８において、Ｐはピペッタ４３０の使用タイミング、ＲＤは試薬ディスク４５０の使用タイミング、ＤＭは測定ユニット４７０の使用タイミングであり、斜線部は分析項目１３０１が「ＴＥＳＴ０１」であるジョブのタスク「ＰＳ０１」及び「ＭＳ０１」の使用タイミングを示している。
【０１６０】
図１８に示す様に、本実施例の分析システム・スケジューリング方法では、図１６に示すピペッタ４３０の使用タイミング及び図１７に示す試薬ディスク４５０の使用タイミングを使用して、分析項目１３０１が「ＴＥＳＴ０１」であるジョブの全体スケジュールを決定する。
【０１６１】
図１６に示す様に、ピペッティングシーケンス「ＰＳ０１」のピペッタ４３０は、サイクル「ｎ−１」の３番目とサイクル「ｎ」の１番目を使用するので、図１８の「Ｐ」の項のサイクル「１」の３番目とサイクル「２」の１番目にピペッタ４３０のタスクモデルを割り付ける。
【０１６２】
次に、ピペッティングシーケンス「ＰＳ０１」の試薬ディスク４５０は、図１７に示す様に、サイクル「ｎ−１」の５及び６番目とサイクル「ｎ」の１〜４番目を使用するので、図１８に示す様に、「ＲＤ」の項のサイクル「１」の５及び６番目とサイクル「２」の１〜４番目に試薬ディスク４５０のタスクモデルを割り付ける。
【０１６３】
次に、図１５に示す様に、ピペッティングシーケンス「ＰＳ０１」と測定シーケンス「ＭＳ０１」との間に２サイクルのインターバルを設定した後、測定シーケンス「ＭＳ０１」をサイクル「５」に割り付ける。
【０１６４】
図１９は、本実施例の分析システム・スケジューリング方法によって決定されたＴＥＳＴ０２の全体スケジュールを示す図である。
【０１６５】
図１９に示す様に、本実施例の分析システム・スケジューリング方法において、ピペッティングシーケンス「ＰＳ０２」のピペッタ４３０は、サイクル「２」の１番目を使用し、ピペッティングシーケンス「ＰＳ０２」の試薬ディスク４５０は、サイクル「１」の６及び９番目とサイクル「２」の２〜４番目を使用し、ピペッティングシーケンス「ＰＳ０４」のピペッタ４３０は、サイクル「５」の２及び３番目を使用し、ピペッティングシーケンス「ＰＳ０４」の試薬ディスク４５０は、サイクル「５」の７及び８番目とサイクル「６」の５番目を使用し、また、測定シーケンス「ＭＳ０２」の測定ユニット４７０は、サイクル「８」を使用している。
【０１６６】
図２０は、本実施例の分析システム・スケジューリング方法によって決定されたＴＥＳＴ０３の全体スケジュールを示す図である。
【０１６７】
図２０に示す様に、本実施例の分析システム・スケジューリング方法において、ピペッティングシーケンス「ＰＳ０３」のピペッタ４３０は、サイクル「１」の１番目を使用し、ピペッティングシーケンス「ＰＳ０３」の試薬ディスク４５０は、サイクル「１」の１〜４番目を使用し、ピペッティングシーケンス「ＰＳ０５」のピペッタ４３０は、サイクル「４」の２及び３番目を使用し、ピペッティングシーケンス「ＰＳ０５」の試薬ディスク４５０は、サイクル「４」の５及び６番目と８及び９番目を使用し、また、測定シーケンス「ＭＳ０３」の測定ユニット４７０は、サイクル「７」を使用している。
【０１６８】
図１２に示すステップ７４０の処理では、スケジュール情報格納部１１３に格納している全体スケジュールをチェックし、モデル化したジョブを割り付けていく。
【０１６９】
図１８〜２０に、分析項目１３０１が「ＴＥＳＴ０１」、「ＴＥＳＴ０２」または「ＴＥＳＴ０３」である個々の全体スケジュールを示したが、これらの全体スケジュールには、タスク間インターバルがあり、分析項目１３０１が「ＴＥＳＴ０１」であるタスクのタスク間インターバルに、分析項目１３０１が「ＴＥＳＴ０２」であるタスクを割り付けることによって、分析処理の分析効率を向上させることが可能である。
【０１７０】
図２１は、本実施例の分析システム・スケジューリング方法において決定された、ＴＥＳＴ０１とＴＥＳＴ０２及びＴＥＳＴ０３の全体スケジュールを示す図である。
【０１７１】
図２１に示す様に、本実施例の分析システム・スケジューリング方法において、分析項目１３０１が「ＴＥＳＴ０１」であるジョブでは、ピペッティングシーケンス「ＰＳ０１」のピペッタ４３０は、サイクル「１」の３番目とサイクル「２」の１番目を使用し、ピペッティングシーケンス「ＰＳ０１」の試薬ディスク４５０は、サイクル「１」の５及び６番目とサイクル「２」の１〜４番目を使用しており、また、測定シーケンス「ＭＳ０１」の測定ユニット４７０は、サイクル「５」を使用している。
【０１７２】
分析項目１３０１が「ＴＥＳＴ０２」であるジョブでは、ピペッティングシーケンス「ＰＳ０２」のピペッタ４３０は、サイクル「３」の１番目を使用し、ピペッティングシーケンス「ＰＳ０２」の試薬ディスク４５０は、サイクル「２」の６及び９番目とサイクル「３」の２〜４番目を使用し、ピペッティングシーケンス「ＰＳ０４」のピペッタ４３０は、サイクル「６」の２及び３番目を使用し、ピペッティングシーケンス「ＰＳ０４」の試薬ディスク４５０は、サイクル「６」の７及び８番目とサイクル「７」の５番目を使用し、また、測定シーケンス「ＭＳ０２」の測定ユニット４７０は、サイクル「９」を使用している。
【０１７３】
分析項目１３０１が「ＴＥＳＴ０３」であるジョブでは、ピペッティングシーケンス「ＰＳ０３」のピペッタ４３０は、サイクル「５」の１番目を使用し、ピペッティングシーケンス「ＰＳ０３」の試薬ディスク４５０は、サイクル「５」の１〜４番目を使用し、ピペッティングシーケンス「ＰＳ０５」のピペッタ４３０は、サイクル「８」の２及び３番目を使用し、ピペッティングシーケンス「ＰＳ０５」の試薬ディスク４５０は、サイクル「８」の５及び６番目と８及び９番目を使用し、測定シーケンス「ＭＳ０３」の測定ユニット４７０は、サイクル「１１」を使用している。
【０１７４】
また、図２１に示す様に、分析項目１３０１が「ＴＥＳＴ０１」のジョブは、サイクル「５」に終了し、分析項目１３０１が「ＴＥＳＴ０２」であるジョブは、サイクル「９」に終了し、分析項目１３０１が「ＴＥＳＴ０３」であるジョブは、サイクル「１１」で終了することから、それぞれのジョブの終了時刻を予測することが可能である。
【０１７５】
また、図１８〜２０に示す様に、分析項目１３０１が「ＴＥＳＴ０１」、「ＴＥＳＴ０２」または「ＴＥＳＴ０３」である個々の全体スケジュールを逐次実行すると、全体では２０サイクルの時間が必要であるが、図２１に示す様に、あるタスク間インターバルに他のタスクを実行する全体スケジュールでは、１１サイクルで同じ分析処理を行うことが可能である。
【０１７６】
図１２に示すステップ７５０の処理では、ジョブを割り付けた全体スケジュールをスケジュール情報格納部１１３に格納する。
【０１７７】
ステップ７６０の処理では、ジョブ要求列の全てのジョブを全体スケジュールに割り付けるまで前記一連の処理を実施する。
【０１７８】
本実施例の分析システム・スケジューリング方法において、全体スケジュールは、サイクル、もしくはその中のタイミングとタスクの関係を表わすものである。従って、全体スケジュールを立てねばならないリソースは、そのタスクが使用するリソースの内、代表的なリソースのみで良い。
【０１７９】
これを代表リソースと呼ぶとすれば、本実施例の分析システム・スケジューリング方法での代表リソースは、ピペッタ４３０、試薬ディスク４５０及び測定ユニット４７０である。
【０１８０】
本実施例の分析システム・スケジューリング方法では、前記分析システムで使用する全てのリソースの内の一部のリソースを選択して代表リソースとし、前記代表リソースについて、全体スケジュールを決定している。
【０１８１】
前記分析システムに備えられた複数のリソースは、相互に関連したオペレーションを行うものがあり、前記の関連した複数のリソースでは、その一部のリソースについて全体スケジュールを作成すれば、関連する他のリソースの全体スケジュールについても全体スケジュールを決定したことになる。
【０１８２】
しかし、代表リソースのみで全体スケジュールを決定した場合、代表リソース以外のリソースでオペレーションが重複する可能性がある。これに対しては、本実施例の分析システム・スケジューリング方法と同様の処理手順で、代表リソースではないリソースについて全体スケジュールを決定することで対応することができる。
【０１８３】
以上の様に、本実施例の分析システム・スケジューリング方法によれば、あるジョブのタスク間インターバル中に他のジョブのタスクを実行する分析スケジュールを決定するので、複数の分析処理の分析効率を向上させることが可能である。
【０１８４】
また、本実施例の分析システム・スケジューリング方法によれば、全体スケジュールによって複数のジョブが行われる時刻が決定されるので、特定のジョブの終了時刻を予測することが可能である。
【０１８５】
また、本実施例の分析システム・スケジューリング方法によれば、全てのリソースの全体スケジュールを作成するのではなく、一部のリソースについての全体スケジュールを決定するので、全体スケジュールの決定時間を短縮することが可能である。
【０１８６】
（詳細スケジュールを決定する処理手順）
以下に、本実施例の分析システム・スケジューリング方法において、図２のステップ２０に示した詳細スケジュールを決定する処理手順について説明する。
【０１８７】
図２２は、本実施例の分析システム・スケジューリング方法において、詳細スケジュールを決定する処理手順を示すフローチャートである。
【０１８８】
図２２に示す様に、本実施例の分析システム・スケジューリング方法のステップ８１０の処理で、まず、当該リソースの１サイクル分の詳細スケジュールを決定するのに必要な情報を全体スケジュール決定モジュール１１０から獲得する。
【０１８９】
例えば、試薬ディスク４５０のサイクル「２」の詳細スケジュールを決定する場合には、まず、図２１に示す全体スケジュールのサイクル「２」の試薬ディスク４５０を示す「ＲＤ」の欄を参照する。
【０１９０】
全体スケジュールのサイクル「２」の欄「ＲＤ」を参照すると、ピペッティングシーケンス「ＰＳ０１」及び「ＰＳ０２」の情報が必要であることが判るので、ピペッティングシーケンス「ＰＳ０１」及び「ＰＳ０２」の試薬ディスク４５０のタスク−オペレーション対応表を参照し、試薬ディスク４５０を操作するオペレーションの情報を獲得する。
【０１９１】
図２３は、本実施例の分析システム・スケジューリング方法におけるピペッティングシーケンスＰＳ０１の試薬ディスクのタスク−オペレーション対応表を示す図である。図２３において、２３１０はピペッティングシーケンスＰＳ０１の試薬ディスク４５０のタスク−オペレーション対応表である。
【０１９２】
図２３に示す様に、本実施例の分析システム・スケジューリング方法におけるピペッティングシーケンスＰＳ０１の試薬ディスク４５０では、サイクル「ｎ−１」のセグメント「５」及び「６」でオペレーション「１−５」及び「１−６」、サイクル「ｎ」のセグメント「１」〜「４」でオペレーション「１−１」〜「１−４」が実行される。
【０１９３】
図２４は、本実施例の分析システム・スケジューリング方法におけるピペッティングシーケンスＰＳ０２の試薬ディスクのタスク−オペレーション対応表を示す図である。図２４において、２４１０はピペッティングシーケンスＰＳ０２の試薬ディスク４５０のタスク−オペレーション対応表である。
【０１９４】
図２４に示す様に、本実施例の分析システム・スケジューリング方法におけるピペッティングシーケンスＰＳ０２の試薬ディスク４５０では、サイクル「ｎ−１」のセグメント「６」及び「９」でオペレーション「１−６」及び「１−９」、サイクル「ｎ」のセグメント「２」〜「４」でオペレーション「１−２」〜「１−４」が実行される。
【０１９５】
図２２に示すステップ８１０の処理で、試薬ディスク４５０のサイクル「２」の詳細スケジュールを決定する場合、図２３及び図２４に示す様に、あるピペッティングシーケンスの試薬ディスク４５０の操作では、２サイクルの時間を使用するので、試薬ディスク４５０の２サイクル分の情報を獲得する。
【０１９６】
次に、ステップ８２０の処理で、試薬ディスク４５０の２サイクル分の情報中の各々のタスクを、リソース別スケジュール決定知識格納部１２２に格納されているタスク−オペレーション対応表２３１０及び２４１０により展開し、サイクル「２」の１サイクル分の詳細スケジュールを導出する。
【０１９７】
すなわち、図２１に示す全体スケジュールでは、サイクル「２」では、ピペッティングシーケンス「ＰＳ０１」の２サイクル目と、ピペッティングシーケンス「ＰＳ０２」の１サイクル目が行われるので、図２３に示すタスク−オペレーション対応表２３１０のサイクル「ｎ」と、図２４に示すタスク−オペレーション対応表２４１０のサイクル「ｎ−１」を参照し、サイクル「２」では、試薬ディスク４５０に対してオペレーション「１−１」〜「１−４」、「１−６」及び「１−９」を実行する詳細スケジュールを作成する。
【０１９８】
そして、ステップ８３０の処理では、サイクル「２」の段階で試薬ディスク４５０に対してオペレーション「１−１」〜「１−４」、「１−６」及び「１−９」を実行する詳細スケジュールをコントロールモジュールに渡す。
【０１９９】
以下に、本実施例の分析システム・スケジューリング方法において、１つのリソースの全体スケジュールから他のリソースの詳細スケジュールを決定する処理手順について説明する。
【０２００】
図２５は、本実施例の分析システム・スケジューリング方法において、キャップ開閉機の詳細スケジュールを決定する処理の概要を示す図である。図２５において、２５１０はキャップ開閉機４８０のタスク−オペレーション対応表、２５２０はキャップ開閉機４８０の制御用テーブルである。
【０２０１】
図２２に示す様に、本実施例の分析システム・スケジューリング方法のステップ８１０の処理で、まず、当該リソースの１サイクル分の詳細スケジュールを決定するのに必要な情報を全体スケジュール決定モジュール１１０から獲得するために、全体スケジュールを参照する。
【０２０２】
図２１に示す全体スケジュールでは、キャップ開閉機４８０の全体スケジュールは決定されていないが、ピペッタ４３０が吸引を行う際に、試薬４５１及びビーズ４５２の入ったラックパックの蓋を開閉するキャップ開閉機４８０のオペレーションはピペッティングシーケンスで行われるので、全体スケジュールのピペッティングシーケンスの情報を獲得する。
【０２０３】
例えば、キャップ開閉機４８０のサイクル「２」の詳細スケジュールを決定する場合には、図２１に示す全体スケジュールのサイクル「２」のピペッタ４３０を示す「Ｐ」の欄を参照する。
【０２０４】
全体スケジュールのサイクル「２」の欄「Ｐ」を参照すると、ピペッティングシーケンス「ＰＳ０１」は、サイクル「１」及びサイクル「２」の２サイクルを使用しているので、サイクル「２」の前後のサイクルであるサイクル「１」及びサイクル「３」の内容も参照する。
【０２０５】
全体スケジュールのサイクル「１」〜「３」の内容から、ピペッティングシーケンス「ＰＳ０１」及び「ＰＳ０２」の情報が必要であることが判るので、ピペッティングシーケンス「ＰＳ０１」及び「ＰＳ０２」のキャップ開閉機４８０のタスク−オペレーション対応表２５１０を参照し、キャップ開閉機４８０を操作するオペレーションの情報を獲得する。
【０２０６】
図２５に示す様に、本実施例の分析システム・スケジューリング方法におけるピペッティングシーケンスＰＳ０１のキャップ開閉機４８０では、サイクル「ｎ−１」のセグメント「３」でオペレーション「１−３」、サイクル「ｎ」のセグメント「２」でオペレーション「１−２」が実行され、ピペッティングシーケンスＰＳ０２では、サイクル「ｎ−１」のセグメント「４」でオペレーション「１−４」、サイクル「ｎ」のセグメント「２」でオペレーション「１−２」が実行される。
【０２０７】
図２２に示すステップ８２０の処理で、キャップ開閉機４８０の２サイクル分の情報中の各々のタスクを、リソース別スケジュール決定知識格納部１２２に格納されているタスク−オペレーション対応表２５１０により展開し、サイクル「２」の１サイクル分の詳細スケジュールを導出する。
【０２０８】
すなわち、図２１に示す全体スケジュールでは、サイクル「２」では、ピペッティングシーケンス「ＰＳ０１」の２サイクル目と、ピペッティングシーケンス「ＰＳ０２」の１サイクル目が行われるので、タスク−オペレーション対応表２５１０のタスク「ＰＳ０１」のサイクル「ｎ」と、タスク「ＰＳ０２」のサイクル「ｎ−１」を参照し、サイクル「２」でキャップ開閉機４８０に対してオペレーション「１−２」及び「１−４」を実行する制御用テーブル２５２０を作成する。
【０２０９】
そして、ステップ８３０の処理では、サイクル「２」の段階でキャップ開閉機４８０に対してオペレーション「１−２」及び「１−４」を実行する制御用テーブル２５２０をコントロールモジュールに渡す。
【０２１０】
以上の様に、本実施例の分析システム・スケジューリング方法によれば、詳細スケジュールが必要となるときに必要な情報を全体スケジュールから獲得して詳細スケジュールを作成するので、不必要な情報の保持を防止し、分析スケジュールの決定処理の負荷分散を効果的に行うことが可能である。
【０２１１】
また、本実施例の分析システム・スケジューリング方法によれば、特定のリソースの全体スケジュール情報から他のリソースの詳細スケジュールを決定するので、全てのリソースについて全体スケジュールを決めておく必要が無く、全体スケジュールの決定時間を短縮することが可能である。
【０２１２】
（全体スケジュールを再決定する処理手順）
以下に、本実施例の分析システム・スケジューリング方法において、図２のステップ５０に示した全体スケジュールを再決定する処理手順について説明する。
【０２１３】
図２６は、本実施例の分析システム・スケジューリング方法において、全体スケジュールを再決定する処理手順を示すフローチャートである。
【０２１４】
図２６に示す様に、本実施例の分析システム・スケジューリング方法のステップ９１０の処理では、まず、全体スケジュールから未実行のジョブを選択してスケジュール情報格納部１１３に格納する。
【０２１５】
そして、ステップ９２０の処理では、退避したジョブと追加・変更するジョブから新たにジョブ要求列を作成し、前記作成したジョブ要求列をスケジュール情報格納部１１３に格納しておく。
【０２１６】
次に、ステップ９３０の処理で、スケジュール情報格納部１１３に格納されたジョブ要求列から分析項目とジョブタイプ及びタスク間インターバルを取り出し、全体スケジュール決定知識格納部１１２に格納しているジョブプロトコルによって、ジョブ要求列中の退避したジョブと追加・変更するジョブをタスク間インターバルの入ったジョブ構成に変換する。
【０２１７】
また、全体スケジュール決定知識格納部１１２に格納しているタスクモデルの使用タイミングを用いて、全体スケジュールの各サイクルにタスクモデルを割り付けて、ジョブ構成１５００のタスクのモデル化を行う。
【０２１８】
次に、あるジョブのタスク間インターバルに、他のジョブのタスクを割り付けることによって分析処理の分析効率を向上させた全体スケジュールを決定し、ジョブを割り付けた全体スケジュールをスケジュール情報格納部１１３に格納する。
【０２１９】
なお、ステップ９３０の処理は、図１２に示した全体スケジュールを決定する処理手順によって行っても良い。
【０２２０】
以上の様に、本実施例の分析システム・スケジューリング方法によれば、未実行のジョブと追加・変更するジョブについて全体スケジュールを再決定するので、決定された全体スケジュールに動的な変更が生じた場合のリソースの利用効率低下を防止することが可能である。
【０２２１】
また、本実施例の分析システム・スケジューリング方法によれば、詳細スケジュールは必要時に決定されるので、ジョブの追加または変更を行うときに詳細スケジュールを変更する必要がなく、分析処理を停止することなくリアルタイムで全体スケジュールを再決定することが可能である。
【０２２２】
以上、本発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【０２２３】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記のとおりである。
【０２２４】
（１）複数のジョブ中の複数のタスクの実行順序、実行時間及びタスク間インターバルを割り付ける全体スケジュールの決定処理と、当該サイクル中のリソースのオペレーションを示す詳細スケジュールの決定処理を分割しているので、分析スケジュールの決定処理の負荷分散を行うことが可能である。
【０２２５】
（２）ジョブをジョブプロトコルとタスク間インターバルとの組み合わせによって表現するので、ジョブのデータの作成、テスト及び保守を容易にすることが可能である。
【０２２６】
（３）全体スケジュール中のタスクを簡略化されたタスクモデルで表現するので、全体スケジュールの決定時間を短縮することが可能である。
【０２２７】
（４）時間情報を付加していない操作内容のみでオペレーションを表しているので、タスクのデータの作成、テスト及び保守を容易にすることが可能である。
【０２２８】
（５）リソース毎にデータ構造を分けておくことにより、分析スケジュールを決定するソフトウェアをリソース毎に実装することができるので、リソースの変更、追加及び削除を容易にすることが可能である。
【０２２９】
（６）全てのリソースの全体スケジュールを作成するのではなく、一部のリソースについての全体スケジュールを決定するので、全体スケジュールの決定時間を短縮することが可能である。
【０２３０】
（７）全体スケジュールによって複数のジョブが行われる時刻が決定されるので、特定のジョブの終了時刻を予測することが可能である。
【０２３１】
（８）詳細スケジュールが必要となるときに必要な情報を全体スケジュールから獲得して詳細スケジュールを作成するので、不必要な情報の保持を防止し、分析スケジュールの決定処理の負荷分散を効果的に行うことが可能である。
【０２３２】
（９）特定のリソースの全体スケジュール情報から他のリソースの詳細スケジュールを決定するので、全てのリソースについて全体スケジュールを決めておく必要が無く、全体スケジュールの決定時間を短縮することが可能である。
【０２３３】
（１０）未実行のジョブと追加・変更するジョブについて全体スケジュールを再決定するので、決定された全体スケジュールに動的な変更が生じた場合のリソースの利用効率低下を防止することが可能である。
【０２３４】
以上の様に、本発明の分析システム・スケジューリング方法によれば、複数の分析処理の分析効率を向上させることが可能である。
【図面の簡単な説明】
【図１】本発明の分析システム・スケジューリング方法を実施する一実施例の実施装置の概略構成を示す図である。
【図２】本実施例の分析システム・スケジューリング方法の処理手順を示すフローチャートである。
【図３】本実施例の分析システム・スケジューリング方法の処理手順と実施装置に格納された情報との対応を示す図である。
【図４】本実施例の分析システム・スケジューリング方法の分析システムの一例である免疫分析装置の概略構成を示す図である。
【図５】本実施例の分析システム・スケジューリング方法におけるジョブの概略構成を示す図である。
【図６】本実施例の分析システム・スケジューリング方法におけるジョブ要求列の概略構成を示す図である。
【図７】本実施例の分析システム・スケジューリング方法におけるジョブプロトコルの概略構成を示す図である。
【図８】本実施例の分析システム・スケジューリング方法におけるタスクの概略構成を示す図である。
【図９】本実施例の分析システム・スケジューリング方法におけるタスクモデルの概略構成を示す図である。
【図１０】本実施例の分析システム・スケジューリング方法におけるタスクモデルの使用タイミングを示す図である。
【図１１】本実施例の分析システム・スケジューリング方法におけるタスクとオペレーションの対応を示す図である。
【図１２】本実施例の分析システム・スケジューリング方法において全体スケジュールを決定する処理手順を示すフローチャートである。
【図１３】本実施例の分析システム・スケジューリング方法において全体スケジュールが決定される複数のジョブのジョブ要求列を示す図である。
【図１４】本実施例の分析システム・スケジューリング方法において全体スケジュールが決定される複数のジョブのジョブプロトコルを示す図である。
【図１５】本実施例の分析システム・スケジューリング方法において全体スケジュールが決定される複数のジョブの概略構成を示す図である。
【図１６】本実施例の分析システム・スケジューリング方法においてピペッタの使用タイミングを示す図である。
【図１７】本実施例の分析システム・スケジューリング方法において試薬ディスクの使用タイミングを示す図である。
【図１８】本実施例の分析システム・スケジューリング方法によって決定されたＴＥＳＴ０１の全体スケジュールを示す図である。
【図１９】本実施例の分析システム・スケジューリング方法によって決定されたＴＥＳＴ０２の全体スケジュールを示す図である。
【図２０】本実施例の分析システム・スケジューリング方法によって決定されたＴＥＳＴ０３の全体スケジュールを示す図である。
【図２１】本実施例の分析システム・スケジューリング方法において決定されたＴＥＳＴ０１とＴＥＳＴ０２及びＴＥＳＴ０３の全体スケジュールを示す図である。
【図２２】本実施例の分析システム・スケジューリング方法において詳細スケジュールを決定する処理手順を示すフローチャートである。
【図２３】本実施例の分析システム・スケジューリング方法におけるピペッティングシーケンスＰＳ０１の試薬ディスクのタスク−オペレーション対応表を示す図である。
【図２４】本実施例の分析システム・スケジューリング方法におけるピペッティングシーケンスＰＳ０２の試薬ディスクのタスク−オペレーション対応表を示す図である。
【図２５】本実施例の分析システム・スケジューリング方法においてキャップ開閉機の詳細スケジュールを決定する処理の概要を示す図である。
【図２６】本実施例の分析システム・スケジューリング方法において全体スケジュールを再決定する処理手順を示すフローチャートである。
【符号の説明】
９１…ジョブ情報、９２…タスクモデル情報、９３…全体スケジュール、９４…タスク情報、１１０…全体スケジュール決定モジュール、１１１…全体スケジュール決定機構、１１２…全体スケジュール決定知識格納部、１１３…スケジュール情報格納部、１２０…リソース別スケジュール決定モジュール、１２１…リソース別スケジュール決定機構、１２２…リソース別スケジュール決定知識格納部、１３０…コントロールモジュール、１３１…コントロール機構、１３２…コントロール知識格納部、１４０…装置状態監視モジュール、１５０…インターフェースモジュール、２００…ジョブ、３００…ジョブ要求列、４００…ジョブプロトコル、４１０…チップコンテナ、４１１…チップ、４２０…ベッセルコンテナ、４２１…ベッセル、４３０…ピペッタ、４４０…サンプルディスク、４４１…サンプル、４５０…試薬ディスク、４５１…試薬、４５２…ビーズ、４６０…インキュベータ、４７０…測定ユニット、４８０…キャップ開閉機、５００…使用タイミング、６００…タスク−オペレーション対応表。
【図１】
0003803936.tif 000002
【図２】
0003803936.tif 000003
【図３】
0003803936.tif 000004
【図４】
0003803936.tif 000005
【図５】
0003803936.tif 000006
【図６】
0003803936.tif 000007
【図７】
0003803936.tif 000008
【図８】
0003803936.tif 000009
【図９】
0003803936.tif 000010
【図１０】
0003803936.tif 000011
【図１１】
0003803936.tif 000012
【図１２】
0003803936.tif 000013
【図１３】
0003803936.tif 000014
【図１４】
0003803936.tif 000015
【図１５】
0003803936.tif 000016
【図１６】
0003803936.tif 000017
【図１７】
0003803936.tif 000018
【図１８】
0003803936.tif 000019
【図１９】
0003803936.tif 000020
【図２０】
0003803936.tif 000021
【図２１】
0003803936.tif 000022
【図２２】
0003803936.tif 000023
【図２３】
0003803936.tif 000024
【図２４】
0003803936.tif 000025
【図２５】
0003803936.tif 000026
【図２６】
0003803936.tif 000027