As a result, due to the ineffective use of software capabilities, it should be considered a hardware approach that has a low degree of flexibility. Wang et al. in  used a binary tree to represent the space of all possible IP addresses. The i’th level in the binary tree corresponds to the i’th most significant bits of the IP address. The nodes in a subtree correspond to a prefix match on the path from the root to that subtree. Under the assumption that each IP address supplies equal load on the network, a tree representation is effective since at each level the load is equally distributed between the two subtrees. An algorithm is provided to minimize the expensive TCAM entries used to represent the tree. Cidon, Eyal in  developed AppSwitch, a packet switch that also performs load balancing for key-value storage systems. Unlike existing key-value load balancers, which require each request to send an extra message to a proxy server, AppSwitch requires only a single message from the key-value client to the server. Velusamy, Gandhimathi in  developed an automata-based approach to the load-balancing problem that continuously adjusts the selection rate of servers based on observed information retrieval performance. Lin, Tu-Liang in  proposed a wildcard rule method and introduced an improved parameterized approach on the host partition process and the proposed method is more efficient when a larger binary tree is given. These methods do not simultaneously consider the status of servers and traffic of links, which are two important factors. Li et al. in  proposed a dynamic load-balancing algorithm to schedule flows efficiently for fat-tree networks, which provided multiple alternative paths among a single pair of hosts. The algorithm utilizes the hierarchical feature of fat-tree networks to recursively search for a path and makes decisions based on real-time traffic statistics obtained via the OpenFlow protocol. Zhong, Hong in  proposed a load-balancing scheme based on server response times by using the advantage of SDN flexibility, named LBBSRT. Using the real-time response time of each server measured by the controller for load balancing. Hwang, Ren-Hung in  proposed a datacenter network architecture based on Software-Defined Networks. By assigning topology-aware addresses to each switch, auto-routing not only reduces human error, but also decreases the size of the Forwarding information base (FIB). Wang, Shuo in  proposed a Distribution-Aware Load Balancing (FDALB) mechanism to reduce flow completion times and achieve high scalability. In FDALB, flows are split into short flows and long flows according to a threshold. Distributed and centralized algorithms balance the traffic of short flows and long flows respectively. In , a load balancing strategy based on fuzzy logic (LBSFL) is proposed. In this approach, the correlation among several parameters that influence load balancing is analyzed and the load of multiple virtual servers through a fuzzy logic algorithm is obtained. Then, the virtual servers’ load status in real time is examined, the lightest virtual server to handle the request is selected, and, if necessary, the sleep/restart policy of server is set. Finally, to verify the correctness and effectiveness of this load balancing algorithm, an SDN simulation platform is constructed.
In , a new type of controller state synchronization scheme, Load Variance-based Synchronization (LVS), to improve the load-balancing performance in the multi-controller multi-domain SDN network is proposed. LVS-based schemes conduct effective state synchronizations among controllers only when the load of a specific server or domain exceeds a certain threshold, which significantly reduces the synchronization overhead of controllers. The authors claim that LVS-based schemes achieve loop-free forwarding and good load balancing performance with much fewer synchronizations. In , a load-balancing mechanism for use in a multiple-controller SDN environment by implement a hierarchical control plane with both a meta-control plane and a local control plane is proposed. The meta-control plane analyzes the resources and utilization of the local control plane to optimize processing performance. This mechanism supports the load balancing of the local control plane to optimize data plane performance and eliminate the bottleneck of the centralized control in a network. This work analyzes the proposed load-balancing mechanism in a multiple-controller SDN environment. The results indicate that the meta-controller based manager mechanism can monitor and effectively deal with the loading of the overloaded local controller. In this paper, we propose a new load balancing mechanism for web server farms, relying on a centralized controller in SDN, which periodically collects switch’s ports traffic and server’s response time and then decides to assign the arriving flow to the proper web server.