БЕСШОВНОЕ ОБНАРУЖЕНИЕ УСТАНОВЛЕННЫХ НА РАБОЧЕЙ СТАНЦИИ УДАЛЕННЫХ ПРИЛОЖЕНИЙ ИЗ ЭКСТРАСЕТИ
SEAMLESS DETECTION OF REMOTE APPLICATIONS INSTALLED ON WORKSTATION FROM EXTRANET

Область техники, к которой относится изобретение
Изобретение относится к терминальной службе обнаружения удаленного приложения.
Уровень техники
Обычно публикация приложения включает в себя установку и запуск опубликованного приложения на локальном вычислительном устройстве. Это может быть выполнено пакетами публикации администратора, которые впоследствии загружаются и устанавливаются на вычислительных устройствах-клиентах, определенных администратором. В зависимости от прикладного программного обеспечения, требования на аппаратные средства для такого вычислительного устройства (клиента) могут быть высокими. Дополнительно, сама установка может занимать существенное количество времени, ресурсов и даже может конфликтовать с установленными существующими приложениями.
Вследствие таких ограничений обычной публикации приложения, в распределенных вычислительных средах могут использоваться терминальные службы для обеспечения вычислительной модели тонкого клиента ресурсами, установленными и выполняемыми в корпоративной интранет (корпоративной локальной сети повышенной надежности с ограниченным доступом). Использование терминальных служб (ТС, TS) обеспечивает удаленному вычислительному устройству (то есть клиент-устройству, внешнему относительно интранет) возможность доступа к приложению, установленному на корпоративном сервере, выполнения приложения на корпоративном сервере и отображения пользовательского интерфейса (ПИ, UI) приложений на удаленном клиенте. Так как приложение выполняется на корпоративном сервере, службы TS обеспечивают возможность использования удаленным клиентом преимуществ ресурсов корпоративной инфраструктуры вне зависимости от наличия на удаленном клиенте локализованных на нем соответствующих аппаратных средств и программного обеспечения для выполнения ресурсов.
Административная единица, при конфигурировании корпоративной интранет для доступа к приложению определенного пользователя, группы пользователей и/или клиент-устройства, обычно должна установить приложение и определить явные политики доступа к приложению и режимы по умолчанию/частного применения. Так как эти приготовления на корпоративной стороне выполняются перед доступом конечного пользователя к ресурсам, указанные приготовления, в основном, не влияют негативно на практику конечного использования приложения пользователем удаленного клиента. Однако, даже учитывая такие приготовления на корпоративной стороне, пользователь удаленного клиента должен предпринять существенные усилия и выполнить процедуры, требующие существенных затрат времени, для определения, для доступа к каким приложениям был авторизован пользователь, для удаленного доступа, и затем выполнения через службы TS приложения(ий), установленного в корпоративной интранет.
Например, сейчас пользователь должен установить соединение по виртуальной частной сети (VPN) с корпоративной сетью, запустить удаленного клиента, ввести имя удаленного компьютера и данные, удостоверяющие пользователя, затем использовать службы TS для соединения с рабочим столом и с этого рабочего стола запустить приложение. Ситуацию ухудшает, что указанные действия конечного пользователя должны выполняться потребителем каждый раз, когда пользователю требуется осуществить удаленный доступ к приложению через службы TS.
Ввиду указанных процедур, достаточно трудоемких и требующих существенных затрат времени, которые обычно требуется совершить пользователю удаленного клиента для идентификации доступных приложений в частной сети для последующего выполнения удаленной TS, пользователь удаленного клиента не может бесшовно идентифицировать корпоративные ресурсы, доступные для TS-доступа.
Раскрытие изобретения
Описаны системы и способы для бесшовного обнаружения из экстрасети удаленных приложений, установленных на рабочей станции. Приложения развернуты в интранет. Удаленный клиент-компьютер развернут в экстрасети, которая является внешней относительно интранет. В одном аспекте, в web-службу передается запрос на обнаружение удаленного приложения. Web-служба развернута на web-сервере публикаций удаленных приложений (RAP) в интранет. Запрос на обнаружение удаленного приложения передается в web-службу удаленным клиент-компьютером через сеть общего пользования, которая соединяет удаленный клиент-компьютер с web-сервером. В ответ на передачу запроса на обнаружение удаленного приложения из web-службы принимается ответ относительно обнаружения. Ответ относительно обнаружения идентифицирует по меньшей мере одно приложение, установленное в интранет для доступа, на основе терминального сервера (TS), пользователя удаленного клиент-компьютера.
Краткое описание чертежей
В чертежах крайняя левая цифра ссылочной позиции компонента обозначает определенный чертеж, в котором компонент появляется впервые.
Фиг.1 иллюстрирует возможный вариант соответствующей вычислительной среды, в которой могут быть полностью или частично реализованы описанные далее системы, устройства и способы для бесшовного обнаружения удаленных приложений, установленных на рабочей станции, из экстрасети.
Фиг.2 иллюстрирует возможную процедуру для службы сети общего пользования для бесшовного обнаружения из экстрасети удаленных приложений, установленных на рабочей станции.
Фиг.3 изображает возможные компоненты потока данных для удаленного клиент-компьютера для обнаружения удаленных приложений, установленных на офисном компьютере в локальной сети связи. Обнаружение удаленного приложения выполняется через web-службу, к которой осуществляется доступ через сеть общего пользования, такую как Интернет.
Фиг.4 изображает возможную процедуру для составления списка и представления приложений, установленных для доступа к терминальному серверу в интранет, для пользователя вычислительного устройства-клиента, являющегося внешним относительно интранет.
Фиг.5 иллюстрирует возможный вариант соответствующей вычислительной среды, в которой могут быть реализованы описанные далее системы, устройства и способы для web-службы для обнаружения удаленного приложения.
Осуществление изобретения
Краткий обзор
Системы и способы для обнаружения удаленного приложения, описанные далее, существенно упрощают практику доступа удаленного клиента к приложениям для выполнения терминальной службы сервером в организационной интранет. Одна причина такого упрощенного доступа состоит в обнаружении системами и способами приложений, которые были сконфигурированы для удаленного доступа, по любому количеству точек установки приложения корпоративной интранет. Для этого системы и способы обеспечивают организационным единицам возможность публикации удаленных приложений с использованием разнообразных механизмов источников информации и затем, через Интернет, обеспечивают единое составное представление приложений для удаленных клиентов. Такая публикация приложений определена, как Публикация удаленных приложений (ПУП, RAP). Обнаружение удаленным вычислительным устройством-клиентом приложений, которые были опубликованы через RAP для доступа пользователя, группы пользователей и/или определенного вычислительного устройства, определено как обнаружение удаленного приложения.
Более конкретно, единица в организационной интранет устанавливает или развертывает некоторое количество приложений на сервере и/или вычислительных устройствах конечного пользователя в корпоративной интранет. Например, административная единица может установить приложение на корпоративном сервере для удаленного доступа на основе TS. Административная единица использует RAP для создания ассоциаций между развернутыми приложениями и определенным пользователем(ями), группой(ами) пользователей и/или определенным вычислительным устройством(ами)-клиентом(ами). Затем указанные ассоциации сохраняются в одной или большем количестве баз данных/ источников информации. Такие базы данных включают в себя, например, Сервер управления системами (СУС, SMS) и/или службу каталогов (базы данных). В другом возможном варианте пользователь компьютера (например, универсального компьютера, рабочей станции и т.д,) в интранет использует RAP для указания, что приложение, развернутое на этом компьютере, должно быть доступным для удаленного доступа на основе TS, осуществляемого пользователем.
Удаленное клиент-устройство, вне зависимости от того, находится ли оно вне корпоративного брандмауэра, соединенное с корпоративной сетью через виртуальную частную сеть (VPN), и/или аналогичное, обнаруживает указанные приложения через новую web-службу RAP (RWS), развернутую в сети общего доступа, такой как Интернет. В одном осуществлении конечный пользователь удаленного клиент-устройства использует web-браузер или оболочку пользовательского интерфейса для обнаружения/составления списка относительно каждого приложения, ассоциированного с удаленным клиент-устройством или конечным пользователем. В ответ на прием запроса RAP на обнаружение, RWS запрашивает базу данных на идентификацию каждого приложения, ассоциированного с удаленным клиент-устройством, или единичного пользователя, ассоциированного с удаленным клиент-устройством. RWS скрывает подробности протоколов для связи с каждой из различных баз данных, запрашиваемых относительно приложений.
После идентификации одного или большего количества приложений, сконфигурированных для удаленного доступа на основе TS, осуществляемого пользователем клиента, и вне зависимости от количества и видов точек установки, ассоциированных с приложениями, RWS собирает каждое идентифицированное приложение и точку его установки в интранет в единый полный список приложений. Составной список передается для представления запрашивающему удаленному клиент-устройству, например, в виде ссылок быстрого вызова в оболочке пользовательского интерфейса (ПИ, UI), окна web-браузера и/или т.д. Так как представленные ссылки быстрого вызова представляют совокупность удаленных приложений по одному или большему количеству источников приложений, конечному пользователю совершенно незаметно, исходят ли ссылки быстрого вызова RAP из одного источника (точки установки) или из нескольких неравноправных источников информации. Таким образом авторизованные пользователи из удаленных местоположений могут бесшовно обнаруживать и использовать приложения, развернутые на группе терминальных серверов (TS) и/или на их офисном компьютере. При представлении таких ссылок быстрого вызова через усовершенствования оболочки UI конечный пользователь обеспечивается бесшовным доступом на основе TS к корпоративным ресурсам, развернутым по любому количеству удаленных серверов и/или рабочих столов.
Теперь указанные и другие аспекты систем и способов для web-службы для обнаружения удаленного приложения будут описаны более подробно.
Возможная система для обнаружения удаленного приложения
Изобретение, которое реализуется в соответствующей вычислительной среде, иллюстрируется согласно чертежам, в которых подобные ссылочные позиции относятся к подобным элементам. Хотя это не является требованием, изобретение описано в основном контексте инструкций, выполнимых компьютером, таких как программные модули, выполняемые персональным компьютером. В основном, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют определенные задачи или реализуют отдельные абстрактные типы данных.
Установка приложений на интранет организации для удаленного обнаружения
Фиг.1 иллюстрирует возможный вариант соответствующей вычислительной среды 100, в которой полностью или частично могут быть реализованы описанные далее системы, устройства и способы для web-службы для обнаружения удаленного приложения. Среда 100 включает в себя универсальное вычислительное устройство в виде офисного компьютера 102 для ассоциирования приложения(й) 104 (например, 104-1 и 104-2) с определенным пользователем(ями), группой(ами) пользователей и/или удаленным вычислительным устройством(ами)-клиентом(ами) 106. Офисный компьютер находится за корпоративным брандмауэром 108-1 в интранет. В этом осуществлении интранет включает в себя подсеть 110, которая находится между доверительной внутренней сетью-LAN 112 и недоверительной внешней сетью 113, такой как Интернет. Подсеть 110 является демилитаризированной зоной (ДМЗ, DMZ), очерченной брандмауэрами 108-1 и 108-2. Подсеть 110 включает в себя web-сервер 114 RAP для сбора ссылок быстрого вызова/информации о терминальных службах удаленных приложений из нескольких источников, чтобы пользователем удаленного клиент-устройства 106 через Интернет мог быть составлен список из них.
Приложение(я) 104 развернуто и опубликовано на одной или большем количестве точек установки LAN 112. Например, приложения 104-1 были опубликованы на одном офисном компьютере 102, или большем количестве офисных компьютеров 102, и/или приложения 104-2 были опубликованы на одном сервере 116 приложений, или большем количестве серверов 116 приложений. Для публикации приложения 104-1 на офисном компьютере 102 пользователь офисного компьютера 102 связывается с мастером 118 RAP для персональной публикации. Мастер RAP обеспечивает пользователю возможность указать приложение, которое должно быть опубликовано и сформировать карту 120 соответствия. Карта 120 соответствия ассоциирует каждый офисный компьютер 102 с определенным пользователем. Впоследствии карта 120 соответствия используется для обеспечения пользователя обнаружением удаленного приложения для опубликованных приложений 104-1, для последующего удаленного доступа к терминальному серверу (TS), осуществляемого пользователем, как описано ниже.
Для публикации приложения 104-2 на сервере 116 приложений административная единица использует редактор системной политики или другое административное приложение для ассоциации определенного пользователя(ей), группы пользователей и/или удаленного клиент-устройства 106 с соответствующим одним из приложений 104-2. Административная единица использует мастера 119 программы установки пакета установки (например, MSI) для формирования пакета установки (например, пакеты установки с 121-1 по 121-3). Пакет 121 установки содержит информацию о приложении 104-2, достаточную для указания точки установки на одном или большем количестве серверов 116 приложений. Например, в одном осуществлении, каждый пакет 121 установки указывает имя приложения 104-2 и имя сервера 116 приложений (например, псевдоимя, IP-адрес и т.д.).
Пакеты 121 установки, когда они ассоциированы с приложением(ями) 104, опубликованными на офисном компьютере 102 и/или сервере(ах) 116 приложений, могут быть сохранены в одной или большем количестве баз данных (источников информации). Как функция определенных архитектурных вариантов осуществления LAN 112, любое количество баз данных, использующих любой вид технологии доступа к базе данных (например, LDAP, и т.д.), может использоваться для сохранения пакетов 121 установки. В одном осуществлении пакет 121 установки хранится в базе данных как пакет 121-1 установки, ассоциированный со службой 122 каталогов контроллера домена (не изображен). В другом осуществлении пакет 121-1 установки хранится как пакет установки 121-2 в базе 126 данных, управляемой через Сервер 128 управления системами (SMS). Служба 122 каталогов и SMS 128 обеспечивают соответствующие сетевые службы для идентифицирования ресурсов LAN 112 и делают их доступными для пользователей и приложений.
Например, служба 122 каталогов включает в себя информацию для пользователя, такую как список опубликованных приложений 104, а также другую информацию, такую как конфигурацию(и) навигации брандмауэра 108. Хотя приложение(я) 104, опубликованное на офисном компьютере 102, может храниться в одной или большем количестве баз данных, эти соответствия 120-1 офисного компьютера могут храниться также только на ассоциированном офисном компьютере 102.
Служба web-сервера RAP
Согласно фиг.1 web-сервер 114 RAP собирает ссылки быстрого вызова/информацию о терминальных службах удаленных приложений из нескольких источников, чтобы пользователем удаленного клиент-устройства 106 через Интернет мог быть составлен список из них. Для этого web-сервер RAP 114 включает в себя web-службу RAP (RWS) 130 для приема из удаленного клиент-устройства 106 запроса 132 на обнаружение, например, с использованием Простого протокола доступа к объекту (SOAP), который является известным простым протоколом, предназначенным для обмена структурированной информацией в распределенной среде. Так как запрос 132 на обнаружение передается в RWS 130 через SOAP, удаленному клиенту 106 не требуется устанавливать соединение по виртуальной частной сети (VPN) с LAN 112 для получения результатов запроса 132 на обнаружение.
В этом осуществлении для таких служб как аутентификация, организация поточной обработки и обработка HTTP, RWS 130 использует информационный сервер 20 Интернет (не изображен).
В ответ на прием запроса на обнаружение удаленного приложения RWS 130 связывается с каждым из нескольких возможных модулей 134 средства доступа к источнику информации удаленного приложения интранет (например, модулей с 134-1 по 134-3) для формирования составного списка обнаруженных удаленных приложений (составной список 136). Каждый модуль с 134-1 по 134-3 средства доступа разработан для связи с определенным видом источника данных, или базы данных, через реализованные программные интерфейсы приложения (API) и последовательности операций, сконфигурированные для соединения с определенным источником данных. Как функция предпочтительного развертывания приложения(й) 104 для Интернет TS-доступа и как функция определенного архитектурного осуществления LAN 112 может существовать любое количество модулей 134 средства доступа.
Соответственно, администратор LAN 112 может использовать любое количество и любую комбинацию способов для публикации приложений 104. Например, в корпоративной среде для публикации приложения 104 администратор может выбрать использование технологии Служб обновления программного обеспечения (СОП, SUS) совместно со службой 122 каталогов. Другим способом может быть Сервер управления системами (SMS). В условиях роуминга пользователь может опубликовать свои приложения в центральном местоположении на персональном офисном компьютере 102 или просто может использовать корпоративный идентификатор для публикации приложения в службе 122 каталогов. Во внутренней (домашней) среде внутренний пользователь может опубликовать приложения с использованием известной технологии служебной шины.
Например, в этом осуществлении модули 134 средства доступа включают в себя средство 134-1 доступа к SMS, средство 134-2 доступа к службе каталогов и средство 134-3 доступа к рабочей станции. Средство 134-1 доступа к SMS передает в сервер 128 SMS запрос 138 на получение приложений ("запрос"), например, через HTTP. В ответ на прием запроса 138 на получение сервер SMS оценивает соответствие 120-3 для определения, ассоциирован ли пользователь удаленного клиента 106 с какими-либо приложениями 104, развернутыми в пределах домена сервера 128 SMS. Если это так, то сервер SMS передает в средство доступа к SMS ответ 140 относительно получения приложения ("ответ"), идентифицирующий ассоциированное приложение(я) 104 и его соответствующую точку(и) установки, например компьютер(ы) 102, сервер(а) 116 приложений и т.д., средство доступа к SMS, в свою очередь, возвращает ответ 140 в web-службу 130.
В одном осуществлении ответом 140 относительно обнаружения удаленного приложения является текстовый файл (например, XML, RDP и/или подобный), включающий в себя параметры, которые используются для определения, где постоянно находится фактическое приложение 104. Такие параметры включают в себя, например, имя сервера, путь к приложению, установочные параметры переадресации, расширения файла, ассоциированные с удаленным приложением 104, и т.д.
Для простоты описания и представления изображены один запрос 138 на получение приложения(ий) и один ответ 140 относительно получения приложения. То есть, один запрос 138 и один ответ 140 представляют соответствующие запросы на получение и ответы из соответствующих модулей 134 средства доступа, хотя также могли быть изображены отдельные запросы 138 на получение и ответы 140 относительно получения, изображающие соответствующий запрос на получение приложения и ответ относительно получения приложения из каждого вида модуля 134 средства доступа.
В этом осуществлении средство 130-2 доступа к службе каталогов (ДСК, DSA) связывается со службой 122 каталогов, которой в этом возможном варианте является Active Directory. DSA передает в службу 122 каталогов соответствующий запрос 138 на получение приложений, например, с использованием LDAP, являющимся общим протоколом соединения со службой каталогов. В ответ на прием запроса 138, служба каталогов оценивает установленное соответствие 120 приложения пользователю. Эта оценка определяет, авторизован ли пользователь удаленного клиент-устройства 106/ассоциирован ли пользователь удаленного клиент-устройства 106 с определенными приложениями 104. В качестве соответствующего ответа 140 служба 122 каталогов возвращает в web-службу 130 результаты этой оценки, включающие соответствующую точку(и) установки любых указанных приложений 104.
Средство доступа 134-3 к персональному компьютеру (ПС, PC) составляет список приложений 104-1, которые на офисном компьютере 102 в LAN 112 установлены для обнаружения удаленного приложения на основе Интернет. Для этого средство доступа 134-3 к PC идентифицирует адрес в интранет офисного компьютера 102, офисного компьютера, который был назначен пользователю удаленного вычислительного устройства 106. Для этого средство 134-3 доступа к PC передает в службу 122 каталогов запрос 139 на получение ресурса. Запрос 139 на получение ресурса указывает корпоративный идентификатор пользователя; корпоративный идентификатор устанавливается заранее административной единицей в LAN 112 и впоследствии определяется модулем 148 установки параметров RAP, как более подробно описано ниже. В ответ на прием запроса 139 на получение ресурса, служба каталогов идентифицирует адрес в интранет (не изображен) офисного компьютера 102 пользователя (например, адрес IP, адрес на основе NAT, псевдоимя, и/или подобный). Служба каталогов передает сетевой обратно в модуль 134-3 средства доступа к PC.
В одном осуществлении, когда службой 122 каталогов передается запрос 139 на получение ресурса, удаленное вычислительное устройство 102 пользователя не соединено и не "проходит" иным образом (через соединение VPN) в интранет LAN 112. Вместо этого RWS 130 действует в качестве посредника, поддерживая связь со службой 122 каталогов. В этом осуществлении запрос 139 на получение ресурса может быть передан через LDAP или некоторый другой соответствующий протокол.
В ответ на прием адреса в интранет офисного компьютера 102 пользователя, средство 134-3 доступа к PC передает в web-службу 142 RAP соответствующий запрос 138 на получение приложений, web-служба 142 RAP развернута на офисном компьютере 102 пользователя. В одном осуществлении запрос 138 на получение приложений передается через SOAP.
В ответ на прием соответствующего запроса 138 на получение приложения(ий), web-служба 142 связывается со службой 122 каталогов для восстановления информации, ассоциированной с приложением(ями) 104, установленными в LAN 112, которые соответствуют офисному компьютеру пользователя. Web-служба 142 связывается со средством 144 доступа к оболочке для идентификации установленного приложения(ий) 104-1 на рабочем столе/в оболочке офисного компьютера 102 пользователя. Способы идентификации приложений, установленных на компьютере, например, через службу операционной системы, известны. Эта информация включает в себя соответствующую точку(и) установки любых таких приложений 104-1, установленных на рабочем столе/в рабочей области пользователя, и любую информацию, требуемую для выполнения приложения(ий) через сессию клиента TS с удаленным клиент-устройством 106. Указанная информация возвращается службой каталогов 122 в RWS 130 в качестве соответствующего ответа 140 относительно приложения(й).
Web-служба RAP (RWS) 130 принимает ответ(ы) 140 из соответствующего модуля(ей) 134 средства доступа. RWS 130 формирует составной список 136 из данных, включенных в принятый ответ(ы) 140. RWS 130 передает составной список 136 в удаленное клиент-устройство 106, которое инициировало запрос 132 на обнаружение удаленного приложения. В одном осуществлении составной список передается в удаленное клиент-устройство 106 через SOAP/HTTP. Дополнительно, хотя список 136 определен как составной список, не требуется объединения соответствующих ответов 140 относительно получения приложения для формирования совокупности, но они также могут быть переданы в виде списка(ов) 140, включающих в себя информацию об обнаруженном установленном приложении(ях) 104 из одного или большего количества источников данных (например, сервера(ов), офисного компьютера(ов) и/или подобных устройств).
Фиг.2 изображает возможную процедуру 200 службы сети общего доступа для обнаружения удаленного приложения. Для целей описания и иллюстрации операции фиг.2 описаны в отношении соответствующих компонентов фиг.1. (На чертежах крайняя левая цифра ссылочной позиции компонента указывает определенный чертеж, в котором компонент появляется впервые).
В блоке 202 web-сервером RAP (RWS) 130 принимается запрос 132 на обнаружение удаленного приложения (ЗОУП, RADR) (фиг.1) из удаленного вычислительного устройства-клиента 106. Как описано выше, RWS 130 расположен в интранет, например, LAN 112. Удаленное вычислительное устройство-клиент 106 является внешним относительно LAN 112. Например, в одном осуществлении удаленный клиент 106 соединяется с RWS 130 через внешнюю сеть 113 общего пользования, такую как Интернет.
В блоке 204, RWS 130 запрашивает данные приложения из одного или большего количества источников информации, развернутых в интранет. Такой запрос может быть сделан посредством соответствующего сообщения(ий) 138. В одном осуществлении RWS 130 передает одно сообщение 138 в каждый соответствующий источник данных. Данные приложения, соответствующие приложению(ям) 104, устанавливаются и ассоциируются с пользователем удаленного вычислительного устройства 106. Источники информации включают в себя, например, офисные компьютеры 102, службы 122 каталогов и/или сервер 128 SMS.
В одном варианте осуществления запрос 132 на обнаружение удаленного приложения указывает один или большее количество интересующих источников данных, а также локальное регистрационное имя (логин) и/или корпоративный идентификатор пользователя удаленного вычислительного устройства 106. Например, запрос 132 может указывать, что должны быть обнаружены приложения 104-1, те, которые установлены на офисном компьютере 102. Корпоративный идентификатор соответствует идентификатору пользователя в LAN 112.
В блоке 206, RWS 130 принимает запрошенные данные приложения, например, через соответствующий ответ(ы) 140 из соответствующих источников данных в интранет. В блоке 208, RWS 130 передает данные приложения (например, через сообщение(ия) 136) в запрашивающее клиент-устройство 102 и для удовлетворения запроса 132 на обнаружение удаленного приложения 132 передает в web-сервер 114 RAP.
Теперь будут описаны возможные аспекты удаленного вычислительного устройства-клиента 106.
Удаленное клиент-устройство
Описанные далее компоненты обеспечивают возможность автоматического составления (через сеть общего доступа) удаленным клиент-устройством 106 списка приложений для удаленного доступа, которые установлены на офисном компьютере 102 пользователя в офисе конечного пользователя в частной интранет. В этом варианте осуществления удаленное вычислительное устройство-клиент 106 ("удаленный клиент") содержит мастера 146 для сбора данных, удостоверяющих пользователя, (например, корпоративного идентификатора), и использования принятых данных конфигурации для конфигурирования удаленного клиента 106 для TS-доступа и инициации обнаружения удаленного приложения через RWS 130. Мастер 146 обеспечивает подключаемые службы роуминга для определения среды рабочего процессора, обладающей информацией для роуминга. Он соединяется с web-службой 130 RAP для получения списка удаленных приложений 104, опубликованных для пользователя. Например, мастер 146 получает данные, удостоверяющие пользователя, для доступа к LAN 112. Мастер 146 через модуль 148 установки параметров RAP передает указанные удостоверяющие данные мастеру 118 RAP офисного компьютера 102 пользователя. Мастер 118 RAP передает указанные удостоверяющие данные в модуль 150 конфигурации удаленного клиента (КУК, RCC) для верификации доступа пользователя к LAN 112 (например, через службу аутентификации предприятия). Если пользователь авторизован для доступа к ресурсам LAN, мастер 118 RAP передает в модуль 148 установки параметров RAP 148 сообщение 152, включающее в себя авторизацию доступа к LAN и местоположение оконечного в направлении наружу web-сервера 114 RAP (RWS).
Когда пользователь удаленного клиента 106 был авторизован для доступа к LAN 112, мастер 146 передает в web-службу 130 RAP (RWS) 130 запрос 132 на обнаружение удаленных приложений. Как указано выше, адрес в Интернет/URL для RWS 130 идентифицирован в сообщении 152 и/или идентифицирован некоторым другим образом, например, через сценарий конфигурации, выполняемый на удаленном клиенте. Как описано выше, в ответ на прием запроса 132 на обнаружение, RWS 130 вызывает одно или большее количество средств 134 доступа для опроса соответствующих источников данных в LAN для идентификации приложения(ий) 104, ассоциированных или иначе опубликованных для TS-доступа пользователя. RWS возвращает эту информацию в виде составного списка 136 мастеру 146.
Мастер 146 передает составной список 136 в рабочий процессор 154 клиента RAP, который берет новые обнаруженные удаленные приложения и представляет их пользователю через оболочку 156. В одном осуществлении пользователю представляются ссылки 158 быстрого вызова, представляющие приложения 104, идентифицированные в составном списке 136. В этом возможном варианте каждой ссылкой 158 быстрого вызова является файл, указывающий на соответствующее приложение 104 в точке установки LAN 112. Ссылка (ссылки) 158 быстрого вызова обеспечивает возможность удобного доступа пользователя через службы TS, обеспеченные клиентом 160 TS, к файлам, которые хранятся в LAN 112.
Когда пользователь выбирает запуск приложения 104, ассоциированного со ссылкой 158 быстрого доступа, компонент генератора 162 (процессов) RAP запускает клиент 160 TS. При использовании генератора RAP элементы оболочки (соответствующие из ссылок 158 быстрого вызова) обновляются посредством компонента 156 оболочки. Например, когда подкомпонент для текущей среды определяет, что отсутствует публикация удаленного приложения 104 или оно обновлено, он уведомляет рабочий процессор 154 клиента RAP, и рабочий процессор 154 клиента RAP по поручению подкомпонента обрабатывает удаление или обновление ссылок быстрого вызова рабочего стола.
Фиг.3 изображает для удаленного клиент-компьютера 106 возможный составной поток данных для обнаружения удаленных приложений 104-1, установленных на офисном компьютере 102 в LAN 112. Обнаружение удаленного приложения выполняется через web-службу, к которой осуществляется доступ через сеть 113 общего пользования, такую как Интернет. В целях описания и иллюстрации, операции фиг.3 описаны в отношении соответствующих компонентов фиг.1. На чертежах крайняя левая цифра ссылочной позиции компонента указывает определенный чертеж, на котором компонент появляется впервые. Например, компоненты 122, 130, 134-3, 142 и 144 были введены впервые выше на фиг.1. Вертикальные линии, которые пересекают соответствующие компоненты, используются для указания приема определенных сообщений и соответствующих ответов, как описывается теперь в отношении потоков 302-322 данных, каждый из которых изображен в виде направленной стрелки, и каждый из которых иллюстрирует доставку в определенный компонент и/или происхождение из определенного компонента.
Направленная стрелка 302 изображает поток данных в web-службу 130 RAP. Поток 302 данных соответствует запросу на обнаружение удаленного приложения. Такой запрос иллюстрирует запрос 132 на обнаружение удаленного приложения, указанный на фиг.1. В этом возможном варианте запрос указывает, что существенно обнаружить приложения 104-1, которые установлены на удаленном клиент-компьютере 104, ассоциированные с указанным пользователем. В ответ на этот запрос web-сервер RAP 130 передает в средство доступа к офисному компьютеру, такое как средство доступа 134-3 к PC, соответствующий запрос 138 на получение приложений, как изображено потоком 304 данных. В этом возможном варианте запрос на получение приложений не идентифицирует соответствующий офисный компьютер 102 пользователя. Соответственно, средство доступа к PC опрашивает службу 122 каталогов LAN 112 на данные определенного ресурса для указанного пользователя, что изображено потоком данных 306, который направлен на получение через Службу имен доменов (СИД, DNS) сетевого адреса для вычислительного устройства 102 пользователя. Указанные данные определенного ресурса интранет передаются службой 122 каталогов обратно в средство 134-3 доступа к PC, как изображено потоком 308 данных.
В этот момент web-служба 130 RAP имеет сетевой адрес, ассоциированный с вычислительным устройством 102 пользователя. С использованием этого сетевого адреса web-служба 130 RAP web- сервера 114 RAP передает запрос на получение приложений в web-службу 142 RAP, указанная web-служба 142 выполняется на офисном компьютере 102 пользователя. Как изображено потоком 310 данных, указанный запрос на получение приложения обходит службу 122 каталогов. Web-служба 142, в ответ на прием этого запроса, связывается со средством 144 доступа к оболочке, которое также выполняется на офисном компьютере 102 пользователя. Эта связь представлена потоком 312 данных. Средство 133 доступа к оболочке определяет, развернуто ли пользователем или другой административной единицей на компьютере 102 какое-либо приложение(я) 104-1, которое было отмечено для обнаружения удаленным клиентом через Интернет и для последующего TS-выполнения. В одном осуществлении средством доступа к оболочке является компьютерная программа, обеспеченная операционной системой. Средство 144 доступа к оболочке составляет список из приложения(ий) 104-1, установленного на вычислительном устройстве 102 пользователя, возвращая эту информацию через соответствующие компоненты, как изображено потоками 314-320 данных, в итоге достигая удаленного вычислительного устройства 106, как изображено потоком данных 322.
Фиг.4 иллюстрирует возможную процедуру 400 для составления списка и представления приложений, установленных для доступа к терминальному серверу в интранет, пользователю вычислительного устройства-клиента 102, внешнего относительно интранет. В целях описания, операции фиг.4 описаны в отношении соответствующих компонентов фиг.1. В блоке 402 удаленное вычислительное устройство-клиент 102 передает запрос 132 на обнаружение удаленного приложения в web-сервер 130 RAP web-службы 114 RAP. В одном осуществлении запрос 132 указывает, что пользователь удаленного клиент-устройства 102 заинтересован в приеме информации, соответствующей приложениям 104, установленным на одной или большем количестве определенных точек установки по LAN 112. То есть в запросе на обнаружение удаленного приложения могут быть определены интересующие отдельные источники данных и/или виды источников данных.
В блоке 404 удаленное клиент-устройство 102 принимает из web-службы 130 RAP ответ 136 относительно обнаружения, идентифицирующий установленные приложения 104 по одному или большему количеству источников данных, развернутых в частной интранет. Такие источники данных включают в себя, например, рабочую станцию(и) пользователя (например, офисный компьютер 102) и различные точки установки, к которым может быть осуществлен доступ через службу 122 каталогов, сервер 128 SMS и/или любой другой вид источника информации, развернутого в LAN 112.
В блоке 406 удаленное клиент-устройство 106 представляет пользователю ссылки 158 быстрого вызова для этого установленного приложения(ий) 104, ссылки быстрого вызова формируются из информации, извлеченной из одного или большего количества ответов 136. Представление этих обнаруженных удаленных приложений является бесшовным, что означает, что ссылки быстрого вызова для соответствующего приложения(ий) 104 представляются независимо от соответствующих им источников данных, например, на рабочем столе удаленного вычислительного устройства 106, через меню "пуск", на web-странице, к которой пользователь осуществляет доступ через браузер 104, или в некотором другом пользовательском интерфейсе. Бесшовное представление представляет совмещенное представление, которое представляется конечному пользователю для всех приложений, к которым он имеет доступ, где это приложение может быть ассоциировано с несколькими сетевыми идентификаторами и может исходить из нескольких различных источников.
Пользователь может выбрать любую из представленных ссылок 158 быстрого вызова для удаленного запуска ассоциированного приложения 104 через известные терминальные службы, например через модуль доступа TS Proxy (не изображен), для приема HTTP, преобразования его в Протокол удаленного рабочего стола (RDP), или его эквивалент, и дальнейшего направления в соответствующий терминальный сервер (не изображен) в LAN 112. Соответственно, при выполнении приложения 104 на удаленной точке установки восприятие пользователя практически идентично восприятию приложения, установленного локально на удаленном клиент-устройстве 106 (например, существует полная интеграция звука, печатающих устройств, размещенных на клиенте, панели задач и так далее).
В одном осуществлении, как уже описано выше, операции блока 406 выполняются через соответствующие интерфейсы между Мастером 146, рабочим процессором 156 клиента RAP, оболочкой 156 и/или генератором 162 RAP.
Возможная операционная среда
Фиг.5 иллюстрирует возможный вариант соответствующей вычислительной среды 500, в который могут быть реализованы (частично или полностью) описанные далее системы, устройства и способы для web-службы для обнаружения удаленного приложения. Возможная вычислительная среда 500 является только одним возможным вариантом соответствующей вычислительной среды и не предназначена для наложения какого-либо ограничения на область использования или функциональные возможности описанных здесь систем и способов. Также вычислительная среда 500 не должна интерпретироваться как зависимая или имеющая какие-либо требования в отношении любого компонента или комбинации компонентов, иллюстрированных в вычислительной среде 500.
Описанные здесь способы и системы используются с многочисленными другими конфигурациями или средами универсальной или специализированной вычислительной системы. Возможные варианты известных вычислительных систем, сред и/или конфигураций, которые могут быть соответствующими для использования, включают в себя персональные компьютеры, компьютеры сервера, многопроцессорные системы, системы, основанные на микропроцессорах, сетевые PC, миникомпьютеры, универсальные вычислительные машины, распределенные вычислительные среды, которые включают в себя любые из упомянутых выше систем или устройств, и т.д. Компактные или сокращенные варианты структуры могут быть также реализованы на клиентах с ограниченными ресурсами, такими как переносные компьютеры или другие вычислительные устройства. Изобретение осуществляется практически в распределенной вычислительной среде, где задачи выполняются удаленными устройствами обработки данных, которые связаны через сеть связи. В распределенной вычислительной среде программные модули могут быть размещены в локальных и удаленных запоминающих устройствах.
Согласно фиг.5 возможная система для обнаружения удаленного приложения содержит универсальное вычислительное устройство в виде компьютера 510. Аспекты компьютера 510, описанные ниже, являются возможными аспектами офисного компьютера 102 на фиг.2, web-сервера 114 RAP фиг.2, и/или удаленного вычислительного устройства-клиента фиг.2. В связи с этим компоненты компьютера 510 могут включать в себя процессор 520, системную память 530 и системную шину 521, которая соединяет различные компоненты системы, включая системную память с процессором 520. Системной шиной 521 может быть любой из нескольких типов структур шины, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из многих архитектур шины. В виде возможного варианта такие архитектуры включают в себя шину ISA архитектуры, соответствующей промышленному стандарту, (АПС), шину MCA микроканальной архитектуры (МКА), шину EISA расширенной стандартной архитектуры для промышленного применения (РАПС), локальную шину VESA Ассоциации по стандартам в области видеоэлектроники (АСВЭ) и 32-разрядную системную шину PCI с возможностью расширения до 64 разрядов, взаимодействие через которую происходит без участия центрального процессора (также известную, как шина Mezzanine) и т.д.
Компьютер 510 обычно содержит несколько носителей информации, считываемых компьютером. Носитель информации, считываемый компьютером, может быть любым доступным носителем информации, к которому может осуществить доступ компьютер 510, и включает в себя энергозависимый и энергонезависимый носитель информации, съемный и несъемный носитель информации. В виде возможного варианта, носитель информации, считываемый компьютером, может содержать носитель информации компьютера, средство связи и т.д. Носитель информации компьютера включает в себя энергозависимый и энергонезависимый, съемный и несъемный носитель информации, реализованный любым способом или технологией для хранения информации, такой как инструкции, считываемые компьютером, структуры данных, программные модули или другие данные. Носитель информации компьютера включает в себя, в частности, оперативное запоминающее устройство RAM (ОЗУ), постоянное запоминающее устройство ROM (ПЗУ), электрически-стираемое программируемое ПЗУ EEPROM (СППЗУ), флэш-память или память, использующую другую технологию, компакт-диск CD-ROM, универсальные цифровые диски DVD (УЦД) или другой оптический накопитель на дисках, магнитные кассеты, магнитную ленту, магнитный накопитель на дисках или другие магнитные запоминающие устройства или любое другое средство, которое может использоваться для хранения необходимой информации и к которому может осуществить доступ компьютер 510.
Средство связи обычно воплощает инструкции, считываемые компьютером, структуры данных, программные модули или другие данные в модулированном сигнале данных, например, несущей или другом механизме переноса информации и включает в себя любое средство доставки информации. Термин «модулированный сигнал данных» означает сигнал, который имеет одну или большее количество из набора его характеристик, или измененный таким образом, чтобы кодировать информацию в сигнале. В виде возможного варианта средство связи включает в себя проводное средство, такое как проводная сеть или прямое кабельное соединение, и беспроводное средство, такое как акустическое, радио, инфракрасное и другое беспроводное средство и т.д. Комбинации любых упомянутых выше средств также должны быть включены в контекст носителей информации, считываемых компьютером.
Системная память 530 включает в себя носитель информации компьютера в виде энергозависимой и/или энергонезависимой памяти, например постоянное запоминающее устройство (ПЗУ) 531 и оперативное запоминающее устройство (ОЗУ) 532. Базовая система 533 ввода/вывода BIOS (БИОС), содержащая базовые процедуры, способствующие передаче информации между элементами внутри компьютера 510, например используемые при запуске, в основном хранится в ПЗУ 531. ОЗУ 532, в основном содержит данные и/или программные модули, к которым можно осуществить доступ немедленно и/или с которыми в текущее время оперирует процессор 520. В виде возможного варианта фиг.5 изображает операционную систему 534, прикладные программы 535, другие программные модули 536 и данные 537 программы.
Компьютер 510 также может содержать другие съемные/несъемные, энергозависимые/энергонезависимые носители информации компьютера. Исключительно в виде возможного варианта фиг.5 изображает накопитель 541 на жестких дисках, осуществляющий считывание с несъемного, энергонезависимого магнитного носителя информации или запись на него, накопитель 551 на магнитных дисках, который осуществляет считывание со съемного энергонезависимого магнитного диска 552 или запись на него, и накопитель 555 на оптических дисках, который осуществляет считывание со съемного энергонезависимого оптического диска 556, например компакт-диска или другого оптического носителя информации, или запись на него. Другие съемные/несъемные, энергозависимые/энергонезависимые носители информации компьютера, которые могут быть использованы в возможной операционной среде, включают в себя кассеты на магнитной ленте, карточки флэш-памяти, универсальные цифровые диски, цифровую видеомагнитофонную ленту, твердотельное ОЗУ, твердотельное ПЗУ и т.д. Накопитель 541 на жестких дисках, в основном, подсоединен к системной шине 521 посредством интерфейса несъемной памяти, например интерфейса 540, а накопитель 551 на магнитных дисках и накопитель 555 на оптических дисках, в основном, подсоединены к системной шине 521 посредством интерфейса съемной памяти, например интерфейса 550.
Накопители на дисках и соответствующие им носители информации компьютера, описанные выше и изображенные на фиг.5, обеспечивают хранение инструкций, считываемых компьютером, структур данных, программных модулей и других данных для компьютера 510. Например, на фиг.5 накопитель 541 на жестких дисках изображен как хранящий операционную систему 544, прикладные программы 545, другие программные модули 546 и данные 547 программы. Следует отметить, что указанные компоненты могут быть идентичными операционной системе 534, прикладным программам 535, другим программным модулям 536 и данным 537 программы, или отличны от них. Здесь операционной системе 544, прикладным программам 545, другим программным модулям 546 и данным 547 программы даны другие ссылочные позиции для пояснения, что, как минимум, они являются другими копиями.
Пользователь может осуществлять ввод команд и информации в компьютер 510 посредством устройств ввода, таких как клавиатура 562 и указательное устройство 561, обычно определяемое как мышь, шаровой указатель или сенсорная панель. В число других устройств ввода (не изображены) могут входить микрофон, джойстик, игровая панель, спутниковая антенна, сканер и т.д. Часто указанные и другие устройства ввода соединены с процессором 520 посредством пользовательского интерфейса 560 для ввода данных, подсоединенного к системной шине 521, но они могут быть соединены с процессором посредством другого интерфейса и других структур шины, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB).
Также к системной шине 521 посредством интерфейса, например видеоинтерфейса 590, может быть подсоединен монитор 591 или другой вид устройства отображения. Дополнительно к монитору компьютеры могут также содержать другие периферийные устройства вывода, например динамики 597 и принтер 596, которые могут быть подсоединены посредством периферийного интерфейса 595 для вывода данных.
Компьютер 510 может функционировать в среде с сетевой структурой, используя логические соединения с одним или большим количеством удаленных компьютеров, например удаленным компьютером 580. Удаленный компьютер 580 может быть персональным компьютером, сервером, маршрутизатором, сетевым PC, одноранговым устройством или другим узлом общей сети и обычно содержит многие или все элементы, описанные выше в отношении компьютера 510, хотя на фиг.5 изображено только запоминающее устройство 581. Логические соединения, иллюстрируемые фиг.5, включают в себя локальную сеть связи (ЛС, LAN) 571 и глобальную сеть связи (ГС, WAN) 573, но могут также включать в себя другие сети связи. Такие сетевые среды часто используются в офисах, корпоративных вычислительных сетях, сетях интранет и в Интернете.
При использовании в сетевой среде LAN компьютер 510 соединяется с LAN 571 посредством сетевого интерфейса или адаптера 570. При использовании в сетевой среде WAN компьютер 510 обычно содержит модем 572 или другое средство для установления связи через WAN 573, например Интернет. Модем 572, который может быть внутренним или внешним, может быть подсоединен к системной шине 521 посредством пользовательского интерфейса 560 для ввода данных или другого соответствующего механизма. В среде с сетевой структурой программные модули, указанные в отношении компьютера 510, или их части могут храниться в удаленном запоминающем устройстве. В виде возможного варианта, фиг.5 изображает удаленные прикладные программы 585 как размещенные на запоминающем устройстве 581. Изображенные сетевые соединения являются возможным вариантом, и может быть использовано другое средство установления линии связи между компьютерами.
Заключение
Хотя изобретение было описано на языке, определенном для структурных признаков и/или методологических операций или действий, понятно, что нет необходимости в ограничении изобретения, определенного в приложенной формуле изобретения, определенными описанными признаками или действиями. Скорее определенные признаки и действия раскрыты в качестве предпочтительных форм осуществления заявленного изобретения.