首页 / 专利库 / 计算机网络 / 物联网 / 消息模式控制

消息模式控制

阅读:610发布:2023-12-31

专利汇可以提供消息模式控制专利检索,专利查询,专利分析的服务。并且提供了用于控制 物联网 (IoT)设备的消息模式和大小的方法和装置。示例性方法包括通过计算多个模式和消息大小组合中的每一个的成本函数来确定新模式和消息大小组合的成本函数是否小于当前模式和消息大小组合的成本函数,以及确定该多个模式和消息大小组合之一的成本函数是否低于当前模式和消息大小组合。,下面是消息模式控制专利的具体信息内容。

1.一种用于使用消息模式进行通信的装置,包括物联网(IoT)设备,包括:
通信设备,用于在所述IoT设备和其他设备之间进行通信;
流量监测器,用于从IoT设备中的入站数据流量确定流量状态值;
成本函数计算器,用于迭代通过一组可能的模式和消息大小组合,以确定不同的模式和消息大小组合是否具有低于当前模式和消息大小组合的成本函数;并且,如果否,则模式分派器,用于根据当前模式和消息大小组合将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
2.如权利要求1所述的装置,包括:
模式选择器,用于如果所述成本函数低于所述当前模式和消息大小组合则选择新模式和消息大小组合;并且
所述模式分派器根据所述新模式和消息大小组合将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
3.如权利要求1所述的装置,其中所述消息模式包括单个样本模式(SSS),单个设备模式(SDS)或多个设备模式(MDS)。
4.如权利要求1到3中任一项所述的装置,其中所述通信设备包括无线电收发机,或网络接口控制器,或两者。
5.如权利要求1到3中任一项所述的装置,包括专用集成电路(ASIC),所述专用集成电路包括所述成本函数计算器、所述模式分派器、模式管理器或其任意组合。
6.如权利要求1所述的装置,包括:
编排控制器,用于接受来自下游设备的编排消息;
模式选择器,用于至少部分地基于所述编排消息调整消息大小;以及
消息分派器,用于根据当前模式将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
7.如权利要求6所述的装置,如果消息大小大于当前模式的最大阈值,或者小于当前模式的最小阈值,则所述模式选择器用于选择新模式。
8.如权利要求6或7中任一项所述的装置,包括专用集成电路(ASIC),所述专用集成电路包括所述编排控制器、所述模式选择器或所述消息分派器、或其任意组合。
9.一种用于在物联网(IoT)设备中选择消息模式的方法,包括:通过以下方式确定新模式和消息大小组合的成本函数是否小于当前模式和消息大小组合的成本函数:
计算多个模式和消息大小组合中的每一个的成本函数;以及
确定所述多个模式和消息大小组合之一的成本函数是否低于当前模式和消息大小组合。
10.如权利要求9所述的方法,包括:
确定所述多个模式和消息大小组合之一的成本函数低于当前模式和消息大小组合;以及
用较低成本函数的模式和消息大小组合更新所述当前模式和消息大小组合。
11.如权利要求9或10中任一项所述的方法,包括使用当前模式和消息大小组合发送数据消息。
12.如权利要求9或10中任一项所述的方法,包括:
计算数据观测正在到达的当前速率;
计算入站流量的当前观测率与先前观测率之间的差量;以及
确定所述差量是否大于速率阈值;并且,如果是,则
搜索具有小于当前模式和消息大小组合的成本函数的成本函数的新模式和消息大小组合。
13.如权利要求9或10中任一项所述的方法,包括:
对使用当前模式和消息大小组合发送的消息进行采样以确定等待时间值;以及更新当前模式和消息大小组合的统计信息。
14.如权利要求13所述的方法,其中更新统计信息包括:
更新消息中包含的平均观测数量;以及
更新正由设备发送的观测的速率。
15.如权利要求9或10中任一项所述的方法,包括:
从下游设备接收编排消息;
至少部分地基于所述编排消息计算当前模式的新消息大小;以及
使用所述新消息大小和所述当前模式发送数据消息。
16.如权利要求15所述的方法,包括:
确定新消息大小是否大于当前模式的最大大小或小于当前模式的最小大小;如果是,则
至少部分地基于所述新消息大小选择新模式;以及
使用所述新消息大小和所述新模式发送数据消息。
17.如权利要求16所述的方法,包括至少部分地基于查找表选择新模式,所述查找表包括所述多个模式中的每个模式的大小、所述多个模式中的每个模式的等待时间、以及所述多个模式中的每个模式的测得的观测率。
18.如权利要求15至17中任一项所述的方法,包括:
确定拥塞率是否大于拥塞率阈值;
计算拥塞率的变化;以及
确定拥塞率的变化是否大于变化阈值。
19.一种非瞬态计算机可读介质,包括包含指令,所述指令在被执行时指示处理器:
计算多个消息模式和大小组合中的每一个的成本函数;
标识具有比当前消息模式和大小组合低的成本函数的新消息模式和大小组合;以及用所述新消息模式和大小组合替换所述当前消息模式和大小组合。
20.如权利要求19所述的非瞬态计算机可读介质,包括指令,所述指令在被执行时指示处理器:
确定传入观测率;以及
确定所述传入观测率的速率变化。
21.如权利要求19或20中任一项所述的非瞬态计算机可读介质,包括指令,所述指令在被执行时指示处理器:
根据当前消息模式和大小组合聚合传入消息以形成聚合消息;以及
将所述聚合消息发送到数据宿。
22.如权利要求19或20中任一项所述的非瞬态计算机可读介质,包括指令,所述指令在被执行时指示处理器:
对使用当前消息模式和大小组合发送的消息进行采样;以及
更新当前消息模式和大小组合的流量统计信息。
23.一种用于使用消息模式进行通信的装置,包括物联网(IoT)设备,包括:
通信设备,用于在所述IoT设备和其他设备之间进行通信;
流量监测器,用于从IoT设备中的入站数据流量确定流量状态值;
用于选择模式和消息大小组合的装置;以及
模式分派器,用于根据所述模式和消息大小组合将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
24.如权利要求23所述的装置,包括:
编排控制器,用于接受来自下游设备的编排消息;
用于至少部分地基于所述编排消息调整消息大小的装置;以及
消息分派器,用于根据当前模式将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
25.如权利要求24所述的装置,包括用于至少部分地基于所述消息大小选择新模式的装置。

说明书全文

消息模式控制

技术领域

[0001] 本技术一般涉及物联网(IoT)设备。更具体地,本技术涉及可以通过控制消息模式来管理通信拥塞的设备。

背景技术

[0002] 据估计,到2020年,物联网(IoT)可能会为500亿台设备带来因特网连通性。然而,此数量的设备可能导致IoT设备与正在接收数据的协调器或服务器之间的通信信道的大量拥挤,尤其是在装备故障期间。通信信道的拥挤可能导致各个IoT设备丢失消息,导致数据集不完整。附图简述
[0003] 图1A是与多个物联网(IoT)设备通信的计算网络或云的图,该多个物联网设备中的至少一些正与服务器通信。
[0004] 图1B是与在云的边缘处操作的IoT设备的网状网络(其可被称为雾)通信的云计算网络或云的图。
[0005] 图2是用于测试本文中描述的技术的IoT系统的框图
[0006] 图3是使用不同消息模式SSS、SDS和MDS获得的等待时间的减少的绘图。
[0007] 图4是处理时间和每秒的观测对消息模式和大小的绘图。
[0008] 图5是对于不同模式每秒的消息数的绘图。
[0009] 图6是用于编排消息模式的方法的处理流程图
[0010] 图7是用于确定源节点处的模式和消息大小的方法的处理流程图。
[0011] 图8是可以存在于IoT设备中以控制消息模式选择的组件的框图。
[0012] 图9是可被用于消息模式的动态控制的方法的框图。
[0013] 图10是用于动态地控制数据源中的消息模式和大小的方法的框图。
[0014] 图11是可被用于从发送方设备动态控制模式的系统的框图。
[0015] 图12是包括包含指令的非瞬态计算机可读介质的框图,所述指令在被执行时指示处理器通过编排控制消息模式。
[0016] 图13是包括包含指令的非瞬态计算机可读介质的框图,所述指令在被执行时指示处理器执行对消息模式的闭环控制。
[0017] 在整个公开和附图中使用相同的标号指示相似的组件和特征。100系列的标号涉及在图1中最初可见的特征,200系列的标号涉及在图2中最初可见的特征,以此类推。

具体实施方式

[0018] 物联网(IoT)是这样的概念,其中,大量计算设备互连至彼此并互连至因特网,以在非常低的级别上提供功能和数据采集。例如,IoT网络可包括商用和家用自动化设备,诸如,给系统、配电系统、管道控制系统、工厂控制系统、灯开关、恒温器、、相机、警报、运动传感器,等等。这些设备——本文称之为IoT设备——可以是通过远程计算机、服务器和其他系统能访问的,从而例如控制系统或访问数据。此外,IoT设备可包括IoT网关,这些IoT网关用于将其它IoT设备耦合至云应用。
[0019] IoT设备的全球部署通常依赖于与后端基于云的服务的通信。考虑到数十亿IoT设备的全球部署中涉及的基础无线网络的规模,可能经常发生中断和网络连接丢失。临时网络连接问题可能导致丢失有价值的传感器数据,并且可能在分派或重放缓存消息时显着增加网络负载和后端服务器处理要求。
[0020] 本文描述的技术提供了用于增加从传感器设备到下游设备的数据流的有效模式,其中用于打包消息的模式根据下游设备上的负载而改变。如这里所使用的,可以从三个不同的消息模式中选择所使用的消息模式。如这里所使用的,当从发送方设备移动数据的过程开始时,发送消息。通常,发送方设备将确认在目标设备处已经接收到消息,但是这里描述的技术不限于完成或确认已经接收到消息。
[0021] 此处称为单个样本模式或SSS的第一模式从单个设备发送单个数据点。该模式在数据传输方面效率最低,因为每个数据点具有包含在消息中的个体标识信息。在此称为单个设备模式或SDS的第二模式包括使用共享标识信息从单个设备的多个传感器读数。这里称为多设备模式或MDS的第三消息模式包括来自多个设备的多个传感器读数。所选择的消息模式和大小基于发送实体的操作情境和网络上的拥塞状态。动态系统的使用可以增加后端服务在需要时可以消耗数据的容量,例如,处理传感器暴或允许增加网络中的传感器设备的数量。可以注意到,模式的开销独立于发送协议添加的页眉和页脚。
[0022] 如本文所述,消息模式可以基于来自下游设备的消息以编排的方式改变,或者可以由发送方设备本身改变,例如,使用成本函数。在编排示例中,下游设备或数据宿可以向上游设备或数据源发送消息以改变到不同的模式。这可以基于诸如消息积压的增加或网络或云端拥塞的检测之类的触发。
[0023] 在闭环示例中,发送方设备本身选择用于发送数据的消息模式。可以计算成本函数以确定最低成本或最高效率的消息模式。然后,模式管理器和模式分派器可以使用该信息来打包和发送传感器数据消息。在该示例中,优化可以由每个IoT网络设备实现,并且独立于网络拓扑的知识而工作。
[0024] 图1A是与多个物联网(IoT)设备通信的云计算网络或云102的图,其中至少一些设备正与服务器104通信。云102可表示因特网,或者可以是广域网(WAN),诸如公司的私有网络。IoT设备可包括按各种组合分组的任何数量不同类型的设备。例如,交通控制组106可包括沿城市中的街道的IoT设备。这些IoT设备可包括红灯、交通流监测器、相机、天气传感器,等等。交通控制组106或其他子组可通过子网络108(诸如局域网、无线局域网等)与云102通信。IoT设备可以使用诸如网关110之类的另一设备来与云102通信。
[0025] 其他IoT设备组可包括远程气象站112、本地信息终端114、警报系统116、自动柜员机118、以及警报面板120等等。这些IoT设备中的每一个可以与其他IoT设备,服务器104或两者通信。
[0026] 如从图1可见,大量IoT设备可通过云102进行通信。这些IoT设备中的每一个可以生成时间排序的数据流,包括例如传感器数据流。例如,IoT设备的交通控制组106可以发送交通流量,交通速度,图像,降水量,温度测量值等。考虑到正发送数据的IoT设备的数量,网络负载可能很大。如果在来自IoT设备的数据管道中,云102中或服务器104处出现任何问题,则数据可能不按顺序或丢失。
[0027] 云102中的自动缩放服务可以帮助减轻这个问题中的一些。然而,这样的服务可能比固定的预留容量系统昂贵得多。此外,这些系统需要时间上线并增加后端服务的复杂性。可变性使得这种服务的成本难以预测,特别是在快速增长或有机IoT网络中,例如,因为出于特定目的根据需要添加或移除设备。
[0028] 此外,自动缩放服务对基础设施提供商的帮助较小,这些提供商必须在靠近边缘、雾中、客户站点处或其自己的私有数据中心中的位置处供应物理IoT计算容量。IoT网络在不预设额外后端容量的情况下吸收数据观测中的大变化的能对于允许有机IoT网络的增长可能是有价值的。
[0029] 此外,现有的商业端到端Iot系统仍然关注连通性,例如,可靠的数据流,以及基本IoT设备(诸如加热器,灯等)的致动。它们是针对单一,有限目的的单点解决方案。这错过了动态优化整个系统运行的机会。
[0030] 如本文进一步详细描述的,可以监测网络拥塞以改变IoT设备的功能,例如,控制用于数据传输的消息模式。这可以通过从数据宿(诸如服务器104,云102中的设备,IoT网关110)发送到数据源(诸如IoT设备)的模式控制消息来执行。此外,IoT设备本身可以监测流量以在闭环系统中实现模式控制。模式控制可以在图1A中所示的网络中实现,或者在雾应用中实现。
[0031] 图1B是与IoT设备的网状网络通信的云计算网络或云102的图,该网状网络可以被称为雾122,其在云600的边缘处操作。为了简化示图,并未标出每个IoT设备。
[0032] 雾122可视为大规模互连的网络,其中大量IoT设备例如通过无线电链路124彼此通信。每个IoT设备可以被认为是网络内的节点,其中向下游IoT设备发送出数据消息的IoT设备被认为是源节点。在雾122中或在云102中接收来自上游设备的数据消息的设备被认为是宿节点。
[0033] 相互通信协议可以根据由开放连通性基金会TM(Open  Connectivity FoundationTM;OCF)于2015年12月23日发布的开放互连联盟(OIC)标准规范1.0。该标准允许设备发现彼此并建立通信以用于互连。也可使用其他互连协议,包括例如,最优链路状态路由(OLSR)协议、或至移动自组织联网的更好方式(B.A.T.M.A.N)等等。本文描述的用于控制消息模式和大小的技术可以与任何数量的其他高级和低级通信协议一起使用,包括例如
6LowPan,LickLiber,CoAP,TCP/IP,MQTT,ONVIF等。
[0034] 在该示例中示出了三种类型的IoT设备,即,网关110、传感器126和聚合器128,但是可以使用IoT设备和功能的任何组合。网关110可以是提供云102和雾122之间的通信的边缘设备,并且还可以用作将模式控制消息发送到传感器126或聚合器128的数据宿。传感器126可以收集传感器数据,并将传感器数据提供给聚合器128,网关110或两者。聚合器128可以从多个传感器126收集和发送数据,例如,根据这里描述的模式聚合数据。除了其他功能之外,聚合器128还可以向雾122提供计算服务。在一些示例中,可以不存在聚合器128,并且可以根据网关110中的模式或者通过传感器126本身将数据聚合成消息。聚合的数据消息可以通过网关110传递到云102。
[0035] 来自任何IoT设备的通信可以沿着IoT设备中的任何设备之间的最方便的路径传递以到达网关110。在这些网络中,互连的数量提供了大量的冗余,从而甚至在丢失大量IoT设备的情况下也允许维持通信。
[0036] 这些IoT设备的雾122或设备雾可以被呈现给云102中的设备(诸如服务器104)作为位于云102边缘处的单个设备,例如雾122设备。在该示例中,来自雾122设备的数据消息可以被发送而不被标识为来自雾122内的特定IoT设备302,诸如特定聚合器128。例如,可以发送MDS格式的数据消息,包括来自多个传感器126的多个数据点,而不标识创建和发送消息的特定聚合器128。在该示例中,聚合器128中的任何一个可以使用各种消息模式(例如,SSS,SDS或MDS)来创建消息。
[0037] 在一些示例中,可使用命令式编程风格来配置IoT设备102,例如,每个IoT设备具有特定功能。然而,形成雾122设备的IoT设备能以说明性编程风格配置,从而允许IoT设备响应于条件、查询和设备故障来重新配置它们的操作并确定所需资源。例如,传感器126可以使用更复杂的模式来构建包括来自其自身和其他传感器126的数据的消息,而无需其他设备(诸如聚合器128)的干预。为消息收集的数据可以响应于来自位于服务器104处的用户的查询。传感器126可以选择回答查询,收集数据,将数据聚合到消息中以及发送消息所需的设备。
[0038] 关于图1A和1B描述的IoT网络收集数据并将其发送到目的地,诸如服务器104,以便分析,目的是允许基于数据观测采取动作。收集数据的过程大致分为三类。在第一类中,传感器以规则的间隔生成数据,产生相对固定的消息大小和可预测的数据量。在第二类中,事件可能导致传感器按需或者在他们正在监测的条件变化时产生数据。这导致高度可变的消息和数据量。一旦接收到传感器数据,就可以进行第三类,称为有效负载(payload)交换。第三类涉及传感器126和后端(诸如服务器104)之间的较大数据交换,并且通常在先前消息类型之一之后或响应于先前消息类型之一而发生。
[0039] 第一类中的IoT网络面临着以下问题,即它们的增长(例如,新设备向网络的有机添加)受限于供应足够的后端容量以满足需求的要求。后两类IoT网络在消息和数据量方面存在很大差异,因此,后端系统必须充分过度供应以满足峰值负载。这里描述的消息传递的动态优化基于发送实体的操作情境和网络上的拥塞状态来改变消息模式和大小。该动态系统显著增加了服务器104或其他后端设备在需要时可以消耗数据的容量。
[0040] 图2是用于测试本文描述的技术的IoT系统200的框图。在该简化视图中,一个或多个传感器设备202充当将数据204发送到充当数据宿的雾设备206的数据源。雾设备206可以是雾中的其他传感器设备202,聚合器或其他单元。雾设备206可以充当数据源,将数据208发送到充当数据宿的网关210。网关210可以充当数据源,将数据212发送到云214中的设备,其充当数据宿。
[0041] 各种单元202,206和210的确切数量和布置可以根据具体系统而变化。例如,雾设备206可以被省略,给出更像图1A的系统或者被包括,导致更像图1B的系统。
[0042] 如关于图6-8所描述的,编排消息214,216或218可以从数据宿发送到数据源以开始消息大小或模式的改变。该消息可以指定要使用的消息模式和大小,或者可以通知数据源由于流量大而需要改变,例如,将表示拥塞的值发送为0与1之间的数字。这些技术可以在网络上的任何或所有聚合点(例如,数据宿)处实现。
[0043] 在一些示例中,不使用编排消息214,216或218,因为诸如传感器设备202,雾设备206或网关210之类的数据源可以自己确定下游数据宿正具有拥塞问题,例如,通过确定消息的积压正在系统存储器中累积。在该示例中,数据源可以使用成本函数来确定最佳消息模式和大小。关于图9-11进一步描述该示例。
[0044] 在以下JavaScript对象表示法(JSON)示例中显示了消息模式,SSS,SDS和MDS的示例。如讨论的,SSS在发送的每条消息中支持单个传感器读数或度量。SSS中消息格式的示例是:
[0045] 如可以看出的,对于发送的每个数据点,使用了大量的开销信息。第二模式SDS在消息中支持来自单个设备的多个传感器读数。SDS消息的格式示例是:
[0046] 这种布置更有效,因为对于给定量的开销信息包括更多数据点。MDS 206模式将多个传感器读数和多个设备两者组合成单个消息。因此,MDS 206模式在消息传递打包方面是最有效的,尽管它也是解码最复杂的。MDS的示例是:
[0047] 为了测试通过使用模式提供的改进,使用模式和消息大小的变化编码的固定数量的观测来运行实验。每个实验被设计处理480,000个数据观测。该数字基于来自80,000个感测设备的城市规模、真实世界部署的图,每个感测设备包括六个传感器,每分钟发送一条消息。可以注意到,结果扩展到更大和更小的部署。通过减少消息计数并增加有效负载大小,维持每次测试运行所需的数据观测计数。上述三种模式,SSS,SDS和MDS,用于构建有效负载。实验总结在下面的表1至3中。
[0048] 表1:SSS消息接发实验
[0049] SDS方法以从1千字节(kB)变化到100kB的有效负载大小分派来自单个感测设备的多个数据观测,如表2中所示。SDS的方法是最大化每个消息中每个感测设备的观测数量。如表中所示,这导致1kB大小的单个消息能够包含每个传感器的两个观测,而100kB消息可以包含每个传感器的386个观测。
[0050] 表2:SDS消息接发实验
[0051] MDS方法使用来自位于网关设备或聚合器之外的多个感测设备的多个数据观测,大小从1kB变化到100kB,如表3中所示。MDS方法最大化网关或聚合器之外的设备的数量。如表中所示,1kB消息支持网关之外的一个感测设备,而100kB消息可以支持每个消息180个感测设备。如所述,这是基于每个感测设备六个传感器的约束。
[0052] 表3:MDS消息接发
[0053] 通过使用触发器,诸如数据源处的消息积压增加或数据宿中的拥塞检测,本文描述的方法可以调整用于将数据从源发送到宿的消息模式。这可以用于优化由基于雾或云的后端处理的数据观测的数量。如关于图3-5描述的测试结果所示,该方法可对最大数据摄取率产生显著影响,例如,在测试环境中看到端到端性能的七倍改进。这是因为与较大有效负载大小相关联的附加解析开销不如增加的消息量惩罚那么重要。结果,可以支持增加的流量或更多的设备。
[0054] 图3是使用不同消息模式SSS 302、SDS 304和MDS 306获得的等待时间的减少的绘图300。针对左轴308示出发送的消息的数量,并且针对右轴310示出以毫秒(ms)为单位的管道等待时间。
[0055] 管道等待时间312示出了在480,000传感器观测的固定负载下管道可以处理每个模式的消息的总等待时间。可以在绘图300中清楚地看到改变模式和消息大小的效果。使用更复杂的模式和在每个模式中更大的消息大小在减少消息的总处理时间方面是有效的,如管道等待时间312的减少所指示。当要处理消息的积压或者由传感器事件导致的消息传递的尖峰时,拥塞的IoT网络中的较低的管道等待时间312可以是有帮助的。
[0056] 更平坦的模式可以更快地单独处理,但这并不能抵消由于消息量更高而导致的惩罚。尽管嵌套模式单独处理较慢,但由于它们包含更多数据,因此使用更少的消息来传输相同数量的观测,因此系统中的管道等待时间312更低。
[0057] 为了更快的处理,可以使用诸如SSS 302之类的流线型模式来发送诸如拥塞消息之类的高优先级消息,以缩短处理时间。低优先级消息(诸如常规传感器读数)可以排队并打包到到雾、到云谱的边缘的不同层处的更复杂的模式中。
[0058] 图4是处理时间和每秒的观测对消息模式和大小的绘图400。类似标记的项如根据图3所描述。左轴402是处理每个单独消息的时间,显示为条的高度,而右轴404是可以由后端系统处理的每秒观测的总数,示为线。绘图400示出了后端系统可以摄取各个数据观测的速度。
[0059] 尽管处理每个单独消息的时间随着消息变得更加复杂而增加,如由条所指示,但可以处理的每秒观测的数量406增加。通过使用更复杂的模式,可以获得七倍的吞吐量改进。这创建了一种IoT网络,它更容忍设备增长和事件风暴。
[0060] 图5是不同模式的每秒消息数的绘图500。类似标记的项如根据图2所描述。左轴502表示每秒的消息数504。右轴506表示网络上的设备数量,显示为条。这是周期性发送消息的网络的示例。在此网络测试中,每个传感器源每分钟发送一次消息,其中包含六个数据观测。
[0061] 如可以看出,在后端开始发生拥塞之前可以支持的设备数量具有显著的变化,例如,取决于模式,这些测试中的变化高达七倍。因此,这里描述的技术通过动态地改变模式和消息大小来增加响应增长的能力,例如,而不是添加更多的后端容量,从而导致更有效的IoT网络部署。因此,具有调整消息模式的能力的IoT网络可以支持部署设备数量的显著增加,而无需扩展后端。
[0062] 可以注意到,所使用的模式在用于通过各种通信协议将数据打包成分组的页眉和页脚内。因此,如本文所述,模式选择可以为可以使用的任何协议提供效率改进。
[0063] 如本文所述,消息模式和大小的改变可以在编排系统中使用,例如,其使用来自数据宿的消息来通知数据源拥塞。所用的率的计算可以如以下程序所示。通过分别参考图6和7描述的方法600和700进一步详细说明该程序。
[0064] 在该算法中,对于所有变量,(t)表示当前时间的值,而(t-1)表示先前值,(t+1)表示要使用的下一个值。C率(Crate)是网络中的拥塞率。该数字的范围从0到1,其中0表示没有拥塞,1表示服务不可用,例如,在如此高的率下的拥塞,使其充当拒绝服务。可以使用任意数量的技术确定C率。
[0065] 例如,IoT设备可以向多个设备发送出跟踪器消息。跟踪器消息和从该多个设备接收的响应之间的时间差可用于确定云中的条件。可以创建包括C率的值的拥塞消息,并将其发送到IoT设备以报告用于调整消息模式和大小的网络条件。作为另一示例,可以将C率的值设置为吞吐量拥塞水平tc或缓冲器拥塞水平bc中的较低值。可以针对数据宿将tc计算为响应的当前时间除以来自组件的响应的基线时间的比率。
[0066] 可以从可用磁盘空间量,消息速率,消息大小或填充缓冲器所需的秒数或其任何组合来计算bc。例如,可以通过使用以下等式计算填充缓冲器所需的秒数n来计算bc:在该等式中,df是以kB为单位的当前可用磁盘空间总数,mk表示以kB为单位的平均消息大小,ms表示如从数据处理管道确定的每秒速率当前消息。在该示例中,可以使用以下等式计算缓冲器拥塞水平bc[n]:
在该等式中,dp表示接收组件上的可用磁盘空间百分比,Pthresh是可配置的可用磁盘空间阈值,例如,50%,且使用以下等式计算bcn:
其中:
且dmax表示系统可用的最大磁盘空间。例如,拥塞率C率可以被设置为在每个路由的基础上针对数据处理管道中的组件确定的最低值。
[0067] C阈值(Cthreshold)是拥塞阈值,低于该变量,可以采用其他方法来管理IoT网络上的流量。拥塞阈值可以静态地或动态地设置,例如,从中心位置周期性地更新。可以在每个设备或每个路由的基础上设置拥塞阈值。例如,在IoT网络具有树和分支结构的情况下,每个分支是具有不同数量的叶设备的不同路由,或者更简单地,数据来自特定源节点。学习算法也可用于设置此阈值。
[0068] C’是最后两个拥塞率之间的差量。该值被计算为(C率(t)-C率(t-1))/C率(t-1)。如果C率正在减小,则这产生负数,且如果C率正在升高,则产生正数。
[0069] C’阈值(C’threshold)是C′的可选拥塞率阈值,高于该阈值可以在IoT网络中采取动作。对于C阈值,可以静态地或动态地设置,并且可以在每个设备的基础上或每个路由的基础上设置。学习算法也可用于设置此阈值。
[0070] O率是在聚合点处处理各个观测的测得的观测率。这是在可配置长度滑动时间窗口中处理的单独数据观测的数量的简单计算。典型的窗口将是60秒,并且针对这样的窗口,速率将被表达为“观测/秒”。
[0071] O阈值是O率的可选观测阈值,高于该阈值,消息开始排队,如通过Crate的增加检测到的,并且低于该阈值,管道正在处理消息而没有任何排队,检测为C率=0,或者具有减少的排队,检测为C率的减少。可以与C阈值相同的方式静态地或动态地设置O阈值。
[0072] O’是当前观测率和先前观测率之间的差量。O’被计算为(O率(t)-O率(t-1))/O率(t-1)。如果O率正在减小,则这产生负数,且如果O率正在升高,则产生正数。
[0073] S1-n是要使用哪个模式1到n的指示符。可以使用预定义的模式列表,诸如本文描述的SSS,SDS和MDS。此外,模式可以在由IoT网络管理员维护的动态更新列表中。
[0074] M大小(Msize)是IoT网络组件在发送消息时将使用的消息大小(以字节为单位)。M大小_阈值(Msize_threshold)是消息大小变化的可选阈值,低于该阈值时,对发送方设备的消息传递配置文件的任何改变都可以忽略不计。可以与C阈值相同的方式静态地或动态地设置M大小_阈值的值。
[0075] M大小_最大(s1-n)(Msize_max(s1-n))和M大小_最小(s1-n)(Msize_min(s1-n))是针对指定模式S,消息被允许增长至的最大和最小大小。相同的范围可以应用于所有模式,或者可以在每个模式的基础上进行设置。
[0076] M’大小是IoT网络中的设备正使用的当前消息大小与其先前值之间的差量,被计算为:(M大小(t)-M大小(t-1))/M大小(t-1)。如果M大小正在减小,则这产生负数,且如果M大小正在升高,则产生正数。
[0077] 图6是用于编排消息模式的方法600的处理流程图。方法600可以由关于图8描述的系统实现。方法600在框602处开始,此时将数据发送到下游设备。在框604处,针对例如在下游设备中的数据宿确定C率(t)(Crate(t)),并且在编排消息中将其发送到IoT设备。
[0078] 在框606处,确定跨宿IoT网络组件的当前拥塞率C率(t)是否大于该组件的拥塞阈值C阈值。如果拥塞率低于阈值,则处理流程返回到框602。如果拥塞率高于阈值,则处理流程行进至框608。
[0079] 在框608处,计算当前拥塞率与先前拥塞率之间的变化C’。在框610处,确定差异是否大于C’阈值。如果不是,则处理流程返回到框602。如果是,则处理流程行进至框612。
[0080] 在框612处,计算正在处理观测的当前速率O率(t)。在框614处,计算当前观测率和先前观测率之间的差量O’。在框616处,确定当前数据观测率O率(t)(Orate(t))和前一个数据观测率O率(t-1)(Orate(t-1))之间的差量O’是否大于O阈值。如果不是,则处理流程返回到框602。
[0081] 如果在框616处,O’大于O阈值(Othreshold),则在框618处,包含O’值的编排消息被发送到上游IoT网络设备,从宿节点的度来看,该上游IoT网络设备被指定为源节点。在IoT网络的每个级别上的这种动态排队和消息聚合是我们的发明权利要求之一。一旦发送了消息,就可以确定模式和消息大小,如关于图7所描述的。
[0082] 图7是用于确定源节点处的模式和消息大小的方法700的处理流程图。方法700可以由关于图8描述的系统实现。方法700在框702处开始,此时源节点接收关于图6描述的O’消息。源节点可以基于致动消息中的O′的值来确定是否需要动作
[0083] 在框704处,计算新消息大小M大小(t+1)(Msize(t+1))。例如,当前消息大小可以乘以命中宿节点的观测的变化率:M大小(t+1)=M大小(t)*O’Msize(t+1)=Msize(t)*O’。在框706处,可以如本文所述计算当前消息大小和新消息大小(M大小(t+1))之间的差量M’大小。在框708处,确定M’大小是否大于阈值M大小_阈值(Msize_threshold)。
[0084] 如果是,则在框710处,确定是否需要新模式。可以通过将当前消息大小和模式与特定模式的消息大小限制进行比较来执行该确定。例如,如果新消息大小M大小(t+1)大于当前模式的最大允许的消息大小,Msize_max(s1-n),或者如果新消息大小小于当前模式的最小允许的消息大小,Msize_min(s1-n),则将选择新模式。处理流程行进至框712以选择模式。
[0085] 在框712处,由源设备选择新模式S1-n(t+1)。可以静态地设置新模式,基于动态规则集选择新模式,或者基于来自学习算法的模型来选择新模式。在一个示例中,可以通过将等待时间信息与查找表中的信息(诸如表4中的信息)进行比较来选择新模式。
[0086] 表4:各种消息大小和模式的等待时间测量。
[0087] 在框714处,计算用于新模式的消息大小。这可以基于O′的值,使得在拥塞的IoT网络中,新的O率将高于旧的O率,或者在未拥塞的IoT网络中,新的O率将低于宿设备中的旧O率。可以使用诸如表4之类的表静态地设置新消息大小,动态地计算新消息大小,或者基于来自学习算法的模型来选择新消息大小。
[0088] 一旦已经确定了模式和消息大小,则在框716处,源使用该模式和消息大小发送消息。如果模式未被改变,如在框708处所确定的,则使用先前的模式和大小。如果已选择新模式和大小,则源节点调整当前消息大小M大小(t),以匹配所需的消息大小M大小(t+1)。因此,源节点聚合来自其源设备的传入消息或来自传感器的观测,直到满足消息大小标准。这有效地实现了源设备中的动态微缓冲器。
[0089] 图8是可以存在于IoT设备800中以控制消息模式选择的组件的框图。类似标记的项如关于图1A和图1B所描述的。IoT设备800可以包括组件的任何组合。这些组件可被实现为IC、IC的多个部分、分立电子器件,或其他模、逻辑、硬件软件固件或适用于IoT设备800中的组合,或作为以其他方式被并入在更大的系统的机架内的组件。图8的框图旨在示出IoT设备800的组件的高级视图。然而,可以省略所示出的组件中的一些组件,附加的组件可以存在,并且所示出的组件的不同布置可发生在其他实现中。IoT设备800可以是交通检测设备、远程气象站、SCADA(监控和数据采集)网络中的可编程逻辑控制器(PLC)或远程终端单元(RTU)、报警系统设备、智能电视、移动电话或如关于图1所讨论的任何数量的其他IoT设备。
[0090] 如图8中所见,IoT设备800可包括处理器802,该处理器802可以是微处理器多核处理器、多线程处理器、超电压处理器、嵌入式处理器,或其他已知的处理元件。处理器802可以是芯片上系统(SoC)的部分,在该SoC中,处理器802和其他组件形成到单个集成电路、单个封装或单个电路板中。作为示例,处理器802可包括基于 架构酷睿的处理
器(诸如,QuarkTM、AtomTM、i3、i5、i7或MCU类处理器)、或可从加利福尼亚州圣克拉拉市的公司获得的另一此类处理器。然而,可使用其他处理器,诸如,可从加利福尼亚州
桑尼威尔市的超微半导体公司(AMD)获得的处理器、来自加利福尼亚州桑尼威尔市的MIPS技术公司的基于MIPS的设计、许可自ARM控股有限公司的基于ARM的设计,或从上述各公司的客户、被许可方或采纳方获得的处理器。这些处理器可包括诸如以下单元:来自 公司的Ax系列处理器、来自 技术公司的骁龙(Snapdragon)TM处理器或来自德州仪器公司的OMAPTM处理器。
[0091] 处理器802可以与系统存储器804通信。任何数量的存储器设备可用于提供给定量的系统存储器。例如,用于较小设备的存储器可以包括在处理器芯片中形成的存储区域,例如寄存器组等。在这些设备中,存储器可以在大约32kB和大约512kB之间或更大。
[0092] 在其他示例中,存储器可以是根据联合电子设备工程委员会(JEDEC)低功率双倍数据速率(LPDDR)的设计,诸如根据(2009年4月公布的)JEDEC JESD 209-2E的当前的LPDDR 2标准,或将提供对LPDDR 2的扩展以增加带宽的被称为LPDDR 3或LPDDR 4的下一代LPDDR标准的随机存取存储器(RAM)。在各种实现中,单个存储器设备可以是任何数量的不同封装类型,诸如,单管芯封装(SDP),双管芯封装(DDP)或四管芯封装(Q17P)。在一些实施例中,这些设备可以直接焊接主板上,以提供较低轮廓的解决方案,而在其他实施例中,设备被配置为一个或多个存储器模块,这些存储器模块进而通过给定的连接器耦合到主板。可使用任何数量的其他存储器实现,诸如,其他类型的存储器模块,例如,不同种类的双列直插存储器模块(DIMM),包括但不限于microDIMM(微DIMM)或MiniDIMM(迷你DIMM)。例如,存储器的尺寸可设定在2GB与16GB之间,并且存储器可被配置成经由球栅阵列(BGA)焊接到主板上的DDR3LM封装或LPDDR2或LPDDR3存储器。
[0093] 为了提供对信息(诸如,数据、应用、操作系统等)的持久性存储,大容量存储装置806还可耦合至处理器802。大容量存储装置806可以是并入处理器中的闪存或其他可编程存储器,诸如MCU,Quark等,或者内置于SoC系统中。在一些示例中,大容量存储装置806可经由固态盘驱动器(SSDD)来实现。然而,可以使用一些IoT设备800中的微硬盘驱动器(HDD)来实现大容量存储装置806。此外,附加于或替代所描述的技术,可将任何数量的新技术用于大容量存储装置806,诸如,阻变存储器、相变存储器、全息存储器或化学存储器,等等。例如,IoT设备800可合并来自 和 的3D XPOINT存储器。
[0094] 组件可以通过总线808进行通信。总线808可包括任何数量的技术,包括工业标准架构(ISA)、扩展ISA(EISA)、外围组件互联(PCI)、外围组件互联扩展(PCIx)、PCI快速(PCIe)或任何数量的其他技术。总线808可以是例如在基于SoC的系统中使用的专属总线。可以使用其他总线系统,诸如I2C接口、SPI接口和点对点互连等。
[0095] 总线808可以将处理器802耦合到用于连接外部设备的接口810。外部设备可以包括传感器812,诸如交通传感器,雷达速度检测器,相机,流量传感器,温度传感器,运动传感器,风速传感器,压力传感器,气压传感器等。接口810可用于将IoT设备800连接到致动器814,诸如交通灯,频闪灯,致动器,锁定螺线管,可听声音发生器,视觉警告设备等。在一些示例中,诸如聚合器和网关,可能不存在接口810,传感器812和致动器814。
[0096] 虽然未示出,但是各种输入/输出(I/O)设备可以存在于IoT设备800内或连接到IoT设备800。例如,可以包括显示器以显示信息,诸如传感器读数或致动器位置。输入设备(诸如,触摸屏或小键盘)可被包括以接受输入。
[0097] IoT设备800可以以各种方式与云102通信。例如,IoT设备800可以包括网络接口控制器(NIC)816,以通过以太网接口与云102通信。这可以包括通过由多个雾设备122共享的小型有线或无线网络进行通信,该多个雾设备122通过IoT网关110与云102通信,如关于图1所描述的。例如,IoT设备800可以是自组织(ad-hoc)或网状网络的一部分,其中许多设备直接在彼此之间传递通信,例如,遵循优化的链路状态路由(OLSR)协议,更好方法到移动自组织联网(better approach to mobile ad-hoc networking;B.A.T.M.A.N.)协议,OIC协议或ONVIF协议等。网状网络可以例如通过IoT网关110与云通信。
[0098] 可以包括各种无线模块的无线电收发机818可以用于与雾122中的IoT设备通信,每个无线模块可以对应于为特定无线通信协议配置的无线电。例如,无线电收发机818可以包括WLAN单元,该WLAN单元可用于根据电气和电子工程师协会(IEEE)802.11标准实现Wi-FiTM通信。此外,例如根据蜂窝或其他无线广域协议的无线广域通信可经由包括的WWAN单元而发生。IoT设备800不限于这些类型的无线电收发机,而是可包括任何数量的其他无线电通信装备,诸如与 特殊兴趣组( Special Interest Group)定义的标准兼容的收发机。例如,IoT设备800可根据IEEE 802.15.4标准通过无线个域网
(WPAN)进行通信,诸如LoRaWAN收发机等。
[0099] 在各种示例中,通信设备(包括无线电收发器818或NIC 816或两者)可用于与雾122中的设备通信。类似地,任一通信设备可用于与云102中的设备通信。
[0100] 电池820可为IoT设备800供电,但是在其中IoT设备800被安装在固定位置的示例中,该IoT设备800可具有耦合至电网的电源。电池820可以是锂离子电池、金属-空气电池(诸如,锌-空气电池、-空气电池、锂-空气电池),等等。
[0101] 电池监测器/充电器822可被包括在IoT设备800中以跟踪电池820的充电状态(SoCh)。电池监测器/充电器822可用于监测电池820的其他参数以提供失效预测,诸如,电池820的健康状态(SoH)和功能状态(SoF)。电池监测器/充电器822可包括电池监测集成电路,诸如,来自线性技术公司(Linear Technologies)的LTC4020或LTC2990、来自亚利桑那州的凤凰城的安森美半导体公司(ON Semiconductor)的ADT7488A、或来自德克萨斯州的德州仪器公司的UCD90xxx族的IC。电池监测器/充电器822可通过总线808将关于电池820的信息传送至处理器802。
[0102] 功率块824或耦合至电网的其他电源可与电池监测器/充电器822耦合以对电池820充电。在一些示例中,功率块824可用无线功率接收机替代以便例如通过IoT设备800中的环形天线来无线地获取功率。电池充电电路(诸如,来自加利福尼亚州的苗比达市的线性技术公司的LTC4020芯片,等等)可被包括在电池监测器/充电器822中。所选择的特定的充电电路取决于电池820的尺寸,并因此取决于所需的电流。可使用由无线充电联盟(Airfuel Alliance)颁布的Airfuel标准、由无线电力协会(Wireless Power Consortium)颁布的Qi无线充电标准、由无线电力联盟(the Alliance for Wireless Power)颁布的Rezence充电标准,等等执行充电。
[0103] 大容量存储装置806可包括多个模块以实现本文描述的模式控制。尽管示出为软件模块,但是模块可被实现为硬件块,例如,在IoT设备800中包括的专门的专用集成电路(ASIC)中。模块可以包括拥塞监测器826,其向下游设备发送跟踪器消息以确定当前网络拥塞率。拥塞监测器还可以从下游设备接收拥塞消息,其中拥塞消息包括数据宿的拥塞率。
[0104] 编排控制器828可以使用从下游设备接收的拥塞率,例如,在IoT设备800中确定的或从其他设备接收的,以确定是否向上游设备发送编排消息。该确定可以通过关于图6和图7描述的技术来执行。
[0105] 编排控制器828还可以从下游设备接收编排消息,指示处理的观测的速率已经改变。如果是,则编排控制器828可以指示模式选择器830为消息分派器832选择新消息大小,并且如果需要,则选择新模式。如果否,则编排控制器828可以指示消息分派器继续使用当前模式和消息大小。
[0106] 消息分派器832可以使用所选择的模式和消息大小来将数据存储834中保存的数据打包成聚合数据消息。然后可以将聚合数据消息分派给设备,例如,通过NIC 816到云102。
[0107] IoT设备800不限于所示的单元,因为可以存在其他单元。例如,数据积压转移控制器可以用于在网络容量问题期间转移已经在数据存储834中建立的消息。例如,代替在恢复通信时立即尝试发送积压消息,数据积压转移控制器可以使用多种算法递增地发送消息。这些可以包括后进先出(LIFO)算法,先进先出(FIFO)算法或者随机采样算法。此外,可以扩充数据积压转移控制器以优先化具有较高熵的消息。熵可以包括相比旧的被视为更有价值的最近的观测。此外,大容量存储装置806可以包括用于执行图9的方法900的模块,从而创建混合设备。例如,大容量存储装置806可以包括关于图11描述的模块,诸如流量监测器
1102、成本函数计算器1104、模式管理器1106和模式分派器1108等。
[0108] 对消息模式和大小的控制不限于使用编排(例如,基于拥塞消息)来确定模式的设备。如本文所述,可以在闭环系统中选择消息模式和大小,其中数据源使用成本函数哎确定最佳模式和大小。关于图9进一步讨论该动态控制。
[0109] 图9是可以用于消息模式的动态控制的方法900的框图。方法900可以由关于图11描述的系统实现。方法900开始于框902,观测网络数据流以确定每设备入站流量负载。
[0110] 在904处,生成成本函数并用于选择消息模式和大小。在决定使用什么模式时,可以考虑许多因素。如本文所述,成本函数可以考虑正在发送的内容以及正在接收的流量。这使得模式能够由发送节点在本地标识。
[0111] 在框906处,选择模式,并确定大小。这可能包括不改变当前模式或消息大小。在框908处,使用所选择的模式和消息大小生成消息。
[0112] 在框910处,将消息分派到网络上。可以使用消息分派来更新成本函数参数,例如,发送时间,传送时间等,从而创建反馈循环。
[0113] 在IoT网络中的设备上实现闭环系统,允许设备跟踪它们自己的入口和出口流量。使用闭环系统,设备自动调整用于将数据从数据源(诸如传感器)发送到数据宿(诸如雾节点,网关,云中的设备等)的消息模式。然后,数据源可以优化将数据观测发送到基于雾或云的后端进行处理的速率。
[0114] 观测每个设备上的数据流,以在每个设备的基础上确定来自入站流量的流量状态值。在决定发送什么时会考虑许多因素。成本函数包括设备正在发送的内容以及当前正在接收的流量,以及提高准确性的优先级。所用的率的计算可以如以下程序所示。通过关于图10描述的方法1000进一步详述该程序。
[0115] 对于所有变量,(t)表示当前时间的值,而(t-1)表示先前值,(t+1)表示要使用的下一个值。O_in速率(O_inrate)是入站数据的单独观测到达网络中的设备的速率。这是在可配置滑动时间窗口中处理的单独数据观测的数量的计算。例如,窗口可以是60秒时段,并且O_in速率将被表达为这样的窗口的“观测/秒”。
[0116] O_in’是入站流量的当前观测率与先前观测率之间的差量,被计算为O_in速率(t)-O_in速率(t-1))/O_in速率(t-1)。如果O_in速率正在减小,则这产生负数,且如果O_in速率正在升高,则产生正数。
[0117] O_in’阈值(O_in’threshold)是可选阈值,低于该阈值时不采取行动。阈值可以静态地或动态地设置,例如,从中心位置周期性地更新。此外,可以基于每个设备或基于每个路由来设置阈值,其中如果IoT网络具有树和分支结构,则每个分支是具有不同数量的叶节点的不同路由。机器学习算法可用于设置阈值。
[0118] Opermsg是每条消息的观测。这是消息中的数据观测数的平均值,但可以通过模式和消息大小进行细分,如表4所示。
[0119] O阈值是对于给定模式和消息大小,设备可以支持的最大吞吐量。这是可以随时间变化的平均值,并且通过监测业务流来设置,例如,如关于图9所描述的。它最初可以设置为静态值。
[0120] S1-n是1到n个模式的列表。该列表可以是预定义的,或者可以是由IoT网络管理员维护的动态更新列表。可以使用关于图2描述的模式,SSS,SDS和MDS。消息大小可以从1kb到100kb。
[0121] M大小是IoT网络组件在发送消息时将使用的消息大小(以字节为单位)。Msize_max(S1-n)和Msize_min(S1-n)分别是指定模式S1-n的消息的最大阈值和最小阈值。相同的范围可以应用于所有模式,或者可以在每个模式的基础上进行设置。消息大小可以从离散的一组值中选择,诸如表4中所示的,或者可以在收集性能反馈时随时间计算。
[0122] Cost_S1-n是使用大小为M大小的模式1到n的成本函数。成本函数是相同模式类型和消息大小的观测样本SO1-n过渡通过IoT网络设备花费的平均时间。这包括将数据从一种模式类型重新打包到另一种模式类型可能花费的任何时间惩罚。它被定义为:
[0123] L_S1-nM大小是使用特定模式S1-n和特定消息大小M大小的消息的等待时间(L)。这是通过对通过IoT网络设备的消息的选择进行采样来计算的。
[0124] 图10是用于动态地控制数据源中的消息模式和大小的方法1000的框图。方法1000可以由关于图11描述的系统实现。当IoT设备具有要发送到下游设备的数据时,方法1000开始于框1002。
[0125] 在框1004处,计算数据观测到达IoT网络设备的当前速率O_in速率(t)。在框1006处,计算入站流量的当前观测率和先前观测率之间的差量O_in’。
[0126] 在框1008处,确定当前数据观测率O_in速率和前一个数据观测率之间的改变是否大于O’阈值。这确定设备上的负载是否正在增加,O’>0,并且设备上的负载是否大于该模式类型和大小的最大可支持吞吐量平均值。
[0127] 如果是,则在框1010处,计算成本函数以确定是否应应用新模式或消息大小。成本函数构建并维护模型,在每个设备的基础上填充和存储该模型的值,如表4所示。模型中的数据通知成本函数。当前模式的成本被确定为Cost_S1-n(t)为O_in速率*L_s1-nM大小。如所述,L_s1-nMsize是使用当前消息模式和大小的当前消息量的等待时间成本。
[0128] 如果设备上的负载正在减少,O’<0,并且设备上的负载小于该模式类型和大小的最大可支持吞吐量平均值(表示为O阈值),O_in速率<O阈值,则当前模式的成本Cost_S1-n(t)以相同方式被确定,O_in速率*L_s1-nM大小。
[0129] 如果O_in速率=O阈值,则不对速率进行改变。例如,成本函数不会从上一次迭代改变,并且将使用相同的模式和消息大小。可以注意到,这些技术不限于针对阈值示出的关系。在一些示例中,阈值可以是下限或上限,并且可以通过监管问题来设置。
[0130] 框1012表示关于新模式或消息大小的成本是否小于当前模式或消息大小的成本的确定。通过循环遍历所有可能的模式和消息大小来执行确定,这些模式和消息大小具有可以满足当前负载(O_in速率)的0阈值,以找到最便宜的模式和消息大小,例如,具有最低成本函数的模式和消息大小,如关于框1014至1020所描述的。
[0131] 在框1014处,递增指示器以选择新模式和小大组合。在框1016处,计算新模式和大小组合的成本函数,例如,如果(O阈值>O_in速率),则Cost_S1-n(t+1)=(O_in速率x L_S1-nM大小)。在框1018处,确定新模式和消息大小是否具有更低成本,例如,Cost_S1-n(t+1)<Cost_S1-n(t)。如果是,则在框1020处,新模式和消息大小替换当前模式和消息大小,例如,通过替换指向模式和消息大小组合的当前指针的值。在框1022处,确定是否已经测试了所有模式和消息大小组合。如果不是,则处理流程返回到框1014。
[0132] 在框1024处,使用所选择的模式和消息大小发送消息。如果没有其他模式和大小组合导致较低的成本,则可以使用当前模式和消息大小组合来执行此操作。在框1026处,对当前消息模式和大小的等待时间(表示为L_S1-nM大小)进行采样以更新统计信息,例如,如表4中所存储的。这包括更新消息中包含的平均观测数量,表示为Opermsg,以及正由设备发送的观测的速率,表示为O阈值。
[0133] 在框1028处,可以使用从对消息流进行采样而获得的等待时间和其他值来更新当前模式和消息大小组合的成本函数。随后处理流程返回至框1004。
[0134] 图11是可被用于从发送方设备动态控制模式的系统1100的框图。类似标记的项如关于图1和图8所描述的。在该示例中,大容量存储装置1106可以包括多个模块以实现这里描述的闭环消息模式控制。这些模块可包括流量监测器1102,以观测网络上的数据流,以基于每个设备确定来自入站数据流量的流量状态值。
[0135] 成本函数计算器1104可计算当前模式和消息大小的成本函数。此外,成本函数计算器1104可迭代通过一组可能的成本和消息大小组合以确定不同的模式和消息大小是否具有比当前成本和消息大小低的成本函数。如果是,则成本函数计算器1104可指示模式管理器1106为模式分派器1108选择新模式和消息大小。如果否,则成本函数计算器1104可指示模式管理器1106继续使用当前模式和消息大小。
[0136] 模式分派器1108可以使用所选择的模式将数据存储1110中保存的数据打包成聚合数据消息。然后可以将聚合数据消息分派给设备,例如,通过NIC 1116到云102。
[0137] IoT设备1100不限于所示的单元,因为可以存在其他单元。例如,可以存在用于实现编排的模式控制系统和闭环模式控制系统两者的模块,从而形成混合系统。例如,大容量存储装置806可以包括关于图8描述的模块,包括拥塞监测器826、编排控制器828、模式选择器830和消息分派器832等。这些模块可允许IoT设备1100执行关于图6和图7描述的方法600和700。在该示例中,模式控制可以是自适应的。例如,IoT设备1100可以在接收到拥塞消息时使用编排系统,并且在网络拥塞被数据源感测到时使用闭环系统。
[0138] 还可以包括其他单元,诸如数据积压转移控制器可以用于在网络容量问题期间转移已经在数据存储1110中建立的消息。例如,代替在恢复通信时立即尝试发送积压消息,数据积压转移控制器可以使用多种算法递增地发送消息。这些可以包括后进先出(LIFO)算法,先进先出(FIFO)算法或者随机采样算法。此外,可以扩充数据积压转移控制器以优先化具有较高熵的消息。熵可以包括相比旧的被视为更有价值的最近的观测。可以使用当前模式和消息大小发送积压消息。
[0139] 图12是包括包含指令的非瞬态计算机可读介质1200的框图,所述指令在被执行时指示处理器1202通过编排控制消息模式。处理器1202通过总线1204与非瞬态计算机可读介质1200通信。处理器1202和总线1204可以如关于图8的处理器802和总线806所描述的。非瞬态计算机可读介质1200可以包括代码1206,用于指示处理器1202确定拥塞率,例如,通过向下游单元或数据宿发送跟踪器消息,然后测量返回消息的响应时间。响应时间可用于计算拥塞率。代码块1206可以指示处理器将包括拥塞率的拥塞消息发送到上游设备或数据源,以允许上游设备确定消息大小或模式中是否需要改变。
[0140] 可以包括代码块1208以指示处理器1202确定从下游设备接收的拥塞率是否应该导致上游设备处的消息大小或模式的改变。这可以根据关于图6描述的方法600来执行。
[0141] 可以包括代码块1210以指示处理器1202向上游设备或数据源发送编排消息,以控制它们对消息大小和模式的选择。编排消息可包括观测正在由数据宿处理的当前速率与观测曾在由数据宿处理的先前速率之间的差量。
[0142] 可以包括代码块1212以指示处理器1202选择新消息大小。还可以包括代码块1214以指示处理器1202选择新模式,例如,如果新大小在当前模式的大小阈值之外的话。代码块1212和1214可以使用关于图7描述的方法700。
[0143] 可以包括代码块1216以指示处理器1202将数据聚合成消息,例如,基于所选择的消息模式和大小。可以包括代码块1218以指示处理器1202将聚合数据消息发送到数据宿。
[0144] 非瞬态计算机可读介质1200不限于所示的代码块1206-1218,而是可以包括任何数量的其他代码块以实现诸如操作系统,数据收集,网状网络等的功能。例如,非瞬态计算机可读介质1200可以包括关于图13描述的代码块,从而提供能够执行消息模式的两种控制类型的混合系统。
[0145] 图13是包括包含指令的非瞬态计算机可读介质1300的框图,所述指令在被执行时指示处理器1302执行对消息模式的闭环控制。处理器1202通过总线1204与非瞬态计算机可读介质1200通信。处理器1302和总线1304可以如关于图8的处理器802和总线806所描述的。
[0146] 非瞬态计算机可读介质1300可以包括代码块1306以指示处理器确定传入消息速率。可以包括代码块1308以指示处理器1302确定速率变化。可以包括代码块1310以指示处理器1302确定消息模式和大小的成本函数。可以包括代码块1312以指示处理器1302选择消息模式和大小,例如,通过迭代消息模式和大小的多个可能组合来确定具有当前条件的最低成本函数的消息模式和大小。可以包括代码块1314以指示处理器1302将数据聚合成消息,例如,基于所选择的消息模式和大小。可以包括代码块1316以指示处理器1302将聚合消息发送到数据宿。可以包括代码块1318以指示处理器1302测量和更新流量统计信息,例如,通过对接收和发送的消息的数据速率进行采样。
[0147] 非瞬态计算机可读介质1300不限于所示的代码块1306-1318,而是可以包括任何数量的其他代码块以实现诸如操作系统,数据收集,网状网络等的功能。例如,非瞬态计算机可读介质1300可以包括关于图12描述的代码块,从而提供能够执行消息模式的两种控制类型的混合系统。
[0148] 示例
[0149] 示例1提供一种用于使用消息模式进行通信的装置,包括物联网(IoT)设备,包括:通信设备,用于在所述IoT设备和其他设备之间进行通信。编排控制器接受来自下游设备的编排消息。模式选择器至少部分地基于所述编排消息调整消息大小。消息分派器根据当前模式将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
[0150] 示例2包括示例1的主题。在该示例中,如果消息大小大于当前消息模式的最大阈值,或者小于当前消息模式的最小阈值,则模式选择器用于选择新模式。
[0151] 示例3包括示例1或3中任一项的主题。在该示例中,所述消息模式包括单个样本模式(SSS),单个设备模式(SDS)或多个设备模式(MDS)。
[0152] 示例4包括示例1到3中任一项的主题。在该示例中,所述通信设备包括无线电收发机,或网络接口控制器,或两者。
[0153] 示例5包括示例1到4中任一项的主题。在该示例中,该装置包括符合电气和电子工程师协会(IEEE)802.15.4标准的无线电收发机。
[0154] 示例6包括示例1到5中任一项的主题。在该示例中,编排消息包括数据宿正在处理观测的当前速率与数据宿曾在处理观测的先前速率之间的差量。
[0155] 示例7包括示例1到6中任一项的主题。在该示例中,该装置包括拥塞监测器,用于向上游设备发送拥塞消息,其中所述拥塞消息包括所述数据宿的拥塞率。
[0156] 示例8包括示例1到7中任一项的主题。在该示例中,该装置包括拥塞监测器,用于将跟踪器消息发送到多个数据宿中的每一个。拥塞监测器至少部分地基于响应和跟踪器消息之间的时间差来确定每个数据宿的拥塞率。拥塞监测器生成拥塞消息。
[0157] 示例9包括示例1到8中任一项的主题。在该示例中,该装置包括将IoT设备耦合到传感器或致动器或两者的接口。
[0158] 示例10包括示例1到9中任一项的主题。在该示例中,该装置包括设备雾。
[0159] 示例11包括示例1到10中任一项的主题。在该示例中,该装置包括设备雾,其包括聚合器以使用该模式将多个数据点组装成消息。
[0160] 示例12包括示例1到11中任一项的主题。在该示例中,该装置包括专用集成电路(ASIC),其包括编排控制器,模式选择器或消息分派器,或其任意组合。
[0161] 示例13包括示例1到12中任一项的主题。在该示例中,IoT设备包括流量监测器,用于从IoT设备中的入站数据流量确定流量状态值。成本函数计算器迭代多个可能的模式和消息大小组合,以确定不同的模式和消息大小组合是否具有低于当前模式和消息大小组合的成本函数。模式分派器将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
[0162] 示例14包括示例13的主题。在该示例中,该装置包括模式管理器,用于至少部分地基于成本函数选择新模式和消息大小组合。模式分派器根据新模式和消息大小组合将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
[0163] 示例15包括示例1到14中任一项的主题。在该示例中,该装置包括专用集成电路(ASIC),其包括成本函数计算器、模式分派器、模式管理器、或其任意组合。
[0164] 示例16提供一种用于在物联网(IoT)设备中选择消息模式的方法,包括从下游设备接收编排消息。至少部分地基于所述编排消息针对当前模式计算新消息大小。使用新消息大小和当前模式发送数据消息。
[0165] 示例17包括示例16的主题。在该示例中,该方法包括确定新消息大小是否大于当前模式的最大大小或小于当前模式的最小大小。如果是,则至少部分地基于新消息大小选择新模式。使用新消息大小和新模式发送数据消息。
[0166] 示例18包括示例17的主题。在该示例中,该方法包括至少部分地基于查找表选择新模式,所述查找表包括多个模式中的每个模式的大小、所述多个模式中的每个模式的等待时间、以及所述多个模式中的每个模式的测得的观测率。
[0167] 示例19包括示例16到18中任一项的主题。在该示例中,该方法包括确定拥塞率是否大于拥塞率阈值。计算拥塞率的变化;以及确定拥塞率的变化是否大于变化阈值。
[0168] 示例20包括示例19的主题。在该示例中,该方法包括计算观测正被处理的观测率。计算观测正被处理的当前速率与观测曾被处理的先前速率之间的差量。如果该差量大于观测阈值,则创建编排消息,并发送编排消息。编排消息包括该差量。
[0169] 示例21包括示例19的主题。在该示例中,该方法包括将跟踪器消息发送到多个数据宿中的每一个。至少部分地基于响应和跟踪器消息之间的时间差来确定该多个数据宿中的每一个的拥塞率。针对数据宿上的一个,发送包括拥塞率的拥塞消息。
[0170] 示例22包括示例20的主题。在该示例中,该方法包括在IoT设备中接收编排消息。
[0171] 示例23包括示例16到22中任一项的主题。在该示例中,该方法包括通过计算多个模式和消息大小组合中的每一个的成本函数来确定新模式或消息大小的成本函数是否小于当前模式或消息大小的成本函数,以及确定该多个模式和消息大小组合之一的成本函数是否低于当前模式和消息大小组合。
[0172] 示例24包括示例23的主题。在该示例中,该方法包括确定所述多个模式和消息大小组合之一的成本函数低于当前模式和消息大小组合;以及用较低成本函数的模式和消息大小组合更新所述当前模式和消息大小组合。
[0173] 示例25包括示例23的主题。在该示例中,该方法包括使用当前模式和消息大小组合发送数据消息。
[0174] 示例26包括示例23的主题。在该示例中,该方法包括计算数据观测正在到达的当前速率。计算在入站流量的当前速率和先前观测速率之间的差量。确定差量是否大于速率阈值。如果是,则搜索具有小于当前模式和消息大小组合的成本函数的成本函数的新模式和消息大小组合。
[0175] 示例27包括示例23的主题。在该示例中,该方法包括对使用当前模式和消息大小组合发送的消息进行采样以确定等待时间值;以及更新当前模式和消息大小组合的统计信息。
[0176] 示例28提供一种非瞬态计算机可读介质,包括包含指令,所述指令在被执行时指示处理器:确定消息大小或模式中是否需要改变,以及将编排消息发送到物联网设备以改变消息大小、模式或两者。
[0177] 示例29包括示例28的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:调整消息大小,确定消息大小是否高于当前模式的最大大小阈值,或低于当前模式的最小大小阈值。如果是,则包括指令以选择新模式。
[0178] 示例30包括示例28或29中任一项的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:根据消息大小模式和模式聚合传入消息以形成聚合消息;以及将所述聚合消息发送到数据宿。
[0179] 示例31包括示例28到30中任一项的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:将跟踪器消息发送到多个数据宿中的每一个,以及至少部分地基于响应和跟踪器消息之间的时间差确定该多个数据宿中的每一个的拥塞率。包括指令以指示处理器将包括拥塞率的拥塞消息发送到上游设备。
[0180] 示例32包括示例28到31中任一项的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:计算多个消息模式和大小组合中的每一个的成本函数,以及标识具有比当前消息模式和大小组合低的成本函数的新消息模式和大小组合。包括指令以指示所述处理器用所述新消息模式和大小组合替换所述当前消息模式和大小组合。
[0181] 示例33包括示例32的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:确定进入的观测率,以及确定所述传入观测率的速率变化。
[0182] 示例34包括示例32的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:根据当前消息模式和大小组合聚合传入消息以形成聚合消息;以及将所述聚合消息发送到数据宿。
[0183] 示例35包括示例32的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:对使用当前消息模式和大小组合发送的消息进行采样;以及更新当前消息模式和大小组合的流量统计信息。
[0184] 示例36提供一种用于使用消息模式进行通信的装置,包括物联网(IoT)设备,包括:通信设备,用于在所述IoT设备和其他设备之间进行通信,以及用于至少部分地基于来自下游设备的编排消息调整模式的消息大小的装置。消息分派器根据当前模式将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
[0185] 示例37包括示例36的主题。在该示例中,该装置包括用于至少部分地基于消息大小选择新模式的装置。
[0186] 示例38包括示例36或37中任一项的主题。在该示例中,该装置包括用于从正在处理观测的速率确定编排消息的装置。
[0187] 示例39包括示例36到38中任一项的主题。在该示例中,该装置包括用于确定多个数据宿的拥塞率的装置。
[0188] 示例40包括示例36到39中任一项的主题。在该示例中,该装置包括用于使用该模式将多个数据点聚合成消息的装置。
[0189] 示例41包括示例36到40中任一项的主题。在该示例中,IoT设备包括流量监测器,用于从IoT设备中的入站数据流量确定流量状态值,以及用于至少部分地基于成本函数计算来计算选择模式和消息大小组合的装置。模式分派器将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
[0190] 示例42提供一种非瞬态机器可读介质,包括包含指令,所述指令在被执行时指示节点中的处理器执行示例16到27的方法中的任一项。
[0191] 示例43提供一种装置,该装置包括用于执行示例16到27的方法中的任一项的装置。
[0192] 示例44提供一种用于使用消息模式进行通信的装置,包括物联网(IoT)设备,包括:通信设备,用于在所述IoT设备和其他设备之间进行通信。流量监测器从IoT设备中的入站数据流量确定流量状态值。成本函数计算器迭代一组可能的模式和消息大小组合,以确定不同的模式和消息大小组合是否具有低于当前模式和消息大小组合的成本函数。如果否,则模式分派器根据当前模式和消息大小组合将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
[0193] 示例45包括示例44的主题。在该示例中,该装置包括模式选择器,用于如果所述成本函数低于所述当前模式和消息大小组合则选择新模式和消息大小组合。模式分派器根据新模式和消息大小组合将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
[0194] 示例46包括示例44或45中任一项的主题。在该示例中,所述消息模式包括单个样本模式(SSS),单个设备模式(SDS)或多个设备模式(MDS)。
[0195] 示例47包括示例44到46中任一项的主题。在该示例中,所述通信设备包括无线电收发机,或网络接口控制器,或两者。
[0196] 示例48包括示例47的主题。在该示例中,该无线电收发机包括符合电气和电子工程师协会(IEEE)802.15.4标准的无线电。
[0197] 示例49包括示例44到48中任一项的主题。在该示例中,该装置包括将IoT设备耦合到传感器或致动器或两者的接口。
[0198] 示例50包括示例44到49中任一项的主题。在该示例中,该装置包括设备雾。
[0199] 示例51包括示例50的主题。在该示例中,该设备雾包括聚合器以使用该模式将多个数据点组装成消息。
[0200] 示例52包括示例44到51中任一项的主题。在该示例中,该装置包括专用集成电路(ASIC),其包括成本函数计算器、模式分派器、模式管理器、或其任意组合。
[0201] 示例53包括示例44到52中任一项的主题。在该示例中,该装置包括编排控制器,用于接受来自下游设备的编排消息。模式选择器至少部分地基于所述编排消息调整消息大小。消息分派器根据当前模式将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
[0202] 示例54包括示例53的主题。在该示例中,如果消息大小大于当前模式的最大阈值,或者小于当前模式的最小阈值,则模式选择器用于选择新模式。
[0203] 示例55包括示例53的主题。在该示例中,编排消息包括数据宿正在处理观测的当前速率与数据宿曾在处理观测的先前速率之间的差量。
[0204] 示例56包括示例53的主题。在该示例中,该装置包括拥塞监测器,用于向上游设备发送拥塞消息,其中所述拥塞消息包括所述数据宿的拥塞率。
[0205] 示例57包括示例53的主题。在该示例中,所述装置包括拥塞监测器,用于将跟踪器消息发送到多个数据宿中的每一个,以及至少部分地基于响应和跟踪器消息之间的时间差确定该多个数据宿中的每一个的拥塞率。生成拥塞消息。
[0206] 示例58包括示例53的主题。在该示例中,该装置包括专用集成电路(ASIC),其包括编排控制器,模式选择器或消息分派器,或其任意组合。
[0207] 示例59提供一种用于在物联网(IoT)设备中选择消息模式的方法,包括:通过计算多个模式和消息大小组合中的每一个的成本函数来确定新模式和消息大小的成本函数是否小于当前模式和消息大小的成本函数,以及确定该多个模式和消息大小组合之一的成本函数是否低于当前模式和消息大小组合。
[0208] 示例60包括示例59的主题。在该示例中,该方法包括确定所述多个模式和消息大小组合之一的成本函数低于当前模式和消息大小组合;以及用较低成本函数的模式和消息大小组合更新所述当前模式和消息大小组合。
[0209] 示例61包括示例59或60中任一项的主题。在该示例中,该方法包括使用当前模式和消息大小组合发送数据消息。
[0210] 示例62包括示例59到61中任一项的主题。在该示例中,该方法包括计算数据观测正在到达的当前速率。计算在入站流量的当前观测率和先前观测率之间的差量。确定该差量是否大于速率阈值,并且如果是,则确定新模式和消息大小组合的成本函数是否小于当前模式和消息大小组合的成本函数。
[0211] 示例63包括示例59到62中任一项的主题。在该示例中,该方法包括对使用当前模式和消息大小组合发送的消息进行采样以确定等待时间值;以及更新当前模式和消息大小组合的统计信息。
[0212] 示例64包括示例63到63中任一项的主题。在该示例中,该方法包括其中更新统计信息包括更新消息中包含的平均观测数量,以及更新正由设备发送的观测的速率。
[0213] 示例65包括示例59到64中任一项的主题。在该示例中,该方法包括从下游设备接收编排消息;以及至少部分地基于所述编排消息计算当前模式的新消息大小。使用新消息大小和当前模式发送数据消息。
[0214] 示例66包括示例65的主题。在该示例中,该方法包括确定新消息大小是否大于当前模式的最大大小或小于当前模式的最小大小。如果是,则至少部分地基于新消息大小选择新模式。使用新消息大小和新模式发送数据消息。
[0215] 示例67包括示例66的主题。在该示例中,该方法包括至少部分地基于查找表选择新模式,所述查找表包括该多个模式中的每个模式的大小、所述多个模式中的每个模式的等待时间、以及所述多个模式中的每个模式的测得的观测率。
[0216] 示例68包括示例65的主题。在该示例中,该方法包括:确定拥塞率是否大于拥塞率阈值;计算拥塞率的变化;以及确定拥塞率的变化是否大于变化阈值。
[0217] 示例69包括示例68的主题。在该示例中,该方法包括计算观测正被处理的观测率;以及计算观测正被处理的当前速率与观测曾被处理的先前速率之间的差量。如果该差量大于观测阈值,则创建并发送编排消息。编排消息包括该差量。
[0218] 示例70包括示例68的主题。在该示例中,该方法包括将跟踪器消息发送到多个数据宿中的每一个,以及至少部分地基于响应和跟踪器消息之间的时间差确定数据宿中的每一个的拥塞率。针对数据宿之一,发送包括拥塞率的拥塞消息。
[0219] 示例71提供一种非瞬态计算机可读介质,包括包含指令,所述指令在被执行时指示处理器计算多个消息模式和大小组合中的每一个的成本函数。包括指令以指示所述处理器标识具有比当前消息模式和大小组合低的成本函数的新消息模式和大小组合,以及用所述新消息模式和大小组合替换所述当前消息模式和大小组合。
[0220] 示例72包括示例71的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:确定传入观测率,以及确定所述传入观测率的速率变化。
[0221] 示例73包括示例71或72中任一项的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:根据当前消息模式和大小组合聚合传入消息以形成聚合消息;以及将所述聚合消息发送到数据宿。
[0222] 示例74包括示例71到73中任一项的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:对使用当前消息模式和大小组合发送的消息进行采样;以及更新当前消息模式和大小组合的流量统计信息。
[0223] 示例75包括示例71到74中任一项的主题。在该示例中,该非瞬态计算机可读介质,包括包含指令,所述指令在被执行时指示处理器:确定消息大小或模式中是否需要改变,以及将编排消息发送到物联网设备以改变消息大小、模式或两者。
[0224] 示例76包括示例75的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:调整消息大小,以及确定消息大小是否高于当前模式的最大大小阈值,或低于当前模式的最小大小阈值。包括指令以指示所述处理器选择新模式。
[0225] 示例77包括示例75的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:根据消息大小和当前模式聚合传入消息以形成聚合消息;以及将所述聚合消息发送到数据宿。
[0226] 示例78包括示例75的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:将跟踪器消息发送到多个数据宿中的每一个,至少部分地基于响应和跟踪器消息之间的时间差确定该多个数据宿中的每一个的拥塞率,以及将包括拥塞率的拥塞消息发送到下游设备。
[0227] 示例79提供一种用于使用消息模式进行通信的装置,包括物联网(IoT)设备,包括:通信设备,用于在所述IoT设备和其他设备之间进行通信。流量监测器从IoT设备中的入站数据流量确定流量状态值。包括用于选择模式和消息大小组合的装置。模式分派器根据模式和消息大小组合将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
[0228] 示例80包括示例79的主题。在该示例中,该装置包括编排控制器,用于接受来自下游设备的编排消息。包括用于至少部分地基于所述编排消息调整消息大小的装置。消息分派器根据当前模式将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
[0229] 示例81包括示例80的主题。在该示例中,该装置包括用于至少部分地基于消息大小选择新模式的装置。
[0230] 示例82包括示例80的主题。在该示例中,该装置包括用于确定数据宿的拥塞率的装置。
[0231] 示例83包括示例82的主题。在该示例中,该装置包括用于至少部分地基于拥塞率来确定是否需要编排消息的装置。
[0232] 示例84提供一种非瞬态机器可读介质,包括包含指令,所述指令在被执行时指示节点中的处理器执行示例59到70的方法中的任一项。
[0233] 示例85提供一种装置,该装置包括用于执行示例59到70的方法中的任一项的装置。
[0234] 一些实施例可在硬件、固件和软件中的一者或组合中实现。一些实施例还可被实现为存储在机器可读介质上的指令,其可由计算平台读取和执行,以执行本文所述的操作。机器可读介质可以包括用于存储或传送机器(例如,计算机)可读形式的信息的任何机制。
例如,机器可读介质可包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号或传送和/或接收信号的接口等)等等。
[0235] 实施例是实现或示例。说明书中对“实施例”、“一个实施例”、“一些实施例”、“各种实施例”或“其他实施例”的引用表示结合这些实施例而描述的特定特征、结构、或特性被包括在本发明的至少一些实施例中,而不一定在所有的实施例中。“实施例”、“一个实施例”、“一些实施例”的各自出现不一定都指代相同的实施例。一个实施例的元件或方面可与另一个实施例的元件或方面组合。
[0236] 并非本文中描述和示出的所有组件、特征、结构、特性等等都需要被包括在特定实施例或多个实施例中。例如,当说明书陈述“可”、“可以”、“能”、或“能够”包括组件、特征、结构、或特性时,不一定包括该特定组件、特征、结构、或特性。如果说明书或权利要求书提到“一”或“一个”元件,则这并不意味着仅有一个该元件。如果说明书或权利要求书引用“附加的”元件,则不排除有一个以上该附加的元件。
[0237] 要注意的是,虽然参考特定实现方式描述了一些实施例,但根据一些实施例,其他实现方式也是可能的。另外,附图中所示的和/或本文描述的电路元件或其它特征的配置和/或顺序不必以所示和所描述的特定方式安排。根据某些实施例,其他许多配置也是可能的。
[0238] 在附图中示出的每个系统中,在一些情形下的每个元件可具有相同或不同的附图标记,表明所表示的元件可能不同和/或相似。但是,元件可以足够灵活,具有不同的实现方式,并与本文所示或所述的一些或所有系统一起操作。附图中所示的各元件可以相同或不同。将哪个称为第一元件以及将哪个称为第二元件是任意的。
[0239] 本技术不限于本文列举的特定细节。的确,受益于本公开的本领域技术人员将理解可在本技术的范围内进行来自前述描述和附图的许多其他变体。相应地,以下权利要求包括限定技术范围的任何修改
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈