Systems programming: designing and developing distributed applications - Anthony, Richard John (Elsevier, 2016)