(57)【要約】【課題】電子機器の動作設定を行う際に複数の設定項目間で相互に矛盾する設定が為されることを回避することを可能にする。【解決手段】予め記憶した設定内容データ１４１にしたがってデータ中継処理を実行する通信処理部１１０を有する電子機器（中継装置１０）に、入力装置５０を介して入力されたコマンドにしたがって設定内容データ１４１を編集して記憶部１４０に書き込む処理を実行するコマンド処理部１５０を設ける。そして、コマンド処理部１５０は、入力装置５０を介して入力されたコマンドが１または複数の引数を要するものであり、かつ、引数が不足している場合には、当該コマンドの引数の候補を設定内容データ１４１を参照して特定し、当該候補のうちから不足する引数を当該コマンドの入力者に選択させる画面を表示装置４０に表示させ、選択された引数を補って当該コマンドの示す編集を実行する。【選択図】図１
2009282705.tif 000002
【特許請求の範囲】
【請求項１】
予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、
前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させるコマンド処理手段と、を備え、
前記コマンド処理手段は、
前記入力手段により入力されたコマンドが１または複数の引数を要するものであり、かつ、引数が不足している場合には、当該コマンドの引数の候補を前記設定内容データから特定し、当該候補のうちから不足する引数を当該コマンドの入力者に選択させ、選択された引数を補って当該コマンドを実行する
ことを特徴とするコマンド処理装置。
【請求項２】
予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、
前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させるコマンド処理手段と、を備え、
前記コマンド処理手段は、
前記入力手段により入力されたコマンドの表す設定内容が前記設定内容データの示す設定内容と矛盾する場合には、当該コマンドの入力者に誤入力の可能性を示唆する処理を実行する
ことを特徴とするコマンド処理装置。
【請求項３】
予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、
前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させるコマンド処理手段と、を備え、
前記コマンド処理手段は、
前記設定内容データの表す設定内容を一覧表示することを指示するコマンド、または前記設定内容データの表す設定内容にしたがった動作の開始を指示するコマンドが前記入力手段により入力されたことを契機として、前記設定内容データの表す設定内容に相互に矛盾する設定項目が含まれているか否かを判定し、相互に矛盾する設定項目の各々について、入力者に誤入力の可能性を示唆する処理を実行する
ことを特徴とするコマンド処理装置。
【請求項４】
コンピュータ装置を、
予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、
前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させる第１の処理と、前記入力手段により入力されたコマンドが１または複数の引数を要するものであり、かつ、引数が不足している場合には、当該コマンドの引数の候補を前記設定内容データから特定し、当該候補のうちから不足する引数を当該コマンドの入力者に選択させ、選択された引数を補って当該コマンドを実行する第２の処理とを実行するコマンド処理手段
として機能させることを特徴とするプログラム。
【請求項５】
コンピュータ装置を、
予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、
前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させる第１の処理と、前記入力手段により入力されたコマンドの表す設定内容が前記設定内容データの示す設定内容と矛盾する場合には、当該コマンドの入力者に誤入力の可能性を示唆する第２の処理とを実行するコマンド処理手段
として機能させることを特徴とするプログラム。
【請求項６】
コンピュータ装置を、
予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、
前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させる第１の処理と、前記設定内容データの表す設定内容を一覧表示することを指示するコマンド、または前記設定内容データの表す設定内容にしたがった動作の開始を指示するコマンドが前記入力手段により入力されたことを契機として、前記設定内容データの表す設定内容に相互に矛盾する設定項目が含まれているか否かを判定し、相互に矛盾する設定項目の各々について、入力者に誤入力の可能性を示唆する第２の処理とを実行するコマンド処理手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルータ等の電子機器の動作設定を行うための技術に関し、特に、コマンド入力により動作設定を行う技術に関する。
【背景技術】
【０００２】
電子機器のなかには、その電子機器本来の機能を発揮させるために、各種パラメータ（例えば、ルータであれば通信アドレスなど）を記憶させるなどの動作設定を予め行っておくことが必要なものがある。この種の動作設定をユーザに行わせるためのユーザインタフェースとしては、キーボードなどの文字入力デバイスを用いたＣＵＩ（Character User Interface）と、マウスなどのポインティングデバイスを用いたＧＵＩ（Graphical User Interface）とがある。ＣＵＩでは、設定項目の種類やその設定内容を示すコマンドを文字でキー入力させ、そのコマンドの解釈および実行を電子機器に行わせること（すなわち、そのコマンドにしたがってパラメータの編集および記憶を行わせること）で、その電子機器の動作設定が実現される。一方、ＧＵＩでは、各設定項目に対応したアイコンやラジオボタン、プルダウンリスト等のクリックにより、そのアイコン等に対応するパラメータの編集等が指示される。例えば、パーソナルコンピュータなどでは、初心者にも直感的に判り易いＧＵＩが採用されることが一般的であり、ネットワークの運用管理者などある程度の知識を有する者が動作設定を行うことが多いルータ等のネットワーク機器では、作業効率を重視してＣＵＩが採用されることが一般的である。また、利用者の好みに応じてＣＵＩとＧＵＩとを切り換えることができる電子機器もある（例えば、非特許文献１参照）。
【非特許文献１】[online]、ヤマハ株式会社、[平成２０年５月２０日検索]、インターネット<URL:http://netvolante.jp/solution/cost/nw5_pr.html>
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このように動作設定を行う者がある程度の専門知識を有しており、かつ、作業効率を重視する場合には、ＣＵＩでの動作設定が一般に好まれるのであるが、この態様ではコマンドを一行ずつ入力して動作設定を行う必要があるため、設定項目が多岐に亘る場合、複数の設定項目間で矛盾した設定（すなわち、設定ミス）を行ってしまう虞がある。このような設定ミスが発生すると、電子機器が正常に動作しないことは勿論、互いに矛盾する設定項目を見つけ出すことに手間がかかることが多いといった問題がある。
本発明は、上記課題に鑑みて為されたものであり、電子機器の動作設定を行う際に複数の設定項目間で相互に矛盾する設定が為されることを回避することを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記課題を解決するために本発明は、予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させるコマンド処理手段と、を備え、前記コマンド処理手段は、前記入力手段により入力されたコマンドが１または複数の引数を要するものであり、かつ、引数が不足している場合には、当該コマンドの引数の候補を前記設定内容データから特定し、当該候補のうちから不足する引数を当該コマンドの入力者に選択させ、選択された引数を補って当該コマンドを実行することを特徴とするコマンド処理装置、およびコンピュータ装置を上記各手段として機能させることを特徴とするプログラムを提供する。このようなコマンド処理装置およびプログラムによれば、入力されたコマンドが１または複数の引数を要するものであり、かつ、引数が不足している場合には、既存の設定内容データの表す設定内容から当該コマンドの引数の候補が特定され、当該候補のうちから不足する引数をコマンドの入力者に選択させる処理が実行される。このように既存の設定内容データから特定される候補のうちから不足する引数を選択させるため、既存の設定内容データの表す設定内容と矛盾する動作設定が為されることが回避される。
【０００５】
また、上記課題を解決するために本発明は、予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させるコマンド処理手段と、を備え、前記コマンド処理手段は、前記入力手段により入力されたコマンドの表す設定内容が前記設定内容データの示す設定内容と矛盾する場合には、当該コマンドの入力者に誤入力の可能性を示唆する処理を実行することを特徴とするコマンド処理装置、およびコンピュータ装置を上記各手段として機能させることを特徴とするプログラムを提供する。このようなコマンド処理装置およびプログラムによれば、入力されたコマンドの表す設定内容と既存の設定内容データの表す設定内容とが相互に矛盾する場合、入力者に誤入力の可能性を示唆する処理が実行される。コマンドの入力者は当該入力コマンドによる設定内容と既存の設定内容とが矛盾することを把握し、その矛盾が誤入力により生じていた場合には、その矛盾が是正されるようにコマンドを入力し直すことができるため、既存の設定内容データの表す設定内容と矛盾する動作設定が為されることが回避される。
【０００６】
また、上記課題を解決するために本発明は、予め記憶した設定内容データにしたがって動作する電子機器に前記設定内容データを記憶させるためのコマンドを入力させる入力手段と、前記入力手段へ入力されたコマンドにしたがって前記設定内容データを編集して前記電子機器に記憶させるコマンド処理手段と、を備え、前記コマンド処理手段は、前記設定内容データの表す設定内容を一覧表示することを指示するコマンド、または前記設定内容データの表す設定内容にしたがった動作の開始を指示するコマンドが前記入力手段により入力されたことを契機として、前記設定内容データの表す設定内容に相互に矛盾する設定項目が含まれているか否かを判定し、相互に矛盾する設定項目の各々について、入力者に誤入力の可能性を示唆する処理を実行することを特徴とするコマンド処理装置、およびコンピュータ装置を上記各手段として機能させることを特徴とするプログラムを提供する。このようなコマンド処理装置およびプログラムによれば、設定内容データの表す設定内容の一覧表示の実行、または設定内容データの表す設定内容にしたがった動作の開始を指示されたことを契機として、設定内容データの表す設定内容に相互に矛盾する設定項目が含まれているか否かを判定し、相互に矛盾する設定項目の各々について、入力者に誤入力の可能性を示唆する処理が実行される。これにより、コマンドの入力者は設定内容に相互に矛盾する設定項目が含まれているか否かを把握し、その矛盾が誤入力により生じていた場合には、その矛盾を是正するようにコマンドを入力し直すことができる。
【０００７】
また、本発明の別の態様においては、予め記憶した設定内容データにしたがって動作する電子機器に上記各コマンド処理装置を組み込んでも勿論良い。
【発明を実施するための最良の形態】
【０００８】
以下、中継装置に本発明を適用した場合を例にとって、本発明の実施の形態を図面を参照しつつ説明する。
（Ａ：構成）
図１は、本発明の一実施形態に係る中継装置１０の構成例を示すブロック図である。
中継装置１０は、所謂ルータであり、図１に示すように、インターネットなどの第１通信網２０とＬＡＮ（Local Area Network）などの第２通信網３０とに接続され、両通信網間のデータ通信を中継する電子機器である。
【０００９】
図１の第１通信インターフェース（以下、Ｉ／Ｆ）部１２０と第２通信Ｉ／Ｆ部１３０は、例えばＮＩＣ（Network Interface Card）であり、各々異なる通信網に接続されている。図１に示す例では、第１通信Ｉ／Ｆ部１２０は、第１通信網２０に接続されており、第２通信Ｉ／Ｆ部１３０は第２通信網３０に接続されている。第１通信Ｉ／Ｆ部１２０と第２通信Ｉ／Ｆ部１３０は、各々の接続先である通信網から受信したデータを通信処理部１１０へ引渡す一方、通信処理部１１０から引渡されるデータを各々の接続先の通信網へ送出する。
【００１０】
通信処理部１１０は、ＣＰＵ（Central Processing Unit）と、例えばＲＡＭ（Random
Access Memory）などの揮発性メモリと、ＦｌａｓｈＲＯＭ（Read Only Memory）などの不揮発性メモリを含んでいる（図１では何れも図示省略）。この不揮発性メモリには、データ通信の中継処理をＣＰＵに実行させるための通信プログラムが予め格納されており、上記揮発性メモリは、この通信プログラムを実行する際のワークエリアとして上記ＣＰＵによって利用される。記憶部１４０は、例えばハードディスクやＦｌａｓｈＲＯＭなどの不揮発性メモリである。この記憶部１４０には、上記中継処理における中継装置１０の動作を規定する各種パラメータからなる設定内容データ１４１が格納されている。この設定内容データ１４１には、例えば、第１通信Ｉ／Ｆ部１２０に割り当てられる通信アドレス（ＩＰ（Internet Protocol）アドレス）や第２通信Ｉ／Ｆ部１３０に割り当てられる通信アドレスを表すデータ、中継装置１０におけるパケットフィルタリングのフィルタリング条件を表すデータ、ＮＡＴ（Network Address Translation）の定義を表すデータなどが含まれる。
【００１１】
中継装置１０の運用管理者は、設定内容データ１４１を適宜編集して中継装置１０に記憶させることで、中継装置１０の動作設定を行うことができる。本実施形態では、かかる動作設定を行わせるためのユーザインタフェースとしてＣＵＩが採用されている。より詳細に説明すると、中継装置１０には、例えば液晶ディスプレイ装置などの表示装置４０とキーボードなどの入力装置５０とが接続され、中継装置１０の運用管理者は、表示装置４０の表示内容を確認しつつ入力装置５０を操作して各種コマンドを表す文字列をキー入力することで上記動作設定を行うことができる。具体的には、中継装置１０の運用管理者は、図２に示すように、表示装置４０に表示されるコマンドプロンプトに続けて設定項目の種別を示すキーワードとその設定内容を表す引数とを含むコマンドをキー入力し、さらに、その入力を確定させる制御コード（例えば、改行コード：図２では“enter”と表記）を入力することで、そのコマンドの実行を中継装置１０に指示することができる。なお、図２に示すipsec ike local addressコマンドは、ＩＫＥ（Internet
Key Exchange）プロトコルにて自分側のセキュリティゲートウェイの通信アドレスを設定するためのコマンドである。このipsec ike local addressコマンドの第１引数（図２に示す例では、“１”）は上記セキュリティゲートウェイの識別子であり、同第２引数は、第１引数の示すセキュリティゲートウェイに割り当てる通信アドレスである。
【００１２】
中継装置１０は、このようなＣＵＩでの動作設定を実現するため、図１に示すように、コマンド処理部１５０と外部機器Ｉ／Ｆ部１６０とを有している。以下、ＣＵＩでの動作設定を実現するための構成であるコマンド処理部１５０および外部接続Ｉ／Ｆ部１６０を中心に説明する。
【００１３】
コマンド処理部１５０は、通信処理部１１０と同様に、ＣＰＵ、揮発性メモリおよび不揮発性メモリ（図１では何れも図示省略）を含んでいる。コマンド処理部１５０の不揮発性メモリには、本実施形態の特徴を顕著に示すコマンド処理をコマンド処理部１５０のＣＰＵに実行させるコマンド処理プログラム１５１と、このコマンド処理プログラム１５１の実行過程で参照されるコマンドリストテーブル１５２とが予め格納されている。一方、揮発性メモリは、コマンド処理プログラム１５１を実行する際のワークエリアとして利用される。このコマンド処理プログラム１５１にしたがってコマンド処理部１５０が実行する処理については後に明らかにする。なお、本実施形態では、コマンド処理部１５０と通信処理部１１０とを各々別個に構成したが、１組のＣＰＵ、揮発性メモリおよび不揮発性メモリにより構成した１つの制御部に通信処理部１１０の機能とコマンド処理部１５０の機能とを担わせても勿論良い。具体的には、上記制御部の不揮発性メモリに上記通信プログラムやコマンド処理プログラム１５１、およびコマンドリストテーブル１５２を格納しておき、これら２つのプログラムの各々を上記制御部のＣＰＵに実行させるようにすれば良い。
【００１４】
図３は、コマンドリストテーブル１５２の一例を示す図である。図３に示すように、コマンドリストテーブル１５２には、中継装置１０の動作設定を行う際に使用するコマンドに含まれるキーワード（ipsec ike local addressやtunnel selectなど）に対応付けて、書式データと検証対象フラグとが格納されている。各キーワードに対応付けてコマンドリストテーブル１５２に格納されている書式データは、そのキーワードを含むコマンドの書式を表すデータである。例えば、キーワードipsec ike local addressに対応付けてコマンドリストテーブル１５２に格納されている書式データ００１は、そのキーワードを含むコマンドが１乃至２個の引数を要すること、および、第１引数は１〜１０までの数値の何れかであることを表す。コマンドリストテーブル１５２に格納されている各書式データは、その書式データに対応するキーワードを含むコマンドが入力装置５０を介して入力されたときに、そのコマンドの書式が正しいか否かの書式チェック（例えば、引数の個数のチェックや、各引数が予め定められた範囲の値であるかなどのチェック）の際に利用される。このような書式チェックは、ＣＵＩで動作設定を行わせる従来の電子機器でも行われていたのであるが、本実施形態に係る中継装置１０では、上記書式チェックに加えて、入力されたコマンドの表す設定内容と設定内容データ１４１の表す設定内容とに矛盾が有るか否かを検証する検証処理を実行する点、すなわち、既存の設定内容を表す設定内容データ１４１を用いて設定ミスの発生を回避するように構成されている点に特徴がある。
【００１５】
各キーワードに対応付けてコマンドリストテーブル１５２に格納されている検証対象フラグは、そのキーワードを含むコマンドが検証処理の対象となるものであるか否かを示すデータである。本実施形態では、検証対象フラグの値は“０”または“１”の何れかであり、値が“１”である検証対象フラグは、その検証対象フラグを対応付けられたキーワードを含むコマンドが検証対象であることを示し、逆に、値が“０”である検証対象フラグは、その検証対象フラグを対応付けられたキーワードを含むコマンドが検証対象ではないことを示す。以下、検証処理の対象となるコマンドのことを「検証対象コマンド」と呼ぶ。例えば、図３に示す例は、ipsec ike local addressコマンドは検証対象コマンドである一方、tunnel
selectコマンドは検証対象コマンドではないことを示している。この検証対象フラグは、入力装置５０を介して入力されるコマンドが検証対象コマンドであるか否かをそのコマンドに含まれるキーワードに基づいて判定する際に利用される。
【００１６】
中継装置１０の動作設定に使用する各コマンドを検証対象コマンドとそれ以外のものに分類する際には、例えば自機の通信アドレスを設定するためのコマンドや、既存の設定内容（例えば、パケットフィルタリングのフィルタリング条件やＮＡＴの定義など）を援用するコマンドを検証対象コマンドとすれば良い。前者のコマンドによる設定に誤りや矛盾があると、他の通信機器との通信に支障が生じるからであり、また、後者のコマンドについては、その援用先の設定が既に為されていることが前提であるため、その援用先の設定が為されていない場合には中継装置１０の動作に支障が生じるからである。なお、本実施形態では、コマンドリストテーブル１５２とコマンド処理プログラム１５１とが各々別個にコマンド処理部１５０の不揮発性メモリに格納されているが、両者を一体で（例えば、コマンドリストテーブル１５２をコマンド処理プログラム１５１に内蔵させて）不揮発性メモリに格納しても良い。
【００１７】
外部機器Ｉ／Ｆ部１６０は、例えばＵＳＢ（Universal Serial Bus）インターフェースやＲＳ−２３２Ｃインターフェースであり、他の機器を中継装置１０に接続するためのものである。図１に示す例では、外部機器Ｉ／Ｆ部１６０には、表示装置４０や入力装置５０が接続される。外部機器Ｉ／Ｆ部１６０は、コマンド処理部１５０から引渡される文字コードデータを表示装置４０に引渡しその文字コードデータの表す文字を表示させる。また、外部機器Ｉ／Ｆ部１６０は、入力装置５０に設けられている操作子の操作内容に応じたデータを入力装置５０から受け取り、コマンド処理部１５０による制御下で、その操作子に対応したデータ（例えば、その操作子に対応する文字コードデータ：以下、操作内容データ）をコマンド処理部１５０に引渡す処理も実行する。つまり、外部機器Ｉ／Ｆ部１６０は、自身に接続されている入力装置５０とともに、中継装置１０に対してその動作設定を行うためのコマンドを運用管理者等に入力させる入力手段の役割を果たすのである。
以上が中継装置１０の構成である。
【００１８】
（Ｂ：動作）
次いで、中継装置１０のコマンド処理部１５０のＣＰＵがコマンド処理プログラム１５１にしたがって実行する動作について図４〜図１１を参照しつつ説明する。
【００１９】
中継装置１０では、動作設定のためのユーザインタフェースとしてＣＵＩが採用されているため、中継装置１０の動作設定を行う場合、運用管理者は、所望の設定内容を表すコマンドを表示装置４０に表示されるコマンドプロンプトに続けて文字入力する必要がある。一方、中継装置１０のコマンド処理部１５０は、運用管理者により入力されたコマンドを解釈しその指示内容に応じて設定内容データ１４１を編集するコマンド処理を実行する。
【００２０】
図４は、中継装置１０のコマンド処理部１５０が実行するコマンド処理の流れを示すフローチャートである。コマンド処理部１５０は、外部機器Ｉ／Ｆ部１６０を介して入力される操作内容データがコマンドの入力完了を示す制御コード（本実施形態では、改行コード）であるか否かを判定し（ステップＳ０１０）、その判定結果が“Ｎｏ”である場合には、その操作内容データの表す文字コードデータをその入力順にコマンド処理部１５０の揮発性メモリ内のバッファに格納する。このバッファ内に格納される一連の文字コードデータは、入力装置５０の操作により綴られた入力コマンドを表すものであり、以下、コマンドラインデータと呼ぶ。
【００２１】
コマンド処理部１５０は、ステップＳ０１０の判定結果が“Ｙｅｓ”である場合、入力コマンド（すなわち、コマンドラインデータの表すコマンド）が当該コマンド処理の終了を指示するコマンド（例えば、ＥＮＤやＱｕｉｔなどキーワードを含むコマンド：以下、終了指示コマンド）であるか否かを判定し（ステップＳ０２０）、その判定結果が“Ｙｅｓ”である場合には、当該コマンド処理を終了する。ここで、入力コマンドが終了指示コマンドであるか否かの判定は、コマンドラインデータを解析し、入力コマンドに含まれるキーワードが終了指示コマンドを表すキーワードと一致するか否かを判定することにより行えば良い。
【００２２】
コマンド処理部１５０は、ステップＳ０２０の判定結果が“Ｎｏ”である場合は、入力コマンドの書式が正しいか否かを判定する（ステップＳ０３０）。ここで、コマンドの書式が正しいか否かの判定は、以下のように行えば良い。まず、コマンドラインデータを解析して入力コマンドの書式を特定し、その入力コマンドに含まれているキーワードに対応付けてコマンドリストテーブル１５２に格納されている書式データの表す書式（引数の数や、引数の取り得る値の範囲など）とその入力コマンドの書式とを比較する。そして、書式の整合性が取れている場合（すなわち、入力コマンドに含まれている引数の数が書式データの表す引数の数に一致し、かつ、入力コマンドに含まれている引数の値が書式データの表す範囲内の値である場合）には、コマンド処理部１５０は、正しい書式であると判定し、逆に、両者が一致しない場合には、入力コマンドの書式は正しくないと判定する。例えば、入力コマンドがipsec ike local addressコマンドであり、その入力コマンドに引数が含まれていない場合や、３個以上の引数が含まれている場合、あるいは、そのコマンドに１乃至２個の引数が含まれているものの、その第１引数の値が１〜１０の何れでもない場合には、コマンド処理部１５０は、その入力コマンドの書式は正しくないと判定する。なお、入力コマンドに含まれているキーワードが、コマンドリストテーブル１５２に格納されているキーワードの何れとも一致しない場合にも、入力コマンドの書式が正しくないと判定することは勿論である。
【００２３】
ステップＳ０３０の判定結果が“Ｎｏ”である場合には、コマンド処理部１５０は、コマンドの書式が誤っている旨のエラーメッセージを表示装置４０に表示させ（ステップＳ１２０）、コマンドラインデータを格納するバッファの初期化を行った後にステップＳ０１０以降の処理を繰り返し実行する。このエラーメッセージを視認することによって、中継装置１０の運用管理者は、入力コマンドの書式に誤りがあることを認識することができる。一方、ステップＳ０３０の判定結果が“Ｙｅｓ”である場合には、コマンド処理部１５０は、検証実行スイッチ（例えば、入力装置５０に設けられている操作子のうちの１つ）がオンであるか否かを判定し（ステップＳ０４０）、その判定結果が“Ｎｏ”である場合には、入力コマンドにしたがって設定内容データ１４１を更新（ステップＳ１１０）し、コマンドラインデータを格納するためのバッファを初期化した後にステップＳ０１０以降の処理を繰り返す。つまり、検証実行スイッチがオフである場合には、コマンド入力による設定内容が無条件に記憶されるのである。検証実行スイッチがオフであるということは、設定内容の整合性を検証する必要がないということを中継装置１０の運用管理者によって指示されている状態だからである。
【００２４】
ステップＳ０４０の判定結果が“Ｙｅｓ”である場合には、コマンド処理部１５０は、入力コマンドが検証対象コマンドであるか否かを判定する（ステップＳ０５０）。具体的には、コマンド処理部１５０は、入力コマンドに含まれているキーワードに対応付けてコマンドリストテーブル１５２に格納されている検証対象フラグを参照し、その値が“１”である場合に、その入力コマンドは検証対象コマンドであると判定する。そして、ステップＳ０５０の判定結果が“Ｎｏ”である場合には、コマンド処理部１５０は、ステップＳ１１０以降の処理を実行する。つまり、入力コマンドが検証対象コマンドではない場合も、検証スイッチがオフである場合と同様に、入力コマンドの表す設定内容が無条件に記憶されるのである。
【００２５】
一方、ステップＳ０５０の判定結果が“Ｙｅｓ”である場合は、コマンド処理部１５０は、そのコマンドが引数を要するものであるか否かを判定する（ステップＳ０６０）。ここで、引数を要しないコマンドの一例としては、設定内容データ１４１の表す設定内容を一覧表示させるshow configコマンドが挙げられる。引数を要するコマンドであるか否かについては、そのコマンドに対応する書式データを参照して判定することができる。そして、コマンド処理部１５０は、ステップＳ０６０の判定結果が“Ｎｏ”である場合には、全体検証処理を実行し（ステップＳ１００）、コマンドラインデータを格納するためのバッファの初期化を行った後にステップＳ０１０以降の処理を繰り返し実行する。この全体検証処理の詳細については後に明らかにする。
【００２６】
ステップＳ０６０の判定結果が“Ｙｅｓ”である場合には、コマンド処理部１５０は、コマンドラインデータを参照して入力コマンドに過不足の無い個数の引数が含まれているか否かを判定する（ステップＳ０７０）。入力コマンドに過不足の無い個数の引数が含まれているか否かについても、そのコマンドに対応する書式データを参照することで判定することができる。例えば、ipsec ike local addressコマンドについては、前述したように引数の個数が１乃至２個であれば書式上の誤りはない。しかし、ipsec ike local addressは、第１引数の表すセキュリティゲートウェイの通信アドレスとして第２引数の表す値を設定するコマンドであるから、入力コマンドに１つの引数しか含まれていない場合には、そのコマンド本来の機能を果たすことはできない。よって、入力コマンドがipsec ike local addressコマンドであり、その入力コマンドに含まれる引数が１個の場合はステップＳ０７０の判定結果は“Ｎｏ”になる。ステップＳ０７０の判定結果が“Ｎｏ”である場合には、コマンド処理部１５０は、設定選択処理を実行（ステップＳ０８０）した後に、ステップＳ１１０以降の処理を実行する。逆に、ステップＳ０７０の判定結果が“Ｙｅｓ”である場合には、コマンド処理部１５０は、設定検証処理を実行（ステップＳ０９０）した後に、ステップＳ１１０以降の処理を実行する。この設定選択処理および設定検証処理の詳細については後に明らかにする。
以上が、コマンド処理部１５０の実行するコマンド処理である。
【００２７】
以上説明したように、本実施形態では、入力コマンドに対して従来と同様の書式チェック（図４：ステップＳ０３０）の他に、その入力コマンドが検証対象コマンドであり、かつ、検証対象スイッチがオンになっている場合には、その入力コマンドが引数を要するものであるか否か、また、引数を要するものである場合には引数を過不足なく含んでいるか否かに応じて、全体検証処理、設定検証処理および設定選択処理の何れかを実行することに特徴がある。以下、入力コマンドがipsec ike local addressコマンドである場合を例にとって、設定選択処理および設定検証処理の詳細について説明し、入力コマンドがshow configコマンドである場合を例にとって全体検証処理の詳細について説明する。
【００２８】
（Ｂ−１：設定選択処理）
図５は、コマンド処理部１５０が実行する設定選択処理の流れを示すフローチャートである。前述したように、設定選択処理は、入力コマンドに引数の不足がある場合（例えば、ipsec ike local addressコマンドが、その第２引数となるべきＩＰアドレスが無い場合）に実行される処理である。図５に示すように、この設定選択処理では、コマンド処理部１５０は、まず、設定内容データ１４１を参照し、入力コマンドの引数の候補となり得る設定値が既に設定されているか否かを判定する（ステップＳＡ０１０）。入力コマンドがipsec ike local addressコマンドである場合、自装置側のセキュリティゲートウェイの通信アドレスを設定するコマンドであるから、中継装置１０に対して設定済みの通信アドレスが上記入力コマンドの引数の候補となる。例えば、上記入力コマンドに先立って図６に示す５個のコマンドが入力され、１９２．１６８．０．１／２４、１７２．１６．０．１・２４および１０．０．０．１・２４の３個の通信アドレスが中継装置１０に対して設定済みである場合には、コマンド処理部１５０は、これら３個の通信アドレスが上記入力コマンド（ipsec ike local addressコマンド）の引数の候補となり得ると判定する。逆に、中継装置１０に対して未だに通信アドレスが設定されていない場合には、コマンド処理部１５０は、上記入力コマンドの引数の候補となる設定値は無いと判定する。
【００２９】
ステップＳＡ０１０の判定結果が“Ｎｏ”である場合には、コマンド処理部１５０は、エラーメッセージを表示装置４０に表示させ（ステップＳＡ０５０）、本設定選択処理を終了する。ここで、ステップＳＡ０５０にて表示装置４０に表示させるエラーメッセージの一例としては、「設定値候補が有りません。設定値を付与してコマンドを入力し直して下さい。」といったものが考えられる。逆に、ステップＳＡ０１０の判定結果が“Ｙｅｓ”である場合には、コマンド処理部１５０は、引数の候補を表示装置４０に列挙表示させ（ステップＳＡ０２０）、それら候補のうちの何れか１つが選択されることを待ち受ける（ステップＳＡ０３０）。
【００３０】
図７は、ステップＳＡ０２０にて実行される列挙表示の一例を示す図である。この表示を視認した運用管理者は、１から３までの３つの選択肢番号の何れかを入力装置５０を操作して入力することにより、入力コマンド（すなわち、ipsec ike local Addressコマンド）の実行により設定する通信アドレスを選択することができる。一方、コマンド処理部１５０は、ステップＳＡ０３０の判定結果が“Ｎｏ”である間（すなわち、表示装置４０に列挙表示させた選択肢の選択が為されていない間）はステップＳＡ０３０の処理を繰り返し実行し、運用管理者によってその選択が為されると（ステップＳＡ０３０：Ｙｅｓ）、選択された設定値を、入力コマンドに補完し（ステップＳＡ０４０）、本設定選択処理を終了する。
【００３１】
以上説明したように、本実施形態では、入力コマンドの引数が不足し、その入力コマンド本来の機能を果たすことができない場合であっても、その引数の候補となる設定値が既に幾つか設定済みである場合には、それら候補を列挙表示してそれらのうちから実際に設定するものを運用管理者に選択させる処理が実行される。これにより、本実施形態では既存の設定と矛盾する設定が為されることが回避されるのである。
【００３２】
（Ｂ−２：設定検証処理）
図８は、コマンド処理部１５０が実行する設定検証処理の流れを示すフローチャートである。この設定検証処理は、コマンドが過不足の無い個数の引数を伴って入力された場合に実行される。図８に示すように、この設定検証処理では、コマンド処理部１５０は、まず、設定内容データ１４１の表す既存の設定内容と入力コマンドの表す設定内容とが矛盾するか否かを判定する（ステップＳＢ０１０）。例えば、入力コマンドがipsec ike local addressコマンドである場合、既に１または複数の通信アドレスが中継装置１０に設定されており、かつ、上記入力コマンドにより設定する通信アドレスが、上記設定済みの通信アドレスの何れとも一致しない場合には、コマンド処理部１５０は、入力コマンドの表す設定内容と設定内容データ１４１の表す設定内容とが矛盾すると判定する。
【００３３】
ステップＳＢ０１０の判定結果が“Ｎｏ”である場合には、コマンド処理部１５０は、本設定検証処理を終了する。図４に示すように設定検証処理（ステップＳ０９０）を終了すると、コマンド処理部１５０は、設定内容記憶処理（ステップＳ１１０）を実行し、入力コマンドにしたがって設定内容データ１４１を更新する。逆に、ステップＳＢ０１０の判定結果が“Ｙｅｓ”である場合には、図８に示すように、コマンド処理部１５０は、ステップＳＢ０２０の処理を実行する。このステップＳＢ０２０では、誤入力の可能性を示唆する旨の警告メッセージを表示装置４０に表示させる処理と、前述した設定選択処理（図６参照）とが実行される。ただし、このステップＳＢ０２０で実行される設定選択処理においては、設定内容データ１４１から特定される設定値候補の他に、入力コマンドに含まれている引数の表す設定値も設定値候補とする点が、引数無しでコマンド入力された場合に実行される設定選択処理と異なる。ここで、入力コマンドに含まれる引数の表す設定値も設定値候補とするのは、当該引数の表す設定値を新たに追加することを運用管理者が所望している場合に対処するためである。すなわち、既存の設定内容と矛盾する設定を指示するコマンドが入力されてとしても、必ずしも設定ミスであるとは限らないため、上記警告メッセージを表示して、その入力内容の再確認を入力者に求めるのである。
【００３４】
図９は、ステップＳＢ０２０にて表示装置４０に表示される警告メッセージおよび設定値候補リストの表示例を示す図である。この表示を視認した運用管理者は、１から４までの４つの選択肢番号の何れかを入力装置５０を操作して入力することにより、入力コマンド（本動作例では、ipsec ike local Addressコマンド）の実行により設定する通信アドレスを選択することができる。コマンド処理部１５０は、運用管理者により何れかの選択肢が選択されると、選択された設定値を入力コマンドに補完し、本設定検証処理を終了する。
【００３５】
以上説明したように、本実施形態では、過不足の無い個数の引数を伴ってコマンドが入力された場合であっても、既存の設定内容との関係で矛盾が疑われる場合には、設定ミスの可能性を示唆する旨の表示が為された上で、その設定内容を再確認させる処理が実行される。これにより、本実施形態では、誤入力によって既存の設定と矛盾する設定が為されることが回避されるのである。
【００３６】
（Ｂ−３：全体検証処理）
図１０は、コマンド処理部１５０が実行する全体検証処理の流れを示すフローチャートである。本実施形態では、この設定検証処理は、一覧表示コマンド（show configコマンド）が入力されたことを契機として実行される処理である。図１０に示すように、この全体検証処理では、コマンド処理部１５０は、まず、設定内容データ１４１を参照し、設定内容データ１４１の表す設定内容全体に亘って相互に矛盾する設定項目があるか否かを判定する（ステップＳＣ０１０）。そして、その判定結果が“Ｎｏ”である場合には、コマンド処理部１５０は、その一覧表示コマンドにしたがって設定内容データ１４１の表す設定内容を表示装置４０に一覧表示させる（ステップＳＣ０２０）。逆に、ステップＳＣ０１０の判定結果が“Ｙｅｓ”である場合（すなわち、矛盾有りと判定した場合）には、矛盾する設定項目について誤入力の可能性を示唆しつつ設定内容データ１４１の表す設定内容の一覧を表示装置４０に表示させる（ステップＳＣ０３０）。
【００３７】
図１１は、ステップＳＣ０３０にて表示装置４０に表示される設定内容一覧の表示例を示す図である。図１１に示す例では、中継装置１０に設定されている各種パラメータが一覧表示されており、他の設定項目との関連で矛盾がある設定項目については、その設定値の右側に設定ミスの可能性を示唆する警告メッセージが表示されている。この表示を視認した運用管理者は、既存の設定項目の中に矛盾があるか否かを一目で把握することができるのである。
【００３８】
このように、本実施形態では、一覧表示コマンドの実行時にその時点の設定内容データ１４１の表す設定内容の全体に亘って矛盾の有無がチェックされ、矛盾が疑われる場合には、該当する設定項目に関して誤入力の可能性を示唆しつつ一覧表示が実行される。これにより、誤入力によって互いに矛盾する設定が為されることが回避されるのである。なお、本実施形態では、一覧表示コマンド（show configコマンド）が入力されたことを契機として全体検証処理を実行する場合について説明したが終了指示コマンドの入力や、設定内容を有効化させるコマンド（例えば、enableコマンドなど設定内容データ１４１の表す設定内容にしたがった動作の開始を指示するコマンド）の入力を契機として全体検証処理を実行しても勿論良い。
【００３９】
以上説明したように、本実施形態によれば、単なる書式の誤りだけでなく、既に為された設定と矛盾するような設定が為されることを回避できる、といった効果を奏する。また、本実施形態では、中継装置１０に対する動作設定のためのユーザインタフェースとしてＣＵＩが採用されているため、設定作業の効率を損なうこともない。
【００４０】
（Ｃ：変形）
以上、本発明の一実施形態について説明したが、かかる実施形態に以下に述べる変形を加えても勿論良い。
（１）上述した実施形態では、中継装置１０に組み込まれたコマンド処理部１５０と、外部機器Ｉ／Ｆ部１６０を介して中継装置１０に接続された表示装置４０および入力装置５０とにより、本実施形態の特徴であるコマンド処理を実現した。しかし、図１２に示すように、通信処理部１１０、第１通信Ｉ／Ｆ部１２０、第２通信Ｉ／Ｆ部１３０、記憶部１４０および外部機器Ｉ／Ｆ部１６０Ａを有する中継装置１０Ａに、コマンド処理部１５０および外部機器Ｉ／Ｆ部１６０Ｂを有するコマンド処理装置６０を接続し、そのコマンド処理装置６０のコマンド処理部１５０にコマンド処理（図４参照）を実行させることで、中継装置１０Ａに対する動作設定を行っても勿論良い。なお、図１２では詳細な図示は省略したが、中継装置１０Ａの記憶部１４０には、設定内容データが格納されており、コマンド入力装置６０のコマンド処理部１５０には、コマンド処理プログラムとコマンドリストテーブルとが格納されている。
【００４１】
（２）上述した実施形態では、２つの通信網間のデータ通信を中継する中継装置に本発明を適用したが、本発明の適用対象はこのような中継装置に限定されるものではない。本来の機能を発揮させるためにはコマンド入力による動作設定が必要な電子機器であれば、本発明を適用することができる。また、上述した実施形態では、電子機器の動作設定を行うためのユーザインタフェースとしてＣＵＩを採用したが、ＧＵＩにより動作設定を行う場合にも本発明を適用することは可能である。ＧＵＩにおいては、アイコン等にコマンドを対応付けておき、そのアイコンがクリックされた場合にそのアイコンに対応するコマンドを実行することにより動作設定が為されることが一般的である。このようなＧＵＩよる動作設定においても、誤入力等により既存の設定内容と矛盾する設定が為されること、および設定項目が多岐に亘る場合には相互に矛盾する設定項目を探し出すことに手間がかかることは、ＣＵＩにより動作設定を行う場合と同じだからである。
【００４２】
（３）上述した実施形態では、設定選択処理（図６参照）、設定検証処理（図８参照）および全体検証処理（図１０参照）の３つの処理の何れかを運用管理者により入力されたコマンドの内容に応じて実行することで、相互に矛盾する設定が為されることを回避した。しかし、これら３つの処理態様の全てを実装しなくとも、任意の２つ或いは１つを実装することで、相互に矛盾する設定が為されることを回避しても勿論良い。また、上述した実施形態では、コマンド本来の機能を果たすには引数が不足する場合に設定選択処理を実行して既存の設定内容からその不足分の引数を補うことを可能にしたが、このような引数の不足を書式誤りとして扱っても良いことは勿論である。
【００４３】
（４）上述した実施形態では、検証実行スイッチのオン／オフにより設定選択処理等の本実施形態に特徴的な処理を実行するか否かを切り換えたが、これらの処理を実行するか否かをコマンドの引数でコマンド毎に指定しても勿論良い。
【００４４】
（５）上述した実施形態では、中継装置１０の特徴を顕著に示すコマンド処理をコマンド処理部１５０のＣＰＵに実行させるコマンド処理プログラム１５１をそのコマンド処理部１５０の不揮発性メモリに予め書き込んでおいた。しかし、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）などのコンピュータ装置読み取り可能な記録媒体に上記コマンド処理プログラムを書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより上記コマンド処理プログラムを配布しても良い。このようにして配布されるコマンド処理プログラムにしたがって、パーソナルコンピュータなどの一般的なコンピュータ装置のＣＰＵを作動させることによって、そのコンピュータ装置を、変形例（１）に係るコマンド処理装置として機能させることが可能になる。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施形態に係る中継装置１０の構成例を示すブロック図である。
【図２】同中継装置１０の動作設定を行うためのコマンド入力例を示す図である。
【図３】同中継装置１０のコマンド処理部１５０に格納されているコマンドリストテーブル１５２の一例を示す図である。
【図４】同コマンド処理部１５０が実行するコマンド処理の流れを示すフローチャートである。
【図５】同コマンド処理部１５０が実行する設定選択処理の流れを示すフローチャートである。
【図６】同中継装置１０に既に設定されている設定内容の一例を示す図である。
【図７】同設定選択処理における表示装置４０の表示内容の一例を示す図である。
【図８】同コマンド処理部１５０が実行する設定検証処理の流れを示すフローチャートである。
【図９】同設定検証処理における表示装置４０の表示内容の一例を示す図である。
【図１０】同コマンド処理部１５０が実行する全体検証処理の流れを示すフローチャートである。
【図１１】同全体検証処理における表示装置４０の表示内容の一例を示す図である。
【図１２】変形例（１）に係るコマンド処理装置６０の一例を示す図である。
【符号の説明】
【００４６】
１０，１０Ａ…中継装置、２０…第１通信網、３０…第２通信網、４０…表示装置、５０…入力装置、６０…コマンド処理装置、１１０…通信処理部、１２０…第１通信Ｉ／Ｆ部、１３０…第２通信Ｉ／Ｆ部、１４０…記憶部、１４１…設定内容データ、１５０…コマンド処理部、１５１…コマンド処理プログラム、１５２…コマンドリストテーブル、１６０，１６０Ａ，１６０Ｂ…外部機器Ｉ／Ｆ部。
【図１】
2009282705.tif 000003
【図２】
2009282705.tif 000004
【図３】
2009282705.tif 000005
【図４】
2009282705.tif 000006
【図５】
2009282705.tif 000007
【図６】
2009282705.tif 000008
【図７】
2009282705.tif 000009
【図８】
2009282705.tif 000010
【図９】
2009282705.tif 000011
【図１０】
2009282705.tif 000012
【図１１】
2009282705.tif 000013
【図１２】
2009282705.tif 000014