A device comprising: a communicator configured to connect to at least two Internet of Things, IoT, devices through a communication link and configured to receive service information from the at least two loT devices; a memory configured to store the service information received from the at least two IoT devices; an inputter configured to receive a user input requesting performance of a first predetermined function and an associated second predetermined function from the user; and a controller configured to: analyze the service information of the at least two IoT devices stored in the memory to select a first IoT device for performing the first predetermined function corresponding to the user input and a second IOT device for performing the second predetermined function corresponding to the user input; transmit an execution command for execution of the first predetermined function to the first IoT device; receive the execution result of the first predetermined function from the first IoT device; and transmit the received execution result and an execution command for execution of the second predetermined function to the second IoT device, wherein the service information comprises at least one of service identification information, device identification information, sensor data collected by a sensor, and operation information of the at least two IoT devices, wherein the first IoT device and the second IoT device are different. a communicator configured to connect to at least two Internet of Things, IoT, devices through a communication link and configured to receive service information from the at least two loT devices; a memory configured to store the service information received from the at least two IoT devices; an inputter configured to receive a user input requesting performance of a first predetermined function and an associated second predetermined function from the user; and a controller configured to: analyze the service information of the at least two IoT devices stored in the memory to select a first IoT device for performing the first predetermined function corresponding to the user input and a second IOT device for performing the second predetermined function corresponding to the user input; transmit an execution command for execution of the first predetermined function to the first IoT device; receive the execution result of the first predetermined function from the first IoT device; and transmit the received execution result and an execution command for execution of the second predetermined function to the second IoT device, analyze the service information of the at least two IoT devices stored in the memory to select a first IoT device for performing the first predetermined function corresponding to the user input and a second IOT device for performing the second predetermined function corresponding to the user input; transmit an execution command for execution of the first predetermined function to the first IoT device; receive the execution result of the first predetermined function from the first IoT device; and transmit the received execution result and an execution command for execution of the second predetermined function to the second IoT device, wherein the service information comprises at least one of service identification information, device identification information, sensor data collected by a sensor, and operation information of the at least two IoT devices, wherein the first IoT device and the second IoT device are different.