(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-03
(45)【発行日】2024-10-11
(54)【発明の名称】中継装置、中継方法及びプログラム
(51)【国際特許分類】
H04L 69/08 20220101AFI20241004BHJP
【FI】
H04L69/08
(21)【出願番号】P 2023572295
(86)(22)【出願日】2022-01-06
(86)【国際出願番号】 JP2022000229
(87)【国際公開番号】W WO2023132033
(87)【国際公開日】2023-07-13
【審査請求日】2023-11-20
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100095407
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100131152
【氏名又は名称】八島 耕司
(74)【代理人】
【識別番号】100147924
【氏名又は名称】美恵 英樹
(74)【代理人】
【識別番号】100148149
【氏名又は名称】渡邉 幸男
(74)【代理人】
【識別番号】100181618
【氏名又は名称】宮脇 良平
(74)【代理人】
【識別番号】100174388
【氏名又は名称】龍竹 史朗
(72)【発明者】
【氏名】澤 健太郎
(72)【発明者】
【氏名】花井 諭司
(72)【発明者】
【氏名】山田 貴光
【審査官】田中 秀樹
(56)【参考文献】
【文献】特開2006-129282(JP,A)
【文献】特開2005-123686(JP,A)
【文献】米国特許出願公開第2019/0028572(US,A1)
【文献】米国特許出願公開第2007/0038703(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 13/00-13/18
H04L 61/00-65/80
H04L 69/00-69/40
(57)【特許請求の範囲】
【請求項1】
通信プロトコルが第1プロトコルの第1機器と通信する第1通信手段と、
通信プロトコルが前記第1プロトコルとは異なる第2プロトコルの第2機器と通信する第2通信手段と、
前記第1プロトコルに対応する第1データモデル用の変換テーブルであって、前記第1データモデルのプロパティとその上位プロパティとが対応付けられた第1変換テーブルと、前記第2プロトコルに対応する第2データモデル用の変換テーブルであって、前記第2データモデルのプロパティとその上位プロパティとが対応付けられた第2変換テーブルとを記憶する変換テーブル記憶手段と、
前記第1機器からの通信フレームが受信された場合、前記通信フレームに含まれるプロパティを前記第1変換テーブルを参照して上位プロパティに変換し、前記上位プロパティを前記第2変換テーブルを参照して前記第2データモデルのプロパティに変換し、
前記第2機器からの通信フレームが受信された場合、前記通信フレームに含まれるプロパティを前記第2変換テーブルを参照して上位プロパティに変換し、前記上位プロパティを前記第1変換テーブルを参照して前記第1データモデルのプロパティに変換するデータモデル変換手段と、
前記データモデル変換手段によって得られた前記第2データモデルのプロパティが格納された、前記第2プロトコルに則った通信フレームを生成し、生成した通信フレームを前記第2機器に送信し、
前記データモデル変換手段によって得られた前記第1データモデルのプロパティが格納された、前記第1プロトコルに則った通信フレームを生成し、生成した通信フレームを前記第1機器に送信する通信フレーム送信手段と、を備える、中継装置。
【請求項2】
前記第1機器から前記第1変換テーブルを取得し、取得した前記第1変換テーブルを前記変換テーブル記憶手段に保存し、前記第2機器から前記第2変換テーブルを取得し、取得した前記第2変換テーブルを前記変換テーブル記憶手段に保存する変換テーブル取得手段をさらに備える、請求項1に記載の中継装置。
【請求項3】
通信プロトコルが第1プロトコルの第1機器と通信する第1通信手段と、
通信プロトコルが前記第1プロトコルとは異なる第2プロトコルの第2機器と通信する第2通信手段と、
前記第1プロトコルに対応する第1データモデル用の変換テーブルであって、前記第1データモデルのプロパティとその上位プロパティとが対応付けられた第1変換テーブルと、前記第2プロトコルに対応する第2データモデル用の変換テーブルであって、前記第2データモデルのプロパティとその上位プロパティとが対応付けられた第2変換テーブルとを記憶する変換テーブル記憶手段と、を備えるコンピュータが、
前記第1機器からの通信フレームが受信された場合、前記通信フレームに含まれるプロパティを前記第1変換テーブルを参照して上位プロパティに変換し、前記上位プロパティを前記第2変換テーブルを参照して前記第2データモデルのプロパティに変換し、
前記第2データモデルのプロパティが格納された、前記第2プロトコルに則った通信フレームを生成し、生成した通信フレームを前記第2機器に送信し、
前記第2機器からの通信フレームが受信された場合、前記通信フレームに含まれるプロパティを前記第2変換テーブルを参照して上位プロパティに変換し、前記上位プロパティを前記第1変換テーブルを参照して前記第1データモデルのプロパティに変換し、
前記第1データモデルのプロパティが格納された、前記第1プロトコルに則った通信フレームを生成し、生成した通信フレームを前記第1機器に送信する、中継方法。
【請求項4】
通信プロトコルが第1プロトコルの第1機器と通信する第1通信手段と、
通信プロトコルが前記第1プロトコルとは異なる第2プロトコルの第2機器と通信する第2通信手段と、
前記第1プロトコルに対応する第1データモデル用の変換テーブルであって、前記第1データモデルのプロパティとその上位プロパティとが対応付けられた第1変換テーブルと、前記第2プロトコルに対応する第2データモデル用の変換テーブルであって、前記第2データモデルのプロパティとその上位プロパティとが対応付けられた第2変換テーブルとを記憶する変換テーブル記憶手段と、を備えるコンピュータを、
前記第1機器からの通信フレームが受信された場合、前記通信フレームに含まれるプロパティを前記第1変換テーブルを参照して上位プロパティに変換し、前記上位プロパティを前記第2変換テーブルを参照して前記第2データモデルのプロパティに変換し、
前記第2機器からの通信フレームが受信された場合、前記通信フレームに含まれるプロパティを前記第2変換テーブルを参照して上位プロパティに変換し、前記上位プロパティを前記第1変換テーブルを参照して前記第1データモデルのプロパティに変換するデータモデル変換手段、
前記データモデル変換手段によって得られた前記第2データモデルのプロパティが格納された、前記第2プロトコルに則った通信フレームを生成し、生成した通信フレームを前記第2機器に送信し、
前記データモデル変換手段によって得られた前記第1データモデルのプロパティが格納された、前記第1プロトコルに則った通信フレームを生成し、生成した通信フレームを前記第1機器に送信する通信フレーム送信手段、として機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、中継装置、中継方法及びプログラムに関する。
【背景技術】
【0002】
従来、互いに異なる通信プロトコルで通信を行う機器同士間の通信を中継する技術について、種々の提案がなされている。
【0003】
例えば、特許文献1には、上位システムであるメインシステムと、下位システムである複数のサブシステムと、複数のサブシステムと一対一に対応付けて接続される複数のインタフェースとを備え、各インタフェースが、対応するサブシステムと伝送路との間で信号を中継する際に、信号のプロトコルを変換する通信システムが記載されている。
【0004】
詳細には、この通信システムでは、各インタフェースは、対応するサブシステムから受信した信号を標準プロトコルの一次信号に変換し、変換した一次信号を伝送路に送信する。また、各インタフェースは、伝送路から受信した一次信号を対応するサブシステムのプロトコルの二次信号に変換し、変換した二次信号を当該サブシステムに出力する。これにより、特許文献1に記載の通信システムでは、複数のサブシステム間でプロトコルが互いに異なる場合でも、これら複数のサブシステム間の連携を実現可能にしている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
近年、機器間で通信を行う際のアプリケーションレベルのフォーマットであるデータモデルの標準仕様を決めることで、互いに異なるメーカの機器同士でも同じデータモデルのやり取りが可能となることが知られている。
【0007】
通信プロトコルは、異なるプロトコルであっても、一般にメッセージフォーマットが異なるだけで、送信元アドレス、送信先アドレス等の基本項目が共通であることが多く、等価的な変換は比較的容易であるといえる。
【0008】
一方、異なるデータモデルについては、双方のプロパティの規定粒度が異なるため、等価的な変換が困難である。このため、互いに異なるデータモデルの機器同士間の通信を中継する新たな技術の提案が望まれているのが実情である。
【0009】
本開示は、上記実情に鑑みてなされたものであり、互いに異なるデータモデルの機器同士間の通信を中継することが可能な中継装置、中継方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本開示に係る中継装置は、
通信プロトコルが第1プロトコルの第1機器と通信する第1通信手段と、
通信プロトコルが前記第1プロトコルとは異なる第2プロトコルの第2機器と通信する第2通信手段と、
前記第1プロトコルに対応する第1データモデル用の変換テーブルであって、前記第1データモデルのプロパティとその上位プロパティとが対応付けられた第1変換テーブルと、前記第2プロトコルに対応する第2データモデル用の変換テーブルであって、前記第2データモデルのプロパティとその上位プロパティとが対応付けられた第2変換テーブルとを記憶する変換テーブル記憶手段と、
前記第1機器からの通信フレームが受信された場合、前記通信フレームに含まれるプロパティを前記第1変換テーブルを参照して上位プロパティに変換し、前記上位プロパティを前記第2変換テーブルを参照して前記第2データモデルのプロパティに変換し、
前記第2機器からの通信フレームが受信された場合、前記通信フレームに含まれるプロパティを前記第2変換テーブルを参照して上位プロパティに変換し、前記上位プロパティを前記第1変換テーブルを参照して前記第1データモデルのプロパティに変換するデータモデル変換手段と、
前記データモデル変換手段によって得られた前記第2データモデルのプロパティが格納された、前記第2プロトコルに則った通信フレームを生成し、生成した通信フレームを前記第2機器に送信し、
前記データモデル変換手段によって得られた前記第1データモデルのプロパティが格納された、前記第1プロトコルに則った通信フレームを生成し、生成した通信フレームを前記第1機器に送信する通信フレーム送信手段と、を備える。
【発明の効果】
【0011】
本開示によれば、互いに異なるデータモデルの機器同士間の通信を中継することが可能となる。
【図面の簡単な説明】
【0012】
【
図1】実施の形態1における中継装置を備えたネットワークシステムの全体構成を示す図
【
図2】実施の形態1における中継装置のハードウェア構成を示すブロック図
【
図3】実施の形態1における第1機器のハードウェア構成を示すブロック図
【
図4】実施の形態1における第2機器のハードウェア構成を示すブロック図
【
図5】実施の形態1における中継装置の機能構成を示すブロック図
【
図6】実施の形態1において、第1機器、第2機器と中継装置との初期接続時のシーケンスを示す図
【
図7】実施の形態1における変換テーブルの一例を示す図((a)は、第1機器に対応する変換テーブルを示し、(b)は、第2機器に対応する変換テーブルを示す。)
【
図8】実施の形態1において、第1機器から第2機器への通信フレームの中継を模式的に示す図
【
図9】実施の形態1において、第2機器から第1機器への通信フレームの中継を模式的に示す図
【
図10】実施の形態1における中継処理の手順を示すフローチャート(その1)
【
図11】実施の形態1における中継処理の手順を示すフローチャート(その2)
【
図12】実施の形態1の変形例における変換テーブルの一例を示す図((a)は、第1機器に対応する変換テーブルを示し、(b)は、第2機器に対応する変換テーブルを示す。)
【
図13】実施の形態2における中継装置を備えたネットワークシステムの全体構成を示す図
【
図14】実施の形態2における中継装置の機能構成を示すブロック図
【
図15】実施の形態2において、第1機器、第2機器と中継装置との初期接続時のシーケンスを示す図
【
図16】実施の形態2における変換テーブル取得処理の手順を示すフローチャート
【発明を実施するための形態】
【0013】
以下、本開示の実施の形態について図面を参照して詳細に説明する。
【0014】
(実施の形態1)
図1は、実施の形態1における中継装置1を備えたネットワークシステムの全体構成を示す図である。このネットワークシステムでは、ネットワークN1に1又は複数の第1機器2と中継装置1とが接続され、ネットワークN2に中継装置1と1台の第2機器3とが接続される。このネットワークシステムは、例えば、住宅内の家電機器を制御するシステムに適用される。
【0015】
<中継装置1>
中継装置1は、本開示に係る中継装置の一例であり、互いに異なる通信プロトコルで通信を行う機器同士間の通信を中継する。
図2に示すように、中継装置1は、ハードウェア構成として、制御回路10と、第1通信インタフェース11と、第2通信インタフェース12と、補助記憶装置13とを備える。制御回路10は、中継装置1を統括的に制御する。制御回路10は、いずれも図示しないが、CPU(Central Processing Unit)と、ROM(Read Only Memory)と、RAM(Random Access Memory)とを備える。制御回路10によって実現される中継装置1の機能の詳細については後述する。
【0016】
第1通信インタフェース11は、本開示に係る第1通信手段の一例である。第1通信インタフェース11は、ネットワークN1を介して各第1機器2と通信するためのインタフェースである。第2通信インタフェース12は、本開示に係る第2通信手段の一例である。第2通信インタフェース12は、ネットワークN2を介して第2機器3と通信するためのインタフェースである。
【0017】
補助記憶装置13は、読み書き可能な不揮発性の半導体メモリ、HDD(Hard Disk Drive)等で構成される記憶装置である。読み書き可能な不揮発性の半導体メモリは、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュメモリ等である。補助記憶装置13には、第1機器2と第2機器3間で授受される通信フレームを中継するためのプログラム(以下「中継プログラム」という。)を含む各種のプログラムと、これらのプログラムの実行時に使用されるデータとが記憶される。
【0018】
中継装置1は、上記の中継プログラム又は中継プログラムを更新するための更新プログラムをネットワークN1,N2又は他のネットワークを介した通信により他の機器から取得することが可能である。また、これらのプログラムは、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、光磁気ディスク、USB(Universal Serial Bus)メモリ、HDD、SSD(Solid State Drive)、メモリカード等のコンピュータ読み取り可能な記録媒体に格納して配布することも可能である。中継装置1は、そのような記録媒体が自身に直接又は間接的に装着された場合、当該記録媒体から中継プログラム又は更新プログラムを読み出して取得してもよい。
【0019】
<第1機器2>
第1機器2は、本開示に係る第1機器の一例である。第1機器2は、通信プロトコルAで通信を行う機器であり、例えば、空気調和装置、照明装置、各種のセンサ等である。通信プロトコルAは、本開示に係る第1プロトコルの一例であり、例えば、Zigbee(登録商標)である。また、第1機器2は、アプリケーションレベルのフォーマットであるデータモデルとしてデータモデルAを使用して通信を行う。データモデルAは、本開示に係る第1データモデルの一例である。
【0020】
図3に示すように、第1機器2は、ハードウェア構成として、制御回路20と、通信インタフェース21と、補助記憶装置22とを備える。なお、このほかにも、第1機器2は、当該第1機器2の本来的な機能(例えば、空気調和装置の場合は、空調するための機能、照明装置の場合は、照明するための機能など)を実現するためのハードウェアが含まれるものとする。
【0021】
制御回路20は、いずれも図示しないが、CPUと、ROMと、RAMとを備え、第1機器2を統括的に制御する。通信インタフェース21は、ネットワークN1を介して中継装置1、他の第1機器2等の他の機器と通信するためのインタフェースである。上記の通り、第1機器2は、通信プロトコルAで他の機器と通信する。
【0022】
補助記憶装置22は、EEPROM、フラッシュメモリ等の読み書き可能な不揮発性の半導体メモリ等を含んで構成される。補助記憶装置22には、当該第1機器2の制御に関するプログラムと、当該プログラムの実行時に使用されるデータとが記憶される。
【0023】
<第2機器3>
第2機器3は、本開示に係る第2機器の一例である。第2機器3は、通信プロトコルBで通信を行う機器であり、例えば、各第1機器2を集中的に制御するコントローラである。通信プロトコルBは、本開示に係る第2プロトコルの一例であり、例えば、エコーネットライト(ECHONET Lite(登録商標))である。また、第2機器3は、データモデルとしてデータモデルBを使用して通信を行う。データモデルBは、本開示に係る第2データモデルの一例である。
【0024】
図4に示すように、第2機器3は、ハードウェア構成として、制御回路30と、通信インタフェース31と、補助記憶装置32とを備える。制御回路30は、いずれも図示しないが、CPUと、ROMと、RAMとを備え、第2機器3を統括的に制御する。通信インタフェース31は、ネットワークN2を介して中継装置1と通信するためのインタフェースである。上記の通り、第2機器3は、通信プロトコルBで他の機器と通信する。補助記憶装置32は、EEPROM、フラッシュメモリ等の読み書き可能な不揮発性の半導体メモリ等を含んで構成される。補助記憶装置32には、当該第2機器3の制御に関するプログラムと、当該プログラムの実行時に使用されるデータとが記憶される。
【0025】
<中継装置1の機能構成>
図5は、中継装置1の機能構成を示すブロック図である。
図5に示すように、中継装置1は、機器情報取得部100と、通信フレーム受信部101と、データモデル変換部102と、通信フレーム送信部103とを備える。これらの機能部は、制御回路10が補助記憶装置13に記憶されている上述した中継プログラムを実行することで実現される。
【0026】
機器情報取得部100は、接続した機器(第1機器2、第2機器3)から当該機器の機器情報を取得する。機器情報には、通信情報と、プロパティ情報とが含まれる。詳細には、
図6に示すように、機器情報取得部100は、機器との初回接続時のネゴシエーションにおけるネットワーク設定によって、当該機器から通信速度等の通信情報を取得し、Capability交換によって、当該機器からプロパテイ情報を取得する。プロパテイ情報の説明については後述する。
【0027】
機器情報取得部100は、取得した各第1機器2の機器情報と、取得した第2機器3の機器情報とを機器毎に分別して機器情報記憶部130に保存する。機器情報記憶部130は、補助記憶装置13によって提供されるメモリ領域である。
【0028】
通信フレーム受信部101は、第1機器2から送信された通信フレーム、すなわち、通信プロトコルAに則った通信フレームをネットワークN1を介して受信し、また、第2機器3から送信された通信フレーム、すなわち、通信プロトコルBに則った通信フレームをネットワークN2を介して受信する。以下、通信フレーム受信部101によって受信される第1機器2からの通信フレームを通信フレームA1と称し、通信フレーム受信部101によって受信される第2機器3からの通信フレームを通信フレームB1と称する。
【0029】
データモデル変換部102は、本開示に係るデータモデル変換手段の一例である。データモデル変換部102は、通信フレーム受信部101によって受信された通信フレームに含まれるプロパティを送信先の機器の通信プロトコルに対応するデータモデルのプロパティに変換する。具体的には、データモデル変換部102は、通信フレーム受信部101によって通信フレームA1が受信された場合、通信フレームA1に含まれるデータモデルAのプロパティをデータモデルBのプロパティに変換する。また、通信フレーム受信部101によって通信フレームB1が受信された場合、データモデル変換部102は、通信フレームB1に含まれるデータモデルBのプロパティをデータモデルAのプロパティに変換する。
【0030】
データモデル変換部102は、上記の変換の際、変換テーブル記憶部131に記憶される変換テーブルを参照する。変換テーブル記憶部131は、本開示に係る変換テーブル記憶手段の一例であり、補助記憶装置13によって提供されるメモリ領域である。本実施の形態では、変換テーブル記憶部131には、
図7(a)に示す変換テーブルAと、
図7(b)に示す変換テーブルBとが記憶される。
【0031】
変換テーブルAは、本開示に係る第1変換テーブルの一例であり、第1機器2の通信プロトコルである通信プロトコルAに対応するデータモデルA用の変換テーブルである。変換テーブルBは、本開示に係る第2変換テーブルの一例であり、第2機器3の通信プロトコルである通信プロトコルBに対応するデータモデルB用の変換テーブルである。
図7(a)に示すように、変換テーブルAは、データモデルAのプロパティ(プロパティA1,A2,…)とその上位のプロパティである上位プロパティとが対応付けられたデータテーブルである。変換テーブルAにおいて、各プロパティAは、いずれか1つの上位プロパティと対応付けられている。
【0032】
変換テーブルBは、データモデルBのプロパティ(プロパティB1,B2,…)とその上位のプロパティである上位プロパティとが対応付けられたデータテーブルである。変換テーブルBにおいて、各プロパティBは、いずれか1つの上位プロパティと対応付けられている。本実施の形態において、データモデルAとデータモデルBとの間における上位プロパティのフォーマットは共通する。すなわち、変換テーブルAと変換テーブルBにおける上位プロパティ1,2,…は共通する。
【0033】
例えば、変換テーブルAにおいて、プロパティA1は、“色温度の設定”を示し、プロパティA2は、“色相の設定”を示し、上位プロパティ1は、“照明の色の変更”を示す。また、変換テーブルBにおいて、上位プロパティ1は、“照明の色の変更”を示し、プロパティB1は、“色のパターン(白色光/電灯光/・・・)の選択”を示す。
【0034】
変換テーブルA,Bを含む各通信プロトコルに対応した変換テーブルは、中継装置1の出荷前に変換テーブル記憶部131に記憶されるようにしてもよいし、中継装置1の設置時又は設置後において、施工担当者、メンテナンス担当者等によって、変換テーブル記憶部131に保存されるようにしてもよい。
【0035】
(データモデルの変換例1)
以下、通信フレーム受信部101によって第1機器2からの通信フレームA1が受信され、通信フレームA1に含まれるデータモデルAのプロパティがプロパティA1であり、中継先の機器が第2機器3である場合のデータモデル変換について具体的に説明する。
【0036】
先ず、データモデル変換部102は、変換テーブル記憶部131から、第1機器2の通信プロトコルである通信プロトコルAに対応する変換テーブルである変換テーブルAと、第2機器3の通信プロトコルである通信プロトコルBに対応する変換テーブルである変換テーブルBとを取得する。次に、データモデル変換部102は、変換テーブルAを参照して、プロパティA1をその上位プロパティである上位プロパティ1に変換する。
【0037】
そして、データモデル変換部102は、変換テーブルBを参照して、上位プロパティ1を当該上位プロパティ1に対応するデータモデルBのプロパティであるプロパティB1に変換する。このようにして、データモデルAのプロパティであるプロパティA1が、データモデルBのプロパティであるプロパティB1に変換され、本例でのデータモデルの変換が完了する。
【0038】
(データモデルの変換例2)
以下、通信フレーム受信部101によって第2機器3からの通信フレームB1が受信され、通信フレームB1に含まれるデータモデルBのプロパティがプロパティB4であり、中継先の機器が第1機器2である場合のデータモデル変換について具体的に説明する。
【0039】
先ず、データモデル変換部102は、変換テーブル記憶部131から、第2機器3の通信プロトコルである通信プロトコルBに対応する変換テーブルである変換テーブルBと、第1機器2の通信プロトコルである通信プロトコルAに対応する変換テーブルである変換テーブルAとを取得する。次に、データモデル変換部102は、変換テーブルBを参照して、プロパティB4をその上位プロパティである上位プロパティ3に変換する。
【0040】
そして、データモデル変換部102は、変換テーブルAを参照して、上位プロパティ3を当該上位プロパティ3に対応するデータモデルAのプロパティであるプロパティA4に変換する。このようにして、データモデルBのプロパティであるプロパティB4が、データモデルAのプロパティであるプロパティA4に変換され、本例でのデータモデルの変換が完了する。
【0041】
(データモデルの変換例3)
以下、通信フレーム受信部101によって第1機器2からの通信フレームA1が受信され、通信フレームA1に含まれるデータモデルAのプロパティがプロパティA4であり、中継先の機器が第2機器3である場合のデータモデル変換について具体的に説明する。
【0042】
先ず、データモデル変換部102は、変換テーブル記憶部131から、第1機器2の通信プロトコルである通信プロトコルAに対応する変換テーブルである変換テーブルAと、第2機器3の通信プロトコルである通信プロトコルBに対応する変換テーブルである変換テーブルBとを取得する。次に、データモデル変換部102は、変換テーブルAを参照して、プロパティA4をその上位プロパティである上位プロパティ3に変換する。
【0043】
そして、データモデル変換部102は、変換テーブルBを参照して、上位プロパティ3を当該上位プロパティ3に対応するデータモデルBのプロパティに変換する。ここで、変換テーブルBにおいて、上位プロパティ3には、プロパティB3とプロパティB4の2つのプロパティが属している。この場合、データモデル変換部102は、機器情報記憶部130から第2機器3に対応する機器情報を取得し、取得した機器情報に含まれるプロパティ情報を参照して、上位プロパティ3をプロパティB3とプロパティB4のうちのいずれか1つに変換する。
【0044】
プロパティ情報には、当該機器(ここでは、第2機器3)の通信プロトコル(ここでは、通信プロトコルB)に対応する変換テーブル(ここでは、変換テーブルB)に含まれるプロパティのうち、当該機器が対応していないプロパティに関する情報が含まれている。例えば、第2機器3がプロパティB4に対応していない場合、データモデル変換部102は、上位プロパティ3をプロパティB3に変換する。このようにして、データモデルAのプロパティであるプロパティA4が、データモデルBのプロパティであるプロパティB3に変換され、本例でのデータモデルの変換が完了する。
【0045】
図5に戻り、通信フレーム送信部103は、本開示に係る通信フレーム送信手段の一例である。通信フレーム送信部103は、データモデル変換部102によって得られたプロパティが格納された、中継先の機器の通信プロトコルに則った通信フレームを生成し、生成した通信フレームを当該中継先の機器に送信する。例えば、第1機器2から第1通信インタフェース11を介して受信した、プロパティAm(mは1以上の自然数)が格納された通信フレームA1の中継先が第2機器3の場合、通信フレーム送信部103は、プロパティBn(nは1以上の自然数)が格納された、通信プロトコルBに則った通信フレームを生成し、生成した通信フレーム(以下「通信フレームB2」という。)を第2通信インタフェース12を介して第2機器3に送信する(
図8参照)。
【0046】
また、第2機器3から第2通信インタフェース12を介して受信した、プロパティBmが格納された通信フレームB1の中継先が第1機器2の場合、通信フレーム送信部103は、プロパティAnが格納された、通信プロトコルAに則った通信フレームを生成し、生成した通信フレーム(以下「通信フレームA2」という。)を第1通信インタフェース11を介して第1機器2に送信する(
図9参照)。
【0047】
<中継処理>
図10及び
図11は、中継装置1によって実行される中継処理の手順を示すフローチャートである。
【0048】
(ステップS100)
中継装置1は、第1機器2から通信フレーム(すなわち、通信フレームA1)を受信したか否かを判定する。通信フレームA1を受信した場合(ステップS100;YES)、中継装置1の処理は、ステップS101に遷移する。一方、通信フレームA1を受信していない場合(ステップS100;NO)、中継装置1の処理は、ステップS107に遷移する。
【0049】
(ステップS101)
中継装置1は、変換テーブル記憶部131から、第1機器2の通信プロトコルである通信プロトコルAに対応する変換テーブルAと、第2機器3の通信プロトコルである通信プロトコルBに対応する変換テーブルBとを取得する。その後、中継装置1の処理は、ステップS102に遷移する。
【0050】
(ステップS102)
中継装置1は、受信した通信フレームA1に格納されているプロパティを取得する。その後、中継装置1の処理は、ステップS103に遷移する。
【0051】
(ステップS103)
中継装置1は、変換テーブルAを参照して、取得したプロパティをその上位プロパティに変換する。その後、中継装置1の処理は、ステップS104に遷移する。
【0052】
(ステップS104)
中継装置1は、変換テーブルBを参照して、取得した上位プロパティをデータモデルBのプロパティに変換する。なお、変換テーブルBにおいて当該上位プロパティに複数のプロパティが対応する場合、中継装置1は、第2機器3の機器情報のプロパティ情報を参照することで、一のプロパティを選択し、当該上位プロパティを当該選択したプロパティに変換する。その後、中継装置1の処理は、ステップS105に遷移する。
【0053】
(ステップS105)
中継装置1は、ステップS104で取得したプロパティが格納された、通信プロトコルBに則った通信フレーム(すなわち、通信フレームB2)を生成する。その後、中継装置1の処理は、ステップS106に遷移する。
【0054】
(ステップS106)
中継装置1は、生成した通信フレームB2をネットワークN2を介して第2機器3に送信する。その後、中継装置1の処理は、ステップS100に戻る。
【0055】
(ステップS107)
中継装置1は、第2機器3から通信フレーム(すなわち、通信フレームB1)を受信したか否かを判定する。通信フレームB1を受信した場合(ステップS107;YES)、中継装置1の処理は、
図11のステップS108に遷移する。一方、通信フレームB1を受信していない場合(ステップS107;NO)、中継装置1の処理は、ステップS100に戻る。
【0056】
(ステップS108)
中継装置1は、変換テーブル記憶部131から、第2機器3の通信プロトコルである通信プロトコルBに対応する変換テーブルBと、第1機器2の通信プロトコルである通信プロトコルAに対応する変換テーブルAとを取得する。その後、中継装置1の処理は、ステップS109に遷移する。
【0057】
(ステップS109)
中継装置1は、受信した通信フレームB1に格納されているプロパティを取得する。その後、中継装置1の処理は、ステップS110に遷移する。
【0058】
(ステップS110)
中継装置1は、変換テーブルBを参照して、取得したプロパティをその上位プロパティに変換する。その後、中継装置1の処理は、ステップS111に遷移する。
【0059】
(ステップS111)
中継装置1は、変換テーブルAを参照して、取得した上位プロパティをデータモデルAのプロパティに変換する。なお、変換テーブルAにおいて当該上位プロパティに複数のプロパティが対応する場合、中継装置1は、第1機器2の機器情報のプロパティ情報を参照することで、一のプロパティを選択し、当該上位プロパティを当該選択したプロパティに変換する。その後、中継装置1の処理は、ステップS112に遷移する。
【0060】
(ステップS112)
中継装置1は、ステップS111で取得したプロパティが格納された、通信プロトコルAに則った通信フレーム(すなわち、通信フレームA2)を生成する。その後、中継装置1の処理は、ステップS113に遷移する。
【0061】
(ステップS113)
中継装置1は、生成した通信フレームA2をネットワークN1を介して第1機器2に送信する。その後、中継装置1の処理は、
図10のステップS100に戻る。
【0062】
以上説明したように、本実施の形態における中継装置1は、例えば、通信プロトコルAで通信する第1機器2から、通信プロトコルBで通信する第2機器3を宛先とした通信フレームを受信した場合、当該通信フレームに含まれるプロパティを通信プロトコルAに対応する変換テーブルAを参照して上位プロパティに変換し、当該上位プロパティを通信プロトコルBに対応する変換テーブルBを参照してデータモデルBのプロパティに変換する。そして、中継装置1は、データモデルBのプロパティが格納された、通信プロトコルBに則った通信フレームを生成し、生成した通信フレームを第2機器3に送信する。
【0063】
このように、中継装置1によれば、互いに異なるデータモデルの機器同士間の通信を中継することが可能となる。
【0064】
また、中継装置1は、互いに異なるデータモデルを変換する際に、送信元の機器から受信したプロパティを、双方のデータモデル間で共通する上位プロパティにいったん変換してから、送信先の機器に対応するプロパティに変換する。このため、双方のプロパティの規定粒度の違いなどに影響を受けることなく、データモデルを正確に変換することが可能となる。
【0065】
また、変換テーブルは、通信プロトコル毎に当該通信プロトコルに対応するデータモデルのプロパティとその上位プロパティとが対応付けられた簡易な内容で済むため、拡張が容易である。
【0066】
(変形例1)
上記実施の形態では、中継装置1は、2種類の通信プロトコル(通信プロトコルA、B)及びデータモデル(データモデルA、B)間の変換を行っていたが、3種類以上の通信プロトコル(通信プロトコルA~C)及びデータモデル(データモデルA~C)間の変換であっても、上記実施の形態と同様の手法で実現することが可能である。
【0067】
(変形例2)
プロパティに値が含まれる場合には、変換テーブルにおいて、プロパティの値と、その上位プロパティの値とを相互に変換するための変換式がさらに対応付けられるようにしてもよい(
図12(a),(b)参照)。例えば、第1機器2から、プロパティA1が格納された通信フレームを受信した場合、中継装置1のデータモデル変換部102は、
図12(a)を参照して、プロパティA1をその上位プロパティ1に変換し、プロパティA1の値と式A1とに基づいて上位プロパティ1の値を算出する。そして、データモデル変換部102は、
図12(b)を参照して、当該上位プロパティ1をプロパティB1に変換し、当該上位プロパティ1の値と式B1とに基づいてプロパティB1の値を算出する。
【0068】
なお、上記変形例の変換テーブルにおいて、変換式に替えて、値変換用のルックアップテーブルのポインタが対応付けられていてもよい。
【0069】
(変形例3)
上記実施の形態では、プロパティ情報は、当該機器が対応していないプロパティに関する情報が含まれるものとしたが、当該機器が対応しているプロパティに関する情報が含まれるものとしてもよいし、双方の情報が含まれるものとしてもよい。
【0070】
(変形例4)
機器情報取得部100は、接続した機器とのネゴシエーションにおけるCapability交換時ではなく、ネゴシエーション完了後に当該機器からプロパティ情報を取得してもよい。
【0071】
(変形例5)
中継装置1の機能部(
図5参照)の全部又は一部が、専用のハードウェアで実現されるようにしてもよい。専用のハードウェアとは、例えば、単一回路、複合回路、プログラム化されたプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)又はこれらの組合せである。
【0072】
上記の各変形例に係る技術思想は、それぞれ単独で実現されてもよいし、適宜組み合わされて実現されてもよい。
【0073】
(実施の形態2)
続いて、本開示の実施の形態2について説明する。なお、以下の説明において、実施の形態1と共通する構成要素等については、同一の符号を付し、その説明を省略する。
【0074】
図13は、実施の形態2における中継装置1’を備えたネットワークシステムの全体構成を示す図である。このネットワークシステムでは、ネットワークN1に1又は複数の第1機器2’と中継装置1’とが接続され、ネットワークN2に中継装置1’と1台の第2機器3’とが接続される。このネットワークシステムは、例えば、住宅内の家電機器を制御するシステムに適用される。
【0075】
<中継装置1’>
中継装置1’は、本開示に係る中継装置の一例であり、互いに異なる通信プロトコルで通信を行う機器同士間の通信を中継する。中継装置1’のハードウェア構成は、実施の形態1の中継装置1と同様である(
図2参照)。中継装置1’の機能の詳細については後述する。
【0076】
<第1機器2’>
第1機器2’は、本開示に係る第1機器の一例である。第1機器2’は、通信プロトコルAで通信を行う機器であり、例えば、空気調和装置、照明装置、各種のセンサ等である。第1機器2’のハードウェア構成は、実施の形態1の第1機器2と同様である(
図3参照)。第1機器2’は、自機の通信プロトコル(すなわち、通信プロトコルA)に対応する変換テーブル(すなわち、変換テーブルA)を補助記憶装置22に予め記憶しており、中継装置1’の要求に応じて、補助記憶装置22に記憶している変換テーブルを中継装置1’に送信する。
【0077】
<第2機器3’>
第2機器3’は、本開示に係る第2機器の一例である。第2機器3’は、通信プロトコルBで通信を行う機器であり、例えば、各第1機器2’を集中的に制御するコントローラである。第2機器3’のハードウェア構成は、実施の形態1の第2機器3と同様である(
図4参照)。第2機器3’は、自機の通信プロトコル(すなわち、通信プロトコルB)に対応する変換テーブル(すなわち、変換テーブルB)を補助記憶装置32に予め記憶しており、中継装置1’の要求に応じて、補助記憶装置32に記憶している変換テーブルを中継装置1’に送信する。
【0078】
<中継装置1’の機能構成>
図14は、中継装置1’の機能構成を示すブロック図である。
図14に示すように、中継装置1’は、機器情報取得部100と、通信フレーム受信部101と、データモデル変換部102と、通信フレーム送信部103と、変換テーブル取得部104とを備える。これらの機能部は、中継装置1’の制御回路10が補助記憶装置13に記憶されている、第1機器2’と第2機器3’間で授受される通信フレームを中継するための中継プログラムを実行することで実現される。
【0079】
上記の中継装置1’の機能構成は、変換テーブル取得部104を新たに備える点が実施の形態1の中継装置1の機能構成(
図5参照)と相違する。変換テーブル取得部104は、本開示に係る変換テーブル取得手段の一例である。変換テーブル取得部104は、接続した機器(第1機器2’、第2機器3’)から当該機器が保持する変換テーブルを取得する。詳細には、
図15に示すように、変換テーブル取得部104は、機器との初回接続時のネゴシエーションが完了すると、当該機器に対して変換テーブルを要求するメッセージ(以下「変換テーブル要求メッセージ」という。)を当該機器に送信する。
【0080】
変換テーブル要求メッセージを受信した当該機器は、自機が保持する変換テーブルが格納された応答メッセージ(以下「変換テーブル応答メッセージ」という。)を中継装置1’に送信する。中継装置1’は、変換テーブル応答メッセージを受信すると、当該変換テーブル応答メッセージから変換テーブルを取り出して取得する。変換テーブル取得部104は、取得した変換テーブルを変換テーブル記憶部131に保存する。
【0081】
<変換テーブル取得処理>
図16は、中継装置1’によって実行される変換テーブル取得処理の手順を示すフローチャートである。変換テーブル取得処理は、各機器との初回接続時に実行される。
【0082】
(ステップS200)
中継装置1’は、初回接続した当該機器とのネゴシエーションが完了したか否かを判定する。ネゴシエーションが完了していない場合(ステップS200;NO)、中継装置1’は、引き続きステップS200の判定を行う。一方、ネゴシエーションが完了した場合(ステップS200;YES)、中継装置1’の処理は、ステップS201に遷移する。
【0083】
(ステップS201)
中継装置1’は、当該機器に対して変換テーブルを要求する。その後、中継装置1’の処理は、ステップS202に遷移する。
【0084】
(ステップS202)
中継装置1’は、変換テーブルを受信したか否かを判定する。変換テーブルを受信していない場合(ステップS202;NO)、中継装置1’は、引き続きステップS202の判定を行う。一方、変換テーブルを受信した場合(ステップS202;YES)、中継装置1’の処理は、ステップS203に遷移する。
【0085】
(ステップS203)
中継装置1’は、受信した変換テーブルが取得済みの変換テーブルであるか否かを判定する。受信した変換テーブルが取得済みの変換テーブルの場合(ステップS203;YES)、中継装置1’の処理は、ステップS204に遷移する。一方、受信した変換テーブルが取得済みの変換テーブルでない場合(ステップS203;NO)、中継装置1’の処理は、ステップS205に遷移する。
【0086】
(ステップS204)
中継装置1’は、受信した変換テーブルを破棄し、当該機器における変換テーブル取得処理を終了する。
【0087】
(ステップS205)
中継装置1’は、受信した変換テーブルを当該機器の通信プロトコルと関連付けたファイル名で変換テーブル記憶部131に保存する。例えば、当該機器の通信プロトコルが通信プロトコルAの場合、当該変換テーブルを変換テーブルAとして変換テーブル記憶部131に保存する。その後、中継装置1’は、当該機器における変換テーブル取得処理を終了する。
【0088】
中継装置1’によって実行される中継処理は、実施の形態1の中継装置1によって実行される中継処理(
図10及び
図11参照)と同様である。
【0089】
以上説明したように、本実施の形態における中継装置1’は、例えば、通信プロトコルAで通信する第1機器2’から、通信プロトコルBで通信する第2機器3’を宛先とした通信フレームを受信した場合、当該通信フレームに含まれるプロパティを通信プロトコルAに対応する変換テーブルAを参照して上位プロパティに変換し、当該上位プロパティを通信プロトコルBに対応する変換テーブルBを参照してデータモデルBのプロパティに変換する。そして、中継装置1’は、データモデルBのプロパティが格納された、通信プロトコルBに則った通信フレームを生成し、生成した通信フレームを第2機器3’に送信する。
【0090】
このように、中継装置1’によれば、互いに異なるデータモデルの機器同士間の通信を中継することが可能となる。
【0091】
また、中継装置1’は、互いに異なるデータモデルを変換する際に、送信元の機器から受信したプロパティを、双方のデータモデル間で共通する上位プロパティにいったん変換してから、送信先の機器に対応するプロパティに変換する。このため、双方のプロパティの規定粒度の違いなどに影響を受けることなく、データモデルを正確に変換することが可能となる。
【0092】
また、変換テーブルは、通信プロトコル毎に当該通信プロトコルに対応するデータモデルのプロパティとその上位プロパティとが対応付けられた簡易な内容で済むため、拡張が容易である。
【0093】
また、中継装置1’は、変換テーブルを接続した機器から取得する。したがって、中継装置1’に変換テーブルを事前に設定する作業は不要となり、また、新たな通信プロトコルの機器への対応が容易となり、汎用性が向上する。
【0094】
(変形例1)
中継装置1’の変換テーブル取得部104は、接続した機器からではなく、ネットワークN1若しくはネットワークN2又はその他のネットワークを介したクラウドサーバ等のサーバとの通信により変換テーブルを取得してもよい。この場合、変換テーブル取得部104は、接続した機器の通信プロトコル、当該機器の機器ID(identification)、当該機器の機種又は当該機器の型番等を指定して、当該通信プロトコルに対応する変換テーブルをサーバから取得する。
【0095】
(変形例2)
機器情報取得部100は、接続した機器とのネゴシエーションにおけるCapability交換時ではなく、ネゴシエーション完了後に当該機器からプロパティ情報を取得してもよい。その際、機器情報取得部100は、変換テーブル取得部104によって当該機器から変換テーブルが取得された後に、当該機器からプロパティ情報を取得してもよい。
【0096】
(変形例3)
中継装置1’の機能部(
図14参照)の全部又は一部が、専用のハードウェアで実現されるようにしてもよい。専用のハードウェアとは、例えば、単一回路、複合回路、プログラム化されたプロセッサ、ASIC、FPGA又はこれらの組み合わせである。
【0097】
(変形例4)
実施の形態1の変形例1~3は、本実施の形態においても適用され得る。
【0098】
本開示は、広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能である。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
【産業上の利用可能性】
【0099】
本開示は、互いに異なる通信プロトコルの機器同士間で通信を行うシステムに好適に採用され得る。
【符号の説明】
【0100】
1,1’ 中継装置、2,2’ 第1機器、3,3’ 第2機器、10,20,30 制御回路、11 第1通信インタフェース、12 第2通信インタフェース、13,22,32 補助記憶装置、21,31 通信インタフェース、100 機器情報取得部、101 通信フレーム受信部、102 データモデル変換部、103 通信フレーム送信部、104 変換テーブル取得部、130 機器情報記憶部、131 変換テーブル記憶部、N1,N2 ネットワーク