МЕЖСЕТЕВОЙ РОУМИНГ И РАЗРЕШЕНИЕ ВЕБ-СЛУЖБ ДЛЯ УСТРОЙСТВ
INTERCELL ROAMING AND WEB SERVICE AUTHORISATION FOR DEVICES

Уровень техники
Преобразователь сетевых адресов (ПСА) представляет собой устройство, которое может преобразовывать адреса протокола Интернета (ПИ) и номера портов протокола управления передачей (ПУП)/протокола дейтаграмм пользователя (ПДП) пакетов данных, когда передаются пакеты. Например, сеть малого предприятия с многочисленными компьютерами, которые подключаются к Интернету, могут использовать ПСА для таких подключений. Предприятие такого типа обычно должно получить общий адрес ПИ для каждого компьютера в сети от провайдера услуг Интернета (ПУИ). С ПСА, однако, малое предприятие может использовать частную адресацию, и ПСА отображает его частные адреса на единственный или многочисленные общие адреса ПИ. ПСА представляет собой общее решение для следующей комбинации требований: применение по-новому единственного подключения, а не подключение многочисленных компьютеров к Интернету; использование частной адресации; и обеспечение доступа к ресурсам Интернета без необходимости применения прокси-сервера. Также эти преобразователи обеспечивают тип защиты с помощью брандмауэра посредством скрытия внутренних адресов ПИ, и они дают возможность компаниям применять больше внутренних адресов ПИ, так как нет возможности для конфликтной ситуации с адресами вне частного домена компаний.
Одним главным недостатком в технологии ПСА является то, что существует множество различающихся протоколов, которые могут применяться для преобразования сетевого трафика. Например, многие потребительские или домашние системы используют технологии конического, полного конического или ограниченного конического ПСА, посредством чего некоторые маршрутизаторы могут работать в качестве конического ПСА для трафика ПДП и работать в качестве симметричного ПСА для трафика ПУП. В корпоративных ситуациях более вероятно использование симметричного ПСА вместе с аппаратными или программными брандмауэрами. В настоящее время, чтобы передавать данные по протоколам различных типов, требуется интенсивное ручное конфигурирование, чтобы правильно сконфигурировать ПСА для передачи данных по одному из вышеупомянутых протоколов. Однако многие сетевые ситуации могут потребовать применение более одного протокола, чтобы происходили передачи данных между удаленными приложениями.
Другие проблемы имеют место, когда хосты перемещаются из одной сети в другую, причем хосты могут полагаться на локальную сеть для назначения их сетевого адреса. Этим адресом может быть полный маршрутизируемый адрес по Интернету, или он может быть немаршрутизируемым адресом, который находится за системой преобразования сетевых адресов (ПСА). Эти хосты имеют то, что обычно известно как динамические адреса ПИ или адрес ПИ с ПСА. Устройства с адресом ПИ с ПСА, в основном, не имеют возможности принимать поступающие подключения ПУП для служб, если только они не имеют некоторый способ регистрации порта, подлежащего переотображению системой ПСА для этой конкретной службы хоста. В основном, нельзя, чтобы другой хост в Интернете обнаружил этот назначенный адрес или отображенный порт для этой службы, используя обычное средство обнаружения адреса, такое как система доменных имен (СДИ) или служба. Хотя существуют некоторые службы для решения проблем динамического ПИ (система динамических доменных имен (СДДИ)), они, как правило, не работают с кэширующими серверами СДИ и также они, как правило, не могут разрешать динамические номера портов.
Раскрытие изобретения
Ниже раскрыта сущность изобретения для обеспечения понимания некоторых аспектов, описанных в данном документе. Это раскрытие не представляет собой подробный обзор и не предназначено для того, чтобы ни определять ключевые/критические элементы, ни схематически изображать объем различных аспектов, описанных в данном документе. Его исключительной целью является представление некоторых принципов в упрощенном виде в качестве вступления для более подробного описания, которое представлено ниже.
Обеспечиваются системы и способы для автоматического определения и конфигурирования возможностей передачи данных между выполняющими роуминг или мобильными сетевыми устройствами. Проблемы с обычными системами, которые необходимо вручную конфигурировать и предварительно регистрировать на большой серверной системе, уменьшаются посредством создания службы разрешения, которую хосты могут применять для обнаружения адреса протокола Интернета (ПИ) или номера порта связанной с ними службы роуминга вместе с дополнительной информацией о службах. Например, после того как устройство или компонент получил адрес ПИ и отобразил порт при помощи системы преобразователя сетевых адресов (ПСА), устройство может обращаться к соответствующей службе разрешения и, таким образом, регистрировать его соответствующую пару адрес ПИ/порт автоматическим образом. Служба разрешения или другая служба разрешения также может использоваться для автоматического/динамического определения расположения представляющих интерес других сетевых компонентов. Служба разрешения может существовать по статическому адресу ПИ и с общеизвестным номером порта, если требуется, но также может включать в себя динамические компоненты, используя службу динамических доменных имен (ДИН-СДИ), например, при помощи общеизвестного или предварительно определенного идентификатора порта. Могут применяться другие способы разрешения для разрешения самой службы разрешения (например, может использоваться протокол разрешения одноранговых сетей (ПРОС) для нахождения службы разрешения).
Служба разрешения может разрешаться с использованием стандартной СДИ или СДДИ и может необязательно разрешать, используя протокол разрешения одноранговых сетей. Хосты, заинтересованные в обращении к службам на выполняющих роуминг хостах, в основном, обращаются к провайдеру или службе разрешения для определения последнего известного адреса ПИ и порта для выполняющих роуминг устройств. Эти мобильные хосты затем могут непосредственно обращаться к службе по этой паре адреса ПИ/порта. Одним преимуществом этого решения над другими возможными решениями является то, что оно, в основном, не требует центрального сервера или модификаций инфраструктуры Интернета. Конкретный пример решаемой проблемы включает в себя случай, когда два или более портативных компьютера перемещаются по миру с хостом веб-служб на одном портативном компьютере и клиентом веб-служб - на другом. Эти портативные компьютеры являются выполняющими роуминг гостями в «общедоступных» сетях, таких как Гостиница и общественная точка радиодоступа в одном конкретном примере. Таким образом, один портативный компьютер имеет информацию о ценах на сырье, и другой применяет сырье для динамического создания руководства по продажным ценам для торгового персонала. Как понятно, могут поддерживаться многочисленные применения, такие как, например, антикварные вещи или винные товары. Другие аспекты системы включают в себя системы и способы прослеживания ПСА, так что может выполняться прослеживание каскадных компонентов ПСА в одном примере для поддержки различных автоматизированных определений адреса и конфигураций.
Для осуществления вышесказанного и связанных с ним результатов в данном документе описаны некоторые иллюстративные аспекты в связи с последующим описанием и прилагаемыми чертежами. Эти аспекты указывают на различные пути, которые могут быть осуществлены на практике, все из которых, как предполагается, охватываются данным документом. Другие преимущества и новые признаки могут стать очевидными из последующего подробного описания, рассматриваемого совместно с чертежами.
Краткое описание чертежей
Фиг.1 представляет собой схематическую блок-схему, иллюстрирующую сетевой роуминг и систему разрешения.
Фиг.2 представляет собой блок-схему последовательности операций, иллюстрирующую процесс провайдера разрешения.
Фиг.3 представляет собой блок-схему последовательности операций, иллюстрирующую процесс разрешения ПСА.
Фиг.4-7 иллюстрируют примерные системы для автоматизированного определения разрешения адресов.
Фиг.8 представляет собой примерную систему обнаружения для клиентских систем и служб.
Фиг.9 представляет собой схематическую блок-схему, иллюстрирующую подходящую операционную среду.
Фиг.10 представляет собой схематическую блок-схему среды примерного вычисления.
Осуществление изобретения
Обеспечиваются системы и способы, которые способствуют автоматизированному определению сетевых адресов и передаче данных между выполняющими роуминг одноранговыми узлами сети. В одном аспекте обеспечивается сетевая система передачи данных. Система включает в себя способы для обновления провайдера разрешения текущим адресом хоста и для определения адреса службы выполняющих роуминг хостов и информации о порте. Другие процессы включают в себя открытие портов при помощи преобразователей сетевых адресов и открытие портов в связи с каскадными преобразователями сетевых адресов.
Как используется в данной заявке, термины «компонент», «преобразователь», «система», «объект» и т.п., как предполагается, ссылаются на относящиеся к компьютеру сущности, или аппаратные, или комбинации аппаратных и программных, программные или программные при исполнении. Например, компонент может быть, но не ограничивается ими, процессом, выполняющимся на процессоре, процессором, объектом, исполняемым файлом, потоком управления, программой и/или компьютером. В качестве иллюстрации, как приложение, выполняющееся на сервере, так и сервер могут быть компонентом. Один или несколько компонентов могут постоянно находиться в процессе и/или потоке управления, и компонент может локализоваться на одном компьютере и/или распределяться между двумя или более компьютерами. Также эти компоненты могут исполняться с различных считываемых компьютером носителей, имеющих различные структуры данных, хранящиеся на них. Эти компоненты могут передавать данные при помощи локальных и/или удаленных процессов, таких как в соответствии с сигналом, имеющим один или несколько пакетов данных (например, данные от одного компонента, взаимодействующие с другим компонентом в локальной системе, распределенной системе и/или по сети, такой как Интернет, с другими системами при помощи сигнала).
На фиг.1 изображена автоматизированная система 100 роуминга и разрешения. Система 100 включает в себя сеть 110 (например, Интернет), где одно или несколько выполняющих роуминг устройств 120 могут устанавливать передачу данных по сети. Система 100 включает в себя провайдер 130 разрешения для определения сетевого адреса для устройств 120 и компонент 140 обнаружения, способствующий автоматизированному определению адреса. Может быть предусмотрен компонент 150 событий для обновления провайдера 130 разрешения или компонента 140 обнаружения изменениями маршрутизации устройств 120, когда они перемещаются из одного расположения в другое. Может быть предусмотрен компонент 160 прослеживания для изолирования устройств 120 или адресов маршрутов из сети 110 на устройства или, альтернативно, обеспечения поддержки брандмауэра. Компонент 160 прослеживания может включать в себя один или несколько преобразователей сетевых адресов (ПСА), которые работают в соответствии с множеством протоколов ПСА. Такие протоколы позволяют выполнять передачу данных между одним или несколькими приложениями конечного пользователя.
В одном аспекте система 100 обеспечивает систему, где расположение связанных с ней устройств 120 может разрешаться, в основном, не требуя централизованных серверов или изменения инфраструктуры Интернета. Провайдер 130 разрешения может хранить, например, дружественное имя устройства, глобально уникальный идентификатор (ГУИД), пару общего адреса ПИ/порта, пару частного адреса ПИ/порта, время истечения действия туннеля ПСА и порт для маршрутизации на устройство. Провайдеры разрешения устройств могут выполняться на общеизвестном порте по статическому или динамическому адресу ПИ, который может достигаться, например, при помощи просмотра СДИ. Устройства 120 могут регистрировать свое текущее расположение на одном или нескольких провайдерах разрешения устройств, если требуется. Провайдер 130 разрешения, в основном, доступен с использованием дружеского имени из службы доменных имен (СДИ). Провайдер 130 разрешения отвечает на запросы на транспортные адреса дружественных имен устройств или ГУИД. Также провайдер 130 разрешения может иметь списки управления доступом (СУД) для запросов и может аутентифицировать обновления расположений при помощи защищенного сокета, например, уровня защищенных сокетов (УЗС)/протокола защиты транспортного уровня (ЗТУ), используя сертификаты клиента и сервера, совместно используемого ключа или механизма обеспечения безопасности другого типа.
Система 100 предусматривает автоматическое определение и конфигурирование возможностей передачи данных между выполняющими роуминг или мобильными сетевыми устройствами 120. Проблемы с обычными системами, которые необходимо конфигурировать вручную и предварительно регистрировать на большой серверной системе, уменьшаются посредством создания службы разрешения, которую хост может применять для обнаружения адреса протокола Интернета (ПИ) или номера порта связанной с ним службы роуминга вместе с дополнительной информацией о службах. Например, после того как устройство 120 или компонент получили адрес ПИ и отобразили порт при помощи компонента 160 преобразователя сетевых адресов (ПСА), устройство может обращаться к соответствующей службе 130 разрешения и, таким образом, регистрировать свою соответствующую пару адреса ПИ/порта автоматическим образом. Аналогично, она может обращаться к этой же или другой службе 130 разрешения для автоматического/динамического определения расположения представляющих интерес других сетевых компонентов. Служба разрешения может существовать по статическому адресу ПИ и по общеизвестному номеру порта, если требуется, но также может включать в себя динамические компоненты, используя службу динамических доменных имен (ДИН-СДИ), например, при помощи общеизвестного или предварительно определенного идентификатора порта. Она также может располагаться, используя протокол разрешения имен одноранговых узлов сети (ПРИО) до ПРИО шлюза СДИ непосредственно или другое имя для адресования службы разрешения.
Служба или провайдер 130 разрешения может разрешать адреса, используя свою внутреннюю базу данных транспортных адресов. Хосты, заинтересованные в обращении к службам на выполняющих роуминг хостах, как правило, обращаются к провайдеру 130 разрешения или службе для определения последнего известного адреса ПИ или порта для выполняющих роуминг устройств 120. Эти мобильные хосты затем могут непосредственно обращаться к службе по этой паре адреса ПИ/порта. Одним преимуществом этого решения над другими возможными решениями является то, что оно, как правило, не требует центрального сервера или модификаций инфраструктуры Интернета. Конкретный пример проблемы, решаемой системой 100, представляет собой два или более портативных компьютера, перемещающихся по различным расположениям, при этом веб-служба находится на одном портативном компьютере и клиент веб-службы - на другом. Очевидно, что могут поддерживаться многочисленные приложения передачи данных. Другие аспекты включают в себя системы и способы прослеживания ПСА, так что каскадные компоненты 160 ПСА могут прослеживаться в одном примере для поддержки автоматизированных определений адреса и отображений порта для устройства 120.
Фиг.2 и 3 иллюстрируют автоматизированные процессы разрешения адресов для выполняющих роуминг устройств. Хотя, с целью упрощения объяснения, методологии изображены и описаны в виде последовательности или ряда действий, необходимо понять и оценить, что рассматриваемая методология не ограничивается порядком действий, так как некоторые действия могут происходить в другом порядке и/или одновременно с другими действиями, отличными от тех, которые изображены и описаны в данном документе. Например, специалист в данной области техники поймет и оценит, что методология, альтернативно, могла быть представлена в виде последовательности взаимосвязанных состояний или событий, таких как в диаграмме состояний. Кроме того, не все изображенные действия могут потребоваться для осуществления методологии, описанной в данном документе.
На фиг.2 изображен примерный процесс 200 провайдера разрешения. В этом аспекте, на этапе 210, способ иллюстрируется для обновления провайдера разрешения текущим транспортным адресом хоста. Он включает в себя посылку сообщения для обновления провайдера разрешения на этапе 220 и посылку параметров провайдеру разрешения на этапе 230. Например, служба выполняющего роуминг хоста посылает сообщение простого протокола доступа к объектам (ППДО), используя, например, сообщение WS-Eventing (управления событиями веб-служб), провайдеру разрешения с изменением события расположения. На этапе 230 это событие, например, включает в себя дружественное имя служб, ГУИД, пару маршрутизируемого общего адреса ПИ/порта, пару частного адреса ПИ/порта, период резервирования адреса ПИ и период резервирования туннеля ПСА.
На этапе 240 обеспечивается способ определения адреса и порта ПИ службы выполняющего роуминг хоста. Он включает в себя разрешение адреса хоста при помощи направленного WS-Discovery (обнаружения веб-служб) на этапе 250 и ответ совпадением транспортного адреса на запрос обнаружения на этапе 260. В данном примере, чтобы разрешить адрес и порт службы хоста, хост клиента использует глобально уникальный идентификатор (ГУИД) и выполняет разрешение, используя направленное обнаружение провайдера разрешения. На этапе 260 провайдер разрешения отвечает совпадением разрешения, содержащим информацию об адресе и порте для адреса службы хоста.
Фиг.3 иллюстрирует примерный процесс 300 для прослеживания преобразователей сетевых адресов. Способ 300 для обновления провайдера разрешения текущим адресом хоста и для открытия каскадных преобразователей сетевых адресов (ПСА). Процесс 300 включает в себя автоматическое обнаружение параметров ПСА или брандмауэра на этапе 310 и запрос сетевого адреса на этапе 320. Из этого выбирается адрес для выполняющего роуминг устройства из пула устройств на этапе 330. На этапе 340 провайдер разрешения отвечает устройству внешним адресом для передачи данных, тогда как на этапе 350 автоматически открывается множество каскадных ПСА. Для иллюстрации процесса 300 можно применить следующие примеры.
Хост, который спрятан за ПСА или брандмауэром, сначала должен обнаружить, что они закрыты от Интернета и не могут принимать внешне инициированные подключения. Хост, желающий получить внешний доступ, должен использовать, например, WS-Discovery для поиска разрешенного WSD (WS-Discovery) ПСА или брандмауэра. Хост затем запрашивает пару внешнего адреса ПИ и порта у разрешенного WSD ПСА/брандмауэра. Хост может представить мандат обеспечения безопасности ПСА/брандмауэру для демонстрации того, что он авторизован на прием внешне инициированных подключений. ПСА/брандмауэр может выбрать адрес протокола Интернета (ПИ) из его пула устройств ПИ и порт из пула для этого адреса ПИ и затем отобразить порт и адрес ПИ на пару внутреннего адреса ПИ/порта хоста. ПСА/брандмауэр затем может ответить устройству хоста внешне отображаемым адресом ПИ и номером порта вместе, например, с периодом резервирования. На этапе 350 обеспечивается процесс открытия каскадных ПСА. Например, когда хост располагается за двумя или более ПСА, которые подключены каскадно, ответственностью нижнего ПСА является выполнение, например, WS-Discovery для восходящих ПСА/БМ (брандмауэр) и запрос на отображение порта и адреса ПИ для хоста на один из его внешних портов. В свою очередь, восходящий ПСА/БМ может отображать пару маршрутизируемого адреса ПИ/порта и возвращать это значение нижнему ПСА. Мандат для устройства хоста или нижнего ПСА может применяться для авторизации каждого ПСА для открытия портов.
Фиг.4 иллюстрирует примерную систему 400 для разрешения адресов. В данном примере обеспечивается клиент 410 цифровой камеры для службы WS Storage (хранение веб-служб) во внутренней сети. Камера 410 хранит изображения непосредственно на персональном компьютере 420 в соответствии со следующей последовательностью: служба хранения веб-служб (СХВС) запрашивает пару внешнего адреса ПИ/порта, используя, например, веб-службы, основанные на языке описания веб-служб (ЯОВС) шлюзового устройства Интернета (ШУИ). Затем СХВС посылает обновление регистрации своей службе разрешения, которая может быть в ШУИ. ШУИ хранит пару внешнего адреса ПИ/порта и внутреннего адреса ПИ/порта для СХВС, и служба обнаружения ШУИ прослушивает запросы разрешения для СХВС. Камера 410 подключается к службе обнаружения по внешнему адресу ШУИ, и ШУИ обнаруживает сообщение разрешения, инициированное с локально отображенного устройства. ШУИ разрешает пару внутреннего адреса ПИ и порта службы хранения, и камера 410 подключается непосредственно к службе хранения портативного компьютера 420. Камера 410 (или любое сетевое устройство) также может повторить это для службы 430 принтера или, по существу, для любой другой службы.
На фиг.5 изображена система 500 разрешения внешнего сетевого расположения. В данном примере примерная система 500 может работать следующим образом. Камера 510 (или другое выполняющее роуминг устройство) подключается к службе обнаружения по внешнему адресу ШУИ и обновляет его информацию о транспортном адресе. Служба 520 хранения перемещается в новую сеть и обновляет информацию о транспортном адресе на ШУИ. Камера 510 выполняет передачу данных службе 520 хранения, поэтому она посылает запрос разрешения на ШУИ. ШУИ разрешает, например, пару общего адреса ПИ и порта службы хранения по Интернету. Камера 510 затем подключается непосредственно к службе хранения портативного компьютера при помощи его общего адреса и обратного ПСА. Службе хранения может потребоваться разрешить камеру, и она может это сделать посредством посылки сообщения разрешения на ШУИ.
На фиг.6 изображена альтернативная система 600 разрешения внешнего сетевого расположения. В данном примере примерная система 600 работает следующим образом. Камера 610 (или другое устройство) подключается к службе обнаружения по внешнему адресу ШУИ. ШУИ разрешает пару общего адреса ПИ и порта службы хранения. Камера 610 подключается непосредственно к службе хранения портативного компьютера 620 при помощи общего адреса и обратного ПСА. Камера 620 повторяет запрос веб-службы принтера 630 (или другого устройства) и подключается к принтеру или другому устройству при помощи общего адреса ШУИ и обратного ПСА.
На фиг.7 изображена примерная система 700 прослеживания преобразователей сетевых адресов. В данном примере система подает маршрутизируемый адрес ПИ Интернета и порт на устройстве ПВС и обеспечивает туннель ПУП по этой паре маршрутизируемого адреса ПИ/порта на устройство ПВС, которое может быть за одним или несколькими ПСА. Например, она может включать в себя ШУИ2 (710) и ШУИ1 (720) в качестве клиента и серверов ПВС, где ШУИ0 (730) представляет собой сервер ПВС и модуль-посредник обнаружения. Портативный компьютер 740 запрашивает пару внешнего адреса ПИ и порта у локального ШУИ (ШУИ2) 710. ШУИ2 отображает порт и запрашивает пару внешнего порта, отображающую с восходящего ШУИ1 (720). ШУИ1 отображает порт и запрашивает пару внешнего порта с восходящего ШУИ0 (730). ШУИ0 отображает порт и отвечает ШУИ1 (720) парой внешнего адреса ПИ и порта и периодом резервирования. ШУИ1 пропускает внешний адрес ПИ/порт на ШУИ2 (710), который пропускает пару адреса ПИ/порта на портативный компьютер 740 (или другое вычислительное устройство). Портативный компьютер 740 теперь может использовать пару внешнего адреса ПИ/порта для регистрации своего расположения у провайдера разрешения.
Фиг.8 представляет собой примерную систему 800 обнаружения для систем клиентов и служб. Система 800 включает в себя одного или нескольких клиентов 810, которые пытаются передать данные одной или нескольким целевым службам 820 при помощи протокола 830 обнаружения. Как изображено, одно или несколько тестовых сообщений 840 могут быть направлены между клиентами 810 и службами 830 для установления подключений, причем соответствующие сообщения могут быть направлены от служб в ответ на тестовые сообщения.
Как правило, многоадресный протокол обнаружения может быть предусмотрен для определения расположения служб 820. Основным режимом обнаружения является клиент 810, ищущий одну или несколько целевых служб 820. Чтобы найти целевую службу 820 по типу целевой службы, области действия, в которой находится целевая служба, или обеим, клиент посылает тестовое сообщение 840 многоадресной группе; целевые службы, которые соответствуют тестовому сообщению, посылают ответ непосредственно клиенту 810. Чтобы определить расположение транспортного адреса целевой службы по имени, клиент 810 посылает сообщение запроса разрешения этой же многоадресной группе, и, снова, целевая служба 820, которая соответствует, посылает ответ непосредственно клиенту. Чтобы минимизировать необходимость опроса, когда целевая служба присоединяется к сети, она посылает сообщение уведомления этой же многоадресной группе. Посредством прослушивания этой многоадресной группы клиенты 810 могут обнаружить вновь доступные целевые службы без многократных посылок тестовых сообщений.
Чтобы масштабировать большое количество конечных точек, может быть предусмотрен режим подавления многоадресности, если в сети доступен модуль-посредник обнаружения. Конкретно, когда модуль-посредник обнаружения обнаруживает тестовое сообщение или запрос разрешения, посланный посредством многоадресной передачи, модуль-посредник обнаружения посылает уведомление для себя. Посредством прослушивания этих уведомлений клиенты находят модули-посредники обнаружения и переключаются на использование характерного для модуля-посредника обнаружения протокола. Однако, если модуль-посредник обнаружения не отвечает, клиенты возвращаются к использованию протокола, описанного в данном документе.
Чтобы поддерживать сети со службами с явным управлением сети, подобные протоколу динамического конфигурирования хоста (ПДКХ), СДИ, контроллерам домена, каталогам и т.п., клиенты и/или целевые службы могут конфигурироваться на поведение, отличное от того, которое определено в данном документе. Например, другая спецификация может определять общеизвестную запись ПДКХ, содержащую адрес модуля-посредника обнаружения, и согласованность с этой спецификацией может потребовать, чтобы конечные точки посылали сообщения этому модулю-посреднику обнаружения, а не многоадресной группе. Хотя конкретное средство такой конфигурации может обеспечиваться многочисленными различными процессами, ожидается, что любая такая конфигурация будет разрешать клиентам и/или целевым службам беспрепятственно мигрировать между тщательно управляемыми и эпизодическими сетями. Также могут использоваться многочисленные модули-посредники обнаружения. Например, сотовый телефон может обновить свой транспортный адрес на модуле-посреднике обнаружения на работе и модуле-посреднике обнаружения дома. Клиенты, разрешающие определение расположения на этом сотовом телефоне, могут использовать любой модуль-посредник для его разрешения.
Нижеследующее иллюстрирует пример на расширяемом языке разметки (РЯР) для примерного тестового сообщения:
(01)<s:Envelope
(02)xmlns:a=”http://schemas.org/ws/2004/08/addressing»
(03)xmlns:d=”http://schemas.org/ws/2004/10/discovery”
(04) xmlns:i=”http://printer.example.org/2003/imaging”
(05) xmlns:s=”http://www.w3.org/2003/05/soap-enveiope”>
(06)<s:Header>
(07)<a:Action>
(08)http://schemas.xmlsoap.org/ws/2004/10/discovery/Probe
(09)</a:Action>
(10)<a:MessageID>
(11)uuid:0a6dc791-2be6-4991-9af1-454778a1917a
(12)</a:MessageID>
(13)<a:To>urn:schemas-xmlsoap-org:ws:2004:10discovery</a:To>
(14)</s:Header>
(15)<s:Body>
(16)<d:Probe>
(17)<d:Types>I:PrintBasic</d:Types>
(18)<d:Scopes
(19)MatchBy=”http://schema.xmlsoap.org/ws/2004/10/discovery/ldap”>
(20)ldap:///ou=engineering,o=examplecom,c=us
(21)</d:Scopes>
(22)</d:Probe>
(23)</s:Body>
(24)</s:Envelope>
Строки (07-09) в вышеприведенном примере указывают, что сообщением является тестовое сообщение, и строка (13) указывает, что оно посылается по общеизвестному адресу [RFC (запрос на комментарий) 2141]. Так как нет явного блока заголовка ППДО ReplyTo [WS-Addressing (адресация веб-служб)], любой ответ на это тестовое сообщение будет посылаться в виде пакета ПДП по исходному адресу ПИ и порту заголовка транспортировки тестового сообщения. Строки (17-21) задают два ограничения на тестовое сообщение: строка (17) ограничивает ответы целевыми службами, которые реализуют тип базовой печати; строки (18-21) ограничивают ответы целевыми службами в области действия для технического отдела, например. В основном, отвечать будут только целевые службы, которые удовлетворяют обоим этим ограничениям. Хотя оба ограничения включены в данный пример, не требуется, чтобы тестовое сообщение включало их обоих.
Нижеследующий пример РЯР иллюстрирует примерное совпадение тестового сообщения в ответ на тестовое сообщение, описанное в вышеприведенном примере.
(01) <s:Envelope
(02) xmlns:a=”http://schemas.org/ws/2004/08/addressing»
(03) xmlns:d=”http://schemas.org/ws/2004/10/discovery”
(04) xmlns:i=”http://printer.example.org/2003/imaging”
(05) xmlns:s=”http://www.w3.org/2003/05/soap-enveiope”>
(06) <s:Header>
(07) <a:Action>
(08) http://schemas.xmlsoap.org/ws/2004/10/discovery/ ProbeMatches
(09) </a:Action>
(10) <a:MessageID>
(11) uuid:e32e6863-ea5e-4ee4-997e-69539dlff2cc
(12) </a:MessageID>
(13) <a:RelatesTo>
(14) uuid:oa6dc791-2be6-4991-9af1-454778a1917a
(15) </a:RelatesTo>
(16) <a:To>
(17) http://schemas.xmlsoap.org/ws/2004/08/addressing/role/ anonymous
(18) </a:To>
(19) </s:Header>
(20) <s:Body>
(21) <d:ProbeMatches>
(22) <d:ProbeMatch>
(23) <a:EndpointReference>
(24) <a:Adress>
(25) uuid:98190dc2-0890-4ef8-ac9a-5940995e6119
(26) </a:Adress>
(27) </a:EndpointReference>
(28) <d:Types>I:PrintBasic i:PrintAdvanced</d:Types>
(29) <d:Scopes>
(30) ldap:///ou=engineering,o=examplecom,c=us
(31) ldap:///ou=floor2,ou=b42,ou=anytown,o= examplecom,c=us
(32) </d:Scopes>
(33) <d:Xaddrs>http://prn-example/PRN42/b42-1668-a</d:Xaddrs>
(34) <d:MetadataVersion>75965</ d:MetadataVersion>
(35) </d:ProbeMatch>
(36) </d:ProbeMatches>
(37) </s:Body>
(38) </s:Envelope> s:Body>
Строки (07-09) в ответном сообщении на тестовое сообщение выше указывают, что данное сообщение является совпадением тестового сообщения, и строки (13-15) указывают, что это ответ на тестовое сообщение, предшествующее данному примерному ответу. Так как тестовое сообщение не имеет явного блока заголовка ППДО ReplyTo, строки (16-18) указывают, что ответ был послан по исходному адресу ПИ и порту заголовка транспортировки тестового сообщения. Строки (22-35) описывают одну целевую службу. Строки (23-27) содержат стабильный уникальный идентификатор для целевой службы, которая является постоянной по сетевым интерфейсам, транспортным адресам и ПИ версии 4 и версии 6. В данном случае значением является унифицированный идентификатор ресурса (УИР) схемы универсального уникального идентификатора (УУИД), но им может быть транспортный УИР (подобно тому на строке 33), если он удовлетворяет требованиям стабильности и уникальности. Строка (28) перечисляет типы (см., например, [ЯОВС 1.1]), реализуемые целевой службой, в данном примере, тип базовой печати, который совпадал с тестовым сообщением, а также тип улучшенной печати.
Строки (29-32) перечисляют две административные области действия, одна, которая совпадала с тестовым сообщением, а также другая, которая характерна для конкретного физического расположения. Строка (33) указывает транспортные адреса, где можно найти целевую службу; в данном случае, единственный транспортный адрес протокола передачи гипертекста (ППГТ). Строка (34) содержит версию метаданных для целевой службы; эта версия увеличивается, если имеется изменение в метаданных для целевой службы (включая строки 28-33).
Чтобы обеспечить контекст для различных аспектов описанного предмета обсуждения, фиг.9 и 10, а также последующее описание предназначены для того, чтобы предоставить краткое общее описание подходящей среды, в которой могут быть реализованы различные аспекты описанного предмета обсуждения. Хотя предмет обсуждения был описан выше в общем контексте исполняемых компьютером инструкций компьютерной программы, которая выполняется на компьютере и/или компьютерах, для специалиста в данной области техники будет понятно, что изобретение также может быть реализовано в комбинации с другими программными модулями. В основном, программные модули включают в себя подпрограммы, программы, компоненты, структуры данных и т.д., которые выполняют определенные задачи и/или реализуют конкретные абстрактные типы данных. Кроме того, для специалиста в данной области техники будет понятно, что способы могут быть осуществлены на практике с другими конфигурациями компьютерных систем, включая однопроцессорные или многопроцессорные компьютерные системы, мини-вычислительные устройства, компьютеры мэйнфрейма, а также персональные компьютеры, карманные вычислительные устройства (например, персональный цифровой помощник (ПЦП), телефон, часы, …), микропроцессорную или программируемую бытовую или промышленную электронику и т.п. Изображенные аспекты также могут быть осуществлены на практике в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки, которые связаны при помощи сети передачи данных. Однако некоторые, если не все аспекты, могут быть осуществлены на практике на отдельных компьютерах. В распределенной вычислительной среде программные модули могут располагаться как на локальных, так и на удаленных запоминающих устройствах памяти.
На фиг.9 показана примерная среда 910 для реализации различных аспектов, включающая в себя компьютер 912. Компьютер 912 включает в себя блок 914 обработки, системную память 916 и системную шину 918. Системная шина 918 соединяет системные компоненты, включая, но не ограничиваясь ими, системную память 916 с блоком 914 обработки. Блок 914 обработки может быть любым из многочисленных доступных процессоров. Сдвоенные микропроцессоры и другие многопроцессорные архитектуры также могут применяться в качестве блока 914 обработки.
Системная шина 918 может быть любой из нескольких типов шинной структуры (структур), включая шину памяти или контроллер памяти, периферийную шину или внешнюю шину и/или локальную шину, используя любое множество доступных шинных архитектур, включая, но не ограничиваясь ими, 11-разрядную шину, архитектуру промышленного стандарта (АПС), микроканальную архитектуру (МКА), расширенную АПС (РАПС), электронику интеллектуальных накопителей (ЭИН), локальную шину Ассоциации по стандартам в области видеотехники (АСВТ) (ЛША), межсоединения периферийных компонентов (МПК), универсальную последовательную шину (УПШ), ускоренный графический порт (УГП), шину Международной ассоциации производителей карт памяти для персональных компьютеров (МАКППК), шину CardBUS, технологию Bluetooth, шину FireWire 1394 и интерфейс малых компьютерных систем (ИМКС).
Системная память 916 включает в себя энергозависимую память 920 и энергонезависимую память 922. Базовая система ввода-вывода (БСВВ), содержащая базовые подпрограммы для переноса информации между элементами внутри компьютера 912, например, во время запуска, хранится в энергонезависимой памяти 922. В качестве иллюстрации и не ограничения, энергонезависимая память 922 может включать в себя постоянное запоминающее устройство (ПЗУ), программируемое ПЗУ (ППЗУ), электрически программируемое ПЗУ (ЭППЗУ), электрически стираемое ПЗУ (ЭСППЗУ) или флэш-память. Энергозависимая память 920 включает в себя оперативное запоминающее устройство (ОЗУ), которое служит в качестве внешней кэш-памяти. В качестве иллюстрации и неограничения ОЗУ доступна во многих видах, таких как синхронное ОЗУ (СОЗУ), динамическое ОЗУ (ДОЗУ), синхронное ДОЗУ (СДОЗУ), СДОЗУ с удвоенной скоростью обмена данными (СДОЗУ УСОД), усовершенствованное СДОЗУ (УСДОЗУ), ДОЗУ с синхронной связью (ДОЗУСС) и ОЗУ с шиной прямого резидентного доступа (ОЗУШПД).
Компьютер 912 также включает в себя съемные/несъемные, энергозависимые/энергонезависимые носители данных компьютера. На фиг.9 изображено, например, запоминающее устройство 924 на дисках. Запоминающее устройство 924 на дисках включает в себя, но не ограничивается ими, устройства, подобные накопителю на магнитных дисках, накопителю на гибких магнитных дисках, накопителю на ленте, накопителю «Jaz», накопителю «Zip», накопителю LS-100, карте флэш-памяти или карте памяти. Кроме того, запоминающее устройство 924 на дисках может включать в себя носители данных отдельно или в комбинации с другими носителями данных, включая, но не ограничиваясь ими, накопитель на оптических дисках, такой как накопитель на компакт-дисках (накопитель CD-ROM), накопитель на записываемых компакт-дисках (накопитель CD-R), накопитель на перезаписываемых компакт-дисках (накопитель CD-RW) или накопитель на цифровых многофункциональных дисках (накопитель DVD-ROM). Чтобы облегчить подключение запоминающих устройств 924 на дисках к системной шине 918, обычно используется съемный или несъемный интерфейс, такой как интерфейс 926.
Необходимо понять, что фиг.9 описывает программное обеспечение, которое служит в качестве посредника между пользователями и основными ресурсами компьютера, описанными в подходящей операционной среде 910. Такое программное обеспечение включает в себя операционную систему 928. Операционная система 928, которая может храниться на запоминающем устройстве 924 на дисках, служит для управления и распределения ресурсов компьютерной системы 912. Системные приложения 930 используют преимущество управления ресурсами посредством операционной системы 928 при помощи программных модулей 932 и программных данных 934, хранимых или в системной памяти 916, или на запоминающем устройстве 924 на дисках. Необходимо понять, что предмет обсуждения, описанный в данном документе, может быть реализован с различными операционными системами или комбинациями операционных систем.
Пользователь вводит команды или информацию в компьютер 912 при помощи устройства (устройств) 936 ввода. Устройства 936 ввода включают в себя, но не ограничиваются ими, указательное устройство, такое как мышь, шаровой указатель, стило, сенсорную панель, клавиатуру, микрофон, джойстик, игровой планшет, антенну спутниковой связи, сканер, карту телевизионного тюнера, цифровую камеру, цифровую видеокамеру, веб-камеру и т.п. Эти и другие устройства ввода подключаются к блоку 914 обработки при помощи системной шины 918 через интерфейсный порт(ы) 938. Интерфейсный порт(ы) 938 включает в себя, например, последовательный порт, параллельный порт, игровой порт и универсальную последовательную шину (УПШ). Устройство(а) 940 вывода использует некоторые из портов этого же типа, что и устройство(а) 936 ввода. Таким образом, например, порт УПШ может использоваться для обеспечения ввода в компьютер 912 и вывода информации из компьютера 912 на устройство 940 вывода. Адаптер 942 вывода предусмотрен для иллюстрации того, что существуют некоторые устройства 940 вывода, подобные мониторам, громкоговорителям и принтерам, из числа других устройств 940 вывода, которым требуются специальные адаптеры. Адаптеры 942 вывода включают в себя, в качестве иллюстрации и не ограничения, видео- и звуковые карты, которые обеспечивают средство подключения между устройством 940 вывода и системной шиной 918. Необходимо отметить, что другие устройства и/или системы устройств предусматривают возможности как ввода, так и вывода, такие как удаленный компьютер(ы) 944.
Компьютер 912 может работать в сетевой среде, используя логические подключения к одному или нескольким удаленным компьютерам, таким как удаленный компьютер(ы) 944. Удаленным компьютером(ами) 944 может быть персональный компьютер, сервер, маршрутизатор, сетевой персональный компьютер (ПК), рабочая станция, микропроцессорный прибор, одноранговое устройство или другой общий узел сети и т.п., и он обычно включает в себя многие или все из элементов, описанных в отношении компьютера 912. Для целей краткости, только запоминающее устройство 946 памяти изображается с удаленным компьютером(ами) 944. Удаленный компьютер(ы) 944 логически подключается к компьютеру 912 при помощи сетевого интерфейса 948 и затем физически подключается при помощи подключения 950 обмена данными. Сетевой интерфейс 948 охватывает сети передачи данных, такие как локальные сети (ЛС) и глобальные сети (ГС). Технологии ЛС включают в себя распределенный интерфейс передачи данных по волоконно-оптическим каналам (РИДВОК), распределенный проводной интерфейс передачи данных (РПИД), Эзернет/IEEE (Институт инженеров по электротехнике и радиоэлектронике) 802.3, Маркерное кольцо/IEEE 802.5 и т.п. Технологии ГС включают в себя, но не ограничиваются ими, двухточечные линии передачи данных, сети с коммутацией каналов, такие как цифровые сети с интеграцией служб (ЦСИС) и их варианты, сети с коммутацией пакетов, цифровые абонентские линии (ЦАЛ), 802.11G, 802.11A/B, 802.11N, технологию беспроводной связи ZigBee, технологию сверхширокополосной связи, технологию Bluetooth, стандарт IRDA и ПИ/УПШ.
Подключение(я) 950 обмена данными ссылается на аппаратные/программные средства, используемые для соединения сетевого интерфейса 948 с шиной 918. Хотя подключение 950 обмена данными показано для целей иллюстрации внутри компьютера 912, оно также может быть вне компьютера 912. Аппаратные/программные средства, необходимые для подключения к сетевому интерфейсу 948, включают в себя, только для примерных целей, внутреннее и внешнее оборудование, такое как модемы, включая модемы обычного телефонного класса, кабельные модемы и модемы ЦАЛ, адаптеры ЦСИС и карты Эзернета.
Фиг.10 представляет собой схематическую блок-схему среды 1000 примерного вычисления. Система 1000 включает в себя одного или нескольких клиентов 1010. Клиент(ы) 1010 может быть аппаратным и/или программным средством (например, потоки, процессы, вычислительные устройства). Система 1000 также включает в себя один или несколько серверов 1030. Сервер(ы) 1030 также может быть аппаратным и/или программным средством (например, потоки, процессы, вычислительные устройства). Серверы 1030 могут содержать потоки для выполнения, например, преобразований. Одна возможная передача данных между клиентом 1010 и сервером 1030 может быть в виде пакета данных, предназначенного для передачи между двумя или более компьютерными процессами. Система 1000 включает в себя инфраструктуру 1050 обмена данными, которая может применяться для того, чтобы способствовать обмену данными между клиентом(ами) 1010 и сервером(ами) 1030. Клиент(ы) 1010 подключен с возможностью функционирования к одному или нескольким хранилищам 1060 данных клиентов, которые могут использоваться для хранения информации, локальной для клиента(ов) 1010. Аналогично, сервер(ы) 1030 подключен с возможностью функционирования к одному или нескольким хранилищам 1040 данных серверов, которые могут использоваться для хранения информации, локальной для серверов 1030.
То, что было описано выше, включает в себя многочисленные примерные аспекты. Конечно, нельзя описать каждую мыслимую комбинацию компонентов или методологий с целью описания этих аспектов, но специалист в данной области техники может понять, что возможны многие дополнительные комбинации и изменения. Следовательно, аспекты, описанные в данном документе, предназначены для того, чтобы охватывать все такие изменения, модификации и варианты, которые подпадают под сущность и объем прилагаемой формулы изобретения. Кроме того, в той мере, в какой термин «включает в себя» используется как в подробном описании, так и в формуле изобретения, как предполагается, такой термин является включающим в себя таким образом, который аналогичен термину «содержащий», как «содержащий» интерпретируется, когда он используется в качестве переходного слова в формуле изобретения.