CN109496416B - 对物联网网络进行未来验证和原型制作 - Google Patents
对物联网网络进行未来验证和原型制作 Download PDFInfo
- Publication number
- CN109496416B CN109496416B CN201780046506.8A CN201780046506A CN109496416B CN 109496416 B CN109496416 B CN 109496416B CN 201780046506 A CN201780046506 A CN 201780046506A CN 109496416 B CN109496416 B CN 109496416B
- Authority
- CN
- China
- Prior art keywords
- iot
- future
- simulated
- workload
- network
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
描述了用于表示发生在真实世界部署中的事件的系统和方法。标识包括多个事件的真实世界工作负载。真实世界工作负载的多个特性被转换为多个端点模拟器工作负载。多个网关硬件特性被转换为用于模拟物联网(IoT)网络的建模元件。此外,在模拟IoT网络中的每一个上执行针对端点模拟器工作负载中的每一个的模拟。同样,收集关于针对端点模拟器工作负载的模拟IoT网络的性能的统计信息。
Description
相关申请的交叉引用
本申请要求2017年6月30日提交的美国专利申请No.15/638,942的提交日权益,该美国专利申请要求2016年8月25日提交的美国临时专利申请No.62/379,313和62/379,339的提交日权益,上述各项通过引用纳入于此。
技术领域
本技术一般涉及物联网(IoT)设备。更具体地,本技术涉及IoT数据传播和分析的领域。
背景技术
因特网的当前展望是客户端(诸如,个人计算机、平板、智能电话、服务器、数码相框和许多其他类型的设备)与服务器场中主存的可公开访问数据中心的连接。然而,此图片表示全球连接网络的全部使用中的小部分。当前存在极其大量的连接资源,但并不可公开访问。示例包括企业网络、跨越全球的私人组织控制和监视网络、以及针对匿名性设计的对等中继。
据估计,物联网(IoT)可能会在仅仅数年内带来因特网连通性的多倍增长。对于组织,IoT设备可提供用于监视、跟踪或控制其他设备和项目(包括更远的IoT设备、其他家庭和工业设备、制造业和食品生产链中的项目等等)的机会。此外,IOT网络的出现已成为因特网的演化中的深刻变化的催化剂。未来,因特网可从定向于人类效用的基础结构演化成其中人类是具有越来越多的互连设备的因特网中的少数参与者的基础结构。相应地,因特网可变成一种通信系统,用于使设备以及设备网络不仅与数据中心通信,还与彼此通信。在IoT中,功能网络可被构建用于执行特定任务,然后一旦任务完成就被解构。在实现可靠、安全以及可标识设备以形成用于诸如此类的特定任务以及可在IoT中实现的各种其他类型的任务的网络时存在挑战。
附图说明
图1是示例物联网(IoT)系统的图;
图2是用于IoT设备的网状网络的示例IoT系统的图;
图3是用于快速原型制作的示例IoT系统的图;
图4是用于IoT系统中的快速原型制作的示例方法的框流程图;
图5是用于IoT系统中的快速原型制作的示例方法的框流程图;
图6是用于对IoT系统进行未来验证(future proofing)的示例方法框流程图;
图7是用于未来验证和快速原型制作的示例IoT设备的图;
图8是非瞬态机器可读介质的框图,该非瞬态机器可读介质包括指导处理器在IoT系统中执行快速原型制作的代码;以及
图9是非瞬态机器可读介质的框图,该非瞬态机器可读介质包括指导处理器对IoT系统进行未来验证的代码。
具体实施方式
物联网(IoT)是这样的概念,其中,大量计算设备互连至彼此并互连至因特网,以便在非常低的级别上提供功能和数据采集。如本文使用的,IoT设备可包括执行功能的半自主设备。功能可包括感测或控制等。IoT设备可与其他IoT设备以及更广的网络(诸如,因特网)通信。示例IoT设备的网络可包括商用和家用自动化设备,诸如,给水系统、配电系统、管道控制系统、工厂控制系统、灯开关、恒温器、锁、相机、警报、运动传感器,等等。IoT设备可以是通过远程计算机、服务器和其他系统能访问的,从而控制系统或访问数据。其他IoT设备可包括IoT网关,这些IoT网关用于将IoT设备耦合至其他IoT设备,并且耦合至云应用。云应用可包括服务,例如诸如数据存储、过程控制等。
因特网的未来发展可能包括大量的IoT设备,每个设备都有其本身相应的标准和配置。相应地,如本文所描述的,用于未来因特网的大量创新解决了所有这些层无障碍地增长、发现并制造能访问的经连接资源以及支持隐藏并划分所连接资源的能力的需求。可使用任何数量的网络协议和通信标准,其中,每种协议和标准被设计成解决特定的目标。此外,协议是支持无论地点、时间或空间而进行操作的人类能访问服务的结构的部分。这些创新包括服务交付和相关联的基础结构,诸如硬件和软件。可根据在服务水平和服务交付协议中指定的服务质量(QoS)条款来提供服务。
IoT的未来创新可涉及合并此类创新的新架构。示例可对不同潜在配置进行快速原型制作,可通过确定哪些配置是高效的、成本有效的等来对这些潜在配置进行未来验证。对IoT网络的原型制作涉及在类似于真实世界场景的IoT网络上生成工作负载。此外,原型制作包括在端到端IoT用例定义中捕捉这些工作负载并测试IoT网络上的这些用例。工作负载是工作流集,这些工作流是在IoT网络上发生的事件系列。因此,端到端IoT用例定义由工作流来表征,这些工作流执行不同优先级和依赖性的多个软件事件和中断。然而,试图在真实世界IoT网络中测试具有真实世界事件的工作流将是耗时且昂贵的,从而导致原型制作延迟并且使得许多潜在的原型评估不可行。
在当前系统中,可通过评估真实世界客户端的小子集的特性以及不表示真实世界工作负载的触发器的特性来执行原型制作,这些触发器构成多个并行触发器,从而导致不准确且很大程度上不足以执行概念评估的数据点。概念评估是用于确定新概念(诸如用于IoT网络的新网关)的可行性的方法。
确定当前工作负载和估计未来工作负载的工作负载影响的IoT统计信息特性表征过程使用IoT快速原型制作引擎。IoT快速原型制作引擎可经由模拟的端点客户端和外部触发器、使用真实世界客户端和触发器的准确表示来实现对统计信息特性的评估。此外,所要求保护的主题的实施例实现了复杂的工作流和统计信息特性分析,从而提供了快速的原型制作能力。
工作负载从简单表示递增地模拟到所建模边缘网关架构上的按比例放大的复杂输入,并记录所得统计信息特性以供离线评估。概述的实施例描述了对以下的评估:在所建模网关上模拟工作流,以及所得统计信息特性。统计信息特性表示对要在模拟期间跟踪的特定统计信息的评估。例如,RAM容量、CPU使用、缓冲器大小、有多少完整缓冲器、往返等待时间、跳到跳等待时间是一些示例统计信息,这些示例统计信息可被跟踪以用于模拟IoT网络上的原型的模拟。
图1是示例物联网(IoT)系统100。系统100包括云102,服务器104,多个IoT设备106、108、110、112、114、116、118,IoT设备组120,以及网关122。云102可表示因特网,或者可以是局域网(LAN)、或广域网(WAN),诸如用于公司的专属网络。服务器104,各种IoT设备106、108、110、112、114、116、118,以及网关122可以是真实的、虚拟的或模拟的。实际上,图1中的表示关于其描绘和评估可以是真实或模拟的,且包括在实况真实IoT组件与模拟或仿真组件的任何混合操作中的情况。
网络拓扑可包括各种类型的IoT网络,诸如经由低能耗(BLE)链路的网状网络。其他类型的IoT网络可包括用于通过IEEE 802.11链路与IoT设备通信的无线局域网(WLAN)网络、用于通过LTE/LTE-A(4G)与IoT设备通信的蜂窝网络或5G蜂窝网络、以及低功率广域(LPWA)网络。LPWA网络可与LoRa联盟发布的长距广域网(LoRaWANTM)规范兼容。网络拓扑或(诸)IOT网络可包括低功率广域网(LPWAN)网络上的IPv6,其与由因特网工程任务组(IETF)发布的规范兼容。此外,各个IoT网络可经由各种通信链路与外部网络提供商(例如,层2或层3提供商)通信,这些通信链路诸如LTE蜂窝链路、LPWA链路、或基于IEEE802.15.4标准的链路(诸如,)等等。各个IoT网络也可通过网络和网际应用协议(诸如,受约束的应用协议(CoAP))来操作。各个IoT网络还可与协调器设备集成,这些协调器设备提供链路链,该链路链形成经链接的设备和网络的集群树(cluster tree)。
尽管描述了无线网络和有线网络(诸如,LPWA链路、光链路等),但是可以注意到,可使用任何类型的网络来将设备彼此耦合或耦合至网关122。网络或组装设备组可具有有线和无线连接,并且可在节点、对等设备以及网关设备之间同时使用两者。此外,网络或组装设备组可使用有线网络、无线网络或两者来与云以及可参与向本文公开的内容递送服务或支持的任何更高性能的计算设备通信。因此,任何IoT链路108或IoT网络112可使用有线或无线连接。此外,IoT设备可与云102中的其他设备直接通信,而无需使用网关122。骨干链路108可包括各种有线或无线技术,包括光学网络,并且再次地,可以是LAN、WAN或因特网的部分。此外,此类通信链路促进具有云102的IoT设备与(诸)网关110两者之间的光学信号路径,包括使用促进各种设备的互连的复用/解复用组件。
如从图1可见,大量IoT设备可通过云102进行通信。这些IoT设备可被分组至组合中以执行公共功能,诸如用于以下的IoT设备:远程气象站106、本地信息终端108、警报系统110、自动柜员机112、警报面板114或移动车辆(诸如,应急车辆116或无人机118),等等。这些IoT设备中的每一个可以与其他IoT设备、服务器104或两者通信。IoT设备106、108、110、112、114、116、118可包括任何数量的不同类型的传感器、计算设备等。服务器104可以是一个或多个计算设备,其为一个或多个IoT设备106、108、110、112、114、116、118和组120提供服务,或者以某种其他能力与一个或多个IoT设备106、108、110、112、114、116、118和组120进行通信。而且,在概况分析和诊断中,服务器104和各种IoT设备106、108、110、112、114、116、118可以是真实的、虚拟的或模拟的。
在一个示例中,组120是交通控制组,其包括沿着城市中的街道的IoT设备。这些IoT设备可包括停车灯、交通流监视器、相机、天气传感器,等等。交通控制组中的IoT设备可使用诸如网关122之类的另一设备来与云102通信。交通控制组或其他子组可通过无线链路124(诸如,LPWA链路等等)与云102通信。此外,有线或无线子网126可允许IoT设备诸如通过局域网、无线局域网等来彼此通信。在一些示例中,子网126可使用有线网络将IoT设备中的一个或多个耦合至网关122。另外,组120的IoT设备还可使用沿网关122或者在组120与网关122之间可操作地设置的一个或多个服务器(未示出)来促进组120与云102或者与网关122的通信。例如,一个或多个服务器可充当中间网络节点以支持在局域网之间的局部边缘云或雾实现。
这可允许不同的IoT设备自主地请求信息或将信息提供给其他设备。例如,交通组120可从能在没有人类干预的情况下提供预报的远程气象站组106请求当前的天气预报。此外,可由自动柜员机112向应急车辆116警告盗窃在进行中。当应急车辆116继续朝自动柜员机112行进时,它可访问交通组120以请求清空该位置,例如,通过在足够的时间内亮起红灯以阻止十字路口处的交叉交通流,以使该应急车辆116能够畅通无阻地进入该十字路口。
IoT设备的集群(诸如,远程气象站106或交通控制组)可被装备成与其他IoT设备以及与云102通信。而且,在概况分析和诊断中,气象站106和各种IoT设备108、110、112、114、116、118可以是真实的、虚拟的或模拟的。这可允许IoT设备在多个设备之间形成自组织(ad-hoc)网络或虚拟网络,从而允许它们充当可被称为雾设备的单个设备。关于图2进一步讨论雾设备。
图2是用于IoT设备的网状网络(雾设备202)的示例IoT系统200。在实施例中,雾设备202在云102的边缘处操作。如本文使用的,雾设备202是设备集群,该设备群集可被分组以执行特定功能,诸如交通控制、天气控制、工厂控制、家庭监视等。
虽然在此示例中雾设备202被示为网状网络,该网状网络使用网关(诸如,网关122)来与云102中的设备通信,但设备不必是网状网络的部分,或者甚至不必彼此邻近来形成雾设备。因此,设备不必与彼此进行直接无线电或网络通信,或者彼此邻近,但是可基于功能来形成自组织组。雾设备202的形成可以像在形成雾设备的不同设备之间共享命名、类型和标识信息(例如,组身份凭证)一样简单。这可允许任何设备充当雾设备202的代表,并且提供为该设备所特有的身份。作为示例,虽然雾设备202在此示例中被示为由单个位置中的设备组成,但雾设备可包括多个位置中的设备,这些设备被形成为提供特定服务。例如,雾设备202可包括位于云102中的远程气象站。此外,位于数据中心中的服务器104可被包括在雾设备102中以用于数据分析以及其他服务。而且,在概况分析和诊断中,云102、服务器104、雾设备202以及各种远程气象站可以是真实的、虚拟的或模拟的。
在另一示例中,雾设备202是用于调节交叉路口处的交通的IoT设备组。雾设备202可根据OpenFog联盟(OFC)发布的规范等来建立。在此示例中,这些规范允许在将雾设备202耦合至云102的网关122与端点设备(诸如,交通灯204和数据聚合器206)之间形成计算元件的层次结构。雾设备202可利用IoT设备集体提供的组合的处理和网络资源。
通过交叉路口的交通流可由多个交通灯204(例如,三个交通灯204)控制。对交通流的分析以及针对交通的控制方案可由聚合器206实现,聚合器206通过网状网络与交通灯204通信并且彼此通信。通过经由网状网络与交通灯204以及聚合器206通信的网关122,可将数据上传至云102,并且可从云102接收命令。在某些方面,雾设备202可包括临时性IoT设备。换言之,不是网状网络中的所有IoT设备可以是雾设备202的永久成员。在示例IoT系统200中,三个瞬态IoT设备加入雾设备202,分别是第一车辆212、第二车辆214、以及行人216。在这些情况下,IoT设备可被构建至车辆212和214中,或者可以是由行人216携带的蜂窝电话上的App。而且,在概况分析和诊断中,云102、服务器104、网关122、雾设备202、交通灯204、聚合器206、车辆212、214、行人214等可以是真实的、虚拟的或模拟的。
雾设备202可被视为互连网络,其中多个IoT设备例如通过通信链路208和210、通过经由网络通信链路的云102、或者通过网关122来彼此通信。对于彼此邻近的设备,可以使用由开放连通性基金会(Open Connectivity FoundationTM,OCF)在2015年12月23日发布的开放互连联盟(open interconnect consortium,OIC)标准说明书1.0来建立网络。该标准允许设备发现彼此并建立通信以用于互连。还可以使用其他互连协议,包括例如优化链路状态路由(OLSR)协议或移动自组织联网较佳方案(B.A.T.M.A.N.)等。可在雾设备202中使用任何数量的通信链路。例如,与IEEE 802.15.4兼容的短距链路208可提供邻近于交叉路口的IoT设备之间的局部通信。例如,与LPWA标准兼容的长距链路210可提供IoT设备与网络122之间的通信。为了简化该图,并非每个通信链路208或210都用附图标记进行标示。此外,不是参与雾设备202的每个设备都需要与其他设备邻近地定位,或者进行直接地无线电通信。例如,雾设备202可合并位于不同网络的气象站。
可利用两个设备之间的有线连接来替换通信链路208和210中的一个或多个。形成雾设备202的网络不必是网状网络,而可以是其中每个设备通过到网关122的有线或无线连接来耦合至其他设备的标准网络。
在某些方面,来自任何IoT设备204、206、212、214、216的通信可沿着IoT设备204、206、212、214、216中任一者之间的最方便的路径(例如,具有最少数量的中间跳数或最高带宽的路径等)传递以到达网关122。在网状网络中,互连的数量提供了大量的冗余,从而允许甚至在丢失大量IoT设备的情况下维持通信。
可将设备的雾设备202作为位于云102的边缘处的单个设备呈现给云102中的客户端(诸如,服务器104)。在此示例中,控制与雾设备202中的特定资源的通信可在不标识雾设备202内的任何特定IoT设备的情况下进行。相应地,如果IoT设备出现故障,其他IoT设备可能能够发现和控制资源。例如,交通灯204可被线连,以便允许交通灯204中的任一个控制针对其他交通灯204的灯。
在一些示例中,可以使用命令性编程风格来配置IoT设备204、206、212、214、216,例如,每个IoT设备具有特定功能和特定通信伙伴。然而,在一些实施例中,形成雾202设备的IoT设备204、206、212、214、216可以以说明性编程风格配置,从而允许IoT设备204、206、212、214、216重新配置它们的操作和通信,诸如响应于条件、查询和设备故障等来确定所需的资源。例如,由于瞬态IoT设备(诸如,车辆212、214以及行人216)加入雾设备202,因此雾设备202可修改雾设备202的操作。在一个示例中,可形成包括车辆212、214以及行人216的临时组。临时组可修改交通灯204的操作,使得行人216有足够的时间来横过交叉路口。为了解决安全性担忧,如果车辆212、214中的一者或两者是自主的,则临时组可将自主车辆的操作修改成在到达交叉路口之前减速。此外,当瞬态设备212、214、216离开交叉路口的附近时,雾设备202可重新配置其自身以从网络消除IoT设备212、214、216。当另一瞬态IoT设备逼近交叉路口时,雾设备202可将其自身重新配置成包括那些设备,等等。
IoT中的交通系统的实施例(诸如,IoT系统200)也可以具有其他类型的配置。例如,雾设备202可包括多个交叉路口(诸如,沿街道)的交通灯204,以及沿街道的所有瞬态IoT设备。雾设备202随后可将其自身划分成功能单元,诸如交通灯204以及邻近于单个交叉路口的其他IoT设备。这种类型的组合可实现雾设备202中的较大IoT构造的形成。因此,如果应急车辆加入雾设备202,则可创建包括街道的所有交通灯204的应急构造或虚拟设备,从而允许对整条街道的交通流模式的控制。应急构造可指令沿街道的交通灯204针对反向交通保持红色,而针对应急车辆保持绿色,从而加速应急车辆的通过。
IoT系统(诸如,IoT系统200)可能是复杂的,并且因此在其实现方面提供大量挑战。例如,IoT系统可包括能以多种不同的潜在实现来配置的众多类型的设备、通信链路、协议等。因此,确定什么配置是可用的、以及那些配置中的哪一个适应IoT系统需求可能是具有挑战性的。相应地,某些实施例提供用于对IoT系统本身执行潜在IoT系统(原型)的模拟的系统。
例如,可在雾设备202上或在IoT系统中的其他设备(诸如,雾设备202的数据聚合器206)上存储和执行模拟代码。模拟可执行IoT系统的各种模拟配置。模拟可包括现有IoT架构上的不同工作负载,给出所得统计信息特性。在一些示例中,设置在IoT系统中的模拟系统可通过以下的模拟递增值来迭代:工作负载值、架构或网关值、以及观察到的统计信息特性值。在特定示例中,模拟可提供重新配置雾设备202,例如,通过对IoT设备用来提供特定功能的变化建模。
此外,可在现有雾设备202上或在IoT系统中的其他设备上安装和执行IoT模拟系统。IoT模拟系统的安装可允许创建包括虚拟和真实IoT设备两者的虚拟IoT设备。因此,虚拟和真实IoT设备代表混合系统架构,其中所提出的未来架构和实况架构的模拟在同一虚拟机上同时运行。虚拟IoT设备可允许例如在将附加IoT设备添加到雾设备202或重新配置雾设备202中的通信之前,测试IoT设备的不同配置。随着配置的改变,测试结果可表示功能、稳定性等而且,在概况分析和诊断中,云102、服务器104、网关122、雾设备202、交通灯204、聚合器206等可以是真实的、虚拟的或模拟的。此外,图2中所示的组件(诸如,网关、雾设备、以及各种传感器或服务器)可以是真实的、虚拟的或模拟的。实际上,图2中关于它们的描绘和评估的表示可以是真实的或模拟的,且包括在实况真实IoT组件与模拟或仿真组件的任何混合操作中的情况。
实际上,用于评估或检测异常的模拟可在实时IoT系统和模拟/仿真两者一起运行的环境中运行和操作,以例如通过测试所提出的架构来考虑IoT系统的扩展。因此,实施例可包括现场和模拟/仿真系统的混合。此混合设置可适应测试例如系统容量和故障恢复场景的机会。
图3是用于快速原型制作的示例IoT系统300。系统300包括控制用户界面(UI)302(安装在计算设备304上)、自动化框架306和端点模拟器308(也安装在计算设备304上)、真实和模拟网关310(安装在计算设备304上的模拟网关)、以及云312。此外,在概况分析和诊断中,IoT系统300、控制UI 302、计算设备304、自动化框架306、端点模拟器308、网关310、以及云312可以是真实的、虚拟的或模拟的。
控制UI 302可被用于创建在其上执行工作负载的模拟IoT系统。使用配置参数来定义模拟IoT网络,这些配置参数诸如传感器数量、传感器发布频率、分组大小、业务概况的突发性、基于归并排队遥测运输(MQTT)的传输的服务质量(QoS)值等等,这些参数是用于定义模拟IoT网络的参数的若干示例。控制UI 302具有动态修改运行时参数的能力,这给予边缘基础结构准确地表示真实世界场景的能力。动态修改运行时参数意味着使用控制UI 302来获取由端点模拟器308生成的事件,并且改变感测值。修改可在模拟模型的运行时执行期间发生。控制UI 302启动控制UI 302控制的设备(例如,模拟传感器和传感器中枢、网关310、以及云312中的服务器)中的每一个中的监视守护进程。监视守护进程跟踪用于表征原型模拟的统计信息。在一个实施例中,监视守护进程可在云312上运行以监视对感测值的接收、后续分析、和致动。
端点模拟器308基于发生的不同类型事件的模型生成针对模拟工作负载的事件。所生成事件的类型取决于模拟IoT网络的组件在做什么。事件的一个示例是当传感器中的任一个经由蓝牙将测量或其他感测值传送至聚合器时。另一示例事件是预期在每单位时间加入或离开网状网络的瞬态设备的数量。端点模拟器308包括用于IoT网络中的传感器所使用的各种类型的通信协议的模型。这些值可被随机确定。
自动化框架306被用于执行处理模拟IoT网络中的工作负载的模拟。在一个实施例中,自动化框架306将由端点模拟器308生成的事件输入到模拟IoT网络。更具体地,自动化框架306经由控制UI 302向真实和模拟的端点设备发出控制序列。在构建事件模型的学习阶段期间,出于学习所得统计信息特性的目的而发出到端点的控制序列。在运行阶段期间,出于预测预期统计信息特性的目的来控制端点模拟器308。边缘基础结构提供针对预存(canned)触发脚本的API以进行交互。API集交换标准定时信息集,该标准定时信息集允许触发脚本标识同步vs交错启动。这些脚本可被存储在边缘基础结构中的任何地方,或者甚至云312中。然而,将脚本存储在最靠近边缘处比在网关310和云312处更高效。
真实和模拟网关310被用于不同目的。真实网关用于在模型构建的学习阶段期间收集统计信息特性信息。该数据随后被用于构建模拟IoT网络(即,模拟模型),其中网关310和端点是模拟实体。模拟网关处理由端点模拟器308生成的事件,并将传感器信息传递到云312。一旦模拟被执行,监视守护进程跟踪的统计信息就被存储在IOT数据库中。
IoT数据库是综合数据库,其存储工作流配置参数、产生记录、并基于先前运行的结果来实现二进制搜索和修剪。经由控制UI 302来控制与数据库的交互。这种布置允许所存储数据的安全性和完整性。允许仅经由控制UI 302来控制数据库值允许更少的入口点和单点,以免受威胁,诸如恶意用户、病毒等。工作流配置信息、观察到的系统性能、以及所得统计信息特性被存储在IoT数据库中的每个元组中。以这种方式,IoT数据库可实现推断针对一系列递增工作负载参数的统计信息特性和系统性能的功能的构建,这给予边缘架构能够运行数千个置换以标识最佳硬件或应用假设场景的能力。外推常常指线性模型,但情况可能并非如此。预期统计信息特性也可以是如由模拟IoT网络的架构的性质确定的阶梯函数。另外,IoT数据库可被存储在边缘基础结构中的任何地方,但是如果存储在网关310或另一聚合设备上,则能被更高效地维护和使用。
以这些方式,系统300可使用具有模拟端点(传感器)、真实和模拟聚合设备(例如,网关310、传感器中枢)、控制UI 302、自动化框架306、以及IoT数据库的边缘基础结构来实现最佳统计信息大小IoT部署。IoT数据库可驻留在边缘基础结构中的任何地方。然而,将IoT数据库置于网关310上导致比放置在边缘基础结构的其他部件上更快的查找。此外,在概况分析和诊断中,IoT系统300、控制UI 302、计算设备304、自动化框架306、端点模拟器308、网关310、以及云312可以是真实的、虚拟的或模拟的。
最后,图3的IoT系统300中描绘的所有设备可表示现有的和真实的物理设备。然而,图3的IoT系统300中描绘的设备中的任一个可以是虚拟的或模拟的。实际上,本文公开的架构元件(诸如,IoT对象、网络实体、服务器、网关、或其他节点)可以是真实的、虚拟的或模拟的。关于本说明书和附图中的IoT系统设备的描绘和表示,可存在真实、虚拟和模拟的可互换性。此外,用于评估和检测异常的模拟可在实时IoT系统和模拟/仿真两者一起运行的环境中运行和操作,以例如通过测试所提出的架构来考虑IoT系统的扩展。因此,实施例可包括实时和模拟/仿真系统的混合。此混合设置可适应测试例如系统容量和故障恢复场景的机会。此外,所提出的对架构的扩展可涉及IoT系统将并入或绑定至的IoT系统之外的已安装或现有设备,或者可涉及要安装的新IoT设备,等等。
图4是用于IoT系统中的快速原型制作的示例方法400。方法400始于框402处,并且由自动化框架306执行。在框404处,将工作负载特性转换为端点模拟工作负载(Wi…m)。每个工作负载是将在真实世界部署场景中表示的实际工作负载的模拟表示,聚合负载表示整体工作流。在框406处,将网关硬件特性转换为建模元件(Gi…n)。相关组件中的每一个及其交互被表示在模型内,从而在工作流执行期间表征实际系统的行为。在框408处,针对每个工作负载和网关建模元件来执行模拟。针对模拟的跟踪统计信息被记录在Si中。在框410处,确定是否已针对所有工作负载和网关配置运行模拟。如果存在更多,则在框408处运行下一模拟。如果不存在更多,则方法400在框412处停止。此外,在概况分析和诊断中,IoT系统、自动化框架306、端点模拟工作负载、网关模型化元件等可以是真实的、虚拟的或模拟的。
图5是用于IoT系统中的快速原型制作的示例方法500。如前所述,在概况分析和诊断中,IoT系统、自动化框架、端点模拟工作负载、网关模型化元件等可以是真实的、虚拟的或模拟的。例如,这可通过改变工作流和网关配置来实现对快速原型的未来验证。但是,工作流和网关配置中的某些变化不会在模拟产生的统计信息中造成大量变化。在这种情况下,所要求保护的主题的实施例可从执行的模拟中自动消除类似工作流或网关配置。针对每个模拟执行方法500。另外,方法500始于框502处,并且由自动化框架306执行。在框504处,标识模拟结果。在框506处,确定统计信息Si是否超过指定变化阈值。如果是,则方法500流向框510,然后返回到框504以标识下一模拟。然而,如果统计信息Si没有超过指定变化阈值,则在框508,从潜在模拟移除相应的工作流和网关条目。方法500在框512结束。
如图5中的例示中所描述的工作流迭代标识由工作流(Wiw,iw=1…n)和网关特性(Gig,ig=1..n)组成的工作负载。对照先前运行来测量观察到的统计信息特性(Si)。缺少变量(其可能是可配置参数)将消除针对工作流序列中的其余部分的工作流套件中的进一步递增,从而从模拟消除一系列工作负载。
IoT应用处于其早期开发阶段,这掩盖了执行部署在IoT网络中的准确净空(headroom)分析应用的能力。在当前系统中,当试图执行净空分析时,它们基于当前使用的线性外推,这导致目标IoT网络的工作的不准确表示。
目标IoT网络还可指代硬件架构(诸如,系统部署)、目标网关(包括CPU、存储器)和存储规范,并且还指代网关架构是否是真实的、虚拟的、真实和虚拟的混合,等等。因此,目标IoT网络提供背景,对照该背景,针对给定网关架构来评估观察到的IoT系统的特性。“提出的解决方案”可以是预期或模拟的(诸)观察到的特性、或给定架构对所考虑工作负载的潜在响应、以及其他特性或表示,等等。
因此,通过对模型化网关上执行的目标工作流的模拟进行净空分析,使得如今对IoT架构的未来验证变得可能,如参考图3-5描述的那样。目标工作流可能是预期在未来验证场景中的工作负载的近似。所要求保护的主题的实施例可扩展到边缘传感器模块、传感器中枢内、以及云内的数据服务器上的上下文(诸如,处理利用、存储器、存储、以及I/O)。在实施例中,IoT架构表征过程对照未来工作流的需求来评估所提出的架构。
在当前和未来的模拟边缘网关模型上模拟和扩展未来的目标工作流。对照预定义技术目标集评估针对模拟的估计度量以获得最佳返回。概述的实施例描述了对所建模网关上执行的模拟未来工作流的评估及其借助综合查找表对照量化目标技术解决方案特性的查找。
此外,组件(诸如,网关、以及各种传感器或服务器)可以是真实的、虚拟的或模拟的。实际上,关于图5描述的表示相对于其描绘和评估可以是真实的或模拟的,且包括在实况真实IoT组件与模拟或仿真组件的任何混合操作中的情况。
IoT应用可能会在未来几年内准备整合更多新的和日益复杂的应用。为了适应这种增长并防止对所部署的IoT架构进行昂贵的检修,对未来部署场景的净空分析是有用的。净空分析是用于标识在瓶颈发生之前对于特定资源有多少能力剩余的方法。因此,所要求保护的主题的实施例迭代通过大量工作流置换,这些置换具有确定以下潜在未来的含义的能力:对工作负载的改变、以及对IoT网络的网关架构的升级。此类实施例实现了复杂的假设分析能力,该假设分析能力帮助标识潜在的未来基础结构瓶颈以及可能提出的升级对它们的影响,由此提供帮助确定适应工作负载和网关架构变化的最佳目标解决方案架构的洞察。以这种方式,所要求保护的主题的实施例避免了现有IoT网络基础结构的潜在昂贵的检修。
图6是用于对IoT系统进行未来验证的示例方法600。方法600确定提出的未来工作负载相对于期望技术目标是符合的,并且由自动化框架306执行。方法600始于框602。在框604处,自动化框架306帮助基于目标未来工作负载来限定技术需求。在框606处,针对给定工作流和网关配置来执行模拟。在框608处,自动化框架评估模拟,并对照所建模网关架构来确定架构和工作流特性,并通过执行对IoT数据库的查找来对照设备的期望技术架构和工作流级度量比较这些架构特性。使用迭代生成器以这种方式执行每个工作流置换,直到已耗尽所有目标输入工作流。目标架构参数之外的所有偏差都被标示为不符合并被做标记以供进一步评估。此外,组件(诸如,网关、以及各种传感器或服务器)可以是真实的、虚拟的或模拟的。实际上,关于图5描述的表示相对于其描绘和评估可以是真实的或模拟的,且包括在实况真实IoT组件与模拟或仿真组件的任何混合操作中的情况。
图7是用于未来验证和快速原型制作的示例IoT系统700。IoT系统700可包括示例中示出的组件的任何组合。这些组件可被实现为IC、IC的多个部分、分立电子器件,或者适用于IoT系统700中的其他模块、逻辑、硬件、软件、固件或其组合,或者以其他方式被并入在更大的系统的机架内的组件。图7的框图旨在示出IoT系统700的组件的高级视图。然而,可以省略所示出的组件中的一些组件,附加的组件可以存在,并且所示出的组件的不同布置可发生在其他实现中。
IoT系统700可包括处理器702,该处理器702可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器,或其他已知的处理元件。处理器702可以是芯片上系统(SoC)的部分,在该SoC中,处理器702和其他组件形成到单个集成电路或单个封装中,诸如,来自英特尔的爱迪生(Edison)TM或伽利略(Galileo)TMSoC板。作为示例,处理器702可包括基于架构酷睿的处理器(诸如,QuarkTM、AtomTM、i3、i5、i7或MCU类处理器)、或可从加利福尼亚州圣克拉拉市的公司获得的另一此类处理器。然而,可使用任何数量的其他处理器,诸如,可从加利福尼亚州桑尼威尔市的超微半导体公司(AMD)获得的处理器、来自加利福尼亚州桑尼威尔市的MIPS技术公司的基于MIPS的设计、许可自ARM控股有限公司的基于ARM的设计,或从上述各公司的客户、被许可方或采纳方获得的处理器。处理器可包括诸如以下单元:来自公司的A5-A9处理器、来自技术公司的骁龙(Snapdragon)TM处理器或来自德州仪器公司的OMAPTM处理器。
处理器702可通过总线706与系统存储器704通信。任何数量的存储器设备可用于提供给定量的系统存储器。作为示例,存储器可以是根据联合电子设备工程委员会(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存储器。
为了提供对信息(诸如,数据、应用、操作系统等)的持久性存储,大容量存储708可经由总线706而耦合至处理器702。为了实现较薄和较轻的系统设计,大容量存储708可经由固态盘驱动器(SSDD)来实现。可用于大容量存储708的其他设备包括闪存卡(诸如,SD卡、microSD卡、xD图片卡,等等)和USB闪存驱动器。在低功率实现中,大容量存储708可以是与处理器702相关联的管芯上存储器或寄存器。然而,在一些示例中,大容量存储708可使用微硬盘驱动器(HDD)来实现。此外,附加于或替代所描述的技术,可将任何数量的新技术用于大容量存储装置708,诸如,阻变存储器、相变存储器、全息存储器或化学存储器,等等。例如,IoT系统700可合并来自 和的3D XPOINT存储器。
组件可通过总线706进行通信。总线706可包括任何数量的技术,包括工业标准架构(ISA)、扩展ISA(EISA)、外围组件互联(PCI)、外围组件互联扩展(PCIx)、PCI快速(PCIe)或任何数量的其他技术。总线706可以是例如在基于SoC的系统中使用的专属总线。其他总线系统可被包括,诸如,I2C接口、SPI接口、点对点接口、功率总线,等等。
总线706可将处理器702耦合至网状收发机710,以便例如与其他网状设备712通信。网状收发机710可使用任何数量的频率和协议,诸如,IEEE802.15.4标准下的2.4千兆赫兹(GHz)传输,使用如由特别兴趣小组定义的低能量(BLE)标准、或标准,等等。为特定的无线通信协议配置的任何数量的无线电可用于向网状设备712的连接。例如,WLAN单元可用于根据电气和电子工程师协会(IEEE)802.11标准实现Wi-FiTM通信。此外,例如根据蜂窝或其他无线广域协议的无线广域通信可经由WWAN单元发生。
网状收发机710可使用用于不同范围的通信的多种标准或无线电来进行通信。例如,IoT系统700可使用基于BLE的或另一低功率无线电的本地收发机与接近的(例如,在约10米内的)设备通信以节省功率。更远的(例如,在约10米内的)网状设备712可通过ZigBee或其他中间功率的无线电而联络到。这两种通信技术能以不同的功率水平通过单个无线电发生,或者可通过分开的收发机而发生,分开的收发机例如使用BLE的本地收发机以及使用ZigBee的分开的网状收发机。网状收发机710可作为能由芯片直接访问的地址被并入MCU中,例如可从英特尔获得的单元中。
可包括上行链路收发机714以与云102中的设备通信。上行链路收发机714可以是遵循IEEE 802.15.4或IEEE 802.15.4g标准等的LPWA收发机。IoT系统700可使用由Semtech和LoRa联盟开发的LoRaWANTM(长距离广域网)在广域上通信。本文中描述的技术不限于这些技术,而使可与实现长距离、低带宽通信(诸如,Sigfox和其他技术)的任何数量的其他云收发机一起使用。此外,可使用其他通信技术,诸如,在IEEE 802.15.4e中描述的时分信道跳。
除了针对如本文中所述的网状收发机710和上行链路收发机714而提及的系统之外,还可使用任何数量的其他无线电通信和协议。例如,无线电收发机710和712可包括使用扩展频谱(SPA/SAS)通信以实现高速通信的LTE或其他蜂窝收发机(诸如用于视频传输)。此外,可使用任何数量的其他协议,诸如,用于中速通信(诸如,静态图片、传感器读数)和供应网络通信的Wi-Fi网络。
无线电收发机710和712可包括与任何数量的3GPP(第三代合作伙伴计划)规范(尤其是长期演进(LTE)、长期演进-高级(LTE-A)和长期演进-高级加强版(LTE-A Pro))兼容的无线电。可以注意到,可选择与任何数量的其他固定的、移动的或卫星通信技术和标准兼容的无线电。这些可包括例如任何蜂窝广域无线电通信技术,其可包括例如,第五代(5G)通信系统、全球移动通信系统(GSM)无线电通信技术、通用分组无线电服务(GPRS)无线电通信技术、或GSM演进增强数据速率(EDGE)无线电通信技术。可使用的其他第三代合作伙伴计划(3GPP)无线电通信技术包括UMTS(通用移动电信系统)、FOMA(多媒体接入自由)、3GPP LTE(长期演进)、3GPP LTE高级(长期演进高级)、3GPP LTE Advanced Pro(长期演进高级专业版)、CDMA2000(码分多址2000)、CDPD(蜂窝数字分组数据)、流动电文(Mobitex),3G(第三代)、CSD(电路交换数据),HSCSD(高速电路交换数据)、UMTS(3G)(通用移动电信系统(第三代))、W-CDMA(UMTS)(宽带码分多址(通用移动电信系统))、HSPA(高速分组接入)、HSDPA(高速下行链路分组接入),HSUPA(高速上行链路分组接入)、HSPA+(高速分组接入加)、UMTS-TDD(通用移动电信系统-时分双工)、TD-CDMA(时分-码分多址)、TD-SCDMA(时分-同步码分多址),3GPP Rel.8(Pre-4G)(Pre-4G)(第3代合作伙伴计划第8版(前第4代))、3GPP Rel.9(第三代合作伙伴计划第9版)、3GPP Rel.10(第三代合作伙伴计划第10版),3GPP Rel.11(第三代合作伙伴计划第11版)、3GPP Rel.12(第三代合作伙伴计划第12版)、3GPP Rel.13(第三代合作伙伴计划第13版)、3GPP Rel.14(第三代合作伙伴计划第14版)、3GPP LTE额外、LTE许可辅助接入(LAA)、UTRA(UMTS陆地无线电接入)、E-UTRA(演进UMTS陆地无线电接入)、LTE高级(4G)(长期演进高级(第4代))、cdmaOne(移动通信标准)(2G)、CDMA2000(3G)(码分多址2000(第三代))、EV-DO(演进数据优化或仅演进数据)、AMPS(1G)(高级移动电话系统(第1代))、TACS/ETACS(总接入通信系统/扩展总接入通信系统)、2-AMPS(2G)(数字AMPS(第2代))、PTT(按键通话)、MTS(移动电话系统)、IMTS(改进的移动电话系统)、AMTS(高级移动电话系统)、OLT(用于挪威Offentlig Landmobil Telefoni,公共陆地移动电话)、MTD(针对瑞典Mobiltelefonisystem 2、即Mobile telephony system 2的缩写)、Autotel/PALM(公共自动陆地移动)、ARP(芬兰语为Autoradiopuhelin,“汽车无线电话”)、NMT(北欧的移动电话)、Hicap(NTT(日本电报和电话)的高容量版本)、CDPD(蜂窝数字分组数据)、Mobitex、DataTAC、iDEN(集成数字增强网络)、PDC(个人数字蜂窝)、CSD(电路交换数据)、PHS(个人手持电话系统)、WiDEN(宽带集成数字增强网络)、iBurst、非许可移动接入(UMA,也称为3GPP通用接入网络,或GAN标准))、无线千兆联盟(WiGig)标准,该WiGig标准通常为mmWave标准(在10-90GHz及以上运行的无线系统,例如WiGig、IEEE802.11ad、IEEE802.11ay等)。除以上所列举的标准之外,还可使用任何数量的卫星上行链路技术用于上下链路收发机714,该卫星上行链路技术包括例如符合ITU(国际电信联盟)或ETSI(欧洲电信标准协会)发布的标准的无线电等等。本文中所提供的示例因此可被理解为适用于各种现有的和尚未制定的各种其他通信技术。
网络接口控制器(NIC)716可被包括以提供至云102的有线通信。有线通信可提供以太网连接,或可基于其他类型的网络,诸如,控域网(CAN)、本地互连网(LIN)、设备网络(DeviceNet)、控制网络(ControlNet)、数据高速路+、PROFIBUS或PROFINET,等等此类示例。附加的NIC 716可被包括以允许至第二网络的连接,例如,NIC 716通过以太网提供至云的通信,并且第二NIC 716通过另一类型的网络提供至其他设备的通信。
总线706可以将处理器702耦合到用于连接外部设备的接口718。外部设备可包括传感器720,诸如加速度计、水平传感器、流量传感器、温度传感器、压力传感器、气压传感器,等等。接口718可被用于将IoT系统700连接至致动器722,诸如功率开关、阀致动器、可听声音发生器、视觉警告设备等。
虽然未示出,但是各种输入/输出(I/O)设备可以存在于IoT系统700内或连接到IoT系统700。例如,可以包括显示器以显示信息,诸如传感器读数或致动器位置。输入设备(诸如,触摸屏或小键盘)可被包括以接受输入。
电池724可为IoT系统700提供功率,但是在其中IoT系统700被安装在固定位置的示例中,该IoT系统700可具有耦合至电网的功率供给。电池724可以是锂离子电池、金属-空气电池(诸如,锌-空气电池、铝-空气电池、锂-空气电池),等等。
电池监视器/充电器726可被包括在IoT系统700中以跟踪电池720的充电状态(SoCh)。电池监视器/充电器726可用于监视电池724的其他参数以提供失效预测,诸如,电池724的健康状态(SoH)和功能状态(SoF)。电池监视器/充电器726可包括电池监视集成电路,诸如,来自线性技术公司(Linear Technologies)的LTC4020或LTC2990、来自亚利桑那州的凤凰城的安森美半导体公司(ON Semiconductor)的ADT7488A、或来自德克萨斯州的德州仪器公司的UCD90xxx族的IC。电池监视器/充电器726可通过总线706将关于电池724的信息传送至处理器702。电池监视器/充电器726也可包括允许处理器702直接监视电池726的电压或来自电池724的电流的模-数(ADC)转换器。电池参数可用于确定IoT系统700可执行的动作,诸如,传输频率、网状网络操作、感测频率,等等。
功率块728或耦合至电网的其他电源可与电池监视器/充电器726耦合以对电池724充电。在一些示例中,功率块728可用无线功率接收机替代以便例如通过IoT系统700中的环形天线来无线地获取功率。无线电池充电电路(诸如,来自加利福尼亚州的苗比达市的线性技术公司的LTC4020芯片,等等)可被包括在电池监视器/充电器726中。所选择的特定的充电电路取决于电池724的尺寸,并因此取决于所需的电流。可使用由无线充电联盟(Airfuel Alliance)颁布的Airfuel标准、由无线电力协会(Wireless Power Consortium)颁布的Qi无线充电标准、由无线电力联盟(the Alliance for Wireless Power)颁布的Rezence充电标准,等等执行充电。
大容量存储708可包括多个模块以实现本文描述的快速IoT原型制作功能。虽然被示出为大容量存储708中的代码块,但是可以理解,可用例如被建立到专用集成电路(ASIC)中的硬连线电路替换模块中的任一个。大容量存储708可包括自动化框架730、IoT数据库732、端点传感器模拟器734、以及控制用户界面736。自动化框架730通过将由端点传感器模拟器734生成的模拟事件传递到模拟IoT网络来运行模拟。自动化框架734利用模拟的表征来填充IoT数据库732中的元组。控制用户界面736被用于定义模拟IoT网络的架构规范,并用于定义要在模拟中处理的模拟工作负载。
附加地或替代地,大容量存储708可包括多个模块以实现本文描述的IoT未来验证功能。大容量存储708可包括自动化框架730、IoT数据库732、端点传感器模拟器734、以及控制用户界面736。自动化框架730通过将由端点传感器模拟器734生成的模拟事件传递到模拟IoT网络来运行模拟。自动化框架734利用模拟的表征来填充IoT数据库732中的元组。控制用户界面736可被用于定义模拟IoT网络的架构规范,并用于定义要在模拟中处理的模拟工作负载。
此外,组件(诸如,网关、以及各种传感器或服务器)可以是真实的、虚拟的或模拟的。实际上,关于图7描述的表示相对于其描绘和评估可以是真实的或模拟的,且包括在实况真实IoT组件与模拟或仿真组件的任何混合操作中的情况。
图8是非瞬态机器可读介质800的框图,该非瞬态机器可读介质800包括指导处理器在IoT系统中执行快速原型制作的代码。处理器802可通过总线804访问该非瞬态机器可读介质800。处理器802和总线804可如关于图7所描述的那样。非瞬态机器可读介质800可包括针对大容量存储描述的设备,诸如光盘、拇指驱动器、或任何数量的其他硬件设备,同样如关于图7所描述的那样。非瞬态机器可读介质800可包括:代码806,用于指导处理器802标识真实世界工作负载;代码808,用于将真实世界工作负载的特性转换为端点模拟器工作负载;代码810,用于生成事件模型;以及代码812,用于模拟处理端点模拟器工作负载。此外,组件(诸如,网关、以及各种传感器或服务器)可以是真实的、虚拟的或模拟的。实际上,关于图5描述的表示相对于其描绘和评估可以是真实的或模拟的,且包括在实况真实IoT组件与模拟或仿真组件的任何混合操作中的情况。
图8是非瞬态机器可读介质900,该非瞬态机器可读介质900包括指导处理器902对IoT系统进行未来验证的代码。处理器902可通过总线904访问该非瞬态机器可读介质900。处理器902和总线904可如关于图7所描述的那样。该非瞬态机器可读介质900可包括针对图7的大容量存储708所描述的设备,或者可包括光盘、拇指驱动器或任何数量的其他硬件设备。
非瞬态机器可读介质900可包括代码906,用于指导处理器902生成如本文描述的工作流。介质900还可包括:代码908,用于生成模拟IoT网络;代码910,用于生成事件模型;以及代码912,用于对所生成工作流进行未来验证。此外,组件(诸如,网关、以及各种传感器或服务器)可以是真实的、虚拟的或模拟的。实际上,关于图9描述的表示相对于其描绘和评估可以是真实的或模拟的,且包括在实况真实IoT组件与模拟或仿真组件的任何混合操作中的情况。
给出示例。示例1包括一种确定用于应用的净空的方法,包括:通过将真实世界工作流修改为结合针对工作负载的未来预期来生成工作流,生成用于对工作负载进行未来验证的模拟物联网(IoT)网络以及用于模拟IoT网络的模拟网关的配置,基于未来验证工作流来生成用于IoT网络的事件模型,以及通过在模拟IoT网络上模拟工作流的执行来对工作负载和配置进行未来验证。
示例2包括示例1的方法,其中对工作负载和配置进行未来验证包括:生成未来应用的模型,以及使用未来应用的模型在模拟IoT网络上模拟工作流的执行。
示例3包括示例1或2的方法,其中未来预期包括未来目标工作流。
示例4包括示例1或2的方法,包括通过分析模拟执行的统计信息特性来确定未来工作流的含意。
示例5包括示例1的方法,包括预测通过改变输入参数而触发的非线性解决方案特性。
示例6包括一种用于对IoT网络进行未来验证的系统,包括:控制用户界面,用于定义与真实IoT网络相关联的模拟物联网(IoT)网络;多个传感器模拟器,用于生成针对未来验证工作负载的事件;以及自动化框架,用于通过在模拟IoT网络中模拟对未来验证工作负载的处理来对真实IoT网络进行未来验证。
示例7包括示例6的系统,其中对工作负载和配置进行未来验证包括:生成未来应用的模型,以及使用未来应用的模型在模拟IoT网络上模拟工作流的执行。
示例8包括示例6或7的系统,其中未来预期包括未来目标工作流。
示例9包括示例6或7的系统,其中自动化框架用于通过分析模拟执行的统计信息特性来确定未来工作流的含意。
示例10包括示例6或7的系统,其中自动化框架用于预测通过改变输入参数而触发的非线性解决方案特性。
示例11包括一种有形非瞬态计算机可读介质,包括代码,代码能由处理器执行以指导处理器用于:通过将真实世界工作流修改为合并针对工作负载的未来预期来生成工作流,生成用于对工作负载进行未来验证的模拟物联网(IoT)网络以及用于模拟IoT网络的模拟网关的配置,基于未来验证工作流来生成用于IoT网络的事件模型,以及通过在模拟IoT网络上模拟工作流的执行来对工作负载和配置进行未来验证。
示例12包括示例11的介质。在一些示例中,工作负载和配置进一步通过以下来进行未来验证:生成未来应用的模型,以及使用未来应用的模型在模拟IoT网络上模拟工作流的执行。
示例13包括示例11或12的介质,其中未来预期包括未来目标工作流。
示例14包括示例11或12的介质,包括代码,该代码能由处理器执行以通过分析模拟执行的统计信息特性来确定未来工作流的含意。
示例15包括示例11或12的介质,包括代码,该代码能由处理器执行以预测通过改变输入参数触发的非线性解决方案特性。
示例16包括一种用于表示发生在真实世界部署中的事件的设备,包括:用于标识包括多个事件的真实世界工作负载的装置;用于将真实世界工作负载的多个特性转换成多个端点模拟器工作负载的装置;用于将多个网关硬件特性转换成用于多个模拟物联网(IoT)网络的多个建模元件的装置;用于在模拟IoT网络中的每一个上执行针对端点模拟器工作负载中的每一个的模拟的装置;用于收集与就模拟IoT网络而对端点模拟器工作负载所执行的模拟有关的统计信息的装置;用于通过将真实世界工作负载修改成结合针对真实世界工作负载的未来期望来生成工作流的装置;用于生成用来对工作负载进行未来验证的模拟物联网(IoT)网络以及用于模拟IoT网络的模拟网关的配置的装置;用于基于未来验证工作流来生成用于模拟IoT网络的事件模型的装置;以及用于通过在模拟IoT网络上模拟工作流的执行来对工作负载和配置进行未来验证的装置。
示例17包括示例16的设备,包括用于表征用于端点模拟器工作负载的模拟IoT网络的性能的装置。
示例18包括示例16或17的设备,包括用于经由用户界面来修改端点模拟器工作负载中的事件的感测值的装置。
示例19包括示例16或17的设备,包括用于生成触发多个同步触发器的事件的装置。
示例20包括示例16或17的设备,包括用于确切地模拟多个触发器的装置。
示例21包括示例16或17的设备,包括用于确切地评估来自多个触发器的同步变化的统计信息的装置。
示例22包括示例16的设备,包括用于确定模拟的统计信息的装置。在一些示例中,模拟在短持续时间内执行。
示例23包括示例16的设备,包括用于自适应地消除对统计信息没有影响的工作负载和网关度量的装置。
示例24包括示例16的设备,包括用于以并行假设分析运行来执行模拟的装置。
示例25包括示例24的设备,包括用于动态地协调来自所执行模块的结果以确定执行序列的装置。
示例26包括一种确定用于应用的净空的方法,包括:通过将真实世界工作流修改为结合针对工作负载的未来预期来生成工作流,生成用于对工作负载进行未来验证的模拟物联网(IoT)网络以及用于模拟IoT网络的模拟网关的配置,基于未来验证工作流来生成用于IoT网络的事件模型,以及通过在模拟IoT网络上模拟工作流的执行来对工作负载和配置进行未来验证。
示例27包括示例26的方法。在一些示例中,对工作负载和配置进行未来验证包括:生成未来应用的模型,以及使用未来应用的模型在模拟IoT网络上模拟工作流的执行。
示例28包括示例26的方法。在一些示例中,未来预期包括未来目标工作流。
示例29包括示例26的方法,包括通过分析模拟执行的统计信息特性来确定未来工作流的含意。
示例30包括示例26的方法,包括预测通过改变输入参数而触发的非线性解决方案特性。
示例31包括一种用于对IoT网络进行未来验证的系统,包括:控制用户界面,用于定义与真实IoT网络相关联的模拟物联网(IoT)网络;多个传感器模拟器,用于生成针对未来验证工作负载的事件;以及自动化框架,用于通过在模拟IoT网络中模拟对未来验证工作负载的处理来对真实IoT网络进行未来验证。
示例32包括示例31的系统。在一些示例中,对工作负载和配置进行未来验证包括:生成未来应用的模型,以及使用未来应用的模型在模拟IoT网络上模拟工作流的执行。
示例33包括示例31的系统。在一些示例中,未来预期包括未来目标工作流。
示例34包括示例31的系统。在一些示例中,自动化框架用于通过分析模拟执行的统计信息特性来确定未来工作流的含意。
示例35包括示例31的系统。在一些示例中,自动化框架用于预测通过改变输入参数而触发的非线性解决方案特性。
36.一种有形非瞬态计算机可读介质,包括代码,代码能由处理器执行以指导处理器用于:通过将真实世界工作流修改为结合针对工作负载的未来预期来生成工作流,生成用于对工作负载进行未来验证的模拟物联网(IoT)网络以及用于模拟IoT网络的模拟网关的配置,基于未来验证工作流来生成用于IoT网络的事件模型,以及通过在模拟IoT网络上模拟工作流的执行来对工作负载和配置进行未来验证。
示例37包括示例36的介质。在一些示例中,工作负载和配置进一步通过以下来进行未来验证:生成未来应用的模型,以及使用未来应用的模型在模拟IoT网络上模拟工作流的执行。
示例38包括示例36的介质。在一些示例中,未来预期包括未来目标工作流。
示例39包括示例36的介质,包括代码,该代码能由处理器执行以通过分析模拟执行的统计信息特性来确定未来工作流的含意。
示例40包括示例36的介质,包括代码,该代码能由处理器执行以预测通过改变输入参数而触发的非线性解决方案特性。
示例41包括一种用于标识发生在真实世界部署中的事件的方法,包括:标识包括多个事件的真实世界工作负载;将真实世界工作负载的多个特性转换成多个端点模拟器工作负载;将多个网关硬件特性转换成用于多个模拟物联网(IoT)网络的多个建模元件;在模拟IoT网络中的每一个上执行针对端点模拟器工作负载中的每一个的模拟;收集与就所述模拟IoT网络而对所述端点模拟器工作负载所执行的模拟有关的统计信息;通过将真实世界工作负载修改成结合针对真实世界工作负载的未来期望来生成工作流;生成用来对工作负载进行未来验证的模拟物联网(IoT)网络以及用于模拟IoT网络的模拟网关的配置;基于未来验证工作流来生成用于模拟IoT网络的事件模型;以及通过在模拟IoT网络上模拟工作流的执行来对工作负载和配置进行未来验证。
示例42包括示例41的方法,包括表征用于端点模拟器工作负载的模拟IoT网络的性能。
示例43包括示例42的方法,包括经由用户界面来修改端点模拟器工作负载中的事件的感测值。
示例44包括示例41的方法,进一步包括生成触发多个同步触发器的事件。
示例45包括示例41的方法,进一步包括确切地模拟多个触发器。
示例46包括示例41的方法,包括确切地评估来自多个触发器的同步变化的统计信息。
示例47包括示例41的方法,包括确定模拟的统计信息。在一些示例中,模拟在短持续时间内执行。
示例48包括示例41的方法,包括自适应地消除对统计信息没有影响的工作负载和网关度量。
示例49包括示例41的方法,包括以并行假设分析运行来执行模拟。
示例50包括示例49的方法,包括动态地协调来自所执行模块的结果以确定执行序列。
示例51包括一种确定用于应用的净空的方法,包括:通过将真实世界工作流修改为结合针对工作负载的未来预期来生成工作流,生成用于对工作负载进行未来验证的模拟物联网(IoT)网络以及用于模拟IoT网络的模拟网关的配置,基于未来验证工作流来生成用于IoT网络的事件模型,以及通过在模拟IoT网络上模拟工作流的执行来对工作负载和配置进行未来验证。
示例52包括示例51的方法。在一些示例中,对工作负载和配置进行未来验证包括:生成未来应用的模型,以及使用未来应用的模型在模拟IoT网络上模拟工作流的执行。
示例53包括示例51或52的方法,其中未来预期包括未来目标工作流。
示例54包括示例51或52的方法,包括通过分析模拟执行的统计信息特性来确定未来工作流的含意。
示例55包括示例51或52的方法,包括预测通过改变输入参数触发的非线性解决方案特性。
示例56包括一种用于对IoT网络进行未来验证的系统,包括:控制用户界面,用于定义与真实IoT网络相关联的模拟物联网(IoT)网络;多个传感器模拟器,用于生成针对未来验证工作负载的事件;以及自动化框架,用于通过在模拟IoT网络中模拟对未来验证工作负载的处理来对真实IoT网络进行未来验证。
示例57包括示例56的系统。在一些示例中,对工作负载和配置进行未来验证包括:生成未来应用的模型,以及使用未来应用的模型在模拟IoT网络上模拟工作流的执行。
示例58包括示例56或57的系统,其中未来预期包括未来目标工作流。
示例59包括示例56或57的系统,其中自动化框架用于通过分析模拟执行的统计信息特性来确定未来工作流的含意。
示例60包括示例56或57的系统,其中自动化框架用于预测通过改变输入参数而触发的非线性解决方案特性。
示例61包括一种用于表示发生在真实世界部署中的事件的系统,包括:控制用户界面,用于定义与真实IoT网络相关联的模拟物联网(IoT)网络;多个传感器模拟器,用于生成针对未来验证工作负载的事件;以及自动化框架,用于通过在模拟IoT网络中模拟对未来验证工作负载的处理来对真实IoT网络进行未来验证;其中自动化框架标识包括多个事件的真实世界工作负载,将真实世界工作负载的多个特性转换成多个端点模拟器工作负载,将多个网关硬件特性转换成用于多个模拟物联网(IoT)网络的多个建模元件,在模拟IoT网络中的每一个上执行针对端点模拟器工作负载中的每一个的模拟,收集与就所述模拟IoT网络而对所述端点模拟器工作负载所执行的模拟有关的统计信息,通过将真实世界工作负载修改成结合针对真实世界工作负载的未来期望来生成工作流,生成用来对工作负载进行未来验证的模拟物联网(IoT)网络以及用于模拟IoT网络的模拟网关的配置,基于未来验证工作流来生成用于模拟IoT网络的事件模型,以及通过在模拟IoT网络上模拟工作流的执行来对工作负载和配置进行未来验证。
示例62包括示例61的系统。在一些示例中,自动化框架表征用于端点模拟器工作负载的模拟IoT网络的性能。
示例63包括示例61或62的系统,其中自动化框架经由用户界面来修改端点模拟器工作负载中的事件的感测值。
示例64包括示例61或62的系统,其中自动化框架生成触发多个同步触发器的事件。
示例65包括示例61或62的系统,其中自动化框架确切地模拟多个触发器。
示例66包括一种用于标识发生在真实世界部署中的事件的方法,包括:标识包括多个事件的真实世界工作负载;将真实世界工作负载的多个特性转换成多个端点模拟器工作负载;将多个网关硬件特性转换成用于多个模拟物联网(IoT)网络的多个建模元件;在模拟IoT网络中的每一个上执行针对端点模拟器工作负载中的每一个的模拟;收集与就所述模拟IoT网络而对所述端点模拟器工作负载所执行的模拟有关的统计信息;通过将真实世界工作负载修改成结合针对真实世界工作负载的未来期望来生成工作流;生成用来对工作负载进行未来验证的模拟物联网(IoT)网络以及用于模拟IoT网络的模拟网关的配置;基于未来验证工作流来生成用于模拟IoT网络的事件模型;以及通过在模拟IoT网络上模拟工作流的执行来对工作负载和配置进行未来验证。
示例67包括示例66的方法,包括表征用于端点模拟器工作负载的模拟IoT网络的性能。
示例68包括示例66或67的方法,包括经由用户界面来修改端点模拟器工作负载中的事件的感测值。
示例69包括示例66或67的方法,进一步包括生成触发多个同步触发器的事件。
示例70包括示例66或67的方法,进一步包括确切地模拟多个触发器。
示例71包括示例66的方法,包括确切地评估来自多个触发器的同步变化的统计信息。
示例72包括示例66的方法,包括确定模拟的统计信息。在一些示例中,模拟在短持续时间内执行。
示例73包括示例66的方法,包括自适应地消除对统计信息没有影响的工作负载和网关度量。
示例74包括示例66的方法,包括以并行假设分析运行来执行模拟。
示例75包括示例74的方法,包括动态地协调来自所执行模块的结果以确定执行序列。
示例76包括一种确定用于应用的净空的方法,包括:通过将真实世界工作流修改为结合针对工作负载的未来预期来生成工作流,生成用于对工作负载进行未来验证的模拟物联网(IoT)网络以及用于模拟IoT网络的模拟网关的配置,基于未来验证工作流来生成用于IoT网络的事件模型,以及通过在模拟IoT网络上模拟工作流的执行来对工作负载和配置进行未来验证。
示例77包括示例76的方法。在一些示例中,对工作负载和配置进行未来验证包括:生成未来应用的模型,以及使用未来应用的模型在模拟IoT网络上模拟工作流的执行。
示例78包括示例76或77的方法,其中未来预期包括未来目标工作流。
示例79包括示例76至78的方法,包括通过分析模拟执行的统计信息特性来确定未来工作流的含意。
示例80包括示例76的方法,包括预测通过改变输入参数而触发的非线性解决方案特性。
示例81包括一种用于对IoT网络进行未来验证的系统,包括:控制用户界面,用于定义与真实IoT网络相关联的模拟物联网(IoT)网络;多个传感器模拟器,用于生成针对未来验证工作负载的事件;以及自动化框架,用于通过在模拟IoT网络中模拟对未来验证工作负载的处理来对真实IoT网络进行未来验证。
示例82包括示例81的系统。在一些示例中,对工作负载和配置进行未来验证包括:生成未来应用的模型,以及使用未来应用的模型在模拟IoT网络上模拟工作流的执行。
示例83包括示例81或82的系统,其中未来预期包括未来目标工作流。
示例84包括示例81至83的系统,其中自动化框架用于通过分析模拟执行的统计信息特性来确定未来工作流的含意。
示例85包括示例81或82的系统,其中自动化框架用于预测通过改变输入参数而触发的非线性解决方案特性。
示例86包括一种有形非瞬态计算机可读介质,包括代码,代码能由处理器执行以指导处理器用于:通过将真实世界工作流修改为结合针对工作负载的未来预期来生成工作流,生成用于对工作负载进行未来验证的模拟物联网(IoT)网络以及用于模拟IoT网络的模拟网关的配置,基于未来验证工作流来生成用于IoT网络的事件模型,以及通过在模拟IoT网络上模拟工作流的执行来对工作负载和配置进行未来验证。
示例87包括示例86的介质。在一些示例中,工作负载和配置进一步通过以下来进行未来验证:生成未来应用的模型,以及使用未来应用的模型在模拟IoT网络上模拟工作流的执行。
示例88包括示例86或87的介质,其中未来预期包括未来目标工作流。
示例89包括一种用于标识发生在真实世界部署中的事件的设备,包括:用于标识包括多个事件的真实世界工作负载的装置;用于将真实世界工作负载的多个特性转换成多个端点模拟器工作负载的装置;用于将多个网关硬件特性转换成用于多个模拟物联网(IoT)网络的多个建模元件的装置;用于在模拟IoT网络中的每一个上执行针对端点模拟器工作负载中的每一个的模拟的装置;用于收集与就所述模拟IoT网络而对所述端点模拟器工作负载所执行的模拟有关的统计信息的装置;用于通过将真实世界工作负载修改成结合针对真实世界工作负载的未来期望来生成工作流的装置;用于生成用来对工作负载进行未来验证的模拟物联网(IoT)网络以及用于模拟IoT网络的模拟网关的配置的装置;用于基于未来验证工作流来生成用于模拟IoT网络的事件模型的装置;以及用于通过在模拟IoT网络上模拟工作流的执行来对工作负载和配置进行未来验证的装置。
示例90包括示例89的设备,包括用于表征用于端点模拟器工作负载的模拟IoT网络的性能的装置。
代码示例
以下仅是示例,并非旨在限制本技术。根据设备(客户端、网关或服务器)的角色,可能有多个文件在设备上运行。在以下示例中,代码确定针对给定输入工作流参数集和网关特性的解决方案特性。
以下代码示例包括执行IoT网络的未来验证的一个代码部分集,以及执行IoT网络的快速原型制作的一个代码部分集。未来验证是标识满足潜在未来工作流的SLA条件的架构。在未来验证的示例中,代码部分1-4确定适应给定输入工作流参数集和预期解决方案特性的网关特性。这些工作流参数是当前部署可能在将来某个时间使用的参数集。预期解决方案特性可以是未来IoT网络架构可包括的事物的预期。
#寻找针对给定工作流和解决方案参数集的最优网关配置。
#ML等式:Gi=Wi+Si
#基于输入工作流参数和预期解决方案特性,
#使用机器学习来计算解决方案结果所需要的网关特性
import numpy as np
import statsmodels.api as sm
import xlrd
import pandas as pd
import math
import time
import os
代码部分1
代码部分2执行线性回归。存在将影响给定相关参数的若干独立参数,并且该关系可以是非线性关系。在示例中,将代码部分2应用于边缘设备提供了对解决方案参数、网关配置、发布特性等的确定以确定高效配置。
代码部分2
注意,代码部分3确定网关特性。然而,这仅仅是可确定的架构元件的一个示例。示例还可以或替代地确定IoT网络架构的其他元件的特性。
代码部分3
代码部分4
在以下示例中,代码部分5-9执行IoT网络的快速原型制作。具体地,估计针对给定工作流和网关参数集的解决方案特性。
代码部分5
代码部分6示出CPU预测来作为可如何进行确定的一个示例。可使用类似办法来进行关于架构的存储器、存储、带宽、软件和任何其他元件的确定。
代码部分6
代码部分7
代码部分8表示回归运行。回归运行的输出是针对感兴趣参数的预测值。这些所得参数是如在部署中可观察到的解决方案特性。
#对输入数据运行回归
results=reg_m(y,x)
#捕捉系数
Reg_const=results.params[0]
Reg_sensor=results.params[1]
Reg_pub=results.params[2]
Reg_burst=results.params[3]
代码部分8
代码部分9检测实际工作流。这是使用概况分析器来完成的,这些概况分析器可检测参数值,诸如发布速率、有效载荷、头部特性、CPU、存储器使用等。
#检测进入网关的工作流
global count,g_avg_pub_freq,g_aprx_pub_freq,g_avg_burst_count,pub_msg
count=(count%10)+1
for i in range(len(time_list)1):
time2=time_list[i+1].split("")[0]
time1=time_list[i].split("")[0]
exec_time=float((datetime.datetime.strptime(time2,FMT)datetime.datetime.strptime(time1,FMT))total_seconds())
exec_time*=1000
exec_time_list.append(exec_time)
os.system("clear")
cmd="netstat lantp|grep E'mosquitto.*ESTABLISHED|ESTABLISHED.*mosquitto'|grep-v'127.0.0.1'|wc l"
proc=Popen(cmd,shell=True,stdout=PIPE,)
num_sensor=int(proc.communicate()[0])1
avg_burst_count=sum(burst_count)/len(burst_count)
if(g_avg_burst_count==0):
g_avg_burst_count=avg_burst_count
else:
g_avg_burst_count=g_avg_burst_count+(float(avg_burst_count g_avg_burst_count)/count)
avg_pub_freq=sum(interval_list)/len(interval_list)
if(g_avg_pub_freq==0):
g_avg_pub_freq=avg_pub_freq
else:
g_avg_pub_freq=g_avg_pub_freq+(float(avg_pub_freq g_avg_pub_freq)/count)
print"Number of sensors:",num_sensor
print"Avg publish interval:"+str(g_avg_pub_freq)+"seconds"
print"Avg Burst Count:"+str(g_avg_burst_count)
cpu_usage=psutil.cpu_times_percent().user
print"CPU Usage:"+str(cpu_usage)
data_string=
str(num_sensor)+','+str(int(round(g_avg_pub_freq)))+','+str(int(round(g_avg_burst_count)))+','+str(int(cpu_usage))
array=[]
array.append(data_string.strip().split(','))
test_arr=[map(int,x)for x in array]
#计算解决方案特性
Soln_calc(test_arr,Reg_const,Reg_sensor,Reg_pub,Reg_burst,math.sqrt(results.scale))
代码部分9
Claims (27)
1.一种确定应用的净空的方法,包括:
通过将真实世界工作流修改成结合针对工作负载的未来预期来生成工作流;
生成用于对所述工作负载进行未来验证的模拟物联网(IoT)网络以及用于所述模拟IoT网络的模拟网关的配置;
基于未来验证工作流来生成用于IoT网络的事件模型;以及
通过在所述模拟IoT网络上模拟所述工作流的执行来对所述工作负载和所述配置进行未来验证。
2.如权利要求1所述的方法,其特征在于,对所述工作负载和所述配置进行未来验证包括:
生成未来应用的模型;以及
使用所述未来应用的模型在所述模拟IoT网络上模拟所述工作流的执行。
3.如权利要求1或2所述的方法,其特征在于,所述未来预期包括未来目标工作流。
4.如权利要求1或2所述的方法,其特征在于,包括通过分析所述模拟执行的统计信息特性来确定未来工作流的含意。
5.如权利要求1或2所述的方法,其特征在于,包括预测通过改变输入参数而触发的非线性解决方案特性。
6.一种用于对IoT网络进行未来验证的系统,包括:
控制用户界面,用于定义与真实物联网(IoT)网络相关联的模拟IoT网络;
多个传感器模拟器,用于生成针对未来验证工作负载的事件;以及
自动化框架,用于通过在所述模拟IoT网络中模拟对所述未来验证工作负载的处理来对所述真实IoT网络进行未来验证。
7.如权利要求6所述的系统,其特征在于,对所述工作负载和配置进行未来验证包括:
生成未来应用的模型;以及
使用所述未来应用的模型在所述模拟IoT网络上模拟工作流的执行。
8.如权利要求6或7所述的系统,其特征在于,未来预期包括未来目标工作流。
9.如权利要求6或7所述的系统,其特征在于,所述自动化框架用于通过分析所述模拟执行的统计信息特性来确定未来工作流的含意。
10.如权利要求6或7所述的系统,其特征在于,所述自动化框架用于预测通过改变输入参数而触发的非线性解决方案特性。
11.一种用于表示发生在真实世界部署中的事件的系统,包括:
控制用户界面,用于定义与真实物联网(IoT)网络相关联的模拟IoT网络;
多个传感器模拟器,用于生成针对未来验证工作负载的事件;以及
自动化框架,用于通过在所述模拟IoT网络中模拟对所述未来验证工作负载的处理来对所述真实IoT网络进行未来验证,其中所述自动化框架:
标识包括多个所述事件的真实世界工作负载;
将所述真实世界工作负载的多个特性转换成多个端点模拟器工作负载;
将多个网关硬件特性转换成用于多个模拟物联网(IoT)网络的多个建模元件;
在所述模拟IoT网络中的每一个上执行对所述端点模拟器工作负载中的每一个的模拟;
收集与就所述模拟IoT网络而对所述端点模拟器工作负载所执行的模拟有关的统计信息;
通过将所述真实世界工作负载修改成结合针对所述真实世界工作负载的未来预期来生成工作流;
生成用于对所述工作负载进行未来验证的模拟IoT网络以及用于所述模拟IoT网络的模拟网关的配置;
基于所述未来验证工作流来生成用于所述模拟IoT网络的事件模型;以及
通过在所述模拟IoT网络上模拟所述工作流的执行来对所述工作负载和所述配置进行未来验证。
12.如权利要求11所述的系统,其特征在于,所述自动化框架表征用于所述端点模拟器工作负载的所述模拟IoT网络的性能。
13.如权利要求11或12所述的系统,其特征在于,所述自动化框架经由用户界面来修改所述端点模拟器工作负载中的事件的感测值。
14.如权利要求11或12所述的系统,其特征在于,所述自动化框架生成触发多个同步触发器的事件。
15.如权利要求11或12所述的系统,其特征在于,所述自动化框架确切地模拟多个触发器。
16.一种用于表示发生在真实世界部署中的事件的方法,包括:
标识包括多个所述事件的真实世界工作负载;
将所述真实世界工作负载的多个特性转换成多个端点模拟器工作负载;
将多个网关硬件特性转换成用于多个模拟物联网(IoT)网络的多个建模元件;
在所述模拟IoT网络中的每一个上执行针对所述端点模拟器工作负载中的每一个的模拟;
收集与就所述模拟IoT网络而对所述端点模拟器工作负载所执行的模拟有关的统计信息;
通过将所述真实世界工作负载修改成结合针对所述真实世界工作负载的未来期望来生成工作流;
生成用来对所述工作负载进行未来验证的模拟物联网(IoT)网络以及用于所述模拟IoT网络的模拟网关的配置;
基于所述未来验证工作流来生成用于所述模拟IoT网络的事件模型;以及
通过在所述模拟IoT网络上模拟所述工作流的执行来对所述工作负载和所述配置进行未来验证。
17.如权利要求16所述的方法,其特征在于,包括表征用于所述端点模拟器工作负载的所述模拟IoT网络的性能。
18.如权利要求16或17所述的方法,其特征在于,包括经由用户界面来修改所述端点模拟器工作负载中的事件的感测值。
19.如权利要求16或17所述的方法,其特征在于,进一步包括生成触发多个同步触发器的事件。
20.如权利要求16或17所述的方法,其特征在于,进一步包括确切地模拟多个触发器。
21.如权利要求16所述的方法,其特征在于,包括确切地评估来自多个触发器的同步变化的统计信息。
22.如权利要求16所述的方法,其特征在于,包括确定所述模拟的所述统计信息,其中所述模拟在短持续时间内执行。
23.如权利要求16所述的方法,其特征在于,包括自适应地消除对所述统计信息没有影响的工作负载和网关度量。
24.如权利要求16所述的方法,其特征在于,包括以并行假设分析运行来执行所述模拟。
25.如权利要求24所述的方法,其特征在于,包括动态地协调来自被执行模块的结果以确定执行序列。
26.一种其上存储有指令的计算机可读介质,所述指令当由计算机处理器执行时使所述处理器执行如权利要求16至25中任一项所述的方法。
27.一种设备,包括用于执行如权利要求16至25中任一项所述的方法的装置。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662379313P | 2016-08-25 | 2016-08-25 | |
US201662379339P | 2016-08-25 | 2016-08-25 | |
US62/379,339 | 2016-08-25 | ||
US62/379,313 | 2016-08-25 | ||
US15/638,942 US11463526B2 (en) | 2016-08-25 | 2017-06-30 | Future proofing and prototyping an internet of things network |
US15/638,942 | 2017-06-30 | ||
PCT/US2017/048559 WO2018039529A1 (en) | 2016-08-25 | 2017-08-25 | Future proofing and prototyping an internet of things network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109496416A CN109496416A (zh) | 2019-03-19 |
CN109496416B true CN109496416B (zh) | 2022-03-29 |
Family
ID=61243945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780046506.8A Active CN109496416B (zh) | 2016-08-25 | 2017-08-25 | 对物联网网络进行未来验证和原型制作 |
Country Status (3)
Country | Link |
---|---|
US (3) | US11463526B2 (zh) |
CN (1) | CN109496416B (zh) |
WO (1) | WO2018039529A1 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9918351B2 (en) * | 2014-04-01 | 2018-03-13 | Belkin International Inc. | Setup of multiple IOT networks devices |
US11463526B2 (en) | 2016-08-25 | 2022-10-04 | Intel Corporation | Future proofing and prototyping an internet of things network |
US10397303B1 (en) * | 2016-08-29 | 2019-08-27 | Amazon Technologies, Inc. | Semantic annotation and translations for devices |
CN110024422B (zh) * | 2016-12-30 | 2023-07-18 | 英特尔公司 | 物联网的命名和区块链记录 |
US20180316555A1 (en) * | 2017-04-29 | 2018-11-01 | Cisco Technology, Inc. | Cognitive profiling and sharing of sensor data across iot networks |
CN109391500B (zh) * | 2017-08-11 | 2021-08-31 | 华为技术有限公司 | 一种配置管理方法、装置及设备 |
EP3462705B1 (en) * | 2017-09-27 | 2019-07-10 | Siemens Aktiengesellschaft | Provisioning of software applications on edge devices in an internet-of-things environment |
US10862971B2 (en) | 2018-04-27 | 2020-12-08 | EMC IP Holding Company LLC | Internet of things gateway service for a cloud foundry platform |
EP3788771A4 (en) * | 2018-05-15 | 2021-12-29 | Vicat-Blanc, Pascale | Systems and methods for modeling and simulating an iot system |
US10715640B2 (en) * | 2018-07-13 | 2020-07-14 | EMC IP Holding Company LLC | Internet of things gateways of moving networks |
US10996964B2 (en) | 2018-09-27 | 2021-05-04 | Hewlett Packard Enterprise Development Lp | Virtual endpoint software system |
CN110224719B (zh) * | 2019-06-25 | 2021-08-31 | Oppo广东移动通信有限公司 | 通信控制方法及相关产品 |
CN114342338B (zh) * | 2019-09-29 | 2023-11-03 | 西门子股份公司 | 基于物联网模型的虚拟物联网设备生成方法及装置 |
US11755734B2 (en) * | 2019-09-30 | 2023-09-12 | Mcafee, Llc | Analysis priority of objects from cross-sectional variance |
US11172440B2 (en) | 2019-11-21 | 2021-11-09 | Motorola Solutions, Inc. | System and method for virtual low power wide area network nodes in a low power wide area network gateway |
CN111131020A (zh) * | 2019-12-13 | 2020-05-08 | 北京博大光通物联科技股份有限公司 | 通信管理方法和系统 |
US11303517B2 (en) | 2020-01-07 | 2022-04-12 | International Business Machines Corporation | Software patch optimization |
US11126157B1 (en) * | 2020-03-23 | 2021-09-21 | Vmware, Inc. | Hybrid internet of things evaluation framework |
US11539529B2 (en) * | 2020-05-27 | 2022-12-27 | Wipro Limited | System and method for facilitating of an internet of things infrastructure for an application |
US20220253689A1 (en) * | 2021-02-09 | 2022-08-11 | Hewlett Packard Enterprise Development Lp | Predictive data capacity planning |
CN113590471B (zh) * | 2021-07-05 | 2024-05-24 | 陕西银河时代清洁能源有限公司 | 一种通讯终端设备模拟系统及其使用方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546536A (zh) * | 2013-08-28 | 2014-01-29 | 北京清控人居环境研究院有限公司 | 污水处理厂物联网系统 |
CN103997435A (zh) * | 2014-05-23 | 2014-08-20 | 交通运输部科学研究院 | 一种基于故障仿真的交通物联网测试方法 |
CN104699476A (zh) * | 2014-07-01 | 2015-06-10 | 北京邮电大学 | 仿真方法、装置及系统 |
WO2016118979A2 (en) * | 2015-01-23 | 2016-07-28 | C3, Inc. | Systems, methods, and devices for an enterprise internet-of-things application development platform |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311144B1 (en) | 1998-05-13 | 2001-10-30 | Nabil A. Abu El Ata | Method and apparatus for designing and analyzing information systems using multi-layer mathematical models |
US7020697B1 (en) * | 1999-10-01 | 2006-03-28 | Accenture Llp | Architectures for netcentric computing systems |
US7626665B2 (en) * | 2004-08-31 | 2009-12-01 | Tohoku University | Copper alloys and liquid-crystal display device |
US8010337B2 (en) * | 2004-09-22 | 2011-08-30 | Microsoft Corporation | Predicting database system performance |
US8200659B2 (en) | 2005-10-07 | 2012-06-12 | Bez Systems, Inc. | Method of incorporating DBMS wizards with analytical models for DBMS servers performance optimization |
US8959006B2 (en) * | 2006-03-10 | 2015-02-17 | Power Analytics Corporation | Systems and methods for automatic real-time capacity assessment for use in real-time power analytics of an electrical power distribution system |
US8903757B2 (en) * | 2008-12-12 | 2014-12-02 | Appnomic Systems Private Limited | Proactive information technology infrastructure management |
US8140682B2 (en) | 2009-12-22 | 2012-03-20 | International Business Machines Corporation | System, method, and apparatus for server-storage-network optimization for application service level agreements |
US8489745B2 (en) | 2010-02-26 | 2013-07-16 | International Business Machines Corporation | Optimizing power consumption by dynamic workload adjustment |
CN102946616B (zh) * | 2012-11-21 | 2015-07-08 | 山东中创软件商用中间件股份有限公司 | 一种物联网中间件性能测试系统和测试方法 |
EP2849064B1 (en) * | 2013-09-13 | 2016-12-14 | NTT DOCOMO, Inc. | Method and apparatus for network virtualization |
US10516736B2 (en) | 2013-10-08 | 2019-12-24 | Iotic Labs Limited | Internet of things |
US20150134954A1 (en) | 2013-11-14 | 2015-05-14 | Broadcom Corporation | Sensor management system in an iot network |
US9436490B2 (en) * | 2014-01-13 | 2016-09-06 | Cisco Technology, Inc. | Systems and methods for testing WAAS performance for virtual desktop applications |
US20160065653A1 (en) | 2014-08-26 | 2016-03-03 | Fujitsu Limited | Internet of things (iot) device configuration construction |
US11138537B2 (en) * | 2014-09-17 | 2021-10-05 | International Business Machines Corporation | Data volume-based server hardware sizing using edge case analysis |
KR101605968B1 (ko) * | 2014-10-08 | 2016-03-24 | 한국과학기술원 | 가상 객체의 동적 인스턴스 호스팅 서비스 변경 방법 및 시스템 |
US10149335B2 (en) * | 2014-11-10 | 2018-12-04 | Qualcomm Incorporated | Connectivity module for internet of things (IOT) devices |
US20160182309A1 (en) | 2014-12-22 | 2016-06-23 | Rockwell Automation Technologies, Inc. | Cloud-based emulation and modeling for automation systems |
US9900382B2 (en) * | 2015-02-18 | 2018-02-20 | Anna Mazor | Promotion of internet-of-things (IOT) connectivity |
US10037025B2 (en) * | 2015-10-07 | 2018-07-31 | Business Objects Software Ltd. | Detecting anomalies in an internet of things network |
US10083055B2 (en) * | 2016-02-12 | 2018-09-25 | At&T Intellectual Property I, L.P. | Management of IoT devices in a virtualized network |
US10187258B2 (en) * | 2016-04-26 | 2019-01-22 | Cognito Networks, Inc. | Creating and managing dynamic internet of things entities |
US11463526B2 (en) | 2016-08-25 | 2022-10-04 | Intel Corporation | Future proofing and prototyping an internet of things network |
-
2017
- 2017-06-30 US US15/638,942 patent/US11463526B2/en active Active
- 2017-08-25 WO PCT/US2017/048559 patent/WO2018039529A1/en active Application Filing
- 2017-08-25 CN CN201780046506.8A patent/CN109496416B/zh active Active
-
2022
- 2022-08-15 US US17/887,628 patent/US20230110334A1/en active Pending
-
2023
- 2023-10-16 US US18/487,277 patent/US20240048621A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546536A (zh) * | 2013-08-28 | 2014-01-29 | 北京清控人居环境研究院有限公司 | 污水处理厂物联网系统 |
CN103997435A (zh) * | 2014-05-23 | 2014-08-20 | 交通运输部科学研究院 | 一种基于故障仿真的交通物联网测试方法 |
CN104699476A (zh) * | 2014-07-01 | 2015-06-10 | 北京邮电大学 | 仿真方法、装置及系统 |
WO2016118979A2 (en) * | 2015-01-23 | 2016-07-28 | C3, Inc. | Systems, methods, and devices for an enterprise internet-of-things application development platform |
Non-Patent Citations (1)
Title |
---|
基于物联网数据仿真建模的关键方法研究及其应用;倪鹏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150815(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20240048621A1 (en) | 2024-02-08 |
US20230110334A1 (en) | 2023-04-13 |
US11463526B2 (en) | 2022-10-04 |
WO2018039529A1 (en) | 2018-03-01 |
CN109496416A (zh) | 2019-03-19 |
US20180063250A1 (en) | 2018-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109496416B (zh) | 对物联网网络进行未来验证和原型制作 | |
CN109479073B (zh) | Iot解决方案大小调整 | |
US11144382B2 (en) | Profiling and diagnostics for internet of things | |
US11943280B2 (en) | 5G network edge and core service dimensioning | |
US11921569B2 (en) | Remote debugging and management | |
US10568524B2 (en) | Compliance checker for service agreement | |
US20190138908A1 (en) | Artificial intelligence inference architecture with hardware acceleration | |
WO2019199362A1 (en) | Flexible multi-access edge computing (mec) services consumption through hosts zoning | |
WO2019139708A1 (en) | Self-adjusting data processing system | |
Carvalho et al. | A test methodology for evaluating architectural delays of LoRaWAN implementations | |
US10795399B2 (en) | Device throughput optimization for bus protocols | |
US11546761B2 (en) | Access control in an observe-notify network using callback | |
US20220417117A1 (en) | Telemetry redundant measurement avoidance protocol | |
Doheir et al. | Extension of NS2 framework for wireless sensor network | |
Kitsanelis et al. | Software-Defined Networking Enabled Technologies for Heterogeneous Radio Access Networks | |
Bao et al. | Vehicular Network Simulation via ns-3 with Software-Defined Networking Paradigm | |
CN113708946A (zh) | 计算系统及消息路由方法 | |
Carlà et al. | Current and future trends in open source network simulators for wireless systems | |
Jyothi | Performance Evaluation and Implementation of Proposed Routing Protocol for WSN |
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 |