Ну, в реальности алгоритм не настолько-уж и сложный.
1) Определение расстояния до ближайших сотовых телефонов. В этом алгоритме используется синхронизация времени с очень высокой точностью. Причём время синхронизируется взаимно, путём усреднения между всеми имеющимися сотовыми телефонами. Телефон который чаще всех выполнял синхронизацию - имеет минимальную подстройку времени, новый телефон в сети - полностью переписывает своё время.
Имея точное время - рассчитывается взаимное положение. Карта и спутник при этом не нужны.
2) Каждый новый звонок до доступного абонента будет сначала просчитывать оптимально-короткий путь, с минимальным количеством ретрансляторов. При этом в адресе посылки будет не номера промежуточных телефонов - но позиция виртуальной карты.
Сначала устанавливается соединение - вся цепь последовательно выдаёт ответ успешности соединения. И только потом происходит переход на свободный частотный канал и времяной пакет, с записью в аппаратный фильтр - позволяющий сотовому телефону более не "думать" над ретрансляцией данных.
Собственно этот алгоритм в свободном доступе, уже года 4 наверное.
Просто очень мало мест где нет вышек сотовой связи - но зато есть много людей. Отчего на сотовые подобный алгоритм ещё не применялся.
Однако на рой дронов его уже применяли, и даже успешно.