Мобильные устройства и их характеристики. Платформа Windows Mobile
1.1. Определение мобильных устройств
Все мы уже давно привыкли к настольным компьютерным системам. То, что раньше воспринималось как диковинка и показатель достатка, сегодня - рядовой инструмент, который, разумеется, нельзя сравнить с молотком, разве что - по степени распространенности.
Что же такое "десктопная" система с точки зрения пользователя? Вам скажет всякий, это - средство общения, источник информации, игровая платформа и медиа - центр. Это суть настольного компьютера - решение прикладных задач, будь то задачи коммуникации, расчетные или развлекательные.
Если с настольными системами все предельно ясно, что можно сказать о системах мобильных? Следует отметить, что любимые бизнес-людьми ноутбуки, строго говоря, в рамках данного курса, не могут считаться мобильными устройствами, поскольку с точки зрения возможностей и вычислительных мощностей, они мало чем отличаются от десктопов.
Очевидно из названия, основной задачей мобильных устройств является обеспечение возможности работы с информацией когда и где угодно. Это и есть то самое, ради чего принесены в жертву такие достижения как превосходная графика, огромные вычислительные мощности и внушительные объемы памяти.
Эти физические особенности мобильных устройств накладывают и определенные ограничения на разработку программного обеспечения к ним. Разумеется, никто не отменял основополагающие принципы разработки ПО, проектирования баз данных и особенностей работы с памятью. Скорее наоборот. Именно физические особенности мобильных устройств дарят вторую жизнь классическим приемам разработки ПО и методам оптимизации приложений. Сегодня огрехи проектирования пользовательских интерфейсов, а также недостатки разработки приложений в целом, во многом могут быть компенсированы, с одной стороны, возросшими возможностями настольных систем, с другой стороны - удешевлением этих систем.
Однако, мобильные устройства - это совершенно иное дело. Здесь любые ошибки и неудобства пользовательского интерфейса, невозможно будет скрыть красочной графикой. То же можно сказать и о работе с памятью, и об алгоритмах работы.
1.2. Характеристики технологий передачи данных
Беспроводная передача данных - альфа и омега мобильных устройств, основа, благодаря которой сама концепция мобильных вычислений смогла была реализована. Рассмотрим основные технологии передачи данных.
Wi-fi
Wi-Fi - это аббревиатура от Wireless Fidelity, так, по образцу Hi-Fi, называют один из форматов передачи цифровых данных по радиоканалам, а точнее, стандарт IEEE 802.11b.
Устройства, использующие стандарт 802.11b, могут передавать данные с максимальной скоростью 11 Мбит/сек на частоте 2,4 ГГц. Пропускная способность сети стандарта 802.11b сопоставима с пропускной способностью выделенной линии средней мощности, а такой канал связи до сих пор могут позволить себе немногие организации, не говоря уже о частных лицах.
Беспроводная сеть - это система передачи данных, в которой в качестве носителя используются радиоволны. Беспроводная сеть позволяет предоставить пользователям доступ к информационным ресурсам там, где развертывание кабельной системы невозможно или экономически нецелесообразно. Wi-Fi (англ. Wireless Fidelity - "беспроводная точность") - стандарт на оборудование Wireless LAN. Разработан консорциумом Wi-Fi Alliance на базе стандартов IEEE 802.11, "Wi-Fi" - торговая марка "Wi-Fi Alliance". Технологию назвали Wireless-Fidelity по аналогии с Hi-Fi. Подключение нового пользователя к сети выполняется очень быстро, т.к. не требует прокладки проводов и установки информационных розеток. Средства безопасности на базе протоколов WEP, WPA и 802.1x обеспечивают надежное шифрование данных при передаче по радиоканалу и предоставляют функции аутентификации пользователей. Для дополнительной безопасности сеть может быть настроена на использование VPN.
Беспроводные сети имеют ряд существенных преимуществ перед обычными кабельными сетями:
- в отличие от обычной проводной LAN сети WLAN-сеть можно очень быстро развернуть, что очень удобно при проведении презентаций или в условиях работы вне офиса;
- пользователи мобильных устройств, при подключении к локальным беспроводным сетям, могут легко перемещаться в рамках действующих зон сети;
- скорости современных сетей довольно высоки (до 54 Мб/с), что позволяет их использовать для очень широкого спектра задач;
- с помощью дополнительного оборудования беспроводная сеть может быть успешно соединена с кабельными сетями;
- WLAN-сеть может оказаться единственным выходом, если не возможна или не желательна прокладка кабеля внутри здания, которая влечет за собой неизбежное сверление стен и прокладку кабельных каналов.
Но нужно иметь ввиду, что кроме описанных достоинств беспроводных WiFi сетей, есть еще и некоторые недостатки, а именно:
- чувствительность к радиопомехам;
- в некоторых случаях, в условиях крайне тяжелой радиочастотной обстановки, нормальная работа сети практически невозможна;
- скорость соединения плавает, соединение может прерываться;
- происходит сильное поглощение радиоволн железобетоном и некоторыми другими материалами, что приводит к ослаблению сигнала, а в итоге к снижению скорости передачи данных.
Bluetooth
Что же такое Bluetooth? Так называется технология обеспечения радиосвязи между мобильными и стационарными PC, мобильными телефонами, принтерами и прочими периферийными устройствами. В настоящее время технология Bluetooth является твердо устоявшимся коммуникационным стандартом для беспроводной связи на малых расстояниях. Она заменяет целую кучу отдельных кабелей, присоединяющих одно устройство к другому посредством одной универсальной радиолинии с малым радиусом действия. Например, радиотехнология Bluetooth, встроенная и в сотовый телефон, и в ноутбук, заменяет кабель, используемый в настоящее время для присоединения ноутбука к сотовому телефону. Принтеры, персональные компьютеры, факсы, клавиатуры, джойстики и практически любые другие цифровые устройства могут быть частью системы Bluetooth. Радиотехнология Bluetooth также обеспечивает универсальный мост к существующим сетям передачи данных, интерфейсу периферийных устройств, а также обеспечивает механизм для формирования небольших частных специальных групп соединяемых устройств вне инфраструктуры фиксированной сети.Серьезной соперницей Bluetooth является технология инфракрасной связи IrDA, но она не предназначена для построения беспроводных локальных сетей и работает только по принципу точка-точка в зоне прямой видимости. При разработке спецификации во главу угла ставились экономичность (как в плане стоимости, так и в плане энергосбережения), сохранение маленького форм-фактора и предельная простота эксплуатации. Для конечного пользователя это означает быстрое и легкое подключение периферии или соединение компьютеров без каких бы то ни было кабелей. К тому же технология дает возможность связать больше двух устройств, используя единое радиосоединение. Общее число проданных во всем мире Bluetooth-совместимых устройств уже превысило 1 миллиард экземпляров. Спецификация стандарта Bluetooth приведена в табл. 1.1
Bluetooth | |
---|---|
Тип модуляции | метод частотных скачков |
Частотный диапазон | 2,4 ГГц |
Число скачков в секунду | 1600 |
Мощность передатчика, мВт | 100 |
Скорость передачи данных, Мбит/с | 0,7 |
Способ модуляции | двухуровневая частотная |
Количество устройств в сети | не ограничено |
Защита информации | 40- и 64-битное шифрование |
Радиус действия, м | 10-100 |
Проект являлся конкурентом стандарта IEEE 802.11 (оба стандарта используют один и тот же частотный диапазон, одни и те же 79 каналов). Главной его целью являлось удаление любых кабелей из телефонии, а если получится и из локальных сетей. Технология Bluetooth использует нелицензируемый (практически везде кроме России) частотный диапазон . При этом используются широкие защитные полосы: нижняя граница частотного диапазона составляет 2ГГц, а верхняя - 3,5ГГц. Точность заданий частоты (положение центра спектра) задается с точностью ± 75 кГц. Дрейф частоты в этот интервал не входит. Кодирование сигнала осуществляется по двухуровневой схеме GFSK (Gaussian Frequency Shift Keying). Логическому 0 и 1 соответствуют две разные частоты. В оговоренной частотной полосе выделяется 79 радиоканалов по 1 МГц каждый. В некоторых странах используется меньшее число каналов (например, во Франции - 23). Каждый из каналов структурируется с помощью выделения временных слотов (доменов) длительностью 625 мкс (разделение по времени). По мощности передатчики делятся на три класса: 100мВт (для связи до 100м; 20дБм); 2 мВт (до 10м; 4дБм) и 1 мВт (~10см; 0дБм). Коэффициент модуляции при этом лежит в диапазоне (0,28-0,35). Чувствительность приемника должна быть не хуже 70дБм. BER (Bit Error Rate) для приемника должна находиться на уровне <0,1%. Желательно, чтобы приемник имел индикатор мощности входного сигнала (требование является опционным). Для первого класса предусмотрено регулирование мощности. Регулировка осуществляется на основе анализа числа ошибок. Протокол использует коммутацию каналов и пакетов. Передача данных выполняется с использованием алгоритма доступа Time-Division Duplex Multiple Access. Каждый пакет передается с использованием иного частотного канала по отношению к предыдущему. Производится 1600 переключений частоты в секунду. Последовательность переключения частот определяется BD_ADDR мастера. Скачкообразное переключение частоты отводит на переходные процессы 250-260 мксек. Длительность тика часов мастера равна 312,5 мксек, что определяет частоту часов - 3,2 кГц. Допускается временная неопределенность при приеме, равная ±20мксек. Структура протоколов Bluetooth не следует моделям OSI, TCP/IP и даже 802 (ведутся работы по адаптации Bluetooth к модели IEEE 802). Физический уровень протокола соответствует базовым принципам моделей OSI и 802. Разработчики потратили много усилий, чтобы сделать протокол как можно дешевле для реализации. В среднем временная привязка мастерных пакетов не должна дрейфовать больше чем на 20 10-6 относительно идеальной временной привязки слота в 625мксек. Временной разброс при этом не должен превышать 1 мксек. В спецификации определено 5 уровней: физический, базовый (baseband), управления каналом LMP (Link Management Protocol;) и L2CAP (Logical Link Control and Adaptation Protocol;), сетевой и уровень приложений.На уровне baseband протокола определено 13 типов пакетов. Пакеты ID, NULL, POLL, FHS , DM1 ориентированы на каналы SCO и ACL. Пакеты DH1, AUX1, DM3, DH3, DM5 и DH5 предназначены только для каналов ACL. Кодирование данных в пакетах DM1, DM2 и DM3 осуществляется с привлечением битов четности по алгоритму FEC 2/3 (5 бит управления на 10 бит данных). Форматы пакетов HV1, HV2, HV3 и DV определены только для каналов SCO. Максимальный размер поля данных (341 байт) имеют пакеты DH5. Уровень протокола baseband специфицирует пять логических каналов: LC (Control Channel) и LM (Link Manager) используются на канальном уровне, а UA (User Asynchronous), UI (User Isosynchronous) и US (User Synchronous) служат для асинхронной, изосинхронной и синхронной транспортировки пользовательских данных. Контроллер BlueTooth может работать автономно (Standby) или в режиме соединения. Предусмотрено семь субсостояний, которые используются для добавления клиента или подключения к пикосети: page, page scan, inquiry, inquiry scan, master response, slave response и inquiry response. Состояние Standby по умолчанию является режимом с пониженным энергопотреблением, при этом работает только внутренний задающий генератор. В состоянии соединения главный узел (master) и клиент (slave) могут обмениваться пакетами, используя код доступа к каналу.
В протоколе baseband предусмотрено три типа схем коррекции ошибок: 1/3 FEC, 2/3 FEC и ARQ.
- В 1/3 FEC каждый бит повторяется три раза.
- В 2/3 FEC используется полиномиальный генератор для получения 15-битовых кодов для исходных 10 бит.
- В схеме ARQ пакеты DM, DH и поле данных пакета DV передаются повторно до тех пор, пока не будет получено подтверждение или не произойдет таймаут. При таймауте возможно продолжение со следующего пакета.
- Протоколом baseband рекомендуется использование буферов типа FIFO. Если данные не могут быть приняты, контроллер приема (Link Controller) вставляет в заголовок отклика индикатор stop. Когда передачик получает индикатор stop, он блокирует очереди в FIFO. Получатель может возобновить процесс передачи, послав отправителю индикатор go.
Соединение между устройствами присходит следующим образом: если ничего не известно об удаленном устройстве, используются прцедуры inquiry и page. Если некоторая информация о партнере имеется, то достаточно процедуры page.
ЭТАП 1
Процедура inquiry позволяет устройству определить, какие приборы доступны, выяснить адреса и осуществить синхронизацию.
- Посылаются пакеты inquiry и получаются отклики.
- Будем считать, что блок (адресат), получивший пакет inquiry, находится в состоянии inquiry scan (тогда он способен принимать такие пакеты)
- Получатель переходит в состояние inquiry response и посылает отправителю пакет-отклик.
После того как процедура inquiry завершена, соединение может быть установлено с помощью процедуры paging.
ЭТАП 2
Процедура paging реализует соединение. Для осуществления этой процедуры необходим адрес. Устройство, выполняющее процедуру paging, атоматически становится хозяином этого соединения.
- Посылается пакет paging
- Адресат получает этот пакет (находится в состоянии page Scan )
- Получатель посылает отправителю пакет-отклик (находится в состоянии Slave Response )
- Инициатор посылает адресату пакет FHS (находится в состоянии Master Response )
- Получатель посылает отправителю второй пакет-отклик (находится в состоянии Slave Response )
- Получатель и отправитель устанавливают параметры канала заданные инициатором (находятся в состоянии Master Response & Slave Response )
После установления соединения главный узел ( master ) посылает пакет POLL, чтобы проверить, синхронизовал ли клиент свои часы и настроился ли на коммутацию частот. Клиент при этом может откликнуться любым пакетом.
Устройство Bluetooth при установлении соединения может работать в четырех режимах: Active, Hold, Sniff и Park (активный, удержание, прослушивание и пассивный, соответственно).
Протокол L2CAP отвечает за формирование пакетов, деление на кадры и сборку пакетов (вспомним, что нижележащий протокол baseband позволяет иметь пакеты не длиннее 341 байта), которые в данном стандарте могут достигать размера 64 кБ. L2CAP производит мультиплексирование и демультиплексирование для отправителей пакетов, кроме того, протокол ответственен за качество обслуживания как при передаче, так и во время ожидания. На фазе установления соединения L2CAP согласует максимальный размер поля данных, так как не все узлы могут работать с 64-килобайтными пакетами. Этот протокол не используется в случае синхронных коммуникаций. В стандарте Bluetooth предусмотрены обмены как с установлением соединения, так и без. Последний режим называется ASL (Asynchronous Connectionless). Трафик ASL доставляется с использованием принципа макимально возможного сервиса. Никаких гарантий при этом не предоставляется. У подчиненного узла может быть только одно ASL-соединение с главным. Обмен с установлением соединения называется SCO (Synchronous Connection Oriented). Этот вид коммуникаций используется, например, при телефонных переговорах. Здесь для каждого из направлений передачи выделяется фиксированный временной интервал. Повторных передач не производится, вместо этого для случая ошибок применяется их коррекция. У подчиненного узла может быть до 3 соединений типа SCO с главным узлом, каждое из которых представляет собой PCM-канал с пропускной способностью 64кбит/c. Протокол должен поддерживать протокольное мультиплексирование, так как уровень basband не имеет поля тип, позволяющего идентифицировать протокол более высокого уровня. Протокол L2CAP присваивает виртуальным каналам (точка-точка) идентификаторы CID (Channel Identifier). Для целей управления трафиком он целиком полагается на уровень LM (Link Manager) протокола baseband.
Основу сети BlueTooth составляют пикосети (piconet), состоящие из одного главного узла и до семи клиентских узлов, размещенных в радиусе 10м. Все узлы такой сети работают на одной частоте и разделяют общий канал. В одной достаточно большой комнате могут располагаться несколько пикосетей. Эти сети могут связываться друг с другом через мосты. Пикосети, объедиененные вместе составляют рассеянную (scatternet) сеть. Поскольку в каждой пикосети имеется свой master, последовательность и фазы переключения их частот не будут совпадать. Если пикосети взаимодействуют друг с другом, это приводит к понижению пропускной способности. Устройство BlueTooth может выступать в качестве клиента в нескольких пикосетях, но главным узлом ( master ) может быть только в одной пикосети. Кроме 7 активных клиентских узлов главный узел может поддерживать до 255 пассивных (спящих) узлов (переведенных управляющим узлом в режим пониженного энергопотребления).
Иногда мастер и клиент могут захотеть поменяться ролями. Это может быть выполнено в два этапа.
- Происходит отключение обоих участников процесса от пикосети и осуществляется переключение TDD (Time Division Duplex) трансиверов.
- Если требуется, узлы старой пикосети образуют новую пикосеть
Когда узел получил подтверждение на свой FHS-пакет, он будет использовать параметры новой пикосети, заданные новым мастером. На этом переключение мастер-клиент завершается.
Самым низким уровнем протокола является уровень радиосвязи. На этом уровне данные передаются от главного узла к подчиненному бит за битом. Все узлы пикосети перестраивают частоту одновременно, последовательность частот определяется главным узлом. Главный узел ( master ) является источником синхронизации для всех клиентов пикосети.
Выше уровня радиосвязи размещен уровень немодулированной передачи. Он преобразует поток бит в кадры и определяет базовые форматы. Передача со стороны главного узла производится в четные такты, а со стороны подчиненных узлов - в нечетные. Кадры могут иметь длину 1, 3 или 5 тактов. Все кадры передаются между главным и подчиненным узлами по логическому каналу, называемому соединением.
Одним из активных состояний узла является paging state. В этом состоянии возможно установление или возобновление соединения. Главный узел в этом состоянии непрерывно посылает в эфир короткие ID-пакеты, содержащие только код доступа устройства (device access code). В рамках одного временного домена посылается два пакета на двух разных частотах. Узел-клиент в состоянии paging прослушивает за время 625 мксек две частоты, проверяя наличие своего кода (ID). Для установления соединения посылается запрос. Отправитель запроса не сообщает ничего кроме своего типа. Узел, который хочет, чтобы о его существовании знали окружающие, периодически (раз в 2,56 сек) прослушивает запросы (состояние inquiry state ). Когда пассивное устройство обнаружено главным узлом пикосети (откликнулось пакетом FHS, сообщающем о состоянии внутренних часов, об адресе и т.д.), главный узел формирует и посылает пакет POLL, с целью проверки правильности конфигурационных параметров и готовности к приему данных. Клиент может ответить любым пакетом, но если мастер не получил никакого отклика, он переходит в состояние paging или inquiry. Клиент может подключиться и к другой пикосети, для этого в текущей сети он может запросить перехода в режим park или hold. В режиме sniff клиент имеет несколько свободных временных слотов, чтобы участвовать в обменах с соседними сетями. Терминал, находящийся вне зоны связи, должен пребывать в состоянии page mode. Шлюз-сервер должен выделять достаточно ресурсов для запросов page scanning.