US 11,703,342 B2
Resilient vehicle route system
Maharaj Mukherjee, Poughkeepsie, NY (US)
Assigned to Bank of America Corporation, Charlotte, NC (US)
Filed by BANK OF AMERICA CORPORATION, Charlotte, NC (US)
Filed on Apr. 14, 2020, as Appl. No. 16/848,473.
Prior Publication US 2021/0318134 A1, Oct. 14, 2021
Int. Cl. G01C 21/34 (2006.01); G06Q 10/0835 (2023.01); G08G 1/00 (2006.01); G05D 1/02 (2020.01); G06Q 10/047 (2023.01); B60W 60/00 (2020.01)
CPC G01C 21/3492 (2013.01) [B60W 60/00256 (2020.02); G05D 1/0217 (2013.01); G05D 1/0291 (2013.01); G06Q 10/047 (2013.01); G06Q 10/08355 (2013.01); G08G 1/202 (2013.01); G05D 2201/0213 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
a first device assigned to a first vehicle and configured to control movement of the first vehicle, the first device comprising a first memory and a first hardware processor communicatively coupled to the first memory, the first memory configured to store a first location and a first route of the first vehicle;
a second device assigned to a second vehicle and configured to control movement of the second vehicle, the second device separate from the first device, the second device comprising a second memory and a second hardware processor communicatively coupled to the second memory, the second memory configured to store a second location and a second route of the second vehicle, wherein the first device and the second device are assigned to a first group based on the first location of the first vehicle, the second location of the second vehicle, a first type of the first vehicle, a second type of the second vehicle, a first time duration that the first vehicle has been in transit, and a second time duration that the second vehicle has been in transit, wherein the first type is different from the second type to maintain a diverse types of vehicles in the first group, wherein the first time duration is different from the second time duration to maintain a diverse set of vehicles with different amounts of usage in the first group to accommodate for maintenance of the vehicles in the first group; and
a third device assigned to a third vehicle and configured to control movement of the third vehicle, the third device separate from the first device and the second device, the third device comprising a third memory and a third hardware processor communicatively coupled to the third memory, the third memory configured to store a third location and a third route of the third vehicle, wherein the third device is assigned to a second group different from the first group based on the third location of the third vehicle, wherein the third vehicle is currently assigned to deliver first supplies to a first destination, and is traveling to the first destination, the first hardware processor configured to:
receive a request broadcast from a second destination, wherein the request broadcast indicates that second supplies are needed at the second destination; and
in response to receiving the request:
determine, based on the first location of the first vehicle and the first route, a first time for the first vehicle to deliver the second supplies to the second destination; and
transmit the first time to the second device;
transmit information indicating members of the first group to the second device;
transmit the information indicating members of the first group to the third device;
the second hardware processor configured to:
receive the request broadcast from the second destination;
receive the information regarding the members of the first group; and
in response to receiving the request:
determine, based on the second location of the second vehicle and the second route, a second time for the second vehicle to deliver the second supplies to the second destination;
transmit the second time to the first device;
receive the first time from the first device; and
in response to receiving the first time from the first device, determine, based on the first time, the first type of the first vehicle, the second type of the second vehicle, the first time duration that the first vehicle has been in transit, the second time duration that the second vehicle has been in transit, and the second time, that the first vehicle rather than the second vehicle should deliver the second supplies to the second destination;
the first hardware processor further configured to:
receive the second time from the second device;
determine, based on the first time, the first type of the first vehicle, the second type of the second vehicle, the first time duration that the first vehicle has been in transit, the second time duration that the second vehicle has been in transit, and the second time, that the first vehicle rather than the second vehicle should deliver the second supplies to the second destination; and
in response to determining that the first vehicle should deliver the second supplies to the second destination, control the movement of the first vehicle towards the second destination;
the third hardware processor configured to:
receive the request broadcast from the second destination;
receive the information regarding the members of the first group;
determine that the third vehicle should deliver the second supplies to the second destination;
in response to determining that the third vehicle should deliver the second supplies to the second destination, control the movement of the third vehicle towards the second destination, wherein as the third vehicle is traveling to the second destination, the third device is reassigned from the second group to the first group based on an updated location of the third vehicle, the first type of the first vehicle, the second type of the second vehicle, the first time duration that the first vehicle has been in transit, the second time duration that the second vehicle has been in transit; and
in response to being reassigned to the first group, transmit a third time for the third vehicle to deliver the second supplies to the second destination to the first vehicle;
the first hardware processor further configured to:
as the first vehicle is traveling to the second destination:
receive the third time from the third vehicle;
determine an updated location of the first vehicle;
determine, based on the updated location of the first vehicle, a first new time for the first vehicle to deliver the second supplies to the second destination; and
determine, based on the third time and the first new time, that the third vehicle rather than the first vehicle should deliver the second supplies to the second destination;
the third processor further configured to:
receive the first new time from the first device;
determine a second new time for the third vehicle to arrive at the first destination, wherein the second new time is determined based on an updated location of the third vehicle;
determine, based on the third time, the first new time, and the second new time, that the third vehicle should deliver the second supplies to the second destination instead of delivering the first supplies to the first destination;
reassign the third vehicle to deliver the second supplies to the second destination;
cause the third vehicle to travel to the second destination;
communicate to the first device that the third vehicle is reassigned to deliver the second supplies to the second destination; and
communicate to the second device that the third vehicle is reassigned to deliver the second supplies to the second destination,
wherein one of the first vehicle and the second vehicle is selected to deliver the first supplies to the first destination based at least on the first new time of the first vehicle and a third new time of the second vehicle to reach the first destination, the third new time is determined based at least on an updated location of the second vehicle.