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

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

Реферат

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

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

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

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

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

[0004] Автономный просмотр локально сохраненных копий веб-страниц, которые ранее были загружены в процессе состояния онлайн, может быть полезным, когда клиентское устройство находится в автономном режиме или когда подключение к Интернету отсутствует или очень слабое. Как правило, веб-страницы загружаются неявно в кэш веб-браузера в результате предварительного просмотра пользователем в режиме онлайн. Как вариант, веб-страницы могут быть загружены явно в кэш браузера веб-браузером, выполненным с возможностью хранить локальные копии некоторых веб-страниц, которые обновляются, когда веб-браузер находится в состоянии онлайн, либо путем обновления локальных копий через определенные промежутки времени, либо путем обновления локальных копий всякий раз, когда веб-браузер переключается в состояние онлайн. Например, беспроводные устройства связи, такие как сотовые телефоны, персональные цифровые помощники и карманные персональные компьютеры, могут предоставлять пользователю такие услуги, как биржевые торги, покупка или продажа товаров и получение информации относительно спорта или рейсов. Однако пользователь, возможно, не сможет пользоваться сетевым подключением из-за того, что находится вне зоны обслуживания сети провайдера связи, находится внутри здания, блокирующего передачу и прием радиоволн, или находится вне диапазона действия релейного устройства, которое передает информацию, полученную от устройства, на сеть провайдера связи. Использование веб-браузера, который может быть выполнен с возможностью загружать веб-страницы для автономного просмотра, таким как обозреватель Internet Explorer, пользователь может создавать закладки для определенных веб-страниц (например, добавляя эти веб-страницы в список “Избранное”) для автономного просмотра, чтобы избежать расходов, задержек и проблем доступа к сети, связанных с просмотром в режиме онлайн или динамическом режиме.

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

[0006]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0036] Память 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 выключено.

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

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

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

[0040] Приложение веб-браузера 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.

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

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

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

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

[0045] Например, со ссылкой на Фиг. 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 и могут очищаться первыми при определенных условиях, как будет объяснено более подробно ниже.

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

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

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