KR20150014345A - 요청 메시지의 신뢰성을 확보하는 방법 및 장치 - Google Patents

요청 메시지의 신뢰성을 확보하는 방법 및 장치 Download PDF

Info

Publication number
KR20150014345A
KR20150014345A KR1020130118830A KR20130118830A KR20150014345A KR 20150014345 A KR20150014345 A KR 20150014345A KR 1020130118830 A KR1020130118830 A KR 1020130118830A KR 20130118830 A KR20130118830 A KR 20130118830A KR 20150014345 A KR20150014345 A KR 20150014345A
Authority
KR
South Korea
Prior art keywords
request message
application service
node
message
service node
Prior art date
Application number
KR1020130118830A
Other languages
English (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 주식회사 케이티
Publication of KR20150014345A publication Critical patent/KR20150014345A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/23Reliability checks, e.g. acknowledgments or fault reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

본 발명은 M2M 시스템에서 요청 메시지의 신뢰성을 확보하는 방법 및 장치 에 관한 것으로, 보다 상세하게는 본 발명의 일 실시예에 의한 애플리케이션 서비스 노드는 중간 노드 및 애플리케이션 서비스 노드로 구성된 M2M 네트워크의 애플리케이션 서비스 노드에 있어서, 중간 노드와 메시지를 송수신하는 통신관리/전달핸들링(Communication Management and Delivery Handling)부, 메시지를 생성하거나 수신한 메시지를 저장하는 데이터관리/저장(Data Management and Repository)부, 및 메시지의 권한을 확인하는 구독/알림(Subscription and Notification)부를 포함하며, 상기 통신관리/전달핸들링부가 중간 노드로부터 요청 메시지를 수신하면, 상기 데이터관리/저장부는 상기 수신한 메시지를 저장하고 유효성을 검증하며, 상기 구독/알림부는 상기 수신한 메시지의 요청 노드의 접근 권한을 확인하며, 상기 통신관리/전달핸들링부는 상기 데이터관리/저장부의 검증 또는 구독/알림부의 확인 결과 요청 메시지에 오류가 없는 경우 상기 중간 노드로 응답 또는 요청된 결과를 포함하는 결과 메시지를 전송하고, 오류가 있을 경우 상기 중간 노드로 오류 결과를 포함하는 결과 메시지를 전송하는 것을 특징으로 한다.

Description

요청 메시지의 신뢰성을 확보하는 방법 및 장치{The method for ensuring operation of multiple nodes}
본 발명은 M2M(Machine to Machine Communication) 기술에 관한 것으로, 다수의 장치들의 정상 동작이 보장되어야 할 경우 그 동작의 신뢰성을 확보하는 방법 및 장치에 관한 기술이다.
사물 통신(M2M, "Machine to machine communication" 또는 MTC, "Machine type communication" 또는 스마트 디바이스 통신, "Smart Device communication" 또는 "Machine oriented communication" 또는 사물 인터넷, "Internet of Things")은 사람이 통신 과정에 개입하지 않고 통신이 이루어지는 방식의 모든 통신 방식을 지칭한다. 최근 oneM2M에서 M2M과 관련된 논의가 이루어지고 있으나, oneM2M의 아키텍처(Architecture) 및 요구 사항(Requirement)을 충족시키는 기술적인 요소들이 제시되지 않은 상태이다.
본 발명은 노드 간 요청 메시지의 전송 과정에서 일시적 오류로 요청 정보가 유효하지 않은 데이터를 포함하거나 일부 유실된 경우에도 노드들의 동작이 이루어지도록 메시지를 재전송하거나 롤백을 수행하여 노드 동작간의 신뢰성을 확보할 수 있도록 한다.
본 발명의 일 실시예에 의한 애플리케이션 서비스 노드는 중간 노드 및 애플리케이션 서비스 노드로 구성된 M2M 네트워크의 애플리케이션 서비스 노드에 있어서, 중간 노드와 메시지를 송수신하는 통신관리/전달핸들링(Communication Management and Delivery Handling)부, 메시지를 생성하거나 수신한 메시지를 저장하는 데이터관리/저장(Data Management and Repository)부, 및 메시지의 권한을 확인하는 구독/알림(Subscription and Notification)부를 포함하며, 상기 통신관리/전달핸들링부가 중간 노드로부터 요청 메시지를 수신하면, 상기 데이터관리/저장부는 상기 수신한 메시지를 저장하고 유효성을 검증하며, 상기 구독/알림부는 상기 수신한 메시지의 요청 노드의 접근 권한을 확인하며, 상기 통신관리/전달핸들링부는 상기 데이터관리/저장부의 검증 또는 구독/알림부의 확인 결과 요청 메시지에 오류가 없는 경우 상기 중간 노드로 응답 또는 요청된 결과를 포함하는 결과 메시지를 전송하고, 오류가 있을 경우 상기 중간 노드로 오류 결과를 포함하는 결과 메시지를 전송하는 것을 특징으로 한다. 본 발명의 다른 실시예에 의한 중간 노드는 중간 노드 및 애플리케이션 서비스 노드로 구성된 M2M 네트워크의 중간 노드에 있어서, 요청 메시지를 애플리케이션 서비스 노드로 전송하며 상기 애플리케이션 서비스 노드로부터 메시지를 수신하는 통신관리/전달핸들링(Communication Management and Delivery Handling)부, 및 메시지를 생성하거나 수신한 메시지를 저장하는 데이터관리/저장(Data Management and Repository )부를 포함하며, 상기 통신관리/전달핸들링부가 오류가 포함된 결과 메시지를 수신한 경우, 상기 데이터관리/저장부는 오류 결과가 포함된 결과 메시지를 이용하여 오류의 유형을 확인하고 유형에 따른 처리를 수행하는 것을 특징으로 한다.
본 발명의 또다른 실시예에 의한 중간 노드 및 애플리케이션 서비스 노드로 구성된 M2M 네트워크의 애플리케이션 서비스 노드가 요청 메시지의 신뢰성을 확보하기 위하여, 중간 노드로부터 제 1 요청 메시지를 수신하는 단계, 상기 제 1 요청 메시지를 저장하고 상기 제 1 요청 메시지의 유효성을 검증하는 단계, 상기 제 1 요청 메시지에서 규정하는 오퍼레이션을 요청한 노드의 접근 권한을 확인하는 단계, 및 상기 유효성 검증 및 접근 권한의 확인 결과 상기 제 1 요청 메시지에 오류가 없는 경우, 상기 중간 노드로 상기 제 1 요청 메시지에서 규정하는 오퍼레이션을 실행한 결과 또는 응답을 포함하는 결과 메시지를 전송하고, 상기 제 1 요청 메시지에 오류가 있는 경우 상기 중간 노드로 오류 결과를 포함하는 결과 메시지를 전송하는 단계를 포함한다.
본 발명의 또다른 실시예에 의한 중간 노드 및 애플리케이션 서비스 노드로 구성된 M2M 네트워크의 중간 노드가 요청 메시지의 신뢰성을 확보하기 위하여, 기반 노드 또는 제 1 애플리케이션 서비스 노드로부터 수신한 제 1 요청 메시지를 저장하는 단계, 상기 수신한 제 1 요청 메시지를 제 2 애플리케이션 서비스 노드에게 전송하는 단계, 상기 제 2 애플리케이션 서비스 노드로부터 결과 메시지를 수신하는 단계, 및 상기 수신한 결과 메시지에 오류 결과가 포함된 경우, 오류 결과가 포함된 결과 메시지를 이용하여 오류의 유형을 확인하고 유형에 따른 처리를 수행하는 단계를 포함한다.
본 발명은 요청에 관련된 다수 노드가 상호간에 정상적으로 동작할 수 있도록 신뢰성을 확보하는 방법으로써, 특히 다수의 애플리케이션 서비스 노드가 요청에 관련되어 오퍼레이션이 보장되어야 하는 경우에 유용하게 사용될 수 있다.
도 1은 본 발명을 구성하는 시스템의 구성을 보여주는 도면이다.
도 2는 본 발명을 구성하는 시스템을 상위 레벨의 기능적 관점에서 도시한 도면이다.
도 3은 본 발명을 구성하는 기능적 구조를 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 의한 공통 서비스 개체를 구성하는 도면이다.
도 5는 본 발명의 일 실시예에 의한 참조점에서의 통신 흐름을 보여주는도면이다.
도 6은 본 발명의 일 실시예가 적용되는 공통 서비스 개체의 아키텍쳐를 보여주는 도면이다.
도 7은 본 발명의 실시예를 구현하는 애플리케이션 서비스 노드와 중간 노드의 구성을 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 의한 애플리케이션 서비스 노드가 수신한 요청 메시지에 오류가 발생한 경우를 보여주는 도면이다.
도 9는 본 발명의 실시예에 따라 구성되는 M2M 시스템의 구조를 보여주는 도면이다.
도 10은 본 발명의 실시예에 따라 구성되는 M2M 시스템의 구조를 보여주는 도면이다.
도 11은 본 발명에서 구성하는 M2M 시스템에서 각 노드 상호간 정보의 전송 흐름을 도시한 도면이다.
도 12 내지 도 14는 애플리케이션 서비스 노드와 중간 노드, 그리고 기반 노드의 구성요소가 본 발명의 일 실시예를 구현하기 위해 동작하는 과정을 보여주는 도면이다.
도 15는 본 발명의 일 실시예에 의한 애플리케이션 서비스 노드에서 동작하는 과정을 보여주는 도면이다.
도 16은 본 발명의 일 실시예에 의한 중간 노드에서 동작하는 과정을 보여주는 도면이다.
도 17은 앞서 살펴본 공장 제어 시스템에 본 발명으로 구현될 수 있는 실시 예를 적용한 도면이다.
이하, 본 발명의 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
본 발명의 실시예들은 사물 통신을 중심으로 설명한다. 사물 통신은 M2M(Machine to Machine communication), MTC(Machine Type Communication), IoT(Internet of Things), 스마트 장치 통신(Smart Device Communication, SDC), 또는 사물 지향 통신(Machine Oriented Communication) 등으로 다양하게 불려질 수 있다. 최근 oneM2M에서 사물통신과 관련된 많은 기술적 사항을 제시하고 있다. 사물 통신은 사람이 통신 과정에 개입하지 않고 통신이 이루어지는 다양한 통신을 지칭한다. 사물 통신은 에너지(energy) 분야, 엔터프라이즈(enterprise) 분야, 헬스케어(Healthcare) 분야, 공공 서비스(Public Services) 분야, 주거(Residential) 분야, 리테일(Retail) 분야, 운송(Transportation)분야, 그리고 기타 분야 등으로 나뉘어진다. 본 발명은 상기 분야를 포함하며, 그 외의 분야에도 적용 가능하다.
본 발명에서 식별(identification)은 특정 도메인 내의 개체(entity)를 다른 개체(entities)와 구별하여 인식(recognizing)하는 과정을 의미한다(Process of recognizing an entity in a particular domain as distinct from other entities). 인증(authentication)은 개체(entity)의 식별자를 결정하거나 정보의 출처를 확립하는 것을 의미한다(A process that establishes the source of information, or determines an entity's identity.). 권한부여(authorization)은 권한(rights)를 할당(grant)하는 것을 의미하며, 이는 접근 권한(access rights)에 기반을 두어 할당하는 것을 포함한다(The granting of rights, which includes the granting of access based on access rights). 기밀성(confidentiality)는 권한이 부여되지 않은 개체나 프로세스에 대해 정보가 사용할 수 없도록 하거나 공개되지 않도록 하는 특성을 의미한다(The property that information is not made available or disclosed to unauthorized individuals, entities, or processes.). 증명서(credentials)는 보안 프로시져(security procedure)에서 사용되며 개체를 유일하게 식별하는데 사용되는 데이터 객체(data object)를 의미한다(Data objects which are used to uniquely identify an entity and which are used in security procedures). 암호화(encryption)은 암호화 알고리즘(cryptographic algorithm)과 키를 이용하여 평문(plaintext)를 암호문(ciphertext)으로 생성하는 과정을 의미한다(The process of changing plaintext into ciphertext using a cryptographic algorithm and key). 무결성(integrity)은 정보와 방법의 처리의 정확성과 완전성을 보장하는 것을 의미한다(Safeguarding the accuracy and completeness of information and processing methods.). 키(key)는 암호화 알고리즘과 결합하여 사용되는 파라미터로, 키에 대한 정보를 가진 개체는 해당 키를 재생산하거나 또는 암호화 과정을 역으로 수행할 수 있으며, 키에 대한 정보를 가지지 않은 개체는 상기 재생산 또는 역수행을 수행할 수 없다(A parameter used in conjunction with a cryptographic algorithm that determines its operation in such a way that an entity with knowledge of the key can reproduce or reverse the operation, while an entity without knowledge of the key cannot). 상호 인증(mutual authentication)은 상호간의 식별성을 보장하는 개체 인증을 의미한다(Entity authentication that provides both entities with assurance of each other's identity). 프라이버시(privacy)는 관련된 정보를 제어하거나 영향을 미치는 개인들의 권리는 공개될 대상에 의해 수집되고 저장될 수 있다(The right of individuals to control or influence what information related to them may be collected and stored and by whom and to whom that information may be disclosed). 부인(repudiation)은 개체로부터 요청된 이벤트나 액션을 부인하는 것을 의미한다(Denial by an entity of a claimed event or action.). 보안성(secure)은 모든 공격에 대해 취약하지 않으며, 취약한 공격을 견디거나 취약성에도 불구하고 공격으로부터 발생한 피해를 복구하는 것을 의미하며(Not vulnerable to most attacks, are able to tolerate many of the attacks that they are vulnerable to, and that can recover quickly with a minimum of damage from the few attacks that successfully exploit their vulnerabilities.), 보안(security)는 시스템을 보호하는 방안을 생성 및 유지하여 발생하는 시스템의 상태를 의미한다(A system condition that results from the establishment and maintenance of measures to protect the system). 민감한 데이터(sensitive data)는 의도치 않게 알려지거나 영향을 받는 이해관계자(stakeholder)의 동의 없이 변조될 경우 문제를 일으키는 이해관계자의 데이터의 분류를 의미한다(is a classification of stakeholder's data that is likely to cause its owner some adverse impact if either:- It becomes known to others when not intended,- It is modified without consent of the affected stakeholder). 구독(subscription)은 동의(aggrement)의 분류이며 상기 동의는 일정 기간 동안의 서비스의 사용(또는 소비 consumption)에 대한 제공자(provider)와 구독자(subscriber) 간의 동의를 의미한다. 구독은 통상 상업적인 동의를 의미한다(A classification of an agreement; where the agreement is between a provider and a subscriber for consumption of a service for a period of time. A subscription is typically a commercial agreement.). 신뢰(Trust)는 두 구성요소간의 관계를 의미하는데, 주어진 보안 정체를 침범하지 않는 미리 정의된 방식으로 y라는 구성 요소가 동작할 것이라는 확신을 구성요소 x가 가지고 있는 경우에만 구성요소 x는 구성요소 y를 신뢰하며 활동과 보안 정책의 셋으로 이루어진 관계를 가지게 된다(A relationship between two elements, a set of activities and a security policy in which element x trusts element y if and only if x has confidence that y will behave in a well defined way (with respect to the activities) that does not violate the given security policy). 검증(verification)은 특정한 요구사항이 만족되는 객관적인 증거의 제공을 통한 확인(confirmation)을 의미한다(Confirmation, through the provision of objective evidence, that specified requirements have been fulfilled).
M2M 애플리케이션은 서비스 로직(service logic)을 운영하며 oneM2M에서 특정한 개방형 인터페이스를 이용하여 M2M 공통 서비스를 사용하는 애플리케이션을 의미한다(applications that run the service logic and use M2M Common Services accessible via a set of oneM2M specified open interfaces. Specification of M2M Applications is not subject of the current oneM2M specifications). M2M 애플리케이션 기반(Infrastructure) 노드는 장비(M2M 애플리케이션 서비스 제공자의 물리적 서버들의 집합)이다. 상기 M2M 애플리케이션 기반노드는 데이터를 관리하며, M2M 애플리케이션 서비스의 조정 기능을 실행한다. 애플리케이션 기반노드는 하나 이상의 M2M 애플리케이션을 호스트(host)한다. (equipment (e.g. a set of physical servers of the M2M Application Service Provider) that manages data and executes coordination functions of M2M Application Services. The Application Infrastructure hosts one or more M2M Applications.).
M2M 애플리케이션 서비스는 M2M 애플리케이션의 서비스 로직을 통해 구현되는 것으로, M2M 애플리케이션 서비스 제공자(M2M Application Service Provider) 혹은 사용자가 운영(operation)한다(an M2M Application Service is realized through the service logic of an M2M Application and is operated by the User or an M2M Application Service Provider). M2M 애플리케이션 서비스 제공자는 M2M 애플리케이션 서비스를 사용자에게 제공하는 개체를 의미한다(is an entity (e.g. a company) that provides M2M Application Services to the User). M2M 국지 네트워크(M2M Area Network)는 기반 네트워크의 형태이며, M2M 게이트웨이, M2M 디바이스, 센싱/액츄에이션 장비(Sensing/Actuation Equipment) 간의 데이터 전송 서비스(data transport service)를 제공한다. M2M LAN(Local Area Network)는 이종의 통신 기술을 이용할 수 있으며, IP 접근을 지원할 수도, 하지 않을 수도 있다(Is a form of an Underlying Network that minimally provides data transport services among M2M Gateway(s), M2M Device(s), and Sensing&Actuation Equipment. M2M Local Area Networks can use heterogeneous network technologies that may or may not support IP access.).
필드 도메인(Field Domain)은 M2M 게이트웨이, M2M 디바이스, 센싱/액츄에이션 장비, M2M 국지 네트워크로 구성된다. 기반 도메인(Infrastructure Domain)은 애플리케이션 기반(Infrastructure)와 서비스 기반(Infrastructure)으로 구성된다(consists of M2M Devices, M2M Gateways, Sensing and Actuation (S&A) Equipment and M2M Area Networks). 센싱/액츄에이션 장비는 하나 이상의 M2M 애플리케이션 서비스와의 상호 작용에 의해 물리적 환경을 센싱하거나 또는 영향을 주는 기능을 제공한다. M2M 시스템과 상호 작용을 하지만 M2M 애플리케이션을 호스트하지는 않는다(equipment that provides functionality for sensing and/or influencing the physical environment by interacting with one or more M2M Application Services. Sensing and Actuation Equipment can interact with the M2M System, however does not host an M2M Application.). M2M 솔루션(M2M Solution)은 다음의 기준을 만족하도록 구현 또는 배치(deploy)된 시스템으로, 특정 사용자의 종단간(end-to-end) M2M 통신 요구 사항을 충족시키는 것을 의미한다. M2M 시스템은 M2M 솔루션을 구현 또는 배치(deploy)하는 시스템을 의미한다(A set of deployed systems satisfying all of the following criteria: 1. It satisfies the end-to-end M2M communication requirements of particular users; and 2. Some part of the M2M Solution is realized by including services compliant to oneM2M specifications). 기반 네트워크(Underlying Network)는 데이터 전송/연결 서비스를 위한 기능, 네트워크, 버스(busses) 또는 다른 기술들을 의미한다(Functions, networks, busses and other technology assisting in data transportconnectivity services).
도 1은 본 발명을 구성하는 시스템의 구성을 보여주는 도면이다. 도 1은 애플리케이션(Application)(110), 공통 서비스(Common Services)(120), 기반 네트워크 서비스(Underlying Network Services)(130)로 구성된다(This layered model comprises three layers: Application Layer, Common Services Layer and the Underlying Network Services Layer.). 이들은 각각 애플리케이션 계층(Application Layer), 공통 서비스 계층(Common Services Layer), 네트워크 서비스 계층(Network Services Layer)을 구성한다. 애플리케이션 계층은 oneM2M 애플리케이션들과 관련된 비즈니스 로직(business logic)과 조작 로직(operational logic)을 포함한다. 공통 서비스 계층은 oneM2M 애플리케이션을 작동시키는 oneM2M 서비스 기능(service function)으로 이루어진다. 이를 위해 관리(management), 디스커버리(discovery), 정책 집행(policy enforcement) 등을 적용한다.
공통 서비스 개체(common service entity)는 공통 서비스 기능의 구현 예(instantiate)이다. 공통 서비스 개체는 M2M 애플리케이션에 의해 사용되고 공유될 공통 서비스 기능의 서브셋(subset)을 제공한다. 공통 서비스 개체는 기반 네트워크의 기능을 이용하며 다른 공통 서비스 개체와 상호작용하여 서비스를 구현한다.
도 2는 본 발명을 구성하는 시스템을 상위 레벨의 기능적 관점에서 도시한 도면이다. 애플리케이션 개체(Application Entity, AE)(210)은 종단간(end-to-end) M2M 솔루션을 위한 애플리케이션 로직을 제공한다. 일 예로 차량 등의 집단적인 추적 애플리케이션(fleet tracking application), 원격 혈당 감시 애플리케이션(remote blood sugar monitoring application), 또는 원격 전력 검침과 제어 애플리케이션(remote power metering and controlling application) 등이 될 수 있다(Application Entity (AE): Application Entity provides Application logic for the end-to-end M2M solutions. Examples of the Application Entities can be fleet tracking application, remote blood sugar monitoring application, or remote power metering and controlling application.). 공통 서비스 개체(Common Services Entity, CSE)(220)는 서비스 기능의 집합으로써, 이러한 서비스 기능은 M2M 환경에 공통적으로 사용하는 기능이다. 이러한 서비스 기능은 참조점(Reference Points) X, Y를 통해 다른 기능으로 드러나며, 참조점 Z를 이용하여 기반 네트워크 서비스를 이용한다. 일 예로는 데이터 관리(Data Management), 디바이스 관리(Device Management), M2M 구독 관리(M2M Subscription Management), 위치 서비스(Location Service) 등이 될 수 있다. CSE에 의해 제공되는 서브기능(subfunction)은 논리적으로 CSF(Common service function)으로 이해될 수 있따. oneM2M 노드의 CSE내에 CSF 중 일부는 필수적(mandatory)이 되며 일부는 선택적(optional)이 될 수 있다. 마찬가지로 CSF 내의 서브기능들 역시 필수적 또는 선택적이 될 수 있다(Common Services Entity (CSE): A Common Services Entity comprises the set of "service functions" that are common to the M2M environments and specified by oneM2M. Such service functions are exposed to other entities through Reference Points X and Y. Reference point Z is used for accessing Underlying Network Service Entities.Examples of service functions offered by CSE are: Data Management, Device Management, M2M Subscription Management, Location Services etc. Such "subfunctions" offered by a CSE may be logically apprehended as Common Services Functions (CSFs). Inside a Common Services Entity (CSE), some of the CSFs can be mandatory and others can be optional. Also, inside a CSF, some subfunctions can be mandatory or optional (e.g., inside a "Device Management" CSF, some of the subfunctions like "Application Software Installation", "Firmware Updates", "Logging", "Monitoring", etc. can be mandatory or optional).).
기반 네트워크 서비스 기능(Underlying Network Services Function, NSF)(230)는 공통 서비스 개체에게 서비스를 제공한다. 서비스의 예로는 디바이스 관리, 위치 서비스(location services)와 디바이스 트리거링(device triggering)을 포함한다.(Underlying Network Services Entity (NSE): An Underlying Network Services Entity provides services to the CSEs. Examples of such services include device management, location services and device triggering. No particular organization of the NSEs is assumed.).
참조점(Reference Points)은 공통 서비스 기능에서 지원되는 것으로 X 참조점은 애플리케이션 기능의 구현(instantiation)과 공통 서비스 개체간의 참조점이다. Y 참조점은 두 공통 서비스 개체 간의 참조점이다. Z 참조점은 공통 서비스 개체와 하나의 네트워크 서비스 기능의 구현간의 참조점이다.
보다 상세히, X 참조점은 하나의 애플리케이션 개체(AE)가 공통 서비스 개체에 의해 지원되는 서비스를 사용할 수 있도록 한다. X 참조점을 통해 제공되는 서비스들은 공통 서비스 개체가 제공하는 기능에 의존적이며, 애플리케이션 개체와 공통 서비스 개체는 동일한 물리적 개체에 존재하거나 다른 물리적 개체에 따로 존재할 수 있다(This is the reference point between an Application Entity and a CSE. The X reference point shall allow an Application Entity to use the services provided by the CSE, and for the CSE to communicate with the Application Entity. The services offered via the X reference point are thus dependent on the functionality supported by the CSE. The Application Entity and the CSE it invokes may or may not be co-located within the same physical entity.). Y 참조점은 필요한 기능을 제공하는 다른 공통 서비스 개체의 서비스를 사용하고자 하는 공통 서비스 개체에게 그러한 사용을 가능하게 한다. Y 참조점은 서로 다른 M2M 물리 개체들의 공통 서비스 개체간에 존재할 수 있다. Y 참조점을 통해 제공되는 서비스들은 공통 서비스 개체가 제공하는 기능에 의존적이다(This is the reference point between two CSEs. The Y reference point shall allow a CSE to use the services of another CSE in order to fulfill needed functionality. Accordingly, the Y reference point between two CSEs shall be supported over different M2M physical entities. The services offered via the Y reference point are dependent on the functionality supported by the CSEs).. Z 참조점은 필요한 기능을 제공하는 기반 네트워크의 서비스 개체를 사용하고자 하는 공통 서비스 개체에게 그러한 사용을 가능하게 하며, 이는 전송과 연결 이외의 서비스를 제공한다. Z 참조점의 인스턴스(instance)는 기반 네트워크에서 제공되는 서비스에 의존적으로 구현된다. 두 개의 물리적 M2M 노드 간의 정보 교환은 기본 서비스를 제공하는 기반 네트워크의 전송(transport) 및 연결(connectivity) 서비스를 사용할 수 있다(This is the reference point between a CSE and the Underlying Network Services Entity. The Z reference point shall allow a CSE to use the services (other than transport and connectivity services) provided by the Underlying Network Services Entity in order to fulfill the needed functionality. The instantiation of the Z reference point is dependent on the services provided by the Underlying Network Services Entity. Information exchange between two M2M nodes assumes the usage of the transport and connectivity services of the Underlying Network Services Entity, which are considered to be the basic services.)
도 3은 본 발명을 구성하는 기능적 구조를 보여주는 도면이다. 도 3의 기능적 구조(Functional Architecture)에서 AE는 애플리케이션 개체, CSE는 공통 서비스 개체를 나타낸다. M2M 통신 서비스를 제공하기 위한 기능 구조의 구성 요소로 311, 312는 애플리케이션 전용 노드(Application Dedicated node, ADN), 313, 314는 애플리케이션 서비스 노드(Application Service Node, ASN)를 나타내며, 321 및 322는 중간 노드(Middle Node, MN)를 나타내며, 330은 기반 노드(Infrastructure Node, IN)를 나타낸다. 서로 다른 노드의 CSE들은 서로 동일하지 않으며, 노드 내의 CSE에 의해 지원되는 서비스에 의존적이다.
애플리케이션 전용 노드(311, 312)는 적어도 하나 이상의 응용 개체(AE)를 포함하며 공통 서비스 개체(CSE)를 포함하지 않는 노드이다. 애플리케이션 전용 노드(311, 312)는 X 참조점을 이용하여 중간 노드(321, 322) 또는 기반 노드(330)와 통신을 수행한다. (An Application Dedicated Node is a Node that contains at least one Application Entity and does not contain a Common Services Entity. An Application Dedicated Node communicates with a Middle Node or an Infrastructure Node over an X reference point.)
애플리케이션 서비스 노드(313, 314)는 하나의 공통 서비스 개체(CSE)를 포함하며 적어도 하나 이상의 애플리케이션 개체(AE)를 포함하는 노드이다. 애플리케이션 서비스 노드는 Y 참조점을 통하여 다음과 같이 통신한다. 하나의 중간 노드(321)와 통신하거나, 또는 하나의 기반 노드(330)와 통신한다. 상기 통신 방식은 정확히 하나의 중간 노드 또는 기반 노드와 통신할 수 있다. (An Application Service Node is a Node that contains one Common Services Entity and contains at least one Application Entity. An Application Service Node may communicate over a Y reference point with either: exactly one Middle Node, or exactly one Infrastructure Node.).
중간 노드(321, 322)는 하나의 공통 서비스 개체(CSE)를 포함하며 적어도 하나 이상의 애플리케이션 개체(AE)를 포함하는 노드이다. 중간 노드는 Y 참조점을 통하여 둘 이상의 노드들과 다음과 같이 통신하며 이는 배타적으로 동작하지 않는다. 하나 이상의 애플리케이션 서비스 노드들과 통신하거나, 하나 이상의 중간 노드들과 통신하거나, 또는 하나의 기반 노드와 통신한다. 중간 노드는 X 참조점을 이용하여 애플리케이션 전용 노드(313, 314)와 통신할 수 있다(A Middle Node is a Node that contains one Common Services Entity and may contain Application Entities. A Middle Node communicates over a Y references point with at least two other Nodes among either (not exclusively): one or more Application Services Nodes; one or more Middle Nodes; one Infrastructure Node. A Middle Node may communicate with Application Dedicated Nodes over an X reference point.).
기반 노드(330)는 하나의 공통 서비스 개체(CSE)를 포함하며 적어도 하나 이상의 애플리케이션 개체(AE)를 포함하는 노드이다. 중간 노드는 Y 참조점을 통하여 둘 이상의 노드들과 다음과 같이 통신한다. 하나 이상의 중간 노드들과 통신하거나, 및/또는 하나 이상의 애플리케이션 서비스 노드들과 통신한다. 기반 노드는 X 참조점을 이용하여 애플리케이션 전용 노드(313, 314)와 통신할 수 있다(An Infrastructure Node is a Node that contains one Common Services Entity and may contain Application Entities. An Infrastructure Node communicates over a Y reference point with either: one or more Middle Node(s); and/or one or more Application Service Node(s). An Infrastructure Node may communicate with one or more Application Dedicated Nodes over one or more respective X reference points.).
도 4는 본 발명의 일 실시예에 의한 공통 서비스 개체를 구성하는 도면이다. 도 4에서는 식별 정보의 처리 기능을 포함한다.
공통 서비스 개체가 제공하는 기능을 도 4와 같이 정리하면 식별(Addressing & Identification), 데이터 관리 및 저장(Data Management & Repository), 위치(Location), 보안(Security), 통신 관리/전달 핸들링(Communication Management / Delivery Handling), 등록(Registration), 세션 관리(Session Management), 디바이스 관리(Device Management), 구독/알림(Subscription/Notification), 연결 관리(Connectivity Management), 디스커버리(Discovery), 서비스 과금/정산(Service Charging/Accounting), 네트워크 서비스 표출/서비스 실행 및 트리거링(Network Service Exposure / Service execution and triggering ), 그룹 관리(Group Management) 등이 있다.
물론, 상기 기능 이외에도 시맨틱스(Semantics), 데이터 분석(Data Analytics), 애플리케이션 인에이블먼트(Application Enablement), 네트워크 서비스 기능 관리(Network Service Function Management)등도 포함할 수 있다.
각각의 기능에 대해 살펴보면 다음과 같다.
AID(Addressing and Identification)는 M2M 환경에서의 물리적, 논리적 리소스를 식별하고 조종하는데 필요한 정보를 제공한다. 논리적 리소스는 애플리케이션, CSE, 그리고 데이터와 같은 소프트웨어에 연관된 개체들이다. 물리적 리소스는 기반 네트워크와 M2M 디바이스들과 관련된 하드웨어 관련 개체들이다. AID CSF는 서로 상이한 타입의 M2M 식별자의 프로비저닝과 M2M 애플리케이션, CSE, M2M 디바이스들과 식별자를 결합하는 것을 지원한다(Addressing and Identification (AID) CSF provides information needed for identifying and manipulating physical and logical resources in M2M environment. The logical resources are entities related to software such as Applications, CSEs and Data. The physical resources are hardware related entities such as the entities in the Underlying Network and M2M Devices etc. The AID CSF provides for the provisioning of different types of M2M Identifiers and the association of such Identifiers with M2M Applications, CSEs, M2M Devices etc.).
CMDH(Communication Management and Delivery Handling)는 다른 CSE, AE, NSE간의 통신을 책임진다. CMDH는 어느 시각에 어떤 통신 연결을 이용하여 통신을 전달할 것인지(CSE-CSE간 통신), 언제 필요하고 언제 허가되는지, 그리고 통신의 전달이 이후로 미루어질 때 통신 요청을 저장하는 것을 책임진다. CMDH는 통신에 대한 각 요청에 특화된 프로비전된 정책과 전달 핸들링 파라미터에 따라 수행된다. 기반 네트워크 데이터 전송 서비스를 이용한 통신에서 기반 네트워크는 동일한 전달 핸들링 기능을 지원할 수 있다. 이 경우 CMDH는 기반 네트워크를 사용할 수 있으며, 기반 네트워크에 동일한 전달 핸들링 기능을 액세스하는 프런트엔드로 동작할 수 있다(The Communication Management and Delivery Handling (CMDH) CSF is responsible for providing communications with other CSEs, AEs and NSEs. The CMDH CSF is responsible to decide at what time which communication connection to use for delivering communication (e.g. CSE-to-CSE communication) and, when needed and allowed, store communication requests so that they can be forwarded at a later time. This processing in the CMDH CSF has to be carried out in line with the provisioned policies and delivery handling parameters that can be specific to each request for communication. For communication using the Underlying Network data transport services, the Underlying Network can support the equivalent delivery handling functionality. In such case the CMDH CSF is able to use the Underlying Network, and it may act as a front end to access the Underlying Network equivalent delivery handling functionality.)
DMR(Data Management and Repository)은 M2M 애플리케이션이 다른 개체와 데이터를 교환할 수 있도록 한다. DMR CSF는 데이터 저장 공간을 제공하고 이를 조정하는 기능을 제공한다. 또한 대량의 데이터를 수집하고 결합하거나, 데이터를 특정한 포맷으로 변환하거나, 또는 데이터를 분석 및 시맨틱 프로세싱을 위해 저장하는 기능을 포함한다. "데이터"라는 것은 M2M 디바이스로부터 투명하게 추출되는 로우 데이터(raw data)를 의미하거나 M2M 개체에 의해 계산 또는 결합되어 프로세싱된 데이터를 의미할 수 있다. 대량의 데이터를 수집하는 것은 빅데이터 저장 기능으로 알려진 것을 구성한다(One of the goals of oneM2M CSEs is to enable M2M Applications to exchange data with each other. Data Management and Repository (DMR) CSF is responsible for providing data storage and mediation functions. It includes the capability of collecting and aggregating large amounts of data, converting this data into a specified format, and storing it for analytics and semantic processing. The "data" can be either raw data transparently retrieved from M2M Device, or processed data which is calculated and/or aggregated by M2M entities. This collection of large amounts of data constitutes what is known as the Big Data Repository functionality.).
DMG(Device Management) CSF는 다음의 기능을 하나 이상 제공하는 디바이스 관리를 가능하게 한다. 애플리케이션 소프트웨어의 설치 및 세팅, 설정 세팅 및 프로비저닝, 펌웨어 업데이트, 로깅과 모니터링과 분석, 에어리어 네트워크의 토폴로지 관리, 그리고 에이러이 네트워크 관리 내의 디바이스를 포함한다. (Device Management (DMG) CSF enables the management of device capabilities including one or more of the following: Application Software installation and settings; Configuration settings and Provisioning; Firmware Updates; Logging, Monitoring, Diagnostics; Topology Management of Area Networks; Devices within an Area Network Management.)
DIS(디스커버리) CSF는 주어진 범위와 주제 내에서 허락된 권한(M2M 서비스 구독에서 허락된 것을 포함)과 주어진 범위 내에서 오리지네이터(Originator)로부터의 요청에 해당하는 정보와 리소스를 검색하는 것을 책임진다. 오리지네이터는 애플리케이션 또는 다른 CSE가 될 수 있다. 검색의 범위는 하나의 CSE가 되거나 다수의 CSE가 될 수 있다. 디스커버리 결과는 오리지네이터에게 리턴된다(Discovery (DIS) CSF is responsible for searching information/resources according to a "request" from an originator within a given scope and subject to permissions, including those allowed by M2M service subscription. An originator could be an Application or another CSE. The scope of the search could be in one CSE, or in more than one CSE. The discovery results are returned back to the originator.).
GMG(Group Management)는 요청과 관련된 그룹을 핸들링한다. 요청은 그룹과 그룹의 멤버십의 관리를 위해 전송되며 또한 그룹에 의해 지원되는 벌크 오퍼레이션도 담당한다. 그룹에 멤버를 추가 또는 삭제할 경우, 멤버가 그룹의 목적에 순응하는지를 확인할 필요가 있다. 벌크 오퍼레이션은 읽기, 쓰기, 구독하기, 알리기, 디바이스 관리 등을 포함한다. 요청 또는 구독은 그룹을 통하여 이루어지고, 그룹이 이러한 요청과 알림을 결합하는 것을 책임진다. 그룹의 멤버는 리소스에 대한 접근 권한에 대해 동일한 역할을 가진다. 이 경우, 접근 제어는 그룹에 의해 이루어진다. 기반 네트워크가 브로드캐스팅과 멀티캐스팅 기능을 제공할 경우, GMG CSF는 이러한 기능을 이용해야 한다(Group Management (GMG) CSF is responsible for handling Group related requests. The request is sent for the management of a Group and its membership as well as for the bulk operations supported by the Group. When adding or removing members to/from a Group, it is necessary to validate if the member complies with the purpose of the Group. Bulk operations includes read, write, subscribe, notify, device management, etc. Whenever a request or a subscription is made via the Group, the Group is responsible for aggregating its responses and notifications. The members of a Group can have the same role with regards to access rights control towards a resource. In this case, access control is facilitated by grouping. When the Underlying Network provides broadcasting and multicasting capability, the GMG CSF is able to utilize such capability.)
LOC(Location) CSF는 위치 기반 서비스를 위해 M2M 개체(예를 들어 M2M 디바이스와 게이트웨이)의 지리적 위치 정보를 M2M 애플리케이션이 습득할 수 있도록 한다. 동일한 또는 상이한 M2M 노드 내에 존재하는 M2M 애플리케이션으로부터 이러한 위치 정보가 요청될 수 있다. (The Location (LOC) CSF allows M2M Applications to obtain geographical location information of M2M entities (e.g., M2M Devices and Gateways) for location-based services. Such location information requests may be from M2M Applications residing on either the same or on different M2M Nodes.)
NSE(Network Service Exposure) CSF는 M2M 애플리케이션을 대신하여 M2M 시스템으로부터의 서비스 요청에 대한 사용 가능하거나 지원 가능한 방식을 Z 참조점을 통하여 네트워크 서비스 기능을 액세스 하기 위해 기반 네트워크와의 통신을 관리한다. NSE CSF는 다른 CSF와 AF를 기반 네트워크에서 지원되는 특정한 기술과 메커니즘으로부터 은폐한다. 기반 네트워크로부터 제공되는 네트워크 서비스 기능은 디바이스 트리거링, 스몰 데이터 전송, 위치 알림, 폴리시 룰 셋팅, 위치 질의, IMS 서비스, 디바이스 관리 등을 포함하지만 이에 한정되지는 않는다. 이러한 기능들은 일반적인 전송 서비스를 포함하지 않는다(Network Service Exposure, Service Execution and Triggering (NSE) CSF manages communications with the Underlying Networks for accessing network service functions over the Z reference point. The NSE CSF uses the available/supported methods for service "requests" on behalf of M2M Applications. The NSE CSF shields other CSFs and AFs from the specific technologies and mechanisms supported by the Underlying Networks. The network service functions provided by the Underlying Network include service functions such as, but not limited to, device triggering, small data transmission, location notification, policy rules setting, location queries, IMS services, device management. Such services do not include the general transport services.)
REG(Registration)는 애플리케이션 또는 다른 CSE가 CSE에 등록하도록 핸들링하는 것을 담당하는데, 이는 CSE에서 제공되는 서비스를 사용하려는 개체의 등록을 허락하기 위함이다. REG CSF는 CSE에 대한 디바이스의 등록 뿐만 아니라 디바이스의 특성/속성의 등록도 핸들링한다(Registration (REG) CSF is responsible for handling an Application or another CSE to register with a CSE in order to allow the registered entities to use the services offered by the registered-with CSE. The REG CSF handles registration of a Device also, so as to allow registration of Device's properties/attributes with the CSE.).
SEC(Security)는 주의를 요하는(센서티브) 데이터 핸들링 기능, 보안 운영 기능, 보안 결합 설정 기능, 권한 부여와 액세스 제어 기능, 식별 보호 기능을 제공한다. SEC CSF가 제공하는 센서티브 데이터 핸들링 기능은 저장과 조작 과정에서 보안이 필요한 로컬 크리덴셜을 보호하는 기능을 제공한다. 센서티브 데이터 핸들링 기능 역시 보안 알고리즘을 사용한다. 이 기능은 다양한 암호기법이 분리된 보안 환경을 지원한다. 보안 운영 기능은 다음의 기능을 제공하는데, 먼저 센서티브 데이터 핸들링 기능에 의해 지원되도록 전용된 보안 환경의 생성과 운영 기능을 제공한다. 또한 보안 환경에서 보호되는 루트 크리덴셜의 포스트 프로비저닝을 지원하며, M2M 서비스와 M2M 애플리케이션 서비스와 관련된 구독의 프로비저닝과 운영을 지원한다. 보안 결합 설정 기능은 M2M 노드들 간의 보안 결합을 설정하여 기밀성, 통합성, 인증, 권한 부여가 가능하도록 한다. 권한 부여와 액세스 제어 기능은 프로비전된 보안 정책과 할당된 롤에 따라 권한 부여된 개체로의 서비스와 데이터 접근을 제어한다. 개체의 유일한 식별자가 권한 부여에 사용되며, 식별 보호 기능은 개체 또는 사용자와 결합된 실제 식별 정보와 링크되지 않도록 임시의 식별자로 기능하는 익명을 제공할 수 있다(Security (SEC) CSF comprises the following functionalities: Sensitive Data Handling functionality; Security Administration functionality; Security Association Establishment functionality; Authorization and Access Control functionality; Identity Protection Functionality. Sensitive Data Handling functionality in the SEC CSF protects the local credentials on which security relies during storage and manipulation. Sensitive Data Handling functionality performs other sensitive functions as well such as security algorithms. This functionality is able to support several cryptographically separated security environments. Security Administration functionality enables services such as the following: Creation and administration of dedicated security environment supported by Sensitive Data Handling functionality; Post-provisioning of a root credential protected by the security environment; Provisioning and administration of subscriptions related to M2M services and M2M application services. Security Association Establishment functionality is responsible for establishing security association between corresponding M2M nodes, in order to provide services such as confidentiality, integrity, authentication, authorization, etc. Authorization and Access Control functionality is responsible for authorizing services and data access to authenticated entities, according to provisioned security policies and assigned roles. While unique identifier of an entity are used for authentication, the Identity Protection functionality provides pseudonyms which serve as temporary identifiers which cannot be linked to the true identity of either the associated entity or its user.)
SCA(Service Charging and Accounting)는 서비스 계층의 과금 기능을 제공한다. 온라인 과금과 오프라인 과금을 포함하는 상이한 과금 모델들을 지원한다. SCA CSF는 과금 가능한 이벤트를 확보하고, 정보를 저장하며, 과금 기록과 과금 정보를 생성한다. SCA CSF는 기반 네트워크의 과금 시스템과 상호작용 할 수 있다. 그러나 SCA CSF는 최종 서비스 레벨의 과금 정보를 생성하고 기록할 책임을 가진다. 기반 노드 또는 서비스 계층 과금 서버의 SCA CSF는 과금을 위한 과금 정보를 핸들링하는 것을 책임진다(Service Charging and Accounting (SCA) CSF provides charging functions for the Service Layer. It supports different charging models which include online charging and offline charging. The SCA CSF is responsible for capturing chargeable events, recording of information, generating charging records and charging information. The SCA CSF can interact with the charging system in the Underlying Network also. But the SCA CSF is responsible for generating and recording of the final service level charging information. It is the responsibility of the SCA CSF in the Infrastructure Node or the Service Layer Charging Server to handle the charging information for the purpose of charging.).
SMG(Session Management) CSF는 단대단 서비스 계층 연결인 M2M 서비스 세션을 관리한다. SMG CSF는 M2M 애플리케이션들 간의, 또는 M2M 애플리케이션과 CSE 간의, 또는 CSE들 간의 M2M 서비스 세션을 관리한다. M2M 서비스 세션의 관리는 세션 상태의 관리, 세션 인증과 설립, 세션과 관련된 기반 네트워크 연결 및 서비스의 관리, CSE의 멀티 홉인 cse의 세션 확장의 조정, 세션 종단간의 정보의 교환, 그리고 세션의 종료를 포함한다. 주어진 M2M 서비스 세션내에서 다음 홉의 CSE 또는 애플리케이션으로/부터의 메시지 송수신을 위해 SMG CSF는 로컬 CSE 내의 CMDH CSF를 이용한다. SMG CSF는 세션 참가자의 보안 크리덴셜과 인증과 관련된 세션 관리를 위해 SEC CSF를 이용한다. SMG CSF는 세션에 특화된 과금 이벤트를 생성하며 로컬 CSE 내의 SCA CSF와도 통신한다(An M2M service session is an end-to-end Service Layer connection managed by the Session Management (SMG) CSF. The SMG CSF manages M2M service sessions between M2M Applications, between an M2M Application and a CSE, or between CSEs. The management of a M2M service session includes capabilities such as the management of session state, session authentication and establishment, management of Underlying Network connections and services related to the session, coordination of sessions spanning multiple hops of CSEs, exchange of information between session endpoints, and session termination. The SMG CSF uses the CMDH CSF within its local CSE for sending/receiving messages to/from the next-hop CSE or to/from an Application for a given M2M service session. The SMG CSF also uses the SEC CSF for the management of session related security credentials and authentication of session participants. The SMG CSF generates session specific charging events also that it communicates to the SCA CSF within its local CSE.).
SUB(Subscription and Notification)는 구독을 유지하는 알림을 제공하며, 리소스의 변화(예를 들어 리소스의 삭제)를 트래킹한다. 리소스의 구독은 M2M 애플리케이션 또는 CSE에 의해 시작되며, 호스팅 CSE에 의해 접근 권한이 그랜트된다. 활성화된 구독 중에 호스팅 CSE는 구독된 리소스의 변화가 발생하는 경우 구독한 소유자에게 알림을 전송한다(The Subscription and Notification (SUB) CSF is responsible for providing notifications pertaining to a subscription that tracks changes on a resource (e.g., delete a resource). A subscription to a resource is initiated by an M2M Application or a CSE, and is granted by the hosting CSE subject to access rights. During an active subscription, the hosting CSE sends a notification to the owner of the subscription to notify of a change on the subscribed-to resource.)
상기 도 4 및 그에 대한 설명은 공통 서비스 개체를 구현하는 실시예들이며 본 발명이 이에 한정되지는 않는다.
한편, 본 발명을 구현하기 위해 필요한 식별자(identifier)를 살펴보면 다음과 같다. M2M 식별자로는 M2M-SP-ID(M2M Service Provider Identifier), App-Inst-ID(Application Instance Identifier), App-ID(Application Identifier), CSE-ID(CSE Identifier), M2M-Node-ID(M2M Node Identifier/Device Identifier), M2M-Sub-ID(M2M Service Subscription Identifier), M2M-Request-ID(Request Identifier)가 있다.
이하의 M2M 프레임워크, M2M 시스템, M2M 아키텍처는 서로 혼용 가능한 단어이다.
M2M 서비스 제공자는 M2M-SP-ID에 의해 유일하게(unique) 식별되어야 한다. M2M-SP-ID는 서비스 제공자에게 할당되는 정적인 값(static value)이다(An M2M Service Provider shall be uniquely identified by the M2M Service Provider Identifier (M2M-SP-ID). This is a static value assigned to the Service Provider.). App-Inst-ID는 M2M M2M 노드에 존재하는 애플리케이션 인스턴스(M2M Application Instance)를 유일하게 식별하는 식별자이거나, 또는 M2M 노드와 상호작용하는 M2M 애플리케이션 인스턴스를 식별하는 식별자이다. App-Inst-ID는 M2M 프레임워크 내에서 애플리케이션으로부터 발생하거나 또는 애플리케이션으로 향하는 상호작용하기 위해 애플리케이션을 식별하는데 사용된다(An Application Instance Identifier (App-Inst-ID) uniquely identifies an M2M Application instance resident on an M2M node, or an M2M Application instance that requests to interact with an M2M node. An App-Inst-ID shall identify an Application for the purpose of all interactions from/to the Application within the M2M framework.). M2M 서비스 제공자는 App-Inst-ID가 전체적으로(globally) 유일할 것을 보장해야 하며 App-Inst-ID는 애플리케이션 식별자(App-ID)를 포함한다(It is the responsibility of the M2M Service Provider to ensure that the App-Inst-ID is globally unique. The App-Inst-ID shall include the Application ID). App-ID는 애플리케이션에 대응하는 것으로, 전체적으로 유일할 것을 보장하지 않는다(This is equivalent to the application name and is not guaranteed to be globally unique on its own.).
CSE-ID는 CSE를 식별하며 전체적으로 유일한 식별자로 M2M 아키텍처 내의 M2M 노드에서 CSE가 인스턴스화될 때 사용된다. M2M 프레임워크내에서 CSE로부터 또는 CSE로 향하는 모든 상호작용에서 CSE를 식별하는데 CSE-ID가 사용된다(A CSE shall be identified by a globally unique identifier, the CSE-ID, when instantiated within an M2M node in the M2M architecture. The CSE-ID shall identify the CSE for the purpose of all interactions from/to the CSE within the M2M framework.).
M2M-Node-ID는 CSE 및/또는 애플리케이션을 호스팅하는 M2M 노드를 전체적으로 유일하게 식별한다. M2M 시스템은 M2M 서비스 제공자가 CSE-ID와 M2M-Node-ID를 같은 값으로 설정한다. M2M-Node-ID는 M2M 서비스 제공자가 CSE-ID와 특정 M2M 노드를 바인딩 할 수 있도록 한다(An M2M node, hosting a CSE and/or Application(s) shall be identified by a globally unique identifier, the M2M-Node-ID. The M2M system shall allow the M2M Service Provider to set the CSE-ID and the M2M-Node-ID to the same value. The M2M-Node-ID enables the M2M Service Provider to bind a CSE-ID to a specific M2M node.).
M2M-Sub-ID는 M2M 서비스 제공자가 애플리케이션, M2M 노드, CSE들을 특정한 M2M 서비스 구독(service subscription)으로 바인딩할 수 있도록 한다. 따라서 M2M-Sub-ID는 M2M 서비스 제공자에 속하며, M2M 서비스 제공자에 대한 구독을 식별하도록 하며, M2M 서비스 제공자와의 통신을 가능하게 하며, M2M 기반 네트워크 구독 식별자(M2M Underlying Network Subscription Identifier)와 구별되며 M2M 서비스 제공자의 변경에 따라 변경될 수 있다. M2M 기반 네트워크에 대해 다수의 M2M-Sub-ID가 존재할 수 있다(The M2M-Sub-ID enables the M2M Service Provider to bind application(s), M2M nodes, CSEs to a particular M2M service subscription. The M2M Service Subscription Identifier has the following characteristics: belongs to the M2M Service Provider, identifies the subscription to an M2M Service Provider, enables communication with the M2M Service Provider, can differ from the M2M Underlying Network Subscription Identifier, changes with the change of the M2M Service Provider. There can be multiple M2M Service Subscription Identifiers per M2M Underlying Network subscription.).
M2M-Request-ID(M2M 요청 식별자)는 CSE로부터 시작되는 요청을 단대 단으로 트래킹하는 식별자이다. 이는 또한 요청에 대한 응답에 포함된다. M2M-Request-ID는 요청을 초기화한 CSE에 의해 할당된다. CSE에 의해 시작된 요청은 애플리케이션 요청의 결과일 수도 있고, 서비스를 만족시키기 위해 CSE에서 자동으로 시작한 요청의 결과일 수도 있다. 여기서 피어 CSE로부터 요청을 수신한 CSE는 수신한 M2M-Session-ID를 부가하여 생성되는 모든 요청(수신된 요청의 전파인 경우 포함)에 포함시켜야 하며, 적용 가능한 경우 수신된 요청과 결합될 수 있다. 적용 가능한 경우 기반 네트워크와의 상호 작용에 동일한 M2M-Session-ID를 포함시킬 수 있다. M2M-Request-ID는 전체적으로 유일해야 한다(This is an identifier that tracks a Request initiated by a CSE end to end. It is also included in the Response to the Request. The M2M-Request-ID is allocated by the CSE initiating the Request. The Request initiated by the CSE could be the result of an Application Request, or a Request initiated autonomously by the CSE to fulfil a service. Hence, a CSE receiving a Request from a peer CSE shall include the Received M2M-Request-ID in all additional Requests it has to generate (including propagation of the incoming Request) and that are associated with the incoming Request, where applicable. The CSE shall include the same M2M-Request-ID in its interactions with the Underlying Network, where applicable. An M2M-Request-ID allocated to a Request by a CSE shall be globally unique.).
도 5는 본 발명의 일 실시예에 의한 참조점에서의 통신 흐름을 보여주는도면이다.
510은 오리지네이터(originator)이며 520은 리시버(receiver)이며, 양 개체 간의 정보 교환은 애플리케이션과 CSE간에 X 참조점을 통하여, 혹은 CSE 간에 Y 참조점을 통하여 이루어진다. 또한 전송(Send)와 응답(Respond)로 정보의 교환이 이루어진다. 전송 요청(Send request)는 오리지네이터(510)로부터 리시버(520)로 이루어지며 다음의 정보를 포함한다.
"op"는 실행할 오퍼레이션으로 C(Create), R(Retrieve), U(Update), D(Delete)를 포함한다. "to"는 타겟 리소스의 주소이며, "fr"은 오리지네이터를 나타내는 리소스의 주소를 의미한다. "hd"는 전송 요청에 대한 메타 정보를 포함하는 헤더이며 "cn"은 전송될 컨텐츠를 의미한다.
상기 to는 오리지네이터에 의해 알려진 타겟 리소스가 될 수 있으며 이는선-프로비저닝(pre-provisioning) 시에 또는 디스커버리에 의해 알려질 수 있다. 또한 "mi" 필드를 더 포함할 수 있으며 이는 요청에 대한 메타 정보를 의미한다.
도 6은 본 발명의 일 실시예가 적용되는 공통 서비스 개체의 아키텍쳐를 보여주는 도면이다. 공통 서비스 개체는 공통 서비스 기능(Common Service Function)의 셋과 인에이블러 기능(Enabler Function)의 셋을 포함한다. 인에이블러 기능은 서비스 확장 인에이블러(Service Extension Enabler)와 그 외 인에이블러(Other enabler)로 구성되며, 서비스 확장 인에이블러는 CSE가 X, Y 참조점을 통하여 M2M 서비스를 제공하는 것을 가능하게 한다. 서비스 확장 인에이블러는 다음의 기능을 제공한다. i) 모듈 인증을 체크하며, ii) 노드 리스스를 체크하며 iii) 존재하는 모듈간의 상호동작성을 체크하며, iv) 충돌을 어떻게 다룰 것인지를 결정하기 위해 폴리시와 권한을 체크하는데, 이는 새로운 모듈을 등록하지 않거나 존재하는 모듈의 등록을 해제할 수 있다, 또한 v) 새로운 모듈을 등록시키고, vi) 새로운 모듈이 서비스 리스트에 추가되므로 새로운 서비스를 추가하며 vii) 새로운 서비스 능력을 반영하여 API를 변경하며, viii) 새로운 모듈을 결합하기 위해 모듈간 통신을 변경한다(The CSE comprises of a set of Common Service Functions (CSFs) and a set of Enabler Functions (EFs). The Services Extension Enabler enables the CSE to offer M2M Services over the X and Y reference points. The Services Extension Enabler provides the following functions: 1. Check module authentication. 2. Check node resources. 3. Check interoperability with existing modules. 4. Check policy and rights to determine how to handle conflicts e.g. Do not register new module or deregister existing module, etc. 5. Register new module. 6. Add new service(s) due to new module to list of services. 7. Modify API support to reflect new service capabilities. 8. Modify inter-module communications to incorporate new module)
oneM2M은 시스템을 구현하기 위해 충족시켜야 할 요구사항으로 전반적인 시스템 요구사항(Overall System Requirements), 관리 요구사항(Management Requirements), 데이터 모델과 의미 요구사항(Data Model & Semantics Requirements), 보안 요구사항(Security Requirements), 과금 요구사항(Charging Requirements), 운영 요구사항(Operational Requirements)을 제시하고 있다.
본 명세서에서는 M2M, 특히 oneM2M을 중심으로 설명한다. 그러나 이러한 설명이 M2M에만 한정되는 것은 아니며, 기기간 통신, 즉 사물 통신을 제공하는 모든 시스템 및 구조와 이들 시스템에서 발생하는 통신에 적용 가능하다.
이하, M2M 시스템에서 요청(request)에 관련한 다수 애플리케이션 서비스 노드의 동작 신뢰성 확보에 관한 것으로, 보다 상세하게는 일시적 오류로 요청 정보(request information)의 하나 이상의 프레임이 유실되거나 유효하지 않을 때 요청을 재전송하거나 혹은 이를 알리는 등의 재 요청과정과 이를 위한 구성에 관한 것이다.
본 발명에서는 애플리케이션 서비스 노드에서 요청 메시지의 유효성을 검증하여 유효하지 않을 경우에는 해당 요청 메시지를 재전송하도록 중간 노드에게 요청 하는 기술로 애플리케이션 서비스 노드에서의 동작 신뢰성을 확보한다. 중간 노드는 최초에 요청 메시지를 전송했던 기반 노드에 요청 메시지의 재전송을 요청하고, 이를 애플리케이션 서비스 노드에 전송하는 중간 역할을 수행한다. 또한 중간 노드가 직접 요청 메시지의 오류를 복구하여 애플리케이션 서비스 노드에게 전달할 수도 있다.
본 명세서에서 디바이스 노드(device node), 애플리케이션 서비스 노드(ASN)는 치환하여 사용할 수 있는 용어이다.
도 7은 본 발명의 실시예를 구현하는 애플리케이션 서비스 노드와 중간 노드의 구성을 보여주는 도면이다. 710은 애플리케이션 서비스 노드의 구성을 보여주며 750은 중간 노드의 구성을 보여준다.
중간 노드(750) 및 애플리케이션 서비스 노드(710)로 구성된 M2M 네트워크의 애플리케이션 서비스 노드(710)를 살펴보면 다음과 같다. 통신관리/전달핸들링(Communication Management and Delivery Handling)부(716)는 중간 노드(750)와 메시지를 송수신한다. 데이터관리/저장(Data Management and Repository)부(714)는 전송할 메시지를 생성하거나 수신한 메시지를 저장하며, 구독/알림(Subscription and Notification)부(712)는 메시지의 권한을 확인한다. 보다 상세히 상기 통신관리/전달핸들링부(716)가 중간 노드(750)로부터 요청 메시지를 수신하면, 상기 데이터관리/저장부(714)는 상기 수신한 메시지를 저장하고 유효성을 검증하며, 상기 구독/알림부(712)는 상기 수신한 메시지의 요청 노드의 접근 권한을 확인하며, 상기 통신관리/전달핸들링부(716)는 상기 데이터관리/저장부(714)의 검증 또는 구독/알림부(712)의 확인 결과 요청 메시지에 오류가 없는 경우 상기 중간 노드(750)로 응답 또는 요청된 결과를 포함하는 결과 메시지를 전송하고, 오류가 있을 경우 상기 중간 노드(750)로 오류 결과를 포함하는 결과 메시지를 전송한다.
여기서 오류는 권한(access right) 오류, 신택스(syntax) 오류, 시맨틱(semantic) 오류 중 어느 하나 이상이 될 수 있으며, 구독/알림부(712)는 권한 오류를 확인한다. 데이터관리/저장부(714)는 신택스 또는 시맨틱 오류를 확인하며, 상기 오류를 복구하여 오류가 없도록 메시지를 변환하는 기능도 포함한다.
보다 상세히, 오류가 있을 경우, 애플리케이션 서비스 노드(710)의 통신관리/전달핸들링부(716)는 상기 중간 노드(750)로부터 상기 오류가 제거된 제 2 요청 메시지를 수신할 수 있다.
애플리케이션 서비스 노드(710)가 수신하는 요청 메시지가 다수의 애플리케이션 서비스 노드로 전송되어 모두 성공적으로 수행되는 것이 요구되는 경우에는 애플리케이션 서비스 노드(710)에서 요청 메시지를 성공적으로 처리하기 위해 권한 오류인 경우 권한을 부여해 줄 것을 중간 노드(750)에게 요청할 수 있다.
일 실시예로, 상기 요청 메시지에 권한 오류가 있으며, 상기 요청 메시지가 상기 애플리케이션 서비스 노드(710)를 제외한 하나 이상의 제 2 애플리케이션 서비스 노드에게도 전송된 요청 메시지이며 상기 요청 메시지가 상기 애플리케이션 서비스 노드(710) 및 상기 제 2 애플리케이션 서비스 노드에서의 실행 성공을 요구하는 경우, 상기 데이터관리/저장부(714)는 상기 중간 노드(750)에게 상기 요청 메시지에 권한을 부여할 것을 요청하도록 상기 결과 메시지를 생성할 수 있다. 생성된 결과 메시지는 중간 노드(750)로 전송된다.
다른 실시예로 상기 요청 메시지에 권한 오류가 있으며, 상기 요청 메시지가 상기 애플리케이션 서비스 노드(710)를 제외한 하나 이상의 제 2 애플리케이션 서비스 노드에게도 전송된 요청 메시지이며 상기 요청 메시지가 상기 애플리케이션 서비스 노드 및 상기 제 2 애플리케이션 서비스 노드에서의 실행 일치성을 요구하는 경우, 상기 데이터관리/저장부(714)는 상기 중간 노드(750)에게 상기 제 2 애플리케이션 서비스 노드에 수행된 상기 요청 메시지의 롤백(roll-back)을 요청하도록 상기 결과 메시지를 생성할 수 있다. 생성된 결과 메시지는 중간 노드(750)로 전송된다.
또다른 실시예로 오류가 발생한 요청 메시지가 상기 애플리케이션 서비스 노드(710)가 앞서 수신하여 실행한 오퍼레이션을 지시한 메시지 정보를 포함하며, 상기 오퍼레이션은 오류가 발생한 요청 메시지와 동일한 실행 결과, 예를 들어 모두 성공하거나 모두 실패로 종료하는 것을 요청하는 상황이라면, 앞서 실행한 오퍼레이션을 지시한 메시지를 성공적으로 수신 및 실행하였어도 다시 롤백하는 과정이 필요하다. 즉, 상기 요청 메시지에 오류가 있으며, 상기 요청 메시지가 상기 애플리케이션 서비스 노드(710)가 이전에 수신한 제 2 요청 메시지와 동일한 실행 결과를 필요로 하는 메시지인 경우, 상기 데이터관리/저장부(714)는 상기 제 2 요청 메시지의 롤백을 실행하고, 상기 제 2 요청 메시지의 롤백을 알리도록 상기 결과 메시지를 생성할 수 있다. 생성된 결과 메시지는 중간 노드(750)로 전송된다.
다음으로 중간 노드(750) 및 애플리케이션 서비스 노드(710)로 구성된 M2M 네트워크의 중간 노드(750)를 살펴보면 다음과 같다. 통신관리/전달핸들링(Communication Management and Delivery Handling)부(754)는 요청 메시지를 애플리케이션 서비스 노드(710)으로 전송하며 상기 애플리케이션 서비스 노드(710)으로부터 메시지를 수신한다. 데이터관리/저장(Data Management and Repository )부(752)는 전송할 메시지를 생성하거나 수신한 메시지를 저장한다. 보다 상세히, 상기 통신관리/전달핸들링부(754)가 오류가 포함된 결과 메시지를 수신한 경우, 상기 데이터관리/저장부(752)는 오류 결과가 포함된 결과 메시지를 이용하여 오류의 유형을 확인하고 유형에 따른 처리를 수행한다.
오류가 발생한 경우 중간 노드(750)는 오류를 제거(복구)한 새로운 요청 메시지를 애플리케이션 서비스 노드로 전송할 수 있다. 상기 통신관리/전달핸들링부(754)는 상기 애플리케이션 서비스 노드에게 상기 오류가 제거된 제 2 요청 메시지를 전송한다. 여기서 오류는 권한(access right) 오류, 신택스(syntax) 오류, 시맨틱(semantic) 오류 중 어느 하나 이상이 될 수 있다.
애플리케이션 서비스 노드(710)가 수신하는 요청 메시지가 다수의 애플리케이션 서비스 노드로 전송되어 모두 성공적으로 수행되는 것이 요구되는 경우에는 애플리케이션 서비스 노드(710)에서 요청 메시지를 성공적으로 처리하기 위해 권한 오류인 경우 권한을 부여해 줄 것을 중간 노드(750)에게 요청할 수 있다.
일 실시예로 상기 요청 메시지에 권한 오류가 있으며, 상기 요청 메시지가 상기 애플리케이션 서비스 노드(710)를 제외한 하나 이상의 제 2 애플리케이션 서비스 노드에게도 전송된 요청 메시지이며 상기 요청 메시지가 상기 애플리케이션 서비스 노드(710) 및 상기 제 2 애플리케이션 서비스 노드에서의 실행 성공을 요구하는 경우, 상기 통신관리/전달핸들링부(754)는 상기 요청 메시지에 권한을 부여할 것을 요청하는 결과 메시지를 수신하며, 상기 데이터관리/저장부(752)는 상기 결과 메시지에서 요청한 권한을 부여하여 제 2 요청 메시지를 생성한다. 상기 제 2 요청 메시지는 다시 애플리케이션 서비스 노드(710)으로 재전송된다.
다른 실시예로 상기 요청 메시지에 권한 오류가 있으며, 상기 요청 메시지가 상기 애플리케이션 서비스 노드(710)를 제외한 하나 이상의 제 2 애플리케이션 서비스 노드에게도 전송된 요청 메시지이며 상기 요청 메시지가 상기 애플리케이션 서비스 노드(710) 및 상기 제 2 애플리케이션 서비스 노드에서 실행 일치성 요구하는 경우, 상기 통신관리/전달핸들링부(754)는 상기 애플리케이션 서비스 노드(710)로부터 상기 제 2 애플리케이션 서비스 노드에 수행된 상기 요청 메시지의 롤백(roll-back)을 요청하는 결과 메시지를 수신하며, 상기 데이터관리/저장부(752)는 상기 제 2 애플리케이션 서비스 노드에게 롤백을 지시하는 제 2 요청 메시지를 생성한다. 상기 제 2 요청 메시지는 제 2 애플리케이션 서비스 노드에게 전송되고, 제 2 애플리케이션 서비스 노드는 이미 실행한 혹은 전송되었던 앞서의 메시지에 의한 오퍼레이션을 취소하고 원상태로 복원하는 롤백을 수행한다.
도 8은 본 발명의 일 실시예에 의한 애플리케이션 서비스 노드가 수신한 요청 메시지에 오류가 발생한 경우를 보여주는 도면이다. 애플리케이션 서비스 노드 A(801)와 애플리케이션 서비스 노드 B(802)는 중간 노드(805)로부터 요청 메시지를 수신하지만 애플리케이션 서비스 노드 A(801)는 890과 같이 오류가 발생한 것을 확인한다. 이 경우 애플리케이션 서비스 노드 A(801)가 오류에 대응하기 위해 앞서 도 7의 구성을 이용하여 요청 메시지의 오류를 중간 노드에게 알릴 수 있다.
다시 설명하면, 중간 노드(805)에서 애플리케이션 서비스 노드(801, 802)로 요청(request) 또는 응답(response)을 전송하는 과정에서, 예기치 못한 간섭이나 CSF의 시맨틱/신택스(semantic/syntax) 오류로 요청/응답 정보에 포함되어야 하는 요소가 유실되거나 유효하지 않을 수 있다. 요청/응답 정보의 유효성을 애플리케이션 서비스 노드(801, 802)의 CSE에서 검증하여 유효하지 않을 시, 다시 정상적인 요청/응답를 받거나 복구할 수 있는 방법 필요하다. 따라서 중간 노드(805)와 애플리케이션 서비스 노드(801, 802)간 동시 동작이 보장되어야 하는 경우에, 이를 보장할 수 있도록 절차 및 방법을 구현한다. 이를 위해 원래의 요청/응답을 복원/재전송 받을 수 있는 절차 필요하며, 특히, 다수의 애플리케이션 서비스 노드가 정상적으로 동작함을 보장해야 하는 경우 요청의 복원은 매우 중요하므로 본 발명은 상기의 경우에 적용할 수 있다. 예를 들어, 공장 간 파이프라인을 통한 물질 거래일 경우, 양단에 위치한 장치(device)가 모두 동작함을 보장해야 할 경우, 본 발명을 적용할 수 있다.
이하 유효성을 검증하게 되는 메시지를 요청 메시지라고 지시한다. 특정한 메시지에 대한 응답인 경우에도 유효성 검증이 필요한 응답 메시지는 요청 메시지에 해당한다. 도면 내에 각 개체들간에 참조점 X, Y, Z가 표시될 수 있다.
도 9는 본 발명의 실시예에 따라 구성되는 M2M 시스템의 구조를 보여주는 도면이다. 각 노드들이 서로 통신하는 절차를 설명한다. 노드라 함은 ASN(애플리케이션 서비스 노드)(901, 902), 중간 노드(905)와 기반 노드(909) 모두 포함하며, CSE(Common Service Entity)내의 기능은 도 9에 명시된 디바이스 관리, 연결 관리 등에 국한되지 않고 CSE가 포함할 수 있는 모든 기능에 관한 것이다. 도 9의 다수의 ASN들(901, 902)이 중간 노드(905), 그리고 기반 노드(909)로부터 요청을 받고(S910, S921, S922), 그 요청 정보의 유효성을 검증하여 유효하지 않을 경우 재요청을 하는 과정을 설명하고 있다. 상세하게는, 요청 정보는 헤더(header), 오퍼레이션(operation), 타겟(target), 발신(from), 컨텐츠(contents) 등의 정보로 이루어져 있는데, 이 정보들 중 하나라도 유실되거나 유효하지 않은 값으로 구성되었을 때 ASN(901)에서 이를 검증하는 기능을 가진다. ASN(901)이 다른 노드로부터 받은 요청의 유효성을 검증하여 정상일 경우에는 요청 받은 일련의 작업을 수행하고, 그렇지 않은 경우에는 해당 요청을 ASN(901)에게 전송했던 중간 노드(905)에게 요청의 재전송을 요청할 수 있다(S930). ASN(901)에게 요청의 재전송을 요청 받은 중간 노드(905)는 기반 노드(909)에게 이를 요청하여(S940, S950) 다시 ASN(901)으로 요청을 전송함으로써, ASN(901)의 유효성 검증 결과 요청 정보가 유효하지 않아 수행할 수 없었던 요청 작업이 정상적으로 수행될 수 있도록 할 수 있다.
도 10은 본 발명의 실시예에 따라 구성되는 M2M 시스템의 구조를 보여주는 도면이다. 도면의 CMDH, DMR, GMG는 각각 통신관리/전달핸들링부, 데이터관리/저장부, 그룹관리부이다. 중간 노드(1005)는 ASN A(1001) 및 ASN B(1002)로 요청을 전송한다(S1011, S1012). ASN A(1001) 및 ASN B(1002)는 각각 요청 정보의 유효성을 검증한다(S1021, S1022). 요청 정보에 대한 유효성 검증 결과는 중간 노드(1005)로 전송된다(S1031, S1032). 이때, ASN A(1001)가 전송한 유효성 검증 결과는 오류가 발생하였다는 정보를 포함한다. 그 결과 중간 노드(1005)는 검증결과 및 추가적인 결과 정보(additional result Information)를 토대로 각 유형별 적정한 처리를 수행한다. 예를 들어 기반 노드(1009) 또는 다른 중간 노드(1007)로 오류가 제거된 요청 메시지를 전송할 것을 지시할 수 있다(S1041, S1042).
도 11은 본 발명에서 구성하는 M2M 시스템에서 각 노드 상호간 정보의 전송 흐름을 도시한 도면이다. 본 M2M 시스템을 구성하는 M2M 장치들은 애플리케이션 서비스 노드(1101), 중간 노드(1105), 기반 노드(1109)로 그 기능과 역할에 따라서 구분할 수 있으며 서로 데이터를 전송할 수 있다. 기반 노드(1109)에서 Y 참조 점을 통해 요청(메시지)인 'A'를 전송하며(S1110) 여기서 Y 참조점은 기반 노드(1109)와 중간 노드(1105) 상호 간 참조할 수 있는 인터페이스 역할을 한다. 중간 노드(1105)에서는 전송 받은 요청 프레임(request frame)을 분석(파싱)하여(S1120) 타겟이 되는 애플리케이션 서비스 노드(targeted ASN)를 추출하여(S1130) 본 M2M 시스템에 관련된 여러 애플리케이션 서비스 노드들 중 해당 애플리케이션 서비스 노드(1101)에게 요청 메시지인 'A'를 전달한다(S1140). 애플리케이션 서비스 노드(1101)의 CSF(Common Service Function)에서는 전송 받은 요청의 정보가 유효한지를 검증 후(S1150) 그 결과에 따라 요청된 오퍼레이션(또는 컨텐츠)을 실행할 것인지(S1180), 중간 노드(1105)에게 요청 메시지의 재전송을 요청할지(1170)를 결정한다(S1160). 요청 정보가 유효하지 않아 애플리케이션 서비스 노드(1101)에서 중간 노드(1105)에게 재전송을 요청할 경우, 중간 노드(1105)는 기반 노드(1109)에 해당 요청의 전송을 요청한다(S1170).
도 12 내지 도 14는 애플리케이션 서비스 노드와 중간 노드, 그리고 기반 노드의 구성요소가 본 발명의 일 실시예를 구현하기 위해 동작하는 과정을 보여주는 도면이다. 도 12 내지 도 14는 하나의 동작 흐름을 나타낸 것으로 동일한 참조 번호는 동일한 단계 또는 동일한 구성 요소를 지시한다. 도 12 내지 도 14의 ASN은 애플리케이션 서비스 노드(1200)를 의미하며 MN은 중간 노드(1204), IN은 기반 노드를 의미한다. 또한 SUB는 구독/알림부, DMR은 데이터저장/관리부, CMDH는 통신관리/전달핸들링부를 의미한다. 따라서 ASN-SUB는 애플리케이션 서비스 노드의 구독/알림부를 의미한다.
도 12에서 IN-CMDH(1209)는 요청 메시지를 전송하고(S1210), MN-DMR(1206)은 요청 메시지를 저장한 후(S1220), 요청 메시지 'A'에 태그 'mi'를 부여한 후(S1222), MN-CMDH(1205)에게 요청 메시지 전송을 지시하고(S1224), MN-CMDH(1205)는 요청 메시지를 ASN-CMDH(1203)에게 전송한다(S1230, S1240). 이후 ASN-DMR(1202)는 요청 메시지를 저장하고(S1250), 저장한 메시지를 검증한다(S1252). 상기 ASN-SUB(1201)도 검증을 수행한다. 검증 결과 유효한지 확인하여(S1254), 유효하면, 응답 메시지의 'rs'에 'okay'로 설정하여(S1256) 응답 메시지(성공)를 전송한다(S1260). 전송된 메시지는 MN-CMDH(1205)가 수신한다(S1270). 한편 ASN-DMR(1202)은 'mi' 태그의 추가 검증에 필요한 정보를 저장한다(S1280). 도 13으로 연결하여 본 과정을 살펴보면, ASN-DMR(1202)은 요청 메시지 'A'의 태그 'mi'에 관련된 요청이 있는지 확인한다(S1290). 확인 후 'mi'가 권한 문제를 포함하는지 확인하고(S1310), 권한 문제를 포함할 경우 ASN-DMR(1202)은 요청 메시지 'A'에 대한 응답이 모두 동일해야 하는지를 확인한다(S1350). 이는 두 가지로 나뉘어질 수 있는 상황이다. 요청 메시지 'A'가 다른 ASN에게도 전송되었고 그에 대한 동작이 동일하게 성공 또는 실패로 통일될 것을 요구하는 경우라면, ASN(1200)의 유효성 검증 실패에 따라 다른 ASN들 역시 성공시킨 오퍼레이션을 롤백(roll-back)시켜 원상복귀를 수행하도록 할 수도 있다. 또한 ASN(1200)이 이전에 수신한 제 2의 요청 메시지가 있고, 제 2 메시지의 수행 결과는 요청 메시지 'A'의 수행 결과와 동일할 것을 요청할 수도 있다. 이 경우, ASN(1200)의 유효성 검증 실패에 따라 앞서 수신하여 실행한 제 2의 요청 메시지가 성공하였어도 원상 복귀를 위해 롤백을 진행할 수 있다. 또는 비록 ASN(1200)의 유효성 검증은 실패하였으나, 성공이 반드시 필요한 경우라면, ASN(1200)이 요청 메시지 'A'의 성공적인 실행을 위한 후속 조치를 취할 수 있다.
S1350에서 응답이 모두 동일할 필요가 없다면 요청 메시지의 재전송을 요구하고(1340), 이후 MN-CMDH(1205)로부터 재전송되는 요청 메시지를 수신하게 된다. 도 14로 연결하여 본 과정을 살펴보면, 요청 메시지 'A'에 대한 응답이 모두 동일하며, 성공적이어야 하는 것을 요구하는지 확인한다(S1360). 확인 결과, 성공을 필요로 하지 않는다면, 요청 메시지 'A' 의 태그 'mi'에 관련된 요청 메시지를 검색한다(S1370). 이는 이전에 수신한 제 2 요청 메시지의 실행을 다시 롤백 시키기 위함이다. 또한 다른 ASN에서 수신한 요청 메시지 'A'에 의해 실행된 오퍼레이션의 롤백을 요청한다(S1380). 요청은 ASN-CMDH(1203)에서 MN-CMDH(1205)로 전달된다(S1400). 한편, S1360에서 응답이 모두 성공이 될 것을 요구하는 경우, 권한을 부여할 것을 요청한다(S1390). 그리고 권한 부여에 대한 요청을 전송한다(S1392). 마찬가지로 ASN-CMDH(1203)에서 MN-CMDH(1205)로 전달된다(S1400).
표 1은 본 발명의 구현 시 오퍼레이션이 성공하였음을 알리는 결과 메시지의 구성을 보여준다.
Figure pat00001
표 2는 본 발명의 구현 시 오퍼레이션이 실패하였음을 알리는 결과 메시지의 구성을 보여준다.
Figure pat00002
표 3 및 표 4는 본 발명의 구현 시 오퍼레이션이 실패하였음을 알리는 또 다른 결과 메시지의 구성의 실시예를 보여준다.
Figure pat00003
Figure pat00004
도 15는 본 발명의 일 실시예에 의한 애플리케이션 서비스 노드에서 동작하는 과정을 보여주는 도면이다.
애플리케이션 서비스 노드는 중간 노드 및 애플리케이션 서비스 노드로 구성된 M2M 네트워크의 애플리케이션 서비스 노드가 요청 메시지의 신뢰성을 확보하기 위하여, S1510 내지 S1560의 작업을 수행한다. 애플리케이션 서비스 노드는 중간 노드로부터 제 1 요청 메시지를 수신하고(S1510), 상기 제 1 요청 메시지를 저장하고 상기 제 1 요청 메시지의 유효성을 검증하며(S1520), 또한 상기 제 1 요청 메시지에서 규정하는 오퍼레이션을 요청한 노드의 접근 권한을 확인한다(S1530). 상기 유효성 검증 및 접근 권한의 확인 결과(S1540) 상기 제 1 요청 메시지에 오류가 없는 경우, 상기 중간 노드로 상기 제 1 요청 메시지에서 규정하는 오퍼레이션을 실행한 결과 또는 응답을 포함하는 결과 메시지를 전송한다(S1550). 상기 제 1 요청 메시지에 오류가 있는 경우 상기 중간 노드로 오류 결과를 포함하는 결과 메시지를 전송한다(S1560). 보다 상세히, 상기 결과 메시지를 전송(S1560)한 이후에 상기 중간 노드로부터 상기 오류가 제거된 제 2 요청 메시지를 수신할 수 있다.
앞서 도 7 내지 도 14에서 살펴본 바와 같이 상기 요청 메시지에 권한 오류가 있으며, 상기 요청 메시지가 상기 애플리케이션 서비스 노드를 제외한 하나 이상의 제 2 애플리케이션 서비스 노드에게도 전송된 요청 메시지이며 상기 요청 메시지가 상기 애플리케이션 서비스 노드 및 상기 제 2 애플리케이션 서비스 노드에서의 실행 성공을 요구하는 경우, 상기 S1560의 전송은 상기 제 1 요청 메시지에 권한을 부여할 것을 요청하는 결과 메시지를 상기 중간 노드에게 전송하는 것을 일 실시예로 한다.
앞서 도 7 내지 도 14에서 살펴본 바와 같이 상기 요청 메시지에 권한 오류가 있으며, 상기 요청 메시지가 상기 애플리케이션 서비스 노드를 제외한 하나 이상의 제 2 애플리케이션 서비스 노드에게도 전송된 요청 메시지이며 상기 요청 메시지가 상기 애플리케이션 서비스 노드 및 상기 제 2 애플리케이션 서비스 노드에서의 실행 일치성을 요구하는 경우, 상기 S1560의 전송은 상기 제 2 애플리케이션 서비스 노드에 수행된 상기 요청 메시지의 롤백(roll-back)을 요청하는 결과 메시지를 상기 중간 노드에게 전송하는 것을 일 실시예로 한다.
도 16은 본 발명의 일 실시예에 의한 중간 노드에서 동작하는 과정을 보여주는 도면이다.
중간 노드 및 애플리케이션 서비스 노드로 구성된 M2M 네트워크의 중간 노드가 요청 메시지의 신뢰성을 확보하기 위하여, 중간 노드는 S1610 내지 S1660의 작업을 수행한다. 중간 노드는 기반 노드 또는 제 1 애플리케이션 서비스 노드로부터 수신한 제 1 요청 메시지를 저장하며(S1610), 상기 수신한 제 1 요청 메시지를 제 2 애플리케이션 서비스 노드에게 전송한다(S1620). 그리고 상기 제 2 애플리케이션 서비스 노드로부터 결과 메시지를 수신한다(S1630). 상기 수신한 결과(S1640) 메시지에 오류 결과가 포함된 경우, 오류 결과가 포함된 결과 메시지를 이용하여 오류의 유형을 확인하고 유형에 따른 처리를 수행한다(S1660). 오류가 포함되지 않았다면 제 1 요청 메시지를 전송한 기반 노드 또는 제 1 애플리케이션 서비스 노드에게 결과를 통지한다(S1650). 상기 S1660의 유형에 따른 처리의 수행은 상기 제 2 애플리케이션 서비스 노드에게 상기 오류가 제거된 제 2 요청 메시지를 전송하는 것을 포함한다.
앞서 도 7 내지 도 14에서 살펴본 바와 같이 상기 요청 메시지에 권한 오류가 있으며, 상기 요청 메시지가 상기 제 2 애플리케이션 서비스 노드를 제외한 하나 이상의 제 3 애플리케이션 서비스 노드에게도 전송된 요청 메시지이며 상기 요청 메시지가 상기 제 2 애플리케이션 서비스 노드 및 상기 제 3 애플리케이션 서비스 노드에서의 실행 성공을 요구하는 경우, S1630 단계에서 상기 요청 메시지에 권한을 부여할 것을 요청하는 결과 메시지를 수신하고, 상기 결과 메시지에서 요청한 권한을 부여하여 제 2 요청 메시지를 생성하여 상기 제 2 애플리케이션 서비스 노드에게 전송할 수 있다.
앞서 도 7 내지 도 14에서 살펴본 바와 같이 상기 요청 메시지에 권한 오류가 있으며, 상기 제 1 요청 메시지가 상기 제 2 애플리케이션 서비스 노드를 제외한 하나 이상의 제 3 애플리케이션 서비스 노드에게도 전송된 요청 메시지이며 상기 제 1 요청 메시지가 상기 제 1 애플리케이션 서비스 노드 및 상기 제 3 애플리케이션 서비스 노드에서 실행 일치성 요구하는 경우, S1630 단계에서 상기 제 2 애플리케이션 서비스 노드로부터 상기 제 3 애플리케이션 서비스 노드에 수행된 상기 요청 메시지의 롤백(roll-back)을 요청하는 결과 메시지를 수신하고, 상기 제 3 애플리케이션 서비스 노드에게 롤백을 지시하는 제 2 요청 메시지를 생성하여 상기 제 3 애플리케이션 서비스 노드에게 전송한다.
본 발명의 일 실시예에 의한 데이터 관리/저장기능을 수행하는 CSF는 오퍼레이션이 성공하지 못한 경우, 결과 정보(권한, 신택스, 시맨틱 등)의 타입에 따라 적절한 프로시저를 지원할 수 있다.
본 발명을 적용하는 일 실시예로 공장 제어 시스템을 가정할 수 있다. 1:1 혹은 1:n 에너지 거래가 진행되는 공장 간 파이프라인의 양단 M2M 장치(센서, 밸브 제어기 등)를 ASN A와 ASN B라고 가정할 때 중간 교통정리 및 프로토콜 변환 역할을 하는 특정단지의 로컬관제센터가 중간 노드 역할을 수행할 수 있다. 또한 중앙 관제 센터의 서버 등이 기반 노드 역할을 수행할 수 있다.
위의 구성에서 요청 메시지에 오류가 없는 경우를 살펴보면 다음과 같다. 중앙관제센터에서 A 공장의 스팀 1t을 B 공장으로 파이프라인을 통해 보내도록 로컬 관제센터에 요청한다. 신호를 받은 로컬관제센터는 A 공장과 B 공장을 잇는 파이프라인의 양단에 있는 밸브를 열도록 요청한다. 신호를 받은 파이프라인 양단의 원격 벨브 조절기는 요청내용을 수행하고 양단간 파이프라인을 통한 물질의 이동이 이루어 진다.
위의 구성에서 요청 메시지에 오류가 발생한 경우를 살펴보면 다음과 같다. 중앙관제센터에서 A 공장의 스팀 1t을 B 공장으로 파이프라인을 통해 보내도록 로컬 관제센터에 요청한다. 신호를 받은 로컬관제센터는 A 공장과 B 공장을 잇는 파이프라인의 양단에 있는 밸브를 열도록 요청한다. 로컬관제센터와 A 공장 사이에 요청이 전달되는 과정에 오류가 발생하여 요청 메시지인 요청 정보 내용 중 한 프레임이 유실되거나, 유효하지 않은 데이터가 요청 폼(request form)에 들어와, A 공장 쪽의 밸브가 로컬관제센터의 요청대로 개방(open)되지 않은 상황에서 로컬관제센터와 B 공장 사이에는 정상적으로 요청 전송이 되어 B 공장 쪽의 밸브가 요청대로 개방될 경우 파이프라인에서는 스팀 및 용수 등의 에너지원 물질 이동이 이루어지고, 파이프 누수 및 파열이 일어나 사고를 유발하게 된다. 따라서 이러한 상황에서 본 발명을 적용할 경우 요청이 어느 한 애플리케이션 서비스 노드에서 오류를 발견한 경우, 동일하게 성공 또는 실패로 동작되어야 하는 것을 요구하는 요청 메시지인 경우, 다른 애플리케이션 서비스 노드에서 성공적으로 수행된 메시지의 오퍼레이션을 롤백시키거나, 혹은 오류가 발견되었어도 성공적인 수행을 위해 권한의 부여 또는 오류의 복구를 요청하는 메시지를 중간 노드로 전송하여 애플리케이션 서비스 노드에서 새로운 요청 메시지를 수신하게 할 수 있다.
도 17은 앞서 살펴본 공장 제어 시스템에 본 발명으로 구현될 수 있는 실시 예를 적용한 도면이다. 오일/가스 제공자 원격 모니터링 및 관리 제어 서버(Oil and Gas Provider Remote Monitoring, Management and control Server)(1710)는 기반 노드, 파이프라인 메터 게이트웨이(Pipeline Meter Gateway)(1770)는 중간 노드, 그리고 파이프라인 메터 센서(pipeline meter sensors)(1791, 1799)와 파이프라인 밸브 원격 제어기(pipeline valve remote controller)(1781, 1789)는 애플리케이션 서비스 노드의 기능을 수행한다. 또한 오일/가스 제공자 원격 모니터링 및 관리 제어 서버(1710)는 원격 트레이딩 서버(remote trading server)를 부가적으로 포함할 수 있다. 도 17의 구성은 산업단지 내 공장이나 집단에너지 사업자가 상호간에 자원을 교환하기 위해 파이프라인에 M2M 장치를 설치하여 M2M 시스템의 각 노드들과 통신하는 구성이며, 여기서 자원이라 함은 오일과 가스에만 국한하지 않는다. 각 노드는 상호간 양방향 통신이 가능하여 오일/가스 제공자 원격 모니터링 및 관리 제어 서버(1710)는 파이프라인 메터 게이트웨이(1770)를 통하여 파이프라인 메터 센서(1781, 1789)뿐만 아니라 파이프라인 밸브 원격 제어기(1781, 1789)를 원격으로 제어할 수 있다. 파이프라인 밸브 원격 제어기(1781, 1789)에 제어요청이 전송되었으나, 파이프라인 밸브 원격 제어기(1781, 1789)에서 유효성 검증을 하여 요청이 유효하지 않을 경우, 파이프라인 메터 게이트웨이(1770)를 통해 오일/가스 제공자 원격 모니터링 및 관리 제어 서버(1710)에게 요청의 재전송을 요청할 수 있는 구조이다. 본 발명은 공장 간 자원 거래와 같이 파이프라인 양단의 M2M 장치가 상호 정상적으로 작동함을 보장해야 할 경우 요청 메시지와 같은 요청 정보의 유효성 검증을 하여 재전송을 요청하는 방법으로 상호 동작을 보장한다. 그러나 본 M2M 시스템의 구성 및 구조는 본 실시 예에만 해당하는 것은 아니며, 모든 M2M 시스템에 적용되어 사용될 수 있다.
본 발명은 일시적인 오류가 발생하여 요청 메시지의 요소 중 한가지 이상이 유실되거나 유효하지 않은 값으로 잘못 구성되었을 경우 유효성을 검증하여 요청 메시지를 재 요청함으로써 다수의 애플리케이션 서비스 노드의 동작 신뢰성을 확보하기 위한 절차 및 방법에 관한 것이다. 기반 노드에서 중간 노드로 요청 메시지를 전송하고, 중간 노드에서는 애플리케이션 서비스 노드로 해당 요청 메시지를 전송한다. 이 과정에서, 중간 노드의 공통 서비스 기능(Common Service Function)이나 애플리케이션 서비스 노드의 수신측 등에서 일시적인 오류가 발생하여 요청 메시지에 담겨야 할 컨텐츠가 유실되거나 유효하지 않은 값으로 구성될 가능성이 있다. 해당 요청 메시지와 관련이 있는 다수 애플리케이션 서비스 노드의 정상적인 동작이 보장되어야 할 경우, 오류를 포함하고 있는 요청 메시지를 받은 애플리케이션 서비스 노드는 요청 받은 대로 오퍼레이션 할 수 없으므로 다수 애플리케이션 서비스 노드의 동작성을 확보하기 위한 대안이 필요하다. 따라서, 애플리케이션 서비스 노드의 CSF에 데이터 검증(Data Validation) 수행이 가능한 모듈을 추가하여 요청 메시지를 받을 때 본 모듈에서 요청 메시지의 유효성을 검증할 수 있도록 한다. 검증 결과가 정상일 경우(요청 메시지가 유효)에는 요청된 대로 애플리케이션 서비스 노드가 동작하게 되며 검증 결과가 정상이 아닐 경우는 중간 노드에게 요청 메시지 재전송을 요청한다. 재전송을 요청 받은 중간 노드는 처음 자신에게 요청 메시지를 전송했던 기반 노드에게 해당 요청 메시지의 재전송을 요청하여 이를 다시 애플리케이션 서비스 노드에게 전송하여 동작하게 함으로써 해당 요청 메시지에 관련한 다수의 애플리케이션 서비스 노드가 모두 동작할 수 있도록 신뢰성을 확보할 수 있다. 애플리케이션 서비스 노드를 제어하는 요청 메시지는 실시간으로 전송되며, 중간 노드는 이 요청 메시지를 전송하는 역할을 수행한다. 중간 노드는 애플리케이션 서비스 노드와 항시 접속상태를 유지해야 하며 애플리케이션 서비스 노드를 제어한다.
본 발명은 중간 노드에서 애플리케이션 서비스 노드로 요청 메시지를 전송하는 과정에서 애플리케이션 서비스 노드가 포함하고 있는 CSE 또는 애플리케이션의 기능적 오류로 요청 메시지 요소 중 한가지 이상이 유실되거나 유효하지 않은 값으로 잘못 구성되었을 경우 해당 요청 메시지의 유효성을 검증하여 요청 메시지를 재 요청함으로써 다수의 애플리케이션 서비스 노드의 동작 신뢰성을 확보하기 위한 절차 및 방법에 관한 것이다. 요청 메시지를 구성하는 정보는 표 1, 2, 3의 구성요소(operation, to(targeted destination), from, head, contents)을 포함 할 수 있으며 이 요소들의 유효성 검증은 애플리케이션 서비스 노드가 포함하고 있는 CSF 및 애플리케이션 모듈에서 수행한다.
앞서 살펴본 실시 예로써, 산업단지의 통합운용센터에서 단지 내 로컬운용센터에 A 공장의 자원(Oil, Gas, Steam, Heat 등)을 설치되어 있는 파이프라인을 통해 B 공장으로 1ton 보내도록 요청하면, 요청을 받은 로컬운영센터에서는 파이프라인 양단의 A 공장의 원격 밸브 제어기와 B 공장의 원격 밸브 제어기를 원격으로 제어하여 자원이 이동될 수 있도록 한다. 위 경우에서 A 공장 혹은 B 공장의 원격 밸브 제어기가 정상적으로 동작하지 않으면 배관 파열 등 사고의 원인이 될 수 있으므로 해당 요청에 대한 관련 노드들의 동작 신뢰성 확보가 매우 중요하다. 위 예는 예시 일 뿐, 본 M2M 시스템의 구성은 위 경우에만 국한되지는 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
110: 애플리케이션
120: 공통 서비스
130: 기반 네트워크 서비스
710: 애플리케이션 서비스 노드
750: 중간 노드

Claims (19)

  1. 중간 노드 및 애플리케이션 서비스 노드로 구성된 M2M 네트워크의 애플리케이션 서비스 노드에 있어서,
    중간 노드와 메시지를 송수신하는 통신관리/전달핸들링(Communication Management and Delivery Handling)부;
    메시지를 생성하거나 수신한 메시지를 저장하는 데이터관리/저장(Data Management and Repository)부; 및
    메시지의 권한을 확인하는 구독/알림(Subscription and Notification)부를 포함하며,
    상기 통신관리/전달핸들링부가 중간 노드로부터 요청 메시지를 수신하면,
    상기 데이터관리/저장부는 상기 수신한 메시지를 저장하고 유효성을 검증하며,
    상기 구독/알림부는 상기 수신한 메시지의 요청 노드의 접근 권한을 확인하며,
    상기 통신관리/전달핸들링부는 상기 데이터관리/저장부의 검증 또는 구독/알림부의 확인 결과 요청 메시지에 오류가 없는 경우 상기 중간 노드로 응답 또는 요청된 결과를 포함하는 결과 메시지를 전송하고, 오류가 있을 경우 상기 중간 노드로 오류 결과를 포함하는 결과 메시지를 전송하는 것을 특징으로 하는 애플리케이션 서비스 노드.
  2. 제 1항에 있어서,
    상기 통신관리/전달핸들링부는 상기 중간 노드로부터 상기 오류가 제거된 제 2 요청 메시지를 수신하는 것을 특징으로 하는 애플리케이션 서비스 노드.
  3. 제 1항에 있어서,
    상기 오류는 권한(access right) 오류, 신택스(syntax) 오류, 시맨틱(semantic) 오류 중 어느 하나 이상을 포함하며, 상기 구독/알림부는 권한 오류를 확인하고 상기 데이터관리/저장부는 신택스 또는 시맨틱 오류를 확인하는 것을 특징으로 하는 애플리케이션 서비스 노드.
  4. 제 1항에 있어서,
    상기 요청 메시지에 권한 오류가 있으며, 상기 요청 메시지가 상기 애플리케이션 서비스 노드를 제외한 하나 이상의 제 2 애플리케이션 서비스 노드에게도 전송된 요청 메시지이며 상기 요청 메시지가 상기 애플리케이션 서비스 노드 및 상기 제 2 애플리케이션 서비스 노드에서의 실행 성공을 요구하는 경우, 상기 데이터관리/저장부는 상기 중간 노드에게 상기 요청 메시지에 권한을 부여할 것을 요청하도록 상기 결과 메시지를 생성하는 것을 특징으로 하는 애플리케이션 서비스 노드.
  5. 제 1항에 있어서,
    상기 요청 메시지에 권한 오류가 있으며, 상기 요청 메시지가 상기 애플리케이션 서비스 노드를 제외한 하나 이상의 제 2 애플리케이션 서비스 노드에게도 전송된 요청 메시지이며 상기 요청 메시지가 상기 애플리케이션 서비스 노드 및 상기 제 2 애플리케이션 서비스 노드에서의 실행 일치성을 요구하는 경우, 상기 데이터관리/저장부는 상기 중간 노드에게 상기 제 2 애플리케이션 서비스 노드에 수행된 상기 요청 메시지의 롤백(roll-back)을 요청하도록 상기 결과 메시지를 생성하는 것을 특징으로 하는 애플리케이션 서비스 노드.
  6. 제 1항에 있어서,
    상기 요청 메시지에 오류가 있으며, 상기 요청 메시지가 상기 애플리케이션 서비스 노드가 이전에 수신한 제 2 요청 메시지와 동일한 실행 결과를 필요로 하는 메시지인 경우, 상기 데이터관리/저장부는 상기 제 2 요청 메시지의 롤백을 실행하고, 상기 제 2 요청 메시지의 롤백을 알리도록 상기 결과 메시지를 생성하는 것을 특징으로 하는 애플리케이션 서비스 노드.
  7. 중간 노드 및 애플리케이션 서비스 노드로 구성된 M2M 네트워크의 중간 노드에 있어서,
    요청 메시지를 애플리케이션 서비스 노드로 전송하며 상기 애플리케이션 서비스 노드로부터 메시지를 수신하는 통신관리/전달핸들링(Communication Management and Delivery Handling)부; 및
    메시지를 생성하거나 수신한 메시지를 저장하는 데이터관리/저장(Data Management and Repository )부를 포함하며,
    상기 통신관리/전달핸들링부가 오류가 포함된 결과 메시지를 수신한 경우, 상기 데이터관리/저장부는 오류 결과가 포함된 결과 메시지를 이용하여 오류의 유형을 확인하고 유형에 따른 처리를 수행하는 것을 특징으로 하는 중간 노드.
  8. 제 7항에 있어서,
    상기 통신관리/전달핸들링부는 상기 애플리케이션 서비스 노드에게 상기 오류가 제거된 제 2 요청 메시지를 전송하는 것을 특징으로 하는 중간 노드.
  9. 제 7항에 있어서,
    상기 오류는 권한(access right) 오류, 신택스(syntax) 오류, 시맨틱(semantic) 오류 중 어느 하나 이상을 포함하는 것을 특징으로 하는 애플리케이션 서비스 노드.
  10. 제 7항에 있어서,
    상기 요청 메시지에 권한 오류가 있으며, 상기 요청 메시지가 상기 애플리케이션 서비스 노드를 제외한 하나 이상의 제 2 애플리케이션 서비스 노드에게도 전송된 요청 메시지이며 상기 요청 메시지가 상기 애플리케이션 서비스 노드 및 상기 제 2 애플리케이션 서비스 노드에서의 실행 성공을 요구하는 경우, 상기 통신관리/전달핸들링부는 상기 요청 메시지에 권한을 부여할 것을 요청하는 결과 메시지를 수신하며,
    상기 데이터관리/저장부는 상기 결과 메시지에서 요청한 권한을 부여하여 제 2 요청 메시지를 생성하는 것을 특징으로 하는 중간 노드.
  11. 제 7항에 있어서,
    상기 요청 메시지에 권한 오류가 있으며, 상기 요청 메시지가 상기 애플리케이션 서비스 노드를 제외한 하나 이상의 제 2 애플리케이션 서비스 노드에게도 전송된 요청 메시지이며 상기 요청 메시지가 상기 애플리케이션 서비스 노드 및 상기 제 2 애플리케이션 서비스 노드에서 실행 일치성 요구하는 경우, 상기 통신관리/전달핸들링부는 상기 애플리케이션 서비스 노드로부터 상기 제 2 애플리케이션 서비스 노드에 수행된 상기 요청 메시지의 롤백(roll-back)을 요청하는 결과 메시지를 수신하며,
    상기 데이터관리/저장부는 상기 제 2 애플리케이션 서비스 노드에게 롤백을 지시하는 제 2 요청 메시지를 생성하는 것을 특징으로 하는 중간 노드.
  12. 중간 노드 및 애플리케이션 서비스 노드로 구성된 M2M 네트워크의 애플리케이션 서비스 노드가 요청 메시지의 신뢰성을 확보하기 위하여,
    중간 노드로부터 제 1 요청 메시지를 수신하는 단계;
    상기 제 1 요청 메시지를 저장하고 상기 제 1 요청 메시지의 유효성을 검증하는 단계;
    상기 제 1 요청 메시지에서 규정하는 오퍼레이션을 요청한 노드의 접근 권한을 확인하는 단계; 및
    상기 유효성 검증 및 접근 권한의 확인 결과 상기 제 1 요청 메시지에 오류가 없는 경우, 상기 중간 노드로 상기 제 1 요청 메시지에서 규정하는 오퍼레이션을 실행한 결과 또는 응답을 포함하는 결과 메시지를 전송하고, 상기 제 1 요청 메시지에 오류가 있는 경우 상기 중간 노드로 오류 결과를 포함하는 결과 메시지를 전송하는 단계를 포함하는 방법.
  13. 제 12항에 있어서,
    결과 메시지를 전송하는 단계 이후에 상기 중간 노드로부터 상기 오류가 제거된 제 2 요청 메시지를 수신하는 단계를 더 포함하는 방법.
  14. 제 12항에 있어서,
    상기 요청 메시지에 권한 오류가 있으며, 상기 요청 메시지가 상기 애플리케이션 서비스 노드를 제외한 하나 이상의 제 2 애플리케이션 서비스 노드에게도 전송된 요청 메시지이며 상기 요청 메시지가 상기 애플리케이션 서비스 노드 및 상기 제 2 애플리케이션 서비스 노드에서의 실행 성공을 요구하는 경우,
    상기 전송하는 단계는 상기 제 1 요청 메시지에 권한을 부여할 것을 요청하는 결과 메시지를 상기 중간 노드에게 전송하는 단계인 것을 특징으로 하는 방법.
  15. 제 12항에 있어서,
    상기 요청 메시지에 권한 오류가 있으며, 상기 요청 메시지가 상기 애플리케이션 서비스 노드를 제외한 하나 이상의 제 2 애플리케이션 서비스 노드에게도 전송된 요청 메시지이며 상기 요청 메시지가 상기 애플리케이션 서비스 노드 및 상기 제 2 애플리케이션 서비스 노드에서의 실행 일치성을 요구하는 경우,
    상기 전송하는 단계는 상기 제 2 애플리케이션 서비스 노드에 수행된 상기 요청 메시지의 롤백(roll-back)을 요청하는 결과 메시지를 상기 중간 노드에게 전송하는 단계인 것을 특징으로 하는 방법.
  16. 중간 노드 및 애플리케이션 서비스 노드로 구성된 M2M 네트워크의 중간 노드가 요청 메시지의 신뢰성을 확보하기 위하여,
    기반 노드 또는 제 1 애플리케이션 서비스 노드로부터 수신한 제 1 요청 메시지를 저장하는 단계;
    상기 수신한 제 1 요청 메시지를 제 2 애플리케이션 서비스 노드에게 전송하는 단계;
    상기 제 2 애플리케이션 서비스 노드로부터 결과 메시지를 수신하는 단계; 및
    상기 수신한 결과 메시지에 오류 결과가 포함된 경우, 오류 결과가 포함된 결과 메시지를 이용하여 오류의 유형을 확인하고 유형에 따른 처리를 수행하는 단계를 포함하는 방법.
  17. 제 16항에 있어서,
    상기 수행하는 단계는 상기 제 2 애플리케이션 서비스 노드에게 상기 오류가 제거된 제 2 요청 메시지를 전송하는 단계를 포함하는 방법.
  18. 제 16항에 있어서,
    상기 요청 메시지에 권한 오류가 있으며, 상기 요청 메시지가 상기 제 2 애플리케이션 서비스 노드를 제외한 하나 이상의 제 3 애플리케이션 서비스 노드에게도 전송된 요청 메시지이며 상기 요청 메시지가 상기 제 2 애플리케이션 서비스 노드 및 상기 제 3 애플리케이션 서비스 노드에서의 실행 성공을 요구하는 경우, 상기 요청 메시지에 권한을 부여할 것을 요청하는 결과 메시지를 수신하는 단계; 및
    상기 결과 메시지에서 요청한 권한을 부여하여 제 2 요청 메시지를 생성하여 상기 제 2 애플리케이션 서비스 노드에게 전송하는 단계를 더 포함하는 방법.
  19. 제 16항에 있어서,
    상기 요청 메시지에 권한 오류가 있으며, 상기 제 1 요청 메시지가 상기 제 2 애플리케이션 서비스 노드를 제외한 하나 이상의 제 3 애플리케이션 서비스 노드에게도 전송된 요청 메시지이며 상기 제 1 요청 메시지가 상기 제 1 애플리케이션 서비스 노드 및 상기 제 3 애플리케이션 서비스 노드에서 실행 일치성 요구하는 경우, 상기 제 2 애플리케이션 서비스 노드로부터 상기 제 3 애플리케이션 서비스 노드에 수행된 상기 요청 메시지의 롤백(roll-back)을 요청하는 결과 메시지를 수신하는 단계; 및
    상기 제 3 애플리케이션 서비스 노드에게 롤백을 지시하는 제 2 요청 메시지를 생성하여 상기 제 3 애플리케이션 서비스 노드에게 전송하는 단계를 더 포함하는 방법.
KR1020130118830A 2013-07-29 2013-10-04 요청 메시지의 신뢰성을 확보하는 방법 및 장치 KR20150014345A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130089724 2013-07-29
KR20130089724 2013-07-29

Publications (1)

Publication Number Publication Date
KR20150014345A true KR20150014345A (ko) 2015-02-06

Family

ID=52571226

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130118830A KR20150014345A (ko) 2013-07-29 2013-10-04 요청 메시지의 신뢰성을 확보하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20150014345A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180043041A (ko) * 2016-10-19 2018-04-27 한국전자통신연구원 사물인터넷에서 멀티 프로토콜을 지원하는 디바이스 연동 처리 시스템 및 방법
KR20180048766A (ko) * 2015-08-28 2018-05-10 콘비다 와이어리스, 엘엘씨 서비스 계층 동적 권한부여
KR20190108852A (ko) * 2018-03-15 2019-09-25 전자부품연구원 M2m 시스템에서의 통지 메시지 실시간 전달 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180048766A (ko) * 2015-08-28 2018-05-10 콘비다 와이어리스, 엘엘씨 서비스 계층 동적 권한부여
KR20180043041A (ko) * 2016-10-19 2018-04-27 한국전자통신연구원 사물인터넷에서 멀티 프로토콜을 지원하는 디바이스 연동 처리 시스템 및 방법
KR20190108852A (ko) * 2018-03-15 2019-09-25 전자부품연구원 M2m 시스템에서의 통지 메시지 실시간 전달 방법

Similar Documents

Publication Publication Date Title
US10206090B2 (en) Method and device for searching for available device in M2M environment
US8850565B2 (en) System and method for coordinating network incident response activities
KR20080095848A (ko) 도메인 운용 방법, 도메인 확장 방법 및 레퍼런스 포인트컨트롤러 선출 방법
Xiao Accountability for wireless LANs, ad hoc networks, and wireless mesh networks
CN108965297A (zh) 一种门禁设备管理系统
KR102051839B1 (ko) M2m 시스템에서 메시지를 처리하는 방법 및 그 장치
KR20150067037A (ko) M2m 시스템에서 구독의 기준정보 최적화 방법 및 장치
KR20150014345A (ko) 요청 메시지의 신뢰성을 확보하는 방법 및 장치
KR20150067044A (ko) M2m 시스템에서 노드 자원 상태에 따른 공통 서비스 실행 최적화 방법 및 장치
US11290860B2 (en) Method for processing request message in M2M system and device therefor
KR20150067041A (ko) 부하 분산을 위한 m2m 시스템에서의 등록을 제어하는 방법 및 장치
KR20150014348A (ko) 개인 device의 사용정보를 이용한 맞춤형 M2M 서비스 제공 방법 및 시스템
KR20180028742A (ko) 모드 변경이 가능한 양방향 통신 장치 및 방법
KR20190002340A (ko) M2m 시스템에서 요청 메시지를 처리하는 방법 및 그 장치
KR20150066401A (ko) M2m 환경에서의 데이터 적용기술
US11949717B2 (en) Distributed security in a secure peer-to-peer data network based on real-time navigator protection of network devices
KR20150066475A (ko) M2M시스템에서 DNS 기반노드 등록 및 PoA 설정 방법 및 이를 위한 장치
KR20150002412A (ko) Secondary Node를 이용한 신뢰성 있는 M2M 데이터 전송 방법
KR20150066663A (ko) 브로드캐스트 기술을 이용한 위치 기반 장비 검색 방법 및 이를 위한 장치
KR20150066240A (ko) 알림 메시지 전달의 동기화를 위한 중간 노드
KR20150066474A (ko) 데이터 전송을 위한 타겟 리소스 주소 확보 방법 및 이를 위한 장치
KR20190004233A (ko) M2m 시스템에서 메시지를 전송하는 방법 및 그 장치
KR20150002228A (ko) M2M 시스템에서 M2M 노드간 Multi 연동을 선택적으로 제어하는 방법 및 장치
KR20150067043A (ko) 자원 정보를 송수신하는 방법 및 이를 위한 장치
KR20150066390A (ko) 비정상 m2m 노드 복구 방법 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application