IP Library Granted Patent US 12,361,822
Granted Patent B2
US 12,361,822 · App. 18/152,521 · Granted Jul 15, 2025

Road element sensors and identifiers

Inventor: David Hahn Clifford (Royal Oak, MI)
Assignee: Cavnue Technology, LLC
G08G1/017G08G1/0116G08G1/0133
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,361,822
App. No.
18/152,521
Granted
Jul 15, 2025
Kind
B2
Abstract

Systems and techniques are described for identifying, monitoring, and sharing vehicle information amongst sensors. In some implementations, a system includes a central server and a plurality of sensors. The plurality of sensors are positioned in a fixed location relative to a roadway. Each sensor in the plurality of sensors is configured to: detect vehicles in a first field of view on the roadway. For each detected vehicle, each sensor is configured to identify features of the detected vehicle and perform operations for each feature. The operations include generating feature data representing the feature, generating a unique identification of the detected vehicle from the detected vehicles by concatenating the feature data representing the identified features of the detected vehicle, and adding the unique identification to a list.

Claims (136)

1. A computer-implemented method comprising:

monitoring, by at least first and second sensors, a roadway of traversing vehicles;

detecting, by the first sensor, a first vehicle traveling along the roadway;

assigning, by the first sensor, an identifier for the first vehicle;

updating, by the first sensor, a data component with the identifier;

transmitting, by the first sensor, the data component to the second sensor;

receiving, by the second sensor, the data component from the first sensor;

detecting, by the second sensor, a second vehicle traveling along the roadway;

generating, by the second sensor, data of the detected second vehicle;

comparing, by the second sensor, the generated data of the second vehicle to one or more portions of the identifier in the data component;

based on the comparison, determining, by the second sensor, that the generated data of the second vehicle does not match the one or more portions of the identifier in the data component;

in response to determining that the generated data of the second vehicle does not match the one or more portions of the identifier in the data component, accessing, by the second sensor, another identifier from the data component;

comparing, by the second sensor, the generated data of the second vehicle to one or more portions of the other identifier accessed from the data component; and

based on comparing the generated data to the one or more portions of the other identifier accessed from the data component:

determining, by the second sensor, that (i) the generated data of the second vehicle matches to the one or more portions of the other identifier accessed from the data component, (ii) the second vehicle matches to the first vehicle, and (iii) the second vehicle has moved positions on the roadway from when previously detected by the first sensor.

2. A computer-implemented method comprising:

detecting, by a first sensor of a plurality of sensors, a first vehicle traveling along a roadway;

assigning, by the first sensor, an identifier for the first vehicle;

updating, by the first sensor, a first data component with the identifier, the first data component storing a plurality of identifiers in a first order;

transmitting, by the first sensor, the first data component to a second sensor;

receiving, by the second sensor, the first data component from the first sensor;

detecting, by the second sensor, a second vehicle traveling along the roadway;

generating, by the second sensor, data of the detected second vehicle;

comparing, by the second sensor, the generated data of the detected second vehicle to one or more portions of the identifier in the first data component;

based on the comparison, determining, by the second sensor, that the generated data of the detected second vehicle does not match the one or more portions of the identifier in the first data component;

in response to determining that the generated data of the detected second vehicle does not match the one or more portions of the identifier in the first data component, determining, by the second sensor, the generated data of the detected second vehicle matches to another identifier in the first data component;

generating, by the second sensor, a second data component storing the plurality of identifiers, the second data component storing the plurality of identifiers (i) in a second order the second sensor detected the vehicles and (ii) the second order being different from the first order; and

transmitting, by the second sensor, the second data component to the plurality of sensors.

3. A computer-implemented method comprising:

detecting, by a first sensor, a first vehicle traveling along a roadway of traversing vehicles;

assigning, by the first sensor, an identifier for the first vehicle;

updating, by the first sensor, a data component with the identifier;

transmitting, by the first sensor, the data component to a second sensor;

receiving, by the second sensor, the data component from the first sensor;

detecting, by the second sensor, one or more vehicles traveling along the roadway;

generating, by the second sensor, data for each of the one or more detected vehicles;

comparing, by the second sensor, data for each of the one or more detected vehicles to one or more portions of one or more identifiers in the received data component;

identifying, by the second sensor, a location of the identifier of the first vehicle in the received data component based on the comparison;

determining, by the second sensor, the location of the identifier of the first vehicle has moved a predetermined number of locations based on the generated data for each of the one or more detected vehicles;

in response to determining the location of the identifier of the first vehicle has moved the predetermined number of locations, generating, by the second sensor, data indicating the first vehicle is traveling in a backwards direction; and

transmitting, by the second sensor and to one or more authorities, the data indicating the first vehicle is traveling in the backwards direction on the roadway.

4. A computer-implemented method comprising:

receiving, by a first sensor in a plurality of sensors monitoring vehicles on a roadway, data indicative of one or more vehicles seen by another sensor, the receiving indicative of the other sensor detecting the one or more vehicles exiting a field of view of the other sensor;

detecting, by the first sensor, one or more other vehicles on the roadway;

generating, by the first sensor, data for each of the one or more other detected vehicles;

comparing, by the first sensor, data for each of the one or more other detected vehicles to a portion of the data indicative of the one or more vehicles seen by the other sensor;

based on comparing the data for each of the one or more other detected vehicles to the portion of the data indicative of the one or more vehicles seen by the other sensor, determining, by the first sensor, a match between the data of another detected vehicle to the portion of the data indicative of a vehicle seen by the other sensor; and

determining, by the first sensor, to cease processing of the data indicative of the one or more vehicles seen by the other sensor.

5. A computer-implemented method comprising:

detecting, by a first sensor, a plurality of first vehicles traveling along a roadway;

assigning, by the first sensor, an identifier for each detected vehicle of the plurality of detected first vehicles;

updating, by the first sensor, a data component with each of the assigned identifiers;

transmitting, by the first sensor, the data component to a second sensor;

receiving, by the second sensor, the data component from the first sensor;

detecting, by the second sensor, a plurality of second vehicles traveling along the roadway;

generating, by the second sensor, data for each detected vehicle of the plurality of detected second vehicles;

comparing, by the second sensor, the data for each detected vehicle of the plurality of detected second vehicles to data in the data component; and

based on comparing the data for each detected vehicle of the plurality of detected second vehicles to the data in the data component, determining, by the second sensor, a number of the plurality of detected second vehicles is less than a number of the plurality of detected first vehicles in the data component.

6. A computer-implemented method comprising:

detecting, by a first sensor, a plurality of first vehicles traveling along a roadway;

assigning, by the first sensor, an identifier for each detected vehicle of the plurality of detected first vehicles;

updating, by the first sensor, a data component with each of the assigned identifiers;

transmitting, by the first sensor, the data component to a second sensor;

receiving, by the second sensor, the data component from the first sensor;

detecting, by the second sensor, a plurality of second vehicles traveling along the roadway;

generating, by the second sensor, data for each detected vehicle of the plurality of detected second vehicles;

comparing, by the second sensor, the data for each detected vehicle of the plurality of detected second vehicles to data in the data component; and

based on comparing the data for each detected vehicle of the plurality of detected second vehicles to the data in the data component, determining, by the second sensor, a number of the plurality of detected second vehicles is greater than a number of the plurality of detected first vehicles in the data component.

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

monitoring, by at least first and second sensors, a roadway of traversing vehicles;

detecting, by the first sensor, a first vehicle traveling along the roadway;

assigning, by the first sensor, an identifier for the first vehicle;

updating, by the first sensor, a data component with the identifier;

transmitting, by the first sensor, the data component to the second sensor;

receiving, by the second sensor, the data component from the first sensor;

detecting, by the second sensor, a second vehicle traveling along the roadway;

generating, by the second sensor, data of the detected second vehicle;

comparing, by the second sensor, the generated data of the second vehicle to one or more portions of the identifier in the data component;

based on the comparison, determining, by the second sensor, that the generated data of the second vehicle does not match the one or more portions of the identifier in the data component;

in response to determining that the generated data of the second vehicle does not match the one or more portions of the identifier in the data component, accessing, by the second sensor, another identifier from the data component;

comparing, by the second sensor, the generated data of the second vehicle to one or more portions of the other identifier accessed from the data component; and

based on comparing the generated data to the one or more portions of the other identifier accessed from the data component:

determining, by the second sensor, that (i) the generated data of the second vehicle matches to the one or more portions of the other identifier accessed from the data component, (ii) the second vehicle matches to the first vehicle, and (iii) the second vehicle has moved positions on the roadway from when previously detected by the first sensor.

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

detecting, by a first sensor of a plurality of sensors, a first vehicle traveling along a roadway;

assigning, by the first sensor, an identifier for the first vehicle;

updating, by the first sensor, a first data component with the identifier, the first data component storing a plurality of identifiers in a first order;

transmitting, by the first sensor, the first data component to a second sensor;

receiving, by the second sensor, the first data component from the first sensor;

detecting, by the second sensor, a second vehicle traveling along the roadway;

generating, by the second sensor, data of the detected second vehicle;

comparing, by the second sensor, the generated data of the detected second vehicle to one or more portions of the identifier in the first data component;

based on the comparison, determining, by the second sensor, that the generated data of the detected second vehicle does not match the one or more portions of the identifier in the first data component;

in response to determining that the generated data of the detected second vehicle does not match the one or more portions of the identifier in the first data component, determining, by the second sensor, the generated data of the detected second vehicle matches to another identifier in the first data component;

generating, by the second sensor, a second data component storing the plurality of identifiers, the second data component storing the plurality of identifiers (i) in a second order the second sensor detected the vehicles and (ii) the second order being different from the first order; and

transmitting, by the second sensor, the second data component to the plurality of sensors.

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

detecting, by a first sensor, a first vehicle traveling along a roadway of traversing vehicles;

assigning, by the first sensor, an identifier for the first vehicle;

updating, by the first sensor, a data component with the identifier;

transmitting, by the first sensor, the data component to a second sensor;

receiving, by the second sensor, the data component from the first sensor;

detecting, by the second sensor, one or more vehicles traveling along the roadway;

generating, by the second sensor, data for each of the one or more detected vehicles;

comparing, by the second sensor, data for each of the one or more detected vehicles to one or more portions of one or more identifiers in the received data component;

identifying, by the second sensor, a location of the identifier of the first vehicle in the received data component based on the comparison;

determining, by the second sensor, the location of the identifier of the first vehicle has moved a predetermined number of locations based on the generated data for each of the one or more detected vehicles;

in response to determining the location of the identifier of the first vehicle has moved the predetermined number of locations, generating, by the second sensor, data indicating the first vehicle is traveling in a backwards direction; and

transmitting, by the second sensor and to one or more authorities, the data indicating the first vehicle is traveling in the backwards direction on the roadway.

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

receiving, by a first sensor in a plurality of sensors monitoring vehicles on a roadway, data indicative of one or more vehicles seen by another sensor, the receiving indicative of the other sensor detecting the one or more vehicles exiting a field of view of the other sensor;

detecting, by the first sensor, one or more other vehicles on the roadway;

generating, by the first sensor, data for each of the one or more other detected vehicles;

comparing, by the first sensor, data for each of the one or more other detected vehicles to a portion of the data indicative of the one or more vehicles seen by the other sensor;

based on comparing the data for each of the one or more other detected vehicles to the portion of the data indicative of the one or more vehicles seen by the other sensor, determining, by the first sensor, a match between the data of another detected vehicle to the portion of the data indicative of a vehicle seen by the other sensor; and

determining, by the first sensor, to cease processing of the data indicative of the one or more vehicles seen by the other sensor.

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

detecting, by a first sensor, a plurality of first vehicles traveling along a roadway;

assigning, by the first sensor, an identifier for each detected vehicle of the plurality of detected first vehicles;

updating, by the first sensor, a data component with each of the assigned identifiers;

transmitting, by the first sensor, the data component to a second sensor;

receiving, by the second sensor, the data component from the first sensor;

detecting, by the second sensor, a plurality of second vehicles traveling along the roadway;

generating, by the second sensor, data for each detected vehicle of the plurality of detected second vehicles;

comparing, by the second sensor, the data for each detected vehicle of the plurality of detected second vehicles to data in the data component; and

based on comparing the data for each detected vehicle of the plurality of detected second vehicles to the data in the data component, determining, by the second sensor, a number of the plurality of detected second vehicles is less than a number of the plurality of detected first vehicles in the data component.

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

detecting, by a first sensor, a plurality of first vehicles traveling along a roadway;

assigning, by the first sensor, an identifier for each detected vehicle of the plurality of detected first vehicles;

updating, by the first sensor, a data component with each of the assigned identifiers;

transmitting, by the first sensor, the data component to a second sensor;

receiving, by the second sensor, the data component from the first sensor;

detecting, by the second sensor, a plurality of second vehicles traveling along the roadway;

generating, by the second sensor, data for each detected vehicle of the plurality of detected second vehicles;

comparing, by the second sensor, the data for each detected vehicle of the plurality of detected second vehicles to data in the data component; and

based on comparing the data for each detected vehicle of the plurality of detected second vehicles to the data in the data component, determining, by the second sensor, a number of the plurality of detected second vehicles is greater than a number of the plurality of detected first vehicles in the data component.

Assignments (5)
SECURITY INTEREST Recorded Apr 9, 2026
From: CAVNUE TECHNOLOGY, LLC
To: GOLUB CAPITAL MARKETS LLC
Reel/Frame 074328/0202 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F 71278/0907 Recorded Jan 30, 2026
From: SIP MOBILITYCO PLATFORMCO, LLC
To: CAVNUE TECHNOLOGY, LLC
Reel/Frame 074536/0444 →
AMENDMENT NO. 1 TO GRANT OF SECURITY INTEREST IN PATENTS Recorded Jan 29, 2026
From: CAVNUE TECHNOLOGY, LLC
To: SIP MOBILITYCO PLATFORMCO, LLC
Reel/Frame 074533/0139 →
SECURITY INTEREST Recorded May 14, 2025
From: CAVNUE TECHNOLOGY, LLC
To: SIP MOBILITY PLATFORMCO, LLC
Reel/Frame 071278/0907 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2023
From: CLIFFORD, DAVID HAHN
To: CAVNUE TECHNOLOGY, LLC
Reel/Frame 062934/0997 →
Continuity (3)
Continuation 17465480 · Sep 2, 2021
Continuation 17210099 · Mar 23, 2021
Related Publication 20230145429A1 · May 11, 2023
References Cited (29)
US 5801943A · Nasburg · 1998 [cited by examiner]
US 8903636B1 · Al Kandari · 2014 [cited by examiner]
US 8948972B2 · Liu et al. · 2015 [cited by applicant]
US 9373257B2 · Bonhomme · 2016 [cited by applicant]
US 9719801B1 · Ferguson et al. · 2017 [cited by applicant]
US 10565870B2 · Gupta et al. · 2020 [cited by applicant]
US 10796567B1 · Tang · 2020 [cited by applicant]
US 10977939B2 · Zhang et al. · 2021 [cited by applicant]
US 11138873B1 · Clifford · 2021 [cited by examiner]
US 20080166023A1 · Wang · 2008 [cited by examiner]
US 20140195138A1 · Stelzig · 2014 [cited by applicant]
US 20160323233A1 · Song et al. · 2016 [cited by applicant]
US 20160364921A1 · Iyoda et al. · 2016 [cited by applicant]
US 20170140645A1 · Balid et al. · 2017 [cited by applicant]
US 20180240336A1 · Kareev · 2018 [cited by examiner]
US 20180253964A1 · Wong et al. · 2018 [cited by applicant]
US 20190063938A1 · Fukushima · 2019 [cited by applicant]
US 20190132709A1 · Graefe · 2019 [cited by applicant]
US 20190212153A1 · Adireddy · 2019 [cited by examiner]
US 20200043339A1 · Kozaki · 2020 [cited by applicant]
US 20200111346A1 · Kodanna · 2020 [cited by applicant]
US 20200342620A1 · Zagajac · 2020 [cited by examiner]
US 20200342755A1 · Nguyen et al. · 2020 [cited by applicant]
US 20210043076A1 · Yusa · 2021 [cited by applicant]
US 20210318691A1 · Amini et al. · 2021 [cited by applicant]
WO WO2018099574A1 · 2018 [cited by applicant]
Hu et al, “A multirange vehicle speed prediction with application to model predictive control-based integrated power and thermal management of connected hybrid electric vehicles” ASME, 2022, 11 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2022/019740, mailed on Jun. 13, 2022, 13 pages. [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2022/019740, mailed on Oct. 5, 2023, 8 pages. [cited by applicant]