(57)【要約】【課題】フィールド機器内にのみ有効なタスク優先度を使用せずに、分散アプリケーションへのハードウェア資源の割り当てを可能とする。【解決手段】ネットワークＮを介して相互に接続された複数台のフィールド機器に、複数の分散アプリケーション（分散ＡＰ）を並行動作させる分散システムは、分散ＡＰ毎に指定される、分散ＡＰの優先度を表す分散ＡＰ重要度と、分散ＡＰを構成するタスク毎に指定される、分散ＡＰ内でのタスクの優先度を表す分散ＡＰ内相対値に基づいて、フィールド機器内でのタスクの優先度を表す機器内相対値を算出する重要度調整部３と、重要度調整部３により算出された機器内相対値に従って、分散ＡＰを構成する各タスクに各フィールド機器のハードウェア資源を割り当てる資源割り当て部１３と、を備える。【選択図】図３
2007133481.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して相互に接続された複数台のフィールド機器に、複数の分散アプリケーションを並行動作させる分散システムであって、
分散アプリケーション毎に指定される、分散アプリケーションの優先度を表す分散アプリケーション重要度と、分散アプリケーションを構成するタスク毎に指定される、分散アプリケーション内でのタスクの優先度を表す分散アプリケーション内相対値に基づいて、分散システム全体における分散アプリケーション内のタスクの重要度を表す絶対値を、分散システム内の全ての分散アプリケーションに対して算出する重要度調整部を備えることを特徴とする分散システム。
【請求項２】
前記重要度調整部は、前記算出された絶対値を、分散システムを構成するフィールド機器毎に、フィールド機器で動作させるタスク全てに対して集計し、フィールド機器内でのタスク重要度の相対値を表す機器内相対値を算出することを特徴とする請求項１に記載の分散システム。
【請求項３】
前記重要度調整部を、分散システム全体で少なくとも１つ備え、
前記重要度調整部によりフィールド機器毎に算出された機器内相対値に従って、タスク毎にフィールド機器のハードウェア資源を割り当てる資源割り当て部を、フィールド機器毎に備えることを特徴とする請求項２に記載の分散システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して相互に接続された複数台のフィールド機器に、複数の分散アプリケーションを並行動作させる分散システムに関する。
【背景技術】
【０００２】
近年、フィールド上の多種多様な機器（以下、「フィールド機器」と呼ぶ。）がネットワークを介して相互に接続された分散システムに関して様々な提案がなされている（例えば、特許文献１〜４参照。）。図１５（ａ）に、従来の分散システム２００の構成を示す。分散システム２００は、フィールド機器７０、８０がネットワークＮを介して接続されたシステムである。ネットワークＮは、例えば、公衆回線、電話回線、ＩＳＤＮ回線、無線通信回線、専用線、ＣＡＴＶ回線、光通信回線等のネットワークである。なお、分散システム２００を構成するフィールド機器の台数は特に限定されない。
【０００３】
このような分散システムとしては、例えば、ＰＡ（Process Automation）システム、ＦＡ（Factory Automation）システム、広域監視・制御システム、計測システム、産業・社会システム等があり、分散システムを構成するフィールド機器としては、例えば、センサ、アクチュエータ、コントローラ、通信測定器、計測器、ＩＣテスタ、カメラ、ルータ、スイッチ等のネットワーク機器等がある。
【０００４】
以下、図１５（ｂ）を参照して、分散システム２００に、複数の分散アプリケーションを並行動作させる場合の流れについて説明する。分散アプリケーションとは、分散システムにおいて、分散アプリケーションを構成する機能をタスクとして各フィールド機器に配置して、タスクが協調動作して実現されるアプリケーションである。以下、分散アプリケーションを「分散ＡＰ」と略記する。
【０００５】
分散ＡＰを動作させる際、分散ＡＰを構成するタスクに、フィールド機器のタスク優先度を割り当てる必要がある。タスク優先度とは、ＯＳ（Operating System）がフィールド機器のＣＰＵ（Central Processing Unit）をタスクに分配するために使用する、タスク処理の優先順位を表すＯＳ固有の指標である。タスク優先度の高いタスクが、タスク優先度の低いタスクより先に実行される。優先度が同一のタスクは、平等に時分割で処理される。ここでのタスクは、プロセスやスレッドであっても同等であり、ここでは代表してタスクと呼ぶ。
【０００６】
分散システム２００では、まず、タスクを動作させるフィールド機器が決まる。図１５（ｂ）に示すように、２つの分散ＡＰ（分散ＡＰ１、分散ＡＰ２）がそれぞれ３つのタスクを有する場合、例えば、フィールド機器７０が、分散ＡＰ１の２つのタスク、分散ＡＰ２の１つのタスクを動作させるフィールド機器として決まり、フィールド機器８０が、分散ＡＰ１の残りの１つのタスク、分散ＡＰ２の残りの２つのタスクを動作させるフィールド機器として決まる。タスクを動作させるフィールド機器が決まると、そのフィールド機器のＯＳ機能を利用して、タスクに必要なハードウェア資源が割り当てられる。処理の優先順位は、ＯＳ固有のタスク優先度が指定される。複数のタスクを同一のフィールド機器に動作させる場合には、タスク間の優先順位が決まり、ＯＳ固有のタスク優先度が割り当てられる。
【特許文献１】特開平１０−２１５４９２号公報
【特許文献２】特開２００１−５１７１６号公報
【特許文献３】特開２００２−３１８７０２号公報
【特許文献４】特開２００４−５４８０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の分散システムでは、以下のような問題があった。
タスク優先度がＯＳに依存するため、タスクを動作させるフィールド機器を決めた後で初めてタスク優先度が決まる。従って、分散ＡＰの開発や設計時には、個々のタスクのタスク優先度を決めることができない。また、タスク優先度がＯＳの絶対値指標のため、フィールド機器にタスクを追加する度に、そのフィールド機器で動作する全てのタスクの優先度を人手で再設計する必要がある。更に、分散ＡＰは、複数のフィールド機器上で動作する複数のタスクから構成されるため、１つのＯＳのタスク優先度では、分散ＡＰの優先度を確定することはできず、構成する全てのタスクのタスク優先度をＯＳ毎に調整する必要がある。複数の分散ＡＰを複数のフィールド機器に動作させる場合は、更に共に調整するタスク優先度の範囲は広がり複雑になる。
【０００８】
本発明の課題は、フィールド機器内にのみ有効なタスク優先度を使用せずに、分散アプリケーションへのハードウェア資源の割り当てを可能とすることである。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、請求項１に記載の発明は、ネットワークを介して相互に接続された複数台のフィールド機器に、複数の分散アプリケーションを並行動作させる分散システムであって、
分散アプリケーション毎に指定される、分散アプリケーションの優先度を表す分散アプリケーション重要度と、分散アプリケーションを構成するタスク毎に指定される、分散アプリケーション内でのタスクの優先度を表す分散アプリケーション内相対値に基づいて、分散システム全体における分散アプリケーション内のタスクの重要度分布を表す絶対値を、分散システム内の全ての分散アプリケーションに対して算出する重要度調整部を備えることを特徴としている。
【００１０】
請求項２に記載の発明は、請求項１に記載の分散システムにおいて、前記重要度調整部は、前記算出された絶対値を、分散システムを構成するフィールド機器毎に、フィールド機器で動作させるタスク全てに対して集計し、フィールド機器内でのタスク重要度の相対値を表す機器内相対値を算出することを特徴としている。
【００１１】
請求項３に記載の発明は、請求項２に記載の分散システムにおいて、前記重要度調整部を、分散システム全体で少なくとも１つ備え、
前記重要度調整部によりフィールド機器毎に算出された機器内相対値に従って、タスク毎にフィールド機器のハードウェア資源を割り当てる資源割り当て部を、フィールド機器毎に備えることを特徴としている。
【発明の効果】
【００１２】
本発明によれば、フィールド機器内にのみ有効なタスク優先度を使用せずに、分散アプリケーションへのハードウェア資源の割り当てが可能となる。
【００１３】
特に、分散アプリケーション重要度に従ってハードウェア資源を割り当てることにより、同一の機器群に複数の分散アプリケーションを動作させる場合に、重要度の高い分散アプリケーションに優先的にハードウェア資源を割り当てることが可能となる。また、実際に動作させる機器群の構成やその機器群へのタスクの配置に依存せず、複数の分散アプリケーションをアプリケーション単位で、資源割り当てを制御することができる。
【００１４】
また、分散アプリケーション内相対値に従ってハードウェア資源を割り当てることにより、フィールド機器に依存せずに、タスク間の資源割り当ての優先順位を決定することができる。また、実際に動作させる機器群の構成やその機器群へのタスクの配置に依存せず、分散アプリケーションの開発時に設計したタスク間の優先順位を維持することができる。
【００１５】
更に、分散アプリケーション重要度及び分散アプリケーション内相対値に基づいて機器内相対値を算出し、この機器内装置値に従ってハードウェア資源を割り当てることにより、分散アプリケーションを構成する複数のフィールド機器にまたがるタスク間の優先順位を維持したまま、分散アプリケーションの重要度をダイナミックに変更して、フィールド機器内の複数のタスクの資源割り当ての優先順位をダイナミックに変更することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して、本発明の実施形態を説明する。
まず、本実施形態で使用する用語について説明する。本実施形態では、分散ＡＰの重要性を、分散ＡＰとその構成タスクの２段階で表現する指標を定義する。この指標は、フィールド機器固有のＯＳがタスクに割り当てるタスク優先度とは異なり、各フィールド機器共通の資源の割り当て優先度や処理優先度を示す。本実施形態では、従来の「優先度」と区別するために「重要度」という用語を用いる。
【００１７】
分散システム全体の全ての分散ＡＰ間で、資源割り当ての重要性の大小を示す指標（分散ＡＰの優先度）として「分散ＡＰ重要度」を定義する。また、指定された範囲の複数のタスク間で、資源割り当てにおける重要性の大小を示す指標として「タスク重要度」を定義する。更に、この「タスク重要度」の中で、システム全体の全てのタスク間の重要性の大小を示す指標として「絶対値」を定義し、同一の分散ＡＰを構成するタスク間の重要性の大小を示す指標（タスクの優先度）として「分散ＡＰ内相対値」を定義し、同一のフィールド機器で動作するタスク間の重要性の大小を示す指標として「機器内相対値」を定義する（図５及び図６参照）。
【００１８】
まず、本実施形態における構成について説明する。
図１に、本発明の実施形態における分散システム１００の構成を示す。分散システム１００は、図１に示すように、フィールド機器１、２と、各フィールド機器で動作させる各分散ＡＰのタスク重要度を調整する重要度調整部３により構成され、各機器はネットワークＮを介して相互に接続される。
【００１９】
フィールド機器１、２は、センサ、アクチュエータ、コントローラ、通信測定器、計測器、ＩＣテスタ、カメラ、ルータ、スイッチ等のネットワーク機器等である。また、ネットワークＮは、例えば、公衆回線、電話回線、ＩＳＤＮ回線、無線通信回線、専用線、ＣＡＴＶ回線、光通信回線等のネットワークである。なお、分散システム１００を構成するフィールド機器の台数は特に限定されない。また、図１では、フィールド機器と重要度調整部３が別体である場合を示しているが、何れかのフィールド機器と重要度調整部３が一体となった構成であってもよい。
【００２０】
図２に、フィールド機器１、２に共通する主要部構成を示す。フィールド機器１、２は、図２に示すように、演算制御手段１０、記憶手段１１、通信手段１２、資源割り当て部１３により構成される。
【００２１】
演算制御手段１０は、ＣＰＵ（Central Processing Unit）等により構成され、フィールド機器１（又は２）を構成する各部を制御する。
【００２２】
記憶手段１１は、ハードディスク、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、フラッシュメモリ等により構成され、分散アプリケーション（以下、「分散ＡＰ」と略記。）等のアプリケーションプログラムを格納する。通信手段１２は、ネットワークＮを介して外部機器と通信を行う。
【００２３】
資源割り当て部１３は、図３に示すように、重要度調整部３により設定された、分散ＡＰのタスク重要度の機器内相対値（後述、図６参照）に従って、ＯＳの資源割り当て機能を使用して、タスク優先度の実際のハードウェア資源を各タスクに割り当てる。
【００２４】
図４に、重要度調整部３の主要部構成を示す。重要度調整部３は、図４に示すように、重要度管理テーブル３０を有し、正規化・更新部３１、絶対値領域確保部３２、絶対値マッピング部３３、機器内相対値マッピング部３４により構成される。
【００２５】
重要度管理テーブル３０は、資源割り当て管理テーブル３０１（図５）と、資源割り当て管理テーブル３０２（図６）を有する。
【００２６】
図５に、資源割り当て管理テーブル３０１のデータ構成を示す。資源割り当て管理テーブル３０１は、図５に示すように、分散ＡＰ毎に、「分散ＡＰ識別子」、「分散ＡＰ重要度」、「構成タスク数」、分散ＡＰを構成するタスクの「タスク重要度」の項目から構成される。
【００２７】
「分散ＡＰ識別子」項目は、分散ＡＰを識別する識別子データを格納する。「分散ＡＰ重要度」項目は、分散ＡＰの重要度を表す順位のデータを格納する。図５では、「分散ＡＰ重要度」項目で各分散ＡＰに設定される順位を奇数としている。「分散ＡＰ重要度」項目で設定されるデータは、正規化・更新部３１における処理によって変動する。
【００２８】
「構成タスク数」項目は、分散ＡＰを構成するタスク数のデータを格納する。「タスク重要度」項目は、「相対値領域」と「絶対値領域」の項目から構成される。「相対値領域」項目は、分散ＡＰ内相対値（同一の分散ＡＰを構成するタスク間の重要性の大小を示す指標）の領域を表すデータを格納する。「絶対値領域」項目は、絶対値（システム全体の全てのタスク間の重要性の大小を示す指標）の領域を表すデータを格納する。「絶対値領域」項目で設定されるデータは、絶対値領域確保部３２における処理によって変動する。なお、図５では、「分散ＡＰ重要度」項目及び「絶対値領域」項目において、設定された数値が小さいほど重要度が高い場合を示している。
【００２９】
図６に、資源割り当て管理テーブル３０２のデータ構成を示す。資源割り当て管理テーブル３０２は、図６に示すように、「分散ＡＰ（識別子）」、「分散ＡＰ内タスク（識別子）」、「機器（識別子）」、「タスク重要度」の項目から構成される。
【００３０】
「分散ＡＰ（識別子）」項目は、分散ＡＰを識別する識別子データを格納する。「分散ＡＰ内タスク（識別子）」項目は、分散ＡＰを構成する各タスクを識別する識別子データを格納する。「機器（識別子）」項目は、該当するタスクが割り当てられるフィールド機器を識別する識別子データを格納する。「タスク重要度」項目は、「分散ＡＰ内相対値」、「絶対値」、「機器内相対値」の項目から構成される。「分散ＡＰ内相対値」項目は、分散ＡＰ別に分散ＡＰ内相対値（同一の分散ＡＰを構成するタスク間の重要性の大小を示す指標）のデータを格納する。「絶対値」項目は、各タスクの絶対値（システム全体の全てのタスク間の重要性の大小を示す指標）のデータを格納する。「絶対値」項目で設定されるデータは、絶対値領域確保部３２における処理によって変動する。
【００３１】
「機器内相対値」項目は、フィールド機器別に、機器内相対値（同一のフィールド機器で動作するタスク間の重要性の大小を示す指標）のデータを格納する。「機器内相対値」項目で設定されるデータは、フィールド機器にタスクが追加されるたびに変動する。なお、図６では、「分散ＡＰ内相対値」、「絶対値」、「機器内相対値」の各項目において、設定された数値が小さいほど重要度が高くなる場合を示している。
【００３２】
以下、重要度調整部３を構成する各部の機能について簡単に説明する。各部の機能の詳細については、後に図７を参照して説明する。以下の機能説明では、分散システム１００に新たに分散ＡＰを追加する場合について説明する。
【００３３】
正規化・更新部３１は、既存の分散ＡＰの重要度の並びに対して、追加する分散ＡＰの重要度を指定して適切な位置に挿入する。
【００３４】
絶対値領域確保部３２は、既存の分散ＡＰにおけるタスク重要度の絶対値領域の並びに対して、追加する分散ＡＰに必要な絶対値領域を確保する。
【００３５】
絶対値マッピング部３３は、絶対値領域確保部３２において確保された絶対値領域に、個々のタスクのタスク重要度の絶対値を割り当てる。
【００３６】
機器内相対値マッピング部３４は、絶対値マッピング部３３での処理で設定されたタスク重要度の絶対値から、動作させるフィールド機器毎の機器内相対値を算出する。
【００３７】
次に、本実施形態における動作について説明する。
図７のフローチャートを参照して、分散システム１００に分散ＡＰを追加する場合に重要度調整部３において実行される処理について説明する。
【００３８】
まず、正規化・更新部３１において、分散ＡＰ重要度の並びを正規化して重要度管理テーブル３０を更新する処理が行われる（ステップＳ１）。具体的に、ステップＳ１では、まず、資源割り当て管理テーブル３０１から、（例えば、奇数で順位付けされた）既存の分散ＡＰの分散ＡＰ重要度の並び情報が読み込まれる。次いで、操作部（図示略）等により、追加する分散ＡＰの分散ＡＰ重要度が指定される。なお、既存の分散ＡＰ重要度の並びに対して、その間を指定する場合は、中間値（例えば偶数）が指定される。次いで、変更された分散ＡＰ重要度の並びに対して、(例えば奇数等で)正規化が施され、重要度管理テーブル３０が更新される。
【００３９】
例えば、図５の資源割り当て管理テーブル３０１及び図６の資源割り当て管理テーブル３０２で示す分散ＡＰ−１と分散ＡＰ−２が動作している分散システム１００では、既存の分散ＡＰ重要度の並びは、図８（ａ）に示すように、分散ＡＰ重要度の高い順に、分散ＡＰ−２（分散ＡＰ重要度＝１）、分散ＡＰ−１（分散ＡＰ重要度＝３）となる。この分散システム１００に、新たに分散ＡＰ−３を追加するとき、この分散ＡＰ−３の分散ＡＰ重要度を、分散ＡＰ−２と分散ＡＰ−１の間に指定する場合、図８（ｂ）に示すように、分散ＡＰ−３の分散ＡＰ重要度は“２”に指定される。次いで、図８（ｃ）に示すように、追加された分散ＡＰ−３よりも分散ＡＰ重要度が低い分散ＡＰ−１の分散ＡＰ重要度が移動し、分散ＡＰ−２、分散ＡＰ−３、分散ＡＰ−１の分散ＡＰ重要度の並びが奇数に正規化され、それぞれ、分散ＡＰ重要度が、１、３、５となる。
【００４０】
次いで、絶対値領域確保部３２において、既存の分散ＡＰにおけるタスク重要度の絶対値領域の並びに対して、追加する分散ＡＰに必要な絶対値領域が確保される（ステップＳ２）。具体的に、ステップＳ２では、まず、資源割り当て管理テーブル３０１及び３０２から、既存の分散ＡＰのタスク重要度の絶対値領域の並び情報が読み込まれる。次いで、追加する分散ＡＰの分散ＡＰ重要度から、その追加する分散ＡＰに必要なタスク重要度領域を確保する位置(既存の領域間のどの境界か)が決定される。追加する分散ＡＰの分散ＡＰ重要度が既存の分散ＡＰと等しい場合は、絶対値領域の何れか一方を拡大・縮小して、絶対値領域が揃えられる。またその領域に分布するタスク重要度（分散ＡＰ内相対値と絶対値）も、同じ比率で拡大・縮小して揃えられる。更に、タスク重要度の値が（例えば整数値に）正規化される。追加する分散ＡＰよりも分散ＡＰ重要度の低い全ての分散ＡＰを構成するタスクのタスク重要度の絶対値が、より低い方向に必要な分（相対値領域分）だけ移動され、重要度管理テーブル３０が更新される。
【００４１】
例えば、図９（ａ）に示すように、既存の分散ＡＰ−２（分散ＡＰ重要度＝１）、ＡＰ−１（分散ＡＰ重要度＝５）におけるタスク重要度の絶対値領域の並びが、それぞれ、１〜３、４〜６である場合に、図９（ｂ）に示すように、２つのタスクから構成される分散ＡＰ重要度が３の分散ＡＰ−３を追加する場合、既存の２つの分散ＡＰの中間に、タスク重要度の絶対値領域が確保される。即ち、図９（ｃ）に示すように、タスク重要度の絶対値領域の並びに分散ＡＰ−３が割り込み、分散ＡＰ−３よりも分散ＡＰ重要度が低い分散ＡＰ−１のタスク重要度が移動される。追加された分散ＡＰ−３のタスク数が２つであるため、分散ＡＰ−１のタスク重要度の絶対値は２つ分ずれて６〜８となる。
【００４２】
次いで、絶対値マッピング部３３において、追加された分散ＡＰのタスク重要度の絶対値へのマッピングが行われる（ステップＳ３）。これは、ステップＳ２で確保された絶対値領域に、個々のタスクのタスク重要度の絶対値を割り当てる処理である。具体的には、操作部（図示略）等により、追加する分散ＡＰを構成するタスクの分散ＡＰ内相対値が指定され、その分散ＡＰ内相対値に対応する絶対値領域内での値（絶対値）に変換され、得られた絶対値が、重要度管理テーブル３０（資源割り当て管理テーブル３０２）に登録される。
【００４３】
例えば、図９（ｃ）に示すように、分散ＡＰ−３のタスク重要度の絶対値領域が確保された場合、その確保された絶対値領域に、図９（ｄ）に示すように、分散ＡＰ−３のタスク重要度の絶対値４、５が割り当てられる。
【００４４】
タスク重要度の絶対値が割り当てられると、機器内相対値マッピング部３４において、タスク重要度の絶対値の機器内相対値へのマッピングが行われる（ステップＳ４）。これは、ステップＳ３の処理で得られたタスク重要度の絶対値に対して、動作させるフィールド機器毎の相対値を割り当てる処理である。具体的には、資源割り当て管理テーブル３０２から、該当するフィールド機器で動作させる全てのタスクのタスク重要度の絶対値が読み込まれ、その絶対値が、そのフィールド機器内で重要度の順位付けを示す機器内相対値に変換され、得られた機器内相対値が、重要度管理テーブル３０（資源割り当て管理テーブル３０２）に登録される。
【００４５】
例えば、図１０に示すように、追加する分散ＡＰ−３を構成する２つのタスクをタスク−３ａ、タスク−３ｂとし、タスク重要度の絶対値が、それぞれ、５、４であるものとする。また、タスク−３ａがフィールド機器１、タスク−３ｂがフィールド機器２に割り当てられるものとする。図１０に示すように、フィールド機器１に割り当てられたタスクは、タスク重要度の高い順にタスク−２ａ、タスク−３ａ、タスク−１ａ、タスク−１ｂであるので、各々のタスクのタスク重要度の絶対値を、１、２、３、４に変換することにより、フィールド機器１で動作するタスクの機器内相対値が算出される。同様に、フィールド機器２に割り当てられたタスクは、タスク重要度の高い順にタスク−２ｃ、タスク−２ｂ、タスク−３ｂ、タスク−１ｃであるので、各々のタスクのタスク重要度の絶対値を、１、２、３、４に変換することにより、フィールド機器２で動作するタスクの機器内相対値が算出される。
【００４６】
各フィールド機器の機器内相対値が得られると、ステップＳ４で得られた各フィールド機器の機器内相対値のデータがネットワークＮを介して各フィールド機器に出力され（ステップＳ５）、各フィールド機器の資源割り当て部１３に割り当て要求が行われ、重要度調整部３における処理が終了する。
【００４７】
重要度調整部３から資源割り当てを要求された各フィールド機器の資源割り当て部１３では、タスク重要度の機器内相対値で示された順位付けで、フィールド機器のハードウェア資源が各タスクに配分される。タスク優先度も資源の１つとして、タスク重要度の機器内相対値から変換されてＯＳに要求される。
【００４８】
以上のように、本実施形態の分散システム１００によれば、分散ＡＰ毎に指定した優先度である「分散ＡＰ重要度」に従って、ＯＳのタスク優先度等のフィールド機器の資源割り当てを行うことにより、同一の機器群に複数の分散ＡＰを動作させる場合に、重要度の高い分散ＡＰに優先的にハードウェア資源を割り当てることが可能となる。また、実際に動作させる機器群の構成やその機器群へのタスクの配置に依存せず、複数の分散ＡＰをアプリケーション単位で、資源割り当てを制御することができる。
【００４９】
また、分散ＡＰを構成するタスク毎に指定する優先度である「タスク重要度の分散ＡＰ内相対値」に従って、ＯＳのタスク優先度等の機器の資源割り当てを行うことにより、フィールド機器に依存せずに、タスク間の資源割り当ての優先順位を決定することができる。また、実際に動作させる機器群の構成やその機器群へのタスクの配置に依存せず、分散ＡＰの開発時に設計したタスク間の優先順位を維持することができる。
【００５０】
また、「分散ＡＰ重要度」及び「タスク重要度の分散ＡＰ内相対値」を指定することにより、これらを反映してフィールド機器内に順位付けされた「タスク重要度の機器内相対値」を算出し、ＯＳのタスク優先度等のフィールド機器の資源割り当てを行うことにより、分散ＡＰを構成する複数のフィールド機器にまたがるタスク間の優先順位を維持したまま、分散ＡＰの重要度をダイナミックに変更して、フィールド機器内の複数のタスクの資源割り当ての優先順位（例えば、タスク優先度）をダイナミックに変更することができる。
【００５１】
以下、本実施形態の分散システム１００の変形例１及び２について説明する。
〈変形例１〉
フィールド機器に組み込まれたＯＳのタスク優先度の範囲が、タスク重要度の機器内相対値の領域よりも小さい場合、タスク重要度領域において重複可能な領域を指定し、タスク重要度の領域を重ねることが可能である。図１１に、変形例１における資源割り当て管理テーブル３０３のデータ構成を示し、図１２に、変形例１における資源割り当て管理テーブル３０４のデータ構成を示す。
【００５２】
資源割り当て管理テーブル３０３は、図５の資源割り当て管理テーブル３０１に示された項目に加え、「タスク重要度」項目の中に「重複領域」項目が設けられている。「重複領域」項目は、分散ＡＰ重要度が下位の隣接する分散ＡＰに対する、タスク重要度の重複領域の大きさを示すデータを格納する。図１１及び図１２では、分散ＡＰ重要度が下位の隣接する分散ＡＰ−１に対する分散ＡＰ−２のタスク重要度の重複領域が２（絶対値＝２、３の領域）である場合を示している。
【００５３】
図１３（ａ）に、既存の分散ＡＰ−２及び分散ＡＰ−１のタスク重要度の絶対値領域の並びの例を示す。図１３（ｂ）に示すように、既存の２つの分散ＡＰに、２個のタスクから構成される分散ＡＰ重要度が３の分散ＡＰ−３を追加するものとする。但し、隣接する下位重要度の分散ＡＰ−１に対する分散ＡＰ−３のタスク重要度の重複領域が１であるものとする。この場合、既存の２つの分散ＡＰの中間に、タスク重要度の絶対値領域を確保する際、図１３（ｃ）に示すように、タスク重要度の絶対値領域の並びに、分散ＡＰ−３を割り込ませ、タスク重要度の重複領域分を重複させて割り当て、下位重要度の分散ＡＰ−１のタスク重要度を移動させる。
【００５４】
変形例１によれば、タスク重要度の重複領域を指定することにより、分散ＡＰを構成する一部のタスクのタスク重要度を、下位の分散ＡＰと同一或いは低くして、優先させたいタスクに、より高いタスク優先度を割り当てることが可能となる。
【００５５】
〈変形例２〉
変形例２では、既に動作している分散ＡＰに悪影響を与えずに、新たな分散ＡＰを追加可能な例を示す。
【００５６】
図１４に、フィールド機器で動作する主業務タスク６１（具体的には、アプリケーションプログラム）と、当該主業務タスクを実行するためのＯＳ６２と、通信手段やＩ／Ｏ等のハードウェア資源６３からなる機器固有機能６と、動作機構５と、タスク４１〜４３から構成される追加業務タスク４（具体的には、分散アプリケーションプログラム）との関係を示す。
【００５７】
動作機構５は、機器固有機能インターフェース部５１、ＡＰ操作管理部５２、グループ管理部５３、プログラム実行部５４、重要度調整部５５、資源割り当て部５６により構成される。
【００５８】
機器固有機能インターフェース部５１は、ＯＳ６２、ハードウェア資源６３からなる機器固有機能６を利用するためのインターフェースである。ＡＰ操作管理部５２は、追加業務タスク４の生成、起動、停止、削除を制御するとともに、追加業務タスク間での通信を制御する。グループ管理部５３は、追加業務タスク４のグループ管理を行う。分散ＡＰの単位は、グループ管理部５３のグループとして扱われる。プログラム実行部５４は、追加業務タスク４のプログラムを実行する。
【００５９】
重要度調整部５５は、上述の実施形態の重要度調整部３と同様に、フィールド機器で動作させる各分散ＡＰのタスク重要度を調整する。但し、新たに追加する分散ＡＰの「分散ＡＰ重要度」を、既存の分散ＡＰの分散ＡＰ重要度よりも低く設定する。なお、図１４では、重要度調整部５５がフィールド機器内に設けられた例を示しているが、重要度調整部５５は、ネットワークＮ上に１つ（１台）設けられていればよい。
【００６０】
資源割り当て部５６は、上述の実施形態の資源割り当て部１３と同様に、重要度調整部５５により設定された、分散ＡＰのタスク重要度の機器内相対値に従って、ＯＳ６２の資源割り当て機能を使用して、フィールド機器のハードウェア資源６３を各タスクに割り当てる。
【００６１】
変形例２によれば、新たに追加する分散ＡＰのタスクが、既存の分散ＡＰを構成するタスクのタスク重要度の「絶対値」より必ず低くなるため、タスク重要度の「機器内相対値」も低くなる。従って、追加するタスクに、より低いタスク優先度が割り当てられ、既に運用している分散ＡＰの動作に悪影響を与えることがない。
【図面の簡単な説明】
【００６２】
【図１】本発明の実施形態に係る分散システムの構成を示す図。
【図２】分散システムを構成するフィールド機器の主要部構成を示すブロック図。
【図３】各フィールド機器に割り当てられた分散ＡＰのタスクと、資源割り当て部と、ＯＳと、ハードウェアとの関係を示す図。
【図４】重要度調整部の主要部構成を示すブロック図。
【図５】資源割り当て管理テーブル３０１のデータ構成を示す図。
【図６】資源割り当て管理テーブル３０２のデータ構成を示す図。
【図７】重要度調整部において実行される処理を示すフローチャート。
【図８】分散ＡＰ重要度並びの正規化と更新を説明するための図。
【図９】タスク重要度の絶対値領域への確保と、絶対値へのマッピングを説明するための図。
【図１０】タスク重要度の機器内相対値の算出方法を説明するための図。
【図１１】変形例１の資源割り当て管理テーブル３０３のデータ構成を示す図。
【図１２】変形例１の資源割り当て管理テーブル３０４のデータ構成を示す図。
【図１３】重複領域を指定した場合のタスク重要度の割り当てを説明するための図。
【図１４】変形例２におけるフィールド機器の動作機構の構成を示す図。
【図１５】従来の分散システムを説明するための図。
【符号の説明】
【００６３】
１、２  フィールド機器
３、５５  重要度調整部
１０  演算制御手段
１１  記憶手段
１２  通信手段
１３、５６  資源割り当て部
３０  重要度管理テーブル
３０１〜３０４  資源割り当て管理テーブル
３１  正規化・更新部
３２  絶対値領域確保部
３３  絶対値マッピング部
３４  機器内相対値マッピング部
１００  分散システム
【図１】
2007133481.tif 000003
【図２】
2007133481.tif 000004
【図３】
2007133481.tif 000005
【図４】
2007133481.tif 000006
【図５】
2007133481.tif 000007
【図６】
2007133481.tif 000008
【図７】
2007133481.tif 000009
【図８】
2007133481.tif 000010
【図９】
2007133481.tif 000011
【図１０】
2007133481.tif 000012
【図１１】
2007133481.tif 000013
【図１２】
2007133481.tif 000014
【図１３】
2007133481.tif 000015
【図１４】
2007133481.tif 000016
【図１５】
2007133481.tif 000017