веб-канал, базируемый на языке xml, для веб-доступа удаленных источников

Классы МПК:G06F17/21 обработка текста
Автор(ы):, , , ,
Патентообладатель(и):МАЙКРОСОФТ КОРПОРЕЙШН (US)
Приоритеты:
подача заявки:
2009-01-30
публикация патента:

Изобретение относится к методам веб-каналов на языке XML (Расширяемом Языке Разметки) для веб-доступа удаленных ресурсов. Техническим результатом является оптимизация инфраструктуры систем веб-доступа и обеспечения способности запуска удаленных программ. Способ включает в себя получение информации относительно одного или более доступных ресурсов от одного или более хостов ресурсов, перевод информации, касающейся одного или более доступных ресурсов, в документ на Расширяемом Языке Разметки (XML) и предоставление XML-документа пользовательскому устройству. Система реализует способы обеспечения доступа. 4 н. и 17 з.п. ф-лы, 7 ил. веб-канал, базируемый на языке xml, для веб-доступа удаленных   источников, патент № 2503056

веб-канал, базируемый на языке xml, для веб-доступа удаленных   источников, патент № 2503056 веб-канал, базируемый на языке xml, для веб-доступа удаленных   источников, патент № 2503056 веб-канал, базируемый на языке xml, для веб-доступа удаленных   источников, патент № 2503056 веб-канал, базируемый на языке xml, для веб-доступа удаленных   источников, патент № 2503056 веб-канал, базируемый на языке xml, для веб-доступа удаленных   источников, патент № 2503056 веб-канал, базируемый на языке xml, для веб-доступа удаленных   источников, патент № 2503056 веб-канал, базируемый на языке xml, для веб-доступа удаленных   источников, патент № 2503056

Формула изобретения

1. Способ обеспечения доступа к ресурсам, содержащий этапы, на которых:

получают информацию, касающуюся одного или более доступных ресурсов, от одного или более хостов ресурсов, при этом, когда первый доступный ресурс из этих одного или более доступных ресурсов является удаленно исполняемым приложением, информация, касающаяся первого доступного ресурса, включает в себя информацию запуска, используемую пользовательским устройством для запуска удаленно исполняемого приложения, и ассоциации файлов, идентифицирующие один или более типов файлов, ассоциируемых с удаленно исполняемым приложением, причем удаленно исполняемое приложение является удаленным по отношению к пользовательскому устройству;

переводят информацию, касающуюся одного или более доступных ресурсов, в документ на Расширяемом Языке Разметки (XML), который описывает один или более доступных ресурсов в независящем от клиента формате, при этом переведенная информация, касающаяся первого доступного ресурса, включает в себя по меньшей мере одну иконку, соответствующую первому доступному ресурсу, причем по этой по меньшей мере одной иконке выполняется щелчок для запуска удаленно исполняемого приложения; и

предоставляют XML-документ в пользовательское устройство.

2. Способ по п.1, в котором при предоставлении XML-документа в пользовательское устройство XML-документ предоставляют в ответ на запрос о доступных ресурсах от пользовательского устройства.

3. Способ по п.1, в котором при предоставлении XML-документа в пользовательское устройство XML-документ предоставляют в форме канала синдикации.

4. Способ по п.1, в котором при предоставлении XML-документа в пользовательское устройство предоставляют XML-документ, имеющий информацию метки времени для каждого из одного или более доступных ресурсов, причем информация метки времени позволяет пользовательскому устройству определять, был ли каждый из одного или более доступных ресурсов модифицирован по отношению к ранее доступной версии ресурса.

5. Способ по п.1, в котором при переводе информации, касающейся одного или более доступных ресурсов, в XML-документ переводят информацию, касающуюся одного или более доступных ресурсов, в XML-документ, имеющий информацию метки времени для каждого из одного или более доступных ресурсов, причем информация метки времени позволяет пользовательскому устройству определять, был ли каждый из одного или более доступных ресурсов модифицирован по отношению к ранее доступной версии ресурса.

6. Способ по п.1, в котором при переводе информации, касающейся одного или более доступных ресурсов, в XML-документ информацию, касающуюся одного или более доступных ресурсов, переводят в XML-документ с использованием уровня XML-представления, работающего на веб-сервере, причем веб-сервер при функционировании связывается с одним или более хостами ресурсов и с пользовательским устройством.

7. Способ по п.6, в котором уровень XML-представления включает в себя компонент XML-канала, при этом при переводе информации, касающейся одного или более доступных ресурсов, в XML-документ информацию, касающуюся одного или более доступных ресурсов, переводят в XML-документ с использованием компонента XML-канала.

8. Способ по п.7, в котором уровень XML-представления включает в себя информационный компонент, причем способ дополнительно содержит этап, на котором принимают запрос о доступных ресурсах от пользовательского устройства в информационном компоненте и обеспечивают вызов XML-канала из информационного компонента в компонент XML-канала.

9. Способ по п.1, в котором при переводе информации, касающейся одного или более доступных ресурсов, в XML-документ информацию, касающуюся одного или более доступных ресурсов, переводят в XML-документ с использованием уровня XML-представления, работающего на внутреннем сервере, причем внутренний сервер при функционировании связывается с пользовательским устройством и с центральным сервером через сеть, при этом центральный сервер при функционировании связывается с одним или более хостами ресурсов.

10. Способ по п.9, в котором уровень XML-представления включает в себя компонент XML-канала и информационный компонент, при этом при переводе информации, касающейся одного или более доступных ресурсов, в XML-документ информацию, касающуюся одного или более доступных ресурсов, переводят в XML-документ с использованием компонента XML-канала, причем способ дополнительно содержит этапы, на которых принимают запрос о доступных ресурсах от пользовательского устройства в информационном компоненте и обеспечивают вызов XML-канала из информационного компонента в компонент XML-канала.

11. Способ по п.1, дополнительно содержащий этап, на котором определяют, кэширован ли текущий список доступных ресурсов и доступен ли он для предоставления в пользовательское устройство, при этом при получении информации, касающейся одного или более доступных ресурсов, от одного или более хостов ресурсов получают информацию, касающуюся одного или более доступных ресурсов, если текущий список доступных ресурсов не кэширован и не доступен для предоставления в пользовательское устройство.

12. Способ по п.1, в котором при переводе информации, касающейся одного или более доступных ресурсов, в XML-документ переводят один или более удаленных файлов приложений, иконок или RDP-файлов.

13. Способ обеспечения доступа к ресурсам, содержащий этапы, на которых:

принимают документ на Расширяемом Языке Разметки (XML), содержащий информацию, касающуюся одного или более доступных ресурсов, от одного или более удаленных хостов ресурсов, причем XML-документ сконфигурирован для описания одного или более доступных ресурсов в независящем от клиента формате, при этом первый доступный ресурс из этих одного или более доступных ресурсов является удаленно исполняемым приложением, причем упомянутая информация включает в себя ассоциации файлов, идентифицирующие один или более типов файлов, ассоциируемых с удаленно исполняемым приложением;

интерпретируют XML-документ для определения одного или более доступных ресурсов;

отображают информацию, касающуюся одного или более доступных ресурсов, в меню Пуск клиентской машины, при этом данная информация включает в себя иконку, ассоциированную с первым доступным ресурсом, причем по этой иконке выполняется щелчок для запуска удаленно исполняемого приложения;

изменяют один или более ресурсов из упомянутых одного или более доступных ресурсов посредством удаления или добавления этих одного или более ресурсов в плане их доступности для клиентской машины; и

автоматически изменяют упомянутую информацию, отображаемую в меню Пуск, так чтобы она соответствовала упомянутому изменению одного или более ресурсов.

14. Способ по п.13, в котором при приеме XML-документа, содержащего информацию, касающуюся одного или более доступных ресурсов, от одного или более удаленных хостов ресурсов XML-документ принимают в форме канала синдикации.

15. Способ по п.13, в котором при приеме XML-документа, содержащего информацию, касающуюся одного или более доступных ресурсов, от одного или более удаленных хостов ресурсов принимают XML-документ, имеющий информацию метки времени для каждого из одного или более доступных ресурсов, причем способ дополнительно содержит этап, на котором определяют, был ли каждый из одного или более доступных ресурсов модифицирован по отношению к ранее доступной версии ресурса, с использованием информации метки времени.

16. Способ по п.13, в котором при интерпретации XML-документа для определения одного или более доступных ресурсов XML-документ интерпретируют, чтобы обеспечить одно или более из удаленных файлов приложений, иконок или RDP-файлов.

17. Компьютерная система, содержащая:

процессорный блок;

компонент связи, функционально соединенный с процессорным блоком и сконфигурированный связываться при функционировании с пользовательским устройством и с одним или более хостами ресурсов;

память, функционально связанную с процессорным блоком и имеющую уровень представления на Расширяемом Языке Разметки (XML), сохраненный в ней, причем уровень XML-представления сконфигурирован для осуществления операций, которые при их исполнении процессорным блоком выполняют способ, включающий в себя:

получение информации, касающейся одного или более доступных ресурсов, от одного или более хостов ресурсов, при этом данная информация включает в себя информацию запуска для первого доступного ресурса из этих одного или более доступных ресурсов, причем первый доступный ресурс является удаленно исполняемым приложением, при этом информация запуска включает в себя иконку, по которой выполняется щелчок для запуска удаленно исполняемого приложения, и ассоциации файлов, идентифицирующие один или более типов файлов, ассоциируемых с удаленно исполняемым приложением;

перевод информации, касающейся одного или более доступных ресурсов, в XML-документ, который описывает один или более доступных ресурсов в независящем от клиента формате;

предоставление XML-документа в пользовательское устройство; и

предоставление XML-документа обратно в один или более удаленных хостов ресурсов.

18. Система по п.17, в которой предоставление XML-документа в пользовательское устройство включает в себя предоставление XML-документа в форме канала синдикации.

19. Система по п.17, в которой перевод информации, касающейся одного или более доступных ресурсов, в XML-документ включает в себя перевод информации, касающейся одного или более доступных ресурсов, в XML-документ, имеющий информацию метки времени для каждого из одного или более доступных ресурсов, причем информация метки времени позволяет пользовательскому устройству определять, был ли каждый из одного или более доступных ресурсов модифицирован по отношению к ранее доступной версии ресурса.

20. Система по п.17, в которой способ дополнительно включает в себя определение того, кэширован ли текущий список доступных ресурсов и доступен ли он для предоставления в пользовательское устройство, при этом получение информации, касающейся одного или более доступных ресурсов, от одного или более хостов ресурсов включает в себя получение информации, касающейся одного или более доступных ресурсов, если текущий список доступных ресурсов не кэширован и не доступен для предоставления в пользовательское устройство.

21. Способ обеспечения доступа к ресурсам, содержащий этапы, на которых:

принимают от пользовательского устройства запрос на список ресурсов на Расширяемом Языке Разметки (XML); и

предоставляют XML-список ресурсов в пользовательское устройство в ответ на упомянутый запрос из пользовательского устройства, при этом:

XML-список ресурсов содержит информацию, касающуюся одного или более доступных ресурсов, и, когда эти один или более доступных ресурсов включают в себя удаленно исполняемое приложение, информацию запуска, включающую в себя иконку, по которой выполняется щелчок с использованием пользовательского устройства для запуска удаленно исполняемого приложения, и ассоциации файлов, идентифицирующие один или более типов файлов, ассоциируемых с удаленно исполняемым приложением, и

XML-список ресурсов содержит информацию метки времени, указывающую момент времени, когда один или более доступных ресурсов были в последний раз модифицированы.

Описание изобретения к патенту

Уровень техники

Пользователи понимают и знают, как запускать ресурсы насвоем локальном компьютере. При подключении к домену (например, домену Активной Директории) администраторы могут облегчить ношу установки ресурсов и установки удаленных рабочих столов, отправляя ресурсы и настройки посредством Групповой Политики.

Современные методы «установки» ресурсов на неуправляемых рабочих столах через Интернет далеки от совершенства. Существует всего лишь несколько опций, таких как посылка установочных файлов, которые пользователи должны установить, или использование такой технологии, как Веб-доступ к Службе Терминалов (СТ), где администратор может дать пользователям унифицированный указатель ресурса (URL) для посещений, который разрешает пользователям запускать удаленные программы через веб-страницу. Однако эти типы установок имеют ограничения. Например, все, что пользователь должен установить локально, означает, что администратор потерял контроль над обновлением ресурсов или обновлением приложений без помощи пользователя, устанавливающего дополнительный пакет. Такие решения, как веб-доступ к СТ, замечательны для обеспечения возможности управления ресурсами, но они могут быть ограничены в других отношениях, таких как неспособность дважды кликнуть по файлу и запустить удаленное приложение. Следовательно, способы и системы, которые уменьшают или подавляют эти нежелательные аспекты стандартных способов, будут иметь значительную пользу.

Сущность изобретения

Описываются методики веб-каналов, базируемых на XML (Расширяемом Языке Разметки), для веб-доступа к удаленным ресурсам. В общем случае осуществления в соответствии с настоящим раскрытием преимущественно позволяют администратору добавлять, удалять или обновлять ресурсы с неуправляемой машины, и также позволяют этим ресурсам вести себя подобно локально установленному ресурсу, например обладать способностью наследовать расширения файлов.

В одном варианте осуществления, способ включает в себя получение информации, касающейся одного или более доступных ресурсов, от одного или более хостов ресурсов, перевод информации, касающейся одного или более доступных ресурсов, в документ на Расширяемом Языке Разметки (XML), который описывает один или более доступных ресурсов в независящем от клиента формате, и предоставление XML-документа устройству пользователя. В некоторых вариантах осуществления, предоставление XML-документа может включать в себя предоставление XML-документа в виде канала синдицирования. В дополнительных вариантах осуществления, перевод информации может включать в себя предоставление информации метки времени для каждого из одного или более доступных ресурсов, где информация метки времени позволяет устройству пользователя определить, был ли каждый из одного или более доступных ресурсов модифицирован из прежде доступной версии ресурса.

В другом варианте осуществления, способ включает в себя получение документа на Расширяемом Языке Разметки (XML), содержащего информацию, касающуюся одного или более доступных ресурсов, от одного или более удаленных хостов ресурсов, интерпретацию XML-документа с целью определения одного или более доступных ресурсов, и отображение информации, касающейся одного или более доступных ресурсов. XML-документ описывает один или более доступных ресурсов в независящем от клиента формате. В некоторых вариантах осуществления, интерпретация XML-документа может включать в себя анализ XML-документа для обеспечения одного или более удаленных файлов приложения, иконок или RDP-файлов.

Еще в одном варианте осуществления, вычислительная система включает в себя блок обработки, компонент связи, оперативно соединенный с блоком обработки и сконфигурированный для того, чтобы оперативно связываться с пользовательским устройством и с одним или более хостов ресурсов, и память, оперативно связанную с блоком обработки. Память включает в себя уровень представления Расширяемого Языка Разметки (XML), сохраняемый в ней и сконфигурированный для выполнения операций, которые, при исполнении блоком обработки, выполняют способ, включающий в себя получение информации, касающейся одного или более доступных ресурсов от одного или более хостов ресурсов, перевод информации, касающейся одного или более доступных ресурсов, в XML-документ, который описывает один или более доступных ресурсов в независящем от клиента формате, и предоставление XML-документа пользовательскому устройству. В альтернативных вариантах осуществления, способ также включает в себя определение того, отображен ли в кэш-памяти текущий список доступных ресурсов и доступен ли для предоставления клиентскому устройству.

Эта сущность предоставляется для того, чтобы ввести подбор понятий в упрощенной форме, которые далее описываются ниже в подробном описании. Эта сущность не предназначена для идентификации ключевых признаков или существенных признаков заявленного предмета изобретения, она также не предназначена для того, чтобы быть использованной в качестве помощи при определении области заявленного предмета изобретения.

Краткое описание чертежей

Подробное описание описывается со ссылкой на прилагаемые чертежи. Использование одинаковых позиций на разных чертежах указывает на похожие или идентичные элементы.

Фиг.1 иллюстрирует пример среды для осуществления методов веб-каналов, базируемых на языке XML, для веб-доступа удаленных ресурсов в соответствии с настоящим раскрытием.

Фиг.2 - это схема, иллюстрирующая последовательность соединений для выбора XML-канала в соответствии с вариантом осуществления настоящего раскрытия.

Фиг.3 - это блок-схема последовательности операций процесса перевода XML-содержимого в соответствии с вариантом осуществления настоящего раскрытия.

Фиг.4 - это блок-схема последовательности операций процесса перевода XML-содержимого в соответствии с другим вариантом осуществления настоящего раскрытия.

Фиг.5 - это схема пользовательского компьютера среды Фиг.1 в соответствии с вариантом осуществления настоящего раскрытия.

Фиг.6 - это схема последовательности операций с данными среды Фиг.1 в соответствии с настоящим раскрытием.

Фиг.7 иллюстрирует альтернативный вариант осуществления для внедрения методов веб-каналов, базируемых на языке XML, для веб-доступа удаленных ресурсов в соответствии с настоящим раскрытием.

Подробное описание

Здесь раскрываются методы веб-каналов, базируемых на Расширяемом Языке Разметки (XML), для веб-доступа удаленных ресурсов. В общем варианты осуществления систем и способов в соответствии с настоящим раскрытием предпочтительно обеспечивают способность запускать удаленные программы, которые ведут себя подобно локально установленной программе после того, как она запущена (например, доступ с буфера обмена, интеграция с подсказкой и т.д.). В дополнение, такие варианты осуществления могут оптимизировать инфраструктуру существующих систем веб-доступа и могут также разрешить администратору эффективно добавлять, удалять и обновлять приложения с неуправляемой машины.

Фиг.1 иллюстрирует пример среды 100 для осуществления методов веб-каналов, базируемых на языке XML, для веб-доступа удаленных ресурсов в соответствии с одним или более вариантами осуществления настоящего раскрытия. В этом варианте осуществления среда 100 включает в себя пользовательский компьютер 110, осуществляющий оперативную связь с веб-сервером 130, который, в свою очередь, оперативно связывается с множеством хостов 140 ресурсов. Хосты 140 ресурсов могут включать в себя, например, терминальные серверы, директории, службы каталогов (например, Активную Директорию), централизованные источники для публикации или любые другие подходящие хосты или источники. Более конкретно, смарт-клиент 120, установленный на пользовательском компьютере 110, оперативно связывается с уровнем 132 XML-представления, установленным на веб-сервере 130. Уровень 132 XML-представления может включать в себя компонент 134 канала и Информационный Интернет Сервер (IIS) 136. Каждый хост 140 ресурса имеет один или более ресурсов 142, установленных на нем. Такие ресурсы могут включать в себя, например, приложения, системные программы, рабочие столы, документы, данные или любые другие пригодные ресурсы.

При работе смарт-клиент 120 может подать запрос 122 на веб-сервер 130 о доступных ресурсах, найденных на удаленных хостах 140 ресурсов. В некоторых вариантах осуществления, IIS 136 уровня 132 XML-представления получает запрос 122 и обеспечивает вызов 138 для XML-канала на компонент 134 XML-канала. В некоторых вариантах осуществления, уровень 132 XML-представления определяет, отображен ли уже в кэш-памяти текущий список доступных ресурсов и доступен ли для обеспечения смарт-клиента 120. Если текущий список ресурсов не отображен в кэш-памяти, уровень 132 XML-представления (например, с использованием компонента 134 XML-канала) посылает запросы 135 одному или более из хостов 140 ресурсов о списке доступных ресурсов на каждом из хостов 140 ресурсов. Хосты 140 ресурсов выдают списки 145 доступных ресурсов 142, которые доступны на каждом соответствующем хосте 140 ресурса. Компонент 134 XML-канала переводит списки 145 в XML-канал 125, который предоставляется снова смарт-клиенту 120. Пиктограммы 112, соответствующие ресурсам 142, доступным на удаленных хостах 140 ресурсов, могут быть отображены на компоненте 114 дисплея пользовательского компьютера 110. Пользователь (не показан) может запускать выбранные ресурсы 142, щелкая по соответствующим пиктограммам 112, позволяющим пользователю пользоваться ресурсами 142 подобно локально установленной программе.

XML-канал 125, предоставляемый уровнем 132 XML-представления, может быть плотно структурированным XML-форматом для кодирования данных 145 ресурса (включающих в себя, например, данные приложения). Таким образом, в отличие от общепринятых систем веб-доступа, которые могут использовать слабо структурированный XML-формат (например, Расширяемый Язык Гипертекстовой Разметки), который является основанным на представлении и повсеместно ориентированным вокруг описания опыта пользователя и предназначенным для потребления веб-браузером (т.е. клиентский специфический), XML-канал 125, предоставляемый уровнем 132 XML-представления, может быть структурирован более строго и может быть использован для выполнения другой цели. XML-канал 125 настоящего раскрытия может включать в себя дополнительную информацию, которой не может воспользоваться XML-формат, который является основанным на представлении, - такую как ассоциации файлов, данные клиентской конфигурации и другие данные, которые являются неизвестными или непредусмотренными в настоящее время. Более того, XML-канал 125 настоящего раскрытия является независящим от клиента (т.е. общим) и описывает доступные ресурсы без того, чтобы делать какие-либо предположения о программном обеспечении потребителя. XML-канал 125 предназначен для того, чтобы использоваться множеством способов, включая некоторые способы, которые являются неизвестными или непредусмотренными в настоящее время.

В некоторых вариантах осуществления, существующая система веб-доступа для подключения удаленных ресурсов, такая как система Веб-Доступа Терминальных Служб (TS), доступная от Microsoft Corporation, может объединять аспекты настоящего раскрытия для обеспечения улучшенной службы пользователям удаленных ресурсов. Другие системы, которые разрешают удаленный доступ к ресурсам посредством сети, которая может быть использована, включают, например, Удаленный Контроль PC-Duo, от Vector Networks, продукты, доступные от Citrix, или любые другие подходящие системы удаленного доступа к сети. Такие системы веб-доступа могут предпочтительно включать в себя XML-каналы в соответствии с настоящим раскрытием для сбора данных ресурсов от хостов ресурсов, включая терминальные серверы.

Например, в некоторых вариантах осуществления, администратор может дать пользователю Унифицированный Указатель Ресурсов (URL) для указания пути смарт-клиенту 120. URL может быть предоставлен через систему электронной связи (например, Exchange®, Everest®, Zimbra Collaboration Suite или другую пригодную систему или способ) и не исключает, что пользователь должен особым образом конфигурировать смарт-клиента 120 с URL. Как только смарт-клиент сконфигурирован и аутентифицирован, меню Пуск на клиентской машине может включать в себя удаленные ресурсы, которые администратор сделал доступными для этого пользователя. В дополнение, для этих программ могут быть сделаны ассоциации файлов.

Когда администратор удаляет или добавляет ресурсы, доступные пользователю, эти изменения могут быть отражены в меню Пуск на клиентском компьютере и ассоциации файлов могут быть соответственно обновлены. С этого момента, когда пользователь выбирает файл, он может открыться либо в локальном, либо в удаленном ресурсе, если существует такой, который может работать с этим типом файлов.

Одним из преимуществ сетевых ресурсов для публикации, таких как удаленные ресурсы, через XML-документы является широкий диапазон стандартных технологий, которые поддерживают этот способ доставки. Варианты осуществления в соответствии с настоящим раскрытием могут также разрешить администратору легко добавлять, удалять и обновлять ресурсы, доступные неуправляемой машине, и разрешить этим ресурсам вести себя подобно локально установленному ресурсу.

Фиг. 2 - это схема, иллюстрирующая последовательность 200 соединений для выбора XML-канала в соответствии с вариантом осуществления настоящего раскрытия. В этом варианте осуществления клиентское приложение 202 с веб-поддержкой обеспечивает запрос 204 для доступных ресурсов на уровень 205 XML-представления. Например, в некоторых вариантах осуществления, клиентское приложение 202 с веб-поддержкой может быть смарт-клиентом, установленным на пользовательском компьютере, как показано на Фиг.1. В качестве альтернативы, клиентское приложение 202 с веб-поддержкой может быть установлено на множестве подходящих платформ, таких как, например, сотовый телефон, карманный персональный компьютер (КПК), мобильное навигационное устройство, компонент с WiFi-поддержкой или любая другая пригодная платформа.

Как далее показано на Фиг.2, уровень 205 XML-представления получает запрос 204 (например, посредством информационного компонента 206 или другого подходящего компонента). Уровень 205 XML-представления сконфигурирован для перевода XML-содержимого 208 (например, с использованием компонента 210 XML-канала или другого пригодного компонента). Уровень 205 XML-представления затем запрашивает 212 удаленные ресурсы от веб-службы 214 удаленного приложения для публикаций (RAP), такой как служба Веб-Доступа Терминальных Служб RAP, доступная от Корпорации Майкрософт.

Веб-служба 214 RAP предоставляет информацию ресурса 216, включая доступные ресурсы, уровню 205 XML-представления. Уровень 205 XML-представления переводит информацию ресурса 216 в XML-канал 218, который снова предоставляется клиентскому приложению 202 с веб-поддержкой.

В конкретном варианте осуществления, уровень 205 XML-представления использует существующую структуру Веб-Доступа к Терминальным Службам (TSWA) для установки и транспорта данных, но объединяет новые компоненты и признаки, которые преобразуют список обнаруживаемых ресурсов 216 в XML-документ 218, который может включать в себя, например, ресурсы, пиктограммы и файлы Протокола Удаленного Рабочего Стола (RDP). Таким образом, уровень 205 XML-представления обеспечивает XML-документ 218, который затем может быть преобразован в документ на Языке Разметки Гипертекста (HTML) или потреблен непосредственно другими ресурсами.

Фиг.3 - это блок-схема последовательности операций процесса 300 для перевода XML-содержимого, который может быть выполнен уровнем 205 XML-представления, в соответствии с вариантом осуществления настоящего раскрытия. В этом варианте осуществления процесс 300 включает в себя получение списка хостов ресурсов в веб-конфигурации на этапе 302. На этапе 304 процесс 300 определяет, имеются ли какие-либо серверы из списка серверов, которые еще не были обработаны. Если это так, то процесс 300 получает удаленные ресурсы от веб-службы на этапе 306, и на этапе 308 процесс 300 определяет, все ли из ресурсов были выбраны из необработанного сервера. Если нет, тогда процесс 300 возвращается к этапу 304 и продолжает определение необработанных серверов (на этапе 304) и получение удаленных ресурсов (на этапе 306) до тех пор, пока все удаленные ресурсы не будут выбраны (на этапе 308).

На 310 процесс 300 объединяет выданные ресурсы в текущем списке ресурсов, и процесс 300 возвращается к этапу 304, чтобы определить, остались ли какие-либо необработанные серверы. Как только больше не остается необработанных серверов (на этапе 304), процесс 300 генерирует XML-документ (или канал) текущего списка ресурсов на этапе 312 и выдает XML-документ текущего списка ресурсов на этапе 314.

Фиг.4 - это блок-схема последовательности операций процесса 400 для перевода XML-содержимого, который может быть выполнен уровнем 205 XML-представления, в соответствии с другим вариантом осуществления настоящего раскрытия. В этом варианте осуществления процесс 400 включает в себя идентификацию удаленного терминального сервера на этапе 402. На этапе 404 процесс 400 получает удаленные ресурсы от удаленного терминального сервера через веб-службу и определяет, все ли ресурсы из удаленного терминального сервера были выбраны на этапе 406. Если нет, процесс 400 возвращается к этапу 404 и продолжает получение удаленных ресурсов от веб-службы.

Как только выбраны все ресурсы (на этапе 406), процесс 400 объединяет выданные ресурсы в текущем списке ресурсов на этапе 408. XML-документ (или канал) текущего списка ресурсов генерируется на этапе 410, и XML-документ текущего списка ресурсов выдается клиентскому ресурсу с веб-поддержкой на этапе 412.

Пользовательский компьютер 110, который получает XML-канал доступных ресурсов от уровня XML-представления, может быть любым пригодным вычислительным устройством или платформой. Например, Фиг.5 - это схема вычислительного устройства 500 в соответствии с вариантом осуществления настоящего раскрытия. В исходной основной конфигурации вычислительное устройство 500 включает в себя, по меньшей мере, один блок 502 обработки и системную память 504. В зависимости от точной конфигурации и типа вычислительного устройства 500 системная память 504 может быть энергозависимой (такой как ОЗУ), энергонезависимой (такой как ПЗУ или флэш-память) или некоторой комбинацией этих двух. Системная память 504, как правило, включает в себя операционную систему 506, один или более программных модулей 508 и может включать в себя программные данные 510. В качестве альтернативы, программные модули 508, так же как другие модули, могут быть осуществлены как часть операционной системы 506, или она может быть установлена на вычислительном устройстве и сохранена в другой памяти (например, на несъемном запоминающем устройстве 522), отдельной от системной памяти 504.

Как далее показано на Фиг.5, смарт-клиент 120 сохраняется в системной памяти 504. Смарт-клиент 120 сконфигурирован так, чтобы оперативно связываться с уровнем 132 XML-представления для обеспечения способности запускать удаленные программы, которые ведут себя подобно локально установленной программе после того, как она запущена. Вариант осуществления смарт-клиента 120 более полно описывается ниже применительно к Фиг.6.

Вычислительное устройство 500 может иметь дополнительные признаки или функциональные возможности. Например, вычислительное устройство 500 может также включать в себя дополнительные устройства хранения данных (съемные и/или несъемные), такие как, например, магнитные диски, оптические диски или лента. Такое дополнительное запоминающее устройство иллюстрируется на чертеже 8 съемным хранилищем 520 и несъемным хранилищем 522. Компьютерные носители хранения могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, осуществленные любым способом или технологией хранения информации, такими как считываемые компьютером команды, структуры данных, программные модули или другие данные. Системная память 506, съемное хранилище 520 и несъемное хранилище 522 - все являются примерами компьютерных носителей хранения. Так, компьютерные носители хранения включают в себя, помимо прочего, RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CD-ROM, универсальные цифровые диски (DVD) или другое оптическое хранилище, магнитные кассеты, магнитную ленту, хранилище на магнитных дисках или другие магнитные устройства хранения, или любой другой носитель, который может быть использован для хранения желаемой информации и к которой может осуществляться доступ вычислительным устройством 500. Любые такие компьютерные носители хранения могут быть частью устройства 500. Вычислительное устройство 500 может также иметь устройство(-а) 524 ввода, такое как клавиатура, мышь, перо, устройство речевого ввода и устройства сенсорного ввода. Устройство(-а) 526 вывода, такое как дисплей, громкоговорители и принтер, также может быть включено. Эти устройства хорошо известны в данной области техники и не нуждаются в подробном обсуждении.

Вычислительное устройство 500 может также содержать соединение 528 для обмена данными, которое позволяет устройству связываться с другими вычислительными устройствами 530, например, посредством сети. Соединение(-я) 528 для обмена данными является одним примером сред передачи данных. Среды передачи данных обычно могут быть осуществлены командами, считываемыми компьютером, структурами данных, программными модулями или другими данными в модулированном информационном сигнале, таком как несущая волна или другой транспортный механизм, и включают в себя любые информационные среды доставки.

Различные модули и методы могут быть описаны здесь в общем контексте исполняемых компьютером команд, таких как программные модули, исполняемые одним или более компьютерами или другими устройствами. Как правило, программные модули включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и т.д., для выполнения конкретных задач или внедрения конкретных типов абстрактных данных. Эти программные модули и тому подобное могут исполняться как собственный код или могут загружаться и исполняться так, как в виртуальной машине или другой единовременной среде выполнения компиляции. Обычно выполняемые функции программных модулей могут объединяться или распределяться по желанию в различных вариантах осуществления. Осуществление этих модулей и методов может накапливаться или передаваться через какую-нибудь форму считываемых компьютером сред.

Следует понимать, что смарт-клиент 120 может быть сконфигурирован самыми разнообразными способами, чтобы обеспечить желаемые выполняемые функции и возможности, описанные здесь. Например, Фиг.6 - это схематическое изображение смарт-клиента 620 и различных взаимодействий с другими компонентами 610 характерной среды 600 в соответствии с конкретным вариантом осуществления настоящего раскрытия.

В варианте осуществления, показанном на Фиг.6, смарт-клиент 600 включает в себя диспетчера 622 рабочих областей, который оперативно связывается с конфигурацией 612 канала среды 600. В некоторых вариантах осуществления, конфигурация 612 канала представляет ввод пользователя при соединении с рабочей областью 614 и может включать в себя Унифицированный Указатель Ресурсов (URL) и полномочия для получения канала ресурсов.

Диспетчер 622 рабочих областей может быть центральным администратором (или драйвером) некоторых или всех действий, связанных с функциями смарт-клиента 620. В некоторых вариантах осуществления, диспетчер 622 рабочих областей может быть сконфигурирован для того, чтобы выполнять одно или более из следующего: управлять созданием и удалением папок 624 рабочих областей, использовать анализатор 626 для сбора удаленных ресурсов 628 или загруженных файлов 630 (например, RDP-файлов) в заданное расположение папок, использовать средство 632 просмотра для отображения удаленных ресурсов (например, путем обеспечения заданного расположения 634 папок), управлять многочисленными удаленными рабочими областями 636 или любыми другими пригодными функциями.

Например, в некоторых вариантах осуществления диспетчер 622 рабочих областей может создавать поток интерфейса пользователя (UI) и может устанавливать цикл оконного сообщения. Цикл оконного сообщения может быть вызван во время создания объекта. Запросы выполнения операций в рабочих областях 636 могут быть сериализованы для потока UI посредством цикла сообщений. В конкретных вариантах осуществления, сериализация потока UI может позволить происходить только одному процессу конфигурации в один момент времени (например, при конфигурации новой рабочей области). Попытки пользователя выполнить более одной операции в один момент времени (например, запуск операции «связаться с рабочей областью», затем запуск ее снова до того, как сделана конфигурация первой) могут быть предотвращены выводом на передний план окна текущих конфигураций. Сериализация потока UI, однако, не может помешать открываться многочисленным окнам рабочей области в одно и то же время. Как только конфигурационный процесс завершен, и окно рабочей области отображено, события окна могут быть переданы оконной процедуре, принадлежащей потоку UI. Таким образом, сериализованный поток UI может оперировать многими открытыми окнами и также отвечать на новые запросы управления рабочей областью. В некоторых вариантах осуществления, поток UI не может выполнить никакие блокировочные действия, такие как сетевые запросы, доступ к диску и т.д. Вместо этого управление такими блокировочными действиями может быть передано отдельному рабочему потоку, порожденному потоком UI, и рабочий поток может использовать анализатор 626 для оперирования блокировочной активностью. Поток UI может также дать пользователю опцию отменять любую блокировочную активность.

Анализатор 626 может быть ответственным за использование устройства 638 поиска каналов для выбора канала удаленных ресурсов, заданных в XML. В конкретных вариантах осуществления, анализатор 626 может также выполнять одно или более из следующего: анализировать XML-файлы 630, чтобы извлекать информацию о RDP-файлах и пиктограммах для каждого удаленного ресурса, и инициировать устройство поиска каналов, чтобы загрузить RDP-файлы и пиктограммы в заданную папку 640.

Устройство 638 поиска каналов может управлять соединением с сервером 616 ресурсов (таким, как веб-сервер 130 на Фиг.1). Более конкретно, устройство 638 поиска каналов может быть сконфигурировано для загрузки информации 642 (XML-файлы, RDP-файлы, пиктограммы и т.д.) из сервера 614 ресурсов.

Средство 632 просмотра может быть сконфигурировано для работы с дисплеем удаленных ресурсов. Средство 632 просмотра может также быть сконфигурировано для выполнения одного или более из следующего: создавать и конфигурировать веб-обозревателем проводника элемент управления, чтобы размещать RDP-файлы, загруженные компонентами смарт-клиента 620, и действовать как Обработчик Расширений Оболочки для типов 644 RDP-файлов, чтобы настраивать сценарий диалога с пользователем (например, окно просмотра, расположение и т.д.) 646 RDP-файлов в отображенной папке.

В конкретном варианте осуществления, функции средства 626 просмотра могут выполняться в различных контекстах. Например, в первом контексте, Windows Explorer® 618 (корпорации Майкрософт) может использовать обработчик расширений оболочки для RDP-файлов (например, посредством COM) перед отображением файлов в элементе управления веб-обозревателя проводника. В альтернативных контекстах могут быть использованы другие способы обработки RDP-файлов перед отображением.

При работе компоненты смарт-клиента 620 могут совместно получать данные (ресурсы) касательно рабочей области, включая осуществление связи с сервером 616 для получения списка ресурсов и представление данных в пользовательском интерфейсе (например, отображение иконок и/или RDP-файлов). Смарт-клиент 620 может связываться с сервером 616 ресурсов, чтобы получать список ресурсов. Ресурсы могут быть в конечном счете представлены на клиентском компьютере 110 как RDP-файлы. Когда смарт-клиент 620 представляет данные в пользовательском интерфейсе (UI), это может подразумевать одно или более из следующего: представление RDP-файлов в UI, который формирует элемент управления обозревателя проводника, или настройка характеристик и внешнего вида RDP-файлов с использованием обработчиков расширений оболочки.

Следует понимать, что основываясь на идее настоящего раскрытия, можно представить себе ряд альтернативных вариантов осуществления, и что настоящее раскрытие не ограничено конкретными вариантами осуществления, описанными здесь и показанными на прилагаемых чертежах. Например, Фиг.7 иллюстрирует альтернативную среду 700 для осуществления методов веб-каналов, основанных на языке XML, в соответствии с настоящим раскрытием. В этом варианте осуществления среда 700 включает в себя пользовательский компьютер 110, имеющий смарт-клиента 120. Внутренний сервер 750 оперативно связывается со смарт-клиентом 120 и с центральным сервером 760 посредством Интерфейсов 752, 762 Прикладного Программирования и одной или более сетей 770. Внутренний сервер 750 включает в себя уровень XML-представления 732, имеющий компонент канала 134 и информационный Интернет сервер (IIS) 136.

Центральный сервер 760 оперативно связывается с одним или более хостов 140 удаленных ресурсов, имеющих один или более ресурсов (или системных программ) 142, установленных на них. В варианте осуществления, показанном на Фиг.7, например, хосты 140 ресурсов включают в себя службу 140B каталогов, как, например, службу каталогов, известную как Active Directory, разработанную Корпорацией Майкрософт. Как отмечено выше, хосты 140 ресурсов могут включать в себя терминальные серверы, каталоги, службы каталогов (например, Active Directory), централизованные источники для публикации или любые другие пригодные хосты или источники.

При работе смарт-клиент 120 делает запрос 122 на внутренний сервер 750 о доступных ресурсах, найденных на хостах удаленных 140 ресурсов. В некоторых вариантах осуществления, IIS 136 уровня 732 XML-представления получает запрос 122 и обеспечивает вызов 138 для XML-канала на компонент 134 XML-канала. В некоторых вариантах осуществления, уровень 732 XML-представления определяет, отображен ли уже текущий список доступных ресурсов в кэш-память и доступен ли для предоставления смарт-клиенту 120, и если да, тогда кэшированный список предоставляется смарт-клиенту 120. Если текущий список ресурсов не отображен в кэш-память, уровень 732 XML-представления (например, с использованием компонента 134 XML-канала) передает запрос о текущих ресурсах центральному серверу 760, который посылает запросы 135 хостам 140 ресурсов о списке ресурсов, доступных на каждом из хостов 140 ресурсов. Хосты 140 ресурсов выдают списки 145 доступных ресурсов 142, которые доступны на каждом соответствующем сервере 140 терминалов, и центральный сервер 760 предоставляет информацию доступных ресурсов снова внутреннему серверу 750. Как описывалось выше, компонент 134 XML-канала переводит списки 145 в XML-канал 125, который снова предоставляется смарт-клиенту 120. Пиктограммы 112, соответствующие ресурсам 142, могут быть отображены на компоненте 114 дисплея пользовательского компьютера 110, позволяя пользователю использовать ресурсы 142 подобно локально установленной программе.

В дополнительных вариантах осуществления, XML-канал 125 может быть использован разнообразными альтернативными способами и может не быть ограничен доставкой пользовательскому компьютеру 110. Например, как показано на Фиг.7, XML-канал 125 может быть каналом обратной связи 725 через сеть 770 к центральному серверу 760 или к хостам 140 ресурсов. XML-канал обратной связи 725 может, например, использоваться хостами 140 ресурсов для определения, какие ресурсы размещать, или для любой другой пригодной цели. Еще в других вариантах осуществления, XML-канал 125 может быть предоставлен 735 веб-серверу 740, который может использовать XML-канал 125 для различных целей, таких как, например, его преобразование (например, посредством технологий, таких как Преобразования Расширяемого Языка Таблиц Стилей (XSLT)) в HTML веб-страницу 742.

Как отмечалось выше, одним из преимуществ сетевых ресурсов для публикации, таких как удаленные ресурсы 142, посредством XML-документов 125 является широкий диапазон стандартных технологий, которые поддерживают этот способ доставки. На одну такую технологию обычно ссылаются как на веб-синдикацию, которая упрощает процесс оповещения конечных пользователей об изменениях на опубликованных сетевых ресурсах.

Например, для конечного пользователя может представлять интерес, чтобы его персональный клиентский компьютер постоянно разрешал ему бесперебойный доступ ко всем доступным сетевым ресурсам (таким, как удаленные ресурсы 142). В соответствии с идеей настоящего раскрытия такие ресурсы могут быть опубликованы в едином XML-документе 125. Как только происходят изменения в этом XML-документе 125, конечному пользователю хочется, чтобы они отражались на его пользовательском компьютере (или другой платформе) 110. Может быть осуществлен механизм синхронизации, для того чтобы автоматически выполнять эту синхронизацию между конфигурацией пользовательского компьютера 110 и опубликованными данными ресурса. Например, в некоторых вариантах осуществления, процесс на пользовательском компьютере 110 может периодически загружать полный XML-файл 125, сравнивать его с конфигурацией на пользовательском компьютере 110 и обновлять конфигурацию пользовательского компьютера 110 (или клиентскую конфигурацию), чтобы внести любые последние изменения.

Так как XML-документ может описывать дюжины или даже сотни доступных ресурсов, такой механизм автосинхронизации может потребовать значительных затрат ресурсов как для клиентского, так и для веб-сервера. Поскольку можно ожидать, что большинство опубликованных ресурсов останутся одними и теми же в течение длительных периодов времени, возможно значительно уменьшить бремя затрат, связанных с такими синхронизационными действиями, обеспечив, чтобы информация метки времени была включена в каждый узел ресурса XML-документа 125.

Более конкретно, со ссылкой на Фиг. 1 и 7, перевод информации 145, касающейся одного или более доступных ресурсов, в XML-документ 125 может включать в себя предоставление информации метки времени для каждого из одного или более доступных ресурсов, причем информация метки времени позволяет пользовательскому компьютеру 110 определять, был ли каждый из одного или более доступных ресурсов модифицирован относительно ранее доступной версии ресурса. Это позволит смарт-клиенту 120 анализировать информацию метки времени и загружать только дополнительные файлы (такие, как RDP-файлы и пиктограммы) для таких ресурсов, которые изменились. Такой механизм синхронизации может потребовать, чтобы каждый ресурс (или приложение) подвергался некоторой обработке при каждой синхронизации, и может потребовать, чтобы состояние со стороны клиента сохраняло некоторые данные для каждого удаленного ресурса (например, в форме значения времени «последнего обновления»).

В дополнительных вариантах осуществления, технологии веб-синдикации (такие, как Really Simple Syndication или Atom) могут обеспечить альтернативное решение для потребности уменьшить затраты на синхронизацию (см., например, http://www.rssboard.org/rss-specification; http://tools.ietf.org/html/rfc4287). Эти технологии могут дополнить первичный веб-ресурс контролируемой по времени информацией об изменениях к этому ресурсу. Это осуществляется в «канале синдикации», веб-документе с хорошо известным расположением, который описывает на считываемом машиной стандартном XML-языке, какие последние изменения произошли с этим первичным ресурсом. Например, веб-сайт таких публикаций, как Нью-Йорк Таймс, может обеспечить каналы синдикации для нескольких типов содержимого. Когда, например, на веб-сайт добавляется статья новостей, к ассоциированному каналу синдикации добавляется также вход, чтобы уведомить пользователей об изменении. Клиенты синдикации периодически считывают документ этого канала из URL и, анализируя документ этого канала, клиент синдикации может оповестить пользователя о недавно добавленных статьях. Варианты осуществления XML-каналов в соответствии с идеей настоящего раскрытия могут подобным образом использовать технологии веб-синдикации в контексте обновлений клиентов относительно изменений к удаленным ресурсам, которые могут быть установлены на их пользовательских компьютерах.

Хотя вычислительное устройство 500 на Фиг.5 описывается как типичное для пользовательского устройства (например, пользовательский компьютер 110 на Фиг.1), следует понимать, что в альтернативных вариантах осуществления вычислительное устройство 500 может также представлять другие аппаратные устройства систем и способов, раскрытых здесь. Например, если смарт-клиент 120 вычислительного устройства 500 замещается уровнем XML-представления (например, уровнем 132 XML-представления на Фиг.1, уровнем 205 XML-представления на Фиг.2 или уровнем XML-представления 732 на Фиг.7), тогда вычислительное устройство 500 может представлять вариант осуществления веб-сервера 130 на Фиг.1 или внутренний сервер 750 на Фиг.7. Подобным образом в результате исключения смарт-клиента 120 вычислительное устройство 500 может представлять собой вариант осуществления центрального сервера 760 или хостов 140 ресурсов на Фиг.7.

Заключение

Хотя предмет изобретения описан языком, специфичным для структурных признаков и/или методологических этапов, следует понимать, что предмет изобретения, определенный в прилагаемой формуле изобретения, необязательно ограничен конкретными описанными признаками или этапами. Точнее, конкретные признаки и этапы раскрыты как типичные формы осуществления формулы изобретения.

Класс G06F17/21 обработка текста

поддержка быстрого слияния для устаревших документов -  патент 2527744 (10.09.2014)
длина документа в качестве статического признака релевантности для ранжирования результатов поиска -  патент 2517271 (27.05.2014)
оптимизация формата поискового индекса -  патент 2503058 (27.12.2013)
совместная авторская подготовка документа -  патент 2501077 (10.12.2013)
структурированная соавторская разработка -  патент 2495484 (10.10.2013)
передатчик графических команд и способ передачи графических команд -  патент 2471226 (27.12.2012)
система и способ автоматического измерения высоты строки, размера и других параметров международного шрифта -  патент 2464631 (20.10.2012)
двухпроходное хеш извлечение текстовых строк -  патент 2464630 (20.10.2012)
способ автоматизированной обработки текста и компьютерное устройство для реализации этого способа -  патент 2460154 (27.08.2012)
печатная продукция и способ ее изготовления -  патент 2457534 (27.07.2012)
Наверх