IP Library Granted Patent US 9,916,390
Granted Patent B2
US 9,916,390 · App. 15/109,004 · Granted Mar 13, 2018

Managing web browser cache for offline browsing

Inventors: Alexey Vladimirovich Dodonov (Moscow, RU); Ievgen Viktorovich Krasichkov (Lugansk, UA)
Assignee: YANDEX EUROPE AG
G06F17/30902G06F17/3064G06F17/30117G06F17/30321G06F17/30377G06F17/30575G06F17/30598G06F17/30864G06F17/30867G06F17/30884G06F17/30887G06F17/30967
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,916,390
App. No.
15/109,004
Granted
Mar 13, 2018
Kind
B2
Abstract

Disclosed are systems and methods for managing a browser cache offline. An example method comprises storing in a cache of a web browser on a user device information about a plurality of contents of a web page visited by a user during one or more web browsing sessions; determining logical relationships among the plurality of the contents of the web page; associating the plurality of contents of the web page with a cluster based on the determined logical relationships; receiving a request to load a web page from the web browser on the user device; upon detecting that the user device is offline, determining and detecting that the requested web page is stored in the cache and is associated with a cluster, and retrieving from the cache for off-line browsing on the user device the plurality of contents of the requested web page associated with the identified cluster.

Claims (61)

1. A computer-implemented method for managing a browser cache to facilitate offline browsing by a web browser associated with the browser cache, the web browser executable by a user device, the method executable by the user device, the method comprising:

storing in the browser cache of the web browser on the user device information about a first plurality of contents of a first web page visited by a user during one or more web browsing sessions;

storing in the browser cache of the web browser on the user device information about a second plurality of contents of a second web page visited by the user during one or more web browsing sessions, the first plurality of contents of the first web page and the second plurality of contents of the second web page forming a total plurality of contents of the first and the second web pages;

analyzing, by the user device, the total plurality of contents of the first and the second web pages;

determining, by the user device, logical relationships among the total plurality of contents of the first and the second web pages, the logical relationships comprising a contextual relationship among the total plurality of contents of the first and the second web pages, the logical relationships between first and second portions of the total plurality of contents of the first and the second web pages existing when the second portion is opened from a link embedded in the first portion;

associating at least a portion of the total plurality of contents of the first and the second web pages with a cluster in the browser cache based on the determined logical relationships among the total plurality of contents of the first and the second web pages, the at least a portion of the total plurality of contents of the first and the second web pages comprising at least some content from the first plurality of contents of the first web page and at least some content from the second plurality of contents of the second web page, the cluster being assigned a given unique identifier;

storing, in the browser cache, the given unique identifier with each of the at least the portion of the total plurality of contents of the first and the second web pages thereby grouping each of the at least the portion of the total plurality of contents of the first and the second web pages into the cluster in the browser cache;

determining that a given content of the total plurality of contents of the first and the second web pages is unimportant for the user based on user interactions with the respective first and second web pages being indicative of non-importance of the given content to the user;

de-clustering the given content from the cluster;

receiving a request to load the first and the second web pages from the web browser on the user device;

upon detecting that the user device is offline, determining if the first and the second web pages are stored in the cache and if the first and the second web pages are associated with the cluster;

when the first and the second web pages are stored in the cache and associated with the cluster, retrieving from the cache for offline browsing on the user device the at least the portion of the total plurality of contents of the first and the second web pages associated with the cluster excluding the given content having been de-clustered from the cluster;

receiving from the user via the web browser one or more edits to at least a portion of a given web page contents when the user device is offline;

associating an edited portion of the given web page contents with the cluster with which said web page is associated;

storing the given unique identifier with the edited portion and with the given web page contents in the browser cache thereby grouping the edited portion and the given web page contents into the cluster in the browser cache; and

when the user device is online, synchronizing the edited portion with the given web page contents stored in the browser cache with a remote web server.

2. The method of claim 1 , wherein the logical relationships comprise a temporal relationship among the total plurality of contents of the first and the second web pages in connection with each respective time when each of the total plurality of contents is loaded on the user device.

3. The method of claim 1 , wherein the logical relationships comprise a similarity of web addresses of the at least the portion of the total plurality of contents of the first and the second web pages.

4. The method of claim 1 , wherein the user interactions with the respective web page being indicative of the non-importance of the given content to the user comprise at least one of:

time of the last viewing by the user of the respective web page;

time spent by the user viewing the respective web page;

number of operations performed by the user on the respective web page; and

whether the respective web page is bookmarked by the user.

5. A computer-based system for managing a browser cache on a user device to facilitate offline browsing by a web browser associated with the browser cache, the web browser executable by the user device, the system comprising:

a cache of a web browser configured to store in the browser cache of the web browser on the user device information about (i) a first plurality of contents of a first web page visited by a user during one or more web browsing sessions, and (ii) a second plurality of contents of a second web page visited by the user during one or more web browsing sessions, the first plurality of contents of the first web page and the second plurality of contents of the second web page forming a total plurality of contents of the first and the second web pages;

a logical relationship determination module configured to (i) analyze the total plurality of contents of the first and the second web pages, and (ii) determine logical relationships among the total plurality of contents of the first and the second web pages, the logical relationships comprising a contextual relationship among the total plurality of contents of the first and the second web pages, the logical relationships between first and second portions of the total plurality of contents of the first and the second web pages existing when the second portion is opened from a link embedded in the first portion;

a clustering module configured to:

associate at least a portion of the total plurality of contents of the first and the second web pages with a cluster in the browser cache based on the determined logical relationships among the total plurality of contents of the first and the second web pages, the at least a portion of the total plurality of contents of the first and the second web pages comprising at least some content from the first plurality of contents of the first web page and at least some content from the second plurality of contents of the second web page, the cluster being assigned a given unique identifier; and

store, in the browser cache, the given unique identifier with each of the at least the portion of the total plurality of contents of the first and the second web pages thereby grouping each of the at least the portion of the total plurality of contents of the first and the second web pages into the cluster in the browser cache; and

determine that a given content of the total plurality of contents of the first and the second web pages is unimportant for the user based on user interactions with the respective first and second web pages being indicative of non-importance of the given content to the user; and

de-cluster the given content from the cluster;

an interface module configured to receive a request to load the first and the second web pages from the web browser on the user device;

a device offline status determination module configured to detect that the user device is offline and determine if the first and the second web pages are stored in the cache and if the first and the second web pages are associated with the cluster;

a retrieving module configured to retrieve from the cache for offline browsing on the user device the at least the portion of the total plurality of contents of the first and the second web pages associated with the cluster excluding the given content having been de-clustered from the cluster when the first and the second web pages are stored in the cache and associated with the cluster;

the interface module further configured to receive from the user via the web browser one or more edits to at least a portion of a given web page contents when the user device is offline;

the clustering module further configured to associate an edited portion of the given web page contents with the cluster with which said web page is associated;

the cache further configured to store the given unique identifier with the edited portion of the given web page contents thereby grouping the edited portion into the cluster; and

a synchronization module configured to, when the user device is online, synchronize the edited portion of the given web page contents stored in the browser cache with a remote web server.

6. The system of claim 5 , wherein the logical relationships comprise a temporal relationship among the total plurality of contents of the first and the second web pages in connection with each respective time when each of the total plurality of contents is loaded on the user device.

7. The system of claim 5 , wherein the logical relationships comprise a similarity of web addresses of the at least the portion of the total plurality of contents of the first and the second web pages.

8. The system of claim 5 , wherein the user interactions with the respective web page being indicative of the non-importance of the given content to the user comprise at least one of:

time of the last viewing by the user of the respective web page;

time spent by the user viewing the respective web page;

number of operations performed by the user on the respective web page; and

whether the respective web page is bookmarked by the user.

9. A computer-readable storage medium comprising computer-executable instructions for managing a browser cache on a user device to facilitate offline browsing by a web browser associated with the browser cache, the web browser executable by the user device, the instructions comprising:

storing in the browser cache of the web browser on the user device information about a first plurality of contents of a first web page visited by a user during one or more web browsing sessions;

storing in the browser cache of the web browser on the user device information about a second plurality of contents of a second web page visited by the user during one or more web browsing sessions, the first plurality of contents of the first web page and the second plurality of contents of the second web page forming a total plurality of contents of the first and the second web pages;

analyzing, by the user device, the total plurality of contents of the first and the second web pages;

determining, by the user device, logical relationships among the total plurality of contents of the first and the second web pages, the logical relationships comprising a contextual relationship among the total plurality of contents of the first and the second web pages, the logical relationships between first and second portions of the total plurality of contents of the first and the second web pages existing when the second portion is opened from a link embedded in the first portion;

associating at least a portion of the total plurality of contents of the first and the second web pages with a cluster in the browser cache based on the determined logical relationships among the total plurality of contents of the first and the second web pages, the at least a portion of the total plurality of contents of the first and the second web pages comprising at least some content from the first plurality of contents of the first web page and at least some content from the second plurality of contents of the second web page, the cluster being assigned a given unique identifier;

storing, in the browser cache, the given unique identifier with each of the at least the portion of the total plurality of contents of the first and the second web pages thereby grouping each of the at least the portion of the total plurality of contents of the first and the second web pages into the cluster in the browser cache;

determining that a given content of the total plurality of contents of the first and the second web pages is unimportant for the user based on user interactions with the respective first and second web pages being indicative of non-importance of the given content to the user;

de-clustering the given content from the cluster;

receiving a request to load the first and the second web pages from the web browser on the user device;

upon detecting that the user device is offline, determining if the first and the second web pages are stored in the cache and if the first and the second web pages are associated with the cluster;

when the first and the second web pages are stored in the cache and associated with the cluster, retrieving from the cache for offline browsing on the user device the at least the portion of the total plurality of contents of the first and the second web pages associated with the cluster excluding the given content having been de-clustered from the cluster

receiving from the user via the web browser one or more edits to at least a portion of a given web page contents when the user device is offline;

associating an edited portion of the given web page contents with the cluster with which said web page is associated;

storing the given unique identifier with the edited portion and with the given web page contents in the browser cache thereby grouping the edited portion and the given web page contents into the cluster in the browser cache; and

when the user device is online, synchronizing the edited portion with the given web page contents stored in the browser cache with a remote web server.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2024
From: DIRECT CURSUS TECHNOLOGY L.L.C
To: Y.E. HUB ARMENIA LLC
Reel/Frame 068524/0184 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2023
From: YANDEX EUROPE AG
To: DIRECT CURSUS TECHNOLOGY L.L.C
Reel/Frame 065692/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2016
From: YANDEX LLC
To: YANDEX EUROPE AG
Reel/Frame 040701/0087 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2016
From: DODONOV, ALEXEY VLADIMIROVICH; KRASICHKOV, IEVGEN VIKTOROVICH
To: YANDEX LLC
Reel/Frame 040879/0310 →
Priority Claims (1)
RU 2014131324 · Jul 30, 2014 · national
Continuity (1)
Related Publication 20160328485A1 · Nov 10, 2016