Система и способ управления и организации кэша веб-браузера

Иллюстрации

Показать все

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

Реферат

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

[0001] Изобретение в целом относится к области поиска в Интернете, а более конкретно к системам и способам логической организации и управления кэшем веб-браузера.

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

[0002] World Wide Web (WWW), в основном, состоит из множества серверных компьютеров, на которых хранятся соответствующие базы данных и сетей, с помощью которых клиентские компьютерные устройства могут обмениваться данными с компьютерными серверами, а также выполнять запросы и загружать данные. На клиентском устройстве, как правило, используется программа "веб-браузер" для выполнения запросов данных, например, веб-страниц на удаленных серверах. Всякий раз, когда веб-браузер, связанный с клиентским устройством, запрашивает веб-страницу, либо пользователь указывает унифицированный указатель информационного ресурса (URL) или выбирает ссылку на другую веб-страницу, веб-браузер находит сервер, на котором хранится запрошенная веб-страница и загружает веб-страницу в клиентское устройство в виде файла на языке разметки гипертекста (HTML). HTML файл может содержать спецификацию каждого компонента веб-страницы, например, код HTML или Java, текст, графику, встроенное мультимедиа, ссылки на другие веб-страницы и т.д. Веб-страницы, полученные браузером, могут храниться или кэшироваться в памяти клиентского устройства, а также могут отображаться для пользователя.

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

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

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

[0008] В одном аспекте логические связи содержат контекстные связи между множеством веб-страниц.

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

[0010] В одном аспекте логические связи содержат подобие веб-адресов по меньшей мере часть множества веб-страниц.

[0011] В одном аспекте логические связи содержат сопоставление по меньшей мере части множества веб-страниц по меньшей мере с одним веб-поиском.

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

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

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

[0015] В одном аспекте декластеризация одной или более веб-страниц из кластера включает определение декластеризованной веб-страницы из кластера в зависимости от одного или более параметров: времени последнего просмотра веб-страницы пользователем; времени, затраченного пользователем на просмотр веб-страницы; числа операций, выполняемых пользователем на веб-странице; и является ли кластеризованная веб-страница добавленной пользователем в закладки.

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

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

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

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

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

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

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

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

[0023] На Фиг. 2 представлено схематическое представление типового окна приложения браузера, отображающего различное содержимое браузера в формате вкладок, согласно одному аспекту технологии.

[0024] На Фиг. 3 представлена схема, поясняющая типовую конфигурацию модуля управления кэшем для логической организации и управления кэшем, согласно одному аспекту технологии.

[0025] На Фиг. 4 представлена схема, поясняющая типовую конфигурацию кэша, соответствующего веб-браузеру, согласно одному аспекту технологии.

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

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

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

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

[0029] На Фиг. 1 представлена типовая система 100 для логической организации и управления кэшем, соответствующим веб-браузеру вычислительного устройства. Система 100 может содержать различные электронные пользовательские или клиентские устройства 102, каждое из которых содержит любую систему и/или устройство, и/или любую комбинацию устройств/систем, выполненных с возможностью установления соединения, в том числе проводного, беспроводного или подключения с помощью сети мобильной связи с другими устройствами или системами, например хост-сервером и/или сервером приложений/контент-провайдеров 104а-с. Хост-сервером и сервером приложений/контент-провайдеров 104а-с может быть любой сервер, в том числе и соединенный со сторонними серверами или провайдерами услуг/контента (например, рекламы, рекламного контента, публикаций, или серверами электронных купонов или услуг). В одном из аспектов технологии каждый из серверов 104а-с может содержать серверный процессор 110, сервер базы данных 112, а также другие модули и компоненты (не показаны).

[0030] Согласно одному аспекту технологии клиентские устройства 102 могут включать мобильные, ручные или переносные устройства, беспроводные устройства, или непереносные устройства и могут быть любым, но не ограничиваясь этим, настольным сервером, настольным компьютером, вычислительным кластером, или портативными устройствами, в том числе ноутбуком, портативным компьютером, КПК, мобильным телефоном, сотовым телефоном, смартфоном, планшетным ПК, портативной клавиатурой, портативным игровым устройством или клавиатурой. В одном аспекте, при активации пользователем приложения веб-браузера 124 из множества клиентских приложений 122 на одном клиентском вычислительном устройстве 102 может устанавливаться связь с помощью сети 110, например Интернет, посредством проводной или беспроводной связи для получения доступа к одному или более ресурсов и информации на различных хост-серверах и/или серверах приложений/контент провайдеров 104а-с. Кроме того, клиентское устройство 102 и один или более хост-серверов и/или серверов приложений/контент провайдеров 104а-с, могут быть связанными непосредственно друг с другом.

[0031] Клиентское устройство 102 может включать или иным образом осуществлять связь, посредством шины управления/данных 126, с процессором 114 на котором выполняется менеджер кэша 116, памятью 118, в том числе с кэшем браузера 120, несколькими клиентскими приложениями 122, в том числе приложениями клиента веб-браузера 124, пользовательским интерфейсом 128, интерфейсом связи 130. Процессор 114 может быть реализован в виде одного или более различных средств обработки, например микропроцессора, контроллера, цифрового сигнального процессора (DSP), устройства обработки с или без сопутствующего DSP, или различных других устройств обработки, в том числе интегральных схем, например, ASIC (специализированных интегральных схем), FPGA (программируемой пользователем вентильной матрицы), микроконтроллерного устройства (MCU), аппаратного ускорителя, компьютерного чипа специального назначения, схемы обработки, или тому подобного. Например, процессор 114 может быть выполнен с возможностью выполнения команд, хранящихся в памяти 118, или выполнения жестко заданных функций в ответ на прием данных или управляющих сигналов от других модулей посредством шины 126. Таким образом, независимо от того реализованы ли способы аппаратно или программно, или как их комбинация, процессор 114 может быть представлен в виде компонента (например, физически реализованного в виде электрической схемы), выполненного с возможностью реализации алгоритмов и/или операций, описанных в данной заявке, в случае выполнения соответствующих команд.

[0032] Интерфейс связи 130 может быть любым средством, например устройством или электронной схемой, реализованной в виде любого аппаратного средства, программного обеспечения или комбинации аппаратных средств и программного обеспечения, выполненных с возможностью приема и/или передачи данных из/во внутреннюю шину 126 и/или любого другого устройства или модуля, связанного с клиентским устройством 102. В связи с этим, интерфейс связи 130 может содержать, например, антенну (или несколько антенн) и поддерживаться аппаратными средствами и/или программным обеспечением для предоставления возможности связи с сетью передачи данных 110. В некоторых примерах интерфейс связи 130 может осуществлять проводную связь с помощью модема для передачи данных и/или другого аппаратного/программного обеспечения для поддержки связи посредством кабеля, цифровой абонентской линии (DSL), универсальной последовательной шины (USB) или других механизмов.

[0033] В дополнительном аспекте пользовательский интерфейс 128 может быть связан с процессором 114, для получения указания ввода пользователя на пользовательском интерфейсе 128 и/или для предоставления пользователю звукового, визуального, механического или иного вывода данных. Например, пользовательский интерфейс 128 может содержать клавиатуру, мышь, джойстик, дисплей, сенсорный экран, экранные клавиши, микрофон, динамик, или другие средства ввода/вывода. В связи с вышесказанным процессор 114, например, может содержать электронную схему пользовательского интерфейса, выполненную с возможностью управления по меньшей мере некоторыми функциями одного или более элементов пользовательского интерфейса, таких как, например, громкоговоритель, звонок, микрофон, дисплей, и/или тому подобных. Процессор 114 и/или электронные схемы пользовательского интерфейса, содержащие процессор 114, могут быть выполнены с возможностью управления одной или более функциями одного или нескольких элементов пользовательского интерфейса с помощью компьютерных программных команд (например, программного и/или встроенного программного обеспечения), хранящихся в памяти 118 или подобным образом доступных для процессора 114.

[0034] Например, память 118 может содержать один или более модулей энергозависимой и/или энергонезависимой памяти и кэша, например, запоминающее устройство различного объема и с различной скоростью. Память 118 может быть выполнена с возможностью хранения информации, данных, приложений, команд или т.п. для обеспечения возможности выполнения на клиентском устройстве 102 различных функций, в соответствии с типовыми аспектами данной технологии. Например, память 118 может быть выполнена с возможностью буферизации входных данных из пользовательского интерфейса 128 посредством шины 126 для обработки процессором 114. Дополнительно или как вариант память 118 может быть выполнена с возможностью хранения команд для выполнения процессором 114. В соответствии с одним аспектом данной технологии память 118 может содержать кэш браузера 120, связанный с веб-браузером клиентского устройства 102. Кэш-браузера 120 может быть заданного объема (например, 100 МБ), который, как правило, зависит от общего доступного объема памяти 118, причем требования к приложениям клиентского веб-браузера 124 или другие критерии хорошо известны специалистам в данной области техники. Кэш браузера может динамически выделяться с помощью процессора 114 в случае, если пользовательское устройство 102 было включено, или если клиентское приложение веб-браузера 124 было открыто пользователем. В одном аспекте содержимое кэша браузера 120 может автоматически удаляться из энергонезависимой памяти 118 в случае, если устройство 102 выключено. В другом аспекте, содержимое кэша браузера 120 может храниться в энергонезависимой памяти 118 даже после того, как устройство 102 было выключено.

[0035] Например, в случае, если пользователь активирует клиентское приложение веб-браузера 124 клиентского устройства 102 для просмотра или навигации по веб-страницам, пользователь может использовать пользовательский интерфейс 128 для указания основной операционной системы устройства 102 для начала и отображения окна веб-браузера с помощью процессора 114. Приложение веб-браузера 124 может включать, но не ограничивается этим, Яндекс, Firefox, Internet Explorer, Google Chrome, Opera или Safari. В свою очередь процессором 114 может выполняться менеджер кэша 116 для резервирования части памяти 118 (например, кэша браузера, 120) для веб-браузера с целью хранения данных и кода. Как будет более подробно описываться ниже со ссылкой на Фиг. 3, менеджером кэша 116 может выполняться логическая организация и управление кэшем браузера 120 на клиентском устройстве 102, согласно принципам, раскрытым в данной технологии.

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

[0037] Если, в ответ на прием URL-адреса нужной пользователю веб-страницы, имя вебстраницы не доступно в кэше браузера 120 (при неудачном обращении в кэш), приложение веб-браузера 124 может взаимодействовать с сетью 110 с помощью, например, драйверов устройства, управляющих интерфейсом связи 130 устройства 102, для запроса этой веб-страницы. Один из хост-серверов и серверов приложений/контент-провайдеров 104а-с может находить эту веб-страницу и обмениваться этой веб-страницей с устройством 102 посредством сети ПО таким образом, что клиентским приложением веб-браузера 124 может выполняться код веб-страницы для отображения его содержимого в виде HTML-файла. Информация для восстановления веб-страницы пользовательским устройством 102 может храниться в кэше браузера 120 в случае, если клиентское приложение веб-браузера 124 соответственно загружает различные веб-страницы из сети ПО, считывает содержимое файлов, интерпретирует команды, сохраненные в файлах, и формирует веб-страницы на дисплее устройства 102.

[0038] Приложение веб-браузера 124 может открывать более одной веб-страницы 220 одновременно в разных окнах браузера 202 или вкладках 210-218. Другими словами, в веб-браузере может быть несколько открытых за один раз веб-страниц 220. Например, ссылаясь на Фиг. 2, окно приложения браузера 202 может отображать множество веб-страниц 220 в виде вкладок в соответствии с одним аспектом данной технологии. Более конкретно, клиентским приложением веб-браузера 124 на Фиг. 1 может генерироваться одно или более окон браузера 202, каждое из которых содержит различные меню навигации 204 и панель(и) инструментов 206. Кроме того, окно приложения браузера 202 может быть выполнено различным образом (например, с дополнительным или меньшим числом элементов окон, другой структуры, и т.д.). Как правило, каждая вкладка 210, 212, 214, 216, и 218, и/или каждое открытое окно 202 может содержать соответствующую информацию содержимого браузера. Как показано на Фиг. 2, Вкладка 1, которая находится "поверх" оставшихся открытых вкладок или на верхнем слое и, следовательно, является видимой, может содержать веб-страницу 220. В одном аспекте веб-страница 220 может содержать текст, графику, мультимедиа и одну или несколько гиперссылок 222, которые могут быть визуально представлены в виде текста, значка, изображения, анимации, или их комбинации. Ссылки 222 могут быть связаны с целевыми URL-адресами, индикатором открытия в новой вкладке, и другими данными. В другом аспекте, свойства ссылки могут быть не видны пользователю, но присутствует в контенте браузера 220 и доступны для клиентского приложения веб-браузера 124. В одном типовом аспекте веб-страницы 220 открываются в окне браузера 202 и вкладки 210-218 могут быть сохранены в кэше браузера 120.

[0039] В одном примере, пользователь может открыть веб-страницы 220 в нескольких различных сеансах просмотра. Сеанс просмотра веб-страниц может быть определен как интерактивный обмен данными между клиентским устройством 102 и сервером 104, в связи с запросом одного или более ресурсов сервера, например одной или более веб-страниц, и всего контента, связанного с ними, например, кода, текста, графики и т.д. Пользователь может выполнять несколько сеансов просмотра веб-страниц практически одновременно или в разное время дня или недели. Независимо от того, когда были открыты эти веб-страницы: в текущем сеансе просмотра или в прошлых сеансах просмотра (например, завершенные или закрытые сеансы просмотра), содержимое этих веб-страниц сохраняется в кэш-памяти браузера 120.

[0040] В связи с ограниченной емкостью памяти, каждое соответствующее использование памяти 118 и кэш браузера 120 на клиентском устройстве 102 может зависеть от количества открытых вкладок, количества открытых окон, количества активных сеансов просмотра веб-страниц, объема открытых веб-страниц, и совокупных ресурсов в текущем использовании клиентского приложения веб-браузера 124. Как правило, кэш веб-браузера может занимать значительный объем системной памяти (например, 100 МБ от общего объема ОЗУ для IPhone 4), обеспечивая таким образом системную производительность клиентского устройства 102. Поэтому, желательно осуществлять эффективную организацию и управление кэшем браузера 120, связанным с клиентским приложением веб-браузера 124 таким образом, что кэш веб-браузера 120 может эффективно очищаться от старого содержимого с целью повышения общей производительности системы. В соответствии с предпочтительным аспектом приложение веб-браузера 124 может использовать менеджер кэша 116 для осуществления логической организации и управления кэшем 120 браузера.

[0041] На Фиг. 3 представлена типовая конфигурация 300 кэш-менеджера 116 в соответствии с одним из аспектов. Как показано, менеджер кэша 116 может содержать модуль определения логической связи 302, который может быть выполнен с возможностью определения логических связей между множеством веб-страниц, хранящихся в кэше браузера 120. Менеджер кэша 116 может дополнительно содержать модуль кластеризации 304, который может быть выполнен с возможностью сопоставления множества веб-страниц с одним или несколькими кластерами, в зависимости от определенных логических связей между множеством веб-страниц. Менеджер кэша 116 может дополнительно содержать модуль определения объема кэша, выполненный с возможностью определения текущего используемого объема кэша браузера 120. Менеджер кэша 116 может дополнительно содержать модуль идентификации кластера 308, который может быть выполнен с возможностью определения веб-страницы или кластера веб-страниц для удаления из кэша в зависимости от идентифицированной информации, связанной с одним или более кластеров в случае, если используемый объем кэша равен или превышает пороговое значение. Менеджер кэша 116 может дополнительно содержать модуль удаления кэша 310, выполненный с возможностью удаления из кэша одной или более веб-страниц в зависимости от идентифицированной информации, связанной с одним или более кластерами в кэше. Менеджер 116 кэша может также содержать другие модули 311, используемые для управления кэшем 120.

[0042] Термин "модуль" в данном контексте означает физическое устройство, аппарат или множество модулей, выполненных с использованием аппаратного обеспечения, например, с помощью интегральной схемы специального назначения (ASIC) или программируемой логической интегральной схемы (FPGA), или же комбинации аппаратного и программного обеспечения, например, с помощью микропроцессорной системы и набора команд, реализующих функциональные возможности модуля, трансформирующие (при выполнении) микропроцессорную систему в устройство специального назначения. Модуль также может быть выполнен в виде комбинации двух модулей, определенные функции которых обеспечиваются только аппаратным обеспечением, а другие функции обеспечиваются комбинацией аппаратного и программного обеспечения. В некоторых конкретных вариантах осуществления технологии по меньшей мере часть модулей (а в некоторых случаях - все) могут быть использованы в процессоре компьютера общего назначения (например, подобном подробно описанному ниже со ссылкой на Фиг. 6). Соответственно, каждый модуль может быть выполнен в виде множества различных конфигураций и не ограничивается конкретным вариантом осуществления, приведенным здесь в качестве примера.

[0043] Например, со ссылкой на Фиг. 2, пользователь может открыть одну или несколько веб-страниц в разных окнах или вкладках веб-браузера 200. Например, различные веб-страницы 220 могут быть открыты во Вкладках 210-218. Более конкретно, в окне приложения браузера 202 может быть, например, 5 открытых вкладок, из которых вкладка 212 может быть открыта соответственно первой ссылке из Вкладки 210, и Вкладка 214 может быть второй ссылкой из Вкладки 210. Таким образом, вкладки 210, 212, 214 могут быть определены с помощью менеджера кэша 116 и могут быть логически связанными друг с другом, в зависимости от различных описанных ниже критериев. Оставшаяся Вкладка 216 (например, соответствующая веб-сайту новостей) и Вкладка 218 (например, соответствующая сайту электронной коммерции) из пяти открытых вкладок может не быть связанной с Вкладками 210-214, или друг с другом. Таким образом, кэшированные данные из Вкладки 216 и Вкладки 218 в кэше браузера 120, не связанны логически с объединенными Вкладками 210, 212, 214, которые могут быть сгруппированы с меньшим приоритетом, чем Вкладки 210-214 и могут очищаться первыми при определенных условиях, как будет объяснено более подробно ниже.

[0044] В одном примере когда ресурсы и информация, связанные с каждой запрошенной веб-страницей, полностью или частично загружены на клиентское устройство 102 из хост-сервера и/или сервера приложений/контент-провайдеров 104а (например, все связанные с ним ресурсы и информация получены и загружены кэшем веб-браузера 120), менеджер кэша 116 может выделить часть кэша браузера 120, например, часть кэша для HTTP веб-ресурсов 232, часть кэша для HTML5 приложения 234, часть кэша для декодированных изображений 236, и часть для дерева объектной модели документа (DOM) 238, для временного хранения загруженного содержимого веб-страниц. Объектная модель документа является интерфейсом прикладного программирования (API) для допустимых HTML и XML-документов правильного формата, и определяет логическую структуру документов и путь для получения доступа и обработки документа. Кэш браузера 120 может дополнительно содержать часть кэша страниц 240 для хранения посещенных веб-страниц (веб-страниц, показанных веб-браузером 200). Часть кэша страниц 240 может позволить быструю навигацию вперед-назад путем "останова" страницы и быстрого показа ранее посещенных веб-страниц в случае, если пользователь переходит назад на ту же страницу. Как правило, часть кэша страниц 240 может хранить все ресурсы, связанные с основной HTML страницей и часть кэша для HTTP 232 может хранить каждый ресурс отдельно.

[0045] Для полной загрузки веб-страницы, менеджер кэша 116 может автоматически генерировать идентификатор веб-страницы или подобный идентификатор (например, определенную конкретную подпись данных), который однозначно описывает содержимое полученных ресурсов и информацию, которые могут быть или не могут быть URL ресурсами и информацией (например, глобальный уникальный идентификатор (GUID)). В одном примере, диспетчер кэша 116 может выполнять алгоритм (например, операцию хэширования, алгоритм представления сообщения в краткой форме (например, "MD5"), и/или аналогичный алгоритм) для генерации идентификатора веб-страницы. В другом примере, операции, алгоритмы и/или подпрограммы, используемые для генерации идентификатора веб-страницы могут быть стандартизированы и, как известно в случае других вычислительных устройств в сети общего пользования (например, сети 110 на Фиг. 1), так, что все эти вычислительные устройства, совместно использующие ту же самую сеть, могут генерировать идентичные идентификаторы в случае, если обрабатывают одну и ту же веб-страницу.

[0046] Согласно одному аспекту, менеджер кэша 116 затем может активировать модуль определения логической связи 302, как показано на Фиг. 3 с целью определения являются ли веб-страницы открытыми во вкладках 210, 212, 214, 216, 218 во время текущих сеансов просмотра, и одна или более веб-страниц уже хранятся в кэше 120 браузера с момента предыдущего (например, завершенного в данный момент) просмотра веб-страниц, логически связанных друг с другом. Например, логическая связь между двумя или более веб-страницами может быть установлена в зависимости от контекстного сходства содержимого и ресурсов, совместно используемых на этом сайте. Например, на двух или более веб-страницах обсуждаются автомобильные новости и новые модели автомобилей, являющиеся контекстуально похожими и, следовательно, логически связанными друг с другом. В другом примере, когда две или более страниц были получены с помощью веб-браузера в ответ на один и тот же поисковый запрос со стороны пользователя, то эти веб-страницы также логически связаны между собой. В другом примере, логическая связь может содержать связь по времени между множеством веб-страниц, причем каждой веб-странице соответствует определенный период времени в случае, когда извлекается каждая из множества веб-страниц и осуществляется поиск. Например, в случае, если две или более веб-страницы были открыты пользователем в течение короткого периода времени (например, в течение 10 минут), то эти страницы могут быть связанными по времени. В другом примере логические связи могут содержать подобие веб-адресов по меньшей мере части из множества веб-страниц. Например, две или более веб-страниц, загруженные из того же домена (например, cnet.com) являются также связанными. Еще в другом аспекте существуют логические связи между первой страницей и второй страницей в случае, если вторая страница была открыта с помощью ссылки, встроенной в первую страницу. В других аспектах могут различаться другие типы логических связей между веб-страницами.

[0047] Впоследствии, диспетчер кэша 116 может использовать модуль кластеризации 304, представленный на Фиг. 3 для связи одной или более веб-страниц 220 с одним или несколькими кластерами 312 в зависимости от логических связей, установленных между одной или более открытыми веб-страницами 220 и ранее кэшированными веб-страницами, которые могут быть уже связанными с одним или несколькими кластерами 312. В одном аспекте, например, в случае, если не установлено никакой логической связи между веб-страницей и другими веб-страницами в кэше, то эта веб-страница не может быть связана с любым из кластеров 312, и, таким образом, хранится отдельно в кэше браузера 120. Тем не менее, в другом аспекте, отдельная веб-страница 220 и все ресурсы, связанные с ней (например, код, текст, изображения, мультимедиа, ссылки, встроенные рекламные объявления, и т.д.) могут быть связаны с отдельным кластером 312