# US 10,455,452 B2 · System and method for flow control in an internet of things (IoT) system

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

- Number: US 10,455,452 B2
- Document ID: US10455452B2
- Status: Granted
- Kind: B2
- Application number: 14/967,870
- Filed: 2015-12-14
- Published: 2017-06-15
- Granted: 2019-10-22
- Earliest claimed: 2015-12-14
- Assignees: Afero, Inc.
- Applicants: Afero, Inc.
- Inventors: Joe Britt; Scott Zimmerman
- Web page: https://patentgrep.com/patent/US10455452B2

## CPC

- H04W 28/10: Flow control {between communication endpoints}
- H04W 28/0268: {using specific QoS parameters for wireless networks, e.g. QoS class identifier [QCI] or guaranteed bit rate [GBR] (negotiating SLA or negotiating QoS H04W28/24)}
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A system and method are described for performing flow control in an IoT system. For example, one embodiment of a system comprises: a plurality of IoT devices; an IoT hub to establish local wireless connections with the plurality of IoT devices to communicatively couple the plurality of IoT devices to an IoT service; the IoT hub to store flow control parameters for each of the plurality of IoT devices, the flow control parameters determined based on data communication requirements of each of the IoT devices and indicating one or more data communication thresholds for each of the IoT devices; the IoT hub to monitor data communication with each of the IoT devices to determine whether one of the IoT devices has reached a data communication threshold specified by the flow control parameters, wherein in response to a first IoT device reaching its data communication threshold, the IoT hub temporarily preventing communication between the first IoT device and the IoT service.

## Claims

### Claim 1

A system comprising:
a plurality of IoT devices;
an IoT hub to establish local wireless connections with the plurality of IoT devices to communicatively couple the plurality of IoT devices to an IoT service;
the IoT hub to store flow control parameters for each of the plurality of IoT devices, the flow control parameters determined based on data communication requirements of each of the IoT devices and indicating one or more data communication thresholds for each of the IoT devices;
the IoT hub to monitor data communication with each of the IoT devices to determine whether one of the IoT devices is malfunctioning and has reached a data communication threshold specified by the flow control parameters, wherein the flow control parameters are defined as a plurality of flow control classes each class associated with a device type and wherein each IoT device is to be associated with one of the flow control classes based on the device type associated with the IoT device, the flow control parameters associated with each of the IoT devices set an amount of bandwidth to each IoT device based on data requirements associated with the device type of each IoT device, wherein in response to a first IoT device reaching its data communication threshold, the IoT hub temporarily preventing communication between the first IoT device and the IoT service, wherein upon determining that the data communication threshold has been reached, the IoT hub to responsively to push a software update to the first IoT device, the software update to reduce data communication from the first IoT device to the IoT hub.

### Claim 2 (depends on 1)

The system as in claim 1 wherein the flow control parameters are to be transmitted to the IoT hub from the IoT service.

### Claim 3 (depends on 1)

The system as in claim 1 wherein the flow control classes and data associating each of the IoT devices with a flow control class are stored in an IoT device database on the IoT service.

### Claim 4 (depends on 1)

The system as in claim 1 wherein monitoring the data communication with each of the IoT devices comprises monitoring an amount of data being transmitted from each IoT device to the IoT service over a period of time and/or a number of times each IoT device communicates with the IoT service over a period of time.

### Claim 5 (depends on 1)

The system as in claim 1 wherein temporarily preventing comprises ignoring or dropping data transmissions from the IoT device.

### Claim 6 (depends on 5)

The system as in claim 5 wherein the IoT hub prevents communication with the IoT service for a specified duration and resumes communication after the specified duration.

### Claim 7 (depends on 1)

The system as in claim 1 wherein after installing the software update to the first IoT device, the IoT hub causes the first IoT device to be reset and initialized with the software update.

### Claim 8 (depends on 1)

The system as in claim 1 wherein the IoT hub is to permit certain specified types of data communication from the first IoT device notwithstanding the fact that the data communication threshold has been reached.

### Claim 9 (depends on 8)

The system as in claim 8 wherein the certain specified types of data communication comprise those which are associated with high priority attributes on the IoT device.

### Claim 10

A method comprising:
establishing local wireless connections between an IoT hub and a plurality of IoT devices to communicatively couple the plurality of IoT devices to an IoT service;
storing flow control parameters for each of the plurality of IoT devices on the IoT hub, the flow control parameters determined based on data communication requirements of each of the IoT devices and indicating one or more data communication thresholds for each of the IoT devices;
monitoring data communication with each of the IoT devices to determine whether one of the IoT devices is malfunctioning and has reached a data communication threshold specified by the flow control parameters, wherein the flow control parameters are defined as a plurality of flow control classes each class associated with a device type and wherein each IoT device is to be associated with one of the flow control classes based on the device type associated with the IoT device, the flow control parameters associated with each of the IoT devices set an amount of bandwidth to each IoT device based on data requirements associated with the device type of each IoT device, wherein in response to a first IoT device reaching its data communication threshold, temporarily preventing communication between the first IoT device and the IoT service, wherein upon determining that the data communication threshold has been reached, the IoT hub to responsively to push a software update to the first IoT device, the software update to reduce data communication from the first IoT device to the IoT hub.

### Claim 11 (depends on 10)

The method as in claim 10 wherein the flow control parameters are to be transmitted to the IoT hub from the IoT service.

### Claim 12 (depends on 10)

The method as in claim 10 wherein the flow control classes and data associating each of the IoT devices with a flow control class are stored in an IoT device database on the IoT service.

### Claim 13 (depends on 10)

The method as in claim 10 wherein monitoring the data communication with each of the IoT devices comprises monitoring an amount of data being transmitted from each IoT device to the IoT service over a period of time and/or a number of times each IoT device communicates with the IoT service over a period of time.

### Claim 14 (depends on 10)

The method as in claim 10 wherein temporarily preventing comprises ignoring or dropping data transmissions from the IoT device.

### Claim 15 (depends on 14)

The method as in claim 14 wherein the IoT hub prevents communication with the IoT service for a specified duration and resumes communication after the specified duration.

### Claim 16 (depends on 10)

The method as in claim 10 wherein after installing the software update to the first IoT device, the IoT hub causes the first IoT device to be reset and initialized with the software update.

### Claim 17 (depends on 10)

The method as in claim 10 wherein the IoT hub is to permit certain specified types of data communication from the first IoT device notwithstanding the fact that the data communication threshold has been reached.

### Claim 18 (depends on 17)

The method as in claim 17 wherein the certain specified types of data communication comprise those which are associated with high priority attributes on the IoT device.

### Claim 19

A machine-readable medium having program code stored thereon which, when executed by one or more machines, cause the machines to perform the operations of:
establish local wireless connections between an IoT hub and a plurality of IoT devices to communicatively couple the plurality of IoT devices to an IoT service;
storing flow control parameters for each of the plurality of IoT devices on the IoT hub, the flow control parameters determined based on data communication requirements of each of the IoT devices and indicating one or more data communication thresholds for each of the IoT devices;
monitoring data communication with each of the IoT devices to determine whether one of the IoT devices is malfunctioning and has reached a data communication threshold specified by the flow control parameters, wherein the flow control parameters are defined as a plurality of flow control classes each class associated with a device type and wherein each IoT device is to be associated with one of the flow control classes based on the device type associated with the IoT device, the flow control parameters associated with each of the IoT devices set an amount of bandwidth to each IoT device based on data requirements associated with the device type of each IoT device, wherein in response to a first IoT device reaching its data communication threshold, temporarily preventing communication between the first IoT device and the IoT service, wherein upon determining that the data communication threshold has been reached, the IoT hub to responsively to push a software update to the first IoT device, the software update to reduce data communication from the first IoT device to the IoT hub.
