СПОСОБЫ И СИСТЕМЫ, ПРЕДНАЗНАЧЕННЫЕ ДЛЯ ОДНОАДРЕСНОЙ И МНОГОАДРЕСНОЙ СВЯЗИ WAN/WLAN
METHOD AND SYSTEM FOR WAN/WLAN UNICAST AND MULTICAST COMMUNICATION

Настоящее изобретение в целом относится к одноадресной и многоадресной связи, используемой в связи с мобильными устройствами, и более конкретно относится к использованию таких устройств и протоколов в средах как WAN, так и WLAN.
Уровень техники
Одноадресная и многоадресная связь IP достигла широкой популярности в контекстах, в которых множество мобильных устройств используют внутри предприятия. “Нажми и говори” (РТТ) является одним из более запрошенных признаков на рынках, которые требуют интеграции традиционной функциональной возможности "воки-токи" (портативная дуплексная радиостанция) в мощные мобильные устройства данных, и первичным речевым требованием чего является обмен пейджинговыми сообщениями “один ко многим” и прямой местный набор номера “один к одному”.
Известные в настоящее время одноадресные и многоадресные системы IP являются нежелательными в ряде аспектов. Например, имеется много организаций, в которых сотрудники находятся в пределах беспроводной локальной сети (WLAN) в течение части дня и вне локальной сети (т.е. в пределах WAN) в течение остальной части дня. Несмотря на то, что можно связать сети PSTN и VOID для того, чтобы обеспечить функциональную возможность портативной дуплексной радиостанции между WLAN и WAN, такие решения требуют использования дополнительных серверов и другой инфраструктуры, и не обеспечивают непрерывное впечатление связи пользователю.
Таким образом, имеется потребность в «бесшовной», без серверов интеграции многоадресной/одноадресной функциональной возможности в средах, как WAN, так и WLAN. Другие желаемые признаки и характеристики настоящего изобретения станут понятными из следующего подробного описания и прилагаемой формулы изобретения, совместно с сопровождающими чертежами, и предыдущей области техники и уровня техники.
Краткое описание чертежей
Более полное понимание настоящего изобретения может быть получено с помощью ссылки на подробное описание и формулу изобретения, при рассмотрении совместно со следующими фигурами, на которых одинаковые ссылочные номера относятся к подобным элементам на всех чертежах.
Фиг.1 изображает иллюстративные среды WAN/WLAN, примененные в описании настоящего изобретения.
Фиг.2 - концептуальная блок-схема различных функциональных блоков, включенных в иллюстративное мобильное устройство.
Фиг.3 - упрощенная концептуальная блок-схема мобильного устройства, в соответствии с одним вариантом осуществления.
Осуществление изобретения
В целом настоящее изобретение относится к системам и способам, предназначенным для обеспечения одноадресной связи IP, такой как связь “нажми и говори” (PTT), между мобильными устройствами через системы WAN и WLAN без требования специализированных серверов для этой цели.
В одном варианте осуществления сначала устанавливается передача данных между мобильным устройством и беспроводной локальной сетью, при этом принимается первый IP-адрес одноадресной связи, ассоциированный с мобильным устройством. Затем мобильное устройство присоединяется к многоадресной группе в беспроводной локальной сети и регистрируется с этой многоадресной группой с использованием предварительно определенного IP-адреса многоадресной связи в качестве IP-адреса назначения и первого IP-адреса одноадресной связи в качестве исходного адреса. Устройство отключается от передачи данных в беспроводной локальной сети, таким образом, освобождают первый IP-адрес одноадресной связи. Устанавливается передача данных между мобильным устройством и глобальной сетью, таким образом, принимается второй IP-адрес одноадресной связи, ассоциированный с мобильным устройством. Затем устройство автоматически связывается с компонентом шлюза, с помощью глобальной сети, чтобы задать второй IP-адрес одноадресной связи в качестве исходного адреса для мобильного устройства в многоадресной группе.
Следующее подробное описание является только иллюстративным по сути, а не предназначено ограничивать изобретение или приложение и использования изобретения. Кроме того, не предполагается ограничиваться какой-либо определенной или предполагаемой теорией, представленной в предыдущей области техники, уровне техники, сущности или следующем подробном описании. Для целей краткости традиционные способы и принципы, ассоциированные с компонентами пользовательского интерфейса, сетевой связью, многоадресной передачей, мобильными вычислительными устройствами и тому подобными, здесь не будут описываться.
Со ссылкой на фиг.1 далее описана примерная беспроводная сеть, примененная в иллюстрации работы настоящего изобретения. Как изображено, глобальная сеть (WAN) 102 и беспроводная локальная сеть (WLAN) 104 соединены с помощью компонента 150 шлюза (“шлюза IP” или просто ”шлюза”) традиционным способом. WLAN 104 может быть ограничена одним объектом 106 или может распространяться в любое число таких объектов, территорий, рабочих мест и тому подобных.
WLAN 104 обычно будет включать в себя один или более пунктов доступа (или портов) 110 и 111, которые соединены с возможностью связи со шлюзом 150, и сконфигурированы с возможностью связи с любым числом мобильных устройств и облегчения беспроводной связи для любого числа мобильных устройств (например, мобильных устройств 121-127). В проиллюстрированном варианте осуществления WLAN 104 работает, в соответствии с протоколом 802.11 IEEE, как известно в данной области техники. WLAN 104 обычно будет включать в себя некоторое число других компонентов, таких как маршрутизаторы, коммутаторы и тому подобные, которые для ясности не показаны на чертеже.
WAN 102 обычно включает в себя сеть 140 (например, Internet) и одну или более сотовых вышек и других компонентов 130, сконфигурированных с возможностью беспроводной связи с мобильными устройствами 121-127. Как известно, WAN является сетью, которая охватывает относительно широкую географическую область (в противоположность WLAN) и обычно является доступной через телефонную сеть общего пользования (PSTN), выделенные линии связи, спутники и тому подобные.
Как упомянуто ранее, современные сети с коммутацией пакетов IP, такие как WLAN 104 предусматривают многоадресную связь, то есть, возможность для мобильных устройств 121 присоединяться (или регистрироваться) с одной или более группами многоадресной связи в WLAN 104. Если мобильное устройство 121 является участником группы, то оно может принимать любые сообщения и данные (например, дейтаграммы IP), посланные в эту группу с помощью WLAN 104. Один такой протокол многоадресной связи предоставлен с помощью IGMP (протокол группового управления сети Internet), на который здесь даются ссылки без потери общности.
В соответствии с настоящим изобретением, мобильное устройство 121 может бесшовным образом выполнять роуминг между WAN 102 и WLAN 104, в то же время, сохраняя возможность принимать многоадресные сообщения для групп, к которым оно присоединилось. Кроме того, эта функциональная возможность предоставлена без требования дополнительных серверов для управления маршрутизацией сообщений.
В целом иллюстративный способ протекает следующим образом. Во-первых, WLAN 104 (например, шлюз 150 IP и мобильные устройства 121-127) предварительно конфигурируется, чтобы осуществлять способ, описанный в настоящей заявке. Это включает в себя вначале сохранение открытого IP-адреса шлюза 150 в мобильном устройстве 121 и установку подходящего клиентского программного обеспечения (описанного более подробно ниже) в мобильном устройстве 121.
Затем устанавливается передача данных между мобильным устройством 121 и WLAN 104, например, посредством традиционной процедуры связи IEEE 802.11. В противоположность установлению этой связи, мобильное устройство 121 получает первый IP-адрес одноадресной связи, используемый для последующей связи в WLAN 104.
Затем мобильное устройство 104 присоединяется к группе многоадресной связи в WLAN 104, задавая свой текущий IP-адрес в качестве своего адреса сети многоадресной связи, т.е. адреса, в который должны быть маршрутизированы многоадресные связи для этой группы. То есть, предварительно определенный IP-адрес многоадресной связи используется в качестве IP-адреса назначения, а первый IP-адрес одноадресной связи используется в качестве исходного IP-адреса. В проиллюстрированном варианте осуществления следуют протоколу многоадресной связи IGMP. В таком случае шлюз 150 и пункты 110, 111 доступа вместе с другими компонентами сети (такими как коммутаторы и тому подобные) обычно будут администрировать любые таблицы маршрутизации, используемые для обеспечения многоадресной связи.
В этот момент мобильное устройство сконфигурировано с возможностью отправки и приема одноадресных и многоадресных сообщений относительно других мобильных устройств 122-127 в WLAN 104.
Затем пользователь покидает объект 106, таким образом, отключаясь от WLAN 104. Это освобождает первый IP-адрес одноадресной связи. В этот момент мобильное устройство 121 (изображенное как 121(а)) может устанавливать передачу данных с WAN 102 с использованием любого подходящего способа, в зависимости от сущности сети. В результате мобильное устройство 121 принимает второй IP-адрес одноадресной связи, который оно предпочтительно сохраняет, дополнительно к первому адресу IP, используемому для WLAN 104.
После приема IP-адреса одноадресной связи для WLAN 102 мобильное устройство 121 использует сохраненный открытый IP-адрес шлюза 150, чтобы автоматически связываться со шлюзом 150 с помощью WAN 102 и задавать, что этот второй IP-адрес WAN является его новым адресом сети многоадресной связи. Шлюз 104 обрабатывает этот запрос, и затем все многоадресные сообщения, посланные в эту группу, отправляются в IP-адрес WAN, а не IP-адрес WLAN.
Наоборот, когда мобильное устройство 121 покидает WAN 102 и возвращается в WLAN 104, сообщение автоматически отправляется в шлюз 105, отдавая ему команду, чтобы использовать предыдущий IP-адрес (или вновь полученный IP-адрес) в качестве его текущего адреса многоадресной связи. В типичном варианте осуществления мобильное устройство 121 получает новый IP-адрес из сети, и нет гарантии того, что этот IP-адрес будет тем же, что и любой предыдущий IP-адрес.
Мобильное устройство может быть сконфигурировано с возможностью предоставления любого числа разных услуг связи в этом контексте, включая, например, услугу “воки-токи”, услугу “нажми и говори” и тому подобные. В различных вариантах осуществления обеспечивается одновременная передача речи, данных, видео, текста и/или изображений.
Как упомянуто ранее, предоставляется интеллектуальность для обеспечения бесшовного перемещения между WAN 102 и WLAN 104, большей частью с помощью самого мобильного устройства, а не специализированного сервера, предназначенного для обработки таблиц маршрутизации и тому подобного. Следовательно, как концептуально изображено на фиг.2, мобильное устройство 121 будет включать в себя некоторое число функциональных модулей, осуществленных с помощью любой комбинации аппаратного обеспечения и программного обеспечения, включая бесшовный драйвер “воки-токи” (портативной дуплексной радиостанции) (WTS-D) 208, администратора бесшовного сеанса “воки-токи” (WTS-SM) 204, бесшовный пользовательский интерфейс “воки-токи” (WTS-UI) 206, бесшовного администратора “воки-токи” (WTS-M) 202, беспроводный драйвер 210 для WLAN 104 и беспроводный драйвер 211 для связи с WAN 102.
WTS-D 208 является ответственным за обработку трафика UDP от сокета (например, оконного сокета). Он управляет джиттером, маркированием пакета качества обслуживания (QoS), кодированием/декодированием данных и администрированием упаковывания UDP. Он также может быть ответственным за регистрацию IGMP для многоадресного трафика. Он также обрабатывает входящий аудио трафик, чтобы определять, предназначен ли он для услуги IGMP (WT) в мобильном устройстве.
WTS-SM 204 является ответственным за администрирование любых речевых сеансов, установленных для связи “один к одному”, или прослушивания чата WT в конкретном канале или администрирования сеансов для любых используемых обслуживаемых видео/текста/данных/речи. Следовательно, он обеспечивает логику прикладного уровня.
С точки зрения пользователя сеанс является некоторым числом людей, кратко говорящих о конкретной теме, затем “сделанной”. Концепция сеанса в WTS является полезной в ряде отношений, например, она позволяет пользователю блокировать один сеанс в канале, в то же время, позволяя прослушивать следующий, она позволяет устройству входить в специальные режимы работы, которые оптимизируют производительность речи и/или опыт пользователя, и она упрощает поведение пользовательского интерфейса, когда пользователь должен отвечать по канале, который не является обычно используемым каналом.
WTS-M является ответственным за получение IP-адреса одноадресной связи после включения питания из беспроводного драйвера или в случае изменения IP-адреса, когда устройство переходит между сетями, WTS-M 202 является ответственным за связь назначенного IP с текущей используемой сетью данных, например WAN (сетью пакетных данных, 3G, EDGE и т.д.) или WLAN (локальной сетью WiFI 902.11 и т.д.). Логические устройства инициирования связи со шлюзом 150 или АР 110/111, чтобы изменять исходный IP-адрес для группы многоадресной связи, находятся в WTS-M 202. Их ответственностью является удостовериться, что правильный исходный IP-адрес обновлен в WLAN таким образом, что пакеты многоадресной связи маршрутизированы в устройство 121.
Как отмечено выше, WTS-D 208 обеспечивает множество независимых потоков разговора. Далее описан один механизм, с помощью которого это может быть обеспечено.
В одном варианте осуществления WTS-D 208 различает каналы на основании разных номеров портов UDP. При задании базового порта UDP, U, и канала, N, канал идентифицируется как порт UDP U+(N*2). С помощью этого подхода может быть определено большое число каналов.
Один и тот же порт UDP предпочтительно всегда используется для данного канала, причем разные сеансы в одном и том же канале идентифицируются с помощью поля SSRC в заголовке RTP. Если возможно, номера исходного порта и порта назначения UDP являются одинаковыми, хотя это не требуется протоколом и может быть невозможным в некоторых системах.
Для того чтобы оптимизировать осуществление в большом разнообразии операционных систем, WTS-D 208 также отображает номер канала, как в диапазон адресов IP класса D и диапазон адресов многоадресной связи МАС. Алгоритм, в соответствии с одним вариантом осуществления, является аналогичным алгоритму, используемому для номеров портов UDP, т.е.: для данного канала, N, и базового IP-адреса класса D I, адрес I+N будет использован для всего трафика канала N. Таким же образом, при условии, что базовый адрес МАС многоадресной связи имеет значение М, адрес М+N будет использован для всего трафика канала N.
Номер базового порта UDP, IP-адрес класса D и адрес 802.11 многоадресной связи являются элементами конфигурации, которые предпочтительно устанавливаются в каждом устройстве (и являются одинаковыми для каждого устройства). Например, в конкретной клиентской сети, IP-адрес класса D для многоадресной связи для канала 2 может быть 224.0.0.2, а с базовым портом UDP 10000, передача для канала 3 была бы предоставлена в порте 10002. Таким образом, WTS-D отправляет и прослушивает аудио трафик RTP для канала 2 в 224.0.0.2:10002.
WTS-M 202 принимает IP-адрес после включения питания из беспроводного драйвера, в то же время устройство в объекте получает локальный IP-адрес, например, 173.1.1.100, а порт WT и IP многоадресной связи предварительно определены, например, 224.0.0.2:10002.
WTS-M 202 может иметь большое разнообразие функций, чтобы обеспечивать желаемые функциональные возможности WT. Например, в одном варианте осуществления предоставлены следующие функции:
Чтобы начать сеанс, затем модуль вызывает:
int WTS_Initialize(int multicastIp, int RTPport).
Это возвращает указатель в WTS_INSTANCE для конкретного канала и IP многоадресной связи. В результате все будущие потоки вызовов сопровождаются с использованием возвращенного WTS_INSTANCE. Например, чтобы начать вызов WT, может быть использована следующая команда:
int WTS_Start(WTS_INSTANCE
).
Затем, когда устройство выполняет роуминг из зоны обслуживания WiFi, беспроводный драйвер автоматически регистрируется с пакетными данными в WAN 102, чтобы получить новый IP-адрес, например, 10.0.0.45. Это изменение обнаруживается с помощью WTS_M 202, и после этого он отправляет пакет регистрации многоадресной связи с использованием IGMP в предварительно определенный (и предварительно сохраненный) открытый IP-адрес (например, 123.123.123.123), принадлежащий шлюзу 150.
Затем шлюз 150 автоматически повторно маршрутизирует пакеты из 10.0.0.45:10002 в 224.0.0.2:1002. Устройство 121, которое теперь находится вне WLAN 104, может отправлять трафик многоадресной связи в группу WT в WLAN 104. В противоположном направлении шлюз 150 IP принимает пакеты многоадресной связи для 224.0.0.2:100002, которые он затем маршрутизирует в 10.0.0.45:1002. Таким образом, устройство, работающее в WAN 102, может принимать чат WT, как если бы оно было зарегистрировано в WLAN 104.
Шлюз IP 150, который может осуществлять NAT, межсетевой экран или тому подобное, может поддерживать прямое отображение между внешними адресами IP и внутренними адресами IP или поддерживать NAT полного конуса (NAT “один к одному”). Если внутренний адрес (iAddr:port1) отображен во внешний адрес (eAdd:port2), любые пакеты из iAddr:port1 будут посланы через eAdd:port2. Любой внешний хост-узел может отправлять пакеты в iAddr:port1 с помощью отправки пакетов в eAdd:port2.
Хотя часто желательно полностью избегать NAT, если открытый IP-адрес является доступным для сервера вызова сетей, его выгодно использовать, если он доступен. Если шлюз 150 соединен, как с сетью 140, так и WLAN 104, порт RTP является достижимым, как изнутри, так и снаружи WLAN 104, и тогда основным фактором становится гарантирование того, что RTP выполняется должным образом. Шлюз 150 не требуется конфигурировать с возможностью маршрутизации между интерфейсами или обеспечения имитации, он просто развязывает входящий и исходящий трафик RTF.
В одном примере (при допущении, что шлюз 105 использует операционную систему Linux), может быть использована следующая форма конфигурации:
iptables -t -A PREROUTING -i etho -p udp\
-m udp -dport 10000:10100 -j DNAT\
--to-destination 192.168.1.10
Где etho заменяют внешним интерфейсом межсетевого экрана (например, 123.123.123.123), а 192.168.1.10 заменяют адресом трафика многоадресной связи (224.0.0.2). Эти правила отдают команду ядру Linux, чтобы преобразовывать адрес назначения любых пакетов UDP в данном диапазоне, которые входят во внешний интерфейс. Это случается на стадии предварительной маршрутизации, как противоположной стадии пост маршрутизации, поскольку адрес назначения является транслируемым. В этот момент пакеты RTP из сети 140 будут передаваться во внутренний адрес многоадресной связи.
Пользовательский интерфейс, предоставленный с помощью WTS-UI 206, чтобы осуществлять способы, описанные выше, может изменяться, например, в зависимости от используемых платформ аппаратного обеспечения и программного обеспечения. Пользовательский интерфейс может включать в себя любое число традиционно известных элементов, таких как окна, текстовые поля, поля ввода, флажки, кнопки радиосвязи, кнопки-переключатели, стандартные кнопки, ползунки, сенсорные области, раскрывающиеся меню, и тому подобных.
Детали и способы пользовательского интерфейса, описанные выше, могут быть осуществлены в большом разнообразии мобильных устройств 121, включая, например, сотовые телефоны (или “смартфоны”), системы GPS, устройства чтения электронных книг, планшетные компьютеры, компьютеры “нетбук”, устройства пунктов продаж, игровые устройства, и любые другие устройства, которые могут включать в себя более одного дисплея с сенсорным экраном. Однако, в целом, такие устройства обычно являются специализированными или универсальными вычислительными устройствами, включающими в себя один или более микропроцессоров, компоненты памяти и тому подобное, как известно в данной области техники.
Также системы и способы, описанные в настоящей заявке, могут быть осуществлены в любом мобильном устройстве, известном в настоящее время или разработанном позже. Ссылаясь на фиг.3, например, типичное мобильное устройство 121, в целом, будет включать в себя один или более процессоров 302, одно или более устройств 121 памяти (например, флэш-память, накопители на жестком диске, микрокарты SD и т.д.), модуль 306 радиочастотного приемопередатчика (например, работающий, в соответствии с IEEE 802.11, Zigbee и т.д.), дисплей 310 (например, дисплей с сенсорным экраном) и устройства 308 ввода (кнопки, жидкокристаллические диоды и т.д.). В некотором данном варианте осуществления могут присутствовать дополнительные электронные компоненты, включая обычно модуль питания (например, батареи, зарядные схемы и т.д.), периферийный интерфейс, один или более внешних портов (например, USB, Firewire и т.д.), аудио модуль и один или более датчиков, таких как датчики ускорения, датчики ориентации и датчики близости (не проиллюстрированы).
Хотя, по меньшей мере, один примерный вариант осуществления представлен в предыдущем подробном описании, следует понимать, что существуют огромное число вариантов. Также следует понимать, что примерный вариант осуществления или варианты осуществления, описанные в настоящей заявке, не предназначены, чтобы, так или иначе ограничивать рамки объема, применимость или конфигурацию. Скорее предыдущее подробное описание обеспечит специалистов в данной области техники удобной и наставляющей дорожной картой для осуществления описанного варианта осуществления или вариантов осуществления. Следует понимать, что различные изменения могут быть сделаны в функции и расположении элементов, не выходя за рамки изобретения и его допустимых эквивалентов.