# US 12,192,324 B2 · Device update transmission using a filter structure

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

- Number: US 12,192,324 B2
- Document ID: US12192324B2
- Status: Granted
- Kind: B2
- Application number: 17/488,741
- Filed: 2021-09-29
- Published: 2022-01-20
- Granted: 2025-01-07
- Earliest claimed: 2019-06-11
- Assignees: Integrity Security Services LLC
- Applicants: INTEGRITY Security Services LLC
- Inventors: Neil Locketz
- Web page: https://patentgrep.com/patent/US12192324B2

## CPC

- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- H04L 9/0891: {Revocation or update of secret information, e.g. encryption key update or rekeying}
- H04L 9/3263: {involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements (network architectures or network communication protocols for supporting authentication of entities using certificates in a packet data network H04L63/0823)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A server including a processor and a non-transitory computer readable medium is provided. The medium includes computer-executable instructions cause the processor to perform operations including obtaining a filter data structure comprising a plurality of hash values, each hash value corresponding to a computer device of a plurality of computer devices in an update campaign, determining that a requesting computerized device is in the update campaign, in response to determining, sending a request to confirm that the computerized device is a member of the campaign, in response to confirming that the computerized device is a member of the campaign, providing the device update to the computerized device, and in response to determining that the computerized device does not belong to the campaign, providing an indication that there is no device update for the computerized device.

## Claims

### Claim 1

A server comprising:
a processor; and
a non-transitory computer readable medium comprising computer-executable instructions that cause the processor to perform operations comprising:
obtaining, a filter data structure comprising a plurality of hash values, each hash value corresponding to a computer device of a plurality of computer devices in an update campaign;
determining that a requesting computerized device is in the update campaign using one or more of the hash functions of the filter data structure and identifying information identifying the requesting computerized device;
in response to determining that the requesting computerized device is to receive a device update, sending a request to confirm that the computerized device is a member of the campaign;
in response to confirming that the computerized device is a member of the campaign, providing the device update to the computerized device; and
in response to determining that the computerized device does not belong to the campaign, providing, to the computerized device, an indication that there is no device update for the computerized device.

### Claim 2 (depends on 1)

The server of claim 1, wherein the filter data structure comprises a cuckoo filter data structure.

### Claim 3 (depends on 2)

The server of claim 2, wherein the filter data structure is a semi-sorted cuckoo filter data structure.

### Claim 4 (depends on 1)

The server of claim 1, wherein the filter data structure comprises an Xor filter data structure.

### Claim 5 (depends on 1)

The server of claim 1, wherein the device update comprises a digital asset.

### Claim 6 (depends on 5)

The server of claim 5, wherein the digital asset comprises one or more of software, firmware, and a digital certificate.

### Claim 7 (depends on 5)

The server of claim 5, wherein the digital asset is configured to modify operation of the computerized device.

### Claim 8 (depends on 1)

The server of claim 1, wherein the device update comprises an enrollment certificate or a pseudonym certificate.

### Claim 9 (depends on 1)

The server of claim 1, wherein the server is a network edge device.

### Claim 10 (depends on 1)

The server of claim 1, wherein the computerized device is an internet of things (IoT) device, a consumer appliance, or a vehicle.

### Claim 11

A server comprising:
a processor; and
a non-transitory computer readable medium comprising computer-executable instructions that cause the processor to perform operations comprising:
detecting a campaign initiation request specifying a plurality of computerized devices to be updated with a device update for a campaign;
generating a filter data structure comprising a plurality of hash values, wherein each hash value is based on data associated with one of the computerized devices in the plurality of computerized devices;
providing the filter data structure from the server to a second server;
receiving a request for the device update from a computerized device that has been preliminarily determined to be in the campaign based on the filter data structure;
confirming that the computerized device is a member of the campaign based on the data corresponding to the plurality of computerized devices to be updated; and
providing the device update associated with the request to at least one of a second server or the computerized device; wherein,
if the computerized device is not confirmed as a member of the campaign, providing to at least one of the second server and the computerized device, an indication that there is no device update for the computerized device.

### Claim 12 (depends on 11)

The network edge device of claim 11, wherein the filter data structure comprises a cuckoo filter data structure.

### Claim 13 (depends on 12)

The network edge device of claim 12, wherein the filter data structure is a semi-sorted cuckoo filter data structure.

### Claim 14 (depends on 11)

The network edge device of claim 11, wherein the filter data structure comprises an Xor filter data structure.

### Claim 15 (depends on 11)

The campaign management service of claim 11, wherein the device update comprises an enrollment certificate or a pseudonym certificate.

### Claim 16 (depends on 11)

The server of claim 11, wherein the operations further comprise: storing data corresponding to the computerized devices to be updated,
wherein the data comprises one or more of a campaign start date, a campaign end date, a plurality of vehicle identification numbers, a plurality of product serial numbers, and a product model number.

### Claim 17 (depends on 11)

The server of claim 11, wherein the device update further comprises installation information or an installation script.

### Claim 18

A method for providing campaign based device updates, the method comprising:
detecting, by a first server, a campaign initiation request specifying a plurality of computerized devices to be updated with a device update for a campaign;
generating a filter data structure comprising a plurality of hash values, wherein each hash value is based on data associated with one of the computerized devices in the plurality of computerized devices;
providing the filter data structure, to a second server in communication with at least one of the computerized devices;
receiving, by the second server a request for the device update from a computerized device that has been preliminarily determined to be in the campaign based on the filter data structure;
determining, by the second server, whether a requesting computerized device is in the update campaign based on the filter data structure and identifying information identifying the requesting computerized device;
in response to the determining, confirming, by the first server, that the computerized device is a member of the campaign based on the data corresponding to the plurality of computerized devices to be updated; and
in response to the confirming, providing the device update to the requesting computerized device; wherein,
if the computerized device is not confirmed as a member of the campaign, providing to at least one of the second server and the computerized device, an indication that there is no device update for the computerized device.

### Claim 19 (depends on 18)

The method of claim 18, wherein the plurality of hash values are generated based on a predetermined number of hash functions.

### Claim 20 (depends on 18)

The method of claim 18, further comprising storing, by the first server, the data corresponding to the plurality of computerized devices, wherein the data comprises one or more of a campaign start date, a campaign end date, a plurality of vehicle identification numbers, a plurality of product serial numbers, and a product model number.
