Updating data from a source computer to groups of destination computers
First Claim
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.
11 Assignments
0 Petitions
Accused Products
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.
-
Citations
17 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 14, 15, 16, 17)
-
-
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. - View Dependent Claims (7, 8, 9, 10)
-
-
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. - View Dependent Claims (12, 13)
-
Specification