I. Introduction  
II. Overview of Network Virtualization Techniques  
A. Control Plane Virtualization  
B. Function Virtualization  
C. Device Virtualization  
III. Internet of Things (IoT)  
A. IoT Use Cases  
B. IoT Challenges & SDN  
C. IoT Stack and Protocols  
D. Sensor Networks and IoT  
IV. Motivation & Classification  
A. Motivation & Existing Surveys  
B. Classification  
V. Architecture Solutions  
B. Security Solutions  
C. Management Solutions  
VI. Network Function Virtualization for IoT  
A. Architectural Solutions of NFV for IoT  
B. Management of IoT using NFV  
C. NFV-based Security Solutions for IoT  
VII. Software-Defined Internet of Things (SDIoT)  
A. Architecture Solutions  
B. Management Solutions  
C. Security Solutions  
VIII. Future Research Directions  
IX. Conclusion