EP1744520A2

Method and apparatus for selecting a group leader

Abstract

The present invention provides a system and apparatus for efficient and reliable, control and distribution of data files or portions of files, applications, or other data objects in large-scale distributed networks. A unique content-management front-end provides efficient controls for triggering distribution of digitized data content to selected groups of a large number of remote computers servers. Transport-layer protocols interact with distribution controllers to automatically determine an optimized tree-like distribution sequence to group leaders selected by network devices at each remote site. Reliable store-and-forward transfer to clusters is accomplished using a unicast protocol in the ordered tree sequence. Once command messages and content arrive at all participating group leaders, local hybrid multicast protocols efficiently and reliably distribute them to the back-end nodes for interpretation and execution. Positive acknowledgement is then sent back to the content manager from each group leader, and the updated content in each remote device autonomously goes "live" when the content change is locally completed.

EP1744520A2, drawing sheet 1
Sheet 1 of 9

Term

Term ended

Projected expiry passed 9 April 2021, 5.5 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

68 claims: 9 independent, 59 dependent

  1. 1
    A method for determining the completion status of processing by individual nodes of a group of destination nodes on a multicast data channel, said group having a group leader, comprising the steps of:notifying an assignment processor in at least one of said destination nodes that an assignment has been received for processing;determining completion status of said processing by at least one of said destination nodes;and notifying said group leader of said completion status by a message from said at least one destination node such that the group leader acquires a collective indication of status from nodes within said group.
  2. 4
    A system for distributing information to a plurality of group members connected via a communication network, comprising:a content control manager (CCM) for processing said information into at least one assignment for a distribution job, and for managing said distribution of said at least one assignment to said plurality of group members;a set of group leaders, each having a corresponding set of group members and each communicating with said CCM, for forwarding said assignments to other group leaders in said set of group leaders according to commands from said CCM, and for forwarding said assignments to said corresponding set of group members belonging to a set of destinations;each of said group members being associated with a command interpreter for carrying out said assignments on each group member, whereby said information is communicated to each of said group members within said set of destinations.
  3. 17
    A method of distributing information via a communication network, comprising the steps of:determining a content change in a source file;determining a set of destination servers for receiving an update;generating a sequence of update commands for said destination servers;obtaining a list of clusters for delivery of said sequence to said set of destination servers;communicating said sequence to each of said clusters on said list;forwarding said sequence to each destination server within said cluster;and executing said sequence on at least some of said destination servers.
  4. 28
    A method for selecting a group leader among servers in a multicast network segment comprising the steps of:configuring a set of said servers to participate in electing a leader, each said server having a corresponding voting priority;determining when a new leader is needed;and electing one server of said set to become said new leader.
  5. 35
    A system for determining a group leader among a group of servers comprising:a set of participant servers including at least some servers capable of participating in electing a group leader;a communication channel from each participant to each other participant;a monitor process in each participant to determine which server is the current group leader;and an election process in each participant to calculate a voting priority of said participant and to select a new group leader according to said voting priority, said election process triggered by said monitor process.
  6. 41
    A method for determining registration of members of a cluster of servers on a network segment comprising the steps of:(A) designating a group leader on said network segment;(B) each member sending a registration message to said group leader;(C) said group leader multicasting a registration report including an identifier corresponding to each registered member;(D) sending another registration message from any member receiving said registration report in which said member's corresponding identifier is missing;(E) repeating steps (C) and (D) until each said member receives a registration report including its own corresponding identifier as a registered member.
  7. 48
    A system for distributing information to a set of destination nodes connected via a communication network comprising:a reporting process in each destination node for generating and transmitting a report to a distribution manager, said report containing an identification of said destination node and corresponding destination node parameters, whereby said destination node offers to become a participant in a distribution job;said distribution manager connected to said network and configured to receive said reports from said destination nodes and to create a prioritized list of destination nodes selected as participants in a distribution job according to said destination node parameters, and having a management process for sending information to each participant;said management process adapted to send each participant instructions to obtain a copy of said information either from said distribution manager or from another identified participant, until each participant has received a copy of said information;each participant having a store-and-forward process configured to receive instructions from a prior participant or from said distribution manager and to request a copy of said information from said prior participant or from said distribution manager, and to thereafter request further distribution instructions from said distribution manager until instructed that no other participants require said information;whereby each participant obtains a copy of the information and the distribution manager obtains confirmation that each destination node has obtained said information.
  8. 50
    A method of distributing information to a set of destination nodes connected via a communication network comprising the steps of:obtaining a list of destination nodes desiring to participate in a distribution;prioritizing said list according to parameters associated with each destination node on said list;issuing instructions to each destination node according to the prioritized list order, said instructions including the identification of a source for obtaining said information and an identification of the next destination node on the prioritized list;distributing said information according to said instructions;and notifying each destination node when the prioritized list is exhausted.
  9. 57
    A system for distributing information to a set of destination nodes connected via a communication network comprising:a discovery process for discovering destination nodes in a network;a distribution server for receiving the results of said discovery process, comprising at least one network group comprised of a set of destination nodes;a list of destination nodes comprising at least one user-defined content group;a user interface for obtaining distribution policies;and a distribution process for managing the transmission of said information to each of said network groups.