Способ координации сетевого обмена данными

Изобретение относится к способу координации сетевого обмена данными, который выполняется на сервере координации функционирования браузеров, осуществляющем при помощи сети обмен данными с первым электронным устройством и вторым электронным устройством. Технический результат заключается в обеспечении максимального соответствия ресурсов сервера и клиента. На первом электронном устройстве запущен первый браузер, а на втором электронном устройстве запущен второй браузер. Принимают от первого электронного устройства данные, указывающие, что первый браузер получил от веб-сервера первую версию веб-ресурса. Принимают от второго электронного устройства данные, указывающие, что второй браузер получил от веб-сервера вторую версию веб-ресурса. Определяют то, что вторая версия веб-ресурса представляет собой обновленную версию веб-ресурса относительно первой версии веб-ресурса. Передают первому электронному устройству данные, указывающие, что первая версия веб-ресурса устарела. 2 н. и 28 з.п. ф-лы, 8 ил.

Реферат

ПЕРЕКРЕСТНЫЕ ССЫЛКИ

[01] Отсутствуют.

ОБЛАСТЬ ТЕХНИКИ

[02] Данная технология относится к компьютерным способам координации сетевого обмена данными.

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

[03] Веб-браузеры используются для осуществления доступа к веб-ресурсам, размещенным на веб-серверах, при помощи сети, такой как сеть Интернет. Обычно навигация по веб-ресурсам, осуществляемая веб-браузерами, выполняется в соответствии с моделью «опроса», используемой в процессе обмена данными между клиентом и сервером, которая предусматривает передачу веб-браузером (клиентом) запроса веб-серверу на получение доступа к веб-ресурсу (например, веб-странице или элементу веб-страницы) и последующее предоставление веб-сервером запрошенного веб-ресурса, если он имеется и клиент (веб-браузер) обладает полномочиями для доступа к нему, или подачу сообщения об ошибке. Если издатель веб-ресурса позднее публикует на веб-сервере обновленную версию веб-ресурса, то веб-сервер просто обеспечивает возможность предоставления обновленной версии веб-браузерам, которые подадут соответствующий запрос. Веб-браузеру, который получил первоначальную версию веб-ресурса, не предоставляются какие-либо данные, указывающие на наличие обновленной версии. Следовательно, в таком случае версия веб-ресурса, полученная веб-браузером (и представленная пользователю веб-браузера), не соответствует последней опубликованной версии. В некоторых случаях данное несоответствие версий веб-ресурсов, находящихся в распоряжении веб-браузера и веб-сервера, может не вести к возникновению проблем. Однако если соответствие является важным фактором, то единственным решением проблемы сетевого обмена данными в рамках известной модели опроса является периодическое проведение веб-браузером опроса (то есть, передачи запросов) веб-сервера с целью получения последней версии веб-ресурса. Даже при использовании такого метода актуальность веб-ресурса ограничивается периодом опроса, а во многих случаях повторный опрос может представлять собой нерациональный расход вычислительных и сетевых ресурсов, поскольку веб-ресурс, возможно, не изменился с момента подачи последнего запроса.

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

[05] Преимуществом модели «доставки» в сравнении с моделью «опроса» является то, что клиенту всегда предоставляется последняя версия ресурса, в результате чего обеспечивается максимальное соответствие ресурсов сервера и клиента. Однако в случаях, когда, по меньшей мере, некоторое несоответствие является допустимым, модель «доставки» связана с избыточным расходом вычислительных и сетевых ресурсов, поскольку с целью предоставления последней версии предусматривает принудительную передачу ресурсов, в которых нет необходимости. В условиях сетевого обмена данными реализацию модели «доставки» обеспечивают различные технологии, например, механизм «Server Push» протокола прикладного уровня для передачи веб-контента SPDY, разработанный в рамках проекта Chromium.

[06] Альтернативным вариантом модели «доставки», представляющим собой промежуточное решение, является механизм «Server Hint» протокола SPDY, предусматривающий предоставление веб-сервером веб-браузеру не последней версии обновленного веб-ресурса, а только указания о наличии такого обновленного веб-ресурса. Соответственно, данный механизм обеспечивает веб-браузеру возможность определения необходимости получения обновленной версии (например, посредством подачи запроса веб-браузеру) и инициирования загрузки или отсутствия операции инициирования загрузки обновленной версии в соответствии с результатами определения необходимости получения указанной версии. Хотя механизм «Server Hint» представляет собой эффективный промежуточный вариант между моделями «опроса» и «доставки», он требует реализации протокола SPDY как веб-браузером, так и веб-сервером. Согласно оценкам по состоянию на август 2014 г. менее 1% веб-сайтов используют протокол SPDY.

[07] Следовательно, существует потребность в координации сетевого обмена данными.

СУЩНОСТЬ ТЕХНОЛОГИИ

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

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

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

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

- определения того, что вторая версия веб-ресурса представляет собой обновленную версию данного веб-ресурса относительно первой версии веб-ресурса;

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

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

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

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

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

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

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

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

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

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

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

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

- определения того, что вторая версия веб-ресурса представляет собой обновленную версию данного веб-ресурса относительно первой версии веб-ресурса; и

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

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

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

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

[22] В контексте настоящего описания технологии, если явно не указано иное, выражение «машиночитаемый носитель данных» охватывает носители данных любого типа и исполнения, примерами которых, не ограничивающими объем технологии, являются оперативные запоминающие устройства, постоянные запоминающие устройства, диски (компакт-диски, DVD-диски, гибкие диски, жесткие диски и т.д.), USB-ключи, карты флэш-памяти, твердотельные накопители и накопители на магнитных лентах.

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

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

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

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

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

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

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

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

[30] Фиг. 5-6 иллюстрируют данные журналов регистрации веб-браузеров в примере осуществления предложенной технологии.

[31] Фиг. 7 представляет собой структурную схему реализации сервера координации функционирования браузеров в соответствии с предложенной технологией.

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

[33] Следует отметить, что, если явно не указано иное, чертежи выполнены не в масштабе.

ПОДРОБНОЕ ОПИСАНИЕ ТЕХНОЛОГИИ

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

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

[36] В некоторых случаях далее описаны также полезные примеры внесения изменений в предложенную технологию. Эти примеры указаны только для углубления понимания, а не для определения объема или ограничения данной технологии. Указанные изменения не являются исчерпывающими, и для специалистов в данной области техники очевидно, что в пределах объема данной технологии возможна реализация других изменений. Далее, отсутствие примеров реализации изменений не следует интерпретировать как отсутствие возможности внесения изменений и(или) представлять рассмотренный пример осуществления как единственный вариант реализации данного элемента предложенной технологии.

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

[38] Функции различных элементов, указанных на фигурах, в том числе функциональных элементов, обозначенных термином «процессор», могут быть осуществлены посредством использования специализированного аппаратного обеспечения, а также аппаратного обеспечения, осуществляющего выполнение соответствующего программного обеспечения. При использовании процессора соответствующие функции могут быть реализованы одним выделенным процессором, одним коллективно используемым процессором или множеством отдельных процессоров, часть которых может быть компонентами коллективного использования. Кроме того, применение терминов «процессор» или «контроллер» не касается исключительно аппаратного обеспечения, предоставляющего возможность выполнения программного обеспечения, а может подразумевать, среди прочего, аппаратное обеспечение процессора цифровых сигналов (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую матрицу логических элементов (FPGA), постоянное запоминающее устройство (ПЗУ) для хранения программного обеспечения, оперативное запоминающее устройство (ОЗУ) и энергонезависимую память. Может также использоваться другое стандартное и(или) специализированное аппаратное обеспечение.

[39] Программные модули или просто модули, которые представляют собой программное обеспечение, могут быть указаны в настоящем документе в виде любой комбинации элементов структурной схемы или других элементов, соответствующих этапам процесса и(или) текстовому описанию. Эти модули могут быть реализованы на основе аппаратного обеспечения, которое явно указано или использование которого подразумевается.

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

[41] Фиг. 1 иллюстрирует сетевую вычислительную среду 100, пригодную для реализации различных вариантов осуществления предложенной технологии. Сетевая вычислительная среда 100 содержит первый смартфон 112 (например, смартфон Apple iPhone™ или Samsung Galaxy S4™) с сенсорным экраном 114, предназначенным для отображения информации для первого пользователя 110 и приема от первого пользователя 110 команд, подаваемых при помощи сенсорного экрана, второй смартфон 122 с сенсорным экраном 124, предназначенным для отображения информации для второго пользователя 120 и приема от второго пользователя 120 команд, подаваемых при помощи сенсорного экрана, веб-сервер 130, связанный со смартфонами 112 и 122 при помощи сети 101 (например, сети Интернет или подобной сети), и сервер 140 координации функционирования браузеров, также связанный со смартфонами 112 и 122 при помощи сети 101. На каждом смартфоне 112 и 122 установлена операционная система (например, Apple iOS, Google Android), которая содержит веб-браузер (например, Apple Safari, Google Chrome).

[42] Хотя другие компоненты не показаны на фигуре, для специалистов в данной области техники очевидно, что смартфоны 112 и 122 содержат различные аппаратные модули, в том числе, наряду с соответствующими сенсорными экранами 114 и 124, один или большее число одноядерных или многоядерных процессоров, оперативное запоминающее устройство, один или большее число сетевых интерфейсов для обмена данными с веб-сервером 130 и сервером 140 координации функционирования браузеров при помощи сети 101.

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

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

[45] Веб-сервер 130 и сервер 140 координации функционирования браузеров могут быть реализованы с использованием типового сервера. В примере осуществления предложенной технологии веб-сервер 130 и сервер 140 координации функционирования браузеров реализованы на основе сервера Dell™ PowerEdge™, на котором установлена операционная система Microsoft™ Windows Server™. Очевидно, что веб-сервер 130 и сервер 140 координации функционирования браузеров могут быть реализованы на основе любого другого приемлемого аппаратного обеспечения и(или) программного обеспечения и(или) встроенного программного обеспечения или их комбинации. Хотя в соответствии с представленным описанием веб-сервер 130 и сервер 140 координации функционирования браузеров реализованы на основе подобного аппаратного и программного обеспечения, это не обязательно является справедливым для каждого варианта осуществления предложенной технологии.

[46] В некоторых примерах осуществления данной технологии сервер 140 координации функционирования браузеров работает под контролем и(или) управлением компонента, который контролирует и(или) осуществляет управление и(или) распределение веб-браузеров, установленных на смартфонах 112 и 122.

[47] Фиг. 2 иллюстрирует снимок первой версии веб-страницы 200 (титульной страницы веб-сайта «Новости Би-би-си»). Первая версия веб-страницы 200 содержит различные элементы, в том числе гиперссылки, указывающие три новости 201, 202 и 203.

[48] Фиг. 3 иллюстрирует снимок второй версии веб-страницы 200 после обновления относительно первой версии веб-страницы 200, проиллюстрированной на Фиг. 2. Вторая версия веб-страницы 200 содержит новости 202, 203 и 204. Таким образом, в сравнении с первой версией веб-страницы 200 вторая версия дополнена новостью 204, а новость 201 удалена.

[49] Фиг. 4 иллюстрирует снимок третьей версии веб-страницы 200 после следующего обновления. Третья версия веб-страницы 200 содержит новости 204, 205 и 206. Таким образом, в сравнении со второй версией веб-страницы 200, проиллюстрированной на Фиг. 3, третья версия веб-страницы 200 дополнена новостями 205 и 206, а новости 202 и 203 удалены.

[50] Фиг. 5 иллюстрирует журнал 300 регистрации первого браузера, установленного на первом смартфоне 112. Журнал 300 регистрации первого браузера содержит несколько элементов 310 журнала регистрации браузера, представляющих хронологические данные веб-адресов веб-страниц, которые посетил первый пользователь 110 с использованием первого смартфона 112. Второй элемент 310 журнала 300 регистрации первого браузера содержит метку 311 времени посещения веб-адреса 312, соответствующего титульной странице веб-сайта «Новости Би-би-си» (веб-страница 200, представленная выше на Фиг. 2-4). Второй элемент журнала дополнительно содержит хэш-код 313 первой версии веб-страницы 200 (то есть, веб-страницы, указанной на Фиг. 2), представленный шестнадцатеричным числом из восьми символов (32 бита). Алгоритмы хэширования являются хорошо известными в данной области техники и в варианте реализации предложенной технологии может быть использован любой приемлемый способ хэширования. Для целей настоящего описания достаточно отметить, что хэш-код 313 генерируется в результате выполнения хэш-функции, для которой в качестве входных данных используется первая версия веб-страницы 200, и что практически любое изменение первой версии веб-страницы 200 приводит к получению в результате выполнения хэш-функции значения хэш-кода, отличающегося от хэш-кода 313.

[51] Фиг. 6 иллюстрирует журнал 400 регистрации второго браузера, который в данном случае установлен на втором смартфоне 122. Журнал 400 регистрации второго браузера содержит несколько элементов 410 журнала регистрации браузера, представляющих хронологические данные веб-адресов, которые посетил второй пользователь 120 с использованием второго смартфона 122. Первый элемент 410 журнала 400 регистрации второго браузера содержит метку 411 времени посещения веб-адреса 412, соответствующего титульной странице веб-сайта «Новости Би-би-си» (веб-страница 200, представленная выше на Фиг. 2-4). Первый элемент журнала дополнительно содержит хэш-код 413 второй версии веб-страницы 200 (то есть, веб-страницы, указанной на Фиг. 3), представленный шестнадцатеричным числом из восьми символов (32 бита).

[52] Фиг. 7 иллюстрирует структурную схему внутренних компонентов аппаратного обеспечения в примере осуществления сервера 140 координации функционирования браузеров, аналогичного серверу, указанному в сетевой вычислительной среде 100, представленной на Фиг. 1. Внутренние компоненты аппаратного обеспечения охватывают процессор 142, оперативное запоминающее устройство 143, память 144 и сетевой интерфейс 145. Внутренние компоненты аппаратного обеспечения осуществляют обмен данными при помощи одной или большего числа шин 145 (например, шины PCI, шины USB или шины, функционирующей на основе любой другой приемлемой технологии). Сетевой интерфейс 145 может быть связан с сетью 101, представленной на Фиг. 1.

[53] Фиг. 8 иллюстрирует структурную схему выполнения этапов примера осуществления способа 600, обеспечивающего реализацию предложенной технологии. Способ 600 может быть реализован, например, сервером 140 координации функционирования браузеров в сетевой вычислительной среде 100, указанной на Фиг. 1.

[54] Веб-браузер первого