# SLoPCloud: An Efficient Solution for Locality Problem in Peer-to-Peer Cloud Systems
## 3 Background  
Since the considered topology for overlay network has a huge impact on the performance of locality solution in P2P cloud systems, we discuss the topologies of overlay networks in this section.  
In any P2P network, including P2P cloud systems, the overlay layer is formed by a specific topology, i.e., graph, while it is proven that choosing a proper graph has a considerable effect on the network performance [42]. The results in [13; 14; 43] confirm the importance of used topology as the overlay graph on the performance metrics such as the bandwidth, congestion, and delay. Henceforward, we present a general overview on the overlay topologies. Three major factors influence the selection of a specific graph for the topology of the overlay. These factors are degree \((\delta)\), diameter (\(D\)), and scalability of the network [13]. Degree is the maximum number of outgoing edges from each node, i.e. the number of neighbors. Diameter is the maximum distance between two nodes in the network. Scalability refers to the ability of increment or decrement in the number of nodes (\(N\)), without any serious effect on performance. Overall, a suitable topology should preferably be symmetric, regular with a low degree as well as low diameter and highly scalable. Regularity means that all nodes have the same degree while symmetricity means that the graph is homomorphic from the view point of all other network nodes.  
There are two main categories of the graphs used as overlay topologies, basic graphs and composite graphs. Five popular and well known basic graphs are complete graph, mesh graph,Ring graph, torus graph, and Hypercube, while cube connected cycle (CCC) [44] is an instance of composite graphs. CCC is formed from the combination of Hypercube and Ring topologies. The main goal of combining two basic topologies together to form a new graph is to gain the advantages of both, while omitting their side effects. As an instance, CCC preserves the scalability and diameter from Hypercube while it fixes the degree of each node to three. Figure 1 shows the three dimensional CCC graph.  
As we mentioned above, this paper aims at extending our previous works [13; 14], in which Hypercube and CCC are used as the overlay topology, to solve the locality problem in P2P cloud systems. In [13], we used Hypercube topology due to the noted properties of Hypercube graph to further its similarity with some other overlay topologies such as butterfly [28] and Torus. This fact leads to the proposed algorithm being able to be applied to other P2P overlays with almost all similar overlay topologies, e.g. Pastry, Tapestry, Viceroy, and CAN. In [14], we chose CCC as an overlay in the proposed locality solution, because of the similarity between CCC and Hypercube, whereas CCC topology have two other important properties, regularity and symmetricity. [PERSON] et al. [45] published a survey representing many overlay networks require two layer routing, with different overlay topologies. In this paper, we suggest another composite topology as an overlay network to solve the locality problem. This topology is GHCC [46] which is explained in Section 4.3.