Способ и сервер для классификации веб-ресурса
Иллюстрации
Показать всеИзобретение относится к средствам классификации веб-ресурса. Технический результат заключается в обеспечении определения веб-ресурса как вредоносный. Получают данные, связанные с множеством журналов активности браузеров для браузерных приложений. Журналы активности браузеров содержат информацию о прошлых действиях просмотра: идентификатор веб-ресурса, связанного с попыткой доступа, указатель родительского процесса, инициировавшего эту попытку доступа, и параметр первого запуска. Если (i) параметр первого запуска указывает на то, что попытка доступа выполнялась при первом запуске браузерного приложения и (ii) родительский процесс не указан в белом списке родительских процессов, то выполняется анализ хранящегося на сервере поисковой системы журнала множества прошлых сеансов поиска для определения исторического параметра поиска, который связан с этим веб-ресурсом. На основе результатов анализа исторического параметра поиска этот веб-ресурс добавляется в черный список веб-ресурсов. 2 н. и 19 з.п. ф-лы, 4 ил.
Реферат
Область техники, к которой относится изобретение
Изобретение относится к обработке веб-ресурсов в целом и, в частности, к способам и серверам для классификации веб-ресурсов.
Уровень техники
В последние годы использование персональных электронных устройств расширяется по экспоненте. Типичный пользователь имеет доступ к разнообразным устройствам, таким как настольные компьютеры, ноутбуки, смартфоны и планшеты. Пользователи применяют эти устройства по множеству причин в профессиональной деятельности и в личных целях. Независимо от цели использования, типовое электронное устройство содержит большое количество личных данных как в форме персональных файлов (таких как документы), так и в виде разнообразных куки-файлов и других метаданных, которые могут содержать конфиденциальные данные пользователя (такие как имена пользователя и пароли доступа к интернет-банку или личные сведения, например, номера паспортов и кредитных карт).
Неудивительно, что эта тенденция породила другую тенденцию, заключающуюся в том, что злоумышленники и преступные организации стремятся получить несанкционированный доступ к личной информации, которая может быть затем злонамеренно использована. Поэтому одна из основных проблем в вычислительной технике состоит в том, что электронные устройства подвергаются угрозам со стороны множества вирусов, троянских программ и другого вредоносного программного обеспечения (ПО), которое распространяется по электронным устройствам пользователей через сеть Интернет.
Также известно, что некоторые источники такого опасного ПО пытаются вставить вредоносный код в различные пакеты ПО, которые могут распространяться через сеть Интернет (несанкционированное проникновение вместе с легальным ПО). Вредоносный код также может загружаться в электронные устройства пользователей при посещении определенных веб-ресурсов (чаще всего хранящих приложения для азартных игр, порнографические материалы и т.п.).
Для предотвращения загрузки и установки такого вредоносного кода в электронных пользовательских устройствах созданы антивирусы и другие средства обеспечения безопасности. Поскольку поставщики антивирусного ПО постоянно обновляют свои списки вирусов, некоторые источники вредоносного ПО стремятся загрузить в электронное пользовательское устройство «безвредный» программный код. Такой программный код вызывает самостоятельную установку ПО на электроном пользовательском устройстве, а затем запускает браузер и осуществляет доступ к определенному веб-ресурсу (т.е. посещает веб-ресурс). Веб-ресурс, посещенный электронным пользовательским устройством, содержит вирусы, фишинговые страницы, порнографические материалы, раздражающие рекламные объявления и т.п.
В патентной заявке США №20120324568 раскрыто, что на мобильном устройстве связи после перехода по ссылке из приложения обмена сообщениями или браузера может выполняться нежелательное действие, например, переход на фишинговый веб-сайт или загрузка вредоносного программного обеспечения, которое приводит к нежелательным расходам, чрезмерному использованию ресурса аккумуляторной батареи или несанкционированному использованию устройства. Мобильное приложение перехватывает запрос с идентификатором, связанным с действием, которое должно выполняться на устройстве другим приложением, и оценивает идентификатор, чтобы определить, должен ли запрос быть разрешен, заблокирован или условно разрешен. Клиентское приложение может использовать локальные данные или выполнить запрос на сервер, чтобы оценить идентификатор. Чтобы сократить до минимума время ожидания, обмен данными с сервером оптимизируется посредством кэширования результатов оценки в устройстве, заблаговременной загрузки информации в кэш DNS устройства, оптимизации времени выполнения DNS-поиска и адаптации политики оценки на основе различных факторов, таких как источник запроса и активное в данный момент сетевое соединение.
В патенте США №9178904 раскрыты системы, способы и компьютерные программные продукты для обнаружения вредоносного ПО. В одном примере сервер безопасности получает информацию о подозрительном программном объекте, обнаруженном клиентским компьютером с использованием одного или нескольких способов обнаружения вредоносного ПО. Сервер идентифицирует способы обнаружения вредоносного ПО, использованные для обнаружения подозрительного объекта, и выбирает один или несколько способов обнаружения вредоносного ПО, чтобы проверить, опасен ли этот объект. Сервер анализирует подозрительный объект с использованием одного или нескольких способов анализа вредоносного ПО, чтобы проверить, опасен ли объект. Если объект определяется как вредоносный, сервер формирует и отправляет в клиентский компьютер команды по обнаружению, характерные для одного или нескольких способов обнаружения вредоносного ПО, используемых клиентским компьютером для обнаружения и блокировки вредоносного объекта в клиентском компьютере.
В патенте США №8745740 раскрыто устройство для обнаружения вредоносных веб-сайтов, содержащее: блок контроля для контроля всех процессов, выполняемых в компьютерном устройстве; блок вставки перехватывающего кода для вставки перехватывающего кода в процесс, выполняемый в браузере, когда действие браузера обнаруживается блоком контроля; блок определения уровня опасности, который при обнаружении действия веб-сайта определяет, следует ли выполнять проверку структуры стека процесса, выполняемого в соответствии с действием веб-сайта, использует перехватывающий код для проверки структуры стека, а также определяет, является ли веб-сайт, выполнивший действие, вредоносным; и базу данных для хранения списка вебсайтов, определенных как вредоносные.
Раскрытие изобретения
Разработчики настоящей технологии обнаружили, по меньшей мере, одну техническую проблему, связанную с использованными ранее подходами к определению веб-ресурсов, являющихся источниками вредоносного ПО или иным способом инициирующих выполнение электронным устройством вредоносных действий. Безотносительно какой-либо конкретной теории, разработчики настоящей технологии разработали варианты реализации, основанные на предположении, что вредоносные вебсайты возможно определять посредством анализа (i) журналов активности браузеров в электронных пользовательских устройствах (чтобы определить попытки доступа к веб-ресурсам, которые связаны с так называемым «параметром первого запуска») и (ii) журналов истории поиска поисковой системы (чтобы определить общую популярность таких веб-ресурсов, связанных с большим количеством параметров первого запуска, т.е. веб-сайтов, которые часто автоматически запрашиваются родительским процессом, не указанным в белом списке родительских процессов).
Безотносительно какой-либо конкретной теории, варианты реализации настоящей технологии основываются на анализе несоответствия между (i) частотой попыток первого запуска некоторого веб-ресурса и (ii) общей популярностью такого веб-ресурса, при этом используется популярность в сеансах поиска согласно информации, сохраненной в журналах поисковой системы.
Упомянутые способы и системы определяют некоторый веб-ресурс как вредоносный, если он: (i) имеет сравнительно высокую частоту попыток первого запуска и (ii) имеет общую низкую популярность в сеансах поиска согласно информации, сохраненной в журналах поисковой системы (например, не индексируется поисковой системой, занимает низкие позиции на странице выдачи результатов поисковой системы (SERP, Search Engine Results Page), редко выбирается пользователями, связан с частыми поисковыми запросами с «негативной коннотацией»).
Для достижения указанной выше цели установленные в пользовательских устройствах браузерные приложения формируют журналы доступа к веб-сайтам и отправляют эти журналы обрабатывающему серверу. Каждый элемент журнала, соответствующий попытке доступа к некоторому веб-ресурсу, содержит запись о родительской программе (или процессе), т.е. о программе, инициировавшей попытку доступа. Кроме того, каждый элемент журнала содержит параметр, указывающий на то, связана ли попытка доступа с первым запуском браузера, т.е. запускался ли браузер на некотором электронном пользовательском устройстве в первый раз (было ли ранее закрытое браузерное приложение вновь запущено в текущем сеансе браузера) при выполнении попытки доступа к данному веб-сайту.
Согласно вариантам реализации настоящей технологии, анализ признака первого запуска позволяет оптимизировать ресурсы обработки в обрабатывающем сервере и обеспечивает приемлемое качество определения вредоносных веб-ресурсов. Это достигается благодаря тому, что вредоносное ПО часто запускает браузерное приложение для доступа к вредоносному веб-ресурсу, даже когда пользователь не выполняет просмотр с использованием браузерного приложения (например, непосредственно после включения компьютера, когда пользователь использует другое приложение для обработки текстов и т.п.).
После получения журналов активности браузеров обрабатывающий сервер определяет попытки доступа, связанные с «подозрительными» родительскими программами (или процессами) и с положительным параметром первого запуска. Подозрительная родительская программа может быть не включена ни в черный список вредоносных процессов, ни в белый список допустимых родительских программ/процессов. Если программа рассматривается как подозрительная, обрабатывающий сервер выполняет доступ к базе данных поисковой системы, чтобы определить, обладает ли веб-ресурс, связанный с инициированной родительской программой/процессом попыткой доступа, подозрительными характеристиками, такими как отсутствие в записях поисковых систем, низкая позиция в результатах поиска, низкий «органический» пользовательский трафик, малое количество отображений веб-ресурса в истории поисковой системы, диспропорция между «органическим» трафиком и трафиком, сформированным подозрительными родительскими процессами.
Если эти характеристики, полученные из базы данных поисковой системы, указывают на возможную нежелательность веб-ресурса, то такой веб-ресурс и/или связанный с ним родительский процесс добавляется в черный список. Родительские процессы и веб-ресурсы могут добавляться в черный список после накопления при анализе журналов достаточного количества статистических данных относительно событий первого запуска. Когда в электронном пользовательском устройстве выполняется новая попытка доступа к любому веб-ресурсу из черного списка, обрабатывающий сервер определяет его наличие в черном списке и отправляет электронному пользовательскому устройству сообщение, вызывающее отказ браузерного приложения электронного пользовательского устройства открыть запрашиваемый веб-ресурс и/или отображение уведомления, оповещающего пользователя о том, что некоторая программа пытается получить доступ к веб-ресурсу, который может быть вредоносным или нежелательным по той или иной причине.
Черный список нежелательных веб-сайтов может храниться в обрабатывающем сервере (который может использоваться в качестве прокси-сервера для запросов из электронных пользовательских устройств) или пересылаться в электронное пользовательское устройство и храниться в нем.
В соответствии с первым аспектом настоящей технологии реализован способ классификации веб-ресурсов. Способ реализуется на сервере, соединенном со множеством пользовательских устройств. Способ включает в себя:
- получение данных, связанных с множеством журналов активности браузеров, связанных с браузерными приложениями, установленными во множестве пользовательских устройств, причем множество журналов активности браузеров содержит информацию, связанную с прошлыми действиями просмотра по меньшей мере некоторых браузерных приложений, связанных с по меньшей мере некоторыми из множества пользовательских устройств; при этом каждая5 запись во множестве журналов активности браузеров, связанная с прошлым действием просмотра, содержит следующую информацию: идентификатор веб-ресурса, связанного с попыткой доступа во время прошлого действия просмотра, указатель родительского процесса, посредством браузерного приложения инициировавшего указанную попытку доступа к этому веб-ресурсу, и параметр первого запуска, указывающий на то, выполнялась ли эта попытка доступа при первом запуске браузерного приложения;
- анализ параметра первого запуска и указателя родительского процесса, содержащихся в каждой записи;
- для каждой записи из множества журналов активности браузеров, с которой связано прошлое действие просмотра, в зависимости от (i) наличия параметра первого запуска, указывающего на то, что попытка доступа выполнялась при первом запуске браузерного приложения, и (ii) отсутствия родительского процесса в белом списке родительских процессов:
обращение к журналу истории поиска, связанному с сервером поисковой системы и содержащему информацию о множестве прошлых сеансов поиска, выполненных на сервере поисковой системы;
анализ множества прошлых сеансов поиска для определения исторического параметра поиска, связанного с анализируемым веб-ресурсом; и
добавление анализируемого веб-ресурса в черный список веб-ресурсов, если его исторический параметр поиска меньше заранее заданного порога.
В некоторых вариантах реализации способа определение связанного с анализируемым веб-ресурсом исторического параметра поиска включает в себя анализ по меньшей мере одного из параметров, связанных с этим веб-ресурсом: частоты отображения и частоты обращения, хранящихся в журнале истории поиска, причем значение исторического параметра поиска этого веб-ресурса пропорционально указанному по меньшей мере одному из параметров: частоты отображения и частоты обращения к этому веб-ресурсу.
В некоторых вариантах реализации способа заранее заданный порог выбран так, что его меньшее значение указывает на то, что анализируемый веб-ресурс редко присутствовал в прошлых сеансах поиска.
В некоторых вариантах реализации способа определение исторического параметра поиска включает в себя анализ поисковых запросов с негативной коннотацией, связанных с анализируемым веб-ресурсом.
В некоторых вариантах реализации способа определение исторического параметра поиска включает в себя анализ хранящейся в журнале истории поиска усредненной позиции анализируемого веб-ресурса на множестве страниц выдачи результатов поисковой системы (SERP).
В некоторых вариантах реализации способа определение исторического параметра поиска включает в себя анализ соотношения количества попыток доступа к анализируемому веб-ресурсу, имеющему положительный параметр первого запуска, и количества «органических» обращений к этому веб-ресурсу, причем количество «органических» обращений к этому веб-ресурсу хранится в журнале истории поиска.
В некоторых вариантах реализации способа добавление анализируемого веб-ресурса в черный список веб-ресурсов выполняется, если доля количества попыток доступа к этому веб-ресурсу при первом запуске браузерного приложения непропорционально велика по сравнению с историческим параметром поиска.
В некоторых вариантах реализации способа определение исторического параметра поиска включает в себя формирование вектора признаков, связанного с анализируемым веб-ресурсом и основанного на связанных с этим веб-ресурсом данных, хранящихся в журнале истории поиска.
В некоторых вариантах реализации способ дополнительно включает в себя формирование параметра плагинов, указывающего на количество установленных анализируемым веб-ресурсом плагинов и основанного на связанных с этим веб-ресурсом данных, хранящихся в журнале истории поиска.
В некоторых вариантах реализации способ дополнительно включает в себя получение из пользовательского устройства оповещения о попытке доступа браузерного приложения к анализируемому веб-ресурсу и передачу этому пользовательскому устройству триггерного сообщения, вызывающего выполнение браузерным приложением действия по обеспечению безопасности, если анализируемый веб-ресурс включен в черный список.
В некоторых вариантах реализации способа сервер и сервер поисковой системы реализуются как единый сервер, причем доступ к журналу истории поиска, связанному с сервером поисковой системы, включает в себя доступ к журналу истории поиска посредством доступа к памяти единого сервера, в котором хранится журнал истории поиска.
В некоторых вариантах реализации способа доступ к журналу истории поиска, связанному с сервером поисковой системы, включает в себя передачу серверу поисковой системы запроса на выполнение поиска в журнале истории поиска.
В некоторых вариантах реализации способа параметр первого запуска сформирован, если попытка доступа являлась первым запросом доступа в сеансе пользователя.
В некоторых вариантах реализации способа указатель родительского процесса сформирован операционной системой электронного устройства, с которым связана каждая запись.
В некоторых вариантах реализации способ дополнительно включает в себя заполнение белого списка родительских процессов на основе анализа множества возможных родительских процессов и назначение каждому процессу из множества возможных родительских процессов одной категории из множества заранее определенных категорий, причем белый список родительских процессов предварительно заполнен указателями родительских процессов некоторых категорий из множества заранее определенных категорий.
В некоторых вариантах реализации способа идентификатор веб-ресурса содержит уникальный указатель ресурса (URL, Unique Resource Location), а способ включает в себя нормализацию этого URL.
В некоторых вариантах реализации способа нормализация URL включает в себя нормализацию этого URL до домена заранее определенного уровня.
В некоторых вариантах реализации способ дополнительно включает в себя сохранение идентификатора веб-ресурса в черном списке веб-ресурсов, хранящемся в памяти.
В некоторых вариантах реализации способа память представляет собой память сервера или память по меньшей мере одного из множества пользовательских устройств.
В некоторых вариантах реализации способ дополнительно включает в себя передачу копии черного списка по меньшей мере одному из множества пользовательских устройств.
В соответствии с другим аспектом настоящей технологии реализован сервер. Сервер содержит: процессор, память, соединенную с процессором и содержащую исполняемые компьютерные команды, при выполнении которых процессор осуществляет следующие действия:
- получение данных, связанных с множеством журналов активности браузеров, связанных с браузерными приложениями, установленными во множестве пользовательских устройств, причем множество журналов активности браузеров содержит информацию, связанную с прошлыми действиями просмотра по меньшей мере некоторых браузерных приложений, связанных с по меньшей мере некоторыми из множества пользовательских устройств; при этом каждая запись во множестве журналов активности браузеров, связанная с прошлым действием просмотра, содержит следующую информацию:
идентификатор веб-ресурса, связанного с попыткой доступа во время прошлого действия просмотра,
указатель родительского процесса, посредством браузерного приложения инициировавшего указанную попытку доступа к этому веб-ресурсу, и
параметр первого запуска, указывающий на то, выполнялась ли эта попытка доступа при первом запуске браузерного приложения;
- анализ параметра первого запуска и указателя родительского процесса, содержащихся в каждой записи;
- для каждой записи из множества журналов активности браузеров, с которой связано прошлое действие просмотра, в зависимости от (i) наличия параметра первого запуска, указывающего на то, что попытка доступа выполнялась при первом запуске браузерного приложения, и (ii) отсутствия родительского процесса в белом списке родительских процессов:
обращение к журналу истории поиска, связанному с сервером поисковой системы и содержащему информацию о множестве прошлых сеансов поиска, выполненных на сервере поисковой системы;
анализ множества прошлых сеансов поиска для определения исторического параметра поиска, связанного с анализируемым веб-ресурсом; и
добавление анализируемого веб-ресурса в черный список веб-ресурсов, если его исторический параметр поиска меньше заранее заданного порога.
В контексте настоящего описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например, из электронных устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут представлять собой один физический компьютер или одну компьютерную систему и это не существенно данной технологии. В настоящем контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая определенная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами); это выражение означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или инициировать выполнение любой задачи или запроса либо результатов любых задач или запросов; все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем оба эти случая подразумеваются в выражении «по меньшей мере один сервер».
В контексте настоящего описания термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения данной задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как электронное устройство, также может функционировать как сервер для других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких электронных устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов, либо шагов любого описанного здесь способа.
В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, ПО для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, что и процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.
В контексте настоящего описания выражение «информация» включает в себя информацию любого вида, допускающую хранение в базе данных. Таким образом, информация включает в себя аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д., но не ограничивается ими.
В контексте настоящего описания выражение «компонент» означает ПО (подходящее для определенных аппаратных средств), необходимое и достаточное для выполнения определенной функции (функций).
В контексте настоящего описания выражение «набор результатов поискового запроса» означает список результатов, выдаваемый в ответ на поисковый запрос поисковой системой, которая может содержать один или несколько обычных или специализированных поисковых модулей. Набор результатов поискового запроса может содержать список результатов, выдаваемых модулем веб-поиска или одним либо несколькими модулями вертикального поиска, или сочетание результатов, выдаваемых модулем веб-поиска или одним либо несколькими модулями вертикального поиска. Набор результатов поискового запроса также может не содержать результатов.
В контексте настоящего описания выражение «множество результатов поиска» относится к набору результатов поиска, содержащему один или большее количество результатов, причем результаты общего поиска (например, веб-поиска) и/или результаты вертикального поиска объединяются в наборе результатов поиска или на странице выдачи результатов поиска. Например, результаты вертикального поиска могут включаться в состав результатов общего поиска (например, веб-поиска) на странице выдачи результатов поиска или наоборот, результаты общего поиска могут включаться в состав результатов вертикального поиска на странице выдачи результатов поиска. Таким образом, в соответствии с некоторыми вариантами реализации, результаты общего поиска и результаты вертикального поиска могут объединяться и взаимно упорядочиваться. В соответствии с другими вариантами реализации настоящей технологии множество результатов поиска может включать в себя только результаты общего поиска или только результаты вертикального поиска.
В контексте настоящего описания выражение «страница выдачи результатов поисковой системы» (SERP) означает выдаваемый клиенту на электронном устройстве список результатов, сформированный путем объединения набора результатов поискового запроса с целевыми сообщениями.
В контексте настоящего описания выражение «пригодный для использования в компьютере носитель информации» означает носители любого типа и вида, такие как ОЗУ, ПЗУ, диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), USB-накопители, твердотельные накопители, накопители на магнитных лентах и т.д.
В контексте настоящего описания числительные «первый» «второй», «третий» и т.д. используются только для указания различия между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Например, должно быть понятно, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо определенного порядка, типа, хронологии, иерархии или классификации, в данном случае, серверов, а также их использование (само по себе) не подразумевает обязательного наличия «второго сервера» в любой ситуации. Кроме того, как встречается в настоящем описании в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента могут быть одним и тем же реальным элементом. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой одно и то же программное и/или аппаратное средство, а в других случаях - различные программные и/или аппаратные средства.
Каждый вариант реализации настоящей технологии имеет отношение к по меньшей мере одной из вышеупомянутых целей и/или аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым.
Дополнительные и/или альтернативные признаки, аспекты и преимущества вариантов реализации настоящей технологии очевидны из дальнейшего описания, приложенных чертежей и формулы изобретения.
Краткое описание чертежей
Дальнейшее описание приведено для лучшего понимания настоящей технологии, а также других аспектов и их признаков, и должно использоваться совместно с приложенными чертежами.
На фиг. 1 представлена схема системы, реализованной согласно вариантам реализации настоящей технологии, не имеющим ограничительного характера.
На фиг. 2 представлена схема процесса сбора и анализа данных для определения веб-ресурсов, являющихся потенциально вредоносными, которые должны быть добавлены в контрольный список сетевых ресурсов системы, представленной на фиг. 1.
На фиг. 3 показано схематическое представление данных, содержащихся в первом пакете данных, передаваемом в процессе, представленном на фиг. 2.
На фиг. 4 представлена блок-схема алгоритма, реализованного согласно другим вариантам реализации настоящей технологии, не имеющим ограничительного характера, в системе, представленной на фиг. 1.
Осуществление изобретения
На фиг. 1 представлена система 100 согласно одному из вариантов реализации настоящей технологии. Очевидно, что система 100 представляет собой лишь один из возможных вариантов реализации настоящей технологии. Таким образом, дальнейшее описание системы представляет собой описание примеров, иллюстрирующих настоящую технологию. Это описание не предназначено для определения объема или границ настоящей технологии. В некоторых случаях также приводятся полезные примеры модификаций системы 100. Они способствуют пониманию, но также не определяют объем или границы настоящей технологии. Эти модификации не составляют исчерпывающего списка. Специалисту в данной области очевидно, что возможны и другие модификации. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или описание содержит единственный вариант реализации того или иного элемента настоящей технологии. Специалисту в данной области очевидно, что это не так. Кроме того, следует понимать, что система 100 в некоторых случаях может представлять собой упрощенную реализацию настоящей технологии, и что такие варианты представлены, чтобы способствовать лучшему ее пониманию. Специалисту в данной области очевидно, что различные варианты реализации настоящей технологии могут быть значительно сложнее.
Система 100 содержит электронное устройство 102. Электронное устройство 102 обычно взаимодействует с пользователем (не показан) и иногда может называться «клиентским устройством». Следует отметить, что связь электронного устройства 102 с пользователем не означает необходимости указывать или предполагать какой-либо режим работы, например, вход в систему, регистрацию и т.п. Система 100 может содержать множество электронных устройств, подобных электронному устройству 102 или отличающихся от него.
На реализацию электронного устройства 102 не накладывается определенных ограничений. В качестве примера, электронное устройство 102 может быть реализовано как персональный компьютер (настольный, ноутбук, нетбук и т.д.) или как беспроводное электронное устройство (сотовый телефон, смартфон, планшет и т.д.). В представленном на фиг. 1 примере электронное устройство 102 реализовано как ноутбук, такой как 13-дюймовый MacBook Pro™ (содержит IPS-дисплей со светодиодной подсветкой, диагональю 13,3 дюйма, разрешением 2560×1600 пикселов при плотности 227 пикселов на дюйм; двухъядерный процессор шестого поколения Intel Core i5 с частотой 2,9 ГГц; видеоадаптер Intel™ Iris Graphics 550; ОЗУ 8 ГБ; твердотельный накопитель 256 ГБ; сенсорную панель) компании Apple, Inc., США (Apple Campus, 1 Infinite Loop, Cupertino, California, USA).
Общая реализация электронного устройства 102 известна в данной области техники и поэтому его подробное описание опущено. Достаточно сказать, что электронное устройство 102 содержит пользовательский интерфейс ввода (такой как клавиатура, мышь, сенсорная панель, сенсорный экран и т.п.) для приема вводимой пользователем информации; пользовательский интерфейс вывода (такой как экран, сенсорный экран, принтер и т.п.) для вывода визуальной и звуковой информации пользователю; сетевой интерфейс передачи данных (такой как модем, сетевая плата и т.п.) для двунаправленной передачи данных через сеть 106 связи; процессор, соединенный с пользовательским интерфейсом ввода, пользовательским интерфейсом вывода и сетевым интерфейсом передачи данных, при этом процессор выполнен с возможностью выполнения различных процедур, включая описанные ниже. С этой целью процессор может хранить предназначенные для считывания компьютером команды или иметь доступ к ним. При выполнении этих команд процессор выполняет различные процедуры, представленные в настоящем описании.
Вышеупомянутая сеть 106 связи может представлять собой сеть Интернет. В других вариантах реализации настоящей технологии сеть 106 связи может быть реализована иначе, например, в виде произвольной глобальной сети связи, локальной сети связи, личной сети связи и т.д.
Электронное устройство 102 содержит аппаратные средства и/или ПО, и/или встроенное ПО (либо их сочетание) для выполнения в электронном устройстве 102 браузерного приложения 104. Браузерное приложение 104 обеспечивает пользователю доступ через сеть 106 связи к одному или нескольким сетевым ресурсам, таким как первый сетевой ресурс 108, второй сетевой ресурс 110 и множество дополнительных ресурсов, которые совместно обозначены как 112 на фиг. 1. Браузерное приложение 104 может быть реализовано как один из следующих браузеров: Mozilla Firefox™, Google Chrome™, Yandex™. Следует отметить, что в электронном устройстве 102 может быть установлено несколько версий браузерного приложения 104 от одного или нескольких поставщиков.
Каждый сетевой ресурс (первый сетевой ресурс 108, второй сетевой ресурс 110 и множество дополнительных ресурсов 112) может представлять собой веб-сайт (такой как интернет-магазин Amazon™, информационный ресурс Wikipedia™, веб-сайт, связанный с организацией Canadian Cancer Foundation и т.д.), веб-ресурс агрегатора и т.п. Некоторые или все сетевые ресурсы, такие как первый сетевой ресурс 108, второй сетевой ресурс 110 и множество дополнительных ресурсов 112, могут размещаться в одном или нескольких серверах сетевых ресурсов, совместно обозначенных как 114 на фиг. 1. Доступная в первом сетевом ресурсе 108, втором сетевом ресурсе 110 и множестве дополнительных ресурсов 112 информация может включать в себя разнообразные виды контента, такого как фотографии, видеоматериалы, аудиоматериалы и т.п., и может относиться к разнообразным темам, таким как новости, погода, дорожное движение, развлечения, финансы и т.д.
В общем случае, когда пользователю электронного устройства 102 требуется доступ к информации одного из сетевых ресурсов, таких как первый сетевой ресурс 108, второй сетевой ресурс 110 и множество дополнительных ресурсов 112, пользователь может обратиться к веб-ресурсу либо непосредственно, введя адрес ресурса (обычно URL, такой как www.webpage.com), либо перейдя по ссылке в сообщении электронной почты или на другом веб-ресурсе. Браузерное приложение 104 обычно обеспечивает также функцию поиска, посредством которой пользователь может выполнять поиск информации по интересующей его теме (как более подробно описано ниже).
Электронное устройство 102 дополнительно выполнено с возможностью выполнения программы-контролера 103 процессов устройства. Программа-контролер 103 может выполняться либо браузерным приложением 104, либо операционной системой (ОС) электронного устройства 102 (либо и тем, и другим). Программа-контролер 103 процессов устройства может выполняться другим подходящим процессом, который работает в электронном устройстве 102.
Программа-контролер 103 процессов устройства способна определять родительский процесс (или родительское приложение, или родительскую программу), инициирующий выполнение различных процессов электронным устройством. Например, программа-контролер 103 процессов устройства способна определять, како