最初に、本発明の一実施形態に係るスクリプト管理システム1の概要を、図1を参照して説明する。スクリプト管理システム1は、たとえば、ネットワーク中継機器10、ネットワーク20、サーバ30、携帯機器40、ホームネットワーク50、および電子機器60を含むコンピュータシステムである。
ネットワーク中継機器10は、典型的にはルータのような、ルーティング機能を備える電子機器である。ネットワーク20は、たとえば、インターネットを含む公衆ネットワークであり、サーバ30は通常、インターネットに接続されるコンピュータである。
携帯機器40は、たとえば、携帯電話やPDAなどの可搬型のコンピュータ端末であり、サーバ30とのデータ送受信は、公衆携帯電話ネットワークやインターネットなどを含む公衆ネットワーク、または無線LANおよびネットワーク中継機器10を経由するネットワークを介して行われる。ホームネットワーク50は、家庭において構築され、1つまたは複数の電子機器60とネットワーク中継機器10を互いに接続するネットワークである。ホームネットワーク50は、比較的小規模なネットワークであるが、家庭以外の場所に設けられる他のネットワークであってもよい。また、複数のセグメントから構成されるような他のトポロジ・形態のネットワークであってもよい。
電子機器60は、たとえば、各家庭で使用され、ホームネットワーク50を介してデータの送信あるいは送受信を行うことができる家電製品であり、代表的な例としては、テレビジョン60a、パーソナルコンピュータ(PC)60b、エアコン、HDD(Hard Disk Drive)レコーダ、DVD(Digital Versatile Disc)レコーダ、冷蔵庫、電子レンジ、据え置き型電話機などがある。図1では、テレビジョン60aとPC60bの2つが例示されているが、電子機器60が1つだけでもよいし、3つ以上あってもよい。
次に、スクリプト管理システム1の処理概要を説明する。サーバ30は、各家庭の電子機器60から、当該電子機器のメーカ名、種別、製品名、型番等を含む電子機器情報72を、ネットワーク中継機器10を介して受信し、これを、電子機器60の設定操作を行うために用いられるスクリプト74とともに記憶装置に記憶する。こうした電子機器情報72は、ユーザごとに管理することができ、さらに、スクリプト74は、電子機器60ごと、あるいは電子機器60の設定操作(設定内容)ごとに管理することができる。また、スクリプト74は、複数の設定に関してまとめて1つ設けるようにすることもできる。ここで、ユーザとは、通常、スクリプト管理システム1に登録された者で、携帯機器40の所有者である。また、このユーザは、電子機器60の所有者または使用者の一人でもある。
スクリプト74は、たとえば、各メーカのサーバからサーバ30に随時提供される。また、サーバ30において、このスクリプト74を生成または編集することもできる。スクリプト74は、たとえば、対象の電子機器60の設定操作を実現するための手順を、編集可能な態様であらわした言語によって記述される。
ここで、携帯機器40は、ユーザの操作に応じて、サーバ30から電子機器60のスクリプト74を受信(ダウンロード)する。その後、ユーザが電子機器60の設定操作の開始を指示すると、携帯機器40は、電子機器60の設定操作を行うためのリモコン(リモートコントロール)信号76を、電子機器60に向けて送出する。この例では、電子機器60は、赤外線信号を送出する付属のリモコン端末により別途設定操作が可能であり、一定の仕様でリモコン信号を受信することができる機器である。携帯機器40は、それぞれの電子機器60の仕様に合わせた赤外線信号を、受信したスクリプト74に基づいて生成し、リモコン信号76として送出する。
下記では、リモコン信号として赤外線(IrDA)を採用した場合について説明するが、リモコン信号は、赤外線以外を利用した信号方式を採用してもよい。例えば、無線LAN関連(Wi−Fi対応の無線LAN機器であって、IEEE802.11a,802.11b,802.11g,802.11n)の通信で用いられる信号方式であってもよいし、Bluetooth(登録商標)、TransferJET、ワイヤレスHD、ワイヤレスUSB、モバイルWiMAX、XGP、HSPA、LTE、人体通信等の方式であってよい。また、リモコン信号は、例えば、パルス位置変調方式を利用した赤外線信号であってよい。
電子機器60が、このリモコン信号76を受信すると、この信号に基づいて、電子機器60の設定操作を実行する。この処理は、電子機器60のユーザが付属のリモコン端末を用いて電子機器60の設定操作をするのと同様のものである。
こうした、リモコン信号76による電子機器60の設定操作の結果(設定操作の成否や設定内容)は、設定結果78として(ネットワーク中継機器10を介して)サーバ30に送信され、最終的には携帯機器40に提供される。
図1の例に示すように、一般的には、ネットワーク中継機器10、携帯機器40、ホームネットワーク50、および電子機器60が1つの家庭サイト80(すなわち、1つの家庭内)に配置され、こうした家庭サイト80が複数、ネットワーク中継機器10を介してサーバ30に接続される。
次に、図2の機能ブロック図、および図3を参照して、本発明の一実施形態に係るスクリプト管理システム1の構成要素の各機能について説明する。
ネットワーク中継機器10は、中継制御部11、電子機器情報送受信部12、設定結果送受信部13、無線通信部14、およびネットワークインタフェース(I/F)部15を含んでいる。
サーバ30は、スクリプト送信部31、電子機器情報管理部32、設定結果管理部33、およびネットワークI/F部34を含んでいる。また、サーバ30は記憶装置35を備え、この記憶装置35には、電子機器情報テーブル35a、およびスクリプトデータ35bが記憶される。
携帯機器40は、表示部41、スクリプト受信部42、リモコン信号送出制御部43、設定結果表示制御部44、および無線通信部45を含んでいる。電子機器60は、表示部61、リモコン信号受信部62、設定操作制御部63、設定結果送信部64、およびネットワークI/F部65を含む。
ネットワーク中継機器10の中継制御部11は、一般的なルータの中継(ルーティング)機能に相当するものであり、ホームネットワーク50等を経由して受信したデータを、ルーティングテーブル(不図示)を参照して、宛先アドレスのコンピュータまたは他のネットワーク中継機器に転送する。電子機器情報送受信部12は、ホームネットワーク50により接続された電子機器60のそれぞれから、あるいはユーザによる入力等から、電子機器60に関する情報(電子機器情報72)を取得し、電子機器情報72を決定し、それを、ネットワーク20を介してサーバに送信する。得点化により電子機器情報72を決定する処理については、図14以降にて後述する。
電子機器情報72は、たとえば、電子機器60のメーカ名、種別、製品名、型番などである。電子機器情報72がユーザごとに管理される場合、電子機器情報72は、ネットワーク中継機器10が保持するユーザIDなどのユーザ識別情報とともに、サーバ30に送信される。
電子機器情報72は、ネットワーク中継機器10において、たとえば、SNMP(Simple Network Management Protocol)などの所定のプロトコルを用いて把握可能であり、この場合、電子機器60は、MIBと呼ばれる管理情報データベースを持っている。また、電子機器情報72は、IPパケット等に格納して、ルータの従来機能である中継制御部11によりサーバ30に転送するようにもできる。
設定結果送受信部13は、電子機器60の設定結果78を電子機器60から受信し、その設定結果78をネットワーク20を介してサーバ30に対して送信する。電子機器60の設定結果78は、IPパケット等に格納して、ルータの従来機能である中継制御部11によりサーバ30に転送するようにもできる。ここで、設定結果78は、携帯機器40のリモコン信号によって電子機器60の設定操作がされた場合の、当該設定操作の成否や設定内容を含む。
無線通信部14は、後述する携帯機器40の無線通信部45との間で無線通信によるデータの送受信を行うよう制御する。ここでの無線通信方式は、たとえば、IEEE802.11といった規定に基づく無線LANであるが、どのような無線通信方法であってもよい。ネットワークI/F部15は、ネットワーク20やホームネットワーク50とのネットワーク接続を実現し、これらのネットワークを介したネットワーク中継機器10に対するデータの送受信を制御する。なお、ネットワークI/F部は、サーバ30および電子機器60も有しているが、同様の機能であるため、これらについての詳細な説明は省略する。
ここで、電子機器情報送受信部12、設定結果送受信部13、および無線通信部14は、ネットワーク中継機器10に含まれるように構成されているが、ホームネットワーク50上の他の機器に配置されてもよい。ただし、現在、ホームネットワーク50においては、ネットワーク中継機器10を含むように構成されることが多く、CPUをはじめ、当該機器が有するコンピュータ資源をこれらの機能部に活用することが合理的であり望ましい。
サーバ30のスクリプト送信部31は、携帯機器40におけるユーザからの要求に応じて、対応する電子機器60の設定操作に関するスクリプト74を、要求を受けた携帯機器40に送信する。この場合、携帯機器40とサーバ30とのデータ送受信は、公衆携帯電話ネットワークを経由して行うことができる。また、そのような経路の他に、公衆携帯電話ネットワークとインターネットを経由した通信網や、無線LAN、ネットワーク中継機器10、およびインターネット等のネットワーク20を経由した通信網が利用されてもよい。
電子機器情報管理部32は、ネットワーク中継機器10の電子機器情報送受信部12から受信した電子機器情報72を、電子機器情報テーブル35aに格納する。また、携帯機器40からの要求に応じて、対応する電子機器60の設定操作に関するスクリプト74をスクリプトデータ35bから取得し、スクリプト送信部31に提供する。電子機器情報72がユーザごとに管理される場合、電子機器情報テーブル35aは、ユーザを識別するためのユーザIDを含む。
図3には、電子機器情報テーブル35aが示されている。この例では、ユーザID、電子機器情報、設定内容、およびスクリプトの各項目を含み、さらに電子機器情報は、メーカ名、種別、製品名(ブランド名)等を含む製品情報と、その電子機器の型番などを含む識別情報を含んでいる。
スクリプトの項目には、スクリプトデータ35bとして記憶装置35に記憶されているデータのなかのファイル名が記憶され、各ファイルは、対応する電子機器60の設定操作を実現するためのスクリプトを含んでいる。電子機器情報テーブル35aでは、それぞれの電子機器が、それを利用するユーザの識別情報(ユーザID)に対応付けられる。また、ユーザごと、および電子機器の設定内容(設定操作)ごとに別のスクリプトが対応付けられており、たとえば、ユーザID=U001が使用するA社テレビジョン(A204)のIPアドレス設定操作に関して、U001A204a.datというデータのスクリプトが対応付けられ、ユーザID=U008が使用するA社テレビジョン(A204)のIPアドレス設定操作に関しては、U008A204a.datというデータのスクリプトが対応付けられる。ここで、すべてのユーザまたは一部のユーザについて、同じ電子機器の同じ設定操作には同じデータのスクリプトが使用されるように設計してもよい。
図3には、別の電子機器情報テーブル35a’も例示されている。電子機器情報テーブル35a’は、ユーザID、電子機器情報、およびスクリプトの各項目を含み、1つの電子機器60に関する設定操作のすべて(あるいは、一部)がまとめて1つのスクリプトに(1つのデータとして)格納される。また、ここで、すべてのユーザまたは一部のユーザについて、同じ電子機器の設定操作には同じデータのスクリプトが使用されるように設計することができる。
電子機器情報管理部32は、携帯機器40からの要求に応じて、対応する電子機器60の設定操作に関するスクリプト74を、スクリプト送信部31に提供する際に、そのダウンロードの利用履歴を記憶し、各スクリプト74の利用頻度を記録・管理する。こうした利用履歴および利用頻度は、電子機器情報テーブル35a等で、ユーザごと電子機器ごと設定操作ごとに記憶されうる。また、すべてのユーザによる利用を電子機器ごと設定操作ごとに記憶するようにもできる。
設定結果管理部33は、ネットワーク中継機器10の設定結果送受信部13から電子機器60の設定結果78を受信し、これを記憶装置35に記憶する。そして、携帯機器40の設定結果表示制御部44から要求があった場合に、対応する設定結果78を携帯機器40に送信する。
携帯機器40の表示部41は、携帯機器40により処理される各情報を表示する、たとえば、LCDなどの表示装置である。表示部41は、この例では携帯機器40の構成要素で、一体的に組み込まれるものとして説明しているが、携帯機器40とは別の独立した表示装置として設けることもできる。こうした表示装置は、携帯機器40にケーブル等で接続され、携帯機器40による表示制御によって表示情報が表示されるよう制御される。
スクリプト受信部42は、ユーザの操作に応じて、指定されたスクリプトをサーバ30に要求し、サーバ30のスクリプト送信部31から送信されたスクリプトを受信する。このとき、ユーザは、表示部41に表示されたメニュー等にしたがって、所望のスクリプトを指定し受信するよう指示するが、詳細については図を参照して後述する。
リモコン信号送出制御部43は、ユーザの操作に応じて、スクリプト受信部42によって受信されたスクリプトの内容を解釈し、リモコン信号を送出するためのコマンドを生成する。その後、このコマンドにしたがって、電子機器60に所定の設定操作を実行するためのリモコン信号が送出される。このとき、ユーザは、表示部41に表示されたメニュー等にしたがって、所望のスクリプトを実行するよう指示するが、詳細については図を参照して後述する。なお、スクリプトの生成は、一部、手動で生成されてもよい。
このコマンドは、リモコン信号を受信する電子機器60の仕様に合わせて生成され、電子機器60がこのリモコン信号を受信すると、電子機器60は、ユーザが、電子機器60の付属品として提供されるリモコン端末を操作しているのと同じように所定の設定操作を実行する。ユーザがリモコン端末によって設定操作を行う場合、設定画面の選択等、1つ1つの操作を順次確認しながら進めるが、本発明によるリモコン信号の場合、可能な場合は連続的にリモコン信号が送出され、いくつかの画面の遷移が自動的に連続して行われる。
また、リモコン信号送出制御部43は、赤外線信号送信機能を備え、リモコン信号として赤外線信号を電子機器60に対して送出する。なお、この例では、リモコン信号を赤外線信号としたが、電子機器60が携帯機器40からの信号を解釈可能な態様で受信するかぎり、どのような無線信号、インターフェィスが用いられてもよい。
また、リモコン信号送出制御部43は、電子機器60の設定に関する操作だけでなく、それ以外の操作を実行するためのスクリプトをダウンロードして、リモコン信号を送出することもできる。このようなスクリプトを効果的にダウンロードするために、リモコン信号送出制御部43は、ユーザが携帯機器40を使ってリモコン信号により電子機器60を操作した場合に、その操作履歴を、携帯機器40の記憶装置に記憶しておき、スクリプト受信部42が、この操作履歴に基づいて、必要なスクリプトの組み合わせを決定し、ダウンロードする(あるいは、ダウンロードの候補として一覧表示する)ように構成することができる。
たとえば、ユーザが帰宅時に、携帯機器40により(スクリプトを使って)、テレビジョンの操作から、エアコンの操作へと一連の組み合わせでリモコン信号の送出を行った場合に、この一連の操作履歴を携帯電話に記憶しておき、この操作履歴に基づいて、必要なスクリプトがまとめてダウンロードされる。また、このような操作履歴は、所定のタイミングでサーバ30にアップロードされ(サーバが受信し)、スクリプト受信部42がスクリプトのダウンロードを実行する際に、サーバ30の方で、操作履歴データを元に、テレビジョンとエアコンのスクリプトをまとめてダウンロードさせるようにすることもできる。
なお、設定スクリプトの利用頻度が高いものを、組合せてダウンロードさせる態様であってもよい。すなわち、あるユーザに限らず、複数のユーザの利用頻度が高い設定スクリプトを組み合わせて、優先的にダウンロード可能とする構成であってもよい。
設定結果表示制御部44は、ユーザからの要求に応じて、サーバ30の設定結果管理部33から、対応する電子機器60の設定結果78を受信し、表示部41にその設定結果78を表示する。これによって、ユーザは、自身が行った電子機器60の設定操作の成否や設定内容を、携帯機器40において確認することができる。
無線通信部45は、ネットワーク中継機器10の無線通信部14との間で無線通信によるデータの送受信を行うよう制御し、この間の通信状態を判定する。たとえば、無線通信部45は、無線通信部14から受信する無線信号の強度を判定することによって、携帯機器40とネットワーク中継機器10とが通信可能であるかどうかや、両者の距離について判定する。リモコン信号送出制御部43は、携帯機器40とネットワーク中継機器10との間の通信状況を無線通信部45から取得し、この通信状況に応じて、所定の処理を許可したり、禁止したりする。
たとえば、携帯機器40とネットワーク中継機器10とが所定のレベルで通信可能である場合(例えば、電波強度の信号レベルが所定値以上である場合など)や、推定した距離が一定の範囲内(例えば、GPS制御部403が示す位置情報が所定の範囲内)である場合に、電子機器60にリモコン信号を送出できるよう制御する。
電子機器60の表示部61は、電子機器60により処理される各情報を表示する、たとえば、LCDなどの表示装置である。この表示部61は、この例では電子機器60の構成要素で、一体的に組み込まれるものとして説明しているが、電子機器60とは別の独立した表示装置として設けることもできる。こうした表示装置は、電子機器60にケーブル等で接続され、電子機器60による表示制御によって表示情報が表示されるよう制御される。
リモコン信号受信部62は、携帯機器40から送出されるリモコン信号を受信する。受信する信号は、上述のように、赤外線信号であるとは限らない。設定操作制御部63は、リモコン信号受信部62により受信したリモコン信号にしたがって、IPアドレス設定やチャンネル設定などの設定操作を実行する。付属のリモコン端末によって、このような設定操作ができるように設計されている電子機器60においては、リモコン信号受信部62と設定操作制御部63は基本的に、電子機器60が従来より備えている機能であるといえる。
設定結果送信部64は、携帯機器40からのリモコン信号によって電子機器60の設定操作がされた場合に、当該設定操作の成否を判定し、これを設定結果78としてネットワーク中継機器10に向け送信する。また、設定結果78として当該設定操作の設定内容を含むようにもできる。
次に、図4を参照して、スクリプトデータ35bに記憶される1つのスクリプト74の例について説明する。スクリプト74は、図4に示すように、人間が理解し指定することが可能な表現で、電子機器60の設定操作の手順を指示する。この例では、分かりやすく説明するため、ユーザが直接理解できるスクリプト言語を用いているが、一定の規則により設定されたコードストリングを用いてもよく、最終的に電子機器60に対するリモコン信号が送出可能であるかぎり、どのようなデータを用いてもよい。
図4のスクリプト74では、第1行目に、電子機器60のメーカ名、種別、製品名、および型番が規定されている。携帯機器40のリモコン信号送出制御部43は、この行に基づいて、対象の電子機器60において、どの操作を行うためにどのようなリモコン信号を送出すべきかを判断し、メーカや製品ごとのパルスパターンなどを調整する。
第2行目以降のスクリプトにはそれぞれ、スクリプト行番号と操作指示が記載されている。携帯機器40のリモコン信号送出制御部43は、この行を上から順に実行するよう変換してリモコン信号を送出する。
スクリプト行番号=001の操作指示は、赤外線信号で電子機器60に伝えられ、設定操作制御部63において、その赤外線信号を解析し、設定メニューの表示が行われる。スクリプト行番号=002、003、006〜009の操作指示に関しても、電子機器60において、同様に、対応する設定操作が行われる。
また、スクリプト行番号=004、005の操作指示は、携帯機器40自身に対する指示であり、これらのスクリプトにより、携帯機器40のユーザから入力されたデータを受け取ることができる。たとえば、スクリプト行番号=004の操作指示では、携帯機器40の表示部41に、IPアドレスの入力画面が表示され、そこにユーザが、携帯機器40のプッシュボタン等を用いてIPアドレスを入力すると、スクリプト行番号=005の操作指示でそれを検知する。このように、スクリプト74は、一部で携帯機器40とユーザとの対話処理を制御するインタプリター言語である。
この例では、ユーザが携帯機器40からIPアドレスを入力するように設計されているが、IPアドレスを携帯機器40の記憶装置に記憶しておき、そこから自動的に取得するようにもできるし、スクリプト74をユーザごとに用意し、スクリプトのなかにはじめからIPアドレスを埋め込んでおくようにもできる。
図5は、図4で示したスクリプト74を携帯機器40で実行した場合の、携帯機器40と電子機器60の処理の流れを示すフローチャートである。
最初に、ステップS10で、携帯機器40のユーザがスクリプト74の実行を開始するよう指示する。そうすると、ステップS12で、スクリプト行番号=001の操作指示が実行され、これがリモコン信号(赤外線信号)で電子機器60に伝えられる。当該指示は、電子機器60によって解釈され、ステップS40で電子機器60の表示部61に設定メニューが表示される。次に、ステップS14で、スクリプト行番号=002の操作指示が実行され、これがリモコン信号で電子機器60に伝えられる。当該指示は、電子機器60によって解釈され、ステップS42で電子機器60の表示部61にIPアドレス設定画面が表示される。
その後、ステップS16で、スクリプト行番号=003の操作指示が実行され、これがリモコン信号で電子機器60に伝えられる。当該指示は、電子機器60によって解釈され、ステップS44で電子機器60の表示部61にIPアドレス指定画面が表示される。次に、ステップS18で、スクリプト行番号=004の操作指示が実行される。この指示は、携帯機器40に対する指示であり、ここで、携帯機器40の表示部41に、IPアドレス入力画面が表示される。
ステップS20において、ユーザが携帯機器40に対してIPアドレスを入力したかどうかが判定され、入力がされるまで次の処理に進まない、入力待ちの状態となる(ステップS20のNO)。ユーザが携帯機器40のプッシュボタン等を用いてIPアドレスを入力すると(ステップS20のYES)、ステップS22に進み、そこで、スクリプト行番号=006の操作指示が実行され、これがリモコン信号で電子機器60に伝えられる。当該指示は、電子機器60によって解釈され、ステップS46で、表示部61に表示されたIPアドレス指定画面に、ユーザが携帯機器40で入力したIPアドレスが入力される。
その後、ステップS24で、スクリプト行番号=007の操作指示が実行され、これがリモコン信号で電子機器60に伝えられる。当該指示は、電子機器60によって解釈され、ステップS48で、電子機器60の表示部61に表示されたIPアドレス指定画面において、設定OKの指示がされる。
次に、ステップS26で、スクリプト行番号=008の操作指示が実行され、これがリモコン信号で電子機器60に伝えられる。当該指示は、電子機器60によって解釈され、ステップS50で電子機器60の表示部61に表示されたIPアドレス指定画面の表示を終了し、設定メニューに表示が戻る。次に、ステップS28で、スクリプト行番号=009の操作指示が実行され、これがリモコン信号で電子機器60に伝えられる。当該指示は、電子機器60によって解釈され、ステップS52で電子機器60の表示部61に表示された設定メニューが閉じられ、設定モードが終了する。
このように、携帯機器40のユーザは、電子機器60に付属のリモコン端末を操作する感覚で電子機器60の各種設定を行うことができる。携帯機器40は、それぞれの電子機器60に関するスクリプトをダウンロードすることで、多くの種類の電子機器60の設定操作を行うことができるので、電子機器60が変わるたびにそれぞれ付属のリモコン端末を用いて設定操作を行うような煩雑さから開放される。
また、図5では、操作の途中で携帯機器40のユーザがIPアドレスの入力を行う例を示したが、設定によっては、ユーザの入力や選択が不要な操作もあり、この場合には、携帯機器40から電子機器60に対して、連続的かつ一方的にリモコン信号が送出され、設定操作が完了する。
次に、携帯機器40において、スクリプトを受信するための操作の例を、図6および図7を参照して説明する。
ユーザが携帯機器40において、所定の操作を行うことによって、携帯機器40の表示部41に、図6に示すスクリプト受信画面100が表示される。ここで、ユーザは、ログイン情報入力領域110に、ユーザIDとパスワードを入力する。このログイン情報は、サーバ30に、正当なユーザとしてログインするための情報であり、スクリプト74がユーザごとに管理されている場合は、当該ユーザIDを用いて電子機器情報テーブル35aを参照し、そのユーザに対応するスクリプト74の受信が可能となる。携帯機器40が携帯電話である場合は、こうしたユーザIDとして、電話番号を設定することができる。
携帯機器40のユーザが次へボタン112を押下すると、携帯機器40の表示部41に、スクリプト一覧画面120が表示される。電子機器一覧表示領域130には、ユーザID=U001に関連する電子機器60の製品情報(メーカ名、種別等)と、識別情報(型番)が一覧表示される。ユーザは、この画面において、電子機器60に対応するチェックボックスをチェックして、ダウンロードボタン132を押下することによって、そのチェックした電子機器60のスクリプト74を携帯機器40に受信することができる。ここでは、スクリプト74のなかに、その電子機器60のすべての(あるいは所定の)設定操作に関するスクリプトが含まれている。
スクリプト一覧画面120では、指定されたユーザIDの使用する電子機器60のすべてが一覧表示されるようにでき、「すべてダウンロード」のチェックボックスをチェックすることによって、これらのスクリプトを一括でダウンロードすることができる。この場合、スクリプト74は、1つのまとめられたファイルとしてダウンロードされてもよいし、電子機器60ごとのファイルとしてダウンロードされてもよい。
また、電子機器一覧表示領域130における電子機器60の表示順を、利用頻度(たとえば、ダウンロードの回数)順とすることができる。たとえば、すべてのユーザ、あるいは所定の範囲のユーザにおいて、ダウンロードが多くされているスクリプトほど、上部に表示されるように制御できる。
またさらに、スクリプト一覧画面120を表示せずに、スクリプト受信画面100において、無条件にスクリプト74をダウンロードするように設計することもできる。
図7は、スクリプト74が、設定内容(設定操作)ごとに作成されている場合の、スクリプト一覧画面120’を示している。電子機器一覧表示領域136には、ユーザID=U001に関連する電子機器60の製品情報(メーカ名、種別等)、識別情報(型番)、および設定内容が一覧表示される。ユーザは、この画面において、電子機器60の設定内容に対応するチェックボックスをチェックして、ダウンロードボタン138を押下することによって、そのチェックした電子機器60の設定操作に関するスクリプト74を携帯機器40に受信することができる。ここでは、スクリプト74のなかには、その電子機器60の設定操作に関するスクリプトしか含まれていない。
ソート指定領域134には、電子機器一覧表示領域136に表示されたスクリプト74を、どのような条件で並べ替えるかが示されている。利用頻度のチェックボックスにチェックをして並べ替えボタンを押下すると、スクリプト74は、利用頻度(たとえば、ユーザがダウンロードを行った回数)の順に並べ替えられる。こうした並べ替えを行うことにより、ユーザは利用頻度の高いスクリプト(あるいは低いスクリプト)をまとめてダウンロードすることができる。
電子機器一覧表示領域136のチェックボックスを複数チェックした場合、チェックされたスクリプト74が1つのまとまったファイルとしてダウンロードされる。また、この場合に、スクリプト74が個別に、連続的にダウンロードされるように制御してもよい。
次に、携帯機器40において、スクリプトを実行するための操作の例を、図8を参照して説明する。
ユーザが携帯機器40において、ダウンロードしたスクリプト74を選択して所定の操作を行うことによって、携帯機器40の表示部41に、図8に示すスクリプト実行指示画面140が表示される。ここで、ユーザが、図6のスクリプト一覧画面120の電子機器一覧表示領域130の最も上部に示された、A社レコーダに関するスクリプト74をダウンロードし、このスクリプト74の実行を指示したとする。
そうすると、スクリプト実行指示画面140には、スクリプト74が設定内容ごとに一覧表示されるスクリプト表示領域154が示され、対応するチェックボックスをチェックして、実行ボタン156を押下することにより、チェックされた設定内容についてスクリプトが実行される。図8に示す例では、ユーザID=U001について、A社レコーダ(型番=A490)のIPアドレス設定の操作を実行するためのスクリプトが選択され、実行される。また、ここで、複数のチェックがされれば、複数の設定操作が順次行われる。
また、ソート指定領域152には、スクリプト表示領域154に表示されたスクリプト74を、どのような条件で並べ替えるかが示されている。利用頻度のチェックボックスにチェックをして並べ替えボタンを押下すると、スクリプト74は、利用頻度(たとえば、ユーザがダウンロードを行った回数)の順に並べ替えられる。こうした並べ替えを行うことにより、ユーザは利用頻度の高いスクリプト(あるいは低いスクリプト)をまとめて実行することができる。
スクリプト実行指示画面140で実行ボタン156が押下されると、携帯機器40の表示部41の表示は、図8に示すスクリプト実行画面160に遷移する。実行スクリプト表示領域172では、現在実行されているスクリプトの内容が表示される。実行ログ表示領域174には、スクリプト74の各スクリプト行の実行結果が時間の経過とともに新たに表示される。ここでは、図4に示したスクリプト74が、スクリプト行番号=003まで実行されている状態を示している。
ここで、スクリプト実行画面160には、スクリプト行番号=004の操作指令にしたがい、IPアドレス入力領域176が表示される。ユーザが、このIPアドレス入力領域176に、プッシュボタン等を操作してIPアドレスを入力し、OKボタン178を押下すると、スクリプト番号=005以降の操作指令に基づいて、電子機器60にリモコン信号が連続して送出される。
ここで、ユーザは、携帯機器40から送出されるリモコン信号(この例では赤外線信号)が、電子機器60によって受信される条件を満たすように、携帯機器40の角度や電子機器60に対する距離等を適宜調整する必要がある。
また、携帯機器40は、無線通信部45によって、対応する(すなわち、そのユーザの自宅に配置された)ネットワーク中継機器10が携帯機器40と通信可能であるかどうか、あるいは所定の距離内に存在するかどうかといった通信状況を無線信号の強度等によって判定し、所定の通信状況でない場合には、スクリプト実行指示画面140で実行ボタン156が押下されても、実行を許可しないように制御する。このような制御を行うことによって、ユーザの携帯機器40が、他人の家庭にある電子機器60の設定をしてしまわないようにできる。
次に、スクリプトの実行によって、順次設定が行われる際の電子機器60の表示部61で表示される内容が、図5のフローチャートに沿って遷移する状況を、図9および図10を参照して説明する。
ここでは、図4に示したスクリプト74が実行されて、図5に示すフローチャートのような手順で処理が行われる例を示している。最初に、図5のステップS40で、設定メニューの表示が指示されると、電子機器60の表示部61には、図9に示す設定メニュー200が表示される。設定メニュー200には、メニュー表示領域212と、ガイド情報表示領域214がある。ここで、メニュー表示領域212の「1.IPアドレス設定」を選択するには、(付属のリモコン端末では)OKボタンを押下することになる。
本発明のスクリプト管理システム1では、「1.IPアドレス設定」を選択するために、この付属のリモコン端末でOKボタンを押下するときに送出されるリモコン信号を、携帯機器40でエミュレートすることになる。図5のステップS42で、IPアドレス設定画面の表示が指示されると、携帯機器40から、上記エミュレートされたリモコン信号が送出され、表示部61の表示は、図9のIPアドレス設定画面220に遷移する。
IPアドレス設定画面220には、メニュー表示領域232と、ガイド情報表示領域234がある。ここで、メニュー表示領域232の「2.ユーザによる指定」を選択するには、(付属のリモコン端末で)右矢印ボタンを押下した後、OKボタンを押下することになる。図5のステップS44では、次の画面(IPアドレス指定画面)の表示が指示され、携帯機器40は、上記のように各ボタンを押下するリモコン信号が送出される。そうすると、表示部61の表示は、図10の上部に記載されたIPアドレス指定画面240に遷移する。
IPアドレス指定画面240には、IPアドレス指定領域252と、ガイド情報表示領域254がある。ここで、IPアドレス指定領域252に、携帯機器40で入力されたIPアドレスが入力される。この処理は、図5のステップS46で、IPアドレスの設定が指示され、その際に、携帯機器40から、IPアドレスを入力するためのリモコン信号が送出される。そうすると、表示部61の表示は、図10の下部に記載されたIPアドレス指定画面240に遷移する。
このIPアドレス指定画面240では、IPアドレス指定領域252に、携帯機器40で入力されたIPアドレスが入力されている。その後、OKボタン256を押下するためのリモコン信号を送出し(図5のステップS48)、リモコン端末の戻るボタンを押下するためのリモコン信号を送出する(図5のステップS50)。
このようにして、ユーザは、携帯機器40の表示部41と、電子機器60の表示部61の表示内容を見ながら、設定操作を行うことができる。また、電子機器60によっては、表示部61を有していなかったり、いずれの表示装置とも接続されていなかったりするものもあるが、このような電子機器60でも、携帯機器40からリモコン信号が送出され、所定の設定操作が行われる。
本発明のスクリプト管理システム1では、電子機器60の設定結果を携帯機器40で確認することができる。このような本発明の機能は、特に、上記のような表示装置を持たない電子機器60の設定操作を行う場合に有効である。
携帯機器40において、設定結果を確認する手順を図11のフローチャートを参照して説明する。図11のステップS28とステップS52は、図5に示すものと同じであり、それ以前の処理は、図5に示す処理と同様であるとする。
電子機器60の設定結果送信部64は、ステップS54において、携帯機器40からのリモコン信号によって指示された設定操作の結果を設定結果として、ネットワーク中継機器10(設定結果送受信部13)を介しサーバ30に送信する。設定結果は、たとえば、設定操作の成否や設定内容を示す情報である。サーバ30の設定結果管理部33は、ステップS60において、受信した設定結果を、ユーザごとに記憶装置35に記憶する。
携帯機器40の設定結果表示制御部44は、ステップS30において、サーバ30に対して、設定結果の表示を要求する。この処理は、電子機器60に対して設定操作のためのリモコン信号を送出する処理(ステップS10〜ステップS28)に続いてすぐに行うことができるが、適当なタイミングで要求することができる。
サーバ30の設定結果管理部33は、ステップS62において、携帯機器40からこの要求を受信すると、携帯機器40のユーザが使用する電子機器60を求め、その設定結果を記憶装置35から取得し、携帯機器40に送信する。このとき、携帯機器40の要求は、電子機器60を指定することもでき、その場合、サーバ30は、指定された電子機器60に関する設定結果のみを携帯機器40に返す。
携帯機器40の設定結果表示制御部44は、ステップS32において、サーバ30から送信されてきた設定結果を受信し、それを編集して表示部41に表示する。
次に、本発明の一実施形態のスクリプト管理システム1において、スクリプトによる設定操作が失敗した場合の処理について説明する。携帯機器40のリモコン信号送出制御部43は、スクリプトによる設定操作を実行した場合に、ユーザによる入力によって、または電子機器60から情報を受信することによって、設定操作の成否を判定することができる。たとえば、ユーザは、携帯機器40の表示部41に表示された設定完了確認画面において、「N(設定が完了していません)」と表記されたボタンを押下することによって、携帯機器40に対して、設定操作が正常に行われなかったことを伝える。
その後、携帯機器40は、実行したスクリプトによる設定操作が正常に行われなかったことを、サーバ30に直接、またはネットワーク中継機器10を経由して通知する。サーバ30は、この通知を記憶装置35に記憶し、再度、そのユーザの携帯機器40からスクリプトのダウンロード要求等があった場合に、たとえば、正常に操作が行われることが確認されている別のスクリプトをダウンロードするようにメッセージ等を表示したり、候補となるスクリプトを一覧表示する。
設定操作が正常に行われないケースとしては、以下のような状況が考えられる。たとえば、A社テレビジョンがモデルチェンジにより、赤外線信号の仕様は同じだが、設定操作のためのコマンドが一部変更されたような場合である。このとき、ユーザが、モデルチェンジ後のA社テレビジョンに買い換え、モデルチェンジ前のA社テレビジョンについて使用していたスクリプトを使ってそのまま設定操作を行おうとすると、設定エラーとなってしまう。本発明の一実施形態のスクリプト管理システム1においては、図3に示すように、電子機器60の型番ごとにスクリプトが管理されているので、モデルチェンジにより型番が変更される場合は、新たな型番についてのスクリプトをダウンロードすればよい。しかしながら、ユーザがこうした型番の変更を意識していなかったり、同じ型番のままでモデルチェンジが行われたりした場合に上記のような、設定操作の成否についての通知が有効になる。また、スクリプト管理システム1において、型番ごとにスクリプトが管理されていない場合も有効となる。
サーバ30によるこうした処理は、さらに、サーバ30が記憶する携帯機器40の操作履歴等と組み合わせて発展させることができる。
この場合の第1の態様として、携帯機器40の操作履歴とその設定操作の結果が記憶され、それらの情報がサーバ30に送信されている場合であって、携帯機器40のユーザが、単一または一連の操作(操作B)を行ったときに、設定操作がエラーとなるスクリプトA(正常な設定操作が行われるには操作Aが必要であるスクリプト)が存在する場合に、サーバ30は、操作Bによっても正常な設定操作が行われるように、スクリプトBを生成し、それをスクリプトAに代えて携帯機器40のユーザに提供してもよい。
第2の態様として、携帯機器40の操作履歴とその設定操作の結果が記憶され、それらの情報がサーバ30に送信されている場合であって、携帯機器40のユーザが、単一または一連の操作(操作B)を行ったときに、設定操作の手順がエラーとなる場合である。例えば、電子機器60Xのモデルチェンジがあって、上述のように、旧式と新式では、設定手順が操作Bから操作Cに変更された場合等である。この場合は、この設定操作の手順を行うユーザ数が、所定数以上であるか否かをサーバ30が判断する。すなわち、操作を誤るユーザが所定数以上であるかを判断する。そして、エラーの設定操作を行うユーザが所定数以上であると判断した場合には、電子機器60Xを所有するユーザには、図6のスクリプト一覧画面において、このエラーを修正する操作Cのスクリプトを上部に表示させる。これにより、電子機器60Xを所有する(電子機器60Xがネットワーク中継機器10で管理されている)ユーザには、エラーを起こしやすい設定操作のスクリプトを優先的にダウンロードさせることができる。
なお、ユーザが携帯機器40に入力した操作履歴を、操作履歴データとして携帯機器40が記憶し、操作履歴データをサーバ30に送信し、サーバ30がユーザごとに操作履歴データを記憶して、管理してもよい。例えば、記憶された操作履歴データに基づいて、サーバが、設定スクリプトを自動生成してもよい。すなわち、例えば、ユーザが、帰宅後に操作する電子機器60の操作手順を操作履歴として記憶し、この操作履歴を、このユーザ用の設定スクリプトとしてスクリプトを生成してもよい。
次に、図12を参照して、本発明のスクリプト管理システム1の携帯機器40を構成するコンピュータのハードウエア構成の例について説明する。また、図12に示すコンピュータ400の構成は、代表的な例を示したにすぎず、このような構成に限られるわけではない。
コンピュータ400は、CPU(Central Processing Unit)401、メモリ402、GPS制御部403、携帯電話信号処理部404、無線LAN信号処理部406、オーディオ制御部408、ディスプレイコントローラ411、入力機器インタフェース413、外部記録媒体インタフェース415、カメラ416、赤外線信号送信部417、およびこれらの構成要素を互いに接続するバス418を含んでいる。また、携帯電話信号処理部404には携帯電話用アンテナ405が接続され、無線LAN信号処理部406には無線LAN用アンテナ407が接続され、オーディオ制御部408にはマイクロフォン409およびスピーカ410が接続され、ディスプレイコントローラ411にはディスプレイ412が接続され、入力機器インタフェース413にはプッシュボタン414が接続される。
CPU401は、コンピュータ400の各構成要素の動作を制御し、OSの制御下で、各機能を実行する。たとえば、図2に示す、携帯機器40のスクリプト受信部42やリモコン信号送出制御部43等の各機能の実行を制御する。
メモリ402は、たとえば、不揮発性メモリであるROM(Read Only Memory)やフラッシュメモリーと呼ばれる半導体メモリから構成される。ROMには、コンピュータ400の起動時に実行されるプログラム等が格納される。フラッシュメモリーには、CPU401で実行され各機能を実現するためのプログラム等が格納される。
GPS制御部403は、GPS用アンテナ(不図示)を介して、複数のGPS(Global Positioning System)から信号を受信し、コンピュータ400の位置を調べる。こうして求められた位置情報は、フラッシュメモリー等に記憶され、必要に応じてプログラムで利用される。
携帯電話信号処理部404は、携帯電話用アンテナ405を介して基地局と通信を行い、携帯電話による通話や、公衆携帯電話ネットワークおよびインターネットを介したデータの送受信を制御する。図2に示すスクリプト受信部42は通常、携帯電話信号処理部404の機能を利用してサーバ30とのデータ送受信を行う。
無線LAN信号処理部406は、無線LAN用アンテナ407を介してアクセスポイントと通信を行い、ネットワーク中継機器10や他の機器との間のデータ送受信を制御する。
オーディオ制御部408は、マイクロフォン409とスピーカ410を制御して無線ネットワークを介した通話を実現する。また、音楽プレイヤーや動画プレイヤーからの音声データを受信して音声を出力するよう制御する。
ディスプレイコントローラ411は、CPU401が発行する描画データを処理して、ディスプレイ412に出力する。ディスプレイ412は、たとえば、LCD(Liquid Crystal Display)で構成される表示装置であり、図2に示す表示部41に対応する。
入力機器インタフェース413は、携帯機器40のプッシュボタン414が押下されたという信号を受信して、その信号に応じて所定の指令をCPU401に送信する。携帯機器のプッシュボタン414は、数字や文字等のテキストを入力可能な数字ボタンのほか、移動ボタンなどの様々な機能ボタンを備える。入力機器としては、プッシュボタン414の他に、タッチパネル型の表示装置、音声を所定の信号に変換する音声処理装置、コンピュータ400の移動や傾きを検知するモーションセンサーなども含まれる。
外部記録媒体インタフェース415は、外部記録媒体420にアクセスして、そこに記録されているデータを読み取る装置である。外部記録媒体420は、たとえば、可搬型のフラッシュメモリーである。本発明に係るスクリプト管理システム1の各機能を実現するためのプログラムは、上記の携帯電話信号処理部404や無線LAN信号処理部406によりネットワーク経由で提供される他、この外部記録媒体420を介して提供されうる。
カメラ416は、コンピュータ400に内蔵される小型の撮像装置で、撮像素子がCCDやCMOSといったタイプのものがある。撮影されたデータは、フラッシュメモリー等に記憶される。
赤外線信号送信部417は、コンピュータ400に内蔵され、赤外線信号を外部に送信する。赤外線信号をリモコン信号として送信することにより、テレビジョンをはじめとする電子機器60の設定操作をコントロールすることができる。図2のリモコン信号送出制御部43は、この赤外線信号送信部417を利用してリモコン信号を外部に送出する。
次に、図13を参照して、本発明のスクリプト管理システム1のネットワーク中継機器10、サーバ30、および電子機器60を構成するコンピュータのハードウエア構成の例について説明する。また、図13に示すコンピュータ500の構成は、代表的な例を示したにすぎず、このような構成に限られるわけではない。
コンピュータ500は、CPU(Central Processing Unit)501、メモリ502、音声出力装置503、ネットワークインタフェース504、ディスプレイコントローラ505、入力機器インタフェース507、赤外線信号受信部510、無線LAN信号処理部511、外部記憶装置513、外部記録媒体駆動装置514、およびこれらの構成要素を互いに接続するバス515を含んでいる。また、ディスプレイコントローラ505にはディスプレイ506が接続され、入力機器インタフェース507には、キーボード508およびマウス509が接続され、無線LAN信号処理部511には、無線LAN用アンテナ512が接続される。
CPU501は、コンピュータ500の各構成要素の動作を制御し、OSの制御下で、各機能を実行する。たとえば、図2に示す、ネットワーク中継機器10、サーバ30、および電子機器60の各機能部の実行を制御する。
メモリ502は、たとえば、ROM(Read Only Memory)やRAM(Random Access Memory)から構成される。ROMには、コンピュータ500の起動時に実行されるプログラム等が格納される。RAMには、CPU501で実行される、本発明の各機能を実現するためのプログラムやそのプログラムで使用されるデータが一時的に格納される。
音声出力装置503は、スピーカなどの装置であり、WEBブラウザ等で起動する音楽プレイヤーや動画プレイヤーからの音声データを受信して音声を出力する。ネットワークインタフェース504は、ネットワーク520と接続し、ネットワーク520との間のデータ送受信を制御する。たとえば、コンピュータ500がネットワーク中継機器10である場合、ネットワーク520は、図1のネットワーク20およびホームネットワーク50に対応する。また、コンピュータ500がサーバ30である場合、ネットワーク520は、図1のネットワーク20に相当し、電子機器60である場合は、ホームネットワーク50に対応する。また、本発明に係るスクリプト管理システム1の各機能を実現するためのプログラムは、このネットワーク520を経由して他のサーバから提供されることもある。
ディスプレイコントローラ505は、CPU501が発行する描画データを処理して、ディスプレイ506に出力する。ディスプレイ506は、たとえば、LCD(Liquid Crystal Display)で構成される表示装置であり、これは図2に示す、電子機器60の表示部61に対応する。表示装置は、コンピュータ500の本体とは別の装置として構成されてもよい。
入力機器インタフェース507は、キーボード508の押下やマウス509のクリックで生ずる信号を受信して、その信号に応じて所定の指令をCPU501に送信する。
赤外線信号受信部510は、リモコン端末等から送出される赤外線信号を受信して、そのパルスパターン等から所定のコードを取得する機能を備えており、図2に示す電子機器60のリモコン信号受信部62に対応する。また、無線LAN信号処理部511は、無線LAN信号により他のコンピュータとネットワーク接続を行う機能を備え、図2に示すネットワーク中継機器10の無線通信部14に対応する。
外部記憶装置513は、ハードディスク等の記憶装置であり、CPU501で実行される各機能を実現するためのプログラム等を格納する。このプログラムは、ネットワーク520や外部記録媒体530など、さまざまな経路で取得することができる。外部記憶装置513は、図2に示す、サーバ30の記憶装置35等に対応する。
外部記録媒体駆動装置514は、外部記録媒体530にアクセスして、そこに記録されているデータを読み取る装置である。外部記録媒体530は、たとえば、CD(Compact Disc)、DVD(Digital Versatile Disc)、フラッシュメモリー等である。本発明の各機能を実現するためのプログラムは、一般的には、こうした外部記録媒体530から提供される。
図13のコンピュータ500は、便宜上、ネットワーク中継機器10、サーバ30、および電子機器60の構成要素を共通的に表したものであり、個別の機器についてみると、不要な構成要素がある。たとえば、ネットワーク中継機器10としては、音声出力装置503、ディスプレイコントローラ505、入力機器インタフェース507、赤外線信号受信部510等は、基本的には不要である。また、サーバ30としては、音声出力装置503、ディスプレイコントローラ505、入力機器インタフェース507、赤外線信号受信部510、無線LAN信号処理部511等は不要である。
また、電子機器60としては、通常、無線LAN信号処理部511は不要である。ただし、電子機器60には、多様な家電製品が含まれるので、それによって、構成要素は大きく変化する。
次に、図14に基づいて、ネットワーク中継機器10が、電子機器60を得点化することにより、電子機器情報72を決定し、決定した情報から、最適なスクリプトを携帯機器40に送信する一例について説明する。
図14は、ネットワーク中継機器10と電子機器60の図2に示された機能に追加する機能を示す機能ブロック図である。
ネットワーク中継機器10の電子機器情報送受信部12は、リクエストパケット送信手段51と、レスポンスパケット受信手段52と、定義ファイル記憶手段53と、得点化手段54と、電子機器種別決定手段55とを備える。上記の各手段は、これを実現するプログラムがメモリに読み込まれて、CPUにより実行され実現される。
リクエストパケット送信手段51は、後述するリクエストパケットを送信する機能を有し、レスポンスパケット受信手段52は、後述するレスポンスパケットを受信する機能を有し定義ファイル記憶手段53は、後述する定義ファイルを記憶する機能を有し、得点化手段54は、定義ファイルに基づいて、各定義ファイルを得点化する機能を有し、電子機器種別決定手段55は、最終的に電子機器の種別を決定する機能を有する。
電子機器60は、上述のように家電製品であり、CPUにより実現される制御部66と、ネットワークI/F部65と、ハードディスク、メインメモリにより実現される記憶部68と、を少なくとも備え、ボタン等の入力デバイスである操作部67を備えてもよい。
[種別決定処理のフローチャート]
図15は、種別決定処理のフローチャートである。まず、ネットワーク中継機器10のリクエストパケット送信手段51は、電子機器60に対して、リクエストパケットを送信する(ステップS100)。
リクエストパケットとは、電子機器60の種別を判別するためのレスポンスパケットを受信するために、ネットワーク中継機器10が、電子機器60に送信するパケットデータである。
リクエストパケットは、例えば、ARP(Address Resolution Protocol)、ICMP(Internet Control Message Protocol)、SNMP(Simple Network Manegement Protocol)等のコマンドであってよく、uPnP(Universal Plug and Play)、DLNA(Digital Living Network Alliace)準拠のプロトコルであってよい。
なお、リクエストパケット送信手段51は、定期的に電子機器60に対して、リクエストパケットを送信する態様であってよい。すなわち、リクエストパケット送信手段51が、数十秒毎、数分毎、数時間毎に、リクエストパケットを送信することで、通信可能に接続された電子機器60を、所定のタイミングで検知する。
すなわち、ホームネットワーク50に新たな電子機器60が接続された場合に、この電子機器60を検知するために、ネットワーク中継機器10は、定期的に、所定のタイミングで、リクエストパケットを送信する。これによれば、ネットワーク中継機器10は、ユーザが新たな電子機器60を接続した場合に、電子機器60に関する情報(電子機器情報72)を得ることが可能となるため、ホームネットワーク50内の電子機器60の管理が容易となる。
次に、ネットワーク中継機器10のレスポンスパケット受信手段52は、所定の電子機器60からレスポンスパケットを受信する(ステップS110)。
レスポンスパケットとは、電子機器60から送信されるパケットであって、電子機器60の種別を判別する、あるいは、電子機器60の種別を判別する手がかりとなる、パケットデータである。レスポンスパケットとは、ネットワーク中継機器10から送信されたリクエストパケットを受信した電子機器60から送信される応答パケットであってよいし、リクエストパケットの応答パケットでなく、ブロードキャストのパケット及び、マルチキャストのパケット(パッシブパケット)を、(レスポンス)パケットとして処理を行ってもよい。
次に、ネットワーク中継機器10は、定義ファイル参照処理を行う(ステップS120)。ネットワーク中継機器10の制御部11は、定義ファイル記憶手段53に記憶された定義ファイルを参照し、比較して、次の得点化処理(ステップS130)を行う。
定義ファイルとは、電子機器60ごとに予め定められたデータであって、電子機器60の種別を決定するために必要なデータである。後述する図20を参照すると、定義ファイル(電子機器A定義ファイル)は、1以上の定義項目(X5,Y2,Z3)からなり、定義項目の一つ一つを得点化して比較し、電子機器60(この場合、電子機器A)を決定する。定義項目とは、一つのリクエストパケット及びレスポンスパケットで電子機器60の種別を決定するための定義データである。
次に、ネットワーク中継機器10の得点化手段54は、定義ファイルとレスポンスパケットを比較して、得点化(スコアリング)を行う(ステップS130)。
得点化について、図20を参照して説明する。ネットワーク中継機器10は、1以上のリクエストパケット(A1,B1,C1)を送信し、これに対するレスポンスパケット(X5,Y8,Z9)を受信する。そして、ネットワーク中継機器10は、定義ファイル記憶手段53に記憶された、電子機器毎の定義ファイル(電子機器A定義ファイル、電子機器B定義ファイル、電子機器C定義ファイル)の定義項目を参照し、レスポンスパケットと比較する。
例えば、リクエストパケットとして、ARPコマンドを送信し、このレスポンスをある電子機器60から受信した場合で説明する。ARPコマンドをターゲットの電子機器60に送信することで、ターゲットの電子機器60のMACアドレスの情報を含むパケットをレスポンスパケットとして受信する。
MACアドレスは、48Bitの符号からなり、上位24BitがベンダーIDとしてベンダー固有のIDが付与されており、次の8Bitが機種IDで定義される。
そして、定義ファイル記憶手段53には、電子機器毎の定義ファイルを構成するための、テーブルが記憶されていてよい。例えば、「MACアドレス:04−A3−43−5F−43−23」の場合は、MACアドレスメーカテーブル(図16)として、上位24Bit(04−A3−43)の符号と、電子機器60のメーカ名(必ずしも、製造元のベンダー名でなくてよく、通信I/Fを備える電子機器60全体のベンダー(メーカ)名であってよい)と、得点化のためのポイントと、IDとが関係付けられている。さらに、図17に示すように、MACアドレス機種テーブルとして、上位24Bitの符号と、電子機器60の機種名と、得点化のためのポイントと、IDとが関係付けられている。
このMACアドレスメーカテーブルと、MACアドレス機種テーブルの、各要素を抽出することで、定義項目となり、電子機器毎の定義ファイルを構成する。例えば、MACアドレスメーカテーブルのID001が、電子機器A定義ファイルのX5(図20参照)(定義項目X5)に該当し、MACアドレス機器テーブルのID010が、電子機器A定義ファイルのY2(定義項目Y2)に該当する。
リクエストパケットとして送信されたA1のパケットを受けて、電子機器60は、レスポンスパケットを送信する。このレスポンスパケット(X5)と、電子機器Aの定義ファイルの定義項目を比較して、同一であれば、各テーブルを参照して、ポイントを付与する。
例えば、上記の例で、レスポンスパケットX5が、ターゲットのMACアドレスの情報を含むパケットであって、48Bitの符号が「04−A3−43−5F−43−23」である場合で説明する。上位24Bitが定義項目X5(ID001)と同一であるため、0.3のポイントを付与する。さらに、次の8Bitにおいても、定義項目(ID010)と同一であるため、0.3のポイントを付与する。したがって、電子機器A定義ファイルは、合計0.6ポイントを取得することができる。
なお、上記の例では、一のリクエストパケット(A1)に対して、レスポンスパケット(X5)により、2つの定義項目(ID001、ID010)に対して得点化しているが、このように、一のレスポンスパケットから複数の定義項目を得点化する態様であってよい。
次に、ネットワーク中継機器10は、レスポンスパケットY8を、電子機器A定義ファイルのY2と比較して、レスポンスパケットZ9を、電子機器A定義ファイルのZ3と比較して、各ポイントを取得する(図20参照)。電子機器A定義ファイルの総合点は、このようにして求めた全てのポイントを足し合わせたものである。これを、電子機器A定義ファイル、電子機器B定義ファイル、電子機器C定義ファイル・・と、全ての電子機器ごとの定義ファイルに対して、総合点を求める。
上記の説明では、レスポンスパケットX5と定義項目X5が同一である場合で説明したが、同一に限らず、類似度で判断してもよい。
類似度で判断する例として、レスポンスパケットX5の上位24Bitの上位16Bitまでが同一であれば0.2ポイントを付与し、上位8Bitまでが同一であれば、0.1ポイントを付与する態様(パケットの文字列の類似度で判断する)であってよい。このようにすることで、レスポンスパケットと定義項目の類似度が高いとポイントを高くするといったように、ポイントの値を調整することができる。
ネットワーク中継機器10は、複数種類のリクエストパケットを送信することで、複数のレスポンスパケットを電子機器60から受信する。
次に、ネットワーク中継機器10の電子機器種別決定手段55が、電子機器60の種別を決定することで、電子機器情報72を決定する(ステップS140)。すなわち、上記のような得点化を、全ての電子機器の定義ファイルで行い、取得した得点を比較して、得点が高い定義ファイルを抽出することで、電子機器60の種別を決定する。
例えば、前述の説明のように、電子機器A定義ファイル、電子機器B定義ファイル、電子機器C定義ファイル・・と、全ての電子機器ごとの定義ファイルに対して、総合点を求め、最も得点の高い電子機器の定義ファイルを抽出して、電子機器60を決定する。
図20を用いて説明すると、例えば、レスポンスパケット(X5,Y8,Z9)と電子機器A定義ファイル(X5,Y2,Z3)のX5が同一であるため、電子機器A定義ファイルでは、0.6ポイントを取得するとする。これに対して、電子機器B定義ファイルの各定義項目(X1,Y7,Z1)は、レスポンスパケット(X5,Y8,Z9)と、どれも同一ではないが、類似度を考慮して、0.3ポイントを取得できたとする。
そして、電子機器C定義ファイル(X5,Y8,Z8)は、レスポンスパケット(X5,Y8,Z9)と、定義項目Y8が同一であるため、電子機器A定義ファイルでは、0.9ポイントを取得したとする。この場合には、電子機器AからCの定義ファイルのうち、電子機器Cの定義ファイルが最も高い総合点(0.9ポイント)であると決定し、定義ファイルCを抽出するため、電子機器60の種別は、電子機器Cと決定される。
一例として、電子機器A定義ファイルを、A社というメーカ名までの定義ファイルとして、電子機器B定義ファイルを、A社というメーカ名に加えて、機器の種別の一つである(AB−01)まで決定できる定義ファイルとする。この場合は、ある電子機器60が、A社製で、AB−01という種別である場合には、電子機器A定義ファイルよりも、電子機器B定義ファイルの方が、ポイントが高くなる。したがって、電子機器60は、総合点が高くなる、電子機器B(A社のAB−01)であると決定される。
逆に、ある電子機器60が、A社製で、BC−03という種別である場合には、A社製というところまで、電子機器Aもしくは電子機器Bの定義ファイルにより決定できる。したがって、機器名は決定できないが、少なくとも、メーカ名までは決定が可能であり、段階的に、電子機器情報を決定することができる。
MACアドレス以外の得点化のための判断要素として、図18、図19を用いてTCP/IPのポートにより判断する例について説明する。電子機器60で特別に使用(バインド)されるポート番号(ウェルノウンポート)の使用状況により、電子機器60の種別を決定する。
図18に示すように、電子機器Xは、ポート番号5000、5002番は、使用中であり、5001番は使用していないとする。例えば、NETSTATコマンドにより、このステイタスを検知する。そして、図19に示すように、定義ファイル記憶手段53に記憶されたポート番号テーブルを参照して、使用中(バインド中)のポート番号を比較して、ID100の定義項目との同一を判断して、ポイントを付与する。ポート番号5000、5002番は、使用中であり、5001番は使用していない場合は、ポイントが0.2付与される。
NETSTATコマンドを使用する場合は、リクエストパケットとして、NETSTATコマンドが、相手となる電子機器60にパケットを送信してもよいが、ネットワーク中継機器10は、電子機器60から、ブロードキャスト又はマルチキャストのパケットを予め受信しており、これらの受信したパケットを利用して、NETSTATのコマンド結果を得てもよい。
すなわち、ネットワーク中継機器10が、リクエストパケットとなるNETSTATコマンドを、電子機器60に対して送信しなくても、これまでに受信していた電子機器60から送信されるブロードキャスト又はマルチキャストのパケット(ポート番号のバインド状態を通知するパケット等)に基づいて、上記の得点化処理が行われてもよい。
なお、ポイントの付与は、ポート番号テーブルのポート番号とバインドの状態が完全に同一の場合のみではなく、存在するポートの何割が使用中であり、何割が不使用であるかということを判別して、使用程度(使用程度が完全に同一ではないが類似の程度)に応じてポイントが付与されてもよい。例えば、テーブルとして、ポートの使用程度とポイントが対応付けられて予め記憶されているとする。この場合、ポート番号5000、5002番は、使用中であり、5001番は使用していないときに、66%のポートが使用中である。したがって、66%のポートが使用中のときに、テーブルを参照して、所定のポイントを付与するといった処理である。
さらに、OS(Operating System)のバージョンを確定して、ポイントの付与を実行してもよい。例えば、ブロードキャストに送信されるレスポンスパケットとして、nbns(Net BIOS Name Server)パケットを受信して、OSのバージョン情報を取得し、これに基づいて、OSを決定し、決定されたOSのバージョンに基づいて、ポイントが付与されてもよい。
例えば、電子機器AB−01の定義ファイルに、定義項目として、「OSのバージョンが「X型」を使用している場合には、ポイントを0.5加算する」と登録されているとする。このとき、nbnsパケットにより、OSのバージョンが「X型」と決定されれば、電子機器AB−01のポイントを0.5加算するという態様である。
さらに、パッシブパケットであるnbnsパケットを受信して、OSのバージョン情報を取得し、これに基づいて、OSを決定し、決定されたOSのバージョンに基づいて、ポイントが付与されてもよい。例えば、電子機器AB−01の定義ファイルに、定義項目として、「OSのバージョンが「X型」を使用している場合には、ポイントを0.5加算する」と登録されているとする。このとき、nbnsパケットにより、OSのバージョンが「X型」と決定されれば、電子機器AB−01のポイントを0.5加算するという態様である。
上述のように、ネットワーク中継機器10が、電子機器情報72を決定し、決定した電子機器情報72を、サーバ30の電子機器情報テーブルに格納する。そして、携帯機器40からの要求に応じて、対応する電子機器60の設定操作に関するスクリプト74をスクリプトデータ35bから取得し、スクリプト送信部31から携帯機器40に、当該スクリプト74を送信する。
このように、ネットワーク中継機器10が、ホームネットワーク50に接続された電子機器60に関する電子機器情報72を自動的に決定する。したがって、ユーザは、単に、電子機器60をホームネットワーク50に接続するだけで、携帯機器40に、接続した電子機器60に関するスクリプト74を受信することができる。
これまで、本発明のスクリプト管理システム1について一実施形態を説明してきたが、上記実施形態は一例にすぎず、例示した方法や構成に限定されるものではない。他の様々な構成および処理方式によって本発明の技術思想を実現することができる。また、スクリプト管理システム1の説明においては、携帯機器40の設定操作を行うリモコン信号を中心に説明してきたが、当該リモコン信号は、電子機器60に関する他の処理を行うためのものであってもよい。