Способ конфигурирования канала по протоколу управления логическими каналами и адаптации спецификации bluetooth

Иллюстрации

Показать все

Изобретение относится к системам беспроводной связи. Технический результат заключается в упрощении конфигурирования канала. Способ предоставляет узлу возможность определять, насколько он участвует в процессе создания подключения канала по протоколу управления логическими каналами и адаптации (ПУЛКА) и управления им. Существуют три уровня участия, которые может определять узел. Этими тремя уровнями являются: отсутствие участия вообще, минимальное участие и полное участие. При отсутствии участия канал сбрасывается, если удаленный узел не согласен со всеми определенными узлом параметрами. При минимальном участии канал сбрасывается, если удаленный узел не согласен со всеми определенными узлом параметрами, и узел уведомляется, когда соединение было разъединено посредством удаленного разъединения или из-за потери канала связи интерфейса контроллера хоста (ИКХ). На уровне полного участия узел полностью участвует в создании/конфигурировании канала. Узел обеспечивает указатель функции, который вызывают для подтверждения или отклонения параметров. Если параметр недопустим, то соединение разъединяют. 4 н. и 27 з.п. ф-лы, 6 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

Это изобретение относится в общем случае к связи между устройствами, поддерживающими спецификацию Bluetooth, а более конкретно, относится к конфигурированию канала по протоколу управления логическими каналами и адаптации.

УРОВЕНЬ ТЕХНИКИ

Сегодня на рынке существует значительное количество беспроводных технологий. Один из стандартов для беспроводной технологии ближнего действия называют Bluetooth («Голубой зуб»). Bluetooth является радиочастотной (РЧ) спецификацией для передачи на короткие расстояния речи и данных точка-мультиточка. Сигналы по спецификации Bluetooth могут передаваться через твердые неметаллические объекты. Номинальная дальность линии связи - от 10 см до 10 м, но это расстояние может быть увеличено до 100 м при увеличении мощности передачи. Эта спецификация основана на дешевом канале радиосвязи ближнего действия, и она облегчает специальные соединения в среде стационарной и мобильной связи.

Беспроводная технология Bluetooth позволяет пользователям осуществлять соединения между устройствами связи, такими как мобильные телефоны и настольные и портативные компьютеры. Поиск и осуществление связи с услугами в таких средах становится все более и более важным из-за постоянного развития беспроводных технологий, что можно заметить по быстрому увеличению количества мобильных вычислительных устройств, а также из-за объединения беспроводных технологий и компьютерных технологий. Эти услуги могут включать в себя основные услуги, такие как печать, отправление по факсу, пейджинг и т.д., более сложные услуги, такие как видео конференц-связь и организация телеконференций, и любой другой тип услуги, которую может обеспечить поставщик услуг.

Консорциум по технологии Bluetooth определяет протоколы, которые гарантируют взаимодействие между различными устройствами. Одним из таких протоколов является протокол управления логическими каналами и адаптации (ПУЛКА, L2CAP). ПУЛКА дает возможность многочисленным протоколам и приложениям сосуществовать в одном РЧ соединении по спецификации Bluetooth. ПУЛКА обеспечивает услуги по передаче данных, ориентированные на соединение и без установления соединения, к протоколам более высокого уровня с помощью возможности мультиплексирования протоколов, операции сегментирования пакетов и их повторной сборки и передачи информации о качестве обслуживания.

Конфигурирование канала ПУЛКА приводит к итерационному процессу согласования между двумя пользователями сети ПУЛКА, который является весьма громоздким и подвержен ошибкам. Процесс согласования начинается, когда один из пользователей сети посылает запрос на конфигурирование другому пользователю сети. Запрос на конфигурирование содержит требуемые значения параметров соединения запрашивающего пользователя сети. Принимающий пользователь сети отвечает на запрос на конфигурирование ответом на конфигурирование. Ответ сообщает запрашивающему пользователю сети, с какими параметрами настройки согласны, а какие параметры настройки были отклонены. Если значение параметра было отклонено, то ответ включает в себя то значение параметра, с которым согласится принимающий пользователь сети. Запрашивающий пользователь сети определяет, с какими параметрами настройки принимающий пользователь сети согласился, а какие отклонил. Запрашивающий пользователь сети посылает другой запрос на конфигурирование со своим выбором значений параметров настройки, по которым не пришли к соглашению. Этот процесс конфигурирования продолжается до тех пор, пока или не будут согласованы все значения параметров настройки, или пока один из пользователей сети не сбросит канал.

Когда канал установлен, любой пользователь сети может реконфигурировать канал. Для этого требуется, чтобы пользователи сети прекратили отправлять данные (т.е. прекратили считывать и записывать) и повторно согласовали параметры настройки канала, используя тот же самый процесс, который используется при конфигурировании канала. Процессы конфигурирования и реконфигурирования требуют, чтобы пользователь сети отслеживал состояние канала, обрабатывал ошибки и управлял итерационными согласованиями. В результате, сложность каждого узла (например, приложения, объекта, модуля и т.д.), который использует канал ПУЛКА, увеличивается из-за усложнения кода и уменьшения надежности узла.

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

Настоящее изобретение упрощает процесс конфигурирования канала ПУЛКА, давая возможность узлу определить, насколько он участвует в процессе создания соединения и управления каналом ПУЛКА с удаленным устройством. Существуют три уровня участия, которые узел может определить. Этими тремя уровнями являются: отсутствие участия вообще, минимальное участие и полное участие. Канал ПУЛКА осуществляется в соответствии с выбранным уровнем участия.

На каждом уровне узел может установить определенные параметры, которые приводят к установлению соединения или не приводят, в зависимости от соответствующих ожиданий узла. На уровне отсутствия участия узел может определять приемлемый минимальный и максимальный блок передачи данных, минимальное и максимальное время ожидания до сброса, качество предоставляемых услуг передачи данных (качество обслуживания) (КО, QOS) и время простоя канала связи. Если удаленный узел отказывается от соединения ПУЛКА из-за какого-нибудь другого конфигурационного параметра или определяет КО в запросе на конфигурирование, то соединение ПУЛКА завершается. Канал ПУЛКА также завершается, если удаленный узел пытается реконфигурировать канал ПУЛКА.

На уровне минимального участия узел определяет те же самые параметры, как на уровне отсутствия участия. Канал ПУЛКА завершается по тем же самым причинам, как на уровне отсутствия участия. Узел обеспечивает указатель функции, который вызывается при разъединении или из-за удаленного постепенного разъединения или при внезапной потере канала связи интерфейса контроллера хоста. Канал ПУЛКА завершается, если запрос на конфигурирование от удаленного узла принимается после того, как канал ПУЛКА был открыт.

На уровне полного участия узел определяет те же самые параметры, как на уровне отсутствия участия, и любые дополнительные параметры, которые необходимы узлу. Узел обеспечивает указатель функции, который вызывают во время этапа конфигурирования для подтверждения или отклонения конфигурационных параметров на различных этапах. Запрос реконфигурирования от удаленного узла принимается, и узел участвует через указатель функции в процессе реконфигурирования. Указатель функции узла вызывают, когда или ответ на конфигурирование, или удаленный запрос на конфигурирование содержат параметр КО и/или заказные параметры. Если в какой-нибудь момент времени конфигурационные параметры оказываются недопустимыми (неприемлемыми), то узел возвращает код неисправности, и соединение заканчивается.

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

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

Хотя прилагаемая формула изобретения конкретно формулирует признаки настоящего изобретения, данное изобретение, вместе с его задачами и преимуществами, может быть лучше всего понято из последующего подробного описания, рассматриваемого вместе с сопроводительными чертежами, на которых:

фиг. 1 - структурная схема, в общем виде иллюстрирующая типичную компьютерную систему, в которой применяется настоящее изобретение;

фиг. 2 - структурная схема стека протокола спецификации Bluetooth, в котором работает настоящее изобретение;

фиг. 3 - последовательность операций, иллюстрирующая процесс соединения и создания канала ПУЛКА;

фиг. 4a - первая часть последовательности операций, иллюстрирующей способ осуществления процесса, предоставляющего драйверу возможность участвовать в создании и управлении каналом ПУЛКА на выбранном уровне участия;

фиг. 4b - вторая часть последовательности операций, иллюстрирующей способ осуществления процесса, предоставляющего драйверу возможность участвовать в создании и управлении каналом ПУЛКА на выбранном уровне участия; и

фиг. 4c - остающаяся часть последовательности операций, иллюстрирующей способ осуществления процесса, предоставляющего драйверу возможность участвовать в создании и управлении каналом ПУЛКА на выбранном уровне участия.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

Как предварительно указано, процесс соединения и конфигурирования канала по протоколу управления логическими каналами и адаптацией (ПУЛКА) приводит к итерационному процессу согласования между двумя объектами ПУЛКА, который является весьма громоздким и подвержен ошибкам. Настоящее изобретение упрощает процесс соединения и конфигурирования ПУЛКА, давая возможность драйверу/устройству запрашивать и получать только то соединение, которое требуется, так что сложные согласования минимизируются или устраняются. Это упрощает код, необходимый для того, чтобы разработчики внедряли возможности Bluetooth в драйвер / устройство, и уменьшает вероятность появления ошибок.

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

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

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

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

Обращаясь к фиг. 1, примерная система осуществления изобретения включает в себя универсальное вычислительное устройство в виде компьютера 110. Компоненты компьютера 110 могут включать в себя процессор 120, системную память 130 и системную шину 121, которая соединяет различные системные компоненты, которые включают в себя системную память, с процессором 120, но не ограничены ими. Системная шина 121 может быть любой из нескольких типов шинных структур, которые включают в себя шину памяти или контроллер памяти, периферийную шину и локальную шину, которые используют любую из разнообразия шинных архитектур. Для примера, а не в качестве ограничения, такая архитектура включает в себя шину архитектуры промышленного стандарта (ISA), шину микроканальной архитектуры (MCA), шину расширенной стандартной архитектуры для промышленного применения (EISA), локальную шину Ассоциации по стандартам в области видеоэлектроники (VESA) и шину соединения периферийных устройств (PCI), также известную как шина расширения.

Компьютер 110 обычно включает в себя разнообразие считываемых компьютером носителей информации. Считываемые компьютером носители информации могут быть любыми доступными носителями информации, к которым может обращаться компьютер 110, и они включают в себя и энергозависимые, и энергонезависимые носители информации, съемные и несъемные носители информации. Для примера, а не в качестве ограничения, считываемые компьютером носители информации могут содержать компьютерные носители информации и средства связи. Компьютерные носители информации включают в себя и энергозависимые, и энергонезависимые, съемные и несъемные носители информации, воплощенные с помощью любого способа или технологии хранения информации, такой как считываемые компьютером команды, структуры данных, модули программ или другие данные. Компьютерные носители информации включают в себя оперативную память (ОП), постоянное запоминающее устройство (ПЗУ), стираемое программируемое постоянное запоминающее устройство (СППЗУ), флэш-память или память другой технологии, компакт-диск (CD-ROM), цифровые многофункциональные диски (DVD) или другое запоминающее устройство на оптическом диске, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитном диске или другие магнитные запоминающие устройства или любой другой носитель информации, который может использоваться для хранения требуемой информации и к которому может обращаться компьютер 110, но не ограничены ими. Средства связи обычно воплощают считываемые компьютером команды, структуры данных, модули программ или другие данные в модулируемом сигнале данных, таком как несущая, или используют другой механизм транспортировки и включают в себя любые средства доставки информации. Термин «модулированный сигнал данных» означает сигнал, который имеет одну или несколько из своих характеристик, которые устанавливаются или изменяются таким образом, чтобы кодировать информацию в сигнале. Для примера, а не в качестве ограничения, средства связи включают в себя проводные каналы связи, такие как проводные сети или прямое проводное соединение, и беспроводные каналы связи, такие как акустические, радиочастотные (РЧ), инфракрасные и другие беспроводные каналы связи. Считываемые компьютером носители информации могут также включать в себя комбинации любого из вышеперечисленных носителей информации и средств связи.

Системная память 130 включает в себя компьютерные носители информации в виде энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ) 131 и оперативная память (ОП) 132. Базовая система 133 ввода-вывода (BIOS), которая содержит основные подпрограммы, которые помогают перемещать информацию между элементами в пределах компьютера 110, например, во время запуска, обычно хранится в ПЗУ 131. ОП 132 обычно содержит данные и/или модули программ, которые мгновенно доступны для обработки и/или в данный момент обрабатываются процессором 120. Для примера, а не в качестве ограничения, фиг. 1 показывает операционную систему 134, прикладные программы 135, другие модули 136 программ и данные 137 программ.

Компьютер 110 может также включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители информации. Только для примера, фиг. 1 показывает накопитель 141 на жестком диске, который считывает информацию или записывает информацию на несъемный энергонезависимый магнитный носитель информации, накопитель 151 на магнитном диске, который считывает информацию или записывает информацию на съемный энергонезависимый магнитный диск 152, и привод 155 оптического диска, который считывает информацию или записывает информацию на съемный энергонезависимый оптический диск 156, такой как компакт-диск или другой оптический носитель информации. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители информации, которые могут использоваться в обычной рабочей среде, включают в себя кассеты с магнитной лентой, платы флэш-памяти, цифровые многофункциональные диски, цифровую видеоленту, полупроводниковую ОП, полупроводниковое ПЗУ и т.п., но не ограничены ими. Накопитель 141 на жестком диске обычно подключается к системной шине 121 через интерфейс (средство сопряжения) с несъемным запоминающим устройством, например через средство 140 сопряжения, а накопитель 151 на магнитном диске и привод 155 оптического диска обычно подключаются к системной шине 121 через средство сопряжения со съемным запоминающим устройством, например через средство 150 сопряжения.

Накопители и связанные с ними компьютерные носители информации, обсуждаемые выше и показанные на фиг. 1, обеспечивают хранение считываемых компьютером команд, структур данных, модулей программ и других данных для компьютера 110. На фиг. 1, например, накопитель 141 на жестком диске показан в качестве устройства хранения операционной системы 144, прикладных программ 145, других модулей 146 программ и данных 147 программ. Следует обратить внимание, что эти компоненты могут быть теми же самыми или отличаться от операционной системы 134, прикладных программ 135, других модулей 136 программ и данных 137 программ. Операционной системе 144, прикладным программам 145, другим модулям 146 программ и данным 147 программ присвоены другие номера для того, чтобы показать, что они, как минимум, являются различными копиями. Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода данных, такие как клавиатура 162 и устройство 161 позиционирования, обычно называемое «мышь», шаровой манипулятор («трекбол») или сенсорная панель. Другие устройства ввода данных (не показаны) могут включать в себя микрофон, джойстик, игровую клавиатуру, спутниковую антенну, сканер или подобные им устройства. Эти и другие устройства ввода данных часто подключаются к процессору 120 через пользовательский входной интерфейс 160, который соединен с системной шиной, но могут быть соединены через другой интерфейс и шинные структуры, такие как параллельный порт, игровой порт или универсальная последовательная шина (УПШ, USB). Монитор 191 или другой тип устройства отображения также связан с системной шиной 121 через интерфейс, такой как видео интерфейс 190. В дополнение к монитору компьютеры могут также включать в себя другие периферийные устройства вывода, такие как динамики 197 и принтер 196, которые могут быть связаны через средство 195 сопряжения с периферийными устройствами вывода информации.

Компьютер 110 может работать в сетевой среде, используя логические соединения к одному или нескольким удаленным компьютерам, таким как удаленный компьютер 180. Удаленный компьютер 180 может быть другим персональным компьютером, сервером, маршрутизатором, сетевым ПК, пользовательским устройством сети или другим обычным сетевым узлом, и обычно включает в себя многие или все элементы, описанные выше относительно персонального компьютера 110, хотя только запоминающее устройство 181 было показано на фиг. 1. Логические соединения, изображенные на фиг. 1, включают в себя локальную сеть (ЛС) 171 и глобальную сеть (ГС) 173, но могут также включать в себя другие сети. Такие сетевые среды обычны в офисах, компьютерных сетях в масштабах предприятия, корпоративных сетях (интранет) и Интернет.

При работе в среде с сетями ЛС персональный компьютер 110 связан с ЛС 171 через сетевой интерфейс или адаптер 170. При работе в среде с сетями ГС компьютер 110 обычно включает в себя модем 172 или другие средства для установления связи через ГС 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может быть связан с системной шиной 121 через пользовательский входной интерфейс 160 или другой соответствующий механизм. В сетевой среде модули программ, изображенные относительно персонального компьютера 110, или его частей, могут храниться в удаленном запоминающем устройстве. Для примера, а не в качестве ограничения, фиг. 1 показывает удаленные прикладные программы 185, как постоянно находящиеся в запоминающем устройстве 181. Следует признать, что показанные сетевые соединения являются примером, и что могут использоваться другие средства установления связи между компьютерами.

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

Фиг. 2 показывает взаимосвязь некоторых из компонентов, которые составляют стек протокола Bluetooth, и компонентов настоящего изобретения. Стек протокола включает в себя уровень 202 ПУЛКА, уровень 204 интерфейса контроллера хоста (ИКХ, HCI), полосу частот 206 модулирующих сигналов, менеджер 208 канала связи, радио-уровень 210, уровень 212 протокола обнаружения услуг (ПОУ, SDP) и уровень 214 протокола эмуляции последовательного порта (RFCOMM). Стек протокола также включает в себя другие узлы, которые могут выполняться на ПУЛКА. Например, узлы могут включать в себя устройство 216 интерфейса с пользователем, персональную локальную сеть 218, принтеры и т.п. Приложение 220 связывается с другими приложениями через стек протокола Bluetooth. ПУЛКА 202 обеспечивает ориентированные на соединение и осуществляемые без установления соединения услуги по передаче данных к протоколам более высокого уровня с помощью возможности мультиплексирования протоколов, операций сегментирования пакета и его повторной сборки и передачи информации о качестве обслуживания. Уровень 204 ИКХ является обычным интерфейсом, который используется между радио-модулем и хостом. Следует обратить внимание, что уровень 204 ИКХ не имеет полномочий спецификации Bluetooth и используется только тогда, когда радио-модуль (т.е. радио-уровень 210, полоса 206 частот модулирующих сигналов и протокол управления канала связи (ПУКС, LMP) 208) и хост (т.е. ПУЛКА 202, ПОУ (SDP) 212 и RFCOMM 214) воплощаются отдельно.

Полоса 206 частот модулирующих сигналов передает данные и управляющие сообщения между уровнем 204 ИКХ и радио-уровнем 210. Менеджер 208 канала связи управляет полосой 206 частот модулирующих сигналов. Радио-уровень 210 передает и принимает биты в соответствии с командами шаблона и частоты, принятыми от уровня полосы частот модулирующих сигналов. ПОУ (SDP) 212 является протоколом извещения и обнаружения услуг. RFCOMM 214 обеспечивает эмуляцию двухточечного стандартного интерфейса последовательной передачи данных RS-232 для поддержки традиционных приложений.

Обращаясь теперь к фиг. 3, там показаны этапы соединения и конфигурирования канала ПУЛКА. Чтобы установить соединение для узла, посылают запрос на соединение (этап 300). Считается, что узел означает любой протокол, объект, модуль и т.д., который выполняется по ПУЛКА 202 и инициирует запрос на соединение. Принимается ответ на соединение (этап 302). Ответ на соединение обеспечивает информацию для определения того, произошло ли соединение успешно (этап 304), находится ли оно в ожидании (этап 306) или в соединении отказано (этап 308). Если соединение находится в ожидании, то клиент ждет, пока соединение произойдет успешно. Чтобы установить соединение на удаленном узле (например, узле, который является получателем запроса на соединение), удаленный узел ждет запроса на соединение и посылает назад ответ на соединение для того, чтобы сообщить узлу, произошло ли соединение успешно, находится ли оно в ожидании или в соединении отказано.

Если соединение прошло успешно, то диапазон приемлемых значений параметров принимается от узла (этап 310). Следует обратить внимание, что значения параметров могут приниматься до того, как посылают запрос на соединение. Значения параметров могут включать в себя приемлемый минимальный и максимальный блок передачи данных, минимальное и максимальное время ожидания до сброса, качество предоставляемых услуг передачи данных (качество обслуживания) (КО) и время простоя канала связи. Данные параметры определяются для входящих данных и исходящих данных. Блок передачи данных определяет объем полезной информации, которую узел способен посылать или принимать. Время ожидания до сброса сообщает удаленному узлу количество времени, в течение которого узел будет пытаться успешно передавать пакет ПУЛКА перед сбросом пакета. Узел может также определять предпочтительное значение в диапазоне приемлемых значений параметра в дополнение к минимальному и максимальному значениям параметра. Например, узел может определять минимальное значение блока передачи данных, равное 100, предпочтительное значение блока передачи данных, равное 672, и максимальное значение блока передачи данных, равное 1000. Уровень ПУЛКА пытается согласовать предпочтительное значение всякий раз, когда это возможно.

Согласование канала ПУЛКА начинается с того, что уровень ПУЛКА 202 посылает удаленному уровню ПУЛКА запрос на конфигурирование (этап 312). Запрос на конфигурирование сообщает удаленному узлу незаданные по умолчанию параметры для запрашиваемой стороны, которые узел примет. Эти параметры включают в себя входящий блок передачи данных для узла, исходящее время ожидания до сброса и исходящее КО, которые узел примет. Уровень ПУЛКА 202 принимает ответ на конфигурирование от удаленного уровня ПУЛКА (этап 314). Ответ на конфигурирование сообщает узлу, с какими значениями параметров удаленный узел согласился, а с какими не согласился. В обычном процессе согласования этапы 312 и 314 повторяются до тех пор, пока уровни ПУЛКА не согласуют все значения. Удаленный запрос на конфигурирование принимается от удаленного уровня ПУЛКА (этап 316). Удаленный запрос на конфигурирование сообщает узлу не заданные по умолчанию параметры для отвечающей стороны, которые удаленный узел примет. Эти параметры включают в себя входящий блок передачи данных удаленного узла, исходящее время ожидания до сброса и исходящее КО, которые удаленный узел примет. Уровень ПУЛКА посылает удаленному уровню ПУЛКА удаленный ответ на конфигурирование (этап 318). Удаленный ответ на конфигурирование сообщает удаленному узлу, с какими значениями параметров узел согласился, а с какими не согласился. Как правило, этапы 316 и 318 повторяются до тех пор, пока уровни ПУЛКА не согласуют все значения. Следует обратить внимание, что удаленный запрос на конфигурирование может приниматься до того, как послан запрос на конфигурирование.

Как только канал ПУЛКА сконфигурирован, канал ПУЛКА становится открытым (этап 320). Данные считываются и записываются. Канал ПУЛКА разъединяется (этап 322), когда происходит потеря канала связи ИКХ, когда удаленный узел разъединяет канал ПУЛКА или когда узел разъединяет канал ПУЛКА.

Настоящее изобретение позволяет узлу определять, насколько он участвует в конфигурировании и управлении каналом ПУЛКА. Узел сообщает уровню ПУЛКА 202 тот уровень (степень) участия, который требуется узлу. Существуют три уровня участия, которые узел может определить. Этими тремя уровнями являются отсутствие участия вообще, минимальное участие и полное участие.

Обращаясь теперь к фиг. 4a-c, уровень ПУЛКА определяет уровень участия, который выбрал узел (этап 400). Если узел не выбрал полное участие (этап 402) или минимальное участие (этап 404), то был выбран уровень отсутствия участия.

Если узел выбрал уровень отсутствия участия, происходят следующие действия. Если удаленный узел отказался от параметра конфигурирования (этап 406), то канал ПУЛКА сбрасывается (этап 408). Если удаленный узел определил КО (этап 410), канал ПУЛКА сбрасывается (этап 412). Если удаленный узел посылает запрос на конфигурирование после того, как канал ПУЛКА был открыт (этап 414) (например, запрос на реконфигурирование), то канал сбрасывается (этап 416). Если удаленный узел согласился со всеми параметрами, то канал ПУЛКА открывается.

Если узел выбрал минимальное участие (этап 404), то узел доставляет уровню ПУЛКА 202 указатель функции (этап 418). Указатель функции используется для уведомления узла о том, что соединение было разъединено или из-за удаленного разъединения, или из-за потери канала связи ИКХ. Канал ПУЛКА сбрасывается по тем же самым причинам, как на уровне отсутствия участия, которые показаны дублированием этапов 406-416 в ветви минимального участия. Если канал ПУЛКА был разъединен удаленным узлом (этап 420) или был разъединен в результате потери канала связи ИКХ (этап 422), то вызывают указатель функции (этап 424).

Если узел выбрал полное участие (этап 402), то узел доставляет уровню ПУЛКА 202 указатель функции (этап 426). Указатель функции используется как механизм обратного вызова для уведомления узла об асинхронных событиях, относящихся к соединению или попытке установить соединение. Указатель функции доставляет признаки для определения события. Эти признаки включают в себя признак добавления ссылки, признак освобождения ссылки, признак удаленного соединения, признак удаленного разъединения, признак удаленного запроса на конфигурирование, признак удаленного ответа на конфигурирование, признак освобождения дополнительной опции и признак приема пакета.

Признак добавления ссылки посылают для уведомления узла о том, что соединение ПУЛКА было установлено, таким образом узел может добавить ссылку к объекту соединения, которая представляет данное соединение. Признак освобождения ссылки посылают для уведомления узла о том, что уровень ПУЛКА 202 освободил все свои ссылки для соединения, таким образом узел может освободить свой объект соединения, если никакие другие ссылки от других узлов не остаются на объекте. Признак удаленного соединения посылают, когда удаленный узел пытается устанавливать соединение ПУЛКА. Признак удаленного разъединения посылают, когда удаленный узел запросил разъединение. Признак удаленного запроса на конфигурирование посылают, если уровень ПУЛКА 202 столкнулся с неизвестной опцией, так что узел будет инструктировать уровень ПУЛКА, как ответить на неизвестную опцию. Признак удаленного ответа на конфигурирование посылают, если уровень ПУЛКА 202 принял ответ, и он не знает, какой параметр находится в ответе, таким образом узел будет инструктировать, как уровню ПУЛКА 202 следует отвечать. Признак освобождения дополнительной опции посылают для того, чтобы запросить узел освободить ресурсы для дополнительной опции, если узел уже использовал дополнительную опцию (например, заказной параметр), который больше не является необходимым, и уровень ПУЛКА 202 не знает, как освободить ресурсы для дополнительной опции. Признак приема пакета посылают, если в канале ПУЛКА принимаются данные, для которых нет задержки чтения.

Узел определяет те же самые параметры, как на уровне отсутствия участия, и любые дополнительные параметры, которые узел хочет. Если удаленный узел отказался от параметра (этап 428), то вызывают указатель функции для подтверждения того, что удаленный узел изменил параметр или отклонил изменение параметра (этап 430). Если узел отклонил изменение параметра, то канал ПУЛКА сбрасывается (этап 434). Если удаленный узел определил КО (этап 436), то вызывают указатель функции (этап 438) для подтверждения или отклонения КО. Если узел отклонил КО (этап 440), то канал ПУЛКА сбрасывается (этап 442). Если обнаружена неизвестная опция (например, заказной параметр) (этап 444), то вызывают указатель функции (этап 446) для получения команды от узла о том, как ответить на неизвестную опцию. Если узел отклонил неизвестную опцию (этап 448), то канал ПУЛКА сбрасывается (этап 450).

Если удаленный узел посылает запрос на реконфигурирование (этап 452), то запрос на реконфигурирование принимается, и процесс, показанный на фиг. 3 и 4, повторяется. Если канал ПУЛКА был разъединен удаленным узлом (этап 454) или был разъединен в результате потери канала связи ИКХ (этап 456), то вызывают указатель функции (этап 458). Если в какой-либо момент времени параметры выбора конфигурирования являются недопустимыми (неприемлемыми) для узла, то узел возвращает код неисправности, и соединение разъединяется.

Была описана методика упрощения процесса конфигурирования канала ПУЛКА для узла. Данный способ дает возможность узлу определить, насколько он участвует в создании соединения канала ПУЛКА и в процессе управления. Сложность узла упрощается, если узел выбирает отсутствие участия в процессе конфигурирования. Это позволяет разработчикам более легко включать в устройства совместимость с Bluetooth. Ввиду многих возможных вариантов осуществления, к которым могут применяться принципы данного изобретения, следует признать, что описанные относительно чертежей варианты осуществления предназначены только для иллюстративных целей и не должны использоваться в качестве ограничения объема изобретения. Например, специалисты в данной области техники должны признать, что показанные в программном обеспечении элементы иллюстрированных вариантов осуществления могут быть осуществлены в аппаратных средствах, и наоборот, или что иллюстрированные варианты осуществления могут изменяться в расположении и деталях, не отступая от сущности изобретения. Поэтому описанное изобретение рассматривает все подобные варианты осуществления, как находящиеся в пределах объема следующей формулы изобретения и как его эквиваленты.

1. Способ осуществления канала по протоколу управления логическими каналами и адаптации (ПУЛКА) (L2CAP) для узла, заключающийся в том, что

посылают запрос на конфигурирование, имеющий параметры, в удаленный узел,

принимают удаленный запрос на конфигурирование от удаленного узла,

задают, по меньшей мере, один уровень из следующих уровней: уровень отсутствия участия, уровень минимального участия или уровень полного участия для осуществления по выбору канала ПУЛКА (L2CAP) в ответ на изменения в параметрах канала, причем уровень участия основан, по меньшей мере, частично на ожидаемом объеме передачи данных, которая будет происходить,

определяют, какой уровень участия узел задал д