WO2019112113A1 - 서비스 지향 사물 인터넷 플랫폼 및 그 제어 방법 - Google Patents

서비스 지향 사물 인터넷 플랫폼 및 그 제어 방법 Download PDF

Info

Publication number
WO2019112113A1
WO2019112113A1 PCT/KR2018/000261 KR2018000261W WO2019112113A1 WO 2019112113 A1 WO2019112113 A1 WO 2019112113A1 KR 2018000261 W KR2018000261 W KR 2018000261W WO 2019112113 A1 WO2019112113 A1 WO 2019112113A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
middleware
object internet
internet
script
Prior art date
Application number
PCT/KR2018/000261
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 US16/767,588 priority Critical patent/US11245769B2/en
Publication of WO2019112113A1 publication Critical patent/WO2019112113A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • 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/14Session management
    • H04L67/141Setup of application sessions
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/562Brokering proxy services

Definitions

  • the present invention relates to a service-oriented Internet platform and a control method, and more particularly, to a service-oriented Internet platform and a control method thereof, in which a user creates a service scenario using a script editor and controls a service provided by the Internet device according to a service scenario An Internet platform and a control method.
  • IoT Internet of Things
  • the present invention has been made in view of the above problems, and it is an object of the present invention to provide a service-oriented object capable of creating a service scenario using a script editor and controlling a service provided by the object- Providing an Internet platform.
  • the object Internet platform includes a device management unit for receiving device creation information from a thing Internet device and establishing a connection with the object internet device, And a data management unit for generating and storing data related to the device management unit, the service management unit, and the object Internet device, and a service management unit for managing the middleware, And a script editor for creating the service scenario.
  • the device management unit includes a device connection unit for receiving device creation information from the object Internet device and establishing a connection with the object internet device, and a device monitoring unit for monitoring the status of the object internet device
  • the service management unit includes a service device creation unit for abstracting the object Internet device to the service device, a service device control unit for controlling the object Internet device in accordance with the service scenario, and a runtime service for managing the runtime for the service device control unit Section.
  • the data management unit includes a state management unit for managing the state of the middleware, a state monitoring unit for collecting and storing state information of the middleware, the object Internet device, the service device, and the service scenario, And a status transmission unit for transmitting the status information to the script editor when requested by the script editor.
  • the script editor may include a status information display unit for receiving and displaying the status information.
  • the service device is data of a service unit reconstructed by abstracting a device identifier, a device attribute, and a device function provided by the Internet appliance
  • the device identifier is a class of the Internet device
  • the apparatus attribute includes a status of the object Internet apparatus, a name of a service provided by the object internet apparatus, and a status of a service provided by the object internet apparatus, Functional < / RTI > features provided by the device.
  • the script editor includes a script code editor installed in the input means selected by the user and supporting a script language, wherein the script code generated by the user in the script code editor Wherein the service scenario is generated from the script code and is sequentially executed according to a description order of the script code, and the script language includes at least one of an if-else, a service- You can include loop and wait until in control statements.
  • the middleware includes a service scenario graph converting unit for converting the service scenario into a service scenario graph, and the service manager maps the service scenario graph to the object Internet device and schedules the object scenario graph
  • the service scenario graph includes a finite set of service nodes, a finite set of condition nodes, a finite set of iteration nodes, and a composite service including a finite set of trusses representing execution flows between nodes, a blocking type, A condition node including a blocking type, a true port and a false port, and a subgraph corresponding to the loop, a repetition period of the loop, and a loop node.
  • the middleware is one or more, the middleware has a hierarchical structure, and the middleware includes at least one first layer middleware configuring a local network, Layer middleware, and the middleware is interlinked between layers or layers, and the data management unit manages the interlocking of the middleware, and the middleware can be interlocked between layers or layers.
  • the middleware may operate in connection with an external network or a cloud.
  • the device management unit is connected to the object Internet apparatus using the MQTT protocol, and the object Internet apparatus is connected to a cloud, an unrestricted apparatus to which the MQTT protocol is supported,
  • the service device may further include a service provided by the cloud application, and the object Internet platform may further include a gateway connected to the restricted device to support the MQTT protocol.
  • the object Internet platform includes a management server connected to the middleware and storing data related to the object Internet apparatus and a log generated on the object Internet platform, And the image processing apparatus, the mobile communication apparatus, or the image display apparatus may be connected to the middleware by wire or wirelessly.
  • a method for controlling an object Internet platform comprising: connecting middleware to a destination Internet device; abstracting the destination Internet device to a service device; Generating and storing data related to the service device, creating a service scenario for the service device in a script editor, and controlling the object Internet device according to the service scenario.
  • the step of connecting to the Internet appliance may include receiving device creation information from the Internet appliance, establishing a connection with the Internet appliance, and monitoring the status of the Internet appliance
  • the step of controlling the destination Internet device includes a runtime service step of managing a runtime for controlling the destination Internet device.
  • the control method of the Internet platform for objects includes a middleware management step of managing the status of the middleware, and a status information collecting and storing process of the middleware, the Internet device, the service device,
  • the monitoring step includes a status transmission step of transmitting the status information to the script editor upon request from the script editor, and a status information display step of receiving the status information and displaying the status information on the script editor .
  • the service device is data of a service unit reconstructed by abstracting a device identifier, a device attribute, and a device function provided by the Internet appliance
  • the device identifier is a class of the Internet device
  • the apparatus attribute includes a state of the object Internet apparatus, a name of a service provided by the object internet apparatus, and a state of a service provided by the object internet apparatus, Functional and non-functional characteristics.
  • the step of generating the service scenario comprises the steps of installing the script editor in the input means selected by the user, generating script code using a script language in the script editor by the user And generating the service scenario from the script code, wherein the script code generated by the user includes one or more services of the service device or one or more of the service devices that are different from each other, Code, and the script language includes an if-else, a loop, and a wait until as a control syntax.
  • the step of generating the service scenario includes a step of converting the service scenario into a service scenario graph
  • the step of controlling the object Internet device includes:
  • the service scenario graph includes at least one of a finite set of service nodes, a finite set of condition nodes, a finite set of repeated nodes, and a trunk representing an execution flow between nodes
  • a method for controlling an object Internet platform further includes interlocking one or more middleware, wherein the step of interlocking the middleware comprises: a first layer middleware Generating middleware, interworking with a second layer middleware formed above the first layer middleware, and managing interworking of the middleware, wherein the middleware is interlocked between layers or layers .
  • the controlling method of the object Internet platform may further include the step of connecting the middleware to an external network or a cloud.
  • the Internet appliance includes a cloud, an unrestricted device supporting the MQTT protocol, and a restricted device not supporting the MQTT protocol, the service device including a service provided by the cloud application , and the control method of the object Internet platform may further include a gateway connected to the limited device to support the MQTT protocol.
  • control method of the Internet platform of objects further comprises the step of storing data related to the Internet device and logs generated in the Internet platform of interest in a management server connected to the middleware
  • the script editor may be installed in an information processing apparatus, a mobile communication apparatus, or an image display apparatus, and the information processing apparatus, the mobile communication apparatus, or the image display apparatus may be connected to the middleware in a wired or wireless manner.
  • the object Internet platform and the control method can allow a user to create a service scenario using a script editor and control a service provided by the object Internet apparatus according to a service scenario. Therefore, the user can actively intervene in the IoT environment to add a new service and actively reconfigure the IoT environment, thereby increasing the degree of freedom of the user to control the IoT device and allowing the user to take the initiative in the IoT environment.
  • a simple script language it is possible to enhance the user's convenience of IoT device control.
  • FIG. 1 is a block diagram illustrating an Internet platform for objects according to an exemplary embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a device management unit of a things Internet platform according to an embodiment of the present invention. Referring to FIG.
  • FIG. 3 is a configuration diagram illustrating a service management unit of a things Internet platform according to an embodiment of the present invention. Referring to FIG.
  • FIG. 4 is a block diagram illustrating a data management unit of the Internet platform for objects according to an embodiment of the present invention. Referring to FIG. 4
  • FIG. 5 is a block diagram illustrating a script editor of the object Internet platform according to an embodiment of the present invention.
  • FIG. 6 is a configuration diagram illustrating a first layer middleware and a second layer middleware of the Internet object platform according to an embodiment of the present invention.
  • FIG. 7 is a block diagram illustrating a gateway of a destination Internet platform according to an embodiment of the present invention. Referring to FIG.
  • FIG. 8 is a flowchart illustrating a method of controlling an object Internet platform according to an embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating a method of controlling an object Internet platform according to an embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a step of connecting to an object Internet device of a method for controlling an object Internet platform according to an embodiment of the present invention.
  • FIG. 11 is a flowchart illustrating a step of generating and storing data of a control method for an object Internet platform according to an embodiment of the present invention.
  • FIG. 12 is a flowchart illustrating a step of generating a service scenario of a control method of an object Internet platform according to an embodiment of the present invention.
  • FIG. 13 is a flowchart illustrating a step of controlling an object Internet device in a method for controlling an object Internet platform according to an embodiment of the present invention.
  • FIG. 14 is a flowchart illustrating a state monitoring step of a control method for a thing Internet platform according to an embodiment of the present invention.
  • FIG. 15 is a flowchart illustrating a step in which a middleware of a control method for an object Internet platform according to an embodiment of the present invention is interlocked.
  • 16 is a block diagram illustrating an Internet platform for objects according to an embodiment of the present invention.
  • FIG. 17 is a block diagram illustrating a service apparatus of a method for controlling an object Internet platform and an object Internet platform according to an embodiment of the present invention. Referring to FIG.
  • FIG. 18 is a diagram illustrating a service apparatus of a method for controlling an Internet platform and an Internet platform according to an embodiment of the present invention.
  • FIG. 19 is a diagram illustrating a script editor of a method for controlling an object Internet platform and an object Internet platform according to an embodiment of the present invention. Referring to FIG.
  • 20 is a diagram illustrating a script language of a method for controlling an object Internet platform and an object Internet platform according to an embodiment of the present invention.
  • FIG. 21 is a diagram illustrating a script code and a service scenario graph of the object Internet platform and the object Internet platform control method according to an embodiment of the present invention.
  • FIG. 1 is a block diagram illustrating an Internet platform for objects according to an exemplary embodiment of the present invention.
  • an object Internet platform includes a object Internet device, a middleware, and a script editor.
  • the middleware 100 includes a device management unit 110, a service management unit 130, and a data management unit 150.
  • the device management unit 110 may receive device creation information from the object Internet device 400 and establish a connection with the object Internet device 400.
  • the connection method with the object Internet device may be wireless communication.
  • the connection method with the object Internet device 400 may be wired communication, short-range wireless communication, Zigbee or Wi-Fi.
  • the connection with the Internet device 400 may use the MQTT or MQTT-SN protocol.
  • the present invention is not limited to this, and there is no limitation to the method if the apparatus management unit 110 achieves the object of connecting with the object Internet apparatus 400.
  • the service management unit 130 may abstract the object Internet apparatus 400 to the service apparatus and control the object Internet apparatus 400 according to the service scenario.
  • the service management unit 130 may abstract the object Internet apparatus 400 into a service provided by the object Internet apparatus 400 or a non-functional property to generate the service apparatus.
  • the non-functional characteristic may be energy, latency, or information collected by a sensor attached to the things Internet 400.
  • the present invention is not limited thereto, and all the data that the object Internet apparatus 400 can provide may be the object of the service apparatus.
  • the service management unit 130 may control the object Internet apparatus 400 in units of services of the service apparatus according to the service scenario.
  • the data management unit 150 may generate and store data related to the device management unit 110, the service management unit 130, and the object Internet device 400.
  • the data may include at least one of a status of the device management unit 110, a status of the service management unit 130, a status of the Internet device 400, a status of the service device, a list of available Internet devices 400, A list of possible service devices, status of the service scenario, and backup data of the service scenario.
  • the script editor 200 may generate the service scenario for the service device.
  • the script editor 200 may be installed in the input means selected by the user.
  • the selected input means may be an information processing apparatus, a mobile communication apparatus, or an image display apparatus.
  • the selected input means may be a computer, a television, a projector, a mobile phone, a smart phone, a PDA, a mobile terminal, a cloud 410 application or a tablet.
  • the present invention is not limited to this, and there is no limitation on the apparatus to be installed if the script editor 200 is installed and can achieve the purpose that the user can input.
  • the selected input means may be connected to the middleware 100 by wire or wirelessly.
  • the script editor 200 may be installed in a computer, connected to a LAN or a Wi-Fi, connected to the middleware 100 through an external network, or connected to a Wi-Fi or connection cable and directly connected to the middleware 100 .
  • the script editor 200 may include script code supporting a script language.
  • the script language may be composed of simple syntaxes to enhance user convenience.
  • the script language may support the implementation of service units, and may include if-else, loop, and wait until as control statements.
  • the if-else may be executed when a certain condition is satisfied, and the loop may be repeatedly executed when a certain condition is satisfied, and the wait until may be a condition to wait for execution until a specific condition is satisfied.
  • the script code may be a code for the user to create the service scenario using a script language.
  • the script code may be sequentially executed according to a description order of the script language.
  • the script code may include one or more services of the service device or one or more service devices that are different from each other. Accordingly, the script code and the service scenario can constitute a composite service combining the services of the service device and the service device.
  • a user can use a script code to create a service scenario in which, when a motion is detected in a state where all the lights of the office are turned off after 9 pm, the lamp is turned on, a picture is taken, and the picture is sent by SMS and e-mail.
  • a service scenario can be created that automatically turns on a computer, monitor, projector, air conditioner, and television set installed in a conference room when a meeting is scheduled, and records the meeting with the camera.
  • a service scenario may be created in which a meal menu provided on a web site is checked and synthesized into a voice file, and a voice file is reproduced through a speaker at lunch time and evening.
  • a service scenario in which weather information is transmitted by e-mail at a predetermined time can be created.
  • a service scenario may be created that collects and analyzes office environment information such as the humidity, temperature, carbon dioxide concentration, and brightness level of an office for a certain period of time.
  • the object Internet device 400 may be a device for providing a service.
  • the object Internet device 400 may include a service provided by the cloud 410.
  • the object Internet apparatus 400 may include a mobile communication apparatus and an information processing apparatus.
  • the object Internet device 400 may be an application, email, schedule information, date and time provided by the cloud 410.
  • the present invention is not limited thereto, and the object Internet device 400 may include all devices capable of providing services.
  • the object Internet device 400 may be a device supporting wireless or wired communication.
  • the object Internet device 400 may support wired communication, short-range wireless communication, Zigbee or Wi-Fi.
  • the object Internet device 400 may support the MQTT or MQTT-SN protocol.
  • the present invention is not limited thereto, and if the object Internet device 400 achieves the object of being connected to the middleware 100, there is no restriction on the communication method supported by the object Internet device 400.
  • FIG. 2 is a configuration diagram illustrating a device management unit 110 of the Internet platform for objects according to an embodiment of the present invention.
  • FIG. 3 is a configuration diagram illustrating a service management unit 130 of a things Internet platform according to an embodiment of the present invention.
  • FIG. 4 is a configuration diagram illustrating a data management unit 150 of the object Internet platform according to an embodiment of the present invention.
  • FIG. 5 is a block diagram illustrating a script editor 200 of an object Internet platform according to an embodiment of the present invention.
  • the object Internet platform includes a device connection unit 111, a device monitoring unit 113, a service device creation unit 131, a service device control unit 133, a runtime service unit 135, a state management unit 151, 1 except for the status monitoring unit 153, the status transmitting unit 155, the status information display unit 210, the script code editor 230 and the service scenario graph converting unit 137.
  • a device connection unit 111 a device monitoring unit 113
  • a service device creation unit 131 e.g., a service device creation unit 131
  • a service device control unit 133 e.g., a service device creation unit 131
  • a service device control unit 133 e.g., a service device control unit 133
  • a runtime service unit 135 e.g., a state management unit 151, 1 except for the status monitoring unit 153, the status transmitting unit 155, the status information display unit 210, the script code editor 230 and the service scenario graph converting unit 137.
  • the device management unit 110 includes a device connection unit 111 and a device monitoring unit 113.
  • the device management unit 110 may receive device creation information from the object Internet device 400 and establish a connection with the object Internet device 400.
  • the connection method with the object Internet device may be wireless communication.
  • the connection method with the object Internet device 400 may be wired communication, short-range wireless communication, Zigbee or Wi-Fi.
  • the connection with the Internet device 400 may use the MQTT or MQTT-SN protocol.
  • the present invention is not limited thereto, and there is no limitation to the method if the device connection unit 111 achieves the object of connecting with the Internet device 400.
  • the device monitoring unit 113 may continuously monitor the status of the object Internet device 400.
  • the on-off state, the normal operation state, the sensor state, the communication connection state, the service execution state, the service setting state, and the service execution state of the object Internet device 400 can be monitored.
  • the present invention is not limited to this, and data relating to the operation of the Internet platform of interest may be monitored by the monitoring unit.
  • the collected monitoring data may be transmitted to the script editor 200.
  • the service management unit 130 includes a service device creation unit 131, a service device control unit 133, and a runtime service unit 135.
  • the service device creation unit 131 may abstract the object Internet device 400 to the service device.
  • the service device may be data of a service unit that is reconstructed by abstracting a device identifier, a device attribute, and a device function provided by the object Internet device 400.
  • the device identifier may include the name of the device and the class of the object Internet device 400.
  • the device attribute may include a status of the Internet 400, a name of a service provided by the Internet 400, and a status of a service provided by the Internet 400.
  • the device function may include a service provided by the object Internet device 400.
  • the name of the device may be a value different from other object Internet devices and may be changed by a user or by a system.
  • the name of the device may be a name of a desired form at runtime by the user.
  • the class of the device identifier is a light bulb
  • the name is a manufacturer
  • the device properties are power on, off state, color state and contrast state, Control, power control.
  • the present invention is not limited to this, and there is no limitation on the abstract method if the objective of abstracting the service provided by the object Internet device 400 as a service is achieved.
  • the name of the device need not necessarily be a manufacturer, but may be the name of a device defined by the user.
  • the service device controller 133 may control the object Internet device 400 according to the service scenario.
  • the service device controller 133 may control the Internet device 400 in units of services of the service device according to the service scenario.
  • the runtime service unit 135 may manage the runtime for the service device control unit 133. [ The runtime service unit 135 may control or arbitrate cases in which the service scenario is interrupted, replayed, a new scenario is created, or scenes collide with each other during execution of the service scenario.
  • the data management unit 150 includes a status management unit 151, a status monitoring unit 153, and a status transmission unit 155.
  • the state management unit 151 can manage the state of the middleware 100.
  • the state management unit 151 may manage the interworking between the external network of the middleware 100 and the cloud 500 and the middleware 100. For example, when the middleware 100 is disconnected from the external network or the cloud 500, the middleware 100 may operate locally. In addition, even when interworking between the middleware 100 is interrupted, the device can be operated independently. In addition, the middleware 100 can arbitrate so as not to collide with each other.
  • the monitoring unit may collect and store status information of the middleware 100, the Internet device 400, the service device, and the service scenario.
  • the status information may include at least one of a status of the device management unit 110, a status of the service management unit 130, a status of the Internet device 400, a status of the service device, a status of the middleware 100, A list of available service devices, a list of usable services, a list of available service devices, a list of usable service devices, And backup data of the service scenario.
  • the status transmitting unit 155 may transmit the status information to the script editor 200 when the script editor 200 requests the status information.
  • the transmitted status information may be real-time information, stored information, or information of a specific time or specific interval selected by the user.
  • the script editor 200 includes a status information display unit and a script code editor 230.
  • the script editor 200 may receive the status information and display the status information.
  • the status information may be displayed by the service, the service apparatus, or the service scenario.
  • the user can change the information displayed on the status information display unit 210. [ The user can change the order of the information displayed on the status information display unit 210. [ The user can search for the service, the service apparatus, and the service scenario, and the status information display unit can display the searched result.
  • the script editor 200 may include a script code editor 230 that supports a script language.
  • the script language may be composed of simple syntaxes to enhance user convenience.
  • the script language may support the implementation of service units, and may include if-else, loop, and wait until as control statements.
  • the if-else may be executed when a certain condition is satisfied, and the loop may be repeatedly executed when a certain condition is satisfied, and the wait until may be a condition to wait for execution until a specific condition is satisfied.
  • the script code editor 230 may display a value of the script code, a function, a script language, and a script code log.
  • the script code editor 230 may allow a user to write a code for creating the service scenario using a script language.
  • the service scenario may be generated from the script code.
  • the script code may be sequentially executed according to a description order of the script language.
  • the script code may include one or more services of the service device or one or more service devices that are different from each other. Accordingly, the script code and the service scenario can constitute a composite service combining the services of the service device and the service device.
  • the middleware may include the service scenario graph converting unit 137.
  • the service scenario graph converting unit 137 may convert the service scenario into a service scenario graph.
  • the service scenario graph may be a data structure for providing a composite service on the middleware and scheduling the services.
  • the service scenario graph may be generated by parsing the script code generated by the script editor 200.
  • the service scenario graph may be an intermediate data structure for performing the service scenario.
  • the service management unit 130 may control the object Internet apparatus 400 by mapping the service scenario graph to the object Internet apparatus 400 and scheduling the same.
  • the service scenario graph may be mapped to the object Internet device in the service unit.
  • the service scenario graph may schedule the Internet appliance at the service unit.
  • the service scenario graph may be generated by converting the entire script code for each of the service scenarios, so that the object Internet apparatus can be controlled.
  • the service scenario graph may include a composite service, a condition node, and a repeat node.
  • the composite service may include a composite service including a finite set of service nodes, a finite set of condition nodes, a finite set of iteration nodes, and a finite set of edges representing execution flows between nodes.
  • the composite service G may be a (S, C, L, E) tuple. S is a finite set of service nodes, C is a finite set of conditional nodes, L is a finite set of iteration nodes, and E can be a finite set of nodes that represent the execution flow between nodes.
  • the service node s? S in the service scenario graph may be a basic service executed by the device.
  • the condition node may include a blocking type, a non-blocking type, a true port, and a false port.
  • the condition node c? C may be defined as a tuple (type, true port, false port).
  • the true port and the false port may be an exit port for execution according to a result of the condition.
  • the type may be blocking (B-type) or non-blocking (NB-type).
  • B-type blocking
  • NB-type non-blocking
  • the node of the blocking type blocks the progress of the service graph until the specific condition is satisfied and the node of the non-blocking type can proceed regardless of whether or not the specific condition is satisfied.
  • the wait until in the script language may be the blocking type, and the if-else may be the non-blocking type.
  • the repeating node may include a subgraph corresponding to the loop, a repetition period of the loop, and a loop remaining condition.
  • the repeating node may be a tuple (SG, repetition period, specified condition).
  • the repetition period may be a repetition period of the loop, and the specified condition may be a condition for remaining in the loop. If the above condition is not satisfied, the loop can be terminated.
  • the SG may be a subgraph. This can be a graph corresponding to a loop.
  • the repetition period and the specified condition may be omitted, and may be an infinite loop if there is no repetition period and the specified condition. If there is only the repetition period, it indicates that the infinite loop is executed periodically, and if there is only the specified condition, it can indicate that the loop is executed while satisfying the condition.
  • the present invention is not limited to this, and may be applied to a method for expressing the compound service, the condition node and the repetitive node, a data type, a data type,
  • the structure type is not limited.
  • the tuple may be a list.
  • FIG. 6 is a configuration diagram illustrating a first layer middleware 101 and a second layer middleware 103 of the Internet platform for objects according to an embodiment of the present invention.
  • the object Internet platform according to the present embodiment is substantially the same as the object internet platform of FIGS. 1 to 5 except for the first layer middleware 101 and the second layer middleware 103. Therefore, the same constituent elements as those of the object Internet platform of FIGS. 1 to 5 are denoted by the same reference numerals, and repeated description thereof is omitted.
  • the middleware 100 may be one or more, and the middleware 100 may have a hierarchical structure.
  • the middleware 100 may be interworked between layers or layers.
  • the middleware 100 may be a first layer middleware 101 and a second layer middleware 103.
  • the first layer middleware 101 may configure a local network.
  • the first layer middleware 101 may be connected to the different object Internet devices 400. For example, one middleware 100 connected to a set of the object Internet devices 400 and another middleware 100 connected to a set of the object Internet devices 400 and a set of the object Internet devices 400 are connected .
  • the second layer middleware 103 may be formed in the upper layer of the first layer middleware 101.
  • the middleware 100 may be connected by stacking the middleware 100 of the second layer on the first middleware 101.
  • the middleware 100 may be connected to an external network or the cloud 500, respectively.
  • the external network or the cloud 500 may be connected to one middleware 100, and the other middleware 100 may be connected to the external network and the cloud 500 using the connected middleware 100 as a bridge.
  • the first layer middleware 101 may be connected to the external network and the cloud 500 through the second layer middleware 103 without being directly connected to the external network. Accordingly, the first layer middleware 101 can be configured as a local network and can be secured.
  • the hierarchical structure of the middleware can be extended.
  • the hierarchical structure may include a first layer middleware of each office unit, a second layer middleware of a building unit including the offices, a third layer middleware of the area including the building, And a fourth layer middleware.
  • the middleware of the upper layer can control or manage the middleware of the lower layer.
  • the object Internet device is connected to the first layer middleware, and the upper middleware can configure devices connected to different first layer middleware as a composite service.
  • the data management unit 150 may manage the state of the middleware 100.
  • the data management unit 150 may manage the interworking between the external network and the cloud 500 of the middleware 100 and the middleware 100. For example, when the middleware 100 is disconnected from the external network or the cloud 500, the middleware 100 may operate locally. In addition, even when interworking between the middleware 100 is interrupted, the device can be operated independently. In addition, the middleware 100 can arbitrate so as not to collide with each other. Therefore, even if the connection between the external network or the cloud 500 is broken, the middleware 100 can operate stably both locally and independently.
  • FIG. 7 is a configuration diagram illustrating a gateway 300 of the Internet platform for objects according to an embodiment of the present invention.
  • 16 is a block diagram illustrating an Internet platform for objects according to an embodiment of the present invention.
  • the object Internet platform according to the present embodiment is substantially the same as the object internet platform of FIGS. 1 to 5 except for the cloud 410, the unlimited device 430, the restricted device 450 gateway 300 and the management server Do. Therefore, the same constituent elements as those of the object Internet platform of FIGS. 1 to 5 are denoted by the same reference numerals, and repeated description thereof is omitted.
  • the device management unit 110 may be connected to the object Internet device 400 using the MQTT protocol.
  • the present invention is not limited thereto, and the type and the type of the support protocol of the device management unit 110 are not limited in the case of a protocol that can be connected to the Internet 400.
  • the Internet appliance 400 may include a cloud 410, an unrestricted device 430, and a restricted device 450.
  • the cloud 410 may be a service provided by the cloud 410.
  • the object Internet device 400 may be an application, email, schedule information, date and time provided by the cloud 410.
  • the non-restrictive device 430 may be a device that supports the MQTT protocol. Thus, it can be connected to the middleware 100 supporting the MQTT protocol.
  • the non-restrictive device 430 may be a device capable of connecting Wi-Fi.
  • the restricted device 450 may be a device for which the MQTT protocol is not supported.
  • the restricted device 450 may be a device that is not capable of WiFi connection with limited resources. Accordingly, the middleware 100 may be connected to the gateway 300.
  • the gateway 300 may connect the restricted device 450 to the middleware 100.
  • the gateway 300 may support near-field wired communication, short-range wireless communication, Zigbee or Wi-Fi.
  • the restricted device 450 may be connected to the gateway 300 using a Zigbee connection and an MQTT-SN protocol, and the gateway 300 may convert the MQTT protocol to the middleware 100 have.
  • the management server is connected to the middleware, and data relating to the object Internet device and a log generated on the object internet platform may be stored.
  • the middleware and the management server may be connected by a network.
  • the middleware may transmit to the management server data information generated in the destination Internet device and log data related to the Internet platform.
  • the management server can receive and store the data information and the log data.
  • the data stored in the management server may be displayed on a separate display unit or a web interface.
  • the data stored in the management server may be displayed in the form of characters, graphs, photographs, or moving pictures
  • the information stored in the management server can be utilized as big data.
  • the middleware may analyze the usage pattern of the object Internet device using the big data, or may extract statistics of various information including power information, sensor data information, or e-mail transmission information of the object Internet device. For example, the middleware can analyze a pattern that the degree of brightness of illumination of the office is affected by the light of the outside weather and the corridor through the data collected from the big data.
  • the Big Data may be combined with a data mining technique and a deep learning technique to generate a recommended service scenario or an automatic service scenario from information analyzed from the analyzed information or the propensity and control pattern of the service scenario of the service scenario.
  • the management server may include a function of a logging server.
  • the management server can store all kinds of logs generated on the system.
  • the log can be utilized for problem analysis, solution finding, and problem prediction.
  • FIG. 8 is a flowchart illustrating a method of controlling an object Internet platform according to an embodiment of the present invention.
  • a method of controlling an object Internet platform includes a step S100 of connecting to an object Internet device, a step of abstracting to a service device S200, a step of generating and storing data S300), creating a service scenario (S400), and controlling the object Internet apparatus (S500).
  • the middleware may be connected to the object Internet device. And can establish connection with the object Internet apparatus by receiving device creation information from the object internet apparatus.
  • the connection method with the object Internet device may be wireless communication.
  • the connection method with the Internet device may be wired communication, short-range wireless communication, Zigbee or Wi-Fi.
  • the connection with the Internet device may use the MQTT or MQTT-SN protocol.
  • the present invention is not limited to this, and there is no limitation to the method if the middleware achieves the object of connecting to the Internet device.
  • the step of abstracting to the service device may abstract the Internet device to the service device.
  • the object Internet apparatus may be abstracted into a service provided by the object Internet apparatus or a service including non-functional characteristics to generate the service apparatus.
  • the non-functional characteristic may be energy, latency or information collected by a sensor attached to the object Internet device.
  • the present invention is not limited to this, and all the data that can be provided by the object Internet apparatus can be the object of the service apparatus.
  • the object Internet device may be abstracted to the service device.
  • the service device may be data of a service unit reconstructed by abstracting a device identifier, a device attribute, and a device function provided by the object Internet device.
  • the device identifier may include the class and name of the thing Internet device.
  • the device attribute may include a status of the object Internet device, a name of a service provided by the object internet device, and a status of a service provided by the object internet device.
  • the device function may include a service provided by the object Internet apparatus.
  • the name of the device may be a value different from other object Internet devices and may be changed by a user or by a system. Also, the name of the device may be a name of a desired form at runtime by the user.
  • the class of the device identifier is a light bulb
  • the name is a manufacturer
  • the device properties are power on, off state, color state and contrast state, Control, power control.
  • the present invention is not limited to this, and there is no restriction on the abstract method if the objective of abstracting the service provided by the object Internet apparatus as a service is achieved.
  • the name of the device need not necessarily be a manufacturer, but may be the name of a device defined by the user.
  • step S300 of generating and storing the data data related to the middleware, the object Internet device, and the service device may be generated and stored.
  • the data includes at least one of a status of the middleware, a status of the object Internet device, a status of the service device, a list of usable Internet devices, a list of available service devices, a status of the service scenario, Lt; / RTI >
  • a service scenario for the service device may be generated in the script editor.
  • the script editor may create the service scenario for the service device.
  • the script editor may be installed in the input means selected by the user.
  • the selected input means may be an information processing apparatus, a mobile communication apparatus, or an image display apparatus.
  • the selected input means may be a computer, a television, a projector, a mobile phone, a smart phone, a PDA, a mobile terminal, a cloud application, or a tablet.
  • the present invention is not limited to this, and there is no limit to the apparatus to be installed if the script editor is installed and can achieve the purpose that the user can input.
  • the selected input means may be connected to the middleware by wire or wirelessly.
  • the script editor may be installed in a computer, connected to a LAN or WiFi, connected to a middleware through an external network, or connected directly to a middleware by being connected to a WiFi or a connection cable.
  • the script editor may include script code that supports a script language.
  • the script language may be composed of simple syntaxes to enhance user convenience.
  • the script language may support the implementation of service units, and may include if-else, loop, and wait until as control statements.
  • the if-else may be executed when a certain condition is satisfied, and the loop may be repeatedly executed when a certain condition is satisfied, and the wait until may be a condition to wait for execution until a specific condition is satisfied.
  • the script code may be a code for the user to create the service scenario using a script language.
  • the script code may be sequentially executed according to a description order of the script language.
  • the script code may include one or more services of the service device or one or more service devices that are different from each other. Accordingly, the script code and the service scenario can constitute a composite service combining the services of the service device and the service device.
  • a user can use a script code to create a service scenario in which, when a motion is detected in a state where all the lights of the office are turned off after 9 pm, the lamp is turned on, a picture is taken, and the picture is sent by SMS and e-mail.
  • a service scenario can be created that automatically turns on a computer, monitor, projector, air conditioner, and television set installed in a conference room when a meeting is scheduled, and records the meeting with the camera.
  • a service scenario may be created in which a meal menu provided on a web site is checked and synthesized into a voice file, and a voice file is reproduced through a speaker at lunch time and evening.
  • a service scenario in which weather information is transmitted by e-mail at a predetermined time can be created.
  • a service scenario may be created that collects and analyzes office environment information such as the humidity, temperature, carbon dioxide concentration, and brightness level of an office for a certain period of time.
  • step S500 of controlling the Internet appliance the Internet appliance can be controlled in units of services of the service apparatus according to the service scenario.
  • the object Internet device may be a device that provides a service.
  • the Internet device may include a service provided by the cloud 410.
  • the object Internet apparatus may include a mobile communication apparatus and an information processing apparatus.
  • the Internet appliance may be an application, e-mail, schedule information, date and time provided by the cloud 410.
  • the present invention is not limited to this, and the Internet device may include all devices capable of providing services.
  • the object Internet device may be a device supporting wireless or wired communication.
  • the Internet appliance may support wired communication, short-range wireless communication, Zigbee or Wi-Fi.
  • the Internet appliance may support the MQTT or MQTT-SN protocol.
  • the present invention is not limited to this, and if the object Internet device achieves the object connected to the middleware, there is no restriction on the communication method supported by the object Internet device.
  • FIG. 9 is a flowchart illustrating a method of controlling an object Internet platform according to an embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a step S100 of connecting to an object Internet device of a method for controlling an object Internet platform according to an exemplary embodiment of the present invention.
  • FIG. 11 is a flowchart illustrating a step of generating and storing data of a control method for an object Internet platform according to an embodiment of the present invention.
  • FIG. 12 is a flowchart illustrating a step S400 of generating a service scenario of a method for controlling an object Internet platform according to an embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a step S100 of connecting to an object Internet device of a method for controlling an object Internet platform according to an exemplary embodiment of the present invention.
  • FIG. 11 is a flowchart illustrating a step of generating and storing data of a control method for an object Internet platform according to an embodiment of the present invention.
  • FIG. 12
  • FIG. 13 is a flowchart illustrating a step S500 of controlling the object Internet apparatus of the object Internet platform control method according to an embodiment of the present invention.
  • FIG. 14 is a flowchart illustrating a state monitoring step (S700) of a method for controlling an object Internet platform according to an embodiment of the present invention.
  • FIG. 15 is a flowchart illustrating a step S800 in which the middleware of the control method for the object Internet platform according to an embodiment of the present invention is interlocked.
  • the control method of the object Internet platform includes a step S101 of establishing a connection with the object Internet device, a step S102 of monitoring the status of the object internet device, a runtime service step S503, S600), a status monitoring step S700, a status transmission step S702, a status information display step S703, a step S301 stored in the management server, a step S401 installed in the input means, A step S402 in which a service scenario is created, a step S403 in which a service scenario is created, a step S404 in which a service scenario is converted into a graph in a step S404, a step S501 in which an object Internet device is controlled in accordance with a service scenario graph, And a step (S900) of connecting to the external network or the cloud 500 is substantially the same as the control method of the object Internet platform of Fig. Therefore, the same components as those in the control method of the object Internet platform of FIG. 8 are denoted by the same reference numerals, and the repeated description is o
  • the step S100 of connecting to the object Internet apparatus may include a step S101 of establishing a connection with the object internet apparatus and a step S102 of monitoring the state of the object internet apparatus.
  • step S101 of establishing a connection with the object Internet apparatus it is possible to establish connection with the object Internet apparatus by receiving the device creation information from the object internet apparatus.
  • the connection method with the object Internet device may be wireless communication.
  • the connection method with the Internet device may be wired communication, short-range wireless communication, Zigbee or Wi-Fi.
  • the connection with the Internet device may use the MQTT or MQTT-SN protocol.
  • the present invention is not limited to this, and there is no limitation to the method if the middleware achieves the object of connecting to the Internet device.
  • the state of the object Internet apparatus can be continuously monitored.
  • the on-off state, the normal operation state, the sensor status, the communication connection status, the service execution status, the service setting status, and the service execution status of the object Internet apparatus may be monitored by the monitoring unit.
  • the collected monitoring data may be transmitted to the script editor.
  • the step S500 of controlling the thing Internet apparatus may include a runtime service step S503.
  • the runtime for the step S500 of controlling the object Internet device can be managed.
  • the runtime service step S503 may control or arbitrate cases in which the service scenario is interrupted, replayed, a new scenario is created, or scenes collide with each other during execution of the service scenario.
  • the control method of the object Internet platform may include a middleware management step (S600) and a state monitoring step (S700).
  • the external network of the middleware and the interworking of the cloud 500 and the middleware can be managed.
  • the middleware may operate locally.
  • the interworking between the middleware it can be operated independently. Also, it is possible to arbitrate the middleware so that no conflict occurs between the middleware.
  • status information of the middleware, the object Internet device, the service device, and the service scenario may be collected and stored.
  • the state information includes at least one of the state of the Internet device, the state of the service device, the state of the middleware, the runtime state, the interworking state with the external network and the cloud 500, the interworking state between the middleware, A list of available service devices, a list of available services, a status of the service scenario, and backup data of the service scenario.
  • the monitoring step may include a status transmission step and a status information display step.
  • the script editor may transmit the status information to the script editor upon request.
  • the transmitted status information may be real-time information, stored information, or information of a specific time or specific interval selected by the user.
  • the state information may be received and displayed in the script editor.
  • the status information may be displayed by the service, the service apparatus, or the service scenario.
  • the user can change the displayed status information.
  • the user can change the order of the displayed status information.
  • the user may search for the service, the service device, the service scenario, and the script editor may display the searched result.
  • step S301 stored in the management server data on the object Internet device and a log generated on the object Internet platform may be stored in a management server connected to the middleware.
  • the middleware and the management server may be connected by a network.
  • the middleware may transmit to the management server data information generated in the destination Internet device and log data related to the Internet platform.
  • the management server may store the data information and the log data.
  • the data stored in the management server may be displayed on a separate display unit or a web interface.
  • the data stored in the management server may be displayed in the form of a character, a graph, a photograph, or a moving image.
  • the information stored in the management server can be utilized as big data.
  • the big data can be used for analyzing a usage pattern of the object Internet device or extracting statistics of various information including power information of the object Internet device, sensor data information, e-mail transmission information, and the like. For example, from the big data, the degree of the brightness of the office illumination can be analyzed by the pattern of being affected by the light of the outside weather and the corridor.
  • the Big Data may be combined with a data mining technique and a deep learning technique to generate a recommended service scenario or an automatic service scenario from information analyzed from the analyzed information or the propensity and control pattern of the service scenario of the service scenario.
  • the Big Data can be used to analyze or solve system problems of the Internet platform.
  • the big data can be utilized for analyzing the problems of the same or similar kinds of the Internet platform and the solutions thereof and extracting statistics.
  • the Big Data is combined with a data mining technique and a deep learning technique to learn a method that is solved when a problem occurs by using the analyzed information, and to solve problems by automatically applying a previously solved method when the same problem occurs .
  • the management server may include a function of a logging server.
  • the management server can store all kinds of logs generated on the system.
  • the log can be utilized for problem analysis, solution finding, and problem prediction.
  • the step S400 of creating the service scenario includes a step S401 installed in the input means, a step S402 of generating a script code, a step S403 of generating a service scenario, and a step of converting the scenario into a scenario screen graph can do.
  • the script editor may be installed in the input means selected by the user.
  • the selected input means may be an information processing apparatus, a mobile communication apparatus, or an image display apparatus.
  • the selected input means may be a computer, a television, a projector, a mobile phone, a smart phone, a PDA, a mobile terminal, a cloud application, or a tablet.
  • the present invention is not limited to this, and there is no limit to the apparatus to be installed if the script editor is installed and can achieve the purpose that the user can input.
  • the selected input means may be connected to the middleware by wire or wirelessly.
  • the script editor may be installed in a computer, connected to a LAN or a Wi-Fi, connected to a middleware via an external network, or connected to a middleware directly via a Wi-Fi or connection cable.
  • the user can generate the script code using the script language in the script editor.
  • the script language may be composed of simple syntaxes to enhance user convenience.
  • the script language may support the implementation of service units, and may include if-else, loop, and wait until as control statements.
  • the if-else may be executed when a certain condition is satisfied, and the loop may be repeatedly executed when a certain condition is satisfied, and the wait until may be a condition to wait for execution until a specific condition is satisfied.
  • step S403 in which the service scenario is generated, the value of the script code, the function, the script language, and the script code log may be displayed using the script code.
  • the script code editor may allow a user to write code to create the service scenario using a script language.
  • the service scenario may be generated from the script code.
  • the script code may be sequentially executed according to a description order of the script language.
  • the script code may include one or more services of the service device or one or more service devices that are different from each other. Accordingly, the script code and the service scenario can constitute a composite service combining the services of the service device and the service device.
  • the service scenario may be converted into a service scenario graph.
  • the service scenario graph may be a data structure for providing a composite service on the middleware and scheduling the services.
  • the service scenario graph may be generated by parsing the service scenario and the script code created in the script editor, or may be generated by combining the script codes.
  • the service scenario graph may be an intermediate data structure for performing the service scenario.
  • the step S500 of controlling the object Internet apparatus may control the object Internet apparatus by mapping the service scenario graph to the object internet apparatus and scheduling the service scenario graph.
  • the service scenario graph may be mapped to the object Internet device in the service unit.
  • the service scenario graph may schedule the Internet appliance at the service unit.
  • the service scenario graph may be generated by converting the entire script code for each of the service scenarios, so that the object Internet apparatus can be controlled.
  • the service scenario graph may include a composite service, a condition node, and a repeat node.
  • the composite service may include a composite service including a finite set of service nodes, a finite set of condition nodes, a finite set of iteration nodes, and a finite set of edges representing execution flows between nodes.
  • the composite service G may be a (S, C, L, E) tuple. S is a finite set of service nodes, C is a finite set of conditional nodes, L is a finite set of iteration nodes, and E can be a finite set of nodes that represent the execution flow between nodes.
  • the service node s? S in the service scenario graph may be a basic service executed by the device.
  • the condition node may include a blocking type, a non-blocking type, a true port, and a false port.
  • the condition node c? C may be defined as a tuple (type, true port, false port).
  • the true port and the false port may be an exit port for execution according to a result of the condition.
  • the type may be blocking (B-type) or non-blocking (NB-type).
  • B-type blocking
  • NB-type non-blocking
  • the node of the blocking type blocks the progress of the service graph until the specific condition is satisfied and the node of the non-blocking type can proceed regardless of whether or not the specific condition is satisfied.
  • the wait until in the script language may be the blocking type, and the if-else may be the non-blocking type.
  • the repeating node may include a subgraph corresponding to the loop, a repetition period of the loop, and a loop remaining condition.
  • the repeating node may be a tuple (SG, repetition period, specified condition).
  • the repetition period may be a repetition period of the loop, and the specified condition may be a condition for remaining in the loop. If the above condition is not satisfied, the loop can be terminated.
  • the SG may be a subgraph. This can be a graph corresponding to a loop.
  • the repetition period and the specified condition may be omitted, and may be an infinite loop if there is no repetition period and the specified condition. If there is only the repetition period, it indicates that the infinite loop is executed periodically, and if there is only the specified condition, it can indicate that the loop is executed while satisfying the condition.
  • the present invention is not limited to this, and may be applied to a method for expressing the compound service, the condition node and the repetitive node, a data type, a data type,
  • the structure type is not limited.
  • the tuple may be a list.
  • step S500 of controlling the Internet appliance the Internet appliance can be controlled according to the service scenario graph.
  • the control method of the object Internet platform may include a step S800 of interlocking the middleware and a step S900 of connecting to the external network or the cloud 500.
  • the step of interlocking the middleware includes a first layer middleware generation step (S801) in which a local network is configured with one or more middleware, and a step of interfacing with a second layer middleware formed in the upper layer of the first layer middleware ).
  • the middleware may be one or more, and the middleware may have a hierarchical structure.
  • the middleware can be inter-layered or layer-by-layer.
  • the middleware may be a first layer middleware and a second layer middleware.
  • the first layer middleware may configure a local network.
  • the first layer middleware may be connected to different object Internet devices. For example, one middleware connected to the set of the object Internet devices and another middleware connected to the set of the object Internet devices and the set of the other object Internet devices may be connected.
  • the second layer middleware may be formed in the upper layer of the first layer middleware.
  • the middleware may be connected to the first layer middleware in a manner that the second layer middleware is stacked on the first layer middleware.
  • the middleware may be connected to the external network or the cloud 500, respectively.
  • the external network or the cloud 500 may be connected to one middleware, and the other middleware may be connected to the external network and the cloud 500 using the connected middleware as a bridge.
  • the first layer middleware may be connected to the external network and the cloud 500 through the second layer middleware without being directly connected to the external network. Accordingly, the first layer middleware can be configured as a local network and can be secured.
  • the hierarchical structure of the middleware can be extended.
  • the hierarchical structure may include a first layer middleware of each office unit, a second layer middleware of a building unit including the offices, a third layer middleware of the area including the building, And a fourth layer middleware.
  • the middleware of the upper layer can control or manage the middleware of the lower layer.
  • the object Internet device is connected to the first layer middleware, and the upper middleware can configure devices connected to different first layer middleware as a composite service.
  • the controlling method of the object Internet platform may include managing the interworking of the middleware (S803).
  • the step of managing interworking of the middleware (S803) may manage the interworking between the external network of the middleware and the cloud 500 and the middleware. For example, when the middleware is disconnected from the external network or the cloud 500, the middleware may operate locally. In addition, even when the interworking between the middleware is disconnected, it can be operated independently. Also, it is possible to arbitrate the middleware so that no conflict occurs between the middleware. Accordingly, even if the connection between the external network or the cloud 500 is broken, the middleware can operate stably both locally and independently.
  • the middleware may be connected to the external network or the cloud 500.
  • the middleware may be connected to the external network or the cloud 500.
  • the middleware may be connected to the external network or the cloud 500, respectively.
  • the external network or the cloud 500 may be connected to one middleware, and the other middleware may be connected to the external network and the cloud 500 using the connected middleware as a bridge.
  • FIG. 17 is a block diagram illustrating a service apparatus of a method for controlling an object Internet platform and an object Internet platform according to an embodiment of the present invention.
  • FIG. 18 is a diagram illustrating a service apparatus of a method for controlling an Internet platform and an Internet platform according to an embodiment of the present invention.
  • the object Internet platform and the control method according to the present embodiment are substantially the same as the object internet platform control method of FIG. 8 except for the device identifier, the device attribute, and the device function. Therefore, the same components as those in the control method of the object Internet platform of FIG. 8 are denoted by the same reference numerals, and the repeated description is omitted.
  • the service device may include a device identifier, device attributes, and device capabilities.
  • the device identifier may include the class and name of the thing Internet device.
  • the device attribute may include a status of the object Internet device, a name of a service provided by the object internet device, and a status of a service provided by the object internet device.
  • the device function may include a service provided by the object Internet apparatus.
  • the class of the device identifier is a light bulb
  • the name is a manufacturer
  • the device properties are power on, off state, color state and contrast state, Color adjustment, contrast adjustment, power control.
  • the class of the device identifier is mail
  • the name is Gmail
  • the device attribute is email arrival or not
  • the device function can be email send, email delete, have.
  • the present invention is not limited to this, and there is no restriction on the abstract method if the objective of abstracting the service provided by the object Internet apparatus as a service is achieved.
  • FIG. 19 is a diagram illustrating a script editor of a method for controlling an object Internet platform and a object Internet form according to an embodiment of the present invention.
  • 20 is a diagram illustrating a script language of a method for controlling an object Internet platform and an object Internet platform according to an embodiment of the present invention.
  • FIG. 21 is a diagram illustrating a script code and a service scenario graph of the object Internet platform and the object Internet platform control method according to an embodiment of the present invention.
  • the object Internet platform and the control method according to the present embodiment are substantially the same as the control methods of the object Internet platform of FIGS. 8 and 9 except for the composite service, the condition node, and the repeat node. Therefore, the same constituent elements as those of the control method of the object Internet platform of FIGS. 8 and 9 are denoted by the same reference numerals, and a repeated description thereof will be omitted.
  • the service scenario graph may include a composite service, a condition node, and a repeat node.
  • the composite service may include a composite service including a finite set of service nodes, a finite set of condition nodes, a finite set of iteration nodes, and a finite set of edges representing execution flows between nodes.
  • the composite service G may be a (S, C, L, E) tuple. S is a finite set of service nodes, C is a finite set of conditional nodes, L is a finite set of iteration nodes, and E can be a finite set of nodes that represent the execution flow between nodes.
  • the service node s? S in the service scenario graph may be a basic service executed by the device.
  • the condition node may include a blocking type, a non-blocking type, a true port, and a false port.
  • the condition node c? C may be defined as a tuple (type, true port, false port).
  • the true port and the false port may be an exit port for execution according to a result of the condition.
  • the type may be blocking (B-type) or non-blocking (NB-type).
  • B-type blocking
  • NB-type non-blocking
  • the node of the blocking type blocks the progress of the service graph until the specific condition is satisfied and the node of the non-blocking type can proceed regardless of whether or not the specific condition is satisfied.
  • the wait until in the script language may be the blocking type, and the if-else may be the non-blocking type.
  • the repeating node may include a subgraph corresponding to the loop, a repetition period of the loop, and a loop remaining condition.
  • the repeating node may be a tuple (SG, repetition period, specified condition).
  • the repetition period may be a repetition period of the loop, and the specified condition may be a condition for remaining in the loop. If the above condition is not satisfied, the loop can be terminated.
  • the SG may be a subgraph. This can be a graph corresponding to a loop.
  • the repetition period and the specified condition may be omitted, and may be an infinite loop if there is no repetition period and the specified condition. If there is only the repetition period, it indicates that the infinite loop is executed periodically, and if there is only the specified condition, it can indicate that the loop is executed while satisfying the condition.
  • the present invention is not limited to this, and may be applied to a method for expressing the compound service, the condition node and the repetitive node, a data type, a data type,
  • the structure type is not limited.
  • the tuple may be a list.
  • the camera When the house is dark, the light bulb is turned on when the house is dark, and if the user is away from home at a certain distance, the camera creates a service scenario in which a photograph of a moving object is taken and e-mailed , Script code for combining services using a script language as shown on the left side of FIG. 21, and the middleware can convert the service scenario generated by the script code into the service scenario graph.
  • the service scenario graph may be generated as shown on the right side of FIG.
  • the service scenario graph includes a loop having one repetition period, four service nodes (B, D, E, F) and two condition nodes (A, C) a condition node (A) of a blocking type corresponding to an until statement, and a condition node (C) of a non-blocking type corresponding to an if statement.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 사물 인터넷 플랫폼에 관한 것으로, 사물 인터넷 장치로부터 장치 생성 정보를 수신하여 상기 사물 인터넷 장치와의 연결을 설정하는 장치 관리부, 상기 사물 인터넷 장치를 서비스 장치로 추상화하고, 상기 서비스 시나리오에 따라 상기 사물 인터넷 장치를 제어하는 서비스 관리부 및 상기 장치 관리부, 상기 서비스 관리부, 상기 사물 인터넷 장치에 관한 데이터를 생성 및 저장하는 데이터 관리부를 포함하는 미들웨어 및 상기 서비스 장치에 대한 상기 서비스 시나리오를 생성하는 스크립트 에디터를 포함한다.

Description

서비스 지향 사물 인터넷 플랫폼 및 그 제어 방법
본 발명은 서비스 지향 사물 인터넷 플랫폼 및 제어 방법에 관한 것으로, 보다 상세하게는 사용자가 스크립트 에디터를 이용하여 서비스 시나리오를 생성하여 사물 인터넷 장치가 제공하는 서비스를 서비스 시나리오에 따라서 제어할 수 있는 서비스 지향 사물 인터넷 플랫폼 및 제어 방법에 관한 것이다.
사물인터넷(IoT: Internet of Things)은 각종 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술로, 1999년에 처음으로 소개되었다. 최근에는 단순한 사물 간의 연결을 넘어 센서로 정보를 수집하고 클라우딩 컴퓨터, 인공 지능 기술을 활용하여 정보를 분석하고 새로운 가치를 창출시키는 개념으로 확대되고 있으며 4차 산업의 발전과 함께 더욱 발전 될 것으로 전망 되고 있다.
그러나, 현재 IoT 관련 기술의 대부분은 IoT 장치인 하드웨어를 중심으로 발전 되고 있어, 사용자는 IoT 장치 생산 업체가 제공하는 기능만을 한정적으로 사용할 수 있는 문제점이 있어왔다. 이에 따라, 소프트웨어 중심의 서비스 관점에서의 IoT 기술의 발전이 요구되었고, 다양한 종류의 스마트 기기들과 다양한 IoT 플랫폼들이 어떻게 통합 운영될 수 있을지에 대한 해결책이 모색되어왔다. 이에 대한 해결책으로 다양한 IoT 플랫폼들이 개발되고 있으나, 사용자가 서비스를 프로그래밍할 수 있는 기능을 제공하지 않거나, 조건을 충족하면 이벤트를 실행하는 방식(ECA: Event Condition Action)을 사용하고 있어 사용자의 IoT 제어 자유도가 제한되는 문제점이 있다.
이에 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로, 본 발명의 목적은 사용자가 스크립트 에디터를 이용하여 서비스 시나리오를 생성하고 사물 인터넷 장치가 제공하는 서비스를 서비스 시나리오에 따라서 제어할 수 있는 서비스 지향 사물 인터넷 플랫폼을 제공하는 것이다.
또한, 본 발명의 다른 목적은 사용자가 스크립트 에디터를 이용하여 서비스 시나리오를 생성하고 사물 인터넷 장치가 제공하는 서비스를 서비스 시나리오에 따라서 제어할 수 있는 서비스 지향 사물 인터넷 플랫폼의 제어 방법을 제공하는 것이다.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 사물 인터넷 플랫폼은 사물 인터넷 장치로부터 장치 생성 정보를 수신하여 상기 사물 인터넷 장치와의 연결을 설정하는 장치 관리부, 상기 사물 인터넷 장치를 서비스 장치로 추상화하고, 상기 서비스 시나리오에 따라 상기 사물 인터넷 장치를 제어하는 서비스 관리부 및 상기 장치 관리부, 상기 서비스 관리부 및 상기 사물 인터넷 장치에 관한 데이터를 생성 및 저장하는 데이터 관리부를 포함하는 미들웨어 및 상기 서비스 장치에 대한 상기 서비스 시나리오를 생성하는 스크립트 에디터를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 장치 관리부는 상기 사물 인터넷 장치로부터 장치 생성 정보를 수신하여 상기 사물 인터넷 장치와의 연결을 설정하는 장치 연결부 및 상기 사물 인터넷 장치의 상태를 모니터링하는 장치 모니터링부를 포함하고, 상기 서비스 관리부는 상기 사물 인터넷 장치를 상기 서비스 장치로 추상화하는 서비스 장치 생성부, 상기 서비스 시나리오에 따라 상기 사물 인터넷 장치를 제어하는 서비스 장치 제어부 및 상기 서비스 장치 제어부에 대한 런타임을 관리하는 런타임 서비스 부를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 데이터 관리부는 상기 미들웨어의 상태를 관리하는 상태 관리부, 상기 미들웨어, 상기 사물 인터넷 장치, 상기 서비스 장치 및 상기 서비스 시나리오의 상태 정보를 수집하고 저장하는 상태 모니터링부, 상기 스크립트 에디터에서 요청 시 상기 상태 정보를 상기 스크립트 에디터에 전송하는 상태 전송부를 포함하고, 상기 스크립트 에디터는 상기 상태 정보를 전송받아 표시하는 상태 정보 표시부를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 서비스 장치는 상기 사물 인터넷 장치가 제공하는 장치 식별자, 장치 속성 및 장치 기능을 추상화하여 재구성한 서비스 단위의 데이터이고, 상기 장치 식별자는 상기 사물 인터넷 장치의 클래스 및 장치의 명칭을 포함하고, 상기 장치 속성은 상기 사물 인터넷 장치의 상태, 상기 사물 인터넷 장치가 제공하는 서비스의 명칭 및 상기 사물 인터넷 장치가 제공하는 서비스의 상태를 포함하고, 상기 장치 기능은 상기 사물 인터넷 장치가 제공하는 기능 및 비기능적 특성을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 스크립트 에디터는 사용자에 의해 선택받은 입력 수단에 설치되고, 스크립트 언어를 지원하는 스크립트 코드 편집기를 포함하고, 상기 스크립트 코드 편집기에서 사용자에 의해 생성된 스크립트 코드는 상기 서비스 장치의 하나 이상의 서비스 또는 하나 이상의 서로 상이한 상기 서비스 장치를 포함하고, 상기 서비스 시나리오는 상기 스크립트 코드로부터 생성되며, 상기 스크립트 코드의 기재 순서에 따라 순차적으로 수행되고, 상기 스크립트 언어는 if-else, loop 및 wait until을 제어구문으로 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 미들웨어는 상기 서비스 시나리오를 서비스 시나리오 그래프로 변환하는 서비스 시나리오 그래프 변환부를 포함하고, 상기 서비스 관리부는 상기 서비스 시나리오 그래프를 상기 사물 인터넷 장치에 매핑하고 스케줄링하여 상기 사물 인터넷 장치를 제어하고, 상기 서비스 시나리오 그래프는 서비스 노드의 유한 집합, 조건 노드의 유한집합, 반복 노드의 유한집합 및 노드 사이의 실행 흐름을 나타내는 간선의 유한집합을 포함하는 복합 서비스, 블록킹 타입, 논블록킹 타입, 참 포트 및 거짓 포트를 포함하는 조건 노드 및 루프에 해당하는 서브 그래프, 루프의 반복 주기 및 루프 잔존 조건을 포함하는 반복 노드를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 미들웨어는 하나 이상이고, 상기 미들웨어들은 계층 구조를 이루며, 상기 미들웨어들은 로컬 네트워크를 구성하는 하나 이상의 제1 계층 미들웨어, 및 상기 제1 계층 미들웨어의 상위에 형성되는 제2 계층 미들웨어를 포함하고, 상기 미들웨어들은 계층별 또는 계층 간에 연동되고, 상기 데이터 관리부는 상기 미들웨어들의 연동을 관리하고, 상기 미들웨어들은 계층별 또는 계층 간에 연동될 수 있다.
본 발명의 일 실시예에 있어서, 상기 미들웨어는 외부 네트워크 또는 클라우드에 연결되어 동작할 수 있다.
본 발명의 일 실시예에 있어서, 상기 장치 관리부는 MQTT 프로토콜을 이용하여 상기 사물 인터넷 장치와 연결되고, 상기 사물 인터넷 장치는 클라우드, MQTT 프로토콜이 지원되는 비제한적 장치 및 MQTT 프로토콜이 지원되지 않는 제한적 장치를 포함하고, 상기 서비스 장치는 클라우드 어플리케이션이 제공하는 서비스를 포함하고, 상기 사물 인터넷 플랫폼은 상기 제한적 장치에 연결되어 MQTT 프로토콜을 지원하도록 하는 게이트웨이를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 사물 인터넷 플랫폼은 상기 미들웨어와 연결되고, 상기 사물 인터넷 장치에 관한 데이터 및 상기 사물 인터넷 플랫폼에서 발생되는 로그가 저장되는 관리 서버를 포함하고, 상기 스크립트 에디터는 정보처리장치, 이동통신장치 또는 화상표시장치에 설치되고, 상기 정보처리장치, 이동통신장치 또는 화상표시장치는 유선 또는 무선으로 상기 미들웨어에 연결될 수 있다.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법은 미들웨어가 사물 인터넷 장치에 연결되는 단계, 상기 사물 인터넷 장치를 서비스 장치로 추상화하는 단계, 상기 사물 인터넷 장치 및 상기 서비스 장치에 관한 데이터를 생성 및 저장하는 단계, 스크립트 에디터에서 상기 서비스 장치에 대한 서비스 시나리오를 생성하는 단계, 상기 서비스 시나리오에 따라 상기 사물 인터넷 장치를 제어하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 사물 인터넷 장치에 연결되는 단계는 상기 사물 인터넷 장치로부터 장치 생성 정보를 수신하여 상기 사물 인터넷 장치와의 연결을 설정하는 단계 및 상기 사물 인터넷 장치의 상태를 모니터링하는 단계를 포함하고, 상기 사물 인터넷 장치를 제어하는 단계는 상기 사물 인터넷 장치를 제어하는 단계에 대한 런타임을 관리하는 런타임 서비스 단계를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 사물 인터넷 플랫폼의 제어 방법은 상기 미들웨어의 상태를 관리하는 미들웨어 관리 단계 및 상기 미들웨어, 상기 사물 인터넷 장치, 상기 서비스 장치 및 상기 서비스 시나리오의 상태 정보를 수집하고 저장하는 상태 모니터링 단계를 더 포함하고, 상기 모니터링 단계는 상기 스크립트 에디터에서 요청시 상기 상태 정보를 상기 스크립트 에디터에 전송하는 상태 전송단계 및 상기 상태 정보를 전송받아 상기 스크립트 에디터에 표시하는 상태 정보 표시단계를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 서비스 장치는 상기 사물 인터넷 장치가 제공하는 장치 식별자, 장치 속성 및 장치 기능을 추상화하여 재구성한 서비스 단위의 데이터이고, 상기 장치 식별자는 상기 사물 인터넷 장치의 클래스 및 명칭을 포함하고, 상기 장치 속성은 상기 사물 인터넷 장치의 상태, 상기 사물 인터넷 장치가 제공하는 서비스의 명칭 및 상기 사물 인터넷 장치가 제공하는 서비스의 상태를 포함하고, 상기 장치 기능은 상기 사물 인터넷 장치가 제공하는 기능 및 비기능적 특성을 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 서비스 시나리오를 생성하는 단계는 상기 스크립트 에디터가 사용자에 의해 선택받은 입력 수단에 설치되는 단계, 사용자에 의해 스크립트 에디터에서 스크립트 언어를 이용하여 스크립트 코드를 생성하는 단계 및 상기 스크립트 코드로부터 상기 서비스 시나리오가 생성되는 단계를 포함하고, 상기 사용자에 의해 생성된 스크립트 코드는 상기 서비스 장치의 하나 이상의 서비스 또는 하나 이상의 서로 상이한 상기 서비스 장치를 포함하고, 상기 서비스 시나리오는 상기 스크립트 코드의 기재 순서에 따라 순차적으로 수행되고, 상기 스크립트 언어는 if-else, loop 및 wait until을 제어구문으로 포함하는 것을 특징으로 할 수 있다.
본 발명의 일 실시예에 있어서, 상기 서비스 시나리오를 생성하는 단계는 상기 서비스 시나리오를 서비스 시나리오 그래프로 변환하는 단계를 포함하고, 상기 사물 인터넷 장치를 제어하는 단계는 상기 서비스 시나리오 그래프를 상기 사물 인터넷 장치에 매핑하고 스케줄링하여 상기 사물 인터넷 장치를 제어하는 단계를 포함하고, 상기 서비스 시나리오 그래프는, 서비스 노드의 유한 집합, 조건 노드의 유한집합, 반복 노드의 유한집합 및 노드 사이의 실행 흐름을 나타내는 간선의 유한집합을 포함하는 복합 서비스, 블록킹 타입, 논블록킹 타입, 참 포트 및 거짓 포트를 포함하는 조건 노드 및 루프에 해당하는 서브 그래프, 루프의 반복 주기 및 루프 잔존 조건을 포함하는 반복 노드를 포함하는 것을 특징으로 할 수 있다.
본 발명의 일 실시예에 있어서, 사물 인터넷 플랫폼의 제어 방법은 하나 이상의 미들웨어가 연동되는 단계를 더 포함하고, 상기 미들웨어가 연동되는 단계는, 하나 이상의 상기 미들웨어로 로컬 네트워크가 구성되는 제1 계층 미들웨어 생성단계, 상기 제1 계층 미들웨어의 상위에 형성되는 제2 계층 미들웨어와 연동되는 단계 및 상기 미들웨어들의 연동을 관리하는 단계를 포함하고, 상기 미들웨어들은 계층별 또는 계층간에 연동되는 것을 특징으로 할 수 있다.
본 발명의 일 실시예에 있어서, 사물 인터넷 플랫폼의 제어 방법은 상기 미들웨어가 외부 네트워크 또는 클라우드에 연결되는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 사물 인터넷 장치는 클라우드, MQTT 프로토콜이 지원되는 비제한적 장치 및 MQTT 프로토콜이 지원되지 않는 제한적 장치를 포함하고, 상기 서비스 장치는 클라우드 어플리케이션이 제공하는 서비스를 포함하고, 상기 사물 인터넷 플랫폼의 제어 방법은 상기 제한적 장치에 연결되어 MQTT 프로토콜을 지원하도록 하는 게이트웨이를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 사물 인터넷 플랫폼의 제어 방법은 상기 사물 인터넷 장치에 관한 데이터 및 상기 사물 인터넷 플랫폼에서 발생되는 로그가 상기 미들웨어와 연결된 관리 서버에 저장되는 단계를 더 포함하고, 상기 스크립트 에디터는 정보처리장치, 이동통신장치 또는 화상표시장치에 설치되고, 상기 정보처리장치, 이동통신장치 또는 화상표시장치는 유선 또는 무선으로 상기 미들웨어에 연결되는 것을 특징으로 할 수 있다.
본 발명의 실시예들에 따르면, 사물 인터넷 플랫폼 및 제어 방법은 사용자가 스크립트 에디터를 이용하여 서비스 시나리오를 생성하고 사물 인터넷 장치가 제공하는 서비스를 서비스 시나리오에 따라서 제어할 수 있다. 따라서, 사용자가 IoT 환경에 적극적으로 개입하여 새로운 서비스를 추가하고, 능동적으로 IoT 환경을 재구성함으로써 사용자의 IoT 장치 제어 자유도를 높일 수 있고, 사용자가 IoT 환경 주도권을 가지도록 할 수 있다. 또한, 간단한 구조의 스크립트 언어를 사용함으로써 사용자의 IoT 장치 제어 편의성을 높일 수 있다.
도 1은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼을 나타내는 구성도이다.
도 2는 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 장치 관리부를 나타내는 구성도이다.
도 3은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 서비스 관리부를 나타내는 구성도이다.
도 4는 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 데이터 관리부를 나타내는 구성도이다.
도 5는 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 스크립트 에디터를 나타내는 구성도이다.
도 6은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제1 계층 미들웨어 및 제2 계층 미들웨어를 나타내는 구성도이다.
도 7은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 게이트웨이를 나타내는 구성도이다.
도 8은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법을 나타내는 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법을 나타내는 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법의 사물 인터넷 장치에 연결되는 단계를 나타내는 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법의 데이터를 생성 및 저장하는 단계를 나타내는 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법의 서비스 시나리오를 생성하는 단계를 나타내는 흐름도이다.
도 13은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법의 사물 인터넷 장치를 제어하는 단계를 나타내는 흐름도이다.
도 14는 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법의 상태 모니터링 단계를 나타내는 흐름도이다.
도 15는 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법의 미들웨어가 연동되는 단계를 나타내는 흐름도이다.
도 16은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼을 나타내는 구성도이다.
도 17은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼 및 사물 인터넷 플랫폼의 제어 방법의 서비스 장치를 나타내는 구성도이다.
도 18은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼 및 사물 인터넷 플랫폼의 제어 방법의 서비스 장치를 나타내는 도면이다.
도 19는 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼 및 사물 인터넷 플랫폼의 제어 방법의 스크립트 에디터를 나타내는 도면이다.
도 20은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼 및 사물 인터넷 플랫폼의 제어 방법의 스크립트 언어를 나타내는 도면이다.
도 21은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼 및 사물 인터넷 플랫폼의 제어 방법의 스크립트 코드 및 서비스 시나리오 그래프를 나타내는 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 실시예들을 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다.
상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함하다" 또는 "이루어진다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼을 나타내는 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼은 사물 인터넷 장치, 미들웨어 및 스크립트 에디터를 포함한다.
상기 미들웨어(100)는 장치 관리부(110), 서비스 관리부(130), 데이터 관리부(150)를 포함한다.
상기 장치 관리부(110)는 상기 사물 인터넷 장치(400)로부터 장치 생성 정보를 수신하여 상기 사물 인터넷 장치(400)와의 연결을 설정할 수 있다. 상기 사물 인터넷장치와의 연결방법은 무선통신일 수 있다. 상기 사물 인터넷 장치(400)와의 연결 방법은 유선통신, 근거리 무선통신, Zigbee 또는 와이파이 일 수 있다. 예를 들면, 상기 사물 인터넷 장치(400)와의 연결은 MQTT 또는 MQTT-SN 프로토콜을 이용할 수 있다. 그러나, 본 발명은 이에 한정되는 것은 아니고, 상기 장치 관리부(110)가 상기 사물 인터넷 장치(400)와 연결되는 목적을 달성한다면 그 방법에 제한은 없다.
상기 서비스 관리부(130)는 상기 사물 인터넷 장치(400)를 상기 서비스 장치로 추상화하고, 상기 서비스 시나리오에 따라 상기 사물 인터넷 장치(400)를 제어할 수 있다. 상기 서비스 관리부(130)는 상기 사물 인터넷 장치(400)를 상기 사물 인터넷 장치(400)가 제공하는 기능 또는 비기능적 특성을 포함하는 서비스로 추상화하여 상기 서비스 장치를 생성할 수 있다. 예를 들면, 상기 비기능적 특성은 에너지, 대기시간 또는 상기 사물 인터넷 장치(400)에 부착된 센서가 수집한 정보 일 수 있다. 그러나, 본 발명은 이에 한정되는 것은 아니며, 상기 사물 인터넷 장치(400)가 제공할 수 있는 모든 데이터는 서비스 장치의 대상이 될 수 있다. 또한, 상기 서비스 관리부(130)는 상기 서비스 시나리오에 따라 상기 서비스 장치의 서비스 단위로 상기 사물 인터넷 장치(400)를 제어 할 수 있다.
상기 데이터 관리부(150)는 상기 장치 관리부(110), 상기 서비스 관리부(130), 상기 사물 인터넷 장치(400)에 관한 데이터를 생성 및 저장할 수 있다. 상기 데이터는 상기 장치 관리부(110)의 상태, 상기 서비스 관리부(130)의 상태, 상기 사물 인터넷 장치(400)의 상태, 상기 서비스 장치의 상태, 사용 가능한 상기 사물 인터넷 장치(400)의 목록, 사용 가능한 상기 서비스 장치의 목록, 상기 서비스 시나리오의 상태 및 상기 서비스 시나리오의 백업 자료 일 수 있다.
상기 스크립트 에디터(200)는 상기 서비스 장치에 대한 상기 서비스 시나리오를 생성할 수 있다. 상기 스크립트 에디터(200)는 사용자에 의해 선택받은 입력 수단에 설치될 수 있다. 상기 선택받은 입력 수단은 정보처리장치, 이동통신장치 또는 화상표시장치 일 수 있다. 예를 들면, 상기 선택받은 입력 수단은 컴퓨터, 텔레비전, 프로젝터, 휴대폰, 스마트폰, PDA, 이동 단말기, 클라우드(410) 어플리케이션 또는 태블릿 일 수 있다. 그러나 본 발명은 이에 한정되는 것은 아니고, 상기 스크립트 에디터(200)가 설치되어 사용자가 입력할 수 있는 목적을 달성할 수 있다면 설치되는 장치에 제한은 없다. 또한, 상기 선택받은 입력 수단은 유선 또는 무선으로 상기 미들웨어(100)에 연결될 수 있다. 예를 들면, 상기 스크립트 에디터(200)는 컴퓨터에 설치되어 LAN 또는 와이파이에 연결되어 외부 네트워크를 통해 미들웨어(100)에 연결되거나, 와이파이 또는 연결 케이블에 연결되어 미들웨어(100)와 직접 연결 될 수 있다.
상기 스크립트 에디터(200)는 스크립트 언어를 지원하는 스크립트 코드를 포함할 수 있다. 상기 스크립트 언어는 간단한 구문으로 구성되어 사용자 편의성을 증대 시킬 수 있다. 예를 들면, 상기 스크립트 언어는 서비스 단위의 구현을 지원할 수 있고, if-else, loop 및 wait until을 제어구문으로 포함할 수 있다. 예를 들면, if-else는 특정 조건을 만족하는 경우 실행하도록, loop는 특정 조건을 만족하는 경우 반복 실행하도록, wait until은 특정 조건을 충족하기 전까지 실행을 대기하도록 제어하는 구문 일 수 있다.
상기 스크립트 코드는 사용자가 스크립트 언어를 이용하여 상기 서비스 시나리오를 생성하는 코드일 수 있다. 상기 스크립트 코드는 상기 스크립트 언어의 기재 순서에 따라 순차적으로 수행될 수 있다. 상기 스크립트 코드는 상기 서비스 장치의 하나 이상의 서비스 또는 하나 이상의 서로 상이한 상기 서비스 장치를 포함할 수 있다. 이에 따라, 상기 스크립트 코드 및 상기 서비스 시나리오는 상기 서비스 장치 및 상기 서비스 장치의 서비스들을 결합한 복합적인 서비스를 구성할 수 있다.
예를 들면, 사용자는 스크립트 코드를 이용하여 오후 9시 이후에 오피스의 모든 불이 꺼진 조건에서 움직임이 감지되는 경우 램프를 켜고, 사진을 찍어서 이를 SMS와 이메일로 보내는 서비스 시나리오를 생성할 수 있다. 또 다른 예로는, 미팅이 예정된 경우 회의실에 설치된 컴퓨터, 모니터, 프로젝터, 에어컨 및 티비 등을 자동으로 켜고, 카메라로 미팅을 녹화하도록 하는 서비스 시나리오를 생성할 수 있다. 또 다른 예로는, 오피스에 들어오는 사람을 카메라로 촬영하여 사진을 찍고, 사진 속 사람의 감정을 파악하여 오디오에서 파악된 감정에 따라 설정된 음악을 재생하는 서비스 시나리오를 생성할 수 있다. 또 다른 예로는, 웹사이트에서 제공하는 식사 메뉴를 확인하여 이를 음성파일로 합성한 후 스피커를 통해서 점심 시간과 저녁 시간에 음성 파일로 재생하는 서비스 시나리오를 생성할 수 있다. 또 다른 예로는, 창문이 없는 오피스의 경우, 일정 시간마다 날씨 정보를 이메일로 전송하는 서비스 시나리오를 생성할 수 있다. 또 다른 예로는, 일정 기간 동안 오피스의 습도, 온도, 이산화탄소 농도 및 밝기 정도 등의 오피스 환경 정보를 수집하여 분석하도록 하는 서비스 시나리오를 생성할 수 있다.
상기 사물 인터넷 장치(400)는 서비스를 제공하는 장치 일 수 있다. 상기 사물 인터넷 장치(400)는 클라우드(410)가 제공하는 서비스를 포함할 수 있다. 상기 사물 인터넷 장치(400)는 이동통신장치 및 정보처리장치를 포함할 수 있다. 예를 들면, 상기 사물 인터넷 장치(400)는 클라우드(410)가 제공하는 어플리케이션, 이메일, 일정 정보, 날짜 및 시간일 수 있다. 그러나, 본 발명은 이에 한정되는 것은 아니고, 상기 사물 인터넷 장치(400)는 서비스를 제공할 수 있는 모든 장치를 포함할 수 있다.
상기 사물 인터넷 장치(400)는 무선 또는 유선 통신을 지원하는 장치 일 수 있다. 예를 들면, 상기 사물 인터넷 장치(400)는 유선통신, 근거리 무선통신, Zigbee 또는 와이파이를 지원할 수 있다. 상기 사물 인터넷 장치(400)는 MQTT 또는 MQTT-SN 프로토콜을 지원할 수 있다. 그러나, 본 발명은 이에 한정되는 것은 아니고, 상기 사물 인터넷 장치(400)가 상기 미들웨어(100)에 연결되는 목적을 달성한다면 상기 사물 인터넷 장치(400)가 지원하는 통신방법에 제한은 없다.
도 2는 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 장치 관리부(110)를 나타내는 구성도이다. 도 3은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 서비스 관리부(130)를 나타내는 구성도이다. 도 4는 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 데이터 관리부(150)를 나타내는 구성도이다. 도 5는 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 스크립트 에디터(200)를 나타내는 구성도이다.
본 실시예에 따른 사물 인터넷 플랫폼은 장치 연결부(111), 장치 모니터링부(113), 서비스 장치 생성부(131), 서비스 장치 제어부(133), 런타임 서비스부(135), 상태 관리부(151), 상태 모니터링부(153), 상태 전송부(155), 상태 정보 표시부(210), 스크립트 코드 편집기(230), 서비스 시나리오 그래프 변환부(137)를 제외하고는 도 1의 사물 인터넷 플랫폼과 실질적으로 동일하다. 따라서, 도 1과 동일한 사물 인터넷 플랫폼과 동일한 구성요소는 동일한 도면 부호를 부여하고, 반복되는 설명은 생략한다.
상기 장치 관리부(110)는 장치 연결부(111) 및 장치 모니터링부(113)를 포함한다.
상기 장치 관리부(110)는 상기 사물 인터넷 장치(400)로부터 장치 생성 정보를 수신하여 상기 사물 인터넷 장치(400)와의 연결을 설정할 수 있다. 상기 사물 인터넷장치와의 연결방법은 무선통신일 수 있다. 상기 사물 인터넷 장치(400)와의 연결 방법은 유선통신, 근거리 무선통신, Zigbee 또는 와이파이일 수 있다. 예를 들면, 상기 사물 인터넷 장치(400)와의 연결은 MQTT 또는 MQTT-SN 프로토콜을 이용할 수 있다. 그러나, 본 발명은 이에 한정되는 것은 아니고, 상기 장치 연결부(111)가 상기 사물 인터넷 장치(400)와 연결되는 목적을 달성한다면 그 방법에 제한은 없다.
상기 장치 모니터링부(113)는 상기 사물 인터넷 장치(400)의 상태를 지속적으로 모니터링할 수 있다. 상기 사물 인터넷 장치(400)의 온, 오프 상태, 정상동작 상태, 센서의 상태, 통신 연결 상태, 서비스 수행 가능 여부, 서비스 설정 상태 및 서비스 수행 상태 등을 모니터링 할 수 있다. 그러나 본 발명은 이에 한정되는 것은 아니고, 상기 사물 인터넷 플랫폼의 동작과 관련된 데이터라면 모두 모니터링부의 모니터링 대상이 될 수 있다. 상기 수집된 모니터링 데이터는 상기 스크립트 에디터(200)에 전달 될 수 있다.
상기 서비스 관리부(130)는 서비스 장치 생성부(131), 서비스 장치 제어부(133) 및 런타임 서비스부(135)를 포함한다.
상기 서비스 장치 생성부(131)는 상기 사물 인터넷 장치(400)를 상기 서비스 장치로 추상화할 수 있다. 상기 서비스 장치는 상기 사물 인터넷 장치(400)가 제공하는 장치 식별자, 장치 속성 및 장치 기능을 추상화하여 재구성한 서비스 단위의 데이터일 수 있다. 상기 장치 식별자는 상기 사물 인터넷 장치(400)의 클래스 및 장치의 명칭을 포함할 수 있다. 상기 장치 속성은 상기 사물 인터넷 장치(400)의 상태, 상기 사물 인터넷 장치(400)가 제공하는 서비스의 명칭 및 상기 사물 인터넷 장치(400)가 제공하는 서비스의 상태를 포함할 수 있다. 상기 장치 기능은 상기 사물 인터넷 장치(400)가 제공하는 서비스를 포함할 수 있다. 상기 장치의 명칭은 다른 사물 인터넷 장치와 구분되는 값일 수 있으며, 사용자에 의해 또는 시스템에 의해 변경될 수 있다. 또한, 상기 장치의 명칭은 사용자가 런타임에 원하는 형태의 이름일 수 있다. 예를 들면, 전구를 추상화하는 경우 상기 장치 식별자의 클래스는 전구이고, 명칭은 제조사이며, 상기 장치 속성은 전원 온, 오프 상태, 색상 상태 및 명암 상태이고, 상기 장치 기능의 서비스는 색상 조절, 명암 조절, 전원 제어일 수 있다. 그러나 본 발명은 이에 한정되는 것은 아니고, 상기 사물 인터넷 장치(400)가 제공하는 것을 서비스로 추상화할 수 있는 목적이 달성된다면 추상화 방법에 제한은 없다. 예를 들면, 상기 장치의 명칭은 반드시 제조사일 필요는 없으며, 사용자가 정의한 장치의 명칭일 수 있다.
상기 서비스 장치 제어부(133)는 상기 서비스 시나리오에 따라 상기 사물 인터넷 장치(400)를 제어할 수 있다. 상기 서비스 장치 제어부(133)는 상기 서비스 시나리오에 따라 상기 서비스 장치의 서비스 단위로 상기 사물 인터넷 장치(400)를 제어 할 수 있다.
상기 런타임 서비스부(135)는 상기 서비스 장치 제어부(133)에 대한 런타임을 관리할 수 있다. 상기 런타임 서비스부(135)는 상기 서비스 시나리오를 수행 중 사용자에 의해 중단되거나, 재실행 되거나, 새로운 시나리오를 생성하는 경우, 또는 시나리오끼리 충돌되는 경우를 제어 또는 중재 할 수 있다.
상기 데이터 관리부(150)는 상태 관리부(151), 상태 모니터링부(153) 및 상태 전송부(155)를 포함한다.
상기 상태 관리부(151)는 상기 미들웨어(100)의 상태를 관리할 수 있다. 상기 상태 관리부(151)는 상기 미들웨어(100)의 외부 네트워크 및 클라우드(500) 연동 및 상기 미들웨어(100) 간의 연동을 관리할 수 있다. 예를 들어, 상기 미들웨어(100)가 외부 네크워크 또는 클라우드(500)와 연동이 단절된 경우 로컬로 동작하도록 할 수 있다. 또한, 상기 미들웨어(100) 간의 연동이 단절된 경우에도 단독으로 동작하도록 할 수 있다. 또한, 상기 미들웨어(100) 간에 충돌이 되지 않도록 중재할 수 있다.
상기 모니터링부는 상기 미들웨어(100), 상기 사물 인터넷 장치(400), 상기 서비스 장치 및 상기 서비스 시나리오의 상태 정보를 수집하고 저장할 수 있다. 상기 상태 정보는 상기 장치 관리부(110)의 상태, 상기 서비스 관리부(130)의 상태, 상기 사물 인터넷 장치(400)의 상태, 상기 서비스 장치의 상태, 상기 미들웨어(100)의 상태, 상기 런타임 상태, 외부 네트워크 및 클라우드(500)와의 연동 상태, 상기 미들웨어(100) 간의 연동 상태, 사용 가능한 상기 사물 인터넷 장치(400)의 목록, 사용 가능한 상기 서비스 장치의 목록, 사용 가능한 상기 서비스의 목록, 상기 서비스 시나리오의 상태 및 상기 서비스 시나리오의 백업 자료 일 수 있다.
상기 상태 전송부(155)는 상기 스크립트 에디터(200)에서 요청 시 상기 상태 정보를 상기 스크립트 에디터(200)에 전송할 수 있다. 상기 전송되는 상태 정보는 실시간 정보, 저장된 정보 또는 사용자가 선택한 특정 시점 또는 특정 구간의 정보 일 수 있다.
상기 스크립트 에디터(200)는 상태정보 표시부, 스크립트 코드 편집기(230)를 포함한다.
상기 상태정보 표시부는 상기 스크립트 에디터(200)는 상기 상태 정보를 전송받아 표시할 수 있다. 상기 상태 정보는 상기 서비스별, 상기 서비스 장치별 또는 상기 서비스 시나리오별로 표시될 수 있다. 사용자는 상기 상태 정보 표시부(210)에 표시되는 정보를 변경할 수 있다. 사용자는 상기 상태 정보 표시부(210)에 표시되는 정보의 순서를 변경할 수 있다. 사용자는 상기 서비스, 상기 서비스 장치, 상기 서비스 시나리오를 검색할 수 있고, 상기 상태정보 표시부는 상기 검색된 결과를 표시할 수 있다.
상기 스크립트 에디터(200)는 스크립트 언어를 지원하는 스크립트 코드 편집기(230)를 포함할 수 있다. 상기 스크립트 언어는 간단한 구문으로 구성되어 사용자 편의성을 증대시킬 수 있다. 예를 들면, 상기 스크립트 언어는 서비스 단위의 구현을 지원할 수 있고, if-else, loop 및 wait until을 제어구문으로 포함할 수 있다. 예를 들면, if-else는 특정 조건을 만족하는 경우 실행하도록, loop는 특정 조건을 만족하는 경우 반복 실행하도록, wait until은 특정 조건을 충족하기 전까지 실행을 대기하도록 제어하는 구문 일 수 있다.
상기 스크립트 코드 편집기(230)는 상기 스크립트 코드의 값, 함수, 스크립트 언어 및 스크립트 코드 로그를 표시할 수 있다. 상기 스크립트 코드 편집기(230)는 사용자가 스크립트 언어를 이용하여 상기 서비스 시나리오를 생성하는 코드를 작성하도록 할 수 있다. 상기 서비스 시나리오는 상기 스크립트 코드로부터 생성될 수 있다. 상기 스크립트 코드는 상기 스크립트 언어의 기재 순서에 따라 순차적으로 수행될 수 있다. 상기 스크립트 코드는 상기 서비스 장치의 하나 이상의 서비스 또는 하나 이상의 서로 상이한 상기 서비스 장치를 포함할 수 있다. 이에 따라, 상기 스크립트 코드 및 상기 서비스 시나리오는 상기 서비스 장치 및 상기 서비스 장치의 서비스들을 결합한 복합적인 서비스를 구성할 수 있다.
상기 미들웨어는 상기 서비스 시나리오 그래프 변환부(137)를 포함할 수 있다. 상기 서비스 시나리오 그래프 변환부(137)는 상기 서비스 시나리오를 서비스 시나리오 그래프로 변환할 수 있다. 상기 서비스 시나리오 그래프는 상기 미들웨어 상에서 복합적인 서비스를 제공하고 상기 서비스들을 스케줄링하기 위한 자료구조 일 수 있다. 상기 서비스 시나리오 그래프는 상기 스크립트 에디터(200)에서 작성된 상기 스크립트 코드를 파싱하여 생성될 수 있다. 상기 서비스 시나리오 그래프는 상기 서비스 시나리오의 수행을 위한 중간 자료구조일 수 있다.
상기 서비스 관리부(130)는 상기 서비스 시나리오 그래프를 상기 사물 인터넷 장치(400)에 매핑하고 스케줄링하여 상기 사물 인터넷 장치(400)를 제어할 수 있다. 상기 서비스 시나리오 그래프는 상기 서비스 단위로 상기 사물 인터넷 장치에 매핑될 수 있다. 상기 서비스 시나리오 그래프는 상기 서비스 단위로 상기 사물 인터넷 장치를 스케줄링할 수 있다. 상기 서비스 시나리오 그래프는 상기 서비스 시나리오 별로 상기 스크립트 코드 전체가 변환되어 생성될 수 있고, 이에 따라 상기 사물 인터넷 장치의 제어가 수행될 수 있다.
상기 서비스 시나리오 그래프는 복합 서비스, 조건 노드 및 반복 노드를 포함할 수 있다.
상기 복합 서비스는 서비스 노드의 유한 집합, 조건 노드의 유한집합, 반복 노드의 유한집합 및 노드 사이의 실행 흐름을 나타내는 간선의 유한집합을 포함하는 복합 서비스를 포함할 수 있다. 상기 복합 서비스 G는 (S, C, L, E)튜플일 수 있다. S는 서비스 노드의 유한 집합이고, C는 조건 노드의 유한 집합이고, L은 반복 노드의 유한 집합이고, E는 노드 사이의 실행 흐름을 나타내는 간성의 유한 집합일 수 있다. 상기 서비스 시나리오 그래프에 있는 서비스 노드 s∈S는 기기에 의해서 실행되는 기본적인 서비스일 수 있다.
상기 조건 노드는 블록킹 타입, 논블록킹 타입, 참 포트 및 거짓 포트를 포함할 수 있다. 상기 조건 노드 c∈C는 (타입, 참 포트, 거짓 포트)라는 튜플로 정의될 수 있다. 상기 참 포트 및 상기 거짓 포트는 조건의 결과에 따라서 실행하기 위한 출구 포트 일 수 있다. 상기 타입은 블록킹(B-type)이거나 논블록킹(NB-type)일 수 있다. 상기 블록킹 타입의 노드는 특정 조건을 충족하기 전까지 서비스 그래프의 진행을 차단하고, 논블록킹 타입의 노드는 특정 조건 충족 여부와 관계없이 진행될 수 있다. 예를 들면, 상기 스크립트 언어에서의 상기 wait until은 상기 블록킹 타입이고, 상기 if-else는 상기 논블록킹 타입 일 수 있다.
상기 반복 노드는 루프에 해당하는 서브 그래프, 루프의 반복 주기 및 루프 잔존 조건을 포함할 수 있다. 상기 반복 노드는 (SG, 반복 주기, 지정된 조건)라는 튜플일 수 있다. 상기 반복 주기는 루프의 반복 주기일 수 있고, 상기 지정된 조건은 루프에 남아있기 위한 조건일 수 있다. 상기 조건을 충족하지 못하면 상기 루프는 종료 될 수 있다. 상기 SG는 서브 그래프일 수 있다. 이는 루프에 해당하는 그래프 일 수 있다. 상기 반복 주기 및 상기 지정된 조건은 생략될 수 있으며, 상기 반복 주기와 상기 지정된 조건이 모두 없는 경우에는 무한루프를 의미할 수 있다. 상기 반복 주기만 있는 경우에는 무한루프가 주기적으로 실행되는 것을 나타내고, 상기 지정된 조건만 있는 경우에는 조건을 충족하는 동안에 루프를 실행되는 것을 나타낼 수 있다.
그러나, 본 발명은 이에 한정되는 것은 아니고, 상기 복합 서비스, 상기 조건 노드 및 상기 반복 노드를 표현할 수 있는 목적이 달성된다면 상기 복합 서비스, 상기 조건 노드 및 상기 반복 노드를 표현하는 방법, 데이터 타입, 자료구조 타입은 제한 되지 않는다. 예를 들어, 상기 튜플은 리스트 일 수 있다.
도 6은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제1 계층 미들웨어(101) 및 제2 계층 미들웨어(103)를 나타내는 구성도이다.
본 실시예에 따른 사물 인터넷 플랫폼은 제1 계층 미들웨어(101) 및 제2 계층 미들웨어(103)를 제외하고는 도 1 내지 도 5의 사물 인터넷 플랫폼과 실질적으로 동일하다. 따라서, 도 1 내지 도 5의 사물 인터넷 플랫폼과 동일한 구성요소는 동일한 도면 부호를 부여하고, 반복되는 설명은 생략한다.
상기 미들웨어(100)는 하나 이상이고, 상기 미들웨어(100)들은 계층 구조를 이룰 수 있다. 상기 미들웨어(100)들은 계층별 또는 계층 간에 연동 될 수 있다.
상기 미들웨어(100)는 제1 계층 미들웨어(101) 및 제2 계층 미들웨어(103)일 수 있다. 상기 제1 계층 미들웨어(101)는 로컬 네트워크를 구성할 수 있다. 상기 제1 계층 미들웨어(101)는 각기 다른 상기 사물 인터넷 장치(400)에 연결될 수 있다. 예를 들면, 상기 사물 인터넷 장치(400)의 집합과 연결된 하나의 미들웨어(100)와 상기 사물 인터넷 장치(400)의 집합과 다른 사물 인터넷 장치(400)의 집합과 연결된 또 하나의 미들웨어(100)가 연결 될 수 있다.
상기 제2 계층 미들웨어(103)는 상기 제1 계층 미들웨어(101)의 상위에 형성될 수 있다. 예를 들면, 상기 제1 계층 미들웨어(101) 위에 제2 계층의 미들웨어(100)를 쌓는 방식으로 상기 미들웨어(100)들을 연결 시킬 수 있다. 상기 미들웨어(100)들은 각각 외부 네트워크 또는 클라우드(500)에 연결될 수 있다. 또는, 하나의 미들웨어(100)에 외부 네트워크 또는 클라우드(500)가 연결되고, 다른 미들웨어(100)는 상기 연결된 미들웨어(100)를 브릿지로하여 외부 네트워크 및 클라우드(500)와 연결이 될 수 있다. 예를 들면, 상기 제1 계층 미들웨어(101)는 외부 네트워크와 직접 연결되지 않고 상기 제2 계층 미들웨어(103)를 통해 외부 네트워크 및 클라우드(500)와 연결될 수 있다. 따라서, 상기 제1 계층 미들웨어(101)는 로컬 네트워크로 구성될 수 있고, 보안 될 수 있다.
상기 미들웨어의 계층 구조는 확장될 수 있다. 예를 들면, 상기 계층 구조는 각 사무실 단위의 제1 계층 미들웨어, 상기 사무실들을 포함한 건물단위의 제2 계층 미들웨어, 상기 건물을 포함하는 지역의 제3 계층 미들웨어 및 상기 지역을 포함하는 도 단위 지역의 제4 계층 미들웨어로 구성될 수 있다. 상기 상위 계층의 미들웨어는 하위 계층의 미들웨어를 제어 또는 관리할 수 있다. 상기 사물인터넷 장치는 제1 계층 미들웨어에 연결되며, 상위 미들웨어는 서로 다른 제1 계층 미들웨어에 연결된 장치들을 복합 서비스로 구성할 수 있다.
상기 데이터 관리부(150)는 상기 미들웨어(100)의 상태를 관리할 수 있다. 상기 데이터 관리부(150)는 상기 미들웨어(100)의 외부 네트워크 및 클라우드(500) 연동 및 상기 미들웨어(100) 간의 연동을 관리할 수 있다. 예를 들어, 상기 미들웨어(100)가 외부 네크워크 또는 클라우드(500)와 연동이 단절된 경우 로컬로 동작하도록 할 수 있다. 또한, 상기 미들웨어(100) 간의 연동이 단절된 경우에도 단독으로 동작하도록 할 수 있다. 또한, 상기 미들웨어(100) 간에 충돌이 되지 않도록 중재할 수 있다. 따라서, 상기 미들웨어(100)는 외부 네트워크 또는 클라우드(500) 간의 연결이 끊어져도 로컬 및 단독으로 안정적으로 동작할 수 있다.
도 7은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 게이트웨이(300)를 나타내는 구성도이다. 도 16은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼을 나타내는 구성도이다.
본 실시예에 따른 사물 인터넷 플랫폼은 클라우드(410), 비제한적 장치(430), 제한적 장치(450) 게이트웨이(300) 및 관리 서버를 제외하고는 도 1 내지 도 5의 사물 인터넷 플랫폼과 실질적으로 동일하다. 따라서, 도 1 내지 도 5의 사물 인터넷 플랫폼과 동일한 구성요소는 동일한 도면 부호를 부여하고, 반복되는 설명은 생략한다.
상기 장치 관리부(110)는 MQTT 프로토콜을 이용하여 상기 사물 인터넷 장치(400)와 연결될 수 있다. 그러나, 본 발명은 이에 한정되는 것은 아니고, 상기 사물 인터넷 장치(400)와 연결이 가능한 프로토콜인 경우 상기 장치 관리부(110)의 지원 프로토콜의 타입 및 종류는 제한되지 않는다.
상기 사물 인터넷 장치(400)는 클라우드(410), 비제한적 장치(430) 및 제한적 장치(450)를 포함할 수 있다.
상기 클라우드(410)는 클라우드(410)가 제공하는 서비스일 수 있다. 예를 들면, 상기 사물 인터넷 장치(400)는 클라우드(410)가 제공하는 어플리케이션, 이메일, 일정 정보, 날짜 및 시간일 수 있다.
상기 비제한적 장치(430)는 MQTT 프로토콜이 지원되는 장치 일 수 있다. 따라서, MQTT 프로토콜을 지원하는 상기 미들웨어(100)와 연결될 수 있다. 상기 비제한적 장치(430)는 와이파이를 연결할 수 있는 기기일 수 있다.
상기 제한적 장치(450)는 MQTT 프로토콜이 지원되지 않는 장치 일 수 있다. 상기 제한적 장치(450)는 제한된 리소스와 와이파이 연결을 할 수 없는 장치 일 수 있다. 따라서, 상기 게이트웨이(300)로 상기 미들웨어(100) 연결될 수 있다.
상기 게이트웨이(300)는 상기 제한적 장치(450)와 상기 미들웨어(100)를 연결할 수 있다. 상기 게이트웨이(300)는 근거리 유선통신, 근거리 무선통신, Zigbee 또는 와이파이를 지원할 수 있다. 예를 들면, 상기 제한적 장치(450)는 Zigbee연결과 MQTT-SN 프로토콜을 이용하여 상기 게이트웨이(300)로 연결되고, 상기 게이트웨이(300)는 이를 MQTT 프로토콜로 변환하여 상기 미들웨어(100)에 연결할 수 있다.
상기 관리 서버는 상기 미들웨어와 연결되고, 상기 사물 인터넷 장치에 관한 데이터 및 상기 사물 인터넷 플랫폼에서 발생되는 로그가 저장될 수 있다. 상기 미들웨어와 관리서버는 네트워크로 연결될 수 있다. 상기 미들웨어는 전송받는 사물 인터넷 장치에서 생성되는 데이터 정보 및 상기 사물 인터넷 플랫폼과 관련된 로그 데이터를 상기 관리 서버에 전송할 수 있다. 상기 관리 서버는 상기 데이터 정보 및 상기 로그 데이터를 전송받아 저장할 수 있다. 상기 관리 서버에 저장된 데이터는 별도의 표시부 또는 웹 인터페이스를 통하여 표시될 수 있다. 상기 관리서버에 저장된 데이터는 문자, 그래프, 사진 또는 동영상의 형태로 표시될 수 있다
상기 관리 서버에 저장된 정보는 빅데이터로 활용될 수 있다. 상기 미들웨어는 상기 빅데이터를 활용하여 사물 인터넷 장치의 이용 패턴을 분석하거나, 상기 사물 인터넷 장치의 전력 정보, 센서 데이터 정보 또는 이메일 전송 정보 등을 포함한 각종 정보의 통계를 추출할 수 있다. 예를 들면, 상기 미들웨어는 상기 빅데이터에서 수집된 데이터를 통하여 사무실의 조명 밝기 정도는 외부 날씨 및 복도의 빛에 영향을 받는다는 패턴을 분석해 낼 수 있다. 상기 빅데이터는 데이터 마이닝 기술 및 딥 러닝 기술과 결합되어 상기 분석된 정보 또는 상기 서비스 시나리오의 사용자별 성향 및 제어 패턴을 분석한 정보로부터 추천 서비스 시나리오 또는 자동 서비스 시나리오를 생성할 수 있다.
상기 관리 서버는 로깅 서버의 기능을 포함할 수 있다. 상기 관리 서버는 시스템 상에서 발생되는 모든 종류의 로그를 저장할 수 있다. 상기 로그는 문제점 분석, 해결 방안 도출 및 문제점 예측에 활용될 수 있다.
도 8은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법을 나타내는 흐름도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법은 사물 인터넷 장치에 연결되는 단계(S100), 서비스 장치로 추상화하는 단계(S200), 데이터를 생성 및 저장하는 단계(S300), 서비스 시나리오를 생성하는 단계(S400) 및 사물 인터넷 장치를 제어하는 단계(S500)를 포함한다.
상기 사물 인터넷 장치에 연결되는 단계(S100)에서는 미들웨어가 상기 사물 인터넷 장치에 연결될 수 있다. 상기 사물 인터넷 장치로부터 장치 생성 정보를 수신하여 상기 사물 인터넷 장치와의 연결을 설정할 수 있다. 상기 사물 인터넷장치와의 연결방법은 무선통신일 수 있다. 상기 사물 인터넷 장치와의 연결 방법은 유선통신, 근거리 무선통신, Zigbee 또는 와이파이일 수 있다. 예를 들면, 상기 사물 인터넷 장치와의 연결은 MQTT 또는 MQTT-SN 프로토콜을 이용할 수 있다. 그러나, 본 발명은 이에 한정되는 것은 아니고, 상기 미들웨어가 상기 사물 인터넷 장치와 연결되는 목적을 달성한다면 그 방법에 제한은 없다.
상기 서비스 장치로 추상화하는 단계(S200)는 상기 사물 인터넷 장치를 서비스 장치로 추상화할 수 있다. 상기 사물 인터넷 장치를 상기 사물 인터넷 장치가 제공하는 기능 또는 비기능적 특성을 포함하는 서비스로 추상화하여 상기 서비스 장치를 생성할 수 있다. 예를 들면, 상기 비기능적 특성은 에너지, 대기시간 또는 상기 사물 인터넷 장치에 부착된 센서가 수집한 정보 일 수 있다. 그러나, 본 발명은 이에 한정되는 것은 아니며, 상기 사물 인터넷 장치가 제공할 수 있는 모든 데이터는 서비스 장치의 대상이 될 수 있다.
상기 서비스 장치 생성 단계에서는 상기 사물 인터넷 장치를 상기 서비스 장치로 추상화할 수 있다. 상기 서비스 장치는 상기 사물 인터넷 장치가 제공하는 장치 식별자, 장치 속성 및 장치 기능을 추상화하여 재구성한 서비스 단위의 데이터일 수 있다. 상기 장치 식별자는 상기 사물 인터넷 장치의 클래스 및 명칭을 포함할 수 있다. 상기 장치 속성은 상기 사물 인터넷 장치의 상태, 상기 사물 인터넷 장치가 제공하는 서비스의 명칭 및 상기 사물 인터넷 장치가 제공하는 서비스의 상태를 포함할 수 있다. 상기 장치 기능은 상기 사물 인터넷 장치가 제공하는 서비스를 포함할 수 있다. 상기 장치의 명칭은 다른 사물 인터넷 장치와 구분되는 값일 수 있으며, 사용자에 의해 또는 시스템에 의해 변경될 수 있다. 또한, 상기 장치의 명칭은 사용자가 런타임에 원하는 형태의 이름일 수 있다. 예를 들면, 전구를 추상화하는 경우 상기 장치 식별자의 클래스는 전구이고, 명칭은 제조사이며, 상기 장치 속성은 전원 온, 오프 상태, 색상 상태 및 명암 상태이고, 상기 장치 기능의 서비스는 색상 조절, 명암 조절, 전원 제어일 수 있다. 그러나 본 발명은 이에 한정되는 것은 아니고, 상기 사물 인터넷 장치가 제공하는 것을 서비스로 추상화할 수 있는 목적이 달성된다면 추상화 방법에 제한은 없다. 예를 들면, 상기 장치의 명칭은 반드시 제조사일 필요는 없으며, 사용자가 정의한 장치의 명칭일 수 있다.
상기 데이터를 생성 및 저장하는 단계(S300)에서는 상기 미들웨어, 상기 사물 인터넷 장치 및 상기 서비스 장치에 관한 데이터를 생성 및 저장할 수 있다. 상기 데이터는 상기 미들웨어의 상태, 상기 사물 인터넷 장치의 상태, 상기 서비스 장치의 상태, 사용 가능한 상기 사물 인터넷 장치의 목록, 사용 가능한 상기 서비스 장치의 목록, 상기 서비스 시나리오의 상태 및 상기 서비스 시나리오의 백업 자료 일 수 있다.
상기 서비스 시나리오를 생성하는 단계(S400)에서는 스크립트 에디터에서 상기 서비스 장치에 대한 서비스 시나리오를 생성할 수 있다. 상기 스크립트 에디터는 상기 서비스 장치에 대한 상기 서비스 시나리오를 생성할 수 있다. 상기 스크립트 에디터는 사용자에 의해 선택받은 입력 수단에 설치될 수 있다. 상기 선택받은 입력 수단은 정보처리장치, 이동통신장치 또는 화상표시장치 일 수 있다. 예를 들면, 상기 선택받은 입력 수단은 컴퓨터, 텔레비전, 프로젝터, 휴대폰, 스마트폰, PDA, 이동 단말기, 클라우드 어플리케이션 또는 태블릿 일 수 있다. 그러나 본 발명은 이에 한정되는 것은 아니고, 상기 스크립트 에디터가 설치되어 사용자가 입력할 수 있는 목적을 달성할 수 있다면 설치되는 장치에 제한은 없다. 또한, 상기 선택받은 입력 수단은 유선 또는 무선으로 상기 미들웨어에 연결될 수 있다. 예를 들면, 상기 스크립트 에디터는 컴퓨터에 설치되어 LAN 또는 와이파이에 연결되어 외부 네트워크를 통해 미들웨어에 연결되거나, 와이파이 또는 연결 케이블에 연결되어 미들웨어와 직접 연결 될 수 있다.
상기 스크립트 에디터는 스크립트 언어를 지원하는 스크립트 코드를 포함할 수 있다. 상기 스크립트 언어는 간단한 구문으로 구성되어 사용자 편의성을 증대시킬 수 있다. 예를 들면, 상기 스크립트 언어는 서비스 단위의 구현을 지원할 수 있고, if-else, loop 및 wait until을 제어구문으로 포함할 수 있다. 예를 들면, if-else는 특정 조건을 만족하는 경우 실행하도록, loop는 특정 조건을 만족하는 경우 반복 실행하도록, wait until은 특정 조건을 충족하기 전까지 실행을 대기하도록 제어하는 구문 일 수 있다.
상기 스크립트 코드는 사용자가 스크립트 언어를 이용하여 상기 서비스 시나리오를 생성하는 코드일 수 있다. 상기 스크립트 코드는 상기 스크립트 언어의 기재 순서에 따라 순차적으로 수행될 수 있다. 상기 스크립트 코드는 상기 서비스 장치의 하나 이상의 서비스 또는 하나 이상의 서로 상이한 상기 서비스 장치를 포함할 수 있다. 이에 따라, 상기 스크립트 코드 및 상기 서비스 시나리오는 상기 서비스 장치 및 상기 서비스 장치의 서비스들을 결합한 복합적인 서비스를 구성할 수 있다.
예를 들면, 사용자는 스크립트 코드를 이용하여 오후 9시 이후에 오피스의 모든 불이 꺼진 조건에서 움직임이 감지되는 경우 램프를 켜고, 사진을 찍어서 이를 SMS와 이메일로 보내는 서비스 시나리오를 생성할 수 있다. 또 다른 예로는, 미팅이 예정된 경우 회의실에 설치된 컴퓨터, 모니터, 프로젝터, 에어컨 및 티비 등을 자동으로 켜고, 카메라로 미팅을 녹화하도록 하는 서비스 시나리오를 생성할 수 있다. 또 다른 예로는, 오피스에 들어오는 사람을 카메라로 촬영하여 사진을 찍고, 사진 속 사람의 감정을 파악하여 오디오에서 파악된 감정에 따라 설정된 음악을 재생하는 서비스 시나리오를 생성할 수 있다. 또 다른 예로는, 웹사이트에서 제공하는 식사 메뉴를 확인하여 이를 음성파일로 합성한 후 스피커를 통해서 점심 시간과 저녁 시간에 음성 파일로 재생하는 서비스 시나리오를 생성할 수 있다. 또 다른 예로는, 창문이 없는 오피스의 경우, 일정 시간마다 날씨 정보를 이메일로 전송하는 서비스 시나리오를 생성할 수 있다. 또 다른 예로는, 일정 기간 동안 오피스의 습도, 온도, 이산화탄소 농도 및 밝기 정도 등의 오피스 환경 정보를 수집하여 분석하도록 하는 서비스 시나리오를 생성할 수 있다.
상기 사물 인터넷 장치를 제어하는 단계(S500)에서는 상기 서비스 시나리오에 따라 상기 서비스 장치의 서비스 단위로 상기 사물 인터넷 장치를 제어할 수 있다.
상기 사물 인터넷 장치는 서비스를 제공하는 장치 일 수 있다. 상기 사물 인터넷 장치는 클라우드(410)가 제공하는 서비스를 포함할 수 있다. 상기 사물 인터넷 장치는 이동통신장치 및 정보처리장치를 포함할 수 있다. 예를 들면, 상기 사물 인터넷 장치는 클라우드(410)가 제공하는 어플리케이션, 이메일, 일정 정보, 날짜 및 시간일 수 있다. 그러나, 본 발명은 이에 한정되는 것은 아니고, 상기 사물 인터넷 장치는 서비스를 제공할 수 있는 모든 장치를 포함할 수 있다.
상기 사물 인터넷 장치는 무선 또는 유선 통신을 지원하는 장치 일 수 있다. 예를 들면, 상기 사물 인터넷 장치는 유선통신, 근거리 무선통신, Zigbee 또는 와이파이를 지원할 수 있다. 상기 사물 인터넷 장치는 MQTT 또는 MQTT-SN 프로토콜을 지원할 수 있다. 그러나, 본 발명은 이에 한정되는 것은 아니고, 상기 사물 인터넷 장치가 상기 미들웨어에 연결되는 목적을 달성한다면 상기 사물 인터넷 장치가 지원하는 통신방법에 제한은 없다.
도 9는 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법을 나타내는 흐름도이다. 도 10은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법의 사물 인터넷 장치에 연결되는 단계(S100)를 나타내는 흐름도이다. 도 11은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법의 데이터를 생성 및 저장하는 단계를 나타내는 흐름도이다. 도 12는 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법의 서비스 시나리오를 생성하는 단계(S400)를 나타내는 흐름도이다. 도 13은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법의 사물 인터넷 장치를 제어하는 단계(S500)를 나타내는 흐름도이다. 도 14는 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법의 상태 모니터링 단계(S700)를 나타내는 흐름도이다. 도 15는 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼의 제어 방법의 미들웨어가 연동되는 단계(S800)를 나타내는 흐름도이다.
본 실시예에 따른 사물 인터넷 플랫폼의 제어 방법은 사물 인터넷 장치와의 연결을 설정하는 단계(S101), 사물 인터넷 장치의 상태를 모니터링하는 단계(S102), 런타임 서비스 단계(S503), 미들웨어 관리 단계(S600), 상태 모니터링 단계(S700), 상태 전송단계(S702), 상태 정보 표시단계(S703), 관리 서버에 저장되는 단계(S301), 입력 수단에 설치되는 단계(S401), 스크립트 코드를 생성하는 단계(S402), 서비스 시나리오가 생성되는 단계 (S403), 서비스 시나리오 그래프로 변환하는 단계(S404), 서비스 시나리오 그래프에 따라 사물 인터넷 장치를 제어하는 단계(S501), 미들웨어가 연동되는 단계(S800) 및 외부 네트워크 또는 클라우드(500)에 연결되는 단계(S900)를 제외하고는 도 8의 사물 인터넷 플랫폼의 제어 방법과 실질적으로 동일하다. 따라서, 도 8의 사물 인터넷 플랫폼의 제어 방법과 동일한 구성요소는 동일한 도면 부호를 부여하고, 반복되는 설명은 생략한다.
상기 사물 인터넷 장치에 연결되는 단계(S100)는 사물 인터넷 장치와의 연결을 설정하는 단계(S101) 및 사물 인터넷 장치의 상태를 모니터링하는 단계(S102)를 포함할 수 있다.
사물 인터넷 장치와의 연결을 설정하는 단계(S101)에서는 상기 사물 인터넷 장치로부터 장치 생성 정보를 수신하여 상기 사물 인터넷 장치와의 연결을 설정할 수 있다. 상기 사물 인터넷장치와의 연결방법은 무선통신일 수 있다. 상기 사물 인터넷 장치와의 연결 방법은 유선통신, 근거리 무선통신, Zigbee 또는 와이파이일 수 있다. 예를 들면, 상기 사물 인터넷 장치와의 연결은 MQTT 또는 MQTT-SN 프로토콜을 이용할 수 있다. 그러나, 본 발명은 이에 한정되는 것은 아니고, 상기 미들웨어가 상기 사물 인터넷 장치와 연결되는 목적을 달성한다면 그 방법에 제한은 없다.
사물 인터넷 장치의 상태를 모니터링하는 단계(S102)에서는 상기 사물 인터넷 장치의 상태를 지속적으로 모니터링할 수 있다. 상기 사물 인터넷 장치의 온, 오프 상태, 정상동작 상태, 센서의 상태, 통신 연결 상태, 서비스 수행 가능 여부, 서비스 설정 상태 및 서비스 수행 상태 등을 모니터링할 수 있다. 그러나 본 발명은 이에 한정되는 것은 아니고, 상기 사물 인터넷 장치 및 상기 미들웨어의 동작과 관련된 데이터라면 모두 모니터링부의 모니터링 대상이 될 수 있다. 상기 수집된 모니터링 데이터는 상기 스크립트 에디터에 전달 될 수 있다.
상기 사물 인터넷 장치를 제어하는 단계(S500)는 런타임 서비스 단계(S503)를 포함할 수 있다.
런타임 서비스 단계(S503)에서는 상기 사물 인터넷 장치를 제어하는 단계(S500)에 대한 런타임을 관리할 수 있다. 상기 런타임 서비스 단계(S503)는 상기 서비스 시나리오를 수행 중 사용자에 의해 중단되거나, 재실행 되거나, 새로운 시나리오를 생성하는 경우, 또는 시나리오끼리 충돌되는 경우를 제어 또는 중재할 수 있다.
상기 사물 인터넷 플랫폼의 제어 방법은 미들웨어 관리 단계(S600) 및 상태 모니터링 단계(S700)를 포함할 수 있다.
미들웨어 관리 단계(S600)에서는 상기 미들웨어의 외부 네트워크 및 클라우드(500) 연동 및 상기 미들웨어 간의 연동을 관리할 수 있다. 예를 들어, 상기 미들웨어가 외부 네크워크 또는 클라우드(500)와 연동이 단절된 경우 로컬로 동작하도록 할 수 있다. 또한, 상기 미들웨어 간의 연동이 단절된 경우에도 단독으로 동작하도록 할 수 있다. 또한, 상기 미들웨어 간에 충돌이 되지 않도록 중재할 수 있다.
상태 모니터링 단계(S700)에서는 상기 미들웨어, 상기 사물 인터넷 장치, 상기 서비스 장치 및 상기 서비스 시나리오의 상태 정보를 수집하고 저장할 수 있다. 상기 상태 정보는 상기 사물 인터넷 장치의 상태, 상기 서비스 장치의 상태, 상기 미들웨어의 상태, 상기 런타임 상태, 외부 네트워크 및 클라우드(500)와의 연동 상태, 상기 미들웨어 간의 연동 상태, 사용 가능한 상기 사물 인터넷 장치의 목록, 사용 가능한 상기 서비스 장치의 목록, 사용 가능한 상기 서비스의 목록, 상기 서비스 시나리오의 상태 및 상기 서비스 시나리오의 백업 자료 일 수 있다.
상기 모니터링 단계는 상태 전송 단계 및 상태 정보 표시 단계를 포함할 수 있다.
상태 전송단계(S702)에서는 상기 스크립트 에디터에서 요청시 상기 상태 정보를 상기 스크립트 에디터에 전송할 수 있다. 상기 전송되는 상태 정보는 실시간 정보, 저장된 정보 또는 사용자가 선택한 특정 시점 또는 특정 구간의 정보 일 수 있다.
상태 정보 표시단계(S703)에서는 상기 스크립트 에디터에 상기 상태 정보를 전송받아 표시할 수 있다. 상기 상태 정보는 상기 서비스별, 상기 서비스 장치별 또는 상기 서비스 시나리오별로 표시될 수 있다. 사용자는 표시되는 상기 상태 정보를 변경 할 수 있다. 사용자는 상기 표시되는 상태 정보의 순서를 변경할 수 있다. 사용자는 상기 서비스, 상기 서비스 장치, 상기 서비스 시나리오를 검색할 수 있고, 상기 스크립트 에디터는 상기 검색된 결과를 표시할 수 있다.
상기 관리 서버에 저장되는 단계(S301)에서는 상기 사물 인터넷 장치에 관한 데이터 및 상기 사물 인터넷 플랫폼에서 발생되는 로그가 상기 미들웨어와 연결된 관리 서버에 저장될 수 있다. 상기 미들웨어와 관리서버는 네트워크로 연결될 수 있다. 상기 미들웨어는 전송받는 사물 인터넷 장치에서 생성되는 데이터 정보 및 상기 사물 인터넷 플랫폼과 관련된 로그 데이터를 상기 관리 서버에 전송할 수 있다. 상기 관리 서버는 상기 데이터 정보 및 상기 로그 데이터를 저장할 수 있다. 상기 관리 서버에 저장된 데이터는 별도의 표시부 또는 웹 인터페이스를 통하여 표시될 수 있다. 상기 관리서버에 저장된 데이터는 문자, 그래프, 사진 또는 동영상의 형태로 표시될 수 있다.
상기 관리 서버에 저장된 정보는 빅데이터로 활용될 수 있다. 상기 빅데이터는 사물 인터넷 장치의 이용 패턴을 분석하거나, 상기 사물 인터넷 장치의 전력 정보, 센서 데이터 정보 또는 이메일 전송 정보등을 포함한 각종 정보의 통계를 추출 하는데 활용될 수 있다. 예를 들면, 상기 빅데이터로부터 사무실의 조명 밝기 정도는 외부 날씨 및 복도의 빛에 영향을 받는다는 패턴을 분석해 낼 수 있다. 상기 빅데이터는 데이터 마이닝 기술 및 딥 러닝 기술과 결합되어 상기 분석된 정보 또는 상기 서비스 시나리오의 사용자별 성향 및 제어 패턴을 분석한 정보로부터 추천 서비스 시나리오 또는 자동 서비스 시나리오를 생성할 수 있다. 상기 빅데이터는 상기 사물 인터넷 플랫폼의 시스템 문제를 분석하거나 해결하는데 활용될 수 있다. 상기 빅데이터는 상기 사물 인터넷 플랫폼의 동일하거나 유사한 종류의 문제점 및 그에 대한 해결 방법을 분석하고 통계를 추출하는데 활용될 수 있다. 또한, 상기 빅데이터는 데이터 마이닝 기술 및 딥 러닝 기술과 결합되어 상기 분석된 정보를 이용하여 문제점 발생시 해결된 방법을 학습하고, 동일한 문제점 발생시 기존에 해결된 방법을 자동 적용하여 문제점을 해결하는데 이용될 수 있다.
상기 관리 서버는 로깅 서버의 기능을 포함할 수 있다. 상기 관리 서버는 시스템 상에서 발생되는 모든 종류의 로그를 저장할 수 있다. 상기 로그는 문제점 분석, 해결 방안 도출 및 문제점 예측에 활용될 수 있다.
상기 서비스 시나리오를 생성하는 단계(S400)는 입력 수단에 설치되는 단계(S401), 스크립트 코드를 생성하는 단계(S402), 서비스 시나리오가 생성되는 단계 (S403) 및 비스 시나리오 그래프로 변환하는 단계를 포함할 수 있다.
입력 수단에 설치되는 단계(S401)에서는 상기 스크립트 에디터가 사용자에 의해 선택받은 입력 수단에 설치될 수 있다. 상기 선택받은 입력 수단은 정보처리장치, 이동통신장치 또는 화상표시장치 일 수 있다. 예를 들면, 상기 선택받은 입력 수단은 컴퓨터, 텔레비전, 프로젝터, 휴대폰, 스마트폰, PDA, 이동 단말기, 클라우드 어플리케이션 또는 태블릿 일 수 있다. 그러나 본 발명은 이에 한정되는 것은 아니고, 상기 스크립트 에디터가 설치되어 사용자가 입력할 수 있는 목적을 달성할 수 있다면 설치되는 장치에 제한은 없다. 또한, 상기 선택받은 입력 수단은 유선 또는 무선으로 상기 미들웨어에 연결될 수 있다. 예를 들면, 상기 스크립트 에디터는 컴퓨터에 설치되어 LAN 또는 와이파이에 연결되어 외부 네트워크를 통해 미들웨어에 연결되거나, 와이파이 또는 연결 케이블에 연결되어 미들웨어와 직접 연결될 수 있다.
스크립트 코드를 생성하는 단계(S402)에서는 사용자가 스크립트 에디터에서 스크립트 언어를 이용하여 스크립트 코드를 생성할 수 있다. 상기 스크립트 언어는 간단한 구문으로 구성되어 사용자 편의성을 증대시킬 수 있다. 예를 들면, 상기 스크립트 언어는 서비스 단위의 구현을 지원할 수 있고, if-else, loop 및 wait until을 제어구문으로 포함할 수 있다. 예를 들면, if-else는 특정 조건을 만족하는 경우 실행하도록, loop는 특정 조건을 만족하는 경우 반복 실행하도록, wait until은 특정 조건을 충족하기 전까지 실행을 대기하도록 제어하는 구문일 수 있다.
서비스 시나리오가 생성되는 단계 (S403)에서는 상기 스크립트 코드를 이용하여 상기 스크립트 코드의 값, 함수, 스크립트 언어 및 스크립트 코드 로그를 표시할 수 있다. 상기 스크립트 코드 편집기는 사용자가 스크립트 언어를 이용하여 상기 서비스 시나리오를 생성하는 코드를 작성하도록 할 수 있다. 상기 서비스 시나리오는 상기 스크립트 코드로부터 생성될 수 있다. 상기 스크립트 코드는 상기 스크립트 언어의 기재 순서에 따라 순차적으로 수행될 수 있다. 상기 스크립트 코드는 상기 서비스 장치의 하나 이상의 서비스 또는 하나 이상의 서로 상이한 상기 서비스 장치를 포함할 수 있다. 이에 따라, 상기 스크립트 코드 및 상기 서비스 시나리오는 상기 서비스 장치 및 상기 서비스 장치의 서비스들을 결합한 복합적인 서비스를 구성할 수 있다.
서비스 시나리오 그래프로 변환하는 단계(S404)에서는 상기 서비스 시나리오를 서비스 시나리오 그래프로 변환할 수 있다. 상기 서비스 시나리오 그래프는 상기 미들웨어 상에서 복합적인 서비스를 제공하고 상기 서비스들을 스케줄링 하기 위한 자료구조일 수 있다. 상기 서비스 시나리오 그래프는 상기 스크립트 에디터에서 작성된 상기 서비스 시나리오 및 상기 스크립트 코드를 파싱하여 생성되거나, 상기 스크립트 코드들을 결합하여 생성될 수 있다. 상기 서비스 시나리오 그래프는 상기 서비스 시나리오의 수행을 위한 중간 자료구조일 수 있다.
상기 사물 인터넷 장치를 제어하는 단계(S500)는 상기 서비스 시나리오 그래프를 상기 사물 인터넷 장치에 매핑하고 스케줄링하여 상기 사물 인터넷 장치를 제어할 수 있다. 상기 서비스 시나리오 그래프는 상기 서비스 단위로 상기 사물 인터넷 장치에 매핑될 수 있다. 상기 서비스 시나리오 그래프는 상기 서비스 단위로 상기 사물 인터넷 장치를 스케줄링할 수 있다. 상기 서비스 시나리오 그래프는 상기 서비스 시나리오 별로 상기 스크립트 코드 전체가 변환되어 생성될 수 있고, 이에 따라 상기 사물 인터넷 장치의 제어가 수행될 수 있다.
상기 서비스 시나리오 그래프는 복합 서비스, 조건 노드 및 반복 노드를 포함할 수 있다.
상기 복합 서비스는 서비스 노드의 유한 집합, 조건 노드의 유한집합, 반복 노드의 유한집합 및 노드 사이의 실행 흐름을 나타내는 간선의 유한집합을 포함하는 복합 서비스를 포함할 수 있다. 상기 복합 서비스 G는 (S, C, L, E)튜플일 수 있다. S는 서비스 노드의 유한 집합이고, C는 조건 노드의 유한 집합이고, L은 반복 노드의 유한 집합이고, E는 노드 사이의 실행 흐름을 나타내는 간성의 유한 집합일 수 있다. 상기 서비스 시나리오 그래프에 있는 서비스 노드 s∈S는 기기에 의해서 실행되는 기본적인 서비스일 수 있다.
상기 조건 노드는 블록킹 타입, 논블록킹 타입, 참 포트 및 거짓 포트를 포함할 수 있다. 상기 조건 노드 c∈C는 (타입, 참 포트, 거짓 포트)라는 튜플로 정의될 수 있다. 상기 참 포트 및 상기 거짓 포트는 조건의 결과에 따라서 실행하기 위한 출구 포트 일 수 있다. 상기 타입은 블록킹(B-type)이거나 논블록킹(NB-type)일 수 있다. 상기 블록킹 타입의 노드는 특정 조건을 충족하기 전까지 서비스 그래프의 진행을 차단하고, 논블록킹 타입의 노드는 특정 조건 충족 여부와 관계없이 진행될 수 있다. 예를 들면, 상기 스크립트 언어에서의 상기 wait until은 상기 블록킹 타입이고, 상기 if-else는 상기 논블록킹 타입일 수 있다.
상기 반복 노드는 루프에 해당하는 서브 그래프, 루프의 반복 주기 및 루프 잔존 조건을 포함할 수 있다. 상기 반복 노드는 (SG, 반복 주기, 지정된 조건)라는 튜플일 수 있다. 상기 반복 주기는 루프의 반복 주기일 수 있고, 상기 지정된 조건은 루프에 남아있기 위한 조건일 수 있다. 상기 조건을 충족하지 못하면 상기 루프는 종료될 수 있다. 상기 SG는 서브 그래프일 수 있다. 이는 루프에 해당하는 그래프일 수 있다. 상기 반복 주기 및 상기 지정된 조건은 생략될 수 있으며, 상기 반복 주기와 상기 지정된 조건이 모두 없는 경우에는 무한루프를 의미할 수 있다. 상기 반복 주기만 있는 경우에는 무한루프가 주기적으로 실행되는 것을 나타내고, 상기 지정된 조건만 있는 경우에는 조건을 충족하는 동안에 루프를 실행되는 것을 나타낼 수 있다.
그러나, 본 발명은 이에 한정되는 것은 아니고, 상기 복합 서비스, 상기 조건 노드 및 상기 반복 노드를 표현할 수 있는 목적이 달성된다면 상기 복합 서비스, 상기 조건 노드 및 상기 반복 노드를 표현하는 방법, 데이터 타입, 자료구조 타입은 제한되지 않는다. 예를 들어, 상기 튜플은 리스트 일 수 있다.
상기 사물 인터넷 장치를 제어하는 단계(S500)에서는 상기 서비스 시나리오 그래프에 따라 상기 사물 인터넷 장치를 제어할 수 있다.
상기 사물 인터넷 플랫폼의 제어 방법은 미들웨어가 연동되는 단계(S800) 및 외부 네트워크 또는 클라우드(500)에 연결되는 단계(S900)를 포함할 수 있다.
상기 미들웨어가 연동되는 단계(S800)는 하나 이상의 상기 미들웨어로 로컬 네트워크가 구성되는 제1 계층 미들웨어 생성단계(S801) 및 상기 제1 계층 미들웨어의 상위에 형성되는 제2 계층 미들웨어와 연동되는 단계(S802)를 포함할 수 있다.
상기 미들웨어는 하나 이상이고, 상기 미들웨어들은 계층 구조를 이룰 수 있다. 상기 미들웨어들은 계층별 또는 계층 간에 연동 될 수 있다.
상기 미들웨어는 제1 계층 미들웨어 및 제2 계층 미들웨어 일 수 있다. 상기 제1 계층 미들웨어는 로컬 네트워크를 구성할 수 있다. 상기 제1 계층 미들웨어는 각기 다른 상기 사물 인터넷 장치에 연결될 수 있다. 예를 들면, 상기 사물 인터넷 장치의 집합과 연결된 하나의 미들웨어와 상기 사물 인터넷 장치의 집합과 다른 사물 인터넷 장치의 집합과 연결된 또 하나의 미들웨어가 연결 될 수 있다.
상기 제2 계층 미들웨어는 상기 제1 계층 미들웨어의 상위에 형성될 수 있다. 예를 들면, 상기 제1 계층 미들웨어 위에 제2 계층의 미들웨어를 쌓는 방식으로 상기 미들웨어들을 연결 시킬 수 있다. 상기 미들웨어들은 각각 외부 네트워크 또는 클라우드(500)에 연결될 수 있다. 또는, 하나의 미들웨어에 외부 네트워크 또는 클라우드(500)가 연결되고, 다른 미들웨어는 상기 연결된 미들웨어를 브릿지로하여 외부 네트워크 및 클라우드(500)와 연결이 될 수 있다. 예를 들면, 상기 제1 계층 미들웨어는 외부 네트워크와 직접 연결되지 않고 상기 제2 계층 미들웨어를 통해 외부 네트워크 및 클라우드(500)와 연결될 수 있다. 따라서, 상기 제1 계층 미들웨어는 로컬 네트워크로 구성될 수 있고, 보안 될 수 있다.
상기 미들웨어의 계층 구조는 확장될 수 있다. 예를 들면, 상기 계층 구조는 각 사무실 단위의 제1 계층 미들웨어, 상기 사무실들을 포함한 건물단위의 제2 계층 미들웨어, 상기 건물을 포함하는 지역의 제3 계층 미들웨어 및 상기 지역을 포함하는 도 단위 지역의 제4 계층 미들웨어로 구성될 수 있다. 상기 상위 계층의 미들웨어는 하위 계층의 미들웨어를 제어 또는 관리할 수 있다. 상기 사물인터넷 장치는 제1 계층 미들웨어에 연결되며, 상위 미들웨어는 서로 다른 제1 계층 미들웨어에 연결된 장치들을 복합 서비스로 구성할 수 있다.
상기 사물 인터넷 플랫폼의 제어 방법은 상기 미들웨어들의 연동을 관리하는 단계(S803)를 포함할 수 있다. 상기 미들웨어들의 연동을 관리하는 단계(S803)는 상기 미들웨어의 외부 네트워크 및 클라우드(500) 연동 및 상기 미들웨어 간의 연동을 관리할 수 있다. 예를 들어, 상기 미들웨어가 외부 네크워크 또는 클라우드(500)와 연동이 단절된 경우 로컬로 동작하도록 할 수 있다. 또한, 상기 미들웨어 간의 연동이 단절된 경우에도 단독으로 동작하도록 할 수 있다. 또한, 상기 미들웨어 간에 충돌이 되지 않도록 중재할 수 있다. 따라서, 상기 미들웨어는 외부 네트워크 또는 클라우드(500) 간의 연결이 끊어져도 로컬 및 단독으로 안정적으로 동작 할 수 있다.
외부 네트워크 또는 클라우드(500)에 연결되는 단계(S900)에서는 상기 미들웨어가 외부 네트워크 또는 클라우드(500)에 연결될 수 있다. 상기 미들웨어들은 각각 외부 네트워크 또는 클라우드(500)에 연결될 수 있다. 또는, 하나의 미들웨어에 외부 네트워크 또는 클라우드(500)가 연결되고, 다른 미들웨어는 상기 연결된 미들웨어를 브릿지로하여 외부 네트워크 및 클라우드(500)와 연결이 될 수 있다.
도 17은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼 및 사물 인터넷 플랫폼의 제어 방법의 서비스 장치를 나타내는 구성도이다. 도 18은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼 및 사물 인터넷 플랫폼의 제어 방법의 서비스 장치를 나타내는 도면이다.
본 실시예에 따른 사물 인터넷 플랫폼 및 제어 방법은 장치 식별자, 장치 속성 및 장치 기능을 제외하고는 도 8의 사물 인터넷 플랫폼의 제어 방법과 실질적으로 동일하다. 따라서, 도 8의 사물 인터넷 플랫폼의 제어 방법과 동일한 구성요소는 동일한 도면 부호를 부여하고, 반복되는 설명은 생략한다.
상기 서비스 장치는 장치 식별자, 장치 속성 및 장치 기능을 포함할 수 있다.
상기 장치 식별자는 상기 사물 인터넷 장치의 클래스 및 명칭을 포함할 수 있다. 상기 장치 속성은 상기 사물 인터넷 장치의 상태, 상기 사물 인터넷 장치가 제공하는 서비스의 명칭 및 상기 사물 인터넷 장치가 제공하는 서비스의 상태를 포함할 수 있다. 상기 장치 기능은 상기 사물 인터넷 장치가 제공하는 서비스를 포함할 수 있다. 예를 들면, 전구를 상기 서비스 장치로 추상화하는 경우 상기 장치 식별자의 클래스는 전구이고, 명칭은 제조사이며, 상기 장치 속성은 전원 온, 오프 상태, 색상 상태 및 명암 상태이고, 상기 장치 기능의 서비스는 색상 조절, 명암 조절, 전원 제어일 수 있다. 또다른 예로, 이메일을 상기 서비스 장치로 추상화하는 경우 상기 장치 식별자의 클래스는 메일이고, 명칭은 지메일이며, 상기 장치 속성은 이메일 도착 여부이고, 상기 장치 기능은 이메일 보내기, 이메일 삭제 및 이메일 읽기 일 수 있다. 그러나 본 발명은 이에 한정되는 것은 아니고, 상기 사물 인터넷 장치가 제공하는 것을 서비스로 추상화할 수 있는 목적이 달성된다면 추상화 방법에 제한은 없다.
도 19는 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼 및 사물 인터넷 플램폼의 제어 방법의 스크립트 에디터를 나타내는 도면이다. 도 20은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼 및 사물 인터넷 플랫폼의 제어 방법의 스크립트 언어를 나타내는 도면이다. 도 21은 본 발명의 일 실시예에 따른 사물 인터넷 플랫폼 및 사물 인터넷 플랫폼의 제어 방법의 스크립트 코드 및 서비스 시나리오 그래프를 나타내는 도면이다.
본 실시예에 따른 사물 인터넷 플랫폼 및 제어 방법은 복합 서비스, 조건 노드, 반복 노드를 제외하고는 도 8 및 도 9의 사물 인터넷 플랫폼의 제어 방법과 실질적으로 동일하다. 따라서, 도 8 및 도 9의 사물 인터넷 플랫폼의 제어 방법과 동일한 구성요소는 동일한 도면 부호를 부여하고, 반복되는 설명은 생략한다.
상기 서비스 시나리오 그래프는 복합 서비스, 조건 노드 및 반복 노드를 포함할 수 있다.
상기 복합 서비스는 서비스 노드의 유한 집합, 조건 노드의 유한집합, 반복 노드의 유한집합 및 노드 사이의 실행 흐름을 나타내는 간선의 유한집합을 포함하는 복합 서비스를 포함할 수 있다. 상기 복합 서비스 G는 (S, C, L, E)튜플일 수 있다. S는 서비스 노드의 유한 집합이고, C는 조건 노드의 유한 집합이고, L은 반복 노드의 유한 집합이고, E는 노드 사이의 실행 흐름을 나타내는 간성의 유한 집합일 수 있다. 상기 서비스 시나리오 그래프에 있는 서비스 노드 s∈S는 기기에 의해서 실행되는 기본적인 서비스일 수 있다.
상기 조건 노드는 블록킹 타입, 논블록킹 타입, 참 포트 및 거짓 포트를 포함할 수 있다. 상기 조건 노드 c∈C는 (타입, 참 포트, 거짓 포트)라는 튜플로 정의될 수 있다. 상기 참 포트 및 상기 거짓 포트는 조건의 결과에 따라서 실행하기 위한 출구 포트 일 수 있다. 상기 타입은 블록킹(B-type)이거나 논블록킹(NB-type)일 수 있다. 상기 블록킹 타입의 노드는 특정 조건을 충족하기 전까지 서비스 그래프의 진행을 차단하고, 논블록킹 타입의 노드는 특정 조건 충족 여부와 관계없이 진행될 수 있다. 예를 들면, 상기 스크립트 언어에서의 상기 wait until은 상기 블록킹 타입이고, 상기 if-else는 상기 논블록킹 타입 일 수 있다.
상기 반복 노드는 루프에 해당하는 서브 그래프, 루프의 반복 주기 및 루프 잔존 조건을 포함할 수 있다. 상기 반복 노드는 (SG, 반복 주기, 지정된 조건)라는 튜플일 수 있다. 상기 반복 주기는 루프의 반복 주기일 수 있고, 상기 지정된 조건은 루프에 남아있기 위한 조건일 수 있다. 상기 조건을 충족하지 못하면 상기 루프는 종료 될 수 있다. 상기 SG는 서브 그래프일 수 있다. 이는 루프에 해당하는 그래프 일 수 있다. 상기 반복 주기 및 상기 지정된 조건은 생략될 수 있으며, 상기 반복 주기와 상기 지정된 조건이 모두 없는 경우에는 무한루프를 의미할 수 있다. 상기 반복 주기만 있는 경우에는 무한루프가 주기적으로 실행되는 것을 나타내고, 상기 지정된 조건만 있는 경우에는 조건을 충족하는 동안에 루프를 실행되는 것을 나타낼 수 있다.
그러나, 본 발명은 이에 한정되는 것은 아니고, 상기 복합 서비스, 상기 조건 노드 및 상기 반복 노드를 표현할 수 있는 목적이 달성된다면 상기 복합 서비스, 상기 조건 노드 및 상기 반복 노드를 표현하는 방법, 데이터 타입, 자료구조 타입은 제한 되지 않는다. 예를 들어, 상기 튜플은 리스트 일 수 있다.
예를 들면, 1시간마다 반복적으로 실행되며, 집이 어둡고 움직임을 포착하면 전구가 켜지고, 만약 사용자가 집에서 일정 거리 이상 떨어져 있으면 카메라가 움직이는 물체의 사진을 찍어 이메일로 전송하는 서비스 시나리오를 생성하는 경우, 도 21의 좌측과 같이 스크립트 언어를 사용하여 서비스들을 결합하는 스크립트 코드를 생성하고, 상기 미들웨어는 상기 스크립트 코드로 생성된 상기 서비스 시나리오를 상기 서비스 시나리오 그래프로 변환할 수 있다. 이 경우 도 21의 우측과 같이 상기 서비스 시나리오 그래프가 생성될 수 있다. 상기 서비스 시나리오 그래프는 하나의 반복 주기를 가지는 반복 노드(loop), 4개의 서비스 노드(B,D,E,F) 및 2개의 조건 노드(A,C)를 포함하고, 2개의 조건 노드는 wait until 구문에 해당하는 블록킹 타입의 조건 노드(A), if 구문에 해당하는 논블록킹 타입의 조건 노드(C)로 이루어 질 수 있다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 통상의 기술자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 사물 인터넷 장치로부터 장치 생성 정보를 수신하여 상기 사물 인터넷 장치와의 연결을 설정하는 장치 관리부, 상기 사물 인터넷 장치를 서비스 장치로 추상화하고, 서비스 시나리오에 따라 상기 사물 인터넷 장치를 제어하는 서비스 관리부 및 상기 장치 관리부, 상기 서비스 관리부 및 상기 사물 인터넷 장치에 관한 데이터를 생성 및 저장하는 데이터 관리부를 포함하는 미들웨어; 및
    상기 서비스 장치에 대한 상기 서비스 시나리오를 생성하는 스크립트 에디터를 포함하는 사물 인터넷 플랫폼.
  2. 제1항에 있어서,
    상기 장치 관리부는,
    상기 사물 인터넷 장치로부터 장치 생성 정보를 수신하여 상기 사물 인터넷 장치와의 연결을 설정하는 장치 연결부; 및
    상기 사물 인터넷 장치의 상태를 모니터링하는 장치 모니터링부를 포함하고,
    상기 서비스 관리부는,
    상기 사물 인터넷 장치를 상기 서비스 장치로 추상화하는 서비스 장치 생성부;
    상기 서비스 시나리오에 따라 상기 사물 인터넷 장치를 제어하는 서비스 장치 제어부; 및
    상기 서비스 장치 제어부에 대한 런타임을 관리하는 런타임 서비스부를 포함하는 사물 인터넷 플랫폼.
  3. 제1항에 있어서,
    상기 데이터 관리부는,
    상기 미들웨어의 상태를 관리하는 상태 관리부;
    상기 미들웨어, 상기 사물 인터넷 장치, 상기 서비스 장치 및 상기 서비스 시나리오의 상태 정보를 수집하고 저장하는 상태 모니터링부; 및
    상기 스크립트 에디터에서 요청시 상기 상태 정보를 상기 스크립트 에디터에 전송하는 상태 전송부를 포함하고,
    상기 스크립트 에디터는 상기 상태 정보를 전송받아 표시하는 상태 정보 표시부를 포함하는 사물 인터넷 플랫폼.
  4. 제1항에 있어서,
    상기 서비스 장치는 상기 사물 인터넷 장치가 제공하는 장치 식별자, 장치 속성 및 장치 기능을 추상화 하여 재구성한 서비스 단위의 데이터이고,
    상기 장치 식별자는 상기 사물 인터넷 장치의 클래스 및 장치의 명칭을 포함하고,
    상기 장치 속성은 상기 사물 인터넷 장치의 상태, 상기 사물 인터넷 장치가 제공하는 서비스의 명칭 또는 상기 사물 인터넷 장치가 제공하는 서비스의 상태를 포함하고,
    상기 장치 기능은 상기 사물 인터넷 장치가 제공하는 기능 및 비기능적 특성을 포함하는 것을 특징으로 하는 사물 인터넷 플랫폼.
  5. 제1항에 있어서,
    상기 스크립트 에디터는,
    사용자에 의해 선택받은 입력 수단에 설치되고, 스크립트 언어를 지원하는 스크립트 코드 편집기를 포함하고,
    상기 스크립트 코드 편집기에서 사용자에 의해 생성된 스크립트 코드는 상기 서비스 장치의 하나 이상의 서비스 또는 하나 이상의 서로 상이한 상기 서비스 장치를 포함하고,
    상기 서비스 시나리오는 상기 스크립트 코드로부터 생성되며, 상기 스크립트 코드의 기재 순서에 따라 순차적으로 수행되고,
    상기 스크립트 언어는 if-else, loop 및 wait until을 제어구문으로 포함하는 것을 특징으로 하는 사물 인터넷 플랫폼.
  6. 제1항에 있어서,
    상기 미들웨어는,
    상기 서비스 시나리오를 서비스 시나리오 그래프로 변환하는 서비스 시나리오 그래프 변환부를 포함하고,
    상기 서비스 관리부는 상기 서비스 시나리오 그래프를 상기 사물 인터넷 장치에 매핑하고 스케줄링 하여 사물 인터넷 장치를 제어하고,
    상기 서비스 시나리오 그래프는,
    서비스 노드의 유한 집합, 조건 노드의 유한 집합, 반복 노드의 유한 집합 및 노드 사이의 실행 흐름을 나타내는 간선의 유한 집합을 포함하는 복합 서비스;
    블록킹 타입, 논블록킹 타입, 참 포트 및 거짓 포트를 포함하는 조건 노드; 및
    루프에 해당하는 서브 그래프, 루프의 반복 주기 및 루프 잔존 조건을 포함하는 반복 노드를 포함하는 것을 특징으로 하는 사물 인터넷 플랫폼.
  7. 제1항에 있어서,
    상기 미들웨어는 하나 이상이고, 상기 미들웨어들은 계층 구조를 이루며,
    상기 미들웨어들은,
    로컬 네트워크를 구성하는 하나 이상의 제1 계층 미들웨어; 및
    상기 제1 계층 미들웨어의 상위에 형성되는 제2 계층 미들웨어를 포함하고,
    상기 미들웨어들은 계층별 또는 계층간에 연동되고,
    상기 데이터 관리부는 상기 미들웨어들의 연동을 관리하는 것을 특징으로 하는 사물 인터넷 플랫폼.
  8. 제1항에 있어서,
    상기 미들웨어는 외부 네트워크 또는 클라우드에 연결되어 동작하는 것을 특징으로 하는 사물 인터넷 플랫폼.
  9. 제1항에 있어서,
    상기 장치 관리부는 MQTT 프로토콜을 이용하여 상기 사물 인터넷 장치와 연결되고,
    상기 사물 인터넷 장치는,
    클라우드;
    MQTT 프로토콜이 지원되는 비제한적 장치; 및
    MQTT 프로토콜이 지원되지 않는 제한적 장치를 포함하고,
    상기 서비스 장치는 클라우드 어플리케이션이 제공하는 서비스를 포함하고,
    상기 사물 인터넷 플랫폼은 상기 제한적 장치에 연결되어 MQTT 프로토콜을 지원하도록 하는 게이트웨이를 더 포함하는 사물 인터넷 플랫폼.
  10. 제1항에 있어서,
    상기 사물 인터넷 플랫폼은 상기 미들웨어와 연결되고, 상기 사물 인터넷 장치에 관한 데이터 및 상기 사물 인터넷 플랫폼에서 발생되는 로그가 저장되는 관리 서버를 포함하고,
    상기 스크립트 에디터는 정보처리장치, 이동통신장치 또는 화상표시장치에 설치되고,
    상기 정보처리장치, 이동통신장치 또는 화상표시장치는 유선 또는 무선으로 상기 미들웨어에 연결되는 것을 특징으로 하는 사물 인터넷 플랫폼.
  11. 미들웨어가 사물 인터넷 장치에 연결되는 단계;
    상기 사물 인터넷 장치를 서비스 장치로 추상화 하는 단계;
    상기 사물 인터넷 장치 및 상기 서비스 장치에 관한 데이터를 생성 및 저장하는 단계;
    스크립트 에디터에서 상기 서비스 장치에 대한 서비스 시나리오를 생성하는 단계;
    상기 서비스 시나리오에 따라 상기 사물 인터넷 장치를 제어하는 단계를 포함하는 사물 인터넷 플랫폼의 제어 방법.
  12. 제11항에 있어서,
    상기 사물 인터넷 장치에 연결되는 단계는,
    상기 사물 인터넷 장치로부터 장치 생성 정보를 수신하여 상기 사물 인터넷 장치와의 연결을 설정하는 단계; 및
    상기 사물 인터넷 장치의 상태를 모니터링하는 단계를 포함하고,
    상기 사물 인터넷 장치를 제어하는 단계는 상기 사물 인터넷 장치를 제어하는 단계에 대한 런타임을 관리하는 런타임 서비스 단계를 포함하는 사물 인터넷 플랫폼의 제어 방법.
  13. 제11항에 있어서,
    상기 사물 인터넷 플랫폼의 제어 방법은,
    상기 미들웨어의 상태를 관리하는 미들웨어 관리 단계; 및
    상기 미들웨어, 상기 사물 인터넷 장치, 상기 서비스 장치 및 상기 서비스 시나리오의 상태 정보를 수집하고 저장하는 상태 모니터링 단계를 더 포함하고,
    상기 모니터링 단계는 상기 스크립트 에디터에서 요청시 상기 상태 정보를 상기 스크립트 에디터에 전송하는 상태 전송 단계; 및
    상기 상태 정보를 전송받아 상기 스크립트 에디터에 표시하는 상태 정보 표시 단계를 포함하는 사물 인터넷 플랫폼의 제어 방법.
  14. 제11항에 있어서,
    상기 서비스 장치는 상기 사물 인터넷 장치가 제공하는 장치 식별자, 장치 속성 및 장치 기능을 추상화 하여 재구성한 서비스 단위의 데이터이고,
    상기 장치 식별자는 상기 사물 인터넷 장치의 클래스 및 명칭을 포함하고,
    상기 장치 속성은 상기 사물 인터넷 장치의 상태, 상기 사물 인터넷 장치가 제공하는 서비스의 명칭 및 상기 사물 인터넷 장치가 제공하는 서비스의 상태를 포함하고,
    상기 장치 기능은 상기 사물 인터넷 장치가 제공하는 기능 및 비기능적 특성을 포함하는 것을 특징으로 하는 사물 인터넷 플랫폼의 제어 방법.
  15. 제11항에 있어서,
    상기 서비스 시나리오를 생성하는 단계는,
    상기 스크립트 에디터가 사용자에 의해 선택받은 입력 수단에 설치되는 단계;
    사용자에 의해 스크립트 에디터에서 스크립트 언어를 이용하여 스크립트 코드를 생성하는 단계; 및
    상기 스크립트 코드로부터 상기 서비스 시나리오가 생성되는 단계를 포함하고,
    상기 사용자에 의해 생성된 스크립트 코드는 상기 서비스 장치의 하나 이상의 서비스 또는 하나 이상의 서로 상이한 상기 서비스 장치를 포함하고,
    상기 서비스 시나리오는 상기 스크립트 코드의 기재 순서에 따라 순차적으로 수행되고,
    상기 스크립트 언어는 if-else, loop 및 wait until을 제어구문으로 포함하는 것을 특징으로 하는 사물 인터넷 플랫폼의 제어 방법.
  16. 제11항에 있어서,
    상기 서비스 시나리오를 생성하는 단계는 상기 서비스 시나리오를 서비스 시나리오 그래프로 변환하는 단계를 포함하고,
    상기 사물 인터넷 장치를 제어하는 단계는 상기 서비스 시나리오 그래프를 상기 사물 인터넷 장치에 매핑하고 스케줄링하여 상기 사물 인터넷 장치를 제어하는 단계를 포함하고,
    상기 서비스 시나리오 그래프는,
    서비스 노드의 유한 집합, 조건 노드의 유한 집합, 반복 노드의 유한 집합 및 노드 사이의 실행 흐름을 나타내는 간선의 유한 집합을 포함하는 복합 서비스;
    블록킹 타입, 논블록킹 타입, 참 포트 및 거짓 포트를 포함하는 조건 노드; 및
    루프에 해당하는 서브 그래프, 루프의 반복 주기 및 루프 잔존 조건을 포함하는 반복 노드를 포함하는 것을 특징으로 하는 사물 인터넷 플랫폼의 제어 방법.
  17. 제11항에 있어서,
    상기 사물 인터넷 플랫폼의 제어 방법은,
    하나 이상의 미들웨어가 연동되는 단계를 더 포함하고,
    상기 미들웨어가 연동되는 단계는,
    하나 이상의 상기 미들웨어로 로컬 네트워크가 구성되는 제1 계층 미들웨어 생성 단계;
    상기 제1 계층 미들웨어의 상위에 형성되는 제2 계층 미들웨어와 연동되는 단계; 및
    상기 미들웨어들의 연동을 관리하는 단계를 포함하고,
    상기 미들웨어들은 계층별 또는 계층간에 연동되는 것을 특징으로 하는 사물 인터넷 플랫폼의 제어 방법.
  18. 제11항에 있어서,
    상기 사물 인터넷 플랫폼의 제어 방법은,
    상기 미들웨어가 외부 네트워크 또는 클라우드에 연결되는 단계를 더 포함하는 사물 인터넷 플랫폼의 제어 방법.
  19. 제11항에 있어서,
    상기 사물 인터넷 장치는,
    클라우드;
    MQTT 프로토콜이 지원되는 비제한적 장치; 및
    MQTT 프로토콜이 지원되지 않는 제한적 장치를 포함하고,
    상기 서비스 장치는 클라우드 어플리케이션이 제공하는 서비스를 포함하고,
    상기 사물 인터넷 플랫폼의 제어 방법은 상기 제한적 장치에 연결되어 MQTT 프로토콜을 지원하도록 하는 게이트웨이를 더 포함하는 사물 인터넷 플랫폼의 제어 방법.
  20. 제11항에 있어서,
    상기 사물 인터넷 플랫폼의 제어 방법은 상기 사물 인터넷 장치에 관한 데이터 및 상기 사물 인터넷 플랫폼에서 발생되는 로그가 상기 미들웨어와 연결된 관리 서버에 저장되는 단계를 더 포함하고,
    상기 스크립트 에디터는 정보처리장치, 이동통신장치 또는 화상표시장치에 설치되고,
    상기 정보처리장치, 이동통신장치 또는 화상표시장치는 유선 또는 무선으로 상기 미들웨어에 연결되는 것을 특징으로 하는 사물 인터넷 플랫폼의 제어 방법.
PCT/KR2018/000261 2017-12-05 2018-01-05 서비스 지향 사물 인터넷 플랫폼 및 그 제어 방법 WO2019112113A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/767,588 US11245769B2 (en) 2017-12-05 2018-01-05 Service-oriented internet of things platform and control method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170165863A KR102071315B1 (ko) 2017-12-05 2017-12-05 서비스 지향 사물 인터넷 플랫폼 및 그 제어 방법
KR10-2017-0165863 2017-12-05

Publications (1)

Publication Number Publication Date
WO2019112113A1 true WO2019112113A1 (ko) 2019-06-13

Family

ID=66750171

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/000261 WO2019112113A1 (ko) 2017-12-05 2018-01-05 서비스 지향 사물 인터넷 플랫폼 및 그 제어 방법

Country Status (3)

Country Link
US (1) US11245769B2 (ko)
KR (1) KR102071315B1 (ko)
WO (1) WO2019112113A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11323447B2 (en) * 2019-07-09 2022-05-03 Hexagon Technology Center Gmbh Digital data access control and automated synthesization of capabilities
US11516199B2 (en) * 2020-07-17 2022-11-29 Cisco Technology, Inc. Zero trust for edge devices
KR102631082B1 (ko) * 2021-08-24 2024-01-30 씽스케어주식회사 실시간 프로그래밍이 가능한 IoT 장치 제어 시스템 및 그 제어 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150264138A1 (en) * 2014-03-13 2015-09-17 Systech Corporation Gateway management using virtual gateways and wildcards
US20170041388A1 (en) * 2015-08-05 2017-02-09 Facebook, Inc. Controlling a Device Cloud
KR20170037637A (ko) * 2014-07-22 2017-04-04 콘비다 와이어리스, 엘엘씨 M2m-iot 서비스의 발행 및 발견
KR20170089146A (ko) * 2016-01-26 2017-08-03 전자부품연구원 사물 인터넷 기기의 구동 시나리오 구축방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2959383A1 (en) * 2013-02-19 2015-12-30 Interdigital Patent Holdings, Inc. Information modeling for the future internet of things
KR20140118925A (ko) 2013-03-29 2014-10-08 이순호 사물 인터넷 클라우드 서비스를 위한 애플리케이션의 개발 시스템 및 사물 인터넷 클라우드 서비스 방법과 그 시스템.
US9600571B2 (en) * 2013-07-11 2017-03-21 Neura, Inc. Interoperability mechanisms for internet of things integration platform
JP6178923B2 (ja) * 2013-07-24 2017-08-09 コンヴィーダ ワイヤレス, エルエルシー サービスドメイン課金システムおよび方法
US9350812B2 (en) * 2014-03-21 2016-05-24 Ptc Inc. System and method of message routing using name-based identifier in a distributed computing environment
US20170134239A1 (en) * 2014-03-21 2017-05-11 Ptc Inc. Systems and methods for routing messages in distributed computing environments
JP6335388B2 (ja) * 2014-09-19 2018-05-30 コンヴィーダ ワイヤレス, エルエルシー サービス層セッション移転および共有
US20160321081A1 (en) * 2015-05-02 2016-11-03 Hyeung-Yun Kim Embedded systems of internet-of-things incorporating a cloud computing service of FPGA reconfiguration
EP3278213A4 (en) * 2015-06-05 2019-01-30 C3 IoT, Inc. SYSTEMS, METHODS AND DEVICES FOR AN APPLICATION DEVELOPMENT PLATFORM OF AN INTERNET OF THE THINGS OF A COMPANY
US10362113B2 (en) * 2015-07-02 2019-07-23 Prasenjit Bhadra Cognitive intelligence platform for distributed M2M/ IoT systems
US10412064B2 (en) * 2016-01-11 2019-09-10 Centurylink Intellectual Property Llc System and method for implementing secure communications for internet of things (IOT) devices
US20170255373A1 (en) * 2016-03-02 2017-09-07 General Electric Company Method, system, and program storage device for analytics in an industrial internet of things
US10230592B2 (en) * 2016-03-02 2019-03-12 Oracle International Corporation Compound service performance metric framework
US10305734B2 (en) * 2016-04-07 2019-05-28 General Electric Company Method, system, and program storage device for customization of services in an industrial internet of things
US10419486B1 (en) * 2016-10-11 2019-09-17 The Mitre Corporation Enhancing enterprise security on mobile platforms
US10771335B2 (en) * 2017-07-24 2020-09-08 Verizon Patent And Licensing, Inc. Generating and sharing models for Internet-of-Things data
US11149542B2 (en) * 2018-06-21 2021-10-19 Schlumberger Technology Corporation Dynamic system for field operations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150264138A1 (en) * 2014-03-13 2015-09-17 Systech Corporation Gateway management using virtual gateways and wildcards
KR20170037637A (ko) * 2014-07-22 2017-04-04 콘비다 와이어리스, 엘엘씨 M2m-iot 서비스의 발행 및 발견
US20170041388A1 (en) * 2015-08-05 2017-02-09 Facebook, Inc. Controlling a Device Cloud
KR20170089146A (ko) * 2016-01-26 2017-08-03 전자부품연구원 사물 인터넷 기기의 구동 시나리오 구축방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LAM, AN NGOC: "SA1: A Service Oriented Autonomic IoT Platform", MASTER'S THESIS IN COMPUTER SCIENCE, 30 May 2017 (2017-05-30), Halden, Norway, pages 1 - 90, XP055614494 *
LEE, HYUNJAE ET AL.: "A Novel Service-Oriented Platform for the Internet of Things", 2017, pages 1 - 8, XP055614499 *
LEE, HYUNJAE ET AL.: "Work in Progress: SoPIoT : Service-oriented Platform for Internet of Things", SEOUL NATIONAL UNIVERSITY R&DB FOUNDATION, DEPT. OF COMPUTER SCIENCE AND ENGINEERING, ESWEEK 2017 CONFERENCE PRESENTATION, 2017, New York, pages 1 - 3, XP055614497 *

Also Published As

Publication number Publication date
US11245769B2 (en) 2022-02-08
US20200389528A1 (en) 2020-12-10
KR102071315B1 (ko) 2020-01-30
KR20190066283A (ko) 2019-06-13

Similar Documents

Publication Publication Date Title
WO2014038916A1 (en) System and method of controlling external apparatus connected with device
WO2012161440A2 (ko) 스마트 서비스 로봇 운영 시스템 및 방법
WO2019112113A1 (ko) 서비스 지향 사물 인터넷 플랫폼 및 그 제어 방법
WO2020155358A1 (zh) 智能家居设备联动控制方法、装置及智能家居设备
WO2018070768A1 (ko) 모니터링 시스템 제어 방법 및 이를 지원하는 전자 장치
WO2012057422A1 (ko) 이동통신 단말의 위치정보를 활용한 로봇 인터랙션 서비스 제공 시스템, 방법 및 장치
WO2017111556A1 (ko) 디바이스를 제어하는 방법 및 장치
EP3072257A1 (en) Method and apparatus for controlling home devices on group basis in a home network system
WO2018143711A1 (en) System and method of providing sensing data to electronic device
JP6268824B2 (ja) 通信システム、通信方法及び情報処理装置
WO2016099230A1 (en) Apparatus and method for controling display in electronic device having processors
WO2015102467A1 (ko) 웨어러블 기기를 이용한 홈 디바이스 제어 장치 및 제어 방법
CN113359525A (zh) 一种智能云控系统及其控制方法
WO2020040396A1 (ko) 클라우드 기반의 IoT 네트워크 가상화 시스템 및 네트워킹 방법
WO2022119212A1 (ko) 외부 장치의 음성 기반 제어를 위한 방법 및 그 전자 장치
WO2021029653A1 (ko) 박쥐의 전시 관람 시스템 및 그 방법
WO2021080147A1 (ko) 개인화된 가상 비서를 제공하는 장치
WO2017150841A1 (ko) 전자장치, 어플리케이션 실행 시스템 및 그 제어방법
WO2022163948A1 (ko) 외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 방법 및 이를 지원하는 전자 장치
WO2022030860A1 (ko) Iot 환경에서 타겟 전자 장치를 제어하기 위한 전자 장치 및 그에 관한 방법
WO2022102888A1 (en) Methods and systems for identifying devices and positions of devices in an iot environment
WO2021033861A1 (ko) Iot 서비스 인프라와의 연동을 지원하는 초소형 iot 디바이스용 소프트웨어의 개발을 위한 클라우드 기반 통합 개발 환경을 제공하는 통합 개발 클라우드 서버 및 방법
WO2016167631A1 (ko) 전자장치에서 트래픽 전송 시점 제어 장치 및 방법
WO2017209436A1 (ko) 양방향 텔레스크린 제어 방법 및 그를 위한 장치
WO2024014600A1 (ko) 인스턴스 관리 방법 및 이를 위한 전자 장치

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

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

Country of ref document: EP

Kind code of ref document: A1