IP Library Granted Patent US 11,218,422
Granted Patent B2
US 11,218,422 · App. 16/729,348 · Granted Jan 4, 2022

System and method of traffic-based classification of IoT devices and dynamic allocation of link resources to IoT devices

Inventors: Satyajit Roy (Gaithersburg, MD); John D Kenyon (Gaithersburg, MD); Amit Arora (Clarksburg, MD)
Assignee: Hughes Network Systems, LLC
H04L47/805H04L41/16H04L47/2425H04L47/2441H04L47/6255H04L67/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 11,218,422
App. No.
16/729,348
Granted
Jan 4, 2022
Kind
B2
Abstract

Systems and method are disclosed and among these is a method for fingerprint based detection of Internet of Things (IoT) devices and classification of IoT device type, and corresponding adaptive allocation of link resources, with monitoring of traffic for flow data, detecting IoT devices and classifying the IoT device types, via machine learning classifiers, real time assigning IoT device type based quality of service (QoS) for IoT device traffic, and corresponding IoT device type based, real time allocating of resources to the link. Optionally, machine classifiers can be centrally instantiated, distributed to what can be large populations of user IoT Internet access terminals, and retrained by same, centrally merged or combined, and then redistributed.

Claims (96)

1. A system for fingerprint based detection and classification of Intent of Things (IoT) device type, and adaptive allocation and access priority to link bandwidth, comprising

a processor; and

a memory, coupled to the processor, storing executable instructions that, when executed by the processor, cause the processor to:

monitor a link traffic and generate a corresponding feature data,

classify the device, based at least in part on applying a machine learning classifier to at least a portion of the feature data, between being and not being an IoT device of a particular IoT device type; and:

assign an IoT device type-specific quality of service (QoS) for carrying a traffic associated with the IoT device of the particular IoT device type, and

allocate, for traffic associated with the IoT device of the particular IoT device type, resources of the link in accordance with the assigned IoT device type-specific QoS;

wherein to classify the device between being and not being an IoT device of the particular IoT device type includes to:

apply the feature data to a first classifier that is configured to classify the device between being an IoT device and being a non-IoT device and,

apply, to a second classifier, an input that is based at least in part on the feature data of the IoT device, the second classifier being configured to classify the IoT device between being and not being the particular IoT device type.

2. The system of claim 1 , wherein the instructions further include instructions that when executed by the processor cause the processor to at least partially train the machine learning classifier.

3. The system of claim 1 , wherein:

the particular IoT device type is an IoT first device type,

the QoS is a first QoS,

the second classifier is further configured to classify the IoT device into one among a plurality of classes, the plurality of classes including an IoT first device type class, an IoT second device type class, and an IoT device null class that includes neither the IoT first device type nor the IoT second device type, and

the executable instructions further include instructions that, when executed by the processor, cause the processor to assign a second QoS for carrying a traffic associated with the IoT device of the second device type class.

4. The system of claim 3 , wherein the first QoS includes a guaranteed first bandwidth and the second QoS includes a guaranteed second bandwidth, the guaranteed second bandwidth being greater than a threshold, and the guaranteed first bandwidth being not greater than the threshold, and wherein system further includes:

a first modem and a second modem, the first modem having a first bandwidth and the second modem having a second bandwidth, the second bandwidth being greater than the first bandwidth,

a hub, configured to wirelessly connect to an IoT device, and to carry an IoT traffic between the IoT device and a selectable one among the first modem and second modem,

wherein the executable instructions further include instructions that, when executed by the processor, cause the processor to:

select the first modem in association with the second classifier classifying the IoT device into the IoT first device type class, and

select the second modem in association with the second classifier classifying the IoT device into the IoT second device type class.

5. The system of claim 3 , wherein:

the first QoS includes a first maximum delay guarantee,

the second QoS includes a second maximum delay guarantee, the second maximum delay guarantee being different than the first maximum delay guarantee,

to carry traffic for the IoT device in accordance with the first QoS includes to queue, in a queue, packets of the traffic associated with the IoT device and deque from the queue, according to a first priority, packets of the traffic associated with the IoT device,

to carrying traffic for the IoT device in accordance with the second QoS includes to queue, in the queue, packets of the traffic associated with the IoT device, and deque from the queue, according to a second priority, packets of the traffic associated with the IoT device, and

based at least in part on the first maximum delay guarantee being greater than the second maximum delay guarantee, the second priority is greater than the first priority.

6. The system of claim 5 , wherein:

the queue includes a plurality of queues,

to carry traffic for the IoT device in accordance with the first QoS further includes to:

queue, in a first queue among the plurality of queues, packets of the traffic associated with the IoT device, and

deque, from the first queue, packets of the traffic associated with the IoT device, and

to carry traffic for the IoT device in accordance with the second QoS further includes to:

queue, in a second queue among the plurality of queues, packets of the traffic associated with the IoT device, and

deque, from the second queue, packets of the traffic associated with IoT device.

7. The system of claim 6 , wherein the executable instructions further include instructions that, when executed by the processor, cause the processor to:

monitor a queue fill state, indicative of a fill state of the first queue, a fill state of the second queue, or both; and

based at least in part on the queue fill state, indicated fill state, send a request for assignment of additional inroute capacity for carrying the traffic associated with the IoT device.

8. The system of claim 1 , wherein the executable instructions further include instructions that, when executed by the processor, cause the processor to:

receive a baseline classifier model,

store the baseline classifier model in a memory, and

apply the stored baseline classifier model as the machine learning classifier.

9. The system of claim 8 , wherein the executable instructions further include instructions that, when executed by the processor, cause the processor to:

generate a retrained baseline classifier model, based at least in part on applying a retraining to the stored baseline classifier;

upload the retrained baseline classifier model to a server; and

subsequent to the upload, to:

receive an updated baseline classifier model, and

set the stored baseline classifier model according to the received updated baseline classifier model.

10. A method for fingerprint based detection of an Internet of Things (IoT) device, classification of IoT device type, and corresponding allocation of link resources, comprising

monitoring, in association with a link, a traffic of a device and generating a corresponding feature data;

classifying the device, based at least in part on applying a machine learning classifier to at least a portion of the feature data, between being and not being an IoT device of a particular IoT device type;

assigning an IoT device type-specific quality of service (QoS) for carrying a traffic associated with the IoT device of the particular IoT device type, and

allocating, for traffic associated with the IoT device of the particular IoT device type, resources of the link in accordance with the assigned IoT device type-specific QoS;

wherein classifying the device between being and not being an IoT device of the particular IoT device type includes:

applying the feature data to a first classifier that is configured to classify the device between being an IoT device and being a non-IoT device and,

applying, to a second classifier, an input that is based at least in part on the feature data of the IoT device of the particular IoT device type, the second classifier being configured to classify the IoT device between being and not being the particular IoT device type.

11. The method of claim 10 , wherein the method further includes:

receiving a baseline classifier model,

storing the baseline classifier model in a memory, and

applying the stored baseline classifier model as the machine learning classifier.

12. The method of claim 11 , wherein the method further includes:

generating a retrained baseline classifier model, based at least in part on applying a retraining of the stored baseline classifier;

uploading the retrained baseline classifier model to a server; and,

subsequent to the upload,

receiving an updated baseline classifier model, and

setting the stored baseline classifier model according to the received updated baseline classifier model.

13. The method of claim 10 , wherein:

the particular IoT device type is an IoT first device type,

the QoS is a first QoS,

the second classifier is further configured to classify the IoT device into one among a plurality of classes, the plurality of classes including an IoT first device type class, an IoT second device type class, and an IoT device null class that includes neither the IoT first device type nor the IoT second device type, and

assigning a second QoS for carrying traffic associated with the IoT device of the particular IoT device type.

14. The method of claim 13 , wherein the first QoS includes a guaranteed first bandwidth and the second QoS includes a guaranteed second bandwidth, the guaranteed second bandwidth being greater than a threshold, and the guaranteed first bandwidth being not greater than the threshold, and wherein method further includes:

selecting, as a modem, between a first modem and a second modem, the first modem having a first bandwidth and the second modem having a second bandwidth, the second bandwidth being greater than the first bandwidth,

transmitting at least a portion of traffic flow through the selected modem,

wherein the selecting is configured to

select the first modem in association with the second classifier classifying the IoT device into the IoT first device type class, and

select the second modem in association with the second classifier classifying the IoT device into the IoT second device type class.

15. The method of claim 13 , wherein:

the first QoS includes a first maximum delay guarantee,

the second QoS includes a second maximum delay guarantee, the second maximum delay guarantee being different than the first maximum delay guarantee,

carrying traffic for the IoT device in accordance with the first QoS includes queuing, in a queue, packets of the traffic associated with the IoT device and dequeuing from the queue, according to a first priority, packets of the traffic associated with the IoT device,

carrying traffic for the IoT device in accordance with the second QoS includes queuing, in the queue, packets of the traffic associated with the IoT device, and dequeuing from the queue, according to a second priority, packets of the traffic associated with the IoT device, and

based at least in part on the first maximum delay guarantee being greater than the second maximum delay guarantee, the second priority is greater than the first priority.

16. The method of claim 15 , wherein:

the queue includes a plurality of queues,

carrying traffic for the IoT device in accordance with the first QoS further includes:

queuing, in a first queue among the plurality of queues, packets of the traffic associated with the IoT device, and

dequeuing, from the first queue, packets of the traffic associated with the IoT device, and

carrying traffic for the IoT device in accordance with the second QoS further includes:

queuing, in a second queue among the plurality of queues, packets of the traffic associated with the IoT device, and

dequeuing, from the second queue, packets of the traffic associated with IoT device.

17. The method of claim 16 , wherein the method further includes:

monitoring a queue fill state, indicative of a fill state of the first queue, a fill state of the second queue, or both; and

based at least in part on the queue fill state, sending a request for assignment of additional inroute capacity for carrying the traffic associated with the IoT device.

18. The method of claim 10 , wherein the method further includes at least partially training the machine learning classifier.

Assignments (4)
SECURITY INTEREST Recorded May 12, 2022
From: HUGHES NETWORK SYSTEMS, LLC
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 059987/0168 →
SECURITY INTEREST Recorded Feb 13, 2020
From: HUGHES NETWORK SYSTEMS LLC
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 051812/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2019
From: ARORA, AMIT
To: HUGHES NETWORK SYSTEMS, LLC
Reel/Frame 051386/0255 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2019
From: ROY, SATYAJIT; KENYON, JOHN D
To: HUGHES NETWORK SYSTEMS LLC
Reel/Frame 051382/0283 →