СПОСОБ СИНХРОНИЗАЦИИ ПЕРВОЙ И ВТОРОЙ СЕССИИ ПРОСМОТРА СТРАНИЦ ДЛЯ ПОЛЬЗОВАТЕЛЯ И СЕРВЕР
METHOD OF SYNCHRONISING FIRST AND SECOND PAGE BROWSING SESSIONS FOR USER AND SERVER

Перекрестная ссылка
Отсутствует.
Область техники
Настоящая технология относится к области поисковых систем в общем смысле и, в частности, к системе и способу управления данных поисковых сессий.
Уровень техники
Различные глобальные или локальные сети связи (Интернет, Всемирная Паутина, локальные сети и подобные им) предлагают пользователю большой объем информации. Информация включает в себя контекстуальные разделы, такие как, среди прочего, новости и текущие события, карты, информация о компаниях, финансовая информация и ресурсы, информация о трафике, игры и информация развлекательного характера. Пользователи используют множество клиентских устройств (настольный компьютер, портативный компьютер, ноутбук, смартфон, планшеты и подобные им) для получения доступа к богатому информационному контенту (например, изображениям, аудио- и видеофайлам, анимированным изображениям и прочему мультимедийному контенту подобных сетей).
В общем случае, пользователь может получить доступ к ресурсу сети связи двумя основными способами. Пользователь может получить доступ к конкретному ресурсу напрямую, введя адрес ресурса (обычно URL или Единый указатель ресурса, например www.webpage.com) или же выбрав ссылку в электронном сообщении или на другом веб-ресурсе. В другом случае пользователь может выполнить поиск с помощью поисковой системы для нахождения желаемого ресурса. Последнее особенно подходит для тех случаев, когда пользователю известна интересующая его тематика, но неизвестен конкретный адрес интересующего ресурса.
Например, пользователь может быть заинтересован в просмотре изображений Бритни Спирс, но может быть незнаком с конкретным ресурсом, предоставляющим подобную информацию. В другом случае, пользователь может быть заинтересован в поиске ближайшей кофейни Starbucks, но, опять же, может быть незнаком с конкретным веб-ресурсом, предоставляющим подобную услугу поиска. В этих гипотетических (но возможных на практике) ситуациях пользователь может выполнить сетевой поиск с помощью поисковой системы.
В наши дни пользователь обычно имеет доступ ко множеству электронных устройств. Или, например, пользователь может обладать персональным ноутбуком, рабочим ноутбуком, беспроводным электронным устройством (например, смартфоном iPhone™ или Blackberry™) или даже несколькими беспроводными электронными устройствами (например, смартфоном Blackberry для работы и смартфоном iPhone для личных целей или наоборот). При таком большом количестве электронных устройств пользователь получает больше гибкости в решениях о том, как получить доступ к сетевым ресурсам - дома, в офисе или по дороге. В то же время возможна ситуация, в которой пользователь может начать конкретный сеанс связи на одном электронном устройстве, продолжить этот сеанс связи на другом электронном устройстве.
Патентная заявка US 8392617 раскрывает способы обмена информацией о состоянии. По меньшей мере информация о пользователе и информация о браузере хранятся в первом файле конфигурации в первом формате файла, связанном с первым браузерным приложением. Изменения, по меньшей мере в одной из информации о пользователе и информации о браузере в первом файле конфигурации, будут замечены. Измененная по меньшей мере одна из информации - информация о пользователе и информация о браузере - в первом формате файла будет конвертирована во второй формат файла, связанный со вторым браузерным приложением. Второй файл конфигурации обновляется с помощью измененной, по меньшей мере одной из информации, - информации о пользователе и информации о браузере во втором формате файла. В ответ на запуск второго браузерного приложения, состояние пользователя и браузера настраивается в зависимости от информации о пользователе и информации о браузере во втором файле конфигурации.
Раскрытие изобретения
Задачей предлагаемой технологии является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники.
Одним объектом настоящей технологии является способ синхронизации первой сессии просмотра страниц и второй сессии просмотра страниц для пользователя, причем первая сессия просмотра страниц выполняется на первом электронном устройстве. Способ включает себя получение сервером через сеть передачи данных запроса на вторую сессию просмотра страниц от одного из следующего: первого электронного устройства и второго электронного устройства - в момент времени после начала первой сессии просмотра страниц; если пользователь подключил функцию синхронизации, инициирование отображения сервером через сеть передачи данных второй сессии просмотра страниц на одном из: первом электронном устройстве и втором электронном устройстве, причем вторая сессия просмотра страниц включает в себя хранящуюся на сервере историю пользовательских взаимодействий в рамках первой сессии просмотра страниц, которая была выполнена еще до ее получения.
В некоторых вариантах реализации способа первое электронное устройство и второе электронное устройство представляют собой одно и то же устройство.
В некоторых вариантах реализации способа первая сессия просмотра страниц и вторая сессия просмотра страниц являются соответствующими сессиями поиска в поисковой системе.
В некоторых вариантах реализации способа хранящаяся на сервере история включает в себя информацию о поисках, выполненных пользователем в рамках первой сессии просмотра страниц.
В некоторых вариантах реализации способа хранящаяся на сервере история включает в себя указание на то, какие поисковые результаты в рамках сессии поиска в поисковой системы были выбраны пользователем в рамках первой сессии просмотра страниц.
В некоторых вариантах реализации способа хранящаяся на сервере история включает в себя указание на переходы пользователя между различными веб-ресурсами в рамках первой сессии просмотра страниц.
В некоторых вариантах реализации способа хранящаяся на сервере история включает в себя указание на поведение пользователя в рамках одного из веб-ресурсов, посещенного во время первой сессии просмотра страниц.
В некоторых вариантах реализации способ дополнительно включает в себя получение хранящейся на сервере истории, связанной с пользовательскими взаимодействиями в рамках первой сессии просмотра страниц.
В некоторых вариантах реализации способ дополнительно включает в себя во время первой сессии просмотра страниц получение и сохранение в памяти указания на пользовательские взаимодействия в рамках первой сессии просмотра страниц.
В некоторых вариантах реализации способа получение включает в себя перехват контрольных сообщений, обмен которыми происходит между первым электронным устройством и сервером.
В некоторых вариантах реализации способа сохранение включает в себя сохранение указания на пользовательские взаимодействия в памяти, причем они связаны с пользовательским профилем, относящимся к пользователю.
В некоторых вариантах реализации способ дополнительно включает в себя сохранение указания на пользовательские взаимодействия в памяти за определенный период времени.
В некоторых вариантах реализации способ дополнительно включает в себя проверку того, подключил ли пользователь функцию синхронизации. Проверка может включать в себя получение доступа к памяти и определение того, сохранена ли отметка о том, что пользователь подключил функцию.
Другим объектом настоящей технологии является сервер, включающий в себя интерфейс связи, настроенный и выполненный с возможностью связываться с сетью передачи данных, и, по меньшей мере, один компьютерный процессор, функционально соединенный с интерфейсом связи, который настроен и выполнен с возможностью: получать через интерфейс связи запрос на вторую сессию просмотра страниц от одного из следующего: первого электронного устройства и второго электронного устройства - в момент времени после начала первой сессии просмотра страниц, причем первая сессия просмотра страниц была выполнена на первом электронном устройстве; если пользователь подключил функцию синхронизации, инициирование, с помощью интерфейса связи, отображения сервером через сеть передачи данных второй сессии просмотра страниц на одном из: первом электронном устройстве и втором электронном устройстве, причем вторая сессия просмотра страниц включает в себя хранящуюся на сервере историю пользовательских взаимодействий в рамках первой сессии просмотра страниц, которая была выполнена еще до получения.
В некоторых вариантах реализации сервера, первое электронное устройство и второе электронное устройство представляют собой одно и то же устройство.
В некоторых вариантах реализации сервера первая сессия просмотра страниц и вторая сессия просмотра страниц являются соответствующими сессиями поиска в поисковой системе.
В некоторых вариантах реализации сервера хранящаяся на сервере история включает в себя информацию о поисках, выполненных пользователем в рамках первой сессии просмотра страниц.
В некоторых вариантах реализации сервера хранящаяся на сервере история включает в себя указание на то, какие поисковые результаты в рамках сессии поиска в поисковой системы были выбраны пользователем в рамках первой сессии просмотра страниц.
В некоторых вариантах реализации сервера хранящаяся на сервере история включает в себя указание на переходы пользователя между различными веб-ресурсами в рамках первой сессии просмотра страниц.
В некоторых вариантах реализации сервера хранящаяся на сервере история включает в себя указание на поведение пользователя в рамках одного из веб-ресурсов, посещенного во время первой сессии просмотра страниц.
В некоторых вариантах реализации сервер дополнительно выполнен с возможностью получать хранящуюся на сервере историю, связанную с пользовательскими взаимодействиями в рамках первой сессии просмотра страниц.
В некоторых вариантах реализации сервер дополнительно выполнен с возможностью во время первой сессии просмотра страниц получать и сохранять в памяти указания на пользовательские взаимодействия в рамках первой сессии просмотра страниц.
В некоторых вариантах реализации сервер дополнительно выполнен с возможностью получать хранящуюся на сервере историю, перехватывать контрольные сообщения, обмен которыми происходит между первым электронным устройством и сервером.
В некоторых вариантах реализации сервер дополнительно выполнен с возможностью сохранять указание на пользовательские взаимодействия, сохранять указание на пользовательские взаимодействия в памяти, причем они связаны с пользовательским профилем, относящимся к пользователю.
В некоторых вариантах реализации сервер дополнительно выполнен с возможностью сохранять указания на пользовательские взаимодействия в памяти за определенный период времени.
В некоторых вариантах реализации сервер дополнительно выполнен с возможностью проверять, подключил ли пользователь функцию синхронизации.
В некоторых вариантах реализации сервер дополнительно выполнен с возможностью проверить, подключил ли пользователь функцию, получать доступ к памяти и определять, сохранена ли отметка о том, что пользователь подключил функцию.
В некоторых вариантах реализации сервер может быть реализован как сервер поисковой системы.
В некоторых вариантах реализации сервер может быть реализован как модуль серверного сессионного хранилища, находящийся в связи с сервером поисковой системы через интерфейс связи.
В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данной технологии. В контексте настоящей технологии использование выражения «сервер» не означает, что каждая задача (например, полученные инструкции или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».
В контексте настоящего описания «клиентское устройство» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Таким образом, примерами клиентских устройств (среди прочего) могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.) смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что устройство, ведущее себя как клиентское устройство в настоящем контексте, может вести себя как сервер по отношению к другим клиентским устройствам. Использование выражения «клиентское устройство» не исключает возможности использования множества клиентских устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного метода.
В контексте настоящего описания «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, которое выполняет процесс, который сохраняет или использует информацию, хранящуюся в базе данных, или же она может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.
В контексте настоящего описания «информация» включает в себя любую информацию, которая может храниться в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (изображения, видео, звукозаписи, презентации и т.д.), данные (данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.
В контексте настоящего описания «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).
В контексте настоящего описания «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
В контексте настоящего описания слова «первый», «второй», «третий» и и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной связи между этими существительными. Так, например, следует иметь в виду, что использование терминов "первый сервер" и "третий сервер " не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание "первого" элемента и "второго" элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, "первый" сервер и "второй" сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.
Каждый вариант осуществления настоящей технологии включает по меньшей мере одну из вышеупомянутых целей и/или объектов, но наличие всех не является обязательным. Следует иметь в виду, что некоторые объекты данной технологии, полученные в результате попыток достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, отдельно не указанным здесь.
Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящей технологии станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
Краткое описание чертежей
Для лучшего понимания настоящей технологии, а также других ее аспектов и характерных черт сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:
На Фиг.1 представлена принципиальная схема системы 100, выполненной в соответствии с вариантами осуществления настоящей технологии, не ограничивающими ее объем.
На Фиг.2 представлен снимок экрана с не ограничивающим вариантом осуществления поискового приложения 104, показанного на Фиг.1, до того, как пользователь ввел какой-либо поисковый запрос.
На Фиг.3 представлен не ограничивающий вариант осуществления поискового приложения 104, показанного на Фиг.2, где пользователь начал вводить поисковый запрос в интерфейс 106 запроса, и поисковое приложение отображает список предложений пользователю.
На Фиг.4 представлен не ограничивающий вариант осуществления поискового приложения 104, показанного на Фиг.3, отображающий SERP (Страницу Результатов Поиска) в ответ на ввод пользователем поискового запроса или выбор одного из предложенных вариантов, представленных на Фиг.3.
На Фиг.5 представлен не ограничивающий вариант осуществления страницы веб-ресурса, связанного с ресурсом, который связан с выбранным поисковым результатом на SERP, показанной на Фиг.4.
На Фиг.6 представлен не ограничивающий вариант осуществления страницы веб-ресурса, представленной пользователю в ответ на взаимодействие пользователя со страницей веб-ресурса, показанной на Фиг.5.
На Фиг.7 представлена блок-схема способа 700, выполняемого в рамках системы 100, изображенной на Фиг.1, и выполненного в соответствии с вариантами осуществления настоящей технологии, не ограничивающими ее объем.
Осуществление изобретения
На Фиг.1 представлена принципиальная схема системы 100, выполненной в соответствии с вариантами осуществления настоящей технологии, не ограничивающими ее объем. Важно иметь в виду, что нижеследующее описание системы 100 представляет собой описание иллюстративных вариантов осуществления настоящей технологии. Таким образом, все последующее описание представлено только как описание иллюстративного примера настоящей технологии. Это описание не предназначено для определения объема или установления границ настоящей технологии. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящей технологии. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где это еще не было сделано, т.е. там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого элемента настоящей технологии. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящей технологии, и в подобных случаях представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящей технологии будут обладать гораздо большей сложностью.
Система 100 включает в себя первое электронное устройство 102. Первое электронное устройство 102 обычно связано с пользователем (не показан) и, таким образом, иногда может упоминаться как «клиентское устройство». Следует отметить, что тот факт, что первое электронное устройство 102 связано с пользователем, не подразумевает какого-либо конкретного режима работы, равно как и необходимости входа в систему, быть зарегистрированным, или чего-либо подобного.
Варианты первого электронного устройства 102 конкретно не ограничены, но в качестве примера перового электронного устройства 102 могут использоваться персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), беспроводные электронные устройства (мобильные телефоны, смартфоны, планшеты и т.п.), а также сетевое оборудование (маршрутизаторы, коммутаторы или шлюзы). Первое электронное устройство 102 включает в себя аппаратное и/или прикладное программное, и/или системное программное обеспечение (или их комбинацию), как известно в данной области техники, для использования поискового приложения 104. В общем случае, целью поискового приложения 104 является предоставление возможности пользователю (не показан) выполнять поиск, например, сетевой поиск с помощью вышеупомянутой поисковой системы.
Система 100 дополнительно включает в себя второе электронное устройство 103. Второе электронное устройство 103 также связано с пользователем. Следует отметить, что тот факт, что второе электронное устройство 103 связано с пользователем, не подразумевает какого-либо конкретного режима работы, равно как и необходимости входа в систему, быть зарегистрированным, или чего-либо подобного.
Варианты второго электронного устройства 103 конкретно не ограничены, но в качестве примера второго электронного устройства 103 могут использоваться любые другие персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), беспроводные электронные устройства (мобильные телефоны, смартфоны, планшеты и т.п.), а также сетевое оборудование (маршрутизаторы, коммутаторы или шлюзы). Второе электронное устройство 103 включает в себя аппаратное и/или прикладное программное, и/или системное программное обеспечение (или их комбинацию), как известно в данной области техники, для использования поискового приложения 104.
Следует иметь в виду, что первое электронное устройство 102 и второе электронное устройство 103 могут быть реализованы с одним и тем же форм-фактором. Как вариант, первое электронное устройство 102 и второе электронное устройство 103 могут быть реализованы с различными форм-факторами. Исключительно для целей иллюстрации, будет предположено, что первое электронное устройство 102 реализовано как ноутбук, а второе электронное устройство 103 реализовано как беспроводное электронное устройство. Следует иметь в виду, что первое электронное устройство 102 и второе электронное устройство 103 могут быть реализованы в любом другом виде, и это никак не повлияет на варианты осуществления настоящей технологии.
Реализация поискового приложения 104 никак конкретно не ограничена. Один из примеров поискового приложения 104 может реализовываться в вызове пользователем веб-сайта, соответствующего поисковой системе, для получения доступа к поисковому приложению 104. Например, поисковое приложение может быть вызвано путем ввода URL, связанного с поисковой системой Yandex www.yandex.ru. Важно иметь в виду, что поисковое приложение 104 может быть вызвано с помощью любой другой коммерчески доступной или собственной поисковой системы. Следует отметить, что поисковое приложение 104, выполненное на первом электронном устройстве 102, должно быть (или может быть) тем же самым поисковым приложением 104, что выполняется на электронном устройстве 103. Например, первое электронное устройство 102 (являющееся, например, ноутбуком) может выполнять поисковое приложение 104 в виде браузера, имеющего доступ к веб-сайту поисковой системы, и второе электронное устройство 103 (являющееся, например, беспроводным электронным устройством) может выполнять поисковое приложение 104 в виде браузерного приложения.
В других вариантах осуществления настоящей технологии, не ограничивающих ее объем, поисковое приложение 104 может представлять собой браузерное приложение на портативном устройстве (например, беспроводном электронном устройстве). Для тех случаев (но не только), когда электронное устройство 103 является портативным устройством, таким как, например, Samsung™ Galaxy™ Sill, электронное устройство может использовать приложение Яндекс браузер. Важно иметь в виду, что любое другое коммерчески доступное или собственное браузерное приложение может быть использовано для реализации вариантов осуществления настоящей технологии, не ограничивающих ее объем.
В общем случае, поисковое приложение 104 включает в себя интерфейс 106 запроса и интерфейс 108 результатов поиска. Основной задачей интерфейса 106 запроса является предоставление возможности пользователю (не показан) вводить свой запрос или «поисковый вопрос». Основной задачей интерфейса 108 результатов поиска является предоставление результатов поиска, отвечающих запросу пользователя, который был введен в интерфейс 106 запроса. То, как именно выполняется поиск и как происходит предоставление результатов, будет подробно описано ниже.
Электронное устройство 102 соединено с сетью 114 связи через линию 112 связи. В некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем, сеть 114 связи может представлять собой Интернет. В других вариантах осуществления настоящей технологии, сеть 114 связи может быть реализована иначе - в виде глобальной сети связи, локальной сети связи, частной сети связи и т.п.
Реализация линии 112 связи не ограничена, и будет зависеть от того, как именно реализовано первое электронное устройство 102. С учетом того, что первое электронное устройство 102 представляет собой, например, ноутбук, линия 112 связи может быть как беспроводной (беспроводной Интернет Wireless Fidelity или коротко WiFi, Bluetooth и т.п.) так и проводной (соединение на основе сети Ethernet).
Второе электронное устройство 103 также соединено с сетью 114 связи через линию 113 связи. В некоторых вариантах осуществления настоящей технологии, линия 113 связи может быть реализована так же, как и линия 112 связи. Как вариант, линия 113 связи и линия 112 связи могут быть реализованы по-разному.
С учетом того, что второе электронное устройство 103 представляет собой, например, беспроводное устройство связи, линия 113 связи представляет собой беспроводную сеть связи (например, среди прочего, линия связи сети 3G, линия связи сети 4G, беспроводной Интернет Wireless Fidelity или коротко WiFi, Bluetooth и т.п.).
Важно иметь в виду, что варианты осуществления воплощения первого электронного устройства 102, второго электронного устройства 103, линии 112 связи, линии 113 связи и сети 114 связи даны исключительно в иллюстрационных целях. Таким образом, специалисты в данной области техники смогут понять подробности других конкретных вариантов осуществления первого электронного устройства 102, второго электронного устройства 103, линии 112 связи, линии 113 связи и сети 114 связи. То есть, представленные здесь примеры не ограничивают объем настоящей технологии.
К сети связи также присоединен сервер 116. Сервер 116 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящей технологии, сервер 116 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 116 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящей технологии, не ограничивающем ее объем, сервер 116 является одиночным сервером. В других вариантах осуществления настоящей технологии, не ограничивающих ее объем, функциональность сервера 116 может быть разделена, и может выполняться с помощью нескольких серверов.
Вариант осуществления сервера 116 хорошо известен - в частности, он содержит интерфейс связи (не показан), настроенный и выполненный с возможностью связываться с различными элементами через сеть 114 передачи данных. Сервер 116 дополнительно включает в себя одно или несколько из следующего: компьютерный процессор (не показан), функционально соединенный с интерфейсом связи и настроенный и выполненный с возможностью выполнять различные процессы, описанные здесь.
Сервер 116 соединен коммуникационно (или иным образом имеет доступ) с поисковым кластером 118. Основной задачей поискового кластера 118 является выполнение поиска в ответ на запрос пользователя, введенный с помощью интерфейса 106 запроса, и вывод результатов поиска для представления их пользователю с помощью интерфейса 108 результатов поиска. Далее следует описание варианта осуществления поискового кластера 118, не ограничивающего объем технологии. Тем не менее, следует иметь в виду, что существуют другие варианты осуществления поискового кластера 118, не ограничивающие объем технологии. Важно иметь в виду, что для упрощения нижеследующего описания конфигурация поискового кластера 118 была существенно упрощена. Считается, что специалисты в данной области техники смогут понять подробности реализации поискового кластера 118 и его компонентов, которые могли быть опущены в описании с целью упрощения.
В общем случае задачей поискового кластера 118 является (i) проведение поиска (подробности будут описаны ниже); (ii) проведение анализа результатов поиска и ранжирование результатов поиска; (iii) группировка результатов и компиляция страницы результатов поиска (SERP) для вывода на первое электронное устройство 102. Конфигурация поискового кластера 118 для выполнения поиска конкретно ничем не ограничена. Специалистам в данной области техники будут понятны некоторые способы и средства для выполнения поиска с помощью поискового кластера 118 и, соответственно, некоторые структурные компоненты поискового кластера 118 будут описаны только на поверхностном уровне.
В некоторых вариантах осуществления поискового кластера 118, не ограничивающих объем технологии, поисковый кластер 118 включает в себя модуль 120 обработки. Модуль 120 обработки может выполнять несколько типов поиска, включая, среди прочего, общий поиск и вертикальный поиск. С этой целью модуль 120 обработки содержит (или иным образом имеет доступ) модуль 122 сетевого поиска. Модуль 122 сетевого поиска настроен на выполнение общих сетевых поисков, как известно в данной области техники.
В некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем, модуль 120 обработки может выполнять так называемый многоуровневый поиск. Эти варианты осуществления, не ограничивающие объем технологии, могут быть реализованы, например, для того, чтобы увеличить скорость поиска и получить более релевантные результаты поиска. В некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем, модуль 122 сетевого поиска ответственен за выполнение многоуровневого поиска.
СЕТЬ
СЕТЬ
СЕТЬ
СЕТЬ
С этой целью модуль 122 сетевого поиска может выполнять мета-поиск верхнего уровня, как будет более подробно описано ниже. Модуль 122 сетевого поиска может иметь доступ к базе данных БД, причем доступ к базе данных БД 132 может быть получен для проведения мета-поиска среднего уровня и мета-поиска нижнего уровня. Даже если база данных БД 132 изображается как единое целое в некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем, база данных БД 132 может быть реализована в распределенном виде, например, таким образом, чтобы базы данных соотносились с мета-поиском среднего уровня и с поиском нижнего уровня.
Так же, несмотря на то, что модуль 122 сетевого поиска представлен в виде единого целого, в других вариантах осуществления настоящей технологии, не ограничивающих ее объем, модуль 122 сетевого поиска может также быть реализован в распределенном виде. Например, каждое из распределенных вариантов осуществления модуля 122 сетевого поиска может соотноситься с поисковыми запросами, поступающими из конкретного географического региона. В этих вариантах осуществления настоящей технологии, не ограничивающих ее объем, модуль обработки 120 может определять местоположение и/или IP-адрес, связанные с первым электронным устройством 102, связанным с пользователем, который вводит поисковый запрос. На основе определенного таким образом местоположения и/или IP-адреса первого электронного устройства 102, модуль 120 обработки может переслать поисковый запрос на один из распределенных модулей 122 сетевого поиска, чтобы выполнить мета-поиск верхнего уровня.
СЕТЬ
СЕТЬ
СЕТЬ
СЕТЬ
СЕТЬ
СЕТЬ
Модуль 122 сетевого поиска также может пересылать запрос в базу данных БД 132 для выполнения мета-поиска среднего уровня и мета-поиска нижнего уровня. В некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объема, база данных БД 132 может иметь часть (или отдельную базу данных), соотносящуюся с мета-поиском среднего уровня (например, хранящую часто задаваемые вопросы). Идентификация части (или отдельной базы данных) базы данных БД 132, ответственной за мета-поиск среднего уровня, может выполняться базой данных БД 132 на основе так называемого «CRC-кода». Часть (или отдельная база данных) базы данных БД 132, ответственная за мета-поиск среднего уровня, может отправлять полученный запрос части (или отдельной базе данных) базы данных БД 132, ответственной за поиск нижнего уровня.
СЕТЬ
СЕТЬ
СЕТЬ
СЕТЬ
Тем не менее, в некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объема, когда поисковый запрос уже сохранен в кэше части (или отдельного сервера) базы данных БД 132, являющейся частью мета-поиска среднего уровня, этап передачи запроса части (или отдельной базе данных) базы данных БД 132, ответственной за поиск нижнего уровня, может быть опущен. Естественно, в некоторых альтернативных вариантах осуществления настоящей технологии, даже если поисковый запрос уже был сохранен в кэше части (или отдельного сервера) базы данных БД 132, являющейся частью мета-поиска среднего уровня, этап передачи запроса части (или отдельной базе данных) базы данных БД 132, ответственной за мета-поиск нижнего уровня, тем не менее, может быть осуществлен.
Модуль 120 обработки дополнительно включает в себя (или имеет доступ) множество модулей 123 вертикального поиска. В представленном варианте осуществления, не ограничивающем объема технологии, множество модулей вертикального поиска включают в себя 1-й вертикальный модуль 124, 2-й вертикальный модуль 126 и N-й вертикальный модуль 128. Важно иметь в виду, что число модулей, включенных во множество модулей 123 вертикального поиска, не ограничивает варианты осуществления настоящей технологии.
Исключительно с целью упрощения иллюстрации предполагается, что 1-й вертикальный модуль 124 представляет собой домен вертикального поиска, отвечающий за поиск карт и иной географической информации. Поэтому можно говорить, что 1-й вертикальный модуль 124 представляет собой систему вертикального поиска карт или, проще говоря, сервис карт.
Кроме того, следует иметь в виду, что 2-й вертикальный модуль 126 представляет собой модуль вертикального поиска для поиска изображений. Поэтому можно говорить, что 2-й вертикальный модуль 126 представляет собой домен вертикального поиска изображений или, другими словами, сервис изображений. Для различных примеров, приведенных ниже, следует иметь в виду, что вертикаль N поискового модуля 128 по выбору может представлять собой сервис спортивных новостей, видео, погоды, перевода, википедии или кинотеатров. Важно иметь в виду, что многие дополнительные или отличающиеся сервисы могут представлять собой части множества модулей вертикального поиска 123.
В некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем, любой из множества модулей 123 вертикального поиска включает в себя или имеет доступ к одной или нескольким базам данных. Эти одна или несколько баз данных содержат данные, связанные с конкретным сервисом, реализованным с помощью одного из множества модулей 123 вертикального поиска.
В1
В2
В2
ВN
ВN
Таким образом, 1-й вертикальный модуль 124 имеет доступ к базе данных БДв1 134. Учитывая, что 1-й вертикальный модуль 124 представляет собой сервис карт, база данных БД 134 содержит информацию, относящуюся к географическому положению различных объектов и связанных с ними карт. 2-й вертикальный модуль 126 имеет доступ к базе данных БД 136. Учитывая, что 2-й вертикальный модуль 126 представляет собой сервис изображений, база данных БД 136 может хранить различные изображения. Подобным же образом, N-й вертикальный модуль 128 имеет доступ к базе данных БД 138. Учитывая, что N-й вертикальный модуль 128 представляет собой по выбору сервис спортивных новостей, видео, погоды, перевода, википедии или кинотеатров, база данных БД 138 может хранить данные, связанные с соответствующим выбираемым сервисом.
В1
В2
ВN
В1
В2
ВN
В2
Дополнительно или по желанию, как известно специалистам в данной области техники, одна или несколько баз данных (например, база данных БД 134, БД 136 и БД 138) могут представлять собой одну или несколько отдельных баз данных. Эти отдельные базы данных могут являться частями одной и той же физической базы данных (например, базы данных БД 134, базы данных БД 136 и базы данных БД 138) или могут представлять собой самостоятельные физические единицы. Например, одна база данных в пределах, например, базы данных БД 136 может содержать наиболее популярные/часто запрашиваемые изображения, доступные в сервисе изображений. Излишне упоминать, что вышеприведенный пример является только иллюстрацией, и возможны другие дополнительные возможности для реализации вариантов осуществления настоящей технологии.
Кроме того, возможно, что некоторые из множества модулей 123 вертикального поиска могут не иметь собственную базу данных. Это является верным, но не ограничивается, например, для N-го вертикального модуля 128, реализующего сервис погоды. В этом примере, N-й вертикальный модуль 128, реализующий сервис погоды, может не иметь соответствующей базы данных, но может иметь доступ к архиву 130 данных виджета. Архив 130 данных виджета может представлять собой архив данных для одного или нескольких виджетов, как более подробно описано ниже.
В1
В2
ВN
В1
В2
ВN
Каждый из множества модулей 123 вертикального поиска настроен для выполнения вертикального поиска в пределах соответствующих баз данных (т.е. базы данных БД 134, базы данных БД 136 и базы данных БД 138). Тем не менее, следует отметить, что поисковые возможности множества модулей 123 вертикального поиска не ограничены поиском в соответствующих базах данных (т.е. базе данных БД 134, базе данных БД 136 и базе данных БД 138). Поэтому множество модулей 123 вертикального поиска могут при необходимости выполнять и другие виды поиска.
В2
Таким образом, для целей описания, термин «вертикальный» (например, в словосочетаниях «вертикальный поиск» или «домен вертикального поиска») используется для обозначения поиска, выполняемого в подмножестве большого набора данных, причем подмножество группируется в соответствии с признаками данных. Например, с учетом того, что 2-й вертикальный модуль 126 представляет собой сервис изображений, 2-й вертикальный модуль 126 проводит поиск по подмножеству (т.е. изображениям) набора данных (т.е. всех данных, потенциально доступных для поиска), причем подмножество данных хранится в базе данных БД 136.
В некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем, некоторые результаты поиска, выводящиеся в соответствии с модулями 123 вертикального поиска, могут быть оформлены в виде виджета. В некотором смысле, виджет определенным образом представляет результаты вертикального поиска одного из множества модулей вертикального поиска 123.
Исключительно для упрощения настоящего описания ниже будет представлено только краткое описание подхода к выполнению поиска поисковым кластером 118. Считается, что специалисты в данной области техники смогут настроить поисковый кластер 118 любым количеством известных способов без излишнего экспериментирования и нагрузок.
Как было упомянуто ранее, в некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем, модуль обработки 120 может быть настроен для выполнения многоуровневого мета-поиска. В некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем, модуль обработки 120 включает в себя http-интерфейс (не показан) для получения запроса от сервера 116.
Когда модуль обработки 120 получает поисковый результат от сервер 116, он отправляет поисковый запрос модулю сетевого поиска 122. Как уже упоминалось ранее, в некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем, отправка поискового запроса модулю 122 сетевого поиска может быть основана на местоположении и/или IP-адресе, связанном с электронным устройством 102, который может быть определен модулем 120 обработки. Модуль 122 сетевого поиска выполняет поиск, который может включать в себя многоуровневый поиск в некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем. В таких случаях модуль 122 сетевого поиска выполняет либо все, либо некоторые виды мета-поиска: мета-поиск верхнего уровня, поиск среднего уровня и поиск нижнего уровня.
Параллельно или последовательно модуль 120 обработки также передает поисковый запрос множеству модулей 123 вертикального поиска для выполнения соответствующих вертикальных поисков. Ответы от всех поисковых ресурсов (множества модулей 123 вертикального поиска и модуля 122 сетевого поиска, который может включать в себя мета-поиск нижнего уровня, мета-поиск среднего уровня и поиск верхнего уровня) принимаются и объединяются с помощью модуля 120 обработки.
Модуль 120 обработки затем выполняет функцию ранжирования для составления ранжированного набора результатов поиска. Другими словами, модуль 120 обработки ранжирует результаты поиска в соответствии с их релевантностью по отношению к поисковому запросу, введенному пользователем. Специалистам в данной области техники будет понятно, что в рамках данного описания «релевантность» означает соответствие результата поиска запросу пользователя.
Специалистам в данной области техники будут понятны различные способы ранжирования результатов поиска. В качестве примера, не ограничивающего объем технологии, некоторые способы ранжирования результатов в соответствии с их релевантностью основаны на всех или некоторых из следующих критериев: (i) насколько популярен данный поисковый запрос или ответ на него либо среди множества модулей 123 вертикального поиска, либо в поиске нижнего уровня (или любого другого уровня многоуровневого мета-поиска); (ii) сколько результатов выдается либо множеством модулей 123 вертикального поиска, либо при поиске нижнего уровня (или любого другого уровня многоуровневого мета-поиска); (iii) содержит ли поисковый запрос какие-либо ключевые термины (например, «изображения», «видео», «погода» и т.п.), (iv) насколько часто конкретный поисковый запрос содержит ключевые термины при вводе его другими пользователями; (v) насколько часто другие пользователи при выполнении аналогичного поиска выбирали конкретный ресурс или конкретные результаты вертикального поиска, когда результаты были представлены на стандартной SERP.
В рамках данного описания термин «ключевой термин» подразумевает под собой слово или последовательность слов, свидетельствующую о том, что данный результат поиска, вероятно, является наиболее релевантным по отношению к поисковому запросу пользователя. Например, если поисковый запрос содержит термин «изображения», то с помощью устройства 120 обработки можно определить, что 2-й вертикальный модуль 126, представляющий собой сервис изображений, скорее всего, содержит наиболее релевантные результаты, соответствующие пользовательскому запросу. Излишне говорить, что либо исключительно их подмножество, либо комбинация его с другими, либо же комбинация других факторов может браться в расчет для ранжирования результатов поиска по релевантности.
В соответствии с вариантами осуществления настоящей технологии сервер 116 включает в себя модуль 160 серверного сессионного хранилища. В других вариантах осуществления настоящей технологии, модуль 160 серверного сессионного хранилища может быть реализован на отдельном сервере (не показан). В некоторых других вариантах осуществления настоящей технологи, модуль 160 серверного сессионного хранилища может быть реализован в распределенном виде между сервером 116 и/или другими серверами (не показаны), потенциально присутствующими в архитектуре системы 100. Следует иметь в виду, что по меньшей мере часть функциональности модуля 160 серверного сессионного хранилища может быть реализована на любом из: первого электронного устройства 102 или второго электронного устройства 103 - или на обоих из них.
С целью иллюстрации различных вариантов осуществления настоящей технологии может быть использован следующий примерный сценарий. Предполагается, что пользователь получает доступ к поисковому приложению 104 с помощью первого электронного устройства 102. Для целей иллюстрации следует предположить, что первое электронное устройство 102 является ноутбуком Lenovo™ X220, а поисковое приложение 104 является Yandex™ браузером.
Для целей иллюстрации будет сделана ссылка на Фиг.2, которая представляет собой снимок экрана с не ограничивающим вариантом осуществления поискового приложения 104 до того, как пользователь ввел какой-либо поисковый запрос. Как было описано ранее, поисковое приложение 104 обладает интерфейсом 106 запроса и интерфейсом 108 результатов поиска, оба они являются пустыми, поскольку пользователь не начал вводить какой-либо поисковый запрос. В рамках иллюстрации на Фиг.2, интерфейс 104 запроса реализован как поле "омнибокс" - которое включает в себя функциональность интерфейса 106 запроса и командную строку браузера (другими словами, пользователь может использовать омнибокс для ввода как поисковых запросов, так и URL).
Поисковое приложение 104 также включает в себя контрольную панель 210, обладающую ярлыками и/или уведомлениями от ряда сервисов. В рамках конкретного примера, сервисы, включая Yandex™-погода, Gmail™, Департамент США по Патентам и Товарным знаками, веб-сайт загрузки программного обеспечения Java™, новостной портал www.lenta.ru. YourTube™, новостной портал rus.delfi.lv. В рамках конкретного примера, содержимое контрольной панели создается поисковым приложением 104 на основе недавно посещенных веб-ресурсов и/или сервисов, в которых пользователь авторизован (или каким-то еще образом прошел аутентификацию). Следует отметить, что контрольная панель 210 может быть создана любым другим способом, может быть настроена пользователем или может быть опущена без какого-либо влияния на реализацию вариантов осуществления настоящей технологии.
Для того чтобы закончить описание поискового приложения 104, представленного на Фиг.2, следует отметить, что поисковое приложение 104 содержит панель 212 кнопок для управления браузером. Панель 212 кнопок для управления браузером включает в себя известную кнопки для сворачивания и разворачивания окна браузера, а также для закрытия окна браузера (не пронумерованы). Панель 212 кнопок для управления браузером также может включать в себя кнопку настройки для применения пользовательских изменений к контрольной панели 210.
Поисковое приложение 104 также включает в себя известную кнопку 214 "назад", которая позволяет пользователю вернуться к ранее просмотренным веб-ресурсам. Поисковое приложение 104 дополнительно включает в себя поле 216 управления фоном, которое управляет фоновой графикой интерфейса 108 поисковых результатов. Наконец, поисковое приложение 104 содержит кнопку 218 управления синхронизацией. Кнопка 218 управления синхронизацией позволяет включать или выключать синхронизацию хранящейся на сервере истории, как будет подробнее описано ниже. Важно иметь в виду, что различные детали реализации поискового приложения 104 могут варьироваться или быть опущены без какого-либо влияния на реализацию вариантов осуществления настоящей технологии.
На Фиг.3 представлено поисковое приложение 104, показанное на Фиг.2, где пользователь начал вводить поисковый запрос "Мадонна" в интерфейс 106 запроса. При вводе пользователем поискового запроса (или, по меньшей мере, его части), поисковое приложение передает серверу 116 через сеть 114 передачи данных, контрольное сообщение 1002 (все описанные контрольные сообщения схематично представлены на Фиг.1), которое содержит поисковый запрос (или, по меньшей мере, его часть).
В ответ на получение контрольного сообщения 1002 сервер 116 создает список предложений и передает первому электронному устройству 102 контрольное сообщение 1004, содержащее список предложений. В данной области технике известно, что сервер 116 может создавать список предложений, и поэтому, это не будет описано.
На Фиг.3 интерфейс 106 запроса включает в себя поисковый термин 302, который в существующих примерах содержит текст "Мадонна". Указание на поисковый термин 302 передается серверу 116 в виде части контрольного сообщения 1002.
При получении контрольного сообщения 1004 первое электронное устройство 102 может создавать выпадающее меню 304 предложений, которое содержит одно или несколько предложений 306, которые были созданы на основе по меньшей мере части содержимого контрольного сообщения 1004.
Как известно, если пользователь продолжает ввод термина 302 запроса, конкретные одно или несколько предложений могут обновляться посредством обмена одного или нескольких контрольных сообщений, аналогичных контрольному сообщению 1002 и контрольному сообщению 1004.
После нажатия пользователем клавиши ВВОД или выбора одного из одного или нескольких предложений 306, поисковое приложение 104 передает контрольное сообщение 1006 серверу 116, причем контрольное сообщение 1006 содержит термин 302 запроса (или термин запроса, завершенный с помощью одного из предложений из одного или нескольких предложений 306).
В ответ на получение термина 302 запроса, сервер 116 выполняет поиск, используя одну или несколько технологий, описанных выше, и создает ранжированный список результатов поиска. Сервер 116 затем создает контрольное сообщение 1008 и передает его первому электронному устройству 102. Контрольное сообщение 1008 содержит информацию, представляющую ранжированный список результатов поиска, контрольное сообщение 1008 выполняет функцию в инициировании интерфейса 108 результатов поиска отображать SERP.
На Фиг.4 представлено поисковое приложение 104 после получения командного сообщения 1008. Конкретнее, на Фиг.4 интерфейс 106 запроса был разделен на две части - командную строку 106а браузера и интерфейс 106b запроса поисковой системы. Интерфейс 108 результатов поиска содержит SERP 402, которая была создана, по меньшей мере частично, на основе информации, содержащейся в командном сообщении 1008.
Предполагается, что при просмотре информации, представленной на SERP 402, пользователь решает выбрать второй результат поиска на SERP 402, второй результат поиска связан со статьей в русскоязычной Википедии про Мадонну (певицу). После нажатия (или выбора каким-то иным способом) второго результата поиска, поисковое приложение 104 передает командное сообщение 1010 серверу 116, причем командное сообщение 1010 указывает на выбор пользователем одного из результатов (в частности, второго результата) в рамках SERP 402.
При получении командного сообщения 1010 сервер 116 извлекает содержимое ресурса, связанного со вторым результатом поиска на SERP 402, и создает командное сообщение 1012, которое обладает информацией, связанной со страницей, которая связана с ресурсом, связанным со вторым результатом поиска на SERP 402. Как вариант, командное сообщение 1012 может быть напрямую передано веб-серверу (не показан), на котором расположен веб-ресурс, связанный с выбранным результатом поиска.
Первое электронное устройство 102 получает командное сообщение 1012 и представляет пользователю веб-ресурс, не ограничивающий вариант осуществления которого представлен на Фиг.5 на снимке 502 экрана. Снимок 502 экрана представляет собой статью в русскоязычной Википедии про Мадонну (певицу), которая связана со вторым результатом поиска в рамках SERP 402.
Следует отметить, что на Фиг.5 поисковое приложение 104 отображает SERP 402 во второй вкладке 506, отличной от первой вкладки 504 (на которой при этом отображается поисковое приложение 104, представленное на Фиг.4). В других вариантах осуществления вместо использования отдельных вкладок 504 и 506 могут быть использоваться отдельные окна.
Также следует отметить, что в командной строке 106а браузера, отображается путь 508 браузера, включающий в себя информацию об отображаемой веб-странице, а также информацию о корневом ресурсе (которым в данном случае является ru.wikipedia.org).
Итак, предполагается, что пользователь просматривает веб-страницу, показанную на Фиг.5, и, найдя интересующую его ссылку, желает получить связанную с ней дополнительную информацию. Например, в статье в русскоязычной Википедии про Мадонну (певицу) есть ссылка на канал MTV. Пользователь может захотеть прочесть подробнее про канал MTV и, поэтому нажимает (или иным образом выбирает) ссылку на MTV.
После нажатия (или выбора каким-то иным способом) на гиперссылку, связанную с MTV, поисковое приложение 104 передает командное сообщение 1014 серверу 116, причем командное сообщение 1014 указывает на выбор пользователем гиперссылки, связанной с веб-ресурсом MTV в русскоязычной Википедии. Как вариант, командное сообщение 1014 может быть напрямую передано веб-серверу (не показан), на котором расположен веб-ресурс, связанный с веб-ресурсом MTV.
При получении командного сообщения 1014 сервер 116 извлекает содержимое ресурса, связанного со веб-ресурсом MTV в русскоязычной Википедии, и создает командное сообщение 1016, которое обладает информацией, связанной со страницей, которая связана веб-ресурсом MTV в русскоязычной Википедии.
Первое электронное устройство 102 получает командное сообщение 1016 и представляет пользователю страницу с информацией, не ограничивающую вариант осуществления которого представлен на Фиг.6 на снимке экрана 602. Снимок 602 экрана представляет собой статью в русскоязычной Википедии про MTV, которая связана с гиперссылкой, выбранной рамках примера, показанного на Фиг.5.
Теперь предполагается, что пользователь хочет вернуться к статье про Мадонну (певицу) в русскоязычной Википедии, эта страница показана на снимке 502 экрана на Фиг.5. С учетом того, что поисковое приложение включает в себя кнопку 214 "назад", пользователь может нажать на кнопку 214 "назад", чтобы указать на свое желание вернуться к предыдущей странице.
В рамках некоторых вариантов осуществления настоящей технологии поисковое приложение 104 может отвечать на активации кнопки 214 "назад" пользователем, и отображать пользователю страницу, показанную на снимке 502 экрана, которая была сохранена в кэш-памяти первого электронного устройства 102. В рамках этих вариантов осуществления поисковое приложение 104 может создавать контрольное сообщение 1018, которое указывает на пользовательскую команду возврата к предыдущей странице. Поисковое приложение 104 далее передает контрольное сообщение 1018 серверу 116.
В рамках других вариантов осуществления (в которых, например, сохранение страниц в кэше было отключено из-за, например, настроек приватности просмотра) поисковое приложение 104 может реагировать на активацию кнопки 214 "назад" созданием контрольного сообщения 1018, которое указывает на пользовательскую команду возврата на предыдущую страницу. Поисковое приложение 104 далее передает контрольное сообщение 1018 серверу 116.
При получении командного сообщения 1018 сервер 116 извлекает содержимое ресурса, связанного со статьей про Мадонну(певицу) в русскоязычной Википедии, и создает командное сообщение, аналогично командному сообщению 1012, которое обладает информацией, связанной со страницей, которая связана с ресурсом, связанным со статьей про Мадонну (певицу) в русскоязычной Википедии.
В соответствии с вариантами осуществления настоящей технологии модуль 160 серверного сессионного хранилища выполнен с возможностью отслеживать различные контрольные сообщения, которыми обмениваются первое электронное устройство 102 и сервер 116. В частности, модуль 160 серверного сессионного хранилища выполнен с возможностью получать и сохранять указание на одно или несколько из контрольных сообщений 1002, 1004, 1006, 1008, 1010, 1012, 1014, 1016 и 1018.
При получении и сохранении указания на одно или несколько из контрольных сообщений 1002, 1004, 1006, 1008, 1010, 1012, 1014, 1016 и 1018 модуль 160 серверного сессионного хранилища может получать хранящуюся на сервере историю, связанную со взаимодействиями между поисковым приложением 104 и сервером 116.
Другими словами, при получении и сохранении указания на одно или несколько из контрольных сообщений 1002, 1004, 1006, 1008, 1010, 1012, 1014, 1016 и 1018 модуль 160 серверного сессионного хранилища может получать хранящуюся на сервере историю, связанную с сессией просмотра страниц между поисковым приложением 104 и сервером 116. В этом конкретном примере хранящаяся на сервере история, связанная с сессией просмотра страниц между поисковым приложением 104 и сервером 116, включает в себя:
- Пользовательские взаимодействия с поисковым приложением 104 -как часть предоставления поискового запроса 302;
- Пользовательские взаимодействия с поисковым приложением 104в виде выбора пользователем одного из одного или нескольких предложений 306;
- Пользовательские взаимодействия с поисковым приложением 104в виде выбора пользователем одного или нескольких результатов поиска на SERP 402;
- Пользовательские взаимодействия с поисковым приложением 104 в виде перехода вперед и назад между различными ресурсами, как, например, в вышеописанном примере, где пользователь активировал кнопку 214 "назад", чтобы вернуться с ресурса с информацией про MTV к ресурсу с информацией про Мадонну.
Таким образом, можно сказать, что "хранящаяся на сервере история" включает в себя комплексное указание на пользовательские взаимодействия в рамках сессии просмотра страниц, выполняемой на первом электронном устройстве 102. Некоторые из этих взаимодействий необязательно являются "видимыми" для поискового приложения 104 в том смысле, что они могут не сохраняться в браузерной истории поискового приложения 104. Например, тот факт, что пользователь выбрал второй результат поиска с SERP 402, не будет "виден" поисковому приложению 104 без доступа к хранящейся на сервере истории.
В некоторых вариантах осуществления настоящей технологии модуль 160 серверного хранилища сессий сохраняет указание на хранящуюся на сервере историю в памяти (не показана), в ассоциации с пользователем первого электронного устройства 102. В некоторых вариантах осуществления технологии эта ассоциация с пользователем реализована в виде авторизации пользователя или какого-либо иного типа аутентификации его в сервисе.
В конкретном примере пользователь может быть аутентифицирован в поисковой системе Яндекс путем авторизации с помощью своего Яндекс паспорта. В других вариантах осуществления технологии пользователь может быть аутентифицирован в другом сервисе. В других примерах пользователь может быть не авторизирован ни в каком конкретном сервисе, вместо этого могут быть использованы пользовательские учетные данные для авторизации в компьютерной сети или корпоративной сети.
В некоторых вариантах осуществления настоящей технологии сохранение истории, хранящейся на сервере, выполняется модулем 160 серверного сессионного хранилища в ответ на активацию пользователем функции серверной синхронизации. В некоторых вариантах осуществления технологии активация функция серверной синхронизации выполняется посредством активации (или не активации) пользователем кнопки 218 управления синхронизацией. Как вариант, пользователь может активировать функцию серверной синхронизации во вкладке настроек браузера (то есть, поискового приложения 104).
Пользователь первого электронного устройства 102 может включать и выключать синхронизацию хранящейся на сервере истории с помощью кнопки 218 управления синхронизацией. Указание на активацию (или деактивацию) пользователем функции серверной синхронизации также может сохраняться модулем 160 серверного хранилища сессий. Например, модуль 160 может активировать флаг (и любое другое указание), связанный с профилем пользователя, сохраненным в памяти модуля 160.
В некоторых вариантах осуществления настоящей технологии модуль 160 сохраняет указание на хранящуюся на сервере историю в памяти (не показана) за определенный период времени. В некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем, период времени может быть заранее установлен. В качестве примера, заранее установленный период времени может составлять 30 минут, 2 часа, 1 день, 2 недели, 6 месяцев и т.п.Как вариант, заранее установленный период времени может быть заранее установлен пользователем первого электронного устройства 102. В других вариантах осуществления настоящей технологии период времени может быть до истечения срока действия или наступления какого-то конкретного события. Например, модуль 160 сохраняет указание на хранящуюся на сервере истории в памяти (не показана) до тех пор, пока пользователь не выйдет из системы или не выключит каким-либо иным способом функцию синхронизации на сервере.
Теперь пользователь выбирает второе электронного устройства 103 для получения доступа к поисковому приложению 104, которое также доступно на втором электронном устройстве 103. Другими словами, пользователь начинает вторую сессию просмотра страниц с помощью второго электронного устройства 103, причем вторая сессия просмотра страниц происходит в момент времени после проведения пользователем первой сессии просмотра страниц с помощью первого электронного устройства 102.
С учетом того, что пользователь активировал функцию серверной синхронизации, и, предполагая, что пользователь авторизован в сервисе на втором электронном устройстве 103, которое получает доступ к модулю 160 для извлечения хранящейся на сервере истории пользовательских взаимодействий во время сессии просмотра страниц первого электронного устройства 102.
При получении доступа к модулю 160, второе электронное устройство 103 получает информацию о взаимодействиях пользователя в рамках сессии просмотра страниц на первом электронном устройстве 102.
- Пользовательские взаимодействия с поисковым приложением 104 - как часть предоставления поискового запроса 302;
- Пользовательские взаимодействия с поисковым приложением 104в виде выбора пользователем одного из одного или нескольких предложений 306;
- Пользовательские взаимодействия с поисковым приложением 104в виде выбора пользователем одного или нескольких результатов поиска на SERP 402;
- Пользовательские взаимодействия с поисковым приложением 104 в виде перехода вперед и назад между различными ресурсами, как, например, в вышеописанном примере, где пользователь активировал кнопку 214 "назад", чтобы вернуться с ресурса с информацией про MTV к ресурсу с информацией про Мадонну.
Другими словами, пользователь может в некотором смысле продолжать сессию просмотра страниц, начатую на первом электронном устройстве 102, с помощью второго электронного устройства 103. Следует отметить, что при получении доступа к хранящейся на сервере информации, доступной на модуле 160, второе электронное устройство 103 получает информацию о полной истории пользовательских взаимодействий в рамках сессии просмотра страниц на первом электронном устройстве 102. Например, с помощью получения хранящейся на сервере истории, второе электронное устройство 103 получает не только то, какой поиск проводит пользователь, но и то, какие результаты поиска пользователь выбирает, а также браузерную историю переходов вперед и назад между различными ресурсами.
Несмотря на то, что все выше представленное было описано с использованием примера, в котором пользователь использует первое электронное устройство 102 для выполнения первой сессии просмотра страниц, а затем использует второе электронное устройство 103 для выполнения второй сессии просмотра страниц, причем вторая сессия просмотра страниц включает в себя хранящуюся на сервере историю, также возможно, что пользователь выполняет вторую сессию просмотра страниц с помощью первого электронного устройства 102 в момент времени после выполнения первой сессии просмотра страниц с помощью первого электронного устройства 102.
Это относится к тем случаям (но не ограничивается ими), когда на первом электронном устройстве 102 была включена функция приватного просмотра страниц. Например, если пользователь работает на первом электронном устройстве 102 или втором электронном устройстве 103 (или любом другом электронном устройстве, потенциально связанном с пользователем), пользователь может получать доступ к хранящейся на сервере истории. Следовательно, вне зависимости от того, какое устройство использует пользователь (первое электронное устройство 102, второе электронное устройство 103 или любое другое электронное устройство, потенциально связанное с пользователем), пользователь может получить опыт непрерывного просмотра страниц с помощью хранящейся на сервере истории, связанной с первой сессией просмотра страниц, которая доступна на любом электронном устройстве, на котором пользователь выполняет вторую сессию просмотра страниц (первом электронном устройстве 102, втором электронном устройстве 103 или любом другом электронном устройстве, потенциально связанным с пользователем).
Следует отметить, что в дополнение к перехвату и сохранению различных контрольных сообщений, описанных выше, модуль 160 может также сохранять указание на закладки и поисковую историю, локально сохраненную на первом электронном устройстве 102. Таким образом, вариант осуществления настоящей технологии позволяет второй сессии просмотра страниц обладать хранящейся на сервере историей и хранящейся в браузере историей, которые доступны во время второй сессии просмотра страниц на любом электронном устройстве, которое пользователь решает использовать для второй сессии просмотра страниц (первое электронное устройство 102, второе электронное устройство 103 или любое другое электронное устройство, потенциально связанное с пользователем).
С учетом описанной выше архитектуры, возможно выполнять способ синхронизации первой сессии просмотра страниц и второй сессии просмотра страниц для пользователя. Способ синхронизации первой сессии просмотра страниц и второй сессии просмотра страниц для пользователя может обычно выполняться в модуле 160. Как вариант, если сервер 116 включает в себя функциональность модуля 160, способ может быть выполнен на сервере 116. Для этого модуль 160 (или сервер 116) включает в себя постоянный носитель компьютерной информации, хранящий компьютерные инструкции, при выполнении которых модуль 160 (или сервер 116) выполняет нижеописанные этапы способа.
Для целей настоящего описания предполагается, что первая сессия просмотра страниц была выполнена на первом электронном устройстве 102, а модуль 160 получает и сохраняет хранящуюся на сервере историю, как было описано выше. Предполагается также, что пользователь желает использовать второе электронное устройство 103, чтобы продолжить сессию просмотра страниц, ранее выполненного на первом электронном устройстве 102, или пользователь желает использовать первое электронное устройство 102, чтобы продолжить сессию просмотра страниц в момент времени после окончания первой сессии просмотра страниц. Также предполагается, что пользователь активировал функцию серверной синхронизации.
На Фиг.7 представлена блок-схема этапов способа 700, который выполняется в соответствии с не ограничивающими вариантами осуществления настоящей технологии.
Этап 702 - получение запроса на вторую сессию просмотра страниц от одного из электронных устройств - первого или второго - в момент времени после начала первой сессии просмотра страниц.
Способ 700 начинается на этапе 702, на котором модуль 160 получает запрос на вторую сессию просмотра страниц от одного из электронных устройств - первого устройства 102 или второго устройства 103 - в момент времени после начала первой сессии просмотра страниц.
Как упоминалось выше, пользователь может начинать вторую сессию просмотра страниц с помощью первого электронного устройства 102 и второго электронного устройства 103. Вторая сессия просмотра страниц выполняется с помощью включения пользователем поискового приложения 104 на соответствующем первом электронном устройстве 102 и втором электронном устройстве 103.
При запуске пользователем поискового приложения 104 (или указания каким-либо другим образом своего желания начать вторую сессию просмотра страниц), может быть передан командный сигнал модулю 160 (или серверу 116).
Способ 700 далее переходит к выполнению этапа 704.
Этап 704 - в ответ на подключение пользователем функции синхронизации, инициирования отображения второй сессии просмотра страниц на одном из: первом электронном устройстве и втором электронном устройстве, причем вторая сессия просмотра страниц включает в себя хранящуюся на сервере историю, связанную с пользовательскими взаимодействиями в рамках первой сессии просмотра страниц, выполненной до упомянутого получения.
Далее, на этапе 704, в ответ на подключение пользователем функции синхронизации, модуль 160 инициирует отображение второй сессии просмотра страниц на одном из: первом электронном устройстве 102 и втором электронном устройстве 103 (в зависимости от того, какой из них запрашивал вторую сессию просмотра страниц на этапе 702), причем вторая сессия просмотра страниц включает в себя хранящуюся на сервере историю, связанную.с пользовательскими взаимодействиями в рамках первой сессии просмотра страниц, выполненной до упомянутого получения запроса второй сессии просмотра страниц на этапе 702.
Сначала модуль 160 (или сервер 116) определяет, активизировал ли пользователь функцию синхронизации. В ответ на активацию пользователем функции синхронизации, модуль 160 получает хранящуюся на сервере историю, которая была получена и сохранена в связи с первой сессией просмотра страниц. Модуль 160 затем делает хранящуюся на сервере историю доступной для первого электронного устройства 102 или второго электронного устройства 103 (в зависимости от того, какой из них запрашивал вторую сессию просмотра страниц на этапе 702).
Следовательно, при выполнении этапа 704 одно из электронных устройств -первое устройство 102 или второе устройство 103 (в зависимости от того, какой из них запрашивал вторую сессию просмотра страниц на этапе 702) получает информацию о хранящейся на сервере истории, которая выполнялась во время первой сессии просмотра страниц на первом электронном устройстве 102.
Затем способ 700 завершается. Естественно, вторая сессия просмотра страниц может являться первой сессией просмотра страницу в том смысле, что модуль 160 может получать и сохранять указание на пользовательские взаимодействия в рамках второй сессии просмотра страниц для того, чтобы они стали доступны на любом другом электронном устройстве и могли быть использованы в будущих сессиях просмотра страниц.
Важно иметь в виду, что не все упомянутые здесь технические результаты могут проявляться в каждом из вариантов осуществления настоящей технологии. Например, варианты осуществления настоящей технологии могут быть выполнены без проявления некоторых технических результатов, другие могут быть выполнены с проявлением других технических результатов или вовсе без него.
Модификации и улучшения вышеописанных вариантов осуществления настоящей технологии будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.