## 5 State of the Art
### Middleware Platforms for Distributed Computing Systems
In [48; 49] authors have used fog computing systems to train machine learning algorithms. A vehicle-to-edge architecture for augmented reality applications is proposed in [50]. The architecture has three layers: device layer, access network layer, and core network layer. The device layer consists of devices that transfer data. The edge servers are located at access network and core network layers. Edge servers at the access network provide compute and cache services to latency-sensitive applications whereas edge servers at the core network are for delay-tolerant applications. A design of a simple middleware platform for a fog and cloud environment is described in [51]. The proposed middleware addresses the services selection problem by applying fuzzy similarity and TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution) methods. A software-defined network (SDN) based architecture for tactical mobile ad hoc network is proposed in [52]. The architecture includes local SDN controllers and global SDN controllers. Local SDN controllers may have a full or partial view of the network and are responsible to collect and send network state information to the global SDN Controller, which constructs a global view of the network and send control information to forwarding nodes through a local SDN controller. An SDN-enabled architecture for a mobile ad hoc network is proposed in [53]. A centralized SDN controller is deployed on a mobile node in an ad hoc network. Authors have also proposed two zero-control-packet routing protocols for lightweight devices used in the industrial internet of things (IIOT) and three general-purpose centralized routing protocols. Recently, several machine learning-based schemes were proposed to address routing and resource allocation problems. The scheme developed in [54] uses a machine learning technique to predict link quality, while the schemes presented in [55; 56] adopt a deep learning model that uses traffic patterns in a router to predict the next node in the routing path. The scheme proposed in [57] uses a nonlinear regression technique to estimate link quality, while the scheme established in [58] uses machine learning to improve multi-hop wireless routing. To manage resources in a distributed computing environment, a reinforcement learning-based approach was developed in [59]. In [60], reinforcement learning was applied to reduce application execution times. A link lifetime prediction scheme was proposed in [61]. Existing machine learning-based algorithms and schemes are also not designed for a multilayer LAN infrastructure, and therefore, they do not utilize a vast amount of data generated at the network. A comparison of the proposed middleware platform with existing platforms is provided in Table 3. The heterogeneous private edge cloud system is based on our previous project \"mobile ad hoc cloud\" [4], in which multiple mobile devices interconnected through a mobile ad hoc network are combined to create a virtual super-computing node. The key differences between a mobile ad hoc cloud and a heterogeneous private edge cloud system were discussed in [1].