IP Library Granted Patent US 10,944,638
Granted Patent B1
US 10,944,638 · App. 16/583,824 · Granted Mar 9, 2021

Internet of things device discovery and configuration

Inventors: Ravishankar Chamarajnager (Atlanta, GA); Keerthana Parthasarathy (Bangalore, IN); Him Kalyan Bordoloi (Bellevue, WA)
Assignee: VMWARE, INC.
H04L41/12H04L12/66H04L41/0843
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 10,944,638
App. No.
16/583,824
Granted
Mar 9, 2021
Kind
B1
Abstract

Disclosed are various examples for Internet of Things (IoT) device discovery and configuration. In some embodiments, an IoT template is generated based on IoT capabilities for an IoT type. An IoT device discovery command is transmitted from a management service to a gateway enrolled with the management service. The IoT device discovery command includes the IoT template and instructions for the respective gateway to transmit an IoT device discovery message using the IoT protocol. A list of IoT devices is received from the gateway. The list of IoT devices corresponds to the IoT protocol and the IoT type. An enrollment of an IoT device is performed. The enrollment includes transmitting an IoT device enrollment command that instructs the respective gateway to permit communication with the IoT device.

Claims (52)

1. A system, comprising:

at least one computing device comprising at least one processor; and

a data store comprising executable instructions for Internet-of-Things (IoT) device onboarding, wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

generate, by a management service, an IoT template based on IoT capabilities for an IoT type, wherein the IoT template comprises an IoT protocol, the IoT type, and IoT instructions for IoT devices of the IoT type;

transmit, from the management service to a respective gateway of a plurality of gateways enrolled with the management service, an IoT device discovery command comprising the IoT template, and instructions for the respective gateway to broadcast an IoT device discovery beacon message using the IoT protocol so that the IoT device discovery beacon message is available to IoT devices that connect to the respective gateway using the IoT protocol, wherein the IoT devices respond to the IoT device discovery beacon message by providing corresponding unique IoT device identifiers;

receive, from the respective gateway, a list of the IoT devices that correspond to the IoT protocol and the IoT type, wherein the list of the IoT devices includes the unique IoT device identifiers of the IoT devices, a respective unique device identifier comprising a manufacturer-assigned serial number or a unique device activation identifier generated by the management service; and

perform an enrollment of an IoT device, the enrollment comprising an IoT device enrollment command that instructs the respective gateway to permit communication with the IoT device.

2. The system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the at least one computing device to at least:

create an IoT discovery campaign for the plurality of gateways enrolled with the management service, wherein the IoT discovery campaign specifies the IoT protocol, and IoT protocol communication instructions that enable communications using the IoT protocol.

3. The system of claim 2 , wherein the instructions, when executed by the at least one processor, further cause the at least one computing device to at least:

transmit, to the respective gateway, a command to install the IoT protocol communication instructions on the respective gateway.

4. The system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the at least one computing device to at least:

transmit, from the management service to the respective gateway, an IoT type discovery command, the IoT type discovery command comprising instructions for the respective gateway to generate a list of IoT types corresponding to IoT devices connected to the respective gateway; and

receive, from the respective gateway, the list of IoT types.

5. The system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the at least one computing device to at least:

transmit, from the management service to the respective gateway, an IoT capability discovery command, the IoT capability discovery command comprising instructions for the respective gateway to generate a list of IoT capabilities for the IoT type; and

receive, from the respective gateway, the list of IoT capabilities for the IoT type.

6. The system of claim 5 , wherein the list of IoT capabilities is a verified list of IoT capabilities that are verified by the respective gateway to be successfully performed by the IoT devices of the IoT type.

7. The system of claim 1 , wherein the IoT instructions cause the IoT devices of the IoT type to perform an IoT capability according to a schedule.

8. A non-transitory computer-readable medium comprising executable instructions for Internet-of-Things (IoT) device onboarding, wherein the instructions, when executed by at least one processor, cause at least one computing device to at least:

generate, by a management service, an IoT template based on IoT capabilities for an IoT type, wherein the IoT template comprises an IoT protocol, the IoT type, and IoT instructions for IoT devices of the IoT type;

transmit, from the management service to a respective gateway of a plurality of gateways enrolled with the management service, an IoT device discovery command comprising the IoT template, and instructions for the respective gateway to broadcast an IoT device discovery beacon message using the IoT protocol so that the IoT device discovery beacon message is available to IoT devices that connect to the respective gateway using the IoT protocol, wherein the IoT devices respond to the IoT device discovery beacon message by providing corresponding unique IoT device identifiers;

receive, from the respective gateway, a list of the IoT devices that correspond to the IoT protocol and the IoT type, wherein the list of the IoT devices includes the unique IoT device identifiers of the IoT devices, a respective unique device identifier comprising a manufacturer-assigned serial number or a unique device activation identifier generated by the management service; and

perform an enrollment of an IoT device, the enrollment comprising an IoT device enrollment command that instructs the respective gateway to permit communication with the IoT device.

9. The non-transitory computer-readable medium of claim 8 , wherein the instructions, when executed by the at least one processor, further cause the at least one computing device to at least:

create an IoT discovery campaign for a plurality of gateway devices enrolled with the management service, wherein the IoT discovery campaign specifies the IoT protocol and IoT protocol communication instructions for the IoT protocol.

10. The non-transitory computer-readable medium of claim 9 , wherein the instructions, when executed by the at least one processor, further cause the at least one computing device to at least:

transmit, to the respective gateway, a command to install the IoT protocol communication instructions on the respective gateway.

11. The non-transitory computer-readable medium of claim 8 , wherein the instructions, when executed by the at least one processor, further cause the at least one computing device to at least:

transmit, from the management service to the respective gateway, an IoT type discovery command, the IoT type discovery command comprising instructions for the respective gateway to generate a list of IoT types corresponding to IoT devices connected to the respective gateway; and

receive, from the respective gateway, the list of IoT types.

12. The non-transitory computer-readable medium of claim 8 , wherein the instructions, when executed by the at least one processor, further cause the at least one computing device to at least:

transmit, from the management service to the respective gateway, an IoT capability discovery command, the IoT capability discovery command comprising instructions for the respective gateway to generate a list of IoT capabilities for the IoT type; and

receive, from the respective gateway, the list of IoT capabilities for the IoT type.

13. The non-transitory computer-readable medium of claim 12 , wherein the list of IoT capabilities is a verified list of IoT capabilities that are verified by the respective gateway to be successfully performed by the IoT devices of the IoT type.

14. The non-transitory computer-readable medium of claim 8 , wherein the IoT type comprises a vendor name and a model name.

15. A method performed by instructions executed by at least one computing device, the method comprising:

generating, by a management service, an IoT template based on IoT capabilities for an IoT type, wherein the IoT template comprises an IoT protocol, the IoT type, and IoT instructions for IoT devices of the IoT type;

transmitting, from the management service to a respective gateway of a plurality of gateways enrolled with the management service, an IoT device discovery command comprising the IoT template, and instructions for the respective gateway to broadcast an IoT device discovery beacon message using the IoT protocol so that the IoT device discovery beacon message is available to IoT devices that connect to the respective gateway using the IoT protocol, wherein the IoT devices respond to the IoT device discovery beacon message by providing corresponding unique IoT device identifiers;

receiving, from the respective gateway, a list of the IoT devices that correspond to the IoT protocol and the IoT type, wherein the list of the IoT devices includes the unique IoT device identifiers of the IoT devices, a respective unique IoT device identifier comprising a manufacturer-assigned serial number or a unique device activation identifier generated by the management service; and

performing an enrollment of an IoT device, the enrollment comprising an IoT device enrollment command that instructs the respective gateway to permit communication with the IoT device.

16. The method of claim 15 , further comprising:

creating an IoT discovery campaign for a plurality of gateway devices enrolled with the management service, wherein the IoT discovery campaign specifies the IoT protocol and IoT protocol communication instructions for the IoT protocol.

17. The method of claim 16 , further comprising:

transmitting, from the management service to the respective gateway, a command to install the IoT protocol communication instructions on the respective gateway.

18. The method of claim 15 , further comprising:

transmitting, from the management service to the respective gateway, an IoT type discovery command, the IoT type discovery command comprising instructions for the respective gateway to generate a list of IoT types corresponding to IoT devices connected to the respective gateway; and

receiving, from the respective gateway, the list of IoT types.

19. The method of claim 15 , further comprising:

transmitting, from the management service to the respective gateway, an IoT capability discovery command, the IoT capability discovery command comprising the instructions for the respective gateway to generate a list of IoT capabilities for the IoT type; and

receiving, from the respective gateway, the list of IoT capabilities for the IoT type.

20. The method of claim 15 , wherein the IoT type comprises a vendor name and a model name.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2021
From: CHAMARAJNAGER, RAVISHANKAR; PARTHASARATHY, KEERTHANA; BORDOLOI, HIM KALYAN
To: VMWARE, INC.
Reel/Frame 054886/0264 →
Cited By (5)
US 12,199,832 US 12,407,543 US 12,568,025 US 12,688,103 US 12,706,772