The Internet of Things refers (IoT) to the billions of physical devices around the globe that are connected to the Internet, collecting and sharing data. The overall Internet of Things market is projected to be worth more than 50.6 billion U.S. dollars in 2020. IoT devices possess low processing capabilities, limited memory, limited storage, and minimal network protocol support. With the help of cloud computing technology, we can overcome the limited resources of IoT devices. A lot of research has been conducted on IoT device virtualization to facilitate remote access and control. The concept of virtualization in IoT is to provide a virtual representation of physical devices in the form of virtual objects. IoT devices are more likely to be accessed and communicate through virtual objects in the near future. In this paper, we present the design and implementation of building a virtual IoT network for a smart home. The virtual network is based on virtual objects and IoT controller. We derived the concept from Software Defined Network (SDN) and separated the control plane and data plane in the virtual IoT network. This enhanced the rapid development of diverse applications on top of the virtualization layer by establishing a dynamic end-to-end connection between IoT devices. This article briefly explains the design and development of the virtual network. Results achieved during experiments and performance analysis show that IoT controller enhances the capabilities of a virtual network by dynamically controlling the traffic congestion, handling mapping requests, and routing mechanisms.