Optimization of over-the-air file distribution for connected cars based upon a heuristic scheduling algorithm
First Claim
1. A method comprising:
- initiating, by a processor of a system, execution of a heuristic scheduling algorithm to schedule distribution over-the-air of a file to each connected car of a plurality of connected cars operating in communication with a radio access network;
setting, by the processor of the system via execution of the heuristic scheduling algorithm, a day value equal to zero;
determining, by the processor of the system via execution of the heuristic scheduling algorithm, if a number of unscheduled connected cars of the plurality of connected cars is equal to zero;
when the processor of the system determines via execution of the heuristic scheduling algorithm that the number of unscheduled connected cars of the plurality of connected cars is not equal to zero,setting, by the processor of the system via execution of the heuristic scheduling algorithm, the day value equal to the day value incremented by one,setting, by the processor of the system via execution of the heuristic scheduling algorithm, a schedule time value equal to zero, andsetting, by the processor of the system via execution of the heuristic scheduling algorithm, a list of connected car candidates equal to a list of unscheduled connected cars;
sorting, by the processor of the system via execution of the heuristic scheduling algorithm, for the schedule time value, in ascending order, a plurality of cells of the radio access network by a sum of a first set of connected cars connected to a cell of the plurality of cells and a second set of connected cars connected to all neighbor cells of the cell, thereby creating a sorted list of cells comprising a number of sorted cells of the plurality of cells;
selecting, by the processor of the system via execution of the heuristic scheduling algorithm, a first cell from the sorted list of cells;
selecting, by the processor of the system via execution of the heuristic scheduling algorithm, a connected car of the plurality of connected cars that is connected to a fewest number of cells of the plurality of cells during a time between the schedule time value to a sum of the schedule time value and a schedule unit value, and that has a longest connection duration with the first cell;
deleting, by the processor of the system via execution of the heuristic scheduling algorithm, from the sorted list of cells, all cells connected to the connected car and any neighbor cells during the time between the schedule time value to the sum of the schedule time value and the schedule unit value, thereby creating a set of deleted cells;
removing, by the processor of the system via execution of the heuristic scheduling algorithm, all connected cars that are connected to the set of deleted cells during the time between the schedule time value to the sum of the schedule time value and the schedule unit value from the list of connected car candidates;
determining, by the processor of the system via execution of the heuristic scheduling algorithm, if the number of sorted cells in the sorted list of cells is equal to zero;
when the processor of the system determines via execution of the heuristic scheduling algorithm that the number of sorted cells in the sorted list of cells is equal zero, updating, by the processor of the system via execution of the heuristic scheduling algorithm, the schedule time value to be equal to the sum of the schedule time value and the schedule unit value;
determining, by the processor of the system via execution of the heuristic scheduling algorithm, if the schedule time value is equal to an end of the day value; and
when the processor of the system determines via execution of the heuristic scheduling algorithm that the schedule time value is equal to the end of the day value, returning to determining, by the processor of the system via execution of the heuristic scheduling algorithm, if the number of unscheduled connected cars of the plurality of connected cars is equal to zero, and if so, ending execution of the heuristic scheduling algorithm.
1 Assignment
0 Petitions
Accused Products
Abstract
Concepts and technologies disclosed herein are directed to the optimization of over-the-air (“OTA”) file distribution for connected cars based upon a heuristic scheduling algorithm. A schedule provided by the heuristic scheduling algorithm is designed to distribute OTA data flow to connected cars over the network (geographically) and over a scheduling time horizon (timely), and is capable of reducing the negative impact of OTA file updates on overall wireless network performance. This schedule is created based upon historical statistics associated with connected car driving patterns and simulations of connected car-specific OTA traffic over the network. By leveraging connected cars that connect to different cells at different times based upon driving patterns, the heuristic scheduling algorithm is effective in reducing OTA impact on the network.
-
Citations
20 Claims
-
1. A method comprising:
-
initiating, by a processor of a system, execution of a heuristic scheduling algorithm to schedule distribution over-the-air of a file to each connected car of a plurality of connected cars operating in communication with a radio access network; setting, by the processor of the system via execution of the heuristic scheduling algorithm, a day value equal to zero; determining, by the processor of the system via execution of the heuristic scheduling algorithm, if a number of unscheduled connected cars of the plurality of connected cars is equal to zero; when the processor of the system determines via execution of the heuristic scheduling algorithm that the number of unscheduled connected cars of the plurality of connected cars is not equal to zero, setting, by the processor of the system via execution of the heuristic scheduling algorithm, the day value equal to the day value incremented by one, setting, by the processor of the system via execution of the heuristic scheduling algorithm, a schedule time value equal to zero, and setting, by the processor of the system via execution of the heuristic scheduling algorithm, a list of connected car candidates equal to a list of unscheduled connected cars; sorting, by the processor of the system via execution of the heuristic scheduling algorithm, for the schedule time value, in ascending order, a plurality of cells of the radio access network by a sum of a first set of connected cars connected to a cell of the plurality of cells and a second set of connected cars connected to all neighbor cells of the cell, thereby creating a sorted list of cells comprising a number of sorted cells of the plurality of cells; selecting, by the processor of the system via execution of the heuristic scheduling algorithm, a first cell from the sorted list of cells; selecting, by the processor of the system via execution of the heuristic scheduling algorithm, a connected car of the plurality of connected cars that is connected to a fewest number of cells of the plurality of cells during a time between the schedule time value to a sum of the schedule time value and a schedule unit value, and that has a longest connection duration with the first cell; deleting, by the processor of the system via execution of the heuristic scheduling algorithm, from the sorted list of cells, all cells connected to the connected car and any neighbor cells during the time between the schedule time value to the sum of the schedule time value and the schedule unit value, thereby creating a set of deleted cells; removing, by the processor of the system via execution of the heuristic scheduling algorithm, all connected cars that are connected to the set of deleted cells during the time between the schedule time value to the sum of the schedule time value and the schedule unit value from the list of connected car candidates; determining, by the processor of the system via execution of the heuristic scheduling algorithm, if the number of sorted cells in the sorted list of cells is equal to zero; when the processor of the system determines via execution of the heuristic scheduling algorithm that the number of sorted cells in the sorted list of cells is equal zero, updating, by the processor of the system via execution of the heuristic scheduling algorithm, the schedule time value to be equal to the sum of the schedule time value and the schedule unit value; determining, by the processor of the system via execution of the heuristic scheduling algorithm, if the schedule time value is equal to an end of the day value; and when the processor of the system determines via execution of the heuristic scheduling algorithm that the schedule time value is equal to the end of the day value, returning to determining, by the processor of the system via execution of the heuristic scheduling algorithm, if the number of unscheduled connected cars of the plurality of connected cars is equal to zero, and if so, ending execution of the heuristic scheduling algorithm. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-readable storage medium comprising computer-executable instructions that, when executed by a processor, causes the processor to perform operations comprising:
-
initiating execution of a heuristic scheduling algorithm to schedule distribution over-the-air of a file to each connected car of a plurality of connected cars operating in communication with a radio access network; setting, via execution of the heuristic scheduling algorithm, a day value equal to zero; determining, via execution of the heuristic scheduling algorithm, if a number of unscheduled connected cars of the plurality of connected cars is equal to zero; when the processor determines via execution of the heuristic scheduling algorithm that the number of unscheduled connected cars of the plurality of connected cars is not equal to zero, setting, via execution of the heuristic scheduling algorithm, the day value equal to the day value incremented by one, setting, via execution of the heuristic scheduling algorithm, a schedule time value equal to zero, and setting, via execution of the heuristic scheduling algorithm, a list of connected car candidates equal to a list of unscheduled connected cars; sorting, via execution of the heuristic scheduling algorithm, for the schedule time value, in ascending order, a plurality of cells of the radio access network by a sum of a first set of connected cars connected to a cell of the plurality of cells and a second set of connected cars connected to all neighbor cells of the cell, thereby creating a sorted list of cells comprising a number of sorted cells of the plurality of cells; selecting, via execution of the heuristic scheduling algorithm, a first cell from the sorted list of cells; selecting, via execution of the heuristic scheduling algorithm, a connected car of the plurality of connected cars that is connected to a fewest number of cells of the plurality of cells during a time between the schedule time value to a sum of the schedule time value and a schedule unit value, and that has a longest connection duration with the first cell; deleting, via execution of the heuristic scheduling algorithm, from the sorted list of cells, all cells connected to the connected car and any neighbor cells during the time between the schedule time value to the sum of the schedule time value and the schedule unit value, thereby creating a set of deleted cells; removing, via execution of the heuristic scheduling algorithm, all connected cars that are connected to the set of deleted cells during the time between the schedule time value to the sum of the schedule time value and the schedule unit value from the list of connected car candidates; determining, via execution of the heuristic scheduling algorithm, if the number of sorted cells in the sorted list of cells is equal to zero; when the processor of the system determines via execution of the heuristic scheduling algorithm that the number of sorted cells in the sorted list of cells is equal zero, updating, via execution of the heuristic scheduling algorithm, the schedule time value to be equal to the sum of the schedule time value and the schedule unit value; determining, via execution of the heuristic scheduling algorithm, if the schedule time value is equal to an end of the day value; and when the processor of the system determines via execution of the heuristic scheduling algorithm that the schedule time value is equal to the end of the day value, returning to determining, via execution of the heuristic scheduling algorithm, if the number of unscheduled connected cars of the plurality of connected cars is equal to zero, and if so, ending execution of the heuristic scheduling algorithm. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a processor; and memory that stores instructions that, when executed by the processor, cause the processor to perform operations comprising initiating execution of a heuristic scheduling algorithm to schedule distribution over-the-air of a file to each connected car of a plurality of connected cars operating in communication with a radio access network, setting, via execution of the heuristic scheduling algorithm, a day value equal to zero, determining, via execution of the heuristic scheduling algorithm, if a number of unscheduled connected cars of the plurality of connected cars is equal to zero, when the processor determines via execution of the heuristic scheduling algorithm that the number of unscheduled connected cars of the plurality of connected cars is not equal to zero, setting, via execution of the heuristic scheduling algorithm, the day value equal to the day value incremented by one, setting, via execution of the heuristic scheduling algorithm, a schedule time value equal to zero, and setting, via execution of the heuristic scheduling algorithm, a list of connected car candidates equal to a list of unscheduled connected cars, sorting, via execution of the heuristic scheduling algorithm, for the schedule time value, in ascending order, a plurality of cells of the radio access network by a sum of a first set of connected cars connected to a cell of the plurality of cells and a second set of connected cars connected to all neighbor cells of the cell, thereby creating a sorted list of cells comprising a number of sorted cells of the plurality of cells, selecting, via execution of the heuristic scheduling algorithm, a first cell from the sorted list of cells, selecting, via execution of the heuristic scheduling algorithm, a connected car of the plurality of connected cars that is connected to a fewest number of cells of the plurality of cells during a time between the schedule time value to a sum of the schedule time value and a schedule unit value, and that has a longest connection duration with the first cell, deleting, via execution of the heuristic scheduling algorithm, from the sorted list of cells, all cells connected to the connected car and any neighbor cells during the time between the schedule time value to the sum of the schedule time value and the schedule unit value, thereby creating a set of deleted cells, removing, via execution of the heuristic scheduling algorithm, all connected cars that are connected to the set of deleted cells during the time between the schedule time value to the sum of the schedule time value and the schedule unit value from the list of connected car candidates, determining, via execution of the heuristic scheduling algorithm, if the number of sorted cells in the sorted list of cells is equal to zero, when the processor of the system determines via execution of the heuristic scheduling algorithm that the number of sorted cells in the sorted list of cells is equal zero, updating, via execution of the heuristic scheduling algorithm, the schedule time value to be equal to the sum of the schedule time value and the schedule unit value, determining, via execution of the heuristic scheduling algorithm, if the schedule time value is equal to an end of the day value, and when the processor of the system determines via execution of the heuristic scheduling algorithm that the schedule time value is equal to the end of the day value, returning to determining, via execution of the heuristic scheduling algorithm, if the number of unscheduled connected cars of the plurality of connected cars is equal to zero, and if so, ending execution of the heuristic scheduling algorithm. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification