ВСТАВКА МУЛЬТИМЕДИЙНОГО ФАЙЛА ЧЕРЕЗ ОСНОВАННОЕ НА ВЕБ-ТЕХНОЛОГИИ РАБОЧЕЕ ПРИЛОЖЕНИЕ ДЛЯ НАСТОЛЬНОЙ СИСТЕМЫ
INSERTING MULTIMEDIA FILE THROUGH WEB-BASED DESKTOP WORKING APPLICATION

УРОВЕНЬ ТЕХНИКИ
Рабочие приложения для настольных систем (в дальнейшем указываемые как «рабочие приложения») изменили способ, которым люди составляют проекты документов, строят электронные таблицы, создают презентации и выполняют множество других персональных и связанных с деловой деятельностью задач. В частности, рабочие приложения дают пользователям возможность производить высококачественный результат деятельности действенным и экономически эффективным образом. Примеры рабочих приложений включают в себя приложения обработки текстов, приложения электронных таблиц, приложения для презентаций, и тому подобное. К тому же, группы рабочих приложений обычно продаются в виде комплектов. Примеры таких комплектов включают в себя OFFICE от MICROSOFT CORPORATION и LOTUS SMARTSUITE от INTERNATIONAL BUSINESS MACHINES INC.
Если пользователь желает осуществить доступ к рабочему приложению на данном компьютере, пользователь традиционно локально устанавливает рабочее приложение на компьютере. Если пользователь желает осуществить доступ к рабочему приложению на другом компьютере, то пользователю будет нужно локально установить рабочее приложение на другом компьютере. Это дает в результате некоторое число потенциальных недостатков. В одном из примеров, если пользователь владеет многочисленными компьютерами, пользователю может быть необходимым устанавливать рабочее приложение на каждом компьютере. Это может служить причиной проблем, если некоторые компьютеры не имеют обрабатывающей способности для выполнения рабочего приложения или пространства на диске для сохранения рабочего приложения. Установка многочисленных копий также добавляет значительные расходы.
В еще одном примере, если пользователь заимствует компьютер у сослуживца, пользователь имеет доступ к рабочему приложению на компьютере, только если сослуживец установил рабочее приложение. Если сослуживец не установил рабочее приложение, пользователь может купить и установить еще одну копию рабочего приложения. Однако, эта возможность не идеальна, так как она добавляет существенные расходы, особенно если компьютер заимствуется всего лишь на короткое время. Кроме того, сослуживец может не желать рабочего приложения, установленного на его компьютер.
В еще одном примере, пользователь не имеет доступа к своему собственному компьютеру (например, пользователь находится в отпуске), поэтому, пользователь полагается на общедоступный компьютер, такой как обычно можно найти в библиотеках и интернет-кафе. На многих находящихся в общедоступных компьютерах, установка нового программного обеспечения запрещена, иногда предотвращается даже посредством программных приложений, межсетевых экранов и других мер безопасности. Таким образом, если находящийся в свободном доступе компьютер не содержит в себе рабочего приложения, пользователь может не иметь никакого способа осуществления доступа к рабочему приложению.
Когда основанное на программном обеспечении рабочее приложение не установлено на данном компьютере или иным образом не является имеющимся в распоряжении на компьютере, пользователь может осуществлять доступ к основанному на веб-технологии рабочему приложению через сеть Интернет или другую пригодную сеть. Основанное на веб-технологии рабочее приложение может давать пользователю возможность создавать и редактировать различные документы, тем самым, предоставляя по меньшей мере некоторые из тех же признаков, что и основанное на программном обеспечении рабочее приложение. Кроме того, основанное на веб-технологии рабочее приложение может подвергаться доступу через стандартный веб-браузер.
Один из признаков, обычно обнаруживаемых в основанных на программном обеспечении рабочих приложениях, является способностью осуществлять поиск мультимедийного файла по внешней библиотеке или другой подходящей совокупности и вставлять мультимедийный файл в документ, редактируемый основанным на веб-технологии рабочим приложением. Некоторое количество подходов для реализации этих функциональных возможностей было разработано, но считаются субоптимальными. В первом подходе, пользователь вручную загружает мультимедийный файл из внешней библиотеки и сохраняет мультимедийный файл локально. Пользователь затем вручную выгружает мультимедийный файл с локального запоминающего устройства в основанное на веб-технологии рабочее приложение для вставки в документ. В числе других проблем, этот подход не применим на общедоступных компьютерах и других компьютерах, которые не предоставляют возможности загрузки и сохранения файлов.
Во втором подходе, пользователь устанавливает управляющий элемент ACTIVEX или другой управляющий элемент веб-браузера в веб-браузере. Управляющий элемент ACTIVEX может быть сконфигурирован для помощи в извлечении мультимедийного файла из внешней библиотеки. Некоторые веб-браузеры, межсетевые экраны и другие меры безопасности ограничивают или блокируют установку управляющих элементов веб-браузера, таких как управляющие элементы ACTIVEX, для того чтобы предотвращать установку потенциально злоумышленного кода. В третьем подходе, пользователь вручную вводит URL, соответствующий мультимедийному файлу, в основанное на веб-технологии рабочее приложение. Таким способом, основанное на веб-технологии рабочее приложение может непосредственно загружать мультимедийный файл из внешней библиотеки и вставлять мультимедийный файл в документ. Требование к пользователю быть осведомленным об URL каждого мультимедийного файла и вручную вставлять URL в основанное на веб-технологии рабочее приложение влечет за собой существенный объем работы пользователю и создает плохое впечатление пользователя.
Раскрытие, произведенное в материалах настоящей заявки, представлено по этим и другим соображениям.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
В заявленном изобретении раскрыты технологии для улучшенных способа и системы для вставки мультимедийного файла через основанное на веб-технологии рабочее приложение для настольной системы. В частности, благодаря использованию технологий и концепций, представленных в описании, пользователь может вставлять мультимедийный файл в документ, редактируемый посредством основанного на веб-технологии рабочего приложения для настольной системы, с большей гибкостью, чем в традиционных способах. В частности, технологии, описанные в материалах настоящей заявки, не требуют, чтобы пользователь загружал и сохранял мультимедийный файл на компьютере пользователя, не полагаются на управляющий элемент ACTIVEX стороны клиента и не требуют, чтобы пользователь вручную вводил унифицированные указатели ресурса («URL») в основанное на веб-технологии рабочее приложение для настольной системы.
Согласно одному из вариантов, представленных в материалах настоящей заявки, компьютерная программа вставляет мультимедийный файл через основанное на веб-технологии рабочее приложение для настольной системы. Компьютерная программа принимает запрос на мультимедийный файл из клиентского компьютера через сеть. Компьютерная программа передает запрос на мультимедийный файл на серверный компьютер через сеть. Запрос на мультимедийный файл может передаваться через посредническую веб-службу. В ответ на запрос на мультимедийный файл, компьютерная программа принимает мультимедийный файл с серверного компьютера через сеть. Компьютерная программа вставляет мультимедийный файл в документе, редактируемом основанным на веб-технологии рабочим приложением для настольной системы. В одном из вариантов осуществления, основанное на веб-технологии рабочее приложение для настольной системы обновляет свое отображение, для того чтобы показать обновленное представление документа, включающего в себя вставленный мультимедийный файл.
Должно быть принято во внимание, что описанный выше предмет изобретения также может быть реализован в качестве управляемого компьютером устройства, компьютерного процесса, вычислительной системы или в качестве изделия, такого как машинно-читаемый носитель. Эти и различные другие признаки будут очевидны из последующего подробного описания изобретения и сопровождающих чертежей.
Краткое изложение сущности изобретения приведено для представления в упрощенном виде выбора концепций, которые дополнительно описаны ниже в подробном описании изобретения. Изложение сущности не предназначено для идентификации ключевых признаков или существенных признаков заявленного предмета изобретения, также не подразумевается, что раскрытие сущности изобретения должно использоваться для ограничения объема заявленного предмета изобретения. Более того, заявленный предмет изобретения не ограничен реализациями, которые устраняют любой или все недостатки, отмеченные в любой части этого раскрытия.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 изображает структурную схему, иллюстрирующую систему для вставки мультимедийного файла через основанное на веб-технологии рабочее приложение для настольной системы, в соответствии с одним вариантом осуществления;
фиг.2 - схема экранного отображения, показывающая моментальный снимок экрана иллюстративного сопутствующего рабочего приложения перед вставкой мультимедийного файла, в соответствии с одним из вариантов осуществления;
фиг.3A - схема экранного отображения, показывающая моментальный снимок экрана одного из пояснительных интерфейсов иллюстративной вставки, в соответствии с одним вариантом осуществления;
фиг.3B - схема экранного отображения, показывающая моментальный снимок экрана еще одного пояснительного интерфейса иллюстративной вставки, в соответствии с одним вариантом осуществления;
фиг.4 - схема экранного отображения, показывающая другой моментальный снимок экрана иллюстративного сопутствующего рабочего приложения при вставке мультимедийного файла;
фиг.5A и 5B - блок-схемы последовательностей операций способов, показывающие последовательность операций для вставки мультимедийного файла через основанное на веб-технологии рабочее приложение; и
фиг.6 - схема архитектуры компьютера, показывающая аспекты иллюстративной архитектуры аппаратных средств компьютера для вычислительной системы, способной к реализации аспектов вариантов осуществления, представленных в материалах настоящей заявки.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Последующее подробное описание направлено на технологии для осуществления поиска мультимедийного файла по внешней библиотеке через основанное на веб-технологии рабочее приложение для настольной системы и вставки мультимедийного файла в документ, редактируемый основанным на веб-технологии рабочим приложением для настольной системы. Благодаря использованию технологий и концепций, представленных в материалах настоящей заявки, пользователь, во время редактирования документа через основанное на веб-технологии рабочего приложения для настольной системы, работающее в одном домене, также может отыскивать мультимедийный файл, хранимый во внешней библиотеке, работающей в другом домене. Как только пользователь выбирает мультимедийный файл, основанное на веб-технологии рабочее приложение для настольной системы может извлекать мультимедийный файл прямо из внешней библиотеки и вставлять мультимедийный файл в документ, в то время как он редактируется.
Должно быть принято во внимание, что мультимедийный файл не хранится на компьютере пользователя. Кроме того, пользователь не загружает никаких управляющих элементов ACTIVEX или других управляющих элементов веб-браузера. Таким образом, технологии и концепции, представленные в материалах настоящей заявки, могут быть реализованы на общедоступных компьютерах и других компьютерах, где загрузка контента на компьютер запрещена. К тому же, действия посредством основанного на веб-технологии рабочего приложения для настольной системы для извлечения мультимедийных файлов из внешней библиотеки и вставки мультимедийного файла в документ прозрачны для пользователя. То есть, пользователь не осведомлен о местоположении мультимедийного файла во внешней библиотеке, и не осведомлен, что основанное на веб-технологии рабочее приложение для настольной системы и внешняя библиотека работают в разных доменах.
Несмотря на то, что предмет изобретения, описанный в материалах настоящей заявки, представлен в общем контексте программных модулей, которые выполняются в связи с выполнением операционной системы и прикладных программ в компьютерной системе, специалисты в данной области техники будут осознавать, что другие реализации могут выполняться в комбинации с другими типами программных модулей. Как правило, программные модули включают в себя процедуры, программы, компоненты, структуры данных и другие типы структур, которые выполняют частные задачи или реализуют частные абстрактные типы данных. Более того, специалисты в данной области техники будут принимать во внимание, что предмет изобретения, описанный в материалах настоящей заявки, может быть осуществлен на практике с другими конфигурациями компьютерных систем, включая портативные устройства, многопроцессорные системы, основанную на микропроцессорах или программируемую бытовую электронику, миникомпьютеры, универсальные компьютеры, и тому подобное.
В случаях, где пользователь не имеет доступа к рабочему приложению на данном компьютере, пользователь может осуществлять доступ к веб-приложению, которое предоставляет по меньшей мере некоторые из функциональных возможностей, предусмотренных рабочим приложением. Согласно примерным вариантам осуществления, рабочее приложение может быть предоставлено как в традиционном программном приложении для установки на компьютере, так и веб-приложении для доступа через веб-браузер. Программное приложение в материалах настоящей заявки указывается в качестве рабочего программного приложения. Веб-приложение в материалах настоящей заявки указывается в качестве рабочего сопутствующего приложения.
Обычно, существующие рабочие сопутствующие приложения не дают такого же уровня функциональных возможностей, которые обеспечивают рабочие программные приложения. Одной из сложных задач при разработке полнофункционального рабочего сопутствующего приложения является копирование полного набора признаков соответствующего рабочего программного приложения в свете различных ограничений, таких как ограничения веб-браузеров, а также меры сетевой безопасности, которые предотвращают прием злоумышленного контента через сеть. Поскольку копирование каждого признака в рабочем программном приложении может быть непрактичным, более прагматичный подход может включать в себя реализацию отобранных признаков.
Одним из популярных и полезных признаков, который в большинстве случаев обнаруживается в ряде рабочих программных приложений, является вставка мультимедийных файлов, таких как текст, изображения, аудио, видео и их комбинации, из внешней библиотеки в документ, редактируемый рабочим программным приложением. Примеры внешней библиотеки мультимедийных файлов включают в себя, но не в качестве ограничения, YOUTUBE от GOOGLE INC, FLICKR от YAHOO! INC. и MYSPACE от NEWS CORPORATION. Еще одним примером внешней библиотеки мультимедийных файлов является галерея иллюстративных вставок, поставляемая OFFFICE ONLINE от MICROSOFT CORPORATION. Галерея иллюстративных вставок OFFICE ONLINE в настоящее время предоставляет доступ к свыше 150000 изображений и звуков иллюстративных вставок для вставки в документы обработки текстов, документы электронных таблиц, документы презентации, и тому подобное.
С рабочим программным приложением, вставка мультимедийного файла из внешней библиотеки в документ является относительно простой. В частности, поскольку пользователь установил рабочее программное приложение на компьютере, обычно предполагается, что пользователь имеет полный доступ к компьютеру. По существу, пользователь может запрашивать мультимедийный файл из внешней библиотеки, например, посредством унифицированного указателя ресурсов («URL»). Внешняя библиотека может отвечать на запрос и передавать мультимедийный файл на компьютер пользователя. Поскольку мультимедийный файл теперь сохранен, по меньшей мере временно, на компьютере пользователя, пользователь затем может вставлять мультимедийный файл в документ с помощью рабочего программного приложения.
С рабочим сопутствующим приложением, однако, предоставление доступа к внешней библиотеке создает множество проблем. Обычно, рабочее сопутствующее приложение предоставляется из одного домена, в то время как внешняя библиотека предоставляется из другого домена. Для безопасности, некоторые веб-браузеры запрещают веб-сайтам, предоставленным одним доменом, посещать веб-сайт или осуществлять доступ к приложению, предоставленным другим доменом, реализуя меры безопасности веб-браузера.
Один из путей в обход мер безопасности веб-браузера состоит в том, чтобы копировать внешнюю библиотеку и обеспечить внешнюю библиотеку в первом домене. Однако, повторное создание специализированных серверов установленных внешних библиотек отнимает много времени и экономически недопустимо. Еще один путь в обход мер безопасности веб-браузера состоит в том, чтобы осуществлять доступ к внешней библиотеке с помощью управляющего элемента ACTIVEX или другого подходящего управляющего элемента веб-браузера. Однако, некоторые браузеры и межсетевые экраны блокируют управляющие элементы ACTIVEX, которые могут злоумышленно использоваться в некоторых случаях. Кроме того, некоторые правила использования сети запрещают даже запуск пользователем управляющих элементов ACTIVEX.
Еще один другой путь в обход мер безопасности веб-браузера состоит в том, чтобы снабжать пользователя прямой ссылкой через URL на запрашиваемый мультимедийный файл. Пользователь вручную загружает мультимедийный файл из внешней библиотеки с использованием URL, а затем, вручную выгружает мультимедийный файл в рабочее сопутствующее приложение, которое вставляет мультимедийный файл в документ. Однако, вынуждение пользователя вручную загружать и выгружать мультимедийные файлы порождает плохой опыт для пользователя. К тому же, пользователь может не иметь полномочий или возможности сохранять загруженные мультимедийные файлы. Например, некоторые общедоступные компьютеры блокируют загрузку и сохранение мультимедийных файлов.
Варианты осуществления, описанные в материалах настоящей заявки, дают подход, который устраняет по меньшей мере некоторые из проблем с другими подходами, описанными выше. В частности, варианты осуществления, описанные в материалах настоящей заявки, предусматривают последовательность операций целиком на стороне сервера, которая не использует никаких запоминающих ресурсов компьютера пользователя и не требует, чтобы пользователь устанавливал какие бы то ни было управляющие элементы веб-браузера. Обмен информацией между рабочим сопутствующим приложением и внешней библиотекой делается прозрачным для пользователя. То есть, пользователь не осведомлен о местоположении (например, URL) мультимедийного файла, и не осведомлен о том, что рабочее сопутствующее приложение и внешняя библиотека работают в разных доменах.
В последующем подробном описании, сделаны ссылки на прилагаемые чертежи, которые образуют его часть, и которые показаны в качестве иллюстрации, отдельных вариантов осуществления или примеров. В частности, варианты осуществления, описанные ниже, главным образом, ссылаются на изображения иллюстративных вставок, хранимые в галерее иллюстративных вставок. Однако, должно быть принято во внимание, что любые подходящие мультимедийные файлы, хранимые во внешней библиотеке, могут использоваться подобным образом. Кроме того, варианты осуществления, описанные ниже, главным образом, ссылаются на приложения для презентаций, хотя также могут использоваться другие рабочие приложения.
Далее, со ссылкой на чертежи, на которых одинаковые номера обозначают подобные элементы на всех чертежах, будут описаны аспекты вычислительной системы и методология для обеспечения улучшенного сопутствующего приложения для презентаций. На фиг.1 будут приведены дополнительные подробности касательно реализации сопутствующего приложения для презентаций, посредством которого пользователь может отыскивать изображение иллюстративной вставки, хранимое в удаленной библиотеке иллюстративных вставок, и вставлять изображение иллюстративной вставки непосредственно в документ презентации, редактируемый сопутствующим приложением для презентаций. В частности, на фиг.1 показаны аспекты системы 100, включая сопутствующее приложение 102 для презентаций, сконфигурированное для извлечения изображения 104 иллюстративной вставки из библиотеки 106 иллюстративных вставок и непосредственной вставки изображения 104 иллюстративной вставки в документ, редактируемый сопутствующим приложением 102 для презентаций. Система 100 включает в себя клиентский компьютер 108, первый серверный компьютер 110 и второй серверный компьютер 112. Клиентский компьютер 108, первый серверный компьютер 110 и второй серверный компьютер 112 оперативно соединены через сеть 114. Сеть 114 может быть любой пригодной сетью, такой как локальная сеть («LAN»), виртуальная частная сеть («VPN») или сеть Интернет. В одном из вариантов осуществления, первый серверный компьютер 110 и второй серверный компьютер 112 работают в отдельных доменах.
В одном из вариантов осуществления, клиентский компьютер 108 является стандартной настольной или портативной компьютерной системой, способной к выполнению операционной системы и одной или более прикладных программ. Однако, должно быть принято во внимание, что, в других вариантах осуществления, клиентский компьютер 108 может быть другим типом вычислительного устройства. Например, согласно вариантам осуществления, клиентский компьютер 108 может быть мобильным вычислительным устройством, таким как мобильный телефон, смартфон, ультрамобильный персональный компьютер, планшетный персональный компьютер или другое подходящее мобильное вычислительное устройство. Другие устройства также могут использоваться подобным образом.
Согласно вариантам осуществления, клиентский компьютер 108 является действующим для выполнения программного приложения 116 для презентаций и других пригодных рабочих приложений (например, приложения обработки текстов, приложения электронных таблиц). Программное приложение 116 для презентаций может быть любым пригодным программным приложением, способным к созданию и редактированию документа презентации. Документ презентации, например, может включать в себя один или более слайдов. Примерным программным приложением 116 для презентаций является POWERPOINT от MICROSOFT CORPORATION. Если программное приложение 116 для презентаций не установлено на клиентском компьютере 108, то пользователь может осуществлять доступ к сопутствующему 102 приложению для презентаций на первом серверном компьютере 110. Подобно программному приложению 116 для презентаций, сопутствующее приложение 102 для презентаций также способно к созданию и редактированию документа презентации.
Согласно вариантам осуществления, сопутствующее приложение 102 для презентаций является веб-приложением, которое воплощено в веб-сайте. По существу, сопутствующее приложение 102 для презентаций доступно через стандартный веб-браузер 118 на клиентском компьютере 108. Должно быть принято во внимание, что, хотя сопутствующее приложение 102 для презентаций в материалах настоящей заявки описано в качестве являющегося доступным через сеть Интернет, сопутствующее приложение 102 для презентаций также может быть сделано доступным на частном внутреннем веб-сайте (например, на сервере предприятия). Более того, хотя сопутствующее приложение 102 для презентаций в материалах настоящей заявки описано в качестве являющегося доступным через веб-браузер 118, сопутствующее приложение 102 для презентаций также может быть доступным благодаря использованию другого подходящего клиентского приложения, допускающего запрашивание и визуализацию сопутствующего приложения 102 для презентаций.
Первый серверный компьютер 110 предоставляет сопутствующее приложение 102 для презентаций, описанное в материалах настоящей заявки. Второй серверный компьютер 112 предоставляет доступ к изображению 104 иллюстративной вставки и другому контенту, хранимому в библиотеке 106 иллюстративных вставок. В одном из вариантов осуществления, библиотека 106 иллюстративных вставок является базой данных, которая хранит множество изображений и множество соответствующих миниатюрных изображений (в дальнейшем, «миниатюр») или других подходящих представлений множества изображений. Каждая из миниатюр может быть ассоциативно связана с одним или более ключевых слов и URL. Каждый из URL может задавать местоположение изображения иллюстративной вставки, которое соответствует данной миниатюре.
Каждый из первого серверного компьютера 110 и второго серверного компьютера 112 содержит стандартную компьютерную систему, способную к выполнению операционной системы и одной или более прикладных программ. В частности, первый серверный компьютер 110 выполняет сопутствующее приложение 102 для презентаций и приложение 120 веб-сервера. Приложение 120 веб-сервера дает возможность доступа к сопутствующему приложению 102 для презентаций через URL. Кроме того, второй серверный компьютер 112 выполняет приложение 122 веб-сервера, которое дает возможность доступа к изображению 104 иллюстративной вставки и другому контенту, хранимому в библиотеке 106 иллюстративных вставок, через URL.
Сопутствующее приложение 102 для презентаций включает в себя интерфейс 124 иллюстративной вставки. В одном из вариантов осуществления, интерфейс 124 иллюстративной вставки является любым пригодным интерфейсом, дающим пользователю возможность отыскивать и выбирать одно из изображений иллюстративных вставок, таких как изображение 104 иллюстративной вставки, хранимых в библиотеке 106 иллюстративных вставок, для вставки в документ презентации, редактируемый сопутствующим приложением 102 для презентаций. В частности, интерфейс 124 иллюстративной вставки может давать пользователю возможность вводить ключевое слово для поиска изображений иллюстративных вставок. Интерфейс 124 иллюстративной вставки передает ключевое слово в поисковую веб-службу 126 во втором серверном компьютере 112. В одном из вариантов осуществления, поисковая веб-служба 126 является веб-службой, сконфигурированной для приема и ответа на запросы для поиска миниатюр, хранимых в библиотеке 106 иллюстративных вставок. Поисковая веб-служба 126 может быть специализированной веб-службой, которая оптимизирована для выполнения быстрого и эффективного поиска по библиотеке 106 иллюстративных вставок.
По приему ключевого слова, поисковая веб-служба 126 отвечает передачей соответствующих миниатюр на интерфейс 124 иллюстративной вставки, который отображает миниатюры пользователю. Поисковая веб-служба 126 также может передавать URL для каждой из миниатюр, каждый URL задает местоположение соответствующего изображения иллюстративной вставки в библиотеке 106 иллюстративных вставок. Пользователь может выбирать одну из миниатюр для вставки соответствующего изображения иллюстративной вставки в документ презентации. В одном варианте осуществления, выбор миниатюры непосредственно передает команду интерфейсу 124 иллюстративной вставки вставить соответствующее изображение иллюстративной вставки в документ презентации. В еще одном варианте осуществления, выбор миниатюры побуждает интерфейс 124 иллюстративной вставки отображать метаданные или другую значимую информацию о соответствующем изображении иллюстративной вставки. Пользователь затем может передавать команду интерфейсу 124 иллюстративной вставки вставить изображение иллюстративной вставки, соответствующее выбранному миниатюрному изображению, в документ презентации. Пользователь может выбирать одну из миниатюр с использованием мыши или другого пригодного устройства ввода.
Чтобы вставлять изображение иллюстративной вставки в документ презентации, интерфейс 124 иллюстративной вставки отправляет запрос на изображение иллюстративной вставки в веб-службу 128 извлечения иллюстративной вставки. В частности, интерфейс 124 иллюстративной вставки может передавать URL, ассоциативно связанный с выбранной миниатюрой, в веб-службу 128 извлечения иллюстративной вставки. В одном варианте осуществления, веб-служба 128 извлечения иллюстративной вставки является веб-службой, сконфигурированной для извлечения изображения иллюстративной вставки из библиотеки 106 иллюстративных вставок. Веб-служба дополнительно сконфигурирована для передачи изображения иллюстративной вставки, такого как изображение 104 иллюстративной вставки, в веб-службу 132 приемника в первом серверном компьютере 110.
По приему изображения 104 иллюстративной вставки, веб-служба 132 приемника пересылает изображение 104 иллюстративной вставки в потребляющее приложение 134 в сопутствующем приложении 102 для презентаций. В одном варианте осуществления, потребляющее приложение 134 сконфигурировано для вставки изображения 104 иллюстративной вставки в документ презентации, редактируемый сопутствующим приложением 102 для презентаций. Потребляющее приложение 134 может вставлять изображение 104 иллюстративной вставки в указатель места заполнения, который определяет местоположение на слайде, где должно быть вставлено изображение 104 иллюстративной вставки. В одном варианте осуществления, веб-служба 132 приемника также проверяет действительность принимаемого изображения 104 иллюстративной вставки, тем самым, уменьшая вероятность приема злоумышленного кода.
По соображениям безопасности, веб-браузер может блокировать запросы, произведенные между разными доменами, такими как домены, ассоциативно связанные с первым серверным компьютером 110 и вторым серверным компьютером 112. Например, веб-браузер 118 может блокировать поисковый запрос, произведенный интерфейсом 124 иллюстративной вставки в поисковую веб-службу 126. Веб-браузер 118 также может блокировать запрос извлечения изображения иллюстративной вставки, произведенный интерфейсом 124 иллюстративной вставки в веб-службу 128 извлечения иллюстративной вставки. Этот тип уязвимости известен как межсайтовый скриптинг («XSS») и может злоумышленно использоваться, если для устранения уязвимости не приняты меры. Для того чтобы обойти меры безопасности XSS в веб-браузере 118, все запросы между первым серверным компьютером 110 и вторым серверным компьютером 112 производятся через посредническую веб-службу 136 в первом серверном компьютере 110. В одном из вариантов осуществления, посредническая веб-служба 136 является веб-службой, сконфигурированной для приема запроса от приложения, выполняющегося на первом серверном компьютере 110, и маршрутизации запроса в приложение, выполняющееся на втором серверном компьютере 112. Посредством маршрутизации запросов через посредническую веб-службу 136, меры безопасности XSS, реализованные в веб-браузере 118, могут с легкостью обходиться.
На фиг.2-4 показаны графические представления отображений экрана, показывающие иллюстративные отображения экрана, выдаваемые веб-браузером 118 в различных вариантах осуществления, представленных в материалах настоящей заявки. В частности, фиг.2-4 показывают иллюстративную реализацию сопутствующего приложения 102 для презентаций и интерфейс 124 иллюстративной вставки. Должно быть принято во внимание, что другие реализации могут предполагаться специалистами в данной области техники. Далее, со ссылкой на фиг.2, дополнительные подробности касательно функциональных возможностей, предусмотренных сопутствующим приложением 102 для презентаций, в одном из вариантов осуществления будут представлены со ссылкой на отображение 200 экрана. Отображение 200 экрана иллюстрирует примерную реализацию 202 сопутствующего приложения 102 для презентаций, при воспроизведении веб-браузером 118. В частности, реализация 202 включает в себя пользовательские интерфейсы для создания и редактирования слайда 204 презентации (в дальнейшем, «слайд 204») в пределах документа презентации. Слайд 204 может содержать в себе практически любой тип мультимедийного контента, в том числе, но не в качестве ограничения, текст, изображения, аудио, видео и их комбинации.
Как показано на фиг.2, реализация 202 показывает две кнопки 206A-206B пользовательского интерфейса, которые могут выбираться пользователем для вставки разных объектов в слайд 204. Кнопка 206A вставки диаграммы дает пользователю возможность вставлять диаграмму в слайд 204, а кнопка 206B вставки иллюстративной вставки дает пользователю возможность вставлять изображение иллюстративной вставки в слайд 204. Дополнительные кнопки для вставки других объектов в слайд 204 могут предполагаться специалистами в данной области техники и не показаны для простоты. Указатель 208 места заполнения предусмотрен в одном из вариантов осуществления для определения местоположения на слайде 204, в котором размещается выбранный объект. Согласно другим вариантам осуществления, объекты могут свободно вставляться в любом местоположении на слайде 204, без использования указателя 208 места заполнения.
В иллюстративном примере, пользователь выбирает кнопку 206B вставки иллюстративной вставки, чтобы инициировать последовательность операций для размещения изображения иллюстративной вставки в местоположении указателя 208 места заполнения. Например, пользователь может выбирать кнопку 206B иллюстративной вставки с использованием курсора 210 мыши или другого пригодного пользовательского устройства ввода. При выборе кнопки 206B вставки иллюстративной вставки, сопутствующее приложение 102 для презентаций выдает интерфейс 124 иллюстративной вставки, который затем воспроизводится веб-браузером 118.
Далее, со ссылкой на фиг.3A, будут описаны дополнительные подробности касательно одной из последовательностей операций для вставки изображения иллюстративной вставки в слайд 204. В частности, фиг.3A показывает отображение 300 экрана, сформированное веб-браузером 118, сопровождающее выбор кнопки 206B вставки иллюстративной вставки. Отображение 300 экрана иллюстрирует примерную реализацию 302 интерфейса 124 иллюстративной вставки, как воспроизводится веб-браузером 118. Реализация 302 включает в себя рамку 304 поиска для ввода ключевого слова. Реализация 302 также включает в себя меню 306 выбора совокупности, которое является выпадающим меню для задания конкретной категории изображений иллюстративной вставки, и меню 308 типа носителя, которое является выпадающим меню для задания конкретного типа файла. Другие критерии поиска также могут быть включены в состав, как предполагается специалистами в данной области техники.
Как проиллюстрировано на фиг.3A, пользователь ввел ключевое слово «автомобиль» в рамку 304 поиска. После ввода ключевого слова «автомобиль» в рамку 304 поиска, интерфейс 124 иллюстративной вставки передает запрос для поиска на основании ключевого слова «автомобиль» в поисковую веб-службу 126 через посредническую веб-службу 136. Поисковая веб-служба 126 выполняет поиск миниатюрных изображений, хранимых в библиотеке 106 иллюстративных вставок, которые соответствуют ключевому слову «автомобиль». Поисковая веб-служба 126 передает миниатюрные изображения, а также URL, ассоциативно связывающие каждое из миниатюрных изображений с соответствующими изображениями иллюстративной вставки, также хранимыми в библиотеке 106 иллюстративных вставок.
Как показано на фиг.3A, реализация 302 принимает четыре миниатюры 310A-310D из поисковой веб-службы 126 и отображает миниатюры 310A-310D. Каждая из миниатюр 310A-310D соответствует ключевому слову «автомобиль», который был введен в рамку 304 поиска. В иллюстративном примере, пользователь выбирает миниатюру 310A, соответствующую изображению иллюстративной вставки, которое должно быть вставлено в местоположении указателя 208 места заполнения. Например, пользователь может выбирать миниатюру 310A с использованием курсора 312 мыши или другого пригодного пользовательского устройства ввода.
При выборе кнопки миниатюры 310A, интерфейс 124 иллюстративной вставки извлекает соответствующее изображение иллюстративной вставки, такое как изображение 104 иллюстративной вставки, из библиотеки 106 иллюстративных вставок на основании URL, ассоциативно связанного с миниатюрой 310A. В частности, интерфейс 124 иллюстративной вставки передает запрос на изображение 104 иллюстративной вставки, соответствующее URL, ассоциативно связанному с миниатюрой 310A, в веб-службу 128 извлечения иллюстративной вставки через посредническую веб-службу 136. Веб-служба 128 извлечения иллюстративной вставки извлекает изображение 104 иллюстративной вставки из библиотеки 106 иллюстративных вставок и передает изображение 104 иллюстративной вставки в веб-службу 132 приемника. Веб-служба 132 приемника пересылает изображение 104 иллюстративной вставки в потребляющее приложение 134, которое помещает изображение 104 иллюстративной вставки в слайд 204 в местоположении указателя 208 места заполнения.
Далее, со ссылкой на фиг.3B, будут описаны дополнительные подробности касательно еще одной последовательности операций для вставки изображения иллюстративной вставки в слайд 204. В частности, фиг.3B иллюстрирует еще одну реализацию 320 интерфейса 124 иллюстративной вставки, как воспроизводится веб-браузером 118. Реализация 320 включает в себя две секции: окно 322 поиска и окно 324 предварительного просмотра. Окно 322 поиска включает в себя по существу те же самые признаки, что и реализация 302. Окно 324 предварительного просмотра отображает миниатюру 310A и метаданные 326, соответствующие изображению 104 иллюстративной вставки. В других вариантах осуществления, окно 324 предварительного просмотра может отображать изображение 104 иллюстративной вставки или другое пригодное изображение вместо миниатюры 310A.
Как проиллюстрировано на фиг.3B, метаданные 326 включают в себя информацию 328 о разрешении, информацию 330 о пространственных размерах, информацию 332 о размере файла и информацию 334 о ключевом слове. Другие метаданные и любая другая существенная информация могут быть включены в метаданные 326. Информация 328 о разрешении указывает разрешение изображения 104 иллюстративной вставки. Информация 330 о пространственных размерах указывает пространственные размеры изображения 104 иллюстративной вставки. Информация 332 о размере файла указывает размер файла изображения 104 иллюстративной вставки. Информация 334 о ключевом слове указывает разные ключевые слова, которые учитываются в изображении 104 иллюстративной вставки. Например, информация 334 о ключевом слове указывает, что каждое из ключевых слов «автомобиль» и «седан» учитывается в изображении 104 иллюстративной вставки.
Как проиллюстрировано на фиг.3B, пользователь ввел ключевое слово «автомобиль» в рамку 304 поиска. При вводе ключевого слова «автомобиль» в рамку 304 поиска, интерфейс 124 иллюстративной вставки передает запрос для поиска на основании ключевого слова «автомобиль» в поисковую веб-службу 126 через посредническую веб-службу 136. Поисковая веб-служба 126 выполняет поиск миниатюр, хранимых в библиотеке 106 иллюстративных вставок, которые соответствуют ключевому слову «автомобиль». Поисковая веб-служба 126 передает миниатюры, а также URL, ассоциативно связывающие миниатюры с соответствующими изображениями иллюстративной вставки, также хранимыми в библиотеке 106 иллюстративных вставок.
Как показано на фиг.3B, реализация 302 принимает четыре миниатюры 310A-310D из поисковой веб-службы 126 и отображает миниатюры 310A-310D. Каждая из миниатюр 310A-310D соответствует ключевому слову «автомобиль», который был введен в рамку 304 поиска. В иллюстративном примере, пользователь выбирает миниатюру 310A для предварительного просмотра соответствующего изображения 104 иллюстративной вставки в окне 324 предварительного просмотра. Например, пользователь может выбирать миниатюру 310A с использованием курсора 312 мыши или другого пригодного пользовательского устройства ввода.
При выборе миниатюры 310A, интерфейс 124 иллюстративной вставки извлекает метаданные 326, соответствующие изображению 104 иллюстративной вставки. Метаданные 326 могут извлекаться из библиотеки 106 иллюстративных вставок через поисковую веб-службу 126, предусмотренную вторым серверным компьютером 112. Другие пригодные базы данных и веб-службы могут использоваться подобным образом. Окно 324 предварительного просмотра отображает миниатюру 310A и метаданные 326. При просмотре окна 324 предварительного просмотра, пользователь может принять решение просмотреть другие метаданные для других миниатюр, таких как миниатюры 310B, 310C, 310D. Например, пользователь может выбирать миниатюру 310B для просмотра метаданных, соответствующих миниатюре 310B в окне 324 предварительного просмотра.
В качестве альтернативы, пользователь может принять решение вставить изображение 104 иллюстративной вставки, соответствующее миниатюре 310, в местоположении указателя 208 места заполнения, выбирая кнопку 336 вставки. Про выборе кнопки 336 вставки, интерфейс 124 иллюстративной вставки извлекает изображение 104 иллюстративной вставки из библиотеки 106 иллюстративных вставок на основании URL, ассоциативно связанного с миниатюрой 310A. В частности, интерфейс 124 иллюстративной вставки передает запрос на изображение 104 иллюстративной вставки, соответствующее URL, ассоциативно связанному с миниатюрой 310A, в веб-службу 128 извлечения иллюстративной вставки через посредническую веб-службу 136. Веб-служба 128 извлечения иллюстративной вставки извлекает изображение 104 иллюстративной вставки из библиотеки 106 иллюстративных вставок и передает изображение 104 иллюстративной вставки в веб-службу 132 приемника. Веб-служба 132 приемника пересылает изображение 104 иллюстративной вставки в потребляющее приложение 134, которое помещает изображение 104 иллюстративной вставки в слайд 204 в местоположении указателя 208 места заполнения.
Далее, со ссылкой на фиг.4, будут описаны дополнительные подробности касательно одной последовательности операций для вставки изображения иллюстративной вставки в слайд 204. В частности, фиг.4 показывает отображение 400 экрана, сформированное веб-браузером 118, сопровождающее вставку изображения 104 иллюстративной вставки, соответствующего миниатюре 310A. Изображение 104 иллюстративной вставки размещается в местоположении указателя 208 места заполнения в пределах слайда 204. В качестве альтернативы, изображение 104 иллюстративной вставки может размещаться в любом подходящем местоположении в пределах слайда 204.
Далее, со ссылкой на фиг.5A и 5B, будут приведены дополнительные подробности касательно вариантов осуществления, представленных в материалах настоящей заявки, для извлечения изображения иллюстративной вставки из удаленной библиотеки иллюстративных вставок и вставки изображения иллюстративной вставки в документ презентации через сопутствующее приложение для презентаций. Должно приниматься во внимание, что логические операции, описанные в материалах настоящей заявки, реализуются (1) в качестве последовательности реализуемых компьютером действий или программных модулей, работающих в вычислительной системе, и/или (2) в качестве взаимосвязанных логических схем или схемных модулей машины в пределах вычислительной системы. Реализация является предметом предпочтения, зависящим от требований к производительности и других требований вычислительной системы. Соответственно, логические операции, описанные в материалах настоящей заявки, указываются ссылкой по-разному в качестве операций над состояниями, конструктивных устройств, действий или модулей. Эти операции, конструктивные устройства, действия и модули могут быть реализованы в программном обеспечении, программно-аппаратных средствах, в цифровой логике специального назначения и любой их комбинации. Должно быть принято во внимание, что может выполняться большее или меньшее количество операций, чем показано на фигурах и описано в материалах настоящей заявки. Эти операции также могут выполняться в ином порядке, нежели описанный в материалах настоящей заявки.
Со ссылкой на фиг.5A, процедура 500 начинается с операции 502, где интерфейс 124 иллюстративной вставки в первом серверном компьютере 110 принимает ключевое слово от пользователя. После приема ключевого слова, на операции 504, интерфейс 124 иллюстративной вставки передает, в поисковую веб-службу 126 во втором серверном компьютере 112, запрос на миниатюры, соответствующие ключевому слову. В одном из вариантов осуществления, запрос на миниатюры отправляется через посредническую веб-службу 136, чтобы обойти меры безопасности от XSS веб-браузера 118.
Процедура 500 переходит к операции 506, где поисковая веб-служба 126 принимает запрос на миниатюры и извлекает миниатюры, соответствующие ключевому слову, из библиотеки 106 иллюстративных вставок. Поисковая веб-служба 126 также принимает URL, соответствующий каждой из миниатюр. Каждый URL задает местоположение в библиотеке 106 иллюстративных вставок, где расположено изображение иллюстративной вставки, соответствующее данной миниатюре. После приема значимых миниатюр и URL, на операции 508, поисковая веб-служба 126 передает миниатюры и URL на интерфейс 124 иллюстративной вставки.
Процедура 500 переходит к операции 510, где интерфейс 124 иллюстративной вставки отображает миниатюры. Пользователь может выбирать изображение иллюстративной вставки для предварительного просмотра метаданных, соответствующих изображению иллюстративной вставки. На операции 512, интерфейс 124 иллюстративной вставки принимает выбор одной из миниатюр от пользователя. После приема выбора одной из миниатюр, на операции 514, интерфейс 124 иллюстративной вставки передает запрос на метаданные, соответствующие выбранной миниатюре в библиотеку 106 иллюстративных вставок или другую подходящую базу данных. Например, запрос может производиться через поисковую веб-службу 126 или другую пригодную веб-службу. Поисковая веб-служба 126, на операции 516, извлекает запрошенные метаданные из библиотеки 106 иллюстративных вставок.
Процедура переходит к операции 518 по фиг.5B, где поисковая веб-служба 126 передает запрошенные метаданные на интерфейс 124 иллюстративной вставки. Интерфейс 124 иллюстративной вставки, на операции 520, отображает запрошенные метаданные пользователю. После просмотра метаданных, соответствующих выбранной миниатюре, на операции 522, пользователь может запрашивать, чтобы изображение иллюстративной вставки, соответствующее выбранной миниатюре, вставлялось в документ презентации. После приема запроса на вставку изображения иллюстративной вставки, соответствующего выбранной миниатюре, на операции 524, интерфейс 124 иллюстративной вставки передает, в веб-службу 128 извлечения иллюстративной вставки во втором серверном компьютере 112, запрос на извлечение изображения иллюстративной вставки, соответствующего выбранной миниатюре. В частности, интерфейс 124 иллюстративной вставки передает URL, ассоциативно связанный с выбранной миниатюрой.
Процедура 500 переходит к операции 526, где веб-служба 128 извлечения иллюстративной вставки принимает URL и извлекает, из библиотеки 106 иллюстративных вставок, изображение иллюстративной вставки, соответствующее URL. После извлечения изображения иллюстративной вставки, на операции 528, веб-служба 128 извлечения иллюстративной вставки передает изображение иллюстративной вставки в веб-службу 132 приемника на первом серверном компьютере 110. Веб-служба 132 приемника пересылает изображение иллюстративной вставки в потребляющее приложение 134, которое, на этапе 530, вставляет изображение иллюстративной вставки в документ презентации. Например, потребляющее приложение 134 может размещать изображение иллюстративной вставки в указателе места заполнения, таком как указатель 208 места заполнения, как указано пользователем.
Далее, со ссылкой на фиг.6, проиллюстрирована примерная схема архитектуры компьютера, показывающая аспекты компьютера 600. Компьютер 600 включает в себя блок 602 обработки («CPU»), системную память 604, и системную шину 606, которая присоединяет память 604 к CPU 602. Компьютер 600 дополнительно включает в себя запоминающее устройство 612 большой емкости для хранения одного или более программных модулей 614 и одной или более баз 616 данных. Примеры программного модуля 614 включают в себя сопутствующее приложение 102 для презентаций и приложение 120 веб-сервера. Запоминающее устройство 612 большой емкости присоединено к CPU 602 через контроллер запоминающего устройства большой емкости (не показан), присоединенный к шине 606. Запоминающее устройство 612 большой емкости и его ассоциативно связанные машинно-читаемые носители предусматривают энергонезависимое хранилище для компьютера 600. Хотя описание машинно-читаемых носителей, содержащееся в материалах настоящей заявки, ссылается на запоминающее устройство большой емкости, такое как накопитель на жестких дисках или привод CD-ROM, специалистами в данной области техники должно быть ясно, что машинно-читаемые носители могут быть любыми пригодными компьютерными запоминающими носителями, к которым можно получить доступ с помощью компьютера 600.
В качестве примера, а не ограничения, машинно-читаемые носители могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машинно-читаемые команды, структуры данных, программные модули или другие данные. Например, машинно-читаемые запоминающие носители включают в себя, но не в качестве ограничения, ОЗУ (оперативное запоминающее устройство, RAM), ПЗУ (постоянное запоминающее устройство, ROM), СППЗУ (стираемое программируемое ПЗУ, EPROM), ЭСППЗУ (электрически стираемое программируемое ПЗУ, EEPROM), флэш-память или другую технологию твердотельной памяти, CD-ROM, цифровой многофункциональный диск («DVD»), HD-DVD (DVD высокой плотности записи), BLU-RAY, или другое оптическое запоминающее устройство, магнитные кассеты, магнитную ленту, магнитное дисковое запоминающее устройство или другие магнитные запоминающие устройства, либо любой другой носитель, который может использоваться для хранения требуемой информации и к которому можно получить доступ с помощью компьютера 600.
Согласно различным вариантам осуществления, компьютер 600 может работать в сетевой среде с использованием логических соединений с удаленными компьютерами через сеть 618, такую как сеть 114. Компьютер 600 может присоединяться к сети 618 через сетевой интерфейсный блок 610, присоединенный к шине 606. Должно быть принято во внимание, что сетевой интерфейсный блок 610 также может использоваться для присоединения к другим типам сетей и удаленных компьютерных систем. Компьютер 600 также может включать в себя контроллер 608 ввода/вывода для приема и обработки входного сигнала с некоторого числа устройств ввода (не показаны), включая клавиатуру, мышь, микрофон и игровой контроллер. Подобным образом, контроллер 608 ввода/вывода может обеспечивать вывод на устройство отображения или другой тип устройства вывода (не показано).
На основании вышеизложенного, должно быть понятно, что в материалах настоящей заявки представлены технологии для вставки мультимедийного файла через основанное на веб-технологии рабочее приложение для настольной системы. Хотя предмет изобретения, представленный в материалах настоящей заявки, был описан на языке, специфичном для структурных признаков компьютера, действий обобщенных способов и машинно-читаемых носителей, должно быть понятно, что изобретение, определенное в прилагаемой формуле изобретения, не обязательно ограничено отдельными признаками, действиями или носителями, описанными в материалах настоящей заявки. Скорее, отдельные признаки, действия и носители раскрыты в качестве примерных форм реализации формулы изобретения.
Предмет изобретения, описанный выше, предоставлен только в качестве иллюстрации и не должен истолковываться в качестве ограничивающего. Различные модификации и изменения могут быть произведены в отношении предмета изобретения, описанного в материалах настоящей заявки, не следуя проиллюстрированным и описанным примерным вариантам осуществления и применениям, и не выходя из истинных сущности и объема настоящего изобретения, которые изложены в следующей формуле изобретения.