(57)【要約】【課題】接続先の機器に合わせて通信アダプタの設定を容易に行う。【解決手段】通信アダプタは、機器と接続するインタフェース部と、前記インタフェース部を介して前記機器と通信するコントローラ部と、前記コントローラ部を介して前記機器を制御するプロトコル制御部と、前記コントローラ部の動作を検証することにより、前記コントローラ部の設定が前記機器に適合しているかを判断し、前記コントローラ部の設定が前記機器に適合していると判断された場合に、前記プロトコル制御部の動作を検証することにより、前記プロトコル制御部の設定が前記機器に適合しているかを判断する設定検証部と、前記コントローラ部または前記プロトコル制御部の設定が前記機器に適合していないと判断された場合に、前記コントローラ部または前記プロトコル制御部の設定が前記機器に適合していないことを示す情報を送信する通信部と、を備える。【選択図】図１
2019117661.tif 000002
【特許請求の範囲】
【請求項１】
機器と接続するインタフェース部と、
前記機器を制御するプロトコル制御部と、
前記プロトコル制御部の動作を検証することにより、前記プロトコル制御部の設定が前記機器に適合しているかを判断する設定検証部と、
前記プロトコル制御部の設定が前記機器に適合していないと判断された場合に、前記プロトコル制御部の設定が前記機器に適合していないことを示す情報を送信する通信部と
を備えた通信アダプタ。
【請求項２】
前記プロトコル制御部の設定が前記機器に適合していないと判断された場合に、前記通信部を介して、前記プロトコル制御部の設定をユーザに促すための画面を端末に提示する設定受付部
を備えた請求項１に記載の通信アダプタ。
【請求項３】
前記画面は、前記プロトコル制御部の設定の候補を含む
請求項２に記載の通信アダプタ。
【請求項４】
機器と接続するインタフェース部と、
前記インタフェース部を介して前記機器と通信するコントローラ部と、
前記コントローラ部の動作を検証することにより、前記コントローラ部の設定が前記機器に適合しているかを判断する設定検証部と、
前記コントローラ部の設定が前記機器に適合していないと判断された場合に、前記コントローラ部の設定が前記機器に適合していないことを示す情報を送信する通信部と
を備えた通信アダプタ。
【請求項５】
前記コントローラ部の設定が前記機器に適合していないと判断された場合に、前記通信部を介して、前記コントローラ部の設定をユーザに促すための画面を端末に提示する設定受付部
を備えた請求項４に記載の通信アダプタ。
【請求項６】
前記画面は、前記コントローラ部の設定の候補を含む
請求項５に記載の通信アダプタ。
【請求項７】
インタフェース部に接続された機器を制御するプロトコル制御部の動作を検証することにより、前記プロトコル制御部の設定が前記機器に適合しているかを判断するステップと、
前記プロトコル制御部の設定が前記機器に適合していないと判断された場合に、前記プロトコル制御部の設定が前記機器に適合していないことを通知する情報を送信するステップと、
を備えた通信方法。
【請求項８】
インタフェース部に接続された機器と通信するコントローラ部の動作を検証することにより、前記コントローラ部の設定が前記機器に適合しているかを判断するステップと、
前記コントローラ部の設定が前記機器に適合していないと判断された場合に、前記コントローラ部の設定が前記機器に適合していないことを通知する情報を送信するステップと、
を備えた通信方法。
【請求項９】
インタフェース部に接続された機器を制御するプロトコル制御部の動作を検証することにより、前記プロトコル制御部の設定が前記機器に適合しているかを判断するステップと、
前記プロトコル制御部の設定が前記機器に適合していないと判断された場合に、前記プロトコル制御部の設定が前記機器に適合していないことを通知する情報を送信するステップと、
をコンピュータに実行させるためのプログラム。
【請求項１０】
インタフェース部に接続された機器と通信するコントローラ部の動作を検証することにより、前記コントローラ部の設定が前記機器に適合しているかを判断するステップと、
前記コントローラ部の設定が前記機器に適合していないと判断された場合に、前記コントローラ部が前記機器に適合していないことを通知する情報を送信するステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信アダプタ、通信方法およびプログラムに関する。
【背景技術】
【０００２】
通信アダプタは、通信機能を有さない機器に接続されることで、当該機器が通信を行うことを可能にする。従来の通信アダプタには、接続先の機器が変更された場合に、自動的に設定変更を行うものがあった。しかしながら、設定変更を行うために、接続先の機器から型番などの機器情報を取得する必要があり、取得できない場合には、その機器には適用できなかった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６‐１２７４３２号公報
【特許文献２】特開２００８−１７２５７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態は、接続先の機器に合わせて通信アダプタの設定を容易に行うことを目的とする。
【課題を解決するための手段】
【０００５】
本発明の実施形態としての通信アダプタは、機器と接続するインタフェース部と、前記インタフェース部を介して前記機器と通信するコントローラ部と、前記コントローラ部を介して前記機器を制御するプロトコル制御部と、前記コントローラ部の動作を検証することにより、前記コントローラ部の設定が前記機器に適合しているかを判断し、前記コントローラ部の設定が前記機器に適合していると判断された場合に、前記プロトコル制御部の動作を検証することにより、前記プロトコル制御部の設定が前記機器に適合しているかを判断する設定検証部と、前記コントローラ部または前記プロトコル制御部の設定が前記機器に適合していないと判断された場合に、前記コントローラ部または前記プロトコル制御部の設定が前記機器に適合していないことを示す情報を送信する通信部とを備える。
【図面の簡単な説明】
【０００６】
【図１】本発明の実施形態に係わる通信アダプタのブロック図。
【図２】通信アダプタの動作例を示すフローチャート。
【図３】初期設定用の画面の例を示す図。
【図４】初期設定用画面で設定項目を設定した例を示す図。
【図５】コントローラ部の設定用の画面の例を示す図。
【図６】プロトコル制御部の設定用の画面の例を示す図。
【図７】接続先の機器が変更された可能性がある旨をユーザに通知する画面の例を示す図。
【図８】機器制御用画面の例を示す図。
【図９】通信アダプタのハードウェア構成の一例を示すブロック図。
【図１０】本発明の実施形態に係るネットワークシステムを示す図。
【発明を実施するための形態】
【０００７】
以下、図面を参照しながら、本発明の実施形態について説明する。
【０００８】
図１は、本発明の実施形態に係わる通信アダプタのブロック図である。
【０００９】
図１の通信アダプタは、通信部１０１、インタフェース部１０２、コントローラ部１０３、プログラム保持部１０４、プロトコル制御部１０５、設定検証部１０６、制御受付部１０７、設定受付部１０８および記憶部１１０を備える。
【００１０】
通信部１０１は、無線または有線のネットワークに接続され、ネットワークを介して、端末またはサーバ等、外部の装置と通信する。ネットワークは、無線ＬＡＮ、有線ＬＡＮ、ＰＡＮなどがある。
【００１１】
インタフェース部１０２は、家電等の機器と接続するインタフェースを備える。インタフェース部１０２は、コントローラ部１０３の制御に従って、接続先の機器と信号を送受信する。インタフェース部１０２と機器間の接続は有線でもよいし、無線でも良い。
【００１２】
コントローラ部１０３は、インタフェース部１０２を制御して、機器との通信（シリアル通信など）を行う。コントローラ部１０３は、一例として、１つまたは複数のコントローラ・チップ等（ＵＡＲＴ、ＳＰＩ、Ｉ２Ｃ、ＧＰＩＯ、ＰＷＭ等）によって構成されている。コントローラ部１０３の設定、すなわち、どのコントローラを使用するか、また各コントローラのパラメータ（ビットレートやマスター／スレーブなど）を、設定受付部１０８により設定できる。インタフェース部１０２に接続された機器と正常に通信するために、当該機器に適合したコントローラおよびパラメータを使用する必要がある。もし機器との通信が正常に動作していない場合、使用するコントローラまたはそのパラメータの変更が必要である。なお、各コントローラのパラメータが固定のときは、コントローラ部１０３の設定変更は、使用するコントローラの変更と等価である。以下の説明では、主として各コントローラのパラメータが固定であり、コントローラ部１０３の設定変更は、使用するコントローラの変更に対応する場合を想定するが、コントローラのパラメータの変更が可能な場合は、同じコントローラを使用しつつそのパラメータを変更する場合も、コントローラ部１０３の設定変更に含まれてもよい。
【００１３】
プログラム保持部１０４は、１つまたは複数の機器制御用のプロトコルを格納している。インタフェース部１０２に接続される機器が家電機器の場合は、機器制御用のプロトコルの例として、家電制御用のプロトコルが想定される。プログラム保持部１０４は、メモリまたはストレージ等により構成することができる。機器制御用プロトコルは、外部のネットワーク上のサーバから取得して、プログラム保持部１０４に格納してもよい。
【００１４】
プロトコル制御部１０５は、プログラム保持部１０４に保持されているプロトコルのうちの１つを利用して、インタフェース部１０２に接続された機器を制御する。プロトコル制御部１０５の設定、すなわち、どのプロトコルを使用するか、またプロトコルのパラメータを、設定受付部１０８により設定できる。機器を正常に制御するために、当該機器に適合したプロトコルを使用する、または、当該機器に適合したパラメータをプロトコルに設定する必要がある。もし機器との間でプロトコルエラーが生じている場合、すなわち、機器を正常に制御できない場合、使用するプロトコルの変更、またはプロトコルのパラメータ設定の変更が必要である。なお、各プロトコルのパラメータが固定のときは、コントローラ部１０３の設定変更は、使用するプロトコルの変更に対応する。以下の説明では、各プロトコルのパラメータが固定であり、プロトコル制御部１０５の設定変更は、使用するプロトコルの変更に対応する場合を想定するが、プロトコルのパラメータの変更が可能な場合は、同じプロコトルを使用しつつそのパラメータを変更する場合も、プロトコル制御部１０５の設定変更に含まれてもよい。
【００１５】
設定検証部１０６は、現在の設定（現在のプロトコル制御部の設定および現在のコントローラ部１０３の設定）の正否、すなわち、現在の設定が接続機器に適合したものかを検証する。より詳細に、設定検証部１０６は、現在の設定において、コントローラ部１０３が正常に動作しているかどうかを確認する。もし機器との通信が正常に動作していない場合、コントローラ部１０３の設定変更（ここでは、使用するコントローラの変更）が必要であるため、コントローラ部１０３の設定を可能にすべく、設定受付部１０８を有効にする。また、設定検証部１０６は、コントローラ部１０３が正常な場合に、プロトコル制御部１０５が正常に動作しているかどうかを確認する。もし機器との間でプロトコルエラーが生じている場合、プロトコル制御部１０５が正常に動作していないため、プロトコル制御部１０５の設定変更（ここでは、使用するプロトコルの変更）が必要であるとして、プロトコル制御部１０５の設定を可能にすべく、設定受付部１０８を有効にする。
【００１６】
記憶部１１０は、通信アダプタの設定情報を記憶する。通信アダプタに現在設定されているコントローラ部１０３およびプロトコル制御部１０５の設定情報を記憶する。また通信部１０１の設定情報を記憶する。通信部１０１の設定情報の例としては、無線ＬＡＮ（ＷｉＦｉ）のパラメータ（暗号キー、ＳＳＩＤ等）の情報があり得る。また通信アダプタにユーザアカウント等のユーザ情報の設定が必要な場合は、ユーザ情報を記憶する。また、記憶部１１０は、接続先機器の機器情報を記憶している。機器情報は、例えば機器種別、機器ＩＤ、型番、製造者、製造番号、またはこれらのうちの複数を含む。
【００１７】
設定検証部１０６は、プロトコル制御部１０５を通じて、機器の機器情報（機種ＩＤまたは機器ＩＤまたはこれらの両方等）を取得し、これらが、記憶部１１０に保存されているものと一致しているか、すなわち記憶部１１０に登録されているかを確認してもよい。
登録されていない場合、接続されている機器が交換された可能性があるため、設定検証部１０６は、設定受付部１０８を有効にして、ユーザに現在接続されている機器が、ユーザが想定している機器に一致するか確認させてもよい。一方、取得した機器情報が、記憶部１１０に登録されており、かつプロトコル制御部１０５およびコントローラ部１０３が正常である場合、通信アダプタの設定は正常であると判断し、制御受付部１０７を有効にする。なお、それらが一致していない場合であっても、コントローラ部１０３およびプロトコル制御部１０５が正常に動作していることが確認されているのであれば、制御受付部１０７を有効にしても良い。
【００１８】
制御受付部１０７は、通信部１０１を介して端末から機器の制御を指示する制御メッセージを受け付け、当該制御メッセージをプロトコル制御部１０５に出力する。プロトコル制御部１０５は、制御メッセージに基づきコントローラ部１０３を制御することで、コントローラ部１０３から当該制御メッセージに対応する制御命令を機器に出力させる。
【００１９】
設定受付部１０８は、端末から本通信アダプタへのアクセス時に、各種設定用の画面を端末に提供する。端末に提供する画面は、例えば設定検証部１０６により指示される。例えば、設定受付部１０８は、設定検証部１０６によりコントローラ部１０３の設定が機器に適合していないと判断された場合に、コントローラ部１０３の設定用の画面を提供することで、当該設定が機器に適合していない旨を通知する。設定受付部１０８は、当該端末からコントローラ部１０３に対する設定メッセージを受け付け、当該設定メッセージに基づきコントローラ部１０３の設定を行う。コントローラ部１０３の設定は、使用するコントローラの設定または変更、または現在使用しているコントローラのパラメータの変更を含む。
【００２０】
また、設定受付部１０８は、設定検証部１０６によりプロトコル制御部１０５の設定が機器に適合していないと判断された場合に、プロトコル制御部１０５の設定用の画面を端末に提供することで、当該設定が機器に適合していない旨を通知する。設定受付部１０８は、通信部１０１を介して端末から、プロトコル制御部１０５に対する設定メッセージを受け付け、当該設定メッセージに基づき、プロトコル制御部１０５の設定を行う。プロトコル制御部１０５の設定は、使用するプロトコルの設定または変更、または現在使用しているプロトコルのパラメータの変更を含む。ここで述べた以外にも様々な設定画面がある。
【００２１】
図２は、図１の通信アダプタの動作例を示すフローチャートである。
【００２２】
設定検証部１０６は、通信アダプタの初期設定が完了しているか否かを確認する（ステップ２０１）。初期設定が完了とは、コントローラ部１０３およびプロトコル制御部１０５の設定がなされていることを意味する。また通信部１０１の設定、ユーザアカウントの設定がなされていることも含んでよい。これらの設定項目の中で、初期設定が完了していない項目があれば、初期設定が必要と判断し（ステップ２０２）、設定受付部１０８を有効にする（ステップ２０３）。設定受付部１０８は、この状態で端末からアクセスがあると、初期設定をユーザに促すための画面を端末に提示する。設定受付部１０８は、当該画面を介してユーザから入力された設定メッセージに基づき、初期設定を行う。図３に初期設定用の画面の例を示す。初期設定用画面において各設定項目を設定する例を図４に示す。
【００２３】
初期設定が完了している場合、設定検証部１０６は、接続されている機器との間でコントローラ部１０３が正常に動作しているかどうかを確認する（ステップ２０４）。例えばコントローラ部１０３から試験的に機器に対して制御命令を送信し、送信した制御命令に対し応答が返ってこない場合、または返ってきたデータを正常に復号できない場合（壊れたバイト列のデータが返される場合）など、コントローラ部１０３が正常していないと判断する。もしコントローラ部１０３が正常に動作していない場合、コントローラ部１０３の設定変更、すなわちコントローラ部１０３における現在使用しているコントローラを別のコントローラへ変更する必要があると判断する（ステップ２０５）。そして、設定受付部１０８を有効にする（ステップ２０３）。設定受付部１０６は、この状態で端末からアクセスがあると、コントローラ部１０３の設定をユーザに促すための画面を端末に提示する。設定受付部１０８は、ユーザから入力された設定メッセージに基づきコントローラ部１０３の設定変更を行う。図５にコントローラ部設定用の画面の例を示す。ユーザは変更ボタンをクリックして、コントローラ部１０３の設定変更（使用するコントローラの変更）を行うことができる。変更対象となるコントローラの候補が複数存在するときは、複数の候補を表示して、ユーザに選択させてもよい。図の例では、変更対象のコントローラの候補が１つ存在し、その候補の情報を表示している。
【００２４】
コントローラ部１０３が正常に動作している場合、設定検証部１０６は、機器との間でプロトコル制御部１０５が正常に動作しているかどうかを確認する（ステップ２０６）。
例えば、設定検証部１０６は、試験的にプロトコル制御部１０５を動作させて、指示した動作通りの制御が行われたかを確認する。例えば機器に所定のプロトコルメッセージを送り、所望の応答メッセージが返るか否かで確認する。もし、プロトコル制御部１０５が正常に動作していない場合、すなわち、プロトコルエラーが生じている場合、使用するプロトコルの変更が必要であると判断し（ステップ２０７）、設定受付部１０８を有効にする（ステップ２０３）。設定受付部１０８は、この状態で端末から通信アダプタへのアクセスがあると、プロトコル制御部の設定（プロロトコルの変更）をユーザに促すための画面を端末に提示し、ユーザから入力された設定メッセージに基づきプロトコルの設定を行う。図６にプロトコル制御部設定用の画面の例を示す。ユーザは変更ボタンをクリックして、プロトコルの変更を行うことができる。変更対象となるプロトコルの候補が複数存在するときは、複数の候補を表示して、ユーザに選択させてもよい。図の例では、変更対象となるプロトコルの候補が１つ存在し、その候補の情報を表示している。
【００２５】
プロトコル制御部１０５が正常に動作している場合、設定検証部１０６は、プロトコル制御部１０５を通じて得られる機器情報（機種ＩＤまたは機器ＩＤまたはこれらの両方等）が、記憶部１１０に登録されているものに一致するかを確認する（ステップ２０９）。
もし一致しない場合、接続先の機器が交換された可能性があると判断する（ステップ２１０）。そして、ユーザにその旨を通知させるため、あるいは設定を見直させるために、設定受付部１０８を有効にする（ステップ２０３）。設定受付部１０８は、この状態で端末から通信アダプタへのアクセスがあると、プロトコル制御部１０５を通じて検出された機器情報と、記憶部１１０に登録されている機器情報とを含む画面、すなわち、接続先の機器が変更された可能性がある旨をユーザに通知する画面をユーザに提示する。提示する画面の例を図７に示す。ユーザは、画面に基づき、現在の記憶部１１０の登録内容で問題ないかどうか確認し、問題ないときは、承認ボタンを選択（クリック）する。ユーザ承認を促すことで、機種・機器の変化に気付かずに機器を制御してしまうことを防ぐことができる。なお、取得された機器情報（機種情報・機器ＩＤ等）が記憶部１１０に登録されたものと異なる場合でも、プロトコル制御部１０５およびコントローラ部１０３が正常であれば、特に一部の機能（電源のオンオフなど）に関してなど、機器を正常に制御でき得る。
【００２６】
一方、プロトコル制御部１０５を通じて検出された機器情報が、記憶部１１０に登録されているものに一致する場合、通信アダプタの設定は正常であると判断し（ステップ２１０）、制御受付部１０７を有効にする（ステップ２１１）。制御受付部１０７は、この状態で端末から通信アダプタへのアクセスがあると、機器の操作または制御を行う機器制御用画面を端末に提示する。機器制御用のタッチパネル画面の例を図８に示す。ユーザはこの画面で機器に対して制御の指示を入力することができる。端末はユーザの入力に応じた制御メッセージを通信アダプタへ送信する。プロトコル制御部１０５は、この制御メッセージを、通信部１０１および制御受付部１０７を介して受信する。プロトコル制御部１０５は、受信した制御メッセージに基づき、コントローラ部１０３を介して機器を制御する。
【００２７】
以上の動作により、設定検証部は、現在どの部分の設定（初期設定、コントローラ部の設定、プロトコル制御部の設定、ユーザ承認など）が必要とされているかを検出することで、ユーザに対して現在必要とされている設定項目のみを応答することが可能である。
【００２８】
例えば単にユーザに設定が正しくない旨を通知するのみである場合、コントローラ部およびプロトコル制御部等のうちどの箇所の設定を誤っているのかを判断するのかは難しい。本実施形態ではコントローラ部の設定を検証して、誤っていればその旨を通知するため、ユーザはコントローラ部の設定が誤っていることを正しく把握できる。またコントローラ部の設定が正しければ、次にプロトコル制御部の設定を検証して、誤っていればその旨を通知するため、ユーザはプロトコル制御部の設定が誤っていることを正しく把握できる。このように本実施形態では、通信アダプタの設定を行うユーザの負荷を低減できる。
【００２９】
上述した動作フローの例では、ステップ２０４でコントローラ部１０３の設定が誤っていると判断された場合に、ユーザに別のコントローラを選択させたが、エラーの内容から、正しいコントローラを自動で推定する方法も可能である。例えば、エラーデータ（壊れた情報）からコントローラを推定する識別モデルを用意しておき、設定検証部１０６が、当該識別モデルと、エラーデータとから正しいコントローラを推定して、設定受付部１０８を介してユーザに提案してもよい。または、当該推定した正しいコントローラ設定を、設定検証部１０６が自動的にコントローラ部１０３に設定してもよい。モデルの構築方法は機械学習により行えばよい。すなわち、エラーデータと正しいコントローラとの組データを多数用意し、これらを教師データとして機械学習によりモデルを構築する方法はよく知られている。ここでは、正しいコントローラを推定したが、同様の考え方で、正しいプロトコルを推定してもよい。モデルを用いた推定は通信アダプタ内で行わず、通信部１０１を介して通信可能な外部の推定装置またはサーバで行ってもよい。この場合、設定検証部１０６は、通信部１０１を介して当該外部の推定装置またはサーバに上記のエラーデータ等を送信し、当該外部の推定装置またはサーバで推定された正しいコントローラ設定の情報を受信すればよい。
【００３０】
上述した動作フローの例では、ステップ２０６でプロトコル制御部の設定が誤っていると判断された場合に、ユーザに別のプロトコルの候補を選択させたが、コントローラ部１０３の設定情報から、プロトコルの候補を絞り込める場合がある。例えば、一部のプロトコル仕様では、物理層（＝コントローラ）の仕様まで規定している場合がある。現在のコントローラ部１０３の設定が、特定のプロトコル仕様のものとマッチしない場合、その特定のプロトコルは原則として候補から外すことができる。そこで、当該特定のプロトコル以外のプロトコルを候補としてユーザに提示してもよい。例えば、ある家電プロトコル（仮に家電プロトコルＡとする）では、物理層の仕様としてＵＡＲＴをベースにしたものを規定しているとき、「ＵＡＲＴ  −＞  家電プロトコルＡ」という対応関係をコントローラ・プロトコル対応表に設定しておく。コントローラ部１０３としてＵＡＲＴが選択された場合、当該コントローラ・プロトコル対応表から、プロトコル制御部１０５の設定候補として「家電プロトコルＡ」をユーザに提示する。また、特定した候補をユーザに提示するのではなく、設定検証部１０６が、当該候補の設定を自動的にプロトコル制御部に対して適用してもよい。候補が複数存在するときは、そのうちの１つの設定を適用し、適用後の設定が正しくなかった場合は、再度別の候補を選択し、選択した候補を適用してもよい。
【００３１】
図９は、本実施形態に係る通信アダプタのハードウェア構成の一例を示すブロック図である。図９の通信アダプタは、プロセッサ４０１、メモリ４０２、ネットワークインタフェース４０３、外部インタフェース４０４、ストレージ４０６を備え、これらがバス４０５を介して接続されている。各要素の数は１つに限定されず、複数設けられてもよい。ここでは１つのバスを介して各要素が接続されているが、複数のバスがブリッジ回路を介して接続され、これら複数のバスを介して、これらの要素が複数段で接続されていてもよい。
【００３２】
ネットワークインタフェース４０３は、無線ＬＡＮ等の通信インタフェースであり、図１の通信部１０１に対応する。ネットワークインタフェース４０３は、ＭＡＣ層等のデータリンク層および物理層のヘッダ処理、変調および復調等を行うベースバンド集積回路、ＡＤ変換回路、ＤＡ変換回路、アナログ処理等を行うＲＦ集積回路、およびアンテナ等を備えていてもよい。ネットワークインタフェース４０３に、ＣＰＵ等のプロセッサを配置してもよい。ＴＣＰ／ＩＰ等を用いる場合、ＴＣＰ／ＩＰ等の処理を当該ネットワークインタフェース４０３上のＣＰＵで行ってもよいし、バス４０５に接続されたプロセッサ４０１で行ってもよい。ここではネットワークインタフェースを１つのみ示しているが、複数のネットワークインタフェースが搭載されていてもよい。ネットワークインタフェース４０３が、ＤＭＡ（ダイレクト・メモリ・アクセス）でメモリ４０２に直接、アクセスしてもよい。
【００３３】
メモリ４０２は、プロセッサ４０１が実行する命令、およびプロセッサ４０１が利用する各種データ等を一時的に記憶する。メモリ４０２は、ＳＲＡＭ、ＤＲＡＭ等の揮発性メモリでも、ＮＡＮＤ、ＭＲＡＭ等の不揮発性メモリでもよい。ストレージ４０６は、ハードディスク、光ディスク、ＳＳＤ等のデータを永続的に記憶する記憶装置である。メモリ４０２およびストレージ４０６の少なくとも一方により、図１のプログラム保持部１０４および記憶部１１０が実現される。
【００３４】
プロセッサ４０１は、メモリ４０２からプログラムを読み出して、実行するなどすることで、図１のコントローラ部１０３、プロトコル制御部１０５、設定検証部１０６、制御受付部１０７、設定受付部１０８の一部または全部の機能が実現される。通信部１０１の一部の機能がプロセッサ４０１により実現され、残りの一部がネットワークインタフェース４０３によって実現されてもよい。
【００３５】
外部インタフェース４０４は、機器に接続するためのインタフェースであり、図１のインタフェース部１０２に対応する。
【００３６】
図１０に本実施形態に係るネットワークシステムを示す。本実施形態に係る通信アダプタ３０１を接続した機器３０２が、通信アダプタ３０１の通信機能を利用して、無線でルータ３０３に接続されている。またユーザの操作する端末３０４が無線でルータ３０３に接続されている。端末３０４および機器３０２は、例えば同じ家屋内に配置されている。
ルータ３０３はインターネット３０６等のネットワークに接続されており、宅外のユーザが保持する端末３０６が、携帯電話網３０８を介してインターネット３０６に接続されている。端末３０４および端末３０６は、スマートフォン、携帯電話、タブレット、ノート型ＰＣなどのユーザデバイスである。ここでは端末３０４および端末３０６は、無線通信を行うが、これらの少なくとも一方が有線通信を行う構成でもよい。インターネット３０６にはサーバ３０７が接続されている。サーバ３０７には、図１に示した通信アダプタの一部の機能が通信アダプタの代わりに搭載されている。すなわち、図１の通信アダプタの一部の機能をクラウド化している。具体的に、サーバ３０７には、設定受付部１０８および制御受付部１０７の機能が搭載されており、端末３０４、３０６は、図３〜図８に示したような各種の設定画面を、サーバ３０７から受信する。端末３０４、３０６でユーザが入力した情報は、サーバ３０７を介して通信アダプタ３０１に送られる。また通信アダプタから送信される情報もサーバ３０７を介して端末３０４、３０６に送信される。これにより通信アダプタ３０１に搭載する機能を低減できる。
【００３７】
なお、この通信アダプタは、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、通信アダプタが備える各要素は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、通信アダプタは、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、記憶部およびプログラム保持部は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒなどの記憶媒体などを適宜利用して実現することができる。
【００３８】
本実施形態で用いられる用語は、広く解釈されるべきである。例えば用語“プロセッサ”は、汎用目的プロセッサ、中央処理装置（ＣＰＵ）、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、コントローラ、マイクロコントローラ、状態マシンなどを包含してもよい。状況によって、“プロセッサ”は、特定用途向け集積回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラム可能論理回路  （ＰＬＤ）などを指してもよい。“プロセッサ”は、複数のマイクロプロセッサのような処理装置の組み合わせ、ＤＳＰおよびマイクロプロセッサの組み合わせ、ＤＳＰコアと協働する１つ以上のマイクロプロセッサを指してもよい。  
【００３９】
別の例として、用語“メモリ”は、電子情報を格納可能な任意の電子部品を包含してもよい。“メモリ”は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、プログラム可能読み出し専用メモリ（ＰＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、フラッシュメモリ、磁気または光学データストレージを指してもよく、これらはプロセッサによって読み出し可能である。プロセッサがメモリに対して情報を読み出しまたは書き込みまたはこれらの両方を行うならば、メモリはプロセッサと電気的に通信すると言うことができる。メモリは、プロセッサに統合されてもよく、この場合も、メモリは、プロセッサと電気的に通信していると言うことができる。
【００４０】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００４１】
以下に、特許査定時における特許請求の範囲の記載を付記する。
［１］
機器と接続するインタフェース部と、
前記インタフェース部を介して前記機器と通信するコントローラ部と、
前記コントローラ部を介して前記機器を制御するプロトコル制御部と、
前記コントローラ部の動作を検証することにより、前記コントローラ部の設定が前記機器に適合しているかを判断し、前記コントローラ部の設定が前記機器に適合していると判断した場合に、前記プロトコル制御部の動作を検証することにより、前記プロトコル制御部の設定が前記機器に適合しているかを判断する設定検証部と、
前記コントローラ部または前記プロトコル制御部の設定が前記機器に適合していないと判断された場合に、前記コントローラ部または前記プロトコル制御部の設定が前記機器に適合していないことを示す情報を送信する通信部と
を備えた通信アダプタ。
［２］
前記コントローラ部の設定が前記機器に適合していないと判断された場合に、前記通信部を介して前記コントローラ部の設定を受け付け、前記プロトコル制御部の設定が前記機器に適合していないと判断された場合に、前記通信部を介して前記プロトコル制御部の設定を受け付ける設定受付部
をさらに備えた［１］に記載の通信アダプタ。
［３］
前記通信部を介して前記機器に対する制御指示を受け付ける制御受付部を備え、
前記プロトコル制御部は、前記制御指示に基づき前記機器を制御し、
前記設定検証部は、前記コントローラ部および前記プロトコル制御部の設定が前記機器に適合していると判断したとき、前記制御受付部を有効化する
［１］または［２］に記載の通信アダプタ。
［４］
前記設定受付部は、前記コントローラ部の設定が前記機器に適合しており、前記プロトコル制御部の設定が前記機器に適合していないと判断された場合に、前記コントローラ部の設定と前記プロトコル制御部の設定間の可能な組み合わせを示す情報に基づいて、前記機器に適合する前記プロトコル制御部の設定の候補を特定し、特定した候補の情報を、前記通信部を介して送信する
［２］、または［２］を引用する［３］に記載の通信アダプタ。
［５］
前記設定受付部は、前記コントローラ部の設定が前記機器に適合しており、前記プロトコル制御部の設定が前記機器に適合していないと判断された場合に、前記コントローラ部の設定と前記プロトコル制御部の設定間の可能な組み合わせを示す情報に基づいて、前記機器に適合する前記プロトコル制御部の設定の候補を少なくとも１つ特定し、特定した少なくとも１つの候補のうちの１つを前記プロトコル制御部に適用する
［２］、または［２］を引用する［３］に記載の通信アダプタ。
［６］
前記設定検証部は、前記コントローラ部が前記機器から受信したデータに基づき、前記コントローラ部の設定が前記機器に適合しているかを判断し、前記コントローラ部の設定が前記機器に適合していないと判断した場合に、与えられたデータから前記コントローラ部の前記機器に適合する設定を推定するモデルを用いて、前記受信されたデータから、前記コントローラ部の前記機器に適合する設定を推定する
［１］ないし［３］のいずれか一項に記載の通信アダプタ。
［７］
前記設定検証部は、前記コントローラ部が前記機器から受信したデータに基づき、前記コントローラ部の設定を検証し、前記コントローラ部の設定が前記機器に適合していないと判断した場合に、前記受信されたデータを、前記通信部を介して推定装置に送信し、
前記設定受付部は、前記推定装置で推定された前記コントローラ部の前記機器に適合する設定に関する情報を前記推定装置から受信する
［２］、または［２］を引用する［３］に記載の通信アダプタ。
［８］
機器情報を記憶する記憶部を備え、
前記設定検証部は、前記プロトコル制御部の設定が前記機器に適合していると判断された場合に、前記プロトコル制御部を介して前記インタフェース部に接続された前記機器から機器情報を取得し、前記機器情報を前記記憶部に記憶された機器情報と比較することにより前記インタフェース部の接続先の機器が変更されたかを判断し、前記接続先の機器が変更されたと判断したときは、前記通信部を介して、前記接続先の機器が変更されたことを示す情報を送信する
［１］ないし［７］のいずれか一項に記載の通信アダプタ。
［９］
前記通信部を介して前記機器に対する制御指示を受け付ける制御受付部を備え、
前記プロトコル制御部は、前記制御指示に基づき前記機器を制御し、
前記制御受付部は無効化されており、
前記設定検証部は、前記通信部を介して前記接続先の機器が変更されたことに対し承認情報を受信したとき、前記制御受付部を有効化する
［８］に記載の通信アダプタ。
［１０］
インタフェース部に接続された機器と通信するコントローラ部の動作を検証することにより、前記コントローラ部の設定が前記機器に適合しているかを判断する設定検証ステップと、
前記コントローラ部の設定が前記機器に適合していると判断された場合に、前記コントローラ部を介して前記機器を制御するプロトコル制御部の動作を検証することにより、前記プロトコル制御部の設定が前記機器に適合しているかを判断するステップと、
前記コントローラ部の設定または前記プロトコル制御部の設定が前記機器に適合していないと判断された場合に、前記コントローラ部または前記プロトコル制御部の設定が前記機器に適合していないことを通知する情報を送信するステップと、
を備えた通信方法。
［１１］
インタフェース部に接続された機器と通信するコントローラ部の動作を検証することにより、前記コントローラ部の設定が前記機器に適合しているかを判断する設定検証ステップと、
前記コントローラ部の設定が前記機器に適合していると判断された場合に、前記コントローラ部を介して前記機器を制御するプロトコル制御部の動作を検証することにより、前記プロトコル制御部の設定が前記機器に適合しているかを判断するステップと、
前記コントローラ部の設定または前記プロトコル制御部の設定が前記機器に適合していないと判断された場合に、前記コントローラ部または前記プロトコル制御部の設定が前記機器に適合していないことを通知する情報を送信するステップと、
をコンピュータに実行させるためのプログラム。
【符号の説明】
【００４２】
１０１：通信部
１０２：インタフェース部
１０３：コントローラ
１０４：プログラム保持部
１０５：プロトコル制御部
１０６：設定検証部
１０７：制御受付部
１０８：設定受付部
１１０：記憶部
３０１：通信アダプタ
３０２：機器
３０３：ルータ
３０４：端末
３０５：端末
３０６：インターネット
３０７：サーバ
３０８：携帯電話網
【図１】
2019117661.tif 000003
【図２】
2019117661.tif 000004
【図３】
2019117661.tif 000005
【図４】
2019117661.tif 000006
【図５】
2019117661.tif 000007
【図６】
2019117661.tif 000008
【図７】
2019117661.tif 000009
【図８】
2019117661.tif 000010
【図９】
2019117661.tif 000011
【図１０】
2019117661.tif 000012