Беспроводной сетевой интерфейс с инфраструктурными и прямыми режимами



Беспроводной сетевой интерфейс с инфраструктурными и прямыми режимами
Беспроводной сетевой интерфейс с инфраструктурными и прямыми режимами
Беспроводной сетевой интерфейс с инфраструктурными и прямыми режимами
Беспроводной сетевой интерфейс с инфраструктурными и прямыми режимами
Беспроводной сетевой интерфейс с инфраструктурными и прямыми режимами
Беспроводной сетевой интерфейс с инфраструктурными и прямыми режимами
Беспроводной сетевой интерфейс с инфраструктурными и прямыми режимами
Беспроводной сетевой интерфейс с инфраструктурными и прямыми режимами
Беспроводной сетевой интерфейс с инфраструктурными и прямыми режимами
Беспроводной сетевой интерфейс с инфраструктурными и прямыми режимами

 


Владельцы патента RU 2603496:

МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи (US)

Изобретение относится к архитектуре вычислительного устройства с поддержкой одноранговых связей, используя беспроводное радиоустройство, сконфигурированное также для связи на основе инфраструктуры. Технический результат заключается в упрощении управлением возможности связи беспроводного устройства в одноранговой группе и режиме инфраструктуры. Указанный результат обеспечивает вычислительное устройство, сконфигурированное для осуществления беспроводной связи, содержащее: радиоустройство, выполненное с возможностью одновременно подсоединять вычислительное устройство к инфраструктурной сети и к одноранговой группе; операционную систему; память и процессор; драйвер, выполненный с возможностью реализации множества портов в драйвере в качестве интерфейсов между драйвером и операционной системой. Драйвер обеспечивает работу множества портов в нескольких режимах: порт режима инфраструктуры; порт одноранговой связи. 3 н. и 17 з.п. ф-лы, 9 ил., 1 табл.

 

ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ

[0001] Многие компьютеры в наше время имеют радиоустройства для поддержки беспроводной связи. Беспроводная связь используется, например, для соединения с точкой доступа сети. За счет связи с точкой доступа беспроводной компьютер может получать доступ к устройствам в сети или к другим сетям доступным через эту сеть, такую как Интернет. В результате беспроводной компьютер может обмениваться данными со многими другими устройствами, обеспечивая возможность многих полезных функций.

[0002] Чтобы обеспечить возможность конфигурирования компьютеров для связи с точкой доступа, для точки доступа свойственно работать согласно стандарту. Общепринятый стандарт для устройств, которые соединяются с точками доступа, называется WI-FI. Этот стандарт был опубликован WI-FI Alliance и широко используется в портативных компьютерах. Существует множество версий этого стандарта, и некоторые из них могут быть использованы для поддержки соединений через точки доступа.

[0003] Беспроводные связи также могут быть использованы для образования соединений непосредственно с другими устройствами без использования точки доступа. Такие соединения иногда называются "одноранговыми" соединениями и могут быть использованы, например, чтобы позволить компьютеру осуществить соединение с мышью или клавиатурой беспроводным образом. Беспроводные связи для этих прямых соединений также были стандартизированы. Общеизвестный стандарт для таких беспроводных связей называется BLUETOOTH®.

[0004] В некоторых случаях беспроводной компьютер может параллельно соединяться с другими устройствами через точку доступа и в качестве части группы вовлекаться в одноранговые связи. Для поддержки такой параллельной связи некоторые компьютеры имеют множество радиоустройств. Совсем недавно был предложен стандарт, называемый WI-FI Direct, который обеспечивает возможность и инфраструктурного соединения, и связи в качестве части одноранговой группы с подобными беспроводными связями, которые могут быть обработаны единственным радиоустройством. Этот стандарт, также опубликованный WI-FI Alliance, расширяет популярный стандарт связей WI-FI для связей на основе инфраструктуры, чтобы поддерживать прямые соединения.

[0005] Оснащение вычислительных устройств для поддержки прямых соединений рассчитано на расширение сценариев, в которых беспроводное вычислительное устройство может соединяться с другими беспроводными устройствами. Например, компьютерные пользователи, работающие совместно, могут более быстро образовывать группу, которая позволит пользователям совместно использовать данные без потребности в любой конкретной инфраструктуре. Подобным образом компьютер может более быстро соединяться беспроводным образом с принтером или устройствами, обеспечивающими другие желаемые службы.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[0006] Беспроводное вычислительное устройство может быть реализовано простым образом и быть управляемым простым образом для поддержки беспроводных связей и в режиме инфраструктуры, и в одноранговом режиме за счет обеспечения драйвера радиоустройства, который поддерживает конфигурируемые порты. Порты могут представлять собой динамически конфигурируемые порты для работы в режиме инфраструктуры. В качестве альтернативы или дополнительно порты могут быть сконфигурированы для поддержки одноранговой связи.

[0007] Порты, поддерживающие одноранговую связь, могут включать в себя порт управления и один или несколько портов связи. Порт управления может быть использован для отправки и приема кадров управления, таких как публичные кадры действия и кадры обнаружения службы. Обмен этими кадрами управления может быть осуществлен под управлением операционной системы и может иметь результатом то, что драйвер установит группу устройств, включающих в себя беспроводное вычислительное устройство, для одноранговой связи. В качестве части создания группы может быть согласована роль беспроводного вычислительного устройства в группе с другими устройствами. Порт управления может поддерживать отправку и прием кадров управления для выполнения этих функций.

[0008] Сразу после создания группы может быть использован второй порт, сконфигурированный для связи среди устройств в группе. Этот порт может быть сконфигурирован на основе роли, согласованной для беспроводного вычислительного устройства. Устройство, например, может работать в качестве владельца группы или клиента в одноранговой группе.

[0009] Драйвер может поддерживать множество одноранговых портов связи таким образом, что беспроводное вычислительное устройство может быть сконфигурировано так, чтобы являться клиентом в некоторых группах и владельцем группы в других группах. Каждый порт может быть сконфигурирован для поддержки связи среди устройств в одной или нескольких группах. В результате беспроводное вычислительное устройство может принимать участие во множестве групп с одинаковыми или различными ролями в каждой группе.

[0010] Более того, один или несколько портов могут быть сконфигурированы для связи в режиме инфраструктуры. В результате беспроводное вычислительное устройство может, кроме поддержки параллельной связи с множеством групп, поддерживать параллельную связь в режиме инфраструктуры и одноранговом режиме, позволяя устройству быть гибко конфигурируемым для многих сценариев.

[0011] Более того, хотя порт может быть сконфигурирован для назначенной функции, порт может быть использован для других функций, если такие функции не являются несовместимыми. В качестве одного примера, порт управления, сконфигурированный для отправки и приема кадров, использованных при создании одноранговой группы, может быть использован после создания такой группы в качестве побочного канала для управления одним или несколькими устройствами в группе. Команды для управления устройством могут быть отправлены отдельно от кадров данных через соединение с этим устройством. В качестве конкретного примера порт управления может быть использован для создания группы, содержащей вычислительное устройство и устройство отображения, такое как телевизор, оснащенный беспроводным сетевым соединением. После установления соединения вычислительное устройство может отправлять команды через порт управления для управления аудио/видеохарактеристиками устройства отображения. Таким образом, вычислительное устройство может осуществлять потоковую передачу аудио/видеоконтента в качестве данных через порт, сконфигурированный для одноранговой связи, с устройством отображения, а также отдельно действовать в качестве дистанционного управления от вычислительного устройства для изменения звуковых характеристик и/или визуальных характеристик дисплея.

[0012] Независимо от гибкости в режимах связи и сочетаний поддерживаемых режимов беспроводное вычислительное устройство может быть управляемым простым образом через относительно небольшое количество команд.

[0013] Описанное выше представляет собой неограничивающее краткое изложение сущности изобретения, объем которого определен прилагаемой формулой изобретения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0014] Прилагаемые чертежи не подразумеваются как начерченные в масштабе. На чертежах каждый идентичный или приблизительно идентичный компонент, который проиллюстрирован на различных фигурах, представлен одинаковой позицией. В целях ясности, не каждый компонент может быть отмечен на каждом чертеже. На чертежах:

[0015] Фиг. 1 представляет собой упрощенную схему примерной среды, в которой могут быть выполнены на практике варианты осуществления изобретения;

[0016] Фиг. 2 - высокоуровневая структурная схема примерного вычислительного устройства, приспособленного для беспроводной связи;

[0017] Фиг. 3 - более подробная структурная схема примерного вычислительного устройства, приспособленного для беспроводных связей;

[0018] Фиг. 4 - блок-схема примерного процесса установки порта управления для одноранговой беспроводной связи;

[0019] Фиг. 5 - логическая блок-схема примерного процесса установления однорангового соединения согласно некоторым вариантам осуществления;

[0020] Фиг. 6 - логическая блок схема примерного процесса отправки и приема кадров данных через одноранговое беспроводное соединение;

[0021] Фиг. 7 - логическая блок схема примерного процесса передачи кадров данных при использовании порта управления для реализации побочного канала;

[0022] Фиг. 8 - упрощенная схема, иллюстрирующая примерную среду, в которой могут быть использованы связи через побочный канал; и

[0023] Фиг. 9 - упрощенная схема вычислительного устройства, иллюстрирующая примерную среду, в которой могут быть выполнены на практике варианты осуществления изобретения.

ПОДРОБНОЕ ОПИСАНИЕ

[0024] Авторы осознали и поняли, что простой, однако гибкий, механизм управления для поддержки прямой связи с устройствами в одноранговой группе, а также связь в режиме инфраструктуры значительно расширили бы удобство использования и пригодность прямой связи. Такая возможность может расширить распространение вычислительных устройств, которые поддерживают связи прямого режима дополнительно к традиционной связи режима инфраструктуры. Более того, за счет обеспечения параллельного управления одним и тем же радиоустройством, расходы на отдельные радиоустройства для поддержки множества режимов связи могут быть аннулированы.

[0025] В соответствии с некоторыми вариантами осуществления, такая функциональность может быть реализована в драйвере для радиоустройства в беспроводном вычислительном устройстве. Радиоустройство может быть способным распознавать множество адресов управления доступом к среде (MAC). Драйвер может взаимодействовать с радиоустройством для реализации множества портов, причем каждый связан с MAC-адресом, использующимся радиоустройством. Каждый порт может быть сконфигурирован для работы либо в режиме инфраструктуры, либо в режиме для прямых связей с одноранговой группой устройств.

[0026] Среди портов, сконфигурированных для прямых связей с одноранговой группой устройств, один такой порт может быть сконфигурирован в качестве порта управления. Порт управления может быть использован для отправки и приема кадров управления, которые устанавливают прямое соединение с группой устройств. Связи через порт управления также могут устанавливать роль беспроводного вычислительного устройства в группе.

[0027] Один или несколько других портов могут быть использованы для поддержки прямых связей с одноранговой группой устройств. Эти порты могут быть сконфигурированы для поддержки конкретной роли для беспроводного вычислительного устройства в группе. Такой порт может быть сконфигурирован, например, для поддержки роли владельца группы или клиента. Таким образом, беспроводное вычислительное устройство может принимать участие в согласовании владельца группы в соответствии со стандартом WI-FI Direct и независимо от результатов согласования работать в своей согласованной роли.

[0028] Конфигурация каждого порта может быть основана на активации программного обеспечения в драйвере, содержащего инструкции для отправки и приема кадров, подходящих для конфигурирования порта. Однако обработка кадров может быть разделена между драйвером и операционной системой таким образом, чтобы операционная система сохраняла информацию о состоянии связей через порт. Соответственно, драйвер может отвечать на кадры, которые не требуют информации о состоянии, например, путем выдачи подтверждения в ответ на принятое сообщение. Другие кадры могут быть перенаправлены к операционной системе.

[0029] Взаимодействия между операционной системой и драйвером могут быть осуществлены через стандартный интерфейс драйверов. Такой интерфейс может поддерживать набор команд, называемый в некоторых реализациях OID. Может быть использовано небольшое количество дополнительных команд для поддержки конфигурации драйвера, чтобы обеспечивать порты для прямой связи между беспроводными устройствами в группе. Дополнительные команды могут управлять драйвером, чтобы сконфигурировать порт для действия в качестве порта управления или для приобретения одной из ролей в группе. Команды могут также позволить операционной системе подавать команды драйверу для выполнения, функций необходимых для назначенной ему роли. Например, при конфигурации в качестве порта управления, порту может быть подана команда по обнаружению устройств и служб, по обмену кадрами с другими устройствами для образования группы, и по согласованию роли для беспроводного вычислительного устройства внутри группы.

[0030] В некоторых вариантах осуществления драйвер может быть сконфигурирован для распознавания дополнительных команд, включающих в себя команды, которые вызывают передачи побочных каналов, которые не относятся ни к установлению, ни к поддержке связи через инфраструктурное соединение или одноранговое соединение. В качестве одного примера драйвер может быть сконфигурирован для отправки кадров, которые могут быть распознаны в качестве управляющих некоторым аспектом устройства в одноранговой группе, который не относится непосредственно к одноранговому соединению.

[0031] В качестве конкретного примера, прямое соединение в беспроводном вычислительном устройстве может быть использовано для отправки аудио/видеоинформации от вычислительного устройства к близлежащему устройству отображения. Такой аудио/видеоконтент может представлять собой аудиоинформацию, такую как музыка, при этом устройство отображения может представлять собой стереосистему. Информация побочного канала может быть использована для управления громкостью, тоном или другой аудиохарактеристикой музыки, воспроизводящейся через акустическую систему. В качестве альтернативы, аудио/видеоконтент может представлять собой изображение, а устройство отображения может представлять собой проектор. Информация побочного канала может быть использована для управления яркостью или другой видеохарактеристикой изображения, представляемого проектором. В качестве еще одного другого примера, аудио/видеоконтент может представлять собой фильм, а устройство отображения может представлять собой телевизор. Информация побочного канала может быть использована для управления яркостью или другой видеохарактеристикой фильма, а также громкостью или другой аудиохарактеристикой фильма, воспроизводимого на телевизоре.

[0032] Приведенные выше технологии связи могут быть использованы отдельно или совместно в любом подходящем сочетании в любой подходящей среде. На Фиг. 1 проиллюстрирована среда, в которой вычислительное устройство осуществляет связь согласно некоторым вариантам осуществления.

[0033] В примере по Фиг. 1 вычислительное устройство 110 проиллюстрировано в качестве портативного компьютера. Однако должно быть понятно, что форм-фактор вычислительного устройства 110 не является ограничением для изобретения. Вычислительные устройства, выполненные в качестве планшетов, смартфонов или с другим подходящим форм-фактором, могут быть сконфигурированы и работать согласно вариантам осуществления изобретения.

[0034] На Фиг. 1 проиллюстрировано, что вычислительное устройство 110 управляется пользователем 112. Пользователь 112 может взаимодействовать с вычислительным устройством 110, используя такие технологии, которые известны в данной области техники, для управления вычислительным устройством 110, чтобы беспроводным образом соединяться с другими устройствами. В этом примере вычислительное устройство 110 имеет беспроводное соединение через точку 120 доступа к сети 124. Сеть 124 может представлять собой домашнюю сеть, корпоративную сеть, Интернет или любую другую подходящую сеть. Беспроводное соединение 122 через точку 120 доступа представляет собой пример соединения инфраструктурного типа. Для образования беспроводного соединения 122 может быть использована любая подходящая технология, включая технологии, которые применяют известные протоколы инфраструктурного типа. В качестве одного примера, беспроводное соединение 122 может быть образовано, используя протокол, иногда называемый "WI-FI". Однако использованный конкретный протокол не является критичным для изобретения.

[0035] В проиллюстрированном примере вычислительное устройство 110 имеет роль станции в беспроводном соединении 122. Роль вычислительного устройства 110 указывает конкретные этапы беспроводного протокола, выполняемые вычислительным устройством 110 для того, чтобы обмениваться информацией с точкой 120 доступа.

[0036] На Фиг. 1 также проиллюстрированы другие беспроводные соединения. Вычислительное устройство 110 показано, как имеющее соединения 132 и 136 с камерой 130 и принтером 134 соответственно. В этом случае камера 130 и принтер 134 представляют собой примеры беспроводных устройств, с которыми может соединяться вычислительное устройство 110 для того, чтобы обмениваться данными с этими устройствами.

[0037] В этом примере камера 130, принтер 134 и вычислительное устройство 110 могут поддерживать связь через беспроводные соединения 132 и 136, используя одноранговый протокол. В этом примере камера 130, принтер 134 и вычислительное устройство 110 могут образовывать группу согласно одноранговому протоколу. Однако в альтернативных вариантах осуществления вычислительное устройство 110 может образовывать первую группу с камерой 130 и вторую группу с принтером 134.

[0038] Беспроводные соединения 132 и 136 могут быть образованы согласно любому подходящему одноранговому протоколу. В этом примере соединения 132 и 136 образованы, используя расширение протокола WI-FI, называемое WI-FI Direct.

[0039] На Фиг. 2 на высоком уровне проиллюстрирована архитектура для вычислительного устройства 210, которое может работать для образования беспроводного соединения режима инфраструктуры, такого как беспроводное соединение 122 (Фиг. 1), и одноранговых беспроводных соединений, таких как соединения 132 и 136 (Фиг. 1). В примере по Фиг. 2 вычислительное устройство 210 включает в себя два радиоустройства: радиоустройство 250 и радиоустройство 254. Каждое из радиоустройств может быть приспособлено для отправки и приема беспроводной информации. Радиоустройство 250, например, может быть использовано для образования беспроводного соединения 122. Радиоустройство 254, например, может быть использовано для образования одноранговых соединений 132 и 136.

[0040] В этом примере радиоустройство 250 имеет адрес 252 управления доступом к среде (MAC). MAC-адрес может представлять собой уникальный идентификатор, связанный с радиоустройством 250 таким образом, что он может быть использован, чтобы отличать радиоустройство 250 от радиоустройства 254, а также от радиоустройств в любых других устройствах, с которыми может поддерживать связь вычислительное устройство 210. Соответственно MAC-адрес 252 может быть включен в пакеты, отправленные радиоустройством 250, для указания того, что кадр был отправлен радиоустройством 250, или может быть включен в пакеты, направленные к радиоустройству 250, чтобы указать, что кадр предназначен для радиоустройства 250.

[0041] MAC-адрес 252 может быть назначен радиоустройству 250 любым подходящим образом. Он может быть назначен, например, производителем радиоустройства 250. Однако, в некоторых вариантах осуществления MAC-адрес 252 может быть назначен операционной системой 230 или другим компонентом вычислительного устройства 210 или некоторым другим компонентом в системе, в которой работает вычислительное устройство 210.

[0042] Радиоустройство 250 может быть управляемым через программное обеспечение, представленное в качестве драйвера 240 на Фиг. 2. Здесь драйвер 240 включает в себя интерфейс 242, посредством которого операционная система 230 может выдавать команды драйверу 240 и посредством которого драйвер 240 может сообщать статус и уведомлять операционную систему 230 о принятых данных. Интерфейс 242 может быть реализован любым подходящим образом, в том числе согласно известному стандарту. Пример такого известного стандарта именуется NDIS, но такой стандарт не является критичным для изобретения.

[0043] Интерфейс 242 может поддерживать некоторое количество команд в формате, который не зависит от конструкции радиоустройства 250. Точнее, драйвер 240 может преобразовывать команды в стандартизированном формате интерфейса 242 в конкретные сигналы управления, которые применяются в радиоустройстве 250. Более того, драйвер 240 может быть запрограммирован для выполнения конкретных низкоуровневых функций, связанных с беспроводным соединением. Например, при приеме пакета драйвер 240 может проверять, отформатирован ли пакет должным образом. Если пакет отформатирован должным образом, драйвер 240 может проконтролировать генерирование подтверждения радиоустройством 250. С другой стороны, если пакет не отформатирован должным образом, драйвер 240 может проконтролировать отправку отрицательного подтверждения радиоустройством 250.

[0044] Тогда как драйвер 240 и, в некоторых случаях, радиоустройство 250 могут автоматически выполнять низкоуровневые функции, связанные с установкой и поддержанием беспроводного соединения, функции высокого уровня могут быть выполнены под управлением операционной системы 230 или приложений 220. В некоторых вариантах осуществления приложение 220 или операционная система 230 могут обеспечивать пользовательский интерфейс таким образом, чтобы окончательное управление беспроводной связью обеспечивалось пользователем вычислительного устройства 210.

[0045] В варианте осуществления, проиллюстрированном на Фиг. 2, вычислительное устройство 210 также включает в себя радиоустройство 254. Тогда как радиоустройство 250 может быть использовано, например, для соединения с инфраструктурной сетью, радиоустройство 254 может быть использовано для образования одного или нескольких одноранговых соединений, таких как соединения 132 и 136.

[0046] Радиоустройство 254 встроено в вычислительное устройство 210 в целом с такой же архитектурой, как у радиоустройства 250. Радиоустройство 254 связано с драйвером 244, который обеспечивает механизм для операционной системы 230 для управления радиоустройством 254. Драйвер 244 имеет интерфейс 246, через который операционная система 230 может отправлять команды драйверу 244, при этом драйвер 244 может предоставлять статус операционной системе 230. Интерфейс 246, подобно интерфейсу 244, может представлять собой стандартизированный интерфейс таким образом, чтобы операционная система 230 могла осуществлять связь с драйвером 244, используя подобный набор команд, который используется для управления драйвером 240. Однако, поскольку радиоустройство 254 использовано для реализации одноранговых соединений, драйвер 244 может отвечать на отличные или дополнительные команды в отличие от драйвера 240 для того, чтобы реализовывать функции, связанные с одноранговыми связями, которые не существуют для связей на основе инфраструктуры.

[0047] В качестве дополнительного отличия между радиоустройствами 250 и 254, радиоустройство 254 проиллюстрировано как имеющее множество MAC-адресов. В отличие от него, радиоустройство 250 включает в себя единственный MAC-адрес 252. Здесь проиллюстрированы MAC-адреса 256A, 256B и 256C. Множество MAC-адресов могут, например, быть назначены производителем радиоустройства 254, или MAC-адреса могут быть назначены любым подходящим способом, включая описанные выше, касательно MAC-адреса 252.

[0048] Наличие множества MAC-адресов позволяет радиоустройству 254 быть видимым для устройств, внешних к вычислительному устройству 210, в качестве множества сущностей, каждая из которых с отдельным MAC-адресом. В качестве примера, если вычислительное устройство 210 отдельно осуществляет связь в качестве владельца группы в первой одноранговой группе и в качестве клиента во второй одноранговой группе, для владельца группы и клиента могут быть установлены отдельные сущности. Устройства, внешние к вычислительному устройству 210, могут адресовать пакеты, предназначенные для обработки вычислительным устройством 210 в качестве владельца группы в первой группе, при помощи первого MAC-адреса. Пакеты, предназначенные для обработки в качестве клиента во второй группе, могут адресоваться при помощи второго MAC-адреса. Подобным образом, в пакетах для вычислительного устройства 210 от владельца группы может быть включен первый MAC-адрес; в пакетах от клиента может быть включен второй MAC-адрес.

[0049] Чтобы позволить операционной системе 230 связывать свои действия через драйвер 244 с одной конкретной сущностью из общего числа, внутренним образом для вычислительного устройства 210 каждая из сущностей может быть представлена в качестве порта. Соответственно, операционная система 230 может отправлять команды к или принимать информацию о статусе от каждой такой сущности через порт, связанный с этой сущностью.

[0050] Каждый из портов может быть сконфигурирован для выполнения функций, подходящих для типа сущности, представленной портом. В качестве примера, устройство, которое представляет собой часть одноранговой группы, может принимать роль владельца группы или клиента. От владельца группы может потребоваться в соответствии с беспроводным протоколом отправлять конкретные типы кадров действия и отвечать на другие типы кадров действия заданными способами. Устройство, сконфигурированное в качестве клиента, может отправлять различные кадры действия и ответы, или может отправлять одинаковые кадры действия и ответы в различных контекстах.

[0051] Однако должно быть понятно, что владелец группы и клиент представляют собой лишь два примера ролей, которые могут выполнять радиоустройство 254 и драйвер 244. В качестве другого примера, сущность может быть сконфигурирована ни в качестве владельца группы, ни в качестве клиента. Точнее, сущности может быть назначена роль контроллера, который управляет взаимодействиями с другими устройствами для образования группы и для определения роли вычислительного устройства 210 в этой группе.

[0052] Хотя Фиг. 2 иллюстрирует отдельные радиоустройства - радиоустройство 250 и радиоустройство 254, в варианте осуществления, в котором инфраструктурные соединения и одноранговые связи функционируют, используя одинаковые частотные каналы, может быть использовано единственное радиоустройство. В таких вариантах осуществления, сущности, выполняющие роли, связанные с инфраструктурной связью, и сущности, выполняющие роли, связанные с одноранговыми связями, могут быть реализованы одним и тем же радиоустройством.

[0053] На Фиг. 3 проиллюстрирован вариант осуществления, в котором вычислительное устройство 310 сконфигурировано для поддержки сущностей, каждая из которых имеет роль в инфраструктурной сети, и сущностей, каждая из которых имеет роль для одноранговой связи, используя единственное радиоустройство. На Фиг. 3 проиллюстрировано вычислительное устройство 310, содержащее радиоустройство 354. Радиоустройство 354 проиллюстрировано, как имеющее множество MAC-адресов, проиллюстрированных в качестве MAC-адресов 356A, 356В, 356С, 356D и 356E. Хотя проиллюстрировано пять MAC-адресов, которые могут позволить радиоустройству 354 и связанному с ним драйверу 344 параллельно обеспечивать пять портов, должно быть понятно, что конкретное количество поддерживаемых MAC-адресов не является критичным для изобретения и что в некоторых вариантах осуществления может быть использовано больше или меньше пяти MAC-адресов.

[0054] В этом примере могут быть использованы пять MAC-адресов для обеспечения пяти портов 382, 384, 386, 388 и 390, причем каждый сконфигурирован для выполнения отличной от других роли. В проиллюстрированном сценарии группа 380A этих портов была сконфигурирована для реализации сущностей, использующихся для связей на основе инфраструктуры. Группа 380B содержит порты, сконфигурированные для одноранговых связей.

[0055] В примере, проиллюстрированном на Фиг. 3, группа 380A содержит два порта - порты 382 и 384. Показана группа 380B, содержащая три порта - порты 386, 388 и 390. Должно быть понятно, что количество портов, выделенных для каждого типа использования, не критично для изобретения, при этом может быть использовано любое подходящее количество. Более того, не требуется, чтобы количество портов в каждой группе оставалось статическим. Точнее, операционная система 320 при необходимости может выдавать команды к драйверу 344 для динамичного создания или вывода из строя портов.

[0056] Совместно с командой для создания порта, операционная система 320 может установить роль, связанную с этим портом. Драйвер 344 может ответить на такую команду за счет создания порта, сконфигурированного для назначенной роли, которая может быть связана с соединениями на основе инфраструктуры или с одноранговыми соединениями.

[0057] Хотя для реализации такой возможности может быть использован любой подходящий механизм, на Фиг. 3 проиллюстрирован интерфейс 346 между операционной системой 320 и драйвером 344. Интерфейс 346 может представлять собой интерфейс к драйверу в стандартизованном формате. В качестве одного примера, некоторые драйверы написаны в соответствии с спецификацией интерфейса NDIS. В соответствии с этой спецификацией, обмен командами и информацией о статусе может быть осуществлен между драйвером 344 и операционной системой 320, используя программные объекты, называемые OID. Стандарт NDIS определяет некоторое количество OID, на которые должны или могут реагировать драйверы. Однако стандарт является расширяемым таким образом, что могут быть определены OID для поддержки дополнительной функциональности в конкретных обстоятельствах. Такая расширяемость может быть использована для определения команд, используя OID или другие подходящие представления, которые позволяют операционной системе 320 отдавать команды драйверу 344 для создания или вывода из строя порта или конфигурирования порта для конкретной роли.

[0058] Хотя радиоустройство 354 может обрабатывать пакеты для множества портов, помимо поддержки множества MAC-адресов, радиоустройство 354 в некоторых вариантах осуществления не нуждается в конкретной конфигурации для поддержки портов. Радиоустройство 354 может быть реализовано, используя технологии, известные в данной области техники. В этом примере секция 358 передатчика/приемника может представлять собой аппаратный компонент, известный в данной области техники и используемый для беспроводных связей. В этом примере, в котором радиоустройство 354 используется для поддержки связей в соответствии с протоколом инфраструктурного режима WI-FI и протоколом WI-FI Direct для одноранговых связей, секция 358 передатчика/приемника может поддерживать связи на множестве подканалов в частотном диапазоне, определенном спецификацией WI-FI. Однако конкретные рабочие характеристики секции 358 передатчика/приемника могут изменяться в зависимости от конкретного протокола, реализованного для поддержания связи, при этом они не являются критичными для изобретения. Контроллер 360 также может представлять собой аппаратный компонент, как известно в области техники конструкций беспроводных радиоустройств. Подобным образом, регистр 370 конфигурации может представлять собой аппаратный компонент, как известно в области техники конструкций беспроводных радиоустройств. Компоненты, указанные как MAC-адрес 356A...356E, также могут быть реализованы, используя технологии, известные в данной области техники. В некоторых вариантах осуществления MAC-адреса, поддерживаемые радиоустройством 354, могут быть закодированы в постоянном запоминающем устройстве или другом компоненте, который представляет собой часть радиоустройства 354. Однако должно быть понятно, что в вариантах осуществления, в которых MAC-адреса назначены радиоустройству 354 через драйвер 344, MAC-адреса 356A...356E могут быть физически реализованы либо в энергозависимой, либо в энергонезависимой перезаписываемой памяти таким образом, что может быть создан пул MAC-адресов, на которые может отвечать радиоустройство 354.

[0059] Независимо от способа, которым реализованы компоненты радиоустройства 354, радиоустройство 354 может содержать аппаратный интерфейс 346, посредством которого драйвер 344 может управлять радиоустройством 354. В некоторых вариантах осуществления, драйвер 344 может представлять собой машиноисполняемые инструкции программного обеспечения, выполняющиеся на процессоре в вычислительном устройстве 310. Соответственно, аппаратный интерфейс 346 может быть реализован как соединение шины или как другое подходящее межсоединение между исполняемым процессором драйвером 344 и отдельным радиоустройством 354 на плате. Хотя такие аппаратные интерфейсы известны в данной области техники, может быть использован любой подходящий интерфейс.

[0060] Чтобы сконфигурировать радиоустройство 354 для поддержки порта, драйвер 344 может обрабатывать пакеты для конкретного MAC-адреса радиоустройства 354, связанного с соединениями через этот порт. Драйвер 344 может записывать значение в регистр 370 управления, указывающее, что MAC-адрес должен быть активирован таким образом, чтобы радиоустройство 354 обрабатывало принятые пакеты, идентифицированные этим MAC-адресом. В течение работы контроллер 360 может управлять секцией 358 передатчика/приемника для ответа на любые пакеты, идентифицированные при помощи MAC-адреса, идентифицированного в качестве активного посредством информации в регистре 370 конфигурации. Соответственно, если активно множество портов, регистр 370 конфигурации будет содержать в себе указание каждого активного MAC-адреса.

[0061] Дополнительно к конфигурированию радиоустройства 354 для реагирования на MAC-адрес для порта, драйвер 344 может задать параметры связи, которые должны быть использованы с этим MAC-адресом. Эти параметры могут задать, например, то, что может быть использовано различное количество подканалов для связи с различными MAC-адресами. Таким образом, характеристики связи с различными частями могут управляться на основе роли, связанной с портом. В качестве конкретного примера, порт, сконфигурированный в качестве порта управления, может требовать меньшую полосу пропускания, чем порт для обмена данными. Соответственно, радиоустройство 354 может быть сконфигурировано для использования меньшего количества подканалов или другой схемы кодирования для MAC-адреса, который связан с портом управления.

[0062] Для информации, которая должна быть передана, драйвер 344 и/или радиоустройство 354 могут работать таким образом, что любые передаваемые кадры, содержащие такую информацию, будут идентифицированы MAC-адресом, связанным с портом, для которого передается информация. Может быть использован любой подходящий механизм для связывания MAC-адресов с конкретными кадрами, отправляемыми от или принимаемые для конкретного порта. Более того, такая обработка может быть выполнена частично или полностью в драйвере 344 и частично или полностью в радиоустройстве 354, поскольку конкретная реализация не воздействует на функционирование портов.

[0063] Драйвер 344 также может быть сконфигурирован для реализации множества портов. В этом примере проиллюстрирован драйвер 344, содержащий машиноисполняемые инструкции, которые реализуют мультиплексор/демультиплексор 392. Мультиплексор/демультиплексор 392 работает для направления принятых пакетов, связанных с портом, к части драйвера 344, которая реализует функциональность соответствующего порта. И наоборот, мультиплексор/демультиплексор 392 принимает пакеты для передачи от любого из портов и направляет эти пакеты к радиоустройству 354.

[0064] В сценариях, в которых множество портов одновременно имеют информацию для передачи, мультиплексор/демультиплексор 392 может быть посредником для установки порядка, в котором радиоустройство 354 принимает информацию от портов. С этой целью мультиплексор/демультиплексор 392 может использовать любую подходящую политику. Например, пакетам, несущим кадры управления, может быть дан приоритет над пакетами с кадрами данных. В качестве другого примера политики, передачам, связанным с портами, работающими в режиме инфраструктуры, может быть дан приоритет над портами, работающими в одноранговом режиме. В качестве еще одного другого примера, порту, сконфигурированному для роли владельца группы, может быть дан приоритет над портами, сконфигурированными для роли клиента в одноранговой группе. Однако конкретные политики, примененные мультиплексором/демультиплексором 392, не являются критичными для изобретения, при этом могут быть применены любые подходящие политики.

[0065] Дополнительно к конфигурированию мультиплексора/демультиплексора 392 для маршрутизации пакетов, драйвер 344 может быть сконфигурирован за счет связывания конкретного функционального модуля с каждым из портов. Конкретный функциональный модуль, связанный с портом, может быть основан на роли, назначенной этому порту. Например, на Фиг. 3 проиллюстрированы пять функциональных модулей. Функциональный модуль 394A после связывания с портом может сконфигурировать этот порт для работы в роли станции в инфраструктурной сети. Подобным образом, функциональный модуль 394B после связывания с портом может сконфигурировать этот порт для работы в роли точки доступа в инфраструктурной сети. Функциональный модуль 394C после связывания с портом может сконфигурировать этот порт для работы в роли контроллера в одноранговом режиме. Функциональный модуль 394D после связывания с портом может сконфигурировать этот порт для работы в роли владельца группы в одноранговой группе. Функциональный модуль 394E после связывания с портом может сконфигурировать этот порт для работы в роли клиента в одноранговой группе. В качестве альтернативы или дополнительно могут быть включены другие функциональные модули, хотя они не проиллюстрированы на Фиг. 3.

[0066] Функциональные модули 394A...394E могут быть реализованы любым подходящим образом. Например, каждый из функциональных модулей может быть реализован в качестве совокупности машиноисполняемых инструкций, которые закодированы для выполнения функций для роли, связанной с функциональным модулем. Например, функциональный модуль 394A может быть закодирован инструкциями, которые управляют радиоустройством 354 для передачи пакетов, соответствующих станции для инфраструктурной сети. Более того, функциональный модуль 394A может содержать инструкции, которые позволят драйверу 344 взаимодействовать с операционной системой 320 образом, который реализует поведение станции в инфраструктурной сети. В качестве конкретного примера, функциональный модуль 394A может быть закодирован для автоматического генерирования ответов на конкретные принятые кадры. Кроме того, функциональный модуль 394A может быть закодирован для передачи данных, принятых в кадре, к расположению в памяти на вычислительном устройстве 310, а затем извещения операционной системы 320 о том, что данные были приняты. Более того, функциональный модуль 394A может конфигурировать радиоустройство 354 для роли этого функционального модуля. Такое конфигурирование может включать в себя настройку некоторого количества подканалов или других параметров беспроводных связей, используемых в заданной роли. Операции, выполняемые функциональным модулем 394, могут быть подобными тем, которые выполняются в традиционном драйвере для беспроводной сетевой интерфейсной платы, сконфигурированной исключительно в качестве станции в сети WI-FI, при этом функциональный модуль 394 может быть закодирован, используя технологии, известные в данной области техники.

[0067] Каждый из других функциональных модулей может быть закодирован подобным образом для взаимодействия с операционной системой 320 и радиоустройством 354 и для конфигурирования радиоустройства 354, а также для внутренней обработки и генерирования связей в соответствии с его ролью. Функциональный модуль 394B, например, может быть закодирован машиноисполняемыми инструкциями, которые выполняют операции над или в ответ на принятые кадры с поведением, известным для точки доступа в инфраструктурной сети. Также функциональный модуль 394B может быть закодирован для взаимодействия с операционной системой 320, используя технологии, известные в данной области техники.

[0068] Функциональный модуль 394C может быть закодирован для выполнения функций, связанных с установлением одноранговой группы. Инструкции, которые реализуют функциональный модуль 394C, могут подобным образом быть написаны, используя технологии, которые известны в данной области техники. Эти инструкции могут предписывать радиоустройству 354 передавать пакеты, содержащие кадры действия, или ответы на кадры действия типа, использованного для создания группы для одноранговой связи согласно конкретному протоколу. Компоненты в операционной системе 320 могут инициировать отправку этих кадров действия. Однако для некоторых кадров действия функциональный модуль 394C может быть сконфигурирован для генерирования ответа на кадр действия без специального действия операционной системы 320. В Таблице 1 перечислены примеры кадров действия, которые могут быть отправлены функциональным модулем 394C при команде от операционной системы 320. Эти кадры действия представляют кадры действия, подходящие для протокола WI-FI Direct. Дополнительные кадры действия, использованные в этом протоколе, могут быть отправлены без специальной команды в ответ на принятый кадр действия или другое подходящее инициирующее событие. Однако должно быть понятно, что для различных протоколов могут быть использованы другие или дополнительные кадры действия, при этом конкретные кадры действия не представляют ограничения для изобретения.

Таблица 1
Кадр действия Диалоговый маркер, сгенерированный драйвером Порт остается доступным после успешной передачи для приема ответов Прием, указанный для ОС
Запрос на согласование ВГ Да Да Да
Ответ на согласование ВГ Нет Да, если ответ указывает, что согласования были удачными, в противном случае - Нет Да
Подтверждение на согласование ВГ Нет Нет Да
Запрос на одноранговое приглашение Да Да Да
Ответ на одноранговое приглашение Нет Нет Да
Запрос на обнаружение обеспечения Да Да Да
Ответ на обнаружение обеспечения Нет Нет Да

[0069] Когда операционная система 320 подает запрос к порту управления для отправки одного из кадров действия в Таблице 1, функциональный модуль 394C в драйвере 344 может предпринять действия, такие как:

a. Выбор диалогового маркера для передачи. Если отправка осуществляется в ответ на запрос, операционная система может обеспечить диалоговый маркер (как описано ниже), который должен быть использован, при этом драйвер 344 может затем использовать заданный диалоговый маркер,

b. Завершение запроса. Если драйвер 344 выбрал диалоговый маркер, он может сообщить диалоговый маркер операционной системе 320 при завершении запроса.

с. Синхронизация с устройством WI-FI Direct, которому предназначен кадр. В зависимости от реализации, если отправка осуществляется в ответ на принятый запрос (например, ответ на приглашение, отправленный на прием запроса на приглашение), этот этап может быть опущен.

d. Отправка кадра и ожидание ACK.

e. После приема ACK для кадра, или если нет повторных попыток получить ACK, отправка указания NDIS_STATUS в операционную систему 320 для уведомления о статусе передачи кадра действия. Это указание может включать в себя информационные элементы из пакета, содержащего кадр действия.

[0070] Если отправка была для кадра, причем будет прием ответа от однорангового устройства, а передача была успешной, порт может оставаться доступным для однорангового устройства для отправки ответных кадров действия к минипорту. Время ожидания и механизм доступности должны следовать одноранговой технической спецификации WI-FI.

[0071] Конкретный компонент в операционной системе 320, который инициирует функциональный модуль 394C для отправки кадров действия, когда функциональный модуль 394C связан с портом, не является критичным для изобретения. При этом на Фиг. 3 проиллюстрирован диспетчер 330 устройств в операционной системе 320. Диспетчер 330 устройств, например, может быть диспетчером устройств, известным в данной области техники, который может представлять пользовательский или программный интерфейс, посредством которого пользователь или какой-либо исполняемый компонент может запросить установление сеанса связи с устройством, используя одноранговую связь.

[0072] Когда порт, такой как порт 386, сконфигурирован для функционирования в качестве контроллера для одноранговой связи за счет связывания этого порта с функциональным модулем 394C, диспетчер 330 устройств может взаимодействовать с портом 386 для управления различными аспектами установления одноранговой связи с одним или несколькими устройствами. Например, диспетчер 330 устройств может принимать ввод пользователя, запрашивающий, чтобы вычислительное устройство 310 было беспроводным образом соединено с устройством, таким как принтер 134 (Фиг. 1). В ответ на такой ввод диспетчер 330 устройств может взаимодействовать через стек 322 с портом 386, побуждая функциональный модуль 394C управлять радиоустройством 354 для передачи кадров действия.

[0073] Переданные кадры действия могут представлять собой кадры, связанные с устройством или обнаружением службы. Диспетчер 330 устройств может задать природу этих запросов, например, должен ли функциональный модуль 394C пытаться обнаружить любое устройство в окрестности вычислительного устройства 310 или лишь устройства, которые обеспечивают идентифицированную службу, такую как служба принтера. Однако диспетчер 330 устройств может быть сконфигурирован для отправки команд в других форматах через порт 386 для установления связи с одним или несколькими устройствами в группе.

[0074] В качестве примера, на Фиг. 3 показано, что операционная система 320 поддерживает постоянное хранилище 328 устройств. Постоянное хранилище 328 устройств может содержать в себе информацию, идентифицирующую устройства, с которыми вычислительное устройство 310 ранее устанавливало беспроводную связь. Диспетчер 330 устройств может осуществлять доступ к информации в постоянном хранилище 328 устройств для идентификации конкретных устройств и отправки команд через порт 386 функциональному модулю 394C для генерирования кадров действия, чтобы установить беспроводное соединение с устройством, идентифицированным в хранилище 328 постоянных устройств, автоматически в ответ на пользовательский ввод или в ответ на любое другое подходящее инициирующее событие.

[0075] В сценариях, в которых диспетчер 330 устройств требует информацию, такую как пароль или идентификатор, для установления связи с внешним устройством, диспетчер 330 устройств может в качестве альтернативы или дополнительно взаимодействовать с пользователем через пользовательский интерфейс (не показан в прямой форме на Фиг. 3) для получения этой информации от пользователя или какого-либо другого источника. Когда необходимо передать эту приобретенную информацию, диспетчер 330 устройств может взаимодействовать с портом, сконфигурированным в качестве контроллера для обеспечения отправки этой информации.

[0076] Независимо от механизма, который инициирует порт, сконфигурированный в качестве порта управления, такой как порт 386, для идентификации группы устройств, порт управления может отправлять и принимать кадры действия для идентификации одного или нескольких устройств, которые образуют группу, включающую в себя вычислительное устройство 310. Действия, инициированные через порт 386, дополнительно к идентификации группы могут согласовать роль для вычислительного устройства 310 внутри этой группы. В проиллюстрированном примере однорангового протокола WI-FI Direct устройство может иметь роль в группе в качестве владельца группы или в качестве клиента. Связь с другим устройством или устройствами в идентифицированной группе может быть выполнена через другой порт. Этот порт может быть сконфигурирован для поддержки поведения в роли, идентифицированной для вычислительного устройства 310.

[0077] В примере, проиллюстрированном на Фиг. 3, проиллюстрированы дополнительные порты 388 и 390. Каждый из этих портов может быть связан с отличной от других ролью. Например, порт 388 может быть связан с ролью владельца группы. Порт 390 может быть связан с ролью клиента. Конфигурирование порта для отличной от других роли может быть выполнено за счет связывания порта с функциональным модулем, который выполняет операции, связанные с ролью. Например, функциональный модуль 394D, который выполняет функции, связанные с устройством, работающим в качестве владельца группы, может быть связан с портом 388. Подобным образом, функциональный модуль 394E, который выполняет функции, связанные с устройством, работающим в качестве клиента, может быть связан с портом 390.

[0078] В течение работы, когда пакеты принимаются через радиоустройство 354, имеющее MAC-адреса, связанные с портами 388 или 390, мультиплексор/демультиплексор 392 будет направлять эти пакеты для обработки в соответствующем порту. Пакеты, направленные к порту 388, могут быть обработаны функциональным модулем 394D, который может выполнить действия, связанные с ролью владельца группы. Пакеты, содержащие кадры данных, могут быть обработаны за счет размещения данных в памяти и уведомления стека 322 о том, что данные были приняты. Такое взаимодействие с операционной системой 320 может использовать технологии сигнализирования стека, которые известны в данной области техники. Однако конкретный механизм, которым осуществляется связь между каждым портом и операционной системой 320, не является критичным для изобретения.

[0079] Когда управляющие кадры отправляются в качестве части сеанса, установленного с группой, в которой вычислительное устройство 310 является владельцем группы, эти управляющие кадры могут подобным образом направляться мультиплексором/демультиплексором 392 к порту 388. Функциональный модуль 394C может быть сконфигурирован либо для ответа на эти управляющие кадры, либо может быть сконфигурирован для передачи управляющих кадров в операционную систему 320 в зависимости от того, запрограммирован ли функциональный модуль 394C для ответа на них.

[0080] Подобным образом, если вычислительное устройство 310 сконфигурировано для роли клиента в группе, пакеты, относящиеся к связи с устройствами в этой группе, будут идентифицированы при помощи MAC-адреса, что побудит мультиплексор/демультиплексор 392 направлять эти пакеты к порту, сконфигурированному в качестве клиента, такому как порт 390. Порт 390 может быть связан с функциональным модулем 394E, реализующим функциональность клиента согласно одноранговому протоколу. Функциональный модуль 394E может быть сконфигурирован для переноса данных из кадров данных в таких пакетах в память и уведомления операционной системы 320 об этих данных, используя технологии, известные в данной области техники. Функциональный модуль 394E может отвечать на пакеты, содержащие управляющие кадры, или может уведомлять операционную систему 320 об этих управляющих кадрах.

[0081] На Фиг. 3 проиллюстрирована конкретная иерархия функций связи. Конкретные функции, относящиеся к связи с внешними устройствами, выполняются в радиоустройстве 354. Другие функции выполняются в драйвере 344. Другие дополнительные функции выполняются в операционной системе 320. Хотя это специально не проиллюстрировано, другие дополнительные функции могут быть выполнены приложениями 220 или вводом пользователя, или источником, внешним по отношению к вычислительному устройству 310. При такой архитектуре высокоуровневые функции, такие как определение того, к каким устройствам подсоединяться в качестве одноранговой группы, могут быть выполнены на высоких уровнях в архитектуре. С другой стороны, низкоуровневые функции, такие как генерирование подтверждения на принятый пакет, могут быть выполнены на низких уровнях в архитектуре. Например, драйвер 344 может быть сконфигурирован для генерирования такого подтверждения.

[0082] Хотя возможны другие архитектуры, в которых функции могут быть различным образом разделены таким образом, чтобы различные аспекты связи управлялись различными компонентами, в проиллюстрированном примере радиоустройство 354 и драйвер 344 сконфигурированы для реагирования без сохранения состояния на события, такие как команды или принятые пакеты. Для расширения информации о состоянии, включенной в сеанс связи, такая информация о состоянии может поддерживаться в операционной системе 320. Например, стек 322 может поддерживать информацию о состоянии для сеансов связи, выполняемых через любые из портов 382, 384, 386, 388 и 390. Конкретная поддерживаемая информация о состоянии может зависеть от количества и типов состояний в протоколе, который поддерживается каждым из портов.

[0083] В примере по Фиг. 3 показана информация о состоянии сеанса 324A, связанная с портом 388. Хотя это не проиллюстрировано в прямой форме, информация о состоянии сеанса может поддерживаться для других портов. В зависимости от протокола, реализуемого портом 388, такая информация о состоянии сеанса может указывать параметры сеанса, такие как количество устройств, которые соединены в группу, для которой вычислительное устройство 310 является владельцем группы. Другая информация о состоянии, такая как время, до которого эти устройства могут входить в режим малого энергопотребления, также может быть сохранена в качестве части информации 324 о состоянии сеанса.

[0084] На Фиг. 3 дополнительно показана информация 324B и 324C о состоянии сеанса, связанная с портом 388. Информация 324B и 324C о состоянии может описывать различные сеансы. Такие сеансы могут возникать, если вычислительное устройство 310 соединено с тремя группами, в которых оно является владельцем группы. Для поддержки множества таких сеансов может быть обеспечен механизм для связывания конкретных кадров, отправленных или принятых при помощи соответствующего сеанса. Может быть использован любой подходящий идентификатор или идентификаторы. Например, связи с группой устройств могут рассматриваться в качестве сеанса таким образом, что идентификатор группы может быть использован для группирования связей, имеющих взаимоотношения в качестве части сеанса. Стек 322 обеспечивает интерфейс к диспетчеру 330 устройств или другим компонентам, которые связывают каждый сеанс с подходящим компонентом, который представляет собой конечную точку в этом сеансе. Такое обеспечение интерфейса может быть выполнено, используя технологии, известные в данной области техники.

[0085] Дополнительно к поддержанию информации о состоянии, которая позволяет представлять надлежащим образом связи из различных отдельных сеансов, стек 322 может поддерживать в качестве части информации о состоянии, поддерживаемой для каждого сеанса, информацию, которая позволяет стеку 322 устанавливать отношения для связей, которые представляют собой часть обмена для выполнения функции. Например, когда кадр, представляющий запрос, отправлен, распознавание того, что впоследствии принятый кадр представляет собой ответ на этот запрос, может облегчить обработку запроса и ответа. Обеспечение механизма установления отношений для связей, которые представляют собой часть обмена, может облегчить обработку, в особенности, если на одном и том же порту поддерживается множество сеансов. Чтобы обеспечить возможность распознавания связей, которые представляют собой часть обмена, могут быть использованы "диалоговые маркеры". Связь, инициирующая обмен, может быть снабжена таким диалоговым маркером. При ответе на такую связь диалоговый маркер из запроса может быть скопирован в ответ. Соответственно, устройство, отправляющее запрос, может связать ответ или любое другое сообщение, которое представляет собой часть того же самого обмена, с запросом. Соответственно, информация 324A о состоянии может содержать диалоговые маркеры, связанные с текущими соединениями, включая любое устройство, поддерживающее связь в части сеанса.

[0086] Диалоговые маркеры могут быть сгенерированы любым подходящим образом. Например, они могут быть сгенерированы в операционной системе 320. В качестве альтернативы, если пакет, начинающий диалог, инициирован портом, порт или другой компонент в драйвере 344 может сгенерировать маркер. Подобным образом, если ответ на пакет сгенерирован портом, таким как порт 386, 388 или 390, маркер может быть вставлен в ответ этим портом. Напротив, если ответ на пакет инициирован в ответ на команду, сгенерированную в операционной системе 320, компонент в операционной системе 320, такой как стек 322, может задать маркер для включения в ответ. В Таблице 1 для перечисленных кадров действия указано, сгенерирован ли диалоговый маркер, связанный с кадром действия, в операционной системе или, если нет - в драйвере. Хотя должно быть понятно, что Таблица 1 представляет лишь один пример того, как может быть разбита функциональность генерирования диалогового маркера для кадра, может быть использовано любое подходящее разделение этой функции.

[0087] Подобная информация о состоянии сеанса 326A, 326B и 326C показана в связке с портом 390. Информация о состоянии сеанса 326A, 326B и 326C может представлять состояние, поддерживаемое для каждого из трех сеансов, причем каждый сеанс связан с группой, в которой вычислительное устройство 310 является участником с ролью клиента. Как и в случае информации о состоянии сеанса 324A, 324B и 324C, уникальный диалоговый маркер может быть связан с каждым из сеансов, позволяя стеку 322 разделять принятые пакеты, связанные с каждым из сеансов. Подобным образом, вычислительное устройство 310 может вызвать связывание диалогового маркера с пакетами, переданными от вычислительного устройства 310. Диалоговые маркеры могут быть использованы, чтобы позволить стеку 322, или подобным обрабатывающим компонентам на удаленных устройствах, которые принимают пакеты от вычислительного устройства 310, связывать пакеты, которые представляют собой часть мультипакетного обмена информацией. Например, второй пакет, отправленный в ответ на первый пакет, может включать в себя маркер из первого пакета. В результате, когда отправитель первого пакета принимает второй пакет, он может связать первый пакет и второй пакет с одним и тем же диалогом.

[0088] При архитектуре, проиллюстрированной на Фиг. 3, информация о состоянии относительно каждого из соединений может поддерживаться в операционной системе 320. В результате, портам 386, 388 и 390 нет необходимости поддерживать информацию о состоянии. В некоторых вариантах осуществления функциональные модули, такие как функциональные модули 394C, 394D и 394E, которые реализуют функции порта, не поддерживают информацию о состоянии. Точнее, каждый из функциональных модулей может быть закодирован для реагирования на события, такие как команда от операционной системы 320 или принятый пакет, переданный радиоустройством 354. Однако, независимо от того, как эта функциональность разделена, вычислительное устройство 310 может быть управляемым для обеспечения функциональности, связанной с множеством сущностей, за счет установления и конфигурирования порта для выполнения функциональности каждой сущности. В результате вычислительное устройство 310, поскольку драйвер 344 и радиоустройство 354 могут быть сконфигурированы для поддержки множества портов, может параллельно работать в качестве различных сущностей. Эти сущности могут включать в себя сущности, связанные с соединением режима инфраструктуры, а также сущности, связанные с одноранговым соединением.

[0089] На Фиг. 4 проиллюстрирован процесс, посредством которого вычислительное устройство 310 может работать для установления связи согласно одноранговому протоколу. Процесс Фиг. 4 начинается в блоке 410 при вводе, указывающем, что должно быть выполнено одноранговое соединение. В этом примере, этап 410 затрагивает прикладную программу, запрашивающую операционную систему 320 об установлении одноранговой связи. Запрос в этом примере выполнен для одноранговой связи, используя стандарт WI-FI Direct. Такой запрос, например, может быть выполнен компонентом приложения, таким как текстовый процессор, запрашивающим, чтобы диспетчер 330 устройств (Фиг. 3) идентифицировал принтер. Однако, независимо от причины инициирования одноранговой связи, обработка на этапе 410 может привести к тому, что приложение сделает вызов в операционной системе 320.

[0090] Такой вызов может инициировать конфигурирование драйвера 344 для одноранговой связи операционной системой 320. Однако перед попыткой сконфигурировать драйвер 344 операционная система 320 может определить, способен ли драйвер, установленный в вычислительном устройстве 310 для конфигурирования для одноранговой связи согласно стандарту WI-FI Direct. Обработка на этапе 412 может повлечь за собой прохождение команды через интерфейс 346. В качестве одного примера, команда может быть в форме OID, называемой DOT11_VWIFI_ATTRIBUTES. Однако должно быть понятно, что конкретная форма команды не является критичной для изобретения.

[0091] Независимо от формы команды, драйвер 344 может ответить при помощи указания о его возможности поддержки связей согласно протоколу WI-FI Direct. В примере, проиллюстрированном на Фиг. 3, в котором драйвер 344 может поддерживать множество портов, некоторые из которых могут быть сконфигурированы для связей WI-FI Direct, принятый на этапе 412 ответ будет указывать такие способности драйвера 344. Соответственно, процесс Фиг. 4 может продолжиться. В вариантах осуществления, в которых драйвер 344 не способен поддерживать связи WI-FI Direct, обработка на этапе 412 может повлечь за собой выбор альтернативного механизма связей или другого подходящего ответа.

[0092] В проиллюстрированном сценарии, в котором драйвер поддерживает связь согласно запрошенному протоколу, обработка продолжается на этапе 414. На этапе 414 операционная система может запросить этот драйвер установить порт, который будет использован для связи WI-FI Direct. Как и в случае других команд, отправляемых от операционной системы 320 к драйверу 344, такой запрос может быть отправлен в форме команды через интерфейс 346. В этом примере команда может представлять собой OID в форме OID_DOT11_CREATE_MAC. Однако, этот конкретный формат команды не является критичным для изобретения.

[0093] В ответ на такую команду драйвер 344 может сконфигурировать радиоустройство 354 для распознания дополнительного MAC-адреса, который должен быть связан с портом, запрашиваемым для одноранговой связи. MAC-адрес может быть получен любым подходящим образом. Например, он может быть реализован аппаратно в радиоустройстве 354, может быть сгенерирован драйвером 344 или даже обеспечен операционной системой 320, например совместно с командой, отправленной на этапе 414.

[0094] Независимо от способа, которым сгенерирован MAC-адрес, после того как он установлен, драйвер 344 может ответить операционной системе 320 информацией о порте, установленном, используя этот MAC. Ответ может быть в форме сообщения о статусе, отправленном через интерфейс 346. В качестве одного примера, сообщение о статусе может быть в форме OID, называемой DOT11_MAC_INFO. Совместно с этим сообщением о статусе драйвер 344 может задать интерфейсный адрес. Интерфейсный адрес для операционной системы 320 будет идентифицировать информацию, необходимую для получения доступа к порту, который создал драйвер 344. Интерфейсный адрес в этом сценарии не должен быть соотнесен с MAC-адресом, использованным радиоустройством 354. Точнее, мультиплексор/демультиплексор 392 (Фиг. 3) завершит установление соответствия между MAC-адресом, связанным с портом, и интерфейсным адресом, через который операционная система 320 может получить доступ к порту.

[0095] В варианте осуществления, описанном в связи с Фиг. 3, в котором порты выполняют конкретные функции, после того как порт создается, он конфигурируется за счет связи этого порта с конкретным набором функций. Для установления одноранговой связи, в конце концов, может быть использован порт, сконфигурированный либо как владелец группы, либо как клиент. Однако, перед тем как сможет быть определена конкретная роль для устройства наряду с обменом данными с другими устройствами в группе, может быть осуществлен обмен множеством кадров действия с другими устройствами в окрестности вычислительного устройства 310 для образования этой группы и согласования конкретной роли для вычислительного устройства 310 в этой группе. В варианте осуществления, проиллюстрированном на Фиг. 3, обмен этими кадрами управления выполняется через порт управления, такой как порт 386, который становится связанным с функциональным модулем 394C для выполнения функций управления. Соответственно, на этапе 418 процесс может повлечь за собой то, что операционная система 320 отправит команду драйверу 344 для конфигурирования порта, определенного на этапе 416, в качестве порта управления. Такая команда может быть отправлена через интерфейс 346. В качестве примера, команда может быть в форме OID, называемой DOT11_OPERATION_MODE_WFD_DEVICE.

[0096] После того, как порт управления установлен, процесс может продолжаться Фиг. 5, на которой проиллюстрированы операции, выполняемые через этот порт управления, для создания группы устройств, включающей в себя вычислительное устройство 310. Обработка на Фиг. 5 начинается на этапе 510 операционной системой 320, отправляющей команды к драйверу 344 для поиска устройств или служб. Команда может быть отправлена через интерфейсный адрес, установленный для порта управления на этапе 416 (Фиг. 4).

[0097] В ответ на такую команду, на этапе 512 драйвер 344 может управлять радиоустройством 354 для передачи одного или нескольких пакетов, содержащих кадры действия, запрашивающие устройства, принимающие пакеты, об ответе. Переданные пакеты могут быть снабжены диалоговым маркером и MAC-адресом, связанным с портом 386, действующим в качестве порта управления. Соответственно, любые ответы, обнаруженные радиоустройством 354, будут проходить через мультиплексор/демультиплексор 392 к порту 386. От порта 386 ответы могут быть переданы к операционной системе 320, по-прежнему снабженные диалоговым маркером таким образом, что они могут быть идентифицированы в качестве ответов на поиск.

[0098] Ответы, переданные к операционной системе 320, могут содержать информацию, идентифицирующую устройства в окрестности вычислительного устройства 310, доступные для беспроводной связи в качестве части одноранговой группы. На этапе 514 операционная система 320 может использовать информацию в ответах на запрос пользовательского ввода о том, должно ли быть установлено беспроводное соединение с любым из устройств, которые ответили. Такой запрос может быть выполнен любым подходящим образом, в том числе представляя через пользовательский интерфейс один или несколько вариантов выбора устройств, с которыми вычислительное устройство 310 может быть соединено. На этапе 516 пользователь может обеспечить ввод, выбирая устройство или множество устройств. Однако конкретная обработка, использованная для идентификации устройства, с которым должны быть сформированы соединения, не является критичной для изобретения.

[0099] Независимо от способа, которым идентифицировано устройство, с которым формируется соединение, процесс может продолжаться этапом 518, на котором операционная система может выдать команду драйверу 344 для начала согласования группы с идентифицированными устройствами. Часть процесса образования группы в протоколе WI-FI Direct представляет собой согласование владельца группы. Соответственно, на этапе 518 операционная система 320 может подать команду драйверу 344 для начала согласований владельца группы. Такая команда может быть отправлена через интерфейсный адрес, выделенный для порта управления.

[00100] На этапе 520 драйвер 344 может управлять радиоустройством 354 для передачи пакетов, содержащих в себе кадры действия, которые представляют собой согласования владельца группы. Эти пакеты могут быть отформатированы в соответствии с протоколом WI-FI Direct. Однако, подобные действия могут быть осуществлены, когда используются другие протоколы.

[00101] В ответ на кадр действия, переданный на этапе 520, один или несколько кадров действия могут быть приняты от устройств, внешних к вычислительному устройству 310, которые находятся в окрестности вычислительного устройства 310. Эти ответы могут быть обработаны портом 386, сконфигурированным в этом примере в качестве порта управления. В варианте осуществления, в котором драйвер не сохраняет информацию о состоянии, обработка может привести к простой передаче ответов в операционную систему 320. Однако, в других вариантах осуществления обработка портом 386 в качестве альтернативы или дополнительно может повлечь за собой определение ответа и управление радиоустройством 354 для его отправки.

[00102] В иллюстративном варианте осуществления на основе ответов операционная система может подать команду драйверу 344 для отправки дополнительных кадров действия, связанных с согласованием владельца группы. Соответственно, должно быть понятно, что обработка на этапах 520 и 522 может быть выполнена многократно, когда операционная система 320 инициирует драйвер 344 отправлять пакеты, содержащие кадры действия. Драйвер 344 может передавать ответы в операционную систему 320. Однако, возможны другие варианты осуществления, в которых драйвер 344 идентифицирует и отправляет без специальной команды от операционной системы 320 дополнительные кадры действия, когда он принимает ответ на предшествующий кадр действия.

[00103] Процесс отправки пакетов, содержащих кадры действия, приема ответов и выполнения дополнительных действий на основе этих ответов может продолжаться до тех пор, пока не закончатся согласования владельца группы. Конкретное завершение согласований владельца группы может зависеть от реализуемого протокола для беспроводных связей. Однако, в варианте осуществления, проиллюстрированном на Фиг. 5, согласования владельца группы заканчиваются вычислительным устройством 310, отправляющим другим устройствам в группе кадр действия подтверждения владельца группы. Это действие может быть выполнено на этапе 524. Такое действие может быть инициировано операционной системой 320, подав команду драйверу 344 через порт 386 для отправки такого кадра действия.

[00104] В проиллюстрированном варианте осуществления, в котором каждый порт выполняет конкретную функцию, порт, использованный для создания группы и согласования владельца группы, не обрабатывает сообщения, когда вычислительное устройство 310 действует в качестве владельца группы или клиента в одноранговой группе. Точнее, в проиллюстрированном варианте осуществления по меньшей мере один дополнительный порт может быть использован с этой целью. Соответственно, как только согласования группы и роли для вычислительного устройства 310 внутри этой группы завершаются, процесс может продолжаться этапом 610 (Фиг. 6), где устанавливается второй порт для поддержки соединений с устройствами в образованной группе.

[00105] На этапе 610 процесс установки такого порта может быть начат операционной системой 320, запрашивающей этот драйвер 344 для установки второго порта. Обработка на этапе 610 может быть такой же, как на этапе 414. Ответ от драйвера на этапе 612 также может быть таким же, как ответ на этапе 416, обеспечивающий, например, интерфейсный адрес для порта.

[00106] Напротив, если второй порт должен быть использован для связи в группе, в которой вычислительное устройство 310 имеет роль клиента, обработка может перейти по ветке к этапу 624. На этапе 624 операционная система 320 может подать команду драйверу 344 для конфигурирования второго порта для выполнения функций, связанных с клиентом. Как в случае команды на этапе 622, команда на этапе 624 может быть передана через интерфейс 346. В ответ на такую команду драйвер 344 может связать функциональный модуль 394E, содержащий функциональность клиента, со вторым портом, созданным на этапе 612.

[00107] Независимо от конкретной роли, для которой должен быть сконфигурирован второй порт, после завершения этого конфигурирования обработка может быть продолжена подпроцессом 630. В рамках подпроцесса 630 операционная система 320 может рассматривать порт в качестве интерфейса к радиоустройству, сконфигурированному для конкретной роли. Такой интерфейс может быть представлен для компонентов приложения в качестве сетевого адаптера, использующего заданный интерфейсный адрес для порта. Каждый созданный порт может быть представлен в качестве отдельного сетевого адаптера. В данной области техники известно форматирование интерфейсов к сетевым адаптерам, и операционная система 320 может использовать это известное форматирование для представления каждого порта в качестве сетевого адаптера. Однако должно быть понятно, что конкретный формат, в котором порт представлен операционной системой на этапе 632, не является критичным для изобретения.

[00108] Независимо от формата, в котором представлен порт, приложение в этом случае может использовать порт для обмена информацией беспроводным образом. На этапе 634 приложение может взаимодействовать с сетевым адаптером для беспроводной связи, используя технологии, известные в данной области техники. Такие обмены на этапе 634 могут продолжаться, пока приложение не прервет или в другом случае не будет иметь дополнительной необходимости в связи через этот порт. Пока порт существует, другое приложение или компоненты также могут обмениваться информацией через него.

[00109] Соответственно на этапе 636, когда операционная система обнаруживает, что нет активных сеансов связи через порт, операционная система может отправить команду для вывода порта из строя. В качестве примера Таблица 1 указывает, остается ли порт управления активным, после передачи конкретных кадров действия. Подобные шаблоны работы могут быть определены для других портов, и такая информация может быть использована для определения того, отправлена ли команда для вывода порта из строя.

[00110] Если порт должен быть выведен из строя, команда может быть отправлена через интерфейс 346. В ответ драйвер 344 может удалить структуры данных, созданные при установке порта, а также может подать команду радиоустройству 354 для изменения его конфигурации таким образом, чтобы радиоустройство 354 больше не отвечало на MAC-адрес, связанный с этим портом. Вывод порта из строя на этапе 636 позволяет повторно использовать MAC-адрес для другого порта. Такая возможность может быть полезной, например, в вариантах осуществления, в которых драйвер 344 может быть сконфигурирован для большего типа портов, чем MAC-адресов, поддерживаемых радиоустройством 354. Таким образом, MAC-адреса могут быть с течением времени совместно использованы среди портов различных типов.

[00111] Однако альтернативой для вывода порта из строя может быть использование его для другой функции. В некоторых вариантах осуществления порт управления может поддерживаться до тех пор, пока какой-либо одноранговый беспроводной сеанс является активным. В таком сценарии единственный сеанс может иметь два порта - порт управления и порт связи, сконфигурированный либо для связи в качестве владельца группы, либо клиента. В некоторых сценариях порт управления, поскольку он преимущественно используется в создании группы для одноранговой связи, может поддерживать другие функции в течение сеанса, в котором осуществляется обмен данными через соответствующий порт связи. В качестве конкретного примера, если группа беспроводных устройств установлена, порт управления может быть использован в качестве "побочного канала". Побочный канал может быть использован для передачи управляющей информации, не относящейся к протоколу для беспроводной связи.

[00112] На Фиг. 7 проиллюстрирован подпроцесс 730, который может представлять собой альтернативу для подпроцесса 630. Как проиллюстрировано, подпроцесс 730 может быть начат подобным образом как подпроцесс 630. На этапе 732 операционная система 320 может представить порт связи, сконфигурированный для конкретной роли в одноранговой группе, для приложений через сетевой адаптер. На этапе 734 приложения могут использовать этот сетевой адаптер для связи. Более конкретно, связь может привести к обмену данными с внешним устройством, которое является частью группы, в которой вычислительное устройство 310 является участником.

[00113] На этапе 736 параллельно с передачей данных, например, порт управления, использованный в создании группы, может быть использован для связей через побочный канал. В варианте осуществления по Фиг. 3 такая возможность может быть реализована за счет кодирования функционального модуля 394C, который реализует функции порта управления, чтобы отвечать на команду для отправки информации побочного канала. Хотя эта команда, а в некоторых случаях данные для отправки предоставляются через порт управления, они могут быть отправлены способом, который является отдельным от случая кадров действия, использованных для создания беспроводной группы. Обработка на этапе 736 может быть также выполнена в ответ на осуществление доступа компонентом приложения к порту управления для предоставления этих команд. Конкретный формат команды или команд для инициирования связи через побочный канал и природа передаваемой информации не является критичной для изобретения. При этом на Фиг. 8 проиллюстрирован пример среды 810, в которой может быть использован порт управления для связи через побочный канал.

[00114] На Фиг. 8 проиллюстрировано беспроводное вычислительное устройство 820, которое может быть сконфигурировано подобным образом, как и вычислительное устройство 310 (Фиг. 3) для беспроводной связи согласно одноранговому протоколу, такому как протокол WI-FI Direct. В этой среде вычислительное устройство 820 может быть сконфигурировано для роли владельца группы в группе, включающей в себя устройство отображения, такое как телевизор 830. В этом сценарии телевизор 830 сконфигурирован для приема и отображения аудио/видеоконтента, отправленного к нему через беспроводное соединение 832. Для беспроводного соединения 832 вычислительное устройство 820 сконфигурировано в качестве владельца группы, при этом телевизор 830 сконфигурирован в качестве беспроводного клиента.

[00115] Вычислительное устройство 820 может быть сконфигурировано с приложением, которое позволяет пользователю 822 выбирать посредством пользовательского интерфейса, связанного с вычислительным устройством 820, аудио/видеоконтент для отображения на вычислительном устройстве 830. Такое приложение может управлять вычислительным устройством 820 для установления порта управления, через который может быть образована группа, содержащая вычислительное устройство 820 и телевизор 830. Через этот порт управления вычислительное устройство 820 и телевизор 830 могут согласовать роль для каждого устройства таким образом, что вычислительное устройство 820 конфигурируется в качестве владельца группы, а телевизор 830 конфигурируется в качестве клиента. При конфигурировании вычислительного устройства 820 в качестве владельца группы, для этой роли может быть установлен дополнительный порт связи.

[00116] Тем не менее, порт управления, через который была согласована группа, может оставаться активным. В этом сценарии этот порт может быть использован для передачи время от времени команды, которая управляет функцией отображения телевизора 830. Например, даже если аудио/видеоконтент потоковым образом передается через беспроводное соединение 832, пользователь 822 может пожелать отправить дополнительную информацию в телевизор 830, управляя представлением этой информации. Эта информация, например, может представлять команду регулировки громкости, с которой телевизор 830 представляет визуальную часть информации. В качестве другого примера, информация, отправленная, используя порт управления для связей через побочный канал, может представлять команды к телевизору 830 для регулировки яркости или других аспектов представления визуальной части информации. Таким образом, вычислительное устройство 820 может передавать команды в телевизор 830, не требуя установки дополнительного порта для поддержки этой связи.

[00117] В примере, проиллюстрированном на Фиг. 8, повторное использование порта управления для связи через побочный канал может позволить вычислительному устройству 820 установить дополнительные беспроводные соединения. Например, MAC-адрес может быть доступным в вычислительном устройстве 820, чтобы установить порт для беспроводных связей в режиме инфраструктуры. В качестве конкретного примера среда 810 включает в себя точку 840 доступа, через которую вычислительное устройство 820 может получить доступ к сети 842. При архитектуре, проиллюстрированной на Фиг. 3, если дополнительный порт является доступным в вычислительном устройстве 820, этот порт может быть использован для установления беспроводного соединения между вычислительным устройством 820 и точкой доступа 840 таким образом, что вычислительное устройство 820 сможет поддерживать связь в режиме инфраструктуры, а также в одноранговом режиме. В сценариях, в которых вычислительное устройство 820 ограничено некоторым количеством портов, которые оно может поддерживать, если дополнительный порт потребовался для передачи информации управления аудио/видео в телевизор 830, порт может быть недоступным для беспроводного соединения с точкой 840 доступа. Соответственно, за счет использования порта управления также для передачи информации управления аудио/видео в качестве информации побочного канала, возможности для беспроводной связи вычислительного устройства 820 могут быть расширены.

[00118] Любое подходящее вычислительное устройство может быть сконфигурировано для беспроводной связи, используя технологии, описанные в материалах настоящей заявки. На Фиг. 9 проиллюстрирован пример подходящей среды 900 вычислительной системы, в которой изобретение может быть реализовано. Среда 900 вычислительной системы является только одним из примеров подходящей вычислительной среды и не имеет намерением предлагать какое бы то ни было ограничение объема использования или функциональности изобретения. Вычислительная среда 900 также не должна быть истолкована как имеющая какую бы то ни было зависимость или требование, относящиеся к любому одному или сочетанию компонентов, проиллюстрированных в примерной рабочей среде 900.

[00119] Изобретение является работоспособным с многочисленными другими конфигурациям или средами вычислительных систем общего применения или специального назначения. Примеры хорошо известных вычислительных систем, сред и/или конфигураций, которые могут быть пригодными для использования с изобретением, включают в себя, но не в качестве ограничения, персональные компьютеры, серверные компьютеры, ручные или портативные устройства, многопроцессорные системы, основанные на микропроцессорах системы, абонентские приставки, программируемую бытовую электронную аппаратуру, сетевые ПК, миникомпьютеры, универсальные вычислительные машины, распределенные вычислительные среды, которые включают в себя любые из вышеприведенных систем или устройств, и т.п.

[00120] Вычислительная среда может выполнять машиноисполняемые инструкции, такие как программные модули. Как правило, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Изобретение, к тому же, может быть осуществлено на практике в распределенных вычислительных средах, где задачи выполняются удаленными обрабатывающими устройствами, которые соединены через сеть связи. В распределенной вычислительной среде программные модули могут быть расположены и на локальном, и на удаленном компьютерном запоминающем носителе, включающем в себя запоминающие устройства памяти.

[00121] Обращаясь к фиг. 9, примерная система для реализации изобретения включает в себя вычислительное устройство общего применения в виде компьютера 910. Компоненты компьютера 910 могут включать в себя, но не в качестве ограничения, процессор 920, системную память 930 и системную шину 921, которая соединяет различные системные компоненты, в том числе системную память с процессором 920. Системная шина 921 может быть любой из некоторых типов шинных структур, в том числе шиной памяти или контроллером памяти, периферийной шиной и локальной шиной, использующей любую из многообразия шинных архитектур. В качестве примера, но не ограничения, такие архитектуры включают в себя шину архитектуры промышленного стандарта (ISA), шину микроканальной архитектуры (MCA), шину расширенной ISA (EISA), локальную шину ассоциации по стандартизации в области видеотехники (VESA) и шину соединения периферийных компонентов (PCI), также известную в качестве шины расширения.

[00122] Компьютер 910 типично включает в себя многообразие машиночитаемых носителей. Машиночитаемые носители могут быть любыми имеющимися в распоряжении носителями, к которым может быть осуществлен доступ компьютером 910, и включают в себя как энергозависимые и энергонезависимые носители, так и съемные и несъемные носители. В качестве примера, а не ограничения, машиночитаемые носители могут содержать компьютерные запоминающие носители и среду связи. Компьютерные запоминающие носители включают в себя как энергозависимые и энергонезависимые, так и съемные и несъемные носители, реализованные по любому способу или технологии для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные запоминающие носители включают в себя, но не в качестве ограничения, RAM, ROM, EEPROM, флэш-память или память другой технологии, CD-ROM, универсальные цифровые диски (DVD) или другое оптическое дисковое запоминающее устройство, магнитные кассеты, магнитную ленту, магнитное дисковое запоминающее устройство или другие магнитные запоминающие устройства, или любой другой носитель, который может быть использован, чтобы хранить желаемую информацию, и к которому может быть осуществлен доступ компьютером 910. Среда связи типично воплощает машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как сигнал несущей или другой транспортный механизм, и включает в себя любую среду доставки информации. Термин "модулированный сигнал данных" означает сигнал, который имеет одну или более его характеристик, установленных или изменяемых таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среды связи включают в себя проводные среды, такие как проводная сеть или непосредственное проводное соединение, и беспроводные среды, такие как акустическую, радиочастотную (РЧ), инфракрасную и другую беспроводную среду. Сочетания любого вышеперечисленного также следует включать в число машиночитаемых носителей.

[00123] Системная память 930 включает в себя компьютерные запоминающие носители в виде энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ, ROM) 931 и оперативное запоминающее устройство (ОЗУ, RAM) 932. Базовая система 933 ввода/вывода (БСВВ, BIOS), содержащая базовые процедуры, которые помогают передавать информацию между элементами в пределах компьютера 910, к примеру, во время запуска, типично хранится в ROM 931. RAM 932 типично содержит в себе модули данных и/или программ, которые доступны непосредственно и/или, собственно, являются приводимыми в действие процессором 920. В качестве примера, а не ограничения, на Фиг. 9 проиллюстрирована операционная система 934, прикладные программы 935, другие программные модули 936 и данные 937 программ.

[00124] Компьютер 910 может также включать в себя съемные/несъемные, энергозависимые/энергонезависимые компьютерные запоминающие носители. Исключительно в качестве примера, на Фиг. 9 проиллюстрирован накопитель 940 на жестком диске, который выполняет считывание с или запись на несъемные энергонезависимые носители, магнитный дисковод 951, который выполняет считывание с или запись на съемный энергонезависимый магнитный диск 952, и оптический дисковод 955, который выполняет считывание с или запись на съемный энергонезависимый оптический диск 956, такой как CD-ROM или другие оптические носители. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные запоминающие носители, которые могут быть использованы в примерной рабочей среде, включают в себя, но не в качестве ограничения, кассеты магнитной ленты, карты флэш-памяти, диски формата DVD, цифровую видеоленту, твердотельное RAM, твердотельное ROM и т.п. Накопитель 941 на жестком диске типично соединен с системной шиной 921 через интерфейс несъемной памяти, такой как интерфейс 940, а привод 951 магнитного диска и привод 955 оптического диска типично соединены с системной шиной 921 посредством интерфейса съемной памяти, такого как интерфейс 950.

[00125] Приводы и их ассоциированные компьютерные запоминающие носители, обсужденные выше и проиллюстрированные на Фиг. 9, обеспечивают хранение машиночитаемых инструкций, структур данных, программных модулей и других данных для компьютера 910. На фиг. 9, например, накопитель 941 на жестком диске проиллюстрирован в качестве сохраняющего операционную систему 944, прикладные программы 945, другие программные модули 946 и данные 947 программ. Заметим, что эти компоненты могут быть либо такими же как или отличными от операционной системы 934, прикладных программ 935, других программных модулей 936 и данных 937 программ. Операционная система 944, прикладные программы 945, другие программные модули 946 и данные 947 программ здесь снабжены другими позициями, чтобы проиллюстрировать, что они, как минимум, являются другими экземплярами. Пользователь может вводить команды и информацию в компьютер 910 через устройства ввода, такие как клавиатура 962 и указательное устройство 961, обычно обозначаемое как мышь, трекбол или сенсорная панель. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую антенну, сканер или тому подобное. Эти и другие устройства ввода часто соединены с процессором 920 через пользовательский интерфейс 960 ввода, который соединен с системной шиной, но могут быть соединены посредством других интерфейсов и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 991, или другой вид устройства отображения, также соединен с системной шиной 921 через интерфейс, такой как видеоинтерфейс 990. Дополнительно к монитору компьютеры также могут включать в себя другие периферийные устройства вывода, такие как акустическая система 997 и принтер 996, которые могут быть соединены через интерфейс 995 периферийного вывода.

[00126] Персональный компьютер 910 может работать в сетевой среде с использованием логических соединений с одним или более удаленных компьютеров, таких как удаленный компьютер 980. Удаленный компьютер 980 может быть еще одним персональным компьютером, сервером, маршрутизатором, сетевым ПК, одноранговым устройством или другим общим узлом сети, и типично включает в себя многие или все из элементов, описанных выше относительно компьютера 910, хотя, только запоминающее устройство 981 памяти проиллюстрировано на Фиг. 9. Изображенные на Фиг. 9 логические соединения включают в себя локальную сеть (LAN) 971 и глобальную сеть (WAN) 973, но также могут включать в себя другие сети. Такие сетевые среды являются обычными в офисах, корпоративных компьютерных сетях, сетях интранет и сети Интернет.

[00127] При использовании в сетевой среде LAN, компьютер 910 соединяется с LAN 971 через сетевой интерфейс или адаптер 970. При использовании в сетевой среде WAN, персональный компьютер 910 типично включает в себя модем 972 или другое средство для установления связей через WAN 973, такую как сеть Интернет. Модем 972, который может быть внутренним и внешним, может быть соединен с системной шиной 921 через интерфейс 960 пользовательского ввода, или другой подходящий механизм. В сетевой среде программные модули, изображенные относительно компьютера 910, или их части, могут быть сохранены в удаленном запоминающем устройстве памяти. В качестве примера, а не ограничения, на Фиг. 9 проиллюстрированы удаленные прикладные программы 985 в качестве находящихся в устройстве 981 памяти. Будет понятно, что показанные сетевые соединения являются примерными, и может быть использовано другое средство установления линии связи между компьютерами.

[00128] При наличии таким образом описанных нескольких аспектов по меньшей мере одного варианта осуществления этого изобретения, понятно, что специалистам в данной области техники без труда придут на ум различные изменения, модификации и улучшения.

[00129] В качестве одного примера, связи описаны с позиции единственного вычислительного устройства. Должно быть понятно, что вычислительное устройство поддерживает связь с внешними устройствами, некоторые из которых также могут представлять собой вычислительные устройства, которые могут подобным образом работать с беспроводной связью. Эти внешние устройства могут использовать архитектуру, описанную выше.

[00130] В качестве другого примера, на Фиг. 3 проиллюстрирован вариант осуществления, в котором драйвер взаимодействует с единственным радиоустройством для передачи и приема всех сообщений во множестве сеансов режимов инфраструктуры и одноранговых сеансов. В других вариантах осуществления может быть использовано множество радиоустройств. Даже если используется множество радиоустройств, может быть использован единственный драйвер для управления этими радиоустройствами. Такой драйвер может направлять и устанавливать последовательность сообщений, как в случае драйвера для единственного радиоустройства. Однако единственный драйвер не является требованием изобретения.

[00131] В качестве еще одного примера, на Фиг. 4-6 проиллюстрирован процесс, в котором вычислительное устройство инициирует образование одноранговой группы. Возможны другие сценарии, в которых выполняемая конкретная последовательность этапов или конкретные этапы могут отличаться. Например, вместо того, чтобы инициировать образование группы, вычислительное устройство может принять запрос на присоединение к группе или ответить устройству на запрос обнаружения служб. Однако описанная выше структура порта в качестве альтернативы или дополнительно может поддерживать эти альтернативные последовательности связи.

[00132] Такие изменения, модификации и улучшения подразумеваются в качестве части этого раскрытия и подразумеваются как находящиеся в сущности и объеме изобретения. Соответственно, приведенное выше описание и чертежи представлены лишь в качестве примера.

[00133] Описанные выше варианты осуществления настоящего изобретение могут быть реализованы любым количеством способов. Например, варианты осуществления могут быть реализованы, используя аппаратные средства, программное обеспечение или их сочетание. При реализации программным обеспечением, код программного обеспечения может быть выполнен на любом подходящем процессоре или на группе процессоров, независимо от того, предусмотрено оно на единственном компьютере или распределено среди множества компьютеров. Такие процессоры могут быть реализованы в качестве интегральной схемы с одним или несколькими процессорами на компоненте интегральной схемы. Однако процессор может быть реализован, используя схему в любом подходящем формате.

[00134] Более того, должно быть понятно, что компьютер может быть реализован любым количеством форм, такой как смонтированный на стойке компьютер, настольный компьютер, портативный компьютер или компьютер-планшет. Кроме того, компьютер может быть встроен в устройство, не рассматриваемое обычно в качестве компьютера, но с подходящими возможностями обработки, включающее в себя персональный цифровой секретарь (ПЦС, PDA), смартфон или любое другое подходящее портативное или стационарное электронное устройство.

[00135] Компьютер также может иметь одно или несколько устройств ввода и вывода. Эти устройства среди прочего могут быть использованы для представления пользовательского интерфейса. Примеры устройств вывода, которые могут быть использованы для обеспечения пользовательского интерфейса, включают в себя принтеры или дисплейные экраны для визуального представления вывода, а также акустические системы или другие генерирующие звук устройства для слышимого представления вывода. Примеры устройств ввода, которые могут быть использованы для пользовательского интерфейса, включают в себя клавиатуры и указательные устройства, такие как мышь, сенсорные панели и цифровые планшеты. В качестве другого примера компьютер может принимать входную информацию посредством распознавания речи или в другом слышимом формате.

[00136] Такие компьютеры могут быть взаимосвязаны одной или несколькими сетями в любой подходящей форме, включающей в себя как локальную сеть, так и глобальную сеть, такую как корпоративная сеть или Интернет. Такие сети могут быть основаны на любой подходящей технологии и могут работать согласно любому подходящему протоколу, а также могут включать в себя беспроводные сети, проводные сети или волоконно-оптические сети.

[00137] Кроме того, различные способы или процессы, изложенные в материалах настоящей заявки, могут быть закодированы в качестве программного обеспечения, которое является выполняемым на одном или нескольких процессорах, которые задействуют любую одну из многообразия операционных систем или платформ. Более того, такое программное обеспечение может быть написано, используя любое количество подходящих языков программирования и/или средств программирования или написания скрипта, а также может быть откомпилировано в качестве машиноисполняемого языкового кода или промежуточного кода, которые выполняются на платформе или виртуальной машине.

[00138] В этом отношении изобретение может быть воплощено в качестве машиночитаемой запоминающей среды (или множества машиночитаемых средств) (например, машинной памятью, одним или несколькими гибкими дисками, компакт-дисками (CD), оптическими дисками, цифровыми видеодисками (DVD), магнитными лентами, флеш-памятью, схемными конфигурациями в программируемой вентильной матрице или другими полупроводниковыми устройствами, или другой некратковременной, материальной компьютерной запоминающей средой), закодировано в одной или нескольких программах, которые, при выполнении на одном или нескольких компьютерах или других процессорах, выполняют способы, которые реализуют различные варианты осуществления изобретения, рассматриваемого выше. Машиночитаемая запоминающая среда или носитель может быть транспортабельной, чтобы программа или программы, сохраненные на нем, могли быть загружены на один или несколько различных компьютеров или других процессоров для реализации различных аспектов настоящего изобретения, как рассматривалось выше. При использовании в материалах настоящей заявки термин "невременный машиночитаемый носитель" охватывает лишь машиночитаемый носитель, который может рассматриваться в качестве изделия (т.е. промышленные изделия) или машины. В качестве альтернативы или дополнительно, изобретение может быть реализовано машиночитаемой средой, отличной от машиночитаемой запоминающей среды, такой как распространяющийся сигнал.

[00139] Термины "программа" или "программное обеспечение" используются в материалах настоящей заявки в общем смысле, обращаясь к любому типу машинного кода или набору машиноисполняемых инструкций, которые могут быть использованы для программы, компьютера или другого процессора для реализации различных аспектов настоящего изобретения, как рассматривалось выше. Более того, должно быть понятно, что согласно одному аспекту этого варианта осуществления, одна или несколько компьютерных программ, которые, когда исполняются, выполняют способы настоящего изобретения, не требуют нахождения на единственном компьютере или процессоре, а могут быть распространены модульным образом среди некоторого количества различных компьютеров или процессоров для различных аспектов настоящего изобретения.

[00140] Машиноисполняемые инструкции могут принимать много форм, таких как программные модули, исполняемые одним или несколькими компьютерами или другими устройствами. Как правило, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Типично, функциональность программных модулей может быть объединена или распространена, как требуется в различных вариантах осуществления.

[00141] Также структуры данных могут быть сохранены на машиночитаемом носителе в любой подходящей форме. Для простоты иллюстрации могут быть показаны структуры данных, имеющие поля, которые устанавливаются посредством расположения в структуре данных. Такие связи могут быть подобным образом выполнены за счет назначения памяти для полей при помощи расположений в машиночитаемом носителе, которые выражают взаимоотношения между полями. Однако может быть использован любой подходящий механизм для установления взаимоотношения между информацией в полях структуры данных в том числе использование указателей, тегов или других механизмов, которые устанавливают взаимоотношения между элементами данных.

[00142] Различные аспекты настоящего изобретения могут быть использованы отдельно, в сочетании, или в многообразии компоновок, не рассмотренных специальным образом в вариантах осуществления, описанных выше, и поэтому не ограничены в своем применении подробностями и компоновками, изложенными в приведенном выше описании или проиллюстрированными на чертежах. Например, аспекты, описанные в одном варианте осуществления, могут быть объединены любым образом с аспектами, описанными в других вариантах осуществления.

[00143] Также изобретение может быть воплощено в качестве способа, пример которого был предоставлен. Действия, выполненные в качестве части способа, могут быть упорядочены любым подходящим образом. Соответственно, могут быть созданы варианты осуществления, в которых действия выполняются в порядке, отличном от того, который проиллюстрирован, который может включать в себя выполнение некоторых действий одновременно, даже хотя они показаны в качестве последовательных действий в иллюстративных вариантах осуществления.

[00144] Использование порядковых терминов, таких как "первый", "второй", "третий" и т.д., в формуле изобретения для видоизменения элемента формулы изобретения само по себе не подразумевает любого приоритета, превосходства или порядка одного элемента формулы изобретения над другим, или временного порядка, в котором выполняются действия способа, а использованы лишь в качестве меток для различения одного элемента формулы изобретения, имеющего конкретное имя, от другого элемента, имеющего то же самое имя (не считая использования порядкового термина), для различения элементов формулы изобретения.

[00145] Также фразеология и терминология, использованные в материалах настоящей заявки, предназначены в целях описания, и не должны рассматриваться как ограничивающие. Использование "включающий в себя", "содержащий" или "имеющий", "содержащий в себе", "включающий" и их вариантов в материалах настоящей заявки подразумевает охват всех элементов, перечисленных после них и их эквивалентов, а также дополнительных элементов.

1. Вычислительное устройство, сконфигурированное для осуществления беспроводной связи, содержащее:
радиоустройство, выполненное с возможностью одновременно подсоединять вычислительное устройство к инфраструктурной сети и к одноранговой группе;
операционную систему; и
память и процессор, в которых соответственно хранятся и исполняются инструкции, воплощающие, по меньшей мере, драйвер, выполненный с возможностью реализации множества портов в драйвере в качестве соответственных интерфейсов между драйвером и операционной системой, причем данное множество портов содержит:
порт режима инфраструктуры, сконфигурированный для обеспечения соединения режима инфраструктуры между операционной системой и инфраструктурной сетью, причем инфраструктурная сеть работает в частотном диапазоне конкретной спецификации беспроводной связи;
порт управления, сконфигурированный для установления однорангового соединения с одноранговой группой посредством осуществления связи в упомянутом частотном диапазоне конкретной спецификации беспроводной связи; и
порт одноранговой связи, сконфигурированный для обеспечения интерфейса между операционной системой и одноранговой группой, причем одноранговая группа функционирует в упомянутом частотном диапазоне конкретной спецификации беспроводной связи,
при этом операционная система сконфигурирована для
взаимодействия с драйвером через упомянутое множество портов для:
установления однорангового соединения через порт управления и
осуществления связи с одноранговой группой через порт одноранговой связи.

2. Вычислительное устройство по п. 1, в котором операционная система дополнительно сконфигурирована для отправки команд через порт управления, которые управляют аудио/визуальными характеристиками устройства отображения, которое подключено к вычислительному устройству по одноранговому соединению.

3. Вычислительное устройство по п. 1, в котором драйвер дополнительно выполнен с возможностью:
реализации порта управления путем связывания адреса управления доступом к среде (MAC) с портом управления и
предписания радиоустройству передавать кадры управления, связанные с МАС-адресом порта управления.

4. Вычислительное устройство по п. 3, при этом кадры управления содержат публичные кадры действия и кадры обнаружения службы.

5. Вычислительное устройство по п. 4, в котором операционная система дополнительно сконфигурирована для отправки в драйвер команды, которая запрашивает создание порта одноранговой связи в драйвере.

6. Вычислительное устройство по п. 5, в котором операционная система дополнительно сконфигурирована для отправки в драйвер другой команды, которая запрашивает конфигурирование порта
одноранговой связи для функциональной роли в одноранговом соединении.

7. Вычислительное устройство по п. 6, в котором упомянутая другая команда задает роль в качестве владельца группы или клиента.

8. Вычислительное устройство по п. 7, в котором
порт одноранговой связи сконфигурирован для работы в соответствии с протоколом Wi-Fi Direct;
порт режима инфраструктуры сконфигурирован для работы в соответствии с протоколом режима инфраструктуры Wi-Fi; и
порт управления сконфигурирован для работы на более низкой битовой скорости, чем порт одноранговой связи.

9. Вычислительное устройство по п. 1, в котором операционная система дополнительно сконфигурирована для отправки через порт управления команд, чтобы идентифицировать ряд портов одноранговой связи.

10. Вычислительное устройство по п. 1, в котором операционная система дополнительно сконфигурирована для отправки через порт управления команд, чтобы идентифицировать роль порта одноранговой связи, при этом роль включает в себя роль владельца группы и роль клиента.

11. Способ работы вычислительного устройства, имеющего беспроводное радиоустройство, управляемое программным обеспечением драйвера, для осуществления беспроводной связи, при этом способ содержит этапы, на которых:
посредством по меньшей мере одного процессора:
подают в программное обеспечение драйвера команду
реализовать порт управления между программным обеспечением драйвера и другим элементом программного обеспечения вычислительного устройства, через который должно устанавливаться первое беспроводное соединение с одноранговым устройством;
отправляют через порт управления по меньшей мере одну команду в программное обеспечение драйвера, причем эта по меньшей мере одна команда представляет собой запрос к программному обеспечению драйвера инструктировать беспроводному радиоустройству отправить кадр действия;
принимают через порт управления ответ от программного обеспечения драйвера на одну или более из упомянутой по меньшей мере одной команды;
на основе ответа на эти одну или более из по меньшей мере одной команды, определяют установить первое беспроводное соединение с по меньшей мере одним удаленным устройством и роль для вычислительного устройства в первом беспроводном соединении;
подают в программное обеспечение драйвера по меньшей мере одну другую команду, представляющую собой запрос к программному обеспечению драйвера реализовать порт одноранговой связи между программным обеспечением драйвера и упомянутым другим элементом программного обеспечения вычислительного устройства и сконфигурировать порт одноранговой связи для упомянутой определенной роли вычислительного устройства в первом беспроводном соединении;
осуществляют обмен пакетами данных с упомянутым по меньшей мере одним удаленным устройством через порт одноранговой связи и посредством беспроводной связи на одной или более частотах в
частотном диапазоне спецификации беспроводной связи; и
взаимодействуют с программным обеспечением драйвера через порт станции между программным обеспечением драйвера и упомянутым другим элементом программного обеспечения вычислительного устройства, причем данное взаимодействие содержит формирование второго беспроводного соединения с точкой доступа и осуществление связи с точкой доступа на одной или более частотах в упомянутом частотном диапазоне спецификации беспроводной связи.

12. Способ по п. 11, в котором:
упомянутое по меньшей мере одно удаленное устройство содержит устройство отображения;
пакеты данных содержат аудио/видео контент; и
способ дополнительно содержит этап, на котором отправляют через порт управления команды для управления по меньшей мере одной аудио/визуальной характеристикой представления аудио/видео контента на устройстве отображения.

13. Способ по п. 11, в котором при определении роли для вычислительного устройства выбирают роль в качестве владельца группы или клиента.

14. Способ по п. 12, в котором:
программное обеспечение драйвера обеспечивает интерфейс беспроводного радиоустройства с операционной системой вычислительного устройства;
упомянутый другой элемент программного обеспечения вычислительного устройства представляет собой операционную систему вычислительного устройства;
первое и второе беспроводные соединения одновременно поддерживаются программным обеспечением драйвера через беспроводное радиоустройство.

15. Способ по п. 12, дополнительно содержащий:
взаимодействие упомянутого другого элемента программного обеспечения вычислительного устройства с программным обеспечением драйвера через порт управления, чтобы установить третье беспроводное соединение с набором удаленных одноранговых устройств и определить роль для вычислительного устройства в третьем беспроводном соединении;
выдачу упомянутым другим элементом программного обеспечения вычислительного устройства по меньшей мере одной дополнительной команды в программное обеспечение драйвера, причем эта по меньшей мере одна дополнительная команда включает в себя запросы к программному обеспечению драйвера реализовать второй порт одноранговой связи и сконфигурировать второй порт одноранговой связи для упомянутой определенной роли вычислительного устройства в третьем беспроводном соединении; и
обмен пакетами данных с упомянутым набором удаленных одноранговых устройств через второй порт одноранговой связи.

16. Способ по п. 15, в котором обмен пакетами данных с упомянутым набором удаленных одноранговых устройств осуществляется одновременно с обменом пакетами данных с упомянутым по меньшей мере одним одноранговым устройством.

17. Машиночитаемый носитель информации, на котором сохранены машиноисполняемые инструкции, которые при их исполнении реализуют программное обеспечение драйвера для
управления беспроводным радиоустройством, причем программное обеспечение драйвера обеспечивает интерфейс между беспроводным радиоустройством и операционной системой, при этом машиноисполняемые инструкции программного обеспечения драйвера предназначены для:
приема, программным обеспечением драйвера через упомянутый интерфейс, запроса установить беспроводные одноранговые соединения, в соответствии с протоколом одноранговой связи, в диапазоне частот спецификации беспроводной связи;
связывания первого адреса управления доступом к среде (MAC) с портом управления, созданным посредством программного обеспечения драйвера, при этом порт управления служит в качестве интерфейса управления между программным обеспечением драйвера и операционной системой;
приема, программным обеспечением драйвера от операционной системы через порт управления, одного или более запросов, относящихся к формированию одноранговой группы;
в ответ на эти один или более запросов, относящихся к формированию одноранговой группы:
управления беспроводным радиоустройством посредством программного обеспечения драйвера для передачи кадров управления на частоте в упомянутом диапазоне частот спецификации беспроводной связи и
выдачи ответов на кадры управления, причем эти ответы связаны с портом управления программного обеспечения драйвера;
приема, программным обеспечением драйвера через упомянутый
интерфейс, запроса создать второй порт между программным обеспечением драйвера и операционной системой для осуществления связи с одноранговой группой на одной или более частотах в упомянутом диапазоне частот спецификации беспроводной связи;
связывания второго МАС-адреса беспроводного радиоустройства со вторым портом, причем второй порт служит в качестве интерфейса связи между программным обеспечением драйвера и операционной системой;
создания, посредством программного обеспечения драйвера, третьего порта между программным обеспечением драйвера и операционной системой для связи с сетью беспроводной связи режима инфраструктуры, при этом третий порт и второй порт функционируют для поддержки одновременных соединений с сетью беспроводной связи режима инфраструктуры и одноранговой группой через одно радиоустройство.

18. Машиночитаемый носитель информации по п. 17, в котором машиноисполняемые инструкции программного обеспечения драйвера дополнительно предназначены для приема через упомянутый интерфейс запроса сконфигурировать второй порт программного обеспечения драйвера для связи в соответствии с какой-либо одной из по меньшей мере двух ролей в рамках сеанса связи.

19. Машиночитаемый носитель информации по п. 18, при этом владелец группы и клиент являются двумя из упомянутых меньшей мере двух ролей.

20. Машиночитаемый носитель информации по п. 17, при этом порт управления, второй порт и третий порт программного обеспечения драйвера обеспечивают радиоустройству возможность
поддерживать одновременные соединения с множеством сетей.



 

Похожие патенты:

Изобретение относится к беспроводной связи. В данном изобретении описывается способ, устройство, оборудование и система для управления включением и выключением беспроводной сети.

Изобретение относится к беспроводной связи. Технический результат заключается в осуществлении групповой связи посредством прямой связи между устройствами в системе беспроводной связи.

Изобретение относится к беспроводной связи. Технический результат заключается в обеспечении возможности оценивать состояние, которое относится к перемещению оборудования пользователя (UE).

Изобретение относится к системе беспроводной связи. Технический результат изобретения заключается в уменьшении передачи служебных сигналов и прерывании обслуживания.

Изобретение относится к защите данных. Технический результат заключается в предотвращении утечки конфиденциальной информации при передаче через беспроводную сеть.

Изобретение относится к системе беспроводной связи, осуществляющей конфигурирование и обнаружение усовершенствованного нисходящего канала управления, и позволяет ePDCCH иметь большую стабильность и гибкость конфигурирования.

Изобретение относится к мобильной связи. Технический результат заключается в обеспечении оптимальной конфигурации списков соседних сот в сети беспроводной связи.

Изобретение относится к беспроводной связи. Техническим результатом является одновременное конфигурирование нескольких ULABS-шаблонов или шаблонов низкой активности по передаче по указанным частотно-временным ресурсам на одной и той же несущей частоте, в дополнение к обычным субкадрам, при этом шаблон может быть ассоциирован с уровнем мощности и/или одним или группой типов каналов/сигналов.

Изобретение относится к области связи. Техническим результатом является обеспечение решения для сценария, в котором множество наборов ресурсов канала управления сконфигурировано на стороне сети для UE.

Изобретение относится к области безопасности информационных технологий (ITS). Технический результат заключается в обеспечении сосуществования разделов элемента безопасности, выделенных для каждого эмитента карты, в устройстве с поддержкой NFC.

Изобретение относится к способу для выполнения доступа к каналу в STA из многопользовательской (MU) группы в системе беспроводной связи. Технический результат - улучшение структуры кадра назначения ресурсов в системе WLAN. Для этого способ включает в себя прием кадра назначения ресурсов; и проверку поля указателя группы, включенного в кадр назначения ресурсов, причем, если поле указателя группы указывает, что поле назначения сегмента для MU-группы присутствует в кадре назначения ресурсов, STA определяет начальное смещение сегмента на основе поля назначения сегмента. 2 н. и 10 з.п. ф-лы, 35 ил.

Изобретение относится к мобильной связи. Раскрыты системы и способы для работы WTRU (беспроводного приемопередающего блока) с использованием множества планировщиков. WTRU обменивается данными с сетью по более чем одному тракту данных таким образом, что каждый тракт данных может использовать радиоинтерфейс, соединенный с отдельным узлом сети, и каждый узел может быть связан с независимым планировщиком. WTRU устанавливает RRC-соединение между WTRU и сетью. RRC-соединение устанавливает первый радиоинтерфейс между WTRU и первым обслуживающим участком сети и второй радиоинтерфейс между WTRU и вторым обслуживающим участком сети. Между WTRU и MeNB (eNode макросоты) устанавливается RRC-соединение, и между WTRU и SCeNB (eNode малой соты) устанавливается функция управления. Технический результат заключается в обеспечении многоузлового планирования, позволяющего WTRU обмениваться данными по сети беспроводной связи с использованием более чем одного тракта данных. 2 н. и 13 з.п. ф-лы, 33 ил.

Изобретение относится к области беспроводной связи, в общем, применимо для использования в телекоммуникационных системах и не требует внесения изменений в существующие системы связи. Изобретение обеспечивает создание системы регулирования величины полосы пропускания данных, предоставляемой мобильным устройствам, включающей в себя устройство-посредник регулирования величины полосы пропускания, настроенное на получение запроса от мобильного устройства на регулирование величины полосы пропускания данных; модуль дросселирования полосы пропускания на связи с устройством-посредником регулирования величины полосы пропускания; модуль дросселирования полосы пропускания для ограничения или отведения излишка полосы пропускания данных, доступной мобильному устройству, в которой после получения запроса устройство-посредник регулирования полосы пропускания обрабатывает запрос и, если запрос обработан успешно, регулирует величину полосы пропускания данных, предоставляемую мобильному устройству с помощью модуля дросселирования полосы пропускания. Система может дополнительно адаптироваться под выставления счетов/оплату на основании либо модели оплаты определенного времени, либо модели оплаты за действия. 3 н. и 20 з.п. ф-лы, 3 ил.

Изобретение относится к области связи. Технический результат состоит в том, чтобы минимизировать влияние различных элементов распределения, влияния которых приводят к неподходящей работе синхронизации, основанной на пакетах, в системах и сетях передачи данных, имеющих один или более интерфейсов, использующих технологию WI-FI. Представлены способы и устройства для обеспечения надлежащей и корректной синхронизации, основанной на пакетах, в системах и сетях передачи данных при распределении пакетов синхронизации от одной точки доступа по транспортной линии связи WI-FI к другой точке доступа. Устройство представляет динамическую адаптацию скорости передачи с различными схемами кодирования и модуляции. Упомянутое устройство содержит идентификатор для идентификации каждого принятого пакета синхронизации, и контроллер конфигурируется для установки скорости передачи для упомянутого пакета синхронизации в соответствии с предварительно определенным правилом передачи пакета синхронизации. 2 н. и 26 з.п. ф-лы, 2 табл., 7 ил.
Наверх