CN114450928A - 向控制设备供应多个基于云的服务 - Google Patents
向控制设备供应多个基于云的服务 Download PDFInfo
- Publication number
- CN114450928A CN114450928A CN202080068298.3A CN202080068298A CN114450928A CN 114450928 A CN114450928 A CN 114450928A CN 202080068298 A CN202080068298 A CN 202080068298A CN 114450928 A CN114450928 A CN 114450928A
- Authority
- CN
- China
- Prior art keywords
- control
- control device
- devices
- provisioning
- remote server
- 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.)
- Pending
Links
- 239000002131 composite material Substances 0.000 claims description 11
- 238000013475 authorization Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 abstract description 118
- 238000000034 method Methods 0.000 abstract description 20
- 230000004044 response Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 230000008859 change Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 230000001351 cycling effect Effects 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 230000033228 biological regulation Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000004378 air conditioning Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000009423 ventilation Methods 0.000 description 2
- 241000599985 Beijerinckia mobilis Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003760 hair shine Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/37—Managing security policies for mobile devices or for controlling mobile applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/63—Location-dependent; Proximity-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/71—Hardware identity
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/26—Pc applications
- G05B2219/2642—Domotique, domestic, home control, automation, smart house
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Abstract
本文公开了用于供应服务例如代理供应者服务(BPS)的系统和方法,用于向一个或多个远程服务器供应设备(例如,控制设备和/或移动设备)。该设备可以向BPS发送连接请求消息,以便供应远程服务器(例如,由远程服务器提供的一个或多个服务)。BPS可以例如基于供应规则来确定与可以向该设备供应的相应远程服务器相关联的一个或多个服务和/或代理。BPS可应用供应规则来确定适当的服务和/或代理以及可向该设备供应的相应远程服务器。BPS可以向设备发送供应消息。该设备可以与所供应的服务和/或代理和/或相应的远程服务器建立通信。
Description
相关申请的交叉引用
本申请要求2019年7月26日提交的美国临时申请No.62/879,166的权益,其内容以全文引用的方式并入到本文中。
背景技术
负载控制环境,例如住宅、办公楼或旅馆,可以被配置为包括各种类型的负载控制系统。负载控制环境可以包括与输入设备相关联的控制设备,用于传送用来控制电负载的控制指令。例如,照明控制系统可用于控制用户环境中的照明负载。机动化窗帘控制系统可用于控制提供给用户环境的自然光。加热、通风和空气调节(HVAC)系统可用于控制用户环境中的温度。
发明内容
本文公开了用于经由代理服务与远程服务器建立通信信道的控制设备的系统和方法。控制设备可以与代理服务例如代理供应者服务(BPS)连接。代理服务或BPS可以从控制设备接收消息,消息指示控制设备希望被供应并与所供应的远程服务器通信。BPS可以具有关于控制设备可以连接到的远程服务器的信息。例如,BPS可以从远程服务器(例如,周期性地)接收指示由远程服务器提供的一个或多个服务的消息。BPS可以供应(例如,便于)控制设备与远程服务器之间的连接。
控制设备可以向BPS发送连接请求消息。控制设备可以在控制设备首次通电时、或在电力循环(power cycle)之后、或周期性地向BPS发送连接请求消息。控制设备可以包括关于控制设备的信息,诸如设备ID、设备类型、序列号、MAC地址、位置信息、授权信息等,这些信息向BPS识别控制设备。
BPS可以具有关于控制设备可以连接到的远程服务器的信息。例如,BPS可以接收关于远程服务器提供的一个或多个服务的信息。BPS可以具有与控制设备可以连接到的相应远程服务器相关联的一个或多个代理。BPS可以确定控制设备可以被供应以建立通信的一个或多个服务/代理和相应远程服务器(例如,响应于从控制设备接收到连接请求消息)。例如,BPS可以基于关于控制设备的信息通过应用供应规则来确定控制设备可以与之通信的远程服务器集。基于这种确定,BPS可以执行供应过程。例如,BPS可以向服务/代理和相应的远程服务器(例如,代表控制设备)发送连接建立请求消息。
BPS可以向控制设备发回供应消息。供应消息可以包括关于由BPS在控制设备与服务/代理以及相应远程服务器之间供应的连接的信息。供应消息可以包括用于控制设备的关于如何连接到所供应的远程服务器的信息。例如,供应消息可以包括服务ID、代理ID、主题ID、订阅凭证等。供应消息还可以包括对控制设备连接到所供应的一个或多个(例如,每个)服务/代理的指示。供应消息可以包括连接到所供应的服务/代理中的任一个的指示。供应消息可以包括连接到所供应的服务/代理的复合集的指示。服务代理的复合集可以指示控制设备连接到与远程服务器相关联的一个或多个代理,并连接到与另一远程服务器相关联的一个或多个代理。
当控制设备连接到BPS并且BPS确定并执行控制设备与远程服务器之间的通信建立时,如果远程服务器和/或服务上发生任何变化,则控制设备可以快速且高效地更新远程服务器和/或服务。
控制设备可执行多服务器固件,并基于供应消息建立与远程服务器上的服务的通信。控制设备可以在由多个远程服务器(例如,由BPS供应的远程服务器)提供的多个服务上建立多个并行连接。
控制设备、BPS与远程服务器之间的通信可以通过基于消息传递的接口,例如消息队列遥测传输(MQTT)接口来完成。
上述特征是代表性实施例,并且可以不认为是限制。
附图说明
图1是示出示例负载控制系统的系统图。
图2A和图2B是示出使用基于消息传递的接口与负载控制系统通信和控制负载控制系统的系统的系统图。
图3A是示出使用基于消息传递的接口在控制设备、代理供应者服务(BPS)和/或远程服务器之间通信的系统的系统图。
图3B是示出使用基于消息传递的接口在控制设备、移动设备、BPS和/或远程服务器之间进行通信的系统的系统图。
图4是示例网络设备的框图;
图5是示例系统控制器的框图;
图6是示例控制-目标设备的框图。
图7是示例控制-源设备的框图。
具体实施方式
图1示出示例负载控制系统100的系统图。负载控制系统100可以包括控制设备(例如,系统控制器150、输入设备和/或负载控制设备),用于控制(例如,直接和/或间接)用户环境102(在此也称为负载控制环境)中的一个或多个电负载。示例用户环境/负载控制环境102可以包括家庭的一个或多个房间、建筑物的一个或多个楼层、酒店的一个或多个房间等。作为一个示例,负载控制系统100可以实现对用户环境中的照明系统、遮帘、以及加热、通风和空气调节(HVAC)系统以及其他电负载的自动化控制。
负载控制系统100的控制设备可以包括系统控制器150、控制-源设备(例如,下面讨论的元件108、110、120和122)、以及控制-目标设备(例如,下面讨论的元件112、113、116、124和126)(控制-源设备和控制-目标设备在此可以个别地和/或统称为负载控制设备和/或控制设备)。系统控制器150、控制-源设备和控制-目标设备可以被配置为使用无线信号154(例如,射频(RF)信号)在彼此之间传送(发送和/或接收)诸如数字消息(尽管可以传送其他类型的消息)的消息,尽管也可以使用有线通信。
控制-源设备可以包括,例如,输入设备,其被配置为检测用户环境102内的条件(例如,经由开关的用户输入、占用/空置条件、测量的光强度的变化和/或其他输入信息),并响应于检测到的条件,将数字消息传输到控制-目标设备,控制-目标设备被配置为响应于在数字消息中接收的指令或命令来控制电负载。控制-目标设备可以包括,例如,负载控制设备,其被配置为从控制-源设备和/或系统控制器150接收数字消息,并响应于接收的数字消息来控制相应的电负载。负载控制系统100的单个控制设备可以作为控制-源设备和控制-目标设备这两者操作。
根据一个示例,系统控制器150可以被配置为接收由控制-源设备传输的数字消息,基于负载控制系统的配置来解释这些消息,然后将数字消息传输到控制-目标设备,用于控制-目标设备然后控制相应的电负载。换句话说,控制-源设备和控制-目标设备可以经由系统控制器150进行通信。根据另一个和/或附加示例,控制-源设备可以直接与控制-目标设备通信,而无需系统控制器150的帮助。系统控制器仍然可以监测这样的通信。根据另一个和/或附加示例,系统控制器150可以产生数字消息,然后与控制-源设备和/或控制-目标设备传送数字消息。由系统控制器150进行的这种通信可以包括用于控制设备的编程/配置数据(例如,设置),例如配置在灯开关上的场景按钮。来自系统控制器150的通信还可以包括,例如,引导至控制-目标设备的消息,并且该消息包含用于控制-目标设备响应于所接收到的消息来控制相应的电负载的指令或命令。例如,系统控制器150可以传送消息以改变光线水平、改变遮蔽水平、改变HVAC设置等。这些是示例,其他示例也是可能的。
系统控制器150、控制-源设备与控制-目标设备之间的通信可以经由如上所指示的有线和/或无线通信网络。无线通信网络的一个示例可以是无线LAN,其中系统控制器、控制-源设备和控制-目标设备可以经由例如用户环境102本地的路由器进行通信。例如,这样的网络可以是标准Wi-Fi网络。无线通信网络的另一示例可以是点对点通信网络,其中系统控制器、控制-源设备和控制-目标设备使用例如蓝牙、Wi-Fi Direct、Thread、Zigbee、诸如CLEAR ConnectTM等专有通信信道直接通信而直接彼此通信。无线通信网络的另一示例可以使用射频(RF)通信,例如Zigbee通信、近场通信(NFC)、蓝牙、Wi-Fi等。可以使用其他网络配置,例如系统控制器充当接入点并提供一个或多个基于无线/有线的网络,系统控制器、控制-源设备和控制-目标设备可以通过这样的网络进行通信。
为了使控制-目标设备响应来自控制-源设备的消息,控制-源设备可以首先与控制-目标设备相关联。作为关联过程的一个示例,可以通过用户142致动控制-源设备和/或控制-目标设备上的按钮来将控制-源设备与控制-目标设备关联。控制-源设备和/或控制-目标设备上的按钮的致动可将控制-源设备和/或控制-目标设备置于关联模式中以便彼此关联。在关联模式中,控制-源设备可以(直接或通过系统控制器)向控制-目标设备传输关联消息。来自控制-源设备的关联消息可以包括控制-源设备的唯一标识符。控制-目标设备可以本地存储控制-源的唯一标识符,使得控制-目标设备能够认识来自控制-源设备的数字消息(例如,后续数字消息),数字消息可以包括负载控制指令或命令。控制-目标设备可以被配置为通过根据在数字消息中接收的负载控制指令控制相应电负载来响应来自相关联的控制-源设备的数字消息。这仅仅是控制设备如何彼此通信和关联的一个示例,其他示例也是可能的。根据另一示例,系统控制器150可以从用户接收配置指令,该配置指令规定哪些控制-源设备应该控制哪些控制-目标设备。此后,系统控制器可以将该配置信息传送到控制-源设备和/或控制-目标设备。
作为控制-目标设备的一个示例,负载控制系统100可以包括一个或多个照明控制设备,例如照明控制设备112和113。照明控制设备112可以是调光器开关、电子开关、镇流器、发光二极管(LED)驱动器和/或类似物。照明控制设备112可以被配置成直接控制提供给(一个或多个)照明负载(例如照明负载114)的功率量。照明控制设备112可以被配置为经由信号154无线地接收数字消息(例如,源自控制-源设备和/或系统控制器150的消息),并响应于所接收的数字消息来控制照明负载114。应认识到,照明控制设备112和照明负载114可以是一体式的,因此是同一灯具(fixture)的一部分,或者可以是分开的。
照明控制设备113可以是壁装式调光器、壁装式开关或用于控制(多个)照明负载(例如照明负载115)的其他键盘设备。照明控制设备113可适于安装在标准的电气壁盒中。照明控制设备113可以包括用于控制照明负载115的一个或多个按钮。照明控制设备113可包括拨动致动器。拨动致动器的致动(例如,连续致动)可以拨动(例如,关断和接通)照明负载115。照明控制设备113可以包括强度调整致动器(例如,摇臂开关或强度调整按钮)。强度调整致动器的上部或下部的致动可分别增加或减少递送到照明负载115的功率量,并因此将照明负载的强度从最小强度(例如,大约1%)增加或减少到最大强度(例如,大约100%)。照明控制设备113可以包括多个(两个或更多个)视觉指示器,例如,发光二极管(LED),其可以布置成线性阵列并且可以点亮以提供照明负载115强度的反馈。
照明控制设备113可以被配置为经由无线信号154无线接收数字消息(例如,源自控制-源设备和/或系统控制器150的消息)。照明控制设备113可以被配置成响应于接收到的数字消息来控制照明负载115。
负载控制系统100可以包括一个或多个其他控制-目标设备,例如用于直接控制覆盖材料118(例如,经由电动马达)的机动化窗帘116;吊扇;用于直接控制落地灯128、台灯和/或可插入到插入式负载控制设备126中的其他电负载的桌面或插入式负载控制设备126;和/或用于直接控制HVAC系统(未示出)的温度控制设备124(例如,恒温器)。负载控制系统100还可以包括音频控制设备(例如,扬声器系统)和/或视频控制设备(例如,能够流式传输视频内容的设备)。同样,这些设备可以被配置成经由无线信号154无线地接收数字消息(例如,源自控制-源设备和/或系统控制器150的消息)。这些设备可以被配置成响应于所接收的数字消息来控制相应的电负载。
控制-目标设备除了被配置为经由无线信号无线地接收数字消息并响应于所接收的数字消息控制相应电负载之外,还可以被配置为经由无线信号无线地传输数字消息(例如,向系统控制器150和/或相关联的控制设备)。控制-目标设备可以传送这样的消息以确认接收到消息和所采取的动作,以报告状况(例如,光线水平、遮帘位置、室温)等。同样,控制-目标设备也可以经由有线通信进行通信。
关于控制-源设备,负载控制系统100可以包括一个或多个远程控制设备122、一个或多个占用传感器110、一个或多个日光传感器108和/或一个或多个窗口传感器120。控制-源设备可以经由诸如信号154等无线信号向相关联的控制-目标设备无线地发送或传送数字消息,以用于控制电负载。远程控制设备122可以在远程控制设备122上的一个或多个按钮被致动之后发送用于控制一个或多个控制-目标装置的数字消息。例如,一个或多个按钮可以对应于用于控制照明负载115的预设场景。占用传感器110可响应于在其可观察区域内感测到的占用和/或空置状态(例如,移动或缺乏移动)向控制-目标设备发送数字消息。日光传感器108可响应于检测到其可观察区域内的光量而向控制-目标设备发送数字消息。窗口传感器120可以响应于从用户环境102外部接收的测量的光线水平向控制-目标设备发送数字消息。例如,窗口传感器120可以检测阳光何时直接照射到窗口传感器120、何时反射到窗口传感器120上、和/或何时被外部装置(例如云、树或建筑物)阻挡。窗口传感器120可以发送指示所测量的光线水平的数字消息。负载控制系统100可以包括一个或多个其他控制-源设备。同样,人们将认识到控制-源设备也可以经由有线通信进行通信。
再次转向系统控制器150,它可以便于从控制-源设备到相关联的控制-目标设备的消息传送和/或监测如上所指示的此类消息,从而知道控制-源设备何时检测到事件以及控制-目标设备何时正在改变电负载的状况/状态。系统控制器150可以向控制设备传送编程/配置信息。系统控制器150也可以是控制-目标设备的控制消息的来源,例如,指导该设备控制相应电负载。作为后者的一个示例,系统控制器150可以运行一个或多个时间时钟操作,其基于配置的时间表(例如,到照明控制设备113以调整灯115的命令,到机动化窗帘116直接控制覆盖材料118的命令等)自动地将消息传送到控制-目标设备。出于描述目的,这里可以使用遮帘来描述与机动化窗帘有关的功能和特征。然而,将认识到,这里描述的特征和功能适用于其他类型的窗户覆盖物,例如帘布、窗帘、百叶窗等。其他示例是可能的。
根据负载控制系统100的另一个方面,系统控制器150可被配置为例如与用户142使用的一个或多个网络设备144通信。网络设备144可以包括个人计算机(PC)、膝上型计算机、平板电脑、智能电话或等效设备。系统控制器150和网络设备144可以经由有线和/或无线通信网络进行通信。通信网络可以是由系统控制器和控制设备使用的相同网络,或者可以是不同的网络(例如,使用无线信号152的无线通信网络)。作为一个示例,系统控制器150和网络设备144可以通过无线LAN(例如,在用户环境102的本地)进行通信。例如,这样的网络可以是由用户环境102本地的路由器提供的标准Wi-Fi网络。作为另一示例,系统控制器150和网络设备144可以使用例如蓝牙、Wi-Fi Direct等直接彼此通信。其他示例是可能的,例如系统控制器充当接入点并提供一个或多个基于无线/有线的网络,系统控制器和网络设备可以通过这样的网络通信。
总的来说,系统控制器150可以被配置成允许网络设备144的用户142确定,例如,用户环境102和负载控制系统100的配置,例如环境中的房间,哪些控制设备在哪些房间中(例如,控制设备在用户环境中的位置,例如,哪些房间),以确定控制设备的状况和/或配置(例如,光线水平、HVAC水平、遮蔽水平),配置系统控制器(例如,改变时间时钟时间表),向系统控制器发出控制和/或配置控制设备(例如,改变光线水平、改变HVAC水平、改变遮蔽水平、改变预设等)的命令等等。其他示例也是可能的。
图1的负载控制系统100可以被配置为使得当网络设备144在系统控制器的本地时,系统控制器150能够与该设备进行通信,换句话说,使得两者以点对点的方式直接通信,或者通过特定于用户环境102的本地网络(例如由用户环境的本地路由器提供的网络)进行通信。网络设备144的用户可以与系统控制器150通信,并从远程位置例如经由因特网或其他公共或专用网络来控制负载控制系统100。第三方集成器(integrator)可以与系统控制器150通信,以便向用户环境102的用户提供增强的服务。例如,第三方集成器可以提供用户环境102内的其他系统。将这样的系统与负载控制系统100集成可能是有益的。
远程服务器160可以是在线平台服务提供商,提供诸如云服务的服务。尽管示出了单个远程服务器160,但可以实施一个或多个远程服务器或计算设备。作为示例,远程服务器160可以是或可以包括Amazon Web服务(AWS)、Xively服务、Microsoft服务和/或类似的在线平台服务。远程服务器160可以具有经由代理服务(例如,诸如下面讨论的代理供应者服务(BPS))与控制设备(例如,系统控制器150、控制-源设备和/或控制-目标设备)和/或网络设备144建立的通信信道或隧道。一旦建立了远程服务器160与控制设备和/或网络设备144之间的连接,远程服务器160就可以使用基于消息的接口与控制设备和/或网络设备144通信。例如,远程服务器160可以经由消息队列遥测传输(MQTT)接口与控制设备和/或网络设备144通信。这里描述的MQTT接口作为示例提供;但是,也可以使用其他基于消息传递的接口。
可能希望与来自远程服务器的设备/系统通信并控制来自远程服务器的设备/系统。远程服务器可以是基于在线的平台服务提供商,提供在线服务,例如云服务。控制系统可以被配置成直接连接到远程服务器并通过远程服务器通信和/或控制这些控制设备。控制设备/控制系统连接到和/或订阅的远程服务器可能存在问题。例如,远程服务器可能出现故障并离线一段时间。拥有远程服务器的服务提供商可能会倒闭、被出售给另一家公司、不再为远程服务器提供服务等。
可能需要更改或重新分配远程服务器,例如远程服务器提供的云服务,以高效地控制这些控制系统。例如,如果控制系统被订阅并与远程服务器通信,并且远程服务器不再可用于提供服务,那么控制系统中的控制设备中的每个控制设备可能必须打补丁以改变并用新的远程服务器重新配置。为控制系统提供补丁以便在每次服务更改时与不同的云服务通信可能是耗时且低效的。可能需要为每个控制系统和控制系统中的每个控制设备创建补丁。补丁可以经由互联网应用。补丁可能需要经由技术人员进行应用。补丁可能无法正常工作,技术人员可能需要个别地解决这些问题。此外,即使在应用补丁之后,控制系统新订阅的新远程服务器也可能遇到相同或类似的问题,例如故障、离线和/或结束其服务,并且针对另一远程服务器,控制系统可能需要再次经历相同的耗时过程。
还可能需要快速重新配置远程服务器以控制系统。如上文所描述,即使在控制系统上应用补丁以重新配置它们到新远程服务器的连接之后,该新远程服务器也可能离线和/或不再提供服务。可能需要为控制系统创建并应用新的补丁。控制系统可能需要重新配置以订阅另一远程服务器和/或与另一远程服务器连接。必须解决由于应用新补丁和/或重新配置控制系统而可能出现的问题。
此外,可能需要控制系统同时连接到多个远程服务器(例如,云服务),这取决于控制系统的类型和/或控制系统与远程服务器之间的数据通信的重要程度。由于控制系统和/或通信条件可能突然改变,因此可能需要控制系统快速且容易地适应变化,具有多个并行连接,和/或具有与多个远程服务器的连接等。
如下文所讨论,本文公开的系统和方法可以具有控制设备和/或移动设备,该控制设备和/或移动设备经由诸如BPS的代理服务与一个或多个远程服务器建立通信信道。BPS可以向设备(例如,控制设备和/或移动设备)供应远程服务器和由远程服务器提供的相关联服务。
图2A和图2B示出了示例系统200的两个可能实施例。系统200可以包括一个或多个控制设备210a、210b。系统200可以包括代理服务,例如BPS 220。系统200可以包括一个或多个用户设备,例如移动设备270a、270b。出于描述目的,移动设备270a、270b可在此用于描述用户设备。系统200可包括一个或多个远程服务器240、250。每个远程服务器240、250可以包括一个或多个代理242a、242b、244a、244b、252a、252b、254a、254b。例如,代理242a、242b、244a、244b、252a、252b、254a、254b可以是物联网(IoT)代理。系统200可以包括连接到与远程服务器240、250相关联的一个或多个代理244a、244b、254a、254b的第三方设备,例如移动设备或网络设备260a、260b。图2A和2B所示的系统200中的通信可以使用消息队列遥测传输(MQTT)接口。这里描述的MQTT接口作为示例提供;但是,也可以使用其他基于消息传递的接口。
这里描述的代理(例如,IoT代理)可以发布和/或订阅代理服务。代理可以协调一个或多个设备(例如,控制设备和/或移动设备)与在远程服务器提供的一个或多个服务之间的消息,和/或在设备(例如,控制设备和/或移动设备)之间的消息。代理可能正在运行(例如,不断运行)。
控制设备210a、210b可以包括系统控制器、控制-源设备、控制-目标设备和/或类似设备(例如,如上文所描述)。为了访问一个或多个远程服务(例如,连接到远程服务器,例如远程服务器240或250),设备(例如,控制设备210a、210b和/或移动设备270a、270b)可以连接到代理服务,例如BPS 220。例如,控制设备210a、210b和/或移动设备270a、270b可以通过发送连接请求消息212a、212b、272a、272b来连接到BPS 220。如下文所讨论,连接请求消息212a、212b、272a、272b可以包括关于将经由BPS 220被供应远程服务器集合并与远程服务器通信的设备的信息(例如,在BPS 220供应该远程服务器集合之后)。
BPS 220可以代表其他设备执行供应过程,以供应(例如,调节)设备如何与远程服务器240、250提供的服务对接。BPS 220可以将控制设备210a供应给远程服务器240、250,使得控制设备210a可以经由代理242a、252a与远程服务器240、250提供的服务通信(例如,订阅服务)。BPS 220可以将控制设备210b供应给远程服务器240,使得控制设备210b可以经由代理242b与远程服务器240提供的服务通信(例如,订阅服务)。尽管未在图2B中示出,但是控制设备210a、210b可以被供应远程服务器240、250,并且可以经由代理242a、242b、252a、252b中的一个或多个与远程服务器240、250提供的服务通信。控制设备210a、210b可以使用代理242a、242b、252a、252b从远程服务器240、250接收所发布的信息或将信息发布到远程服务器240、250。控制设备210a、210b可以基于由BPS 220执行的供应过程访问位于由不同远程服务器240、250提供的不同云服务的一部分的代理242a、242b、252a、252b处可用的信息。例如,控制设备210a可以使用远程服务器240上的代理(例如,代理242a)来接收移动设备(例如,设备270a)的用户发布控制消息以关断控制设备210a所控制的灯的信息。控制设备210b可以向远程服务器250上的服务发布负载控制消息(例如,尽管在图2B的示例中未示出,但控制设备210b可以与远程服务器250和/或代理252b连接)。从控制设备210b到远程服务器250上的服务(例如,经由代理252b)发布的负载控制消息可以被发送到移动设备270a。
BPS 220可以是全局和/或本地可用的。例如,BPS 220可以是全局可用的,从而可以向设备供应本地可用的远程服务器和/或遵循本地政府法规,如下文所讨论。BPS 220可以在本地可用,并且BPS可以向设备供应本地可用的远程服务器和/或遵循本地法规。BPS220可以向订阅设备供应与远程服务器相关联的云服务集合。BPS 220可以是基于web的。BPS 220可以是系统和/或软件套件的一部分。
BPS 220可以具有关于控制设备210a、210b和/或移动设备270a、270b的信息以及关于远程服务器240、250提供的服务的信息。例如,BPS 220可以具有关于用于接收不同信息的不同主题的信息或访问远程服务器240、250上的不同服务。BPS 220可以基于存储在远程服务器240上的限定的供应规则225在远程服务器240和/或远程服务器250上供应不同的服务。供应规则225可以例如基于在相应的连接请求212a、212b、272a、272b中提供的信息来限定BPS 220使哪些远程服务器可用于与控制设备210a、210b和/或移动设备270a、270b连接。基于供应规则225,BPS 220可以向控制设备210a、210b和/或移动设备270a、270b提供信息,以订阅用于接收不同信息的不同主题,和/或允许访问远程服务器240、250上的不同服务。
BPS 220可以从远程服务器接收指示远程服务器处可用的一个或多个服务的信息。BPS 220可以具有用于要向设备(例如,控制设备210a、210b和/或移动设备270a、270b)供应的可用服务和相应远程服务器的信息。
供应规则225可以配置BPS 220以代表控制设备210a、210b和/或移动设备270a、270b向远程服务器240、250发送连接建立消息。供应规则225可以基于关于控制设备210a、210b和/或移动设备270a、270b的信息来配置。例如,供应规则225可将BPS 220配置为基于来自请求由BPS 220供应的相应控制设备210a、210b和/或移动设备270a、270b的连接请求消息212a、212b、272a、272b发送连接建立消息。例如,来自相应控制设备210a、210b和/或移动设备270a、270b的连接请求消息212a、212b,272a、272b中的每个可以包括控制设备ID,控制设备类型、序列号、MAC地址、通用标识符、授权信息、位置信息等。即,每个连接请求消息212a、212b、272a、272b可以包括诸如设备位于何处(例如,发起连接请求)、哪些设备正在请求供应、移动设备是否具有使用/控制相关联设备(例如负载控制设备)的权限等信息。基于连接请求消息212a、212b、272a、272b中包括的信息,BPS 220可以具有关于哪些控制设备210a、210b和/或哪些移动设备270a、270b正在请求与服务的连接、控制设备正在从哪里请求连接、和/或控制设备是否具有授权的信息。基于控制设备210a、210b和/或移动设备270a、270b的信息,供应规则225配置BPS 220以将连接建立消息230a-230d发送到适当的远程服务器240、250(例如,每个可用于控制设备210a、210b和/或移动设备270a、270b)。
向控制设备210a、210b和/或移动设备270a、270b提供服务的远程服务器240、250可以是在线平台服务提供商。远程服务器240、250提供的服务可以是云服务。远程服务器240、250可以是提供云服务的商业上可用的在线平台服务。每个远程服务器240、250可以提供不同的云服务。每个远程服务器240、250可以提供远程服务器240、250之间的重叠云服务。每个远程服务器240、250可以提供不同的连接速度。每个远程服务器240、250可以具有不同的存储容量。每个远程服务器240、250可以基于连接速度、存储容量等具有不同的定价计划。例如,远程服务器240可以具有比远程服务器250更高的定价计划,但连接速度更快。
基于关于控制设备210a、210b和/或移动设备270a、270b的信息、关于远程服务器240、250的信息和/或供应规则225,BPS 220可以确定远程服务器240、250上的哪些相应服务要向设备供应。BPS 220可以向诸如控制设备210a、210b和/或移动设备270a、270b之类的设备提供连接或供应信息(例如,经由图2B中所示和下面讨论的供应消息222a、222b、274a、274b)。基于来自BPS 220的供应信息,控制设备210a、210b和/或移动设备270a、270b可以与远程服务器240、250建立连接。例如,来自BPS 220的供应信息可以包括指令(例如,协议、地址、端口、通信信道等)、凭证信息(例如,证书、用户名、密码等)和/或类似的信息。控制设备210a、210b和/或移动设备270a、270b可以使用供应信息来尝试和建立与所供应的远程服务器(例如,以及由所供应的远程服务器提供的服务)的连接。控制设备210a、210b可以各自执行多服务器固件,并尝试和建立与由远程服务器240、250提供的供应的服务的通信信道。如下文所讨论,驻留在控制设备210a、210b上的多服务器固件可以确定来自BPS 220的所供应的远程服务集合的子集,并且可以具有与远程服务器240、250所提供的多个服务的并行连接。例如,多服务器固件可以确定与所供应的远程服务器中的一个或多个(例如,每个),所供应的远程服务器中的任一个,或所供应的远程服务器的复合集通信。控制设备210a、210b可以具有与远程服务器240、250之间提供的多个服务(例如,由同一远程服务器提供的一个或多个服务或由不同远程服务器提供的一个或多个服务)的并行连接。
多服务器固件可以配置控制设备210a、210b以例如同时从与所供应的远程服务器相关联的一个或多个代理发送和/或接收数据。例如,所发送和/或接收的数据对于所供应的代理中的每个可以是相同的。例如,发送和/或接收的数据可以不同于所供应的代理中的每一个。如果在通信期间和/或在初始连接设置时出现任何问题,则多服务器固件可以建立与一个或多个其他供应的代理和/或其他供应的远程服务器的替代连接。例如,如果控制设备210a被供应在相应远程服务器240、250中的代理服务242a、252a,则控制设备210a可以经由多服务器固件连接到与远程服务器240相关联的代理242a。如果多服务器固件检测到远程服务器240和/或代理242a的任何问题,则作为替代方案,多服务器固件可以与远程服务器250所关联的另一供应的代理252a连接。多服务器固件可以周期性地检查其他代理,并确定先前的远程服务器和/或代理(例如,代理242a和/或远程服务240)的问题是否已经解决。如果问题已经解决,则多服务器固件可以与先前远程服务器和/或代理(例如,代理242a和/或远程服务240)连接,或者与当前远程服务器和/或代理(例如,代理252a和/或远程服务250)保持连接。
控制设备210a、210b和/或移动设备270a、270b可以各自向BPS 220发送连接请求消息212a、212b、272a、272b。设备可以在连接请求消息212a、212b、272a、272b中包括关于设备的信息。例如,控制设备210a、210b和/或移动设备270a、270b可以包括设备ID、设备类型、序列号、MAC地址、通用标识符、授权信息、位置信息等。设备可以各自向BPS 220发送可以识别哪些设备正在请求供应的信息和正在发起请求的设备的位置信息。
如本文所描述,设备(例如,控制设备210a、210b和/或移动设备270a、270b)可以连接到BPS 220。例如,在设备的初始通电期间(例如,当控制设备210a、210b和/或移动设备270a、270b第一次通电时),当设备经历电力循环时,和/或周期性地,例如,在预先配置的时间流逝之后,设备可以连接到BPS 220。当设备通电时,设备可以各自连接到BPS 220。例如,当控制设备210a、210b和/或移动设备270a、270b第一次通电时,控制设备210a、210b和/或移动设备270a、270b可以各自自动连接到BPS 220。设备可以在电力循环之后连接到BPS220。例如,当控制设备210a、210b和/或移动设备270a、270b各自重新启动(例如,拔出和重新插入)时,控制设备210a、210b和/或移动设备270a、270b可以自动连接到BPS 220。该设备可以具有先前存储的与先前供应的远程服务器240、250所关联的一个或多个代理242a、242b、252a、252b的连接信息。例如,控制设备210a、210b和/或移动设备270a、270b可以在缓存存储器中具有先前存储的由BPS 220供应的与一个或多个代理242a、242b、252a、252b的连接信息。该设备可以通过连接(例如,重新连接)到BPS 220来接收关于一个或多个代理242a、242b、252a、252b的更新的供应信息。设备可以各自周期性地连接到BPS 220,例如,在预先配置的时间段之后。类似于设备在电力循环之后连接到BPS 220,设备可以在预先配置的时间段之后自动连接到BPS 220,并且可以从BPS 220接收关于代理242a、242b、252a、252b(如果有的话)的更新的供应信息。
当设备(例如,控制设备210a、210b和/或移动设备270a、270b)连接到BPS 220时,设备可以各自发送连接请求消息212a、212b、272a、272b,用于请求连接到由远程服务器240a、240b中的一个或多个提供的一个或多个服务。当与BPS 220连接时,设备还可以发送关于这里描述的设备的信息。如上文所描述,设备可以各自包括关于设备的信息(例如,诸如设备ID、设备类型、序列号、MAC地址、通用标识符、授权信息、位置信息和/或类似信息)。
BPS 220可以执行供应过程以建立设备(例如,控制设备210a、210b和/或移动设备270a、270b)如何与远程服务器240、250提供的服务对接。每个远程服务器240、250可以允许控制设备210a、210b和/或移动设备270a、270b订阅用于接收不同信息的不同主题或访问不同服务。BPS 220可以基于存储在其上的限定的供应规则225供应在远程服务器240和/或远程服务器250上的不同服务。如上文所描述,供应规则225可应用逻辑规则或算法,以基于关于设备的信息和关于远程服务器240、250的信息向设备供应由远程服务器240、250提供的服务。基于供应规则225,BPS 220可以向远程服务器240、250发送连接请求消息230a-230d。发送到远程服务器240、250的连接请求消息230a-230d可以包括一个或多个设备可以与远程服务器建立连接的信息(例如,在设备由BPS服务器供应远程服务器集合之后)。因此,远程服务器240、250可以期望来自连接请求消息230a-230d中包括(例如,识别)的设备的连接请求。
响应于连接请求消息212a、212b、272a、272b,BPS 220可以基于关于设备(例如,控制设备210a、210b和/或移动设备270a、270b)的信息来确定和/或选择与相应远程服务器240、250相关联的一个或多个代理242a、242b、252a、252b。BPS 220可以使用关于设备的一种或多种类型的信息来确定将向设备中的每个供应的一个或多个代理242a、242b、252a、252b以从远程服务器240、250中的一个或多个访问信息和/或服务。例如,BPS 220可基于控制设备210a、210b和/或移动设备270a、270b应该订阅的主题识别用于供应的一个或多个代理242a、242b、252a、252b以访问信息和/或服务(例如,基于供应规则225)。例如,BPS 220可基于位置信息识别最接近控制设备210a、210b和/或移动设备270a、270b的远程服务器240、250。BPS 220可以供应控制设备210a、210b和/或移动设备270a、270b以与位于与控制设备210a、210b和/或移动设备270a、270b相同地理区域中的一个或多个远程服务器连接,以确保一个或多个远程服务器遵守本地政府法规。BPS 220可以确定(例如,基于供应规则225)控制设备210a属于与控制设备210b不同的设备类别或不同的设备类型。基于该确定,BPS220可以确定向控制设备210a供应信息以连接到远程服务器240或远程服务器250(例如当基于针对设备类别、设备类型等供应规则225,控制设备210b被允许连接到远程服务器250时),远程服务器240可以具有高连接速度,远程服务器250可以具有较低的连接速度。在BPS220确定相应的控制设备或移动设备应该连接到一个或多个代理中的哪个之后,BPS 220可以向与远程服务器240、250相关联的适当代理242a、242b、252a、252b发送连接建立消息230a-230d。
BPS 220可以基于存储其上的限定的供应规则225供应在远程服务器240和/或远程服务器250上不同的服务。供应规则225可以配置BPS 220以代表设备(例如,控制设备210a、210b和/或移动设备270a、270b)向远程服务器240、250发送连接建立消息。供应规则225可以基于关于控制设备210a、210b和/或移动设备270a、270b的信息来配置。例如,供应规则225可将BPS 220配置为基于请求与远程服务器240、250上的服务连接的控制设备210a、210b和/或移动设备270a、270b来发送连接建立消息。BPS 220可以基于设备210a、210b、270a、270b提供的设备ID、设备类型、序列号、MAC地址、通用标识符、授权信息、位置信息和/或类似信息,知道哪些设备正在请求与服务的连接,以及设备正在从何处发起连接。基于控制设备210a、210b和/或移动设备270a、270b的信息,供应规则225配置BPS 220向可用远程服务器240、250发送连接建立消息,控制设备210a、210b和/或移动设备270a、270b可以与可用远程服务器240、250建立通信。
基于来自BPS 220的连接建立请求消息230a-230d,每个远程服务器240、250可以允许控制设备210a、210b和/或移动设备270a、270b订阅用于接收不同信息的不同主题或访问不同服务。即,远程服务器240、250可以期望来自控制设备210a、210b和/或移动设备270a、270b的连接请求。如果远程服务器240、250从识别的控制设备210a、210b和/或移动设备270a、270b(例如,从建立请求消息230a-230d识别)接收连接请求,则远程服务器240、250可以允许设备与所供应的服务通信。如果远程服务器240、250从未识别设备接收连接请求(例如,由于来自设备的连接请求的错误或故障),则远程服务器240、250可以阻止来自未识别设备的连接请求。即,远程服务器240、250可以允许来自所供应的设备的通信,所供应的设备由来自BPS 220的连接建立请求消息230a-230d指示。
如图2B所示,BPS 220可以响应于设备210a、210b、270a、270b相应的连接请求消息212a、212b、272a、272b,向每个设备210a、210b、270a、270b发送供应消息222a、222b、274a、274b。供应消息222a、222b、274a、274b可以包括已经由BPS 220供应给控制设备210a、210b和/或移动设备270a、270b的远程服务器240、250集合(例如,以及与远程服务器240、250相关联的代理242a、242b、252a、252b)。供应消息222a、222b、274a、274b可以包括控制设备210a、210b和/或移动设备270a、270b可用于与所供应的远程服务器240、250和/或相关联代理242a、242b、252a、252b建立连接的信息。
供应消息222a、222b、274a、274b可以包括关于BPS 220如何向控制设备210a、210b和/或移动设备270a、270b供应远程服务器240、250的信息(例如,基于供应规则225)。供应规则225可以将BPS 220配置为在供应消息222a、222b、274a、274b上包括到设备的连接信息。BPS 220可以确定将控制设备210a、210b和/或移动设备270a、270b供应给远程服务器240、250集合并通知设备与一个或多个(例如,每个)远程服务器240、250所相关联的一个或多个(例如,每个)代理242a、242b、252a、252b通信(例如,在供应消息222a、222b、274a、274b上)。BPS 220可以确定将控制设备210a、210b和/或移动设备270a、270b供应给远程服务器240,250的集合,并通知设备与相应远程服务器240或相应远程服务器250中的任一者所关联的代理242a、242b、252a、252b中的任一者通信(例如,在供应消息222a、222b、274a、274b上)。BPS 220可以确定将控制设备210a、210b和/或移动设备270a、270b供应给远程服务器240、250集合,并通知设备与远程服务器240、250中的代理242a、242b、252a、252b复合(例如,组合)集合通信(例如,在供应消息222a、222b、274a、274b上)。
作为示例,BPS 220可以具有远程服务器240、250由Amazon Web服务(AWS)、Xively服务、Microsoft服务等操作的信息。基于关于控制设备210a、210b和/或移动设备270a、270b的信息,BPS 220可以向设备供应远程服务器240,250的集合和相关联的服务(例如,基于这里描述的供应规则225和供应过程)。
基于设备信息和供应规则225,BPS 220可以识别建立连接消息并将其发送到设备可以连接到的远程服务器240、250(例如,一旦供应)。例如,基于设备类型和设备的位置,BPS 220可以识别控制设备210a可以与用于AWS 1远程服务器(例如,240)的代理1(例如,242a)和用于Xively 1远程服务器(例如,250)的代理1(例如,252a)建立连接。BPS 220可以将连接建立消息230a、230c发送到远程服务器240、250,为控制设备210a供应远程服务器240、250。当BPS 220将供应消息222a发送回控制设备210a时,BPS 220可供应控制设备210a以连接到所供应的远程服务器和相关联服务中的一个或多个(例如,每个)。即,供应消息222a可以经由连接消息280a将控制设备210a(例如,用于发送并行连接的多服务器固件,如下文所讨论)配置到用于AWS 1远程服务器(例如240)的代理1(例如,242a)和用于Xively 1远程服务器(例如250)的代理1(例如252a)。
基于控制设备信息和供应规则225,BPS 220可以识别设备可以连接到的远程服务器240、250中的任一个并向设备可以连接到的远程服务器240、250中的任一个发送建立连接消息(例如,一旦供应)。例如,基于设备类型和设备的位置,BPS 220可以识别控制设备210b可以与用于AWS 1远程服务器(例如,240)的代理2(例如,242b)和用于Xively 1远程服务器(例如,250)的代理2(例如,252b)建立连接。BPS 220可以向远程服务器240、250发送连接建立消息230b、230d,为控制设备210b供应远程服务器240、250。当BPS 220将供应消息222b发送回控制设备210b时,BPS 220可以供应控制设备210b以连接到所供应的远程服务器和相关联服务中的任一个。即,供应消息222b可配置控制设备210b以发送(例如,经由下面讨论的多服务器固件)与用于AWS 1远程服务器(例如,240)的代理2(例如,242b)或用于Xively 1远程服务器(例如,250)的代理2(例如,252b)的通信。如图2B所示,控制设备210b可以向用于AWS 1远程服务器(例如,240)的代理2(例如,242b)发送连接消息280b。照此,基于供应消息274a,控制设备210b可以不具有针对相同主题的重复连接。如果代理2(例如,242b)和/或AWS 1远程服务器(例如,240)变得不可用,则控制设备210b可以与用于Xively1远程服务器(例如,250)的代理2(例如,252b)进行通信。例如,如果控制设备210b认识到与先前连接的AWS 1远程服务器(例如,240)和/或代理2(例如,242b)的问题,或者在与AWS 1远程服务器(例如,240)和/或代理2(例如,242b)的连接期间,控制设备210b可以将连接消息280b发送到Xively 1远程服务器(例如,250),并尝试与作为替代服务器和/或代理的代理2(例如,252b)建立连接。也就是说,如果一个或多个远程服务器和/或代理变得不可用,则控制设备210b可以保持与一个或多个替代远程服务器的连接。
基于设备信息和供应规则225,BPS 220可以识别设备可以连接到的远程服务器240、250并将建立连接消息发送到设备可以连接到的远程服务器240、250(例如,一旦供应)。例如,基于设备类型和设备的位置,BPS 220可以识别移动设备270a可以与用于AWS 1远程服务器(例如,240)的代理1(例如,242a)或代理2(例如,242b)和用于Xively 1远程服务器(例如,250)的代理2(例如,252b)建立连接。BPS 220可以将连接建立消息230a、230b、230d发送到远程服务器240、250,为移动设备270a供应远程服务器240、250。当BPS 220将供应消息274a发送回移动设备270a时,BPS 220可以供应移动设备270a以连接到与第一远程服务器相关联的供应代理中的任一个,并连接到与第二远程服务器相关联的供应代理。即,供应消息274a可以配置移动设备270a发送与用于AWS 1远程服务器(例如,240)的代理1或代理2(例如,242a或242b)以及与用于Xively 1远程服务器(例如,250)的代理2(例如,252b)的并行通信。如图2B所示,移动设备270a可以将连接消息280c发送到用于AWS 1远程服务器(例如,240)的代理1(例如,242a)和用于Xively 1远程服务器(例如,250)的代理2(例如,252b)。如果代理1(例如242)变得不可用,则移动设备270a可以与用于AWS 1远程服务器(例如240)的代理2(例如242b)通信。
如本文所描述,供应消息222a、222b、274a、274b可以提供关于控制设备210a、210b和/或移动设备270a、270b如何与用于远程服务器240、250的一个或多个代理建立连接的配置。基于所供应的消息,设备可以将连接消息280a-280d发送到所供应和配置的远程服务器和相关联的代理。
控制设备210a可以通过执行多服务器固件来发送连接消息280a。例如,基于供应消息222a,控制设备210a可以知道BPS 220已经供应远程服务器240和远程服务器250(例如,以及代理242a和代理252a),并且应该连接到远程服务器204、250中的每个。多服务器固件可以向远程服务器240、250发送并行通信,并建立与代理242a、252a的连接。在控制设备210a发送连接消息280a之后(例如,经由多服务器固件),控制设备210a可以订阅代理242a和代理252a,并与这两者并行通信。多服务器固件可以向一个或多个远程服务器和/或远程服务器中的相应代理发送一个或多个连接消息。控制设备210a可以例如经由所建立的通信信道从代理242a和/或代理252a接收信息。控制设备210a还可以例如经由所建立的通信信道向代理242a和/或代理252a发布信息。如下文所讨论,代理242a和/或代理252a可以(例如,经由所建立的通信信道)将请求消息发送回控制设备210a,要求用于远程服务器240、250的附加信息。所请求的信息可以用于远程服务器240、250的操作。
类似地,BPS 220可以向控制设备210b发送供应消息222b,指示控制设备210b已经被供应以建立与代理242b、252b的连接。供应消息222b还可指示控制设备210b可与远程服务器240所关联的代理242b或与远程服务器250所关联的代理252b建立连接。响应于接收到供应消息222b,控制设备210b可以确定(例如,经由多服务器固件)与代理242b、252b和/或远程服务器240、250中的哪一个进行通信。控制设备210b可以(例如,基于如本文所讨论的远程服务器的连接速度和/或定价计划)向用于远程服务器240的代理242b发送连接消息280b。控制设备210b可以通过执行多服务器固件来发送连接消息280b。在控制设备210b发送连接消息280b之后,控制设备210b可以经由在控制设备210b与远程服务器240之间经由代理242b建立的通信信道从代理242b接收信息和/或向代理242b发布信息。如下文所讨论,代理242b可将请求消息(例如,经由所建立的通信信道)发送回控制设备210b,要求用于远程服务器240操作的附加信息。
类似地,BPS 220可以向移动设备270a发送供应消息274a,指示移动设备270a已经被供应以与代理242a、242b、252b和相关联的远程服务器240、250的复合列表建立连接。供应消息274a还可以指示移动设备270a可以如本文所描述建立与代理242a、242b、252b和相关联的远程服务器240、250的复合连接。响应于接收到供应消息274a,移动设备270a可以选择远程服务器240上的供应的代理242a、242b中的一个,并且可以选择远程服务器250上的供应代理252b(例如,基于远程服务器240、250的连接速度和/或定价计划)。如图2B所示,移动设备270a可以向用于远程服务器240、250的代理242a、252b中的每个发送连接消息280c。在移动设备270a发送连接消息280c之后,移动设备270a可以与代理242a、252b中的每个通信和/或向代理242a、252b中的每个发布信息。代理252b可以将请求消息发送回移动设备270a,要求用于远程服务器250操作的附加信息/数据。代理242a可以跳过将请求消息发送回移动设备270a。
类似地,BPS 220可向移动设备270b发送供应消息274b,指示移动设备270b已被供应以建立与远程服务器240所关联的代理242b的连接。供应消息274b可以包括用于移动设备270b连接到所供应的代理和相应远程服务器中一个或多个(例如,每个)的信息。响应于接收到供应消息274b,移动设备270b可以向用于远程服务器240的代理242b发送连接消息280d。在移动设备270b发送连接消息280d之后,移动设备270b可以通过经由建立的通信信道向/自代理242b接收和/或发布信息来与代理242b和远程服务器240通信。代理242b可以将请求消息发送回移动设备270b,要求用于远程服务器240的服务的附加数据/信息。
可经由供应消息274a、274b向移动设备270a、270b供应远程服务器集合(例如,以及由远程服务器提供的一个或多个服务)。每个移动设备270a、270b可以经历移动设备270a、270b可以连接到的远程服务器集合。移动设备270a、270b可以选择由BPS供应的服务/代理(例如,经由从供应消息274a、274b接收的优先级信息),并且如果移动设备270a、270b已经成功地与服务/代理连接,则可以停止尝试建立连接。例如,如果第一连接不成功,则移动设备270a、270b可以通过BPS尝试与来自供应的服务集合中的另一服务/代理建立另一连接(例如,第二连接)。
如图2B所示,控制设备210b和移动设备270b可以被供应给相同的远程服务器240(例如,经由远程服务器240所提供的并由BPS配对的相同服务/代理242b)。控制设备210b可以从移动设备270b接收控制消息(例如,用户按下按钮以关断控制设备210b所控制的灯)。例如,移动设备270b可以经由建立的通信隧道向代理242b发布控制消息。控制设备210b可以通过经由建立的通信隧道从代理242b接收所发布的信息来从移动设备270b接收控制消息。用户可以接通控制设备210b所控制的灯,并且控制设备210b可以向代理242b发布控制消息信息。移动设备270b可以经由建立的通信隧道从代理242b接收所发布的信息。如本文所描述,移动设备270b可以从控制设备210b接收控制消息信息(例如,直接或在本地基于BPS向移动设备270b供应控制设备210b)。
远程服务器240、250可以是提供诸如云服务等服务的在线平台。远程服务器240、250可以是市售的云服务提供商。远程服务器240、250可以是web服务器。远程服务器240、250可由控制设备210a、210b和/或移动设备270a、270b用于经由BPS 220建立连接,供应代理242a、242b、252a、252b。控制设备210a、210b和/或移动设备270a、270b可与代理242a、242b、252a、252b通信,以从代理242a、242b、252a、252b接收所发布的信息和/或向代理242a、242b、252a、252b发布信息。
远程服务器240、250可以经由代理242a、242b、252a、252b提供服务。每个代理242a、242b、252a、252b可以与特定主题相关联,控制设备210a、210b和/或移动设备270a、270b可以与其建立连接(例如,经由BPS 220进行的供应)并接收/发布信息。当远程服务器240、250从BPS 220接收连接请求消息230a-230d时,远程服务器240、250可以知道控制设备210a、210b和/或移动设备270a、270b可以与用于相应主题的它们的代理242a、242b、252a、252b中的一个或多个建立连接。如上文所描述,控制设备210a、210b和/或移动设备270a、270b可以从BPS 220接收供应消息222a、222b、274a、274b,并且可以发送连接消息280a-280d。例如,控制设备210a、210b可以经由多服务器固件发送连接消息280a、280b。如下文所讨论,远程服务器240、250可以响应于连接消息280a-280d向控制设备210a、210b和/或移动设备270a、270b发送数据请求消息,请求附加信息。控制设备210a、210b和/或移动设备270a、270b可以将所请求的数据/信息发送到相应代理242a、242b、252a、252b。
每个远程服务器240、250可以提供相同或不同的云服务列表。远程服务器240、250可以属于不同的服务提供商。例如,远程服务器240可以属于AWS。远程服务器250可以属于Xively服务。每个远程服务器240、250可以为Amazon、Xively提供云服务,并为设备提供云服务。BPS 220可以向控制设备210a、210b和/或移动设备270a、270b供应由远程服务器240、250提供的相同服务。BPS 220可以将设备供应给相同的服务并由远程服务器240、250重叠,以确保设备与远程服务器之间的数据通信。例如,Xively服务可以向远程服务器250提供服务,而AWS可以向远程服务器240提供服务。远程服务器250可以离线或者不向设备提供服务。代替设备失去与远程服务器250的通信(并且用户不能控制设备),BPS 220可以供应设备以与提供相同服务的两个或更多个服务器建立连接,从而允许设备保持与远程服务器提供的服务的一部分的通信,使得用户可以不受远程服务器之一变得不可用的影响。
如果远程服务器240、250提供相同的云服务,则BPS 220可供应控制设备210a、210b和/或移动设备270a、270b以建立与远程服务器240、250中的任一个的连接。例如,基于关于设备的信息和BPS 220的供应规则225,BPS 220可以对连接进行优先级排序,并且可以供应设备以与远程服务器之一(例如,远程服务器240)建立连接,该远程服务器可以提供更快的连接或更便宜的服务。对于不同类型的设备、不同系统或不同系统的用户所偏好的不同策略,优先级排序可以是不同的。
远程服务器240、250可以具有一些重叠的云服务,但是远程服务器240、250可以提供不同的(例如,非重叠的)云服务。BPS 220可以向控制设备210a、210b和/或移动设备270a、270b供应由不同远程服务器提供的服务。如本文所描述,控制设备210a、210b可以经由多服务器固件同时建立与不同远程服务器240、250的并行连接。
例如,BPS 220可以供应控制设备210a(例如,经由供应消息222a),以建立与远程服务器240所提供的代理242a和远程服务器250所提供的代理252a的通信。响应于从BPS220接收到供应消息222a,控制设备210a可以执行多服务器固件,并且可以向属于两个不同远程服务器240、250的代理242a和252a这两者发送并行连接消息280a。控制设备210a、210b与不同云服务的代理建立并行连接的能力可以允许控制设备210a、210b利用由一个云服务提供的升级服务,同时还保持由另一个云服务先前建立的服务。例如,多服务器固件可以向不同远程服务器中的代理发送和/或接收数据。多服务器固件可以向不同远程服务器中的代理发送和/或接收相同的数据。多服务器固件可以向不同远程服务器中的代理发送和/或接收不同的数据。多服务器固件可以向远程服务器中的一个代理发送和/或接收一部分数据,并从不同远程服务器中的另一个代理发送和/或接收一部分数据。多服务器固件可以选择从一个云服务的代理发送和/或接收数据,并且可以切换到自不同云服务的代理(例如,当第一代理和/或第一云服务检测到问题时和/或当第一代理和/或第一云服务连接拥塞时)。
第三方网络设备、第三方移动设备和/或第三方远程服务器260a、260b可以订阅远程服务器240、250(例如,经由一个或多个代理244a、244b、254a、254b),并且可以利用由控制设备210a、210b和/或移动设备270a、270b发布的数据。例如,第三方远程服务器可以使用该信息来了解设备的状况。基于远程服务器240、250处的设备的发布信息,第三方远程服务器可以知道设备的状态,例如,设备是否接通、关断等(例如,指示相应负载是否接通、关断等)。例如,第三方远程服务器可能托管系统仪表板。系统仪表板可以基于发布的关于设备状态的信息来显示负载控制系统中的一个或多个(例如,各种)负载的负载状况。系统仪表板也可以向设备发送信息。
图3A示出了控制设备301a、301b与远程服务器303a、303b所关联的一个或多个代理之间经由BPS 302基于消息传递的接口通信的示例系统300图。举例而言,基于消息的接口可以是MQTT接口。然而,系统300基于消息的接口不限于MQTT接口,并且可以根据需要使用其他基于消息的接口。
例如,当控制设备301a、301b第一次通电时,控制设备301a、301b可以连接到BPS302。控制设备301a、301b可以在电力循环之后和/或周期性地(例如,在预先配置的时间段之后)连接到BPS 302。控制设备301a、301b可以与BPS 302重新连接,以确定BPS 302是否具有与一个或多个远程服务器303a、303b的任何供应连接更新。控制设备301a、301b可以向BPS 302发送连接请求消息310a、310b。连接请求消息310a、310b可包括关于控制设备301a、301b的信息,BPS 302可基于供应过程和/或供应规则使用该信息供应控制设备301a、301b。例如,控制设备301a、301b可以在连接请求消息310a、310b上包括关于控制设备ID、控制设备类型、序列号、MAC地址、通用标识符、授权信息、位置信息和/或类似信息等信息。
BPS 302可以基于供应规则来确定和供应控制设备301a、301b。基于确定和供应规则,BPS 302可以向远程服务器303a、303b中的一个或多个发送连接建立消息320a、320b,以识别哪个控制设备301a、301b可以与远程服务器303a、303b所关联的代理连接。例如,BPS302可以将连接建立消息320a发送到远程服务器303a,并将连接建立消息320b发送到远程服务器303b。连接建立消息320a、320b还可以限定控制设备301a、301b在与所供应的远程服务器303a、303b通信时可以做什么或不可以做什么。例如,连接建立消息320a、320b可以提供权限信息,该权限信息确定控制设备301a、301b可以如何与一个或多个所供应的远程服务器303a、303b通信。
作为示例,控制设备301a可以是用于照明灯具的照明控制设备(例如,LED驱动器),并且控制设备301b可以是用于照明控制设备的系统控制器(例如,集线器设备、远程控制设备等)。用户可以将照明灯具和系统控制器安装在房间中。一旦照明控制设备和系统控制器通电,照明控制设备和系统控制器可以自动连接到BPS 302。
远程服务器303a、303b可以从BPS 302接收连接建立消息320a、320b。基于连接建立消息320a、320b,远程服务器303a、303b和由远程服务器303a、303b提供的服务可以知道控制设备301a、301b(例如,照明控制设备和系统控制器)可以与远程服务器303a、303b和/或由远程服务器303a、303b提供的服务通信。如果远程服务器303a、303b接收到来自并非连接建立消息320a、320b中识别的控制设备301a、301b的通信,则远程服务器303a、303b可以忽略和/或不允许与未识别的设备的通信。
BPS 302可以将供应消息330a、330b发送回控制设备301a、301b。供应消息可以包括控制设备301a、301b在与远程服务器303a、303b建立通信时可以使用的关于远程服务器303a、303b的信息。例如,供应消息330a、330b可以包括关于远程服务器303a、303b的服务的信息,例如服务ID、代理ID、主题ID、订阅凭证、证书、用户名、密码、指令、协议、地址、端口、通信信道等。供应消息330a、330b还可以指示连接信息。例如,供应消息330a、330b可以向控制设备301a、301b指示通过连接到一个或多个(例如,每个)供应的服务、通过与供应的服务中的任一个连接、和/或通过创建与来自远程服务器303a的一个或多个供应的服务和来自远程服务器303b的一个或多个供应的服务的复合连接来建立与服务的连接。
基于供应信息,控制设备301a、301b可以与所供应的远程服务器303a、303b建立连接340a、340b、360(例如,通信信道)。例如,连接340a、340b、360可以是所建立的通信信道或通信隧道,设备和所供应的远程服务器可以在所建立的通信信道或通信隧道上通信。如上文所描述,控制设备301a、301b可执行多服务器固件以建立如本文所述的通信信道。例如,基于指示控制设备301a、301b应该如何连接(例如,经由服务中的每个、经由服务中的任一个和/或经由与服务的复合连接)到所供应的服务的供应信息,多服务器固件可以经由连接340a、340b、360向所供应的服务和相应远程服务器303a、303b发送消息。多服务器固件可以同时发送一个或多个(例如,多个和并行)通信,并且控制设备301a、301b可以与远程服务器303a、303b所关联的服务通信,以并行地从服务接收信息和/或向服务发布信息。例如,如图3A所示,控制设备301a可以具有与远程服务器303a、303b的双连接(例如,连接340a、340b)。即,控制设备301a中的多服务器固件可以为控制设备301a建立双连接。在多个服务器上的多个服务上的双连接(例如,和并行连接)可以允许控制设备301a在两个位置上保持凭证和对主题的订阅,并同时向两个服务器发布信息和从两个服务器接收信息(例如,为了可靠性、冗余和/或地理分布)。
当控制设备301a、301b与所供应的远程服务器303a、303b通信时(例如,第一次),远程服务器303a、303b可以发送请求消息350、370,向控制设备301a、301b要求附加信息/数据。远程服务器303a、303b上的服务可以使用附加信息/数据来正确地操作。例如,控制设备301a可以是用于照明控制系统的系统控制器设备。远程服务器303a可以将请求消息350发送到控制设备301a,请求关于系统控制器被配置为控制的其他设备的附加数据/信息。例如,远程服务器303a可以请求关于系统控制器正在控制多少电负载的信息。
图3B示出了示出控制设备401、移动设备402、BPS 403和/或远程服务器404a、404b之间基于消息的接口通信的示例系统400图。作为示例,而不是作为限制,基于消息的接口可以是MQTT接口,并且可以根据需要和/或适当地使用其他基于消息的接口。
控制设备401和移动设备402可以连接到BPS 403。移动设备402可以包括在移动设备上运行的一个或多个程序或应用。BPS 403可以基于连接请求消息410a、410b来供应控制设备401和移动设备402。BPS403可以应用供应规则,并且可以向远程服务器404a、404b发送连接建立消息420a、420b。BPS 403可以向控制设备401和移动设备402发送供应消息430a、430b。供应消息430a、430b可以包括关于设备可以与之建立通信的远程服务器404a、404b的供应信息。供应消息430a、430b可以包括关于远程服务器403a、403b的服务的信息,例如服务ID、代理ID、主题ID和订阅凭证。供应消息430a、430b还可以指示连接信息。例如,供应消息430a、430b可以向控制设备401和移动设备402指示通过连接到所供应的服务中的一个或多个(例如,每个),通过连接到所供应的服务中的任一个,和/或通过连接到所供应的服务的复合集(例如,连接到来自远程服务器403a的一个或多个供应的服务和来自远程服务器403b的一个或多个供应的服务)来建立与服务的连接。供应消息430b可以指示控制设备401和移动设备402可以在两个设备之间建立本地访问。例如,BPS 403可以向设备中的每个供应一个或多个远程服务器。如下文所讨论,BPS 403还可以将移动设备402供应给控制设备401。例如,BPS 403可以发送用于控制设备401和移动设备402的附加凭证集以彼此通信(例如,直接或本地,一旦由BPS 403供应)。在控制设备401和移动设备402由BPS 403供应之后,移动设备402可以与控制设备401通信(例如,直接通信),或者反之亦然。
基于识别一个或多个远程服务器(例如,远程服务器404a、404b)的接收的供应消息430a、430b,控制设备401可以直接(例如,经由建立的通信隧道,例如连接440a、440b)与供应的远程服务器404a、404b通信。例如,控制设备401可以执行多服务器固件并与远程服务器440a、440b通信。多服务器固件可配置与远程服务器404a、404b的双连接,以使控制设备401具有与远程服务器404a、404b的并行通信。控制设备401可以在远程服务器404a、404b中的两个位置处保持凭证和对主题的订阅,并同时向两个服务器发布信息和从两个服务器接收信息。移动设备402可以基于来自BPS 403的供应信息建立与远程服务器404b的连接460(例如,通信隧道)。如上文所描述,当控制设备401和/或移动设备402与所供应的远程服务器404a、404b通信时(例如,第一次),远程服务器404a、404b可以各自发送请求消息450,请求来自设备的附加信息,如本文所描述。
基于来自移动设备402的连接请求消息410b,BPS 403可以将移动设备402供应给控制设备401。这样的供应可以允许移动设备402与控制设备401(例如,本地)通信。例如,移动设备402(例如,用作远程控制设备)可以包括用于控制该控制设备401例如用于照明灯具的照明控制设备(例如,LED驱动器)的应用。在移动设备402上运行的应用可以经由连接请求消息410b与BPS 403连接。连接请求消息410b可以包括指示(例如,向BPS 403证明)移动设备402具有访问该控制设备401的授权的凭证。基于连接请求消息和包括的凭证,和/或供应规则,移动设备402可以经由BPS 403供应控制设备401。
BPS 403还可以向移动设备402供应远程服务器404b。如图3B所示,控制设备401可以被供应远程服务器404a、404b。即,控制设备401和移动设备402可以与远程服务器404b提供的服务进行通信。用户可以关断控制设备401,例如照明灯具中的照明控制设备。控制设备401可以经由连接440b向远程服务器404b发布控制消息(例如,关灯)。运行在移动设备402上的应用可以经由连接460从远程服务器404b接收关于控制设备401的发布信息。用户可以使用在移动设备402上运行的应用来接通控制设备401,例如照明灯具中的照明控制设备。移动设备402可以经由连接470将控制消息直接发布到控制设备401。控制设备401可以接收控制消息并接通照明灯具中的照明控制设备。控制设备401还可以经由连接440b(例如,代表在移动设备402上运行的应用)将控制消息从移动设备402发布到远程服务器404b。在移动设备402上运行的应用可以直接将控制该控制设备401的控制消息发布到远程服务器404b。例如,运行在移动设备402上的应用可以通过经由连接460、470发送并行消息来同时向控制设备401和远程服务器404b发布控制消息。
图4示出了网络设备680(例如,远程服务器)的示例框图。网络设备680可以包括一个或多个通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、微处理器、微控制器、集成电路、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等,和/或还可以包括其他处理元件,例如一个或多个图形处理器(以下统称为处理器1102)。处理器1102可以控制网络设备的功能,并且除了诸如操作系统、数据库管理系统等的其他软件应用之外,还可以执行控制应用1103,以提供如本文所描述的特征和功能。处理器1102还可以执行信号编码、数据处理、功率控制、输入/输出处理以及使网络设备680能够如本文所描述执行的任何其他功能。网络设备680还可以包括一个或多个存储器模块/设备1104(包括易失性和非易失性存储器模块/设备),其可以是不可移动的存储器模块/设备和/或可移动的存储器模块/设备。存储器模块/设备1104可以通信地耦合到处理器1102。不可移动存储器模块/设备1104可以包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘或任何其他类型的不可移动存储器存储器。可移动存储器模块/设备1104可以包括订户身份模块(SIM)卡、存储器棒、存储器卡或任何其他类型的可移动存储器。一个或多个存储器模块/设备1104可以存储控制应用1103,并且还可以在处理器执行控制应用时提供执行空间。网络设备680还可以包括可通信地耦合到处理器1102的视觉显示屏/终端1106。与处理器1102一起,视觉显示屏1106可经由一个或多个基于GUI的接口/基于GUI的“窗口”向用户显示信息,如本文所描述。显示屏1106和处理器1102可以双向通信,因为显示屏1106可以包括触摸敏感视觉屏幕模块,该触摸敏感视觉屏幕模块被配置为从用户接收信息并将这种信息提供给处理器1102。网络设备680还可以包括可通信地耦合到处理器1102的一个或多个输入/输出(I/O)设备1112(例如,键盘、触摸敏感板、鼠标、跟踪球、音频扬声器、音频接收器等)。例如,I/O设备可以允许用户与控制应用1103交互。网络设备680还可以包括用于例如在有线和/或无线通信网络上通信(发送和/或接收)的一个或多个收发器或通信电路(统称为通信电路1108)。通信电路1108可以包括RF收发器或被配置为经由天线执行无线通信的其他电路。通信电路1108可以与处理器1102通信,用于发送和/或接收信息。网络设备680内的模块中的每个可以由电源1110供电。电源1110可以包括例如AC电源和/或DC电源。电源1110可以生成供电电压VCC,用于为网络设备680内的模块供电。
除了包括例如提供本文所描述的图形特征和视觉图像的基于GUI的软件模块之外,控制应用1103还可以包括逻辑引擎用于提供GUI的特征和本文所描述的一般应用的特征。基于GUI的软件模块和/或逻辑引擎可以是包括指令的一个或多个基于软件的模块,例如,如上文所示,指令可以存储在网络设备的一个或多个有形存储设备/模块上和/或从网络设备的一个或多个有形存储设备/模块执行。除了基于软件的模块之外或作为基于软件的模块的替代方案,还可以通过固件和/或硬件来提供控制应用的特征。同样,网络设备680是示例,并且控制应用可以在其他类型的计算设备上执行。
如所示,网络设备680可以类似于或代表如本文所描述的网络设备或远程服务器160、240、250、303a、303b、404a和404b。因此,控制应用可以经由类似于本文所描述设备144的用户环境本地的网络(诸如Wi-Fi网络)与系统控制器通信,并且可以使用基于消息的协议(例如,MQTT)和消息代理(例如,BPS 220)与系统控制器通信。然而,人们将认识到控制应用1103和/或网络设备680可以使用其他通信系统和/或协议等与系统控制器通信。此外,控制应用1103在此描述为例如在网络设备上执行并与系统控制器传送消息的自包含应用。换句话说,本文将控制应用的逻辑和与应用相关联的生成图形描述为从网络设备执行。尽管如此,控制应用的特征和/或图形可以以其他方式来实施,例如web托管应用,网络设备使用本地应用(例如,web浏览器或其他应用)与web托管应用对接,以提供如本文所描述的特征和功能。
图5是示出另一示例系统控制器1200(诸如在此描述的系统控制器150)的框图。系统控制器1200可以包括一个或多个通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、微处理器、微控制器、集成电路、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或任何合适的控制器或处理设备等(以下统称为处理器或控制电路1202)。控制电路1202可以被配置为执行一个或多个基于软件的应用,该应用包括指令,当由控制电路执行时,该指令可以将控制电路配置为执行信号编码、数据处理、功率控制、输入/输出处理或例如使系统控制器1200能够如本文所描述执行的任何其他功能、处理和/或操作。人们将认识到,系统控制器1200在此描述的功能、特征、过程和/或操作也可以由固件和/或硬件提供,作为基于软件的指令的补充或替代。控制电路1202可以在存储器1204中存储信息和/或从存储器1204中检索信息,包括配置信息、配置信息文件、备份文件、创建时间和签名,如本文所描述。存储器1204还可以存储用于由控制电路1202执行的基于软件的指令,并且还可以在控制电路执行指令时提供执行空间。存储器1204可以实施为外部集成电路(IC)或控制电路1202的内部电路。存储器1204可以包括易失性和/或非易失性存储器模块/设备,并且可以是不可移动存储器模块/设备和/或可移动存储器模块/设备。不可移动存储器可以包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘或任何其他类型的不可移动存储器存储器。可移动存储器可以包括订户身份模块(SIM)卡、存储器棒、存储器卡或任何其他类型的可移动存储器。可以理解,用于存储配置信息文件、和/或备份文件、和/或基于软件的指令等的存储器可以是系统控制器的相同和/或不同的存储器模块/设备。作为一个示例,配置信息文件和基于软件的指令可存储在非易失性存储器模块/设备中,而备份可存储在易失性和/或非易失性存储器模块/设备中。
系统控制器1200可包括用于发送和/或接收信息的一个或多个通信电路/网络接口设备或卡1206。通信电路1206可以执行无线和/或有线通信。系统控制器1200还可以包括用于发送和/或接收信息的一个或多个通信电路/网络接口设备/卡1208。通信电路1206可以执行无线和/或有线通信。通信电路1206和1208可以与控制电路1202通信。通信电路1206和/或1208可以包括射频(RF)收发器或被配置为经由一个或多个天线执行无线通信的其他通信模块。通信电路1206和通信电路1208可以被配置为经由相同的通信信道或不同的通信信道执行通信。例如,通信电路1206可被配置为经由无线通信信道(例如,近场通信(NFC)、蜂窝等)通信(例如,与网络设备、通过网络等),并且通信电路1208可被配置为经由另一无线通信信道(例如,或专有通信信道,例如,CLEARConnectTM)通信(例如,与控制设备和/或负载控制系统中的其他设备)。
控制电路1202可以与一个或多个LED指示器1212通信,用于向用户提供指示。控制电路1202可以与致动器1214(例如,一个或多个按钮、开关、旋钮或滑块)通信,致动器1214可由用户致动以将用户选择传送到控制电路1202。例如,致动器1214可被致动以使控制电路1202处于关联模式和/或从系统控制器1200传送关联消息。
系统控制器1200内的模块中的每个可以由电源1210供电。电源1210可以包括例如AC电源或DC电源。电源1210可以生成用于向系统控制器1200内的模块供电的电源电压VCC。人们将认识到系统控制器1200可包括其他、较少和/或附加模块。
图6是示出如本文所描述的示例控制-目标设备1300例如负载控制设备的框图。控制目标装置1300可以是调光器开关、电子开关、用于灯的电子镇流器、用于LED光源的LED驱动器、AC插入式负载控制设备、温度控制设备(例如,恒温器)、用于机动化窗帘的马达驱动单元或其他负载控制设备。控制-目标设备1300可以类似于或代表这里描述的控制-目标设备112、113、116、124和126。控制-目标设备1300可以包括一个或多个通信电路/网络接口设备或卡1302。通信电路1302可以包括接收器、RF收发器和/或被配置成经由通信链路1310执行有线和/或无线通信的其他通信模块或电路。控制-目标设备1300可以包括一个或多个通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、微处理器、微控制器、集成电路、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或任何合适的控制器或处理设备等(以下统称为处理器或控制电路1304)。控制电路1304可被配置为执行一个或多个基于软件的应用,该应用包括指令,当由控制电路执行时,该指令可将控制电路配置为执行信号编码、数据处理、功率控制、输入/输出处理或例如使控制-目标设备1300能够如本文所描述执行的任何其他功能、特征、过程和/或操作。人们将认识到如本文所描述的用于控制-目标设备1300的功能、特征、过程和/或操作也可以由固件和/或软件提供,作为基于软件的指令的补充和/或替代。控制电路1304可以在存储器1306中存储信息和/或从存储器1306检索信息。例如,存储器1306可以保持相关联的控制设备的注册表和/或控制配置信息。存储器1306还可以存储用于由控制电路1304执行的基于软件的指令,并且还可以在控制电路执行指令时提供执行空间。存储器1306可以实施为外部集成电路(IC)或控制电路1304的内部电路。存储器1306可以包括易失性和/或非易失性存储器模块/设备,并且可以是不可移动的存储器模块/设备和/或可移动的存储器模块/设备。不可移动存储器可以包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘或任何其他类型的不可移动记忆存储器。可移动存储器可以包括订户身份模块(SIM)卡、存储器棒、存储器卡或任何其他类型的可移动存储器。控制电路1304也可以与通信电路1302通信。
控制-目标装置1300可以包括负载控制电路1308。负载控制电路1308可以从控制电路1304接收指令和/或控制信号,并且可以基于接收到的指令和/或控制信号来控制电负载1316。负载控制电路1308可以向控制电路1304提供关于电负载1316状况的状况反馈。负载控制电路1308可以经由热连接1312和中性连接1314接收功率,并且可以向电负载1316提供一定量的功率。电负载1316可以包括任何合适类型的电负载。
控制电路1304可与致动器1318(例如,一个或多个按钮、开关、旋钮或滑块)通信,致动器1318可由用户致动以将用户选择传送到控制电路1304。例如,致动器1318可被致动以使控制电路1304处于关联模式或发现模式。控制-目标设备1300可以经由通信电路1302传送关联消息或发现消息。人们将认识到,控制-目标设备1300可包括本文所描述的模块和/或电路相比的其他、更少和/或附加的模块和/或电路。
图7是示出如本文所描述的示例控制-源设备1400的框图。控制-源设备1400可以是远程控制设备、占用传感器、日光传感器、窗口传感器、温度传感器和/或类似物。控制-源设备1400可以类似于或代表这里描述的控制-源设备108、110、120和122。控制-源设备1400可以包括一个或多个通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、微处理器、微控制器、集成电路、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或任何合适的控制器或处理设备等(以下统称为处理器或控制电路1402)。控制电路1402可被配置为执行一个或多个基于软件的应用,该应用包括指令,当由控制电路执行时,该指令可将控制电路配置为执行信号编码、数据处理、功率控制、输入/输出处理或例如使控制-源设备1400能够如本文所描述执行的任何其他功能、特征、过程和/或操作。人们将认识到,作为基于软件的指令的补充或替代,还可以通过固件和/或硬件来提供在此描述的用于控制-源设备1400的功能、特征、过程和/或操作。控制电路1402可以在存储器1404中存储信息和/或从存储器1404中检索信息。存储器1404还可以存储用于由控制电路1402执行的基于软件的指令,并且还可以在控制电路执行指令时提供执行空间。存储器1404可以实施为外部集成电路(IC)或控制电路1402的内部电路。存储器1404可以包括易失性和/或非易失性存储器模块/设备,并且可以是不可移动存储器模块/设备和/或可移动存储器模块/设备。不可移动存储器可以包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘或任何其他类型的不可移动记忆存储器。可移动存储器可以包括订户身份模块(SIM)卡、存储器棒、存储器卡或任何其他类型的可移动存储器。
控制-源设备1400可以包括用于发送和/或接收信息的一个或多个通信电路/网络接口设备或卡1408。通信电路1408可以经由有线和/或无线通信经由通信电路1408来发送和/或接收信息。通信电路1408可以包括发射器、RF收发器和/或被配置成执行有线和/或无线通信的其他电路。通信电路1408可以与控制电路1402通信,用于发送和/或接收信息。
控制电路1402还可以与输入电路1406通信。输入电路1406可以包括致动器(例如,一个或多个按钮、开关、旋钮或滑块)和/或传感器电路(例如,占用传感器电路、日光传感器电路或温度传感器电路),用于接收可以发送到控制-目标设备以控制电负载的输入。例如,控制-源设备可以从输入电路1406接收输入,以将控制电路1402置于关联模式和/或从控制-源设备传送关联消息。控制电路1402可以从输入电路1406接收信息(例如,按钮已被致动的指示或感测到的信息)。控制-源设备1400内的模块中的每个可以由电源1410供电。人们将认识到控制-源设备1400可以包括与这里所描述的模块和/或电路相比的其他、更少和/或附加的模块和/或电路。
除了本文中所描述的内容之外,方法和系统还可以在计算机程序、软件或固件中实施,计算机程序、软件或固件并入在一个或多个计算机可读介质中以例如由计算机或处理器执行。计算机可读介质的示例包括电子信号(通过有线或无线连接传输)和有形/非暂时性计算机可读存储介质。有形/非暂时性计算机可读存储介质的示例包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、可移动磁盘以及诸如CD-ROM磁盘和数字多功能磁盘(DVD)的光学介质。
尽管本公开已经根据某些实施例和通常相关联的方法进行了描述,但对本领域技术人员来说,实施例和方法的改变和置换将是显而易见的。因此,以上对示例实施例的描述并不限制本公开。在不偏离本公开内容的精神和范围的情况下,其他变更、替换和变更也是可能的。
Claims (15)
1.一种代理供应者服务,包括:
处理器,所述处理器被配置成:
从控制设备接收连接请求消息,所述连接请求消息包括关于所述控制设备的信息;
向一个或多个远程服务器发送一个或多个连接建立消息,所述一个或多个连接建立消息包括识别所述控制设备的信息;以及
向所述控制设备发送供应消息,所述供应消息包括关于与所述一个或多个远程服务器中的相应服务器相关联的一个或多个供应的服务的信息。
2.根据权利要求1所述的代理供应者服务,其中,所述处理器还被配置为在将所述一个或多个连接建立消息发送到所述一个或多个远程服务器之前,基于所述连接请求消息应用供应规则。
3.根据权利要求1所述的代理供应者服务,其中,关于所述控制设备的信息包括设备ID、设备类型、序列号、MAC地址、位置信息、授权信息和通用标识符中的一个或多个。
4.根据权利要求1所述的代理供应者服务,其中,所述供应消息包括关于所述控制设备将如何与所述一个或多个供应的服务连接的连接信息。
5.根据权利要求4所述的代理供应者服务,其中,所述连接信息指示所述控制设备连接到所述一个或多个供应的服务中的所有供应的服务。
6.根据权利要求4所述的代理供应者服务,其中,所述连接信息指示所述控制设备连接到所述一个或多个供应的服务中的一个供应的服务。
7.根据权利要求4所述的代理供应者服务,其中,所述连接信息指示所述控制设备连接到所述一个或多个供应的服务的复合集。
8.一种控制设备,所述控制设备包括:
处理器,所述处理器被配置成:
向代理服务发送连接请求消息;
从所述代理服务接收供应消息,所述供应消息包括与一个或多个供应的服务相关联的供应信息,每个所述供应的服务与相应远程服务器相关联;以及
基于所述供应信息来建立与所述一个或多个供应的服务的连接。
9.根据权利要求8所述的控制设备,其中,所述处理器被配置为执行多服务器固件,所述多服务器固件建立与所述一个或多个供应的服务的一个或多个并行连接。
10.根据权利要求8所述的控制设备,其中,所述供应消息包括关于如何将所述控制设备连接到所述一个或多个供应的服务的信息。
11.根据权利要求10所述的控制设备,其中,所述供应消息指示所述控制设备连接到所述一个或多个供应的服务中的所有供应的服务。
12.根据权利要求10所述的控制设备,其中,所述供应消息指示所述控制设备连接到所述供应的服务之一。
13.根据权利要求10所述的控制设备,其中,所述供应消息指示所述控制设备连接到所述一个或多个供应的服务的复合集。
14.根据权利要求8所述的控制设备,其中,所述供应消息包括代理ID、服务ID和凭证中的一个或多个,所述代理ID、所述服务ID和所述凭证的每一个都与相应远程服务器相关联,以及其中,所述处理器被配置成使用所述代理ID、所述服务ID和所述凭证中的至少一个来建立与所述一个或多个供应的服务的连接。
15.一种代理供应者服务,包括:
用于从控制设备接收连接请求消息的装置,所述连接请求消息包括与所述控制设备相关联的信息;
用于向一个或多个远程服务器发送一个或多个连接建立消息的装置,所述一个或多个连接建立消息包括足以识别所述控制设备的信息;以及
用于向所述控制设备发送供应消息的装置,所述供应消息包括关于与所述一个或多个远程服务器中的相应服务器相关联的一个或多个供应的服务的信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962879166P | 2019-07-26 | 2019-07-26 | |
US62/879,166 | 2019-07-26 | ||
PCT/US2020/043516 WO2021021635A1 (en) | 2019-07-26 | 2020-07-24 | Provisioning multiple cloud-based services to control devices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114450928A true CN114450928A (zh) | 2022-05-06 |
Family
ID=72087155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080068298.3A Pending CN114450928A (zh) | 2019-07-26 | 2020-07-24 | 向控制设备供应多个基于云的服务 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20210029202A1 (zh) |
EP (1) | EP4005189A1 (zh) |
CN (1) | CN114450928A (zh) |
CA (1) | CA3145880A1 (zh) |
MX (1) | MX2022001116A (zh) |
WO (1) | WO2021021635A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020207498A1 (de) * | 2020-06-17 | 2021-12-23 | Siemens Aktiengesellschaft | Gerät zum Einsatz im Internet der Dinge |
US11811884B1 (en) * | 2020-12-11 | 2023-11-07 | Amazon Technologies, Inc. | Topic subscription provisioning for communication protocol |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120723A1 (en) * | 2001-12-20 | 2003-06-26 | Bright Jonathan D. | System and method for distributed network data storage |
US9432437B1 (en) * | 2013-08-15 | 2016-08-30 | Sprint Communications Company L.P. | Dynamic telemetry client message routing |
US20170280534A1 (en) * | 2016-03-24 | 2017-09-28 | Lutron Electronics Co., Inc. | Gesture-based control device for controlling an electrical load |
US20180167435A1 (en) * | 2016-12-14 | 2018-06-14 | Sap Portals Israel Ltd. | Customized internet-of-things data packaging |
US20180191718A1 (en) * | 2016-12-29 | 2018-07-05 | Ingram Micro Inc. | Technologies for securely extending cloud service apis in a cloud service marketplace |
US20180259922A1 (en) * | 2017-02-28 | 2018-09-13 | Lutron Electronics Co., Inc. | Communicating with and controlling load control systems |
US20180331828A1 (en) * | 2017-05-11 | 2018-11-15 | Airties Kablosuz Iletisim Sanayi Ve Dis Ticaret A.S. | Cloud based wifi network setup for multiple access points |
WO2018232111A1 (en) * | 2017-06-16 | 2018-12-20 | Cryptography Research, Inc. | Internet of things (iot) device management |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10079839B1 (en) * | 2007-06-12 | 2018-09-18 | Icontrol Networks, Inc. | Activation of gateway device |
GB2471883A (en) * | 2009-07-16 | 2011-01-19 | Nec Corp | Controlling a software application in a thin client session using a mobile device |
US9654601B2 (en) * | 2011-03-14 | 2017-05-16 | Verizon Digital Media Services Inc. | Network connection hand-off and hand-back |
US10447492B1 (en) * | 2014-07-24 | 2019-10-15 | Savant Systems, Llc | Residential management system for use with a plurality of home automation systems |
US20170201375A1 (en) * | 2016-01-08 | 2017-07-13 | Futurewei Technologies, Inc. | Secure content sharing using content centric approach |
-
2020
- 2020-07-24 MX MX2022001116A patent/MX2022001116A/es unknown
- 2020-07-24 US US16/938,472 patent/US20210029202A1/en active Pending
- 2020-07-24 CN CN202080068298.3A patent/CN114450928A/zh active Pending
- 2020-07-24 WO PCT/US2020/043516 patent/WO2021021635A1/en unknown
- 2020-07-24 EP EP20757025.0A patent/EP4005189A1/en active Pending
- 2020-07-24 CA CA3145880A patent/CA3145880A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120723A1 (en) * | 2001-12-20 | 2003-06-26 | Bright Jonathan D. | System and method for distributed network data storage |
US9432437B1 (en) * | 2013-08-15 | 2016-08-30 | Sprint Communications Company L.P. | Dynamic telemetry client message routing |
US20170280534A1 (en) * | 2016-03-24 | 2017-09-28 | Lutron Electronics Co., Inc. | Gesture-based control device for controlling an electrical load |
US20180167435A1 (en) * | 2016-12-14 | 2018-06-14 | Sap Portals Israel Ltd. | Customized internet-of-things data packaging |
US20180191718A1 (en) * | 2016-12-29 | 2018-07-05 | Ingram Micro Inc. | Technologies for securely extending cloud service apis in a cloud service marketplace |
US20180259922A1 (en) * | 2017-02-28 | 2018-09-13 | Lutron Electronics Co., Inc. | Communicating with and controlling load control systems |
US20180331828A1 (en) * | 2017-05-11 | 2018-11-15 | Airties Kablosuz Iletisim Sanayi Ve Dis Ticaret A.S. | Cloud based wifi network setup for multiple access points |
WO2018232111A1 (en) * | 2017-06-16 | 2018-12-20 | Cryptography Research, Inc. | Internet of things (iot) device management |
Also Published As
Publication number | Publication date |
---|---|
CA3145880A1 (en) | 2021-02-04 |
EP4005189A1 (en) | 2022-06-01 |
MX2022001116A (es) | 2022-05-03 |
WO2021021635A1 (en) | 2021-02-04 |
US20210029202A1 (en) | 2021-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11470187B2 (en) | Multiple network access load control devices | |
US10349494B2 (en) | Systems and methods for lighting control | |
RU2692515C2 (ru) | Системы и способы управления окружающими условиями | |
US9814084B2 (en) | Location and pairing of devices on a local area network using a unique identifier | |
US9661058B2 (en) | Grouping of network devices | |
US11221599B2 (en) | Systems and methods for managing environmental conditions | |
CN112198819A (zh) | 调试和控制负载控制设备 | |
CN114450928A (zh) | 向控制设备供应多个基于云的服务 | |
JP2013097866A (ja) | 照明制御システムおよび照明制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |