Мобильные навигационные сервисы и применение технологии OpenCellID для определения местоположения

Н.Б. Дворкина, Д.Е. Намиот, Б.А. Дворкин 

Предоставление пользователям мобильных телефонов дополнительной информации, связанной с его местоположением, давно считается перспективной услугой. Уже сегодня существует возможность построения интересных сервисов для абонентов сотовых сетей. Можно получить адреса близлежащих заправок, супермаркетов и других объектов, узнать о том, где находится ребенок, или вызвать службу спасения.

Технологии, связанные с определением местоположения в сотовых сетях, называют Mobile Location Service (MLS) [1].

Операторы сотовых сетей применяют MLS в коммерческих целях. Основными направлениями являются:

  • определение собственного местоположения мобильной станции (мобильного телефона);
  • определение местоположения удаленной мобильной станции (ассоциируется с определением местоположения другого абонента). [2].

При этом для одних услуг необходимо «определение точного положения устройства (координаты х, у, location-based service — LBS), а для других достаточно привязки к «местонахождению пользователя (район, область, location-dependent service). В первом случае это услуги по навигации, получению актуальной информации, связанной с координатами, например, отображение текущего положения мобильного устройства на карте. Во втором же знания точных координат не требуется, система оперирует понятием «район» (location). Примером подобной услуги могут служить широковещательные сообщения, которые изменяются в зависимости от местоположения абонента, такие как «Столица» или «Область» в МТС. Это простейшая услуга, которая организована по территориальному принципу. Подобным же образом организован поиск ближайших заправок, больниц, кинотеатров и прочих необходимых мест: с телефона просто поступает запрос, при этом на стороне оператора имеется информация, с какой базовой станции он поступил. По базе данных объектов производится поиск ближайших, затем в том или ином виде они передаются на телефон пользователя [1].

Примером услуги, основанной на определении местоположения удаленной станции, является «Ребенок под присмотром» [3], предоставляемой MTC. Она позволяет определять, по какому адресу в данный момент находится удаленная мобильная станция.

Дисплеи современных мобильных телефонов (в частности, смартфонов) имеют возможности отображать на экране электронные карты достаточно высокого качества, что в свою очередь, позволяет визуализировать информацию, получаемую с помощью сервисов, основанных на местоположении, в результате чего она становится исключительно полезной и наглядной.

В качестве альтернативы коммерческим MLS-сервисам, широко развиваются общедоступные услуги, распространяемые через Интернет. Например, Google Maps предлагает такие LBS-сервисы, как My Location [4] для показа текущего местоположения мобильного устройства на карте, обычно в пределах 1000 м,  Direction для прокладки маршрута от текущего местоположения к пункту назначения и другие. Примером сервиса, основанного на знании «района», может служить GeoSMS от AbavaNet [5]. Пользователь посылает sms-сообщение определенного формата с указанием своего адреса на некоторый специальный номер. После этого все остальные сообщения от него будут показываться на карте.

Подобные общедоступные сервисы становятся все более актуальными с развитием WAP-технологий. Кроме того они могут предоставлять больше информации, используя более полные базы данных, чем у сотовых операторов.

Для получения некоммерческих сервисов, основанных на местоположении пользователя, необходимо для начала это местоположение каким-то образом определить. В случае описанной выше услуги GeoSMS пользователь это делает сам явным образом. Чаще процесс определения местоположения и последующий запрос соответствующего сервиса производится программными средствами прозрачно для пользователя.

Технологии позиционирования мобильных устройств

Базовые способы определения местоположения мобильного объекта

Существует несколько основных способов определения текущей позиции какого-либо передвигающегося объекта.

Навигационное счисление (пути) — текущее положение объекта рассчитывается относительно предыдущего. В расчете используются:

  • предыдущая позиция;
  • скорость движения;
  • направление движения;
  • интервал времени;
  • дистанция;
  • траектория движения.

Расчеты местоположения по характеристикам сигналов, получаемых этим объектом от известных источников. Позиция объекта считается такой же, как у ближайшего источника сигнала. Используются методы трилатерации и триангуляции. Расчет позиции объекта производят по характеристикам сигналов, получаемых объектом от источников с известными координатами.

Трилатерация:

  • Простая трилатерация заключается в вычислении позиции объекта как точки равноудаленной от источников сигнала.
  • Трилатерация с учетом силы сигнала. Расстояние от объекта до источника сигнала считается пропорциональным силе приходящего от нее сигнала.
  • Трилатерация с учетом задержки сигнала (ТОА — Time of Arrival). Расстояние рассчитывается по времени задержки получения сигнала.
  • Мультилатерация (TDOA — Time Difference of Arrival). Известна также как гиперболическая трилатерация. Позиция рассчитывается по разнице во времени получения сигналов. Этот метод аналогичен TOA, но не нуждается в синхронизации часов.

Триангуляция (AOA — Angels of Arrival). Позиция рассчитывается по углам  и сторонам треугольников, образованных объектом и источниками сигналов.

Метод навигационного счисления при определении положения мобильных устройств не используется. А при расчете позиции с использованием сигналов, получаемых от известных источников, в качестве источников выступают базовые станции сотовой сети.

Концепция LBS

Для определения LBS вводятся следующие понятия:

  • Позиция — географические координаты объекта. Позиция может быть представлена точкой в декартовых координатах.
  • Местоположение — конкретное место на Земле. Ð’ отличие от позиции местоположение может быть интерпретировано для пользователя, как конкретный объект.
  • LCS (Location Service) в отличие от LBS оперирует только с локализацией устройства и делает его местоположение доступным для внешних участников процесса.
  • LBS добавляет какую-либо значимую информацию к данным о местоположении мобильного устройства, возвращаемым LCS и предоставляет ее пользователю или третьей стороне (рис. 1).
Рис. 1. Схема предоставления LBS-сервиса [6]
Рис. 1. Схема предоставления LBS-сервиса [6]

Стандартизация LBS

Вопросами стандартизации позиционирования в сотовых сетях и сопутствующих сервисов занимаются следующие организации:

  • 3GPP и 3GPP2 (3-rd Generation Partnership Project) —  консорциум, разрабатывающий спецификации для мобильной телефонии третьего поколения в составе ITU. Область интересов — позиционирование в сотовых сетях и соответствующие сервисы.
  • OMA (Open Mobile Alliance) — организация, издающая открытые технические спецификации прикладного уровня и каркасы сервисов. Предоставляет протоколы и интерфейсы для обмена данными о местоположении между различными сетями.
  • IETF (Internet Engineering Task Force) — открытое международное сообщество проектировщиков, ученых, сетевых операторов и провайдеров, которое занимается развитием протоколов и архитектуры сети Интернет. Специфицирует протоколы интеграции данных местоположения с интернетом и WEB-приложениями.

Стандартизованные технологии определения местоположения мобильного устройства в сотовых сетях

Все технологии позиционирования в сотовых сетях можно разделить на три группы:

  • Позиция определяется мобильным телефоном без участия сетевой инфраструктуры (Mobile-Assisted).
  • Позиция определяется мобильным телефоном при помощи сетевой инфраструктуры. Мобильное устройство производит некоторые вычисления и отправляет их сотовому оператору, который рассчитывает местоположение и хранит эту информацию у себя (Network-Based).
  • Позиция полностью рассчитывается сетевой инфраструктурой (Mobile-Based).

Для сотовых сетей GSM в 1997 г. TIA (Ассоциация изготовителей средств связи США) инициировала процесс стандартизации технологий позиционирования мобильных устройств. В результирующий документ были включены 4 метода:

  • Cell ID/TA (Cell Identification and Time Advanced )
  • E-OTD (Enhanced Observed Time Difference)
  • UL-TOA (UpLink Time Of Arrival)
  • A-GPS (Assisted GPS)

В Европе за стандартизацию сервисов определения местоположения и технологий позиционирования в сетях UMTS отвечает ETSI. Релиз 99 UMTS специфицирует следующие способы позиционирования:

  • Методы, базирующиеся на сотовом покрытии.
    • CellID with RTT;
    • CellID with RSPB.
  • Методы, основанные на оценке времени прибытия сигнала:
    • TDOA (Time Difference of Arrival);
    • TDOA with IPDL (Time Difference of Arrival);
    • TDOA with CVB (Time Difference of Arrival).
  • Assisted GPS.

Для сетей CDMA2000 были дополнительно определены технологии:

  • EFLT;
  • AFLT, базирующийся на технологии TDOA.

Ниже будут коротко описаны все специфицированные технологии позиционирования в сотовых сетях. На рис.2. схематично показаны способы определения координат мобильного устройства для них.

Рис. 2. Технологии определения позиции мобильного устройства в сотовых сетях [6
Рис. 2. Технологии определения позиции мобильного устройства в сотовых сетях [6]

Cell ID (Cell Identification)

Простейший метод  вычисления координат абонента по таблице расположения и радиуса ячеек сотовой сети, в которой мобильный телефон обслуживается определенной базовой станцией (БС) [7]. Параметр Cell ID (идентефикатор ячейки/соты) присваивается оператором каждому сектору каждой БС, и служит для его идентификации. Он обязательно передается на контрольном канале этого сектора и отображается в инженерном меню почти любого телефона. Состоит из двух байтов. Из него можно выделить номер БС и номер сектора. Точность определения местоположения зависит от густоты сети базовых станций. В центре крупного города точность обычно составляет несколько сотен метров, а на окраинах и в небольших городах — около километра. В сельской местности точность снижается до 35 км. За пределами зоны покрытия сотовой сети LBS недоступны.  Метод не требует модификации сетевого оборудования и клиентского терминала, достаточно установки программного комплекса и MLC (центр мобильной локализации) [2].

 Cell ID/TA (Cell Identification and Time Advanced )

Позиция мобильного устройства определяется по времени прохождения сигнала от телефона до БС. TA — параметр компенсации времени прохождения сигнала от телефона до БС, и фактически означает расстояние до БС. Актуальное состояние поддерживается только во время разговора, при сигнализации также обновляется, но может иметь некоторую погрешность.[2]

TA замеряется любым мобильным устройством и доступен из инженерного меню. На первом этапе определяется базовая станция, с которой работает телефон, при этом расстояние и направление до него неизвестны. С помощью временной задержки рассчитывается удаление телефона и получается окружность, на которой может располагаться терминал. Учитывая, что базовые станции имеют антенны, расположенные по секторам, можно узнать, в каком секторе находится аппарат, то есть его примерные координаты. Проблема в том, что сектор составляет от 30 до 45 градусов, и разброс величин остается достаточно большим (в среднем точность около 200–300 м) [1]. В дополнение к TA может использоваться параметр RXLEV — «уровень принимаемого по данному каналу радиосигнала на входе в приемник телефона. Измеряется в «децибеллах к милливатту» (dBm). Рассчитывается по формуле RxLev = 10lg Rx(мВт)/1 мВт. Так как мощность принимаемого сигнала значительно меньше 1 мВт, получившееся значение отрицательно. Причем чем оно численно меньше, тем сигнал лучше. В сотовых сетях стандарта GSM мощность принимаемого сигнала колеблется в пределах примерно −35 dBm — −111 dBm [2] (рис. 3).

Рис. 3. Cell ID/TA и Cell ID/TA+REXLV [5]
Рис. 3. Cell ID/TA и Cell ID/TA+REXLV [5]

Cell ID with RTT — UMTS

По существу, метод аналогичен Cell ID/TA. Параметр RTT — время между отправкой запроса и получением ответа. При помощи него рассчитывается расстояние от БС или LMU (модуль измерения местоположения) до мобильного устройства и с использованием модели распространения сигнала. Точность измерения RTT в UMTS значительно выше.

Cell ID with RSPB — UMTS

Параметр RSPB — дает информацию о потери мощности сигнала передатчика БС. Позволяет определять расстояние до телефона по потере мощности опорного сигнала

A-GPS (Assisted GPS)

Метод использует систему глобального позиционирования с поддержкой от сетевой инфраструктуры. В мобильный телефон должен быть встроен модуль GPS, а часть вычислительных функции переносится на MLC для снижения энергопотребления и ускорения определения местоположения [2].

Расчет координат происходит следующим образом. GPS-сигнал поступает на мобильный телефон, затем он передается на БС, которая рассчитывает координаты телефона и передает их обратно. Базовые станции, принимающие сигнал радиотелефона, должны быть оснащены блоками определения местоположения LMU. Процесс позиционирования инициируется абонентом и заканчивается передачей абоненту данных о месте его нахождения. При этом сеть упрощает терминалу поиск спутников, указывая, какие именно надо искать. Точность расчетов может составить от 5 до 50 м, в то время как обычный GPS обеспечивает от 0,1 до 30 м.

Более того, в некоторых сетях, (к примеру, CDMA) базовые станции могут быть оснащены своими GPS-антеннами и, соответственно, приемниками. Они могут выступать в качестве ретранслятора сигнала от спутников, при этом по понятным причинам возникает дополнительная погрешность, и точность определения координат уменьшается (от 5 до 400 м). Таким образом, достигается работа сервиса даже там, где в прямой видимости нет спутников или сигнал достаточно слабый (помещения в том числе). Время расчета текущих координат составляет от 20 до 40 секунд, в среднем это все-таки 20 секунд.

Перекладывание части функций на сетевое оборудование позволяет уменьшить размеры телефонов, увеличить их время работы — сегодня они практически ничем не отличаются от обычных сотовых аппаратов. Правда, это модели высшего ценового диапазона, так как требуется не только изменение самой трубки, но и сетевой инфраструктуры [1].

На рис. 4 показана сравнительная точность различных методов определения координат. Очевидно, что наилучшую точность дают традиционный GPS, а также A-GPS.

Рис. 4. Сравнение точности различных методов позиционирования в сотовых сетях [1]
Рис. 4. Сравнение точности различных методов позиционирования в сотовых сетях [1]
Как видно из приведенного выше обзора, только технологии позиционирования, основанные на знании покрытия (Cell Id и т. п.), не требуют дополнений в инфраструктуре сети и усовершенствований самих телефонов. Для них необходима установка программного комплекса  MLC. Реализации технологий, основанных на расчетах временных задержек (E-OTD, TDOA и т.п.) подразумевает оснащение практически всех базовых станций блоками LMU. Для обеспечения высокой точности необходима синхронизация работы этих блоков в пределах всей сети, что обычно приводит к использованию в составе каждого блока приемника GPS. Программное обеспечение сети также должно быть подвергнуто серьезной модификации для обеспечения приема сигнала сотового телефона не менее чем тремя базовыми станциями [8]. Еще более сложные технологии осуществимы, вообще, только в самых современных сетях.

Получение текущей позиции  на JME устройстве

Концепция LCS, очевидно, должна поддерживаться как со стороны сотовой сети, так и со стороны производителей мобильных устройств, которые предоставляют соответствующие API для получения координат, независимо от технологии позиционирования.

Для JME (Java Micro Edition) устройств в 2002 г. в рамках  JCP (Java Community Process) была разработана спецификация  JSR 179: Location API for JME. Инициатором и лидером экспертной группы является компания Nokia.

Location API for JME является дополнительным пакетом, позволяющим разработчикам писать LBS-приложения для устройств с ограниченными ресурсами.

Спецификация Location API определяет следующие положения:

  • API должны возвращать информацию о физическом местоположении устройства для Java-приложения стандартизированным способом;
  • Минимальная подходящая платформа — JME Connected, Limited Device Configuration (CLDC) v1.1.;
  • Минимальная рекомендованная память: ROM — 20 kB, RAM — 2 kB;
  • Название пакета — javax.microedition.location
  • API дополняют профиль MIDP (Mobile Information Device Profile), специфицирующий группу мобильных устройств.

Спецификация JSR 179 определяет общие интерфейсы для позиционирования устройства, которые должны работать с большинством методов позиционирования, таких, как  GPS или E-OTD, скрывая особенности реализации от пользователя.

Возможность определения местоположения пользователя затрагивает его безопасность. Поэтому приложения должны иметь разрешения на использование  Location API.

Таким образом, все стандартизованные на сегодняшний день способы позиционирования мобильного устройства подразумевают либо наличие в нем GPS-оборудования, либо участие сотового оператора, предоставляющего информацию о местоположении. Кроме этого для JME производитель мобильного устройства должен реализовать API,  специфицированные в JSR 179.

ПРИМЕНЕНИЕ ТЕХНОЛОГИИ OPENCELLID ДЛЯ ПОСТРОЕНИЯ LBS-СЕРВИСОВ

В случае, когда мобильный телефон не оснащен GPS-оборудованием и сетевая инфраструктура не поддерживает позиционирование терминала или производитель конкретного устройства не предоставляет API получения координат,  для определения местоположения устройства можно воспользоваться общедоступной технологией OpenCellId.

Идея технологии OpenCellId аналогична Cell ID. Но, в отличие от нее,  координаты абонента не вычисляются сотовым оператором, а возвращаются из общедоступной базы данных посредством Интернет по запросу от мобильного устройства. То есть для ее использования достаточно, чтобы телефон имел доступ в Интернет и «знал» номер ближайшей ячейки сотовой сети.

База данных OpenCellId

OpenCellId — проект с открытым исходным кодом. Целью данного проекта является создание полной базы данных координат ячеек всех сотовых операторов по всему миру. Проект располагается во всемирной паутине на сайте www.opencellid.org и предоставляет свободный доступ к данным и инструментам для пополнения базы и получения информации о расположении ячеек. Проект курирует ведущий поставщик сервисов, основанных на местоположении, 8Motions.

Недостатком технологии OpenCellId является низкая точность определения координат мобильного устройства, которая может колебаться от нескольких сотен метров до нескольких километров. Это связано с различной плотностью сети на разных территориях. Такая точность может быть критична для задач точного позиционирования, но в других случаях ее бывает достаточно. В последнее время технология OpenCellId набрала популярность, благодаря прозрачной интеграции с Google Map

К сожалению, сотовые операторы не открывают информацию о местоположении своих ячеек по нескольким причинам. Во-первых, они не хотят предоставлять информацию о своих вышках конкурентам; во-вторых: они сами используют эту информации для предоставления коммерческих услуг. Поэтому база данных OpenCellId пополняется самими пользователями. Позиция каждой ячейки определяется как среднее арифметическое между всеми измерениями, которые для нее заносились.

Технология OpenCellId позволяет любому пользователю мобильной связи написать и использовать приложение, для расширения базы данных и получения информации о своем местоположении по текущей ячейке.

OpenCellId предоставляет API для работы с базой данных. Это обычные REST API, которые имеют два существенных вызова measure/add and get/cell и несколько дополнительных.

Measure/add — добавляет параметры ячейки в базу данных и используется приложениями, расширяющими содержание базы данных. Для добавления данных в базу, необходим регистрационный ключ в OpenCellID. Этот ключ используется поставщиком API для предотвращения попадания в базу фальшивых данных. Вызов функции Measure/add  осуществляется следующим образом:

http://www.opencellid.org/measure/add?key=myapikey&mnc=1&mcc=2&lac=200&cellid=234&lat=3.42&lon=3.12

Параметры:

  • myapikey: ключ, получаемый при регистрации в OpenCellID.
  • mcc: мобильный код страны
  • mnc: мобильный код сети
  • lac: код региона
  • cellid: номер ячейки в виде десятичного числа
  • measured_at (optionnal): время занесения значений (необязательный)
  • lat: широта
  • lon: долгота

Функция возвращает результат ok или nook.

При каждом добавлении измерений для ячейки, которая уже есть в базе данных, ее позиция пересчитывается.

сell/get — используется для получения местоположения текущей ячейки:

http://www.opencellid.org/cell/get?mcc=250&mnc=99&cellid=29513&lac=0

Параметры:

  • myapikey: ключ, получаемый при регистрации в OpenCellID.
  • mcc: мобильный код страны.
  • mnc: мобильный код сети.
  • cellid: номер ячейки в виде десятичного числа.
  • lac: код региона (является необязательным параметром и используется для альтернативного определения местоположения, если ячейка не была найдена.)

В качестве результата возвращается простой xml-документ.

Получение CellId на JME устройстве

К сожалению, способ получения номера ячейки сотовой связи и остальных параметров, необходимых для определения позиции ячейки на JME устройствах не специфицирован. Обычно производители мобильных устройств предоставляют эту информацию через системные свойства. О названиях соответствующих системных свойств необходимо справляться в технической документации конкретного производителя.

Получение позиции ячейки на JME устройстве из базы OpenCellID

Получение позиции мобильного устройства из базы OpenCellId происходит через HTTP-запрос. JME определяет набор API Generic Connection Framework (GCF) для сетевых соединений, которые представляют собой упрощенную модель по сравнению с JSE.

GCF — иерархия интерфейсов и классов для создания различных соединений. Основу GCF составляет класс Connector. Интерфейсы определяют типы поддерживаемых соединений. Поддержка GCF осуществляется на уровне конфигурации. Набор интерфейсов расположен в пакете javax.microedition.io.

Интерфейс HttpConnection входит в GCF и является частью профиля MIDP. Он специфицируется JSR 197 и должен быть реализован во всех мобильных устройствах, поддерживающих выход в интернет. HttpConnection может открыть и использовать один входящий поток для получения данных с сервера и один исходящий для передачи данных на сервер. После того как поток данных использован, соединение должно быть закрыто и, если это необходимо, создано новое. Эта схема соответствует HTTP парадигме запрос-ответ. На стадии установления соединения могут быть заданы различные параметры, например тип запроса (GET/POST) или настройки заголовка. Использование HttpConnection обеспечивает отправление запроса и получение данных из базы OpenCellID с мобильного устройства после того, как все необходимые параметры сети на нем получены [9].

Таким образом, если производитель мобильного устройства предоставляет возможность получения данных сети и обеспечивает соединение с сетью Интернет, местоположение устройства может быть определено путем запроса позиции текущей ячейки сотовой связи из общедоступной базы данных OpenCellID.

Список литературы:

  1. http://www.mobile-review.com/standard/gps-in-nets.shtml
  2. http://ru.wikipedia.org
  3. http://www.rebenok.mts.ru/
  4. http://www.google.com/mobile/gmm/mylocation/index.html
  5. http://abava.blogspot.com/2007/11/geosms-beta-2.html
  6. Location Based Services for Mobiles. :Technologies and Standards. Shu Wang, Jungwon Min, Byung K. Yi. LG Electronics Mobile Research, USA …
  7. http://www.gazeta.lv/story/4605.html
  8. http://www.bnti.ru/showart.asp?aid=514&lvl=01.01.15
  9. http://www.mobilab.ru/articles/82/

 

ОСТАВЬТЕ ОТВЕТ