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

Иллюстрации

Показать все

Изобретение относится к архитектуре вычислительного устройства с поддержкой одноранговых связей, используя беспроводное радиоустройство, сконфигурированное также для связи на основе инфраструктуры. Технический результат заключается в упрощении управлением возможности связи беспроводного устройства в одноранговой группе и режиме инфраструктуры. Указанный результат обеспечивает вычислительное устройство, сконфигурированное для осуществления беспроводной связи, содержащее: радиоустройство, выполненное с возможностью одновременно подсоединять вычислительное устройство к инфраструктурной сети и к одноранговой группе; операционную систему; память и процессор; драйвер, выполненный с возможностью реализации множества портов в драйвере в качестве интерфейсов между драйвером и операционной системой. Драйвер обеспечивает работу множества портов в нескольких режимах: порт режима инфраструктуры; порт одноранговой связи. 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 может использовать любую подходящую политику. Например, пакетам, несущим кадры управления, может быть дан приоритет над пакетами с кадрами данных. В качестве другого примера политики, передачам, связанным с портами, работающими в режиме инфраструктуры, может быть дан приоритет над портами, работающими в одноранговом режиме. В качестве еще одного другого примера, порту, сконфигурированному для роли владельца группы, может быть дан приоритет над портами, сконфигурированными для роли клиента в о