The growing popularity of cheap and widespread data collection “edge” devices and the easy access to communication networks (both wired and wireless) is weaving in more devices and systems into the fabric of our daily lives. As computation and storage costs continue to drop faster than network costs, the trend is to move data and computation locally, using data distribution technology to move data between the nodes as and when needed. As a result, the quantity of data, the scale of its distribution and the complexity integration is growing at a rapid pace.