(57)【要約】 【課題】電子機器のユーザがスクリプト言語やデバッグに関する知識を有していなくても、機能拡張用スクリプトを用いて当該電子機器の機能拡張を行えるようにする。【解決手段】電子機器に、所定のスクリプト言語で記述されたスクリプトを実行するスクリプト実行手段と、当該電子機器に新たな機能を実現させるための処理手順の上記スクリプト言語による記載例であるサンプルスクリプトを取得し、当該電子機器に固有の機能を実現させるパラメータの設定内容に応じたカスタマイズを施して自装置の機能拡張用スクリプトを生成し記憶するカスタマイズ手段とを設ける。スクリプト実行手段には、カスタマイズ手段により生成された機能拡張用スクリプトを実行させる。【選択図】図３
2014186432.tif 000002
【特許請求の範囲】
【請求項１】
予め設定されたパラメータにしたがって当該電子機器固有の機能を実現する手段を有する電子機器において、
所定のスクリプト言語で記述されたスクリプトを実行するスクリプト実行手段と、
電子機器に新たな機能を実現させるための処理手順の前記スクリプト言語による記載例であるサンプルスクリプトを取得し、前記パラメータの設定内容に応じたカスタマイズを当該サンプルスクリプトに施して自装置用の機能拡張用スクリプトを生成するカスタマイズ手段と、を備え、
前記スクリプト実行手段は、前記カスタマイズ手段により生成された機能拡張用スクリプトを実行する
ことを特徴とする電子機器。
【請求項２】
前記サンプルスクリプトに、当該サンプルスクリプトをカスタマイズして生成される機能拡張用スクリプトの実行に先立って新たなパラメータを設定することを促すコメント文字列が含まれている場合には、前記カスタマイズ手段には、前記カスタマイズにおいては前記コメント文字列をサンプルスクリプトから削除し、前記スクリプト実行手段による機能拡張用スクリプトの実行に先立って当該コメント文字列にしたがって新たなパラメータを設定する処理を実行させる
ことを特徴とする請求項１に記載の電子機器。
【請求項３】
当該電子機器固有の機能を実現する手段は、通信網を介してデータ通信を行う通信手段であることを特徴とする請求項１または請求項２に記載の電子機器。
【請求項４】
取得を所望するサンプルスクリプトをユーザに選択させるためのユーザインタフェース手段を備え、
前記カスタマイズ手段は、前記ユーザインタフェース手段を介してユーザにより取得を指示されたサンプルスクリプトを取得する
ことを特徴とする請求項１〜３の何れか１項に記載の電子機器。
【請求項５】
予め設定されたパラメータにしたがって固有の機能を実現する電子機器であって、所定のスクリプト言語で記述されたスクリプトを実行する機能を備えた電子機器と通信網を介して通信し、前記パラメータを取得する取得手段と、
前記電子機器に新たな機能を実現させるための処理手順の前記スクリプト言語による記載例であるサンプルスクリプトに、前記取得手段により取得したパラメータに応じたカスタマイズを施して前記電子機器用の機能拡張用スクリプトを生成する生成手段と、
を有することを特徴とするスクリプト生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器の機能拡張を実現する技術に関する。
【背景技術】
【０００２】
ルータなどの中継装置では、ＣＰＵ（Central Processing Unit）などの制御部をファームウェアと呼ばれるプログラムにしたがって作動させることで、データの転送制御が実現される。このため、従来、この種の中継装置に新たな機能を付与する機能拡張を行う際には、ファームウェアを更新することが必須であったが、近年では、ファームウェアを更新することなく機能拡張を実現する技術が種々提案されている。例えば、中継装置の制御部などのコンピュータに新たな機能を実現させる処理手順を所定のスクリプト言語を用いて記述した機能拡張用スクリプトを当該コンピュータに実行させることで、ファームウェアを更新することなく機能拡張を実現する、といった具合である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表平１０−５００５１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
機能拡張用スクリプトを用いて中継装置の機能拡張を行う場合、中継装置のユーザは、所望の機能を中継装置に実現させるための機能拡張用スクリプトを作成するなど、機能拡張用スクリプトを自分で用意する必要がある。しかし、機能拡張用スクリプトを作成することは、一般的なユーザにとっては難しい場合が多い。機能拡張用スクリプトを作成するには、その記述に用いるスクリプト言語についての知識やアルゴリズムについての知識が必要となるからである。
【０００５】
機能拡張用スクリプトを一から書き起こすことなく、中継装置の機能拡張を行えるようにするために、スクリプト言語による機能拡張用スクリプトの記載例（以下、サンプルスクリプト）を配布することも提案されている。このようにして配布されるサンプルスクリプトを各自の中継装置の設定内容に応じて書き換えれば、その中継装置用の機能拡張用スクリプトが得られるからである。しかし、一般的なユーザにとっては、サンプルスクリプトを各自の中継装置の設定内容に応じて書き換えることすら難しい場合があり、また、サンプルスクリプトを書き換えて作成した機能拡張用スクリプトが期待した通りの機能を実現するものであるのか、或いは予期せぬ不具合を引き起こさないかを検証するデバッグ作業を行うことも、一般的なユーザには敷居が高い。これは、スクリプト実行機能を備えた中継装置に固有の問題ではなく、スクリプト実行機能を有し、機能拡張用スクリプトにより機能拡張が可能な電子機器に共通する問題である。
【０００６】
本発明は上記課題に鑑みて為されたものであり、スクリプト実行機能を有する電子機器のユーザがスクリプト言語やデバッグに関する知識を有していなくても、機能拡張用スクリプトを用いて当該電子機器の機能拡張を行えるようにする技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明は、予め設定されたパラメータにしたがって当該電子機器固有の機能を実現する電子機器において、所定のスクリプト言語で記述されたスクリプトを実行するスクリプト実行手段と、電子機器に新たな機能を実現させるための処理手順の前記スクリプト言語による記載例であるサンプルスクリプトを取得し、前記パラメータの設定内容に応じたカスタマイズを当該サンプルスクリプトに施して自装置用の機能拡張用スクリプトを生成するカスタマイズ手段と、を備え、前記スクリプト実行手段は、前記カスタマイズ手段により生成された機能拡張用スクリプトを実行することを特徴とする電子機器、を提供する。
【０００８】
このような電子機器の具体例としては、第１の通信網と第２の通信網の何れか一方から他方へと送信されたデータの転送制御を予め設定されたパラメータにしたがって実行する転送制御手段を当該装置固有の機能を実現する手段として備え、さらに、所定のスクリプト言語で記述されたスクリプトを実行するスクリプト実行手段と、中継装置に新たな機能を実現させるための処理手順の前記スクリプト言語による記述例であるサンプルスクリプトを取得し、前記転送制御を規定するパラメータの設定内容に応じたカスタマイズを当該サンプルスクリプトに施して自装置用の機能拡張用スクリプトを生成するカスタマイズ手段と、を備え、前記カスタマイズ手段により生成された機能拡張用スクリプトを前記スクリプト実行手段に実行させることを特徴とする中継装置、が挙げられる。このような中継装置では、サンプルスクリプトをカスタマイズして当該中継装置用の機能拡張用スクリプトを生成する処理が当該中継装置によって実行される。このため、中継装置のユーザがサンプルスクリプトの書き換えを行う必要はなく、当該ユーザがスクリプト言語やアルゴリズムに関する知識、デバッグ技術を有していなくても特段の問題は生じない。上記課題を解決するための別の態様としては、中継装置の制御部を上記各手段として機能させるプログラムを提供する態様も考えられる。なお、特許文献１には、コンピュータに自動実行させるタスクを対話形式のユーザインタフェースを介して簡便に定義することを可能にする技術の開示があるが、特許文献１に開示の技術はサンプルスクリプトをカスタマイズして機能拡張用スクリプトを生成する技術ではなく、本願発明とは全く異なる発明である。
【０００９】
ところで、サンプルスクリプトには、当該サンプルスクリプトをカスタマイズして生成される機能拡張用スクリプトの実行に先立って新たなパラメータを設定することを促すコメント（機能拡張用スクリプトのソースコードの閲覧者に宛てた注意書き）を表す文字列（以下、コメント文字列）が含まれている場合がある。このようなサンプルスクリプトをユーザが手作業でカスタマイズして機能拡張用スクリプトを生成し、電子機器に実行させる場合には、そのカスタマイズの際にコメント文字列を削除し、さらに機能拡張用スクリプトの実行開始に先立ってそのコメント文字列の表すコメントにしたがったパラメータ設定を行っておく必要があった。そこで、サンプルスクリプトに、当該サンプルスクリプトをカスタマイズして生成される機能拡張用スクリプトの実行に先立って新たなパラメータを設定することを促すコメント文字列が含まれている場合には、カスタマイズの際に当該コメント文字列を削除し、スクリプト実行手段による機能拡張用スクリプトの実行に先立って当該コメント文字列の表すコメントにしたがって新たなパラメータを設定する処理をカスタマイズ手段に実行させるようにすれば良い。このような態様によれば、スクリプト言語やアルゴリズムに関する知識、デバッグ技術を有していないことは勿論、新たなパラメータの設定などの環境設定に関する知識も有していないユーザであっても、機能拡張用スクリプトを用いて、自身の利用する電子機器の機能拡張を実現することが可能になる。
【００１０】
また、サンプルスクリプトの具体的な記述態様としては、電子機器固有の機能を実現するためのパラメータの値、または当該パラメータの設定内容に応じて定まる新たなパラメータの値の引用箇所に、それらの値に換えてパラメータ毎に異なる識別子（例えば、文字列）を記述する態様が挙げられる。このようなサンプルスクリプトをユーザが手作業でカスタマイズして機能拡張用スクリプトを生成する場合、それら識別子を該当パラメータの値に書き換えるといった作業が行われていた。このようなサンプルスクリプトからの機能拡張用スクリプトの自動生成を可能とするため、カスタマイズ手段には、サンプルスクリプトに含まれている識別子と当該識別子の示すパラメータとを対応付けるパラメータ定義データをサンプルスクリプトとともに取得させ、取得したサンプルスクリプトに含まれている識別子を当該パラメータ定義データの内容にしたがって当該識別子の示すパラメータの値に書き換えて機能拡張用スクリプトを生成する処理を実行させても良い。
【００１１】
また、パラメータ定義データにおいて、電子機器固有の機能を実現するためのパラメータの設定内容に応じて定まる新たなパラメータに対応する識別子に、当該新たなパラメータの値についての各々異なる算出方法を示す複数のデータが対応づけられている場合には、カスタマイズ手段にはこれら複数種の算出方法の何れかにより上記新たなパラメータの値を算出させるようにしても良い。例えば、上記電子機器が中継装置である場合、複数種の算出方法の一例としては、中継装置に設定済みのパラメータを相互に突合せ、その突合せ結果に基づいて新たなパラメータ値を算出（或いは、特定）する方法や、中継装置を介して実行されたデータ通信の流れを解析して新たなパラメータ値を算出（或いは、特定）する態様が挙げられる。中継装置に設定済みのパラメータの相互の関係からは新たなパラメータの値を特定できない場合であっても、データ通信の流れに着目すれば当該パラメータの値を特定できる場合がある。このため、本態様によれば、新たなパラメータの値を全く算出できないといった不具合の発生頻度を低減させることができると期待される。
【００１２】
また、上記課題を解決するために本発明は、予め設定されたパラメータにしたがって固有の機能を実現する電子機器であって、所定のスクリプト言語で記述されたスクリプトを実行する機能を備えた電子機器と通信網を介して通信し、前記パラメータを取得する取得手段と、前記電子機器に新たな機能を実現させるための処理手順の前記スクリプト言語による記載例であるサンプルスクリプトに、前記取得手段により取得したパラメータに応じたカスタマイズを施して前記電子機器用の機能拡張用スクリプトを生成する生成手段と、を有することを特徴とするスクリプト生成装置、を提供する。
【００１３】
このような態様によっても、スクリプト実行機能を有する電子機器のユーザがスクリプト言語やデバッグに関する知識を有していなくても、機能拡張用スクリプトを用いて簡便に当該電子機器の機能拡張を行うことが可能になる。なお、スクリプト生成装置の具体例としては、サンプルスクリプトを格納した記憶部を有し、当該サンプルスクリプトを通信網を介して電子機器に配信するサンプルスクリプト配信装置が挙げられる。例えば、電子機器からその電子機器固有の機能を実現するためのパラメータを取得した場合には、サンプルスクリプトに換えて当該サンプルスクリプトに当該電子機器から取得したパラメータに応じたカスタマイズを施して生成した機能拡張用スクリプトを配信する処理を実行させるのである。また、上記電子機器がルータなどの中継装置である場合には、当該中継装置配下の端末装置に上記スクリプト生成装置の役割を担わせても良い。具体的には、中継装置を介して取得したサンプルスクリプトに当該中継装置から取得したパラメータに応じたカスタマイズを施して当該中継装置用の機能拡張用スクリプトを生成して当該中継装置に与える処理を上記端末装置に実行させるのである。なお、本発明の別の態様としては、パーソナルコンピュータなどの一般的なコンピュータを上記取得手段および生成手段として機能させるプログラムを配布する態様も考えられる。
【図面の簡単な説明】
【００１４】
【図１】本発明に係る電子機器の一実施形態である中継装置１０を含む通信システム１の構成例を示す図である。
【図２】サンプルスクリプト配信装置２０に記憶されているサンプルスクリプトの一例を示す図である。
【図３】中継装置１０の構成例を示すブロック図である。
【図４】中継装置１０に対して各種設定作業を行うためのコンピュータ装置の表示部に表示される設定メニュー画面の一例を示す図である。
【図５】通信システム１における通信シーケンスの一例を示す図である。
【図６】中継装置１０に付与される新規機能である通信状態監視機能における処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照しつつ本発明の一実施形態について説明する。
図１は、本発明の一実施形態の中継装置１０を含む通信システム１の構成例を示すブロック図である。この通信システム１は、例えば企業における情報システムを為すものである。この通信システム１は、上記企業の本社内に敷設された本社側ＬＡＮ（Local Area Network）と同企業の支店に敷設された支店側ＬＡＮとをインターネットなどの広域網に接続して構成されている。図１に示すように、本社側ＬＡＮはルータなどの中継装置を介して広域網に接続されており、支店側ＬＡＮは中継装置１０を介して広域網に接続されている。
【００１６】
中継装置１０は、例えばルータであり、支店側ＬＡＮに接続されているパーソナルコンピュータＰＣ１或いはＰＣ２と、インターネットに接続されているＷＷＷサーバ装置或いは本社側ＬＡＮに接続されているＰＣ３との間でＴＣＰ／ＩＰ（Transport Control Protocol/Internet Protocol）に従って送受信されるデータの転送制御を行う。中継装置１０では、ＣＰＵなどにより構成された制御部をファームウェアにしたがって作動させることで上記転送制御が実現される。また、中継装置１０は、所定のスクリプト言語（本実施形態では、Ｌｕａ）を用いて記述されたスクリプトを実行するスクリプト実行機能を有している。このため、中継装置１０のユーザは、中継装置１０に新たな機能を実現させるための処理手順を上記スクリプト言語で記述した機能拡張用スクリプトを中継装置１０に実行させることで、中継装置１０の機能拡張を行うことができる。本実施形態において上記スクリプト言語としてＬｕａを採用したのは、ｐｅｒｌやＪａｖａ（登録商標）などの他のスクリプト言語に比較してスクリプト実行処理の処理負荷が小さく、ルータへの組み込みに好適だからである。
【００１７】
中継装置１０のユーザ（例えば支店側ＬＡＮの運用管理者）は、上記機能拡張用スクリプトの記載例であるサンプルスクリプトを、広域網に接続されたサンプルスクリプト配信装置２０からのダウンロードにより入手することができる。サンプルスクリプト配信装置２０は、中継装置１０の製造・販売元の企業によって運用管理されているＷＷＷサーバ装置である。サンプルスクリプト配信装置２０には、当該製造・販売元により作成されたサンプルスクリプトが予め記憶されている。図２（ａ）は、サンプルスクリプト配信装置２０に記憶されているサンプルスクリプトの一例を示す図である。このサンプルスクリプトでは、中継装置におけるデータの転送制御を規定する各種パラメータ（ＬＡＮインタフェース番号やそのＬＡＮインタフェースの配下のパーソナルコンピュータに割り当てられてられるＩＰアドレスの範囲（例えば、ＤＨＣＰにより各パーソナルコンピュータへの通信アドレスの割り当てを行う場合には、ＤＨＣＰスコープの設定番号）など）を引用する箇所に、当該パラメータの具体的な値に換えて当該パラメータを示す識別子が記述されている。
【００１８】
例えば、図２（ａ）に示すサンプルスクリプトでは、ローカルネットワーク側のＬＡＮインタフェースとして機能しスイッチ制御機能を実現している通信インタフェース部のＬＡＮインタフェース番号に換えて、“PRM_STR_SWITCH_ USING_ LAN_IFNUM”という識別子が記述されている。また、図２（ａ）のサンプルスクリプトにおける“PRM_NUM_DHCP_SCOPE_ LANIF1”という識別子は、ローカルネットワーク側のＬＡＮインタフェースのＤＨＣＰスコープ設定番号を示している。そして、図２（ａ）に示すサンプルスクリプトにおける識別子“@CFG@”以下の各行は、機能拡張用スクリプトの実行に先立って、これら各行の示すパラメータ設定を行っておくことをユーザに促すコメント文字列である。
【００１９】
このように、サンプルスクリプトではデータ転送制御を規定する各種パラメータの具体的な値に換えてそれらパラメータを示す識別子が記述されており、また、図２（ａ）に示すように、パラメータの追加設定をユーザに促すコメント文字列が含まれている場合もある。このため、サンプルスクリプト配信装置２０から取得したサンプルスクリプトをそのまま機能拡張用スクリプトとして中継装置１０に実行させることはできない。従来は、中継装置１０のユーザは、テキストエディタなどを用いてサンプルスクリプトにおける各識別子を該当するパラメータの値に書き換えるといった作業や、コメント文字列の削除およびコメント文字列の示すパラメータの追加設定などの作業を行わねばならなかった。
【００２０】
例えば、ローカルネットワーク側のＬＡＮインタフェースとして機能しスイッチ制御機能を実現している通信インタフェース部のＬＡＮインタフェース番号が“１”であり、ローカルネットワーク側のＬＡＮインタフェースのＤＨＣＰスコープの設定番号が“５”である場合には、図２（ｂ）に示すようにサンプルスクリプトを書き換えて機能拡張用スクリプトとし、さらに図２（ｃ）に示す設定を中継装置１０の設定ファイルに書き加えるといった作業を行わねばならなかった。しかし、これらの作業が一般的なユーザにとって敷居の高いものであることは前述した通りである。これに対して、本実施形態では、自装置におけるデータ転送制御を規定するパラメータに応じてサンプルスクリプトを書き換える処理や、コメント文字列の削除およびコメント文字列の示す追加設定を中継装置１０に実行させることで、上記問題点が解決される。
以下、本実施形態の特徴を顕著に示す中継装置１０を中心に説明する。
【００２１】
図３（ａ）は、中継装置１０の構成例を示すブロック図である。
図３（ａ）に示すように中継装置１０は、制御部１００、第１通信インタフェース（以下、「Ｉ／Ｆ」）部１１０、第２通信Ｉ／Ｆ部１２０、外部機器Ｉ／Ｆ部１３０、記憶部１４０、および、これら構成要素間のデータ授受を仲介するバス１５０を含んでいる。制御部１００はＣＰＵであり、記憶部１４０（より正確には、記憶部１４０に含まれている不揮発性記憶部１４４）に格納されているプログラムを実行することにより、中継装置１０の制御中枢として機能する。詳細については後述するが、本実施形態では、中継装置１０のファームウェアである通信制御プログラム１４４ａ、および機能拡張プログラム１４４ｂの２種類のプログラムが不揮発性記憶部１４４に予め格納されている。
【００２２】
第１通信Ｉ／Ｆ部１１０は、ＮＩＣ（Network Interface Card）であり、図１の支店側ＬＡＮに接続されている。第１通信Ｉ／Ｆ部１１０は、支店側ＬＡＮから送信されてくるパケットを受信して制御部１００へ引渡す一方、制御部１００から引渡されるパケットを支店側ＬＡＮへと送出する。第２通信Ｉ／Ｆ部１２０も第１通信Ｉ／Ｆ部１１０と同様にＮＩＣであり、広域網に接続されている。この第２通信Ｉ／Ｆ部１２０は、広域網から送信されてくるパケットを受信して制御部１００へ引渡す一方、制御部１００から受け取ったパケットを広域網へと送出する。
【００２３】
外部機器Ｉ／Ｆ部１３０は、ＵＳＢ（Universal Serial Buss）メモリ等の外部記憶媒体やシリアルコンソールなどの外部機器との間で所定のプロトコル（ＵＳＢやＲＳ−２３２Ｃ）にしたがってデータの授受を行うためのものである。例えば、外部機器としてＵＳＢメモリを用いる場合には、ＵＳＢインタフェースで外部機器Ｉ／Ｆ部１３０を構成すれば良く、外部機器としてシリアルコンソールを用いる場合には、ＲＳ−２３２Ｃインタフェースなどのシリアルインタフェースで外部機器Ｉ／Ｆ部１３０を構成すれば良い。外部機器Ｉ／Ｆ部１３０は、この外部機器Ｉ／Ｆ部１３０に接続される外部機器から中継装置１０に対して各種指示やデータを与えるためのものである。
【００２４】
記憶部１４０は、図３（ａ）に示すように揮発性記憶部１４２と不揮発性記憶部１４４を含んでいる。揮発性記憶部１４２は、例えばＲＡＭ（Random Access Memory）であり、各種プログラムを実行する際のワークエリアとして制御部１００によって利用される。また、揮発性記憶部１４２には、データ転送制御を行う際に参照されるデータ（例えば、ルーティングテーブル）が格納される。一方、不揮発性記憶部１４４は、ハードディスクやフラッシュメモリである。図３（ａ）に示すように不揮発性記憶部１４４には、前述した通信制御プログラム１４４ａおよび機能拡張プログラム１４４ｂの他に、ブラウザを用いて中継装置１０の動作設定を行う際の設定メニュー画面を表すＨＴＭＬデータ（図３（ａ）では図示略）と設定ファイル１４４ｃとが格納されている。なお、外部機器Ｉ／Ｆ部１３０にシリアルコンソールを接続し、当該シリアルコンソールに対する操作により動作設定を行わせる場合には、上記ＨＴＭＬデータを不揮発性記憶部１４４に格納しておく必要はない。
【００２５】
図４は、本実施形態における設定メニュー画面の一例を示す図である。図４に示す設定メニュー画面は、中継装置１０からダウンロードしたＨＴＭＬデータをブラウザに解釈させることによりそのダウンロード先のパーソナルコンピュータの表示部に表示される。図４に示す設定メニュー画面では、仮想ボタンＢ０１、Ｂ０２およびＢ０３をマウスクリック等することで、一般的なブラウザ画面と同様に、設定メニュー画面の最小化、最大化および破棄を指示することができる。
【００２６】
図４に示す設定メニュー画面の領域Ａ０１には、中継装置１０の制御部１００が通信制御プログラム１４４ａにしたがって実現する通信制御機能についての設定項目が配列されており、これら設定項目の各々にはパラメータ等の変更等を制御部１００に指示するためのリンク情報が対応付けられている。図４に示す設定メニュー画面では、これら設定項目をマウスクリック等することで、一般的なブラウザ画面と同様に該当する設定項目の変更を制御部１００に指示し、該当するパラメータの更新等を行わせることができる。
【００２７】
図４に示す設定メニュー画面の領域Ａ０２には、中継装置１０の機能拡張を実現するための機能拡張メニューがインラインフレーム等を利用して表示される。より詳細に説明すると、機能拡張メニューは、中継装置１０からダウンロードしたＨＴＭＬデータとは別個にサンプルスクリプト配信装置２０からダウンロードするＨＴＭＬデータにしたがって表示される。サンプルスクリプト配信装置２０には当該サンプルスクリプト配信装置２０によって配信可能な機能拡張用スクリプトのサンプルについての機能拡張メニューを表すＨＴＭＬデータが格納されている。そして、中継装置１０の不揮発性記憶部１４４に格納されているＨＴＭＬデータには、当該ＨＴＭＬデータのダウンロード先のブラウザに対して機能拡張メニューのＨＴＭＬデータのダウロードを指示するリンク情報が埋め込まれている。中継装置１０から設定メニュー画面のＨＴＭＬデータをダウンロードしたパーソナルコンピュータは、当該ＨＴＭＬデータに埋め込まれているリンク情報にしたがってサンプルスクリプト配信装置２０から機能拡張メニューのＨＴＭＬデータをダウンロードし、このＨＴＭＬデータの取得を契機として図４に示す設定メニュー画面を表示する。このため、中継装置１０の製造・販売元の企業が新たなサンプルスクリプトの配布を開始する場合には、当該サンプルスクリプトをサンプルスクリプト配信装置２０に記憶させ、さらに当該サンプルスクリプトに関する情報の掲載されたものに機能拡張メニューのＨＴＭＬデータを更新しておけば良く、中継装置１０に格納されているＨＴＭＬデータ（設定メニュー画面のＨＴＭＬデータ）を更新したり、中継装置１０のファームウェアを更新することなく、当該新たな機能を中継装置１０のユーザに利用させることができる。
【００２８】
図４の領域Ａ０２に表示される機能拡張メニューには、サンプルスクリプト配信装置２０によって配信可能な機能拡張用スクリプトのサンプル（すなわち、拡張可能な機能）毎に当該機能の使用の可否をユーザに指定させるためのラジオボタンと当該機能の詳細な説明文とが掲載されている。拡張機能の使用をユーザに指示させるラジオボタンには、当該拡張機能を制御部１００に実現させる機能拡張用スクリプトのサンプルへのリンク情報が対応付けられており、当該ラジオボタンをマウスクリック等することで当該サンプルスクリプトのダウンロードを指示することができる。機能拡張メニューに対する操作によって新たな機能のサンプルスクリプトのダウンロードを指示されたパーソナルコンピュータは、上記リンク情報にしたがってサンプルスクリプト配信装置２０にアクセスして該当するサンプルスクリプトをダウンロードする。そして、上記パーソナルコンピュータは、設定メニュー画面のＨＴＭＬデータの配信元（本実施形態では、中継装置１０）に当該サンプルスクリプトを送信し、カスタマイズして実行することを指示する。
【００２９】
設定ファイル１４４ｃには、中継装置１０におけるデータ転送制御を規定する各種パラメータ（前述したＬＡＮインタフェース番号等）を示す識別子に対応づけて、当該パラメータの具体的な設定値が書き込まれている。なお、機能拡張用スクリプトの実行に先立って新たなパラメータを設定する必要がある場合には、当該新たなパラメータの設定値をそのパラメータを示す識別子と対応づけて設定ファイル１４４ｃに追記すれば良い。通信制御プログラム１４４ａは、支店側ＬＡＮと本社側ＬＡＮの何れか一方から他方へと送信されたデータの転送制御を設定ファイル１４４ｃに書き込まれた各種パラメータにしたがって実行する転送制御処理を制御部１００に実行させるプログラムである。制御部１００は、中継装置１０の電源投入を契機として通信制御プログラム１４４ａの実行を開始し、以降、上記転送制御処理を実行する転送制御手段（図３（ｂ））として機能する。この通信制御プログラム１４４ａにしたがって実行される転送制御処理については、従来のルータにおけるものと特段に変わるところはないため、詳細な説明を省略する。
【００３０】
機能拡張プログラム１４４ｂは、カスタマイズ処理およびスクリプト実行処理を制御部１００に実行させるプログラムである。本実施形態では、機能拡張プログラム１４４ｂについても中継装置１０の電源投入を契機としてその実行が開始される。制御部１００は機能拡張プログラム１４４ｂを実行することにより、図３（ｂ）に示すように、カスタマイズ処理を実行するカスタマイズ手段として機能するとともに、スクリプト実行処理を実行するスクリプト実行手段として機能する。
【００３１】
カスタマイズ処理は、サンプルスクリプトと当該サンプルスクリプトと対になるパラメータ定義データとを配下のパーソナルコンピュータから受信したことを契機としてその実行が開始される処理である。パラメータ定義データとは、サンプルスクリプトとともにサンプルスクリプト配信装置２０から配信されるデータであり、当該パラメータ定義データとともに配布されるサンプルスクリプトに含まれる識別子を設定ファイル１４４ｃに格納されている各パラメータと対応づけるデータである。このような、パラメータ定義データの具体例としては、サンプルスクリプトに含まれる識別子と当該識別子の示すパラメータの具体的な設定値と対応付けて設定ファイル１４４ｃに書き込まれている識別子とを対応づけたデータが挙げられる。
【００３２】
カスタマイズ処理では、制御部１００は、パラメータ定義データにしたがって、サンプルスクリプトに含まれている識別子を設定ファイル１４４ｃに格納されているパラメータの値に置き換えて自装置用の機能拡張用スクリプトを生成し不揮発性記憶部１４４に格納する。なお、サンプルスクリプトに、新たなパラメータの設定を促すコメント文字列（図２（ａ）に示す例では、@CHG@以降の各行）が含まれている場合には、制御部１００は、当該コメント文字列にしたがって設定ファイル１４４ｃに新たなパラメータを追記する処理、および上記識別子とパラメータとの置き換えを施したスクリプトから当該コメント文字列を削除する処理も実行する。
以上がカスタマイズ処理の内容である。
【００３３】
スクリプト実行処理とは、機能拡張用スクリプトを実行する処理である。本実施形態では、機能拡張用スクリプトを記述するためのスクリプト言語としてＬｕａが採用されている。このため、スクリプト実行処理には、実行対象の機能拡張用スクリプトに記述されている各処理手順を構成する命令をバイトコードと呼ばれる中間コードに変換する処理と、そのバイトコードをＬｕａＶＭにより実行する処理とが含まれている。スクリプト実行処理の実行契機については種々の態様が考えられる。具体的には、カスタマイズ処理を実行して新たな機能拡張用スクリプトを生成したこと、配下のパーソナルコンピュータから実行指示を与えられたなど所定のイベントが発生したことなどが挙げられる。
以上が中継装置１０の構成である。
【００３４】
次いで、中継装置１０の機能拡張を実現する手順に即して、本実施形態の動作を説明する。中継装置１０の機能拡張を所望する場合、ユーザは支店側ＬＡＮに接続されたパーソナルコンピュータ（本動作例では、パーソナルコンピュータＰＣ１）にてＷＷＷブラウザを起動し、設定メニュー画面のＨＴＭＬデータのダウンロード指示を与える。パーソナルコンピュータＰＣ１の制御部は、上記ＨＴＭＬデータのダウンロードを要求する要求メッセージＱ１００を当該指示にしたがって中継装置１０へ送信する（図５参照）。中継装置１０の制御部１００は当該要求メッセージＱ１００を受信すると、不揮発性記憶部１４４から上記ＨＴＭＬデータを読み出し、当該ＨＴＭＬデータをペイロード部に書き込んだ応答メッセージＲ１００を返信する（図５参照）。
【００３５】
パーソナルコンピュータＰＣ１の制御部は、応答メッセージＲ１００を受信すると、当該応答メッセージＲ１００のペイロードに書き込まれているＨＴＭＬデータを読み出し、ブラウザを用いて当該ＨＴＭＬデータの表す設定メニュー画面の表示処理を開始する。前述したように、当該ＨＴＭＬデータには、設定メニュー画面の領域Ａ０２に機能拡張メニューを表示させるためのリンク情報が埋め込まれている。パーソナルコンピュータＰＣ１の制御部は、機能拡張メニューのＨＴＭＬデータのダウンロードを要求する要求メッセージＱ１１０を上記リンク情報にしたがってサンプルスクリプト配信装置２０へ送信する（図５参照）。サンプルスクリプト配信装置２０の制御部は当該要求メッセージＱ１１０を受信すると、機能拡張メニューを表すＨＴＭＬデータをペイロード部に書き込んだ応答メッセージＲ１１０を返信する（図５参照）。パーソナルコンピュータＰＣ１の制御部は、当該応答メッセージＲ１１０を受信して設定メニュー画面の表示に必要なデータが全て揃うと、図４に示す設定メニュー画面を表示部に表示させる（図５：ステップＳ１００）。
【００３６】
図４に示す設定メニュー画面を視認したユーザは、機能拡張メニューのラジオボタンを操作することによって、新に使用を所望する機能（図４における、機能Ａおよび機能Ｂ）を選択し、当該機能拡張を実現するための機能拡張用スクリプトのサンプルのダウンロードをパーソナルコンピュータＰＣ１の制御部に指示することができる。パーソナルコンピュータＰＣ１の制御部は、ユーザによりダウンロードを指示されたサンプルスクリプトのダウンロードを要求する要求メッセージＱ１２０を生成し、当該要求メッセージＱ１２０をサンプルスクリプト配信装置２０へ送信する（図５参照）。サンプルスクリプト配信装置２０は、要求メッセージＱ１２０を受信すると、当該要求メッセージＱ１２０にてダウンロードを要求されたサンプルスクリプトおよび当該サンプルスクリプトと対になるパラメータ定義データを自装置の記憶部から読み出し、当該サンプルスクリプトおよびパラメータ定義データをペイロード部に書き込んだ応答メッセージＲ１２０を返信する。
【００３７】
パーソナルコンピュータＰＣ１の制御部は、応答メッセージＲ１２０を受信すると、この応答メッセージＲ１２０のペイロード部に書き込まれているサンプルスクリプトおよびパラメータ定義データを読み出し、ペイロード部に当該サンプルスクリプトとパラメータ定義データとを書き込んだ通信メッセージであって、当該サンプルスクリプトを対象としてカスタマイズ処理およびスクリプト実行処理を実行することを指示する要求メッセージＱ１３０を生成し、当該要求メッセージＱ１３０を中継装置１０へ送信する。
【００３８】
中継装置１０の制御部１００は、要求メッセージＱ１３０を受信すると、この要求ンメッセージＱ１３０のペイロード部に書き込まれているサンプルスクリプトとパラメータ定義データを読み出し、前述したカスタマイズ処理Ｓ１１０（すなわち、サンプルスクリプトに含まれているパラメータを示す識別子を当該パラメータの設定値に書き換える処理、さらにコメント文字列の削除およびコメント文字列にしたがった新たなパラメータの設定を行う処理）を実行し、さらにカスタマイズ処理Ｓ１１０により生成した機能拡張用スクリプトを実行するスクリプト実行処理Ｓ１２０を実行する。これにより、ユーザにより中継装置１０の機能拡張が実現される。
【００３９】
ここで、機能拡張用スクリプトの実行により中継装置１０に付与される新たな機能としては、常駐型の機能（当該機能を実現する処理手順に無限ループが含まれており、割り込み処理等により実行停止が指示されるまで処理を継続する機能）と、ターンアラウンド型の機能（処理結果の記憶や出力で処理を終了する機能）とが考えられる。例えば、ターンアラウンド型の機能の一例としては、設定ファイル１４４ｃの設定内容や中継装置１０の稼動ログファイルを所定の出力先（外部機器Ｉ／Ｆ部１３０に接続されたシリアルコンソールやＵＳＢメモリ、或いは支店側ＬＡＮに接続されたパーソナルコンピュータ）に出力する機能が挙げられる。このような機能を付与することで、中継装置１０に対する動作設定の設定内容や稼動ログのレポート出力が可能となり、中継装置１０の運用管理がし易くなる、といった利点がある。
【００４０】
これに対して、常駐型の機能の一例としては、図６に示すフローチャートで処理手順が示される通信状態監視機能が挙げられる。この通信状態監視機能は、一定の時間間隔（本実施形態では、６００秒）で中継装置１０を介したデータ通信の通信状態を監視し、その監視結果に応じたＱｏＳ（Quality of Service）の開始（或いは停止）およびその監視結果を所定の宛先に通知する機能である。図６に示すように、この通信状態監視機能は、所定回数だけｐｉｎｇパケットを支店側ＬＡＮのゲートウェイ装置（図示略）へ送信する処理（ステップＳＡ１００）、これらｐｉｎｇパケットに対する応答パケットの受信数から算出されるパケットロス率に応じてＱｏＳの開始および停止を制御する処理（ステップＳＡ１１０、ＳＡ１２０、ＳＡ１５０およびＳＡ１６０）、その監視結果を示すデータを所定の宛先へ電子メール等で通知する処理（ステップＳＡ１３０）、および、６００秒間の休眠を行う処理（ステップＳＡ１４０）を順次実行することで実現される。常駐型の機能の他の具体例としては、特定の通信ログが稼働ログファイルに出力されたか否かを監視し、特定の通信ログが出力されたことを契機として通知処理等を実行し、再度、当該特定の通信ログが出力されるまで休眠するといった態様も考えられる。なお、常駐型の機能の場合には、中継装置１０の電源が投入される毎（或いはリセットされる毎）に当該機能を実現する機能拡張用スクリプトを対象としてスクリプト実行処理を制御部１００に実行させるようにすれば良い。
【００４１】
上記通信状態監視機能を中継装置１０に実現させる機能拡張用スクリプトのサンプルの一例としては、図６に示す処理手順をＬｕａにより記述したサンプルスクリプトが挙げられる。ここで、ｐｉｎｇパケットをゲートウェイ装置へ送信する際には、ゲートウェイ装置の通信アドレスが必要となるのであるが、ゲートウェイ装置の通信アドレスは中継装置毎に異なることが一般的である。このため、サンプルスクリプトでは、ゲートウェイ装置の通信アドレスの具体的な値に換えて当該通信アドレスを示す識別子が記載されている。制御部１００は、上記パラメータ定義データおよび設定ファイル１４４ｃを参照して上記識別子をゲートウェイ装置の通信アドレスに置き換え、自装置用の機能拡張用スクリプトを生成し実行するのである。
【００４２】
このように、本実施形態によれば、サンプルスクリプトを自装置用にカスタマイズして機能拡張用スクリプトを生成する処理が中継装置１０の制御部１００によって実行されるため、中継装置１０のユーザがスクリプト言語やアルゴリズムに関する知識やデバック技術を有していなくても、機能拡張用スクリプトを用いて中継装置１０の機能拡張を行うことが可能になる。
【００４３】
以上本発明の一実施形態について説明したが、この実施形態を以下のように変形しても勿論良い。
（１）上記実施形態では、ルータへの本発明の適用例を説明したが、スイッチングハブに本発明を適用しても勿論良い。要は、第１および第２の通信網に接続され、これら２つの通信網の一方から他方へと送信されたデータの転送制御を予め設定されたパラメータにしたがって行う機能と、スクリプト実行機能とを備えた中継装置であれば、本発明を適用することができる。また、本発明の適用対象はルータやスイッチングハブに限定されるものではなく、予め設定されたパラメータにしたがってデータ通信を行う通信手段を備えた通信装置（例えば、所謂スマートフォンなどの移動通信端末）、携帯型或いは据え置き型のゲーム機、電子楽器や所謂情報家電であっても良い。要は、予め設定されたパラメータにしたがって固有の機能を実現する手段（図３（ｂ）における転送制御手段に相当する手段、ゲーム機であれば、ゲームプログラムの解釈および実行を行い、設定されたパラメータに応じてゲーム画面の表示制御や音声出力制御を行う手段、電子楽器であればユーザの操作および設定されたパラメータに応じて楽音データを生成する手段など）を有する電子機器であって、スクリプト実行手段を備えた電子機器であれば、本発明を適用すること（すなわち、カスタマイズ手段を設け、当該カスタマイズ手段によりカスタマイズされた機能拡張用スクリプトをスクリプト実行手段に実行させること）によって機能拡張用スクリプトによる機能拡張を簡便に実現することができる。
【００４４】
例えば、ゲーム機に本発明を適用する場合には、ユーザにより設定された音量バランス（効果音、セリフおよびＢＧＭの音量バランス）をゲームの種類毎に記憶し、ユーザにより実行を指示されたゲームの種類に応じて音量バランスを自動調整する処理を実現する機能拡張用スクリプトを用いることが考えられる。アクションゲームなどにおいては効果音やＢＧＭの音量が大きいほうが好ましく、ロールプレイングゲームにいてはセリフの音量が大きい方が好ましいなど、最適な音量バランスはゲームの種類に応じて異なることが多い。その一方、実行するゲームを変える毎に音量バランスを規定するパラメータを逐一設定し直すことは煩わしい。上記機能拡張用スクリプトによる機能拡張を行えば、このような煩わしさを解消することができるからである。
【００４５】
（２）上記実施形態では、転送制御処理、カスタマイズ処理およびスクリプト実行処理は何れも制御部１００によって実行される。カスタマイズ処理については機能拡張用スクリプトの取得時にのみ実行されるため特に問題となることはないが、スクリプト実行処理の処理負荷が大きすぎると転送制御処理に支障が生じ、パケットロスが発生するなどの不具合が生じる虞がある。そこで、新たに追加される機能が常駐型のものである場合には、スクリプト実行処理による処理負荷が所定の閾値を上回らないようにその実行を制限する処理を制御部１００に実行させるようにしても良い。また、転送制御処理の実行状況（すなわち、転送制御処理の処理負荷の大きさ）に応じて上記閾値を動的に更新するようにしても良い。例えば、転送制御処理の処理負荷が大きいほど上記閾値を小さくする（例えば、上記閾値をカスタマイズ処理において環境変数として設定しておき、転送制御処理の処理負荷に応じてその環境変数を更新する）のである。さらに、上記のような不具合が発生しないようにするため、ファームウェアを実行する手段と、カスタマイズ処理およびスクリプト実行処理を実行する手段とを各々別個に設けても良い。
【００４６】
（３）上記実施形態では、中継装置１０配下のパーソナルコンピュータＰＣ１にサンプルスクリプト配信装置２０からサンプルスクリプトをダウンロードさせ、当該パーソナルコンピュータＰＣ１から中継装置１０にサンプルスクリプトを与える場合について説明した。しかし、要求メッセージＱ１２０に代えて、サンプルスクリプトのダウンロードを指示する通信メッセージをパーソナルコンピュータＰＣ１から中継装置１０へ送信し、この通信メッセージの受信を契機として中継装置１０の制御部１００にサンプルスクリプト配信装置２０からのサンプルスクリプトの取得（ダウンロード）を行わせ、当該サンプルスクリプトを対象としてカスタマイズ処理およびスクリプト実行処理を実行させるようにしても良い。また、中継装置１０と通信して設定ファイル１４４ｃを取得し、設定ファイル１４４ｃに含まれているパラメータに応じたカスタマイズをサンプルスクリプトに施して中継装置１０用の機能拡張用スクリプトを生成するスクリプト生成装置を中継装置１０とは別個に通信システム１に設けても良い。例えば、サンプルスクリプト配信装置２０に上記スクリプト生成装置の役割を兼ねさせても良く、また、中継装置１０配下のパーソナルコンピュータに上記スクリプト生成装置の役割を兼ねさせても良い。
【００４７】
例えば、サンプルスクリプト配信装置２０に上記スクリプト生成装置の役割を兼ねさせる場合には、中継装置１０から設定ファイル１４４ｃを取得し、要求メッセージＱ１２０のペイロード部に当該設定ファイル１４４ｃを追記して送信する処理をパーソナルコンピュータＰＣ１に実行させ、当該設定ファイル１４４ｃを参照してカスタマイズした機能拡張用スクリプトを応答メッセージＲ１２０に書き込んで返信する処理をサンプルスクリプト配信装置２０に実行させるようにすれば良い。また、当該サンプルスクリプト配信装置２０によるスクリプト配信態様として、サンプルスクリプトをそのまま配信する態様と、カスタマイズ済の機能拡張用スクリプトを配信する態様の２種類を用意し、前者については無料で中継装置１０のユーザに利用させる一方、後者については有料で利用させるようにすることも考えられる。なお、有料サービスの利用が可能なユーザであるか否かについては、要求メッセージＱ１１０（或いはＱ１２０）の受信時にユーザ認証を行って判定するようにすれば良い。一方、中継装置１０配下のパーソナルコンピュータに上記スクリプト生成装置の役割を兼ねさせる場合には、例えばＵＳＢメモリなどの外部記憶装置にサンプルスクリプトを書き込んでおき、当該外部記憶装置を当該パーソナルコンピュータに接続することでサンプルスクリプトを与えるようにしても良い。
【００４８】
（４）上記実施形態では、パラメータ定義データとして、各パラメータを示すものとしてサンプルスクリプトに書き込まれている識別子と、それらパラメータの具体的な設定値と対応付けて設定ファイル１４４ｃに書き込まれている識別子とを対応づけたデータを用いた。しかし、各パラメータを示すものとしてサンプルスクリプトを記述する際に用いる識別子として、設定ファイル１４４ｃにおけるものと同一のものを用いる場合には、サンプルスクリプトとともにパラメータ定義データを配信する必要はない。また、サンプルスクリプトに含まれる識別子は、設定ファイル１４４ｃにて規定されている何れかのパラメータを示すものには限定されず、これらパラメータの相互の関係に応じて算出される新たなパラメータを示すものであっても良い。このようなパラメータの一例としては、例えば機能拡張用スクリプトによりフィルタリング機能（例えば、支店側ＬＡＮに含まれるパーソナルコンピュータによる外部へのアクセスを禁止する機能）を中継装置１０に付与する際に、フィルタリング対象の装置を中継装置１０に識別させるためのパラメータが挙げられる。このようなパラメータは、設定ファイル１４４ｃには直接格納されてはいないが、支店側ＬＡＮのＬＡＮインタフェース番号を設定ファイル１４４ｃを参照して特定し、さらに当該ＬＡＮインタフェース番号の示すＬＡＮインタフェースに対応するＤＨＣＰ設定番号を参照することで、フィルタリング対象の装置を中継装置１０に識別させるためのパラメータを特定することができる。
【００４９】
また、パラメータ定義データにおいて、転送制御処理を規定するパラメータの設定内容に応じて定まる新たなパラメータに対応する識別子に、当該新たなパラメータの値についての各々異なる算出方法を示す複数のデータを対応付けておいても良い。ここで、複数種の算出方法の一例としては、フィルタリング対象の装置を中継装置１０に識別させるためのパラメータの特定のように、中継装置１０に設定済みのパラメータを相互に突合せ、その突合せ結果に基づいて新たなパラメータ値を算出（或いは、特定）する方法や、中継装置１０を介して実行されたデータ通信の流れを解析して新たなパラメータ値を算出（或いは、特定）する方法が挙げられる。中継装置に設定済みのパラメータの相互の関係からは新たなパラメータの値を特定できない場合であっても、データ通信の流れに着目すれば当該パラメータの値を特定できるといったことは起こり得る。このため、新たなパラメータの値についての各々異なる算出方法を示す複数のデータをパラメータ定義データに含めておき、これら複数種の方法を順次制御部１００に実行させることで、新たなパラメータの値を全く算出できないといった不具合の発生頻度を低減させることができると期待される。
【００５０】
（５）上記実施形態では、中継装置１０に付与する新たな機能における処理手順の全てを機能拡張用スクリプトにて規定するのではなく、所定の通信装置へｐｉｎｇを送信する機能や所定の宛先へ電子メールを送信する機能など中継装置での利用頻度が高いと考えられる機能を実現するスクリプトを関数化してライブラリを作成し、これらライブラリに含まれている関数を呼び出すためのインタフェース（所謂ＡＰＩ：Application Programming Interface)を用意しておいても良い。このようなライブラリの提供、およびＡＰＩの公開を行うことで、所定の通信装置へｐｉｎｇを送信する機能を実現するためのスクリプトを逐一記述する必要がなくなり、サンプルスクリプトや機能拡張用スクリプトの作成が容易になる。なお、上記各関数についてはスクリプト言語でその処理手順を記述しても良く、また、Ｃ言語や機械語などでその処理手順を記述しても良い。
【００５１】
（６）上記実施形態では、中継装置１０の機能を拡張するためのスクリプトの記述言語としてＬｕａを用いたが、制御部１００の処理能力や記憶部１４０の記憶容量に余裕がある場合には、ＰｅｒｌやＪａｖａ（登録商標）などの他のスクリプト言語を用いても勿論良い。また、機能拡張用スクリプトの記述に用いるスクリプト言語は、所謂インタプリタタイプのものには限定されず、コンパイルにより実行形式ファイルが生成されるものであっても良い。例えば、機能拡張用スクリプトのサンプルソースコードをサンプルスクリプト配信装置２０から中継装置１０へダウンロードし、中継装置１０内で当該サンプルソースコードをコンパイルして実行形式ファイルを生成し、この実行形式ファイルを実行することで機能拡張を実現するのである。この場合、サンプルソースコードにカスタマイズ可能なパラメータを含ませておき、コンパイルの前処理として当該パラメータをカスタマイズする処理を制御部１００に実行させるようにすれば良い。また、サンプルスクリプト配信装置２０から中継装置１０へ実行形式ファイルをダウンロードし、この実行形式ファイルを中継装置１０の制御部１００に実行させる場合には、カスタマイズ可能なパラメータの値をＡＰＩにより逐次取得する仕組みを設けておくとともに当該ＡＰＩを中継装置１０に実装しておけば良い。
【００５２】
（７）上記実施形態では、取得を所望するサンプルスクリプトをユーザに選択させるユーザインタフェース手段の役割を、中継装置１０と通信するパーソナルコンピュータに担わせた。しかし、このようなユーザインタフェース手段を中継装置１０に設けても良い。具体的には、図４に示す設定メニュー画面を表示する表示部（例えば、液晶ディスプレイ）と、ユーザに各種指示を入力させるための操作部とよりなるユーザインタフェース手段を中継装置１０に設けるようにすれば良い。
【００５３】
（８）上記実施形態では、中継装置１０の特徴を顕著に示す転送制御処理、カスタマイズ処理およびスクリプト実行処理をソフトウェアで実現した。しかし、転送制御処理を実行する転送制御手段、カスタマイズ処理を実行するカスタマイズ手段およびスクリプト実行処理を実行するスクリプト実行手段の各々を電子回路などのハードウェアで実現し、これら各手段と、第１通信Ｉ／Ｆ部１１０と、第２通信Ｉ／Ｆ部１２０とを組み合わせて中継装置を構成しても勿論良い。また、上述した実施形態では、機能拡張プログラム１４４ｂを通信制御プログラム１４４ａとは別個のプログラムとしたが、両者を一体のプログラムとし当該プログラムをファームウェアとして中継装置１０の不揮発性記憶部１４４に格納しておいても良い。また、ＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に上記ファームウェアを書き込んで配布しても良く、インターネットなどの電気通信回線経由のダウンロードにより上記ファームウェアを配布しても良い。
【符号の説明】
【００５４】
１…通信システム、１０…中継装置、２０…サンプルスクリプト配信装置、１００…制御部、１１０…第１通信Ｉ／Ｆ部、１２０…第２通信Ｉ／Ｆ部、１３０…外部機器Ｉ／Ｆ部、１４０…記憶部、１４２…揮発性記憶部、１４４…不揮発性記憶部、１４４ａ…通信制御プログラム、１４４ｂ…機能拡張プログラム、１４４ｃ…設定ファイル、１５０…バス、ＰＣ１、ＰＣ２、ＰＣ３…パーソナルコンピュータ。
【図１】
2014186432.tif 000003
【図２】
2014186432.tif 000004
【図３】
2014186432.tif 000005
【図４】
2014186432.tif 000006
【図５】
2014186432.tif 000007
【図６】
2014186432.tif 000008