Оптимизированный процесс воспроизведения браузера

Иллюстрации

Показать все

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

Реферат

УРОВЕНЬ ТЕХНИКИ

[0001] Многие веб-страницы создаются динамически, что означает, что конечная страница, просматриваемая пользователем веб-браузера, генерируется по меньшей мере частично процессом воспроизведения браузера. Встраиваемые объекты, такие как сценарий, изображения и таблицы стилей, часто встроены в веб-страницу и могут влиять на контент и внешний вид воспроизводимой веб-страницы или могут быть включены для других целей, не связанных с генерацией динамического контента. Например, код Google Analytics JavaScript может быть встраиваемым объектом, который помогает отслеживать трафик для веб-сайта, но не влияет на контент. Встраиваемые объекты сами по себе могут включать в себя дополнительные встраиваемые объекты. Подобным образом, некоторые встраиваемые объекты могут быть скрытыми и невидимыми для пользователя. Веб-страница может иметь сотни встраиваемых объектов, и подсистема воспроизведения браузера тратит много времени на воспроизведение веб-страницы для пользователя, который тратит время на ожидание выборки браузером этих встраиваемых ресурсов.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[0002] Реализации идентифицируют необязательные встраиваемые ресурсы веб-страниц и обеспечивают подсистеме воспроизведения возможность пропускать такие ресурсы, что улучшает время воспроизведения веб-страниц. Необязательные ресурсы представляют собой встраиваемые объекты, которые могут быть пропущены без значительного или существенного воздействия на контент воспроизводимой веб-страницы. Браузер может пропустить такие необязательные встраиваемые ресурсы во время процесса воспроизведения, что приводит к меньшему времени загрузки.

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

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

[0005] В другом аспекте, реализуемый на компьютере способ включает в себя идентификацию URL-шаблона, общего для множества URL, хранящихся в записях выборки, и выбор, с использованием по меньшей мере одного процессора, выборочной совокупности URL из множества URL. Способ может также включать в себя определение, для каждого URL в выборочной совокупности, является ли URL необязательным, посредством генерации первого результата воспроизведения для объекта встраивания URL с использованием контента для URL, генерации второго результата воспроизведения для объекта встраивания без использования контента для URL, и вычисления оценки подобия для URL посредством сравнения первого результата воспроизведения и второго результата воспроизведения, причем URL является необязательным, когда оценка подобия является большей, чем порог подобия. Способ может также включать в себя запоминание URL-шаблона в хранилище данных шаблонов необязательных ресурсов, когда большинство URL в выборочной совокупности являются необязательными.

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

[0007] В другом аспекте, способ включает в себя прием запроса на воспроизведение веб-страницы, идентификацию по меньшей мере одного встраиваемого ресурса в веб-странице, которому необходима выборка, определение того, что встраиваемый ресурс является необязательным ресурсом, и воспроизведение веб-страницы, как если бы встраиваемый ресурс был недоступным, без выборки контента для встраиваемого ресурса.

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

[0009] В другом аспекте, долговременный машиночитаемый носитель (среда) может включать в себя инструкции, исполняемые по меньшей мере одним процессором, образованном на подложке, которые обеспечивают выполнение вычислительной системой одного или нескольких способов, описанных выше.

[0010] Одна или несколько реализаций изобретения, описанного здесь, может быть реализована таким образом, чтобы она обеспечивала одно или несколько из следующих преимуществ. В качестве одного примера, пропуск необязательных встраиваемых ресурсов обеспечивает подсистеме воспроизведения возможность более быстрого воспроизведения веб-страницы без потери контента. Браузер может не только пропускать выборку необязательного встраиваемого ресурса, он может также пропускать выборку объектов, встраиваемых в пропущенный необязательный встраиваемый ресурс. Таким образом, описанные реализации сохраняют пропускную способность сети и уменьшают потребление аккумуляторной батареи. Поскольку веб-страницы могут включать в себя сотни встраиваемых объектов, такая оптимизация может быть существенной.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0011] Фиг. 1 показывает иллюстративную систему, согласно раскрытому изобретению.

[0012] Фиг. 2 является блок-схемой результата воспроизведения для воспроизводимой веб-страницы, согласно одной реализации.

[0013] Фиг. 3 является блок-схемой последовательности операций, показывающей иллюстративный процесс для идентификации шаблонов необязательных ресурсов, согласно одной реализации.

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

[0015] Фиг. 5 является блок-схемой последовательности операций, показывающей иллюстративный процесс для обеспечения информации для оптимизированного воспроизведения, согласно одной реализации.

[0016] Фиг. 6 показывает пример вычислительного устройства, которое может быть использовано для реализации описанных технологий.

[0017] Фиг. 7 показывает пример распределенного вычислительного устройства, которое может быть использовано для реализации описанных технологий.

ПОДРОБНОЕ ОПИСАНИЕ

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

[0019] Когда браузер начинает воспроизведение веб-страницы, он может спросить у некоторой услуги, является ли какой-либо из встраиваемых ресурсов необязательным. В некоторых реализациях, это может быть выполнено в виде части запроса выборки. Услуга может установить соответствие URL запрашиваемых встраиваемых ресурсов в хранилище данных необязательных встраиваемых объектов, либо посредством установления точного соответствия, либо посредством установления соответствия шаблону в хранилище данных. Если услуга находит соответствие, то услуга может указать браузеру, какие встраиваемые ресурсы являются необязательными, и браузер может воспроизвести веб-страницу без выборки этих встраиваемых ресурсов. Такое оптимизированное воспроизведение браузера делает процесс воспроизведения браузера гораздо более эффективным с точки зрения ресурсов. В некоторых реализациях, хранилище данных необязательных встраиваемых ресурсов может различать типы браузеров, например, мобильные браузеры и браузеры для настольных компьютеров.

[0020] Фиг. 1 является блок-схемой системы согласно иллюстративной реализации. Система 100 может быть использована для идентификации необязательных встраиваемых ресурсов и шаблонов необязательных ресурсов и использования шаблонов для оптимизации процесса воспроизведения браузера. Система 100 может включать в себя вычислительные устройства, которые принимают форму некоторого количества разных устройств. Например, система 100 может включать в себя вычислительные устройства, которые являются примерами вычислительного устройства 600, показанного на фиг. 6, и вычислительного устройства 700, показанного на фиг. 7.

[0021] Система 100 может включать в себя систему 110 пакетного воспроизведения. Система 110 пакетного воспроизведения может быть стандартным сервером, группой таких серверов, системой клиент-сервер, или системой стоечных серверов. Дополнительно, система 110 пакетного воспроизведения может быть реализована в персональном компьютере. Система 110 пакетного воспроизведения может включать в себя один или несколько процессоров, выполненных с возможностью исполнения одной или нескольких исполняемых машинами команд или фрагментов программного обеспечения, аппаратно-программного обеспечения, или их комбинации, хранящихся в памяти. Например, система 110 пакетного воспроизведения может включать в себя подсистемы 120 воспроизведения, услугу 122 выборки, подсистема 124 автоматического веб-сканирования, и подсистема 126 идентификации необязательных ресурсов. Система 110 пакетного воспроизведения может создавать воспроизводимую веб-страницу в пакетном режиме, например, в виде части процесса индексирования, и, в этом процессе, может создавать записи 132 выборки, которые система 110 пакетного воспроизведения может использовать для генерации шаблонов 130 необязательных ресурсов.

[0022] Нижестоящий процесс может запросить, чтобы система 110 пакетного воспроизведения воспроизвела веб-страницу в пакетном режиме. В некоторых реализациях, система 110 пакетного воспроизведения может включать в себя нижестоящий процесс, такой как подсистема 126 идентификации необязательных ресурсов или подсистема индексирования (не показан). В некоторых реализациях, нижестоящий процесс может быть выполнен на вычислительном устройстве, которое отличается от системы 110 пакетного воспроизведения. Например, нижестоящий процесс может быть подсистемой индексирования или рекламной платформой, которая отправляет запросы к системе пакетного воспроизведения посредством вызова удаленной процедуры. Нижестоящий процесс может запросить, чтобы один или несколько подсистем 120 пакетного воспроизведения сгенерировали результат воспроизведения конкретной веб-страницы. Каждый подсистема 120 пакетного воспроизведения может быть выполнен с возможностью эмуляции рендерера для персонального веб-браузера, но с оптимизациями для пакетного воспроизведения. Система 110 пакетного воспроизведения может включать в себя тысячи подсистем 120 пакетного воспроизведения и может использовать балансировку нагрузки для выбора одного из подсистем 120 пакетного воспроизведения в ответ на конкретный запрос. Запрашиваемая веб-страница может включать в себя встраиваемые объекты, такие как таблицы стилей, объекты JavaScript, изображения и т.д. Подсистемы 120 пакетного воспроизведения могут запрашивать контенты для встраиваемых объектов с использованием услуги 122 выборки.

[0023] Услуга 122 выборки может определить, какие встраиваемые ресурсы должны быть выбраны с хост-сервера 190, какие встраиваемые ресурсы могут быть возвращены из кэш-памяти, и какие ресурсы не нужно возвращать. Хост-серверы 190 могут быть вычислительными устройствами любого типа, доступными через интернет, которые служат в качестве хостов для одной или нескольких веб-страниц или ресурсов, встраиваемых в одну или несколько веб-страниц. Если встраиваемый ресурс должен быть выбран, услуга 122 выборки может запросить контент для встраиваемого объекта через подсистема 124 автоматического веб-сканирования с использованием общепринятых технологий. Нижестоящий процесс, такой как подсистема индексирования, может также запрашивать контент из серверов 190 через подсистема 124 автоматического веб-сканирования. В результате запросов выборки через подсистема 124 автоматического веб-сканирования, система 110 пакетного воспроизведения может сгенерировать записи 132 выборки. Записи 132 выборки могут включать в себя информацию о том, какие веб-страницы и встраиваемые объекты запрашивались и извлекались из хост-серверов 190. Записи 132 выборки могут также включать в себя дополнительную информацию, например, время запроса, веб-страницу как объект встраивания, при наличии и т.д.

[0024] Подсистема 124 автоматического веб-сканирования, подсистемы 120 пакетного воспроизведения, и услуга 122 выборки работают совместно для эффективного воспроизведения большого количества веб-страниц, таких как веб-страницы, которые могут быть найдены во всемирной паутине. Воспроизведение веб-страницы является результатом воспроизведения, который включает в себя различные информационные элементы, доступные и, иначе, недоступные для нижестоящего процесса запрашивания. Подсистема 126 идентификации необязательных ресурсов может использовать подсистемы 120 пакетного воспроизведения для генерации шаблонов 130 необязательных ресурсов. Подсистема 126 идентификации необязательных ресурсов может запускаться периодически (например, ежедневно, два раза в неделю и т.д.), с использованием записей 132 выборки в качестве входных данных. Подсистема 126 идентификации необязательных ресурсов может анализировать записи 132 выборки и генерировать шаблоны для URL, выбранных в предшествующем периоде. Например, подсистема 126 идентификации необязательных ресурсов может вырезать строку запроса из URL в записях выборки, при генерации группового URL для каждого соответствующего URL. Строка запроса может быть любыми символами после вопросительного знака (?) в URL. В некоторых реализациях, только части строки запроса могут быть вырезаны для генерации группового URL для URL. Подсистема 126 идентификации необязательных ресурсов может, затем, отсортировать или кластеризовать групповые URL и определить, какие групповые URL имели наибольшее количество запросов выборки за данный период времени.

[0025] Подсистема 126 идентификации необязательных ресурсов может выбрать в качестве потенциальных шаблонов групповые URL с наибольшим количеством запросов выборки. Такие шаблоны представляют встраиваемые ресурсы, которые имеют наилучший потенциал для оптимизации процесса просмотра, поскольку они выбираются чаще всего. Подсистема идентификации необязательных ресурсов может определить, являются ли необязательными URL, которые соответствуют потенциальному шаблону, или выборочная совокупность URL, которая соответствует потенциальному шаблону. Например, подсистема 126 идентификации необязательных ресурсов может идентифицировать встраиваемый ресурс, который соответствует потенциальному шаблону, из записей 132 выборки, и может запросить, чтобы подсистема 120 пакетного воспроизведения воспроизвел первый результат воспроизведения веб-страницы как объекта встраивания для встраиваемого ресурса. Веб-страница как объект встраивания может быть идентифицирована, например, из записи выборки для встраиваемого ресурса. Подсистема 126 идентификации необязательных ресурсов может, затем, запросить, чтобы подсистема 120 пакетного воспроизведения воспроизвел второй результат воспроизведения веб-страницы как объекта встраивания без выборки встраиваемого ресурса.

[0026] Для определения того, подвергся ли воздействию воспроизводимый контент веб-страницы как объекта встраивания при пропуске конкретного встраиваемого ресурса, подсистема 126 идентификации необязательных ресурсов может сравнить первый результат воспроизведения со вторым результатом воспроизведения. В некоторых реализациях, если контент подвергся значительному воздействию, то конкретный встраиваемый ресурс может быть добавлен в список необходимых ресурсов. Если контент подвергся незначительному воздействию (например, контент является подобным), то подсистема 126 идентификации необязательных ресурсов может идентифицировать встраиваемый ресурс в качестве необязательного ресурса. В некоторых реализациях, встраиваемый ресурс (например, его URL) может храниться в хранилище данных, таких как шаблоны 130 необязательных ресурсов. В некоторых реализациях, встраиваемый ресурс может храниться во временном списке необязательных ресурсов, используемых позже для определения шаблонов для необязательных ресурсов. Подсистема 126 идентификации необязательных ресурсов может выполнить этот тест (сравнение результатов воспроизведения) с каждым встраиваемым ресурсом, который соответствует потенциальному шаблону в записях выборки, или для выборочной совокупности встраиваемых ресурсов, которые соответствуют потенциальному шаблону. В некоторых реализациях, если какие-либо из встраиваемых ресурсов, которые соответствуют потенциальному шаблону, являются релевантными, то потенциальный шаблон не является шаблоном необязательных ресурсов. В некоторых реализациях, если только небольшое процентное отношение встраиваемых ресурсов, которые соответствуют потенциальному шаблону (например, 1% или меньше), являются необходимыми ресурсами, то потенциальный шаблон считается шаблоном необязательных ресурсов, и подсистема 126 идентификации необязательных ресурсов может включить этот потенциальный шаблон в качестве шаблона в шаблоны 130 необязательных ресурсов. Конечно, если все протестированные встраиваемые ресурсы, которые соответствуют потенциальному шаблону, являются необязательными, то подсистема 126 идентификации необязательных ресурсов может добавить этот потенциальный шаблон к шаблонам 130 необязательных ресурсов.

[0027] В некоторых реализациях, подсистема 126 идентификации необязательных ресурсов может также проверить то, что шаблоны в шаблонах 130 необязательных ресурсов все еще являются необязательными. Например, подсистема 126 идентификации необязательных ресурсов может выбрать выборочную совокупность URL, соответствующих шаблону, попросить подсистема воспроизведения воспроизвести результат воспроизведения со встраиваемым ресурсом, который соответствует шаблону, и без этого встраиваемого ресурса, и сравнить два результата воспроизведения. Если URL, соответствующий шаблону в шаблонах 130 необязательных ресурсов, больше не является необязательным, то шаблон может быть удален.

[0028] В некоторых реализациях, подсистема 126 идентификации необязательных ресурсов может определить то, является ли шаблон необязательным, для мобильных браузеров отдельно от полных браузеров. Например, некоторые веб-сайты загружают разный контент для мобильной версии веб-страницы и полной версии, и встраиваемый ресурс может быть необязательным для мобильного браузера, но необходимым для полного браузера. Таким образом, подсистема 126 идентификации необязательных ресурсов может воспроизвести четыре результата воспроизведения для встраиваемого ресурса. Первые два результата воспроизведения могут быть воспроизведены подсистемой воспроизведения, который эмулирует полный браузер, в то время как последние два результата воспроизведения могут быть воспроизведены подсистемой воспроизведения, который эмулирует мобильный браузер на мобильном устройстве, таком как смартфон или планшет. Шаблоны 130 необязательных ресурсов могут, таким образом, включать в себя данные, указывающие на то, является ли шаблон необязательным, согласно типу браузера, например, для мобильного браузера или для полного браузера.

[0029] Хотя это и не показано на фиг. 1 для краткости, в некоторых реализациях, система 110 пакетного воспроизведения может быть распределена по двум или более отдельным вычислительным устройствам. Дополнительно, один или несколько из подсистем 120 пакетного воспроизведения, услуги 122 выборки, подсистемы 124 автоматического веб-сканирования, и подсистемы 126 идентификации необязательных ресурсов могут быть распределены по одному или нескольким вычислительным устройствам. В некоторых реализациях, один или несколько из подсистем 120 пакетного воспроизведения, услуги 122 выборки, подсистемы 124 автоматического веб-сканирования, и подсистемы 126 идентификации необязательных ресурсов могут совместно использовать ресурсы, такие как память или аппаратные процессоры, с другими компонентами системы 110 пакетного воспроизведения. Подобным образом, записи 132 выборки и шаблоны 130 необязательных ресурсов могут также храниться в памяти, распределенной по множественным вычислительным устройствам. В некоторых реализациях, различные компоненты системы 110 пакетного воспроизведения могут совместно использовать аппаратные компоненты вычислительного устройства, или могут быть логическими частями одного и того же вычислительного устройства.

[0030] Система 110 пакетного воспроизведения может быть связана с клиентом (клиентами) 180 и серверами 190 через сеть 160. Сеть 160 может быть, например, интернетом, или сеть 160 может быть проводной или беспроводной локальной сетью (LAN), глобальной сетью ( WAN), их комбинацией и т.д., реализованной с использованием, например, шлюзовых устройств, мостов, коммутаторов и/или т.п. Через сеть 160, система 110 пакетного воспроизведения может устанавливать связь с клиентами 180 и/или хост-серверами 190 и передавать данные к клиентам 180 и/или хост-серверам 190 или принимать данные от них. Например, система 110 пакетного воспроизведения может обеспечить шаблоны 130 необязательных ресурсов для клиента 180, или может принять запрос от клиента 180, спрашивающий, является ли конкретный встраиваемый ресурс необязательным, и может обеспечить ответ на основе шаблонов 130 необязательных ресурсов.

[0031] Клиент 180 может быть персональным вычислительным устройством, таким как вычислительное устройство 600, показанное на фиг. 6, на котором установлен персональный веб-браузер 140. Примеры персональных веб-браузеров включают в себя CHROME, SAFARI, INTERNET EXPLORER, FIREFOX и т.д., либо для мобильного устройства, такого как смартфон или планшет, либо для персонального компьютера, такого как компактный портативный компьютер или настольный компьютер. Браузер 140 может быть выполнен с возможностью использования услуги для определения того, следует ли выбрать конкретный встраиваемый ресурс при воспроизведении веб-страницы. В некоторых реализациях, система может переслать копию шаблонов 130 необязательных ресурсов к клиенту 180 для использования браузером 140. В этом смысле, услуга может быть локальной услугой. В некоторых реализациях, браузер 140 может быть выполнен с возможностью запрашивания услуги на базе сервера об определении того, соответствует ли конкретный встраиваемый ресурс одному из шаблонов в шаблонах 130 необязательных ресурсов. Браузер 140 выполняет оптимизированное воспроизведение с использованием услуги, для пропуска необязательных встраиваемых ресурсов при воспроизведении веб-страницы. Таким образом, браузер 140 может быть выполнен с возможностью селективного пропуска встраиваемых ресурсов для улучшения времени воспроизведения и сохранения ресурсов при отсутствии воздействия на контент.

[0032] Фиг. 2 является блок-схемой результата 200 воспроизведения, воспроизводимого подсистемой 120 пакетного воспроизведения, согласно одной реализации. Результат 200 воспроизведения может включать в себя множество компонентов, не все из которых показаны на фиг. 2. Например, результат 200 воспроизведения может включать в себя изображение 205 воспроизводимой страницы. Изображение 205 может быть изображением, которое может быть отображено через устройство отображения для пользователя через веб-браузер. Изображение 205 может быть использовано, например, для отображения уменьшенного изображения воспроизводимой страницы для пользователя, а также для определения того, где на устройстве отображения находятся элементы веб-страницы (например, на основе их координат x и y). Результат 200 воспроизведения может также включать в себя дерево 210 объектной модели документа (DOM). Дерево 210 DOM представляет HTML-структуру веб-страницы. Результат 200 воспроизведения может также включать в себя компоновку 215. Компоновка 215 обычно включает в себя блок для элементов веб-страницы, причем этот блок задает координаты x и y элемента в изображении 205. Таким образом, компоновка 215 обеспечивает указание на то, где на веб-странице находится элемент, сколько пространства он занимает на веб-странице и т.д. Таким образом, компоновка 215 обеспечивает информацию о том, какую часть веб-страницы занимают рекламные объявления, насколько выступает абзац (например, выше сгиба или ниже сгиба), является ли видимым элемент и т.д. Другими словами, компоновка 215 обеспечивает геометрическую информацию об элементах воспроизводимой веб-страницы. Результат 200 воспроизведения может также включать в себя ошибки 220. Ошибки 220 включают в себя ошибки, происходящие в результате запуска объектов сценариев, например, объектов JavaScript. Результат 200 воспроизведения может также включать в себя список встраиваемых ресурсов 225, выбранных во время воспроизведения, и может включать в себя другие элементы (не показаны), генерируемые в качестве части процесса воспроизведения. Таким образом, результат 200 воспроизведения обеспечивает не только информацию, доступную посредством выборки контента с хост-сервера. Нижестоящие процессы запрашивания, такие как подсистема идентификации необязательных ресурсов, могут использовать информацию о результате воспроизведения в различных целях, например, для определения того, значительно ли изменяется контент воспроизводимой веб-страницы при запуске объектов сценариев. Например, контент в рекламном участке веб-страницы может считаться неважным, так что URL может быть все же необязательным, даже при различиях в рекламном участке. В некоторых реализациях, только различия в основных компонентах результата воспроизведения могут считаться важными. Основные компоненты могут быть наибольшими блоками в компоновке 215 (например, блоками с наибольшей высотой и шириной).

[0033] Фиг. 3 является блок-схемой последовательности операций, показывающей иллюстративный процесс 300 для идентификации шаблонов необязательных ресурсов, согласно одной реализации. Процесс 300 может быть выполнен системой, такой как система 110 по фиг. 1. Система может использовать процесс 300 для идентификации шаблонов для необязательных ресурсов на основании записей выборки. Система может использовать шаблоны для необязательных ресурсов на основе сравнения результата воспроизведения веб-страницы как объекта встраивания с ресурсом и без ресурса. Шаблоны могут храниться в хранилище данных и могут использоваться в качестве части услуги, которая обеспечивает браузеру, либо полному браузеру, либо мобильному браузеру, либо подсистеме пакетного воспроизведения, возможность оптимизировать воспроизведение посредством пропуска (например, невыборки) необязательных ресурсов.

[0034] Процесс 300 может начаться с системной кластеризации выбранных встраиваемых ресурсов с помощью потенциальных шаблонов (305). Система может выбрать все встраиваемые ресурсы, выбранные в течение некоторого предшествующего периода времени, например, в течение одного дня, двух дней, одной недели, до момента последнего запуска процесса 300 и т.д. Потенциальные шаблоны могут быть сгенерированы посредством вырезания всей или части строки запроса из URL, найденного в записях выборки. Записи выборки могли быть сгенерированы подсистемой автоматического веб-сканирования или услугой выборки. В некоторых реализациях, записи выборки могут быть сгенерированы в качестве части процесса индексирования, например, процесса индексирования для документов, доступных через интернет. Встраиваемый ресурс может быть идентифицирован в записи выборки посредством идентификатора, такого как URL. Таким образом, на веб-страницу или встраиваемый ресурс можно также ссылаться по URL, и следует понимать, что ссылка на встраиваемый ресурс (или веб-страницу) и URL являются, в общем, синонимами, при использовании здесь. Потенциальный шаблон может быть сгенерирован для URL посредством вырезания всей или части строки запроса, причем строка запроса является любыми символами, которые следуют за вопросительным знаком (?) в URL для встраиваемого ресурса. Потенциальный шаблон может быть также сгенерирован для встраиваемого ресурса посредством вырезания или игнорирования поддоменного имени, игнорирования компонентов пути (например, компонентов между первой косой чертой («/») и строкой запроса («?»), или игнорирования некоторых параметров в строке запроса. В некоторых реализациях, встраиваемый ресурс из записей выборки может быть связан более чем с одним потенциальным шаблоном, сгенерированным из его URL. Потенциальные URL могут быть кластеризованы с помощью сортировки или с помощью других известных технологий кластеризации.

[0035] Система может выбрать кластер, представленный одним из потенциальных шаблонов (310), и определить, является ли количество элементов кластера большим или равным порогу (315). Количество элементов кластера представляет собой количество раз, которое встраиваемые ресурсы, которые соответствуют потенциальному шаблону, были выбраны в течение предшествующего периода времени. Таким образом, один конкретный встраиваемый ресурс может быть представлен много раз в этом количестве, если он был выбран более одного раза. Если это количество для кластера меньше порога (315, Нет), то система может перейти к следующему кластеру (355). Если потенциальный шаблон действительно имеет достаточное количество элементов (315, Да), то система может выбрать выборочную совокупность встраиваемых ресурсов, которые соответствуют потенциальному шаблону (320). Другими словами, система может отобрать уникальные элементы кластера. Конечно, в некоторых реализациях, система может выбрать все уникальные встраиваемые ресурсы в кластере в качестве выборочной совокупности (например, размер выборочной совокупности равен 100%). Затем, система может выбрать один из встраиваемых ресурсов в выборочной совокупности (325) и сгенерировать первый результат воспроизведения веб-страницы, в которую встраивается ресурс (например, веб-страницы как объекта встраивания), с выбранным встраиваемым ресурсом (330). Веб-страница как объект встраивания может быть определена на основании записей выборки. Система может также сгенерировать второй результат воспроизведения веб-страницы как объекта встраивания без выборки выбранного встраиваемого ресурса (330).