Another area of distributed system research that has contributed toward the study of large-scale autonomous replication is that of group communication. A group communication system provides the ability for one member of a group to efficiently broadcast a message to all other members of the same group. This ability is most useful for distributed systems sharing information that changes rapidly and for systems where the data cannot reside in one centralized data base but must be distributed across multiple computers.
Several of these systems take network topology into account when making decisions on how to replicate information; this research has bearing on push-caching which also tries to make optimal caching decisions based on network topology. Group communication is also an efficient way to maintain shared information, such as that needed to maintain a listing of available push-cache servers.
One system, built by Richard Golding as his PhD thesis [16], is particularly efficient over traditional Internet point-to-point communication and can take network topology somewhat into account as it decides how to propagate messages. After discussing Golding's ideas, we will see how they have been adapted by Danzig et al for maintaining the shared databases used by replicated services.