RU2475832C1 - Способы и системы обработки объектных моделей документов (dom) для обработки видеоконтента - Google Patents

Способы и системы обработки объектных моделей документов (dom) для обработки видеоконтента Download PDF

Info

Publication number
RU2475832C1
RU2475832C1 RU2011143395/08A RU2011143395A RU2475832C1 RU 2475832 C1 RU2475832 C1 RU 2475832C1 RU 2011143395/08 A RU2011143395/08 A RU 2011143395/08A RU 2011143395 A RU2011143395 A RU 2011143395A RU 2475832 C1 RU2475832 C1 RU 2475832C1
Authority
RU
Russia
Prior art keywords
node
dom
content
scripting language
model
Prior art date
Application number
RU2011143395/08A
Other languages
English (en)
Inventor
Тимоти Дж. ЧЭБОТ
Эдвин Д. УИНДС
Грегори Дж. ЭТЭС
Гэнг ЛИ
Томас И. ХЭЙОШ
Сизар МОРЕНО
Original Assignee
Нокиа Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Нокиа Корпорейшн filed Critical Нокиа Корпорейшн
Application granted granted Critical
Publication of RU2475832C1 publication Critical patent/RU2475832C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Изобретение относится к системам для адаптации и представления информации веб-страниц для ее отображения в клиентском устройстве. Технический результат заключается в повышении удобства обработки видеоданных. Раскрыты способы и системы для обработки объектных моделей документов (DOM) и обработки видеоконтента. Принимают информационный контент, который представлен моделью DOM и содержит язык сценариев, ассоциированный с этим информационным контентом, и сохраняют исходный контент модели DOM после выполнения языка сценариев. Затем видеоконтент адаптируют к клиентским устройствам. Язык сценариев, ассоциированный с информационным контентом, может быть передан в клиентское устройство наряду с модифицированной моделью DOM и обработанным видеоконтентом. Производят предварительную обработку языка сценариев, например, для идентификации узлов, ассоциированных с видеоконтентом и для охранения всех других исходных узлов. 3 н. и 20 з.п. ф-лы, 12 ил., 2 табл.

Description

ПЕРЕКРЕСТНАЯ ССЫЛКА НА СВЯЗАННЫЕ ЗАЯВКИ
Испрашивается приоритет согласно заявке на патент США №61/164625, поданной 30 марта 2009, содержание которой полностью включено в настоящую заявку путем ссылки.
ОБЛАСТЬ ТЕХНИКИ
Настоящая заявка в целом относится к области сетевой связи и просмотра веб-страниц. Более конкретно, изобретение относится к системе и способу для адаптации и представления информации веб-страниц для ее отображения в клиентском устройстве.
УРОВЕНЬ ТЕХНИКИ
Сегодня доступно множество страниц Всемирной паутины (документы на языке разметки гипертекста (HTML)), на которых предлагается множество текстового и нетекстового контента. Как известно, веб-страница обычно сформатирована посредством стандартного языка описания страниц, такого как HTML, который обычно включает текст и может иметь ссылки на графику, звук, анимацию и видеоданные. Язык HTML предусматривает форматирование основного документа и позволяет провайдеру веб-контента определять привязки или гипертекстовые ссылки на другие веб-серверы и файлы. Когда пользователь выбирает определенную гипертекстовую ссылку, веб-браузер считывает и интерпретирует адрес, называемый универсальным указателем ресурса (URL), который связан со ссылкой, осуществляет соединение с веб-сервером, расположенным по этому адресу, и инициирует запрос в рамках протокола передачи гипертекста (HTTP) на файл, указанный в ссылке. Затем веб-сервер отправляет требуемый файл в веб-браузер для трансляции и отображения файла пользователю.
На традиционном настольном персональном компьютере или портативном персональном компьютере с большим экраном, в котором запущен стандартный веб-браузер, контент типа HTML легко сортируется и выводится на экран для просмотра. Например, веб-сайты для поиска списков продаваемых объектов недвижимости часто предоставляют множество изображений и текстов, чтобы клиент мог быстро выбрать интересующий его объект. Когда пользователь находит интересующий его объект, он может увидеть детали, связанные с изображением этого конкретного объекта и выбрать изображение для получения дополнительной информации об объекте.
В то же самое время происходит развитие индустрии связи, а более конкретно, беспроводной связи. Это технологическое развитие позволяет электронному устройству, такому как мобильный персональный цифровой секретарь (PDA), сотовый телефон, пейджер, мобильный компьютер, и другим электронным устройствам осуществлять соединения с теми же источниками информации, например веб-сервером или базой данных, с которыми ранее мог связываться только персональный компьютер (PC) и браузер на его основе. Сейчас доступно несколько малых клиентских браузеров, которые обеспечивают доставку контента из сети в наладонные устройства.
Однако для таких малых устройств обычно характерна нехватка экранного пространства или недостаток навигационных возможностей для вывода на экран веб-контента, рассчитанного на использование дисплея в настольном компьютере или ноутбуке. Например, наладонные устройства могут иметь дисплеи, размеры которых малы по сравнению с размерами дисплеев настольного компьютера, и могут иметь меньшую вычислительную мощность по сравнению с настольными компьютерами. Таким образом некоторые части веб-контента, такие как изображения и текст, которые отображаются на дисплее настольного компьютера, могут не отображаться на дисплее наладонного устройства, если не сделать некоторых модификаций изображения или текста. Кроме того, из-за нехватки вычислительной мощности наладонные устройства могут быть не в состоянии выводить на экран контент, который требует большей обработки, например флэш-контент и видеоматериалы.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В одном своем аспекте настоящее изобретение предлагает способ предоставления информационного контента для его отображения. Этот способ включает прием информационного контента, который представлен объектной моделью документа (DOM, document object model,), включающей язык сценариев, ассоциированный с указанным информационным контентом, при этом выполнение указанного языка сценариев на модели DOM приводит к модификации модели DOM. Кроме того, указанный способ включает вставку в модель DOM узла переключения в то место, где язык сценариев модифицирует модель DOM, при этом у узла переключения имеется первая ветвь, которая указывает исходный контент DOM, и вторая ветвь, которая указывает модификации, выполняемые языком сценариев. Кроме того, если узел переключения имеет ветвь, которая указывает на первый контент данных, указанный способ дополнительно включает маркировку этого узла переключения, обработку DOM путем такого следования ветвями узлов переключения, чтобы для маркированных узлов переключения переходить в модифицируемые ветви, а для немаркированных узлов переключения переходить в исходные ветви, и вывод обработанной модели DOM.
В другом аспекте настоящего изобретения предложен считываемый компьютером носитель, содержащий выполняемые компьютером программные инструкции, заставляющие компьютерное устройство выполнять функции приема информационного контента, который представлен объектной моделью документа (DOM) и включает язык сценариев, ассоциированный с информационным контентом, при этом выполнение указанного языка сценариев на модели DOM приводит к изменениям, выполняемым на модели DOM. Указанные функции также включают вставку узла переключения в то место модели DOM, где язык сценариев модифицирует модель DOM, при этом у узла переключения имеется первая ветвь, которая указывает исходный контент DOM, и вторая ветвь, которая указывает изменения, выполняемые языком сценариев. Кроме того, если узел переключения имеет ветвь, которая указывает на первый контент данных, указанные функции дополнительно включают маркировку узла переключения, обработку DOM путем такого следования ветвям узлов переключения, чтобы для маркированных узлов переключения переходить в модифицируемые ветви, а для немаркированных узлов переключения переходить в исходные ветви, и вывод обработанной модели DOM.
В еще одном аспекте настоящего изобретения предложен сервер, содержащий процессор и память, содержащую выполняемые процессором программные инструкции для выполнения функций приема информационного контента, который представлен объектной моделью документа (DOM) и который включает язык сценариев, ассоциированный с информационным контентом, при этом выполнение указанного языка сценариев на модели DOM приводит к изменениям, выполняемым на модели DOM. Указанные функции также включают введение узла переключения в то место модели DOM, где язык сценариев модифицирует модель DOM, при этом у узла переключения имеется первая ветвь, которая указывает исходный контент DOM, и вторая ветвь, которая указывает изменения, выполняемые языком сценариев, и, если узел переключения имеет ветвь, которая указывает на первый контент данных, маркировку этого узла переключения. Кроме того, сервер содержит нормализатор для обработки модели DOM путем такого следования ветвям узлов переключения, чтобы для маркированных узлов переключения переходить в модифицируемые ветви, а для немаркированных узлов переключения переходить в исходные ветви, и путем вывода обработанной модели DOM.
Описанное выше представляет собой только иллюстрацию и не подразумевает ограничения изобретения. В дополнение к иллюстративным аспектам, вариантам и функциям, описанным выше, дополнительные аспекты, варианты и функции станут очевидными из чертежей и последующего подробного описания.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На фиг.1 показан пример системы для получения доступа, адаптации и предоставления информационного контента в электронные устройства.
На фиг.2 показана блок-схема примера компьютерного устройства.
На фиг.3 показан пример концептуальной объектной модели документа (DOM), представленной в виде древовидной структуры.
На фиг.4 показана последовательность операций, которая изображает шаги в рамках способа предоставления информационного контента.
На фиг.5 показан другой пример концептуальной модели DOM, представленной в виде древовидной структуры.
На фиг.6 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и пример, в котором язык сценариев модифицирует узел сценария.
На фиг.7 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и пример, в котором язык сценариев модифицирует обычный узел.
На фиг.8 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и пример, в котором язык сценариев модифицирует обычный узел путем удаления дочерних элементов.
На фиг.9 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и пример, в котором язык сценариев модифицирует модель DOM путем вставки нового узла перед модифицируемым узлом.
На фиг.10 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и пример, в котором язык сценариев модифицирует модель DOM путем вставки нового узла после модифицируемого узла.
На фиг.11 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и пример, в котором язык сценариев модифицирует узел путем изменения значения атрибута.
На фиг.12 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и пример, в котором язык сценариев модифицирует узел путем замены дочерних элементов для данного узла контентом, определенным как строка HTML (например, путем выполнения функции Javascript "setlnnerHtml").
ПОДРОБНОЕ ОПИСАНИЕ
В последующем подробном описании делаются ссылки на чертежи, которые являются частью описания. На чертежах одинаковыми позициями обычно обозначены сходные компоненты, если из контекста не следует обратное. Иллюстративные варианты, описанные в подробном описании, чертежах и пунктах формулы изобретения, не являются ограничивающими. Могут быть использованы другие варианты и могут быть произведены другие изменения без отхода от сути или контекста изобретения. Очевидно, что аспекты настоящего раскрытия, описанные здесь и показанные на чертежах, могут быть расположены, подставлены, объединены и разработаны в большом количестве различных конфигураций, при этом все они подразумеваются и являются частью данного раскрытия.
В приведенных в качестве примера вариантах информационный контент представлен объектной моделью документа (DOM) и включает язык сценариев, ассоциированный с информационным контентом. Реализация способов приводит к выполнению языка сценариев, сохранению исходного контента DOM и адаптации видеоконтента для клиентских устройств. Кроме того, язык сценариев, ассоциированный с информационным контентом, может быть отправлен в клиентское устройство и выполнен клиентским устройством, а не сервером, выполняющим язык сценариев и полностью модифицирующим модель DOM, которая затем может быть отправлена в клиентское устройство без языка сценариев. Если отправить язык сценариев в клиентское устройство, это клиентское устройство сможет обеспечить большую функциональность веб-сайта. Кроме того, видеоконтент из информационного контента может быть обработан так, чтобы представить в клиентское устройство предварительное изображение и ссылку, которую пользователь клиентского устройства может выбрать для запроса на отображение этих видеоданных. Сервер может получить запрос, адаптировать видеоданные для отображения в клиентском устройстве и отправить адаптированные или перекодированные видеоданные в клиентское устройство.
Согласно показанным в качестве примера вариантам, узлы переключения могут быть добавлены в модель DOM во время обработки, а те из них, которые относятся к видеоконтенту, могут быть промаркированы. Как только эти узлы добавлены к модели DOM и промаркированы, сервер (например, адаптивный ускоритель контента (АСА, adaptive content accelerator)) может добавить неподвижное изображение и ссылку на протокол потоковой передачи в реальном времени (RTSP-протокол) к основному документу DOM. Имеет место предварительная обработка языка сценариев, например для идентификации узлов, связанных с видеоконтентом, и поддержки всех других исходных узлов.
На фиг.1 показана схема высокого уровня, иллюстрирующая пример системы 100 для получения доступа, адаптации и предоставления информационного контента в электронные устройства. Система 100 содержит источник 102 информации, сервер 104 и клиентское устройство 106.
Источник 102 информации включает любой тип устройства, такой как веб-сервер, сервер приложений, база данных или другая система с базой данных (бэкэнд), или любой интерфейс с поставщиком информации. Кроме того, источник 102 информации может содержать множество устройств или интерфейсов, которые обеспечивают соединение с информационным контентом. Источник 102 информации предоставляет информационный контент, выраженный на языке разметки, таком, например, как известные языки разметки, включая язык разметки гипертекста (HTML), расширяемый язык разметки (XML), с или без расширяемых таблиц стилей (XSL), язык VoiceXML, расширяемый язык разметки гипертекста (XHTML), язык разметки для беспроводной связи (WML) или другие типы языков, которые могут быть обработаны клиентским устройством 106. Кроме того, информационный контент может ссылаться на текст, изображения, видеоконтент или аудиоинформацию, которая выдается источником 102 информации. Например, информационный контент может быть веб-сайтом, веб-страницей или множеством веб-страниц.
К источнику 102 информации можно получить доступ через сеть любого типа с помощью сервера 104 через браузер 108 сервера. Браузер 108 сервера может связаться с клиентским устройством 106 по сети любого типа через клиентский браузер 110. Браузер 108 сервера может выполнять роль прокси-устройства между клиентским браузером 110 и источником 102 информации для просмотра контента веб-страницы. Для получения информационного контента браузер 108 сервера может работать как клиент источника 102 информации. Например, с использованием известного набора протоколов связи, таких как протокол управления передачей/межсетевой протокол (TCP/IP), браузер 108 сервера может выдать запрос по протоколу передачи гипертекста (HTTP) в источник 102 информации. С использованием http-запросов браузер 108 сервера может получить доступ к информационному контенту, включая приложения, а также статический и динамический контент, находящийся в источнике 102 информации.
Браузер 108 сервера и клиентский браузер 110 могут находиться на одной платформе или могут быть отделены друг от друга. Например, браузер 108 сервера может быть размещен на сервере бэкэнда, а клиентский браузер 110 может быть размещен на наладонном электронном устройстве, как показано на фиг.1. Альтернативно, клиентское устройство 106 и сервер 104 могут сосуществовать в одном и том же устройстве и таким образом использовать функциональные возможности друг друга. Например, браузер 108 сервера и клиентский браузер 110 могут быть размещены на одной платформе, например в электронном устройстве, если в платформе или электронном устройстве имеются соответствующие аппаратные средства и сетевые возможности. Таким образом, в рамках множества вариантов функциональные возможности можно описать как являющиеся частью клиентского браузера 110 или как являющиеся частью браузера 108 сервера. Клиентский браузер 110 может выполнять функции, описанные как выполняемые браузером 108 сервера, а браузер 108 сервера может выполнять функции, описанные как выполняемые клиентским браузером 110. С использованием сервера и клиентского браузера электронные устройства с ограниченными аппаратными возможностями могут получать доступ к информации или данным разнообразного характера.
Обычно сервер 104 и клиентское устройство 106 содержат центральный процессор, память (блок первичной и/или вторичной памяти), интерфейс ввода для приема данных, интерфейс ввода для приема входных сигналов из одного или большего количества устройств для ввода данных (например, клавиатуры, мыши и т.д.) и интерфейс вывода для связи с устройством вывода (например, монитором). В общем, должно быть понятно, что сервер 104 и клиентское устройство 106 могут содержать аппаратные средства, разработанные с использованием технологий изготовления интегральных схем или некоторых других способов, или комбинацию аппаратных и программных средств, которые могут быть упорядочены, параметризованы и соединены в рамках программной среды для выполнения различных функций, описанных в данном документе. Кроме того, аппаратные средства могут осуществлять связь с использованием электрических сигналов, при этом состояния сигналов представляют различные данные. Кроме того, следует отметить, что сервер 104 и клиентское устройство 106 обычно могут выполнять резидентную прикладную программу в сервере 104 и клиентском устройстве 106 под управлением операционной системы. Прикладные программы, такие как браузер 108 сервера и клиентский браузер 110, могут храниться в памяти в пределах сервера 104 и клиентского устройства 106 и могут быть реализованы с использованием команд на машинном языке или программного обеспечения с объектно-ориентированными инструкциями, например языка программирования Java. Однако можно использовать и другие языки программирования (например, язык программирования C++).
Например, клиентский браузер 110 может находиться в клиентском устройстве 106, которое может быть электронным устройством, содержащим любое из следующих устройств: персональный компьютер (PC), беспроводной телефон, персональный цифровой секретарь (PDA), наладонный компьютер, сетевой компьютер и различные другие типы электронных устройств, обладающих возможностями навигации (например, клавиатурой, сенсорным экраном, мышью и т.д.) и дополнительным дисплеем для просмотра загруженного информационного контента. Кроме того, клиентское устройство 106 может содержать устройства любых типов, у которых имеется возможность использования разметку синтеза речи, такую как язык VoiceXML Консорциума World-Wide Web (World Wide Web Consortium (W3C) Voice Extensible Markup (VoiceXML). Специалистам в области компьютерных систем очевидно, что приведенные в качестве примера варианты не ограничены никаким определенным классом или моделью компьютера, используемого для клиентского устройства 106, и они смогут выбрать подходящую систему.
В рамках рассматриваемого примера клиентский браузер 110 находится в клиентском устройстве 106, а персональный компьютер (PC) является ведущим узлом браузера 108 сервера, при этом клиентское устройство 106 и персональный компьютер - оба соединены с сетью Ethernet. Кроме того, клиентский браузер 110 и браузер 108 сервера могут выполнять обмен информацией по сети Ethernet. При таком обмене информации используется Ethernet или протоколы IEEE 802.3. Однако в этом примере браузеры клиента и сервера связываются по проводной сети. Связь может также включать беспроводную сеть, такую как локальная беспроводная сеть (LAWN, local area wireless network), беспроводная локальная сеть (WLAN, wireless local area network) или сотовая беспроводная сеть. Кроме того, связь может включать использование беспроводных сетей, в которых используются другие известные протоколы и технологии, например Bluetooth, протокол приложений для беспроводной связи (WAP, wireless application protocol), многостанционный доступ с временным разделением каналов (TDMA) или многостанционный доступ с кодовым разделением каналов (CDMA).
На фиг.1 клиентский браузер 110 может отправить запрос на информацию в браузер 108 сервера. Клиентский браузер 110 может содержать транслятор 112 событий для преобразования протокола запроса/ответа, такого как запрос HTTP, из клиентского браузера 110 (например, WML, XHTML, cHTML и т.д.) в событие, которое способен распознать браузер 108 сервера. Процесс преобразования может включать информацию о событии, информацию о контенте и контекст события в таком виде, чтобы поддерживать обмен данными между клиентским браузером 110 и источником 102 информации (например, представление в форме HTML).
Информационный контент извлекается из источника 102 информации и может быть адаптирован для использования в клиентском браузере 110 браузером 108 сервера. Альтернативно, браузер 108 сервера может извлечь информацию и отправить ее в клиентский браузер 110, который сам адаптирует информацию для просмотра. Преобразование контента может оказаться необходимым, так как запрашиваемый контент (например, веб-страница) мог быть первоначально разработан для просмотра на большом экране персонального компьютера, а не на небольшом экране наладонного устройства. В результате браузер 108 сервера и/или клиентский браузер 110 могут выполнить преобразование информационного контента или применить специфические для устройства таблицы стилей, способствующие презентации (например, на дисплее или посредством речи) и навигации (например, с помощью клавиатуры, сенсорного экрана или прокрутки), и произвести группировку контента для электронных устройств, которые принимают данные ограниченными порциями.
Для обеспечения таких возможностей браузер 108 сервера или клиентский браузер 110 могут содержать модули (не показаны), содержащие, например, пользовательский агент, обработчик данных типа cookie, объектную модель документа (DOM), исполнитель сценариев, нормализатор и преобразователь данных в последовательную форму (сериализатор). Дополнительная информация, имеющая отношение к преобразованию информационного контента или настройке, раскрыта в патенте США №7072984 "System and method for accessing customized information over the internet using a browser for a plurality of electronic devices", заявке на патент США 2004/0049737 "System and Method for Displaying Information Content with Selective Horizontal Scrolling", патенте США №7500188 "System and Method for Adapting Information Content for an Electronic Device", заявке на патент США 2007/0073777 "System and Method for Web Navigation Using Images" и заявке на патент США 2008/0195692 "Method and System for Converting Interactive Animated Information Content for Display on Mobile Devices", - содержание каждого из перечисленных документов полностью включено в настоящее описание путем ссылки.
Система 100 включает программное обеспечение (в пределах клиентского устройства 106 или сервера 104), предназначенное для модификации веб-контента в формат, пригодный для отображения в клиентском устройстве 106. В рамках данного описание термин веб-контент может относиться к веб-странице, принятой из источника 102 информации, или файлу, загруженному из источника 102 информации. Например, веб-контент может включать текстовые блоки, изображения, аудиофайлы или видеофайлы. Модификация веб-контента, у которого имеется одна характеристика, с формированием веб-контента, у которого имеется другая характеристика, называется рендерингом веб-контента или просто рендерингом. Примеры характеристик веб-контента могут включать (но этим не ограничиваются), размеры шрифтов, размеры изображения, скорости передачи видеопотока и т.д.
На фиг.2 показана блок-схема компьютерного устройства 200, представленного в качестве примера. В одном из примеров компьютерное устройство 200 может работать в качестве клиентского устройства, показанного на фиг.1. В другом примере компьютерное устройство 200 может работать в качестве сервера, показанного на фиг.1. Компьютерное устройство 200 принимает информационный контент во входной интерфейс 202. Информационный контент может быть принят, например, из источника информации или из промежуточного прокси-сервера. Информационный контент может быть представлен в виде данных веб-сайта и может быть перекодирован для просмотра в клиентском устройстве или, альтернативно, может быть принят в исходном виде и перекодирован (если это требуется) компьютерным устройством 200.
Входной интерфейс 202 соединяет процессор 204 и браузер 206. Процессор 204 может обрабатывать данные и управлять работой компонентов в компьютерном устройстве 200. Процессор 204 может быть выполнен как процессор с доступом к памяти 208 для выполнения хранимого в ней программного обеспечения. Специалисту в области проектирования компьютерных систем очевидно, что варианты показанной в качестве примера конструкции не ограничены никаким конкретным классом или моделью процессора. Процессор 204 может работать под управлением операционной системы, которая может быть любой подходящей коммерчески доступной встроенной хранящейся на диске операционной системой или любой частной операционной системой. Кроме того, процессор 204 может содержать один или большее количество малых центральных процессоров, включая, например, программируемый механизм цифровой обработки сигналов, или может быть реализован как одиночная специализированная интегральная схема (ASIC), что позволяет повысить быстродействие и сэкономить пространство. В общем случае подразумевается, что процессор 204 может содержать аппаратные средства, разработанные с использованием технологий изготовления интегральных схем или некоторых других способов, или комбинацию аппаратных и программных средств, которые могут быть упорядочены, параметризованы и соединены в рамках программной среды для выполнения различных функций, описанных в данном документе. Кроме того, аппаратные средства могут осуществлять связь с использованием электрических сигналов, при этом состояния сигналов представляют различные данные.
Память 208 может хранить информацию, например, в виде ранее переданных или принятых сигналов. Память 208 может включать оперативную память (RAM), флэш-память или долговременную память, например такую как постоянная память (ROM) или магнитные диски. Память 208 может хранить инструкции на машинном языке, которые представляют собой программу, выполняемую процессором 204, для реализации функций, описанных в настоящем документе (например способа, иллюстрируемого на фиг.4).
Браузер 206 может включать механизм 210 TCP/IP и видеоплеер 212. Браузер 206 может принимать информационный контент и подготавливать его к отображению. Для этого браузер 206 может форматировать информационный контент по мере необходимости путем перекодирования контента для отображения на наладонном устройстве. В этом отношении браузер 206 может работать в качестве браузера сервера и перекодировать информационный контент, посылаемый в клиентское устройство. Альтернативно, браузер 206 может работать в качестве клиентского браузера со всеми возможностями перекодирования информационного контента, например после получения этого контента из сервера. Или же браузер 206 может работать в качестве клиентского браузера не в полном объеме и может принимать информационный контент и выводить его на экран в том виде, в котором он был получен.
Механизм 210 TCP/IP работает для осуществления приема и передачи запросов на информационный контент. Компьютерное устройство 200 может работать под управлением процессора 204 для преобразования информационного контента в форму, доступную запрашивающим клиентским устройством. Например, клиентское устройство может запросить обычную веб-страницу, и таким образом компьютерное устройство 200 получит доступ в Интернет и извлечет запрашиваемую веб-страницу, и затем браузер 206 может преобразовать эту веб-страницу в форму, доступную для клиентского устройства. В некоторых случаях веб-страница будет включать видеообъект, фильм или контент для flash-проигрывателя, и таким образом компьютерное устройство 200 извлечет и загрузит веб-страницу в браузер 206 с использованием видеоплеера 212. Затем браузер 206 может модифицировать веб-страницу или видеоконтент так, как требуется, и передать модифицированный контент в клиентское устройство. Альтернативно, компьютерное устройство может работать в качестве клиентского устройства и выполнять модификацию и перекодирование в клиентском устройстве.
Компьютерное устройство 200 может дополнительно содержать нормализатор, выполненный как отдельный элемент 214 или как компонент процессора 204 или браузера 206. Например, нормализатор 214 может преобразовывать или перекодировать информационный контент в формат, предназначенный для отображения этого контента на клиентском устройстве.
Для клиентского или наладонного браузеров существует множество способов, которые можно использовать, чтобы помочь пользователю осуществлять навигацию по веб-страницам. Например, клиентские браузеры могут менять расположение веб-контента, менять расположение изображений или размер текстовых символов, или менять веб-страницу так, чтобы отобразить ее на клиентском устройстве.
Веб-страницы обычно содержат последовательность вложенных объектов. Эти объекты составляют объектную модель документа (DOM) для данной веб-страницы. Модель DOM представляет собой не зависящий от платформы и не зависящий от языка интерфейс, который позволяет программам и сценариям динамически получать доступ и обновлять контент, структуру и стиль объекта. Модель DOM может быть дополнительно обработана, и результаты обработки могут быть встроены назад в веб-страницу. Модель DOM может быть представлена в форме языка HTML и определять стандартный способ доступа и управления документами HTML. В одном из примеров модель DOM может быть документом HTML и может быть представлена в виде древовидной структуры.
На фиг.3 показан пример концептуальной модели DOM, представленной в виде древовидной структуры. Модель DOM включает документ HTML. Документ HTML включает элементы HTML, у которых в общем имеется три компонента: пара тэгов элемента с тэгом начала и тэгом конца, атрибуты элементов, присвоенные элементу внутри тэгов, и текстовый и графический информационный контент, который будет отображен на дисплее. Внутри контента веб-страницы тэги заключены в угловые скобки. Кроме того, документ HTML может включать или может загружать сценарии на таких языках, как Javascript, которые влияют на работу процессоров HTML, таких как веб-браузеры, и каскадные таблицы стилей (CSS), для определения внешнего вида и расположение текста и другого материала. В примере, показанном на фиг.3, документ HTML может иметь вид, представленный в Таблице 1.
Figure 00000001
Для представления документа HTML в виде древовидной структуры, корневой элемент <html> начинает дерево и предлагает ветви для следующего подуровня элементов, таких как элементы «голова» (head) и «тело» (body) документа HTML. Ветвь головы содержит элемент title (название) и заканчивается текстом title. Ветвь тела сама содержит две ветви, включая элемент ссылки (link) <a> и элемент <h1> заголовка (header). Каждая из этих ветвей содержит текст, а ветвь элемента ссылки включает также атрибут гиперссылки.
Документы HTML или веб-страницы могут также включать язык сценариев или протокол, связанный с веб-страницей или включенный в нее. Одним из примеров языка сценариев является Javascript, который представляет собой объектно-ориентированный язык сценариев, используемый для включения программируемого доступа к объектам внутрь клиентского приложения и других приложений. Механизмы Javascript могут быть реализованы как компонент веб-браузера, и когда на веб-странице имеется Javascript, механизм Javascript может выполнить этот элемент Javascript, например, для улучшения пользовательского интерфейса и создания динамических веб-сайтов.
При выполнении языка сценариев этот язык сценариев может модифицировать модель DOM, повышая функциональные возможности по отображению этой веб-страницы. Например, язык сценариев может быть выполнен так, что когда на веб-странице имеется видеоконтент, язык сценариев может обеспечить загрузку видеоплеера для отображения этого видеоконтента. Язык сценариев может вызвать загрузку других приложений или отображение элементов веб-страницы обычным способом.
В настоящем изобретении описаны системы и способы для включения поддержки видеоприложений в клиентские устройства. Когда клиентское устройство запрашивает информационный контент, такой как веб-страница, сервер может получить запрос и извлечь эту веб-страницу. Затем сервер может выполнить любой язык сценариев, связанный с веб-сайтом, и модифицировать исходную модель DOM веб-сайта так, как указано в выполняемом языке сценариев, или же модифицировать исходную модель DOM веб-сайта только в отношении тех аспектов DOM, которые относятся к видеоконтенту или содержат его. Например, сервер может выполнить язык сценариев, модифицировать модель DOM для обработки видеоконтента в пределах требуемого веб-сайта и передать модифицированную модель DOM в клиентское устройство. После этого клиентское устройство может отобразить обработанный видеоконтент.
В зависимости от типа и стиля клиентского устройства могут быть реализованы различные способы. Например, в клиентских устройствах (например, беспроводных телефонах), обладающих определенными функциями браузера, например функциями браузера, аналогичными функциям настольного компьютера (например, в телефоне высокого технического уровня (НЕР, high-end phone)), видеопросмотр для клиентского устройства может быть обеспечен посредством клиентского браузера в режиме видеопотока. Возможности браузера могут меняться в зависимости от клиентского устройства, а кроме того, требования к браузеру могут меняться в зависимости от типа и количества видеоконтента, поставляемого в клиентское устройство и отображаемого в нем.
На фиг.4 показана последовательность шагов для способа 400 предоставления информационного контента. В одном из примеров способ 400 может быть реализован в сервере или прокси-сервере, как показано на фиг.1. В другом примере способ 400 может быть реализован в клиентском устройстве, как показано на фиг.1.
На фиг.4 иллюстрируются возможности и работа одной из возможных реализаций предлагаемых вариантов выполнения изобретения. В этом отношении каждый блок может представлять собой модуль, сегмент или часть программного кода, который включает одну или большее количество исполняемых процессором инструкций для реализации определенных логических функций или шагов процесса. Программный код может храниться на любом типе считываемого компьютером носителя, например в запоминающем устройстве, содержащем дисковод или жесткий диск. Кроме того, каждый блок может представлять собой электрическую схему, которая соединена с другими для выполнения определенных логических функций в процессе. Альтернативные реализации включены в объем вариантов выполнения настоящего изобретения, при этом указанные функции могут выполняться в другом порядке по сравнению с показанным или рассматриваемым, включая по существу параллельный порядок или обратный порядок, в зависимости от имеющихся функциональных возможностей, как очевидно специалистам в данной области техники.
В примере, в котором способ 400 реализован в сервере, этот сервер может принять запрос на информационный контент, например, от клиентского устройства, а этот информационный контент сервер получает из источника информации, как показано в блоке 402.
Затем сервер может определить, содержит ли информационный контент выбранные данные (например, видеоданные), как показано в блоке 404. Например, сервер может сослаться на список, включающий веб-сайты, на которых имеются видеоданные, и, если информационный контент находится в этом списке, сервер может определить, что информационный контент включает видеоданные. Пример списка может включать список операций, администрирования, сопровождения и предоставления (ОАМР, operations, administration, maintenance and provisioning) для веб-сайтов с видеоконтентом для телефонов высокого технического уровня (НЕР). Альтернативно, сервер может производить поиск информационного контента по идентификаторам HTML, таким как тэги встраивания или объекта, которые указывают, что информационный контент включает видеоданные. В зависимости от типа данных, по которым производится поиск, сервер может определить местоположение контента и выяснить, содержит ли этот информационный контент такие данные.
Альтернативно, блок 404 может быть удален, и способ 400 может быть выполнен на всем информационном контенте. Однако выполнение блока 404 может научить обрабатывать информационный контент для объектов, в которых информационный контент не содержит видеоданных. Кроме того, блок 402 может быть выполнен на информационном контенте, если информационный контент, по меньшей мере потенциально, включает видеоданные.
В еще одном варианте блок 404 может быть удален, и способ 400 может быть выполнен только для запроса устройств, которые, например, не поддерживают видеоконтент.
Видеоданные могут включать любой тип данных, включая анимацию, например Adobe Flash, Microsoft Silverlight, Sun JavaFX, W3C SVG, Windows media, RealMedia, Quicktime, MPEG и т.д. Такие данные могут находиться в файлах различного формата, например с расширениями (swf), (flv), (fla) для исходного материала, и расширением MPEG. Кроме того, данные могут считаться видеоданными в зависимости от идентификатора данных в пределах информационного контента. Например, если данные вставлены или на них делается ссылка посредством HTML-тэгов встраивания или объекта, такие данные можно считать видеоданными.
Если информационный контент не содержит видеоданных, то при необходимости сервер может выполнить перекодирование информационного контента, как показано в блоке 406. Можно выполнить множество различных преобразований или перекодировок контента на основе информации, имеющейся в пределах затребованной веб-страницы. В частности, интерактивная анимированная информация о контенте требует соответствующего преобразования. Анимация и спецэффекты могут быть включены в контент веб-страницы с использованием файлов масштабируемой векторной графики с покадровым управлением, и такой контент будет преобразован для просмотра на клиентском устройстве. Например, можно представить анимацию, которая содержит начальный и конечный кадры и анимацию для промежуточных кадров. Можно варьировать размер объекта, угол поворота, цвет или другие атрибуты между начальным и конечным ключевыми кадрами, создавая видимость перемещения. Альтернативно, анимацию можно представить путем изменения контента последовательных кадров. Любые или все кадры файла для интерактивного анимированного контента могут модифицироваться сервером и затем передаваться в клиентское устройство, сделавшее запрос.
Дополнительная информация, имеющая отношение к типам преобразования информационного контента или его модификации под требования заказчика, содержится в патенте США №7072984 "System and method for accessing customized information over the internet using a browser for a plurality of electronic devices", заявке на патент США №2004/0049737 "System and Method for Displaying Information Content with Selective Horizontal Scrolling", патенте США №7500188 "System and Method for Adapting Information Content for an Electronic Device", заявке на патент США №2007/0073777 "System and Method for Web Navigation Using Images", и заявке на патент США №2008/0195692 "Method and System for Converting Interactive Animated Information Content for Display on Mobile Devices", содержание которых полностью включено в настоящее описание путем ссылки.
Затем сервер может послать перекодированный контент в клиентское устройство, как показано в блоке 408.
Если информационный контент содержит видеоданные, то сервер выполняет язык сценариев, который может быть связан с информационным контентом, как показано в блоке 410. Например, язык сценариев, такой как Javascript, может быть связан с информационным контентом или включен в него. Сервер может содержать механизм языка сценариев, который связан с браузером сервера или включен в него и который может выполнять язык сценариев, при выполнении которого производится изменение модели DOM информационного контента. Например, после извлечения информационного контента сервер может загрузить информационный контент в браузер сервера и при этом браузер сервера выполнит встроенные элементы сценария. Выполнение языка сценариев приведет к изменениям в модели DOM. Например, в случае видеоданных выполнение языка сценариев в отношении видеоданных может привести к добавлению к узлу видеоданных нового дочернего узла, который представляет собой или тэг встраивания или тэг объекта, содержащего исходные видеоданные. Альтернативно, выполнение языка сценариев в отношении видеоданных может привести к добавлению к узлу видеоданных дочернего узла, который содержит текст сообщения «В этом браузере видеоконтент не поддерживается». В другом примере, в случае данных, не являющихся видеоданными, выполнение языка сценариев может привести к добавлению или замене дочерних узлов для узла данных, не являющихся видеоданными, в исходной модели DOM. В еще одном примере для заданного узла в исходной модели DOM выполнение языка сценариев может привести к удалению тэга привязки, который указывает на веб-страницу, и замене тэга привязки на другой тэг привязки, указывающий на другую веб-страницу.
В каждой позиции в модели DOM, в которой в результате выполнения языка сценариев выполняется модификация, вставляют узел переключения, как показано в блоке 412. Например, при выполнении языка сценариев, если нужно выполнить модификацию модели DOM, узел переключения вставляют при модификации конкретного узла. Узел переключения заменяет исходный узел и содержит две ветви. Первая ветвь узла переключения ведет в исходный узел, а вторая ветвь узла переключения ведет к модификациям, сделанным в модели DOM благодаря выполнению языка сценариев. Таким образом, узел переключения поддерживает исходный формат модели DOM и также включает модифицированный формат модели DOM.
Как показано в блоке 414, если узел переключения включает первый контент данных (например, видеоконтент), этот узел переключения маркируют. Узел переключения представляет собой узел DOM и таким образом может быть маркирован включением в узел переключения HTML-атрибута. Для идентификации ситуации, когда узел переключения включает видеоконтент, в модели DOM после модификации языком сценариев можно произвести поиск тэгов встраивания или объектов или других идентификаторов видеоданных. Тэг встраивания, тэг объекта или другой установленный или определенный тэг могут указывать, что узел модели DOM включает видеоданные или ссылку на видеоданные.
В этом примере первый контент данных является видеоконтентом. Однако первый контент данных может быть контентом с любым выбранным типом данных, для которого требуется специфическая обработка нормализатором. Например, первый контент данных может быть контентом JPEG, который может быть обработан определенным способом. Альтернативно, первый контент данных может быть аудиоконтентом или текстовым контентом. Любой тип контента может быть выбран и идентифицирован путем маркировки узла переключения так, чтобы в процессе нормализации маркированный узел переключения мог быть обработан отлично от немаркированного узла переключения.
Затем модифицированную модель DOM передают к нормализатор и обрабатывают подходящим образом, как показано в блоке 416. Например, модель DOM обрабатывают, следуя ветвям узлов переключения так, чтобы для маркированных узлов переключения переходить в модифицированные ветви, а для немаркированных узлов переключения переходить в исходные ветви. Таким образом, в одном из примеров, как только парсинг документа завершен и язык сценариев выполнен, могут быть выполнены логические операции для определения, какие ветви вставленных узлов переключения следует использовать во время нормализации модели DOM: только исходные, только модифицированные или же следует обнаружить атрибут "переопределение" в узле переключения. Затем сервер нормализует информационный контент, следуя указанным ветвям DOM, и передает нормализованный информационный контент в клиентское устройство. Для нормализации информационного контента этот информационный контент можно, при необходимости, перекодировать.
Нормализатор будет следовать по исходным ветвям данных для немаркированных узлов переключения, в результате чего немаркированные узлы переключения, как правило, удаляются из модифицированной модели DOM. В этом способе любой узел переключения, который был вставлен для замены исходного узла вследствие изменений в модели DOM в результате выполнения языка сценариев и который не содержит данных выбранного типа или ссылку на них (например, видеоданных), будет по существу игнорирован в результате следования исходному контенту данных в модели DOM. В одном из примеров для узлов, которые не содержат видеоданных, сохраняется исходный контент DOM. Например, модифицированную версию DOM анализируют и обрабатывают так, что когда встречается немаркированный узел переключения, модификации, выполненные языком сценариев, игнорируют, поскольку через узел переключения, содержащий ассоциированную модифицированную ветвь, не проходят, а ветвь с исходным контентом DOM остается и по ней проходят. Операции навигации в модели DOM определяют, как проходить узел переключения, например, на основе атрибутов узлов переключения.
При этом если узлы переключения были маркированы как содержащие видеоконтент, то производят обработку видеоконтента для маркированных узлов переключения. Этот видеоконтент может быть обработан путем отделения неподвижного изображение от видеоконтента и замены видеоконтента на неподвижное изображение (которое может представлять собой кадр для предварительного просмотра видеоконтента) и ссылку. Изображение и ссылка могут быть указателем места заполнения для видеоданных. Например, сервер принимает или генерирует моментальный снимок, например неподвижное изображение первого видеокадра, и включает его или ссылку на него в информационный контент, который будет передан в клиентское устройство. Кроме того, сервер может содержать ссылку, выбираемую пользователем клиентского устройства, для инструктирования сервера перевести видеофайл в формат, который может быть отображен в клиентском устройстве. Таким образом, при передаче в клиентское устройство можно выбрать ссылку для запроса, чтобы видеоконтент быть перекодирован для просмотра в клиентском устройстве.
Альтернативно, видеоконтент можно обработать путем перекодирования этого видеоконтента и вставки ссылки на этот перекодированный видеоконтент в модель DOM. Преобразование цифрового видеоконтента из потока цифрового видеоконтента, имеющего одну характеристику, в видеопоток, имеющий другую характеристику, обычно носит название транскодирования видеосигнала, и видеофайл можно транскодировать в формат, пригодный для отображения в клиентском устройстве, с использованием множества различных способов. Примеры различных характеристик включают формат видеокодирования (например, MPEG1 и MPEG2) и скорость передачу данных, влияющую на различные значения дискретизации. Если вся видеоинформация для одного видеопотока в процессе перекодирования сохраняется, говорят, что видеопоток перекодирован без потерь. Для перекодирования без потерь пропускная способность, доступная второму видеопотоку, должна быть достаточной для поддержки данных, имеющихся в исходном видеопотоке. В одном примере перекодирование без потерь между форматами видеокодирования может быть выполнено путем декодирования первого видеопотока, имеющего первый формат видеокодирования для генерации представляемых данных (данные изображения), с последующим кодированием представляемых данных для генерации второго потока видеоданных, имеющего второй формат видеокодирования.
Другие примеры перекодирования включают преобразование типичного видеофайла в формате MPEG2 для просмотра в клиентском устройстве путем уменьшения видеоразрешения или уменьшения частоты воспроизведения кадров путем удаления некоторых кадров. Более конкретно, поток MPEG2, который транслируется в телевизионные приемники, может быть преобразован в поток с низким разрешением, например поток MPEG4. Перекодировщик (транскодер) может принимать поток MPEG2 и распаковывать сжатые видеоданные, содержащиеся в потоке MPEG2. Перекодировщик может затем преобразовать принятые видеоданные для мобильного клиентского устройства, например, с разрешением 360 пикселей в строке при 240 строках и 10 кадрах в секунду.
Кроме того, перекодирование может включать изменение размера видеоизображения с одного размера на другой (что называется также масштабированием). Этот процесс может включать прием большего видеоизображения и уменьшение его до меньших размеров, чтобы снизить ширину полосы, необходимую для передачи видеоконтента клиенту, и обеспечить клиентскому устройству возможность отображения полученного видеоконтента. Поскольку многие клиенты не могут работать, получив контент с размерами видеоизображения, которые слишком велики, отправка контента с размерами видеоизображения, которые слишком велики, может оказаться бесполезной тратой полосы пропускания. Таким образом, полезно определить правильный масштабный коэффициент для каждого мобильного устройства.
Другие способы перекодирования включают сжатие видеофайлов. Сжатие видеофайлов используют для уменьшения их размера. Полный размер видеофайла в необработанном формате для многих устройств оказывается слишком большим. Поэтому используют "кодеки" или алгоритмы сжатия для уменьшения размеров файла путем его преобразования в формат, который можно затем декодировать. Однако при выполнении такого процесса может пострадать качество изображения, и некоторые кодеки даже теряют данные, необходимые для отображения видеоконтента. Процесс сжатия обычно выполняют, оцифровывая первый кадр видеоданных, известный как I-кадр, а затем сравнивают первый кадр со следующим кадром. В Р-кадр могут быть записаны только разности между двумя кадрами. При таком способе должны быть оцифрованы не все кадры, а только разности между кадрами, в результате чего для хранения видеоконтента используется меньшее количество данных. Через некоторые интервалы можно отправить другие I-кадры, обеспечивая восстановление после какого-либо повреждения данных, которое может произойти во время передачи.
Поскольку для видеоконтента имеется много различных кодекса или типов сжатия (как для видео-, так и для аудиокомпонентов видеофайла), может быть полезным знать, какие клиенты поддерживают какие кодеки. Знание, какой клиент поддерживает какие форматы, позволяет выбирать качество видеоконтента, который будет отправлен определенному клиенту. Например, AMR-NB (узкополосный) представляет собой тип аудиокодека, который оптимизирован на малый размер файла и хорош для человеческой речи, однако этот кодек не обеспечивает хорошего качества при воспроизведении музыки. С другой стороны, аудиостандарт МР4 представляет собой формат, который характеризуется большим объемом файла и может поддерживаться меньшим количеством клиентов, однако считается приемлемым для воспроизведения музыки и данных мультимедиа.
После предоставления в клиентское устройство перекодированный видеоконтент может быть передан клиенту в виде потока. Потоковая передача позволяет начать воспроизведение видеоконтента без необходимости загрузки всего видеофайла. Кроме того, потоковая передача позволяет клиенту освобождать память, используемую уже просмотренными частями видеоконтента. Потоковая передача требует разделения видеофайла на малые пакеты, которые можно передавать клиенту один за другим. Процесс разделения видеофайла на пакеты называется "хинтингом" (hinting) и включает подготовку разделяемых пакетов и инструктирование потокового сервера, как передавать разделенные пакеты клиенту. Многие потоковые серверы требуют, чтобы хинтинг видеофайла происходил до потоковой передачи видеоконтента клиентам. Видеофайл без хинтинга, возможно, не удастся передать в виде потока и поэтому клиент получит видеоконтент с ошибками.
Для получения дополнительной информации относительно перекодирования видеоданных читатель отсылается к заявке на патент США №2008/0195698 "Method and System for Transforming and Delivering Video File Content for Mobile Devices" и заявке на патент США №2008/0195692 "Method and System for Converting Interactive Animated Information Content for Display on Mobile Devices", содержание которых полностью включено в настоящее описание путем ссылки.
На фиг.4 обработанную модель DOM в результате выводят, как показано в блоке 418. Например, обработанная модель DOM, включая обработанный видеоконтент, может быть подана в клиентское устройство. Кроме того, язык сценариев, связанный с информационным контентом, может также быть подан в клиентское устройство. При этом клиентское устройство может выводить на экран информационный контент и при этом выполнять язык сценариев. Язык сценариев может осуществлять обычные функции, например вставку выпадающих меню в исходный контент модели DOM. Обработанный видеоконтент может дополнительно включать переименованные идентификаторы, чтобы когда выполняется язык сценариев, этот язык сценариев не модифицировал обработанный видеоконтент. В этом отношении обработанный видеоконтент может быть скрыт от языка сценариев, чтобы клиентское устройство могло выполнять язык сценариев с выполнением всех операций, как намечено, за исключением модификации обработанного видеоконтента.
Если язык сценариев должен выполнить и модифицировать обработанный видеоконтент в клиентском устройстве, которое не поддерживает этот тип видеоконтента, язык сценариев заменяет обработанный видеоконтент на изображение и текст, который, например, гласит: "Видеоконтент не поддерживается". Однако скрывая обработанный видеоконтент от языка сценариев, клиентское устройство, которое не поддерживает этот видеоконтент, может выполнить язык сценариев и вывести на экран обработанный видеоконтент, который может включать, например, только неподвижное изображение и ссылку.
Способ 400 действует так, чтобы сохранить исходный контент модели DOM и адаптировать видеоконтент для клиентского устройства. Кроме того, язык сценариев, ассоциированный с информационным контентом, все еще может быть послан в клиентское устройство и выполнен клиентским устройством вместо того, чтобы сервер выполнил язык сценариев и полностью модифицировал модель DOM, которая затем была бы передана в клиентское устройство без языка сценариев. При передаче языка сценариев в клиентское устройство это клиентское устройство может работать с веб-сайтом с большей эффективностью.
Кроме того, при передаче обработанных видеоданных в клиентское устройство в формате изображения для предварительного просмотра и ссылки пользователь клиентского устройства может выбрать ссылку для запроса видеоконтента для его отображения. Сервер может получить запрос, адаптировать видеоконтент к такому виду, чтобы он мог быть просмотрен в клиентском устройстве, и передать адаптированный или перекодированный видеоконтент в клиентское устройство. Видеоконтент может быть преобразован с учетом возможностей клиентского устройства или возможностей клиентского браузера.
Альтернативно, после приема ссылки, выбранной пользователем, сервер может перекодировать видеоданные и уведомить пользователя о завершении этого преобразования. Сервер может уведомить пользователя любым из множества способов, например с использованием службы коротких сообщений (SMS) или службы активной передачи сообщений (Push messaging), при этом уведомление содержит ссылку, позволяющую пользователю смотреть видеоматериал. Уведомление может включать идентификатор, который обеспечивает ссылку на ассоциированный перекодированный видеофайл. Сервер может разместить идентификатор видеофайла в уведомлении до того, как сервер отправит уведомление в клиентское устройство. Клиентское устройство, в свою очередь, может отправить идентификатор серверу для извлечения ассоциированного перекодированного видеофайла.
Таким образом, согласно вариантам выполнения настоящего изобретения, сервер может добавить к модели DOM узел переключения и маркировать узлы переключения, которые относятся к требуемому видеоконтенту. Как только узлы добавлены к модели DOM и маркированы, сервер (например, адаптивный ускоритель контента (АСА)) может добавить в модель DOM ссылку на изображение и протокол потоковой передачи в реальном времени (RTSP). Производится предварительная обработка языка сценариев для идентификации узлов, относящихся к видеоконтенту, и поддержки других исходных узлов.
На фиг.5 показан другой пример концептуальной модели DOM, представленной в виде древовидной структуры. В этом примере исходная модель DOM содержит элемент body (тело), у которого имеются ветви к тэгу division (раздел) (например, div) и тэгу script (сценарий). После выполнения языка сценариев, связанного с моделью DOM, узлы «раздел» и «сценарий» могут быть модифицированы, и таким образом узлы переключения вставляются в модель DOM в позициях исходных узлов «раздел» и «сценарий». Узлы переключения хранят две версии узлов - «раздел» и «сценарий». Например, первая версия содержит исходный контент DOM, а вторая версия включает модифицированные данные. Для узла переключения, представляющего узел «сценарий», вставляют две ветви, которые представляют исходный узел (например, узел «сценарий») и модифицированный узел. Модифицированная ветвь узла «сценарий» является нулевой, поскольку этот узел обязательно будет выполнен.
В этом примере тэг «раздел» включает видеоданные. Для узла переключения, представляющего узел «раздел», вставляют две ветви, которые представляют исходный узел «раздел» и модифицированный узел. Модифицированный узел включает тэг «раздел» и тэг «встраивание» (embed). Тег «встраивание»/»объект» может включать указание на неподвижное изображение видеоконтента и ссылку, как рассмотрено выше.
Логика сервера по поиску тэгов «встраивание»/«объект» в этом примере может быть расширена поиском этих тэгов в исходной модели DOM. Если такой тэг найден, то следующий шаг заключается в нахождении всех родительских узлов переключения в этой ветви и установлении в этих узлах атрибута, называемого "переопределением" (override). Это заставит во всех дальнейших операциях модели DOM в этих узлах использовать модифицированные ветви. Затем нормализатор сервера может выполнить тэги «встраивание»/«объект» с помощью перекодировщика видеоконтента и обновить нормализованную модель DOM полученным контентом.
После обработки видеоданных тэга «раздел», принадлежащего маркированному узлу переключения, немаркированные узлы переключения удаляют, а полученную в результате модифицированную модель DOM можно передать в клиентское устройство. Кроме того, маркированный узел переключения может быть удален до отправки модифицированной модели DOM в клиентское устройство. В примере на фиг.5 исходная модель DOM может содержать информацию о состоянии до и после для всех узлов, которые были затронуты языком сценариев. Кроме того, когда язык сценариев, выполняющийся в клиентском устройстве, может сделать попытку перезаписи видеоконтента, сгенерированного сервером, атрибут id (идентификатор) в тэге «раздел», который инкапсулирует видеоданные, может быть изменен, например, так, чтобы язык сценариев не перезаписывал контент.
На фиг.6-12 показан пример концептуальных моделей DOM, представленных в виде древовидной структуры, и случаев, когда модели DOM модифицированы вследствие выполнения языка сценариев.
На фиг.6 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и случай, когда язык сценариев модифицирует узел сценария. Когда синтаксический анализатор документа выполняет язык сценариев и находит узел сценария, состояние переключателя QuickDom устанавливают так, чтобы вставить указание, что изменение модели DOM должно заключаться во вставке узла переключения. Как показано на фиг.5, исходный узел сценария будет заменен на узел переключения, у которого имеются две ветви. Атрибут состояния узла переключения устанавливают на "исходный". Узел с исходным тэгом «сценарий» и все дочерние элементы узла с тэгом «сценарий» становятся первым дочерним элементом (в исходной ветви) узла переключения, а "нуль" остается в модифицированной ветви узла переключения, который установлен в качестве последнего или второго дочернего элемента узла переключения.
На фиг.7 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и случай, когда язык сценариев модифицирует обычный узел. Если родитель узла А уже является узлом переключения, то дочерние элементы узла А могут быть просто добавлены к копии узла А. Однако если родитель узла А не является узлом переключения, то узел переключения создают и вставляют вместо узла А. Исходный узел А становится первым дочерним элементом узла переключения, а копия узла А становится вторым дочерним элементом (модифицированной ветви). Затем все дочерние элементы могут быть добавлены к копии узла А.
На фиг.8 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и случай, когда язык сценариев модифицирует обычный узел путем удаления дочерних элементов. Если родитель узла А уже является узлом переключения, дочерние элементы узла А могут быть просто удалены. Однако если родитель узла А не является узлом переключения, то узел переключения создают и вставляют вместо узла А. Исходный узел А и дочерние элементы становится первым дочерним элементом узла переключения, а копия узла А становится вторым дочерним элементом (например, модифицированной ветви). Все дочерние элементы удаляют из копии узла А (например, модифицированной ветви).
На фиг.9 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и случай, когда язык сценариев модифицирует модель DOM путем вставки нового узла перед модифицируемым узлом. Если родитель узла А уже является узлом переключения, новый узел может быть вставлен перед узлом А. Однако если родитель узла А не является узлом переключения, то узел переключения создают и вставляют вместо узла А. Исходный родительский узел становится первым дочерним элементом узла переключения, а копия родительского узла и его дочерние элементы становятся вторым дочерним элементом (например, модифицированной ветви). С использованием копии родительского узла новый узел вставляют перед узлом А.
На фиг.10 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и случай, когда язык сценариев модифицирует модель DOM путем вставки нового узла после модифицируемого узла. Если родитель узла А уже является узлом переключения, новый узел может быть вставлен после узла А. Однако если родитель узла А не является узлом переключения, то узел переключения создают и вставляют вместо узла А. Исходный родительский узел становится первым дочерним элементом узла переключения, а копия родительского узла и его дочерние элементы становятся вторым дочерним элементом (например, модифицированной ветви). С использованием копии родительского узла новый узел вставляют после узла А.
На фиг.11 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, в случае, когда язык сценариев модифицирует узел путем изменения значения атрибута. Если родитель узла А уже является узлом переключения, можно установить новый атрибут узла А. Однако если родитель узла А не является узлом переключения, то узел переключения создают и вставляют вместо узла А. Исходный узел А становится первым дочерним элементом узла переключения, а копия узла А становится вторым дочерним элементом (например, модифицированной ветви). С использованием копии узла А можно установить новый атрибут А.
На фиг.12 показан пример концептуальной модели DOM, представленной в виде древовидной структуры, и случай, когда язык сценариев модифицирует дочерние элементы путем замены данного узла контентом, определяемым строкой HTML (например, выполняя функцию Javascript "setlnnerHtml"). Если родитель узла А уже является узлом переключения, все дочерние элементы узла А можно удалить, и добавить новые дочерние элементы. Однако если родитель узла А не является узлом переключения, то узел переключения создают и вставляют вместо узла А. Исходный узел А и дочерние элементы становятся первым дочерним элементом узла переключения, а копия узла А становится вторым дочерним элементом (например, модифицированной ветви). Затем дочерние узлы могут быть удалены из копии узла А, и новые дочерние элементы, сгенерированные входным текстом HTML, могут быть добавлены к копии узла А (например, они показаны как узлы D и Е).
В следующем примере, как описано выше, когда родитель или прародитель узла является узлом переключения, узел не будет заменен другим узлом переключения. Кроме того, атрибуты узлов переключения командуют, по какой ветви идти.
В примерах, в которых встречается тэг «встраивание» или «объект», родительский узел переключения для тэга «встраивание» или «объект» будет иметь атрибут "переопределить", указывающий, что указанная модифицированная ветвь должна использоваться во всех будущих операциях обхода. Кроме того, все родители узла переключения могут иметь атрибуты, также установленные на значение "переопределить".
После того как узлы переключения вставлены, модифицированную модель DOM передают в нормализатор для обработки видеоданных. Нормализатор может попытаться нормализовать узел переключения, однако если в узле переключения установлен атрибут "переопределить", то выполняется проход вдоль модифицированной ветви, копирование первого дочернего узла модифицированной ветви и возврат. Нормализация продолжается вдоль модифицированной ветви при игнорировании исходной ветви. Если тэг «встраивание» или «объект» обнаружен, этот тэг передают в схему логики, которая пропускает узел через обработку видеоданных, а полученный видеоконтент добавляют к нормализованной модели DOM. Все другие встреченные узлы переключения нормализуют дочерние элементы исходной ветви в зависимости от состояния узла переключения. В конечном счете нормализованная модель DOM не будет содержать каких-либо узлов переключения, но будет содержать только те узлы, которые принадлежат ветвям, определяемым состоянием узла переключения.
Для реализации различных функций в исходной модели DOM в описанных в качестве примера способах может использоваться функция нормализатора QuickDom. Нормализатор QuickDom может содержать классы, например SwitchState, которые описывают, какой ветви следовать для данного узла переключения (например, по умолчанию - исходной). Значения SwitchState включают «исходная» (следовать исходной ветви), «вставка» (вставка контента в данное место), «модифицированная» (следовать модифицированной ветви) и «переопределение» (замена установок состояния переключения для всей модели DOM).
Кроме того, нормализатор может включать выполняемые методы, включая приведенные в Таблице 2. Другие описанные классы и методы также могут быть включены в нормализатор QuickDom.
Таблица 2
setDOMSwitch(int mode, String override)/getDOMSwitch() Установка атрибута для узла переключения
getParentSwitchNode Определение местоположения родительского узла переключения
getAncestorSwitchNode/getAncestorSwitchNodes Определение местоположения прародительского узла переключения
getDescendantSwitchNode/getDescendantSwitchNodes Определение местоположения порожденного узла переключения
getChildSwitchNode Определение местоположения дочернего узла переключения
appendChild/appendChildren Добавление дочерних узлов
buildTagNode Создание узла с тэгом «видео»
countAllDescendants Подсчет всех порожденных узлов
createTagNode Создание узла с тэгом
createAttributeNode Создание атрибутов для узла
copyNode Копирование узла
getAIIDescendants/getAllTruncatedDescendants/ getTruncatedDescendants/ getTruncatedDescendantsByAttributeValue Определение местоположение всех потомков по значению
getAllAncestors/getAncestor/ getAllAncestorslnSameWindow Определение местоположения всех предков
getFirstDescendant Определение местоположения первого потомка
getNearestPreviousElement Определение местоположения ближайшего узла
getChildren/getChildrenNoTextNodes Определение местоположения дочерних элементов
getFirstChild/getLastChild Определение местоположения первого дочернего элемента
getNextSibIing/getPreviousSibling Определение местоположения следующего одноуровневого элемента
getParent Определяет местоположение родительского узла
insertAfter/insertBefore Вставка узла перед/после
remove/removeAttribute/removeChildren/ removeKeepChildren Удаление дочерних элементов
Хотя выше были раскрыты различные аспекты и варианты выполнения настоящего изобретения, специалистам будут очевидны и другие аспекты и варианты. Различные аспекты и варианты, раскрытые выше, предназначены для иллюстрации изобретения и не подразумевают ограничения истинного объема изобретения, который определен формулой изобретения.
Данное раскрытие не ограничивается конкретными вариантами, изложенными в настоящем описании и предназначенными для иллюстрации различных аспектов изобретения. Можно сделать множество модификаций и вариаций без отхода от объема изобретения, что очевидно для специалистов. Функционально эквивалентные способы и устройства, возможные в рамках настоящего раскрытия в дополнение к перечисленным в настоящем документе, будут очевидны специалистам на основе предыдущего описания. Предполагается, что такие модификации и вариации находятся в объеме пунктов формулы изобретения. Настоящее раскрытие ограничено только пунктами формулы изобретения, с учетом эквивалентов. Подразумевается, что это раскрытие не ограничено конкретными способами, реагентами, составом веществ или биологическими системами, которые могут меняться. Кроме того, подразумевается, что используемая здесь терминология дана только с целью описания определенных вариантов выполнения изобретения и не подразумевает ограничения.
Хотя выше были раскрыты различные аспекты и варианты выполнения настоящего изобретения, специалистам будут очевидны и другие аспекты и варианты. Различные аспекты и варианты, раскрытые выше, предназначены для иллюстрации изобретения и не подразумевают ограничения объема изобретения, который определен формулой изобретения

Claims (23)

1. Способ предоставления информационного контента для его отображения, включающий:
прием информационного контента, который представлен объектной моделью документа (DOM) и который включает язык сценариев, ассоциированный с указанным информационным контентом;
выполнение языка сценариев на модели DOM, в результате чего происходит модификация модели DOM;
вставку узла переключения в те места модели DOM, где язык сценариев модифицирует модель DOM, при этом у узла переключения имеется первая ветвь, которая указывает исходный контент DOM, и вторая ветвь, которая указывает модификации, выполненные языком сценариев;
если узел переключения имеет ветвь, которая указывает на первый контент данных, маркировку этого узла переключения;
обработку модели DOM путем такого следования ветвям узлов переключения, чтобы для маркированных узлов переключения переходить в модифицированные ветви, а для немаркированных узлов переключения переходить в исходные ветви; и
вывод обработанной модели DOM.
2. Способ по п.1, дополнительно включающий обеспечение наличия в каждом узле переключения атрибута, указывающего, какую ветвь использовать.
3. Способ по п.1, в котором выполнение языка сценариев в модели DOM преобразует эту модель DOM в модифицированную версию модели DOM, а способ дополнительно включает
сравнение модели DOM с модифицированной версией модели DOM и вставку узла переключения в модель DOM в местах, где язык сценариев модифицирует модель DOM.
4. Способ по п.1, в котором маркировка узла переключения включает обеспечение наличия атрибута в узле переключения, если узел переключения включает тэг <embed> (встраивание) или <object> (объект).
5. Способ по п.1, в котором первый контент данных представляет собой видеоконтент.
6. Способ по п.5, в котором видеоконтент включает контент, выбранный из группы, содержащей флэш-контент и контент MPEG.
7. Способ по п.5, в котором обработка модели DOM для маркированных узлов переключения включает обработку видеоконтента.
8. Способ по п.7, дополнительно включающий в пределах обработанной DOM обеспечение наличия идентификаторов в узлах, включающих обработанный видеоконтент, при этом идентификаторы указывают языку сценариев не производить модификацию узлов, если язык сценариев выполняется в клиентском устройстве.
9. Способ по п.7, в котором обработка видеоконтента включает замену видеоконтента на изображение для предварительного просмотра и ссылку.
10. Способ по п.9, дополнительно включающий:
прием выбора пользователем ссылки;
перекодирование видеоконтента и
предоставление перекодированного видеоконтента.
11. Способ по п.1, в котором вывод обработанной модели DOM включает предоставление языка сценариев, ассоциированного с информационным контентом.
12. Способ по п.1, дополнительно включающий:
прием запроса на информационный контент из клиентского устройства и прием информационного контента из источника информации.
13. Способ по п.1, дополнительно включающий:
определение, включает ли информационный контент видеоконтент, и на основе этого определения выполнение языка сценариев на модели DOM.
14. Способ по п.1, дополнительно включающий:
идентификацию всех родительских узлов переключения в ветви, которые содержат первый контент данных, и
установку в родительском узле переключения атрибута, указывающего на использование модифицированных ветвей.
15. Способ по п.1, в котором узел модели DOM представляет собой узел сценария и в котором вставка узла переключения в модель DOM включает:
замену узла сценария узлом переключения;
размещение указанного узла сценария в первой ветви узла переключения в качестве первого дочернего элемента узла переключения и
размещение нулевого элемента во второй ветви узла переключения в качестве второго дочернего элемента узла переключения.
16. Способ по п.1, в котором узел модели DOM модифицируют языком сценариев и в котором вставка узла переключения в модель DOM включает:
замену указанного узла узлом переключения;
размещение указанного узла в первой ветви узла переключения в качестве первого дочернего элемента узла переключения и
размещение копии указанного узла во второй ветви узла переключения в качестве второго дочернего элемента узла переключения.
17. Способ по п.16, дополнительно включающий добавление дочерних элементов узла к копии указанного узла.
18. Считываемый компьютером носитель, содержащий выполняемые компьютером программные инструкции, заставляющие компьютерное устройство выполнять следующие функции:
прием информационного контента, который представлен объектной моделью документа (DOM) и который включает язык сценариев, ассоциированный с указанным информационным контентом;
выполнение языка сценариев на модели DOM, в результате чего происходит модификация модели DOM;
вставку узла переключения в те места модели DOM, где язык сценариев модифицирует модель DOM, при этом у узла переключения имеется первая ветвь, которая указывает исходный контент DOM, и вторая ветвь, которая указывает модификации, выполненные языком сценариев;
если узел переключения имеет ветвь, которая указывает на первый контент данных, маркировку этого узла переключения;
обработку модели DOM путем такого следования ветвям узлов переключения, чтобы для маркированных узлов переключения переходить в модифицированные ветви, а для немаркированных узлов переключения переходить в исходные ветви; и
вывод обработанной модели DOM.
19. Считываемый компьютером носитель по п.18, в котором указанные инструкции дополнительно выполняются для реализации функции обеспечения наличия в каждом узле переключения атрибута, указывающего, какую ветвь использовать.
20. Считываемый компьютером носитель по п.18, в котором первый контент данных представляет собой видеоконтент, при этом обработка модели DOM для маркированных узлов переключения включает обработку видеоконтента, а обработка видеоконтента включает замену видеоконтента на изображение для предварительного просмотра и ссылку.
21. Сервер, содержащий:
процессор;
память, содержащую выполняемые процессором программные инструкции для выполнения следующих функций:
прием информационного контента, который представлен объектной моделью документа (DOM) и который включает язык сценариев, ассоциированный с указанным информационным контентом;
выполнение языка сценариев на модели DOM, в результате чего происходит модификация модели DOM;
вставку узла переключения в те места модели DOM, где язык сценариев модифицирует модель DOM, при этом у узла переключения имеется первая ветвь, которая указывает исходный контент DOM, и вторая ветвь, которая указывает модификации, выполняемые языком сценариев; и
если узел переключения имеет ветвь, которая указывает на первый контент данных, маркировку этого узла переключения; и
нормализатор для обработки модели DOM путем такого следования ветвям узлов переключения, чтобы для маркированных узлов переключения переходить в модифицированные ветви, а для немаркированных узлов переключения переходить в исходные ветви,
при этом нормализатор осуществляет вывод обработанной модели DOM.
22. Сервер по п.21, в котором узел модели DOM модифицируется языком сценариев и в котором функция вставки узла переключения в DOM включает:
замену указанного узла узлом переключения;
размещение указанного узла в первой ветви узла переключения в качестве первого дочернего элемента узла переключения и размещение копии указанного узла во второй ветви узла переключения в качестве второго дочернего элемента узла переключения.
23. Сервер по п.21, в котором первый контент данных представляет собой видеоконтент, при этом нормализатор обрабатывает видеоконтент, заменяя видеоконтент на изображение предварительного просмотра и ссылку, при этом в ответ на выбор пользователем ссылки нормализатор перекодирует этот видеоконтент.
RU2011143395/08A 2009-03-30 2010-03-30 Способы и системы обработки объектных моделей документов (dom) для обработки видеоконтента RU2475832C1 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16462509P 2009-03-30 2009-03-30
US61/164,625 2009-03-30
PCT/US2010/029269 WO2010117814A1 (en) 2009-03-30 2010-03-30 Methods and systems for processing document object models (dom) to process video content

Publications (1)

Publication Number Publication Date
RU2475832C1 true RU2475832C1 (ru) 2013-02-20

Family

ID=42341696

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2011143395/08A RU2475832C1 (ru) 2009-03-30 2010-03-30 Способы и системы обработки объектных моделей документов (dom) для обработки видеоконтента

Country Status (6)

Country Link
US (1) US20100306643A1 (ru)
EP (1) EP2414970A1 (ru)
KR (1) KR20120010248A (ru)
CN (1) CN102414681A (ru)
RU (1) RU2475832C1 (ru)
WO (1) WO2010117814A1 (ru)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769048B2 (en) 2008-06-18 2014-07-01 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system
US8352954B2 (en) 2008-06-19 2013-01-08 Commvault Systems, Inc. Data storage resource allocation by employing dynamic methods and blacklisting resource request pools
US9128883B2 (en) 2008-06-19 2015-09-08 Commvault Systems, Inc Data storage resource allocation by performing abbreviated resource checks based on relative chances of failure of the data storage resources to determine whether data storage requests would fail
US8725688B2 (en) 2008-09-05 2014-05-13 Commvault Systems, Inc. Image level copy or restore, such as image level restore without knowledge of data object metadata
US9058402B2 (en) 2012-05-29 2015-06-16 Limelight Networks, Inc. Chronological-progression access prioritization
US20110029899A1 (en) * 2009-08-03 2011-02-03 FasterWeb, Ltd. Systems and Methods for Acceleration and Optimization of Web Pages Access by Changing the Order of Resource Loading
US8346784B1 (en) 2012-05-29 2013-01-01 Limelight Networks, Inc. Java script reductor
US8495171B1 (en) 2012-05-29 2013-07-23 Limelight Networks, Inc. Indiscriminate virtual containers for prioritized content-object distribution
CA2715362A1 (en) * 2009-09-22 2011-03-22 Thwapr, Inc. Interoperable mobile media sharing
CN102136948B (zh) * 2011-03-15 2014-04-02 华为技术有限公司 用于统计用户体验的方法、终端设备和系统
WO2013062599A1 (en) * 2011-10-26 2013-05-02 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
CN103139260B (zh) 2011-11-30 2015-09-30 国际商业机器公司 用于重用html内容的方法和系统
US20130145252A1 (en) * 2011-12-02 2013-06-06 Opera Software Asa Page based navigation and presentation of web content
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US10157184B2 (en) * 2012-03-30 2018-12-18 Commvault Systems, Inc. Data previewing before recalling large data files
CN102789474B (zh) * 2012-04-12 2014-02-05 北京京东世纪贸易有限公司 处理网页数据的方法和装置
US20130311859A1 (en) * 2012-05-18 2013-11-21 Barnesandnoble.Com Llc System and method for enabling execution of video files by readers of electronic publications
US9633216B2 (en) 2012-12-27 2017-04-25 Commvault Systems, Inc. Application of information management policies based on operation with a geographic entity
JP5945060B2 (ja) * 2013-02-12 2016-07-05 日本電信電話株式会社 出力機能分割システム
US9459968B2 (en) 2013-03-11 2016-10-04 Commvault Systems, Inc. Single index to query multiple backup formats
JP6337499B2 (ja) 2013-03-15 2018-06-06 株式会社リコー 配信制御システム、配信システム、配信制御方法、及びプログラム
US9277255B1 (en) * 2013-03-15 2016-03-01 Google Inc. Metering of internet protocol video streams
JP2014199648A (ja) * 2013-03-15 2014-10-23 株式会社リコー 配信制御システム、配信システム、配信制御方法、及びプログラム
JP2014215859A (ja) * 2013-04-26 2014-11-17 ソニー株式会社 受信装置、受信装置における情報処理方法、送信装置、情報処理装置および情報処理方法
US9143840B2 (en) * 2013-05-20 2015-09-22 Veenome, Inc. Systems and methods for evaluating online videos
US9015348B2 (en) 2013-07-19 2015-04-21 Limelight Networks, Inc. Dynamically selecting between acceleration techniques based on content request attributes
US20150154617A1 (en) * 2013-12-04 2015-06-04 SaleMove, Inc. Determining leads based on web site interactions and browser sessions
US10169121B2 (en) 2014-02-27 2019-01-01 Commvault Systems, Inc. Work flow management for an information management system
US9648100B2 (en) 2014-03-05 2017-05-09 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
CN103995835A (zh) * 2014-04-25 2014-08-20 江苏思迈斯电子商务有限公司 用户界面框架的网页元素查找方法
US9740574B2 (en) 2014-05-09 2017-08-22 Commvault Systems, Inc. Load balancing across multiple data paths
US11169666B1 (en) 2014-05-22 2021-11-09 Amazon Technologies, Inc. Distributed content browsing system using transferred hardware-independent graphics commands
US10409884B2 (en) * 2014-07-02 2019-09-10 The Nielsen Company (Us), Llc Methods and apparatus to identify sponsored media in a document object model
US9852026B2 (en) 2014-08-06 2017-12-26 Commvault Systems, Inc. Efficient application recovery in an information management system based on a pseudo-storage-device driver
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US9582600B1 (en) * 2014-09-23 2017-02-28 Amazon Technologies, Inc. Cloud browser DOM-based client
US9740791B1 (en) 2014-09-23 2017-08-22 Amazon Technologies, Inc. Browser as a service
US20170315971A1 (en) * 2014-10-06 2017-11-02 Symmetric Co., Ltd. Program for displaying webpage, terminal device, and server device
US9444811B2 (en) 2014-10-21 2016-09-13 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
KR20170006432A (ko) * 2015-07-08 2017-01-18 삼성전자주식회사 웹 컨텐츠 표시 방법 및 이를 지원하는 전자 장치
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
US10324600B2 (en) * 2015-07-27 2019-06-18 Adp, Llc Web page generation system
US10742764B2 (en) 2015-07-27 2020-08-11 Adp, Llc Web page generation system
US10417317B2 (en) 2015-07-27 2019-09-17 Adp, Llc Web page profiler
US10296368B2 (en) 2016-03-09 2019-05-21 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount)
US20170315849A1 (en) * 2016-04-29 2017-11-02 Microsoft Technology Licensing, Llc Application target event synthesis
US10554714B2 (en) 2016-05-11 2020-02-04 Ebay Inc. Managing data transmissions over a network connection
US10838821B2 (en) 2017-02-08 2020-11-17 Commvault Systems, Inc. Migrating content and metadata from a backup system
US10740193B2 (en) 2017-02-27 2020-08-11 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US10891069B2 (en) 2017-03-27 2021-01-12 Commvault Systems, Inc. Creating local copies of data stored in online data repositories
US10776329B2 (en) 2017-03-28 2020-09-15 Commvault Systems, Inc. Migration of a database management system to cloud storage
US11074140B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Live browsing of granular mailbox data
US20180338166A1 (en) * 2017-05-22 2018-11-22 Symantec Corporation Remotely validating a webpage video stream
US10664352B2 (en) 2017-06-14 2020-05-26 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US10997219B1 (en) * 2017-08-10 2021-05-04 Snap Inc. Node embedding in multi-view feature vectors
US10795927B2 (en) 2018-02-05 2020-10-06 Commvault Systems, Inc. On-demand metadata extraction of clinical image data
US10761942B2 (en) 2018-03-12 2020-09-01 Commvault Systems, Inc. Recovery point objective (RPO) driven backup scheduling in a data storage management system using an enhanced data agent
US10789387B2 (en) 2018-03-13 2020-09-29 Commvault Systems, Inc. Graphical representation of an information management system
US10860443B2 (en) 2018-12-10 2020-12-08 Commvault Systems, Inc. Evaluation and reporting of recovery readiness in a data storage management system
US11308034B2 (en) 2019-06-27 2022-04-19 Commvault Systems, Inc. Continuously run log backup with minimal configuration and resource usage from the source machine
EP4275110A1 (en) * 2021-01-10 2023-11-15 Blings IO Ltd System and method for dynamic, data-driven videos

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2848426A (en) * 1956-12-03 1958-08-19 Shell Dev Polyerpoxy polyethers, their preparation and polymers
EP1443390A1 (en) * 2001-10-05 2004-08-04 Matsushita Electric Industrial Co., Ltd. Print data creation apparatus and print data creation method
RU80296U1 (ru) * 2008-07-17 2009-01-27 Олег Игоревич Мухин Система интерактивной коммуникации (варианты)
WO2009036301A1 (en) * 2007-09-13 2009-03-19 Myxer Inc. System and method for mobilizing web content

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4907149A (en) * 1983-07-22 1990-03-06 Texas Instruments Incorporated Dynamic redirection of interrupts
US5991760A (en) * 1997-06-26 1999-11-23 Digital Equipment Corporation Method and apparatus for modifying copies of remotely stored documents using a web browser
GB2340358B (en) * 1998-07-31 2002-11-13 Sony Uk Ltd Video special effects
US6377957B1 (en) * 1998-12-29 2002-04-23 Sun Microsystems, Inc. Propogating updates efficiently in hierarchically structured date
US7054952B1 (en) * 1999-12-09 2006-05-30 International Business Machines Corp. Electronic document delivery system employing distributed document object model (DOM) based transcoding and providing interactive javascript support
US7072984B1 (en) 2000-04-26 2006-07-04 Novarra, Inc. System and method for accessing customized information over the internet using a browser for a plurality of electronic devices
US7747782B2 (en) * 2000-04-26 2010-06-29 Novarra, Inc. System and method for providing and displaying information content
US20040049737A1 (en) 2000-04-26 2004-03-11 Novarra, Inc. System and method for displaying information content with selective horizontal scrolling
US7500188B1 (en) 2000-04-26 2009-03-03 Novarra, Inc. System and method for adapting information content for an electronic device
US6606604B1 (en) * 2000-05-31 2003-08-12 International Business Machines Corporation Incremental updates of items and prices on a customer's computer to reduce download times for frequently purchased items in e-commerce transactions in a method, system and program
US6785707B2 (en) * 2000-11-14 2004-08-31 Bitfone Corp. Enhanced multimedia mobile content delivery and message system using cache management
DE10219390B4 (de) * 2002-04-30 2007-05-31 Siemens Ag Server, Pufferspeicher und Browser zur beschleunigten Übermittlung von Hypertext-Dokumenten
US6941310B2 (en) * 2002-07-17 2005-09-06 Oracle International Corp. System and method for caching data for a mobile application
US20040177094A1 (en) * 2003-03-06 2004-09-09 Sun Microsystems, Inc. Association of application specific code with nodes of a document object model using extensions to an XML schema
US20050138138A1 (en) * 2003-12-22 2005-06-23 Jelinek Lenka M. Content provisioning for mobile devices using proximity awareness to a computer
US7761601B2 (en) * 2005-04-01 2010-07-20 Microsoft Corporation Strategies for transforming markup content to code-bearing content for consumption by a receiving device
CA2628846A1 (en) * 2005-08-09 2007-02-15 Zalag Corporation Methods and apparatuses to assemble, extract and deploy content from electronic documents
US7810049B2 (en) * 2005-09-26 2010-10-05 Novarra, Inc. System and method for web navigation using images
JP4140916B2 (ja) * 2005-12-22 2008-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Webページにおける状態遷移を解析する方法
US8181107B2 (en) * 2006-12-08 2012-05-15 Bytemobile, Inc. Content adaptation
JP5551938B2 (ja) * 2007-02-09 2014-07-16 ノキア コーポレイション クライアントデバイスに表示する情報コンテンツを提供する方法及び装置
WO2008098164A2 (en) * 2007-02-09 2008-08-14 Novarra, Inc. Method and server for providing a requested portion of a web page to a mobile device
CA2676705A1 (en) * 2007-02-09 2008-08-21 Novarra, Inc. Method and system for transforming and delivering video file content for mobile devices
EP2122500A1 (en) * 2007-02-09 2009-11-25 Novarra, Inc. Method and system for converting interactive animated information content for display on mobile devices
US20100123908A1 (en) * 2008-11-17 2010-05-20 Fuji Xerox Co., Ltd. Systems and methods for viewing and printing documents including animated content

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2848426A (en) * 1956-12-03 1958-08-19 Shell Dev Polyerpoxy polyethers, their preparation and polymers
EP1443390A1 (en) * 2001-10-05 2004-08-04 Matsushita Electric Industrial Co., Ltd. Print data creation apparatus and print data creation method
WO2009036301A1 (en) * 2007-09-13 2009-03-19 Myxer Inc. System and method for mobilizing web content
RU80296U1 (ru) * 2008-07-17 2009-01-27 Олег Игоревич Мухин Система интерактивной коммуникации (варианты)

Also Published As

Publication number Publication date
WO2010117814A1 (en) 2010-10-14
CN102414681A (zh) 2012-04-11
EP2414970A1 (en) 2012-02-08
KR20120010248A (ko) 2012-02-02
US20100306643A1 (en) 2010-12-02

Similar Documents

Publication Publication Date Title
RU2475832C1 (ru) Способы и системы обработки объектных моделей документов (dom) для обработки видеоконтента
US20100281042A1 (en) Method and System for Transforming and Delivering Video File Content for Mobile Devices
US20210067609A1 (en) Content management and transformation system for digital content
US20080195698A1 (en) Method and System for Transforming and Delivering Video File Content for Mobile Devices
US9542501B2 (en) System and method for presenting content in a client/server environment
US7761601B2 (en) Strategies for transforming markup content to code-bearing content for consumption by a receiving device
EP1641211B1 (en) Web server and method for dynamic content.
US20100306344A1 (en) Methods and Systems for Using Multipart Messaging with Preset Constraints
US20030011631A1 (en) System and method for document division
WO2008134370A1 (en) Formatting and compression of content data
WO2004040481A1 (en) A system and method for providing and displaying information content
JP2010518508A (ja) モバイルデバイス上へ表示するための対話型アニメ情報コンテンツの変換方法とシステム
WO2000039666A1 (en) Converting content of markup data for wireless devices
US9141724B2 (en) Transcoder hinting
KR100967337B1 (ko) 프록시 서버를 이용한 이동통신 단말기의 웹 브라우저 시스템
WO2007118424A1 (en) Web search on mobile devices
EP1041497B1 (en) Information fetching control scheme using data type dependent strategy for reducing user response time
US7809697B1 (en) Compressing hyperlinks in a hyperlink-based document
KR100456022B1 (ko) 비피씨 정보단말을 위한 엑스엠엘 기반 웹 페이지 제공방법 및 그 시스템
JP2004220260A (ja) ウェブページ閲覧システム及び画像配信サーバ
US8868785B1 (en) Method and apparatus for displaying multimedia content
WO2010062761A1 (en) Method and system for transforming and delivering video file content for mobile devices
KR20020003856A (ko) 콘텐트 분석 및 최소화를 위한 시스템 및 방법
JP2009163326A (ja) マークアップ言語文書変換装置、マークアップ言語文書変換方法、マークアップ言語文書変換プログラム、およびマークアップ言語文書変換システム
US20110305283A1 (en) Computer-implemented method, a computer program product and an embedded system for displaying data more efficiently

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20160602

MM4A The patent is invalid due to non-payment of fees

Effective date: 20170331