ZGChoir v1.00

by Jeremy Friesner (jfriesne@gmail.com)

Released 6/26/2017

This page hosts the current release of the ZG distributed networking API and its associated demo application, ZGChoir.

The purpose of this software is to demonstrate a method of fault-tolerant distributed computing, in which a team of computers on a LAN automatically work together to provide a high-availability service with N-way failover. The computers on the team self-organize, so that as long as at least one team member remains online and functional, the service remains available and no functionality or data is lost. In particular, individual computers may go offline or come online at any time without disrupting the functionality of the overall system -- there is no "single point of failure".

To demonstrate this behavior in a way that is easy to visualize and understand, the ZGChoir demo application harnesses a team of computers together to perform as a handbell choir -- each participating computer is assigned to play one or more handbells, and they collaborate on the playback. If a particular peer goes away, his handbells are automatically re-assigned to some other (remaining) peers, such that the song continues to be played correctly. If a new peer comes online, he will be given some handbells to play, reducing the load on the other peers.

  • The full README file for the ZGChoir demo application can be viewed at this link.
  • Click here to download the MacOS/X installer for the ZGChoir demo program.
  • Click here to download the Windows installer for the ZGChoir demo program.
  • Pre-packaged source code for the ZGChoir program and ZG library can be found at this link.
  • The GitHub page for ZG/ZGChoir can be found at this link.
  • The C++ Programmer's Guide file to the ZG library can be found at this link.
  • Online DOxygen API documentation for the ZG and ZGChoir software can be found at this link.