СКАНИРОВАНИЕ ПРИВЯЗОК В РАЗМЕТКЕ ВЕБ-СТРАНИЦЫ Российский патент 2021 года по МПК G06F16/81 

Описание патента на изобретение RU2742198C1

Область техники, к которой относится изобретение

[1] Это описание относится к воспроизведению веб-страниц.

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

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

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

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

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

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

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

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

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

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

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

[9] Приостановка, которая не зависит от браузера, указывающая, что браузер бездействует, может предоставлять возможность использования привязок для браузеров, которые могут указывать, когда кадр веб-страницы воспроизводится, но не могут указывать, что браузер бездействует. Дополнительно, использование привязок может уменьшать использование полосы пропускания и обработку, требуемую для взаимодействия пользователя с веб-страницей. Например, вместо необходимости браузеру загружать новую веб-страницу в ответ на взаимодействие пользователя с фрагментом веб-страницы и воспроизведения загруженной новой веб-страницы, браузер может вместо этого динамически обновлять атрибут языка разметки гипертекста (HTML) для веб-страницы и повторно воспроизводить веб-страницу с обновленным HTML-атрибутом.

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

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

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

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

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

[14] Фиг. 3 -блок-схема вычислительной системы, которая может быть использована в соединении с компьютерно-реализованными способами, описанными в данном описании.

[15] Аналогичные номера ссылок и обозначения на различных чертежах указывают аналогичные элементы.

Подробное описание изобретения

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

[17] Разметка веб-страницы может включать в себя язык разметки, например, HTML, XML и т.д., и язык описания сценариев, Javascript, PHP и т.д. Привязка может быть текстовым описанием связи между атрибутом веб-страницы и выражением, где значение атрибута является выходным значением выражения согласно текущему состоянию веб-страницы. Например, привязка может быть ""<img src = 'dog.jpg' [src]= 'currentAnimal' + '.jpg'>", где "img src" может быть HTML-атрибутом, а "'currentAnimal' + '.jpg'" может быть выражением, связанным с HTML-атрибутом. В примере, изображение может показывать различные изображения в зависимости от текущего значения для "currentAnimal", которое может изменяться в зависимости от того, какая опция на веб-странице выбирается пользователем.

[18] Чтобы предоставлять возможность привязкам динамически изменять веб-страницу, браузеру может быть необходимо сканировать разметку веб-страницы для идентификации привязок. Например, браузер может выполнять синтаксический анализ по разметке веб-страницы от начала документа, например, HTML-файла, до конца документа. После того как браузер сканирует всю разметку и идентифицирует привязки, браузер может затем определять, было ли изменение в состоянии веб-страницы, влияет ли изменение в состоянии на какое-либо выражение привязки, оценивать какое-либо выражение, на которое оказывает влияние изменение состояния, и затем обновлять какой-либо атрибут, связанный с выражением через привязку.

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

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

[21] Эти признаки и дополнительные признаки описываются более подробно ниже.

[22] Фиг. 1 иллюстрирует схему примерной системы 100, которая включает в себя веб-браузер 110. Веб-браузер 110 включает в себя модуль 120 воспроизведения кадра экрана и механизм 130 синтаксического анализа привязок. Веб-браузер 110 может получать разметку веб-страницы для веб-страниц. Например, веб-браузер 110 может принимать пользовательские входные данные для адреса универсального указателя ресурса (URL) "www.example.com/example.html" и, в ответ, получать HTML-файл от сервера, размещающего веб-страницу, соответствующую URL-адресу. В другом примере, веб-браузер 110 может принимать пользовательский выбор ссылки, отображенной на веб-странице, и, в ответ, получать HTML-файл от сервера, размещающего веб-страницу, на которую указывает ссылка.

[23] Веб-браузер 110 может использовать модуль 120 воспроизведения кадра экрана и механизм (средство) 130 синтаксического анализа привязок, чтобы предоставлять возможность пользователям веб-браузера 110 взаимодействовать с веб-страницей. Например, веб-браузер 110 может использовать модуль 120 воспроизведения кадра экрана, чтобы воспроизводить кадры веб-страницы, и использовать механизм 130 синтаксического анализа привязок, чтобы идентифицировать привязки в разметке веб-страницы, чтобы предоставлять возможность динамических изменений в веб-странице. Веб-браузер 110 может выбирать в любое время либо воспроизведение кадра веб-страницы, либо синтаксический анализ разметки веб-страницы. Например, в то время как веб-браузер 110 сканирует разметку веб-страницы, веб-браузер 110 может не воспроизводить кадр веб-страницы и, в то время как веб-браузер 110 воспроизводит кадр веб-страницы, веб-браузер 110 может не сканировать разметку веб-браузера 110.

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

[25] Прежде чем механизм 130 синтаксического анализа привязок выполняет сканирование разметки, могут быть использованы значения по умолчанию, указанные в разметке для HTML-атрибутов. Например, конкретным примером привязки может быть "<img src = 'dog.jpg' [src]= 'currentAnimal' + '.jpg'>", где "dog.jpg" может быть значением по умолчанию для HTML-атрибута "img src." "dog.jpg" может не зависеть от выражения, таким образом, первоначально, в то время как веб-страница воспроизводится, прежде чем привязки анализируются, веб-страница может показывать изображение, соответствующее "dog.jpg". После того как механизм 130 синтаксического анализа привязки выполняет сканирование разметки, динамические изменения в веб-странице согласно привязкам могут затем быть разрешены. Например, после того как механизм 130 синтаксического анализа привязок выполняет сканирование разметки, веб-браузер 110 может затем быть должен показывать изображение вне зависимости от того, соответствует ли изображение оценке выражения "'currentAnimal' + '.jpg'". Например, если значением "currentAnimal" является кошка, тогда модуль 120 воспроизведения кадра экрана может воспроизводить изображение, соответствующее "cat.jpg".

[26] Механизм 130 синтаксического анализа привязок может сканировать разметку веб-страницы, чтобы идентифицировать привязки в разметке. Например, механизм 130 синтаксического анализа привязок может выполнять синтаксический анализ по текстовым символам на языке разметки, чтобы идентифицировать последовательности текстовых символов, которые соответствуют HTML-атрибуту и соответствующему выражению, для определения значения для атрибута.

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

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

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

[30] Каждый раз, когда механизм 130 синтаксического анализа привязок приостанавливает сканирование, чтобы воспроизводить кадр, механизм 130 синтаксического анализа привязок может сохранять данные о местоположении, соответствующие местоположению в разметке, достигнутому сканированием ко времени приостановки. Например, после первых десяти миллисекунд сканирования, механизм 130 синтаксического анализа привязок может иметь законченное сканирование до пятисотого символа Американского стандартного кода для обмена информацией (ASCII) в разметке и сохранять данные о местоположении пятисотого символа, чтобы указывать, что сканирование достигло пятисотого ASCII-символа в разметке.

[31] Каждый раз, когда механизм 130 синтаксического анализа привязок возобновляет сканирование, после того как кадр воспроизводится, механизм 130 синтаксического анализа привязок может возобновлять сканирование из местоположения, указанного посредством сохраненных данных о местоположении. Например, в ответ на возобновление сканирования, механизм 130 синтаксического анализа привязок может определять, что значение сохраненных данных о местоположении указывает пятисотый символ, и, в ответ, возобновлять сканирование ASCII-символов после пятисотого символа в разметке веб-страницы.

[32] В отличие от модуля 120 воспроизведения кадра экрана, непрерывно воспроизводящего кадры веб-страницы, пока веб-браузер 110 загружает другую веб-страницу, после того как механизм 130 синтаксического анализа привязок выполнил сканирование веб-браузера, механизм 130 синтаксического анализа привязок может больше не быть должен сканировать веб-страницу, поскольку разметка веб-страницы может не изменяться.

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

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

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

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

[37] Фиг. 2 -блок-схема последовательности операций примерного процесса 200 для сканирования привязок в разметке веб-страницы. Процесс 200 может быть реализован с помощью системы 100, описанной выше. Например, процесс 200 может быть выполнен посредством веб-браузера 110, модуля 120 воспроизведения кадра экрана и механизма 130 синтаксического анализа привязок.

[38] Процесс 200 включает в себя получение привязки для веб-страницы (210). Например, веб-браузер 110 может получать разметку для веб-страницы, соответствующей URL-адресу "http://www.example.com/example.html", введенному пользователем.

[39] Процесс 200 включает в себя инициирование сканирования разметки для веб-страницы, чтобы идентифицировать привязки в разметке (220). Например, веб-браузер 110 может инструктировать механизму 130 синтаксического анализа привязок инициировать сканирование разметки от начала разметки.

[40] Процесс 200 включает в себя приостановку сканирования разметки и сохранение данных о местоположении (230). Например, механизм 130 синтаксического анализа привязок может сканировать разметку в течение пяти миллисекунд от первого символа до трехсотого ASCII-символа в разметке, приостанавливать сканирование и затем сохранять данные о местоположении, указывающие позицию в разметке, соответствующей триста первому ASCII-символу.

[41] Процесс 200 включает в себя воспроизведение следующего кадра веб-страницы (240). Например, веб-браузер 110 может инструктировать модулю 120 воспроизведения кадра экрана воспроизводить первоначальный кадр, который является экраном, показывающим веб-страницу.

[42] Процесс 200 включает в себя возобновление сканирования разметки для веб-страницы (250). Например, веб-браузер 110 может принимать указание от модуля 120 воспроизведения кадра экрана, что воспроизведение следующего кадра выполняется, и, в ответ, инструктировать механизму 130 синтаксического анализа привязок возобновлять сканирование. В примере, механизм 130 синтаксического анализа привязок может затем получать сохраненные данные о местоположении, определять, что данные, которые указывают позицию в разметке, чтобы возобновлять сканирование, являются триста первым ASCII-символом в разметке, и затем возобновлять сканирование в течение пяти или более миллисекунд с триста первого ASCII-символа в разметке.

[43] Фиг. 3 показывает пример вычислительного устройства 300 и мобильного вычислительного устройства 350, которые могут быть использованы, чтобы реализовывать технические приемы, описанные здесь. Вычислительное устройство 300 предназначается, чтобы представлять различные формы цифровых компьютеров, таких как портативные компьютеры, настольные компьютеры, рабочие станции, персональные цифровые помощники, серверы, одноплатные (blade) серверы, универсальные вычислительные машины и другие подходящие компьютеры. Мобильное вычислительное устройство 350 предназначается, чтобы представлять различные формы мобильных устройств, такие как персональные цифровые помощники, сотовые телефоны, смартфоны и другие аналогичные вычислительные устройства. Компоненты, показанные здесь, их соединения и взаимоотношения, и их функции, предназначены быть лишь примерами и не предназначены быть ограничивающими.

[44] Вычислительное устройство 300 включает в себя процессор 302, память 304, устройство 306 хранения, высокоскоростной интерфейс 308, соединяющий с памятью 304 и множеством высокоскоростных портов 310 расширения, и низкоскоростной интерфейс 312, соединяющий с низкоскоростным портом 314 расширения и устройством 306 хранения. Каждый из процессора 302, памяти 304, устройства 306 хранения, высокоскоростного интерфейса 308, высокоскоростных портов 310 расширения и низкоскоростного интерфейса 312 взаимно соединяются с помощью различных шин и могут быть установлены на общей материнской плате или другими способами в случае необходимости. Процессор 302 может обрабатывать инструкции для исполнения в вычислительном устройстве 300, включающие в себя инструкции, сохраненные в памяти 304 или на устройстве 306 хранения, чтобы отображать графическую информацию для графического пользовательского интерфейса (GUI) на внешнем устройстве ввода/вывода, таком как дисплей 316, соединенный с высокоскоростным интерфейсом 308. В других реализациях может быть использовано множество процессоров и/или множество шин, при необходимости, вместе с множеством запоминающих устройств и типов запоминающего устройства. Также, множество вычислительных устройств может быть соединено, при этом каждое устройство обеспечивает фрагменты необходимых операций (например, в качестве банка серверов, группы blade-серверов или многопроцессорной системы).

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

[46] Устройство 306 хранения способно предоставлять массовое запоминающее устройство для вычислительного устройства 300. В некоторых реализациях устройство 306 хранения может быть или включать в себя компьютерно-читаемый носитель, такой как накопитель на гибких дисках, накопитель на жестких дисках, накопитель на оптических дисках или ленточное устройство, флэш-память или другое аналогичное твердотельное запоминающее устройство, или массив устройств, включающий в себя устройства в сети устройств хранения данных или других конфигурациях. Инструкции могут быть сохранены на информационном носителе. Инструкции, когда исполняются посредством одного или более устройств обработки (например, процессора 302), выполняют один или более способов, таких как способы, описанные выше. Инструкции могут также быть сохранены посредством одного или более устройств хранения, таких как компьютерно- или машиночитаемые носители (например, память 304, устройство 306 хранения или память на процессоре 302).

[47] Высокоскоростной интерфейс 308 управляет операциями с интенсивной пропускной способностью для вычислительного устройства 300, в то время как низкоскоростной интерфейс 312 управляет операциями с менее интенсивной пропускной способностью. Такое распределение функций является только примером. В некоторых реализациях высокоскоростной интерфейс 308 соединяется с памятью 304, дисплеем 316 (например, через графический процессор или акселератор) и с высокоскоростными портами 310 расширения, которые могут принимать различные карты расширения (не показаны). В реализации низкоскоростной интерфейс 312 соединяется с устройством 306 хранения и низкоскоростным портом 314 расширения. Низкоскоростной порт 314 расширения, который может включать в себя различные порты связи (например, USB, Bluetooth, Ethernet, беспроводной Ethernet), может быть соединен с одним или более устройствами ввода/вывода, такими как клавиатура, указывающее устройство, сканер, или сетевым устройством, таким как коммутатор или маршрутизатор, например, через сетевой адаптер.

[48] Вычислительное устройство 300 может быть реализовано во множестве различных форм, как показано на чертеже. Например, оно может быть реализовано как обычный сервер 320, или множество раз в группе таких серверов. Кроме того, оно может быть реализовано в персональном компьютере, таком как портативный компьютер 322. Оно может также быть реализовано как часть системы 324 стоечного сервера. Альтернативно, компоненты из вычислительного устройства 300 могут быть объединены с другими компонентами в мобильном устройстве (не показано), таким как мобильное вычислительное устройство 350. Каждое из таких устройств может содержать одно или более вычислительных устройств 300 и мобильных вычислительных устройств 350, и вся система может быть создана из множества вычислительных устройств, связывающихся друг с другом.

[49] Мобильное вычислительное устройство 350 включает в себя процессор 352, память 364, устройство ввода/вывода, такое как дисплей 354, интерфейс 366 связи и приемопередатчик 368, среди других компонентов. Мобильное вычислительное устройство 350 может также быть снабжено устройством хранения, таким как микронакопитель или другое устройство, чтобы предоставлять дополнительное хранилище. Каждый из процессора 352, памяти 364, дисплея 354, интерфейса 366 связи и приемопередатчика 368 взаимосвязываются с помощью различных шин, и несколько компонентов могут быть установлены на общей материнской плате или другими способами при необходимости.

[50] Процессор 352 может исполнять инструкции в мобильном вычислительном устройстве 350, включающие в себя инструкции, сохраненные в памяти 364. Процессор 352 может быть реализован как набор микросхем, который включает в себя отдельные и многочисленные аналоговые и цифровые процессоры. Процессор 352 может предоставляться, например, для координации других компонентов мобильного вычислительного устройства 350, такой как управление пользовательскими интерфейсами, приложений, запускаемых мобильным вычислительным устройством 350, и беспроводной связи посредством мобильного вычислительного устройства 350.

[51] Процессор 352 может связываться с пользователем через интерфейс 358 управления и интерфейс 356 дисплея, соединенный с дисплеем 354. Дисплей 354 может быть, например, TFT (тонкопленочным транзисторным жидкокристаллическим дисплеем) дисплеем или OLED (органическим светоизлучающим диодным) дисплеем или другой подходящей технологией отображения. Интерфейс 356 дисплея может содержать соответствующую схему для возбуждения дисплея 354, чтобы представлять графическую и другую информацию пользователю. Интерфейс 358 управления может принимать команды от пользователя и преобразовывать их для предоставления процессору 352. Кроме того, внешний интерфейс 362 может обеспечивать связь с процессором 352, с тем, чтобы предоставлять возможность связи в ближней области мобильного вычислительного устройства 350 с другими устройствами. Внешний интерфейс 362 может предусматриваться, например, для проводной связи в некоторых реализациях, или для беспроводной связи в других реализациях, и множество интерфейсов также может быть использовано.

[52] Память 364 хранит информацию в мобильном вычислительном устройстве 350. Память 364 может быть реализована как один или более компьютерно-читаемый носитель или носители, энергозависимое запоминающее устройство или устройства или энергонезависимое запоминающее устройство или устройства. Дополнительная память 374 может также быть предусмотрена и соединяться с мобильным вычислительным устройством 350 через интерфейс 372 расширения, который может включать в себя, например, интерфейсную плату SIMM (модуль памяти с однорядным расположением выводов). Дополнительная память 374 может предоставлять дополнительное пространство хранения для мобильного вычислительного устройства 350 или может также хранить приложения или другую информацию для мобильного вычислительного устройства 350. В частности, дополнительная память 374 может включать в себя инструкции, чтобы выполнять или дополнять процессы, описанные выше, и может включать в себя также защищенную информацию. Таким образом, например, дополнительная память 374 может быть предоставлена как модуль защиты для мобильного вычислительного устройства 350 и может быть запрограммирована с инструкциями, которые разрешают безопасное использование мобильного вычислительного устройства 350. Кроме того, защищенные приложения могут быть предоставлены через SIMM-платы, вместе с дополнительной информацией, такой как информация, идентифицирующая размещение на SIMM-плате, неуязвимым для хакерских атак образом.

[53] Память может включать в себя, например, флэш-память и/или NVRAM-память (энергонезависимое оперативное запоминающее устройство), как обсуждается ниже. В некоторых реализациях, инструкции хранятся на информационном носителе, причем эти инструкции, когда исполняются посредством одного или более устройств обработки (например, процессора 352), выполняют один или более способов, таких как способы, описанные выше. Инструкции могут также быть сохранены посредством одного или более устройств хранения, таких как один или более компьютерно- или машиночитаемых носителей (например, память 364, дополнительная память 374 или память в процессоре 352). В некоторых реализациях, инструкции могут быть приняты в распространяемом сигнале, например, через приемопередатчик 368 или внешний интерфейс 362.

[54] Мобильное вычислительное устройство 350 может связываться беспроводным образом через интерфейс 366 связи, который может включать в себя схему обработки цифрового сигнала, когда необходимо. Интерфейс 366 связи может обеспечивать связь в различных режимах или протоколах, таких как голосовые вызовы GSM (глобальная система мобильной связи), SMS (служба коротких сообщений), EMS (служба расширенного обмена сообщениями), или обмен MMS-сообщениями (служба обмена мультимедийными сообщениями), CMDA (множественный доступ с кодовым разделением канала), TDMA (множественный доступ с временным разделением канала), PDC (персональная цифровая сотовая связь), WCDMA (широкополосный множественный доступ с кодовым разделением канала), CDMA2000 или GPRS (общая служба пакетной радиопередачи), среди прочих. Такая связь может происходить, например, через приемопередатчик 368 с помощью радиочастоты. Кроме того, связь малого радиуса действия может происходить, например, с помощью Bluetooth, WiFi или другой такой приемопередатчик (не показан). Кроме того, модуль 370 приемника GPS (система глобального позиционирования) может предоставлять дополнительные связанные с навигацией и местоположением беспроводные данные мобильному вычислительному устройству 350, которые могут быть использованы при необходимости приложениями, работающими на мобильном вычислительном устройстве 350.

[55] Мобильное вычислительное устройство 350 может также связываться звуковым образом с помощью аудиокодека 360, который может принимать произносимую информацию от пользователя и преобразовывать ее в полезную цифровую информацию. Аудиокодек 360 может аналогично формировать слышимый звук для пользователя, например, через динамик, например, в трубке мобильного вычислительного устройства 350. Такой звук может включать в себя звук от голосовых телефонных вызовов, может включать в себя записанный звук (например, голосовые сообщения, музыкальные файлы и т.д.) и может также включать в себя звук, формируемый приложениями, работающими на мобильном вычислительном устройстве 350.

[56] Мобильное вычислительное устройство 350 может быть реализовано во множестве различных форм, как показано на чертеже. Например, оно может быть реализовано как сотовый телефон 380. Оно может также быть реализовано как часть смартфона 382, персонального цифрового помощника или другого аналогичного мобильного устройства.

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

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

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

[60] Чтобы обеспечивать взаимодействие с пользователем, системы и технические приемы, описанные здесь, могут быть реализованы на компьютере, имеющем устройство отображения, например, CRT (катодно-лучевая трубка) или LCD (жидкокристаллический дисплей) монитор, для отображения информации пользователю и клавиатуру и указывающее устройство, например, мышь или трекбол, посредством которых пользователь может предоставлять входные данные компьютеру. Другие виды устройств могут быть использованы, чтобы обеспечивать взаимодействие с пользователем также; например, обратная связь, предоставляемая пользователю, может быть любой формой сенсорной обратной связи, например, визуальной обратной связью, звуковой обратной связью или тактильной обратной связью; и входные данные от пользователя могут приниматься в любой форме, включающей в себя акустический, речевой или тактильный ввод.

[61] Системы и методы, описанные здесь, могут быть реализованы в вычислительной системе, которая включает в себя внутренний компонент, например, в качестве сервера данных, или которая включает в себя промежуточный компонент, например, сервер приложений, или которая включает в себя компонент первичной обработки данных, например, клиентский компьютер, имеющий графический пользовательский интерфейс или веб-браузер, посредством которого пользователь может взаимодействовать с реализацией систем и методов, описанных здесь, или любую комбинацию таких внутренних, промежуточных или компонентов первичной обработки данных. Компоненты системы могут быть взаимосвязаны посредством любой формы или носителя для обмена цифровыми данными, например, сети связи. Примеры сетей связи включают в себя локальную вычислительную сеть (LAN), глобальную вычислительную сеть (WAN) и Интернет.

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

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

[64] Например, в некоторых вариантах осуществления, личность пользователя может быть обработана, так что персонально идентифицируемая информация может быть определена для пользователя, или географическое местоположение пользователя может быть обобщено, когда информация о местоположении получена (например, до города, почтового индекса или уровня штата), так что конкретное местоположение пользователя не может быть определено. Таким образом, пользователь может иметь контроль над тем, какая информация собирается о пользователе, как эта информация используется, и какая информация предоставляется пользователю.

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

[66] Конкретные варианты осуществления изобретения были описаны. Другие варианты осуществления находятся в рамках последующей формулы изобретения. Например, действия, перечисленные в формуле изобретения, могут быть выполнены в другом порядке и все еще добиваться желаемых результатов. В качестве одного примера, процессы, изображенные на сопровождающих чертежах, необязательно требуют показанного конкретного порядка, или последовательного порядка, чтобы добиваться желаемых результатов. В некоторых случаях, многозадачность и параллельная обработка могут быть полезными.

Похожие патенты RU2742198C1

название год авторы номер документа
СПОСОБЫ И СИСТЕМЫ ОБРАБОТКИ ОБЪЕКТНЫХ МОДЕЛЕЙ ДОКУМЕНТОВ (DOM) ДЛЯ ОБРАБОТКИ ВИДЕОКОНТЕНТА 2010
  • Чэбот Тимоти Дж.
  • Уиндс Эдвин Д.
  • Этэс Грегори Дж.
  • Ли Гэнг
  • Хэйош Томас И.
  • Морено Сизар
RU2475832C1
СПОСОБ И СИСТЕМА ДЛЯ ОТОБРАЖЕНИЯ ВИДЕОКОНТЕНТА 2021
  • Плешивцев Кирилл Николаевич
  • Аббакумов Сергей Сергеевич
  • Габдрахманов Рамиль Рашитович
  • Петряев Константин Юрьевич
RU2824370C1
ОТОБРАЖЕНИЕ ОБЪЕКТОВ СЕТИ НА МОБИЛЬНЫХ УСТРОЙСТВАХ НА ОСНОВАНИИ ГЕОПОЗИЦИИ 2007
  • Хамюнен Киммо
  • Корхонен Паси
  • Кахари Маркус
  • Сорвари Антти
  • Хухтала Ика
  • Мёрфи Дэвид
  • Пааласмаа Йонас
RU2417437C2
УПРАВЛЕНИЕ ОНЛАЙНОВОЙ КОНФИДЕНЦИАЛЬНОСТЬЮ 2011
  • Гудвин Джошуа К.
  • Мэнион Джошуа Р.
RU2550531C2
ОПТИМИЗИРОВАННЫЙ ПРОЦЕСС ВОСПРОИЗВЕДЕНИЯ БРАУЗЕРА 2014
  • Мэн Бипин
  • Истхэм Майкл
  • Сюй Хой
  • Чжоу Сяобо
RU2638726C1
Способ записи, редактирования и воссоздания компьютерного сеанса 2018
  • Бекмамбетов Тимур
  • Гай Бедфорд
  • Даниэль Кехо
RU2733919C2
ОПТИМИЗИРОВАННЫЙ ПРОЦЕСС ВОСПРОИЗВЕДЕНИЯ БРАУЗЕРА 2017
  • Мэн Бипин
  • Истхэм Майкл
  • Сюй Хой
  • Чжоу Сяобо
RU2756482C2
АВТОМАТИЗИРОВАННОЕ ИЗВЛЕЧЕНИЕ ИНФОРМАЦИИ 2016
  • Нигам Пиюш
RU2693193C1
ОБНАРУЖЕНИЕ ОБЪЕКТОВ ИЗ ЗАПРОСОВ ВИЗУАЛЬНОГО ПОИСКА 2017
  • Мур Стефен Морис
  • Мюррей Ларри Патрик
  • Сханмугамани Раджалингаппаа
RU2729956C2
АУТЕНТИФИКАЦИЯ И СОЕДИНЕНИЕ В ПАРУ УСТРОЙСТВ С ИСПОЛЬЗОВАНИЕМ МАШИНОЧИТАЕМОГО КОДА 2015
  • Миллиган Ян
  • Агарвал Абхишек
  • Сандерс Джон
  • Болдук Джошуа С.
  • Грэй Дэвид
  • Конклин Ский
  • Калдвэлл Гэри
RU2682379C2

Иллюстрации к изобретению RU 2 742 198 C1

Реферат патента 2021 года СКАНИРОВАНИЕ ПРИВЯЗОК В РАЗМЕТКЕ ВЕБ-СТРАНИЦЫ

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

Формула изобретения RU 2 742 198 C1

1. Компьютерно–реализуемый способ воспроизведения веб–страницы, содержащий этапы, на которых:

получают в браузере клиентского устройства разметку для всей веб–страницы;

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

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

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

в ответ на завершение воспроизведения следующего кадра для веб–страницы посредством браузера возобновляют сканирование разметки для веб–страницы с упомянутого местоположения в разметке, достигнутого сканированием ко времени приостановки; и

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

2. Способ по п.1, в котором пороговое время представляет собой десять–пятьдесят миллисекунд.

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

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

5. Способ по п.1, в котором разметка для веб–страницы содержит текст на языке разметки и текст на языке описания сценариев.

6. Способ по п.1, в котором атрибут веб–страницы представляет собой атрибут языка разметки гипертекста веб–страницы.

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

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

воспроизводят посредством браузера второй следующий кадр для веб–страницы; и

в ответ на завершение воспроизведения второго следующего кадра для веб–страницы возобновляют сканирование разметки для веб–страницы во втором местоположении в разметке.

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

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

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

11. Способ по п.1, в котором сканирование разметки для веб–страницы начинается в начале документа, включающем в себя разметку, и перемещается последовательно по документу до конца документа.

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

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

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

обновляют атрибут, связанный с этим выражением через конкретную привязку.

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

14. Вычислительная система, выполненная с возможностью воспроизведения веб–страниц, при этом вычислительная система содержит:

оборудование для обработки данных; и

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

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

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

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

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

в ответ на завершение воспроизведения следующего кадра для веб–страницы посредством браузера возобновление сканирования разметки для веб–страницы с упомянутого местоположения в разметке, достигнутого сканированием ко времени приостановки; и

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

15. Система по п.14, при этом пороговое время представляет собой десять–пятьдесят миллисекунд.

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

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

18. Система по п.14, при этом разметка для веб–страницы содержит текст на языке разметки и текст на языке описания сценариев.

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

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

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

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

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

в ответ на завершение воспроизведения следующего кадра для веб–страницы посредством браузера возобновление сканирования разметки для веб–страницы с упомянутого местоположения в разметке, достигнутого сканированием ко времени приостановки; и

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

Документы, цитированные в отчете о поиске Патент 2021 года RU2742198C1

Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз 1924
  • Подольский Л.П.
SU2014A1
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем 1924
  • Волынский С.В.
SU2012A1
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз 1924
  • Подольский Л.П.
SU2014A1
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем 1924
  • Волынский С.В.
SU2012A1
Автомобиль-сани, движущиеся на полозьях посредством устанавливающихся по высоте колес с шинами 1924
  • Ф.А. Клейн
SU2017A1
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ СОДЕРЖИМОГО ВЕБ-РЕСУРСА В БРАУЗЕРЕ 2014
  • Никитин Константин Сергеевич
  • Чигрин Вячеслав Олегович
RU2595524C2

RU 2 742 198 C1

Авторы

Чоу, Уилльям

Убль, Мальте

Даты

2021-02-03Публикация

2018-05-18Подача