Область техники, к которой относится изобретение
Настоящее изобретение относится к способу уведомления, устройству подключения, способу осуществления связи в устройстве подключения и программе.
Предшествующий уровень техники
В последние годы, в результате все большего распространения сетей, не только персональные компьютеры, но также и различные устройства, такие как мобильные телефоны, электронные устройства и т.п., можно соединять с сетями. Среды, используемые для взаимного соединения электронных устройств и т.п., используются не только в офисе, но также и в доме, поскольку к сетям подключают домашние электрические приборы и другие электрические приборы, которые до настоящего времени использовались отдельно.
При этом прежде всего требуется обеспечить простоту подключения и простоту конфигурирования различных устройств, соединяемых с сетями.
В качестве одной из сетевых технологий, применяемых с этой целью, используется технология, называемая Универсальное устройство с динамической настройкой конфигурации (ниже сокращенно UPnP). Технология UPnP характеризуется тем, что она может применять функцию "динамической настройки конфигурации" в устройствах, подключаемых к сети, при этом не требуется устанавливать программы-драйверы или тому подобное, и она не зависит от типов операционных систем (OS), работающих в устройствах.
Используя UPnP, устройство может автоматически выполнять такие функции: вход в сеть и динамическое получение адреса IP (протокола Интернет), уведомление о собственных функциях, получение информации о присутствии и функциях других устройств и т.д., а также позволяет обеспечить опорные установки сети. Кроме того, эти устройства могут непосредственно связываться друг с другом и формируют одноранговую сеть.
Подробная спецификация UPnP приведена в Universal Plug and Play Device Architecture Version 1.0.
Однако в приведенных выше документах известного уровня техники технология UPnP или тому подобная, которая позволяет динамически получать IP адрес и может уведомлять о собственных функциях, не позволяет находить, например, устройство через сеть Интернет и управлять им, то есть она не позволяет использовать устройство, которое не принадлежит той же подсети.
Сущность изобретения
Проблемы, решаемые изобретением
Настоящее изобретение было выполнено для решения указанных выше проблем, и его цель состоит в уведомлении устройства, которое подключено к третьей сети и подсоединено через первую сеть и вторую сеть, о том, что устройство, подключенное к первой сети, является доступным.
Настоящее изобретение было выполнено с целью решения указанных выше проблем и предназначено для обеспечения возможности для устройства, которое подключено к третьей сети и подсоединено через первую сеть и вторую сеть, передавать сообщение с использованием информации назначения, действительной в третьей сети, в устройство, подключенное к первой сети.
Средство решения проблем
Для достижения указанной выше цели первое изобретение, в соответствии с настоящей заявкой, направлено на способ уведомления, в котором первое устройство подключения подключено к первой сети и второй сети и второе устройство подключения подключено ко второй сети и третьей сети, предназначенный для того, чтобы сообщить устройству, подключенному к третьей сети, информацию, относящуюся к устройству, подключенному к первой сети, причем способ содержит выполняемые первым устройством подключения распознавание устройства, подключенного к первой сети, и передачу информации, относящейся к распознанному устройству, во второе устройство подключения через вторую сеть, и выполняемые вторым устройством подключения прием информации, переданной от первого устройства подключения, и передачу, на основе принятой информации, сообщения, указывающего, что распознанное устройство доступно в третьей сети.
Для достижения указанной выше цели первое изобретение, в соответствии с настоящей заявкой, направлено на способ уведомления, в котором первое устройство подключения подключено к первой сети и второй сети и второе устройство подключения подключено ко второй сети и к третьей сети, предназначенный для того, чтобы сообщить устройству, подключенному к третьей сети, информацию места назначения для сообщения в устройство, подключенное к первой сети, причем способ содержит выполняемые первым устройством подключения получение первой информации места назначения для сообщения в устройство, подключенное к первой сети, и передачу полученной первой информации места назначения во второе устройство подключения через вторую сеть, и выполняемые вторым устройством подключения получение первой информации места назначения, переданной от первого устройства подключения, генерирование второй информации места назначения для сообщения в устройство путем присоединения идентификатора устройства к идентификатору второго устройства подключения и передачи сообщения, включающего сгенерированную вторую информацию места назначения, в третью сеть.
Эффект изобретения
Как описано выше, в соответствии с настоящим изобретением, пользователь может находить и использовать устройство, которое не присутствует в его собственной сети.
В результате этого можно легко обеспечить соединение различных устройств, подключенных к сетям. Кроме того, можно расширить возможности использования устройств.
Другие признаки и преимущества настоящего изобретения будут очевидны из следующего описания, которое следует рассматривать совместно с прилагаемыми чертежами, на которых одинаковыми ссылочными позициями обозначены одинаковые или аналогичные части на всех чертежах.
Перечень чертежей
Прилагаемые чертежи, приведенные здесь и составляющие часть описания, иллюстрируют варианты выполнения изобретения и вместе с описанием предназначены для пояснения принципов изобретения.
На фиг.1 показана схема, представляющая общую компоновку системы;
на фиг.2 показана блок-схема компьютерной системы;
на фиг.3 показана блок-схема устройства - посредника устройства UPnP;
на фиг.4 показана блок-схема, представляющая модульную компоновку блока анализа;
на фиг.5 показан концептуальный вид таблицы управления устройством;
на фиг.6 показана блок-схема, представляющая модульную компоновку блока воспроизведения;
на фиг.7 показан концептуальный вид таблицы управления виртуальным устройством;
на фиг.8 показана блок-схема, представляющая модульную компоновку блока устройства;
на фиг.9 показана конфигурация сообщения SOAP (простого протокола доступа к объектам) с запросом на соединение;
на фиг.10 показана конфигурация сообщения SOAP с ответом на запрос на соединение;
на фиг.11 показана конфигурация сообщения SOAP с запросом на разъединение;
на фиг.12 показана конфигурация сообщения SOAP с информацией удаленного устройства;
на фиг.13 показан концептуальный вид SCPD;
на фиг.14 показана конфигурация сообщения SOAP с информацией управления устройством;
на фиг.15 показана конфигурация сообщения SOAP - запроса на подписку на событие;
на фиг.16 показана конфигурация сообщения SOAP с информацией обработки события;
на фиг.17 показана схема, представляющая компоновку системы;
на фиг.18 показана блок-схема, представляющая компоновку серверного модуля устройства - посредника устройства UPnP;
на фиг.19 показан концептуальный вид таблицы управления;
на фиг.20 показан концептуальный вид окна регистрации и соединения устройства - посредника устройства UPnP для ПК пользователя; и
на фиг.21 показана конфигурация сообщения SOAP регистрации устройства - посредника устройства UPnP.
Подробное описание изобретения
Предпочтительные варианты выполнения настоящего изобретения будут описаны ниже со ссылкой на прилагаемые чертежи. В предпочтительных вариантах выполнения предусмотрено устройство - посредник устройства UPnP, которое сканирует сообщения протокола UPnP, получает информацию об устройстве (описание устройства) и информацию об услугах (описание услуг) устройства, передает эти части информации в устройство - посредник устройства UPnP, которое формирует пару, и воспроизводит виртуальное PnP - совместимое устройство в устройстве - посреднике устройства UPnP.
<Общая компоновка системы>
На фиг.1 показана схема, представляющая общую компоновку системы в соответствии с вариантом выполнения настоящего изобретения. Как показано на фиг.1, ПК 102 пользователя, в качестве компьютерной системы, такой как ПК или тому подобное, соединен с внешней сетью 100, такой как Интернет или тому подобное, через устройство 101 - посредник устройства UPnP. Другая подсеть соединена с внешней сетью 100 через устройство 103 - посредник устройства UPnP, и принтер 110, цифровой фотоаппарат 111, сканер 112 и цифровая видеокамера 113 как UpnP-совместимые устройства подключены к этой сети 120. В этом варианте выполнения указанные выше устройства приведены в качестве примера, но настоящее изобретение не ограничивается этими конкретными устройствами.
Устройство 103 - посредник устройства UPnP представляет собой первое устройство подключения, а устройство 101 - посредник устройства UPnP представляет собой второе устройство подключения. Устройство 103 - посредник устройства UPnP подключено к первой сети 120 и второй сети 100, и устройство 101 - посредник устройства UPnP подключено ко второй сети 100 и третьей сети 105.
В данном варианте выполнения ПК 102 пользователя получает уведомление, в качестве устройства, соединенного с третьей сетью 105, содержащее информацию, относящуюся к устройствам 110, 111, 112 и 113, соединенным с первой сетью 120. Таким образом, устройство 103 - посредник устройства UPnP распознает устройства, подключенные к первой сети 120, и передает информацию, относящуюся к распознанным устройствам, в устройство 101 - посредник устройства UPnP через вторую сеть 100. Устройство 101 - посредник устройства UPnP принимает информацию, переданную из устройства 103 - посредника устройства UPnP, и на основе принятой информации передает сообщение, указывающее, что распознанные устройства являются доступными в третьей сети 105.
В данном варианте выполнения ПК 102 пользователя, в качестве устройства, подключенного к третьей сети 105, получает уведомление, содержащее информацию места назначения (URL, унифицированный указатель информационного ресурса) для сообщения в устройство (например, принтер 110), подключенное к первой сети 120. То есть устройство 103 - посредник устройства UPnP получает первую информацию места назначения (URL) для сообщения в принтер 110, подключенный к первой сети 120, и передает полученную первую информацию места назначения (URL) в устройство 101 - посредник устройства UPnP через вторую сеть 100. Устройство 101 - посредник устройства UPnP принимает первую информацию места назначения (URL), переданную из устройства 103 - посредника устройства UPnP, генерирует вторую информацию места назначения (URL) для сообщения в принтер 110 путем присоединения идентификатора (номера порта) для принтера 110 к идентификатору (IP адресу) устройства 101 - посредника устройства UPnP и передает сообщение, включающее в себя сгенерированную вторую информацию назначения (URL), в третью сеть.
Кроме того, после приема первого передаваемого сообщения, которое имеет вторую информацию места назначения (URL) в качестве адреса, от ПК 102 пользователя устройство 101 - посредник устройства UPnP передает второе передаваемое сообщение, которое включает в себя первую информацию места назначения (URL), соответствующую идентификатору (номеру порта), включенному во вторую информацию места назначения (URL), и содержание первого сообщения передачи, в устройство 103 - посредник устройства UPnP. Устройство 103 - посредник устройства UPnP принимает второе передаваемое сообщение, переданное из устройства 101 - посредника устройства UPnP, и передает это третье передаваемое сообщение, включающее в себя содержание первого сообщения передачи, так, что оно содержит первую информацию места назначения в качестве адреса.
ПК 102 пользователя на фиг.1 представляет собой так называемый компьютер, имеющий различные функции, которые позволяют пользователю использовать устройства через Интернет 100 для просмотра ресурсов и т.д., и представляет собой компьютерную систему, которая содержит ЦПУ, ПЗУ, ОЗУ, НЖМД и т.п.
В этом варианте выполнения поясняется случай, в котором только одна компьютерная система подключена для простоты описания. Однако настоящее изобретение можно аналогично применять в случае, когда множество ПК 102 пользователя присутствует в одном сегменте.
Кроме того, сеть 105 на стороне ПК 102 пользователя и сеть 103 на стороне UpnP-совместимого устройства имеют взаимно-однозначное соответствие. Этот режим был принят для удобства и для упрощения вариантов выполнения. Однако настоящее изобретение аналогично можно применять к конфигурации "1 к n" или "n к n".
<Блок-схема компьютерной системы>
На фиг.2 показана блок-схема, представляющая компоновку компьютерной системы ПК 102 пользователя в качестве примера одного варианта выполнения настоящего изобретения.
Ссылочной позицией 201 на фиг.2 обозначено центральное процессорное устройство (ниже сокращенно ЦПУ), которое управляет устройством обработки информации.
Ссылочной позицией 202 обозначено оперативное запоминающее устройство (ниже сокращенно ОЗУ), которое выполняет функцию основного запоминающего устройства ЦПУ 201 и используется как область, предназначенная для исполнения программ, а также область исполнения и область данных этих программ.
Ссылочной позицией 203 обозначено постоянное запоминающее устройство (ниже сокращенно ПЗУ), в котором записана последовательность обработки операций, ЦПУ 201. ПЗУ 203 включает в себя ПЗУ программ, в котором записана операционная система (ниже сокращенно называется OS) в качестве системной программы, предназначенной для обеспечения управления устройством в устройстве обработки информации, и ПЗУ данных, в котором записана информация, необходимая для работы системы и т.п. НЖМД 209 (который будет описан ниже) часто можно использовать вместо ПЗУ 203.
Ссылочной позицией 204 обозначен сетевой интерфейс (NETIF), который управляет передачей данных между устройствами обработки информации через сеть и обеспечивает диагностику состояния соединения.
Ссылочной позицией 205 обозначено видео ОЗУ (VRAM), которое отображает изображение, предназначенное для отображения на экране ЭЛТ 206 (электронно-лучевая трубка, будет описана ниже), обозначающее рабочее состояние устройства обработки информации, и управляет его отображением. Ссылочной позицией 206 обозначено устройство дисплея, которое содержит дисплей или тому подобное. Устройство 206 дисплея будет ниже сокращенно обозначено как ЭЛТ.
Ссылочной позицией 207 обозначен контроллер, который управляет входным сигналом от внешнего устройства 208 ввода (будет описано ниже). Ссылочной позицией 208 обозначено внешнее устройство ввода, которое принимает операции, вводимые в устройство обработки информации его пользователем, и содержит, например, клавиатуру и координатно-указательное устройство, такое как мышь или тому подобное. Внешнее устройство 208 ввода будет ниже просто сокращенно называться KB.
Ссылочной позицией 209 обозначен накопитель на жестких магнитных дисках (НЖМД), который используют для хранения прикладных программ и данных, таких как информация изображения и т.п. Прикладные программы в данном варианте выполнения включают в себя программы и т.п., которые могут реализовывать различные компоненты обработки, формирующие данный вариант выполнения.
Ссылочной позицией 210 обозначено внешнее устройство ввода и вывода, такое, как дисковод для гибкого диска floppy®, дисковод CD-ROM или тому подобное, в которые вводят и из которых извлекают съемный диск и используют для считывания прикладных программ и т.п. с носителя. Внешнее устройство 210 ввода и вывода ниже будет просто называться НГМД (FDD). Следует отметить, что в НГМД 210 могут быть записаны прикладные программы и данные, сохраняемые на НЖМД 209, когда их используют.
Ссылочной позицией 200 обозначена шина ввода и вывода (адресная шина, шина данных и шина управления), которая соединяет указанные выше модули между собой.
<Блок-схема устройства - посредника устройства UPnP>
На фиг.3 показана блок-схема, представляющая компоновку устройства 101 - посредника устройства UPnP, в качестве примера одного варианта выполнения настоящего изобретения. Функции устройства 101 - посредника устройства UPnP могут быть воплощены с использованием компьютерной системы и с применением специализированного устройства. Вариант выполнения настоящего изобретения может быть реализован в обоих воплощениях. На фиг.3 поясняется компоновка устройства 101 - посредника устройства UPnP. Однако устройство 103 - посредник устройства UPnP имеет такую же компоновку. В варианте выполнения устройства 101 или 103 - посредника устройства UPnP с использованием компьютерной системы, применяется та же компоновка системы, которая показана на фиг.2 и фиг.3, но с представлением конфигурации в виде программных модулей.
Устройство 101 - посредник устройства UPnP содержит модуль 300 управления, модуль 301 анализа, модуль 302 воспроизведения и модуль 303 устройства.
Блок 300 управления выполняет функцию управления блоком 301 анализа, блоком 302 воспроизведения и блоком 303 устройства.
Блок 301 анализа выполняет функцию приема и анализа сообщениями протокола UPnP, функцию обработки данных XML (расширяемого языка разметки) и функцию сохранения IP адреса, URL управления, URL события и т.п. устройства.
Блок 302 воспроизведения выполняет функцию генерирования виртуального устройства на основе описания устройства и описания услуги устройства.
Блок 303 устройства выполняет функцию, которая позволяет ему самому, то есть устройству 101 - посреднику устройства UPnP, выполнять функцию устройства UPnP, и функцию, которая позволяет ему выполнять функцию виртуального устройства. В примере, показанном на фиг.1, блок 302 воспроизведения генерирует четыре блока 303 устройства, соответствующие четырем устройствам, от принтера 110 до цифрового видео 113.
<Процедура общей системной обработки>
Процедура общей системной обработки в соответствии с вариантом выполнения настоящего изобретения будет описана ниже со ссылкой на фиг.1.
Предположим для простоты, что только принтер 110 подключен к сети 120, кроме устройства 103 - посредника устройства UPnP, и что ПК 102 пользователя использует принтер 110 через сеть 100, такую как Интернет или ей подобную. В этом случае принтер 110 используют как типичное устройство в описании. Вместо этого аналогично может быть выполнена обработка других UPnP-совместимых устройств, таких как цифровой фотоаппарат 111, сканер 112, цифровая видеокамера 113 и т.п., за исключением функций, уникальных для отдельных устройств.
ПК 102 пользователя находит устройство 101 - посредник устройства UPnP и вырабатывает запрос на соединение с устройством 103 - посредником устройства UPnP, передавая его в устройство 101 - посредник устройства UPnP.
С другой стороны, в сети 120 производится широковещательная передача соответствующих протоколу SSDP (простому протоколу обнаружения подключенных периферийных устройств, представляющему собой протокол обнаружения устройств, описанный в UPnP) сообщений, подтверждающих активность (Alive) (сообщений, каждое из которых обозначает, что само устройство доступно по сети). Устройство 101 - посредник устройства UPnP всегда принимает эти сообщения и удерживает принятые сообщения внутри себя (устройство 101 распознает принтер 110 на основе только этого сообщения).
После приема запроса на соединение от устройства 101 - посредника устройства UPnP устройство 103 - посредник устройства UPnP передает SSDP-сообщение поиска в сети 120, которой принадлежит само устройство, и ожидает ответа. После приема ответа устройство 103 - посредник устройства UPnP получает информацию, относящуюся к UPnP-совместимому устройству, подключенному к сети 120, которой принадлежит само устройство, из ответного сообщения. В данном случае устройство 103 - посредник устройства UPnP распознает принтер 110.
Устройство 103 - посредник устройства UPnP передает полученные описания устройства и услуг принтера 110 и требуемую информацию в устройство 101 - посредник устройства UPnP в виде сообщения SOAP.
Устройство 101 - посредник устройства UPnP принимает переданную, как указано выше, информацию и генерирует виртуальный принтер 110V, имеющий функции UPnP. Виртуальный принтер 110V (то есть блок 303 устройства для устройства 101 - посредника устройства UPnP) передает SSDP-сообщение Alive по сети 105.
То есть устройство 103 - посредник устройства UPnP, в качестве первого устройства подключения, распознает устройство 110, подключенное к первой сети 120, и передает информацию, относящуюся к распознанному устройству, в устройство 101 - посредник устройства UPnP, представленного в качестве второго устройства подключения, через вторую сеть 100. Устройство 101 - посредник устройства UPnP принимает информацию, переданную из устройства 103 - посредника устройства UPnP, и передает на основе принятой информации сообщение (сообщение Alive), обозначающее, что распознанное устройство доступно в третьей сети 105.
ПК 102 пользователя принимает SSDP-сообщение Alive и находит виртуальный принтер 110V. В качестве альтернативы, ПК 102 пользователя передает SSDP-сообщение поиска по сети 105 и принимает ответ (сообщение, обозначающее, что устройство, имеющее распознанные функции, доступно) от устройства 101 - посредника устройства UPnP.
ПК 102 пользователя открывает страницу презентации виртуального принтера 110V, используя браузер или тому подобное, и вырабатывает запрос на печать. В качестве альтернативы, ПК 102 пользователя вырабатывает запрос на печать, соответствующий протоколу управления, определенному UPnP, с использованием специализированной прикладной программы.
После приема запроса на печать виртуальный принтер 110V (то есть блок 303 устройства устройства 101 - посредника устройства UPnP) передает этот запрос на печать в устройство 103 - посредник устройства UPnP.
После приема запроса на печать устройство 103 - посредник устройства UPnP передает это сообщение в принтер 110. Устройство 103 - посредник устройства UPnP принимает ответ на указанный выше запрос на печать от принтера 110 и передает это сообщение в устройство 101 - посредник устройства UPnP.
После приема ответа на указанный выше запрос на печать устройство 101 - посредник устройства UPnP передает это сообщение в ПК 102 пользователя.
ПК 102 пользователя вырабатывает запрос на разъединение и передает его в устройство 101 - посредник устройства UPnP.
Вариант выполнения 1
Ниже, в варианте выполнения 1, будут описаны процедуры подробных процессов, соответствующих процессам описанных выше вариантов выполнения, на основе приведенного выше описания. В следующем описании варианта выполнения 1 используются те же схема компоновки системы, блок-схема компьютерной системы и блок-схема устройства - посредника устройства UPnP, показанные на фиг.1-3. При обмене сообщениями между устройствами - посредниками устройства UPnP используется SOAP, который применяют при обмене всеми сообщениями между устройствами - посредниками устройства UPnP, как описано ниже.
<Модульная компоновка и функция модуля анализа>
На фиг.4 показана блок-схема, представляющая модульную компоновку блока 301 анализа, представляющая пример одного варианта выполнения настоящего изобретения.
Блок 301 анализа содержит модуль 400 управления, модуль 401 прослушивания для обнаружения устройства, модуль 402 - клиент HTTP, модуль 403 обработки XML, модуль 404 управления устройством и модуль 405 диспетчеризации.
Модуль 400 управления имеет функцию управления модулем 401 прослушивания для обнаружения устройства, модулем 402 - клиентом HTTP, модулем 403 обработки XML и модулем 404 управления устройством и выполняет обмен данными с интерфейсами соответствующих модулей и т.д.
Модуль 401 прослушивания для обнаружения устройства имеет функцию приема SSDP-сообщения, запроса на поиск устройства и извещения об устройстве.
Модуль 402 - клиент HTTP имеет функцию получения определенного документа через HTTP (протокол передачи гипертекста).
Модуль 403 обработки XML имеет функцию анализа данных XML и функцию выполнения выделения, добавления, изменения, удаления и т.п. элементов.
Модуль 404 управления устройством имеет таблицу 500 управления устройством (будет описана ниже), используемую для управления информацией устройства, полученной от модуля 401 прослушивания для обнаружения устройства, и имеет функцию выполнения поиска, добавления, изменения и удаления данных в этой таблице.
Модуль 405 диспетчеризации имеет функцию сервера HTTP, состоящую в приеме команд и сообщений, передаваемых из устройства 101 - посредника устройства UPnP, которое формирует пару, функцию передачи команды управления устройством и команды обработки события в реальное устройство, а также функцию приема сообщения о событии.
<Таблица управления устройством>
На фиг.5 показан концептуальный вид таблицы 500 управления устройством, содержащейся в модуле 404 управления устройством, который представляет собой один вариант выполнения настоящего изобретения.
Таблица 500 управления устройством включает в себя элемент 501 UDN, элемент 502 DescURL, элемент 503 LifeTime и элемент 504 LatestTime. Таблица 500 управления устройством позволяет выполнять поиск, считывание/запись, добавление и удаление соответствующих элементов, причем один элемент уникально определяет другие элементы.
Элемент 501 UDN представляет собой идентификатор, используемый для идентификации устройства, и сохраняет значение тэга (неотображаемого элемента разметки) UDN описания устройства. В элементе 502 DescURL сохраняется URL описания устройства, содержащегося в устройстве.
В элементе 503 LifeTime сохранено значение срока действия извещения в отношении SSDP-извещения об устройстве, например, заголовок HTTP "CACHE-CONTROL:MAX-AGE" SSDP-команды NOTIFY (уведомить). В элементе 504 LatestTime сохранено последнее время выдачи SSDP-сообщения Alive каждого устройства.
<Модульная компоновка и функция блока воспроизведения>
На фиг.6 показана блок-схема, представляющая модульную компоновку блока 302 воспроизведения, которая представляет пример одного варианта выполнения настоящего изобретения.
Блок 302 воспроизведения содержит модуль 600 управления воспроизведением, модуль 601 генерирования виртуального устройства, модуль 602 сервера HTTP, модуль 603 обработки XML и модуль 604 управления виртуальным устройством.
Модуль 600 управления воспроизведением имеет функцию управления модулем 601 генерирования виртуального устройства, модулем 602 сервера HTTP, модулем 603 обработки XML и модулем 604 управления виртуальным устройством, обмена данных с интерфейсами соответствующих модулей и т.д.
Модуль 601 генерирования виртуального устройства имеет функцию генерирования виртуального устройства на основе описаний устройства и услуг.
Модуль 602 сервера HTTP представляет собой так называемый сервер HTTP и имеет функцию предоставления документа и т.п. в ответ на запрос от клиента.
Модуль 603 обработки XML имеет ту же функцию, что и модуль 403 обработки XML.
Модуль 604 управления виртуальным устройством имеет таблицу 700 управления виртуальным устройством (которая будет описана ниже), используемую для сохранения информации, относящейся к реальному устройству, и имеет функцию выполнения поиска, добавления, изменения и удаления данных в этой таблице.
<Таблица управления виртуальным устройством>
На фиг.7 показан концептуальный вид таблицы 700 управления виртуальным устройством, содержащейся в модуле 604 управления виртуальным устройством, которая представляет собой пример одного варианта выполнения настоящего изобретения.
Таблица 700 управления виртуальным устройством имеет элемент 701 UDN, элемент 702 ControlURL, элемент 703 eventSubURL и элемент 704 CallBackURL. Таблица 700 управления виртуальным устройством позволяет выполнять поиск, считывание/запись, добавление и удаление соответствующих элементов, при этом один элемент уникально определяет другие элементы, за исключением элемента 704 CallBackURL. Кроме того, определено одно или больше значений элемента 704 CallBackURL, ассоциированное с уникально определенной записью.
Элемент 701 UDN представляет собой идентификатор, используемый для идентификации устройства, и в нем сохранено значение тэга UDN описания устройства.
В элементе 702 ControlURL сохранен URL конечной точки, в которой осуществляется принятие команды управления реального устройства, то есть исходного устройства. В элементе 703 eventSubURL сохранен URL конечной точки, которая подписывается на событие реального устройства, то есть исходного устройства. В элементе 704 CallBackURL сохранен URL конечной точки, используемой для передачи сообщения о событии в ПК 102 пользователя, который подписался на событие.
<Модульная компоновка и функция блока устройства>
На фиг.8 показана блок-схема, представляющая модульную компоновку блока 303 устройства, представляющего пример одного варианта выполнения настоящего изобретения.
Блок 303 устройства содержит модуль 801 основного управления, модуль 802 сервера HTTP, модуль 803 клиента HTTP, модуль 804 обработки XML, модуль 805 обработки события, модуль 806 управления устройством и модуль 807 обнаружения.
Модуль 801 основного управления имеет функцию управления модулем 802 сервера HTTP, модулем 803 клиента HTTP, модулем 804 обработки XML, модулем 805 обработки события, модулем 806 управления устройством и модулем 807 обнаружения, обменом данных с интерфейсами соответствующих модулей и т.д. Кроме того, модуль 801 основного управления имеет функцию содержания и предоставления описания самого устройства, описания услуги и документа презентации, а также функцию предоставления функции, требуемой для соединения с устройством 101 - посредника устройства UPnP по внешней сети.
Модуль 802 сервера HTTP имеет ту же самую функцию, что и модуль 602 сервера HTTP.
Модуль 803 клиента HTTP имеет ту же функцию, что и модуль 402 - клиент HTTP.
Модуль 804 обработки XML имеет ту же функцию, что и модуль 403 обработки XML.
Модуль 805 обработки события имеет функцию удовлетворения протокола GENA (архитектура уведомления о характерном событии) в отношении событий устройства, задаваемых UPnP, а также имеет функцию подписки на события и выдачи события в ПК 102 пользователя и т.п.
Модуль 806 управления устройством имеет функцию приема и анализа сообщения SOAP (см. протокол рабочей группы W3C XML) в качестве протокола управления, определенного UPnP, и выполнения реальной или виртуальной обработки в соответствии с этой командой.
Модуль 807 обнаружения имеет функцию удовлетворения SSDP в качестве протокола обнаружения устройства, определенного UPnP, и функцию выполнения обработки ответа на объявление Alive, объявление ByeBye и поиска.
<Обнаружение устройства 101 - посредника устройства UPnP>
Само устройство 101 - посредник устройства UPnP выполнено как устройство, совместимое с UPnP, и внешнее устройство в той же сети 105 может находить и использовать устройство 101 - посредник устройства UPnP в процессе, определенном UPnP.
Способ, позволяющий ПК 102 пользователя находить устройство 101 - посредник устройства UPnP, включает в себя два способа, то есть способ приема SSDP-сообщения Alive, выдаваемого устройством 101 - посредником устройства UPnP, и способ передачи сообщения поиска от ПК 102 пользователя по сети 105, и прием ответа на это сообщение, возвращенного устройством 101 - посредником устройства UPnP. Эти способы основаны на протоколе обнаружения, определенном UPnP.
В качестве блока обнаружения ПК 102 пользователя, Windows® XP, которая представляет собой OS, поставляемую компанией Microsoft Corporation, содержит функцию - клиент UPnP в качестве стандартной функции, и когда ПК 102 пользователя с этой OS принимает SSDP-сообщение Alive, автоматически выполняется передача SSDP-сообщения поиска и т.п. Кроме того, в качестве модуля обнаружения может использоваться специализированная прикладная программа, которая выполняет описанный выше процесс обнаружения.
В варианте выполнения настоящего изобретения приведено описание, в котором предполагается, что в ПК 102 пользователя в качестве OS используется Windows® XP.
После окончания процесса обнаружения в папке "My Network" ("Сетевое окружение") программы Explorer (Проводник) (поставляемой Microsoft Corporation) появляется пиктограмма, обозначающая устройство 101 - посредник устройства UPnP.
Если выполнить двойной щелчок мышью по этой пиктограмме, запускается браузер, такой как Internet Explorer (поставляемый компанией Microsoft Corporation) или тому подобное, в котором отображается страница, включающая в себя область ввода текста, используемую для ввода места назначения соединения.
<Обработка соединения устройства - посредника устройства UPnP>
Пользователь вводит IP адрес или имя хост-узла, соответствующее устройству 103 - посреднику устройства UpnP, в область ввода текста браузера и нажимает кнопку соединения. После нажатия кнопки соединения браузер передает сообщение запроса на соединение в устройство 101 - посредник устройства UPnP.
Модуль 802 сервера HTTP устройства 101 - посредника устройства UPnP принимает сообщение - запрос на соединение. Основной модуль 801 управления получает IP адрес или имя хост-узла введенного места назначения соединения (устройство 103 - посредник устройства UPnP), введенные через браузер, из принятого сообщения.
Основной модуль 801 управления передает сообщение SOAP, в котором описано название операции "connect" (соединиться) и IP адрес или имя хост-узла, соответствующее устройству 101 - посреднику устройства UPnP, в качестве его аргумента, как показано на фиг.9, в устройство 103 - посредник устройства UPnP через модуль 803 клиента HTTP.
Модуль 802 сервера HTTP устройства 103 - посредника устройства UPnP принимает сообщение SOAP с запросом на соединение. Модуль 804 обработки XML обрабатывает принятое сообщение для получения IP адреса или имени хост-узла, соответствующего устройству 101 - посреднику устройства UPnP, и основной модуль 801 управления передает его в блок 300 управления. Блок 300 управления затем передает IP адрес или имя хост-узла в модуль 400 управления блока 301 анализа.
Основной модуль 801 управления устройства 101 - посредника устройства UPnP возвращает сообщение SOAP с ответом, в котором описан IP адрес или имя хост-узла, соответствующее устройству 103 - посреднику устройства UPnP, в качестве возвращаемого значения, как показано на фиг.10, в качестве ответа на сообщение SOAP с запросом на соединение, принятое ранее, в устройство 101 - посредник устройства UPnP через модуль 803 - клиент HTTP.
<Получение информации устройства UPnP>
После окончания описанной выше обработки соединения устройство 103 - посредник устройства UPnP начинает поиск UpnP-совместимых устройств, соединенных с сетью 120, которой принадлежит само устройство.
Модуль 400 управления блока 301 анализа создает SSDP-сообщение поиска с использованием модуля 403 обработки XML, передает его в сеть 120 через модуль 402 - клиент HTTP и ожидает ответ. Модуль 400 управления повторяет этот процесс через соответствующие интервалы времени, пока устройство 101 - посредник устройства UPnP не выдаст запрос на разъединение.
После приема ответа от устройства, совместимого с UPnP, во время этих повторений, модуль 402 - клиент HTTP принимает сообщение - ответ и передает его в модуль 400 управления.
Параллельно указанному выше процессу, модуль 401 прослушивания для обнаружения устройств готовится к приему SSDP-сообщения NOTIFY через сеть 120. Устройство, совместимое с UPnP, выполняет широковещательную передачу SSDP-сообщения NOTIFY в сеть через заранее заданные интервалы времени. Модуль 401 прослушивания для обнаружения устройств продолжает процесс приема до тех пор, пока устройство 101 - посредник устройства UPnP не выдаст запрос на разъединение. После приема сообщения NOTIFY модуль 401 прослушивания для обнаружения устройств передает это сообщение в модуль 400 управления.
Устройство 103 - посредник устройства UPnP получает информацию, ассоциированную с устройством, из ответа на сообщение поиска или сообщения NOTIFY.
Можно привести следующий пример сообщения NOTIFY.
NOTIFY *HTTP/1.1
HOST:239.255.255.250:1900
CACHE-CONTROL:max-age=30
LOCATION:<http://192.168.1.11/printer/devicedsc.xml>
NT:urn:schemas-upnp-org:printbasic:1
NTS:ssdp:alive
USN:uuid:upnp-printbasiclll
После приема сообщения - ответа или сообщения NOTIFY модуль 400 управления получает URL описания устройства (значение заголовка LOCATION представляет собой URL описания устройства), UDN (значение заголовка USN представляет собой UDN), значение заголовка NTS и значение CACHE-CONTROL из сообщения. Устройство 103 - посредник устройства UPnP может получить эти части информации из ответа на сообщение поиска. Модуль 400 управления передает URL описания устройства, UDN, значение заголовка NTS и значение CACHE-CONTROL в модуль 404 управления устройством.
Модуль 404 управления устройством, который получил описанные выше значения, выполняет поиск в таблице 500 управления устройством, используя значения UDN в качестве ключа. Если соответствующая запись будет найдена в результате указанного выше поиска и значение ее заголовка NTS представляет собой "SSDP:ALIVE", модуль 404 управления устройством обновляет значение элемента 504 LatestTime, используя текущее время. Если будет найдена запись и значение ее заголовка NTS представляет собой "SSDP:BYEBYE", модуль 404 управления устройством удаляет соответствующую запись.
Если соответствующая запись не будет найдена в результате указанного выше поиска, модуль 404 управления устройством вставляет URL описания устройства, значение UDN, CACHE-CONTROL и текущее время в элементы 502, 501, 503 и 504 таблицы 500.
Как описано выше, устройство 103 - посредник устройства UPnP, в качестве первого устройства подключения, распознает устройство, подключенное к первой сети 120. Кроме того, устройство 103 - посредник устройства UPnP, в качестве первого устройства подключения, получает информацию места назначения (URL описания устройства) сообщения в устройство, подключенное к первой сети 120.
<Передача информации устройства UPnP>
После выполнения указанного выше процесса, если будет найдена указанная выше запись и значение ее заголовка NTS представляет собой "SSDP:BYEBYE", модуль 404 управления устройством создает сообщение SOAP, показанное на фиг.11, используя название операций "byebye" и полученное значение UDN в качестве ее аргумента.
Если соответствующая запись не будет найдена, модуль управления 404 устройством получает описания устройства и услуги из URL описания устройства (значение элемента 502 по фиг.5) и создает сообщение SOAP, которое описывает название операций "remoteAlive", а также UDN (значение элемента 501 по фиг.5) и IP адрес или имя хоста, соответствующее устройству 103 - посреднику устройства UPnP, в качестве его аргументов, и которое прикреплено с полученными описаниями устройства и услуги, в качестве его аргументов, как показано на фиг.12, используя оба значения, вставленные в указанную выше запись. Модуль 404 управления устройством генерирует элемент тэга URLBase на основе URL полученного описания устройства и соединяет его с этим сообщением SOAP. "URLBase" будет описан ниже. Модуль 404 управления устройством передает созданное сообщение в устройство 101 - посредник устройства UPnP. Следует отметить, что описание устройства представляет собой информацию, ассоциированную с устройством, и включает в себя тип устройства, название поставщика, название модели, серийный номер и т.п., определенные по UPnP. Описание услуги представляет собой описание интерфейсов услуг (печать, в случае принтера), предоставляемых этим устройством. Эти части информации получают из URL описания устройства.
Как описано выше, устройство 103 - посредник устройства UPnP, в качестве первого устройства подключения, распознает устройство (например, принтер 110), подключенное к первой сети 120, и передает информацию, относящуюся к распознанному устройству, в устройство 101 - посредник устройства UPnP как во второе устройство подключения, через вторую сеть 100. При таком распознавании устройство 103 - посредник устройства UPnP получает информацию (URL) о местоположении сохранения описания устройства, содержащегося устройством, из сообщения (сообщения ответа на сообщение поиска или сообщения NOTIFY) из устройства (например, принтера 110). Устройство 103 - посредник устройства UPnP получает информацию (описания устройства и услуги) устройства из информации (URL) о местоположении сохранения описания устройства. Пример такой информации устройства включает в себя тип этого устройства, и другой пример включает в себя услуги или функции (например, печать и т.п.), предоставляемые этим устройством.
Устройство 103 - посредник устройства UpnP, в качестве первого устройства подключения, получает информацию места назначения (URLBase) сообщения в устройство (например, принтер 110), подключенное к первой сети 120, и передает полученную информацию места назначения (URLBase) в устройство 101, совместимое с UPnP, представленное в качестве второго устройства подключения, через вторую сеть 100.
Описанные выше процессы создания сообщения и передачи сообщения повторяют в описанном выше процессе получения информации.
<Генерирование и прекращение работы виртуального устройства UPnP>
Модуль 602 сервера HTTP UpnP-совместимого устройства 101 принимает сообщение SOAP, переданное из устройства 103 - посредника устройства UPnP. То есть, модуль 602 сервера HTTP выполняет функцию первого модуля подключения, подключенного ко второй сети 100, и принимает первую информацию места назначения (URLBase) сообщения в устройство (например, принтер 110), подключенное к первой сети 120, из устройства 103 - посредника устройства UPnP, представленного в качестве устройства подключения через вторую сеть 100.
Модуль 602 сервера HTTP пересылает принятое сообщение SOAP в модуль 600 управления воспроизведением, который обрабатывает это сообщение, используя модуль 603 обработки XML. Модуль 600 управления воспроизведением выделяет часть, соответствующую названию операции, часть, соответствующую аргументам, и т.п. сообщения SOAP на основе результата обработки.
Если название операции представляет собой "byebye", модуль 600 управления воспроизведением передает UDN в качестве значения аргумента сообщения SOAP в модуль 604 управления виртуальным устройством. После приема только UDN модуль 604 управления виртуальным устройством выполняет поиск в таблице 700 управления виртуальным устройством, используя UDN в качестве ключа, и удаляет соответствующую запись. Кроме того, модуль 604 управления виртуальным устройством передает в модуль 300 управления запрос на обработку для выдачи сообщения SSDP:BYEBYE для генерируемого виртуального устройства. Блок 300 управления передает инструкции в модуль 807 обнаружения для выдачи SSDP:BYEBYE, включающего в себя UDN в качестве аргумента, в основной модуль 801 управления. Модуль 807 обнаружения, который принял эту инструкцию, передает сообщение SSDP:BYEBYE, включающее в себя UDN в качестве аргумента (сообщение, которое уведомляет о том, что устройство этого UDN является недоступным), в сеть 105. После этого, основной модуль 801 управления заканчивает свой собственный процесс.
Если название операции представляет собой "remoteAlive", модуль 600 управления воспроизведением передает UDN в качестве значения аргумента и адрес IP или название хост-узла, соответствующее устройству 103 - посреднику устройства UPnP, и описание устройства и услуги сообщения SOAP (фиг.12) в модуль 604 управления виртуальным устройством.
После приема этих значений модуль 604 управления виртуальным устройством выделяет значения тэга "ControlURL" и тэга "eventSubURL" из описания устройства, используя модуль 603 обработки XML. Модуль 604 управления виртуальным устройством вставляет выделенные значения в элементы 702 и 703 таблицы 700 управления виртуальным устройством и UDN в элемент 701 таблицы 700 управления виртуальным устройством. Кроме того, модуль 604 управления виртуальным устройством перезаписывает элементы тэгов, как указано ниже, для создания информации, представленной на фиг.13.
Модуль 604 перезаписывает элемент тэга "friendlyName", используя значение, полученное путем добавления к исходному значению (значение, включенное в сообщение названия операции "remoteAlive", показанное на фиг.12), IP адрес или имя хост-узла, соответствующее устройству 103 - посреднику устройства UPnP, и ".". "friendlyName" представляет собой (считываемое человеком) имя устройства.
Модуль 604 перезаписывает элемент тэга "URLBase", используя URL, полученный путем комбинирования IP адреса устройства 101 - посредника устройства UPnP и номера порта. URLBase представляет собой URL, используемый как основа для доступа к устройству. Этот номер порта соответствует UDN (идентификатор, используемый для идентификации устройства), и устройство 101 - посредник устройства UPnP идентифицирует целевое устройство, используя этот номер порта.
Модуль 604 перезаписывает элемент тэга "SCPDURL" на "/service/service.xml". "SCPDURL" представляет собой URL, обозначающий файл XML, который описывает услуги, предоставляемые устройством. Модуль 604 перезаписывает элемент тэга "ControlURL" на "/control". Модуль 604 перезаписывает элемент тэга "eventSubURL" на "/event".
Модуль 604 управления виртуальным устройством создает страницу презентации, основанную на описании услуги, и создает новый процесс модуля устройства с использованием письменного описания устройства и описания услуги.
Основной модуль 801 управления сгенерированного блока устройства передает сообщение SSDP:ALIVE в сеть 105. Сообщение SSDP:ALIVE включает в себя URL описания устройства (значение заголовка LOCATION), UDN (значение заголовка USN представляет собой UDN), значение заголовка NTS (SSDP:ALIVE) и значение CACHE-CONTROL в качестве сообщения NOTIFY, описанного в разделе <Получение информации устройства UPnP>. URL описания устройства включает в себя значение URLBase, которое перезаписано, как описано выше. Значение CACHE-CONTROL представляет собой заранее заданное значение (например, 20 секунд).
Таким образом, основной модуль 801 управления выполняет функцию второго модуля подключения, который соединен с третьей сетью 105, и принимает сообщение по заранее заданному адресу (адресу IP устройства 101 - посредника устройства UPnP). Кроме того, модуль 604 управления виртуальным устройством выступает в роли блока генерирования, который генерирует вторую информацию места назначения (URLBase) сообщения для устройства путем прикрепления идентификатора (номера порта) устройства по заранее заданному адресу (адресу IP устройства 101 - посредника устройства UPnP). Основной модуль 801 управления передает сообщение, включающее в себя вторую информацию места назначения, по третьей сети.
Как описано выше, устройство 101 - посредник устройства UPnP, в качестве второго устройства подключения, принимает информацию, переданную от устройства 103 - посредника устройства UPnP, представленного в качестве первого устройства подключения, и передает, на основе принятой информации, сообщение (сообщение SSDP:ALIVE), которое указывает, что распознанное устройство является доступным в третьей сети 105. Это сообщение включает в себя информацию (URL) о местоположении сохранения описания устройства. Эта информация (URL) о местоположении сохранения генерируется путем комбинирования информации идентификации (IP адреса) устройства 101 - посредника устройства UPnP и идентификатора (номера порта), используемого для идентификации устройства (URLBase).
Устройство 101 - посредник устройства UPnP, в качестве второго устройства подключения, принимает первую информацию места назначения (URLBase), переданную из устройства 103 - посредника устройства UPnP, представленного в качестве первого устройства подключения, генерирует вторую информацию места назначения (URLBase) сообщения в устройство путем прикрепления идентификатора (номера порта) для устройства (например, принтеру 110) к идентификатору (IP адресу) устройства 101 - посредника устройства UPnP и передает сообщение (сообщение SSDP:ALIVE), включающее в себя сгенерированную вторую информацию места назначения (URLBase), по третьей сети. Следует отметить, что вторая информация места назначения обозначает URL, сформированный путем комбинирования адреса IP устройства 101 - посредника устройства UPnP и номера порта.
<Модуль управления устройством и модуль обработки события в блоке устройства>
Как описано выше, модуль 806 управления устройством управляет реальным устройством после приема запроса на управление от клиента UPnP. Однако новое устройство, которое генерируется в этом случае, представляет собой виртуальное устройство 110V, которое выполняет обработку для передачи запроса на управление в реальное устройство 110.
Аналогично, модуль обработки события также передает запросы на подписку на события и выработку события в реальное устройство 110.
Указанный выше вариант выполнения запрограммирован для выполнения универсальной обработки передачи, поскольку он не зависит от функций различных реальных устройств.
<Управление устройством>
ПК 102 пользователя может управлять виртуальным устройством, которое обнаружено по сообщению SSDP:ALIVE или тому подобное, как описано выше. ПК 102 пользователя определяет это виртуальное устройство, используя URLBase, включенный в сообщение SSDP:ALIVE.
После приема запроса на управление устройством от ПК 102 пользователя модуль 802 сервера HTTP устройства 101 - посредника устройства UPnP передает этот запрос в модуль 806 управления устройством. Адрес этого запроса на управление включает в себя URLBase. Устройство 101 - посредник устройства UPnP определяет виртуальное устройство, управление которым должно осуществляться на основе номера порта, включенного в этот URLBase, и соответствующий блок 303 устройства принимает и обрабатывает этот запрос на управление.
После приема запроса модуль 806 управления устройством запрашивает модуль 604 управления виртуальным устройством для выполнения поиска в отношении ControlURL в UDN через блок 300 управления, используя собственный UDN (UDN, соответствующий номеру порта, включенному в URLBase) в качестве ключа. После приема запроса на поиск модуль 604 управления виртуальным устройством выполняет поиск в таблице 700 управления виртуальным устройством, используя UDN. Модуль 604 управления виртуальным устройством выделяет значение элемента 702 ControlURL из соответствующей записи и передает его в модуль 806 управления устройством через модуль 300 управления.
После приема значения ControlURL модуль 806 управления устройством создает сообщение SOAP, которое описывает название операции "control" (управление) и значение ControlURL (значение, прикрепленное к URLBase) в качестве значения его аргумента и к которому прикреплен запрос, как показано на фиг.14, и передает это сообщение в устройство 103 - посредник устройства UPnP через модуль 803 клиента HTTP.
Более конкретно, когда устройство 101 - посредник устройства UPnP, в качестве второго устройства подключения, принимает первое сообщение передачи (запрос на управление), которое содержит вторую информацию назначения (URLBase) в качестве адреса от ПК 102 пользователя как устройства, подключенного к третьей сети 105, оно передает второе сообщение передачи (сообщение SOAP), которое включает в себя первую информацию места назначения (URLBase), соответствующую идентификатору (номер порта), включенному во вторую информацию места назначения (URLBase), и содержание первого сообщения передачи (запрос на управление), в устройство 103 - посредник устройства UPnP, представленное в качестве первого устройства соединения. Вторая информация места назначения представляет URL как комбинацию IP адреса устройства 101 - посредника устройства UPnP и номера порта.
После приема сообщения SOAP модуль 405 диспетчеризации из состава блока 301 анализа устройства 103 - посредника устройства UPnP обрабатывает это сообщение, используя модуль 403 обработки XML, и получает аргумент операции и приложенное сообщение (запрос управления из ПК 102 пользователя).
Модуль 405 диспетчеризации передает приложенное сообщение как сообщение SOAP в URL аргумента через модуль 402 - клиент HTTP. Таким образом, устройство 103 - посредник устройства UPnP, в качестве первого устройства подключения, принимает второе сообщение передачи (сообщение SOAP), переданное из устройства 101 - посредника устройства UPnP, представленного в качестве второго устройства соединения, и передает третье сообщение передачи (сообщение SOAP), которое включает в себя содержание первого сообщения передачи (запрос на управление), так что оно имеет первую информацию места назначения (URLBase) в качестве адреса.
После того, как модуль 405 диспетчеризации ожидает и принимает ответ на сообщение SOAP, он создает ответ на запрос SOAP с операцией "управление" и передает его обратно в устройство 101 - посредник устройства UPnP, так что к нему приложен ответ на запрос управления реального устройства.
После приема ответа на запрос SOAP модуль 806 управления устройством из состава блока 303 устройства устройства 101 - посредника устройства UPnP выделяет приложенное сообщение из сообщения ответа на запрос SOAP, используя модуль 804 обработки XML, и возвращает его в ПК 102 пользователя как ответ на запрос SOAP.
<Подписка на события устройства>
После приема запроса на подписку на событие устройства от ПК 102 пользователя модуль 802 сервера HTTP устройства 101 - посредника устройства UPnP пересылает значение CALLBACK, включенное в заголовок HTTP запроса на подписку на событие, в модуль 805 обработки события.
Модуль 805 обработки события, который принял значение CALLBACK, запрашивает модуль 604 управления виртуальным устройством вставить значения CALLBACK в элемент CallBackURL собственного UDN через модуль 300 управления, с тем, чтобы использовать этот UDN в качестве ключа.
После приема запроса модуль 604 управления виртуальным устройством выполняет поиск в таблице 700 управления виртуальным устройством, используя UDN. Модуль 604 управления виртуальным устройства вставляет значение CALLBACK в элемент 704 CallBackURL соответствующей записи. Кроме того, модуль 604 управления виртуальным устройством получает значение элемента 703 eventSubURL соответствующей записи.
После приема значения элемента 703 eventSubURL модуль 805 обработки события создает сообщение SOAP, которое включает в себя название операции "eventSub" и UDN, а также значение элемента 703 eventSubURL в качестве значений его аргументов, как показано на фиг.15, и передает это сообщение в устройство 103 - посредник устройства UPnP через модуль 803 клиента HTTP.
После приема сообщения SOAP модуль 405 диспетчеризации из состава блока 301 анализа устройства 103 - посредника устройства UPnP обрабатывает это сообщение, используя модуль 403 обработки XML, и получает аргумент операции.
Модуль 405 диспетчеризации передает сообщение подписки на события, определенное UPnP, в URL аргумента через модуль 402 - клиент HTTP. В этом случае модуль 405 диспетчеризации устанавливает значение заголовка CALLBACK, такое как <http://192.168.1.21:8022/uuid:hogeprinter000/event, используя UDN в качестве аргумента.
Модуль 405 диспетчеризации передает ответ SOAP в устройство 101 - посредник устройства UPnP.
<Обработка события устройства>
Когда из реального устройства 110 поступает отчет о событии, модуль 405 диспетчеризации устройства 103 - посредника устройства UPnP принимает его и выделяет UDN устройства из принятого каталожного имени. Модуль 405 диспетчеризации затем создает сообщение SOAP, которое включает в себя название операции "event" (событие) и UDN в качестве аргумента и к которому прикреплено сообщение о событии, отчет о котором поступил из устройства 110, как показано на фиг.16, и передает созданное сообщение SOAP в устройство 101 - посредник устройства UPnP.
Модуль 602 сервера HTTP устройства 101 - посредника устройства UPnP принимает сообщение SOAP и обрабатывает его, используя модуль 603 обработки XML. Модуль 600 управления воспроизведением получает UDN и прикрепленное сообщение из результата обработки.
Модуль 600 управления воспроизведением запрашивает модуль 604 управления виртуальным устройством для получения значения элемента CallBackURL UDN через модуль 300 управления, с тем, чтобы использовать UDN в качестве ключа.
После приема запроса модуль 604 управления виртуальным устройством выполняет поиск в таблице 700 управления виртуальным устройством, используя UDN. Модуль 604 управления виртуальным устройством выделяет это значение из элемента 704 CallBackURL в соответствующей записи.
Модуль 600 управления воспроизведением получает значение элемента CallBackURL через модуль 300 управления и передает сообщение SOAP, прикрепленное к этому значению.
Вариант выполнения 2
В представленном выше описании при обработке соединения устройства - посредника UPnP IP адрес или имя хост-узла, соответствующее устройству 103 - посреднику устройства UPnP, вводят в область ввода текста браузера. В качестве альтернативы, обработка соединения устройства - посредника UPnP может быть получена с использованием сервера 2001 регистрации устройства - посредника UPnP, подключенного к сети 100, как показано на фиг.17.
<Модульная компоновка и функция сервера регистрации устройств - посредников устройства UPnP>
На фиг.18 показана блок-схема, представляющая модульную компоновку сервера 2001 регистрации устройств - посредников устройства UPnP, в качестве примера одного варианта выполнения настоящего изобретения.
Сервер 2001 регистрации устройств - посредников устройства UPnP, который регистрирует и управляет устройствами - посредниками устройства UPnP и предоставляет их информацию, содержит модуль 2100 управления регистрацией, модуль 2101 сервера HTTP, модуль 2102 управления таблицей и модуль 2103 обработки XML.
Модуль 2100 управления регистрацией управляет модулем 2101 сервера HTTP, модулем 2102 управления таблицей и модулем 2103 обработки XML и выполняет обмен данными с интерфейсами соответствующих модулей.
Модуль 2101 сервера HTTP имеет ту же функцию, что и функция модуля 602 сервера HTTP.
Модуль 2102 управления таблицей имеет таблицу 2200 управления посредниками UPnP (которая будет описана ниже), используемую для управления информацией, относящейся к устройствам - посредникам устройства UPnP, и имеет функцию выполнения поиска, добавления, изменения и удаления данных в этой таблице.
Модуль 2103 обработки XML имеет ту же функцию, что и модуль 403 обработки XML.
<Таблица управления посредниками UPnP>
На фиг.19 показано концептуальное изображение таблицы 2200 управления посредниками UPnP, содержащейся в модуле 2102 управления таблицей, которая представляет собой пример одного варианта выполнения настоящего изобретения.
Таблица 2200 управления посредниками UPnP включает в себя элемент 2201 HostName, элемент 2202 IpAddress, элемент 2203 Place и элемент 2204 Comment. Таблица 2200 управления посредниками UPnP позволяет выполнить поиск, считывание/запись, добавление и удаление соответствующих элементов.
В элементе 2201 HostName записано имя хост-узла, соответствующее устройству - посреднику устройства UPnP. В элементе 2202 IPAddress записан адрес IP устройства - посредника устройства UPnP. В элементе 2203 Place записана информация, относящаяся к местоположению установки или т.п. устройства - посредника устройства UPnP. В элементе 2204 Comment сохранена произвольная информация или т.п., относящаяся к устройству - посреднику устройства UPnP.
<Регистрация посредника устройства UPnP>
Процедура обработки для регистрации устройства 101 - посредника устройства UPnP будет описана ниже.
После двойного щелчка мышью по пиктограмме, обозначающей устройство 101 - посредник устройства UPnP в папке "Сетевое окружение" программы Проводник (поставляется компанией Microsoft Corporation), запускается браузер, такой как Internet Explorer (поставляется компанией Microsoft Corporation), и отображается страница, показанная на фиг.20.
Пользователь ПК 102 пользователя вводит соответствующую информацию в области ввода текста "place" (местоположение) и "comment" (комментарий) в "proxy registration" (регистрация посредника) и нажимает кнопку регистрации. Одновременно с нажатием кнопки регистрации пользователем ПК 102 пользователя ПК 102 пользователя передает сообщение, и модуль 802 сервера HTTP устройства 101 - посредника устройства UPnP принимает это сообщение.
Основной модуль 801 управления получает местоположение и комментарий, введенные пользователем, из этого сообщения, получает имя хост-узла и IP адрес самого устройства и создает сообщение SOAP, показанное на фиг.21, используя название операции "registration" (регистрация) и местоположение, комментарий, имя хост-узла и IP адрес в качестве ее аргументов. Основной модуль 801 управления затем передает сообщение SOAP в сервер 2001 регистрации устройств - посредников устройства UPnP через модуль 803 клиента HTTP.
Модуль 2101 сервера HTTP принимает сообщение SOAP и обрабатывает его, используя модуль 2103 обработки XML. Модуль 2100 управления регистрацией получает имя хост-узла и IP адрес устройства 101 - посредника устройства UPnP, а также значения полей Place и Comment, введенные пользователем, в качестве результата обработки сообщения SOAP. Модуль 2100 управления регистрацией передает полученное значение в модуль 2102 управления таблицей, который вставляет эти значения в таблицу 2200 управления посредниками UPnP. После вставки модуль 2100 управления регистрацией передает ответ на запрос SOAP в устройство 101 - посредник устройства UPnP.
После приема ответа на запрос SOAP модуль 803 клиента HTTP устройства 101 - посредника устройства UPnP передает сообщение - ответ SOAP в основной модуль 801 управления, который обрабатывает это сообщение, используя модуль 804 обработки XML. Основной модуль 801 управления отображает страницу, которая содержит соответствующие советы, относящиеся к использованию браузера ПК пользователя, на основе результата обработки.
<Соединение с использованием сервера регистрации устройств - посредников устройства UPnP>
Процедура обработки соединения с использованием сервера регистрации устройств - посредников устройства UPnP будет описана ниже.
После двойного щелчка мышью по пиктограмме, обозначающей устройство 101 - посредник устройства UPnP в папке "Сетевое окружение" программы Проводник (поставляется компанией Microsoft Corporation) в ПК 102 пользователя, запускается браузер, такой как Internet Explorer (поставляется компанией Microsoft Corporation), и отображается страница, показанная на фиг.20.
То есть, когда пользователь ПК 102 выполняет двойной щелчок мышью по пиктограмме, обозначающей устройство 101 - посредник устройства UPnP, для установления соединения с устройством 101 - посредником устройства UPnP, устройство 101 - посредник устройства UPnP получает зарегистрированную информацию (включающую имя хост-узла или IP адрес в качестве информации, относящейся к устройству 101 - посреднику устройства UPnP) от сервера 2001 регистрации устройств - посредников устройства UPnP. ПК 102 пользователя отображает страницу, показанную на фиг.20, представляя информацию, полученную устройством 101 - посредником устройства UPnP.
Пользователь ПК 102 выбирает имя хост-узла, который должен быть подключен (имя хост-узла, соответствующее устройству 101 - посреднику устройства UPnP), из списка "список мест назначения соединения", подтверждает поля местоположения и комментария и нажимает кнопку соединения.
Следует отметить, что сторона устройства 103 - посредника устройства UPnP также выполняет обработку регистрации устройства 103 - посредника устройства UPnP в сервере 2001 регистрации устройств - посредников устройства UPnP. На фиг.20 показано, что "место" "регистрации посредника" представляет собой "офис 1 в Токио", и в качестве "комментария" содержит запись "принтер доступен".
После этого выполняется та же обработка (обработка после передачи сообщения с запросом на соединение в устройство 101 - посредник устройства UPnP), как и после ввода IP адреса или имени хоста, соответствующего устройству 103 - посреднику устройства UpnP, в область ввода текста браузера и нажатия кнопки соединения браузера, согласно варианту выполнения 1 <Обработка соединения устройства - посредника устройства UPnP>.
Другие варианты выполнения
Цели настоящего изобретение также достигаются путем использования носителя информации (или носителя записи), на котором записан программный код программного обеспечения, которое позволяет выполнять функции указанных выше вариантов выполнения, в системе или устройстве и считывания и исполнения программного кода, сохраненного на носителе информации, с помощью компьютера (или ЦПУ или микропроцессора) системы или устройства. В этом случае сам программный код, считанный с носителя сохранения информации, реализует функции указанных выше вариантов выполнения, и носитель информации, на котором сохранен программный код, составляет настоящее изобретение. Функции указанных выше вариантов выполнения могут быть реализованы не только путем выполнения программного кода, считываемого компьютером, но также путем выполнения некоторых или всех действительных операций обработки, исполняемых операционной системой (OS), работающей на компьютере, на основе инструкций программного кода.
Кроме того, функции указанных выше вариантов выполнения могут быть реализованы некоторыми или всеми действительными операциями обработки, исполняемыми ЦПУ или т.п., расположенном на функциональной карте расширения или в функциональном модуле расширения, который вставляют в или соединяют с компьютером, после того, как программный код, считанный с носителя сохранения информации, будет записан в запоминающее устройство карты или модуля расширения.
Настоящее изобретение не ограничивается описанными выше вариантами выполнения, и различные его изменения и модификации могут быть выполнены в пределах сущности и объема настоящего изобретения. Поэтому для определения объема настоящего изобретения приложена следующая формула изобретения.
Испрашивание приоритета
По настоящей заявке испрашивается приоритет Заявки № 2004-126845 на японский патент, поданной 22 апреля 2004 г., которая полностью включена в материалы настоящей заявки посредством ссылки.
Изобретение относится к технике связи. Технический результат - обеспечение распознавания устройства и уведомление о собственных функциях. Для этого устройство - посредник устройства UPnP распознает устройство, подключенное к сети, и передает информацию, относящуюся к распознанному устройству, в устройство - посредник устройства UPnP. Устройство - посредник устройства UPnP принимает информацию, переданную от устройства - посредника устройства UpnP, и передает, на основе принятой информации, сообщение, указывающее, что распознанное устройство доступно по сети. 1 з.п. ф-лы, 21 ил.
первая аппаратура подключения принимает сообщение, широковещательная передача в первую сеть которого периодически осуществляется устройством, подключенным к первой сети, получает информацию, относящуюся к устройству, на основе принятого сообщения и передает сообщение, включающее в себя упомянутую информацию, относящуюся к устройству, на вторую аппаратуру подключения через вторую сеть, когда полученная информация не сохранена в таблице в первой аппаратуре подключения для хранения информации, относящейся к устройству,
вторая аппаратура подключения принимает информацию, переданную от первой аппаратуры подключения, через вторую сеть и передает, на основе принятой от первой аппаратуры подключения информации, в третью сеть сообщение, указывающее, что устройство доступно,
первая аппаратура подключения передает заранее определенное сообщение на вторую аппаратуру подключения через вторую сеть, когда принятое от устройства сообщение указывает, что устройство недоступно, и
вторая аппаратура подключения передает в третью сеть сообщение, указывающее, что устройство не доступно, когда сообщением, принятым от первой аппаратуры подключения, является упомянутое заранее определенное сообщение.
Способ приготовления мыла | 1923 |
|
SU2004A1 |
Топчак-трактор для канатной вспашки | 1923 |
|
SU2002A1 |
КОМПЬЮТЕРНО-ТЕЛЕКОММУНИКАЦИОННОЕ УСТРОЙСТВО (ТЕЛЕКОММУНИКАЦИОННЫЙ ОРГАНАЙЗЕР (ТОГ)) | 1997 |
|
RU2127448C1 |
Способ приготовления мыла | 1923 |
|
SU2004A1 |
Способ и приспособление для нагревания хлебопекарных камер | 1923 |
|
SU2003A1 |
Способ приготовления мыла | 1923 |
|
SU2004A1 |
Авторы
Даты
2009-01-27—Публикация
2005-04-07—Подача