説明

コマンド処理装置、およびプログラム

【課題】電子機器の動作設定を行う際に複数の設定項目間で相互に矛盾する設定が為されることを回避することを可能にする。
【解決手段】予め記憶した設定内容データ141にしたがってデータ中継処理を実行する通信処理部110を有する電子機器(中継装置10)に、入力装置50を介して入力されたコマンドにしたがって設定内容データ141を編集して記憶部140に書き込む処理を実行するコマンド処理部150を設ける。そして、コマンド処理部150は、入力装置50を介して入力されたコマンドが1または複数の引数を要するものであり、かつ、引数が不足している場合には、当該コマンドの引数の候補を設定内容データ141を参照して特定し、当該候補のうちから不足する引数を当該コマンドの入力者に選択させる画面を表示装置40に表示させ、選択された引数を補って当該コマンドの示す編集を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ルータ等の電子機器の動作設定を行うための技術に関し、特に、コマンド入力により動作設定を行う技術に関する。
【背景技術】
【0002】
電子機器のなかには、その電子機器本来の機能を発揮させるために、各種パラメータ(例えば、ルータであれば通信アドレスなど)を記憶させるなどの動作設定を予め行っておくことが必要なものがある。この種の動作設定をユーザに行わせるためのユーザインタフェースとしては、キーボードなどの文字入力デバイスを用いたCUI(Character User Interface)と、マウスなどのポインティングデバイスを用いたGUI(Graphical User Interface)とがある。CUIでは、設定項目の種類やその設定内容を示すコマンドを文字でキー入力させ、そのコマンドの解釈および実行を電子機器に行わせること(すなわち、そのコマンドにしたがってパラメータの編集および記憶を行わせること)で、その電子機器の動作設定が実現される。一方、GUIでは、各設定項目に対応したアイコンやラジオボタン、プルダウンリスト等のクリックにより、そのアイコン等に対応するパラメータの編集等が指示される。例えば、パーソナルコンピュータなどでは、初心者にも直感的に判り易いGUIが採用されることが一般的であり、ネットワークの運用管理者などある程度の知識を有する者が動作設定を行うことが多いルータ等のネットワーク機器では、作業効率を重視してCUIが採用されることが一般的である。また、利用者の好みに応じてCUIとGUIとを切り換えることができる電子機器もある(例えば、非特許文献1参照)。
【非特許文献1】[online]、ヤマハ株式会社、[平成20年5月20日検索]、インターネット<URL:http://netvolante.jp/solution/cost/nw5_pr.html>
【発明の開示】
【発明が解決しようとする課題】
【0003】
このように動作設定を行う者がある程度の専門知識を有しており、かつ、作業効率を重視する場合には、CUIでの動作設定が一般に好まれるのであるが、この態様ではコマンドを一行ずつ入力して動作設定を行う必要があるため、設定項目が多岐に亘る場合、複数の設定項目間で矛盾した設定(すなわち、設定ミス)を行ってしまう虞がある。このような設定ミスが発生すると、電子機器が正常に動作しないことは勿論、互いに矛盾する設定項目を見つけ出すことに手間がかかることが多いといった問題がある。
本発明は、上記課題に鑑みて為されたものであり、電子機器の動作設定を行う際に複数の設定項目間で相互に矛盾する設定が為されることを回避することを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【0004】
上記課題を解決するために本発明は、予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させるコマンド処理手段と、を備え、前記コマンド処理手段は、前記入力手段により入力されたコマンドが1または複数の引数を要するものであり、かつ、引数が不足している場合には、当該コマンドの引数の候補を前記設定内容データから特定し、当該候補のうちから不足する引数を当該コマンドの入力者に選択させ、選択された引数を補って当該コマンドを実行することを特徴とするコマンド処理装置、およびコンピュータ装置を上記各手段として機能させることを特徴とするプログラムを提供する。このようなコマンド処理装置およびプログラムによれば、入力されたコマンドが1または複数の引数を要するものであり、かつ、引数が不足している場合には、既存の設定内容データの表す設定内容から当該コマンドの引数の候補が特定され、当該候補のうちから不足する引数をコマンドの入力者に選択させる処理が実行される。このように既存の設定内容データから特定される候補のうちから不足する引数を選択させるため、既存の設定内容データの表す設定内容と矛盾する動作設定が為されることが回避される。
【0005】
また、上記課題を解決するために本発明は、予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させるコマンド処理手段と、を備え、前記コマンド処理手段は、前記入力手段により入力されたコマンドの表す設定内容が前記設定内容データの示す設定内容と矛盾する場合には、当該コマンドの入力者に誤入力の可能性を示唆する処理を実行することを特徴とするコマンド処理装置、およびコンピュータ装置を上記各手段として機能させることを特徴とするプログラムを提供する。このようなコマンド処理装置およびプログラムによれば、入力されたコマンドの表す設定内容と既存の設定内容データの表す設定内容とが相互に矛盾する場合、入力者に誤入力の可能性を示唆する処理が実行される。コマンドの入力者は当該入力コマンドによる設定内容と既存の設定内容とが矛盾することを把握し、その矛盾が誤入力により生じていた場合には、その矛盾が是正されるようにコマンドを入力し直すことができるため、既存の設定内容データの表す設定内容と矛盾する動作設定が為されることが回避される。
【0006】
また、上記課題を解決するために本発明は、予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させるコマンド処理手段と、を備え、前記コマンド処理手段は、前記設定内容データの表す設定内容を一覧表示することを指示するコマンド、または前記設定内容データの表す設定内容にしたがった動作の開始を指示するコマンドが前記入力手段により入力されたことを契機として、前記設定内容データの表す設定内容に相互に矛盾する設定項目が含まれているか否かを判定し、相互に矛盾する設定項目の各々について、入力者に誤入力の可能性を示唆する処理を実行することを特徴とするコマンド処理装置、およびコンピュータ装置を上記各手段として機能させることを特徴とするプログラムを提供する。このようなコマンド処理装置およびプログラムによれば、設定内容データの表す設定内容の一覧表示の実行、または設定内容データの表す設定内容にしたがった動作の開始を指示されたことを契機として、設定内容データの表す設定内容に相互に矛盾する設定項目が含まれているか否かを判定し、相互に矛盾する設定項目の各々について、入力者に誤入力の可能性を示唆する処理が実行される。これにより、コマンドの入力者は設定内容に相互に矛盾する設定項目が含まれているか否かを把握し、その矛盾が誤入力により生じていた場合には、その矛盾を是正するようにコマンドを入力し直すことができる。
【0007】
また、本発明の別の態様においては、予め記憶した設定内容データにしたがって動作する電子機器に上記各コマンド処理装置を組み込んでも勿論良い。
【発明を実施するための最良の形態】
【0008】
以下、中継装置に本発明を適用した場合を例にとって、本発明の実施の形態を図面を参照しつつ説明する。
(A:構成)
図1は、本発明の一実施形態に係る中継装置10の構成例を示すブロック図である。
中継装置10は、所謂ルータであり、図1に示すように、インターネットなどの第1通信網20とLAN(Local Area Network)などの第2通信網30とに接続され、両通信網間のデータ通信を中継する電子機器である。
【0009】
図1の第1通信インターフェース(以下、I/F)部120と第2通信I/F部130は、例えばNIC(Network Interface Card)であり、各々異なる通信網に接続されている。図1に示す例では、第1通信I/F部120は、第1通信網20に接続されており、第2通信I/F部130は第2通信網30に接続されている。第1通信I/F部120と第2通信I/F部130は、各々の接続先である通信網から受信したデータを通信処理部110へ引渡す一方、通信処理部110から引渡されるデータを各々の接続先の通信網へ送出する。
【0010】
通信処理部110は、CPU(Central Processing Unit)と、例えばRAM(Random
Access Memory)などの揮発性メモリと、FlashROM(Read Only Memory)などの不揮発性メモリを含んでいる(図1では何れも図示省略)。この不揮発性メモリには、データ通信の中継処理をCPUに実行させるための通信プログラムが予め格納されており、上記揮発性メモリは、この通信プログラムを実行する際のワークエリアとして上記CPUによって利用される。記憶部140は、例えばハードディスクやFlashROMなどの不揮発性メモリである。この記憶部140には、上記中継処理における中継装置10の動作を規定する各種パラメータからなる設定内容データ141が格納されている。この設定内容データ141には、例えば、第1通信I/F部120に割り当てられる通信アドレス(IP(Internet Protocol)アドレス)や第2通信I/F部130に割り当てられる通信アドレスを表すデータ、中継装置10におけるパケットフィルタリングのフィルタリング条件を表すデータ、NAT(Network Address Translation)の定義を表すデータなどが含まれる。
【0011】
中継装置10の運用管理者は、設定内容データ141を適宜編集して中継装置10に記憶させることで、中継装置10の動作設定を行うことができる。本実施形態では、かかる動作設定を行わせるためのユーザインタフェースとしてCUIが採用されている。より詳細に説明すると、中継装置10には、例えば液晶ディスプレイ装置などの表示装置40とキーボードなどの入力装置50とが接続され、中継装置10の運用管理者は、表示装置40の表示内容を確認しつつ入力装置50を操作して各種コマンドを表す文字列をキー入力することで上記動作設定を行うことができる。具体的には、中継装置10の運用管理者は、図2に示すように、表示装置40に表示されるコマンドプロンプトに続けて設定項目の種別を示すキーワードとその設定内容を表す引数とを含むコマンドをキー入力し、さらに、その入力を確定させる制御コード(例えば、改行コード:図2では“enter”と表記)を入力することで、そのコマンドの実行を中継装置10に指示することができる。なお、図2に示すipsec ike local addressコマンドは、IKE(Internet
Key Exchange)プロトコルにて自分側のセキュリティゲートウェイの通信アドレスを設定するためのコマンドである。このipsec ike local addressコマンドの第1引数(図2に示す例では、“1”)は上記セキュリティゲートウェイの識別子であり、同第2引数は、第1引数の示すセキュリティゲートウェイに割り当てる通信アドレスである。
【0012】
中継装置10は、このようなCUIでの動作設定を実現するため、図1に示すように、コマンド処理部150と外部機器I/F部160とを有している。以下、CUIでの動作設定を実現するための構成であるコマンド処理部150および外部接続I/F部160を中心に説明する。
【0013】
コマンド処理部150は、通信処理部110と同様に、CPU、揮発性メモリおよび不揮発性メモリ(図1では何れも図示省略)を含んでいる。コマンド処理部150の不揮発性メモリには、本実施形態の特徴を顕著に示すコマンド処理をコマンド処理部150のCPUに実行させるコマンド処理プログラム151と、このコマンド処理プログラム151の実行過程で参照されるコマンドリストテーブル152とが予め格納されている。一方、揮発性メモリは、コマンド処理プログラム151を実行する際のワークエリアとして利用される。このコマンド処理プログラム151にしたがってコマンド処理部150が実行する処理については後に明らかにする。なお、本実施形態では、コマンド処理部150と通信処理部110とを各々別個に構成したが、1組のCPU、揮発性メモリおよび不揮発性メモリにより構成した1つの制御部に通信処理部110の機能とコマンド処理部150の機能とを担わせても勿論良い。具体的には、上記制御部の不揮発性メモリに上記通信プログラムやコマンド処理プログラム151、およびコマンドリストテーブル152を格納しておき、これら2つのプログラムの各々を上記制御部のCPUに実行させるようにすれば良い。
【0014】
図3は、コマンドリストテーブル152の一例を示す図である。図3に示すように、コマンドリストテーブル152には、中継装置10の動作設定を行う際に使用するコマンドに含まれるキーワード(ipsec ike local addressやtunnel selectなど)に対応付けて、書式データと検証対象フラグとが格納されている。各キーワードに対応付けてコマンドリストテーブル152に格納されている書式データは、そのキーワードを含むコマンドの書式を表すデータである。例えば、キーワードipsec ike local addressに対応付けてコマンドリストテーブル152に格納されている書式データ001は、そのキーワードを含むコマンドが1乃至2個の引数を要すること、および、第1引数は1〜10までの数値の何れかであることを表す。コマンドリストテーブル152に格納されている各書式データは、その書式データに対応するキーワードを含むコマンドが入力装置50を介して入力されたときに、そのコマンドの書式が正しいか否かの書式チェック(例えば、引数の個数のチェックや、各引数が予め定められた範囲の値であるかなどのチェック)の際に利用される。このような書式チェックは、CUIで動作設定を行わせる従来の電子機器でも行われていたのであるが、本実施形態に係る中継装置10では、上記書式チェックに加えて、入力されたコマンドの表す設定内容と設定内容データ141の表す設定内容とに矛盾が有るか否かを検証する検証処理を実行する点、すなわち、既存の設定内容を表す設定内容データ141を用いて設定ミスの発生を回避するように構成されている点に特徴がある。
【0015】
各キーワードに対応付けてコマンドリストテーブル152に格納されている検証対象フラグは、そのキーワードを含むコマンドが検証処理の対象となるものであるか否かを示すデータである。本実施形態では、検証対象フラグの値は“0”または“1”の何れかであり、値が“1”である検証対象フラグは、その検証対象フラグを対応付けられたキーワードを含むコマンドが検証対象であることを示し、逆に、値が“0”である検証対象フラグは、その検証対象フラグを対応付けられたキーワードを含むコマンドが検証対象ではないことを示す。以下、検証処理の対象となるコマンドのことを「検証対象コマンド」と呼ぶ。例えば、図3に示す例は、ipsec ike local addressコマンドは検証対象コマンドである一方、tunnel
selectコマンドは検証対象コマンドではないことを示している。この検証対象フラグは、入力装置50を介して入力されるコマンドが検証対象コマンドであるか否かをそのコマンドに含まれるキーワードに基づいて判定する際に利用される。
【0016】
中継装置10の動作設定に使用する各コマンドを検証対象コマンドとそれ以外のものに分類する際には、例えば自機の通信アドレスを設定するためのコマンドや、既存の設定内容(例えば、パケットフィルタリングのフィルタリング条件やNATの定義など)を援用するコマンドを検証対象コマンドとすれば良い。前者のコマンドによる設定に誤りや矛盾があると、他の通信機器との通信に支障が生じるからであり、また、後者のコマンドについては、その援用先の設定が既に為されていることが前提であるため、その援用先の設定が為されていない場合には中継装置10の動作に支障が生じるからである。なお、本実施形態では、コマンドリストテーブル152とコマンド処理プログラム151とが各々別個にコマンド処理部150の不揮発性メモリに格納されているが、両者を一体で(例えば、コマンドリストテーブル152をコマンド処理プログラム151に内蔵させて)不揮発性メモリに格納しても良い。
【0017】
外部機器I/F部160は、例えばUSB(Universal Serial Bus)インターフェースやRS−232Cインターフェースであり、他の機器を中継装置10に接続するためのものである。図1に示す例では、外部機器I/F部160には、表示装置40や入力装置50が接続される。外部機器I/F部160は、コマンド処理部150から引渡される文字コードデータを表示装置40に引渡しその文字コードデータの表す文字を表示させる。また、外部機器I/F部160は、入力装置50に設けられている操作子の操作内容に応じたデータを入力装置50から受け取り、コマンド処理部150による制御下で、その操作子に対応したデータ(例えば、その操作子に対応する文字コードデータ:以下、操作内容データ)をコマンド処理部150に引渡す処理も実行する。つまり、外部機器I/F部160は、自身に接続されている入力装置50とともに、中継装置10に対してその動作設定を行うためのコマンドを運用管理者等に入力させる入力手段の役割を果たすのである。
以上が中継装置10の構成である。
【0018】
(B:動作)
次いで、中継装置10のコマンド処理部150のCPUがコマンド処理プログラム151にしたがって実行する動作について図4〜図11を参照しつつ説明する。
【0019】
中継装置10では、動作設定のためのユーザインタフェースとしてCUIが採用されているため、中継装置10の動作設定を行う場合、運用管理者は、所望の設定内容を表すコマンドを表示装置40に表示されるコマンドプロンプトに続けて文字入力する必要がある。一方、中継装置10のコマンド処理部150は、運用管理者により入力されたコマンドを解釈しその指示内容に応じて設定内容データ141を編集するコマンド処理を実行する。
【0020】
図4は、中継装置10のコマンド処理部150が実行するコマンド処理の流れを示すフローチャートである。コマンド処理部150は、外部機器I/F部160を介して入力される操作内容データがコマンドの入力完了を示す制御コード(本実施形態では、改行コード)であるか否かを判定し(ステップS010)、その判定結果が“No”である場合には、その操作内容データの表す文字コードデータをその入力順にコマンド処理部150の揮発性メモリ内のバッファに格納する。このバッファ内に格納される一連の文字コードデータは、入力装置50の操作により綴られた入力コマンドを表すものであり、以下、コマンドラインデータと呼ぶ。
【0021】
コマンド処理部150は、ステップS010の判定結果が“Yes”である場合、入力コマンド(すなわち、コマンドラインデータの表すコマンド)が当該コマンド処理の終了を指示するコマンド(例えば、ENDやQuitなどキーワードを含むコマンド:以下、終了指示コマンド)であるか否かを判定し(ステップS020)、その判定結果が“Yes”である場合には、当該コマンド処理を終了する。ここで、入力コマンドが終了指示コマンドであるか否かの判定は、コマンドラインデータを解析し、入力コマンドに含まれるキーワードが終了指示コマンドを表すキーワードと一致するか否かを判定することにより行えば良い。
【0022】
コマンド処理部150は、ステップS020の判定結果が“No”である場合は、入力コマンドの書式が正しいか否かを判定する(ステップS030)。ここで、コマンドの書式が正しいか否かの判定は、以下のように行えば良い。まず、コマンドラインデータを解析して入力コマンドの書式を特定し、その入力コマンドに含まれているキーワードに対応付けてコマンドリストテーブル152に格納されている書式データの表す書式(引数の数や、引数の取り得る値の範囲など)とその入力コマンドの書式とを比較する。そして、書式の整合性が取れている場合(すなわち、入力コマンドに含まれている引数の数が書式データの表す引数の数に一致し、かつ、入力コマンドに含まれている引数の値が書式データの表す範囲内の値である場合)には、コマンド処理部150は、正しい書式であると判定し、逆に、両者が一致しない場合には、入力コマンドの書式は正しくないと判定する。例えば、入力コマンドがipsec ike local addressコマンドであり、その入力コマンドに引数が含まれていない場合や、3個以上の引数が含まれている場合、あるいは、そのコマンドに1乃至2個の引数が含まれているものの、その第1引数の値が1〜10の何れでもない場合には、コマンド処理部150は、その入力コマンドの書式は正しくないと判定する。なお、入力コマンドに含まれているキーワードが、コマンドリストテーブル152に格納されているキーワードの何れとも一致しない場合にも、入力コマンドの書式が正しくないと判定することは勿論である。
【0023】
ステップS030の判定結果が“No”である場合には、コマンド処理部150は、コマンドの書式が誤っている旨のエラーメッセージを表示装置40に表示させ(ステップS120)、コマンドラインデータを格納するバッファの初期化を行った後にステップS010以降の処理を繰り返し実行する。このエラーメッセージを視認することによって、中継装置10の運用管理者は、入力コマンドの書式に誤りがあることを認識することができる。一方、ステップS030の判定結果が“Yes”である場合には、コマンド処理部150は、検証実行スイッチ(例えば、入力装置50に設けられている操作子のうちの1つ)がオンであるか否かを判定し(ステップS040)、その判定結果が“No”である場合には、入力コマンドにしたがって設定内容データ141を更新(ステップS110)し、コマンドラインデータを格納するためのバッファを初期化した後にステップS010以降の処理を繰り返す。つまり、検証実行スイッチがオフである場合には、コマンド入力による設定内容が無条件に記憶されるのである。検証実行スイッチがオフであるということは、設定内容の整合性を検証する必要がないということを中継装置10の運用管理者によって指示されている状態だからである。
【0024】
ステップS040の判定結果が“Yes”である場合には、コマンド処理部150は、入力コマンドが検証対象コマンドであるか否かを判定する(ステップS050)。具体的には、コマンド処理部150は、入力コマンドに含まれているキーワードに対応付けてコマンドリストテーブル152に格納されている検証対象フラグを参照し、その値が“1”である場合に、その入力コマンドは検証対象コマンドであると判定する。そして、ステップS050の判定結果が“No”である場合には、コマンド処理部150は、ステップS110以降の処理を実行する。つまり、入力コマンドが検証対象コマンドではない場合も、検証スイッチがオフである場合と同様に、入力コマンドの表す設定内容が無条件に記憶されるのである。
【0025】
一方、ステップS050の判定結果が“Yes”である場合は、コマンド処理部150は、そのコマンドが引数を要するものであるか否かを判定する(ステップS060)。ここで、引数を要しないコマンドの一例としては、設定内容データ141の表す設定内容を一覧表示させるshow configコマンドが挙げられる。引数を要するコマンドであるか否かについては、そのコマンドに対応する書式データを参照して判定することができる。そして、コマンド処理部150は、ステップS060の判定結果が“No”である場合には、全体検証処理を実行し(ステップS100)、コマンドラインデータを格納するためのバッファの初期化を行った後にステップS010以降の処理を繰り返し実行する。この全体検証処理の詳細については後に明らかにする。
【0026】
ステップS060の判定結果が“Yes”である場合には、コマンド処理部150は、コマンドラインデータを参照して入力コマンドに過不足の無い個数の引数が含まれているか否かを判定する(ステップS070)。入力コマンドに過不足の無い個数の引数が含まれているか否かについても、そのコマンドに対応する書式データを参照することで判定することができる。例えば、ipsec ike local addressコマンドについては、前述したように引数の個数が1乃至2個であれば書式上の誤りはない。しかし、ipsec ike local addressは、第1引数の表すセキュリティゲートウェイの通信アドレスとして第2引数の表す値を設定するコマンドであるから、入力コマンドに1つの引数しか含まれていない場合には、そのコマンド本来の機能を果たすことはできない。よって、入力コマンドがipsec ike local addressコマンドであり、その入力コマンドに含まれる引数が1個の場合はステップS070の判定結果は“No”になる。ステップS070の判定結果が“No”である場合には、コマンド処理部150は、設定選択処理を実行(ステップS080)した後に、ステップS110以降の処理を実行する。逆に、ステップS070の判定結果が“Yes”である場合には、コマンド処理部150は、設定検証処理を実行(ステップS090)した後に、ステップS110以降の処理を実行する。この設定選択処理および設定検証処理の詳細については後に明らかにする。
以上が、コマンド処理部150の実行するコマンド処理である。
【0027】
以上説明したように、本実施形態では、入力コマンドに対して従来と同様の書式チェック(図4:ステップS030)の他に、その入力コマンドが検証対象コマンドであり、かつ、検証対象スイッチがオンになっている場合には、その入力コマンドが引数を要するものであるか否か、また、引数を要するものである場合には引数を過不足なく含んでいるか否かに応じて、全体検証処理、設定検証処理および設定選択処理の何れかを実行することに特徴がある。以下、入力コマンドがipsec ike local addressコマンドである場合を例にとって、設定選択処理および設定検証処理の詳細について説明し、入力コマンドがshow configコマンドである場合を例にとって全体検証処理の詳細について説明する。
【0028】
(B−1:設定選択処理)
図5は、コマンド処理部150が実行する設定選択処理の流れを示すフローチャートである。前述したように、設定選択処理は、入力コマンドに引数の不足がある場合(例えば、ipsec ike local addressコマンドが、その第2引数となるべきIPアドレスが無い場合)に実行される処理である。図5に示すように、この設定選択処理では、コマンド処理部150は、まず、設定内容データ141を参照し、入力コマンドの引数の候補となり得る設定値が既に設定されているか否かを判定する(ステップSA010)。入力コマンドがipsec ike local addressコマンドである場合、自装置側のセキュリティゲートウェイの通信アドレスを設定するコマンドであるから、中継装置10に対して設定済みの通信アドレスが上記入力コマンドの引数の候補となる。例えば、上記入力コマンドに先立って図6に示す5個のコマンドが入力され、192.168.0.1/24、172.16.0.1・24および10.0.0.1・24の3個の通信アドレスが中継装置10に対して設定済みである場合には、コマンド処理部150は、これら3個の通信アドレスが上記入力コマンド(ipsec ike local addressコマンド)の引数の候補となり得ると判定する。逆に、中継装置10に対して未だに通信アドレスが設定されていない場合には、コマンド処理部150は、上記入力コマンドの引数の候補となる設定値は無いと判定する。
【0029】
ステップSA010の判定結果が“No”である場合には、コマンド処理部150は、エラーメッセージを表示装置40に表示させ(ステップSA050)、本設定選択処理を終了する。ここで、ステップSA050にて表示装置40に表示させるエラーメッセージの一例としては、「設定値候補が有りません。設定値を付与してコマンドを入力し直して下さい。」といったものが考えられる。逆に、ステップSA010の判定結果が“Yes”である場合には、コマンド処理部150は、引数の候補を表示装置40に列挙表示させ(ステップSA020)、それら候補のうちの何れか1つが選択されることを待ち受ける(ステップSA030)。
【0030】
図7は、ステップSA020にて実行される列挙表示の一例を示す図である。この表示を視認した運用管理者は、1から3までの3つの選択肢番号の何れかを入力装置50を操作して入力することにより、入力コマンド(すなわち、ipsec ike local Addressコマンド)の実行により設定する通信アドレスを選択することができる。一方、コマンド処理部150は、ステップSA030の判定結果が“No”である間(すなわち、表示装置40に列挙表示させた選択肢の選択が為されていない間)はステップSA030の処理を繰り返し実行し、運用管理者によってその選択が為されると(ステップSA030:Yes)、選択された設定値を、入力コマンドに補完し(ステップSA040)、本設定選択処理を終了する。
【0031】
以上説明したように、本実施形態では、入力コマンドの引数が不足し、その入力コマンド本来の機能を果たすことができない場合であっても、その引数の候補となる設定値が既に幾つか設定済みである場合には、それら候補を列挙表示してそれらのうちから実際に設定するものを運用管理者に選択させる処理が実行される。これにより、本実施形態では既存の設定と矛盾する設定が為されることが回避されるのである。
【0032】
(B−2:設定検証処理)
図8は、コマンド処理部150が実行する設定検証処理の流れを示すフローチャートである。この設定検証処理は、コマンドが過不足の無い個数の引数を伴って入力された場合に実行される。図8に示すように、この設定検証処理では、コマンド処理部150は、まず、設定内容データ141の表す既存の設定内容と入力コマンドの表す設定内容とが矛盾するか否かを判定する(ステップSB010)。例えば、入力コマンドがipsec ike local addressコマンドである場合、既に1または複数の通信アドレスが中継装置10に設定されており、かつ、上記入力コマンドにより設定する通信アドレスが、上記設定済みの通信アドレスの何れとも一致しない場合には、コマンド処理部150は、入力コマンドの表す設定内容と設定内容データ141の表す設定内容とが矛盾すると判定する。
【0033】
ステップSB010の判定結果が“No”である場合には、コマンド処理部150は、本設定検証処理を終了する。図4に示すように設定検証処理(ステップS090)を終了すると、コマンド処理部150は、設定内容記憶処理(ステップS110)を実行し、入力コマンドにしたがって設定内容データ141を更新する。逆に、ステップSB010の判定結果が“Yes”である場合には、図8に示すように、コマンド処理部150は、ステップSB020の処理を実行する。このステップSB020では、誤入力の可能性を示唆する旨の警告メッセージを表示装置40に表示させる処理と、前述した設定選択処理(図6参照)とが実行される。ただし、このステップSB020で実行される設定選択処理においては、設定内容データ141から特定される設定値候補の他に、入力コマンドに含まれている引数の表す設定値も設定値候補とする点が、引数無しでコマンド入力された場合に実行される設定選択処理と異なる。ここで、入力コマンドに含まれる引数の表す設定値も設定値候補とするのは、当該引数の表す設定値を新たに追加することを運用管理者が所望している場合に対処するためである。すなわち、既存の設定内容と矛盾する設定を指示するコマンドが入力されてとしても、必ずしも設定ミスであるとは限らないため、上記警告メッセージを表示して、その入力内容の再確認を入力者に求めるのである。
【0034】
図9は、ステップSB020にて表示装置40に表示される警告メッセージおよび設定値候補リストの表示例を示す図である。この表示を視認した運用管理者は、1から4までの4つの選択肢番号の何れかを入力装置50を操作して入力することにより、入力コマンド(本動作例では、ipsec ike local Addressコマンド)の実行により設定する通信アドレスを選択することができる。コマンド処理部150は、運用管理者により何れかの選択肢が選択されると、選択された設定値を入力コマンドに補完し、本設定検証処理を終了する。
【0035】
以上説明したように、本実施形態では、過不足の無い個数の引数を伴ってコマンドが入力された場合であっても、既存の設定内容との関係で矛盾が疑われる場合には、設定ミスの可能性を示唆する旨の表示が為された上で、その設定内容を再確認させる処理が実行される。これにより、本実施形態では、誤入力によって既存の設定と矛盾する設定が為されることが回避されるのである。
【0036】
(B−3:全体検証処理)
図10は、コマンド処理部150が実行する全体検証処理の流れを示すフローチャートである。本実施形態では、この設定検証処理は、一覧表示コマンド(show configコマンド)が入力されたことを契機として実行される処理である。図10に示すように、この全体検証処理では、コマンド処理部150は、まず、設定内容データ141を参照し、設定内容データ141の表す設定内容全体に亘って相互に矛盾する設定項目があるか否かを判定する(ステップSC010)。そして、その判定結果が“No”である場合には、コマンド処理部150は、その一覧表示コマンドにしたがって設定内容データ141の表す設定内容を表示装置40に一覧表示させる(ステップSC020)。逆に、ステップSC010の判定結果が“Yes”である場合(すなわち、矛盾有りと判定した場合)には、矛盾する設定項目について誤入力の可能性を示唆しつつ設定内容データ141の表す設定内容の一覧を表示装置40に表示させる(ステップSC030)。
【0037】
図11は、ステップSC030にて表示装置40に表示される設定内容一覧の表示例を示す図である。図11に示す例では、中継装置10に設定されている各種パラメータが一覧表示されており、他の設定項目との関連で矛盾がある設定項目については、その設定値の右側に設定ミスの可能性を示唆する警告メッセージが表示されている。この表示を視認した運用管理者は、既存の設定項目の中に矛盾があるか否かを一目で把握することができるのである。
【0038】
このように、本実施形態では、一覧表示コマンドの実行時にその時点の設定内容データ141の表す設定内容の全体に亘って矛盾の有無がチェックされ、矛盾が疑われる場合には、該当する設定項目に関して誤入力の可能性を示唆しつつ一覧表示が実行される。これにより、誤入力によって互いに矛盾する設定が為されることが回避されるのである。なお、本実施形態では、一覧表示コマンド(show configコマンド)が入力されたことを契機として全体検証処理を実行する場合について説明したが終了指示コマンドの入力や、設定内容を有効化させるコマンド(例えば、enableコマンドなど設定内容データ141の表す設定内容にしたがった動作の開始を指示するコマンド)の入力を契機として全体検証処理を実行しても勿論良い。
【0039】
以上説明したように、本実施形態によれば、単なる書式の誤りだけでなく、既に為された設定と矛盾するような設定が為されることを回避できる、といった効果を奏する。また、本実施形態では、中継装置10に対する動作設定のためのユーザインタフェースとしてCUIが採用されているため、設定作業の効率を損なうこともない。
【0040】
(C:変形)
以上、本発明の一実施形態について説明したが、かかる実施形態に以下に述べる変形を加えても勿論良い。
(1)上述した実施形態では、中継装置10に組み込まれたコマンド処理部150と、外部機器I/F部160を介して中継装置10に接続された表示装置40および入力装置50とにより、本実施形態の特徴であるコマンド処理を実現した。しかし、図12に示すように、通信処理部110、第1通信I/F部120、第2通信I/F部130、記憶部140および外部機器I/F部160Aを有する中継装置10Aに、コマンド処理部150および外部機器I/F部160Bを有するコマンド処理装置60を接続し、そのコマンド処理装置60のコマンド処理部150にコマンド処理(図4参照)を実行させることで、中継装置10Aに対する動作設定を行っても勿論良い。なお、図12では詳細な図示は省略したが、中継装置10Aの記憶部140には、設定内容データが格納されており、コマンド入力装置60のコマンド処理部150には、コマンド処理プログラムとコマンドリストテーブルとが格納されている。
【0041】
(2)上述した実施形態では、2つの通信網間のデータ通信を中継する中継装置に本発明を適用したが、本発明の適用対象はこのような中継装置に限定されるものではない。本来の機能を発揮させるためにはコマンド入力による動作設定が必要な電子機器であれば、本発明を適用することができる。また、上述した実施形態では、電子機器の動作設定を行うためのユーザインタフェースとしてCUIを採用したが、GUIにより動作設定を行う場合にも本発明を適用することは可能である。GUIにおいては、アイコン等にコマンドを対応付けておき、そのアイコンがクリックされた場合にそのアイコンに対応するコマンドを実行することにより動作設定が為されることが一般的である。このようなGUIよる動作設定においても、誤入力等により既存の設定内容と矛盾する設定が為されること、および設定項目が多岐に亘る場合には相互に矛盾する設定項目を探し出すことに手間がかかることは、CUIにより動作設定を行う場合と同じだからである。
【0042】
(3)上述した実施形態では、設定選択処理(図6参照)、設定検証処理(図8参照)および全体検証処理(図10参照)の3つの処理の何れかを運用管理者により入力されたコマンドの内容に応じて実行することで、相互に矛盾する設定が為されることを回避した。しかし、これら3つの処理態様の全てを実装しなくとも、任意の2つ或いは1つを実装することで、相互に矛盾する設定が為されることを回避しても勿論良い。また、上述した実施形態では、コマンド本来の機能を果たすには引数が不足する場合に設定選択処理を実行して既存の設定内容からその不足分の引数を補うことを可能にしたが、このような引数の不足を書式誤りとして扱っても良いことは勿論である。
【0043】
(4)上述した実施形態では、検証実行スイッチのオン/オフにより設定選択処理等の本実施形態に特徴的な処理を実行するか否かを切り換えたが、これらの処理を実行するか否かをコマンドの引数でコマンド毎に指定しても勿論良い。
【0044】
(5)上述した実施形態では、中継装置10の特徴を顕著に示すコマンド処理をコマンド処理部150のCPUに実行させるコマンド処理プログラム151をそのコマンド処理部150の不揮発性メモリに予め書き込んでおいた。しかし、CD−ROM(Compact Disk-Read Only Memory)などのコンピュータ装置読み取り可能な記録媒体に上記コマンド処理プログラムを書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより上記コマンド処理プログラムを配布しても良い。このようにして配布されるコマンド処理プログラムにしたがって、パーソナルコンピュータなどの一般的なコンピュータ装置のCPUを作動させることによって、そのコンピュータ装置を、変形例(1)に係るコマンド処理装置として機能させることが可能になる。
【図面の簡単な説明】
【0045】
【図1】本発明の一実施形態に係る中継装置10の構成例を示すブロック図である。
【図2】同中継装置10の動作設定を行うためのコマンド入力例を示す図である。
【図3】同中継装置10のコマンド処理部150に格納されているコマンドリストテーブル152の一例を示す図である。
【図4】同コマンド処理部150が実行するコマンド処理の流れを示すフローチャートである。
【図5】同コマンド処理部150が実行する設定選択処理の流れを示すフローチャートである。
【図6】同中継装置10に既に設定されている設定内容の一例を示す図である。
【図7】同設定選択処理における表示装置40の表示内容の一例を示す図である。
【図8】同コマンド処理部150が実行する設定検証処理の流れを示すフローチャートである。
【図9】同設定検証処理における表示装置40の表示内容の一例を示す図である。
【図10】同コマンド処理部150が実行する全体検証処理の流れを示すフローチャートである。
【図11】同全体検証処理における表示装置40の表示内容の一例を示す図である。
【図12】変形例(1)に係るコマンド処理装置60の一例を示す図である。
【符号の説明】
【0046】
10,10A…中継装置、20…第1通信網、30…第2通信網、40…表示装置、50…入力装置、60…コマンド処理装置、110…通信処理部、120…第1通信I/F部、130…第2通信I/F部、140…記憶部、141…設定内容データ、150…コマンド処理部、151…コマンド処理プログラム、152…コマンドリストテーブル、160,160A,160B…外部機器I/F部。

【特許請求の範囲】
【請求項1】
予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、
前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させるコマンド処理手段と、を備え、
前記コマンド処理手段は、
前記入力手段により入力されたコマンドが1または複数の引数を要するものであり、かつ、引数が不足している場合には、当該コマンドの引数の候補を前記設定内容データから特定し、当該候補のうちから不足する引数を当該コマンドの入力者に選択させ、選択された引数を補って当該コマンドを実行する
ことを特徴とするコマンド処理装置。
【請求項2】
予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、
前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させるコマンド処理手段と、を備え、
前記コマンド処理手段は、
前記入力手段により入力されたコマンドの表す設定内容が前記設定内容データの示す設定内容と矛盾する場合には、当該コマンドの入力者に誤入力の可能性を示唆する処理を実行する
ことを特徴とするコマンド処理装置。
【請求項3】
予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、
前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させるコマンド処理手段と、を備え、
前記コマンド処理手段は、
前記設定内容データの表す設定内容を一覧表示することを指示するコマンド、または前記設定内容データの表す設定内容にしたがった動作の開始を指示するコマンドが前記入力手段により入力されたことを契機として、前記設定内容データの表す設定内容に相互に矛盾する設定項目が含まれているか否かを判定し、相互に矛盾する設定項目の各々について、入力者に誤入力の可能性を示唆する処理を実行する
ことを特徴とするコマンド処理装置。
【請求項4】
コンピュータ装置を、
予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、
前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させる第1の処理と、前記入力手段により入力されたコマンドが1または複数の引数を要するものであり、かつ、引数が不足している場合には、当該コマンドの引数の候補を前記設定内容データから特定し、当該候補のうちから不足する引数を当該コマンドの入力者に選択させ、選択された引数を補って当該コマンドを実行する第2の処理とを実行するコマンド処理手段
として機能させることを特徴とするプログラム。
【請求項5】
コンピュータ装置を、
予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、
前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させる第1の処理と、前記入力手段により入力されたコマンドの表す設定内容が前記設定内容データの示す設定内容と矛盾する場合には、当該コマンドの入力者に誤入力の可能性を示唆する第2の処理とを実行するコマンド処理手段
として機能させることを特徴とするプログラム。
【請求項6】
コンピュータ装置を、
予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、
前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させる第1の処理と、前記設定内容データの表す設定内容を一覧表示することを指示するコマンド、または前記設定内容データの表す設定内容にしたがった動作の開始を指示するコマンドが前記入力手段により入力されたことを契機として、前記設定内容データの表す設定内容に相互に矛盾する設定項目が含まれているか否かを判定し、相互に矛盾する設定項目の各々について、入力者に誤入力の可能性を示唆する第2の処理とを実行するコマンド処理手段
として機能させることを特徴とするプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate