IP Library Granted Patent US 10,652,016
Granted Patent B2
US 10,652,016 · App. 16/560,732 · Granted May 12, 2020

Methods, apparatus, and systems for controlling internet-connected devices having embedded systems with dedicated functions

Inventors: Gregory J. Falco (Los Altos, CA); Caleb Li (Edmond, OK); Pavel Fedorov (Seattle, WA); Carlos Caldera (Waltham, MA); Kelly Jackson (San Francisco, CA); Rahul Arora (Seattle, WA)
Assignee: NeuroMesh, Inc.
H04L9/0844G06F3/08G06F16/125G06F21/56G06F21/568G06F21/6218G06Q20/3678H04L9/30H04L63/0884H04L67/10H04L2209/38H04L2209/56
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,652,016
App. No.
16/560,732
Granted
May 12, 2020
Kind
B2
Abstract

Systems, apparatus, and methods are disclosed for controlling internet-connected devices having embedded systems with dedicated functions. A lightweight software that protects the internet-connected devices from security breaches and security threat is installed on the internet-connected devices. The lightweight software sends network traffic data to a management server via one or more rendezvous servers. The management server analyzes the network traffic data and generates a security update. The security update is posted on a blockchain. The lightweight software obtains the security update in the form of a blockchain transaction.

Claims (42)

1. A method for controlling a plurality of Internet-coupled device nodes ( 310 a , 310 b ), the method comprising:

A) conducting first blockchain transactions from a first blockchain wallet having a first address to a second blockchain wallet having a second address, wherein:

the first blockchain transactions include the second address and at least one first node command and/or at least one first node parameter for at least a first device node ( 310 a ) of the plurality of Internet-coupled device nodes;

the first blockchain transactions are posted to a first blockchain ( 330 a );

B) conducting second blockchain transactions from the second blockchain wallet to the first blockchain wallet, wherein:

the second blockchain transactions include the first address and at least one second node command and/or at least one second node parameter for the at least one first device node ( 310 a ) or at least one second device node of the plurality of Internet-coupled device nodes; and

the second blockchain transactions are posted to the first blockchain;

C) transmitting first device node data from the first device node to at least three rendezvous servers using an encryption protocol;

D) periodically updating a public-private key pair used by the first device node in C) to transmit the first device node data to the at least three rendezvous servers; and

E) querying each of the at least three rendezvous servers for the first device node data;

F) determining that a majority of the at least three rendezvous servers has the same node data; and

G) uploading a copy of the first device node data to at least one first management server based upon the determination that a majority of the at least three rendezvous servers has the same first node data.

2. The method of claim 1 , wherein:

the first device node ( 310 a ) constitutes an embedded system with at least one dedicated function and comprises:

a memory ( 210 ) storing an operating system ( 422 b ), dedicated function firmware ( 424 b ), and device management firmware ( 426 );

a processor ( 220 ) coupled to the memory to execute the dedicated function firmware and the device management firmware via the operating system, wherein upon execution of the dedicated function firmware, the processor controls the first device node to perform the at least one dedicated function; and

a communication interface ( 230 ), communicatively coupled to the processor and the Internet, to facilitate Internet communications between the first device node and the Internet,

wherein the method further comprises:

controlling the communication interface to receive, via the Internet, the at least one first node command and/or the at least one first node parameter for at least the first device node included in at least one of the first blockchain transactions; and

implementing at least one device management process to control the first device node based at least in part on the at least one first node command and/or the at least one first node parameter.

3. The method of claim 2 , wherein:

the at least one first node command and/or the at least one first node parameter included in the at least one of the first blockchain transactions constitutes at least one security update for the first device node;

the at least one device management process performed by the first device node includes at least one device security process; and

the method further comprises:

controlling the communication interface to receive, via the Internet, the at least one security update for the first device node included in the at least one of the first blockchain transactions; and

implementing the at least one device security process to control the first device node based at least in part on the received at least one security update.

4. The method of claim 2 , wherein the at least one first node command and/or the at least one first node parameter included in the at least one of the first blockchain transactions includes at least one of:

at least one whitelisted IP address from which the first device node accepts the Internet communications from the Internet;

at least one blacklisted IP address from which the first device node does not accept the Internet communications from the Internet;

an identifier for a whitelisted process that is permitted to be executed as part of execution by the processor of the dedicated function firmware; and

a regular expression string corresponding to a malware signature.

5. The method of claim 2 , wherein:

the communication interface of the first device node includes a plurality of ports having respective port identifiers; and

the at least one first node command and/or the at least one first node parameter includes at least one port identifier of at least one port of the plurality of ports for which communications between the first device node and the Internet are blocked.

6. The method of claim 1 , wherein the first device node data transmitted in C) includes network traffic data relating to Internet communications received and/or transmitted by the communication interface of the first device node.

7. The method of claim 6 , wherein C) further comprises:

intercepting and analyzing IP packets of Internet communications received by the first device node;

generating an IP packet log based at least on respective headers of the intercepted and analyzed IP packets;

transmitting the IP packet log as network traffic data included in the first device node data from the first device node to the at least three rendezvous servers.

8. The method of claim 7 , wherein E) comprises:

hashing the network traffic data in the IP packet log; and

uploading the hashed network traffic data to the at least one first management server as the copy of the first device node data when the majority of the at least three rendezvous servers has the same first node data.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2025
From: CIRCLE INTERNET FINANCIAL, LLC
To: CIRCLE INTERNET GROUP, INC.
Reel/Frame 072774/0580 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2024
From: META PLATFORMS, INC.
To: CIRCLE INTERNET FINANCIAL, LLC
Reel/Frame 067654/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2022
From: NEUROMESH, INC.
To: FACEBOOK, INC.
Reel/Frame 058808/0044 →
CHANGE OF NAME Recorded Jan 28, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058901/0180 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2019
From: FALCO, GREGORY J.; LI, CALEB; FEDOROV, PAVEL; CALDERA, CARLOS; JACKSON, KELLY; ARORA, RAHUL
To: NEUROMESH, INC.
Reel/Frame 050268/0921 →
Continuity (7)
Continuation PCTUS2018030255 · Apr 30, 2018
Provisional Application 62543768 · Aug 10, 2017
Provisional Application 62524597 · Jun 25, 2017
Provisional Application 62517225 · Jun 9, 2017
Provisional Application 62515490 · Jun 5, 2017
Provisional Application 62491902 · Apr 28, 2017
Related Publication 20200014531A1 · Jan 9, 2020