IP Library Granted Patent US 7,159,036
Granted Patent B2
US 7,159,036 · App. 10/006,242 · Granted Jan 2, 2007

Updating data from a source computer to groups of destination computers

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 7,159,036
App. No.
10/006,242
Granted
Jan 2, 2007
Kind
B2
Abstract

A source computer 8 stores updated data that is to be distributed to a plurality of destination computers ( 12 to 30 ). The destination computers ( 12 to 30 ) are divided into groups sharing a common priority level ( 5, 4, 3, 2, 1 ). Each of these groups is then associated with a push update task to be executed by the source computer 8 . These push update tasks are then sequentially executed. If a particular group of destination computers exceeds a threshold size, then it may be further divided in accordance with a hierarchy of splitting rules. The push update tasks use multicasting to transfer the update data to the destination computers within their groups in a manner that reduces network traffic.

Claims (52)

1. A computer program product embodied on a computer readable storage medium for controlling a source computer to update out-of-date data stored by a plurality of destination computers with updated data stored by said source computer using a computer network connecting said source computer to said plurality of destination computers, said computer program product comprising:

associating code operable to associate priority data specifying a priority level with each destination computer;

establishing code operable in dependence upon said priority data to establish a plurality of groups of destination computers such that destination computers within a group of destination computers share a common priority level;

generating code operable to generate a plurality of push update tasks driven by said source computer, each push update task serving to transfer said updated data from said source computer to a corresponding group of destination computers via said computer network;

ordering code operable to order said plurality of push update tasks in dependence upon said common priority level of each group of destination computers to which a push update task relates to form a sequence of push update tasks such that push update tasks corresponding to a higher common priority level occur within said sequence before push update tasks corresponding to a lower common priority level; and

execution code operable to sequentially execute said sequence of push update tasks upon said source computer to transfer said updated data from said source computer to said plurality of destination computers via said computer network;

wherein said source computer transfers said updated data to said group of destination computers using multicast messages that are addressed to all destination computers within said group of destination computers;

wherein, if any group of destination computers includes more than a threshold number of destination computers sharing said common priority level, then said establishing code is operable to split said group to form said plurality of groups of destination computers from said destination computers sharing said common priority level and said ordering code is operable to order corresponding push update tasks to occur sequentially despite sharing said common priority level;

wherein said splitting allocates destination computers sharing a common network portion of said computer network to a common group;

wherein within said group of destination computers sharing said common priority level and being split, destination computers connected and not logged into said computer network are grouped together and split from and treated as having a lower priority level than destination computers connected and logged into said computer network;

wherein said updated data is one or more of:

malware definition data; and

a malware scanner program.

2. A computer program product embodied on a computer readable storage medium as claimed in claim 1 , wherein said computer network uses an IP transmission protocol and said multicast messages are IP multicast messages.

3. A computer program product embodied on all computer readable storage medium as claimed in claim 1 , wherein said malware includes one or more of computer viruses, worms, Trojans, banned files, banned words and banned images.

4. A computer program product embodied on a computer readable storage medium as claimed in claim 1 , wherein if said push update task has not completed updating all destination computers within said corresponding group of destination computers within a timeout period, then said push update task is terminated and updating of destination computers not completed is added to a subsequent push update task.

5. A computer program product embodied on a computer readable storage medium as claimed in claim 4 , wherein a user alert message is generated identifying those destination computers for which updating was not completed.

6. A method of updating out-of-date data stored by a plurality of destination computers with updated data stored by a source computer using a computer network connecting said source computer to said plurality of destination computers, said method comprising the steps of:

associating priority data specifying a priority level with each destination computer; in dependence upon said priority data, establishing a plurality of groups of destination computers such that destination computers within a group of destination computers share a common priority level;

generating a plurality of push update tasks driven by said source computer, each push update task serving to transfer said updated data from said source computer to a corresponding group of destination computers via said computer network;

ordering said plurality of push update tasks in dependence upon said common priority level of each group of destination computers to which a push update task relates to form a sequence of push update tasks such that push update tasks corresponding to a higher common priority level occur within said sequence before push update tasks corresponding to a lower common priority level; and

sequentially executing said sequence of push update tasks upon said source computer to transfer said updated data from said source computer to said plurality of destination computers via said computer network;

wherein said source computer transfers said updated data to said group of destination computers using multicast messages that are addressed to all destination computers within said group of destination computers;

wherein, if any group of destination computers includes more than a threshold number of destination computers sharing said common priority level, then said step of establishing splits said group to form said plurality of groups of destination computers from said destination computers sharing said common priority level and said step of ordering orders corresponding push update tasks to occur sequentially despite sharing said common priority level;

wherein said step of splitting allocates destination computers sharing a common network portion of said computer network to a common group;

wherein within said group of destination computers sharing said common priority level and being split, destination computers connected and not logged into said computer network are grouped together and split from and treated as having a lower priority level than destination computers connected and logged into said computer network;

wherein said updated data is one or more of:

malware definition data; and

a malware scanner program.

7. A method as claimed in claim 6 , wherein said computer network uses an IP transmission protocol and said multicast messages are IP multicast messages.

8. A method as claimed in claim 6 , wherein said malware includes one or more of computer viruses, worms, Trojans, banned files, banned words and banned images.

9. A method as claimed in claim 6 , wherein if said push update task has not completed updating all destination computers within said corresponding group of destination computers within a timeout period, then said push update task is terminated and updating of destination computers not completed is added to a subsequent push update task.

10. A method as claimed in claim 9 , wherein a user alert message is generated identifying those destination computers for which updating was not completed.

11. Apparatus for updating out-of-date data stored by a plurality of destination computers with updated data stored by a source computer using a computer network connecting said source computer to said plurality of destination computers, said apparatus comprising:

associating logic operable to associate priority data specifying a priority level with each destination computer;

establishing logic operable in dependence upon said priority data to establish a plurality of groups of destination computers such that destination computers within a group of destination computers share a common priority level;

generating logic operable to generate a plurality of push update tasks driven by said source computer, each push update task serving to transfer said updated data from said source computer to a corresponding group of destination computers via said computer network;

ordering logic operable to order said plurality of push update tasks in dependence upon said common priority level of each group of destination computers to which a push update task relates to form a sequence of push update tasks such that push update tasks corresponding to a higher common priority level occur within said sequence before push update tasks corresponding to a lower common priority level; and

execution logic operable to sequentially execute said sequence of push update tasks upon said source computer to transfer said updated data from said source computer to said plurality of destination computers via said computer network;

wherein said source computer transfers said updated data to said group of destination computers using multicast messages that are addressed to all destination computers within said group of destination computers;

wherein, if any group of destination computers includes more than a threshold number of destination computers sharing said common priority level, then said establishing logic is operable to split said group to form said plurality of groups of destination computers from said destination computers sharing said common priority level and said ordering logic is operable to order corresponding push update tasks to occur sequentially despite sharing said common priority level;

wherein said splitting allocates destination computers sharing a common network portion of said computer network to a common group;

wherein within said group of destination computers sharing said common priority level and being split, destination computers connected and not logged into said computer network are grouped together and split from and treated as having a lower priority level than destination computers connected and logged into said computer network;

wherein said updated data is one or more of

malware definition data; and

a malware scanner program.

12. Apparatus as claimed in claim 11 , wherein said computer network uses an IP transmission protocol and said multicast messages are IP multicast messages.

13. Apparatus as claimed in claim 11 , wherein said malware includes one or more of computer viruses, worms, Trojans, banned files, banned words and banned images.

14. A computer program product embodied on a computer readable storage medium as claimed in claim 1 , wherein said multicast messages that are addressed to said destination computers within said group of destination computers include a shared push update task.

15. A computer program product embodied on a computer readable storage medium as claimed in claim 1 , wherein each destination computer stores said priority data thereof specifying said priority level associated with said destination computer and communicates said priority data thereof with said source computer in response to a first connection with said source computer.

16. A computer program product as claimed in claim 1 , wherein said multicast messages tat are addressed to said destination computers within said group of destination computers include a shared push update task.

17. A computer program product as claimed in claim 1 , wherein each destination computer stores said priority data thereof specifying said priority level associated with said destination computer and communicates said priority data thereof with said source computer in response to a first connection with said source computer.

Assignments (11)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →
MERGER Recorded Aug 1, 2005
From: NETWORKS ASSOCIATES TECHNOLOGY, INC.
To: MCAFEE, INC.
Reel/Frame 016593/0812 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2001
From: HINCHLIFFE, ALEXANDER JAMES; HOWARD, FRASER PETER; RAI, BOBBY; KEMP, ANDREW
To: NETWORKS ASSOCIATES TECHNOLOGY, INC.
Reel/Frame 012362/0397 →