IP Library Granted Patent US 12,082,272
Granted Patent B2
US 12,082,272 · App. 18/206,589 · Granted Sep 3, 2024

Modularized control system to enable IOT wireless network control and sensing of other devices

Inventor: Hugo Fiennes (Palo Alto, CA)
Assignee: KORE Wireless Group, Inc.
H04W76/10G06F21/53H04L41/0806H04L41/12H04L63/00H04L67/10H04L67/12H04W4/70H04W12/086H04W84/12
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 12,082,272
App. No.
18/206,589
Granted
Sep 3, 2024
Kind
B2
Abstract

Internet of Things (IoT) system and method of interfacing arbitrary non-network connected devices to wireless computer networks. The invention provides a configurable wireless communications module, in either fixed or removable formats, with wireless (e.g. WiFi) network connectivity. The invention uses at least one internal processor, which is configured to operate as a sandbox or virtual machine manner to isolate the code used to operate the arbitrary non-network connected device from the code used to operate the communications module.

Claims (56)

1. A method comprising:

detecting, by one or more processors, light pulses that represent network setup information and a device identifier;

establishing, by the one or more processors, a network connection based on the network setup information represented by the light pulses;

providing, by the one or more processors, the device identifier to a server via the network connection; and

obtaining, by the one or more processors, program code identified by the server based on the device identifier represented by the detected light pulses.

2. The method of claim 1 , wherein:

the network setup information represented by the light pulses includes network configuration data; and

the establishing of the network connection is based on the network configuration data included in the network setup information represented by the light pulses.

3. The method of claim 1 , wherein:

the device identifier represented by the light pulses includes a software token that identifies hardware of a device to which the program code is to be provided.

4. The method of claim 1 , further comprising:

executing the program code, identified based on the device identifier represented by the light pulses, on a virtual machine operating within a device and isolated from other code executing on the device.

5. The method of claim 1 , further comprising:

executing the program code, identified based on the device identifier represented by the light pulses, in a sandbox execution environment within a device and distinct from a further execution environment within the device.

6. The method of claim 1 , further comprising:

controlling a device by executing the program code identified based on the device identifier represented by the light pulses.

7. The method of claim 1 , further comprising:

obtaining an update to the program code identified based on the device identifier represented by the light pulses; and

installing the obtained update to the program code identified based on the device identifier represented by the light pulses.

8. A system comprising:

one or more processors; and

a memory comprising instructions that, when executed by the one or more processors, cause the system to perform operations comprising:

detecting light pulses that represent network setup information and a device identifier;

establishing a network connection based on the network setup information represented by the light pulses;

providing the device identifier to a server via the network connection; and

obtaining program code identified by the server based on the device identifier represented by the detected light pulses.

9. The system of claim 8 , wherein:

the network setup information represented by the light pulses includes network configuration data; and

the establishing of the network connection is based on the network configuration data included in the network setup information represented by the light pulses.

10. The system of claim 8 , wherein:

the device identifier represented by the light pulses includes a software token that identifies hardware of a device to which the program code is to be provided.

11. The system of claim 8 , wherein the operations further comprise:

executing the program code, identified based on the device identifier represented by the light pulses, on a virtual machine operating within a device and isolated from other code executing on the device.

12. The system of claim 8 , wherein the operations further comprise:

executing the program code, identified based on the device identifier represented by the light pulses, in a sandbox execution environment within a device and distinct from a further execution environment within the device.

13. The system of claim 8 , wherein the operations further comprise:

controlling a device by executing the program code identified based on the device identifier represented by the light pulses.

14. The system of claim 8 , wherein the operations further comprise:

obtaining an update to the program code identified based on the device identifier represented by the light pulses; and

installing the obtained update to the program code identified based on the device identifier represented by the light pulses.

15. A non-transitory machine-readable medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:

detecting light pulses that represent network setup information and a device identifier;

establishing a network connection based on the network setup information represented by the light pulses;

providing the device identifier to a server via the network connection; and

obtaining program code identified by the server based on the device identifier represented by the detected light pulses.

16. The non-transitory machine-readable medium of claim 15 , wherein:

the network setup information represented by the light pulses includes network configuration data; and

the establishing of the network connection is based on the network configuration data included in the network setup information represented by the light pulses.

17. The non-transitory machine-readable medium of claim 15 , wherein:

the device identifier represented by the light pulses includes a software token that identifies hardware of a device to which the program code is to be provided.

18. The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

executing the program code, identified based on the device identifier represented by the light pulses, on a virtual machine operating within a device and isolated from other code executing on the device.

19. The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

executing the program code, identified based on the device identifier represented by the light pulses, in a sandbox execution environment within a device and distinct from a further execution environment within the device.

20. The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

controlling a device by executing the program code identified based on the device identifier represented by the light pulses.

Assignments (4)
SECURITY INTEREST Recorded Jul 22, 2026
From: KORE WIRLESS GROUP INC.; KORE WIRELESS INC.
To: WHITEHORSE CAPITAL ORIGINATION, LLC
Reel/Frame 075362/0959 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2023
From: FIENNES, HUGO
To: ELECTRIC IMP INCORPORATED
Reel/Frame 064921/0622 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2023
From: ELECTRIC IMP INCORPORATED
To: TWILIO INC.
Reel/Frame 064921/0703 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2023
From: TWILIO INC.
To: KORE WIRELESS GROUP, INC.
Reel/Frame 064921/0939 →
Continuity (11)
Continuation 17305626 · Jul 12, 2021
Continuation 16845240 · Apr 10, 2020
Continuation 15970084 · May 3, 2018
Continuation 15219180 · Jul 25, 2016
Continuation In Part 14659352 · Mar 16, 2015
Continuation In Part 13734976 · Jan 5, 2013
Continuation In Part 13481737 · May 25, 2012
Provisional Application 61647476 · May 15, 2012
Provisional Application 61583299 · Jan 5, 2012
Provisional Application 61490498 · May 26, 2011
Related Publication 20230422318A1 · Dec 28, 2023