WO2017091021A1 - 스마트 홈 서비스 서버 및 그 제어방법 - Google Patents

스마트 홈 서비스 서버 및 그 제어방법 Download PDF

Info

Publication number
WO2017091021A1
WO2017091021A1 PCT/KR2016/013660 KR2016013660W WO2017091021A1 WO 2017091021 A1 WO2017091021 A1 WO 2017091021A1 KR 2016013660 W KR2016013660 W KR 2016013660W WO 2017091021 A1 WO2017091021 A1 WO 2017091021A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
command
protocol
smart home
service server
Prior art date
Application number
PCT/KR2016/013660
Other languages
English (en)
French (fr)
Inventor
옥현우
임성빈
고영민
김현중
오현진
공영선
김민수
배석민
최석태
연정모
이내석
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to CN201680068775.XA priority Critical patent/CN108605000B/zh
Priority to EP16868917.2A priority patent/EP3355521B1/en
Priority to AU2016361086A priority patent/AU2016361086B2/en
Priority to CA3003571A priority patent/CA3003571A1/en
Priority to JP2018545794A priority patent/JP6882314B2/ja
Priority to US15/778,801 priority patent/US11277278B2/en
Priority claimed from KR1020160157660A external-priority patent/KR20170060598A/ko
Publication of WO2017091021A1 publication Critical patent/WO2017091021A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2836Protocol conversion between an external network and a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2825Reporting to a device located outside the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/71Hardware identity

Definitions

  • a smart home service server for implementing an IoT network between a user terminal and a plurality of devices, and a control method thereof.
  • the Internet is basically designed to enable human-operated computers to communicate with each other through the TCP / IP protocol, but recently, all the things that can identify, compute, and communicate with the Internet Research is being conducted to enable communication through the Internet.
  • the technology that enables all things to communicate is called the Internet of Things (IoT).
  • the Internet of Things is a more advanced stage than the wired or mobile Internet based on the existing wired communication, and devices connected to the Internet transmit and receive information to each other without human intervention. It is similar to the existing Ubiquitous or M2M (Machine to Machine), which is an existing ubiquitous and IoT communication, but it extends the concept of M2M to the Internet and connects all the things in the world to the network anytime, anywhere. It means an information communication base that can communicate.
  • M2M Machine to Machine
  • Such IoT devices may form an IoT network by being connected to a server for providing an IoT service.
  • a user terminal such as a mobile phone capable of inputting a control command may be connected to the server, whereby the user may easily control the IoT device regardless of time and place.
  • One aspect of the disclosed invention is a smart home service server that provides an environment in which a control command for a device can be called through a protocol of a user terminal so that control between a device and a user terminal based on a heterogeneous protocol is possible, and its Provide control method.
  • a smart home service server comprises: a smart home service server connecting at least one device operating based on a first protocol and at least one user terminal operating based on a second protocol, wherein the at least one An API controller for calling a control command to the at least one device through the second protocol of the user terminal of the; A filter for converting the called control command according to the first protocol; And a control command transmitter for transmitting the control command converted according to the first protocol to the at least one device. It may include.
  • the API controller may provide an application programming interface (API) for calling a control command of the first protocol to the at least one user terminal on the second protocol.
  • API application programming interface
  • the API control unit may receive a call command for calling the control command through the application programming interface, and the call command may include authentication information and a user ID for the second protocol including a channel key. It may include user authentication information including a user ID, an application ID, and an access token, and device information including a device ID.
  • the API control unit the control command may be called by an authenticated user terminal of the at least one user terminal.
  • the API controller authenticates the user terminal based on at least one of authentication information about the second protocol and user authentication information among the received call commands. You can decide whether or not.
  • the control command transmitter may transmit the control command converted according to the first protocol based on the device information among the received call commands, when the API control unit receives the call command through the application programming interface.
  • the device can be determined.
  • a device interworking interface connected with the at least one device;
  • An event receiver configured to receive state information of the at least one connected device through the device interworking interface;
  • An event processor for processing the received state information;
  • a storage unit to store the processed state information. It may further include.
  • the event receiver may receive state information of at least one device in which the state is changed when the state of at least one of the at least one connected device is changed through the device interworking interface.
  • the API control unit receives the call instruction of the state information inquiry command of the at least one device through the application programming interface, the processed state information stored in the storage unit is transmitted to the at least one user terminal.
  • An event transmitter It may further include.
  • the filter may filter the processed state information based on at least one of authentication information for the second protocol and user authentication information among the received call commands, and transmit the filtered state information to the event transmitter.
  • the storage unit when the API control unit receives the call command of the state information subscription request command of the at least one device through the application programming interface, the authentication information for the second protocol of the received call command , User authentication information, and device information can be stored as subscription information.
  • the event processor when the state information of the device corresponding to the device information stored as the subscription information is changed, the user terminal corresponding to the authentication information and the user authentication information for the second protocol stored as the subscription information;
  • the changed state information may be processed and provided to the event transmitter so as to transmit the changed state information.
  • the event processor when the API control unit receives the call command of the state information unsubscribe command of the at least one device through the application programming interface, the event processor of the device corresponding to the device information stored as the subscription information; Status information may not be provided to the event transmitter.
  • the storage unit when the API control unit receives the call command of the condition setting command of the at least one device through the application programming interface, the condition of the call command for the received condition setting command and the device information Condition setting information including a may be stored.
  • the event processor may provide the condition satisfaction result to the event transmitter when the state information of the device corresponding to the device information stored as the condition setting information satisfies the condition stored as the condition setting information.
  • an adapter in which the state information processed by the event processor is called by a partner server operating based on a third protocol may further include.
  • the adapter may call a control command for the at least one partner device through the first protocol to control at least one partner device connected to the partner server based on the third protocol.
  • a smart home service server connecting at least one device operating based on a first protocol and at least one user terminal operating based on a second protocol, the API control unit of the smart home service server, wherein the at least one Invoking a control command for the at least one device via the second protocol of a user terminal; In the filter of the smart home service server, converting the called control command according to the first protocol; And transmitting, by the control command transmitter of the smart home service server, the control command converted according to the first protocol to the at least one device. It may include.
  • the step of calling the control command may include providing an application programming interface (API) for calling the control command of the first protocol to the at least one user terminal on the second protocol; It may include.
  • API application programming interface
  • the step of calling the control command may further include receiving a call command from the at least one user terminal that calls the control command through the application programming interface;
  • the call command may further include authentication information, a user ID, an application ID, and an access token for the second protocol including a channel key. It may include user authentication information to include, and device information including a device ID (Device ID).
  • control command may be called by an authenticated user terminal of the at least one user terminal.
  • the step of calling the control command if the call command is received, whether or not the user terminal is authenticated based on at least one of the authentication information for the second protocol, and the user authentication information of the received call command; Determining; It may further include.
  • the transmitting of the control command may include: when the call command is received, determining a device to transmit the control command converted according to the first protocol based on the device information among the received call commands; It may further include.
  • the method may further include receiving, by the event receiving unit of the smart home service server, state information of the at least one connected device through the device interworking interface; Processing the received state information in an event processor of the smart home service server; And storing, by the storage unit of the smart home service server, the processed state information. It may further include.
  • the receiving of the state information may include receiving state information of at least one device in which the state is changed when at least one state of the at least one connected device is changed.
  • the method may further include: transmitting, by the event transmitter of the smart home service server, the stored state information to the at least one user terminal when the call command of the state information inquiry command of the at least one device is received; It may further include.
  • the transmitting of the stored state information to the at least one user terminal may include processing the processed state information based on at least one of authentication information for the second protocol and user authentication information among the received call commands.
  • the filtering may be transmitted to the at least one user terminal.
  • the call command of the status information subscription request command of the at least one device when the call command of the status information subscription request command of the at least one device is received, storing authentication information, user authentication information, and device information for the second protocol among the received call commands as subscription information. Doing; It may further include.
  • the changed state information is transmitted to the user terminal corresponding to the authentication information for the second protocol and the user authentication information stored as the subscription information. Transmitting; It may further include.
  • the API controller when the API controller receives the call command of the status information unsubscribe command of the at least one device through the application programming interface, the event information of the device corresponding to the device information stored as the subscription information is received. Not providing to the transmission unit; It may further include.
  • condition setting information including the condition of the call command and the device information for the received condition setting command; It may further include.
  • the method may further include: providing the condition satisfaction result to the at least one device when the state information of a device corresponding to the device information stored as the condition setting information satisfies the stored condition as the condition setting information; It may further include.
  • the method may further include, in an adapter of the smart home service server, calling the processed state information by a partner server operating based on a third protocol; It may further include.
  • the smart home service server and a control method thereof, it is possible to increase the versatility and expandability of the IoT network by providing a network environment that can be controlled between devices and user terminals based on different protocols.
  • FIG. 1A and 1B illustrate a network system of an IoT device according to various embodiments.
  • FIG. 2 is a block diagram of a smart home service server according to an exemplary embodiment.
  • FIG. 3 is a diagram illustrating an authentication procedure for a user, according to an exemplary embodiment.
  • FIG. 4 is a diagram illustrating authentication information transmitted from an authenticated user to a smart home service server through a user terminal according to an embodiment.
  • FIG. 5 is a flowchart illustrating a method for checking whether a smart home service server is authenticated with respect to a user terminal according to an exemplary embodiment.
  • FIG. 6 is a diagram illustrating an information transmission path when a device control command is called through an API in an API control unit according to an embodiment.
  • FIG. 7 is a diagram illustrating a transmission path of device state information changed according to a control command transmitted through the delivery path of FIG. 6.
  • FIG. 8 is a diagram illustrating device state information stored in a storage unit, according to an exemplary embodiment.
  • 9A and 9B are diagrams for describing a method of filtering state information by a filter, according to an exemplary embodiment.
  • FIG. 10 is a diagram illustrating an information delivery path when a device state information inquiry command is called through an API in an API controller, according to an exemplary embodiment.
  • FIG. 11 is a flowchart illustrating an operation of receiving a call command of a controllable device list generation command in a control method of a smart home service server according to an exemplary embodiment.
  • FIG. 12 is a flowchart illustrating an operation of receiving a call command of a state information inquiry command in a control method of a smart home service server according to an embodiment.
  • FIG. 13 is a flowchart illustrating an operation of receiving a call command of a subscription request command of device state information in a method of controlling a smart home service server, according to an exemplary embodiment.
  • FIG. 14 is a flowchart illustrating a state information transmission operation after a subscription of FIG. 13 is completed.
  • 15 is a flowchart illustrating an operation of receiving a call command of an unsubscribe command of device state information in a method of controlling a smart home service server, according to an exemplary embodiment.
  • 16 is a flowchart illustrating an operation of receiving a call command of a device condition setting command in a control method of a smart home service server according to an embodiment.
  • FIG. 17 is a flowchart illustrating a state information transmission operation after the condition setting of FIG. 16 is completed.
  • FIG. 18 is a flowchart of an IoT network operation according to an embodiment.
  • FIG. 19 is a diagram for describing an operation of an adapter, according to an exemplary embodiment.
  • first may be referred to as the second component
  • second component may also be referred to as the first component.
  • the term “and / or” includes any combination of a plurality of related items or any item of a plurality of related items.
  • FIG. 1A and 1B illustrate a network system of an IoT device according to various embodiments.
  • the Internet of Things refers to intelligent technologies and services that connect all objects to each other and communicate information between objects based on the Internet.
  • Technology elements to implement this include sensing technology that obtains information from tangible objects and their surroundings, wired and wireless communication and network infrastructure technologies that enable things to be connected to the Internet, and processes and processes the information appropriately for various service areas and forms.
  • Service interface technology that fuses various technologies, security technology to prevent hacking or information leakage of the components of the Internet of Things, such as a large amount of data.
  • the device (D) that can be connected to the network based on the Internet of Things (IOT) includes a variety of home appliances such as a washing machine D W , a refrigerator D R , an air conditioner D A , a vacuum cleaner D V , and an oven D O. It can include everything around us, including digital cameras, computers, laptops, sensors, car audio, digital meters, door locks, game consoles, speakers, and security devices. There is no restriction on the kind of things.
  • the device D may form an IoT network by being connected to the device server SD.
  • the device server SD may provide the IoT service by receiving information from the connected device D, storing the information, and transmitting the information to the other device D.
  • the protocol may mean a promise of various communication rules and methods, that is, a protocol of communication, which is configured to facilitate information exchange between a device server and at least one device connected thereto. This may mean determining a connection method, a communication method, a communication method, a format of information to be transmitted and received, an error detection method, a code conversion method, a transmission speed, and the like.
  • the device server and the device constituting the same IoT network may be mutually controlled by transmitting and receiving control commands of the same type.
  • the user may be able to directly control the device by accessing the IoT network configured as described above.
  • the user may control the device connected to the IoT network by connecting the user terminal to the device server of the IoT network and inputting a control command through the user terminal.
  • the user terminal (U) may be connected to a ZigBee network, a Wi-Fi network, a Bluetooth network, a mobile network, a local area network (LAN), a wide area network (WAN), or a point-to-point telephone line connection. It can be connected to the device server (SD) through the same various communication links.
  • the user terminal may be a smart phone, a cellular phone, a tablet PC, a smart TV, a digital camera, a personal digital assistant (PDA), a remote controller. ), A portable multimedia player (PMP), a notebook computer, a desktop computer, or the like.
  • PDA personal digital assistant
  • PMP portable multimedia player
  • a user terminal connected to the IoT network needs to operate by the same protocol as a device and a device server on the same network.
  • the control command for the device is input through the user terminal, because the protocol of the user terminal must follow the protocol of the device and the device server in order for the input control command to be directly applied to the device constituting the IoT network.
  • the user terminal may be installed with an application according to a protocol, which is the basis of the operation of the device and the device server, in order to receive a control command based on the same protocol as the device and the device server configuring the IoT network.
  • the application installed in the user terminal may be connected to the IoT network, provide information about the IoT network state, configure the IoT network, provide information of each device D constituting the IoT network, and / or the IoT. It is possible to provide an environment in which control and the like for each device D constituting the network can be performed.
  • the application installed in the user terminal is implemented according to a specific protocol, and the user may input only a control command for a device adopting the same protocol as the installed application.
  • the user needs to install all of the applications corresponding to the protocols adopted by each device.
  • the smart home service server 100 is an application programming interface (Interface) that serves as an interface between different protocols in order to increase the generality of the device (D) constituting the IoT network; APIs).
  • Interface application programming interface
  • servers to which the plurality of devices D and the plurality of user terminals U1, U2, and U3 connect may be different.
  • the plurality of devices D may be connected to the device server SD, and the plurality of user terminals U1, U2, and U3 may be connected to the partner server SU.
  • the plurality of devices D operate according to the first protocol, one IoT network is established together with the device server SD, and the plurality of user terminals U1, U2, and U3 operate according to the second protocol. It works so that you can build another IoT network with your partner server.
  • the smart home service server 100 may be connected with both the device server SD to which the device D is connected and the partner server SU to which the user terminal U is connected.
  • the smart home service server 100 may call an API that calls a control command of the first protocol on the second protocol so that control between the user terminals U1, U2, and U3 and the device D based on different protocols is performed. It may be provided to the plurality of user terminals U1, U2, and U3.
  • an API may be defined as a set of subroutines or functions that can be called from one protocol for some processing of another protocol.
  • the API can provide an environment in which the operation of another protocol can be performed in one protocol.
  • FIG. 1A when the smart home service server 100 is connected to a device server SD to which a plurality of devices D are connected, and a partner server SU to which a plurality of user terminals U1, U2, and U3 are connected, respectively. Is illustrated. Alternatively, the smart home service server 100 may be directly connected to each of the plurality of devices D, which is illustrated in FIG. 1B.
  • the plurality of devices D connected to the smart home service server 100 are controlled according to a control command of the first protocol
  • the user terminal U connected to the smart home service server 100 may be configured to have a first description. 2 It is assumed that control commands of the protocol can be input. In particular, it is assumed that the user terminal U has an application that can receive a control command of the second protocol.
  • FIG. 2 is a block diagram of a smart home service server according to an embodiment
  • FIG. 3 is a diagram for describing a communication method of a smart home service server according to an embodiment.
  • the smart home service server 100 may include an API controller 110 that provides an API for calling a control command of a first protocol through a second protocol;
  • the called control command includes a filter 120 for converting according to the first protocol;
  • a control command transmitter 130 for transmitting the converted control command to the outside;
  • a device interworking interface 140 connected to an external device D;
  • An event receiver 150 receiving state information of the device D through the device interworking interface 140;
  • An event processor 160 for processing the received state information;
  • a storage unit 170 storing various kinds of information including the processed state information;
  • An event transmitter 180 for transmitting the processed state information to the outside;
  • An adapter 190 Adapter in which the processed state information is called by the partner server SP operating based on the third protocol; It may include.
  • the storage unit 170 may store various information for connecting networks based on different protocols.
  • the storage unit 170 is connected to the smart home service server 100 via the device interworking interface 140 information on at least one device (D), information on the user of the device (D), their mapping Information, condition information of the device D, and the like.
  • Tables 1, 2, 3, and 4 below illustrate device (D) information, user information, mapping information, and condition information connected to a home service server.
  • the device D information stored in the storage unit 170 indicates a DeviceID as an ID for identifying the device D, a UUID as a unique ID of the device D, and a device D type.
  • Device Type meaning model name, and Manufacturer information Manufacturer may be included.
  • the user information stored in the storage unit 170 is UserID as an ID for identifying a user of the device D, UnerName as user name information, AccountID as an ID used for authentication, and user's country information. It may include a CountryCode indicating.
  • the storage unit 170 may store mapping information for mapping the device D and a user who uses the same.
  • the mapping information stored in the storage unit 170 may include a result of mapping the above-described UserID and DeviceID, DeviceName which is a device (D) name set by the user, and a device set by the user. (D) may further include a description meaning the detailed information.
  • the storage unit 170 may further store condition information for the operation of the device (D).
  • condition information for the operation of the device Referring to Table 4, the condition information stored in the storage unit 170, together with the above-described UserID and DeviceID, Resource which is a resource name of the condition setting, Operator which is operator information for condition setting, and Condition setting for It may include ConditionValue, which is a condition value.
  • the storage unit 170 may include authentication information on the second protocol authenticated to be connected to the smart home service server 100, that is, authentication information on the partner server SP.
  • Table 5 shows an embodiment of authentication information for the partner server (SP).
  • the authentication information of the partner server SP stored in the storage unit 170 is an ID for identifying the partner server SP, a PartnerID representing a partner name, a PartnerName representing a partner name, and a device in the partner server SP.
  • the storage unit 170 may further store authentication information of an individual user connected to the partner server SP. To this end, the user of the user terminal (U) connected to the partner server (SP) goes through a separate authentication process, which will be described in detail with reference to FIG.
  • FIG. 3 is a diagram illustrating an authentication procedure for a user according to one embodiment
  • FIG. 4 is a diagram illustrating authentication information transmitted by an authenticated user to a smart home service server through a user terminal according to one embodiment. .
  • a user who wants to authenticate may make an authentication request to the authentication server.
  • the user may transmit an AppID, which is an application ID of the partner server SP to which the user terminal U is connected, to the authentication server.
  • the authentication server may transmit an authentication code, Auth-Code, to the user terminal U. have.
  • the user terminal U which has received the Auth-Code, may request an access token from the authentication server. Tokens can be assigned to the user terminal (U).
  • authentication of the user terminal U may be determined through authentication of the partner server SP and authentication of the user.
  • the user terminal U may also transmit authentication information including the assigned access token when transmitting the information including the control command to the partner server SP.
  • the authentication information delivered by the user terminal U is transmitted along with the above-described ChannelKey, UserID, and AppID along with the access token.
  • the partner server SP which has received the authentication information, may transmit the authentication information received from the user terminal U to the smart home service server 100 as steps, steps 4 and 4 '.
  • the smart home service server 100 that has received the authentication information, in steps 5 and 5 ', may transmit the authentication information to the authentication server to confirm whether the access token is valid. If the access token is found to be valid, the smart home service server 100 may store the valid access token as authentication information of the user terminal U.
  • the storage unit 170 may store a list of the controllable device D and the state information of the controllable device D, which will be described later.
  • the storage unit 170 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, an SD or XD memory). Etc.), random access memory (RAM), static random access memory (SRAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), programmable read only memory (PROM), magnetic memory, It may be implemented in at least one of a magnetic disk and an optical disk.
  • FIG. 5 is a flowchart illustrating a method for checking whether a smart home service server is authenticated with respect to a user terminal according to an exemplary embodiment.
  • the smart home service server 100 may check whether a call command for calling a control command is received from the user terminal U through the API. If the call command is not received, the smart home service server 100 may repeatedly check the call command.
  • the smart home service server 100 may request confirmation of the validity of the access token included in the received call command to the authentication server. (310) Here, the access token is authenticated.
  • the authentication server may assign the user terminal U that receives the Auth-Code as the user terminal U connected to the partner server SP.
  • the smart home service server 100 may check whether the authentication server has recognized the validity of the access token.
  • the smart home service server 100 may notify the user terminal U that the user terminal U is not authenticated (330).
  • the smart home service server 100 may store the valid access token in the storage unit 170.
  • the stored access token is an access token included in a later received call command. It can be used to verify that it is valid.
  • the API controller 110 may provide an environment in which a control command of the device D may be called on an authenticated user terminal U based on a protocol different from that of the device D.
  • FIG. Hereinafter, a transmission path of a control command called by the API controller 110 will be described with reference to FIG. 6.
  • FIG. 6 is a diagram illustrating an information transmission path when a device control command is called through an API in an API control unit according to an embodiment.
  • the API controller 110 may store an API for calling a control command of the first protocol on the second protocol and provide the same to the user terminal U. As a result, it is possible to call a control command according to the first protocol of the device D via the second protocol of the user terminal U.
  • the API controller 110 may receive a call command from the user terminal U for calling a control command according to the first protocol on the second protocol.
  • the call command includes, together with a control command to be called, authentication information about the second protocol including a channel key, a user ID, an application ID, and an access token.
  • authentication information including an access token
  • device D information including a device ID.
  • the filter 120 may convert the called control command to conform to the format of the first protocol.
  • the control command included in the call command received by the API control unit 110 may be ⁇ “Wind”: ⁇ “speedLevel”: 0 ⁇ . This may be a control command for the wind strength of the specific device (D).
  • the filter 120 converts the above-described control command into a format of the first protocol, that is, a control command capable of controlling the device D ⁇ "Device”: ⁇ "Wind”: ⁇ "speedLevel”: 0 ⁇ , “Mode”: ⁇ “options”: [“Comode_Off”] ⁇ .
  • the control command transmitter 130 may transmit the control command converted according to the first protocol to the device D.
  • the control command transmitter 130 may determine the device D to which the control command converted according to the first protocol is based on the device D information included in the above-mentioned call command. As described above, since the device D information includes the DeviceID, the control command transmitter 130 may transmit the control command converted by the filter 120 to the device D having the DeviceID included in the call command. have.
  • control command input via the user terminal U based on the second protocol can be transmitted to the device D based on the first protocol.
  • the device D receiving the control command may be controlled according to the control command.
  • the smart home service server 100 may transmit the changed state information according to the control result of the controlled device D according to the received control command to the user terminal U. This will be described in detail with reference to FIGS. 7, 8, and 9a and 9b.
  • FIG. 7 is a diagram illustrating a transmission path of device state information changed according to a control command transmitted through the delivery path of FIG. 6, and
  • FIG. 8 is a diagram illustrating device state information stored in a storage unit, according to an embodiment.
  • 9A and 9B are diagrams for describing a method of filtering state information by a filter, according to an exemplary embodiment.
  • the device D that has received the control command through the transmission path of FIG. 6 described above may be controlled according to the control command. As a result, the state of the device D can be changed.
  • the device D connected to the smart home service server 100 may transmit it to the event receiver 150 through the device interworking interface 140.
  • the event receiver 150 may temporarily store received events in sequence, such as a queue, and sequentially output the received events.
  • the event processor 160 may process the stored data effectively by processing the event temporarily stored in the event receiver 150 according to a flow control method.
  • the flow control may mean a control for transmitting a data frame while maintaining a transmission rate that can be accommodated by the receiving side.
  • the event processor 160 may store the processed event in the storage unit 170.
  • the storage unit 170 may store an event S for changing state information of a specific device together with the device information D.
  • the storage unit 170 has a DeviceID of “FFFFFF-FFFF-FFFFFFFFFFFFFFFFFF”, a DeviceName of “Oven”, a UUID of “FFFFFF-FFFF-FFFFFFFFFFFFFFFFF”, and a DeviceType of “Oven”.
  • device information D whose description is “My Oven”.
  • the storage unit 170 includes resource information “Temperatures”, “Configuration”, “Operation”, “Oven”, and “Alarms” following the device (D) information and includes state information S including the states of each resource. Can be stored.
  • the event processor 160 may transmit the processed event to the partner server SP through the event transmitter 180.
  • the user can recognize that the device D status information according to the control command has been changed through the user terminal U.
  • the event processor 160 may provide the processed event to the event transmitter 180 through the filter 120.
  • the filter 120 may filter the information based on the information about the user terminal U receiving the provided event and then transmit the filtered information to the event transmitter 180. For example, if the processed event was generated according to a control command called from the user terminal U, the filter 120 sends the event processor 160 to the event processor 160 based on the user authentication information of the call command for invoking the control command. You can filter the events processed by it.
  • the filter 120 may check a grade determined according to the user authentication information, and may filter the event according to the grade. As a result, each of the user terminals U having different grades may check the device D state information change event.
  • the filter 120 may be used.
  • the filter 120 accesses the information. The lower the level of authority, the higher the filtering level, so that only the information with the lower level of confidentiality can be filtered out of the user device (D) state information change event.
  • FIG. 9A illustrates a case in which two types of state information that have undergone different filtering based on user authentication information are transmitted to different user terminals U1 and U2 connected to the same partner server SP. As such, even a user who receives a service from the same partner server SP may provide different state information of the device D in consideration of specificity of each user.
  • FIG. 9B two types of status information, which have undergone different filtering based on authentication information on the partner servers SP1 and SP2, are connected to different partner servers SP1 and SP2 to different user terminals U1 and U2. For example, the case of transmitting to a).
  • users of different user terminals U1 and U2 connected to partner servers SP1 and SP2 having different services may provide device D status information differently according to services provided by partner servers SP1 and SP2. I can receive it.
  • control command called by the API control unit 110 includes a command for controlling the operation of the smart home service server 100 related to the state information of the device D as well as a command for controlling the operation of the device D. can do.
  • the transmission path of the control command and the transmission path of the device D status information are classified and described according to the type of the control command.
  • FIG. 10 is a diagram illustrating an information delivery path when a device state information inquiry command is called through an API in an API controller
  • FIG. 11 is a control method of a control method of a smart home service server according to an embodiment
  • FIG. 12 is a flowchart illustrating an operation when receiving a call command of a status information inquiry command among control methods of a smart home service server, according to an exemplary embodiment.
  • the storage unit 170 may store a list of controllable devices D and their state information in advance.
  • the controllable device D is a device interworking interface. All devices (D) connected to the smart home service server 100 through the 140, or a device (D) that is not in a reception state of a control command, such as when the power is turned off, or selected by the user's selection Device (D).
  • the API controller 110 may check whether a call command for calling the controllable device D list generation command is input from the user terminal U through the partner server SP.
  • the calling command may include "Get devices".
  • the API control unit 110 may repeatedly check this.
  • the API control unit 110 may transmit a control command included in the received call command to the filter 120, and the filter 120 transmits the received control command in the form of a command of the first protocol. Can be converted (420)
  • the storage unit 170 checks (430) the stored controllable device (D) list, and the event processor 160 controls the event transmitter 180 through the filter 120.
  • D stored controllable device
  • the event processor 160 controls the event transmitter 180 through the filter 120.
  • a list of possible devices D may be delivered.
  • the event transmitter 180 transmits the controllable device (D) list to the partner server (SP) (440), and the user terminal (U) receives the controllable device (D) list from the partner server (SP). Can be received. Through this, the user may visually check the list of the device D that can be controlled.
  • the user who has checked the controllable device list D may inquire at least one state information of the list.
  • the API controller 110 checks whether a call command for invoking the status information inquiry command of the device D is input from the user terminal U through the partner server SP.
  • the call command may include information about the device D for which the status information is to be queried.
  • the call command may include “Get devices (DeviceID)”.
  • the API control unit 110 may repeatedly check this.
  • the API control unit 110 may transmit a control command included in the received call command to the filter 120, and the filter 120 transmits the received control command in the form of a command of the first protocol. Can be Converted. (510)
  • the storage unit 170 may check state 520 of the stored device D according to the converted control command.
  • the control unit may determine which device (D) status information to check using the device (D) information included in the call command.
  • the event processor 160 transmits the state information of the device D to the event transmitter 180 through the filter 120, and finally, the event transmitter 180 transmits the state information of the device D to the partner server.
  • SP may be transmitted (530).
  • the user terminal U may receive the state information of the device D from the partner server SP. Through this, the user can visually check state information of the selected device (D).
  • FIG. 13 is a flowchart illustrating an operation of receiving a call command of a subscription request command of device state information in a method of controlling a smart home service server, according to an exemplary embodiment.
  • the API controller 110 may check whether a call command for calling a status information subscription request command of the device D is input from the user terminal U through the partner server SP.
  • the command may include information about the device D that wants to subscribe to the status.
  • the call command may include “Post Subscriptions (DeviceID)”.
  • the API control unit 110 may repeatedly check this.
  • the API control unit 110 may transmit a control command included in the received call command to the filter 120, and the filter 120 transmits the received control command in the form of a command of the first protocol.
  • Can be converted (610)
  • the storage unit 170 may store that the subscription is applied to the corresponding device D.
  • the controller uses the device D information included in the call command. It may be determined which device (D) has subscribed.
  • the event processor (160) After storing that the device (D) has been subscribed, the event processor (160) passes through the filter 120 to the event transmission unit 180 that the subscription is complete, and finally, the event transmission unit (180) In operation 630, the user terminal U may receive information indicating that the subscription request is completed from the partner server SP. Through this, the user can visually confirm that the subscription application is normally made.
  • FIG. 14 is a flowchart illustrating a state information transmission operation after a subscription of FIG. 13 is completed.
  • the event receiver 150 may receive an event such as a change of state information of at least one device D connected to the device interworking interface 140.
  • the event processor 160 may check whether there is a state information change event for the subscribed device D among the received events. 710 If there is no event for the subscribed device D, the event processor 160 does not exist.
  • the event receiver 150 may repeatedly receive an event.
  • the event processor 160 may process the status information change event of the subscribed device (D).
  • the storage unit 170 may update the status information of the subscribed device (D) (720).
  • the event transmitter 180 may transmit the state information of the subscribed device D to the user terminal U through the partner server SP.
  • the user may operate the apparatus D without additional manipulation.
  • the event for the status change of the subscribed device (D) can be checked.
  • 15 is a flowchart illustrating an operation of receiving a call command of an unsubscribe command of device state information in a method of controlling a smart home service server, according to an exemplary embodiment.
  • the API controller 110 may check whether a call command for invoking the state information unsubscribe command of the device D is input from the user terminal U through the partner server SP.
  • the command may include information about the device D that wants to unsubscribe from the state.
  • the call command may include “Delete Subscriptions (DeviceID)”.
  • the API control unit 110 may repeatedly check this.
  • the API control unit 110 may transmit a control command included in the received call command to the filter 120, and the filter 120 transmits the received control command in the form of a command of the first protocol.
  • the storage unit 170 may delete the stored subscription to the corresponding device D according to the converted control command.
  • the controller uses the device D information included in the call command. It may be determined which device (D) to delete the subscription.
  • the event processor 160 After deleting the subscription of the device D, the event processor 160 passes through the filter 120 to the event transmission unit 180 that the subscription is terminated, and finally, the event transmission unit 180 subscribes This termination may be transmitted to the partner server SP (830).
  • the user terminal U may receive information indicating that the subscription of the device D has been terminated from the partner server SP. Through this, the user can visually confirm that the subscription is completed normally, and then does not notify the user terminal (U) even if a state information change event of the corresponding device (D) occurs.
  • 16 is a flowchart illustrating an operation of receiving a call command of a device condition setting command in a control method of a smart home service server according to an embodiment.
  • the API controller 110 may check whether a call command for calling a condition setting command of the device D is input from the user terminal U through the partner server SP. It may mean a threshold for comparing with the resource of). For example, if device D is an air purifier, the condition may be an air pollution index threshold. Alternatively, if device D is an air conditioner, the condition may be a temperature threshold.
  • the call command may include information about the device (D) for which the condition is to be set.
  • the API control unit 110 may repeatedly check this.
  • the API control unit 110 may transmit a control command included in the received call command to the filter 120, and the filter 120 transmits the received control command in the form of a command of the first protocol. Can be converted (910)
  • the storage unit 170 may store the condition of the device D according to the converted control command.
  • the controller may use the device D information included in the call command to determine which device. It may be determined whether to store the condition in (D).
  • the event processor 160 After storing the condition in the device D, the event processor 160 transmits that the condition is set to the event transmitting unit 180 through the filter 120, and finally, the event transmitting unit 180 In operation 930, the user terminal U may receive information indicating that the condition of the device D is set from the partner server SP. Through this, the user can visually confirm that the condition setting is normally performed.
  • FIG. 17 is a flowchart illustrating a state information transmission operation after the condition setting of FIG. 16 is completed.
  • the event receiver 150 may receive an event such as change of state information of at least one device D connected to the device interworking interface 140.
  • the event processor 160 may check whether there is a state information change event for the conditional device D among the received events. 1010 If the event for the conditional device D does not exist, the event The receiver 150 may repeatedly receive an event.
  • the event processor 160 may process the corresponding event, and the storage unit 170 may update state information of the conditional device D. 1020)
  • the event processor 160 may check whether the updated state information of the device D satisfies a condition. (1030) If the condition is not satisfied, the event receiver 150 may repeatedly receive an event. have.
  • the event transmitter 180 may transmit to the user terminal U through the partner server SP that the updated status information of the updated device D satisfies the set condition. Through this, the user can confirm that the changed state of the condition-set device D satisfies the condition without additional manipulation.
  • the device D and the user terminal U adopting heterogeneous protocols may be simultaneously connected to the smart home service server 100 to form one IoT network.
  • an operation on one IoT network will be described in detail with reference to FIG. 18.
  • FIG. 18 is a flowchart of an IoT network operation according to an embodiment.
  • FIG. 18 illustrates a flow of information exchange between a partner server (SP), a smart home service server 100, an authentication server, and a device D constituting one IoT network.
  • SP partner server
  • the following describes the operation of the IoT network in the order of 1 authentication-2 list creation-3 inquiry-4 subscription-5 notification-6 control-7 unsubscription.
  • the partner server SP may request authentication for API access from the authentication server according to the OAuth 2.0 method.
  • the partner server SP may request authentication from the authentication server using the AppID and the AppSecurityKey.
  • the authentication server may assign an access token (Access Token) meaning that it is authenticated to the partner server (SP).
  • the partner server SP may indicate that the user terminal U is authenticated by adding an access token to a call command for invoking a control command.
  • the authenticated user terminal U of the partner server SP may transmit a call command for calling the controllable device D list generation command to the smart home service server 100.
  • the call command for calling the list generation command may include “Get devices”.
  • the smart home service server 100 provides a list of controllable devices D stored in the storage unit 170 to the partner server SP, and the user can control the controllable device through the user terminal U ( D) You can check the list.
  • the authenticated user terminal U of the partner server SP may transmit a call command for calling the status information inquiry command of at least one of the controllable device D list.
  • the call command for calling the status information inquiry command may include “Get devices (DeviceID)”.
  • the smart home service server 100 provides the partner server SP with status information of the device D requested for inquiry among the status information of the device D stored in the storage 170.
  • the user terminal U may check the state information of the device D requested for inquiry.
  • the authenticated user terminal U of the partner server SP may transmit a call command for invoking a subscription request command of the device D status information.
  • the call command for calling the status subscription request command may include “Post Subscriptions (DeviceID)”.
  • the smart home service server 100 may store the subscription of the corresponding device D in the storage unit 170 and transmit it to the user terminal U through the partner server SP.
  • the subscribed device D may transmit a state information change event to the smart home service server 100.
  • the smart home service server 100 may update the state information of the corresponding device D stored in the storage unit 170 and notify the user terminal U of the subscription request.
  • the user terminal U may transmit that the notification has been received to the smart home service server 100 through the partner server SP.
  • the authenticated user terminal U of the partner server SP may transmit a call command for calling a control command for controlling the operation of the device D confirming the status information.
  • a call command for calling a device D operation control command may include “PUT Device (DeviceID, resource)”.
  • the smart home service server 100 may notify the user terminal U that the call command has been received, and transmit the control command to the device D.
  • FIG. The device D receiving the control command may control its operation according to the control command.
  • the authenticated user terminal U of the partner server SP may transmit a call command for invoking an unsubscribe command of the device D status information.
  • the call command for calling the state subscription cancel command may include “Delete Subscriptions (DeviceID)”.
  • the smart home service server 100 may delete the subscription request of the corresponding device D stored in the storage unit 170 and transmit it to the user terminal U through the partner server SP.
  • the user terminal U of the second protocol calls a control command of the first protocol, transforms the called control command according to the command format of the first protocol, and then changes the device D with the modified control command.
  • the case of control was demonstrated.
  • a method of controlling the partner server SP of the third protocol and the device D connected thereto in the device D or the user terminal U of the first protocol will be described.
  • the adapter 190 may be called by the partner server SP whose device D state information processed by the event processor 160 operates based on the third protocol. . This will be described in detail with reference to FIG. 19.
  • FIG. 19 is a diagram for describing an operation of an adapter, according to an exemplary embodiment.
  • the event processor 160 which processes the state information of the device D may provide the processed state information to the adapter 190.
  • the adapter 190 may modify the state information so that the state information of the provided device D may be called according to the control command of the third protocol.
  • state information of the device D operating by the first protocol can be easily provided to the partner server SP of the third protocol, and if the partner server SP of the third protocol is mashed up (Mashup)
  • various devices D operating by a protocol other than the first protocol may be controlled by the device D state information.
  • the adapter 190 may control at least one partner device D connected to the partner server SP based on the third protocol. To this end, the adapter 190 may call a control command for the partner device D via the first protocol.
  • the adapter 190 may include, for example, an API that allows a control command of a third protocol to be called on the first protocol, or may have a right to access. As a result, the adapter 190 can use the API to call a control command of the third protocol for directly controlling the partner device D on the first protocol.
  • the smart home service server 100 may include an adapter 190 to provide an environment capable of bidirectional control between devices D having heterogeneous protocols.
  • the smart home service server and the control method described above can be used in various fields such as a home or an industrial site, there is industrial applicability.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

이종(異種)의 프로토콜에 기초하는 디바이스와 사용자 단말기 간의 제어가 가능하도록, 사용자 단말기의 프로토콜을 통해 디바이스에 대한 제어 명령이 호출 가능한 환경을 제공하는 스마트 홈 서비스 서버 및 그 제어방법을 제공한다. 일 실시예에 따른 스마트 홈 서비스 서버는, 제 1 프로토콜에 기초하여 동작하는 적어도 하나의 디바이스 및 제 2 프로토콜에 기초하여 동작하는 적어도 하나의 사용자 단말기를 연결하는 스마트 홈 서비스 서버에 있어서, 상기 적어도 하나의 사용자 단말기의 상기 제 2 프로토콜을 통해 상기 적어도 하나의 디바이스에 대한 제어 명령이 호출되는 API 제어부; 상기 호출된 제어 명령을 상기 제 1 프로토콜에 따라 변환하는 필터; 및 상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 상기 적어도 하나의 디바이스로 전송하는 제어 명령 전송부; 를 포함할 수 있다.

Description

스마트 홈 서비스 서버 및 그 제어방법
사용자 단말기와 복수의 디바이스 간에 사물 인터넷 네트워크를 구현하기 위한 스마트 홈 서비스 서버 및 그 제어방법에 관한 것이다.
인터넷은 기본적으로 TCP/IP 프로토콜(TCP/IP Protocol)을 통해 사람이 운용하는 컴퓨터들이 상호 통신을 수행할 수 있도록 개발되었으나, 최근에는 식별, 연산 및 통신이 가능한 모든 사물들(Things)이 인터넷을 통해 통신을 수행할 수 있도록 하기 위한 연구가 진행되고 있다. 이렇게 모든 사물이 통신을 수행할 수 있도록 하는 기술을 IoT(Internet of Things; 이하, "사물 인터넷"이라고 한다)라고 한다.
이러한 사물 인터넷은 기존의 유선 통신을 기반으로 한 인터넷이나 모바일 인터넷보다 더욱 진화된 단계로서, 인터넷에 연결된 기기가 사람의 개입 없이 상호간에 정보를 주고 받아 처리하고, 이는 사물이 인간에 의존하지 않고 통신을 주고받는 점에서 기존의 유비쿼터스(Ubiquitous)나 사물지능통신인 M2M(Machine to Machine)과 유사한 점은 있지만, M2M의 개념을 인터넷으로 확장하여 세상에 존재하는 모든 사물들을 네트워크에 연결하여 언제 어디서나 상호 간에 통신이 가능한 정보 통신 기반을 의미한다.
이와 같은 사물 인터넷 디바이스들은 사물 인터넷 서비스를 제공하기 위한 서버에 연결됨으로써 사물 인터넷 네트워크를 형성할 수 있다. 또한, 서버에는 제어 명령이 입력 가능한 휴대폰과 같은 사용자 단말기도 연결될 수 있는데, 이를 통해 사용자는 시간 및 장소에 구애 받지 않고 용이하게 사물 인터넷 디바이스를 제어할 수 있다.
개시된 발명의 일 측면은, 이종(異種)의 프로토콜에 기초하는 디바이스와 사용자 단말기 간의 제어가 가능하도록, 사용자 단말기의 프로토콜을 통해 디바이스에 대한 제어 명령이 호출 가능한 환경을 제공하는 스마트 홈 서비스 서버 및 그 제어방법을 제공한다.
일 실시예에 따른 스마트 홈 서비스 서버는, 제 1 프로토콜에 기초하여 동작하는 적어도 하나의 디바이스 및 제 2 프로토콜에 기초하여 동작하는 적어도 하나의 사용자 단말기를 연결하는 스마트 홈 서비스 서버에 있어서, 상기 적어도 하나의 사용자 단말기의 상기 제 2 프로토콜을 통해 상기 적어도 하나의 디바이스에 대한 제어 명령이 호출되는 API 제어부; 상기 호출된 제어 명령을 상기 제 1 프로토콜에 따라 변환하는 필터; 및 상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 상기 적어도 하나의 디바이스로 전송하는 제어 명령 전송부; 를 포함할 수 있다.
또한, 상기 API 제어부는, 상기 제 2 프로토콜 상에서 상기 제 1 프로토콜의 제어 명령을 호출하는 어플리케이션 프로그래밍 인터페이스(Application Programming Interface; API)를 상기 적어도 하나의 사용자 단말기에 제공할 수 있다.
또한, 상기 API 제어부는, 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 제어 명령을 호출하는 호출 명령을 수신하고, 상기 호출 명령은, 채널 키(Channel Key)를 포함하는 상기 제 2 프로토콜에 대한 인증 정보, 유저 아이디(User ID), 어플리케이션 아이디(Application ID), 및 억세스 토큰(Access Token)를 포함하는 사용자 인증 정보, 및 디바이스 아이디(Device ID)를 포함하는 디바이스 정보를 포함할 수 있다.
또한, 상기 API 제어부는, 상기 적어도 하나의 사용자 단말기 중 인증된 사용자 단말기에 의해 상기 제어 명령이 호출될 수 있다.
또한, 상기 API 제어부는, 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 호출 명령을 수신하면, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 및 사용자 인증 정보 중 적어도 하나에 기초하여 상기 사용자 단말기의 인증 여부를 결정할 수 있다.
또한, 상기 제어 명령 전송부는, 상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 호출 명령을 수신하면, 상기 수신된 호출 명령 중 상기 디바이스 정보에 기초하여 상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 전송할 디바이스를 결정할 수 있다.
또한, 상기 적어도 하나의 디바이스와 연결되는 디바이스 연동 인터페이스; 상기 디바이스 연동 인터페이스를 통해 상기 연결된 적어도 하나의 디바이스의 상태 정보를 수신하는 이벤트 수신부; 상기 수신된 상태 정보를 처리하는 이벤트 프로세서; 및 상기 처리된 상태 정보를 저장하는 저장부; 를 더 포함할 수 있다.
또한, 상기 이벤트 수신부는, 상기 디바이스 연동 인터페이스를 통해 상기 연결된 적어도 하나의 디바이스 중 적어도 하나의 상태가 변경될 때, 상기 상태가 변경된 적어도 하나의 디바이스의 상태 정보를 수신할 수 있다.
또한, 상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 상태 정보 조회 명령의 상기 호출 명령을 수신하면, 상기 저장부에 저장된 상기 처리된 상태 정보를 상기 적어도 하나의 사용자 단말기로 전송하는 이벤트 전송부; 를 더 포함할 수 있다.
또한, 상기 필터는, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 및 사용자 인증 정보 중 적어도 하나에 기초하여 상기 처리된 상태 정보를 필터링하여 상기 이벤트 전송부에 전달할 수 있다.
또한, 상기 저장부는, 상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 상태 정보 구독 신청 명령의 상기 호출 명령을 수신하면, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 사용자 인증 정보, 및 디바이스 정보를 구독 신청 정보로서 저장할 수 있다.
또한, 상기 이벤트 프로세서는, 상기 구독 신청 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보가 변경되면, 상기 구독 신청 정보로서 저장된 상기 제 2 프로토콜에 대한 인증 정보 및 상기 사용자 인증 정보에 대응되는 사용자 단말기로 상기 변경된 상태 정보를 전송하도록, 상기 변경된 상태 정보를 처리하여 상기 이벤트 전송부에 제공할 수 있다.
또한, 상기 이벤트 프로세서는, 상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 상태 정보 구독 해지 명령의 상기 호출 명령을 수신하면, 상기 구독 신청 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보를 상기 이벤트 전송부에 제공하지 않을 수 있다.
또한, 상기 저장부는, 상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 조건 설정 명령의 상기 호출 명령을 수신하면, 상기 수신된 조건 설정 명령에 대한 호출 명령의 조건 및 상기 디바이스 정보를 포함하는 조건 설정 정보를 저장할 수 있다.
또한, 상기 이벤트 프로세서는, 상기 조건 설정 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보가 상기 조건 설정 정보로서 저장된 조건을 만족하면, 상기 조건 만족 결과를 상기 이벤트 전송부에 제공할 수 있다.
또한, 상기 이벤트 프로세서에 의해 처리된 상기 상태 정보가 제 3 프로토콜에 기초하여 동작하는 파트너 서버에 의해 호출되는 아답터(Adapter); 를 더 포함할 수 있다.
또한, 상기 아답터는, 상기 제 3 프로토콜에 기초하여 상기 파트너 서버에 연결된 적어도 하나의 파트너 디바이스를 제어하도록, 상기 제 1 프로토콜을 통해 상기 적어도 하나의 파트너 디바이스에 대한 제어 명령을 호출할 수 있다.
제 1 프로토콜에 기초하여 동작하는 적어도 하나의 디바이스 및 제 2 프로토콜에 기초하여 동작하는 적어도 하나의 사용자 단말기를 연결하는 스마트 홈 서비스 서버에 있어서, 상기 스마트 홈 서비스 서버의 API 제어부에서, 상기 적어도 하나의 사용자 단말기의 상기 제 2 프로토콜을 통해 상기 적어도 하나의 디바이스에 대한 제어 명령이 호출되는 단계; 상기 스마트 홈 서비스 서버의 필터에서, 상기 호출된 제어 명령을 상기 제 1 프로토콜에 따라 변환하는 단계; 및 상기 스마트 홈 서비스 서버의 제어 명령 전송부에서, 상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 상기 적어도 하나의 디바이스로 전송하는 단계; 를 포함할 수 있다.
또한, 상기 제어 명령이 호출되는 단계는, 상기 제 2 프로토콜 상에서 상기 제 1 프로토콜의 제어 명령을 호출하는 어플리케이션 프로그래밍 인터페이스(Application Programming Interface; API)를 상기 적어도 하나의 사용자 단말기에 제공하는 단계; 를 포함할 수 있다.
또한, 상기 제어 명령이 호출되는 단계는, 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 제어 명령을 호출하는 호출 명령을 상기 적어도 하나의 사용자 단말기로부터 수신하는 단계; 를 더 포함하고, 상기 호출 명령은, 채널 키(Channel Key)를 포함하는 상기 제 2 프로토콜에 대한 인증 정보, 유저 아이디(User ID), 어플리케이션 아이디(Application ID), 및 억세스 토큰(Access Token)를 포함하는 사용자 인증 정보, 및 디바이스 아이디(Device ID)를 포함하는 디바이스 정보를 포함할 수 있다.
또한, 상기 제어 명령이 호출되는 단계는, 상기 적어도 하나의 사용자 단말기 중 인증된 사용자 단말기에 의해 상기 제어 명령이 호출될 수 있다.
또한, 상기 제어 명령이 호출되는 단계는, 상기 호출 명령이 수신되면, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 및 사용자 인증 정보 중 적어도 하나에 기초하여 상기 사용자 단말기의 인증 여부를 결정하는 단계; 를 더 포함할 수 있다.
또한, 상기 제어 명령을 전송하는 단계는, 상기 호출 명령이 수신되면, 상기 수신된 호출 명령 중 상기 디바이스 정보에 기초하여 상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 전송할 디바이스를 결정하는 단계; 를 더 포함할 수 있다.
또한, 상기 스마트 홈 서비스 서버의 이벤트 수신부에서, 상기 디바이스 연동 인터페이스를 통해 상기 연결된 적어도 하나의 디바이스의 상태 정보를 수신하는 단계; 상기 스마트 홈 서비스 서버의 이벤트 프로세서에서, 상기 수신된 상태 정보를 처리하는 단계; 및 상기 스마트 홈 서비스 서버의 저장부에서, 상기 처리된 상태 정보를 저장하는 단계; 를 더 포함할 수 있다.
또한, 상기 상태 정보를 수신하는 단계는, 상기 연결된 적어도 하나의 디바이스 중 적어도 하나의 상태가 변경될 때, 상기 상태가 변경된 적어도 하나의 디바이스의 상태 정보를 수신할 수 있다.
또한, 상기 스마트 홈 서비스 서버의 이벤트 전송부에서, 상기 적어도 하나의 디바이스의 상기 상태 정보 조회 명령의 상기 호출 명령이 수신되면, 상기 저장된 상태 정보를 상기 적어도 하나의 사용자 단말기로 전송하는 단계; 를 더 포함할 수 있다.
또한, 상기 저장된 상태 정보를 상기 적어도 하나의 사용자 단말기로 전송하는 단계는, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 및 사용자 인증 정보 중 적어도 하나에 기초하여 상기 처리된 상태 정보를 필터링하여 상기 적어도 하나의 사용자 단말기로 전송할 수 있다.
또한, 상기 적어도 하나의 디바이스의 상기 상태 정보 구독 신청 명령의 상기 호출 명령이 수신되면, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 사용자 인증 정보, 및 디바이스 정보를 구독 신청 정보로서 저장하는 단계; 를 더 포함할 수 있다.
또한, 상기 구독 신청 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보가 변경되면, 상기 구독 신청 정보로서 저장된 상기 제 2 프로토콜에 대한 인증 정보 및 상기 사용자 인증 정보에 대응되는 사용자 단말기로 상기 변경된 상태 정보를 전송하는 단계; 를 더 포함할 수 있다.
또한, 상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 상태 정보 구독 해지 명령의 상기 호출 명령을 수신하면, 상기 구독 신청 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보를 상기 이벤트 전송부에 제공하지 않는 단계; 를 더 포함할 수 있다.
또한, 상기 적어도 하나의 디바이스의 상기 조건 설정 명령의 상기 호출 명령이 수신되면, 상기 수신된 조건 설정 명령에 대한 호출 명령의 조건 및 상기 디바이스 정보를 포함하는 조건 설정 정보를 저장하는 단계; 를 더 포함할 수 있다.
또한, 상기 조건 설정 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보가 상기 조건 설정 정보로서 저장된 조건을 만족하면, 상기 조건 만족 결과를 상기 적어도 하나의 디바이스에 제공하는 단계; 를 더 포함할 수 있다.
또한, 상기 스마트 홈 서비스 서버의 아답터(Adapter)에서, 상기 처리된 상태 정보가 제 3 프로토콜에 기초하여 동작하는 파트너 서버에 의해 호출되는 단계; 를 더 포함할 수 있다.
또한, 상기 제 3 프로토콜에 기초하여 상기 파트너 서버에 연결된 적어도 하나의 파트너 디바이스를 제어하도록, 상기 제 1 프로토콜을 통해 상기 적어도 하나의 파트너 디바이스에 대한 제어 명령을 호출하는 단계; 를 더 포함할 수 있다.
스마트 홈 서비스 서버, 및 그 제어방법의 일 측면에 따르면, 서로 다른 프로토콜 에 기초하는 디바이스 및 사용자 단말기 간에도 제어가 가능한 네트워크 환경을 제공함으로써, 사물 인터넷 네트워크의 범용성 및 확장성을 증대시킬 수 있다.
또한, 디바이스로부터 획득된 다수의 정보를 관리함으로써 다양한 형태의 서비스 제공이 가능한 매시업(Mashup) 서비스 환경을 구축할 수 있다.
도 1a 및 1b는 여러 가지 실시예에 따른 사물 인터넷 디바이스의 네트워크 시스템을 나타낸 도면이다.
도 2는 일 실시예에 따른 스마트 홈 서비스 서버의 블록도이다.
도 3은 일 실시에에 따른 사용자에 대한 인증 절차를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 인증된 사용자가 사용자 단말기를 통해 스마트 홈 서비스 서버로 전송하는 인증 정보를 예시한 도면이다.
도 5는 일 실시예에 따른 스마트 홈 서비스 서버의 사용자 단말기에 대한 인증 여부 확인 방법의 흐름도이다.
도 6은 일 실시예에 따른 API 제어부에서 API를 통해 디바이스 제어 명령이 호출된 경우의 정보 전달 경로를 나타낸 도면이다.
도 7은 도 6의 전달 경로를 통해 전달된 제어 명령에 따라 변경된 디바이스 상태 정보의 전송 경로를 나타낸 도면이다.
도 8은 일 실시예에 따른 저장부에 저장되는 디바이스 상태 정보를 예시한 도면이다.
도 9a 및 9b는 일 실시예에 따른 필터가 상태 정보를 필터링 하는 방법에 대하여 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 API 제어부에서 API를 통해 디바이스 상태 정보 조회 명령이 호출된 경우의 정보 전달 경로를 나타낸 도면이다.
도 11은 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 제어 가능 디바이스 리스트 생성 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
도 12는 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 상태 정보 조회 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
도 13은 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 디바이스 상태 정보의 구독 신청 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
도 14는 도 13의 구독 신청이 완료된 후, 상태 정보 전송 동작에 대한 흐름도이다.
도 15는 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 디바이스 상태 정보의 구독 해지 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
도 16은 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 디바이스 조건 설정 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
도 17은 도 16의 조건 설정이 완료된 후, 상태 정보 전송 동작에 대한 흐름도이다.
도 18은 일 실시예에 따른 사물 인터넷 네트워크 동작의 흐름도이다.
도 19는 일 실시예에 따른 아답터의 동작을 설명하기 위한 도면이다.
본 명세서에 기재된 실시예와 도면에 도시된 구성은 개시된 발명의 바람직한 일 예에 불과할 뿐이며, 본 출원의 출원시점에 있어서 본 명세서의 실시예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.
또한, 본 명세서의 각 도면에서 제시된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다.
또한, 본 명세서에서 사용한 용어는 실시예를 설명하기 위해 사용된 것으로, 개시된 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는다.
또한, 본 명세서에서 사용한 "제1", "제2" 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
이하에서는 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1a 및 1b는 여러 가지 실시예에 따른 사물 인터넷 디바이스의 네트워크 시스템을 나타낸 도면이다.
사물 인터넷(IOT)은 인터넷을 기반으로 모든 사물을 연결하여 사람과 사물, 사물과 사물 간의 정보를 상호 소통하는 지능형 기술 및 서비스를 의미한다. 이를 구현하기 위한 기술 요소로는 유형의 사물과 주위 환경으로부터 정보를 얻는 센싱 기술, 사물이 인터넷에 연결되도록 지원하는 유무선 통신 및 네트워크 인프라 기술, 각종 서비스 분야와 형태에 적합하게 정보를 가공하고 처리하거나 각종 기술을 융합하는 서비스 인터페이스 기술, 대량의 데이터 등 사물 인터넷의 구성 요소들에 대한 해킹이나 정보 유출을 방지하기 위한 보안 기술 등이 있다.
이러한 사물 인터넷(IOT)을 기반으로 네트워크에 연결할 수 있는 디바이스(D)에는 세탁기 DW, 냉장고 DR, 공기조화기 DA, 청소기 DV, 오븐DO 등의 일반 가정에서 사용하는 각종 가전기기, 디지털 카메라, 컴퓨터, 노트북, 각종 센서, 자동차 오디오, 디지털 계량기, 도어 잠금 장치, 게임기, 스피커, 보안 장치 등 우리 주변의 모든 사물을 포함할 수 있다. 사물의 종류에 대한 제한은 없다.
디바이스(D)는 디바이스 서버(SD)에 접속됨으로써 사물 인터넷 네트워크를 구성할 수 있다. 디바이스 서버(SD)는 접속된 디바이스(D)로부터 정보를 수신하고, 저장하고, 다른 디바이스(D)로 전송함으로써 사물 인터넷 서비스를 제공할 수 있다.
이렇게 구성된 사물 인터넷 네트워크는 동일한 프로토콜에 따라 동작할 필요가 있다. 여기서, 프로토콜(Protocol)이란 디바이스 서버, 및 이와 연결된 적어도 하나의 디바이스 사이에서 정보 교환이 원활하게 이루어지도록 정한 여러 가지 통신규칙과 방법에 대한 약속 즉, 통신의 규약을 의미할 수 있고, 통신 규약이란 상호간의 접속이나 정보의 전달 방식, 통신 방식, 주고받을 정보의 형식, 오류 검출 방식, 코드 변환 방식, 전송 속도 등을 정하는 것을 의미할 수 있다.
동일한 프로토콜에 기초하여 동작한다는 것은 동일한 방식에 따라 상호 정보 교환을 수행한다는 것을 의미하므로, 동일한 사물 인터넷 네트워크를 구성하는 디바이스 서버, 및 디바이스는 동일한 형식의 제어 명령을 송수신함으로써 상호 제어가 가능할 수 있다. 아울러, 이렇게 구성된 사물 인터넷 네트워크에 사용자가 접속함으로써 디바이스에 대한 직접적인 제어가 가능할 수 있다. 구체적으로, 사용자는 사용자 단말기를 사물 인터넷 네트워크의 디바이스 서버에 접속하고, 사용자 단말기를 통해 제어 명령을 입력함으로써 사물 인터넷 네트워크에 접속된 디바이스를 제어할 수 있다. 이 때, 사용자 단말기(U)는 지그비(ZigBee) 통신망, 와이파이(WIFI) 통신망, 블루투스(Bluetooth) 통신망, 이동 통신망, 근거리 통신망(LAN), 광역 통신망(WAN), 또는 점 대 점 전화회선 연결과 같은 다양한 통신 링크들을 통해 디바이스 서버(SD)에 접속될 수 있다.
또한, 사용자 단말기는 스마트 폰(Smart Phone), 셀룰러 폰(Cellular Phone), 태블릿 피씨(Tablet PC), 스마트 TV, 디지털 카메라, 개인용 디지털 보조장치(PDA, Personal Digital Assistant), 원격 제어 장치(Remote Controller), 휴대용 멀티미디어 플레이어(Portable Multimedia Player: PMP), 노트북, 데스크 탑 컴퓨터 등으로 구현될 수 있다.
한편, 사물 인터넷 네트워크에 접속된 사용자 단말기는 동일 네트워크 상의 디바이스 및 디바이스 서버와 동일한 프로토콜에 의해 동작할 필요가 있다. 사용자 단말기를 통해 디바이스에 대한 제어 명령이 입력되는데, 입력된 제어 명령이 사물 인터넷 네트워크를 구성하는 디바이스에 직접 적용되기 위해서는 사용자 단말기의 프로토콜이 디바이스 및 디바이스 서버의 프로토콜을 따라야 하기 때문이다.
구체적으로, 사용자 단말기에는 사물 인터넷 네트워크를 구성하는 디바이스 및 디바이스 서버와 동일 프로토콜에 기초하여 제어 명령을 입력받기 위해, 디바이스 및 디바이스 서버의 동작의 기초가 되는 프로토콜에 따른 어플리케이션이 설치될 수 있다. 사용자 단말기에 설치되는 어플리케이션은 사물 인터넷 네트워크에의 접속, 사물 인터넷 네트워크 상태에 대한 정보 제공, 사물 인터넷 네트워크에 대한 설정, 사물 인터넷 네트워크를 구성하는 디바이스(D) 각각의 정보 제공, 및/또는 사물 인터넷 네트워크를 구성하는 디바이스(D) 각각에 대한 제어 등이 가능한 환경을 제공할 수 있다.
이처럼, 사용자 단말기에 설치되는 어플리케이션은 특정 프로토콜에 따라 구현되며, 사용자는 설치된 어플리케이션과 동일한 프로토콜을 채택한 디바이스에 대한 제어 명령만을 입력할 수 있다. 그 결과, 사용자는 이종(異種)의 프로토콜에 기초하는 서로 다른 디바이스를 함께 제어하기 위해서는, 각각의 디바이스가 채택하는 프로토콜에 대응되는 각각의 어플리케이션을 모두 설치할 필요가 있다.
이를 해결하기 위해, 본원발명에 따른 스마트 홈 서비스 서버(100)는 사물 인터넷 네트워크를 구성하는 디바이스(D)의 범용성을 높이고자, 서로 다른 프로토콜 간의 인터페이스 역할을 하는 어플리케이션 프로그래밍 인터페이스(Application Programming Interface; 이하 API라 함)를 제공할 수 있다.
다시 도 1a를 참조하면, 본원발명의 일 실시예에 따른 네트워크 시스템은 복수의 디바이스(D)와 복수의 사용자 단말기(U1, U2, U3)가 접속하는 서버가 각각 상이할 수 있다. 구체적으로, 복수의 디바이스(D)는 디바이스 서버(SD)와 접속하고, 복수의 사용자 단말기(U1, U2, U3)는 파트너 서버(SU)와 접속할 수 있다. 이 때, 복수의 디바이스(D)는 제 1 프로토콜에 따라 동작하므로 디바이스 서버(SD)와 함께 하나의 사물 인터넷 네트워크를 구축하고, 복수의 사용자 단말기(U1, U2, U3)는 제 2 프로토콜에 따라 동작하므로 파트너 서버와 함께 다른 하나의 사물 인터넷 네트워크를 구축할 수 있다.
이처럼, 상이한 프로토콜에 기초하는 서로 다른 사물 인터넷 네트워크가 직접 연결되는 경우, 제어 명령을 포함하는 정보의 형식, 전달 방식 등이 상이하므로, 이들간의 통신은 불가능할 수 있다.
따라서, 본원발명에 따른 스마트 홈 서비스 서버(100)는 디바이스(D)가 접속되는 디바이스 서버(SD)와 사용자 단말기(U)가 접속되는 파트너 서버(SU) 사이에서 양자와 접속될 수 있다. 또한, 스마트 홈 서비스 서버(100)는 서로 다른 프로토콜에 기초한 사용자 단말기(U1, U2, U3)와 디바이스(D) 간 제어가 이루어지도록, 제 2 프로토콜 상에서 제 1 프로토콜의 제어 명령을 호출하는 API를 복수의 사용자 단말기(U1, U2, U3)에 제공할 수 있다.
여기서 API는 어느 하나의 프로토콜에서 다른 프로토콜의 어떤 처리를 위해 호출할 수 있는 서브루틴 또는 함수의 집합으로 정의될 수 있다. 그 결과, API는 어느 하나의 프로토콜에서 다른 프로토콜의 동작이 수행될 수 있는 환경을 제공할 수 있다.
도 1a에서는 스마트 홈 서비스 서버(100)가 복수의 디바이스(D)가 접속되는 디바이스 서버(SD) 및 복수의 사용자 단말기(U1, U2, U3)가 접속되는 파트너 서버(SU)에 각각 접속되는 경우를 예시하였다. 이와는 달리, 스마트 홈 서비스 서버(100)가 복수의 디바이스(D) 각각과 직접 접속될 수도 있고, 이는 도 1b에서 예시하고 있다.
이하에서는, 본원발명의 일 실시예에 따른 스마트 홈 서비스 서버(100)의 구성 및 동작에 대하여 상세히 설명한다. 이하에서는 설명의 편의상 스마트 홈 서비스 서버(100)에 접속되는 복수의 디바이스(D)는 제 1 프로토콜의 제어 명령에 따라 제어되고, 스마트 홈 서비스 서버(100)에 접속되는 사용자 단말기(U)는 제 2 프로토콜의 제어 명령을 입력 받을 수 있음을 전제로 한다. 특히, 사용자 단말기(U)는 제 2 프로토콜의 제어 명령을 입력 받을 수 있는 어플리케이션이 설치되어 있음을 가정한다.
도 2는 일 실시예에 따른 스마트 홈 서비스 서버의 블록도이고, 도 3은 일 실시예에 따른 스마트 홈 서비스 서버의 통신 방법을 설명하기 위한 도면이다.
도 2를 참조하면, 일 실시예에 따른 스마트 홈 서비스 서버(100)는 제 2 프로토콜을 통해 제 1 프로토콜의 제어 명령을 호출하기 위한 API를 제공하는 API 제어부(110); 호출된 제어 명령은 제 1 프로토콜에 따라 변환하는 필터(120); 변환된 제어 명령을 외부로 전송하는 제어 명령 전송부(130); 외부의 디바이스(D)와 연결되는 디바이스 연동 인터페이스(140); 디바이스 연동 인터페이스(140)를 통해 디바이스(D)의 상태 정보를 수신하는 이벤트 수신부(150); 수신된 상태 정보를 처리하는 이벤트 프로세서(160); 처리된 상태 정보를 포함하는 각종 정보가 저장되는 저장부(170); 처리된 상태 정보를 외부로 전송하는 이벤트 전송부(180); 처리된 상태 정보가 제 3 프로토콜에 기초하여 동작하는 파트너 서버(SP)에 의해 호출되는 아답터(190)(Adapter); 를 포함할 수 있다.
저장부(170)는 서로 다른 프로토콜에 기초한 네트워크를 연결하기 위한 각종 정보를 저장할 수 있다. 먼저, 저장부(170)는 디바이스 연동 인터페이스(140)를 통해 스마트 홈 서비스 서버(100)와 연결되는 적어도 하나의 디바이스(D)에 대한 정보, 디바이스(D)의 사용자에 대한 정보, 이들의 매핑 정보, 및 디바이스(D)의 조건 정보 등을 저장할 수 있다. 이하의 표 1, 2, 3, 및 4는 홈 서비스 서버와 연결되는 디바이스(D) 정보, 사용자 정보, 매핑 정보, 및 조건 정보를 예시한다.
Figure PCTKR2016013660-appb-T000001
Figure PCTKR2016013660-appb-T000002
Figure PCTKR2016013660-appb-T000003
Figure PCTKR2016013660-appb-T000004
표 1을 참조하면, 저장부(170)에 저장되는 디바이스(D) 정보는 디바이스(D)를 식별하기 위한 ID로서의 DeviceID, 디바이스(D)의 고유의 ID인 UUID, 디바이스(D) 종류를 나타내는 Device Type, 모델명을 의미하는 Model ID, 및 제조사 정보인 Manufacturer를 포함할 수 있다.
표 2를 참조하면, 저장부(170)에 저장되는 사용자 정보는 디바이스(D)의 사용자를 식별하기 위한 ID로서의 UserID, 사용자 이름 정보인 UnerName, 인증 시 사용하는 ID인 AccountID, 및 사용자의 국가 정보를 나타내는 CountryCode를 포함할 수 있다.
또한, 저장부(170)에는 디바이스(D)와 이를 사용하는 사용자를 매핑시키는 매핑 정보가 저장될 수 있다. 표 3을 참조하면, 저장부(170)에 저장되는 매핑 정보는 상술한 UserID, DeviceID를 매핑시킨 결과를 포함할 수 있고, 사용자가 설정한 디바이스(D) 이름인 DeviceName과, 사용자가 설정한 디바이스(D)의 세부 정보를 의미하는 Description를 더 포함할 수 있다.
아울러, 저장부(170)에는 디바이스(D)의 동작을 위한 조건 정보를 더 저장할 수 있다. 표 4를 참조하면, 저장부(170)에 저장되는 조건 정보는 상술한 UserID, DeviceID와 함께, 조건 설정의 대상이 되는 리소스 명칭인 Resource, 조건 설정을 위한 연산자 정보인 Operator, 및 조건 설정을 위한 조건 값인 ConditionValue를 포함할 수 있다.
그 다음, 저장부(170)는 스마트 홈 서비스 서버(100)에 연결 가능하도록 인증된 제 2 프로토콜에 대한 인증 정보, 즉 파트너 서버(SP)에 대한 인증 정보를 포함할 수 있다. 표 5는 파트너 서버(SP)에 대한 인증 정보의 일 실시예를 나타낸다.
Figure PCTKR2016013660-appb-T000005
표 5를 참조하면, 저장부(170)에 저장되는 파트너 서버(SP)의 인증 정보는 파트너 서버(SP)를 식별하기 위한 ID인 PartnerID, 파트너 이름을 나타내는 PartnerName, 파트너 서버(SP)에 디바이스(D) 정보를 통지하기 위한 URL인 NotificationURL, 파트너 서버(SP)의 인증 시 사용되는 ID인 PartnerAccountID, 파트너 서버(SP)의 인증을 위해 스마트 홈 서비스 서버(100) 측에서 할당하는 key인 ChannelKey, 파트너 서버(SP)의 인증을 위한 어플리케이션 ID인 AppID, 파트너 서버(SP)의 인증을 위한 어플리케이션 key인 AppSecurityKey, 파트너 서버(SP)에서 스마트 홈 서비스 서버(100)를 인증하기 위해 할당한 AuthHeader를 포함할 수 있다.
아울러, 저장부(170)는 파트너 서버(SP)에 연결된 개별 사용자의 인증 정보를 더 저장할 수 있다. 이를 위해, 파트너 서버(SP)에 연결된 사용자 단말기(U)의 사용자는 별도의 인증 절차를 거치게 되는데, 이에 대하여는 도 3을 참조하여 상세히 설명한다.
도 3은 일 실시에에 따른 사용자에 대한 인증 절차를 설명하기 위한 도면이고, 도 4는 일 실시예에 따른 인증된 사용자가 사용자 단말기를 통해 스마트 홈 서비스 서버로 전송하는 인증 정보를 예시한 도면이다.
먼저, 단계 ①로서, 인증하고자 하는 사용자는 인증 서버에 인증 요청을 할 수 있다. 구체적으로, 사용자는 사용자 단말기(U)가 연결된 파트너 서버(SP)의 어플리케이션 ID인 AppID 등을 인증 서버에 전송할 수 있다. 이에 대응하여, 단계 ①´로서, 인증 요청한 사용자의 사용자 단말기(U)가 인증된 파트너 서버(SP)에 연결된 것으로 확인되면, 인증 서버는 사용자 단말기(U)에 인증 코드인 Auth-Code를 전송할 수 있다.
그 다음, 단계 ②로서, Auth-Code를 수신한 사용자 단말기(U)는 인증 서버에 억세스 토큰(Access Token)을 요청할 수 있고, 단계 ②´로서, 인증 서버는 해당 사용자가 인증되었음을 나타내는 고유의 억세스 토큰을 사용자 단말기(U)에 할당할 수 있다.
이로서, 사용자는 인증 서버에 의한 인증 절차를 종료하게 된다. 즉, 파트너 서버(SP)의 인증과 사용자에 대한 인증을 통해 사용자 단말기(U)의 인증이 결정될 수 있다.
인증 절차가 종료되면, 단계 ③ 및 ③´으로서, 사용자 단말기(U)는 파트너 서버(SP)로 제어 명령을 포함한 정보를 전달할 때, 할당된 억세스 토큰을 포함하는 인증 정보를 함께 전달할 수 있다.
도 4를 참조하면, 사용자 단말기(U)에 의해 전달되는 인증 정보는 상술한 ChannelKey, UserID, AppID와 함께 억세스 토큰이 함께 전달됨을 확인할 수 있다.
인증 정보를 수신한 파트너 서버(SP)는, 단계, 단계 ④ 및 ④´로서, 사용자 단말기(U)로부터 수신한 인증 정보를 스마트 홈 서비스 서버(100)로 전송할 수 있다. 인증 정보를 수신한 스마트 홈 서비스 서버(100)는, 단계 ⑤, 및 ⑤´로서, 인증 정보를 인증 서버에 전달하여 억세스 토큰이 유효한지를 확인할 수 있다. 만약, 해당 억세스 토큰이 유효한 것으로 확인되면, 스마트 홈 서비스 서버(100)는 사용자 단말기(U)의 인증 정보로서 유효한 억세스 토큰을 저장할 수 있다.
그 결과, 이후에 특정 사용자 단말기(U)로부터 수신한 정보 내에 미리 저장된 유효한 억세스 토큰이 포함되는 경우, 인증 서버를 통한 인증 여부 확인 없이, 해당 사용자 단말기(U)가 인증된 것으로 판단하고 이후 절차를 진행할 수 있다.
또한, 저장부(170)는 제어 가능한 디바이스(D)의 리스트와, 제어 가능한 디바이스(D)의 상태 정보를 저장할 수 있으며, 이에 대하여는 후술한다.
이를 위해, 저장부(170)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read Only Memory), PROM(Programmable Read Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 형태로 구현될 수 있다.
도 5는 일 실시예에 따른 스마트 홈 서비스 서버의 사용자 단말기에 대한 인증 여부 확인 방법의 흐름도이다.
먼저, 스마트 홈 서비스 서버(100)는 사용자 단말기(U)로부터 API를 통해 제어 명령을 호출하는 호출 명령이 수신되었는지 확인할 수 있다.(300) 호출 명령이 수신되지 않았다면, 반복하여 이를 확인할 수 있다.
만약, 호출 명령이 수신되었다면, 스마트 홈 서비스 서버(100)는 수신된 호출 명령에 포함된 억세스 토큰(Access Token)의 유효성을 인증 서버에 확인 요청할 수 있다.(310) 여기서, 억세스 토큰은 인증된 파트너 서버(SP)에 접속된 사용자 단말기(U)로서 Auth-Code를 수신한 사용자 단말기(U)에게 인증 서버가 할당할 수 있다.
확인 요청의 결과를 수신하여, 스마트 홈 서비스 서버(100)는 인증 서버에서 억세스 토큰의 유효성을 인정하였는지 확인할 수 있다.(320)
만약, 억세스 토큰이 유효하지 않다면, 스마트 홈 서비스 서버(100)는 인증되지 않은 사용자 단말기(U)임을 사용자 단말기(U)에 통지할 수 있다.(330)
반면, 억세스 토큰이 유효하다면, 스마트 홈 서비스 서버(100)는 유효한 억세서 토큰을 저장부(170)에 저장할 수 있다.(340) 이렇게 저장된 억세스 토큰은 추후 수신한 호출 명령 내에 포함된 억세스 토큰이 유효한지를 확인하는데 이용될 수 있다.
다시 도 2를 참조하면, API 제어부(110)는 디바이스(D)와 상이한 프로토콜에 기초하는 인증된 사용자 단말기(U) 상에서 디바이스(D)의 제어 명령의 호출이 가능한 환경을 제공할 수 있다. 이하에서는 도 6을 참조하여, API 제어부(110)에서 호출된 제어 명령의 전송 경로를 설명한다.
도 6은 일 실시예에 따른 API 제어부에서 API를 통해 디바이스 제어 명령이 호출된 경우의 정보 전달 경로를 나타낸 도면이다.
상술한 바와 같이, API 제어부(110)는 제 2 프로토콜 상에서 제 1 프로토콜의 제어 명령을 호출하는 API를 저장하고, 이를 사용자 단말기(U)에 제공할 수 있다. 그 결과, 사용자 단말기(U)의 제 2 프로토콜을 통해서 디바이스(D)의 제 1 프로토콜에 따른 제어 명령의 호출이 가능할 수 있다.
이 때, API 제어부(110)는 제 1 프로토콜에 따른 제어 명령을 제 2 프로토콜 상에서 호출하는 호출 명령을 사용자 단말기(U)로부터 수신할 수 있다. 이 때, 호출 명령은 호출하고자 하는 제어 명령과 함께, 채널 키(Channel Key)를 포함하는 상기 제 2 프로토콜에 대한 인증 정보, 유저 아이디(User ID), 어플리케이션 아이디(Application ID), 및 억세스 토큰(Access Token)를 포함하는 사용자 인증 정보, 및 디바이스(D) 아이디(Device ID)를 포함하는 디바이스(D) 정보 등을 포함할 수 있다.
호출 명령이 수신되면, 필터(120)는 호출된 제어 명령을 제 1 프로토콜의 형식에 맞도록 변환할 수 있다. 예를 들서, API 제어부(110)가 수신한 호출 명령 내에 포함되는 제어 명령이 {“Wind”:{“speedLevel”:0}}일 수 있다. 이는 특정 디바이스(D)의 바람 세기에 대한 제어 명령일 수 있다. 이에 대응하여, 필터(120)는 상술한 제어 명령을 제 1 프로토콜의 형식, 즉 디바이스(D)의 제어가 가능한 제어 명령의 형태인 {“Device”:{“Wind”:{“speedLevel”:0}, “Mode”:{“options”:[“Comode_Off”]}}로 변환할 수 있다.
제어 명령 전송부(130)는 제 1 프로토콜에 따라 변환된 제어 명령을 디바이스(D)로 전송할 수 있다. 이 때, 제어 명령 전송부(130)는 상술한 호출 명령에 포함되는 디바이스(D) 정보에 기초하여 제 1 프로토콜에 따라 변환된 제어 명령을 전송할 디바이스(D)를 결정할 수 있다. 상술한 바와 같이, 디바이스(D) 정보는 DeviceID를 포함하므로, 제어 명령 전송부(130)는 필터(120)에 의해 변환된 제어 명령을 호출 명령에 포함된 DeviceID를 가지는 디바이스(D)로 전송할 수 있다.
그 결과, 제 2 프로토콜에 기초한 사용자 단말기(U)를 통해 입력된 제어 명령이 제 1 프로토콜에 기초한 디바이스(D)로 전달될 수 있다. 제어 명령을 수신한 디바이스(D)는 제어 명령에 따라 제어될 수 있다.
또한, 스마트 홈 서비스 서버(100)는 수신한 제어 명령에 따라 제어된 디바이스(D)의 제어 결과에 따른 변경된 상태 정보를 사용자 단말기(U)로 전달할 수도 있다. 이에 대하여는 도 7, 8, 및 9a, 9b를 참조하여 상세히 설명한다.
도 7은 도 6의 전달 경로를 통해 전달된 제어 명령에 따라 변경된 디바이스 상태 정보의 전송 경로를 나타낸 도면이고, 도 8은 일 실시예에 따른 저장부에 저장되는 디바이스 상태 정보를 예시한 도면이고, 도 9a 및 9b는 일 실시예에 따른 필터가 상태 정보를 필터링 하는 방법에 대하여 설명하기 위한 도면이다.
상술한 도 6의 전달 경로를 통해 제어 명령을 전달 받은 디바이스(D)는 제어 명령에 따라 제어될 수 있다. 그 결과, 해당 디바이스(D)의 상태가 변경될 수 있다. 스마트 홈 서비스 서버(100)와 연결된 디바이스(D)는 상태 정보 변경과 같은 이벤트가 발생되면, 디바이스 연동 인터페이스(140)를 통해 이벤트 수신부(150)로 이를 전송할 수 있다.
이벤트 수신부(150)는 큐(Queue)와 같이, 수신한 이벤트가 순차적으로 임시 저장되고, 순차적으로 출력될 수 있다. 이벤트 프로세서(160)는 이벤트 수신부(150)에 임시 저장된 이벤트를 흐름 제어(Flow Control) 방식에 따라 처리함으로써, 저장된 데이터를 유효하게 가공할 수 있다. 여기서, 흐름 제어란 데이터를 수신하는 측이 감당할 수 있을 정도의 전송 속도를 유지하면서 데이터 프레임을 전송하도록 하는 제어를 의미할 수 있다.
이벤트가 처리되면, 이벤트 프로세서(160)는 처리된 이벤트를 저장부(170)에 저장할 수 있다. 예를 들어, 저장부(170)는 특정 디바이스의 상태 정보 변경에 대한 이벤트 S를 디바이스 정보 D와 함께 저장할 수 있다.
도 8을 참조하면, 저장부(170)는 DeviceID가 “FFFFFF-FFFF-FFFF-FFFFFFFFFFFFFFFFF”이고, DeviceName이 “Oven”이고, UUID가 “FFFFFF-FFFF-FFFF-FFFFFFFFFFFFFFFFF”이고, DeviceType이 “Oven”이고, Description이 “My Oven”인 디바이스 정보 D를 저장할 수 있다. 또한, 저장부(170)는 디바이스(D) 정보에 이어 Resources가 “Temperatures”, “Configuration”, “Operation”, “Oven”, “Alarms”이고, 각각의 Resources의 상태를 포함하는 상태 정보 S를 저장할 수 있다.
또한, 이벤트 프로세서(160)는 처리된 이벤트를 이벤트 전송부(180)를 통해 파트너 서버(SP)로 전송할 수 있다. 그 결과, 사용자는 사용자 단말기(U)를 통해 제어 명령에 따른 디바이스(D) 상태 정보가 변경되었다는 사실을 인지할 수 있다.
이 때, 이벤트 프로세서(160)는 처리된 이벤트를 필터(120)를 거쳐 이벤트 전송부(180)에 제공할 수 있다. 필터(120)는 제공받은 이벤트를 수신하는 사용자 단말기(U)에 대한 정보에 기초하여 필터링 한 후, 이벤트 전송부(180)로 전달할 수 있다. 예를 들어, 처리된 이벤트가 사용자 단말기(U)로부터 호출된 제어 명령에 따라 발생된 것이라면, 필터(120)는 제어 명령을 호출하기 위한 호출 명령의 사용자 인증 정보에 기초하여 이벤트 프로세서(160)에 의해 처리된 이벤트를 필터링 할 수 있다.
일 실시예에 따른 필터(120)는 사용자 인증 정보에 따라 결정되는 등급을 확인하고, 등급에 따라 이벤트에 대한 필터링을 달리할 수 있다. 그 결과, 등급이 상이한 사용자 단말기(U) 각각에서는 서로 디바이스(D) 상태 정보 변경 이벤트를 확인할 수 있다.
예를 들어, 사용자 인증 정보 중 제 2 프로토콜에 대한 인증 정보(파트너 서버(SP)에 대한 인증 정보), 및 사용자 인증 정보에 따라 사용자의 정보에 대한 전문성 등급이 구분되는 경우, 필터(120)는 전문성이 낮은 등급일수록 필터링 수준을 높여 디바이스(D)의 상태 정보 변경 이벤트 중 전문성이 낮은 정보만을 필터링 할 수 있다. 이와는 달리, 사용자 인증 정보 중 제 2 프로토콜에 대한 인증 정보(파트너 서버(SP)에 대한 인증 정보), 및 사용자 인증 정보에 따라 사용자의 정보 접근 권한 등급이 구분되는 경우, 필터(120)는 정보 접근 권한이 낮은 등급일수록 필터링 수준을 높여 사용자 디바이스(D) 상태 정보 변경 이벤트 중 비밀 등급이 낮은 정보만을 필터링 할 수도 있다.
도 9a에서는 사용자 인증 정보에 기초하여 서로 다른 필터링을 거친 두 종류의 상태 정보가 동일한 파트너 서버(SP)에 연결된 서로 다른 사용자 단말기(U1, U2)로 전송되는 경우를 예시한다. 이처럼, 동일한 파트너 서버(SP)로부터 서비스를 제공받는 사용자라도, 각각의 사용자가 가지는 특수성을 고려하여 디바이스(D)의 상태 정보를 서로 다르게 제공할 수 있다.
이와는 달리, 도 9b에서는 파트너 서버(SP1, SP2)에 대한 인증 정보에 기초하여 서로 다른 필터링을 거친 두 종류의 상태 정보가 서로 다른 파트너 서버(SP1, SP2)에 연결된 서로 다른 사용자 단말기(U1, U2)로 전송되는 경우를 예시한다. 이와 같이, 제공하는 서비스가 상이한 파트너 서버(SP1, SP2)에 연결된 서로 다른 사용자 단말기(U1, U2)의 사용자는 파트너 서버(SP1, SP2)의 제공 서비스에 따라 디바이스(D) 상태 정보를 다르게 제공받을 수 있다.
한편, API 제어부(110)에서 호출되는 제어 명령이란 디바이스(D) 동작을 제어하기 위한 명령 뿐만 아니라 디바이스(D)의 상태 정보와 관련된 스마트 홈 서비스 서버(100)의 동작을 제어하기 위한 명령을 포함할 수 있다.
이하에서는, 제어 명령의 종류에 따라, 제어 명령의 전송 경로 및 디바이스(D) 상태 정보의 전송 경로를 구분하여 설명한다.
먼저, 도 10 내지 12을 참조하여 디바이스(D)의 상태 정보 조회 명령이 제어 명령으로서 호출된 경우에 대하여 상세히 설명한다.
도 10은 일 실시예에 따른 API 제어부에서 API를 통해 디바이스 상태 정보 조회 명령이 호출된 경우의 정보 전달 경로를 나타낸 도면이고, 도 11은 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 제어 가능 디바이스 리스트 생성 명령의 호출 명령 수신 시의 동작에 대한 흐름도이고, 도 12는 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 상태 정보 조회 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
도 10, 및 11을 참조하면, 저장부(170)는 제어 가능한 디바이스(D)의 리스트와, 이들의 상태 정보를 미리 저장할 수 있다.(400) 여기서, 제어 가능한 디바이스(D)란 디바이스 연동 인터페이스(140)를 통해 스마트 홈 서비스 서버(100)와 연결된 모든 디바이스(D)이거나, 이들 중 전원이 OFF된 경우와 같이 제어 명령의 수신 불가 상태가 아닌 디바이스(D), 또는 사용자의 선택에 의해 선택된 디바이스(D)를 포함할 수 있다.
그 다음, API 제어부(110)는 사용자 단말기(U)로부터 파트너 서버(SP)를 통해 제어 가능 디바이스(D) 리스트 생성 명령을 호출하는 호출 명령이 입력되었는지 확인할 수 있다.(410) 일 실시에에 따른 호출 명령은 “Get devices”를 포함할 수 있다.
만약, 호출 명령이 입력되지 않았다면, API 제어부(110)는 반복하여 이를 확인할 수 있다.
반면, 호출 명령이 입력되면, API 제어부(110)는 수신한 호출 명령에 포함된 제어 명령을 필터(120)로 전달할 수 있고, 필터(120)는 전달받은 제어 명령을 제 1 프로토콜의 명령어 형식으로 변환할 수 있다.(420)
그 다음, 변환된 제어 명령에 따라 저장부(170)는 저장된 제어 가능 디바이스(D) 리스트를 확인(430)하고, 이벤트 프로세서(160)는 필터(120)를 거쳐 이벤트 전송부(180)에 제어 가능 디바이스(D) 리스트를 전달할 수 있다.
마지막으로, 이벤트 전송부(180)는 제어 가능 디바이스(D) 리스트를 파트너 서버(SP)로 전송(440)하고, 사용자 단말기(U)는 파트너 서버(SP)로부터 제어 가능 디바이스(D) 리스트를 수신할 수 있다. 이를 통해, 사용자는 현재 제어 가능한 디바이스(D) 리스트를 시각적으로 확인할 수 있다.
제어 가능한 디바이스(D) 리스트를 확인한 사용자는 리스트 중 적어도 하나의 상태 정보를 조회할 수 있다.
이를 위해, 도 10, 및 12를 참조하면, 먼저 API 제어부(110)는 사용자 단말기(U)로부터 파트너 서버(SP)를 통해 디바이스(D)의 상태 정보 조회 명령을 호출하는 호출 명령이 입력되었는지 확인할 수 있다.(500) 이 때, 호출 명령은 상태 정보 조회를 원하는 디바이스(D)에 대한 정보를 포함할 수 있다. 일 실시에에 따른 호출 명령은 “Get devices(DeviceID)”를 포함할 수 있다.
만약, 호출 명령이 입력되지 않았다면, API 제어부(110)는 반복하여 이를 확인할 수 있다.
반면, 호출 명령이 입력되면, API 제어부(110)는 수신한 호출 명령에 포함된 제어 명령을 필터(120)로 전달할 수 있고, 필터(120)는 전달받은 제어 명령을 제 1 프로토콜의 명령어 형식으로 변환할 수 있다.(510)
그 다음, 변환된 제어 명령에 따라 저장부(170)는 저장된 디바이스(D)의 상태 정보를 확인(520)할 수 있다. 이 때, 제어부는 호출 명령에 포함된 디바이스(D) 정보를 이용하여 어느 디바이스(D)의 상태 정보를 확인할지 결정할 수 있다.
이벤트 프로세서(160)는 필터(120)를 거쳐 이벤트 전송부(180)에 디바이스(D)의 상태 정보를 전달하고, 마지막으로, 이벤트 전송부(180)는 디바이스(D)의 상태 정보를 파트너 서버(SP)로 전송(530)할 수 있다. 그 결과, 사용자 단말기(U)는 파트너 서버(SP)로부터 디바이스(D)의 상태 정보를 수신할 수 있다. 이를 통해, 사용자는 선택한 디바이스(D)의 상태 정보를 시각적으로 확인할 수 있다.
그 다음, 도 13 내지 15를 참조하여 디바이스(D)의 상태 정보의 구독 신청 명령, 및 구독 해지 명령이 제어 명령으로서 호출된 경우에 대하여 상세히 설명한다.
도 13은 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 디바이스 상태 정보의 구독 신청 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
먼저, API 제어부(110)는 사용자 단말기(U)로부터 파트너 서버(SP)를 통해 디바이스(D)의 상태 정보 구독 신청 명령을 호출하는 호출 명령이 입력되었는지 확인할 수 있다.(600) 이 때, 호출 명령은 상태 구독 신청을 원하는 디바이스(D)에 대한 정보를 포함할 수 있다. 일 실시에에 따른 호출 명령은 “Post Subscriptions(DeviceID)”를 포함할 수 있다.
만약, 호출 명령이 입력되지 않았다면, API 제어부(110)는 반복하여 이를 확인할 수 있다.
반면, 호출 명령이 입력되면, API 제어부(110)는 수신한 호출 명령에 포함된 제어 명령을 필터(120)로 전달할 수 있고, 필터(120)는 전달받은 제어 명령을 제 1 프로토콜의 명령어 형식으로 변환할 수 있다.(610)
그 다음, 변환된 제어 명령에 따라 저장부(170)는 해당 디바이스(D)에 구독 신청이 되었음을 저장할 수 있다.(620) 이 때, 제어부는 호출 명령에 포함된 디바이스(D) 정보를 이용하여 어느 디바이스(D)가 구독 신청되었는지 판단할 수 있다.
해당 디바이스(D)가 구독 신청되었음을 저장한 후, 이벤트 프로세서(160)는 필터(120)를 거쳐 이벤트 전송부(180)에 구독 신청이 완료되었음을 전달하고, 마지막으로, 이벤트 전송부(180)는 구독 신청이 완료되었음을 파트너 서버(SP)로 전송할 수 있다.(630) 그 결과, 사용자 단말기(U)는 파트너 서버(SP)로부터 구독 신청이 완료되었다는 정보를 수신할 수 있다. 이를 통해, 사용자는 구독 신청이 정상적으로 이루어졌음을 시각적으로 확인할 수 있다.
도 14는 도 13의 구독 신청이 완료된 후, 상태 정보 전송 동작에 대한 흐름도이다.
먼저, 이벤트 수신부(150)는 디바이스 연동 인터페이스(140)와 연결된 적어도 하나의 디바이스(D)의 상태 정보 변경과 같은 이벤트를 수신할 수 있다.(700)
이벤트 프로세서(160)는 수신된 이벤트 중 구독 신청된 디바이스(D)에 대한 상태 정보 변경 이벤트가 존재하는지 확인할 수 있다.(710) 만약, 구독 신청된 디바이스(D)에 대한 이벤트가 존재하지 않는 경우, 이벤트 수신부(150)는 반복하여 이벤트를 수신할 수 있다.
반면, 구독 신청된 디바이스(D)에 대한 이벤트가 존재하는 경우, 이벤트 프로세서(160)는 구독 신청된 디바이스(D)의 상태 정보 변경 이벤트를 처리할 수 있다. 이와 동시에, 저장부(170)는 구독 신청된 디바이스(D)의 상태 정보를 갱신할 수 있다.(720)
마지막으로, 이벤트 전송부(180)는 구독 신청된 디바이스(D)의 상태 정보를 파트너 서버(SP)를 통해 사용자 단말기(U)로 전송할 수 있다.(730) 이를 통해, 사용자는 별도의 조작 없이도, 구독 신청한 디바이스(D)의 상태 변경에 대한 이벤트를 확인할 수 있다.
도 15는 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 디바이스 상태 정보의 구독 해지 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
먼저, API 제어부(110)는 사용자 단말기(U)로부터 파트너 서버(SP)를 통해 디바이스(D)의 상태 정보 구독 해지 명령을 호출하는 호출 명령이 입력되었는지 확인할 수 있다.(800) 이 때, 호출 명령은 상태 구독 해지를 원하는 디바이스(D)에 대한 정보를 포함할 수 있다. 일 실시에에 따른 호출 명령은 “Delete Subscriptions(DeviceID)”를 포함할 수 있다.
만약, 호출 명령이 입력되지 않았다면, API 제어부(110)는 반복하여 이를 확인할 수 있다.
반면, 호출 명령이 입력되면, API 제어부(110)는 수신한 호출 명령에 포함된 제어 명령을 필터(120)로 전달할 수 있고, 필터(120)는 전달받은 제어 명령을 제 1 프로토콜의 명령어 형식으로 변환할 수 있다.(810)
그 다음, 변환된 제어 명령에 따라 저장부(170)는 저장된 해당 디바이스(D)에의 구독 신청을 삭제할 수 있다.(820) 이 때, 제어부는 호출 명령에 포함된 디바이스(D) 정보를 이용하여 어느 디바이스(D)의 구독 신청을 삭제할것인지 판단할 수 있다.
해당 디바이스(D)의 구독 신청을 삭제한 후, 이벤트 프로세서(160)는 필터(120)를 거쳐 이벤트 전송부(180)에 구독이 해지되었음을 전달하고, 마지막으로, 이벤트 전송부(180)는 구독이 해지되었음을 파트너 서버(SP)로 전송할 수 있다.(830) 그 결과, 사용자 단말기(U)는 파트너 서버(SP)로부터 해당 디바이스(D)의 구독이 해지 되었다는 정보를 수신할 수 있다. 이를 통해, 사용자는 구독 해지가 정상적으로 이루어졌음을 시각적으로 확인할 수 있으며, 이 후 해당 디바이스(D)의 상태 정보 변경 이벤트가 발생하더라도 사용자 단말기(U)에 이를 알리지 않는다.
또한, 도 16 및 17을 참조하여 디바이스의 조건 설정 명령이 제어 명령으로서 호출된 경우에 대하여 상세히 설명한다.
도 16은 일 실시예에 따른 스마트 홈 서비스 서버의 제어방법 중 디바이스 조건 설정 명령의 호출 명령 수신 시의 동작에 대한 흐름도이다.
먼저, API 제어부(110)는 사용자 단말기(U)로부터 파트너 서버(SP)를 통해 디바이스(D)의 조건 설정 명령을 호출하는 호출 명령이 입력되었는지 확인할 수 있다.(900) 여기서 조건이란 디바이스(D)의 리소스와 비교하기 위한 임계값을 의미할 수 있다. 예를 들어, 디바이스(D)가 공기청정기인 경우, 조건은 공기 오염지수 임계 값일 수 있다. 이와는 달리, 디바이스(D)가 공기조화기인 경우, 조건은 온도 임계 값일 수 있다.
이 때, 호출 명령은 조건 설정을 원하는 디바이스(D)에 대한 정보를 포함할 수 있다.
만약, 호출 명령이 입력되지 않았다면, API 제어부(110)는 반복하여 이를 확인할 수 있다.
반면, 호출 명령이 입력되면, API 제어부(110)는 수신한 호출 명령에 포함된 제어 명령을 필터(120)로 전달할 수 있고, 필터(120)는 전달받은 제어 명령을 제 1 프로토콜의 명령어 형식으로 변환할 수 있다.(910)
그 다음, 변환된 제어 명령에 따라 저장부(170)는 해당 디바이스(D)의 조건을 저장할 수 있다.(920) 이 때, 제어부는 호출 명령에 포함된 디바이스(D) 정보를 이용하여 어느 디바이스(D)에 조건을 저장할 것인지 판단할 수 있다.
해당 디바이스(D)에 조건을 저장한 후, 이벤트 프로세서(160)는 필터(120)를 거쳐 이벤트 전송부(180)에 조건이 설정되었음을 전달하고, 마지막으로, 이벤트 전송부(180)는 조건이 설정되었음을 파트너 서버(SP)로 전송할 수 있다.(930) 그 결과, 사용자 단말기(U)는 파트너 서버(SP)로부터 해당 디바이스(D)의 조건이 설정 되었다는 정보를 수신할 수 있다. 이를 통해, 사용자는 조건 설정이 정상적으로 이루어졌음을 시각적으로 확인할 수 있다.
도 17은 도 16의 조건 설정이 완료된 후, 상태 정보 전송 동작에 대한 흐름도이다.
먼저, 이벤트 수신부(150)는 디바이스 연동 인터페이스(140)와 연결된 적어도 하나의 디바이스(D)의 상태 정보 변경과 같은 이벤트를 수신할 수 있다.(1000)
이벤트 프로세서(160)는 수신된 이벤트 중 조건 설정된 디바이스(D)에 대한 상태 정보 변경 이벤트가 존재하는지 확인할 수 있다.(1010) 만약, 조건 설정된 디바이스(D)에 대한 이벤트가 존재하지 않는 경우, 이벤트 수신부(150)는 반복하여 이벤트를 수신할 수 있다.
반면, 조건 설정된 디바이스(D)에 대한 이벤트가 존재하는 경우, 이벤트 프로세서(160)는 해당 이벤트를 처리하고, 저장부(170)는 조건 설정된 디바이스(D)의 상태 정보를 갱신할 수 있다.(1020)
아울러, 이벤트 프로세서(160)는 갱신된 디바이스(D)의 상태 정보가 조건을 만족하는지 확인할 수 있다.(1030) 만약, 조건을 만족하지 않는다면, 이벤트 수신부(150)는 반복하여 이벤트를 수신할 수 있다.
이와는 달리, 조건을 만족하는 경우, 이벤트 전송부(180)는 갱신된 디바이스(D)의 상태 정보가 설정된 조건을 만족함을 파트너 서버(SP)를 통해 사용자 단말기(U)로 전송할 수 있다.(1040) 이를 통해, 사용자는 별도의 조작 없이도, 조건 설정한 디바이스(D)의 변경된 상태가 조건을 만족함을 확인할 수 있다.
상술한 바와 같이, 이종(異種)의 프로토콜을 채택한 디바이스(D)와 사용자 단말기(U) 간에도 스마트 홈 서비스 서버(100)에 동시에 연결됨으로써 하나의 사물 인터넷 네트워크를 구성할 수 있다. 이하에서는 도 18을 참조하여, 하나의 사물 인터넷 네트워크 상의 동작을 상세히 설명한다.
도 18은 일 실시예에 따른 사물 인터넷 네트워크 동작의 흐름도이다. 도 18은 하나의 사물 인터넷 네트워크를 구성하는 파트너 서버(SP), 스마트 홈 서비스 서버(100), 인증 서버, 및 디바이스(D) 간의 정보 교환 흐름을 나타낸다. 이하에서는, ①인증 - ② 리스트 생성 - ③ 조회 - ④ 구독 - ⑤ 통지 - ⑥ 제어 - ⑦ 구독 해지의 순서에 따라 사물 인터넷 네트워크의 동작을 설명한다.
① 인증 단계에서, 파트너 서버(SP)는 인증 서버에 OAuth 2.0 방식에 따라 API 접근을 위한 인증을 요청할 수 있다. 구체적으로, 파트너 서버(SP)는 AppID, AppSecurityKey를 이용하여 인증 서버에 인증을 요청할 수 있다. 그에 따른 응답으로, 인증 서버는 인증되었다는 의미의 억세스 토큰(Access Token)을 파트너 서버(SP)에 할당할 수 있다. 이하 모든 단계에서 파트너 서버(SP)는 제어 명령을 호출하는 호출 명령에 억세스 토큰을 부가함으로써, 인증된 사용자 단말기(U)임을 표시할 수 있다.
② 리스트 생성 단계에서, 파트너 서버(SP)의 인증된 사용자 단말기(U)는 스마트 홈 서비스 서버(100)에 제어 가능한 디바이스(D) 리스트 생성 명령을 호출하는 호출 명령을 전송할 수 있다. 일 실시예에 따른 리스트 생성 명령을 호출하는 호출 명령은 “Get devices”를 포함할 수 있다. 그에 따른 응답으로, 스마트 홈 서비스 서버(100)는 저장부(170)에 저장된 제어 가능 디바이스(D) 리스트를 파트너 서버(SP)에 제공하고, 사용자는 사용자 단말기(U)를 통해 제어 가능 디바이스(D) 리스트를 확인할 수 있다.
③ 조회 단계에서, 파트너 서버(SP)의 인증된 사용자 단말기(U)는 제어 가능 디바이스(D) 리스트 중 적어도 하나의 상태 정보 조회 명령을 호출하는 호출 명령을 전송할 수 있다. 일 실시에에 따른 상태 정보 조회 명령을 호출하는 호출 명령은 “Get devices(DeviceID)”를 포함할 수 있다. 그에 따른 응답으로, 스마트 홈 서비스 서버(100)는 저장부(170)에 저장된 디바이스(D)의 상태 정보 중 조회 요청된 디바이스(D)의 상태 정보를 파트너 서버(SP)에 제공하고, 사용자는 사용자 단말기(U)를 통해 조회 요청된 디바이스(D)의 상태 정보를 확인할 수 있다.
④ 구독 단계에서, 파트너 서버(SP)의 인증된 사용자 단말기(U)는 디바이스(D) 상태 정보의 구독 신청 명령을 호출하는 호출 명령을 전송할 수 있다. 일 실시에에 따른 상태 구독 신청 명령을 호출하는 호출 명령은 “Post Subscriptions(DeviceID)”를 포함할 수 있다. 그에 따른 응답으로, 스마트 홈 서비스 서버(100)는 저장부(170)에 해당 디바이스(D)가 구독 신청되었음을 저장하고, 이를 파트너 서버(SP)를 통해 사용자 단말기(U)에 전송할 수 있다.
⑤ 통지 단계에서, 구독 신청된 디바이스(D)는 상태 정보 변경의 이벤트가 발생하면, 이를 스마트 홈 서비스 서버(100)에 전송할 수 있다. 스마트 홈 서비스 서버(100)는 저장부(170)에 저장된 해당 디바이스(D)의 상태 정보를 갱신하고, 이를 구독 신청한 사용자 단말기(U)로 통지할 수 있다. 사용자 단말기(U)는 파트너 서버(SP)를 통해 스마트 홈 서비스 서버(100)로 통지를 수신하였음을 전송할 수 있다.
⑥ 제어 단계에서, 파트너 서버(SP)의 인증된 사용자 단말기(U)는 상태 정보를 확인한 디바이스(D)의 동작을 제어하는 제어 명령을 호출하는 호출 명령을 전송할 수 있다. 일 실시에에 따른 디바이스(D) 동작 제어 명령을 호출하는 호출 명령은 “PUT Device(DeviceID, resource)”를 포함할 수 있다. 그에 따른 응답으로, 스마트 홈 서비스 서버(100)는 해당 호출 명령을 수신하였음을 사용자 단말기(U)에 알리고, 제어 명령을 디바이스(D)로 전송할 수 있다. 제어 명령을 수신한 디바이스(D)는 제어 명령에 따라 동작이 제어될 수 있다.
⑦ 구독 해지 단계에서, 파트너 서버(SP)의 인증된 사용자 단말기(U)는 디바이스(D) 상태 정보의 구독 해지 명령을 호출하는 호출 명령을 전송할 수 있다. 일 실시에에 따른 상태 구독 해지 명령을 호출하는 호출 명령은 “Delete Subscriptions(DeviceID)”를 포함할 수 있다. 그에 따른 응답으로, 스마트 홈 서비스 서버(100)는 저장부(170)에 저장된 해당 디바이스(D)의 구독 신청을 삭제하고, 이를 파트너 서버(SP)를 통해 사용자 단말기(U)에 전송할 수 있다.
지금까지는, 제 2 프로토콜의 사용자 단말기(U)에서 제 1 프로토콜의 제어 명령을 호출하고, 호출된 제어 명령을 제 1 프로토콜의 명령어 형식에 따라 변형한 후, 변형된 제어 명령으로 디바이스(D)를 제어하는 경우에 대하여 설명하였다. 이와는 반대로, 제 1 프로토콜의 디바이스(D) 또는 사용자 단말기(U)에서 제 3 프로토콜의 파트너 서버(SP)와 이에 연결된 디바이스(D)를 제어하는 방법에 대하여 설명한다.
다시 도 2를 참조하면, 아답터(190)(Adapter)는 이벤트 프로세서(160)에 의해 처리된 디바이스(D) 상태 정보가 제 3 프로토콜에 기초하여 동작하는 파트너 서버(SP)에 의해 호출될 수 있다. 이에 대하여 도 19를 통해 상세히 설명한다.
도 19는 일 실시예에 따른 아답터의 동작을 설명하기 위한 도면이다.
도 19를 참조하면, 디바이스(D)의 상태 정보를 처리한 이벤트 프로세서(160)는 처리된 상태 정보를 아답터(190)에 제공할 수 있다. 이 때, 아답터(190)는 제공된 디바이스(D)의 상태 정보가 제 3 프로토콜의 제어 명령에 따라 호출될 수 있도록 상태 정보를 변형할 수 있다.
그 결과, 제 1 프로토콜에 의해 동작하는 디바이스(D)의 상태 정보가 제 3 프로토콜의 파트너 서버(SP)에 용이하게 제공될 수 있고, 만약, 제 3 프로토콜의 파트너 서버(SP)가 매시업(Mashup) 서비스 사업자인 경우, 디바이스(D) 상태 정보에 의해 제 1 프로토콜이 아닌 다른 프로토콜에 의해 동작하는 다양한 디바이스(D)가 제어될 수 있다.
또한, 아답터(190)는 제 3 프로토콜에 기초하여 파트너 서버(SP)에 연결된 적어도 하나의 파트너 디바이스(D)를 제어할 수 있다. 이를 위해, 아답터(190)는 제 1 프로토콜을 통해 파트너 디바이스(D)에 대한 제어 명령을 호출할 수 있다.
구체적으로, 아답터(190)는 예를 들어, 아답터(190)는 제 1 프로토콜 상에서 제 3 프로토콜의 제어 명령이 호출되도록 하는 API를 포함하거나, 접근할 권한을 가질 수 있다. 그 결과, 아답터(190)는 파트너 디바이스(D)를 직접 제어하기 위한 제 3 프로토콜의 제어 명령을 제 1 프로토콜 상에서 호출하도록 API를 이용할 수 있다.
이처럼, 스마트 홈 서비스 서버(100)는 아답터(190)를 구비함으로써, 이종 프로토콜을 가지는 디바이스(D) 간 양방향 제어가 가능한 환경을 제공할 수 있다.
상술한 스마트 홈 서비스 서버 및 그 제어방법은 댁내 또는 산업 현장 등 다양한 분야에서 이용될 수 있으므로 산업 상 이용 가능성이 있다.

Claims (34)

  1. 제 1 프로토콜에 기초하여 동작하는 적어도 하나의 디바이스 및 제 2 프로토콜에 기초하여 동작하는 적어도 하나의 사용자 단말기를 연결하는 스마트 홈 서비스 서버에 있어서,
    상기 적어도 하나의 사용자 단말기의 상기 제 2 프로토콜을 통해 상기 적어도 하나의 디바이스에 대한 제어 명령이 호출되는 API 제어부;
    상기 호출된 제어 명령을 상기 제 1 프로토콜에 따라 변환하는 필터; 및
    상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 상기 적어도 하나의 디바이스로 전송하는 제어 명령 전송부; 를 포함하는 스마트 홈 서비스 서버.
  2. 제 1 항에 있어서,
    상기 API 제어부는,
    상기 제 2 프로토콜 상에서 상기 제 1 프로토콜의 제어 명령을 호출하는 어플리케이션 프로그래밍 인터페이스(Application Programming Interface; API)를 상기 적어도 하나의 사용자 단말기에 제공하는 스마트 홈 서비스 서버.
  3. 제 2 항에 있어서,
    상기 API 제어부는,
    상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 제어 명령을 호출하는 호출 명령을 수신하고,
    상기 호출 명령은,
    채널 키(Channel Key)를 포함하는 상기 제 2 프로토콜에 대한 인증 정보, 유저 아이디(User ID), 어플리케이션 아이디(Application ID), 및 억세스 토큰(Access Token)를 포함하는 사용자 인증 정보, 및 디바이스 아이디(Device ID)를 포함하는 디바이스 정보를 포함하는 스마트 홈 서비스 서버.
  4. 제 3 항에 있어서,
    상기 API 제어부는,
    상기 적어도 하나의 사용자 단말기 중 인증된 사용자 단말기에 의해 상기 제어 명령이 호출되는 스마트 홈 서비스 서버.
  5. 제 4 항에 있어서,
    상기 API 제어부는,
    상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 호출 명령을 수신하면, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 및 사용자 인증 정보 중 적어도 하나에 기초하여 상기 사용자 단말기의 인증 여부를 결정하는 스마트 홈 서비스 서버.
  6. 제 3 항에 있어서,
    상기 제어 명령 전송부는,
    상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 호출 명령을 수신하면, 상기 수신된 호출 명령 중 상기 디바이스 정보에 기초하여 상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 전송할 디바이스를 결정하는 스마트 홈 서비스 서버.
  7. 제 3 항에 있어서,
    상기 적어도 하나의 디바이스와 연결되는 디바이스 연동 인터페이스;
    상기 디바이스 연동 인터페이스를 통해 상기 연결된 적어도 하나의 디바이스의 상태 정보를 수신하는 이벤트 수신부;
    상기 수신된 상태 정보를 처리하는 이벤트 프로세서; 및
    상기 처리된 상태 정보를 저장하는 저장부; 를 더 포함하는 스마트 홈 서비스 서버.
  8. 제 7 항에 있어서,
    상기 이벤트 수신부는,
    상기 디바이스 연동 인터페이스를 통해 상기 연결된 적어도 하나의 디바이스 중 적어도 하나의 상태가 변경될 때, 상기 상태가 변경된 적어도 하나의 디바이스의 상태 정보를 수신하는 스마트 홈 서비스 서버.
  9. 제 7 항에 있어서,
    상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 상태 정보 조회 명령의 상기 호출 명령을 수신하면, 상기 저장부에 저장된 상기 처리된 상태 정보를 상기 적어도 하나의 사용자 단말기로 전송하는 이벤트 전송부; 를 더 포함하는 스마트 홈 서비스 서버.
  10. 제 9 항에 있어서,
    상기 필터는,
    상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 및 사용자 인증 정보 중 적어도 하나에 기초하여 상기 처리된 상태 정보를 필터링하여 상기 이벤트 전송부에 전달하는 스마트 홈 서비스 서버.
  11. 제 9 항에 있어서,
    상기 저장부는,
    상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 상태 정보 구독 신청 명령의 상기 호출 명령을 수신하면, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 사용자 인증 정보, 및 디바이스 정보를 구독 신청 정보로서 저장하는 스마트 홈 서비스 서버.
  12. 제 11 항에 있어서,
    상기 이벤트 프로세서는,
    상기 구독 신청 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보가 변경되면, 상기 구독 신청 정보로서 저장된 상기 제 2 프로토콜에 대한 인증 정보 및 상기 사용자 인증 정보에 대응되는 사용자 단말기로 상기 변경된 상태 정보를 전송하도록, 상기 변경된 상태 정보를 처리하여 상기 이벤트 전송부에 제공하는 스마트 홈 서비스 서버.
  13. 제 12 항에 있어서,
    상기 이벤트 프로세서는,
    상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 상태 정보 구독 해지 명령의 상기 호출 명령을 수신하면, 상기 구독 신청 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보를 상기 이벤트 전송부에 제공하지 않는 스마트 홈 서비스 서버.
  14. 제 9 항에 있어서,
    상기 저장부는,
    상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 조건 설정 명령의 상기 호출 명령을 수신하면, 상기 수신된 조건 설정 명령에 대한 호출 명령의 조건 및 상기 디바이스 정보를 포함하는 조건 설정 정보를 저장하는 스마트 홈 서비스 서버.
  15. 제 14 항에 있어서,
    상기 이벤트 프로세서는,
    상기 조건 설정 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보가 상기 조건 설정 정보로서 저장된 조건을 만족하면, 상기 조건 만족 결과를 상기 이벤트 전송부에 제공하는 스마트 홈 서비스 서버.
  16. 제 7 항에 있어서,
    상기 이벤트 프로세서에 의해 처리된 상기 상태 정보가 제 3 프로토콜에 기초하여 동작하는 파트너 서버에 의해 호출되는 아답터(Adapter); 를 더 포함하는 스마트 홈 서비스 서버.
  17. 제 16 항에 있어서,
    상기 아답터는,
    상기 제 3 프로토콜에 기초하여 상기 파트너 서버에 연결된 적어도 하나의 파트너 디바이스를 제어하도록, 상기 제 1 프로토콜을 통해 상기 적어도 하나의 파트너 디바이스에 대한 제어 명령을 호출하는 스마트 홈 서비스 서버.
  18. 제 1 프로토콜에 기초하여 동작하는 적어도 하나의 디바이스 및 제 2 프로토콜에 기초하여 동작하는 적어도 하나의 사용자 단말기를 연결하는 스마트 홈 서비스 서버에 있어서,
    상기 스마트 홈 서비스 서버의 API 제어부에서, 상기 적어도 하나의 사용자 단말기의 상기 제 2 프로토콜을 통해 상기 적어도 하나의 디바이스에 대한 제어 명령이 호출되는 단계;
    상기 스마트 홈 서비스 서버의 필터에서, 상기 호출된 제어 명령을 상기 제 1 프로토콜에 따라 변환하는 단계; 및
    상기 스마트 홈 서비스 서버의 제어 명령 전송부에서, 상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 상기 적어도 하나의 디바이스로 전송하는 단계; 를 포함하는 스마트 홈 서비스 서버의 제어방법.
  19. 제 18 항에 있어서,
    상기 제어 명령이 호출되는 단계는,
    상기 제 2 프로토콜 상에서 상기 제 1 프로토콜의 제어 명령을 호출하는 어플리케이션 프로그래밍 인터페이스(Application Programming Interface; API)를 상기 적어도 하나의 사용자 단말기에 제공하는 단계; 를 포함하는 스마트 홈 서비스 서버의 제어방법.
  20. 제 19 항에 있어서,
    상기 제어 명령이 호출되는 단계는,
    상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 제어 명령을 호출하는 호출 명령을 상기 적어도 하나의 사용자 단말기로부터 수신하는 단계; 를 더 포함하고,
    상기 호출 명령은,
    채널 키(Channel Key)를 포함하는 상기 제 2 프로토콜에 대한 인증 정보, 유저 아이디(User ID), 어플리케이션 아이디(Application ID), 및 억세스 토큰(Access Token)를 포함하는 사용자 인증 정보, 및 디바이스 아이디(Device ID)를 포함하는 디바이스 정보를 포함하는 스마트 홈 서비스 서버의 제어방법.
  21. 제 20 항에 있어서,
    상기 제어 명령이 호출되는 단계는,
    상기 적어도 하나의 사용자 단말기 중 인증된 사용자 단말기에 의해 상기 제어 명령이 호출되는 스마트 홈 서비스 서버의 제어방법.
  22. 제 21 항에 있어서,
    상기 제어 명령이 호출되는 단계는,
    상기 호출 명령이 수신되면, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 및 사용자 인증 정보 중 적어도 하나에 기초하여 상기 사용자 단말기의 인증 여부를 결정하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  23. 제 20 항에 있어서,
    상기 제어 명령을 전송하는 단계는,
    상기 호출 명령이 수신되면, 상기 수신된 호출 명령 중 상기 디바이스 정보에 기초하여 상기 제 1 프로토콜에 따라 변환된 상기 제어 명령을 전송할 디바이스를 결정하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  24. 제 20 항에 있어서,
    상기 스마트 홈 서비스 서버의 디바이스 연동 인터페이스에서, 상기 적어도 하나의 디바이스와 연결되는 단계;
    상기 스마트 홈 서비스 서버의 이벤트 수신부에서, 상기 디바이스 연동 인터페이스를 통해 상기 연결된 적어도 하나의 디바이스의 상태 정보를 수신하는 단계;
    상기 스마트 홈 서비스 서버의 이벤트 프로세서에서, 상기 수신된 상태 정보를 처리하는 단계; 및
    상기 스마트 홈 서비스 서버의 저장부에서, 상기 처리된 상태 정보를 저장하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  25. 제 24 항에 있어서,
    상기 상태 정보를 수신하는 단계는,
    상기 연결된 적어도 하나의 디바이스 중 적어도 하나의 상태가 변경될 때, 상기 상태가 변경된 적어도 하나의 디바이스의 상태 정보를 수신하는 스마트 홈 서비스 서버의 제어방법.
  26. 제 24 항에 있어서,
    상기 스마트 홈 서비스 서버의 이벤트 전송부에서, 상기 적어도 하나의 디바이스의 상기 상태 정보 조회 명령의 상기 호출 명령이 수신되면, 상기 저장된 상태 정보를 상기 적어도 하나의 사용자 단말기로 전송하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  27. 제 26 항에 있어서,
    상기 저장된 상태 정보를 상기 적어도 하나의 사용자 단말기로 전송하는 단계는,
    상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 및 사용자 인증 정보 중 적어도 하나에 기초하여 상기 처리된 상태 정보를 필터링하여 상기 적어도 하나의 사용자 단말기로 전송하는 스마트 홈 서비스 서버의 제어방법.
  28. 제 24 항에 있어서,
    상기 적어도 하나의 디바이스의 상기 상태 정보 구독 신청 명령의 상기 호출 명령이 수신되면, 상기 수신된 호출 명령 중 상기 제 2 프로토콜에 대한 인증 정보, 사용자 인증 정보, 및 디바이스 정보를 구독 신청 정보로서 저장하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  29. 제 28 항에 있어서,
    상기 구독 신청 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보가 변경되면, 상기 구독 신청 정보로서 저장된 상기 제 2 프로토콜에 대한 인증 정보 및 상기 사용자 인증 정보에 대응되는 사용자 단말기로 상기 변경된 상태 정보를 전송하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  30. 제 29 항에 있어서,
    상기 API 제어부에서 상기 어플리케이션 프로그래밍 인터페이스를 통해 상기 적어도 하나의 디바이스의 상기 상태 정보 구독 해지 명령의 상기 호출 명령을 수신하면, 상기 구독 신청 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보를 상기 이벤트 전송부에 제공하지 않는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  31. 제 24 항에 있어서,
    상기 적어도 하나의 디바이스의 상기 조건 설정 명령의 상기 호출 명령이 수신되면, 상기 수신된 조건 설정 명령에 대한 호출 명령의 조건 및 상기 디바이스 정보를 포함하는 조건 설정 정보를 저장하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  32. 제 31 항에 있어서,
    상기 조건 설정 정보로서 저장된 디바이스 정보에 대응되는 디바이스의 상태 정보가 상기 조건 설정 정보로서 저장된 조건을 만족하면, 상기 조건 만족 결과를 상기 적어도 하나의 디바이스에 제공하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  33. 제 24 항에 있어서,
    상기 스마트 홈 서비스 서버의 아답터(Adapter)에서, 상기 처리된 상태 정보가 제 3 프로토콜에 기초하여 동작하는 파트너 서버에 의해 호출되는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
  34. 제 33 항에 있어서,
    상기 제 3 프로토콜에 기초하여 상기 파트너 서버에 연결된 적어도 하나의 파트너 디바이스를 제어하도록, 상기 제 1 프로토콜을 통해 상기 적어도 하나의 파트너 디바이스에 대한 제어 명령을 호출하는 단계; 를 더 포함하는 스마트 홈 서비스 서버의 제어방법.
PCT/KR2016/013660 2015-11-24 2016-11-24 스마트 홈 서비스 서버 및 그 제어방법 WO2017091021A1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201680068775.XA CN108605000B (zh) 2015-11-24 2016-11-24 智能家庭服务服务器及其控制方法
EP16868917.2A EP3355521B1 (en) 2015-11-24 2016-11-24 Smart home service server and control method therefor
AU2016361086A AU2016361086B2 (en) 2015-11-24 2016-11-24 Smart home service server and control method therefor
CA3003571A CA3003571A1 (en) 2015-11-24 2016-11-24 Smart home service server and control method therefor
JP2018545794A JP6882314B2 (ja) 2015-11-24 2016-11-24 スマートホームサービスサーバおよびその制御方法
US15/778,801 US11277278B2 (en) 2015-11-24 2016-11-24 Smart home service server and control method therefor

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562259547P 2015-11-24 2015-11-24
US62/259,547 2015-11-24
KR10-2016-0157660 2016-11-24
KR1020160157660A KR20170060598A (ko) 2015-11-24 2016-11-24 스마트 홈 서비스 서버 및 그 제어방법

Publications (1)

Publication Number Publication Date
WO2017091021A1 true WO2017091021A1 (ko) 2017-06-01

Family

ID=58764336

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/013660 WO2017091021A1 (ko) 2015-11-24 2016-11-24 스마트 홈 서비스 서버 및 그 제어방법

Country Status (3)

Country Link
AU (1) AU2016361086B2 (ko)
CA (1) CA3003571A1 (ko)
WO (1) WO2017091021A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107454195A (zh) * 2017-09-14 2017-12-08 王静芳 一种用于移动终端的物联网云端智能控制方法
GB2565129A (en) * 2017-08-03 2019-02-06 Sony Interactive Entertainment Inc Data communications
WO2019078527A1 (ko) * 2017-10-18 2019-04-25 삼성전자주식회사 전자 기기를 제어하기 위한 전자 기기 제어 시스템 및 그 전자 기기를 제어하는 방법
JP2020533672A (ja) * 2017-08-30 2020-11-19 チェン、ジェイ ネットワークデバイス及びその制御システムと方法
CN112153028A (zh) * 2020-09-14 2020-12-29 谢长林 一种智能通讯装置和方法
WO2021172642A1 (ko) * 2020-02-26 2021-09-02 엘지전자 주식회사 장치 간 연동에 기초한 장치 제어 기능을 제공하는 인공 지능 장치 및 그 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108494637B (zh) * 2018-01-19 2019-12-31 西安电子科技大学 一种智能家居设备对接Control4系统的方法
CN113596124B (zh) * 2021-07-20 2023-04-28 四川虹美智能科技有限公司 智能设备的控制系统和方法
CN114114940A (zh) * 2021-11-19 2022-03-01 蔚来汽车科技(安徽)有限公司 车辆与智能设备的交互方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080019392A1 (en) * 2006-07-18 2008-01-24 Samsung Electronics Co., Ltd. Apparatus and method for controlling home control network
US20080233983A1 (en) * 2007-03-20 2008-09-25 Samsung Electronics Co., Ltd. Home network control apparatus, home network service system using home network control apparatus and control method thereof
KR20140060793A (ko) * 2012-11-12 2014-05-21 김정옥 스마트폰을 이용한 키즈 케어 제공방법 및 키즈 케어 기능을 제공하는 스마트폰
KR101476667B1 (ko) * 2013-05-10 2015-01-02 한국기술교육대학교 산학협력단 Sns 서버를 이용한 기기 참여 기반의 전자기기 애프터서비스 제공 방법
WO2015174560A1 (ko) * 2014-05-14 2015-11-19 주식회사 프리스티 네트워크 제어 및 검증을 위한 장치 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101218790A (zh) * 2005-07-04 2008-07-09 Sk电信股份有限公司 家庭网络系统及其控制方法、设置家庭网络系统的住宅网关的方法以及处理家庭网络系统的事件协议的方法
KR102102246B1 (ko) * 2012-12-18 2020-04-22 삼성전자주식회사 홈 네트워크 시스템에서 홈 디바이스를 원격으로 제어하는 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080019392A1 (en) * 2006-07-18 2008-01-24 Samsung Electronics Co., Ltd. Apparatus and method for controlling home control network
US20080233983A1 (en) * 2007-03-20 2008-09-25 Samsung Electronics Co., Ltd. Home network control apparatus, home network service system using home network control apparatus and control method thereof
KR20140060793A (ko) * 2012-11-12 2014-05-21 김정옥 스마트폰을 이용한 키즈 케어 제공방법 및 키즈 케어 기능을 제공하는 스마트폰
KR101476667B1 (ko) * 2013-05-10 2015-01-02 한국기술교육대학교 산학협력단 Sns 서버를 이용한 기기 참여 기반의 전자기기 애프터서비스 제공 방법
WO2015174560A1 (ko) * 2014-05-14 2015-11-19 주식회사 프리스티 네트워크 제어 및 검증을 위한 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3355521A4 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2565129A (en) * 2017-08-03 2019-02-06 Sony Interactive Entertainment Inc Data communications
JP2020533672A (ja) * 2017-08-30 2020-11-19 チェン、ジェイ ネットワークデバイス及びその制御システムと方法
CN107454195A (zh) * 2017-09-14 2017-12-08 王静芳 一种用于移动终端的物联网云端智能控制方法
WO2019078527A1 (ko) * 2017-10-18 2019-04-25 삼성전자주식회사 전자 기기를 제어하기 위한 전자 기기 제어 시스템 및 그 전자 기기를 제어하는 방법
WO2021172642A1 (ko) * 2020-02-26 2021-09-02 엘지전자 주식회사 장치 간 연동에 기초한 장치 제어 기능을 제공하는 인공 지능 장치 및 그 방법
CN112153028A (zh) * 2020-09-14 2020-12-29 谢长林 一种智能通讯装置和方法

Also Published As

Publication number Publication date
CA3003571A1 (en) 2017-06-01
AU2016361086A1 (en) 2018-05-10
AU2016361086B2 (en) 2020-10-08

Similar Documents

Publication Publication Date Title
WO2017091021A1 (ko) 스마트 홈 서비스 서버 및 그 제어방법
WO2020190057A1 (en) Method for setting device based on information associated with account and electronic device therefor
WO2013025085A2 (en) Apparatus and method for supporting family cloud in cloud computing system
WO2016047983A1 (ko) 통신 단말들간 무선 통신을 위한 방법 및 장치
WO2016024695A1 (en) Method and apparatus for profile download of group devices
WO2014107045A1 (en) Method of sharing contents by using personal cloud device, and electronic device and personal cloud system using the same
WO2015016627A1 (ko) 동일한 네트워크 상의 복수개의 ap 장치 중 하나의 ap 장치와 단말기를 연결하는 방법 및 장치
WO2019172641A1 (en) Electronic device and method for managing electronic key thereof
WO2018143711A1 (en) System and method of providing sensing data to electronic device
WO2020091310A1 (en) Method and apparatus for managing bundles of smart secure platform
WO2021261728A1 (ko) 다기능을 가지는 보안 연결을 제공하는 보안 통신 장치 및 그 동작 방법
WO2016080595A1 (ko) 멀티 넘버 서비스 제공 방법
WO2021085838A1 (ko) 블루투스 연결 정보 공유를 통한 소스 기기 전환 방법 및 장치
WO2022154272A1 (ko) Iot 장치 및 iot 장치를 서버에 온보딩 하는 방법
WO2016076472A1 (ko) 통화 제어 방법 및 시스템
WO2012099402A2 (en) Method and apparatus for phone communication using home network
WO2020032353A1 (ko) 전자 장치, 외부 전자 장치 및 외부 전자 장치의 esim 관리 방법
WO2013024922A1 (ko) 전자기기 및 전자기기의 동작 방법
WO2020138686A1 (ko) 가전기기, 단말 장치 및 이의 무선 연결 방법
WO2022019682A1 (ko) 엣지 컴퓨팅 시스템 및 방법
WO2020091194A1 (ko) 클라우드 기반의 버추얼 스마트폰 시스템
WO2022086133A1 (ko) 디스플레이 장치, 전자 장치 및 그 동작 방법
WO2020149536A1 (ko) 공유된 디지털 키를 관리하기 위한 장치 및 방법
WO2013122423A1 (en) System and method of transmitting data by using widget window
WO2019194412A1 (en) Network apparatus and control method thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16868917

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 3003571

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2016868917

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2016361086

Country of ref document: AU

Date of ref document: 20161124

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2018545794

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE