I understand Uber (or any other cab service) server receives the user coordinates through apps. Say I book the cab at 10am. How does Uber know which cab is vacant and nearest to the user coordinate, then notifies that driver?
Say I am at location X of city New York. How does the Uber server know what are the cabs near to location X? Do all cabs send their coordinates to the server at a regular interval of time which the server maintains somewhere in memory and then when a user request comes, it selects the cab which is nearest or is it an altogether different algorithm?
I believe Uber uses spherical geometry services. But I am not sure how it helps in above?