## 1 Introduction  
Internet of Things (IoT) is the connectivity of the enormous amount of physical devices to the internet to collect, share, and analyze massive chunks of data. [PERSON] introduced the concept of IoT 17 years ago [1], and the concepts become fundamentals for the 2 nd digital revolution [2]. A survey conducted by Cisco forecasts that 50 billion things will be interconnected through the internet [3]. Interconnection of such a huge number of devices leads to management and scalability issues. For IoT device management, the traditional management approaches are slowly getting obsolete due to the evolution of new technologies and trends. IoT orchestration is one recent advancement in the development to handle management and scalability issues. Orchestration is considered as the more flexible and scalable approach for the management of the enormous number of connected devices through IoT [4; 5]. Due to IoT's tremendous economic potential, technology companies and research institutions invest in the development and research in the IoT field to propose sustainable IoT solutions. They have developed various IoT commercial and open source projects over the past decade. Due to the lack of interoperability between these IoT platforms, different data formats are used by these platforms, which rise to the vital challenge of heterogeneity. Thus the need for more efficient network management techniques to handle an enormous amount of data produced by this large number of connected devices increase day by day. The paradigm for centralizing processing and storage of data is currently not feasible; hence, edge computing (EC) plays a vital role in data analysis to improve these consequences in IoT. A new concept called IoT Big Data refers to semantics and type of massive generated data by large-scale IoT connected devices. The realization of IoT, security, and privacy are current research's challenging issues. In the literature, several surveys have tackled different IoT challenges and aspects including IoT applications, challenges, and opportunities [6], IoT frameworks, IoT security [7; 8; 9], IoT standardization [10], application of in software-defined networking (SDN) in IoT [11], IoT and cloud integration [12]. However, previous survey studies of IoT did not review all the challenges in detail. For example, in the context of internet applications, quality of service (QoS) and security issues are discussed. However, in IoT applications, these challenges are even more crucial. The existing solutions do not provide solutions and address the IoT challenges partially. In this study, we discuss the SDN and machine learning hybrid approaches based on feasible solutions that can deal with some of IoT's main challenges and overcome IoT applications' issues. SDN can address the challenges of security, cost of hardware, centralization, and management of resources in the IoT environment. Machine learning helps analyze the big heterogeneous data produced by the IoT platforms. SDN paradigm fundamental concept in networking is to separate the control and data planes, enabling network controller to perform network management and engineer traffic dynamically [13]. SDN's controller role includes management of the network resources and programming the network dynamically. Furthermore, the controller monitors and collects the network configuration data, network state, information, and packet flow in real-time. Machine learning models are trained on historical network data to perform optimization of the network, data analysis, and automated network services provisioning intelligently [14]. In the literature, recent contributions to machine learning provide promising directions to apply machine learning to networking. Machine learning improves the performance, efficiency, and security of SDN solutions. The machine learning-based SDN can improve the performance, security, and efficiency of the IoT network. This review study is divided as follows: Section 2 presents the methodology of this topical research study.