ПРОГРАММНО-ОПРЕДЕЛЕННОЕ КОГНИТИВНОЕ РАДИОУСТРОЙСТВО
SOFTWARE-DEFINED COGNITIVE RADIO DEVICE

Уровень техники
Множество вычислительных устройств оборудованы аппаратными средствами, которые позволяют вычислительному устройству соединяться по беспроводному каналу связи с сетью или с другими вычислительными устройствами. Такие аппаратные средства беспроводной связи часто содержат одно или более радиоустройств, каждое из которых содержит передатчик, приемник и компоненты обработки данных.
В некоторых устройствах аппаратные средства беспроводной связи имеют такую заданную конфигурацию, что каждое радиоустройство поддерживает соединение в соответствии с определенной технологией беспроводной связи, такой как Wi-Fi, WiMAX, Bluetooth или HSDPA (ВСДПД, высокоскоростной доступ для передачи пакетных данных). Например, такое радиоустройство может осуществлять связь, используя заданную частоту или частоты, и может использовать заданную последовательность управляющих сообщений для соединения с другим устройством или для обмена информацией. Для поддержания связи с разными устройствами, которые осуществляют связь, используя разные технологии беспроводной связи, аппаратные средства беспроводной связи могут включать в себя множество радиоустройств, каждое из которых выполнено с возможностью связи с использованием определенной беспроводной технологии.
Некоторые радиоустройства могут поддерживать множество близко взаимосвязанных технологий беспроводной связи, таких как варианты стандарта 802.11. Аналогично, некоторые радиоустройства имеют параметры, которые могут быть установлены для адаптации к условиям работы. Например, радиоустройства, которые адаптируют значение своей скорости передачи данных или уровни мощности передачи, если наблюдается высокая частота ошибок. Тем не менее радиоустройства с заданными конфигурациями обычно ограничены технологиями беспроводной связи, которые они могут поддерживать.
В других устройствах конфигурация аппаратных средств беспроводной связи может быть выполнена так, что технология беспроводной связи, используемая для передачи данных, может изменяться в соответствии с программным управлением, которое воплощает то, что иногда называют "программно-определенным радиоустройством." Аппаратное средство беспроводной связи выполнено с возможностью принимать вводимые сигналы управления, которые могут изменять рабочие параметры радиоустройства, такие как частоты, используемые для связи, или обработка данных, выполняемая для принимаемых сигналов. В результате изменения конфигурации рабочих параметров аппаратных средств для компонентов одной группы аппаратных средств может быть реализована возможность действовать как радиоустройство для разных технологий беспроводной связи.
Сущность изобретения
Программно-определенное радиоустройство воплощено для улучшения удобства работы пользователя вычислительного устройства посредством того, что оно способствует как установлению новых функций, так и упрощению работы с известными функциями. В одном аспекте программно-определенное радиоустройство имеет архитектуру с отдельными уровнем управления и уровнем данных. Уровень данных выполняет операции обработки данных, ассоциированные с беспроводной связью. Уровень управления позволяет изменять конфигурацию уровня данных для изменения технологии беспроводной связи, в соответствии с которой работает радиоустройство, или для регулирования рабочих параметров без изменения технологии беспроводной связи.
Благодаря гибкости, обеспечиваемой такой архитектурой, конфигурация программно-определенного радиоустройства может быть выполнена или может быть изменена для поддержки эффективной связи с использованием одной или более технологий беспроводной связи. В качестве одного примера гибкости, обеспечиваемой с помощью программно-определенных радиоустройств, канал обратной связи может быть легко сформирован между компонентами уровня данных и уровня управления. Компоненты уровня данных могут генерировать информацию статуса об используемом канале связи, такую как частота ошибок и уровень шумов. Такая информация может быть предоставлена в когнитивный модуль на уровне управления, который может идентифицировать регулировку, требуемую для компонентов на уровне данных, которая позволяет адаптироваться к текущим условиям работы.
Описанное выше представляет собой неограничительную сущность изобретения, которая определена приложенной формулой изобретения.
Краткое описание чертежей
Следует понимать, что приложенные чертежи вычерчены не в масштабе. На чертежах каждый идентичный или приблизительно идентичный компонент, показанный на разных фигурах, обозначен одинаковым номером ссылочной позиции. Для обеспечения ясности изложения не каждый компонент может быть обозначен на каждом чертеже. На чертежах:
на фиг. 1 показана схема вычислительной среды, включающей в себя вычислительное устройство с программно-определенным радиоустройством в соответствии с вариантом выполнения изобретения;
на фиг. 2 показана блок-схема компонентов вычислительного устройства, содержащего программно-определенное радиоустройство, в соответствии с вариантами выполнения изобретения;
на фиг. 3 показана схема структуры данных для библиотеки спецификаций технологии беспроводной связи в соответствии с вариантом выполнения изобретения;
на фиг. 4 показана схема программного модуля программно-определенного радиоустройства в соответствии с вариантом выполнения изобретения;
на фиг. 5A показана схема вычислительного устройства, в котором используется программно-определенное радиоустройство в первой конфигурации, в соответствии с вариантом выполнения изобретения;
на фиг. 5B показана схема вычислительного устройства по фиг. 5A в альтернативной конфигурации; и
на фиг. 6 показана схема конфигурируемого радиоустройства в соответствии с вариантами выполнения изобретения;
на фиг. 7A, 7B и 7C иллюстрируется информация о состоянии, которая может быть сгенерирована в модуляторе, в соответствии с вариантом выполнения изобретения;
на фиг. 8A и 8B иллюстрируются адаптации, которые могут быть выполнены в модуляторе, в соответствии с вариантами выполнения изобретения;
на фиг. 9A и 9B представлены адаптации, которые могут быть выполнены в кодере, в соответствии с вариантами выполнения изобретения; и
на фиг. 10 показана блок-схема последовательности операций процесса связи в соответствии с вариантами выполнения изобретения.
Подробное описание изобретения
В соответствии с вариантами выполнения изобретения программно-определенное радиоустройство для вычислительного устройства воплощено с использованием архитектуры, которая позволяет легко выполнять, задавать и изменять конфигурацию в соответствии со множеством сценариев. Пример среды, в которой может использоваться такое программно-определенное радиоустройство, представлен на фиг. 1.
На фиг. 1 показана работающая через сеть вычислительная среда, в которой множества вычислительных устройств взаимодействуют друг с другом. В одном или более вычислительных устройств может содержаться программно-определенное радиоустройство в соответствии с вариантами выполнения изобретения. В представленном примере показаны три вычислительных устройства, предназначенные для беспроводной связи: портативный компьютер 110, принтер 112 и смартфон 114. Хотя здесь показаны три вычислительных устройства, программно-определенное радиоустройство в соответствии с вариантами выполнения изобретения может использоваться в любом количестве или типах вычислительных устройств, и три устройства показаны для простоты.
В этом примере переносной компьютер 110 связывается по беспроводному каналу передачи с точкой 116 доступа. Через точку 116 доступа переносной компьютер 110 может получать доступ к сети 120 и одному или более устройствам, подключенным к сети 120. В качестве примера типов устройств, к которым может получать доступ переносной компьютер 110 через сеть 120, на фиг. 1 показан сервер 150. В этом примере сервер 150 может представлять собой сервер групповой политики. Как известно в данной области техники, сервер групповой политики может быть выполнен с возможностью предоставления информации менеджмента клиентам, которые соединены с доменом. Сервер групповой политики обеспечивает для сетевого администратора механизм, с помощью которого он предоставляет информацию о политике для клиентов, соединенных с доменом. Такие серверы могут использоваться в сетях предприятия, что позволяет сетевому администратору устанавливать конфигурацию или другим образом администрировать клиентов сети. В клиентах сети, таких как переносной компьютер 110, может быть установлен агент, который после подключения к сети 120 обращается к серверу 150 групповой политики для получения или обновления информации о групповой политике.
Сервер 150 групповой политики может поддерживать информацию о групповой политике любым соответствующим способом. В примере, показанном на фиг. 1, информация о групповой политике может содержаться в базе 130 данных. База 130 данных может представлять собой любой соответствующий компьютерный носитель для сохранения информации, доступ к которому может осуществляться сервером 150 групповой политики. В примере, показанном на фиг. 1, база 130 данных может содержать информацию о групповой политике, как известно в данной области техники. В качестве альтернативы или в дополнение база 130 данных может содержать информацию, полезную для конфигурирования программно-определенного радиоустройства в переносном компьютере 110. Например, база 130 данных может содержать одну или более спецификаций технологии беспроводной связи, которая при загрузке в переносной компьютер 110 и при применении для программно-определенного радиоустройства в переносном компьютере 110, формируют конфигурацию программно-определенного радиоустройства для связи в соответствии с данной конкретной технологией беспроводной связи.
Например, на фиг. 1 иллюстрируется спецификация 132 технологии беспроводной связи, загружаемая из базы 130 данных через сервер 150 в переносной компьютер 110. Загруженная спецификация 132 технологии беспроводной связи может формировать конфигурацию программно-определенного радиоустройства в переносном компьютере 110 для обеспечения возможности его связи в соответствии с любой соответствующей технологией беспроводной связи. Спецификацию технологии беспроводной связи, загруженную в переносной компьютер 110, можно последовательно или параллельно применять для программно-определенного радиоустройства для изменения функций программно-определенного радиоустройства в переносном компьютере 110 для поддержки разной технологию беспроводной связи в разное время или для поддержки множества технологий беспроводной связи одновременно.
Например, на фиг. 1 переносной компьютер 110 выполняет беспроводную связь с точкой 116 доступа. Такую связь с точкой доступа для сети инфраструктуры часто выполняют, используя технологию беспроводной связи в соответствии с протоколом 802.11. Однако, пользователь переносного компьютера 110 может пожелать получить доступ к устройствам, не подключенным к сети 120 инфраструктуры, таким как принтер 112. Принтер 112 может не поддерживать связь в соответствии с той же технологией беспроводной связи, что и точка 116 доступа. Часто устройства, такие как принтер 112, выполнены с возможностью связи, используя специальную сеть, и могут использовать такую технологию беспроводной связи как Bluetooth. В соответствии с этим спецификация 132 технологии беспроводной связи может применяться для программно-определенного радиоустройства в переносном компьютере 110 для формирования такой конфигурации радиоустройства, чтобы дополнительно обеспечивать связь с принтером 112, используя другую технологию беспроводной связи, чем та, которая используется для связи через точку 116 доступа.
Принтер 112 также может включать в себя программно-определенное радиоустройство, которое аналогично может быть выполнено с возможностью связи с переносным компьютером 110. Хотя устройства с программно-определенными радиоустройствами не обязательно должны осуществлять связь только с другими устройствами с программно-определенными радиоустройствами, и радиоустройство в принтере 112 может быть воплощено любым соответствующим способом.
Другие вычислительные устройства, такие как переносной компьютер 110, могут включать в себя программно-определенное радиоустройство, которые может иметь конфигурацию, сформированную путем применения спецификаций технологии беспроводной связи. Например, представлен смартфон 114, обеспечивающий беспроводную связь с точкой 116 доступа. Как описано выше, связь с точкой 116 доступа может осуществляться в соответствии с технологией беспроводной связи, такой как протокол 802.11. Смартфон 114, в качестве альтернативы, может осуществлять связь с сетью 118 пакетной радиосвязи общего назначения (GPRS, ПСОН), используя другую технологию беспроводной связи. Для поддержания связи с использованием двух беспроводных технологий, как показано на фиг. 1, смартфон 114 может быть оборудован программно-определенным радиоустройством, в котором одновременно запрограммировано множество спецификаций технологий беспроводной связи.
Каждое вычислительное устройство, запрограммированное спецификациями технологии беспроводной связи, может получать эти спецификации технологии беспроводной связи любым удобным способом. На фиг. 1 показано, как пример, что спецификация технологии беспроводной связи может быть получено вычислительным устройством через сервер 150 групповой политики. Как правило, спецификация технологии беспроводной связи может быть получена на транспортируемом компьютерном носителе для сохранения информации (таком как CD), получаемом из любого соответствующего сервера или получаемом из любого другого соответствующего источника.
В качестве одного примера гибкости, обеспечиваемой благодаря такой возможности, устройство беспроводной связи может загружать спецификацию беспроводной связи через Интернет или другую общедоступную сеть. Оператор сервера, доступ к которому можно получить через Интернет, может предоставлять спецификацию технологии беспроводной связи за определенную плату или в соответствии с другой коммерческой компенсацией. Например, оператор сети 118 GPRS может предоставлять спецификации технологии беспроводной связи, обеспечивающие для вычислительных устройств доступ к сети 118 GPRS. Если доступ к сети 118 GPRS обеспечивается только для пользователей, которые подписались на предоставление сетевой услуги за определенную плату, оператор сети 118 GPRS получает коммерческое преимущество, предоставляя все большему количеству пользователей доступ к сети 118 GPRS, и, таким образом, предоставляя возможность подписки на услуги, предоставляемые через сеть 118 GPRS.
В качестве другого примера предприятие или другое учреждение может управлять вебсайтом, через который пользователи вычислительных устройств с программно-определенными радиоустройствами могут покупать или могут получать лицензию на период времени использования спецификации технологии беспроводной связи, которая обеспечивает возможность связи в соответствии с определенными технологиями беспроводной связи. Такая возможность может быть полезной, например, для пользователя компьютера, который собирается посетить другую страну, где имеет широкое использование технология беспроводной связи, для работы с которой в компьютере данного пользователя не установлена конфигурация. Перед поездкой в эту другую страну пользователь компьютера может пожелать загрузить спецификацию технологии беспроводной связи таким образом, что пользователь может связываться, используя беспроводную связь с сетями или другими устройствами в этой другой стране. В этом сценарии спецификация технологии беспроводной связи может быть передана коммерческим учреждением за определенную плату. В качестве альтернативы или в дополнение спецификация технологии беспроводной связи может быть предоставлена совместно с подпиской на пользование беспроводной сетью в другой стране, которая может повлечь за собой оплату данного платежа. Таким образом, пользователь вычислительного устройства, оборудованного программно-определенным радиоустройством, может осуществлять беспроводную связь. Такое же преимущество может быть достигнуто, даже если сети, доступ к которым осуществляется с использованием загружаемых спецификаций технологии беспроводной связи, не находятся в другой стране. В соответствии с этим в вариантах выполнения изобретения спецификация технологии беспроводной связи может быть загружена из любого соответствующего сервера или может быть получена из любого другого источника данных для использования при осуществлении связи с любыми соответствующими устройствами беспроводной связи в любых соответствующих местах расположения.
На фиг. 2 иллюстрируется архитектура вычислительного устройства 200 с программно-определенным радиоустройством, конфигурация которого может быть легко установлена, используя спецификацию технологии беспроводной связи, такую как спецификация 132 технологии беспроводной связи (фиг. 1). Такое вычислительное устройство может быть воплощено с использованием любых соответствующих аппаратных средств. Однако, в примере, показанном на фиг. 2, вычислительное устройство 200 включает в себя процессор 210, соединенный с шиной 260 компьютера. Шина 260 компьютера, например, может представлять собой шину PCI (МПК, межсоединение периферийных компонентов). Однако, в вычислительном устройстве 200 может использоваться любая соответствующая шина. Через компьютерную шину 260 процессор 210 может связываться с одним или более другими аппаратными компонентами. В примере, показанном на фиг. 2, представлена радиокарта 270.
Процессор 210 может представлять собой любой соответствующий процессор или процессоры, и каждый процессор может иметь одно или множества ядер. Однако, для простоты представлен один процессор 210. Аналогично, аппаратные компоненты, используемые при воплощении программно-определенного радиоустройства, могут быть упакованы любым соответствующим способом. Например, аппаратные компоненты, воплощающие программно-определенное радиоустройство, могут быть воплощены по отдельной карте интерфейса сети беспроводной связи или могут быть встроены в аппаратные компоненты, выполняющие другие функции в вычислительном устройстве 200. В качестве дополнительного примера возможного варианта аппаратные компоненты для воплощения программно-определенного радиоустройства могут быть распределены по множеству карт, подключенных к компьютерной шине 260. В соответствии с этим на фиг. 2 показан примерный вариант выполнения, в котором одна радиокарта 270 содержит все аппаратные компоненты для программно-определенного радиоустройства, но может использоваться любая соответствующая упаковка этих аппаратных компонентов.
На фиг. 2 также показаны программные компоненты, которые могут выполняться в вычислительном устройстве 200. В представленном варианте выполнения программные компоненты могут быть сохранены как выполняемые компьютером инструкции и параметры конфигурации на компьютерном носителе для сохранения информации, ассоциированном с процессором 210. Конфигурация программных компонентов может быть установлена любым соответствующим способом. В представленном варианте выполнения программные компоненты включают в себя операционную систему 212. Операционная система 212 может представлять собой операционную систему компьютера, как известно в данной области техники, хотя можно использовать любые соответствующие операционные системы. Операционная система 212 может обеспечивать множество функций, доступ к которым осуществляет приложение 214, присутствующее в вычислительном устройстве 200. Количество и тип компонентов 214 приложений может зависеть от типа и функций вычислительного устройства 200. Однако, примеры приложений 214 могут включать в себя сетевой браузер, приложение электронной почты или другие приложения, которые могут генерировать или могут использовать данные, передаваемые или принимаемые по беспроводным каналам передачи данных, используя программно-определенное радиоустройство.
Операционная система 212 может обеспечивать интерфейс между приложениями 214 и программно-определенным радиоустройством. Операционная система 212 также может обеспечивать более высокий уровень сетевых функций, которые обеспечиваются с помощью радиоустройства. Например, радиоустройство может обеспечивать сетевые функции на уровнях 1-3 модели многоуровневой сети OSI (ВОС, взаимодействие открытых систем). Операционная система 212 может обеспечивать поддержку для функций на более высоких уровнях сети. В этом сценарии операционная система может поддерживать соединение между приложениями 214 и приложениями в других вычислительных устройствах. Например, приложения могут свободно осуществлять связь с использованием протокола TCP (ПУП, протокол управления передачей) или других протоколов на основе соединения. Операционная система 212 может содержать компоненты, которые устанавливают и поддерживают соединения с приложениями в других устройствах путем использования программно-определенного радиоустройства для физической передачи данных для такого соединения с другим устройством.
Такое разделение функций между операционной системой и радиоустройством известно в данной области техники в случаях, когда используется программно-определенное радиоустройство, и в других случаях. В соответствии с этим специфическое разделение функций передачи данных между операционной системой 212 и программно-определенным радиоустройством в вычислительном устройстве 200 не критично для настоящего изобретения.
В примере, показанном на фиг. 2, программно-определенное радиоустройство воплощено с использованием программных компонентов, разделенных на уровень 220 данных и уровень 240 управления. Сообщения, содержащие данные, или управляющие сообщения, относящиеся к специфичным технологиям беспроводной связи, генерируемые приложением 214 или операционной системой 212 для обеспечения беспроводной передачи данных, пропускают через уровень 220 данных прежде, чем они будут переданы в радиокарту 270 для передачи. Конкретная обработка, выполняемая компонентами уровня 220 данных, может быть определена, и ее конфигурация может быть установлена с компонентами, находящимися на уровне 240 управления. Сообщения, содержащие данные, или управляющие сообщения, относящиеся к специфичным технологиям беспроводной связи, принимаемые по беспроводному каналу передачи радиокарты 270, могут быть переданы через компоненты уровня 220 данных и далее в операционную систему 212 или в приложения 214. Обработка на уровне 220 данных, выполняемая для принимаемых данных, может аналогично быть определена, и ее конфигурация может быть установлена с компонентами на уровне 240 управления.
В иллюстрируемом варианте выполнения аппаратные компоненты радиокарты 270 аналогично могут быть разделены на уровень управления и уровень данных. В представленном варианте выполнения уровень 290 данных показан, как содержащий множество компонентов. Аппаратный уровень управления в радиокарте 270 воплощен в одном модуле 280. Однако, количество и типы модулей на каждом из уровня управления и уровня данных не являются критичным для изобретения.
В представленном варианте выполнения программный уровень данных 220 включает в себя модуль 222 пакетной обработки и безопасности, модуль 224 управления доступом к среде (MAC, УДС) и модуль 226 обработки в основной полосе пропускания. Конкретные функции, выполняемые в каждом из этих модулей, могут зависеть от конфигурации программно-определенного радиоустройства. Однако, модуль 222 пакетной обработки и безопасности во время обработки данных, предназначенных для передачи, может принимать данные из операционной системы 212 и форматировать эти данные в пакеты в соответствии с любыми протоколами, используемыми в технологии беспроводной связи, для выполнения которой установлена конфигурация программно-определенного радиоустройства. Как часть формирования пакетов, модуль 222 пакетной обработки может выполнять шифрование на уровне пакета, может применять подпись для пакета для аутентификации или может выполнять другие функции обеспечения безопасности для данных, предназначенных для беспроводной передачи.
Компоненты в модуле 224 обработки MAC могут выполнять одну или больше функций MAC в соответствии с технологией беспроводной связи, для которой сконфигурировано программно-определенное радиоустройство. Например, компоненты, находящиеся в модуле 224 обработки MAC, могут устанавливать канал, по которому вычислительное устройство 200 может осуществлять беспроводную связь с другим устройством беспроводной связи, определять момент, когда данные могут быть переданы по этому каналу, или конкретные частоты, которые требуется использовать для связи по этому каналу.
В дополнение к другим функциям при обработке данных, предназначенных для передачи, компоненты, находящиеся в модуле 224 обработки MAC, могут принимать пакеты, определенные в модуле 222 пакетной обработки и безопасности, и могут преобразовывать каждый пакет в потоки исходных битов для передачи.
Эти исходные биты могут быть предоставлены в компоненты через модуль 226 обработки в основной полосе пропускания для дополнительной обработки и, в конечном итоге, могут быть переданы для использования в аппаратных компонентах радиокарты 270 для беспроводной передачи. Например, компоненты, находящиеся в модуле 226 обработки в основной полосе пропускания, могут кодировать исходные биты, используя алгоритмы прямого исправления ошибок. Другой компонент может выполнять цифровую модуляцию кодированного потока бита, например, путем отображения групп битов на символы для передачи. Пример схемы модуляции, которая может использоваться, представляет собой квадратурную амплитудную модуляцию (QAM, КАМ), в которой используется фазовая и амплитудная модуляция. Однако, специфичные используемые функции модуляции могут зависеть от беспроводной технологии, воплощенной программно-определенным радиоустройством. Кроме того, компоненты, находящиеся в модуле 224 обработки, могут дополнительно фильтровать модулированный поток битов, используя один или более алгоритмов цифровой фильтрации. Как и в отношении других компонентов, находящихся в модуле 226 обработки в основной полосе пропускания, специфичная функция, выполняемая компонентами фильтрации, может зависеть от воплощаемой технологии беспроводной связи.
Для передачи данных также может быть выполнена обработка данных аппаратными компонентами в радиокарте 270. В соответствии с этим аппаратная карта 270 может включать в себя один или более аппаратных компонентов на уровне 290 данных. В примере, показанном на фиг. 2, аппаратный уровень 290 данных включает в себя аппаратный модуль 292 разгрузки, модуль 294 смешанных электронных компонентов и модуль 296 антенны и RF (РЧ, радиочастотных) компонентов. Каждый из аппаратных модулей может быть воплощен с использованием известных компонентов цифровых и/или аналоговых электронных цепей. Конкретный вариант выполнения каждого из аппаратных модулей может зависеть от диапазона технологий беспроводной связи, поддерживаемых радиокартой 270. Однако, в качестве примера, модуль 296 антенны и РЧ электронных компонентов может содержать для поддержки передачи данных усилитель мощности и преобразователь частоты для выполнения преобразования с повышением частоты. Частотный диапазон, в котором работает преобразователь с повышением частоты, может зависеть от частотного диапазона, в котором может работать радиокарта 270.
Кроме того, модуль 296 антенны и РЧ электронных компонентов может содержать одну или более антенн, подключенных к усилителю мощности. В некоторых вариантах выполнения антенна может быть выполнена с возможностью работы на разных частотах со специфичной конфигурацией, выбранной на основе технологий или технологиями беспроводной связи, поддерживаемых программным радиоустройством. В других вариантах выполнения модуль 296 антенны и РЧ электронных компонентов может содержать множества антенн, которые можно подключать с переключением к РЧ электронным компонентам, находящимся в модуле 296. В этом варианте выполнения антенну, подключаемую к РЧ электронным компонентам, можно выбирать так, чтобы она соответствовала частоте сигналов, предназначенных для передачи. Такие антенны могут быть воплощены как полосковые антенны, как известно в данной области техники, или с использованием любого другого соответствующего способа. В некоторых вариантах выполнения антенна или антенны в модуле 296 антенны и РЧ электронных компонентов могут быть воплощены в радиокарте 270. Однако, в некоторых вариантах выполнения антенны могут быть расположены в любом подходящем месте в пределах вычислительного устройства 200.
Модуль 294 смешанных электронных компонентов может содержать для обработки данных, предназначенных для передачи, компоненты, которые преобразуют данные, генерируемые в результате программной обработки, в аналоговый сигнал для передачи модулем 296 антенны и РЧ электронных компонентов. Например, модуль 294 смешанных электронных компонентов может содержать цифро-аналоговый преобразователь, как известно в данной области техники. Однако, можно использовать любые соответствующие компоненты.
Аппаратный модуль 292 разгрузки может содержать аппаратные компоненты, которые могут выполнять некоторые или все функции, которые могут быть выполнены на программном уровне 220 данных. Установка аппаратного модуля 292 разгрузки в радиокарту 270 обеспечивает возможность определения конфигурации программно-определенного радиоустройства для выполнения некоторых функций с использованием либо программных, либо аппаратных средств. В представленном варианте выполнения аппаратный модуль 292 разгрузки представляет собой необязательный компонент радиокарты 270. В соответствии с этим при установлении конфигурации программно-определенного радиоустройства, если аппаратный модуль 292 разгрузки представлен и содержит компоненты для выполнения функции, используемой для воплощения требуемой беспроводной технологии, конфигурация компонента в аппаратном модуле 292 разгрузки может быть установлена для выполнения этой функции. В качестве альтернативы, если аппаратный модуль 292 разгрузки не присутствует и не включает в себя компонент для воплощения функции, которая представляет собой часть требуемой технологии беспроводной связи, эта функция может быть воплощена на программном уровне 220 данных.
Независимо от конкретных компонентов в каждом из модулей на программном уровне 220 данных и на аппаратном уровне 290 данных набор компонентов воплощает функции, используемые для передачи данных в соответствии с конкретной технологией беспроводной связи. Компоненты на программном уровне 220 данных и на аппаратном уровне 290 данных также совместно воплощают функции для приема данных в соответствии с определенными технологиями беспроводной связи. В соответствии с этим модуль 296 антенны и РЧ электронных компонентов может содержать одну или более антенн для приема сигнала беспроводной связи, с помощью которого передают данные. В некоторых случаях одни и те же компоненты могут использоваться для передачи и приема данных. Например, антенны в модуле 296 антенны и РЧ электронных компонентов могут использоваться как для передачи, так и для приема данных. В других случаях отдельные компоненты могут быть включены в состав для обработки передаваемых и принимаемых данных. Модуль 296 антенны и РЧ электронных компонентов может включать в себя малошумящий усилитель и преобразователь понижающей частоты для обработки принимаемых данных в дополнение к мощному преобразователю амплитуды и частоты с повышением частоты для передачи данных. Модуль 294 смешанных электронных компонентов может включать в себя аналогово-цифровой преобразователь, предназначенный для преобразования принимаемого аналогового сигнала в цифровой сигнал для дальнейшей обработки. Аналогично, аппаратный модуль 292 разгрузки может включать в себя компоненты, предназначенные для выполнения функций для принимаемых данных вместо или в дополнение к компонентам, предназначенным для выполнения функций для передачи данных.
Модули на программном уровне 220 данных аналогично могут содержать компоненты, предназначенные для обработки принимаемых данных. Например, модуль 226 обработки в основной полосе пропускания может включать в себя фильтр для обработки принимаемых данных, который может быть тем же или другим, чем фильтр, используемый для обработки передаваемых данных. Другие компоненты в модуле 226 обработки в основной полосе пропускания могут демодулировать принимаемые сигналы или декодировать демодулированные сигналы. В некоторых вариантах выполнения операции демодуляции и декодирования принимаемых сигналов будут обратными для функций коррекции ошибки и модуляции, выполняемых для передаваемых данных. Однако, специфичные функции, выполняемые в каждом модуле, могут быть сконфигурированы в соответствии с конкретной воплощаемой технологией беспроводной связи.
В представленном варианте выполнения принимаемый сигнал после обработки в модуле 226 обработки в основной полосе может быть передан в компоненты модуля 224 обработки MAC для дальнейшей обработки. Эти компоненты могут формировать поток битов, выводимых модулем 226 обработки в основной полосе пропускания в пакеты, или могут по-другому обрабатывать принимаемые данные. Кроме того, компоненты в модуле 224 обработки MAC могут подтверждать прием пакетов, когда их принимают, или могут по-другому выполнять функцию поддержки связи в соответствии с протоколом, применяемым для технологии беспроводной связи, воплощенной программно-определенным радиоустройством.
Компоненты в модуле 222 пакетной обработки и безопасности также могут выполнять функции для принимаемых данных. Эти компоненты могут обеспечивать функции дешифрования или аутентификации, которые могут представлять собой обратные функции для функций, применявшихся для передаваемых данных. Кроме того, компоненты в модуле 222 пакетной обработки и безопасности могут группировать пакеты или по-другому обрабатывать их перед уведомлением операционной системы 212 о том, что пакеты были приняты. Обработка по уведомлению операционной системы 212 о приеме пакетов может выполняться также, как известно в данной области техники, хотя может использоваться любой соответствующий механизм, и, как и в отношении других функций программно-определенного радиоустройства, в некоторых вариантах выполнения она может быть конфигурируемой.
Для воплощения программно-определенного радиоустройства для выполнения требуемой технологии или технологий беспроводной связи один или более аппаратных или программных модулей на программном уровне 220 данных и на аппаратном уровне 290 может быть конфигурируемым. В представленном варианте выполнения компоненты на программном уровне 220 данных конфигурируют с помощью компонентов на уровне 240 управления. В иллюстрируемом варианте выполнения программный уровень 240 управления включает в себя модуль 244 конфигурирования и управления радиоустройством, который обеспечивает интерфейс для каждого из конфигурируемых компонентов на программном уровне 220 данных.
1
2
3
1
2
3
Конкретный механизм, с помощью которого модуль 244 конфигурирования и управления радиоустройством взаимодействуют с конфигурируемыми компонентами на программном уровне 220 данных, не является критичным для изобретения, и может использоваться любой соответствующий механизм. Однако, в представленном варианте выполнения каждый из модулей 222, 224 и 226 включает в себя определенный интерфейс 228, 228 и 228 программирования соответственно. Каждый из интерфейсов 228, 228 и 228 может быть представлен в форме, которую публикуют или которая по-другому становится известной для сторон, желающих разрабатывать программные компоненты для использования в программно-определенном радиоустройстве. Таким образом, независимо от того какие компоненты включены в уровень 220 данных, модуль 244 конфигурирования и управления радиоустройством может формировать интерфейс с этими компонентами.
1
2
3
1
2
3
1
1
2
3
Хотя специфичный компонент интерфейса не является критичным для изобретения, в иллюстрируемом варианте выполнения интерфейсы 228, 228 и 228 обеспечивают возможность двустороннего обмена информацией, что позволяет передавать информацию о состоянии и информацию управления через этот интерфейс. Каждый из компонентов на программном уровне 220 данных может через интерфейс, такой как 228, 228 или 228, предоставлять информацию о состоянии, определяющую состояние его работы, а также рабочие возможности. Например, компоненты в модуле 222 пакетной обработки и безопасности могут связываться с модулем 244 конфигурирования и управления радиоустройством через специфичные функции обеспечения безопасности интерфейса 228, которые они могут поддерживать. Интерфейс 228 также может обеспечить для модуля 244 конфигурирования и управления радиоустройством, возможность осуществлять управление тем, какие из этих функций должны быть выполнены для пакетов, предназначенных для передачи, или принимаемых пакетов. Аналогично интерфейс 228 может обеспечивать для компонентов в модуле 224 обработки MAC возможность идентифицировать функции, которые он может выполнять, и обеспечивать возможность для модуля 244 конфигурирования и управления радиоустройством, устанавливать конфигурацию этих компонентов для выполнения функций, используемых при воплощении требуемой технологии беспроводной связи. Аналогичный двусторонний обмен информацией может осуществляться через интерфейс 228, что обеспечивает возможность для модуля 244 конфигурирования и управления радиоустройством определять функции, поддерживаемые компонентами в модуле 226 обработки в основной полосе пропускания, и устанавливать конфигурацию для этих компонентов.
В варианте выполнения, показанном на фиг. 2, модуль 244 конфигурирования и управления радиоустройством также обеспечивает интерфейс для аппаратных компонентов в радиокарте 270. В иллюстрируемом варианте выполнения модуль 280 конфигурирования и управления аппаратными средствами используется как интерфейс между модулем 244 конфигурирования и управления радиоустройством и аппаратными компонентами на аппаратном уровне 290 данных. Специфичная форма интерфейса между модулем 244 конфигурирования и управления радиоустройством и модулем 280 конфигурирования и управления аппаратными средствами не является критичной для изобретения. Однако, в иллюстрируемом примере обеспечивается то, что форма интерфейса известна для стороны воплощающей радиокарту 270, что воплощено через стандартную компьютерную шину. Таким образом, вычислительное устройство 200 может быть построено с использованием радиокарты 270 из любого соответствующего источника с выбором варианта выполнения интерфейса модуля 244 конфигурирования и управления радиоустройством, используя формат шины 260.
Модуль 280 конфигурирования и управления аппаратными средствами может быть выполнен с использованием любых соответствующих аппаратных компонентов. Например, модуль 280 конфигурирования и управления аппаратными средствами может быть выполнен как микросхема вентильной матрицы, установленная в радиокарту 270. Однако, радиокарта 270 может быть выполнена с использованием одной или более специализированных интегральных микросхем (ASIC, СИМС), и модуль 280 конфигурирования и управления аппаратными средствами может быть воплощен как один или более сегментов такой ASIC.
Независимо от конкретного варианта выполнения модуля 280 конфигурирования и управления аппаратными средствами в поясняемом варианте выполнения модуль 280 обеспечивает интерфейс с аппаратными компонентами на аппаратном уровне 290, который может использоваться либо для установления конфигурации компонентов, или для получения информации о возможностях или другой информации о состоянии этих компонентов. Например, модуль 280 конфигурирования и управления аппаратными средствами может записывать значения в регистры управления, ассоциированные с аппаратными модулями 292, 294 или 296. И наоборот, модуль 280 конфигурирования и управления аппаратными средствами может считывать регистры состояния из этих модулей. Независимо от конкретного механизма интерфейса между модулем 280 конфигурирования и управления аппаратными средствами и аппаратными компонентами на аппаратном уровне 290 данных модуль 280 конфигурирования и управления аппаратными средствами может предоставлять в модуль 244 конфигурирования и управления радиоустройством данные управления и состояния, полученные из аппаратных компонентов, и может использовать конфигурации для аппаратных компонентов, как указано модулем 244 конфигурирования и управления радиоустройством.
При передаче информации управления и состояния между модулем 244 конфигурирования и управления радиоустройством и аппаратными компонентами на аппаратном уровне 290 данных модуль 280 конфигурирования и управления аппаратными средствами может преобразовывать или по-другому обрабатывать эту информацию. В качестве одного примера модуль 294 смешанных электронных компонентов может принимать, как входные данные конфигурации, определенный цифровой код, определяющий величину преобразования с повышением частоты для сигнала, содержащего передаваемые данные. Модуль 244 конфигурирования и управления радиоустройством может определять преобразование с повышением частоты в другом формате, чем был принят модулем 294 смешанных электронных компонентов. В этом сценарии модуль 280 конфигурирования и управления аппаратными средствами может быть выполнен с возможностью принимать требуемый рабочий параметр для модуля 294 смешанных электронных компонентов в формате, генерируемом модулем 244 конфигурирования и управления радиоустройством, и может преобразовывать его в формат, который может использоваться модулем 294 смешанных электронных компонентов для достижения требуемой величины преобразования с повышением частоты.
Конкретные функции, для выполнения которых может быть установлена конфигурация каждого из компонентов на аппаратном уровне 290 данных и на программном уровне 220 данных, могут зависеть от общей конфигурации программно-определенного радиоустройства. В представленном варианте выполнения конфигурацией управляли как на основе технологии беспроводной связи, которая должна быть воплощена радиоустройством, так и, если технология беспроводной связи имеет переменные параметры работы, конкретными параметрами работы, выбранными для выполнения в любой момент времени. Например, радиоустройство, поддерживающее Wi-Fi, может быть выполнено по-другому, чем радиоустройство, поддерживающее другую технологию, такую как Wi-MAX. Кроме того, некоторые технологии беспроводной связи, такие как Wi-Fi, поддерживают разные скорости передачи данных или имеют другие параметры, которые могут изменяться во время использования. Конфигурация одного или более из компонентов, воплощающих программно-определенное радиоустройство, может быть установлена по-разному, в зависимости от скорости передачи данных или значений других параметров, которые должны поддерживаться для передачи данных Wi-Fi.
Уровень 240 управления может содержать один или более компонентов для определения на основе требуемой технологии беспроводной связи и параметров этой технологии беспроводной связи, в любой момент времени, конкретной конфигурации программно-определенного радиоустройства. В варианте выполнения, показанном на фиг. 2, логический модуль 242 конфигурации выполняет эту функцию. Конкретное выполнение логического модуля 242 конфигурации не является критичным для изобретения. В качестве примера логический модуль 242 конфигурации может быть воплощен как механизм правил, применяющий набор правил для определения специфичной конфигурации для каждого из компонентов на программном уровне 220 данных и на аппаратном уровне 290 данных в любой момент времени, на основе одной или более команд, принятых от пользователя или из других компонентов вычислительного устройства 200, и информации о рабочих условиях. Однако, специфичное выполнение логического модуля 242 конфигурации не является критичным для изобретения и может использоваться любое соответствующее выполнение.
Независимо от конкретного варианта выполнения логического модуля 242 конфигурации модуль 242 может принимать один или более типов входных данных, используемых при определении требуемой конфигурации для аппаратных и программных компонентов программно-определенного радиоустройства, в любой заданный момент времени. В варианте выполнения, показанном на фиг. 2, входные данные предоставляют в логический модуль 242 конфигурации из когнитивного модуля 252, механизма 246 разгрузки и менеджера 248 профиля.
В представленном варианте выполнения модуль 248 менеджера профиля предоставляет в логический модуль 242 конфигурации спецификацию терминологии беспроводной связи, которая должна быть воплощена программно-определенным радиоустройством. Спецификация может определять функции, которые должны быть совместно воплощены компонентами на программном уровне 220 данных и на аппаратном уровне 290 данных. Эти функции могут быть указаны любым соответствующим способом. Например, эти функции могут быть определены путем обозначения рабочих параметров одного или более компонентов на программном уровне 220 данных и на аппаратном уровне 290 данных. В качестве альтернативы или в дополнение спецификация может включать в себя исполняемый код, который может быть добавлен как компонент в один или более из модулей на программном уровне 220 данных. Модуль 248 менеджера профиля может получать спецификации беспроводных технологий любым соответствующим способом. В представленном варианте выполнения уровень 240 управления включает в себя накопитель 250 профиля, который содержит одну или более спецификаций беспроводной связи. Накопитель 250 профиля может быть воплощен на компьютерном носителе для сохранения информации, который ассоциирован с вычислительным устройством 200. Как описано со ссылкой на фиг. 1, спецификации для технологий беспроводной связи, такие как спецификация 132 (фиг. 1), могут быть загружены по сети из сервера или другого соответствующего источника. Однако, источник спецификаций технологии беспроводной связи в накопителе 250 профиля и специфичное выполнение накопителя 250 профиля не являются критичными для изобретения, и любые соответствующие механизмы можно использовать для получения спецификаций технологии беспроводной связи и выбора одной или больше спецификаций для использования в любой заданный момент времени.
В дополнение к предоставлению спецификаций технологии беспроводной связи в логический модуль 242 конфигурации модуль 248 менеджера профиля может предоставлять входные данные в логический модуль 242 конфигурации, обозначающие какие технологии беспроводной связи должны быть воплощены программно-определенным радиоустройством в любой момент времени. Модуль 248 менеджера профиля может предоставлять показания, какие технологии беспроводной связи должны быть воплощены на основе входных данных, принятых из одного или более источников. Например, модуль 248 менеджер профиля может включать в себя интерфейс пользователя, обеспечивающий для пользователя возможность выбора технологии беспроводной связи, которая должна быть воплощена программно-определенным радиоустройством. Аналогичные входные данные могут быть приняты в качестве альтернативы или в дополнение из операционной системы 212, приложения 214, накопителя групповой политики в вычислительном устройстве 200, которые были загружены из сервера групповой политики или из другого соответствующего источника.
Логический модуль 242 конфигурации также может принимать входные данные, относящиеся к требуемой конфигурации компонентов, в пределах программного уровня 220 данных, и аппаратного уровня 290 данных, из модуля 246 механизма разгрузки. Как показано на фиг. 2, радиокарта 270 может включать в себя аппаратный модуль 292 разгрузки. В случае когда он присутствует, аппаратный модуль 292 разгрузки может выполнять функции, которые также могут быть выполнены программными компонентами в пределах программного уровня 220 данных. Модуль 246 механизма разгрузки принимает и анализирует информацию о возможностях, выводимую аппаратным модулем 292 разгрузки. Используя такую информацию о возможностях, модуль 246 механизма разгрузки может анализировать спецификацию технологии беспроводной связи для определения, могут ли быть выполнены какие-либо функции, требуемые для воплощения спецификации технологии беспроводной связи, в аппаратном модуле 292 разгрузки. Если аппаратный модуль 292 разгрузки поддерживает какие-либо из требуемых функций, модуль 246 механизма разгрузки может предоставлять показатели в логический модуль 242 конфигурации о том, что определенные функции могут быть выделены для аппаратного модуля 292 разгрузки. В ответ на это, логический модуль 242 конфигурации может генерировать соответствующие команды конфигурации, обеспечивая выполнения этих функций с помощью компонентов, находящихся в аппаратном модуле 292 разгрузки.
В некоторых вариантах выполнения модуль 246 механизма разгрузки может выполнять дополнительную обработку прежде, чем он предоставит показатели в логический модуль 242 конфигурации о том, что доступны аппаратные компоненты для выполнения определенных функций обработки данных. Например, аппаратные средства вычислительной системы 200 могут быть ограничены в том или другом отношении, и общая работа вычислительной системы 200, в некоторых случаях, может быть оптимизирована в результате установки конфигурации программных компонентов для выполнения функций обработки данных, даже если аппаратный модуль 292 разгрузки содержит компоненты, которые могут выполнять те же функции.
Модуль 246 механизма разгрузки может быть воплощен любым соответствующим способом. Например, модуль 246 механизма разгрузки может быть воплощен с использованием технологии на основе правила.
Кроме того, логический модуль 242 конфигурации может принимать входные данные из когнитивного модуля 252, которые логический модуль 242 конфигурации может использовать при составлении конфигурации аппаратных и/или программных компонентов программно-определенного радиоустройства. В иллюстрируемом варианте выполнения когнитивный модуль 252 принимает информацию состояния, относящуюся к работе аппаратных и/или программных компонентов, воплощающих программно-определенное радиоустройство. На основе информации состояния когнитивный модуль 252 может выполнять обработку для распознавания, что требуется адаптация конфигурации программно-определенного радиоустройства. В некоторых вариантах выполнения такая адаптация может включать в себя модификацию рабочих параметров технологии беспроводной связи.
Например, множество технологий беспроводной связи поддерживает работу на множестве частот. Информация статуса, выводимая одним или более компонентами, может позволить когнитивному модулю 252 идентифицировать, что требуется использовать другой канал. Например, принимаемый сигнал, выводимый компонентом, находящимся в модуле 296 антенны и РЧ электронных компонентов, может обозначать, что определенные частоты в меньшей степени используются или имеют меньший уровень помех, чем частоты, используемые в данный момент времени программно-определенным радиоустройством. В таком сценарии когнитивный модуль 252 может передавать отчет в логический модуль 242 конфигурации о том, что другая частота могла бы обеспечить более надежную связь, и логический модуль 242 конфигурации может генерировать команды конфигурации в один или более аппаратных или программных компонентов в программно-определенном радиоустройстве для смены частоты.
В качестве альтернативы или в дополнение когнитивный модуль 252 может идентифицировать состояния, требующие других адаптаций в технологии беспроводной связи. Например, когнитивный модуль 252 может идентифицировать, что желательно использовать либо меньший, либо более высокий уровень мощности передачи. В ответ на это логический модуль 242 конфигурации может генерировать команды, устанавливающие конфигурацию усилителя мощности в модуле 296 антенны и РЧ электронных компонентов, для передачи на другом уровне мощности.
Обычно когнитивный модуль 252 может собирать информацию о статусе из любого компонента на программном уровне 220 данных или на аппаратном уровне 290 данных и выполняет обработку информации статуса для идентификации состояния, относящегося к текущей связи, что гарантирует адаптацию. Во многих случаях информация статуса будет относиться к осуществляемой связи, такая как измеренные уровни ошибок и объемы данных, предназначенные для передачи. Однако, информация статуса, используемая когнитивным модулем 252, не должна быть ограничена этим. Информация статуса может включать в себя срок службы батареи или другую информацию, относящуюся к вычислительному устройству 200, или любую другую доступную информацию, полезную при выборе или установке параметров технологии беспроводной связи.
Адаптация может быть воплощена с помощью логического модуля 242 конфигурации, который вырабатывает команды, изменяющие конфигурацию одного или более компонентов либо на программном уровне 220 данных, или на аппаратном уровне 290 данных, обеспечивая адаптацию без дополнительной нагрузки для технологии беспроводной связи, воплощенной программно-определенным радиоустройством.
Когнитивный модуль 252 не ограничен идентификацией адаптации в пределах одной технологии беспроводной связи. В некоторых вариантах выполнения когнитивный модуль 252 может быть выполнен с возможностью распознавания, что более эффективная связь может быть достигнута с помощью связи, в которой используется другая технология беспроводной связи. В таком варианте выполнения логический модуль 242 конфигурации может получать из модуля 248 менеджера профиля спецификацию для другой технологии беспроводной связи. Логический модуль 242 конфигурации может затем генерировать команды конфигурации для изменения конфигурации программно-определенного радиоустройства для связи с использованием другой технологии беспроводной связи. Таким образом, вычислительным устройством 200 можно гибко управлять для воплощения эффективной связи путем адаптации в пределах технологии беспроводной связи или с изменением технологии беспроводной связи.
Если требуется адаптация с переходом к другой технологии беспроводной связи, менеджер 248 профиля может получать спецификацию технологии беспроводной связи из накопителя 250 профиля и предоставлять эту спецификацию в логический модуль 242 конфигурации. Спецификации могут быть сохранены в накопителе 250 профиля любым соответствующим способом. На фиг. 3 иллюстрируется в качестве одного примера возможный вариант выполнения накопителя 250 профиля.
1
2
N
Как показано на фиг. 3, накопитель 250 профиля может быть воплощен в любом соответствующем компьютерном носителе информации. Например, данные, определяющие одну или более спецификаций, могут быть записаны на компьютерном носителе 300 для сохранения информации. В представленном примере показаны записи 310, 310... 310, каждая из которых содержит информацию, определяющую спецификацию для технологии беспроводной связи.
1
N
N
N
N
Конкретный формат, в котором информация, определяющая технологию беспроводной связи, содержится в каждой из записей 310... 310, не является критичным для изобретения. Однако, здесь показана примерная структура для записи 310. В примере по фиг. 3 запись 310 содержит множество полей, каждое из полей определяет информацию, используемую при изменении конфигурации программно-определенного радиоустройства. В данном примере каждая запись содержит два типа полей. Один из типов полей, представленных полем 320, содержит информацию, идентифицирующую исполнительный код. Исполнительный код, идентифицированный в поле 320, может представлять собой компонент или компоненты любого из модулей на программном уровне 220 данных (фиг. 2). Исполнительный код может быть идентифицирован в поле 320 любым соответствующим способом. Например, исполняемые компьютером инструкции могут быть сохранены как часть записи 310. В другом примере поле 320 может включать в себя список исполнительных компонентов, сохраненных в каком-то другом месте вычислительного устройства 200 (фиг. 2). В качестве дополнительного примера возможных вариантов выполнения поле 320 может содержать одну или более связей для сохранения мест положения за пределами вычислительного устройства 200, из которых могут быть получены исполнительные компоненты.
N
1
M
1
M
1
M
Кроме того, запись 310 показана, как содержащая множество полей, представленных полями 322... 322, которые содержат параметры для изменения конфигурации аппаратных или программных компонентов на аппаратном уровне 290 данных или на программном уровне 220 данных (фиг. 2). Информация в полях 322... 322 может быть сохранена в любой соответствующей форме, которая может зависеть от конкретных аппаратных или программных компонентов, в которых применяют значения, содержащиеся в полях 322... 322.
В соответствии со спецификацией технологии беспроводной связи в форме, представленной на фиг. 3, компоненты, находящиеся на уровне 240 управления, могут определять конфигурацию программно-определенного радиоустройства, предоставляя исполнительные компоненты и/или устанавливая значение рабочих параметров этих компонентов. На фиг. 4 показан примерный модуль в программно-определенном радиоустройстве, конфигурация которого была задана путем применения одной или более спецификаций в форме, показанной на фиг. 3.
На фиг. 4 модуль 224 обработки MAC показан в качестве примера модуля в программном уровне 220 данных. Однако, в некоторых вариантах выполнения каждый из модулей, содержащихся в программном уровне 220 данных, может иметь архитектуру, в общем представленную на фиг. 4.
2
2
1
2
3
4
На фиг. 4 показано, что модуль 224 обработки MAC включает в себя интерфейс 228, через который модуль 244 конфигурирования и управления радиоустройством или любой другой соответствующий компонент может изменять конфигурацию этого модуля. Через интерфейс 228 исполнительные компоненты могут быть добавлены к модулю 224. В рабочем состоянии, представленном на фиг. 4, были добавлены исполнительные компоненты 452, 452, 452 и 454.
1
4
1
4
Каждый из компонентов 452... 452 может представлять объект или компонент программирования в любой другой соответствующей форме. Каждый из компонентов 452... 452 может выполнять одну или более функций, выполняемых в модуле 224. В примере, в котором модуль 224 выполняет обработку MAC, каждый из компонентов в группе 450 компонентов может выполнять функцию, ассоциированную с процессами MAC, такую как ответ на пакет управления или группирование принятых пакетов, которые были фрагментированы. Однако, конкретное количество и функции компонентов в пределах группы 450 компонентов может зависеть от функции модуля 224 и беспроводной технологии или технологий, для которых была построена конфигурация программно-определенного радиоустройства.
1
4
1
4
Хотя конкретный формат, в котором выполнены компоненты 452... 452, не является критическим для изобретения, пример варианта выполнения показывает, что каждый из компонентов может иметь одинаковый общий формат. В представленном варианте выполнения каждый из компонентов в группе 450 компонентов выполнен как "подключаемый модуль". В случае выполнения в форме подключаемого модуля каждый из компонентов 452... 452 включает в себя один или более интерфейсов в определенном формате, обеспечивающих возможность взаимодействия для других компонентов вычислительной системы 200 с этими компонентами. Таким образом, компоненты могут быть легко добавлены к группе 450 компонентов, в случае когда идентифицируют, что требуется выполнить новые функции программно-определенного радиоустройства.
В качестве одного примера протоколы технологии беспроводной связи часто подвергают многочисленным ревизиям. Может быть желательно при каждой ревизии генерировать один или более компонентов, которые выполняют функции, необходимые для воплощения пересмотренного протокола. Благодаря гибкости, обеспечиваемой архитектурой, показанной на фиг. 4, конфигурация вычислительного устройства 200 может быть легко изменена для работы в соответствии с модифицированным протоколом, даже если оно специально не было разработано для этого протокола.
1
1
1
1
1
1
1
1
1
1
1
1
Для поддержки таких операций, как подключение модуля, каждый из компонентов в группе 450 компонентов может включать один или более определенных интерфейсов. В представленном варианте выполнения каждый из компонентов в группе 450 компонентов воплощает два интерфейса. Если принять компонент 452 в качестве иллюстрации, будут представлены интерфейс 460 и интерфейс 462. Интерфейс 460 может представлять собой интерфейс данных, и интерфейс 462 может представлять собой интерфейс управления. Через интерфейс 460 другие компоненты в вычислительном устройстве 200 могут подавать данные в компонент 452 для обработки. В качестве альтернативы или в дополнение другие компоненты в вычислительном устройстве 200 могут получать данные, обработанные компонентом 452 через интерфейс 460. В зависимости от типа и особенностей компонента 452 операционная система 212, другие компоненты в модуле 224 или в других модулях могут выполнять обмен данными с компонентом 452 через интерфейс 460.
1
1
1
1
1
1
1
1
1
1
Компонент 452 также показан, как содержащий интерфейс 462 управления. В данном варианте выполнения, показанном на фиг. 2, конфигурация радиоустройства и логического модуля 244 управления позволяет принимать информацию статуса из компонента 452 и предоставлять информацию управления в компонент 252 через интерфейс 462. Например, через интерфейс 462 компонент 452 может принимать значения параметров, определяющих один или более аспектов работы компонента 452. В качестве альтернативы или дополнительно компонент 452 может использовать интерфейс 462 для предоставления информации статуса.
В некоторых вариантах выполнения все функции модуля 224 могут быть воплощены с помощью компонентов в группе 450 компонентов. Однако, в некоторых вариантах выполнения модуль 224 может включать в себя один или более фиксированных компонентов 410. Фиксированные компоненты 410 могут присутствовать в модуле 224, независимо от конкретной конфигурации радиоустройства, в любой заданный момент времени. Например, фиксированный компонент 410 может координировать работу компонентов в пределах группы 450 компонентов, способствовать перемежению между компонентами в группе 450 компонентов и другими компонентами вычислительного устройства 200 (фиг. 2) или выполнять функции, выполняемые модулем 224, независимо от конфигурации.
3
3
3
3
3
На фиг. 4 показаны дополнительные элементы, которые могут быть воплощены при использовании составленной из компонентов архитектуры по фиг. 4. В некоторых или во всех из компонентов может быть реализовано управление цифровыми правами для управления некоторым аспектом использования этих компонентов. Например, на фиг. 4 компонент 452 показан как включающий в себя управление цифровыми правами, как символически представлено элементом 454 управления правами. Элемент 454 управления правами может представлять собой криптографический механизм, применяемый для компонента 452, который исключает выполнение компонентов 452, если только не будут созданы разрешенные условия. Условия, при которых разрешено выполнение компонента 452, могут быть определены, как известно в области техники управления цифровыми правами, или любым другим соответствующим способом. В качестве одного примера условия могут быть определены на основе времени. Элемент 454 управления правами может исключать выполнение компонента 452 через заданное время. Благодаря такой возможности компоненты, которые обеспечивают функцию для программно-определенных радиоустройств, могут быть "сданы в аренду".
3
3
В качестве альтернативы элемент 454 управления правами можно использовать для управления другими условиями, в которых разрешено выполнение компонента 452. Например, может быть разрешено выполнение компонента 452 только на срок, в течение которого пользователь вычислительного устройства 200 поддерживает подписку в сети или в другой службе.
Возвращаясь к фиг. 5A, здесь показан другой пример функции, которая может быть воплощена в программно-определенном радиоустройстве, используя архитектуру в соответствии с вариантами выполнения изобретения. На фиг. 5A иллюстрируется, что программно-определенное радиоустройство может быть выполнено с возможностью поддержки связи, используя множества технологий беспроводной связи одновременно. Может поддерживаться выполнение множества технологий беспроводной связи одновременно благодаря построению конфигурации модулей программно-определенного радиоустройства для воплощения всех функций, одновременно выполняемых всеми из множества технологий беспроводной связи.
1
2
3
1
3
1
3
В примере по фиг. 5A одно или более приложений 514, 514 и 514 генерируют и/или потребляют данные для беспроводной связи. Приложения 514... 514 могут формировать интерфейс с программно-определенным радиоустройством через стек 512 операционной системы, используя механизм стека, как он известен в данной области техники. Однако в примере, показанном на фиг. 5A, приложение 514 может выполнять связь с использованием другой технологии беспроводной связи, кроме приложения 514.
1
3
Стек 512 операционной системы может формировать интерфейс с программно-определенным радиоустройством, используя соответствующий интерфейс. Однако, может использоваться обычный интерфейс стека. В соответствии с этим модуль 222 пакетной обработки и безопасности показан как имеющий интерфейс 520 стека, который может быть воплощен, как известно в данной области техники. Однако, в случае когда модуль 222 пакетной обработки и безопасности содержит разные типы информации соединения для соединения с использованием разных технологий беспроводной связи, два компонента могут быть включены в модуль 222 пакетной обработки и безопасности для сохранения информации соединения для технологий беспроводной связи, используемых приложениями 514 и 514. В соответствии с этим на фиг. 5A представлены компоненты 522A и 552B, содержащие информацию соединения для двух технологий беспроводной связи.
1
3
Кроме того, модуль 224 обработки MAC также может содержать компоненты для воплощения технологий беспроводной связи. В этом примере компонент 530A показан как воплощающий технологию беспроводной связи, используемую приложением 514, и компонент 530B показан как воплощающий технологию беспроводной связи, используемую приложением 514.
1
3
Аналогично, модуль 226A обработки в основной полосе пропускания показан как содержащий компоненты 540A и 540B, воплощающие функции технологии беспроводной связи, используемой приложением 514 и 514 соответственно.
1
3
В представленном варианте выполнения показаны аппаратные средства 550 как воплощающие интерфейс с обоими компонентами 540A и 540B. Аппаратные средства 550 могут содержать достаточно компонентов для поддержи обработки данных для двух технологий беспроводной связи одновременно. Компонент 552 мультиплексирования может быть включен в состав, чтобы обеспечить для аппаратных компонентов 550. Компонент 552 мультиплексирования может работать в соответствии со схемой мультиплексирования с разделением по времени, в которой в некоторых интервалах он передает данные в соответствии с технологией беспроводной связи для приложения 514, и в другие интервалы он передает данные для технологии беспроводной связи, используемой приложением 514. В случае мультиплексирования по времени работа аппаратных средств 550 может переключиться между обработкой данных для разных технологий беспроводной связи с достаточно высокой скоростью таким образом, что можно считать, что радиоустройство поддерживает обе технологии беспроводной связи одновременно.
1
3
1
3
На фиг. 5B показана альтернативная рабочая последовательность, в которой последовательно поддерживаются две технологии беспроводной связи. Как и в примере по фиг. 5A на фиг. 5B показаны приложения 514... 514, выполняющие беспроводную связь через стек 512 операционной системы. Стек 512 операционной системы образует интерфейс с компонентом 520 модуля интерфейса стека в модуле 222B пакетной обработки и безопасности. Если только содержится информация о соединениях, которые сформировали приложения 514... 514, используя технологии беспроводной связи с другими компонентами в других устройствах, эта информация может содержаться в компоненте 522 информации соединения.
Вначале программно-определенное радиоустройство, показанное на фиг. 5B, может быть выполнено с возможностью связи с использованием первой технологии беспроводной связи. Для поддержки связи с использованием первой технологии беспроводной связи конфигурация модуля 224B обработки MAC может быть установлена в первый раз с компонентом 530A. Аналогично, конфигурация модуля 226B обработки в основной полосе пропускания может быть установлена с компонентом 542A для поддержки беспроводной связи, используя первую технологию беспроводной связи.
В более позднее время конфигурация радиоустройства может быть изменена для работы в соответствии со второй технологией беспроводной связи. Изменение конфигурации может быть выполнено по любой соответствующей причине. Например, когнитивный модуль 252 (фиг. 2) может детектировать источник взаимных помех, нарушающий связь в соответствии с первой технологией беспроводной связи. В ответ на это логический модуль 242 конфигурации (фиг. 2) может изменить конфигурацию программно-определенного радиоустройства для связи с использованием второй технологии беспроводной связи. Такое изменение конфигурации может быть достигнуто, например, путем изменения конфигурации модуля 224B обработки MAC с компонентом 530B и путем изменения конфигурации модуля 226B обработки в основной полосе пропускания с компонентом 542B. В соответствии с этим, во втором случае, передача данных может быть обеспечена с использованием второй технологии беспроводной связи.
1
3
На фиг. 5B показано некоторое переключение в соответствии с первой технологией беспроводной связи на вторую технологию беспроводной связи, изменение операции некоторых из модулей в пределах уровня 220 данных (фиг. 2). Однако, конфигурация модуля 222B пакетной обработки и безопасности не была изменена. Соответственно, информация соединения, содержащаяся в компоненте информации соединения 522, не была изменена в результате изменения конфигурации. В соответствии с этим, хотя программно-определенное радиоустройство осуществляет связь с использованием другой технологии беспроводной связи, любые соединения, установленные приложениями 514... 514, могут поддерживаться.
Переключением между профилями, как описано выше, можно управлять так, чтобы оно выполнялась любым соответствующим способом. Однако, гибкость, обеспечиваемая программно-определенным радиоустройством, как описано выше, обеспечивает возможность "когнитивного" управления радиоустройством. Когнитивное управление обеспечивает возможность управления радиоустройством на основе информации статуса, собираемой во время установления связи. Информация статуса может относиться к текущей связи или может относиться к связи, которая была закончена и для которой информация статуса была ранее сохранена. Информация статуса может использоваться любым соответствующим образом. Например, информацию статуса можно использовать для идентификации текущих рабочих условий, которые способствуют возникновению ошибок при связи. В качестве альтернативы информацию статуса можно использовать для обеспечения возможности для компонентов управления в радиоустройстве, идентифицировать и воплощать соответствующие адаптации как меру противодействия специфичным условиям, которые способствуют возникновению ошибок во время связи.
Когнитивному управлению может способствовать канал обратной связи между компонентами обработки данных и компонентами управления. На фиг. 6 иллюстрируются компоненты радиоустройства, содержащего такой канал обратной связи. Компоненты, показанные на фиг. 6, могут представлять собой комбинацию аппаратных и программных компонентов, формирующих программно-определенное радиоустройство, как описано выше со ссылкой на фиг. 2. Однако, любые соответствующие компоненты можно использовать для формирования радиоустройства в соответствии с вариантами выполнения изобретения.
На фиг. 6 иллюстрируется, что компоненты организованы как уровень 620 данных и уровень 640 управления. Любые соответствующие компоненты могут быть включены в уровень 620 данных или в уровень 640 управления. В представленном варианте выполнения уровень 640 управления включает в себя логический модуль 242 конфигурации и когнитивный модуль 252. Эти компоненты уровня управления могут представлять собой такие компоненты, как описано выше со ссылкой на вариант выполнения, показанный на фиг. 2. Однако, компоненты могут быть воплощены любым соответствующим способом.
В представленном варианте выполнения на фиг. 6 уровень 620 данных включает в себя кодер 622 коррекции ошибок, модулятор 624, РЧ компонент 626 передачи, антенну 628, РЧ компонент 630 передачи, демодулятор 632 и декодер 634 коррекции ошибок. Компоненты уровня 620 данных также могут быть выполнены, как и в варианте выполнения, описанном выше со ссылкой на фиг. 2. В соответствии с этим кодер 622 коррекции ошибок, модулятор 624, демодулятор 632 и декодер 634 коррекции ошибки могут представлять собой программные компоненты. РЧ компоненты 622 передачи и РЧ компонент 630 приема, и антенна 628 могут представлять собой аппаратные компоненты.
1
2
3
Независимо от того как каждый из компонентов воплощен, некоторые или все компоненты могут формировать интерфейс с компонентами из уровня 640 управления. Такой интерфейс может быть обеспечен любым соответствующим способом. Например, можно использовать интерфейсы в форме интерфейсов 228, 228 или 228 (фиг. 2). В иллюстрируемом варианте выполнения интерфейс обеспечивает возможность для каждого из компонентов на уровне 620 данных принимать информацию управления из логического модуля 242 конфигурации и предоставлять информацию статуса в когнитивный модуль 252.
Совсем необязательно, чтобы все компоненты на уровне 620 данных принимали информацию управления, или чтобы все они генерировали информацию статуса. Тем не менее в результате внедрения некоторых соединений для управления и статуса между уровнем 620 данных и уровнем 640 управления может быть воплощена определенная форма контура обратной связи. Информация статуса, генерируемая компонентами на уровне 620 данных, может быть предоставлена в один или более компонентов на уровне 640 управления. Компоненты на уровне управления могут обрабатывать информацию статуса для идентификации состояний, в которых радиоустройство должно адаптироваться для обеспечения более эффективной связи. Компоненты уровня 640 управления могут затем определять соответствующие регулировки для компонентов на уровне 620 данных для адаптации обработки в радиоустройстве к этим условиям. Учитывая диапазоны информации статуса, которая может быть доступна из компонентов на уровне 620 данных, такая адаптация может быть выполнена когнитивно.
Конкретные функции, выполняемые компонентами на уровне 620 данных, не являются критичными для изобретения. В представленном варианте выполнения каждый из компонентов может выполнять функции, которые известны в данной области техники. Например, кодер 622 коррекции ошибок может принимать группы битов для передачи. Кодер 622 может отображать каждую группу битов на новую группу битов, содержащую один или более битов коррекции ошибок.
Модулятор 624 может принимать группы битов, формируемые кодером 622 коррекции ошибок, и отображать эти группы на поток символов. Каждый символ может передавать множество битов на основе комбинации параметров модуляции, установленных в модуляторе 624. В качестве конкретного примера модулятор 624 может отображать каждый символ на комбинацию значений фазы и частоты. Однако, конкретные параметры, изменяемые модулятором 624, для представления каждого символа, не являются критичными для изобретения. Любой один или более из параметров передачи могут быть изменены, включая в себя фазу, частоту или амплитуду. Кроме того, модулятор 624 может устанавливать любое количество значений для каждого из этих параметров для формирования схемы модуляции, в которой может быть представлено любое количество символов.
Независимо от количества и типа параметров передачи, установленных модулятором 624 для каждого символа, установленные параметры передачи могут быть предоставлены в РЧ компонент 626 передачи. РЧ компонент 626 передачи может представлять собой компонент передачи, как известно в данной области техники, который может передавать РЧ сигнал в соответствии с параметрами, указанными модулятором 624. РЧ сигнал, генерируемый РЧ компонентом 622 передачи, может быть подан в антенну 628, которая может излучать РЧ сигнал по каналу, как часть обмена данными с другим устройствами (не показаны).
Антенна 628 может представлять собой антенну, известную в области техники. Антенна 628 может как передавать, так и принимать РЧ сигналы. Хотя в некоторых вариантах выполнения антенна 628 может быть воплощена как набор из антенн, и отдельные антенны можно использовать для передаваемых и принимаемых сигналов.
Независимо от конкретной антенны, используемой для приема РЧ сигнала, принимаемый сигнал может быть подан в РЧ компонент 630 приема. РЧ компонент 630 приема может представлять собой РЧ компонент, как известно в данной области техники. Такой компонент может выводить детектированные характеристики принимаемого РЧ сигнала. Выходные характеристики могут быть такими же, как установлены модулятором 624. Например, РЧ компонент 630 приема может детектировать фазу, частоту или амплитуду, или любую комбинацию параметров принимаемого РЧ сигнала.
Выход РЧ компонента 630 приема может быть передан в демодулятор 632. В некоторых вариантах выполнения демодулятор 632 может представлять собой компонент, известный в данной области техники, который выполняет операцию перемежения модулятора 624. В соответствии с этим демодулятор 632 может переводить принятые параметры из РЧ компонента 630 приема в символ в соответствии со схемой модуляции.
Демодулятор 632 может передавать информацию символа в декодер 634 коррекции ошибки. Декодер 634 коррекции ошибки может представлять собой компонент, известный в данной области техники, который выполняет обратную функцию для операции кодирования, выполненной кодером 622. Вместо добавления битов коррекции ошибки декодер 634 коррекции ошибки может обрабатывать группу битов, выводимую демодулятором 632, включающую в себя биты коррекции ошибок, для определения, возникла ли ошибка при распространении принимаемого сигнала. Если это случается, декодер 634 коррекции ошибки может использовать биты коррекции ошибки для коррекции этой ошибки. Далее декодер 634 коррекции ошибки может выводить поток битов, представляющий данные, принимаемые радиоустройством по фиг. 6. Хотя на фиг. 6 явно не представлены компоненты, которые генерируют данные для передачи, или использующие данные, которые были приняты, данные могут быть получены или могут быть предоставлены в любой соответствующий компонент. В примере, показанном на фиг. 2, данные генерируют с помощью и предоставляют либо в операционную систему 212 (фиг. 2), либо в приложение 214 (фиг. 2). Однако источник или назначение данных не являются критичными для изобретения, и примерные радиоустройства по фиг. 6 можно использовать в связи с любыми соответствующими компонентами.
Хотя каждый из компонентов на уровне 620 данных может выполнять функции, которые известны в области техники при беспроводной передаче или приеме данных, каждый из компонентов может быть выполнен в конфигурации, которая предоставляет информацию статуса или информацию управления приемом, обеспечивающую возможность составления конфигурации компонентов в контуре обратной связи в соответствии с вариантами выполнения изобретения. Например, декодеры 634 коррекции ошибки могут быть выполнены в конфигурации, которая предоставляет информацию статуса в когнитивной модуль 252, идентифицирующий для каждой принятой передачи данных, количества или ошибки, исправленные с использованием кодирования коррекции ошибки. Аналогично, компонент 632 демодулятора может быть выполнен с возможностью предоставления информации статуса, такой как вектор искажений. Вектор искажений может для каждого принимаемого символа обозначать степень различия между конкретной конфигурацией детектированных РЧ параметров и комбинацией параметров, представляющих номинальные значения действительного символа. РЧ компоненты 630 также могут предоставлять информацию статуса. Например, РЧ компонент 630 приема может предоставлять индикатор силы принимаемого сигнала или другую информацию статуса, которую можно использовать в когнитивном модуле 252 для идентификации или адаптации к существующим в данное время условиям канала передачи данных, используемого для передачи или приема данных с помощью беспроводной связи.
Один или больше компонентов на уровне 620 данных также может принимать входные данные управления, которые можно использовать для управления компонентами для адаптации к устройствам канала, идентифицированным когнитивным модулем 252. Например, компонент 622 кодера коррекции ошибок 622 может принимать входные данные управления, которые изменяют отношение битов коррекции ошибки к битам данных. Как известно в данной области техники, отношение битов коррекции ошибки к битам данных может воздействовать на количество ошибок битов, которые могут быть исправлены при передаче данных. В результате увеличения этого отношения радиоустройство может адаптироваться к условиям канала, которые вызывают большую частоту ошибок. Компонент 624 модулятора аналогично может иметь вход управления. В ответ на значения на входе управления модулятор 624 может изменять тип схемы модуляции, которую он использует, или количество уникальных символов, которые он использует. Хотя уменьшение количества уникальных символов, используемых модулятором 624, позволяет уменьшить скорость передачи данных, может произойти соответствующее уменьшение количества ошибок, которые возникают при передаче так, что общий результат представит повышение эффективности передачи данных. РЧ компонент 626 передачи аналогично может включать в себя вход управления. В ответ на значение на его входе управления РЧ компонент 626 передачи может изменять уровень мощности передачи или другой РЧ параметр передачи.
Хотя на фиг. 6 иллюстрируется только поднабор компонентов, которые могут присутствовать в когнитивном радиоустройстве, на чертеже показано, что один или более каналов обратной связи могут быть сформированы путем предоставления информации статуса в когнитивный модуль 252 и путем предоставления информации управления в один или более компонентов на уровне 620 данных.
1
8
2
1
8
На фиг. 7A, 7B и 7C иллюстрируются параметры, которые могут быть измерены одним или более компонентами на уровне 620 данных для генерирования информации статуса. На фиг. 7A иллюстрируется передача данных в соответствии со схемой модуляции, в которой два параметра РЧ сигнала можно изменять для представления переданной информации. В этом примере эти два параметра представлены графически в двумерной системе координат. На каждой оси может быть представлен один из параметров. Каждый параметр может, например, представлять собой фазу, частоту, амплитуду или любой другой доступный параметр. В примере, показанном на фиг. 7A, представлены восемь областей данного графического параметра, каждая из которых соответствует символу. Эти области обозначены как S...S. Например, точка R может представлять значения для параметра 1 и параметра 2 принимаемого сигнала. Как показано на фиг. 7A, точка R попадает в область S. В соответствии с этим компонент 632 демодулятора может отображать принимаемый сигнал со значениями R параметра на символ S2. Аналогичное отображение может происходить в отношении любой из других областей S...S.
1
8
2
В некоторых случаях из-за искажений во время передачи или других ошибок принимаемый сигнал не будет иметь значение модулированных параметров, точно попадающее в одну из областей S...S, представляющих номинальное значение параметра для символа. Различие между номинальной областью и фактически принимаемым значением можно рассматривать как вектор искажения. На фиг. 7B иллюстрируется значение R параметра для принимаемого сигнала, попавшего рядом, но за пределами диапазона, ассоциированного с областью S. В соответствии с этим на фиг. 7B иллюстрируется вектор искажений, представляющий различие между принимаемыми значениями и областью, соответствующей номинальному набору значений, представляющих разрешенный символ. Сравнение фиг. 7A и 7B иллюстрирует измерения, которые могут быть выполнены на уровне 620 данных (фиг. 6) для генерирования информации статуса.
2
2
2
На каждой из фиг. 7A и 7B представлены восемь областей, соответствующих номинальным значениям параметров модуляции для восьми разных символов. В соответствии с этим каждый символ может быть отображен на вплоть до трех битов информации. Поскольку на обеих фиг. 7A и 7B принятые значения ближе всего расположены к области S, принятое значение может быть отображено на структуру бита, ассоциированную с областью S. В этом примере значение 001 бита отображено на область S. Однако, специфичное отображение между областями и значениями битов не является критичным для изобретения, и можно использовать любое соответствующее отображение.
2
Хотя на фиг. 7A и 7B иллюстрируются две ситуации, в которых принимаемые сигналы отображают на одно и то же значение символа, доступна дополнительная информация статуса. В условиях работы, иллюстрируемых на фиг. 7A, принимаемое значение попадает в область S2. В соответствии с этим компонент 632 демодулятора (фиг. 6) или другой соответствующий компонент может распознавать, что принимаемая информация соответствует действительному символу, и значение действительного бита V установлено в единицу. В отличие от этого на фиг. 7B показано, что значения параметров 1 и 2 для принимаемого сигнала РЧ попадают за пределы любой из определенных номинальных областей, ассоциированных с действительным символом. На основе близости принимаемых значений R к области S демодулятор может идентифицировать принятый символ как 001. Поскольку принятое значение находится за пределами всех номинальных областей, демодулятор может также генерировать показатель того, что принятые параметры попали за пределы номинальных областей путем установки значений действительного бита V, равным нулю. Таким образом, действительный бит V может представлять собой одну часть информации статуса, предоставляемой компонентом 632 демодулятора (фиг. 6) в когнитивный модуль 252.
2
2
2
На фиг. 7A и 7B также обозначен второй тип информации статуса, которая может быть сгенерирована с помощью компонента демодулятора или другого соответствующего компонента в когнитивном радиоустройстве. На фиг. 7B значения параметра 1 и параметра 2 принятого сигнала, представленные R, отделены от ближайшей области S расстоянием X. Такое расстояние может представлять вектор искажений. В соответствии с этим на фиг. 7B иллюстрируется вектор D искажений со значением X. В отличие от этого на фиг. 7A иллюстрируется, что принимаемый сигнал имеет значения параметра 1 и параметра 2, попадающие в область S, и вектор D искажений со значением ноль. С другой стороны, на фиг. 7C иллюстрируется принимаемый сигнал со значением параметра 1 и параметра 2, обозначенными R, и который имеет больший вектор искажений, чем на фиг. 7B. В примере, показанном на фиг. 7C, R отделен от ближайшей области номинальных значений S символа расстоянием Y, формирующим вектор D искажений со значением Y.
Хотя в каждом из примеров, показанных на фиг. 7A, 7B и 7C, принимаемое значение отображают на набор битов B=001, для компонентов, обрабатывающих принимаемый сигнал, доступна дополнительная информация. Как описано выше, действительный бит V можно использовать для обозначения условий ошибки. Аналогично, вектор D искажений можно использовать для идентификации, как наличия, так и магнитуды присутствующих условий ошибки.
Эту и другую информацию статуса можно использовать для идентификации адаптации, обеспечивающей более эффективную передачу данных, несмотря на условия канала, которые могут индуцировать ошибки. Когнитивный модуль 252 может обрабатывать информацию статуса для идентификации структур значений статуса, обозначающих условия ошибки, к которым он может адаптироваться. Эти структуры могут быть обоснованы на одиночных значениях переменных статусов, тенденциях изменения значений одной переменной статуса, корреляции между значениями двух или более параметров статуса или на любых других соответствующих комбинациях значений статуса. Структуры могут относиться к прошлой или к настоящей информации. В качестве специфичного примера декодер 634 коррекции ошибки может выводить значение статуса, обозначающее частоту, при которой ошибки битов корректируют в принимаемых сигналах. Высокая частота коррекции ошибки может обозначать условия канала, для которых требуется или необходима адаптация. В качестве альтернативы тенденция, проявляющаяся в увеличении с течением времени частоты, с которой корректируют ошибки битов, может обозначать ухудшение условий канала. Когнитивный модуль 252 может использовать эту информацию для прогнозирования времени, в какое потребуется адаптация, или может генерировать показатель адаптации в соответствующий момент времени. Когнитивный модуль 252 может идентифицировать соответствующее время на основе скорости, с которой повышается уровень ошибки, или на основе любой другой соответствующей доступной информации.
В качестве другого примера когнитивный модуль 252 может идентифицировать потребность в адаптации на основе комбинации значений статуса. Например, информация статуса из РЧ компонента 630 принимаемого сигнала может обозначать большую силу принимаемого сигнала, и информация из одного из компонентов 632 демодулятора, декодера 634 коррекции ошибки или других компонентов высокого уровня в когнитивном радиоустройстве может обозначать высокую частоту ошибок для передачи. Поскольку большая сила принимаемого сигнала обычно ассоциирована с низкой частотой ошибок, когнитивный модуль 252 может идентифицировать необычные рабочие условия, когда существует принимаемый сигнал большой силы в корреляции с высокой частотой ошибок. Такие необычные условия работы, например, могут быть ассоциированы с источником взаимных помех в спектре частот, который накладывается на канал, используемый для беспроводной передачи данных. В ответ на это когнитивный модуль 252 может передать сигнал адаптации, который подразумевает изменение конфигурации когнитивного радиоустройства для передачи, используя технологию беспроводной связи, в которой используется другой частотный спектр.
1
4
2
1
8
1
4
1
8
2
Независимо от конкретной информации статуса, используемой когнитивным модулем 252 для идентификации, требуется ли, или желательно ли изменить конфигурацию радиоустройства, любое соответствующее изменение конфигурации можно использовать для адаптации к условиям нарушения связи. На фиг. 8A представлен пример возможного изменения конфигурации. На фиг. 8A иллюстрируется область, ассоциированная с номинальными значениями двух параметров принимаемого сигнала, как на фиг. 7A. Однако, фиг. 8A отличается от фиг. 7A тем, что здесь показаны только четыре номинальных области S...S. Поскольку на фиг. 8A показано меньшее количество областей, каждая из областей может быть выполнена большей. В результате принимаемый сигнал, имеющий комбинацию значений параметра, представленную как R, попадает в номинальную область S в примере на фиг. 8A, но та же комбинация значений может находиться за пределами любой из номинальных областей S...S на фиг. 7A. Кроме того, разделение между номинальными областями S...S больше, чем разделение между номинальными областями S...S, показанными на фиг. 7A. В соответствии с этим даже если сигнал будет искажен, меньше вероятность того, что такие искажения перейдут к ассоциации фактически принятого сигнала с номинальной областью, представляющей неправильный символ. Меньше значений номинального сигнала можно использовать, как показано на фиг. 8A, путем изменения значения входной команды управления для компонента 624 модулятора. Соответствующее изменение может быть выполнено для компонента 632 демодулятора. Хотя последствие уменьшения количества номинальных областей, как показано на фиг. 8A, состоит в том, что уменьшается количество битов в символах. Например, на фиг. 8A, когда принимаемый сигнал попадает в область S, может быть назначено значение бита B=01.
Поскольку только четыре возможных значения могут быть идентифицированы по четырем областям, передают только два бита информации. В отличие от этого восемь возможных номинальных областей, представленных на фиг. 7A, позволяют представить в символе три бита информации. Поскольку адаптация, которая уменьшает количество битов на символ, может иметь уравновешивающий эффект, когнитивный модуль 252 может использовать любую доступную информацию для определения, доступно ли такое ускорение. Такая информация может включать в себя сохраненную информацию об условиях, в соответствии с которыми ранее была выполнена попытка адаптации, и улучшила или нет такая адаптация общую эффективность передачи данных. В соответствии с этим историческая информация и любая другая соответствующая доступная информация может использоваться когнитивным модулем 252 для идентификации, следует ли выполнить адаптацию, и для определения конкретного типа выполняемой адаптации.
На фиг. 8B иллюстрируется другая возможная адаптация, которая может быть выполнена. Как и на фиг. 8A, здесь количество номинальных областей уменьшено по сравнению с представленными на фиг. 7A. На фиг. 8B показаны пять номинальных областей. В этом примере каждая из номинальных областей сформирована в результате пересечения двух номинальных области такого типа, как показано на фиг. 7A. Таким образом, каждая из номинальных областей, вместо ее представления, в общем, круглой, как показано на фиг. 7A...7C и 8A, в более общей форме сформирована в форме цифры восемь. В соответствии с этим на фиг. 8B показано, что диапазон адаптации возможен при изменении отображения между значениями параметра и символов.
На фиг. 8B пять номинальных областей представляют 2,25 битов информации. В соответствии с этим на фиг. 8B также иллюстрируется, что указанная схема модуляции не должна иметь количество битов на символ, которое кратно двум.
1
8
1
4
1
2
1
3
4
2
5
6
3
7
8
4
На фиг. 9A и 9B иллюстрируется другая форма адаптации, которая может быть выполнена. На фиг. 9A и 9B показано другое отображение между принятыми символами или группами символов и выходными значениями данных. Такое отображение может быть выполнено декодером 634 коррекции ошибки или любым другим соответствующим компонентом в когнитивном радиоустройстве. Отображение может быть представлено значениями в структуре данных, сохраненной на считываемых компьютером носителях 810 информации, или встроенной в вычислительное устройство любым другим соответствующим способом. В примере, показанным на фиг. 9A, восемь значений 820...820, каждое из которых отображено на выходные биты данных, представлено как 822...822. Как можно видеть на фиг. 9A, здесь не соблюдается взаимно-однозначное отображение между значениями символа и битами выходных данных. Скорее, в представленном примере два значения символа отображают на каждую группу битов выходных данных. Например, значения 820 и 820 символов отображают на выходной бит 822. Значения 820 и 820 символа отображают на выходной бит 822. Значения 820 и 820 символа отображают на выходной бит 822, и значения 820 и 820 символа отображают на бит 822 выходных данных. Поскольку весь диапазон возможных значений символа отображают только на четыре комбинации выходных битов, выходные данные представлены, используя только два выходных бита, как показано на фиг. 9A.
1
3
5
7
2
4
6
8
2
1
4
6
8
Такое уменьшение количества битов выходных данных, представленных каждым символом, обеспечивает возможность коррекции ошибок. Например, только некоторые из значений символа могут быть переданы. В таком примере только значения 820, 820, 820 и 820 символов могут представлять допустимые значения передаваемых символов. Если любое из других значений 820, 820, 820 или 820 символов будет принято, декодер коррекции ошибки может идентифицировать, что возникла ошибка и может корректировать ее. Например, если символ 820 будет принят, декодер коррекции ошибки может идентифицировать, что произошла ошибка, может исправить ее путем отображения принятого символа на значения 822 выходных данных, поскольку эти значения данных представляют собой ближайшие данные к переданному символу, они, наиболее вероятно, представляют собой правильные значения данных. Ошибки могут аналогично быть детектированы и исправлены, если будут приняты символы 820, 820 или 820.
1
16
На фиг. 9B иллюстрируется, что адаптация может быть выполнена путем изменения отображения между принятыми символами и битами выходных данных. Хотя на фиг. 9A и 9B представлены простые коды коррекции ошибки, они иллюстрируют, что увеличение количества битов, предназначенных для детектирования и коррекции ошибки, может улучшить вероятность того, что информация будет принята правильно. В примере, показанном на фиг. 9B, представлено 16 значений символов 860...860. Эти 16 значений символа могут соответствовать 16 разным номинальным областям модуляции в пространстве параметра, как показано на фиг. 7A, 7B или 7C. В качестве альтернативы 16 значений символа, показанных на фиг. 9B, могут представлять значения двух последовательных символов, принимаемых с использованием схемы модуляции, показанной на фиг. 8A, в соответствии с которой кодируют два бита на символ.
1
16
1
4
1
5
8
2
9
16
3
4
Независимо от того, как генерируют значения, представляющие символы 860...860, на фиг. 9B показано, что четыре отдельных значения символа сопоставляют с каждой комбинацией входных битов. Например, символы 860...860 отображают на выходные биты 862. Символы 860...860 отображают на выходные биты 862. Остальные символы 860...860 отображают на выходные биты 862 и 862 аналогичным образом. В каждом случае четыре символа отображают на один набор битов выходных данных. В примере, показанном на фиг. 9B, четыре бита данных символа отображают на два бита выходных данных. Такое условие иллюстрирует простой код коррекции ошибки с двумя битами коррекции ошибки. В отличие от этого в примере, показанном на фиг. 9A, три символа битов отображают на два бита выходных данных. В соответствии с этим на фиг. 9A иллюстрируется простой пример однобитного кода коррекции ошибки. Используя большее количество битов для коррекции ошибки, чем представлено на фиг. 9B, можно в одних и тех же условиях работы повысить эффективность передачи данных, поскольку меньшее количество принимаемых сигналов потребуется отбросить из-за ошибки. В соответствии с вариантами выполнения изобретения когнитивный модуль 252 может детектировать на основе информации статуса, предоставляемой одним или более компонентами на уровне 620 данных, условия, при которых изменение количества используемых битов коррекции ошибки может повышать эффективность передачи данных. В ответ на такое определение когнитивный модуль 252 может инициировать генерирование логическим модулем 242 конфигурации команд для кодера 620 коррекции ошибки и/или для декодера 634 коррекции ошибки, чтобы изменить количество используемых битов коррекции ошибки.
На фиг. 8A, 8B, 9A и 9B иллюстрируется возможная адаптация, которая может быть выполнена на основе информации статуса. Независимо от конкретного типа информации статуса и конкретных адаптаций, выполненных в ответ на детектированные структуры в пределах этой информации статуса, когнитивное радиоустройство в соответствии с вариантом выполнения изобретения можно использовать в процессе передачи данных, как представлено на фиг. 10.
Обработка, показанная на фиг. 10, начинается в блоке 1010. В блоке 1010 может быть построена конфигурация когнитивного радиоустройства для передачи данных. Для радиоустройства в форме, показанной на фиг. 2, конфигурация радиоустройства может быть построена путем применения первого профиля из накопителя 250 профиля. Однако, конкретный механизм, с помощью которого выбирают и применяют исходную конфигурацию в блоке 1010, не является критичным для изобретения.
В дополнение к информации, описанной выше, в каждом из этих профилей может быть сохранен профиль для когнитивного радиоустройства, который может включать в себя такую информацию, которая идентифицирует условия ошибки, в соответствии с которыми может быть выполнена адаптация. Условия ошибки могут быть выражены как пороговое значение структуры или любым другим соответствующим способом.
После построения конфигурации радиоустройства обработка переходит к блоку 1012. В блоке 1012 радиоустройство используют для передачи данных в соответствии с определенным профилем. Как часть передачи данных в блоке 1012 информация статуса может быть сгенерирована и проанализирована. Например, один тип информации, который может быть собран как часть текущей передачи данных, представляет собой действительный бит V, как показано со ссылкой на фиг. 7A, 7B и 7C. Для каждого принятого символа обработка может разветвляться в блоке 1014 принятия решения на основе значения действительного бита, ассоциированного с символом. Если действительный бит, ассоциированный с принимаемым символом, обозначает, что символ является надежным, обработка может ответвляться в блок 1016.
Если считается, что символ является надежным, обработка в блоке 1016 может обновлять величину подсчета надежных символов. Обновление величины подсчета надежных символов может включать в себя изменение значения в структуре данных, сохраняемых в считываемом компьютером носителе информации, или может выполняться любым другим соответствующим способом. Сохранение величины подсчета надежных символов представляет собой пример механизма, который можно использовать для записи исторической информации статуса.
Обработка затем может перейти к блоку 1020 принятия решения. В блоке 1020 принятия решения обработка может разветвляться в зависимости от того, была ли адаптация раньше применена к радиоустройству, и можно ли рассматривать такую адаптацию как эффективную на основе характеристики радиоустройства, полученной после применения адаптации. Обработка для идентификации эффективности адаптации может быть выполнена любым соответствующим способом. Обработка может зависеть от свойств предыдущей адаптации или свойств условий, которые инициировали предыдущую адаптацию. Например, если предыдущая адаптация была инициирована высокой частотой ошибок, обработка в блоке 1020 может привести к проверке, уменьшилась ли частота ошибок после адаптации до приемлемого уровня.
Независимо от того, как эффективная адаптация идентифицирована в блоке 1020, если предшествующая адаптация рассматривается как эффективная, обработка ответвляется в блок 1022. В блоке 1022 записывают информацию, относящуюся к эффективной адаптации. Обработка в блоке 1022 может привести к записи информации в энергонезависимый, считываемый компьютером носитель информации, или запись может быть выполнена любым другим соответствующим способом. Тип информации, записанный в блоке 1022, может зависеть от свойств выполненной адаптации, условий, которые инициировали адаптацию, обработки для оценки, была ли адаптация эффективной, или может представлять собой любой другой соответствующий тип информации. В примере адаптации, выполненной в ответ на превышение частоты ошибок порогового значения, информация, записанная в блоке 1022, может обозначать величину уменьшения частоты ошибок после адаптации.
После того, как информация предыдущей адаптации будет записана в блоке 1022 обработка может циклически возвращаться в блок 1012, в котором продолжается передача данных. Если предшествующая адаптация была неэффективной, или ранее не была выполнена какая-либо адаптация, обработка может также циклически возвращаться из блока 1020 принятия решения в блок 1012. В примерном варианте выполнения, показанном на фиг. 10, не указано, что при циклическом возврате назад из блока 1020 принятия решения в блок 1012 информацию о неэффективной адаптации сохраняют. Однако, могут быть построены варианты выполнения изобретения, в которых сохраняют информацию как об эффективных, так и о неэффективных адаптациях. В соответствии с этим изобретение не ограничивается конкретным вариантом выполнения, представленным на фиг. 10.
Блок-схема последовательности операций, показанная на фиг. 10, иллюстрирует другие пути, которые можно принять в других рабочих условиях. Эти пути обозначают, что разная обработка может быть выполнена в ответ на различные рабочие условия. Например, если принятый символ не считается надежным, обработка может ответвляться из блока 1014 принятия решения в блок 1030. В блоке 1030 величина подсчета ненадежных символов может быть обновлена. Величины подсчетов, сохраняемые в блоке 1016 и 1030, можно использовать для определения значения индикатора статуса. В этом примере может быть сформировано отношение между количеством надежных и ненадежных принятых символов для получения величины статуса, которая может обозначать условия канала, требующие адаптации.
Обработка, следующая после ненадежного символа, также может включать в себя измерение вектора искажений в блоке 1032. Вектор искажений может быть измерен любым соответствующим способом. В некоторых вариантах выполнения вектор искажений может быть измерен, как показано на фиг. 7B и 7C, с помощью демодулятора.
Независимо от того, как измеряют вектор искажений, обработка может перейти к блоку 1034, в котором обновляют ранее сохраненную статистику искажений. Обработка в блоке 1034 может быть выполнена любым соответствующим способом. В качестве примера может быть рассчитано скользящее среднее значение магнитуды векторов искажений, определенных в течение соответствующего интервала времени при предоставлении каждого нового вектора искажений. Обновляемое скользящее среднее значение можно сохранять в блоке 1034. В дополнение к среднему значению можно рассчитывать и сохранять дисперсию или другую статистическую характеристику высокого уровня для измеряемых искажений. Эти значения можно использовать при последующей обработке для идентификации, либо необходимости адаптации, или соответствующей формы адаптации.
Другая информация статуса также может сохранена. В примере по фиг. 10 обработка переходит к блоку 1036, в котором сохраняют статистические характеристики коррекции ошибки. Как известно в данной области техники, коды коррекции ошибки могут обеспечить возможность коррекции множества ошибок битов. Декодер коррекции ошибки, такой как декодер 634 (фиг. 6), может во время применения кода коррекции ошибки определять количество возникших ошибок битов. Частота, с которой эти ошибки возникают, может быть записана в блоке 1036, в структуре запоминающего устройства или в другом соответствующем считываемом компьютером носителе информации. Информация о количестве скорректированных ошибок может быть сохранена любым соответствующим способом. Например, статистическая информация, относящаяся к ошибкам, может быть сохранена как частота в определенный момент вовремя. В качестве альтернативы можно сохранять скользящее среднее значение частоты ошибок на считываемом компьютерном носителе информации при обработке каждого символа. В качестве альтернативы или в дополнение дисперсия или статистическая характеристика более высокого порядка, рассчитанная по частоте ошибок, может быть сохранена в блоке 1036.
Хотя на фиг. 9A и 9B иллюстрируется кодирование коррекции ошибки, используемое для детектирования ошибок битов, другие формы детектирования ошибок и коррекции ошибок можно использовать в когнитивном радиоустройстве. Например, можно отслеживать частоту ошибок в кадре, и статистические характеристики частоты ошибки в кадре аналогично можно сохранять в блоке 1036. В соответствии с этим изобретение не ограничивается адаптациями, основанными на специфичных типах ошибок или информации статуса, описанных выше.
Независимо от свойств сохраняемой информации статуса обработка может перейти к блоку 1038 принятия решений, где на основе собранной информации статуса принимают решение, требуется ли адаптация. Как описано выше, в результате обработки в блоке 1038 может потребоваться сравнение текущей информации статуса с пороговыми значениями для детектирования структур в сохраненной информации статуса. После обработки в блоке 1038 могут последовать операции для одного типа информации статуса или для комбинаций или корреляций множества типов информации статуса. Независимо от конкретной обработки в блоке 1038, если адаптация не будет выполнена, обработка циклически возвращается обратно в блок 1012, в котором продолжается передача данных.
После обработки в блоке 1038 принятия решения может последовать сравнение информации статуса, сгенерированной в данный момент времени или сохраненной ранее, с условиями ошибки, ассоциированными с первым профилем, полученным в блоке 1010. Однако обработка может быть выполнена в блоке 1038 принятия решения любым соответствующим способом.
Независимо от того, как выполняют определение, следует ли выполнить адаптацию в блоке 1038, если адаптацию выполняют, обработка ответвляется в блок 1040. В блоке 1040 адаптацию идентифицируют. Адаптация может быть идентифицирована любым соответствующим способом. Например, информация, ранее записанная в блоке 1022, может обозначать эффективную адаптацию, в ответ на условия, обозначенные текущей информацией статуса. В примере, показанном на фиг. 10, после идентификации адаптации в блоке 1040 может последовать выбор второго профиля на основе ожиданий, что передача данных в соответствии со вторым профилем будет более эффективной. Однако, адаптация может быть идентифицирована любым соответствующим способом.
Обработка затем может перейти в блок 1042. В блоке 1042 применяют идентифицированную адаптацию. В представленном примере, в котором выполняют обработку по фиг. 10 в вычислительном устройстве, таком как представлено на фиг. 2, адаптация может быть применена путем получения второго профиля из накопителя 250 профиля и путем применения его к программно-определенному радиоустройству для изменения конфигурации аппаратных и программных компонентов радиоустройства. Кроме того, как представлено на фиг. 10, профиль может включать в себя другой набор условий ошибки, чем тот, который был выбран в блоке 1010. В соответствии с этим по мере продолжения передачи данных, когда обработка циклически возвращается обратно в блок 1012 и снова возвращается в блок 1038 принятия решения, другой набор условий можно применять для определения, следует ли выполнить дополнительную адаптацию.
Обработка может продолжаться итеративно в таком виде с продолжением передачи данных и постоянной адаптации радиоустройства к условиям, которые в данный момент времени влияют на передачу данных по каналу.
После описания, таким образом, нескольких аспектов, по меньшей мере, одного варианта выполнения в соответствии с данным изобретением, следует понимать, что различные модификации и улучшения будут понятны для специалистов в данной области техники.
Такие изменения, модификации и улучшения должны составлять часть данного раскрытия и предназначены для включения в сущность и объем изобретения. В соответствии с этим предшествующее описание и чертежи представляют собой только пример.
Описанные выше варианты выполнения настоящего изобретения можно воплотить с использованием любого из множества способов. Например, варианты выполнения могут быть выполнены с использованием аппаратных средств, программных средств или их комбинаций. Когда они выполнены в виде программных средств, программный код может быть выполнен на любом соответствующем процессоре или наборе процессоров, которые предусмотрены в одном компьютере или распределены среди множества компьютеров.
Кроме того, следует понимать, что компьютер может быть выполнен в любой из множества форм, таких как компьютер, установленный в стойке, настольный компьютер, переносной компьютер или планшетный компьютер. Кроме того, компьютер может быть выполнен в устройстве, которое обычно не рассматривают как компьютер, но обладающем соответствующими возможностями обработки, включая в себя карманный персональный компьютер (PDA, КПК), смартфон или любое другое соответствующее портативное или стационарное электронное устройство.
Также компьютер может иметь одно или более устройств ввода и вывода. Эти устройства можно использовать, помимо прочего, для представления интерфейса пользователя. Примеры выходных устройств, которые можно использовать для представления интерфейса пользователя, включают в себя принтеры или экраны дисплея для визуального представления выходных данных и громкоговорители или другие устройства генерирования звука для звукового представления выходных данных. Примеры устройств ввода данных, которые можно использовать в качестве интерфейса пользователя, включают в себя клавиатуру и устройства - указатели, такие как мыши, сенсорные панели и цифровые планшеты. В качестве другого примера компьютер может принимать входную информацию путем распознавания речи или в другом звуковом формате.
Такие компьютеры могут быть взаимно соединены с помощью одной или более сетей в любой соответствующей форме, включая в себя локальную вычислительную сеть или глобальную вычислительную сеть, такую как сеть предприятия или Интернет. Такие сети могут быть основаны на любой соответствующей технологии и могут работать в соответствии с любым соответствующим протоколом и могут включать в себя беспроводные сети, кабельные сети или оптоволоконные сети.
Также различные способы или процессы, схематично представленные здесь, могут быть кодированы как программное обеспечение, выполняемое одним или больше процессорами, в которых используется любая одна из множества операционных систем или платформ. Кроме того, такое программное обеспечение может быть написано с использованием любого количества соответствующих языков программирования и/или обычных инструментов программирования или путем составления скриптов, и также может быть составлено как исполнительный код на машинном языке или промежуточный код, который выполняется в интегрированных средах или в виртуальном устройстве.
В этом отношении изобретение может быть воплощено как считываемый компьютером носитель информации (или множество считываемых компьютером носителей информации) (например, компьютерное запоминающее устройство, один или более гибких дисков, компакт-дисков, оптических дисков, магнитных лент, запоминающих устройств типа флэш, схемных конфигураций в программируемых вентильных матрицах, или других полупроводниковых устройств, или других компьютерных носителей для сохранения информации), кодированный одной или более программами, которые при выполнении в одном или более компьютерах или в других процессорах выполняют способы, которые воплощают различные варианты выполнения изобретения, описанные выше. Считываемый компьютером носитель или носители могут быть транспортируемыми таким образом, что программа или программы, сохраненные на них, могут быть загружены в один или более разных компьютеров или в другие процессоры для выполнения различных аспектов настоящего изобретения, как описано выше.
Термины "программа" или "программное обеспечение" используют здесь в обобщенном смысле для обозначения любого типа компьютерного кода или набора исполняемых компьютером инструкций, которые могут быть выполнены для программирования компьютера или другого процессора, для воплощения различных аспектов настоящего изобретения, как описано выше. Кроме того, следует понимать, что в соответствии с одним аспектом данного варианта выполнения одна или более компьютерных программ, которые при их исполнении выполняют способы в соответствии с настоящим изобретением, не обязательно должны находиться в одном компьютере или процессоре, но могут быть распределены в модульном виде среди множества разных компьютеров или процессоров для выполнения различных аспектов настоящего изобретения.
Выполняемые компьютером инструкции могут быть представлены во множестве форм, таких как программные модули, выполняемые одним или более компьютерами или другими устройствами. Обычно, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют определенные задачи, или воплощают определенные абстрактные типы данных. Типично функции программных модулей могут быть скомбинированы или распределены в соответствии с необходимостью в различных вариантах выполнения.
Также структуры данных могут быть сохранены на считываемых компьютером носителях информации в любой соответствующей форме. Для простоты иллюстрации структуры данных могут быть представлены как имеющие поля, взаимосвязанные путем размещения в структуре данных. Такие взаимосвязи могут быть достигнуты путем назначения для полей мест расположения для сохранения в считываемом компьютером носителе информации, которые передают взаимосвязь между этими полями. Однако, можно использовать любой соответствующий механизм для установления взаимосвязи между информацией в полях или в структуре данных, включая в себя использование указателей, тегов или других механизмов, которые устанавливают взаимосвязь между элементами данных.
Различные аспекты настоящего изобретения можно использовать по отдельности, в комбинации или в различных компоновках, не обязательно представленных в описанных выше вариантах выполнения, и поэтому не ограничиваются этими вариантами выполнения в деталях и компоновках отдельных компонентов, представленных в предшествующем описании или показанных на чертежах. Например, аспекты, описанные в одном варианте выполнения, могут быть скомбинированы любым способом с аспектами, описанными в других вариантах выполнения.
Также изобретение может быть воплощено как способ, пример которого был представлен. Для действий, выполняемых как часть способа, может быть установлен любой соответствующий порядок. В соответствии с этим могут быть построены варианты выполнения, в которых действия выполняют в порядке, отличающимся от представленного, которые могут включать в себя выполнение некоторых действий одновременно, даже если они показаны как последовательные действия в иллюстративных вариантах выполнения.
Использование порядковых терминов, таких как "первый", "второй", "третий" и т.д., в формуле изобретения для модификации элемента формулы изобретения, само по себе, не подразумевает какой-либо приоритет, предшествование или порядок одного элемента пункта формулы изобретения над другим, или временной порядок, в котором выполняют действия способа, но используются исключительно как метки для отличия одного элемента пункта формулы изобретения, имеющего определенное название, от другого элемента, имеющего такое же название (но для использования обычного термина), для отличия элементов пункта формулы изобретения.
Также фразы и термины, используемые здесь, представлены с целью описания и их не следует рассматривать как ограничение. При этом подразумевается, что использование таких терминов как "включающий в себя", "содержащий" или "имеющий", "вмещающий", "вовлекающий" и их вариантов, должно охватывать элементы, представленные после этого, и их эквиваленты, а также дополнительные элементы.