Abstract-While Software Defined Networking (SDN) has received a considerable amount of attention, improving the scalability of an SDN controller has always been a major concern. One of the main reasons why the controller suffers from this scalability problem is that it is fairly often overwhelmed by a large number of flow setup requests from the SDN switches to the controller. These requests cause decrease in the number of switches that the controller can deal with. Since these requests are usually generated when flows arrive at the switch and their corresponding entries do not exist in the flow table due to eviction, minimizing the number of evictions also reduces the number of requests to the controller. This paper addresses the scalability problem and proposes the algorithm improving the scalability of the SDN controller by dynamically controlling the timeout value of each flow without modifying the switches. In the proposed approach, the controller collects various traffic parameters from the switches and predicts the inter-arrival times of packets in a flow. Based on the information, it dynamically adjusts the timeout value of each flow to reserve spaces in the flow table for newly arrived flows in advance. As a result, this avoids the evictions and reduces the number of flow setup requests to the controller. The benchmarking results show that the proposed algorithm reduces the number of packets to the controller by 9.9 %.