Due to its significant economic and environmental impact, sharing the ride among a number of drivers (i.e., car pooling) has recently gained significant interest from industry and academia. Hence, a number of ride sharing services have appeared along with various algorithms on how to match a rider request to a driver who can provide the ride sharing service. However, existing techniques have several limitations that affect the quality of the ride sharing service, and hence hinder its wide applicability. This paper proposes SHAREK*; a scalable and efficient ride sharing service that overcomes the limitations of existing approaches. SHAREK* allows riders requesting the ride sharing service to indicate the maximum price they are willing to pay for the service, the maximum waiting time before being picked up and the maximum arrival time for arriving the destination. In the mean time, SHAREK* computes the price of the service based on the distance of the rider trip and the detour that the driver will make to offer the service. Then, SHAREK* returns a set of drivers that can make it to the rider within its price and temporal constraints. Since there could be many of such drivers, SHAREK* internally prunes those drivers that are dominated by others, i.e., they provide higher price and higher waiting time (or arrival time) than other drivers. To realize its efficiency and scalability, SHAREK* employs a set of early pruning techniques that minimize the need for any actual shortest path computations.
- Dynamic matching
- Ride sharing