(57)【要約】【課題】通信システムとして機能性を損なうことなく、全体のコストを下げること。【解決手段】態様の１つに係る通信機器は、プロトコルスタックと、第１通信インタフェースと、第２通信インタフェースと、プロセッサとを備え、前記第１通信インタフェースおよび前記第２通信インタフェースを介して後位装置をサーバに接続させる通信機器である。プロトコルスタックは、少なくともアプリケーション層を有する。プロセッサは、第２通信インタフェースを介して後位装置からコマンドを受信し、制御コマンドをアプリケーション層が処理可能な形式に変換し、変換された制御コマンドおよびプロトコルスタックに基づいて、第２通信インタフェースを介して外部サーバにアプリケーション層プロトコルリクエストを送信する。【選択図】図２
2020088623.tif 000002
【特許請求の範囲】
【請求項１】
プロトコルスタックと、第１通信インタフェースと、第２通信インタフェースと、プロセッサとを備え、前記第１通信インタフェースおよび前記第２通信インタフェースを介して後位装置をサーバに接続させる通信機器であって、
前記プロトコルスタックは、
少なくともアプリケーション層の通信プロトコルをサポートし、
前記プロセッサは、
前記第２通信インタフェースを介して前記後位装置から制御コマンドを受信し、
前記制御コマンドを前記アプリケーション層が処理可能な形式に変換し、
変換された前記制御コマンドおよび前記プロトコルスタックに基づいて、前記第１通信インタフェースを介して外部サーバにアプリケーション層プロトコルリクエストを送信する
通信機器。
【請求項２】
前記プロセッサは、
前記アプリケーション層プロトコルリクエストを送信した後に、前記第２通信インタフェースを介して前記外部サーバからアプリケーション層プロトコルレスポンスを受信し、
前記アプリケーション層プロトコルレスポンスを前記後位装置が処理可能な形式のリザルトコードに変換し、
変換したリザルトコードを前記第１通信インタフェースを介して前記後位装置に送信する
請求項１に記載の通信機器。
【請求項３】
前記後位装置は、アプリケーション層の通信プロトコルをサポートするプロトコルスタックを備えない
請求項１または２に記載の通信機器。
【請求項４】
前記制御コマンドはＡＴコマンドを含む
請求項１から３のいずれか一項に記載の通信機器。
【請求項５】
前記アプリケーション層の通信プロトコルはＨＴＴＰ、ＣｏＡＰ、およびＭＱＴＴのうちの少なくともいずれかを含む
請求項１から４のいずれか一項に記載の通信機器。
【請求項６】
前記第１通信インタフェースは、シリアル通信を行う有線通信インタフェースを含む
請求項１から５のいずれか一項に記載の通信機器。
【請求項７】
前記第２通信インタフェースは、無線通信インタフェースを含む
請求項１から６のいずれか一項に記載の通信機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、通信機器に関する。
【背景技術】
【０００２】
従来、装置間で行われる通信を仲立ちする無線通信モジュールが知られている。たとえば無線通信モジュールの中には、後位装置とシリアル通信ケーブルで接続し、後位装置からの要求により通信経路を形成し、基地局との間に無線通信路を形成することにより、基地局を介して行われる後位装置とサーバとの間の通信を中継するものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−８２７８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の後位装置は、サーバとの通信を行うために複数の機能を備える必要があり、複数の機能を実施する処理能力が求められる。
【課題を解決するための手段】
【０００５】
態様の１つに係る通信機器は、プロトコルスタックと、第１通信インタフェースと、第２通信インタフェースと、プロセッサとを備え、前記第１通信インタフェースおよび前記第２通信インタフェースを介して後位装置をサーバに接続させる通信機器である。プロトコルスタックは、少なくともアプリケーション層を有する。プロセッサは、第２通信インタフェースを介して後位装置からコマンドを受信し、制御コマンドをアプリケーション層が処理可能な形式に変換し、変換された制御コマンドおよびプロトコルスタックに基づいて、第２通信インタフェースを介して外部サーバにアプリケーション層プロトコルリクエストを送信する。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態に係る通信システムの構成例を示す図である。
【図２】図２は、実施形態に係る通信システムが備える各装置の機能構成の一例を示すブロック図である。
【図３】図３は、実施形態に係る通信機器による処理の一例を示すフローチャートである。
【図４】図４は、比較例に係る各装置が備える通信機能及び処理機能の階層構造の一例を示す図である。
【図５】図５は、実施形態に係る各装置が備える通信機能及び処理機能の階層構造の一例を示す図である。
【発明を実施するための形態】
【０００７】
本出願に係る実施形態を、図面を参照しつつ詳細に説明する。以下の説明において、同様の構成要素について同一の符号を付すことがある。さらに、重複する説明は省略することがある。
【０００８】
図１は、実施形態に係る通信システムの構成例を示す図である。図１に示すように、通信システム１は、後位装置１０と、対向サーバ２０と、通信機器１００とを備える。対向サーバ２０は「外部サーバ」の一例である。
【０００９】
後位装置１０は通信機器１００に接続される。後位装置１０と通信機器１００との接続形態は、有線であるか無線であるかを問わない。通信機器１００は通信ネットワーク２を介して対向サーバ２０と接続される。
【００１０】
通信ネットワーク２は、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）、電話網（携帯電話網、固定電話網等）、地域ＩＰ（Internet  Protocol）網、インターネット等の通信ネットワークである。対向サーバ２０及び通信機器１００が通信ネットワーク２に接続する際の接続形態は、無線であるか、有線であるか、又は有線と無線との組合せであるかを問わない。
【００１１】
後位装置１０は、通信機器１００を介して、対向サーバ２０との間でデータ通信を実行する。通信機器１００は、後位装置１０と対向サーバ２０との間で実行されるデータ通信を仲立ちする。対向サーバ２０は、通信機器１００を介して、後位装置１０との間でデータ通信を実行する。
【００１２】
図２は、実施形態に係る通信システムが備える各装置の機能構成の一例を示すブロック図である。
【００１３】
後位装置１０は、上述したように、通信機器１００を介して、対向サーバ２０との間でデータ通信を実行する装置である。かかる後位装置１０は、図２に示すように、センサユニット１１と、通信部１２と、制御部１３とを備える。
【００１４】
センサユニット１１は後位装置１０に関する各種情報を計測する。センサユニット１１は、後位装置１０について計測する情報ごとに、情報を計測するセンサを複数有する。センサユニット１１が備えるセンサとして、照度センサ、近接センサ、加速度センサ、方位センサ、ジャイロスコープ、温度センサ、気圧センサ、圧力センサなどの各種センサの他、ＧＰＳ（Global  Positioning  System）レシーバを含むマルチＧＮＳＳ（Global  Navigation  Satellite  System）受信モジュールなどが例示できる。
【００１５】
通信部１２は、シリアル通信ケーブルで接続された通信機器１００との間で、シリアル通信を実行する通信インタフェースを含む。シリアル通信を実行する通信インタフェースは、ＡＮＳＩ／ＴＩＡ／ＥＩＡ−２３２−Ｆ、ＵＳＢ（Universal  Serial  Bus）、ＧＰＩＯ（General  Purpose  Input  Output）などであってもよい。通信部１２は、パラレル信号とシリアル信号を相互変換することができる。すなわち、通信部１２は、パラレル信号をシリアル信号に変換し、該シリアル信号を通信機器１００に送信できる。また、通信部１２は、通信機器１００から受信したシリアル信号をパラレル信号に変換できる。通信部１２は、パラレル信号とシリアル信号を相互変換することができる集積回路を含んでもよい。パラレル信号とシリアル信号を相互変換することができる集積回路は、ＵＡＲＴ（Universal  Asynchronous  Receiver  Transmitter）と呼ばれる。なお、ＡＮＳＩ／ＴＩＡ／ＥＩＡ−２３２−Ｆは、単にシリアルポート、またはＲＳ−２３２Ｃ（Recommended  Standard  232C）と呼ばれることがある。また、ＵＡＲＴという言葉は、通信インタフェースを指して用いられることもある。以下では便宜上、通信部１２が有しうる通信インタフェースの１つであるＡＮＳＩ／ＴＩＡ／ＥＩＡ−２３２−Ｆまたはそれに類似する規格を「ＵＡＲＴ」として説明を行う。
【００１６】
制御部１３は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の制御装置によって、後位装置１０内部の記憶装置に記憶されている各種プログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【００１７】
制御部１３は、たとえばクライアント用アプリケーション１４を実装する。制御部１３が実装するクライアント用アプリケーション１４は、「Ｃｏｎｔｒｏｌ」部の処理機能を有する。「Ｃｏｎｔｒｏｌ」部は、通信機器１００に実装されるクライアント用アプリケーション１３２が有する「Ｍｏｄｅｌ」部、及び「Ｖｉｅｗ」部の振る舞いを制御する機能を提供する。
【００１８】
制御部１３は、クライアント用アプリケーション１４により提供される機能に基づいて、通信部１２を介し、ＡＴコマンドを通信機器１００に対して送信できる。後位装置１０が送信するコマンドはＡＴコマンドに限られず、テキストで構成されるその他のコマンドを含む。ＡＴコマンドは、通信機器１００に実装されるクライアント用アプリケーション１３２が有する「Ｍｏｄｅｌ」部、及び「Ｖｉｅｗ」部の振る舞いを記述したファイル、およびセンサユニット１１が計測したセンサデータが記述されたファイルを含む。言い換えると、ＡＴコマンドは、通信機器１００に実装されるクライアント用アプリケーション１３２が有する「Ｍｏｄｅｌ」部、及び「Ｖｉｅｗ」部の振る舞いを記述したファイル、およびセンサユニット１１が計測したセンサデータが記述されたファイルに対応するパラメータを含む。「Ｍｏｄｅｌ」部、及び「Ｖｉｅｗ」部の振る舞い、およびセンサデータは単一のファイル内に記述されてもよい。ＡＴコマンドは、たとえばＵＲＬ（Uniform  Resource  Locater）に続けて「ＧＥＴ」、「ＰＯＳＴ」、「ＰＵＴ」などの各メソッドを記述し、各メソッドによる処理の内容物であるセンサデータなどを対応付けたＨＴＴＰ（Hypertext  Transfer  Protocol）メソッドを含んでよい。ＡＴコマンドは、「制御コマンド」の一例である。
【００１９】
また、制御部１３は、通信部１２を介し、対向サーバ２０から送信されたＨＴＴＰレスポンスに対応する非請求リザルトを通信機器１００から受信できる。非請求リザルトは、「リザルトコード」の一例である。ＨＴＴＰレスポンスは、「アプリケーション層プロトコルレスポンス」の一例である。
【００２０】
通信機器１００は、上述したように、後位装置１０と対向サーバ２０との間で実行されるデータ通信を仲立ちする機器である。かかる通信機器１００は、図２に示すように、第１通信インタフェース１１０と、第２通信インタフェース１２０と、ストレージ１３０と、プロセッサ１４０とを備える。
【００２１】
第１通信インタフェース１１０は、通信ネットワーク２を介して、対向サーバ２０との間で各種データを送受信する通信インタフェースである。第１通信インタフェース１１０がサポートする無線通信規格には、例えば、２Ｇ、３Ｇ、４Ｇ、５Ｇ等のセルラーフォンの通信規格と、近距離無線の通信規格とが含まれる。
【００２２】
第１通信インタフェース１１０がサポートするセルラーフォンの通信規格としては、例えば、ＬＴＥ（Long  Term  Evolution）、Ｗ−ＣＤＭＡ（登録商標）（Wideband  Code  Division  Multiple  Access）、ＣＤＭＡ２０００、ＰＤＣ（Personal  Digital  Cellular）、ＧＳＭ（登録商標）（Global  System  for  Mobile  communications）、ＰＨＳ（Personal  Handy-phone  System）等がある。
【００２３】
近距離無線の通信規格としては、例えば、ＷｉＭＡＸ（登録商標）（Worldwide  interoperability  for  Microwave  Access）、ＩＥＥＥ８０２．１１、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩｒＤＡ（Infrared  Data  Association）、ＮＦＣ（登録商標）（Near  Field  Communication）、ＷＰＡＮ（Wireless  Personal  Area  Network）等が含まれる。第１通信インタフェース１１０は、上述した通信規格の１つ又は複数をサポートしていてもよい。
【００２４】
第２通信インタフェース１２０は、シリアル通信ケーブルで接続された後位装置１０との間で各種データを送受信するシリアル通信を実行するための通信インタフェースである。第２通信インタフェース１２０は、ＵＡＲＴ、ＵＳＢ（Universal  Serial  Bus）、ＧＰＩＯ（General  Purpose  Input  Output）などを備えてよい。また、第２通信インタフェース１２０も、第１通信インタフェース１１０と同様に、上述した近距離無線の通信規格をサポートしてもよい。
【００２５】
ストレージ１３０は、プログラムおよびデータを記憶する。ストレージ１３０は、プロセッサ１４０の処理結果を一時的に記憶する作業領域としても利用される。ストレージ１３０は、半導体記憶媒体、および磁気記憶媒体等の任意の非一過的（non-transitory）な記憶媒体を含んでよい。ストレージ１３０は、複数の種類の記憶媒体を含んでよい。ストレージ１３０は、メモリカード、光ディスク、または光磁気ディスク等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。ストレージ１３０は、ＲＡＭ（Random  Access  Memory）等の一時的な記憶領域として利用される記憶デバイスを含んでよい。
【００２６】
ストレージ１３０が記憶するプログラムおよびデータの一部または全部は、ストレージ１３０に含まれる読み取り装置が読み取り可能な非一過的な記憶媒体に記憶されていてもよい。ストレージ１３０が記憶するプログラムおよびデータの一部または全部は、図示しないコネクタに接続される読み取り装置が読み取り可能な非一過的な記憶媒体に記憶されていてもよい。非一過的な記憶媒体は、例えば、ＣＤ（登録商標）、ＤＶＤ（登録商標）、Ｂｌｕ−ｒａｙ（登録商標）等の光ディスク、光磁気ディスク、磁気記憶媒体、メモリカード、およびソリッドステート記憶媒体を含むが、これらに限定されない。
【００２７】
ストレージ１３０に記憶されるプログラムには、フォアグランドまたはバックグランドで実行されるアプリケーションと、アプリケーションの動作を支援する制御プログラムとが含まれる。制御プログラムは、例えば、ＯＳである。アプリケーションおよび制御プログラムは、非一過的な記憶媒体を介してストレージ１３０に導入されてもよい。
【００２８】
ストレージ１３０に記憶されるプログラムは、通信機器１００の各種動作に関する処理を実現するための機能をそれぞれ提供できる。
【００２９】
ストレージ１３０は、プロトコルスタック１３１、及びクライアント用アプリケーション１３２を記憶する。
【００３０】
プロトコルスタック１３１は、アプリケーション層の通信プロトコルとして例示されるＨＴＴＰ、トランスポート層の通信プロトコルとして例示されるＴＣＰ（Transmission  Control  Protocol）及びＳＳＬ（Secure  Sockets  Layer）、インターネット層の通信プロトコルであるＩＰ（Internet  Protocol）、並びにデータリンク層の通信プロトコルとして例示されるＬＴＥ（Long  Term  Evolution）などをサポートする。
【００３１】
クライアント用アプリケーション１３２は、「Ｍｏｄｅｌ」部、及び「Ｖｉｅｗ」部を有する。クライアント用アプリケーション１３２は、後位装置１０から受信するＡＴコマンドをアプリケーション層が処理可能な形式に変換する。クライアント用アプリケーション１３２が、ＡＴコマンドをアプリケーション層が処理可能な形式に変換することとは、クライアント用アプリケーション１３２が、ＡＴコマンドに基づいてアプリケーション層が処理可能な要求を生成することを含む。たとえばクライアント用アプリケーション１３２は、ＡＴコマンドに含まれる「Ｍｏｄｅｌ」部、及び「Ｖｉｅｗ」部の振る舞いを記述したファイルに対応するパラメータに従って「Ｍｏｄｅｌ」部、及び「Ｖｉｅｗ」部として振る舞い、ＡＴコマンドをアプケーション層が処理可能なＨＴＴＰリクエストに変換して対向サーバ２０に送信するための機能を提供できる。
【００３２】
また、クライアント用アプリケーション１３２は、ＨＴＴＰリクエストに対するＨＴＴＰレスポンスを対向サーバ２０から受信すると、ＨＴＴＰレスポンスをＡＴコマンドの入力に対する応答の形式、すなわち後位装置１０が解釈可能な非請求リザルトの形式に変換した上で後位装置１０に伝達するための機能を提供できる。クライアント用アプリケーション１３２が提供する機能により、ＨＴＴＰレスポンスに含まれるＨＴＭＬ（Hyper  Text  Markup  Language）ドキュメントなどの関連ドキュメントのデータが、後位装置１０の解釈可能な非請求リザルトのリザルトコードの中に埋め込まれた状態で後位装置１０に伝達される。ＨＴＴＰレスポンスは、「アプリケーション層プロトコルレスポンス」の一例である。
【００３３】
プロセッサ１４０は、ストレージ１３０に記憶されるプログラムに基づいて、通信機器１００の各種動作に関する処理を実現する。具体的に説明すると、プロセッサ１４０は、第２通信インタフェース１２０を介して後位装置１０からＡＴコマンドを受信する。プロセッサ１４０は、ＡＴコマンドをアプリケーション層が処理可能な形式に変換し、変換されたＡＴコマンドおよびプロトコルスタック１３１に基づいて、第１通信インタフェース１１０を介し、対向サーバ２０にＨＴＴＰリクエストを送信する。
【００３４】
また、プロセッサ１４０は、対向サーバ２０からＨＴＴＰレスポンスを受信すると、受信したＨＴＴＰレスポンスを後位装置１０が解釈可能な非請求リザルトの形式に変換し、変換した非請求リザルトを後位装置１０に送信する。プロセッサ１４０は、ＨＴＴＰレスポンスを非請求リザルトの形式で後位装置１０に送信する際、ＨＴＴＰレスポンスに含まれるＨＴＭＬ（Hyper  Text  Markup  Language）ドキュメントなどの関連ドキュメントのデータを取得し、取得したデータを非請求リザルトのリザルトコードとして非請求リザルトに埋め込む。
【００３５】
対向サーバ２０は、上述したように、通信機器１００を介して、後位装置１０との間でデータ通信を実行する装置であり、かかる対向サーバ２０は、図２に示すように、通信部２１および制御部２２を備える。
【００３６】
通信部２１は、通信ネットワーク２を介して、通信機器１００との間で各種データを送受信する通信インタフェースである。通信部２１は、通信機器１００と通信可能に接続するための通信プロトコルをサポートする。
【００３７】
制御部２２は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の制御装置によって、対向サーバ２０内部の記憶装置に記憶されている各種プログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部２２は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【００３８】
制御部２２は、たとえばサーバ用アプリケーション２３を実装する。サーバ用アプリケーション２３は、ＨＴＴＰリクエストを解釈する機能、及びＨＴＴＰレスポンスを作成する機能を提供する。制御部２２は、通信機器１００からＨＴＴＰリクエストを受信すると、ＨＴＴＰリクエストを解釈し、ＨＴＴＰリクエストに対するＨＴＴＰレスポンスを作成して、通信機器１００に送信する。
【００３９】
図３は、実施形態に係る通信機器による処理の一例を示すフローチャートである。図３に示す処理は、プロセッサ１４０がストレージ１３０に記憶されたプログラム及びデータ、プロトコルスタック１３１等に基づいて実行する。
【００４０】
図３に示すように、プロセッサ１４０は、後位装置１０からＡＴコマンドを受信すると（ステップＳ１０１）、後位装置１０から受信したＡＴコマンドを送信リクエストとして処理し（ステップＳ１０２）、対向サーバ２０にＨＴＴＰリクエストを送信する（ステップＳ１０３）。
【００４１】
たとえばプロセッサ１４０は、ＡＴコマンドから「Ｍｏｄｅｌ」部、及び「Ｖｉｅｗ」部の振る舞いを記述したファイルに対応するパラメータを取得する。そして、通信機器１００は、取得したファイルに対応するパラメータの情報を解析して、クライアント用アプリケーション１３２が有する「Ｍｏｄｅｌ」部、及び「Ｖｉｅｗ」部として振る舞い、ＡＴコマンドをＨＴＴＰの通信プロトコルで処理可能な形式、すなわちＨＴＴＰリクエストに変換する。そして、プロセッサ１４０は、ＤＮＳ（Domain  Name  Service）の名前解決を実行し、ＡＴコマンドに記述されたＵＲＬに示される対向サーバ２０およびＴＣＰポートとの間にＴＣＰセッションを確立し、対向サーバ２０に対してＨＴＴＰリクエストを送信する。ＨＴＴＰリクエストは、アプリケーション層プロトコルリクエストの一例である。
【００４２】
続いて、プロセッサ１４０は、対向サーバ２０からＨＴＴＰレスポンスを受信すると（ステップＳ１０４）、受信したＨＴＴＰレスポンスを後位装置１０が解釈可能な非請求リザルトに変換し（ステップＳ１０５）、変換した非請求リザルトを後位装置１０に送信して（ステップＳ１０６）、図３に示す処理を終了する。
【００４３】
たとえばプロセッサ１４０は、ＨＴＴＰレスポンスを非請求リザルトの形式で後位装置１０に送信する際、ＨＴＴＰレスポンスに含まれるＨＴＭＬドキュメントなどの関連ドキュメントのデータを取得し、取得したデータを非請求リザルトのリザルトコードとして非請求リザルトに埋め込み、ＡＴコマンドの入力に対する応答の形式である非請求リザルトの形式で後位装置１０に伝達する。
【００４４】
図４は、比較例に係る各装置が備える通信機能及び処理機能の階層構造の一例を示す図である。図５は、実施形態に係る各装置が備える通信機能及び処理機能の階層構造の一例を示す図である。
【００４５】
図４に示す比較例に係る後位装置ＥＸは、通信機器ＥＸとの間の通信機能部として、ＵＡＲＴ、またはＵＳＢなどを備える。また、図４に示す比較例に係る後位装置ＥＸは、アプリケーション層の通信プロトコルとしてＨＴＴＰをサポートする。また、図４に示す比較例に係る後位装置ＥＸは、対向サーバＥＸとの間で実行される各種データの送受信に関する処理機能を提供するクライアント用アプリケーションＥＸを実装する。クライアント用アプリケーションＥＸは、「ＣｏｎｔｒｏｌＥＸ」部、「ＭｏｄｅｌＥＸ」部、及び「ＶｉｅｗＥＸ」部の各処理機能を後位装置ＥＸに提供する。後位装置ＥＸは、クライアント用アプリケーションＥＸを実行することにより、「ＣｏｎｔｒｏｌＥＸ」部、「ＭｏｄｅｌＥＸ」部、及び「ＶｉｅｗＥＸ」部の各処理機能に対応する処理を実行する。「ＣｏｎｔｒｏｌＥＸ」部は、例えばユーザからの入力がなされた場合に、該入力を「ＭｏｄｅｌＥＸ」部への命令に変換する処理を実行する。「ＭｏｄｅｌＥＸ」部は、「ＣｏｎｔｒｏｌＥＸ」部の命令に応じて情報（データの変更など）を「ＶｉｅｗＥＸ」部へ通知する。
【００４６】
また、図４に示す比較例に係る通信機器ＥＸは、後位装置ＥＸとの間の通信機能部として、ＵＡＲＴ、ＵＳＢなどを備える。また、通信機器ＥＸは、対向サーバＥＸとの間の通信を制御する通信プロトコルとして、ＴＣＰ、ＳＳＬ、ＩＰ及びＬＴＥをサポートする。
【００４７】
また、対向サーバＥＸは、通信機器ＥＸとの間の通信を制御する通信プロトコルとして、ＨＴＴＰ、並びにＨＴＴＰ以下のＴＣＰ、ＳＳＬ、ＩＰ、及びＥｔｈｅｒｎｅｔ（登録商標）をサポートする。また、対向サーバＥＸは、後位装置ＥＸとの間で実行される各種データの送受信に関する処理機能を提供するサーバ用アプリケーションＥＸを実装する。
【００４８】
一方、実施形態に係る後位装置１０は、図５に示すように、通信機器１００との間の通信機能部としてＵＡＲＴ、ＵＳＢ、ＧＰＩＯなどを備える。また、後位装置１０は、アプリケーション層の通信プロトコルであるＨＴＴＰをサポートしない。また、後位装置１０は、クライアント用アプリケーション１４により提供される「Ｃｏｎｔｒｏｌ」部の処理機能を実装する。「Ｃｏｎｔｒｏｌ」部は、後位装置１０が備えるタイマが条件を満たした場合などに、センサユニット１１が計測したセンサデータの送信を通信機器１００に依頼する。「Ｃｏｎｔｒｏｌ」部は、センサデータの送信を通信機器１００に依頼する際、通信部１２を用いて、センサデータのファイルおよび「Ｍｏｄｅｌ」部、及び「Ｖｉｅｗ」部の振る舞いを記述したファイルに対応するパラメータをＡＴコマンドに含めて通信機器１００に送信する。
【００４９】
実施形態に係る通信機器１００は、後位装置１０及び対向サーバ２０との間でデータ通信を実行するための通信機能部としてＵＡＲＴ、ＵＳＢ、ＧＰＩＯなどを備える。また、通信機器１００は、対向サーバ２０との間の通信を制御する通信プロトコルとして、アプリケーション層の通信プロトコルであるＨＴＴＰ並びに、ＨＴＴＰ以下のＴＣＰ、ＳＳＬ、ＩＰ及びＬＴＥをサポートする。また、通信機器１００は、クライアント用アプリケーション１３２により提供される「Ｍｏｄｅｌ」部および「Ｖｉｅｗ」部の処理機能を実装する。
【００５０】
実施形態に係る通信機器１００は、アプリケーション層の通信プロトコルであるＨＴＴＰをサポートし、クライアント用アプリケーション１３２を実装することにより、図４に示す比較例に係る後位装置ＥＸが実施している処理の一部を代行する。
【００５１】
すなわち、通信機器１００は、後位装置１０からＡＴコマンドを受信すると、ＡＴコマンドから「Ｍｏｄｅｌ」部、及び「Ｖｉｅｗ」部の振る舞いを記述したファイルのパラメータを取得する。そして、通信機器１００は、取得したファイルのパラメータの情報を解析して、クライアント用アプリケーション１３２の「Ｍｏｄｅｌ」部および「Ｖｉｅｗ」部として振る舞い、たとえばＡＴコマンドに格納されたセンサデータを含むＨＴＴＰリクエストを対向サーバ２０に送信する。
【００５２】
また、通信機器１００は、ＨＴＴＰリクエストに対するＨＴＴＰレスポンスを対向サーバ２０から受信すると、ＨＴＴＰレスポンスを後位装置１０が解釈可能な非請求リザルトに変換して後位装置１０に伝達する。このように、実施形態に係る通信機器１００は、図４に示す比較例に係る後位装置ＥＸが実施している処理の一部を代行する。
【００５３】
対向サーバ２０は、図４に示す比較例に係る対向サーバＥＸと同様に、ＨＴＴＰ、並びにＨＴＴＰ以下のＴＣＰ、ＳＳＬ、ＩＰ、及びＥｔｈｅｒｎｅｔ（登録商標）をサポートする。また、対向サーバ２０は、図４に示す比較例に係る対向サーバＥＸと同様に、後位装置１０との間で実行される各種データの送受信に関する処理機能を提供するサーバ用アプリケーション２３を実装する。
【００５４】
実施形態に係る後位装置１０は、通信機器１００との間の通信機能部として、ＵＡＲＴのみを備えているものであってもよい。ＵＡＲＴは、比較的安価な制御装置にも標準ペリフェラルとして搭載されている場合があり、後位装置１０に実装する制御装置の選択肢を広げられる。
【００５５】
また、図４に示す比較例に係る後位装置ＥＸは、アプリケーション層の通信プロトコルであるＨＴＴＰをサポートするが、図４に示す比較例に係る通信機器ＥＸは、アプリケーション層の通信プロトコルであるＨＴＴＰをサポートしない。一方、実施形態に係る後位装置１０がアプリケーション層の通信プロトコルであるＨＴＴＰをサポートしない代わりに、実施形態に係る通信機器１００がアプリケーション層の通信プロトコルであるＨＴＴＰをサポートし、ＨＴＴＰリクエストの作成及びＨＴＴＰレスポンスの解釈などのアプリケーション層の通信プロトコルによる処理を後位装置１０の代わりに実行する。このため、通信機器１００は、アプリケーション層の通信プロトコルによる処理について後位装置１０の負担を軽減でき、後位装置１０に要求される処理能力を低く抑えることができる。
【００５６】
また、図４に示す比較例に係る後位装置ＥＸは、クライアント用アプリケーションＥＸを実装する。後位装置ＥＸが実装するクライアント用アプリケーションＥＸは、「ＣｏｎｔｒｏｌＥＸ」部、「ＭｏｄｅｌＥＸ」部、及び「ＶｉｅｗＥＸ」部の処理機能を提供する。そして、図４に示す比較例に係る通信機器ＥＸは、クライアント用アプリケーションＥＸを実装しない。一方、実施形態において、後位装置１０がクライアント用アプリケーション１４を実装し、実施形態に係る通信機器１００はクライアント用アプリケーション１３２を実装することにより、後位装置１０と通信機器１００との間でアプリケーションによる処理を分散する。すなわち、クライアント用アプリケーション１４により提供される「Ｃｏｎｔｒｏｌ」部の処理機能を後位装置１０に持たせ、クライアント用アプリケーション１３２により提供される「Ｍｏｄｅｌ」部および「Ｖｉｅｗ」部の処理機能を通信機器１００に持たせる。これにより、通信機器１００は、アプリケーションの処理のうち、クライアント用アプリケーションＥＸの「ＭｏｄｅｌＥＸ」部、及び「ＶｉｅｗＥＸ」部が実行する処理に相当する処理を「Ｍｏｄｅｌ」部、及び「Ｖｉｅｗ」部に実行させることにより、後位装置１０の負担を軽減でき、後位装置１０に要求される処理能力を低く抑えることができる。ただし、「ＭｏｄｅｌＥＸ」部、及び「ＶｉｅｗＥＸ」部は「ＣｏｎｔｒｏｌＥＸ」部からの命令を起点として処理を実行する一方で、「Ｍｏｄｅｌ」部、及び「Ｖｉｅｗ」部は、受信したＡＴコマンドを起点として処理を実行するものであり、それぞれは異なるものであることに留意されたい。
【００５７】
上述したように、実施形態に係る通信機器１００は、後位装置１０で実施される処理のうち、対向サーバ２０とのやり取りに関するアプリケーションの処理、及び対向サーバ２０とのやり取りに関するアプリケーション層の通信プロトコルによる処理について、後位装置１０の負担を軽減できる。これにより、後位装置１０に要求される処理能力を低くすることができ、通信システム１として機能性を損なうことなく、通信システム１における全体のコストを下げることができる。
【００５８】
後位装置１０から通信機器１００に対して送信されるコマンドは、１または複数ビットのバイナリデータまたはテキストデータを含む。この１または複数ビットのバイナリデータまたはテキストデータは、後位装置１０の状態の変化、機能のＯＮ／ＯＦＦ、設定値の変化、センサユニット１１が取得したセンサデータの変化に応じて生成されるデータそのものであってもよい。すなわち、1または複数ビットのバイナリデータまたはテキストデータは、通信機器１００に処理を実行させるための専用のコマンドを含まなくてもよい。一例として、センサユニット１１が取得したセンサデータは、テキストデータで送信され得る。また、後位装置１０の状態、設定値、センサデータの変化に応じたデータは、１ビットのバイナリデータで送信され得る。例えば、後位装置１０の状態、設定値、センサデータに所定の変化が発生した場合、通信機器１００に０または１を示す信号が送信される。複数ビットのバイナリデータであれば、後位装置１０の状態、設定値、センサデータの変化に応じて３種類以上の信号が送信されてもよい。後位装置１０の状態の変化とは、例えば後位装置１０の故障、電池残量の変化などを含む。なお、後位装置１０が送信するデータがバイナリデータである場合、通信部１２の通信インタフェースはＧＰＩＯであってもよい。通信機器１００のクライアント用アプリケーション１３２は、後位装置１０から受信するバイナリデータまたはテキストデータを、アプリケーション層が処理可能な形式に変換する。言い換えると、クライアント用アプリケーション１３２は、後位装置１０から受信するバイナリデータまたはテキストデータに基づいてアプリケーション層が処理可能な要求を生成する。通信機器１００はあらかじめ、生成される要求を、受信するデータの形式および値に対応付けて記憶していてもよい。クライアント用アプリケーション１３２は、要求される「Ｍｏｄｅｌ」部、及び「Ｖｉｅｗ」部の振る舞いに従って「Ｍｏｄｅｌ」部、及び「Ｖｉｅｗ」部として振る舞い、ＨＴＴＰリクエストを対向サーバ２０に送信するための機能を提供できる。
【００５９】
上記実施形態の一例として、後位装置１０は、レンタル業者からレンタルされた家電製品である場合を想定できる。この場合において、後位装置１０は、自機の故障を検知した場合に、例えばＧＰＩＯを介して１ビットのバイナリデータ（＝０）を通信機器１００に送信する。通信機器１００のクライアント用アプリケーション１３２は、１ビットのバイナリデータ（＝０）を後位装置１０から受信すると、後位装置１０が故障したと判定し、サーバへその旨を通知すべきとの要求を生成する。クライアント用アプリケーション１３２は、要求に従って「Ｍｏｄｅｌ」部、及び「Ｖｉｅｗ」部として振る舞い、プロセッサ１４０は、例えばレンタル業者のサーバに、後位装置１０の故障を通知するためのＨＴＴＰリクエストを送信する。
【００６０】
上述した実施形態において、実施形態に係る通信システム１で用いられるアプリケーション層の通信プロトコルであるＨＴＴＰを例示したが、この例には特に限定される必要はなく、ＨＴＴＰの代わりとしてＭＱＴＴ（Message  Queuing  Telemetry  Transport）またはＣｏＡＰ（Constrained  Application  Protocol）を例示できる。また、実施形態に係る通信システム１で用いられるトランスポート層の通信プロトコルとして、ＴＣＰを例示したが、この例には特に限定される必要はなく、ＴＣＰの代わりとしてＵＤＰ（User  Datagram  Protocol）が例示される。また、実施形態に係る通信システム１で用いられるインターネット層の通信プロトコルとして、ＩＰを例示したが、この例には特に限定される必要はなく、ＩＰの代わりとしてＩＣＭＰ（Internet  Control  Message  Protocol）が例示される。
【００６１】
実施形態に係る後位装置１０は、通信機器１００が備えるＵＡＲＴやＵＳＢなどの汎用の通信インタフェースで接続可能な装置があればよく、家庭内に設置されるＨＤＤレコーダ、エアコン、冷蔵庫などの家電の他、工場などに設置される工作機械などが例示できる。対向サーバ２０として、後位装置１０のセンサユニット１１により計測されたデータを管理するクラウドサーバなどが例示できる。
【００６２】
添付の請求項に係る技術を完全かつ明瞭に開示するために特徴的な実施形態に関し記載してきた。しかし、添付の請求項は、上記の実施形態に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成により具現化されるべきである。
【符号の説明】
【００６３】
１  通信システム
２  通信ネットワーク
１０  後位装置
２０  対向サーバ
１００  通信機器
【図１】
2020088623.tif 000003
【図２】
2020088623.tif 000004
【図３】
2020088623.tif 000005
【図４】
2020088623.tif 000006
【図５】
2020088623.tif 000007