Об одном способе доставки информации мобильным пользователям
Д.Е. Намиот, Е.В. Зубарева
Аннотация— В статье рассматривается один подход к распространению информации среди мобильных абонентов. Идея состоит в использовании идентификации беспроводных сетей для создания некоторого аналога одноранговой сети, которая будет работать в отсутствии телекоммуникационной инфраструктуры. Мобильного телефона (смартфона) будет достаточно как для создания узла такой телекоммуникационной сети, так и для публикации (распространения) информации. Работа является дальнейшим развитием идей, связанных с контекстно-зависимыми системами на основе сетевой близости. Предложенная модель позволяет создавать информационные хабы непосредственно по месту нахождения мобильного телефона издателя, который будет распространять информацию для мобильных абонентов, находящихся в непосредственной близости от него.
Ключевые слова—WiFi, Bluetooth, SSID, одноранговые сети.
конфигурирующуюся сеть мобильных устройств. Термин 'ad hoc' применительно к сетям обычно обозначает сетевое соединение, установленное для одной сессии. Например, стандарты беспроводных сетей (Bluetooth, Wi-Fi, etc.) позволяют прямые соединения устройств (на достижимой дальности). Рисунок 1 показывает сравнение беспроводных сетей и MANET.
• MANET
WireleaK Mnjbiie Necwurk
I. Введение
Мобильные сети, которые могут функционировать без телекоммуникационных операторов (без их инфраструктуры) привлекают к себе все больше внимания. В качестве одного из наиболее известных примеров можно назвать FireChat мессенджер [1]. Наша ранняя работа [2] содержит несколько других примеров подобного рода приложений. В ней описываются так-называемые мэш-сети. Мэш-сеть (mesh networking) - это сетевая топология, в которой устройство (узел сети) передает собственные данные и одновременно служит шлюзом для передачи данных других узлов. Иными словами, все узлы сети взаимодействуют в процессе передачи сообщения. Слово "мобильный" в названии такого рода сетей говорит о подвижности ее узлов.
По классификации подобного рода систем можно посмотреть, например, нашу работу [2], где были выделены следующие классы:
• Mobile Ad-hoc NETworks (MANET)
• Wireless Mesh Networks (WMN)
• Social Mesh Networks (SMN)
MANET представляет собой само-
Рис. 1. MANET и беспроводные сети [2].
В MANET соседние устройства взаимодействуют друг с другом в ad hoc режиме не только для обмена собственными данными, но и для передачи данных других узлов, которые не могут взаимодействовать непосредственно. mode not only to exchange their own data, but also to relay the traffic of other network nodes that cannot communicate directly [4].
VANET (Vehicular Ad hoc NETwork) использует автомобили как мобильные узлы в MANET [5]. VANET превращает автомобиль в беспроводной узел сети или маршрутизатор.
Беспроводные меш-сети (wireless mesh network -WMN) - это меш-сеть статических маршрутизаторов, которые непосредственно обслуживают своих клиентов. Другими словами здесь нет непосредственной связи между клиентами (рисунок 2).
Статья получена 30 июня 2017.
Д.Е. Намиот - старший научный сотрудник факультета ВМК МГУ имени М.В. Ломоносова (e-mail: dnamiot@gmail.com).
Зубарева Е.В. - МГУ имени М.В. Ломоносова; ЕГУ имени И.А. Бунина (e-mail: e.zubareva@cs.msu.ru)
• Wire If ss Mesh Networks
МЧ1
i V
I I
. I
Al Mir
1 >j
1 "Щ,
L«H. -tpiid rtiixeleft Hi^bipeed wire fell (ink Wi$h-speed wired link
I*")
L /.
! I,
г T"
MN9
-
N 1 'I MM* ^
Wired Interne I
Ш
Рис. 2. WMN [6]
OieBlZ /
Социальные меш-сети (Social Mesh Networks - SMN) используют существующее оборудование (мобильные телефоны) для передачи данных в условиях отсутствия сетевой инфраструктуры. Речь при этом идет не о передаче данных в режиме точка-точка (или не только о нем), а о так называемых multi-hop соединениях, когда данные могут передаваться через несколько промежуточных узлов. Примеры такого рода сетей есть, например, в работе [7]. Другой интересный термин, который используется в этой связи есть Mobile Networking in Proximity - MNP, обозначающий обмен данными между устройствами без доступных Интернет-соединений. Здесь есть большая группа работ [8-11]. Отметим в этой связи интересный патент от Facebook [12]. Он описывает систему, которая позволяет отдельным лицам и рекламодателям напрямую подключаться к физически близким пользователям (устройствам), которые имеют схожие интересы или открыты для получения определенных рекламных объявлений. В рамках предполагаемой системы беспроводное устройство установит соединение с другими беспроводными устройствами поблизости, и это будет именно прямая связь между устройствами. Каждое устройство может быть связано с одним или многими другими устройствами, в зависимости от плотности пользователей в определенной области, и каждое из устройств будет открыто для отправки, приема и передачи сообщений как часть сети.
Поскольку сеть основана на прямых соединениях, можно определить приблизительное местоположение пользователей. Например, если устройство имеет диапазон связи 100 метров (это определяется беспроводным интерфейсом), то все другие устройства, с которыми оно находится в прямом контакте, могут быть определены в пределах 100 метров. Тогда второй уровень позволит охватить следующие 100 метров и так далее.
Области применения для описанных сетей различаются. MANET часто относят к военным коммуникациям. Также ad hoc сети часто применяются в чрезвычайных ситуациях. В области персональных коммуникаций это какие-то создаваемые на лету сообщества, группы для обсуждения и т.д. Для SMN типичное приложение - это доставка каких-либо персонализированных сообщений. В упомянутой работе
[12] это, например, доставка купонов со скидками мобильным абонентам, которые оказались в физической близости от определенного магазина (ресторана и т.д.).
Хороший обзор возможных технологий взаимодействия представлен на ресурсе [13] и в работах [14-15].
Оставшаяся часть статьи структурирована следующим образом. В разделе 2 описываются схожие работы. Раздел 3 посвящен собственно предложенной системе распространения (публикации) данных.
II. Схожие работы
В этом разделе мы хотим остановиться на работах и проектах, имеющих отношение к данной теме. В самом общем виде идея состоит в использовании идентификации беспроводных сетей для распространения информации.
В целом, эта тема относится к так называемому контекстно-зависимому программировании (Context-Aware programming [16] и мобильным интеллектуальным системам (Ambient mobile intelligence [17]). Указанные статьи - это типичные работы, в которых продвигается идея network proximity. В сервисах, основанных на сетевой близости, информация о местоположении подменяется данными о доступности ("видимости") беспроводных сетей.
Из других технологий можно отметить, конечно, iBeacon от Apple. Основой являются теги, базирующиеся на технологии Bluetooth Low Energy [18]. Каждый такой тег транслирует (на ограниченное расстояние - так называемая Bluetooth дистанция) два целых значения (это конфигурируется). Эти данные становятся доступны мобильным устройствам, находящимся поблизости от тега. Соответственно, они могут использоваться как ключи для поиска информации. Таким образом можно организовать, например, локальное (местное) распространение новостной информации.
Похожее решение от Google вместо цифрового идентификатора непосредственно распространяет (транслирует) некоторый URL [19]. Если этот URL ссылается, например, HTML5 веб-приложение, то оно, потенциально, может работать, используя свой кэш без сети. Тогда как с идентификатором в случае iBeacons сеть нужна для запроса данных, ассоциированных с этим индикатором. Google Eddystone также может использоваться для распространения местных новостей [20].
Следующая идея, которая оказала влияние на нашу работу - это так называемый beacon stuffing [21]. Это протокол связи с низкой пропускной способностью для сетей IEEE 802.11, который позволяет мобильным клиентам общаться с точками доступа Wi-Fi без установления связи по Wi-Fi. Это позволяет клиентам получать информацию от ближайших точек доступа даже при их отключении или при подключении к другой точке доступа. Авторы предложили схему, которая дополняет стандарт 802.11 и работает, перегружая управляющие фреймы протокола 802.11, не нарушая стандарт. Идей в том, что согласно спецификациям Wi-
Fi мобильное устройство и точка доступа обмениваются служебными пакетами (так называемый Probe Request). В оригинале в нем транслируется информация о возможных параметрах соединения. На использовании этой служебной информации, в частности, основан пассивный мониторинг Wi-Fi устройств. Вот именно эти служебные фреймы и используются для передачи данных. Очевидным недостатком является то, что необходимо изменять программное обеспечение, управляющее точками доступа. Тем не менее, этот подход используется в достаточно большом количестве работ. Например, в работе [22] авторы предлагают Open Source решение для beacon stuffing. В работе [23] используется кодирование данных в идентификаторе точки доступа (SSID) для передачи информации о движущихся объектах.
Переопределение SSID (чаще всего - в ручном режиме) довольно широко используется именно как способ сообщения какой-либо информации владельцам мобильных устройств в непосредственном окружении точки доступа. В работе [24] приводятся многочисленные примеры использования политических лозунгов (выражения поддержки определенному кандидату) в политических компаниях США. В заметке [25] этот подход иллюстрируется рекламой и маркетингом. Другие примеры приводятся в веб-ресурсах [26-27]. В работе [28] авторы предлагают использовать SSID как ключ для формирования URL с контактной информацией. SSID выступает в роли цифровой визитки владельца точки доступа.
III. BLUSHARE - ЛОКАЛЬНОЕ РАСПРОСТРАНЕНИЕ ИНФОРМАЦИИ
В нашей работе по проектированию локальной (местной) системы распространения информации мы исходили из следующих базовых предположений (требований):
- предложенная модель должна работать с базовым программным обеспечением, без модификации программного обеспечения в узлах потенциальной сети
- процесс создания (публикации) информации, ее распространения и получения должен допускать полностью программную обработку (без непосредственного участия мобильного абонента).
Общая идея состоит в следующем: мы предлагаем систему, которая позволяет программно определять (задавать) идентификацию беспроводных узлов, кодируя в имени устройства необходимую информацию. А для распространения этой информации (объявления ее доступной для окружающих пользователей или программ) использовать стандартные механизмы анонсирования (объявления публичным) идентификации беспроводных узлов. Для всех этапов (публикация данных, прием данных) достаточно мобильного телефона (приложения) на платформе Android. Подход является дальнейшим развитием идей, изложенных ранее в работах [29-30].
Поскольку на платформе Android программно нельзя создать точку доступа Wi-Fi (нет соответствующего
API), то в качестве базовой беспроводной сети использовалась Bluetooth.
На платформе Android (с разрешения пользователя) Bluetooth может быть включен программно:
BluetoothAdapter mBluetoothAdapter =
BluetoothAdapter.getDefaultAdapter();
mBluetoothAdapter.enable();
И Bluetooth устройство можно перевести в режим видимости (в Android: discoverable)
Intent myIntent = new
Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVER ABLE);
myIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVER
ABLE_DURATION, 0);
startActivity(myIntent);
При этом параметр вызова указывает время, в течение которого данный Bluetooth узел будет доступен другим. Параметр 0 соответствует неограниченному времени. Отметим, что само по себе, объявление такого режима для Bluetooth узла не приводит к какому-то повышенному расходу энергии. Наши эксперименты с различными моделями устройств показывают, что без установления соединения и реальной передачи данных расход энергии остается низким. А вот установления соединения в данном подходе как раз и нет.
Как только узел объявлен публичным (discoverable) его идентификация (SSID) доступна для просмотра другими устройствами. Этот просмотр (сканирование) может быть выполнено как непосредственно пользователем в ручном режиме штатными средствами Android, так программно, специальным приложением. И, естественно, само значение SSID (сообщение) может быть установлено как в ручном режиме, так и программно.
Типовая модель работы следующая. Автор сообщения (издатель) набирает текст сообщения в мобильном приложении на своем телефоне. Приложение создает публичную точку Bluetooth на денном телефоне, используя текст сообщения для ее идентификации. Если таково узел Bluetooth уже существует, то просто меняет его идентификацию. Читатель (получатель сообщения) с помощью приложения сканирует доступные (видимые) Bluetooth узлы и выделяет из их идентификации текст сообщения. Очевидно, что получение (и обработка сообщений) могут быть выполнены полностью программно.
IV. Технические детали реализации
SSID представляет собой строку в 32 байта. В текущей версии первые три байта зарезервированы под стандартный префикс BDP. Соответственно, при сканировании, отбираются только Bluetooth узлы с такими префиксами.
Сканер сообщений автоматически выделяет из сообщения (идентификатора) некоторые стандартные объекты, которые могут быть описаны с помощью
регулярных выражений. В данной версии к таковым относятся:
- номер телефона
- URL
- Ссылки на аккаунты в Twitter (@имя)
- Email адрес
Соответственно, пользовательское приложение при отображении показывает это как ссылки (можно позвонить по телефону, перейти по ссылке и т.д.)
Если размер сообщения превышает 29 байт, то оно разделяется на части. Каждая часть завершается символом =. Сканер при приеме такого сообщения будет "склеивать" его с ранее принятыми данными (от точки Bluetooth с тем же MAC-адресом). Время, в течение которого отдельная часть будет выступать в качестве идентификатора, задается в установках (опциях) программы.
Также возможен режим ретрансляции сообщений. Приложение-сканер, получив сообщение,
заканчивающееся символом + (знак плюс) публикует его от своего имени. Соответственно, оно становится доступным другой группе мобильных пользователей. В установках приложения задаются режимы ретрансляции: разрешить ретранслировать сообщения от всех издателей (от всех MAC-адресов), разрешить ретрансляцию только с указанных MAC-адресов, запретить ретрансляцию. При наличии нескольких запросов на ретрансляцию сканер организует очередь.
V. Заключение
В настоящей работе предложена система локального (местного) распространения информации. Система базируется на программно создаваемых узлах беспроводной сети Bluetooth и использует стандартные механизмы анонсирования узлов сети для распространения информации. По нашему мнению, предложенный подход является одним из наиболее простых в смысле реализации и совместимости с различными устройствами способом распространения сообщений между мобильными устройствами. Он может найти применение, как в персональных коммуникациях, так и в B2C и B2B приложениях.
Благодарности Авторы благодарны проф. М.А. Шнепс-Шнеппе за обсуждение и ценные замечания.
Библиография
[1] Bland A. FireChat-The messaging app that's powering the Hong Kong protests //The Guardian. - 2014. - Т. 29.
[2] Namiot D. On mobile mesh networks //International Journal of Open Information Technologies. - 2015. - Т. 3. - №. 4.
[3] Mobile & Ad Hoc Network https://www.slideshare.net/cprakash2011/lecture-1-mobile-and-adhoc-network-introduction Retrieved: Jul, 2017
[4] Kopekar S., Kumar A. A Study of Ad-Hoc Wireless Networks: Various Issues in Architectures and Protocols //International Journal of Computer Applications. - 2015. - Т. 122. - №. 6.
[5] Yousefi S., Mousavi M. S., Fathy M. Vehicular ad hoc networks (VANETs): challenges and perspectives //ITS Telecommunications
Proceedings, 2006 6th International Conference on. - IEEE, 2006. -С. 761-766.
[6] Communications Network Research Institute http://www.cnri.dit.ie/research.mesh.security.html Retrieved: Jul, 2017
[7] Holzer A. et al. Padoc: Enabling social networking in proximity //Computer Networks. - 2016. - Т. 111. - С. 82-92.
[8] Wang Y. et al. Survey on mobile social networking in proximity (MSNP): approaches, challenges and architecture //Wireless networks. - 2014. - Т. 20. - №. 6. - С. 1295-1311.
[9] Wang Y. et al. Device-to-Device based mobile social networking in proximity (MSNP) on smartphones: Framework, challenges and prototype //Future Generation Computer Systems. - 2015.
[10] Wang Y. et al. Overview mobile social networking in proximity (MSNP): Applications, characteristics and challenges //High Performance Computing and Communications & 2013 IEEE International Conference on Embedded and Ubiquitous Computing (HPCC_EUC), 2013 IEEE 10th International Conference on. - IEEE, 2013. - С. 2112-2119.
[11] Dede J., Forster A. Comparative Analysis of Opportunistic Communication Technologies //International Conference on Interoperability in IoT. - Springer, Cham, 2016. - С. 3-10.
[12] Bill D. S. Wireless Social Networking: заяв. пат. 13/826,889 США. - 2013.
[13] Networking of Wireless Information Systems (NetWIS) laboratory https://research.ece.ncsu.edu/netwis/ Retrieved: Jul, 2017
[14] Conti, M., & Giordano, S. (2014). Mobile ad hoc net working: milestones, challenges, and new research directions. Communications Magazine, IEEE, 52(1), 85-96.
[15] Dahiya, A., & Chauhan, R. K. (2010). A comparative study of MANET and VANET environment. Journal of computing, 2(7), 87-92.
[16] Namiot D., Sneps-Sneppe M. Context-aware data discovery //Intelligence in Next Generation Networks (ICIN), 2012 16th International Conference on. - IEEE, 2012. - С. 134-141.
[17] Sneps-Sneppe M., Namiot D. On physical web models //Control and Communications (SIBCON), 2016 International Siberian Conference on. - IEEE, 2016. - С. 1-6.
[18] Newman N. Apple iBeacon technology briefing //Journal of Direct, Data and Digital Marketing Practice. - 2014. - Т. 15. - №. 3. - С. 222-225.
[19] Dasgupta A., Nagaraj R., Nagamani K. An Internet of Things Platform with Google Eddystone Beacons //Journal of Software Engineering and Applications. - 2016. - Т. 9. - №. 06. - С. 291.
[20] This Google-backed startup wants to make millennials read local news https://thenextweb.com/insider/2017/07/25/are-bluetooth-beacons-the-savior-of-local-news/#.tnw_yxkJqkyi Retrieved: Jul, 2017
[21] Chandra R. et al. Beacon-stuffing: Wi-fi without associations //Mobile Computing Systems and Applications, 2007. HotMobile 2007. Eighth IEEE Workshop on. - IEEE, 2007. - С. 53-57.
[22] Zehl S. et al. LoWS: A complete Open Source solution for Wi-Fi beacon stuffing based Location-based Services //Wireless and Mobile Networking Conference (WMNC), 2016 9th IFIP. - IEEE, 2016. - С. 25-32.
[23] Liu, Zhenyu, et al. "SenSafe: A Smartphone-Based Traffic Safety Framework by Sensing Vehicle and Pedestrian Behaviors." Mobile Information Systems 2016 (2016).
[24] Using A Wi-Fi Network's Name To Broadcast A Political Message http://www.npr.org/sections/alltechconsidered/2017/02/07/51324042 8/using-a-wi-fi-networks-name-to-broadcast-a-political-message Retrieved: Jul, 2017
[25] Cyber graffiti with WiFi network names as advertising http://www.webinknow.com/2011/02/cyber-graffiti-with-wifi-network-names-as-advertising.html Retrieved: Jul, 2017
[26] Clever SSIDs That Scare Off Leeches Or Send A Message https://www.lifehacker.com.au/2011/10/clever-ssids-that-scare-off-leeches-or-send-a-message/ Retrieved: Jul, 2017
[27] Scare your neighbors with a spooky Halloween network name https://arstechnica.com/information-technology/2014/10/scare-your-neighbors-with-a-spooky-halloween-network-name/ Retrieved: Jul, 2017
[28] Let Others Contact You Through Your Own Wi-Fi Network https://www.labnol.org/internet/share-wifi-with-neighbors/21024/ Retrieved: Jul, 2017
[29] Namiot, Dmitry, and Manfred SnepsSneppe. "On mobile wireless tags." Automatic Control and Computer Sciences 49.3 (2015): 159166.
[30] Namiot, Dmitry, and Manfred Sneps-Sneppe. "On Mobile Bluetooth Tags." arXiv preprint arXiv:1502.05321 (2015).
On one approach to delivering information to
mobile users
Dmitry Namiot, Elena Zubareva
Abstract— The article considers one approach to the dissemination of information among mobile subscribers. The idea is to use the identification of wireless networks to create some analogue for peer-to-peer networks that will work in the absence of a telecommunications infrastructure. A mobile phone (smartphone) will be sufficient both for creating a node of such a telecommunications network and for publishing (disseminating) information. The work is the further development of ideas related to context-aware services and systems based on network proximity. The proposed model allows mobile users to create information hubs directly at the location of the mobile phone of the publisher, which will distribute information for mobile subscribers in the immediate vicinity of it.
Keywords— WiFi, Bluetooth, SSID, peer to peer networks.