# US 10,484,237 B2 · Platform for rapid prototyping of internet-enabled devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,484,237 B2
- Document ID: US10484237B2
- Status: Granted
- Kind: B2
- Application number: 15/453,209
- Filed: 2017-03-08
- Published: 2017-09-14
- Granted: 2019-11-19
- Earliest claimed: 2016-03-14
- Assignees: Accenture Global Solutions Limited
- Applicants: Accenture Global Solutions Limited
- Inventors: Fabien Papleux
- Web page: https://patentgrep.com/patent/US10484237B2

## CPC

- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/0853: by actively collecting configuration information or by backing up configuration information
- H04L 67/04: specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L 67/56: Provisioning of proxy services (store-and-forward switching systems in data switching networks H04L12/54)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for prototyping Internet-enabled devices. One of the methods includes receiving a prototype program defining functionality of a proposed Internet-enabled device having a plurality of sensors and one or more actuators. A sensor hub receives a registration request through a prototyping API for each of the connected sensors and the one or more actuators. The sensor hub initializes each of the connected sensors and the one or more connected actuators, obtains a status of each registered connected sensor, provides the obtained status of each connected sensor to the prototyping system through the prototyping API, receives requested actions corresponding to functionality specified in the prototype program, and executes each of the requested actions on a corresponding connected actuator.

## Claims

### Claim 1

A system comprising:
a prototyping system comprising one or more computers, which include at least one memory and at least one processor, the prototyping system emulating an environment to enable testing of a proposed Internet of Things (IoT) device and configured to:
receive a prototype program defining functionality of the proposed IoT device that is configured to communicate with a plurality of sensors and one or more actuators, wherein the prototype program comprises commands configured to cause the prototyping system to issue one or more requests to a prototyping application programming interface (API) including requests to register devices, obtain a status of a sensor, execute an action by an actuator, or receive an indication regarding the result of the executed action,
translate the prototype program into one or more commands at least some of which utilize the prototyping API, the one or more commands including a registration request for registration of a plurality of connected physical sensors and one or more connected physical actuators, each of the plurality of connected physical sensors corresponding respectively to one of the plurality of sensors of the proposed IoT device and each of the one or more connected physical actuators corresponding respectively to one of the one or more actuators of the proposed IoT device, and
send, to a sensor hub and through the prototyping API, the registration request that utilizes the prototyping API; and
a sensor hub that is connected locally, by wired or wireless connection, to each of the plurality of connected physical sensors and each of the one or more connected physical actuators that each correspond respectively to one of the plurality of sensors or one of the one or more actuators of the proposed IoT device, the sensor hub configured to:
receive the registration request through the prototyping API for each of the connected physical sensors and the one or more connected physical actuators,
in response to receiving the registration request, initialize each of the connected physical sensors and the one or more connected physical actuators that correspond respectively to one of the sensors or one of the actuators of the proposed IoT device,
automatically obtain, in real-time, a status of each registered connected physical sensor from the respective registered connected physical sensor,
provide, in real-time, a last-obtained status to the prototyping system through the prototyping API on a routine, continuous or periodic basis,
automatically receive, from the prototyping system through the prototyping API, requested actions corresponding to the functionality of the proposed IoT device specified in the prototype program, and
execute each of the requested actions on a corresponding connected physical actuator, receive a result of each executed action from the corresponding connected physical actuator and provide each received result to the prototyping system, each received result including an indication of whether each corresponding action succeeded or failed.

### Claim 2 (depends on 1)

The system of claim 1, wherein the sensor hub is configured to register each of the connected physical sensors and the one or more connected physical actuators by providing a request through a registration API, wherein the sensor hub has a respective sensor module for each of one or more connected physical sensors, each sensor module being configured to implement a registration process for the connected physical sensor, and wherein the sensor hub has a respective actuator module for each connected physical actuator that is configured to implement the registration process for the connected physical actuator.

### Claim 3 (depends on 1)

The system of claim 1, wherein the sensor hub is configured to obtain the status of each of the connected physical sensors by providing a request through a status API, wherein a corresponding sensor module for each connected physical sensor is configured to obtain the status from the connected physical sensor.

### Claim 4 (depends on 3)

The system of claim 3, wherein the sensor hub is configured to automatically publish obtained statuses of the plurality of connected physical sensors to the prototyping system without receiving a request for the statuses.

### Claim 5 (depends on 1)

The system of claim 1, wherein the sensor hub is configured to obtain requested actions from the prototyping system and provide requests to execute each requested action of the obtained requested actions by providing a request through an actions API, wherein a corresponding actuator module for each connected physical actuator is configured to execute a requested action received through the actions API on a corresponding connected physical actuator.

### Claim 6 (depends on 1)

The system of claim 1, wherein the sensor hub is configured to obtain the status of each of the connected physical sensors whenever an updated status is available.

### Claim 7

A computer-implemented method including:
receiving, by a prototyping system that has one or more computers and emulates an environment to enable testing of a proposed Internet of Things (IoT) device, a prototype program defining functionality of the proposed IoT device that is configured to communicate with a plurality of sensors and one or more actuators, wherein the prototyping system uses the prototype program to issue one or more requests to a prototyping application programming interface (API) including requests to register devices, obtain the status of a sensor, execute an action by an actuator, or receive an indication regarding the result of an executed action;
translating, by the prototyping system, the prototype program into one or more commands at least some of which utilize the prototyping API, the one or more commands including a registration request for registration of a plurality of connected physical sensors and one or more connected physical actuators, each of the plurality of connected physical sensors corresponding respectively to one of the plurality of sensors of the proposed IoT device and each of the one or more connected physical actuators corresponding respectively to one of the one or more actuators of the proposed IoT device;
sending, by the prototyping system to a sensor hub and through the prototyping API, the registration request that utilizes the prototyping API;
receiving, by the sensor hub connected locally, by wired or wireless connection, to each of the plurality of connected physical sensors and each of the one or more connected physical actuators that each correspond respectively to one of the plurality of sensors or one of the one or more actuators of the proposed IoT device, the registration request through the prototyping API for each of the connected physical sensors and the one or more connected physical actuators that correspond respectively to one of the sensors or one of the actuators of the proposed IoT device;
in response to receiving the registration request, initializing, by the sensor hub, each of the connected physical sensors and the one or more connected physical actuators that correspond respectively to one of the sensors or one of the actuators of the proposed IoT device;
automatically obtaining, by the sensor hub in real-time, a status of each registered connected physical sensor from the respective registered connected physical sensor;
automatically providing, by the sensor hub in real-time, a last-obtained status of each connected physical sensor to the prototyping system through the prototyping API on a routine, continuous or periodic basis;
automatically receiving, by the sensor hub from the prototyping system through the prototyping API, requested actions corresponding to functionality of the proposed IoT device specified in the prototype program; and
executing, by the sensor hub, each of the requested actions on a corresponding connected physical actuator, receiving a result of each executed action from the corresponding connected physical actuator and providing each received result to the prototyping system, each received result including an indication of whether each corresponding action succeeded or failed.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
registering, by the sensor hub, each of the connected physical sensors and the one or more connected physical actuators by providing a request through a registration API, wherein the sensor hub has a respective sensor module for each of one or more connected physical sensors, each sensor module being configured to implement a registration process for the connected physical sensor, and wherein the sensor hub has a respective actuator module for each connected physical actuator that is configured to implement the registration process for the connected physical actuator.

### Claim 9 (depends on 7)

The method of claim 7, comprising obtaining, by the sensor hub, the status of each of the connected physical sensors by providing a request through a status API, wherein a corresponding sensor module for each connected physical sensor is configured to obtain the status from the connected physical sensor.

### Claim 10 (depends on 9)

The method of claim 9, further including automatically publishing, by the sensor hub, obtained statuses of the plurality of connected physical sensors to the prototyping system without providing, by the prototyping system, a request for the statuses to the sensor hub.

### Claim 11 (depends on 7)

The method of claim 7, comprising:
obtaining, by the sensor hub, requested actions from the prototyping system; and
providing, by the sensor hub, requests to execute each requested action of the obtained requested actions by providing a request through an actions API, wherein a corresponding actuator module for each connected physical actuator is configured to execute a requested action received through the actions API on a corresponding connected physical actuator.

### Claim 12 (depends on 7)

The method of claim 7, comprising:
obtaining, by the sensor hub, the status of each of the connected physical sensors whenever an update status is available.

### Claim 13

A computer program product, encoded on one or more non-transitory computer storage media, including instructions that when executed by one or more computers cause the one or more computers to perform operations including:
receiving, by a prototyping system that has one or more computers and emulates an environment to enable testing of a proposed Internet of Things (IoT) device, a prototype program defining functionality of the proposed IoT device that is configured to communicate with a plurality of sensors and one or more actuators, wherein the prototyping system uses the prototype program to issue one or more requests to a prototyping application programming interface (API) including requests to register devices, obtain the status of a sensor, execute an action by an actuator, or receive an indication regarding the result of an executed action;
translating, by the prototyping system, the prototype program into one or more commands at least some of which utilize the prototyping API, the one or more commands including a registration request for registration of a plurality of connected physical sensors and one or more connected physical actuators, each of the plurality of connected physical sensors corresponding respectively to one of the plurality of sensors of the proposed IoT device and each of the one or more connected physical actuators corresponding respectively to one of the one or more actuators of the proposed IoT device;
sending, by the prototyping system to a sensor hub and through the prototyping API, the registration request that utilizes the prototyping API;
receiving, by the sensor hub connected locally, by wired or wireless connection, to each of the plurality of connected physical sensors and each of the one or more connected physical actuators that each correspond respectively to one of the plurality of sensors or one of the one or more actuators of the proposed IoT device, the registration request through the prototyping API for each of the connected physical sensors and the one or more connected physical actuators that correspond respectively to one of the sensors or one of the actuators of the proposed IoT device;
in response to receiving the registration request, initializing, by the sensor hub, each of the connected physical sensors and the one or more connected physical actuators that correspond respectively to one of the sensors or one of the actuators of the proposed IoT device;
automatically obtaining, by the sensor hub in real-time, a status of each registered connected physical sensor from the respective registered connected physical sensor;
automatically providing, by the sensor hub in real-time, a last-obtained status of each connected physical sensor to the prototyping system through the prototyping API on a routine, continuous or periodic basis;
automatically receiving, by the sensor hub from the prototyping system through the prototyping API, requested actions corresponding to functionality of the proposed IoT device specified in the prototype program; and
executing, by the sensor hub, each of the requested actions on a corresponding connected physical actuator, receiving a result of each executed action from the corresponding connected physical actuator and providing each received result to the prototyping system, each received result including an indication of whether each corresponding action succeeded or failed.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein the operations comprise:
registering, by the sensor hub, each of the connected physical sensors and the one or more connected physical actuators by providing a request through a registration API, wherein the sensor hub has a respective sensor module for each of one or more connected physical sensors, each sensor module being configured to implement a registration process for the connected physical sensor, and wherein the sensor hub has a respective actuator module for each connected physical actuator that is configured to implement the registration process for the connected physical actuator.

### Claim 15 (depends on 13)

The computer program product of claim 13, wherein the operations comprise obtaining, by the sensor hub, the status of each of the connected physical sensors by providing a request through a status API, wherein a corresponding sensor module for each connected physical sensor is configured to obtain the status from the connected physical sensor.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the operations comprise automatically publishing, by the sensor hub, obtained statuses of the plurality of connected physical sensors to the prototyping system without providing, by the prototyping system, a request for the statuses to the sensor hub.

### Claim 17 (depends on 13)

The computer program product of claim 13, wherein the operations comprise:
obtaining, by the sensor hub, requested actions from the prototyping system; and
providing, by the sensor hub, requests to execute each requested action of the obtained requested actions by providing a request through an actions API, wherein a corresponding actuator module for each connected physical actuator is configured to execute a requested action received through the actions API on a corresponding connected physical actuator.

### Claim 18 (depends on 13)

The computer program product of claim 13, wherein the operations comprise:
obtaining, by the sensor hub, the status of each of the connected physical sensors whenever an updated status is available.

### Claim 19 (depends on 7)

The method of claim 7, wherein the sensor hub uses one or more APIs to:
automatically obtain the status of each registered connected physical sensor from the respective registered connected physical sensor;
execute each of the requested actions on a corresponding connected physical actuator; and
receive the result of each executed action from the corresponding connected physical actuator.

### Claim 20 (depends on 7)

The method of claim 7, wherein initializing each of the connected physical sensors and the one or more connected physical actuators that correspond respectively to one of the sensors or one of the actuators of the proposed IoT device comprises initializing, by the sensor hub through a registration API, each of the connected physical sensors and the one or more connected physical actuators that correspond respectively to one of the sensors or one of the actuators of the proposed IoT device.
