Reliable distributed information : agreement and structure
The world is inherently distributed and concurrent. The more complicated systems become, the more likely they are to fail or partially fail. This work presents several results with Byzantine Agreement and some results of using coding in solving distributed and concurrent problems. We explore adding weights to processes to model a priori knowledge of process reliability. Then, some results of what can be done when performing repeated agreement. A result between combinatorial geometry and approximate Byzantine agreement is also provided. Coding is often used in communication, but here we provide examples of the usage of coding to minimize broadcast information and to solve a concurrent problem. The first use of coding is to notice the redundant information in distributed protocols and how to use a code to reduce the amount of information needed to be transmitted. The second is a method of using coding to provide a buffer of memory in a concurrent system that can be updated such that readers see the update as atomic.