IP Library Granted Patent US 9,461,976
Granted Patent B1
US 9,461,976 · App. 14/717,754 · Granted Oct 4, 2016

Goal-driven provisioning in IoT systems

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,461,976
App. No.
14/717,754
Granted
Oct 4, 2016
Kind
B1
Abstract

Techniques are disclosed for provisioning Internet of Things (IoT) devices in accordance with a state machine model. More particularly, collections of IoT devices may be organized into enclaves, groups or “shoals” that operate as autonomous or semi-autonomous groups of devices functioning as a collective having a common objective or mission. IoT devices participating in a shoal may be provisioned with shoal-specific context information as part of their device-specific provisioning activity. By way of example, a shoal context object can include a current state variable and a target next state variable. The shoal's target next state variable establishes a goal (e.g., for provisioning activity) without dictating how the individual shoal members (IoT device) are to achieve that goal. This mechanism may be used to drive a shoal's separate devices through their individual provisioning state machines until the shoal itself is made operational.

Claims (42)

1. An Internet of Things (IoT) device, comprising:

device hardware configured to function in accordance with a type of device; IoT hardware including:

a network communication circuit configured to connect to a network communication medium,

memory communicatively coupled to the network communication circuit, and

a processor operatively coupled to the device hardware, the network communication circuit and the memory, the memory storing instructions that when executed cause the processor to:

employ a provisioning state machine corresponding to the type of device and IoT hardware, wherein the provisioning state machine includes a plurality of states, the final state being an operational state,

establish a shoal-specific state information in the memory in accordance with the provisioning state machine,

establish an IoT device-specific state information in the memory in accordance with the provisioning state machine,

establish communication through the network communication circuit with one or more additional IoT devices, wherein the IoT device and each of the one or more additional IoT devices belong to a shoal of IoT devices,

determine, based on the established communication, a state of the shoal and record same in the shoal-specific state information,

determine a state of the IoT device and record same in the IoT device-specific state information, and

sequence through the plurality of states based on a combination of the shoal state and the IoT device state until the IoT device and the one or more additional IoT devices are in the operational state, wherein updated shoal state is received from at least one of the one or more additional IoT devices through the network communication circuit and recorded in the shoal-specific state information.

2. The Internet of Things (IoT) device in accordance with claim 1 , wherein the type of device comprises a pump controller.

3. The Internet of Things (IoT) device in accordance with claim 1 , wherein the network communication medium comprises a wireless network communication medium.

4. The Internet of Things (IoT) device in accordance with claim 1 , wherein the IoT hardware further includes a cryptographic element communicatively coupled to the processor.

5. The Internet of Things (IoT) device in accordance with claim 4 , further comprising instructions stored in the memory that, when executed, cause the processor to use the cryptographic element to establish secure communication with the one or more additional IoT devices.

6. The Internet of Things (IoT) device in accordance with claim 1 , wherein the instructions to cause the processor to sequence through the plurality of states comprise instructions to cause the processor to use a mismatch between the shoal state and the IoT device state to initiate action to move to a new state in accordance with the provisioning state machine.

7. The Internet of Things (IoT) device in accordance with claim 1 , wherein each state in the provisioning state machine has actions associated with provisioning the IoT device.

8. An Internet of Things (IoT) operational method, comprising:

loading an IoT device with a provisioning state machine control software, wherein the provisioning state machine control software corresponds to the type of IoT device and includes a plurality of states, the final state being an operational state;

establishing a shoal-specific state information and a device-specific state information in a memory of the IoT device in accordance with the provisioning state machine;

establishing communication through a network communication circuit of the IoT device with one or more additional IoT devices, wherein the IoT device and each of the one or more additional IoT devices belong to a shoal of IoT devices;

determining, based on the established communication, a state of the shoal and recording the same in the shoal-specific state information;

determining a state of the IoT device and recording the same in the IoT device-specific state information; and

sequencing through the plurality of states based on a combination of the shoal state and the IoT device state until the IoT device and the one or more additional IoT devices are in the operational state, wherein updated shoal state is received from at least one of the one or more additional IoT devices through the network communication circuit and recorded in the shoal-specific state information.

9. The Internet of Things (IoT) operational method in accordance with claim 8 , wherein the type of device comprises a health monitoring system device.

10. The Internet of Things (IoT) operational method in accordance with claim 8 , wherein the network communication medium comprises a wireless network communication medium.

11. The Internet of Things (IoT) operational method in accordance with claim 8 further comprising using a cryptographic element of the IoT device to establish secure communication with at least one of the one or more additional IoT devices.

12. The Internet of Things (IoT) operational method in accordance with claim 8 , wherein sequencing through the plurality of states comprises using a mismatch between the shoal state and the IoT device state to initiate action to move to a new state in accordance with the provisioning state machine.

13. The Internet of Things (IoT) operational method in accordance with claim 8 , wherein each state in the provisioning state machine has actions associated with provisioning the IoT device.

14. A program storage device comprising instructions stored thereon to cause one or more processors in an Internet of Things (IoT) device to:

activate a provisioning state machine corresponding to the IoT device's type, wherein the provisioning state machine includes a plurality of states, the final state being an operational state;

establish a shoal-specific state information in a memory of the IoT device in accordance with the provisioning state machine;

establish an IoT device-specific state information in the memory in accordance with the provisioning state machine;

establish communication through a network communication circuit with one or more additional IoT devices, wherein the IoT device and each of the one or more additional IoT devices belong to a shoal of IoT devices;

determine, based on the established communication, a state of the shoal and record the same in the shoal-specific state information;

determine a state of the IoT device and record the same in the IoT device-specific state information; and

sequence through the plurality of states based on a combination of the shoal state and the IoT device state until the IoT device is in the operational state, wherein updated shoal state is received from at least one of the one or more additional IoT devices through the network communication circuit and recorded in the shoal-specific state information.

15. The program storage device in accordance with claim 14 , wherein the instructions to establish communication through a network communication circuit comprise instructions to establish communication through a wireless network communication circuit.

16. The program storage device in accordance with claim 14 , wherein the instructions to establish communication through a network communication circuit comprise instructions to establish secure communication through a network communication circuit using a cryptographic element of the IoT device.

17. The program storage device in accordance with claim 14 , wherein the instructions to cause the processor to sequence through the plurality of states comprise instructions to cause the processor to use a mismatch between the shoal state and the IoT device state to initiate action to move to a new state in accordance with the provisioning state machine.

18. The program storage device in accordance with claim 14 , wherein each state in the provisioning state machine has actions associated with provisioning the IoT device.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →