|
(21), (22) Заявка: 2002131450/09, 22.03.2001
(24) Дата начала отсчета срока действия патента:
22.03.2001
(30) Конвенционный приоритет:
24.04.2000 US 09/556,565
(43) Дата публикации заявки: 10.03.2004
(45) Опубликовано: 10.08.2005
(56) Список документов, цитированных в отчете о поиске:
JP 11355322 А, 24.12.1999. US 5987060 А, 16.11.1999. ЕР 0975123 А, 26.01.2000. RU 98109789 А, 10.04.2000. RU 2107401 G1, 20.03.1998.
(85) Дата перевода заявки PCT на национальную фазу:
25.11.2002
(86) Заявка PCT:
US 01/09064 (22.03.2001)
(87) Публикация PCT:
WO 01/82061 (01.11.2001)
Адрес для переписки:
129010, Москва, ул. Б. Спасская, 25, стр.3, ООО “Юридическая фирма Городисский и Партнеры”, пат.пов. Ю.Д.Кузнецову, рег.№ 595
|
(72) Автор(ы):
МУР Тимоти М. (US), ПЕРЕТЦ Эрвин (US), РЭЙ Кеннет Д. (US)
(73) Патентообладатель(и):
МАЙКРОСОФТ КОРПОРЕЙШН (US)
|
(54) ПРЕДОСТАВЛЕНИЕ УДАЛЕННЫХ УСЛУГ В СООТВЕТСТВИИ СО СПЕЦИФИКАЦИЕЙ ИНТЕРФЕЙСА СЕТЕВОГО ДРАЙВЕРА В БЕСПРОВОДНОЙ РАДИОЧАСТОТНОЙ СРЕДЕ
(57) Реферат:
Изобретение относится к технологии беспроводного интерфейса. Технический результат заключается в том, что изобретение предусматривает способ и компьютерный программный продукт для обеспечения, по РЧ-линии связи, соответствующей спецификации Bluetooth (“Голубой Зуб”), протокола сетевых сообщений, который является шинно-независимым. Это достигается тем, что один такой протокол сетевых сообщений представляет собой протокол управления устройством СИСУ (NDIS). Кроме того, многочисленные продукты программного обеспечения компьютеров, разработанные для работы по схемно-реализованной, т.е. подключаемой к шине, сети, можно также использовать по всей беспроводной сети “Голубой Зуб”. 3 н. и 15 з.п. ф-лы, 3 ил., 1 табл.
Перекрестная ссылка к связанной заявке
Эта заявка относится к заявке США №09/556567 “Соединения беспроводных устройств, соответствующих технологии “Голубой Зуб” в виде модемов или гнезд” (номер дела патентного поверенного 204843), поданной 24 апреля 2000 года (United States application Serial No 09/556567, entitled “Bluetooth Compliant Wireless Device Connections As Modems Or Sockets” (Attorney Docket Number 204843) filed on April 24, 2000), и к заявке США №556568 “Модель драйвера минипорта “Голубой Зуб”” (номер дела патентного поверенного 204858), поданной 24 апреля 2000 года (United States application Serial No. 556568, entitled “Bluetooth MiniPort Driver Model” (Attorney Docket Number 204858) filed on April 24, 2000), обе из которых включены здесь в качестве ссылки во всей своей полноте.
Область техники
Это изобретение относится в целом к технологии беспроводного интерфейса, а более конкретно – к интерфейсу между прикладным программным обеспечением для компьютеров и беспроводными устройствами, работающими в соответствии со спецификацией “Голубой Зуб” (“Bluetooth”).
Предшествующий уровень техники
Для того, чтобы обеспечить наибольшую совместимость между компонентами программного обеспечения и аппаратных средств у компьютерной системы, операционная система компьютера определяет специфические интерфейсы, к которым может быть осуществлен доступ и которые могут использовать программисты компонентов программного обеспечения и должны обеспечивать и поддерживать разработчики компонентов аппаратных средств. Таким образом, при использовании определенного интерфейса гарантируется совместимость компонента программного обеспечения со всеми компонентами аппаратных средств, которые поддерживают интерфейс. Точно так же компонент аппаратных средств, обеспечивающий специфический интерфейс, позволяет гарантировать, что компоненты программного обеспечения будут способны обнаруживать местоположение и получать доступ к функциональным возможностям, предусмотренным компонентом аппаратных средств, через интерфейс.
В общем, компьютеры и другие электронные устройства имеют межсоединения через физические кабели или провода. Эти каналы связи предусматривают обмен данными или управляющей информацией между такими устройствами. Однако в большей степени признано, что определенные преимущества связаны с отказом от применения кабелей и проводов для межсоединений устройств. Преимуществом в этом случае является удобство конфигурации и переконфигурации из-за устранения необходимости физического добавления, удаления или замены физической среды. Кроме того, пространство, которое традиционно использовалось бы для средств межсоединения устройств, можно предоставить для других применений. Более того, увеличивается мобильность устройств за счет использования беспроводных соединений.
В одном способе выполнения беспроводных соединений между устройствами используется оптическое излучение в инфракрасной области электромагнитного спектра для обеспечения связи устройств. Протокол Ассоциации передачи данных в инфракрасном диапазоне (АПДИД (IrDA)) определяет один такой механизм соединения. К сожалению, такой механизм обычно должен действовать на основе способа линии визирования. То есть любое непрозрачное препятствие между передатчиком и приемником мешает правильной работе. Кроме того, ИК-передатчики, входящие в состав устройства связи, обычно не являются всенаправленными, поэтому для правильной работы передатчик должен быть направленным обычно в направлении приемника в пределах некоторого номинального отклонения, например 30 градусов. И, наконец, ИК-передатчики являются обычно устройствами с довольно низкой мощностью передачи, и, соответственно, диапазон ИК-линий связи обычно ограничивается приблизительно одним метром.
Радиочастотные линии связи решают многие из проблем, присущих инфракрасным линиям связи, однако нужна такая схема радиочастотного соединения, посредством которой многочисленные приложения могли бы легко получить доступ к радиолинии через механизм соединения, который обеспечивал бы соответствующий интерфейс. Одним из протоколов, который определяет связь между беспроводными устройствами через радиочастотные линии связи, является спецификация Bluetooth (“Голубой Зуб”). Устройства “Голубой Зуб” не требуют для работы линии визирования друг с другом, и их диапазон может быть значительно шире, чем у ИК-линий связи. Однако один из недостатков спецификации “Голубой Зуб” заключается в том, что очень немного программ для программного обеспечения компьютеров написано для поддержания связи с устройствами, выполненными в соответствии со спецификацией “Голубой Зуб”. Другая трудность, связанная со спецификацией “Голубой Зуб”, состоит в том, что существует очень мало сетевых протоколов более высокого уровня, которые разработаны для работы на РЧ-линии связи в соответствии со спецификацией “Голубой Зуб”.
Сущность изобретения
Настоящее изобретение предусматривает соответственно способ и продукт программного обеспечения компьютеров для обеспечения, по РЧ-линии связи, соответствующей спецификации “Голубой Зуб”, протокола сетевых сообщений, который является шинно-независимым и первоначально разработан для присоединяемых по шине сетевых устройств. Таким образом, многочисленные продукты программного обеспечения компьютеров, разработанные для работы по схемно-реализованной (или присоединяемой по шине) сети, можно также использовать по беспроводной сети “Голубой Зуб”.
Дополнительные признаки и преимущества изобретения будут ясны из следующего подробного описания иллюстративных вариантов осуществления со ссылкой на сопроводительные чертежи.
Краткое описание чертежей
Хотя в прилагаемой формуле изобретения детально изложены особенности настоящего изобретения, изобретение, совместно с его задачами и преимуществами, можно лучше понять из следующего подробного описания, приведенного со ссылкой на сопроводительные чертежи, на которых:
фиг.1 изображает блок-схему, в общем иллюстрирующую образцовую компьютерную систему, согласно настоящему изобретению;
фиг.2 изображает блок-схему, в общем иллюстрирующую сетевую модель с семью уровнями; и
фиг.3 изображает блок-схему, в общем иллюстрирующую модель уровня, которая лежит в основе работы настоящего изобретения.
Подробное описание изобретения
Как показано на чертежах, на которых подобные позиции относятся к подобным элементам, изобретение изображено в виде реализации в подходящей вычислительной среде. Хотя это и не требуется, но изобретение описано в общем контексте команд, таких как программные модули, исполняемых с помощью персонального компьютера. Обычно программные модули включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и так далее, которые выполняют конкретные задачи или реализуют конкретные типы абстрактных данных. Кроме того, специалистам будет ясно, что изобретение можно практически реализовать с помощью других конфигураций компьютерной системы, включая портативные устройства, мультипроцессорные системы, бытовую электронику, основанную на или программируемую с помощью микропроцессоров, сетевые ПК (PC), мини-компьютеры, универсальные компьютеры и тому подобное. Изобретение можно также реализовать на практике в виде распределенных вычислительных сред, где задачи выполняют с помощью удаленных устройств обработки, которые связаны через сеть связи. В распределенной вычислительной среде программные модули могут быть расположены в локальных и удаленных устройствах памяти.
Как показано на фиг.1, образцовая система для осуществления изобретения включает в себя вычислительное устройство общего назначения в виде известного персонального компьютера 20, включающего в себя процессор 21, системную память 22 и системную шину 23, которая соединяет различные системные компоненты, включающие в себя системную память, с процессором 21. Системная шина 23 может быть любым из нескольких типов структур с шинной организацией, включающих в себя шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из множества архитектур с шинной организацией. Системная память включает в себя постоянное запоминающее устройство (ПЗУ (ROM)) 24 и оперативное запоминающее устройство (ОЗУ (RAM)) 25. Базовая система ввода-вывода (БСВВ (БИОС, BIOS)) 26, содержащая основные подпрограммы, которые помогают передавать информацию между элементами внутри персонального компьютера 20, например, во время процедуры запуска, хранится в ПЗУ 24. Персональный компьютер 20 дополнительно включает в себя привод 27 жесткого диска для считывания и записи на жесткий диск 60, привод 28 магнитного диска для считывания и записи на съемный магнитный диск 29 и привод 30 оптического диска для считывания и записи на сменный оптический диск 31, такой как КД-ПЗУ (CD ROM) или другие оптические носители информации.
Привод 27 жесткого диска, привод 28 магнитного диска и привод 30 оптического диска подсоединены соответственно к системной шине 23 с помощью интерфейса 32 привода жесткого диска, интерфейса 33 привода магнитного диска и интерфейса 34 привода оптического диска. Приводы и связанные с ними носители информации, считываемые с помощью компьютера, обеспечивают энергонезависимое хранение команд, считываемых с помощью компьютера, структур данных, программных модулей и других данных для персонального компьютера 20. Хотя в качестве образцовой среды, описанной здесь, используется жесткий диск 60, сменный магнитный диск 29 и сменный оптический диск 31, специалистам ясно, что в образцовой операционной среде можно также использовать и другие типы носителей информации, считываемых с помощью компьютера и позволяющих хранить информацию, доступ к которой осуществляется с помощью компьютера, такие как магнитные кассеты, карточки с флэш-памятью, цифровые видеодиски, картриджи Бернули (Bernoulli), оперативные запоминающие устройства, постоянные запоминающие устройства и подобные.
Ряд программных модулей можно хранить на жестком диске 60, магнитном диске 29, оптическом диске 31, ПЗУ 24 или ОЗУ 25, включающих в себя операционную систему 35, одну или более прикладных программ 36, другие программные модули 37 и данные 38 программы. Пользователь может вводить команды и информацию в персональный компьютер 20 через устройства ввода, такие как клавиатура 40 и указательное устройство 42. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую клавишную панель, спутниковую антенну, сканер или подобное. Эти и другие устройства ввода часто подсоединяются к процессору 21 через интерфейс 46 последовательного порта, который связан с системной шиной, но могут также подсоединяться с помощью других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (УПШ (USB)). Монитор 47 или другой тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. Кроме монитора, персональные компьютеры обычно включают в себя другие периферийные устройства вывода (не показаны), такие как громкоговорители и принтеры.
Персональный компьютер 20 может работать в сетевой среде с использованием логических соединений с одним или более удаленными компьютерами или устройствами, такими как удаленный компьютер 49 или РЧ-устройство 64. Удаленный компьютер 49 может быть другим персональным компьютером, сервером, маршрутизатором, сетевым ПК, одноранговым устройством или другим общим узлом сети и обычно включает в себя многие или все элементы, описанные выше и относящиеся к персональному компьютеру 20, хотя на фиг.1 изображено только устройство 50 памяти. Радиочастотное (РЧ) устройство 64 может быть сотовым телефоном, цифровой камерой, другим персональным компьютером или другим устройством, которое имеет возможность поддерживать связь через РЧ-спектр. Логические соединения, изображенные на фиг.1, включают в себя локальную сеть (ЛС (LAN)) 51, глобальную сеть (ГС (WAN)) 52 и РЧ-соединения 63. Такие сетевые среды являются обычными в учреждениях, корпоративных компьютерных сетях, корпоративных локальных сетях повышенной надежности с ограниченным доступом, использующих сетевые стандарты и сетевые программно-аппаратные средства, аналогичные Интернет (интранет), и Интернете.
Когда персональный компьютер 20 используется в сетевой среде ЛС, он подсоединен к локальной сети 51 через сетевой интерфейс или адаптер 53. Когда персональный компьютер 20 используется в сетевой среде ГС, он обычно включает в себя модем 54 или другие средства для установления связи по ГС 52. Модем 54, который может быть внутренним или внешним, подсоединен к системной шине 23 через интерфейс 46 последовательного порта. Когда персональный компьютер 20 используется совместно с РЧ-соединением 63, он включает в себя РЧ-соединение 62. В сетевой среде программные модули, изображенные по отношению к персональному компьютеру 20 или его частей, можно хранить в удаленном устройстве памяти. Очевидно, что показанные сетевые соединения являются образцовыми, и можно использовать другие средства установления линии связи между компьютерами.
Далее изобретение будет описано со ссылкой на действия и символические представления операций, которые выполняются с помощью одного или более компьютеров, если не оговорено противное. Кроме того, следует понимать, что такие действия и операции, которые периодически упоминаются как выполняемые с помощью компьютера, включают в себя обработку с помощью процессора компьютера электрических сигналов, представляющих собой данные в структурированном виде. Эта обработка предусматривает преобразование данных или поддерживает ее в ячейках, расположенных в системе памяти компьютера, который реконфигурирует или, по-другому, изменяет работу компьютера способом, хорошо известным специалистам. Структуры данных, где поддерживаются данные, представляют собой физические ячейки памяти, которые имеют специфические свойства, определенные форматом данных. Однако хотя изобретение описывается в вышеизложенном контексте, оно не ограничивается этим, так как специалистам ясно, что различные действия и операции, описываемые в дальнейшем, можно также реализовать в виде аппаратных средств.
Согласно изобретению на фиг.2 показана семиуровневая модель взаимодействия открытых систем (ВОС (OSI)). Эта модель является стандартной промышленной абстракцией компьютерной организации сети. Прикладной уровень 100 непосредственно обслуживает конечного пользователя и поддерживает программно-реализованные приложения, с которыми взаимодействует пользователь. Уровень 102 представления обеспечивает механизмы, которые интерпретируют данные, посылаемые с прикладного уровня 100 на одном компьютере на прикладной уровень на другом компьютере. Сеансовый уровень 104 описывает организацию передаваемых данных. Транспортный уровень 106 действует как конечный уровень исправления ошибок для гарантии точной доставки данных в правильной последовательности без потерь или дублирования. Сетевой уровень 108 определяет адресацию и маршрутизацию данных через всю сеть. Он управляет работой локальной подсети и принимает решение относительно того, какой должен быть выбран физический путь для передачи данных, данных условий сети, приоритета услуги и других факторов. Канальный уровень 110 управляет передачей блоков данных или пакетов через всю сеть и выполняет более фундаментальное исправление ошибок. Канальный уровень 110 разделен на два подуровня: подуровень управления логическим соединением (УЛС (LLC)) и подуровень управления доступом к среде (УДС (MAC)). Подуровень УЛС обеспечивает безошибочную передачу кадров данных за счет поддержания логических соединений, управления потоком кадров, упорядочения кадров, подтверждения получения кадров и ретрансляции неподтвержденных кадров. Подуровень УДС управляет доступом к сети, проверяет ошибки кадров и распознавание адреса полученных кадров. Для протоколов, которые включают в себя подуровень УЛС, необходим только минимальный транспортный уровень 106. И, наконец, физический уровень 112 передает сигналы, которые посылают в сетевое соединение 114. В общем, физический уровень 112 реализуется при аппаратном соединении компьютера 20 к сетевому соединению 114.
Спецификация интерфейса сетевого устройства (СИСУ (NDIS)) 116 может находиться между сетевым уровнем 108 и канальным уровнем 110. СИСУ 116 обеспечивает библиотеку интерфейсов между компонентами программного обеспечения и компонентами аппаратных средств. СИСУ 116 позволяет определить совершенно абстрактную среду для проявления драйвера сетевой интерфейсной платы (СИП (NIC)) за счет обеспечения подпрограмм для каждой внешней функции, которую должен выполнить драйвер СИП. Таким образом, СИСУ 116 может обеспечить интерфейсы для связи между драйвером СИП и находящимся выше по уровню драйвером протокола и между драйвером СИП и непосредственно находящимися ниже по уровню аппаратными средствами СИП.
Прикладной уровень 100, уровень 102 представления, сеансовый уровень 104, транспортный уровень 106 и сетевой уровень 108 обычно реализуются в компонентах программного обеспечения, работающих на компьютере. Канальный уровень 110 и физический уровень 112 обычно реализуются с помощью компонентов аппаратных средств, таких как сетевая интерфейсная плата. Библиотеку СИСУ 116 можно использовать с помощью драйвера программного обеспечения, реализованного в транспортном уровне 106 для поддержания связи с драйвером сетевой интерфейсной платы, реализованной на канальном уровне 110. Драйвер транспортного уровня обычно реализует стек сетевого протокола, такой как известный стек протокола управления передачей/Интернет-протокола (ППУ/ИП (TCP/IP)), используемый в Интернет. Если драйвер программного обеспечения транспортного уровня имеет пакет данных, который необходимо передавать, он может вызвать драйвер СИП посредством интерфейса из библиотеки СИСУ 116 и передать вниз по линии связи пакет, который необходимо передавать. Подобным образом драйвер СИП позволяет использовать интерфейс СИСУ 116 для передачи пакета непосредственно в СИП для передачи через всю сеть. Интерфейс СИСУ 116 может вызвать специфические компоненты операционной системы, которые выполняют передачу в СИП. Интерфейсы СИСУ 116 можно также использовать с помощью драйвера СИП для поддержания связи с драйвером программного обеспечения транспортного уровня и передачи вверх по линии связи принятого пакета данных или другой информации.
Одним из примеров физического уровня 112 является беспроводное радиочастотное (РЧ) устройство 64. Все более популярным РЧ-протоколом для беспроводной связи между устройством 64 и компьютером 20 является протокол Bluetooth (“Голубой Зуб”), описанный более подробно в публикации под названием “Спецификация системы “Голубой Зуб”, версия 1.0В, 1 декабря 1999 года (“Specification of the Bluetooth System” Version 1. OB (December 1,1999)), включенной здесь в качестве ссылки во всей своей полноте. Смотри также представление “Беспроводная архитектура Windows” в приложении В, представление “Обзор архитектуры “Голубой Зуб” в приложении С, представление “Опыт работы “Голубой Зуб” в Windows” в приложении D, представление “Стек “Голубой Зуб” в Windows” в приложении Е (“Windows Wireless Architecture” presentation at Appendix B, the “Bluetooth Architecture Overview” presentation at Appendix C, the “Bluetooth Experience in Windows” presentation at Appendix D, and the “Bluetooth Stack in Windows” presentation at Appendix E). Как описано в спецификации на “Голубой Зуб”, управление логической связью и протокол адаптации (L2CAP) дает возможность протоколам более высокого уровня работать по всей РЧ-линии связи, выполненной в соответствии с технологией “Голубой Зуб”. Уровень L2CAP более конкретно описан в публикации “Спецификация системы “Голубой Зуб”, версия 1, 1.0В, часть D, под названием “Управление логической связью и спецификация протокола адаптации” (1 декабря 1999 года) (“Specification of the Bluetooth System” Version 1.0B, Part D entitled “Logical Link Control and Adaptation Protocol Specification” (December 1,1999)), прилагаемой в приложении А и включенной здесь в качестве ссылки во всей своей полноте. Одним таким протоколом электронной почты более высокого уровня является спецификация стандартного интерфейса удаленных сетевых устройств (“адаптеров”) (Удаленная СИСУ), разработанная компанией Майкрософт Корпорэйшн (Microsoft Corporation), которая более подробно описана в совместно поданной заявке, находящейся на рассмотрении, Хайдера и др. №09/302735 под названием “Способ и система для абстрагирования драйверов сетевых устройств”, поданной 30 апреля 1999 года (Serial No. 09/302735, entitled “Method and System for Abstracting Network Device Drivers” by Hyder et al., filed on April 30, 1999) и принадлежащей правопреемнику настоящей заявки, которая включена здесь в качестве ссылки во всей своей полноте. Как описано в заявке, находящейся на рассмотрении, удаленная СИСУ обеспечивает расширяемость без замены на механизмы транспортировки сообщений для шинной организации, которая допускает реализацию с гораздо большим выбором таких транспортных механизмов, реализуемых с помощью физического уровня 112. Удаленная СИСУ также предусматривает архитектуру драйвера, которая проверена для моделей устройств организации сети и внешней шины.
В отсутствие настоящего изобретения, изготовители аппаратных средств требуют записи двух драйверов: драйвер мини-порта СИСУ и драйвер интерфейса шины или сетевого интерфейса. Однако эти два драйвера можно выполнить в виде отдельного драйвера. Первый драйвер, драйвер мини-порта СИСУ, обеспечивает обмен информацией с СИСУ 116 и связь с драйвером интерфейса шины или сетевым интерфейсом через некоторый программный интерфейс приложения ПИП (API), зависящий от поставщика. Драйвер интерфейса шины или сетевого интерфейса является зависимым от шинной или сетевой структуры и поддерживает связь с аппаратными средствами через соответствующий драйвер шины или сетевой драйвер. Драйвер мини-порта СИСУ и драйвер интерфейса шины или сетевого интерфейса поддерживают связь через зависящий от поставщика ПИП, потому что оба драйвера написаны изготовителем сетевого устройства, к которому осуществляется доступ. Поэтому хотя мини-порт СИСУ должен соответствовать ПИП СИСУ для того, чтобы поддерживать связь с уровнем 116 СИСУ, и интерфейс шины или сетевой интерфейс должен быть адаптирован к соответствующему драйверу шины или сетевому драйверу при передаче информации в сетевое устройство, взаимодействие между мини-портом СИСУ и интерфейсом шины или сетевым интерфейсом осуществляется полностью по усмотрению изготовителя аппаратных средств. Когда изготовителям устройства требуется написать два драйвера для каждой части оборудования, спрос на них представляет довольно серьезную проблему. Например, управление абсолютным количеством драйверов является трудным и дорогим как для производителей аппаратных средств, так и для разработчиков операционных систем, которые могут распространять определенные драйверы устройств с их программным обеспечением. Кроме того, так как производители обеспечивают подсоединение к СИСУ и к интерфейсу шины или сетевому интерфейсу, функциональные возможности сети и специфические особенности конкретной шины, по-видимому, должны быть связаны, делая невозможной модернизацию одного без другого. Решение этих проблем сделает возможным более быстрое развертывание дистанционно-подсоединенных сетевых устройств и обеспечит более низкие затраты для развития централизованных драйверов.
Драйвер мини-порта СИСУ и интерфейс шины или сетевой интерфейс, каждый из которых изготавливается производителем аппаратных средств устройства, можно заменить на уровень мини-порта удаленной СИСУ и микропорты с шинной или сетевой спецификой. Уровень минипорта удаленной СИСУ и микропорты с шинной или сетевой спецификой не зависят от конкретного устройства, к которому осуществляется доступ, и поэтому могут быть включены как часть операционной системы. Поэтому производителям аппаратных средств, которые пишут спецификацию удаленной СИСУ, больше не нужно писать централизованные драйверы для своих устройств.
Удаленная СИСУ определяет набор соединительно-агностических или не зависящих от установления соединения сообщений, наряду с описанием того, как набор сообщений работает по конкретному соединению, такому как специфическая шина или сеть. Так как интерфейс удаленной СИСУ стандартизирован, основной набор основных драйверов позволяет поддерживать любое количество прикрепленных сетевых устройств, таким образом повышая стабильность системы и удовлетворенность пользователя, потому что не нужно устанавливать новые драйверы для поддержки нового сетевого устройства. Архитектура удаленной СИСУ включает в себя драйвер мини-порта удаленной СИСУ, который понимает набор сообщений удаленной СИСУ и поддерживает связь с зависимым от шинной или сетевой структуры драйверами микропорта. В частности, уровень мини-порта удаленной СИСУ инкапсулирует идентификаторы объекта (ИО (OID) СИСУ и пакеты данных СИСУ в структуры данных, которые можно передавать без модификации в сетевое устройство. Структуры данных известны как сообщения удаленной СИСУ.
Драйверы микропортов, зависящие от шинной или сетевой структуры, представляют собой промежуточный уровень, который понимает шину или сеть, ответственную за передачу сообщений в устройство. Таким образом, уровень микропорта принимает сообщения удаленной СИСУ и передает их в соответствующий элемент уровня шинного или сетевого драйвера. Уровень шинного или сетевого драйвера затем передает сообщение удаленной СИСУ в удаленные устройства СИСУ.
Так как механизмы протокола сети абстрагированы выше уровня микропорта с шинной или сетевой спецификой, добавление новых функциональных возможностей сети можно выполнить путем изменения только уровня мини-порта удаленной СИСУ. Уровень микропорта остается неизменным, потому что он является просто механизмом транспортировки сообщений, которые передает ИО СИСУ и пакеты данных СИСУ, инкапсулированные в сообщениях удаленной СИСУ. Кроме того, добавление сетевых функциональных возможностей в виде новых ИО СИСУ доступно для всех шинных или сетевых микропортов, так как один уровень мини-порта удаленной СИСУ может обслуживать их всех. Настоящее изобретение также поддерживает обратную совместимость. При добавлении нового ИО СИСУ устройство удаленной СИСУ может ответить, что оно не понимает ИО СИСУ и поэтому не поддерживает новые функциональные возможности сети.
Как показано на фиг.3, один канал L2CAP, такой как канал 160 L2CAP, можно использовать для управляющих обменов сообщениями удаленной СИСУ. Такие управляющие обмены сообщениями могут включать в себя управляющие сообщения, ответы на эти сообщения и сообщения, с помощью которых устройство 162 может показывать изменение состояния. Отдельный канал 150 L2CAP можно использовать для обмена пакета данных удаленной СИСУ. Сообщение данных может иметь длину вплоть до 1500 байтов, которая соответствует приблизительно 20 мс при использовании полной полосы пропускания “Голубого Зуба” и которую можно значительно увеличить, если сообщение данных требует совместного использования полосы пропускания с другим графиком. Поэтому предусмотрен отдельный канал 160 L2CAP для ограничения времени ожидания при передаче управляющих сообщений. Дополнительные каналы L2CAP можно добавить для приспособления многочисленных сетевых каналов, которые могут существовать в устройстве 162.
Как было описано выше со ссылкой на фиг.2, управляющие сообщения посылают непосредственно на уровень 158 управления, показанный на фиг.3, тогда как данные можно сначала принять с помощью уровня 154 управления доступом к среде и затем скрыть для передачи через всю физическую сеть на физическом уровне 156. Для того, чтобы облегчить передачу ответов и сигналов индикации состояния и предусмотреть незамедлительное управление, уровень 158 управления связан непосредственно с уровнем 154 управления доступом к среде и физическим уровнем 156.
Данные сети проходят между хост-компьютером 164 и устройством 162 по каналу 150 L2CAP. Эти данные могут быть инкапсулированы в механизме пакетов СИСУ по модели, уже использованной сетевым стеком СИСУ. Максимальная длина пакетов, которую поддерживает L2CAP, может быть равна максимум MTU (максимальный размер передаваемого блока данных) среды минус размер заголовка RNIDS. Устройство 152 может заполнить значение MaxTransferSize (максимальный размер передачи) в обращении функции СИСУ к самому большому сообщению L2CAP, которое оно может посылать. Если хост-компьютер 164 имеет меньший максимальный размер сообщения L2CAP, то он может переписать возвращенную информацию со своим собственным максимальным размером сообщения. Хост-компьютер 164 или устройство 162 могут начать установку каналов L2CAP управления и данных.
Минимальная запись протокола предоставления услуги (ППУ (SDP)), которую можно использовать для устройства удаленной СИСУ “Голубой Зуб”, представлена в таблице 1. Показано, что устройство удаленного СИСУ использует стандартное описание предоставления услуги. Услуги персональной сети (ПС (PAN)) могут поддерживать связь друг с другом. Возможно, что устройство “Голубой Зуб” будет иметь многочисленные услуги ПС. Например, сотовый телефон может иметь сервер беспроводной ГС, которая предоставляет доступ устройств “Голубой Зуб” к сотовой сети передачи данных. В этом случае названием услуги “ServiceName” может быть “БГС” (“WWAN”) или даже более описательное название. С другой стороны, сотовый телефон может иметь услугу ПС, которая позволяет внутренней услуге ПС поддерживать связь, принадлежащую одному и тому же уровню, между устройствами. В этом случае название услуги “ServiceName” можно установить на “ОДНОРАНГОВЫЙ” (“PEER”). Устройство не должно рекламировать более одного профиля ПС с названием услуги “ServiceName” “ОДНОРАНГОВЫЙ”.
Устройство “Голубой Зуб” удаленной СИСУ позволяет инициировать или принимать два или более каналов L2CAP: канал управления и один или более каналов данных. Сообщения в устройство 162 могут поступать в виде модуля данных протокола (МДП (PDU)) L2CAP. Устройство может посылать сообщение по каналу 160 управления из хост-компьютера 164 и может затем посылать ответ по тому же самому каналу управления. Одним примером такой типичной транзакции для устройства УСИСУ “Голубой Зуб” может быть следующее. Хост-компьютер 164 выдает сообщение ЗАПИСЬ “Голубого Зуба” (Bluetooth WRITE) по каналу управления с содержанием типа ЗапросОчередиСИСУ (NdisQueryRequest). Значение УСИСУ_ИО (RNDIS_OID) ЗапросОчередиСИСУ можно установить на СТАТУС_СОЕДИНЕНИЯ_НОСИТЕЛЕЙИНФОРМАЦИИ_ДЛЯ ВЫРАБОТКИ_ИО (OID_GEN_MEDIA_CONNECT_STATUS). Сразу после приема данных “Голубой Зуб” с помощью устройства 162 оно декодирует ЗапросОчередиСИСУ (NdisQueryRequst) и выполняет действия, необходимые для определения статуса соединения. Когда устройство имеет информацию, которую запрашивает хост-компьютер в сообщении ЗапросОчередиСИСУ, оно выдает ЗАПИСЬ “Голубого Зуба” по каналу 160 управления, состоящего из сообщения ЗапросОчередиСИСУ. В этом случае ЗапросОчередиСИСУ может быть установлен на СТАТУС_СОЕДИНЕНИЯ_НОСИТЕЛЕЙИНФОРМАЦИИ_ДЛЯ ВЫРАБОТКИ_ИО (OID_GEN_MEDIA_CONNECTION_STATUS).
“Голубой Зуб” является одноранговой системой. Кроме того, запись ППУ не определяет различия между хост-компьютером и системой устройства. Поэтому возможно, что микропорт “Голубой Зуб” может работать против себя. Микропорт УСИСУ, действующий только как хост-компьютер, должен инициировать определенные сообщения и только принимать определенные сообщения. Однако, так как микропорт может быть хост-компьютером, устройство, или и тот и другой, может обрабатывать все сообщения, которые может принять хост-компьютер или устройство. Поэтому необходимо, чтобы микропорт реагировал на эти сообщения. Микропорт “Голубой Зуб” может действовать только как микропорт хост-компьютера в случае, когда он подсоединен, например, к сотовому телефону, и как пара хост-компьютер/устройство, когда он подсоединен к другой машине, которая также управляет микропортом. Микропорт должен быть выполнен таким способом, что отсутствовала генерация при обработке сообщений.
Удаленный СИСУ определяет формат для сообщения ПАКЕТ_УДАЛЕННОЙ_СИСУ (REMOTE_NDIS_PACKET), включающего в себя пространство для транспортировки ООВ СИСУ (NDIS ООВ) и в областях информации (поля) о пакете. Файлы с каждой информацией о пакете можно обеспечить с помощью СИСУ, когда удаленный драйвер определяет, что она поддерживает функциональные возможности. Информация 00В может поддерживать конкретные типы среды. Например, для Эзернет (Ethernet) не требуются области с одноранговой эмуляцией. В этом случае не требуется смещение и длина, равная 44 байтам, областей информации о пакетах. Таким образом, для L2CAP MTU Ethernet размером 1514 байта можно иметь MTU (максимальный размер передаваемого блока данных) длиной минимум 1554 байтов и потери, равные приблизительно 3% от ширины полосы пропускания “Голубой Зуб”. Это может стать проблемой для медленных линий связи. Эти параметры можно оптимизировать, если СмещениеДанных (DataOffset) равно 4, предполагая, что остальная часть заголовка Пакет_УСИСУ (RNDIS_PACKET) будет равно нулю (NULL). Можно уменьшить служебные данные до 16 байтов или 1%.
При работе микропорт “Голубой Зуб” можно загрузить тогда, когда устройство “удаленный Голубой Зуб”, которое поддерживает услугу ПС, находится в диапазоне и может поддерживать связь. Загрузка микропорта может вызвать сообщение инициализации, которое будет послано из микропорта. Когда удаленным устройством является, например, сотовый телефон, оно может передать ответ с использованием сообщения о завершении инициализации. Когда удаленным устройством является, например, другая машина Windows, оно может также выработать сообщение об инициализации. Микропорт может также принимать дополнительные сообщения, такие как СООБЩЕНИЕ_ИНИЦИАЛИЗАЦИЯ_УДАЛЕННОЙ_СИСУ, СООБЩЕНИЕ_ЗАПРОС_УДАЛЕННОЙ_СИСУ,
СООБЩЕНИЕ_УСТАНОВКА_УДАЛЕННОЙ_СИСУ,
СООБЩЕНИЕ_СБРОС_УДАЛЕННОЙ_СИСУ и
СООБЩЕНИЕ_ПОДДЕРЖИВАТЬДЕЙСТВУЮЩЕЙ_УДАЛЕННУЮ_СИСУ
(REMOTE_NDIS_INITIALIZE_MSG, REMOTE_NDIS_QUERY_MSG,
REMOTE_NDIS_SET_MSG, REMOTE_NDIS_RESET_MSG и
REMOTE_NDIS_KEEPALIVE_MSG). Эти сообщения описаны более подробно в статье “Удаленная СИСУ сверх спецификации “Голубой Зуб” от 20 марта 2000 года (“Remote NDIS Over Bluetooth Specification”, dated March 20, 2000), прилагаемой в Приложении F.
Все ссылки, цитируемые здесь и включающие в себя патенты, заявки на патент и публикации, включены таким образом в качестве ссылки во всей своей полноте.
Принимая во внимание многочисленные возможные варианты осуществления, к которым можно применить принципы настоящего изобретения, следует понимать, что вариант осуществления, описанный здесь со ссылкой на чертежи, является только иллюстративным и не должен рассматриваться как ограничивающим масштаб изобретения. Например, специалистам ясно, что элементы изображенного варианта осуществления, показанного в виде программного обеспечения, можно реализовать в виде аппаратных средствах и наоборот или что изображенный вариант осуществления можно модифицировать по размещению и деталям без отклонения сущности изобретения. Поэтому изобретение, которое описано здесь, предусматривает все такие варианты осуществления, которые находятся в пределах масштаба следующей ниже формулы изобретения и его эквивалентов.
Формула изобретения
1. Способ использования сетевого устройства, причем сетевое устройство содержит сетевое соединение и беспроводное соединение, содержащий этапы, в соответствии с которыми абстрагируют команды управления устройством и данные в формат, не зависящий от устройства, используют уровень драйвера, не зависящий от соединения, для инкапсуляции упомянутых абстрагированных команд управления устройством и данных в формат, не зависящий от соединения, используют уровень промежуточного драйвера для преобразования упомянутых инкапсулированных команд управления устройством и данных в команды управления устройством и данные, зависящие от конкретного соединения, и используют уровень драйвера, зависящий от конкретного соединения, для беспроводной передачи команд управления устройством и данных, зависящих от конкретного соединения, в сетевое устройство, причем сетевое устройство принимает команды управления устройством и данные, зависящие от конкретного соединения, через беспроводное соединение и передает эти данные через сетевое соединение.
2. Способ по п.1, отличающийся тем, что беспроводное соединение является соединением, удовлетворяющим протоколу “Голубой Зуб” (“Bluetooth”), причем команды управления устройством и данные, зависящие от конкретного соединения, соответствуют протоколу “Голубой Зуб”.
3. Способ по п.1, отличающийся тем, что уровень драйвера, зависящего от конкретного соединения, передает команды управления устройством и данные, зависящие от конкретного соединения, в сетевое устройство через, по меньшей мере, один канал L2CAP.
4. Способ по п.3, отличающийся тем, что уровень драйвера, зависящего от конкретного соединения, передает команды управления устройством, зависящие от конкретного соединения, через первый канал L2CAP и передает данные, зависящие от конкретного соединения, через второй канал L2CAP.
5. Способ по п.1, отличающийся тем, что уровень промежуточного драйвера преобразует инкапсулированные команды управления устройством и данные в команды управления устройством и данные, зависящие от конкретного соединения, обращаясь к записи протокола предоставления услуг.
6. Способ по п.1, отличающийся тем, что уровень драйвера, зависящего от конкретного соединения, передает команды управления устройством и данные, зависящие от конкретного соединения, посредством сегментации команд управления устройством и данных, зависящих от конкретного соединения, в пакеты, меньшие, чем максимальный размер передаваемого блока данных беспроводного протокола, используемого беспроводным соединением сетевого устройства.
7. Вычислительное устройство, подсоединенное к сети посредством беспроводного устройства, содержащее уровень драйвера, не зависящего от устройства, для абстрагирования команд управления устройством и данных в формат, не зависящий от устройства, уровень драйвера, не зависящего от соединения, для инкапсуляции упомянутых абстрагированных команд управления устройством и данных в формат, не зависящий от соединения, уровень промежуточного драйвера для преобразования упомянутых инкапсулированных команд управления устройством и данных в команды управления устройством и данные, зависящие от конкретного соединения, и уровень драйвера, зависящего от конкретного соединения, для передачи команд управления устройством и данных, зависящих от конкретного соединения, в беспроводное устройство, аппаратное обеспечение беспроводной связи для использования уровнем драйвера, зависящего от конкретного соединения, для передачи команд управления устройством и данных, зависящих от конкретного соединения, в беспроводное устройство.
8. Вычислительное устройство по п.7, в котором аппаратное обеспечение беспроводной связи использует протокол Bluetooth (“Голубой Зуб”), причем команды управления устройством и данные, зависящие от конкретного соединения, соответствуют протоколу “Голубой Зуб”.
9. Вычислительное устройство по п.7, отличающееся тем, что уровень драйвера, зависящего от конкретного соединения, передает команды управления устройством и данные, зависящие от конкретного соединения, в беспроводное устройство, по меньшей мере, через один канал L2CAP.
10. Вычислительное устройство по п.9, отличающееся тем, что уровень драйвера, зависящего от конкретного соединения, передает команды управления устройством, зависящие от конкретного соединения, через первый канал L2CAP, а данные, зависящие от конкретного соединения, передают через второй канал L2CAP.
11. Вычислительное устройство по п.7, отличающееся тем, что уровень промежуточного драйвера ссылается на запись протокола предоставления услуг при преобразовании инкапсулированных команд управления устройством и данных в команды управления устройством и данные, зависящие от конкретного соединения.
12. Вычислительное устройство по п.7, отличающееся тем, что уровень драйвера, зависящего от конкретного соединения, сегментирует команды управления устройством и данные, зависящие от конкретного соединения, в пакеты, меньшие, чем максимальный размер передаваемого блока данных беспроводного протокола, используемого аппаратным обеспечением беспроводной связи.
13. Компьютерный программный продукт для использования сетевого устройства, содержащего сетевое соединение и беспроводное соединение, причем компьютерный программный продукт содержит считываемый компьютером носитель информации, хранящий команды, исполняемые компьютером, для выполнения этапов, содержащих абстрагирование команд управления устройством и данных в формат, не зависящий от устройства, инкапсуляцию команд управления устройством и данных в формат, не зависящий от соединения, преобразование упомянутых инкапсулированных команд управления устройством и данных в команды управления устройством и данные, зависящие от соединения, и передачу команд управления устройством и данных, зависящих от соединения, беспроводным образом в беспроводное соединение сетевого устройства, причем данные передают сетевым устройством через сетевое соединение.
14. Компьютерный программный продукт по п.13, в котором беспроводное соединение является соединением в соответствии с протоколом Bluetooth (“Голубой Зуб”), и команды управления устройством и данные, зависящие от конкретного соединения, соответствуют протоколу “Голубой Зуб”.
15. Компьютерный программный продукт по п.13, в котором передача команд управления устройством и данных, зависящих от конкретного соединения, в сетевое устройство осуществляют, по меньшей мере, через один канал L2CAP.
16. Компьютерный программный продукт по п.15, в котором передача команд управления устройством и данных, зависящих от конкретного соединения, через, по меньшей мере, один канал L2CAP содержит передачу команд управления устройством, зависящих от конкретного соединения, через первый канал L2CAP и передачу данных, зависящих от конкретного соединения, через второй канал L2CAP.
17. Компьютерный программный продукт по п.13, в котором преобразование инкапсулированных команд управления устройством и данных в команды управления устройством и данные, зависящие от конкретного соединения, содержит ссылку на запись протокола предоставления услуг.
18. Компьютерный программный продукт по п.13, в котором передача команд управления устройством и данных, зависящих от конкретного соединения, содержит этап сегментации команд управления устройством и данных, зависящих от конкретного соединения, в пакеты, меньшие, чем максимальный размер передаваемого блока данных беспроводного протокола, используемого беспроводным устройством.
РИСУНКИ
|
|