Sign In to Follow Application
View All Documents & Correspondence

System For Distributed Intelligent Remote Sensing Systems

Abstract: An Internet of things (IoT) system, including a distributed system of virtual machines, includes at least one IoT platform system control engine, that, includes a platform system control engine secure system space and a IoT platform system control engine user defined space, at least, one network node device that includes a network node device secure system space and an IoT network node device user defined space, and at least, one edge device that includes an edge device secure system space and an edge device user defined space, where the secure system space of the control engine, the network node device, and the edge device are each configured to be secured to prevent unauthorized access, and the user defined spaces of the platform system control engine, the network node device and the edge device each define a respective virtual machine.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
09 March 2019
Publication Number
23/2019
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
PATENTS@DPAHAUJA.COM
Parent Application

Applicants

FYBR
640 Cepi Drive, Suite C Chesterfield, MO 63005

Inventors

1. WADHWA, Mrinal
247 4th Street, No. 307 Oakland, CA 94607
2. GOODWIN, Richard, E.
14309 Laude Road St. Louis, MT 63017
3. BECKER, Paul
612 Schmelz Drive Eureka, MO 63025
4. BERINGER, Bret
240 Beacon Point Lane Wildwood, MO 63040-1807

Specification

CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a non-provisional of and claims the benefit of United States provisional patent application number 62/377,975 filed on August 22, 2016, the disclosure of which is incorporated herein by reference in its entirety.
BACKGROUND
1. Field
[0002] The exemplary embodiments generally relate to distributed intelligent remote sensing systems and, more particularly, to distributed intelligent remote sensing systems for city or community management.

2. Brief Description of Related Developments

[0003] Conventional city, town or municipal infrastructure management and monitoring systems typically involve significant fragmentation in the monitoring and management system used. For example, a city may have a traffic system that is separate and distinct from a water quality system which monitors or manages water quality and yet other systems which monitor or manage other environmental or infrastructure conditions. There is typically no holistic arrangement and integration of information streams which improve the quality of living and improve efficiencies within a municipal environment. Typically, conventional systems typically involve a significant number of municipal employees who are tasked with monitoring or managing each conventional and monitoring system separately, which results in significant redundancy and lack of interoperability.

[0004] It. would be advantageous to have a distributed intelligent remote sensing system that addresses management of city, town or municipal infrastructure and monitoring systems in a holistic manner.

BRIEF DESCRIPTION OF THE DRAWINGS

[00053 The foregoing aspects and other features of the present disclosure are explained in the following description, taken in connection with the accompanying drawings, wherein:

[0006] Fig. 1 is a schematic illustration of a sensory environment in accordance with aspects of the present disclosure ;

[0007] Fig. 1A is a schematic illustration of an Internet of things (IoT) platform system in accordance with aspects of the present disclosure ;

[0008] Figs. 2A-2E are schematic illustrations of an Internet of things (IoT) network system in accordance with aspects of the present disclosure ;

[0009] Figs. 3 and 3A are schematic illustrations of an edge device in accordance with aspects of the present disclosure;

[00103 Fig. 4 is a state diagram of the firmware of an edge device in accordance with aspects of the present disclosure; [0011] Fig. 5 is a schematic illustration of a qateway in accordance with aspects of the present disclosure;

[0012] Fig. 6 is an exemplary illustration of an qateway failover in accordance with aspects of the present disclosure;

[0013] Figs . 7- 10 are exemplary user interfaces in accordance with aspects of the present disclosure;

[0014] Fig. 11 is a schematic illustration of a network link card in accordance with aspects of the present disclosure;

[0015] Fig. 12A is a schematic illustration of an loT platform system in accordance with aspects of the present disclosure;

[0016] Fig. 12B is a schematic illustration of an encryption scheme in accordance with aspects of the present disclosure;

[0017] Fig. ISA is a flow diagram in accordance with aspects of the present disclosure;

[0018] Fig. 13B is a flow diagram in accordance with aspects of the present disclosure;

[0019] Fig. 14 is a flow diagram in accordance with aspects of the present disclosure;

[0020] Fig. 15 is a schematic illustration of an isolated vault in accordance with aspects of the present disclosure;

[0021] Fig. 16 is a schematic illustration of a remote secure location in accordance with aspects of the present disclosure;

[0022] Fig. 17 is a flow diagram in accordance with aspects of the present disclosure;

[0023] Fig. 18 is a schematic illustration of a portion of an IoT platform system in accordance with aspects of the present disclosure;

[0024] Fig, 19 is a schematic illustration of a portion of an IoT platform system in accordance with aspects of the present-disclosure;

[00253 Fig, 20 is a schematic illustration of an authentication process in accordance with aspects of the present, disclosure;

[0026] Fig. 21 is a flow diagram in accordance with aspects of the present disclosure;

[0027] Fig. 22 is an exemplary illustration of a distributed storage in accordance with aspects of the present disclosure;

[0028] Fig. 23 is an exemplary illustration of an asset graph in accordance with aspects of the present disclosure; and

[0029] Fig. 24 is an exemplary illustration of an asset graph in accordance with aspects of the present disclosure .

DETAILED DESCRIPTION

[0030] Fig, 1 is an exemplary illustration of a sensory environment 10 within a smart city environment complex 1 in accordance with aspects of the present disclosure. In one aspect, the sensory environment 10 provides for intelligent habitation, whether in urban (e.g. cityscapes) , suburban or rural environments, in which edge device information streams are arranged in a holistic manner to improve the quality of living and improve efficiencies in operation of the smart city environment complex 1. For example, the sensory environment. 10 can be employed to reduce expenditures for a city by reducing costs associated with time and manpower necessary for managing and monitoring conditions or infrastructure within the smart city environment complex 1. In one aspect, the sensory environment 10 also reduces costs associated with energy use, reduced need for maintenance and better monitoring; for replacement. The sensory environment 10 of the smart city environment complex 1 can, in one aspect, improve efficiency to both inhabitants (e.g. visitors and residents) as well as improve the maintenance, operation and administration of the smart city environment complex 1. Further, in one aspect, the sensory environment 10 of the smart city environment complex 1 provides for vertical solutions for parking management, street light management, public safety management, utility management, environmental monitoring and sewage monitoring.

[0031] In one aspect, as shown in Fig. I, the sensory environment 10 includes diverse types of sensors 11-28 distributed within the smart city environment complex 1. In one aspect, each of the multiple types of sensors 11-28 has a different sensor capability configured to detect a different sense characteristic. For example, in one aspect, the types of diverse sensors 11-28 can include, for example, weather sensors 11 (configured to detect. precipitation, air and ground temperatures) , public safety sensors 12 (configured to detect noise, motion or crowd detection) , waste management sensors 13 (configured to detect the dumpster status), gas leak sensors 14, sewer monitoring sensors 15 (configured to track sewer fluid levels) , water leak sensors 16 (configured to monitor water mains) , parking access sensors 17, smart parking sensors 18 (e.g. to detect available parking spots), water quality sensors 19, structural integrity sensors 20 (configured to detect vibrations of buildings, bridges or roads), and soil moisture sensors 21 (configured for agricultural, horticultural or grounds keeping purposes) . In other aspects, the types of sensors 11-28 can also include, for example, electronic emission sensors 22 (configured to monitor cell tower and wireless communication), smart lighting sensors 23 (for example, street lights with motion sensors or ambient lighting sensors to reduce energy consumption) , street safety sensors 24 (for example, configured to detect, obstruction near fire hydrants or no-parking zones so that those zones are clear for emergency vehicles), air quality sensors 25 (e.g. configured to detect, for example, pollution, ozone or pollen) , itera location sensors 26 (for example, configured to track municipal assets, tools, vehicles or inventory) , water level sensors 27 (for example, configured to detect storm drain run-off or water reservoir/water tower levels) , or public health sensors 28 (for example, configured to detect nuclear, biological or chemical contaminants) . In yet other aspects, the types of diverse sensors 11-28 can include any suitable sensor having any sensor characteristic configured to detect any environmental or infrastructure condition .

[0032] In one aspect, the sensory environment 10 within a smart city environment complex 1 includes thousands of sensors 11-28 distributed throughout the smart city environment complex 1. Generally, the diverse sensor data from the multiple sensors 11-28 are organized, analyzed, resolved and integrated by the system (described in greater detail below) for a holistic solution and dissemination. Without organization, analysis and integration of diverse sensor data from multiple sensors 11-28, there would be substantially chaos and sensory noise. In one aspect, the sensory environment 10 also includes distinct logic modules or logic layers distributed throughout the system at multiple levels (e.g. at the edge device level, gateway level, and platform engine level, as described in greater detail below) so that analysis and solution/resolution of relevant sensory data and information is optimized. The distributed logic modules provides for real-time or exigent information to be handled at the optimal level and have the capability to provide optimal resolution of diverse sensory data from the sensors 11-28.

[0033] Fig. 1A is a schematic illustration of a portion of an Internet of things (IoT) platform system 100 in accordance with aspects of the present disclosure. The IoT platform system 100 may be included in an Internet of things (IoT) network system IOCS as will be described in greater detail below. The Internet of things (IoT) platform system 100 operates in and takes advantage of the sensory environment 10 within the smart city environment complex 1 and includes edge devices 120A-C, 121A-C and 122A-C (generally referred to as edge device 120 herein) for sensing sensor characteristics such as vehicle detection, traffic patterns, vehicle navigation or vehicle positioning. In other aspects, the edge device 120 is also coupled to or integrated with the diverse sensors 11-28 described above and are configured for sensing; characteristics such as, for example, weather, public safety, waste management, gas leaks, sewer sensing, water leaks, parking sensing, smart parking sensing, water quality, structural integrity, soil moisture, electromagnetic emissions, smart lighting, safe and orderly street sensing, air quality, item tracking and location, water level, public health hazards or any suitable predetermined sensing characteristic as described above with respect to diverse sensors 11-28, Although the aspects of the present disclosure will be described with reference to the drawings, it should be understood that the aspects of the present disclosure can be embodied in many forms, In addition, any suitable size, shape or type of elements or materials could be used.

[0034] In one aspect, the Internet of things (IoT) platform system 100 may include a platform engine 101, one or more IoT gateways 110A-110C (generally referred to as gateway/node 110, IoT platform communication network nodes 110 or network node device 110 herein) , one or more IoT edge device groups 120GP-122GP (comprising the edge devices 120A-C, 121A-C and 122A-C) and one or more peripheral devices 130-132. In one aspect, each of the one or more edge device groups 120GP-I22GP are groups comprising of substantially the same type of edge devices 120A-C, 121A-C and 122A-C configured to detect or measure substantially the same kind of sensing characteristic, each of the one or more edge device groups 120GP-I22GP are associated with a common gateway 110A-C. In other aspects, the one or more edge device groups 120GP-122GP can include diverse types of edge devices 120A-C, 121A-C and 122A-C configured to measure or detect any suitable sensing characteristics, each of the one or more edge device groups 120GP-122GP further being associated with a common gateway 110A-C. In other aspects, the Internet, of things (IoT) platform system 100 includes any suitable number and type of components to facilitate, for example, the monitoring of the vehicle parking spaces or environmental conditions or infrastructure conditions associated with the Internet of things (IoT) platform system 100.

[0035] The platform engine 101 includes any suitable controller capable of communicating with and controlling the one or more gateways 110A-110C (and edge devices 120A-C, 121A-C and I22A-C of the edge device groups 120GP-122GP in communication with the one or more gateways 110A-110C) and the one or more peripheral devices 130-132, In one aspect, the platform engine 101 is configured to use any suitable wireless or wired communication interface link that extends from the edge device groups 120GP-122GP (and their respective edge devices 120A-C, 121A-C, 122A-C) and the gateways 110A-110C to the platform engine 101 and from the platform engine 101 to the peripheral devices 130-132. In one aspect, it is noted that, the interface link may include a single communication protocol or a combination of different communication protocols . In one aspect, the wireless or wired communication interface link between the edge device groups 120GP-122GP, the gateways 110A-110C and the platform engine 101 is encrypted and closed to third parties to minimized potential for hacking or interception of communications between the edge devices 120A-C, 121A-C and 122A-C, the gateways 110A-C, the platform engine 101 and the peripheral devices 130-132.

[0036] In one aspect, the communication between at least the platform engine 101 and one or more of the gateways 11OA-HOC

(as well as the sensing devices) and/or peripheral devices 130-132 may be through a cellular communication link 141, a satellite communication link 142, public switched telephone network 145, Internet/World Wide Web 143, Ethernet 144, local area network or other suitable wireless or wired protocol or connection. In one aspect communications from the edge devices in the edge device groups 12QGP-122GP may be provided substantially in real time to the platform engine 101 and/or peripheral devices 130-132.

[0037] The platform engine 101 may include, in one aspect, one or more processors, a memory and any other suitable hardware/software configured to track and report, for each parking space being monitored, a user of the parking space, parking space assignments/allocations, time of arrival, time of departure, transaction rates, user account, monetary balances, billing transactions, parking violations, parking space availability or any other suitable information pertaining to the use and billing of each parking space monitored by the Internet of things (IoT) platform system 100. Similarly, in one aspect, the one or more processor and memory is also configured to track, react, process and resolve resolutions for each of the different monitored systems monitored by the sensors 11-28 described herein. The platform engine 101 may be configured with one or more user interfaces to allow a user or recipient access to, administration of and operation of the platform engine 101. In one aspect the platform engine 101 may be any suitable computing device having a monitor, keyboard and/or other suitable user interface. In other aspects, the platform engine 101 is a cluster of computing devices, a distributed computing device or a cloud-based system foackend. In other aspects, one or more of the peripheral devices 130-132 may provide a user interface for accessing and operating the platform engine 101 either through any suitable long or short range wireless communication link and/or through a wired connection as described above. The platform engine 101 may be configured to receive any suitable data from the edge devices 120A-C, 121A-C and 122A-C. The data sent from the edge devices 120A-C, 121A-C and 122A-C may include or otherwise embody, for example, any suitable data related to a parking space being monitored, vehicle detection, and or a health and welfare/maintenance status of the sensing device. In other aspects, the data sent from the edge devices 120A-C, 121A-C and 122A-C may include or otherwise embody any suitable sensor data measuring any suitable sensor characteristic as described above with respect to sensors 11-28. In one aspect the platform engine 101 may be configured to perform any suitable processing on the data from the edge devices 120A-C, 121A-C and 122A-C while in other aspects the data from the edge devices 120A-C, 121A-C and 122A-C may foe configured, e.g. without processing by the platform engine 101 , for display on one or more of the peripheral devices 130-132.

[0038] In one aspect, one or more of the peripheral devices 130-132 may include, for example, an enforcement unit which may be a hand held unit. for use by parking/law enforcement personnel. The enforcement unit may be configured to report-parking violations and/or the issuance of parking tickets to the platform engine 101 so that electronic ticketing and data capture is integrated into the distributed remote sensing system. For example, a law enforcement officer using a peripheral device 130-132 may arrive at a parking space after being notified of a violation and make a visual inspection of the parking space to verify that, there is a vehicle in violation of a law. The violation may be entered into the peripheral device 130-132 and optionally pictures of the vehicle in violation can be taken with the peripheral device or otherwise loaded into the peripheral device. As such, violation data entered into the peripheral device 130-132 is automatically captured and stored in a memory, such as a memory of the platform engine 101 in substantially real time. As may be realized storing the violation information within the Internet of things (IoT) platform system stops the system from alerting an enforcement officer to that space until another violation threshold is met or a new vehicle parks in the space. In another aspect, the sensing devices may also be used in non-parkinq spaces such as in front of fire hydrants, fire lanes, cross walks, intersections, etc. The Internet of things (IoT) platform system 100 can be configured to create a violation after any suitable predetermined time period whenever a vehicle is parked in one of these non-parking spaces so that an alert is sent to an enforcement officer through, for example, a peripheral device 130-132.

[0039] In other aspects, one or more of the peripheral devices 130-132 may include other devices or recipient terminals which can be configured to monitor a sensor characteristic (for example, those associated with sensors 11-28 described herein) . For example, the one or more of the peripheral devices 130-132 can include qas leak monitors, water leak monitors, sewage monitors, waste management monitors at a municipal command center. In other aspects, the one or more peripheral devices 130-132 can also include, for example, privately owned or operated monitors, such as, for example, a soil moisture monitor operated by a farm, electromagnetic emissions monitors operated by a telecommunications company, water sensors owned by a privately owned municipal water source, or radiation monitors operated by a nuclear power plant. In yet other aspects, the one or more peripheral devices 130-132 can include any user terminal configured to display or monitor diverse sensory data from sensors 11-28 described herein.

[0040] As may be realized, the Internet of things (IoT) platform system 100 may incorporate any suitable edge devices types such as, for example, thermocouples, moisture sensors, radiation or chemical sensors, light sensors, magnetometers, radars, vibration sensors, accelerometers, air quality sensors, electromagnetic emission sensors, motion sensors, capacity sensors, cameras and infrared sensors that may be used in conjunction with the edge devices of the edge device groups 120GP-122GP. Information from the sensors may be used in conjunction with the data provided by the other sensing devices associated with the edge device groups 120GP-122GP to track environmental or infrastructure conditions to provide a holistic (e.g. interconnected and integrated) management of data from sensors 11-28.

[0041] The one or more of the peripheral devices 130-132 may also include, for example, a unit for use by, for example, recipient accessing the parking spaces that are monitored by the Internet of things (IoT) platform system 100, In one aspect, the unit may be a dedicated vehicle parking system hand held unit-while in other aspects the unit may be integrated into a user's wireless phone, vehicle GPS unit, or other user computing device such as through an application program capable of running on the wireless phone, GPS unit or other computing device. In still other aspects the handheld unit may be implemented in any suitable manner for allowing the recipient to, for example, monitor street safety, air quality, weather, public safety, gas leaks, sewers, water leaks, parking access, parking spots, water quality, structural integrity, soil moisture, electromagnetic emissions, smart lighting, air quality, asset location and tracking, water levels and public health sensors. The unit may provide a recipient with wayfinding information, e.g. based on data provided by the edge devices of the edge device groups 120GP-122GP, that includes, for example, a substantially real time view of the availability of parking (and routing thereto) throughout the deployment area of the distributed remote sensing system. The unit may be configured to allow a recipient to select a location and see how full the parking spaces are in an area using,. for example, color coded or other suitable indicators. Pricing to park in each parking space may also be provided. The wayfinding information provided by the unit may also allow a recipient to keep track of where they park. In one aspect, the unit may include or be used in conjunction with a global positioning system or other mapping data to provide a recipient with traffic information related to the parking spaces so that the recipient can select, for example a parking; lot exit or street that is not congested with vehicles leaving parking spaces monitored by the distributed remote sensing system,

[0042] As noted previously,, in one aspect, the platform engine 101 may be connected to the one or more gateways 110A-110C (and to the edge device groups and edge devices associated with the one or more gateways 110A-110C) in any suitable manner. In one aspect one or more communicators 140 may be used as a communication link between the gateways 110A-110C and the central controller 101. The one or more communication links 140 may include, for example, one or more ceil towers/providers in a cellular communication network. In other aspects the one or more communication links 140 may include, for example, one or more satellites in a satellite communication network, a public switched telephone network, Internet/World Wide Web access points or any other suitable communication access points such as those used in the wired and/or wireless communication protocols described above. In still other aspects the one or more communication links 140 may be a combination of cellular and satellite communication or any other suitable wired or wireless communication link.

[0043] Referring now to Figs. 2A, 2B, and 2C, additional schematic diagrams of the Internet of things (IoT) network system 100S including the IoT platform system 100 are shown. Figs. 2A and 2B is representative of a single edge device 120 connected to a single gateway 110 to the platform engine 101 and out to the peripheral devices 130-132. In one aspect, Figs. 2A and 2B is substantially another representation of the Internet of things (IoT) platform system 100 illustrated in Fig. 1A. As shown in Figs. 2A and 2B, the Internet of things (IoT) platform system 100 includes the edge device 120, which communicates with the gateway 110, which in turn communicates with the platform engine 101, which disseminates data to peripheral devices 130-132. As shown in Fig. 2C, in one aspect, the Internet of things

(IoT) platform system 100 is configured as a distributed system of virtual machines 154, 160, 181 functioning as, for example, programmable hardware and software. In one aspect, the respective virtual machine 154, 160, 181 of the at least one IoT platform system control engine 101, the at least one network node device 110, and the at. least one IoT edge device 120 are configured to execute a specific IoT task. In one aspect, the respective virtual machine 154, 160, 181 of the at least one IoT platform system control engine 101, the at least one IoT network node device 110, or the at least one IoT edge device 120 are configured to execute portions of the specific IoT task, wherein the portions of the specific IoT task are distributed based on capacity and efficiency characteristics of the respective virtual machine 154, 160, 181 of the at least one IoT platform system control engine 101, the at least one IoT network node device 110, or the at least one IoT edge device 120.

[0044] Referring again to Figs. 2A, 2B, and 2C, in one aspect, the hardware and software for the edge device 120, gateway 110 and platform engine 101 each respectively define a secure system space (e.g. within the respective network link card 153, 166, 180 which may include firmware for each respective device) , as well as a user defined/configurable space in the form of the virtual machines 154, 160, 181 operating within the respective network link card 153, 166, 180. The secure system space controls, for example, interactions between each respective device (e.g. the edqe device 120, gateway 110 and network operations controller 101) and the network and/or low level hardware operations (e.g. controlling how physical hardware communicates with each respective device at a physical layer or device layer) . The secure system space within the network link card 153, 166, 180 are secured and not changeable by an end user or an administrator. Each edge device 120, gateway 110 and the platform engine 101 further includes respective virtual machines running within the firmware, which defines a user configurable space at each device level. For example, the respective virtual machine of an edge device 120 allows for user configuration of the interface between, for example, various diverse sensor input and output. Each respective virtual machine 154, 160, 181 further provides for, for example, a common interface for user customization. The virtual machines 154, 160, 181 are thus configured to run user defined or user customized scripting, rules or code to customize the functionalities of the edge device 120, gateway 110 and the platform engine 101. User customization is possible, in one aspect, in the form of a scripting language interpreter or in the form of visual configuration as described in greater detail below. In one aspect, the secure system space defined within each respective virtual machines 154, 160, 172 of the edge device 120, gateway 110 and platform engine 101 are isolated so as to prevent, end user access and abuse by buggy or malicious code within the respective virtual machines 154, 160, 172. In one aspect, the loT edge device 120 secure system space is configured to be secured to prevent unauthorized access and the loT edge device 120 user defined space is configured to receive and execute user defined instructions to form the distributed system of virtual machines 154. In another aspect, the secure system space of the IoT edge device 120 and the network nodes 110 is configured to be secured to prevent unauthorized access and the user defined space of the IoT edge device 120 and network node 110 is configured to receive and execute user defined instructions to form the distributed system of virtual machines 154, 160. In still another aspect, the secure system space of the IoT edge device 120, the platform engine 101 and the network nodes 110 is configured to be secured to prevent unauthorized access and the user defined space of the IoT edge device 120, the platform engine 101 and network node 110 is configured to receive and execute user defined instructions to form the distributed system of virtual machines 154, 160, 172.

[0045] Referring to Figs. 2A, 233, and II, each network link card 153, 166, 180 (also referred to as an IoT device link) will be described. The network link card 153 is shown in Fig, 11 for exemplary purposes and the network link cards 166, 180 may have a similar configuration. The network link card 153 includes a processor 1103 (also referred to as a microcontroller) , a memory 1100, a media access control (MAC) address 1101 storage, interface module 1102, a power supply 1105, a power controller 1104, a communication module 1106 and an antenna 1107. The processor 1103 (where processor 162 is included in the IoT device 110) includes or is communicably coupled to a cryptologic unit 1103CM (cryptologic unit 162CK is included in the IoT device 110) . The processor 1103 is also communicably coupled to the memory 1100, the communication module 1106, the interface module 1102 and the MAC address module 1101. The processor 1103 is configured to execute non-transitory program code stored in the memory 100. The program code includes secure program code configured to be secured and prevent unauthorized access and user defined program code configured to execute user defined instructions. In one aspect, the processor 1103 includes or is coupled to a cryptoloqic unit 1103CM configured to encrypt and decrypt data transmitted and received by the loT network link card 153.

[0046] The interface module 1102 provides for processor 1103 communication with other components of the IoT edge device 120, IoT gateway 110 or platform engine 101 in which the network link card 153, 166, ISO is installed. For example, the interface module 1102 is configured to connect and control at least one input 151 and output 152 of an loT device link sensor 11-28. In one aspect, the interface module 1102 is common for the IoT device link sensor 11-28 where the ToT device link sensor includes sensors corresponding to one or more of weather, public safety, waste management, gas leak, sewer monitoring, water leak, parking access, smart, parking, water quality, structural integrity, soil moisture, electronic emission, smart lighting, street safety, air quality, item location, water level or public health sensors. In one aspect, the user defined program code is configured to control the operation of the at least one input 151 and output 152 of the IoT device link sensor 11-28. In one aspect, the IoT device link sensor 11-28 senses a sensing characteristic (e.g., such as weather, public safety information, waste management information, gas leak information, sewer information, water leak information, parking information, water quality information, structural integrity information, soil moisture information, electronic emission information, lighting information, street safety information, air quality information, item location information, water level information or public health information) and the cryptologic unit 1103CM encrypts the sensing characteristic before the communication module 1106 and antenna 1107 transmits the sensing characteristic .

[0047] The power controller 1104 and power supply 1105 form a power supply and management module that is coupled to the memory 1100, the MAC address module 1101, processor 1103 (and cryptologic unit 1103CM) , and communication module 1106, where the power supply and management module is configured to provide power to the loT network link card 153.

[0048] The communication module 1106 is configured to transmit and receive data to and from the IoT network link card 153. In one aspect, a temperature compensated crystal oscillator (TCXO) is coupled to the communication module 1106. The communication module 1106 and antenna 1107 provide for communication over the wide area network (WAN) of the IoT platform system 100 so that at least one of the IoT edge device 120, IoT gateway 110 and platform engine 101 can communicate with another at least one of the IoT edge device 120, IoT gateway 110 and platform engine 101.

[0049] The MAC address module 1101 is configured to provide a unique network address for the IoT network link card 153. A real time clock RTC is also provided and is configured to clock processor 1103 operations.

[0050] Referring still to Figs. 2A, 2B and 2C, in one aspect, the edge device 120 is a hardware and software module that interfaces to various sensor types and drives certain output devices. In one aspect, the edge device 120 integrates with various and diverse sensor types, and is configured to allow diverse sensor types (for example, the sensors 11-28 described herein) to communicate over the network. In one aspect, the edge device 120 is a microcontroller, chip or printed circuit board (PCB) which is configured to provide security by having a closed architecture to minimize the potential for hacking or access by unauthorized individuals. It is noted that the edge device 120 is distinct from a sensor or output device. Instead, the edge device 120 provides a common communication and control suite for interfacing with many different types of sensors (for example, the sensors 11-28 described herein) . In one aspect, the secured architecture of the edge device 120 is defined by the network link card 153, which defines a secured system space as described below. The edge device 120 is further configured to provide the virtual machine 154, running within the network link card 153, which provides a common programming interface and allows user customization of edge devices 120 as well as their interaction with diverse sensor types and diverse outputs as described in greater detail below. In one aspect, the edge device 120 further provides for local logic or control architecture at the local edge device 120 level through the virtual machine 154.

[0051] In one aspect, the edge device 120 is configured to be coupled to or is integral with the diverse sensors of different sensor types (for example, the sensors 11-28 described herein) providing diverse types of sensor inputs 151. In one aspect, the edge device 120 is further configured to provide output 152 to, for example, displays, switches, data storage devices, registers or other controllers. In one aspect, the diverse sensors (e.g. sensors 11-28) coupled to the edge device 120 are configured to be low power sensors. As will be described in greater detail below, in one aspect, the edge device 120 includes the network link card 153. In one aspect, the network link card 153 defines a secure system space which is transparent and inaccessible to a user. In one aspect, the secure system space defined by the network link card 153 controls certain functionalities of the edge device 120, such as, for example, managing all interactions with network communications or low level hardware communications (for example, by communications module 155. By limiting access, by end users, to interactions with network communications or low level hardware communications, the secure system space of the network link card 153 provides a secured platform which prevents tampering and is resistant to being neqativeiy affected by user-defined code. For example, user defined code cannot lock up an edge device 120 because much of the core capabilities of the edge device 120 (e.g. the bootloaders, domain specific language interpreters, network communications drivers, physical level interaction with devices) are not accessible to the user defined code .

[0052] In one aspect, the network link card 153 includes the virtual machinel54 that provides a virtual machine runtime for a common interface for the diverse sensor types through the network link card 153 so that the inputs 151 and outputs 152 of the edge device 120 are of a common data structure. Further, in one aspect, the edge device 120 is generic and fungible and can be associated with any suitable sensor type (e.g., sensors 11-28 described herein) as well as any suitable output type. Because the edge devices 120 are generic and fungible, the data if. receives from inputs 151 and output 152 are type independent or type agnostic and is free from being restricted to any specific data or sensor protocol. In one aspect, the virtual machine 154 is configured to be user proqrammahle without affecting system security and integrity and facilitate decision-making, analysis and integration of sensor data from the edge device 120 coupled to diverse sensor types . In one aspect, the virtual machine 154 is configured to run user defined code or scripting to customize the functionality of the edge device 120. For example, in one aspect, the virtual machine 154 on the edge device 120 connected to a thermometer or thermocouple is configured to execute user defined or user programmable code which customize the edge device 120 so that it receives the sensor inputs as electrical signals and converts the electrical signals into a temperature reading. In another edge device 120, the virtual machine 154 might have a different functionality based on the user defined code customizing that particular edge device 120, for example a presence sensor for an automated parking system. In one aspect, the virtual machine 154 is also configured to facilitate interface between the edge device 120 and the common gateway 110 despite receiving data from diverse sensor types having different data structures or protocols. In one aspect, the network link card 153 also includes a communications module 155 which is configured to communicate with the gateway 110 with an encrypted communication protocol. The edge device 120 will be described in greater detail below. In one aspect, the virtual machine 154 of the edge device 120 is configured to provide for local logical operations at the edge device 120 level. For example, the virtual machine 154 may run code which defines certain predetermined sensor thresholds and actions to be performed when a certain predetermined sensor threshold is met.

[0053] Referring still to Figs. 2A, 2B and 2C, in one aspect, the edge device 120 is communicable with the gateway 110. In one aspect, the gateway 110 includes a device actor module 161, a communication module 162 which is configured to communicate with the communications module 155 of the edge device 120 as well as the platform engine 101 by way of a wifi module 165, an Ethernet module 164 and a cellular module 163. In other aspects, the gateway module 110 includes any suitable communications module configured to communicate with the edge device 120 and the platform engine 101. In one aspect, the gateway 110 includes the network link card 166. The network link card 166 defines a complementary secured system space substantially similar to the secured system space defined by the network link card 153 of the edge device 120. In one aspect, the secured system space defined by the network link card 166 is configured to control, for example, network communications between the gateway 110 and other devices within the network (e.g. the network operations controller 101 and edge device 120) . In yet. other aspects, the secured system space defined by the network link card 166 also controls other low level hardware controls on the physical layer. In one aspect, the secured system space defined by the network link card 166 is inaccessible and transparent to an end user and is configured to prevent tampering by the end user. In one aspect, the secured system space is further configured to prevent user defined code from locking or affecting the performance of the gateway 110. In one aspect, the network link card 166 further includes a complementary virtual machine 160 resident within the network link card 166 which corresponds with the virtual machine 154 of a respective edge device 120. In one aspect, the virtual machine 160 is also configured to be programmable and facilitate decision-making, analysis and integration of sensor data from the edge device 120 coupled to diverse sensor types at the gateway level as will be described in greater detail below. The gateway 110 will be described in greater detail below.

[0054] Referring still to Figs. 2A, 2B and 2C, in one aspect, the gateway 110 is communicable with the platform engine 101. In one aspect, the platform engine generally includes a platform engine network link card 180 a communications module 173 configured to communicate with the gateway 110 a distributed storage 171 configured to store data, such as, for example, data received from the edge device 120, a platform engine logical layer module 172, which includes a domain specific language (DSL) module 182 and a platform engine virtual machine 181 operable to control the operation of the platform engine 101. In one aspect, the network link card 180 of the network operations controller is configured to control network communications and/or low level hardware communications (e.g. at a device or driver level) . In one aspect, the platform engine virtual machine 181 is complementary to the virtual machines 154 of the edge device 120 and virtual machine 160 of the gateway 110. In one aspect, the virtual machine 181 is configured to receive and execute user defined or user programmable code as described in further detail below. In one aspect, the platform engine also includes an insight module 174 configured for machine learning and big data analytics with an analytics module 174A as well as a business metadata manager module 174B, an enterprise data integrations module 175 configured to integrate local data with third party data integration. In one aspect, the platform engine 101 also includes an application programming interface module 175, as well as dashboard builders 179, application frameworks 178 and user interface module 177. In one aspect, the platform engine 101 is further configured to communicate with peripheral devices 130-132, which can include, for example, business applications 130, consumer applications 131 and municipal applications 132.

[0055] In one aspect, the Internet of things (loT) network system 1G0S includes an administration module 190, In one aspect, the administration module 190 is configured to provision or set up the edqe devices 120, the gateways 110, the platform engine 101 or the peripheral devices 130-132. In other aspects, the administration module 190 is also configured to orchestrate communication and synchronization between the edge devices 120, the gateways 110, the platform engine 101 or the peripheral devices 130-132 to ensure adequate quality of service, In yet. other aspects, the administration module 190 is also configured to provide security or to detect unauthorized access or intrusion into the system. In other aspects, provisioning may be performed by other parts of the Internet of things (IoT) platform system 100, such as, for example, the network operations controller 101.

[0056] Referring now to Figs. 2C and 2D, in one aspect, the virtual machines 154, 160 and 181 are configured to provide a common user-customizable interface for customer hardware and for processing sensor or hardware data at. the device level. For example, as can be seen in Fig. 2D, the edge devices 120A-120D and 121A-121C is configured to interface with various sensor inputs 15IA-151D and various outputs 152A-152D. Each of the various sensor input 151A-151D may be different or have different characteristics, For example, while sensor input 151A may be a temperature sensor, input device 151B may be a moisture sensor, while another sensor input 151C-D is configured to detect some other environmental factor (for example, sensors 11-28) . Similarly, the edge devices 120A-D and 121A-C may also communicate with myriad output devices 152A-152D. "These output devices may include, for example, moisturizers, thermostats, or other devices which effect an action. It is difficult, for the Internet of things (IoT) platform system 100 to provide support for every possible input devices 151 and output device 152. It is also difficult for the manufacturer of the Internet of things (IoT) platform system 100 review the software in order to communicate with so many different potential input devices 151 and output devices 152. Irs order for the edge devices 120A-D and I21A-C to communicate with various input devices 151A-D and myriad output devices 152A-D, the edge devices 120A-D and 121A-C each have the virtual machine 154 (e.g. the user configurable space described above) running user customizable code to interface with each input device 151A-D and output device 1S2A-D. In one aspect, the user customizable code further other functionality beyond interfacing with diverse sensor or output device types. In one aspect, the user customizable code can report sensor inputs via conditional messages . In yet other aspects, the user customizable code can include simple conditional decisions based on input values to send conditional messages. "This can be used, for example, for reporting based on a threshold or a change in state.

[00573 Referring now to Fig, 2E, a diagram of an edge device 120 is shown . In one aspect, the edge device 120 includes a virtual machine 154 and a network link card 153. In one aspect, the network link card 153 further includes a Domain Specific: Language (DSL) interpreter 156, a kernel 157 and a bootloader 158. In one aspect, the network link card 153 and its respective DSL interpreter 156, kernel 157 and bootloader 158 are part of the secured system space not accessible to an end user. The DSL interpreter 156 is configured to interpret a domain specific: language, that is, a simplified scripting language (for example, the scripting language used to provide user defined code within the virtual machine 154) . In one aspect, the DSL interpreter 156 is lightweiqht to accommodate the simplified DSL syntax and can run on a variety of hardware types that operates with low power or with limited processing power . The kernel 157 and bootloader 158 are parts of the network link card 153 which control the operations of the edge device 120. For example, the bootloader 158 is responsible for loading the kernel 157 when the edge device 120 is turned on. The kernel 157, in turn, is responsible for low level functionality such as, for example, communication over a network, or low level communications with devices (e.g. receiving the unprocessed signals from a device) . The kernel 157, bootloader 158 and the DSL interpreter 156 of the network link card 153 are inaccessible to an end user and cannot be altered. By isolating the secured system space within the network link card 153 and its components/ end user is prevented from locking up the edge device 120 due to a bug in user defined or user programmable code. Isolating the secured system space of the network link card 153 further prevents an end user's user defined code from abusing the entire network. In one aspect, the network link card 153 and the kernel 157 is configured to communicate to devices or with the network on the device layer 250 and the physical layer 260 (e.g. low level communications, for example, at the bit level communications) . In one aspect, the device layer 250 and physical layer 260 are also part, of the secured system space and the end user is prevented from making alterations to the API between the application layer and the device layer 250 and the physical layer 260.

[0058] In one aspect, the virtual machine 154 is an emulated instance of a computer runtime running on the network link card 153. As noted above, the virtual machine 154 is a user configurable space running user defined code which is customized interfacing with the various input devices 151A-D and various output devices 152A-D. In one aspect, the virtual machine 154 receives and executes user defined code so that the virtual machine 154 can be customized for diverse sensor inputs 151 (e.g. sensor inputs 151A-D) . For example, the virtual machine 154 and the edqe device 120 functions as a generic module which allows diverse sensor types to interface to the network. In one aspect, the user defined code executed by the virtual machine 154 also allows the edge device to do local processing at the edge device 120 level. For example, in one aspect, the user defined code executed by the virtual machine 154 allows for conditional processing. For example, an edge device 120 which is connected to a thermometer may include user defined code which receives the temperature reading of the thermometer, and further processes the temperature reading to determine whether the temperature reaches a predetermined threshold. If the predetermined threshold is met, the user defined code running on the virtual machine 154 may send an alert, or perform an action as defined by the user.

[0059] In one aspect, the virtual machine 154 may receive user defined code in the form of the Domain Specific Language, which is interpreted through the Domain Specific Language Interpreter 156. In one aspect, the Domain Specific Language is a simplified low level language such as assembly, and has syntactic features similar to assembly language such as operands and operators. In yet other aspects, the Domain Specific Language may be a scripting language or interpreted language similar to Lua, Ruby, Python or Perl. In yet other aspects, the Domain Specific Language can be any suitable scripting language which is simplified and has a limited set of operands and operators. In one aspect, the virtual machine 154 may receive the user defined code through visual user interface, for example, through a web-based tool interface for customers so that it facilitates hardware and software programming of the virtual machine 154, and simplifies control and exploitation of the edge device 120 or the Internet of things (IoT) platform system 100.

[0060] Referring to Fig. 3, an exemplary schematic diagram of the physical architecture of the edge device 120 is shown. In one aspect the edge device 120 may include any suitable housing 401. The housing 401 may have any suitable shape and be constructed of any suitable material so that in one aspect the edge device 120 may be placed or otherwise embedded in any suitable location including, for example, in exposed environments, within street or road surfaces, within dumpsters, within gas mains, within sewers, within water mains, within parking lots, within bodies of water, within buildings, within the soil, within lampposts, within towers, within pollution-emitting buildings or machinery, within warehouses, within storm drains and reservoirs or within nuclear, biological or chemical facilities (for example, as shown with respect to sensors 11-28 in Fig. 1). In another aspect, the housing 401 may be configured for placement above ground at. any suitable location for sensing vehicles in a respective parking space. "The housing 401 may be configured to house components of the sensing device 400 such as a microprocessor with cryptographic unit (MCU) 402, a memory 403

(which is suitably configured along with the processor 402 to effect the operational aspects of the edge devices 120 through the network link card 153 and logic layer 154 as described herein) , an edge device power system, system clock 406, an edge device power system, an edge device power system communication system and any suitable sensor module 414 such as, for example, the suite of edge device control interface modules from Patent Application No: 14/495, 676, which is incorporated by reference herein .

[0061] In one aspect the edge device power system may include a power supply and management unit 404 that is connected to the processor 402. Any suitable power storage unit (s) 405 may be connected to the power supply and management unit 404 for supplying power to the components of the censing device 400. The power supply and management unit 404 may be configured to regulate and distribute power from the power storage units 405 in any suitable manner, such as under the control of the processor 402. The sensor communication system may include a communication module 155 (which may be any suitable radio frequency communication module) connected to the processor 402 and an associated antenna 408. The antenna 408 may be any suitable antenna such as in one aspect an omnidirectional antenna and in another aspect a directional antenna. Where the antenna 408 is a directional antenna suitable motors or other solid state or mechanical drive unit may be provided for swiveiing or otherwise rotating the antenna so that a signal strength of a received or sent communication is maximized in a manner substantially similar to that described above with respect to the gateway 110 (Figs. 2A and 2B) . In one aspect, the sensor module 414 may be any suitable sensors including but not limited to weather sensors II, public safety sensors 12, waste management sensors 13, gas leak sensors 14, sewer monitoring sensors 15, water leak sensors 16, parking access sensors 17, smart parking sensors 18, water quality sensors 19, structural integrity sensors 20, soil moisture sensors 21, electronic emission sensors 22, smart lighting sensors 23, street safety sensors 24, air quality sensors 25, item location sensors 26, water level sensors 27, or public health sensors 28. In one aspect, the sensor module 414 may be connected to the processor 402 in any suitable manner and be configured to sense any suitable sensory characteristic. As may be realized any suitable ancillary circuitry may be provided to allow communication of sensor module 414 with the processor 402.

[0062] Referring now to Fig. 3A, an alternate aspect of the edge device 120 is shown. In Fig. 3A, the MCU 402 is connected to the communications module 155 (in the form of an radio frequency (RF) receiver/transmitter. The MCU 402 is further connected to the MAC address 420, which provides for communication over a network. In one aspect (not shown) , the MAC address 420 is part, of the communications module 155 and allows for network communication over the communications module 155. In one aspect, the MCU 402 is further connected to the power supply 404, which supplies power to the edqe device 120. The MCU 402 is further connected to an output level shifter 414A which level shifts the signal from the MCU 402 to the output device 152. The MCU 402 is also connected to an input level shifter 414B, which is further connected to an input 151.

[0063] Referring aqain to Figs. lA, 2A, and 2B, as noted previously, in one aspect, the edge device 120 is a microcontroller, chip or printed circuit board (PCB) which is configured to be coupled to or is integral with diverse sensors of different sensor types (for example, the sensors 11-28 described herein) providing diverse types of sensor inputs 151. In one aspect, the edge device 120 also configured to provide output 152 to, for example, displays, switches or other controllers- In one aspect, the diverse sensors (for example, sensors 11-28) coupled to the edge device 120 are configured to be low power sensors to limit power consumption. In one aspect, the edge device virtual machine 154 of the edge device 120 is configured to be a common platform and programmable interface for configuring software for programming and configuring the edge device 120 to receive sensory data from the diverse sensors 11-28 (as described above) , analyze and integrate the sensory data from the diverse sensors 11-28 and to make local (e.g. edge device 120 level) decisions based on the sensory data from the diverse sensors 11-28 based on pre-defined or user programmed rules or instructions within the logic layer 154, As noted previously, in one aspect, the edge device 120 is substantially fungible and configured to connect to any suitable sensor,

[0064] Referring now to Fig. 4, in one aspect, the possible states of the edge device network link card 153 are illustrated as a finite state machine diagram, In one aspect, the edge device network link card 153 is initialized at initialization state 420. After the network link card 153 is initialized, the network link card 153 enters a run state which alternates between processing RF messages 430 (for example, RF messages received from the gateway 110 or the platform engine 101), processing a hardware interrupt 440 (for example, a hardware interrupt from one of the diverse sensors 11-28) and cycling the logic layer 450 (e.g. running a pre-defined or user-programmed program stored within the logic layer 154) . In other aspects, the network link card 153 is also configured to go into a sleep mode 460 between cycling the logic layer 450, the processing hardware interrupt 440 and processing RF messages 430 states to conserve battery life or to decrease power consumption.

[00653 Referring again to Figs. 1A, 2A and 2B, in one aspect, as noted previously, the edge device virtual machine 154 is a user programmable interface for the diverse sensors (e.g. sensors 11-28) comprising both predefined and user programmed business logic and learned behavior. In one aspect, the edge device virtual machine 154 is configured to provide for receiving data (e.g. from the diverse sensors 11-28), the processing of data collection (e.g. from the diverse sensors 11-28 via input 151), storage of data (e.g. collected from the diverse sensors 11-28) and transmission of data (e.g. to the gateway 110 or platform engine 101) . In one aspect, the edge device virtual machine 154 also provides for the processing of RF messages (e.g. within processing RF messages 430 state of the network link card 153) received from the gateway 110 or platform engine 101 or processing of hardware interrupts (e.g. the hardware interrupt state 440) from the input 151 (e.g. from the diverse sensors 11-28) .

[0066] In one aspect, the edge device virtual machine 154 is configured to be a rules-based resolution system which provides for certain sensor input types, logical local analysis,, and resolution from the local edge device virtual machinel54 resident within the edge device 120. The rules-based resolution system provided by the edge device virtual machine 154 is provided via the Domain Specific Language (DSL) described above, or through any interpreted or compiled language interpreted or compiled by the DSL module 156. In one aspect, the rules-based resolution system provided by the edge device virtual machine 154 is also configured to generate local output via output 152

(e.g. if a sensor exceeds a predetermined threshold, the edge device virtual machine 154 is configured to initiate an alarm command via output 152) . In one aspect, the output 152 can be transmitted to other parts of the Internet of things (Io"T) platform system 100 architecture, including, for example, the gateway 110 and the platform engine 101. In one aspect, the edge device virtual machine 154 also enables the edge device 120 to react to input changes from the input 151 (e.g. from the diverse sensors 11-28) by effecting local changes in output 152 on the edge device 120. For example, in one aspect, if an edge device 120 receives a temperature measurement from a temperature sensor that exceeds a predetermined threshold (as determined by the logic layer 154) , then the edge device 120 can output an alarm command via output 152 locally without having to communicate the temperature to the gateway 110 or the platform engine 101. In one aspect, the local processing ability of the edge device virtual machine 154 for the edge device effects optimal sensor analysis and decision at the network's edge (e.g. at the edge device 120) . In one aspect, the edge device virtual machine 154 also effects sensor data interpretation or fusion of diverse, but associated sensor data to identify or define local analysis. For example, the edge device 120 may receive data from a leak detection sensor and a metal detection sensor and determine that there is automobile traffic within the proximity of a water main break. In yet other aspects, the edge device virtual machine 154 is also configured to initiate or effect local action, such as sending an alarm to a police department or water department or private water authority to alert relevant parties of the water main break.

[0067] Referring now- to Fig. 5, each of the gateways 110 may include any suitable housing 299 having any suitable shape and size. In one aspect the housing is weatherproof and may be !JV

(ultraviolet) ray resistant. The housing 299 may be constructed of any suitable material so that, in one aspect, radio frequencies are allowed to pass through the housing. Each gateway 110A- 110C (generally referred to as gateway 110) may include, e.g. within a respective housing, a processor module 200 (which may include any suitable memory and suitable programming and may be configured for performing the functions of the gateway as described herein) , GPS module 201, a clock module 204, a charge controller 205, a power supply module 202 and any suitable number of communication modules 203, 208. In one aspect, the gateways 110 are substantially similar to the gateways disclosed in US Pub. No. 2014/0340240, published on Nov. 20, 2014 and US Pub. No. 2014/0340243, published on Nov. 20, 2014, both of which are incorporated by reference in their entirety. In one aspect, the gateway 110 also includes, in one aspect, a gateway network link card 166 which includes the gateway virtual machine 160 resident on processor module 200 of the gateway 110. In one aspect, the gateway virtual machine 160 is defined by user defined code that is isolated from the secured system space of the gateway network link card 166. In one aspect, the gateway virtual machine 160 is configured to include code which receive sensor data from the edge devices 120 and provide analysis from the groups of edge devices 12GA-C, 12IA-C, and 122A-C. In one aspect, the gateway virtual machine 160 corresponds to the edge device virtual machine 154 of the edge device 120. In one aspect, the gateway virtual machine 160 is configured to provide for sensor data organization, analysis and integration locally at the gateway 110 level. In one aspect, the gateways 110 are also configured to provide for cross-gateway fall-over for fault tolerance as disclosed in US Pat. No. 8,274,403, issued on September 25, 2012, which is incorporated by reference in its entirety (see Fig. 6) .

[0068] The GPS module 201 may be operably connected to the processor module 200 and include any suitable antenna 209 for communicating with one or more GPS satellites. The GPS module

201 may be configured to provide any suitable data to the processor module including, but not limited to location/positioning data, date data and time data. The clock module 204 may be operably connected to the processor module 200 and provide the processor module 200 with time data which may be periodically (or at any suitable time (s) ) updated by the processor module 200 using date and/or time data obtained from the GPS module 201.

[0069] The charge controller 205 may be operably connected to the processor module 200. One or more solar panels 207 may be disposed on, located remotely from or otherwise connected to the housing 299. In one aspect, the one or more solar panels 207 may be movable and configured in any suitable manner to track one or more available light sources, such as e.g. the best light source, to optimize a recharge cycle of the one or more power-storage units 206. Here the one or more solar panels may include any suitable motors and light sensors for effecting light-tracking movement of the one or more solar panels. As may be realized, the motors and light sensors may be connected to the processor module 200 for any necessary calculations and control for effecting the light, tracking movements. In other aspects the solar panels 207 may include a processor for performing the necessary calculations to effect the light tracking movement. The solar panels 207 may be operably connected to the charge controller 205 for charging one or more rechargeable power storage units 206. In one aspect the gateway 110 may be configured to operate substantially from power provided by the one or more solar panels 207 during lighted conditions (e.g. during the day) and substantially from power provided by the one or more rechargeable power storage units 206 during unlighted or low light conditions (e.g. at night, dusk, dawn, etc.). In other aspects the gateway 110 may be configured to operate from power provided by a combined output of the one or more solar panels 207 and the one or more power storage units 206. In still other aspects the gateways may be powered with a hard line such as from a utility source and include suitable electronics for converting the utility power to power that is usable by the gateway .

[0070] The power supply 202 may be operably connected to the processor unit 200 and the one or more power storage units 206 to provide and manage power from the one or more power storage units 206 and/or solar panels 207 for the operation of the gateway 110. In one aspect, the power supply module 202 may provide a charge status of the one or more power storage units 206 to the processor module 200. The processor module 200 may be configured, e.g. when the charge status reaches a predetermined threshold or at any other suitable time, to effect operation of the charge controller 205 so that power is transmitted from the one or more solar panels 207 to the one or more power storage units 206 for charging the one or more power storage units 206. The power supply module 202 may also provide predictive maintenance that monitors, for example,, the charge cycles of the one or more power storage units 206. The processor module 200 may be configured to determine or otherwise predict a life of the one or more power storage units 206 using data from, for example, the power supply module 202, such as a voltage/current-curve of the one or more solar panels 207 and/or the charge cycles of the one or more power storage units 206. The processor module 200 may cause a message (including a status/life of the one or more power storage units 206) to be sent from the gateway 110 to the central controller 101 for communication to any suitable operator/maintenance personnel of the Internet of things (loT) platform system 100.

[0071] In one aspect the gateway 110 may include two communication modules 203,. 208. One of the communication modules 203 may foe a "local" communication module configured for, e.g., communication with respective edge devices 120A-120C, 121A-121C, 122A-122C over any suitable wireless protocol such as a cellular, satellite or other long or short range communication protocol. Another of the communication modules 208 may foe a "distant" communication module configured for, e.g., communication with the one or more communicators 140 using, for example, antenna 211 as will foe described in greater detail below. In other aspects, a single communicator may be used to communicate with the edge devices 120A-120C, 121A-121C, 122A-122C and the one or more communicators 140. In one aspect any suitable antenna 210 may foe connected to the communication module 203 for allowing any suitable radio frequency communication with the edge devices 12QA-120C, 121A-121C, 122A-122C. The antenna 210 may be disposed within the housing 299, mounted to or remotely located from the housing 299.

[0072] The platform engine 101 is computerized dataflow system- In one aspect, the platform engine 101 includes a platform engine network link card 180 which includes a platform engine logic layer module 172 an insight module 174, an enterprise data integration module 175, a distributed storage module 171 and a communications interface module 173. In one aspect, the platform engine 101 further includes a platform engine virtual machine 181 running within the platform engine logic layer module 172. In one aspect, the platform engine 101 also includes an application programming interface module 176, a dashboard builder 179, an application framework 178 and a user interface module 177.

[0073] In one aspect, the platform engine firmware 180 of the platform engine 101 is a secured system space. Similar to the gateway network link card 166 and the edge device network link card 153, the secured system space is configured to control the operations of the platform engine 101 that are inaccessible to an end user. For example, in one aspect, the platform engine network link card 180 includes the communications interface 173, which controls network communications with the gateway 110 and the edge device 156. By preventing user access to the communications interface 173, the platform engine 101 is less susceptible to tampering, hacking and running user defined code which may have a detrimental effect to the operations of the platform engine 101, In one aspect, the platform engine network link card 180 also includes the insight module which is configured for big data analytics or machine learning, as well as business metadata management. In one aspect, the platform engine network link card 180 also includes a logic layer module 172, In one aspect, the logic layer module 172 includes a domain specific language (DSL) module 132. The domain specific language is, in one aspect, a simplified language for defining user defined or user programmable code. For example, the domain specific language may be a simplified low-level, assembly-type language with operands and operators. In one aspect, the DSL is a low level interpreted language that comprises a number of low level commands the virtual machines 154, 160 and 181 are configured to execute. In one aspect, the virtual machines 154, 160 and 181 may further include simulation environments, use case, and other user defined scripts which is also written in the DSL language. In one aspect, the configuration of the virtual machines, 154, 160 and 181 can be performed by loading a configuration file written in the DSL language to the platform engine virtual machine 181, which is then propagated to, and customizing, the gateway virtual machine 160 and edge device virtual machine 154. In other aspects, the domain specific language is a higher level interpreted language similar to interpreted languages like Ruby, Lua, Python or Perl. In yet other aspects, the domain specific language can be compiled into an executable binary program. In one aspect, the DSL module 182 is configured to parse, interpret or compile user defined or user programmable code. I The user defined or user programmable code are a programmable set of rules configured to organize, analyze, integrate and make decisions based on the sensory data received from the edge devices 120, In one aspect, the user defined or user programmable code interpreted or compiled by the DSL module 182 runs in the platform engine virtual machine 181, which is a virtual machine runtime configured to run the user defined or user programmable code. In one aspect, the user defined rules of the platform engine logic layer module 172 are both pre-defined and user-programmable in nature. In one aspect, the platform engine virtual machine 181 is substantially similar to the complementary gateway virtual machine 160 of the gateway 110 and the edge device virtual machine 154 of the edge device 120 and provides for the organization, integration, analysis and processing of data at the platform engine 101 level. The rules of the platform engine virtual machine 181 will dictate how the data will be handled. The first step of the rules will be to parse the data stream being received into applicable data elements for forwarding to the appropriate databases or management, systems. The rules will define for each data stream markers upon which the received data stream is to be parsed. The rules will also dictate which system is to receive those parsed elements and if returned data is expected. Each data stream will then is passed to the specific database or management system and confirm receipt of the full data stream. The communications with each element will be logged in a separate database for historical tracking and internal diagnostic reports. If the rules dictate that a response from the defined supporting system is expected, the platform engine 101 will wait for that, returned data stream and store it locally. Once each parsed data stream is processed, any returned data streams are compiled and passed on to the communications interface module 173 for communication to the gateway 110, the edge devices 120 or the peripheral devices 130-132.

[0074] The communications interface module 173 is a multi-faceted shell that is, in one aspect, connected to multiple physical connections and using multiple protocols. The communications interface module 173, in one aspect, is also connected to a user interface engine177 which generates interactive documents for display in web browsers or mobile applications when applicable. In one aspect, the communications interface module 173 also provides for the exchange of encrypted data streams to edge devices 120, the gateway 110 and the peripheral devices 130-131 by way of cellular, satellite or other long range wireless connections. The communications interface module 173 uses routing tables to track both the means and protocols to be used when communicating with each device.

[00753 To transfer data, the communications interface module 173 receives the data to be transmitted and the device address to which it is to be delivered. Based on defined routing tables, the means of communication and protocols are determined and the payload data formatted for delivery. The delivery of information may be addressed to one individual device or a group of devices. Once received, the packets are re-ordered as necessary and interpreted by the logic: of the receiving device (s) . The payload of the data packet will tell the receiving device what action to take and which parameters to apply.

[0076] In one aspect, as shown in Fig. 2C, it is noted that the end user can propagate user defined or user programmable code through a programming environment tool 280 which communicates user defined or user programmable code to the platform engine virtual machine 181. In one aspect, the programming environment. tool 280 can include a graphical programming module 281 which allows for a user to simplify scripting commands through a simplified graphical interface, or a point and click interface. In other aspects, the programming environment tool 280 further includes a text programming environment 282, which allows users to customize user defined or user programmable code through input of text or text files. In one aspect, the text programming environment 282 is a DSL parser and accepts input of scripting in the DSL. In other aspects, the text programming environment 282 is configured to parse any suitable programming language and interpret it into the simplified syntax of the DSL. In one aspect, this can include both high and low level languages, such as C, Python, Lua, Perl, Ruby, etc. In one aspect, the user defined or user programmable code is passed from the programming environment tool 280 to the platform engine virtual machine 181. The user defined or user programmable code passed from the programming environment tool 280 to the platform engine virtual machine 181 can, in turn, can be passed to the virtual machine 154 of the edge device 120 and the virtual machine 160 of the gateway 110 to further customize the operations of the virtual machines 154 and 160.

Application Programming Interface Module

[0077] In order for computer or mobile applications and third party users to access the platform engine 101, the platform engine 101 also includes an application programming interface which is configured to provide a set of subroutine definitions, protocols, and tools for building software and applications that can be accessed by users over any internet connection or for displaying application data. The invention includes several different types of interfaces.

Geographical Information System

[00783 Figs. 7-11 illustrate the basic format of a geographical information system user interface as presented by, for example, the user interface module 177 (on a web browser) or on the display of a peripheral device 130-132 (for example, on a mobile app accessing the application programming interface module 176). The interface has many views and filtering levels. Fig. 7 shows a view focused on enforcement status. The selection controls (11-1) allow the user to filter the view according to specific statuses. In this case, the view is filtered to show only certain data such as, for example, unoccupied parking spaces within a parking context. In other aspects, the view- can include any suitable data from any of the edge devices 120 and any of the diverse sensors 11-28, and can display any suitable context including weather, public safety, waste management, gas leaks, sewer sensing, water leaks, parking sensing, smart parking sensing, water quality, structural integrity, soil moisture, electromagnetic emissions, smart lighting, safe and orderly street sensing, air quality, item tracking and location, water level, public health hazards or any suitable predetermined sensing characteristic as described above with respect to diverse sensors 11-28. These are indicated by icons (11-2) on the map .

[0079] Fig. 8 shows the same view as Fig. 7, however in Fig. 8 a user has clicked on one of the icons. When this happens a balloon or window (12-1) opens to provide further details regarding the space represented by the icon.

[00803 Fig. 9 is similar to the Figs. 7 and 8, but the filter has been expanded to show both unoccupied spaces and those with an expired meter violation

[0081] The detail balloon (13-1) gives information about both the space and the violation occurring therein. Fig. 10 is a view of the GIS that represents user defined groupings of spaces. In this case, the user as defined groups based on the enforcement policy in effect at the spaces. The selected policies are indicated by the colored line (14-1) or some other visual means.

[0082] These groupings can then be used to run reports, make changes to policy, or otherwise manage the spaces. Fig. 11 shows a geographic selection of meters. Users can define different types of geographies. Such types can be either political (council district) or functional (enforcement zones) . As with the groupings in Fig. 10, these selections (15-1) can be used to generate reports, change policy or manage the spaces within that geography .

[0083] Types are initiated with a user selecting one or more spaces using a mouse or by selecting the spaces from a list in the Public. Once selected, the user can initiate predefined actions using menus accessed through a menu bar on the top of the interface screen or by contextual menus available through a defined combination of mouse clicks. A series of parameters can then be entered by the user to define the specifics of the request. The entire request is then passed on to the logic center of the platform engine 101 where predefined rules dictate what data elements are to be collected, how they are to be collated and to which device (s) communications should be passed.

[0084] Similarly, the icons on the map images can be used to display current status information . This information is updated either by manual request of the user to refresh the display or by automatic refreshing of the display. In either case, platform engine 101 retrieves information regarding the current location and status of remote assets and personnel from a database including the current information and updates the display image to reflect any changes.

Textual Reporting

[0085] Often, the information required by users (using peripheral devices 130-132) is statistical in nature. To address these requests, the present disclosure, in one aspect, includes textual reports which will be available to users, for example, through the application programming interface module 176 and accessible through an application on a peripheral device 130-132. Reports are driven by input screens specifying date ranges, selection of spaces by groups or individually, types of statistics and information to be included, e.g. how many meters in a plant are inoperative at a particular time and sub-sections of data to be compared to one another. Reporting will take the form of written reports, tables or charts as contextually appropriate for the statistics requested by the user.

Graphical Reporting

[0086] In addition to the textual reports, graphs offer visual representations of statistics that provide quick and concise understanding of trends, comparisons and breakdowns of interrelated statistics .

[0087] Like the textual reports, graphical reports will be presented (on a peripheral device 130-132 through access to the application programming interface module 176) as directed by a user input screen which controls date ranges, groups or individual spaces to be included and the statistics to be graphed. Users also select the graph type to be used from a list of available graph types. When applicable, the users can compare statistics by overlaying one statistic against another. The graph selection interface provides the option for the user to specify if results are to be presented on separate axes. This is useful when comparing statistics with differing; units of measure, such as comparing revenue in dollars against compliance levels measured in percentages.

Electronic Signage

[0088] The Internet of things (IoT) platform system 100 includes electronic displays for remote units such as the space monitoring and metering equipment or status meters or temperature readouts. In one aspect, the electronic displays are peripheral devices 130-132 which are configured to access the platform engine 101 through the application programming interface module 176. Such displays (for example, the displays shown in Figs. 7-11) include street signs and LCD displays connected to the actual metering equipment to communicate current rates and policies to the parking public. The electronic nature allows such signage to be updated to reflect changes in rates, hours of operation and so on without the need to deploy a workforce to replace or modify signs. Without such signage, quick and regular changes cannot be made to such policies.

[0089] Supporting Databases and Management Systems

[0090] In order to render detailed and flexible reports in all of the necessary formats, a number of interconnected systems and databases are required. The platform engine 101 coordinates the inputs of these individual data sources to create the individual presentations in any one or more of the peripheral devices 130-132 shown in Figs. 1A, 2A and 2B.

Insight Engine 174

[0091] In one aspect, the platform engine 101 also includes an insight engine 174 which is configured to process raw data received from the edge devices 120 and the gateway 110. In one aspect, the insight engine 174 is configured for big data analytics and machine learning to discern sensor data for usage patterns or to analyze the data for any suitable fashion. For example, the insight engine 174 can be configured to discern usage patterns of water with, for example, water leak detection sensors 16 and soil moisture sensors 21 to determine where, for example, there may be individuals who are watering their lawn during drought conditions. In one aspect, any suitable relationship between sensor data can be determined or analyzed by the insight engine 174.

[0092] In one aspect, the processing of meter data, a system like the Smart Meter System as described in U.S. patent application Ser . No. 11/179, 779, filed 13 Jul. 2005 and pending is incorporated by reference to the Brief Description of the Drawings and the Detailed Description as found in that, application. This system must be expanded to allow for maximum flexibility in system management . The outputs of this processing are then stored in an associated database in the platform engine 101- For later retrieval and compilation into the aggregated statistics required for user requested reports .

[0093] The system of the invention also allows for modeling of changes in policies affecting the operation of the system 100 as formulated by the Staff Supervisors and Policy Makers . By storing historical data, the insight engine 174 can generate statistical and mathematical models of the sensor data from the edge devices 120. The user can simply specify which statistics to manually alter and which statistics to calculate and the system can use the historical data to estimate the results. These results are based on actual data for target geography and allow a user to make a variety of assumptions such as the assumption that compliance levels would decrease by a certain percentage if rates were raised.

Current Status Database

[0094] In one aspect, the platform engine 101 also includes a current status database as part of the distributed storage 171 is a database including records for each asset or human resource being monitored .

[0095] Records relating to edge devices 120 and gateway 110 are being monitored by the encrypted data messages include information regarding the edge device 120 status and gateway 110 status. The table is updated with each new report from the system telemetry of changes in the space's various statuses. The details of the records include any exception cases relating to the edge devices 120, the gateways 110 and the peripheral devices 130-132.

[0096] Records relating to human resources, for example by the Staff Supervisors or the Policy Makers, are also updated as new data is received by the system communication techniques, such as telemetry. These records include information regarding the equipment in use by that employee (including vehicles and tools), the employee's location and any assigned or associated work orders as required by the Maintenance Personnel .

Management Systems

[0097] In one aspect, one major component of managing any operation of the system 101 is inventory tracking (for example, via sensor 26) . In one aspect, this can include, for example, integration with the enterprise data integration module 175 or could be part of the distributed storage 171. Each element of the operation is identified with a unique serial number . This serial number is used to index a database table which includes all information regarding the asset. This information includes part numbers, model numbers and manufacturer.

[0098] Additional database tables are used to track historical events regarding the asset. Such events include maintenance issues and events, upgrades, location changes and connected assets. This data is useful to the operation of the Maintenance Personnel. The supplemental tables can be used to display both current and historical data regarding any asset in the system in order to schedule maintenance, replacements or upgrades .

[0099] When problems do arise that may require replacement parts, tables storing information regarding associated replacement parts and available stock for replacements can be used to ensure maintenance crews (Maintenance Personnel) have all the necessary parts to perform needed repairs. Further tables store information regarding the sources for purchasing parts and lead times to facilitate efficient ordering of parts from their manufacturers.

[0100] Most systems also include tools to farther create efficiencies in inventory management by recording the attributes of ordering parts from manufacturers and calculating the most effective ordering quantities and shipping costs.

Maintenance History

[0101] As mentioned previously, the maintenance history of each asset is tracked in the distributed storage 171 of the platform engine 101. This information is important in analyzing trends of breakdowns facilitating preventive maintenance as well as improving the experiences of the public. Often, people who have been cited for violations of parking policy contest tickets due to alleged malfunctions in the parking meter. Historical information can be referenced to determine if such a failure had occurred. If so, the ticket can be dismissed. This data is necessary for the operation of the Enforcement Personnei.

[0102] If malfunctions occur within a defined geographic region during specific times, maintenance managers may be able to identify problems of vandalism and seek assistance from law enforcement to correct the problem.

Policy Management

[0103] The policy management database is used to track the activation of various edge devices 120. This database also tracks the historical application of these policies to edge devices 120.

[0104] The database is referenced to process data received from the edge device 120. The analysis of this raw data must-apply the correct meter rate and enforcement parameters by the Personnel to the data in order to correctly calculate statistics and update the current space status in the current status database for display in maps (Figs. 7-11) and reports,

[0105] Further examples of suitable aspect in the transmission and dissemination of information, analysis and collection to end users are similar to the system described and shown in US Pat. No. 8,274, 403, published September 25, 2012, which is incorporated by reference in its entirety as applicable .

[0106] Referring to Figs. 2A, 233, 12A and 12B, in one aspect, the IoT network system includes at. least one network link card 153, 166 (as noted above, the platform engine 101 may also include a network link card 180) f an in-fabrication keying fixture 1219, and an IoT Edge device 120 and IoT network node device registration and authentication manager controller 199

(which may include one or more components of the platform engine 101, such as one or more of the engine core 101EC and engine vault 101EV (or any other component of the platform engine 101) , and/or one or more components of the administration module 190, such as a sealed isolation vault 190V (or any other component of the administration module 190) ) . Each of the at. least, one network link card 153, 166, 180 is configured to respectively interface with a corresponding at least one of an IoT edge device 120 and an IoT network node device 110, of the IoT platform system 100, so as to communicably link, via a wide area network WAN each respective at least one IoT edge device 120 and IoT network node device 110 of the IoT platform system 100 to an IoT platform system control engine, such as the platform engine 101.

[0107] The in-fabrication keying fixture 1219 is configured in any suitable manner so as to couple with and key onto each at least one network link card 153, 166 respectively at fabrication so as to form an encryption key set 1203 on, and uniquely corresponding to, each respective network link card 153, 166 at fabrication of each respective network link card 153, 166. In one aspect, the keying fixture 1219 may be configured to couple with the at least one network link card 153, 166, during; keying, through any suitable wired or wireless connection.

[0108] The IoT Edge device 120 and IoT network node device registration and authentication manager controller 199 is configured to respectively register and authenticate each at least one of the IoT edge device 120 and the IoT network node device 110 upon respective initialization and registration thereof, by the IoT platform (system control) engine 101, of each at. least one of the IoT edge device 120 and the IoT network node device 110 within the IoT platform system 100 based on a secure symmetric encryption key set 1202S to the at fabrication formed encryption key set 1202 of the corresponding link card 153, 166 of each at least one of the IoT edge device 120 and IoT network node device 110 so as to effect authenticated onfooarding respectively of each at least one of the IoT edge device 120 and IOT network node device 110 to the IoT platform system 100. In one aspect, authentication is effected upon and substantially coincident with registration by the IoT network platform (system control) engine 101 of device 120, 110 initialization within the IoT network system 100S. The encryption key set 103 is disposed at least in a cryptologic unit 1103CM of each at least one network link card 153, 166 at fabrication ot each at least one network link card 153, 166.

[0109] Still referring to Figs. 2Af 2B, 12A and 12B as well as Figs. 13A and 138, the loT platform system 100 includes an IoT platform system encryption key security system 1290. The operation of the loT platform system encryption key security system 1290 may be based on a common encryption key set 1204 that, includes at least one principal or common (e.g., master) key MK1-MK stored in a secure storage 190KS (Fig. 13A, Block 1300) so as to be separate and sealed from the IoT platform system 100. In one aspect, the secure storage 190KS is included in a key generating unit 190K of the administration module 190, while in other aspects the secure storage 190KS may be any storage that is separate and isolated from the IoT platform system 100. While four common keys MK1-MK4 are shown in other aspects there may be more or less than four common keys . The key generating unit 190K may be a one-time-programmable storage and may not be read or modified by a controller/processor 190KC of the key generation unit 190K.

[0110] IoT platform system encryption key security system 1290, formed by the IoT platform system 100, in one aspect, includes an IoT device encryption key generation end 1220 that is communicably coupled to an IoT platform engine encryption key generation end 1201 through a secured encryption communication link 1235. The IoT platform engine encryption key generation end 1201 may be a portion of one or more platform engines 101 disposed to register and authorize IoT devices 110, 120 as the initialize on the IoT platform system 100. The secured encryption communication link 1235 defines a hierarchical encryption key set layer arrangement 1250 with encryption key sets 1202 of a superior layer 1250LS1 generated at the IoT device encryption key generation end 1220 and encryption key sets 1203 of a superior layer 1250LS2 generated at. the IoT platform engine encryption key generation end 1201 being based on the common encryption key set 1204 (e.g., common keys MK1-MK4) forming the principal layer 1250LP of the hierarchical encryption key set layer arrangement 1250 from which the superior layer 1251LS1, 1250LS2 depends.

[01113 The IoT device encryption key generation end 1220 of the encryption key security system 1290 is defined by an encryption key generation processor 1200, such as included in a respective keying fixture 1219, disposed so as to key encryption key sets 1202 onto IoT edge devices 120 and IoT communication node devices 110 at fabrication of the IoT edge devices 120 and IoT communication node devices 110.

[0112] Another encryption key generation processor 190KC, such as of the key generation unit 190K, is disposed so, or communicably coupled so, as to provide encryption key generation input providing encryption key sets 1203 to the IoT platform engine 101. The other encryption key generation processor 1S0KC defines an IoT platform engine encryption key generation end 1201 of the encryption key security system so that the IoT device encryption key generation end 1220 and the IoT platform engine encryption key generation end 1201 form substantially symmetrical key generation ends 1230SM of the encryption key security system 1290. Each of the encryption key sets 1203 generated at the IoT platform engine encryption key generation end 1201 may be based, at least in part, on a symmetric set. of encryption keys 1202S to each corresponding encryption key set. 1202 of the encryption key sets 1202 qenerated at the loT device encryption key generation end 1220.

[0113] Each of the encryption key sets 1203 generated at the IoT platform engine encryption key generation end 1201 includes an independently generated independent key 1217 and at least one other key 1218 (e.g. a device communication key) . The independent key 1217 and the at least one other key 1218 based at least in part on the symmetric set of encryption keys 1202S define other superior key set layers 1250LL of the hierarchical encryption key set layer arrangement 1250 securing end to end encryption security of a communication link connecting an IoT platform engine encryption key generation end 1201 and an IoT device encryption key generation end 1220 of the IoT platform system 100. The independent key 1217 uniquely corresponds to each respective IoT eclqe device 120 and/or IoT network node device 110. The at least one other key 1218 is based, at least in part, on the symmetric set of encryption keys 1202S to each corresponding encryption key set 1202 of the encryption key sets 1202 generated at the IOT device encryption key generation end 1220. The independent key 1217 defines a session key 1217S for the respective IoT edge device 120 or respective IoT network node device 110 (collectively referred to herein as the IoT device 110, 120) and is input to the IoT device 110, 120 by session key encrypted communication SCOMM from the IoT platform engine 101, via the wide area network WAN of the IoT platform system 100. The session key encrypted communication SCOMM being based on the at least one other key 1218 and includes at least one validity operator 1257A (which may or may not be the same as validity operator 1257) providing a communication tamper indicator 1258A (which may or may not be the same as validity tamper indicator 128) of the session key encrypted communication SCOMM.

[0114] The session key encrypted communication SCOMM embodying the session key 1217S input to the respective loT device 110, 120 is effected upon and in initial response to loT platform enqine 101 registration of initialization of the respective loT device 110, 120 within the IoT platform system 100, The initial response of the session key encrypted communication SCOMM from loT platform engine 101 to respective IoT device 110, 120 and decryption of the session key 1217S from the session key encrypted communication SCOMM and input in the respective IoT device 110, 120 effect authentication of the respective IoT device 110, 120 and onboarding of the respective IoT device 110, 120 to the IoT platform system 100 as described in greater detail herein.

[0115] In one aspect, the encryption key sets 1202 of the superior layer 1250LS1 generated at the IoT device encryption key generation end 1220 and the encryption key sets 1203 of the superior layer 1250LS2 generated at the IOT platform engine encryption key generation end 1201 comprise a combination of at least one symmetric: encryption key SKEY and at least one asymmetric encryption key AKEY.

[0116] The encryption key sets 1202 generated at. the IoT device encryption key generation end 1220 are based on the common encryption key set. 1204 and information from an encrypted input 1255 to the IOT device encryption key generation end 1220. These encryption key sets 1202 can only be used to encrypt, and decrypt data passing it to the cryptologic unit 1103CM, 162CM (e.g., this hardware isolation may ensure that the device key sets 1202 cannot be stolen remotely by installing malicious firmware on the loT device 110, 120) . The uniqueness of the device key sets 1202 may also ensure that if a malicious attacker gets physical access to an loT device 110, 120 in a laboratory environment, the malicious attacker may only be able to steal the keys of the physically possessed loT device 110, 120 (because each loT device 110, 120 has a unique set of keys 1202) - The encrypted input 1255 is based on the common encryption key set 1204 and includes at least a predetermined loT device fabrication identification characteristic 1256 and a validity operator 1258 effecting a tamper indicator 1258 of the encrypted input 1255. The predetermined loT device fabrication identification characteristic 1256 forms a basis in generation of the encryption key sets 1202 at the loT device encryption key generation end 1220, each of which encryption key sets 1202 is keyed onto and uniquely corresponds to a respective link card 153, 166 of each given loT edge device 120 and each given loT communication node device 110 at fabrication of the respective link card 153, 166. The validity operator 1257 defines a validity window (or expiry) of the encrypted input 1255, and a validity window (or expiry) for generation of the encryption key sets 1202 generated, based on the encrypted input 1255 at the loT device encryption key generation end 1220, and for keying each of the encryption sets 1202, based on the encrypted input, onto the respective link card 153, 166 at fabrication thereof.

[0117] In one aspect, each of the keying fixtures 1219 includes a respective unique fixture key FKl-FKn that is derived from the common keys MK1-MK4 and a unique MAC address of the respective keying fixture 1219-1219n. For example, given a keying fixture 1219 MAC address, such as exemplary 6 byte MAC address 0004a3810123 and the set of common keys MK1-MK4 , the key generating unit 190K is configured to generate the fixture key FKl-FKn (Fig. 13A, Block 1302) . The fixture key FKl-FKn is generated by right-zero-padding the MAC address to form a 16 byte plaintext such as, for example, 0004a38101230000000000. The key generating unit 190K is configured to, with any suitable encryption algorithm (such as, e.g., AES-128 in any suitable mode such as, e.g., counter, electronic code book and cipher feedback modes) , encrypt the plaintext with each of the common keys MK1-MK4 in turn (e.g., by pointing to them KEYSRC 1-4) , to produce a 16 byte ciphertext corresponding to each of the respective common keys MK1 -MK4. For example, the 16 byte cipher text for common key MK1 may be, e.g. , if7c4d08432fa5alece0aa02349503d, where a 16 byte cipher text is generated for each of the other three common keys MK2-MK4 to produce a respective set of fixture keys FK1 for the keying fixture 1219 having MAC address GG04a381G123. These fixture keys FKl-FKn may be included in the encrypted input 1255.

CLAIMS
1. An internet or things (IoT) system including a distributed system of virtual machines, the IoT system comprising:

at least one IoT platform system control engine, each of the at least one IoT platform system control engine includes a IoT platform system control engine secure system space and a IoT platform system control engine user defined space;

at least one IoT network node device communicable with the at least one IoT platform system control engine through a network, each of the at least one IoT network node device includes a IoT network node device secure system space and an IoT network node device user defined space;

at least one IoT edge device communicable with the at least one IoT network node device and the ta least one IoT platform system control engine through the network, each of the at least one IoT edge device includes an edge device secure system space and an edge device user defined space;

wherein the IoT platform system control engine secure system space, the IoT network node device secure system space, and the edge device secure system space are each configured to be secured to prevent unauthorized access; and

wherein, the IoT platform system control engine user defined space, the IoT network node device user defined space and the edge device user defined space each define a respective virtual machine configured to receive and execute user defined instructions to form the distributed system of virtual machines .

2. The loT system of claim 1, wherein the loT platform system control engine secure system space, and the edge device secure system space are each, respectively, configured to control communication over the network between the at least one IoT platform system control engine, the at least one IoT network node device, and the at least one IoT edge device,

3. The IoT system of claim 1, wherein the IoT platform system control engine secure system space, IoT network node device secure system space, and the edge device secure system space each include an integrated communication control module to control communication over the network.

4. The IoT system of claim 1, wherein the edge device secure system space is configured to define an interface between an application layer of the IoT edge device and a drive layer of the at. least one IoT edge device.

5. The IoT system of claim 1, wherein the virtual machine of the at least one edge device is configured to configure the application layer of the at least one IoT edge device to interface with a predetermined sensor type .

6. The IoT system of claim 1, wherein the virtual machine of the at least. one IoT platform system control engine is configured to receive user defined instructions .

7. The IoT system of claim 1, wherein the virtual machine of the at least. one IoT platform system control engine is configured to propagate user defined instructions to the respective virtual machines of the IoT network node device and the IoT edge device.

8. The loT system of claim 1, wherein the IoT edge device is configured to interface with diverse sensor inputs and diverse outputs through the virtual machine of the IoT edge device.

9. The IoT system of claim 8, wherein the virtual machine of the IoT edge device is configured to customize the functionality of the diverse sensor inputs and diverse outputs .

10. The IoT system of claim 1, wherein the respective virtual machine of the at least one IoT platform system control engine, the at least one IoT network node device, and the at least one IoT edge device is configurable with a scripting language interface .

11. The IoT system of claim 1, wherein the respective virtual machine of the at least one IoT platform system control engine, the at least one IoT network node device, and the at least one IoT edge device is configurable with a visual configuration interface .

12. The IoT system of claim 1, wherein the virtual machine the at least one edge device is configured to configure application layer of the at least one edge device for predetermined sensor type.

13. The IoT system of claim 1, wherein the IoT platform system control engine includes an integrated communications control module .

14. The IoT system of claim 1, wherein the respective virtual machine of the at least one IoT platform system control engine, the at least one network node device, and the at least one IoT edge device are configured to execute a specific IoT task.

15. The IoT system of claim 14, wherein the respective virtual machine of the at least one IoT platform system control engine, the at least one IoT network node device, or the at least one IoT edge device are configured to execute portions of the specific IoT task, wherein the portions of the specific: IoT task are distributed based on capacity and efficiency characteristics of the respective virtual machine of the at least one IoT platform system control engine, the at least one IoT network node device, or the at least one IoT edge device .

16. A method of operating an Internet of things (IoT) system including a distributed system of virtual machines, the method comprising:

providing at least one IoT platform system control engine having a IoT platform system control engine secure system space and a IoT platform system control engine user defined space;

providing at least one IoT network node device communicable with the at least one IoT platform system control engine through a network, the at least one IoT network node device having an IoT network node device secure system space and an IoT network node device user defined space;

providing at least one IoT edge device communicable with the at least one IoT network node device and the at least one IoT platform system control engine through the network, each of the at least one IoT edge device includes an edge device secure system space and an edge device user defined space;

configuring each of the IoT platform system control engine secure system space, the IoT network node device secure system space and the edge device secure system space to be secured to prevent unauthorized access;

defining a respective virtual machine in each of the IoT platform system control engine user defined space, the IoT network node device user defined space, and the edge device user defined space; and

forming with the a distributed system of virtual machines with each respective virtual machine receiving and executing user defined instructions.

17. An Internet of things (IoT) device link comprising:

a memory storage for storing program code;

a microcontroller for executing the program code, wherein the program code includes secure program code configured to be secured and prevent unauthorized access and user defined program code configured to execute user defined instructions;

a communication module and antenna configured to transmit and receive data to and from the IoT device link;

a cryptologic unit configured to encrypt and decrypt the data;

a power supply and management module and power storage unit-configured to provide power to the IoT device link;

a real time clock configured to clock the microcontroller operations;

a MAC address module configured to provide a unique network address for the IoT device link; and

wherein the microcontroller having an interface module configured to connect and control at least, one input, and output of an IoT device link sensor.

18. The IoT device link of claim 17, wherein the interface module is common for the IoT device link sensor comprising weather, public safety, waste management, gas leak, sewer monitoring, water leak, parking access, smart parking, water quality, structural integrity, soil moisture, electronic emission, smart lighting, street safety, air quality, item location, water level or public health sensors.

19. The IoT device link of claim 17, wherein the user defined program code configured to control the operation of the at least one input and output of the IoT device link sensor.

20. The IoT device link of claim 17, wherein the IoT device link sensor senses a sensing characteristic and cryptologic unit encrypts the sensing characteristic before the communication module and antenna transmits the sensing characteristic.

21. An internet of things (IoT) network system comprising:

at least one network link card each of which is configured to respectively interface with a corresponding at least one of an IoT edge device and an IoT network node device, of an IoT platform system, so as to communicable link, via a wide area network each respective at least one IoT edge device and IoT network node device of the IoT platform system to an IoT platform system control engine;

an in-fabrication keying fixture configured so as to couple with and key onto each at least one network link card respectively at fabrication so as to form an encryption key set on, and uniquely corresponding to, each respective network link card at fabrication of each respective network link card; and

an IoT edge device and loT network node device registration and authentication manager controller coupled to the IoT platform system control engine, the registration and authentication manager controller being configured to respectively register and authenticate each at least one of the IoT edge device and the IoT network node device upon respective initialization and registration thereof, by the IoT platform system control engine, of each at least one of the IoT edge device and the IoT network node device within the IoT platform system based on a secure symmetric encryption key set to the at fabrication formed encryption key set of the corresponding link card of each at least one of the IoT edge device and IoT network node device so as to effect authenticated onboarding respectively of each at least one of the IoT edge device and IOT network node device to the IoT platform system,

22. The IoT network system of claim 21, wherein authentication is effected upon and substantially coincident with registration by the IoT Edge device 120 and IoT network node device registration and authentication manager controller of device initialization within the IoT network system.

23. The IoT network system of claim 21, wherein the encryption key set is disposed at least in a cryptoloqic unit of each at least one network link card at fabrication of each at least one network link card.

24. An Internet of things (IoT) platform system encryption key security system, the IoT platform system having IoT edge devices, IoT communication node devices and an IOT controller with an IoT platform engine, the encryption key security system securing encryption security between the IOT edge devices, IoT communication node devices and the IOT platform engine on the IoT controller, the IoT platform system encryption key security system comprising:

an encryption key generation processor disposed so as to key encryption key sets onto IoT edge devices and IoT communication node devices (at fabrication) , the encryption key generation processor defining an IoT device encryption key generation end of the encryption key security system;

another encryption key generation processor disposed so, or communicably coupled so, as to provide encryption key generation input providing encryption key sets to the IoT platform engine, the other encryption key generation processor defining an IoT platform engine encryption key generation end of the encryption key security system so that the IoT device encryption key generation end and the IoT platform engine encryption key generation end form substantially symmetrical key generation ends of the encryption key security system; and

a secured encryption communication link coupling the IoT device encryption key generation end and the IoT platform engine encryption key generation end.

25. The IoT platform system encryption key security system of claim 24, wherein the secured encryption communication link defines a hierarchical encryption key set layer arrangement with encryption key sets of a superior layer generated at. the IoT device encryption key generation end and the encryption key sets of the superior layer generated at the IoT platform engine encryption key generation end being based on a common encryption key set forming a principal layer of the hierarchical encryption key set layer arrangement from which the superior layer depends.

26. The IoT platform system encryption key security system of claim 24, wherein the common encryption key set of the principal layer is separate and sealed from the IoT platform system,

27. The IoT platform system encryption key security system of claim 24, wherein the encryption key sets of the superior layer generated at the IoT device encryption key generation end and the encryption key sets of the superior layer generated at. the IOT platform engine end comprise a combination of at. least one symmetric encryption key and at least one asymmetric encryption key .

28. The IoT platform system encryption key security system of claim 24, wherein the encryption key sets generated at the IoT device encryption key generation end are based on the common encryption key set and information from an encrypted input to the IOT device encryption key generation end, the encrypted input is based on the common encryption key set and includes at least a predetermined IoT device fabrication identification characteristic and a validity operator effecting a tamper indicator of the encrypted input .

29. The IoT platform system encryption key security system of claim 28, wherein the predetermined IoT device fabrication identification characteristic forms a basis in generation of the encryption key sets at the IoT device encryption key generation end, each of which encryption key sets is keyed onto and uniquely corresponds to a respective link card of each given IoT edge device and each given IoT communication node device at fabrication of the respective link card.

30. The IoT platform system encryption key security system of claim 28, wherein the validity operator defines a validity window of the encrypted input, and for generation of the encryption key sets generated, based on the encrypted input at the loT device encryption key generation end, and for keying each of the encryption sets, based on the encrypted input, onto the respective link card at fabrication thereof.

31. The IoT platform system encryption key security system of claim 28, wherein the encrypted input is disposed on a computer readable storage media that is ported from an input generation location, where the encrypted input is disposed on the computer readable storage media, and which location is separate and remote from the IoT device encryption key generation end, to the IOT device encryption key generation end.

32. The IoT platform system encryption key security system of claim 24, wherein each of the encryption key sets generated at the IoT platform engine encryption key generation end is based, at least in part, on a symmetric set of encryption keys to each corresponding encryption key set of the encryption key sets generated at the IoT device encryption key generation end.

33. The IoT platform system encryption key security system of claim 24, wherein each of the encryption key sets generated at the IoT platform engine encryption key generation end includes an independently generated independent key uniquely corresponding to each respective IoT device, and at least one other key that is based, at least in part, on a symmetric set of encryption keys to each corresponding encryption key set of the encryption key sets generated at the IOT device encryption key generation end.

34. The IoT platform system encryption key security system of claim 33, wherein the independent key defines a session key for the respective IoT device and is input to the loT device by session key encrypted communication from the IoT platform engine, via a wide area network of the IoT platform system, the session key encrypted communication being based on the at least one other key and includes at least one validity operator providing a communication tamper indicator of the session key encrypted communication ,

35. The IoT platform system encryption key security system of claim 34, wherein the session key encrypted communication embodying the session key input to the respective IoT device is effected upon and in initial response to IoT platform engine registration of initialization of the respective IoT device within the IoT platform system.

36. The IoT platform system encryption key security system of claim 35, wherein the initial response of the session key encrypted communication from IoT platform engine to respective IoT device and decryption of the session key from the session key encrypted communication and input in the respective IoT device effect authentication of the respective IoT device and onboarding of the respective IoT device to the IoT platform system .

37. The IoT platform system encryption key security system of claim 33, wherein the independent key and the at least one other key based at least in part on the symmetric set of encryption keys define other superior key set layers of the hierarchical encryption key set layer arrangement securing end to end encryption security of communication link connecting an IoT device end and an IoT platform engine end of the IoT platform system .

38. An Internet of things (IoT) platform system of multiple loT platform edge devices communicably coupled for bidirectional communication with multiple IoT platform communication network nodes, system comprising:

an IoT platform engine communicably coupled for bidirectional communication with the IoT platform communication network nodes, and via therewith communicably coupled for bidirectional communication with the IoT platform edge devices;

the IoT platform engine having multiple function modules, the IoT platform engine being disposed on a variably selectable number of server nodes of a server node cloud, at least one function module of the multiple function modules being a provisioning engine module configured as to selectably populate server nodes with the platform engine, and another of the multiple function modules being a secure sealed storage section that stores, sealed from each other of the multiple function modules of the platform engine outside the sealed storage section, IoT user credentials and rights as to access and affect functions of function modules of the platform engine including the provisioning engine module, the secured sealed storage section being configured to manage and enable access to user rights including authorization to initialize the provisioning engine module so as to effect secure elastic provisioning selection of the number of server nodes on which the platform engine is disposed.

39. The IoT platform system of claim 38, wherein the secure sealed storage section is arranged so that provision of secure seal integrity is decoupled and maintained from an exterior of the IoT platform engine.

40. The loT platform system of claim 38, wherein the secure sealed storage section manages and enables access with multifactor user authentication .

41. The IoT platform system of claim 38, wherein the server node cloud is disposed as infrastructure as a service (IAAS) platform, or as a private server cloud.

42. The IoT platform system of claim 38, wherein the platform engine is configured with a distributed storage layer, and the secure sealed storage section is disposed within the distributed storage layer,

43. The IoT platform system of claim 38, wherein the secure sealed storage section is spread across multiple of the server nodes to include at least a minimum deterministic number within the multiple server nodes so as to effect functions of the secure sealed storage section.

44. The IoT platform system of claim 38, wherein at least one of the multiple function modules defines a centralized service discovery and monitoring function, the centralized service discovery and monitoring function module being spread across multiple of the server nodes to include at least a minimum deterministic number within the multiple server nodes so as to effect the centralized service discovery and monitoring function .

45. The IoT platform system of claim 38, wherein the centralized service discovery and monitoring function is configured so as to register run initiation of each platform engine services on newly provisioned server nodes as populated with the provisioning module.

46. The loT platform system of claim 38, wherein the provisioning engine module is configured so as to effect, provisioning selection of the number of server nodes being provisioned so as to become populated with the platform engine, selection of a network topology for the number of selected provisioned server nodes, and selection of services from predetermined services of the platform engine so as to start the selected services on each of the selected server nodes being provisioned .

47. The loT platform system of claim 38, wherein the provisioning engine module is configured so that selection and set up of the selected services on each of the selected server-nodes being provisioned is specified with but one configuration file and selection input to but one provisioning script fed to the provisioning engine module effecting substantially automatic: setup of each the selected server nodes.

48. The loT platform system of claim 38, wherein at setup, each respective one of the selected server nodes metadata file is signed with a private key that, uniquely corresponds to the respective one of the selected server nodes, the private key corresponding to the respective selected server node being sealed in the secure sealed storage section and authenticated by the secure sealed storage section on receipt of the signature at set up of the respective selected server node.

49. An Internet of things (IoT) system including a distributed system of virtual machines, the IoT system comprising:

at. least one IoT platform system control engine;

at least one loT network node device communicable with the at least one IoT platform system control engine through a network; and

at. least one IoT edge device corainunicable with the at least one IoT network node device and the at least one IoT platform system control engine through the network, each of the at least one IoT edge device includes an IoT edge device secure system space and an IoT edge device user defined space;

wherein the IoT edge device secure system space is configured to be secured to prevent, unauthorized access and the IoT edge device user defined space is configured to receive and execute user defined instructions to form the distributed system of virtual machines.

50. An Internet of things (IoT) system including a distributed system of virtual machines, the IoT system comprising:

at least one IoT platform system control engine;

at. least, one IoT network node device communicable with the at least one IoT platform system control engine through a network, each of the at least one IoT network node device includes an IoT network node device secure system space and an IoT network node device user defined space; and

at least one IoT edge device communicable with the at least one IoT network node device and the at. least one IoT platform system control engine through the network, each of the at least, one IoT edge device includes an IoT edge device secure system space and an IoT edge device user defined space;

wherein the IoT edge device secure system space is configured to be secured to prevent unauthorized access and the IoT edge device user defined space is configured to receive and execute user defined instructions to form the distributed system of virtual machines; and

wherein the IoT network node device secure system space is configured to be secured to prevent unauthorized access and the IoT network node device user defined space is configured to receive and execute user defined instructions to form the distributed system of virtual machines .

Documents

Application Documents

# Name Date
1 201917009244-Correspondence-090919.pdf 2019-09-12
1 201917009244.pdf 2019-03-09
2 201917009244-OTHERS-090919.pdf 2019-09-12
2 201917009244-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [09-03-2019(online)].pdf 2019-03-09
3 201917009244-STATEMENT OF UNDERTAKING (FORM 3) [09-03-2019(online)].pdf 2019-03-09
3 201917009244-FORM 3 [03-09-2019(online)].pdf 2019-09-03
4 201917009244-Proof of Right (MANDATORY) [03-09-2019(online)].pdf 2019-09-03
4 201917009244-FORM 1 [09-03-2019(online)].pdf 2019-03-09
5 201917009244-FORM 13 [13-08-2019(online)]-1.pdf 2019-08-13
5 201917009244-DRAWINGS [09-03-2019(online)].pdf 2019-03-09
6 201917009244-FORM 13 [13-08-2019(online)].pdf 2019-08-13
6 201917009244-DECLARATION OF INVENTORSHIP (FORM 5) [09-03-2019(online)].pdf 2019-03-09
7 201917009244-MARKED COPIES OF AMENDEMENTS [13-08-2019(online)]-1.pdf 2019-08-13
7 201917009244-COMPLETE SPECIFICATION [09-03-2019(online)].pdf 2019-03-09
8 abstract.jpg 2019-04-11
8 201917009244-MARKED COPIES OF AMENDEMENTS [13-08-2019(online)].pdf 2019-08-13
9 201917009244-FORM-26 [31-05-2019(online)].pdf 2019-05-31
9 201917009244-RELEVANT DOCUMENTS [13-08-2019(online)]-1.pdf 2019-08-13
10 201917009244-Power of Attorney-030619.pdf 2019-06-08
10 201917009244-RELEVANT DOCUMENTS [13-08-2019(online)].pdf 2019-08-13
11 201917009244-Correspondence-030619.pdf 2019-06-08
12 201917009244-Power of Attorney-030619.pdf 2019-06-08
12 201917009244-RELEVANT DOCUMENTS [13-08-2019(online)].pdf 2019-08-13
13 201917009244-FORM-26 [31-05-2019(online)].pdf 2019-05-31
13 201917009244-RELEVANT DOCUMENTS [13-08-2019(online)]-1.pdf 2019-08-13
14 201917009244-MARKED COPIES OF AMENDEMENTS [13-08-2019(online)].pdf 2019-08-13
14 abstract.jpg 2019-04-11
15 201917009244-COMPLETE SPECIFICATION [09-03-2019(online)].pdf 2019-03-09
15 201917009244-MARKED COPIES OF AMENDEMENTS [13-08-2019(online)]-1.pdf 2019-08-13
16 201917009244-DECLARATION OF INVENTORSHIP (FORM 5) [09-03-2019(online)].pdf 2019-03-09
16 201917009244-FORM 13 [13-08-2019(online)].pdf 2019-08-13
17 201917009244-DRAWINGS [09-03-2019(online)].pdf 2019-03-09
17 201917009244-FORM 13 [13-08-2019(online)]-1.pdf 2019-08-13
18 201917009244-FORM 1 [09-03-2019(online)].pdf 2019-03-09
18 201917009244-Proof of Right (MANDATORY) [03-09-2019(online)].pdf 2019-09-03
19 201917009244-STATEMENT OF UNDERTAKING (FORM 3) [09-03-2019(online)].pdf 2019-03-09
19 201917009244-FORM 3 [03-09-2019(online)].pdf 2019-09-03
20 201917009244-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [09-03-2019(online)].pdf 2019-03-09
20 201917009244-OTHERS-090919.pdf 2019-09-12
21 201917009244.pdf 2019-03-09
21 201917009244-Correspondence-090919.pdf 2019-09-12