In today’s typical industrial environments, the computation of the data distribution schedules is highly centralised. Typically, a central entity configures the data forwarding paths so as to guarantee low delivery delays between data producers and consumers. However, these requirements might become impossible to meet later on, due to link or node failures, or excessive degradation of their performance. In this paper, we focus on maintaining the network functionality required by the applications after such events. We avoid continuously recomputing the configuration centrally, by designing an energy efficient local and distributed path reconfiguration method. Specifically, given the operational parameters required by the applications, we provide several algorithmic functions which locally reconfigure the data distribution paths, when a communication link or a network node fails. We compare our method through simulations to other state of the art methods and we demonstrate performance gains in terms of energy consumption and data delivery success rate as well as some emerging key insights which can lead to further performance gains.
 Maintaining critical data access latency requirements and ensuring efficient energy consumption on the field devices are two important challenges of Industry 4.0. The traditional, centralized industrial networks which offer primitive data distribution functions, might be incapable of meeting such strict requirements. In this paper, in order to overcome this issue, we focus on a network of resource constraint IoT devices, and exploit the presence of a few more capable Edge nodes that act as distributed local data storing proxies for all IoT devices. We show that, given the proxy locations in the network, the initial energy supplies of the nodes, a pattern of data requests from IoT devices, and the maximum access latency that consumer nodes can tolerate, the problem of finding how to distribute the data on the Edge nodes maximizing the network lifetime is computationally hard. We design an offline centralized heuristic algorithm for identifying which paths in the network the data should follow and on which proxies they should be cached, in order to meet the data access latency constraint and to maximize the network lifetime. We implement the method and evaluate its performance using a testbed of IEEE 802.15.4-enabled network nodes. We demonstrate that the proposed heuristic (i) guarantees data access latency below the given threshold, and (ii) performs well in terms of network lifetime with respect to a theoretically optimal solution. A significant number of promising wireless sensor applications for the Internet of Things (IoT) are becoming a reality. Most of these applications require a variety of heterogeneous and geographical sensor data to be delivered to users such as mobile devices, vehicles, and cloud systems for big data analysis to extract maximum value from the physical world. Data caching of popular data items in a network can significantly improve efficiency and reliability of content delivery by contributing the reduction of data access delay, bandwidth usage, and packet losses in resource-limited low-rate wireless sensor networks. In this paper, we propose an efficient cache placement protocol (BCDA) that minimizes data access cost and guarantees cache consistency in a lightweight manner. The BCDA decides where to store a copy of data content in a network using a distributed approach according to clients' access patterns, memory capacity, data size, and so on. To evaluate the feasibility and effectiveness, we implemented the BCDA in ns-2 and compared its performance with existing caching strategies. The simulation results highlight that the BCDA significantly reduces data access cost with minimizing cache management cost. Industrial IoT networks are typically used for monitoring systems and supporting control loops, as well as for movement detection systems, process control and factory automation. To this end, data generated by monitoring IoT devices are collected, elaborated and sent to controllers and actuators. The routing of data from IoT sensors to actuators is an integral part of any large-scale industrial network for maintaining critical delay requirements. Centralised schemes are typically used, whereby data are transferred to a central network controller, from where they are accessed by any other node requiring them. This may result in significant overheads and suboptimal resource consumption. In this paper, we propose a distributed, cooperative Data Management Layer (DML), whereby nodes cooperate to store data within the network. The DML is decoupled yet interacts with the underlying Network Plane. Specifically, given a set of data, the sets of nodes generating and requesting them, and a maximum access delay that requesting nodes can tolerate, the DML efficiently identifies a limited set of proxies in the network where data are stored. Given the mentioned constraints, we investigate the (computationally difficult) problem of finding which network nodes to select as proxies and we propose a simple method to address it. We demonstrate that the proposed method (i) guarantees that access delay stays below the given threshold, and (ii) significantly outperforms centralised and even distributed approaches, both in terms of access latency and in terms of maximum latency guarantees. At the Internet of Things (IoT) application layer, a physical phenomenon, which is sensed by a server (i.e., an IoT device), is defined as an IoT resource. In this paper, we propose to cache popular IoT resources in brokers, which are considered as the application layer middleware nodes. Caching popular resources in the brokers is to move the traffic loads (for delivering the up-to-date contents of the resources) from the servers (which host these popular resources) to the brokers, thus reducing the energy consumption of the servers. However, many brokers may be geographically distributed in the network and caching popular resources in nearby brokers may result in unbalanced traffic loads among the brokers, and may thus dramatically increase the average delay of the brokers in delivering the contents of their cached popular resources to clients. To reduce the average delay among the brokers, we propose to re-cache re-allocate the popular resources from heavily loaded brokers into lightly loaded brokers in order to balance the traffic loads among brokers. We formulate the popular resource re-caching problem as an optimization problem, which is proven to be NP-hard. We design the latency aware popular resource re-caching (LEARN) algorithm to efficiently solve the problem, and demonstrate the performance of LEARN via simulations.