ПРЕДСТАВЛЕНИЕ СЛИТНОГО ВИДА ЯРЛЫКОВ НА УДАЛЕННЫЕ ПРИЛОЖЕНИЯ ОТ МНОЖЕСТВА ПОСТАВЩИКОВ
PRESENTATION OF COMBINED TYPE OF SHORTCUTS TO REMOTE APPLICATIONS FROM SEVERAL MANUFACTURERS

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