KR101335512B1 - M2M router device using Android-based common platform - Google Patents

M2M router device using Android-based common platform Download PDF

Info

Publication number
KR101335512B1
KR101335512B1 KR1020120006770A KR20120006770A KR101335512B1 KR 101335512 B1 KR101335512 B1 KR 101335512B1 KR 1020120006770 A KR1020120006770 A KR 1020120006770A KR 20120006770 A KR20120006770 A KR 20120006770A KR 101335512 B1 KR101335512 B1 KR 101335512B1
Authority
KR
South Korea
Prior art keywords
android
library
platform
module
operating system
Prior art date
Application number
KR1020120006770A
Other languages
Korean (ko)
Other versions
KR20130085742A (en
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 KR1020120006770A priority Critical patent/KR101335512B1/en
Publication of KR20130085742A publication Critical patent/KR20130085742A/en
Application granted granted Critical
Publication of KR101335512B1 publication Critical patent/KR101335512B1/en

Links

Images

Classifications

    • 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
    • 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
    • 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
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4535Network directories; Name-to-address mapping using an address exchange platform which sets up a session between two nodes, e.g. rendezvous servers, session initiation protocols [SIP] registrars or H.323 gatekeepers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 다양한 M2M 디바이스에 공용으로 사용할 수 있는 안드로이드 기반의 하드웨어/소프트웨어 플랫폼을 제공하는 기술에 관한 것이다. 구체적으로는, 본 발명은 리눅스 이외의 네이티브 운영체제에서도 구동되도록 안드로이드를 경량화한 모뎀계층과 미들웨어 플랫폼으로 이루어진 공용 M2M 플랫폼을 구성함으로써 다양한 M2M 디바이스에 공용으로 사용할 수 있도록 하여 개발자는 개별 디바이스별로 커스텀 애플리케이션만 개발하면 충분하도록 하는 편리성을 제공하는 M2M 디바이스를 위한 안드로이드 기반의 공용 플랫폼 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 및 이를 사용하는 M2M 라우터 장치를 제공한다.The present invention relates to a technology for providing an Android-based hardware / software platform that can be commonly used in various M2M devices. Specifically, the present invention configures a common M2M platform consisting of a lightweight modem layer and a middleware platform for Android to run on a native operating system other than Linux, so that developers can share the application with various M2M devices. It provides a computer-readable recording medium recording an Android-based common platform program for an M2M device that provides sufficient convenience for development and an M2M router device using the same.

Description

안드로이드 기반의 공용 플랫폼을 탑재한 M2M 라우터 장치{M2M router device using Android-based common platform}M2M router device using Android-based common platform}

본 발명은 다양한 M2M 디바이스에 공용으로 사용할 수 있는 안드로이드 기반의 하드웨어/소프트웨어 플랫폼을 제공하는 기술에 관한 것이다. 구체적으로는, 본 발명은 리눅스 이외의 네이티브 운영체제에서도 구동되도록 안드로이드를 경량화한 모뎀계층과 미들웨어 플랫폼으로 이루어진 공용 M2M 플랫폼을 구성함으로써 다양한 M2M 디바이스에 공용으로 사용할 수 있도록 하여 개발자는 개별 디바이스별로 커스텀 애플리케이션만 개발하면 충분하도록 하는 편리성을 제공하는 M2M 디바이스를 위한 안드로이드 기반의 공용 플랫폼 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 및 이를 사용하는 M2M 라우터 장치를 제공한다.
The present invention relates to a technology for providing an Android-based hardware / software platform that can be commonly used in various M2M devices. Specifically, the present invention configures a common M2M platform consisting of a lightweight modem layer and a middleware platform for Android to run on a native operating system other than Linux, so that developers can share the application with various M2M devices. It provides a computer-readable recording medium recording an Android-based common platform program for an M2M device that provides sufficient convenience for development and an M2M router device using the same.

현재 기술의 발달로 인하여 장치 대 장치(Machine-to-Machine : M2M) 서비스에 대한 사용자들의 욕구가 증가하고 있다. M2M은 일반적인 유무선 네트워크상에서 일련의 유저 트래픽 데이터를 유무선 통신방식을 이용하여 M2M 모듈과 M2M 디바이스가 연동하여 기계간의 통신을 지원하는 원격 관리 및 제어 솔루션이다. 넓은 의미로는 전자장치 간의 유무선 통신이나 사람이 제어하는 장치와 기계 간의 통신을 의미하지만 최근에는 전자장치와 전자장치 간 즉, 기기 간의 무선 통신을 특별히 지칭하는 것이 일반적이다. With the development of current technology, users' desire for machine-to-machine services (M2M) is increasing. M2M is a remote management and control solution that supports communication between machines by linking M2M module and M2M device using wired / wireless communication method in general wired / wireless network. In a broad sense, it means wired / wireless communication between electronic devices or communication between a device controlled by a person and a machine. However, in recent years, a general term refers to wireless communication between electronic devices and electronic devices, that is, devices.

다시 말해 M2M이란 유무선 통신 방식을 이용하여 여러 디바이스 간, 일반적으로는 디바이스와 서버 사이의 데이터 전송을 위한 통신을 지원하는 원격 관리 및 제어 솔루션이다. 이러한 M2M은 통신 기능이 포함되어 있지 않은 디바이스에 M2M 전용의 모듈을 부착하는 형태로 구현된다. M2M 모듈에는 당해 연결하는 디바이스의 기능에 맞도록 다양한 어플리케이션(application)들이 설치되어 구동될 수 있으며 이를 통해 M2M의 목적을 달성한다.In other words, M2M is a remote management and control solution that supports communication for data transmission between multiple devices, typically between devices and servers, using wired or wireless communication. The M2M is implemented by attaching a module dedicated to the M2M to a device that does not include a communication function. Various applications may be installed and driven in the M2M module to fit the function of the device to be connected, thereby achieving the purpose of the M2M.

일반적으로는 각종 센서 등의 전자장치(디바이스)에 무선 모뎀을 부착함으로써 원격지의 서버에서 당해 디바이스의 데이터를 받아보거나 그 디바이스를 제어할 수 있도록 한다. 원격검침이나 버스위치 원격 파악 등과 같은 기능을 달성하기 위해서 디바이스의 정보를 원격에서 수집하거나 필요한 경우에는 디바이스를 원격에서 직접 제어한다.In general, by attaching a wireless modem to electronic devices (devices) such as various sensors, a server of a remote site can receive data of the device or control the device. In order to achieve functions such as remote meter reading and remote bus location, the information of the device is collected remotely or the device is directly controlled remotely if necessary.

종래에는 특정의 분야에 M2M을 구현하려면 관련된 디바이스의 종류를 파악하고 그에 따라 M2M 무선모뎀과 관련 소프트웨어의 개발 작업에 착수하였다. 즉, [도 1]에 개념적으로 도시된 바와 같이 디바이스(110, 120, 130) 별로 개별적으로 하드웨어 플랫폼과 소프트웨어(111, 112; 121, 122; 131, 132)를 개발하여 사용한 것이다. 각각의 디바이스 별로 커스텀 소프트웨어(111, 121, 131)와 M2M 모뎀 관련 펌웨어/미들웨어(112, 122, 132)를 별도로 개발하는 것이다. 이처럼 나름대로 특정 디바이스에 맞춰서 각자 하드웨어 플랫폼과 소프트웨어를 개발해온 것이 종래기술의 일반적인 형태이다.Conventionally, in order to implement M2M in a specific field, it is necessary to identify the types of devices involved and to develop M2M wireless modem and related software accordingly. That is, as conceptually shown in FIG. 1, hardware platforms and software 111, 112; 121, 122; 131, 132 are developed and used for each device 110, 120, and 130 individually. For each device, custom software 111, 121, 131 and M2M modem related firmware / middleware 112, 122, 132 are separately developed. As such, it is a common form of the prior art to develop hardware platforms and software for each specific device.

이처럼 개별적으로 하드웨어 플랫폼과 소프트웨어를 개발하는 종래기술에서는 M2M 디바이스의 개발비용이 많이 소요될 뿐만 아니라 이후의 유지보수나 기술지원 비용이 많이 소요된다는 문제점이 있다. 단일 프로젝트에 다수의 디바이스가 사용되는 경우라면 하드웨어 플랫폼과 소프트웨어 개발에 소요된 비용을 부담할 수 있으나 비교적 소수의 디바이스를 사용하는 프로젝트라면 도저히 그러한 비용을 부담할 수가 없다. 예를 들어, 프랜차이즈 사업을 이제 막 개시하여 아직 가맹점을 충분히 확보하지 못한 사업자라면 종래기술에서는 관련 하드웨어/소프트웨어 개발비를 부담할 형편이 못되거나 설사 부담할 수는 있더라도 사업규모를 감안할 때 적절하지 않다고 판단하기 마련이다.As described above, in the conventional technology of developing hardware platforms and software individually, the development cost of the M2M device is not only high, but there is a problem of the subsequent maintenance or technical support costs. If multiple devices are used in a single project, the cost of hardware platform and software development can be incurred, but a project using relatively few devices can hardly afford such costs. For example, if a business has just started a franchise business and has not yet secured enough franchisees, it is not appropriate in view of the size of the business, even if the prior art is not able to pay the related hardware / software development cost or even if it does. I'm ready to.

이처럼 하드웨어/소프트웨어 개발의 비용이 과다하다는 문제점으로 인하여 M2M 기술이 장점이 많음에도 불구하고 다양한 분야에 널리 보급하는 데에 상당한 장애가 되고 있다. 그에 따라 이와 같은 종래기술의 문제점을 해결할 수 있는 기술개발이 요망되고 있다.
Due to the excessive cost of hardware / software development, although M2M technology has many advantages, it is a significant obstacle to widespread use in various fields. Accordingly, there is a demand for technology development that can solve the problems of the prior art.

본 발명의 목적은 다양한 M2M 디바이스에 공용으로 사용할 수 있는 안드로이드 기반의 하드웨어/소프트웨어 플랫폼을 제공하는 기술을 제공하는 것이다. 구체적으로는, 리눅스 이외의 네이티브 운영체제에서도 구동되도록 안드로이드를 경량화한 모뎀계층과 미들웨어 플랫폼으로 이루어진 공용 M2M 플랫폼을 구성함으로써 다양한 M2M 디바이스에 공용으로 사용할 수 있도록 하여 개발자는 개별 디바이스별로 커스텀 애플리케이션만 개발하면 충분하도록 하는 편리성을 제공하는 M2M 디바이스를 위한 안드로이드 기반의 공용 플랫폼 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 및 이를 사용하는 M2M 라우터 장치를 제공하는 것이다.
An object of the present invention is to provide a technology that provides an Android-based hardware / software platform that can be commonly used in various M2M devices. Specifically, by building a common M2M platform consisting of a lightweight modem layer and a middleware platform for Android to run on a native operating system other than Linux, developers can use it for various M2M devices in common, and developers only need to develop custom applications for individual devices. The present invention provides a computer-readable recording medium recording an Android-based common platform program for an M2M device that provides convenience, and an M2M router device using the same.

이러한 목적을 달성하기 위하여, 본 발명에 따른 M2M 디바이스를 위한 안드로이드 기반의 공용 플랫폼 프로그램을 기록한 컴퓨터로 판독가능한 기록매체는 외부의 센서장치(410)와 연결되는 M2M 디바이스에 설치되어 외부의 M2M 제어센터(430)에 대해 M2M 서비스를 제공하는 M2M 어플리케이션을 구현하기 위하여, 외부의 센서장치와 연결하기 위한 디지털 인터페이스 라이브러리와 외부의 M2M 제어센터(430)와 연결하기 위한 네트워크 통신 라이브러리를 포함하는 복수 개의 안드로이드 클래스 라이브러리를 구비하여 M2M 어플리케이션을 안드로이드 기반으로 실행시키는데 필요한 안드로이드 API를 제공하는 M2M 어플리케이션 프레임워크(422); 파일 시스템, 메모리 할당, 디지털 인터페이스, 네트워크 통신, 기본 라이브러리, 타이머, 디바이스 제어 중 하나이상의 하드웨어 관리를 제공하되, 안드로이드 기반의 실행을 위해 요구되는 M2M 디바이스의 하드웨어 관리용 리눅스 표준 API를 M2M 디바이스의 네이티브 운영체제(426)에 의존적인 코드를 활용하여 변환 제공하는 포팅 계층(425); 포팅 계층(425)에서 제공하는 리눅스 표준 API를 통해 M2M 디바이스의 하드웨어 리소스를 액세스하며, 플랫폼 독립형 모듈인 쓰레드 관리 모듈, 동적 라이브러리 관리 모듈, 외부 함수 인터페이스, 동기화 모듈, 메모리 관리 모듈 중 하나 이상을 이용하여 M2M 어플리케이션 프레임워크(422)의 안드로이드 클래스 라이브러리를 리눅스 이외의 네이티브 운영체제(426)에서도 실행되도록 구현하는 가상머신(423); 포팅 계층(425)에서 제공하는 리눅스 표준 API를 통해 M2M 어플리케이션 프레임워크(422)의 안드로이드 클래스 라이브러리에 기반이 되는 기본 기능을 리눅스 이외의 네이티브 운영체제(426)에서 제공하는 네이티브 라이브러리(424);를 포함하여 구성된다.In order to achieve the above object, a computer-readable recording medium recording an Android-based common platform program for an M2M device according to the present invention is installed in an M2M device connected to an external sensor device 410 so that an external M2M control center In order to implement an M2M application providing an M2M service with respect to 430, a plurality of Androids may include a digital interface library for connecting with an external sensor device and a network communication library for connecting with an external M2M control center 430. An M2M application framework 422 having a class library for providing an Android API required for executing an M2M application on an Android basis; Provides hardware management of one or more of file system, memory allocation, digital interface, network communication, basic library, timer, and device control, but provides Linux standard API for hardware management of M2M devices required for Android-based execution. A porting layer 425 providing translation by utilizing code dependent on the operating system 426; Access the hardware resources of the M2M device through the Linux standard APIs provided by the porting layer 425 and utilize one or more of the platform independent modules: thread management module, dynamic library management module, external function interface, synchronization module, memory management module. A virtual machine 423 for implementing the Android class library of the M2M application framework 422 to run on a native operating system 426 other than Linux; A native library 424 provided by a native operating system 426 other than Linux to provide basic functions based on the Android class library of the M2M application framework 422 through the Linux standard API provided by the porting layer 425. It is configured by.

본 발명에서 M2M 어플리케이션 프레임워크(422)는 M2M 제어센터(430)와의 네트워크 통신 연결을 관리하기 위한 컨넥션 매니저 라이브러리와 M2M 제어센터(430)로부터의 제어를 구현하기 위한 원격제어 및 원격 상태정보 수집 라이브러리를 포함하여 구성되는 것이 바람직하다. 또한, 본 발명은 외부 센서장치(410)의 M2M 어플리케이션을 구현하기 위한 센서 어플리케이션 계층(421);을 더 구비하여 이루어지는 것이 바람직하다.In the present invention, the M2M application framework 422 is a connection manager library for managing a network communication connection with the M2M control center 430 and a remote control and remote status information collection library for implementing control from the M2M control center 430 It is preferably configured to include. In addition, the present invention preferably further comprises a sensor application layer 421 for implementing the M2M application of the external sensor device 410.

이러한 목적을 달성하기 위하여, 본 발명에 따른 안드로이드 기반의 공용 플랫폼을 탑재한 M2M 라우터 장치는 외부의 센서장치(410)에 연결되어 센서장치(410)와 외부의 M2M 제어센터(430)를 매개하는 안드로이드 기반의 장치로서, 센서장치(410)와 연결하기 위한 디지털 인터페이스 모듈(521); M2M 제어센터(430)와 연결하기 위한 네트워크 통신 모듈(530); 디지털 인터페이스 모듈(521)과 네트워크 통신 모듈(530)을 직접 제어하기 위한 네이티브 하드웨어 계층(427); 어플리케이션 프로세서(522)의 실행을 통해 M2M 라우터 장치의 전반적인 리소스 관리를 제공하고 네이티브 하드웨어 계층(427)을 통해 디지털 인터페이스 모듈(521)과 네트워크 통신 모듈(530)을 포함한 M2M 라우터 장치의 하드웨어를 제어하는 네이티브 운영체제(426); 센서장치(410)와 M2M 제어센터(430)를 매개하여 이들 간에 M2M 서비스를 제공하는 M2M 어플리케이션을 리눅스 이외의 네이티브 운영체제(426) 상에서 구현하는, 본 발명에 따른 M2M 디바이스를 위한 안드로이드 기반의 공용 플랫폼 프로그램을 기록한 컴퓨터로 판독가능한 기록매체;를 포함하여 구성된다. 본 발명에서 M2M 라우터 장치와 센서장치를 연결하기 위한 디지털 인터페이스 모듈(521)는 범용직렬버스(USB)를 포함하여 구성되는 것이 바람직하다.
In order to achieve this object, the M2M router device equipped with the Android-based common platform according to the present invention is connected to the external sensor device 410 to mediate the sensor device 410 and the external M2M control center 430 An Android based device comprising: a digital interface module 521 for connecting with a sensor device 410; A network communication module 530 for connecting with the M2M control center 430; A native hardware layer 427 for directly controlling the digital interface module 521 and the network communication module 530; The execution of the application processor 522 provides overall resource management of the M2M router device and controls the hardware of the M2M router device including the digital interface module 521 and the network communication module 530 through the native hardware layer 427. Native operating system 426; Android-based common platform for M2M devices according to the present invention, which implements an M2M application providing M2M service between them via a sensor device 410 and an M2M control center 430 on a native operating system 426 other than Linux. And a computer readable recording medium recording a program. In the present invention, the digital interface module 521 for connecting the M2M router device and the sensor device is preferably configured to include a universal serial bus (USB).

본 발명의 공용 M2M 플랫폼 기술에 따르면 개별 디바이스에 대해 M2M을 위한 공용 플랫폼과 개발환경(SDK)를 제공함으로써 M2M 개발비용이 낮아져 소규모 프로젝트에서도 M2M 모듈을 편리하게 개발할 수 있고, 그에 따라 M2M 기술의 적용분야를 획기적으로 확대할 수 있는 장점이 있다. 종래기술에서는 디바이스 종류별로 M2M 개발을 개별적으로 진행하였기에 대량의 M2M 디바이스를 생산할 때에만 채산성이 맞았으며, 그로 인해 동일 모델의 M2M 디바이스의 갯수가 적은 경우에는 M2M 기술을 적용하는 것이 사실상 불가능하였다.According to the common M2M platform technology of the present invention, by providing a common platform and development environment (SDK) for M2M for individual devices, M2M development cost is lowered, so that the M2M module can be conveniently developed even in a small project, thereby applying M2M technology. There is an advantage that can significantly expand the field. In the prior art, M2M development was carried out individually for each device type, so the profitability was met only when producing a large amount of M2M devices. Therefore, when the number of M2M devices of the same model is small, it is virtually impossible to apply M2M technology.

또한, 본 발명의 공용 M2M 플랫폼 기술에 따르면 리눅스 이외의 네이티브 운영체제에서도 구동되도록 안드로이드를 경량화한 모뎀계층과 미들웨어 플랫폼으로 이루어진 공용 M2M 플랫폼을 구성함으로써 모든 디바이스에 대해서 본 발명의 공용 플랫폼을 적용할 수 있도록 배려했다는 장점이 있다.
In addition, according to the common M2M platform technology of the present invention by configuring a common M2M platform consisting of a lightweight modem layer and middleware platform Android to run on a native operating system other than Linux to apply the common platform of the present invention to all devices It has the advantage of being considerate.

[도 1]은 종래기술에 따른 M2M 디바이스에서 하드웨어와 소프트웨어의 구성을 개념적으로 나타낸 도면.
[도 2]는 본 발명에 따른 M2M 디바이스에서 공용 플랫폼을 적용한 구성을 개념적으로 나타낸 도면.
[도 3]은 본 발명에 따라 구성된 M2M 서비스 시스템의 전체 구성을 개념적으로 나타낸 도면.
[도 4]는 본 발명에서 M2M 라우터의 소프트웨어 구성의 일 예를 상세하게 나타낸 도면.
[도 5]는 본 발명에서 M2M 라우터의 하드웨어 구성의 일 예를 나타낸 도면.
[도 6]은 본 발명에 따른 공용 M2M 플랫폼에서 제공하는 경량화된 API의 일 예를 나타낸 도면.
1 is a diagram conceptually showing the configuration of hardware and software in an M2M device according to the prior art.
2 is a diagram conceptually showing a configuration to which a common platform is applied in an M2M device according to the present invention;
3 is a diagram conceptually showing the overall configuration of an M2M service system constructed in accordance with the present invention;
4 is a view showing in detail an example of a software configuration of the M2M router in the present invention.
5 is a view showing an example of a hardware configuration of the M2M router in the present invention.
6 is a view showing an example of a lightweight API provided by the common M2M platform according to the present invention.

이하에서는 도면을 참조하여 본 발명을 상세하게 설명한다. 도면들 중 동일한 구성들은 가능한 한 어느 곳에서든지 동일한 부호들을 나타내고 있음을 유의하여야 한다. 또한, 하기 설명에서는 구체적인 특정 사항들이 나타내고 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들 없이도 본 발명이 실시될 수 있음은 이 기술 분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 상세한 설명을 생략한다.
Hereinafter, with reference to the drawings will be described in detail the present invention. It should be noted that the same configurations of the drawings denote the same reference numerals as possible whenever possible. In addition, specific details are set forth in the following description, which is provided to help a more general understanding of the present invention, and it is obvious to those skilled in the art that the present invention may be practiced without these specific details. Will do. In the following description of the present invention, detailed descriptions of related well-known functions or configurations will be omitted when it is determined that the detailed descriptions may unnecessarily obscure the subject matter of the present invention.

[도 1]은 종래기술에 따른 M2M 디바이스에서 하드웨어와 소프트웨어의 구성을 개념적으로 나타낸 도면이고, [도 2]는 본 발명에 따른 M2M 디바이스에서 공용 플랫폼을 적용한 구성을 개념적으로 나타낸 도면이다. [도 1]과 비교하여 [도 2]에 나타낸 본 발명의 특징을 살펴본다.1 is a diagram conceptually showing the configuration of hardware and software in an M2M device according to the prior art, and FIG. 2 is a diagram conceptually illustrating a configuration to which a common platform is applied in an M2M device according to the present invention. It looks at the features of the present invention shown in [2] compared to [1].

[도 1]을 참조하면 종래기술에서는 디바이스(110, 120, 130) 별로 커스텀 소프트웨어(111, 121, 131)와 M2M 모뎀 관련 펌웨어/미들웨어(112, 122, 132)를 별도로 개발하였으며, 그에 따라 개발비용과 유지보수 비용이 상당히 많이 소요되는 문제점이 있었다.Referring to FIG. 1, in the related art, the custom software 111, 121, and 131 and the firmware / middleware 112, 122, and 132 related to the M2M modem are separately developed for each device 110, 120, and 130. There was a problem that the cost and maintenance costs are quite high.

반면, [도 2]를 참조하면 본 발명에서는 여러 디바이스(210, 220, 230)에 대해 공용으로 사용할 수 있는 공용 M2M 플랫폼(240)을 채용하고 있다는 점이 특징이며, 그에 따라 개발비용과 유지보수 비용이 상대적으로 저렴해진다. 본 발명에 따른 공용 M2M 플랫폼(240)은 안드로이드 기반으로 이루어진 것으로서 디바이스에 대해서 PAF(Portable Android Platform) 플랫폼(212, 222, 232)과 모뎀(213, 222, 233)을 설치하여 이루어진다. PAF 플랫폼(212, 222, 232)은 공용으로 설계된 소프트웨어 미들웨어이며, 모뎀(213, 222, 233)은 원격지의 M2M 제어센터(후술함)와 통신을 수행할 수 있도록 설계된 것이다.On the other hand, referring to Figure 2 is characterized in that the present invention employs a common M2M platform 240 that can be used in common for the various devices (210, 220, 230), accordingly development costs and maintenance costs This becomes relatively inexpensive. The common M2M platform 240 according to the present invention is based on Android and is made by installing a portable Android platform (PAF) platform 212, 222, 232 and a modem 213, 222, 233 for a device. The PAF platforms 212, 222, and 232 are commonly designed software middleware, and the modems 213, 222, and 233 are designed to communicate with a remote M2M control center (to be described later).

본 발명의 구조에 따르면 M2M 서비스를 위하여 다양한 형태의 센서장치(214, 224, 234)를 채용하더라도 공용 M2M 플랫폼(240)을 채용하면서 단순히 커스텀 어플리케이션(211, 221, 231)만 디바이스별로 설계하면 된다. 예를 들어, 센서장치(214, 224, 234)로서 각각 카메라, 지문인식기, 가스검침기를 사용하더라도 공용 M2M 플랫폼(240)은 그대로 사용할 수 있으며, 단지 M2M 서비스를 위한 커스텀 어플리케이션(211, 221, 231)만 카메라, 지문인식기, 가스검침기를 위해 설계하면 되는 것이다.
According to the structure of the present invention, even if employing various types of sensor devices (214, 224, 234) for M2M service, only the custom application (211, 221, 231) need to be designed for each device while employing the common M2M platform 240 . For example, even if a camera, a fingerprint reader, and a gas detector are used as the sensor devices 214, 224, and 234, the common M2M platform 240 can be used as it is, and only custom applications 211, 221, and 231 for M2M services are provided. ) Only need to be designed for cameras, fingerprint readers, gas detectors.

[도 3]은 본 발명에 따라 구성된 M2M 서비스 시스템의 전체 구성을 개념적으로 나타낸 도면이다.3 is a diagram conceptually showing an overall configuration of an M2M service system constructed according to the present invention.

[도 3]을 참조하면, 본 발명에 따른 M2M 서비스 시스템은 복수 개의 M2M 디바이스(210, 220, 230), M2M 제어센터(330), M2M 고객 인터페이스(341), M2M 제어콘솔(342)을 포함하여 이루어진다. 개별 M2M 디바이스(210, 220, 230)는 센서장치(214, 224, 234)에 M2M 라우터(312, 322, 332)가 예컨대 범용직렬버스(USB)로 연결되어 이루어진 구성이며, M2M 제어장치(330)는 이들 M2M 디바이스(210, 220, 230)로부터 제공되는 각종 데이터를 효율적으로 관리하기 위한 데이터베이스(331)를 구비한다.Referring to FIG. 3, the M2M service system according to the present invention includes a plurality of M2M devices 210, 220, and 230, an M2M control center 330, an M2M customer interface 341, and an M2M control console 342. It is done by The individual M2M devices 210, 220, and 230 are configurations in which the M2M routers 312, 322, and 332 are connected to the sensor devices 214, 224, and 234 by, for example, a universal serial bus (USB), and the M2M controller 330. ) Includes a database 331 for efficiently managing various data provided from these M2M devices 210, 220, and 230.

먼저, 센서장치(214, 224, 234)는 M2M 서비스를 제공하기 위해 각종 데이터를 취득하는 장치로서, 예컨대 카메라, 지문인식기, 가스검침기 등과 같은 장치에 해당한다. 센서장치(214, 224, 234)는 외부 장치와 접속하기 위한 디지털 인터페이스(예: USB)를 구비하고 있다.First, the sensor devices 214, 224, and 234 are devices for acquiring various data to provide M2M service, and correspond to devices such as a camera, a fingerprint reader, and a gas meter. The sensor devices 214, 224, 234 have a digital interface (eg USB) for connecting to an external device.

M2M 라우터(312, 322, 332)는 센서장치(214, 224, 234)를 외부의 M2M 제어센터(330)와 유무선 네트워크를 통해 연결시켜 줌으로써 센서장치(214, 224, 234)에 대해 M2M 서비스가 가능해지도록 한다. M2M 라우터(312, 322, 332)는 유무선 네트워크와의 연결 뿐만 아니라 M2M 서비스를 위한 각종 미들웨어와 바람직하게는 어플리케이션(APP)도 구비한다. 유무선 네트워크로는 유선랜이나 무선랜과 같은 네트워크 기술도 가능하고, CDMA, GSM, WCDMA, LTE, Wibro 등와 같은 각종의 이동통신 기술도 적용할 수 있다.The M2M routers 312, 322, and 332 connect the sensor devices 214, 224, and 234 with an external M2M control center 330 through a wired or wireless network, thereby providing M2M service to the sensor devices 214, 224, and 234. Make it possible. The M2M routers 312, 322, 332 have various middleware and preferably applications (APP) for M2M services as well as connections with wired and wireless networks. Wired and wireless networks may be network technologies such as wired LAN and wireless LAN, and various mobile communication technologies such as CDMA, GSM, WCDMA, LTE, and Wibro may be applied.

M2M 제어센터(330)는 이들 M2M 디바이스(210, 220, 230)를 제어하고 관리하며 원격으로 그 작동을 모니터링하는 서버이다. M2M 제어센터(330)는 M2M 디바이스(210, 220, 230)에 대하여 원격 제어, 원격 상태정보 수집, 통계 및 리포트, 결함 진단, 리셋(초기화), 소프트웨어 원격 업데이트, 환경 설정 등의 동작을 수행할 수 있다.The M2M control center 330 is a server that controls and manages these M2M devices 210, 220, 230 and remotely monitors their operation. The M2M control center 330 performs operations such as remote control, remote status information collection, statistics and reports, fault diagnosis, reset (initialization), software remote update, and environment setting for the M2M devices 210, 220, and 230. Can be.

M2M 제어센터(330)는 M2M 제어콘솔(342)과 유무선 네트워크로 연결되어 있으며, 이를 통해 M2M 제어콘솔(342)은 직접 M2M 디바이스(210, 220, 230)를 모니터링하고 제어할 수 있으며, 이를 통해 M2M 디바이스(210, 220, 230)를 전반적으로 관리할 수 있다. M2M 제어센터(330)는 오픈 API를 제공하는데, 이를 통해 M2M 고객인터페이스(341)에서는 M2M 서비스를 통한 각종의 고객 서비스를 개발할 수 있게 된다.
The M2M control center 330 is connected to the M2M control console 342 and a wired or wireless network, through which the M2M control console 342 can directly monitor and control the M2M devices 210, 220, and 230. The M2M devices 210, 220, and 230 may be managed overall. The M2M control center 330 provides an open API, through which the M2M customer interface 341 may develop various customer services through the M2M service.

[도 4]는 본 발명에서 M2M 라우터(420)의 소프트웨어 구성의 일 예를 상세하게 나타낸 도면이다. [도 4]를 참조하면, M2M 라우터(420)는 센서장치(410)와 M2M 제어센터(430) 사이를 매개하는 장치이다.4 is a diagram illustrating an example of a software configuration of the M2M router 420 in detail in the present invention. Referring to FIG. 4, the M2M router 420 is a device that intervenes between the sensor device 410 and the M2M control center 430.

M2M 라우터(420)는 기본적인 시스템 동작을 위하여 네이티브 운영체제(426)와 네이티브 하드웨어 계층(427)을 구비한다. 또한, M2M 서비스를 위하여 M2M 라우터(420)는 본 발명에 따른 공용 M2M 플랫폼(450)과 센서 어플리케이션 계층(421)을 구비한다. 이때, 본 발명에 따른 공용 M2M 플랫폼(450)은 M2M 어플리케이션 프레임워크(422), Dalvik 가상머신(423), 네이티브 라이브러리(424), 포팅계층(425)를 구비하여 이루어지다.The M2M router 420 includes a native operating system 426 and a native hardware layer 427 for basic system operation. In addition, the M2M router 420 for the M2M service is provided with a common M2M platform 450 and the sensor application layer 421 according to the present invention. At this time, the common M2M platform 450 according to the present invention is provided with an M2M application framework 422, a Dalvik virtual machine 423, a native library 424, a porting layer 425.

먼저, 네이티브 운영체제(426)는 일반적으로는 M2M 라우터(420)에 사용하는 프로세서에 대응하여 임베디드 리얼타임 운영체제(Embeded Real-time OS)가 되며, 리눅스(Linux) 이외의 전용 운영체제가 사용될 것으로 예상된다. 안드로이드 플랫폼에서는 운영체제로서 리눅스가 사용될 것을 기본적으로 전제하고 있으나, 리눅스는 용량이 크고 소프트웨어가 매우 무겁기 때문에 M2M 라우터(420)에 채용하기에 매우 부적합하다. 따라서, 본 발명에서는 네이티브 운영체제(426)로서 리눅스 이외의 임베디드 리얼타임 운영체제를 가정한다.First, the native operating system 426 generally becomes an embedded real-time operating system corresponding to a processor used in the M2M router 420, and a dedicated operating system other than Linux is expected to be used. . In the Android platform, Linux is basically assumed to be used as an operating system, but Linux is not suitable for M2M router 420 because of its large capacity and very heavy software. Accordingly, the present invention assumes an embedded real-time operating system other than Linux as the native operating system 426.

네이티브 하드웨어 계층(427)은 M2M 라우터(420)에서 사용되는 각종 하드웨어를 위한 펌웨어 모듈을 포함하여 이루어진다.The native hardware layer 427 includes firmware modules for various hardware used in the M2M router 420.

공용 M2M 플랫폼(450)은 센서장치(410)에 M2M 서비스를 제공하기 위해 사용하는 공용의 소프트웨어로서, 본 발명에서는 안드로이드 기반으로 이루어진 것으로 가정한다. 안드로이드는 안정성이 검증되고 이미 개발자원을 많이 보유하고 있는 스마트폰용 플랫폼으로서, M2M 플랫폼에 필요한 센서, USB, 보안, 네트워크 관련 API가 이미 잘 정리되어 있다. 공용 M2M 플랫폼(450)은 M2M 어플리케이션 프레임워크(422), Dalvik 가상머신(423), 네이티브 라이브러리(424), 포팅계층(425)를 구비하여 이루어지며, 바람직하게는 안드로이드 오픈소스(Android Open Source)를 경량화시켜 구현할 수 있다.The common M2M platform 450 is common software used to provide the M2M service to the sensor device 410, and it is assumed that the present invention is based on Android. Android is a platform for smartphones that has been proven to be stable and has a lot of developer resources, and the APIs for sensors, USB, security, and networks required for the M2M platform are already well organized. The common M2M platform 450 includes an M2M application framework 422, a Dalvik virtual machine 423, a native library 424, and a porting layer 425, preferably Android Open Source. Can be implemented by reducing the weight.

포팅 계층(425)은 안드로이드 기반의 어플리케이션 프로그램이 리눅스 이외의 네이티브 운영체제(426)에서도 구동될 수 있도록 해주는 기능을 수행하며, 적응계층(adaptation layer)이라고 부를 수도 있다. 포팅 계층(425)은 파일 시스템, 메모리 할당, 디지털 인터페이스, 네트워크 통신, 기본 라이브러리, 타이머, 디바이스 제어 중 하나이상의 하드웨어 관리를 제공한다. 특히, 포팅 계층(425)은 안드로이드 기반의 실행을 위해 요구되는 M2M 라우터(420)의 하드웨어 관리용 리눅스 표준 API를 네이티브 운영체제(426)에 의존적인 코드를 활용하여 변환 제공한다. 즉, 안드로이드 기반 어플리케이션 프로그램에서는 리눅스 표준 API 기반으로 작성되므로, 포팅 계층(425)은 이들 리눅스 표준 API를 네이티브 운영체제(426)에서 제공하는 네이티브 API를 사용하여 구현한다.The porting layer 425 performs a function of allowing an Android-based application program to run on a native operating system 426 other than Linux, and may also be called an adaptation layer. Porting layer 425 provides hardware management of one or more of file system, memory allocation, digital interface, network communication, basic library, timer, and device control. In particular, the porting layer 425 converts and provides the Linux standard API for hardware management of the M2M router 420 required for Android-based execution utilizing code dependent on the native operating system 426. That is, since the Android-based application program is written based on the Linux standard API, the porting layer 425 implements these Linux standard APIs using native APIs provided by the native operating system 426.

Dalvik 가상머신(423)은 포팅 계층(425)에서 제공하는 리눅스 표준 API를 통해 M2M 라우터(420)의 하드웨어 리소스를 액세스하며, 이를 통해 플랫폼 독립형 모듈인 쓰레드 관리 모듈, 동적 라이브러리 관리 모듈, 외부 함수 인터페이스, 동기화 모듈, 메모리 관리 모듈 중 하나 이상을 이용하여 M2M 어플리케이션 프레임워크(422)의 안드로이드 클래스 라이브러리를 네이티브 운영체제(426) 상에서도 실행되도록 구현한다.The Dalvik virtual machine 423 accesses the hardware resources of the M2M router 420 through the Linux standard API provided by the porting layer 425, thereby providing platform independent modules such as thread management module, dynamic library management module, and external function interface. By using one or more of a synchronization module and a memory management module, the Android class library of the M2M application framework 422 is implemented to run on the native operating system 426.

네이티브 라이브러리(424)는 포팅 계층(425)에서 제공하는 리눅스 표준 API를 통해 M2M 라우터(420)의 하드웨어 리소스를 액세스하며, 이를 통해 M2M 어플리케이션 프레임워크(422)의 안드로이드 클래스 라이브러리에 기반이 되는 각종의 기본 기능을 네이티브 운영체제(426) 상에서 제공한다.The native library 424 accesses the hardware resources of the M2M router 420 through the Linux standard API provided by the porting layer 425, thereby allowing various kinds of libraries based on the Android class library of the M2M application framework 422. Basic functionality is provided on the native operating system 426.

M2M 어플리케이션 프레임워크(422)는 M2M 서비스를 제공하기 위한 다수의 안드로이드 클래스 라이브러리를 구비한다. 안드로이드 클래스 라이브러리는 기본적으로 센서장치(410)와 연결하기 위한 디지털 인터페이스 라이브러리와 원격지의 M2M 제어센터(430)와 연결하기 위한 네트워크 통신 라이브러리를 포함하는데, [도 4]를 참조하면 하드웨어 제어용 클래스 라이브러리(카메라, NFC, GPS, USB, 센서), 보안관련 클래스 라이브러리(PKI, SSL, TLS), 통신 프로토콜용 클래스 라이브러리(SIP, HTTP, TCP/IP)를 포함한다. 또한, M2M 어플리케이션 프레임워크(422)는 M2M 제어센터(430)와의 네트워크 통신 연결을 관리하기 위한 컨넥션 매니저 라이브러리와 M2M 제어센터(430)로부터의 제어를 구현하기 위한 원격제어 및 원격 상태정보 수집 라이브러리를 구비하는 것이 바람직하다.The M2M application framework 422 includes a number of Android class libraries for providing M2M services. The Android class library basically includes a digital interface library for connecting with the sensor device 410 and a network communication library for connecting with the M2M control center 430 at a remote location. Referring to FIG. Camera, NFC, GPS, USB, sensor), security-related class libraries (PKI, SSL, TLS), and class libraries for communication protocols (SIP, HTTP, TCP / IP). In addition, the M2M application framework 422 includes a connection manager library for managing network communication connections with the M2M control center 430 and a remote control and remote status information collection library for implementing control from the M2M control center 430. It is preferable to provide.

센서 어플리케이션 계층(421)은 개별 센서장치(410)에 대해 개발자가 제공하려는 각종의 M2M 서비스를 구현하는 어플리케이션 프로그램으로서, [도 2]에서 커스텀 어플리케이션(211, 221, 231)에 대응된다. 센서 어플리케이션 계층(421)의 각종 M2M 어플리케이션은 공용 M2M 플랫폼(450)을 통해 구현되며, 최종적으로는 포팅 계층(425)을 통해 네이티브 운영체제(426) 상에서 실행된다.The sensor application layer 421 is an application program that implements various M2M services to be provided by the developer for the individual sensor device 410, and corresponds to the custom applications 211, 221, and 231 in FIG. 2. Various M2M applications of the sensor application layer 421 are implemented through the common M2M platform 450 and finally run on the native operating system 426 via the porting layer 425.

이상 기술된 바와 같은 M2M 라우터(420)의 소프트웨어 구조에 따르면, 네이티브 운영체제(426)와 네이티브 하드웨어 계층(427), 그리고 공용 M2M 플랫폼(450)은 센서장치(410)의 종류 내지 소망하는 M2M 서비스와는 전혀 무관하다. 반면, 센서 어플리케이션 계층(421)은 센서장치(410)의 종류 내지 소망하는 M2M 서비스에 따라 개별적으로 개발되어야 한다. 따라서, 본 발명의 기술에 따르면 M2M 서비스를 구현하고자 할 때, 대부분의 소프트웨어를 그대로 사용하면서 센서 어플리케이션 계층(421)만 개발하면 되므로 개발과정에 매우 간편하고 비용도 적게 소요된다는 장점이 있다. 또한, 대부분이 공통된 부분이므로 유지보수의 면에서도 장점을 제공한다.
According to the software structure of the M2M router 420 as described above, the native operating system 426, the native hardware layer 427, and the common M2M platform 450 is a kind of sensor device 410 to the desired M2M service and Is irrelevant at all. On the other hand, the sensor application layer 421 must be developed separately according to the type of sensor device 410 or the desired M2M service. Therefore, according to the technique of the present invention, since the sensor application layer 421 needs to be developed while using most of the software as it is, the development process is very easy and costs are low. In addition, since most of them are common parts, they also provide advantages in terms of maintenance.

[도 5]는 본 발명에서 M2M 라우터(420)의 하드웨어 구성의 일 예를 나타낸 도면이다. 5 is a diagram illustrating an example of a hardware configuration of the M2M router 420 in the present invention.

[도 5]를 참조하면, M2M 라우터(420)는 크게 어플리케이션 프로세서(AP) 보드(520)와 광역네트워크(WAN) 보드(530)로 이루어진다. AP 보드(520)는 USB 모듈(521)을 구비하여 외부의 센서장치(410)와 접속하고 어플리케이션 프로세서(522)를 구비하여 앞서 [도 4]를 참조하여 전술하였던 소프트웨어 동작을 구현한다. 또한, WAN 보드(530)는 RF 모듈(531)과 WAN 모뎀(532)을 구비하여 원격지의 M2M 제어센터(430)와의 네트워크 통신을 담당한다.Referring to FIG. 5, the M2M router 420 is composed of an application processor (AP) board 520 and a wide area network (WAN) board 530. The AP board 520 includes a USB module 521 to connect with an external sensor device 410 and includes an application processor 522 to implement the software operation described above with reference to FIG. 4. In addition, the WAN board 530 includes an RF module 531 and a WAN modem 532 to perform network communication with a remote M2M control center 430.

M2M 라우터(420)의 하드웨어 구성을 살펴보면 센서장치(410)의 종류와는 대부분 무관하다는 것을 알 수 있다. 따라서, 본 발명에 따르면 M2M 서비스를 제공하려는 센서장치(410)에 대해 미리 범용으로 마련해둔 M2M 라우터(420)를 범용직렬버스로 연결하고, 단지 어플리케이션 프로세서(522)의 소프트웨어 중에서 센서 어플리케이션 계층(421)만 작성하여 다운로드 설치하면 된다. Looking at the hardware configuration of the M2M router 420 it can be seen that most of the sensor device 410 is not related. Accordingly, according to the present invention, the M2M router 420, which is prepared in general for the sensor device 410 to provide the M2M service, is connected to the general-purpose serial bus, and the sensor application layer 421 among the software of the application processor 522. ) Only need to create and download and install.

본 발명에서는 M2M 라우터(420)의 하드웨어가 범용이므로 미리 대량으로 마련하였다가 그때그때 사용할 수 있어 소규모 프로젝트라고 하더라도 M2M 라우터(420)의 가격이 여전히 낮게 유지될 수 있다. 또한, M2M 라우터(420)의 하드웨어를 범용으로 표준화할 수 있으므로 유지보수의 면에서도 유리하다.
In the present invention, since the hardware of the M2M router 420 is a general-purpose, it can be prepared in large quantities in advance and used at that time, so that the price of the M2M router 420 can be kept low even in a small project. In addition, since the hardware of the M2M router 420 can be standardized in general, it is advantageous in terms of maintenance.

[도 6]은 본 발명에 따른 공용 M2M 플랫폼(450)에서 제공하는 경량화된 API의 일 예를 나타낸 도면이다.6 is a diagram illustrating an example of a lightweight API provided by the common M2M platform 450 according to the present invention.

본 발명의 공용 M2M 플랫폼(450)은 안드로이드 기반으로 이루어진 것이나 구글 안드로이드 패키지에 포함된 모든 API가 필요한 것은 아니고, 일부분만으로도 충분히 M2M 서비스를 제공할 수 있다. 오히려 구글 안드로이드 패키지는 M2M 라우터(420)와 같은 소규모 임베디드 장치에 설치하기에는 다소 무거운 감이 있으므로 이를 경량화할 필요가 있다. The public M2M platform 450 of the present invention is based on Android, but not all APIs included in the Google Android package are required, and only a part can provide M2M services sufficiently. Rather, the Google Android package is a bit heavy to install in a small embedded device, such as M2M router 420, so it needs to be lightweight.

[도 6]은 이처럼 경량화한 API의 일 예를 나타낸다. [도 6]에 제시된 API만으로도 M2M 라우터(420)는 충분히 M2M 서비스를 제공할 수 있으며, 그 외의 API, 그리고 그 외의 API에만 관련된 프로그램 코드는 제거할 수 있으므로 공용 M2M 플랫폼(450)이 함께 경량화되는 장점이 있다.
6 shows an example of such a lightweight API. The M2M router 420 can provide enough M2M service only by using the APIs shown in FIG. 6, and other APIs and program codes related to other APIs can be removed, thereby reducing the weight of the common M2M platform 450 together. There is an advantage.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드의 형태로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.The present invention can also be embodied in the form of computer readable code on a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.

컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 캐리어웨이브(예컨대, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산된 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인 프로그램, 코드, 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, including those implemented in the form of carrier waves (eg, transmission over the Internet). . The computer-readable recording medium can also be stored and executed by a computer-readable code in a distributed manner on a networked computer system. And functional programs, codes, and code segments for implementing the present invention can be easily deduced by programmers skilled in the art to which the present invention belongs.

이상과 같이, 본 명세서와 도면에는 본 발명의 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예가 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명하다.
As described above, the embodiments of the present invention have been disclosed in the present specification and drawings, and although specific terms have been used, they have been used only in a general sense to easily describe the technical contents of the present invention and to facilitate understanding of the invention. And is not intended to limit the scope of the invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.

210, 220, 230 : 디바이스
240 : 공용 M2M 플랫폼
211, 221, 231 : 커스텀 어플리케이션(APP)
212, 222, 232 : PAF 플랫폼
213, 223, 233 : 모뎀 계층
214, 224, 234 : 센서장치
312, 322, 332, 420 : M2M 라우터
330, 430 : M2M 제어센터
331 : 데이터베이스
341 : M2M 고객 인터페이스
342 : M2M 제어콘솔
421 : 센서 어플리케이션 계층
422 : M2M 어플리케이션 프레임워크
423 : Dalvik 가상머신(VM)
424 : 네이티브 라이브러리
425 : 포팅계층
426 : 네이티브 운영체제
427 : 네이티브 하드웨어 계층
210, 220, 230: device
240: common M2M platform
211, 221, 231: Custom Application (APP)
212, 222, 232: PAF Platform
213, 223, 233: modem layer
214, 224, 234: sensor device
312, 322, 332, 420: M2M Router
330, 430: M2M Control Center
331: Database
341: M2M customer interface
342: M2M Control Console
421: sensor application layer
422: M2M Application Framework
423: Dalvik Virtual Machine (VM)
424 native library
425: porting layer
426: Native operating system
427 native hardware layer

Claims (6)

삭제delete 삭제delete 삭제delete 외부의 센서장치(410)와 외부의 M2M 제어센터(430)를 매개하는 M2M 라우터 장치로서,
상기 센서장치(410)와 연결하기 위한 디지털 인터페이스 모듈(521);
상기 M2M 제어센터(430)와 연결하기 위한 네트워크 통신 모듈(530);
상기 디지털 인터페이스 모듈(521)과 상기 네트워크 통신 모듈(530)을 직접 제어하기 위한 네이티브 하드웨어 계층(427);
어플리케이션 프로세서(522)의 실행을 통해 상기 M2M 라우터 장치의 전반적인 리소스 관리를 제공하고 상기 네이티브 하드웨어 계층(427)을 통해 상기 디지털 인터페이스 모듈(521)과 상기 네트워크 통신 모듈(530)을 포함한 상기 M2M 라우터 장치의 하드웨어를 제어하는 네이티브 운영체제(426);
상기 센서장치(410)와 상기 M2M 제어센터(430)를 매개하여 이들 간에 M2M 서비스를 제공하는 M2M 어플리케이션을 리눅스 이외의 상기 네이티브 운영체제(426) 상에서 구현하기 위하여, 상기 센서장치와 연결하기 위한 디지털 인터페이스 라이브러리와 상기 M2M 제어센터(430)와 연결하기 위한 네트워크 통신 라이브러리를 포함하는 복수 개의 안드로이드 클래스 라이브러리를 구비하여 상기 M2M 어플리케이션을 안드로이드 기반으로 실행시키는데 필요한 안드로이드 API를 제공하는 M2M 어플리케이션 프레임워크(422)와, 파일 시스템, 메모리 할당, 디지털 인터페이스, 네트워크 통신, 기본 라이브러리, 타이머, 디바이스 제어 중 하나이상의 하드웨어 관리를 제공하되, 안드로이드 기반의 실행을 위해 요구되는 상기 M2M 디바이스의 하드웨어 관리용 리눅스 표준 API를 상기 M2M 디바이스의 네이티브 운영체제(426)에 의존적인 코드를 활용하여 변환 제공하는 포팅 계층(425)과, 상기 포팅 계층(425)에서 제공하는 리눅스 표준 API를 통해 상기 M2M 디바이스의 하드웨어 리소스를 액세스하며, 플랫폼 독립형 모듈인 쓰레드 관리 모듈, 동적 라이브러리 관리 모듈, 외부 함수 인터페이스, 동기화 모듈, 메모리 관리 모듈 중 하나 이상을 이용하여 상기 M2M 어플리케이션 프레임워크(422)의 안드로이드 클래스 라이브러리를 리눅스 이외의 상기 네이티브 운영체제(426)에서도 실행되도록 구현하는 가상머신(423)과, 상기 포팅 계층(425)에서 제공하는 리눅스 표준 API를 통해 상기 M2M 어플리케이션 프레임워크(422)의 안드로이드 클래스 라이브러리에 기반이 되는 기본 기능을 리눅스 이외의 상기 네이티브 운영체제(426)에서 제공하는 네이티브 라이브러리(424)를 구비하는 안드로이드 기반의 공용 플랫폼(450);
상기 포팅 계층(425)을 통해 상기 네이티브 운영체제(426) 상에서 실행되어 상기 공용 플랫폼(450)을 통해 상기 외부 센서장치(410)의 M2M 어플리케이션을 구현하는 센서 어플리케이션 계층(421);
를 포함하여 구성되는 안드로이드 기반의 공용 플랫폼을 탑재한 M2M 라우터 장치.
As an M2M router device that mediates an external sensor device 410 and an external M2M control center 430,
A digital interface module 521 for connecting with the sensor device 410;
A network communication module 530 for connecting with the M2M control center 430;
A native hardware layer 427 for directly controlling the digital interface module 521 and the network communication module 530;
The M2M router device including the digital interface module 521 and the network communication module 530 through the native hardware layer 427 provides overall resource management of the M2M router device through the execution of an application processor 522. A native operating system 426 that controls the hardware of the;
Digital interface for connecting the sensor device to implement the M2M application that provides M2M service between the sensor device 410 and the M2M control center 430 on the native operating system 426 other than Linux. An M2M application framework 422 including an Android class library including a library and a network communication library for connecting to the M2M control center 430 and providing an Android API required to execute the M2M application on an Android basis; Linux standard APIs for hardware management of the M2M devices required for Android-based execution, providing hardware management of one or more of: file system, memory allocation, digital interface, network communication, basic library, timer, and device control. Accesses hardware resources of the M2M device through a porting layer 425 providing conversion by utilizing code dependent on the native operating system 426 of the M2M device, and a Linux standard API provided by the porting layer 425. The Android class library of the M2M application framework 422 may be converted into a native operating system other than Linux using one or more of a platform independent module, a thread management module, a dynamic library management module, an external function interface, a synchronization module, and a memory management module. The basic functions based on the Android class library of the M2M application framework 422 through the Linux standard API provided by the virtual machine 423 and the porting layer 425 are implemented. Nati provided by the native operating system (426) Android-based having a library 424, the common platform (450);
A sensor application layer 421 executed on the native operating system 426 through the porting layer 425 to implement an M2M application of the external sensor device 410 through the common platform 450;
M2M router device equipped with an Android-based public platform that is configured to include.
청구항 4에 있어서,
상기 디지털 인터페이스 모듈(521)는 USB 모듈을 포함하여 구성되는 것을 특징으로 하는 안드로이드 기반의 공용 플랫폼을 탑재한 M2M 라우터 장치.
The method of claim 4,
The digital interface module (521) M2M router device equipped with an Android-based public platform, characterized in that comprises a USB module.
청구항 4에 있어서,
상기 M2M 어플리케이션 프레임워크(422)는 상기 M2M 제어센터(430)와의 네트워크 통신 연결을 관리하기 위한 컨넥션 매니저 라이브러리와 상기 M2M 제어센터(430)로부터의 제어를 구현하기 위한 원격제어 및 원격 상태정보 수집 라이브러리를 포함하여 구성되는 것을 특징으로 하는 안드로이드 기반의 공용 플랫폼을 탑재한 M2M 라우터 장치.
The method of claim 4,
The M2M application framework 422 is a connection manager library for managing a network communication connection with the M2M control center 430 and a remote control and remote state information collection library for implementing control from the M2M control center 430. M2M router device equipped with a public platform based on Android, characterized in that the configuration, including.
KR1020120006770A 2012-01-20 2012-01-20 M2M router device using Android-based common platform KR101335512B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120006770A KR101335512B1 (en) 2012-01-20 2012-01-20 M2M router device using Android-based common platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120006770A KR101335512B1 (en) 2012-01-20 2012-01-20 M2M router device using Android-based common platform

Publications (2)

Publication Number Publication Date
KR20130085742A KR20130085742A (en) 2013-07-30
KR101335512B1 true KR101335512B1 (en) 2013-12-02

Family

ID=48995850

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120006770A KR101335512B1 (en) 2012-01-20 2012-01-20 M2M router device using Android-based common platform

Country Status (1)

Country Link
KR (1) KR101335512B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101613372B1 (en) * 2014-11-20 2016-04-29 서일대학교산학협력단 Modular Platform Kit with Smart App Tools
KR101703567B1 (en) * 2016-03-31 2017-02-08 주식회사 대영산전 Wireless parking control system based IoT
CN108664293B (en) * 2018-05-16 2022-02-18 北京安云世纪科技有限公司 Application control method and device in android system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100989613B1 (en) 2009-12-08 2010-10-26 (주)제이모바일 Terminal device for executing android application based non-android flatform
KR101015573B1 (en) 2010-07-29 2011-02-16 (주)제이모바일 Device for executing android application based on rtos
KR20120006721A (en) * 2010-07-13 2012-01-19 아주대학교산학협력단 M2m sensor network system and communication method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100989613B1 (en) 2009-12-08 2010-10-26 (주)제이모바일 Terminal device for executing android application based non-android flatform
KR20120006721A (en) * 2010-07-13 2012-01-19 아주대학교산학협력단 M2m sensor network system and communication method
KR101015573B1 (en) 2010-07-29 2011-02-16 (주)제이모바일 Device for executing android application based on rtos

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문:LINKOPINGS UNIV. *

Also Published As

Publication number Publication date
KR20130085742A (en) 2013-07-30

Similar Documents

Publication Publication Date Title
CN105934916B (en) Orchestrating and managing services to deployed devices
RU2681351C1 (en) Method and means of managing an intellectual device for home use to download data, method and device for collecting data unloaded by intelligent device for home use
KR101850879B1 (en) Service enabler function
KR102368200B1 (en) Selection of code modules for device design
KR101971259B1 (en) Operation Management Device and Method to Upgrade Program installed Internet of Things Communication Module
US20160013974A1 (en) Methods and apparatus for rack deployments for virtual computing environments
JP7055200B2 (en) Computer processing methods, appliances, systems, and programs to access the gateway management console
Da Silva et al. Internet of things out of the box: using TOSCA for automating the deployment of IoT environments
CN108667639B (en) Resource management method and management server in private cloud environment
CN104754032A (en) Method and device for deploying OpenStack
US20180241813A1 (en) Systems and Methods for an Internet of Things Computing Shell
CN102346669A (en) Mobile terminal safety middleware system and method based on metadata
KR101335512B1 (en) M2M router device using Android-based common platform
Amirtharaj et al. Profiling and improving the duty-cycling performance of Linux-based IoT devices
WO2014058636A2 (en) Model-based configuration capture and replay in a converged infrastructure system to support remote troubleshooting
CN105843725A (en) Monitoring method and device of IaaS platform
US9894523B2 (en) Wireless device customization resources
KR20140121534A (en) Service providing method and system for processing information of node based on profile of node in instance hosting environment
US9047134B2 (en) System and method for increasing the capabilities of a mobile device
KR102357120B1 (en) Smartmeter installed middleware platform for function extension, smartmeter application management system and method using the same
US20110161954A1 (en) Image forming apparatus operating based on framework capable of sharing function among a plurality of bundles and method of installing bundle in image forming apparatus
US11216211B1 (en) Emulated block storage for devices
US20230289193A1 (en) Systems and methods for deploying a distributed containers-as-a-service platform architecture for telecommunications applications
KR20180096333A (en) Remote management of Smart meter Application equipped scalable DLMS/COSEM protocol
Escrich et al. WiBed, a platform for commodity wireless testbeds

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161114

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171116

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181107

Year of fee payment: 6