WO2019078489A1 - 사물 인터넷 플랫폼 서비스 제공 방법 및 서버장치 - Google Patents

사물 인터넷 플랫폼 서비스 제공 방법 및 서버장치 Download PDF

Info

Publication number
WO2019078489A1
WO2019078489A1 PCT/KR2018/010696 KR2018010696W WO2019078489A1 WO 2019078489 A1 WO2019078489 A1 WO 2019078489A1 KR 2018010696 W KR2018010696 W KR 2018010696W WO 2019078489 A1 WO2019078489 A1 WO 2019078489A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
object internet
internet
shadow
internet platform
Prior art date
Application number
PCT/KR2018/010696
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
Priority claimed from KR1020170135919A external-priority patent/KR102000199B1/ko
Priority claimed from KR1020170141491A external-priority patent/KR102233007B1/ko
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to CN201880066883.2A priority Critical patent/CN111201764B/zh
Priority to US16/652,640 priority patent/US11172028B2/en
Publication of WO2019078489A1 publication Critical patent/WO2019078489A1/ko
Priority to US17/411,639 priority patent/US11483391B2/en

Links

Images

Classifications

    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable

Definitions

  • the present invention relates to a method for providing a context service and a server apparatus using the method.
  • Object Internet platform service is a service that provides common functions necessary for the development and operation of the Internet service of things. It enables the Internet service developers to develop and operate the service more quickly and easily by utilizing the functions provided by the platform. In addition, users using the Internet service can manage the connection of objects on the platform and monitor the status of the service, thus enabling stable service utilization. In order to operate a stable Internet service on the Internet platform, it is important to manage the connection with the Internet appliance and the application server, and to reliably transfer data between the Internet appliance and the application server.
  • One embodiment of the present invention is to provide a method and apparatus for providing a variety of data processing functions by managing data of object Internet devices in a platform, thereby providing various data processing functions.
  • Another embodiment of the present invention is to provide a method and an apparatus for object Internet platform service that can provide various convenience functions and data processing functions by defining and managing data of object Internet devices using a device descriptor.
  • a method for providing a Internet service platform for objects comprising the steps of: creating a shadow device corresponding to a destination Internet appliance; Receiving state information of the object Internet appliance and storing the state information in the shadow device each time the state information is updated; And performing a predetermined operation based on state information stored in the shadow device.
  • an object Internet platform service server apparatus comprising: a communication unit for performing communication with a destination Internet device; A shadow device management unit configured to create a shadow device corresponding to the object Internet device and to receive the status information of the object internet device and store the status information in the shadow device each time the status information is updated; And a rule engine for determining whether a predetermined rule condition is satisfied by using state information stored in the shadow device.
  • a method for providing a object Internet platform service comprising: registering a specification (hereinafter referred to as a 'device descriptor') of common characteristics of a plurality of devices; Receiving a connection request from the object Internet device; Creating a shadow device corresponding to the object Internet appliance; Receiving data from the object Internet device; And updating the state of the shadow device based on the data received from the object internet appliance.
  • a specification hereinafter referred to as a 'device descriptor'
  • a thing Internet platform service server apparatus comprising: a registering unit for registering a specification (hereinafter referred to as a 'device descriptor') of common characteristics of a plurality of devices; A communication unit for communicating with the object Internet device; And a virtualization unit for creating a shadow device corresponding to the object internet appliance on the server and updating the state of the shadow device based on data received from the object internet appliance .
  • a registering unit for registering a specification (hereinafter referred to as a 'device descriptor') of common characteristics of a plurality of devices.
  • a communication unit for communicating with the object Internet device
  • a virtualization unit for creating a shadow device corresponding to the object internet appliance on the server and updating the state of the shadow device based on data received from the object internet appliance .
  • the status information of the object Internet device can be fetched, the command to be transmitted to the object Internet device is stored, So that it is possible to enable stable operation of Internet service of objects.
  • interworking with an external analysis service becomes easy by grasping the meaning of data received from the object Internet device using the device descriptor of the object Internet platform.
  • the development time since the data received from the object Internet device can be collectively managed using the device descriptor of the object Internet platform, the development time .
  • FIG. 1 is a block diagram schematically illustrating a structure of an Internet platform system according to the present embodiment.
  • FIG. 2 is a block diagram illustrating the configuration of an Internet appliance according to an embodiment of the present invention.
  • FIG. 3 is a block diagram illustrating a configuration of an object Internet platform server according to an embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating a rule-engine-based object Internet device control method in the object Internet platform system according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a method of controlling a destination Internet device by an application server in the Internet platform system according to an embodiment of the present invention.
  • FIG. 6 is a block diagram illustrating an Internet platform server according to another aspect of the present invention.
  • FIG. 7 is a detailed block diagram illustrating the structure of the Internet object system according to another embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a method for providing an object Internet platform service according to another embodiment of the present invention.
  • first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements.
  • an element when referred to as being “comprising” or “comprising”, it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise .
  • the terms 'part', 'module', and the like described in the specification mean units for processing at least one function or operation, and may be implemented by hardware, software, or a combination of hardware and software.
  • FIG. 1 is a block diagram schematically illustrating a structure of an Internet platform system according to the present embodiment.
  • the object Internet platform system 100 includes an object Internet device 110, a object Internet platform server 130, and an application server 150 interworking through a communication network .
  • the object Internet device 110 when the object Internet device 110 is connected to a communication network, it is connected to a wireless connection device (not shown) using a short-range wireless communication technology and is connected to a communication network.
  • a wireless connection device (not shown) using a short-range wireless communication technology and is connected to a communication network.
  • -Fi Zigbee, Blutetooth, and NFC (Near Field Communication) communication technologies.
  • the wireless access device searches for the object internet devices 110 existing in the communication coverage in accordance with the local wireless communication standard and establishes a connection with the discovered object internet devices 110, Connection setting and data transmission / reception can be performed.
  • the communication network in which each configuration of the object Internet platform system 100 is interworked is a variety of communication networks constructed in the conventional manner, for example, a LAN (Local Area Network), a WAN Such as CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), GSM (Global System for Mobile Communications), LTE (Long Term Evolution) Communication networks, and Wi-Fi networks, which are currently available or will be implemented in the future.
  • LAN Local Area Network
  • WAN Wide Area Network
  • CDMA Code Division Multiple Access
  • WCDMA Wideband Code Division Multiple Access
  • GSM Global System for Mobile Communications
  • LTE Long Term Evolution
  • the object Internet device 110 includes a sensor function and a communication function and is connected to a communication network to transmit and receive data.
  • the object Internet device 110 can be implemented in various embedded systems such as household appliances, mobile equipment, and wearable computers.
  • the object Internet device 110 accesses the object Internet platform server 130 through a communication network and transmits data such as status information or sensing information to the object Internet platform server 130 to receive data from the object Internet platform server 130 And performs a predetermined function in accordance with the control command.
  • the object Internet device 110 accesses a wireless connection device (not shown) performing short-range wireless communication to perform connection setup, and then accesses the communication network and the object Internet platform server 130 through the wireless connection device .
  • the object Internet platform server 130 is a platform apparatus for providing a service based on the object Internet.
  • the object Internet platform server 130 performs registration and authentication of the object internet apparatus 110, collects and manages data of the object internet apparatus 110, And to control the device 110, for example.
  • the developer of the object Internet service can develop various services using the object Internet using the functions provided by the object internet platform server 130.
  • the user can manage and monitor the connection and operation control of the object Internet device 110 for the object Internet service through the object internet platform server 130.
  • the application server 150 is connected to the object Internet platform server 130 and manages and controls the unique service for each application using various information of the object internet device 110 transmitted from the object internet platform server 130 .
  • FIG. 2 is a block diagram illustrating the configuration of an Internet appliance according to an embodiment of the present invention.
  • the object Internet device 110 may include a storage unit 210, a control unit 230, and a wireless communication unit 250.
  • Each component shown in FIG. 2 may be implemented as a hardware chip, or may be implemented as software and a microprocessor may be implemented to execute the functions of the software corresponding to each component.
  • the storage unit 210 stores programs and data necessary for the operation of the object Internet device 110.
  • the storage unit 210 may store data such as sensing information and status information to be collected at predetermined periods in the object Internet device 110.
  • the storage unit 210 may store a program for performing processing such as collection and transmission of sensing information and status information in the object Internet device 110.
  • the control unit 230 executes a computer program designed to implement the feature according to the present embodiment, including the processor, as the means for controlling the object internet appliance 110, It is possible to collect and transmit sensing information and status information through interworking with the controller 130, and execute remote control commands.
  • the wireless communication unit 250 is configured to transmit and receive data through a communication network, and can transmit and receive data through various communication methods as well as wired and wireless methods.
  • the wireless communication unit 250 establishes a communication session with the object Internet platform server 130 through the communication network, and can transmit and receive data necessary for the object Internet service through the communication session.
  • the object-oriented Internet device 110 may be connected to the wireless network through a short-range wireless communication method in order to connect to the communication network.
  • a short-range wireless communication method for example, data can be transmitted / received to / from a wireless access device after being connected to a wireless access device through a search, authentication and association process according to a short-range wireless communication standard such as Wi-Fi, Zigbee and Bluetooth.
  • FIG. 3 is a block diagram illustrating a configuration of an object Internet platform server according to an embodiment of the present invention.
  • the object Internet platform server 130 includes a communication unit 310, a control unit 320, a shadow device management unit 330, a shadow device 340, a rule engine 350, and a user interface unit 360 .
  • Each component shown in FIG. 3 may be implemented as a hardware chip, or may be implemented as software and a microprocessor may be implemented to execute the functions of the software corresponding to each component.
  • the communication unit 310 is configured to transmit and receive data through a communication network, and can transmit and receive data through various communication methods as well as wire and wireless methods.
  • the communication unit 310 establishes a communication session with the object Internet device 110 or the application server 150 through the communication network and transmits and receives data to and from the object Internet device 110 or the user application server 150 have.
  • the control unit 320 is configured to control the whole Internet platform service.
  • the control unit 320 registers a plurality of Internet devices 110 according to a service algorithm and manages and processes data transmitted from the registered Internet devices 110 Can be performed.
  • the application server 150 searches for and provides data in response to a request from the application server 150, and controls transmission and reception of data by the shadow device management unit 330 so that the received command can be transmitted to the corresponding object Internet device 110.
  • the control unit 320 confirms the authorization for the authentication and the request to the object Internet device 110 and the application server 150 for security and transmits the authorization to the object Internet device 110 and the application server 150 And processes the request or data sent from the client.
  • the shadow device management unit 330 manages matching information between the object internet device 110 and the shadow device 340 and stores data for each of the plurality of shadow devices 340 corresponding to the object internet device 110 can do.
  • the shadow device manager 330 When a connection request of the object Internet appliance 110 is made to the object Internet platform server 130, the shadow device manager 330 generates a corresponding shadow device 340.
  • the shadow device management unit 330 stores the data transmitted from the object Internet device 110 in the corresponding shadow device 340 and retrieves and provides the data according to the request of the application server 150.
  • information about the control command is stored in the shadow device 340, and control command information stored in the shadow device 340 is stored in the shadow device 340.
  • the shadow device management unit 330 also processes data previously stored in the shadow device 340 and data to be newly stored (history data) in order to store data in the shadow device 340 in accordance with a rule defined in the rule engine 350 .
  • the shadow device management unit 330 can reduce and store the data through data aggregation processing on the history data according to a rule designated by the user. For example, the status information for a predetermined period of time may be summed up and processed to store statistical values such as a maximum value, a minimum value, an average value, a count value, a variance, an average value per time period, and a representative value for a data group in the shadow device 340 .
  • the shadow device management unit 330 uses the rule engine 350 to transmit data And may be stored in the shadow device 340.
  • the shadow device 340 exists as a one-to-one correspondence with the registered object Internet device 110 as a logical entity mapped on a one-to-one basis with the physical device or the virtual device.
  • the object Internet device 110 may include a virtual device as well as a physical device, and thus it is also possible that only the shadow device 340 exists without a physical device on the platform.
  • the shadow device 340 is always in synchronization with the current state of the object Internet device 110 and can store the current state information of the object Internet device 110 as well as the history based information.
  • the shadow device 340 can receive and store the status information of the object Internet device 110 and accumulate and store the updated status information while keeping the previously stored information each time the status information is updated.
  • the shadow device 340 stores information on the control command transmitted to the object Internet device 110.
  • the object Internet platform server 130 may transmit a control command to the object Internet device 110 when there is a request from the application server 150 or a rule condition defined in the rule engine 350 is satisfied,
  • the control unit 340 stores control command information transmitted to the object Internet device 110 and a result of performing a control command in the object Internet device 110.
  • the control command information and the control result can be similarly stored.
  • the shadow device 340 is a logical object Internet appliance corresponding to the object internet appliance 110 implemented in the object Internet platform server 130, and stores the current status information of the object internet appliance 110, the past status information, And corresponds to a configuration in which all of the control commands received or performed by the Internet device 110 are stored.
  • a developer who develops the object Internet service through the object Internet platform monitors or controls the object internet service through the object internet appliance 110 or the application server 150.
  • the server 130 does not merely transmit data between the object Internet device 110 and the application server 150 but merely transmits the status information and the control information of the object Internet device 110 to the matching shadow device 340 ).
  • the application server 150 requests the data It is possible to provide data even when there is a control command of the object Internet device 110 and to transmit the control command when the object Internet device 110 is connected to the Internet again. Even if Internet access is unstable, it is possible to operate stable Internet service.
  • the rule engine 350 provides a function of automatically processing data according to a predefined rule.
  • the rule engine 350 provides a function of setting various rules based on data stored in the shadow device 340, and can perform various operations on its own without special input according to a rule set by the user.
  • an operation set in the rule can be automatically performed.
  • Such an operation may include providing an alarm to the user or issuing a control command to restart the device, and the like.
  • rule engine 350 can utilize not only the current status data of the object Internet device 110 but also the history data, rules can be set using various data, and the object Internet platform server 130 itself It is possible to provide a wide range of data processing in real time.
  • a rule may be set to give an alarm when data deviating from the average value of the past one hour is received by using the history data of the object internet appliance 110, or the object internet appliance 110 may be grouped, When data exceeding 10% of the maximum value for the last day is input, a rule for issuing a specific control command can be set.
  • the built-in rule engine can perform only simple data processing using the current state information.
  • the history data of the object Internet apparatus can be used, and rules can be set using the history data in the rule engine. Therefore, even if such a function is not separately implemented in the application server, It is possible to perform various types of data processing in itself.
  • the user interface unit 360 provides an interface to the user or the developer for inputting or selecting basic information and protocol information for the object Internet service.
  • the user interface unit 360 provides a user interface screen through which a user or a developer can define a communication server or a protocol.
  • a general user who does not know the programming can operate the communication server module through the check box and the check list and can create the interface between the IoT terminal and the server.
  • the user interface (UI) screen is configured so that the user can perform all the settings for the server and the protocol with a simple click.
  • FIG. 4 is a flowchart illustrating a rule-engine-based object Internet device control method in the object Internet platform system according to an embodiment of the present invention.
  • the object Internet platform server when there is a connection request (S401) of the object Internet appliance, the object Internet platform server creates a corresponding shadow device (S402).
  • the object Internet device may include a virtual device as well as a physical device.
  • a shadow device is a logical entity that is mapped on a one-to-one basis with a physical device or a virtual device and exists on a server in a one-to-one correspondence with a destination Internet device.
  • the shadow device receives and stores the state information of the object Internet appliance, and preferably accumulates and stores the updated state information while keeping the pre-stored information each time the state information is updated.
  • the process of creating the shadow device in step S402 is performed only once in the first connection request of the object Internet device.
  • the developer or user of the object Internet service sets a rule condition for service operation through the application server (S403).
  • the rule engine is a configuration that provides the function of automatically processing data according to the predefined rule conditions.
  • the rule engine of the object Internet platform server can judge whether the rule condition is satisfied by using the state information stored in the shadow device.
  • a rule may be set to give an alarm when data that deviates from the average value of the past one hour is received by using the history data of the object Internet appliance, or the object Internet appliance may be grouped so that the maximum value When data exceeding 10% is input, a rule for issuing a specific control command can be set.
  • rule engine can use the history data of the object Internet device, it is possible to set rules using various data. With this rule engine, the developer can provide various services without processing the data through the application server.
  • the platform server When data is transmitted from the object Internet device (S404) and received by the object Internet platform server, the platform server stores the received data in the shadow device (S405).
  • the pre-stored data and the data to be newly stored can be processed and stored according to rules defined in the rule engine.
  • the data can be reduced and stored through data aggregation processing on the history data according to a rule specified by the user. For example, statistical values such as a maximum value, a minimum value, an average value, a count value, a variance, an average value per time period, and a representative value for a data group may be stored in the shadow device.
  • a shadow device manager can process data through a rule engine and store it in a shadow device because a lot of storage space is required and processing cost for data transfer is large.
  • the rule engine in the object Internet platform server determines whether the data stored in the shadow device satisfies predetermined rule conditions (S406), and if the rule condition is satisfied, a predetermined operation such as controlling the object Internet appliance (S407) .
  • a predetermined operation such as controlling the object Internet appliance
  • the shadow device is configured to store the current state information of the object Internet appliance, the past state information, and the control command.
  • step S405 and step S409 whenever the data transmission from the object internet appliance or the control command to the object internet appliance is made It is repeatedly performed. Through these steps, the object Internet device and the shadow device can always exist in synchronization, and the shadow device can store the history data and the information about the control command generated up to now.
  • the destination Internet platform server transmits information related to the destination Internet device stored in the shadow device to the application server (S411).
  • the Internet platform server transmits information stored in the shadow device without receiving or requesting the current status information of the Internet device.
  • the conventional Internet platform system only the simple data processing using the current state information can be performed in the built-in rule engine. In order to provide a complicated and diverse service, it is generally implemented in the application server.
  • the object Internet platform system since the shadow device on the platform stores the history data of the object Internet device, it is possible to use the history data, and rules can be set using the history data in the rule engine.
  • the object Internet platform server itself can handle various types of data.
  • FIG. 5 is a flowchart illustrating a method of controlling a destination Internet device by an application server in the Internet platform system according to an embodiment of the present invention.
  • the object Internet service server when there is a connection request (S501) of the object Internet appliance, the object Internet service server creates a corresponding shadow device (S502).
  • the process of creating a shadow device in step S502 is performed only once in the first connection request of the object Internet device.
  • the platform server stores the received data in the shadow device (S504).
  • the shadow device can always exist in synchronization with the object Internet device through steps S503 and S504, and can store the history data.
  • the application server requests transmission of the control command to the object Internet appliance based on the data received at the object Internet platform server (S507).
  • the object Internet platform server stores the control command in the shadow device (S508), and transmits the control command to the object Internet device (S509).
  • the object Internet apparatus executes the command according to the control command and transmits the control result to the object internet platform server in step S510, the object internet platform server stores the control result in the shadow device in step S511.
  • data stored in the shadow device is transmitted in the same manner as the data inquiry requesting process of step S505 (S513).
  • the shadow device stores the status information of the object internet device, so that it can be provided when there is a request for data from the application server. It is possible to transmit the information when the Internet device is connected to the Internet again. Therefore, it is possible to operate the Internet service of the Internet regardless of whether or not the Internet device is connected to the Internet.
  • FIG. 6 is a block diagram illustrating a configuration of an Internet platform server according to another embodiment of the present invention.
  • the object Internet platform server 130 may include a communication unit 610, a registration unit 630, and a virtualization unit 650.
  • the communication unit 610 can transmit and receive data through wired, wireless, and various other communication methods through a communication network.
  • the communication unit 610 establishes a communication session with the object Internet device 110 or the application server 150 that accesses through the communication network and transmits and receives data to and from the object Internet device 110 or the application server 150 through a communication session Lt; / RTI >
  • the registering unit 630 can register and authenticate the object internet appliance 110 and register and manage the specification of the common properties of the object internet appliance 110 having the common characteristics.
  • the virtualization unit 650 generates a shadow device corresponding to the object Internet device 110 on the object Internet platform server 130 and generates a virtual shadow device corresponding to the shadow device based on the data received from the object Internet device 110. [ You can update the status.
  • the virtualization unit 650 manages matching information between the object internet device 110 and the shadow device and can store and manage data for each of the plurality of shadow devices corresponding to the object internet device 110.
  • the virtualization unit 650 creates a corresponding shadow device.
  • the virtualization unit 650 stores the data transmitted from the object Internet device 110 in the corresponding shadow device and retrieves and provides the data according to the request of the application server 150.
  • information about the control command is stored in the shadow device, and the control command information stored in the shadow device is transmitted to the object Internet device 110 .
  • the object Internet platform server 130 may further include an inspection unit 670.
  • the inspection unit 670 can check the validity of the data received from the object Internet appliance 110 based on the device descriptor 631.
  • the device descriptor 631 includes information about sensors common to the object Internet devices 110 having common characteristics; Information on a controllable module common to the Internet appliance 110 having common characteristics; Information about at least one of meaning, format, periodicity, transmission period, numerical range, and fluctuatable range of the common data transmitted to the object Internet platform server 130 having the common property by the object Internet platform server 130 .
  • the device descriptor 631 can specify a format as well as the meaning of the data transmitted by the device, so that the user can transmit data using the desired format. Especially, it is important to reduce the transmission data size. Due to the nature of the Internet service, it is possible to reduce the data size in the csv, offset based format as well as the json format, and the contents of the data are included in the device descriptor. It is possible to provide a service based on meaning.
  • Object Internet appliance 110 may include one or more sensors and one or more controllable modules.
  • the sensor may be a temperature sensor, a humidity sensor, a Global Positioning System (GPS), etc.
  • the controllable module may be a motor, an actuator, a cooling fan, a hot wire, or the like.
  • the object Internet appliance 110 having common characteristics is similar to the types of sensors and controllable modules provided therein. Therefore, by defining characteristics common to the object Internet appliance 110 having common characteristics at the platform end, The service provided to the object internet appliance 110 having the common characteristics can be easily developed.
  • the device descriptor 631 is a logical framework for representing the object Internet apparatus 110 having a common property and not only has a specification for the object internet apparatus 110 but also includes a sensor and an actuator connected to the object internet apparatus 110 , The meaning of the transmission data, the format, and the period, and is a logical representative element of the object Internet device 110 having common characteristics.
  • the object Internet service provider can create information on the device to be used in the object Internet service in accordance with the format of the device descriptor 631 provided by the object Internet platform.
  • the device descriptor 631 may include Name, Device information, Attributes, Telemetries, and the like.
  • Name is the name of the device descriptor 631.
  • the device information may include information on a manufacturer, a memory, a model, a version, a gateway, information on connected sensors, information on a controllable module, and the like.
  • the Attributes indicate the latest state information without periodicity among the information transmitted by the object Internet device 110. Attributes can be defined by the object Internet service provider itself according to the service characteristics and can define the name, type, semantics (definition of what the information actually means), controllability, data transmission format, etc. .
  • Telemetries means data having periodicity among the information transmitted by the object Internet device 110.
  • Telemetries can be defined by object Internet service providers themselves according to service characteristics, and can define name, type, semantics, transmission period, and so on.
  • the location information of the object Internet device 110 be set to Attributes because it is information having only the location of the current device.
  • the location information transmitted by the destination Internet device 110 can be set to Telemetries.
  • the service is a tracking service, it is necessary to periodically transmit the location information history because it is meaningful.
  • the location information is preferably defined as Telemetries instead of Attributes.
  • Telemetries as the data having periodicity or meaningful in history recording. For example, if the temperature information measured by the temperature sensor of the object Internet device 110 is periodically transmitted to the object Internet platform server 130, this information becomes the telemetry information. It goes without saying that the temperature information transmitted by the object Internet device 110 may be set to Attributes when a history of the temperature change of the object Internet device 110 is not required depending on the kind of the object Internet service to be provided.
  • the object Internet service developer can create a device descriptor 631 describing detailed information on the object Internet device 110 according to a predetermined rule in the object Internet platform according to an embodiment of the present invention.
  • the object Internet service developer can select the device descriptor 631 while registering the object Internet device 110 that is the object of the developed object Internet service. That is, when a certain object internet appliance 110 is registered in the object internet platform server 130, it can be set to which device descriptor 631 the corresponding object internet appliance 110 belongs to.
  • a device such as a device, a sensor and an actuator, a rule associated with an action to be performed, a meaning, a format, and a cycle of data to be transmitted And devices of the same type are referred to jointly by one specification.
  • the device descriptor 631 includes the definition of the data format, it is also possible to provide a function that can grasp the actual data value and process it immediately.
  • the real object internet device 110 is registered in the object Internet platform server 130 according to the embodiment of the present invention, it is defined which device descriptor 631 corresponds to, It is possible to interpret the information of the real object Internet device 110 and the data to be transmitted in the object Internet platform according to the present invention, and various functions can be provided at the platform according to the interpretation.
  • the object Internet platform server 130 may further include an inspection unit 670.
  • the inspection unit 670 may check the validity of the data received from the object Internet device 110 can do.
  • the checking unit 670 may determine that there is an error in the data or that some data is missing.
  • the inspector 670 may determine that there is an error in the data.
  • the checking unit 670 may determine that there is an error in the data.
  • the inspection unit 670 may determine that there is an error in the data.
  • FIG. 7 is a detailed block diagram illustrating the structure of the Internet object system according to another embodiment of the present invention.
  • the object Internet system 700 may include a object Internet device 710, a object Internet platform server 730, and an application server 750.
  • the object Internet device 710 means Thing in IoT (Internet of Things), and in the embodiment of the present invention, a node having a sensor, an actuator, and the like is connected to a plurality of nodes.
  • IoT Internet of Things
  • the object Internet platform server 730 is a server on which the object Internet platform is implemented, and provides various functions for developing and operating the object internet service.
  • the device descriptor 631 is a specification of the common characteristics of the Internet appliance 710 having common characteristics as described above in detail.
  • the device descriptor 631 is a logical frame representing a device having a common property.
  • the device descriptor 631 has not only a specification of a device but also a specification, a connected sensor and an actuator, all the information Is a logical representative element of the connected device.
  • the shadow device is mapped 1: 1 with the physical device so that each device is logically present on the object Internet platform server 730. Shadow devices can be mapped to virtual devices as well as physical devices.
  • the object Internet service user means a person who actually uses the object Internet service, and can possess the object Internet device 710 or use the object Internet service.
  • Object Internet service developer means a person who develops the Internet service of things using the Internet platform of things, and may or may not be the same as the Internet service user of things.
  • the basic function of the object Internet platform is to transfer the data of the object Internet device 710 to the application server 750 well.
  • the object Internet platform further includes a function of transferring a control command from the application of the application server 750 to the object Internet device 710, a function having various characteristics such as an API and a UI editing function necessary for creating various object Internet services, .
  • the conventional object Internet platform is focused on managing the connection of the object Internet device 710 and transmitting data to the application server 750 without losing data.
  • Such prior art has had a drawback in that it is not difficult to provide a basic function of reliably transmitting data, but the specification of the data can not be known in order to analyze the object Internet data and provide additional meaningful information. Therefore, additional work had to be done at the application level to perform data transfer, consistency check, and data analysis.
  • the object Internet service provider can easily process and manage information necessary for the object Internet service using the device descriptor 631.
  • the device descriptor 631 has not only the specification of the object Internet appliance 710 but also the type and format of the data to be transmitted and also the semantics, the object Internet service provider can provide various services by using it.
  • the device descriptor 631 serves as basic information for providing data so as to be able to collect data and take an action corresponding to the data meaning, in addition to simply transmitting data and issuing a control command. Therefore, the object Internet service provider can easily connect to the various services required for the object Internet service using the device descriptor 631, and can easily update the attributes and functions of the various devices. In addition, It becomes easy.
  • the object Internet service provider can connect a plurality of services to one device descriptor 631.
  • one device descriptor 631 may be defined, and a desired rule may be set for a specific sensor value, or the entire data may be processed through a rule engine and sent to a data analysis tool. It is also possible to send data to the outside only for a predetermined period through setting based on the device descriptor 631.
  • the device descriptor 631 which can describe the probe. Then, when registering the actual probe on the object Internet platform, it specifies which device descriptor 631 belongs.
  • the object Internet service provider can set the device descriptor 631 based on the meter reading without specifying the meter individually. For example, when information is transmitted from the probe device belonging to the specific device descriptor 631, the data can be analyzed based on the sensor information defined in the device descriptor 631 and processed.
  • the semantics of the data transmitted from the object Internet device 710 can be known by using the device descriptor 631, it can be easily connected to various rules using the semantics. For example, if the air conditioner is operated automatically when the unpleasantness index is 70 or more, a rule for setting the control command is calculated by calculating the unpleasantness index by combining the information raised by the humidity sensor and the information raised by the temperature sensor. Since the information on the semantics is included in the device descriptor 631, the rules can be easily set up by connecting to the rule engine regardless of the type of data. A detailed operation mode will be described below.
  • the object Internet service provider describes the device descriptor 631 and registers it.
  • the developer or user of the Internet service provider defines the corresponding rule.
  • the temperature and humidity data are combined to calculate the discomfort index and define the rules for performing the action accordingly.
  • a sensor defined in the device descriptor 631 is designated and set as to which sensor is to be combined to calculate the discomfort index.
  • the Internet platform analyzes the data based on the device descriptor (631), calculates the discomfort index according to the rules, and processes the data according to the rules.
  • the device descriptor 631 of the object Internet platform includes the data transmission period of the sensor, it is possible to check the absence of the sensor data at the platform end, so that data missing or malfunction can be easily checked .
  • the device descriptor 631 Since the device descriptor 631 has both the meaning of the data and the information about the format, it is possible to check the data consistency at the platform level. For example, if the semantics is defined as the Celsius temperature and the data of '-300' is transmitted from the object Internet device 710, since it is impossible value, it is immediately known that the data is the error, Do. Similarly, when data of a format other than the promised format is transmitted, it is immediately known that the data is an error, so that it is possible to deal with the data at the platform level.
  • FIG. 8 is a flowchart illustrating a method for providing an object Internet platform service according to another embodiment of the present invention.
  • the object Internet platform service providing method includes the steps of registering a specification ('device descriptor 631') for common characteristics of a plurality of devices (S810) A process of receiving a connection request from the device 710 in operation S820, a process of creating a shadow device corresponding to the device 710 in operation S830, a process of receiving data from the device 710 in operation S840, And updating the state of the shadow device based on the data received from the object Internet device 710 (S850).
  • the method for providing the Internet object platform service may include the steps of receiving data from the object Internet device 710 and updating the shadow device, (S840) of determining the validity of the data received from the mobile terminal 710.
  • the data in which the transmission period is defined in the device descriptor 631 is not transmitted every transmission period or the data in which the numerical range is defined in the device descriptor 631 is not within the above numerical range Or if the data for which the format defined in the device descriptor 631 is transmitted in a format different from the defined format or the data for which the variable range is defined in the device descriptor 631 fluctuates beyond the variable range It can be determined that there is an error in the data.
  • each process is sequentially executed in Fig. 4, Fig. 5, and Fig. 8, but it is not limited thereto. 4, 5 and 8, or may be applied to executing one or more processes in parallel, so that the FIGS. 4, 5 and 8 are not limited to the time series order .
  • a recording medium on which an application (or a program) for implementing the object Internet platform service providing method according to the present embodiment is recorded and which can be read by the terminal device (or computer) includes all kinds of data And a recording device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

사물 인터넷 플랫폼 서비스 제공 방법 및 서버장치를 개시한다. 본 실시예의 일 측면에 의하면, 사물인터넷 플랫폼 서비스 제공 방법으로서, 사물인터넷 플랫폼 서버장치가 사물 인터넷 기기에 대응되는 섀도우 디바이스를 생성하고 해당 섀도우 디바이스를 통해 사물 인터넷 기기의 상태 정보를 관리하며, 복수의 디바이스들의 공통된 특성에 관한 명세(즉, 디바이스 디스크립터)를 등록 및 운용하는 것을 특징으로 하는 사물 인터넷 플랫폼 서비스 제공 방법을 제공한다.

Description

사물 인터넷 플랫폼 서비스 제공 방법 및 서버장치
본 발명은 사물 인터텟 플랫폼 서비스를 제공하는 방법 및 이를 적용한 서버장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
사물 인터넷 플랫폼 서비스는 사물 인터넷 서비스의 개발이나 운영에 필요한 공통적인 기능을 제공해주는 서비스로, 플랫폼에서 제공하는 기능들을 활용하여 사물 인터넷 서비스 개발자들이 더 빠르고 쉽게 서비스를 개발하고 운영할 수 있다. 또한, 사물 인터넷 서비스를 사용하는 사용자들도 플랫폼에서 사물의 연결을 관리하고 상태를 모니터링할 수 있도록 하기 때문에 안정적인 서비스 이용이 가능하다. 사물 인터넷 플랫폼에서는 안정적인 사물 인터넷 서비스 운영을 위해 사물 인터넷 기기 및 어플리케이션 서버와의 연결을 관리하고, 사물 인터넷 기기들과 어플리케이션 서버 간의 데이터 전송을 안정적으로 수행하는 것에 중점을 두고 있다.
기존에 개발된 사물 인터넷 플랫폼에서는 사물 인터넷 기기의 현재 상태만을 동기화하여 제공받고 현재 상태를 이용한 간단한 룰 처리만을 수행하므로, 플랫폼 상에서 사물 인터넷 기기를 이용한 서비스를 개발하는 것에는 한계가 있다. 복잡하고 실제적인 서비스를 제공하기 위해, 여러 기기의 데이터나 과거의 데이터를 이용한 서비스를 제공하기 위해서는 어플리케이션 서버에서 데이터를 저장 및 처리해야 하고, 이는 추가적인 개발과정을 필요로 한다.
본 발명의 일 실시예는, 사물 인터넷 기기의 데이터를 플랫폼 내에서 관리함으로써 다양한 데이터 처리 기능을 제공할 수 있는 사물 인터넷 플랫폼 서비스 방법 및 장치를 제공하고자 한다.
본 발명의 다른 실시예는, 디바이스 디스크립터를 이용하여 사물 인터넷 기기의 데이터를 정의하고 관리함으로써 다양한 편의 기능과 데이터 처리 기능을 제공할 수 있는 사물 인터넷 플랫폼 서비스 방법 및 장치를 제공하고자 한다.
본 실시예의 일 측면에 따르면, 사물인터넷 플랫폼 서비스 제공 방법으로서,사물 인터넷 기기와 대응되는 섀도우 디바이스를 생성하는 과정; 상기 사물 인터넷 기기의 상태 정보를 수신하여 상기 상태 정보가 업데이트될 때마다 상기 섀도우 디바이스에 저장하는 과정; 및 상기 섀도우 디바이스에 저장된 상태 정보에 기반하여 기 설정된 동작을 수행하는 과정을 포함하는 사물 인터넷 플랫폼 서비스 제공 방법을 제공한다.
본 실시예의 다른 측면에 따르면, 사물 인터넷 플랫폼 서비스 서버장치로서,사물 인터넷 기기와 통신을 수행하는 통신부; 사물 인터넷 기기와 대응되는 섀도우 디바이스를 생성하고, 상기 사물 인터넷 기기의 상태 정보를 수신하여 상기 상태 정보가 업데이트될 때마다 상기 섀도우 디바이스에 저장하도록 제어하는 섀도우 디바이스 관리부; 및 상기 섀도우 디바이스에 저장된 상태 정보를 이용하여 기 설정된 룰 조건 만족 여부를 판단하는 룰 엔진을 포함하는 사물 인터넷 플랫폼 서비스 서버장치를 제공한다.
본 실시예의 또 다른 측면에 따르면, 사물인터넷 플랫폼 서비스 제공 방법으로서, 복수개의 디바이스의 공통의 특성에 대한 명세(이하, '디바이스 디스크립터')를 등록하는 과정; 사물인터넷 기기로부터 연결 요청을 수신하는 과정; 상기 사물인터넷 기기에 대응되는 섀도우 디바이스를 생성하는 과정; 상기 사물인터넷 기기로부터 데이터를 수신하는 과정; 및 상기 사물인터넷 기기로부터 수신한 데이터에 기초하여 상기 섀도우 디바이스의 상태를 업데이트하는 과정을 포함하는 사물인터넷 플랫폼 서비스 제공 방법을 제공한다.
본 실시예의 또 다른 측면에 따르면, 사물 인터넷 플랫폼 서비스 서버장치로서, 복수개의 디바이스의 공통의 특성에 대한 명세(이하, '디바이스 디스크립터')를 등록하는 등록부; 사물인터넷 기기와 통신을 수행하는 통신부; 및 상기 서버상에 상기 사물인터넷 기기에 대응되는 섀도우 디바이스를 생성하고, 상기 사물인터넷 기기로부터 수신된 데이터에 기초하여 상기 섀도우 디바이스의 상태를 업데이트하는 가상화부를 포함하는 사물 인터넷 플랫폼 서비스 서버장치를 제공한다.
이상에서 설명한 바와 같이 본 발명의 실시예들에 의하면, 사물 인터넷 플랫폼 내에서 사물 인터넷 기기의 데이터를 관리하고 처리할 수 있어 다양한 사물 인터넷 서비스를 제공할 수 있다.
또한, 본 발명의 실시예들에 의하면, 사물 인터넷 플랫폼 내에서 다양한 형태의 룰을 정의하고 수행할 수 있게 제공할 수 있어 어플리케이션 서버를 통하지 않고도 쉽고 빠르게 실시간 데이터 처리가 가능한 효과가 있다.
또한, 본 발명의 실시예들에 의하면, 사물 인터넷 기기가 일시적으로 인터넷에 연결되지 않은 상태라 하더라도 사물 인터넷 기기의 상태 정보를 가져올 수 있고, 사물 인터넷 기기에 전달될 명령어를 저장하고 연결이 재개되면 전달할 수 있기 때문에 사물 인터넷 서비스의 안정적인 운영을 가능하게 하는 효과가 있다.
또한, 본 발명의 실시예들에 의하면, 사물인터넷 플랫폼의 디바이스 디스크립터를 이용하여 사물인터넷 기기로부터 수신하는 데이터의 의미를 파악함으로써 다양한 룰(Rule)에 쉽게 연결할 수 있다.
또한, 본 발명의 실시예들에 의하면, 사물인터넷 플랫폼의 디바이스 디스크립터를 이용하여 사물인터넷 기기로부터 수신하는 데이터의 의미를 파악함으로써 외부 분석 서비스와의 연동이 쉬워진다.
또한, 본 발명의 실시예들에 의하면, 사물인터넷 플랫폼의 디바이스 디스크립터를 이용하여 사물인터넷 기기로부터 수신하는 데이터의 누락 여부를 쉽게 판단할 수 있다.
또한, 본 발명의 실시예들에 의하면, 사물인터넷 플랫폼의 디바이스 디스크립터를 이용하여 사물인터넷 기기로부터 수신하는 데이터의 오류 여부를 쉽게 판단할 수 있다.
또한, 본 발명의 실시예들에 의하면, 사물인터넷 플랫폼의 디바이스 디스크립터를 이용하여 사물인터넷 기기로부터 수신하는 데이터를 일괄적으로 관리할 수 있으므로 공통의 특성을 가지는 디바이스에 대한 사물인터넷 서비스 개발시 개발 시간을 줄일 수 있다.
도 1은 본 실시예에 따른 사물 인터넷 플랫폼 시스템의 구조를 개략적으로 나타낸 블록도이다.
도 2는 본 실시예의 일 측면에 따른 사물 인터넷 기기의 구성을 나타낸 블록도이다.
도 3은 본 실시예의 일 측면에 따른 사물 인터넷 플랫폼 서버의 구성을 나타낸 블록도이다.
도 4는 본 실시예의 일 측면에 따른 사물 인터넷 플랫폼 시스템에서의 룰 엔진 기반 사물 인터넷 기기 제어 방법을 나타낸 흐름도이다.
도 5는 본 실시예의 일 측면에 따른 사물 인터넷 플랫폼 시스템에서의 어플리케이션 서버에 의한 사물 인터넷 기기 제어 방법을 나타낸 흐름도이다.
도 6은 본 실시예의 다른 측면에 따른 사물인터넷 플랫폼 서버를 예시한 블록도이다.
도 7은 본 실시예의 다른 측면에 따른 사물인터넷 시스템의 구조를 상세하게 나타낸 블록도이다.
도 8은 본 실시예의 다른 측면에 따른 사물인터넷 플랫폼 서비스 제공 방법을 나타낸 흐름도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '...부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다.
도 1은 본 실시예에 따른 사물 인터넷 플랫폼 시스템의 구조를 개략적으로 나타낸 블록도이다.
도 1을 참조하면, 본 실시예에 따른 사물 인터넷 플랫폼 시스템(100)은, 통신망을 통해 상호 연동하는 사물 인터넷 기기(110), 사물 인터넷 플랫폼 서버(130) 및 어플리케이션 서버(150)를 포함하여 이루어질 수 있다.
이 때, 사물 인터넷 기기(110)가 통신망에 연결되는 것은 근거리 무선 통신 기술을 이용하여 무선 접속 장치(미도시)에 접속하고 통신망에 연결되는 경우를 포함하며, 근거리 무선 통신 기술은, 예컨대, Wi-Fi, Zigbee, Blutetooth, NFC(Near Field Communication) 방식의 통신 기술을 포함할 수 있다. 무선 접속 장치는 해당 근거리 무선 통신 표준에 따라서 통신 커버리지 내에 존재하는 사물 인터넷 기기(110)들을 탐색하고, 탐색한 사물 인터넷 기기(110)들과 연결 설정한 후, 사물 인터넷 플랫폼 서버(130)에 대한 연결 설정 및 데이터 송수신을 수행할 수 있다.
본 실시예에서, 사물 인터넷 플랫폼 시스템(100)의 각 구성이 상호 연동되는 통신망은 기존에 구축된 다양한 형태의 통신망으로서, 예를 들어, LAN(Local Area Network), WAN(Wide Area Network) 등의 폐쇄형 네트워크, 인터넷(Internet)과 같은 개방형 네트워크뿐만 아니라, CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), GSM(Global System for Mobile Communications), LTE(Long Term Evolution) 등의 이동통신망과, Wi-Fi 망 등, 현재 이용 가능하거나 향후 구현될 차세대 네트워크 및 컴퓨팅 네트워크를 통칭하는 개념이다.
사물 인터넷 기기(110)는, 센서 기능 및 통신 기능을 내장하고 통신망에 연결되어 데이터를 송수신할 수 있는 기기로서, 가전제품, 모바일 장비, 웨어러블 컴퓨터 등 다양한 임베디드 시스템으로 구현될 수 있다. 이러한 사물 인터넷 기기(110)는 통신망을 통해 사물 인터넷 플랫폼 서버(130)에 접속하고, 상태 정보 혹은 센싱 정보 등과 같은 데이터를 사물 인터넷 플랫폼 서버(130)로 전송하여 사물 인터넷 플랫폼 서버(130)로부터의 제어 명령에 따라서 소정 기능을 수행한다. 이 때, 사물 인터넷 기기(110)는 근거리 무선 통신을 수행하는 무선 접속 장치(미도시)에 접속하여 연결 설정을 수행한 후, 무선 접속 장치를 통해서 통신망 및 사물 인터넷 플랫폼 서버(130)에 접근할 수 있다.
사물 인터넷 플랫폼 서버(130)는 사물 인터넷 기반의 서비스를 제공하는 플랫폼 장치로서, 사물 인터넷 기기(110)의 등록 및 인증을 수행하고, 사물 인터넷 기기(110)의 데이터를 수집하여 관리하며, 사물 인터넷 기기(110)를 제어하는 등의 기능을 수행할 수 있다. 이러한 사물 인터넷 플랫폼 서버(130)에서 제공되는 기능을 이용하여 사물 인터넷 서비스의 개발자는 사물 인터넷을 이용한 각종 서비스를 개발할 수 있다. 또한, 사용자는 사물 인터넷 서비스를 위한 사물 인터넷 기기(110)의 연결 및 동작 제어 등을 사물 인터넷 플랫폼 서버(130)를 통해 관리하고 모니터링할 수 있다.
어플리케이션 서버(150)는 사물 인터넷 플랫폼 서버(130)와 연결되어, 사물 인터넷 플랫폼 서버(130)로부터 전달되는 사물 인터넷 기기(110)의 각종 정보를 이용하여 어플리케이션 별로 고유 서비스를 관리, 제어하는 역할을 수행한다. 이러한 어플리케이션 서버(150)는 복수 개 존재할 수 있으며, 각 서버를 통해 스마트 홈, 스마트 카 등 다양한 어플리케이션 서비스를 제공할 수 있다. 즉, 본 발명의 어플리케이션 서버(150)는 사물 인터넷 기기(110)의 각종 정보를 사물 인터넷 플랫폼 서버(130)를 거쳐 수집하고, 이에 대응하는 제어 정보를 사물 인터넷 플랫폼 서버(130)를 통해 사물 인터넷 기기(110)로 전송한다.
도 2는 본 실시예의 일 측면에 따른 사물 인터넷 기기의 구성을 나타낸 블록도이다.
도 2를 참조하면, 사물 인터넷 기기(110)는 저장부(210), 제어부(230) 및 무선 통신부(250)를 포함할 수 있다. 도 2에 도시된 각 구성요소는 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
저장부(210)는 사물 인터넷 기기(110)의 동작에 필요한 프로그램 및 데이터를 저장한다. 저장부(210)는 사물 인터넷 기기(110)에서 소정 주기로 수집하는 센싱 정보나 상태 정보와 같은 데이터를 저장할 수 있다. 또한, 저장부(210)는 사물 인터넷 기기(110)에서 센싱 정보나 상태 정보의 수집 및 전송 등의 처리를 수행하기 위한 프로그램을 저장할 수 있다.
제어부(230)는 사물 인터넷 기기(110)를 제어하기 위한 수단으로서, 프로세서를 포함하여, 사물 인터넷 기기(110)가 본 실시예에 따른 특징을 구현하도록 설계된 컴퓨터 프로그램을 실행시켜, 사물 인터넷 플랫폼 서버(130)와의 연동을 통한 센싱 정보 및 상태 정보의 수집 및 전송, 원격 제어 명령 실행을 처리할 수 있다.
무선 통신부(250)는 통신망을 통해 데이터를 송수신하기 위한 구성으로서, 유선 방식 및 무선 방식뿐만 아니라 다양한 통신 방식을 통해서 데이터를 송수신할 수 있다. 무선 통신부(250)는 통신망을 통해 사물 인터넷 플랫폼 서버(130)와 통신 세션을 설정하고, 이를 통해서 사물 인터넷 서비스에 필요한 데이터 송수신을 수행할 수 있다.
본 발명의 일 실시예에서, 사물 인터넷 기기(110)가 통신망에 연결되기 위해 무선 통신부(250)가 근거리 무선 통신 방식으로 무선 접속 장치에 접속되어 데이터를 송수신할 수 있다. 예를 들어, Wi-Fi, Zigbee, Bluetooth와 같은 근거리 무선 통신 표준에 따라서 탐색, 인증 및 결합 과정을 통해 무선 접속 장치에 연결된 후, 무선 접속 장치와의 데이터를 송수신할 수 있다.
도 3은 본 실시예의 일 측면에 따른 사물 인터넷 플랫폼 서버의 구성을 나타낸 블록도이다.
도 3을 참조하면, 사물 인터넷 플랫폼 서버(130)는 통신부(310), 제어부(320), 섀도우 디바이스 관리부(330), 섀도우 디바이스(340), 룰 엔진(350) 및 사용자 인터페이스부(360)를 포함할 수 있다. 도 3에 도시된 각 구성요소는 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
통신부(310)는 통신망을 통해 데이터를 송수신하기 위한 구성으로서, 유선 방식 및 무선 방식뿐만 아니라 다양한 통신 방식을 통해서 데이터를 송수신할 수 있다. 통신부(310)는 통신망을 통해 접근하는 사물 인터넷 기기(110) 또는 어플리케이션 서버(150)와 통신 세션을 설정하고, 이를 통해서 사물 인터넷 기기(110) 혹은 사용자 어플리케이션 서버(150)와 데이터를 송수신할 수 있다.
제어부(320)는 사물 인터넷 플랫폼 서비스 전반을 제어하기 위한 구성으로, 서비스 알고리즘에 따라서 다수의 사물 인터넷 기기(110)를 등록하고, 등록된 사물 인터넷 기기(110)로부터 전송된 데이터의 관리 및 처리를 수행할 수 있다. 또한, 어플리케이션 서버(150)의 요청에 따라서 데이터를 검색하여 제공하거나, 수신된 명령어를 해당 사물 인터넷 기기(110)에 전달될 수 있도록 섀도우 디바이스 관리부(330)의 데이터의 송수신을 제어한다. 또한, 제어부(320)는 보안을 위해 사물 인터넷 기기(110) 및 어플리케이션 서버(150)에 대한 인증 및 요청에 대한 권한을 확인하고, 확인된 권한에 따라서 사물 인터넷 기기(110) 및 어플리케이션 서버(150)로부터 전송된 요청이나 데이터를 처리한다.
섀도우 디바이스 관리부(330)는 사물 인터넷 기기(110)와 섀도우 디바이스(340)간의 매칭 정보를 관리하고, 사물 인터넷 기기(110)와 대응되는 복수의 섀도우 디바이스(340)에 대해서 각각 데이터를 저장하여 관리할 수 있다. 사물 인터넷 플랫폼 서버(130)에 사물 인터넷 기기(110)의 연결 요청이 발생하면, 섀도우 디바이스 관리부(330)는 대응되는 섀도우 디바이스(340)를 생성한다. 섀도우 디바이스 관리부(330)는 사물 인터넷 기기(110)로부터 전송된 데이터를 대응되는 섀도우 디바이스(340)에 저장하고, 어플리케이션 서버(150)의 요청에 따라 데이터를 검색하여 제공한다. 또한, 어플리케이션 서버(150)를 통한 사물 인터넷 기기(110)에 대한 제어 명령이 있는 경우, 제어 명령에 대한 정보를 섀도우 디바이스(340)에 저장하고, 섀도우 디바이스(340)에 저장된 제어 명령 정보를 사물 인터넷 기기(110)로 전송될 수 있도록 한다.
또한, 섀도우 디바이스 관리부(330)는 섀도우 디바이스(340)에 데이터를 저장하기 위하여 섀도우 디바이스(340)에 기 저장된 데이터 및 새롭게 저장할 데이터(히스토리 데이터)를 룰 엔진(350)에 정의된 룰에 따라 가공하여 저장할 수 있다. 섀도우 디바이스 관리부(330)는 사용자가 지정한 룰에 따라 히스토리 데이터에 대한 데이터 집계(data aggregation) 처리를 통해 데이터를 축약하여 저장할 수 있다. 예컨대, 일정 시간 동안의 상태 정보를 종합하여 최대값, 최소값, 평균값, 카운트 값, 분산, 시간대별 평균값, 데이터 그룹에 대한 대표값 등의 통계값을 섀도우 디바이스(340)에 저장하도록 처리할 수 있다. 섀도우 디바이스(340)에 히스토리 데이터에 대한 로우 데이터를 그대로 저장하는 경우 저장 공간이 많이 필요하고 데이터 전달을 위한 프로세싱 비용이 많이 들기 때문에, 섀도우 디바이스 관리부(330)에서는 룰 엔진(350)을 통해 데이터를 처리하고 섀도우 디바이스(340)에 저장할 수 있다.
섀도우 디바이스(340)는 물리적 디바이스 또는 가상 디바이스와 일대일로 매핑되어 서버상에 존재하는 논리적 엔티티로서, 등록된 사물 인터넷 기기(110)와 일대일 대응되어 존재한다. 이 때, 사물 인터넷 기기(110)는 물리적인 디바이스뿐만 아니라 가상 디바이스를 포함할 수 있으며, 따라서, 플랫폼 상에서 물리적인 디바이스 없이 섀도우 디바이스(340)만 존재하는 것도 가능하다. 섀도우 디바이스(340)는 사물 인터넷 기기(110)의 현재 상태와 항상 동기화되어 존재하며, 사물 인터넷 기기(110)의 현재 상태 정보는 물론 히스토리 기반의 정보를 저장할 수 있다. 섀도우 디바이스(340)는 사물 인터넷 기기(110)의 상태 정보를 수신하여 저장할 수 있으며, 나아가 상태 정보가 업데이트될 때마다 기 저장된 정보를 유지한채 업데이트된 상태 정보를 누적하여 저장할 수도 있다.
또한, 섀도우 디바이스(340)는 사물 인터넷 기기(110)에 전달되는 제어 명령에 대한 정보를 저장한다. 사물 인터넷 플랫폼 서버(130)에서는 어플리케이션 서버(150)의 요청이 있거나 룰 엔진(350)에 정의된 룰 조건이 만족되는 경우 사물 인터넷 기기(110)에 제어 명령을 전달할 수 있는데, 이 때, 섀도우 디바이스(340)는 사물 인터넷 기기(110)에 전달되는 제어 명령 정보 및 사물 인터넷 기기(110)에서 제어 명령을 수행한 결과를 저장한다. 또한, 어플리케이션 서버(150)로부터 사물 인터넷 기기(110)에 대한 제어 요청이 있는 경우에도 마찬가지로 제어 명령 정보 및 제어 결과를 저장할 수 있다.
즉, 섀도우 디바이스(340)는 사물 인터넷 플랫폼 서버(130)에 구현되는 사물 인터넷 기기(110)에 대응되는 논리적 사물 인터넷 기기로, 사물 인터넷 기기(110)의 현재 상태 정보, 과거의 상태 정보 및 사물 인터넷 기기(110)가 전달받거나 수행한 제어 명령을 모두 저장하고 있는 구성에 해당한다. 사물 인터넷 플랫폼을 통해 사물 인터넷 서비스를 개발하는 개발자나 사물 인터넷 서비스를 사용하는 사용자는 사물 인터넷 기기(110) 또는 어플리케이션 서버(150)를 통해 사물 인터넷 서비스를 모니터링하고 제어하는데, 이 때, 사물 인터넷 플랫폼 서버(130)는 단순히 사물 인터넷 기기(110)와 어플리케이션 서버(150)간에 데이터를 전달하는 역할만 수행하는 것이 아니라, 실제 사물 인터넷 기기(110)의 상태 정보 및 제어 정보를 매칭되는 섀도우 디바이스(340)에 저장하고 관리하게 된다.
또한, 사물 인터넷 기기(110)가 일시적으로 인터넷에 연결되어 있지 않는 상태라 하더라도, 섀도우 디바이스(340)에서는 사물 인터넷 기기(110)의 상태 정보를 저장하고 있으므로 어플리케이션 서버(150)로부터 데이터 요청이 있는 경우에 데이터를 제공할 수 있으며, 사물 인터넷 기기(110)의 제어 명령이 있는 경우에도 이를 저장하고 있다가 사물 인터넷 기기(110)가 다시 인터넷에 연결될 때 전달할 수 있기 때문에 사물 인터넷 기기(110)의 인터넷 접속이 불안정하더라도 사물 인터넷 서비스의 안정적인 운영이 가능하다.
룰 엔진(350)은 미리 정의된 룰에 따라 데이터를 자동으로 처리하는 기능을 제공한다. 룰 엔진(350)은 섀도우 디바이스(340)에 저장된 데이터를 기반으로 다양한 룰을 설정할 수 있는 기능을 제공하며, 사용자가 설정한 룰에 따라 특별한 입력 없이도 여러 동작을 스스로 수행할 수 있다.
예컨대, 일정 기간 동안의 데이터가 특정 값 이하를 반복하는 경우 룰에 설정되어 있는 동작을 자동으로 수행하게 할 수 있다. 이러한 동작은 사용자에게 알람을 제공하거나 디바이스를 재시작하도록 제어 명령을 내리는 것 등을 포함할 수 있다.
본 실시예에서, 룰 엔진(350)은 사물 인터넷 기기(110)의 현재 상태 데이터뿐 아니라 히스토리 데이터를 이용할 수 있기 때문에, 다양한 데이터를 이용한 룰 설정이 가능하며, 사물 인터넷 플랫폼 서버(130) 자체에서 실시간으로 광범위한 데이터 처리를 제공할 수 있게 된다.
예컨대, 사물 인터넷 기기(110)의 히스토리 데이터를 이용하여 최근 1시간 평균값에서 벗어나는 데이터가 들어오는 경우에 알람을 주도록 룰을 설정하거나, 사물 인터넷 기기(110)를 그룹화하여 그룹 내의 사물 인터넷 기기(110)에 대해 지난 하루 동안의 최대값의 10%를 벗어나는 데이터가 들어오는 경우에는 특정 제어 명령을 내리는 룰을 설정할 수 있다.
기존의 사물 인터넷 플랫폼 시스템의 경우, 사물 인터넷 플랫폼 서버에서는 사물 인터넷 기기의 현재 상태 정보만을 획득하여 저장하고 있기 때문에 내장된 룰 엔진에서는 현재 상태 정보를 이용한 간단한 데이터 처리만 수행할 수 있었고, 복잡하고 다양한 서비스를 제공하기 위해서는 어플리케이션 서버에 이러한 데이터의 저장 및 처리 기능을 별도로 구현하는 것이 일반적이었다. 본 실시예에 따른 사물 인터넷 플랫폼 시스템의 경우, 사물 인터넷 기기의 히스토리 데이터를 이용할 수 있어 룰 엔진에 히스토리 데이터를 이용한 룰 설정이 가능하게 되므로, 이러한 기능이 어플리케이션 서버에 별도로 구현되지 않더라도 사물 인터넷 플랫폼 서버 자체에서 다양한 형태의 데이터 처리를 수행할 수 있다.
사용자 인터페이스부(360)는 사용자 또는 개발자에게 사물 인터넷 서비스에 대한 기본 정보 및 프로토콜 정보를 입력하거나 선택할 수 있는 인터페이스를 제공한다. 사용자 인터페이스부(360)는 사용자 또는 개발자가 통신 서버나 프로토콜을 정의할 수 있는 사용자 인터페이스 화면을 제공한다. 이러한 사용자 인터페이스 화면은 프로그래밍을 모르는 일반 사용자가 체크 박스와 체크 리스트를 통하여 통신 서버 모듈을 구동하고 IoT 단말과 서버간 인터페이스를 생성할 수 있다. 이 때, 사용자 인터페이스(UI) 화면은 사용자가 단순한 클릭만으로 서버 및 프로토콜에 대한 모든 설정을 할 수 있도록 구성된다.
도 4는 본 실시예의 일 측면에 따른 사물 인터넷 플랫폼 시스템에서의 룰 엔진 기반 사물 인터넷 기기 제어 방법을 나타낸 흐름도이다.
도 4를 참조하면, 사물 인터넷 기기의 연결 요청(S401)이 있는 경우, 사물 인터넷 플랫폼 서버는 대응되는 섀도우 디바이스를 생성한다(S402). 이 때, 사물 인터넷 기기는 물리적인 디바이스뿐만 아니라 가상 디바이스를 포함할 수 있다. 섀도우 디바이스는 물리적 디바이스 또는 가상 디바이스와 일대일로 매핑되어 서버상에 존재하는 논리적 엔티티로, 사물 인터넷 기기와 일대일 대응되어 존재한다. 본 실시예에서, 섀도우 디바이스는 사물 인터넷 기기의 상태 정보를 수신하여 저장하고, 바람직하게는, 상태 정보가 업데이트될 때마다 기 저장된 정보를 유지한채 업데이트된 상태 정보를 누적하여 저장한다. 단계 S402에서 섀도우 디바이스를 생성하는 과정은, 사물 인터넷 기기의 연결 요청이 있는 최초 1회에만 이루어진다.
사물 인터넷 서비스의 개발자 또는 사용자가 어플리케이션 서버를 통해 서비스 운용을 위한 룰 조건을 설정한다(S403). 룰 엔진은 이렇게 미리 정의된 룰 조건에 따라 데이터를 자동으로 처리하는 기능을 제공하는 구성이다. 사물 인터넷 플랫폼 서버의 룰 엔진에서는 섀도우 디바이스에 저장된 상태 정보를 이용하여 룰 조건 만족 여부를 판단할 수 있다.
예컨대, 사물 인터넷 기기의 히스토리 데이터를 이용하여 최근 1시간 평균값에서 벗어나는 데이터가 들어오는 경우에 알람을 주도록 룰을 설정하거나, 사물 인터넷 기기를 그룹화하여 그룹 내의 사물 인터넷 기기에 대해 지난 하루 동안의 최대값의 10%를 벗어나는 데이터가 들어오는 경우에는 특정 제어 명령을 내리는 룰을 설정할 수 있다.
룰 엔진에서 사물 인터넷 기기의 히스토리 데이터를 이용할 수 있기 때문에, 다양한 데이터를 이용한 룰 설정이 가능하며 이러한 룰 엔진을 통해 개발자는 어플리케이션 서버를 거쳐 데이터를 처리하지 않고도 다양한 서비스를 제공할 수 있다.
사물 인터넷 기기로부터 데이터가 전송(S404)되어 사물 인터넷 플랫폼 서버에 수신되면 플랫폼 서버에서는 섀도우 디바이스에 수신된 데이터를 저장한다(S405). 단계 S405에서, 기 저장된 데이터 및 새롭게 저장할 데이터를 룰 엔진에 정의된 룰에 따라 가공하여 저장할 수 있다. 사용자가 지정한 룰에 따라 히스토리 데이터에 대한 데이터 집계(data aggregation) 처리를 통해 데이터를 축약하여 저장할 수 있다. 예컨대, 일정 시간 동안의 상태 정보를 종합하여 최대값, 최소값, 평균값, 카운트 값, 분산, 시간대별 평균값, 데이터 그룹에 대한 대표값 등의 통계값을 섀도우 디바이스에 저장하도록 처리할 수 있다. 섀도우 디바이스에 히스토리 데이터에 대한 로우 데이터를 그대로 저장하는 경우 저장 공간이 많이 필요하고 데이터 전달을 위한 프로세싱 비용이 많이 들기 때문에, 섀도우 디바이스 관리부는 룰 엔진을 통해 데이터를 처리하여 섀도우 디바이스에 저장할 수 있다.
사물 인터넷 플랫폼 서버 내 룰 엔진에서는 섀도우 디바이스에 저장된 데이터가 기설정된 룰 조건을 만족하는지 여부를 판단하고(S406), 룰 조건을 만족하면 사물 인터넷 기기에 제어를 명령(S407)하는 것과 같은 기설정된 동작을 수행한다. 사물 인터넷 기기가 제어 명령에 따라 명령을 수행하고, 제어 결과를 사물 인터넷 플랫폼 서버에 전송하면(S408), 사물 인터넷 플랫폼 서버는 이러한 제어 결과를 섀도우 디바이스에 저장한다(S409).
섀도우 디바이스는 사물 인터넷 기기의 현재 상태 정보, 과거의 상태 정보 및 제어 명령을 저장하고 있는 구성으로, 단계 S405 및 단계 S409는 사물 인터넷 기기로부터의 데이터 전송 또는 사물 인터넷 기기로의 제어 명령이 있을 때마다 반복적으로 수행된다. 본 단계들을 통해 사물 인터넷 기기와 섀도우 디바이스는 항상 동기화되어 존재할 수 있고, 섀도우 디바이스는 히스토리 데이터 및 현재까지 발생한 제어 명령에 대한 정보를 저장할 수 있다.
어플리케이션 서버로부터 사물 인터넷 기기 관련 정보 요청이 있으면(S410), 사물 인터넷 플랫폼 서버는 섀도우 디바이스에 저장되어 있는 사물 인터넷 기기 관련 정보를 어플리케이션 서버로 전송한다(S411). 사물 인터넷 플랫폼 서버에서는 사물 인터넷 기기의 현재 상태 정보를 전송받거나 요청하는 과정 없이 섀도우 디바이스에 저장되어 있는 정보를 전송한다.
기존의 사물 인터넷 플랫폼 시스템의 경우, 내장된 룰 엔진에서 현재 상태 정보를 이용한 간단한 데이터 처리만 수행할 수 있었고, 복잡하고 다양한 서비스를 제공하기 위해서는 어플리케이션 서버에서 이를 구현하는 것이 일반적이었다. 본 실시예에 따른 사물 인터넷 플랫폼 시스템의 경우, 사물 인터넷 기기의 히스토리 데이터를 플랫폼 상의 섀도우 디바이스가 저장하고 있어 이를 이용할 수 있으므로, 룰 엔진에 히스토리 데이터를 이용한 룰 설정이 가능하게 되므로 어플리케이션 서버를 거치지 않고도 사물 인터넷 플랫폼 서버 자체에서 다양한 형태의 데이터를 처리할 수 있다.
도 5는 본 실시예의 일 측면에 따른 사물 인터넷 플랫폼 시스템에서의 어플리케이션 서버에 의한 사물 인터넷 기기 제어 방법을 나타낸 흐름도이다.
이하의 설명에서 도 4를 참조하여 설명한 것과 동일한 내용은 생략한다.
도 5를 참조하면, 사물 인터넷 기기의 연결 요청(S501)이 있는 경우, 사물 인터넷 서비스 서버는 대응되는 섀도우 디바이스를 생성한다(S502). 단계 S502에서 섀도우 디바이스를 생성하는 과정은, 사물 인터넷 기기의 연결 요청이 있는 최초 1회에만 이루어진다. 사물 인터넷 기기로부터 데이터가 전송(S503)되어 사물 인터넷 플랫폼 서버에 수신되면 플랫폼 서버에서는 섀도우 디바이스에 수신된 데이터를 저장한다(S504). 섀도우 디바이스는 단계 S503 및 단계 S504를 통해 사물 인터넷 디바이스와 항상 동기화되어 존재할 수 있고, 히스토리 데이터를 저장할 수 있다.
어플리케이션 서버에서는 사물 인터넷 플랫폼 서버에 수신된 데이터를 기반으로 사물 인터넷 기기에 대한 제어 명령 송신을 요청한다(S507). 사물 인터넷 플랫폼 서버는 섀도우 디바이스에 이러한 제어 명령을 저장하고(S508), 사물 인터넷 기기에 제어 명령을 전송한다(S509). 사물 인터넷 기기가 제어 명령에 따라 명령을 수행하고, 제어 결과를 사물 인터넷 플랫폼 서버에 전송하면(S510), 사물 인터넷 플랫폼 서버는 이러한 제어 결과를 섀도우 디바이스에 저장한다(S511). 어플리케이션 서버에서 제어 결과 조회를 요청하는 경우(S512), 단계 S505의 데이터 조회 요청 과정과 마찬가지로 섀도우 디바이스에 저장된 데이터를 전송한다(S513).
사물 인터넷 기기가 일시적으로 인터넷에 연결되어 있지 않는 상태라 하더라도, 섀도우 디바이스에서는 사물 인터넷 기기의 상태 정보를 저장하고 있으므로 어플리케이션 서버로부터 데이터 요청이 있는 경우에 제공할 수 있으며, 사물 인터넷 기기의 제어 명령이 있는 경우에도 이를 저장하고 있다가 사물 인터넷 기기가 다시 인터넷에 연결될 때 전달할 수 있기 때문에 사물 인터넷 기기의 인터넷 접속 여부에 관계없이 사물 인터넷 서비스의 안정적인 운영이 가능하다.
도 6은 본 실시예의 다른 측면에 따른 사물인터넷 플랫폼 서버의 구성을 나타낸 블록도이다.
도 6을 참조하면, 본 실시예의 다른 측면에 따른 사물인터넷 플랫폼 서버(130)는 통신부(610), 등록부(630) 및 가상화부(650)를 포함할 수 있다.
통신부(610)는 통신망을 통해 유선, 무선, 기타 다양한 통신 방식으로 데이터를 송수신할 수 있다.
통신부(610)는 통신망을 통해 접근하는 사물인터넷 기기(110) 또는 어플리케이션 서버(150)와 통신 세션을 설정하고, 통신 세션을 통해 사물인터넷 기기(110) 또는 어플리케이션 서버(150)와 데이터를 송수신하도록 구성될 수 있다.
등록부(630)는 사물인터넷 기기(110)의 등록 및 인증을 수행하고, 공통의 특성을 가지는 사물인터넷 기기(110)의 공통의 특성에 대한 명세를 등록하고 관리할 수 있다.
이 때 공통의 특성을 가지는 사물인터넷 기기(110)의 공통의 특성에 대한 명세를 이하 '디바이스 디스크립터(631)(Device Descriptor)'라고 한다.
가상화부(650)는 사물인터넷 플랫폼 서버(130) 상에 사물인터넷 기기(110)에 대응되는 섀도우 디바이스(Shadow Device)를 생성하고, 사물인터넷 기기(110)로부터 수신된 데이터에 기초하여 섀도우 디바이스의 상태를 업데이트할 수 있다.
가상화부(650)는 사물인터넷 기기(110)와 섀도우 디바이스간의 매칭 정보를 관리하고 사물인터넷 기기(110)와 대응되는 복수의 섀도우 디바이스에 대해서 각각 데이터를 저장하여 관리할 수 있다. 사물인터넷 플랫폼 서버(130)에 사물인터넷 기기(110)의 연결 요청이 발생하면 가상화부(650)는 그에 대응되는 섀도우 디바이스를 생성한다. 가상화부(650)는 사물인터넷 기기(110)로부터 전송된 데이터를 대응되는 섀도우 디바이스에 저장하고, 어플리케이션 서버(150)의 요청에 따라 데이터를 검색하여 제공한다. 또한 어플리케이션 서버(150)를 통한 사물인터넷 기기(110)에 대한 제어 명령이 있는 경우 제어 명령에 대한 정보를 섀도우 디바이스에 저장하고 섀도우 디바이스에 저장된 제어 명령 정보를 사물인터넷 기기(110)로 전송될 수 있도록 한다.
본 실시예의 다른 측면에 따른 사물인터넷 플랫폼 서버(130)는 검사부(670)를 더 포함할 수 있다.
검사부(670)는 디바이스 디스크립터(631)에 기초하여 사물인터넷 기기(110)로부터 수신된 데이터의 유효성을 검사할 수 있다.
디바이스 디스크립터
(1) 디바이스 디스크립터의 구성
디바이스 디스크립터(631)는, 공통의 특성을 가지는 사물인터넷 기기(110)에 공통된 센서에 대한 정보; 공통의 특성을 가지는 사물인터넷 기기(110)에 공통된 제어 가능한 모듈에 대한 정보; 공통의 특성을 가지는 사물인터넷 기기(110)가 사물인터넷 플랫폼 서버(130)로 전송하는 공통된 데이터의 의미, 포맷, 주기성 여부, 전송 주기, 수치 범위, 변동 가능 범위 중 하나 이상에 대한 정보를 포함할 수 있다.
디바이스 디스크립터(631)는 디바이스가 전송하는 데이터의 의미는 물론 포맷도 지정할 수 있도록 되어 있어 사용자는 원하는 포맷을 사용하여 데이터를 전송할 수 있다. 특히 전송 데이터 사이즈를 줄이는 것이 중요한 사물인터넷 서비스 특성상 json 형태 뿐 아니라 csv, offset 기반의 포맷으로 데이터 사이즈를 줄여 전송할 수 있으며 디바이스 디스크립터에 데이터의 내용이 포함되어 있기 때문에 이 경우에도 사물인터넷 플랫폼에서 데이터의 의미에 기반한 서비스를 제공하는 것이 가능하다.
사물인터넷 기기(110)는 하나 이상의 센서와 하나 이상의 제어 가능한 모듈을 포함할 수 있다. 센서는 온도 센서, 습도 센서, GPS(Global Positioning System) 등일 수 있고, 제어 가능한 모듈은 모터, 엑튜에이터, 냉각팬, 열선 등일 수 있다.
공통의 특성을 가지는 사물인터넷 기기(110)는 구비하고 있는 센서와 제어 가능한 모듈의 종류가 유사하므로 플랫폼 단에서 공통의 특성을 가지는 사물인터넷 기기(110)에 공통된 특성에 대하여 정의함으로써 사물인터넷 서비스 개발자가 공통의 특성을 가지는 사물인터넷 기기(110)에 제공되는 서비스를 용이하게 개발할 수 있다.
디바이스 디스크립터(631)는 공통의 특성을 갖는 사물인터넷 기기(110)를 대표하는 논리적인 틀로서 단순히 사물인터넷 기기(110)에 대한 명세만 가지고 있는 것만 아니라 사물인터넷 기기(110)에 연결된 센서와 액튜에이터, 전송 데이터의 의미와 포맷, 주기 등의 모든 정보를 가지며, 공통의 특성을 가지는 사물인터넷 기기(110)의 논리적 대표가 되는 요소이다.
사물인터넷 서비스 개발자는 사물인터넷 플랫폼에서 제공하는 디바이스 디스크립터(631)의 형식에 맞추어 사물인터넷 서비스에서 이용할 디바이스에 대한 정보를 작성할 수 있다. 디바이스 디스크립터(631)에는 Name, Device information, Attributes, Telemetries 등이 포함될 수 있다.
Name은 디바이스 디스크립터(631)의 이름을 의미한다.
Device information은 사물인터넷 기기(110) 자체에 관한 정보로서, 제조사, 메모리, 모델, 버전, 게이트웨이, 연결된 센서에 대한 정보, 제어 가능한 모듈에 대한 정보 등을 포함할 수 있다.
Attributes는 사물인터넷 기기(110)가 전송하는 정보 중 주기성이 없는 최신의 상태 정보를 의미한다. Attributes는 사물인터넷 서비스 개발자가 서비스 특성에 맞춰서 스스로 정의할 수 있으며, 이름, 타입, 시멘틱(Semantic, 이 정보가 실제로 의미하는 의미에 대한 정의), 제어 가능 여부, 데이터 전송 포맷 등을 정의할 수 있다.
Telemetries는 사물인터넷 기기(110)가 전송하는 정보 중 주기성을 갖는 데이터를 의미한다. Attributes와 마찬가지로 Telemetries도 사물인터넷 서비스 개발자가 서비스 특성에 맞춰 스스로 정의할 수 있으며, 이름, 타입, 시멘틱, 전송 주기 등을 정의할 수 있다.
히스토리가 의미가 없고 최신 정보만 의미가 있는 데이터는 Attributes로 정의하는 것이 바람직하다. 예를 들어 사물인터넷 기기(110)의 위치 정보는 일반적으로 현재 디바이스의 위치만이 의미를 갖는 정보이므로 Attributes로 설정하여 사용하는 것을 추천한다. 물론 사물인터넷 기기(110)의 위치 변화에 대한 히스토리가 필요한 경우에는 사물인터넷 기기(110)가 전송하는 위치 정보를 Telemetries로 설정할 수 있다. 예컨대 트래킹 서비스라면 위치 정보 히스토리가 의미가 있으므로 주기적으로 전송할 필요가 있으며, 이 경우에는 위치정보는 Attributes가 아니라 Telemetries로 정의하는 것이 바람직하다.
주기성을 가지거나 히스토리 기록이 의미가 있는 데이터는 Telemetries로 정의하는 것이 바람직하다. 예컨대 사물인터넷 기기(110)의 온도 센서에서 측정된 온도 정보가 사물인터넷 플랫폼 서버(130)로 주기적으로 전송된다면 이러한 정보는 Telemetries 정보가 된다. 물론 제공하고자 하는 사물인터넷 서비스의 종류에 따라 사물인터넷 기기(110)의 온도 변화에 대한 히스토리가 불필요한 경우에는 사물인터넷 기기(110)가 전송하는 온도 정보를 Attributes로 설정할 수 있음은 물론이다.
(2) 디바이스 디스크립터의 예시
사물인터넷 서비스 개발자는 본 발명의 일 실시예에 따른 사물인터넷 플랫폼에서 정해진 룰에 따라 사물인터넷 기기(110)에 대한 상세한 정보를 서술하는 디바이스 디스크립터(631)를 작성할 수 있다.
다음은 디바이스 디스크립터(631)의 일례이다.
{ "name": "Air Conditioner",
"title": "에어 컨디셔너 디스크립터",
"description": "이 디바이스 디스크립터(631)는 에어 컨디셔너에 대한 명세를 담고 있는 디스크립터입니다.",
"info": {
"memory": 1024,
"model": "AU1024ZU17",
"manufacturer": "SKTelecom",
"type": "Air Conditioner" },
"data": {
"format": "csv",
"delimiter": "|",
"attributes": [{
"name": "switch",
"semantic": "power",
"writable": true,
"writableValues": ["on", "off"], },
{ "name": "temp",
"semantic": "temperature",
"writable": true,
"writableValues": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
"type": "number" } ],
"telemetries": [{
"name": "ts",
"semantic": "timestamp",
"interval": 60,
"type": "posix" },
{ "name": "temp",
"semantic": "temperature",
"interval": 60,
"type": "number" },
{ "name": "h",
"semantic": "humidity",
"interval": 60,
"type": "number" } ]
} }
(3) 디바이스 디스크립터의 설정
사물인터넷 서비스 개발자는 개발된 사물인터넷 서비스의 대상인 사물인터넷 기기(110)를 등록하면서 디바이스 디스크립터(631)를 선택할 수 있다. 즉, 어떤 사물인터넷 기기(110)가 사물인터넷 플랫폼 서버(130)에 등록될 때 해당 사물인터넷 기기(110)가 어떤 디바이스 디스크립터(631)에 속하는지 설정할 수 있다.
디바이스 디스크립터(631)에는 어떤 디바이스이며 센서와 액튜에이터는 어떤 것을 가지고 있는지, 수행할 수 있는 액션과 연결된 룰은 무엇이 있는지, 전송되는 데이터의 의미와 포맷, 주기는 무엇인지 등 디바이스에 대한 모든 정의를 가지고 있으며 동일 종류의 디바이스는 1개의 명세를 공동으로 참조하게 된다.
(4) 디바이스 디스크립터를 이용한 데이터 유효성 검사
디바이스 디스크립터(631)는 데이터 포맷에 대한 정의를 포함하고 있기 때문에 실제 데이터 값을 파악해서 바로 처리할 수 있는 기능을 제공하는 것도 가능하다. 실제 사물인터넷 기기(110)가 본 발명의 일 실시예에 따른 사물인터넷 플랫폼 서버(130)에 등록되는 경우에는 어떤 디바이스 디스크립터(631)에 해당하는지를 정의하게 되어 있고, 이에 따라 본 발명의 일 실시예에 따른 사물인터넷 플랫폼에서 실제 사물인터넷 기기(110)의 정보와 보내는 데이터에 대한 해석이 가능해지고, 그에 맞춰 다양한 기능들을 플랫폼 단에서 제공할 수 있게 된다.
일례로서, 본 발명의 일 실시예에 따른 사물인터넷 플랫폼 서버(130)는 검사부(670)를 추가로 포함할 수 있으며, 검사부(670)는 사물인터넷 기기(110)로부터 수신된 데이터의 유효성을 검사할 수 있다.
검사부(670)는 사물인터넷 기기(110)로부터 수신된 데이터가 디바이스 디스크립터(631)에 정의된 전송 주기마다 전송되지 않으면 데이터에 오류가 있거나 일부 데이터가 누락되었다고 판단할 수 있다.
또한 검사부(670)는 사물인터넷 기기(110)로부터 수신된 데이터가 디바이스 디스크립터(631)에 정의된 수치 범위 밖의 값을 가지면 데이터에 오류가 있다고 판단할 수 있다.
또한 검사부(670)는 사물인터넷 기기(110)로부터 수신된 데이터가 디바이스 디스크립터(631)에 정의된 포맷과 다른 포맷으로 전송되면 데이터에 오류가 있다고 판단할 수 있다.
또한 검사부(670)는 사물인터넷 기기(110)로부터 수신된 데이터가 디바이스 디스크립터(631)에 정의된 변동 가능 범위 이상으로 변동하면 데이터에 오류가 있다고 판단할 수 있다.
도 7은 본 실시예의 다른 측면에 따른 사물인터넷 시스템의 구조를 상세하게 나타낸 블록도이다.
도 7을 참조하면, 본 실시예의 다른 측면에 따른 사물인터넷 시스템(700)은 사물인터넷 기기(710), 사물인터넷 플랫폼 서버(730) 및 어플리케이션 서버(750)를 포함할 수 있다.
사물인터넷 기기(710)는 IoT(Internet of Things)에서 Thing을 의미하며, 본 발명의 일 실시예에서는 센서, 액튜에이터 등을 가지고 있는 노드와 여러 개의 노드가 연결되어 있는 게이트웨이를 의미한다.
사물인터넷 플랫폼 서버(730)는 사물인터넷 플랫폼이 구현된 서버로서 사물인터넷 서비스를 개발 및 운영하기 위한 다양한 기능을 제공한다.
디바이스 디스크립터(631)는 위에서 상세히 설명한 것과 같이 공통의 특성을 가지는 사물인터넷 기기(710)의 공통의 특성에 대한 명세를 의미한다. 디바이스 디스크립터(631)는 공통의 특성을 갖는 디바이스를 대표하는 논리적인 틀이 되며, 단순히 디바이스에 대한 명세만 가지고 있는 것이 아니라 명세, 연결된 센서와 액튜에이터, 전송 데이터의 의미와 포맷, 주기 등의 모든 정보를 가지고 연결된 디바이스의 논리적 대표가 되는 요소이다.
디바이스 디스크립터(631)가 공통의 특성을 갖는 디바이스를 대표한다면, 섀도우 디바이스는 물리적인 디바이스와 1:1로 매핑되어 각각의 디바이스가 사물인터넷 플랫폼 서버(730)상에 논리적으로 존재하는 형태가 된다. 섀도우 디바이스는 물리적인 디바이스 뿐만 아니라 가상 디바이스와도 매핑될 수 있다.
사물인터넷 서비스 사용자는 사물인터넷 서비스를 실제로 사용하는 사람을 의미하며, 사물인터넷 기기(710)를 소유하거나 사물인터넷 서비스를 이용할 수 있다.
사물인터넷 서비스 개발자는 사물인터넷 플랫폼을 활용하여 사물인터넷 서비스를 개발하는 사람을 의미하며, 사물인터넷 서비스 사용자와 동일할 수도 있고 그렇지 않을 수도 있다.
사물인터넷 플랫폼의 기본적인 기능은 사물인터넷 기기(710)의 데이터를 잘 전달 받아 어플리케이션 서버(750)로 넘겨주는 기능이다. 사물인터넷 플랫폼은 어플리케이션 서버(750)의 어플리케이션에서 내리는 제어 명령을 사물인터넷 기기(710)로 전달하는 기능부터 각종 사물인터넷 서비스를 만들기 위해 필요한 API, UI 편집 기능 등 저마다의 특성을 갖는 기능들을 추가로 제공하게 된다.
종래의 사물인터넷 플랫폼은 사물인터넷 기기(710)의 연결을 관리하고 데이터를 유실하지 않고 어플리케이션 서버(750)로 데이터를 전달하는 데 초점이 맞추어져 있다. 이러한 종래 기술의 경우 신뢰도 있게 데이터를 전달하는 기본 기능을 제공하는 데에는 무리가 없었지만 사물인터넷 데이터를 분석하고 추가적인 의미 있는 정보를 제공하기에는 데이터에 대한 명세를 알 수 없다는 단점이 있었다. 따라서 데이터 전달이나 정합성 체크, 데이터 분석 등을 수행하기 위해서는 어플리케이션 수준에서 이에 대한 추가 작업을 수행해야 하였다.
이에 비해 본 발명의 일 실시예에 따른 사물인터넷 플랫폼을 이용하면 사물인터넷 서비스 개발자가 사물인터넷 서비스에 필요한 정보를 디바이스 디스크립터(631)를 이용하여 손쉽게 처리하고 관리할 수 있다. 디바이스 디스크립터(631)는 단순히 사물인터넷 기기(710)에 대한 명세 뿐 아니라 전송되는 데이터의 종류와 포맷, 나아가 시멘틱까지 가지고 있기 때문에 사물인터넷 서비스 개발자는 이를 이용하여 다양한 서비스를 제공하는 것이 가능해진다.
디바이스 디스크립터(631)는 단순히 데이터를 전달하고 제어 명령을 내리는 것 외에 데이터를 수집하고 데이터 의미에 맞는 액션을 취할 수 있도록 제공하기 위한 기본 정보로 작동한다. 따라서 사물인터넷 서비스 개발자는 디바이스 디스크립터(631)를 이용하여 사물인터넷 서비스에 필요한 다양한 서비스들에 손쉽게 연결할 수 있으며, 여러 디바이스의 속성과 기능을 손쉽게 업데이트할 수 있을 뿐만 아니라, 이에 대한 관리와 서비스 연결이 간편해진다.
사물인터넷 서비스 개발자는 디바이스 디스크립터(631) 하나에 여러 개의 서비스를 연결할 수 있다. 예를 들어 디바이스 디스크립터(631) 하나를 정의하고 이 중 특정 센서 값에 원하는 룰을 설정하거나 전체 데이터를 룰 엔진(Rule Engine)을 통해 처리하고 데이터 분석 툴로 보낼 수도 있다. 디바이스 디스크립터(631) 기반의 설정을 통해 일정 기간 동안만 데이터를 외부로 보내는 것도 가능하다.
예를 들어 사물인터넷 서비스 개발자가 가스 AMI(Advanced Metering Infrastructure)와 관련된 사물인터넷 서비스를 만들고 있고, 공통의 특성을 갖는 검침기를 100개 설치한다고 가정하면, 먼저 검침기를 설명할 수 있는 디바이스 디스크립터(631)를 작성한다. 이후 실제 검침기를 사물인터넷 플랫폼에 등록할 때 어떤 디바이스 디스크립터(631)에 속하는지를 명시한다.
검침 데이터에 공통적으로 적용해야 하는 룰이나 특정 데이터를 분석 시스템으로 보내고 싶은 경우, 사물인터넷 서비스 개발자는 검침기를 일일이 지정하지 않고 디바이스 디스크립터(631) 기반의 설정이 가능하다. 예컨대 특정 디바이스 디스크립터(631)에 속하는 검침기에서 정보가 전송되면, 해당 디바이스 디스크립터(631)에 정의된 센서 정보를 기반으로 데이터를 해석해서 그 데이터를 처리할 수 있다.
이하, 디바이스 디스크립터(631)를 활용 사례를 설명한다.
디바이스 디스크립터의 활용
(1) 다양한 룰 엔진에 연결
디바이스 디스크립터(631)를 이용하면 사물인터넷 기기(710)에서 전송하는 데이터의 시멘틱을 알 수 있기 때문에 이를 이용하여 다양한 룰에 손쉽게 연결할 수 있다. 예를 들면 불쾌 지수가 70 이상이면 자동으로 에어컨이 작동하도록 하고 싶다면, 습도 센서에서 올리는 정보와 온도 센서에서 올리는 정보를 조합하여 불쾌 지수를 계산하고 제어 명령을 내리는 룰을 설정한다. 디바이스 디스크립터(631)에 시멘틱에 대한 정보가 포함되어 있으므로 어떤 형태로 데이터가 올라오더라도 룰 엔진에 손쉽게 연결하여 룰을 설정할 수 있다. 이에 대해 상세한 동작 형태를 설명하면 아래와 같다.
① 사물인터넷 서비스 개발자는 디바이스 디스크립터(631)를 기술하여 등록한다.
② 사물인터넷 기기(710)를 등록할 떄 어떤 디바이스 디스크립터(631)에 속하는지를 정의한다.
③ 실제 사물인터넷 기기(710)가 데이터를 전송하면 디바이스 디스크립터(631)를 통해 사물인터넷 플랫폼에서 데이터를 해석한다.
④ 특별한 센서 값에 따른 동작이 필요할 때 사물인터넷 서비스 개발자 또는 사용자가 그에 해당하는 룰을 정의한다. 위의 예에서는 온도와 습도 데이터를 조합하여 불쾌지수를 계산하고 그에 따른 액션을 수행하는 룰을 정의하게 된다.
⑤ 룰을 정의할 때 어떤 센서를 조합하여 불쾌지수를 계산할 것인지를 디바이스 디스크립터(631)에 정의된 센서를 지정하여 설정한다.
⑥ 데이터가 전송되면 사물인터넷 플랫폼은 디바이스 디스크립터(631)를 기반으로 데이터를 해석하고 룰에 맞춰 불쾌지수를 계산한 뒤 룰에 맞는 처리를 진행한다.
(2) 외부의 사물인터넷 데이터 분석 서비스에 연결
대부분의 데이터 분석 서비스는 schema가 있어야 가능하다. 사물인터넷 서비스의 경우 센서 디바이스의 파워, 가격, 통신료 등의 이슈로 인해 데이터를 최대한 줄여서 보내야 하므로 데이터에 schema가 정의되어 있지 않는 경우가 많다. 그러나 디바이스 디스크립터(631)를 이용하면 디바이스에서 보내는 데이터가 어떤 의미를 갖는지를 알 수 있기 때문에 손쉽게 외부 분석 서비스와의 연동이 가능해진다.
(3) 오작동 검사
사물인터넷 서비스에서 주기적으로 전송되는 센서 데이터가 누락되는 경우는 서비스 특성에 따라 큰 문제가 생길 수 있다. 본 발명의 일 실시예에 따른 사물인터넷 플랫폼의 디바이스 디스크립터(631)에는 센서의 데이터 전송 주기를 포함하고 있기 때문에 센서 데이터 누락을 플랫폼 단에서 체크할 수 있고 따라서 손쉽게 데이터 누락 또는 오작동을 확인할 수 있게 된다.
(4) 데이터 정합성 검사
디바이스 디스크립터(631)는 데이터의 의미와 포맷에 대한 정보을 동시에 가지고 있기 때문에 플랫폼 단에서 데이터 정합성을 체크할 수 있다. 예를 들어 시멘틱이 섭씨 온도로 정의되어 있는데 사물인터넷 기기(710)에서 '-300'이라는 데이터가 전송된다면 이것은 불가능한 값이기 때문에 오류가 발생한 데이터라는 것을 바로 알 수 있고, 플랫폼 단에서의 대응이 가능하다. 마찬가지로 약속된 포맷과 다른 포맷의 데이터가 전송될 때에도 오류가 발생한 데이터라는걸 바로 알 수 있고, 플랫폼 단에서의 대응이 가능하다.
(5) 디바이스 집합에 대한 서비스 연결 가능
동일한 디바이스 디스크립터(631)를 갖는 디바이스를 동일한 서비스에 연결하는 것이 가능하며, 따라서 플랫폼을 사용하는 사물인터넷 서비스 개발자는 더 쉽게 사물인터넷 서비스를 개발할 수 있다.
도 8은 본 실시예의 다른 측면에 따른 사물인터넷 플랫폼 서비스 제공 방법을 나타낸 흐름도이다.
도 8을 참조하면, 본 실시예의 다른 측면에 따른 사물인터넷 플랫폼 서비스 제공 방법은, 복수개의 디바이스의 공통의 특성에 대한 명세('디바이스 디스크립터(631)')를 등록하는 과정(S810), 사물인터넷 기기(710)로부터 연결 요청을 수신하는 과정(S820), 사물인터넷 기기(710)에 대응되는 섀도우 디바이스를 생성하는 과정(S830), 사물인터넷 기기(710)로부터 데이터를 수신하는 과정(S840) 및 사물인터넷 기기(710)로부터 수신한 데이터에 기초하여 섀도우 디바이스의 상태를 업데이트하는 과정(S850)을 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 사물인터넷 플랫폼 서비스 제공 방법은 사물인터넷 기기(710)로부터 데이터를 수신하는 과정과 섀도우 디바이스를 업데이트하는 과정 사이에, 디바이스 디스크립터(631)에 기초하여 사물인터넷 기기(710)로부터 수신한 데이터의 유효성을 판단하는 과정(S840)을 더 포함할 수 있다.
유효성을 판단하는 과정을 자세히 설명하면, 디바이스 디스크립터(631)에 전송 주기가 정의되어 있는 데이터가 상기 전송 주기마다 전송되지 않거나, 디바이스 디스크립터(631)에 수치 범위가 정의되어 있는 데이터가 상기 수치 범위 밖의 값을 가지거나, 디바이스 디스크립터(631)에 포맷이 정의되어 있는 데이터가 정의된 포맷과 다른 포맷으로 전송되거나, 디바이스 디스크립터(631)에 변동 가능한 범위가 정의되어 있는 데이터가 변동 가능한 범위 이상으로 변동하면 데이터에 오류가 있다고 판단할 수 있다.
그 밖에 전술한 내용과 중복되는 내용은 자세한 설명을 생략한다.
이상, 도 4, 도 5 및 도 8에서는 각 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 4, 도 5 및 도 8에 기재된 과정을 변경하여 실행하거나 하나 이상의 과정을 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 4, 도 5 및 도 8은 시계열적인 순서로 한정되는 것은 아니다.
도 4, 도 5 및 도 8에 기재된 본 실시예에 따른 사물인터넷 플랫폼 서비스 제공 방법은 애플리케이션(또는 프로그램)으로 구현되고 단말장치(또는 컴퓨터)로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 사물인터넷 플랫폼 서비스 제공 방법을 구현하기 위한 애플리케이션(또는 프로그램)이 기록되고 단말장치(또는 컴퓨터)가 읽을 수 있는 기록매체는 컴퓨팅 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은, 본 명세서에 그 전체가 참고로서 포함되는, 2017년 10월 19일자로 한국에 출원한 특허출원번호 제10-2017-0135919호 및 2017년 10월 27일자로 한국에 출원한 특허출원번호 제10-2017-0141491호에 대해 우선권을 주장한다.

Claims (18)

  1. 사물인터넷 플랫폼 서비스 제공 방법으로서,
    사물 인터넷 기기와 대응되는 섀도우 디바이스를 생성하는 과정;
    상기 사물 인터넷 기기의 상태 정보를 수신하여 상기 상태 정보가 업데이트될 때마다 상기 섀도우 디바이스에 저장하는 과정; 및
    상기 섀도우 디바이스에 저장된 상태 정보에 기반하여 기 설정된 동작을 수행하는 과정을 포함하는
    사물 인터넷 플랫폼 서비스 제공 방법.
  2. 제1항에 있어서,
    사용자로부터 사물 인터넷 기기에 대한 제어 명령을 수신하면 상기 제어 명령을 상기 섀도우 디바이스에 저장하고, 상기 섀도우 디바이스에 저장된 제어 명령을 대응되는 사물 인터넷 기기에 전송하는 과정을 더 포함하는
    사물 인터넷 플랫폼 서비스 제공 방법
  3. 제1항에 있어서,
    상기 기 설정된 동작을 수행하는 과정은,
    상기 저장된 상태 정보를 이용하여 룰 엔진에 기반한 동작을 수행하는 것을 특징으로 하는
    사물 인터넷 플랫폼 서비스 제공 방법.
  4. 제1항에 있어서,
    상기 섀도우 디바이스에 저장하는 과정은,
    상기 섀도우 디바이스에 기 저장된 상태 정보와 업데이트된 상태 정보를 이용하여 룰 엔진에 정의된 룰에 따라 가공하여 저장하는 것을 특징으로 하는
    사물 인터넷 플랫폼 서비스 제공 방법
  5. 제1항에 있어서,
    상기 섀도우 디바이스에 저장하는 과정은,
    기 저장된 상태 정보 및 업데이트된 상태 정보를 기반으로 데이터 집계(data aggregation) 처리를 통해 데이터를 축약하여 저장하는 것을 특징으로 하는
    사물 인터넷 플랫폼 서비스 제공 방법.
  6. 사물 인터넷 플랫폼 서비스 서버장치로서,
    사물 인터넷 기기와 통신을 수행하는 통신부;
    사물 인터넷 기기와 대응되는 섀도우 디바이스를 생성하고, 상기 사물 인터넷 기기의 상태 정보를 수신하여 상기 상태 정보가 업데이트될 때마다 상기 섀도우 디바이스에 저장하도록 제어하는 섀도우 디바이스 관리부; 및
    상기 섀도우 디바이스에 저장된 상태 정보를 이용하여 기 설정된 룰 조건 만족 여부를 판단하는 룰 엔진을 포함하는
    사물 인터넷 플랫폼 서비스 서버장치.
  7. 제6항에 있어서,
    상기 섀도우 디바이스 관리부는,
    사용자로부터 사물 인터넷 기기에 대한 제어 명령을 수신하면 상기 제어 명령을 상기 섀도우 디바이스에 저장하고, 저장된 제어 명령을 대응되는 사물 인터넷 기기에 전송하는 것을 특징으로 하는
    사물 인터넷 플랫폼 서비스 서버장치.
  8. 제6항에 있어서,
    상기 섀도우 디바이스 관리부는,
    상기 섀도우 디바이스에 기 저장된 상태 정보와 업데이트된 상태 정보를 이용하여 상기 룰 엔진에 정의된 룰에 따라 가공하여 저장하도록 제어하는 것을 특징으로 하는
    사물 인터넷 플랫폼 서비스 서버장치.
  9. 제6항에 있어서,
    상기 섀도우 디바이스 관리부는,
    기 저장된 상태 정보 및 업데이트된 상태 정보를 기반으로 데이터 집계(data aggregation) 처리를 통해 데이터를 축약하여 상기 섀도우 디바이스에 저장하도록 제어하는 것을 특징으로 하는
    사물 인터넷 플랫폼 서비스 서버장치.
  10. 사물인터넷 플랫폼 서비스 제공 방법으로서,
    복수개의 디바이스의 공통의 특성에 대한 명세(이하, '디바이스 디스크립터')를 등록하는 과정;
    사물인터넷 기기로부터 연결 요청을 수신하는 과정;
    상기 사물인터넷 기기에 대응되는 섀도우 디바이스를 생성하는 과정;
    상기 사물인터넷 기기로부터 데이터를 수신하는 과정; 및
    상기 사물인터넷 기기로부터 수신한 데이터에 기초하여 상기 섀도우 디바이스의 상태를 업데이트하는 과정을 포함하는
    사물인터넷 플랫폼 서비스 제공 방법.
  11. 제10항에 있어서,
    상기 디바이스 디스크립터는,
    상기 복수개의 디바이스에 공통된 센서에 대한 정보;
    상기 복수개의 디바이스에 공통된 제어 가능한 모듈에 대한 정보; 및
    상기 복수개의 디바이스가 상기 서버로 전송하는 공통된 데이터의 의미, 포맷, 주기성 여부 및 전송 주기에 대한 정보를 포함하는 것을 특징으로 하는
    사물인터넷 플랫폼 서비스 제공 방법.
  12. 제10항에 있어서,
    상기 데이터를 수신하는 과정과 상기 업데이트하는 과정 사이에,
    상기 디바이스 디스크립터에 기초하여 상기 사물인터넷 기기로부터 수신한 데이터의 유효성을 판단하는 과정을 더 포함하는
    사물인터넷 플랫폼 서비스 제공 방법.
  13. 제12항에 있어서,
    상기 유효성을 판단하는 과정은,
    상기 디바이스 디스크립터에 전송 주기가 정의되어 있는 데이터가 상기 전송 주기마다 전송되지 않거나, 상기 디바이스 디스크립터에 수치 범위가 정의되어 있는 데이터가 상기 수치 범위 밖의 값을 가지거나, 상기 디바이스 디스크립터에 포맷이 정의되어 있는 데이터가 정의된 포맷과 다른 포맷으로 전송되거나, 상기 디바이스 디스크립터에 변동 가능한 범위가 정의되어 있는 데이터가 변동 가능한 범위 이상으로 변동하면 상기 데이터에 오류가 있다고 판단하는 과정을 포함하는 것을 특징으로 하는
    사물인터넷 플랫폼 서비스 제공 방법.
  14. 사물 인터넷 플랫폼 서비스 서버장치로서,
    복수개의 디바이스의 공통의 특성에 대한 명세(이하, '디바이스 디스크립터')를 등록하는 등록부;
    사물인터넷 기기와 통신을 수행하는 통신부; 및
    상기 서버상에 상기 사물인터넷 기기에 대응되는 섀도우 디바이스를 생성하고, 상기 사물인터넷 기기로부터 수신된 데이터에 기초하여 상기 섀도우 디바이스의 상태를 업데이트하는 가상화부를 포함하는
    사물 인터넷 플랫폼 서비스 서버장치.
  15. 제14항에 있어서,
    상기 디바이스 디스크립터는,
    상기 복수개의 디바이스에 공통된 센서에 대한 정보;
    상기 복수개의 디바이스에 공통된 제어 가능한 모듈에 대한 정보; 및
    상기 복수개의 디바이스가 상기 서버로 전송하는 공통된 데이터의 의미, 포맷, 주기성 여부, 전송 주기, 수치 범위, 변동 가능 범위 중 하나 이상에 대한 정보를 포함하는 것을 특징으로 하는
    사물 인터넷 플랫폼 서비스 서버장치.
  16. 제14항에 있어서,
    상기 디바이스 디스크립터에 기초하여 상기 사물인터넷 기기로부터 수신된 데이터의 유효성을 검사하는 검사부를 더 포함하는
    사물 인터넷 플랫폼 서비스 서버장치.
  17. 제16항에 있어서,
    상기 검사부는,
    상기 디바이스 디스크립터에 전송 주기가 정의되어 있는 데이터가 상기 전송 주기마다 전송되지 않거나, 상기 디바이스 디스크립터에 수치 범위가 정의되어 있는 데이터가 상기 수치 범위 밖의 값을 가지거나, 상기 디바이스 디스크립터에 포맷이 정의되어 있는 데이터가 정의된 포맷과 다른 포맷으로 전송되거나, 상기 디바이스 디스크립터에 변동 가능한 범위가 정의되어 있는 데이터가 변동 가능한 범위 이상으로 변동하면 상기 데이터에 오류가 있다고 판단하는 것을 특징으로 하는
    사물 인터넷 플랫폼 서비스 서버장치.
  18. 제1항 내지 제5항 및 제10항 내지 제13항 중 어느 한 항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
PCT/KR2018/010696 2017-10-19 2018-09-12 사물 인터넷 플랫폼 서비스 제공 방법 및 서버장치 WO2019078489A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201880066883.2A CN111201764B (zh) 2017-10-19 2018-09-12 用于提供物联网平台服务的方法和服务器装置
US16/652,640 US11172028B2 (en) 2017-10-19 2018-09-12 Method and server device for providing internet of things platform service
US17/411,639 US11483391B2 (en) 2017-10-19 2021-08-25 Method and server device for providing internet of things platform service

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2017-0135919 2017-10-19
KR1020170135919A KR102000199B1 (ko) 2017-10-19 2017-10-19 사물 인터넷 플랫폼 서비스 제공 방법 및 서버장치
KR1020170141491A KR102233007B1 (ko) 2017-10-27 2017-10-27 디바이스 디스크립터를 이용한 사물인터넷 플랫폼 서비스 제공 서버 및 방법
KR10-2017-0141491 2017-10-27

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/652,640 A-371-Of-International US11172028B2 (en) 2017-10-19 2018-09-12 Method and server device for providing internet of things platform service
US17/411,639 Continuation US11483391B2 (en) 2017-10-19 2021-08-25 Method and server device for providing internet of things platform service

Publications (1)

Publication Number Publication Date
WO2019078489A1 true WO2019078489A1 (ko) 2019-04-25

Family

ID=66173377

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/010696 WO2019078489A1 (ko) 2017-10-19 2018-09-12 사물 인터넷 플랫폼 서비스 제공 방법 및 서버장치

Country Status (3)

Country Link
US (2) US11172028B2 (ko)
CN (1) CN111201764B (ko)
WO (1) WO2019078489A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021012235A1 (zh) * 2019-07-24 2021-01-28 Oppo广东移动通信有限公司 一种影子设备的生成方法、设备及存储介质
WO2021012234A1 (zh) * 2019-07-24 2021-01-28 Oppo广东移动通信有限公司 一种影子设备的生成方法、设备及存储介质
CN114401292A (zh) * 2022-01-10 2022-04-26 徐工汉云技术股份有限公司 一种基于物影子的设备消息采集系统及方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10743171B2 (en) * 2018-09-14 2020-08-11 Aferno, Inc. Apparatus and method for registering and associating internet of things (IoT) devices with anonymous IoT device accounts
US11362896B2 (en) * 2019-12-17 2022-06-14 Dish Wireless L.L.C. Devices, systems and processes for rapid install of IoT devices
CN111885197B (zh) * 2020-07-31 2022-11-25 平安国际融资租赁有限公司 基于物联网的数据传输方法、装置、云平台和计算机设备
CN112039983B (zh) * 2020-08-28 2023-12-22 深圳市万睿智能科技有限公司 一种物联网设备连接中间件的实现方法及系统
CN112492037A (zh) * 2020-12-01 2021-03-12 珠海格力电器股份有限公司 数据处理系统及方法
CN112856779A (zh) * 2021-01-29 2021-05-28 海尔(深圳)研发有限责任公司 用于空调监控的方法、装置及监控设备
WO2022221709A1 (en) * 2021-04-16 2022-10-20 Yonomi, Inc. Behavior driven digital twin for internet of things devices
CN113328891A (zh) * 2021-06-08 2021-08-31 西人马(深圳)科技有限责任公司 数据通信方法、装置、设备及存储介质
CN113568743A (zh) * 2021-07-23 2021-10-29 腾讯科技(深圳)有限公司 物联网设备的管理方法、装置、介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090008978A (ko) * 2007-07-19 2009-01-22 삼성전자주식회사 디바이스 관리 서비스를 브로드밴드 통신 모듈이 없는전자기기에 제공하는 시스템 및 방법
US20160087933A1 (en) * 2006-09-25 2016-03-24 Weaved, Inc. Techniques for the deployment and management of network connected devices
US20170006006A1 (en) * 2015-06-30 2017-01-05 Amazon Technologies, Inc. Device Communication Environment
US20170093593A1 (en) * 2015-09-24 2017-03-30 Intel Corporation FACILITATING PORTABLE, REUSABLE, AND SHARABLE INTERNET OF THINGS (IoT)-BASED SERVICES AND RESOURCES
US20170221011A1 (en) * 2016-02-01 2017-08-03 General Electric Company System, method, and machine-readable medium for managing network-connected industrial assets

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100388354B1 (ko) 2000-06-27 2003-06-25 한종상 금형기구의 이송 및 자동 제어장치
US20020124236A1 (en) * 2000-12-27 2002-09-05 Ruths Derek Augustus Samuel Method of manipulating a distributed system of computer-implemented objects
KR100415719B1 (ko) 2002-01-22 2004-01-24 주식회사 케이티 Tmn 에이전트 또는 snmp 에이전트 겸용 교환기간인터페이스 장치 및 그 방법
US7768515B1 (en) * 2006-11-03 2010-08-03 Nvidia Corporation Apparatus, system, and method for reducing shadowed state memory requirements for identifying driver command exceptions in a graphics system
US7898546B1 (en) * 2006-11-03 2011-03-01 Nvidia Corporation Logical design of graphics system with reduced shadowed state memory requirements
US8335854B2 (en) 2009-07-21 2012-12-18 Empire Technology Development Llc Performing services on behalf of low-power devices
CN102262557B (zh) * 2010-05-25 2015-01-21 运软网络科技(上海)有限公司 通过总线架构构建虚拟机监控器的方法及性能服务框架
US8368310B1 (en) * 2012-03-23 2013-02-05 Inncom International, Inc. System and method for distributed lighting device control
KR102034736B1 (ko) 2012-05-30 2019-10-22 삼성에스디에스 주식회사 M2m 통신용 관리 장치 및 방법
KR20170008601A (ko) * 2015-07-14 2017-01-24 삼성전자주식회사 어플리케이션 운용 방법 및 이를 이용하는 전자 장치
US10404832B2 (en) * 2015-08-31 2019-09-03 Ayla Networks, Inc. Management of gateway device using virtual gateway device
US20170123721A1 (en) * 2015-10-28 2017-05-04 Sandisk Technologies Inc. System and method for utilization of a data buffer by command completion in parts
KR101760930B1 (ko) 2015-11-30 2017-07-24 달리웍스 주식회사 사물 인터넷 시스템에서 외부 데이터를 가상 게이트웨이를 이용해서 입력받는 방법
CN106713082A (zh) * 2016-11-16 2017-05-24 惠州Tcl移动通信有限公司 一种用于智能家居管理的虚拟现实方法
US10432247B2 (en) * 2017-03-20 2019-10-01 Intel IP Corporation Sequence triggering in RF front-ends

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160087933A1 (en) * 2006-09-25 2016-03-24 Weaved, Inc. Techniques for the deployment and management of network connected devices
KR20090008978A (ko) * 2007-07-19 2009-01-22 삼성전자주식회사 디바이스 관리 서비스를 브로드밴드 통신 모듈이 없는전자기기에 제공하는 시스템 및 방법
US20170006006A1 (en) * 2015-06-30 2017-01-05 Amazon Technologies, Inc. Device Communication Environment
US20170093593A1 (en) * 2015-09-24 2017-03-30 Intel Corporation FACILITATING PORTABLE, REUSABLE, AND SHARABLE INTERNET OF THINGS (IoT)-BASED SERVICES AND RESOURCES
US20170221011A1 (en) * 2016-02-01 2017-08-03 General Electric Company System, method, and machine-readable medium for managing network-connected industrial assets

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LUKAS REINFURT: "Internet of Things Patterns for Devices", PATTERNS 201 7 : THE NINTH INTERNATIONAL CONFERENCES ON PERVASIVE PATTERNS AND APPLICATIO NS, 19 February 2017 (2017-02-19), pages 117 - 126, XP055597109 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021012235A1 (zh) * 2019-07-24 2021-01-28 Oppo广东移动通信有限公司 一种影子设备的生成方法、设备及存储介质
WO2021012234A1 (zh) * 2019-07-24 2021-01-28 Oppo广东移动通信有限公司 一种影子设备的生成方法、设备及存储介质
CN113454586A (zh) * 2019-07-24 2021-09-28 Oppo广东移动通信有限公司 一种影子设备的生成方法、设备及存储介质
CN113454966A (zh) * 2019-07-24 2021-09-28 Oppo广东移动通信有限公司 一种影子设备的生成方法、设备及存储介质
CN113454966B (zh) * 2019-07-24 2023-02-17 Oppo广东移动通信有限公司 一种影子设备的生成方法、设备及存储介质
CN114401292A (zh) * 2022-01-10 2022-04-26 徐工汉云技术股份有限公司 一种基于物影子的设备消息采集系统及方法
CN114401292B (zh) * 2022-01-10 2023-06-06 徐工汉云技术股份有限公司 一种基于物影子的设备消息采集系统及方法

Also Published As

Publication number Publication date
US11483391B2 (en) 2022-10-25
CN111201764B (zh) 2022-12-16
US20200244740A1 (en) 2020-07-30
US20210385279A1 (en) 2021-12-09
US11172028B2 (en) 2021-11-09
CN111201764A (zh) 2020-05-26

Similar Documents

Publication Publication Date Title
WO2019078489A1 (ko) 사물 인터넷 플랫폼 서비스 제공 방법 및 서버장치
WO2016099148A1 (en) Method and apparatus for controlling device using a service rule
EP3235182A1 (en) Method and apparatus for controlling device using a service rule
WO2015126124A1 (ko) 무선 통신 시스템에서 인증 정보 송수신 방법 및 장치
WO2014200240A1 (en) Method and apparatus for registering wireless device in wireless communication system
WO2019078515A1 (ko) 데이터 학습 서버, 이의 학습 모델 생성 및 이용 방법
WO2021107256A1 (ko) 이종 사물인터넷 플랫폼 장치 간 상호 연동을 위한 인터페이스 제공 방법 및 이종 사물인터넷 플랫폼 장치 간 상호 연동을 위한 인터페이스 제공 시스템
WO2014092375A1 (en) Method and apparatus for controlling access between home device and external server in home network system
WO2017091021A1 (ko) 스마트 홈 서비스 서버 및 그 제어방법
WO2015111950A1 (ko) 메세지 중개 방법, 메세지 처리 방법, 서비스 관리 방법 및 상기 방법을 수행하는 장치
WO2013157748A1 (ko) 단말기와 무선망 접속점간의 상호간 통신특성에 대한 정보가 무선망 접속에 이용되게 하는 방법과 장치
WO2016195327A1 (ko) 전력 공급을 제어하는 방법 및 장치
WO2016068548A1 (ko) 무선 통신 시스템에서 통지 메시지를 처리하기 위한 방법 및 이를 위한 장치
WO2020159283A1 (en) Electronic device and control method thereof
WO2020130582A1 (en) Electronic device and method for controlling electronic device
WO2021070983A1 (ko) Vr 훈련 시스템 및 방법
WO2020138957A1 (en) Method for dynamically recommending catalog and electronic device thereof
WO2018199630A1 (ko) 이미지 캡처를 이용한 통합 모니터링 시스템 및 방법
WO2021162321A1 (ko) 서버 장치 및 그의 제어 방법
WO2019208870A1 (ko) 무선 네트워크를 통해 프로그램을 업데이트하는 무선기기 및 무선시스템
WO2016175553A1 (ko) 통신 네트워크에서 정보 제공 방법 및 장치
WO2020186598A1 (zh) 空调系统及其内机冲突的控制方法、终端及可读存储介质
WO2015009051A1 (en) Communication method and apparatus using smart module in home network system
WO2022080539A1 (ko) 사물인터넷 기기의 소프트웨어를 업데이트하는 소프트웨어 업데이트 게이트웨이 및 그 방법
WO2022030860A1 (ko) Iot 환경에서 타겟 전자 장치를 제어하기 위한 전자 장치 및 그에 관한 방법

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: 18868833

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18868833

Country of ref document: EP

Kind code of ref document: A1