(57)【特許請求の範囲】
【請求項１】
複数の装置とネットワークを介して接続され、前記複数の装置の制御を実行する装置管理手段を備えたタスク処理システムであって、
前記装置管理手段は、
前記複数の装置の一連の制御を実行する制御リクエストを、一連の抽象コマンド列と装置パラメータセットの組合せに変換するシーケンス変換手段と、
前記抽象コマンド列と前記装置パラメータセットの組合せを、前記複数の装置が実行可能な装置コマンドセットに変換するコマンド変換手段と、
前記装置コマンドセットを前記複数の装置へ一連のシーケンスで送信する実行制御手段と、
を備え、
前記コマンド変換手段は更に、前記装置コマンドセットに前記抽象コマンド列の処理単位ごとにグループ番号を付与し、
前記実行制御手段は、
前記装置コマンドセットの前記グループ番号ごとに、前記複数の装置へ前記装置コマンドセットを同時に送信することにより、前記抽象コマンド列に於ける一連のシーケンスで送信する、
ことを特徴とするタスク処理システム。
【請求項２】
複数の装置の制御を一または複数のコンピュータで実行するタスク処理方法であって、
前記複数の装置の一連の制御を実行する制御リクエストを、一連の抽象コマンド列と装置パラメータセットの組合せに変換するシーケンス変換工程と、
前記抽象コマンド列と前記装置パラメータセットの組合せを、前記複数の装置が実行可能な装置コマンドセットに変換し、前記装置コマンドセットに前記抽象コマンド列の処理単位ごとにグループ番号を付与するコマンド変換工程と、
前記装置コマンドセットの前記グループ番号ごとに前記複数の装置へ前記装置コマンドセットを同時に送信することにより、前記装置コマンドセットを前記複数の装置へ前記抽象コマンド列に於ける一連のシーケンスで送信する実行制御工程と、
を行うことを特徴とするタスク処理方法。
【請求項３】
請求項２に記載のタスク処理方法を、
前記一または複数のコンピュータに行わせるためのタスク処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の提供会社（以下、「ベンダ」という。）が提供する複数種類の装置を管理するタスク処理システム、タスク処理方法およびタスク処理プログラムに関する。
【背景技術】
【０００２】
ベンダが提供する装置に於いて、この装置とタスク処理システムとの間の通信プロトコル、コマンドの仕様、投入条件などは、ベンダ毎に其々異なる。従来では、ベンダが提供する装置を管理するには、ベンダ個別のタスク処理システムが用いられてきた。しかし、ベンダ個別のタスク処理システムの操作方法が異なるため、それぞれ操作法の習得が必要になり、業務の効率低下を招く。
【０００３】
限定した管理要件に適合した装置に限り、タスク処理システムを利用する方法もある。しかし、特定ベンダの装置のみが前記管理要件に適合し、新規ベンダの導入ハードルが高くなることが課題となる。
【０００４】
実現したい状態や、サービスの内容によっては、複数装置へ一括の設定、制御が求められる場合がある。主な例として、特定の通信や目的地によってデータの通信路を指定するネットワークパス（以下「パス」という。）がある。パスを構成するためには、パスの終端点および中継点となる装置に対して設定が必要となる。そのオペレーションの効率化のため、上位管理システムからはパスの構成対象装置に対して上記終端点設定、中継点設定を一括で装置設定し、タスク処理システム内部で装置単位に分解し設定できることが望ましい。しかし、パスの設定には、装置ベンダの仕様によって端点、中継点の設定手順のような設定方式や制御方式が異なるという課題がある。
これに対して、上位管理システムないしタスク処理システム内部にて、プログラムによって設定手順と設定内容を記述する方法がある。
【０００５】
図１１は、従来技術に於けるタスク処理システムの構造を示す図である。
従来技術のタスク処理システムは、ＮＭＳ（Network Management System）８０と、ＥＭＳ（Element Management Systems）１０Ａとを有し、ネットワーク１００を介してＡ社製装置群９０Ａに於ける装置ＮＥ１（９１Ａ−１）〜ＮＥ３（９１Ａ−３）と、Ｂ社製装置群９０Ｂに於ける装置ＮＥ１（９１Ｂ−１）〜ＮＥ３（９１Ｂ−３）とに接続されている。装置ＮＥ１（９１Ａ−１）〜ＮＥ３（９１Ａ−３）、装置ＮＥ１（９１Ｂ−１）〜ＮＥ３（９１Ｂ−３）は、例えば、ルータ、Layer 2 Switch、Layer 3 Switch、ＷＤＭ(Wavelength Division Multiplexing)装置、ＳＯＮＥＴ(Synchronous Optical Network)装置またはＳＤＨ(Synchronous Digital Hierarchy)装置などの時分割スイッチ、ＯＸＣ(Optical Cross-Connect)装置またはＰＸＣ(Photonic Cross-Connect)装置などの波長または波長群スイッチ、交換機などである。
【０００６】
ＥＭＳ１０Ａは、上位ＮＭＳインタフェース部１１と、ベンダＡ変換プログラム５０Ａ，ベンダＢ変換プログラム５０Ｂ，…，ベンダＺ変換プログラム５０Ｚ（以下、「ベンダＡ変換プログラム５０Ａ〜ベンダＺ変換プログラム５０Ｚ」という。）とを有している。上位ＮＭＳインタフェース部１１は、ＮＭＳ８０とベンダＡ変換プログラム５０Ａ〜ベンダＺ変換プログラム５０Ｚに接続されている。ベンダＡ変換プログラム５０Ａは、ネットワーク１００を介してＡ社製装置群９０Ａに於ける装置ＮＥ１（９１Ａ−１）〜ＮＥ３（９１Ａ−３）に接続されている。ベンダＢ変換プログラム５０Ｂは、ネットワーク１００を介してＢ社製装置群９０Ｂに於ける装置ＮＥ１（９１Ｂ−１）〜ＮＥ３（９１Ｂ−３）に接続されている。
【０００７】
ＮＭＳ８０からＥＭＳ１０Ａには、入力情報Ｒ８０が送信される。ベンダＡ変換プログラム５０Ａから装置ＮＥ１（９１Ａ−１）〜ＮＥ３（９１Ａ−３）には、装置コマンドＲ４０が送信される。
【０００８】
このベンダＡ変換プログラム５０Ａ〜ベンダＺ変換プログラム５０Ｚは、上位装置であるＮＭＳ８０の入力情報Ｒ８０を、それぞれの装置コマンドＲ４０に変換する。ベンダＡ変換プログラム５０Ａ〜ベンダＺ変換プログラム５０Ｚは、各ベンダＡ〜ベンダＺの装置に合わせた設定手順と設定内容がコーディングされている。ベンダＡ変換プログラム５０Ａ〜ベンダＺ変換プログラム５０Ｚは、上位装置であるＮＭＳ８０からの制御リクエストである入力情報Ｒ８０を、各装置に合わせた装置コマンドＲ４０に変換する。これにより、各機器を制御し、かつ、上位装置であるＮＭＳ８０に対して、入力情報Ｒ８０のインタフェースを統一している。
非特許文献１には、ベンダ装置に対して、アダプタＳＤＫ（Software Development Kit）によって対応する技術が開示されている。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Nakina Systems,"Nakina Adapter SDK"、[online],平成２３年４月２８日検索]、インターネット(URL : http://www.nakinasystems.com/network-management-solutions/products_adapter_sdk.php)
【発明の概要】
【発明が解決しようとする課題】
【００１０】
非特許文献１の技術は、ベンダそれぞれの機器を制御し、かつ、上位装置であるＮＭＳ８０に対してインタフェースを統一するには有効である。しかし、装置のファームウェア更新などによる装置仕様が変更（例えば、装置コマンドの記述方法の変更など。）された場合、変更された仕様を利用している状態やサービスを実現する設定と制御の全てについてプログラムの修正と検証が必要となる。また、オペレーションを高速化するため、装置間の影響が少ないコマンドを並列で実行する場合も、実行スレッドの分離、および、全ての応答待ちといった処理をコーディングする必要がある。これらのコーディングはプログラム言語に依存するため、実行シーケンスの見直しなどで並列化を検討したとしても、そのコードは複雑となり、変更しようとしても容易に並列処理をコーディングすることができないという課題がある。
【００１１】
そこで、本発明は、容易に並列処理を含む実行シーケンスの作製、変更および装置仕様変更に対して簡易に修正し変更箇所を局所化できるマルチベンダ装置対応のタスク処理システム、タスク処理方法およびタスク処理プログラムを提供することを課題とする。
【課題を解決するための手段】
【００１２】
前記した課題を解決するため、請求項１に記載の発明は、複数の装置とネットワークを介して接続され、前記複数の装置の制御を実行する装置管理手段を備えたタスク処理システムであって、前記装置管理手段は、前記複数の装置の一連の制御を実行する制御リクエストを、一連の抽象コマンド列と装置パラメータセットの組合せに変換するシーケンス変換手段と、前記抽象コマンド列と前記装置パラメータセットの組合せを、前記複数の装置が実行可能な装置コマンドセットに変換するコマンド変換手段と、前記装置コマンドセットを前記複数の装置へ一連のシーケンスで送信する実行制御手段と、を備える。前記コマンド変換手段は更に、前記装置コマンドセットに前記抽象コマンド列の処理単位ごとにグループ番号を付与する。前記実行制御手段は、前記装置コマンドセットの前記グループ番号ごとに、前記複数の装置へ前記装置コマンドセットを同時に送信することにより、前記抽象コマンド列に於ける一連のシーケンスで送信する。
【００１３】
請求項２に記載の発明は、複数の装置の制御を一または複数のコンピュータで実行するタスク処理方法であって、前記複数の装置の一連の制御を実行する制御リクエストを、一連の抽象コマンド列と装置パラメータセットの組合せに変換するシーケンス変換工程と、前記抽象コマンド列と前記装置パラメータセットの組合せを、前記複数の装置が実行可能な装置コマンドセットに変換し、前記装置コマンドセットに前記抽象コマンド列の処理単位ごとにグループ番号を付与するコマンド変換工程と、前記装置コマンドセットの前記グループ番号ごとに前記複数の装置へ前記装置コマンドセットを同時に送信することにより、前記装置コマンドセットを前記複数の装置へ前記抽象コマンド列に於ける一連のシーケンスで送信する実行制御工程とを行うことを特徴とするタスク処理方法とした。
【００１４】
このようにすることで、本発明に係るタスク処理システムおよびタスク処理方法によれば、ＮＭＳ８０からの制御リクエストである入力情報Ｒ８０を、可読性の高い抽象コマンドの集合に変換し、この抽象コマンドを装置固有のコマンドに変換している。これにより、装置固有コマンドによる制御機能の実現と変更、および、装置固有コマンドの変更への対応を容易に実現可能である。
更に、並列処理を行う場合には、装置コマンドセットＲ３０に同一のグループ番号を付与し、同一のグループ番号が付与された装置コマンドセットＲ３０を送信している。これにより、並列処理を伴うシーケンスにも対応可能であり、処理を高速化することが可能である。
【００２１】
請求項３に記載の発明は、請求項２に記載のタスク処理方法を、一または複数の前記コンピュータに行わせるためのタスク処理用プログラムとした。
【００２２】
このようにすることで、本発明に係るタスク処理プログラムは、上述した本発明をコンピュータに行わせることが可能となる。
【発明の効果】
【００２３】
本発明によれば、並列処理を含む実行シーケンスの作製、変更および装置仕様変更に対して容易に修正し、変更箇所を局所化できるマルチベンダ装置対応のタスク処理システム、タスク処理方法およびタスク処理プログラムを提供可能である。
【図面の簡単な説明】
【００２４】
【図１】第１の実施形態に於けるタスク処理システムの構造を示す図である。
【図２】第１の実施形態に於けるシーケンス定義ファイルの例を示す図である。
【図３】第１の実施形態に於ける装置コマンド定義ファイルの例を示す図である。
【図４】第１の実施形態に於ける入力情報の例を示す図である。
【図５】第１の実施形態に於ける抽象コマンド列とパラメータセットの例を示す図である。
【図６】第１の実施形態に於ける装置コマンドセットの例を示す図である。
【図７】第１の実施形態に於ける実行制御部のメイン処理を示すフローチャートである。
【図８】第１の実施形態に於ける実行制御部の実行コマンド処理を示すフローチャートである。
【図９】第１の実施形態に於ける実行制御部の実行中グループ番号更新処理を示すフローチャートである。
【図１０】第１の実施形態に於けるタスク処理を示すシーケンス図である。
【図１１】従来技術に於けるタスク処理システムの構造を示す図である。
【発明を実施するための形態】
【００２５】
以降、本発明を実施するための形態を、図を参照して詳細に説明する。
【００２６】
（第１の実施形態の構成）
図１は、第１の実施形態に於けるタスク処理システムの構造を示す図である。
本実施形態のタスク処理システムは、ＮＭＳ（Network Management System）８０と、ＥＭＳ（Element Management Systems）１０とを有し、ネットワーク１００を介してＡ社製装置群９０Ａに於ける装置ＮＥ１（９１Ａ−１）〜ＮＥ３（９１Ａ−３）と、Ｂ社製装置群９０Ｂに於ける装置ＮＥ１（９１Ｂ−１）〜ＮＥ３（９１Ｂ−３）とに接続されている。
【００２７】
ＥＭＳ１０は、上位ＮＭＳインタフェース部１１、シーケンス変換部２０、コマンド変換部３０、および、実行制御部４０を有している。シーケンス変換部２０は、シーケンス定義ファイル２１を有している。コマンド変換部３０は、装置コマンド定義ファイル３１と、グループ番号生成部３２とを有している。実行制御部４０は、コマンド送信キュー４１を有している。
上位ＮＭＳインタフェース部１１の入力側は、ネットワークなどを介してＮＭＳ８０に接続されている。上位ＮＭＳインタフェース部１１の出力側は、シーケンス変換部２０に接続されている。シーケンス変換部２０の出力側は、コマンド変換部３０に接続されている。コマンド変換部３０の出力側は、実行制御部４０に接続されている。実行制御部４０は、ネットワーク１００を介してＡ社製装置群９０Ａに於ける装置ＮＥ１（９１Ａ−１）〜ＮＥ３（９１Ａ−３）と、Ｂ社製装置群９０Ｂに於ける装置ＮＥ１（９１Ｂ−１）〜ＮＥ３（９１Ｂ−３）に接続されている。
【００２８】
ＮＭＳ８０からＥＭＳ１０には、入力情報Ｒ８０が送信される。この入力情報Ｒ８０には、制御対象となる装置ＮＥ１（９１Ａ−１）〜装置ＮＥ３（９１Ａ−３）の情報が含まれている。
ＥＭＳ１０の上位ＮＭＳインタフェース部１１は、入力情報Ｒ８０を受信して、シーケンス変換部２０に出力する。
【００２９】
シーケンス変換部２０は、シーケンス定義ファイル２１に基いて入力情報Ｒ８０を変換して、抽象コマンド列Ｒ２０ＡとパラメータセットＲ２０Ｂを得る。シーケンス変換部２０は更に、コマンド変換部３０に対して、この抽象コマンド列Ｒ２０ＡとパラメータセットＲ２０Ｂを送信する。抽象コマンド列Ｒ２０Ａには、ベンダに依存しない一連の抽象コマンドが含まれている。
【００３０】
コマンド変換部３０は、装置コマンド定義ファイル３１に基いて、抽象コマンド列Ｒ２０ＡとパラメータセットＲ２０Ｂを変換し、グループ番号生成部３２によってグループ番号を生成し、装置コマンドセットＲ３０を得る。コマンド変換部３０は更に、実行制御部４０に対して、装置コマンドセットＲ３０を送信する。この装置コマンドセットＲ３０には、制御対象となる各装置に対応したコマンドと、このコマンドのグループ番号が含まれている。
【００３１】
実行制御部４０は、コマンド送信キュー４１を介して装置コマンドセットＲ３０を読み取り、装置ＮＥ１（９１Ａ−１）〜ＮＥ３（９１Ａ−３）に対して、装置コマンドＲ４０を送信する。この装置コマンドＲ４０は、制御対象となる各装置に対応したコマンドである。
【００３２】
図２は、第１の実施形態に於けるシーケンス定義ファイルの例を示す図である。
シーケンス定義ファイル２１は、入力リクエスト２１ａの欄と、入力ベンダ情報２１ｂの欄とを有している。図２の入力ベンダ情報２１ｂの欄は更に、Ａ社の欄とＢ社の欄を有している。
【００３３】
入力リクエスト２１ａの欄には、上位装置であるＮＭＳ８０が指定した抽象的な入力リクエストが格納されている。入力ベンダ情報２１ｂの欄には更に、ベンダ毎の欄が含まれている。ベンダ毎の欄には、ベンダ毎の一連の抽象コマンドが格納されている。例えば、パス開通の入力リクエストをＡ社向けの抽象コマンドで記載すると、「（１）装置情報収集（対象全装置）、（２）Ａ点設定，Ｚ点設定、（３）中継点設定（中継点対象全装置）」となる。なお、ここで「Ａ点」とは、パスの始点をいう。「Ｚ点」とは、パスの終点をいう。
これらの抽象コマンドは、自然言語で記述されているので、可読性が高く、よってメンテナンスしやすいという効果を奏する。
【００３４】
シーケンス変換部２０は、このシーケンス定義ファイル２１を用いて、入力情報Ｒ８０（図４）を、抽象コマンド列Ｒ２０ＡとパラメータセットＲ２０Ｂと（図５）に変換する。
【００３５】
図３は、第１の実施形態に於ける装置コマンド定義ファイルの例を示す図である。
装置コマンド定義ファイル３１は、入力抽象コマンド名３１ａの欄と、入力ベンダ名３１ｂの欄とを有している。図３の入力ベンダ名３１ｂの欄は更に、Ａ社の欄とＢ社の欄を有している。
【００３６】
入力抽象コマンド名３１ａの欄には、抽象コマンドの名称が格納されている。入力ベンダ名３１ｂの欄には、更にベンダ毎の欄が含まれている。ベンダ毎の欄には、ベンダ毎の装置コマンドが格納されている。
【００３７】
コマンド変換部３０は、受信した抽象コマンド列Ｒ２０Ａから、抽象コマンドを抽出する。この抽象コマンドとパラメータセットＲ２０Ｂに含まれるベンダ名をキーとして、装置コマンド定義ファイル３１を参照し、ベンダ毎の装置コマンドを取得する。例えば、抽象コマンドが「Ａ点設定」で、パラメータセットＲ２０Ｂに含まれるベンダ名が「Ａ社」であったならば、ベンダ毎の装置コマンドとして、「EDIT-ADD-[NE]-[IF]」と、「EDIT-DROP -[NE]-[IF]」の２つが取得される。
【００３８】
図４は、第１の実施形態に於ける入力情報の例を示す図である。
図４に示す入力情報Ｒ８０には、リクエスト名の項目と、ベンダ名の項目と、パラメータの大項目とが含まれている。パラメータの大項目には、Ａ点の小項目と、Ｚ点の小項目と、中継の小項目とが含まれている。
リクエスト名の項目には、「パス開通」が格納されている。ベンダ名の項目には、「Ａ社」が格納されている。パラメータの大項目のＡ点の小項目には、「NE1,IF1」が格納されている。パラメータの大項目のＺ点の小項目には、「NE2,IF2」が格納されている。パラメータの大項目の中継の小項目には、「NE3,IF3」が格納されている。
【００３９】
この入力情報Ｒ８０は、Ａ社の機器群に対してパス開通リクエストを行うという意味である。パスの始点（Ａ点）は、装置ＮＥ１（９１Ａ−１）が有するインタフェースＩＦ１である。パスの終点（Ｚ点）は、装置ＮＥ３（９１Ａ−３）が有するインタフェースＩＦ３である。パスの中継点は、装置ＮＥ２（９１Ａ−２）が有するインタフェースＩＦ２である。
入力情報Ｒ８０は、ＮＭＳ８０からＥＭＳ１０に送信され、制御対象機器を制御する。
【００４０】
図５（ａ），（ｂ）は、第１の実施形態に於ける抽象コマンド列とパラメータセットの例を示す図である。図５（ａ）には抽象コマンド列Ｒ２０Ａの例が示されている。図５（ｂ）にはパラメータセットＲ２０Ｂの例が示されている。
【００４１】
抽象コマンド列Ｒ２０Ａは、入力情報Ｒ８０のリクエスト名の項目に対応した一連の抽象コマンドＲ２０Ａ−１〜Ｒ２０Ａ−３が格納されている。抽象コマンドＲ２０Ａ−１は、「（１）装置情報収集−同時」である。抽象コマンドＲ２０Ａ−２は、「（２）Ａ点設定、Ｚ点設定−同時」である。抽象コマンドＲ２０Ａ−３は、「（３）中継点設定」である。なお、この「−同時」とは、この抽象コマンドＲ２０Ａ−ｎに係る装置コマンドを同時に送信することをいう。
【００４２】
パラメータセットＲ２０Ｂには、ベンダ名の項目と、パラメータの大項目とＡ点の小項目と、Ｚ点の小項目と、中継の小項目とが含まれている。パラメータセットＲ２０Ｂのベンダ名の項目には、入力情報Ｒ８０のベンダ名の項目と同一の内容が格納されている。パラメータセットＲ２０Ｂのパラメータの大項目には、入力情報Ｒ８０のパラメータの大項目と同一の内容が格納されている。
【００４３】
図６（ａ）〜（ｆ）は、第１の実施形態に於ける装置コマンドセットの例を示す図である。装置コマンドセットＲ３０−１〜Ｒ３０−６は、いずれもグループの項目とコマンドの項目を有している。
【００４４】
図６（ａ）が示す装置コマンドセットＲ３０−１は、グループの項目に「Ｇ１」が格納され、コマンドの項目に「RTRV-EQIP-NE1-ALL」が格納されている。この装置コマンドセットＲ３０−１は、装置情報収集コマンドを、装置ＮＥ１（９１Ａ−１）に対して送信し、かつ、この装置ＮＥ１（９１Ａ−１）が有する全てのインタフェースを対象に情報を収集することを示している。
図６（ｂ）が示す装置コマンドセットＲ３０−２は、グループの項目に「Ｇ１」が格納され、コマンドの項目に「RTRV-EQIP-NE2-ALL」が格納されている。この装置コマンドセットＲ３０−２は、装置情報収集コマンドを、装置ＮＥ２（９１Ａ−２）に対して送信し、かつ、この装置ＮＥ２（９１Ａ−２）が有する全てのインタフェースを対象に情報を収集することを示している。
図６（ｃ）が示す装置コマンドセットＲ３０−３は、グループの項目に「Ｇ１」が格納され、コマンドの項目に「RTRV-EQIP-NE3-ALL」が格納されている。この装置コマンドセットＲ３０−３は、装置情報収集コマンドを、装置ＮＥ３（９１Ａ−３）に対して送信し、かつ、この装置ＮＥ３（９１Ａ−３）が有する全てのインタフェースを対象に情報を収集することを示している。
【００４５】
図６（ｄ）が示す装置コマンドセットＲ３０−４は、グループの項目に「Ｇ２」が格納され、コマンドの項目に「EDIT-ADD-NE1-IF1,EDIT-DROP-NE1-IF1」が格納されている。この装置コマンドセットＲ３０−４は、Ａ点設定コマンドを、装置ＮＥ１（９１Ａ−１）が有するインタフェースＩＦ１に対して行うことを示している。
図６（ｅ）が示す装置コマンドセットＲ３０−５は、グループの項目に「Ｇ２」が格納され、コマンドの項目に「EDIT-DROP-NE3-IF3,EDIT-ADD-NE3-IF3」が格納されている。この装置コマンドセットＲ３０−５は、Ｚ点設定コマンドを、装置ＮＥ３（９１Ａ−３）が有するインタフェースＩＦ３に対して行うことを示している。
図６（ｆ）が示す装置コマンドセットＲ３０−６は、グループの項目に「Ｇ３」が格納され、コマンドの項目に「EDIT-THROUGH-NE2-IF2」が格納されている。この装置コマンドセットＲ３０−６は、中継点設定コマンドを、装置ＮＥ２（９１Ａ−２）が有するインタフェースＩＦ２に対して行うことを示している。
【００４６】
（第１の実施形態の動作）
図７は、第１の実施形態に於ける実行制御部のメイン処理を示すフローチャートである。
処理が開始すると、ステップＳ１００に於いて、実行制御部４０は、コマンド送信キュー４１が空であるか否かを判断する。コマンド送信キュー４１が空であったならば（Ｙｅｓ）、図７の処理を終了する。コマンド送信キュー４１が空でなかったならば（Ｎｏ）、ステップＳ１０１の処理を行う。
ステップＳ１０１に於いて、実行制御部４０は、コマンド送信キュー４１から、次に実行する装置コマンドセットＲ３０を読み出す。
【００４７】
ステップＳ１０２に於いて、実行制御部４０は、実行中グループ番号変数から、実行中のグループ番号を取得する。
ステップＳ１０３に於いて、実行制御部４０は、実行中のグループ番号が存在するか否かを判断する。実行中のグループ番号が存在するならば（Ｙｅｓ）、ステップＳ１０４の処理を行う。実行中のグループ番号が存在しないならば（Ｎｏ）、ステップＳ１０６の処理を行う。実行中のグループ番号が存在しない場合とは、例えば実行中グループ番号変数にNULLが格納されている場合である。
ステップＳ１０４に於いて、実行制御部４０は、コマンド送信キュー４１から読み出した装置コマンドセットのグループと、実行中グループ番号とを比較する。
【００４８】
ステップＳ１０５に於いて、実行制御部４０は、装置コマンドセットのグループと実行中のグループ番号とが一致しなかったならば（Ｎｏ）、ステップＳ１０３の処理に戻る。装置コマンドセットＲ３０のグループと実行中のグループ番号とが一致したならば（Ｙｅｓ）、ステップＳ１０７の処理を行う。
ステップＳ１０６に於いて、実行制御部４０は、装置コマンドセットのグループを、実行中のグループ番号変数に設定し、ステップＳ１０７の処理を行う。
ステップＳ１０７に於いて、実行制御部４０は、実行コマンドの処理スレッド（図８）を生成して、ステップＳ１００の処理に戻り、同様な処理を繰り返す。ここでスレッドとは、ＣＰＵ（Central Processing Unit）利用の単位のことをいう。各スレッドは、単一のＣＰＵ上で時分割により並列に動作しても良く、複数のＣＰＵ上で其々並行に動作しても良い。前述した方法により、各スレッドは、それぞれの処理を並行に行うことが可能である。例えば、実行制御部４０は、実行コマンドの処理スレッドと、図７に示す実行制御部の処理に於けるスレッドによって、それぞれの処理を並行に行うことが可能である。
【００４９】
図８は、第１の実施形態に於ける実行制御部の実行コマンド処理を示すフローチャートである。図８に示す実行コマンド処理は、前述した図７のステップＳ１０７によって生成されるスレッドである。
ステップＳ１１０に於いて、実行制御部４０は、実行コマンドの処理スレッドによって、装置へ装置コマンドを送信する。
ステップＳ１１１に於いて、実行制御部４０は、実行コマンドの処理スレッドによって、実行中タスク変数を１だけ加算する。
【００５０】
ステップＳ１１２に於いて、実行制御部４０は、実行コマンドの処理スレッドによって、全ての実行結果が装置から返ってきたか否かを判断する。全ての実行結果が装置から返ってきていないならば（Ｎｏ）、ステップＳ１１２の処理を繰り返す。全ての実行結果が装置から返ってきたならば（Ｙｅｓ）、ステップＳ１１３の処理を行う。
ステップＳ１１３に於いて、実行制御部４０は、実行コマンドの処理スレッドによって、実行中タスク変数を１だけ減算し、図８に示す実行コマンドの処理スレッドを終了する。
【００５１】
図７と図８の処理により、実行制御部４０は、同一グループ番号が付与された装置コマンドセットＲ３０のグループを、装置に対して、ほぼ同時に送信することが可能である。これにより、装置群への制御を同時に行えるので、制御の時間差を抑止し、制御を高速化することが可能である。
【００５２】
図９は、第１の実施形態に於ける実行制御部の実行中グループ番号更新処理を示すフローチャートである。
本実施形態の実行中グループ番号更新処理スレッドは、実行制御部４０にて所定タイミングで（例えば周期的に）起動される。実行制御部４０は、実行中グループ番号更新処理スレッド、図７に示す実行制御部の処理に於けるスレッド、および、図８に示す実行コマンドの処理スレッドによって、それぞれの処理を並行に行うことが可能である。
ステップＳ１２０に於いて、実行制御部４０は、実行中グループ番号更新処理スレッドによって、実行中タスク変数から実行中のタスク数を取得する。
ステップＳ１２１に於いて、実行制御部４０は、実行中グループ番号更新処理スレッドによって、実行中のタスク数が０であるか否かを判断する。実行中のタスク数が０でなかったならば（Ｎｏ）、図９に示す実行中グループ番号更新処理スレッドを終了する。実行中のタスク数が０であったならば（Ｙｅｓ）、ステップＳ１２２の処理を行う。
ステップＳ１２２に於いて、実行中グループ番号更新処理スレッドは、実行中グループ番号変数を無し（例えば、「NULL」。）に設定し、図９に示す実行中グループ番号更新処理スレッドを終了する。
【００５３】
図１０は、第１の実施形態に於けるタスク処理を示すシーケンス図である。
ステップＳ１０に於いて、ＮＭＳ８０は、ＥＭＳ１０に入力情報Ｒ８０を送信する。
ステップＳ１１に於いて、ＥＭＳ１０のシーケンス変換部２０は、入力情報Ｒ８０を抽象コマンド列Ｒ２０ＡとパラメータセットＲ２０Ｂに変換し、コマンド変換部３０に送信する。
【００５４】
ステップＳ２０に於いて、ＥＭＳ１０のコマンド変換部３０は、抽象コマンド列Ｒ２０ＡとパラメータセットＲ２０Ｂを、装置コマンドセットＲ３０−１に変換し、コマンド送信キュー４１に送信する。この変換処理は、コマンド変換処理である。
ステップＳ３０に於いて、ＥＭＳ１０のコマンド変換部３０は、抽象コマンド列Ｒ２０ＡとパラメータセットＲ２０Ｂを、装置コマンドセットＲ３０−２に変換し、コマンド送信キュー４１に送信する。この変換処理は、コマンド変換処理である。
ステップＳ４０に於いて、ＥＭＳ１０のコマンド変換部３０は、抽象コマンド列Ｒ２０ＡとパラメータセットＲ２０Ｂを、装置コマンドセットＲ３０−３に変換し、コマンド送信キュー４１に送信する。この変換処理は、コマンド変換処理である。
【００５５】
ステップＳ２１，Ｓ３１，Ｓ４１に於いて、ＥＭＳ１０の実行制御手段（実行制御部４０）は、コマンド送信キュー４１から、装置コマンドセットＲ３０−１〜Ｒ３０−３を読み出す。更に、ステップＳ２２，Ｓ３２，Ｓ４２に於いて、各装置ＮＥ１（９１Ａ−１）〜ＮＥ３（９１Ａ−３）に装置コマンドＲ４０を並列に送信する。この送信により、コマンドが実行される。しかし、これに限られず、ＥＭＳ１０の実行制御手段（実行制御部４０）は、各装置ＮＥ１（９１Ａ−１）〜ＮＥ３（９１Ａ−３）に、実行中グループ番号ごとに同時に装置コマンドＲ４０を送信しても良い。
ステップＳ２３に於いて、装置ＮＥ１（９１Ａ−１）は実行制御手段（実行制御部４０）にComplete（完了）の応答を返す。この応答は、結果の応答である。
ステップＳ３３に於いて、装置ＮＥ２（９１Ａ−２）は実行制御手段（実行制御部４０）にComplete（完了）の応答を返す。この応答は、結果の応答である。
ステップＳ４３に於いて、装置ＮＥ３（９１Ａ−３）は実行制御手段（実行制御部４０）にComplete（完了）の応答を返す。この応答は、結果の応答である。
ＥＭＳ１０の実行制御手段（実行制御部４０）と各装置ＮＥ１（９１Ａ−１）〜ＮＥ３（９１Ａ−３）との間の通信は、非同期通信である。しかし、これに限られず、ＥＭＳ１０の実行制御手段（実行制御部４０）と各装置ＮＥ１（９１Ａ−１）〜ＮＥ３（９１Ａ−３）との間の通信は、同期通信するように構成しても良い。
【００５６】
ステップＳ５０に於いて、ＥＭＳ１０のコマンド変換部３０は、抽象コマンド列Ｒ２０ＡとパラメータセットＲ２０Ｂを、装置コマンドセットＲ３０−４に変換し、コマンド送信キュー４１に送信する。この変換処理は、コマンド変換処理である。
ステップＳ６０に於いて、ＥＭＳ１０のコマンド変換部３０は、抽象コマンド列Ｒ２０ＡとパラメータセットＲ２０Ｂを、装置コマンドセットＲ３０−５に変換し、コマンド送信キュー４１に送信する。この変換処理は、コマンド変換処理である。
【００５７】
ステップＳ５１，Ｓ６１に於いて、ＥＭＳ１０の実行制御手段（実行制御部４０）は、コマンド送信キュー４１から、装置コマンドセットＲ３０−４，Ｒ３０−５を読み出す。更に、ステップＳ５２，Ｓ６２に於いて、装置ＮＥ１（９１Ａ−１）と装置ＮＥ３（９１Ａ−３）に装置コマンドＲ４０を並列に送信する。
ステップＳ５３に於いて、装置ＮＥ１（９１Ａ−１）は実行制御手段（実行制御部４０）にComplete（完了）の応答を返す。この応答は、結果の応答である。
ステップＳ６３に於いて、装置ＮＥ３（９１Ａ−３）は実行制御手段（実行制御部４０）にComplete（完了）の応答を返す。この応答は、結果の応答である。
【００５８】
ステップＳ７０に於いて、ＥＭＳ１０のコマンド変換部３０は、抽象コマンド列Ｒ２０ＡとパラメータセットＲ２０Ｂを、装置コマンドセットＲ３０−６に変換し、コマンド送信キュー４１に送信する。この変換処理は、コマンド変換処理である。
【００５９】
ステップＳ７１に於いて、ＥＭＳ１０の実行制御手段（実行制御部４０）は、コマンド送信キュー４１から、装置コマンドセットＲ３０−６を読み出す。更に、ステップＳ７２に於いて、装置ＮＥ２（９１Ａ−２）に装置コマンドＲ４０を送信する。
ステップＳ７３に於いて、装置ＮＥ２（９１Ａ−２）は実行制御手段（実行制御部４０）にComplete（完了）の応答を返す。この応答は、結果の応答である。
ステップＳ８０に於いて、実行制御手段（実行制御部４０）は、コマンド変換部３０に実行完了通知を返す。
ステップＳ８１に於いて、コマンド変換部３０は、シーケンス変換部２０に、実行完了通知を返す。
ステップＳ８２に於いて、ＥＭＳ１０のシーケンス変換部２０は、ＮＭＳ８０に実行完了通知を返し、図１０の処理を終了する。
【００６０】
（第１の実施形態の効果）
以上説明した第１の実施形態では、次の（Ａ），（Ｂ）のような効果がある。
（Ａ）  ＮＭＳ８０からの制御リクエストである入力情報Ｒ８０に於ける並列処理の有無を含めた複数装置にまたがる一連のシーケンスを、可読性の高い抽象コマンドの集合に変換し、この抽象コマンドを装置固有のコマンドに変換している。これにより、装置固有コマンドによる制御機能の実現と変更、および、装置固有コマンドの変更への対応を容易に実現可能である。
【００６１】
（Ｂ）  並列処理を行う場合には、複数の装置コマンドセットＲ３０−ｎ（ｎは自然数）に同一のグループ番号を付与し、同一のグループ番号が付与された装置コマンドセットＲ３０−ｎを並列に送信している。これにより、並列処理を伴うシーケンスにも対応可能であり、処理を高速化することが可能である。
【００６２】
（変形例）
本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で、変更実施が可能である。この利用形態や変形例としては、例えば、次の（ａ）〜（ｃ）のようなものがある。
【００６３】
（ａ）  本実施形態のタスク処理システムは、上位装置としてのＮＭＳ８０がＥＭＳ１０を制御している。しかし、これに限定されず、上位装置からの制御リクエストを、可読性の高い抽象コマンドの集合として、この制御リクエストを装置固有コマンドに変更して制御するシステムであれば良い。
【００６４】
（ｂ）  本実施形態のタスク処理システムは、例えば複数台の装置ＮＥ１（９１Ａ−１）〜ＮＥ３（９１Ａ−３）に同一の装置コマンドＲ４０を送信するときに、同一のグループ番号を生成している。しかし、これに限定されず、シーケンス定義ファイル２１に記載された複数の抽象コマンドに同一グループ番号を生成する旨を記載しておき、この抽象コマンドを含む抽象コマンド列Ｒ２０Ａに基づいて、異なる装置コマンドＲ４０に対して同一のグループ番号を生成しても良い。
【００６５】
（ｃ）  本実施形態は、本実施形態のタスク処理方法を、コンピュータであるＥＭＳ１０に行わせるためのタスク処理プログラムとして実現しても良い。
【符号の説明】
【００６６】
８０  ＮＭＳ
１０  ＥＭＳ
９１Ａ−１〜９１Ａ−３  装置
９１Ｂ−１〜９１Ｂ−３  装置
１１  上位ＮＭＳインタフェース部
２０  シーケンス変換部
２１  シーケンス定義ファイル
３０  コマンド変換部
３１  装置コマンド定義ファイル
４０  実行制御部
４１  コマンド送信キュー
Ｒ８０  入力情報
Ｒ３０  装置コマンドセット
Ｒ４０  装置コマンド
９０Ａ  Ａ社製装置群
９０Ｂ  Ｂ社製装置群
１００  ネットワーク
【図１】
0005508343.tif 000002
【図２】
0005508343.tif 000003
【図３】
0005508343.tif 000004
【図４】
0005508343.tif 000005
【図５】
0005508343.tif 000006
【図６】
0005508343.tif 000007
【図７】
0005508343.tif 000008
【図８】
0005508343.tif 000009
【図９】
0005508343.tif 000010
【図１０】
0005508343.tif 000011
【図１１】
0005508343.tif 000012