With the rapid emergence of the Internet of Things (IoT), the development of IoT architecture that facilitates network control and remote management is not only an interesting but also challenging research direction. Designing a systematic framework allowing to remotely (re)reprogram heterogeneous IoT devices requires stringent technical challenges on the interoperability, the scalability and the adaptability. Recently, software defined network (SDN)-based technologies have been considered as a dominant solution for the IoT network architecture. In this study, the authors firstly review current state-of-the-art approaches of SDN solutions and existing efforts on remote (re)programming IoT systems. The literature review figures out current leading-edge technologies on SDN-based solutions and over-the-air (OTA) reprogramming approaches in IoT systems as well as indicates the existing challenges that encourage conducting more and more appropriate solutions to fulfil the requirements of the future Internet. Then, a framework called SD-IoTR (software defined IoT reprogramming) is proposed. The proposed SD-IoTR framework is based on the SDN architecture and intensively focuses on OTA programming IoT systems. This framework is designed to deal with high demands for dynamic adaptability and scalability. Finally, two case studies are also presented as proofs-of-concept that convince the feasibility of applying the proposed framework to real-world deployments.