IP Library › Granted Patent US 12,322,222
Granted Patent B1
US 12,322,222 · App. 18/933,635 · Granted Jun 3, 2025

Systems and methods for operating fleet management systems

Inventors: Nathan Patrick Mascitelli (Mississauga, CA); Abdolreza Bayesteh (Coquitlam, CA)
Assignee: Geotab Inc.
G07C5/008G07C5/0808
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,322,222
App. No.
18/933,635
Granted
Jun 3, 2025
Kind
B1
Abstract

Systems and methods for operating fleet management systems are provided. The systems and methods can involve a plurality of device data importer services, at least one data access service, and a plurality of application programing interface (API) services. The plurality of device data importer services can receive and process first and second telematics data to generate first and second processed telematics data. The at least one data access service can store the first and second processed telematics data in first and second databases. The plurality of API services can receive first and second requests associated with the first and second processed telematics data and transmit first and second responses. The systems and methods can also involve an upgrader application and a plurality of client applications. The upgrader application can determine at least one supported schema change for the database and upgrade the database schema by applying the schema change.

Claims (66)

1. A method for operating a fleet management system, the method comprising operating at least one processor to:

receive, using a plurality of device data importer services, first telematics data and second telematics data, the first telematics data originating from a first plurality of telematics devices installed in a first plurality of vehicles, the second telematics data originating from a second plurality of telematics devices installed in a second plurality of vehicles;

process, using the plurality of device data importer services, the first and second telematics data to generate first and second processed telematics data;

store, using at least one data access service, the first processed telematics data in a first database associated with the first plurality of telematics devices and the second processed telematics data in a second database associated with the second plurality of telematics devices;

receive, using a plurality of application programing interface (API) services, a first request associated with the first processed telematics data and a second request associated with the second processed telematics data;

retrieve, using the at least one data access service, at least some of the first processed telematics data from the first database and at least some of the second processed telematics data from the second database; and

transmit, using the plurality of API services, a first response to the first request based on the first processed telematics data and a second response to the second request based on the second processed telematics data.

2. The method of claim 1 , wherein each device data importer service, data access service, and API service is executed in a separate virtual container.

3. The method of claim 1 , further comprising operating the at least one processor to:

store, using the plurality of device data importer services, a portion of the first processed telematics data and a portion of the second processed telematics data in at least one distributed cache; and

retrieve, using the plurality of API services, the portion of the first processed telematics data and the portion of the second processed telematics data from the at least one distributed cache.

4. The method of claim 1 , further comprising operating the at least one processor to:

determine, using the plurality of API services, at least one telematics device in the first plurality of telematics devices that is no longer associated with the first database; and

publish an indication that the at least one telematics device is no longer associated with the first database at a message queue.

5. The method of claim 1 , wherein:

the plurality of device data importer services comprises a load balancer operable to select one or more of the device data importer services to receive and process the first and second telematics data.

6. The method of claim 1 , wherein:

the plurality of API services comprises a load balancer operable to select one or more of the API services to receive the first and second requests and transmit the first and second responses.

7. The method of claim 1 , wherein:

the first and second telematics data is received and processed by the same device data importer service.

8. The method of claim 1 , wherein:

the first and second requests are received and the first and second responses are transmitted by the same API service.

9. The method of claim 1 , further comprising operating the at least one processor to:

determine, using the plurality of API services, a first tenant associated with the first request and a second tenant associated with the second request; and

identify, using the at least one data access service, the first database based on the first tenant and the second database based on the second tenant.

10. The method of claim 1 , further comprising operating the at least one processor to:

upgrade, using the plurality of device data importer services, the schema of the first and second databases.

11. A non-transitory computer readable medium having instructions stored thereon executable by at least one processor to implement a method for operating a fleet management system, the method comprising operating the at least one processor to:

receive, using a plurality of device data importer services, first telematics data and second telematics data, the first telematics data originating from a first plurality of telematics devices installed in a first plurality of vehicles, the second telematics data originating from a second plurality of telematics devices installed in a second plurality of vehicles;

process, using the plurality of device data importer services, the first and second telematics data to generate first and second processed telematics data;

store, using at least one data access service, the first processed telematics data in a first database associated with the first plurality of telematics devices and the second processed telematics data in a second database associated with the second plurality of telematics devices;

receive, using a plurality of application programing interface (API) services, a first request associated with the first processed telematics data and a second request associated with the second processed telematics data;

retrieve, using the at least one data access service, at least some of the first processed telematics data from the first database and at least some of the second processed telematics data from the second database; and

transmit, using the plurality of API services, a first response to the first request based on the first processed telematics data and a second response to the second request based on the second processed telematics data.

12. A fleet management system comprising:

at least one data store operable to store a first and second database, the first database associated with a first plurality of telematics devices installed in a first plurality of vehicles, the second database associated with a second plurality of telematics devices installed in a second plurality of vehicles;

at least one processor operable to execute:

a plurality of device data importer services operable to:

receive first telematics data and second telematics data, the first telematics data originating from the first plurality of telematics devices, the second telematics data originating from the second plurality of telematics devices; and

process the first and second telematics data to generate first and second processed telematics data;

at least one data access service operable to:

store the first processed telematics data in the first database and the second processed telematics data in the second database; and

retrieve at least some of the first processed telematics data from the first database and at least some of the second processed telematics data from the second database; and

a plurality of application programing interface (API) services operable to:

receive a first request associated with the first processed telematics data and a second request associated with the second processed telematics data; and

transmit a first response to the first request based on the first processed telematics data and a second response to the second request based on the second processed telematics data.

13. The system of claim 12 , wherein each device data importer service, data access service, and API service is executed in a separate virtual container.

14. The system of claim 12 , wherein:

the plurality of device data importer services is operable to store a portion of the first processed telematics data and a portion of the second processed telematics data in at least one distributed cache; and

the plurality of API services is operable to retrieve the portion of the first processed telematics data and the portion of the second processed telematics data from the at least one distributed cache.

15. The system of claim 12 , wherein the plurality of API services is operable to:

determine at least one telematics device in the first plurality of telematics devices that is no longer associated with the first database; and

publish an indication that the at least one telematics device is no longer associated with the first database at a message queue.

16. The system of claim 12 , wherein:

the plurality of device data importer services comprises a load balancer operable to select one or more of the device data importer services to receive and process the first and second telematics data.

17. The system of claim 12 , wherein:

the plurality of API services comprises a load balancer operable to select one or more of the API services to receive the first and second requests and transmit the first and second responses.

18. The system of claim 12 , wherein:

the first and second telematics data is received and processed by the same device data importer service.

19. The system of claim 12 , wherein:

the first and second requests are received and the first and second responses are transmitted by the same API service.

20. The system of claim 12 , wherein:

the plurality of API services is operable to determine a first tenant associated with the first request and a second tenant associated with the second request; and

the at least one data access service is operable to identify the first database based on the first tenant and the second database based on the second tenant.

21. The system of claim 12 , wherein:

the plurality of device data importer services is operable to upgrade the schema of the first and second databases.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2024
From: MASCITELLI, NATHAN PATRICK; BAYESTEH, ABDOLREZA
To: GEOTAB INC.
Reel/Frame 069185/0583 →
Continuity (1)
Provisional Application 63605174 · Dec 1, 2023
References Cited (10)
US 10102691B1 · Ghanbari · 2018 [cited by examiner]
US 11823504B1 · Gulati et al. · 2023 [cited by applicant]
US 20160232721A1 · Singh et al. · 2016 [cited by applicant]
US 20180218034A1 · Sainaney · 2018 [cited by applicant]
US 20180225974A1 · Molin et al. · 2018 [cited by applicant]
US 20230059859A1 · Davidson et al. · 2023 [cited by applicant]
US 20230281339A1 · Chen et al. · 2023 [cited by applicant]
US 20230379189A1 · Mihovics et al. · 2023 [cited by applicant]
International Search Report for International Application No. PCT/CA2024/051499, mailed Feb. 21, 2025, 6 pages. [cited by applicant]
Written Opinion for International Application No. PCT/CA2024/051499, mailed on Feb. 21, 2025, 8 pages. [cited by applicant]