The method 400 will be described with reference to FIG. 4 and further reference to FIG. 1. The method 400 begins and proceeds to operation 402, where the OTA scheduler 124 initiates the heuristic scheduling algorithm 136 and sets the day equal to 0 (i.e., DAY=0). From operation 402, the method 400 proceeds to operation 404, where the OTA scheduler 124 determines if the number of unscheduled connected cars is equal to 0 (i.e., # of unscheduled CCs=0). The number of unscheduled connected cars can be determined based upon the number of connected cars on the road that need a file. In some implementations, the number of unscheduled connected cars is provided by the OEM, which can maintain a record of the software and/or firmware versions installed on each connected car identified via vehicle identification number (“VIN”). If the OTA scheduler 124 determines that the number of unscheduled connected cars is equal to 0, then the method 400 proceeds to operation 406, where the method 400 ends. If, however, the OTA scheduler 124 determines that the number of unscheduled connected cars is not equal to 0 (i.e., one or more unscheduled connected cars exist), then the method 400 proceeds to operation 408, where the OTA scheduler 124 sets the day equal to DAY+1 (i.e., DAY=DAY+1); the OTA scheduler 124 sets schedule time equal to 0 (i.e., SCHEDULE TIME=0); and the OTA scheduler 124 sets a list of connected car candidates equal to a list of unscheduled connected cars (i.e., LIST {CC CANDIDATES}=LIST {UNSCHEDULED CCs}).