首页 / 专利库 / 软件 / 逻辑文件 / 用于分布式智能遥感系统的系统

用于分布式智能遥感系统的系统

阅读:0发布:2020-07-19

专利汇可以提供用于分布式智能遥感系统的系统专利检索,专利查询,专利分析的服务。并且包括 虚拟机 分布式系统的 物联网 (IoT)系统,包括:至少一个IoT平台系统控制引擎,其包括平台系统控制引擎安全系统空间和IoT平台系统控制引擎用户定义的空间;至少一个网络 节点 设备,其包括网络节点设备安全系统空间和IoT网络节点设备用户定义的空间;以及至少一个边缘设备,其包括边缘设备安全系统空间和边缘设备用户定义的空间,其中控制引擎、网络节点设备和边缘设备的安全系统空间每个被配置成被保护以防止未授权 访问 ,并且平台系统控制引擎、网络节点设备和边缘设备的用户定义的空间每个定义相应的虚拟机。,下面是用于分布式智能遥感系统的系统专利的具体信息内容。

1.一种包括虚拟机的分布式系统的物联网(IoT)系统,所述IoT系统包括:
至少一个IoT平台系统控制引擎,所述至少一个IoT平台系统控制引擎中的每一个包括IoT平台系统控制引擎安全系统空间和IoT平台系统控制引擎用户定义的空间;
通过网络与所述至少一个IoT平台系统控制引擎可通信的至少一个IoT网络节点设备,所述至少一个IoT网络节点设备中的每一个包括IoT网络节点设备安全系统空间和IoT网络节点设备用户定义的空间;
通过所述网络与所述至少一个IoT网络节点设备和所述至少一个IoT平台系统控制引擎可通信的至少一个IoT边缘设备,所述至少一个IoT边缘设备中的每一个包括边缘设备安全系统空间和边缘设备用户定义的空间;
其中,所述IoT平台系统控制引擎安全系统空间、所述IoT网络节点设备安全系统空间和所述边缘设备安全系统空间每个被配置成被保护以防止未授权访问;和
其中,所述IoT平台系统控制引擎用户定义的空间、所述IoT网络节点设备用户定义的空间和所述边缘设备用户定义的空间每个定义相应的虚拟机,所述相应的虚拟机被配置成接收和执行用户定义的指令以形成虚拟机的分布式系统。
2.根据权利要求1所述的IoT系统,其中,所述IoT平台系统控制引擎安全系统空间和所述边缘设备安全系统空间每个分别被配置成控制在所述网络上在所述至少一个IoT平台系统控制引擎、所述至少一个IoT网络节点设备和所述至少一个IoT边缘设备之间的通信。
3.根据权利要求1所述的IoT系统,其中,所述IoT平台系统控制引擎安全系统空间、IoT网络节点设备安全系统空间和所述边缘设备安全系统空间每个包括集成通信控制模以控制在所述网络上的通信。
4.根据权利要求1所述的IoT系统,其中,所述边缘设备安全系统空间被配置成定义所述IoT边缘设备的应用层与所述至少一个IoT边缘设备的驱动层之间的接口
5.根据权利要求1所述的IoT系统,其中,所述至少一个边缘设备的所述虚拟机被配置成将所述至少一个IoT边缘设备的应用层配置成与预定的传感器类型进行对接。
6.根据权利要求1所述的IoT系统,其中,所述至少一个IoT平台系统控制引擎的所述虚拟机被配置成接收用户定义的指令。
7.根据权利要求1所述的IoT系统,其中,所述至少一个IoT平台系统控制引擎的所述虚拟机被配置成将用户定义的指令传播到所述IoT网络节点设备和所述IoT边缘设备的所述相应的虚拟机。
8.根据权利要求1所述的IoT系统,其中,所述IoT边缘设备被配置成通过所述IoT边缘设备的所述虚拟机来与多种传感器输入和多种输出进行接口。
9.根据权利要求8所述的IoT系统,其中,所述IoT边缘设备的所述虚拟机被配置成定制所述多种传感器输入和多种输出的功能性。
10.根据权利要求1所述的IoT系统,其中,所述至少一个IoT平台系统控制引擎、所述至少一个IoT网络节点设备和所述至少一个IoT边缘设备的所述相应的虚拟机可配置有脚本语言接口。
11.根据权利要求1所述的IoT系统,其中,所述至少一个IoT平台系统控制引擎、所述至少一个IoT网络节点设备和所述至少一个IoT边缘设备的所述相应的虚拟机可配置有视觉配置接口。
12.根据权利要求1所述的IoT系统,其中,所述至少一个边缘设备的所述虚拟机被配置成针对预定的传感器类型来配置所述至少一个边缘设备的应用层。
13.根据权利要求1所述的IoT系统,其中,所述IoT平台系统控制引擎包括集成通信控制模块
14.根据权利要求1所述的IoT系统,其中,所述至少一个IoT平台系统控制引擎、所述至少一个网络节点设备和所述至少一个IoT边缘设备的所述相应的虚拟机被配置成执行特定IoT任务。
15.根据权利要求14所述的IoT系统,其中,所述至少一个IoT平台系统控制引擎、所述至少一个IoT网络节点设备或所述至少一个IoT边缘设备的所述相应的虚拟机被配置成执行所述特定IoT任务的各部分,其中基于所述至少一个IoT平台系统控制引擎、所述至少一个IoT网络节点设备或所述至少一个IoT边缘设备的所述相应的虚拟机的容量和效率特性来分布所述特定IoT任务的各部分。
16.一种操作包括虚拟机的分布式系统的物联网(IoT)系统的方法,所述方法包括:
提供至少一个IoT平台系统控制引擎,所述至少一个IoT平台系统控制引擎具有IoT平台系统控制引擎安全系统空间和IoT平台系统控制引擎用户定义的空间;
提供通过网络与所述至少一个IoT平台系统控制引擎可通信的至少一个IoT网络节点设备,所述至少一个IoT网络节点设备具有IoT网络节点设备安全系统空间和IoT网络节点设备用户定义的空间;
提供通过所述网络与所述至少一个IoT网络节点设备和所述至少一个IoT平台系统控制引擎可通信的至少一个IoT边缘设备,所述至少一个IoT边缘设备中的每一个包括边缘设备安全系统空间和边缘设备用户定义的空间;
配置所述IoT平台系统控制引擎安全系统空间、所述IoT网络节点设备安全系统空间和所述边缘设备安全系统空间中的每个以被保护以防止未授权访问;
在所述IoT平台系统控制引擎用户定义的空间、所述IoT网络节点设备用户定义的空间和所述边缘设备用户定义的空间中的每个中定义相应的虚拟机;和
形成有虚拟机的分布式系统,其中每个相应的虚拟机接收和执行用户定义的指令。
17.一种物联网(IoT)设备链路,包括:
用于存储程序代码的存储器储存器;
用于执行所述程序代码的微控制器,其中所述程序代码包括被配置成被保护并且防止未授权访问的安全程序代码和被配置成执行用户定义的指令的用户定义的程序代码;
被配置成向所述IoT设备链路传输数据和从所述IoT设备链路接收数据的通信模块和天线;
被配置成对所述数据进行加密和解密的密码逻辑单元;
被配置成向所述IoT设备链路提供功率的电源和管理模块和功率储存单元;
被配置成对所述微控制器操作进行记时的实时时钟
被配置成为所述IoT设备链路提供唯一网络地址的MAC地址模块;和
其中,所述微控制器具有接口模块,所述接口模块被配置成连接和控制所述IoT设备链路传感器的至少一个输入和输出。
18.根据权利要求17所述的IoT设备链路,其中,所述接口模块对于所述IoT设备链路传感器是公用的,所述IoT设备链路传感器包括天气、公共安全、废物管理、气体泄漏、下道监视、水泄漏、停车场通道、智能停车、水质、结构完整性、土壤湿度、电子发射、智能照明、街道安全、空气质量、项目位置、水位或公共卫生传感器。
19.根据权利要求17所述的IoT设备链路,其中,所述用户定义的程序代码被配置成控制所述IoT设备链路传感器的所述至少一个输入和输出的操作。
20.根据权利要求17所述的IoT设备链路,其中,所述IoT设备链路传感器感测感测特性,并且密码逻辑单元在所述通信模块和天线传输所述感测特性之前对所述感测特性进行加密。
21.一种物联网(IoT)网络系统,包括:
至少一个网络链路卡,其中每个被配置成分别与IoT平台系统的IoT边缘设备和IoT网络节点设备中的对应的至少一个进行对接,以便经由广域网可通信地将所述IoT平台系统的每个相应的至少一个IoT边缘设备和IoT网络节点设备链接到IoT平台系统控制引擎;
制造中的加密钥固定装置,其被配置成使得在制造时分别与至少一个网络链路卡每个耦合并加密钥到其上,以便在制造每个相应的网络链路卡时在每个相应的网络链路卡上,并且与所述每个相应的网络链路卡唯一对应地形成加密密钥集;和
耦合到所述IoT平台系统控制引擎的IoT边缘设备和IoT网络节点设备注册和认证管理器控制器,所述注册和认证管理器控制器被配置成:分别注册和认证所述IoT边缘设备和所述IoT网络节点设备中的至少一个每个,这是在其相应的初始化和注册时,基于对于所述IoT边缘设备和IoT网络节点设备中的至少一个每个的对应链路卡的在制造时形成的加密密钥集的安全对称加密密钥集,通过所述IoT平台系统内的所述IoT边缘设备和IoT网络节点设备中的至少一个每个的所述IoT平台系统控制引擎,以便实现IoT边缘设备和IOT网络节点设备中的至少一个每个分别到所述IoT平台系统的认证加入。
22.根据权利要求21所述的IoT网络系统,其中,认证在所述IoT网络系统内的IoT边缘设备120和IoT网络节点设备注册和认证管理器控制器的注册时实现并且与所述注册基本上一致。
23.根据权利要求21所述的IoT网络系统,其中,在制造至少一个网络链路卡每个时,将所述加密密钥集至少设置在至少一个网络链路卡每个的密码逻辑单元中。
24.一种物联网(IoT)平台系统加密密钥安全系统,所述IoT平台系统具有IoT边缘设备、IoT通信节点设备和具有IoT平台引擎的IoT控制器,所述加密密钥安全系统保护IoT边缘设备、IoT通信节点设备和IoT控制器上的IoT平台引擎之间的加密安全性,所述IoT平台系统加密密钥安全系统包括:
加密密钥生成处理器,被设置以便将加密密钥集加密钥到IoT边缘设备和IoT通信节点设备上(在制造时),所述加密密钥生成处理器定义所述加密密钥安全系统的IoT设备加密密钥生成端;
另一加密密钥生成处理器,被设置以便或者可通信地耦合以便提供向所述IoT平台引擎提供加密密钥集的加密密钥生成输入,其它加密密钥生成处理器定义所述加密密钥安全系统的IoT平台引擎加密密钥生成端使得所述IoT设备加密密钥生成端和所述IoT平台引擎加密密钥生成端形成所述加密密钥安全系统的基本对称的密钥生成端;和
耦合所述IoT设备加密密钥生成端和所述IoT平台引擎加密密钥生成端的安全加密通信链路。
25.根据权利要求24所述的IoT平台系统加密密钥安全系统,其中,所述安全加密通信链路定义分层加密密钥集层布置,其中在所述IoT设备加密密钥生成端处生成的上级层的加密密钥集和在所述IoT平台引擎加密密钥生成端处生成的上级层的所述加密密钥集是基于公共加密密钥集,其形成所述上级层所依赖的所述分层加密密钥集层布置的主要层。
26.根据权利要求24所述的IoT平台系统加密密钥安全系统,其中,所述主要层的所述公共加密密钥集是从所述IoT平台系统分离且密封的。
27.根据权利要求24所述的IoT平台系统加密密钥安全系统,其中,在所述IoT设备加密密钥生成端处生成的所述上级层的所述加密密钥集和在所述IoT平台引擎端处生成的所述上级层的所述加密密钥集包括:至少一个对称加密密钥和至少一个非对称加密密钥的组合。
28.根据权利要求24所述的IoT平台系统加密密钥安全系统,其中,在所述IoT设备加密密钥生成端处生成的所述加密密钥集基于所述公共加密密钥集和来自对所述IOT设备加密密钥生成端的加密输入的信息,所述加密输入基于所述公共加密密钥集,并且至少包括预定的IoT设备制造标识特性和实现所述加密输入的篡改指示符的有效性操作符。
29.根据权利要求28所述的IoT平台系统加密密钥安全系统,其中,所述预定的IoT设备制造标识特性形成在所述IoT设备加密密钥生成端处生成所述加密密钥集的基础,在制造相应的链路卡时所述加密密钥集中的每个被加密钥到并且唯一地对应于每个给定的IoT边缘设备和每个给定的IoT通信节点设备的相应链路卡。
30.根据权利要求28所述的IoT平台系统加密密钥安全系统,其中,所述有效性操作符定义所述加密输入的有效窗口,并且用于基于所述IoT设备加密密钥生成端处的加密输入来生成所生成的加密密钥集,并且用于基于加密输入在其制造时将加密集中的每个加密钥到所述相应链路卡上。
31.根据权利要求28所述的IoT平台系统加密密钥安全系统,其中,将从输入生成位置移植到所述IOT设备加密密钥生成端的所述加密输入设置在计算机可读储存介质上,其中将所述加密输入设置在所述计算机可读储存介质上,并且所述位置与所述IoT设备加密密钥生成端分离且远离。
32.根据权利要求24所述的IoT平台系统加密密钥安全系统,其中,在所述IoT平台引擎加密密钥生成端处生成的加密密钥集中的每个至少部分地基于对于在所述IoT设备加密密钥生成端处生成的所述加密密钥集的每个对应加密密钥集的对称加密密钥集。
33.根据权利要求24所述的IoT平台系统加密密钥安全系统,其中,在所述IoT平台引擎加密密钥生成端处生成的加密密钥集中的每个包括与于每个相应IoT设备唯一地对应的独立生成的独立密钥和至少一个其他密钥,所述至少一个其他密钥至少部分地基于对于在所述IOT设备加密密钥生成端处生成的所述加密密钥集的每个对应加密密钥集的对称加密密钥集。
34.根据权利要求33所述的IoT平台系统加密密钥安全系统,其中,所述独立密钥定义用于所述相应IoT设备的会话密钥,并且经由所述IoT平台系统的广域网通过来自所述IoT平台引擎的会话密钥加密通信而被输入到所述IoT设备,所述会话密钥加密通信基于所述至少一个其他密钥,并且包括提供所述会话密钥加密通信的通信篡改指示符的至少一个有效性操作符。
35.根据权利要求34所述的IoT平台系统加密密钥安全系统,其中,包含输入到所述相应IoT设备的会话密钥的会话密钥加密通信在所述IoT平台系统内的所述相应IoT设备的初始化的IoT平台引擎注册时并对其进行初始响应来实现。
36.根据权利要求35所述的IoT平台系统加密密钥安全系统,其中,从IoT平台引擎到相应IoT设备的所述会话密钥加密通信的初始响应以及所述会话密钥从所述会话密钥加密通信的解密并在所述相应IoT设备中的输入实现对所述相应IoT设备的认证以及所述相应IoT设备到所述IoT平台系统的加入。
37.根据权利要求33所述的IoT平台系统加密密钥安全系统,其中,所述独立密钥和至少部分地基于所述对称加密密钥集的所述至少一个其他密钥定义所述分层加密密钥集层布置的其他上级密钥集层,其保护连接所述IoT平台系统的IoT设备端和IoT平台引擎端的通信链路的端到端加密安全性。
38.一种可通信地耦合用于与多个IoT平台通信网络节点进行双向通信的多个IoT平台边缘设备的物联网(IoT)平台系统,所述系统包括:
IoT平台引擎,所述IoT平台引擎可通信地耦合用于与所述IoT平台通信网络节点的双向通信,并且经由所述IoT平台通信网络节点而可通信地耦合用于与所述IoT平台边缘设备的双向通信;
具有多个功能模块的IoT平台引擎,将所述IoT平台引擎设置在服务器节点的可变可选数量的服务器节点上,所述多个功能模块中的至少一个功能模块是供应引擎模块,所述供应引擎模块被配置成利用平台引擎来可选择地填充服务器节点,并且所述多个功能模块中的另一个是安全密封储存部分,所述安全密封储存部分存储在密封储存部分之外的平台引擎的所述多个功能模块彼此密封的、关于访问和影响包括所述供应引擎模块的所述平台引擎的功能模块的功能的IoT用户凭证和权限,所述安全密封储存部分被配置成管理和启用对用户权限的访问,包括初始化所述供应引擎模块的授权,以便实现其上设置所述平台引擎的服务器节点的数目的安全弹性供应选择。
39.根据权利要求38所述的IoT平台系统,其中,所述安全密封储存部分被布置成使得安全密封完整性的供应从所述IoT平台引擎的外部解耦合并维持。
40.根据权利要求38所述的IoT平台系统,其中,所述安全密封储存部分利用多因素用户认证来管理并启用访问。
41.根据权利要求38所述的IoT平台系统,其中,所述服务器节点云被设置为基础设施即服务(IAAS)平台或者被设置为私有服务器云。
42.根据权利要求38所述的IoT平台系统,其中,所述平台引擎被配置有分布式储存层,并且所述安全密封储存部分被设置在所述分布式储存层内。
43.根据权利要求38所述的IoT平台系统,其中,将所述安全密封储存部分跨多个服务器节点来散布,以在所述多个服务器节点内包括至少最小确定数,以便实现所述安全密封储存部分的功能。
44.根据权利要求38所述的IoT平台系统,其中,所述多个功能模块中的至少一个定义集中式服务发现和监视功能,将所述集中式服务发现和监视功能模块跨多个服务器节点散布以在所述多个服务器节点内包括至少最小确定数,以便实现所述集中式服务发现和监视功能。
45.根据权利要求38所述的IoT平台系统,其中,所述集中式服务发现和监视功能被配置成使得在利用所述供应模块填充的新供应的服务器节点上注册每个平台引擎服务的运行启动。
46.根据权利要求38所述的IoT平台系统,其中,所述供应引擎模块被配置成以便实现:
供应对所供应的服务器节点的数目的选择以便利用所述平台引擎变成被填充、针对所选的所供应的服务器节点的数目的网络拓扑、以及从所述平台引擎的预定服务中的服务的选择以便在所供应的所选服务器节点中的每个上启动所选服务。
47.根据权利要求38所述的IoT平台系统,其中,所述供应引擎模块被配置成使得在所供应的所选服务器节点中的每个上的所选服务的选择和设立是利用到仅一个供应脚本的仅一个配置文件和选择输入来指定的,所述仅一个供应脚本被馈送到所述供应引擎模块,其实现每个所选服务器节点的基本上自动的设立。
48.根据权利要求38所述的IoT平台系统,其中,在设立时,所选服务器节点元数据文件中的每个相应的一个用私钥来签署,所述私钥唯一地对应于所选服务器节点中的相应一个,所述私钥对应于相应的所选服务器节点,所述相应的所选服务器节点被密封在所述安全密封储存部分中,并且在相应所选服务器节点的设立时由所述安全密封储存部分在接收到签名时进行认证。
49.一种包括虚拟机分布式系统的物联网(IoT)系统,所述IoT系统包括:
至少一个IoT平台系统控制引擎;
通过网络与所述至少一个IoT平台系统控制引擎可通信的至少一个IoT网络节点设备;

通过所述网络与所述至少一个IoT网络节点设备和所述至少一个IoT平台系统控制引擎可通信的至少一个IoT边缘设备,所述至少一个IoT边缘设备中的每一个包括IoT边缘设备安全系统空间和IoT边缘设备用户定义的空间;
其中,所述IoT边缘设备安全系统空间被配置成被保护以防止未授权访问,并且所述IoT边缘设备用户定义的空间被配置成接收和执行用户定义的指令以形成虚拟机的分布式系统。
50.一种包括虚拟机的分布式系统的物联网(IoT)系统,所述IoT系统包括:
至少一个IoT平台系统控制引擎;
通过网络与所述至少一个IoT平台系统控制引擎可通信的至少一个IoT网络节点设备,所述至少一个IoT网络节点设备中的每一个包括IoT网络节点设备安全系统空间和IoT网络节点设备用户定义的空间;和
通过所述网络与所述至少一个IoT网络节点设备和所述至少一个IoT平台系统控制引擎可通信的至少一个IoT边缘设备,所述至少一个IoT边缘设备中的每一个包括IoT边缘设备安全系统空间和IoT边缘设备用户定义的空间;
其中,所述IoT边缘设备安全系统空间被配置成被保护以防止未授权访问,并且所述IoT边缘设备用户定义的空间被配置成接收和执行用户定义的指令以形成虚拟机的分布式系统;和
其中,所述IoT网络节点设备安全系统空间被配置成被保护以防止未授权访问,并且所述IoT网络节点设备用户定义的空间被配置成接收和执行用户定义的指令以形成虚拟机的分布式系统。

说明书全文

用于分布式智能遥感系统的系统

[0001] 相关申请的交叉引用本申请是2016年8月22日提交的美国临时专利申请号62/377,975的非临时申请并要求其权益,其公开内容通过引用整体并入本文。

技术领域

[0002] 示例性实施例一般涉及分布式智能遥感系统,并且更具体地涉及用于城市或社区管理的分布式智能遥感系统。

背景技术

[0003] 传统的城市、城镇或市政基础设施管理和监视系统通常涉及所使用的监视和管理系统中的显著碎片化。例如,城市可以具有与监视或管理质的水质系统以及监视或管理其他环境或基础设施状况的还有的其他系统分开且不同的交通系统。通常不存在在市政环境内提高效率以及提高生活质量的信息流的整体安排和集成。通常,传统系统通常涉及非常大量的市政雇员,他们的任务是分别监视或管理每个传统且监视的系统,这导致显著的冗余和互操作性的缺乏。
[0004] 具有分布式智能遥感系统将是有利的,该系统以整体的方式解决城市、城镇或市政基础设施和监视系统的管理。附图说明
[0005] 在结合附图进行的以下描述中解释本公开的前述各方面和其他特征,其中:图1是根据本公开的各方面的感知环境的示意图示;
图1A是根据本公开的各方面的物联网(IoT)平台系统的示意图示;
图2A-图2E是根据本公开的各方面的物联网(IoT)网络系统的示意图示;
图3和图3A是根据本公开的各方面的边缘设备的示意图示;
图4是根据本公开的各方面的边缘设备的固件的状态图;
图5是根据本公开的各方面的网关的示意图示;
图6是根据本公开的各方面的网关故障的示例性图示;
图7-图10是根据本公开的各方面的示例性用户界面
图11是根据本公开的各方面的网络链路卡的示意图示;
图12A是根据本公开的各方面的IoT平台系统的示意图示;
图12B是根据本公开的各方面的加密方案的示意图示;
图13A是根据本公开的各方面的流程图
图13B是根据本公开的各方面的流程图;
图14是根据本公开的各方面的流程图;
图15是根据本公开的各方面的隔离保险库(vault)的示意图示;
图16是根据本公开的各方面的远程安全位置的示意图示;
图17是根据本公开的各方面的流程图;
图18是根据本公开的各方面的IoT平台系统的一部分的示意图示;
图19是根据本公开的各方面的IoT平台系统的一部分的示意图示;
图20是根据本公开的各方面的认证进程的示意图示;
图21是根据本公开的各方面的流程图;
图22是根据本公开的各方面的分布式储存的示例性图示;
图23是根据本公开的各方面的资产图形的示例性图示;和
图24是根据本公开的各方面的资产图形的示例性图示。

具体实施方式

[0006] 图1是根据本公开的各方面的智能城市环境综合体1内的感知环境10的示例性图示。在一个方面,无论是在城市(例如城市景观)、郊区还是乡村环境中,感知环境10都提供智能居住,其中以整体的方式布置边缘设备信息流以在智能城市环境综合体1的运转中改善效率并改善生活质量。例如,可以采用感知环境10来通过减少与用于管理和监视智能城市环境综合体1内的状况或基础设施所必要的时间和人相关联的成本从而减少用于城市的支出。在一个方面,感知环境10还减少了与能量使用相关联的成本,减少了维护需求并且更好地监视了更换。智能城市环境综合体1的感知环境10在一个方面可以改善居民(例如访客和常驻民)两者的效率,以及改善智能城市环境综合体1的维护、运转和管理。另外,在一个方面,智能城市环境综合体1的感知环境10为停车管理、路灯管理、公共安全管理、公用设施管理、环境监视和污水监视提供垂直解决方案。
[0007] 在一个方面,如图1中所示,感知环境10包括分布在智能城市环境综合体1内的各种类型的传感器11-28。在一个方面,多种类型的传感器11-28中的每一个具有被配置为检测不同感测特性的不同传感器能力。例如,在一个方面,多种传感器11-28的类型可以包括例如天气传感器11(被配置为检测降水、空气和地面温度)、公共安全传感器12(被配置为检测噪声、运动或人群检测)、废物管理传感器13(被配置为检测垃圾箱状态)、气体泄漏传感器14、下水道监视传感器15(被配置为跟踪下水道液位)、水泄漏传感器16(被配置为监视水管)、停车通道传感器17、智能停车传感器18(例如用于检测可用的停车位)、水质传感器19、结构完整性传感器20(被配置为检测建筑物桥梁或道路的振动)、以及土壤湿度传感器21(被配置用于农业、园艺或地面保持目的)。在其他方面,传感器11-28的类型还可以包括例如电子发射传感器22(被配置为监视蜂窝塔和无线通信)、智能照明传感器23(例如,为了减少能耗而具有运动传感器的路灯或环境照明传感器)、街道安全传感器24(例如,被配置为检测消防栓或非停车地带附近的障碍物,使得那些地带对于紧急车辆是清楚的)、空气质量传感器25(例如,被配置为检测例如污染、臭或花粉)、物品位置传感器26(例如,被配置为跟踪市政资产、工具、车辆或库存)、水位传感器27(例如,被配置为检测雨水排放径流或水库/水塔水平)或公共卫生传感器28(例如,被配置为检测核、生物或化学污染物)。在还有的其他方面,多种传感器11-28的类型可以包括具有任何传感器特性的任何合适的传感器,其被配置为检测任何环境或基础设施状况。
[0008] 在一个方面,智能城市环境综合体1内的感知环境10包括分布在整个智能城市环境综合体1中的数千个传感器11-28。通常,为了整体解决和散播,来自多个传感器11-28的多种传感器数据通过系统进行组织、分析、解决和集成(下面将更详细地描述)。在来自多个传感器11-28的多种传感器数据没有进行组织、分析和集成的情况下,将基本上是混乱和感知噪声。在一个方面,感知环境10还包括在多个级别(例如,在边缘设备级别、网关级别和平台引擎级别,如下面更详细描述的)分布在整个系统中的不同逻辑模或逻辑层,以便优化相关感知数据和信息的分析和解决/解决方案。分布式逻辑模块提供实时或紧急信息以在最佳级别处进行处理并且具有对来自传感器11-28的多种感知数据提供最佳解决方案的能力。
[0009] 图1A是根据本公开的各方面的物联网(IoT)平台系统100的一部分的示意图示。IoT平台系统100可以被包括在物联网(IoT)网络系统100S中,如下面将更详细描述的。物联网(IoT)平台系统100操作在智能城市环境综合体1内的感知环境10中并利用之,并且包括边缘设备120A-C、121A-C和122A-C(在本文中通常被称为边缘设备120)以用于感测诸如车辆检测、交通模式、车辆导航或车辆定位之类的传感器特性。在其他方面,边缘设备120还被耦合到上述多种传感器11-28或与之集成,并且被配置用于感测特性,诸如例如天气、公共安全、废物管理、气体泄漏、下水道感测、水泄漏、停车感应、智能停车感应、水质、结构完整性、土壤湿度、电磁发射、智能照明、安全和有序的街道感应、空气质量、物品跟踪和定位、水位、公共卫生危害或者如上关于多种传感器11-28所述的任何合适的预定感测特性。尽管将参考附图来描述本公开的各方面,但是应当理解,本公开的各方面可以以许多形式来具体实施。另外,可以使用任何合适尺寸、形状或类型的元件或材料。
[0010] 在一个方面,物联网(IoT)平台系统100可以包括平台引擎101、一个或多个IoT网关110A-110C(在本文中通常被称为网关/节点110,IoT平台通信网络节点110或网络节点设备110)、一个或多个IoT边缘设备群组120GP-122GP(包括边缘设备120A-C、121A-C和122A-C)和一个或多个外围设备130-132。在一个方面,一个或多个边缘设备群组120GP-122GP中的每一个是包括基本上相同类型的边缘设备120A-C、121A-C和122A-C的群组,其被配置成检测或测量基本相同种类的感测特性,一个或多个边缘设备群组120GP-122GP中的每一个与公共网关110A-C相关联。在其他方面,一个或多个边缘设备群组120GP-122GP可以包括多种类型的边缘设备120A-C、121A-C和122A-C,其被配置成测量或检测任何合适的感测特性,一个或多个边缘设备群组120GP-122GP中的每一个还与公共网关110A-C相关联。在其他方面,物联网(IoT)平台系统100包括任何合适数量和类型的组件,以便于例如监视车辆停车空间或与物联网(IoT)平台系统100相关联的环境状况或基础设施状况。
[0011] 平台引擎101包括能够与一个或多个网关110A-110C(以及处于与一个或多个网关110A-110C的通信中的边缘设备群组120GP-122GP的边缘设备120A-C、121A-C和122A-C)和一个或多个外围设备130-132通信并对其进行控制的任何合适的控制器。在一个方面,平台引擎101被配置成使用从边缘设备群组120GP-122GP(及其相应的边缘设备120A-C、121A-C、
122A-C)和网关110A-110C到平台引擎101以及从平台引擎101到外围设备130-132延伸的任何合适的无线或有线通信接口链路。在一个方面,应注意,接口链路可以包括单个通信协议或不同通信协议的组合。在一个方面,边缘设备群组120GP-122GP、网关110A-110C和平台引擎101之间的无线或有线通信接口链路被加密并对第三方关闭,以最小化黑客或拦截边缘设备 120A-C、121A-C和122A-C、网关110A-C、平台引擎101和外围设备130-132之间的通信的可能性。
[0012] 在一个方面,至少平台引擎101与网关110A-110C(以及感测设备)和/或外围设备130-132中的一个或多个之间的通信可以通过蜂窝通信链路141、卫星通信链路142、公共交换电话网145、因特网/万维网143、以太网144、局域网或其他合适的无线或有线协议或连接。在一个方面,可以将来自边缘设备群组120GP-122GP中的边缘设备的通信基本上实时地提供给平台引擎101和/或外围设备130-132。
[0013] 在一个方面,平台引擎101可以包括一个或多个处理器、存储器和任何其他合适的硬件/软件,其被配置为针对每个被监视的停车空间跟踪和报告停车空间的用户、停车空间指派/分配、到达时间、离开时间、交易率、用户账户货币余额、计费交易、停车违规、停车空间可用性或任何其他与物联网(IoT)平台系统100监视的每个停车空间的使用和计费有关的合适信息。类似地,在一个方面,一个或多个处理器和存储器还被配置成跟踪、反应、处理和解析由本文所述的传感器11-28监视的每个不同的被监视系统的解决方案。平台引擎101可以配置有一个或多个用户界面以允许用户或接收者访问、管理和操作平台引擎101。在一个方面,平台引擎101可以是具有监视器、键盘和/或其他合适的用户接口的任何合适的计算设备。在其他方面,平台引擎101是计算设备集群、分布式计算设备或基于的系统后端。在其他方面,外围设备130-132中的一个或多个可以通过任何合适的长距离或短距离无线通信链路和/或通过如上所述的有线连接来提供用于访问和操作平台引擎101的用户接口。
平台引擎101可以被配置成从边缘设备120A-C、121A-C和122A-C接收任何合适的数据。从边缘设备120A-C、121A-C和122A-C发送的数据可以包括或以其他方式包含例如与被监视的停车空间、车辆检测和/或感测设备的健康和福利/维护状态相关的任何合适的数据。在其他方面,从边缘设备120A-C、121A-C和122A-C发送的数据可以包括或以其他方式包含测量任何合适的传感器特性的任何合适的传感器数据,如上面关于传感器11-28所述。在一个方面,平台引擎101可以被配置成对来自边缘设备120A-C、121A-C和122A-C的数据执行任何合适的处理,而在其他方面,来自边缘设备120A-C、121A-C和122A-C的数据例如在未由平台引擎101处理的情况下可以被配置用于在一个或多个外围设备130-132上显示。
[0014] 在一个方面,外围设备130-132中的一个或多个可以包括例如执行单元,其可以是由停车/执法人员使用的手持单元。执行单元可以被配置成向平台引擎101报告停车违规和/或停车罚单的发放,使得电子票务和数据捕获被集成到分布式遥感系统中。例如,使用外围设备130-132的执法官员可以在被通知违规之后到达停车空间并且对停车空间进行目视检查以验证存在违法的车辆。可以将违规输入到外围设备130-132中,并且可选地,可以用外围设备拍摄违规的车辆的图片或以其他方式将其加载到外围设备中。如此,输入到外围设备130-132中的违规数据被自动捕获并基本上实时地存储在诸如平台引擎101的存储器之类的存储器中。可以认识到,在物联网(IoT)平台系统内存储违规信息使得系统不会向执行官员发警报以去到该空间,直到另一违规阈值被满足或者新车辆停在该空间中。在另一方面,感测设备还可以被使用在非停车空间中,诸如消防栓、消防车道、十字路口、交叉路口的前面等。物联网(IoT)平台系统100可以被配置成每当车辆被停放在这些非停车空间中的一个中时的任何合适的预定时间段之后就创建违规,以便通过例如外围设备130-132向执行官员发送警报。
[0015] 在其他方面,外围设备130-132中的一个或多个可以包括其他设备或接收者终端,其可以被配置为监视传感器特性(例如,与本文所述的传感器11-28相关联的那些)。例如,外围设备130-132中的一个或多个可以包括在市政指挥中心处的气体泄漏监视器、水泄漏监视器、污水监视器、废物管理监视器。在其他方面,一个或多个外围设备130-132还可以包括例如私人拥有或操作的监视器,诸如例如由农场操作的土壤湿度监视器、由电信公司操作的电磁发射监视器、由私人拥有的市政水源所拥有的水传感器、或由核电厂操作的辐射监视器。在又一些方面,一个或多个外围设备130-132可以包括被配置为显示或监视来自本文所描述的传感器11-28的多种传感数据的任何用户终端。
[0016] 如可以实现的,物联网(IoT)平台系统100可以并入任何合适的边缘设备类型,诸如例如可以与边缘设备群组120GP-122GP的边缘设备结合使用的热电偶、湿度传感器、辐射或化学传感器、光传感器、磁力计、雷达、振动传感器、加速度计、空气质量传感器、电磁发射传感器、运动传感器、容量传感器、相机和红外传感器。来自传感器的信息可以与由与边缘设备群组120GP-122GP相关联的其他感测设备所提供的数据结合使用,以跟踪环境或基础设施状况,以提供来自传感器11-28的数据的整体(例如,互连和集成)管理。
[0017] 外围设备130-132中的一个或多个还可以包括例如用于由诸如接近由物联网(IoT)平台系统100监视的停车空间的接收者使用的单元。在一个方面,该单元可以是专用车辆停放系统手持单元,而在其他方面,可以诸如通过能够在无线电话、GPS单元或其他计算设备上运行的应用程序而将该单元集成到用户的无线电话、车辆GPS单元或其他用户计算设备中。在还有的其他方面,手持单元可以以任何合适的方式实现,以允许接收者例如监视街道安全、空气质量、天气、公共安全、气体泄漏、下水道、水泄漏、停车通道、停车位、水质、结构完整性、土壤湿度、电磁发射、智能照明、空气质量、资产定位和跟踪、水位和公共卫生传感器。例如,基于边缘设备群组120GP-122GP的边缘设备所提供的数据,该单元可以向接收者提供寻路信息,其包括例如在分布式遥感系统的整个部署区域中停车(和路由到其)的可用性的基本实时视图。该单元可以被配置为允许接收者使用例颜色编码或其他合适的指示符来选择位置并查看在区域中的停车空间的充满程度。还可以提供在每个停车空间的停车的价格。由该单元提供的寻路信息还可以允许接收者跟踪他们停放的地方。在一个方面,该单元可以包括全球定位系统或其他地图数据或与其一起使用,以向接收者提供与停车空间相关的交通信息,使得接收者可以选择例如没有拥堵有离开由分布式遥感系统监视的停车空间的车辆的停车场出口或街道。
[0018] 如先前所指出,在一个方面,可以以合适的方式将平台引擎101连接到一个或多个网关110A-110C(以及到与一个或多个网关110A-110C相关联的边缘设备群组和边缘设备)。在一个方面,可以将一个或多个通信器140用作网关110A-110C和中央控制器101之间的通信链路。一个或多个通信链路140可以包括例如蜂窝通信网络中的一个或多个蜂窝塔/提供器。在其他方面,一个或多个通信链路140可以包括例如卫星通信网络中的一个或多个卫星、公共交换电话网络、因特网/万维网接入点或任何其他合适的通信接入点,诸如在上述有线和/或无线通信协议中使用的那些。在还有的其他方面,一个或多个通信链路140可以是蜂窝和卫星通信的组合或任何其他合适的有线或无线通信链路。
[0019] 现在参考图2A、图2B和图2C,示出了包括物联网(IoT)平台系统100的IoT网络系统100S的附加示意图。图2A和图2B表示连接到平台引擎101的单个网关110并且向外到外围设备130-132的单个边缘设备120。在一个方面,图2A和图2B实质上是图1A中所图示的物联网(IoT)平台系统100的另一表示。如图2A和图2B中所示,物联网(IoT)平台系统100包括边缘设备120,所述边缘设备120与网关110通信,所述网关110继而与平台引擎101通信,所述平台引擎101将数据散播到外围设备130-132。如图2C中所示,在一个方面,物联网(IoT)平台系统100被配置为用作例如可编程硬件和软件的虚拟机154、160、181的分布式系统。在一个方面,至少一个IoT平台系统控制引擎101、至少一个网络节点设备110和至少一个IoT边缘设备120的相应虚拟机154、160、181被配置成执行特定IoT任务。在一个方面,至少一个IoT平台系统控制引擎101、至少一个IoT网络节点设备110或至少一个IoT边缘设备120的相应虚拟机154、160、181被配置成执行特定IoT任务的各部分,其中基于至少一个IoT平台系统控制引擎101、至少一个IoT网络节点设备110或至少一个IoT边缘设备120的相应虚拟机
154、160、181的容量和效率特性来分配特定IoT任务的各部分。
[0020] 再次参考图2A、图2B和图2C,在一个方面,用于边缘设备120、网关110和平台引擎101的硬件和软件每个分别以相应网络链路卡153、166、180内操作的虚拟机154、160、181的形式定义安全系统空间(例如,在相应的网络链路卡153、166、180内,其可以包括用于每个相应设备的固件)以及用户定义/可配置空间。安全系统空间控制例如每个相应设备(例如,边缘设备120、网关110和网络操作控制器101)与网络之间的交互和/或低级硬件操作(例如,控制物理硬件如何在物理层或设备层与每个相应设备通信)。网络链路卡153、166、180内的安全系统空间是安全的,并且不由最终用户或管理员可改变。每个边缘设备120、网关
110和平台引擎101还包括在固件内运行的相应虚拟机,其在每个设备级别定义用户可配置空间。例如,边缘设备120的相应虚拟机允许在例如不同的多种传感器输入和输出之间的接口的用户配置。每个相应的虚拟机154、160、181还提供例如用于用户定制的公共接口。虚拟机154、160、181因此被配置为运行用户定义的或用户定制的脚本、规则或代码,以定制边缘设备120、网关110和平台引擎101的功能性。在一个方面,以脚本语言解释器的形式或以下面更详细描述的视觉配置的形式,用户定制是可能的。在一个方面,在边缘设备120、网关
110和平台引擎101的每个相应虚拟机154、160、172内定义的安全系统空间是隔离的,以便防止最终用户通过相应虚拟机154、160、172内的错误或恶意代码访问和滥用。在一个方面,IoT边缘设备120安全系统空间被配置为被保护以防止未授权访问,并且IoT边缘设备120用户定义的空间被配置为接收和执行用户定义的指令以形成虚拟机154的分布式系统。在另一方面,IoT边缘设备120和网络节点110的安全系统空间被配置为被保护以防止未授权访问并且IoT边缘设备120和网络节点110的用户定义的空间被配置为接收和执行用户定义的指令以形成虚拟机154、160的分布式系统。在又一方面,IoT边缘设备120、平台引擎101和网络节点110的安全系统空间被配置为被保护以防止未授权访问并且IoT边缘设备120、平台引擎101和网络节点110的用户定义的空间被配置为接收和执行用户定义的指令以形成虚拟机154、160、172的分布式系统。
[0021] 参考图2A、图 2B和图11,将描述每个网络链路卡153、166、180(也被称为IoT设备链路)。出于示例性目的,图11中示出了网络链路卡153,并且网络链路卡166、180可以具有类似的配置。网络链路卡153包括处理器1103(也被称为微控制器)、存储器1100、媒体访问控制(MAC)地址1101储存器、接口模块1102、电源1105、功率控制器1104、通信模块1106和天线1107。处理器1103(其中处理器162包括在IoT设备110中)包括或可通信地耦合到密码逻辑单元1103CM(密码逻辑单元162CM包括在IoT设备110中)。处理器1103还可通信地耦合到存储器1100、通信模块1106、接口模块1102和MAC地址模块1101。处理器1103被配置为执行存储在存储器100中的非暂时性程序代码。程序代码包括被配置为被保护并防止未授权访问的安全程序代码以及被配置为执行用户定义的指令的用户定义的程序代码。在一个方面,处理器1103包括或耦合到密码逻辑单元1103CM,所述密码逻辑单元1103CM被配置为加密和解密由IoT网络链路卡153发射和接收的数据。
[0022] 接口模块1102提供处理器1103与其中安装有网络链路卡153、166、180的IoT边缘设备120、IoT网关110或平台引擎101的其他部件的通信。例如,接口模块1102被配置为连接和控制IoT设备链路传感器11-28的至少一个输入151和输出152。在一个方面,接口模块1102对于IoT设备链路传感器11-28是公共的,其中IoT设备链路传感器包括对应于天气、公共安全、废物管理、气体泄漏、下水道监视、水泄漏、停车通道、智能停车场、水质、结构完整性、土壤湿度、电子发射、智能照明、街道安全、空气质量、项目位置、水位或公共卫生传感器中的一个或多个的传感器。在一个方面,用户定义的程序代码被配置为控制IoT设备链路传感器11-28的至少一个输入151和输出152的操作。在一个方面,IoT设备链路传感器11-28感测传感特性(例如,诸如天气、公共安全信息、废物管理信息、气体泄漏信息、下水道信息、水泄漏信息、停车信息、水质信息、结构完整性信息、土壤湿度信息、电子发射信息、照明信息、街道安全信息、空气质量信息、项目位置信息、水位信息或公共卫生信息)并且密码逻辑单元1103CM在通信模块1106和天线1107发射感测特性之前加密感测特性。
[0023] 功率控制器1104和电源1105形成电源和管理模块,其耦合到存储器1100、MAC地址模块1101、处理器1103(和密码逻辑单元1103CM)以及通信模块1106,其中电源和管理模块被配置为向IoT网络链路卡153提供功率。
[0024] 通信模块1106被配置为向IoT网络链路卡153发射数据和从IoT网络链路卡153接收数据。在一个方面,将温度补偿晶体振荡器(TCXO)耦合到通信模块1106。通信模块1106和天线1107提供通过IoT平台系统100的广域网(WAN)的通信,使得IoT边缘设备120、IoT网关110和平台引擎101中的至少一个可以与IoT边缘设备120、IoT网关110和平台引擎101中的至少另一个通信。
[0025] MAC地址模块1101被配置成为IoT网络链路卡153提供唯一的网络地址。还提供实时时钟RTC,并且实时时钟RTC被配置为对处理器1103操作进行记时(clock)。
[0026] 仍然参考图2A、2B和2C,在一个方面,边缘设备120是与各种传感器类型进行对接并驱动某些输出设备的硬件和软件模块。在一个方面,边缘设备120与各种和多种传感器类型集成,并且被配置为允许多种传感器类型(例如,本文所述的传感器11-28)通过网络进行通信。在一个方面,边缘设备120是微控制器、芯片或印刷电路板(PCB),其被配置为通过具有封闭架构来提供安全性,以最小化未授权个人的黑客攻击或访问的可能性。注意,边缘设备120不同于传感器或输出设备。替代地,边缘设备120提供用于与许多不同类型的传感器(例如,本文所述的传感器11-28)进行对接的公共通信和控制套件。在一个方面,边缘设备120的安全架构由网络链路卡153定义,所述网络链路卡153定义如下所述的安全系统空间。
边缘设备120还被配置为提供在网络链路卡153内运行的虚拟机154,其提供公共编程接口并允许用户定制边缘设备120以及它们与多种传感器类型和多种输出的交互,如在下面更详细描述的。在一个方面,边缘设备120还通过虚拟机154在本地边缘设备120级提供本地逻辑或控制架构。
[0027] 在一个方面,边缘设备120被配置为耦合到不同传感器类型的多种传感器(例如,本文所述的传感器11-28)或与其集成,从而提供多种类型的传感器输入151。在一个方面,边缘设备120还被配置为将输出152提供给例如显示器、开关、数据储存设备、寄存器或其他控制器。在一个方面,耦合到边缘设备120的多种传感器(例如,传感器11-28)被配置为低功率传感器。如下面将更详细描述的,在一个方面,边缘设备120包括网络链路卡153。在一个方面,网络链路卡153定义了对用户是透明且不可访问的安全系统空间。在一个方面,由网络链路卡153定义的安全系统空间控制边缘设备120的某些功能性,诸如例如,管理与网络通信或低级硬件通信的所有交互(例如,通过通信模块155)。通过限制最终用户对与网络通信或低级硬件通信的交互的访问,网络链路卡153的安全系统空间提供了防止篡改并且抵抗用户定义的代码的负面影响的安全平台。例如。用户定义的代码不能定边缘设备120,因为边缘设备120的大部分核心能力(例如,引导加载程序、域特定语言解释器、网络通信驱动程序、与设备的物理级别交互)对用户定义的代码不可访问。
[0028] 在一个方面,网络链路卡153包括虚拟机154,所述虚拟机154通过网络链路卡153为用于多种传感器类型的公共接口提供虚拟机运行时间,使得边缘设备120的输入151和输出152是公共数据结构的。此外,在一个方面,边缘设备120是通用的和可互换的,并且可以与任何合适的传感器类型(例如,本文所述的传感器11-28)以及任何合适的输出类型相关联。因为边缘设备120是通用的和可互换的,所以它从输入151和输出152接收的数据是类型无关的或类型不可知的,并且不受任何特定数据或传感器协议的限制。在一个方面,虚拟机154被配置为用户可编程的,而不影响系统安全性和完整性,并且便于来自耦合到多种传感器类型的边缘设备120的传感器数据的决策、分析和集成。在一个方面,虚拟机154被配置为运行用户定义的代码或脚本以定制边缘设备120的功能性。例如,在一个方面,边缘设备120上连接到温度计或热电偶的虚拟机154被配置为执行用户定义的或用户可编程的代码,其定制边缘设备120,使得其接收作为电信号的传感器输入并将电信号转换成温度读数。在另一边缘设备120中,虚拟机154可具有基于定制该特定边缘设备120的用户定义的代码的不同功能性,例如用于自动停车系统的存在传感器。在一个方面,虚拟机154还被配置为便于边缘设备120和公共网关110之间的对接——尽管从具有不同数据结构或协议的多种传感器类型接收数据。在一个方面,网络链路卡153还包括通信模块155,其被配置为利用加密的通信协议来与网关110通信。将在下面更详细地描述边缘设备120。在一个方面,边缘设备
120的虚拟机154被配置为在边缘设备120级别提供本地逻辑操作。例如,虚拟机154可以运行代码,该代码定义某些预定的传感器阈值以及当满足某个预定的传感器阈值时要被执行的动作。
[0029] 仍然参考图2A、2B和2C,在一个方面,边缘设备120与网关110可通信。在一个方面,网关110包括设备参与者模块161、通信模块162,其被配置为通过wifi模块165、以太网模块164和蜂窝模块163来与平台引擎101以及边缘设备120的通信模块155通信。在其他方面,网关模块110包括被配置为与边缘设备120和平台引擎101通信的任何合适的通信模块。在一个方面,网关110包括网络链路卡166。网络链路卡166定义互补的安全系统空间,其基本上类似于由边缘设备120的网络链路卡153定义的安全系统空间。在一个方面,由网络链路卡
166定义的安全系统空间被配置为控制例如网关110与网络内的其他设备(例如网络操作控制器101和边缘设备120)之间的网络通信。在还有的其他方面,由网络链路卡166定义的安全系统空间还控制物理层上的其他低级硬件控制。在一个方面,由网络链路卡166定义的安全系统空间对最终用户是不可访问和透明的,并且被配置为防止最终用户的篡改。在一个方面,安全系统空间还被配置为防止用户定义的代码锁定或影响网关110的性能。在一个方面,网络链路卡166还包括驻留在网络链路卡166内的补充虚拟机160,其与相应的边缘设备
120的虚拟机154相对应。在一个方面,虚拟机160还被配置为可编程的并且便于来自在网关级别耦合到多种传感器类型的边缘设备120的传感器数据的决策、分析和集成,如将在下面更详细描述的。将在下面更详细地描述网关110。
[0030] 仍然参考图2A、2B和2C,在一个方面,网关110与平台引擎101可通信。在一个方面,平台引擎通常包括平台引擎网络链路卡180、被配置为与网关110通信的通信模块173、被配置为存储诸如例如从边缘设备120接收的数据之类的数据的分布式储存器171、平台引擎逻辑层模块172,其包括域特定语言(DSL)模块182和可操作以控制平台引擎101的操作的平台引擎虚拟机181。在一个方面,网络操作控制器的网络链路卡180被配置为控制网络通信和/或低级硬件通信(例如,在设备或驱动器级别)。在一个方面,平台引擎虚拟机181与边缘设备120的虚拟机154和网关110的虚拟机160互补。在一个方面,虚拟机181被配置为接收和执行用户定义的或用户可编程的代码,如下面进一步详细描述的。在一个方面,平台引擎还包括:被配置用于机器学习大数据分析的洞察模块174,其具有分析模块174A以及业务元数据管理器模块174B;被配置为将本地数据与第三方数据集成进行集成的企业数据集成模块175。在一个方面,平台引擎101还包括应用编程接口模块175、以及仪表板构建器179、应用框架178和用户接口模块177。在一个方面,平台引擎101还被配置为与外围设备130-132通信,其可以包括例如商业应用130、消耗者应用131和市政应用132。
[0031] 在一个方面,物联网(IoT)网络系统100S包括管理模块190。在一个方面,管理模块190被配置为提供或设置边缘设备120、网关110、平台引擎101或外围设备130-132。在其他方面,管理模块190还被配置为策划边缘设备120、网关110、平台引擎101或外围设备130-
132之间的通信和同步,以确保足够的服务质量。在还有的其他方面,管理模块190还被配置为提供安全性或检测对系统的未授权访问或入侵。在其他方面,提供可以由物联网(IoT)平台系统100的其他部分(诸如例如网络操作控制器101)执行。
[0032] 现在参考图2C和图2D,在一个方面,虚拟机154、160和181被配置成为客户硬件提供公共的用户可定制接口并用于在设备级别处理传感器或硬件数据。例如,如在图2D中可以看到的,边缘设备120A-120D和121A-121C被配置为与各种传感器输入151A-151D和各种输出152A-152D进行对接。各种传感器输入151A-151D中的每一个可以是不同的或具有不同的特性。例如,虽然传感器输入151A可以是温度传感器,但是输入设备151B可以是湿度传感器,而另一传感器输入151C-D被配置为检测一些其他环境因素(例如,传感器11-28)。类似地,边缘设备120A-D和121A-C还可以与无数输出设备152A-152D通信。这些输出设备可以包括例如保湿剂、恒温器或影响动作的其他设备。物联网(IoT)平台系统100难以为每个可能的输入设备151和输出设备152提供支持。物联网(IoT)平台系统100的制造商也难以查看软件以便与这么多不同的潜在输入设备151和输出设备152通信。为了使边缘设备120A-D和121A-C与各种输入设备151A-D和无数输出设备152A-D通信,边缘设备120A -D和121A-C每个具有运行用户可定制代码的虚拟机154(例如,上述用户可配置空间),以与每个输入设备
151A-D和输出设备152A-D进行对接。在一个方面,超出与多种传感器或输出设备类型进行对接,用户可定制代码还具有其他功能性。在一个方面,用户可定制代码可以经由条件消息来报告传感器输入。在还有的其他方面,用户可定制代码可以包括基于输入值的简单条件决策以发送条件消息。例如,这可以用于基于阈值或状态变化进行报告。
[0033] 现在参考图2E,示出了边缘设备120的图。在一个方面,边缘设备120包括虚拟机154和网络链路卡153。在一个方面,网络链路卡153还包括域特定语言(DSL)解释器156、内核157和引导加载程序158。在一个方面,网络链路卡153及其相应的DSL解释器156、内核157和引导加载程序158是最终用户不可访问的安全系统空间的一部分。DSL解释器156被配置为解释域特定语言,即,简化的脚本语言(例如,被用来在虚拟机154内提供用户定义的代码的脚本语言)。在一个方面,DSL解释器156是轻质的,以适应简化的DSL语法,并且可以在以低功率或以有限处理能力操作的多种硬件类型上运行。内核157和引导加载程序158是网络链路卡153的部分,其控制边缘设备120的操作。例如,引导加载程序158负责在边缘设备120被开启时加载内核157。内核157继而负责低级功能性,诸如例如通过网络的通信或与设备的低级通信(例如,从设备接收未处理的信号)。网络链路卡153的内核157、引导加载程序
158和DSL解释器156对最终用户是不可访问的并且不能被改变。通过隔离网络链路卡153及其部件内的安全系统空间,防止最终用户由于用户定义的或用户可编程的代码中的错误而锁定边缘设备120。隔离网络链路卡153的安全系统空间进一步防止最终用户的用户定义的代码滥用整个网络。在一个方面,网络链路卡153和内核157被配置为在设备层250和物理层
260上与设备或与网络通信(例如,低级通信,例如在比特级的通信)。在一个方面,设备层
250和物理层260也是安全系统空间的一部分,并且防止最终用户对应用层与设备层250和物理层260之间的API进行改变。
[0034] 在一个方面,虚拟机154是在网络链路卡153上运行的计算机运行时间的模拟实例。如上所指出,虚拟机154是运行用户定义的代码的用户可配置空间,其被定制为与各种输入设备151A-D和各种输出设备152A-D进行对接。在一个方面,虚拟机154接收并执行用户定义的代码,使得可以针对多种传感器输入151(例如,传感器输入151A-D)定制虚拟机154。例如,虚拟机154和边缘设备120用作通用模块,其允许多种传感器类型与网络进行对接。在一个方面,由虚拟机154执行的用户定义的代码还允许边缘设备在边缘设备120级别进行本地处理。例如,在一个方面,由虚拟机154执行的用户定义的代码允许条件处理。例如,连接到温度计的边缘设备120可以包括用户定义的代码,其接收温度计的温度读数,并进一步处理温度读数以确定温度是否达到预定阈值。如果满足预定阈值,则在虚拟机154上运行的用户定义的代码可以发送警报,或执行用户定义的动作。
[0035] 在一个方面,虚拟机154可以以域特定语言的形式接收用户定义的代码,其通过域特定语言解释器156来解释。在一个方面,域特定语言是简化的低级语言,例如汇编,并具有类似于汇编语言的语法特征,例如操作数和操作符。在还有的其他方面,域特定语言可以是类似于Lua、Ruby、Python或Perl的脚本语言或解释语言。在还有的其他方面,域特定语言可以是任何合适的脚本语言,其是简化的并且具有有限的一组操作数和操作符。在一个方面,虚拟机154可以通过视觉用户接口(例如通过用于客户的基于web的工具接口)来接收用户定义的代码,使得其便于虚拟机154的硬件和软件编程,并简化边缘设备120或物联网(IoT)平台系统100的控制和利用。
[0036] 参考图3,示出了边缘设备120的物理架构的示例性示意图。在一个方面,边缘设备120可以包括任何合适的壳体401。壳体401可以具有任何合适的形状并由任何合适的材料构成,使得在一个方面,可以将边缘设备120放置或以其他方式嵌入在任何合适的位置中,包括:例如,在暴露的环境中、在街道或道路表面内、垃圾箱内、燃气总管内、下水道内、水管内、停车场内、水体内、建筑物内、土壤内、灯柱内、塔内、排污建筑物或机械内、仓库内、雨水渠和水库内或核、生物或化学设施内(例如,如关于图1中的传感器11-28所示)。在另一方面,壳体401可以被配置用于在任何合适的位置放置在地面上,用于感测相应停车空间中的车辆。外壳401可以被配置为容纳感测设备400的部件,诸如具有密码逻辑单元(MCU)402的微处理器、存储器403(其适当地连同处理器402配置来通过网络链路卡153和逻辑层154实现边缘设备120的操作方面,如本文所述)、边缘设备功率系统、系统时钟406、边缘设备功率系统、边缘设备功率系统通信系统和任何合适的传感器模块414,诸如例如来自专利申请号
14/495,676的边缘设备控制接口模块的套件,该专利申请通过引用并入本文。
[0037] 在一个方面,边缘设备功率系统可以包括连接到处理器402的电源和管理单元404。任何合适的(多个)功率储存单元405可以连接到电源和管理单元404以向感测设备400的部件供应功率。电源和管理单元404可以被配置为以任何合适的方式(诸如在处理器402的控制下)调节和分配来自功率储存单元405的功率。传感器通信系统可以包括连接到处理器402的通信模块155(可以是任何合适的射频通信模块)和相关联的天线408。天线408可以是任何合适的天线,诸如在一个方面,其是全向天线,并且在另一方面,其是定向天线。在天线408是定向天线的情况下,可以提供合适的电动机或其他固态或机械驱动单元以用于转动或以其他方式旋转天线,使得以与上面关于网关110(图2A和图2B)所描述方式的基本相似的方式来最大化接收或发送的通信的信号强度。在一个方面,传感器模块414可以是任何合适的传感器,包括但不限于天气传感器11、公共安全传感器12、废物管理传感器13、气体泄漏传感器14、下水道监视传感器15、水泄漏传感器16、停车通道传感器17、智能停车传感器18、水质传感器19、结构完整性传感器20、土壤湿度传感器21、电子发射传感器22、智能照明传感器23、街道安全传感器24、空气质量传感器25、物品位置传感器26、水位传感器27或公共卫生传感器28。在一个方面,传感器模块414可以以任何合适的方式连接到处理器402,并且被配置为感测任何合适的感知特性。如可以认识到的,可以提供任何合适的辅助电路以允许传感器模块414与处理器402通信。
[0038] 现在参考图3A,示出了边缘设备120的替代方面。在图3A中,MCU 402连接到通信模块155(以射频(RF)接收器/发射器的形式)。MCU 402还连接到MAC地址420,其通过网络提供通信。在一个方面(未示出),MAC地址420是通信模块155的一部分并且允许通过通信模块155的网络通信。在一个方面,MCU 402还连接到电源404,所述电源404向边缘设备120供电。
MCU 402还连接到输出电平移位器414A,所述输出电平移位器414A将来自MCU 402的信号电平移位到输出设备152。MCU 402还连接到输入电平移位器414B,所述输入电平移位器414B还连接到输入151。
[0039] 再次参考图1A、2A和2B,如先前所指出,在一个方面,边缘设备120是微控制器、芯片或印刷电路板(PCB),其被配置为耦合到不同传感器类型的多种传感器或与其集成(例如,本文所述的传感器11-28),提供多种类型的传感器输入151。在一个方面,边缘设备120还被配置为向例如显示器、开关或其他控制器提供输出152。在一个方面,耦合到边缘设备120的多种传感器(例如,传感器11-28)被配置为低功率传感器以限制功耗。在一个方面,边缘设备120的边缘设备虚拟机154被配置为公共平台和可编程接口,以用于配置软件,该软件用于编程和配置边缘设备120以从多种传感器11-28接收传感数据(如上所述),分析和集成来自多种传感器11-28的传感数据,并基于来自多种传感器11-28的传感数据基于逻辑层
154内的预定义或用户编程的规则或指令来作出本地(例如,边缘设备120级别)决策。如先前所指出,在一个方面,边缘设备120基本上是可互换的并且被配置为连接到任何合适的传感器。
[0040] 现在参考图4,在一个方面,边缘设备网络链路卡153的可能状态被图示为有限状态机图。在一个方面,在初始化状态420处将边缘设备网络链路卡153初始化。在将网络链路卡153初始化之后,网络链路卡153进入运行状态,该运行状态在处理RF消息430(例如,从网关110或平台引擎101接收的RF消息)、处理硬件中断440(例如,来自多种传感器11-28之一的硬件中断)以及循环逻辑层450(例如,运行存储在逻辑层154内的预定义或用户编程的程序)之间交替。在其他方面,网络链路卡153还被配置为在循环逻辑层450、处理硬件中断440和处理RF消息430状态之间进入休眠模式460以节省电池寿命或降低功耗。
[0041] 再次参考图1A、2A和2B,在一个方面,如先前所指出,边缘设备虚拟机154是包括预定义和用户编程的业务逻辑和学习行为两者的用于多种传感器(例如传感器11-28)的用户可编程接口。在一个方面,边缘设备虚拟机154被配置为提供接收数据(例如,来自多种传感器11-28)、数据收集的处理(例如,经由输入151来自多种传感器11-28)、(例如,从多种传感器11-28收集的)数据的储存和数据的传输(例如,到网关110或平台引擎101)。在一个方面,边缘设备虚拟机154还提供从网关110或平台引擎101接收的RF消息的处理(例如,在网络链路卡153的处理RF消息430状态内)或来自输入151(例如来自多种传感器11-28)的硬件中断的处理(例如,硬件中断状态440)。
[0042] 在一个方面,边缘设备虚拟机154被配置为基于规则的解析系统,其针对某些传感器输入类型提供来自驻留在边缘设备120内的本地边缘设备虚拟机154的逻辑本地分析和解析。通过由DSL模块156解释或编译的任何解释或编译语言,或者经由上述域特定语言(DSL)提供由边缘设备虚拟机154提供的基于规则的解析系统。在一个方面,由边缘设备虚拟机154提供的基于规则的解析系统还被配置为经由输出152生成本地输出(例如,如果传感器超过预定阈值,则边缘设备虚拟机154被配置为经由输出152发起警报命令)。在一个方面,输出152可以被传输到物联网(IoT)平台系统100架构的其他部分,包括例如网关110和平台引擎101。在一个方面,通过在边缘设备120上实现输出152中的本地变化,边缘设备虚拟机154还使得边缘设备120能够对来自输入151(例如,来自多种传感器11-28)的输入变化进行反应。例如,在一个方面,如果边缘设备120从温度传感器接收到超过预定阈值的温度测量(由逻辑层154确定),那么边缘设备120可以经由输出152本地地输出警报命令,而不必将温度传送到网关110或平台引擎101。在一个方面,边缘设备虚拟机154对边缘设备的本地处理能力在网络的边缘处(例如,在边缘设备120处)实现最佳传感器分析和决策。在一个方面,边缘设备虚拟机154还实现传感器数据解释或多种但相关联的传感器数据的融合,以识别或定义本地分析。例如,边缘设备120可以接收来自泄漏检测传感器和金属检测传感器的数据,并确定在水管断裂附近存在汽车交通。在还有的其他方面,边缘设备虚拟机154还被配置为发起或实现本地动作,诸如向警察局或水务部或私有水务局发送警报以向相关方警告水管断裂。
[0043] 现在参考图5,每个网关110可以包括具有任何合适形状和尺寸的任何合适的壳体299。在一个方面,壳体是防雨的并且可以是抗UV(紫外)射线的。壳体299可以由任何合适的材料构成,使得在一个方面,允许射频通过壳体。每个网关110A-110C(通常被称为网关
110)可以例如在相应的外壳内包括处理器模块200(其可以包括任何合适的存储器和合适的编程,并且可以被配置用于执行如本文所述的网关的功能)、GPS模块201、时钟模块204、充电控制器205、电源模块202和任何合适数目的通信模块203、208。在一个方面,网关110基本上类似于2014年11月20日公布的美国公开号2014/0340240和2014年11月20日公布的美国公开号2014/0340243中公开的网关,其两者通过引用整体并入。在一个方面,网关110还包括,在一个方面,网关网络链路卡166,其包括驻留在网关110的处理器模块200上的网关虚拟机160。在一个方面,网关虚拟机160由与网关网络链路卡166的安全系统空间隔离的用户定义的代码来定义。在一个方面,网关虚拟机160被配置为包括从边缘设备120接收传感器数据并提供来自边缘设备120A-C、121A-C和122A-C的群组的分析的代码。在一个方面,网关虚拟机160对应于边缘设备120的边缘设备虚拟机154。在一个方面,网关虚拟机160被配置为在网关110级别本地地提供传感器数据组织、分析和集成。在一个方面,网关110还被配置为提供用于容错的跨网关下降(fall-over),如2012年9月25日发布的美国专利号8,274,
403中所公开的,其全部内容通过引用并入本文(参考图6)。
[0044] GPS模块201可以可操作地连接到处理器模块200,并且包括用于与一个或多个GPS卫星通信的任何合适的天线209。GPS模块201可以被配置为向处理器模块提供任何合适的数据,包括但不限于位置/定位数据、日期数据和时间数据。时钟模块204可以可操作地连接到处理器模块200,并向处理器模块200提供时间数据,可以由处理器模块200使用从GPS模块201获得的日期和/或时间数据周期性地(或在(多个)任何合适的时间)更新该时间数据。
[0045] 充电控制器205可以可操作地连接到处理器模块200。可以将一个或多个太阳能板207设置在壳体299上、定位远离壳体299或以其他方式连接到壳体299。在一个方面,一个或多个太阳能板207可以是可移动的并且以任何合适的方式被配置以跟踪诸如例如最佳光源之类的一个或多个可用光源,以优化一个或多个功率储存单元206的再充电周期。这里,一个或多个太阳能板可以包括任何合适的电动机和光传感器,以用于实现一个或多个太阳能板的光跟踪移动。如可以认识到的,电动机和光传感器可以连接到处理器模块200以用于进行任何必要的计算和控制,从而实现光跟踪移动。在其他方面,太阳能板207可以包括处理器,以用于执行必要的计算以实现光跟踪移动。太阳能板207可以可操作地连接到充电控制器205以用于给一个或多个可再充电功率储存单元206充电。在一个方面,网关110可以被配置为在照明条件期间(例如,在白天期间)基本上根据由一个或多个太阳能板207提供的功率来操作并且在未照明或低光条件期间(例如,在夜晚、黄昏、黎明等)基本上根据由一个或多个可再充电功率储存单元206提供的功率来操作。在其他方面,网关110可以被配置为根据由一个或多个太阳能板207和一个或多个功率储存单元206的组合输出提供的功率来操作。在还有的其他方面,网关可以用诸如来自公用设施源的硬线供电,并且包括用于将公用功率转换成由网关可使用的功率的合适电子设备。
[0046] 电源202可以可操作地连接到处理器单元200和一个或多个功率储存单元206,以提供和管理来自一个或多个功率储存单元206和/或太阳能板207的功率,以用于网关110的操作。在一个方面,电源模块202可以将一个或多个功率储存单元206的充电状态提供给处理器模块200。例如当充电状态达到预定阈值或在任何其他合适的时间时,处理器模块200可以被配置为实现充电控制器205的操作,使得将功率从一个或多个太阳能板207传输到一个或多个功率储存单元206以用于对一个或多个功率储存单元206充电。电源模块202还可以提供监视例如一个或多个功率储存单元206的充电周期的预测性维护。处理器模块200可以被配置为使用来自例如电源模块202的数据(诸如一个或多个太阳能板207的电压/电流曲线和/或一个或多个功率储存单元206的充电周期)来确定或以其他方式预测一个或多个功率储存单元206的寿命。处理器模块200可以使消息(包括一个或多个功率储存单元206的状态/寿命)从网关110发送到中央控制器101,以用于传送到物联网(IoT)平台系统100的任何合适的操作员/维护人员。
[0047] 在一个方面,网关110可以包括两个通信模块203、208。通信模块中的一个203可以是“本地”通信模块,其被配置用于通过任何合适的无线协议(例如蜂窝、卫星或其他长或短程通信协议)来例如与相应边缘设备120A-120C、121A-121C、122A-122C进行通信。通信模块中的另一个208可以是“远程”通信模块,其被配置用于例如使用例如天线211来与一个或多个通信器140进行通信,如下面将更详细描述的。在其他方面,单个通信器可以用来与边缘设备120A-120C、121A-121C、122A-122C和一个或多个通信器140通信。在一个方面,任何合适的天线210可以连接到通信模块203以用于允许与边缘设备120A-120C、121A-121C、122A-122C进行任何合适的射频通信。可以将天线210设置在壳体299内,安装到壳体299或定位远离壳体299。
[0048] 平台引擎101是计算机化的数据流系统。在一个方面,平台引擎101包括平台引擎网络链路卡180,其包括平台引擎逻辑层模块172、洞察模块174、企业数据集成模块175、分布式储存模块171和通信接口模块173。在一方面,平台引擎101还包括在平台引擎逻辑层模块172内运行的平台引擎虚拟机181。在一个方面,平台引擎101还包括应用编程接口模块176、仪表板构建器179、应用框架178和用户接口模块177。
[0049] 在一个方面,平台引擎101的平台引擎固件180是安全系统空间。类似于网关网络链路卡166和边缘设备网络链路卡153,安全系统空间被配置为控制最终用户不可访问的平台引擎101的操作。例如,在一个方面,平台引擎网络链路卡180包括通信接口173,其控制与网关110和边缘设备156的网络通信。通过阻止用户访问通信接口173,平台引擎101较不易受篡改、黑客攻击以及运行可能对平台引擎101的操作具有不利影响的用户定义的代码。在一个方面,平台引擎网络链路卡180还包括被配置用于大数据分析或机器学习以及业务元数据管理的洞察模块。在一个方面,平台引擎网络链路卡180还包括逻辑层模块172。在一个方面,逻辑层模块172包括域特定语言(DSL)模块182。在一个方面,域特定语言是用于定义用户定义的或用户可编程的代码的简化语言。例如,域特定语言可以是具有操作数和操作符的简化的低级汇编类型语言。在一个方面,DSL是低级解释语言,其包括虚拟机154、160和181被配置为执行的多个低级命令。在一个方面,虚拟机154、160和181还可以包括模拟环境、用例以及也以DSL语言编写的其他用户定义的脚本。在一个方面,可以通过将以DSL语言编写的配置文件加载到平台引擎虚拟机181,然后将其传播到并定制网关虚拟机160和边缘设备虚拟机154来执行虚拟机154、160和181的配置。在其他方面,域特定语言是更高级解释语言,类似于比如Ruby、Lua、Python或Perl的解释语言。在还有的其他方面,可以将域特定语言编译成可执行二进制程序。在一个方面,DSL模块182被配置为解析、解释或编译用户定义的或用户可编程的代码。I用户定义的或用户可编程的代码是可编程规则集,其被配置为基于从边缘设备120接收的传感数据来组织、分析、集成和作出决策。在一个方面,由DSL模块182解释或编译的用户定义的或用户可编程的代码运行在平台引擎虚拟机181中,所述平台引擎虚拟机181是被配置为运行用户定义的或用户可编程的代码的虚拟机运行时间。在一个方面,平台引擎逻辑层模块172的用户定义的规则本质上是预定义的和用户可编程的两者。在一个方面,平台引擎虚拟机181基本上类似于网关110的补充网关虚拟机160和边缘设备120的边缘设备虚拟机154,并且提供在平台引擎101级别处的数据的组织、集成、分析和处理。平台引擎虚拟机181的规则将规定将如何处理数据。规则的第一步将是将正在接收的数据流解析为适用的数据元素,以用于转发到适当的数据库或管理系统。规则将为每个数据流定义要在其上解析所接收数据流的标记。规则还将规定哪个系统将接收那些已解析的元素以及是否预期返回的数据。然后将每个数据流传递到特定数据库或管理系统,并确认收到完整数据流。与每个元素的通信将被记录在单独的数据库中以用于历史跟踪和内部诊断报告。如果规则规定来自已定义的支持系统的响应是预期的,则平台引擎101将等待那个返回数据流并本地地存储之。一旦处理了每个解析的数据流,就编译任何返回的数据流并将其传递到通信接口模块173上,以用于传送到网关110、边缘设备120或外围设备130-
132。
[0050] 通信接口模块173是多面壳,在一个方面,其连接到多个物理连接并使用多个协议。在一个方面,通信接口模块173还连接到用户接口引擎177,其生成交互式文档以用于在适用时在web浏览器或移动应用中显示。在一个方面,通信接口模块173还通过蜂窝、卫星或其他远程无线连接来提供加密数据流到边缘设备120、网关110和外围设备130-131的交换。通信接口模块173使用路由表来跟踪在与每个设备通信时要使用的手段和协议两者。
[0051] 为了传输数据,通信接口模块173接收要被传输的数据和其要被递送到的设备地址。基于已定义的路由表,确定通信的手段和协议,并且格式化有效负载数据以用于递送。可以将信息的递送寻址到一个个体设备或一组设备。一旦被接收,分组就在必要时被重新排序并由(多个)接收设备的逻辑进行解释。数据分组的有效负载将告诉接收设备要采取什么动作以及要应用哪个参数。
[0052] 在一个方面,如图2C中所示,注意,最终用户可以通过编程环境工具280来传播用户定义的或用户可编程的代码,所述编程环境工具280将用户定义的或用户可编程的代码传送到平台引擎虚拟机181。在一个方面,编程环境工具280可以包括图形编程模块281,其允许用户通过简化的图形界面或点击界面来简化脚本命令。在其他方面,编程环境工具280还包括文本编程环境282,其允许用户通过输入文本或文本文件来定制用户定义的或用户可编程的代码。在一个方面,文本编程环境282是DSL解析器并且接受DSL中的脚本输入。在其他方面,文本编程环境282被配置为解析任何合适的编程语言并将其解释为DSL的简化语法。在一个方面,这可以包括高级和低级语言两者,诸如C、Python、Lua、Perl、Ruby等。在一个方面,将用户定义的或用户可编程的代码从编程环境工具280传递到平台引擎虚拟机181。从编程环境工具280传递到平台引擎虚拟机181的用户定义的或用户可编程的代码可以继而被传递到边缘设备120的虚拟机154和网关110的虚拟机160,以进一步定制虚拟机
154和160的操作。
[0053] 应用编程接口模块为了使计算机或移动应用和第三方用户访问平台引擎101,平台引擎101还包括应用编程接口,其被配置为提供一组子例程定义、协议和工具以用于构建用户可以通过任何互联网连接访问的软件和应用或用于显示应用数据。本发明包括若干不同类型的接口。
[0054] 地理信息系统图7-11图示出了由例如用户接口模块177(在web浏览器上)或在外围设备130-132的显示器上(例如,在访问应用编程接口模块176的移动app上)呈现的地理信息系统用户接口的基本格式。该接口具有许多视图和过滤级别。图7示出了关注于执行状态的视图。选择控件(11-1)允许用户根据特定状态过滤视图。在这种情况下,对视图进行过滤以仅示出某些数据,诸如例如停车上下文(parking context)内的未被占用的停车空间。在其他方面,视图可以包括来自边缘设备120的任何一个和多种传感器11-28的任何一个的任何合适的数据,并且可以显示任何合适的上下文,包括天气、公共安全、废物管理、气体泄漏、下水道感测、水泄漏、停车感测、智能停车感测、水质、结构完整性、土壤湿度、电磁发射、智能照明、安全有序的街道感测、空气质量、物品跟踪和定位、水位、公共卫生危害或任何合适的预定传感特性,如上面关于多种传感器11-28所述。这些由地图上的图标(11-2)来指示。
[0055] 图8示出了与图7相同的视图,然而在图8中,用户已点击了图标之一。当发生这个时,气球或窗口(12-1)打开,以提供有关由该图标所代表的空间的进一步细节。
[0056] 图9类似于图7和图8,但是已经扩展了过滤器,以示出未占用的空间和具有停车计时器超时违规的空间两者。
[0057] 详情气球(13-1)给出了关于空间和其中发生的违规两者的信息。图10是表示用户定义的空间归组的GIS的视图。在这种情况下,作为定义群组的用户基于在空间处生效的执行策略。所选策略由彩色线(14-1)或一些其他视觉手段来指示。
[0058] 然后,可以使用这些归组来运行报告、改变策略或以其他方式管理空间。图11示出了计量表(meter)的地理选择。用户可以定义不同类型的地理位置。此类类型可以是政权的(议会区)或职能的(执行区)。与图10中的归组一样,可以使用这些选择(15-1)来生成报告、改变策略或管理该地理内的空间。
[0059] 以用户使用鼠标选择一个或多个空间或通过从公共列表中选择空间来发起类型。一旦被选择,用户可以使用通过界面屏幕顶部的菜单栏访问的菜单或由通过已定义的鼠标点击组合可用的上下文菜单来发起预定义的动作。然后,可以由用户输入一系列参数来定义请求的细节。然后将整个请求继续传递到平台引擎101的逻辑中心,在那里预定义规则规定要收集什么数据元素,如何对它们进行核对以及应该将通信传递到哪个(哪些)设备。
[0060] 类似地,地图图像上的图标可以被用来显示当前状态信息。通过用户的手动请求刷新显示或通过自动刷新显示来更新此信息。在任一种情况下,平台引擎101从包括当前信息的数据库中检索关于远程资产和人员的当前位置和状态的信息,并更新显示图像以反映任何变化。
[0061] 文本报告通常,用户(使用外围设备130-132)所需的信息本质上是统计的。为了解决这些请求,在一个方面,本公开包括文本报告,该文本报告将例如通过应用编程接口模块176来对用户可用以及通过外围设备130-132上的应用可访问。报告由输入屏幕驱动,所述输入屏幕指定日期范围、按组或单独的空间选择、要包括的信息和统计类型,例如,工厂中的多少计量表在特定时间是无效的以及要彼此比较的数据的子部分。报告将采用文本上适合用户所请求的统计的书面报告、表格或图的形式。
[0062] 图形报告除了文本报告之外,图形还提供统计的视觉表示,其提供对相互关联的统计的趋势、比较和分类的快速且简明的理解。
[0063] 与文本报告一样,将按照用户输入屏幕的指示呈现图形报告(在外围设备130-132上通过访问应用编程接口模块176),所述用户输入屏幕控制要包括的日期范围、群组或个体空间、以及要绘制的统计。用户还从可用图形类型列表中选择要使用的图形类型。在适用时,用户可以通过将一个统计数据与另一个统计数据重叠来比较统计数据。图形选择界面为用户提供选项以指定是否在单独的轴上呈现结果。在将统计数据与不同测量单位进行比较(诸如将美元收入与按百分比测量的合规水平进行比较)时,这是有用的。
[0064] 电子标牌物联网(IoT)平台系统100包括用于远程单元的电子显示器,诸如空间监视和计量装备或状态计或温度读出器。在一个方面,电子显示器是外围设备130-132,其被配置为通过应用编程接口模块176来访问平台引擎101。此类显示器(例如,图7-11中所示的显示器)包括连接到实际计量装备的街道标志和LCD显示器,以将当前费率和策略传达给停车公众。电子性质允许更新此类标牌以反映费率、营业时间等等的变化,而无需部署劳动力来替换或修改标志。没有这样的标牌,就不能对此类策略进行快速和定期的更改。
[0065] 支持数据库和管理系统为了以所有必要格式呈现详细且灵活的报告,需要多个互连的系统和数据库。平台引擎101协调这些个体数据源的输入,以在图1A、图2A和图2B中所示的任何一个或多个外围设备130-132中创建个体呈现。
[0066] 洞察引擎174在一个方面,平台引擎101还包括洞察引擎174,其被配置为处理从边缘设备120和网关
110接收的原始数据。在一个方面,洞察引擎174被配置用于大数据分析和机器学习以针对使用模式对传感器数据进行辨别或针对任何合适的方式分析数据。例如,洞察引擎174可以被配置为利用例如水泄漏检测传感器16和土壤湿度传感器21来辨别水的使用模式,以确定例如在干旱条件期间可能存在给他们的草坪浇水的个体的地方。在一个方面,可以由洞察引擎174确定或分析传感器数据之间的任何合适的关系。
[0067] 在一个方面,计量表数据的处理,如2005年7月13日提交且未决的美国专利申请序列号11/179,779中所述的比如智能计量表系统的系统通过引用那个申请中找到的附图说明和详细描述而被并入。必须扩展此系统,以允许系统管理中的最大灵活性。然后将此处理的输出存储在平台引擎101中的相关联的数据库中。用于以后检索和编译成用户请求的报告所要求的聚合统计数据。
[0068] 本发明的系统还允许对由工作人员监督者和策略制定者所制定的影响系统100的操作的策略中的变化进行建模。通过存储历史数据,洞察引擎174可以生成来自边缘设备120的传感器数据的统计和数学模型。用户可以仅仅指定手动改变哪些统计数据以及计算哪些统计数据,并且系统可以使用历史数据来估计结果。这些结果基于针对目标地理的实际数据,并允许用户作出多种假设,诸如假设如果提高费率,则合规水平将降低一定百分比。
[0069] 当前状态数据库在一个方面,平台引擎101还包括当前状态数据库来作为分布式储存器171的一部分,其是包括对被监视的每个资产或人力资源的记录的数据库。
[0070] 通过加密数据消息监视与边缘设备120和网关110有关的记录,包括关于边缘设备120状态和网关110状态的信息。利用来自空间各种状态的变化的系统遥测的每个新报告来更新该表格。记录的详情包括与边缘设备120、网关110和外围设备130-132相关的任何异常情况。
[0071] 当诸如遥测之类的系统通信技术接收新数据时,也更新例如由工作人员监督者或策略制定者进行的与人力资源相关的记录。这些记录包括有关该员工在使用的装备(包括车辆和工具)、员工的位置以及维护人员要求的任何被指派或相关联的工作订单的信息。
[0072] 管理系统在一个方面,管理系统101的任何操作的一个主要部件是库存跟踪(例如,经由传感器
26)。在一个方面,这可以包括例如与企业数据集成模块175的集成或者可以是分布式储存器171的一部分。用唯一的序列号来标识操作的每个元素。此序列号被用来对包括关于资产的所有信息的数据库表格进行编索引。此信息包括零件号、型号和制造商。
[0073] 附加数据库表格被用来跟踪关于资产的历史事件。此类事件包括维护问题和事件、升级、位置更改和连接的资产。此数据对维护人员的操作有用。补充表格可以被用来显示关于系统中任何资产的当前和历史数据两者,以便安排维护、更换或升级。
[0074] 当确实出现可能需要更换零件的问题时,存储关于相关联替换零件的信息和用于更换的可用库存的表格可以被用来确保维护队(维护人员)具有执行所需维修的所有必要零件。另外的表格存储关于用于购买零件的源和交货时间的信息,以便于从其制造商处高效订购零件。
[0075] 大多数系统还包括通过记录来自制造商的订购零件的属性并计算最有效的订购数量和运输成本来进一步创建库存管理效率的工具。
[0076] 维护历史如先前所提及,在平台引擎101的分布式储存器171中跟踪每个资产的维护历史。此信息在分析便于预防性维护的故障趋势以及改善公众体验方面是重要的。通常,因违反停车策略而被传唤的人由于涉嫌停车计时器故障而对罚单提出异议。可以参考历史信息以确定是否发生了此类故障。如果是这样,则可以取消罚单。此数据对于执行人员的操作是必要的。
[0077] 如果在特定时间期间在已定义的地理区域内发生故障,则维护管理者可能能够识别故意破坏的问题并寻求执法部门的帮助来纠正问题。
[0078] 策略管理策略管理数据库被用来跟踪各种边缘设备120的激活。此数据库还跟踪这些策略对边缘设备120的历史应用。
[0079] 对数据库进行参考以处理从边缘设备120接收的数据。对此原始数据的分析必须由人员对数据应用正确的计量率和执行参数,以便正确地计算统计数据并更新当前状态数据库中的当前空间状态以用于在地图(图7-11)和报告中显示。
[0080] 向最终用户传输和散播信息、分析和收集的合适方面的另外的示例类似于在2012年9月25日公开的美国专利号8,274,403中描述和示出的系统,在适用的情况下通过引用将其全部内容并入。
[0081] 参考图2A、图2B、图12A和图12B,在一个方面,IoT网络系统包括至少一个网络链路卡153、166(如上所指出,平台引擎101还可以包括网络链路卡180)、制造中的加密钥固定装置1219、以及IoT边缘设备120和IoT网络节点设备注册和认证管理器控制器199(其可以包括平台引擎101的一个或多个部件,诸如引擎核心101EC和引擎保险库101EV中的一个或多个(或者平台引擎101的任何其他部件),和/或管理模块190的一个或多个部件,诸如密封隔离保险库190V(或管理模块190的任何其他部件))。所述至少一个网络链路卡153、166、180中的每一个被配置为分别与IoT平台系统100的IoT边缘设备120和IoT网络节点设备110中的对应至少一个进行对接,以便经由广域网WAN可通信地将IoT平台系统100的每个相应的至少一个IoT边缘设备120和IoT网络节点设备110链接到IoT平台系统控制引擎,诸如平台引擎101。
[0082] 以任何合适的方式来配置制造中的加密钥固定装置1219,以便在制造时分别与每个至少一个网络链路卡153、166耦合并被加密钥到其上,以便在制造每个相应的网络链路卡153、166时在每个相应的网络链路卡153、166上并与之唯一地对应地形成加密密钥集1203。在一个方面,加密钥固定装置1219可以被配置为在加密钥期间通过任何合适的有线或无线连接与至少一个网络链路卡153、166耦合。
[0083] IoT边缘设备120和IoT网络节点设备注册和认证管理器控制器199被配置为:分别注册和认证IoT边缘设备120和IoT网络节点设备110中的每个至少一个,这是在其相应的初始化和注册时,基于对于IoT边缘设备120和IoT网络节点设备110中的每个至少一个的对应链路卡153、166的在制造时形成的加密密钥集1202的安全对称加密密钥集1202S,由IoT平台系统100内的IoT边缘设备120和IoT网络节点设备110中的每个至少一个的IoT平台(系统控制)引擎101,以便实现IoT边缘设备120和IOT网络节点设备110中的每个至少一个分别到IoT平台系统100的认证加入(onboarding)。在一个方面,认证在由IoT网络平台(系统控制)引擎101注册IoT网络系统100S内的设备120、110初始化时实现并且与其基本上一致。在制造每个至少一个网络链路卡153、166时,将加密密钥集103至少设置在每个至少一个网络链路卡153、166的密码逻辑单元1103CM中。
[0084] 仍然参考图2A、图2B、图12A和图12B以及图13A和图13B,IoT平台系统100包括IoT平台系统加密密钥安全系统1290。IoT平台系统加密密钥安全系统1290的操作可以基于包括存储在安全储存器190KS(图13A,框1300)中的至少一个主要或公共(例如,主)密钥MK1-MK的公共加密密钥集1204,以便从IoT平台系统100分开且密封。在一个方面,将安全储存器190KS包括在管理模块190的密钥生成单元190K中,而在其他方面,安全储存器190KS可以是从IoT平台系统100分开和隔离的任何储存器。虽然在其他方面示出了四个公共密钥MK1-MK4,但是可以有多于或者少于四个的公共密钥。密钥生成单元190K可以是一次性可编程储存器,并且可以不由密钥生成单元190K的控制器/处理器190KC读取或修改。
[0085] 在一个方面,由IoT平台系统100形成的IoT平台系统加密密钥安全系统1290包括IoT设备加密密钥生成端1220,其通过安全加密通信链路1235可通信地耦合到IoT平台引擎加密密钥生成端1201。IoT平台引擎加密密钥生成端1201可以是一个或多个平台引擎101的一部分,其被设置为在IoT平台系统100上的初始化时注册和授权IoT设备110、120。安全加密通信链路1235定义分层加密密钥集层布置1250,其中在IoT设备加密密钥生成端1220处生成的上级层1250LS1的加密密钥集1202和在IoT平台引擎加密密钥生成端1201处生成的上级层1250LS2的加密密钥集1203基于公共加密密钥集1204(例如,公共密钥MK1-MK4),其形成上级层1251LS1、1250LS2所依赖的分层加密密钥集层布置1250的主要层1250LP。
[0086] 加密密钥安全系统1290的IoT设备加密密钥生成端1220由加密密钥生成处理器1200定义,诸如包括在相应的加密钥固定装置1219中,其被设置以便在制造IoT边缘设备
120和IoT通信节点设备110时将加密密钥集1202加密钥到IoT边缘设备120和IoT通信节点设备110上。
[0087] 诸如密钥生成单元190K的另一加密密钥生成处理器190KC被设置或可通信地耦合,以便向IoT平台引擎101提供加密密钥生成输入,该输入提供加密密钥集1203。其它的加密密钥生成处理器190KC定义加密密钥安全系统的IoT平台引擎加密密钥生成端1201,使得IoT设备加密密钥生成端1220和IoT平台引擎加密密钥生成端1201形成加密密钥安全系统1290的基本对称的密钥生成端1230SM。在IoT平台引擎加密密钥生成端1201处生成的每个加密密钥集1203可以至少部分地基于对于在IoT设备加密密钥生成端1220处生成的加密密钥集1202的每个对应加密密钥集1202的对称加密密钥集1202S。
[0088] 在IoT平台引擎加密密钥生成端1201处生成的每个加密密钥集1203包括独立生成的独立密钥1217和至少一个其他密钥1218(例如,设备通信密钥)。至少部分地基于对称加密密钥集1202S的至少一个其他密钥1218和独立密钥1217定义分层加密密钥集层布置1250的其他上级密钥集层1250LL,以确保连接IoT平台系统100的IoT平台引擎加密密钥生成端1201和IoT设备加密密钥生成端1220的通信链路的端到端加密安全性。独立密钥1217唯一地对应于每个相应的IoT边缘设备120和/或IoT网络节点设备110。至少一个其他密钥1218至少部分地基于对于在IOT设备加密密钥生成端1220处生成的加密密钥集1202的每个对应加密密钥集1202的对称加密密钥集1202S。独立密钥1217为相应的IoT边缘设备120或相应的IoT网络节点设备110定义会话密钥1217S(本文中统称为IoT设备110、120)并且经由IoT平台系统100的广域网WAN通过来自IoT平台引擎101的会话密钥加密通信SCOMM而被输入到IoT设备110、120。会话密钥加密通信SCOMM基于至少一个其他密钥1218并且包括至少一个有效性操作符1257A(其可以或可以不与有效性操作符1257相同),其提供会话密钥加密通信SCOMM的通信篡改指示符1258A(其可以或可以不与有效性篡改指示符128相同)。
[0089] 包含输入到相应IoT设备110、120的会话密钥1217S的会话密钥加密通信SCOMM在IoT平台引擎101注册IoT平台系统100内的相应IoT设备110、120的初始化时并对其进行初始响应来实现。如在本文中更详细地描述的,从IoT平台引擎101到相应IoT设备110、120的会话密钥加密通信SCOMM的初始响应以及会话密钥1217S从会话密钥加密通信SCOMM的解密以及在相应IoT设备110、120中的输入实现对相应IoT设备110、120的认证以及相应IoT设备110、120到IoT平台系统100的加入。
[0090] 在一个方面,在IOT设备加密密钥生成端1220处生成的上级层1250LS1的加密密钥集1202和在IOT平台引擎加密密钥生成端1201处生成的上级层1250LS2的加密密钥集1203包括:至少一个对称加密密钥SKEY和至少一个非对称加密密钥AKEY的组合。
[0091] 在IoT设备加密密钥生成端1220处生成的加密密钥集1202基于公共加密密钥集1204和从加密输入1255到IOT设备加密密钥生成端1220的信息。这些加密密钥集1202可以仅被用来加密和解密将其传递到密码逻辑单元1103CM、162CM的数据(例如,此硬件隔离可以确保不能通过在IoT设备110、120上安装恶意固件来远程窃取设备密钥集1202)。设备密钥集1202的唯一性还可以确保如果恶意攻击者在实验室环境中获得对IoT设备110、120的物理访问,则恶意攻击者可能仅能够窃取物理拥有的IoT设备110、120的密钥(因为每个IoT设备110、120具有唯一的密钥集1202)。加密输入1255基于公共加密密钥集1204,并且至少包括预定的IoT设备制造标识特性1256和实现加密输入1255的篡改指示符1258的有效性操作符1258。预定的IoT设备制造标识特性1256形成在IoT设备加密密钥生成端1220处生成加密密钥集1202的基础,在制造相应链路卡153、166时每个加密密钥集1202被加密钥到每个给定IoT边缘设备120和每个给定IoT通信节点设备110的相应链路卡153、166上并且与之唯一地对应。有效性操作符1257定义加密输入1255的有效窗口(或有效期),以及用于基于在IoT设备加密密钥生成端1220处的加密输入1255生成所生成的加密密钥集1202的有效窗口(或有效期),并用于基于加密输入在其制造时将每个加密集1202加密钥到相应链路卡153、
166上。
[0092] 在一个方面,每个加密钥固定装置1219包括从公共密钥MK1-MK4导出的相应的唯一固定装置密钥FK1-FKn和相应的加密钥固定装置1219-1219n的唯一MAC地址。例如,给定加密钥固定装置1219 MAC地址,诸如示例性6字节MAC地址0004a3810123和公共密钥集MK1-MK4,密钥生成单元190K被配置为生成固定装置密钥FK1-FKn(图13A,框1302)。通过对MAC地址进行右零填充以形成16字节明文(诸如例如0004a38101230000000000)来生成固定装置密钥FK1-FKn。密钥生成单元190K被配置为利用任何合适的加密算法(诸如例如,在任何合适的模式中的AES-128,诸如例如计数器、电子代码簿和密码反馈模式),用公共密钥MK1-MK4的每一个依次加密明文(例如,通过指向它们KEYSRC 1-4),以产生与每个相应公共密钥MK1-MK4相对应的16字节密文。例如,针对公共密钥MK1的16字节密文可以是例如1f7c4d08432fa5a1ece0aa02349503d,其中针对其他三个公共密钥MK2-MK4中的每一个生成
16字节密文以产生针对具有MAC地址0004a3810123的加密钥固定装置1219的相应一组固定装置密钥FK1。可以将这些夹具密钥FK1-FKn包括在加密输入1255中。
[0093] 可以将加密输入1255设置在任何合适的计算机可读储存介质1260上,将其从任何合适的输入生成位置1299移植到IoT设备加密密钥生成端1220。将加密输入1255在计算机可读储存介质上设置在输入生成位置1299处,其中输入生成位置1299是从IOT设备加密密钥生成端1220分开并且远离的。在一个方面,计算机可读储存介质是通用串行总线储存设备或任何其他合适的固态储存设备。在另一方面,可以通过诸如广域网WAN之类的任何合适的有线或无线网络将加密输入1255移植到IoT设备加密密钥生成端1220。
[0094] 仍然参考图2A、图2B、图12A、图12B、图13A和图13B,将描述加密钥到相应IoT设备110A-110n、120A-120n的密钥集1202的生成。在一个方面,IoT设备110A-110n、120A-120n可以由任何合适的合同制造商制造。此合同制造商可以将固件(其可以被包括在网络链路卡
153、166中)加载到IoT设备110、120上,以便可以测试IoT设备110A-110n、120A-120n。然而,为了减少对IoT设备110A-110n、120A-120n的篡改,合同制造商没有被提供有密钥集1202,直到密钥集1202准备好被加密钥到相应的IoT设备110A-110n、120A-120n中。例如,在IoT设备110A-110n、120A-120n的生产运行之前,针对预定的IoT设备构建订单,由例如管理模块
190的密封隔离保险库190V的处理器190VP生成/检索预定的IoT设备制造标识特性1256和有效性操作符1258(图13,框1305)。可以由处理器190VP基于例如预定的IoT设备制造标识特性1256来生成IoT设备制造标识特性密钥1256K(图13A,框1308)。在一个方面,预定的IoT设备制造标识特性1256是生产批号,并且IoT设备制造标识特征密钥1256K是从生产批号生成的批量密钥,但是在其他方面,可以使用任何合适的制造标识信息/特性。可以由处理器
190VP至少使用被用来产生该批IoT设备110A-110n、120A-120n的IoT设备制造标识特性密钥1256K、有效性操作符1257和加密钥固定装置1219的相应唯一固定装置密钥FK1-FKn来生成加密输入1255(例如,以包装的数据的形式)(图13A,框1310)。如果加密输入1255的任何部分被篡改,则可以使用有效性操作符1257来检测此篡改,该有效性操作符1257可以是时间有效性窗口,在其到期之后加密输入1255不再针对使用是有效的。
[0095] 以任何合适的方式(诸如利用计算机可读储存介质1260进行移植)将加密输入1255从输入生成位置1299提供给IoT设备加密密钥生成端1220(图13A,框1315)。IoT设备加密密钥生成端1220被配置为在例如加密钥固定装置1219处接收加密输入1255,其中如果被验证,则加密输入1255解锁(例如,使其可操作)加密钥固定装置1219以实现用加密钥固定装置1219来生成/制造IoT设备110A-110n、120A-120n。加密钥固定装置1219被配置为对加密输入1255进行解密以用于验证加密输入1255。例如,加密钥设备1219对加密输入进行解密以导出制造标识特性密钥1256K(图13A,框1318)。例如,如果制造标识特性密钥1256K与由加密钥固定装置1219生成的对应制造标识特性密钥1256KC匹配,则验证加密输入,并且激活加密钥固定装置1219以产生IoT设备110A-110n、120A-120N。
[0096] 如本文所述,IoT设备110A-110n、120A-120n包括相应的安全存储器,诸如密码逻辑单元1103CM、162CM(图13B,框1319)。密码逻辑单元1103CM、162CM可以不是通用输出寄存器,并且可以用于IoT设备110A-110n、120A-120n的后续操作,但是可以不被相应IoT设备110A-110n、120A-120n的处理器读取。例如,加密钥固定装置1219与被制造的该批IoT设备
110A-110n、120A-120n内的IoT设备110A-110n、120A-120n通信,以测试IoT设备110A-110n、
120A-120n的硬件。加密钥固定装置还从相应IoT设备110A-110n、120A-120n读取相应IoT设备110A-110n、120A-120n的MAC地址127MA以及从任何合适的存储器(例如,诸如加密钥固定装置1219的存储器,其中制造标识特性1256可以是用户输入)读取制造标识特性1256(图
13A,框1320;图13B,框1330)。加密钥固定装置1219确定具有预定数目(例如,约为4或在其他方面多于或少于约4)的加密密钥的设备密钥集1202或主密钥(图13A,框1322;图13B,框
1323)。如本文所述,根据产生/加密钥IoT设备110A-110n、120A-120n的加密钥固定装置
1219的固定装置密钥集FK1-FKn、相应IoT设备110A-110n、120A-120n的制造标识特性密钥和MAC地址来确定密钥集1202。还如本文所述,IoT设备110A-110n、120A-120n包括相应的安全存储器,诸如密码逻辑单元1103CM、162CM,其中将设备密钥集1202加密存储在相应IoT设备110A-110n、120A-120n的安全存储器中(图13A,框1325)。
[0097] 对于在例如IoT平台引擎密钥生成端1201处的离线操作(或在线操作)中制造的每个IoT设备110、120,生成会话密钥SK(例如,会话密钥1217S)、加密会话密钥ESK、包装会话密钥WESK、随机数R、随机数的密码导数ER和循环冗余码(CRC)(图13B,框1335)。初始化矢量IV也在例如IoT平台引擎密钥生成端1201处生成,并且从至少一个有效性操作符1257或1257A中获得。密码导数ER可以是从随机数R和初始化矢量IV生成的循环冗余码(CRC)。在一个方面,会话密钥SK是形成独立密钥的随机数;至少从相应IoT设备110、120密钥集1202中的第一设备密钥和会话密钥生成加密会话密钥ESK;至少从相应IoT设备110、120密钥集
1202中的第二设备密钥和加密会话密钥ESK生成包装会话密钥WESK。密码导数ER可以是至少从相应IoT设备110、120密钥集1202中的第三设备密钥集生成的密码反馈模式加密。在一个方面,(多个)对称密钥集1202S被用来生成针对每个相应IoT设备110、120的加密会话密钥ESK、包装会话密钥WESK、随机数R、以及随机数的密码导数ER和循环冗余码(CRC)中的一个或多个。如可以实现的,分层加密密钥集层布置1250和/或会话密钥SK密钥集(例如,SK、ESK、WESK、R、ER、IV和/或CRC)提供对任何对IoT平台系统100的黑客攻击的检测。在一个方面,还可以存储用于其他时段(IV)的附加随机数R和密码导数ER对,其可以提供更长的“密钥有效”持续时间(例如,更长的有效性操作符1257、1257A)。
[0098] 至少将会话密钥SK、加密会话密钥ESK、包装会话密钥WESK、随机数R、随机数的密码导数ER和循环冗余码(CRC)存储在一个或多个平台引擎101的任何合适的数据库/存储器中,诸如在网络链路卡180中和/或在分布式储存器188中(例如,在引擎保险库101EV中),其可以提供会话密钥SK向相应IoT设备110、120的安全传输。
[0099] 参考图2A、图2B、图12A、图12B和图14,将描述新IoT设备110、120到IoT平台系统100中的加入。在制造之后,在现场安装IoT设备110、120。一旦被安装,IoT设备110、120就在IoT平台系统100上进行注册和认证。为了注册IoT设备110、120,开启IoT设备110、120(图
14,框1400)。在IoT设备是IoT边缘设备120的情况下,IoT边缘设备120扫描(多个)可用IoT网络节点设备110。在IoT设备是IoT网络节点设备110的情况下,IoT网络节点设备110扫描(多个)可用平台引擎101。IoT设备110、120生成随机数(例如,随机数值(nonce))并将其MAC地址和随机数值发送到平台引擎101(图14,框1405)。可以将MAC地址和随机数值发送到一个或多个平台引擎101的选定部分,所述一个或多个平台引擎101操作/实现IoT设备110、
120初始化在IoT平台系统100上的注册以及IoT设备110、120的认证。
[0100] 平台引擎101通过IoT设备110、120的MAC地址来查找IoT设备110、120,以注册和认证IoT设备110、120(图14,框1410)。平台引擎101针对MAC地址创建设备参与者,并从引擎保险库101EV检索会话密钥SK(图14,框1415)。在一个方面,设备参与者可以从引擎保险库101EV检索它所代表的IoT边缘设备120的当前会话密钥SK。平台引擎101(例如,通过设备参与者)创建包装加密会话密钥分组序列号WESKPSN(其至少从循环冗余码CRC、包装加密会话密钥WESK、分组序列号PSN和随机数值中创建,其中PSN是IoT设备110、120最后使用的分组序列号)(图14,框1420)。在一个方面,用于IoT边缘设备120的设备通信密钥1218的至少一个密钥被用来生成包装加密会话密钥分组序列号WESKPSN。在一个方面,利用保险库实例内部的XOR掩码(mask)来执行包装加密会话密钥分组序列号WESKPSN的生成。
[0101] 平台引擎101将包装加密会话密钥分组序列号WESKPSN发送到IoT设备110、120(图14,框1425)。在IoT设备是IoT边缘设备120的情况下,IoT边缘设备从IoT网络节点设备110检索当前IoT平台系统100时间戳,并导出初始化矢量IV、包装加密会话密钥WESK、分组序列号PSN和随机数值中的一个或多个(图14,框1430)。在IoT设备是IoT网络节点110的情况下,IoT网络节点110从平台引擎101检索当前IoT平台系统100时间戳,并导出初始化矢量IV(例如,有效性操作符)、包装加密会话密钥WESK、分组序列号PSN和随机数值中的一个或多个(图14,框1430)。IoT设备110、120可以使用设备密钥集1202的至少一个密钥来计算由平台引擎101生成的XOR掩码,以展开包装加密会话密钥分组序列号WESKPSN。例如,IoT设备110、
120展开包装加密会话密钥分组序列号WESKPSN并计算密码导数ER,注意,仅在初始化矢量IV落入由平台引擎101允许的预定时间时段内的情况下密码导数ER将是正确的。如果至少由IoT设备110、120确定的随机数值匹配由IoT设备110、120生成的随机数值,则IoT设备
110、120被认证1432并且包装加密会话密钥分组序列号WESKPSN变成包装加密会话密钥WESK、分组序列号PSN和随机数值。如果不存在认证,则认证进程返回到图14的框1410。
[0102] 一旦IoT设备110、120被认证,IoT设备110、120就展开包装加密会话密钥WESK(图14,框1435)。如果包装加密会话密钥WESK的展开失败,则失败可指示黑客事件或会话密钥SK——如果针对错误时段的话并且重新尝试注册(例如,返回到图14,框1410)。如果展开包装加密会话密钥WESK成功,则IoT设备110、120将该随机数值与IoT设备生成的随机数值进行比较,并且如果随机数值不匹配,则这可以指示黑客尝试并且重新尝试注册(例如,返回到图14,框1410)。如果随机数值确实匹配,则IoT设备通过展开包装加密会话密钥WESK来尝试确定加密会话密钥ESK(图14,框1435)。如果展开包装加密会话密钥WESK失败,则重新尝试注册(例如,返回到图14,框1410)。如果包装加密会话密钥WESK的展开成功,则IoT设备
110、120采用分组序列号PSN作为其分组序列号,并将加密会话密钥ESK加载到IoT设备110、
120的密码逻辑单元1103CM、162CM中并且使用IoT设备110、120的密钥集1202的至少一个密钥从加密会话密钥ESK导出会话密钥SK(图14,框1440)。会话密钥SK存储在密码逻辑单元
1103CM、162CM中,并且不能由IoT设备110、120的控制器151C、152C、162读取。
[0103] 在IoT边缘设备120和IoT网络节点设备110之间(或从IoT网络节点设备110到平台引擎101)建立安全信道,并且开启密码逻辑单元1103CM、162CM(图14,框1450)。IoT设备110、120将密钥采用消息(其包括会话密钥)从IoT设备110、120发送到IoT网络节点设备110的设备参与者(其中IoT设备是IoT边缘设备120)或平台引擎101的资产参与者(其中IoT设备是IoT网络节点设备110)(图14,框1450)。会话密钥由IoT网络节点设备110(其中IoT设备是IoT边缘设备120)或平台引擎101(其中IoT设备是IoT网络节点设备110)验证并且保持安全信道(图14,框1455)。在会话密钥未被验证的情况下,认证进程返回到图14,框1410。
[0104] 在一个方面,用于认证IoT边缘设备120的认证设备可以是IoT网络节点设备110,其中IoT网络节点设备110知道在初始化时连接到的默认通信模块173。如果认证设备是IoT网络节点设备110,则IoT网络节点设备110的网络链路卡166和密码逻辑单元162CM被用来生成随机数值并以与上述方式类似的方式认证IoT边缘设备120。
[0105] 在一个方面,如上面所指出,IoT平台系统100使用任何合适的加密模式来加密IoT平台系统100的设备之间的通信。在一个方面,还针对消息完整性和认证来使用消息完整性代码(MIC)。仅出于示例性目的,在一个方面,加密模式可以是使用128位计数器和有效负载的计数器加密模式。有效负载的一部分可以是用于驻留消息完整性代码的字段。在一个方面,IoT平台系统101的加密至少包括协议标识(ID)、IoT设备的110、120 MAC地址、分组序列号PSN和循环冗余码(CRC)。一旦形成加密模式,则加密模式可以被用来加密分组的其余部分(消息完整性代码除外)。在一个方面,密码逻辑单元1103CM、162CM被配置为使用加密模式和会话密钥SK来对分组数据一次加密预定数目的字节,诸如例如一次大约16个字节(在其他方面,预定数目的字节可以多于或少于约16个字节。在加密每个预定数目的字节之后,对分组中的计数器字段进行递增并加密另一预定数目的字节。一旦加密了数据的整个分组长度,就以任何合适的方式来计算消息完整性代码(MIC),诸如使用Chasekey(ESK,加密数据)并将其插入到有效负载的消息完整性代码字段中。使用任何合适的通信协议和任何合适的通信方法(例如,诸如射频或任何其他合适的传输方法/类型)来将整个计数器、消息完整性代码和有效负载从例如IoT边缘设备120传输到IoT网络节点设备110。
[0106] 传入分组由平台引擎101接收并被检查。平台引擎101计算计数器循环冗余码以验证数据分组的计数器块的完整性。如果发生循环冗余码失配,则可以忽略该数据分组。平台引擎101提取IoT边缘设备120的MAC地址,并使用MAC地址来查找IoT边缘设备120的会话密钥记录。从引擎保险库101EV检索加密会话密钥,并确定Chasekey(ESK,加密数据)并将其与平台引擎101接收的消息完整性代码进行比较。如果消息完整性代码不匹配,则可以丢弃该分组。如果循环冗余码和消息完整性码两者都匹配,则平台引擎101使用IoT边缘设备120的会话密钥SK来加密数据分组的计数器字段,其被用来在标准计数器模式加密程序中导出有效负载区域。平台引擎现在保持解密的IoT边缘设备120消息和数据。平台引擎101可以以任何合适的方式响应IoT边缘设备120消息,诸如通过生成它自己的消息并使用IoT边缘设备的会话密钥SK来使用例如计数器模式加密来加密消息。
[0107] 参考图2A、图2B、图15、图16和图21,在IoT平台系统100的初始化之前,在预定数目的服务器1500A-1500C(这里存在三个服务器,但是在其他方面,可能存在多于或少于三个服务器)上提供隔离的保险库190V集群(图21,框2100)。这些服务器1500A-1500C与因特网完全隔离,以保护对隔离的保险库190V集群的来自因特网的任何远程黑客攻击。还选择预定数目的管理员ADM1-ADM5。图15中图示出了五个管理员ADM1-ADM5,但是在其他方面,可以存在多于或少于五个管理员。创建一个或多个主密钥MSK1-MSK5的组(图21,框2105)并将其固定在远程位置1600中(图21,框2110)。例如,将一个或多个主密钥MSK1-MSK5每个存储在用任何合适的密码和硬件加密进行加密的相应安全通用串行总线设备1510-1514(或其他合适的计算机可读介质)上。一个或多个主密钥MSK1-MSK5的该组密封隔离的保险库190V集群。在一个方面,为每个管理员指派相应的主密钥MSK1-MSK5,其中希望大多数管理员解封隔离的保险库190V,同时希望存在一个或多个管理员来密封隔离的保险库190V。在一个方面,服务器1500A-1500C被配置为通过串行端口(或其他合适的可通信连接)接收信息。这里,另一服务器1500D耦合到服务器1500A-1500C,并提供远程安全位置(例如,安全通用串行总线设备1510-1514)和隔离的保险库190V集群之间的接口。由于例如服务器1500D和隔离的保险库190V集群之间的预定串行通信协议,服务器1500D可以防止受感染的安全通用串行总线(USB)设备1510-1514影响隔离的保险库190V集群。
[0108] 创建密钥生成单元190K。将至少一个主要或公共(例如,主)密钥MK1-MK存储在密钥生成单元190K的安全储存器190KS(例如,基于硬件的密码存储器)中。在一个方面,USB线缆耦合到密钥生成单元190K,并且当密钥生成单元190K耦合到服务器时,密钥生成单元190K表现为串行设备。将公共密钥MK1-MK5和一个或多个主密钥MSK1-MSK5的该组存储在安全远程位置1600中。
[0109] 参考图2A、图2B、图15、图19和图21,在一个方面,可以在联网服务器1550上或在云基础设施1900上初始化IoT平台系统100。如上所述,IoT平台系统100包括多个IoT平台边缘设备120,其可通信地耦合用于与多个IoT平台通信网络节点110的双向通信。IoT平台引擎101可通信地耦合用于与IoT平台通信网络节点110的双向通信,并且经由IoT平台通信网络节点110而可通信地耦合用于与IoT平台边缘设备120的双向通信。提供并初始化引擎保险库101EV1-101EVn集群(图21,框2115)。引擎保险库101EV1-101EVn集群也用主密钥MK1-MK5密封,并且可以用大多数主密钥MK1-MK5解封。期望引擎保险库101EV1-101EVn集群在虚拟私有网络(VPN)或虚拟私有云(VPC)内是可访问的,以隔离引擎保险库101EV1-101EVn集群,其中为了容错,每个引擎保险库101EV1-101EVn可以在地理上彼此分离。引擎保险库
101EV1-101EVn集群可以被用来管理和验证用户(哪些用户可以包括管理员)(图21,框
2120)。例如,管理员ADM1-ADM5中的任何一个或多个可以添加具有用户名、电话号码、VPN凭证的新用户并向用户指派访问控制策略。安全密封储存部分101EV利用多因素用户认证
2000(图20)来管理和启用访问。例如,用户可以通过提供用户名和密码并在用户请求认证时确认发送给用户的第二因素pin来利用引擎保险库101EV进行认证。一旦用户被认证,就向用户发放令牌和/或云凭证(图21,框2125)。根据策略,令牌可以在预定时间段(例如,大约15分钟或多于或少于约15分钟)内到期。令牌和凭证可以被用来进一步与引擎保险库
101EV中可用的其他数据交互,例如以将访问密钥租赁给IoT平台系统100的其他部分。以与上面关于令牌描述的方式类似的方式来认证请求云凭证的用户。一旦被认证,用户可以请求租赁短期云凭据。引擎保险库101被配置为生成动态凭证并在租赁到期时撤销它们。当/如果开发者机器受到损害,这可以防止服务器基础设施的泄露。在一个方面,云凭证是临时的并且在预定时间段(例如,大约三分钟或多于或少于约三分钟)之后是无效的。当开发者离开IoT平台系统开发群组时,临时云凭证还便于撤销开发者对IoT平台系统101的访问。在一个方面,利用租赁的云凭证,开发者或系统运营商可以利用各种云基础设施提供商并且在企业数据中心私有云环境中按需创建新的云服务器。可以用预定的机器图像和脚本的集合来促进这个。
[0110] 每个IoT平台引擎101可以具有多个功能模块,如图2B中所图示。在一个方面,可以创建引擎集群101CL(图21,框2130),其中可以将IoT平台引擎101设置在服务器节点云1900SN的可变地可选择数目的服务器/引擎节点SN1-SNn上(图21,框2135)。多个功能模块中的至少一个功能模块是供应引擎模块1960,其被配置为利用平台引擎101可选择地填充服务器节点SN1-SNn,并且多个功能模块中的另一个是安全密封储存部分101EV,其存储在密封储存部分之外的平台引擎的多个功能模块彼此密封的、关于访问和影响包括供应引擎模块1960的平台引擎101的功能模块的功能的IoT用户凭证和权限。在一个方面,服务器节点云1900SN被设置为基础设施即服务(IAAS)平台或私有服务器云。
[0111] 安全密封储存器101EV部分被配置为管理和启用对用户权限的访问,包括初始化供应引擎模块1960的授权,以便实现平台引擎101设置在其上的服务器节点SN1-SNn的数目的安全弹性供应选择。安全密封储存部分101EV被布置成使得安全密封完整性的供应从IoT平台引擎101的外部解耦并维持。在一个方面,平台引擎101配置有分布式储存层1970,并且将安全密封储存部分101EV设置在分布式储存层1970内。在一个方面,安全密封储存部分190EV跨多个服务器节点SN1-SNn散布,以在多个服务器节点SN1-SNn内包括至少最小确定数,以便实现安全密封储存部分101EV的功能。
[0112] 在一个方面,IoT平台引擎101的多个功能模块中的至少一个定义了集中式服务发现和监视功能1975。集中式服务发现和监视功能模块1975可以跨多个服务器节点SN1-SNn散布以在多个服务器节点SN1-Snn内至少包括最小确定性数,以便实现集中式服务发现和监视功能模块1975的集中式服务发现和监视功能。在一个方面,在引擎集群101CL中创建的第一组服务器节点SN1-SNn可以是集中式服务发现和监视功能模块1975,为了容错,其可以位于与其他服务器节点SN1-SNn在地理上远程的位置处。
[0113] 如上所述,安全密封储存器101EV部分被配置为管理和启用对用户权限的访问,包括初始化供应引擎模块1960的授权,以便实现平台引擎101设置在其上的服务器节点SN1-SNn的数目的安全弹性供应选择。在一个方面,IoT平台系统100可以以任何合适的方式确定所要求的服务器节点SN1-SNn服务(图21,框2140)。可以安装在服务器节点SN1-SNn上的用于各种服务的安装脚本可以写在开发者机器上并提交给任何合适的代码库。在一个方面,存在与IoT平台系统100中的每个服务相对应的脚本,其中基于哪些服务被确定/分配给那个服务器节点NS1-SNn来将服务递送给服务器节点SN1-Snn。取决于例如所要求的服务器节点SN1-SNn服务,可以按需对服务器节点SN1-SNn服务进行初始化(图21,框2145)。集中式服务发现和监视功能1975被配置以便在用供应模块1960填充的新供应的服务器节点SN1-SNn上注册每个平台引擎服务的运行启动。例如,服务可以向集中式服务发现和监视功能1975报告服务正在相应的服务器节点SN1-SNn上运行。这可以提供利用集中式服务发现和监视功能1975跟踪哪些服务在哪些服务器节点SN1-SNn上运行并且使得IoT平台系统100的其他部分能够发现服务的位置。集中式服务发现和监视功能1975可以周期性地检查服务是否正在其被指派的服务器节点SN1-SNn上运行,使得集中式服务发现和监视功能1975知道服务状态中的任何变化。
[0114] 在一个方面,供应引擎模块1960被配置以便实现:供应对所供应的服务器节点SN1-SNn的数目的选择以便利用平台引擎101来变成被填充、针对所供应的所选服务器节点SN1-SNn的数目选择网络拓扑、以及从平台引擎101的预定服务中选择服务以便在所供应的每个所选服务器节点SN1-SNn上启动所选服务。在一个方面,供应引擎模块1960被配置为使得在所供应的每个所选服务器节点SN1-SNn上的所选服务的选择和设立是利用仅一个供应脚本的仅一个配置文件和选择输入指定的,所述仅一个供应脚本被馈送给供应引擎模块1960,实现了每个所选服务器节点SN1-SNn的基本上自动的设立。例如,可以在仅一个供应脚本中指定要创建的服务器节点SN1-SNn的数目、它们的拓扑以及在每个服务器节点SN1-SNn上启动哪些服务。配置文件可以驻留在IoT平台系统100的任何合适的代码库中。开发者可以将配置文件提取到他们的机器并将配置文件馈送给供应脚本,所述供应脚本也可以驻留在代码库中。此供应脚本使用配置文件来决定创建哪些服务器节点SN1-SNn以及在创建的服务器节点SN1-SNn上安装哪些服务。
[0115] 可以以任何合适的方式来监视平台引擎101服务器节点SN1-SNn容量(图21,框2150),其中自动管理平台引擎101服务器节点SN1-SNn容量(图21,框2155)。此高度自动化使得IoT平台系统100能够在短时间段内(例如,在大约三分钟内或在其他方面,多于或少于约三分钟)增长或减少平台引擎101的容量,并且还使得能够将IoT平台系统100网络的子部分指派给平台引擎101的子部分,其以线性可缩放的方式实现引擎容量规划。例如,连接到IoT平台系统100网络的子部分的IoT边缘设备120的数目在安装时间可以是可预测的。当添加新的网络安装(例如,边缘设备)时,可以创建新的一组服务器节点SN1-SNn来处理来自那个新位置的设备数据。当由于外部事件而期望来自例如IoT边缘设备120的用户的大量数据负载时,可以快速供应新的平台引擎101容量以满足规划外需求。
[0116] 在一个方面,在新的服务器节点SN1-SNn上启动的第一服务之一是暴露平台引擎101的默认门户1999的一个或多个服务。默认门户1999具有固定地址并且一个或多个IoT平台通信网络节点110在IoT平台通信网络节点110的启动时连接到此默认门户1999。默认门户1999可以跟踪哪个IoT平台通信网络节点110MAC地址被指派给服务器节点SN1-SNn的哪个子集并且可以将IoT平台通信网络节点110重定向到服务器节点SN1-SNn的那个子集中的新门户。
[0117] 在一个方面,在设立时,所选服务器节点SN1-SNn元数据文件101MD中相应的每一个用私钥PVK(图17,框1700)签署,该私钥PVK唯一地对应于所选服务器节点SN1-SNn中的相应一个。私钥PVK对应于相应的所选服务器节点SN1-SNn,并被密封在安全密封储存部分101EV中(图17,框1710)。在设立相应的所选服务器节点SN1-SNn时,由安全密封储存部分
101EV在接收到签名时认证私钥PVK(图17,框1720)。例如,可以使用平台引擎101服务器节点SN1-SNn的元数据文件101MD来认证/授权新的和/或附加的平台引擎101服务器节点SN1-SNn。平台引擎101服务器节点SN1-SNn还可以被指派在引擎保险库101EV访问控制列表中的特权。平台引擎101服务器节点SN1-SNn可以通过验证元数据文件101MD来用引擎保险库
101EV对自身进行认证(例如,元数据文件101MD中的元数据被验证以检查元数据是否与元数据文件由供应脚本签署时的元数据相同,元数据对于每个平台引擎101服务器节点SN1-SNn是唯一的)。一旦被认证,平台引擎101服务器节点SN1-SNn被提供有用于执行如本文所述的本公开的各方面的任何合适的密钥(图17,框1730)。
[0118] 还参考图18,在一个方面,仅向授权人员提供对服务器节点SN1-SNn的人员访问,其中记录对服务器节点SN1-SNn的每次访问以进行审计。用户1800寻求通过VPN上的安全外壳(SSH)对服务器节点SN1-SNn的访问,通过用户/传递后端UBE和第二因素认证SFA来利用引擎保险库101EV进行认证。这里,引擎保险库101EV操作为认证授权CA。服务器节点SN1-SNn被配置为在设立服务器节点SN1-SNn时将引擎保险库101EV信任为被信任认证授权CA。寻求对服务器节点SN1-SNn的访问的用户1800可以生成新的SSH密钥对SSHK并请求引擎保险库101EV签署SSH密钥对SSHK。由引擎保险库101EV签署的任何SSH密钥对SSHK可以访问信任引擎保险库101EV的任何服务器节点SN1-SNn。在一个方面,引擎保险库101EV可以被配置有多个认证授权区Z1-Zn,以控制用户1800访问哪些服务器节点SN1-SNn。在一个方面,SSH访问会话具有短的持续时间并且每个服务器节点SN1-SNn上的脚本终止比大约10分钟更长的所有SSH会话(在其他方面,SSH会话可能在持续时间方面比大约10分钟更长或更短)。作为根(root)的SSH访问可能被限制到管理员ADM1-ADM5。普通用户可以利用SSH访问登录到服务器节点SN1-SNn以进行诊断,但是可能未获得根访问特权。
[0119] 参考图2A和图2B,如上所述,IoT平台系统100是全面的现代的框架,其跨度从低功率无线边缘设备到云服务器,并且实现了服务于多种工业IoT用例的系统的快速开发、可靠操作和粒度控制。平台引擎101是弹性且云构建的设备,以用于分布式流处理、设备生命周期管理、大规模设备数据的高效储存/查询、以及设备之间的实时协作。平台引擎101向高度可定制的、机器学习授权的、实时设备参与者提供流决策管道,以帮助将物理设备集成到例如企业业务进程中。平台引擎101还提供现代RESTful和流应用编程接口(API)连同可插拔企业集成模块,以实现企业系统和连接设备之间的强大集成。
[0120] 如上所述,参考图2A、图2B和图19,平台引擎101在多个服务器机器SN1-SNn的集群(群组)上运行。可以在任何云基础设施即服务平台(诸如例如,Amazon EC2®、Google®计算引擎、Microsoft Azure®等)中或者在基于例如OpenStack®、VMWare vSphere®等的具有私有云的私有数据中心中供应这些机器SN1-SNn。如果基础设施即服务不可用,也可以在数据中心中的服务器机器上直接供应平台引擎101(其包括一个或多个服务器机器SN1-SNn)。平台引擎101包括平台引擎基础设施层,其跨各种支持的底层基础设施来提供一致的编程接口,以供应新的服务器机器SN1-SNn,配置这些服务器机器SN1-SNn之间的网络连接性,配置现有可用/供应的基础设施的状态的储存和查询。平台引擎基础设施层还提供对平台引擎101集群中的所有服务器机器SN1-SNn的集中式色指派、记录、健康、检查和监视。在一个方面,平台引擎基础设施层使用分布式储存器1970层来存储上述信息。
[0121] 作为示例,平台引擎101存储并且使得能够及时访问在IoT设备和支持这些IoT设备的功能的服务器的复杂网络的操作期间生成的多种类型的数据。平台引擎101供应分布式储存器1970层,其针对储存的可靠性和公共访问模式的速度进行了高度优化。为了冗余可靠储存、数据的高可用性、并行处理和在IoT平台系统100上运行的应用的水平可伸缩性,可以将分布式储存器1970层跨多个机器来散布。在一个方面,分布式储存器1970层包括分布式文件系统1971、图形储存器1972、元数据(密钥值)储存器101MD、引擎保险库101EV和引擎监视数据库1975。图22中图示出了分布式储存器1970层的示例性图形表示。
[0122] 分布式文件系统1971被配置为存储诸如系统日志之类的大文件的多个地理冗余副本。分布式文件系统1971还被配置为用于存储在储存层的其他部分中的数据的支持存储,诸如图形储存器1972和元数据(密钥值)储存器101MD。
[0123] IoT系统中的设备报告关于各种商业资产的状态。例如,停车传感器可以报告停车空间的状态。设备与其报告的资产之间的关系被建模为资产知识图形。图形储存器1972层被配置为可靠且高效地存储此图形,并且使得能够快速查询和遍历此图形。
[0124] 元数据(密钥值)储存器101MD被配置为存储系统状态和元数据,并且包括由分布式文件系统支持的大规模、高度容错的密钥值数据库。此数据库支持在故障场景中高度一致的储存,以确保写入操作可靠且永久。如果至少大多数储存服务器未确认写入,则拒绝该写入。一旦写入被确认,则它就是永久性的,并且该写入的索引是永久固定且唯一的。可以在任何副本上并行完成读取操作。
[0125] 引擎保险库101EV被配置为存储若干加密密钥和证书(如本文所述)(在本文中被称为秘密),以确保系统的安全性。引擎保险库101EV被配置为保持这些秘密被加密并且仅在需要时并且仅在存储器中对它们进行解密。永远不会以未加密的形式将秘密写入磁盘。引擎保险库101EV实现安全的多因素用户认证和基于粒度允许的授权系统,其确保用户和机器仅获得对他们具有许可的数据的访问。如本文所述,引擎保险库101EV被配置为动态地生成临时秘密并实现租赁机制,该租赁机制将租赁与其发布到用户/机器的每个秘密关联。
这个动态秘密生成和租赁确保秘密(如果受到损害)不被永久损害并改善整体安全性。还如本文所述,引擎保险库101EV也是认证授权(CA)并且可以生成用于认证网关和服务器的证书。引擎保险库101EV被配置为存储设备会话密钥,该密钥用于对去往/来自例如IoT边缘设备120的数据进行认证和加密/解密。
[0126] 引擎监视器数据库1975被配置为存储指派给每个服务器机器SN1-SNn的角色和服务。引擎监视器数据库1975还被配置为存储关于每个服务器机器SN1-SNn的健康数据,并帮助引擎基础设施层监视平台引擎101集群中的所有服务器机器SN1-SNn的健康。
[0127] 引擎核心101EC被配置为实现平台引擎101的操作所需的核心服务集。这些服务包括用户管理、认证和授权。这些服务可以依赖存储在引擎保险库101EV中的数据来认证并检查他们是否具有访问资源的许可。引擎核心101EC还被配置成为IoT平台系统100的其他部分提供编程接口以与各种储存系统通信。另外,引擎核心101EC被配置成提供创建、运行和毁坏被用来表示引擎中的每个物理资产的轻质并行参与者进程的方式。这使得各种资产参与者能够实时地彼此传送和发送消息。引擎核心101EC被配置为:如果参与者失败则重新启动参与者,并且如果特定服务器正经历过多负载则可以将它们重新分发到不同的服务器。将参与者的现场状态存储在由分布式图形储存器1972和元数据储存器101MD支持的资产知识图形中。
[0128] 资产知识图形1972G是平台引擎101的数据结构,其存储在分布式图形储存器1972中,所述分布式图形储存器1972可以存储跨机器集群分布的数百亿个顶点和边。在平台引擎101内,IoT边缘设备120、网络节点110、服务器机器SN1-SNn、用户、企业商业资产等都被建模为“资产”。通常,所有这些实体都被视为资产。所有资产都作为顶点存储在被称为资产知识图形1972G的数据结构中。在图23和图24中图示出了示例性资产知识图形。将资产之间的关系存储为连接对应资产顶点的边。顶点和边两者可以存储属性。顶点存储资产的一个或多个属性/性质,而边存储两个资产之间的关系的一个或多个属性/性质。取决于资产之间的关系,两个资产之间的边可以是单向的或双向的。当引擎在图形中学习有关各种资产的更多信息时,可以建立新边。这个新信息可以来自用户输入或来自机器学习算法,所述算法可以通过查看来自资产的历史数据来获悉资产之间的关系。例如,如图24中所图示,在可能需要两个停车传感器的卡车停车空间中,因为卡车在长度方面倾向于变化,所以可以力争获悉每个传感器对决定最终占用那个停车空间的贡献的权重。此权重可以作为每个传感器和停车空间之间的边的属性而被存储。
[0129] 在一个方面,可以将资产动画化成平台引擎101内的极轻质的运行进程。这些进程可以彼此发送消息并彼此协作以作出决定。例如,代表特定街道上的IoT停车传感器(例如,IoT边缘设备)的参与者可以在它们每次看到显著磁性事件时向那个街道上的其他IoT停车传感器参与者发送消息。这允许IoT停车传感器通过取消从一个IoT停车传感器的角度看起来像停车事件但实际上是其他事物(比如从街道下经过的地列车)的事件来提高其准确性。
[0130] 平台引擎101的资产知识图形1972G层管理这些参与者进程的生命周期,并且使用通信模块173的层173L来实现参与者之间的消息传递。资产知识图形1972G层还被配置为在失败的情况下恢复和重启参与者。资产图形1972G还提供查询界面,以查询和遍历图形1972G,从而基于给定参数找到顶点。
[0131] 层173L启用并管理遍及IoT平台系统100的数据流。层173L被配置为实现“流”。流使得数据生产者能够可靠地发布数据,并保证将消息递送给那个流的消耗者至少一次。当将数据发布到流时,使用一致性算法将其写入到分布式仅追加日志,这决定了那个消息在流中的索引并提供消息的永久排序。流还启用了一种订阅机制,从而允许在新消息到达流中时立即通知在线消耗者。还支持离线批量消耗者,流可靠地存储每个已注册消耗者的最后消耗索引,允许那个消耗者在任何时间返回并从其停止的地方继续。在平台引擎101和IoT平台系统100的其余部分中使用流来创建可靠的排序、将生产者与消耗者解耦、可靠地路由消息以及提供消息递送保证。层173L还提供门户,其允许消息在服务器机器SN1-SNn、网络节点110和外部系统之间流动。
[0132] 网络节点110通过TCP连接通过门户1999来与平台引擎101连接。门户1999被配置为提供TCP/TLS服务器和设备注册服务,其使得任何IoT边缘设备120或任何网络节点110能够使用特制的挑战/答复算法进行认证并向平台引擎101注册。一旦IoT设备110、120被成功注册,在IoT设备110、120和平台引擎101之间已经成功建立了共享会话密钥。平台引擎101可以启动资产参与者以表示平台引擎101内的IoT设备110、120。资产参与者确保在底层资产知识图形1972G中表示IoT设备110、120的所有已知性质和关系。当数据开始从网络节点110所连接到的TCP服务器端点流动时,将数据路由到可以永久地(或在其他方面,临时地)存储来自网络节点110的所有传入消息的流——网络输入,并从平台引擎101的角度来建立永久性的消息顺序。一旦将消息存储到该流中,则基于MAC(媒体访问控制器)的消息路由器就查看每个传入消息,并将该消息发送给负责具有那个MAC地址的设备的对应参与者。MAC地址在IoT平台系统100内是唯一的。一旦将消息递送给设备资产参与者,就可以使用预先建立的共享会话密钥来对消息进行解密。设备资产参与者还可以通过写入到网络输出流来加密消息并将消息递送回到其对应的物理设备。此流可以建立从平台引擎101到IoT平台系统100的所有传出消息的顺序。设备资产参与者管理相应IoT设备110、120的生命周期,实现检测算法,启用配置,实现固件更新的递送并且基于IoT设备110、120正在发送的消息来连续跟踪物理世界中的相应IoT设备110、120的状态。设备资产参与者成为针对物理IoT设备
110、120的代理,并且即使在IoT设备110、120可能没有主动通信时也可以报告IoT设备110、
120的最后已知状态。
[0133] 除了IoT平台系统100之外,平台引擎101还可以经由比如MQTT的开放协议来提供与其他IoT设备网络的通信的支持。平台引擎101还可以支持与外部企业服务的实时集成。可以用诸如MQTT和CoAP之类的通信协议的层173L所生成的可重用门户(其可以或可以不与门户1999相同)连同针对某个企业系统专门实现的定制集成门户来实现与外部企业服务的此实时集成。平台引擎101的此层支持在资产知识图形1972G内表示外部业务资产及其性质,并且还支持为这些外部业务资产创建资产参与者。例如,城市管理系统可以向平台引擎提供关于比如停车空间的城市资产的数据(例如,空间的位置、针对那个空间的每小时价格、针对那个空间的停车规则等)。将此停车空间信息作为有关那个停车空间资产的性质存储在资产知识图形1792G中。城市管理系统还可以提供关于资产之间关系的数据,例如,此停车空间在此街道上。这些关系也存储在资产知识图形1972G内。外部系统还可以选择订阅特定资产的状态,例如,如果停车空间的状态或路灯的状态。如果代表路灯的参与者预测路灯即将故障,它将立即通知外部城市系统,所述外部城市系统然后可以触发维护进程。
[0134] 平台引擎101的洞察模块/引擎174层提供关于设备和其他资产数据的批量和流分析。洞察模块/引擎174层针对可预测的等待时间实现了资产数据的并行和水平可伸缩处理——即使数据保持增长。洞察模块/引擎174层使用各种分析和机器学习算法来导出摘要统计,检测有趣或异常事件,预测故障,学习决策模型等。在平台引擎101内实现的算法的一些示例包括预测停车空间将保持占用/未占用多久,基于用户偏好和历史可用性数据推荐理想停车空间,预测路灯故障,基于设备日志对可疑安全事件进行分类,并对来自邻近卡车停车空间或真实的卡车停车事件的磁影进行分类。
[0135] 平台引擎101的虚拟机181层(也参见虚拟机154、160)和整体IoT平台系统100提供了即时定制和迭代在已连接设备的网络顶部上操作的业务逻辑的方式。虚拟机181层提供域特定编程语言(DSL)和用户界面以输入新的业务规则、业务逻辑和数据流逻辑,其可以基于出自比如IoT设备的其他资产的信息来决定资产的状态。虚拟机181层被配置为智能地决定所提供的业务逻辑的哪些部分可以被推送给物理IoT设备以节省电池并改善决策等待时间。一旦通过设备资产参与者,虚拟机181层已经决定哪些部分将在设备上运行以及哪些部分将在平台引擎101中运行,则虚拟机181层可以使用虚拟机181层的固件编译管线来动态地编译要被递送给IoT设备的新固件和虚拟机字节码。然后,可以将此更新的固件和字节码递送给门户1999中的对应资产参与者,其然后触发IoT设备的无线升级。
[0136] 平台引擎101为外部系统和IoT平台系统100应用提供流应用编程接口(API)和HTTP API以与平台引擎101交互。应用可以创建资产,修改资产,基于图形1972G找到资产,订阅一个或多个资产的状态等。IoT平台系统100应用框架是一组包装器库,其使得与IoT平台系统100 API交互并构建应用容易。
[0137] 洞察模块引擎174可以提供图形工具以基于传感器和其他资产数据快速构建数据可视化仪表板。图形工具可以实现对实时数据的容易可视化,并且还实现对历史资产数据的复杂查询。IoT平台系统100还可以包括开发者套件,其包括一组图形用户界面和硬件工具,其允许容易地对至少新的IoT边缘设备120进行原型设计。
[0138] 参考图2A和图2B,将描述IoT平台系统100中的示例性数据流。层173L实现遍及IoT平台系统100的数据流。层173L是IoT平台系统100中的分布式层,其跨IoT边缘设备120、网络节点110、平台引擎101和使用IoT平台系统100构建的用户界面应用来工作。层173L由在节点(例如,服务器机器SN1-SNn)上运行的参与者组成。每个节点由node_id唯一地进行标识,node_id是8字节长的二进制数,每个节点所唯一的。将6字节硬件地址表示为8字节,具有两个前导零字节,例如:0x0000AAAAAAAAAAAA。每个参与者由{node_id,actor_id}唯一地进行标识。actor_id可以是节点(其具有那个参与者)可以在本地路由到并全局标识的任何事物。使用例如C编程语言和汇编语言(CHASM)在IoT设备中的虚拟机内部实现层173L。还使用例如C编程语言和Erlang/Elixir在网络节点110内实现层173L。还可以使用例如C编程语言、Erlang/Elixir和Ruby来在平台引擎101内实现层173L。另外可以使用例如Javascript在IoT平台系统100用户界面应用内部实现层173L。将层173L设计成使得它可以在任何其他合适的运行时间环境中实现。IoT平台系统的每个节点都获得一个layer_manager 参与者。
[0139] 可以在网络节点110和平台引擎101上的Erlang/Elixir运行时间内启动层173L管理器。例如,当在平台引擎101中的服务器机器SN1-SNn上启动层173L erlang/elixir应用时,在那个服务器机器SN1-SNn上启动layer_manager erlang进程。此进程跟踪将在此服务器机器SN1-SNn上启动的所有流和门户。
[0140] 还可以在平台引擎101中和Java TM设备上的Java运行时间内启动层173L管理器。例如,当在Java运行时间内启动层173L JRuby应用时,在那个计算机上启动Celluloid layer_manager进程。此进程跟踪将在此机器上启动的所有流和门户。
[0141] 也可以在虚拟机(VM)154、160、181内启动层173L管理器。当针对正在运行虚拟机154、160、181的IoT设备110、120(以及还针对平台引擎101)启用层173L时,将layer_manager例程插入在VM字节代码程序中,并作为字节代码更新补丁的一部分递送给此IoT设备101、110、120。此例程跟踪在此IoT设备110、120(和/或平台引擎101)上活动的所有流和门户。
[0142] 也可以在Web浏览器、基于Web的移动应用、NodeJS或Rhino中的JavaScript运行时间内启动层173L管理器。例如,当在javascript运行时间内启动层173L时,在IoT机器/设备上启动layer_manager webworker进程。此进程跟踪将在此机器上启动的所有流和门户。运行层173L的IoT设备/机器可以经由层173L门户来与运行层173L的其他机器连接。层173L门户可以是特定类型的参与者。层173L门户包括但不限于TCP/TLS门户、WebSocket门户、HTTP门户、无线门户、Java节点门户、SSH门户和无线电门户。层173L门户可以被设置为在它们支持的数据流中是双向的(如果它们支持入站和出站数据两者)或者是单向的。
[0143] 层173L中的数据作为消息到处移动并由层173L流管理。流可以存储消息和元数据。可以通过调用Layer  .create(stream_id,options)来在本地机器上创建流。可以通过调用Layer  .create({node_id,stream_id},options)来在远程机器上创建流。消息的生产者可以通过调用Layer  .publish(stream_id,message)将消息发布到本地流或通过调用Layer  .publish({node_id,stream_id},message)将消息发布在远程机器上,当将消息写入流时向其指派流上的索引。流将last_written_index维护为流元数据中的密钥,这是到流的最后写入消息的索引。
[0144] 消息的消耗者可以通过调用Layer  .register_consumer(stream_id,consumer_id,options)来注册到本地流或通过调用Layer .register_consumer({node_id,stream_id},consumer_id,options)来注册到远程流。消耗者希望注册到具有在注册到特定流的消耗者群组内唯一的具有id的流。通常{node_id,consumer_id},其中consumer_id是节点上的参与者的id。该位置可能并不重要,并且具有特定名称的消耗者在特定机器上可能崩溃并在别的某处出现。消耗者可以在线或离线。这可以在选项中利用模式选项来进行指定。在线消耗者立即被发送的到达流中的所有消息。离线消耗者只有在他们将消息标记为已消耗时才被发送消息。如果离线消耗者将索引为10的消息标记为已消耗,并且该流的last_written_index大于10,则将具有索引11的消息发送给消耗者。消耗者希望消息在他们完成消息消耗时将消息标记为已消耗。利用Layer  .set_consumed(stream_id,consumer_id,index)在本地流上将消息标记为已消耗,并在远程流上将消息标记为层set_consumed({node_id,stream_id},consumer_id,index)。流为向流注册的每个消耗者维护last_consumed_index。该流为每个消耗者维护截断的尾部列表,以跟踪哪些消息已被消耗。因为在线消耗者可能以不同的速度消耗推送的消息并且自由地并行化消息的消耗,所以截断的尾部列表有助于跟踪已被消耗的事物,同时仍然保持存储器使用为低。在列表尾部的任何连续区域会被截断。
[0145] 在一个方面,由流将消息推送给消耗者。在线消耗者必须以与到达速率相当的速率消耗消息。必须使花费更多时间的消耗者离线。仅当接收到针对先前消息的确认时,才会将消息推送给离线消耗者。这有助于速率限制和压制。批量处理消耗者可以通过直接与流的底层储存器带外通话并在完成时更新他们在流中的last_consumed_index来处理消息。消耗者可以处理所有消息b/w last_consumed_index和last_written_index。
[0146] 可以将元数据作为密钥和值对存储在流上。可以在远程流上作为Layer  .set({node_id,stream_id},{key,value})或者通过调用Layer  .set(stream_id,{key,value})将元数据密钥值对写入到流。可以在远程流上作为Layer  .set({node_id,stream_id},key)或者通过调用Layer .get(stream_id,key)来从流中读取元数据值。此元数据实现了瞬态消耗者,其可能不希望维护其自己的存储并依赖流来用于其储存需求。
[0147] 流完全由对{node_id,stream_id}来标识,这是流的地址。基于层173L正在其上运行的运行时间来将这些已标识的流映射到进程身份或例程标识符。
[0148] 层173L门户在层173L管理器之间创建连接。通过询问本地层173L管理器可以发现到流或消耗者的确切路线,该管理器可以用函数进行响应以调用,从而将消息路由到流或消耗者。例如,是否提供了node_id 如果没有,则本地路由到目的地actor_id是节点,其中node_id是内部 如果是,则本地路由到目的地actor_id,如果在消息到达外部节点时node_id是到此外部节点的门户的外部路线,则本地路由到目的地actor_id。
[0149] 可以将写入到流的数据(消息和元数据)存储到各种储存后端,包括但不限于HBase储存后端(在Apache HBase中存储数据)、内存储存后端(在存储器中存储数据)和Coracle储存后端(这是RAFT共识协议的实现)。从层173L流中使用Coracle允许在多个不同的机器上运行的流上表示的多个进程。只有在确认已将消息写入到大多数流进程时,才考虑将消息写入到流。这允许流能够通过并行化进行缩放并且仍然可以抵御故障,因为即使在故障状况期间,为了操作继续也只有大多数进程必须可用。
[0150] 可以使用多个认证机制来在流上启用认证。如果启用了认证,则客户端(生产者或消耗者)进程必须为认证令牌提供对流或对管理器的每个请求,如果令牌有效,则操作成功,如果令牌无效,则流将用认证错误来进行响应。创建流的进程还可以为特定操作授权特定进程(或例程)。如果针对特定操作未授权进程,则操作失败。在一个方面,按照默认,允许创建流或管理器的进程授权其他进程。只允许消耗者设置其自己的last_consumed_index。创建流的进程可以批准或拒绝新的消耗者和生产者。在一个方面,被允许的数据类型列表可以与流相关联。例如,Layer  .create(stream_id,types:[Float])。复杂类型被指定为运行时间所支持的基本类型的组合,例如:Layer .create(stream_id,types:[MagReading])"'elixir defmodule MagReading do use Layer.Type
 a t t r i b ut e:x,Float
 a t t r ibute:y,Float
end"'
流可以拒绝针对与流相关联的类型而言是无效的任何消息。可以为任何流启用HTTP或WebSocket或TCP API。这为跨各种通信信道的流创建了统一的接口。将API实现为层173L门户。
[0151] 根据所公开实施例的一个或多个方面,一种包括虚拟机的分布式系统的物联网(IoT)系统,所述IoT系统包括:至少一个IoT平台系统控制引擎,所述至少一个IoT平台系统控制引擎中的每一个包括IoT平台系统控制引擎安全系统空间和IoT平台系统控制引擎用户定义的空间;
通过网络与所述至少一个IoT平台系统控制引擎可通信的至少一个IoT网络节点设备,所述至少一个IoT网络节点设备中的每一个包括IoT网络节点设备安全系统空间和IoT网络节点设备用户定义的空间;
通过所述网络与所述至少一个IoT网络节点设备和所述至少一个IoT平台系统控制引擎可通信的至少一个IoT边缘设备,所述至少一个IoT边缘设备中的每一个包括边缘设备安全系统空间和边缘设备用户定义的空间;
其中,所述IoT平台系统控制引擎安全系统空间、所述IoT网络节点设备安全系统空间和所述边缘设备安全系统空间每个被配置为被保护以防止未授权访问;和
其中,所述IoT平台系统控制引擎用户定义的空间、所述IoT网络节点设备用户定义的空间和所述边缘设备用户定义的空间每个定义相应的虚拟机,所述相应的虚拟机被配置为接收和执行用户定义的指令以形成所述虚拟机的分布式系统。
[0152] 根据所公开实施例的一个或多个方面,所述IoT平台系统控制引擎安全系统空间和所述边缘设备安全系统空间每个分别被配置为控制在所述网络上在所述至少一个IoT平台系统控制引擎、所述至少一个IoT网络节点设备和所述至少一个IoT边缘设备之间的通信。
[0153] 根据所公开实施例的一个或多个方面,IoT平台系统控制引擎安全系统空间、IoT网络节点设备安全系统空间和边缘设备安全系统空间每个包括集成通信控制模块以控制在所述网络上的通信。
[0154] 根据所公开实施例的一个或多个方面,所述边缘设备安全系统空间被配置为定义所述IoT边缘设备的应用层与所述至少一个IoT边缘设备的驱动层之间的接口。
[0155] 根据所公开实施例的一个或多个方面,所述至少一个边缘设备的所述虚拟机被配置为将所述至少一个IoT边缘设备的应用层配置为与预定的传感器类型进行对接。
[0156] 根据所公开实施例的一个或多个方面,所述至少一个IoT平台系统控制引擎的所述虚拟机被配置为接收用户定义的指令。
[0157] 根据所公开实施例的一个或多个方面,所述至少一个IoT平台系统控制引擎的所述虚拟机被配置为将用户定义的指令传播到所述IoT网络节点设备和所述IoT边缘设备的所述相应的虚拟机。
[0158] 根据所公开实施例的一个或多个方面,所述IoT边缘设备被配置为通过所述IoT边缘设备的所述虚拟机来与多种传感器输入和多种输出进行对接。
[0159] 根据所公开实施例的一个或多个方面,所述IoT边缘设备的所述虚拟机被配置为定制所述多种传感器输入和多种输出的功能性。
[0160] 根据所公开实施例的一个或多个方面,所述至少一个IoT平台系统控制引擎、所述至少一个IoT网络节点设备和所述至少一个IoT边缘设备的所述相应的虚拟机可配置有脚本语言接口。
[0161] 根据所公开实施例的一个或多个方面,所述至少一个IoT平台系统控制引擎、所述至少一个IoT网络节点设备和所述至少一个IoT边缘设备的所述相应的虚拟机可配置有视觉配置接口。
[0162] 根据所公开实施例的一个或多个方面,所述至少一个边缘设备的所述虚拟机被配置为针对预定的传感器类型配置所述至少一个边缘设备的应用层。
[0163] 根据所公开实施例的一个或多个方面,所述IoT平台系统控制引擎包括集成通信控制模块
[0164] 根据所公开实施例的一个或多个方面,所述至少一个IoT平台系统控制引擎、所述至少一个网络节点设备和所述至少一个IoT边缘设备的所述相应的虚拟机被配置为执行特定IoT任务。
[0165] 根据所公开实施例的一个或多个方面,所述至少一个IoT平台系统控制引擎、所述至少一个IoT网络节点设备或所述至少一个IoT边缘设备的所述相应的虚拟机被配置为执行所述特定IoT任务的各部分,其中基于所述至少一个IoT平台系统控制引擎、所述至少一个IoT网络节点设备或所述至少一个IoT边缘设备的所述相应的虚拟机的容量和效率特性来分布所述特定IoT任务的各部分。
[0166] 根据所公开实施例的一个或多个方面,一种操作包括虚拟机的分布式系统的物联网(IoT)系统的方法,所述方法包括:提供至少一个IoT平台系统控制引擎,所述至少一个IoT平台系统控制引擎具有IoT平台系统控制引擎安全系统空间和IoT平台系统控制引擎用户的定义空间;
提供通过网络与所述至少一个IoT平台系统控制引擎可通信的至少一个IoT网络节点设备,所述至少一个IoT网络节点设备具有IoT网络节点设备安全系统空间和IoT网络节点设备用户定义的空间;
提供通过所述网络与所述至少一个IoT网络节点设备和所述至少一个IoT平台系统控制引擎可通信的至少一个IoT边缘设备,所述至少一个IoT边缘设备中的每一个包括边缘设备安全系统空间和边缘设备用户定义的空间;
配置所述IoT平台系统控制引擎安全系统空间、所述IoT网络节点设备安全系统空间和所述边缘设备安全系统空间中的每个以被保护以防止未授权访问;
在所述IoT平台系统控制引擎用户定义的空间、所述IoT网络节点设备用户定义的空间和所述边缘设备用户定义的空间中的每个中定义相应的虚拟机;和
形成虚拟机的分布式系统,其中每个相应的虚拟机接收和执行用户定义的指令。
[0167] 根据所公开实施例的一个或多个方面,一种物联网(IoT)设备链路,包括:用于存储程序代码的存储器储存器;
用于执行所述程序代码的微控制器,其中所述程序代码包括被配置为被保护并且防止未授权访问的安全程序代码和被配置为执行用户定义的指令的用户定义的程序代码;
被配置为向所述IoT设备链路传输数据和从所述IoT设备链路接收数据的通信模块和天线;
被配置为对所述数据进行加密和解密的密码逻辑单元;
被配置为向所述IoT设备链路提供功率的电源和管理模块和功率储存单元;
被配置成为所述微控制器操作记时的实时时钟;
被配置成为所述IoT设备链路提供唯一网络地址的MAC地址模块;和
其中,所述微控制器具有接口模块,所述接口模块被配置为连接和控制IoT设备链路传感器的至少一个输入和输出。
[0168] 根据所公开实施例的一个或多个方面,所述接口模块对于所述IoT设备链路传感器是公用的,所述IoT设备链路传感器包括天气、公共安全、废物管理、气体泄漏、下水道监视、水泄漏、停车通道、智能停车、水质、结构完整性、土壤湿度、电子发射、智能照明、街道安全、空气质量、项目位置、水位或公共卫生传感器。
[0169] 根据所公开实施例的一个或多个方面,所述用户定义的程序代码被配置为控制所述IoT设备链路传感器的所述至少一个输入和输出的操作。
[0170] 根据所公开实施例的一个或多个方面,所述IoT设备链路传感器感测感测特性,并且密码逻辑单元在所述通信模块和天线传输所述感测特性之前对所述感测特性进行加密。
[0171] 根据所公开实施例的一个或多个方面,物联网(IoT)网络系统包括:至少一个网络链路卡,其中每个被配置成分别与IoT平台系统的IoT边缘设备和IoT网络节点设备中的对应的至少一个进行对接,以便经由广域网可通信地将所述IoT平台系统的每个相应的至少一个IoT边缘设备和IoT网络节点设备链接到IoT平台系统控制引擎;
制造中的加密钥固定装置,其被配置成使得在制造时分别与每个至少一个网络链路卡耦合并被加密钥到其上,以便在制造每个相应的网络链路卡时在每个相应的网络链路卡上并且与每个相应的网络链路卡唯一对应地形成加密密钥集;和
耦合到所述IoT平台系统控制引擎的IoT边缘设备和IoT网络节点设备注册和认证管理器控制器,所述注册和认证管理器控制器被配置为:分别注册和认证所述IoT边缘设备和所述IoT网络节点设备中的每个至少一个,这是在其相应的初始化和注册时,基于对于所述IoT边缘设备和IoT网络节点设备中的每个至少一个的对应链路卡的在制造时形成的加密密钥集的安全对称加密密钥集,通过所述IoT平台系统内的所述IoT边缘设备和IoT网络节点设备中的每个至少一个的所述IoT平台系统控制引擎,以便实现IoT边缘设备和IOT网络节点设备中的每个至少一个分别到IoT平台系统的认证加入。
[0172] 根据所公开实施例的一个或多个方面,认证在所述IoT网络系统内的设备初始化的所述IoT边缘设备120和IoT网络节点设备注册和认证管理器控制器的注册时并且与其基本上一致来实现。
[0173] 根据所公开实施例的一个或多个方面,在制造每个至少一个网络链路卡时,将所述加密密钥集至少设置在每个至少一个网络链路卡的密码逻辑单元中。
[0174] 根据所公开实施例的一个或多个方面,一种物联网(IoT)平台系统加密密钥安全系统,所述IoT平台系统具有IoT边缘设备、IoT通信节点设备和具有IoT平台引擎的IoT控制器,所述加密密钥安全系统保护所述IoT边缘设备、IoT通信节点设备和所述IoT控制器上的所述IoT平台引擎之间的加密安全性,所述IoT平台系统加密密钥安全系统包括:加密密钥生成处理器,被设置以便将加密密钥集加密钥到IoT边缘设备和IoT通信节点设备上(在制造时),所述加密密钥生成处理器定义所述加密密钥安全系统的IoT设备加密密钥生成端;
另一加密密钥生成处理器,被设置或者可通信地耦合以便提供向所述IoT平台引擎提供加密密钥集的加密密钥生成输入,所述其他加密密钥生成处理器定义所述加密密钥安全系统的IoT平台引擎加密密钥生成端,使得所述IoT设备加密密钥生成端和所述IoT平台引擎加密密钥生成端形成所述加密密钥安全系统的基本对称的密钥生成端;和
耦合所述IoT设备加密密钥生成端和所述IoT平台引擎加密密钥生成端的安全加密通信链路。
[0175] 根据所公开实施例的一个或多个方面,所述安全加密通信链路定义分层加密密钥集层布置,其中在所述IoT设备加密密钥生成端处生成的上级层的加密密钥集和在所述IoT平台引擎加密密钥生成端处生成的上级层的所述加密密钥集基于公共加密密钥集,其形成所述上级层所依赖的所述分层加密密钥集层布置的主要层。
[0176] 根据所公开实施例的一个或多个方面,所述主要层的所述公共加密密钥集从所述IoT平台系统分开且密封。
[0177] 根据所公开实施例的一个或多个方面,在所述IOT设备加密密钥生成端处生成的所述上级层的所述加密密钥集和在所述IOT平台引擎端处生成的所述上级层的所述加密密钥集包括:至少一个对称加密密钥和至少一个非对称加密密钥的组合。
[0178] 根据所公开实施例的一个或多个方面,在所述IoT设备加密密钥生成端处生成的所述加密密钥集基于所述公共加密密钥集和来自对所述IOT设备加密密钥生成端的加密输入的信息,所述加密输入基于所述公共加密密钥集,并且至少包括预定的IoT设备制造标识特性和实现所述加密输入的篡改指示符的有效性操作符。
[0179] 根据所公开实施例的一个或多个方面,所述预定的IoT设备制造标识特性形成在所述IoT设备加密密钥生成端处生成所述加密密钥集的基础,在制造相应的链路卡时每个加密密钥集被加密钥到并且唯一地对应于每个给定的IoT边缘设备和每个给定的IoT通信节点设备的相应链路卡。
[0180] 根据所公开实施例的一个或多个方面,所述有效性操作符定义所述加密输入的有效窗口,并且用于基于所述IoT设备加密密钥生成端处的加密输入来生成所生成的加密密钥集,并且用于基于加密输入在其制造时将每个加密集加密钥到所述相应链路卡上。
[0181] 根据所公开实施例的一个或多个方面,将从输入生成位置移植到所述IOT设备加密密钥生成端的所述加密输入设置在计算机可读储存介质上,其中将所述加密输入设置在所述计算机可读储存介质上,并且其位置从所述IoT设备加密密钥生成端分开且远离。
[0182] 根据所公开实施例的一个或多个方面,在所述IoT平台引擎加密密钥生成端处生成的加密密钥集中的每个至少部分地基于对于在所述IoT设备加密密钥生成端处生成的所述加密密钥集的每个对应加密密钥集的对称加密密钥集。
[0183] 根据所公开实施例的一个或多个方面,在所述IoT平台引擎加密密钥生成端处生成的加密密钥集中的每个包括与每个相应IoT设备唯一地对应的独立生成的独立密钥和至少一个其他密钥,所述至少一个其他密钥至少部分地基于对于在所述IOT设备加密密钥生成端处生成的所述加密密钥集的每个对应加密密钥集的对称加密密钥集。
[0184] 根据所公开实施例的一个或多个方面,所述独立密钥定义用于所述相应IoT设备的会话密钥,并且经由所述IoT平台系统的广域网通过来自所述IoT平台引擎的会话密钥加密通信而被输入到所述IoT设备,所述会话密钥加密通信基于所述至少一个其他密钥,并且包括提供所述会话密钥加密通信的通信篡改指示符的至少一个有效性操作符。
[0185] 根据所公开实施例的一个或多个方面,包含输入到所述相应IoT设备的会话密钥的会话密钥加密通信在所述IoT平台引擎注册所述IoT平台系统内的所述相应IoT设备的初始化时并对其进行初始响应来实现。
[0186] 根据所公开实施例的一个或多个方面,从IoT平台引擎到相应IoT设备的所述会话密钥加密通信的初始响应以及所述会话密钥从所述会话密钥加密通信中的解密并在所述相应IoT设备中的输入实现对所述相应IoT设备的认证以及所述相应IoT设备到所述IoT平台系统的加入。
[0187] 根据所公开实施例的一个或多个方面,所述独立密钥和至少部分地基于所述对称加密密钥集的所述至少一个其他密钥定义所述分层加密密钥集层布置的其他上级密钥集层,从而保护连接所述IoT平台系统的IoT设备端和IoT平台引擎端的通信链路的端到端加密安全性。
[0188] 根据所公开实施例的一个或多个方面,一种可通信地耦合用于与多个IoT平台通信网络节点进行双向通信的多个IoT平台边缘设备的物联网(IoT)平台系统,所述系统包括:IoT平台引擎,所述IoT平台引擎可通信地耦合用于与所述IoT平台通信网络节点的双向通信,并且经由所述IoT平台通信网络节点而可通信地耦合用于与所述IoT平台边缘设备的双向通信;
具有多个功能模块的IoT平台引擎,将所述IoT平台引擎设置在服务器节点云的可变可选数目的服务器节点上,所述多个功能模块中的至少一个功能模块是供应引擎模块,所述供应引擎模块被配置为利用平台引擎可选择地填充服务器节点,并且所述多个功能模块中的另一个是安全密封储存部分,所述安全密封储存部分存储在密封储存部分之外的平台引擎的所述多个功能模块彼此密封的、关于访问和影响包括所述供应引擎模块的所述平台引擎的功能模块的功能的IoT用户凭证和权限,所述安全密封储存部分被配置为管理和启用对用户权限的访问,包括初始化所述供应引擎模块的授权,以便实现在其上设置所述平台引擎的服务器节点的数目的安全弹性供应选择。
[0189] 根据所公开实施例的一个或多个方面,所述安全密封储存部分被布置成使得安全密封完整性的供应从所述IoT平台引擎的外部解耦并维持。
[0190] 根据所公开实施例的一个或多个方面,所述安全密封储存部分利用多因素用户认证来管理并启用访问。
[0191] 根据所公开实施例的一个或多个方面,所述服务器节点云被设置为基础设施即服务(IAAS)平台或者被设置为私有服务器云。
[0192] 根据所公开实施例的一个或多个方面,所述平台引擎被配置有分布式储存层,并且所述安全密封储存部分被设置在所述分布式储存层内。
[0193] 根据所公开实施例的一个或多个方面,将所述安全密封储存部分跨多个服务器节点散布,以在所述多个服务器节点内包括至少最小确定数,以便实现所述安全密封储存部分的功能。
[0194] 根据所公开实施例的一个或多个方面,所述多个功能模块中的至少一个定义集中式服务发现和监视功能,将所述集中式服务发现和监视功能模块跨多个服务器节点散布,以在所述多个服务器节点内包括至少最小确定数,以便实现所述集中式服务发现和监视功能。
[0195] 根据所公开实施例的一个或多个方面,所述集中式服务发现和监视功能被配置成使得在利用所述供应模块填充的新供应的服务器节点上注册每个平台引擎服务的运行启动。
[0196] 根据所公开实施例的一个或多个方面,所述供应引擎模块被配置以便实现:供应对所供应的服务器节点的数目的选择以便变成用所述平台引擎来填充、所供应的所选服务器节点的数目的网络拓扑的选择、以及从所述平台引擎的预定服务中选择服务以便在所供应的每个所选服务器节点上启动所选服务。
[0197] 根据所公开实施例的一个或多个方面,所述供应引擎模块被配置成使得在所供应的每个所选服务器节点上的所选服务的选择和设立是利用到仅一个供应脚本的仅一个配置文件和选择输入来指定的,所述仅一个供应脚本被馈送到所述供应引擎模块,实现每个所选服务器节点的基本上自动的设立。
[0198] 根据所公开实施例的一个或多个方面,在设立时,所选服务器节点元数据文件中每个相应的一个用私钥来签署,所述私钥唯一地对应于所选服务器节点中的相应一个,所述私钥对应于相应的所选服务器节点,所述相应的所选服务器节点被密封在所述安全密封储存部分中,并且在相应所选服务器节点的设立时由所述安全密封储存部分在接收到签名时进行认证。
[0199] 根据所公开实施例的一个或多个方面,提供了一种包括分布式虚拟机系统的物联网(IoT)系统。所述IoT系统包括:至少一个IoT平台系统控制引擎;通过网络与所述至少一个IoT平台系统控制引擎可通信的至少一个IoT网络节点设备;以及通过所述网络与所述至少一个IoT网络节点设备和所述至少一个IoT平台系统控制引擎可通信的至少一个IoT边缘设备,所述至少一个IoT边缘设备中的每一个包括边缘设备安全系统空间和边缘设备用户定义的空间;其中,所述IoT边缘设备安全系统空间被配置为被保护以防止未授权访问,并且所述IoT边缘设备用户定义的空间被配置为接收和执行用户定义的指令以形成所述虚拟机的分布式系统。
[0200] 根据所公开实施例的一个或多个方面,提供了一种包括分布式虚拟机系统的物联网(IoT)系统。所述IoT系统包括:至少一个IoT平台系统控制引擎;通过网络与所述至少一个IoT平台系统控制引擎可通信的至少一个IoT网络节点设备,所述至少一个IoT网络节点设备中的每一个包括IoT网络节点设备安全系统空间和IoT网络节点设备用户定义的空间;以及通过所述网络与所述至少一个IoT网络节点设备和所述至少一个IoT平台系统控制引擎可通信的至少一个IoT边缘设备,所述至少一个IoT边缘设备中的每一个包括IoT边缘设备安全系统空间和IoT边缘设备用户定义的空间;其中,所述IoT边缘设备安全系统空间被配置为被保护以防止未授权访问,并且所述IoT边缘设备用户定义的空间被配置为接收和执行用户定义的指令以形成所述虚拟机分布式系统;并且其中,所述IoT网络节点设备安全系统空间被配置为被保护以防止未授权访问,并且所述IoT网络节点设备用户定义的空间被配置为接收和执行用户定义的指令以形成所述虚拟机分布式系统。
[0201] 应该理解,前面的描述仅是对本公开的各方面的说明。在不脱离本公开的各方面的情况下,本领域技术人员可以设想出各种替换和修改。因此,本公开的各方面旨在涵盖落入所附权利要求范围内的所有此类替代、修改和变化。此外,在相互不同的从属或独立权利要求中记载不同特征的仅有事实并不指示不能有利地使用这些特征的组合,此类组合仍然在本发明的各方面的范围内。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈