ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к компьютерной технике, более конкретно к области преобразования форматов файлов для расширения возможностей прикладных программ и веб-браузеров по воспроизведению документов.
УРОВЕНЬ ТЕХНИКИ
Прикладные программы для повышения производительности, такие как прикладные программы обработки текста, прикладные программы для таблиц и прикладные программы для презентаций, позволяют пользователям создавать различные типы документов. Эти документы могут включать в себя данные, которые имеют собственный формат для конкретного типа документов и даже для конкретной прикладной программы. Чтобы просмотреть эти данные в собственном формате, пользователь может просматривать документ через прикладную программу для повышения производительности, которая создала документ. Например, пользователь может полагаться на конкретную прикладную программу обработки текста для просмотра документа обработки текста, который был создан прикладной программой обработки текста.
Проблема может возникнуть, когда документы совместно используются во Всемирной сети (далее называемой "Сетью") через веб-браузеры. В частности, типичные веб-браузеры могут быть не способны к чтению заданного документа в его собственном формате. Чтобы решить эту проблему, веб-сервер может быть выполнен с возможностью исполнять код, который способен к преобразованию документа из его собственного формата в совместимый с веб-браузером формат, который может быть просмотрен через веб-браузер.
Традиционные реализации таких веб-серверов преобразуют документ полностью перед предоставлением преобразованной версии веб-браузеру. Иногда это называется предварительным преобразованием документа. Во время предварительного преобразования пользователь, который запрашивает просмотр данного документа, может быть вынужден ожидать существенное количество времени, прежде чем документ будет полностью преобразован. Эта задержка может вызвать существенное разочарование и неудобство для пользователя.
Сделанное здесь раскрытие представлено относительно этих и других аспектов.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Здесь описаны способы для преобразования контента, такого как документы. Сервер приложений обеспечен для преобразования документов и другого контента из собственного формата документов в совместимый с веб-браузером формат, который можно просматривать через веб-браузер или другую подходящую прикладную программу. Сервер приложений включает в себя блок преобразования, который выполнен с возможностью пошагово преобразовывать документы. Посредством пошагового преобразования сервер приложений может предоставлять веб-браузеру части преобразованных документов, в то время как документы в собственном формате все еще преобразуются. Другие иллюстративные реализации описанных здесь способов включают в себя конвертирование документа из одного формата в другой формат (например, трансформирование документа из формата двоичного файла в формат открытого расширяемого языка разметки для офисных приложений (Office Open XML), переносимый формат документов (PDF) и т.п.).
Также обеспечен менеджер загрузок, чтобы увеличить производительность блока преобразования. В то время как блок преобразования преобразует один документ, менеджер загрузок может начать извлекать другие документы, которые необходимо преобразовать в более позднее время. Эти другие документы могут быть загружены с сервера хранения и храниться в очереди преобразования на сервере приложений. Как только блок преобразования становится доступным, блок преобразования может сразу начать преобразовывать эти другие документы непосредственно из очереди преобразования без какого-либо времени простоя в ожидании извлечения документов.
Также обеспечены один или более кэшей, чтобы уменьшить объем работы, используемой для извлечения документов и другого контента. Примеры кэшей включают в себя кэш документов, кэш авторизации и кэш местоположения. Кэш документов может быть выполнен с возможностью хранить преобразованные документы во внешней части, тем самым избавляя от необходимости извлекать преобразованные документы из других устройств хранения данных во внутренней системной части. Кэш авторизации может быть выполнен с возможностью хранить данные авторизации и аутентификации, тем самым избавляя от необходимости повторно авторизовать или повторно аутентифицировать пользователя, который позднее выполняет доступ к тому же самому документу. Кэш местоположения может быть выполнен с возможностью хранить местоположение преобразованного документа. С помощью кэша местоположения преобразованный документ может быть эффективно извлечен из соответствующего устройства хранения данных без потребности запроса к нескольким устройствам хранения данных.
В соответствии с одним вариантом воплощения здесь обеспечен способ преобразования контента для просмотра через веб-браузер, работающий на компьютере. Части контента трансформируются в части преобразованного контента. В то время как части контента трансформируются в части преобразованного контента, по меньшей мере одна из частей преобразованного контента может быть предоставлена прикладной программе.
Следует понимать, что описанный выше предмет также может быть реализован как управляемое компьютером устройство, компьютерный процесс, вычислительная система или как изделие, такое как машиночитаемый носитель. Эти и различные другие признаки будут понятны из прочтения последующего подробного описания и обзора приложенных чертежей.
Это описание сущности изобретения дано для того, чтобы в упрощенной форме представить выбор концепций, которые далее описаны в подробном описании. Это описание сущности изобретения не предназначено для выявления ключевых признаков или существенных признаков заявленного предмета, а также не предназначено для того, чтобы это описание сущности изобретения было использовано для ограничения объема заявленного предмета. Кроме того, заявленный предмет не ограничен реализациями, которые устраняют какие-либо или все недостатки, отмеченные в любой части этого раскрытия.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - блок-схема, показывающая иллюстративную системную архитектуру, выполненную с возможностью преобразовывать документы для просмотра через веб-браузер, в соответствии с вариантами воплощения.
Фиг.2 - блок-схема, показывающая иллюстративную реализацию менеджера приложений из системной архитектуры, показанной на фиг.1, в соответствии с вариантами воплощения.
Фиг.3 - блок-схема, показывающая иллюстративную реализацию внешней части из системной архитектуры, показанной на фиг.1, в соответствии с вариантами воплощения.
Фиг.4A - блок-схема последовательности операций, показывающая иллюстративный процесс для преобразования контента для просмотра через веб-браузер, в соответствии с вариантами воплощения.
Фиг.4B - блок-схема последовательности операций, показывающая иллюстративный процесс для извлечения части преобразованного контента, в соответствии с вариантами воплощения.
Фиг.5 - схема архитектуры компьютера, показывающая иллюстративную архитектуру компьютерного оборудования для вычислительной системы, способной к реализации представленных здесь вариантов воплощения.
ПОДРОБНОЕ ОПИСАНИЕ
Последующее подробное описание направлено на технологии для преобразования контента, такого как документы. Посредством использования представленных здесь технологий и концепций обеспечивается сервер приложений, который выполнен с возможностью пошагово преобразовывать документ или другой контент из его собственного формата в другой формат, такой как формат, совместимый с веб-браузером. В отличие от предварительного преобразования, поскольку контент преобразуется пошагово, каждая отдельная часть документа или другой контент, который был преобразован, могут быть сделаны доступными для пользователя. Также могут быть обеспечены один или более кэшей, чтобы уменьшить объем работы, используемой для извлечения преобразованного контента.
Описанные здесь варианты воплощения могут называть страницы и слайды отдельными частями документов и преобразованными документами. Однако следует понимать, что страницы и слайды являются лишь примерами отдельных частей и не предназначены для ограничения. Как предусматривается специалистами в области техники, также могут быть реализованы другие виды отдельных частей.
Описанные здесь варианты воплощения прежде всего относятся к документам и преобразованию документов, хотя не ограничены этим. Однако следует понимать, что описанные здесь варианты воплощения также могут быть применены к любому подходящему контенту, который может быть преобразован из собственного формата в другой формат. Такой контент может включать в себя любое мультимедийное содержание, такое как текст, изображения, аудиоинформация, видеоинформация и их комбинации. Кроме того, описанные здесь варианты воплощения прежде всего ссылаются на преобразованный формат как на формат, совместимый с веб-браузером, который можно просматривать через веб-браузер. Однако следует понимать, что преобразованный формат может представлять собой другие подходящие форматы, как предусматривается специалистами в области техники.
Хотя описанный здесь предмет представлен в общем контексте программных модулей, которые исполняются совместно с исполнением операционной системы и прикладных программ на компьютерной системе, специалисты в области техники поймут, что другие реализации могут быть выполнены в комбинации с другими типами программных модулей. Обычно программные модули включают в себя процедуры, программы, компоненты, структуры данных и структуры других типов, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Кроме того, специалисты в области техники поймут, что описанный здесь предмет может быть осуществлен с помощью других конфигураций компьютерных систем, в том числе карманных устройств, многопроцессорных систем, основанной на микропроцессоре или программируемой бытовой электроники, миникомпьютеров, универсальных вычислительных машин и т.п.
В последующем подробном описании сделаны ссылки на сопроводительные чертежи, которые составляют его часть и которые посредством иллюстрации показывают конкретные варианты воплощения или примеры. Теперь со ссылкой на чертежи, на которых аналогичные номера представляют аналогичные элементы в нескольких фигурах, будут описаны концепции и технологии для обеспечения просмотра контента по требованию. В частности, фиг.1 является блок-схемой, показывающей системную архитектуру 100, выполненную с возможностью преобразования документов и извлечения преобразованных документов в соответствии с вариантами воплощения. Архитектура 100 включает в себя внешнюю часть 102, которая выполнена с возможностью взаимодействовать с компьютером 104. Внешняя часть 102 может принимать и обрабатывать запросы от веб-браузера 106 по сети 108, такой как Интернет. Например, внешняя часть 102 может принять сообщение протокола передачи гипертекста (HTTP) с запросом конкретного документа, такого как документ 110A, сохраненного в хранилище 112 документов. Следует понимать, что компоненты архитектуры 100 могут находиться на одном и том же сервере в соответствии с дополнительными вариантами воплощения. Разделение архитектуры 100 на внешние части и серверы приложений является лишь выбором конфигурации для реализации и не предназначено для ограничения.
В ответ на получение запроса HTTP внешняя часть 102 может попытаться извлечь из выходного хранилища 114 совместимый с веб-браузером преобразованный документ 110B, соответствующий запрашиваемому документу 110A. Например, преобразованный документ 110B может быть сохранен в выходном хранилище 114, если документ 110A был недавно преобразован. Если выходное хранилище 114 содержит преобразованный документ 110B, соответствующий документу 110A, то выходное хранилище 114 может возвратить внешней части 102 преобразованный документ 110B.
Если выходное хранилище 114 не содержит преобразованный документ 110B, то сервер 116 приложений, а более конкретно блок 118 преобразования, может извлечь документ 110A из хранилища 112 документов. В соответствии с вариантами воплощения блок 118 преобразования в сервере 116 приложений выполнен с возможностью преобразовывать (то есть, конвертировать, трансформировать) документ 110A в преобразованный документ 110B. Блок 118 преобразования может формировать преобразованный документ 110B в любом формате, который может быть отображен подходящим веб-браузером. Иллюстративные форматы могут включать в себя формат изображения (например, формат переносимой сетевой графики (PNG), формат объединенной экспертной группы по фотографии (JPEG) и т.д.), формат MICROSOFT SILVERLIGHT, формат ADOBE FLASH и т.п. Блок 118 преобразования также может формировать преобразованный документ 110B в совместимое с веб-браузером представление, которое может включать в себя расширяемый язык разметки (XML), сценарии, язык разметки гипертекста (HTML), изображения и/или т.п., с тем чтобы отдельные типы данных в совместимом с веб-браузером представлении могли быть все вместе понятны для веб-браузера. Каждый из этих типов данных может быть сделан доступным для пользователя после формирования посредством описанного здесь процесса пошагового преобразования. Блок 118 преобразования также может быть выполнен с возможностью одновременно преобразовывать несколько документов. После формирования преобразованного документа 110B сервер 116 приложений может сохранить преобразованный документ 110B в выходном хранилище 114 и возвращает преобразованный документ 110B внешней части 102.
После приема преобразованного документа 110B внешняя часть 102 может ответить на запрос HTTP посредством предоставления преобразованного документа 110B веб-браузеру 106 через протокол HTTP. Веб-браузер 106 затем может отобразить преобразованный документ 110B, который является полным точным представлением соответствующего документа 110A. Полное точное представление содержит то же самое форматирование (например, расположение, разрешение, контент и т.д.), которое находится в первоначальном представлении. Таким образом, пользователь может ожидать одинакового восприятия при просмотре данного документа, просматривается ли документ через прикладную программу для повышения производительности или через веб-браузер, такой как веб-браузер 106. Полное точное представление может быть противопоставлено представлению с низкой точностью, в котором, например, может быть изменено расположение или разрешение и сокращен контент. В других вариантах воплощения преобразованный документ 110B может быть использован для сценариев без просмотра, например, для конвертирования двоичных файлов в другой тип документа для редактирования. Например, двоичный файл формата MICROSOFT OFFICE может быть преобразован в файл формата открытого расширяемого языка разметки для офисных приложений (OOXML).
Следует понимать, что компоненты и конфигурация компонентов в пределах архитектуры 100, показанной на фиг.1, являются лишь иллюстративными и не предназначены для ограничения. В других вариантах воплощения архитектура 100 может включать в себя дополнительные внешние части и/или дополнительные серверы приложений. Кроме того, несколько внешних частей и/или несколько серверов приложений могут находиться на одном и том же сервере. Например, дополнительные внешние части могут быть использованы для обработки большего количества запросов от веб-браузеров. В одном варианте воплощения дополнительные серверы приложений развернуты для обработки преобразования более тяжелых нагрузок. В другом варианте воплощения дополнительные серверы приложений развернуты для преобразования разных типов документов. Например, один сервер приложений может быть выделен для преобразования документов обработки текста, в то время как другой сервер приложений может быть выделен для преобразования презентаций. В еще одном варианте воплощения дополнительные серверы приложений развернуты для преобразования разных элементов данного документа. Преобразованные элементы затем могут быть объединены для создания преобразованного документа. Например, один сервер приложений может преобразовывать видеоинформацию в презентации, в то время как другой сервер приложений может преобразовывать текст в презентации. В этом случае внешняя часть 102 может функционировать с возможностью объединять результаты этих двух серверов приложений для формирования преобразованной презентации.
В некоторых вариантах воплощения в ответ на единственный запрос преобразования документа в заданном формате внешняя часть 102 может дать указание серверу 116 приложений преобразовать документ в несколько форматов, чтобы поддерживать использование в нескольких типах устройств и конфигураций веб-клиента. Например, веб-браузер 106 может запросить от внешней части 102 заданный документ, преобразованный в формате ADOBE FLASH. Внешняя часть 102 может определить через профиль пользователя, относящийся к пользователю, работающему с веб-браузером 106, что пользователь часто выполняет доступ к документам в форматах ADOBE FLASH, MICROSOFT SILVERLIGHT, в формате переносимой сетевой графики (PNG), для мобильных и полных версий. Внешняя часть 102 также может определить через профиль пользователя, что пользователь часто выполняет доступ к документам в совместимом с веб-браузером представлении, включающем в себя комбинацию XML, сценариев, HTML, изображений и/или т.п. В этом случае внешняя часть 102 может выполнить запрос посредством преобразования документа в одну или более из этих версий. Другие подходящие данные могут быть аналогичным образом использованы для определения, предписывает ли внешняя часть 102 серверу 116 приложений преобразовать документ в несколько форматов в ответ на единственный запрос преобразования. Посредством заблаговременного преобразования документов в несколько форматов в ответ на единственный запрос вместо того, чтобы преобразовывать документ в ответ на конкретные запросы для дополнительных форматов, архитектура 100 может более быстро обеспечивать преобразованные документы.
В соответствии с вариантами воплощения сервер 116 приложений дополнительно включает в себя менеджер 120 приложений. Менеджер 120 приложений выполнен с возможностью управлять пошаговым преобразованием документа 110A в преобразованный документ 110B. Используемый здесь термин "пошаговое преобразование" относится к предоставлению частей преобразованного документа 110B по мере преобразования документа 110A блоком 118 преобразования. Например, преобразованная первая страница документа обработки текста или преобразованный первый слайд презентации могут быть выданы внешней части 102, которая затем может выдать преобразованную первую страницу или преобразованный первый слайд веб-браузеру 106 для отображения. Другие варианты воплощения могут преобразовывать любую конкретную страницу или слайд в документе. Другие варианты воплощения также могут преобразовывать другие части контента помимо страниц или слайдов. Поскольку остаток документа обработки текста или презентации преобразуется блоком 118 преобразования, менеджер 120 приложений может предоставлять дополнительные преобразованные страницы и преобразованные слайды веб-браузеру 106.
Чтобы обеспечить пошаговое преобразование, менеджер 120 приложений может сделать доступными части преобразованного документа 110B по мере преобразования документа 110A блоком 118 преобразования. Внешняя часть 102 затем может по мере необходимости извлекать эти части преобразованного документа 110B из сервера 116 приложений. В одном варианте воплощения части преобразованного документа 110B сохраняются во внутреннем кэше 122 в сервере 116 приложений.
Во время пошагового преобразования страницы или слайды документа могут быть преобразованы в любом предопределенном порядке. Преобразованные страницы или слайды затем делаются доступными для внешней части 102 в том же порядке, в котором они были преобразованы. В одном варианте воплощения документы преобразуются с начала документа до конца документа.
В отличие от традиционного предварительного преобразования, когда пользователь должен ожидать, пока не будет преобразован весь документ, пошаговое преобразование уменьшает время преобразования, прежде чем пользователь сможет просматривать часть документа, например, начало или некоторую другую часть документа. Например, при традиционном предварительном преобразовании пользователь, желающий просмотреть первую страницу документа обработки текста или первый слайд презентации, должен был бы ожидать до тех пор, пока не будет преобразован весь документ обработки текста или вся презентация. В иллюстративной реализации пошагового преобразования пользователь может быстрее просмотреть первую страницу или первый слайд до того, как будет преобразован остаток документа обработки текста или презентации.
В некоторых вариантах воплощения пользователь может запросить страницу N или слайд N документа, где переменная N представляет любую страницу или любой слайд в документе. Запрос может произойти до или во время преобразования документа. После получения запроса на страницу N или слайд N менеджер 120 приложений может дать указание блоку 118 преобразования преобразовать страницу N или слайд N посредством поиска конкретной страницы или слайда в документе. Преобразованная страница N или слайд N затем могут быть сделаны доступными для внешней части 102. После того, как преобразованная страница N или слайд сделаны N доступными, менеджер 120 приложений может продолжить преобразование остатка документа.
В некоторых вариантах воплощения блок 118 преобразования выполнен с возможностью пошагово преобразовывать документ, даже когда документ еще не полностью загружен. Таким образом, блок 118 преобразования может начать преобразовывать документ, пока он загружается из хранилища 112 документов, вместо того, чтобы ожидать, пока будет загружен весь файл. Этот подход к преобразованию документа до его полной загрузки может уменьшить количество времени, занимаемое у блока 118 преобразования для преобразования документа, особенно если документ является относительно большим.
Теперь со ссылкой на фиг.2 будут описаны дополнительные подробности относительно менеджера 120 приложений. В частности, фиг.2 является блок-схемой, показывающей менеджер 120 приложений в соответствии с вариантами воплощения. Менеджер 120 приложений включает в себя менеджер 202 загрузок и очередь 204 преобразования. В соответствии с вариантами воплощения менеджер 202 загрузок выполнен с возможностью загружать документы из хранилища 112 документов перед тем, как блок 118 преобразования преобразует документы. Менеджер 202 загрузок затем может сохранить загруженные документы в очереди 204 преобразования, пока блок 118 преобразования не будет доступен для преобразования документов. Следует понимать, что очередь 204 преобразования может работать без менеджера 202 загрузок. Однако менеджер 202 загрузок может быть использован для ускорения обработки через очередь 204 преобразования. Кроме того, даже когда менеджер 202 загрузок присутствует, очередь 204 преобразования может работать независимо от менеджера 202 загрузок для обработки случаев, когда менеджер 120 приложений перегружен.
В иллюстративном примере, если выполнен запрос преобразования первого документа 206A и второго документа 206B, менеджер 202 загрузок может загрузить первый документ 206A из хранилища 112 документов, и блок 118 преобразования может начать преобразовывать первый документ 206A. Пока блок 118 преобразования преобразует первый документ 206A, менеджер 202 загрузок может одновременно загрузить второй документ 206B из хранилища 112 документов и сохранить второй документ 206B в очереди 204 преобразования. После преобразования первого документа 206A блок 118 преобразования может затем сразу перейти к преобразованию второго документа 206B из очереди 204 преобразования, не ожидая, пока будет загружен второй документ 206B. Таким образом, производительность блока 118 преобразования улучшается посредством устранения какого-либо времени простоя, имеющегося в традиционных реализациях, где блок 118 преобразования ожидал бы загрузки второго документа 206B.
Следует понимать, что очередь 204 преобразования может быть выполнена с возможностью хранить любое количество документов, как предполагается специалистами в области техники. В некоторых вариантах воплощения менеджер 202 загрузок может быть сконфигурирован пользователем для регулировки количества документов, загружаемых одновременно, и максимального количества документов, хранящихся в очереди 204 преобразования, которые ожидают преобразования. Таким образом, пользователь может гарантировать, что количество документов, загружаемых и/или хранящихся в любой момент времени, не оказывает чрезмерной нагрузки на системные ресурсы.
Теперь со ссылкой на фиг.3 будут описаны дополнительные детали относительно внешней части 102. В частности, фиг.3 является блок-схемой, показывающей внешнюю часть 102 в соответствии с вариантами воплощения. Внешняя часть 102 включает в себя блок 302 слияния запросов и несколько кэшей 304, в том числе кэш 304A документов, кэш 304B авторизации и кэш 304C местоположения. В соответствии с вариантами воплощения блок 302 слияния запросов поддерживает данные отслеживания, идентифицирующие конкретный сервер приложений, который в настоящий момент преобразует данный документ. Блок 302 слияния запросов может использовать эти данные отслеживания для направления дополнительных запросов того же самого документа тому же самому серверу приложений. Посредством направления дополнительных запросов того же самого документа тому же самому серверу приложений сокращается избыточная работа между серверами приложений, и другие серверы приложений свободны для преобразования других документов.
Как описано ранее, системная архитектура 100, показанная на фиг.1, может включать в себя несколько внешних частей и несколько серверов приложений. Эти внешние части могут или не могут быть способны к взаимодействию друг с другом. В случае, когда внешние интерфейсные части не взаимодействуют друг с другом, блок 302 слияния запросов может быть выполнен с возможностью выполнять согласованное хеширование для идентификации конкретного сервера приложений для запроса конкретного документа. При согласованном хешировании могут быть проанализированы один или более аспектов данного запроса документа, чтобы отобразить эти аспекты на конкретный сервер приложений. Таким образом, отдельные внешние части могут направлять несколько запросов одного и того же документа одному и тому же серверу приложений, даже когда внешние части не могут взаимодействовать друг с другом. Пример аспекта запроса документа представляет собой имя запрашиваемого документа. Следует понимать, что согласованное хеширование в этом случае может значительно увеличить вероятность того, что документы не преобразуются многократно на разных серверах приложений (например, несколько внешних частей могли принять запросы на один и тот же документ). Без согласованного хеширования многие серверы приложений могут принять эти запросы и обработать один и тот же документ. Также могут быть использованы другие методы хеширования, способные отображать запросы документа на серверы приложений.
Кэши 304 могут улучшить производительность внешней части 102 посредством сокращения необходимости для внешней части 102 доступа к другим частям системной архитектуры 100, таким как выходное хранилище 114 и сервер 116 приложений. В соответствии с вариантами воплощения кэш 304A документов выполнен с возможностью кэшировать по меньшей мере части преобразованных документов в соответствии с популярностью. Например, документы, которые часто запрашиваются, могут быть извлечены непосредственно из кэша 304A вместо доступа к выходному хранилищу 114 или серверу 116 приложений. Любые из множества факторов и способов могут быть использованы для определения популярности документов, как предусматривается специалистами в области техники.
В соответствии с вариантами воплощения кэш 304B авторизации выполнен с возможностью хранить информацию авторизации или аутентификации, ассоциированную с пользователем. Доступ к документам и преобразованным документам может быть ограничен на основе процесса авторизации, посредством которого пользователь вводит информацию идентификации, такую как имя пользователя и пароль. Например, когда пользователь пытается получить доступ к конкретному документу, внешняя часть 102 может получить доступ к блоку авторизации (не показан), который запрашивает такую информацию, как идентификатор для входа в систему и пароль, идентифицирующие пользователя. Затем блок авторизации может определить, имеет ли пользователь разрешение для доступа к документу. Блок авторизации может быть выполнен с возможностью разрешать доступ к документу только тогда, когда блок авторизации подтверждает, что пользователь имеет разрешение.
Когда блок авторизации успешно подтверждает пользователя, кэш 304B авторизации может сохранить информацию состояния, указывающую, что пользователь был подтвержден. Внешняя часть 102 может использовать эту информацию состояния, чтобы подтвердить, что пользователь имеет или не имеет разрешение для доступа к документу, без необходимости доступа к блоку авторизации. Таким образом, внешняя часть 102 не должна отправлять параметры доступа в удаленную службу авторизации, и тем самым оптимизируется производительность внешней части 102. Кроме того, пользователь не должен повторно вводить информацию идентификации для дополнительных запросов для доступа к тому же самому документу.
Информация состояния, сохраненная в кэше 304B авторизации, может быть особенно полезна, когда пользователь запрашивает только часть данного документа за один раз. Например, пользователь может первоначально запросить только первую страницу многостраничного документа. После передачи запроса первой страницы документа от пользователя может потребоваться ввести информацию идентификации (то есть, параметры доступа), чтобы просмотреть первую страницу. Если пользователь затем запрашивает дополнительные страницы документа, внешняя часть 102 может быстро авторизовать пользователя на основе параметров доступа, сохраненных в кэше 304B авторизации. Таким образом, каждая аутентификация пользователя необязательно приводит к запросу ввода пользователем параметров доступа. Кроме того, можно избавиться от необходимости повторного запроса других серверов для аутентификации и авторизации пользователя. Кэш 304B авторизации может быть выполнен с возможностью хранить информацию состояния любое количество времени, после чего информация состояния может быть удалена.
В соответствии с вариантами воплощения кэш 304C местоположения, который может также называться "словарем", выполнен с возможностью хранить местоположение данного преобразованного документа. Например, кэш 304C местоположения может указывать конкретное устройство хранения данных, которое хранит конкретный преобразованный документ. Примеры устройств хранения данных могут включать в себя выходное хранилище 114 и внутренний кэш 122. Устройства хранения данных могут являться частью системной архитектуры 100 или могут быть отдельными от системной архитектуры 100. Посредством сохранения местоположения преобразованных документов в кэше 304C местоположения внешняя часть 102 может направлять запросы преобразованного документа конкретному устройству хранения данных, в противоположность индивидуальным запросам к каждому устройству хранения данных и порождению дополнительной нагрузки на устройства хранения данных.
Теперь со ссылкой на фиг.4A и 4B будут предоставлены дополнительные подробности относительно представленных здесь вариантов воплощения для преобразования документов для просмотра через веб-браузер. В частности, фиг.4A является блок-схемой последовательности операций, иллюстрирующей один способ преобразования контента для просмотра через веб-браузер, работающий на компьютере. Фиг.4B является блок-схемой последовательности операций, иллюстрирующей один способ выборки преобразованной части контента. Способ на фиг.4B может быть выполнен одновременно или после выполнения способа на фиг.4A. Следует понимать, что описанные здесь логические операции реализованы (1) как последовательность реализованных на компьютере действий или программные модули, работающие в вычислительной системе, и/или (2) как взаимосвязанные машинные логические схемы или модули схем в вычислительной системе. Реализация представляет собой вопрос выбора, зависящий от производительности и других требований вычислительной системы. В соответствии с этим описанные здесь логические операции упоминаются по-разному как состояния, операции, структурные устройства, действия или модули. Эти операции, структурные устройства, действия и модули могут быть реализованы в программном обеспечении, во встроенном микропрограммном обеспечении, в специализированной цифровой логической схеме и в любой их комбинации. Следует понимать, что может быть выполнено больше или меньше операций, чем показано на чертежах и описано здесь. Эти операции также могут быть выполнены в порядке, отличающемся от описанного здесь.
На фиг.4A процедура 400 начинается на этапе 402, на котором внешняя часть 102 принимает от веб-браузера 106 запрос документа, такого как документ 110A. Затем процедура 400 переходит на этап 404, на котором внешняя часть 102 дает указание блоку 118 преобразования начать пошаговое преобразование документа 110A. В частности, блок 118 преобразования может извлечь документ 110A из хранилища 112 документов. После извлечения документа 110A из хранилища 112 документов блок 118 преобразования может преобразовать первую страницу или первый слайд документа 110A. В некоторых вариантах воплощения запрос может указывать конкретный слайд или страницу документа 110A. В этом случае блок 118 преобразования может преобразовать конкретную страницу или конкретный слайд вместо первой страницы или первого слайда. После формирования первой страницы или первого слайда преобразованного документа 110B процедура переходит на этап 406.
На этапе 406 блок 118 преобразования определяет, был ли документ 110A преобразован полностью. Если документ 110A был преобразован полностью, то процедура 400A завершается. Если документ 110A не был преобразован полностью, процедура 400 переходит обратно на этап 404, на котором преобразуется следующая страница или следующий слайд документа 110A. Этап 404 может быть повторен столько раз, сколько необходимо, пока документ 110A не будет полностью преобразован в преобразованный документ 110B.
На фиг.4B процедура 400B начинается на этапе 408, на котором внешняя часть 102 принимает от веб-браузера 106 запрос документа, такого как документ 110A. Затем процедура 400B переходит на этап 410, на котором по мере того, как страницы или слайды преобразованного документа 110B преобразуются блоком 118 преобразования, менеджер 120 приложений может делать доступными эти страницы или слайды преобразованного документа 110B для внешней части 102. Если запрашивается конкретная страница или конкретный слайд, менеджер 120 приложений также может сделать доступными эту конкретную страницу или конкретный слайд. Блок 118 преобразования может сделать доступными страницы или слайды преобразованного документа 110B через внутренний кэш 122. Внешняя часть 102 затем может извлечь страницы или слайды преобразованного документа 110B из внутреннего кэша 122 и передать страницы или слайды преобразованного документа 110B веб-браузеру 106 для отображения.
Следует понимать, что процедура 400B может выполняться, в то время как документ 110A пошагово преобразуется в соответствии с процедурой 400A. Таким образом, в то время как блок 118 преобразования преобразует страницы или слайды документа 110A в соответствии с процедурой 400A, менеджер 120 приложений может выполнять запросы на эти преобразованные страницы или слайды в соответствии с процедурой 400B. Таким образом, внешняя часть 102 может продолжать получать дополнительные страницы или слайды преобразованного документа 110B, не ожидая формирования всего преобразованного документа 110B. Кроме того, в то время как менеджер 120 приложений выполняет запросы на страницы или слайды преобразованного документа 110B, блок 118 преобразования может продолжать преобразовывать дополнительные страницы или слайды из документа 110A.
В соответствии с некоторыми вариантами воплощения внешней частью 102 могут быть приняты дополнительные запросы на другие документы. Вместо того, чтобы ожидать, пока блок 118 преобразования не завершил преобразование документа 110A в преобразованный документ 110B, менеджер 202 загрузок может получить другие документы из хранилища 112 документов и сохранить документы в очереди 204 преобразования, в то время как блок 118 преобразования все еще преобразует документ 110A. После преобразования документа 110A в преобразованный документ 110B блок 118 преобразования может начать преобразовывать эти другие документы, не ожидая их извлечения из хранилища 112 документов.
В соответствии с некоторыми вариантами воплощения к одному и тому же серверу 116 приложений могут быть направлены дополнительные запросы на документ 110A. Таким образом, другие серверы приложений могут быть доступны для преобразования других документов. Кроме того, в соответствии с некоторыми вариантами воплощения блок 118 преобразования может преобразовать документ 110A в несколько форматов в ответ на один запрос.
Теперь со ссылкой на фиг.5 показана иллюстративная схема архитектуры компьютера, показывающая компьютер 500. Компьютер 500 включает в себя процессор 502 (CPU), системную память 504 и системную шину 506, которая соединяет память 504 с процессором 502. Компьютер 500 дополнительно включает в себя запоминающее устройство 512 большой емкости для хранения одного или более программных модулей 514, таких как блок 118 преобразования, и одной или более баз 516 данных, таких как хранилище 112 документов. Другие программные модули 514 могут включать в себя веб-браузер 106, менеджер 202 загрузок и блок 302 слияния запросов. Другие базы 516 данных могут включать в себя выходное хранилище 114, очередь 204 преобразования и кэши 304. Запоминающее устройство 512 большой емкости соединено с процессором 502 через контроллер запоминающего устройства большой емкости (не показан), соединенный с шиной 506. Запоминающее устройство 512 большой емкости и относящиеся к нему машиночитаемые носители обеспечивает энергонезависимую память для компьютера 500. Хотя описание содержащихся здесь машиночитаемых носителей относится к запоминающему устройству большой емкости, такому как жесткий диск или дисковод для компакт-дисков (CD-ROM), специалисты в области техники должны понять, что машиночитаемые носители могут быть любыми доступными компьютерными носителями, к которым может получить доступ компьютер 500.
В качестве примера, но не ограничения, машиночитаемые носители могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные с помощью любого способа или технологии хранения информации, например, машиночитаемых команд, структур данных, программных модулей или других данных. Например, машиночитаемые носители включают в себя, но без ограничения, оперативное запоминающее устройство (RAM; ОЗУ), постоянное запоминающее устройство (ROM; ПЗУ), стираемое программируемое постоянное запоминающее устройство (EPROM; СППЗУ), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM; ЭСППЗУ), флэш-память или твердотельную память, выполненную по другой технологии, компакт-диск, предназначенный только для чтения (CD-ROM), цифровые универсальные диски (DVD), цифровые универсальные диски высокого разрешения (HD-DVD), диски BLU-RAY или другую оптическую память, магнитные кассеты, магнитную ленту, магнитную дисковую память или другие устройства магнитной памяти или любой другой носитель, который может использоваться для хранения требуемой информации и к которому может получить доступ компьютер 500.
В соответствии с различными вариантами воплощения компьютер 500 может работать в сетевой среде с использованием логических соединений с удаленными компьютерами через сеть, такую как сеть 108. Компьютер 500 может соединяться с сетью 108 через блок 510 сетевого интерфейса, соединенный с шиной 506. Следует понимать, что блок 510 сетевого интерфейса также может быть использован для соединения с сетями и удаленными компьютерными системами других типов. Компьютер 500 может также включать в себя контроллер 508 ввода/вывода для получения и обработки ввода от многих устройств ввода данных (не показаны), в том числе от клавиатуры, мыши, микрофона и игрового контроллера. Аналогичным образом контроллер 508 ввода/вывода может обеспечить вывод на дисплей или устройство вывода другого типа (не показаны).
На основе вышеизложенного следует понимать, что здесь представлены технологии для преобразования контента, такого как документы, для просмотра через веб-браузер. Хотя представленный здесь предмет изобретения был описан на языке, специфическом для компьютерных структурных признаков, методологических действий и машиночитаемых носителей, следует понимать, что изобретение, определенное в приложенной формуле изобретения, необязательно ограничено описанными здесь конкретными признаками, действиями или носителями. Напротив, конкретные признаки, действия и носители раскрыты как иллюстративные формы реализации формулы изобретения.
Описанный выше предмет изобретения представлен только в качестве иллюстрации и не должен рассматриваться как ограничение. Различные модификации и изменения могут быть внесены в описанный здесь предмет без следования за описанными иллюстративными вариантами воплощения и применениями и без отступления от сущности и объема данного изобретения, которое изложено в следующей формуле изобретения.
название | год | авторы | номер документа |
---|---|---|---|
СИСТЕМА И СПОСОБ УПРАВЛЕНИЯ И ОРГАНИЗАЦИИ КЭША ВЕБ-БРАУЗЕРА ДЛЯ ОБЕСПЕЧЕНИЯ АВТОНОМНОГО ПРОСМОТРА | 2014 |
|
RU2608668C2 |
СИСТЕМА И СПОСОБ УПРАВЛЕНИЯ И ОРГАНИЗАЦИИ КЭША ВЕБ-БРАУЗЕРА | 2014 |
|
RU2629448C2 |
ОРГАНИЗАЦИЯ ИСТОРИЧЕСКОЙ СЕССИИ ПРОСМОТРА | 2012 |
|
RU2595509C2 |
УПРАВЛЕНИЕ СЕАНСОМ УДАЛЕННОГО ПРОСМОТРА | 2012 |
|
RU2589306C2 |
МНОГОПОЛЬЗОВАТЕЛЬСКОЕ СЕТЕВОЕ СОТРУДНИЧЕСТВО | 2009 |
|
RU2507567C2 |
ИНТЕГРИРОВАНИЕ УЧРЕЖДЕНЧЕСКИХ ПОИСКОВЫХ СИСТЕМ СО СПЕЦИАЛЬНЫМИ ИНТЕРФЕЙСАМИ ПРИКЛАДНОГО ПРОГРАММИРОВАНИЯ УПРАВЛЕНИЯ ДОСТУПОМ | 2008 |
|
RU2446456C2 |
СПОСОБ СИНХРОНИЗАЦИИ ПЕРВОЙ И ВТОРОЙ СЕССИИ ПРОСМОТРА СТРАНИЦ ДЛЯ ПОЛЬЗОВАТЕЛЯ И СЕРВЕР | 2013 |
|
RU2580392C2 |
КЭШИРОВАНИЕ ПО ПРАВИЛАМ ДЛЯ ПАКЕТНОГО ПЕРЕНОСА ДАННЫХ | 2007 |
|
RU2517326C2 |
КЭШИРОВАНИЕ ПО ПРАВИЛАМ ДЛЯ ПАКЕТНОГО ПЕРЕНОСА ДАННЫХ | 2007 |
|
RU2449351C2 |
СИСТЕМА СОЗДАНИЯ ОТЧЕТНЫХ ФОРМ | 2014 |
|
RU2598783C2 |
Изобретение относится к компьютерной технике, более конкретно к области преобразования форматов файлов для расширения возможностей прикладных программ и веб-браузеров по воспроизведению документов. Техническим результатом является уменьшение времени задержки отображения документа во время преобразования формата документа в формат, пригодный для отображения веб-браузером. В способе для отображения контента на компьютере принимают из веб-браузера запрос на просмотр контента в собственном формате контента. После приема запроса трансформируют части контента, воплощенные в его собственном формате, в части преобразованного для просмотра контента, воплощенные в формате файла, совместимом с веб-браузером. Во время трансформирования частей контента предоставляют части преобразованного для просмотра контента в веб-браузер пошагово. При этом преобразованный контент выполнен с возможностью обеспечивать полное точное представление контента через веб-браузер без вызова внешнего средства просмотра. 2 н. и 11 з.п. ф-лы, 6 ил.
1. Реализованный с помощью компьютера способ для отображения контента на компьютере, на котором выполняется веб-браузер, не способный воспроизводить контент в собственном формате контента, причем способ отличается тем, что содержит реализованные с помощью компьютера этапы, на которых:
принимают из веб-браузера запрос на просмотр контента в собственном формате контента,
после приема запроса на просмотр контента трансформируют части контента, воплощенные в его собственном формате, в части преобразованного для просмотра контента, воплощенные в формате файла, совместимом с веб-браузером; и
во время трансформирования частей контента в части преобразованного для просмотра контента предоставляют части преобразованного для просмотра контента в веб-браузер пошагово,
при этом преобразованный для просмотра контент выполнен с возможностью обеспечивать полное точное представление контента через упомянутый веб-браузер без вызова внешнего средства просмотра; и причем предоставление частей преобразованного для просмотра контента в веб-браузер обеспечивает представление частей преобразованного для просмотра контента веб-браузером или другой подходящей прикладной программой.
2. Реализованный с помощью компьютера способ по п. 1, в котором контент содержит документ или презентацию; причем, если контент содержит документ, трансформирование частей контента в части преобразованного для просмотра контента содержит трансформирование страницы документа в страницу преобразованного для просмотра документа; и причем, если контент содержит презентацию, трансформирование частей контента в части преобразованного для просмотра контента содержит трансформирование слайда презентации в слайд преобразованного для просмотра документа.
3. Реализованный с помощью компьютера способ по п. 1, дополнительно содержащий реализованные с помощью компьютера этапы, на которых:
сохраняют преобразованный для просмотра контент в кэше документов.
4. Реализованный с помощью компьютера способ по п. 1, дополнительно содержащий реализованные с помощью компьютера этапы, на которых:
определяют, имеет ли пользователь, работающий с веб-браузером, разрешение для просмотра контента;
причем трансформирование частей контента в части преобразованного для просмотра контента содержит трансформирование частей контента в части преобразованного для просмотра контента в ответ на определение, что пользователь, работающий с веб-браузером, имеет разрешение для просмотра контента; и
в ответ на определение, что пользователь, работающий с веб-браузером, имеет разрешение на просмотр контента, сохраняют информацию состояния в кэше авторизации, причем информация состояния указывает, что пользователь имеет или не имеет разрешение.
5. Реализованный с помощью компьютера способ по п. 1 дополнительно содержит реализованные с помощью компьютера этапы, на которых:
принимают от веб-браузера запрос указанной части контента;
причем трансформирование частей контента в части преобразованного для просмотра контента содержит трансформирование указанной части контента в указанную часть преобразованного для просмотра контента; и
во время трансформирования частей контента в части преобразованного для просмотра контента извлекают второй контент из хранилища контента и сохраняют второй контент в очереди преобразования для просмотра.
6. Реализованный с помощью компьютера способ по п. 1 дополнительно содержит реализованные с помощью компьютера этапы, на которых:
перед трансформированием частей контента в части преобразованного для просмотра контента извлекают контент из хранилища документов; и
причем трансформирование частей контента в части преобразованного для просмотра контента содержит трансформирование частей контента в части преобразованного для просмотра контента во время извлечения контента из хранилища документов.
7. Реализованный с помощью компьютера способ по п. 1, в котором трансформирование частей контента в части преобразованного для просмотра контента содержит этапы, на которых:
трансформируют через первый блок преобразования для просмотра первый элемент в одной части контента в первый элемент преобразованного для просмотра контента, и
трансформируют через второй блок преобразования для просмотра второй элемент в одной части контента во второй элемент преобразованного для просмотра контента, и
объединяют первый элемент преобразованного для просмотра контента и второй элемент преобразованного для просмотра контента для формирования одной части преобразованного для просмотра контента.
8. Реализованный с помощью компьютера способ по п. 1 дополнительно содержит реализованные с помощью компьютера этапы, на которых:
сохраняют преобразованный для просмотра документ в одном из множества устройств хранения данных; и
сохраняют местоположение преобразованного для просмотра документа в кэше местоположения, причем упомянутое местоположение соответствует одному из упомянутых устройств хранения данных.
9. Компьютерная система преобразования для просмотра, на которой выполняется веб-браузер, не способный воспроизводить контент в собственном формате контента, причем система отличается тем, что содержит:
хранилище документов, выполненное с возможностью сохранять документ, воплощенный в его собственном формате;
сервер приложений, выполненный с возможностью (i) принимать из веб-браузера по сети запрос на просмотр упомянутого документа, (ii) извлекать упомянутый документ из хранилища документов после приема упомянутого запроса на просмотр упомянутого документа из веб-браузера, (iii) пошагово генерировать части документа, воплощенные в формате файла, совместимом с веб-браузером, причем преобразованный для просмотра документ выполнен с возможностью обеспечивать полное точное представление документа через упомянутый веб-браузер без вызова внешнего средства, и (iv) пошагово предоставлять части преобразованного для просмотра документа веб-браузеру по упомянутой сети, таким образом обеспечивая просмотр преобразованного для просмотра документа веб-браузером или другой подходящей прикладной программой;
выходное хранилище, выполненное с возможностью сохранять преобразованный для просмотра документ из сервера приложений; и
внешнюю часть, выполненную с возможностью обеспечивать взаимодействие между веб-браузером и сервером приложений.
10. Компьютерная система преобразования по п. 9, в которой сервер приложений содержит:
блок преобразования для просмотра, выполненный с возможностью (i) принимать от веб-браузера по упомянутой сети запрос документа, и (ii) в ответ на прием запроса документа трансформировать части документа в части преобразованного для просмотра документа;
менеджер приложений, выполненный с возможностью управлять извлечением документов из хранилища документов для преобразования для просмотра посредством блока преобразования для просмотра, при этом менеджер приложений дополнительно выполнен с возможностью (i) принимать от веб-браузера по сети запрос документа и (ii) в ответ на прием запроса документа предоставлять по упомянутой сети части преобразованного для просмотра документа веб-браузеру для отображения через веб-браузер; и
внутренний кэш для хранения преобразованного документа.
11. Компьютерная система преобразования по п. 10, в которой менеджер приложений содержит:
менеджер загрузок, выполненный с возможностью извлекать дополнительные документы из хранилища документов; и
очередь преобразования для просмотра, выполненную с возможностью хранить дополнительные документы, извлеченные менеджером загрузок, очередь преобразования выполнена с возможностью предоставлять дополнительные документы блоку преобразования для просмотра для преобразования для просмотра.
12. Компьютерная система преобразования по п. 9, в которой внешняя часть содержит:
кэш документов, выполненный с возможностью хранить преобразованный для просмотра документ;
кэш авторизации, выполненный с возможностью хранить информацию авторизации, указывающую, имеет ли пользователь, работающий с веб-браузером, разрешение для доступа к документу; и
кэш местоположения, выполненный с возможностью хранить местоположение преобразованного для просмотра документа в одном или множестве устройств хранения данных.
13. Компьютерная система преобразования по п. 12, в которой внешняя часть дополнительно содержит блок слияния запросов, выполненный с возможностью поддерживать данные отслеживания, идентифицирующие сервер приложений, который преобразует документ, при этом внешняя часть дополнительно выполнена с возможностью направлять дополнительные запросы того же самого документа тому же самому серверу приложений.
US 5737599 A, 07.04.1998 | |||
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор | 1923 |
|
SU2005A1 |
Пломбировальные щипцы | 1923 |
|
SU2006A1 |
Способ и приспособление для нагревания хлебопекарных камер | 1923 |
|
SU2003A1 |
СИСТЕМА И СПОСОБ ВЗАИМНОГО ПРЕОБРАЗОВАНИЯ ПРОГРАММНЫХ ОБЪЕКТОВ И ДОКУМЕНТОВ НА БАЗЕ ЭЛЕМЕНТОВ СТРУКТУРИРОВАННОГО ЯЗЫКА | 2001 |
|
RU2287181C2 |
Авторы
Даты
2015-12-20—Публикация
2010-02-26—Подача