(57)【特許請求の範囲】
【請求項１】
機器の設定に用いるコマンドを格納するコマンドデータベースと、
機器の設定手順を示す設定シナリオ情報を作成する手順作成部と、
前記コマンドデータベースに格納されている複数のコマンドを、前記手順作成部により作成された設定シナリオ情報に対応する順序及びタイミングで、設定の対象となる対象機器に対して順に送信するコマンド送信部と、
少なくとも１つのコマンドと、入出力に関する定義情報とが含まれたプログラムファイルである作業部品を格納する部品格納部と
を有し、
前記手順作成部は、ユーザの操作に応じて、前記部品格納部に格納された作業部品のうち、機器の設定に用いる作業部品の組合せと、これらの作業部品の順序とを、前記設定シナリオ情報として作成し、
前記コマンド送信部は、前記作業部品の順序に従って、コマンドを対象機器に送信し、
設定作業の進捗状況と、設定シナリオ情報とに基づいて、ユーザによる手動操作が必要となるタイミングを予測するタイミング予測部と、
前記タイミング予測部により予測された手動操作のタイミングをユーザに通知する通知部と
をさらに有する機器設定装置。
【請求項２】
複数の設定シナリオ情報を格納するシナリオデータベース
をさらに有し、
前記手順作成部は、前記シナリオデータベースに格納されている設定シナリオ情報のいずれかをテンプレートとして読み出し、読み出された設定シナリオ情報を編集し、
前記コマンド送信部は、編集された設定シナリオ情報に基づいて、コマンドを対象機器に送信する
請求項１に記載の機器設定装置。
【請求項３】
前記シナリオデータベースは、設定シナリオ情報を、対象機器の製造元識別情報、及び、対象機器の機種識別情報に関連付けて格納しており、
ユーザにより指定された製造元識別情報及び機種識別情報に基づいて、前記シナリオデータベースから、設定シナリオ情報を抽出し提示するシナリオ検索部
をさらに有する請求項２に記載の機器設定装置。
【請求項４】
前記コマンド送信部により送信されたコマンドに対する、前記対象機器からの応答を検知する応答検知部
をさらに有し、
前記コマンド送信部は、前記応答検知部によりコマンドに対する応答が検知されたことを条件として、次のコマンドを前記対象機器に送信する
請求項１に記載の機器設定装置。
【請求項５】
前記応答検知部は、前記コマンド送信部によりコマンドが送信されたタイミングから既定の時間内に、表示される文字列に基づいて、送信されたコマンドに対する応答を検知する
請求項４に記載の機器設定装置。
【請求項６】
前記コマンド送信部は、前記対象機器にログオンするターミナルソフトウェアを介して、コマンドを対象機器に送信し、
前記応答検知部は、前記ターミナルソフトウェアの操作画面におけるコマンドの位置を保持し、保持されたコマンドの位置の後ろに出現する文字列に基づいて、応答を検知する
請求項５に記載の機器設定装置。
【請求項７】
前記応答検知部は、前記コマンド送信部がソフトウェアの起動を指示するコマンドを送信した場合に、ウインドウタイトルの文字列に基づいて、前記コマンドの応答を検知する
請求項５に記載の機器設定装置。
【請求項８】
前記応答検知部は、前記コマンド送信部によりコマンドが送信されたタイミングから既定の時間内に、既定の文字列が発見できなかった場合に、設定作業のエラーを通知する
請求項５に記載の機器設定装置。
【請求項９】
前記コマンド送信部によるコマンドの送信処理、又は、前記応答検知部により検知された応答に応じて、設定作業の進捗状況を示す進捗データを他の端末に送信する進捗通知部
をさらに有する請求項４に記載の機器設定装置。
【請求項１０】
設定作業の進捗状況に応じて、ユーザによる入力操作の受付を禁止する入力ロック部と、
前記入力ロック部により入力操作の受付が禁止されている期間に、並行して実施できる作業、又は、後に実施すべき作業を明示又は示唆する画像を表示する案内画像表示部と
をさらに有し、
前記コマンド送信部は、前記入力ロック部により入力操作の受付が禁止されている期間に、コマンドを順次送信して、設定作業を進める
請求項４に記載の機器設定装置。
【請求項１１】
設定作業の進捗状況に応じて、ユーザによる手動操作が必要なタイミングを通知する手動操作通知部
をさらに有し、
前記入力ロック部は、前記手動操作通知部により通知されるタイミングにおいて、入力操作の受付禁止を解除する
請求項１０に記載の機器設定装置。
【請求項１２】
対象機器に関する情報に応じて、自機の設定変更を行う設定変更部
をさらに有し、
前記コマンド送信部は、前記設定変更部により変更された設定で、コマンドを対象機器に送信する
請求項１に記載の機器設定装置。
【請求項１３】
前記手順作成部は、ユーザに物理的操作を促す操作指示情報を表示させる作業部品と、自動的に対象機器にコマンドを送信させる作業部品とを少なくとも組み合わせる設定シナリオ情報を作成する
請求項１に記載の機器設定装置。
【請求項１４】
少なくとも一つの仮想マシンを構築する仮想マシン構築部
をさらに有し、
前記コマンド送信部は、前記設定シナリオ情報に従って、前記仮想マシン構築部により構築された仮想マシンから、コマンドを順次送信して、設定作業を自動実行し、
前記応答検知部は、前記仮想マシン構築部により構築された仮想マシン上で、コマンド
に対する応答を検知する
請求項４に記載の機器設定装置。
【請求項１５】
前記仮想マシンにおける、前記コマンド送信部によるコマンドの送信処理、又は、前記応答検知部により検知された応答に応じて、設定作業の進捗状況を示す進捗データを前記仮想マシンのホストに通知する進捗通知部
をさらに有する請求項１４に記載の機器設定装置。
【請求項１６】
前記仮想マシンにおける設定作業の進捗状況に応じて、ユーザによる手動操作が必要なタイミングを前記仮想マシンのホストに通知する手動操作通知部
をさらに有する請求項１５に記載の機器設定装置。
【請求項１７】
前記仮想マシンにおける設定作業の進捗状況に応じて、当該仮想マシンにおける入力操作の受付を禁止する入力ロック部
をさらに有する請求項１５に記載の機器設定装置。
【請求項１８】
いずれかの仮想マシンにおいて設定シナリオ情報に従って設定作業が自動実行されている場合に、いずれの仮想マシンにおいても設定作業が自動実行されていない場合よりも、前記仮想マシンのホストがスリープ状態に移行する時間を長く設定するスリープ制御部
をさらに有する請求項１４に記載の機器設定装置。
【請求項１９】
機器の設定手順を示す設定シナリオ情報を作成する手順作成ステップと、
コマンドデータベースに格納されている複数のコマンドを、作成された設定シナリオ情報に対応する順序及びタイミングで、設定の対象となる対象機器に対して順に送信するコマンド送信ステップと
を有し、
前記手順作成ステップは、少なくとも１つのコマンドと、入出力に関する定義情報とが含まれたプログラムファイルである作業部品を格納する部品格納部から、ユーザの操作に応じて、機器の設定に用いる作業部品の組合せと、これらの作業部品の順序とを、前記設定シナリオ情報として作成し、
前記コマンド送信ステップは、前記作業部品の順序に従って、コマンドを対象機器に送信し、
設定作業の進捗状況と、設定シナリオ情報とに基づいて、ユーザによる手動操作が必要となるタイミングを予測するタイミング予測ステップと、
前記タイミング予測ステップにより予測された手動操作のタイミングをユーザに通知する通知ステップと
をさらに有する機器設定方法。
【請求項２０】
機器の設定手順を示す設定シナリオ情報を作成する手順作成ステップと、
コマンドデータベースに格納されている複数のコマンドを、作成された設定シナリオ情報に対応する順序及びタイミングで、設定の対象となる対象機器に対して順に送信するコマンド送信ステップと
をコンピュータに実行させ、
前記手順作成ステップは、少なくとも１つのコマンドと、入出力に関する定義情報とが含まれたプログラムファイルである作業部品を格納する部品格納部から、ユーザの操作に応じて、機器の設定に用いる作業部品の組合せと、これらの作業部品の順序とを、前記設定シナリオ情報として作成し、
前記コマンド送信ステップは、前記作業部品の順序に従って、コマンドを対象機器に送信し、
設定作業の進捗状況と、設定シナリオ情報とに基づいて、ユーザによる手動操作が必要となるタイミングを予測するタイミング予測ステップと、
前記タイミング予測ステップにより予測された手動操作のタイミングをユーザに通知する通知ステップと
をさらにコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器設定装置、機器設定方法、及びプログラムに関する。
【背景技術】
【０００２】
例えば、特許文献１には、状態制御部１３が、電源コンバータ４０、リンクスイッチ５０を制御して検証環境の状態を変化させることで、検証担当者が通信機器の設置場所まで行くことなく、電源ＯＮ／ＯＦＦ、ＬｉｎｋＵＰ／ＤＯＷＮなどの検証環境の状態変化を検証することが可能となる検証方法が開示されている。
【０００３】
また、特許文献２には、移動先拠点２０１（＃２）において、拠点エージェント２１０（＃２）は、ＶＭ生成時拠点名とＶＭ名とＶＭが使用していた移動元ＶＬＡＮ  ＩＤとＶＭに対応する移動元物理ＳＷの識別情報とからなる自動コンフィグ用情報２１３（＃２）を含むＶＭ２０６（＃２）のイメージファイルが転送され、ＶＭ名に対応する移動先物理ＳＷ２０４（＃２）に対して、移動元物理ＳＷの識別情報に基づいてパケットをカプセル化送信する設定を行い、移動元においてＶＭ２０６（＃２）宛てのパケットをカプセル化送信する設定を行わせるための、移動先物理ＳＷの識別情報と移動元ＶＬＡＮ  ＩＤと移動元物理ＳＷの識別情報とを、ＶＭ生成時拠点名に対応する移動元拠点２０１（＃１）の拠点エージェント２１０（＃１）に通知する仮想マシン管理方法が開示されている。
【０００４】
また、特許文献３には、ネットワーク機器（ルータ１０）は、ネットワークに初めて接続された際に、ネットワークを介して保守サーバにアクセスし、正当性の認証の要求を行う要求手段と、正当性が認証された場合には、保守サーバから加入者設備毎の設定情報を取得する取得手段と、取得された設定情報に基づいてネットワーク機器を設定する設定手段とを有し、保守サーバ（自動保守サーバ４０）は、ネットワーク機器のそれぞれを特定するための情報と設定情報とを対応付けて記憶する記憶手段と、要求に応じて正当性を認証する認証手段と、正当性が認証された場合にネットワーク機器を特定するための情報を参照して、記憶手段から対応する設定情報を取得し要求を行ったネットワーク機器に対して送信する送信手段を有するネットワークシステムのネットワーク機器保守方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−０８７０７８
【特許文献２】特開２０１４−１８３３４７
【特許文献３】特許第５６５４０８０
【発明の概要】
【発明が解決しようとする課題】
【０００６】
機器の設定作業を容易にする機器設定装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る機器設定装置は、機器の設定に用いるコマンドを格納するコマンドデータベースと、機器の設定手順を示す設定シナリオ情報を作成する手順作成部と、前記コマンドデータベースに格納されている複数のコマンドを、前記手順作成部により作成された設定シナリオ情報に対応する順序及びタイミングで、設定の対象となる対象機器に対して順に送信するコマンド送信部とを有する。
【０００８】
好適には、少なくとも１つのコマンドと、入出力に関する定義情報とが含まれたプログラムファイルである作業部品を格納する部品格納部をさらに有し、前記手順作成部は、ユーザの操作に応じて、前記部品格納部に格納された作業部品のうち、機器の設定に用いる作業部品の組合せと、これらの作業部品の順序とを、前記設定シナリオ情報として作成し、前記コマンド送信部は、前記作業部品の順序に従って、コマンドを対象機器に送信する。
【０００９】
好適には、複数の設定シナリオ情報を格納するシナリオデータベースをさらに有し、前記手順作成部は、前記シナリオデータベースに格納されている設定シナリオ情報のいずれかをテンプレートとして読み出し、読み出された設定シナリオ情報を編集し、前記コマンド送信部は、編集された設定シナリオ情報に基づいて、コマンドを対象機器に送信する。
【００１０】
好適には、前記シナリオデータベースは、設定シナリオ情報を、対象機器の製造元識別情報、及び、対象機器の機種識別情報に関連付けて格納しており、ユーザにより指定された製造元識別情報及び機種識別情報に基づいて、前記シナリオデータベースから、設定シナリオ情報を抽出し提示するシナリオ検索部をさらに有する。
【００１１】
好適には、前記コマンド送信部により送信されたコマンドに対する、前記対象機器からの応答を検知する応答検知部をさらに有し、前記コマンド送信部は、前記応答検知部によりコマンドに対する応答が検知されたことを条件として、次のコマンドを前記対象機器に送信する。
【００１２】
好適には、前記応答検知部は、前記コマンド送信部によりコマンドが送信されたタイミングから既定の時間内に、表示される文字列に基づいて、送信されたコマンドに対する応答を検知する。
【００１３】
好適には、前記コマンド送信部は、前記対象機器にログオンするターミナルソフトウェアを介して、コマンドを対象機器に送信し、前記応答検知部は、前記ターミナルソフトウェアの操作画面におけるコマンドの位置を保持し、保持されたコマンドの位置の後ろに出現する文字列に基づいて、応答を検知する。
【００１４】
好適には、前記応答検知部は、前記コマンド送信部がソフトウェアの起動を指示するコマンドを送信した場合に、ウインドウタイトルの文字列に基づいて、前記コマンドの応答を検知する。
【００１５】
好適には、前記応答検知部は、前記コマンド送信部によりコマンドが送信されたタイミングから既定の時間内に、既定の文字列が発見できなかった場合に、設定作業のエラーを通知する。
【００１６】
好適には、前記コマンド送信部によるコマンドの送信処理、又は、前記応答検知部により検知された応答に応じて、設定作業の進捗状況を示す進捗データを他の端末に送信する進捗通知部をさらに有する。
【００１７】
好適には、設定作業の進捗状況に応じて、ユーザによる入力操作の受付を禁止する入力ロック部と、前記入力ロック部により入力操作の受付が禁止されている期間に、並行して実施できる作業、又は、後に実施すべき作業を明示又は示唆する画像を表示する案内画像表示部とをさらに有し、前記コマンド送信部は、前記入力ロック部により入力操作の受付が禁止されている期間に、コマンドを順次送信して、設定作業を進める。
【００１８】
好適には、設定作業の進捗状況に応じて、ユーザによる手動操作が必要なタイミングを通知する手動操作通知部をさらに有し、前記入力ロック部は、前記手動操作通知部により通知されるタイミングにおいて、入力操作の受付禁止を解除する。
【００１９】
好適には、対象機器に関する情報に応じて、自機の設定変更を行う設定変更部をさらに有し、前記コマンド送信部は、前記設定変更部により変更された設定で、コマンドを対象機器に送信する。
【００２０】
好適には、設定作業の進捗状況と、設定シナリオ情報とに基づいて、ユーザによる手動操作が必要となるタイミングを予測するタイミング予測部と、前記タイミング予測部により予測された手動操作のタイミングをユーザに通知する通知部とをさらに有する。
【００２１】
好適には、前記手順作成部は、ユーザに物理的操作を促す操作指示情報を表示させる作業部品と、自動的に対象機器にコマンドを送信させる作業部品とを少なくとも組み合わせる設定シナリオ情報を作成する。
【００２２】
好適には、少なくとも一つの仮想マシンを構築する仮想マシン構築部をさらに有し、前記コマンド送信部は、前記設定シナリオ情報に従って、前記仮想マシン構築部により構築された仮想マシンから、コマンドを順次送信して、設定作業を自動実行し、前記応答検知部は、前記仮想マシン構築部により構築された仮想マシン上で、コマンドに対する応答を検知する。
【００２３】
好適には、前記仮想マシンにおける、前記コマンド送信部によるコマンドの送信処理、又は、前記応答検知部により検知された応答に応じて、設定作業の進捗状況を示す進捗データを前記仮想マシンのホストに通知する進捗通知部をさらに有する。
【００２４】
好適には、前記仮想マシンにおける設定作業の進捗状況に応じて、ユーザによる手動操作が必要なタイミングを前記仮想マシンのホストに通知する手動操作通知部をさらに有する。
【００２５】
好適には、前記仮想マシンにおける設定作業の進捗状況に応じて、当該仮想マシンにおける入力操作の受付を禁止する入力ロック部をさらに有する。
【００２６】
好適には、いずれかの仮想マシンにおいて設定シナリオ情報に従って設定作業が自動実行されている場合に、いずれの仮想マシンにおいても設定作業が自動実行されていない場合よりも、前記仮想マシンのホストがスリープ状態に移行する時間を長く設定するスリープ制御部をさらに有する。
【００２７】
また、本発明に係る機器設定方法は、機器の設定手順を示す設定シナリオ情報を作成する手順作成ステップと、コマンドデータベースに格納されている複数のコマンドを、作成された設定シナリオ情報に対応する順序及びタイミングで、設定の対象となる対象機器に対して順に送信するコマンド送信ステップとを有する。
【００２８】
また、本発明に係るプログラムは、機器の設定手順を示す設定シナリオ情報を作成する手順作成ステップと、コマンドデータベースに格納されている複数のコマンドを、作成された設定シナリオ情報に対応する順序及びタイミングで、設定の対象となる対象機器に対して順に送信するコマンド送信ステップとをコンピュータに実行させる。
【発明の効果】
【００２９】
機器の設定作業を容易にすることができる。
【図面の簡単な説明】
【００３０】
【図１】機器設定システム１の全体構成を例示する図である。
【図２】機器設定装置２のハードウェア構成を例示する図である。
【図３】機器設定装置２の機能構成を例示する図である。
【図４】（Ａ）は、シナリオ管理部５００の機能構成を例示し、（Ｂ）は、コマンド管理部５１０の機能構成を例示し、（Ｃ）は、作業部品管理部５２０の機能構成を例示し、（Ｄ）は、シナリオ実行部５４０の機能構成を例示する図である。
【図５】（Ａ）は、通知部５７０の機能構成を例示し、（Ｂ）は、設定管理部５８０の機能構成を例示する図である。
【図６】（Ａ）は、シナリオＤＢに登録される情報を例示し、（Ｂ）は、部品ＤＢに登録される情報を例示し、（Ｃ）は、設定格納部に格納される情報を例示する図である。
【図７】コマンドＤＢに登録される情報と、コマンド情報の登録インタフェースを例示する図である。
【図８】コマンドの検索インタフェースとコマンドラインを例示する図である。
【図９】機器設定処理（Ｓ１０）を説明するフローチャートである。
【図１０】設定シナリオの編集画面を例示する図である。
【図１１】作業部品を説明する模式図である。
【図１２】設定シナリオの実行画面を例示する図である。
【図１３】設定シナリオと作業予測時間を説明する模式図である。
【図１４】ターミナルソフトウェアにおける応答検知処理（Ｓ２０）を説明するフローチャートである。
【図１５】アプリケーション起動の応答検知処理（Ｓ３０）を説明するフローチャートである。
【図１６】変形例１の機器設定装置２の機能構成を例示する図である。
【発明を実施するための形態】
【００３１】
［背景］
まず、本発明がなされた背景を説明する。
設定作業や保守作業の対象となる通信機器のメーカーや機種が増える中、それを保守する交換作業においても多種多様の設定作業が必要になり、保守作業員は、対応機種に応じた設定作業を、各種ツールを用いて手作業で設定している。そのため、保守作業員の習熟度により作業時間が異なる。また、設定漏れや入力ミス等が発生し作業品質が低下する可能性がある。
【００３２】
より具体的には、対象機器毎のコマンドを理解していないと設定作業が行えない。そのため保守作業員に対し定期的に技術教育を行っているが、作業頻度の低い対象機器に対して技術スキルの維持が難しく、結果、設定作業中に手探りで作業を行いながら必要に応じてサポート側へ問合せたりしており、想定している設定作業時間が大幅に超過してしまう。
また、設定作業を行うパソコン環境が保守作業員毎に異なり、事務業務と併用して使用しているため、パソコンの設定情報は個々で異なる。それらのパソコンを保守作業で使用する場合、事前準備段階で各種パソコン環境の確認と保守作業に見合った設定変更を手動で実施している。また、設定に必要なアプリケーションソフトウェアがインストールされていない場合は新たにインストールを行い、作業完了後は追加したアプリケーションソフトウェアの削除を手動で行っているため、作業に時間を多く費やしている。
【００３３】
対象機器毎に作業手順が異なり、保守作業員は、過去の経験やサポート側の指示に基づいて、対象機種や障害内容に応じて作業手順書に記載されたコマンドの読み替えや作業手順の組み替えを行っている。そのため、保守作業員の対応レベルがバラバラで均一な作業品質の提供が困難である。
保守作業においては、保守作業員による機器交換後に他社のＳＥ作業者によるサーバ機との通信確認や、お客様による動作確認など様々な立場の人と連携して作業を行うのが特徴である。そのため保守作業員の作業進捗の定期的な報告は必須であるが、保守作業員が作業に没頭してしまうと報告を忘れてしまい、結果進捗状況の問合せや状況共有の遅れからクレームに発展することがある。
【００３４】
そこで、本実施形態では、対象機器の保守作業において保守作業員の設定作業を補助する自動化設定ツールを用いることで、課題を解決する。
より具体的には、様々な対象機器のコマンドを「コマンド辞書」に蓄積させ、ＩＰアドレスの設定やＯＳバージョンの変更等のやりたいことと関連付けさせる。これにより、コマンドが分からない対象機器であっても、やりたいこと（目的）を選択するだけで自動的にコマンドを引き出すことができる。
また、保守作業員毎に異なる設定用パソコンの設定情報を自動的に収集し「設定格納部（後述）」へ一時保管する。その後、パソコンの設定を対象機器との接続を可能とする設定に変更し、設定作業を実施するために必要なアプリケーションソフトウェアをインストールする。また作業完了後は、「設定格納部」で一時保管した保守作業前の設定情報を基にパソコンの設定を元の状態へ戻す。
様々な対象機器に対応した設定シナリオを作成する「シナリオ編集部（後述）」を用い、起動や設定投入、操作ログの採取などで使用するコマンドが定義された作業部品を組み合わせて、作業順序にしたがって構成して設定シナリオを作成する。
保守作業員が使用するパソコンで保守作業対象の通信機器に対して自動的に設定作業を行うため、作成した設定シナリオをシナリオ実行部（後述）で動作するツールへ変換させる。
シナリオ実行部（後述）は、対象機器に対して、設定作業を自動的に実行する。
設定シナリオの自動実行中に進捗状況をメールで通知させる。作業開始後、お客様と取り決めたタイミング（１０分毎、３０分毎、作業完了後など)で指定先に設定したメールアドレスへメール送信する。また、自動設定作業中にエラーが発生した時も指定先に設定したメールアドレスへメール送信できる。
【００３５】
次に、本発明の実施形態を、図面を参照して説明する。
図１は、機器設定システム１の全体構成を例示する図である。
図１に例示するように、機器設定システム１は、機器設定装置２と、ハブ７０と、設定対象である通信機器９とを含む。
機器設定装置２は、コンピュータ端末であり、通信機器９の設定作業を行う。例えば、機器設定装置２は、可搬型のコンピュータ端末であり、通信ケーブルを介して、通信機器９と接続し、通信機器９に通信ケーブルを介してコマンドを送信する。
本例の機器設定装置２は、ノートパソコンであり、シリアルケーブル８２を介して通信機器９と接続すると共に、ＬＡＮケーブル８０及びハブ７０を介して通信機器９と接続している。
【００３６】
設定対象である通信機器９は、例えば、ファイアウォールやルーターなどのネットワーク機器である。
ハブ７０は、ネットワーク通信を中継する中継装置であり、例えば、スイッチングハブである。
本例では、機器設定装置２が、設定対象である通信機器９にログインし、通信機器９の設定作業を行う。
【００３７】
図２は、機器設定装置２のハードウェア構成を例示する図である。
図２に例示するように、機器設定装置２は、ＣＰＵ２００、メモリ２０２、ＨＤＤ２０４、ネットワークインタフェース２０６（ネットワークＩＦ２０６）、表示装置２０８、及び、入力装置２１０を有し、これらの構成はバス２１２を介して互いに接続している。
ＣＰＵ２００は、例えば、中央演算装置である。
メモリ２０２は、例えば、揮発性メモリであり、主記憶装置として機能する。
ＨＤＤ２０４は、例えば、ハードディスクドライブ装置であり、不揮発性の記録装置としてコンピュータプログラムやその他のデータファイルを格納する。
ネットワークＩＦ２０６は、有線又は無線で通信するためのインタフェースであり、例えば、ＬＡＮケーブル８０やシリアルケーブル８２を介して通信機器９との通信を実現する。
表示装置２０８は、例えば、液晶ディスプレイである。
入力装置２１０は、例えば、キーボード及びマウスである。
【００３８】
図３、図４及び図５は、機器設定装置２の機能構成を例示する図である。
図３に例示するように、本例の機器設定装置２には、機器設定プログラム５がインストールされると共に、シナリオデータベース６００（シナリオＤＢ６００）、部品データベース６１０（部品ＤＢ６１０）、コマンドデータベース６２０（コマンドＤＢ６２０）、及び設定格納部６３０が構成される。なお、部品ＤＢ６１０は、本発明に係る部品格納部の一例である。
機器設定プログラム５は、シナリオ管理部５００、コマンド管理部５１０、作業部品管理部５２０、変換部５３０、シナリオ実行部５４０、進捗管理部５５０、入力ロック部５６０、通知部５７０、及び設定管理部５８０を有する。
なお、機器設定プログラム５の一部又は全部は、ＡＳＩＣなどのハードウェアにより実現されてもよい。
【００３９】
機器設定プログラム５において、シナリオ管理部５００は、機器の設定手順を示す設定シナリオ情報の管理を行う。例えば、シナリオ管理部５００は、設定シナリオ情報の新規作成、編集、登録及び検索を行う。ここで、設定シナリオ情報（以下、設定シナリオ）とは、機器の設定手順を示す情報であり、例えば、機器の設定に用いる機能単位（プログラムモジュール）である作業部品の組合せと、これら作業部品の順序とを定義するデータファイルである。
本例のシナリオ管理部５００は、図４（Ａ）に例示するように、シナリオ編集部５０２、シナリオ登録部５０４、及びシナリオ検索部５０６を含む。シナリオ編集部５０２は、本発明に係る手順作成部の一例である。
【００４０】
シナリオ編集部５０２は、ユーザの入力操作に応じて、設定シナリオを編集する。例えば、シナリオ編集部５０２は、シナリオＤＢ６００から読み出した設定シナリオのテンプレートを編集して、新規の設定シナリオを作成する。
シナリオ登録部５０４は、シナリオ編集部５０２により編集された設定シナリオをテンプレートとしてシナリオＤＢ６００に登録する。例えば、シナリオ登録部５０４は、図６（Ａ）に例示するように、設定シナリオを、対象機器の製造元識別情報（例えば、メーカー名）、及び、対象機器の機種識別情報（例えば、機種名）に関連付けてシナリオＤＢ６００に登録する。
シナリオ検索部５０６は、シナリオＤＢ６００に登録されている設定シナリオの中から、検索キーワードに合致する設定シナリオを検索し、発見された設定シナリオをユーザに提示する。
【００４１】
コマンド管理部５１０は、通信機器９の設定に用いるコマンドを管理する。例えば、コマンド管理部５１０は、コマンドの新規登録、コマンド情報の編集、及び検索等を行う。ここで、コマンドとは、機器に対して所望の動作を行わせるために機器に対して出力される命令であり、例えば、それぞれの機器について定義されているコマンドである。このようなコマンドは、メーカーや機種によって異なることがあるため、膨大な数となる。また、コマンド情報とは、コマンドに関連する情報であり、例えば、コマンドの対象機種やファームウェアを示す情報、コマンドの目的、又は、補足的な説明文である。
本例のコマンド管理部５１０は、図４（Ｂ）に例示するように、コマンド情報編集部５１２、コマンド登録部５１４、コマンド検索部５１６、及びコマンドライン生成部５１８を含む。
【００４２】
コマンド情報編集部５１２は、ユーザの入力操作に応じて、いずれかのコマンドについて、コマンド情報を編集する。例えば、コマンド情報編集部５１２は、コマンドＤＢ６２０に登録されているコマンドについて、コマンドの目的、又は、補足説明文を編集する。
コマンド登録部５１４は、コマンド、及び、コマンド情報編集部５１２により編集されたコマンド情報を互いに関連付けてコマンドＤＢ６２０に登録する。例えば、コマンド登録部５１４は、図７に例示するように、コマンドと、コマンド情報（メーカー名、機種名、ファームウェア、大分類の目的、小分類の目的、及び補足説明文）とを互いに関連付けてコマンドＤＢ６２０に登録する。コマンド情報は、コマンド情報編集部５１２による編集作業によって、随時追記されてもよい。
コマンド検索部５１６は、コマンドＤＢ６２０に登録されているコマンド又はコマンド情報の中から、検索キーワードに合致するコマンド又はコマンド情報を検索し、発見されたコマンド又はコマンド情報をユーザに提示する。
コマンドライン生成部５１８は、コマンド検索部５１６により検索されたコマンドに基づいて、テキスト形式のコマンドラインを生成する。本例のコマンドライン生成部５１８は、コマンド検索部５１６により検索されたコマンドのうち、ユーザが選択したコマンドと、このコマンドについてユーザが入力した固有情報（パスワードやＩＰアドレスなど）とに基づいて、テキスト形式のコマンドラインを生成し、生成された複数のコマンドラインを纏めてテキストファイル（Ｓｅｔテキスト）として出力する。
【００４３】
作業部品管理部５２０は、機器の設定作業の一部を実行するためのプログラムファイルである作業部品の管理を行う。例えば、作業部品管理部５２０は、作業部品の新規作成、編集、登録及び検索を行う。ここで、作業部品とは、設定作業の一部を実行するためのプログラムファイルであり、例えば、少なくとも１つのコマンドと、他の作業部品等とのデータの受け渡し（入出力）に関する定義情報とを含む。
本例の作業部品管理部５２０は、図４（Ｃ）に例示するように、作業部品編集部５２２、作業部品登録部５２４、及び作業部品検索部５２６を含む。
【００４４】
作業部品編集部５２２は、ユーザの入力操作に応じて、作業部品のパラメータ等を編集する。例えば、作業部品編集部５２２は、部品ＤＢ６１０から読み出した作業部品、又は、テンプレートである設定シナリオで指定された作業部品のパラメータを編集してカスタマイズする。
作業部品登録部５２４は、新たに作業部品が作成された場合に、作成された作業部品を部品ＤＢ６１０に登録する。例えば、作業部品登録部５２４は、図６（Ｂ）に例示するように、作業部品を、この作業部品に対する編集権限情報、この作業部品により実行される内容である作業内容、この作業部品の実行中に入力受付を禁止するか否かを指定する入力ロック情報、及び、作業部品の実行に要する所要時間に関連付けて部品ＤＢ６１０に登録する。
作業部品検索部５２６は、部品ＤＢ６１０に登録されている作業部品又はその関連情報の中から、検索キーワードに合致する作業部品又はその関連情報を検索し、発見された作業部品又は関連情報をユーザ又は他の構成に提供する。
【００４５】
変換部５３０は、シナリオ編集部５０２により作成された設定シナリオを、自動実行可能な形式に変換する。例えば、変換部５３０は、設定シナリオにより指定されている作業部品を部品ＤＢ６１０から読み出し、設定シナリオで定義された順序に、読み出された作業部品を配列し、パラメータ等の定義を行って、実行形式のプログラムファイルを生成する。
【００４６】
シナリオ実行部５４０は、シナリオ編集部５０２により作成された設定シナリオに従って、設定シナリオで指定された作業部品を順次実行し、複数の作業からなる設定作業全体を自動実行する。例えば、シナリオ実行部５４０は、変換部５３０により変換された実行形式のプログラムファイルを実行する。
本例のシナリオ実行部５４０は、図４（Ｄ）に例示するように、コマンド送信部５４２、応答検知部５４４、エラー通知部５４６、及び操作管理部５４８を含む。
【００４７】
コマンド送信部５４２は、コマンドＤＢ６２０に登録されている複数のコマンドを、シナリオ編集部５０２により作成された設定シナリオに対応する順序及びタイミングで、対象機器である通信機器９に対して順に送信する。例えば、コマンド送信部５４２は、設定シナリオで定義された作業部品の順序で、応答検知部５４４により直前の作業部品（コマンド）に対する応答が検知された後のタイミング、又は、操作管理部５４８により直前の作業部品で指示されたユーザの手動操作が検知された後のタイミングで、次の作業部品に含まれるコマンドを送信する。
【００４８】
応答検知部５４４は、コマンド送信部５４２により送信されたコマンドに対する、対象機器である通信機器９からの応答を検知する。例えば、応答検知部５４４は、コマンド送信部５４２によりコマンドが送信されたタイミングから既定の時間内に、表示される文字列に基づいて、送信されたコマンドに対する応答を検知する。より具体的には、応答検知部５４４は、コマンド送信部５４２がターミナルソフトウェアを介してコマンドを送信した場合に、ターミナルソフトウェアの操作画面におけるコマンドの位置を保持し、保持されたコマンドの位置の後ろに出現する文字列に基づいて、応答を検知する。また、応答検知部５４４は、コマンド送信部５４２がソフトウェアの起動を指示するコマンドを送信した場合に、ソフトウェアの起動に伴って開かれるウインドウのウインドウタイトルの文字列に基づいて、コマンドの応答を検知する。
【００４９】
エラー通知部５４６は、コマンド送信部５４２によりコマンドが送信されたタイミングから既定の時間内に、既定の文字列が発見できなかった場合に、エラーを他の構成に通知する。例えば、エラー通知部５４６は、既定の時間内に既定の文字列が発見できなかった場合に、通知部５７０に、設定作業のエラーを通知させる。
【００５０】
操作管理部５４８は、実行中の作業部品がユーザに物理的操作（手動操作）を促す操作指示情報を表示させるものである場合に、この作業部品の実行として、手動操作通知部５７４（後述）に対して、ユーザに手動操作を促す操作指示情報を表示させる。操作指示情報は、例えば、クリック操作、キー入力、ケーブルの着脱、又はボタンの押下などを促すメッセージ（画像や文字列）であり、ユーザにとってマニュアルとなりうるものである。
操作管理部５４８は、操作指示情報で促した手動操作が既定の時間内に実行されたか否かを検知し、既定の時間内に手動操作が検知された場合に、次の作業部品の実行を許可する。
【００５１】
進捗管理部５５０は、設定シナリオで定義された設定作業の進捗状況を管理する。より具体的には、進捗管理部５５０は、設定シナリオにより指定された作業部品の所要時間（目安）を合算して、設定作業全体の所要時間を予測する。さらに、進捗管理部５５０は、シナリオ実行部５４０により実行された作業部品に相当する所要時間を、設定作業全体の所要時間から差し引いて、設定作業の完了予想時刻を算出する。あるいは、現在時刻に未実行の作業部品の所要時間を足して、設定作業の完了予想時刻を算出してもよい。
また、進捗管理部５５０は、設定シナリオで指定された作業部品の中に、ユーザの手動操作を要求する作業部品が含まれている場合に、現在の進捗状況（実行済みの作業部品、又は、未実行の作業部品）と、設定シナリオにおける、手動操作を要求する作業部品の順序とに基づいて、ユーザによる手動操作が必要となるタイミング（予想時刻）を予測する。なお、進捗管理部５５０は、本発明に係るタイミング予測部の一例である。
【００５２】
入力ロック部５６０は、進捗管理部５５０で管理される設定作業の進捗に応じて、ユーザによる入力操作の受付を禁止する。例えば、入力ロック部５６０は、コマンド送信部５４２がコマンドを送信する場合（すなわち、コマンドを送信する作業部品の実行時）に、少なくともコマンドが送信されるタイミングから、このコマンドの応答が検知されるタイミングまでの間、入力操作の受付を禁止する。これにより、設定作業の自動実行中に、ユーザの誤操作が設定作業に影響しないようにできる。なお、入力操作の受付禁止は、例えば、キーボードやマウスなどの入力デバイスを無効化してもよいし、入力デバイスが有効であってもターミナルソフトウェアなどのツール上で入力値を無視するようにしてもよい。
また、入力ロック部５６０は、ユーザの手動操作を要求する作業部品が実行されている場合に、入力操作の受付禁止を解除して、ユーザによる入力を可能にする。
本例の入力ロック部５６０は、実行中の作業部品に応じて、ユーザによる入力操作の受付を禁止し、又は、許可する。
【００５３】
通知部５７０は、設定シナリオの進捗状況に応じて、ユーザに通知を行う。本例の通知部５７０は、図５（Ａ）に例示するように、リモート通知部５７２、手動操作通知部５７４、予想時刻通知部５７６、及び案内画像表示部５７８を含む。
リモート通知部５７２は、コマンド送信部５４２によるコマンドの送信処理、又は、応答検知部５４４により検知された応答に応じて、設定作業の進捗状況を示す進捗データを、機器設定装置２の他の端末に送信する。より具体的には、リモート通知部５７２は、進捗管理部５５０により管理されている設定シナリオの進捗状況を、ユーザの携帯電話又はタブレット端末などにメール通知する。これにより、ユーザは、設定作業の自動実行中に、機器設定装置２から離れていても、設定作業の進捗を確認することができる。
【００５４】
手動操作通知部５７４は、進捗管理部５５０により管理されている設定作業の進捗状況に応じて、ユーザによる手動操作が必要なタイミングを通知する。例えば、手動操作通知部５７４は、操作管理部５４８からの指示に応じて、手動操作が必要なタイミングで、手動操作の内容を示す操作指示情報を表示装置２０８（図２）に表示させる。また、手動操作通知部５７４は、手動操作を要求する作業部品の前の作業部品を実行しているタイミングで、間もなく手動操作が必要になる旨の予告通知を行ってもよい。
【００５５】
予想時刻通知部５７６は、進捗管理部５５０により予測された手動操作のタイミング（予想時刻）をユーザに通知する。例えば、予想時刻通知部５７６は、進捗管理部５５０により予測された手動操作の予想時刻を、設定シナリオの自動実行の前又は自動実行中に、表示装置２０８（図２）に表示させる。これにより、ユーザは、手動作業が必要になるタイミングまで、設定作業の現場から安心して離れることができる。
【００５６】
案内画像表示部５７８は、入力ロック部５６０により入力操作の受付が禁止されている期間（すなわち、コマンドが順次自動的に送信されている期間）に、並行して実施できる作業（例えば、報告書の作成、設定作業に影響のないケーブルやカバーの着脱など）、又は、後に実施すべき作業を明示又は示唆する画像を表示装置２０８に表示させる。また、案内画像表示部５７８は、入力ロック部５６０により入力操作の受付が禁止されている期間に、広告画像（静止画又は動画）、又は、実行中の作業の内容を示す画像を表示させてもよい。
【００５７】
設定管理部５８０は、機器設定装置２と対象機器とを互いに接続させる場合に、環境情報を収集して、環境に応じた設定変更を行い、対象機器の設定作業が完了した後に、対象機器と機器設定装置２との接続を解除した場合に、機器設定装置２を元の設定に戻す。本例の設定管理部５８０は、環境情報収集部５８２、設定変更部５８４、設定情報選択部５８６、及びスリープ設定部５８８を含み、環境情報を収集する作業部品と、収集された環境情報に応じて設定変更する作業部品と、設定作業完了後にデフォルトの設定に戻す作業部品とを実行することにより、これらの構成の機能を実現する。
【００５８】
環境情報収集部５８２は、対象機器の環境情報を収集する。例えば、環境情報収集部５８２は、対象機器である通信機器９とケーブルで接続された場合に、対象機器のネットワーク環境に関する情報、対象機器のハードウェア環境に関する情報、及び、対象機器のソフトウェア環境に関する情報を収集する。本例の環境情報収集部５８２は、環境情報を収集する作業部品の実行として、対象機器である通信機器９の環境情報を自動収集する。
【００５９】
設定変更部５８４は、設定情報選択部５８６により選択された設定情報を用いて、機器設定装置２の設定を変更する。本例の設定変更部５８４は、シナリオ実行部５４０と協働して、対象機器の環境情報に応じた設定変更を行う作業部品と、設定を元に戻す作業部品とを実行することによって、設定作業又は保守作業の前段に、対象機器の環境情報に応じた設定変更を行い、設定作業又は保守作業の後段に、設定を元に戻す設定変更を行う。「設定を元に戻す設定変更」には、設定情報をデフォルト値に戻すことと、設定作業又は保守作業に用いるためにインストールされたアプリケーションソフトウェアをアンインストールすることとが含まれる。
【００６０】
設定情報選択部５８６は、設定格納部６３０に格納された複数の設定情報の中から、適用すべき設定情報を選択する。例えば、設定情報選択部５８６は、機器設定装置２が対象機器である通信機器９と同じネットワークに接続されている場合に、環境情報収集部５８２により収集された環境情報に対応する設定情報を設定格納部６３０から読み出し、設定変更部５８４に適用させる。また、設定情報選択部５８６は、設定作業が完了した後、機器設定装置２が対象機器と同じネットワークから外れた場合に、デフォルトの設定情報（例えば、設定シナリオを実行開始する直前の設定情報）を設定格納部６３０から読み出し、設定変更部５８４に適用させる。
【００６１】
スリープ設定部５８８は、機器設定装置２が対象機器と同じネットワークに接続している場合に、デフォルト設定よりもスリープ（省電力モード）に入るまでの時間を長く設定変更する。例えば、スリープ設定部５８８は、機器設定装置２が対象機器と接続されている場合に、スリープに入るまでの時間を無限大に設定変更して、スリープ状態への移行を禁止する。本例のスリープ設定部５８８は、シナリオ実行部５４０により設定シナリオが実行されている間、スリープ状態への移行を禁止し、設定シナリオの実行が完了した後で、スリープに関する設定をデフォルト値に戻す。
【００６２】
シナリオＤＢ６００は、図６（Ａ）に例示するように、設定シナリオを、メーカー名、機種名及び備考に関連付けて格納する。これにより、ユーザは、対象機器のメーカー名及び機種名によって、テンプレートとなる設定シナリオを絞り込むことができる。
【００６３】
部品ＤＢ６１０は、図６（Ｂ）に例示するように、作業部品を、作業部品に対する編集の可否を示す編集権限、作業部品により実施される作業の内容を示す作業内容、入力操作の受付の許可／禁止を示す入力ロック情報、及び、作業部品の実行に要する所要時間に関連付けて格納する。作業部品に編集権限が設定されているのは、作業部品によってカスタマイズが必要なものと、カスタマイズが不要なものがあり、さらには、カスタマイズによる弊害が大きなものも存在しうるからである。例えば、設定作業の本体を実行する前に、自機の設定を退避させて、環境情報に応じた設定変更を行う作業部品は、設定作業における環境や手順の統一性の観点から、編集を禁止して一律とした方が好ましい。
【００６４】
コマンドＤＢ６２０は、図７に例示するように、コマンドを、メーカー名、機種名、ファームウェア、概要の目的、詳細な目的、及び補足説明からなるコマンド情報に関連付けて格納する。例えば、コマンド登録部５１４は、事前に通信機器９より採取したログ情報に基づいて、コマンド一覧が含まれたＣＳＶファイルを生成し、生成されたＣＳＶファイルに基づいて、コマンド及びコマンド情報をコマンドＤＢ６２０に一括登録する。これにより、ユーザは、メーカー名や目的などに基づいて、コマンドを絞り込むことができる。また、補足説明には、参考情報として、コマンドの使用に関する留意事項などが含まれている。コマンドは、メーカー毎、機種毎に存在するため、膨大な数となるため、コマンド情報が不足するコマンドも存在しうる。そこで、コマンド情報編集部５１２は、コマンド情報の編集画面で、コマンドが登録された後で、コマンド情報の追記を可能にする。その際に、コマンド情報編集部５１２は、コマンドの目的（概要及び詳細）の候補を、プルダウンメニューで複数表示し、複数の候補からユーザに選択させる。このように、複数の候補から目的を選択させることによって、目的の表現を統一化して、検索しやすくしている。
このように、コマンド及びコマンド情報がコマンドＤＢ６２０に追加登録されていくに従って、コマンドＤＢ６２０がより使いやすいコマンド辞書に成長していく。
コマンド検索部５１６は、ユーザがやりたいこと（目的）を入力すると、対応するコマンドをコマンドＤＢ６２０から抽出する。ユーザが、抽出されたコマンドの中から所望のコマンドを選択し、選択されたコマンドに必要なパラメータを入力すると、コマンド管理部５１０は、図８に例示するように、コマンドライン（図中のテキストファイル「Ｓｅｔテキスト」）を自動生成する。
【００６５】
設定格納部６３０は、図６（Ｃ）に例示するように、複数の設定情報を、ハードウェアを特定するための識別情報と、環境情報と、設定情報の作成日時とに関連付けて格納する。環境情報には、対象機器と接続されていない状態である「個人」と、対象機器と接続された場合のその環境である「客先環境Ａ」等とが存在する。これにより、対象機器と接続された状態と、対象機器との接続を解除した状態とで設定が変更される。さらに、対象機器と接続された状態であっても、対象機器の環境によって設定が異なることになる。また、ハードウェアの識別情報は、同じハードウェアに対して、退避した設定情報を戻すために使用される。設定情報の作成日時は、同一のハードウェアに関して、「個人」環境の設定情報が複数存在する場合に、例えば、直近の設定情報を適用するために使用される。
【００６６】
図９は、機器設定処理（Ｓ１０）のフローチャートである。なお、本例では、シナリオＤＢ６００に登録された設定シナリオをテンプレートとして、設定シナリオを作成する形態を説明するが、これに限定されるものではなく、例えば、設定シナリオをテンプレートなしに新規作成してもよい。
【００６７】
図９に示すように、ステップ１００（Ｓ１００）において、シナリオ検索部５０６は、ユーザが入力したメーカー名及び機種名に基づいて、シナリオＤＢ６００に登録されている設定シナリオの中から、メーカー名及び機種名が一致する設定シナリオを絞り込む。例えば、メーカー毎の定型パターンをベースに作成する「テンプレート検索」と、既存シナリオをベースに参照作成する「既存シナリオ検索」の２通りから選択するようにしてもよい。「テンプレート検索」は、「メーカー名」を選択することで、シナリオＤＢ６００より、選択された設定シナリオのテンプレートを表示することができるようにしてもよい。「既存シナリオ検索」は、既存シナリオの作成時に登録した２つの検索キー（メーカー名／機種名）を選択することで、シナリオＤＢ６００より既存のシナリオを表示することができるようにしてもよい。また「既存シナリオ検索」の検索キー指定は、任意の検索ワードからも検索可能とし、検索ワードを入力することでシナリオＤＢ６００より既存のシナリオを表示するようにしてもよい。
【００６８】
ステップ１１０（Ｓ１１０）において、シナリオ編集部５０２は、ユーザの操作に応じて、絞り込まれた設定シナリオの中から、選択された一つの設定シナリオをテンプレートとしてシナリオＤＢ６００から読み出す。設定シナリオが選択されると、シナリオ編集部５０２が、図１０に例示するように、設定シナリオを編集するためのＧＵＩインタフェースを起動させる。
シナリオ編集部５０２は、読み出された設定シナリオに対して、ユーザの操作に応じた編集を加える。設定シナリオの編集には、作業部品の追加や削除、作業部品に含まれるパラメータの変更、作業部品の順序の変更などが含まれうる。
【００６９】
より具体的には、図１０に例示するように、通信機器９の設定手順に従い、「シナリオ部品ウインドウ」より、必要な作業部品を「エディタウインドウ」の「シナリオ部」にドラッグ＆ドロップすることで容易に設定シナリオを組み合わせることができる。
「シナリオ部」に登録された作業部品は、任意の順番にドラッグ＆ドロップすることで設定シナリオにおける順番を変更することができる。また、不要な作業部品については、「エディタウインドウ」の「ゴミ箱」にドラッグ＆ドロップすることで容易に設定シナリオから削除できる。
「シナリオ部」に登録した作業部品には、「受信マーカー」と「送信マーカー」、「作業名称」が用意されている。「受信マーカー」と「送信マーカー」は、作業手順で相互に必要なパラメータ数値がある場合、ここでフラグ設定することで各作業部品間でのパラメータ数値の引渡が可能になる。また、送受信関係は、１対１もしくは１対ｎの対応が可能である。
「作業名称」は、作業部品による作業内容を入力することができる。実際に入力した作業名称は、機器設定装置２上で実行形式型の設定シナリオを起動した後に表示される「自動実行ウインドウ」の「作業工程部」に表示されるボタン名として表示される。
作業部品毎に、通信機器９に投入するコマンドを指定することができる。「作業部品パラメータ設定部」の「コマンド欄」から、作成したテキストファイル「Ｓｅｔテキスト」を選択することで作業部品毎に関連付けを行う。
また作業部品毎に作業の予測時間を設定することができる。予測時間は、各部品を選択した時、「作業部品パラメータ設定部」の「作業予測時間」において、目安となる所要時間（予測時間）を入力することで設定できる。予測時間は、予めシステム内に組込まれており、ユーザが編集することも可能である。予測時間は、機器設定装置２上で実行形式型の設定シナリオを起動した後に、「自動実行ウインドウ」の「作業予測時間表示部」、及び「作業進捗メーター部」に表示される。
なお、設定シナリオのテンプレートを選択した場合は、予め必要な作業部品がセットされている状態で、「エディタウインドウ」の「シナリオ部」に表示される。
【００７０】
なお、設定シナリオの前後の固定作業(ＰＣの状態確認、変更、復元)に対する作業部品は標準実装とし、上位権限者のみが編集可能な項目としている。そのため一般のユーザ（例えば、シナリオ作成者）は変更することができない。
他の作業部品も標準実装しているが、シナリオ作成者で編集可能項目になっている。
作成した設定シナリオは、新規に名前を付けての保存や別名保存することでシナリオＤＢ６００に登録される。
【００７１】
ステップ１２０（Ｓ１２０）において、ユーザは、設定作業に必要な作業部品が不足している場合に、Ｓ１３０の処理に移行し、作業部品が不足していない場合に、Ｓ１４０の処理に移行する。
【００７２】
ステップ１３０（Ｓ１３０）において、作業部品管理部５２０は、ユーザの操作に応じて、作業部品の新規作成を行う。作業部品の新規作成は、既存の作業部品をカスタマイズするものでもよいし、コマンドの指定も含めて新規に作成されてもよい。
ここで、図１１に例示するように、部品ＤＢ６１０の目的は、プログラム言語の動作の仕組みを知らなくても準備されたコマンドラインの組合せで容易に対象機器を自動設定するための仕組を作成できる点にある。１つの作業部品は、「作業手順６２」と、相互の作業部品と連携するための「受信マーカー６１」及び「送信マーカー６３」とで構成されている。作業手順をプログラム化する工程において、開発工程の標準化と効率化を行うために、「コマンドライン６４」を関数としてモジュール化しており、「作業手順６２」内においては、各手順が本来数百行必要でも１行のコマンド構成で組める様にしている。
「作業手順６２」内で取得したパラメータを「送信マーカー６３」に引き渡すことで、他の作業部品の「受信マーカー６１」で受け取ることができる。この引渡の設定については、シナリオ編集部５０２によりＧＵＩを介して設定することができる。これにより、個々の作業部品を修正することなく取得したパラメータ数値の引渡が可能である。
【００７３】
ステップ１４０（Ｓ１４０）において、変換部５３０は、シナリオ管理部５００により作成された設定シナリオに従って、複数の作業部品を配列し、実行形式型の設定シナリオを作成する。
【００７４】
ステップ１５０（Ｓ１５０）において、シナリオ実行部５４０は、変換部５３０により作成された実行形式型の設定シナリオを実行する。なお、ユーザは、作業前に、機器設定装置２と対象機器である通信機器９を必要なケーブル(シリアルケーブル８２、ＬＡＮケーブル８０)を用いて接続する必要がある。
シナリオ実行部５４０が実行形式型の設定シナリオを実行すると、図１２に例示する「自動実行ウインドウ」が立ち上がる。
「自動実行ウインドウ」は、「基本情報表示部」、「作業予測時間表示部」、「作業進捗メーター部」、「設定情報表示部」、及び「作業工程表示部」で構成される。「作業予測時間表示部」には、各作業部品に設定されている作業終了までの予測時間の合計時間が表示される。ただし、設定作業を一時中断し途中から再開した場合は、全体の予測時間から完了分を引いた時間が表示される。「作業進捗メーター部」では、進捗管理部５５０により管理されている進捗状況に応じて、完了した作業に応じて埋まっていき、すべて完了で１００％表示になる。
【００７５】
図１３は、シナリオ実行部５４０により実行される実行形式型の設定シナリオを模式的に説明する図である。
図１３に例示するように、ユーザが機器設定装置２で、図１２の「自動実行ウインドウ」の「作業工程表示部」の一番上の「自動シナリオボタン」を押すと、設定したシナリオ実行フローに従いシナリオが実行される。
シナリオ実行フロー内には、機器設定装置２の環境を変更するための作業部品として、「環境変更(退避)」及び「環境変更(復元)」が含まれている。
作業部品「環境変更（退避）」は、ＵＷＳＣ（Ｗｉｎｄｏｗｓ自動化ツール）の機能を使い、自動的に機器設定装置２の各設定（ＩＰアドレス/サブネットマスク/デフォルトゲートウェイ/プライマリＤＮＳ/セカンダリＤＮＳ/スクリーンセーバー種類/電源オプション/スリープ）画面を開き、設定管理部５８０と協働して、該当する設定情報を確認して、機器設定装置２のＰＣ名及び製造号機と関連付けて設定格納部６３０にデフォルト値として格納する。格納後、設定変更する作業部品が、設定管理部５８０と協働して、設定格納部６３０より自動実行に必要な環境情報を読込み、機器設定装置２上の設定を自動的に変更する。また設定作業に必要なターミナルソフトウェアやファイル転送ソフトウェアがインストールされていない場合は、ＵＷＳＣの機能を使い自動的にインストールを実施する。
【００７６】
なお、例えば、保守作業において保守作業員からサポート要員への経過報告は必須手順であるが、報告タイミングが多いと保守作業員の負荷が増加して本来の作業に集中できなくなることに起因する作業ミスを誘発したり、作業に没頭することによる経過報告忘れが発生したりする可能性がある。これらのミスを防止するため、設定シナリオの実行中は、通知部５７０が、進捗管理部５５０により管理されている進捗状況を自動的に通知する。通知のタイミングは、設定シナリオの作成時に任意の場所（作業開始時／各工程終了時／作業終了時／エラー発生時／指定時間指定）に組込むことができるため、指定したタイミングでの通知や保守作業員のオペレーションが必要なタイミングを事前に通知することができ、保守作業員の負担を軽減できる。
なお、通知については、機器設定装置２の表示装置２０８の画面にメッセージとしてポップアップ表示することや、サポート要員や保守作業員など指定先へメールで通知することができる。通知のタイミングについては、図１０の「作業部品パラメータ設定部」で設定シナリオの作成時にシナリオの任意の場所に設定できる。
【００７７】
作業部品「環境変更（復元）」は、通信機器９のすべての設定が完了した後、作業部品「環境変更（退避）」で設定格納部６３０へ格納したデフォルト値を、ＵＷＳＣ（Ｗｉｎｄｏｗｓ自動化ツール）の機能を使い、設定格納部６３０より読み出し、読み出されたデフォルト値（設定情報）に基づいて機器設定装置２を元の設定状態に復元する。復元時には、機器設定装置のＰＣ名及び製造号機を再取得して退避したデフォルト値の当該項目と照合して参照するため、誤って違う設定情報を適用することはない。また、作業部品「環境変更（復元）」は、インストールしたターミナルソフトウェアについてもＵＷＳＣの機能を使い自動的にアンインストールする。
【００７８】
通信機器９の自動設定開始から終了までの間、機器設定装置２の入力操作を制限するため、入力装置２１０のオペレーション(キーボード入力、マウスボタン操作など)をロックする機能が装備されている。
また設定シナリオの実行中に保守作業員にオペレーションを促す際は、入力ロック部５６０が、ロック機能を解除し、オペレーション終了後に作業完了を示すウインドウへ完了の信号（ＯＫボタンの押下など）を送ることで、再度自動的にロック機能を再開させる。ロックの解除タイミングは、図１０の「作業部品パラメータ設定部」でシナリオ作成時に任意のシナリオの場所に設定できる。
設定シナリオの自動実行中は、終了した作業工程のボタンを無効化およびグレーアウトすることで、保守作業員が作業進捗を目視確認できる機能を装備している。
操作管理部５４８は、シナリオ自動実行中の入力操作を、すべてタイムスタンプと一緒に記録する機能を有しており、自動設定終了後に作業ログ（テキストファイル）として機器設定装置２上に保管している。
【００７９】
設定シナリオの自動実行中に発生する待ち時間を有効に活用するため、機器設定装置２の画面に文字や画像、動画で保守作業員またはお客様に向けてサイネージ表示する機能を装備している。例えば、案内画像表示部５７８は、「お客様が画面を見た際に一目で状況がわかるよう現状の進捗状況と完了予測時間」を文字で表示してもよいし、「保守作業員がお客様へ進捗報告する内容」を文字で表示してもよいし、「予め作成された自社製品の広告」を動画で表示してもよい。また、案内画像表示部５７８は、「保守完了報告書の書き方サンプル」を画像で表示してもよい。このように、案内画像表示部５７８は、設定シナリオの自動実行中に、様々な内容を設定シナリオの進捗状況に合わせたタイミングで表示することができる。サイネージ表示の指定タイミングについては、図１０の「作業部品パラメータ設定部」でシナリオ作成時に任意のシナリオの場所に設定できる。
【００８０】
図１４は、コマンド送信とその応答検知処理（Ｓ２０）を説明するフローチャートである。
図１４に示すように、ステップ２００（Ｓ２００）において、シナリオ実行部５４０は、実行形式型の設定シナリオからパラメータを１行読み込む。より具体的には、シナリオ実行部５４０は、設定シナリオに紐付けられたＳｅｔテキストファイルのテキストデータを１行読み込む。Ｓｅｔテキストファイルには、要素１として「区分」、要素２として「コマンド」、要素３として「待機文字」、要素４として「待機時間」が１行に含まれている。
【００８１】
ステップ２０５（Ｓ２０５）において、シナリオ実行部５４０は、読み出されたパラメータを入力関数に引き渡す。
ステップ２１０（Ｓ２１０）において、コマンド送信部５４２は、入力関数に従って、コマンドを通信機器９に送信する。より具体的には、コマンド送信部５４２は、Ｔｅｒａ  Ｔｅｒｍなどのターミナルソフトウェアを介して、引き渡された「コマンド」（要素２）を実行する。
【００８２】
ステップ２１５（Ｓ２１５）において、応答検知部５４４は、コマンド送信部５４２によりコマンドが送信されたタイミングから、時間の計測を開始し、コマンド送信後にターミナルソフトウェアの画面が変化するまで待機する。
ステップ２２０（Ｓ２２０）において、応答検知部５４４は、ターミナルソフトウェアの画面が変化すると、既定の文字列を検索する。より具体的には、応答検知部５４４は、ターミナルソフトウェアの画面におけるコマンドの位置を保持しており、保持された位置の後方で、「待機文字」（要素３）を検索する。
【００８３】
ステップ２２５（Ｓ２２５）において、シナリオ実行部５４０は、既定の文字列が発見された場合に、Ｓ２４０の処理に移行し、既定の文字列が発見されなかった場合に、Ｓ２３０の処理に移行する。
【００８４】
ステップ２３０（Ｓ２３０）において、シナリオ実行部５４０は、コマンド送信から既定の時間（要素４の「待機時間」）が経過したか否かを判定し、既定の時間が経過した場合に、Ｓ２３５の処理に移行し、既定の時間が経過していない場合に、Ｓ２２０の処理に戻る。
ステップ２３５（Ｓ２３５）において、エラー通知部５４６は、設定シナリオの自動実行中にエラーが発生した旨を通知部５７０に出力し、ユーザに通知させる。
【００８５】
ステップ２４０（Ｓ２４０）において、シナリオ実行部５４０は、読み込まれたパラメータが最終行であるか否かを判定し、最終行である場合には、処理を終了し、最終行ではない場合に、Ｓ２００の処理に戻って、次のパラメータについて処理を行う。
【００８６】
このように、応答検知部５４４は、ターミナルソフトウェアの画面に表示される文字列に基づいて、コマンド実行の応答を検知し、コマンド送信部５４２は、応答検知部５４４により前のコマンドの応答が検知されたことを条件として、自動的に次のコマンドを実行する。
【００８７】
図１５は、アプリケーション起動の応答検知処理（Ｓ３０）を説明するフローチャートである。
図１５に示すように、ステップ３００（Ｓ３００）において、シナリオ実行部５４０は、実行形式型の設定シナリオからパラメータ（アプリケーションの起動を指示するもの）を１行読み込む。パラメータには、起動するアプリケーションを指定する情報と、アプリケーションのウインドウタイトルに表示される文字列と、待機時間が含まれている。
【００８８】
ステップ３０５（Ｓ３０５）において、コマンド送信部５４２は、パラメータに従って、アプリケーションを起動させるコマンドを出力する。より具体的には、コマンド送信部５４２は、ＵＷＳＣを介して、アプリケーションを起動させる「コマンド」を実行して、機器設定装置２上でアプリケーションを起動させる。アプリケーションは、例えば、通信機器９の設定作業又は保守作業に用いるソフトウェアである。
【００８９】
ステップ３１０（Ｓ３１０）において、応答検知部５４４は、コマンド送信部５４２によりコマンドが送信されたタイミングから、時間の計測を開始し、コマンド送信後に画面が変化するまで待機する。
ステップ３１５（Ｓ３１５）において、応答検知部５４４は、画面が変化すると、アクティブウインドウのウインドウタイトルで既定の文字列を検索する。
【００９０】
ステップ３２０（Ｓ３２０）において、シナリオ実行部５４０は、既定の文字列がウインドウタイトルで発見された場合に、Ｓ３３５の処理に移行し、既定の文字列がウインドウタイトルで発見されなかった場合に、Ｓ３２５の処理に移行する。
【００９１】
ステップ３２５（Ｓ３２５）において、シナリオ実行部５４０は、コマンド送信から既定の時間（「待機時間」）が経過したか否かを判定し、既定の時間が経過した場合に、Ｓ３３０の処理に移行し、既定の時間が経過していない場合に、Ｓ３１０の処理に戻る。
ステップ３３０（Ｓ３３０）において、エラー通知部５４６は、設定シナリオの自動実行中にエラーが発生した旨を通知部５７０に出力し、ユーザに通知させる。
【００９２】
ステップ３３５（Ｓ３３５）において、シナリオ実行部５４０は、アクティブウインドウのウインドウＩＤを取得し、取得されたウインドウＩＤを出力値とする。取得されたウインドウＩＤは、起動したアプリケーションの自動操作に用いられる。
【００９３】
このように、応答検知部５４４は、アクティブウインドウのウインドウタイトルに既定の文字列が表示されたことに基づいて、起動指示したアプリケーションが正常起動したことを検知する。
【００９４】
以上説明したように、本実施形態の機器設定装置２によれば、対象機器の設定作業や保守作業において、自動化設定ツールを使用することで、作業時間の短縮、設定漏れの削減、入力ミスの削減、確実な進捗報告が行える。これにより、作業品質の向上が期待できる。特に、作業時間に制約があり手作業では作業時間が超過してしまう場合や作業内容が複雑で手作業ではミスが起きやすい作業に対し、高い効果が期待できる。
【００９５】
［変形例１］
次に、上記実施形態の変形例を説明する。
図１６は、変形例１における機器設定装置２の機能構成を例示する図である。なお、本図に示された各構成のうち、図３、図４又は図５に示された構成と実質的に同一のものには同一の符号が付されている。
図１６に例示するように、変形例１の機器設定装置２では、ホスト側に、ホスト側設定プログラム５０がインストールされ、仮想マシン側に、仮想マシン側設定プログラム５２がインストールされる。すなわち、変形例１の機器設定装置２は、少なくともシナリオ実行部５４０を含む一部の機能を、仮想マシン上で実現する。
【００９６】
本変形例では、ホスト側設定プログラム５０は、シナリオ管理部５００、コマンド管理部５１０、作業部品管理部５２０、仮想マシン起動部５９０、及びスリープ設定部５８８を有する。
仮想マシン起動部５９０は、少なくとも一つの仮想マシンを構築する。仮想マシン起動部５９０は、本発明に係る仮想マシン構築部の一例である。例えば、仮想マシン起動部５９０は、機器設定装置２のリソース上に仮想マシンを構築してもよいし、クラウドなどの外部リソース上に仮想マシンを構築してもよい。本例の仮想マシン起動部５９０は、並行して設定作業する対象機器の台数分だけ、機器設定装置２のリソース上に仮想マシンを起動させる。これに応じて、機器設定装置２において、ネットワークＩＦ２０６が増設されることが好ましい。
スリープ設定部５８８は、いずれかの仮想マシンにおいて設定シナリオが実行されている場合に、いずれの仮想マシンにおいても設定シナリオが実行されていない場合よりも、機器設定装置２がスリープ状態に移行する時間を長く設定する。本例のスリープ設定部５８８は、いずれかの仮想マシンにおいて設定シナリオが実行されている場合に、スリープ状態に移行する時間を無限大にして、スリープ状態への移行を禁止する。
【００９７】
本例の仮想マシン側設定プログラム５２は、変換部５３０、シナリオ実行部５４０、進捗管理部５５０、入力ロック部５６０、通知部５７０、及び設定管理部５８０を有する。
入力ロック部５６０は、シナリオ実行部５４０が仮想マシン上で設定シナリオを実行している場合に、設定シナリオの進捗状況に応じて、この仮想マシンにおける入力操作の受付のみを禁止する。
通知部５７０は、仮想マシン上で実行されている設定シナリオの進捗状況に応じて、ホスト側に通知を行う。より具体的には、変形例１の手動操作通知部５７４は、仮想マシン上で実行されている設定シナリオの進捗状況に応じて、手動操作が必要なタイミングをホスト側に通知する。手動操作が必要なタイミングでは、入力ロック部５６０は、この仮想マシンにおける入力ロックを一時的に解除する。
【００９８】
変形例１では、ホスト側と仮想マシン側とで共有される共有記録領域６０が設けられている。
シナリオＤＢ６００、部品ＤＢ６１０、コマンドＤＢ６２０、及び設定格納部６３０は、共有記録領域６０内に構成され、ホスト側設定プログラム５０及び仮想マシン側設定プログラム５２の各構成によってアクセス可能である。
【００９９】
変形例１では、上記構成によって、ホスト側で設定シナリオを作成し、作成された設定シナリオは、仮想マシン側で実行形式型の設定シナリオに変換され、シナリオ実行部５４０により自動実行される。なお、本変形例では、対象機器毎に仮想マシンが構築され、仮想マシンそれぞれが対象機器の環境に応じて設定されるため、ホスト側の設定情報を退避させたり復元したりする必要が無い。
【０１００】
変形例１の機器設定装置２によれば、設定シナリオの自動実行中であっても、ホスト側で並行して別の作業を行うことができる。また、ホスト側と仮想マシン側で分離されるため、セキュリティ上好適である。すなわち、機器設定装置２の仮想マシン側だけが、対象機器と同じネットワークにアクセスしてコマンドの送信等を行い、ホスト側は、対象機器と通信する必要がない。さらに、設定作業の対象機器が複数台存在する場合でも、複数の仮想マシンを構築することによって、複数の対象機器に対して並行して設定作業を実施することができる。そもそも、設定作業をリモートで指示する設定方法では、機器設定装置２のコンピュータリソースをそれほど必要とせず、待ち時間が多く発生するため、設定作業の並列化は好適である。
【符号の説明】
【０１０１】
１…機器設定システム
２…機器設定装置
５…機器設定プログラム
５００…シナリオ管理部
５１０…コマンド管理部
５２０…作業部品管理部
５３０…変換部
５４０…シナリオ実行部
５５０…進捗管理部
５６０…入力ロック部
５７０…通知部
５８０…設定管理部
６００…シナリオデータベース
６１０…部品データベース
６２０…コマンドデータベース
６３０…設定格納部
５０…ホスト側設定プログラム
５２…仮想マシン側設定プログラム
６０…共有記録領域
【図１】
0006705979.tif 000002
【図２】
0006705979.tif 000003
【図３】
0006705979.tif 000004
【図４】
0006705979.tif 000005
【図５】
0006705979.tif 000006
【図６】
0006705979.tif 000007
【図７】
0006705979.tif 000008
【図８】
0006705979.tif 000009
【図９】
0006705979.tif 000010
【図１０】
0006705979.tif 000011
【図１１】
0006705979.tif 000012
【図１２】
0006705979.tif 000013
【図１３】
0006705979.tif 000014
【図１４】
0006705979.tif 000015
【図１５】
0006705979.tif 000016
【図１６】
0006705979.tif 000017