Topics in Distributed Algorithms: On TDMA for Ad Hoc Networks and Coded Atomic Storage Algorithms
                
                        Licentiate thesis, 2015
                
            
                    
                        Distributed algorithms run on a network of nodes. The nodes are running
concurrently and are independent from each other. Furthermore, they have their own 
instructions and information. In this context, the challenges are to show that
the algorithm is correct, regardless of computational, or communication delays.
Furthermore, the behavior after transient faults and under the existence of
Byzantine nodes is of our interest.
This thesis discusses fundamental communication models for distributed algorithms. 
These models are implementing abstract communication methods. 
First we address medium access control for a wireless medium with guarantees
on the communication delay. We discuss time division multiple access
protocols for ad-hoc networks and we introduce an algorithm that creates a
TDMA schedule without
using external references for localization, or time. This algorithm recovers
from transient faults and  is self-stabilizing. The TDMA schedule provides
guarantees on the delivery time. This enables the use of this algorithm as MAC 
layer for safety critical applications. Furthermore, we provide bounds for the 
convergence. 
The second topic is the emulation of shared memory on message passing
networks. Both, shared memory and message passing are basic interprocessor
communication models for distributed algorithms. We are providing a way of
emulating shared memory on top of an existing message passing network under
the presence of data corruption and stop-failed nodes. Additionally, we ensure
the privacy of the data that is stored in the shared memory.
                    
                    
                            
                                Fault-Tolerance
                            
                            
                                TDMA
                            
                            
                                Message Passing
                            
                            
                                Self-Stabilization
                            
                            
                                Distributed Algorithm
                            
                            
                                Wireless Networks
                            
                            
                                Time Division Multiple Access
                            
                            
                                Shared Memory
                            
                            
                                Privacy