US 11,720,398 B2
Harvesting vehicle hardware accelerators and GPU computing capabilities when idle
Oleg Yurievitch Gusikhin, Commerce Township, MI (US); Omar Makke, Lyon Township, MI (US); and John Howard Schneider, South Lyon, MI (US)
Assigned to Ford Global Technologies, LLC, Dearborn, MI (US)
Filed by Ford Global Technologies, LLC, Dearborn, MI (US)
Filed on Mar. 31, 2020, as Appl. No. 16/836,774.
Prior Publication US 2021/0303343 A1, Sep. 30, 2021
Int. Cl. G06F 9/48 (2006.01); G06F 9/50 (2006.01); B60L 58/12 (2019.01); G06F 9/38 (2018.01)
CPC G06F 9/4881 (2013.01) [B60L 58/12 (2019.02); G06F 9/3877 (2013.01); G06F 9/5038 (2013.01); G06F 9/5072 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method for harvesting vehicle computational power capabilities while vehicle processors are idle, the method comprising:
receiving, at a dispatcher having one or more processors, a request for processing a job from a requestor;
receiving, at the dispatcher, availability information for a plurality of vehicle processors, the availability information comprising, for each vehicle processor, a number of cores of the vehicle processor and a state of charge of a vehicle comprising the vehicle processor, wherein the state of charge indicates whether the vehicle is plugged to a power source for charging;
periodically receiving, by the dispatcher, information associated with the job, historic seasonal data, and local data indicating an increase or decrease in a number of available vehicle processors, wherein the local data includes a local event occurring on a specific day that impacts the number of available vehicle processors;
generating, by the dispatcher, an availability model of the available vehicle processors for processing the job received from the requestor based on the received information associated with the job, the received historic seasonal data, and the received local data, wherein the availability model is updated periodically in view of the received information associated with the job, the received historic seasonal data, and the received local data thereby increasing reliability of the availability model;
estimating, by the dispatcher, a completion time of the job using the availability model;
transmitting, by the dispatcher, the estimated completion time to the requestor;
parsing, by the dispatcher, the job into a plurality of tasks;
prioritizing, by the dispatcher, the plurality of tasks based on at least information provided in the request for processing the job to obtain a plurality of prioritized tasks;
prioritizing, by the dispatcher, the plurality of vehicle processors based on at least the availability information to obtain a plurality of prioritized vehicle processors;
distributing, by the dispatcher, the plurality of prioritized tasks to one or more vehicle processors of the plurality of prioritized vehicle processors based at least in part on computational power and power usage among the plurality of prioritized vehicle processors; and
receiving, by the dispatcher, results of the plurality of prioritized tasks from the one or more vehicle processors.