A method for controlling traffic signal preemption, comprising: receiving by a server system, vehicle messages having information transmitted from a plurality of vehicle processors, wherein each vehicle message specifies published geographical coordinates that indicate a geographical location of a vehicle of a plurality of vehicles; for each vehicle message: determining by the server system, one or more virtual phase selectors (110, 112) associated with the published geographical coordinates, wherein the one or more virtual phase selectors determine whether to issue a preemption request, determining by the server system for each of the one or more virtual phase selectors (110, 112), whether the virtual phase selector is active or inactive, starting execution of each of the one or more virtual phase selectors determined to be in inactive by the server system, communicating the vehicle message to the one or more virtual phase selectors, determining traffic signal control data related to the preemption request by each of the one or more virtual phase selectors based on the vehicle message and transmitting the traffic signal control data to one or more traffic signal controllers associated with the one or more virtual phase selectors at one or more intersections; and stopping execution of an executing virtual phase selector in response to an absence of a vehicle message having published geographical coordinates associated with the executing virtual phase selector for a period that is greater than a threshold period. receiving by a server system, vehicle messages having information transmitted from a plurality of vehicle processors, wherein each vehicle message specifies published geographical coordinates that indicate a geographical location of a vehicle of a plurality of vehicles; for each vehicle message: determining by the server system, one or more virtual phase selectors (110, 112) associated with the published geographical coordinates, wherein the one or more virtual phase selectors determine whether to issue a preemption request, determining by the server system for each of the one or more virtual phase selectors (110, 112), whether the virtual phase selector is active or inactive, starting execution of each of the one or more virtual phase selectors determined to be in inactive by the server system, communicating the vehicle message to the one or more virtual phase selectors, determining by the server system, one or more virtual phase selectors (110, 112) associated with the published geographical coordinates, wherein the one or more virtual phase selectors determine whether to issue a preemption request, determining by the server system for each of the one or more virtual phase selectors (110, 112), whether the virtual phase selector is active or inactive, starting execution of each of the one or more virtual phase selectors determined to be in inactive by the server system, communicating the vehicle message to the one or more virtual phase selectors, determining traffic signal control data related to the preemption request by each of the one or more virtual phase selectors based on the vehicle message and transmitting the traffic signal control data to one or more traffic signal controllers associated with the one or more virtual phase selectors at one or more intersections; and stopping execution of an executing virtual phase selector in response to an absence of a vehicle message having published geographical coordinates associated with the executing virtual phase selector for a period that is greater than a threshold period.