WO2015093770A1 - M2m network system, m2m gateway, and method for installing software module in m2m gateway so as to perform data communication with device - Google Patents

M2m network system, m2m gateway, and method for installing software module in m2m gateway so as to perform data communication with device Download PDF

Info

Publication number
WO2015093770A1
WO2015093770A1 PCT/KR2014/012000 KR2014012000W WO2015093770A1 WO 2015093770 A1 WO2015093770 A1 WO 2015093770A1 KR 2014012000 W KR2014012000 W KR 2014012000W WO 2015093770 A1 WO2015093770 A1 WO 2015093770A1
Authority
WO
WIPO (PCT)
Prior art keywords
gateway
software module
server
module
software
Prior art date
Application number
PCT/KR2014/012000
Other languages
French (fr)
Korean (ko)
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 주식회사 엔텔스
Publication of WO2015093770A1 publication Critical patent/WO2015093770A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Definitions

  • the technology described below relates to a network system for machine-to-machine communication and an M2M gateway to communicate with a device collecting specific data.
  • the M2M gateway communicates with a device (sensor) that collects specific data and transmits the collected data to a control unit of the M2M network.
  • a device that collects specific data and transmits the collected data to a control unit of the M2M network.
  • a wide variety of devices can be used in an M2M network system.
  • devices that measure actual temperatures such as devices that measure humidity, devices that collect data from specific devices, and devices that measure human body information.
  • Each device may be different from each other, and even the same manufacturer may have different OSs and / or communication protocols. Therefore, current M2M networks generally use devices and dedicated gateways manufactured by one manufacturer.
  • the technology described below is intended to provide an M2M network system and an integrated gateway capable of communicating with various devices as described above.
  • the M2M network system includes a device that collects data, an open framework-based architecture, a gateway that sends and receives data to and from the device using a software module, and an M2M server that receives data transmitted from the gateway and controls the gateway. .
  • the gateway requests the software module from the M2M server and installs the software module transmitted from the M2M server.
  • the M2M server installs software modules in the gateway.
  • the open framework is OSGi, and the software module may be a bundle that runs on OSGi.
  • the device and the gateway may be connected using at least one of NFC, Bluetooth, Wi-Fi, SUN, LAN network, mobile communication 3G network, mobile communication 4G network, local area communication network or mobile communication network.
  • the gateway may use at least one of the mId protocol of the ESTI 102.921 standard or the CoAP protocol of the IETF standard.
  • the M2M network system stores tool data for software development tools (SDKs) that produce software modules, receives development instructions from users connected via the Internet, creates software modules, and delivers the created software modules to the M2M server.
  • SDKs software development tools
  • the module development server may further include.
  • the M2M server may store tool data for a software development tool (SDK) for manufacturing a software module, and receive a development command from a user connected through the Internet to manufacture a software module.
  • SDK software development tool
  • the method of installing a software module for performing data communication with a device in an M2M gateway is performed by a user accessing an M2M server that provides a software development tool (SDK) based on a web through a computer device.
  • SDK software development tool
  • M2M gateway based on an open framework to produce a software module required to communicate with the device, and M2M server includes installing a software module in the M2M gateway.
  • the manufacturing step includes a user selecting a communication protocol to be used between the device and the M2M gateway in a web-based software development tool, transmitting the source code for the selected communication protocol to the computer device, and generating the source code through the computer device. Producing a software module.
  • the producing step may further include the software development tool verifying the software module after producing the software module using the source code.
  • the M2M server may deliver a software module stored in the M2M server to the M2M gateway or remotely install the software module in the M2M gateway.
  • the M2M gateway includes a transmitter that transmits a scanning signal and a module request signal to an M2M server to determine whether an M2M device operates in coverage, a receiver that receives a response signal for a scanning signal from an M2M device, and analyzes an M2M device.
  • a memory for storing a software module installed according to the module request signal and a controller for determining whether a software module for communicating with the device is installed and for transmitting a module request signal for requesting the software module to the M2M server if the software module is not present;
  • the software module is a bundle that runs on OSGi, which is an open framework.
  • the M2M server receives specific data collected by the M2M device through the M2M gateway, and the M2M server manages the software module.
  • the M2M gateway communicates with the device using a software module, and if there is no corresponding software module, the M2M gateway may request a dedicated software module from the M2M server to access various devices provided by the developer through one gateway.
  • FIG. 1 is an example of a block diagram showing a configuration of an M2M network system.
  • FIG. 2 is another example of a block diagram illustrating a configuration of an M2M network system.
  • 3 is an example illustrating a hierarchical structure of a gateway for communicating with a device.
  • FIG. 4 is an example of a block diagram showing the configuration of a gateway.
  • FIG. 5 is an example of a flowchart for a method of installing a software module for performing data communication with a device in an M2M gateway.
  • FIG. 6 is a flowchart illustrating a process of providing a software module to a gateway.
  • first, second, A, B, etc. may be used to describe various components, but the components are not limited by the terms, but merely for distinguishing one component from other components. Only used as For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • each process constituting the method may occur differently from the stated order unless the context clearly indicates a specific order. That is, each process may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
  • M2M gateway and the like, but the same configuration is also referred to as "gateway" in which M2M is omitted.
  • the network refers to a physical environment or a device capable of transmitting and receiving data between a specific device and a device by wire or wirelessly.
  • a device connecting various components of the M2M network system may use various technologies or communication methods.
  • the technology described below does not limit the scope of the technology described below in terms of the type of network connecting the configuration.
  • a device refers to an apparatus that collects various pieces of information data, such as sensor nodes in a sensor network. For example, it refers to a device for collecting specific data such as a sensor for measuring temperature, a sensor for measuring humidity, a CCTV for capturing an image, and the like. Furthermore, a device for transmitting a signal for controlling a specific mechanism, such as a device for controlling indoor heating and the like, is also included.
  • the M2M network system 100 has a device 110 for collecting data, an architecture based on an open framework, and is transmitted from the device 110 and the device 110 to exchange data with the device 110 using a software module.
  • M2M server 150 that receives the data, and controls the device 110.
  • the device 110 is connected to the device 110 through first networks Network1 and 120.
  • the first networks Network1 and 120 may be networks such as Zigbee, NFC, Bluetooth, Wi-Fi, SUN, LAN networks, mobile communication 3G networks, mobile communication 4G networks, and the like.
  • various short-range communication networks and mobile communication networks can be used.
  • the device 110 since the device 110 uses a limited power (energy), it uses a lot of near field communication.
  • the device 110 In order for the device 110 to communicate with the device 110, communication protocols using each other should be common. Therefore, in general, the device 110 has a built-in protocol according to the communication protocol used in the specific device (110). 1 includes a "D1 communication module" for communicating with D1 and a “D2 communication module” for communicating with D2. The device 110 may communicate with the device 110 through such a communication module.
  • the type of device 110 that can be used for M2M communication is very diverse and may use different communication protocols and OSs. That is, in order to communicate with the device 110 using different protocols, the device 110 must include all protocols. However, in reality, it is difficult for the device 110 to have all protocols, and it is difficult for one device 110 to collectively manage and control the device 110 using various OSs.
  • the device 110 basically has an architecture based on an open framework that can be easily accessed by a developer, and intends to implement a protocol for communicating with the device 110 through a specific software module used in the open framework.
  • Various open frameworks may be used, but once an open framework is OSGi, it is assumed that a software module is a bundle running on OSGi.
  • OSGi Open Service Gateway initiative
  • the device 110 requests a software module from the M2M server 150 when there is no software module for the device 110 found in the device 110 coverage.
  • the M2M server 150 is configured to receive data collected by the device 110, manage the device 110 and the gateway 130, and provide a specific service to other users based on the collected information.
  • the M2M server 150 is connected to the gateway 130 and the second networks Network2 and 140.
  • Various networks may be used for the second network Network2 140, like the first network 120.
  • the gateway 130 and the M2M server 150 are generally located remotely from each other. Therefore, although a wired network such as a telephone line network or an optical communication may be used, the second network (Network2, 140) generally uses a mobile communication network.
  • the M2M server 150 is connected to the mobile communication core network. For example, it may be connected to a configuration such as Packet Data Serving Node (PDSN) of 3G network or Serving Gateway (SGW) of 4G network.
  • PDSN Packet Data Serving Node
  • SGW Serving Gateway
  • FIG. 1 and FIG. 2 the second network (Network2, 140) and the M2M server 150 is indicated by a dotted box, which means that the M2M server 150 is connected to the second network (Network2, 140).
  • FIG. 2 is another example of a block diagram illustrating a configuration of the M2M network system 100.
  • the devices 110, D1, D2, and D3 use different communication protocols.
  • the D1 communication module and the D2 communication module are already installed in the gateway 130, but the D3 communication module is not currently installed. Accordingly, the gateway 130 may not receive data collected from the device 110 D3.
  • the gateway 130 determines that the communication module (software module) for the device 110 D3 is not installed, and then requests the M2M server 150 for the communication module for the D3. Thereafter, the M2M server 150 may transfer the stored D3 communication module to the gateway 130 so that the gateway 130 may install or remotely install the D3 communication module in the gateway 130.
  • the gateway 130 determines that there is no protocol (driver) for communication, the gateway 130 requests and installs the corresponding protocol and then communicates with the device 110. From the standpoint of the device 110, it is called a plug-and-play method.
  • various names such as a software module, a communication module, a protocol, and a driver are described, but in the end, the same object will be described.
  • OSGi-based architectures software modules are provided in so-called bundles.
  • the M2M server 150 may not store or manage all communication modules in advance.
  • the developer who develops the specific device 110 must provide the M2M server 150 with the communication protocol (communication module) used in the device 110 in advance.
  • FIG. 2 a path through which a developer accesses the M2M server 150 via the Internet through the developer computer 50 is illustrated. A method of providing a software module by a developer will be described later.
  • FIG. 3 is an example illustrating a hierarchical structure of the gateway 130 in communication with the device 110.
  • the gateway 130 shown in FIG. 3 has an OSGi based architecture.
  • the device 110 and the gateway 130 have been shown to be connected in various ways, such as Bluetooth, SUN, NFC, Wi-Fi, 3G, 4G. Since the M2M server 150 receives and collects data collected by the device 110, the M2M server 150 is indicated as a collector.
  • Gateway Bundle is a software module. Bundle includes the contents such as the protocol that can communicate with the specific device (110). In addition, standard interfaces (SUN, Zigbee, NFC, Bluetooth, Wi-Fi, HTTP, TCP, etc.) for the first network and the protocol for the second network are illustrated in the Common Bundle layer. Protocols such as the mId protocol of the ESTI 102.921 standard or the CoAP protocol of the IETF standard may be used between the gateway 130 and the M2M server 150. Using standard protocols will allow M2M service providers to use M2M network systems more easily.
  • 4 is an example of a block diagram showing the configuration of the gateway 130. 4 also shows an operational flow for installing a software module (communication module) in the gateway 130 between the device 110, the gateway 130, and the M2M server 150.
  • a software module communication module
  • the gateway 130 transmits a scanning signal and a transmission unit 131 for transmitting a module request signal to the M2M server 150 and a response signal for the scanning signal from the M2M device to determine whether the M2M device 110 operates in the coverage.
  • Receiving unit 132 that receives the, and analyzes the response signal to determine whether the software module for communicating with the M2M device is installed, and if there is no software module to transmit a module request signal for requesting the software module to the M2M server 150
  • a control unit 133 for controlling and a memory unit 134 for storing a software module installed according to the module request signal.
  • the memory unit 134 is installed with a D1 communication module, a D2 communication module, a D4 communication module, a D5 communication module, and a D6 communication module. It is assumed that each device 110 of D1 to D6 uses a different protocol. Accordingly, the gateway 130 may receive data from the devices 110, D1 and D2, but may not receive data from the device D3.
  • the method of initiating communication between the device 110 and the gateway 130 may be varied.
  • the device 110 transmits a signal for scanning whether there is a specific gateway 130 present in the periphery, and the gateway 130 transmits a response message to the device 110 to transmit the response message to the device 110 and the gateway ( 130) can be established between channels.
  • the transmitter 131 of the gateway 130 transmits a scanning signal for searching for a device 110 present in the periphery, and the device D3 transmits a response signal to the gateway 130 to the gateway 130. Therefore, even if the device 110 does not currently have a communication module in the gateway 130, it is assumed that a scanning signal and a response signal thereof are possible by a certain communication protocol. Since the scanning signal and the response signal are transmitted and received according to a standard interface used in the first network 120, the scanning signal and the response signal may exchange signals according to the corresponding standard.
  • the response signal contains an identifier for device D3 or information about the protocol used.
  • the control unit 133 analyzes the response signal transmitted from the receiving unit 132 of the gateway 130 to determine whether there is a communication module corresponding to the corresponding protocol in the current memory unit 134. If there is a corresponding communication module, communication may be possible between the gateway 130 and the device 110 immediately, but there is no communication module for the device D3.
  • the controller 133 transmits a module request signal for the D3 communication module to the M2M server 150 through the transmitter 131.
  • the M2M server 150 receives and analyzes a module request signal and transmits a D3 communication module, which is a corresponding communication module, to the gateway 130 or installs the corresponding communication module in the gateway 130.
  • the M2M network system 100 may further include a separate module development server 160 in addition to the M2M server 150.
  • the software communication module provided by the developer is stored in the module development server 160, and the M2M server 150 manages the communication module stored in the module development server 160, and uses the communication module to the gateway 130. Install it.
  • FIG. 5 is an example of a flowchart for a method 500 of installing a software module for performing data communication with the device 110 in the M2M gateway 130.
  • the method 500 for installing a software module for performing data communication with the device 110 in the M2M gateway 130 includes an M2M server 150 in which a user provides a software development tool (SDK) based on a web through a computer device.
  • Approaching (510), a user using a software development tool, the M2M gateway (130) based on an open framework to create a software module necessary for communicating with the device (110) and the M2M server (150) Install 550 the software module in the M2M gateway 130.
  • SDK software development tool
  • the manufacturing step 520 is specifically a step in which a user selects a communication protocol to be used between the device 110 and the M2M gateway 130 in a web-based software development tool (521), the source code for the communication protocol selected in the computer device.
  • the step 522 may be transmitted, and the user may create a software module using source code through a computer device (523).
  • the manufacturing step 520 may further include a step 524 of verifying the software module by the software development tool after the step of manufacturing the software module using the source code.
  • a developer connects to an M2M server 150 that provides a web-based SDK through the developer computer 50 used by him, and then develops a device according to the interface provided by the SDK. Input the communication protocol, etc. of 110, the source code is automatically created through the SDK. Alternatively, the developer can write or modify the source code directly through the SDK interface.
  • the developer may open the source code downloaded to the developer computer 50 and modify the source code to match the device 110 developed by the developer. After that, the developer compiles the completed code and transmits it to the M2M server 150. Compiled files can also be verified using the SDK.
  • the developer may input a predetermined command in the developer computer 50 and the source code may be remotely performed in the M2M server 150.
  • the source code prepared by the developer through the M2M server 150 may be actually provided in the M2M server 150 in various ways.
  • the software module does not necessarily have to be produced by the web-based SDK.
  • the M2M server 150 providing the SDK should be accessible through the Internet. Therefore, the web-based SDK is described as an embodiment.
  • the M2M server 150 does not have to provide a web-based SDK, but a separate SDK providing server may be sufficient.
  • the software module (communication module) provided by the developer is stored in the M2M server 150 (530), and then the M2M gateway 130 requests the M2M server 150 for the software module for the specific device 110 ( In case 540, the M2M server 150 installs a software module in the M2M gateway 130 (550).
  • the M2M server 150 When the M2M server 150 requests a software module for the device 110 that is retrieved from the coverage, the M2M server 150 delivers the software module stored in the M2M server 150 to the M2M gateway 130 or remotely executes the software module. The module is installed in the M2M gateway 130.
  • FIG. 6 is a flowchart of a process in which a software module is provided to the gateway 130. 6 summarizes the above-described process.
  • the device scanning signal for scanning the device 110 is transmitted from the M2M gateway 130 (311), and the device 110 transmits a scanning response signal 312 for the scanning signal to the M2M gateway 130. 6 assumes that there is no software module for the device 110 that has currently sent the scanning response signal to the M2M gateway 130.
  • the M2M gateway 130 transmits a module request signal requesting the installation of the corresponding software module to the M2M server 150 (321), and the M2M server 150 transmits the requested software module to the gateway 130 or remotely.
  • the software module is installed in the gateway 130 (322).
  • the M2M server 150 searches for a module to inquire whether the module development server 160 has a software module requested from the M2M gateway 130. Send a request (331).
  • the module development server 160 transmits the corresponding software module to the M2M gateway 130 (332).
  • the module development server 160 will transmit a message informing the M2M server 150 of this.
  • a service provided through the M2M network system is provided to a third person or a company.
  • the individual receiving the service is provided with a service through a terminal such as a PC or a smartphone, and if there is no appropriate software module in the module development server 160, the individual who wants to receive the service is informed, and also the developer (service provider). ) Should also be notified.
  • the M2M gateway 130 After the software module is installed in the M2M gateway 130, the user requests a service, or when the M2M server 150 requests, the M2M gateway 130 requests the device 110 to transmit the collected data. In operation 341, the device 110 transmits the collected data to the M2M gateway 130 (342). Data received by the M2M gateway 130 is transmitted to the M2M server 150 (343). Thereafter, the M2M server 150 may directly process or manage the received data to provide a service to a user, or may transmit data to a separate server that provides a service to a user.
  • gateway 131 transmitter

Abstract

A method (500) for installing a software module in an M2M gateway(130) so as to perform data communication with a device (110), comprises: a step (510) in which a user accesses an M2M server (150) for providing a software development tool (SDK) on a web basis through a computer device; a step (520) in which the user manufactures a software module which is necessary for communication between the device (110) and the M2M gateway(130) based on an open type framework by using the software development tool; and a step (550) in which the M2M server (150) installs the software module in the M2M gateway (130).

Description

M2M 네트워크 시스템, M2M 게이트웨이 및 M2M 게이트웨이에 디바이스와 데이터 통신을 수행하기 위한 소프트웨어 모듈을 설치하는 방법How to install software modules for data communication with devices in M2M network systems, M2M gateways, and M2M gateways
이하 설명하는 기술은 M2M(Machine-to-Machine) 통신을 위한 네트워크 시스템 및 특정 데이터를 수집하는 디바이스와 통신하는 M2M 게이트웨이에 관한 것이다.The technology described below relates to a network system for machine-to-machine communication and an M2M gateway to communicate with a device collecting specific data.
최근 사물 간 통신(M2M communication)에 대한 연구 및 시장이 성장하고 있다. M2M 네트워크에서 M2M 게이트웨이는 특정 데이터를 수집하는 디바이스(센서)와 통신하여 수집한 데이터를 M2M 네트워크의 제어부에 전달한다. 수집한 데이터를 이용하여 사용자에게 다양한 정보를 제공하는 애플리케이션이 존재한다.Recently, research and market for M2M communication are growing. In the M2M network, the M2M gateway communicates with a device (sensor) that collects specific data and transmits the collected data to a control unit of the M2M network. There are applications that provide various information to users by using the collected data.
M2M 네트워크 분야는 효율적인 네트워크 시스템에 대한 연구 분야와 네트워크 시스템을 기반으로 한 서비스 응용 분야가 존재한다.In the field of M2M network, there are research fields for efficient network systems and service applications based on network systems.
M2M 네트워크 시스템에는 매우 다양한 종류의 디바이스가 사용될 수 있다. 실제 온도를 측정하는 디바이스, 습도를 측정하는 디바이스, 특정 장치로부터 데이터를 수집하는 디바이스, 사람의 신체 정보를 측정하는 디바이스 등과 같은 다양한 제품이 있다. 이러한 디바이스는 각 제조사가 다를 수 있고, 같은 제조사라도 디바이스가 구동하는 OS 또는/및 통신 프로토콜 등이 서로 다를 수 있다. 따라서 현재 M2M 네트워크는 일반적으로 하나의 제조사에서 제조한 디바이스 및 전용 게이트웨이를 사용한다.A wide variety of devices can be used in an M2M network system. There are a variety of products, such as devices that measure actual temperatures, devices that measure humidity, devices that collect data from specific devices, and devices that measure human body information. Each device may be different from each other, and even the same manufacturer may have different OSs and / or communication protocols. Therefore, current M2M networks generally use devices and dedicated gateways manufactured by one manufacturer.
이하 설명하는 기술은 상기와 같이 다양한 디바이스와 통신할 수 있는 M2M 네트워크 시스템 및 통합형 게이트웨이를 제공하고자 한다.The technology described below is intended to provide an M2M network system and an integrated gateway capable of communicating with various devices as described above.
M2M 네트워크 시스템은 데이터를 수집하는 디바이스, 개방형 프레임워크에 기반한 아키텍처를 갖고, 소프트웨어 모듈을 이용하여 디바이스와 데이터를 주고 받는 게이트웨이 및 게이트웨이에서 전달하는 데이터를 수신하고, 게이트웨이를 제어하는 M2M 서버를 포함한다.The M2M network system includes a device that collects data, an open framework-based architecture, a gateway that sends and receives data to and from the device using a software module, and an M2M server that receives data transmitted from the gateway and controls the gateway. .
게이트웨이는 게이트웨이 커버리지에서 검색되는 디바이스에 대한 소프트웨어 모듈이 없는 경우, M2M 서버에 소프트웨어 모듈을 요청하고, M2M 서버에서 전송되는 소프트웨어 모듈을 설치한다. M2M 서버는 소프트웨어 모듈을 게이트웨이에 설치한다.If there is no software module for the device found in the gateway coverage, the gateway requests the software module from the M2M server and installs the software module transmitted from the M2M server. The M2M server installs software modules in the gateway.
개방형 프레임워크는 OSGi이고, 소프트웨어 모듈은 OSGi에서 동작하는 번들(bundle)일 수 있다. The open framework is OSGi, and the software module may be a bundle that runs on OSGi.
디바이스와 게이트웨이는 NFC, 블루투스, 와이파이, SUN, LAN 네트워크, 이동통신 3G 네트워크, 이동통신 4G 네트워크, 근거리 통신 네트워크 또는 이동통신 네트워크 중 적어도 어느 하나를 이용하여 연결될 수 있다.The device and the gateway may be connected using at least one of NFC, Bluetooth, Wi-Fi, SUN, LAN network, mobile communication 3G network, mobile communication 4G network, local area communication network or mobile communication network.
게이트웨이는 ESTI 102.921 표준의 mId 프로토콜 또는 IETF 표준의 CoAP 프로토콜 중 적어도 어느 하나를 사용할 수 있다.The gateway may use at least one of the mId protocol of the ESTI 102.921 standard or the CoAP protocol of the IETF standard.
M2M 네트워크 시스템은 소프트웨어 모듈을 제작하는 소프트웨어 개발 툴(SDK)에 대한 툴 데이터를 저장하고, 인터넷을 통해 접속한 사용자로부터 개발 명령을 수신하여 소프트웨어 모듈을 제작하고, 제작된 소프트웨어 모듈을 M2M 서버에 전달하는 모듈 개발 서버를 더 포함할 수 있다. The M2M network system stores tool data for software development tools (SDKs) that produce software modules, receives development instructions from users connected via the Internet, creates software modules, and delivers the created software modules to the M2M server. The module development server may further include.
M2M 서버는 소프트웨어 모듈을 제작하는 소프트웨어 개발 툴(SDK)에 대한 툴 데이터를 저장하고, 인터넷을 통해 접속한 사용자로부터 개발 명령을 수신하여 소프트웨어 모듈을 제작할 수 있다.The M2M server may store tool data for a software development tool (SDK) for manufacturing a software module, and receive a development command from a user connected through the Internet to manufacture a software module.
M2M 게이트웨이에 디바이스와 데이터 통신을 수행하기 위한 소프트웨어 모듈을 설치하는 방법은 사용자가 컴퓨터 장치를 통해 웹 기반으로 소프트웨어 개발 툴(SDK)을 제공하는 M2M 서버에 접근하는 단계, 사용자가 소프트웨어 개발 툴을 이용하여 개방형 프레임워크에 기반한 M2M 게이트웨이가 디바이스와 통신하는데 필요한 소프트웨어 모듈을 제작하는 단계 및 M2M 서버가 소프트웨어 모듈을 M2M 게이트웨이에 설치하는 단계를 포함한다. The method of installing a software module for performing data communication with a device in an M2M gateway is performed by a user accessing an M2M server that provides a software development tool (SDK) based on a web through a computer device. M2M gateway based on an open framework to produce a software module required to communicate with the device, and M2M server includes installing a software module in the M2M gateway.
제작하는 단계는 사용자가 웹 기반 소프트웨어 개발 툴에서 디바이스와 M2M 게이트웨이 사이에 사용할 통신 프로토콜을 선택하는 단계, 컴퓨터 장치에 선택된 통신 프로토콜에 대한 소스 코드가 전송되는 단계, 사용자가 컴퓨터 장치를 통해 소스 코드를 이용하여 소프트웨어 모듈을 제작하는 단계를 포함한다.The manufacturing step includes a user selecting a communication protocol to be used between the device and the M2M gateway in a web-based software development tool, transmitting the source code for the selected communication protocol to the computer device, and generating the source code through the computer device. Producing a software module.
제작하는 단계는 소스 코드를 이용하여 소프트웨어 모듈을 제작하는 단계 후에 소프트웨어 개발 툴이 소프트웨어 모듈을 검증하는 단계를 더 포함할 수 있다.The producing step may further include the software development tool verifying the software module after producing the software module using the source code.
M2M 서버는 M2M 게이트웨이가 커버리지에서 검색되는 디바이스에 대한 소프트웨어 모듈을 요청한 경우, M2M 서버에 저장된 소프트웨어 모듈을 M2M 게이트웨이에 전달하거나, 원격으로 소스트웨어 모듈을 M2M 게이트웨이에 설치할 수 있다.When the M2M server requests a software module for a device found in coverage, the M2M server may deliver a software module stored in the M2M server to the M2M gateway or remotely install the software module in the M2M gateway.
M2M 게이트웨이는 커버리지에서 동작하는 M2M 디바이스의 존재 여부를 판단하기 위하여 스캐닝 신호 및 M2M 서버에 모듈 요청 신호를 전송하는 송신부, M2M 다바이스로부터 스캐닝 신호에 대한 응답 신호를 수신하는 수신부, 응답 신호를 분석하여 M2M 다바이스와 통신하기 위한 소프트웨어 모듈이 설치되었는지 여부를 판단하고, 소프트웨어 모듈이 없다면 소프트웨어 모듈을 요청하는 모듈 요청 신호를 M2M 서버에 전송하도록 제어하는 제어부 및 모듈 요청 신호에 따라 설치되는 소프트웨어 모듈을 저장하는 메모리부를 포함하되, 소프트웨어 모듈은 개방형 프레임워크인 OSGi에서 동작하는 번들(bundle)이고, M2M 서버는 M2M 게이트웨이를 통해 M2M 다바이스에서 수집하는 특정 데이터를 수신하고, M2M 서버는 소프트웨어 모듈을 관리한다.The M2M gateway includes a transmitter that transmits a scanning signal and a module request signal to an M2M server to determine whether an M2M device operates in coverage, a receiver that receives a response signal for a scanning signal from an M2M device, and analyzes an M2M device. A memory for storing a software module installed according to the module request signal and a controller for determining whether a software module for communicating with the device is installed and for transmitting a module request signal for requesting the software module to the M2M server if the software module is not present; The software module is a bundle that runs on OSGi, which is an open framework. The M2M server receives specific data collected by the M2M device through the M2M gateway, and the M2M server manages the software module.
이하 설명하는 기술은 M2M 게이트웨이가 소프트웨어 모듈을 사용하여 디바이스와 통신하고, 해당 소프트웨어 모듈이 없는 경우 M2M 서버에 전용 소프트웨어 모듈을 요청하여 하나의 게이트웨이를 통해 개발자가 제공하는 다양한 디바이스에 접근할 수 있다.In the technology described below, the M2M gateway communicates with the device using a software module, and if there is no corresponding software module, the M2M gateway may request a dedicated software module from the M2M server to access various devices provided by the developer through one gateway.
도 1은 M2M 네트워크 시스템의 구성을 도시한 블록도의 예이다.1 is an example of a block diagram showing a configuration of an M2M network system.
도 2는 M2M 네트워크 시스템의 구성을 도시한 블록도의 다른 예이다.2 is another example of a block diagram illustrating a configuration of an M2M network system.
도 3은 디바이스와 통신하는 게이트웨이의 계층적 구조를 도시한 예이다.3 is an example illustrating a hierarchical structure of a gateway for communicating with a device.
도 4는 게이트웨이의 구성을 도시한 블록도의 예이다.4 is an example of a block diagram showing the configuration of a gateway.
도 5는 M2M 게이트웨이에 디바이스와 데이터 통신을 수행하기 위한 소프트웨어 모듈을 설치하는 방법에 대한 순서도의 예이다.5 is an example of a flowchart for a method of installing a software module for performing data communication with a device in an M2M gateway.
도 6은 소프트웨어 모듈이 게이트웨이에 제공되는 과정에 대한 흐름도이다.6 is a flowchart illustrating a process of providing a software module to a gateway.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.As the present invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, A, B, etc. may be used to describe various components, but the components are not limited by the terms, but merely for distinguishing one component from other components. Only used as For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It is to be understood that the present invention means that there is a part or a combination thereof, and does not exclude the presence or addition possibility of one or more other features or numbers, step operation components, parts or combinations thereof.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다. 따라서, 본 명세서를 통해 설명되는 각 구성부들의 존재 여부는 기능적으로 해석되어야 할 것이며, 이러한 이유로 본 발명의 M2M 네트워크 시스템(100), M2M 게이트웨이(130)에 따른 구성부들의 구성은 본 발명의 목적을 달성할 수 있는 한도 내에서 대응하는 도면과는 상이해질 수 있음을 명확히 밝혀둔다.Prior to the detailed description of the drawings, it is to be clear that the division of the components in the present specification is only divided by the main function of each component. That is, two or more components to be described below may be combined into one component, or one component may be provided divided into two or more for each function. Each of the components to be described below may additionally perform some or all of the functions of other components in addition to the main functions of the components, and some of the main functions of each of the components are different. Of course, it may be carried out exclusively by. Therefore, the existence of each component described through this specification should be interpreted functionally, and for this reason, the configuration of the components according to the M2M network system 100, M2M gateway 130 of the present invention is an object of the present invention It should be clear that the drawings may be different from the corresponding drawings to the extent that can be achieved.
또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In addition, in carrying out the method or operation method, each process constituting the method may occur differently from the stated order unless the context clearly indicates a specific order. That is, each process may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
먼저 이하 명세서에서 사용되는 용어에 대하 설명하고자 한다. 이하 설명하는 기술은 M2M 네트워크 시스템, 그 구성 및 동작에 관한 것이다. 따라서 이하 명칭하는 디바이스, 게이트웨이, 서버 등은 모두 M2M 네트워크 시스템 요소이다. 경우에 따라서는 이를 명확하게 하기 위하여 "M2M 게이트웨이" 등으로 명명하겠으나, M2M을 생략한 "게이트웨이"라고 명명하여도 동일한 구성을 의미한다.First, the terms used in the following description will be described. The technology described below relates to an M2M network system, its configuration and operation. Accordingly, devices, gateways, servers, and the like, which are referred to below, are all M2M network system elements. In some cases, in order to clarify this, it will be referred to as "M2M gateway" and the like, but the same configuration is also referred to as "gateway" in which M2M is omitted.
네트워크는 유선 또는 무선으로 특정 장치와 장치 사이에 데이터를 주고 받을 수 있는 물리적 환경 내지 장치를 의미한다. 이하 설명하는 기술에서는 M2M 네트워크 시스템의 각 구성을 연결하는 네트워크는 다양한 기술 또는 통신 방식을 사용하는 장치가 사용가능하다. 다른 말로 하면 이하 설명하는 기술은 구성을 연결하는 네트워크의 종류 등은 이하 설명하는 기술의 권리범위를 제한하지 않는다.The network refers to a physical environment or a device capable of transmitting and receiving data between a specific device and a device by wire or wirelessly. In the technology described below, a device connecting various components of the M2M network system may use various technologies or communication methods. In other words, the technology described below does not limit the scope of the technology described below in terms of the type of network connecting the configuration.
디바이스는 센서 네트워크의 센서 노드와 같이 각종 정보 데이터를 수집하는 장치를 의미한다. 예컨대, 온도를 측정하는 센서, 습도를 측정하는 센서, 영상을 촬영하는 CCTV 등과 같이 특정 데이터를 수집하는 장치를 의미한다. 나아가 옥내의 난방 등을 제어하는 장치 등과 같이 특정 기구를 제어하는 신호를 전달하는 장치도 포함한다.A device refers to an apparatus that collects various pieces of information data, such as sensor nodes in a sensor network. For example, it refers to a device for collecting specific data such as a sensor for measuring temperature, a sensor for measuring humidity, a CCTV for capturing an image, and the like. Furthermore, a device for transmitting a signal for controlling a specific mechanism, such as a device for controlling indoor heating and the like, is also included.
또한 이하 명세서에서 이하 설명하는 기술의 핵심적인 구성 외에 구체적으로 설명하지 않는 기술 내지 구성은 종래 M2M 네트워크 시스템에서 널리 알려진 기술 내지 구성을 참조하거나, 공개된 M2M 관련 표준문헌을 참조하면 해당 분야의 통상의 지식을 가진 자가 충분히 이해할 수 있을 것이다.In addition, in the following specification, technologies or configurations that are not specifically described in addition to the core configurations of the technologies described below refer to technologies or configurations that are well known in the conventional M2M network system, or refer to published M2M related standard documents. Knowledgeable ones will be fully understood.
이하에서는 도면을 참조하면서 M2M 네트워크 시스템(100), M2M 게이트웨이(130) 및 M2M 게이트웨이에 디바이스(110)와 데이터 통신을 수행하기 위한 소프트웨어 모듈을 설치하는 방법(500)에 관하여 구체적으로 설명하겠다.Hereinafter, a method 500 for installing a software module for performing data communication with the device 110 in the M2M network system 100, the M2M gateway 130, and the M2M gateway will be described in detail with reference to the accompanying drawings.
도 1은 M2M 네트워크 시스템(100)의 구성을 도시한 블록도의 예이다. M2M 네트워크 시스템(100)은 데이터를 수집하는 디바이스(110), 개방형 프레임워크에 기반한 아키텍처를 갖고, 소프트웨어 모듈을 이용하여 디바이스(110)와 데이터를 주고 받는 디바이스(110) 및 디바이스(110)에서 전달하는 데이터를 수신하고, 디바이스(110)를 제어하는 M2M 서버(150)를 포함한다.1 is an example of a block diagram showing a configuration of an M2M network system 100. The M2M network system 100 has a device 110 for collecting data, an architecture based on an open framework, and is transmitted from the device 110 and the device 110 to exchange data with the device 110 using a software module. M2M server 150 that receives the data, and controls the device 110.
도 1에는 D1 및 D2로 표시된 2개의 디바이스(110)가 도시되었다. 디바이스(110)는 디바이스(110)와 제1 네트워크(Network1, 120)로 연결된다. 제1 네트워크(Network1, 120)는 Zigbee, NFC, 블루투스, 와이파이, SUN, LAN 네트워크, 이동통신 3G 네트워크, 이동통신 4G 네트워크 등과 같은 네트워크일 수 있다. 결국 각종 근거리 통신 네트워크 및 이동통신 네트워크가 사용가능하다. 일반적으로 디바이스(110)는 한정된 전력(에너지)을 사용하기 때문에 근거리 무선 통신을 많이 이용한다.1, two devices 110 are shown, denoted by D1 and D2. The device 110 is connected to the device 110 through first networks Network1 and 120. The first networks Network1 and 120 may be networks such as Zigbee, NFC, Bluetooth, Wi-Fi, SUN, LAN networks, mobile communication 3G networks, mobile communication 4G networks, and the like. As a result, various short-range communication networks and mobile communication networks can be used. In general, since the device 110 uses a limited power (energy), it uses a lot of near field communication.
디바이스(110)가 디바이스(110)와 데이터를 주고 받는 통신을 하기 위해서는 서로 사용하는 통신 프로토콜이 공통되어야 한다. 따라서 일반적으로 디바이스(110)는 특정 디바이스(110)에서 사용하는 통신 규약에 따른 프로토콜을 내장하고 있다. 도 1에서는 D1과 통신하기 위한 "D1 통신 모듈" 및 D2와 통신하기 위한 "D2 통신 모듈"을 포함하고 있다. 디바이스(110)는 이러한 통신 모듈을 통해 디바이스(110)와 통신이 가능한 것이다. In order for the device 110 to communicate with the device 110, communication protocols using each other should be common. Therefore, in general, the device 110 has a built-in protocol according to the communication protocol used in the specific device (110). 1 includes a "D1 communication module" for communicating with D1 and a "D2 communication module" for communicating with D2. The device 110 may communicate with the device 110 through such a communication module.
전술한 바와 같이 M2M 통신에 사용될 수 있는 디바이스(110)의 종류는 매우 다양하고 서로 다른 통신 프로토콜 및 OS 등을 사용할 수 있다. 즉, 서로 다른 프로토콜을 사용하는 디바이스(110)와 통신하기 위해서는 디바이스(110)는 모든 프로토콜을 포함하고 있어야만 한다. 그러나 현실적으로 모든 프로토콜을 디바이스(110)가 갖고 있기 어렵고, 다양한 OS 등을 사용하는 디바이스(110)를 하나의 디바이스(110)가 통합적으로 관리하고 제어하기 어렵다.As described above, the type of device 110 that can be used for M2M communication is very diverse and may use different communication protocols and OSs. That is, in order to communicate with the device 110 using different protocols, the device 110 must include all protocols. However, in reality, it is difficult for the device 110 to have all protocols, and it is difficult for one device 110 to collectively manage and control the device 110 using various OSs.
따라서 디바이스(110)는 기본적으로 개발자가 쉽게 접근할 수 있는 개방형 프레임워크에 기반한 아키텍처를 갖고, 디바이스(110)와 통신하기 위한 프로토콜을 상기 개방형 프레임 워크에서 사용하는 특정 소프트웨어 모듈을 통해 구현하고자 한다. 다양한 개방형 프레임워크가 사용될 수 있겠으나, 일단 개방형 프레임워크는 OSGi이고, 소프트웨어 모듈은 OSGi에서 동작하는 번들(bundle)이라고 가정한다.Therefore, the device 110 basically has an architecture based on an open framework that can be easily accessed by a developer, and intends to implement a protocol for communicating with the device 110 through a specific software module used in the open framework. Various open frameworks may be used, but once an open framework is OSGi, it is assumed that a software module is a bundle running on OSGi.
OSGi(Open Service Gateway initiative)는 네트워크에 연결된 장치들이 다양한 서비스를 공유할 수 있도록 하는 자바 언어 기반의 동적인 플랫폼을 만들기 위한 프레임워크이다. 번들(bundle)이라는 모듈 단위로 동작한다. OSGi는 하나 또는 복수 개의 번들로 구성된 애플리케이션을 프레임워크 상에 설치, 실행, 업데이트, 중단 및 제거 등을 할 수 있는 프레임워크이다.The Open Service Gateway initiative (OSGi) is a framework for creating a dynamic platform based on the Java language that allows networked devices to share a variety of services. It works in module units called bundles. OSGi is a framework that allows you to install, run, update, stop, and remove one or more bundled applications on the framework.
즉, 특정 디바이스(110)에 대한 개발자가 OSGi 기반에서 사용가능한 소프트웨어 모듈(번들)을 디바이스(110)에 제공하면, 개발자가 개발한 디바이스(110)와 해당 디바이스(110) 사이에 통신이 가능하다.That is, when a developer for a specific device 110 provides a device 110 with a software module (bundle) that can be used based on OSGi, communication between the device 110 developed by the developer and the device 110 is possible. .
이를 위해 디바이스(110)는 디바이스(110) 커버리지에서 검색되는 디바이스(110)에 대한 소프트웨어 모듈이 없는 경우, M2M 서버(150)에 소프트웨어 모듈을 요청한다. M2M 서버(150)는 디바이스(110)에서 수집되는 데이터를 수신하고, 디바이스(110) 및 게이트웨이(130)를 관리하며, 수집된 정보를 바탕으로 다른 사용자에게 특정 서비스를 제공하는 구성이다.To this end, the device 110 requests a software module from the M2M server 150 when there is no software module for the device 110 found in the device 110 coverage. The M2M server 150 is configured to receive data collected by the device 110, manage the device 110 and the gateway 130, and provide a specific service to other users based on the collected information.
M2M 서버(150)는 게이트웨이(130)와 제2 네트워크(Network2, 140)로 연결된다. 제2 네트워크(Network2, 140)도 제1 네트워크(120)와 같이 다양한 네트워크가 사용될 수 있다. 게이트웨이(130)와 M2M 서버(150)는 일반적으로 서로 원거리에 위치한다. 따라서 전화선망 또는 광통신과 같은 유선망을 사용할 수도 있겠지만, 일반적으로 제2 네트워크(Network2, 140)는 이동통신 네트워크를 사용한다. 후자의 경우 M2M 서버(150)는 이동통신 코어 네트워크와 연결된다. 예컨대, 3G 네트워크의 PDSN(Packet Data Serving Node) 또는 4G 네트워크의 SGW(Serving Gateway)와 같은 구성에 연결될 수 있다. 도 1 및 도 2에서는 제2 네트워크(Network2, 140)와 M2M 서버(150)를 점선 박스로 표시하였는데 이는 M2M 서버(150)가 제2 네트워크(Network2, 140)에 연결된 형태라는 의미이다.The M2M server 150 is connected to the gateway 130 and the second networks Network2 and 140. Various networks may be used for the second network Network2 140, like the first network 120. The gateway 130 and the M2M server 150 are generally located remotely from each other. Therefore, although a wired network such as a telephone line network or an optical communication may be used, the second network (Network2, 140) generally uses a mobile communication network. In the latter case, the M2M server 150 is connected to the mobile communication core network. For example, it may be connected to a configuration such as Packet Data Serving Node (PDSN) of 3G network or Serving Gateway (SGW) of 4G network. In FIG. 1 and FIG. 2, the second network (Network2, 140) and the M2M server 150 is indicated by a dotted box, which means that the M2M server 150 is connected to the second network (Network2, 140).
도 2는 M2M 네트워크 시스템(100)의 구성을 도시한 블록도의 다른 예이다. 도 2에서 디바이스(110)인 D1, D2 및 D3는 서로 다른 통신 프로토콜을 사용한다고 전제한다. 도 2에서 게이트웨이(130)에 이미 D1 통신 모듈 및 D2 통신 모듈이 설치되어 있으나, 현재 D3 통신 모듈은 설치되어 있지 않은 상태이다. 따라서 게이트웨이(130)는 디바이스(110) D3로부터 수집한 데이터를 수신할 수 없다.2 is another example of a block diagram illustrating a configuration of the M2M network system 100. In FIG. 2, it is assumed that the devices 110, D1, D2, and D3 use different communication protocols. In FIG. 2, the D1 communication module and the D2 communication module are already installed in the gateway 130, but the D3 communication module is not currently installed. Accordingly, the gateway 130 may not receive data collected from the device 110 D3.
게이트웨이(130)는 디바이스(110) D3에 대한 통신 모듈(소프트웨어 모듈)이 설치되어 있지 않다고 판단한 후 M2M 서버(150)에 D3에 대한 통신 모듈을 요청한다. 이후 M2M 서버(150)는 저장하고 있는 D3 통신 모듈을 게이트웨이(130)에 전달하여 게이트웨이(130)가 설치하게 하거나, 원격으로 D3 통신 모듈을 게이트웨이(130)에 설치할 수 있다.The gateway 130 determines that the communication module (software module) for the device 110 D3 is not installed, and then requests the M2M server 150 for the communication module for the D3. Thereafter, the M2M server 150 may transfer the stored D3 communication module to the gateway 130 so that the gateway 130 may install or remotely install the D3 communication module in the gateway 130.
즉, 게이트웨이(130)가 통신을 위한 프로토콜(드라이버)이 없다고 판단한 경우, 해당 프로토콜을 요청하여 설치한 후 디바이스(110)와 통신을 수행하게 된다. 디바이스(110) 입장에서 보면 소위 plug-and-play 방식과 같다고 하겠다. 발명에 대한 설명에서 소프트웨어 모듈, 통신 모듈, 프로토콜, 드라이버와 같이 다양한 명칭으로 설명하고 있으나, 결국 동일한 객체라고 하겠다. OSGi 기반 아키텍처에서 소프트웨어 모듈은 소위 번들(bundle) 형태로 제공된다.That is, when the gateway 130 determines that there is no protocol (driver) for communication, the gateway 130 requests and installs the corresponding protocol and then communicates with the device 110. From the standpoint of the device 110, it is called a plug-and-play method. In the description of the present invention, various names such as a software module, a communication module, a protocol, and a driver are described, but in the end, the same object will be described. In OSGi-based architectures, software modules are provided in so-called bundles.
한편 M2M 서버(150)는 모든 통신 모듈을 사전에 저장하거나 관리할 수 없다. 특정 디바이스(110)를 개발하는 개발자는 해당 디바이스(110)에서 사용되는 통신 프로토콜(통신 모듈)을 M2M 서버(150)에 사전에 제공해야 한다. 도 2에서는 개발자가 개발자 컴퓨터(50)를 통해 인터넷을 경유하여 M2M 서버(150)에 접속하는 경로를 도시하였다. 개발자가 소프트웨어 모듈을 제공하는 방법에 대해서는 후술하도록 한다.Meanwhile, the M2M server 150 may not store or manage all communication modules in advance. The developer who develops the specific device 110 must provide the M2M server 150 with the communication protocol (communication module) used in the device 110 in advance. In FIG. 2, a path through which a developer accesses the M2M server 150 via the Internet through the developer computer 50 is illustrated. A method of providing a software module by a developer will be described later.
도 3은 디바이스(110)와 통신하는 게이트웨이(130)의 계층적 구조를 도시한 예이다. 도 3에 도시된 게이트웨이(130)는 OSGi 기반의 아키텍처를 갖는다. 디바이스(110)와 게이트웨이(130)는 블루투스, SUN, NFC, Wi-Fi, 3G, 4G와 같은 다양한 방식으로 연결될 수 있음을 도시하였다. M2M 서버(150)는 디바이스(110)에서 수집하는 데이터를 수신하여 수집하는 장치이므로 Collector라고 표시하였다. 3 is an example illustrating a hierarchical structure of the gateway 130 in communication with the device 110. The gateway 130 shown in FIG. 3 has an OSGi based architecture. The device 110 and the gateway 130 have been shown to be connected in various ways, such as Bluetooth, SUN, NFC, Wi-Fi, 3G, 4G. Since the M2M server 150 receives and collects data collected by the device 110, the M2M server 150 is indicated as a collector.
도 3에 도시된 게이트웨이(130)를 살펴보면, OSGi 아키텍처에 필수적인 계층이 도시되어 있다. OSGi에 일반적으로 사용되는 구성에 대해서는 자세한 설명을 생략한다. Gateway Bundle은 소프트웨어 모듈이다. Bundle은 특정 디바이스(110)와 통신 가능한 프로토콜 등의 내용을 포함한다. 또한 Common Bundle 계층에서 제1 네트워크에 대한 표준 인터페이스(SUN, Zigbee, NFC, Bluetooth, Wi-Fi, HTTP, TCP 등) 및 제2 네트워크에 대한 프로토콜이 예시되어 있다. 게이트웨이(130)와 M2M 서버(150) 사이에는 ESTI 102.921 표준의 mId 프로토콜 또는 IETF 표준의 CoAP 프로토콜 등과 같은 프로토콜이 사용될 수 있다. 표준 프로토콜을 사용하면 M2M 서비스 제공자가 보다 용이하게 M2M 네트워크 시스템을 이용할 수 있을 것이다.Referring to the gateway 130 illustrated in FIG. 3, the layers essential to the OSGi architecture are shown. Detailed description of the configuration generally used in OSGi will be omitted. Gateway Bundle is a software module. Bundle includes the contents such as the protocol that can communicate with the specific device (110). In addition, standard interfaces (SUN, Zigbee, NFC, Bluetooth, Wi-Fi, HTTP, TCP, etc.) for the first network and the protocol for the second network are illustrated in the Common Bundle layer. Protocols such as the mId protocol of the ESTI 102.921 standard or the CoAP protocol of the IETF standard may be used between the gateway 130 and the M2M server 150. Using standard protocols will allow M2M service providers to use M2M network systems more easily.
도 4는 게이트웨이(130)의 구성을 도시한 블록도의 예이다. 또한 도 4는 디바이스(110), 게이트웨이(130) 및 M2M 서버(150) 사이에서 게이트웨이(130)에 소프트웨어 모듈(통신 모듈)을 설치하기 위한 동작 흐름을 도시한다.4 is an example of a block diagram showing the configuration of the gateway 130. 4 also shows an operational flow for installing a software module (communication module) in the gateway 130 between the device 110, the gateway 130, and the M2M server 150.
게이트웨이(130)는 커버리지에서 동작하는 M2M 디바이스(110)의 존재 여부를 판단하기 위하여 스캐닝 신호 및 M2M 서버(150)에 모듈 요청 신호를 전송하는 송신부(131), M2M 다바이스로부터 스캐닝 신호에 대한 응답 신호를 수신하는 수신부(132), 응답 신호를 분석하여 M2M 다바이스와 통신하기 위한 소프트웨어 모듈이 설치되었는지 여부를 판단하고, 소프트웨어 모듈이 없다면 소프트웨어 모듈을 요청하는 모듈 요청 신호를 M2M 서버(150)에 전송하도록 제어하는 제어부(133) 및 모듈 요청 신호에 따라 설치되는 소프트웨어 모듈을 저장하는 메모리부(134)를 포함한다.The gateway 130 transmits a scanning signal and a transmission unit 131 for transmitting a module request signal to the M2M server 150 and a response signal for the scanning signal from the M2M device to determine whether the M2M device 110 operates in the coverage. Receiving unit 132 that receives the, and analyzes the response signal to determine whether the software module for communicating with the M2M device is installed, and if there is no software module to transmit a module request signal for requesting the software module to the M2M server 150 A control unit 133 for controlling and a memory unit 134 for storing a software module installed according to the module request signal.
현재 메모리부(134)에는 D1 통신모듈, D2 통신 모듈, D4 통신 모듈, D5 통신 모듈 및 D6 통신 모듈이 설치된 상태이다. D1 ~ D6 각각의 디바이스(110)는 서로 다른 프로토콜을 사용한다고 가정한다. 따라서 게이트웨이(130)는 디바이스(110) D1 및 D2에서 데이터를 수신할 수 있으나, 디바이스 D3로부터는 데이터를 수신할 수 없는 상태이다.Currently, the memory unit 134 is installed with a D1 communication module, a D2 communication module, a D4 communication module, a D5 communication module, and a D6 communication module. It is assumed that each device 110 of D1 to D6 uses a different protocol. Accordingly, the gateway 130 may receive data from the devices 110, D1 and D2, but may not receive data from the device D3.
디바이스(110)와 게이트웨이(130) 사이에 데이터를 주고 받는 통신을 시작하는 방법은 다양할 수 있다. 예컨대, 디바이스(110)에서 주변에 존재하는 특정 게이트웨이(130)가 있는지를 스캐닝하는 신호를 송신하고, 이에 대하여 게이트웨이(130)가 디바이스(110)에 응답 메시지를 전송하여 디바이스(110)와 게이트웨이(130) 사이에 채널이 성립될 수 있습니다. 또는 게이트웨이(130)가 주변에 디바이스(110)가 존재하는 여부를 스캐닝하는 신호를 송신하고, 디바이스(110)가 이에 대한 응답 신호를 송신하는 방식으로 디바이스(110)와 게이트웨이(130) 사이에 채널이 성립될 수도 있다. 일반적으로 디바이스(110)는 제한된 전력을 사용하므로 후자의 방식으로 가정하고 설명한다. 다만, 본 명세서에서 설명하는 기술이 디바이스(110)와 게이트웨이(130) 사이에 데이터를 주고 받기 위한 채널을 성립하는 방법을 제한하는 것은 아니다.The method of initiating communication between the device 110 and the gateway 130 may be varied. For example, the device 110 transmits a signal for scanning whether there is a specific gateway 130 present in the periphery, and the gateway 130 transmits a response message to the device 110 to transmit the response message to the device 110 and the gateway ( 130) can be established between channels. Or a channel between the device 110 and the gateway 130 in such a manner that the gateway 130 transmits a signal for scanning whether the device 110 exists around the device and the device 110 transmits a response signal thereto. This may be true. Since device 110 generally uses limited power, it is assumed and described in the latter manner. However, the technology described herein does not limit the method of establishing a channel for exchanging data between the device 110 and the gateway 130.
게이트웨이(130)의 송신부(131)는 주변에 존재하는 디바이스(110)를 검색하기 위한 스캐닝 신호를 송신하고, 디바이스 D3는 스캐닝 신호에 대한 응답 신호를 게이트웨이(130)에 송신한다. 따라서 현재 게이트웨이(130)에 통신 모듈이 없는 디바이스(110)라도 스캐닝 신호와 이에 대한 응답 신호는 일정한 통신 규약에 의해 가능하다고 전제한다. 스캐닝 신호와 응답 신호는 제1 네트워크(120)에서 사용하는 표준 인터페이스에 따라 송수신 되므로, 해당 표준에 따른 신호를 주고 받을 수 있다. 응답 신호에는 디바이스 D3에 대한 식별자 또는 사용하는 프로토콜에 대한 정보가 포함되어 있다.The transmitter 131 of the gateway 130 transmits a scanning signal for searching for a device 110 present in the periphery, and the device D3 transmits a response signal to the gateway 130 to the gateway 130. Therefore, even if the device 110 does not currently have a communication module in the gateway 130, it is assumed that a scanning signal and a response signal thereof are possible by a certain communication protocol. Since the scanning signal and the response signal are transmitted and received according to a standard interface used in the first network 120, the scanning signal and the response signal may exchange signals according to the corresponding standard. The response signal contains an identifier for device D3 or information about the protocol used.
게이트웨이(130)의 수신부(132)로부터 전달되는 응답 신호를 제어부(133)가 분석하여 현재 메모리부(134)에 해당 프로토콜에 대응하는 통신 모듈이 있는지 판단한다. 대응하는 통신 모듈이 있다면, 곧바로 게이트웨이(130)와 디바이스(110) 사이에 통신이 가능하겠지만, 현재 디바이스 D3에 대한 통신 모듈은 존재하지 않는 상태이다.The control unit 133 analyzes the response signal transmitted from the receiving unit 132 of the gateway 130 to determine whether there is a communication module corresponding to the corresponding protocol in the current memory unit 134. If there is a corresponding communication module, communication may be possible between the gateway 130 and the device 110 immediately, but there is no communication module for the device D3.
제어부(133)는 송신부(131)를 통해 M2M 서버(150)에 D3 통신 모듈에 대한 모듈 요청 신호를 송신하다. M2M 서버(150)는 모듈 요청 신호를 수신하고, 분석한 후 해당하는 통신 모듈인 D3 통신 모듈을 게이트웨이(130)에 전송하거나, 게이트웨이(130)에 해당 통신 모듈을 설치한다.The controller 133 transmits a module request signal for the D3 communication module to the M2M server 150 through the transmitter 131. The M2M server 150 receives and analyzes a module request signal and transmits a D3 communication module, which is a corresponding communication module, to the gateway 130 or installs the corresponding communication module in the gateway 130.
나아가 도면에 도시하지 않았으나, M2M 네트워크 시스템(100)은 M2M 서버(150) 외에 별도의 모듈 개발 서버(160)를 더 포함할 수 있다. 이 경우 개발자가 제공하는 소프트웨어 통신 모듈은 모듈 개발 서버(160)에 저장되고, M2M 서버(150)는 모듈 개발 서버(160)에 저장된 통신 모듈을 관리하고, 이를 이용하여 게이트웨이(130)에 통신 모듈을 설치한다.Further, although not shown in the figure, the M2M network system 100 may further include a separate module development server 160 in addition to the M2M server 150. In this case, the software communication module provided by the developer is stored in the module development server 160, and the M2M server 150 manages the communication module stored in the module development server 160, and uses the communication module to the gateway 130. Install it.
이제 개발자가 사전에 M2M 서버(150) 또는 모듈 개발 서버(160)에 통신 모듈을 제공하는 과정 및 M2M 서버(150)가 통신 모듈을 게이트웨이(130)에 설치하는 과정에 대해 설명한다. 도 5는 M2M 게이트웨이(130)에 디바이스(110)와 데이터 통신을 수행하기 위한 소프트웨어 모듈을 설치하는 방법(500)에 대한 순서도의 예이다.Now, the process of providing a communication module to the M2M server 150 or the module development server 160 by the developer in advance and the process of installing the communication module to the gateway 130 by the M2M server 150 will be described. 5 is an example of a flowchart for a method 500 of installing a software module for performing data communication with the device 110 in the M2M gateway 130.
M2M 게이트웨이(130)에 디바이스(110)와 데이터 통신을 수행하기 위한 소프트웨어 모듈을 설치하는 방법(500)은 사용자가 컴퓨터 장치를 통해 웹 기반으로 소프트웨어 개발 툴(SDK)을 제공하는 M2M 서버(150)에 접근하는 단계(510), 사용자가 소프트웨어 개발 툴을 이용하여 개방형 프레임워크에 기반한 M2M 게이트웨이(130)가 디바이스(110)와 통신하는데 필요한 소프트웨어 모듈을 제작하는 단계(520) 및 M2M 서버(150)가 소프트웨어 모듈을 M2M 게이트웨이(130)에 설치하는 단계(550)를 포함한다.The method 500 for installing a software module for performing data communication with the device 110 in the M2M gateway 130 includes an M2M server 150 in which a user provides a software development tool (SDK) based on a web through a computer device. Approaching (510), a user using a software development tool, the M2M gateway (130) based on an open framework to create a software module necessary for communicating with the device (110) and the M2M server (150) Install 550 the software module in the M2M gateway 130.
제작하는 단계(520)는 구체적으로 사용자가 웹 기반 소프트웨어 개발 툴에서 디바이스(110)와 M2M 게이트웨이(130) 사이에 사용할 통신 프로토콜을 선택하는 단계(521), 컴퓨터 장치에 선택된 통신 프로토콜에 대한 소스 코드가 전송되는 단계(522) 및 사용자가 컴퓨터 장치를 통해 소스 코드를 이용하여 소프트웨어 모듈을 제작하는 단계(523)를 포함할 수 있다. 나아가 제작하는 단계(520)는 소스 코드를 이용하여 소프트웨어 모듈을 제작하는 단계 후에 소프트웨어 개발 툴이 소프트웨어 모듈을 검증하는 단계(524)를 더 포함할 수 있다.The manufacturing step 520 is specifically a step in which a user selects a communication protocol to be used between the device 110 and the M2M gateway 130 in a web-based software development tool (521), the source code for the communication protocol selected in the computer device. The step 522 may be transmitted, and the user may create a software module using source code through a computer device (523). Further, the manufacturing step 520 may further include a step 524 of verifying the software module by the software development tool after the step of manufacturing the software module using the source code.
도 2에 도시된 바와 같이 개발자는 자신이 사용하는 개발자 컴퓨터(50)를 통해 인터넷으로 웹 기반 SDK를 제공하는 M2M 서버(150)에 접속하고, 이후 SDK에서 제공하는 인터페이스에 따라 자신이 개발한 디바이스(110)의 통신 프로토콜 등을 입력하면 SDK를 통해 자동으로 소스 코드가 작성된다. 또는 개발자가 직접 SDK 인터페이스를 통해 소스 코드를 작성하거나 수정할 수도 있다. As shown in FIG. 2, a developer connects to an M2M server 150 that provides a web-based SDK through the developer computer 50 used by him, and then develops a device according to the interface provided by the SDK. Input the communication protocol, etc. of 110, the source code is automatically created through the SDK. Alternatively, the developer can write or modify the source code directly through the SDK interface.
일반적으로 이클립스(eclipse)와 같은 공개 프로그램에서 억세스 가능한 소스 코드를 이용할 수 있다. 개발자는 개발자 컴퓨터(50)에 다운로드된 소스코드를 열어서 자신이 개발한 디바이스(110)에 맞게 소스 코드를 수정할 수 있다. 이후 개발자는 완성된 코드를 컴파일하여 M2M 서버(150)에 전송한다. 또한 컴파일된 파일은 SDK를 사용하여 검증할 수도 있다. 나아가 소스 코드를 M2M 서버(150)로부터 다운로드 받아 사용하지 않고, 개발자는 개발자 컴퓨터(50)에서 일정한 명령을 입력하고 소스 코드 작성은 M2M 서버(150)에서 원격으로 수행될 수도 있을 것이다. 결국 개발자가 M2M 서버(150)를 통해 준비하는 소스 코드는 사실 다양한 방법으로 M2M 서버(150)에 마련될 수 있는 것이다.In general, you can use source code that is accessible from a public program such as Eclipse. The developer may open the source code downloaded to the developer computer 50 and modify the source code to match the device 110 developed by the developer. After that, the developer compiles the completed code and transmits it to the M2M server 150. Compiled files can also be verified using the SDK. Furthermore, without downloading and using the source code from the M2M server 150, the developer may input a predetermined command in the developer computer 50 and the source code may be remotely performed in the M2M server 150. As a result, the source code prepared by the developer through the M2M server 150 may be actually provided in the M2M server 150 in various ways.
반드시 소프트웨어 모듈이 웹 기반의 SDK에 의해 제작되어야 하는 것은 아니다. 다만 개발자 M2M 네트워크 시스템에 접근하기 용이하기 위해서는 인터넷을 통해 SDK를 제공하는 M2M 서버(150)에 접근할 수 있어야 한다. 따라서 하나의 실시예로 웹 기반의 SDK를 설명한 것이다. 또한 반드시 M2M 서버(150)가 웹 기반의 SDK를 제공해야 하는 것은 아니고, 별도의 SDK 제공 서버를 사용해도 충분하다. The software module does not necessarily have to be produced by the web-based SDK. However, in order to easily access the developer M2M network system, the M2M server 150 providing the SDK should be accessible through the Internet. Therefore, the web-based SDK is described as an embodiment. In addition, the M2M server 150 does not have to provide a web-based SDK, but a separate SDK providing server may be sufficient.
한편 개발자에 의해 제공된 소프트웨어 모듈(통신 모듈)은 M2M 서버(150)에 저장되고(530), 이후 M2M 게이트웨이(130)가 특정 디바이스(110)에 대한 소프트웨어 모듈을 M2M 서버(150)에 요청하는(540) 경우에 M2M 서버(150)가 소프트웨어 모듈을 M2M 게이트웨이(130)에 설치하게 된다(550). Meanwhile, the software module (communication module) provided by the developer is stored in the M2M server 150 (530), and then the M2M gateway 130 requests the M2M server 150 for the software module for the specific device 110 ( In case 540, the M2M server 150 installs a software module in the M2M gateway 130 (550).
M2M 서버(150)는 M2M 게이트웨이(130)가 커버리지에서 검색되는 디바이스(110)에 대한 소프트웨어 모듈을 요청한 경우, M2M 서버(150)에 저장된 소프트웨어 모듈을 M2M 게이트웨이(130)에 전달하거나, 원격으로 소프트웨어 모듈을 M2M 게이트웨이(130)에 설치한다.When the M2M server 150 requests a software module for the device 110 that is retrieved from the coverage, the M2M server 150 delivers the software module stored in the M2M server 150 to the M2M gateway 130 or remotely executes the software module. The module is installed in the M2M gateway 130.
도 6은 소프트웨어 모듈이 게이트웨이(130)에 제공되는 과정에 대한 흐름도이다. 도 6은 전술한 과정을 정리한 것이다. 먼저 M2M 게이트웨이(130)에서 디바이스(110)를 스캐닝하는 디바이스 스캐닝 신호를 전송하고(311), 디바이스(110)에서 스캐닝 신호에 대한 스캐닝 응답 신호(312)를 M2M 게이트웨이(130)에 전송한다. 도 6은 M2M 게이트웨이(130)에 현재 스캐닝 응답 신호를 송신한 디바이스(110)에 대한 소프트웨어 모듈이 없는 경우를 전제한다.6 is a flowchart of a process in which a software module is provided to the gateway 130. 6 summarizes the above-described process. First, the device scanning signal for scanning the device 110 is transmitted from the M2M gateway 130 (311), and the device 110 transmits a scanning response signal 312 for the scanning signal to the M2M gateway 130. 6 assumes that there is no software module for the device 110 that has currently sent the scanning response signal to the M2M gateway 130.
M2M 게이트웨이(130)는 M2M 서버(150)에 해당 소프트웨어 모듈의 설치를 요청하는 모듈 요청 신호를 전송하고(321), M2M 서버(150)는 요청받은 소프트웨어 모듈을 게이트웨이(130)에 전송하거나 원격으로 게이트웨이(130)에 소프트웨어 모듈을 설치한다(322). 한편 소프트웨어 개발 모듈을 저장하는 별도의 모듈 개발 서버(160)를 사용하는 경우 M2M 서버(150)는 모듈 개발 서버(160)에 M2M 게이트웨이(130)로부터 요청받은 소프트웨어 모듈이 있는지 여부를 문의하는 모듈 검색 요청을 송신하다(331). 모듈 검색 요청에 대한 응답으로 모듈 개발 서버(160)는 해당하는 소프트웨어 모듈을 M2M 게이트웨이(130)에 전달한다(332). The M2M gateway 130 transmits a module request signal requesting the installation of the corresponding software module to the M2M server 150 (321), and the M2M server 150 transmits the requested software module to the gateway 130 or remotely. The software module is installed in the gateway 130 (322). Meanwhile, when using a separate module development server 160 for storing software development modules, the M2M server 150 searches for a module to inquire whether the module development server 160 has a software module requested from the M2M gateway 130. Send a request (331). In response to the module search request, the module development server 160 transmits the corresponding software module to the M2M gateway 130 (332).
도시하지 않았지만, 해당하는 소프트웨어 모듈이 없는 경우 모듈 개발 서버(160)는 이를 M2M 서버(150)에 알려주는 메시지를 송신할 것이다. 도면에 도시하지 않았지만, M2M 네트워크 시스템을 통해 제공하는 서비스는 제3의 개인 또는 기업 등에 제공된다. 서비스를 제공받는 개인 등은 PC 또는 스마트폰과 같은 단말을 통해 서비스를 제공받는데, 모듈 개발 서버(160)에 적절한 소프트웨어 모듈이 없는 경우 이를 서비스를 제공받고자 하는 개인 등에게 알리고, 또한 개발자(서비스 제공자)에게도 해당 사실을 통지해야 할 것이다.Although not shown, if there is no corresponding software module, the module development server 160 will transmit a message informing the M2M server 150 of this. Although not shown in the figure, a service provided through the M2M network system is provided to a third person or a company. The individual receiving the service is provided with a service through a terminal such as a PC or a smartphone, and if there is no appropriate software module in the module development server 160, the individual who wants to receive the service is informed, and also the developer (service provider). ) Should also be notified.
M2M 게이트웨이(130)에 소프트웨어 모듈이 설치된 후 서비스를 요청받는 사용자의 요청이 있거나, M2M 서버(150)가 요청하는 경우 M2M 게이트웨이(130)는 디바이스(110)에 수집한 데이터를 송신해 줄 것을 요청하고(341), 디바이스(110)는 M2M 게이트웨이(130)에 수집한 데이터를 전송한다(342). M2M 게이트웨이(130)가 수신한 데이터는 M2M 서버(150)로 전송된다(343). 이후 M2M 서버(150)는 수신한 데이터를 직접 가공하거나 관리하여 사용자에게 서비스를 제공하거나, 사용자에게 서비스를 제공하는 별도의 서버에 데이터를 전달할 수도 있다.After the software module is installed in the M2M gateway 130, the user requests a service, or when the M2M server 150 requests, the M2M gateway 130 requests the device 110 to transmit the collected data. In operation 341, the device 110 transmits the collected data to the M2M gateway 130 (342). Data received by the M2M gateway 130 is transmitted to the M2M server 150 (343). Thereafter, the M2M server 150 may directly process or manage the received data to provide a service to a user, or may transmit data to a separate server that provides a service to a user.
본 실시예 및 본 명세서에 첨부된 도면은 본 발명에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 본 발명의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시예는 모두 본 발명의 권리범위에 포함되는 것이 자명하다고 할 것이다.The embodiments and drawings attached to this specification are merely to clearly show some of the technical ideas included in the present invention, and those skilled in the art can easily infer within the scope of the technical ideas included in the specification and drawings of the present invention. Modifications that can be made and specific embodiments will be apparent that all fall within the scope of the present invention.
[부호의 설명][Description of the code]
50 : 개발자 컴퓨터 100 : M2M 네트워크 시스템50: Developer Computer 100: M2M Network System
110 : 디바이스 120 : 제1 네트워크110: device 120: first network
130 : 게이트웨이 131 : 송신부130: gateway 131: transmitter
132 : 수신부 133 : 제어부132: receiving unit 133: control unit
134 : 메모리부 140 : 제2 네트워크134: memory section 140: second network
150 : M2M 서버 160 : 모듈 개발 서버150: M2M Server 160: Module Development Server

Claims (14)

  1. M2M 네트워크 시스템에 있어서,In an M2M network system,
    데이터를 수집하는 디바이스;A device for collecting data;
    개방형 프레임워크에 기반한 아키텍처를 갖고, 소프트웨어 모듈을 이용하여 상기 디바이스와 상기 데이터를 주고 받는 게이트웨이; 및 A gateway having an architecture based on an open framework and exchanging data with the device using a software module; And
    상기 게이트웨이에서 전달하는 상기 데이터를 수신하고, 상기 게이트웨이를 제어하는 M2M 서버를 포함하는 M2M 네트워크 시스템.M2M network system for receiving the data delivered by the gateway, and M2M server for controlling the gateway.
  2. 제1항에 있어서,The method of claim 1,
    상기 게이트웨이는 The gateway is
    게이트웨이 커버리지에서 검색되는 상기 디바이스에 대한 상기 소프트웨어 모듈이 없는 경우, 상기 M2M 서버에 상기 소프트웨어 모듈을 요청하는 상기 소프트웨어 모듈을 설치하는 M2M 네트워크 시스템.M2M network system for installing the software module requesting the software module in the M2M server, if there is no software module for the device that is found in the gateway coverage.
  3. 제1항에 있어서,The method of claim 1,
    상기 개방형 프레임워크는 OSGi이고, 상기 소프트웨어 모듈은 상기 OSGi에서 동작하는 번들(bundle)인 M2M 네트워크 시스템.The open framework is OSGi, and the software module is a bundle running on the OSGi.
  4. 제1항에 있어서,The method of claim 1,
    상기 M2M 서버는 상기 소프트웨어 모듈을 상기 게이트웨이에 설치하는 M2M 네트워크 시스템.The M2M server system for installing the software module in the gateway.
  5. 제1항에 있어서,The method of claim 1,
    상기 디바이스와 상기 게이트웨이는 Zigbee, NFC, 블루투스, 와이파이, SUN, LAN 네트워크, 이동통신 3G 네트워크, 이동통신 4G 네트워크, 근거리 통신 네트워크 또는 이동통신 네트워크 중 적어도 어느 하나를 이용하여 연결되는 M2M 네트워크 시스템.The device and the gateway is connected to the M2M network system using at least one of the Zigbee, NFC, Bluetooth, WiFi, SUN, LAN network, mobile communication 3G network, mobile communication 4G network, local area communication network or mobile communication network.
  6. 제1항에 있어서,The method of claim 1,
    상기 게이트웨이는 ESTI 102.921 표준의 mId 프로토콜 또는 IETF 표준의 CoAP 프로토콜 중 적어도 어느 하나를 사용하는 M2M 네트워크 시스템.The gateway uses at least one of the mId protocol of the ESTI 102.921 standard or the CoAP protocol of the IETF standard.
  7. 제1항에 있어서,The method of claim 1,
    상기 소프트웨어 모듈을 제작하는 소프트웨어 개발 툴(SDK)에 대한 툴 데이터를 저장하고, 인터넷을 통해 접속한 사용자로부터 개발 명령을 수신하여 상기 소프트웨어 모듈을 제작하고, 제작된 상기 소프트웨어 모듈을 상기 M2M 서버에 전달하는 모듈 개발 서버를 더 포함하는 M2M 네트워크 시스템.Stores tool data for a software development tool (SDK) for manufacturing the software module, receives a development command from a user connected through the Internet, produces the software module, and delivers the produced software module to the M2M server. M2M network system further comprising a module development server.
  8. 제1항에 있어서,The method of claim 1,
    상기 M2M 서버는The M2M server
    상기 소프트웨어 모듈을 제작하는 소프트웨어 개발 툴(SDK)에 대한 툴 데이터를 저장하고, 인터넷을 통해 접속한 사용자로부터 개발 명령을 수신하여 상기 소프트웨어 모듈을 제작하는 M2M 네트워크 시스템.M2M network system for storing the tool data for the software development tool (SDK) for producing the software module, and receives the development command from a user connected through the Internet to produce the software module.
  9. 사용자가 컴퓨터 장치를 통해 웹 기반으로 소프트웨어 개발 툴(SDK)을 제공하는 M2M 서버에 접근하는 단계;A user accessing an M2M server providing a software development tool (SDK) on a web basis through a computer device;
    상기 사용자가 상기 소프트웨어 개발 툴을 이용하여 개방형 프레임워크에 기반한 M2M 게이트웨이가 디바이스와 통신하는데 필요한 소프트웨어 모듈을 제작하는 단계; 및The user using the software development tool to create a software module for an M2M gateway based on an open framework to communicate with a device; And
    상기 M2M 서버가 상기 소프트웨어 모듈을 상기 M2M 게이트웨이에 설치하는 단계를 포함하는 M2M 게이트웨이에 디바이스와 데이터 통신을 수행하기 위한 소프트웨어 모듈을 설치하는 방법.And installing, by the M2M server, the software module in the M2M gateway.
  10. 제9항에 있어서,The method of claim 9,
    상기 제작하는 단계는The manufacturing step
    상기 사용자가 웹 기반 상기 소프트웨어 개발 툴에서 상기 디바이스와 상기 M2M 게이트웨이 사이에 사용할 통신 프로토콜을 선택하는 단계;Selecting, by the user, a communication protocol to be used between the device and the M2M gateway in the web-based software development tool;
    상기 컴퓨터 장치에 상기 선택된 통신 프로토콜에 대한 소스 코드가 전송되는 단계;Transmitting source code for the selected communication protocol to the computer device;
    상기 사용자가 상기 컴퓨터 장치를 통해 상기 소스 코드를 이용하여 상기 소프트웨어 모듈을 제작하는 단계를 포함하는 M2M 게이트웨이에 디바이스와 데이터 통신을 수행하기 위한 소프트웨어 모듈을 설치하는 방법.And installing, by the user, the software module using the source code through the computer device, to install a software module for performing data communication with a device in an M2M gateway.
  11. 제10항에 있어서,The method of claim 10,
    상기 소스 코드를 이용하여 상기 소프트웨어 모듈을 제작하는 단계 후에 상기 소프트웨어 개발 툴이 상기 소프트웨어 모듈을 검증하는 단계를 더 포함하는 M2M 게이트웨이에 디바이스와 데이터 통신을 수행하기 위한 소프트웨어 모듈을 설치하는 방법.And verifying the software module by the software development tool after producing the software module using the source code.
  12. 제9항에 있어서,The method of claim 9,
    상기 M2M 서버는 The M2M server
    상기 M2M 게이트웨이가 커버리지에서 검색되는 상기 디바이스에 대한 소프트웨어 모듈을 요청한 경우, 상기 M2M 서버에 저장된 상기 소프트웨어 모듈을 상기 M2M 게이트웨이에 전달하거나, 원격으로 상기 소스트웨어 모듈을 상기 M2M 게이트웨이에 설치하는 M2M 게이트웨이에 디바이스와 데이터 통신을 수행하기 위한 소프트웨어 모듈을 설치하는 방법.When the M2M gateway requests a software module for the device found in coverage, the M2M gateway delivers the software module stored in the M2M server to the M2M gateway, or remotely installs the software module in the M2M gateway. A method of installing a software module for performing data communication with a device.
  13. 제9항에 있어서,The method of claim 9,
    상기 개방형 프레임워크는 OSGi이고, 상기 소프트웨어 모듈은 상기 OSGi에서 동작하는 번들(bundle)인 M2M 게이트웨이에 디바이스와 데이터 통신을 수행하기 위한 소프트웨어 모듈을 설치하는 방법.The open framework is an OSGi, and the software module is a method for installing a software module for performing data communication with a device in a M2M gateway that is a bundle running in the OSGi.
  14. M2M 게이트웨이에 있어서,In the M2M gateway,
    커버리지에서 동작하는 M2M 디바이스의 존재 여부를 판단하기 위하여 스캐닝 신호 및 M2M 서버에 모듈 요청 신호를 전송하는 송신부;A transmitter for transmitting a module request signal to a M2M server and a scanning signal to determine whether an M2M device operating in coverage exists;
    상기 M2M 다바이스로부터 상기 스캐닝 신호에 대한 응답 신호를 수신하는 수신부;A receiver configured to receive a response signal to the scanning signal from the M2M device;
    상기 응답 신호를 분석하여 상기 M2M 다바이스와 통신하기 위한 소프트웨어 모듈이 설치되었는지 여부를 판단하고, 상기 소프트웨어 모듈이 없다면 상기 소프트웨어 모듈을 요청하는 모듈 요청 신호를 상기 M2M 서버에 전송하도록 제어하는 제어부; 및A controller configured to analyze the response signal to determine whether a software module for communicating with the M2M device is installed, and to transmit a module request signal for requesting the software module to the M2M server if there is no software module; And
    상기 모듈 요청 신호에 따라 설치되는 소프트웨어 모듈을 저장하는 메모리부를 포함하되,Including a memory unit for storing a software module installed according to the module request signal,
    상기 소프트웨어 모듈은 개방형 프레임워크인 OSGi에서 동작하는 번들(bundle)이고, 상기 M2M 서버는 M2M 게이트웨이를 통해 상기 M2M 다바이스에서 수집하는 특정 데이터를 수신하고, 상기 M2M 서버는 상기 소프트웨어 모듈을 관리하는 M2M 게이트웨이.The software module is a bundle running in OSGi, which is an open framework, and the M2M server receives specific data collected by the M2M device through an M2M gateway, and the M2M server manages the software module. .
PCT/KR2014/012000 2013-12-16 2014-12-08 M2m network system, m2m gateway, and method for installing software module in m2m gateway so as to perform data communication with device WO2015093770A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130156286A KR20150069768A (en) 2013-12-16 2013-12-16 M2m network system, m2m gateway and installing method for software module in m2m gateway to communicate with device
KR10-2013-0156286 2013-12-16

Publications (1)

Publication Number Publication Date
WO2015093770A1 true WO2015093770A1 (en) 2015-06-25

Family

ID=53403065

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/012000 WO2015093770A1 (en) 2013-12-16 2014-12-08 M2m network system, m2m gateway, and method for installing software module in m2m gateway so as to perform data communication with device

Country Status (2)

Country Link
KR (1) KR20150069768A (en)
WO (1) WO2015093770A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106211211A (en) * 2016-07-27 2016-12-07 西南大学 There is equipment identification and the wireless gateway device of information recognizing function, analytic and network-building method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102578540B1 (en) * 2022-10-05 2023-09-14 (주)캐시스 Data transfer method using dynamic protocol parsing based on schema

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060084027A (en) * 2005-01-17 2006-07-21 삼성전자주식회사 Home gateway based on osgi and device registration method thereof
KR100678966B1 (en) * 2006-01-18 2007-02-06 삼성전자주식회사 Apparatus and method for providing upnp rui service
KR20080061631A (en) * 2006-12-28 2008-07-03 (주)포스텍 Intelligence form home network system
KR20130037199A (en) * 2010-03-01 2013-04-15 인터디지탈 패튼 홀딩스, 인크 Machine-to-machine gateway architecture and functionality

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060084027A (en) * 2005-01-17 2006-07-21 삼성전자주식회사 Home gateway based on osgi and device registration method thereof
KR100678966B1 (en) * 2006-01-18 2007-02-06 삼성전자주식회사 Apparatus and method for providing upnp rui service
KR20080061631A (en) * 2006-12-28 2008-07-03 (주)포스텍 Intelligence form home network system
KR20130037199A (en) * 2010-03-01 2013-04-15 인터디지탈 패튼 홀딩스, 인크 Machine-to-machine gateway architecture and functionality

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106211211A (en) * 2016-07-27 2016-12-07 西南大学 There is equipment identification and the wireless gateway device of information recognizing function, analytic and network-building method
CN106211211B (en) * 2016-07-27 2020-01-03 西南大学 Wireless gateway equipment with equipment identification and information identification functions and networking method

Also Published As

Publication number Publication date
KR20150069768A (en) 2015-06-24

Similar Documents

Publication Publication Date Title
WO2014010784A1 (en) Method of providing internet of things service
WO2012121544A2 (en) Wireless network system, wireless device, and network registration method of the wireless device
AU2012226732A1 (en) Wireless network system, wireless device, and network registration method of the wireless device
WO2014178605A1 (en) Smart home device and network management system
KR101678606B1 (en) SERVICE PROVIDING METHOD USING IoT DEVICE AND SERVICE PROVIDING SYSTEM USING IoT DEVICE
WO2012115385A2 (en) Apparatus and method for providing universal plug and play service based on wi-fi direct connection in portable terminal
US8219658B2 (en) Network system
WO2011132928A2 (en) Management method and system for a device that provides m2m services, and an apparatus thereof
WO2011099690A2 (en) Method and apparatus for using service of home network device based on remote access
WO2013100547A1 (en) Method and apparatus for managing personal health
WO2017074034A1 (en) Method and apparatus for interworking between heterogeneous systems
WO2011118985A2 (en) Middleware device for three-tier ubiquitous city system
WO2012064054A1 (en) System and method for dynamic configuration of isn store-based overlay network
WO2012099372A2 (en) Central control system and method for setting control point thereof
WO2011159096A2 (en) Apparatus and method for registering personal network
JP2013065189A (en) Energy management system
WO2015093770A1 (en) M2m network system, m2m gateway, and method for installing software module in m2m gateway so as to perform data communication with device
WO2011030967A1 (en) Wire/wireless integrated gateway and operating method thereof
WO2018066870A1 (en) Initial operation method for roaming terminal accessing network in mobile communication environment
WO2014178603A1 (en) Apparatus and system for data mirror device
WO2013006013A2 (en) Apparatus and method for providing user interface technical field of the invention
EP2606665A2 (en) Apparatus for providing a device management package and a method for receiving the device management package
WO2010071384A2 (en) Standardization system and method for robot fabrication and robot service implementation system
WO2010050664A1 (en) System for providing traffic information using a local area network, method, service server, traffic information relay method, application server, method for providing traffic information, mobile communication terminal, navigation terminal, executing method, and storage medium
WO2018079925A1 (en) Method for controlling quick pairing with internet-of-things devices by using service subscriber information

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

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

Country of ref document: EP

Kind code of ref document: A1