IP Library › Granted Patent US 11,838,185
Granted Patent B2
US 11,838,185 · App. 17/408,100 · Granted Dec 5, 2023

Bulk device processing systems and methods

Inventors: Richard A. Boone, Jr. (Alpharetta, GA); Sanjay Srivastava (Redmond, WA)
Assignee: Simetric, Inc.
H04L41/14G06F9/4881G06F9/52G06F11/3006G06F11/328H04L51/224H04M15/80H04W4/24G16Y20/10
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,838,185
App. No.
17/408,100
Granted
Dec 5, 2023
Kind
B2
Abstract

Example bulk device processing systems and methods are described. In one implementation, techniques receive a plurality of application programming interface (API) requests, where each of the plurality of API requests is associated with a particular device. The techniques further sort the plurality of API requests based on an associated carrier. The techniques also create a first batch of API calls associated with devices using a first carrier and create a second batch of API calls associated with devices using a second carrier. The techniques then create multiple threads for parallel execution of the first batch of API calls and the second batch of API calls, and automatically execute the API calls associated with the plurality of threads.

Claims (47)

1. A method comprising:

receiving, from a plurality of devices, usage data by plurality of devices on plurality of carriers, the usage data being for usage of a plurality of different types of service including voice, internet of things (IoT), data, video, and text;

normalizing the usage data to be agnostic of carrier and type of service;

determining a rate plan change based on the usage data including moving devices of the plurality of devices among the plurality of carriers;

generating a plurality of application programming interface (API) requests implementing the rate plan change, wherein each of the plurality of API requests is associated with a particular device of the plurality of devices;

sorting the plurality of API requests based on an associated carrier;

creating a first batch of API calls associated with devices using a first carrier;

creating a second batch of API calls associated with devices using a second carrier;

creating a plurality of threads for parallel execution of the first batch of API calls and the second batch of API calls; and

automatically executing the first and second batches of API calls associated with the plurality of threads.

2. The method of claim 1 , further comprising confirming each of the plurality of API requests based on carrier API rules.

3. The method of claim 2 , wherein the carrier API rules include at least one of throttling rules, concurrent call rules, batch size rules, or wait time rules.

4. The method of claim 1 , further comprising displaying a status of the plurality of API requests, wherein the displayed status includes statuses of the first and second batches of API calls and individual devices.

5. A system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing instructions executable by the one or more processors, wherein the instructions, when executed, cause the system to perform operations comprising:

receiving, from a plurality of devices, usage data by plurality of devices on plurality of carriers, the usage data being for usage of a plurality of different types of service including voice, internet of things (IoT), data, video, and text;

normalizing the usage data to be agnostic of carrier and type of service;

determining a rate plan change based on the usage data including moving devices of the plurality of devices among the plurality of carriers;

generating a plurality of application programming interface (API) requests implementing the rate plan change, wherein each of the plurality of API requests is associated with a particular device of the plurality of devices;

sorting the plurality of API requests based on an associated carrier;

creating a first batch of API calls associated with devices using a first carrier;

creating a second batch of API calls associated with devices using a second carrier;

creating a plurality of threads for parallel execution of the first batch of API calls and the second batch of API calls; and

automatically executing the first and second batches of API calls associated with the plurality of threads.

6. The system of claim 5 , wherein the system is configured to operate with any carrier and any carrier platform.

7. The system of claim 5 , wherein automatically executing the first and second batches of API calls associated with the plurality of threads is based on at least one business rule.

8. The system of claim 5 , wherein the particular device is an Internet of Things (IoT) device.

9. The system of claim 5 , the operations further comprising confirming each of the plurality of API requests based on carrier API rules.

10. The system of claim 9 , wherein the carrier API rules include at least one of throttling rules, concurrent call rules, batch size rules, or wait time rules.

11. The system of claim 5 , wherein sorting the plurality of API requests is further based on a carrier platform.

12. The system of claim 5 , the operations further comprising re-executing API calls that were not successfully executed.

13. The system of claim 5 , the operations further comprising consolidating all responses associated with executing the plurality of API requests.

14. The system of claim 13 , the operations further comprising updating a data display containing information associated with executing the plurality of API requests.

15. The system of claim 5 , the operations further comprising displaying a status of the plurality of API requests, wherein the displayed status includes batches of API calls and individual devices.

16. The system of claim 5 , the operations further comprising providing notification of results of executing the first batch of API calls and the results of executing the second batch of API calls.

17. The system of claim 16 , the operations further comprising providing notification to at least one system and at least one user.

18. One or more non-transitory computer-readable media storing instructions that, when executed, cause one or more processors to perform operations comprising:

receiving, from a plurality of devices, usage data by plurality of devices on plurality of carriers, the usage data being for usage of a plurality of different types of service including voice, internet of things (IoT), data, video, and text normalizing the usage data to be agnostic of carrier and type of service;

determining a rate plan change based on the usage data including moving devices of the plurality of devices among the plurality of carriers;

generating a plurality of application programming interface (API) requests implementing the rate plane change, wherein each of the plurality of API requests is associated with a particular device of the plurality of devices;

sorting the plurality of API requests based on an associated carrier;

creating a first batch of API calls associated with devices using a first carrier;

creating a second batch of API calls associated with devices using a second carrier;

creating a plurality of threads for parallel execution of the first batch of API calls and the second batch of API calls; and

automatically executing the first and second batches of API calls associated with the plurality of threads.

19. The one or more non-transitory computer-readable media of claim 18 , the operations further comprising displaying a status of the plurality of API requests, wherein the displayed status includes first and second batches of API calls and individual devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2021
From: BOONE, JR, RICHARD A.; SRIVASTAVA, SANJAY
To: SIMETRIC, INC.
Reel/Frame 057244/0645 →
Continuity (2)
Provisional Application 63068334 · Aug 20, 2020
Related Publication 20220058101A1 · Feb 24, 2022