KR102034736B1 - M2m 통신용 관리 장치 및 방법 - Google Patents

M2m 통신용 관리 장치 및 방법 Download PDF

Info

Publication number
KR102034736B1
KR102034736B1 KR1020120121701A KR20120121701A KR102034736B1 KR 102034736 B1 KR102034736 B1 KR 102034736B1 KR 1020120121701 A KR1020120121701 A KR 1020120121701A KR 20120121701 A KR20120121701 A KR 20120121701A KR 102034736 B1 KR102034736 B1 KR 102034736B1
Authority
KR
South Korea
Prior art keywords
resource
transaction
information
master
master template
Prior art date
Application number
KR1020120121701A
Other languages
English (en)
Other versions
KR20130135009A (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 US13/905,887 priority Critical patent/US20130324121A1/en
Priority to CN201380003515.0A priority patent/CN103947157B/zh
Priority to PCT/KR2013/004740 priority patent/WO2013180476A1/ko
Publication of KR20130135009A publication Critical patent/KR20130135009A/ko
Application granted granted Critical
Publication of KR102034736B1 publication Critical patent/KR102034736B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

M2M 통신용 관리 장치 및 방법이 개시된다. 본 발명은, 기 저장되어 있는 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 통해 디바이스를 추상화하고 자원(resource)에 접근할 수 있는 인터페이스(interface)를 통해 M2M 통신(Machine-to-Machine communications)을 관리하며, 주기적으로 정보를 동기화한다. 본 발명에 따르면, 시스템의 확장성(scalability) 문제와 자원(resource)에 접근할 수 있는 인터페이스(interface)의 이종성(heterogeneity) 문제를 해결할 수 있고, 서비스 품질을 저해시키지 않고 네트워크 서비스 캐퍼빌러티 레이어(NSCL)의 부하를 최소화하면서 동기화를 수행할 수 있다.

Description

M2M 통신용 관리 장치 및 방법{Managing apparatus and method for Machine-to-Machine communications}
본 발명은 M2M 통신용 관리 장치 및 방법에 관한 것으로, 더욱 상세하게는 기 저장되어 있는 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 통해 디바이스를 추상화하고, 자원(resource)에 접근할 수 있는 인터페이스(interface)를 통해 M2M 통신(Machine-to-Machine communications)을 관리하며, 주기적으로 정보를 동기화하는 장치 및 방법에 관한 것이다.
사물과 장비 사이의 통신 서비스 활성화를 위해 국제 표준화 단체인 유럽 전기 통신 표준 협회(european telecommunications standards institute : ETSI)에서 ETSI M2M(Machine-to-Machine) 표준을 제정하고 있다. ETSI M2M 표준은 네트워크 어플리케이션(network application : NA), 디바이스 어플리케이션(device application : DA), 네트워크 서비스 캐퍼빌러티 레이어(network service capability layer : NSCL), 서비스 캐퍼빌러티 레이어(service capability layer : SCL) 등과 같은 개념을 정의하고 자원(resource)에 접근하는 URI(uniform resource identifier)를 REST(representational state transfer) 기반으로 표준화하여 서비스 개발의 편의성을 높이고 있다.
ETSI M2M 표준에는 표준을 따르지 않는 레거시 디바이스(legacy device)가 네크워크 서비스 캐퍼빌러티 레이어(NSCL)에 연결될 수 있다고 정의되어 있으나, 그 구체적인 방법에 대해서는 정의되어 있지 않다. 그러나, 현실 환경에서 다수의 디바이스는 레거시 디바이스(legacy device)이고, 이러한 레거시 디바이스(legacy device)가 네트워크 서비스 캐퍼빌러티 레이어(NSCL)에 연결될 때 다음과 같은 문제가 발생된다. 첫 번째 문제는 시스템의 확장성(scalability)에 대한 것으로, 하나의 네트워크 서비스 캐퍼빌러티 레이어(NSCL)에 다수의 디바이스가 연결되면 성능 저하가 발생될 수 있다. 두 번째 문제는 자원(resource)에 접근할 수 있는 인터페이스(interface)의 이종성(heterogeneity)에 대한 것으로, 같은 종류의 디바이스라고 해도 제조사나 모델마다 접근 인터페이스가 상이할 수 있다. 여기서, 이종성(heterogeneity) 문제는 형식(form)과 내용(semantics) 측면 모두에서 발생될 수 있다. 형식(form) 측면에서 보면 통신 프로토콜이 서로 상이할 수 있고, 내용(semantics) 측면에서 보면 페이로드(payload)에 담기는 내용을 작성하는 언어(namespace, taxonomy, grammar 등)가 서로 상이할 수 있다.
또한, 네트워크 서비스 캐퍼빌러티 레이어(NSCL)는 디바이스와 네트워크 어플리케이션(NA) 간의 원활한 통신을 위하여 읽기/쓰기 버퍼를 포함할 수 있다. 버퍼를 활용할 경우, 네트워크 어플리케이션(NA)이 디바이스로 보내려는 데이터나 디바이스가 네트워크 어플리케이션(NA)으로 보내는 데이터는 우선 이 버퍼에 저장된다. 이러한 방법에 의하면, 데이터의 가용성을 높이거나 중복 요청을 줄이는 효과를 얻을 수 있다. ETSI M2M 표준에 정의된 컨테이너(container) 관련 URI나 NIP(network interworking proxy) 등이 이 버퍼에 접근하는데 이용될 수 있다.
이러한 읽기/쓰기 버퍼를 이용하는 경우, 동기화 효율성은 전체 시스템 성능에 큰 영향을 미치게 된다. 하나의 네트워크 서비스 캐퍼빌러티 레이어(NSCL)에 다수의 네트워크 어플리케이션(NA)과 다수의 디바이스가 연결되는 상황에서, 동기화가 지나치게 높은 빈도로 일어난다면 네트워크 서비스 캐퍼빌러티 레이어(NSCL)가 구축된 시스템의 부하를 증가시키게 되고, 결과적으로 시스템 구축 비용을 증가시키게 된다. 이에 반면, 동기화가 지나치게 낮은 빈도로 일어난다면 시스템의 부하는 낮게 되지만 네트워크 어플리케이션(NA)이 원하는 메시지 전달 속도 등과 같은 요구 조건을 충족시키지 못할 수 있다. 따라서, 사용되는 패킷의 길이가 짧고 패킷의 개수는 많은 점, 디바이스의 사양이 다양한 점 등과 같은 M2M 통신이 가지는 특징을 고려하면서 효율적으로 동기화를 할 수 있는 방법이 필요하다.
KR 10-0998753 (주식회사 케이티) 2010. 11. 30. 특허문헌 1은 긴급 상황 알림 기능이 구비된 M2M 모듈, M2M 모듈과 선택적으로 연결되는 M2M 디바이스 및 그 구동 방법으로서, 특허문헌 1에는 연결된 M2M 디바이스에서 제공 가능한 데이터 포맷을 확인하고, 데이터 포맷을 가진 긴급 상황 알림 정보를 획득하기 위한 동작을 M2M 디바이스에 요구하여 M2M 디바이스로부터 긴급 상황 알림 정보를 수신하며, 긴급 상황 알림 정보를 필요한 조치를 취하도록 기능하는 서비스 서버에게 M2M 디바이스로부터 획득한 긴급 상황 알림 정보를 전송하는 내용이 개시되어 있다. KR 10-1048854 (주식회사 케이티) 2011. 7. 6. 특허문헌 2는 M2M 어플리케이션의 가입자 트래픽 데이터에 대한 서비스 제어 방법 및 그 시스템으로서, 특허문헌 2에는 선택적으로 연결되는 디바이스의 종류에 따른 인식정보와 디바이스에서 구동되는 어플리케이션의 성향정보를 확인하여 M2M 제어 서버로 전달하고, M2M 모듈로부터 수신되는 어플리케이션의 성향정보를 토대로 파악되는 가입자의 서비스 품질 기준정보에 기초하여 송수신되는 가입자 트래픽 데이터가 제한된 범위를 초과하지 않도록 제어하는 내용이 개시되어 있다.
본 발명이 이루고자 하는 기술적 과제는, 기 저장되어 있는 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 통해 디바이스를 추상화하고, 자원(resource)에 접근할 수 있는 인터페이스(interface)를 통해 M2M 통신(Machine-to-Machine communications)을 관리하며, 주기적으로 정보를 동기화하는 M2M 통신용 관리 장치 및 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 기술적 과제는, 기 저장되어 있는 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 통해 디바이스를 추상화하고, 자원(resource)에 접근할 수 있는 인터페이스(interface)를 통해 M2M 통신(Machine-to-Machine communications)을 관리하며, 주기적으로 정보를 동기화하는 M2M 통신용 관리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 M2M 통신용 관리 장치는, 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 저장하고 있는 저장부; 및 디바이스로부터 등록 요청 메시지를 수신하면, 상기 저장부에 기 저장되어 있는 상기 디바이스 마스터 템플릿(device master template)과 상기 저장부에 기 저장되어 있는 상기 자원 마스터 템플릿(resource master template)을 통해 상기 디바이스를 등록하는 등록부;를 포함한다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 M2M 통신용 관리 방법은, 디바이스로부터 등록 요청 메시지를 수신하는 단계; 및 기 저장되어 있는 디바이스 마스터 템플릿(device master template)과 기 저장되어 있는 자원 마스터 템플릿(resource master template)을 통해 상기 디바이스를 등록하는 단계;를 포함한다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 컴퓨터로 읽을 수 있는 매체는 상기한 방법 중 어느 하나를 컴퓨터에서 실행시키기 위한 프로그램을 기록한다.
본 발명에 따른 M2M 통신용 관리 장치 및 방법에 의하면, 기 생성하여 저장되어 있는 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 통해 디바이스는 M2M 통신(Machine-to-Machine communications) 서비스의 이용을 할 수 있다. 이에 따라, 새로운 디바이스가 출현하면, 새로운 디바이스에 대응되는 디바이스 마스터 엔트리(device master entry)와 자원 마스터 엔트리(resource master entry)를 생성하여 추가함으로써, 새로운 디바이스도 M2M 통신(Machine-to-Machine communications) 서비스를 이용할 수 있다. 따라서, 시스템의 확장성(scalability) 문제를 해결할 수 있다.
또한, 디바이스 통신 정보, 자원 내용(resource content)의 표현 형식 정보 및 자원 내용(resource content)의 표현에 사용되는 어휘 정보가 디바이스별로 저장되어 있는 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 통해 디바이스를 추상화하고 자원(resource)에 접근할 수 있는 인터페이스(interface)를 제공할 수 있다. 이에 따라, 동일한 디바이스라고 하더라도 제조사나 모델마다 인터페이스(interface)가 상이할 수 있지만, 본 발명에 따른 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 이용하면 인터페이스(interface)가 서로 상이한 디바이스도 M2M 통신(Machine-to-Machine communications) 서비스를 이용할 수 있다. 따라서, 자원(resource)에 접근할 수 있는 인터페이스(interface)의 이종성(heterogeneity) 문제를 해결할 수 있다.
또한, 네트워크 어플리케이션(NA)의 요구사항과 디바이스가 지원하는 트랜잭션 정보(TSD)를 이용하여 선택된 트랜잭션(transaction)만을 수행하여 동기화함으로써, 서비스 품질을 저해시키지 않고 네트워크 서비스 캐퍼빌러티 레이어(NSCL)의 부하를 최소화하면서 동기화를 수행할 수 있다. 이에 따라, 연결되는 디바이스의 개수가 증가함에 따라 발생되는 네트워크 서비스 캐퍼빌러티 레이어(NSCL)의 성능 요구를 줄일 수 있어, M2M 통신(Machine-to-Machine communications) 서비스에 필요한 인프라 구축 비용을 절감할 수 있다.
도 1은 본 발명의 바람직한 실시예에 따른 M2M 통신용 관리 장치를 설명하기 위한 블록도,
도 2는 본 발명의 바람직한 실시예에 따른 M2M 통신용 관리 장치의 구성을 보다 자세히 나타낸 블록도,
도 3은 본 발명의 바람직한 실시예에 따른 디바이스 마스터 엔트리의 일례를 나타낸 도면,
도 4는 본 발명의 바람직한 실시예에 따른 자원 마스터 엔트리의 일례를 나타낸 도면,
도 5는 본 발명의 바람직한 실시예에 따른 디바이스의 등록 동작을 설명하기 위한 도면,
도 6은 본 발명의 바람직한 실시예에 따른 가상 디바이스 인스턴스의 일례를 설명하기 위한 도면,
도 7은 본 발명의 바람직한 실시예에 따른 자원 청크 인스턴스의 일례를 설명하기 위한 도면,
도 8은 본 발명의 바람직한 실시예에 따른 동기화부의 구성을 보다 자세히 나타낸 블록도,
도 9는 본 발명의 바람직한 실시예에 따른 네트워크 어플리케이션의 요구사항의 일례를 설명하기 위한 도면,
도 10은 본 발명의 바람직한 실시예에 따른 디바이스에 대한 통합 주기의 일례를 설명하기 위한 도면,
도 11 및 도 12는 본 발명의 바람직한 실시예에 따른 트랜잭션 관리 동작을 설명하기 위한 도면,
도 13은 본 발명의 바람직한 실시예에 따른 디바이스 지원 트랜잭션 정보의 일례를 설명하기 위한 도면,
도 14는 본 발명의 바람직한 실시예에 따른 작업 요구 목록 정보를 구성하는 원소의 일례를 설명하기 위한 도면,
도 15는 본 발명의 바람직한 실시예에 따른 작업 요구 목록 정보의 일례를 설명하기 위한 도면,
도 16은 본 발명의 바람직한 실시예에 따른 디바이스 지원 트랜잭션 정보 중 푸시 이득 계산의 대상이 되는 트랜잭션의 일례를 설명하기 위한 도면,
도 17은 본 발명의 바람직한 실시예에 따른 디바이스 지원 트랜잭션 정보에 속한 트랜잭션에 대한 처리량 지표의 일례를 설명하기 위한 도면,
도 18은 본 발명의 바람직한 실시예에 따른 트랜잭션 선택 동작의 일례를 설명하기 위한 도면,
도 19는 본 발명의 바람직한 실시예에 따른 M2M 통신용 관리 방법을 설명하기 위한 흐름도, 그리고,
도 20은 본 발명의 바람직한 실시예에 따른 동기화 방법을 보다 자세히 설명하기 위한 흐름도이다.
이하에서 첨부한 도면을 참조하여 본 발명에 따른 M2M 통신용 관리 장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 M2M 통신용 관리 장치를 설명하기 위한 블록도이다.
도 1을 참조하면, 본 발명에 따른 M2M 통신용 관리 장치(100)는 통신망(300)을 통해 복수의 디바이스(200-1 내지 200-n)와 연결될 수 있다.
M2M 통신용 관리 장치(100)는 M2M 통신(Machine-to-Machine communications)에 이용되는 장치로서, 디바이스의 등록(registration), 디바이스를 위한 자원(resource) 접근 인터페이스(interface) 등을 제공한다. M2M 통신용 관리 장치(100)는 유럽 전기 통신 표준 협회(ETSI)에서 제정한 M2M(Machine-to-Machine) 표준에 정의된 "네트워크 서비스 캐퍼빌러티 레이어(NSCL)"과 "네트워크 어플리케이션(NA)"에 대응된다.
여기서, 네트워크 서비스 캐퍼빌러티 레이어(NSCL)는 일종의 서비스 플랫폼으로서, 통신 및 자원 접근을 제공한다. 그리고, 네트워크 어플리케이션(NA)은 네트워크 서비스 캐퍼빌러티 레이어(NSCL)에 등록된 M2M(Machine-to-Machine) 응용으로서, 네트워크 서비스 캐퍼빌러티 레이어(NSCL) 및 다른 서비스 캐퍼빌러티 레이어(SCL)를 활용하여 사용자에게 서비스를 제공한다. 즉, 네트워크 서비스 캐퍼빌러티 레이어(NSCL)를 통해 디바이스의 등록(registration)이 이루어지고 네트워크 어플리케이션(NA)과 디바이스 어플리케이션(DA) 사이의 데이터 송수신이 이루어진다. 그리고, 네트워크 서비스 캐퍼빌러티 레이어(NSCL)를 통해 네트워크 어플리케이션(NA)이나 디바이스 어플리케이션(DA)의 요구에 따라 데이터 동기화가 이루어진다.
또한, 네트워크 어플리케이션(NA)의 내부에는 자원(resource)들이 선언되어 있다. 선언된 자원(declared resource)들은 네트워크 어플리케이션(NA)이 동작할 때 접근하는 자원(resource)이 무엇인지에 대한 내용을 나타낸다. 예컨대, 선언된 자원(declared resource)들은 네트워크 어플리케이션(NA)의 명세서나 소스코드에 기술되어 있다. 즉, 네트워크 어플리케이션(NA)을 작성할 때 자원(resource)은 접근 가능한 변수 또는 객체로 취급될 수 있는데, 나중에 네트워크 어플리케이션(NA)이 실행되어 실제 디바이스들과 연결될 때 변수 또는 객체에 디바이스의 자원(resource)들이 연결되어 네트워크 어플리케이션(NA)은 작업을 수행하게 된다. 이와 같은 변수 또는 객체가 네트워크 어플리케이션(NA)에서 선언된 자원(declared resource)을 나타낸다.
디바이스(200-1 내지 200-n)는 M2M 통신(Machine-to-Machine communications)을 요청하는 장치로서, 온도 조절 장치, 냉방기, 난방기, 텔레비전 등이 있다. 디바이스(200-1 내지 200-n)는 ETSI M2M 표준을 따르는 표준 디바이스(standard device)이거나 ETSI M2M 표준을 따르지 않는 소유 디바이스(proprietary device)일 수 있다. 디바이스(200-1 내지 200-n) 는 유럽 전기 통신 표준 협회(ETSI)에서 제정한 M2M(Machine-to-Machine) 표준에 정의된 "디바이스 어플리케이션(DA)"에 대응된다.
디바이스(200-1 내지 200-n)는 M2M 통신(Machine-to-Machine communications)을 하기 위해 자신의 등록을 M2M 통신용 관리 장치(100)에 요청한다.
통신망(300)은 구내 정보 통신망(local area network : LAN), 도시권 통신망(metropolitan area network : MAN), 광역 통신망(wide area network : WAN), 인터넷 등을 포함하는 데이터 통신망뿐만 아니라 방송망, 전화망 등을 포함할 수 있고, 유선과 무선을 가리지 않으며, 어떠한 통신 방식을 사용하더라도 무방하다.
도 2는 본 발명의 바람직한 실시예에 따른 M2M 통신용 관리 장치의 구성을 보다 자세히 나타낸 블록도이다.
도 2를 참조하면, M2M 통신용 관리 장치(100)는 저장부(110), 등록부(130) 및 동기화부(150)를 포함한다.
저장부(110)는 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 저장하고 있다. 또한, 저장부(110)는 읽기/쓰기 버퍼(read/write buffer)와 같은 데이터 저장공간을 구비할 수 있다. 읽기/쓰기 버퍼는 네트워크 어플리케이션(NA)과 디바이스 사이의 원활한 통신을 위해 이용된다.
여기서, 디바이스 마스터 템플릿(device master template)은 복수의 디바이스 마스터 엔트리(device master entry)로 구성된다. 디바이스 마스터 엔트리(device master entry)는 디바이스 제조사 식별 정보, 디바이스 식별 정보, 디바이스 통신 정보 및 디바이스 자원 정보를 포함한다.
디바이스 제조사 식별 정보는 디바이스의 제조사를 식별할 수 있는 고유 코드로서, 제조사 명칭, GTIN(global trade item number) 코드 등이 있다. 디바이스 식별 정보는 디바이스를 식별할 수 있는 고유 코드로서, 디바이스의 일련 번호(serial number), 디바이스의 구동 코드(activation code) 등이 있다. 디바이스 통신 정보는 M2M 통신용 관리 장치(100)가 디바이스에 접근하기 위한 주소 정보, 경로 정보 등을 말한다.
디바이스 자원 정보는 디바이스에서 지원하는 자원(resource)에 대한 정보로서, 자원(resource)의 종류(type), 제어 가능 여부 및 디바이스 내부에서 식별 가능한 고유한 자원(resource) 식별 정보를 포함한다. 여기서, 자원(resource)의 종류(type)는 아래에서 설명할 해당 자원 마스터 엔트리(resource master entry)에 정의된 어휘를 사용한다.
도 3은 본 발명의 바람직한 실시예에 따른 디바이스 마스터 엔트리의 일례를 나타낸 도면이다.
예컨대, 온도와 습도의 측정이 가능한 냉난방기에 대응되는 디바이스 마스터 엔트리(device master entry)는 아래와 같다.
도 3을 참조하면, 디바이스 제조사 식별 정보는 태그 "manufacturer"를 통해 제조사를 식별할 수 있는 고유 코드인 제조사 명칭 "A-Company"로 구성된다. 디바이스 식별 정보는 태그 "serial-number-pool 및 serial-number"를 통해 디바이스를 식별할 수 있는 고유 코드인 일련 번호 "102-8364-02934, 107-8364-63456, 795-5846-11634 등"으로 구성된다. 디바이스 통신 정보는 태그 "communication, protocol 등"을 통해 디바이스에 접근하기 위한 정보인 프로토콜 유형 "IPv4" 등으로 구성된다.
디바이스 자원 정보는 태그 "resources 및 resource"를 통해 디바이스에서 지원하는 자원(resource)에 대한 정보인 "온도 및 습도"로 구성된다. 여기서, 디바이스 자원 정보는 각 자원(resource) 별로 속성(attribute) "type"을 통해 자원(resource)의 종류(type)인 "temperature 또는 humidity"가 표현되고, 속성(attribute) "assignable"을 통해 제어 가능 여부인 "yes 또는 no"가 표현되며, 속성(attribute) "id 및 name"을 통해 디바이스 내부에서 식별 가능한 고유한 자원(resource) 식별 정보인 "1-Measured Temperature, 2-Measured Humidity 또는 3-Target Temperature"가 표현된다.
그리고, 자원 마스터 템플릿(resource master template)은 복수의 자원 마스터 엔트리(resource master entry)로 구성된다. 자원 마스터 엔트리(resource master entry)는 자원 내용(resource content)의 표현 형식 정보 및 자원 내용(resource content)의 표현에 사용되는 어휘 정보를 포함한다. 여기서, 자원 내용(resource content)는 디바이스에서 측정/관측/제어 가능한 자원(resource)의 내용(content)을 나타낸다. 자원(resource)은 ETSI M2M 표준에 정의된 RESTful URI 구조에서 "<container>"에 대응된다. 예컨대, 온도 센서가 구비된 냉방기의 경우, 냉방기의 자원 내용(resource content)에는 온도 측정 값(측정 가능한 내용), 목표 온도 값(제어 가능한 내용) 등이 있다.
자원 내용(resource content)의 표현 형식(representation format) 정보는 XML(extensible markup language), JSON(javascript object notation) 등과 같은 표준화된 표현 언어에 대한 정보를 말한다. 예컨대, DTD(document type definition)로 XML 표현 형식을 정의할 수 있다.
자원 내용(resource content)의 표현에 사용되는 어휘(taxonomy 및/또는 namespace) 정보는 자원 내용(resource content)을 표현하기 위한 다양한 용어 중 해당 자원 내용(resource content)의 표현에 사용되도록 설정된 용어에 대한 정보를 말한다.
도 4는 본 발명의 바람직한 실시예에 따른 자원 마스터 엔트리의 일례를 나타낸 도면이다.
도 4를 참조하면, 자원 마스터 엔트리(resource master entry)는 자원 내용(resource content)의 표현 형식(representation format) 정보와 자원 내용(resource content)의 표현에 사용되는 어휘(taxonomy 및/또는 namespace) 정보로 이루어진다.
자원 내용(resource content)의 표현 형식(representation format) 정보에는 DTD(document type definition) 언어를 통해 자원 내용(resource content)의 표현 형식(representation format)인 "type, value 및 unit"이 정의되어 있다.
자원 내용(resource content)의 표현에 사용되는 어휘(taxonomy 및/또는 namespace) 정보에는 DTD(document type definition) 언어를 통해 표현된 형식에서 자원 내용(resource content)의 표현에 사용되는 어휘(taxonomy 및/또는 namespace)가 지정되어 있는 부분인 "PCDATA"가 정의되어 있다. 예컨대, 온도 값을 위한 자원 마스터 엔트리(resource master entry)는 필드 "type"에 "temperature"로, 필드 "value"에 "숫자 값"으로, 필드 "unit"에 "celsius"로 이루어질 수 있다. 습도 값을 위한 자원 마스터 엔트리(resource master entry)는 필드 "type"에 "humidity"로, 필드 "value"에 "숫자 값"으로, 필드 "unit"에 "percent"로 이루어질 수 있다.
등록부(130)는 제1디바이스(200-1)로부터 등록 요청 메시지를 수신하면, 저장부(110)에 기 저장되어 있는 디바이스 마스터 템플릿(device master template)과 저장부(110)에 기 저장되어 있는 자원 마스터 템플릿(resource master template)을 통해 제1디바이스(200-1)를 등록한다. 여기서, 등록 요청 메시지는 디바이스 제조사 식별 정보, 디바이스 식별 정보 등을 포함한다. 즉, 등록부(130)는 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 통해 제1디바이스(200-1)에 대응되는 가상 디바이스 인스턴스(virtualized device instance)와 자원 청크 인스턴스(resource chunk instance)를 생성하여 저장부(110)에 저장함으로써, 제1디바이스(200-1)를 등록한다.
보다 자세하게는, 등록부(130)는 제1디바이스(200-1)로부터 수신한 등록 요청 메시지에 포함된 디바이스 제조사 식별 정보, 디바이스 식별 정보 등을 이용하여 저장부(110)에 저장되어 있는 디바이스 마스터 템플릿(device master template)에서 제1디바이스(200-1)에 대응되는 디바이스 마스터 엔트리(device master entry)를 검색한다. 그리고, 등록부(130)는 제1디바이스(200-1)에 대응되는 디바이스 마스터 엔트리(device master entry)를 통해 제1디바이스(200-1)에 대응되는 가상 디바이스 인스턴스(virtualized device instance)를 생성한다. 여기서, 가상 디바이스 인스턴스(virtualized device instance)는 디바이스 마스터 엔트리(device master entry) 식별 정보, 디바이스 식별 정보, 디바이스 통신 정보, 자원 청크 인스턴스(resource chunk instance) 식별 정보 등을 포함한다.
아울러, 등록부(130)는 제1디바이스(200-1)에 대응되는 디바이스 마스터 엔트리(device master entry)에 포함된 디바이스 자원 정보를 통해 저장부(110)에 기 저장되어 있는 자원 마스터 템플릿(resource master template)에서 해당하는 자원 마스터 엔트리(resource master entry)를 검색한다. 그리고, 등록부(130)는 검색된 자원 마스터 엔트리(resource master entry)를 통해 적어도 하나의 자원 청크 인스턴스(resource chunk instance)를 생성한다. 여기서, 생성되는 자원 청크 인스턴스(resource chunk instance)의 개수는 검색된 자원 마스터 엔트리(resource master entry)의 개수와 동일하다. 자원 청크 인스턴스(resource chunk instance)는 서로 동일한 자원 마스터 엔트리(resource master entry)로부터 생성된 적어도 하나의 자원 내용(resource content)을 포함한다.
이때, 등록부(130)는 제1디바이스(200-1)의 자원 청크 인스턴스(resource chunk instance)에 포함된 자원 내용(resource content)을 자원 내용 헤드 데이터(resource content head data)와 자원 내용 바디 데이터(resource content body data)로 구분하여 저장부(110)에 저장할 수 있다. 여기서, 자원 내용 헤드 데이터(resource content head data)는 자원 내용(resource content)의 메타 데이터(meta data)를 나타낸다. 예컨대, 메타 데이터(meta data)는 자원 내용(resource content) 식별 정보, 자원(resource)의 종류(type) 등을 포함할 수 있다. 자원 내용 바디 데이터(resource content body data)는 실제 데이터를 나타낸다.
즉, 등록부(130)는 자원 내용 헤드 데이터(resource content head data)와 자원 내용 바디 데이터(resource content body data)를 서로 독립적으로 저장하여 구분할 수 있다. 예컨대, 등록부(130)는 관계형 DBMS(relational DBMS)에 디바이스 마스터 템플릿(device master template), 자원 마스터 템플릿(resource master template), 가상 디바이스 인스턴스(virtualized device instance) 및 자원 청크 인스턴스(resource chunk instance)의 자원 내용 헤드 데이터(resource content head data)를 저장하고, NoSQL DBMS에 자원 청크 인스턴스(resource chunk instance)의 자원 내용 바디 데이터(resource content body data)를 저장할 수 있다.
또한, 등록부(130)는 제1디바이스(200-1)에 대응되는 가상 디바이스 인스턴스(virtualized device instance)와 제1디바이스(200-1)의 자원 청크 인스턴스(resource chunk instance)를 저장부(110)에 저장한다.
도 5는 본 발명의 바람직한 실시예에 따른 디바이스의 등록 동작을 설명하기 위한 도면이다.
도 5를 참조하면, 디바이스 #A가 M2M 통신용 관리 장치(100)에 등록 요청을 하면, 등록부(130)는 디바이스 #A로부터 수신한 등록 요청 메시지에 포함된 디바이스 제조사 식별 정보, 디바이스 식별 정보 등을 이용하여 저장부(110)에 기 저장되어 있는 디바이스 마스터 템플릿(DM)에서 디바이스 #A에 대응되는 디바이스 마스터 엔트리(DME_1 내지 DME_J 중 하나)를 검색하고, 검색된 디바이스 마스터 엔트리를 통해 디바이스 #A에 대응되는 가상 디바이스 인스턴스(VD_A)를 생성하여 저장부(110)에 저장한다.
도 6은 본 발명의 바람직한 실시예에 따른 가상 디바이스 인스턴스의 일례를 설명하기 위한 도면이다.
예컨대, 디바이스 #A가 온도와 습도의 측정이 가능한 냉난방기이고, 디바이스 #A의 제조사는 "A-Company"이며, 디바이스 #A의 일련 번호(serial number)는 "107-8364-63456"이고, IP 주소 "10.1.1.2"에서 디바이스 #A의 등록이 요청된 경우에 생성된 디바이스 #A에 대응되는 가상 디바이스 인스턴스(virtualized device instance)는 아래와 같다.
도 6을 참조하면, 디바이스 마스터 엔트리(device master entry) 식별 정보는 태그 "device-master-entry-number"를 통해 디바이스 #A에 대응되는 가상 디바이스 인스턴스(virtualized device instance)를 생성하는 데 이용된 디바이스 마스터 엔트리(device master entry)의 식별 정보인 "11"로 구성된다.
디바이스 식별 정보는 태그 "serial-number"를 통해 디바이스 #A의 식별 정보인 "107-8364-63456"로 구성된다.
디바이스 통신 정보는 태그 "communication, ipv4 등"을 통해 디바이스 #A의 통신 정보인 "10.1.1.2"로 구성된다.
자원 청크 인스턴스(resource chunk instance) 식별 정보는 태그 "resource-chunks 및 resource-chunk"를 통해 디바이스 #A에서 지원하는 자원(resource)에 대해 생성된 자원 청크 인스턴스(resource chunk instance)의 식별 정보인 "11111, 12222 및 13333"로 구성된다.
다시 도 5를 참조하면, 디바이스 #A에 대응되는 가상 디바이스 인스턴스(VD_A)를 생성하는 것과 동시에, 등록부(130)는 디바이스 #A에 대응되는 디바이스 마스터 엔트리에 포함된 디바이스 자원 정보를 통해 저장부(110)에 기 저장되어 있는 자원 마스터 템플릿(RM)에서 해당하는 자원 마스터 엔트리(RME_1 내지 REM_K 중 적어도 하나)를 검색하고, 검색된 자원 마스터 엔트리를 통해 디바이스 #A의 자원 청크 인스턴스(RC_A_1 내지 RC_A_m)를 생성하여 저장부(110)에 저장한다.
도 7은 본 발명의 바람직한 실시예에 따른 자원 청크 인스턴스의 일례를 설명하기 위한 도면이다.
예컨대, 자원 내용(resource content)을 "온도 측정 값"으로 하는 자원 마스터 엔트리(resource master entry)를 통해 생성된 자원 청크 인스턴스(resource chunk instance)는 아래와 같은 자원 내용(resource content)으로 이루어진다.
도 7를 참조하면, 자원 내용(resource content)은 태그 "type"을 통해 자원(resource)의 종류(type)인 "temperature"가, 태그 "value"를 통해 측정 값인 "35.5"가, 태그 "unit"을 통해 값의 단위인 "celsius"가 표현된다.
이와 같이, 등록부(130)는 등록을 요청한 디바이스(200-1 내지 200-n) 각각에 대응되는 가상 디바이스 인스턴스(virtualized device instance)와 자원 청크 인스턴스(resource chunk instance)를 생성하여 저장함으로써, 등록을 요청한 디바이스(200-1 내지 200-n)를 등록한다.
동기화부(150)는 제1디바이스(200-1)와 메시지를 주고 받으며 저장부(110)에 저장된 제1디바이스(200-1)의 자원 청크 인스턴스(resource chunk instance)와 제1디바이스(200-1)의 자원 청크 인스턴스(resource chunk instance)에 대응되는 제1디바이스(200-1) 내의 정보를 동기화한다. 즉, 동기화부(150)는 제1디바이스(200-1)에 대응되는 가상 디바이스 인스턴스(virtualized device instance)의 상태가 변경되면 제1디바이스(200-1)에도 반영하고, 제1디바이스(200-1)의 상태가 변경되면 제1디바이스(200-1)에 대응되는 가상 디바이스 인스턴스(virtualized device instance)에도 반영한다.
도 8은 본 발명의 바람직한 실시예에 따른 동기화부의 구성을 보다 자세히 나타낸 블록도이다.
도 8을 참조하면, 동기화부(150)는 요구사항 관리부(151), 트랜잭션 관리부(153), 트랜잭션 선택부(155) 및 트랜잭션 실행부(157)를 포함한다.
요구사항 관리부(151)는 복수의 네트워크 어플리케이션(NA) 각각에서 특정 디바이스로 향하는 주기적인 읽기/쓰기에 대한 요구사항을 관리한다. 즉, 요구사항 관리부(151)는 네트워크 어플리케이션(NA)의 요구사항이 특정 디바이스에 어떻게 반영되는지에 대한 정보를 파악하고 유지한다. 또한, 요구사항 관리부(151)는 필요한 경우 트랜잭션 관리부(153) 및 트랜잭션 선택부(155)에 작업을 요청한다.
보다 자세하게 설명하면, 요구사항 관리부(151)는 새로운 네트워크 어플리케이션(NA)이 네트워크 서비스 캐퍼빌러티 레이어(NSCL)에 등록되거나 기 등록된 네트워크 어플리케이션(NA)이 변경되면, 네트워크 어플리케이션(NA)에서 선언된 각각의 자원(resource)에 대하여 읽기/쓰기 주기(read/write period)를 계산하고 업데이트한다.
여기서, 읽기/쓰기 주기는 네트워크 서비스 캐퍼빌러티 레이어(NSCL)상의 네트워크 어플리케이션(NA) 등록정보에서 추출될 수 있다. 예컨대, 네트워크 어플리케이션(NA) 등록정보에는 네트워크 어플리케이션(NA)을 정의한 명세서, 네트워크 어플리케이션(NA) 소스코드 등이 있다. 또한, 읽기/쓰기 주기는 네트워크 어플리케이션(NA)의 요청을 모니터링한 통계정보를 기반으로 결정될 수 있다. 예컨대, 특정 자원(resource)에 대한 읽기 요청의 시간 간격의 평균, 이동 평균(moving average), 상위값 평균 등을 주기로 결정할 수 있다.
한편, 특정한 하나의 자원(resource)의 주기를 결정하는데 복수개의 기준값이 존재하면, 가장 작은 기준값을 해당 자원(resource)의 주기로 결정한다. 예컨대, 네트워크 어플리케이션(NA) 등록정보에 의하면 특정 자원(resource)에 대한 읽기 주기로 5초 또는 3초를 요구하고, 통계정보에 의하면 읽기 주기가 10초인 경우, 해당 자원(resource)의 읽기 주기는 3초로 결정된다.
정리하면, 요구사항 관리부(151)는 다음의 [수학식 1]을 통해 네트워크 어플리케이션(NA)에 선언된 자원 X에 대한 읽기/쓰기 주기를 계산한다.
Figure 112012089074106-pat00001
도 9는 본 발명의 바람직한 실시예에 따른 네트워크 어플리케이션의 요구사항의 일례를 설명하기 위한 도면이다.
네트워크 서비스 캐퍼빌러티 레이어(NSCL) 상에서 실행되는 2개의 네트워크 어플리케이션(NA)인 NA1과 NA2가 있으며, NA1은 3개의 자원(A, B, C)을 선언하고 NA2는 4개의 자원(A, B, C, D)을 선언하고 있다고 가정하면, 요구사항 관리부(151)는 도 9에 도시된 바와 같이 각 NA가 선언하는 자원 및 해당 자원에 대한 읽기/쓰기 주기(NARP, NAWP)에 대한 정보를 추출하여 유지할 수 있다.
그리고, 요구사항 관리부(151)는 네트워크 어플리케이션(NA)이 신규로 실행되어 디바이스와 연결되거나, 디바이스와 연결되어 기 실행중인 네트워크 어플리케이션(NA)의 자원(resource)에 대한 읽기 주기(NARP) 또는 쓰기 주기(NAWP)가 변화되거나, 디바이스와 연결되어 기 실행중인 네트워크 어플리케이션(NA)이 종료되면, 읽기 주기(NARP) 및 쓰기 주기(NAWP)를 이용하여 디바이스의 각각의 자원(resource)에 대하여 통합 읽기/쓰기 주기(merged read/write period)를 계산하고 업데이트한다.
여기서, 통합 읽기 주기(merged read period : MRP) 및 통합 쓰기 주기(merged write period : MWP)는 디바이스의 자원(resource)에 대하여 계산된다. 이에 반면, 읽기 주기(NARP) 및 쓰기 주기(NAWP)는 네트워크 어플리케이션(NA)에 선언된 자원(declared resource)에 대하여 각각 계산된다.
예컨대, 특정 디바이스의 자원 Y의 통합 읽기 주기(MRP)는 현재 실행중인 모든 네트워크 어플리케이션(NA)이 선언한 자원(resource)들 중 자원 Y로 연결되는 자원(resource)들의 읽기 주기(NARP)의 최소값으로 결정된다. 통합 쓰기 주기(MWP)도 이와 같은 방법으로 결정된다. 여기서, 현재 실행중인 모든 네트워크 어플리케이션(NA)이란 새롭게 실행되는 네트워크 어플리케이션(NA)과 기 실행중인 네트워크 어플리케이션(NA) 모두를 말한다.
정리하면, 요구사항 관리부(151)는 다음의 [수학식 2]를 통해 특정 디바이스의 자원 Y에 대한 통합 읽기/쓰기 주기를 계산한다.
Figure 112012089074106-pat00002
도 10은 본 발명의 바람직한 실시예에 따른 디바이스에 대한 통합 주기의 일례를 설명하기 위한 도면이다.
디바이스 D1이 2개의 자원(R1, R2)을 가지고 있고, NA1이 실행되어 NA1의 자원 B 및 C가 디바이스 D1의 자원 R1 및 R2에 각각 연결되며, NA2가 실행되어 NA2의 자원 A 및 C가 디바이스 D1의 자원 R1 및 R2에 각각 연결되어 있다고 가정하면, 요구사항 관리부(151)는 도 10에 도시된 바와 같이 디바이스 D1에 대한 통합 읽기/쓰기 주기(MRP, MWP)에 대한 정보를 계산하여 유지할 수 있다.
또한, 요구사항 관리부(151)는 새롭게 계산한 통합 읽기/쓰기 주기가 기존의 통합 읽기/쓰기 주기와 다르면, 트랜잭션 관리부(153) 및 트랜잭션 선택부(155)에 작업을 요청한다. 즉, 요구사항 관리부(151)는 추가, 변경, 삭제 등의 요구사항 변경이 발생되면 트랜잭션 관리부(153) 및 트랜잭션 선택부(155)에 작업을 요청한다. 예컨대, 요구사항 관리부(151)는 네트워크 어플리케이션(NA)에서 디바이스로 향하는 주기적인 읽기/쓰기에 대한 요구사항을 트랜잭션 관리부(153)나 트랜잭션 선택부(155)에 제공하면서 작업을 요청할 수 있다.
트랜잭션 관리부(153)는 디바이스가 지원하는 트랜잭션(transaction)을 파악하고 관리한다. 즉, 트랜잭션 관리부(153)는 디바이스가 지원하는 메시지 형식이나 통신 방식을 파악하고 업데이트한다.
다시 말하면, 트랜잭션 관리부(153)는 네트워크 서비스 캐퍼빌러티 레이어(NSCL)에 등록된 디바이스가 변경(신규 등록, 변경, 삭제 등)되거나, 요구사항 관리부(151)의 작업 요청이 있으면, 네트워크 서비스 캐퍼빌러티 레이어(NSCL)와 디바이스 사이에 일어날 수 있는 트랜잭션(transaction)의 종류를 파악하고 업데이트한다.
여기서, 트랜잭션(transaction)은 송신자가 수신자에게 메시지를 한번 송신하는 것 또는 송신자가 수신자에게 메시지를 한번 송신하여 이에 대한 응답 메시지를 받는 것을 말한다. 그리고, 디바이스의 등록이나 변경은 물리적으로 디바이스가 네트워크 서비스 캐퍼빌러티 레이어(NSCL)에 연결되는 것뿐만 아니라 디바이스 식별 정보가 변경되는 것도 포함한다. 예컨대, 디바이스 제조사가 네트워크 서비스 캐퍼빌러티 레이어(NSCL)에 연결될 수 있는 신제품을 출시하거나 기존 제품의 사양을 변경하는 경우에 디바이스 식별 정보가 변경될 수 있다.
이때, 디바이스와 네트워크 서비스 캐퍼빌러티 레이어(NSCL) 사이에 일어나는 트랜잭션(transaction)은 디바이스에서 읽거나 디바이스에 쓸 자원(resource)이 무엇인 지와 디바이스와 네트워크 서비스 캐퍼빌러티 레이어(NSCL) 중 어느 쪽에서 먼저 메시지를 보내는 지를 기준으로 분류할 수 있다. 예컨대, 디바이스에서 읽을 자원(resource)이 A이고, 디바이스에 쓸 자원(resource)이 B이며, 디바이스 쪽에서 먼저 메시지를 보내는 트랜잭션(transaction)은 다음의 두 단계로 이루어진다.
단계 1) 디바이스가 A값을 담고, B에 설정할 값을 요청하는 메시지를 네트워크 서비스 캐퍼빌러티 레이어(NSCL)에 전송
단계 2) 디바이스가 보낸 메시지를 받은 네트워크 서비스 캐퍼빌러티 레이어(NSCL)가 B에 설정할 값을 담은 메시지를 디바이스에 응답
즉, 디바이스가 가진 자원(resource)이 무엇인지 알면, 디바이스에서 읽을 자원(resource), 디바이스에 쓸 자원(resource), 및 먼저 보내는 측이 누구인지를 임의로 설정하여 가능한 모든 형태의 트랜잭션(transaction)을 파악할 수 있다. 디바이스가 지원하는 트랙잭션(transaction)은 파악된 모든 형태의 트랜잭션(transaction) 중 일부일 수 있다.
정리하면, 트랜잭션 관리부(153)는 모든 형태의 트랜잭션(transaction) 중 디바이스가 지원하는 트랜잭션만으로 이루어진 디바이스 지원 트랜잭션 정보(transaction supported by device : TSD)를 계산한다. 이때, 디바이스 지원 트랜잭션 정보(TSD)를 보관하고 유지하는 방식은 다양한 방식에 의해 구현될 수 있다. 예컨대, 디바이스 지원 트랜잭션 정보(TSD)의 모든 원소를 저장하거나, 디바이스 지원 트랜잭션 정보(TSD)가 가지는 몇 가지 규칙만 저장하거나, 가능한 모든 트랜잭션(transaction) 중 디바이스 지원 트랜잭션 정보(TSD)에 포함되지 않은 트랜잭션(transaction)만 저장할 수 있다.
도 11 및 도 12는 본 발명의 바람직한 실시예에 따른 트랜잭션 관리 동작을 설명하기 위한 도면이다.
트랜잭션 관리부(153)는 도 11에 도시된 바와 같이 가능한 모든 형태의 트랜잭션(transaction)을 획득할 수 있다. 여기서, 'transaction element'의 'push attribute'는 디바이스 푸시(device push)인지 아닌지를 나타낸다. 'read element'는 디바이스에서 읽어 올 자원(resource)을 나타낸다. 'write element'는 디바이스에 쓸 자원(resource)을 나타낸다.
예컨대, 마지막 트랜잭션(transaction)은 네트워크 서비스 캐퍼빌러티 레이어(NSCL)가 디바이스로부터 R1 및 R2 값을 읽어보고, 동시에 디바이스에 R1 및 R2 값을 할당하는 일을 수행하며, 메시지를 처음 보내는 쪽은 디바이스라는 것을 나타낸다.
이 트랜잭션(transaction)의 동작을 보다 자세히 살펴보면, 디바이스 D1의 R1 및 R2 값이 현재 각각 5 및 7이라면, 디바이스 D1은 도 12의 (a)에 도시된 바와 같은 메시지를 네트워크 서비스 캐퍼빌러티 레이어(NSCL)로 송신한다. 여기서, 'request element'는 네트워크 서비스 캐퍼빌러티 레이어(NSCL)로부터 받아오려는 자원을 나타낸다. 'read element'는 네트워크 서비스 캐퍼빌러티 레이어(NSCL)가 디바이스 D1로부터 읽고자 하는 자원들의 값을 나타낸다. 이후, 이 메시지를 받은 네트워크 서비스 캐퍼빌러티 레이어(NSCL)가 디바이스 D1의 R1 및 R2 값을 각각 10 및 11로 설정하려 한다면, 도 12의 (b)에 도시된 바와 같은 메시지로 응답할 수 있다. 여기서, 'write element'는 네트워크 서비스 캐퍼빌러티 레이어(NSCL)가 디바이스 D1에 쓰고자 하는 자원들의 값을 나타낸다.
도 13은 본 발명의 바람직한 실시예에 따른 디바이스 지원 트랜잭션 정보의 일례를 설명하기 위한 도면이다.
트랜잭션 관리부(153)는 디바이스 D1의 데이터시트(datasheet) 등을 이용하여 디바이스 D1이 지원하는 트랜잭션(transaction)의 종류를 파악하여 도 13에 도시된 바와 같이 가능한 모든 형태의 트랜잭션(transaction) 중 디바이스 D1에서 지원하는 트랜잭션(transaction)만으로 이루어진 디바이스 지원 트랜잭션 정보(TSD)를 추출하여 유지할 수 있다.
또한, 트랜잭션 관리부(153)는 트랜잭션(transaction)의 종류에 변동이 있으면 트랜잭션 선택부(155)에 작업을 요청한다. 즉, 트랜잭션 관리부(153)는 디바이스 지원 트랜잭션 정보(TSD)가 변경되면 변동 사실을 트랜잭션 선택부(155)에 통보한다. 예컨대, 트랜잭션 관리부(153)는 변경된 디바이스 지원 트랜잭션 정보(TSD)를 트랜잭션 선택부(155)에 제공하여 변동 사실을 통보할 수 있다.
트랜잭션 선택부(155)는 네트워크 서비스 캐퍼빌러티 레이어(NSCL)과 디바이스 사이의 트랜잭션(transaction)의 종류와 빈도를 결정한다. 즉, 트랜잭션 선택부(155)는 자원(resource)별 통신 요구 빈도와 디바이스별 통신 방식의 특징을 주요 변수로 하고, 그리디 알고리즘(greedy algorithm)을 사용하여 트랜잭션(transaction)의 종류와 빈도를 결정한다.
다시 말하면, 트랜잭션 선택부(155)는 요구사항 관리부(151)나 트랜잭션 선택부(155)의 작업 요청이 있으면, 해당 디바이스 각각에 대하여 디바이스 지원 트랜잭션 정보(TSD) 중 실제 수행할 트랜잭션(transaction)을 선택하고, 선택된 각 트랜잭션(transaction)의 수행 주기를 결정한다. 본 발명에서는 이 문제를 가중 집합 커버(weighted set cover) 문제로 보고, 그리디 알고리즘(greedy algorithm)을 사용하여 해결한다. 이때, 통합 읽기 주기(MRP), 통합 쓰기 주기(MWP), 디바이스 지원 트랜잭션 정보(TSD) 등이 주요 변수로 사용된다.
보다 자세히 설명하면, 트랜잭션 선택부(155)는 요구사항 관리부(151)에서 제공하는 데이터를 이용하여 작업 요구 목록 정보(TaskSet)를 추출한다. 여기서, 작업 요구 목록 정보(TaskSet)는 요구되는 동기화 작업들로 이루어진 집합으로서, 가중 집합 커버(weighted set cover) 문제에서 커버하고자 하는 집합을 말한다.
각 자원(resource)별 통합 읽기 주기(MRP)와 통합 쓰기 주기(MWP) 각각의 정보가 작업 요구 목록 정보(TaskSet)의 원소가 된다. 각 원소의 내용은 디바이스 내에서 자원 식별 정보(resource ID), 네트워크 서비스 캐퍼빌러티 레이어(NSCL)에서 디바이스로 읽기인지 쓰기인지 구분하기 위한 표시(operation flag), 통합 읽기 주기 또는 통합 쓰기 주기 등을 포함한다. 원소의 내용은 다양한 형식으로 표현할 수 있다.
도 14는 본 발명의 바람직한 실시예에 따른 작업 요구 목록 정보를 구성하는 원소의 일례를 설명하기 위한 도면이다.
예컨대, 자원 A의 통합 읽기 주기가 5초인 원소는 도 14에 도시된 바와 같이 트리플(triple)로 구성될 수 있다.
도 15는 본 발명의 바람직한 실시예에 따른 작업 요구 목록 정보의 일례를 설명하기 위한 도면이다.
트랜잭션 선택부(155)는 요구사항 관리부(151)에서 제공하는 데이터를 이용하여 도 15에 도시된 바와 같은 작업 요구 목록 정보(TaskSet)을 추출하여 유지한다.
그리고, 트랜잭션 선택부(155)는 디바이스 지원 트랜잭션 정보(TSD)에 속한 각 트랜잭션(transaction) 중 디바이스에서 네트워크 서비스 캐퍼빌러티 레이어(NSCL)로 보내는 메시지로 시작하는 트랜잭션(transaction)에 대해 다음의 [수학식 3]을 통해 푸시 이득(push gain)을 계산한다. 본 발명에서 디바이스 푸시(device push)는 트랜잭션(transaction)이 디바이스에서 네트워크 서비스 캐퍼빌러티 레이어(NSCL)로 보내는 메시지로 시작되는 경우를 말한다. 일반적으로 디바이스 푸시(device push) 방식의 트랜잭션(transaction)은 디바이스 푸시(device push)가 아닌 방식에 비해 같은 양의 읽기 또는 쓰기 작업에 들어가는 네트워크 서비스 캐퍼빌러티 레이어(NSCL)의 네트워크/컴퓨팅 자원의 양이 적다.
Figure 112012089074106-pat00003
여기서, 소모되는 네트워크 서비스 캐퍼빌러티 레이어(NSCL)의 자원은 주고받는 메시지의 수, 네트워크 대역폭 소비량, NSCL 프로세스의 CPU 시간 등을 통해 측정될 수 있다. 또한, 통신 프로토콜의 종류, NSCL 쓰레드(thread)의 구조 등과 같은 상세 구현 사항에 따라 소모되는 네트워크 서비스 캐퍼빌러티 레이어(NSCL)의 자원의 측정 방식은 달라질 수 있다. 예컨대, UDP 프로토콜 기반으로 동작하고 주고 받는 메시지의 수를 자원 소모 척도로 이용하면, 디바이스의 자원(resource) 하나를 읽는 트랜잭션(transaction)의 경우, 디바이스 푸시(device push) 방식으로 하면 디바이스가 네트워크 서비스 캐퍼빌러티 레이어(NSCL)로 메시지를 한번만 전송하면 되므로 총 메시지 수는 1개가 되어 푸시 이득(push gain)은 1로 계산되고, 디바이스 푸시(device push) 방식으로 하지 않으면 네트워크 서비스 캐퍼빌러티 레이어(NSCL)에서 자원(resource)을 요청하여 응답받는 과정에서 메시지 2개가 쓰이게 되어 푸시 이득(push gain)은 2로 계산된다. 즉, 어떤 기준으로 어떻게 푸시 이득(push gain)을 계산할 지는 네트워크 서비스 캐퍼빌러티 레이어(NSCL)가 실제 구축되는 방식에 맞추어 결정하면 된다. 물론, 각각의 디바이스 푸시(device push) 방식의 트랜잭션(transaction)에 대한 푸시 이득(push gain)을 계산하지 않고 모든 디바이스 푸시(device push) 방식의 트랜잭션(transaction)에 대해 일괄적으로 동일한 값의 푸시 이득(push gain)을 설정할 수도 있다. 정리하면, 푸시 이득(push gain)의 구체적인 계산은 다양한 방식으로 이루어질 수 있다.
도 16은 본 발명의 바람직한 실시예에 따른 디바이스 지원 트랜잭션 정보 중 푸시 이득 계산의 대상이 되는 트랜잭션의 일례를 설명하기 위한 도면이다.
트랜잭션 선택부(155)는 디바이스 D1의 디바이스 지원 트랜잭션 정보(TSD)에 속하는 트랜잭션(transaction) 중 도 16에 도시된 바와 같은 디바이스 푸시(device push)가 되는 트랜잭션(transaction)에 대하여 푸시 이득(push gain)을 계산한다. 이 트랜잭션(transaction)에 대한 푸시 이득(push gain)은 2로 가정한다.
그리고, 트랜잭션 선택부(155)는 디바이스 지원 트랜잭션 정보(TSD)에 속한 각 트랜잭션(transaction)에 대하여 처리량 지표(throughput index)를 계산한다. 여기서, 처리량 지표(throughput index)는 트랜잭션(transaction)이 얼마나 많은 사용자 요구를 처리할 수 있는가를 나타내는 지표이다. 즉, 트랜잭션 선택부(155)는 다음의 [수학식 4]를 통해 디바이스 지원 트랜잭션 정보(TSD)에 속한 트랜잭션 X에 대한 처리량 지표(throughput index)를 계산할 수 있다.
Figure 112012089074106-pat00004
즉, 처리량 지표(throughput index)는 작업 요구 목록 정보(TaskSet)의 원소들 중에서 트랜잭션 X에 의해 수행될 수 있는 것들의 수행 빈도에 비례하는 값으로 결정되며, 트랜잭션 X가 디바이스 푸시(device push) 방식인 경우 마지막에 푸시 이득(push gain)을 곱해준다. 작업 요구 목록 정보(TaskSet)가 변할 경우 이에 따라 처리량 지표(throughput index)도 변하게 된다.
도 17은 본 발명의 바람직한 실시예에 따른 디바이스 지원 트랜잭션 정보에 속한 트랜잭션에 대한 처리량 지표의 일례를 설명하기 위한 도면이다.
트랜잭션 선택부(155)는 디바이스 D1의 디바이스 지원 트랜잭션 정보(TSD)에 속하는 트랜잭션(transaction) 각각에 대하여 도 17에 도시된 바와 같이 처리량 지표(throughput index)를 계산한다.
그리고, 트랜잭션 선택부(155)는 디바이스 지원 트랜잭션 정보(TSD)에 속한 각 트랜잭션(transaction)에 대하여 통합 동작 주기(merged action period : MAP)를 계산한다. 여기서, 통합 동작 주기(MAP)는 네트워크 어플리케이션(NA)의 요구사항을 맞추기 위한 각 트랜잭션(transaction)의 동작 주기를 말한다. 즉, 트랜잭션 선택부(155)는 다음의 [수학식 5]를 통해 디바이스 지원 트랜잭션 정보(TSD)에 속한 트랜잭션 X에 대한 통합 동작 주기(MAP)를 계산할 수 있다.
Figure 112012089074106-pat00005
작업 요구 목록 정보(TaskSet)가 변할 경우 이에 따라 통합 동작 주기(MAP)도 변하게 된다.
그리고, 트랜잭션 선택부(155)는 디바이스 지원 트랜잭션 정보(TSD)에 속한 각 트랜잭션(transaction)에 대한 처리량 지표(throughput index)와 통합 동작 주기(MAP)를 기반으로 작업 요구 목록 정보(TaskSet)를 이용하여 그리디 알고리즘(greedy algorithm)을 수행하여, 네트워크 어플리케이션(NA)의 요구사항을 만족시킬 수 있는 트랜잭션(transaction)을 선택하고, 해당 트랜잭션(transaction)의 통합 동작 주기(MAP)를 설정한다. 그리디 알고리즘(greedy algorithm)은 작업 요구 목록 정보(TaskSet)를 디바이스 지원 트랜잭션 정보(TSD)의 원소들로 커버하기 위한 집합 커버(set cover) 문제에 대한 휴리스틱(heuristic)이다. 이때, 디바이스 지원 트랜잭션 정보(TSD)의 원소들 각각은 작업 요구 목록 정보(TaskSet)의 부분 집합으로 볼 수 있다. 본 발명에 따른 그리디 알고리즘(greedy algorithm)은 다음의 [표 1]과 같다.

Input : TaskSet, TSD

Output : Set of Tuples(선택된 트랜잭션, 통합 동작 주기)

Repeat while TaskSet is not empty
X = The transaction in TSD with maximum throughput index
(If tie exists, select transaction with minimum of related resources)
T = The merged action period of X
Output = Output ∪ {(X, T)}
TaskSet = TaskSet - {tasks covered by transaction X}
End Repeat
여기서, 트랜잭션(transaction)에 관련된 자원들(related resources)은 해당 트랜잭션(transaction)에서 읽거나 쓰는 자원(resource)들을 말한다.
정리하면, 트랜잭션 선택부(155)는 투플(tuple)의 집합을 파악하고 업데이트 한다.
도 18은 본 발명의 바람직한 실시예에 따른 트랜잭션 선택 동작의 일례를 설명하기 위한 도면이다.
그리디 알고리즘(greedy algorithm)의 반복 루틴 최초 실행 시 처리량 지표(throughput index)가 최대인 트랜잭션 X는 도 18의 (a)에 도시된 트랜잭션이다. 트랜잭션 X의 통합 동작 주기(MAP)는 도 18의 (b)에 도시된 바와 같이 4이다. 1회 반복 루틴 실행 후 Output은 도 18의 (c)에 도시된 바와 같다. 1회 반복 루틴 실행 후 작업 요구 목록 정보(TaskSet)는 트랜잭션 X에서 처리되는 작업들이 제거되어 도 18의 (d)에 도시된 바와 같이 변하게 된다. 이후, 반복 루틴이 종료되면 Output은 도 18의 (e)에 도시된 바와 같다.
그리고, 트랜잭션 선택부(155)는 필요한 경우 트랜잭션 실행부(157)에 수행할 트랜잭션(transaction)이 변경된 사실을 통보한다. 즉, 트랜잭션 선택부(155)는 투플(tuple) 집합의 내용이 변경되면 투플(tuple) 집합을 트랜잭션 실행부(157)에 제공한다.
트랜잭션 실행부(157)는 트랜잭션 선택부(155)에 의해 선택된 트랜잭션(transaction)을 수행하여 동기화한다. 즉, 트랜잭션 실행부(157)는 트랜잭션 선택부(155)로부터 제공받은 투플(tuple) 집합을 기반으로 동기화를 수행한다. 다시 말하면, 트랜잭션 실행부(157)는 디바이스 푸시(device push) 방식이 아닌 트랜잭션(transaction)은 네트워크 서비스 캐퍼빌러티 레이어(NSCL)가 주기적으로 수행하고, 디바이스 푸시(device push) 방식인 트랜잭션(transaction)은 디바이스가 해당 트랜잭션(transaction)을 시작하는 메시지를 주기적으로 보내도록 디바이스에 요청한다.
한편, 본 발명의 바람직한 실시예에 따른 디바이스 마스터 엔트리(device master entry), 자원 마스터 엔트리(resource master entry), 가상 디바이스 인스턴스(virtualized device instance), 자원 청크 인스턴스(resource chunk instance), 디바이스 지원 트랜잭션 정보(TSD), 작업 요구 목록 정보(TaskSet) 등의 일례는 JSON(javascript object notation), XML(extensible markup language), DTD(document type definition) 등을 통해 표현되는 것으로 설명하였으나, 본 발명은 이에 한정되지 않고 실시예에 따라 다양한 형식으로 표현될 수 있다.
도 19는 본 발명의 바람직한 실시예에 따른 M2M 통신용 관리 방법을 설명하기 위한 흐름도이다.
제1디바이스(200-1)는 제1디바이스(200-1)의 등록을 M2M 통신용 관리 장치(100)에 요청한다(S810). 이때, 제1디바이스(200-1)는 제1디바이스(200-1)의 제조사 식별 정보, 제1디바이스(200-1)의 식별 정보 등이 포함된 등록 요청 메시지를 M2M 통신용 관리 장치(100)로 전송한다.
그러면, M2M 통신용 관리 장치(100)는 기 저장되어 있는 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 통해 제1디바이스(200-1)를 등록한다. 즉, M2M 통신용 관리 장치(100)는 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 통해 제1디바이스(200-1)에 대응되는 가상 디바이스 인스턴스(virtualized device instance)와 자원 청크 인스턴스(resource chunk instance)를 생성하여 저장함으로써, 제1디바이스(200-1)를 등록한다.
보다 자세하게는, M2M 통신용 관리 장치(100)는 기 저장되어 있는 디바이스 마스터 템플릿(device master template)을 이용하여 제1디바이스(200-1)의 가상 디바이스 인스턴스(virtualized device instance)를 생성하여 저장한다(S830). 즉, M2M 통신용 관리 장치(100)는 제1디바이스(200-1)로부터 수신한 등록 요청 메시지에 포함된 디바이스 제조사 식별 정보, 디바이스 식별 정보 등을 이용하여 기 저장되어 있는 디바이스 마스터 템플릿(device master template)에서 제1디바이스(200-1)에 대응되는 디바이스 마스터 엔트리(device master entry)를 검색하고, 검색된 디바이스 마스터 엔트리(device master entry)를 통해 제1디바이스(200-1)에 대응되는 가상 디바이스 인스턴스(virtualized device instance)를 생성하여 저장한다.
그리고, M2M 통신용 관리 장치(100)는 기 저장되어 있는 자원 마스터 템플릿(resource master template)을 이용하여 제1디바이스(200-1)의 자원 청크 인스턴스(resource chunk instance)를 생성하여 저장한다(S850). 즉, M2M 통신용 관리 장치(100)는 제1디바이스(200-1)에 대응되는 디바이스 마스터 엔트리에 포함된 디바이스 자원 정보를 통해 기 저장되어 있는 자원 마스터 템플릿(resource master template)에서 해당하는 자원 마스터 엔트리(resource master entry)를 검색하고, 검색된 자원 마스터 엔트리(resource master entry)를 통해 제1디바이스(200-1)의 자원 청크 인스턴스(resource chunk instance)를 생성하여 저장한다.
이후, M2M 통신용 관리 장치(100)는 제1디바이스(200-1)와 메시지를 서로 주고 받으며 서로 정보를 동기화한다(S870).
한편, 가상 디바이스 인스턴스(virtualized device instance) 생성 단계(S830)의 수행 이후에 자원 청크 인스턴스(resource chunk instance) 생성 단계(S850)가 수행되는 것으로 설명하였으나, 이에 한정되지 않고 실시예에 따라 자원 청크 인스턴스(resource chunk instance) 생성 단계(S850)가 가상 디바이스 인스턴스(virtualized device instance) 생성 단계(S830)보다 먼저 수행되거나, 가상 디바이스 인스턴스(virtualized device instance) 생성 단계(S830)와 자원 청크 인스턴스(resource chunk instance) 생성 단계(S850) 동시에 수행될 수도 있다.
도 20은 본 발명의 바람직한 실시예에 따른 동기화 방법을 보다 자세히 설명하기 위한 흐름도이다.
M2M 통신용 관리 장치(100)는 네트워크 어플리케이션(NA)의 요구사항을 관리한다(S871). 즉, M2M 통신용 관리 장치(100)는 복수의 네트워크 어플리케이션(NA) 각각에서 특정 디바이스로 향하는 주기적인 읽기/쓰기에 대한 요구사항을 관리한다. 보다 자세히 설명하면, M2M 통신용 관리 장치(100)는 새로운 네트워크 어플리케이션(NA)이 네트워크 서비스 캐퍼빌러티 레이어(NSCL)에 등록되거나 기 등록된 네트워크 어플리케이션(NA)이 변경되면, 네트워크 어플리케이션(NA)에서 선언된 각각의 자원(resource)에 대하여 읽기/쓰기 주기(read/write period)를 계산하고 업데이트한다. 그리고, M2M 통신용 관리 장치(100)는 네트워크 어플리케이션(NA)이 신규로 실행되어 디바이스와 연결되거나, 디바이스와 연결되어 기 실행중인 네트워크 어플리케이션(NA)의 자원(resource)에 대한 읽기 주기(NARP) 또는 쓰기 주기(NAWP)가 변화되거나, 디바이스와 연결되어 기 실행중인 네트워크 어플리케이션(NA)이 종료되면, 읽기 주기(NARP) 및 쓰기 주기(NAWP)를 이용하여 디바이스의 각각의 자원(resource)에 대하여 통합 읽기/쓰기 주기(merged read/write period)를 계산하고 업데이트한다.
그런 다음, M2M 통신용 관리 장치(100)는 디바이스 지원 트랜잭션 정보(TSD)를 관리한다(S873). 즉, M2M 통신용 관리 장치(100)는 디바이스가 지원하는 트랜잭션(transaction)을 파악하고 관리한다. 보다 자세히 설명하면, M2M 통신용 관리 장치(100)는 모든 형태의 트랜잭션(transaction) 중 디바이스가 지원하는 트랜잭션만으로 이루어진 디바이스 지원 트랜잭션 정보(TSD)를 디바이스별로 계산한다.
이후, M2M 통신용 관리 장치(100)는 요구사항과 디바이스 지원 트랜잭션 정보(TSD)를 기초로 트랜잭션(transaction)을 선택한다(S875). 즉, M2M 통신용 관리 장치(100)는 자원(resource)별 통신 요구 빈도와 디바이스별 통신 방식의 특징을 주요 변수로 하고, 그리디 알고리즘(greedy algorithm)을 사용하여 트랜잭션(transaction)의 종류와 빈도를 결정한다. 보다 자세히 설명하면, M2M 통신용 관리 장치(100)는 네트워크 어플리케이션(NA)의 요구사항을 이용하여 작업 요구 목록 정보(TaskSet)를 추출한다. 그리고, M2M 통신용 관리 장치(100)는 디바이스 지원 트랜잭션 정보(TSD)에 속한 각 트랜잭션(transaction) 중 디바이스에서 네트워크 서비스 캐퍼빌러티 레이어(NSCL)로 보내는 메시지로 시작하는 트랜잭션(transaction)에 대해 푸시 이득(push gain)을 계산한다. 그리고, M2M 통신용 관리 장치(100)는 디바이스 지원 트랜잭션 정보(TSD)에 속한 각 트랜잭션(transaction)에 대하여 처리량 지표(throughput index)와 통합 동작 주기(MAP)를 계산한다. 그리고, M2M 통신용 관리 장치(100)는 디바이스 지원 트랜잭션 정보(TSD)에 속한 각 트랜잭션(transaction)에 대한 처리량 지표(throughput index)와 통합 동작 주기(MAP)를 기반으로 작업 요구 목록 정보(TaskSet)를 이용하여 그리디 알고리즘(greedy algorithm)을 수행하여, 네트워크 어플리케이션(NA)의 요구사항을 만족시킬 수 있는 트랜잭션(transaction)을 선택하고, 해당 트랜잭션(transaction)의 통합 동작 주기(MAP)를 설정한다.
마지막으로, M2M 통신용 관리 장치(100)는 선택된 트랜잭션(transaction)을 수행하여 디바이스와 서로 정보를 동기화한다(S877).
이와 같이, 기 생성하여 저장되어 있는 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 통해 디바이스는 M2M 통신(Machine-to-Machine communications) 서비스의 이용을 할 수 있다. 이에 따라, 새로운 디바이스가 출현하면, 새로운 디바이스에 대응되는 디바이스 마스터 엔트리(device master entry)와 자원 마스터 엔트리(resource master entry)를 생성하여 추가함으로써, 새로운 디바이스도 M2M 통신(Machine-to-Machine communications) 서비스를 이용할 수 있다. 따라서, 시스템의 확장성(scalability) 문제를 해결할 수 있다.
또한, 디바이스 통신 정보, 자원 내용(resource content)의 표현 형식 정보 및 자원 내용(resource content)의 표현에 사용되는 어휘 정보가 디바이스별로 저장되어 있는 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 통해 디바이스를 추상화하고 자원(resource)에 접근할 수 있는 인터페이스(interface)를 제공할 수 있다. 이에 따라, 동일한 디바이스라고 하더라도 제조사나 모델마다 인터페이스(interface)가 상이할 수 있지만, 본 발명에 따른 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 이용하면 인터페이스(interface)가 서로 상이한 디바이스도 M2M 통신(Machine-to-Machine communications) 서비스를 이용할 수 있다. 따라서, 자원(resource)에 접근할 수 있는 인터페이스(interface)의 이종성(heterogeneity) 문제를 해결할 수 있다.
또한, 네트워크 어플리케이션(NA)의 요구사항과 디바이스가 지원하는 트랜잭션 정보(TSD)를 이용하여 선택된 트랜잭션(transaction)만을 수행하여 동기화함으로써, 서비스 품질을 저해시키지 않고 네트워크 서비스 캐퍼빌러티 레이어(NSCL)의 부하를 최소화하면서 동기화를 수행할 수 있다. 이에 따라, 연결되는 디바이스의 개수가 증가함에 따라 발생되는 네트워크 서비스 캐퍼빌러티 레이어(NSCL)의 성능 요구를 줄일 수 있어, M2M 통신(Machine-to-Machine communications) 서비스에 필요한 인프라 구축 비용을 절감할 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 장치에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 롬(ROM), 램(RAM), CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 유무선 통신망으로 연결된 컴퓨터 장치에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 다음의 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
100 : M2M 통신용 관리 장치,
200-1 내지 200-n : 디바이스,
300 : 통신망

Claims (15)

  1. 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 저장하고 있는 저장부;
    디바이스로부터 등록 요청 메시지를 수신하면, 상기 저장부에 기 저장되어 있는 상기 디바이스 마스터 템플릿(device master template)과 상기 저장부에 기 저장되어 있는 상기 자원 마스터 템플릿(resource master template)을 통해 상기 디바이스를 등록하는 등록부; 및
    상기 디바이스와 메시지를 주고 받으며 상기 저장부에 저장된 자원 청크 인스턴스(resource chunk instance)와 상기 자원 청크 인스턴스(resource chunk instance)에 대응되는 상기 디바이스 내의 정보를 동기화하는 동기화부;를 포함하고,
    상기 동기화부는,
    네트워크 어플리케이션(NA)에서 디바이스로 향하는 주기적인 읽기 또는 쓰기에 대한 요구사항을 관리하는 요구사항 관리부;
    디바이스가 지원하는 트랜잭션(transaction)을 파악하여 디바이스 지원 트랜잭션 정보(TSD)를 획득하는 트랜잭션 관리부;
    상기 요구사항과 상기 디바이스 지원 트랜잭션 정보(TSD)를 이용하여 상기 디바이스 지원 트랜잭션 정보(TSD)에서 트랜잭션(transaction)을 선택하고, 상기 선택된 트랜잭션(transaction)의 통합 동작 주기(MAP)를 설정하는 트랜잭션 선택부; 및
    상기 선택된 트랜잭션(transaction)을 수행하여 정보를 동기화하는 트랜잭션 실행부;를 포함하고,
    상기 트랜잭션 선택부는, 상기 요구사항을 이용하여 작업 요구 목록 정보(TaskSet)를 추출하고, 상기 디바이스 지원 트랜잭션 정보(TSD)에 속한 각 트랜잭션(transaction)에 대해 처리량 지표(throughput index)와 통합 동작 주기(MAP)를 계산하며, 상기 디바이스 지원 트랜잭션 정보(TSD)에 속한 각 트랜잭션(transaction)에 대한 처리량 지표(throughput index)와 통합 동작 주기(MAP)를 기반으로 상기 작업 요구 목록 정보(TaskSet)를 이용하여 상기 디바이스 지원 트랜잭션 정보(TSD)에서 트랜잭션(transaction)을 선택하고 상기 선택된 트랜잭션(transaction)의 통합 동작 주기(MAP)를 설정하는 것을 특징으로 하는 M2M 통신용 관리 장치.
  2. 제 1항에 있어서,
    상기 디바이스 마스터 템플릿(device master template)은 디바이스 제조사 식별 정보, 디바이스 식별 정보, 디바이스 통신 정보 및 디바이스 자원 정보를 포함하는 디바이스 마스터 엔트리(device master entry)로 구성되고,
    상기 자원 마스터 템플릿(resource master template)은 자원 내용(resource content)의 표현 형식 정보 및 상기 자원 내용(resource content)의 표현에 사용되는 어휘 정보를 포함하는 자원 마스터 엔트리(resource master entry)로 구성되는 것을 특징으로 하는 M2M 통신용 관리 장치.
  3. 제 1항에 있어서,
    상기 등록부는 상기 디바이스 마스터 템플릿(device master template)과 상기 자원 마스터 템플릿(resource master template)을 통해 상기 디바이스에 대응되는 가상 디바이스 인스턴스(virtualized device instance)와 상기 자원 청크 인스턴스(resource chunk instance)를 생성하여 상기 저장부에 저장함으로써, 상기 디바이스를 등록하는 것을 특징으로 하는 M2M 통신용 관리 장치.
  4. 제 3항에 있어서,
    상기 등록부는 상기 등록 요청 메시지를 통해 상기 저장부에 저장되어 있는 상기 디바이스 마스터 템플릿(device master template)에서 상기 디바이스에 대응되는 디바이스 마스터 엔트리(device master entry)를 검색하고, 검색된 상기 디바이스에 대응되는 상기 디바이스 마스터 엔트리(device master entry)를 통해 상기 저장부에 저장되어 있는 상기 자원 마스터 템플릿(resource master template)에서 상기 디바이스가 지원하는 자원 마스터 엔트리(resource master entry)를 검색하며, 검색된 상기 디바이스에 대응되는 상기 디바이스 마스터 엔트리(device master entry)와 검색된 상기 디바이스가 지원하는 자원 마스터 엔트리(resource master entry)를 이용하여 상기 디바이스에 대응되는 상기 가상 디바이스 인스턴스(virtualized device instance)와 상기 자원 청크 인스턴스(resource chunk instance)를 생성하는 것을 특징으로 하는 M2M 통신용 관리 장치.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 디바이스로부터 등록 요청 메시지를 수신하는 단계;
    기 저장되어 있는 디바이스 마스터 템플릿(device master template)과 기 저장되어 있는 자원 마스터 템플릿(resource master template)을 통해 상기 디바이스를 등록하는 단계; 및
    상기 디바이스와 메시지를 주고 받으며, 자원 청크 인스턴스(resource chunk instance)와 상기 자원 청크 인스턴스(resource chunk instance)에 대응되는 상기 디바이스 내의 정보를 동기화하는 단계;를 포함하고,
    상기 동기화 단계는,
    네트워크 어플리케이션(NA)에서 디바이스로 향하는 주기적인 읽기 또는 쓰기에 대한 요구사항을 관리하는 단계;
    디바이스가 지원하는 트랜잭션(transaction)을 파악하여 디바이스 지원 트랜잭션 정보(TSD)를 획득하는 단계;
    상기 요구사항과 상기 디바이스 지원 트랜잭션 정보(TSD)를 이용하여 상기 디바이스 지원 트랜잭션 정보(TSD)에서 트랜잭션(transaction)을 선택하고, 상기 선택된 트랜잭션(transaction)의 통합 동작 주기(MAP)를 설정하는 단계; 및
    상기 선택된 트랜잭션(transaction)을 수행하여 정보를 동기화하는 단계;를 포함하고,
    상기 통합 동작 주기(MAP)를 설정하는 단계는,
    상기 요구사항을 이용하여 작업 요구 목록 정보(TaskSet)를 추출하는 단계;
    상기 디바이스 지원 트랜잭션 정보(TSD)에 속한 각 트랜잭션(transaction)에 대해 처리량 지표(throughput index)와 통합 동작 주기(MAP)를 계산하는 단계; 및
    상기 디바이스 지원 트랜잭션 정보(TSD)에 속한 각 트랜잭션(transaction)에 대한 처리량 지표(throughput index)와 통합 동작 주기(MAP)를 기반으로 상기 작업 요구 목록 정보(TaskSet)를 이용하여 상기 디바이스 지원 트랜잭션 정보(TSD)에서 트랜잭션(transaction)을 선택하고 상기 선택된 트랜잭션(transaction)의 통합 동작 주기(MAP)를 설정하는 단계;를 포함하는 것을 특징으로 하는 M2M 통신용 관리 방법.
  9. 제 8항에 있어서,
    상기 디바이스 마스터 템플릿(device master template)은 디바이스 제조사 식별 정보, 디바이스 식별 정보, 디바이스 통신 정보 및 디바이스 자원 정보를 포함하는 디바이스 마스터 엔트리(device master entry)로 구성되고,
    상기 자원 마스터 템플릿(resource master template)은 자원 내용(resource content)의 표현 형식 정보 및 상기 자원 내용(resource content)의 표현에 사용되는 어휘 정보를 포함하는 자원 마스터 엔트리(resource master entry)로 구성되는 것을 특징으로 하는 M2M 통신용 관리 방법.
  10. 제 8항에 있어서,
    상기 등록 단계에서, 상기 디바이스 마스터 템플릿(device master template)과 상기 자원 마스터 템플릿(resource master template)을 통해 상기 디바이스에 대응되는 가상 디바이스 인스턴스(virtualized device instance)와 상기 자원 청크 인스턴스(resource chunk instance)를 생성하여 저장함으로써, 상기 디바이스를 등록하는 것을 특징으로 하는 M2M 통신용 관리 방법.
  11. 제 10항에 있어서,
    상기 등록 단계는,
    상기 등록 요청 메시지를 통해 기 저장되어 있는 상기 디바이스 마스터 템플릿(device master template)에서 상기 디바이스에 대응되는 디바이스 마스터 엔트리(device master entry)를 검색하는 단계;
    검색된 상기 디바이스에 대응되는 상기 디바이스 마스터 엔트리(device master entry)를 통해 기 저장되어 있는 상기 자원 마스터 템플릿(resource master template)에서 상기 디바이스가 지원하는 자원 마스터 엔트리(resource master entry)를 검색하는 단계; 및
    검색된 상기 디바이스에 대응되는 상기 디바이스 마스터 엔트리(device master entry)와 검색된 상기 디바이스가 지원하는 자원 마스터 엔트리(resource master entry)를 이용하여 상기 디바이스에 대응되는 상기 가상 디바이스 인스턴스(virtualized device instance)와 상기 자원 청크 인스턴스(resource chunk instance)를 생성하는 단계;를 포함하는 것을 특징으로 하는 M2M 통신용 관리 방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 제 8항 내지 제 11항 중 어느 한 항에 기재된 M2M 통신용 관리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적인 기록 매체.
KR1020120121701A 2012-05-30 2012-10-31 M2m 통신용 관리 장치 및 방법 KR102034736B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/905,887 US20130324121A1 (en) 2012-05-30 2013-05-30 Apparatus and method for machine-to-machine communications
CN201380003515.0A CN103947157B (zh) 2012-05-30 2013-05-30 M2m通信用装置及方法
PCT/KR2013/004740 WO2013180476A1 (ko) 2012-05-30 2013-05-30 M2m 통신용 장치 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120057648 2012-05-30
KR20120057648 2012-05-30

Publications (2)

Publication Number Publication Date
KR20130135009A KR20130135009A (ko) 2013-12-10
KR102034736B1 true KR102034736B1 (ko) 2019-10-22

Family

ID=49982537

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120121701A KR102034736B1 (ko) 2012-05-30 2012-10-31 M2m 통신용 관리 장치 및 방법

Country Status (2)

Country Link
KR (1) KR102034736B1 (ko)
CN (1) CN103947157B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10530722B2 (en) 2014-06-30 2020-01-07 Lg Electronics Inc. Method and device for forwarding message in wireless communication system
CN107430512B (zh) * 2014-10-31 2021-02-02 康维达无线有限责任公司 管理机器对机器系统中的应用关系
CN105653374B (zh) 2014-11-12 2020-04-28 华为技术有限公司 分布式事务资源执行的方法、装置和系统
TWI568224B (zh) * 2015-04-29 2017-01-21 財團法人資訊工業策進會 異質性網路系統、網路裝置及其聚合路徑選擇方法
CN106330510B (zh) * 2015-06-30 2019-07-19 华为技术有限公司 一种虚拟资源的更新方法、装置及系统
KR102233007B1 (ko) * 2017-10-27 2021-03-26 에스케이텔레콤 주식회사 디바이스 디스크립터를 이용한 사물인터넷 플랫폼 서비스 제공 서버 및 방법
US11172028B2 (en) 2017-10-19 2021-11-09 Sk Telecom Co., Ltd. Method and server device for providing internet of things platform service
KR102148068B1 (ko) * 2017-11-29 2020-08-25 전자부품연구원 다중 IoT 상호 연동 처리 시스템 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050010485A1 (en) * 2003-07-11 2005-01-13 Quadratic Systems Corporation Integrated system and method for selectively populating and managing multiple, site-specific, interactive, user stations
US20060050862A1 (en) * 2001-05-22 2006-03-09 Shen Fong F Automation of customer premises equipment provisioning in a telecommunications network
US7796023B2 (en) * 2000-09-06 2010-09-14 Babak Rezvani Systems and methods for the automatic registration of devices

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100437586C (zh) * 2005-10-21 2008-11-26 中国科学院计算技术研究所 一种用于共享存储的资源分配方法和分配系统
CN101299674B (zh) * 2007-04-30 2011-05-11 中国移动通信集团公司 实现终端标识的方法、系统及管理平台
US8407769B2 (en) * 2008-02-22 2013-03-26 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for wireless device registration
KR100998753B1 (ko) * 2008-12-02 2010-12-07 주식회사 케이티 긴급 상황 알림 기능이 구비된 m2m모듈, 상기 m2m 모듈과 선택적으로 연결되는 m2m 디바이스 및 그 구동 방법
CN102202270B (zh) * 2010-03-24 2016-03-30 中兴通讯股份有限公司 基于机器类通信的消息传输方法及互通功能实体
CN102244666A (zh) * 2010-05-10 2011-11-16 中兴通讯股份有限公司 M2m平台处理报文的方法和m2m平台系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7796023B2 (en) * 2000-09-06 2010-09-14 Babak Rezvani Systems and methods for the automatic registration of devices
US20060050862A1 (en) * 2001-05-22 2006-03-09 Shen Fong F Automation of customer premises equipment provisioning in a telecommunications network
US20050010485A1 (en) * 2003-07-11 2005-01-13 Quadratic Systems Corporation Integrated system and method for selectively populating and managing multiple, site-specific, interactive, user stations

Also Published As

Publication number Publication date
CN103947157B (zh) 2017-07-28
CN103947157A (zh) 2014-07-23
KR20130135009A (ko) 2013-12-10

Similar Documents

Publication Publication Date Title
KR102034736B1 (ko) M2m 통신용 관리 장치 및 방법
US20130324121A1 (en) Apparatus and method for machine-to-machine communications
US10868866B2 (en) Cloud storage methods and systems
US10241839B2 (en) Method and system for generating a virtual device resource accessible by an application
US20190065445A1 (en) Predictive resource identification and phased delivery of structured documents
KR101985772B1 (ko) M2m 데이터 처리 방법, 디바이스, 및 시스템
JP4476813B2 (ja) 任意に大きな文書内のデータへのスケーラブルなアクセス
KR101786561B1 (ko) 시맨틱 명명 모델
WO2019154353A1 (zh) 系统运行参数查询方法、匹配方法、装置及节点设备
US20200117733A1 (en) Blockchain integration layer
JP2010519624A (ja) エンティティ向けrest
KR20190059952A (ko) 분산형 시맨틱 디스크립터들을 통한 시맨틱 질의
CN101123750A (zh) 便于推送内容的后台处理的装置和相关方法
US20130094403A1 (en) Method and apparatus for providing sensor network information
EP3311313B1 (en) Network server, methods and computer program product for providing data as a service (daas) in real-time
JP5844895B2 (ja) データの分散検索システム、データの分散検索方法及び管理計算機
US20090125803A1 (en) Method, system, client and server for managing xml document
US20090165011A1 (en) Resource management method, information processing system, information processing apparatus, and program
CN105897865B (zh) 一种协议无关的网络文件服务管理系统和方法
KR101720316B1 (ko) 센서 네트워크 정보 제공 방법 및 그 장치
US7584284B2 (en) Path-token-based web service caching method
US20070288549A1 (en) Information Processing System, Server Device, Client Device, and Program
CN112740635B (zh) 报文解析的方法、数据发送端、数据接收端和系统
KR20120016335A (ko) 오프라인 실행을 위한 웹 페이지 사전 캐싱 시스템 및 방법
JP5071990B2 (ja) データベース装置、データベースシステム、キャッシュメンテナンス方法およびそのプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant