KR101335512B1 - 안드로이드 기반의 공용 플랫폼을 탑재한 m2m 라우터 장치 - Google Patents

안드로이드 기반의 공용 플랫폼을 탑재한 m2m 라우터 장치 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
English (en)
Other versions
KR20130085742A (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 주식회사 인프라웨어테크놀러지
Priority to KR1020120006770A priority Critical patent/KR101335512B1/ko
Publication of KR20130085742A publication Critical patent/KR20130085742A/ko
Application granted granted Critical
Publication of KR101335512B1 publication Critical patent/KR101335512B1/ko

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 라우터 장치를 제공한다.

Description

안드로이드 기반의 공용 플랫폼을 탑재한 M2M 라우터 장치{M2M router device using Android-based common platform}
본 발명은 다양한 M2M 디바이스에 공용으로 사용할 수 있는 안드로이드 기반의 하드웨어/소프트웨어 플랫폼을 제공하는 기술에 관한 것이다. 구체적으로는, 본 발명은 리눅스 이외의 네이티브 운영체제에서도 구동되도록 안드로이드를 경량화한 모뎀계층과 미들웨어 플랫폼으로 이루어진 공용 M2M 플랫폼을 구성함으로써 다양한 M2M 디바이스에 공용으로 사용할 수 있도록 하여 개발자는 개별 디바이스별로 커스텀 애플리케이션만 개발하면 충분하도록 하는 편리성을 제공하는 M2M 디바이스를 위한 안드로이드 기반의 공용 플랫폼 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 및 이를 사용하는 M2M 라우터 장치를 제공한다.
현재 기술의 발달로 인하여 장치 대 장치(Machine-to-Machine : M2M) 서비스에 대한 사용자들의 욕구가 증가하고 있다. M2M은 일반적인 유무선 네트워크상에서 일련의 유저 트래픽 데이터를 유무선 통신방식을 이용하여 M2M 모듈과 M2M 디바이스가 연동하여 기계간의 통신을 지원하는 원격 관리 및 제어 솔루션이다. 넓은 의미로는 전자장치 간의 유무선 통신이나 사람이 제어하는 장치와 기계 간의 통신을 의미하지만 최근에는 전자장치와 전자장치 간 즉, 기기 간의 무선 통신을 특별히 지칭하는 것이 일반적이다.
다시 말해 M2M이란 유무선 통신 방식을 이용하여 여러 디바이스 간, 일반적으로는 디바이스와 서버 사이의 데이터 전송을 위한 통신을 지원하는 원격 관리 및 제어 솔루션이다. 이러한 M2M은 통신 기능이 포함되어 있지 않은 디바이스에 M2M 전용의 모듈을 부착하는 형태로 구현된다. M2M 모듈에는 당해 연결하는 디바이스의 기능에 맞도록 다양한 어플리케이션(application)들이 설치되어 구동될 수 있으며 이를 통해 M2M의 목적을 달성한다.
일반적으로는 각종 센서 등의 전자장치(디바이스)에 무선 모뎀을 부착함으로써 원격지의 서버에서 당해 디바이스의 데이터를 받아보거나 그 디바이스를 제어할 수 있도록 한다. 원격검침이나 버스위치 원격 파악 등과 같은 기능을 달성하기 위해서 디바이스의 정보를 원격에서 수집하거나 필요한 경우에는 디바이스를 원격에서 직접 제어한다.
종래에는 특정의 분야에 M2M을 구현하려면 관련된 디바이스의 종류를 파악하고 그에 따라 M2M 무선모뎀과 관련 소프트웨어의 개발 작업에 착수하였다. 즉, [도 1]에 개념적으로 도시된 바와 같이 디바이스(110, 120, 130) 별로 개별적으로 하드웨어 플랫폼과 소프트웨어(111, 112; 121, 122; 131, 132)를 개발하여 사용한 것이다. 각각의 디바이스 별로 커스텀 소프트웨어(111, 121, 131)와 M2M 모뎀 관련 펌웨어/미들웨어(112, 122, 132)를 별도로 개발하는 것이다. 이처럼 나름대로 특정 디바이스에 맞춰서 각자 하드웨어 플랫폼과 소프트웨어를 개발해온 것이 종래기술의 일반적인 형태이다.
이처럼 개별적으로 하드웨어 플랫폼과 소프트웨어를 개발하는 종래기술에서는 M2M 디바이스의 개발비용이 많이 소요될 뿐만 아니라 이후의 유지보수나 기술지원 비용이 많이 소요된다는 문제점이 있다. 단일 프로젝트에 다수의 디바이스가 사용되는 경우라면 하드웨어 플랫폼과 소프트웨어 개발에 소요된 비용을 부담할 수 있으나 비교적 소수의 디바이스를 사용하는 프로젝트라면 도저히 그러한 비용을 부담할 수가 없다. 예를 들어, 프랜차이즈 사업을 이제 막 개시하여 아직 가맹점을 충분히 확보하지 못한 사업자라면 종래기술에서는 관련 하드웨어/소프트웨어 개발비를 부담할 형편이 못되거나 설사 부담할 수는 있더라도 사업규모를 감안할 때 적절하지 않다고 판단하기 마련이다.
이처럼 하드웨어/소프트웨어 개발의 비용이 과다하다는 문제점으로 인하여 M2M 기술이 장점이 많음에도 불구하고 다양한 분야에 널리 보급하는 데에 상당한 장애가 되고 있다. 그에 따라 이와 같은 종래기술의 문제점을 해결할 수 있는 기술개발이 요망되고 있다.
본 발명의 목적은 다양한 M2M 디바이스에 공용으로 사용할 수 있는 안드로이드 기반의 하드웨어/소프트웨어 플랫폼을 제공하는 기술을 제공하는 것이다. 구체적으로는, 리눅스 이외의 네이티브 운영체제에서도 구동되도록 안드로이드를 경량화한 모뎀계층과 미들웨어 플랫폼으로 이루어진 공용 M2M 플랫폼을 구성함으로써 다양한 M2M 디바이스에 공용으로 사용할 수 있도록 하여 개발자는 개별 디바이스별로 커스텀 애플리케이션만 개발하면 충분하도록 하는 편리성을 제공하는 M2M 디바이스를 위한 안드로이드 기반의 공용 플랫폼 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 및 이를 사용하는 M2M 라우터 장치를 제공하는 것이다.
이러한 목적을 달성하기 위하여, 본 발명에 따른 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);를 포함하여 구성된다.
본 발명에서 M2M 어플리케이션 프레임워크(422)는 M2M 제어센터(430)와의 네트워크 통신 연결을 관리하기 위한 컨넥션 매니저 라이브러리와 M2M 제어센터(430)로부터의 제어를 구현하기 위한 원격제어 및 원격 상태정보 수집 라이브러리를 포함하여 구성되는 것이 바람직하다. 또한, 본 발명은 외부 센서장치(410)의 M2M 어플리케이션을 구현하기 위한 센서 어플리케이션 계층(421);을 더 구비하여 이루어지는 것이 바람직하다.
이러한 목적을 달성하기 위하여, 본 발명에 따른 안드로이드 기반의 공용 플랫폼을 탑재한 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)를 포함하여 구성되는 것이 바람직하다.
본 발명의 공용 M2M 플랫폼 기술에 따르면 개별 디바이스에 대해 M2M을 위한 공용 플랫폼과 개발환경(SDK)를 제공함으로써 M2M 개발비용이 낮아져 소규모 프로젝트에서도 M2M 모듈을 편리하게 개발할 수 있고, 그에 따라 M2M 기술의 적용분야를 획기적으로 확대할 수 있는 장점이 있다. 종래기술에서는 디바이스 종류별로 M2M 개발을 개별적으로 진행하였기에 대량의 M2M 디바이스를 생산할 때에만 채산성이 맞았으며, 그로 인해 동일 모델의 M2M 디바이스의 갯수가 적은 경우에는 M2M 기술을 적용하는 것이 사실상 불가능하였다.
또한, 본 발명의 공용 M2M 플랫폼 기술에 따르면 리눅스 이외의 네이티브 운영체제에서도 구동되도록 안드로이드를 경량화한 모뎀계층과 미들웨어 플랫폼으로 이루어진 공용 M2M 플랫폼을 구성함으로써 모든 디바이스에 대해서 본 발명의 공용 플랫폼을 적용할 수 있도록 배려했다는 장점이 있다.
[도 1]은 종래기술에 따른 M2M 디바이스에서 하드웨어와 소프트웨어의 구성을 개념적으로 나타낸 도면.
[도 2]는 본 발명에 따른 M2M 디바이스에서 공용 플랫폼을 적용한 구성을 개념적으로 나타낸 도면.
[도 3]은 본 발명에 따라 구성된 M2M 서비스 시스템의 전체 구성을 개념적으로 나타낸 도면.
[도 4]는 본 발명에서 M2M 라우터의 소프트웨어 구성의 일 예를 상세하게 나타낸 도면.
[도 5]는 본 발명에서 M2M 라우터의 하드웨어 구성의 일 예를 나타낸 도면.
[도 6]은 본 발명에 따른 공용 M2M 플랫폼에서 제공하는 경량화된 API의 일 예를 나타낸 도면.
이하에서는 도면을 참조하여 본 발명을 상세하게 설명한다. 도면들 중 동일한 구성들은 가능한 한 어느 곳에서든지 동일한 부호들을 나타내고 있음을 유의하여야 한다. 또한, 하기 설명에서는 구체적인 특정 사항들이 나타내고 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들 없이도 본 발명이 실시될 수 있음은 이 기술 분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 상세한 설명을 생략한다.
[도 1]은 종래기술에 따른 M2M 디바이스에서 하드웨어와 소프트웨어의 구성을 개념적으로 나타낸 도면이고, [도 2]는 본 발명에 따른 M2M 디바이스에서 공용 플랫폼을 적용한 구성을 개념적으로 나타낸 도면이다. [도 1]과 비교하여 [도 2]에 나타낸 본 발명의 특징을 살펴본다.
[도 1]을 참조하면 종래기술에서는 디바이스(110, 120, 130) 별로 커스텀 소프트웨어(111, 121, 131)와 M2M 모뎀 관련 펌웨어/미들웨어(112, 122, 132)를 별도로 개발하였으며, 그에 따라 개발비용과 유지보수 비용이 상당히 많이 소요되는 문제점이 있었다.
반면, [도 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 제어센터(후술함)와 통신을 수행할 수 있도록 설계된 것이다.
본 발명의 구조에 따르면 M2M 서비스를 위하여 다양한 형태의 센서장치(214, 224, 234)를 채용하더라도 공용 M2M 플랫폼(240)을 채용하면서 단순히 커스텀 어플리케이션(211, 221, 231)만 디바이스별로 설계하면 된다. 예를 들어, 센서장치(214, 224, 234)로서 각각 카메라, 지문인식기, 가스검침기를 사용하더라도 공용 M2M 플랫폼(240)은 그대로 사용할 수 있으며, 단지 M2M 서비스를 위한 커스텀 어플리케이션(211, 221, 231)만 카메라, 지문인식기, 가스검침기를 위해 설계하면 되는 것이다.
[도 3]은 본 발명에 따라 구성된 M2M 서비스 시스템의 전체 구성을 개념적으로 나타낸 도면이다.
[도 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)를 구비한다.
먼저, 센서장치(214, 224, 234)는 M2M 서비스를 제공하기 위해 각종 데이터를 취득하는 장치로서, 예컨대 카메라, 지문인식기, 가스검침기 등과 같은 장치에 해당한다. 센서장치(214, 224, 234)는 외부 장치와 접속하기 위한 디지털 인터페이스(예: USB)를 구비하고 있다.
M2M 라우터(312, 322, 332)는 센서장치(214, 224, 234)를 외부의 M2M 제어센터(330)와 유무선 네트워크를 통해 연결시켜 줌으로써 센서장치(214, 224, 234)에 대해 M2M 서비스가 가능해지도록 한다. M2M 라우터(312, 322, 332)는 유무선 네트워크와의 연결 뿐만 아니라 M2M 서비스를 위한 각종 미들웨어와 바람직하게는 어플리케이션(APP)도 구비한다. 유무선 네트워크로는 유선랜이나 무선랜과 같은 네트워크 기술도 가능하고, CDMA, GSM, WCDMA, LTE, Wibro 등와 같은 각종의 이동통신 기술도 적용할 수 있다.
M2M 제어센터(330)는 이들 M2M 디바이스(210, 220, 230)를 제어하고 관리하며 원격으로 그 작동을 모니터링하는 서버이다. M2M 제어센터(330)는 M2M 디바이스(210, 220, 230)에 대하여 원격 제어, 원격 상태정보 수집, 통계 및 리포트, 결함 진단, 리셋(초기화), 소프트웨어 원격 업데이트, 환경 설정 등의 동작을 수행할 수 있다.
M2M 제어센터(330)는 M2M 제어콘솔(342)과 유무선 네트워크로 연결되어 있으며, 이를 통해 M2M 제어콘솔(342)은 직접 M2M 디바이스(210, 220, 230)를 모니터링하고 제어할 수 있으며, 이를 통해 M2M 디바이스(210, 220, 230)를 전반적으로 관리할 수 있다. M2M 제어센터(330)는 오픈 API를 제공하는데, 이를 통해 M2M 고객인터페이스(341)에서는 M2M 서비스를 통한 각종의 고객 서비스를 개발할 수 있게 된다.
[도 4]는 본 발명에서 M2M 라우터(420)의 소프트웨어 구성의 일 예를 상세하게 나타낸 도면이다. [도 4]를 참조하면, M2M 라우터(420)는 센서장치(410)와 M2M 제어센터(430) 사이를 매개하는 장치이다.
M2M 라우터(420)는 기본적인 시스템 동작을 위하여 네이티브 운영체제(426)와 네이티브 하드웨어 계층(427)을 구비한다. 또한, M2M 서비스를 위하여 M2M 라우터(420)는 본 발명에 따른 공용 M2M 플랫폼(450)과 센서 어플리케이션 계층(421)을 구비한다. 이때, 본 발명에 따른 공용 M2M 플랫폼(450)은 M2M 어플리케이션 프레임워크(422), Dalvik 가상머신(423), 네이티브 라이브러리(424), 포팅계층(425)를 구비하여 이루어지다.
먼저, 네이티브 운영체제(426)는 일반적으로는 M2M 라우터(420)에 사용하는 프로세서에 대응하여 임베디드 리얼타임 운영체제(Embeded Real-time OS)가 되며, 리눅스(Linux) 이외의 전용 운영체제가 사용될 것으로 예상된다. 안드로이드 플랫폼에서는 운영체제로서 리눅스가 사용될 것을 기본적으로 전제하고 있으나, 리눅스는 용량이 크고 소프트웨어가 매우 무겁기 때문에 M2M 라우터(420)에 채용하기에 매우 부적합하다. 따라서, 본 발명에서는 네이티브 운영체제(426)로서 리눅스 이외의 임베디드 리얼타임 운영체제를 가정한다.
네이티브 하드웨어 계층(427)은 M2M 라우터(420)에서 사용되는 각종 하드웨어를 위한 펌웨어 모듈을 포함하여 이루어진다.
공용 M2M 플랫폼(450)은 센서장치(410)에 M2M 서비스를 제공하기 위해 사용하는 공용의 소프트웨어로서, 본 발명에서는 안드로이드 기반으로 이루어진 것으로 가정한다. 안드로이드는 안정성이 검증되고 이미 개발자원을 많이 보유하고 있는 스마트폰용 플랫폼으로서, M2M 플랫폼에 필요한 센서, USB, 보안, 네트워크 관련 API가 이미 잘 정리되어 있다. 공용 M2M 플랫폼(450)은 M2M 어플리케이션 프레임워크(422), Dalvik 가상머신(423), 네이티브 라이브러리(424), 포팅계층(425)를 구비하여 이루어지며, 바람직하게는 안드로이드 오픈소스(Android Open Source)를 경량화시켜 구현할 수 있다.
포팅 계층(425)은 안드로이드 기반의 어플리케이션 프로그램이 리눅스 이외의 네이티브 운영체제(426)에서도 구동될 수 있도록 해주는 기능을 수행하며, 적응계층(adaptation layer)이라고 부를 수도 있다. 포팅 계층(425)은 파일 시스템, 메모리 할당, 디지털 인터페이스, 네트워크 통신, 기본 라이브러리, 타이머, 디바이스 제어 중 하나이상의 하드웨어 관리를 제공한다. 특히, 포팅 계층(425)은 안드로이드 기반의 실행을 위해 요구되는 M2M 라우터(420)의 하드웨어 관리용 리눅스 표준 API를 네이티브 운영체제(426)에 의존적인 코드를 활용하여 변환 제공한다. 즉, 안드로이드 기반 어플리케이션 프로그램에서는 리눅스 표준 API 기반으로 작성되므로, 포팅 계층(425)은 이들 리눅스 표준 API를 네이티브 운영체제(426)에서 제공하는 네이티브 API를 사용하여 구현한다.
Dalvik 가상머신(423)은 포팅 계층(425)에서 제공하는 리눅스 표준 API를 통해 M2M 라우터(420)의 하드웨어 리소스를 액세스하며, 이를 통해 플랫폼 독립형 모듈인 쓰레드 관리 모듈, 동적 라이브러리 관리 모듈, 외부 함수 인터페이스, 동기화 모듈, 메모리 관리 모듈 중 하나 이상을 이용하여 M2M 어플리케이션 프레임워크(422)의 안드로이드 클래스 라이브러리를 네이티브 운영체제(426) 상에서도 실행되도록 구현한다.
네이티브 라이브러리(424)는 포팅 계층(425)에서 제공하는 리눅스 표준 API를 통해 M2M 라우터(420)의 하드웨어 리소스를 액세스하며, 이를 통해 M2M 어플리케이션 프레임워크(422)의 안드로이드 클래스 라이브러리에 기반이 되는 각종의 기본 기능을 네이티브 운영체제(426) 상에서 제공한다.
M2M 어플리케이션 프레임워크(422)는 M2M 서비스를 제공하기 위한 다수의 안드로이드 클래스 라이브러리를 구비한다. 안드로이드 클래스 라이브러리는 기본적으로 센서장치(410)와 연결하기 위한 디지털 인터페이스 라이브러리와 원격지의 M2M 제어센터(430)와 연결하기 위한 네트워크 통신 라이브러리를 포함하는데, [도 4]를 참조하면 하드웨어 제어용 클래스 라이브러리(카메라, NFC, GPS, USB, 센서), 보안관련 클래스 라이브러리(PKI, SSL, TLS), 통신 프로토콜용 클래스 라이브러리(SIP, HTTP, TCP/IP)를 포함한다. 또한, M2M 어플리케이션 프레임워크(422)는 M2M 제어센터(430)와의 네트워크 통신 연결을 관리하기 위한 컨넥션 매니저 라이브러리와 M2M 제어센터(430)로부터의 제어를 구현하기 위한 원격제어 및 원격 상태정보 수집 라이브러리를 구비하는 것이 바람직하다.
센서 어플리케이션 계층(421)은 개별 센서장치(410)에 대해 개발자가 제공하려는 각종의 M2M 서비스를 구현하는 어플리케이션 프로그램으로서, [도 2]에서 커스텀 어플리케이션(211, 221, 231)에 대응된다. 센서 어플리케이션 계층(421)의 각종 M2M 어플리케이션은 공용 M2M 플랫폼(450)을 통해 구현되며, 최종적으로는 포팅 계층(425)을 통해 네이티브 운영체제(426) 상에서 실행된다.
이상 기술된 바와 같은 M2M 라우터(420)의 소프트웨어 구조에 따르면, 네이티브 운영체제(426)와 네이티브 하드웨어 계층(427), 그리고 공용 M2M 플랫폼(450)은 센서장치(410)의 종류 내지 소망하는 M2M 서비스와는 전혀 무관하다. 반면, 센서 어플리케이션 계층(421)은 센서장치(410)의 종류 내지 소망하는 M2M 서비스에 따라 개별적으로 개발되어야 한다. 따라서, 본 발명의 기술에 따르면 M2M 서비스를 구현하고자 할 때, 대부분의 소프트웨어를 그대로 사용하면서 센서 어플리케이션 계층(421)만 개발하면 되므로 개발과정에 매우 간편하고 비용도 적게 소요된다는 장점이 있다. 또한, 대부분이 공통된 부분이므로 유지보수의 면에서도 장점을 제공한다.
[도 5]는 본 발명에서 M2M 라우터(420)의 하드웨어 구성의 일 예를 나타낸 도면이다.
[도 5]를 참조하면, M2M 라우터(420)는 크게 어플리케이션 프로세서(AP) 보드(520)와 광역네트워크(WAN) 보드(530)로 이루어진다. AP 보드(520)는 USB 모듈(521)을 구비하여 외부의 센서장치(410)와 접속하고 어플리케이션 프로세서(522)를 구비하여 앞서 [도 4]를 참조하여 전술하였던 소프트웨어 동작을 구현한다. 또한, WAN 보드(530)는 RF 모듈(531)과 WAN 모뎀(532)을 구비하여 원격지의 M2M 제어센터(430)와의 네트워크 통신을 담당한다.
M2M 라우터(420)의 하드웨어 구성을 살펴보면 센서장치(410)의 종류와는 대부분 무관하다는 것을 알 수 있다. 따라서, 본 발명에 따르면 M2M 서비스를 제공하려는 센서장치(410)에 대해 미리 범용으로 마련해둔 M2M 라우터(420)를 범용직렬버스로 연결하고, 단지 어플리케이션 프로세서(522)의 소프트웨어 중에서 센서 어플리케이션 계층(421)만 작성하여 다운로드 설치하면 된다.
본 발명에서는 M2M 라우터(420)의 하드웨어가 범용이므로 미리 대량으로 마련하였다가 그때그때 사용할 수 있어 소규모 프로젝트라고 하더라도 M2M 라우터(420)의 가격이 여전히 낮게 유지될 수 있다. 또한, M2M 라우터(420)의 하드웨어를 범용으로 표준화할 수 있으므로 유지보수의 면에서도 유리하다.
[도 6]은 본 발명에 따른 공용 M2M 플랫폼(450)에서 제공하는 경량화된 API의 일 예를 나타낸 도면이다.
본 발명의 공용 M2M 플랫폼(450)은 안드로이드 기반으로 이루어진 것이나 구글 안드로이드 패키지에 포함된 모든 API가 필요한 것은 아니고, 일부분만으로도 충분히 M2M 서비스를 제공할 수 있다. 오히려 구글 안드로이드 패키지는 M2M 라우터(420)와 같은 소규모 임베디드 장치에 설치하기에는 다소 무거운 감이 있으므로 이를 경량화할 필요가 있다.
[도 6]은 이처럼 경량화한 API의 일 예를 나타낸다. [도 6]에 제시된 API만으로도 M2M 라우터(420)는 충분히 M2M 서비스를 제공할 수 있으며, 그 외의 API, 그리고 그 외의 API에만 관련된 프로그램 코드는 제거할 수 있으므로 공용 M2M 플랫폼(450)이 함께 경량화되는 장점이 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드의 형태로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 캐리어웨이브(예컨대, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산된 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인 프로그램, 코드, 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예가 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명하다.
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 : 네이티브 하드웨어 계층

Claims (6)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 외부의 센서장치(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 라우터 장치.
  5. 청구항 4에 있어서,
    상기 디지털 인터페이스 모듈(521)는 USB 모듈을 포함하여 구성되는 것을 특징으로 하는 안드로이드 기반의 공용 플랫폼을 탑재한 M2M 라우터 장치.
  6. 청구항 4에 있어서,
    상기 M2M 어플리케이션 프레임워크(422)는 상기 M2M 제어센터(430)와의 네트워크 통신 연결을 관리하기 위한 컨넥션 매니저 라이브러리와 상기 M2M 제어센터(430)로부터의 제어를 구현하기 위한 원격제어 및 원격 상태정보 수집 라이브러리를 포함하여 구성되는 것을 특징으로 하는 안드로이드 기반의 공용 플랫폼을 탑재한 M2M 라우터 장치.
KR1020120006770A 2012-01-20 2012-01-20 안드로이드 기반의 공용 플랫폼을 탑재한 m2m 라우터 장치 KR101335512B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120006770A KR101335512B1 (ko) 2012-01-20 2012-01-20 안드로이드 기반의 공용 플랫폼을 탑재한 m2m 라우터 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120006770A KR101335512B1 (ko) 2012-01-20 2012-01-20 안드로이드 기반의 공용 플랫폼을 탑재한 m2m 라우터 장치

Publications (2)

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

Family

ID=48995850

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120006770A KR101335512B1 (ko) 2012-01-20 2012-01-20 안드로이드 기반의 공용 플랫폼을 탑재한 m2m 라우터 장치

Country Status (1)

Country Link
KR (1) KR101335512B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101613372B1 (ko) * 2014-11-20 2016-04-29 서일대학교산학협력단 스마트 앱툴을 연동한 모듈형 플랫폼 키트
KR101703567B1 (ko) * 2016-03-31 2017-02-08 주식회사 대영산전 IoT기반 무선 주차관제시스템
CN108664293B (zh) * 2018-05-16 2022-02-18 北京安云世纪科技有限公司 安卓系统中的应用控制方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100989613B1 (ko) 2009-12-08 2010-10-26 (주)제이모바일 비안드로이드 플랫폼에서 안드로이드 어플리케이션을 실행하는 단말장치
KR101015573B1 (ko) 2010-07-29 2011-02-16 (주)제이모바일 Rtos 기반의 안드로이드 어플리케이션 실행 장치
KR20120006721A (ko) * 2010-07-13 2012-01-19 아주대학교산학협력단 M2m 센서 네트워크 시스템 및 통신 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100989613B1 (ko) 2009-12-08 2010-10-26 (주)제이모바일 비안드로이드 플랫폼에서 안드로이드 어플리케이션을 실행하는 단말장치
KR20120006721A (ko) * 2010-07-13 2012-01-19 아주대학교산학협력단 M2m 센서 네트워크 시스템 및 통신 방법
KR101015573B1 (ko) 2010-07-29 2011-02-16 (주)제이모바일 Rtos 기반의 안드로이드 어플리케이션 실행 장치

Non-Patent Citations (1)

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

Also Published As

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

Similar Documents

Publication Publication Date Title
CN105934916B (zh) 向所部署装置编制和管理服务
US20190097900A1 (en) Zero-configuration cluster and provisioning pipeline for heterogeneous computing nodes
KR101850879B1 (ko) 서비스 인에이블러 기능
KR102368200B1 (ko) 장치 설계를 위한 코드 모듈 선택
EP3249860A1 (en) Method, device, and program for management and orchestration of network functions virtualization
KR101971259B1 (ko) IoT 통신모듈에 설치된 프로그램을 업그레이드하는 운영관리 장치 및 그 구동방법
US20200319925A1 (en) Technologies for implementing consolidated device infrastructure systems
US20160013974A1 (en) Methods and apparatus for rack deployments for virtual computing environments
JP7055200B2 (ja) ゲートウェイ管理コンソールにアクセスするためのコンピュータ処理方法、装置、システム、およびプログラム
Da Silva et al. Internet of things out of the box: using TOSCA for automating the deployment of IoT environments
US11153376B2 (en) Systems and methods for an internet of things computing shell
CN102346669A (zh) 一种基于元数据的移动终端安全中间件系统及方法
KR101335512B1 (ko) 안드로이드 기반의 공용 플랫폼을 탑재한 m2m 라우터 장치
CN110582750A (zh) 用于任务调度和设备管理的系统和方法
Amirtharaj et al. Profiling and improving the duty-cycling performance of Linux-based IoT devices
EP2907032A2 (en) Model-based configuration capture and replay in a converged infrastructure system to support remote troubleshooting
CN105843725A (zh) 一种IaaS平台的监控方法及装置
US9894523B2 (en) Wireless device customization resources
KR20140121534A (ko) 인스턴스 호스팅 환경에서 노드의 프로파일에 기반하여 노드의 정보를 처리하기 위한 방법 및 시스템
US9047134B2 (en) System and method for increasing the capabilities of a mobile device
US11216211B1 (en) Emulated block storage for devices
KR102357121B1 (ko) 기능 확장용 미들웨어 플랫폼이 탑재된 전자식 전력량계, 이를 이용한 전력량계 애플리케이션 관리 시스템 및 그 방법
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
US20230289193A1 (en) Systems and methods for deploying a distributed containers-as-a-service platform architecture for telecommunications applications
Oproiu et al. 5G-Connected virtualized enterprise infrastructure for smart city

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