CN116828078A - 分层数据网络中的传输方法 - Google Patents

分层数据网络中的传输方法 Download PDF

Info

Publication number
CN116828078A
CN116828078A CN202310400089.XA CN202310400089A CN116828078A CN 116828078 A CN116828078 A CN 116828078A CN 202310400089 A CN202310400089 A CN 202310400089A CN 116828078 A CN116828078 A CN 116828078A
Authority
CN
China
Prior art keywords
node
array
network
nodes
data
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
Application number
CN202310400089.XA
Other languages
English (en)
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.)
Nanogrid Ltd
Original Assignee
Nanogrid Ltd
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 Nanogrid Ltd filed Critical Nanogrid Ltd
Publication of CN116828078A publication Critical patent/CN116828078A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B45/00Circuit arrangements for operating light-emitting diodes [LED]
    • H05B45/20Controlling the colour of the light
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B47/00Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
    • H05B47/10Controlling the light source
    • H05B47/105Controlling the light source in response to determined parameters
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B47/00Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
    • H05B47/10Controlling the light source
    • H05B47/175Controlling the light source by remote control
    • H05B47/18Controlling the light source by remote control via data-bus transmission
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B47/00Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
    • H05B47/10Controlling the light source
    • H05B47/175Controlling the light source by remote control
    • H05B47/19Controlling the light source by remote control via wireless transmission
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B47/00Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
    • H05B47/10Controlling the light source
    • H05B47/105Controlling the light source in response to determined parameters
    • H05B47/115Controlling the light source in response to determined parameters by determining the presence or movement of objects or living beings

Abstract

本公开的实施方式一般涉及电子数据通信领域,并且更具体地涉及与提供数据分组的“无地址数据传输”有关的用于分层数据网络的传输方法。引入序次(order)或与节点关联的序次以建立关系,并且该序次可以以树形拓扑的形式存储在数据结构中。因此,节点的序次是已知的,并且逻辑和/或其他数据集、数据有效载荷等可以在跨节点传输,其中由于有序节点的属性,执行传输的步骤更加有效。多个节点中的每个节点包括多个网络接口,这些网络接口通过成对联结形成树形拓扑的数据网络。

Description

分层数据网络中的传输方法
技术领域
本发明的实施方式一般涉及电子数据通信领域,并且更具体地涉及用于分层数据网络的传输方法。
背景技术
多个节点是一个数据网络,其中每个节点通过能够传输数据的通信介质连接到多个节点中的至少一个其他节点。
数据网络可以是办公室中联结到公用数据服务器的多个计算机。可以通过网络电缆(例如光纤电缆、同轴电缆或双绞线电缆)进行联结。通过以某些频率(例如2.4GHz或5GHz)传输电磁波,在网络中联结节点的方法可以是无线的,其中耦合到计算机或数据服务器的天线发送或接收电磁波。多个节点可以由其他类型的设备组成,例如打印机、摄像机、电话、计步器、运动传感器、温度计和任何类型的传感器,可以对其进行编程以通过通信介质生成和传输数字数据。
数据网络可以是在整个汽车中安装的多个传感器,使得通过与周围环境的一种或多种物理相互作用来感测所述周围环境的某些特性,从而确定在油箱中的剩余油量、发动机温度、速度、是否系紧安全带或其他许多特性。这些网络的节点还可以包括致动器,其是能够执行功能或活动的设备。对于汽车,这可以是警告灯,如果一个或多个传感器满足一个或多个逻辑条件(例如,汽油不足,或者在已经按下按钮的情况下液压逐渐打开或关闭后备箱),则这些指示灯会亮起。随着汽车的运行,数据传输可能必须具有非常高的优先级,使得及时提醒不断变化的状况。多个传感器和致动器可以在诸如线缆的公共通信介质上传输信号。因此,除非处理通信介质的争用,否则存在数据信号彼此干扰的风险。
数据网络可以由安装在所谓的智能家居、智能办公室或智能零售空间中的传感器和致动器组成。这样的传感器的示例是温度计、运动传感器、环境光传感器、辨别门是否打开的传感器、烟雾传感器、一氧化碳传感器、音频传感器。这种致动器的例子是照相机、灯和照明器、开窗器、百叶窗、无线电源插座、智能冰箱、闹钟。这些传感器中的许多传感器很小,可以机械方式安装在整个家庭、办公室或零售空间中。由于它们的空间分布广泛,因此可以在不连接任何电线的情况下安装它们。这可能意味着传感器和致动器必须通过无线方式连接到数据网络。这可能进一步意味着传感器和致动器必须在不直接连接至电源插座的情况下被供电。后者可以通过安装可更换电池来解决。在必须更换电池之前,电池只能提供有限的能量。
期望消耗尽可能少的能量的设备。无线通信还意味着具有适当调谐天线的其他设备(不是网络的一部分)可以接收到传输到传感器和执行器的数据以及从传感器和执行器传输的数据。由于数据可以是私有的、专有的或不打算供第三方使用,因此这引起了安全方面的担忧。此外,对于跨越较大区域的安装,节点可以可靠并以足够的速度进行通信的范围可能接近或超过已安装数据网络的规模。
发明内容
在各个实施方式中描述了实施方式,其涉及在整个节点的数据网络中传输数据的方法,其中节点可以是致动器和传感器,其中该方法使得给定计算硬件执行所需的传输需要最少的时间和设计复杂性。
该方法在电子电路上实现,在各个实施方式中,该电子电路可以包括物理电路、电子路径和用于传输数据和/或功率的电子接口。在一些实施方式中,还构想了存储计算机可翻译指令的非暂时性计算机可读介质,该机器可翻译指令使处理器执行本文所述的各种方法的步骤。
这里描述的机制是关于“无地址数据传输”的,其尤其为数据传输领域的技术问题提供了技术解决方案。在没有地址的情况下,建立关系以提供用于功率和/或数据分组的传输的电子路径。
本文使用各种方法来描述提供“无地址数据传输”的传输数据的方法,该方法使用硬件、软件、嵌入式固件、电路和/或其组合来实现。
引入序次或将序次与节点相关联以建立关系,并且该序次可以以树形拓扑的形式存储在数据结构中。因此,节点的序次是已知的,并且逻辑和/或其他数据集、数据有效载荷等可以在节点之间传输。
在实施方式中,提供了一种用于在包括多个节点并且包括节点之间的多个连接的数据网络中传输多个数组的方法。多个节点中的每个节点包括通过其发送和接收数组的多个网络接口,并且通过节点的多个网络接口的成对联接来形成多个节点的节点之间的连接。连接的网络拓扑是树形拓扑。
用于传输数据的方法包括:对于多个节点中的所有节点向多个网络接口分配第一序次(例如,第一序关系);根据网络拓扑和多个网络接口的第一序次确定多个节点的第二序次(例如,第二序关系);通过多个数组的级联生成第一复合数组,使得第一复合数组中的第一数组和第二数组处于彼此等效的序次,作为第二序次的对应节点对。
序次与任何给定节点所在的网络接口有关。这意味着,第一序次使诸如“选择第一网络接口”或“选择下一个网络接口”之类的陈述明确且针对任何特定数据网络设施一以贯之。这是连接无地址节点的重要考虑因素,特别是对于具有多个可连接接口的模块化电子设备,其中事先不知道哪个连接将与哪个连接以及以什么序次连接(例如,用户正在使用模块化LED面板来组装几何形状,并且希望能够方便地连接它们,而无需考虑匹配特定的面板接口或建立形状并将其传送给中央控制器)。第二序次类似地是任何给定数据网络的节点的序次。一个重要的考虑是得出或确定第二序次。这是根据数据网络的其他两个属性完成的:数据网络的精确树形拓扑,以及构成数据网络的节点的第一序次。有了第二序次,复合数组方法的传输就利用确定的第二序次进行有效传输。
在所述整个数据网络中传输第一复合数组的内容,使得每个节点从至少一个通过第一网络接口连接的其他节点接收第一复合数组的第一连续序列,并且使得每个节点向通过第二网络与其连接的其他节点发送所述第一复合数组的第二连续序列,其中,根据所述第一和第二序次,根据所述第一连续序列构造所述第二连续序列。
创建复合数组的第一连续序列。“连续”一词的含义是(1)该序列是有序的,并且(2)该序列与第一复合数组的内容的一部分重叠。因此,可以通过简单地定义要应用于第一复合数组的内容的一个下限和一个上限来获得第一连续序列。
根据一些实施方式,该过程可以递归地继续。通过应用相同类型的最小设置操作,可以从第一连续序列构造第二连续序列,这实际上将第一复合数组(或分解包含第一复合数组的有序内容,如果可以的话优选对其进行公式化)分解成连续的序列。
另外,该多个连续序列是针对一个给定节点的,重叠的或非重叠的。换句话说,已经通过给定节点的第一网络接口接收到的第一复合数组的任何单个内容单元(定义为内容单元Ω)将仅通过同一给定节点的至多一个其他网络接口发送。可能不通过网络接口发送,因为该内容单元可能打算由一个给定节点使用。
在另一方面,与所述第一复合数组的所述第一和第二连续序列相关的功能包括:将第一连续序列分成数目等于或大于节点所连接的网络接口的数目的数组重叠或非重叠序列,并且以与其他重叠或非重叠序列的相当的序次(例如,根据等效序次关系),将所述第二连续序列作为重叠或非重叠序列分配给第一序次中的其他网络接口,作为第二网络接口。
在另一方面,与所述第一复合数组的所述第一和第二连续序列相关的功能包括:聚合数目等于或大于所述节点所连接的网络接口的数目的数组的重叠或非重叠序列,其中第二连续序列是相对于其他作为到第一序次的其他网络接口的第二网络接口的重叠或非重叠序列有相同的序次的重叠或非重叠序列,并且将所述聚合序列分配为所述第一连续序列。
在另一方面,该方法包括:在通过所连接的第二网络接口的所有连续序列的发送完成之后,生成/创建确认消息;以及通过节点的第一网络接口发送确认消息。
在另一方面,在通过第二网络接口发送第二连续序列之后直到通过同一第二网络接口接收到至少一个确认消息,多个节点中的至少一个节点暂停传输的进一步执行,使得所述传输的进一步执行以成功传输到在确定的多个节点序次中在前的节点为条件。
在另一方面,如果数据网络的节点在时间阈值内未能接收到由发送第二连续序列引起的至少一个确认消息,则生成错误消息。
在另一方面,对于数据网络一次获得所确定的第二序次,并将其存储在存储器中(例如,数据存储或非暂时性计算机可读介质),使得在创建第一复合数组和传输第一复合数组期间从存储器中检索所确定的第二序次。
在另一方面,对于数据网络,以小于或等于每秒四次的频率获得所确定的第二序次,并将该第二序次存储在存储器中的单元,使得在第一复合数组的创建及其传输期间从存储器中检索当前确定的第二序次。
在另一方面,网络接口包括以几何关系布置在多个节点中的每个节点上的串行端口。
在另一方面,多个节点中的每个节点的串行端口的数目等于三个。
在另一方面,多个节点中的每个节点的串行端口的数目等于四个。
其他数目的串行端口也是可能的,并且例如可以根据模块化电气组件(例如LED照明器)的侧面数目而变化。例如,这样的模块化电气组件可以包括三角形、矩形、五边形、六边形、七边形、八边形、非对角形、十边形等面板,并且这种面板的一部分或每个侧面可以包括需要分配序次以改善数据的接口。在一些实施方式中,也可以有一个或多个不具有接口的侧面(例如,六角形模块不必具有六个接口)。
在另一方面,多个节点中的每个节点的网络接口的序次对应于串行端口的几何关系的顺时针遍历。
在另一方面,多个节点中的每个节点的网络接口的序次对应于串行端口的几何关系的逆时针遍历。
在另一方面,多个节点中的节点还包括数字或模拟传感器,以感测节点的一个或多个状态或节点的环境,并且其中,感测到的状态被数字表示为形成在数据网络中传输的第一复合数组的数组形成部分。
在另一方面,多个节点中的节点感测到的状态是在该节点的紧邻中是否存在物体。
在另一方面,节点感测到的状态是在来自所述数字或模拟传感器的路径(例如10、15、20、25米)内的物体通过空气的运动。
在另一方面,节点还包括物理致动器(例如,驱动电流),该物理致动器被致动,使得根据由所述节点通过一个或多个其网络接口接收的所述第一复合数组的内容的部分设置所述组件的一个或多个状态。
在另一方面,节点的致动是针对多个发光二极管的驱动电流的设置。
在另一方面,将网络拓扑的树形拓扑确定为所有网络接口连接的生成树,使得生成树的连接是所有网络接口连接的子集。
在另一方面,提供了一种用于在包括多个节点并且包括节点之间的多个连接的数据网络中传输数组的方法,其中,数组传输是从多个节点中的一个源节点到一个目标节点;多个节点中的每个节点包括多个网络接口,通过该网络接口发送和接收数组,多个节点中的节点之间的连接通过节点的多个网络接口的成对联接形成,使得连接的网络拓扑是树形拓扑。该方法包括:对于多个节点中的所有节点,为多个网络接口分配第一序次;根据所述网络拓扑和所述多个网络接口的第一序次,为所述多个节点确定第二序次;通过第一数组以及第一整数和第二整数生成第一复合数组,其中根据所确定的序次内的所述源节点或目标节点的位置设置所述第一整数;以及在整个数据网络中传输第一复合数组的内容,使得节点通过第一网络接口接收第一复合数组,并且仅当在所述第一复合数组的第二整数与通过所述第二网络接口连接到所述节点的树形数据网络拓扑的分支中包含的节点数相加超过所述第一复合数组的第一整数的值后,通过第二网络接口发送所述第一复合数组。从节点的多个网络接口的第一序次迭代地选择第二网络接口,并且其中如果没有通过所述第二网络接口发送所述复合数组,则所述第一复合数组的第二整数增加包含在通过所述第二网络接口连接到节点的树数据网络拓扑的分支中的节点数。
在另一方面,根据在本文的实施方式中描述的各种方法,构想了对应的数据网络,该数据网络包括多个节点以及节点之间的多个连接,该数据网络的多个节点适于在整个数据网络中传输数组。
在另一方面,提供了一种存储机器可解释指令的对应计算机可读介质,该机器可解释指令在由处理器执行时使处理器执行本文实施方式中描述的方法。
在另一方面,用于数据传输的方法在控制无地址模块化电子设备的物理计算系统上进行。这些无地址的模块化电子设备例如可以在每个模块化电子设备的一个或多个连接点处以各种几何形状动态地连接。模块化电子设备包括可被视为“节点”的通信电路,并且利用本文所述的用于数据传输的各种机制来传输功率、数据及其组合。例如,模块化电子设备可以是照明器或照明器控制器电路,并且在控制消息跨多个节点的传播期间利用复合数组的传输,其特别可以适于根据不同类型图形设计的显示控制照明器或照明控制器电路的操作特性。如进一步详细描述的,数据传输方法在通过无地址的模块化设备建立数据消息的有效通信和传播方面可能是有益的。
更具体地,在示例实施方式中,用于数据传输的方法特别用于传播存储控制消息的数据分组,该控制消息尤其指示驱动电流,该驱动电流致动来自照明器或照明器控制器电路的显示变化或发光。
在实施方式中,经由节点和它们的连接通过数据有效载荷来发送信息,所述数据有效载荷包括用于转发的部分和用于执行的部分。描述了具有减少的转发所需开销的改进的数据结构,从而潜在地提高了效率。
该方法适用于具有树形拓扑的数据网络,其还覆盖了星形和线形拓扑。因为可以将通过第一多个节点到节点的连接来连接第一多个节点的任何网络做成连接同一第一多个节点但具有第二多个节点到节点的连接(其为第一多个连接的子集)的网络,其中第二多个连接具有树形拓扑(在现有技术中称为查找生成树的方法),在公开的预处理之后,可以使用传输方法在任何多个通常互连的节点之间传输数据。实施方式不限于树形拓扑的网络,而是限于各种拓扑,因为假定预处理总是可以创建生成树。
序次被施加在网络上。树形拓扑使得可以清楚地定义序次。有了可预测的序次,就可以构造复合数组,该阵列由具有网络中某个节点数据的数组组成,使得节点可以接收其数组,而无需在每个节点上执行除通过任何给定节点的网络接口的有序集合转发一组复合数组之外的任何其他逻辑操作。
在各种实施方式中,关于拓扑排序和划分或构造复合数组的逻辑执行的组合,描述了一种非常规的方法,使得复合数组内的位置被唯一地关联到数据网络中的节点,而无需额外的索引。该方法是图论方法的重要技术实现,用于解决实际的物理电子设备的技术问题。
在实施方式中,该机制经由有线通信介质连接节点,尽管其他介质也是可能的,并且其他类型的耦合(包括间接连接)也是可能的。有线介质的另一个优点是物理长度较短,这与树形拓扑结合使用意味着大型组件仍可以使用依靠非常适度的电压的数据通信方法来提高数据速率并减少不必要的电磁干扰。这不是新颖的数据传输方法的必要部分,但是,由于互连设备的大型物理组件可以以合适的操作变量值进行操作,因此它增加了该方法的实用性。
在实施方式中,该机构连接照明设备,例如颜色可调的LED照明器。在实施方式中,该机构连接可以感测触摸的LED照明器。
该方法可以应用于由多个节点组成的任何数据网络,其中,节点可以是传感器和致动器,其中,多个节点可以由功能上和结构上异构的设备组成。
在另一方面,网络又可以是网络的网络。
在各个其他方面,本公开内容提供了相应的系统和设备以及用于实现这样的系统、设备和方法的逻辑结构,例如机器可执行的编码指令集。
在这方面,在详细解释至少一个实施方式之前,应理解的是,实施方式不限于以下描述中阐述的或在附图中示出的组件的构造细节和布置。另外,应当理解,本文采用的措词和术语是出于描述的目的,而不应被视为限制。
与本文描述的实施方式有关的许多其他特征、排列及其组合是可能的并且可以预期的。
附图说明
在附图中,示例性地示出了实施方式。应当明确理解的是,说明书和附图仅出于说明的目的并作为理解的辅助。
现在将参考附图仅以示例的方式描述实施方式,其中在附图中:
图1是根据一些实施方式的数据结构图,其示出了示例数组和数字系统表示,该示例数组对来自不同颜色空间的LED照明器的光输出进行编码。
图2是根据一些实施方式的单个数据网络节点的示例的图示,该单个数据网络节点在一些实施方式中可以包括发光二极管。
图3是根据一些实施方式的数据网络的图示,该数据网络由以树形拓扑结构联结的四个LED照明器和一个控制器组成,其中每个LED照明器具有四个网络接口,并且可以发射一定数量的红色、绿色、蓝色和白色光。
图4是根据一些实施方式数组的数据结构图,示出了包括报头和有效载荷的示例数组,该示例数组使逻辑指令能够在数据网络中有效地传输数据。
图5是根据一些实施方式的表示数据网络拓扑的数组的图示。
图6是根据一些实施方式的用于检测布局的方法的示例流程图。
图7是根据一些实施方式的用于执行批量更新的方法的示例流程图。
图8是根据一些实施方式的用于执行单次更新的方法的示例流程图。
图9是根据一些实施方式的用于执行批量拉动的方法的示例流程图。
图10是厨房天花板中几个独立可控光面板的安装的渲染图,这些面板可使用一些实施方式的数据通信协议作为一个单元进行控制。
图11是儿童卧室墙壁上的几个可单独控制的光面板的安装的图示的渲染图,这些面板可使用一些实施方式的数据通信协议作为一个单元进行控制。
图12是根据一些实施方式的示出连续序列的实施方式的示例图。
具体实施方式
本文描述的实施方式针对与跨电子数据网络的通信有关的技术问题,尤其是在没有设置地址的组件之间通信的情况下。本文使用各种实现方法来描述提供“无地址数据传输”的传输数据的方法,该方法使用硬件、软件、嵌入式固件、电路和/或其组合来实现。引入序次或将序次与节点相关联以建立关系,并且该序次可以以树形拓扑的形式存储在数据结构中。因此,节点的序次是已知的,并且逻辑和/或其他数据集、数据有效载荷等可以在节点之间传输。内容的传输提供了跨拓扑的改进的数据传输,例如,跨无地址节点的树形拓扑的遍历。
这些是数据网络的三个非限制性示例,其示出了数据网络中的许多设计挑战。解决上述挑战的核心是通过网络打包和传输数据的方法。这些方法可以称为通信协议,或简称为协议。现有协议的示例包括但不限于Wi-Fi、BluetoothTM、以太网、ZigbeeTM。协议被指定为关于如何在数据网络中编码和传输数据的逻辑指令。一些协议包括有关如何将数据呈现给其他网络或设备或如何处理与因特网的连接的附加规范。因此,数据网络有可能使用在给定网络中传送一些数据和将一些数据传送到其他网络所需的不连续的命令和任务集的多种协议。逻辑指令可以用软件语言编程,一旦在诸如中央处理器(CPU)、微控制器或通常的集成电路(IC)的处理单元上执行,该逻辑指令就转换成命令序列。具体取决于数据网络所属的特定应用,数据网络的最佳安装方式,使用的协议以及协议的实现和执行方式可能会有所不同。
描述了提供用于创建通信协议的方法的实施方式。预期了相应的装置、设备、过程和计算机可读介质。描述了一种使用配置的硬件和软件的技术方法,提供了一种技术解决方案以提供改进的电子通信。
该协议使得能够在可能大量的多个异构设备之间以高数据速率进行数据通信。示例数据网络包括部分不是无线的通信介质,并且包括以已知或推断的抽象结构或拓扑彼此连接的多个节点,其中至少一个节点是能够与节点的本地网络以及其他外部网络通信数据的网络控制器。在一些实施方式中,数据网络是发光二极管(LED)灯或照明器的模块化组件的一部分,其可以由网络中通信的数据来致动,其中致动意味着从LED灯或照明器获得不同的光学输出。在一些实施方式中,网络是智能家居、智能办公室或智能零售空间的安装的一部分,其中多个传感器和致动器可以联结在一起并联结到至少一个可以执行涉及数据网络的多个传感器或致动器部分输入和输出的逻辑指令的处理单元。
提供了多个示例性实施方式。在不脱离实施方式的精神和范围的情况下,可以对实施方式进行电气、机械、逻辑和结构上的改变。
节点的组成及其控制
一个示例性实施方式是一种控制多个彩色LED照明器的方法。任何给定的LED照明器的光输出是来自多个LED芯片的光输出的混合。在一些实施方式中,LED芯片分别主要发射红、绿和蓝光。这可以称为RGB照明器。在一些实施方式中,LED芯片分别主要发出红、绿、蓝和白光。这可以称为RGBW照明器。在一些实施方式中,LED芯片全部发射白光,但是具有变化的相关色温(CCT)。这可以称为可调白光照明器。在一些实施方式中,所有LED芯片均发射相同类型的白光。这可以称为可调光照明器。LED是充当半导体的物质组成。
任何给定的LED照明器中的每个LED发光的强度是驱动LED的电流总量的函数。假设操作条件(例如但不限于温度和能量效率)在LED芯片的容限内,则给定LED芯片或序次连接的任何给定多个LED芯片的任何光输出均对应于电流。
可以将一个LED芯片或多个LED芯片的光学输出编码为数组,请参见图1。对于RGBW照明器,四个独立的数据单元可以对四个可单独控制的LED芯片类型中的每个应发出的光强度或光通量进行编码。照明器中的多个LED芯片可以由多个每种LED芯片类型组成。可能的构造可以包括三个红色LED芯片、三个绿色LED芯片、三个蓝色LED芯片和四个白色LED芯片。在这种结构中,数组中的第一个元素可以编码一致作用的红色LED芯片的光强度或光通量,数组中的第二个元素可以编码一致作用的红色LED芯片的光强度或光通量,数组中的第三个元素可以编码一致作用的蓝色LED芯片的光强度或光通量,而数组中的第四个元素可以编码一致作用的白色LED芯片的光强度或光通量。RGB、可调白色、可调光或其他照明器的数组中的元素可以遵循相同或相似的约定。
在图1(a)中,给出了RGBW照明器的数组的示例。在该实施方式中,整数255编码对应的多个LED芯片类型可以在照明器的操作公差内生成的最大光输出,并且在图1(a)中,该值被赋予红色和蓝色LED芯片类型。在该实施方式中,零编码用于无光输出,这是赋予绿色和白色LED芯片类型的整数。介于零和255之间的值编码两个极端之间的光输出。因此,在这种约定下,假设来自LED芯片的两个不同的光学输出已充分混合,则图1(a)所示的特定数组将对洋红色光学输出进行编码。
在实施方式之间,用于光学输出的色彩空间表示的类型可以不同。可以使用诸如RGB、CMYK、HSL、HSV、CIE 1931和CIEUV的色彩空间。图1(b)是某个光学输出的数据示例,其中颜色在HSL颜色空间中表示。在该实施方式中,与在RGBW实施方式中一样,数组被映射到多个电流,但是,使用了不同的映射。因此,只要可以将颜色空间表示中的至少一种转换成一个或多个驱动电流,就可以将所有颜色空间表示转换成一个或多个驱动电流。
图1(a)和1(b)中的数据以基于10的数字系统表示。在某些计算机应用中或通常在数字计算中,二进制数系统可能是优选的。在图1(c)中,以二进制数字表示形式显示了与图1(a)中相同的数据。在某些应用中,十六进制数系统可能是优选的。在图1(d)中,以十六进制数表示形式显示了与图1(a)相同的数据。可以考虑其他数字表示。由于可以在不同的颜色空间之间以及不同的数字表示形式之间制定转换,因此在数组的构造中采用哪种数字和颜色空间的表示形式并不重要。
参照图2,对于每个LED照明器,可以存在嵌入式微处理器或数字处理器101。如本文所用,这些设备通常旨在包括数字处理设备,例如但不限于数字信号处理器(DSP)、精简指令集计算机(RISC)、通用(CISC)处理器、微处理器、门阵列(例如FPGA)、PLD、可重配置计算机结构(RCF)、阵列处理器、安全微处理器和专用集成电路(ASIC)。这样的数字处理器可以包含在单个整体式IC芯片中,或者分布在多个组件中。嵌入式微处理器可以将任何编码形式的数组解释为电子指令,从而相应地改变LED照明器的光学输出。
对于每个LED照明器,可以存在易失性或非易失性存储器102。如本文所使用的,其包括IC或适于存储数字数据的其他存储设备,例如但不限于ROM、PROM、EEPROM、DRAM、SDRAM、DDR/2SDRAM、EDO/FPMS、RLDRAM、SRAM、“闪存”存储器(例如NAND/NOR)和PSRAM。存储器可以在设置的持续时间内,或者只要LED照明器通电,或者只要存储器的特定部分不会被其他数组覆盖,存储器可以存储用于以任何编码的光学输出的数组,或以任何编码的其他类型的数组。存储器被连接112到微处理器101,使得数组可以在两个组件之间传输。
对于每个LED照明器,可以存在一个或多个网络接口103。如本文所用,这是指与组件、网络或过程(例如但不限于Firewire(例如FW400,FW800)、USB(例如USB2)、以太网路(例如10/100、10/100/1000、10-Gig-E)、MoCA、串行ATA(例如SATA、e-SATA、SATAII)、Ultra-ATA/DMA、Coaxsys(例如Tvnet)、射频调谐器(例如带内或OOB、电缆调制解调器)、WiFi(802.11a,b,g,n)、Wi MAX(802.16)、PAN(802.15)或IrDA系列)对接的任何信号、数据或软件。一个或多个网络接口从外部源104接收数组到给定的LED照明器。网络接口连接123到存储器102,微处理器101或两者,以使得可以进一步处理接收到的数组,或者使得可以通过一个或多个给定LED照明器的网络接口将创建或存储的数组发送到外部节点。
对于每个LED照明器,可以存在时钟或内部时钟105。该时钟是调节任何计算功能速度的组件,该速度可以以赫兹为单位的时钟速率来度量。时钟速率可以是但不限于1kHz、5kHz、2MHz、4.77MHz、100MHz、5.5GHz。时钟可以与微处理器101集成在一起。时钟还可以使LED照明器跟踪持续时间,从而可以对诸如在一个执行的命令和事件之间经过多少时间的条件之类的逻辑指令进行编程并在微处理器上执行。
LED照明器可以包含附加的电子组件106。这些电子组件可以是适当地调节到LED芯片的电压和电流的任何电子组件,从而在获得期望的照明输出的同时还满足关于能量效率、电气安全性、电磁干扰以及其他最佳电气工程阈值的要求。电气配置或控制LED的确切组成或方法可能会有所不同。其他电子组件可以包含其他执行器和传感器,以使LED照明器能够执行照明以外的功能。这些辅助功能的确切组成可能有所不同,下面将进一步详细介绍它们在通信协议中的集成。
LED照明器或网络节点可以连接167到外部或内部电源107,使得各种组件可以起作用。电源可以是来自电网、电池或离网电源(例如太阳能电池)的直流电(DC)或交流电(AC)。在一些实施方式中,到外部电源107的连接是在与到外部数据源104的连接相同的介质上完成的。
LED照明器可以包含辅助光学器件,以在将光发射到周围环境以进行照明之前转换从LED芯片发射的光。辅助光学器件的确切组成或光学器件操作的方法可能会有所不同。
LED照明器或网络节点可以由材料108包围,该材料可以为组件提供机械支撑,并保护它们不受干扰,干扰例如但不限于物理损坏、湿度、干扰辐射。封闭材料还可以用于将内部组件的多余热量移除到周围环境。包围材料也可以被成形为使得其为LED照明器提供功能或美学上有利的形式。该材料可以是塑料聚合物、铝、钢、玻璃、木材或任何其他固体材料或它们的组合。
在一些实施方式中,本发明涉及与LED照明器不同的其他部件和功能。图2中的实施方式几乎不需要任何修改就可以描述环境温度传感器,其中微处理器、存储器、网络接口、时钟、附加电子组件、电源和具有上述针对LED照明器的特征的保护材料也被使用。温度计可以包括热敏电阻,该热敏电阻通过已知的关系将温度与电阻相关联,该电阻可以是次级组件106的一部分。可以通过在微处理器101上执行的逻辑指令将电阻的值转换为至少包含温度的数组,单位包括但不限于华氏度、摄氏温度、开尔文温度、朗肯温度。存储器102使得能够存储至少包含温度的数组或其他数组。网络接口或多个网络接口103使温度计能够与外部目标或源104通信数组或从外部目标或源104通信数组。如此通信的数据可以体现为数组,其中可以使用以上所定义的多个等价系统之一。这说明了图2中的构造可以应用于除LED照明器之外的其他传感器和致动器,假设次级电子部件106可以与微处理器通信数据。
还存在可以生成数据并进行通信的传感器的其他示例。可以感应到的数目包括但不限于某些化合物的化学浓度、电场、重力、湿度、在一定波长范围内的光强度、在某个参考系内的位置、磁场、运动、方向、压力、剪切应力、声音、温度、张力或压缩、扭转和振动。可用于生成这些量的模拟或数字信号的传感器包括但不限于空气流量计、音频传感器、测辐射热仪、电表、气量计、全球定位系统(GPS)定位器、红外传感器、微波辐射计、加速度计、陀螺仪或其他运动检测器、电位计、压力传感器、基于电容式感应的接近或触摸传感器、静态或视频摄像机、温度计。
通常参考作为数据网络的一部分的节点或网络节点。这应该被理解为是能够通过在各种实施方式中描述的逻辑指令来传达数据或数组的任何致动器或传感器。为了清楚起见,许多描述涉及LED照明器,但是实施方式不限于LED照明器的特定应用,而是可以应用于互连的电气组件,例如模块化电子设备。
多个连接节点和指令创建
在一些实施方式中,如上所述的多个LED照明器或网络节点通过网络接口彼此连接。一个或多个互连的LED照明器或网络节点通常也连接到控制器。控制器可以是包含微处理器、存储器、网络接口的设备,其中至少一个网络接口通常与至少一个LED照明器或网络节点的至少一个网络接口兼容。一旦连接到LED照明器或网络节点,控制器就可以通过网络接口与LED照明器或网络节点通信数组。在一些实施方式中,控制器可以与一个或多个LED照明器或其他网络节点集成在一起。这意味着包围控制器的组件的材料可以完全或部分地也包围LED照明器或其他网络节点的组件。这种构造的优点在于,对于观察者而言,控制器不是独立的物理单元,而是该组件可以包括视觉上明显相同的物理单元。因此,在所描述的实施方式中,控制器是在数据通信和总体上控制网络节点的网络中起特定作用的单元,并且控制器可以表现为与所有其他网络节点分离的组件,或者它可以表现为集成在一个或多个其他网络节点中。
在多个LED照明器或网络节点通过多个网络接口互连的实施方式中,源自控制器的数组可以到达网络的任何LED照明器或网络节点部分的网络接口。此操作可能需要LED照明器或网络节点执行逻辑指令以路由或以其他方式促进数组的传输,从而使其首先通过一个网络接口接收数组,然后通过相同或不同的网络接口再传输相同或更改的数组。下面将进一步描述如何实现这一点的细节。
在节点的网络中,其中节点执行一些需要电力的功能,例如但不限于从一个或多个LED芯片生成光,可以通过导电介质从相邻网络节点接收电功率。在这些实施方式中,网络节点中的至少一个连接到外部电源。如上所述,这可以包括但不限于通常提供设定电压的交流电的电网、离网电源(例如太阳能电池板)或电池。
在一些实施方式中,节点网络连接到一个以上的外部电源。在联结非常多的节点并且仅一个外部电源因此意味着必须在整个网络中传输相对大量的电流的情况下,这可能是有利的实施方式。网络的运行可以在节点分组之前进行,以便给定组的节点以及仅该组的节点由许多电源之一供电。组中的每个节点必须通过导电介质连接到所述电源,或通过导电介质连接到组中的至少一个其他节点,并且该组由至少一个具有前者属性的节点组成。可以预期将节点分配给组的方法类似于下面描述的数据通信方法。节点供电的确切方法可以独立于网络中数据通信的方法。因此,在本发明的所有实施例中,可以假定节点可以接入电力。
控制器可以执行逻辑指令,该逻辑指令涉及从外部设备而不是上述LED照明器或网络节点发送和接收数据。外部设备包括但不限于台式计算机、笔记本电脑、智能电话、路由器、可穿戴式计步器、心脏监护仪、摄像机、运动传感器、门铃、麦克风或与因特网相连的远程处理器或计算机,其中后者可以执行与应用相关的逻辑指令,应用例如但不限于社交媒体资料、在线天气服务、股票市场或商品市场上的实时价格、电子邮件或消息传递服务。通信介质可以是有线的,例如但不限于以太网或电力线通信(PLC),也可以是无线的,例如但不限于Wi-Fi、BluetoothTM和ZigbeeTM。连接两个原本不相交的网络,或在两个原本不相交的网络之间连接并适当转换数组的设备可以称为网关。
控制器可以包含规则引擎,该规则引擎将某些输入与某些输出相关联。输入可以是一个数组或多个数组,数组源自控制器和LED照明器或节点外部的源,或者可以源自多个LED照明器或节点内。规则引擎生成的输出可以通过一个网络接口发送到控制器外部的源,也可以通过一个或另一个网络接口发送到多个LED照明器或网络节点。规则引擎在控制器(其可以是一个和另一个不同网络之间的网关)上的执行因此可以将来自一个数据网络的输入与要发送到一个数据网络的输出相关联,或者可以将来自一个数据网络的输入与要发送到另一个数据网络的输出相关联,也可以将来自另一个数据网络的输入与要发送到一个数据网络的输出相关联。
规则引擎可以适应于辅助输入,并且因此改变,使得来自一个或另一个网络的给定输入与规则引擎的先前实例处的另一输出相关联。适应可以使得规则引擎完全或近似地满足目标。可以将目标编码为目标函数,该函数创建规则引擎能够达到目标的拟合度值。该目标函数又可以与元规则引擎一起使用,使得调整规则引擎的内部参数,从而增加更好的拟合度值的可能性。
规则引擎和元规则引擎可以实现为存储在数字存储器中并由控制器的微处理器执行的逻辑指令。可以使用方法来实现规则引擎,方法诸如但不限于决策树、支持向量机、线性判别器、神经网络、卷积神经网络、朴素贝叶斯分类器、线性回归、逻辑回归或各种集成方法,诸如但不限于随机森林、决策树的梯度增强、决策树的套袋。元规则引擎可以用相同的方法或优化方法实现,例如但不限于零阶优化方法,例如遗传算法、随机游走、Metropolis-Hastings蒙特卡洛方法、模拟退火或更高阶优化方法,例如梯度下降、拟牛顿、Levenberg-Marquardt方法。
规则引擎和元规则引擎的逻辑指令的一些或全部部分通常可以在控制器和LED照明器或网络节点外部存储和执行。该执行可以在单独的计算机、智能电话或计算设备上进行,该计算机、智能电话或计算设备通过网络接口从控制器接收输入,根据规则引擎评估输出,然后通过网络接口将输出传输到控制器。在这些情况下,控制器可以包括其他逻辑指令,以确保其接收的输入是真实的,并且不是由不应访问控制器的外部源生成的。
通常在控制器和LED照明器或网络节点外部执行的规则引擎具有以下优点:它可以控制多个原本分开的数据网络。这种设计使得能够以更少的组件或更小的组件或更便宜的组件来构造控制器,这可以增加特定实施方式的实用性。但是,如果暂时或永久禁用与外部计算设备的网络接口,则此设计很容易受到攻击。与外部计算设备的通信还可以增加数组的传输与其处理以生成输出之间的持续时间。因此,控制器和规则引擎的最佳实施方式可以取决于用例以及针对预期应用的成本和风险分析。然而,相对于本发明,通常,相对于LED照明器或网络节点的确切位置(评估规则引擎的位置)并不重要,并且可以设想上面列举的任何变化。因此,对控制器和在控制器上执行的命令的任何描述一般都可以指代相对于多个LED照明器或网络节点的一个或多个本地或远程设备,或者某些设备在本地而某些在远程的某种组合。
可以指示规则引擎在任何给定的实例及时创建用于LED照明器的光学输出的数组,参见图1。在包括多个LED照明器的实施方式中,因此创建了多个数组,其旨在指示光学输出要生成的所有特定子集或各个LED照明器的一部分。多个数组可以由另一来源生成,诸如通过诸如命令行、触摸屏的用户界面或通过语音指令手动创建数组。关于本发明,创建多个数组的方法以及多个数据到达控制器的方式并不重要,并且可以使用任何上述方法或其他方法。
因此,下面将详细描述的方法涉及通常如何将由控制器接收,在控制器中存储或由控制器生成的给定多个数组从控制器传输到LED照明器或网络节点。待描述的方法还涉及通常由多个LED照明器或网络节点存储或生成的给定的多个数组如何传输到控制器。LED照明器执行以便将给定的数组转换为光输出,或者网络节点通常执行以便将给定的数组转换为变更状态的逻辑指令可以如上所述,也可以通过任何其他方法。网络和传输协议可以独立于数组的生成方式以及给定类型的网络节点的逻辑指令对数组的解释方式。这是分层设计原则的一个示例,在处理公共和专有通信协议时经常要考虑这一点。
参照图3中的LED组件的示例性实施方式,存在四个相同类型的互连的LED照明器200,其中多个联结到控制器211。每个LED照明器可以关于来自红色、绿色、蓝色和白色LED芯片类型的光通量独立地设置,其中这些通量被编码为数组201。因此,任何时候LED照明器之间的数组都可以不同。
图3的示例性实施方式中的每个LED照明器具有四个不同的网络接口103,它们可以连接104到另一个LED照明器、控制器或不被占用。网络接口103在给定的LED照明器内,其在特定的实施方式中,通过标识符a、b、c和d唯一地识别。其他实施方式可以使给定LED照明器内的网络接口可识别。在一些实施方式中,作为互连组件的一部分的每个LED照明器200在特定的实施方式中通过罗马数字I,II、III和IV唯一地与标识符202相关联。也可以采用不同的手段来识别LED照明器。LED照明器或网络接口的标识符在产品的生命周期内可以是静态的,也可以通过某种方法在产品的生命周期内进行更改。在各种实施方式中,本文提供的第一序次是指任何节点特征上的网络接口的序次。提供了一个字典序次,即a>b>c>d,这在图3的特定示例中是正确的。但是,可以考虑其他序次,包括通过顺时针和逆时针遍历建立的序次,因为在各个实施方式中,它们在特定示例中与字典序次部分相同。
第一序次可以被认为是“第一序关系”,它是任何给定节点的网络接口所处的序次。这意味着,第一序次做出如下陈述:“选择第一网络接口”或“选择下一网络接口”是明确的,对于任何特定的数据网络安装一以贯之。如下所述,可以基于第一序次(例如,关于图6)建立第二序次。
连接104个LED照明器的装置可以是短线或刚性连接器,其实现数组的通信。上面的段落中列举了此类方法的示例。在电线或刚性连接器的情况下,LED照明器的连接方式反映了它们在安装空间中的相对空间布置。连接方式也可以通过长而柔软的电线或无线方式进行。上面的段落中列举了此类方法的示例。在这些情况下,图3中的连接104不必反映LED照明器在其安装空间中的相对空间布置。
数据网络与拓扑
可以将图3中的连接104理解为无论其物理表现形式还是通信介质的物理特性如何都是数组在LED照明器之间或LED照明器与控制器之间通过它们各自的网络接口传输的可用路径的抽象表示。在这种抽象的理解下,多个LED照明器或通常为网络节点,并且多个连接包括数据网络。
在某些连续转换下不变的数据网络中多个节点到节点连接的定性几何方面被称为网络拓扑,简称拓扑。通过网络接口103之间的连接104的穷举枚举,完全定义了图3中的示例性数据网络的拓扑:LED照明器I连接到控制器以及LED照明器II和III,LED照明器III连接到LED照明器IV。网络拓扑可以表示为数学图。网络拓扑表示可以体现在数组中,下面将进一步讨论。
在图论的文献中已经描述了几种类型的网络拓扑。这些包括:
1.线形拓扑。网络中的每个节点都连接到其他两个节点,除了两个仅连接到另一个节点的节点。这可以看成一条线,其中要从一个节点传输到另一节点的数组只有一条最短路径,该路径可能涉及中间节点。在网络中只有两个节点的情况下,特定的线形拓扑可以称为点对点拓扑。
2.环形拓扑。网络中的每个节点都连接到其他两个节点。这种拓扑结构意味着节点以环形方式连接,因此要从任何一个节点传输到任何其他节点的数组具有两条可能的路径,即顺时针方向或逆时针方向,这两个路径都可能涉及中间节点。
3.总线拓扑。每个节点都连接到公用网络主干,该公用主干是通过其传输数组的通信介质。此拓扑与前两个拓扑的不同之处在于,可以在任何两个节点之间发送数组,而无需涉及其他节点。由于数组的所有传输都是通过网络主干完成的,因此,如果同时发送多个数组,则可能会争用该资源。
4.星形拓扑。每个节点仅连接到一个其他节点,除了一个连接到所有其他节点的节点。这种拓扑结构意味着有一个中央节点,所有数据包都必须通过该中央节点进行传输,而不需要所有其他节点来辅助数组传输。在典型的实施方式中,中央节点是网络控制器。
5.树形拓扑。节点按层次结构连接,其中给定节点在层次结构的每个级别上连接到层次结构自身上方的一个节点,并连接到层次结构中自身以下的零个或多个节点,并连接到层次结构的同一级别中的零个节点。因此,树形层次结构包含一个根节点,它可以是控制器。要往返于距离根较近的节点(包括根本身)或距离根较远的节点之间传输的数据包只有一条最短路径。可以证明,树形拓扑包含的一个节点到节点的连接少于网络中节点的数目。在树形拓扑的特殊情况下(其中每个级别仅包含一个节点),将获得线形拓扑。在树形拓扑(根节点下仅存在一层)的特殊情况下,将获得星形拓扑。
6.完全连接的拓扑。每个节点都连接到所有其他节点。从一个节点到任何其他节点的数据包传输从概念上讲是简单的,因为可以保证存在一个直接连接,并且不需要其他节点作为中间节点。
7.网状拓扑。每个节点可以连接到网络中一个、所有或中间数目的其他节点。这是约束最少的拓扑。这种拓扑的网络可以包含一些节点,这些节点比其他节点更多地连接,但是没有连接到所有节点,因此可以在涉及多个其他节点的节点之间传输数组。可能有多个传输路径,包括其中数组可以返回其源的环路。少数约束意味着存在许多特殊情况,因此,为了处理数组的传输,需要比大多数其他网络拓扑更复杂的逻辑指令。
8.混合拓扑。该拓扑是其他拓扑的组合,从而可以将网络完全划分为互连的子网,其中每个子网都具有上述类别之一的拓扑,但不一定是同一类别。
因此,图3中的网络是树形拓扑,其中控制器是根节点,其他节点在根节点下方的三个级别中排序。具有标识符I的LED照明器在层次结构中比具有标识符II和III的LED照明器高一级。具有标识符IIV的LED照明器在层次结构上依次低于所有其他LED照明器,并且仅连接到自身上方的一个LED照明器,即具有标识符III的LED照明器。
由于数据网络是通过多个设备的联结而构建的,因此数据网络拓扑的属性对于具有有关操作变量(例如,但不限于数据传输速度、功耗、安装简便性)的某些所需性能的应用程序可能有利,并且对于操作变量具有某些所需性能的应用程序(例如,但不限于数据传输速度、功耗,安装简便性)可能不利。树形拓扑可以用于通过多个节点到节点的连接来连接多个设备,其中每个连接的物理长度都相对较短,但是其中多个设备一旦联结起来便具有更大物理尺寸的组件。
相对短的物理长度的连接提供的优点是减少了由于电阻或其他过程引起的信号损失或干扰。因此,多个设备或节点中的一个设备或节点可以通过给定介质将信号发送到相邻设备或节点,其中物理信号中的相对较小的差异表示给定数据编码中的特定符号。在一些实施方式中,两个符号之间的差被编码为信号的电压差。连接的较短的物理长度因此可以实现两个电压之间的相对小的差异,或者换句话说,电压摆幅可以相对较小。这又可以使整个数据网络传输的数据速率更高。小电压摆幅和连接的物理长度短的另一个好处是,无需使用复杂的材料或电气工程,就可以更轻松地减少不必要的电磁干扰。不需要的电磁干扰在全球范围内受到监管。
这些特征暗示可以通过以嵌套树形拓扑通过物理上短的连接来联结设备来构造多个设备的物理上大的组件。因此,尽管整个组件的尺寸很大,仍可获得如上所述的有利的操作变量。因此,一种有效地处理整个树形拓扑的数据网络中的数据传输的方法是有用的,并且可以使许多与工业有关的应用成为可能。
数据传输的主要方法
传输数组的一种方法是通过网络广播。网络广播被定义为控制器将相同的数组发送到网络中的每个其他节点。在图3的示例性实施方式的数据网络中执行广播的逻辑指令如下。
首先,通过控制器211的网络接口103从控制器211传输数组。对具有标识符I的LED照明器进行编程,以设定频率监视其每个网络接口上的活动。该过程可以称为轮询,并且由微处理器执行的逻辑指令控制。当在其网络接口a处发现数组时,将检索整个数组并将其放入存储器。在这种情况下,节点继续通过b、c和d将数组传输到未从中获得数组的每个网络接口。其他LED照明器的编程方式与第一个LED照明器相同,因此它们也将在设置的等待时间后通过其各自的网络接口之一检索数组,并继续通过其每个其他网络接口进行传输。这些步骤将递归地继续进行,直到数据网络的所有节点都已接收到数组。因为网络是树形拓扑,所以网络中的任何给定节点只能以一种方式接收数据包。由于树形拓扑属性导致:连接到给定节点从其接收数组的网络接口以外的网络接口的任何其他节点在树层次结构中严格低于给定节点。在所描述的步骤中,每个LED照明器都能够接收和转发数组。
在一些实施方式中,如果网络接口接收到数组,则它能够向微处理器发出网络中断请求。该请求指示微处理器抓住较低优先级的正在进行的活动并启动逻辑指令例程的执行。中断方法相对于轮询方法的优势在于,只有在存在数组时,微处理器才与网络接口配合。中断方法可能具有以下缺点:必须在微处理器以及可能的网络接口上提供附加逻辑指令,使得正确处理中断而不会破坏其他正在进行的进程。至于通过LED照明器接收和转发数组的能力,可以使用网络中断方法或轮询方法。
为了通过指令将数组发送到网络中的一个特定的LED照明器,例如,调整其红色、绿色、蓝色和白色光学输出,可以执行另一组逻辑指令。该方法应适用于任何树形拓扑,因此不能假定生成数组的控制器与特定节点直接接触。为了说明的目的,要发送的指令是针对图3中具有标识符III的LED照明器以将红色、绿色、蓝色和白色光学输出设置为其最大值255。逻辑指令如下。
首先,控制器创建如图4(a)所示的数组。它由有效载荷1001和报头1002组成。有效载荷1001和报头1002是以某种数字系统编码的数组,例如但不限于二进制、十六进制或10基数系统。在示例性实施方式中,有效载荷1001是与图1中的数组相似或相同的数组,并且具有与上述相同的属性。它是有效载荷的数组,一旦被预期的LED照明器接收到,就会生成用于光学输出的指令,如上所述。标题中数组的目的可以部分或全部用于实现正确的传输,如下所述。
其次,通过上述一系列逻辑指令,通过网络广播图4(a)的数组。第三,除了由每个LED照明器的微处理器执行的用于广播的逻辑指令之外,还执行逻辑指令,其中将报头中的数组与编码给定LED照明器的标识符的数组进行比较。如果比较中的两个数组不相等,则除了广播所需的指令外,不执行其他指令。如果比较中的两个数组相等,则执行一个独特的逻辑指令集,该指令集至少可以包含以下步骤:检索有效载荷数组,并将其输入到逻辑程序中,逻辑程序继续据此设置LED的光学输出照明器。在所描述的步骤中,每个LED照明器都能够接收,转发和消耗给定的数组。
为了指示图3的示例性实施方式中的两个LED照明器改变光输出,一组逻辑指令将依次执行上述命令中的两个。控制器的另一种选择是将第二数组,有效负载1005和报头1006,附加到第一数组,有效负载1003和报头1004,并作为单个但更大的数组进行广播,请参见图4(b)。在这种情况下要执行的逻辑指令可以如下。
首先,控制器在图4(b)中创建数组。其次,如上所述广播数组。第三,每个LED照明器或网络节点的微处理器执行第一头部1004中的数组与包含给定节点标识符的数组的比较。如果存在匹配,则检索第一报头之后的数组的分量,该分量具有已知大小并包含相关的有效负载1003,并用于设置光学输出。如果不匹配,则将第二报头1006与包含给定节点标识符的数组进行比较。如果存在匹配,则取回第二报头之后的数组的分量,该分量具有已知大小并包含相关的有效载荷1005,并将其用于设置光学输出。
为了减少要在数据网络的微处理器上执行的指令的所需数目,可以对上述方法的第三步骤进行以下修改。对于给定的LED照明器或网络节点,如果在第一或第二报头中的数组与节点标识符的比较中存在匹配,则如上所述检索关联的有效负载。但是,此外,还对数组进行了编辑,以使匹配的报头及其关联的有效负载从转发给其他网络接口的数组中移除。如果移除所述的之后的数据分组为空,则没有任何内容发送到网络接口。逻辑指令的这种添加的结果是,在将数组发送到数据网络时,必须执行的逻辑指令较少的可能性不为零。例如,具有标识符IV的LED照明器将不会执行涉及包含标识符III的报头1004的数组的比较,因为来自控制器的原始数组的那部分会被树形拓扑上方的LED照明器移除。在所描述的步骤中,每个LED照明器都能够接收,转发,消耗和编辑给定的数组。
到目前为止,已经描述了这些方法,使得整个数组在通过网络接口接收时就被存储在存储器中。仅在获得了整个数组之后,才执行逻辑指令,例如但不限于报头中数组的比较,调整LED芯片的光输出的指令以及将数组转发给其他网络接口的指令。可以修改所有网络和传输方法,以在完全接收数组之前开始传输数组的位。这可以称为直通切换。所涉及的步骤的示例性实施方式如下。
首先,给定节点的网络接口开始接收传入数组的各个元件或位。其次,一旦已经完全接收到第一报头,则微处理器执行第一报头中的数组与节点标识符的比较。第三,如果存在匹配,则将数组有效负载存储在存储器中,然后用于设置光学输出。传入数组的其余部分(如果有的话)可以直接切换到其他网络接口,因为相关的数据分组有效载荷已经被消耗。在该实施方式中,微处理器还可以被编程为去除包含已消耗的数据分组有效载荷的接收数组的一部分。如果不匹配,则逻辑指令是将数组切换为转发到其他网络接口,直到接收到下一个报头,然后再次进行比较。
可以想到直通交换的其他变体,其中,将数组发送到其他网络接口的交换在接收到数据后立即开始。数组可以通过网络更快地传输。另一个变体可以接收并存储数组的第一部分,即报头和有效负载,在转发任何内容之前进行比较,并在适当的情况下消耗整个数组的这些部分。可以考虑其他方法,这些方法通过在微处理器上执行的逻辑命令来指示对输入数组的一些部分处理,然后将一些数组传输到其他网络接口。
直通交换的优点是可以减少等待时间,特别是对于在非常大的数据网络中传输的非常长的数组而言。在接收带有针对许多节点的指令的较长数据分组的较大数据网络中,在任何给定节点处处理的特定数组元素或位将被所述节点消耗的可能性降低。因此,减少专门为转发数组而执行的逻辑指令的数目是有效的。另一个优点是可以降低对每个节点具有多少可用存储器的要求。具有批量存储数组的批量存储器的组件可能比具有存储数组的的较小存储器的组件更昂贵。因此,减少的材料成本可以提高产品和数据网络的实用性。
在以上实施方式中,控制器将向节点或LED照明器发送指令以改变其光输出,其被定义为用于红色、绿色、蓝色和白色光通量或强度的数组。在一些实施方式中,代之以指示控制器确定一个或多个LED照明器的当前光学输出,换句话说,控制器需要从数据网络接收数组。在示例性实施方式中,编码当前光输出的数组可以与图4(b)中的相同。控制器上的逻辑指令将数组解释为有关当前光输出的信息,而不是更改光输出的指令。
可以通过多种不同方式来实现通过数据网络完成该任务的方法。接下来给出示例性实施方式。
在一些实施方式中,对每个节点或LED照明器进行编程以确定具有设定频率的其光输出的值,并将其存储为诸如图1所示的具有特定色彩空间和数字系统表示的数组。微处理器从存储器中检索编码节点标识符的数组。将这两个数组附加到一个更大的数组中,如图4(a)所示。随后将数组转发到给定节点或LED照明器的所有网络接口。树形拓扑意味着这些网络接口之一将连接到层次中较高的节点或LED照明器,因此更靠近控制器。
当另一节点通过其网络接口之一接收由此生成的数组时,该节点通过上述方法之一对其进行处理。这意味着,该节点至少将数组转发到其其他网络接口。由于报头不会与任何其他节点的标识符匹配,因此数组将不会被消耗,并且可以在接收到数组时被转发。由于树形拓扑保证了网络接口之一连接到网络层次中较高的节点,因此更接近根,因此数组更接近根。转发过程将以递归方式继续进行,直到控制器通过其网络接口接收到数组为止,以及一旦数组到达网络中的终端节点(即仅连接到层次中较高节点的终端节点(在这种情况下,数组将不再转发)),则转发过程将继续进行。可以指示控制器的存储器和微处理器处理接收到的数据分组,以又生成新指令,该指令通常发送到LED照明器或节点的网络,或者通过控制器的另一个网络接口发送到外部目标。
在其他实施方式中,控制器在节点处发起数组的创建。控制器可以生成数组,如图4(c)所示。如先前的实施方式中那样,数组由包括节点标识符1201的报头1102组成。另外,标题包含可以理解为消息类型标识符1202的部分。该标识符是字典的键,该字典将给定的键值映射到有效载荷数组1101的解释。在图4(c)中,消息类型标识符为1,并且在字典中,此整数映射到逻辑指令集,该逻辑指令集一旦执行,就将有效负载1101解释为生成当前光学输出的数组或不生成这样的数组的命令。逻辑指令可以如下。
给定节点的网络接口接收数组。将报头分为两部分,并将包含具有节点标识符1201的数组的部分与给定节点的节点标识符进行比较。如果不匹配,则通过任何方法(例如上述方法)转发数组。可以使用直通切换。如果匹配,则将包含具有消息类型标识符1202的数组的报头部分与字典的键进行比较。如果数组或值等于编码用于报告当前光输出的数组或值,则检索并解释有效载荷1101。在图4(c)的实施方式中,有效载荷是布尔值,但是可以使用指令的其他表示。如果有效载荷的数组或值生成适当的比较,则执行上述逻辑指令,并如上所述创建和转发数组,例如图4(a)中的阵列。
在一些实施方式中,消息类型标识符不与如图4(c)中的有效载荷相关联。逻辑指令可以使得接收到的数组中给定消息类型标识符的存在与某个逻辑指令集相关联。接收到的数组中缺少所述消息类型标识符与不执行相同的逻辑指令集相关。在这些逻辑指令中,图4(c)的有效负载是隐式的,可以避免显式编码。
在最近实施方式的所描述的步骤中,每个LED照明器或节点通常能够接收,转发,消耗,编辑和创建数组。
在一些实施方式中,数据网络既可以报告通常被编码为数组的节点的当前光输出或其他状态,也可以指示通常被编码为数组的节点的光输出或其他状态的改变。实施方式的组合可以要求将消息类型标识符1204分配给调整光输出的指令,例如参见图4(d)。在较早的实施方式中不需要这样做的原因是有效载荷只有一种含义。
在一些实施方式中,附加的消息类型标识符被用于实现逻辑指令集和有效载荷数组的附加关联。可以以除了调整其光输出以外的其他方式来致动节点的数据网络是一个示例。处理和传输光输出和感测到的环境温度的数据网络是另一个示例。下面描述了其他示例性实施方式,并且到目前为止的实施方式旨在说明数组传输的逻辑概念,而不是提供应用的详尽列举。
在其中节点可以创建消息以及接收,转发,消费和编辑的数据网络实施方式中,可以添加附加逻辑指令以支持确认。在通信介质、网络接口或某些其他组件或功能不能保证每次都无故障操作的数据网络中,可以对每个节点进行编程,以确认其在接收并消耗了针对此目的的有效载荷后更新其光输出或其他状态。在这样的实施方式中,控制器可以被编程为基于关于在某个时间阈值内是否接收到确认的条件来执行一组逻辑指令。时间可以用内部时钟度量。
节点创建的以确认它已更新了定义其状态(例如光输出)的数组,可以如图4(c)所示。与之前的区别在于,报头1102中的消息类型指示符1202应对应于至少对控制器可用的字典中的确认。生成的用于确认的数组可以如图4(d)所示。与之前的区别在于,报头1104中的消息类型指示符1204应对应于至少对控制器可用的字典中的确认。可以预期其他数组来定义确认。
一旦指定时间内未能接收到适当的确认数组,控制器可以重新创建用于指令的原始数组,或在可用的情况下从存储器中检索它,然后通过适当的网络接口再次转发。控制器可以继续执行此操作,直到收到确认或尝试次数超过设置值为止(无论谁先发生)。
在由于通信介质由于随机波动的干扰或噪声而不可靠从而数组没有正确使用的情况下,重复尝试会增加接收至少一个数组的可能性。无线连接可以依靠无线电、光或音频信号在环境空间中传播,并且此类信号可能会受到空间中的物体或通过同一空间传播的其他信号的干扰、消灭或以其他方式修改。预期能够依靠导电或通过光纤的光信号的有线连接受到的干扰较小。但是,噪声可能是由数据网络或单独设备的其他导电部分引起的,它们耦合或干扰导线,从而在给定的通信介质中引入一定程度的噪声。信号幅度的增加是克服由于干扰噪声引起的信号损失的一种方法。这是一种超出阈值的方法,会在给定设备之外生成电磁辐射,这会影响附近其他设备的性能,包括但不限于扬声器生成的声音的音频失真。可以考虑其他噪声源,但是不管噪声源如何,重复的传输都会增加接收数组的可能性。
如果控制器在反复尝试后仍未收到确认,则可以在该条件下对控制器进行编程,以生成错误消息,该消息将通过单独的网络接口发送,以警告用户或机器消息传递失败。控制器可以被编程为在该条件下,更新其数据网络的内部数组表示形式,实际上是假设未能收到确认是网络拓扑已更改的指示。
可以预期其中需要确认以在逻辑指令集之间进行选择的数据网络的其他应用。
一些通信介质可以部分地反映对数组进行编码的信号。如上所述,在其中传输无线信号的空间中的物体可以修改信号,使得其被反射,并且可能具有减小的幅度。在有线通信介质中,反射可能发生在阻抗不匹配的接口处。在很少发生反射或振幅比原始信号低得多的高度概率的实施方式中,不需要附加的逻辑指令。在不成立的实施方式中,每个节点可以执行逻辑指令,以确保在第一数组的某个阈值持续时间内接收到第二数据的情况下,与第一数组相同的第二数组被丢弃。可替代地,可以引入幅度阈值,该阈值降低了由于通信介质中的缺陷而两次接受相同数组的风险。可以考虑处理该问题的其他方法。
到目前为止的实施方式已经用至少包含有效载荷,在某些情况下包括报头的数组进行了描述,该报头又被描述为包含节点标识符或消息类型标识符。利用数组的这些组件,已经描述了用于传输数据和执行逻辑指令的方法的多个示例性实施方式。在一些实施方式中,报头将包含附加的数组,其可以用于网络中数据的有效传输以外的目的。其他数组的示例包括但不限于:点计数器,每次转发数据分组时,该计数器都会增加一些整数;校验和字段,该值可用于确定数组在传输时是否损坏;版本标识符,其是使节点能够确保生成数组的逻辑指令的版本与正在消耗或转发数组的逻辑指令的版本兼容的值;报头长度规范,其是指定包含报头的数组有多长时间的值;消息优先级标识符,其对有效负载的优先级进行排序,使得在网络接口存在争用时,先处理优先级较高的消息,再处理优先级较低的数组;数据源标识符,其指定哪个节点生成了数组;安全类型标识符,如果有效载荷被加密并且安全类型使节点能够以适当的方法解密消息其可以使用;未指定的数组,其可以是报头的一部分,但可能不包含任何要解释的数据,相反,它是为了实现将来的功能或自定义功能实施而无需更改报头的数组的总大小。包含其他数组的报头不会更改上述传输方法的重要方面。因此,应当将示例性实施方式理解为描述最小数组可以是什么使得执行传输,而不是作为数组可以包含什么的完整规范。
基于拓扑的数据传输方法
到目前为止描述的实施方式已经隐式地使用树形拓扑。在接收和转发消息时,永远不会通过接收数据分组的网络接口转发数组。在树形拓扑中,这可确保数据分组在节点层次结构中仅向下或向上移动,而不会双向传播。该关系还暗示在任何给定节点处只能通过一条路径接收数组。由于所描述的拓扑和逻辑约定,消除了节点在两个不同的时间通过两个不同的路径接收到由控制器转发的一个数组的事件。因此,在每个节点上不需要逻辑指令来确定是否已经接收到并且可能消耗了已接收到并且可能消耗的数组。
在某些实施方式中,树形拓扑可以明确地用于使网络中数组的传输更加有效。该方法的这些实施方式要求将网络拓扑表示为数组,其在一些实施方式中可以由在控制器上执行的逻辑指令使用,并且在一些实施方式中可以由在控制器上以及一个或多个网络节点上执行的逻辑指令使用。该方法的这些实施方式需要一种方法来将网络拓扑的所述表示创建为数组。接下来将详细描述这两个方面。
具有节点标识符的有序对的数组可用于将树形拓扑的表示体现为数组。如图3所示的数据网络的实施方式在此约定下生成如图5(a)所示的数组。该对中的第一个标识符表示树中较高的节点,顶部的控制器标识符为C。在该表示中,节点II和IV很容易被识别为终端节点,而与层次结构中较低的节点没有任何连接,因为标识符II和IV仅在对列表中作为第二个标识符出现。
替代地,可以使用节点标识符和与另一节点标识符相关联的网络接口标识符的数组。如图3所示的数据网络的实施方式在此约定下生成如图5(b)所示的数组。除了先前的表示形式之外,该表示形式还包括有关正在形成任何给定节点到节点连接的网络接口的标识的信息。由于网络接口可以不被占用,因此数组必须能够表示在图5(b)中已任意选择了空集符号。
在一些实施方式中,未占用的网络接口未明确地编码在数组中,而是省略了图5(b)中的对应对。这些实施方式中的逻辑指令可以被构造为使得在执行时不存在配对,则推断相关的网络接口未被占用。
在一些实施方式中,网络接口标识符未在数组中显式编码,而是它们的序次是任何逻辑指令中的已知常数。对于图3中的数据网络,网络接口的序次可以按字典序次排列,即a在b之前,b在c之前,c在d之前。可以考虑其他序次。按照这种约定,可以获得如图5(c)所示的数组。
替代地,可以使用仅包括到树层次结构中较低节点的连接的连接的数组。图5(b)中的数组例如冗余地表示具有标识符I的节点连接到具有标识符II的节点。按照仅列出与较低节点的连接的约定,将移除此冗余。按照这种约定,可以获得如图5(d)所示的数组。
替代地,可以使用连接的数组,其仅包括树层次结构中较低的节点的数目,并且它们进行连接通过的网络接口。图5(e)中的数组是示例。它没有指定节点标识符,而是代表有序网络接口的拓扑连接。图5(e)中的数组实施方式的变型可以丢弃节点标识符,并且仅表示未指定节点的拓扑及其经由有序网络接口的节点到节点的连接。图5(f)中的数组是示例。
在一些实施方式中,数组通过以上约定的组合来编码树。可以考虑数组中的树表示的其他实施方式,其中遍历多个节点到节点的连接及其作为有序的网络接口的序次。这包括但不限于图论中的方法,这些方法通常使用邻接矩阵和邻接列表作为图的代数表示,尤其是树。
体现树形拓扑结构表示形式的完整数组可以存储在控制器的存储器中。完整的数组可以存储在数据网络中的节点的存储器中或其子集中。数组也可以部分存储在数据网络中节点的存储器中。图5(b)、5(c)和5(e)中的数组由多个数组组成,其中这些数组中的每一个可以存储在给定数组的相关节点的存储器中。在一些实施方式中,节点仅有权访问仅表示与相邻节点的连接的数组。在图3的数据网络以及到目前为止描述的传输方法中,具有标识符II的节点不参与具有标识符I和III或III和IV的节点之间的数组的任何传输。因此,存储在任何给定节点上的数组可以是完整树表示的子集,因此可以减少所需的所需存储器并减少为传输数据而必须执行的逻辑指令的数目。
该表示的任何数组实施方式的必要特性是,它使得逻辑指令能够推断网络的拓扑,包括如何在有序网络接口上布置节点到节点的连接。一些数组实施方式使逻辑指令能够推断关于数据网络的附加信息。图5示出了示例性的数组实施方式,并且不应被理解为穷举列举。
例如但不限于上述实施方式的构造拓扑的数组的方法可以如下。控制器生成一个包含消息类型标识符的数组。数组可以包含其他数据,例如但不限于布尔值。消息类型标识符映射到一组逻辑指令。该集合可以称为布局检测指令。消息类型标识符可以是二进制数系统中的整数、10个基数系统中的整数、ASCII字符、多个ASCII字符。
控制器通过上述广播方法将其创建的数组广播到数据网络。当数据网络中的第一个节点通过其网络接口之一接收数组时,将解释消息类型标识符并执行布局检测逻辑指令。为了说明的目的,具有消息类型标识符的数组可以被称为L。在一般地描述之后,首先关于图3的示例性实施方式来描述布局检测逻辑指令。
第一节点在有序网络接口集合中选择第一网络接口,而不是它通过其接收数组L的网络接口。第一节点继续通过所述网络接口转发数组L。参考图3,即网络接口b。第一节点启动内部时钟。
第二节点接收数组L并执行与第一节点相同的逻辑指令集,即第二节点尝试通过其第一网络接口转发数组L。参考图3,即网络接口a。由于没有节点连接到该网络接口,因此在第二节点上执行的逻辑指令将创建第二数组,这体现了第二节点没有通过其第一网络接口附接的其他节点的事实。出于说明目的,第二数组可以称为D。
在第二节点上执行的逻辑指令继续,并且数组L通过其第二网络接口转发。参考图3,即网络接口b。同样,由于没有节点连接到该网络接口,因此在第二节点上执行的逻辑指令编辑数组D,从而体现了第二节点没有通过其第二网络接口附接的其他节点的事实。可以通过将一个数组附加到另一数组来进行编辑。
继续以这种方式执行逻辑指令,直到已完全遍历有序的网络接口集为止。在图3的示例性实施方式中,这意味着第二节点创建的数组D体现了第二节点没有连接到其他节点的事实,换句话说,第二节点是树形拓扑中的终端节点。在第二节点上执行的逻辑指令通过以树形层次结构向上(即通过网络接口d)转发数组D结束。
第一节点从第二节点接收数组D,并且内部时钟可以被停止。继续在第一节点上执行的逻辑指令,并像对第二节点所做的那样,创建新的数组。可以创建该数组,使其体现以下事实:通过第一节点的第一网络接口附接的树层次结构中仅存在一个较低的其他节点。可以创建该数组,使其体现第二节点的网络接口的精确性质。在任一情况下,通过将接收到的数组D的全部、部分或聚合版本联结到第一节点的数组来创建第一节点的数组。
第一节点的逻辑指令的执行以与第二节点的逻辑指令的执行一致的方式进行,其中数组L通过第一节点的第二网络接口转发。参考图3,即网络接口c。继续参考图3,第三节点接收数组,该数组启动与前两个节点的逻辑指令的执行一致的逻辑指令的执行。简而言之,这意味着第三节点既将数组L转发到第四节点,又确定网络接口c和d的未占用状态,并将这些事实体现在数组D中,然后将其转发回树层次结构,即通过网络接口a,到第一节点。
参考图6中的流程图,用于通用数据网络的逻辑指令通过递归进行。控制器启动数组L的创建601,该数组L被转发602到第一节点。数组L被网络中的节点接收,并且在已经被读取之后,执行逻辑指令603使得既初始化新的数组D,又开始在所述节点的网络接口的有序集合上进行迭代。如果在迭代的特定步骤处给定的网络接口连接到另一节点,则给定的节点启动内部时钟604,并通过给定的网络接口转发605数组L。此时,给定节点暂停进一步执行。取而代之的是,另一节点通过步骤605接收了数组L,从而开始执行逻辑指令。换句话说,采取步骤603。因此,步骤605意味着在互连节点的树的递归中进一步向下移动一步。
如果在给定节点的网络接口的有序集合上的给定迭代步骤处的给定网络接口未被占用,则执行逻辑指令的不同子集。编辑数组D,使得记录关于未占用的给定网络接口的信息(606)。然后,逻辑指令确定这是否是在步骤603中开始的迭代所包括的网络接口的最后。如果否,则迭代进行到下一个网络接口607。根据给定的网络接口是否被占用,选择上述逻辑指令的两个子集之一(即604和605或606)。如果不被占用,则在互连节点树的递归中又进一步向下移动一步。
在对于给定节点的网络接口的有序集合上的迭代已用尽的情况下,数组D通过通向树层次608中较高的节点的给定节点的一个网络接口转发。因此,在互连节点树的递归中要向上移动一步。如果由此接收数组D的节点是控制器,则数组D包含数据网络拓扑的完整规范。然后执行结束。如果由此接收到数组D的节点不是控制器,则停止在递归向下进行(604)时开始的该给定节点的内部时钟。在一些实施方式中,如果时钟在任何时间超过设定的限制,则执行停止并报错609。
从其通向树层次结构中较低的节点的网络接口之一接收到数组D的节点编辑610自己的布局数组的当前版本,从而在接收到的数组中包含的信息以某种完整、部分或汇总的方式被包括。由此获得给定节点的数组D的更新版本。逻辑指令然后针对给定节点确定这是否是步骤603中开始的迭代所包括的网络接口的最后。如果不是,则迭代进行到下一个网络接口607,并执行已经描述的逻辑指令。
数组的更新版本包括更新序次、第二序次,第二序次类似地是任何给定数据网络的节点相对于第一序次的序次。如本文中在各种实施方式中所指出的,基于数据网络的两个其他属性来建立第二序次:数据网络的精确树形拓扑,以及用于构成数据网络的节点的第一序次。
根据各种实施方式的复合数组的传输利用所确定的第二序次来进行有效传输,如随后在图7、8和9所示的不同方法中详细描述的。
由于树形拓扑,这些步骤通过尽可能深地遍历给定分支直到到达终端节点来确定网络接口的属性,然后将包含到目前为止确定的信息的数组向上转发回树。保证控制器可以接收具有数据网络拓扑完整规格的数组。所描述的方法与用于迷宫求解和其他应用的深度优先搜索算法共享某些功能。
可以关于如何迭代网络接口来修改布局检测方法。如上所述,到目前为止描述的方法导致在遍历通过第二网络接口连接的网络的一部分之前,通过第一网络接口尽可能深遍历网络。某些实施方式可以代替地执行逻辑指令,其中,在每次迭代时仅在网络接口上遍历网络深一层,并且仅当第一节点的整个有序网络接口集被迭代用尽后,才通过连接到第一节点的第二节点的网络接口开始迭代。由于树形拓扑,因此这些步骤通过尽可能宽遍历给定节点的网络接口,直到其所有接口都已被特征化为止,从而确定网络接口的属性,然后将包含到目前为止确定的信息的数组进一步添加到树层次结构中给定节点下面的节点。保证控制器可以接收具有数据网络拓扑完整规格的数组。数组实施方式可以不同于通过上述方法获得并在图6中示出的数组实施方式。但是,这两个实施方式提供了网络的完整且几何上等效的表示。所描述的方法具有某些与迷宫求解和其他应用中使用的广度优先搜索算法相同的功能。
在一些实施方式中,可以使用深度优先搜索方法和宽度优先搜索方法的组合。节点的子集可以使用一种方法,而节点的另一子集可以使用另一种方法。方法的选择可以编码为数组或整数,然后存储在存储器中。所使用的方法对于如何在下面将描述的传输方法的逻辑指令中解释布局数组很重要。
在上述的图6所示的布局检测方法中,在任何给定时间只有一个节点在执行逻辑指令。已经将数组L转发到另一个节点605的节点将暂停其执行,同时等待从同一网络接口608接收数组D。在某些实施方式中,给定节点继续执行将数组L转发到其另一个网络接口,而树层次结构中位于其下方的节点正在执行其逻辑指令,如上文所述。该实施方式可以使布局数组更快地返回到控制器。在这些实施方式中,逻辑指令的执行在数据网络中的多个微处理器上并行执行,而不是顺序执行。并行进程会创建其他条件来处理,例如多个事件如何同步,因为它们各自的输出数组必须连接在一起。因此,逻辑指令的这些实施方式会导致执行的额外复杂性,使得处理事件,例如但不限于同时从两个或更多个网络接口接收数组。有一些方法可以处理这些类型的条件,可以在并发控制名称下进行组织。在实施方式中可以使用充分解决并发过程的额外复杂性的方法。
在上述且在图6中示出的用于布局检测的方法中,布局仅与多个节点的拓扑有关,在其他情况下,每个节点被视为相同。在一些实施方式中,数据网络可以包括功能不同的节点。在这些实施方式中,还可以在执行布局检测期间检索设备类型标识符。在图6的步骤603,布局检测数组被给定节点初始化以随后被填充,并且一旦向上递归608到达控制器,则获得完全填充的数组。初始化的一部分可以是在数组中包括节点类型标识符。节点类型标识符可以体现为存储在相应设备的存储器中的数组。节点类型标识符由此由控制器获得,并且其在网络拓扑中的位置被完全定义。因此,规则引擎或其他逻辑指令集可以包括有关可用节点类型的信息,这些信息又可以用于通过任何方法(包括但不限于如下所述的方法)控制传输到这些设备的数组的类型。在一些实施方式中,多个电源被识别为数据网络中不同类型的节点。在一些实施方式中,传感器被识别为数据网络中不同类型的节点。网络的其他类型的传感器或执行器部分可以类似地用数组表示。
可以通过经由用户界面的手动输入来构造用于表示拓扑的数组的方法。这可能需要安装时的人员通过命令行界面输入数组,或在安装的触摸屏上建立视觉表示,然后实现从该视觉表示中推断出连接。可以设想其他手动输入数组的方法。
在其中控制器具有存储在树形拓扑的存储器中的数组表示的实施方式中,诸如但不限于以上所述和图5所示的那些,是通过诸如但不限于以上所述的方法和方法获得的。如图6所示,可以使用除上面已经描述的之外的其他传输数组的方法。树表示的一个特征是,所有节点都按照某种约定排序。控制器可以针对网络中的任何节点,基于描述树形拓扑的数组来推断所述节点在序次中所处的位置。
接下来描述将这个特征用于图3中的LED照明器网络的示例性实施方式。用例涉及所有LED照明器的光学输出的批量更新。如上所述,这可以通过为每个LED照明器提供具有多个LED芯片类型中的每一个所需的光通量的数组来完成。批量更新的第一步是由控制器创建此多个数组。可以通过上述任何方法创建特定值,例如但不限于外部规则引擎的输出或通过用户界面的手动输入。
第二步是控制器将多个数组联结在一起成为一个大的复合数组。数组的序次是树形拓扑的结果,如下文进一步所述。在复合数组的开头,添加了消息类型标识符,该消息类型标识符在字典中映射到要在节点上执行的一组特定逻辑指令。该指令集可以称为批量更新。控制器继续转发复合数组。
接收数组的第一节点解释消息类型标识符,并开始执行相关联的逻辑指令集。这些逻辑指令中的第一步是让第一节点从存储器中检索通过第一网络接口(而不是从接收数组的网络接口)在树层次结构中较低的节点总数。如上所述,第一节点可以从体现在数组中的树表示(例如但不限于图5中的那些)或从树表示的子集检索该值。在图3的实施方式中,该值为1。
在第一节点上执行的逻辑指令继续通过其第一网络接口转发复合数组的第一组件数组,包括消息类型标识符。第二节点接收数组。在第二个节点上执行的逻辑指令解释消息类型标识符,并检索在其其他网络接口处附加零个节点的信息。对于第一节点,在执行布局检测方法之后,该信息已体现在数组中。因此,接收的数组不被编辑或转发。数组的大小恰好是用作调整LED照明器的光学输出的逻辑指令集的输入所需的大小,这是第二节点继续执行的操作。第二节点创建数组以确认它已成功调整了光输出,并将该数组转发到连接到第一节点的网络接口。
当接收到确认时,第一节点上的逻辑指令恢复,并检索存在通过第二网络接口附接的总共两个节点或LED照明器的信息。在第一节点上执行的逻辑指令继续通过复合数组的第二网络接口转发复合数组的第二和第三组件数组,包括消息类型标识符。
第三节点接收数组,该数组包括消息类型标识符和两倍于数组大小的数组,以用作调整LED照明器光学输出的逻辑指令集的输入。像之前的第一节点一样,第三节点在其有序网络接口上启动迭代。在图3的示例性实施方式中,其有序网络接口意味着网络接口b。对于该网络接口,总共附接了一个节点,这是可以从第三节点的存储器中检索的信息。
在第三节点上执行的逻辑指令继续以转发通过第一节点的第一网络接口从第一节点接收的第三节点的数组的第一分量数组,包括消息类型标识符。第四节点接收数组。在第四节点上执行的逻辑指令解释消息类型标识符,并检索在其其他网络接口处附加零个节点的信息。对于第三节点,在执行布局检测方法之后,该信息已体现在数组中。因此,接收的数组不被编辑或转发。数组的大小恰好是用作调整LED照明器的光学输出的逻辑指令集的输入所需的大小,这是第四节点继续执行的操作。第四节点创建一个数组,以确认它已成功调整了光输出,并将该数组转发到连接到第三节点的网络接口。
在第三节点上执行的逻辑指令在其接收到确认时恢复,并且它从第一节点接收的数组的其余部分(即未发送到第四节点的部分)的大小恰好是用作调整LED照明器的光学输出的逻辑指令集的输入。没有其他节点附接到第三节点的其余网络接口。因此,剩余的数组用作逻辑指令的输入,以设置第三LED照明器的光学输出。对于第二节点和第四节点,第三节点创建数组以确认此操作并将其转发到第一节点。
在第一节点上执行的逻辑指令在其接收到确认时被恢复。至于上述第三节点所采取的步骤,第一节点将剩余的数组用作逻辑指令的输入,以设置第一LED照明器的光学输出。确认执行的数组发送到控制器。控制器在接收到所述数组时可以将其解释为成功的批量更新。
这些用于批量更新的逻辑指令的重要特征是复合数组以特定方式排序。在所描述的实施方式中,复合数组中的数组的序次为:首先用于第二LED照明器的数组,其次用于第四LED照明器的数组,第三次用于第三LED照明器的数组,最后用于第一LED照明器的数组。以此序次,用于批量更新的逻辑指令可以省略对数组的比较,该数组包括在报头中的节点标识符,如上述通信协议中所要求的。以此序次,用于批量更新的逻辑指令可以使用直通切换来产生很大的效果,因此可以忽略将大型数组存储在存储器中,或者忽略执行逻辑指令来确定身份验证,复杂的编辑和如上所述的类似任务。类似于以上描述,转发数组的直通交换可以在转发中采用较小的数据单元。上面的示例性实施方式使用了如图1所示的整个数组大小的数据单元。逻辑指令还可以在接收到数组时转发数组中的各个元件或位,只要接收该数据位的节点正确转发多个元件或位的子集,并将所需的数组输入编译为逻辑指令以设置光学输出。
在示例情况下,用于批量更新的逻辑指令在图7中进行了说明,然后进行了描述。控制器创建复合数组701,该复合数组由一个消息类型标识符和一个或多个数组组成,这些数组具有调整节点的某种状态所需的格式或编码,其中多个数组的数目等于数据网络中的节点数。控制器将合成数组转发到第一节点702。
给定节点在其占用的网络接口上发起迭代703。每个节点可以至少访问有关拓扑的必要信息,以使得只有占用的网络接口才是迭代的一部分。如果迭代尚未结束,则确定连接到给定网络接口的节点总数M704,这可以通过从给定节点的存储器中检索该数目来完成。内部时钟开始705。节点的微处理器继续将消息类型标识符以及给定节点已接收或正在接收的复合数组的M个第一数组转发给给定网络接口706。
在执行的这一点上,树层次结构中较低的另一个节点接收到数组,该阵列组成为先前节点接收到的数组,但大小较小,并且该节点在有序占用的网络接口上启动其迭代703。因此,该序列的逻辑指令将复合数组分成较小的部分,并执行递归到树层次结构中较低的节点。
在执行过程中的某个时刻,给定节点将到达在较早步骤中启动的占用网络接口上的迭代的结束。由于节点缺少占用的节点(终端节点就是这种情况),或者因为迭代用尽了网络接口的有序集合,可以到达迭代的结尾。在这一步,其余数组应仅由一个数组组成,以设置节点的状态。只要拓扑的表示与实际拓扑相对应,逻辑指令就可以保证这一点,因为数组的其他部分已转发到其他节点或多个节点。如果存在差异,则逻辑执行可以以错误707结尾。
另一方面,如果仅剩下一个适当编码的数组,则将其用作一组逻辑指令的输入,该逻辑指令设置给定节点的状态708,其由数组指定。同一节点创建包含确认已设置状态的数组,并且该数组是通过在树层次结构中向上引导的网络接口转发709的。因此,此步骤意味着在节点层次结构中向上移动一步。
已经将复合阵列的一部分转发到层次结构中较低的节点706的给定节点可以处于空闲状态,同时等待从同一接口接收确认数组。如果内部时钟超过阈值,则执行可以以错误710终止。该步骤可以确保数据网络中的通信故障不会导致不确定的批量更新逻辑指令执行。如果内部时钟未超过阈值,则可以通过在给定节点的有序网络接口集上进行迭代的下一步711来继续执行。
如果占用的网络接口迭代已结束,则逻辑指令返回测试。如果否,则可以采取上述步骤来对剩余的复合阵列进行另一划分并在层次结构中向下进行另一递归706。如果到达终点,则可以采取上述步骤来设置节点状态708,并创建另一确认数组709,并在层次结构中向上移动一步。
不是终端节点的节点在其占用的网络接口上的迭代结束之后到达后面的阶段。逻辑指令可确保通过多个网络接口连接的节点总数为K的给定非终端节点从其上方的节点接收由K+1数组组成的复合数组。因此,非终端节点在其对占用网络接口的迭代结束之后,将留有一个数组,该数组用于设置给定节点的状态。
一旦确认数组到达控制器,则具有在树层次结构中上下移动的逻辑指令到达末尾。在那个阶段,由控制器最初创建701的复合数组已经在数据网络的多个节点中的每个节点处被划分成较小的复合数组。确认数组可用于在用户界面上创建关于批量更新已完成的确认,或者通过控制器的操作参数的另一种调整。相反,在设置的时间内控制器未能获得确认数组可能会导致错误消息的生成,或者导致控制器操作参数的另一次调整。
这些用于批量更新的逻辑指令的重要特征是,复合数组由以特定方式排序的数组组成。从已知的树形拓扑结构中,利用体现在一些数组中的表示,以及数组网络接口的有序集合和以可预测的方式拆分数组的逻辑指令,可以推断出适当的序次。例如,复合数组中的第一个数组应该是旨在用于节点Z的数组,该节点Z连接到层次结构中节点Z上方的节点Z-1的第一占用网络接口,节点Z-1连接到层次结构中节点Z-1上方的节点Z-2的第一占用的网络接口,依此类推,直到递归在控制器处结束。
按照此序次,用于批量更新的逻辑指令可以省略对数组的比较,这些数组在报头中包含节点标识符。以此序次,用于批量更新的逻辑指令可以使用直通切换来生成很大的效果,因此可以忽略将大型数组存储在存储器中,或者忽略执行逻辑指令来确定身份验证,复杂的编辑和如上所述的类似任务。类似于以上描述,转发数组的直通交换可以在转发中采用较小的数据单元。可以重新解释图7的较早描述,以使复合数组的划分以单个元素或位为单位进行,而不是以数组大小为单位设置节点状态的数组。
在图7所示的实施方式中,每个节点在将数组转发到层次结构中较低的节点时暂停其执行。在一些实施方式中,没有暂停。取而代之的是,在节点已通过一个网络接口转发数组之后,该节点将继续执行与该有序集中的后续网络接口有关的逻辑指令。在这些实施方式中,每个节点可以通过其网络接口之一接收确认数组,同时,给定节点的微处理器正忙于执行其他逻辑指令。这样可以更快地进行批量更新。因此,逻辑指令的执行在数据网络中的多个微处理器上并行执行,而不是顺序执行。并行进程会创建其他条件来处理,例如多个事件如何同步,因为它们各自的输出数组必须联结在一起。因此,逻辑指令的该实施方式可导致执行的额外复杂性,使得处理事件,例如但不限于同时从两个或更多个网络接口接收数组。存在处理这些类型的条件的已知方法,可以在并发控制名称下进行组织。在实施方式中,可以使用足以解决并发过程的额外复杂性的任何方法。
在以上逻辑指令中,没有步骤引用唯一节点标识符。在图3中,这对应于不从存储器中检索罗马数字202。这意味着在如上所述进行批量更新的数据网络中,节点标识符不是必要的,并且在一些实施方式中,不存在节点标识符。换句话说,在制造过程中或在数据网络的一个或多个节点的初始化期间未分配节点标识符。数据通信方法的这种特性可能意味着简化的制造,需要执行的逻辑指令更少以及控制数组的更紧凑表示。这些都是有利的特性,因为它们分别允许降低制造成本,减少执行命令的时间以及更快地在整个数据网络中传输数据。
批量更新方法可以用于更新数据网络中的一个或一部分节点。可以将与不应该更新的节点相对应的数组设置为等于当前状态。可以将与不应该更新的节点相对应的数组设置为某个哑值,当将其用作在给定微处理器上执行的逻辑指令的输入时,将导致更新节点状态的逻辑指令集永远不会被执行。哑值可以是负值,例如但不限于-1或-99。以类似的方式,如果仅要更新某种类型的节点,则可以在复合数组中从先前的布局检测中获得的针对另一种类型的节点类型的相关位置处使用哑值。
树形拓扑及其显式表示可以在与批量更新方法不同的逻辑指令中使用,使得更新单个节点的状态。接下来描述将这个特征用于图3中的LED照明器的网络的示例性实施方式。用例涉及所有LED照明器的光学输出的单个更新。
首先,控制器创建包含消息类型标识符的复合数组,该消息类型标识符在字典中映射到要描述的单个更新的逻辑指令集。此外,复合数组由数组组成,该数组可用作逻辑指令的输入,该逻辑指令设置LED照明器的光学输出。复合数组还包括数组,该阵列包含可以称为目标索引的值。目标索引对应于数据网络中的单个LED照明器。目标索引唯一地映射到树形拓扑表示中的LED照明设备有序集合中的位置。例如,如果应当更新图3中的第三LED照明器的光输出,则目标索引可以是2。如果在给定实施方式中存在节点标识符,则目标索引可以与节点标识符不同。复合数组还包含整数,该整数由控制器初始化为零。该整数可以称为节点计数器。
控制器将复合数组转发到第一节点或LED照明器。消息类型标识符被解释并映射到用于单个更新的逻辑指令集。第一LED照明器检索在第一LED照明器的网络接口的有序集合中通过第一网络接口附接的LED照明器的总数。在图3的示例性实施方式中,该值等于1。将该值添加到节点计数器的当前值,并且获得新的整数,其可以称为临时计数器。在图3的示例性实施方式中,假定在执行的该阶段节点计数器为零,则临时计数器为1。
将临时计数器与接收到的数组的目标索引进行比较。如果目标索引严格小于临时计数器的值,则通过给定的网络接口转发数组。请注意,转发不会更改节点计数器。在第二LED照明器上,解释消息类型标识符,并执行用于单个更新的逻辑指令集。第二LED照明器是终端节点,因此临时计数器在这种情况下等于零。将其与第二LED照明器接收到的数组的目标索引进行比较。如果目标索引等于临时计数器,即在这种情况下两者均为零,则将数组的其余部分用作逻辑指令集的输入,该逻辑指令集在执行时将更新给定LED照明器的光学输出。可以创建确认数组,并通过引导到第一LED照明器的网络接口将其转发,然后通过引导到控制器的网络接口将其转发。
相反,如果发现由第一LED照明器获得的临时计数器大于或等于目标索引,则不会通过第一网络接口转发任何内容。相反,在该示例性实施方式中,将节点计数器数组编辑为等于临时计数器,即等于1。在该操作之后,针对第一LED照明器的第二网络接口执行类似的逻辑指令子集,如同对于第一LED照明器的第一网络接口进行的一样。换句话说,通过将当前节点计数器的值增加通过第一LED照明器的第二网络接口附接的节点总数,从当前节点计数器的值创建临时计数器。在图3的示例性实施方式中,增量等于2,因此在此阶段的临时计数器等于3。如上所述,如果目标索引严格小于临时计数器,则复合数组将通过第一LED照明器的第二网络接口转发。请注意,转发不会更改节点计数器。
假设目标索引和临时计数器之间的不相等为真,则第三LED照明器接收复合数组并执行与单个更新消息类型标识符关联的逻辑指令集。在一个示例性实施方式中,目标索引等于2。临时计数器通过加和节点计数器(在此执行阶段为1)和通过第三LED照明器的第一网络接口附接的节点总数(即1)来创建。因此,临时计数器为2。此值不严格小于目标索引。因此,什么也没有转发到所述网络接口。如上所述,节点计数器也被编辑为等于临时计数器的值。
第三LED照明器在其任何其他网络接口上均未附接其他LED照明器。节点计数器已达到值2,正好等于目标索引。这种相等性导致包含用于所需光学输出的指令的数组被用作设置第三LED照明器的光学输出的逻辑指令的输入。如前所述,可以创建确认数组并将其递归转发到控制器。
在一般情况下,用于单个更新的逻辑指令在图8中示出并在下面描述。控制器创建复合数组801,其由消息类型标识符、可以称为目标索引的第一整数和初始化为零的第二整数(可以称为节点计数器)以及可以用作数据网络中节点的输入以设置其状态的数组组成。复合数组被转发802,并且数据网络中的第一节点接收它。
给定节点在其占用的网络接口803上发起迭代。每个节点至少可以访问有关拓扑的必要信息,以使得只有占用的节点才是迭代的一部分。如果迭代尚未结束,则确定804连接到给定网络接口M的节点总数,这可以通过从给定节点的存储器中检索该数目来完成。从接收到的复合数组中检索节点计数器N。将两个整数值相加,即M+N805。可以将该总和分配给另一个可以称为临时计数器V的整数。
将临时计数器与目标索引进行比较,该目标索引是从接收到的复合数组中检索到的。如果目标索引严格小于临时计数器,则由给定节点接收的复合数组通过给定网络接口被转发806。接收该复合数组的节点开始执行与先前节点相同的逻辑指令集,即发起在有序的占用网络接口集合上的迭代803。
另一方面,如果临时计数器的值使得目标索引不严格小于临时计数器,则对给定节点执行逻辑指令的另一子集。首先,编辑当前复合数组的节点计数器,使其等于临时计数器的值807。在此之后执行逻辑命令的任何步骤中,一旦从复合数组中检索到当前节点计数器的值将等于该新值,直到再次遇到步骤807,然后再次编辑该值。此后,针对给定节点的有序占用网络接口集上的迭代将选择下一个网络接口808。
在执行过程中的某个时刻,给定节点将到达该给定节点在较早步骤中启动的迭代的结尾。由于节点缺少占用的网络接口(终端节点就是这种情况),或者因为迭代用尽了网络接口的有序集合,可以到达迭代的结尾。在这种情况下,节点计数器应等于目标索引。这是逻辑指令的结果,唯一无法保留的原因是拓扑的表示形式与实际拓扑结构不一致。如果目标索引和节点计数器之间相等,用于设置给定节点状态的数组将用作设置节点状态的逻辑指令的输入809。完成后,可以创建确认数组,并将其转发到引导到层次中较高的节点的网络接口810。这些转发可以被递归地完成,直到控制器接收到确认数组为止。确认数组可用于在用户界面上创建关于批量更新已完成的确认,或者用于控制器的操作参数的另一种调整。相反,在设置的时间内控制器未能获得确认数组可能会导致错误消息的生成,或者导致控制器操作参数的另一次调整。
一些实施方式的用于单次更新的方法的重要特征是数据网络的拓扑结构以及它为多个节点定义的序次被用来创建有效的传输。如上面关于图7所描述的,批量更新依赖于节点的这种序次以有效的方式拆分其复合数组,使得正确的指令到达指定的节点。单一更新方法而不是拆分,使用目标索引和临时计数器来测试到指定节点的路径是否通过给定节点的任何给定网络接口。通过简单的增量和整数比较完成的路径测试因此可以有效地丢弃路径,从而减少每个节点必须执行的逻辑指令的数目。
通过在多个节点上执行上述且在图8中示出的逻辑指令集,在整个数据网络中完成了针对单个更新方法的路径测试。在一些实施方式中,路径测试可以在控制器上完成。在控制器具有树形拓扑的完整信息的实施方式中,其中临时计数器、目标索引和节点计数器如上所述被递增和比较的逻辑指令都可以在控制器上执行。因此,控制器可以推断出单个更新的数组应使用的路径。在这些实施方式中,控制器可以替代地生成复合数组,该复合数组包括消息类型标识符,用于更新节点状态的数组以及有序的多个网络接口标识符的数组。例如,可以通过在数据网络的节点上执行的逻辑指令将诸如[c,b]的数组解释为意味着给定的数组应由第一节点的网络接口c进行处理,并通过第二节点的网络接口b,使得到达指定的节点。由于网络接口是有序的,因此可以通过在数据网络的节点上执行的逻辑指令将诸如[1,1,3]的数组解释为意味着给定的数组应由第一个网络接口或第一节点,然后是第二节点的第一网络接口,然后是第三节点的第三网络接口,使得到达指定的节点。
可以构想体现通过多个网络接口的路径的其他数组。单一更新方法的所有实施方式的重要特征在于,已知的树形拓扑实现了在执行时确保了到目标节点的有效路由的逻辑指令,在该路径上执行的逻辑步骤很少,而对于没有在路径上的节点不执行逻辑步骤。
如前一节所述,数据网络可以包含传感器以及执行器。批量更新和单个更新方法是在整个数据网络中传输来自控制器的指令的手段。这可以包括但不限于更改多个LED照明器的光学输出,更改来自多个扬声器的音频强度,更改气候控制设备(如风扇和散热器)的强度,更改机械臂的空间配置。已知的树形拓扑可用于检索多个节点生成的传感器数据,并将其传输到控制器以进行进一步处理。
用于批量提取方法的逻辑指令的示例场景在图9中示出。首先,控制器生成由批量提取消息标识符组成的数组,该批量提取消息标识符数组映射到用于批量提取节点状态的逻辑指令集901。控制器转发该数组902。第一节点接收该数组并将消息标识符解释为批量提取,并执行以下逻辑指令集。给定的节点初始化空的数组903。随着执行的进行,该数组将填充一个或多个节点状态数组。逻辑指令的执行接下来开始在被占用的网络接口上进行迭代904。如在上述其他方法中,从拓扑已知被占用的网络接口。
如果存在占用的网络接口,则给定节点启动内部时钟905。此后,具有批量请求消息标识符的数组将通过给定网络接口转发906。在此步骤中,逻辑指令中的第二节点通过初始化其空数组的实例开始执行该操作903,空数组随后将填充一个或多个节点状态数组。
如果由于给定节点是没有任何占用网络接口的终端节点,或者因为网络接口的有序列表已经用尽,则由于有序网络接口的有序集合上的迭代结束,因此执行继续以检索体现节点当前状态的数组907。此数组可以是单个整数,多个整数,也可以是大型而复杂的数组,具体取决于如何体现给定节点的状态。体现给定节点当前状态的实体可以描述为状态数组。编辑最初在较早的步骤903中初始化的给定节点的第一数组,使得将状态数组添加到给定节点的第一数组908。由此获得的复合数组转发到层次中的给定节点上面的节点909。
如果接收该数组的节点不是控制器,则内部时钟停止。为了确保执行批量提取不会超出合理的时间,可能需要转发具有消息标识符的数组以进行批量提取906与从同一网络接口接收复合状态数组909之间的持续时间在阈值以下。不能满足此条件的原因可能是由于数据网络中某处的错误,因此可以保证批量提取执行不是无限的持续时间。
如果在阈值持续时间内接收到复合状态数组,则编辑给定节点的复合数组,使得将从层次下面的一个或多个节点接收的复合数组添加到它910。以此方式,给定节点的复合数组包含通过给定网络接口在层级中较低的节点的所有状态数组,其中,复合数组的状态数组的序次遵循惯例。然后,在给定节点上的执行将尝试在网络接口911的有序集合上进行迭代的另一步骤。
如果给定节点有另一个占用的网络接口,则执行如上所述的向下递归到树的相同递归,步骤905和906。最终,此递归导致创建复合数组,一旦到达用于树中向上递归的相应步骤(步骤909),该阵列通过给定网络接口接收。因此,给定节点的复合数组被进一步扩展。这一直持续到给定节点没有其他占用网络接口可以迭代为止。在该阶段,给定节点检索其自己的状态数组907,并将其添加到复合数组。这些步骤一直持续到向上递归到达控制器为止。控制器因此接收到的复合数组包含按约定排序的数据网络中节点的所有状态数组。
排序约定是树形拓扑及其在数组中的表示方式的结果。因此,要在控制器上执行的任何其他逻辑指令都可以确定数据网络中的哪个节点生成了哪个状态数组。该确定无需对报头进行比较或其他逻辑解释,而将此类信息显式编码为数组。因此,该通信方法实现了没有在制造期间或在网络初始化期间设置的显式编码的节点标识符的实施方式。此外,用于编码控制指令的数组是紧凑的,因此可以在节点之间以及整个网络中相对快速地传输。这意味着如上所述,数据速率高于没有明确考虑和利用树形拓扑的方法中的数据速率。
与上述其他方法类似,图9所示的逻辑指令可以在不脱离本发明的范围和精神的情况下针对某些方面进行修改。在一些实施方式中,内部时钟的使用被修改或完全去除,使得错误检查被忽略或通过其他方式完成。在一些实施方式中,在批量提取的执行过程中逐渐扩展的复合数组与消息类型标识符一起在树层次中向下转发,并由多个节点中的另一个微处理器进行编辑,而不是由图9所示的逻辑指令定义的一个进行编辑。这意味着将910中的任务移动到执行中的较早位置。
在一些实施方式中,给定节点继续转发批量提取请求到其其他占用的网络接口,而不是等待转发批量提取数组之后从给定的网络接口接收数组。该实施方式可以使复合数组更快地返回到控制器。因此,逻辑指令的执行在数据网络中的多个微处理器上并行执行,而不是顺序执行。并行进程会创建其他要处理的状况,例如多个事件如何同步,因为它们各自的输出数组必须连接在一起。因此,逻辑指令的该实施方式可导致执行的额外复杂性,以便处理事件,例如但不限于同时从两个或多个网络接口接收数组。有一些方法可以处理这些状况的条件,可以在并发控制名称下进行组织。可以在各种实施方式中使用充分解决并发过程的额外复杂性的方法。
可以将上述方法组合以执行单个提取。即,控制器应接收数据网络中一个特定节点的状态数组。可以调整单个更新方法,以发送消息标识符来请求特定节点的数组,而不是发送数组来设置特定节点的状态。一旦具有所述消息标识符的数组被特定节点接收,并且随后通过执行(类似或等同于在图9步骤907中的逻辑指令集的)逻辑指令集来解释,则在树层次中向上递归转发状态数组(类似或等同于在图8步骤810中的逻辑指令集)。通过已经描述的逻辑指令的这种组合,控制器将接收给定的状态数组。
已经使用包含特定数目和类型的组成数组的复合数组描述了用于布局检测,批量更新,单个更新,批量提取和单个提取的逻辑指令集。这些数组可以包含有关数据网络的必要信息和预期的操作,使得根据规范执行传输。在一些实施方式中,复合数组可以包含附加数组,其可以用于网络中数据的有效传输以外的目的。其他数组的示例包括但不限于:点计数器,每次转发数据分组时,该计数器都会增加一些整数;校验和字段,该值可用于确定数组在传输时是否损坏;版本标识符,其是使节点能够确保生成数组的已实现方法的版本与使用或转发数组的已实现方法的版本兼容的值;报头长度规范,其是用于指定包含报头的数组有多长的值;消息优先级标识符,对数组的优先级进行排序,使得在网络接口存在争用时,先处理优先级较高的消息,再处理优先级较低的数组;数据源标识符,其指定哪个节点生成了数组;安全类型标识符,如果有效载荷被加密并且安全类型使节点能够以适当的方法解密消息则可以使用;未指定的数组,其可以是复合数组的部分,但可能不包含任何要解释的数据,相反,其是用来实现将来的功能或自定义功能,而无需更改报头的数组的总大小。由其他数组组成的复合数组不会更改方法的显着方面。因此,应当理解上述逻辑指令集的示例性实施方式以及图6、7、8和9中的流程图所示,以描述最小数组和逻辑指令可以是什么,使得执行指定的命令和数组的传输,而不是数组可以包含的完整规范,也不是可以执行的逻辑指令的完整规范。
从汇编推论树形拓扑
在一些实施方式中,通常通过单独的LED照明器或节点的机械联结来构建数据网络。在这些实施方式中,形成机械附接的装置可以与形成用于数据网络连接的通信介质的装置完全或部分重合。这可以通过一个LED照明器或节点物体的可移动物体通过某个阈值以上的磁吸引力延伸到另一LED照明器或节点物体的凹痕中来实现。这可以通过互锁的齿来实现,这些互锁的齿通过摩擦力将各个单元锁定到某种物理配置。这可以通过单独的链接器完成,该链接器由某种固体材料(例如塑料或金属)和通信介质组成,使得能够实现通常在LED照明器或节点之间的数据传输。可以考虑建立机械和通信连接的其他方法。在这些实施方式中,多个节点到节点的连接可能不是树形拓扑,也不是其子集拓扑中的任何一个,例如线形和星形拓扑。特别地,多个节点到节点的连接可以形成回路,使得在两个节点之间存在多于一条的路径。在不作进一步的调整的情况下,上述某些运输方法可能会遇到困难或无法运行。
在图3所示的实施方式中,如果在安装时希望在具有标识符II的LED照明器与具有标识符IV的LED照明器之间进行机械附接,则网络接口c和a分别被连接。这导致形成回路,因为从控制器到具有标识符IV的LED照明器的数组可以通过具有标识符II的LED照明器以及具有标识符III的LED照明器。
上面的多个逻辑指令集包括网络接口上的迭代,或者具体地包括占用的网络接口。如果在初始化期间,从占用的网络接口的有序集合中移除了具有标识符II的LED照明器的网络接口c和具有标识符IV的LED照明器的网络接口a,则将恢复图3的树形拓扑。可以将这种移除操作实现为对存储在存储器中并由微处理器处理的数组的操作,而无需机械更改安装。要注意的是,如果前述的一对网络接口被保持在相应的有序网络接口组中,则代之以从占用的网络接口的有序集合中移除具有标识符I的LED照明器的网络接口c和具有标识符III的LED照明器的网络接口a,则将获得另一个树形拓扑。后者的树形拓扑是线形拓扑,如上所述,它是树形拓扑的子集。和以前一样,此移除操作可以作为对数组的操作来实现,而无需机械更改安装。
从一组节点及其节点到节点的连接构造树形拓扑的技术问题可以被称为找到一个或多个生成树。根据图论,认为在网格拓扑或完全连接拓扑或混合拓扑的网络中通过第二多个节点到节点连接而连接的第一多个节点可以转换为在树形拓扑的网络中通过第三多个节点到节点连接连接的相同的第一多个节点,其中第三多个节点到节点连接由第二多个节点到节点连接的节点到节点连接的适当子集组成。此外,在某些情况下,可以存在不同于第三多个节点到节点连接的第四多个节点到节点连接,其应用于第一多个节点也生成树形拓扑的网络。此外,在某些情况下,可能存在第五、第六或第七、直到有限数目的其他多个节点到节点连接,其应用于第一多个节点也生成树形拓扑的网络。换句话说,在某些情况下,对于任何给定的数据网络,可能存在多个不同的生成树。
存在通常通过执行逻辑指令来发现生成树的方法。可以使用这些方法使得从任何给定的数据网络获得树形拓扑的网络,可以将上述传输方法应用于该树形拓扑。这样,以上逻辑指令集可以用于设置或感测给定数据网络中的多个节点的状态。可以使用诸如数学图的深度优先搜索和宽度优先搜索之类的方法来查找给定网络的多个可能的生成树中的一个生成树。这两种方法的一个重要特征是,在遍历网络时,它将对所有节点到节点的连接进行排序,并且可以从节点到节点的集合中移除连接已经遍历的两个节点的任何此类连接。可以采用这些方法的变体,包括为加权图制定的方法,例如但不限于Kruskal算法。因此,创建至少一个生成树的方法可用于编辑节点的给定组件中的有序网络接口的集合,从而使连接形成树形拓扑的网络,而无需对组件进行机械更改。
多级网络中的数据传输方法
到目前为止,使用了一个控制器以及可以是致动器或传感器的一个或多个节点,已经描述了在树形拓扑的节点的网络中用于传输方法的逻辑指令。控制器启动批量更新或批量提取和其他指令。在一些实施方式中,网络包括可以控制一个或多个第二类型的节点的第一类型的节点。在这些实施方式中,第一类型的节点可以充当第二类型的节点的控制器。第一类节点又由控制器控制。这是多级网络或网络的网络。
在作为网络的网络的网络的实施方式中,批量更新可以包括以下步骤。如参照图7所述,由控制器创建复合数组。如上所述并且如图7所示,复合数组被传输到第一类型的节点中的每一个。第一类型的每个节点接收数组以设置其状态。第一类型的节点随后承担控制器的作用,并创建复合数组。该数组可以是数组数组第一类型的给定节点从其控制器接收的数组的副本。可以通过在接收到的数组作为输入的情况下由在第一类型的节点的微处理器上执行的一些其他逻辑指令来创建或导出该数组。无论来源如何,在执行上述逻辑指令(如图7所示)之后,第一类型的节点的复合数组都将通过其第二种类型的节点网络进行传输。第二类型的节点接收相关数组,并以数组作为输入执行一些逻辑指令。数组第二类型的节点的确认数组(如果被创建)到达第一类型的相关节点,该节点可以启动逻辑指令集的执行,该逻辑指令集将创建将要发送给控制器的确认数组的版本。
在一些实施方式中,第二类型的节点集合是不相交的,因此仅第一类型的一个节点可以充当第二类型的任何给定节点的控制器。在一些实施方式中,第二类型的节点可以充当第三类型的节点的控制器。可以考虑节点和网络的附加级别。
多个级别可能对用例有利,在这些用例中,节点的最小单位的聚合(可以称为原子节点类型)创建的大小或粒度单位更适合于预期用途。在一些实施方式中,可以单独地控制以机械方式和电气方式联结在网格中的LED照明器。但是,最好将它们分组为较大的单元,这些单元可以对应于房间、书桌空间、厨房台面、门附近的入口或适合给定空间功能目的空间布置的其他分组的尺寸。在这些实施方式中,控制器实际上可以指示在门附近的入口处改变光输出,其被传送到节点,节点进而将相应的数组解释为改变某些标识和空间安排的多个LED照明器的光输出的指令。这些实施方式中的控制器不需要访问多个LED照明器的标识。该信息将被委派给另一个节点。这可以简化消息及其在网络中的传输,其可以通过原子节点的分组来简化。
原子节点的分组可以从通过用户界面的手动输入中获得。因此,安装了原子节点的空间的用户可以决定哪些节点应该归属在一起,然后可以分配一个原子节点以同时充当所述组的控制器。原子节点的分组可以从从功能数据得出的自动分组中获得。网络可以开始时仅由原子节点组成。控制器跟踪原子节点如何使用或它们感测到的环境的某些特性,并基于随时间变化的多个特性推断功能分组。可以考虑自动分组和后续控制的其他方法。无论采用哪种方法进行分组,都可以使用如上所述的传输方法,其中节点和控制器的性质可以变化,但是其中网络的级别由桥接两个或多个级别的网络的多个节点之一连接。
程序代码被应用于输入数据以执行本文描述的功能并生成输出信息。输出信息将应用于一个或多个输出设备。在一些实施方式中,通信接口可以是网络通信接口。在其中元件可以组合的实施方式中,通信接口可以是软件通信接口,诸如用于进程间通信的那些。在其他实施方式中,可以存在被实现为硬件、软件及其组合的通信接口的组合。
在前面的讨论中,将对服务器、服务、接口、门户、平台或由计算设备形成的其他系统进行大量参考。应当理解,使用这样的术语被认为代表具有至少一个处理器的一个或多个计算设备,该处理器被配置为执行存储在计算机可读有形非暂时性介质上的软件指令。例如,服务器可以包括以实现所描述的角色、职责或功能的方式充当网络服务器,数据库服务器或其他类型的计算机服务器的一个或多个计算机。
实施方式的技术方案可以是软件产品的形式。该软件产品可以存储在非易失性或非暂时性存储介质中,该介质可以是光盘只读存储器
(CD-ROM)、USB闪存盘或可移动硬盘。该软件产品包括使计算机设备(个人计算机、服务器或网络设备)能够执行由实施方式提供的方法的多个指令。
本文所描述的实施方式是由物理计算机硬件实现的,包括计算设备、服务器、接收器、发送器、处理器、存储器、显示器和网络。本文描述的实施方式提供了有用的物理机器以及特别配置的计算机硬件布置。
尽管已经详细描述了实施方式,但是应当理解,本文可以进行各种改变、替代和变更。
此外,本申请的范围不旨在限于说明书中描述的过程、机器、制造、物质组成、手段、方法和步骤的特定实施方式。
可以理解,以上描述和示出的示例仅意图是示例性的。
照明控制的示例性实施方式
如上所述,用于通过多个数据连接的数组的传感器和致动器通信的协议可以如下所述应用于照明控制系统。这些示例是示例性的而非限制性的,并且旨在示出该协议如何克服家庭和办公室应用中的照明控制问题。
在一个示例性实施方式中,将多个四十个互连的发光面板安装在厨房天花板中,参见图10。面板分别成形为正方形,边长为15厘米。每个面板可以发出强度、色调和饱和度可变的光。每个面板都连接到至少一个其他面板。多个面板形成的几何图案由安装多个面板的人另外选择。在图10中,该图案可被描述为一组互连带,每个带包括两个至十个互连面板。照明面板的安装覆盖了厨房天花板的区域,但是形状不规则,可以提供增强厨房的美学或功能品质。使用厨房的人还可以改变形状。该人踩上梯子,从当前安装中拉出一个或多个面板,并将一个或多个面板附接到安装中一个或多个面板的不同侧,操作持续不超过一分钟。
在图10的示例性实施方式中,面板之一通过电线连接到电网。该面板除包含发光组件外,还包含充当网络控制器的硬件和软件组件。安装中的每个面板都通过一小块导电电路板彼此连接,这意味着可以为所有面板提供电流以驱动给定面板的发光二极管和其他电气组件。
图10的安装中的每个面板可以被单独控制。也就是说,其光输出的强度、色相和饱和度可以在任何时间点采取不同于安装中任何其他面板的值。但是,在某些相关应用中,给定面板的光输出的强度、色相和饱和度被最佳设置为其他面板的输出的属性,或者以其他方式使安装看起来像单元而不是作为单个光源的集合。基本级别的控制涉及整个安装过程中数组的通信,其中每个数组都用于安装中的一个特定面板,其中所述数组指示面板输出特定的光强度、色相和饱和度。
在图10中的安装的照明控制的一个示例性实施方式中,所有面板被约束以输出与该安装的所有其他面板相同的光。每个面板还包含运动传感器(例如,被动红外、微波、超声、断层摄影运动检测器、姿势检测器)。控制器至少包含一组可执行指令,这些可执行指令定义了规则引擎的一部分,从而使早晨检测到的运动应触发所有面板开启并发出高强度白光。控制器还包含一组可执行指令,这些可执行指令定义了规则引擎的一部分,使得超过三分钟都没有检测到运动会启动光强度的逐渐变暗,在另外两分钟后达到零强度,除非再次在中间的时间中检测到运动。为了实现该控制方案,可以如下使用本发明的用于数据通信的创新协议。
假设所有的灯光面板都已关闭且没有运动发生,则控制器每秒创建一次批量提取请求数组,如前面有关图9的部分所述。由此创建的数组至少包含一个整数,其表示至安装面板以报告其运动传感器的状态的指令。批量提取数组被转发到数据通信网络中与控制器直接相邻的面板。在该示例性实施方式中,是物理上容纳控制器部件的面板。如上面关于图9所描述的,第一面板在它通过其连接的接口开始迭代之前初始化空的数组。在图10的示例性实施方式中,有两个这样的连接接口,它们是唯一排序的。第一面板继续将批量提取请求数组转发到连接到其第一网络接口的面板。如上面关于图9所述那样执行继续在多个面板中传输数组,直到到达终端灯光面板,即仅连接到安装的另一个面板的面板。
在执行的阶段,面板报告其运动传感器状态。运动传感器状态可以由单个二进制或更复杂的数组组成。在一个示例性实施方式中,它由具有十六个元素的数组组成,每个元素包括浮点数,该浮点数对应于来自最接近给定面板的周围厨房空间的感测电磁信号中的某个频率的大小。如以上关于图9的部分中所述,该数组被添加到先前创建的数组,然后在网络层次中向上发送回。因此,逐渐创建了复合数组,它包括具有特定序次的安装的所有面板的运动传感器值的数组。控制器接收最终的复合数组。
在该示例性实施方式中,执行批量提取请求数组以及具有运动传感器值的复合数组的通信,而无需对网络地址或其他开销进行任何显式比较。该协议能够以适度的能耗快速检索图10中所示安装中运动传感器的状态,这是照明系统所希望的,因为照明系统在许多应用中应保持关闭较长时间,例如在晚上或正常工作时间。由于该协议的开销很低,因此控制器可以频繁地轮询运动传感器的状态,从而在运动最终发生时对运动做出快速响应,从而当人进入厨房使用它时,图10中的照明装置会快速打开。
在图10的厨房中的示例性实施方式中,在这种情况下,人朝着炉灶移动进入空间。最接近人们使用厨房的入口点的面板的运动传感器生成数组,该数组数组明显偏离先前实例中生成的数组。因此,控制器接收包含一个数组的复合数组,该数组的值会偏离基线值。控制器的规则引擎因此生成二进制输出,意味着在网络中的一个传感器处已检测到运动。相对于图7的非限制性示例,该输出继而启动上述指令的执行。给定示例性实施方式的约束,即所有面板均应输出相同的光强度、色相和饱和度,因此复合数组控制器为安装的所有照明面板创建的是相同数组的串联。相同的数组可以对应于相关色温(CCT)为6500K的200流明白光的单个面板的光输出。
如上面关于图7的部分中所述,复合数组分布在整个面板网络中。除终端面板之外的每个面板都转发其接收的复合数组的连续子部分,并且每个面板消耗在所有其他子部分都已通过占用的网络接口转发之后,它接收到的复合数组的最后一个数组。因此,每个面板的发光二极管在6500K的色温下接收与200流明的光强度、色相和饱和度相对应的驱动电流。因此,在人进入厨房后的几毫秒内,厨房就被图10的所有四十个面板照亮。
当该人在厨房周围移动时,执行诸如但不限于打开和关闭冰箱,打开和关闭橱柜门,操作厨房用具,煎锅,烘烤或煮沸食物,在厨房桌子处将食物从盘子移动到嘴的动作,照明安装中的一个或多个传感器会检测到运动。控制器接收这些运动状态,并且照明在整个持续时间内保持开启。
当人员离开厨房空间时,控制器接收规则引擎将其与没有发生运动相关联的复合数组。控制器初始化计时器,该计时器开始递增计数。当计时器计数时,指示灯保持点亮。如果以与上述类似的方式重新检测到运动,则计时器将重置,并且仅在运动消失后才重新启动。在示例性实施方式中,如果计时器达到三分钟,则控制器构造包括数组的复合数组,该数组对应于单个面板的198流明白光的CCT为6500K的光输出。如上所述,由于复合数组分布在整个数据网络中,并且在与图7有关的部分中,该安装中的所有光面板都会使输出光强度变暗,使人眼几乎看不到的少量光。因此,厨房的照明量适度减少,照明设备的能耗也降低了。
在图10的示例性实施方式中,随着计时器继续从三分钟阈值开始进一步向上计数,调光继续进行,并且通过创建与从6500K CCT的196流明白光的每个面板输出的光相对应的复合数组,并由本发明的协议在整个照明安装上分配数组。控制器上的指令以这种方式继续进行,以使得在四分钟没有检测到运动之后,每个面板发出100流明的CCT为6500K的白光。在五分钟未检测到运动后,控制器将创建数组对应于所有面板的零光输出的复合数组。照明安装因此被关闭。
如果在示例性实施方式的三分钟和五分钟期间的任何时间,有人进入厨房空间并且检测到运动,则控制器创建与在上述先前实例中相同的合成数组,使得每个面板再次生成CCT为6500K的200流明的白光。
在采用图10的照明安装的另一个示例性实施方式中,CCT不是恒定在6500K,而是取决于一天中的时间。在某些照明应用中,早上和一天的中午,大于或等于5000K的高的CCT是适合的;在晚上,3000K、2700K、2200K的低的CCT是适合的。在这些应用中,控制器连接到记录一天中的时间的时钟。该时钟可以在控制器内部,也可以通过与外部网络的连接进行访问。该示例性实施方式针对运动和缺少运动而起作用,如先前的示例性实施方式那样,关键区别在于复合数组取决于一天中的时间,例如,在5AM和4PM之间,光输出(如果有)是CCT6500K的,而在4PM到5AM之间,光输出是CCT 2700K的。
在采用图10的照明安装的另一个示例性实施方式中,运动期间的光强度不是200流明,而是取决于厨房的环境光条件。例如,在夏季的晴天期间,来自窗户的环境光已经可以为厨房使用提供大量的照明,因此需要较少量的人造照明,并且理想情况下可以提供这种照明,从而可以节省能源。相反,在冬天的雨夜里,窗户的环境光可能接近于零,因此需要大量的人工照明。
在该示例性实施方式中,控制器可以访问照明网络外部的环境照明传感器。环境光传感器可以安装在厨房中的某个位置,并连接到家庭Wi-Fi。控制器是网关,它也连接到家庭Wi-Fi。使用适当的权限配置,控制器因此可以向外部环境光传感器查询其值。使用家庭Wi-Fi所需的某些数据通信协议(例如TCP/IP),在完成适当路由和对地址报头的解释以及解密后,控制器会检索环境光值,并以以下方式使用。如果环境光传感器返回的值介于零和200lux之间,则本发明的协议在图10所示的整个照明设备中发送的复合数组的数组对应于200流明的光强度。在200lux至5000lux之间,控制器将创建复合数组,该阵列对应于来自每个面板的小于200流明的光强度。由于人类在低强度下比在高强度下能更好地感知光的变化,因此光强度的降低可以是非线性的,而不是200lux至5000lux之间的线性变化。在5000lux或更高的亮度下,即使检测到运动,控制器也可以创建与设备面板的零光强度相对应的复合数组。这对应于有足够的环境照明来使用厨房的状态。
在采用图10的照明面板的安装的另一示例性实施方式中,从一个面板输出的光可以与另一面板的光输出不同。可以出于功能和美学目的而生成差异。在采用图10的安装的示例性实施方式中,靠近安装的几何中心的面板设置为输出接近6500K的CCT白光,而靠近安装的几何外围的面板设置为输出光这是接近6500K的CCT白光和饱和紫色光的混合。混合中紫色的程度取决于光面板在几何中心和外围之间的位置。
通过存储在存储器中的网络拓扑表示,控制器可以使用安装的几何形状信息。在图5中以及上面相对于图5的描述中,给出了表示网络拓扑的不同方法。从网络拓扑表示中,控制器使用欧几里得几何学推断面板相对于设备的几何中心和外围的位置。
在该示例性实施方式中,当人进入厨房时感测到运动时,控制器执行以下指令。如先前示例性实施方式所述,发现运动并使用创新协议将其传输到控制器。控制器继续创建根据协议并在图7中示出的要传输的复合数组。与先前的示例性实施方式不同,构成复合数组的数组是不同的。取而代之的是,每个数组对应于CCT 6500K白光和饱和紫色的某种混合,其中混合中饱和紫色的数目取决于相应面板与安装的几何中心和外围的几何关系。
创新协议根据面板在网络拓扑中的位置来定义复合数组中某个面板的位置。应该注意的是,尽管可以使用网络拓扑来推断安装物理空间中的几何关系,但是在复合数组中应放置对应于或多或少紫色的数组的情况并不明显。取而代之的是,复合数组的构造依靠创新来生成数组,该数组无需整个安装中的显式地址比较就可以传输,并且仍然可以生成几何精确的输出。因此,控制器创建的复合数组是不同数组的非随机组合,其中创建方法使用网络的拓扑信息及其与安装的几何形状的对应关系。如上面相对于图7所述,在整个安装中发送复合数组,并且在检测到的运动的毫秒内获得光输出,其中来自安装的光主要是位于安装中心6500K处的白光,并且6500K的白光和饱和的紫色的不同混合朝向安装的外围。
在另一个示例性实施方式中,如图11所示,在儿童卧室的墙壁上安装了多个面板。面板分别成形为边长为15厘米的正方形。每个面板可以发出强度、色调和饱和度可变的光。每个面板都连接到至少一个其他面板。否则,多个面板形成的几何图案由安装面板的人选择。因此,照明面板的安装覆盖了墙壁的区域,但是具有不规则形状,其可以提供或增强卧室的美学或功能品质。还可以通过从当前安装中拉出一个或多个面板并将该一个或多个面板附接到该安装中的一个或多个面板的另一侧来改变形状,该操作持续不超过一分钟。
在图11的示例性实施方式中,除了提供光输出之外,至少一个面板包含用作网络控制器的硬件和软件组件。安装中的每个面板都通过一小块导电电路板彼此连接,这意味着可以为所有面板提供电流以驱动给定面板的发光二极管和其他电气组件。
该实施方式示出了另外的用例,其中用于数组传输的有效协议是有益的或必要的。在一些实施方式中,面板配备有组件以检测它们是否被触摸。即,如果人将他们的手指之一、多个手指或整个手掌按压在某个面板的表面上,则该动作会改变测得的电容,该电容体现为被触摸的特定面板处的数组。
控制器每百毫秒创建一次批量提取请求数组,如前面有关图9的部分所述。如此创建的数组至少包含一个整数,该整数表示向安装面板报告其电容式触摸传感器的状态的指令。批量提取数组被转发到数据通信网络中与控制器直接相邻的面板。在该示例性实施方式中,是物理上容纳控制器组件的面板。如上面关于图9所描述的,第一面板在它在第一面板的连接的接口上开始迭代之前初始化空的数组。第一面板继续将批量提取请求数组转发到连接到其第一网络接口的面板。如此继续执行并且如上关于图9所述,直到到达终端灯光面板,即仅连接到安装的另一个面板的面板。
在执行的那个阶段,面板报告其电容式触摸传感器状态。电容式触摸传感器状态可以由单个二进制或更复杂的数组组成。如以上关于图9的部分中所描述的,该数组被添加到先前创建的数组,并在网络层次中向上发送回。因此,逐渐创建了复合数组,它包括具有特定序次的安装的所有面板的电容式触摸传感器值的数组。控制器接收最终的复合数组。
在该示例性实施方式中,批量提取请求数组以及具有电容式触摸传感器值的复合数组的通信在没有网络地址的任何显式比较或其他开销的情况下执行。如在许多应用中不被触摸的照明系统所希望的,该协议使得能够以适度的能量消耗快速检索图11中的示例性安装中的电容式触摸传感器的状态。由于协议的开销很低,因此控制器可以频繁地轮询电容式触摸传感器的状态,从而快速响应触摸。
在示例性实施方式中,触摸感测用于如下的照明控制目的。假定图11的安装是在给定的时间点以某种强度、色相和饱和度输出某种光。每个单个面板的输出在强度、色相和饱和度方面都可以与其他面板不同,如图11所示的特定照明情况。房间里的人用食指触摸一个面板,将其保持按压在面板上。在不超过100毫秒的时间内,控制器已接收到复合数组,该阵列对应于正在触摸一个特定的面板。在控制器上执行的规则引擎会生成二进制输出,该输出对应于正在触摸安装的状态。
规则引擎的二进制输出如下启动逻辑指令的执行。在存储器中将变量设置为“向下调暗”。控制器构造复合数组,该阵列对应于当前照明状态下每个面板的相同色相和饱和度,以及每个面板的强度,该强度通过当前照明状态的光强度的线性变换而降低。
如以上关于图7的部分中所述,复合数组分布在整个面板网络中。除终端面板之外的每个面板都转发其接收的复合数组的连续子部分,并且每个面板消耗在所有其他小节都已通过占用的网络接口转发之后,它接收到的复合数组的最后数组。因此,每个面板的发光二极管接收驱动电流,该驱动电流相应具有与触摸之前相同的色相和饱和度,但是强度降低。
在此阶段,控制器再次轮询不同的电容式触摸传感器的状态,并假设该人仍在按压面板,则通过如上所述的创新协议和规则引擎评估通过数组传输来推断该状态。存储器中的变量已设置为“向下调”,并且保持不变。再次应用线性变换,以得出图11中安装的所有面板的强度降低。再次使用创新协议分配新的复合数组,并通过降低了光强度,色相和饱和度如以前一样,获得新的照明状态。
减少的过程一直持续到按压面板30次连续轮询事件,或者换句话说,持续3秒钟(提供参数作为非限制性示例)。在那种情况下,降低面板强度的线性变换在设计上已达到零,并且所有光都被关闭。如果有人继续按压面板,则该状态由控制器按上述方式推断,但是,它不会导致控制器创建新的复合数组,并且光输出保持为零。
如果在如上所述的逐渐减小光强度的过程中的某个时刻,人从面板上移开手指,则控制器接收推断为不存在触摸的复合数组。更改后的状态导致执行以下指令。每个面板的当前强度、色相和饱和度都记录为当前状态,并且存储器中的变量切换为“向上调”。因此,与恰好在手指从面板上移开之前的情况相比,来自每个面板的光保持不变。换句话说,随着手指的离开,光强度的变暗停止,并且获得新的当前照明状态。
如果此时该人再次触摸图11所示的安装中的面板,则该状态如以前一样被感测到,该复合数组如以前一样通过创新协议传输到控制器,并且该状态通过在控制器上执行的规则引擎推断并表示为二进制。此时,存储器中的变量已设置为“向上调”,因此将线性变换应用于每个面板的强度,以使其增加到大于其当前值的值。如以前一样,色调和饱和度保持不变。控制器按照上述创新协议(尤其是关于图7)的说明构造复合数组,并将其分布在整个网络中。每个面板的光强度略微变暗。
在此阶段,控制器再次轮询不同的电容式触摸传感器的状态,并假设该人仍在按压面板,则通过如上所述的创新协议和规则引擎评估通过数组传输来推断该状态。存储器中的变量已设置为“向上调”,因此保持不变。再次应用线性变换,使得为图11中的安装的所有面板得出增加的强度。再次使用创新协议分配新的复合数组,并通过增加光强度,色相和饱和度如以前一样,获得新的照明状态。
光强度增加的过程一直持续到按压面板三十次连续的轮询事件,或者换句话说,持续三秒钟。在那种情况下,增加强度的线性变换在设计上已达到最大允许的光强度,并且面板针对给定的色相和饱和度生成了最大的输出。如果人继续按压面板,则该状态由控制器按上述方式推断,但是,这不会导致控制器创建新的复合数组,并且光输出保持最大。
如果在如上所述的光强度逐渐增加的过程中的某个时间点,人从面板上移开手指,则控制器接收推断为不存在触摸的复合数组。更改后的状态导致执行以下指令。每个面板的当前强度、色相和饱和度都记录为当前状态,并且存储器中的变量切换为“向下调”。因此,与恰好在手指从面板上移开之前的情况相比,来自每个面板的光保持不变。换句话说,随着手指的离开,光强度的变暗停止,并且获得新的当前照明状态。
上面描述的示例性实施方式示出了包含快速且有效的感测和致动的照明安装如何使得灵活的装置能够控制其输出。因此,图11的安装是其自己的灯光开关。如果电容式触摸传感器的轮询很少(例如每隔一秒钟一次),或者仅应用于一小部分触摸表面(例如控制器附近的单个按钮),则可以减少照明安装的开销和能耗,但以功能为代价。通过有效且快速的数组传输协议,可以以较高的频率在安装的多个位置轮询电容式触摸传感器。
在另一个示例性实施方式中,电容式触摸的感测以及该数据从图11的安装的面板到控制器的传输与上述相同,即它使用关于图9所述的创新协议的方面。但是,在该示例性实施方式中,在致动命令的创建中使用了哪个面板被触摸的精确信息。因此,在该示例性实施方式中,控制器接收复合数组,其中构成该复合数组的数组指示面板正在被触摸。由于创新的协议及其施加到网络拓扑上的序次,一个数组在复合数组内的位置对应于图11中该安装的一个已知面板。出于说明目的,假定它是正在被按压的图11中最左侧的面板。
假定控制器已从批量提取数组中推断出最左侧的面板正在被触摸,则控制器继续构建单个更新复合数组,如上所述,尤其是关于图8所述的。最左侧的数组在网络拓扑中具有独特的已知位置。控制器相应地在复合数组中设置目标索引整数。复合数组还被构造为包括与最大光强度下的随机色调和饱和度相对应的数组。这样构造的复合数组根据创新协议进行传输。简而言之,与控制器直接相邻的第一面板确定通过哪个网络接口发送接收到的复合数组。分层网络拓扑中较低的其他面板执行类似的计算,以选择通过其占用的网络接口中的哪个来发送接收到的复合数组。继续进行直到满足目标索引和节点计数器之间的相等条件为止,此时将相应的面板设置为在最大光强度下输出随机选择的色相和饱和度。通过创新协议的设计,该面板就是被触摸的面板。
如上所述,改变光输出的方法可以代替地是批量命令,如上所述,尤其是关于图7所述的。在这种情况下,复合数组由图11的安装中所有面板的数组组成。但是,这些数组中只有一个表示与当前光输出不同的光输出,即正在触摸的光面板。
通过协议有效地将在图11的安装内触摸的面板的精确位置传送到控制器,并且在该精确位置处执行光输出的修改。执行此感测和致动所需的时间可能非常短,并且取决于微控制器的频率。然而,由于精确感测和致动所需的操作不包括显式的地址比较或其他传输开销,因此数组传输非常有效,并且触摸与光调节之间的延迟可能在数毫秒或更短的时间内。
音乐或声音的可视化是另一示例性实施方式,其中对于预期的应用,感测信号与几何精确致动之间的延迟必须低。如在申请号为PCT
/CA2017/050500的专利中所述,存在一些方法,其中将由换能器膜片感测到的机械波映射到空间分布的光输出上。换句话说,在给定的时间点的语音、音乐或其他环境声音会导致从照明安装发出的光输出,如图11所示,这会导致视听配置增加主观感觉、美感或其他效果。鉴于声音和视觉输出之间缺乏协调,感测到的声音信号(如鼓拍、渐强、颤音)和相应的光输出之间的显着等待时间会降低主观感觉的放大,甚至可能使其衰减。因此,该创新协议是合适的,因为它能够快速传输空间精确的感测和光致动数组。
在另一个示例性实施方式中,如图10和11所示的灯光面板安装在3,000平方英尺办公空间的天花板上。面板因此形成空间上非常扩展的网络。面板的确切配置可能会有所不同,并且只要所有面板都通过网络接口相互连接,就不需要安装即可覆盖天花板的整个区域。在示例性实施方式中,该安装包括工作站附近的连接面板的集群,以及将集群连接在一起并位于办公室空间内的走廊或其他细长运输区域上方的面板带。
如在图10的示例性实施方式中,面板配备有运动传感器。因此,控制器可以确定办公室的哪些区域运动。在示例性实施方式中,如果在办公室中走廊的一个终端的面板处检测到运动,则控制器将该状态与分配给该走廊的所有灯光面板的接通相关联。换句话说,只要在该装置的一组面板带中的至少一个面板感测到运动,就可以在不自身感测到运动的情况下打开灯光面板。因此,在预期光线将在何处起作用的情况下打开灯光面板。
类似地,办公空间中的一个或几个面板集群可以根据某种空间性质的某些运动而开启,而不仅仅是被打开的集群上的运动。此外,由于光板的集群与位于办公室空间中某个位置处的特定桌子相关联,所以可以针对在所述工作站工作的人来调节集群的色调、饱和度和光强度。例如,在示例性实施方式中,办公室工作人员通过图形用户界面设置其优选的色调、饱和度和强度。这些值通过本地办公室网络(例如办公室Wi-Fi)传送到数据库。灯光面板网络的控制器遵循必要的权限配置,可以访问该数据库,因为它是网关。当在相关的灯光面板集群附近检测到运动时,控制器会打开集群的灯光面板。开启过程涉及以下步骤:从数据库中检索首选的光输出;构造与网络拓扑中的面板集群的位置以及个性化的照明输出相对应的复合数组;以及根据创新协议在整个网络中传输复合数组。
对于像整个办公空间这样的空间扩展网络,有效的数据传输是有益的。对于以照明为功能目的的个性化空间,空间精确和事件驱动的照明控制是有益的。当前的创新协议极大地帮助了这两个功能。
图11的面板是矩形的,并且可以包括每个具有四个侧面的模块化面板。在该示例中,每个侧面可以包括接口端口,但是可以变化。
例如,其他数目的接口端口也是可能的,并且例如可以根据模块化电子组件(例如,LED照明器)的侧面的数目而变化。例如,这样的模块化电气组件可以包括三角形、矩形、五边形、六边形、七边形、八边形、非对角形、十边形等面板,并且这种面板的侧面的一部分或每一个可以包括接口,其需要分配序次以改善数据运输。在一些实施方式中,也可以有一个或多个不具有界面的侧面(例如,六角形模块不必具有六个界面)。
图12是示出根据一些实施方式的连续序列的实施方式的示例说明。
在此示例中,第一复合数组由有序内容组成,在示例中,字符A,B,C等等,直到Z。第一节点接收此复合数组。使用该协议,创建了复合数组的第一个连续序列。
单词“连续”的含义是(1)该序列是有序的,并且(2)该序列与第一复合数组的内容的一个延伸重叠。如果从最小集操作的角度来看,则可以通过简单地定义要应用于第一复合数组的内容的一个下限和一个上限来获得第一连续序列。
因此,将排序例如通过组合[A,C,D,X,Z]构造的序列,但不是第一复合数组的连续序列。此过程递归地继续。即,通过应用相同类型的最小置位运算,从第一连续序列构造第二连续序列。
这将实际上将第一复合数组(或构成第一复合数组的有序内容)分解为连续序列。为了描述的目的,这些被表示为最小设置操作,使得创建新的序列,“分割”序列。
另外,这多个连续序列是针对一个给定节点的,非重叠。换句话说,已经通过给定节点的第一网络接口接收到的第一复合数组的任何单个内容单元(称为内容单元Ω)将仅通过同一给定的节点的至多一个其他网络接口发送。可能不通过任何网络接口发送,因为该内容单元可能打算由一个给定节点使用。
在一些实施方式中,“不重叠”是在一些实施方式中隐含的属性。分割给定的数据序列,以使节点以上述方式分成较小的块。
因此,任何一个内容单元将仅以一个这样的序列存在。在非重叠的实施方式中,数据的传输变得更加有效,但是严格地这是不必要的。
替代实施方式将是将内容的公共单元添加到所有序列,并在任何进一步的计算中忽略该公共单元。然后严格地,序列是重叠的,但是一些实施方式的创新方面仍然适用。

Claims (23)

1.一种用于在包括多个节点、一个控制器并且包括节点之间的多个连接的数据网络中传输多个数组的方法,其特征在于:
其中,所述多个节点中的节点包含用于发送和接收数组的多个网络接口,以及
其中,所述多个节点中的节点之间的连接是通过节点的多个网络接口的联结形成的,使得所述连接的网络拓扑为树形拓扑,每个节点包括多个网络接口;
所述方法包括:
所述控制器对于所述多个节点中的所有节点,为所述多个网络接口单独地和本地地指定第一序次;
所述控制器根据所述网络拓扑和所述多个网络接口的第一序次,为所述多个节点确定第二序次;
所述控制器通过多个数组的级联生成第一复合数组,使得所述第一复合数组中的第一数组和第二数组作为所述第二序次的对应节点对,彼此处于同一序次;和
在所述整个数据网络中传输第一复合数组的内容,使得每个节点从至少一个通过第一网络接口连接的其他节点接收第一复合数组的第一连续序列以及关于所述第一网络接口可到达的节点的数目,并且使得每个节点向通过第二网络接口与其连接的其他节点发送所述第一复合数组的第二连续序列,其中,根据所述第一序次、第二序次、所述关于第一网络接口可到达的节点的数量以及第一连续序列构造所述第二连续序列。
2.根据权利要求1所述的方法,其特征在于,其中,与所述第一复合数组的所述第一和第二连续序列相关的功能包括:将所述第一连续序列分成数目的重叠或非重叠序列,并且以与其他重叠或非重叠序列的相当的序次,将所述第二连续序列作为重叠或非重叠序列分配给第一序次中的其他网络接口,作为第二网络接口,或者,其中,与所述第一复合数组的所述第一和第二连续序列相关的功能包括:聚合数目的数组的重叠或非重叠序列,其中第二连续序列是相对于其他作为到第一序次的其他网络接口的第二网络接口的重叠或非重叠序列有相同的序次的重叠或非重叠序列,并且将所述聚合序列分配为所述第一连续序列。
3.根据权利要求1所述的方法,其特征在于,还包括:在通过所连接的第二网络接口的所有连续序列的发送完成之后,创建确认消息,以及通过所述节点的所述第一网络接口发送所述确认消息,
其中,在通过第二网络接口发送第二连续序列之后直到通过同一第二网络接口接收到至少一个确认消息,节点暂停传输的进一步执行,使得所述传输的进一步执行以成功传输到多个节点中序次在前的节点为条件,
其中,如果所述数据网络的节点在时间阈值内未能接收到发送第二连续序列引起的至少一个确认消息,则所述方法还包括:生成错误消息。
4.根据权利要求1所述的方法,其特征在于,其中,对于数据网络一次获得所确定的第二序次,并将其存储在存储器中,使得在创建所述第一复合数组和传输所述第一复合数组期间,从存储器中检索所确定的第二序次,其中,对于数据网络,以小于或等于每秒四次的频率获得所确定的第二序次,并将其存储在存储器中的单元,使得在创建所述第一复合数组和传输所述第一复合数组期间,从存储器中检索当前确定的第二序次。
5.根据权利要求1所述的方法,其特征在于,其中,所述网络接口包括以几何关系布置在所述多个节点中的每个节点到所述串行端口的空间布置,并且其中串行端口表示数据阵列在所述多个节点的节点之间传输的可用路径,并且可以基于所述几何关系遍历来串行端口,其中,树形拓扑的所述节点的网络接口的序次对应于所述串行端口的几何关系的顺时针或者逆时针遍历。
6.根据权利要求1所述的方法,其特征在于,其中,所述节点还包括数字或模拟传感器,以感测所述节点的一个或多个状态或所述节点的环境,并且其中,所感测的状态被数字表示为在所述数据网络中传输的所述第一复合数组的数组形成部分,其中,所述节点感测到的状态是在所述节点的紧邻附近是否存在物体,或者,其中,所述节点感测到的状态是在来自所述数字或模拟传感器的20米路径内的物体通过空气的运动。
7.根据权利要求1所述的方法,其特征在于,其中,所述节点还包括致动器,所述致动器被致动,使得根据由所述节点通过一个或多个其网络接口接收的所述第一复合数组的内容的部分设置所述组件的一个或多个状态,其中,所述节点的致动是针对多个发光二极管的驱动电流的设置。
8.根据权利要求1所述的方法,其特征在于,其中,将所述网络拓扑的树形拓扑确定为所有网络接口连接的生成树,使得所述生成树的连接是所有网络接口连接的子集。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述第二序次是任何给定数据网络的节点相对于第一序次的序次,其中,基于数据网络的两个其他属性来建立第二序次:数据网络的精确树形拓扑,以及用于构成数据网络的节点的第一序次。
10.一种用于在包括多个节点并且包括在节点之间的多个连接的数据网络中传输数组的方法,其特征在于,其中,所述数组传输是从所述多个节点中的一个源节点到一个目标节点;
其中,所述多个节点中的节点包含用于发送和接收数组的多个网络接口,以及
其中,所述多个节点中的节点之间的连接是通过节点的多个网络接口的联结形成的,使得所述连接的网络拓扑为树形拓扑;
所述方法包括:
对于所述多个节点中的所有节点,为所述多个网络接口指定第一序次;
根据所述网络拓扑和所述多个网络接口的第一序次,为所述多个节点确定第二序次;
通过第一数组以及第一整数和第二整数生成第一复合数组,其中根据所确定的序次内的所述源节点或目标节点的位置设置所述第一整数;和
在所述整个数据网络中传输第一复合数组的内容,使得节点通过第一网络接口接收所述第一复合数组,仅当在所述第一复合数组的第二整数与通过所述第二网络接口连接到所述节点的树形数据网络拓扑的分支中包含的节点数相加超过所述第一复合数组的第一整数的值后,通过第二网络接口发送所述第一复合数组;
其中从节点的多个网络接口的第一序次迭代地选择第二网络接口,并且其中如果没有通过所述第二网络接口发送所述复合数组,则所述第一复合数组的第二整数增加包含在通过所述第二网络接口连接到节点的树形数据网络拓扑的分支中的节点数。
11.根据权利要求10所述的方法,其特征在于,还包括:在通过所述第二网络接口完成所述第一复合数组的发送完成之后,创建确认消息,以及通过所述节点的所述第一网络接口发送确认消息,其中,在通过第二网络接口发送所述第一复合数组之后,直到通过同一第二网络接口接收到至少一个确认消息,节点暂停传输的进一步执行,使得所述传输的进一步执行以成功传输到多个节点中序次在前的节点为条件,其中,如果所述数据网络的节点在时间阈值内未能接收到发送所述第一复合数组引起的至少一个确认消息,则所述方法生成错误消息。
12.根据权利要求10所述的方法,其特征在于,其中,对于数据网络一次获得所确定的第二序次,并将其存储在存储器中,使得在创建所述第一复合数组及其传输期间,从存储器中检索所确定的第二序次,或者,其中,对于数据网络,以小于每秒四次的频率获得所确定的第二序次,并将其存储在存储器中的单元,使得在创建所述第一复合数组及其传输期间,从存储器中检索当前确定的第二序次。
13.根据权利要求10至12中任一项所述的方法,其特征在于,所述第二序次是任何给定数据网络的节点相对于第一序次的序次,其中,基于数据网络的两个其他属性来建立第二序次:数据网络的精确树形拓扑,以及用于构成数据网络的节点的第一序次。
14.一种数据网络,包括多个节点以及在节点之间的多个连接,其特征在于,所述数据网络的多个节点适于在整个数据网络中采用权利要求1至13中任一项所述的方法传输数组;
所述多个节点中的每个节点包括用于发送和接收数组的多个网络接口,并且每个节点包括可编程集成电路和存储器;
节点之间的连接是通过所述节点的多个网络接口的联结形成的,使得所述连接的网络拓扑为树形拓扑;和
数组在整个数据网络中的传输利用了所述可编程集成电路,其被配置为:
对于所述多个节点中的所有节点,为所述多个网络接口指定第一序次;
根据所述网络拓扑和所述多个网络接口的第一序次,为所述多个节点确定第二序次;
通过多个数组的级联生成第一复合数组,使得所述第一复合数组中的第一数组和第二数组作为所述第二序次的对应节点对,彼此处于同一序次;和
在所述整个数据网络中传输第一复合数组的内容,以使每个节点从至少一个通过第一网络接口连接的其他节点接收第一复合数组的第一连续序列,并且使得每个节点向通过第二网络接口与其连接的其他节点发送所述第一复合数组的第二连续序列,其中,根据所述第一和第二序次,根据所述第一连续序列构造所述第二连续序列。
15.根据权利要求14所述的数据网络,其特征在于,其中,与所述第一复合数组的所述第一和第二连续序列相关的功能包括:将所述第一连续序列分成数目等于或大于所连接的节点的网络接口之数目的重叠或非重叠序列,并且以与其他重叠或非重叠序列的相当的序次,将所述第二连续序列作为重叠或非重叠序列分配给第一序次中的其他网络接口,作为第二网络接口,其中,与所述第一复合数组的所述第一和第二连续序列相关的功能包括:聚合数目等于或大于所述节点所连接的网络接口的数目的数组的重叠或非重叠序列,其中第二连续序列是相对于其他作为到第一序次的其他网络接口的第二网络接口的重叠或非重叠序列有相同的序次的重叠或非重叠序列,并且将所述聚合序列分配为所述第一连续序列,其中,对于数据网络一次获得所确定的第二序次,并将其存储在存储器中,使得在创建所述第一复合数组和传输所述第一复合数组期间,从存储器中检索所确定的第二序次。
16.一种数据网络,包括多个节点和在节点之间的多个连接,其特征在于,该所述数据网络的多个节点适于在整个数据网络中传输数组;
所述多个节点中的每个节点包括用于发送和接收数组的多个网络接口,并且每个节点包括可编程集成电路和存储器;
节点之间的连接是通过所述节点的多个网络接口的联结形成的,使得所述连接的网络拓扑为树形拓扑;和
数组在整个数据网络中的传输是在多个节点中从一个源节点到一个目标节点,利用了可编程集成电路,其被配置为:
对于所述多个节点中的所有节点,为所述多个网络接口指定第一序次;
根据所述网络拓扑和所述多个网络接口的第一序次,为所述多个节点确定第二序次;
通过第一数组以及第一整数和第二整数生成第一复合数组,其中根据所确定的序次内的所述源节点或目标节点的位置设置所述第一整数;和
在整个数据网络中传输第一复合数组的内容,使得节点通过第一网络接口接收所述第一复合数组,仅若所述第一复合数组的第二整数与通过所述第二网络接口连接到所述节点的树形数据网络拓扑的分支中包含的节点数相加超过所述第一复合数组的第一整数的值,则通过第二网络接口发送所述第一复合数组;
其中从节点的多个网络接口的第一序次迭代地选择第二网络接口,并且其中如果没有通过所述第二网络接口发送所述复合数组,则所述第一复合数组的第二整数增加包含在通过所述第二网络接口连接到节点的树形数据网络拓扑的分支中的节点数。
17.根据权利要求16所述的数据网络,其中,所述多个节点中的每个节点是照明器或照明器控制器电路,并且在跨所述多个节点的控制消息的传播期间利用所述复合数组的传输,其中,所述控制消息至少控制所述多个节点中的各个节点的光学输出特性,所述光学输出特性包括色调、饱和度和强度。
18.一组互连的照明器,每个照明器用作根据权利要求14至17中的任一项所述的数据网络的节点。
19.一组互连的照明器和至少一个控制器,每个照明器和控制器用作根据权利要求14至17中的任一项所述的数据网络的节点。
20.一种用于在具有多个互连节点的数据网络上传播计算机指令以确定数据网络拓扑的完整规范的计算机实现的方法,其特征在于,该方法包括:
由控制器初始化被转发到被指定为当前节点的第一节点的数据阵列L;
由当前节点初始化新的数据阵列D,并在当前节点的网络接口的有序集合的每个网络接口上递归迭代:
在由所述网络接口的有序集合的网络接口连接到子节点时,将数据阵列L转发到所述子节点,使得所述子结点被递归迭代为所述第一节点;
在识别出所述有序的网络接口集合的网络接口未被占用时,修改数据阵列D以表示所述网络接口未占用;
在识别出所述有序的网络接口集合不包括要迭代的附加接口时,将所述数据阵列D转发到父节点;和
由所述控制器接收所述数据阵列D的更新版本,所述数据数组D的所述更新版本表示所述数据网络拓扑的完整规范。
21.一种计算机实现的方法,用于在具有多个互连节点的数据网络上传播作为批量更新的计算机指令,其特征在于,该方法包括:
由控制器初始化由消息类型标识符和用于调整互连节点的状态的至少一个数据阵列组成的复合数据阵列,其中数据阵列的数量等于数据网络中的节点的数量,并且由控制器将复合数据阵列转发到指定为当前节点的第一节点,当前节点递归地迭代当前节点的网络接口的有序集合的每个被占用的网络接口:
在识别出存在剩余的被占用的网络接口时,由当前节点识别连接到正在迭代的接口的节点的数量M;
由当前节点启动内部时钟;
将所述消息类型标识符和所述复合数据阵列的前M个数据阵列转发到正在迭代的接口,使得子节点接收用于递归的指令集;
在当前节点识别出不存在剩余的被占用的网络接口或不存在被占用的网接口时,创建要转发到父节点的确认数据阵列;和
由所述控制器接收表示所述批量更新已完成的所述确认数据阵列。
22.一种用于在具有多个互连节点的数据网络上传播用于更新单个节点的操作的计算机指令的计算机实现的方法,其特征在于,该方法包括:
由控制器初始化由消息类型标识符、目标索引值和节点计数器值N组成的复合数据阵列,以及可以用作单个节点的输入以设置单个节点的状态的数据阵列,目标索引值对应于单个节点;
由所述控制器将所述复合数据阵列转发到被指定为当前节点的第一节点,所述当前节点递归地迭代在当前节点的网络接口的有序集合的每个被占用的网络接口上:
在识别出存在剩余的被占用的网络接口时,由当前节点识别连接到正在迭代的接口的节点的数量M;
由当前节点检索节点计数值N,并将M和N相加以建立临时计数值V;
由当前节点将临时计数器值V与目标索引值进行比较;
在确定目标索引值小于临时计数器值V时,由正在迭代的接口转发复合数据阵列,使得子节点接收复合数据阵列用于递归执行;
在确定目标索引值不小于临时计数值V时,编辑节点计数值N以等于临时计数值V;
当当前节点识别出不存在剩余的被占用网络接口或不存在被占用网络界面,并且节点计数值N和目标索引值相等时,创建要转发给父节点的确认数据阵列;和
由所述控制器接收表示所述单个更新已完成的所述确认数据阵列。
23.一种用于传播计算机指令的计算机实现的方法,所述计算机指令用于在具有多个互连节点的数据网络上进行数据的批量提取,其特征在于,所述方法包括:
由控制器初始化批量提取数据阵列,该批量提取数据阵列包括批量提取消息标识符,该批量提取消息标识符表示用于所述多个互连节点的状态数据的批量提取的逻辑指令集;
由所述控制器将所述批量提取数据阵列转发到被指定为当前节点的第一节点,所述当前节点递归地迭代在当前节点的网络接口的有序集合的每个被占用的网络接口上:
由当前节点对于初始初始化为空数组的状态数据数组进行初始化;
在识别出存在剩余的被占用的网络接口时,由当前节点启动内部时钟,并由正被迭代的网络接口将复合数据阵列转发到耦合到网络接口的子节点,使得子节点接收复合数据阵列用于递归执行;
在由所述当前节点识别出不存在剩余的被占用的网络接口或不存在被占用的网接口时,检索表示所述当前结点的当前状态的数据阵列,并将所述当前状态附加到所述状态数据阵列;以及将所述状态数据阵列转发到父节点,其中所述父节点在从所述子节点接收到所述状态数据阵列时,将所述状态数据阵列从所述子节点附加到所述父节点的状态数据阵列上,使得所述父结点的状态数据数组是复合数据数组,所述复合数据数组包括由所述给定网络接口在层级中较低的所有子节点的所有状态数据数组;
由所述控制器接收表示所述多个互连节点的状态数据的所述复合数据阵列。
CN202310400089.XA 2018-01-04 2019-01-04 分层数据网络中的传输方法 Pending CN116828078A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862613505P 2018-01-04 2018-01-04
US62/613,505 2018-01-04
CN201980007413.3A CN111656749B (zh) 2018-01-04 2019-01-04 分层数据网络中的传输方法
PCT/CA2019/050012 WO2019134046A1 (en) 2018-01-04 2019-01-04 Transport method in hierarchical data network

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980007413.3A Division CN111656749B (zh) 2018-01-04 2019-01-04 分层数据网络中的传输方法

Publications (1)

Publication Number Publication Date
CN116828078A true CN116828078A (zh) 2023-09-29

Family

ID=67143515

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310400089.XA Pending CN116828078A (zh) 2018-01-04 2019-01-04 分层数据网络中的传输方法
CN201980007413.3A Active CN111656749B (zh) 2018-01-04 2019-01-04 分层数据网络中的传输方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201980007413.3A Active CN111656749B (zh) 2018-01-04 2019-01-04 分层数据网络中的传输方法

Country Status (4)

Country Link
US (1) US20210067440A1 (zh)
EP (2) EP4354819A2 (zh)
CN (2) CN116828078A (zh)
WO (1) WO2019134046A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11382203B2 (en) * 2016-09-05 2022-07-05 Signify Holding B.V. Systems, methods, and apparatuses for distributing computational resources over a network of luminaires
US11222679B2 (en) * 2019-09-17 2022-01-11 Nxp Usa, Inc. Packaged integrated circuit having a photodiode and a resistive memory
CN110671098B (zh) * 2019-09-25 2021-07-20 中国科学院地质与地球物理研究所 一种随钻井下单芯总线电路装置
CN213403596U (zh) * 2020-09-27 2021-06-08 漳州立达信光电子科技有限公司 一种智能灯具的控制电路及智能灯具
US11796671B2 (en) * 2021-03-08 2023-10-24 GM Global Technology Operations LLC Transmission scheme for implementing code division multiple access in a radar system
CN218041859U (zh) * 2022-06-01 2022-12-13 猎光照明科技(深圳)有限公司 固态照明单元和设备

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738379B1 (en) * 2000-03-30 2004-05-18 Telefonaktiebolaget Lm Ericsson (Publ) Method of preserving data packet sequencing
US7355968B2 (en) 2003-09-30 2008-04-08 International Business Machines Corporation Method of stateless group communication and repair of data packets transmission to nodes in a distribution tree
CN100352217C (zh) * 2004-03-08 2007-11-28 华为技术有限公司 异步传输模式通信网络及其组网控制器
CN101263499B (zh) * 2005-07-11 2013-03-27 布鲁克斯自动化公司 智能状态监测和故障诊断系统
US20070083289A1 (en) * 2005-08-19 2007-04-12 David Russell Array mesh apparatus, system & methods
EP1994803B1 (en) * 2006-03-06 2012-06-06 Koninklijke Philips Electronics N.V. Use of decision trees for automatic commissioning.
US9655217B2 (en) * 2006-03-28 2017-05-16 Michael V. Recker Cloud connected motion sensor lighting grid
US8111702B1 (en) * 2007-12-20 2012-02-07 Cisco Technology, Inc. Configuring route properties for use in transport tree building
KR20110131226A (ko) * 2009-02-26 2011-12-06 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 네트워크 제어 시스템의 상호접속 장치들의 네트워크를 통한 메시지의 라우팅
CN102195857A (zh) * 2010-03-18 2011-09-21 武汉迈威光电技术有限公司 一种网络拓扑结构与节点信息搜集方法
US8239421B1 (en) * 2010-08-30 2012-08-07 Oracle International Corporation Techniques for compression and processing optimizations by using data transformations
US20120275311A1 (en) * 2011-04-29 2012-11-01 Tektronix, Inc. Automatic Network Topology Detection and Modeling
US8515289B2 (en) * 2011-11-21 2013-08-20 Environmental Light Technologies Corp. Wavelength sensing lighting system and associated methods for national security application
CN102624621A (zh) * 2012-03-11 2012-08-01 上海宜云物联科技有限公司 异构网络自适应数据通信方法及传感器网络多协议网关
WO2013159831A1 (en) * 2012-04-27 2013-10-31 Schreder Distributed lighting networks
CN102711209B (zh) * 2012-06-01 2015-02-11 广州市香港科大霍英东研究院 一种适用于无线传感器网络的动态自组织分层次路由方法
US20160359950A1 (en) * 2015-06-02 2016-12-08 Qualcomm Incorporated Systems and methods for improved trivial file transfer protocol
US9642218B1 (en) * 2015-11-23 2017-05-02 GE Lighting Solutions, LLC Wireless behavioral feedback for active lighting control
JP6568655B2 (ja) * 2015-11-26 2019-08-28 シグニファイ ホールディング ビー ヴィ ターゲットを定めたデータ通信のためのシステム及び方法
TWI584131B (zh) * 2015-12-14 2017-05-21 財團法人工業技術研究院 伺服器備份方法及其備份系統
EP3391710B1 (en) * 2015-12-18 2022-08-31 Signify Holding B.V. Lighting strip
US10575272B2 (en) * 2016-02-03 2020-02-25 Lg Electronics Inc. Method and apparatus for synchronizing frequency and time in a wireless communication system
US10534080B2 (en) * 2016-03-28 2020-01-14 The Boeing Company Radar image formation within a distributed network
EP3446027B1 (en) * 2016-04-22 2023-06-07 Nanogrid Limited.(HK) Systems and methods for connecting and controlling configurable lighting units
US10290129B2 (en) * 2016-06-14 2019-05-14 Arista Networks, Inc. Method and system for visualizing networks
US10778647B2 (en) * 2016-06-17 2020-09-15 Cisco Technology, Inc. Data anonymization for distributed hierarchical networks
US10158555B2 (en) * 2016-09-29 2018-12-18 At&T Intellectual Property I, L.P. Facilitation of route optimization for a 5G network or other next generation network

Also Published As

Publication number Publication date
CN111656749A (zh) 2020-09-11
WO2019134046A1 (en) 2019-07-11
CN111656749B (zh) 2023-05-12
EP3721602B1 (en) 2023-11-29
EP3721602A4 (en) 2021-08-18
EP3721602A1 (en) 2020-10-14
EP4354819A2 (en) 2024-04-17
US20210067440A1 (en) 2021-03-04

Similar Documents

Publication Publication Date Title
CN111656749B (zh) 分层数据网络中的传输方法
CN109906668B (zh) 智能照明控制系统温度控制设备、系统和方法
US8255487B2 (en) Systems and methods for communicating in a lighting network
US8035320B2 (en) Illumination control network
EP2859780B1 (en) Methods and apparatus for storing, suggesting, and/or utilizing lighting settings
US10194507B2 (en) System and method for powering and controlling an LED lighting network having daisy chained LEDS and controller not connected to internet
CN110794693B (zh) 设备配置方法、装置、电子设备及存储介质
US8368325B2 (en) Lighting system
US9967940B2 (en) Systems and methods for active thermal management
EP3358915B1 (en) Proxy for legacy lighting control component
AU2008207842A1 (en) Upgradeable automation devices, systems, architectures, and methods for energy management and other applications
CN106687872B (zh) 用于配置建筑物自动化系统的方法
US11910507B2 (en) Systems and methods for providing interactive modular lighting
US9900964B2 (en) Resetting of an apparatus to a factory new state
US20180249562A1 (en) Method and apparatus for an intelligent lighting system
CN114450689A (zh) 基于行为的自动化控制电子设备的系统和方法
Borlea et al. Intelligent lighting system platform architecture and linear process models
Benediktsson Lighting control: Possibilities in cost and energy-efficient lighting control techniques
Zhang et al. Design and implementation of a smart networking control system for LED lighting based on CAN
WO2023072824A1 (en) Internal lighting module
Correia Iluminação Inteligente para Espaços Interiores
Daniel Correia
Benediktsson Lighting Control

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