IP Library Granted Patent US 10,474,448
Granted Patent B2
US 10,474,448 · App. 15/903,852 · Granted Nov 12, 2019

Method and system for providing software updates to local machines

Inventor: John Melton Reynolds (Oxford, GB)
Assignee: Sophos Limited
G06F8/65G06F8/658G06F16/182H04L41/082G06F9/44G06F15/16H04L12/6418
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 10,474,448
App. No.
15/903,852
Granted
Nov 12, 2019
Kind
B2
Abstract

In embodiments of the present invention improved capabilities are described for a updating software in a plurality of devices coupled to one another in a communicating relationship through a local network, the method comprising receiving a descriptor file for a software update at the first device from a remote source outside the local network, the descriptor file including a hash code for each of a plurality of update sub-files and an order for assembling the update sub-files into the software update, downloading the plurality of update sub-files to the first device from a remote source outside the local network until the sub-files identified in the descriptor file are present on the first device, where a presence of the sub-files is evaluated using the hash codes in the descriptor file, and broadcasting every one of the plurality of update sub-files from the first device to the number of other devices.

Claims (34)

1. A method of updating a threat management policy among computers in a local network, the method comprising:

receiving a descriptor file at a first device of a plurality of local computing devices coupled in a communicating relationship to one another through a local network that supports broadcast communications, the descriptor file including a hash code for each of a plurality of update sub-files and indicating an order in which the plurality of update sub-files assemble into a threat management policy update;

determining if the threat management policy update is relevant to a resident threat management policy on the first device based on matching an identifier for the threat management policy update contained in the descriptor file to an identifier for the resident threat management policy on the first device;

if the threat management policy update is relevant to the resident threat management policy on the first device, determining that one of the plurality of update sub-files is not stored in a memory of the first device based on a comparison of a corresponding one of the hash codes included in the descriptor file with the hash code for one or more of the plurality of update sub-files currently stored in the memory;

downloading the one of the plurality of update sub-files to the first device;

broadcasting the one of the plurality of update sub-files from the first device to other ones of the plurality of local computing devices using a broadcast protocol of the local network; and

comparing the hash codes of the update sub-files provided in the descriptor file to the hash codes for sub-files stored in the memory of the first device and, if all sub-files are found to be in the memory of the first device, assembling the threat management policy update from the plurality of update sub-files and installing the threat management policy update.

2. The method of claim 1 , wherein the memory of the first device is a cache memory.

3. The method of claim 1 , wherein the first device of the plurality of local computing devices downloads the descriptor file and a first update sub-file, and where the first device then broadcasts the first update sub-file to a second device of the plurality of local computing devices prior to the second device receiving the descriptor file, and the second device identifies the first update sub-file as relevant through an identifier for a software update included with the broadcast from the first device, and stores the first update sub-file in memory if the update is determined to be relevant.

4. The method of claim 1 , wherein the descriptor file is transmitted to the plurality of local computing devices in a secure manner that includes a digital signature.

5. The method of claim 1 , wherein sizes of update sub-files in the plurality of update sub-files are such that the plurality of update sub-files fits in a single broadcast packet.

6. The method of claim 5 , wherein the single broadcasted packet includes a copy of the hash code to increase efficiency of a packet receiver process in the other ones of the plurality of local computing devices.

7. The method of claim 1 , wherein the broadcast of the update sub-files is encrypted.

8. The method of claim 1 , wherein a rate of broadcasts is set low to allow the plurality of local computing devices to perform updates over a period of time to minimize impacts to network utilization.

9. A computer program product comprising non-transitory executable code embodied in a non-transitory computer readable medium that, when executing on one or more computing devices, performs the steps of:

receiving a descriptor file at a first device of a plurality of local computing devices coupled in a communicating relationship to one another through a local network that supports broadcast communications, the descriptor file including a hash code for each one of a plurality of update sub-files and indicating an order in which the plurality of update sub-files assemble into a threat management policy update;

determining if the threat management policy update is relevant to a resident threat management policy on the first device by matching an identifier for the threat management policy update contained in the descriptor file to an identifier for resident software on the first device;

if the threat management policy update is relevant to resident software on the first device, determining that one of the plurality of update sub-files is not stored in a memory of the first device based on a comparison of a corresponding one of the hash codes included in the descriptor file with the hash code for one or more of the plurality of update sub-files currently stored in the memory;

downloading the one of the plurality of update sub-files to the first device;

broadcasting the one of the plurality of update sub-files from the first device to other ones of the plurality of local computing devices using a broadcast protocol of the local network; and

comparing the hash codes of the update sub-files provided in the descriptor file to the hash codes for sub-files stored in memory of the first device and, if all sub-files are found to be in the memory of the first device, assembling the threat management policy update from the plurality of update sub-files and installing the threat management policy update.

10. The computer program product of claim 9 , wherein the memory of the first device is a cache memory.

11. The computer program product of claim 9 , wherein the descriptor file is transmitted to the plurality of local computing devices in a secure manner that includes a digital signature.

12. The computer program product of claim 9 , wherein sizes of update sub-files in the plurality of update sub-files are such that the plurality of update sub-files fits in a single broadcast packet.

13. The computer program product of claim 12 , wherein the single broadcasted packet includes a copy of the hash code to increase efficiency of a packet receiver process in the other ones of the plurality of local computing devices.

14. The computer program product of claim 9 , wherein the broadcast of the update sub-files is encrypted.

15. The computer program product of claim 9 , wherein a rate of broadcasts is set low to allow the computing devices to perform updates over a period of time to minimize impacts to network utilization.

16. A system for updating threat management policies on a plurality of local computing devices, each local computing device including a processor and coupled in a communicating relationship on a local network that supports broadcast communication, the system comprising:

a software update facility in communication with the plurality of local computing devices through the local network, the software update facility including a plurality of update sub-files and a descriptor file stored in memory, the plurality of update sub-files making up a threat management policy update when combined together, and the descriptor file transmitted to the plurality of local computing devices and including a hash code for each one of a plurality of update sub-files; and

an updater processor on each of the plurality of local computing devices, wherein at least one of the plurality of local computing devices downloads one of the plurality of update sub-files from the software update facility, wherein the at least one of the plurality of local computing devices is configured to broadcast the downloaded update sub-file to the other ones of the plurality of local computing devices using a broadcast protocol of the local network, wherein each of the downloads is for an update sub-file that the at least one of the plurality of local computing devices does not currently have stored in its memory as determined based on a comparison of a corresponding one of the hash codes included in the descriptor file with the hash code for one or more of the plurality of update sub-files currently stored in a memory of the at least one of the plurality of local computing devices, and wherein the at least one of the plurality of local computing devices is configured to compare the hash codes of the update sub-files provided in the descriptor file to the hash codes for sub-files stored in its memory and, if all sub-files are found to be in its memory, to assemble the threat management policy update from the plurality of update sub-files and to install the threat management policy update.

17. The system of claim 16 , wherein the descriptor file is transmitted to the plurality of local computing devices in a secure manner that includes a digital signature.

18. The system of claim 16 , wherein sizes of update sub-files in the plurality of update sub-files are such that the plurality of update sub-files fits in a single broadcast packet.

19. The system of claim 18 , wherein the single broadcasted packet includes a copy of the hash code to increase efficiency of a packet receiver process in the other ones of the plurality of local computing devices.

20. The system of claim 16 , wherein the broadcast of the update sub-files is encrypted.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 053476/0681 Recorded Mar 9, 2021
From: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
To: SOPHOS LIMITED
Reel/Frame 056469/0815 →
PATENT SECURITY AGREEMENT FIRST LIEN Recorded Jul 6, 2020
From: SOPHOS LIMITED
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 053124/0350 →
PATENT SECURITY AGREEMENT SECOND LIEN Recorded Jul 6, 2020
From: SOPHOS LIMITED
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 053476/0681 →
CHANGE OF NAME Recorded Feb 26, 2018
From: SOPHOS PLC
To: SOPHOS LIMITED
Reel/Frame 045441/0883 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2018
From: REYNOLDS, JOHN MELTON
To: SOPHOS PLC
Reel/Frame 045446/0411 →
Continuity (3)
Continuation 15287115 · Oct 6, 2016
Continuation 13460913 · May 1, 2012
Related Publication 20180181387A1 · Jun 28, 2018