(57)【要約】【課題】新旧のワークフローを円滑に切り替えること。【解決手段】ＷＦ実行サーバ１０は、複数の処理ステップのうち少なくとも１つの処理ステップに第１のワークフローの更新に用いられる第２のワークフローの有無を判定する判定ステップを手順に含む第１のワークフローにしたがって各処理ステップに対応する処理を実行する処理と、判定ステップの処理結果として第２のワークフローが存在すると判定された場合、第２のワークフローを起動させると共に第１のワークフローを終了させる処理とを実行する。【選択図】図４
2017097796.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理ステップの実行手順を示す、複数のワークフローの切替プログラムであって、
複数の処理ステップのうち少なくとも１つの処理ステップに第１のワークフローの更新に用いられる第２のワークフローの有無を判定する判定ステップを手順に含む第１のワークフローにしたがって各処理ステップに対応する処理を実行する処理と、
前記判定ステップの処理結果として前記第２のワークフローが存在すると判定された場合、前記第２のワークフローを起動させると共に前記第１のワークフローを終了させる処理と
をコンピュータに実行させることを特徴とするワークフローの切替プログラム。
【請求項２】
前記第２のワークフローの登録要求と共に当該第２のワークフローが更新に適用される第１のワークフローの指定を受け付ける処理と、
前記指定が受け付けられた第１のワークフローに前記登録要求が受け付けられた第２のワークフローを関連付ける処理とをさらに前記コンピュータに実行させ、
前記判定ステップは、前記第１のワークフローの実行中に当該第１のワークフローに対する第２のワークフローの関連付けの有無を判定する処理であることを特徴とする請求項１に記載のワークフローの切替プログラム。
【請求項３】
前記起動させる処理および前記終了させる処理は、前記第２のワークフローを起動させた後に前記第１のワークフローを終了させることを特徴とする請求項１または２に記載のワークフローの切替プログラム。
【請求項４】
複数の処理ステップの実行手順を示す、複数のワークフローの切替方法であって、
複数の処理ステップのうち少なくとも１つの処理ステップに第１のワークフローの更新に用いられる第２のワークフローの有無を判定する判定ステップを手順に含む第１のワークフローにしたがって各処理ステップに対応する処理を実行する処理と、
前記判定ステップの処理結果として前記第２のワークフローが存在すると判定された場合、前記第２のワークフローを起動させると共に前記第１のワークフローを終了させる処理と
がコンピュータにより実行されることを特徴とするワークフローの切替方法。
【請求項５】
複数の処理ステップの実行手順を示す、複数のワークフローの切替装置であって、
複数の処理ステップのうち少なくとも１つの処理ステップに第１のワークフローの更新に用いられる第２のワークフローの有無を判定する判定ステップを手順に含む第１のワークフローにしたがって各処理ステップに対応する処理を実行する実行部と、
前記判定ステップの処理結果として前記第２のワークフローが存在すると判定された場合、前記第２のワークフローを起動させると共に前記第１のワークフローを終了させる制御部と
を有することを特徴とするワークフローの切替装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークフローの切替プログラム、切替方法及び切替装置に関する。
【背景技術】
【０００２】
業務システムの運用作業がワークフローにより自動化されている。かかるワークフローの適用範囲は、伝票等の事務処理に留まらず、ＩＴ（Information  Technology）運用管理にも拡張されている。例えば、ＩＴ運用管理に関するプロセスを自動化するＲＢＡ（Runbook  Automation）技術などが注目されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−９２５４４号公報
【特許文献２】特開２００２−２４０３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の技術では、新旧のワークフローを円滑に切り替えることができない場合がある。
【０００５】
すなわち、上記のＲＢＡでは、反復処理、いわゆるループにより処理が規定されたワークフローが実行される場合もある。かかるワークフローが実行される場合、当該ワークフローの手順に含まれるいずれの処理ステップでもワークフローを安全に停止できる訳ではない。なぜなら、ワークフローの中には、途中で中断されると不具合が生じる処理ステップが含まれる場合もあるからである。このことから、一例として、不具合が発生しにくい処理ステップになった段階で実行中のワークフローを停止する操作、さらには、実行中のワークフローの停止が確認されてから更新用のワークフローを起動する操作がシステム管理者等のオペレーションとして発生する場合がある。このようなオペレーションが妨げとなって新旧のワークフローを円滑に切り替えることができない。
【０００６】
１つの側面では、本発明は、新旧のワークフローを円滑に切り替えることができるワークフローの切替プログラム、切替方法及び切替装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一態様では、複数の処理ステップの実行手順を示す、複数のワークフローの切替プログラムであって、複数の処理ステップのうち少なくとも１つの処理ステップに第１のワークフローの更新に用いられる第２のワークフローの有無を判定する判定ステップを手順に含む第１のワークフローにしたがって各処理ステップに対応する処理を実行する処理と、前記判定ステップの処理結果として前記第２のワークフローが存在すると判定された場合、前記第２のワークフローを起動させると共に前記第１のワークフローを終了させる処理とをコンピュータに実行させる。
【発明の効果】
【０００８】
新旧のワークフローを円滑に切り替えることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係るＷＦ実行サーバに接続される他システムの一例を示す図である。
【図２】図２は、既存のワークフローの一例を示す図である。
【図３】図３は、実施例１に係るワークフローの一例を示す図である。
【図４】図４は、実施例１に係るＷＦ実行サーバの機能的構成の一例を示すブロック図である。
【図５】図５は、ワークフローの登録画面の一例を示す図である。
【図６】図６は、ワークフローの登録画面の一例を示す図である。
【図７】図７は、ワークフロー情報の一例を示す図である。
【図８】図８は、スケジュールの登録画面の一例を示す図である。
【図９】図９は、スケジュール情報の一例を示す図である。
【図１０】図１０は、実施例１に係るワークフローの切替処理の手順を示すフローチャートである。
【図１１】図１１は、実施例１及び実施例２に係る切替プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して本願に係るワークフローの切替プログラム、切替方法及び切替装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１１】
［ＮＷ監視システム］
図１は、実施例１に係るＷＦ（WorkFlow）実行サーバに接続される他システムの一例を示す図である。図１に示すＷＦ実行サーバ１０は、ネットワークＮＷの監視を行うＮＷ（NetWork）監視システム３の運用管理に関するプロセスが自動化されたワークフローを実行するＷＦ実行サービスを提供するものである。
【００１２】
かかるＷＦ実行サービスの一環として、ＷＦ実行サーバ１０は、旧ワークフローの更新に用いる新ワークフローの有無を判定する処理ステップが手順に組み込まれたワークフローの実行中に新ワークフロー有りと判定された場合に、新ワークフローを起動すると共に旧ワークフローを停止する切替処理を実現する。これによって、一側面として、新旧のワークフローを円滑に切り替える。
【００１３】
図１に示すように、ＷＦ実行サーバ１０は、複数のＮＷ（NetWork）機器３１Ａ〜３１Ｃを収容するＮＷ監視装置３０に接続される。ここで、図１には、３つのＮＷ機器３１Ａ、ＮＷ機器３１Ｂ及びＮＷ機器３１ＣがＮＷ監視装置３０に収容される場合を例示したが、これはあくまで一例であり、ＮＷ監視装置３０が収容するＮＷ機器３１の数は任意であってかまわない。なお、以下では、ＮＷ機器３１Ａ、ＮＷ機器３１Ｂ及びＮＷ機器３１Ｃのことを総称する場合に「ＮＷ機器３１」と記載する場合がある。
【００１４】
ＮＷ機器３１は、ネットワークＮＷを構築するネットワーク機器であり、例えば、ルータやスイッチなどのデータ転送装置を採用することができる。
【００１５】
ＮＷ監視装置３０は、ＮＷ機器３１により構築されるネットワークＮＷを監視するコンピュータである。
【００１６】
一実施形態として、ＮＷ監視装置３０は、ネットワークＮＷの一例として、ＩＰ−ＶＰＮ（Internet  Protocol  Virtual  Private  Network）や広域イーサネット（登録商標）などのキャリアイーサネットの監視を実行することができる。さらに、ＮＷ監視装置３０は、ネットワークＮＷの監視の一例として、帯域監視を始め、ネットワーク構成の変更や動作状態の監視などを実行できる。なお、ネットワークＮＷは、ＮＷ機器３１により物理的に構築されるネットワーク構成に限定されず、ＳＤＮ（Software-Defined  Networking）やＮＦＶ（Network  Function  Virtualization）などの技術により仮想化された仮想ネットワークであってもよい。
【００１７】
ＷＦ実行サーバ１０は、上記のＷＦ実行サービスを提供するコンピュータである。
【００１８】
一実施形態として、ＷＦ実行サーバ１０は、パッケージソフトウェアやオンラインソフトウェアとして上記のＷＦ実行サービスを実現するＷＦ実行プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、ＷＦ実行サーバ１０は、上記のＷＦ実行サービスを提供するＷｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記のＷＦ実行サービスを提供するクラウドとして実装することとしてもかまわない。
【００１９】
クライアント端末５０は、上記のＷＦ実行サービスの提供を受けるコンピュータであり、一例として、ＮＷ監視システム３を管理するネットワーク管理者等の関係者により使用される。
【００２０】
一実施形態として、クライアント端末５０は、ＷＦ実行サーバ１０に実行させるワークフローの作成、登録および更新などを実現するクライアント向けのＷＦ設定プログラムがインストールされる。かかるＷＦ設定プログラムがクライアント端末５０上で動作することにより、次のような機能が提供される。例えば、クライアント端末５０は、ワークフロー作成ツールを通じて、ワークフローのソースコードを作成する環境を上記のネットワーク管理者等へ提供できる。ここで、本実施例で作成されるワークフローは、一例として、複数の処理ステップの実行手順を示すワークフローであり、一連の処理ステップの中に新旧のワークフローを切り替えるＡＰＩ（Application  Programming  Interface）が組み込まれる点が既存のワークフローとの間で異なる。
【００２１】
図２は、既存のワークフローの一例を示す図であり、図３は、実施例１に係るワークフローの一例を示す図である。図２及び図３に示すワークフローＷＦ１及びＷＦ２は、いずれもネットワークＮＷの帯域を監視するという機能が設計されている点は共通する。図２及び図３では、あくまで一例として、ネットワークＮＷが光ネットワークとして構築される場合を想定し、監視対象とするＯＴＮ（Optical  Transport  Network）上に設定される各ＬＳＰ（Label  Switched  Path）のトラフィックが監視される場合を想定する。
【００２２】
これを具体的に説明すると、ワークフローＷＦ１及びＷＦ２の処理ステップＳ１には、図２及び図３に示すように、ワークフローの実行主体であるＷＦ実行サーバ１０から見て他のシステムに該当するＮＷ監視システム３のＮＷ監視装置３０に対し、ワークフローの実行確認を行うＡＰＩが規定されている。さらに、処理ステップＳ２には、ＮＷ監視装置３０からの応答結果、すなわち実行ＯＫまたは実行ＮＧに対応する処理の分岐が規定されている。すなわち、ＮＷ監視装置３０から実行ＮＧが返信された場合、ワークフローＷＦ１及びＷＦ２の処理が終了される一方で、ＮＷ監視装置３０から実行ＯＫが返信された場合、処理ステップＳ３の処理が実行されることが規定されている。さらに、処理ステップＳ３には、他システムのＮＷ監視装置３０に対し、ＮＷ機器３１から上記のＯＴＮ上に設定される各ＬＳＰのトラフィックを収集し、収集結果をＷＦ実行サーバ１０へ通知させるＡＰＩが規定されている。さらに、処理ステップＳ４には、上記のＯＴＮが有する帯域に各ＬＳＰのトラフィックの合計値が占める割合、いわゆる帯域使用率を計算する汎用の内部ＡＰＩと、その帯域使用率が閾値αを超えるか否かを判定する汎用の内部ＡＰＩとが規定されている。このとき、処理ステップＳ４で帯域使用率が閾値αを超える場合、一部のＬＳＰを他のＯＴＮへ切り替える帯域制御を行うことが処理ステップＳ５に規定されている。そして、処理ステップＳ５の実行後、あるいは処理ステップＳ４で帯域使用率が閾値αを超えない場合、所定の時間にわたって待機する汎用の内部ＡＰＩが処理ステップＳ６に規定されている。これらワークフローＷＦ１及びＷＦ２では、処理ステップＳ６の待機の後、処理ステップＳ１に戻ることが規定されており、処理ステップＳ２でＮＷ監視装置３０から実行ＮＧが返信されない限り、処理がループすることを意味する。
【００２３】
このように、ワークフローＷＦ１及びＷＦ２では、上記の処理ステップＳ１〜Ｓ６までの処理ステップは共通するが、図３に示すワークフローＷＦ２には、図２に示すワークフローＷＦ１には組み込まれていない切替ポイントＳＰが含まれる。ここで言う「切替ポイントＳＰ」は、ワークフローＷＦ２の更新に用いる新ワークフローの有無を判定するＡＰＩであり、新ワークフローが存在する場合には、後述の通り、新ワークフローを起動すると共に旧ワークフロー、すなわちワークフローＷＦ２を停止する切替処理が実行される。かかる切替ポイントＳＰは、上記のネットワーク管理者等により、ワークフローＷＦ２が停止したとしても不具合が生じにくい箇所に設定される。
【００２４】
以上のように、クライアント端末５０では、図３のワークフローＷＦ２で例示した通り、上記の切替ポイントを含むワークフローのソースコードが作成される。その上で、クライアント端末５０は、当該ワークフローのソールコードをバイナリファイルへコンパイルし、当該ワークフローのバイナリファイルを所定の記憶領域へ保存する。
【００２５】
［ＷＦ実行サーバ１０］
図４は、実施例１に係るＷＦ実行サーバ１０の機能的構成の一例を示すブロック図である。図４に示すように、ＷＦ実行サーバ１０は、通信Ｉ／Ｆ（interface）部１１と、記憶部１３と、制御部１５とを有する。なお、サーバ装置１０は、図４に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
【００２６】
通信Ｉ／Ｆ部１１は、他の装置、例えばＮＷ監視装置３０やクライアント端末５０との間で通信制御を行うインタフェースである。
【００２７】
一実施形態として、通信Ｉ／Ｆ部１１の一態様としては、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。例えば、通信Ｉ／Ｆ部１１は、ワークフローの実行確認や帯域収集の要求をＮＷ監視装置３０へ送信したり、ＮＷ監視装置３０から実行確認や帯域収集の結果を受信したりする。また、通信Ｉ／Ｆ部１１は、クライアント端末５０からワークフローを始め、ワークフローの属性情報やワークフローの実行に関するスケジュールを受け付けたり、ワークフローの実施状況などをクライアント端末５０へ送信したりする。
【００２８】
記憶部１３は、制御部１５で実行されるＯＳ（Operating  System）を始め、上記のＷＦ実行プログラムなどの各種プログラムに用いられるデータを記憶する記憶デバイスである。
【００２９】
一実施形態として、記憶部１３は、ＷＦ実行サーバ１０における補助記憶装置として実装することができる。例えば、記憶部１３には、ＨＤＤ（Hard  Disk  Drive）、光ディスクやＳＳＤ（Solid  State  Drive）などを採用できる。なお、記憶部１３は、必ずしも補助記憶装置として実装されずともよく、ＷＦ実行サーバ１０における主記憶装置として実装することもできる。この場合、記憶部１３には、各種の半導体メモリ素子、例えばＲＡＭ（Random  Access  Memory)やフラッシュメモリを採用できる。
【００３０】
記憶部１３は、制御部１５で実行されるプログラムに用いられるデータの一例として、ワークフロー情報１３ａと、スケジュール情報１３ｂとを記憶する。これらワークフロー情報１３ａ及びスケジュール情報１３ｂ以外にも、他の電子データ、例えば車両や運転者に関する情報、作業記録や映像記録なども併せて記憶することもできる。なお、ここでは、ワークフロー情報１３ａ及びスケジュール情報１３ｂの説明については、ワークフロー情報１３ａ及びスケジュール情報１３ｂが登録される処理部の説明がなされる段階で併せて後述することとする。
【００３１】
制御部１５は、各種のプログラムや制御データを格納する内部メモリを有し、これらによって各種の処理を実行するものである。
【００３２】
一実施形態として、制御部１５は、中央処理装置、いわゆるＣＰＵ（Central  Processing  Unit）として実装される。なお、制御部１５は、必ずしも中央処理装置として実装されずともよく、ＭＰＵ（Micro  Processing  Unit）として実装されることとしてもよい。また、制御部１５は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００３３】
制御部１５は、図示しない主記憶装置として実装されるＤＲＡＭ（Dynamic  Random  Access  Memory）やＳＲＡＭ（Static  Random  Access  Memory）などのＲＡＭのワークエリア上に記憶部１３に記憶されたＷＦ実行プログラムを展開することにより、下記の処理部を仮想的に実現する。例えば、制御部１５は、図４に示すように、登録部１５ａと、ＷＦ実行部１５ｂと、第１のＡＰＩ実行部１５ｃと、第２のＡＰＩ実行部１５ｄと、切替制御部１５ｅとを有する。
【００３４】
登録部１５ａは、各種の情報に関する登録を行う処理部である。
【００３５】
一実施形態として、登録部１５ａは、クライアント端末５０上で作成されたワークフローに関する登録要求を受け付けた場合、一例として、図５や図６に示すワークフローの登録画面をクライアント端末５０に表示させる。
【００３６】
図５及び図６は、ワークフローの登録画面の一例を示す図である。図５には、新規のワークフローが登録される場合の登録画面が示される一方で、図６には、更新用のワークフローが登録される場合の登録画面が示されている。
【００３７】
ここで、以下では、一例として、ネットワーク管理者等がネットワークＮＷの帯域監視を目的とし、図３に示したワークフローＷＦ２を新規のワークフロー「Test1」として登録した後に、トラフィックの集中を抑制するマージンをより安全寄りに変更するために、当該ワークフローＷＦ２の処理ステップＳ４の分岐で帯域使用率との比較に用いる閾値がαからαよりも値が小さいβへ変更されたワークフローを更新用のワークフロー「Test2」として登録する状況を例に挙げて新旧のワークフローの切り替えを説明する。
【００３８】
図５に示すように、登録画面５００は、テキストボックス５１０、参照ボタン５２０、ラジオボタン５３０Ａ及び５３０Ｂ、プルダウンメニュー５４０、登録ボタン５５０などのＧＵＩ（Graphical  User  Interface）コンポーネントが含まれる。このうち、テキストボックス５１０では、「ワークフロー名」のテキスト入力を受け付ける。参照ボタン５２０では、クライアント端末５０でディレクトリ管理されるフォルダやファイルが参照される。これを利用することにより、ディレクトリの中からＷＦ実行サーバ１０へ登録するワークフローのバイナリファイルが指定される。ラジオボタン５３０Ａ及び５３０Ｂは、フロー種別が「新規」または「更新」のいずれであるかを択一で受け付ける。プルダウンメニュー５４０は、ＷＦ実行サーバ１０で実施中であるワークフローの一覧を表示し、その中から更新対象とするワークフローの選択を受け付ける。なお、ここでは、登録画面５００に含まれる各ＧＵＩコンポーネントについて説明したが、登録画面６００に含まれるテキストボックス６１０、参照ボタン６２０、ラジオボタン６３０Ａ及び６３０Ｂ、プルダウンメニュー６４０、登録ボタン６５０などのＧＵＩコンポーネントが果たす機能も同様である。
【００３９】
このようなＧＵＩコンポーネントが用意された環境の下、新規のワークフローが登録される場合、図５に示す登録画面５００の通り、ワークフロー名、ワークフローのファイル、フロー種別が指定される。すなわち、図５の例で言えば、ワークフロー名としてテキストボックス５１０に「Test1」が入力されると共にファイル名として参照ボタン５２０を介して「xxx.bin」が指定される。その上で、フロー種別として「新規」が指定された状態、すなわちラジオボタン５３０Ａが選択された状態で登録ボタン５５０の押下操作が受け付けられる。このように新規のワークフローが登録される場合、更新対象とするワークフローは存在しない。このため、プルダウンメニュー５４０で実施中のワークフローは指定させず、ブランクとされる。この場合、更新対象とするワークフローはＮＵＬＬ値とされた状態で、図７の上段に示す１レコードがワークフロー情報１３ａ１として新規登録される。
【００４０】
一方、更新用のワークフローが登録される場合、図６に示す登録画面６００の通り、ワークフロー名、ワークフローのファイル、フロー種別と共に、更新対象フローがさらに指定される。すなわち、図６の例で言えば、ワークフロー名としてテキストボックス６１０に「Test2」が入力されると共にファイル名として参照ボタン６２０を介して「xxx.bin」が指定される。その上で、フロー種別として「更新」が指定されると共に更新対象フローとして「Test1」が指定された状態、すなわちラジオボタン６３０Ａが選択されると共にプルダウンメニュー６４０に表示された実施中のワークフローの中からワークフロー名「Test1」のワークフローが指定された状態で登録ボタン６５０の押下操作が受け付けられる。このように更新用のワークフローが登録される場合、当該更新用のワークフローが適用されるワークフローも指定される。この場合、図７の下段に示すワークフロー情報１３ａ２において、更新用のワークフローのレコードが２行目に追加登録されると共に、当該更新用のワークフローが適用される１行目のワークフローに対応するレコード内の対象フローのフィールドに更新用のワークフローのワークフロー名が登録される。
【００４１】
図７は、ワークフロー情報１３ａの一例を示す図である。図７の上段には、図５に示した登録画面５００を介して新規のワークフロー「Test1」が登録されたレコードを含むワークフロー情報１３ａ１が示されている。図７の下段には、図５に示した登録画面５００を介して登録されたワークフロー「Test1」を更新対象のワークフローとし、図６に示した登録画面６００を介して更新用のワークフロー「Test2」が登録された段階のワークフロー情報１３ａ２が示されている。
【００４２】
図７に示すように、ワークフロー情報１３ａは、ワークフロー名、データ、更新日時、フロー種別および対象フロー名などの項目が対応付けられたデータを採用できる。ここで言う「ワークフロー名」は、ワークフローの名称を指す。また、「データ」は、ワークフローのバイナリファイルを指す。また、「登録／更新日時」は、ワークフローが登録または更新された日時を指す。また、「フロー種別」は、ワークフローの種別を指し、フロー種別には「新規」および「更新」が含まれる。例えば、フロー種別が「新規」である場合にはフィールド内に「１」が格納される一方で、「更新」である場合にはフィールド内に「２」が格納される。また、「対象フロー名」は、本レコードに登録されたワークフローの更新に用いる新ワークフローの名称を指す。かかる「対象フロー名」のフィールドは、初期状態、すなわちレコードの新規登録が行われた時点ではＮＵＬＬ値とされる一方で、更新用のワークフローの登録時に更新対象フローとして本レコードのワークフローが指定された場合に、当該更新用のワークフロー名が登録される。
【００４３】
図５に示した登録画面５００を介して新規のワークフロー「Test1」が登録される場合、図７の上段に示すレコードがワークフロー情報１３ａ１へ追加される。図７の上段に示すレコードは、ワークフロー名が「Test1」であり、そのバイナリファイルが「PD94bWwgdVRGLTgi・・・」であり、２０１５年６月１日の６時００分０４秒に登録が行われたことを意味する。さらに、図７の上段に示すレコードは、フロー種別が「１」であるので、新規のワークフローであることも併せて意味する。
【００４４】
図６に示した登録画面６００を介して更新用のワークフロー「Test2」が登録された場合、図７の下段に示す２番目のレコードがワークフロー情報１３ａ２に追加される。図７の下段に示す２番目のレコードは、ワークフロー名が「Test2」であり、そのバイナリファイルが「YNG97RyuwgPo098LT・・・」であり、２０１５年６月２日の８時３１分０４秒に登録が行われたことを意味する。さらに、図７の下段に示す２番目のレコードは、フロー種別が「２」であるので、更新用のワークフローであることも併せて意味する。このように図７の下段に示す２番目のレコードが更新用のワークフローとして追加されると共に、当該更新用のワークフローの登録時に更新対象フローとして指定された「Test1」のワークフローの対象フローのフィールドには、当該更新用のワークフロー名「Test2」が登録される。このようにＷＦ実行サーバ１０が実施中であるワークフロー名「Test1」の対象フローのフィールドへワークフロー名「Test1」の更新に用いるワークフロー名「Test2」を登録することにより、新旧のワークフローを関連付けることができる。
【００４５】
このようなワークフロー情報１３ａの登録の他、登録部１５ａは、ワークフローに関するスケジュールの登録も実行する。例えば、登録部１５ａは、クライアント端末５０上で新規のワークフローがワークフロー情報１３ａとして登録された場合、一例として、図８に示すスケジュールの登録画面８００をクライアント端末５０に表示させる。
【００４６】
図８は、スケジュールの登録画面の一例を示す図である。図８には、図５に示したワークフローの登録画面５００を介して登録されたワークフロー「Test1」に関するスケジュールが登録される場合が例示されている。図８に示すように、登録画面８００には、テキストボックス８１０、ラジオボタン８２０Ａ〜８２０Ｃ、プルダウンメニュー８３０、登録ボタン８４０などのＧＵＩコンポーネントが含まれる。このうち、テキストボックス８１０では、ワークフローの実行を開始させる日時のテキスト入力を受け付ける。ここでは、実行時刻がテキストボックス８１０により入力される場合を例示したが、日付、時分秒を選択可能なプルダウンメニューとしてもよく、他のＧＵＩコンポーネントで代用できるのは言うまでもない。また、ラジオボタン８２０Ａ〜８２０Ｃは、スケジュール種別が「繰り返し」、「日時指定」または「即時実行」のいずれであるかを択一で受け付ける。このうち、「繰り返し」が指定された場合、ワークフローを繰り返して実行するスケジュールが設定され、「日時指定」が指定された場合、ワークフローを指定の日時に実行するスケジュールが設定され、また、「即時実行」が指定された場合、ワークフローのスケジュール情報１３ｂが登録されると同時に当該ワークフローを実行するスケジュールが設定される。また、プルダウンメニュー８３０は、ＷＦ実行サーバ１０にワークフローを実行させる周期の選択を受け付ける。例えば、プルダウンメニュー８３０に「日次」、「週次」、「月次」、「１時間毎」、「２時間毎」、「３時間毎」、「４時間毎」、「６時間毎」、「８時間毎」や「１２時間毎」などの選択肢を用意しておき、これらの選択肢の中から周期を選択させることができる。
【００４７】
このようなＧＵＩコンポーネントが用意された環境の下、新規のワークフロー「Test1」に関するスケジュールが登録される場合、一例として、図８に示す登録画面８００の通り、実行時刻、スケジュール種別や周期が指定される。すなわち、図８の例で言えば、実行時刻としてテキストボックス８１０に「2015/06/01  06:25:00」が入力されると共にスケジュール種別として「日時指定」が指定された状態、すなわちラジオボタン８２０Ｂが選択された状態で登録ボタン８４０の押下操作が受け付けられる。この場合、図９の上段に示す１レコードがスケジュール情報１３ｂ１として新規登録される。
【００４８】
図９は、スケジュール情報１３ｂの一例を示す図である。図９の上段には、図８に示した登録画面８００を介して新規のワークフロー「Test1」に関するスケジュールが登録されたレコードを含むスケジュール情報１３ｂ１が示されている。図９の中段には、更新用のワークフロー「Test2」に関するスケジュールが登録された時点のスケジュール１３ｂ２が示されると共に、図９の下段には、新規のワークフロー「Test1」から更新用のワークフロー「Test2」へワークフローの新旧が切り替えられた後のスケジュール１３ｂ３が示されている。なお、図９の中段および下段に示すスケジュール情報１３ｂ２及び１３ｂ３の詳細については後述する。
【００４９】
図９に示すように、スケジュール情報１３ｂは、ワークフロー名、実施状況、開始日時、終了日時、スケジュール種別および周期種別などの項目が対応付けられたデータを採用できる。ここで言う「実施状況」は、ワークフローが実施される状況の区分を指し、一例として、未実施、実施中、正常終了、中止終了、異常終了などが挙げられる。例えば、実施状況が「未実施」である場合にはフィールド内に「１」が格納され、「実施中」である場合にはフィールド内に「２」が格納され、実施状況が「正常終了」である場合にはフィールド内に「３」が格納され、「中止終了」である場合にはフィールド内に「４」が格納され、また、実施状況が「異常終了」である場合にはフィールド内に「５」が格納される。また、「開始日時」は、ワークフローの実行が開始される日時を指し、「終了日時」は、ワークフローの実行が終了された日時を指す。さらに、「スケジュール種別」は、ワークフローが実施されるスケジュールの種別を指し、一例として、繰り返し、日時指定、即時、更新などの区分が存在する。例えば、スケジュール種別が「繰り返し」である場合にはフィールド内に「１」が格納され、スケジュール種別が「日時指定」である場合にはフィールド内に「２」が格納され、スケジュール種別が「即時」である場合にはフィールド内に「３」が格納される。また、「更新」は、新規のワークフローに設定されるスケジュール種別とは異なり、更新用のワークフローに自動設定される区分であり、更新用のワークフローが適用される更新対象のワークフローに設定されたスケジュール種別を引き継ぐために新旧のワークフローの切替時に自動的に設定される。この場合、フィールド内に「４」が格納される。
【００５０】
例えば、図８に示した登録画面８００を介して新規のワークフロー「Test1」に関するスケジュールが登録される場合、図９の上段に示すレコードがスケジュール情報１３ｂ１へ追加される。図９の上段に示すレコードは、ワークフロー名が「Test1」であり、２０１５年６月１日の６時２５分０５秒に実行を開始する予定であり、かつ現在実施中であることを意味する。なお、ワークフロー「Test1」には、図３に示した通り、周期種別は設定されていない。
【００５１】
ＷＦ実行部１５ｂは、ワークフローを実行する処理部である。
【００５２】
一実施形態として、ＷＦ実行部１５ｂは、記憶部１３に記憶されたワークフロー情報１３ａに含まれるワークフローのうちスケジュール情報１３ｂに規定されたスケジュールの条件を満たすワークフローの実行を開始する。例えば、ＷＦ実行部１５ｂは、スケジュール情報１３ｂに含まれるレコードのうち実施状況が「未実施」であり、かつスケジュール種別が「即時」に設定されたレコードに対応するワークフローの実行を開始する。また、ＷＦ実行部１５ｂは、スケジュール情報１３ｂに含まれるレコードのうち実施状況が「未実施」であり、スケジュール種別が「日時指定」であり、かつスケジュール情報１３ｂの参照日時が開始日時に到達したレコードに対応するワークフローの実行を開始する。この他、ＷＦ実行部１５ｂは、スケジュール情報１３ｂに含まれるレコードのうち実施状況が「正常終了」であり、スケジュール種別が「繰り返し」であり、かつ前回にワークフローが実行されてから周期種別に設定された周期が経過したレコードに対応するワークフローの実行を開始する。
【００５３】
ここで、ワークフローの実行が開始される場合、ＷＦ実行部１５ｂは、記憶部１３に記憶されたワークフロー情報１３ａに含まれるレコードのうちスケジュール情報１３ｂから実行の開始が特定されたレコードを読み出す。そして、ＷＦ実行部１５ｂは、先に読み出されたレコードに含まれるワークフローのバイナリファイルをＸＭＬ（eXtensible  Markup  Language）形式へ変換した上で図示しない内部メモリ上に展開する。その上で、ＷＦ実行部１５ｂは、内部メモリ上に展開されたワークフローを解釈し、ワークフローに規定された手順にしたがって各処理ステップに対応する処理を実行する。例えば、ＷＦ実行部１５ｂは、実行対象とする処理ステップがＮＷ監視システム３のＮＷ監視装置３０等の他のシステムに関するＡＰＩである場合、当該ＡＰＩの実行を第１のＡＰＩ実行部１５ｃへ依頼する。また、ＷＦ実行部１５ｂは、実行対象とする処理ステップが四則計算等の汎用の内部ＡＰＩまたは切替ポイントのＡＰＩである場合、当該ＡＰＩの実行を第２のＡＰＩ実行部１５ｄへ依頼する。
【００５４】
第１のＡＰＩ実行部１５ｃは、他のシステムに関するＡＰＩを実行する処理部である。
【００５５】
一実施形態として、第１のＡＰＩ実行部１５ｃは、ＷＦ実行部１５ｂから他のシステムに関するＡＰＩの実行を依頼された場合、当該ＡＰＩを実行する。例えば、ワークフロー「Test1」の例を挙げれば、第１のＡＰＩ実行部１５ｃは、処理ステップＳ１の規定にしたがってワークフローの実行確認をＮＷ監視装置３０へ行ったり、処理ステップＳ３の規定にしたがってＮＷ機器３１から上記のＯＴＮ上に設定される各ＬＳＰのトラフィックを収集し、収集結果を通知させたりする。
【００５６】
第２のＡＰＩ実行部１５ｄは、汎用の内部ＡＰＩや切替ポイントのＡＰＩを実行する処理部である。
【００５７】
一側面として、第２のＡＰＩ実行部１５ｄは、ＷＦ実行部１５ｂから汎用の内部ＡＰＩの実行を依頼された場合、当該ＡＰＩを実行する。例えば、ワークフロー「Test1」の例を挙げれば、第２のＡＰＩ実行部１５ｄは、処理ステップＳ４の規定にしたがって上記のＯＴＮにおける帯域使用率を計算してその帯域使用率が閾値αを超えるか否かを判定したり、また、処理ステップＳ５の規定にしたがって上記ＯＴＮ内の一部のＬＳＰを他のＯＴＮへ切り替える帯域制御を行ったりする。
【００５８】
他の側面として、第２のＡＰＩ実行部１５ｄは、ＷＦ実行部１５ｂから切替ポイントのＡＰＩの実行を依頼された場合、次のような処理を実行する。すなわち、第２のＡＰＩ実行部１５ｄは、ワークフロー情報１３ａに含まれるレコードのうち実行中のワークフローに対応するレコードの対象フロー名のフィールドがＮＵＬＬ値以外であるか否かを判定する。
【００５９】
ここで、対象フロー名のフィールドがＮＵＬＬ値である場合、実行中のワークフローの更新に用いる新ワークフローが登録されていないことが判明する。例えば、図９の上段に示したスケジュール情報１３ｂ１にしたがってワークフロー「Test1」が実施中である状況の下、図７に示したワークフロー情報１３ａ１の対象フロー名のフィールドが参照される場合を想定する。この場合、対象フロー名のフィールドはＮＵＬＬ値であるので、この段階で実行中のワークフロー「Test1」を更新するワークフローは登録されていないことが判明する。
【００６０】
一方、対象フロー名のフィールドにＮＵＬＬ値以外の値が登録されている場合、実行中のワークフローの更新に用いる新ワークフローが登録されていることが判明する。例えば、図９の上段に示したスケジュール情報１３ｂ１にしたがってワークフロー「Test1」が実施中である状況の下、図７に示したワークフロー情報１３ａ２の対象フロー名のフィールドが参照される場合を想定する。この場合、対象フロー名のフィールドはＮＵＬＬ値ではない。このため、実行中のワークフロー「Test1」の更新に用いるワークフローが登録されていることが判明する。
【００６１】
このように実行中のワークフローの更新に用いる新ワークフローが登録されている場合、第２のＡＰＩ実行部１５ｄは、実行中のワークフローが持つレコードの対象フロー名のフィールドに格納されたワークフロー名に対応するレコードがワークフロー情報１３ａ内に存在するか否かを判定する。このとき、ワークフロー情報１３ａ内に実行中のワークフローが持つレコードの対象フロー名のフィールドに格納されたワークフロー名に対応するレコードが存在する場合、新旧のワークフローの切替準備が整ったことが判明する。一方、ワークフロー情報１３ａ内に実行中のワークフローが持つレコードの対象フロー名のフィールドに格納されたワークフロー名に対応するレコードが存在しない場合、新ワークフローに関する情報が人為的、論理的または物理的に破損しており、新旧のワークフローの切替準備が整っていないことが判明する。
【００６２】
切替制御部１５ｅは、新旧のワークフローの切替制御を実行する処理部である。
【００６３】
一実施形態として、切替制御部１５ｅは、ワークフロー情報１３ａ内に実行中のワークフローが持つレコードの対象フロー名のフィールドに格納されたワークフロー名に対応するレコードが存在する場合、すなわち新旧のワークフローの切替準備が整った場合、次のような処理を実行する。すなわち、切替制御部１５ｅは、実行中のワークフローの停止および更新用のワークフローの起動、すなわち新旧のワークフローの切替指示をＷＦ実行部１５ｂに通知する。例えば、図７に示したワークフロー情報１３ａ２の例で言えば、実行中のワークフロー「Test1」の停止および更新用のワークフロー「Test2」の起動が指示されることになる。
【００６４】
この切替指示を受けたＷＦ実行部１５ｂは、当該新ワークフロー、すなわち更新用のワークフローに関するスケジュールをスケジュール情報１３ｂに自動登録する。例えば、図９の中段に示すスケジュール情報１３ｂ２の通り、新ワークフローに対応するワークフロー名、実施状況、開始日時やスケジュール種別などのフィールドに値が格納される。このように更新用のワークフローのスケジュール種別が登録される場合、そのフィールドには更新、すなわち「４」が格納されることになる。
【００６５】
その後、ＷＦ実行部１５ｂは、記憶部１３に記憶されたワークフロー情報１３ａに含まれるレコードのうち新ワークフローのレコードを読み出す。続いて、ＷＦ実行部１５ｂは、先に読み出されたレコードに含まれる新ワークフローのバイナリファイルをＸＭＬ形式へ変換した上で図示しない内部メモリ上に展開することにより、更新用のワークフローを起動する。これと同時もしくは前後して、ＷＦ実行部１５ｂは、更新用のワークフローに置き換えられるワークフロー、すなわち旧ワークフローを停止する。その上で、ＷＦ実行部１５ｂは、記憶部１３に記憶されたスケジュール情報１３ｂのうち旧ワークフローに対応するレコードの内容を更新する。例えば、旧ワークフロー「Test1」が停止された場合、図９の下段に示すスケジュール情報１３ｂ３の通り、実施状況のフィールドに正常終了、すなわち「３」が格納されると共に、ＮＵＬＬ値であった終了日時のフィールに値が格納される。これをもって、新旧のワークフローの切り替えが終了する。
【００６６】
以上のように、本実施例では、旧ワークフローの更新に用いる新ワークフローの有無を判定する切替ポイントのＡＰＩが組み込まれたワークフローの実行中に新ワークフロー有りと判定された場合に、新ワークフローを起動すると共に旧ワークフローを停止する。このため、反復処理、いわゆるループにより処理が規定されたワークフローが実行される場合でも、不具合が発生しにくい処理ステップになった段階で実行中のワークフローを停止する操作、さらには、実行中のワークフローの停止が確認されてから更新用のワークフローを起動する操作がシステム管理者等のオペレーションとして発生するのを抑制できる。さらには、旧ワークフローの停止を新ワークフローの起動よりも遅延させて実施する場合、旧ワークフローが停止されてから新ワークフローが起動するまでの時間差もなくすことができる。
【００６７】
これらのことから、本実施例によれば、新旧のワークフローを円滑に切り替えることができる。加えて、ネットワーク管理者等のオペレーションの不要化、並びに、監視対象とするシステムの無停止の実現により、ネットワーク監視において帯域監視の閾値を変更するなどのようなロジック変更も柔軟に行うことができる。
【００６８】
［処理の流れ］
図１０は、実施例１に係るワークフローの切替処理の手順を示すフローチャートである。この処理は、記憶部１３に記憶されたワークフロー情報１３ａに含まれるワークフローの実行が開始された場合に起動する。
【００６９】
図１０に示すように、ＷＦ実行部１５ｂは、ワークフロー情報１３ａから実行対象とするワークフローのバイナリファイルをＸＭＬ形式へ変換した上で図示しない内部メモリ上に展開する（ステップＳ１０１）。続いて、ＷＦ実行部１５ｂは、ワークフローに規定された手順にしたがって実行対象とする処理ステップを解釈する（ステップＳ１０２）。
【００７０】
そして、実行対象とする処理ステップが切替ポイントのＡＰＩ以外である場合（ステップＳ１０３Ｎｏ）、第１のＡＰＩ実行部１５ｃまたは第２のＡＰＩ実行部１５ｄは、他のシステムに関するＡＰＩ、あるいは汎用の内部ＡＰＩを実行する（ステップＳ１０４）。
【００７１】
一方、実行対象とする処理ステップが切替ポイントのＡＰＩである場合（ステップＳ１０３Ｙｅｓ）、第２のＡＰＩ実行部１５ｄは、ワークフロー情報１３ａに含まれるレコードのうち実行中のワークフローに対応するレコードの対象フロー名のフィールドがＮＵＬＬ値以外であるか否かを判定する（ステップＳ１０５）。
【００７２】
このとき、対象フロー名のフィールドにＮＵＬＬ値以外の値が登録されている場合（ステップＳ１０５Ｙｅｓ）、実行中のワークフローの更新に用いる新ワークフローが登録されていることが判明する。この場合、第２のＡＰＩ実行部１５ｄは、実行中のワークフローが持つレコードの対象フロー名のフィールドに格納されたワークフロー名に対応するレコードがワークフロー情報１３ａ内に存在するか否かをさらに判定する（ステップＳ１０６）。
【００７３】
そして、ワークフロー情報１３ａ内に実行中のワークフローが持つレコードの対象フロー名のフィールドに格納されたワークフロー名に対応するレコードが存在する場合（ステップＳ１０６Ｙｅｓ）、新旧のワークフローの切替準備が整ったことが判明する。この場合、切替制御部１５ｅは、実行中のワークフローの停止および更新用のワークフローの起動、すなわち新旧のワークフローの切替指示をＷＦ実行部１５ｂに通知する（ステップＳ１０７）。
【００７４】
これを受けて、ＷＦ実行部１５ｂは、当該新ワークフロー、すなわち更新用のワークフローに関するスケジュールをスケジュール情報１３ｂに自動登録する（ステップＳ１０８）。
【００７５】
さらに、ＷＦ実行部１５ｂは、ワークフロー情報１３ａに含まれる新ワークフローのバイナリファイルをＸＭＬ形式へ変換した上で図示しない内部メモリ上に展開することにより、更新用のワークフローを起動する（ステップＳ１０９）。これと同時もしくは前後して、ＷＦ実行部１５ｂは、更新用のワークフローに置き換えられるワークフロー、すなわち旧ワークフローを停止する（ステップＳ１１０）。その上で、ＷＦ実行部１５ｂは、記憶部１３に記憶されたスケジュール情報１３ｂのうち旧ワークフローに対応するレコードの内容を更新する（ステップＳ１１１）。
【００７６】
なお、対象フロー名のフィールドがＮＵＬＬ値である場合（ステップＳ１０５Ｎｏ）、実行中のワークフローの更新に用いる新ワークフローが登録されていないことが判明する。また、ワークフロー情報１３ａ内に実行中のワークフローが持つレコードの対象フロー名のフィールドに格納されたワークフロー名に対応するレコードが存在しない場合（ステップＳ１０６Ｎｏ）、新ワークフローに関する情報が人為的、論理的または物理的に破損しており、新旧のワークフローの切替準備が整っていないことが判明する。これらの場合、ステップＳ１０７以降の処理を飛ばし、ステップＳ１１２へ移行する。
【００７７】
その後、ワークフローに規定された手順にしたがって実行される処理ステップがワークフローの終了条件を満たすまで（ステップＳ１１２Ｎｏ）、上記のステップＳ１０２〜ステップＳ１１１までの処理を繰り返し実行する。そして、ワークフローに規定された手順にしたがって実行される処理ステップがワークフローの終了条件を満たす場合（ステップＳ１１２Ｙｅｓ）、処理を終了する。
【００７８】
［効果の一側面］
上述してきたように、本実施例に係るＷＦ実行サーバ１０は、旧ワークフローの更新に用いる新ワークフローの有無を判定する切替ポイントのＡＰＩが組み込まれたワークフローの実行中に新ワークフロー有りと判定された場合に、新ワークフローを起動すると共に旧ワークフローを停止する。このため、反復処理、いわゆるループにより処理が規定されたワークフローが実行される場合でも、不具合が発生しにくい処理ステップになった段階で実行中のワークフローを停止する操作、さらには、実行中のワークフローの停止が確認されてから更新用のワークフローを起動する操作がシステム管理者等のオペレーションとして発生するのを抑制できる。さらには、旧ワークフローの停止を新ワークフローの起動よりも遅延させて実施する場合、旧ワークフローが停止されてから新ワークフローが起動するまでの時間差もなくすことができる。
【００７９】
これらのことから、本実施例に係るＷＦ実行サーバ１０によれば、新旧のワークフローを円滑に切り替えることができる。加えて、ネットワーク管理者等のオペレーションの不要化、並びに、監視対象とするシステムの無停止の実現により、ネットワーク監視において帯域監視の閾値を変更するなどのようなロジック変更も柔軟に行うことができる。
【実施例２】
【００８０】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００８１】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、登録部１５ａ、ＷＦ実行部１５ｂ、第１のＡＰＩ実行部１５ｃ、第２のＡＰＩ実行部１５ｄまたは切替制御部１５ｅをＷＦ実行サーバ１０の外部装置としてネットワーク経由で接続するようにしてもよい。また、登録部１５ａ、ＷＦ実行部１５ｂ、第１のＡＰＩ実行部１５ｃ、第２のＡＰＩ実行部１５ｄまたは切替制御部１５ｅを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のＷＦ実行サーバ１０の機能を実現するようにしてもよい。また、記憶部１３に記憶されるワークフロー情報１３ａ及びスケジュール情報１３ｂの全部または一部を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のＷＦ実行サーバ１０の機能を実現するようにしてもかまわない。
【００８２】
［切替プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１１を用いて、上記の実施例と同様の機能を有する切替プログラムを実行するコンピュータの一例について説明する。
【００８３】
図１１は、実施例１及び実施例２に係る切替プログラムを実行するコンピュータのハードウェア構成例を示す図である。図１１に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【００８４】
ＨＤＤ１７０には、図１１に示すように、上記の実施例１で示した登録部１５ａ、ＷＦ実行部１５ｂ、第１のＡＰＩ実行部１５ｃ、第２のＡＰＩ実行部１５ｄ及び切替制御部１５ｅと同様の機能を発揮する切替プログラム１７０ａが記憶される。この切替プログラム１７０ａは、図４に示した登録部１５ａ、ＷＦ実行部１５ｂ、第１のＡＰＩ実行部１５ｃ、第２のＡＰＩ実行部１５ｄ及び切替制御部１５ｅの各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ１７０には、必ずしも上記の実施例１で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ１７０に格納されればよい。
【００８５】
このような環境の下、ＣＰＵ１５０は、ＨＤＤ１７０から切替プログラム１７０ａを読み出した上でＲＡＭ１８０へ展開する。この結果、切替プログラム１７０ａは、図１１に示すように、切替プロセス１８０ａとして機能する。この切替プロセス１８０ａは、ＲＡＭ１８０が有する記憶領域のうち切替プロセス１８０ａに割り当てられた領域にＨＤＤ１７０から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、切替プロセス１８０ａが実行する処理の一例として、図１０に示す処理などが含まれる。なお、ＣＰＵ１５０では、必ずしも上記の実施例１で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【００８６】
なお、上記の切替プログラム１７０ａは、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶されておらずともかまわない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に切替プログラム１７０ａを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から切替プログラム１７０ａを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに切替プログラム１７０ａを記憶させておき、コンピュータ１００がこれらから切替プログラム１７０ａを取得して実行するようにしてもよい。
【符号の説明】
【００８７】
３    ＮＷ監視システム
１０    ＷＦ実行サーバ
１１    通信Ｉ／Ｆ部
１３    記憶部
１３ａ  ワークフロー情報
１３ｂ  スケジュール情報
１５    制御部
１５ａ  登録部
１５ｂ  ＷＦ実行部
１５ｃ  第１のＡＰＩ実行部
１５ｄ  第２のＡＰＩ実行部
１５ｅ  切替制御部
３０    ＮＷ監視装置
３１Ａ，３１Ｂ，３１Ｃ    ＮＷ機器
【図１】
2017097796.tif 000003
【図２】
2017097796.tif 000004
【図３】
2017097796.tif 000005
【図４】
2017097796.tif 000006
【図５】
2017097796.tif 000007
【図６】
2017097796.tif 000008
【図７】
2017097796.tif 000009
【図８】
2017097796.tif 000010
【図９】
2017097796.tif 000011
【図１０】
2017097796.tif 000012
【図１１】
2017097796.tif 000013