Способ конфигурирования канала по протоколу управления логическими каналами и адаптации спецификации 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) в ответ на изменения в параметрах канала, причем уровень участия основан, по меньшей мере, частично на ожидаемом объеме передачи данных, которая будет происходить,

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

осуществляют канал ПУЛКА (L2CAP) в соответствии с: отсутствием участия, минимальным участием или полным участием.

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

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

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

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

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

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

6. Способ по п.2, отличающийся тем, что дополнительно

принимают указатель функции, если узел задал минимальное участие,

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

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

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

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

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

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

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

если узел задал полное участие, то принимают указатель функции от узла,

если удаленный узел изменил, по меньшей мере, один из параметров, то

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

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

10. Способ по п.9, отличающийся тем, что при приеме параметров для входящих запросов или исходящих запросов от узла

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

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

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

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

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

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

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

посылки запроса на конфигурирование,

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

определения, какое участие задал узел для осуществления канала ПУЛКА (L2CAP): отсутствие участия, минимальное участие или полное участие,

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

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

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

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

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

открытия канала ПУЛКА (L2CAP), если удаленный узел согласился с параметрами.

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

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

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

17. Считываемый компьютером носитель по п.15, отличающийся тем, что дополнительно содержит выполняемые компьютером команды, предназначенные для

если узел задал отсутствие участия:

сброса канала ПУЛКА (L2CAP), если удаленный узел изменил запрос на конфигурирование в ответе на конфигурирование,

сброса канала ПУЛКА (L2CAP), если удаленный узел посылает удаленный запрос на конфигурирование для реконфигурирования канала ПУЛКА (L2CAP), и

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

18. Считываемый компьютером носитель информации по п.15, отличающийся тем, что дополнительно содержит выполняемые компьютером команды, предназначенные для

если узел задал минимальное участие:

приема указателя функции и

вызова указателя функции с признаком удаленного разъединения, если соединение ПУЛКА (L2CAP) было разъединено.

19. Считываемый компьютером носитель информации по п.18, отличающийся тем, что дополнительно содержит выполняемые компьютером команды, предназначенные для

если узел задал минимальное участие:

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

сброса канала ПУЛКА (L2CAP), если удаленный узел посылает удаленный запрос на конфигурирование для реконфигурирования канала ПУЛКА (L2CAP), и

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

20. Считываемый компьютером носитель информации по п.15, отличающийся тем, что дополнительно содержит выполняемые компьютером команды, предназначенные для

если узел задал полное участие:

приема указателя функции,

если удаленный узел сделал изменение, по меньшей мере, одного из параметров:

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

открытия канала ПУЛКА (L2CAP), если узел согласился с изменением, по меньшей мере, одного из параметров.

21. Считываемый компьютером носитель информации по п.15, отличающийся тем, что дополнительно содержит выполняемые компьютером команды, предназначенные для

если узел задал полное участие:

приема указателя функции,

если удаленный узел послал новый удаленный запрос на конфигурирование после того, как канал ПУЛКА (L2CAP) был открыт:

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

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

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

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

22. Считываемый компьютером носитель информации по п.21, отличающийся тем, что дополнительно содержит выполняемые компьютером команды, предназначенные для

разъединения канала ПУЛКА (L2CAP), если один из параметров неприемлем для узла.

23. Считываемый компьютером носитель информации по п.15, отличающийся тем, что дополнительно содержит выполняемые компьютером команды, предназначенные для

если узел задал полное участие:

приема указателя функции, и

вызова указателя функции с признаком удаленного разъединения, если произошло одно из: соединение ПУЛКА (L2CAP) было разъединено или канал связи интерфейса контроллера хоста (ИКХ) был потерян.

24. Считываемый компьютером носитель информации по п.15, отличающийся тем, что дополнительно содержит выполняемые компьютером команды, предназначенные для

если узел задал полное участие:

приема указателя функции,

если заказной параметр был принят:

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

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

сброса канала ПУЛКА (L2CAP), если заказной параметр отклонен, и

согласования заказного параметра, если заказной параметр нужно согласовать.

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

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

признак свободных дополнительных опций для информирования драйвера клиента об освобождении ресурсов для дополнительных опций,

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

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

26. Способ по п.25, отличающийся тем, что признак дополнительно включает в себя

признак удаленного соединения для уведомления драйвера клиента о том, что удаленный узел делает попытку установления соединения ПУЛКА (L2CAP), и

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

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

определения уровня участия для узла, причем уровень участия основан, по меньшей мере, частично на ожидаемом объеме передачи данных, которая будет происходить,

задания диапазона приемлемых параметров соединения, приема диапазона приемлемых параметров соединения от узла, и осуществления канала ПУЛКА (L2CAP) при определении, что

принятые параметры соединения находятся в соответствии с диапазоном приемлемых параметров соединения.

28. Считываемый компьютером носитель информации по п.27, отличающийся тем, что дополнительно содержит выполняемые компьютером команды, предназначенные для

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

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

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

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

29. Считываемый компьютером носитель информации по п.27, отличающийся тем, что дополнительно содержит выполняемые компьютером команды, предназначенные для

приема указателя функции от узла,

вызова указателя функции, если произошло одно из: канал ПУЛКА (L2CAP) был разъединен или канал связи интерфейса контроллера хоста был потерян.

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

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

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

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

если узел задал полное участие:

приема указателя функции от узла,

если удаленный узел изменил, по меньшей мере, один из параметров:

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

открытия канала ПУЛКА (L2CAP), если узел согласился с изменением параметров.

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



 

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

Изобретение относится к способу связывания первой характеристики первого устройства и второй характеристики второго устройства посредством сервера. .

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

Изобретение относится к технике мобильной связи. .

Изобретение относится к способу защитного изолирования сервисов сети Ethernet, в частности к способу реализации виртуальной частной сети (VPN) на Layer 2 Ethernet, который используется поставщиками телекоммуникационных услуг для предоставления сервисов сети Ethernet.

Изобретение относится к системе связи, в частности к коммуникационной системе. .

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

Изобретение относится к области мобильной радиосвязи. .

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

Изобретение относится к электросвязи, в частности к системам передачи данных и к способам оценки качества их функционирования. .

Изобретение относится к терминальной службе обнаружения удаленного приложения

Изобретение относится к представлению приложения удаленной терминальной службой (TS)

Изобретение относится к области сетей передачи данных

Изобретение относится к обнаружению устройств в сетевой среде и для определения взаимосвязи между этими устройствами
Наверх