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

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

Info

Publication number
RU2610418C2
RU2610418C2 RU2014135291A RU2014135291A RU2610418C2 RU 2610418 C2 RU2610418 C2 RU 2610418C2 RU 2014135291 A RU2014135291 A RU 2014135291A RU 2014135291 A RU2014135291 A RU 2014135291A RU 2610418 C2 RU2610418 C2 RU 2610418C2
Authority
RU
Russia
Prior art keywords
version
web resource
browser
web
electronic device
Prior art date
Application number
RU2014135291A
Other languages
English (en)
Other versions
RU2014135291A (ru
Inventor
Виктор Владимирович Карпов
Original Assignee
Общество С Ограниченной Ответственностью "Яндекс"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Яндекс" filed Critical Общество С Ограниченной Ответственностью "Яндекс"
Priority to RU2014135291A priority Critical patent/RU2610418C2/ru
Priority to PCT/IB2015/051629 priority patent/WO2016030770A1/en
Priority to US15/026,292 priority patent/US10135754B2/en
Publication of RU2014135291A publication Critical patent/RU2014135291A/ru
Application granted granted Critical
Publication of RU2610418C2 publication Critical patent/RU2610418C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/803Application aware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2329Optimistic concurrency control using versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

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

Abstract

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

Description

ПЕРЕКРЕСТНЫЕ ССЫЛКИ
[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] Веб-браузер первого смартфона 112 после получения от веб-сервера 130 первой версии веб-страницы 200 (то есть, веб-страницы, представленной на Фиг. 2) передает серверу 140 координации функционирования браузеров данные, указывающие, что получена соответствующая веб-страница. Например, эти данные могут быть представлены в виде журнала 300 регистрации браузера, изображенного на Фиг. 5.
[55] После этого, на этапе 610 сервер 140 координации функционирования браузеров через сетевой интерфейс 145 принимает данные, указывающие, что первый браузер (веб-браузер первого смартфона 112) получил от веб-сервера 130 первую версию веб-страницы 200.
[56] Далее, на этапе 620 сервер 140 координации функционирования браузеров через сетевой интерфейс 145 принимает от второго браузера (веб-браузера второго смартфона 122) данные, указывающие, что этот браузер получил от веб-сервера 130 вторую версию веб-страницы 200 (то есть, версию, представленную на Фиг. 3). Например, эти данные могут быть представлены в виде данных журнала 400 регистрации браузера, изображенного на Фиг. 6.
[57] В некоторых примерах осуществления предложенной технологии этапы 610 и 620 выполняются как часть процедуры обмена информацией между веб-браузерами, реализуемой смартфонами 112 и 122, а также сервером 140 координации функционирования браузеров. Учитывая, что в некоторых примерах осуществления предложенной технологии сервер 140 координации функционирования браузеров работает под контролем и(или) управлением компонента, который контролирует и(или) осуществляет управление и(или) распределение веб-браузеров, установленных на смартфонах 112 и 122, процедура обмена информацией может быть реализована, например, посредством сохранения копии журналов регистрации браузеров на сервере 140 координации функционирования браузеров.
[58] В альтернативных вариантах осуществления технологии этапы 610 и 620 представлены в форме запрограммированных целевых процедур обмена информацией между веб-браузерами, установленными на смартфонах 112 и 122, и сервером 140 координации функционирования браузеров, которые реализованы в соответствии с примерами предложенной технологии.
[59] На этапе 630 сервер 140 координации функционирования браузеров определяет, что вторая версия веб-страницы 200 представляет собой обновленную версию веб-страницы 200 в сравнении с первой версией веб-страницы 200. Например, сервер 140 координации функционирования браузеров может выполнить данную операцию посредством сравнения журнала 300 регистрации браузера и журнала 400 регистрации браузера. Более конкретно, сервер 140 координации функционирования браузеров может осуществить сравнение хэш-кода 313, соответствующего веб-адресу 312 веб-страницы 200 в журнале 300 регистрации браузера, с хэш-кодом 413, соответствующим веб-адресу 412 веб-страницы 200 в журнале 400 регистрации браузера, и определить, что хэш-коды 313 и 413 являются различными.
[60] Далее, сервер 140 координации функционирования браузеров сравнивает метку 311 времени, соответствующую веб-адресу 312 веб-страницы 200 в журнале 300 регистрации браузера, с меткой 411 времени, соответствующей веб-адресу 412 веб-страницы 200 в журнале 400 регистрации браузера, с целью определения, какой из браузеров, а именно, первый браузер (веб-браузер первого смартфона 112) или второй браузер (веб-браузер второго смартфона 122) получил последнюю версию веб-страницы 200.
[61] Например, сервер 140 координации функционирования браузеров устанавливает, что вторая версия веб-страницы 200 является более поздней в сравнении с первой версией веб-страницы 200, поскольку метка 411 времени соответствует более позднему моменту времени в сравнении с меткой 311 времени. Поскольку вторая версия веб-страницы 200 отличается от первой версии веб-страницы 200 (так как хэш-код 413 отличается от хэш-кода 313) и является более поздней (так как метка 411 времени соответствует более позднему моменту времени в сравнении с меткой 311 времени) чем первая версия веб-страницы 200, сервер 140 координации функционирования браузеров приходит к заключению, что вторая версия веб-страницы 200 является обновленной версией веб-страницы 200 относительно первой версии веб-страницы 200.
[62] На этапе 640 сервер 140 координации функционирования браузеров передает первому смартфону 112 данные, указывающие, что первая версия веб-страницы 200 устарела. После этого, веб-браузер первого смартфона 112 может осуществить отображение указанных данных на сенсорном экране 114 совместно с визуальным запросом, который предоставляет первому пользователю 110 возможность принятия решения относительно необходимости получения первым смартфоном 112 от веб-сервера 130 последней версии веб-страницы 200 (например, второй версии веб-страницы 200, если автором веб-страницы 200 уже не опубликована более новая версия веб-страницы 200). В некоторых примерах осуществления технологии данные, указывающие, что первая версия веб-страницы 200 устарела, могут содержать элемент, инициирующий получение первым смартфоном 112 последней версии веб-страницы 200 от веб-сервера 130. Данный элемент может инициировать получение первым смартфоном 112 последней версии веб-страницы 200 от веб-сервера 130 автоматически, то есть, без каких-либо дополнительных действий первого пользователя 110. В альтернативном варианте указанный элемент может инициировать подачу первым смартфоном 112 запроса первому пользователю 110 и, в случае положительного ответа первого пользователя 110, получение первым смартфоном 112 последней версии веб-страницы 200 от веб-сервера 130.
[63] В другом варианте, описанном ранее, сервер 140 координации функционирования браузеров может передать в качестве данных, указывающих, что может быть получена вторая версия веб-страницы 200, вторую версию веб-страницы 200, причем сервер 140 координации функционирования браузеров получает вторую версию веб-страницы 200 от веб-сервера 130 или от второго смартфона 122.
[64] Для специалистов в данной области техники очевидно, что этапы 620 - 640 могут далее повторяться при получении от браузера одного из смартфонов 112 и 122 последующих данных, указывающих, что одним из смартфонов 112 и 122 от веб-сервера 130 получена новая версия веб-страницы 200 и, таким образом, другому смартфону 112 и 122 предоставляется информация, указывающая, что вторая версия веб-страницы 200 устарела. Кроме того, аналогичные операции могут выполняться сервером 140 координации функционирования браузеров в отношении других веб-ресурсов, а не веб-страницы 200 и(или) может осуществляться координация функционирования браузеров других электронных устройств, а не смартфонов 112 и 122.
[65] Для специалистов в данной области техники очевидно, что в описанные выше примеры осуществления данной технологии могут быть внесены изменения и усовершенствования. Представленное описание является иллюстративным и не имеет ограничительного характера. Соответственно, объем данной технологии определяется исключительно прилагаемой формулой изобретения.

Claims (84)

1. Способ координации сетевого обмена данными, реализованный на компьютере, выполняемый на сервере координации функционирования браузеров, который осуществляет при помощи сети обмен данными с первым электронным устройством и вторым электронным устройством, при том, что на первом электронном устройстве запущен первый браузер, а на втором электронном устройстве запущен второй браузер, включающий следующие этапы:
прием от первого электронного устройства данных, указывающих, что первый браузер получил от веб-сервера первую версию веб-ресурса;
прием от второго электронного устройства данных, указывающих, что второй браузер получил от веб-сервера вторую версию веб-ресурса;
определение того, что вторая версия веб-ресурса представляет собой обновленную версию данного веб-ресурса относительно первой версии веб-ресурса; и
передачу первому электронному устройству данных, указывающих, что первая версия веб-ресурса устарела.
2. Способ по п. 1, отличающийся тем, что данные, указывающие, что первая версия веб-ресурса устарела, содержат элемент, инициирующий уведомление первым электронным устройством пользователя первого электронного устройства относительно того, что первая версия веб-ресурса устарела.
3. Способ по любому из пп. 1 и 2, отличающийся тем, что данные, указывающие, что первая версия веб-ресурса устарела, содержат элемент, инициирующий получение первым электронным устройством последней версии веб-ресурса от веб-сервера.
4. Способ по п. 3, отличающийся тем, что указанный элемент инициирует получение первым электронным устройством последней версии веб-ресурса от веб-сервера только после подачи запроса пользователю относительно необходимости получения последней версии веб-ресурса от веб-сервера и получения от пользователя положительного ответа.
5. Способ по п. 3, отличающийся тем, что указанный элемент дополнительно инициирует отображение первым электронным устройством последней версии веб-ресурса для пользователя при помощи дисплея первого электронного устройства только после подачи запроса пользователю относительно необходимости отображения последней версии веб-ресурса.
6. Способ по п. 1, отличающийся тем, что данные, указывающие, что первая версия веб-ресурса устарела, содержат данные, указывающие, что вторая версия веб-ресурса может быть получена от веб-сервера.
7. Способ по п. 1, отличающийся тем, что дополнительно включает этап получения второй версии веб-ресурса от одного компонента из группы, содержащей веб-сервер и второе электронное устройство, и отличающийся тем, что этап передачи данных, указывающих, что первая версия веб-ресурса устарела, включает передачу второй версии веб-ресурса, полученной от одного компонента из группы, содержащей веб-сервер и второе электронное устройство.
8. Способ по п. 1, отличающийся тем, что дополнительно включает следующие этапы:
прием от первого электронного устройства данных, указывающих, что первый браузер получил от веб-сервера третью версию веб-ресурса;
определение того, что третья версия веб-ресурса представляет собой обновленную версию данного веб-ресурса относительно второй версии веб-ресурса; и
передачу второму электронному устройству данных, указывающих, что вторая версия веб-ресурса устарела.
9. Способ по п. 1, отличающийся тем, что дополнительно включает следующие этапы:
прием от второго электронного устройства данных, указывающих, что второй браузер получил от веб-сервера третью версию веб-ресурса;
определение того, что третья версия веб-ресурса представляет собой обновленную версию данного веб-ресурса относительно второй версии веб-ресурса; и
передачу первому электронному устройству данных, указывающих, что вторая версия веб-ресурса устарела.
10. Способ по п. 1, отличающийся тем, что:
первый браузер получил от веб-сервера первую версию веб-ресурса без использования сервера координации функционирования браузеров в процессе передачи первой версии веб-ресурса; и
второй браузер получил от веб-сервера вторую версию веб-ресурса без использования сервера координации функционирования браузеров в процессе передачи второй версии веб-ресурса.
11. Способ по п. 10, отличающийся тем, что дополнительно включает следующие этапы:
прием от первого электронного устройства данных, указывающих, что первый браузер получил от веб-сервера третью версию веб-ресурса, причем первый браузер получил третью версию веб-ресурса без использования сервера координации функционирования браузеров в процессе передачи третьей версии веб-ресурса;
определение того, что третья версия веб-ресурса представляет собой обновленную версию данного веб-ресурса относительно второй версии веб-ресурса; и
передачу второму электронному устройству данных, указывающих, что вторая версия веб-ресурса устарела.
12. Способ по п. 10, отличающийся тем, что дополнительно включает следующие этапы:
прием от второго электронного устройства данных, указывающих, что второй браузер получил от веб-сервера третью версию веб-ресурса, причем второй браузер получил третью версию веб-ресурса без использования сервера координации функционирования браузеров в процессе передачи третьей версии веб-ресурса;
определение того, что третья версия веб-ресурса представляет собой обновленную версию данного веб-ресурса относительно второй версии веб-ресурса; и
передачу первому электронному устройству данных, указывающих, что вторая версия веб-ресурса устарела.
13. Способ по любому из пп. 1 и 10, отличающийся тем, что этап определения того, что вторая версия веб-ресурса представляет собой обновленную версию данного веб-ресурса относительно первой версии веб-ресурса включает:
определение того, что первый браузер получил первую версию веб-ресурса в первый момент времени;
определение того, что второй браузер получил вторую версию веб-ресурса во второй момент времени позднее первого момента времени; и
определение того, что вторая версия веб-ресурса отличается от первой версии веб-ресурса.
14. Способ по п. 13, отличающийся тем, что:
прием данных, указывающих, что первый браузер получил первую версию веб-ресурса, включает прием данных журнала регистрации первого браузера;
прием данных, указывающих, что второй браузер получил вторую версию веб-ресурса, включает прием данных журнала регистрации второго браузера; и
определение того, что вторая версия веб-ресурса отличается от первой версии веб-ресурса, включает сравнение данных журнала регистрации первого браузера и журнала регистрации второго браузера.
15. Способ по п. 13, отличающийся тем, что:
прием данных, указывающих, что первый браузер получил первую версию веб-ресурса, включает прием хэш-кода первой версии веб-ресурса;
прием данных, указывающих, что второй браузер получил вторую версию веб-ресурса, включает прием хэш-кода второй версии веб-ресурса; и
определение того, что вторая версия веб-ресурса отличается от первой версии веб-ресурса, включает определение того, что хэш-код первой версии веб-ресурса отличается от хэш-кода второй версии веб-ресурса.
16. Постоянный машиночитаемый носитель данных, предназначенный для хранения программных команд, обеспечивающих координацию сетевого обмена данными, причем программные команды выполняются сервером координации функционирования браузеров, осуществляющим при помощи сети обмен данными с первым электронным устройством и вторым электронным устройством, причем первое электронное устройство содержит первый браузер, а второе электронное устройство содержит второй браузер, и выполнение программных команд осуществляется с целью:
приема от первого электронного устройства данных, указывающих, что первый браузер получил от веб-сервера первую версию веб-ресурса;
приема от второго электронного устройства данных, указывающих, что второй браузер получил от веб-сервера вторую версию веб-ресурса;
определения того, что вторая версия веб-ресурса представляет собой обновленную версию данного веб-ресурса относительно первой версии веб-ресурса; и
передачи первому электронному устройству данных, указывающих, что первая версия веб-ресурса устарела.
17. Носитель по п. 16, отличающийся тем, что данные, указывающие, что первая версия веб-ресурса устарела, содержат элемент, инициирующий уведомление первым электронным устройством пользователя первого электронного устройства относительно того, что первая версия веб-ресурса устарела.
18. Носитель по любому из пп. 16 и 17, отличающийся тем, что данные, указывающие, что первая версия веб-ресурса устарела, содержат элемент, инициирующий получение первым электронным устройством последней версии веб-ресурса от веб-сервера.
19. Носитель по п. 18, отличающийся тем, что указанный элемент инициирует получение первым электронным устройством последней версии веб-ресурса от вебсервера только после подачи запроса пользователю относительно необходимости получения последней версии веб-ресурса от веб-сервера и получения от пользователя положительного ответа.
20. Носитель по п. 18, отличающийся тем, что указанный элемент дополнительно инициирует отображение первым электронным устройством последней версии веб-ресурса для пользователя при помощи дисплея первого электронного устройства только после подачи запроса пользователю относительно необходимости отображения последней версии веб-ресурса.
21. Носитель по п. 16, отличающийся тем, что данные, указывающие, что первая версия веб-ресурса устарела, содержат данные, указывающие, что вторая версия веб-ресурса может быть получена от веб-сервера.
22. Носитель по п. 16, отличающийся тем, что выполнение программных команд дополнительно осуществляется с целью получения второй версии веб-ресурса от одного компонента из группы, содержащей веб-сервер и второе электронное устройство, и отличающийся тем, что этап передачи данных, указывающих, что первая версия веб-ресурса устарела, включает передачу второй версии веб-ресурса, полученной от одного компонента из группы, содержащей веб-сервер и второе электронное устройство.
23. Носитель по п. 16, отличающийся тем, что выполнение программных команд дополнительно осуществляется с целью:
приема от первого электронного устройства данных, указывающих, что первый браузер получил от веб-сервера третью версию веб-ресурса;
определения того, что третья версия веб-ресурса представляет собой обновленную версию данного веб-ресурса относительно второй версии веб-ресурса; и
передачи второму электронному устройству данных, указывающих, что вторая версия веб-ресурса устарела.
24. Носитель по п. 16, отличающийся тем, что выполнение программных команд дополнительно осуществляется с целью:
приема от второго электронного устройства данных, указывающих, что второй браузер получил от веб-сервера третью версию веб-ресурса;
определения того, что третья версия веб-ресурса представляет собой обновленную версию данного веб-ресурса относительно второй версии веб-ресурса; и
передачи первому электронному устройству данных, указывающих, что вторая версия веб-ресурса устарела.
25. Носитель по п. 16, отличающийся тем, что:
первый браузер получил от веб-сервера первую версию веб-ресурса без использования сервера координации функционирования браузеров в процессе передачи первой версии веб-ресурса; и
второй браузер получил от веб-сервера вторую версию веб-ресурса без использования сервера координации функционирования браузеров в процессе передачи второй версии веб-ресурса.
26. Носитель по п. 25, отличающийся тем, что выполнение программных команд дополнительно осуществляется с целью:
приема от первого электронного устройства данных, указывающих, что первый браузер получил от веб-сервера третью версию веб-ресурса, причем первый браузер получил третью версию веб-ресурса без использования сервера координации функционирования браузеров в процессе передачи третьей версии веб-ресурса;
определения того, что третья версия веб-ресурса представляет собой обновленную версию данного веб-ресурса относительно второй версии веб-ресурса; и
передачи второму электронному устройству данных, указывающих, что вторая версия веб-ресурса устарела.
27. Носитель по п. 25, отличающийся тем, что выполнение программных команд дополнительно осуществляется с целью:
приема от второго электронного устройства данных, указывающих, что второй браузер получил от веб-сервера третью версию веб-ресурса, причем второй браузер получил третью версию веб-ресурса без использования сервера координации функционирования браузеров в процессе передачи третьей версии веб-ресурса;
определения того, что третья версия веб-ресурса представляет собой обновленную версию данного веб-ресурса относительно второй версии веб-ресурса; и
передачи первому электронному устройству данных, указывающих, что вторая версия веб-ресурса устарела.
28. Носитель по любому из пп. 16 и 25, отличающийся тем, что этап определения того, что вторая версия веб-ресурса представляет собой обновленную версию данного веб-ресурса относительно первой версии веб-ресурса, включает:
определение того, что первый браузер получил первую версию веб-ресурса в первый момент времени;
определение того, что второй браузер получил вторую версию веб-ресурса во второй момент времени позднее первого момента времени; и
определение того, что вторая версия веб-ресурса отличается от первой версии веб-ресурса.
29. Носитель по п. 28, отличающийся тем, что:
прием данных, указывающих, что первый браузер получил первую версию веб-ресурса, включает прием данных журнала регистрации первого браузера;
прием данных, указывающих, что второй браузер получил вторую версию веб-ресурса, включает прием данных журнала регистрации второго браузера; и
определение того, что вторая версия веб-ресурса отличается от первой версии веб-ресурса, включает сравнение данных журнала регистрации первого браузера и журнала регистрации второго браузера.
30. Носитель по п. 28, отличающийся тем, что:
прием данных, указывающих, что первый браузер получил первую версию веб-ресурса, включает прием хэш-кода первой версии веб-ресурса;
прием данных, указывающих, что второй браузер получил вторую версию веб-ресурса, включает прием хэш-кода второй версии веб-ресурса; и
определение того, что вторая версия веб-ресурса отличается от первой версии веб-ресурса, включает определение того, что хэш-код первой версии веб-ресурса отличается от хэш-кода второй версии веб-ресурса.
RU2014135291A 2014-08-29 2014-08-29 Способ координации сетевого обмена данными RU2610418C2 (ru)

Priority Applications (3)

Application Number Priority Date Filing Date Title
RU2014135291A RU2610418C2 (ru) 2014-08-29 2014-08-29 Способ координации сетевого обмена данными
PCT/IB2015/051629 WO2016030770A1 (en) 2014-08-29 2015-03-05 Method for coordinating web communications
US15/026,292 US10135754B2 (en) 2014-08-29 2015-03-05 Method for coordinating web communications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2014135291A RU2610418C2 (ru) 2014-08-29 2014-08-29 Способ координации сетевого обмена данными

Publications (2)

Publication Number Publication Date
RU2014135291A RU2014135291A (ru) 2016-03-20
RU2610418C2 true RU2610418C2 (ru) 2017-02-10

Family

ID=55398811

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014135291A RU2610418C2 (ru) 2014-08-29 2014-08-29 Способ координации сетевого обмена данными

Country Status (3)

Country Link
US (1) US10135754B2 (ru)
RU (1) RU2610418C2 (ru)
WO (1) WO2016030770A1 (ru)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10129322B2 (en) * 2014-09-29 2018-11-13 D2L Corporation Method and system for determining browser compatibility
CN112905209A (zh) * 2021-03-23 2021-06-04 维沃移动通信(深圳)有限公司 应用程序更新方法及装置
USD971942S1 (en) * 2021-05-07 2022-12-06 Orchid Exchange Inc. Display screen or portion thereof with graphical user interface

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002042900A2 (en) * 2000-11-22 2002-05-30 Xdegrees, Inc. Cache coherent peer-to-peer computing architecture
US7373594B1 (en) * 2003-04-30 2008-05-13 Amazon.Com, Inc. Managing the release of electronic content using a template without version logic
RU2446459C1 (ru) * 2010-07-23 2012-03-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ проверки веб-ресурсов на наличие вредоносных компонент
US20130311985A1 (en) * 2012-05-17 2013-11-21 International Business Machines Corporation Updating Web Resources
US20130311613A1 (en) * 2012-05-17 2013-11-21 International Business Machines Corporation Updating Web Resources
US20140173043A1 (en) * 2012-12-13 2014-06-19 Level 3 Communications, Llc Devices And Methods Supporting Content Delivery With Adaptation Services

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785708B1 (en) * 1996-10-30 2004-08-31 Avaya Inc. Method and apparatus for synchronizing browse and chat functions on a computer network
US6138158A (en) * 1998-04-30 2000-10-24 Phone.Com, Inc. Method and system for pushing and pulling data using wideband and narrowband transport systems
US6748420B1 (en) * 1999-11-23 2004-06-08 Cisco Technology, Inc. Methods and apparatus for providing shared access to an application
EP1217806A1 (en) * 2000-12-22 2002-06-26 Sun Microsystems, Inc. Network server and method of controlling a network server
US8990678B2 (en) * 2001-03-27 2015-03-24 At&T Intellectual Property I, L.P. Systems and methods for automatically providing alerts of web site content updates
US20030105812A1 (en) 2001-08-09 2003-06-05 Gigamedia Access Corporation Hybrid system architecture for secure peer-to-peer-communications
US7085832B2 (en) 2002-04-30 2006-08-01 International Business Machines Corporation Method and apparatus for enabling an internet web server to keep an accurate count of page hits
US9158845B1 (en) * 2004-04-29 2015-10-13 Aol Inc. Reducing latencies in web page rendering
US7865511B2 (en) 2004-06-25 2011-01-04 Apple Inc. News feed browser
US8090776B2 (en) * 2004-11-01 2012-01-03 Microsoft Corporation Dynamic content change notification
US7827061B2 (en) * 2005-05-03 2010-11-02 International Business Machines Corporation Dynamic selection of outbound marketing events
US8543608B2 (en) * 2009-09-10 2013-09-24 Oracle International Corporation Handling of expired web pages
US20110231478A1 (en) 2009-09-10 2011-09-22 Motorola, Inc. System, Server, and Mobile Device for Content Provider Website Interaction and Method Therefore
US9942345B2 (en) * 2009-09-17 2018-04-10 Oracle International Corporation Web server caching for performance improvement
US20110302285A1 (en) 2010-06-07 2011-12-08 Quora, Inc. Update server to update rendered content
US9197600B2 (en) * 2011-09-29 2015-11-24 Israel L'Heureux Smart router
US8225191B1 (en) * 2011-11-07 2012-07-17 Google Inc. Synchronizing web browsers
US9282137B2 (en) * 2012-05-25 2016-03-08 Microsoft Technology Licensing, Llc Dynamic package creation for predictive page load optimization
US20150347615A1 (en) * 2013-01-09 2015-12-03 Kevin D. McGushion Active Web Page Consolidator and Internet History Management System
US9596313B2 (en) * 2013-04-12 2017-03-14 Tencent Technology (Shenzhen) Company Limited Method, terminal, cache server and system for updating webpage data
US9503540B2 (en) * 2013-05-09 2016-11-22 Nokia Technologies Oy Method and apparatus for asynchronous distribution of content
US10037384B2 (en) * 2013-05-28 2018-07-31 Tencent Technology (Shenzhen) Company Limited Method and apparatus for notifying a user of updated content for a webpage
US20150039999A1 (en) * 2013-08-05 2015-02-05 Salesforce.Com, Inc. Providing an improved web user interface framework for building web applications
US9524157B2 (en) * 2013-08-06 2016-12-20 Salesforce.Com, Inc. Providing an improved web user interface framework for building web applications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002042900A2 (en) * 2000-11-22 2002-05-30 Xdegrees, Inc. Cache coherent peer-to-peer computing architecture
US7373594B1 (en) * 2003-04-30 2008-05-13 Amazon.Com, Inc. Managing the release of electronic content using a template without version logic
RU2446459C1 (ru) * 2010-07-23 2012-03-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ проверки веб-ресурсов на наличие вредоносных компонент
US20130311985A1 (en) * 2012-05-17 2013-11-21 International Business Machines Corporation Updating Web Resources
US20130311613A1 (en) * 2012-05-17 2013-11-21 International Business Machines Corporation Updating Web Resources
US20140173043A1 (en) * 2012-12-13 2014-06-19 Level 3 Communications, Llc Devices And Methods Supporting Content Delivery With Adaptation Services

Also Published As

Publication number Publication date
US20160241488A1 (en) 2016-08-18
US10135754B2 (en) 2018-11-20
WO2016030770A1 (en) 2016-03-03
RU2014135291A (ru) 2016-03-20

Similar Documents

Publication Publication Date Title
CN110263275B (zh) 一种访问网页的方法、装置、移动终端和存储介质
US9342617B1 (en) Unique identifiers for browsers
RU2673403C2 (ru) Способ доступа к веб-узлам, устройство и система веб-узла
CA3058863C (en) Implementation of a service that coordinates the placement and execution of containers
US9426200B2 (en) Updating dynamic content in cached resources
EP2732380B1 (en) Mobile web browser for pre-loading web pages
US9152732B2 (en) Browser cache assist for accessing web-based content
US20170185753A1 (en) View-based expiration of shared content
US20120084355A1 (en) Method and apparatus for maintaining operability with a cloud computing environment
US9590859B2 (en) Discovering resources of a distributed computing environment
CN105740330B (zh) 分页展示数据的方法及装置
US20170090910A1 (en) Mobile device application installation with performance enhancement
RU2610418C2 (ru) Способ координации сетевого обмена данными
CN104933045B (zh) 网络信息浏览方法及网络信息浏览装置
US20140129666A1 (en) Preemptive caching of data
US10284628B2 (en) Distribution method and resource acquisition method
CN116304458A (zh) 一种web页面实时通知更新方法、装置、设备及介质
US20150074224A1 (en) Method and apparatus for automatic reload of documents
US20140237133A1 (en) Page download control method, system and program for ie core browser
CN112015406A (zh) 数据处理方法、页面访问方法、装置、终端及服务器
JP6875334B2 (ja) サーバ、システム、クライアント装置、ログ情報記憶方法、クライアント情報送信方法及びプログラム
US20220391465A1 (en) System and Method to Update a Bookmarked Document Link and Avoid a Broken Link
GB2597136A (en) Information processing apparatus, storage medium, and control method
CN114518922A (zh) 一种页面显示系统、方法、装置、电子设备及存储介质
JP2018101298A (ja) アクセス履歴更新プログラム

Legal Events

Date Code Title Description
HE9A Changing address for correspondence with an applicant