№ 5(29) 2010
Н. Б. Дворкина, Д. Е. Намиот
Использование ОрепСеИШ АР1 в мобильных сервисах
Авторами рассматривается практическое использование ОрепСеНЮ-проекта, поддерживающего открытую базу данных с координатами сот операторов мобильной связи по всему миру.
В основе статьи лежит работа, выполненная в Лаборатории открытых информационных технологий факультета Вычислительной математики и кибернетики МГУ им. М. В. Ломоносова.
Предоставление пользователям мобильных телефонов дополнительной информации о его местоположении давно считается перспективной услугой. На сегодняшний день существует возможность построения интересных сервисов для абонентов сотовых сетей. Можно получить адреса близлежащих заправок, супермаркетов и других объектов, узнать о том, где находится ваш ребенок, или вызвать службу спасения. Все технологии, связанные с определением местоположения в сотовых сетях, называют Mobile Location Service (MLS) [17].
Операторы сотовых сетей применяют MLS в коммерческих целях для определения:
• собственного местоположения мобильной станции (мобильного телефона);
• местоположения удаленной мобильной станции (ассоциируется с установлением местоположения другого абонента) [20].
При этом для одних услуг необходимо «определение точного положения устройства (координаты х, у, Location-based service — LBS)» [17], а для других достаточно привязки к местонахождению пользователя (район, область, Location-dependent service). В первом случае это услуги по навигации, получению актуальной информации, связанной с координатами, например, отображение текущего положения мобильного устройства на карте. Во втором — знания точных координат не требуется, система оперирует понятием «район» {location). Примером подобной услуги могут служить широковещательные сообщения, которые изменяются в зависимости
от местоположения абонента, как «Столица» или «Область» в МТС. Это простейшая услуга, организованная по территориальному принципу. Подобным образом проводят поиск ближайших заправок, больниц, кинотеатров и прочих необходимых мест: с телефона поступает запрос, при этом у оператора имеется информация о том, с какой базовой станции он поступил. По базе данных производится поиск ближайших объектов, затем в том или ином виде они передаются на телефон пользователя» [17].
Пример услуги, основанной на определении местоположения удаленной мобильной станции, — «Ребенок под присмотром» [19], предоставляемой МТС.
Дисплеи современных мобильных телефонов (в частности, смартфонов) имеют возможности отображать на экране электронные карты достаточно высокого качества, что в свою очередь позволяет визуализировать информацию, получаемую с помощью сервисов, основанных на местоположении, в результате чего она становится исключительно полезной и наглядной.
В качестве альтернативы коммерческим MLS-сервисам широко развиваются общедоступные услуги, распространяемые через Интернет. Например, Google Maps предлагает такие LBS-сервисы, как My Location [12] для показа текущего местоположения мобильного устройства на карте, как правило, в пределах 1000 м, Direction — для прокладки маршрута от текущего местоположения к пункту назначения и др. Примером сервиса, осно-
№ 5(29) 2010
ванного на знании «района», может служить ОеоЭМБ от АЬауаЫе1 [7]. Пользователь отправляет ЭМБ-сообщение определенного формата с указанием своего адреса на специальный номер. После этого остальные сообщения от него будут показываться на карте.
Подобные общедоступные сервисы становятся все более актуальными с развитием WAP-тexнoлoгий. Кроме того, они могут предоставлять больше информации, используя более полные базы данных, чем у сотовых операторов.
Для получения некоммерческих сервисов, основанных на местоположении пользователя, для начала необходимо каким-то образом определить данное местоположение. В случае упомянутой выше услуги ОеоЭМБ пользователь делает это сам. Чаще процесс определения местоположения и последующий запрос соответствующего сервиса производятся программными средствами прозрачно для пользователя.
Далее авторами рассмотрены различные способы определения местоположения мобильного устройства как с участием сотового оператора, так и без него, а также представлен пример применения технологии получения позиции пользователя ЛУ1Е устройства посредством общедоступной базы координат сотовых станций всех операторов.
Технологии позиционирования мобильных устройств. Базовые способы определения местоположения мобильного объекта
Существует несколько основных способов определения текущей позиции какого-либо передвигающегося объекта.
1. Навигационное счисление (пути) — текущее положение объекта, рассчитывается относительно предыдущего. В расчете используются:
• предыдущая позиция;
• скорость движения;
• направление движения;
• интервал времени;
• дистанция;
• траектория движения.
2. Расчеты местоположения по характеристикам сигналов, получаемых объектом от известных источников:
I. Позиция объекта считается такой же, как у ближайшего источника сигнала.
II. Методы трилатерации и триангуляции. Расчет позиции объекта производят по характеристикам сигналов, получаемых объектом от источников с известными координатами:
• простая трилатерация заключается в вычислении позиции объекта как точки, равноудаленной от источников сигнала;
• трилатерация с учетом силы сигнала — расстояние от объекта до источника сигнала считается пропорциональным силе приходящего от него сигнала;
• трилатерация с учетом задержки сигнала (Time of Arrival — TOA) — расстояние рассчитывается по времени задержки получения сигнала;
• мультилатерация (Time Difference of Arrival — TDOA), известна также как гиперболическая трилатерация — позиция определяется по разнице во времени получения сигналов. Этот метод аналогичен ТОА, но в данном случае не требуется синхронизации часов.
III. Триангуляция (Angels of Arrival — АОА) — позиция рассчитывается по углам и сторонам треугольников, образованных объектом и источниками сигналов.
Метод навигационного счисления при определении положения мобильных устройств не применяется. При расчете позиции с использованием сигналов, получаемых от известных источников, в качестве источников выступают базовые станции сотовой сети.
Концепция LBS
Для определения LBS вводятся следующие понятия:
• позиция — географические координаты объекта, может быть представлена точкой в декартовых координатах;
Н. Б. Дворкина, Д. Е. Намиот
Использование OpenCelllD API в мобильных сервисах
№ 5(29) 2010
• местоположение — конкретное место на Земле. В отличие от позиции, интерпретируется пользователем как конкретный объект;
• LCS (Location Service) в противоположность LBS оперирует только локализацией устройства и делает его местоположение доступным для внешних участников процесса;
• LBS добавляет какую-либо значимую информацию к данным о местоположении мобильного устройства, возвращаемым LCS, и предоставляет ее пользователю или третьей стороне (рис. 1).
Стандартизация LBS
Вопросами стандартизации позиционирования в сотовых сетях и сопутствующих сервисах занимаются следующие организации:
• 3GPP и 3GPP2 (3-rd Generation Partnership Project) — консорциум, разрабатывающий спецификации для мобильной телефонии третьего поколения в составе ITU.
• ОМА (Open Mobile Alliance) — организация, издающая открытые технические спецификации прикладного уровня и каркасы сервисов. Предоставляет протоколы и интерфейсы для обмена данными о местоположении между различными сетями.
• IETF (Internet Engineering Task Force) — открытое международное сообщество про-
ектировщиков, ученых, сетевых операторов и провайдеров, которое занимается развитием протоколов и архитектуры Интернета. Специфицирует протоколы интеграции данных местоположения с Интернетом и web-приложениями.
Стандартизованные технологии определения местоположения мобильного устройства в сотовых сетях
Технологии позиционирования в сотовых сетях можно разделить на три группы:
• позиция определяется мобильным телефоном без участия сетевой инфраструктуры (Mobile-Assisted);
• позиция определяется мобильным телефоном при помощи сетевой инфраструктуры. Мобильное устройство производит некоторые вычисления и отправляет их сотовому оператору, который рассчитывает местоположение и хранит эту информацию у себя (Network-Based);
• позиция полностью рассчитывается сетевой инфраструктурой (Mobile-Based).
Для сотовых сетей GSM в 1997 г. Ассоциация изготовителей средств связи США (Telecommunications Industry Association — TIA) инициировала процесс стандартизации технологий позиционирования мобильных устройств. В результирующий документ были включены 4 метода:
Target
Рис. 1. Схема предоставления LBS-сервиса
Источник: Location Based Services for Mobiles: Technologies and Standards. Shu Wang, Jungwon Min, Byung K. Yi. LG Electronics Mobile Research, USA.
№ 5(29) 2010
• Cell ID/ТА (Cell Identification and Time Advanced);
• E-OTD (Enhanced Observed Time Difference);
• UpLink Time Of Arrival (UL-TOA);
• A-GPS (Assisted GPS).
В Европе за стандартизацию сервисов определения местоположения и технологий позиционирования в сетях UMTS отвечает ETSI. Релиз 99 UMTS специфицирует следующие способы позиционирования:
• базирующиеся на сотовом покрытии: о CelllDwithRTT;
о CelllD 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.
В таблице 1 представлены технологии позиционирования в сотовых сетях, требующие участия сетевой инфраструктуры.
Рассмотрим специфицированные технологии позиционирования в сотовых сетях (рис. 2).
Cell ID (Cell Identification). Простейший метод вычисления координат абонента по таблице расположения и радиусу ячеек сотовой сети, в которой мобильный телефон
обслуживается определенной базовой станцией (БС) [11]. Параметр Cell ID (идентификатор ячейки/соты) присваивается оператором каждому сектору БС и служит для его идентификации. Он обязательно передается на контрольном канале этого сектора и отображается в инженерном меню почти любого телефона, состоит из двух байтов. Из него можно выделить номер БС и сектора. Точность определения местоположения зависит от густоты сети БС. В центре крупного города точность обычно составляет несколько сотен метров, а на окраинах и в небольших городах — около 1 км. В сельской местности точность снижается до 35 км. За пределами зоны покрытия сотовой сети LBS недоступны. Данный метод не требует модификации сетевого оборудования и клиентского терминала, достаточно установки программного комплекса и MLC (центр мобильной локализации) [20].
Cell ID/ТА (Cell Identification and Time Advanced). Позиция мобильного устройства определяется по времени прохождения сигнала от телефона до БС. Параметр ТА — компенсация времени прохождения сигнала от телефона до БС, фактически означает расстояние до БС. Актуальное состояние поддерживается только во время разговора, при сигнализации также обновляется, но может иметь некоторую погрешность [20].
Замеряется ТА любым мобильным устройством и доступен из инженерного меню. «На первом этапе определяется базовая станция, с которой работает телефон, при этом расстояние и направление до не-
Таблица 1
Технологии позиционирования и сетевая инфраструктура
Cell ID Cell ID/TA EFLT AFLT AOA TDOA EOTD GPS A-GPS
Network-Based ■
Mobile-Assisted ■ ■ ■ ■
Moble-Based ■ ■ ■ ■ ■
Источник: Location Based Services for Mobiles.:Technologies and Standards. Shu Wang, Jungwon Min, Byung K. Yi. LG Electronics Mobile Research, USA.
Н. Б. Дворкина, Д. Е. Намиот
Использование OpenCelllD API в мобильных сервисах
№ 5(29) 2010
Building
Multipath or Signal Strength Analysis
E-OTD & A-FLT
GPS&A-GPS
Рис. 2. Технологии определения позиции мобильного устройства в сотовых сетях
Источник: Location Based Services for Mobiles.:Technologies and Standards. Shu Wang, Jungwon Min, Byung K. Yi. LG Electronics Mobile Research, USA.
го неизвестны. С помощью временной задержки рассчитывается удаление телефона, и получается окружность, на которой может располагаться терминал. Учитывая, что базовые станции имеют антенны, расположенные по секторам, можно узнать, в каком секторе находится аппарат, т. е. его примерные координаты. Проблема в том, что сектор составляет от 30 до 45 градусов, и разброс величин остается достаточно большим (в среднем точность около 200-300 м)» [17]. В дополнение кТА может использоваться параметр RXLEV — «уровень принимаемого по данному каналу радиосигнала на входе в приемник телефона. Измеряется в «децибелах к милливатту» (dBm). Рассчитывается по формуле RxLev = 10lg Rx (мВт)/1 мВт. Так как мощность принимаемого сигнала значительно меньше 1 мВт, полученное значение отрицательно. Причем чем оно численно меньше, тем сигнал лучше. В сотовых сетях стандарта GSM мощность принимаемого
сигнала колеблется в пределах примерно от-35 dBm до-111 dBm» [20]. (рис. 3).
CelllD with RTT — UMTS. По существу этот метод аналогичен Cell ID/ТА. Параметр RTT — время между отправкой запроса и получением ответа. При помощи него рассчитывается расстояние от БС или LMU (модуль измерения местоположения) до мобильного устройства с использованием модели распространения сигнала. Точность измерения RTT в UMTS значительно выше.
CelllD with RSPB — UMTS. Параметр RSPB дает информацию о потере мощности сигнала передатчика БС, что позволяет определять расстояние до телефона.
A-GPS (Assisted GPS). Данный метод использует систему глобального позиционирования с поддержкой от сетевой инфраструктуры. В мобильный телефон должен быть встроен модуль GPS, а «часть вычислительных функций переносится на MLC для снижения энергопотребления и ускорения определения местоположения» [20].
5(29) 2010
Neighbar Base Station 2
Cell Identity + Time Advance + RXLEV
Рис. 3. Технологии Cell ID/ТА и Cell ID/TA+RXLEV
Источник: Location Based Services for Mobiles: Technologies and Standards. Shu Wang, Jungwon Min, Byung K. Yi. LG Electronics Mobile Research, USA.
Расчет координат осуществляется следующим образом. GPS-сигнал поступает на мобильный телефон, затем он передается на БС, которая определяет координаты телефона и передает их обратно. Базовые станции, принимающие сигнал радиотелефона, должны быть оснащены блоками определения местоположения LMU. Процесс позиционирования инициируется абонентом и заканчивается передачей данных о его местонахождении. Сеть упрощает терминалу поиск спутников, указывая, какие именно из них следует искать. Точность расчетов может составить от 5 до 50 м, в то время как обычный GPS обеспечивает от 0,1 до 30 м.
Более того, в некоторых сетях (к примеру, CDMA) базовые станции могут быть оснащены своими GPS-антеннами и соответственно приемниками. Они выступают в качестве ретранслятора сигнала от спутников, при этом по понятным причинам возникает дополнительная погрешность, и точность определения координат уменьшается (от 5 до 400 м). Таким образом, достигается работа сервиса даже там, где в прямой видимости нет спутников или сигнал достаточно слабый (в том числе в помещениях). Время расчета текущих координат составляет от 20 до 40 с, в среднем — 20 с.
Перекладывание части функций на сетевое оборудование позволяет уменьшить размеры телефонов, увеличить время их работы. На сегодняшний день они практически ничем не отличаются от обычных сотовых аппаратов. Однако это модели высшего ценового диапазона, так как требуется не
только изменение самой трубки, но и сетевой инфраструктуры [17].
На рисунке 4 показана сравнительная точность различных методов определения координат. Очевидно, что наилучшей точностью обладают традиционный 6РЭ, а также А-СРЭ.
Вышесказанное позволяет сделать вывод, что только технологии позиционирования, основанные на знании покрытия (Се1-Пс1 и т.п.) не требуют дополнений в инфраструктуре сети и усовершенствований самих телефонов. Для них необходима установка программного комплекса М1_С. Реализация технологий, основанных на расчетах временных задержек (Е-ОТО, ТООА и др.), подразумевает оснащение практически всех базовых станций блоками 1_ми. «Для обеспечения вы-
Accuracy/meters
Рис. 4. Сравнение точности различных методов позиционирования в сотовых сетях
Источник: http://www.mobile-review.com/standard/gps-in-nets.shtml.
Н. Б. Дворкина, Д. Е. Намиот
Использование OpenCelllD API в мобильных сервисах
№ 5(29) 2010
сокой точности необходима синхронизация работы этих блоков в пределах всей сети, что обычно приводит к использованию в составе каждого блока приемника GPS. Программное обеспечение сети также должно быть подвергнуто серьезной модификации для приема сигнала сотового телефона не менее чем тремя базовыми станциями» [8]. Еще более сложные технологии осуществимы только в самых современных сетях.
Получение текущей ПОЗИЦИИ на JME устройстве
Очевидно, концепция LCS должна поддерживаться как со стороны сотовой сети, так и со стороны производителей мобильных устройств, которые предоставляют соответствующие API для получения координат, независимо от технологии позиционирования.
В 2002 г. для JME устройств в рамках Java Community Process (JCP) была разработана спецификация 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 кВ;
• RAM — 2 кВ;
— название пакета — javax.microedition. location;
— API дополняют профиль MIDP (Mobile Information Device Profile), специфицирующий группу мобильных устройств.
Спецификация JSR 179 определяет общие интерфейсы для позиционирования устройства, которые должны работать с большинством методов позиционирования, таких как GPS или E-OTD, скрывая особенности реализации от пользователя.
Возможность определения местоположения пользователя затрагивает его безопасность. Поэтому приложения должны иметь разрешения на применение Location API. Вопросы безопасности данной спецификацией не рассматриваются и могут решаться по-разному.
Спецификация JSR 179 использует:
• http://www.jcp.org
о J2ME Connected, Limited Device Configuration v1.1;
о Mobile Information Device Profile;
• http://www.etsi.org или http://www.3gpp.
org
о GSM 03.71: Digital cellular telecommunications system (Phase 2+); Location Services (LCS); Functional Description Stage 2;
о 3GPP TS 22.071: Location Services (LCS); Service description, Stage 1;
о 3GPP TS 23.171: Functional stage 2 description of location services in UMTS.
Дополнительные источники:
• Location Inter-operability Forum (LIF) (http://www.locationforum.org).
Таким образом, все стандартизованные на сегодняшний день способы позиционирования мобильного устройства подразумевают либо наличие в нем GPS-оборудования, либо участие сотового оператора, предоставляющего информацию о местоположении. Кроме того, для JME производитель мобильного устройства должен реализовать API, специфицированные в JSR 179.
Применение технологии OpenCellld для построения LBS-сервисов
В случае, когда мобильный телефон не оснащен GPS-оборудованием и сетевая инфраструктура не поддерживает позиционирование терминала или производитель конкретного устройства не предоставляет API
№ 5(29) 2010
получения координат, для определения местоположения устройства можно воспользоваться общедоступной технологией Ореп-Cellld, идея которой аналогична Cell ID. Однако, в отличие от последней, координаты абонента не вычисляются сотовым оператором, а возвращаются из общедоступной базы данных через Интернет по запросу от мобильного устройства, т. е. для ее использования достаточно того, чтобы телефон имел доступ в Интернет и знал номер ближайшей ячейки сотовой сети.
База данных OpenCellld
OpenCellld — проект с открытым исходным кодом, целью которого является создание полной базы данных координат ячеек сотовых операторов по всему миру. Проект размещен на сайте www.opencellid.org и предоставляет свободный доступ к данным и инструментам для пополнения базы и получения информации о расположении ячеек, его курирует 8Motions1 — ведущий поставщик сервисов, основанных на местоположении.
Недостатком технологии OpenCellld является низкая точность определения координат мобильного устройства, которая может колебаться от нескольких сотен метров до нескольких километров, что связано с различной плотностью сети на разных территориях. Это может быть критично для задач точного позиционирования, но в других случаях ее бывает достаточно. В последнее время технология OpenCellld стала популярной благодаря прозрачной интеграции с Google Мар.
К сожалению, сотовые операторы не открывают информацию о местоположении своих ячеек по нескольким причинам. Во-первых, не хотят предоставлять сведения о своих вышках конкурентам. Во-вторых, используют эту информацию для оказания коммерческих услуг. Поэтому база данных OpenCellld пополняется самими пользова-
1 http://corp.8motions.com/? page_id=5.
телями. Позиция каждой ячейки определяется как среднее арифметическое между всеми измерениями, которые для нее заносились.
Технология OpenCellld позволяет любому пользователю мобильной связи написать и использовать приложение для расширения базы данных и получения информации о своем местоположении по текущей ячейке.
OpenCellld предоставляет API для работы с базой данных. Это обычные REST API, которые имеют два существенных вызова — Measure/add, Cell/get и несколько дополнительных.
Measure/add вносит параметры ячейки в базу данных и используется приложениями, расширяющими ее содержание. Для добавления данных в базу необходим регистрационный ключ в OpenCelllD. Он используется поставщиком API для предотвращения попадания в базу фальшивых данных. Пример вызова функции Measure/add выглядит следующим образом: http://www.opencellid.org/measure/add? key=myapikey&mnc=1&mcc=2&lac=200&cell id=234&lat=3.42&lon=3.12.
Параметры:
• myapikey: ключ, получаемый при регистрации в OpenCelllD;
• тсс: мобильный код страны;
• mnc: мобильный код сети;
• lac: код региона;
• cellid: номер ячейки в виде десятичного числа;
• measured_at (optionnal): время занесения значений (необязательный);
• lat: широта;
• Ion: долгота.
Функция возвращает результат ok или nook.
При каждом добавлении измерений для ячейки, которая уже есть в базе данных, ее позиция пересчитывается.
Cell/get используется для получения местоположения текущей ячейки. Пример вызова: http://www.opencellid.org/cell/get? mcc=250&mnc=99&cellid=29 513&1ас=0.
Н. Б. Дворкина, Д. Е. Намиот
Использование OpenCelllD API в мобильных сервисах
В качестве результата возвращается но их удалять. На сегодняшний день функ-простой xml-документ (см. листинг 1). ция некорректно работает с очень больши-
. г, , . мисписками.
Листинг 1. Возврат функции Cell/get
<rsp stat=«ok» >
<cell lat=«57.8240013122 559» 1ас=«0» lon=«28.00119972 229» mcc=«250» nbsamples=«38» range=«0» cellid=«29 513» mnc=«99»>
</cell>
</rsp >
Cell/getMeasures позволяет получить необработанные измерения, которые были использованы для расчета позиции ячейки.
По умолчанию результат возвращается в формате xml (см. листинг 2).
Получение СеИМ на ЛШ устройстве
К сожалению, способ получения номера ячейки сотовой связи и остальных парамет-
Листинг 2. Возврат функции Cell/getMeasures
<rsp stat=«ok» >
<cell mnc=«99» nbSamples=«38» lat=«57.8240013122 559» lac=«0» lon=«28.00119972 229» range=«6000» mcc=«250» cellld=«29 513»>
<measure takenBy=«l» lat=«57.8 240165710 449» lon=«28.00119972 229» takenOn=«Wed Apr 02 14:16:32 +0200 2008»/>
<measure takenBy=«l» lat=«57.8240165710 449» lon=«28.00119972 229» takenOn=«Wed Apr 02 14:17:01 +0200 2008»/>
<measure takenBy=«l» lat=«57.8240165710 449» lon=«28.00119972 229» takenOn=«Thu Apr 03 14:45:10 +0200 2008»/>
</cell>
</rsp >
Cell/getlnArea применяют для получения списка всех ячеек в выбранной области. Функция может быть полезна для ограничения круга рассматриваемых ячеек.
Measure/uploadCsv позволяет получить все измерения сразу.
Measure/delete используется для удаления мусора. Пользователь может удалить ошибочные данные, им самим добавленные в базу.
После того как все измерения, относящиеся к одной ячейке, будут удалены, она также будет удалена из базы данных.
Measure/list возвращает список измерений, занесенных пользователем, в базу данных.
Список создается по пользовательскому ключу, из него можно получить номера внесенных им измерений, по которым мож-
ров, необходимых для определения позиции ячейки на JME устройствах, не специфицирован. Обычно производители мобильных устройств предоставляют эту информацию через системные свойства. Их соответствующие названия необходимо узнавать в технической документации конкретного производителя. Ниже приведены примеры получения некоторых параметров сети для Sony Ericsson, Motorola и Nokia.
Sony Ericsson
System.getProperty («com.sonyericsson.net. cellid»)
System.getProperty («com.sonyericsson.net. lac»)
System.getProperty («com.sonyericsson.net. mcc»)
System.getProperty («com.sonyericsson.net. mnc»).
№ 5(29) 2010
Motorola
System.getProperty («CelllD») System.getProperty («LocAreaCode»).
Nokia
s-40 System. getProperty («Cell-ID»)
s-60 System. getProperty («com.nokia.mid.
cellid»).
Получение позиции ячейки на JME устройстве из базы OpenCelllD
Получение позиции мобильного устройства из базы OpenCellld происходит через 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 обеспечивает отправление запроса и получение данных из базы OpenCelllD с мобильного устройства после того, как все необходимые параметры сети на нем получены [16].
Таким образом, если производитель мобильного устройства предоставляет возможность получения данных сети и обеспечивает соединение с Интернетом, местоположение устройства может быть определено путем запроса позиции текущей ячейки сотовой связи из общедоступной базы данных OpenCelllD. На этом основана реализация простого LBS-сервиса, рассмотренного авторами.
Список литературы
1. Горнаков С. Г. Программирование мобильных телефонов на JAVA 2 ME. — М., 2008.
2. Мобильные телекоммуникации. 2008. №3. [Электронный ресурс], http://www.mobilecomm.ru/ pdf/2008/mtk_03-2008.pdf.
3. Соловьев Ю. А. Спутниковая навигация и ее приложения. — М., 2003.
4. Хабибуллин И. Самоучитель JAVA 2. — СПб, 2007.
5. Location Based Services for Mobiles.:Technologies and Standards. Shu Wang, Jungwon Min, Byung K. Yi. LG Electronics Mobile Research, USA.
6. http://abava.blogspot.com/2007/11/blog-post_29. html.
7. http://abava.blogspot.com/2007/11/geosms-beta-2. html.
8. http://www.bnti.ru/showart.asp?aid=514&lvl = 01.01.15.
9. http://developers.sun.com/mobility/midp/articles/ge-nericframework/.
10. http://e71.ru/publ/4-1-0-29.
11. http://www.gazeta.lv/story/4605.html.
12. http://www.google.com/mobile/gmm/mylocation/ index.html.
13. http://jcp.org/en/jsr/detail7idH79.
14. http://jcp.org/en/jsr/detail7idH97.
15. http://mobiforge.com/developing/story/adding-location-a-non-gps-phone-introducing-opencellid.
16. http://www.mobilab.ru/articles/82/.
17. http://www.mobile-review.com/standard/gps-in-nets.shtml.
18. www.opencellid.org.
19. http://www.rebenok.mts.ru/.
20. http://ru.wikipedia.org.
Н. Б. Дворкина, Д. Е. Намиот