JP5127528B2 - ゲートウェイ装置、制御命令処理方法及びプログラム - Google Patents

ゲートウェイ装置、制御命令処理方法及びプログラム Download PDF

Info

Publication number
JP5127528B2
JP5127528B2 JP2008081012A JP2008081012A JP5127528B2 JP 5127528 B2 JP5127528 B2 JP 5127528B2 JP 2008081012 A JP2008081012 A JP 2008081012A JP 2008081012 A JP2008081012 A JP 2008081012A JP 5127528 B2 JP5127528 B2 JP 5127528B2
Authority
JP
Japan
Prior art keywords
control command
control
query
translator
aggregator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008081012A
Other languages
English (en)
Other versions
JP2009239478A (ja
Inventor
雄 金子
智則 前川
裕介 土井
政浩 石山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008081012A priority Critical patent/JP5127528B2/ja
Priority to US12/407,855 priority patent/US7984135B2/en
Publication of JP2009239478A publication Critical patent/JP2009239478A/ja
Application granted granted Critical
Publication of JP5127528B2 publication Critical patent/JP5127528B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Selective Calling Equipment (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ゲートウェイ装置、制御命令処理方法及びプログラムに関する。
近年、ビルや工場における制御系のネットワークであるファシリティネットワークのIP化が進んでいる。IP化されたファシリティネットワークにおいて、人々はIPネットワークを介して例えば照明や空調などの設備機器を制御することができる。例えば、PCのWebブラウザに表示された照明の画像をクリックすることで、簡単に照明のON/OFF制御を行うことができる。
一般的に、PCから送信された設備機器に対する制御命令は、ゲートウェイとIPコントローラを介する。ゲートウェイは、制御系とOA系のネットワークの境界に位置し、制御権限の確認やプロトコル変換を行う。IPコントローラは、IPネットワークの終端に位置し、ゲートウェイから送られてきた制御命令を処理して、設備機器を制御する。
IP化されたファシリティネットワークでは、従来よりも簡単に、また複数人が同時に制御を行うことが可能となる(特許文献1参照)。
したがって、IP化されたファシリティネットワークでは、IPコントローラの処理性能を超えた数の制御命令が発生する可能性がある。この場合、IPコントローラは全ての制御命令を処理できず、パケットロスなどが発生する。また、設備機器に対して無駄な制御を行う可能性がある。例えば、空調が暖房運転を開始するための準備運転を行っているときに、暖房運転を開始する制御を何度も行うことは、設備機器やIPコントローラにとって余分な負荷となる。
特開2006−129282号公報
従来、制御命令の数が増加した場合に、IPコントローラが処理可能な制御命令の数を超えてしまい或いは設備機器にとって無駄な制御を行ってしまうなどの問題があった。
本発明は、上記事情を考慮してなされたもので、制御命令の数が増加した場合であってもIPコントローラの制御命令の処理負荷を軽減することを可能にするゲートウェイ装置、制御命令処理方法及びプログラムを提供することを目的とする。
本発明は、一つ以上の設備機器に対する制御命令を実行するための一つ以上のコントローラが接続される第1のネットワークと、制御命令を送信する一つ以上のクライアントが接続される第2のネットワークとの境界に位置し、制御命令をプロトコル変換するためのトランスレータと、制御命令を集約するための一つ以上のアグリゲータとを備えたゲートウェイ装置であって、前記トランスレータは、各々の前記コントローラについて、当該コントローラの負荷に関する情報である負荷情報を収集するための収集部と、前記第2のネットワークを介して前記クライアントから所望の設備機器に対する制御命令を受信するための制御命令受信部と、前記制御命令が受信された場合に、該制御命令が対象とする設備機器に対応するコントローラの前記負荷情報に基づいて、該制御命令を集約の対象にするか否か判定するための判定部と、集約の対象にすると判定された場合に、前記制御命令を、該制御命令に対応する前記アグリゲータに転送するための第1の転送部と、前記アグリゲータから集約済み制御命令の転送を受けるための第2の転送部とを含み、前記アグリゲータは、前記トランスレータから前記制御命令の転送を受けるための第3の転送部と、複数の前記制御命令を、一つの集約済み制御命令に集約するための集約部と、前記集約済み制御命令令を前記トランスレータに転送するための第4の転送部とを含むことを特徴とする。
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読み取り可能な記録媒体としても成立する。
本発明によれば、制御命令の数が増加した場合であってもIPコントローラの制御命令の処理負荷を軽減することが可能になる。
以下、図面を参照しながら本発明の実施形態について説明する。
以下、「クエリ」は制御命令を、「ユーザ」はクエリを送信する者を、「デバイス」は照明や空調などの設備機器をそれぞれ示すものとする。
(第1の実施形態)
第1の実施形態では、ゲートウェイがIPコントローラの負荷を考慮してクエリの集約を行う場合を例にとって説明する。
図1に、本実施形態で想定するネットワーク(例えば、ファシリティネットワーク)の構成例を示す。図1に示されるように、このネットワークは、ゲートウェイ1、クライアント2、IPコントローラ3、デバイス4を含んでいる。
ゲートウェイ1は、制御系ネットワークとOA系ネットワークとの境界に位置し、制御権限の確認やプロトコル変換などを行う点は、従来と同様であるが、これに加えて、本実施形態では、クエリの集約を行う。
クライアント2は、所望のデバイス4に対するクエリを送信する機能を有する端末であり、OA系ネットワーク側に接続される。クライアント2は、任意台数存在して構わない。
デバイス4は、制御系ネットワーク側に接続され、例えば照明や空調などの設備機器であり、制御系ネットワーク側に接続される。デバイス4は、任意台数存在して構わない。
IPコントローラ3は、デバイス4を制御するための装置であり、制御系ネットワーク側に接続される。IPコントローラ3は、個々のデバイス4に対応して一つずつ設けられても良いし、一纏まりのデバイス4に対応して一つずつ設けられても良いし、全てのデバイス4に対応して一つのみ設けられても良い。なお、一纏まりのデバイス4に対応して一つずつ設けられる形態には、例えば、デバイスの種別を基準にしてグルーピングされたグループごとに設けられる形態(例えば同一種別のデバイスごとに設けられる形態)、デバイスが設置される場所を基準にしてグルーピングされたグループごとに設けられる形態(例えばビルの同一フロア又はテナントに設置されたデバイスごとに設けられる形態)、それらの組み合わせなど、種々の形態が考えられる。
ここでは、ゲートウェイ1は、1台存在するものとして説明するが、ゲートウェイ1が複数台存在する構成も可能である。
図1において、クライアント2は、例えばユーザの操作などに基づいて、制御対象とするデバイス2を管理するIPコントローラ3を宛先とするクエリを送信する。クライアント2から送信されたクエリは、まず、ゲートウェイ1に到達し、ゲートウェイ1は、クエリを受信すると、制御権限の確認やプロトコル変換などを行う。その際、本実施形態では、ゲートウェイ1は、集約すべき条件を満たすクエリについては、その集約を行う。そして、ゲートウェイ1は、集約処理されたクエリ又は集約処理の対象外の単独のクエリを、宛先となるIPコントローラ3に向けて送信する。IPネットワークの終端に位置するIPコントローラ3は、ゲートウェイ1からクエリを受信すると、これを処理して、制御対象となるデバイス4を制御する。
本実施形態では、クライアント2は、デバイス4のプロパティに任意の値を設定するというクエリを発信する場合を例にとって説明する。
図2に、この場合のクエリが持つ情報を例示する。
図2に示すクエリは、当該クエリを所有するユーザの識別情報である「ユーザID」、制御対象となるデバイスの識別情報である「デバイスID」、当該クエリの識別情報である「命令ID」、該デバイスが持つプロパティの名前である「プロパティ名」、該プロパティに設定する値である「設定値」を含む。例えば、空調に対する温度設定、照明に対する照度設定、ブラインドに対する開閉設定などを行う際に発生するクエリが、図2のクエリにあたる。
第1の実施形態では、図2のようなクエリを集約の対象とする。空調や照明の制御結果は、複数のユーザに反映されるが、個々のユーザのクエリを逐次的に処理して制御を行うだけでは、例えば、最後にクエリを送信したユーザの意図のみが反映されてしまう、といった不具合が生ずる。したがって、ゲートウェイ1において、例えば、複数ユーザから受信したクエリの持つ設定値を集約して、1つのクエリとしてIPコントローラ3に送信するような集約処理を行うことで、複数ユーザの意図を反映した制御を行いつつ、IPコントローラ3の負荷を抑えることができる。
なお、図1において、クライアント2からゲートウェイ1に転送されるクエリは、クライアント2とゲートウェイ1との間で使用するプロトコルに従うものであり、ゲートウェイ1からIPコントローラ3に与えられるクエリは、ゲートウェイ1とIPコントローラ3との間で使用するプロトコルに従うものであり、それらプロトコルは異なるものであることを想定しているので、ゲートウェイ1は、クライアント2から受信したクエリをプロトコル変換する機能(図3等のプロトコル変換部27参照)を有する。すなわち、クエリは、ゲートウェイ1においてプロトコル変換されて、IPコントローラ3に与えられる。
次に、図3に、本実施形態に係るゲートウェイ1の構成例を示す。
図3に示されるように、ゲートウェイ1は、トランスレータ11とアグリゲータ12とを備える。トランスレータ11とアグリゲータ12は、例えば、ゲートウェイ1上で動作するプロセス(すなわち、そのもととなるプログラム)としても実現可能である。
トランスレータ11は、ユーザから受信したクエリに対してプロトコル変換処理を行い、IPコントローラ3に転送するためのものである。ただし、トランスレータ11は、IPコントローラ3の負荷を把握しており、IPコントローラ3の負荷が高い場合には、アグリゲータ12にクエリを転送し、アグリゲータ12から集約されたクエリを受けて、これをIPコントローラ3に転送する。
アグリゲータ12は、トランスレータ11から受信したクエリを集約し、集約したクエリをトランスレータ11に返す。本実施形態では、1つのアグリゲータ12は、特定のデバイス4に対する特定の命令を集約する場合を例にとって説明する。アグリゲータ12は、管理者によって設定された数だけ存在する。なお、図3には、一つのアグリゲータ12のみ例示している。
以下、アグリゲータ12によって集約された集約済みクエリのことを「集約クエリ」と呼ぶ。集約クエリが持つ情報は、一般のクエリと同じである。
図3に示されるように、本実施形態のトランスレータ11は、クエリ受信部21、クエリ転送部34、クエリ送信部28、集約クエリ受信部35、負荷情報受信部31、エラー送信部23、クエリ受理通知部30の7つの送受信部を有し、これらの各機能ブロックによって他プロセスや他マシンとのデータ交換を行う。
また、トランスレータ11は、デバイスデータベース(デバイスDB)71、IPコントローラデータベース(IPコントローラDB)72、アグリゲータデータベース(アグリゲータDB)73の3つのDBを有する。DBの情報の設定は、ビルや工場の管理者が行うのが一般的であるが、これに制限されるものではない。
次に、図4に、デバイスDB71の属性の例を示す。
図4の例において、デバイスDB71は、{デバイスID,IPコントローラID,テナントID,ユーザID,命令ID}の5属性から構成され、主キーはデバイスIDである。デバイスIDごとに、当該デバイスを管理するIPコントローラの識別情報である「IPコントローラID」、当該デバイスが設置してあるテナントの識別情報である「テナントID」、当該デバイスを制御可能なユーザの「ユーザID」、当該デバイスに対して実行可能な命令の「命令ID」が設定されている。
実行可能な命令には、例えば、デバイスが空調機器であれば、温度設定命令、冷房運転開始命令、暖房運転開始命令などがある。
次に、図5に、IPコントローラDB72の属性の例を示す。
図5の例において、IPコントローラDB72は、{IPコントローラID,通信用情報,負荷,閾値T,閾値T}の5属性から構成され、主キーはIPコントローラIDである。IPコントローラごとに、当該IPコントローラへクエリを転送する際に使用する情報である「通信用情報」、当該IPコントローラの負荷を表す指標である「負荷」、2つの閾値「閾値T」「閾値T」が設定されている。
通信用情報は、ゲートウェイ1とIPコントローラとの間で使用するプロトコルに依存する。例えば、BACnet/IPを使用する場合はIPアドレスとなり、SOAPを使用する場合はURIとなる。本実施形態では、BACnet/IPを使用する場合を例にとって説明する。
負荷を表す指標には、例えば、IPコントローラのCPUの使用率、IPコントローラのCPUのアイドル状態率、IPコントローラが過去一定時間に受信したクエリ数などがあり、いずれの指標を用いることも可能である。本実施形態では、IPコントローラのCPU使用率を指標とする場合を例にとって説明する。
なお、図5の例では、閾値属性の数は2つであるが、これに制限されるものではない。本実施形態では、負荷状況に応じて3通りの処理を行う場合を例にとって説明するため、閾値属性の数が2つであるものを例示している。
次に、図6に、アグリゲータDB73の属性の例を示す。
図6の例において、アグリゲータDB73は、{アグリゲータID,デバイスID,命令ID,通信用情報}の4属性から構成され、主キーはアグリゲータIDである。アグリゲータごとに、当該アグリゲータが集約するクエリが持つべき、制御対象となるデバイスの「デバイスID」及び該デバイスに対する「命令ID」、当該アグリゲータへクエリを転送する際に使用する情報である「通信用情報」が設定されている。
本実施形態では、アグリゲータ12は、デバイスIDと命令IDとの組み合わせにより特定される。
通信用情報は、トランスレータとアグリゲータとの間の通信方法に依存する。例えば、ソケットを使用する場合はポート番号となり、UNIX(登録商標)のpipeを使用する場合はファイルディスクリプタとなる。本実施形態では、ソケットを用いる場合を例にとって説明する。
また、図3に示されるように、トランスレータ11は、制御権限確認部22、負荷判断部25、プロトコル変換部27、アグリゲータ選択部33、情報更新部32を有する。これらの各機能ブロックは、上記の3つのDBを参照し、動作する。
前述のように本実施形態のアグリゲータ12は管理者によって設定された数だけ存在し、各々のアグリゲータ12ごとに、図3に示されるように、クエリ受信部51、状態確認部53、クエリ挿入部54、タイマー部55、クエリ集約部56、集約クエリ送信部57、プロパティ情報81、クエリキュー82を有する。
次に、図7に、プロパティ情報81の内容の例を示す。
図7の例において、プロパティ情報81には、「クエリを集約する期間情報」、「集約アルゴリズム」、「通信用情報」、「状態情報」が含まれる。管理者は、プロパティ情報81を設定することで、アグリゲータ12を設定する。
クエリを集約する期間情報とは、例えば、10秒や100秒などの時間である。
集約アルゴリズムには、「平均値」、「中間値」、「無作為にクエリを選択」、「最後に受信したクエリを選択」などがあり、管理者が運用ポリシーなどを考慮して選択する。集約の対象となるクエリは、あるデバイスに任意の値を設定するというクエリであるため、管理者は、集約の期間を設定し、規定の集約アルゴリズムを選択するだけで、アグリゲータ12を設定できる。
通信用情報は、トランスレータ11とアグリゲータ12との間の通信方法に依存する。例えば、ソケットを使用する場合はポート番号となり、UNIXのpipeを使用する場合はファイルディスクリプタとなる。本実施形態では、ソケットを用いる場合を例にとって説明する。
状態情報は、アグリゲータ12がクエリの集約を実行中であるか又は実行中でないかを表す情報である。
次に、図3及び図8等を参照しながら、ユーザからのクエリ受信時のトランスレータ11の動作について説明する。図8は、ユーザからのクエリ受信時のトランスレータ11の動作例を示すフローチャートである。
トランスレータ11は、クエリ受信部21によって、ユーザが送信したクエリを受信すると(ステップS1)、制御権限確認部22によって、デバイスDB71を参照する(ステップS2)。クエリには、ユーザID、制御対象となるデバイスID、デバイスに対して行う制御命令の命令IDが含まれている。クエリに含まれるデバイスIDをキーとしてデバイスDB71を参照することで、当該デバイスを管理するIPコントローラIDと、当該デバイスを制御する権限を持つユーザID、当該デバイスに対して実行可能な命令IDを取得する。
クエリが持つユーザIDと命令IDが、取得したユーザIDと命令IDに含まれない場合は(ステップS3)、制御する権限がないと判断し、エラー送信部23によって、クエリ送信者にエラーを返す(ステップS14)。
制御する権限があると判断した場合は(ステップS3)、クエリに当該デバイスを管理するIPコントローラID情報を付加し(ステップS4)、負荷判断部25によって、IPコントローラDB72を参照する(ステップS5)。
ここで、図9に、IPコントローラID情報を付加されたクエリが持つ情報の例を示す。
負荷判断部25は、クエリに付加されたIPコントローラIDをキーとしてIPコントローラDB72を参照することで、当該IPコントローラの負荷と、閾値(本例では二つの閾値)を取得する。なお、ここでは、閾値T>閾値Tとする。
負荷が閾値Tよりも大きい場合は(ステップS6)、当該IPコントローラはクエリを処理不可能な状態であると判断し、エラー送信部23によって、ユーザ(すなわち、当該クエリの送信元であるクライアント2)にエラーを送信する(ステップS14)。この場合、受信したクエリは、破棄される。
負荷が閾値T以下であり(ステップS6)、さらに閾値T以下である場合は(ステップS7)、プロトコル変換部27によって、クエリに対してプロトコル変換処理を行い(ステップS8)、クエリ送信部28によって、当該IPコントローラにクエリを送信する(ステップS9)。そして、クエリ受理通知部30によって、ユーザにクエリを受理したことを通知する(ステップS10)。当該IPコントローラのIPアドレスは、IPコントローラIDをキーとしてIPコントローラDB72を参照することで決定する。
負荷が閾値T以下であり且つ閾値Tよりも大きい場合は(ステップS6,S7)、アグリゲータ選択部33によって、アグリゲータDB73を参照する(ステップS11)。
アグリゲータ選択部33は、アグリゲータDB73を参照し、クエリに付加されたデバイスIDと命令IDとの両方が一致するアグリゲータIDを探す。適切なアグリゲータIDが見つからなかった場合(ステップS12)、クエリの集約は不可能と判断し、エラー送信部23によって、ユーザにエラーを送信する(ステップS14)。適切なアグリゲータIDが見つかった場合(ステップS12)、クエリ転送部34によって、アグリゲータ12にクエリを転送する(ステップS13)。そして、クエリ受理通知部30によって、ユーザにクエリを受理したことを通知する(ステップS10)。アグリゲータ12にクエリを転送する際に必要な情報(ポート番号)は、アグリゲータIDをキーとしてアグリゲータDB73を参照することで取得する。
次に、図3及び図10等を参照しながら、クエリ受信時のアグリゲータ12の動作について説明する。図10は、クエリ受信時のアグリゲータ12の動作例を示すフローチャートである。
アグリゲータ12は、クエリ受信部51によって、トランスレータ11からクエリを受信すると(ステップS21)、状態確認部53によって、プロパティ情報81の状態情報を参照する(ステップS22)。
状態が実行中である場合は(ステップS23)、クエリ集約部56によって、受信したクエリをクエリキュー82に挿入する(ステップS24)。
状態が実行中でない場合は(ステップS23)、プロパティ情報81の状態情報を実行中に変更し(ステップS26)、クエリ集約部56によって、受信したクエリをクエリキュー82に挿入する(ステップS24)。その際、タイマー部55によって期間情報を参照し、タイマーをセットする(ステップS25)。タイマーは、例えば、アグリゲータ12のプロセスにアラームシグナルを設定することで実現できる。
次に、図3及び図11等を参照しながら、タイマーが切れた時のアグリゲータ12の動作について説明する。図11は、タイマーが切れた時のアグリゲータ12の動作例を示すフローチャートである。
タイマーが切れると(ステップS31)、アグリゲータ12は、クエリ集約部56によって、クエリキュー82から蓄積されたクエリ群を取得し、プロパティ情報81の集約アルゴリズムに従ってクエリを集約する(ステップS32)。
例えば、集約アルゴリズムが「平均」であれば、クエリ群の各値の平均値を計算し、その値を設定値とする集約クエリを生成する。集約アルゴリズムが「中間値」であれば、クエリ群の中間値を計算し、その値を設定値とする集約クエリを生成する。集約アルゴリズムが「無作為」であれば、クエリ群の中から無作為に1つのクエリを選択し、そのクエリを集約クエリとする。集約アルゴリズムが「最後に受信したクエリを選択」であれば、キューの最後尾のクエリを集約クエリとする。
クエリの集約が終了した後、プロパティ情報81の状態情報を停止中に変更し(ステップS33)、集約クエリ送信部57によって、トランスレータ11に集約クエリを送信する(ステップS34)。トランスレータ11との通信に必要な情報は、プロパティ情報81の通信用情報を参照することで取得する。
ところで、上記では、集約を実行する基準にタイマーを用いたが、集約を実行する基準はタイマーだけに限らない。その他にも、例えば、IPコントローラの負荷がある閾値を下回ったときに集約を実行する方法や、一定数のクエリを受信したときに集約を実行する方法など、種々の方法が考えられる。この場合は、プロパティ情報には期間情報の代わりとなる情報を設定すれば良い。
次に、図3及び図12等を参照しながら、アグリゲータ12からの集約クエリ受信時のトランスレータ11の動作について説明する。図12は、アグリゲータ12からの集約クエリ受信時のトランスレータ11の動作例を示すフローチャートである。
トランスレータ11は、集約クエリ受信部35によって、アグリゲータ12から集約クエリを受信すると(ステップS41)、プロトコル変換部27によって、集約クエリに対してプロトコル変換処理を行う(ステップS42)。その後、クエリ送信部28によって、IPコントローラに集約クエリを送信する(ステップS43)。当該IPコントローラのIPアドレスは、IPコントローラIDをキーとしてIPコントローラDB72を参照することで決定する。
次に、図3及び図13等を参照しながら、IPコントローラからの負荷情報受信時のトランスレータ11の動作について説明する。図13は、IPコントローラからの負荷情報受信時のトランスレータ11の動作例を示すフローチャートである。
トランスレータ11は、負荷情報受信部31によって、IPコントローラから負荷情報を受信すると(ステップS51)、負荷情報更新部32によって、IPコントローラDB72を参照し、「負荷」の値を更新する(ステップS52)。
ここで、図14に、IPコントローラから受信する負荷情報の内容の例を示す。負荷情報に含まれるIPコントローラIDを使用することで、負荷情報を更新するべきエントリを決定する。
このように、本実施形態のゲートウェイによれば、IPコントローラの負荷を把握し、負荷が高い場合には「あるデバイスのプロパティに任意の値を設定する」というクエリを集約することで、複数ユーザの意図を反映した制御を行いながら、IPコントローラのクエリ処理負荷を軽減することが可能となる。
なお、集約の対象とするクエリは、あるデバイスに任意の値を設定するという制御命令であるため、管理者は、集約期間と集約アルゴリズムを設定するだけで、アグリゲータ12を設定できる。集約アルゴリズムには「平均」や「中間値」などの既定の数値計算アルゴリズムがあり、管理者は、アルゴリズムを選択することで、柔軟なクエリ集約を行うことができる。
また、アグリゲータ12は、ゲートウェイ1上のプロセスでなくとも良い。例えば、ゲートウェイ1とは別のマシン上で動作するWebサービスプロセスであっても良い。その場合、アグリゲータDB73の通信用情報には、アグリゲータ12のクエリ受信サービスのURIが格納される。また、アグリゲータ12が持つ通信用情報には、ゲートウェイ1のIPアドレスとポート番号が格納される。
以上説明してきたように、本実施形態によれば、ゲートウェイにおいてクエリを集約することで、IPコントローラやデバイスのクエリの処理負荷を軽減することが可能になる。
また、本実施形態によれば、ゲートウェイにおいてIPコントローラやデバイスの状態を把握し、状態に応じてクエリの集約を行うことで、複数ユーザの意図を反映した制御を行いつつ、IPコントローラやデバイスの処理負荷を軽減することが可能となる。
(第2の実施形態)
第2の実施形態では、第1の実施形態におけるゲートウェイがクエリの集約を行う際に、クエリの優先度を考慮する動作例について説明する。以下、第1の実施形態と相違する点を中心に説明する。
ファシリティネットワークにおいてクエリの優先度を考慮する場合、ユーザの権限と、ユーザとデバイスが所属するテナントの2点を考慮できる。一般的に、ファシリティネットワークには、管理者権限を持つ管理者と、一般権限しか持たない一般ユーザとが存在する。ビルの管理者からのクエリを一般ユーザよりも優先することは妥当な処理だと言える。また、あるテナントに存在するデバイスに対して、複数のテナントに所属するユーザがクエリを送信した場合に、デバイスと同じテナントに所属するユーザのクエリを優先することは、妥当な処理であると言える。本実施形態では、上記2点の指標を用いて、クエリの優先度を高中低の3段階に分類する例について説明する。
図15に、本実施形態に係るゲートウェイの構成例を示す。第1の実施形態と相違する点は、トランスレータ11が、第1の実施形態(図3)の構成に加えて、ユーザデータベース(ユーザDB)74と優先度判断部24とを備える点である。
図16に、ユーザDB74の属性情報の例を示す。
ユーザDB74は、{ユーザID,ユーザ権限,テナントID}の3属性から構成され、主キーはユーザIDである。ユーザIDごとに、当該ユーザの権限を示す「ユーザ権限」、当該ユーザが所属しているテナントの「テナントID」が設定されている。
ユーザ権限には、管理者権限や一般ユーザ権限がある。
優先度判断部24は、クエリが持つユーザIDをキーとしてユーザDB74を参照することで、クエリ送信者の権限を把握する。また、ユーザDB74とデバイスDB71を併せて参照することで、クエリ送信者が所属するテナントと制御対象デバイスが存在するテナントとが等しいかどうかを判断できる。
次に、図15及び図17等を参照しながら、ユーザからのクエリ受信時のトランスレータ11の動作について説明する。図17は、本実施形態のトランスレータ11の、ユーザからのクエリ受信時の動作例を示すフローチャートである。
なお、図17の手順におけるステップS61〜S64は、それぞれ、図8の手順におけるステップS1〜S4と同じである。また、図17の手順におけるステップS72〜S81は、それぞれ、図8の手順におけるステップS5〜S14と同じである。
トランスレータ11は、クエリ受信部21によって、ユーザからクエリを受信すると(ステップS61)、制御権限確認部22によって、ユーザの制御権限を確認する(ステップS62)。
ユーザ(すなわち、当該クエリの送信元であるクライアント2)にデバイスの制御権限がある場合(ステップS63)、クエリに当該デバイスを管理するIPコントローラID情報を付加し(ステップS64)、優先度判断部24によって、クエリの優先度を判断する(ステップS65)。優先度判断部24は、クエリが持つユーザIDをキーとしてユーザDB74を参照し、クエリ送信ユーザの権限を確認する。
クエリ送信ユーザが管理者権限を持っている場合は(ステップS66)、クエリに優先度=高という情報を付加する(ステップS67)。
クエリ送信ユーザが管理者権限を持っていない場合は(ステップS66)、ユーザDB74とデバイスDB71を併せて参照し、クエリ送信ユーザと制御対象デバイスのテナントIDが等しいかどうかを確認する(ステップS68)。テナントIDが等しければ(ステップS69)、クエリに優先度=中の情報を付加し(ステップS70)、テナントIDが等しくなければ(ステップS69)、クエリに優先度=低の情報を付加する(ステップS71)。
ここで、図18に、優先度情報が付加されたクエリの例を示す。
クエリに優先度情報を付加した後の処理は、第1の実施形態におけるトランスレータ11の動作と同じである。負荷判断部25によってIPコントローラの負荷状況を判断し、ユーザにエラーを返すか、クエリに対してプロトコル変換処理を行うか、適切なアグリゲータ12にクエリを渡すか、のいずれかの処理を行う。
次に、図15及び図11等を参照しながら、タイマーが切れた時のアグリゲータ12の動作例について説明する。なお、本実施形態のアグリゲータ12の、タイマーが切れた時の動作例は、第1の実施形態(図11)と同様であるが、ステップS32の集約において優先度を考慮する点が第1の実施形態と相違している。
タイマーが切れると(ステップS31)、アグリゲータ12は、クエリ集約部56によって、クエリキュー82から蓄積されたクエリ群を取得し、プロパティ情報81の集約アルゴリズムに従ってクエリを集約する(ステップS32)。
ここで、本実施形態における集約アルゴリズムは、クエリの優先度情報を考慮した計算を行う。例えば、集約アルゴリズムが、「平均」、「中間値」又は「無作為」である場合に、w>w>w(例えば、w=3、w=2、w=1)として、優先度=高である1個のクエリは、クエリw個分、優先度=中である1つのクエリは、クエリw個分、優先度=低である1つのクエリは、クエリw個分にして、集約値を計算する。
このようにすることで、優先度が低いクエリよりも、優先度が高いクエリが持つ設定値を、集約結果により反映させることができる。
クエリの集約が終了した後、プロパティ情報81の状態情報を停止中に変更し(ステップS33)、集約クエリ送信部57によって、トランスレータ11に集約クエリを送信する(ステップS34)。トランスレータ11との通信に必要な情報は、プロパティ情報81の通信用情報を参照することで取得する。
このように、本実施形態のゲートウェイによれば、ユーザの権限や所属に応じてクエリに優先度を設定し、優先度を考慮してクエリを集約することで、管理者や、同じテナントに属するユーザの意図を優先的に反映した制御を行いながら、IPコントローラのクエリ処理負荷を軽減することが可能となる。
(第3の実施形態)
第3の実施形態では、第2の実施形態におけるゲートウェイがクエリの集約を行う際に、「はずれ値」を除外して集約する動作例について説明する。なお、以下では、第2の実施形態と相違する点を中心に説明するが、第1の実施形態に本実施形態の「ゲートウェイがクエリの集約を行う際に、はずれ値を除外して集約する構成」を適用することも、もちろん可能である。
ファシリティネットワークにおいて、例えば、一部のユーザが操作ミス或いは興味本位などで、明らかに許容範囲から外れた設定値を持つクエリを送信し、そのクエリがアグリゲータ12に集約された場合、多くのユーザの意図を反映しない集約結果になる可能性がある。例えば、空調に対して、一部のユーザがマイナス5度という設定を行おうとしてクエリを送信し、アグリゲータ12がそのクエリを含めて平均値を計算することは、望ましくない。よって、空調が許容できない値は、集約対象から除外するのが望ましい。
ここで、図19に、本実施形態におけるプロパティ情報81の例を示す。本実施形態におけるアグリゲータ12のプロパティ情報81は、これまでの実施形態(図7)の「集約期間」、「集約アルゴリズム」、「通信用情報」、「状態情報」に加えて、「最大値」及び「最小値」の情報を含む。
アグリゲータ12は、最大値と最小値を参照することで、はずれ値を含むクエリを集約対象から除外する。はずれ値であるということは、設定値が、最大値よりも大きいか又は最小値よりも小さいということである。
図20に、本実施形態のゲートウェイの構成例を示す。第2の実施形態と相違する点は、アグリゲータ12が、第2の実施形態(図15)の構成に加えて、はずれ値判断部52を備える点である。
次に、図20及び図21等を参照しながら、トランスレータ11からのクエリ受信時のアグリゲータ12の動作例について説明する。図21は、本実施形態のアグリゲータ12の、トランスレータ11からのクエリ受信時の動作例を示すフローチャートである。
アグリゲータ12は、クエリ受信部51によって、トランスレータ11からクエリを受信すると(ステップS91)、はずれ値判断部52によって、クエリがもつ設定値がはずれ値かどうかを判断する(ステップS92)。はずれ値判断部52は、プロパティ情報81の最大値と最小値を参照し、クエリが持つ設定値が最大値よりも大きいか、最小値よりも小さい場合は、はずれ値であると判断する。
はずれ値である場合は(ステップS93)、クエリを破棄する(ステップS94)。
はずれ値でない場合は(ステップS93)、状態確認部53によって、アグリゲータ12の実行状態を確認する(ステップS95)。
状態が実行中であれば(ステップS96)、クエリ集約部56によって、受信したクエリをクエリキュー82に挿入する(ステップS97)。
状態が実行中でなければ(ステップS96)、プロパティ情報81の状態情報を実行中に変更し(ステップS99)、クエリ集約部56によって、受信したクエリをクエリキュー82に挿入する(ステップS98)。その際、タイマー部55によって期間情報を参照し、タイマーをセットする(ステップS98)。
このように、本実施形態のゲートウェイによれば、はずれ値を除外してクエリを集約することで、設定値を任意の範囲に限定した制御を行いながら、IPコントローラのクエリ処理負荷を軽減することが可能となる。
(第4の実施形態)
第4の実施形態では、第3の実施形態におけるゲートウェイが、IPコントローラからの制御結果を受信した後に、ユーザ(すなわち、当該クエリの送信元であるクライアント2)にクエリ受理通知を行う場合の動作例について説明する。以下、第3の実施形態と相違する点を中心に説明するが、第1又は第2の実施形態に本実施形態の「ゲートウェイが、IPコントローラからの制御結果を受信した後に、ユーザにクエリ受理通知を行う構成」を適用することも、もちろん可能である。
ファシリティネットワークにおいて、例えば、あるデバイスのプロパティに任意の値を設定する際に、値を設定するだけでなく、確認のためにデバイスに設定された値を返信して欲しい場合がある。このような、あるデバイスのプロパティに任意の値を設定し、かつ、実際にデバイスに設定された値を返すことを要求するクエリのことを、readbackクエリと呼び、例えばBACnet/IPなどのプロトコルで定義されている。
第3の実施形態までのゲートウェイは、IPコントローラにクエリを転送する前に、ユーザに、実際の制御結果の情報を含まないクエリ受理通知を返すが、readbackクエリを受信した場合、ゲートウェイは、IPコントローラにクエリを転送した後、IPコントローラから制御結果通知が送られてくるまで待機し、制御結果通知を受信してから、ユーザに制御結果を含めたクエリ受理通知を返すと好ましい。例えば、あるユーザが空調の運転温度を28度に設定すると、ユーザには実際に空調に設定された運転温度が返される。ただし、クエリの集約を行った場合、ユーザが設定した値と、ユーザに返される制御結果の値が異なる場合がある。
図22に、本実施形態のゲートウェイの構成例を示す。第3の実施形態と相違する点は、トランスレータ11が、第3の実施形態(図20)の構成に加えて、制御結果受信部29を備える点である。
トランスレータ11は、クエリ送信部28によって、IPコントローラにクエリを送信した後、IPコントローラからの制御結果通知を待ち、制御結果受信部29によって、制御結果を受信する。
次に、図22及び図23等を参照しながら、ユーザからのクエリ受信時のトランスレータ11の動作例について説明する。図23は、本実施形態のトランスレータ11の、ユーザからのクエリ受信時の動作例を示すフローチャートである。
なお、図23の手順におけるステップS101は、図17の手順におけるステップS61と同じである。また、図23の手順におけるステップS103〜S117は、それぞれ、図17の手順におけるステップS62〜S76と同じである。また、図23の手順におけるステップS119〜S123は、それぞれ、図17の手順におけるステップS77〜S81と同じである。
トランスレータ11は、クエリ受信部21によって、ユーザからクエリを受信すると(ステップS101)、クエリに通信用情報を付加する(ステップS102)。
ここで、図24に、IPコントローラID及び優先度情報並びに通信用情報が付加されたクエリの例を示す。
この通信用情報とは、後にユーザにクエリ受理通知を返すための情報であり、例えば、ユーザのIPアドレスとポート番号のセットが該当する。通信用情報は、例えば、Unixのソケット機能を利用することで求めることができる。
負荷判断部25によって、IPコントローラの負荷が閾値T以下であり(ステップS114)、さらに閾値T以下である場合は(ステップS115)、プロトコル変換部27によって、クエリのプロトコル変換を行い(ステップS116)、クエリ送信部28によって、IPコントローラにクエリを送信する(ステップS117)。その後、制御結果受信部29によって、IPコントローラから制御結果を受信し(ステップS118)、クエリ受理通知部30によって、ユーザに制御結果を返す(ステップS119)。
IPコントローラの負荷が閾値T以下であり且つ閾値Tより大きい場合は(ステップS114,S115)、アグリゲータ選択部33によって、適切なアグリゲータ12を選択し(ステップS120)、適切なアグリゲータIDが見つかれば(ステップS121)、クエリ転送部34によって、アグリゲータ12にクエリを転送する(ステップS122)。
本実施形態におけるアグリゲータ12は、クエリ集約部56によってクエリを集約する際に、各クエリの設定値だけでなく、各クエリの通信用情報も集約する。したがって、集約されたクエリは、複数の通信用情報を持つ場合がある。これは後に、集約したクエリの各送信者に対してクエリ受理通知を返すためである。
次に、図22及び図25等を参照しながら、アグリゲータ12からの集約クエリ受信時のトランスレータ11の動作例について説明する。図25は、本実施形態のトランスレータ11の、アグリゲータ12からの集約クエリ受信時の動作例を示すフローチャートである。
トランスレータ11は、集約クエリ受信部35によって、アグリゲータ12から集約クエリを受信すると(ステップS131)、プロトコル変換部27によって、クエリのプロトコル変換を行い(ステップS132)、クエリ送信部28によって、IPコントローラにクエリを送信する(ステップS133)。その後、制御結果受信部29によって、IPコントローラから制御結果を受信し(ステップS134)、クエリ受理通知部30によって、ユーザに制御結果を返す(ステップS135)。クエリ受理通知部30は、クエリの通信用情報を参照することで、送信先ユーザを決定する。複数のユーザからのクエリを集約している場合は、複数のユーザに対して制御結果を送信することになる。
このように、本実施形態のゲートウェイによれば、クエリにユーザとの通信用情報を付加することにより、クエリを集約した場合でも、IPコントローラから返される制御結果通知を、クエリ受理通知に含めてユーザに返すことができる
(第5の実施形態)
第5の実施形態では、第4の実施形態におけるゲートウェイが、IPコントローラが管理しているデバイスの状態を考慮してクエリの集約を行う場合の動作例について説明する。以下、第4の実施形態と相違する点を中心に説明するが、第1、第2又は第3の実施形態に本実施形態の「ゲートウェイが、IPコントローラが管理しているデバイスの状態を考慮してクエリの集約を行う構成」を適用することも、もちろん可能である。
ファシリティネットワークには、特定の制御命令を受けると、一定時間は他の制御命令を受け付けなくなるデバイスが存在することがある。他の制御命令を受け付けない状態にあるデバイスに対して制御命令を送ると、デバイスやIPコントローラの負荷は増加することになる。また、ユーザの意図が反映されないため、ユーザは再び制御命令を送信する操作を行う必要がある。例えば、空調には、暖房や冷房の運転開始命令を受けてから、実際に温風や冷風を送り出すまでに、数分間の準備時間が存在する。準備を行っている最中に、空調に対して運転開始制御を行うことは、空調やIPコントローラにとって余分な負荷となる。
以下、受理すると一定時間は他の制御命令を受け付けなくなる制御命令のことを、「排他的クエリ」と呼ぶ。排他的クエリが持つ情報は、一般のクエリと同じである。
本実施形態におけるゲートウェイは、デバイスの状態を考慮して、クエリを送信しても受理されないと判断した場合には、クエリを集約する。これによって、デバイスやIPコントローラに余分な負荷を与えずに済む。なお、本実施形態において、集約の対象とするクエリは、あるデバイスのプロパティに任意の値を設定するクエリだけではなく、あるデバイスの動作を開始/停止するといったクエリも当てはまる。このクエリは、ユーザ任意のパラメータを持たない。したがって、このクエリを集約するということは、クエリの通信用情報を集約するということである。
図26に、本実施形態のゲートウェイの構成例を示す。第4の実施形態と相違する点は、トランスレータ11が、第4の実施形態(図22)の構成に加えて、状態判断部26と状態判断用データベース(状態判断用DB)75を備える点である。
状態判断部26は、状態判断用DB75を参照することで、デバイスの状態を把握し、クエリを集約する。
ここで、図27に、状態判断用DB75の属性情報の例を示す。図27の例においては、状態判断用DB75は、{デバイスID,命令ID,制御不可期間,タイムスタンプ,状態}の5属性から構成され、主キーはデバイスIDである。デバイスIDごとに、当該排他的クエリの識別情報である「命令ID」、制御を受け付けなくなる期間である「制御不可期間」、前回排他的クエリをIPコントローラに送信した時間を示す「タイムスタンプ」、「デバイスの状態」を管理する。ここで、デバイスの状態とは、「制御可能」と「制御不可」のいずれかである。排他的クエリが存在しないデバイスの場合は、命令IDの情報は存在せず、常に状態は「制御可能」である。
次に、図26及び図28等を参照しながら、ユーザからのクエリ受信時のトランスレータ11の動作例について説明する。図28は、本実施形態のトランスレータ11の、ユーザからのクエリ受信時の動作例を示すフローチャートである。
なお、図28の手順におけるステップS141〜S155は、それぞれ、図23の手順におけるステップS101〜S115と同じである。また、図28の手順におけるステップS162〜S169は、それぞれ、図23の手順におけるステップS116〜S123と同じである。
トランスレータ11は、負荷判断部25によって、対象IPコントローラの負荷を判断する(ステップS153)。負荷が閾値T以下であり(ステップS154)、さらに閾値T以下である場合に(ステップS155)、状態判断部26によって、状態判断用DB75を参照し、デバイスの状態を確認する(ステップS156)。
クエリの制御対象デバイスの状態が「制御可能」である場合には(ステップS157)、当該クエリが排他的クエリかどうかを判断する(ステップS160に進む)。
クエリの制御対象デバイスの状態が「制御不可」である場合には(ステップS157)、タイムスタンプと制御不可期間、現在時刻から、すでに制御不可期間が終了しているかどうかを判断する。制御不可期間が終了していなければ(ステップS158)、現在もデバイスは制御不可状態であるため、クエリを適切なアグリゲータ12に転送し、クエリ集約を行う(ステップS166〜S168)。制御不可期間が終了してれば(ステップS158)、状態判断用DB75の状態を「制御可能」に設定し(ステップS159)、また、当該クエリが排他的クエリかどうかを判断する(ステップS160に進む)。
さて、ステップS157でYes又はステップS158でYesの場合に、状態判断用DB75の命令IDと、当該クエリの命令IDとが一致するときは、当該クエリは排他的クエリである。
当該クエリが排他的クエリであるときは(ステップS160)、現在時刻をタイムスタンプとして設定し、状態を「制御不可」に設定する(ステップS161)。そして、プロトコル変換部27によって、クエリに対してプロトコル変換処理を行う(ステップS162)。
当該クエリが排他的クエリではないときは(ステップS160)、状態判断用DB75を更新することなく(ステップS161をスキップして)、プロトコル変換処理を行う(ステップS162)。
プロトコル変換処理を行った後は、クエリ送信部28によって、IPコントローラにクエリを送信する(ステップS163〜S165)。
このように本実施形態のゲートウェイによれば、デバイスの状態を判断してクエリの集約を行うかどうかを判断する機能を備えるため、制御命令を受け付けない状態にあるデバイスに対して制御命令を送ることで、デバイスやIPコントローラに余分な負荷を与えることを避けることができる。
なお、以上の各機能は、ソフトウェアとして記述し適当な機構をもったコンピュータに処理させても実現可能である。
また、本実施形態は、コンピュータに所定の手順を実行させるための、あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるためのプログラムとして実施することもできる。加えて該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
本発明の第1の実施形態に係るネットワークの構成例を示す図 ユーザが送信するクエリの情報の一例を示す図 同実施形態に係るゲートウェイの構成例を示す図 デバイスDBの属性情報の一例を示す図 IPコントローラDBの属性情報の一例を示す図 アグリゲータDBの属性情報の一例を示す図 プロパティ情報の内容の一例を示す図 同実施形態に係るトランスレータがユーザからのクエリを受信した場合の動作例を示すフローチャート IPコントローラIDが付加されたクエリの情報の一例を示す図 同実施形態に係るアグリゲータがクエリ受信した場合の動作例を示すフローチャート 同実施形態に係るアグリゲータのタイマーが切れた場合の動作例を示すフローチャート 同実施形態に係るトランスレータが集約クエリを受信した場合の動作例を示すフローチャート 同実施形態に係るトランスレータが負荷情報を受信した場合の動作例を示すフローチャート 負荷情報の内容の一例を示す図 本発明の第2の実施形態に係るゲートウェイの構成例を示す図 ユーザDBの属性情報の一例を示す図 同実施形態に係るトランスレータがユーザからのクエリを受信した場合の動作例を示すフローチャート 優先度情報が付加されたクエリの情報の一例を示す図 最大値と最小値を備えるプロパティ情報の内容の一例を示す図 本発明の第3の実施形態に係るゲートウェイの構成例を示す図 同実施形態に係るアグリゲータがクエリを受信した場合の動作例を示すフローチャート 本発明の第4の実施形態に係るゲートウェイの構成例を示す図 同実施形態に係るトランスレータがユーザからのクエリを受信した場合の動作例を示すフローチャート 通信用情報が付加されたクエリの情報の一例を示す図 同実施形態に係るトランスレータが集約クエリを受信した場合の動作例を示すフローチャート 本発明の第5の実施形態に係るゲートウェイの構成例を示す図 状態判断用DBの属性情報の一例を示す図 同実施形態に係るトランスレータがユーザからのクエリを受信した場合の動作例を示すフローチャート
符号の説明
1…ゲートウェイ、11…トランスレータ、12…アグリゲータ、21,51…クエリ受信部、22…制御権限確認部、23…エラー送信部、24…優先度判断部、25…負荷判断部、26…状態判断部、27…プロトコル変換部、28…クエリ送信部、29…制御結果受信部、30…クエリ受理通知部、31…負荷情報受信部、32…負荷情報更新部、33…アグリゲータ選択部、34…クエリ転送部、35…集約クエリ受信部、52…はずれ値判断部、53…状態確認部、54…クエリ挿入部、55…タイマー部、56…クエリ集約部、57…集約クエリ送信部、71…デバイスデータベース、72…IPコントローラデータベース、73…アグリゲータデータベース、74…ユーザデータベース、75…状態判断用データベース、81…プロパティ情報、82…クエリキュー

Claims (14)

  1. 一つ以上の設備機器に対する制御命令を実行するための一つ以上のコントローラが接続される第1のネットワークと、制御命令を送信する一つ以上のクライアントが接続される第2のネットワークとの境界に位置し、制御命令をプロトコル変換するためのトランスレータと、制御命令を集約するための一つ以上のアグリゲータとを備えたゲートウェイ装置であって、
    前記トランスレータは、
    各々の前記コントローラについて、当該コントローラ内部の負荷状態に関する情報である負荷情報を収集するための収集部と、
    前記第2のネットワークを介して前記クライアントから所望の設備機器に対する制御命令を受信するための制御命令受信部と、
    前記制御命令が受信された場合に、該制御命令が対象とする設備機器に対応するコントローラの前記負荷情報に基づいて、該制御命令を集約の対象にするか否か判定するための判定部と、
    集約の対象にすると判定された場合に、前記制御命令を、該制御命令に対応する前記アグリゲータに転送するための第1の転送部と、
    前記アグリゲータから集約済み制御命令の転送を受けるための第2の転送部とを含み、
    前記アグリゲータは、
    前記トランスレータから前記制御命令の転送を受けるための第3の転送部と、
    複数の前記制御命令を、一つの集約済み制御命令に集約するための集約部と、
    前記集約済み制御命令令を前記トランスレータに転送するための第4の転送部とを含むことを特徴とするゲートウェイ装置。
  2. 前記アグリゲータは、前記設備機器と前記制御命令との組み合わせごとに設けられ、
    前記制御命令は、該制御命令の識別情報である第1の識別情報と、該制御命令が対象とする設備機器の識別情報である第2の識別情報とを含み、
    前記トランスレータは、前記制御命令に含まれる前記第1の識別情報及び第2の識別情報に基づいて、該制御命令を転送するアグリゲータを選択するための選択部を更に含むことを特徴とする請求項1に記載のゲートウェイ装置。
  3. 前記アグリゲータは、
    受信された前記制御命令を保存する制御命令キューと、
    前記制御命令キューに最初の制御命令が保存されるときに、カウントを開始するタイマーとを更に含み、
    前記アグリゲータの前記集約部は、前記タイマーが所定のカウント値に達したときに、前記制御命令キューに保存されている制御命令を、一つの集約済み制御命に集約することを特徴とする請求項1または2に記載のゲートウェイ装置。
  4. 前記負荷情報は、前記コントローラの負荷を示す数値であり、
    前記トランスレータの前記判定部は、受信された前記制御命令が対象とする設備機器に対応するコントローラの前記負荷情報が示す数値と、第1の閾値及び該第1の閾値より大きい第2の閾値とを比較し、前記数値が、前記第2の閾値以下であり且つ前記第1の閾値より大きい場合に、前記制御命令を集約の対象にするものとし、前記数値が、前記第1の閾値以下である場合に、前記制御命令を集約の対象にしないものとし、前記数値が、前記第2の閾値より大きい場合に、前記制御命令を破棄するものとすることを特徴とする請求項1ないし3のいずれか1項に記載のゲートウェイ装置。
  5. 前記トランスレータは、前記数値が、前記第2の閾値より大きい場合に、エラーを示すメッセージを前記制御命令の送信元であるクライアントに通知するための通知部を更に含むことを特徴とする請求項4に記載のゲートウェイ装置。
  6. 前記トランスレータは、受信された前記制御命令に対して、該制御命令の優先度を示す優先度情報を付加する優先度情報付加部を更に含み、
    前記アグリゲータの前記集約部は、複数の前記制御命令に対してそれぞれ付加された前記優先度情報を加味して、複数の前記制御命令を、一つの集約済み制御命令に集約することを特徴とする請求項1ないし5のいずれか1項に記載のゲートウェイ装置。
  7. 前記制御命令は、該制御命令が対象とする設備機器に関係する設定値を含むものであり、
    前記アグリゲータは、前記トランスレータから受けた前記制御命令に含まれる前記設定値情報が許容範囲内か否かを判断する許容範囲判断部を更に含み、
    前記アグリゲータの前記集約部は、複数の前記制御命令のそれぞれに対する前記判断の結果を加味して、複数の前記制御命令を、一つの集約済み制御命令に集約することを特徴とする請求項1ないし6のいずれか1項に記載のゲートウェイ装置。
  8. 前記トランスレータは、前記制御命令が受信された場合に、該制御命令が対象とする設備機器が制御可能状態であるか否かを判断する状態判断部を更に含み、
    前記トランスレータの前記第1の転送部は、前記設備機器が制御可能状態でないと判断された場合にも、前記制御命令を、該制御命令に対応する前記アグリゲータに転送することを特徴とする請求項1ないし7のいずれか1項に記載のゲートウェイ装置。
  9. 前記トランスレータは、前記アグリゲータから受けた前記集約済み制御命令又は前記集約の対象にすると判定されなかった前記制御命令を、前記第1のネットワークを介して前記コントローラに送信するための制御命令送信部を更に含むことを特徴とする請求項1ないし8のいずれか1項に記載のゲートウェイ装置。
  10. 前記トランスレータは、前記アグリゲータから受けた前記集約済み制御命令又は前記集約の対象にすると判定されなかった前記制御命令を、前記制御命令送信部による前記コントローラへの送信に先立って、当該ゲートウェイ装置と前記コントローラとの間で使用されるプロトコルに従うものになるようにプロトコル変換するためのプロトコル変換部を更に含むことを特徴とする請求項9に記載のゲートウェイ装置。
  11. 前記トランスレータは、
    受信された前記制御命令に対して、当該制御命令の送信元であるクライアントを示す送信者情報を付加するための送信者情報付加部と、
    前記制御命令が前記コントローラへ送信された後に、該コントローラから該制御命令に対する制御結果の通知を受信するための制御結果通知受信部とを更に含み、
    前記アグリゲータの前記集約部は、複数の前記制御命令を、一つの集約済み制御命令に集約するにあたって、各々の前記制御命令に付加されている前記送信者情報をも集約し、
    前記トランスレータは、
    前記制御結果の通知が受信された場合に、前記集約済み制御命令に付加されている前記送信者情報を参照して、該集約済み制御命令に係る各制御命令の送信元であるクライアントへそれぞれ該制御結果を送信するための制御結果送信部を更に含むことを特徴とする請求項1ないし10のいずれか1項に記載のゲートウェイ装置。
  12. 前記第1のネットワークは制御系ネットワークであり、第2のネットワークはOA系ネットワークであることを特徴とする請求項1ないし11のいずれか1項に記載のゲートウェイ装置。
  13. 一つ以上の設備機器に対する制御命令を実行するための一つ以上のコントローラが接続される第1のネットワークと、制御命令を送信する一つ以上のクライアントが接続される第2のネットワークとの境界に位置し、制御命令をプロトコル変換するためのトランスレータと、制御命令を集約するための一つ以上のアグリゲータとを備えたゲートウェイ装置の制御命令処理方法であって、
    前記トランスレータの備える収集部が、各々の前記コントローラについて、当該コントローラ内部の負荷状態に関する情報である負荷情報を収集するステップと、
    前記トランスレータの備える制御命令受信部が、前記第2のネットワークを介して前記クライアントから所望の設備機器に対する制御命令を受信するステップと、
    前記トランスレータの備える判定部が、前記制御命令が受信された場合に、該制御命令が対象とする設備機器に対応するコントローラの前記負荷情報に基づいて、該制御命令を集約の対象にするか否か判定するステップと、
    前記トランスレータの備える第1の集約対象制御命令令転送部が、集約の対象にすると判定された場合に、前記制御命令を、該制御命令に対応する前記アグリゲータに転送するステップと、
    前記アグリゲータの備える第2の集約対象制御命令令転送部が、前記トランスレータから前記制御命令の転送を受けるステップと、
    前記アグリゲータの備える集約部が、複数の前記制御命令を、一つの集約済み制御命令に集約するステップと、
    前記アグリゲータの備える第1の集約済み制御命令令転送部が、前記集約済み制御命令令を前記トランスレータに転送するステップと、
    前記トランスレータの備える第2の集約済み制御命令令転送部が、前記アグリゲータから集約済み制御命令の転送を受けるステップとを有することを特徴とする制御命令処理方法。
  14. 一つ以上の設備機器に対する制御命令を実行するための一つ以上のコントローラが接続される第1のネットワークと、制御命令を送信する一つ以上のクライアントが接続される第2のネットワークとの境界に位置し、制御命令をプロトコル変換するためのトランスレータと、制御命令を集約するための一つ以上のアグリゲータとを備えたゲートウェイ装置としてコンピュータを機能させるためのプログラムであって、
    各々の前記コントローラについて、当該コントローラ内部の負荷状態に関する情報である負荷情報を収集するための前記トランスレータの収集部と、
    前記第2のネットワークを介して前記クライアントから所望の設備機器に対する制御命令を受信するための制御命令受信部と、
    前記制御命令が受信された場合に、該制御命令が対象とする設備機器に対応するコントローラの前記負荷情報に基づいて、該制御命令を集約の対象にするか否か判定するための判定部と、
    集約の対象にすると判定された場合に、前記制御命令を、該制御命令に対応する前記アグリゲータに転送するための第1の転送部と、
    前記アグリゲータから集約済み制御命令の転送を受けるための第2の転送部とを含むトランスレータと
    前記トランスレータから前記制御命令の転送を受けるための第3の転送部と、
    複数の前記制御命令を、一つの集約済み制御命令に集約するための集約部と、
    前記集約済み制御命令令を前記トランスレータに転送するための第4の転送部とを含むアグリゲータとをコンピュータに機能させるためのプログラム。
JP2008081012A 2008-03-26 2008-03-26 ゲートウェイ装置、制御命令処理方法及びプログラム Expired - Fee Related JP5127528B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008081012A JP5127528B2 (ja) 2008-03-26 2008-03-26 ゲートウェイ装置、制御命令処理方法及びプログラム
US12/407,855 US7984135B2 (en) 2008-03-26 2009-03-20 Gateway apparatus, control instruction processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008081012A JP5127528B2 (ja) 2008-03-26 2008-03-26 ゲートウェイ装置、制御命令処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2009239478A JP2009239478A (ja) 2009-10-15
JP5127528B2 true JP5127528B2 (ja) 2013-01-23

Family

ID=41118919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008081012A Expired - Fee Related JP5127528B2 (ja) 2008-03-26 2008-03-26 ゲートウェイ装置、制御命令処理方法及びプログラム

Country Status (2)

Country Link
US (1) US7984135B2 (ja)
JP (1) JP5127528B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5072666B2 (ja) * 2008-03-13 2012-11-14 株式会社東芝 設備機器連携システム及び機器制御方法並びにエージェント装置
JP5214685B2 (ja) * 2010-09-08 2013-06-19 株式会社東芝 情報収集装置、情報収集プログラム、及びビル管理システム
JP5214686B2 (ja) * 2010-09-08 2013-06-19 株式会社東芝 情報収集装置、情報収集プログラム、及びビル管理システム
US8768493B2 (en) 2012-04-25 2014-07-01 Lumenpulse Lighting Inc. Power line light controller system and method
US9699862B2 (en) 2012-05-07 2017-07-04 Lumenpulse Lighting, Inc. Power line non-lighting application controller system and method
JP2014018044A (ja) * 2012-07-11 2014-01-30 Kyocera Corp 電力制御システム及び電力制御システムの制御方法
JP2017108291A (ja) * 2015-12-09 2017-06-15 株式会社東芝 ゲートウェイ、要求生成方法及びコンピュータプログラム
CN105721554A (zh) * 2016-01-25 2016-06-29 国网福建省电力有限公司 一种基于动词和名词的配电网业务消息流的生成方法
JP6874084B2 (ja) * 2019-10-02 2021-05-19 株式会社東芝 ゲートウェイ、要求生成方法及びコンピュータプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020026533A1 (en) * 2000-01-14 2002-02-28 Dutta Prabal K. System and method for distributed control of unrelated devices and programs
JP4586280B2 (ja) * 2001-02-19 2010-11-24 ダイキン工業株式会社 設備機器の管理システム
CA2480551A1 (en) * 2002-03-28 2003-10-09 Robertshaw Controls Company Energy management system and method
FR2859341A1 (fr) * 2003-08-27 2005-03-04 Thomson Licensing Sa Methode de controle entre appareils connectes a un reseau heterogene et appareil implementant la methode
JP4534719B2 (ja) 2004-10-29 2010-09-01 株式会社富士通ゼネラル ゲートウェイ装置
JP4816039B2 (ja) * 2005-12-05 2011-11-16 東芝ライテック株式会社 照明制御システム

Also Published As

Publication number Publication date
US7984135B2 (en) 2011-07-19
JP2009239478A (ja) 2009-10-15
US20090249042A1 (en) 2009-10-01

Similar Documents

Publication Publication Date Title
JP5127528B2 (ja) ゲートウェイ装置、制御命令処理方法及びプログラム
US7516187B2 (en) Remote control system for home appliance network and method for operating the same
JP6378057B2 (ja) 接続制御装置、接続制御方法、接続制御システムおよびコンピュータプログラム
JP5002647B2 (ja) ネットワークを管理するシステム及び方法
US9973567B2 (en) System and method for terminal management in a home network using a virtual client
US7693934B2 (en) Network device, system and method for providing list of controlled devices
JP4456095B2 (ja) ホームネットワークで第3の装置のイベントを処理する方法及び装置
KR20070042771A (ko) 홈 네트워크에서 디바이스를 독점적으로 제어하기 위한방법 및 장치
EP2840741B1 (en) Method and apparatus for using service of home network device based on remote access
KR101761495B1 (ko) 다수의 서버-클라이언트 세션을 감소시키기 위한 방법 및 시스템
JP2004186717A (ja) 通信制御方法、サーバ機器、及びクライアント機器
KR20100128370A (ko) 원격 유저 인터페이스를 지원하는 홈 네트워크에서 이벤트 처리 방법 및 이를 위한 장치
JP5038956B2 (ja) ネットワークシステム
JP2009031898A (ja) 情報退避システム、サーバ、サーバプログラム、クライアント及びクライアントプログラム
JP7028025B2 (ja) 情報処理システム、エッジ装置、および情報処理方法
JP5394704B2 (ja) 情報通信システム、及びソフトウェア更新方法
KR20150085464A (ko) 서버 연결 장치 및 방법
JP2015111330A (ja) 端末装置、通信システム及び通信プログラム
JP5714067B2 (ja) 通信システム、サーバ装置、制御方法、およびプログラム
CN110636104B (zh) 一种资源请求方法、电子设备及存储介质
JP5940566B2 (ja) ネットワークシステム、常時接続方法、サーバ、電子機器、プログラム
KR101589385B1 (ko) 컨트롤러와 네트워크 장치 간 이벤트를 처리하는 방법
TWI479863B (zh) 通訊終端以及通訊方法
KR100637703B1 (ko) 홈 네트워크 환경에서 데이터 분배를 위한 서버,클라이언트, 데이터 분배 시스템 및 그 방법
CN109951361B (zh) 家电产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101015

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120615

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121002

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121030

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees