СВЯЗЬ МЕЖДУ КЛИЕНТСКИМ УСТРОЙСТВОМ И БЕСПРОВОДНЫМ ПЕРИФЕРИЙНЫМ УСТРОЙСТВОМ
COMMUNICATION BETWEEN CLIENT DEVICE AND WIRELESS PERIPHERAL DEVICE

Настоящее изобретение относится к связи между клиентским устройством и беспроводным периферийным устройством. Данное изобретение имеет отношение, например, к связи Bluetooth с периферийным устройством.
Стандарт Bluetooth определяет протокол для беспроводной связи малого радиуса действия между устройствами, который хорошо известен. Как правило, он используется для соединения беспроводных периферийных устройств, таких как клавиатура, манипулятор типа мышь, наушники, принтер и т.д. с одним или несколькими устройствами, тем самым формируя множество периферийных устройств в локальной сети, которая именуется пико-сетью в стандарте Bluetooth.
Однако одно устройство, которое является соединенным посредством Bluetooth с периферийным устройством, также может принадлежать к другой сети, так что может быть полезным иметь периферийное устройство, управляемое не только соединенным посредством Bluetooth устройством, но также и с помощью дополнительного устройства другой сети. Иными словами, может быть полезным совместно использовать периферийное устройство Bluetooth между соединенным посредством Bluetooth устройством и дополнительным устройством, несмотря на то что дополнительное устройство не принадлежит к пико-сети Bluetooth периферийного устройства. В представленном ниже описании соединенное посредством Bluetooth устройство и дополнительное устройство именуются соответственно как хост-устройство и клиентское устройство.
Уже существует механизм передачи обслуживания для расширения соединения Bluetooth на клиентское устройство, так что управление работой периферийного устройства может осуществляться с клиентского устройства. Но когда пико-сеть Bluetooth содержит несколько периферийных устройств, требуется сопряжение клиентского устройства соответственно с периферийными устройствами, так что нелегко достичь совместного использования периферийных устройств. В дополнение, всякий раз, когда добавляется новое периферийное устройство Bluetooth в пико-сеть, требуется дополнительное сопряжение данного нового периферийного устройства с клиентским устройством. Вследствие этого процесс совместного использования является комплексным, и возникают вопросы безопасности в отношении неконтролируемого доступа к соединенному посредством Bluetooth аппаратному обеспечению и передаваемых посредством Bluetooth данных.
Цель настоящего изобретения состоит в предоставлении простого доступа к периферийным устройствам для клиентского устройства, которое не соединено с этими периферийными устройствами.
Дополнительная цель изобретения состоит в предоставлении такого доступа, чтобы он был защищен в отношении попыток проникновения, направленных на множество периферийных устройств.
С этой целью настоящее изобретение предлагает использование процесса туннелирования для передачи обслуживания уже соединенных периферийных устройств клиентскому устройству, через хост-устройство. Тогда достаточно того, что хост-устройство сопряжено с несколькими периферийными устройствами, для того чтобы клиентское устройство оказывалось автоматически сопряженным с каждым из этих периферийных устройств. Такой перевод сопряжения от хост-устройства клиентскому устройству достигается без вмешательства пользователя за один этап для всех исходно соединенных периферийных устройств, так что это просто.
В дополнение, защита процесса туннелирования зависит от защиты связи между клиентским устройством и хост-устройством, которая используется для реализации туннелирования.
Кроме того, изобретение может быть реализовано полностью в программном обеспечении, т.е. посредством соответствующего программирования доступного в настоящий момент хост-устройства и клиентского устройства. Таким образом, не требуется дополнительного аппаратного обеспечения, так что реализация изобретения проста и может быть недорогой.
Точнее говоря, настоящее изобретение предлагает способ обеспечения связи между клиентским устройством и периферийным устройством, при этом периферийное устройство выполнено с возможностью осуществления связи с хост-устройством, используя пакеты первого типа, передаваемые между периферийным устройством и хост-устройством в соответствии с первым режимом связи, причем первый режим связи является беспроводным, причем хост-устройство дополнительно выполнено с возможностью осуществления связи с клиентским устройством, используя пакеты второго типа, передаваемые между хост-устройством и клиентским устройством в соответствии со вторым режимом связи, причем способ содержит:
/i/ предоставление хост-устройства с серверным транспортным модулем, пригодным для направления контента первых пакетов первого типа, принятых от периферийного устройства, в последовательность процессов, свойственную хост-устройству, с учетом размещения этого контента в первых пакетах второго типа, и затем передачи этих первых пакетов второго типа клиентскому устройству,
причем серверный транспортный модуль дополнительно пригоден для восстановления контента вторых пакетов первого типа, предназначенных периферийному устройству, и содержащихся во вторых пакетах второго типа, принятых от клиентского устройства, и затем направления этих вторых пакетов первого типа для передачи хост-устройством периферийному устройству; и
/ii/ предоставление клиентского устройства с клиентским транспортным модулем, пригодным для направления контента вторых пакетов первого типа, предназначенных периферийному устройству, в последовательность процессов, свойственную клиентскому устройству, с учетом размещения этого контента во вторых пакетах второго типа, и затем передачи этих вторых пакетов второго типа клиентским устройством хост-устройству,
причем клиентский транспортный модуль дополнительно пригоден для восстановления контента первых пакетов первого типа, содержащихся в первых пакетах второго типа, принятых от хост-устройства.
Таким образом, серверный транспортный модуль и клиентский транспортный модуль вместе образуют интерфейс связи на транспортном уровне между клиентским устройством и хост-устройством для связи между клиентским устройством и периферийным устройством.
В способе согласно изобретению:
/iii/ хост-устройство дополнительно предоставлено с модулем серверных приложений на уровне приложений, причем данный модуль серверных приложений пригоден для управления работой серверного транспортного модуля на транспортном уровне в хост-устройстве; и
/iv/ клиентское устройство дополнительно предоставлено с модулем клиентских приложений на уровне приложений, причем данный модуль клиентских приложений пригоден для администрирования периферийного устройства и для выдачи инструкций, основанных на инструкциях приложения, выводимых приложением, выполняемым клиентским устройством, и вторых пакетов первого типа, основанных на инструкциях, и причем модуль клиентских приложений также пригоден для управления работой клиентского транспортного модуля на транспортном уровне в клиентском устройстве.
В конкретной реализации изобретения модуль серверных приложений может быть также пригоден для показа периферийного устройства клиентскому устройству.
Настоящее изобретение также предлагает:
- хост-устройство, выполненное с возможностью реализации способа согласно изобретению;
- клиентское устройство, выполненное с возможностью реализации способа согласно изобретению;
- систему связи, содержащую такое хост-устройство, клиентское устройство и периферийное устройство, выполненную с возможностью реализации одновременно способа согласно изобретению;
- компьютерный программный продукт, предназначенный для хост-устройства, содержащий коды серверного транспортного модуля и модуля серверных приложений, пригодных для исполнения этапов способа согласно изобретению, которые должны выполняться хост-устройством; и
- другой компьютерный программный продукт, предназначенный для клиентского устройства, содержащий коды клиентского транспортного модуля и модуля клиентских приложений, пригодных для исполнения этапов способа согласно изобретению, которые должны выполняться хост-устройством.
В предпочтительных вариантах реализации изобретения следующие дополнительные признаки могут быть использованы отдельно или в сочетании друг с другом:
- пакеты первого типа могут быть пакетами Bluetooth, так что первый режим связи беспроводного типа, который используется между хост-устройством и периферийным устройством, является режимом связи Bluetooth;
- серверный транспортный модуль и клиентский транспортный модуль могут находиться на уровне интерфейса хост-контроллера (HCI) в стеке протоколов Bluetooth;
- пакеты второго типа могут быть пакетами Интернет-протокола (IP);
- хост-устройство и клиентское устройство могут быть выполнены с возможностью передачи пакетов Интернет-протокола посредством передачи Wi-Fi;
- уровень протокола пользовательских дейтаграмм (UDP) может быть реализован с помощью Интернет-протокола (IP) для осуществления связи между хост-устройством и клиентским устройством, и при этом пакеты первого типа передаются, используя синхронные соединения между упомянутым хост-устройством (1) и периферийным устройством (14);
- уровень протокола управления передачей (TCP) может быть реализован с помощью Интернет-протокола (IP) для осуществления связи между хост-устройством и клиентским устройством, и при этом пакеты первого типа передаются, используя асинхронные соединения между упомянутым хост-устройством и периферийным устройством;
- хост-устройство может быть выполнено с возможностью обновления ключа защиты линии связи соединения между клиентским устройством и периферийным устройством;
- хост-устройство может быть выполнено с возможностью обновления ключа шифрования соединения между клиентским устройством и периферийным устройством;
- хост-устройство может быть дополнительно выполнено с возможностью выполнения функций защиты для предотвращения попыток проникновения, которые будут направлены на периферийное устройство и передаваемые данные. В частности, эти функции защиты могут выполняться модулем серверных приложений в хост-устройстве. В качестве альтернативы, они также могут выполняться любым другим модулем, добавленным в хост-устройство или клиентское устройство в соответствии с изобретением.
Прочие признаки и преимущества изобретения станут очевидны из нижеследующего подробного описания, рассмотренного совместно с прилагаемой фигурой.
Фиг. 1 является структурной схемой системы связи, выполненной с возможностью реализации способа в соответствии с изобретением.
Теперь изобретение будет описано применительно к конкретному случаю связи Bluetooth, используемой для режима беспроводной связи между хост-устройством и, по меньшей мере, одним периферийным устройством.
Фиг. 1 представляет собой пико-сеть 10 Bluetooth, хост-устройство 1 и клиентское устройство 2, выполненные с возможностью реализации изобретения.
Хост-устройство 1 принадлежит к пико-сети 10 Bluetooth, которая дополнительно содержит Bluetooth-соединенные периферийные устройства, такие как клавиатура 11, манипулятор 12 типа мышь, головные телефоны 13, принтер 14 и т.д. Хост-устройство 1 может быть компьютерным устройством, например, а пико-сеть 10 может содержать дополнительные устройства и периферийные устройства. Все периферийные устройства и устройства, принадлежащие к пико-сети 10, выполнены с возможностью осуществления связи Bluetooth друг с другом, как известно.
Клиентское устройство 2 может быть мобильным телефоном или планшетом, который соединен с хост-устройством 1, используя канал связи, отдельный от того, который работает в пико-сети 10 Bluetooth. Данное соединение между устройствами 1 и 2 может быть проводным или беспроводным. Например, устройства 1 и 2 могут быть соединены друг с другом в одноранговом (P2P) режиме.
В целях иллюстрации опишем теперь вариант реализации изобретения, который направлен на управление принтером 14 с помощью клиентского устройства 2. Также предположим, что режимом связи между хост-устройством 1 и клиентским устройством 2 является IP по соединению Wi-Fi, например одноранговое (P2P) соединение Wi-Fi, также известное как Wi-Fi DIRECT.
Так как хост-устройство 1 принадлежит к пико-сети 10 Bluetooth, то оно предусмотрено с модулями связи, выполненными в соответствии со стеком протоколов Bluetooth. Данный стек, в частности, содержит от уровня приложений до базового уровня: уровень приложений, библиотеки ввода/вывода (I/O), драйвера Bluetooth (BT), драйвер Интерфейса Хост-Контроллера (HCI), контроллер Bluetooth (BT) и уровень радиосвязи Bluetooth (BT). Также могут использоваться дополнительные промежуточные уровни связи. Известным образом, интерфейсом между библиотеками I/O и драйверами Bluetooth является интерфейс прикладного программирования (API), а интерфейсом между драйвером HCI и контроллером Bluetooth является стандартизованный Интерфейс Хост-Контроллера.
Для осуществления связи с клиентским устройством 2, хост-устройство 1 также предусмотрено с модулями связи, выполненными для связи IP. Вновь известным образом, эти модули содержат, в частности, от уровня приложений до базового уровня: уровень приложений, библиотеки ввода/вывода (I/O), уровень протокола управления передачей (TCP) или протокола пользовательских дейтаграмм (UDP), уровень Интернет-протокола (IP), уровень управления доступом к среде (MAC) и физический (PHY) уровень.
Таким образом, хост-устройство 1 исходно выполнено для режимов связи как IP, так и Bluetooth.
Клиентское устройство 2 также выполнено с возможностью осуществления связи IP аналогичным образом и дополнительно, по меньшей мере, частично, также выполнено с возможностью осуществления связи Bluetooth.
Начиная с этой конфигурации, устройства 1 и 2 выполнены следующим образом для реализации настоящего изобретения:
- серверный транспортный модуль 3 добавлен в стек Bluetooth хост-устройства 1, на одном транспортном уровне, начиная от интерфейса API включительно до интерфейса HCI включительно;
- клиентский транспортный модуль 4 добавлен в стек Bluetooth клиентского устройства 2 на том же транспортном уровне, как и тот, что у серверного транспортного модуля 3;
- на уровне приложений серверный модуль 5 Bluetooth добавлен в стек Bluetooth в хост-устройстве, и клиентский модуль 6 Bluetooth добавлен в стек Bluetooth в клиентском устройстве 2.
Серверный модуль 5 Bluetooth и клиентский модуль 6 Bluetooth соответствуют, соответственно, модулю серверных приложений и модулю клиентских приложений, представленным в общем описании изобретения.
В качестве примера, серверный транспортный модуль 3 и клиентский транспортный модуль 4 могут быть добавлены в интерфейсе HCI в стеке Bluetooth, но в качестве альтернативы, они могут быть добавлены в другом месте стека Bluetooth между интерфейсами API и HCI, включая в интерфейс API. Вследствие этого в представленной реализации серверный транспортный модуль 3 является серверным модулем 3 HCI, а клиентский транспортный модуль 4 является клиентским модулем 4 HCI.
Кривая линия C на Фиг. 1 представляет собой маршрут обработки для данных, выдаваемых приложением, работающим в клиентском устройстве 2, и переданных принтеру 14. Клиентский модуль 4 HCI осуществляет транспортировку пакетов HCI по уровням TCP/IP или UDP/IP таким образом, что контент пакетов HCI передается через соединение Wi-Fi хост-устройству 1. В хост-устройстве 1 данный контент по приему обрабатывается посредством уровней IP/TCP или IP/UDP и затем передается серверному модулю 3 HCI. Последний восстанавливает пакеты HCI, и затем обрабатывает таким образом, что данные Bluetooth-передаются принтеру 14. Во время такого процесса связи пакеты HCI режима связи Bluetooth инкапсулируются в пакеты IP, которые передаются через соединение Wi-Fi между устройством 1 и 2. Обратный процесс, используемый в отношении данных, передаваемых от принтера 14 клиентскому устройству 2, соответствует тому же маршруту C в противоположном направлении. Таким образом, серверный модуль 3 HCI и клиентский модуль 4 HCI вместе образуют новый транспортный интерфейс HCI в дополнение к интерфейсам Bluetooth, предусмотренным техническим описанием Bluetooth.
Существует четыре разных типа пакетов HCI, как описано в Томе 2, часть E, пункт 5.1. стандарта Bluetooth 2.1 + EDR, которые должны обрабатываться серверным модулем 3 HCI и клиентским модулем 4 HCI:
- командные пакеты, которые содержат команды Bluetooth от клиентского устройства 2 контроллеру Bluetooth хост-устройства 1, в целях администрирования, такого как информации или конфигурации контроллера, обнаружения устройства, настройки устройства, настройки соединения, аутентификации и шифрования. В целом, эти команды будут инициироваться на уровне приложений, и клиентский модуль 4 HCI будет переадресовывать их хост-устройству 1 посредством инкапсуляции одной или более команд HCI в пакет TCP/IP. Серверный модуль 3 HCI будет извлекать эти команды из пакетов TCP/IP и отправлять их контроллеру Bluetooth хост-устройства 1;
- пакеты события, которые отправляются от контроллера Bluetooth хост-устройства 1 клиентскому устройству 2 либо в ответ на команды, либо на запросы, исходящие от одного из периферийных устройств 11-14. Серверный модуль 3 HCI будет отправлять один или более пакетов события клиентскому устройству 2, используя TCP/IP. Клиентский модуль 4 HCI будет либо обрабатывать эти события локально, либо переадресовывать их клиентскому модулю 6 Bluetooth;
- пакеты данных ACL (Асинхронная Линия Связи Без Соединения), которые используются для обмена данными приложения между клиентским устройством 2 и контроллером Bluetooth хост-устройства 1. Поскольку в целом ACL используется, когда целостность данных более важна, нежели задержка, то TCP/IP будет использоваться для передачи данных ACL от клиентского устройства 2 хост-устройству 1 и наоборот. Если размер пакета ACL превышает размер поля данных TCP (или UDP), тогда серверному модулю 3 HCI или клиентскому модулю 4 HCI может потребоваться разбить его на два или более пакета TCP/IP, и в этом случае клиентский модуль 4 HCI или серверный модуль 3 HCI, соответственно, должен повторно собрать целый пакет ACL; и
- пакеты данных SCO (Синхронная Линия Связи, Ориентированная на Соединение), которые используются для критичных по времени данных от клиентского устройства 2 к хост-устройству 1 и/или наоборот без повторных передач. Вследствие этого эти пакеты будут, как правило, переадресовываться серверным модулем 3 HCI или клиентским модулем 4 HCI, используя UDP/IP, а не TCP/IP. Один или более пакетов данных SCO могут быть инкапсулированы в одном пакете UDP/IP.
С тем чтобы все же обеспечить нормальную работу Bluetooth хост-устройства 1 в отношении пико-сети 10, серверный модуль 3 HCI дополнительно предусмотрен с режимом транзитной передачи BP1, который перемещает пакеты HCI непосредственно между контроллером Bluetooth и драйвером HCI в хост-устройстве 1. Аналогичным образом, клиентский модуль 4 HCI также может быть предусмотрен с режимом транзитной передачи BP2, если клиентское устройство 2 также имеет возможность выполнять полную передачу Bluetooth с другими внешними устройствами (не показаны).
Маршрут C, показывает, что в хост-устройстве 1 драйверы Bluetooth и драйвер HCI стека Bluetooth не требуются для изобретения. Он также показывает, что как контроллер Bluetooth, так и средства радиосвязи Bluetooth в клиентском устройстве 2 не требуются для реализации изобретения. Вследствие этого изобретение обеспечивает доступ к периферийным устройствам 11-14 Bluetooth для клиентского устройства 2, даже если последнее лишено средств радиосвязи Bluetooth.
Обработка TCP/IP или UDP/IP в устройствах 1 и 2 для реализации изобретения может быть выбрана в зависимости от типа соединения Bluetooth в пико-сети 10. Например, синхронные соединения Bluetooth между хост-устройством 1 и одним из периферийных устройств 11-14 могут извлечь пользу из характеристик уровня протокола UDP, тогда как асинхронные соединения Bluetooth лучше согласуются с характеристиками уровня протокола TCP.
Функция серверного модуля 5 Bluetooth может содержать показ периферийных устройств 11-14, которые доступны в пико-сети 10, клиентскому устройству 2. Серверный модуль 5 Bluetooth также осуществляет администрирование виртуального соединения HCI, которое предусмотрено изобретением между устройствами 1 и 2. Таким образом, может быть выполнена передача обслуживания сопряжений Bluetooth периферийных устройств 11-14 с хост-устройством 1, когда они установлены перед инициированием связи между устройствами 1 и 2, клиентскому устройству 2. При необходимости серверный модуль 5 Bluetooth также может специально конфигурировать периферийные устройства 11-14 таким образом, чтобы эти устройства могли Bluetooth-управляться клиентским устройством 2. Действительно, может быть полезным изменить параметры, связанные с соединением Bluetooth для периферийных устройств 11-14, чтобы учесть сетевые характеристики, такие как задержка или чувствительность к ошибкам. Например, могут быть адаптированы параметры лимита времени периферийных устройств 11-14.
Опционально, когда становится доступным дополнительное периферийное устройство в пико-сети 10, после того как устройства 1 и 2 были виртуально HCI-соединены друг с другом, серверный модуль 5 Bluetooth может предоставить клиентскому устройству 2 возможность инициировать непосредственное сопряжение с данным дополнительным периферийным устройством.
Функция клиентского модуля 6 Bluetooth содержит администрирование периферийных устройств 11-14 Bluetooth и соединение HCI со стороны клиентского устройства.
В целом, серверный модуль 6 Bluetooth инициирует и прекращает соединения Bluetooth между клиентским устройством 2 и любым из периферийных устройств 11-14, однако впрочем, существует возможность делать это клиентскому модулю 6 Bluetooth.
В соответствии с первым усовершенствованием изобретения серверный модуль 5 Bluetooth может адаптировать формат периферийных данных Bluetooth, используемый в настоящий момент в пико-сети 10, к формату, поддерживаемому клиентским устройством 2.
В соответствии со вторым усовершенствованием изобретения один из модулей с 3 по 6, предпочтительно серверный модуль 5 Bluetooth, может иметь дополнительные функции, касающиеся защиты связи. В частности, он может быть выполнен с возможностью осуществления одной или более из следующих функций:
/1/ серверный модуль 5 Bluetooth может поддерживать ограниченное подмножество команд Bluetooth, доступных клиентскому устройству 2, в частности ограниченное подмножество команд HCI, так, чтобы ограничивать до данного подмножества команды, выдаваемые клиентским устройством 2, которые переадресовываются периферийным устройствам 11-14 Bluetooth. Тогда команды Bluetooth, которые не принадлежат к подмножеству, но выдаются клиентским устройством 2, обрабатываются, но не исполняются хост-устройством 1;
/2/ серверный модуль 5 Bluetooth может отключить обнаружение некоторых периферийных устройств Bluetooth клиентским устройством 2, используя серверный транспортный модуль 3. Такое отключение, управляемое непосредственно через серверный модуль 5 Bluetooth, легко реализовать, так как его управление осуществляется на уровне приложений;
/3/ серверный модуль 5 Bluetooth может менять или обновлять ключ защиты линии связи соединения Bluetooth между клиентским устройством 2 и, по меньшей мере, одним из периферийных устройств 11-14;
/4/ серверный модуль 5 Bluetooth может менять или обновлять ключ шифрования соединения Bluetooth между клиентским устройством 2 и, по меньшей мере, одним из периферийных устройств 11-14;
/5/ серверный модуль 5 Bluetooth может не допускать получения или изменения данных о защите режима связи Bluetooth в пико-сети 10 клиентским устройством 2, и/или используемых между клиентским устройством 2 и одним или несколькими периферийными устройствами 11-14; и
/6/ серверный модуль 5 Bluetooth может обеспечивать защищенный режим связи между хост-устройством 1 и клиентским устройством 2 для Wi-Fi-передаваемых пакетов, которые транспортируют контент пакетов Bluetooth, протекающих между клиентским устройством 2 и одним или несколькими периферийными устройствами 11-14.
Несмотря на то что эти функции были изложены применительно к соединению Wi-Fi между хост-устройством 1 и клиентским устройством 2 и применительно к связи Bluetooth между хост-устройством 1 и периферийным устройством 14, они могут быть объединены с любым режимом связи между устройствами 1 и 2 и любым режимом беспроводной связи между хост-устройством 1 и периферийным устройством 14, а также любым уровнем применительно к серверному транспортному модулю 3 и клиентскому транспортному модулю 4 в стеке протоколов первого режима связи.
Существует возможность того, чтобы некоторые из этих функций с /1/ по /6/ защиты могли быть реализованы на стороне клиентского устройства посредством модуля 6 клиентских приложений и/или клиентского транспортного модуля 4.
Изменения могут быть внесены при реализации изобретения по отношению к вышеприведенному описанию. По общему правилу режим связи между хост-устройством 1 и клиентским устройством 2 может использовать любую известную среду передачи. Данный режим связи между хост-устройством 1 и клиентским устройством 2 также может быть отличным от протокола IP. В частности, он может быть также протоколом Bluetooth, что приведет к туннелированию первого соединения Bluetooth через второе соединение Bluetooth.