IP Library Granted Patent US 12,373,767
Granted Patent B2
US 12,373,767 · App. 18/634,176 · Granted Jul 29, 2025

System and method for dynamically scheduling API-based shipment updates across carriers

Inventors: Jennifer Lynn Bebout (Austin, TX); Olivier Jean Marie Modica (Austin, TX); Sebastian Kuruvilla Karivelithara (Austin, TX); Clinton Frederick Miller (Austin, TX)
Assignee: CONVEY, LLC
G06Q10/0833G06Q10/0835
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,373,767
App. No.
18/634,176
Granted
Jul 29, 2025
Kind
B2
Abstract

A shipping management system comprising a memory configured with shipping records representing shipments from a plurality of carriers and scheduling rules that specify a plurality of update frequencies. The shipping management system comprises a processor coupled to the memory. The shipping management system comprises a non-transitory computer readable medium comprising a set of computer executable instructions, the computer executable instructions executable by the processor to dynamically schedule, according to the scheduling rules, updates to update the shipping records; based on the dynamic scheduling, issue update application programming interface (API) calls according to APIs of carrier systems of respective carriers to request shipment data for the shipments; and update the shipping records based on the shipment data returned in response to the API calls.

Claims (41)

1. A computer-implemented method of dynamically scheduling application programming interface (API) calls, the computer-implemented method comprising:

accessing, by at least one processor, a shipping record representing a shipment by a carrier;

accessing, by the at least one processor, a plurality of scheduling rules associated with the carrier, wherein a first scheduling rule of the plurality of scheduling rules is configured to limit a number of API calls over a given time period for an API associated with the carrier in order to prevent exceeding a rate limit associated with the carrier, wherein a second scheduling rule of the plurality of scheduling rules specifies an update frequency based on a location of the shipment relative to a destination for the shipment, and wherein the first scheduling rule and the second scheduling rule are prioritized relative to each other;

dynamically scheduling, by the at least one processor according to the first scheduling rule and the second scheduling rule being prioritized relative to each other, an update API call to update the shipping record via an API associated with the carrier;

based on the dynamic scheduling, issuing the update API call using the API associated with the carrier to retrieve an update to the shipping record, such as to optimize use of computer and network resources; and

updating, by the at least one processor, the shipping record based on the update to the shipping record that was retrieved.

2. The computer-implemented method of claim 1 , further comprising:

determining, by the at least one processor based on data from a last update, the location of the shipment.

3. The computer-implemented method of claim 1 , wherein the API request limit associated with the carrier specifies an amount of API requests per shipment per day.

4. The computer-implemented method of claim 1 , wherein the first scheduling rule is prioritized over the second scheduling rule.

5. The computer-implemented method of claim 1 , wherein a third scheduling rule of the plurality of scheduling rules specifies scheduling based on an amount of information returned in update API calls.

6. The computer-implemented method of claim 1 , wherein the second schedule rule specifies that the frequency of updates is increased as the location of the shipment gets closer to the destination for the shipment.

7. The computer-implemented method of claim 1 , further comprising:

analyzing, by the at least one processor, the shipment record; and

based on analyzing the shipment record, determining, by the at least one processor, that the shipment is due for a next update.

8. A system for dynamically scheduling application programming interface (API) calls, comprising:

a memory storing a set of computer-executable instructions; and

at least one processor interfaced with the memory and configured to execute the set of computer-executable instructions to cause the at least one processor to:

access a shipping record representing a shipment by a carrier,

access, by the at least one processor, a plurality of scheduling rules associated with the carrier, wherein a first scheduling rule of the plurality of scheduling rules is configured to limit a number of API calls over a given time period for an API associated with the carrier in order to prevent exceeding a rate limit associated with the carrier, wherein a second scheduling rule of the plurality of scheduling rules specifies an update frequency based on a location of the shipment relative to a destination for the shipment, and wherein the first scheduling rule and the second scheduling rule are prioritized relative to each other;

dynamically schedule, according to the first scheduling rule and the second scheduling rule being prioritized relative to each other, an update API call to update the shipping record via an API associated with the carrier,

based on the dynamic scheduling, issue the update API call using the API associated with the carrier to retrieve an update to the shipping record, such as to optimize use of computer and network resources, and

update the shipping record based on the update to the shipping record that was retrieved.

9. The system of claim 8 , wherein the at least one processor is further configured to: determine, based on data from a last update, the location of the shipment.

10. The system of claim 8 , wherein the API request limit associated with the carrier specifies an amount of API requests per shipment per day.

11. The system of claim 8 , wherein the first scheduling rule is prioritized over the second scheduling rule.

12. The system of claim 8 , wherein a third scheduling rule of the plurality of scheduling rules specifies scheduling based on an amount of information returned in update API calls.

13. The system of claim 8 , wherein the second schedule rule specifies that the frequency of updates is increased as the location of the shipment gets closer to the destination for the shipment.

14. The system of claim 8 , wherein the at least one processor is further configured to:

analyze the shipment record, and based on analyzing the shipment record, determine that the shipment is due for a next update.

15. A computer program product comprising a non-transitory computer readable medium storing a set of computer-executable instructions, the computer executable-instructions executable by at least one processor to:

access a shipping record representing a shipment by a carrier;

access, by the at least one processor, a plurality of scheduling rules associated with the carrier, wherein a first scheduling rule of the plurality of scheduling rules is configured to limit a number of API calls over a given time period for an API associated with the carrier in order to prevent exceeding a rate limit associated with the carrier, wherein a second scheduling rule of the plurality of scheduling rules specifies an update frequency based on a location of the shipment relative to a destination for the shipment, and wherein the first scheduling rule and the second scheduling rule are prioritized relative to each other;

dynamically schedule, according to the first scheduling rule and the second scheduling rule being prioritized relative to each other, an update API call to update the shipping record via an API associated with the carrier;

based on the dynamic scheduling, issue the update API call using the API associated with the carrier to retrieve an update to the shipping record, such as to optimize use of computer and network resources; and

update the shipping record based on the update to the shipping record that was retrieved.

16. The computer program product of claim 15 , wherein the computer executable-instructions are executable by the at least one processor further to: determine, based on data from a last update, the location of the shipment.

17. The computer program product of claim 15 , wherein the API request limit associated with the carrier specifies an amount of API requests per shipment per day.

18. The computer program product of claim 15 , wherein the first scheduling rule is prioritized over the second scheduling rule.

19. The computer program product of claim 15 , wherein a third scheduling rule of the plurality of scheduling rules specifies scheduling based on an amount of information returned in update API calls.

20. The computer program product of claim 15 , wherein the second schedule rule specifies that the frequency of updates is increased as the location of the shipment gets closer to the destination for the shipment.

Assignments (2)
SECURITY INTEREST Recorded Jul 16, 2026
From: PROJECT44, LLC
To: SIXTH STREET SPECIALTY LENDING, INC., AS AGENT
Reel/Frame 075293/0078 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2024
From: BEBOUT, JENNIFER LYNN; MODICA, OLIVIER JEAN MARIE; KARIVELITHARA, SEBASTIAN KURUVILLA; MILLER, CLINTON FREDERICK
To: CONVEY, LLC
Reel/Frame 067403/0142 →
Continuity (3)
Continuation 16241495 · Jan 7, 2019
Provisional Application 62614186 · Jan 5, 2018
Related Publication 20240273456A1 · Aug 15, 2024
References Cited (17)
US 6859787B2 · Fisher et al. · 2005 [cited by applicant]
US 7752142B2 · Bjerre et al. · 2010 [cited by applicant]
US 8681630B1 · Gibson · 2014 [cited by examiner]
US 9832268B2 · Mehra · 2017 [cited by examiner]
US 10262281B1 · Vitek et al. · 2019 [cited by applicant]
US 10915870B2 · Gillen · 2021 [cited by applicant]
US 11107029B1 · Henry · 2021 [cited by examiner]
US 20070162421A1 · Pang · 2007 [cited by examiner]
US 20080004995A1 · Klingenberg et al. · 2008 [cited by applicant]
US 20100138355A1 · Kodger, Jr. · 2010 [cited by applicant]
US 20150229579A1 · Kosim-Satyaputra et al. · 2015 [cited by applicant]
US 20180240066A1 · Streebin · 2018 [cited by examiner]
US 20190012639A1 · Boothman · 2019 [cited by examiner]
US 20210319398A1 · Streebin et al. · 2021 [cited by applicant]
CN 101754148A · 2010 [cited by applicant]
Olaf Zimmermann, Interface Representation Patterns—Crafting and Consuming Message-Based Remote APIs, Jul. 12, 2017, European Conference on Pattern Languages of Programs (Year: 2017). [cited by examiner]
Maria Fagerland, [Sharing] Solving the Multi-Carrier Integration Challenge, Apr. 5, 2017 Shipworks, pp. 1-2,https://www.shipworks.corn/blog/sharing-solving-the-multi-carrier-integration-challenge/ (accessed Jan. 25, 202… [cited by applicant]