KR20180108279A - Transaction Management Method on M2M Platform - Google Patents

Transaction Management Method on M2M Platform Download PDF

Info

Publication number
KR20180108279A
KR20180108279A KR1020170037825A KR20170037825A KR20180108279A KR 20180108279 A KR20180108279 A KR 20180108279A KR 1020170037825 A KR1020170037825 A KR 1020170037825A KR 20170037825 A KR20170037825 A KR 20170037825A KR 20180108279 A KR20180108279 A KR 20180108279A
Authority
KR
South Korea
Prior art keywords
transaction
resource
attribute
cse
request
Prior art date
Application number
KR1020170037825A
Other languages
Korean (ko)
Inventor
정승명
최성찬
김재호
안일엽
Original Assignee
전자부품연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 전자부품연구원 filed Critical 전자부품연구원
Priority to KR1020170037825A priority Critical patent/KR20180108279A/en
Publication of KR20180108279A publication Critical patent/KR20180108279A/en

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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • 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/16
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Provided is a method for managing transactions in an M2M platform. According to the present invention, a CSE performs transaction management instead of an AE in an M2M system, thereby reducing a load of the AE due to the transaction management and enabling effective transaction management in a platform level. The method comprises the steps of: generating first resources; generating second resources; and managing the second resources.

Description

M2M 플랫폼에서 트랜잭션 관리 방법{Transaction Management Method on M2M Platform}Transaction Management Method on M2M Platform < RTI ID = 0.0 >

본 발명은 M2M(Machine to Machine)/IoT(Internet of Things) 기술에 관한 것으로, 더욱 상세하게는 M2M 플랫폼에서 트랜잭션 관리를 위한 방법에 관한 것이다.The present invention relates to M2M (Machine to Machine) / IoT (Internet of Things) technology, and more particularly to a method for transaction management in M2M platform.

사물에 부착된 통신 장치를 이용하여 사물이 네트워크에 연결되거나 사물간에 통신 네트워크를 구성하여 정보를 공유하는 개념 및 기술을 지칭하는 용어로 IoT(Internet of Things : 사물 인터넷), M2M(Machine to Machine) 및 사물지능통신 등이 있다.IoT (Internet of Things), M2M (Machine to Machine), etc. are used to refer to concepts and technologies for connecting objects to a network or establishing a communication network between objects using communication devices attached to objects, And object intelligence communication.

이러한 네트워크 환경에서는 사람 대 사람, 사람 대 사물 뿐만 아니라 사물 대 사물 간의 통신 네트워크가 가능해져 모든 객체 간의 정보 공유가 가능해지며 이는 미래 유비쿼터스 정보 서비스 사회로 진화하기 위한 필수적인 기술 요소라 할 수 있을 것이다.In this network environment, communication network between object and object as well as person-to-person and person-to-object communication becomes possible and information sharing among all objects becomes possible, which is an essential technical element for evolving into the future ubiquitous information service society.

현재, M2M/IoT 시스템에서는 트랜잭션을 관리는 AE(Application Entity)에 의해 수행되고 있는데, AE에 오버로드가 될 뿐만 아니라 트랜잭션 관리도 효과적이지 못하다는 문제가 있다.In the M2M / IoT system, transaction management is performed by an AE (Application Entity) in the M2M / IoT system. However, there is a problem that not only the AE is overloaded but also the transaction management is not effective.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, M2M 시스템에서 CSE(Common Sservice Entity)가 AE 대신 트랜잭션 관리(transaction management)를 수행하는 방법을 제공함에 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a method for CSE (Common Service Entity) in an M2M system to perform transaction management instead of AE.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 트랜잭션 방법은, 제1 CSE(Common Sservice Entity)가, Originator의 요청에 의해 트랜잭션 관리를 위한 제1 리소스를 생성하는 단계; 제2 CSE들이, 제1 CSE의 요청에 의해 트랜잭션 태스크들을 위한 제2 리소스들을 생성하는 단계; 및 제1 CSE가, 제1 리소스를 이용하여 제2 리소스들을 관리하는 단계;를 포함한다.According to an aspect of the present invention, there is provided a transaction method including: generating a first resource for transaction management by a first CSE (Common Service Entity) at the request of an originator; The second CSEs creating second resources for the transaction tasks at the request of the first CSE; And the first CSE managing the second resources using the first resource.

그리고, 제1 리소스는, 트랜잭션 태스크들의 상태를 나타내는 트랜잭션 상태 속성을 포함할 수 있다.The first resource may then include a transaction state attribute indicating the state of the transactional tasks.

또한, 제1 리소스는, 트랜잭션 상태 속성의 업데이트에 대한 알림을 통보할 생성자 속성을 포함할 수 있다.The first resource may also include a constructor attribute to notify of an update of the transaction state attribute.

그리고, 생성자와 제1 CSE 만이, 트랜잭션 상태 속성을 Commit 으로 업데이트할 수 있다.Only the constructor and the first CSE can update the transaction state attribute to Commit.

또한, 트랜잭션 태스크들을 실행할 트랜잭션 타이머 속성을 포함할 수 있다.It can also include transaction timer attributes to execute transactional tasks.

그리고, 제1 리소스는, 트랜잭션 태스크들을 모두 commit 할 수 없을 때, 트랜잭션 태스크들을 처리하는 방법을 나타내는 속성 및 트랜잭션 태스크들을 모두 commit 한 후에 제1 리소스를 처리하는 방법을 나타내는 속성을 포함할 수 있다.The first resource may include an attribute indicating a method of processing transaction tasks when the transaction tasks can not be completely committed, and an attribute indicating a method of processing the first resource after both transaction tasks are committed.

또한, 제2 리소스는, 트랜잭션 태스크의 상태를 나타내는 속성을 포함할 수 있다.In addition, the second resource may include an attribute indicating the status of the transaction task.

한편, 본 발명의 다른 실시예에 따른, 트랜잭션 시스템은, Originator의 요청에 의해 트랜잭션 관리를 위한 제1 리소스를 생성하는 제1 CSE(Common Sservice Entity); 및 제1 CSE의 요청에 의해 트랜잭션 태스크들을 위한 제2 리소스들을 생성하는 제2 CSE들;을 포함하고, 제1 CSE는, 제1 리소스를 이용하여 제2 리소스들을 관리한다.According to another aspect of the present invention, there is provided a transaction system comprising: a first CSE (Common Service Entity) for generating a first resource for transaction management at the request of an originator; And second CSEs for generating second resources for the transaction tasks at the request of the first CSE, wherein the first CSE manages the second resources using the first resource.

이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, M2M 시스템에서 CSE가 AE 대신 트랜잭션 관리를 수행함으로써, 트랜잭션 관리로 인한 AE의 로드를 경감시키며, 플랫폼 단에서의 효과적인 트랜잭션 관리를 가능하게 한다.As described above, according to the embodiments of the present invention, in the M2M system, the CSE performs transaction management instead of AE, thereby reducing load of AE due to transaction management and enabling efficient transaction management at the platform level.

도 1은 트랜잭션 설정(Transaction configuration) 과정을 나타낸 순서도,
도 2는 트랜잭션 commit 결과 전달 과정을 나타낸 순서도,
도 3은 <transactionMgmt> 리소스의 자녀 리소스,
도 4는 <transactionMgmt> 리소스의 속성들,
도 5는 <transactiont> 리소스의 자녀 리소스,
도 6은 <transaction> 리소스의 속성들,
도 7은 본 발명이 적용 가능한 M2M 시스템을 도시한 도면, 그리고,
도 8은, 도 7에 도시된 전자 기기들의 내부 블럭도이다.
1 is a flowchart showing a transaction configuration process,
FIG. 2 is a flowchart showing a process of transmitting a transaction commit result,
FIG. 3 illustrates a child resource of a < transactionMgmt > resource,
Figure 4 shows the properties of the < transactionMgmt > resource,
FIG. 5 illustrates a child resource of a < transactiont > resource,
Figure 6 shows the properties of the < transaction > resource,
FIG. 7 is a diagram illustrating an M2M system to which the present invention is applicable, and FIG.
8 is an internal block diagram of the electronic devices shown in Fig.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, the present invention will be described in detail with reference to the drawings.

본 발명의 실시예에서는 oneM2M에서 트랜잭션 메커니즘을 지원하기 위한 솔루션을 제시한다. 구체적으로, oneM2M 시스템에 트랜잭션을 적용하기 위해, CSE(Common Sservice Entity)가 AE(Application Entity) 대신 트랜잭션 관리(transaction management)를 수행한다.In the embodiment of the present invention, a solution for supporting the transaction mechanism in oneM2M is presented. Specifically, in order to apply transactions to oneM2M system, CSE (Common Service Entity) performs transaction management instead of AE (Application Entity).

트랜잭션은 하나 이상의 태스크로 구성되는데, 타겟 마다 태스크들은 다를 수 있다.A transaction consists of one or more tasks, each of which can have different tasks.

1. 트랜잭션 프로시저(Transaction procedure)1. Transaction procedure

도 1 및 도 2는, 본 발명의 일 실시예에 따른 트랜잭션 서비스 방법의 설명에 제공되는 순서도이다.1 and 2 are flowcharts provided in explanation of a transaction service method according to an embodiment of the present invention.

본 발명의 실시예에서 제시하는 트랜잭션 메커니즘에서는, CSE가 AE에 대한 플랫폼으로써, 트랜잭션 관리 서비스(transaction management service)를 제공한다.In the transaction mechanism proposed in the embodiment of the present invention, the CSE provides a transaction management service as a platform for the AE.

트랜잭션 관리 서비스는, 타겟 리소스들에서 트랜잭션들을 수행할 수 있는지 확인하고, 타겟 트랜잭션들을 모두 수행할 수 없을 경우 타겟들에서의 트랜잭션들을 처리하며, 명시적인 명령 또는 타이머 기반에 의한 확인(confirmation) 후 트랜잭션을 commit 한다.The transaction management service verifies that it can perform transactions on target resources, processes transactions on targets when it can not perform all of the target transactions, confirms by explicit command or timer based transaction .

이를 위해, 도 1에 도시된 바와 같이, 먼저 AE(Originator)(10)가 CSE(20)에 <transactionMgmt> 리소스를 생성한다. <transactionMgmt> 리소스는 여러 리소스들을 타겟으로 하는 개별 트랜잭션 태스크들을 갖는 트랜잭션 관리를 위한 구성이다.To this end, as shown in FIG. 1, an originator (AE) 10 first creates a <transactionMgmt> resource in the CSE 20. The <transactionMgmt> resource is a configuration for transaction management that has individual transaction tasks that target multiple resources.

oneM2M 트랜잭션은 리소스에 대한 작업(resource manipulation)이므로, <transaction> 리소스로 표현된 개별/하위 트랜잭션은 oneM2M 요청 프리미티브이다.Since the oneM2M transaction is a resource manipulation, the individual / child transaction represented by the <transaction> resource is the oneM2M request primitive.

<transactionMgmt> 리소스가 생성되면, <transactionMgmt> 리소스 호스팅 CSE(200)는 <transaction> 생성 요청을 타겟 리소스들로 전송한다. 실행될 수 있으면 <transaction> 리소스가 생성되고 그에 대한 확인 메시지가 <transactionMgmt> 리소스 호스팅 CSE(200)로 전송된다.When the <transactionMgmt> resource is created, the <transactionMgmt> resource hosting CSE 200 sends a <transaction> generation request to the target resources. If so, a <transaction> resource is created and a confirmation message is sent to the <transactionMgmt> resource hosting CSE 200.

요청 프리미티브에 대한 각 트랜잭션은 타이머 또는 명시적인 명령에 의해 실행될 수 있다. 도 2에 도시된 바와 같이, 요청 트랜잭션이 성공적으로 수행되면, <transaction> 리소스 호스팅 CSE(30-1, ... 30-n)는 Notify 요청을 통해 결과를 <transactionMgmt> 리소스 호스팅 CSE(20) 또는 <transactionMgmt> 리소스를 생성한 AE(Originator)(10)로 전송한다.Each transaction for a request primitive can be executed by a timer or an explicit instruction. As shown in FIG. 2, when the request transaction is successfully performed, the <transaction> resource hosting CSE 30-1, ..., 30-n transmits the result through the <Notify> request to the <transactionMgmt> resource hosting CSE 20 Or the <transactionMgmt> resource to the originating originator (AE) 10.

2. <transactionMgmt> 리소스2. <transactionMgmt> Resources

<transactionMgmt> 리소스는 호스팅 CSE에서 관리하는 하나 이상의 oneM2M 프리미티브 트랜잭션(들)을 타겟 리소스들로 나타낸다. Originator는 타겟과 연관된 요청 프리미티브를 갖는 <transactionMgmt> 리소스를 생성한다. 각기 다른 트랜잭션 타겟들이 동일한 프리미티브를 공유하여 실행될 수 있다.The <transactionMgmt> resource represents one or more oneM2M primitive transaction (s) managed by the hosting CSE as target resources. The Originator creates a <transactionMgmt> resource with a request primitive associated with the target. Different transaction targets can be executed by sharing the same primitive.

<trasactionMgmt> 리소스가 생성되면 <trasactionMgmt> 리소스 호스팅 CSE는 <transaction> 리소스를 타겟 리소스의 자녀로 생성한다. 타겟 리소스는 다른 CSE에 의해 호스팅될 수 있다.When the <trasactionMgmt> resource is created, the <trasactionMgmt> resource hosting CSE creates the <transaction> resource as a child of the target resource. The target resource may be hosted by another CSE.

<transactionMgmt> 리소스 호스팅 CSE는 자체적으로 생성한 <transaction> 리소스들을 처리하여 Originator를 대신하여 트랜잭션 관리(예 : Init, Confirmed, Commit, Commited, Abort 및 Aborted)를 수행한다.<transactionMgmt> Hosting the Resource The CSE processes its own <transaction> resources and performs transaction management (eg Init, Confirmed, Commit, Commited, Abort and Aborted) on behalf of Originator.

<transactionMgmt> 리소스에는 생성자(creator), 트랜잭션 타이머(transactionTimer), 트랜잭션 상태(transaction status), 에러 처리 방법(error handling method), 트랜잭션 관리 방법(transaction managmenet method), 프리미티브(primitives) 및 관련 타겟(Associated targets) 등이 속성들로 포함된다.The <transactionMgmt> resource can contain information such as a creator, a transaction timer, a transaction status, an error handling method, a transaction managmenet method, primitives, targets) are included as attributes.

생성자(creator) 속성이 설정되면, 호스팅 CSE는 트랜잭션 상태 속성의 업데이트에 대한 알림 요청을 생성자에게 통보한다. 트랜잭션 타이머(transactionTimer) 속성은 Operation Execution Time parameter value가 제공되는 경우, 그로부터 설정할 수 있다. 트랜잭션 상태(transaction status) 속성은 연관된 트랜잭션 태스크들의 상태를 나타낸다. <transaction> 리소스 생성에 실패하면, uncommitableTransactionHandling 속성에 따라 모든 트랜잭션이 중단될 수 있다. 모든 <transaction> 리소스 생성이 성공적으로 완료되면, 호스팅 CSE는 <transaction> 리소스의 transactionStatus를 "Confirmed"로 업데이트 한다. 모든 트랜잭션 태스크들의 요청 프리미티브가 성공적으로 실행되면, transactionMgmtHandling 속성에 따라 <transactionMgmt> 리소스를 자동으로 삭제할 수 있다. requestPrimitives 속성은 타겟 리소스과 관련된 프리미티브 메시지를 포함한다. 또한, resultAggregation 속성은 "Aggregate"로 설정되고, 호스팅 CSE는 <transactionMgmt> 리소스의 생성자와 동일한 값으로 <transaction> 리소스 생성 메시지의 transactionInitiator 속성을 포함한다.When the creator attribute is set, the hosting CSE notifies the creator of a notification request for an update of the transaction state attribute. The transaction timer (transactionTimer) attribute can be set from the Operation Execution Time parameter value, if provided. The transaction status attribute indicates the status of the associated transaction tasks. If the <transaction> resource creation fails, all transactions can be aborted according to the uncommitableTransactionHandling property. When all <transaction> resource creation completes successfully, the hosting CSE updates the transactionStatus of the <transaction> resource to "Confirmed". If the request primitive of all transaction tasks is successfully executed, the <transactionMgmt> resource can be automatically deleted according to the transactionMgmtHandling attribute. The requestPrimitives attribute contains a primitive message associated with the target resource. Also, the resultAggregation attribute is set to "Aggregate" and the hosting CSE contains the transactionInitiator attribute of the <transaction> resource creation message with the same value as the <transactionMgmt> resource's constructor.

<transactionMgmt> 리소스는 도 3에 표로 제시한 자녀 리소스들을 포함할 수 있고, 도 4에 표로 제시한 속성들을 포함할 수 있다.The <transactionMgmt> resource may include the child resources tabulated in FIG. 3, and may include the attributes tabulated in FIG.

도 4에 도시된 바와 같이, <transactionMgmt> 리소스는, resourceType 속성, resourceID 속성, resourceName 속성, expirationTime 속성, parentID 속성, creationTime 속성, lastModifiedTime 속성, accessControlPolicyIDs 속성, labels 속성, creator 속성, transactionTimer 속성, transactionStatus 속성, uncommitableTransactionHandling 속성, transactionMgmtHandling 속성, requestPrimitives 속성, resultAggregation 속성을 포함한다.4, the <transactionMgmt> resource includes resourceType property, resourceID property, resourceName attribute, expirationTime attribute, parentID attribute, creationTime attribute, lastModifiedTime attribute, accessControlPolicyIDs attribute, labels attribute, creator attribute, transactionTimer attribute, transactionStatus attribute, an uncommitableTransactionHandling property, a transactionMgmtHandling property, a requestPrimitives property, and a resultAggregation property.

여기서, expirationTime 값은 트랜잭션 요청 메시지와 관련된 Transaction Timeout paramter에 의해 선택된다. creator는 <transactionMgmt> 리소스의 전체 트랜잭션의 initiator이다.Here, the expirationTime value is selected by the Transaction Timeout parameter associated with the transaction request message. The creator is the initiator of the entire transaction in the <transactionMgmt> resource.

<transactionMgmt> 생성 요청에 Operation Execution Time parameter가 포함되어 있으면, 그 값은 transactionTimer 속성으로 설정된다. 따라서, 이 값은 <Transaction> 리소스를 암묵적으로 생성하기 위한 Operation Execution Time parameter parameter로 보내야 한다. 이 값이 설정되지 않으면 transacctionStatus 속성을 "Commit"으로 업데이트하여, 트랜잭션을 commit 해야 한다.If the <transactionMgmt> creation request contains an Operation Execution Time parameter, its value is set to the transactionTimer attribute. Therefore, this value should be sent to the Operation Execution Time parameter parameter to implicitly generate the <Transaction> resource. If this value is not set, the transaction must be committed by updating the transacctionStatus property to "Commit".

transactionStatus 속성은 연관된 트랜잭션의 상태(예 : Init, Confirmed, Commit, Commited, Abort 및 Aborted)를 포함한다. 호스팅 CSE를 제외하고는 creator 만이 이 속성을 "Commit" 값으로 업데이트 하여, 관련 트랜잭션을 commit 할 수 있다.The transactionStatus attribute contains the state of the associated transaction (for example, Init, Confirmed, Commit, Commited, Abort, and Aborted). With the exception of the hosting CSE, only the creator can update this attribute with the value "Commit" to commit the associated transaction.

uncommitableTransactionHandling 속성은 관련 트랜잭션을 모두 commit할 수 없을 때, <transaction> 리소스를 처리하는 방법(예 : Abort, Retry)을 나타낸다. 설정되어 있지 않으면, 기본 동작은 "Abort" 이다. 호스팅 CSE가 <transactionMgmt> 리소스를 중단하면, 생성자에게 통지를 보낸다.The uncommitableTransactionHandling attribute indicates how to handle the <transaction> resource (eg Abort, Retry) when it can not commit all related transactions. If not set, the default action is "Abort". When the hosting CSE interrupts the <transactionMgmt> resource, it notifies the constructor.

transactionMgmtHandling 속성은 전체 트랜잭션들의 성공적인 commit 후에 <transactionManagement> 리소스를 처리하는 방법(예: Delete, Remain)을 나타낸다. 설정되지 않은 경우, 기본 작업은 "Delete" 이다.The transactionMgmtHandling attribute indicates how to handle the <transactionManagement> resource (eg Delete, Remain) after a successful commit of all transactions. If not set, the default action is "Delete".

requestPrimitives 속성은 요청 프리미티브 메시지 및 관련 타겟 리소스를 포함한다. resultAggregation 속성은 <transactionMgmt> 리소스 호스팅 CSE가 개별 트랜잭션 실행 결과의 결과를 집계(aggregate) 하는지 여부를 나타낸다. 설정되지 않은 경우 기본 동작은 "집계" 이다.The requestPrimitives attribute contains the request primitive message and the associated target resource. The resultAggregation attribute indicates whether the <transactionMgmt> resource hosting CSE aggregates the results of individual transaction execution results. If not set, the default action is "aggregate".

3. <transaction> 리소스3. <transaction> Resources

<transaction> 리소스는 가상 리소스들을 제외한, 트랜잭션 타겟이 되는, 모든 리소스의 하위 리소스이다. <transaction> 생성 요청은 연관된 <transactionMgmt> 리소스를 호스팅하는 CSE에 의해서만 생성된다. AE는 이 요청을 개시할 수 없다.A <transaction> resource is a sub-resource of all resources that are transaction targets, excluding virtual resources. The <transaction> creation request is generated only by the CSE hosting the associated <transactionMgmt> resource. AE can not initiate this request.

CSE가 트랜잭션 타겟 리소스를 타겟으로 하는 <transaction> 리소스 생성 요청을 수신하면, CSE는 요청이 성공적으로 수행될 수 있는지 또는 현재 실행 가능한지를 확인한다. 가능하다고 판단된 경우, CSE는 타겟 리소스의 자식으로 <transaction> 리소스를 생성한다. 그렇지 않은 경우, CSE는 <transaction> 리소스를 생성하지 않는다.When the CSE receives a <transaction> resource creation request targeted at a transaction target resource, the CSE verifies that the request can be successfully executed or is currently executable. If so, the CSE creates a <transaction> resource with the children of the target resource. Otherwise, the CSE does not create a <transaction> resource.

<transaction> 리소스의 요청 프리미티브는 transactionTimer 속성을 가지고 있거나 명시적인 commit 명령에 의해 실행된다. 이 트랜잭션 태스크는 transactionStatus 속성이 "Confirmed"일 때만 수행된다. commit 명령은 transactionStatus 속성을 "Commit" 값으로 수정하는 <transaction> 업데이트 요청이다. 트랜잭션이 성공적으로 수행되면, TransactionStatus 속성은 호스팅 CSE에 의해 "Commited"로 업데이트 된다.The request primitive of a <transaction> resource has a transactionTimer attribute or is executed by an explicit commit command. This transaction task is only performed when the transactionStatus attribute is "Confirmed". The commit command is a <transaction> update request that modifies the transactionStatus attribute to the value "Commit". If the transaction is successful, the TransactionStatus attribute is updated to "Commited" by the hosting CSE.

<transaction> 삭제 요청은 부모/타겟 리소스에 대한 트랜잭션을 중단시킨다. commit이 타이머 기반인 경우, 다른 프리미티브(예: 상위 부모 리소스 삭제)에 의한 <transaction> 리소스 삭제가 트랜잭션을 중단한다.The <transaction> delete request suspends the transaction to the parent / target resource. If commit is timer-based, deleting a <transaction> resource by another primitive (eg, parent parent resource deletion) will abort the transaction.

트랜잭션이 수행될 때 requestPrimitive의 실행 결과는 <transaction> 리소스에 transactionInitiator 속성이 없는 한, Notify 요청으로 <transactionMgmt> 리소스 호스팅 CSE로 전달된다. transactionInitiator 속성이 설정되면, Notify 요청은 transactionInitiator로 보내진다.When a transaction is performed, the execution result of requestPrimitive is passed to the <transactionMgmt> resource hosting CSE as a Notify request, unless the <transaction> resource has a transactionInitiator attribute. When the transactionInitiator attribute is set, a Notify request is sent to the transactionInitiator.

<transaction> 리소스는, 도 5에 표로 제시한 자녀 리소스들을 포함할 수 있고, 도 6에 표로 제시한 속성들을 포함할 수 있다.The < transaction > resource may include the child resources tabulated in FIG. 5 and may include the attributes tabulated in FIG.

도 6에 도시된 바와 같이, <transaction> 리소스는, resourceType 속성, resourceID 속성, resourceName 속성, expirationTime 속성, parentID 속성, creationTime 속성, lastModifiedTime 속성, accessControlPolicyIDs 속성, labels 속성, creator 속성, transactionID 속성, transactionStatus 속성, requestPrimitive 속성, transactionInitiator 속성을 포함한다.6, the < transaction > resource includes resourceType property, resourceID property, resourceName property, expirationTime attribute, parentID attribute, creationTime attribute, lastModifiedTime attribute, accessControlPolicyIDs attribute, labels attribute, creator attribute, transactionID attribute, transactionStatus attribute, requestPrimitive attribute, and transactionInitiator attribute.

여기서, expirationTime 값은 트랜잭션 요청 메시지와 관련된 Transaction Timeout paramter에 의해 선택된다. 그리고, creator는 <transaction> 리소스의 작성자를 나타낸다. 또한, transactionID는 연관된 <transactionMgmt> 리소스의 리소스 ID를 나타낸다.Here, the expirationTime value is selected by the Transaction Timeout parameter associated with the transaction request message. And creator represents the creator of the <transaction> resource. Also, transactionID represents the resource ID of the associated <transactionMgmt> resource.

transactionStatus 속성은 트랜잭션의 상태(예 : Init, Confirmed, Commit, Commited)를 나타낸다. 이 리소스가 생성되면 이 값은 "Init"으로 설정된다. 호스팅 CSE를 제외하고. creator 만이 이 속성을 "Commit" 값으로 업데이트하여, 이 트랜잭션을 commit할 수 있다.The transactionStatus attribute indicates the status of the transaction (for example, Init, Confirmed, Commit, Commited). When this resource is created, this value is set to "Init". Except hosting CSE. Only the creator can commit this transaction by updating this attribute with the value "Commit".

requestPrimitive 속성은 부모 리소스에서 실행될 요청 프리미티브를 포함한다.The requestPrimitive attribute contains the request primitive to be executed on the parent resource.

transactionInitiator 속성은 연관된 <transactionMgmt> 리소스를 생성한 엔티티 ID를 포함한다. 설정되지 않은 경우, 실행된 요청의 결과가 통지 요청으로 <management Mgmt> 리소스 호스팅 CSE에 전송된다. 그렇지 않으면, 통지는 transactionInitiator에게 보내진다.The transactionInitiator attribute contains the entity ID that generated the associated <transactionMgmt> resource. If not set, the result of the executed request is sent to the <management Mgmt> resource hosting CSE as a notification request. Otherwise, a notification is sent to the transactionInitiator.

4. M2M 시스템4. M2M system

도 7은 본 발명이 적용 가능한 M2M 시스템을 도시한 도면이다. 본 발명이 적용 가능한 M2M 시스템은, 도 7에 도시된 바와 같이, 서버(100-1), 게이트웨이(100-21, 100-22), 디바이스(100-31, 100-32, 100-33, 100-34)와 같은 다양한 전자 기기들이 상호 통신가능하도록 연결되어 구축된다.7 is a diagram illustrating an M2M system to which the present invention is applicable. The M2M system to which the present invention can be applied includes a server 100-1, gateways 100-21 and 100-22, devices 100-31, 100-32, 100-33, 100 -34) are connected and constructed so that they can communicate with each other.

도 7에 도시된 전자 기기들의 개수, 이를 테면, M2M 시스템을 구성하는 서버(100-1), 게이트웨이(100-21, 100-22) 및 디바이스(100-31, 100-32, 100-33, 100-34)의 대수는 예시적인 것이므로, 이와 다르게 구현하는 경우도 본 발명의 기술적 사상이 적용될 수 있다.The number of electronic devices shown in Fig. 7, such as the server 100-1, the gateways 100-21 and 100-22, and the devices 100-31, 100-32, 100-33, 100-34) are illustrative, the technical idea of the present invention can be applied to the case of implementing them differently.

나아가, 도 7에 도시된 전자 기기들의 연결 구조 역시, 필요에 따라 다른 방식으로 대체될 수 있음은 물론이다.Furthermore, it is needless to say that the connection structure of the electronic devices shown in Fig. 7 can also be replaced in other ways as needed.

도 7에 도시된 모든 전자 기기들은, oneM2M 플랫폼의 <transactionMgmt> 리소스 호스팅 CSE의 기능을 수행할 수 있다. 즉, 서버(100-1), 게이트웨이(100-21, 100-22), 디바이스(100-31, 100-32, 100-33, 100-34) 모두 <transactionMgmt> 리소스 호스팅 CSE로써, 위에서 제시한 방식으로 트랜잭션 관리를 수행할 수 있는 것이다.All the electronic devices shown in FIG. 7 can perform the function of the <transactionMgmt> resource hosting CSE of the oneM2M platform. In other words, both the server 100-1, the gateways 100-21 and 100-22, and the devices 100-31, 100-32, 100-33, and 100-34, as the <transactionMgmt> resource hosting CSE, Transaction management.

도 8은, 도 7에 도시된 전자 기기들의 내부 블럭도이다. 본 발명의 실시예를 구현함에 있어 필요한 구성들은 서버(100-1), 게이트웨이(100-21, 100-22), 디바이스(100-31, 100-32, 100-33, 100-34) 모두가 공통된다. 따라서, 도 6에서는 이들을 참조 부호 "100"으로 통칭하여 도시하였으며, 이하에서 전자 기기로 통칭한다.8 is an internal block diagram of the electronic devices shown in Fig. The configurations necessary for implementing the embodiment of the present invention include all of the servers 100-1, the gateways 100-21 and 100-22, the devices 100-31, 100-32, 100-33, and 100-34 Common. Therefore, they are collectively referred to as "100" in Fig. 6, and are collectively referred to as electronic devices hereinafter.

도 8에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 전자 기기들은, 통신부(110), 프로세서(120), 저장부(130) 및 기능 블록(140)을 포함한다.8, electronic devices according to another embodiment of the present invention include a communication unit 110, a processor 120, a storage unit 130, and a function block 140. [

통신부(110)는 외부 기기와 통신하고 외부 네트워크에 액세스하기 위한 통신 인터페이스 수단이다.The communication unit 110 is communication interface means for communicating with an external device and accessing an external network.

프로세서(120)는 적어도 하나의 AE(Application Entitr)와 CSE(Common Service Entity)를 포함한다. 전자 기기의 종류와 기능에 따라서는, AE가 포함되지 않을 수도 있다.Processor 120 includes at least one AE (Application Entr) and a CSE (Common Service Entity). Depending on the type and function of the electronic device, AE may not be included.

프로세서(120)의 위에서 제시한 트랜잭션 관리를 수행하며, 저장부(130)는 프로세서(120)가 트랜잭션 관리를 수행함에 있어 필요한 저장 공간을 제공한다.The processor 120 performs transaction management as described above, and the storage unit 130 provides storage space necessary for the processor 120 to perform transaction management.

기능 블록(140)은 전자 기기 본연의 기능을 수행한다. 이를 테면, 전자 기기가 서버(100-1)인 경우, 서비스를 제공하는 가상 머신들이 기능 블록(140)에 해당한다.The function block 140 performs the function of the electronic device itself. For example, if the electronic device is the server 100-1, the virtual machines that provide the service correspond to the function block 140. [

5. 변형예5. Modifications

지금까지, oneM2M 플랫폼에서 트랜잭션 관리 방법에 대해 바람직한 실시예를 들어 상세히 설명하였다.Up to now, a preferred embodiment of the transaction management method in the oneM2M platform has been described in detail.

위 실시예에서, 트랜잭션 타이머를 설정하는 방법은 Operation Execution Time parameter를 사용하고 있는데, parameter를 사용하는 대신 요청에 제공된 속성 값을 Originator가 제시할 수도 있다. 이 경우, <transactionMgmt> 리소스의 transactionTimer는 "RW"이어야 한다.In the above embodiment, the method of setting the transaction timer uses the Operation Execution Time parameter. Instead of using a parameter, the originator may present the attribute value provided in the request. In this case, the transactionTimer of the <transactionMgmt> resource must be "RW".

또한, 위 실시예에서 제시된 리소스들의 이름은 모두 예시적인 것으로 변경이 가능함은 물론이다.It should be noted that the names of the resources shown in the above embodiments are all exemplary and can be changed.

나아가, <transaction> 리소스는, 타겟 리소스의 자식으로 생성되는 것을 상정하였는데, 예시적인 것에 불과하다. <transaction> 리소스가 타겟 리소스의 자식이 아닌 그에 대한 링크된 다른 리소스로 생성하는 것도 가능하다.Further, it is assumed that the < transaction > resource is generated as a child of the target resource, but is merely an example. It is also possible to create a <transaction> resource that is not a child of the target resource, but another resource linked to it.

한편, 본 실시예에 따른 장치와 방법의 기능을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.It goes without saying that the technical idea of the present invention can also be applied to a computer-readable recording medium having a computer program for performing the functions of the apparatus and method according to the present embodiment. In addition, the technical idea according to various embodiments of the present invention may be embodied in computer-readable code form recorded on a computer-readable recording medium. The computer-readable recording medium is any data storage device that can be read by a computer and can store data. For example, the computer-readable recording medium may be a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical disk, a hard disk drive, or the like. In addition, the computer readable code or program stored in the computer readable recording medium may be transmitted through a network connected between the computers.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the present invention.

AE(Application Entity)
CSE(Common Sservice Entity)
<transactionMgmt> 리소스
<transactiont> 리소스
Application Entity (AE)
Common Sservice Entity (CSE)
<transactionMgmt> Resources
<transactiont> Resources

Claims (8)

제1 CSE(Common Sservice Entity)가, Originator의 요청에 의해 트랜잭션 관리를 위한 제1 리소스를 생성하는 단계;
제2 CSE들이, 제1 CSE의 요청에 의해 트랜잭션 태스크들을 위한 제2 리소스들을 생성하는 단계;
제1 CSE가, 제1 리소스를 이용하여 제2 리소스들을 관리하는 단계;를 포함하는 것을 특징으로 하는 트랜잭션 방법.
The first CSE (Common Service Entity) generating a first resource for transaction management at the request of the Originator;
The second CSEs creating second resources for the transaction tasks at the request of the first CSE;
And the first CSE managing the second resources using the first resource.
청구항 1에 있어서,
제1 리소스는,
트랜잭션 태스크들의 상태를 나타내는 트랜잭션 상태 속성을 포함하는 것을 특징으로 하는 트랜잭션 방법.
The method according to claim 1,
The first resource comprises:
And a transaction state attribute indicating the state of the transaction tasks.
청구항 2에 있어서,
제1 리소스는,
트랜잭션 상태 속성의 업데이트에 대한 알림을 통보할 생성자 속성을 포함하는 것을 특징으로 하는 트랜잭션 방법.
The method of claim 2,
The first resource comprises:
And a constructor property to notify of notification of an update of the transaction state attribute.
청구항 3에 있어서,
생성자와 제1 CSE 만이,
트랜잭션 상태 속성을 Commit 으로 업데이트할 수 있는 것을 특징으로 하는 트랜잭션 방법.
The method of claim 3,
Only the constructor and the first CSE,
Wherein transaction state attributes can be updated to Commit.
청구항 1에 있어서,
트랜잭션 태스크들을 실행할 트랜잭션 타이머 속성을 포함하는 것을 특징으로 하는 트랜잭션 방법.
The method according to claim 1,
And a transaction timer attribute for executing transaction tasks.
청구항 1에 있어서,
제1 리소스는,
트랜잭션 태스크들을 모두 commit 할 수 없을 때, 트랜잭션 태스크들을 처리하는 방법을 나타내는 속성 및 트랜잭션 태스크들을 모두 commit 한 후에 제1 리소스를 처리하는 방법을 나타내는 속성을 포함하는 것을 특징으로 하는 트랜잭션 방법.
The method according to claim 1,
The first resource comprises:
An attribute indicating a method of processing transaction tasks when the transaction tasks can not be all committed; and an attribute indicating a method of processing a first resource after both transaction tasks have been committed.
청구항 1에 있어서,
제2 리소스는,
트랜잭션 태스크의 상태를 나타내는 속성을 포함하는 것을 특징으로 하는 트랜잭션 방법.
The method according to claim 1,
The second resource,
The attribute indicating the status of the transaction task.
Originator의 요청에 의해 트랜잭션 관리를 위한 제1 리소스를 생성하는 제1 CSE(Common Sservice Entity); 및
제1 CSE의 요청에 의해 트랜잭션 태스크들을 위한 제2 리소스들을 생성하는 제2 CSE들;을 포함하고,
제1 CSE는,
제1 리소스를 이용하여 제2 리소스들을 관리하는 것을 특징으로 하는 트랜잭션 시스템.
A first CSE (Common Service Entity) for generating a first resource for transaction management at the request of the originator; And
Second CSEs for generating second resources for transactional tasks at the request of the first CSE,
In the first CSE,
And managing the second resources using the first resource.
KR1020170037825A 2017-03-24 2017-03-24 Transaction Management Method on M2M Platform KR20180108279A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170037825A KR20180108279A (en) 2017-03-24 2017-03-24 Transaction Management Method on M2M Platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170037825A KR20180108279A (en) 2017-03-24 2017-03-24 Transaction Management Method on M2M Platform

Publications (1)

Publication Number Publication Date
KR20180108279A true KR20180108279A (en) 2018-10-04

Family

ID=63863015

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170037825A KR20180108279A (en) 2017-03-24 2017-03-24 Transaction Management Method on M2M Platform

Country Status (1)

Country Link
KR (1) KR20180108279A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102234652B1 (en) 2019-11-25 2021-04-01 (주)엔텔스 SERVICE CONTROL METHOD FOR oneM2M IoT PLATFORM AND CONTROLLING APPARATUS
KR102367505B1 (en) * 2021-08-17 2022-02-25 한국전자기술연구원 Advanced Semantic Discovery Method and M2M Platform applying the same
WO2024085264A1 (en) * 2022-10-17 2024-04-25 한국전자기술연구원 Method for rerouting request message between platforms in order to seamlessly store data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102234652B1 (en) 2019-11-25 2021-04-01 (주)엔텔스 SERVICE CONTROL METHOD FOR oneM2M IoT PLATFORM AND CONTROLLING APPARATUS
KR102367505B1 (en) * 2021-08-17 2022-02-25 한국전자기술연구원 Advanced Semantic Discovery Method and M2M Platform applying the same
WO2023022240A1 (en) * 2021-08-17 2023-02-23 한국전자기술연구원 Advanced semantic discovery method, and m2m platform using same
WO2024085264A1 (en) * 2022-10-17 2024-04-25 한국전자기술연구원 Method for rerouting request message between platforms in order to seamlessly store data

Similar Documents

Publication Publication Date Title
US11740943B2 (en) Techniques for managing long-running tasks with a declarative provisioner
CN105740048B (en) A kind of mirror image management method, apparatus and system
JP7112809B2 (en) Scheduling robots for robotic process automation
US9348709B2 (en) Managing nodes in a distributed computing environment
CN112668386A (en) Long running workflows for document processing using robotic process automation
US20210224076A1 (en) Techniques for managing dependencies of an orchestration service
US11231919B2 (en) Live updates of stateful components
KR20200070085A (en) Method and apparatus for processing information
US11824721B2 (en) Method and system for virtual server dormancy
US11809216B2 (en) Providing external access to a processing platform
CN108337314A (en) Distributed system, information processing method and device for master server
KR20180108279A (en) Transaction Management Method on M2M Platform
US10503428B2 (en) System and method for concurrent multipoint backup
US10698719B2 (en) System and method for virtual machine restoration
KR20190027823A (en) Workflow-based object destruction
KR102399291B1 (en) Control in initiating atomic tasks on a server platform
US9319274B1 (en) Method and system for dynamic provisioning using server dormant mode for virtual server dormancy
US11422861B2 (en) Data processing method and computer device
CN113010280A (en) Distributed task processing method, system, device, equipment and medium
US20230229670A1 (en) Dynamic pairing mechanism for live database replication
CN114402292A (en) Providing optimizations in microservice architectures
CN113805858A (en) Method and device for continuously deploying software developed by scripting language
JP7480842B2 (en) Virtual resource management device, virtual resource management method, and program
KR101792939B1 (en) Transaction Management Method for M2M/IoT systems
JP2024524260A (en) Techniques for safe database migration with no downtime