Claims
- 1. A system for distributing information to a set of servers connected via a communication network comprising:
a reporting process in each server for generating and transmitting a report to a distribution manager, said report containing an identification of said server and corresponding server parameters, whereby said server offers to become a participant in a distribution job; said distribution manager connected to said network and configured to receive said reports from said servers and to create a prioritized list of servers selected as participants in a distribution job according to said server 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 server 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 server and to request a copy of said information from said prior participant or from said distribution server, and to thereafter request further distribution instructions from said distribution server until instructed that no other participants require said information; whereby each participant obtains a copy of the information and the distribution server obtains confirmation that each server has obtained said information.
- 2. The system of claim 1 in which the server parameters by which said prioritized list are selected from the set of parameters consisting of location, server performance, distance from other servers, transmission speed of said server's network connection, and reliability of said network connection.
- 3. A method of distributing information to a set of servers connected via a communication network comprising the steps of:
obtaining a list of servers desiring to participate in a distribution; prioritizing said list according to parameters associated with each server; issuing instructions to each server in the listed order, said instructions including the identification of a source for obtaining said information and an identification of the next server on the list; distributing said information according to said instructions; and notifying each server when the prioritized list is exhausted.
- 4. The method of claim 3 in which said step of prioritizing further comprises the steps of:
obtaining a set of parameters corresponding to said list of servers; and sorting said list according to at least some of said set of parameters; whereby said list provides an optimized ordering of servers to receive said information being distributed.
- 5. The method of claim 3 in which said steps of issuing instructions and distributing said information further comprise the steps of:
(A) obtaining an address of a first server address on said list, said list residing on a distribution server; (B) sending a notification message to said first server, said notification containing the address of a second server having an information file to distribute; (C) receiving said message at said first server and requesting a copy of said information from said second server; (D) sending a report to said distribution server when said second server has successfully received said copy of said information; (E) responding to said report by repeating steps (A) through (D) until said list is exhausted; whereby said copy of said information is sent to each server on said list in an order determined according to the order of the list and the transmission time in the network.
- 6. The method of claim 5 in which said steps of sending and receiving are carried out using a reliable, unicast transport protocol across said communication network.
- 7. The method of claim 3 in which said step of obtaining a list of servers further comprises the steps of:
electing a group leader among a set of back-end servers on a network segment; sending reports of the respective address and capabilities of each back-end server to said group leader; collecting and processing said reports in said group leader; generating a network segment discovery report in said group leader; sending said network segment discovery report to a distribution server; and arranging said list of servers according to at least one of said network segment discovery reports.
- 8. The method of claim 7 in which said distribution server further comprises a database for storing said reports and a graphical user interface for providing an interface for system administration personnel.
- 9 The method of claim 7 in which said step of arranging said list further comprises the steps of:
building a database of reports collected from said group leaders; collecting distribution policies; administratively dividing said back-end servers into content groups; collecting information about the network communication delays; creating a list of group leaders corresponding to each content group; and sorting each said list of group leaders according to at least one of said reported back-end server capabilities, distribution policies, and information about the network communication delays.
- 10. A system for distributing information to a set of servers connected via a communication network comprising:
a discovery process for discovering servers in a network; a distribution server for receiving the results of said discovery process, comprising
a network grouping process for grouping said servers into at least one network group; a content grouping process for grouping said servers into at least one content group; a collecting process for collecting performance information about each server from each network group; a user interface for obtaining distribution policies; and a distribution process; and a reporting process for collecting reports from at least one of said servers, processing said collected reports, and for sending said reports to said distribution server.
- 11. The system of claim 10 in which said discovery process further comprises:
a group leader for collecting reports from at least one server in a network segment and for processing said reports into a network segment report and for sending said report to said distribution server.
RELATED APPLICATION
[0001] This application is a continuation of U.S. application Ser. No. 09/545,337, filed, Apr. 7, 2000, which is incorporated herein by reference.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09545337 |
Apr 2000 |
US |
Child |
10828431 |
Apr 2004 |
US |