Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:
Сети мобильной телефонной связи/сотовая связь
Основным преимуществом сетей мобильной телефонной связи являются большие радиусы зон покрытия. Границы зон покрытия этих сетей распространяются настолько далеко, что можно легко забыть о том факте, что подобные возможности на самом деле появились совсем недавно; теперь действительно можно говорить о "данных, которые доступны практически везде". Указанное преимущество этой разновидности связи несколько нивелируется тремя ее недостатками: как правило, недостаточной пропускной способностью, как правило, высокой стоимостью передачи данных и неоднородностью сетевых стандартов. Но даже несмотря на наличие этих недостатков, сети мобильной телефонной связи являются важным потенциальным каналом передачи данных вашего мобильного приложения, и чтобы уметь правильно воспользоваться услугами, которые предлагают сети мобильной связи, важно знать хотя бы кое-что об этих сетях.
Современные сети мобильной телефонной связи предлагают каналы как для речевой связи, так и для обмена данными. Используя каналы передачи данных, мобильные приложения могут отправлять и получать информацию в диапазоне средних и высоких скоростей
Мобильные сетевые технологии неоднородны как по регионам, так и по техническим поколениям. Для полноценного обсуждения этой темы потребовалась бы целая книга, материал которой успел бы, вероятнее всего, устареть еще до ее выхода. Некоторые из наиболее интересующих нас терминов описаны ниже для ознакомительных целей:
■ Мобильные сетевые технологии телефонные сети GSM и CDMA. Традиционно в Европе и на Среднем Востоке использовались стандарты мобильной технологии связи GSM, а в Северной Америке и Корее — CDMA. (Ранее в североамериканских сетях использовался стандарт TDMA, а в Японии — совершенно другие стандарты.) Эта линия раздела постепенно размывается по мере того, как все больше североамериканских операторов мобильных телефонных сетей начинают предлагать услуги GSM-связи; как правило, такие услуги сначала предоставляются в густонаселенных районах. Радиочастоты GSM, используемые в Европе и Северной Америке различаются между собой, поэтому для работы одновременно в обеих средах требуются "двухдиапазонные" ("dual-band") и "трехдиапазонные" ("tri-band") телефоны; к счастью, в наши дни такие телефоны — обычное явление, а в многофункциональных мобильных устройствах эта возможность обычно также предусмотрена. Предпринимаются попытки изготовления телефонов, совмещающих в себе возможности связи в соответствии с различными стандартами (например. CDMA и GSM); приживутся ли такие телефоны на рынке — пока не ясно. В то же время, устаревающие стандарты вытесняются более новыми, такими как CDMA2000 (третье поколение (3G) CDMA) или W-CDMA (3G-поколение GSM). Мобильные стандарты сближаются друг с другом, но должно пройти еще немало лет, прежде чем концепция телефона приемлемой стоимости, способного работать в любой точке земного шара, превратится в реальность.
■ Поколения технологий: 2.5G, 3G, выше 3G. Число перед буквой "G" обозначает "поколение" ("generation") мобильной сетевой технологии. Вообще говоря, чем больше это число, тем выше быстродействие сети. Для большинства задач, которые возникают в связи с передачей данных мобильных устройств, 2.5G — это первое поколение, представляющее практическую ценность. Применительно к сетям мобильной телефонной связи GSM на поколение 2.5G обычно ссылаются как на GRPS (General Packet Radio Service — общая служба передачи радиопакетов). Сети поколения 3G предлагают значительно более высокие скорости передачи данных, но пока еще они являются относительной новинкой, и широкое развертывание этих сетей наталкивается на трудности коммерческого характера. Для трубок 3G обычно обеспечивается роуминг, и они могут работать в средах 2.5G со скоростями передачи данных 2.5G. Другим названием услуг по передаче 3G-данных является UMTS (Universal Mobile Telecommunications System — универсальная система мобильных телекоммуникаций). При ссылке на технологии, простирающиеся дальше указанных (4G и так далее), обычно используют выражение "выше 3G" ("Beyond 3G"); на момент написания данной книги такие технологии только проектировались.Примечание. Обмен данными с мобильными устройствами возможен и при использовании 2G сетей; в 2G-сетях для передачи данных обычно применяется речевой канал, поэтому доступ к сети передачи данных напоминает обычный телефонный звонок. Мобильные телефонные сети 2G являются первым поколением цифровых сетей; 1G — суть аналоговая связь.
Если все это кажется вам немного запутанным, то только потому, что так оно и есть. Сегодняшняя глобальная сеть мобильной телефонной связи являет собой сплошную "кашу"! Более того, можно ожидать, что на протяжении еще ряда лет она будет представлять собой пеструю смесь различных систем и поколений технологий. Причины этого в основном носят финансовый характер; получение от государства разрешения на использование диапазона радиочастот, а также развертывание и эксплуатация сетей мобильной связи обходятся в огромные денежные суммы. Это означает, что развертывание новых сетей — дорогостоящее предприятие, осуществляемое, как правило, путем использования фрагментарного похода, основанного на принципе первоочередного завоевания "наиболее лакомых" секторов рынка. Обновление сетей также является дорогостоящим и нередко требует замены устаревших базовых станций и телефонных трубок. Переход к новому поколению технологий означает необходимость развертывания параллельных перекрывающихся сетей, что позволяет операторам связи поддерживать существующую клиентуру, приносящую деньги "в клювике", и одновременно внедрять новые услуги. Дополнительные сложности в эту экосистему вносит тот факт, многими операторами мобильной связи Wi-Fi рассматривается одновременно и как угроза благополучию, и как счастливая возможность вырваться вперед; владельцы различных каналов связи используют различные подходы к тому, чтобы обеспечить существующим
1. Абстрагируйте сетевую технологию. К счастью, являясь разработчиком мобильного приложения, вы можете абстрагироваться от большинства низкоуровневых деталей мобильных коммуникационных технологий. Соединение с Web-cepвeром через сокет остается одним и тем же в сетях 2.5G и 3G, и сокету совершенно безразлично, какая технология положена в основу радиосвязи — CDMA, GSM или еще что-нибудь другое. Важный урок состоит в том, чтобы использовать настолько высокий уровень технологической абстракции, насколько это возможно. В качестве высокого уровня абстракции неплохо использовать запросы и ответы HTTP; сокеты находятся одним уровнем ниже, но остаются нейтральными по отношению к выбору сети. Чем дальше вы отходите от интерфейса радиосвязи устройства, тем более переносимым будет ваше приложение. Нет никаких причин для того, чтобы надлежащим образом спроектированное приложение не могло выполняться в неизменном виде и в сетях GSM, и в сетях CDMA.
2. Предусматривайте возможность работы на пониженных скоростях передачи данных. Хотя 3G– ceти могут обеспечивать очень высокую пропускную способность, можно предположить, что в обозримом будущем ваши целевые мобильные устройства будут, вероятно, работать в смешанном окружении, состоящем из сетей 2.5G и более поздних. Для сетей 2.5G достаточно разумным является предположение о том, что скорость передачи данных будет составлять примерно 20 Кбит/с; 20 Кбит/с = 2,5 Кбайт/с. Вполне вероятно, что при работе с улучшенными сетями ваше приложение сможет обмениваться данными с более высокой скоростью, но не менее вероятно, что в силу загруженности сети скорость передачи данных будет еще меньше, приближаясь к значениям, характерным для модемов, работающих через аналоговые телефонные линии. В этом же направлении действует еще один фактор — временные задержки; можно почти не сомневаться, что канал передачи данных в мобильной сети 2.5G будет характеризоваться большими задержками, чем кабельное соединение с Internet, о чем важно не забывать, если вы рассчитываете на немедленный (менее 1 секунды) отклик. Если ваше мобильное приложение должно использовать сети мобильной телефонной связи, то очень важно обеспечить его надежную работоспособность при пониженных скоростях передачи данных и увеличенных временах задержки. При разработке проекта целесообразно руководствоваться правилом, суть которого заключается в следующем: если объем загружаемых данных превышает 20 Кбайт, то имеет смысл отслеживать длительность загрузки и в случае превышения определенного порогового значения прекращать эту операцию. Разумеется, фактическое значение критической длительности загрузки и длительность интервала ожидания зависят от природы приложения и характеристик используемых сетей с учетом интересов конечного пользователя. Конечный пользователь не должен ждать поступления данных в течение неопределенного времени, если их загрузка осуществляется фоновым потоком; измеряйте степень выполнения загрузки и соответствующим образом устанавливайте критические значения параметров.
3. Хорошо изучите действующие системы оплаты связи. Хотя в некоторых старых (в основном. 2G) системах передачи данных взимаемая плата зависит от длительности соединения, оплата услуг по предоставлению данных в большинстве сетей мобильной связи основывается на количестве переданных битов. Ставки оплаты для отечественных сетей и сетей с услугами роуминга могут значительно отличаться. Все эти факторы будут оказывать самое непосредственное влияние на те расходы, которые понесет пользователь вашего приложения, оплачивая услуги связи. Относительно того, какие тарифы оплаты связи можно считать приемлемыми, а какие — неприемлемыми, трудно дать какие-либо определенные рекомендации; это будет определяться природой вашего приложения. Выбирая технологию мобильной связи, целесообразно измерить характерные объемы загружаемых и выгружаемых данных и оценить соответствующие затраты применительно к различным коммуникационным моделям.
Все большее количество мобильных телефонов с развитой функциональностью, поступающих на рынок, поддерживают Wi-Fi, причем эти возможности либо являются встроенными, либо делаются доступными посредством подключения съемных карт; двумя наиболее популярными форматами таких карт являются карты Compact Flash и Secure Digital Wi-Fi. В свою очередь, в лэптопах и специализированных мобильных вычислительных устройствах, имеющих встроенную поддержку Wi-Fi, съемные карты часто предусматриваются для обеспечения дополнительной возможности доступа к сетям мобильной телефонной связи.
Если учесть, что введение дополнительных возможностей означает увеличение цены и энергопотребления, то какой смысл в том, чтобы мобильные устройства могли осуществлять связь как через сети мобильной телефонной связи, так и через сети Wi-Fi? Ответ таков: "Все зависит от приложения", что является другой формулировкой ответа: "Все зависит от вашего проекта".
Во многих случаях одной из задач проекта должно быть обеспечение нормальной работы приложения, развернутого на устройствах, которые используют сети Wi-Fi или сети мобильной телефонной связи. Вообще говоря, чем более популярно и полезно приложение, тем более вероятно, что у пользователей возникнет желание выполнять его с использованием самого различного сетевого оборудования. Пользователи захотят воспользоваться преимуществами широкой полосы пропускания там, где она окажется доступной, но будут заинтересованы и в том, чтобы приложение удовлетворительно работало и с более медленными сетями. Коль скоро ваше приложение использует такие высокоуровневые сетевые технологии, как сокеты или HTTP, никаких технических проблем при этом возникать не будет, поскольку оба эти коммуникационные уровни абстрагируют лежащие в их основе сетевые протоколы.