# US 10,321,349 B2 · System and method of downloading filtering rules onto a mobile device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,321,349 B2
- Document ID: US10321349B2
- Status: Granted
- Kind: B2
- Application number: 15/603,842
- Filed: 2017-05-24
- Published: 2018-11-01
- Granted: 2019-06-11
- Earliest claimed: 2017-04-28
- Assignees: AO Kaspersky Lab
- Applicants: AO Kaspersky Lab
- Inventors: Alexey P. Komissarov; Victor V. Yablokov; Alexey M. Chikov
- Web page: https://patentgrep.com/patent/US10321349B2

## CPC

- H04W 28/0215: {based on user or device properties, e.g. MTC-capable devices (services for machine-to-machine communication [M2M] or machine type communication [MTC] H04W4/70; wireless resource selection or allocation plan definition based on terminal or device properties H04W72/51)}
- H04L 63/0227: {Filtering policies (mail message filtering H04L51/212)}
- H04L 63/0263: {Rule management}
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04W 12/088: using filters or firewalls
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Disclosed are techniques for downloading of filtering rules onto a mobile device. The described technique includes determining, from among at least two lists of filtering rules intended for downloading onto a mobile device, a priority sublist with a high indicator of frequency of actuation of the filtering rules from the list. The priority list is downloaded onto the mobile device. Each of the remaining non-downloaded lists of filtering rules is broken up into parts of a certain size, and a set of groups of filtering rules is formed, in each of whose groups is placed not more than one part of each remaining non-downloaded list of filtering rules. The groups of filtering rules are downloaded onto the mobile device with a certain interval of time until said formed set of groups is fully downloaded.

## Claims

### Claim 1

A method for downloading data including filtering rules from a remote server onto a mobile device, wherein the method comprises:
determining a first list, from a plurality of lists of filtering rules, having a highest indicator of frequency of actuation of the filtering rules from the list, wherein the filtering rules from the lists are designated for use by a first application on the mobile device;
transmitting the determined list to the mobile device with the aid of a second application, the second application on the mobile device being a provider of the filtering rules for the first application;
dividing each of the remaining non-downloaded lists of filtering rules intended for downloading onto the mobile device into a plurality of parts having a first size;
generating a set of groups of filtering rules based on frequency of actuation within each of the remaining non-downloaded lists of filtering rules, wherein each group of filtering rules includes a part of a first non-downloaded list of filtering rules and a part of a second, different non-downloaded list of filtering rules, and wherein in each of whose groups is placed not more than one part of each remaining non-downloaded list of filtering rules; and
transmitting the groups of filtering rules to the mobile device during time intervals having a first duration until the generated set of groups are fully downloaded onto the mobile device.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
responsive to detecting a change in the operation of the mobile device, reducing the first size of the plurality of parts having the remaining non-downloaded lists of filtering rules.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
responsive to detecting a change in the operation of the mobile device, increasing the first duration of the time intervals for downloading the set of groups of filtering rules.

### Claim 4 (depends on 3)

The method of claim 3, wherein the time intervals are increased responsive to determining that the size of the parts are ineligible for a size decrease.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
modifying at least one of the size of the plurality of parts and the duration of the time intervals response to detecting a change in the operation of the mobile device, wherein the change comprises at least one of: crashing of the first application, decrease in free memory of the mobile device down to a predetermined level, and decrease in a volume of free space on a storage device of the mobile device down to a predetermined level.

### Claim 6 (depends on 1)

The method of claim 1, wherein the downloading of the set of groups of filtering rules is done in sequence, starting with a group including filtering rules with the highest indicators of frequency of actuation, and ending with a group of rules with the lowest indicators of frequency of actuation.

### Claim 7 (depends on 1)

The method of claim 1, wherein the filtering rules are configured for the filtering of data including at least one of web content, telephone calls, and applications for mobile devices.

### Claim 8

A system for downloading data including filtering rules from a remote server onto a mobile device, wherein the system comprises:
a memory device storing a plurality of lists of filtering rules; and
a processor coupled to the memory device and configured to:
determine a first list, from the plurality of lists of filtering rules, having a highest indicator of frequency of actuation of the filtering rules from the list, wherein the filtering rules from the lists are designated for use by a first application on the mobile device;
transmit the determined list to the mobile device with the aid of a second application, the second application on the mobile device being a provider of the filtering rules for the first application;
divide each of the remaining non-downloaded lists of filtering rules intended for downloading onto the mobile device into a plurality of parts having a first size;
generate a set of groups of filtering rules based on frequency of actuation within each of the remaining non-downloaded lists of filtering rules, wherein each group of filtering rules includes a part of a first non-downloaded list of filtering rules and a part of a second, different non-downloaded list of filtering rules, and wherein in each of whose groups is placed not more than one part of each remaining non-downloaded list of filtering rules; and
transmit the groups of filtering rules to the mobile device during time intervals having a first duration until the generated set of groups are fully downloaded onto the mobile device.

### Claim 9 (depends on 8)

The system of claim 8, wherein the processor is further configured to:
responsive to detecting a change in the operation of the mobile device, reduce the first size of the plurality of parts having the remaining non-downloaded lists of filtering rules.

### Claim 10 (depends on 8)

The system of claim 8, wherein the processor is further configured to:
responsive to detecting a change in the operation of the mobile device, increase the first duration of the time intervals for downloading the set of groups of filtering rules.

### Claim 11 (depends on 10)

The system of claim 10, wherein the time intervals are increased responsive to determining that the size of the parts are ineligible for a size decrease.

### Claim 12 (depends on 8)

The system of claim 8, wherein the processor is further configured to:
modify at least one of the size of the plurality of parts and the duration of the time intervals response to detecting a change in the operation of the mobile device, wherein the change comprises at least one of: crashing of the first application, decrease in free memory of the mobile device down to a predetermined level, and decrease in a volume of free space on a storage device of the mobile device down to a predetermined level.

### Claim 13 (depends on 8)

The system of claim 8, wherein the downloading of the set of groups of filtering rules is done in sequence, starting with a group including filtering rules with the highest indicators of frequency of actuation, and ending with a group of rules with the lowest indicators of frequency of actuation.

### Claim 14 (depends on 8)

The system of claim 8, wherein the filtering rules are configured for the filtering of data including at least one of web content, telephone calls, and applications for mobile devices.

### Claim 15

A non-transitory computer readable medium comprising computer executable instructions for downloading data including filtering rules from a remote server onto a mobile device, including instructions for:
determining a first list, from a plurality of lists of filtering rules, having a highest indicator of frequency of actuation of the filtering rules from the list, wherein the filtering rules from the lists are designated for use by a first application on the mobile device;
transmitting the determined list to the mobile device with the aid of a second application, the second application on the mobile device being a provider of the filtering rules for the first application;
dividing each of the remaining non-downloaded lists of filtering rules intended for downloading onto the mobile device into a plurality of parts having a first size;
generating a set of groups of filtering rules based on frequency of actuation within each of the remaining non-downloaded lists of filtering rules, wherein each group of filtering rules includes a part of a first non-downloaded list of filtering rules and a part of a second, different non-downloaded list of filtering rules, and wherein in each of whose groups is placed not more than one part of each remaining non-downloaded list of filtering rules; and
transmitting the groups of filtering rules to the mobile device during time intervals having a first duration until the generated set of groups are fully downloaded onto the mobile device.

### Claim 16 (depends on 15)

The non-transitory computer readable medium of claim 15, further comprising instructions for:
responsive to detecting a change in the operation of the mobile device, reducing the first size of the plurality of parts having the remaining non-downloaded lists of filtering rules.

### Claim 17 (depends on 15)

The non-transitory computer readable medium of claim 15, further comprising instructions for:
responsive to detecting a change in the operation of the mobile device, increasing the first duration of the time intervals for downloading the set of groups of filtering rules.

### Claim 18 (depends on 17)

The non-transitory computer readable method of claim 17, wherein the time intervals are increased responsive to determining that the size of the parts are ineligible for a size decrease.

### Claim 19 (depends on 15)

The non-transitory computer readable medium of claim 15, further comprising instructions for:
modifying at least one of the size of the plurality of parts and the duration of the time intervals response to detecting a change in the operation of the mobile device, wherein the change comprises at least one of: crashing of the first application, decrease in free memory of the mobile device down to a predetermined level, and decrease in a volume of free space on a storage device of the mobile device down to a predetermined level.

### Claim 20 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the downloading of the set of groups of filtering rules is done in sequence, starting with a group including filtering rules with the highest indicators of frequency of actuation, and ending with a group of rules with the lowest indicators of frequency of actuation.

### Claim 21 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the filtering rules are configured for the filtering of data including at least one of web content, telephone calls, and applications for mobile devices.
