CN109219942B - 控制消息模式的方法及装置 - Google Patents

控制消息模式的方法及装置 Download PDF

Info

Publication number
CN109219942B
CN109219942B CN201680086322.XA CN201680086322A CN109219942B CN 109219942 B CN109219942 B CN 109219942B CN 201680086322 A CN201680086322 A CN 201680086322A CN 109219942 B CN109219942 B CN 109219942B
Authority
CN
China
Prior art keywords
message
mode
data
rate
message size
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.)
Active
Application number
CN201680086322.XA
Other languages
English (en)
Other versions
CN109219942A (zh
Inventor
M·诺兰
N·卡希尔
K·诺兰
J·布拉迪
M·凯利
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN109219942A publication Critical patent/CN109219942A/zh
Application granted granted Critical
Publication of CN109219942B publication Critical patent/CN109219942B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • 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/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

提供了用于控制物联网(IoT)设备的消息模式和大小的方法和装置。示例性方法包括通过计算多个模式和消息大小组合中的每一个的成本函数来确定新模式和消息大小组合的成本函数是否小于当前模式和消息大小组合的成本函数,以及确定该多个模式和消息大小组合之一的成本函数是否低于当前模式和消息大小组合。

Description

控制消息模式的方法及装置
技术领域
本技术一般涉及物联网(IoT)设备。更具体地,本技术涉及可以通过控制消息模式来管理通信拥塞的设备。
背景技术
据估计,到2020年,物联网(IoT)可能会为500亿台设备带来因特网连通性。然而,此数量的设备可能导致IoT设备与正在接收数据的协调器或服务器之间的通信信道的大量拥挤,尤其是在装备故障期间。通信信道的拥挤可能导致各个IoT设备丢失消息,导致数据集不完整。
附图简述
图1A是与多个物联网(IoT)设备通信的云计算网络或云的图,该多个物联网设备中的至少一些正与服务器通信。
图1B是与在云的边缘处操作的IoT设备的网状网络(其可被称为雾) 通信的云计算网络或云的图。
图2是用于测试本文中描述的技术的IoT系统的框图。
图3是使用不同消息模式SSS、SDS和MDS获得的等待时间的减少的绘图。
图4是处理时间和每秒的观测对消息模式和大小的绘图。
图5是对于不同模式每秒的消息数的绘图。
图6是用于编排消息模式的方法的处理流程图。
图7是用于确定源节点处的模式和消息大小的方法的处理流程图。
图8是可以存在于IoT设备中以控制消息模式选择的组件的框图。
图9是可被用于消息模式的动态控制的方法的框图。
图10是用于动态地控制数据源中的消息模式和大小的方法的框图。
图11是可被用于从发送方设备动态控制模式的系统的框图。
图12是包括包含指令的非瞬态计算机可读介质的框图,所述指令在被执行时指示处理器通过编排控制消息模式。
图13是包括包含指令的非瞬态计算机可读介质的框图,所述指令在被执行时指示处理器执行对消息模式的闭环控制。
在整个公开和附图中使用相同的标号指示相似的组件和特征。100系列的标号涉及在图1中最初可见的特征,200系列的标号涉及在图2中最初可见的特征,以此类推。
具体实施方式
物联网(IoT)是这样的概念,其中,大量计算设备互连至彼此并互连至因特网,以在非常低的级别上提供功能和数据采集。例如,IoT网络可包括商用和家用自动化设备,诸如,给水系统、配电系统、管道控制系统、工厂控制系统、灯开关、恒温器、锁、相机、警报、运动传感器,等等。这些设备——本文称之为IoT设备——可以是通过远程计算机、服务器和其他系统能访问的,从而例如控制系统或访问数据。此外,IoT设备可包括 IoT网关,这些IoT网关用于将其它IoT设备耦合至云应用。
IoT设备的全球部署通常依赖于与后端基于云的服务的通信。考虑到数十亿IoT设备的全球部署中涉及的基础无线网络的规模,可能经常发生中断和网络连接丢失。临时网络连接问题可能导致丢失有价值的传感器数据,并且可能在分派或重放缓存消息时显着增加网络负载和后端服务器处理要求。
本文描述的技术提供了用于增加从传感器设备到下游设备的数据流的有效模式,其中用于打包消息的模式根据下游设备上的负载而改变。如这里所使用的,可以从三个不同的消息模式中选择所使用的消息模式。如这里所使用的,当从发送方设备移动数据的过程开始时,发送消息。通常,发送方设备将确认在目标设备处已经接收到消息,但是这里描述的技术不限于完成或确认已经接收到消息。
此处称为单个样本模式或SSS的第一模式从单个设备发送单个数据点。该模式在数据传输方面效率最低,因为每个数据点具有包含在消息中的个体标识信息。在此称为单个设备模式或SDS的第二模式包括使用共享标识信息从单个设备的多个传感器读数。这里称为多设备模式或MDS的第三消息模式包括来自多个设备的多个传感器读数。所选择的消息模式和大小基于发送实体的操作情境和网络上的拥塞状态。动态系统的使用可以增加后端服务在需要时可以消耗数据的容量,例如,处理传感器风暴或允许增加网络中的传感器设备的数量。可以注意到,模式的开销独立于发送协议添加的页眉和页脚。
如本文所述,消息模式可以基于来自下游设备的消息以编排的方式改变,或者可以由发送方设备本身改变,例如,使用成本函数。在编排示例中,下游设备或数据宿可以向上游设备或数据源发送消息以改变到不同的模式。这可以基于诸如消息积压的增加或网络或云端拥塞的检测之类的触发。
在闭环示例中,发送方设备本身选择用于发送数据的消息模式。可以计算成本函数以确定最低成本或最高效率的消息模式。然后,模式管理器和模式分派器可以使用该信息来打包和发送传感器数据消息。在该示例中,优化可以由每个IoT网络设备实现,并且独立于网络拓扑的知识而工作。
图1A是与多个物联网(IoT)设备通信的云计算网络或云102的图,其中至少一些设备正与服务器104通信。云102可表示因特网,或者可以是广域网(WAN),诸如公司的私有网络。IoT设备可包括按各种组合分组的任何数量不同类型的设备。例如,交通控制组106可包括沿城市中的街道的IoT设备。这些IoT设备可包括红灯、交通流监测器、相机、天气传感器,等等。交通控制组106或其他子组可通过子网络108(诸如局域网、无线局域网等)与云102通信。IoT设备可以使用诸如网关110之类的另一设备来与云102通信。
其他IoT设备组可包括远程气象站112、本地信息终端114、警报系统116、自动柜员机118、以及警报面板120等等。这些IoT设备中的每一个可以与其他IoT设备,服务器104或两者通信。
如从图1可见,大量IoT设备可通过云102进行通信。这些IoT设备中的每一个可以生成时间排序的数据流,包括例如传感器数据流。例如,IoT 设备的交通控制组106可以发送交通流量,交通速度,图像,降水量,温度测量值等。考虑到正发送数据的IoT设备的数量,网络负载可能很大。如果在来自IoT设备的数据管道中,云102中或服务器104处出现任何问题,则数据可能不按顺序或丢失。
云102中的自动缩放服务可以帮助减轻这个问题中的一些。然而,这样的服务可能比固定的预留容量系统昂贵得多。此外,这些系统需要时间上线并增加后端服务的复杂性。可变性使得这种服务的成本难以预测,特别是在快速增长或有机IoT网络中,例如,因为出于特定目的根据需要添加或移除设备。
此外,自动缩放服务对基础设施提供商的帮助较小,这些提供商必须在靠近边缘、雾中、客户站点处或其自己的私有数据中心中的位置处供应物理IoT计算容量。IoT网络在不预设额外后端容量的情况下吸收数据观测中的大变化的能力对于允许有机IoT网络的增长可能是有价值的。
此外,现有的商业端到端Iot系统仍然关注连通性,例如,可靠的数据流,以及基本IoT设备(诸如加热器,灯等)的致动。它们是针对单一,有限目的的单点解决方案。这错过了动态优化整个系统运行的机会。
如本文进一步详细描述的,可以监测网络拥塞以改变IoT设备的功能,例如,控制用于数据传输的消息模式。这可以通过从数据宿(诸如服务器104,云102中的设备,IoT网关110)发送到数据源(诸如IoT设备) 的模式控制消息来执行。此外,IoT设备本身可以监测流量以在闭环系统中实现模式控制。模式控制可以在图1A中所示的网络中实现,或者在雾应用中实现。
图1B是与IoT设备的网状网络通信的云计算网络或云102的图,该网状网络可以被称为雾122,其在云600的边缘处操作。为了简化示图,并未标出每个IoT设备。
雾122可视为大规模互连的网络,其中大量IoT设备例如通过无线电链路124彼此通信。每个IoT设备可以被认为是网络内的节点,其中向下游IoT设备发送出数据消息的IoT设备被认为是源节点。在雾122中或在云 102中接收来自上游设备的数据消息的设备被认为是宿节点。
相互通信协议可以根据由开放连通性基金会TM(Open ConnectivityFoundationTM;OCF)于2015年12月23日发布的开放互连联盟(OIC)标准规范1.0。该标准允许设备发现彼此并建立通信以用于互连。也可使用其他互连协议,包括例如,最优链路状态路由(OLSR)协议、或至移动自组织联网的更好方式(B.A.T.M.A.N)等等。本文描述的用于控制消息模式和大小的技术可以与任何数量的其他高级和低级通信协议一起使用,包括例如6LowPan,LickLiber,CoAP,TCP/IP,MQTT,ONVIF等。
在该示例中示出了三种类型的IoT设备,即,网关110、传感器126 和聚合器128,但是可以使用IoT设备和功能的任何组合。网关110可以是提供云102和雾122之间的通信的边缘设备,并且还可以用作将模式控制消息发送到传感器126或聚合器128的数据宿。传感器126可以收集传感器数据,并将传感器数据提供给聚合器128,网关110或两者。聚合器128可以从多个传感器126收集和发送数据,例如,根据这里描述的模式聚合数据。除了其他功能之外,聚合器128还可以向雾122提供计算服务。在一些示例中,可以不存在聚合器128,并且可以根据网关110中的模式或者通过传感器126本身将数据聚合成消息。聚合的数据消息可以通过网关110 传递到云102。
来自任何IoT设备的通信可以沿着IoT设备中的任何设备之间的最方便的路径传递以到达网关110。在这些网络中,互连的数量提供了大量的冗余,从而甚至在丢失大量IoT设备的情况下也允许维持通信。
这些IoT设备的雾122或设备雾可以被呈现给云102中的设备(诸如服务器104)作为位于云102边缘处的单个设备,例如雾122设备。在该示例中,来自雾122设备的数据消息可以被发送而不被标识为来自雾122内的特定IoT设备302,诸如特定聚合器128。例如,可以发送MDS格式的数据消息,包括来自多个传感器126的多个数据点,而不标识创建和发送消息的特定聚合器128。在该示例中,聚合器128中的任何一个可以使用各种消息模式(例如,SSS,SDS或MDS)来创建消息。
在一些示例中,可使用命令式编程风格来配置IoT设备102,例如,每个IoT设备具有特定功能。然而,形成雾122设备的IoT设备能以说明性编程风格配置,从而允许IoT设备响应于条件、查询和设备故障来重新配置它们的操作并确定所需资源。例如,传感器126可以使用更复杂的模式来构建包括来自其自身和其他传感器126的数据的消息,而无需其他设备 (诸如聚合器128)的干预。为消息收集的数据可以响应于来自位于服务器 104处的用户的查询。传感器126可以选择回答查询,收集数据,将数据聚合到消息中以及发送消息所需的设备。
关于图1A和1B描述的IoT网络收集数据并将其发送到目的地,诸如服务器104,以便分析,目的是允许基于数据观测采取动作。收集数据的过程大致分为三类。在第一类中,传感器以规则的间隔生成数据,产生相对固定的消息大小和可预测的数据量。在第二类中,事件可能导致传感器按需或者在他们正在监测的条件变化时产生数据。这导致高度可变的消息和数据量。一旦接收到传感器数据,就可以进行第三类,称为有效负载 (payload)交换。第三类涉及传感器126和后端(诸如服务器104)之间的较大数据交换,并且通常在先前消息类型之一之后或响应于先前消息类型之一而发生。
第一类中的IoT网络面临着以下问题,即它们的增长(例如,新设备向网络的有机添加)受限于供应足够的后端容量以满足需求的要求。后两类IoT网络在消息和数据量方面存在很大差异,因此,后端系统必须充分过度供应以满足峰值负载。这里描述的消息传递的动态优化基于发送实体的操作情境和网络上的拥塞状态来改变消息模式和大小。该动态系统显著增加了服务器104或其他后端设备在需要时可以消耗数据的容量。
图2是用于测试本文描述的技术的IoT系统200的框图。在该简化视图中,一个或多个传感器设备202充当将数据204发送到充当数据宿的雾设备206的数据源。雾设备206可以是雾中的其他传感器设备202,聚合器或其他单元。雾设备206可以充当数据源,将数据208发送到充当数据宿的网关210。网关210可以充当数据源,将数据212发送到云214中的设备,其充当数据宿。
各种单元202,206和210的确切数量和布置可以根据具体系统而变化。例如,雾设备206可以被省略,给出更像图1A的系统或者被包括,导致更像图1B的系统。
如关于图6-8所描述的,编排消息214,216或218可以从数据宿发送到数据源以开始消息大小或模式的改变。该消息可以指定要使用的消息模式和大小,或者可以通知数据源由于流量大而需要改变,例如,将表示拥塞的值发送为0与1之间的数字。这些技术可以在网络上的任何或所有聚合点(例如,数据宿)处实现。
在一些示例中,不使用编排消息214,216或218,因为诸如传感器设备202,雾设备206或网关210之类的数据源可以自己确定下游数据宿正具有拥塞问题,例如,通过确定消息的积压正在系统存储器中累积。在该示例中,数据源可以使用成本函数来确定最佳消息模式和大小。关于图9-11 进一步描述该示例。
在以下JavaScript对象表示法(JSON)示例中显示了消息模式,SSS, SDS和MDS的示例。如讨论的,SSS在发送的每条消息中支持单个传感器读数或度量。SSS中消息格式的示例是:
Figure BDA0001887298790000071
Figure BDA0001887298790000081
如可以看出的,对于发送的每个数据点,使用了大量的开销信息。第二模式SDS在消息中支持来自单个设备的多个传感器读数。SDS消息的格式示例是:
Figure BDA0001887298790000091
Figure BDA0001887298790000101
Figure BDA0001887298790000111
这种布置更有效,因为对于给定量的开销信息包括更多数据点。MDS 206模式将多个传感器读数和多个设备两者组合成单个消息。因此,MDS 206模式在消息传递打包方面是最有效的,尽管它也是解码最复杂的。MDS 的示例是:
Figure BDA0001887298790000112
Figure BDA0001887298790000121
Figure BDA0001887298790000131
为了测试通过使用模式提供的改进,使用模式和消息大小的变化编码的固定数量的观测来运行实验。每个实验被设计处理480,000个数据观测。该数字基于来自80,000个感测设备的城市规模、真实世界部署的图,每个感测设备包括六个传感器,每分钟发送一条消息。可以注意到,结果扩展到更大和更小的部署。通过减少消息计数并增加有效负载大小,维持每次测试运行所需的数据观测计数。上述三种模式,SSS,SDS和MDS,用于构建有效负载。实验总结在下面的表1至3中。
表1:SSS消息接发实验
Figure BDA0001887298790000132
SDS方法以从1千字节(kB)变化到100kB的有效负载大小分派来自单个感测设备的多个数据观测,如表2中所示。SDS的方法是最大化每个消息中每个感测设备的观测数量。如表中所示,这导致1kB大小的单个消息能够包含每个传感器的两个观测,而100kB消息可以包含每个传感器的386 个观测。
表2:SDS消息接发实验
Figure BDA0001887298790000133
Figure BDA0001887298790000141
MDS方法使用来自位于网关设备或聚合器之外的多个感测设备的多个数据观测,大小从1kB变化到100kB,如表3中所示。MDS方法最大化网关或聚合器之外的设备的数量。如表中所示,1kB消息支持网关之外的一个感测设备,而100kB消息可以支持每个消息180个感测设备。如所述,这是基于每个感测设备六个传感器的约束。
表3:MDS消息接发
Figure BDA0001887298790000142
通过使用触发器,诸如数据源处的消息积压增加或数据宿中的拥塞检测,本文描述的方法可以调整用于将数据从源发送到宿的消息模式。这可以用于优化由基于雾或云的后端处理的数据观测的数量。如关于图3-5描述的测试结果所示,该方法可对最大数据摄取率产生显著影响,例如,在测试环境中看到端到端性能的七倍改进。这是因为与较大有效负载大小相关联的附加解析开销不如增加的消息量惩罚那么重要。结果,可以支持增加的流量或更多的设备。
图3是使用不同消息模式SSS 302、SDS 304和MDS 306获得的等待时间的减少的绘图300。针对左轴308示出发送的消息的数量,并且针对右轴310示出以毫秒(ms)为单位的管道等待时间。
管道等待时间312示出了在480,000传感器观测的固定负载下管道可以处理每个模式的消息的总等待时间。可以在绘图300中清楚地看到改变模式和消息大小的效果。使用更复杂的模式和在每个模式中更大的消息大小在减少消息的总处理时间方面是有效的,如管道等待时间312的减少所指示。当要处理消息的积压或者由传感器事件导致的消息传递的尖峰时,拥塞的IoT网络中的较低的管道等待时间312可以是有帮助的。
更平坦的模式可以更快地单独处理,但这并不能抵消由于消息量更高而导致的惩罚。尽管嵌套模式单独处理较慢,但由于它们包含更多数据,因此使用更少的消息来传输相同数量的观测,因此系统中的管道等待时间 312更低。
为了更快的处理,可以使用诸如SSS 302之类的流线型模式来发送诸如拥塞消息之类的高优先级消息,以缩短处理时间。低优先级消息(诸如常规传感器读数)可以排队并打包到到雾、到云谱的边缘的不同层处的更复杂的模式中。
图4是处理时间和每秒的观测对消息模式和大小的绘图400。类似标记的项如根据图3所描述。左轴402是处理每个单独消息的时间,显示为条的高度,而右轴404是可以由后端系统处理的每秒观测的总数,示为线。绘图400示出了后端系统可以摄取各个数据观测的速度。
尽管处理每个单独消息的时间随着消息变得更加复杂而增加,如由条所指示,但可以处理的每秒观测的数量406增加。通过使用更复杂的模式,可以获得七倍的吞吐量改进。这创建了一种IoT网络,它更容忍设备增长和事件风暴。
图5是不同模式的每秒消息数的绘图500。类似标记的项如根据图2 所描述。左轴502表示每秒的消息数504。右轴506表示网络上的设备数量,显示为条。这是周期性发送消息的网络的示例。在此网络测试中,每个传感器源每分钟发送一次消息,其中包含六个数据观测。
如可以看出,在后端开始发生拥塞之前可以支持的设备数量具有显著的变化,例如,取决于模式,这些测试中的变化高达七倍。因此,这里描述的技术通过动态地改变模式和消息大小来增加响应增长的能力,例如,而不是添加更多的后端容量,从而导致更有效的IoT网络部署。因此,具有调整消息模式的能力的IoT网络可以支持部署设备数量的显著增加,而无需扩展后端。
可以注意到,所使用的模式在用于通过各种通信协议将数据打包成分组的页眉和页脚内。因此,如本文所述,模式选择可以为可以使用的任何协议提供效率改进。
如本文所述,消息模式和大小的改变可以在编排系统中使用,例如,其使用来自数据宿的消息来通知数据源拥塞。所用的率的计算可以如以下程序所示。通过分别参考图6和7描述的方法600和700进一步详细说明该程序。
Figure BDA0001887298790000161
Figure BDA0001887298790000171
在该算法中,对于所有变量,(t)表示当前时间的值,而(t-1)表示先前值,(t+1)表示要使用的下一个值。C(Crate)是网络中的拥塞率。该数字的范围从0到1,其中0表示没有拥塞,1表示服务不可用,例如,在如此高的率下的拥塞,使其充当拒绝服务。可以使用任意数量的技术确定C
例如,IoT设备可以向多个设备发送出跟踪器消息。跟踪器消息和从该多个设备接收的响应之间的时间差可用于确定云中的条件。可以创建包括C的值的拥塞消息,并将其发送到IoT设备以报告用于调整消息模式和大小的网络条件。作为另一示例,可以将C的值设置为吞吐量拥塞水平tc 或缓冲器拥塞水平bc中的较低值。可以针对数据宿将tc计算为响应的当前时间除以来自组件的响应的基线时间的比率。
可以从可用磁盘空间量,消息速率,消息大小或填充缓冲器所需的秒数或其任何组合来计算bc。例如,可以通过使用以下等式计算填充缓冲器所需的秒数n来计算bc:
Figure BDA0001887298790000172
在该等式中,df是以kB为单位的当前可用磁盘空间总数,mk表示以kB为单位的平均消息大小,ms表示如从数据处理管道确定的每秒速率当前消息。在该示例中,可以使用以下等式计算缓冲器拥塞水平bc[n]:
Figure BDA0001887298790000181
在该等式中,dp表示接收组件上的可用磁盘空间百分比,Pthresh是可配置的可用磁盘空间阈值,例如,50%,且使用以下等式计算bcn
Figure BDA0001887298790000182
其中:
Figure BDA0001887298790000183
且dmax表示系统可用的最大磁盘空间。例如,拥塞率C可以被设置为在每个路由的基础上针对数据处理管道中的组件确定的最低值。
C阈值(Cthreshold)是拥塞阈值,低于该变量,可以采用其他方法来管理IoT网络上的流量。拥塞阈值可以静态地或动态地设置,例如,从中心位置周期性地更新。可以在每个设备或每个路由的基础上设置拥塞阈值。例如,在IoT网络具有树和分支结构的情况下,每个分支是具有不同数量的叶设备的不同路由,或者更简单地,数据来自特定源节点。学习算法也可用于设置此阈值。
C’是最后两个拥塞率之间的差量。该值被计算为(C(t)-C(t-1))/C (t-1)。如果C正在减小,则这产生负数,且如果C正在升高,则产生正数。
C’阈值(C’threshold)是C′的可选拥塞率阈值,高于该阈值可以在IoT网络中采取动作。对于C阈值,可以静态地或动态地设置,并且可以在每个设备的基础上或每个路由的基础上设置。学习算法也可用于设置此阈值。
O是在聚合点处处理各个观测的测得的观测率。这是在可配置长度滑动时间窗口中处理的单独数据观测的数量的简单计算。典型的窗口将是 60秒,并且针对这样的窗口,速率将被表达为“观测/秒”。
O阈值是O的可选观测阈值,高于该阈值,消息开始排队,如通过 Crate的增加检测到的,并且低于该阈值,管道正在处理消息而没有任何排队,检测为C=0,或者具有减少的排队,检测为C的减少。可以与C阈值相同的方式静态地或动态地设置O阈值
O’是当前观测率和先前观测率之间的差量。O’被计算为(O(t)-O (t-1))/O(t-1)。如果O正在减小,则这产生负数,且如果O正在升高,则产生正数。
S1-n是要使用哪个模式1到n的指示符。可以使用预定义的模式列表,诸如本文描述的SSS,SDS和MDS。此外,模式可以在由IoT网络管理员维护的动态更新列表中。
M大小(Msize)是IoT网络组件在发送消息时将使用的消息大小(以字节为单位)。M大小_阈值(Msize_threshold)是消息大小变化的可选阈值,低于该阈值时,对发送方设备的消息传递配置文件的任何改变都可以忽略不计。可以与C阈值相同的方式静态地或动态地设置M大小_阈值的值。
M大小_最大(s1-n)(Msize_max(s1-n))和M大小_最小(s1-n)(Msize_min(s1-n))是针对指定模式S,消息被允许增长至的最大和最小大小。相同的范围可以应用于所有模式,或者可以在每个模式的基础上进行设置。
M’大小是IoT网络中的设备正使用的当前消息大小与其先前值之间的差量,被计算为:(M大小(t)-M大小(t-1))/M大小(t-1)。如果M大小正在减小,则这产生负数,且如果M大小正在升高,则产生正数。
图6是用于编排消息模式的方法600的处理流程图。方法600可以由关于图8描述的系统实现。方法600在框602处开始,此时将数据发送到下游设备。在框604处,针对例如在下游设备中的数据宿确定C(t)(Crate(t)),并且在编排消息中将其发送到IoT设备。
在框606处,确定跨宿IoT网络组件的当前拥塞率C(t)是否大于该组件的拥塞阈值C阈值。如果拥塞率低于阈值,则处理流程返回到框602。如果拥塞率高于阈值,则处理流程行进至框608。
在框608处,计算当前拥塞率与先前拥塞率之间的变化C’。在框610 处,确定差异是否大于C’阈值。如果不是,则处理流程返回到框602。如果是,则处理流程行进至框612。
在框612处,计算正在处理观测的当前速率O(t)。在框614处,计算当前观测率和先前观测率之间的差量O’。在框616处,确定当前数据观测率O(t)(Orate(t))和前一个数据观测率O(t-1)(Orate(t-1))之间的差量O’是否大于O阈值。如果不是,则处理流程返回到框602。
如果在框616处,O’大于O阈值(Othreshold),则在框618处,包含O’值的编排消息被发送到上游IoT网络设备,从宿节点的角度来看,该上游 IoT网络设备被指定为源节点。在IoT网络的每个级别上的这种动态排队和消息聚合是我们的发明权利要求之一。一旦发送了消息,就可以确定模式和消息大小,如关于图7所描述的。
图7是用于确定源节点处的模式和消息大小的方法700的处理流程图。方法700可以由关于图8描述的系统实现。方法700在框702处开始,此时源节点接收关于图6描述的O’消息。源节点可以基于致动消息中的O′的值来确定是否需要动作
在框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)。
如果是,则在框710处,确定是否需要新模式。可以通过将当前消息大小和模式与特定模式的消息大小限制进行比较来执行该确定。例如,如果新消息大小M大小(t+1)大于当前模式的最大允许的消息大小, Msize_max(s1-n),或者如果新消息大小小于当前模式的最小允许的消息大小, Msize_min(s1-n),则将选择新模式。处理流程行进至框712以选择模式。
在框712处,由源设备选择新模式S1-n(t+1)。可以静态地设置新模式,基于动态规则集选择新模式,或者基于来自学习算法的模型来选择新模式。在一个示例中,可以通过将等待时间信息与查找表中的信息(诸如表4中的信息)进行比较来选择新模式。
表4:各种消息大小和模式的等待时间测量。
Figure BDA0001887298790000201
Figure BDA0001887298790000211
在框714处,计算用于新模式的消息大小。这可以基于O′的值,使得在拥塞的IoT网络中,新的O将高于旧的O,或者在未拥塞的IoT网络中,新的O将低于宿设备中的旧O。可以使用诸如表4之类的表静态地设置新消息大小,动态地计算新消息大小,或者基于来自学习算法的模型来选择新消息大小。
一旦已经确定了模式和消息大小,则在框716处,源使用该模式和消息大小发送消息。如果模式未被改变,如在框708处所确定的,则使用先前的模式和大小。如果已选择新模式和大小,则源节点调整当前消息大小 M大小(t),以匹配所需的消息大小M大小(t+1)。因此,源节点聚合来自其源设备的传入消息或来自传感器的观测,直到满足消息大小标准。这有效地实现了源设备中的动态微缓冲器。
图8是可以存在于IoT设备800中以控制消息模式选择的组件的框图。类似标记的项如关于图1A和图1B所描述的。IoT设备800可以包括组件的任何组合。这些组件可被实现为IC、IC的多个部分、分立电子器件,或其他模块、逻辑、硬件、软件、固件或适用于IoT设备800中的组合,或作为以其他方式被并入在更大的系统的机架内的组件。图8的框图旨在示出IoT设备800的组件的高级视图。然而,可以省略所示出的组件中的一些组件,附加的组件可以存在,并且所示出的组件的不同布置可发生在其他实现中。IoT设备800可以是交通检测设备、远程气象站、SCADA(监控和数据采集)网络中的可编程逻辑控制器(PLC)或远程终端单元(RTU)、报警系统设备、智能电视、移动电话或如关于图1所讨论的任何数量的其他IoT设备。
如图8中所见,IoT设备800可包括处理器802,该处理器802可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器,或其他已知的处理元件。处理器802可以是芯片上系统(SoC)的部分,在该SoC中,处理器802和其他组件形成到单个集成电路、单个封装或单个电路板中。作为示例,处理器802可包括基于
Figure BDA0001887298790000221
架构酷睿的处理器 (诸如,QuarkTM、AtomTM、i3、i5、i7或MCU类处理器)、或可从加利福尼亚州圣克拉拉市的
Figure BDA0001887298790000222
公司获得的另一此类处理器。然而,可使用其他处理器,诸如,可从加利福尼亚州桑尼威尔市的超微半导体公司(AMD) 获得的处理器、来自加利福尼亚州桑尼威尔市的MIPS技术公司的基于 MIPS的设计、许可自ARM控股有限公司的基于ARM的设计,或从上述各公司的客户、被许可方或采纳方获得的处理器。这些处理器可包括诸如以下单元:来自
Figure BDA0001887298790000231
公司的Ax系列处理器、来自
Figure BDA0001887298790000232
技术公司的骁龙 (Snapdragon)TM处理器或来自德州仪器公司的OMAPTM处理器。
处理器802可以与系统存储器804通信。任何数量的存储器设备可用于提供给定量的系统存储器。例如,用于较小设备的存储器可以包括在处理器芯片中形成的存储区域,例如寄存器组等。在这些设备中,存储器可以在大约32kB和大约512kB之间或更大。
在其他示例中,存储器可以是根据联合电子设备工程委员会(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存储器。
为了提供对信息(诸如,数据、应用、操作系统等)的持久性存储,大容量存储装置806还可耦合至处理器802。大容量存储装置806可以是并入处理器中的闪存或其他可编程存储器,诸如MCU,Quark等,或者内置于SoC系统中。在一些示例中,大容量存储装置806可经由固态盘驱动器 (SSDD)来实现。然而,可以使用一些IoT设备800中的微硬盘驱动器(HDD)来实现大容量存储装置806。此外,附加于或替代所描述的技术,可将任何数量的新技术用于大容量存储装置806,诸如,阻变存储器、相变存储器、全息存储器或化学存储器,等等。例如,IoT设备800可合并来自
Figure BDA0001887298790000241
Figure BDA0001887298790000242
的3D XPOINT存储器。
组件可以通过总线808进行通信。总线808可包括任何数量的技术,包括工业标准架构(ISA)、扩展ISA(EISA)、外围组件互联(PCI)、外围组件互联扩展(PCIx)、PCI快速(PCIe)或任何数量的其他技术。总线808可以是例如在基于SoC的系统中使用的专属总线。可以使用其他总线系统,诸如I2C接口、SPI接口和点对点互连等。
总线808可以将处理器802耦合到用于连接外部设备的接口810。外部设备可以包括传感器812,诸如交通传感器,雷达速度检测器,相机,流量传感器,温度传感器,运动传感器,风速传感器,压力传感器,气压传感器等。接口810可用于将IoT设备800连接到致动器814,诸如交通灯,频闪灯,阀门致动器,锁定螺线管,可听声音发生器,视觉警告设备等。在一些示例中,诸如聚合器和网关,可能不存在接口810,传感器812和致动器814。
虽然未示出,但是各种输入/输出(I/O)设备可以存在于IoT设备800 内或连接到IoT设备800。例如,可以包括显示器以显示信息,诸如传感器读数或致动器位置。输入设备(诸如,触摸屏或小键盘)可被包括以接受输入。
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与云通信。
可以包括各种无线模块的无线电收发机818可以用于与雾122中的 IoT设备通信,每个无线模块可以对应于为特定无线通信协议配置的无线电。例如,无线电收发机818可以包括WLAN单元,该WLAN单元可用于根据电气和电子工程师协会(IEEE)802.11标准实现Wi-FiTM通信。此外,例如根据蜂窝或其他无线广域协议的无线广域通信可经由包括的 WWAN单元而发生。IoT设备800不限于这些类型的无线电收发机,而是可包括任何数量的其他无线电通信装备,诸如与
Figure BDA0001887298790000251
特殊兴趣组 (
Figure BDA0001887298790000252
Special Interest Group)定义的
Figure BDA0001887298790000253
标准兼容的收发机。例如, IoT设备800可根据IEEE 802.15.4标准通过无线个域网(WPAN)进行通信,诸如LoRaWAN收发机等。
在各种示例中,通信设备(包括无线电收发器818或NIC 816或两者) 可用于与雾122中的设备通信。类似地,任一通信设备可用于与云102中的设备通信。
电池820可为IoT设备800供电,但是在其中IoT设备800被安装在固定位置的示例中,该IoT设备800可具有耦合至电网的电源。电池820 可以是锂离子电池、金属-空气电池(诸如,锌-空气电池、铝-空气电池、锂-空气电池),等等。
电池监测器/充电器822可被包括在IoT设备800中以跟踪电池820 的充电状态(SoCh)。电池监测器/充电器822可用于监测电池820的其他参数以提供失效预测,诸如,电池820的健康状态(SoH)和功能状态(SoF)。电池监测器/充电器822可包括电池监测集成电路,诸如,来自线性技术公司(Linear Technologies)的LTC4020或LTC2990、来自亚利桑那州的凤凰城的安森美半导体公司(ON Semiconductor)的ADT7488A、或来自德克萨斯州的德州仪器公司的UCD90xxx族的IC。电池监测器/充电器822可通过总线808将关于电池820的信息传送至处理器802。
功率块824或耦合至电网的其他电源可与电池监测器/充电器822耦合以对电池820充电。在一些示例中,功率块824可用无线功率接收机替代以便例如通过IoT设备800中的环形天线来无线地获取功率。电池充电电路(诸如,来自加利福尼亚州的苗比达市的线性技术公司的LTC4020芯片,等等)可被包括在电池监测器/充电器822中。所选择的特定的充电电路取决于电池820的尺寸,并因此取决于所需的电流。可使用由无线充电联盟(AirfuelAlliance)颁布的Airfuel标准、由无线电力协会(Wireless Power Consortium)颁布的Qi无线充电标准、由无线电力联盟(the Alliance for Wireless Power)颁布的Rezence充电标准,等等执行充电。
大容量存储装置806可包括多个模块以实现本文描述的模式控制。尽管示出为软件模块,但是模块可被实现为硬件块,例如,在IoT设备800 中包括的专门的专用集成电路(ASIC)中。模块可以包括拥塞监测器826,其向下游设备发送跟踪器消息以确定当前网络拥塞率。拥塞监测器还可以从下游设备接收拥塞消息,其中拥塞消息包括数据宿的拥塞率。
编排控制器828可以使用从下游设备接收的拥塞率,例如,在IoT设备800中确定的或从其他设备接收的,以确定是否向上游设备发送编排消息。该确定可以通过关于图6和图7描述的技术来执行。
编排控制器828还可以从下游设备接收编排消息,指示处理的观测的速率已经改变。如果是,则编排控制器828可以指示模式选择器830为消息分派器832选择新消息大小,并且如果需要,则选择新模式。如果否,则编排控制器828可以指示消息分派器继续使用当前模式和消息大小。
消息分派器832可以使用所选择的模式和消息大小来将数据存储834 中保存的数据打包成聚合数据消息。然后可以将聚合数据消息分派给设备,例如,通过NIC 816到云102。
IoT设备800不限于所示的单元,因为可以存在其他单元。例如,数据积压转移控制器可以用于在网络容量问题期间转移已经在数据存储834 中建立的消息。例如,代替在恢复通信时立即尝试发送积压消息,数据积压转移控制器可以使用多种算法递增地发送消息。这些可以包括后进先出 (LIFO)算法,先进先出(FIFO)算法或者随机采样算法。此外,可以扩充数据积压转移控制器以优先化具有较高熵的消息。熵可以包括相比旧的被视为更有价值的最近的观测。此外,大容量存储装置806可以包括用于执行图9的方法900的模块,从而创建混合设备。例如,大容量存储装置 806可以包括关于图11描述的模块,诸如流量监测器1102、成本函数计算器1104、模式管理器1106和模式分派器1108等。
对消息模式和大小的控制不限于使用编排(例如,基于拥塞消息)来确定模式的设备。如本文所述,可以在闭环系统中选择消息模式和大小,其中数据源使用成本函数哎确定最佳模式和大小。关于图9进一步讨论该动态控制。
图9是可以用于消息模式的动态控制的方法900的框图。方法900可以由关于图11描述的系统实现。方法900开始于框902,观测网络数据流以确定每设备入站流量负载。
在904处,生成成本函数并用于选择消息模式和大小。在决定使用什么模式时,可以考虑许多因素。如本文所述,成本函数可以考虑正在发送的内容以及正在接收的流量。这使得模式能够由发送节点在本地标识。
在框906处,选择模式,并确定大小。这可能包括不改变当前模式或消息大小。在框908处,使用所选择的模式和消息大小生成消息。
在框910处,将消息分派到网络上。可以使用消息分派来更新成本函数参数,例如,发送时间,传送时间等,从而创建反馈循环。
在IoT网络中的设备上实现闭环系统,允许设备跟踪它们自己的入口和出口流量。使用闭环系统,设备自动调整用于将数据从数据源(诸如传感器)发送到数据宿(诸如雾节点,网关,云中的设备等)的消息模式。然后,数据源可以优化将数据观测发送到基于雾或云的后端进行处理的速率。
观测每个设备上的数据流,以在每个设备的基础上确定来自入站流量的流量状态值。在决定发送什么时会考虑许多因素。成本函数包括设备正在发送的内容以及当前正在接收的流量,以及提高准确性的优先级。所用的率的计算可以如以下程序所示。通过关于图10描述的方法1000进一步详述该程序。
Figure BDA0001887298790000271
Figure BDA0001887298790000281
对于所有变量,(t)表示当前时间的值,而(t-1)表示先前值,(t +1)表示要使用的下一个值。O_in速率(O_inrate)是入站数据的单独观测到达网络中的设备的速率。这是在可配置滑动时间窗口中处理的单独数据观测的数量的计算。例如,窗口可以是60秒时段,并且O_in速率将被表达为这样的窗口的“观测/秒”。
O_in’是入站流量的当前观测率与先前观测率之间的差量,被计算为 O_in速率(t)-O_in速率(t-1))/O_in速率(t-1)。如果O_in速率正在减小,则这产生负数,且如果O_in速率正在升高,则产生正数。
O_in’阈值(O_in’threshold)是可选阈值,低于该阈值时不采取行动。阈值可以静态地或动态地设置,例如,从中心位置周期性地更新。此外,可以基于每个设备或基于每个路由来设置阈值,其中如果IoT网络具有树和分支结构,则每个分支是具有不同数量的叶节点的不同路由。机器学习算法可用于设置阈值。
Opermsg是每条消息的观测。这是消息中的数据观测数的平均值,但可以通过模式和消息大小进行细分,如表4所示。
O阈值是对于给定模式和消息大小,设备可以支持的最大吞吐量。这是可以随时间变化的平均值,并且通过监测业务流来设置,例如,如关于图9所描述的。它最初可以设置为静态值。
S1-n是1到n个模式的列表。该列表可以是预定义的,或者可以是由 IoT网络管理员维护的动态更新列表。可以使用关于图2描述的模式,SSS, SDS和MDS。消息大小可以从1kb到100kb。
M大小是IoT网络组件在发送消息时将使用的消息大小(以字节为单位)。Msize_max(S1-n)和Msize_min(S1-n)分别是指定模式S1-n的消息的最大阈值和最小阈值。相同的范围可以应用于所有模式,或者可以在每个模式的基础上进行设置。消息大小可以从离散的一组值中选择,诸如表4中所示的,或者可以在收集性能反馈时随时间计算。
Cost_S1-n是使用大小为M大小的模式1到n的成本函数。成本函数是相同模式类型和消息大小的观测样本SO1-n过渡通过IoT网络设备花费的平均时间。这包括将数据从一种模式类型重新打包到另一种模式类型可能花费的任何时间惩罚。它被定义为:
Figure BDA0001887298790000291
L_S1-nM大小是使用特定模式S1-n和特定消息大小M大小的消息的等待时间(L)。这是通过对通过IoT网络设备的消息的选择进行采样来计算的。
图10是用于动态地控制数据源中的消息模式和大小的方法1000的框图。方法1000可以由关于图11描述的系统实现。当IoT设备具有要发送到下游设备的数据时,方法1000开始于框1002。
在框1004处,计算数据观测到达IoT网络设备的当前速率O_in速率(t)。在框1006处,计算入站流量的当前观测率和先前观测率之间的差量O_in’。
在框1008处,确定当前数据观测率O_in速率和前一个数据观测率之间的改变是否大于O’阈值。这确定设备上的负载是否正在增加,O’>0,并且设备上的负载是否大于该模式类型和大小的最大可支持吞吐量平均值。
如果是,则在框1010处,计算成本函数以确定是否应应用新模式或消息大小。成本函数构建并维护模型,在每个设备的基础上填充和存储该模型的值,如表4所示。模型中的数据通知成本函数。当前模式的成本被确定为Cost_S1-n(t)为O_in速率*L_s1-nM大小。如所述,L_s1-nMsize是使用当前消息模式和大小的当前消息量的等待时间成本。
如果设备上的负载正在减少,O’<0,并且设备上的负载小于该模式类型和大小的最大可支持吞吐量平均值(表示为O阈值),O_in速率<O阈值,则当前模式的成本Cost_S1-n(t)以相同方式被确定,O_in速率*L_s1-nM大小
如果O_in速率=O阈值,则不对速率进行改变。例如,成本函数不会从上一次迭代改变,并且将使用相同的模式和消息大小。可以注意到,这些技术不限于针对阈值示出的关系。在一些示例中,阈值可以是下限或上限,并且可以通过监管问题来设置。
框1012表示关于新模式或消息大小的成本是否小于当前模式或消息大小的成本的确定。通过循环遍历所有可能的模式和消息大小来执行确定,这些模式和消息大小具有可以满足当前负载(O_in速率)的0阈值,以找到最便宜的模式和消息大小,例如,具有最低成本函数的模式和消息大小,如关于框1014至1020所描述的。
在框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。
在框1024处,使用所选择的模式和消息大小发送消息。如果没有其他模式和大小组合导致较低的成本,则可以使用当前模式和消息大小组合来执行此操作。在框1026处,对当前消息模式和大小的等待时间(表示为 L_S1-nM大小)进行采样以更新统计信息,例如,如表4中所存储的。这包括更新消息中包含的平均观测数量,表示为Opermsg,以及正由设备发送的观测的速率,表示为O阈值
在框1028处,可以使用从对消息流进行采样而获得的等待时间和其他值来更新当前模式和消息大小组合的成本函数。随后处理流程返回至框 1004。
图11是可被用于从发送方设备动态控制模式的系统1100的框图。类似标记的项如关于图1和图8所描述的。在该示例中,大容量存储装置1106 可以包括多个模块以实现这里描述的闭环消息模式控制。这些模块可包括流量监测器1102,以观测网络上的数据流,以基于每个设备确定来自入站数据流量的流量状态值。
成本函数计算器1104可计算当前模式和消息大小的成本函数。此外,成本函数计算器1104可迭代通过一组可能的成本和消息大小组合以确定不同的模式和消息大小是否具有比当前成本和消息大小低的成本函数。如果是,则成本函数计算器1104可指示模式管理器1106为模式分派器1108选择新模式和消息大小。如果否,则成本函数计算器1104可指示模式管理器 1106继续使用当前模式和消息大小。
模式分派器1108可以使用所选择的模式将数据存储1110中保存的数据打包成聚合数据消息。然后可以将聚合数据消息分派给设备,例如,通过NIC 1116到云102。
IoT设备1100不限于所示的单元,因为可以存在其他单元。例如,可以存在用于实现编排的模式控制系统和闭环模式控制系统两者的模块,从而形成混合系统。例如,大容量存储装置806可以包括关于图8描述的模块,包括拥塞监测器826、编排控制器828、模式选择器830和消息分派器832等。这些模块可允许IoT设备1100执行关于图6和图7描述的方法600和700。在该示例中,模式控制可以是自适应的。例如,IoT设备1100 可以在接收到拥塞消息时使用编排系统,并且在网络拥塞被数据源感测到时使用闭环系统。
还可以包括其他单元,诸如数据积压转移控制器可以用于在网络容量问题期间转移已经在数据存储1110中建立的消息。例如,代替在恢复通信时立即尝试发送积压消息,数据积压转移控制器可以使用多种算法递增地发送消息。这些可以包括后进先出(LIFO)算法,先进先出(FIFO)算法或者随机采样算法。此外,可以扩充数据积压转移控制器以优先化具有较高熵的消息。熵可以包括相比旧的被视为更有价值的最近的观测。可以使用当前模式和消息大小发送积压消息。
图12是包括包含指令的非瞬态计算机可读介质1200的框图,所述指令在被执行时指示处理器1202通过编排控制消息模式。处理器1202通过总线1204与非瞬态计算机可读介质1200通信。处理器1202和总线1204 可以如关于图8的处理器802和总线806所描述的。非瞬态计算机可读介质1200可以包括代码1206,用于指示处理器1202确定拥塞率,例如,通过向下游单元或数据宿发送跟踪器消息,然后测量返回消息的响应时间。响应时间可用于计算拥塞率。代码块1206可以指示处理器将包括拥塞率的拥塞消息发送到上游设备或数据源,以允许上游设备确定消息大小或模式中是否需要改变。
可以包括代码块1208以指示处理器1202确定从下游设备接收的拥塞率是否应该导致上游设备处的消息大小或模式的改变。这可以根据关于图6 描述的方法600来执行。
可以包括代码块1210以指示处理器1202向上游设备或数据源发送编排消息,以控制它们对消息大小和模式的选择。编排消息可包括观测正在由数据宿处理的当前速率与观测曾在由数据宿处理的先前速率之间的差量。
可以包括代码块1212以指示处理器1202选择新消息大小。还可以包括代码块1214以指示处理器1202选择新模式,例如,如果新大小在当前模式的大小阈值之外的话。代码块1212和1214可以使用关于图7描述的方法700。
可以包括代码块1216以指示处理器1202将数据聚合成消息,例如,基于所选择的消息模式和大小。可以包括代码块1218以指示处理器1202 将聚合数据消息发送到数据宿。
非瞬态计算机可读介质1200不限于所示的代码块1206-1218,而是可以包括任何数量的其他代码块以实现诸如操作系统,数据收集,网状网络等的功能。例如,非瞬态计算机可读介质1200可以包括关于图13描述的代码块,从而提供能够执行消息模式的两种控制类型的混合系统。
图13是包括包含指令的非瞬态计算机可读介质1300的框图,所述指令在被执行时指示处理器1302执行对消息模式的闭环控制。处理器1202 通过总线1204与非瞬态计算机可读介质1200通信。处理器1302和总线1304 可以如关于图8的处理器802和总线806所描述的。
非瞬态计算机可读介质1300可以包括代码块1306以指示处理器确定传入消息速率。可以包括代码块1308以指示处理器1302确定速率变化。可以包括代码块1310以指示处理器1302确定消息模式和大小的成本函数。可以包括代码块1312以指示处理器1302选择消息模式和大小,例如,通过迭代消息模式和大小的多个可能组合来确定具有当前条件的最低成本函数的消息模式和大小。可以包括代码块1314以指示处理器1302将数据聚合成消息,例如,基于所选择的消息模式和大小。可以包括代码块1316以指示处理器1302将聚合消息发送到数据宿。可以包括代码块1318以指示处理器1302测量和更新流量统计信息,例如,通过对接收和发送的消息的数据速率进行采样。
非瞬态计算机可读介质1300不限于所示的代码块1306-1318,而是可以包括任何数量的其他代码块以实现诸如操作系统,数据收集,网状网络等的功能。例如,非瞬态计算机可读介质1300可以包括关于图12描述的代码块,从而提供能够执行消息模式的两种控制类型的混合系统。
示例
示例1提供一种用于使用消息模式进行通信的装置,包括物联网 (IoT)设备,包括:通信设备,用于在所述IoT设备和其他设备之间进行通信。编排控制器接受来自下游设备的编排消息。模式选择器至少部分地基于所述编排消息调整消息大小。消息分派器根据当前模式将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
示例2包括示例1的主题。在该示例中,如果消息大小大于当前消息模式的最大阈值,或者小于当前消息模式的最小阈值,则模式选择器用于选择新模式。
示例3包括示例1或3中任一项的主题。在该示例中,所述消息模式包括单个样本模式(SSS),单个设备模式(SDS)或多个设备模式(MDS)。
示例4包括示例1到3中任一项的主题。在该示例中,所述通信设备包括无线电收发机,或网络接口控制器,或两者。
示例5包括示例1到4中任一项的主题。在该示例中,该装置包括符合电气和电子工程师协会(IEEE)802.15.4标准的无线电收发机。
示例6包括示例1到5中任一项的主题。在该示例中,编排消息包括数据宿正在处理观测的当前速率与数据宿曾在处理观测的先前速率之间的差量。
示例7包括示例1到6中任一项的主题。在该示例中,该装置包括拥塞监测器,用于向上游设备发送拥塞消息,其中所述拥塞消息包括所述数据宿的拥塞率。
示例8包括示例1到7中任一项的主题。在该示例中,该装置包括拥塞监测器,用于将跟踪器消息发送到多个数据宿中的每一个。拥塞监测器至少部分地基于响应和跟踪器消息之间的时间差来确定每个数据宿的拥塞率。拥塞监测器生成拥塞消息。
示例9包括示例1到8中任一项的主题。在该示例中,该装置包括将 IoT设备耦合到传感器或致动器或两者的接口。
示例10包括示例1到9中任一项的主题。在该示例中,该装置包括设备雾。
示例11包括示例1到10中任一项的主题。在该示例中,该装置包括设备雾,其包括聚合器以使用该模式将多个数据点组装成消息。
示例12包括示例1到11中任一项的主题。在该示例中,该装置包括专用集成电路(ASIC),其包括编排控制器,模式选择器或消息分派器,或其任意组合。
示例13包括示例1到12中任一项的主题。在该示例中,IoT设备包括流量监测器,用于从IoT设备中的入站数据流量确定流量状态值。成本函数计算器迭代多个可能的模式和消息大小组合,以确定不同的模式和消息大小组合是否具有低于当前模式和消息大小组合的成本函数。模式分派器将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
示例14包括示例13的主题。在该示例中,该装置包括模式管理器,用于至少部分地基于成本函数选择新模式和消息大小组合。模式分派器根据新模式和消息大小组合将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
示例15包括示例1到14中任一项的主题。在该示例中,该装置包括专用集成电路(ASIC),其包括成本函数计算器、模式分派器、模式管理器、或其任意组合。
示例16提供一种用于在物联网(IoT)设备中选择消息模式的方法,包括从下游设备接收编排消息。至少部分地基于所述编排消息针对当前模式计算新消息大小。使用新消息大小和当前模式发送数据消息。
示例17包括示例16的主题。在该示例中,该方法包括确定新消息大小是否大于当前模式的最大大小或小于当前模式的最小大小。如果是,则至少部分地基于新消息大小选择新模式。使用新消息大小和新模式发送数据消息。
示例18包括示例17的主题。在该示例中,该方法包括至少部分地基于查找表选择新模式,所述查找表包括多个模式中的每个模式的大小、所述多个模式中的每个模式的等待时间、以及所述多个模式中的每个模式的测得的观测率。
示例19包括示例16到18中任一项的主题。在该示例中,该方法包括确定拥塞率是否大于拥塞率阈值。计算拥塞率的变化;以及确定拥塞率的变化是否大于变化阈值。
示例20包括示例19的主题。在该示例中,该方法包括计算观测正被处理的观测率。计算观测正被处理的当前速率与观测曾被处理的先前速率之间的差量。如果该差量大于观测阈值,则创建编排消息,并发送编排消息。编排消息包括该差量。
示例21包括示例19的主题。在该示例中,该方法包括将跟踪器消息发送到多个数据宿中的每一个。至少部分地基于响应和跟踪器消息之间的时间差来确定该多个数据宿中的每一个的拥塞率。针对数据宿上的一个,发送包括拥塞率的拥塞消息。
示例22包括示例20的主题。在该示例中,该方法包括在IoT设备中接收编排消息。
示例23包括示例16到22中任一项的主题。在该示例中,该方法包括通过计算多个模式和消息大小组合中的每一个的成本函数来确定新模式或消息大小的成本函数是否小于当前模式或消息大小的成本函数,以及确定该多个模式和消息大小组合之一的成本函数是否低于当前模式和消息大小组合。
示例24包括示例23的主题。在该示例中,该方法包括确定所述多个模式和消息大小组合之一的成本函数低于当前模式和消息大小组合;以及用较低成本函数的模式和消息大小组合更新所述当前模式和消息大小组合。
示例25包括示例23的主题。在该示例中,该方法包括使用当前模式和消息大小组合发送数据消息。
示例26包括示例23的主题。在该示例中,该方法包括计算数据观测正在到达的当前速率。计算在入站流量的当前速率和先前观测速率之间的差量。确定差量是否大于速率阈值。如果是,则搜索具有小于当前模式和消息大小组合的成本函数的成本函数的新模式和消息大小组合。
示例27包括示例23的主题。在该示例中,该方法包括对使用当前模式和消息大小组合发送的消息进行采样以确定等待时间值;以及更新当前模式和消息大小组合的统计信息。
示例28提供一种非瞬态计算机可读介质,包括包含指令,所述指令在被执行时指示处理器:确定消息大小或模式中是否需要改变,以及将编排消息发送到物联网设备以改变消息大小、模式或两者。
示例29包括示例28的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:调整消息大小,确定消息大小是否高于当前模式的最大大小阈值,或低于当前模式的最小大小阈值。如果是,则包括指令以选择新模式。
示例30包括示例28或29中任一项的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:根据消息大小模式和模式聚合传入消息以形成聚合消息;以及将所述聚合消息发送到数据宿。
示例31包括示例28到30中任一项的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:将跟踪器消息发送到多个数据宿中的每一个,以及至少部分地基于响应和跟踪器消息之间的时间差确定该多个数据宿中的每一个的拥塞率。包括指令以指示处理器将包括拥塞率的拥塞消息发送到上游设备。
示例32包括示例28到31中任一项的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:计算多个消息模式和大小组合中的每一个的成本函数,以及标识具有比当前消息模式和大小组合低的成本函数的新消息模式和大小组合。包括指令以指示所述处理器用所述新消息模式和大小组合替换所述当前消息模式和大小组合。
示例33包括示例32的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:确定进入的观测率,以及确定所述传入观测率的速率变化。
示例34包括示例32的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:根据当前消息模式和大小组合聚合传入消息以形成聚合消息;以及将所述聚合消息发送到数据宿。
示例35包括示例32的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:对使用当前消息模式和大小组合发送的消息进行采样;以及更新当前消息模式和大小组合的流量统计信息。
示例36提供一种用于使用消息模式进行通信的装置,包括物联网 (IoT)设备,包括:通信设备,用于在所述IoT设备和其他设备之间进行通信,以及用于至少部分地基于来自下游设备的编排消息调整模式的消息大小的装置。消息分派器根据当前模式将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
示例37包括示例36的主题。在该示例中,该装置包括用于至少部分地基于消息大小选择新模式的装置。
示例38包括示例36或37中任一项的主题。在该示例中,该装置包括用于从正在处理观测的速率确定编排消息的装置。
示例39包括示例36到38中任一项的主题。在该示例中,该装置包括用于确定多个数据宿的拥塞率的装置。
示例40包括示例36到39中任一项的主题。在该示例中,该装置包括用于使用该模式将多个数据点聚合成消息的装置。
示例41包括示例36到40中任一项的主题。在该示例中,IoT设备包括流量监测器,用于从IoT设备中的入站数据流量确定流量状态值,以及用于至少部分地基于成本函数计算来计算选择模式和消息大小组合的装置。模式分派器将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
示例42提供一种非瞬态机器可读介质,包括包含指令,所述指令在被执行时指示节点中的处理器执行示例16到27的方法中的任一项。
示例43提供一种装置,该装置包括用于执行示例16到27的方法中的任一项的装置。
示例44提供一种用于使用消息模式进行通信的装置,包括物联网 (IoT)设备,包括:通信设备,用于在所述IoT设备和其他设备之间进行通信。流量监测器从IoT设备中的入站数据流量确定流量状态值。成本函数计算器迭代一组可能的模式和消息大小组合,以确定不同的模式和消息大小组合是否具有低于当前模式和消息大小组合的成本函数。如果否,则模式分派器根据当前模式和消息大小组合将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
示例45包括示例44的主题。在该示例中,该装置包括模式选择器,用于如果所述成本函数低于所述当前模式和消息大小组合则选择新模式和消息大小组合。模式分派器根据新模式和消息大小组合将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
示例46包括示例44或45中任一项的主题。在该示例中,所述消息模式包括单个样本模式(SSS),单个设备模式(SDS)或多个设备模式 (MDS)。
示例47包括示例44到46中任一项的主题。在该示例中,所述通信设备包括无线电收发机,或网络接口控制器,或两者。
示例48包括示例47的主题。在该示例中,该无线电收发机包括符合电气和电子工程师协会(IEEE)802.15.4标准的无线电。
示例49包括示例44到48中任一项的主题。在该示例中,该装置包括将IoT设备耦合到传感器或致动器或两者的接口。
示例50包括示例44到49中任一项的主题。在该示例中,该装置包括设备雾。
示例51包括示例50的主题。在该示例中,该设备雾包括聚合器以使用该模式将多个数据点组装成消息。
示例52包括示例44到51中任一项的主题。在该示例中,该装置包括专用集成电路(ASIC),其包括成本函数计算器、模式分派器、模式管理器、或其任意组合。
示例53包括示例44到52中任一项的主题。在该示例中,该装置包括编排控制器,用于接受来自下游设备的编排消息。模式选择器至少部分地基于所述编排消息调整消息大小。消息分派器根据当前模式将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
示例54包括示例53的主题。在该示例中,如果消息大小大于当前模式的最大阈值,或者小于当前模式的最小阈值,则模式选择器用于选择新模式。
示例55包括示例53的主题。在该示例中,编排消息包括数据宿正在处理观测的当前速率与数据宿曾在处理观测的先前速率之间的差量。
示例56包括示例53的主题。在该示例中,该装置包括拥塞监测器,用于向上游设备发送拥塞消息,其中所述拥塞消息包括所述数据宿的拥塞率。
示例57包括示例53的主题。在该示例中,所述装置包括拥塞监测器,用于将跟踪器消息发送到多个数据宿中的每一个,以及至少部分地基于响应和跟踪器消息之间的时间差确定该多个数据宿中的每一个的拥塞率。生成拥塞消息。
示例58包括示例53的主题。在该示例中,该装置包括专用集成电路 (ASIC),其包括编排控制器,模式选择器或消息分派器,或其任意组合。
示例59提供一种用于在物联网(IoT)设备中选择消息模式的方法,包括:通过计算多个模式和消息大小组合中的每一个的成本函数来确定新模式和消息大小的成本函数是否小于当前模式和消息大小的成本函数,以及确定该多个模式和消息大小组合之一的成本函数是否低于当前模式和消息大小组合。
示例60包括示例59的主题。在该示例中,该方法包括确定所述多个模式和消息大小组合之一的成本函数低于当前模式和消息大小组合;以及用较低成本函数的模式和消息大小组合更新所述当前模式和消息大小组合。
示例61包括示例59或60中任一项的主题。在该示例中,该方法包括使用当前模式和消息大小组合发送数据消息。
示例62包括示例59到61中任一项的主题。在该示例中,该方法包括计算数据观测正在到达的当前速率。计算在入站流量的当前观测率和先前观测率之间的差量。确定该差量是否大于速率阈值,并且如果是,则确定新模式和消息大小组合的成本函数是否小于当前模式和消息大小组合的成本函数。
示例63包括示例59到62中任一项的主题。在该示例中,该方法包括对使用当前模式和消息大小组合发送的消息进行采样以确定等待时间值;以及更新当前模式和消息大小组合的统计信息。
示例64包括示例63到63中任一项的主题。在该示例中,该方法包括其中更新统计信息包括更新消息中包含的平均观测数量,以及更新正由设备发送的观测的速率。
示例65包括示例59到64中任一项的主题。在该示例中,该方法包括从下游设备接收编排消息;以及至少部分地基于所述编排消息计算当前模式的新消息大小。使用新消息大小和当前模式发送数据消息。
示例66包括示例65的主题。在该示例中,该方法包括确定新消息大小是否大于当前模式的最大大小或小于当前模式的最小大小。如果是,则至少部分地基于新消息大小选择新模式。使用新消息大小和新模式发送数据消息。
示例67包括示例66的主题。在该示例中,该方法包括至少部分地基于查找表选择新模式,所述查找表包括该多个模式中的每个模式的大小、所述多个模式中的每个模式的等待时间、以及所述多个模式中的每个模式的测得的观测率。
示例68包括示例65的主题。在该示例中,该方法包括:确定拥塞率是否大于拥塞率阈值;计算拥塞率的变化;以及确定拥塞率的变化是否大于变化阈值。
示例69包括示例68的主题。在该示例中,该方法包括计算观测正被处理的观测率;以及计算观测正被处理的当前速率与观测曾被处理的先前速率之间的差量。如果该差量大于观测阈值,则创建并发送编排消息。编排消息包括该差量。
示例70包括示例68的主题。在该示例中,该方法包括将跟踪器消息发送到多个数据宿中的每一个,以及至少部分地基于响应和跟踪器消息之间的时间差确定数据宿中的每一个的拥塞率。针对数据宿之一,发送包括拥塞率的拥塞消息。
示例71提供一种非瞬态计算机可读介质,包括包含指令,所述指令在被执行时指示处理器计算多个消息模式和大小组合中的每一个的成本函数。包括指令以指示所述处理器标识具有比当前消息模式和大小组合低的成本函数的新消息模式和大小组合,以及用所述新消息模式和大小组合替换所述当前消息模式和大小组合。
示例72包括示例71的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:确定传入观测率,以及确定所述传入观测率的速率变化。
示例73包括示例71或72中任一项的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:根据当前消息模式和大小组合聚合传入消息以形成聚合消息;以及将所述聚合消息发送到数据宿。
示例74包括示例71到73中任一项的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:对使用当前消息模式和大小组合发送的消息进行采样;以及更新当前消息模式和大小组合的流量统计信息。
示例75包括示例71到74中任一项的主题。在该示例中,该非瞬态计算机可读介质,包括包含指令,所述指令在被执行时指示处理器:确定消息大小或模式中是否需要改变,以及将编排消息发送到物联网设备以改变消息大小、模式或两者。
示例76包括示例75的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:调整消息大小,以及确定消息大小是否高于当前模式的最大大小阈值,或低于当前模式的最小大小阈值。包括指令以指示所述处理器选择新模式。
示例77包括示例75的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:根据消息大小和当前模式聚合传入消息以形成聚合消息;以及将所述聚合消息发送到数据宿。
示例78包括示例75的主题。在该示例中,所述非瞬态计算机可读介质包括包含指令,所述指令在被执行时指示所述处理器:将跟踪器消息发送到多个数据宿中的每一个,至少部分地基于响应和跟踪器消息之间的时间差确定该多个数据宿中的每一个的拥塞率,以及将包括拥塞率的拥塞消息发送到下游设备。
示例79提供一种用于使用消息模式进行通信的装置,包括物联网 (IoT)设备,包括:通信设备,用于在所述IoT设备和其他设备之间进行通信。流量监测器从IoT设备中的入站数据流量确定流量状态值。包括用于选择模式和消息大小组合的装置。模式分派器根据模式和消息大小组合将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
示例80包括示例79的主题。在该示例中,该装置包括编排控制器,用于接受来自下游设备的编排消息。包括用于至少部分地基于所述编排消息调整消息大小的装置。消息分派器根据当前模式将数据聚合到聚合数据消息中,并将聚合数据消息发送到数据宿。
示例81包括示例80的主题。在该示例中,该装置包括用于至少部分地基于消息大小选择新模式的装置。
示例82包括示例80的主题。在该示例中,该装置包括用于确定数据宿的拥塞率的装置。
示例83包括示例82的主题。在该示例中,该装置包括用于至少部分地基于拥塞率来确定是否需要编排消息的装置。
示例84提供一种非瞬态机器可读介质,包括包含指令,所述指令在被执行时指示节点中的处理器执行示例59到70的方法中的任一项。
示例85提供一种装置,该装置包括用于执行示例59到70的方法中的任一项的装置。
一些实施例可在硬件、固件和软件中的一者或组合中实现。一些实施例还可被实现为存储在机器可读介质上的指令,其可由计算平台读取和执行,以执行本文所述的操作。机器可读介质可以包括用于存储或传送机器 (例如,计算机)可读形式的信息的任何机制。例如,机器可读介质可包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号或传送和/或接收信号的接口等)等等。
实施例是实现或示例。说明书中对“实施例”、“一个实施例”、“一些实施例”、“各种实施例”或“其他实施例”的引用表示结合这些实施例而描述的特定特征、结构、或特性被包括在本发明的至少一些实施例中,而不一定在所有的实施例中。“实施例”、“一个实施例”、“一些实施例”的各自出现不一定都指代相同的实施例。一个实施例的元件或方面可与另一个实施例的元件或方面组合。
并非本文中描述和示出的所有组件、特征、结构、特性等等都需要被包括在特定实施例或多个实施例中。例如,当说明书陈述“可”、“可以”、“能”、或“能够”包括组件、特征、结构、或特性时,不一定包括该特定组件、特征、结构、或特性。如果说明书或权利要求书提到“一”或“一个”元件,则这并不意味着仅有一个该元件。如果说明书或权利要求书引用“附加的”元件,则不排除有一个以上该附加的元件。
要注意的是,虽然参考特定实现方式描述了一些实施例,但根据一些实施例,其他实现方式也是可能的。另外,附图中所示的和/或本文描述的电路元件或其它特征的配置和/或顺序不必以所示和所描述的特定方式安排。根据某些实施例,其他许多配置也是可能的。
在附图中示出的每个系统中,在一些情形下的每个元件可具有相同或不同的附图标记,表明所表示的元件可能不同和/或相似。但是,元件可以足够灵活,具有不同的实现方式,并与本文所示或所述的一些或所有系统一起操作。附图中所示的各元件可以相同或不同。将哪个称为第一元件以及将哪个称为第二元件是任意的。
本技术不限于本文列举的特定细节。的确,受益于本公开的本领域技术人员将理解可在本技术的范围内进行来自前述描述和附图的许多其他变体。相应地,以下权利要求包括限定技术范围的任何修改。

Claims (23)

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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2016/040511 WO2018004621A1 (en) 2016-06-30 2016-06-30 Message schema control

Publications (2)

Publication Number Publication Date
CN109219942A CN109219942A (zh) 2019-01-15
CN109219942B true CN109219942B (zh) 2022-10-28

Family

ID=60787540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680086322.XA Active CN109219942B (zh) 2016-06-30 2016-06-30 控制消息模式的方法及装置

Country Status (4)

Country Link
US (1) US11019151B2 (zh)
EP (1) EP3479530B1 (zh)
CN (1) CN109219942B (zh)
WO (1) WO2018004621A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018004621A1 (en) 2016-06-30 2018-01-04 Intel Corporation Message schema control
WO2018100683A1 (ja) * 2016-11-30 2018-06-07 株式会社オプティム コンピュータシステム、エッジデバイス制御方法及びプログラム
JP6856870B2 (ja) * 2017-04-13 2021-04-14 富士通株式会社 分散データ管理プログラム、分散データ管理方法、及び分散データ管理装置
US20180316555A1 (en) * 2017-04-29 2018-11-01 Cisco Technology, Inc. Cognitive profiling and sharing of sensor data across iot networks
TWI663861B (zh) * 2017-06-21 2019-06-21 友訊科技股份有限公司 利用onvif標準傳輸訊息以辨識出網路攝影機並提昇傳輸品質之方法
CN110708234B (zh) * 2019-09-24 2022-05-17 深圳证券交易所 消息发送的处理方法、消息发送的处理装置及存储介质
CN111314349B (zh) * 2020-02-19 2021-11-12 东南大学 雾无线接入网中基于联合最大距离可分码与簇协作的编码缓存方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984133B2 (en) * 2007-06-19 2015-03-17 The Invention Science Fund I, Llc Providing treatment-indicative feedback dependent on putative content treatment
US8145780B2 (en) * 2007-10-19 2012-03-27 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US9154329B2 (en) * 2009-06-05 2015-10-06 At&T Intellectual Property I, Lp Methods and apparatus to selectively assign routing tables to router linecards
US20120026938A1 (en) 2010-07-30 2012-02-02 Cisco Technology, Inc. Applying Policies to a Sensor Network
US20140149572A1 (en) * 2012-11-28 2014-05-29 Microsoft Corporation Monitoring and diagnostics in computer networks
US10587505B1 (en) * 2012-12-27 2020-03-10 Sitting Man, Llc Routing methods, systems, and computer program products
EP3709730A1 (en) * 2013-01-16 2020-09-16 Interdigital Patent Holdings, Inc. Discovery signal generation and reception
EP3005660B1 (en) * 2013-05-28 2019-10-23 Convida Wireless, LLC Data aggregation
WO2015094288A1 (en) * 2013-12-19 2015-06-25 Intel Corporation Method and apparatus for communicating between companion devices
US10164772B2 (en) * 2014-05-30 2018-12-25 Apple Inc. Permutation composition based hash function
DK3214801T3 (en) * 2014-06-30 2018-12-17 Ericsson Telefon Ab L M Aggregation of congestion information
US10644950B2 (en) 2014-09-25 2020-05-05 At&T Intellectual Property I, L.P. Dynamic policy based software defined network mechanism
WO2016081910A1 (en) 2014-11-21 2016-05-26 Huawei Technologies Co., Ltd. System and method for modifying a service-specific data plane configuration
US20170207989A1 (en) * 2016-01-14 2017-07-20 Dell Software Inc. Dynamic domain name system destination selection
WO2018004621A1 (en) 2016-06-30 2018-01-04 Intel Corporation Message schema control

Also Published As

Publication number Publication date
US11019151B2 (en) 2021-05-25
CN109219942A (zh) 2019-01-15
EP3479530A4 (en) 2020-02-19
US20190124156A1 (en) 2019-04-25
EP3479530A1 (en) 2019-05-08
EP3479530B1 (en) 2022-09-07
WO2018004621A1 (en) 2018-01-04

Similar Documents

Publication Publication Date Title
CN109219942B (zh) 控制消息模式的方法及装置
CN108293067B (zh) 针对物联网设备管理通信拥塞
US10057150B2 (en) Managing communication congestion for internet of things devices
US10097379B2 (en) Managing communication congestion for internet of things devices
US11900148B2 (en) Technologies for scheduling time sensitive cyclical network traffic in real-time
US11064386B2 (en) Uplink congestion mitigation
US10764219B2 (en) Message schema control
US20190036772A1 (en) Intelligent wireless configuration for iot devices
US20190036801A1 (en) Efficient mesh network data gathering
US9385933B2 (en) Remote probing for remote quality of service monitoring
US10454840B2 (en) Transmission control protocol receiver controlled interruption mitigation
US11178017B2 (en) Creating a computing system
Huang Quality of service optimization in wireless transmission of industrial Internet of Things for intelligent manufacturing
US10897770B2 (en) Communication system, method and non-transitory computer-readable storage medium
US11122412B2 (en) Device discovery
Islam et al. Software-defined network-based proactive routing strategy in smart power grids using graph neural network and reinforcement learning
Biddut et al. On the analysis of RED algorithm in ZigBee network for queue management
KR101321165B1 (ko) 무선 센서 네트워크의 혼잡 예측 방법
Baek et al. An adaptive rate control for congestion avoidance in wireless body area networks

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
GR01 Patent grant
GR01 Patent grant