WO2013180476A1 - M2m 통신용 장치 및 방법 - Google Patents

M2m 통신용 장치 및 방법 Download PDF

Info

Publication number
WO2013180476A1
WO2013180476A1 PCT/KR2013/004740 KR2013004740W WO2013180476A1 WO 2013180476 A1 WO2013180476 A1 WO 2013180476A1 KR 2013004740 W KR2013004740 W KR 2013004740W WO 2013180476 A1 WO2013180476 A1 WO 2013180476A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
transaction
information
communication
master
Prior art date
Application number
PCT/KR2013/004740
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020120121701A external-priority patent/KR102034736B1/ko
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to CN201380003515.0A priority Critical patent/CN103947157B/zh
Publication of WO2013180476A1 publication Critical patent/WO2013180476A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Definitions

  • the present invention relates to an apparatus and method for machine-to-machine communication (M2M), and more particularly, abstracts a device through a pre-stored device master template and a resource master template.
  • M2M machine-to-machine communication
  • the present invention relates to an apparatus and a method for performing M2M communication through an interface that can access a resource and periodically synchronizing information.
  • the ETSI M2M standard is being enacted by the European telecommunications standards institute (ETSI), an international standardization organization, to facilitate communication services between objects and equipment.
  • ETSI M2M standard includes network application (NA), device application (DA), network service capability layer (NSCL), service capability layer (SCL), etc. It defines the same concept and standardizes the Uniform Resource Identifier (URI) that accesses resources based on REST (representational state transfer) to improve convenience of service development.
  • URI Uniform Resource Identifier
  • the first problem is the scalability of the system. When multiple devices are connected to one network service capability layer (NSCL), performance may be degraded.
  • the second problem is the heterogeneity of the interface that allows access to resources, and even the same type of device may have different access interfaces for different manufacturers and models. Heterogeneity problems can arise in terms of both form and semantics. In terms of form, communication protocols may be different from each other, and in terms of content, languages (namespace, taxonomy, grammar, etc.) for writing content in a payload may be different from each other.
  • the network service capability layer may include a read / write buffer for smooth communication between the device and the network application (NA).
  • the data that the network application (NA) wants to send to the device or the data that the device sends to the network application (NA) is first stored in this buffer.
  • Using buffers in this way can increase the availability of data or reduce duplicate requests.
  • Container-related URIs or network interworking proxies (NIPs), as defined in the ETSI M2M standard, can be used to access this buffer.
  • the synchronization efficiency has a big impact on the overall system performance.
  • a system in which the network service capability layer (NSCL) is established if synchronization occurs at an excessively high frequency This increases the load on the system, resulting in increased system construction costs.
  • the network application (NA) may not meet requirements such as the desired message delivery rate. Therefore, there is a need for a method capable of efficiently synchronizing while taking into consideration the characteristics of M2M communication such as a short packet length, a large number of packets, and a variety of device specifications.
  • Patent Document 1 confirms the data format that can be provided by the connected M2M device, requests the M2M device to obtain an emergency situation notification information having a data format to receive emergency situation notification information from the M2M device, emergency situation notification information Disclosed is the transmission of the emergency situation notification information obtained from the M2M device to a service server functioning to take necessary measures.
  • Patent Literature 2 Korean Patent Registration No. 10-1048854 (Patent Holder: Katie Co., Registered Date: July 6, 2011, hereinafter referred to as 'Patent Document 2') describes a service control method and system for subscriber traffic data of M2M application. It is. Patent Literature 2 checks the identification information according to the type of device to be selectively connected and the propensity information of the application running on the device and delivers it to the M2M control server, and the service of the subscriber identified based on the propensity information of the application received from the M2M module. Disclosed is a control to prevent subscriber traffic data transmitted and received based on quality reference information from exceeding a limited range.
  • the technical problem to be achieved by the present invention is to abstract the device using the stored device master template (resource master template) and resource master template (resource master template), and performs M2M communication through an interface that can access the resource
  • the present invention provides an apparatus and method for M2M communication that periodically synchronizes information.
  • the technical problem to be achieved by the present invention is to abstract the device using the stored device master template and the resource master template, to perform the M2M communication through the interface that can access the resource, for M2M communication to periodically synchronize information
  • a computer readable recording medium having recorded thereon a program for executing the method on a computer is provided.
  • an apparatus for M2M communication comprising: a storage unit storing a device master template and a resource master template; And a registration unit that registers the device using the device master template stored in the storage unit and the resource master template stored in the storage unit when receiving a registration request message from the device.
  • a method for M2M communication comprising: receiving a registration request message from a device; And registering the device by using a stored device master template and a stored resource master template.
  • the computer-readable medium according to the present invention for achieving the above technical problem records a program for executing any one of the above methods in a computer.
  • a communication device receives a registration request from a device through a network, and generates and stores information related to the device by using a device master template and a resource master template. Register to register; And a synchronization unit for synchronizing the stored information related to the device with other information stored in the device corresponding to the stored information.
  • the device can use the M2M communication service through the device master template and the resource master template previously created and stored. Accordingly, when a new device appears, a new device is also M2M communication by creating and adding a device master entry and a resource master entry corresponding to the new device based on existing master templates. The service is available.
  • device communication specifications ie, supported communication protocols, etc.
  • resource content representation format specifications ie, XML, JSON, RDP, etc.
  • vocabulary specifications used to create resource content
  • device master templates and resource master templates stored separately can provide an interface for abstracting devices and accessing resources. Accordingly, even though the same device may have a different interface for each manufacturer or model, the device master template and the resource master template according to the present invention can use the M2M communication service for devices having different interfaces. Therefore, it is possible to solve the heterogeneity problem of the interface that can access the resource.
  • the synchronization method it is possible to minimize the load on the network service capability layer (NSCL) without degrading the quality of service. This is accomplished by performing only selected transactions using the requirements of the network application (NA) and transactions supported by the device (TSD). Therefore, the scalability problem can be solved by reducing the performance requirement of the network service capability layer (NSCL) generated as the number of connected devices increases, and the infrastructure construction cost required for the M2M communication service can be reduced.
  • NCL network service capability layer
  • FIG. 1 is a block diagram illustrating an apparatus for M2M communication according to a preferred embodiment of the present invention
  • FIG. 2 is a block diagram showing in more detail the configuration of the M2M communication device according to an embodiment of the present invention
  • FIG. 3 shows an example of a device master entry according to a preferred embodiment of the present invention
  • FIG. 5 is a view for explaining a registration operation of a device according to an embodiment of the present invention.
  • FIG. 6 is a view for explaining an example of a virtual device instance according to an embodiment of the present invention.
  • FIG. 7 is a view for explaining an example of a resource chunk instance according to a preferred embodiment of the present invention.
  • FIG. 8 is a block diagram showing in more detail the configuration of a synchronization unit according to an embodiment of the present invention.
  • FIG. 9 is a view for explaining an example of the requirements of a network application according to a preferred embodiment of the present invention.
  • FIG. 10 is a view for explaining an example of an integration period for a device according to a preferred embodiment of the present invention.
  • 11 and 12 are diagrams for explaining a transaction management operation according to a preferred embodiment of the present invention.
  • FIG. 13 is a view for explaining an example of device support transaction information according to a preferred embodiment of the present invention.
  • 15 is a view for explaining an example of work request list information according to a preferred embodiment of the present invention.
  • FIG. 16 is a view for explaining an example of a transaction targeted for push gain calculation among device support transaction information according to an embodiment of the present invention.
  • 17 is a view for explaining an example of a throughput index for a transaction belonging to device-assisted transaction information according to an embodiment of the present invention.
  • FIG. 18 is a view for explaining an example of a transaction selection operation according to a preferred embodiment of the present invention.
  • FIG. 20 is a flowchart illustrating a synchronization method according to a preferred embodiment of the present invention in more detail.
  • FIG. 1 is a block diagram illustrating an apparatus for M2M communication according to a preferred embodiment of the present invention.
  • the M2M communication apparatus 100 may be connected to a plurality of devices 200-1 to 200-n through a communication network 300.
  • the M2M communication apparatus 100 is an apparatus used for M2M communication, and provides a device registration, a resource access interface for the device, and the like.
  • the device for M2M communication 100 corresponds to the "Network Service Capability Layer (NSCL)" and “Network Application (NA)” defined in the M2M standard established by the European Telecommunication Standards Association (ETSI).
  • NSCL Network Service Capability Layer
  • NA Network Application
  • the Network Service Capability Layer is a kind of service platform that provides communication and resource access.
  • the network application (NA) is an M2M application registered in the network service capability layer (NSCL).
  • the network application (NA) utilizes the network service capability layer (NSCL) and other service capability layer (SCL) to provide a service to a user. to provide. That is, device registration is performed through the network service capability layer NSCL, and data transmission and reception are performed between the network application NA and the device application DA.
  • data synchronization is performed according to a request of a network application NA or a device application DA through the network service capability layer NSCL.
  • resources are declared inside the network application NA.
  • Declared resources indicate what resources are accessed when the network application (NA) is running.
  • the declared resources are described in the specification or source code of the network application (NA). That is, when creating a network application (NA), resources can be treated as an accessible variable or object. Later, when the network application (NA) is executed and connected with actual devices, the resources of the device are connected to the variable or object to connect the network application. (NA) will do the work.
  • a variable or object represents a resource declared in a network application (NA).
  • the devices 200-1 to 200-n are devices for requesting M2M communication, and include a temperature controller, a cooler, a heater, a television, and the like.
  • Devices 200-1 through 200-n may be standard devices that conform to the ETSI M2M standard or proprietary devices that do not conform to the ETSI M2M standard.
  • Devices 200-1 through 200-n correspond to "device applications DA" defined in the M2M standard established by the European Telecommunications Standards Institute (ETSI).
  • ETSI European Telecommunications Standards Institute
  • the devices 200-1 to 200-n request the device 100 for M2M communication to register their own device for M2M communication.
  • the communication network 300 includes not only a data network including a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), the Internet, but also a broadcasting network and a telephone network. It can include, wire and wireless, any communication method may be used.
  • LAN local area network
  • MAN metropolitan area network
  • WAN wide area network
  • the Internet but also a broadcasting network and a telephone network. It can include, wire and wireless, any communication method may be used.
  • FIG. 2 is a block diagram showing in more detail the configuration of the M2M communication apparatus according to a preferred embodiment of the present invention.
  • the M2M communication device 100 includes a storage unit 110, a registration unit 130, and a synchronization unit 150.
  • the storage unit 110 stores a device master template and a resource master template.
  • the storage unit 110 may include a data storage space such as a read / write buffer. Read / write buffers are used for smooth communication between the network application (NA) and the device.
  • NA network application
  • the device master template is composed of a plurality of device master entries.
  • the device master entry includes device manufacturer identification information, device identification information, communication information of the device (ie, supported communication protocol, etc.) and device resource information.
  • the device manufacturer identification information is a unique code for identifying the manufacturer of the device, and includes a manufacturer name and a global trade item number (GTIN) code.
  • the device identification information is a unique code for identifying the device, and may include a serial number of the device, an activation code of the device, and the like.
  • the communication information of the device refers to address information, path information, etc. for the M2M communication apparatus 100 to access the device.
  • the device resource information is information about a resource supported by the device, and includes resource type, controllability, and unique resource identification information identifiable within the device.
  • the type of resource uses a vocabulary defined in a corresponding resource master entry described below.
  • FIG. 3 is a diagram illustrating an example of a device master entry according to a preferred embodiment of the present invention.
  • a device master entry corresponding to an air conditioner capable of measuring temperature and humidity is as follows.
  • the device manufacturer identification information is composed of a manufacturer name “A-Company”, which is a unique code that can identify the manufacturer through the tag “manufacturer”.
  • the device identification information is the serial number "102-8364-02934, 107-8364-63456, 795-5846-11634, etc.”, which is a unique code that identifies the device through the tags "serial-number-pool and serial-number”. It is composed.
  • the device communication information is composed of protocol type "IPv4" and the like which is information for accessing the device through the tag "communication, protocol, etc.”.
  • the device resource information is composed of "temperature and humidity” which are information on resources supported by the device through tags “resources” and “resource”.
  • the device resource information is represented by the resource type "temperature” or “humidity” through the attribute "type” for each resource, “yes” or “no” that can be controlled through the attribute "assignable”
  • the unique resource identification information "1-Measured Temperature”, “2-Measured Humidity” or “3-Target Temperature”, which can be identified in the device, is expressed through the attributes "id and name”.
  • the resource master template is composed of a plurality of resource master entries.
  • the resource master entry includes a representation format specification (representation format specification (i.e., XLM, JSON, RDF, etc.) of the resource content) and a lexical specification used to create the resource content, where the resource content is defined in the device.
  • a representation format specification representation format specification (i.e., XLM, JSON, RDF, etc.) of the resource content)
  • a lexical specification used to create the resource content, where the resource content is defined in the device.
  • a resource corresponds to a " ⁇ container>" in the RESTful URI structure defined in the ETSI M2M standard
  • the resource content of the cooler includes Measured values (measurable content), target temperature values (controllable content), and the like.
  • the representation format specification of the resource content refers to information about a standardized representation language such as XML (extensible markup language) and JSON (JavaScript object notation).
  • XML expressly e.g., XML
  • JSON JavaScript object notation
  • the XML representation format may be defined by a document type definition (DTD).
  • the vocabulary (taxonomy and / or namespace) specification used for the creation of resource content refers to information on the terminology set to be used for creating the resource content among various terms for creating the resource content.
  • FIG. 4 is a diagram illustrating an example of a resource master entry according to a preferred embodiment of the present invention.
  • a resource master entry is composed of a representation format specification of resource contents and a lexical specification used to create resource contents.
  • the representation format specification of resource contents defines "type, value, and unit” which are representation forms of resource contents through DTD language.
  • the vocabulary specification used for creating resource contents defines "PCDATA", which is a part in which the vocabulary used for creating resource contents is specified in the format expressed through the DTD language.
  • a resource master entry for a temperature value may consist of "temperature” in field “type”, “numeric value” in field “value”, and “celsius” in field “unit”.
  • the resource master entry for the humidity value may be composed of "humidity” in the field “type”, “numeric value” in the field "value”, and “percent” in the field "unit”.
  • the registration unit 130 uses a device master template previously stored in the storage unit 110 and a resource master template previously stored in the storage unit 110. Register the first device 200-1.
  • the registration request message includes device manufacturer identification information, device identification information, and the like. That is, the registration unit 130 generates a virtualized device instance and a resource chunk instance corresponding to the first device 200-1 through the device master template and the resource master template and generates a storage chunk instance. By storing in 110, the first device 200-1 is registered.
  • the registration unit 130 stores the device master template stored in the storage unit 110 using device manufacturer identification information, device identification information, etc. included in the registration request message received from the first device 200-1. Searches for the device master entry corresponding to the first device 200-1.
  • the registration unit 130 generates a virtual device instance corresponding to the first device 200-1 through a device master entry corresponding to the first device 200-1.
  • the virtual device instance includes device master entry identification information, device identification information, device communication information, resource chunk instance identification information, and the like.
  • the registration unit 130 searches for a corresponding resource master entry in the resource master template previously stored in the storage unit 110 through device resource information included in the device master entry corresponding to the first device 200-1. do.
  • the registration unit 130 generates at least one resource chunk instance through the retrieved resource master entry.
  • the number of generated resource chunk instances is equal to the number of resource master entries retrieved.
  • the resource chunk instances contain at least one resource content generated from the same resource master entry.
  • the registration unit 130 stores the resource content included in the resource chunk instance of the first device 200-1 into resource content head data and resource content body data. It may be stored in the unit (110).
  • the resource content head data represents metadata of the resource content.
  • the metadata may include resource content identification information, a kind of resource, and the like.
  • Resource content body data represents actual data.
  • the registration unit 130 may store and distinguish resource content head data and resource content body data independently of each other.
  • the register 130 stores resource content head data of a device master template, a resource master template, a virtual device instance, and a resource chunk instance in a relational DBMS, and stores the resource content body data of the resource chunk instance in a NoSQL DBMS. Can be stored.
  • the registration unit 130 stores the virtual device instance corresponding to the first device 200-1 and the resource chunk instance of the first device 200-1 in the storage 110.
  • FIG. 5 is a view for explaining a registration operation of a device according to an embodiment of the present invention.
  • the registration unit 130 uses device manufacturer identification information, device identification information, and the like included in the registration request message received from the device #A. Search for a device master entry (one of DME_1 to DME_J) corresponding to device #A in the device master template DM previously stored in the storage 110, and correspond to device #A through the found device master entry.
  • the virtual device instance VD_A is generated and stored in the storage 110.
  • FIG. 6 is a view for explaining an example of a virtual device instance according to an embodiment of the present invention.
  • device #A is an air conditioner capable of measuring temperature and humidity
  • the manufacturer of device #A is "A-Company”
  • the serial number of device #A is "107-8364-63456”
  • IP IP
  • the device master entry identification information is referred to as "11" which is identification information of the device master entry used to create the virtual device instance corresponding to the device #A through the tag "device-master-entry-number". It is composed.
  • the device identification information is composed of "107-8364-63456" which is identification information of the device #A through the tag "serial-number”.
  • the device communication information is composed of "10.1.1.2” which is communication information of device #A through the tag "communication, ipv4, etc.”.
  • the resource chunk instance identification information consists of "11111, 12222, and 13333" identification information of the resource chunk instance generated for the resource supported by the device #A through the tags "resource-chunks and resource-chunk”.
  • the registration unit 130 may store the storage unit through the device resource information included in the device master entry corresponding to the device #A.
  • the corresponding resource master entry (at least one of RME_1 to RME_K) is searched for in the resource master template RM previously stored in 110, and the resource chunk instances RC_A_1 to RC_A_m of device #A are searched through the found resource master entry. It generates and stores in the storage unit 110.
  • FIG. 7 is a diagram for explaining an example of a resource chunk instance according to a preferred embodiment of the present invention.
  • a resource chunk instance created through a resource master entry whose resource content is " temperature measurement value" is composed of the following resource content.
  • the resource content is "temperature” which is a kind of resource through the tag “type”, “35.5" which is a measured value through the tag “value”, and "celsius” which is a unit of value through the tag “unit”. Is expressed.
  • the registration unit 130 generates and stores a virtual device instance and a resource chunk instance corresponding to each of the devices 200-1 to 200-n requesting registration, and thus requests the device 200-1 to 200-n. ).
  • the synchronization unit 150 exchanges a message with the first device 200-1 and the resource chunk instance of the first device 200-1 stored in the storage unit 110 and the resource chunk of the first device 200-1.
  • the information in the first device 200-1 corresponding to the instance is synchronized. That is, if the state of the virtual device instance corresponding to the first device 200-1 is changed, the synchronization unit 150 is reflected in the first device 200-1, and the state of the first device 200-1 is changed. If changed, the change is also reflected in the virtual device instance corresponding to the first device 200-1.
  • FIG. 8 is a block diagram showing in detail the configuration of the synchronization unit according to an embodiment of the present invention.
  • the synchronization unit 150 includes a requirements management unit 151, a transaction management unit 153, a transaction selection unit 155, and a transaction execution unit 157.
  • the requirement manager 151 manages a requirement for periodic read / writes directed to a specific device from each of the plurality of network applications NA. That is, the requirement manager 151 grasps and maintains information on how the requirements of the network application NA are reflected in a specific device. In addition, the requirements manager 151 requests a job to the transaction manager 153 and the transaction selector 155 as necessary.
  • the requirement management unit 151 declares a new network application (NA) in the network application (NA) when a new network application (NA) is registered in the network service capability layer (NSCL) or the registered network application (NA) is changed. Compute and update the read / write period for each resource that has been created.
  • NA network application
  • the read / write period may be extracted from network application (NA) registration information on the network service capability layer (NSCL).
  • the network application (NA) registration information includes a specification defining the network application (NA), network application (NA) source code, and the like.
  • the read / write cycle may be determined based on statistical information monitoring the request of the network application (NA). For example, the average of a time interval of a read request for a specific resource, a moving average, an upper value average, and the like may be determined.
  • the smallest reference value is determined as the period of the resource. For example, if the network application (NA) registration information requires 5 seconds or 3 seconds as a read cycle for a specific resource, and statistical information indicates that the read cycle is 10 seconds, the read cycle of the corresponding resource is determined to be 3 seconds.
  • NA network application
  • the requirement manager 151 calculates a read / write cycle for the resource X declared in the network application NA through Equation 1 below.
  • FIG. 9 is a view for explaining an example of the requirements of a network application according to a preferred embodiment of the present invention.
  • NA Network Service Capability Layer
  • NA1 declares three resources (A, B, and C)
  • NA2 defines four resources (A and B).
  • C, D the requirement management unit 151 displays information about resources declared by each NA and read / write cycles (NARP, NAWP) for the corresponding resources, as shown in FIG. Can be extracted and maintained.
  • the requirement management unit 151 is a network application (NA) is newly run and connected to the device, or connected to the device, the read cycle (NARP) or write cycle (NAWP) for the resources of the network application (NA) already running. ), Or when the network application (NA) that is connected to the device and the existing network application (NA) is terminated, merged read / write cycle (merged read) for each resource of the device using a read cycle (NARP) and a write cycle (NAWP) / write period) and update it.
  • NARP read cycle
  • NAWP write cycle
  • the merged read period (MRP) and merged write period (MWP) are calculated for the resources of the device.
  • the read cycle (NARP) and write cycle (NAWP) are calculated for the resources declared in the network application (NA), respectively.
  • the integrated read cycle (MRP) of resource Y of a specific device is determined as the minimum value of the read cycles (NARP) of resources connected to resource Y among resources declared by all currently running network applications NA.
  • the integrated write cycle (MWP) is also determined in this way.
  • all currently running network applications NA refer to both newly executed network applications NA and previously running network applications NA.
  • the requirement manager 151 calculates the integrated read / write cycle for the resource Y of the specific device through Equation 2 below.
  • FIG. 10 is a view for explaining an example of an integration period for a device according to a preferred embodiment of the present invention.
  • Device D1 has two resources (R1, R2), NA1 is executed and resources B and C of NA1 are connected to resources R1 and R2 of device D1 respectively, and NA2 is executed so that resources A and C of NA2 are devices
  • the requirement management unit 151 can calculate and maintain information on the integrated read / write cycles (MRP, MWP) for the device D1 as shown in FIG. have.
  • the requirement manager 151 requests a job from the transaction manager 153 and the transaction selector 155. That is, the requirement manager 151 requests a job to the transaction manager 153 and the transaction selector 155 when a requirement change such as addition, change, or deletion occurs. For example, the requirement manager 151 may request a job while providing the transaction manager 153 or the transaction selector 155 with a requirement for periodic read / write from the network application NA to the device.
  • the transaction manager 153 identifies and manages transactions supported by the device. That is, the transaction manager 153 grasps and updates a message format or a communication method supported by the device.
  • the transaction management unit 153 Identify and update the kinds of transactions that can occur between the NSCL and the device.
  • a transaction refers to a sender sending a message to the receiver once or a sender sending a message to the receiver once and receiving a response message.
  • registration or change of the device physically includes not only the device being connected to the network service capability layer (NSCL) but also the device identification information is changed.
  • device identification information may be changed when a device manufacturer releases a new product or changes a specification of an existing product that may be connected to a network service capability layer (NSCL).
  • the transaction between the device and the Network Service Capability Layer (NSCL) is used to determine what resources are read from or written to the device, and whether the device or the Network Service Capability Layer (NSCL) sends a message first. Can be classified by criteria. For example, if the resource to be read from the device is A and the resource to be written to the device is B, the transaction that first sends a message from the device side consists of the following two steps.
  • Step 1) The device sends a message to the network service capability layer (NSCL) containing the value A and requesting the value to be set to B.
  • NSCL network service capability layer
  • Step 2 The network service capability layer (NSCL) receiving the message sent by the device responds to the device with a message containing the value to set in B.
  • NSC network service capability layer
  • the device knows what resources it has, it is possible to identify all possible types of transactions by arbitrarily setting the resources to be read by the device, the resources to be written to the device, and who is the first sender. Transactions supported by the device may be part of any type of transaction identified.
  • the transaction manager 153 calculates device-assisted transaction information (transaction-supported-by-device: TSD) including only transactions supported by the device among all types of transactions.
  • TSD device-assisted transaction information
  • a method of storing and maintaining the device support transaction information (TSD) may be implemented by various methods. For example, store all elements of device-assisted transaction information (TSD), store only a few rules of device-assisted transaction information (TSD), or store only transactions that are not included in device-assisted transaction information (TSD) of all possible transactions. Can be.
  • 11 and 12 are diagrams for explaining a transaction management operation according to a preferred embodiment of the present invention.
  • the transaction manager 153 may acquire all possible types of transactions as shown in FIG. 11.
  • the 'push attribute' of the 'transaction element' indicates whether or not device push.
  • 'read element' represents the resource to be read from the device.
  • 'write element' represents a resource to be written to the device.
  • the last transaction indicates that the Network Service Capability Layer (NSCL) reads the R1 and R2 values from the device, simultaneously assigns the R1 and R2 values to the device, and indicates that the first sender is the device. .
  • NSCL Network Service Capability Layer
  • the 'request element' represents a resource to be received from the network service capability layer (NSCL).
  • 'read element' represents a value of resources that the network service capability layer (NSCL) wants to read from the device D1.
  • the network service capability layer (NSCL) receiving the message attempts to set the R1 and R2 values of the device D1 to 10 and 11, respectively, it may respond with a message as shown in FIG. 12B.
  • the 'write element' represents a value of resources that the network service capability layer (NSCL) wants to write to the device D1.
  • FIG. 13 is a diagram for explaining an example of device support transaction information according to a preferred embodiment of the present invention.
  • the transaction manager 153 uses the data sheet of the device D1 to identify the types of transactions supported by the device D1 and includes only the transactions supported by the device D1 among all possible transactions as shown in FIG. 13.
  • Device-assisted transaction information TSD can be extracted and maintained.
  • the transaction manager 153 requests a job from the transaction selector 155. That is, the transaction manager 153 notifies the transaction selector 155 of the change when the device support transaction information TSD is changed. For example, the transaction manager 153 may provide the changed device support transaction information (TSD) to the transaction selector 155 to notify the fact of the change.
  • TSD device support transaction information
  • the transaction selector 155 determines the type and frequency of transactions between the network service capability layer (NSCL) and the device. That is, the transaction selector 155 determines the type and frequency of the transaction using a greedy algorithm as a main variable using the communication request frequency for each resource and the characteristics of the communication method for each device.
  • NCL network service capability layer
  • the transaction selector 155 selects a transaction to be actually performed from device support transaction information (TSD) for each of the corresponding devices, and selects the selected transaction.
  • TSD device support transaction information
  • this problem is regarded as a weighted set cover problem and solved using a greedy algorithm.
  • the integrated read cycle (MRP), integrated write cycle (MWP), device support transaction information (TSD), etc. are used as the main variables.
  • the transaction selector 155 extracts task request list information (TaskSet) using data provided by the requirement manager 151.
  • the work request list information is a set of required synchronization tasks, and refers to a set to be covered in the weighted set cover problem.
  • each MRP and MWP of each resource becomes an element of the work request list information.
  • the contents of each element may include resource identification information (resource ID) within the device, an operation flag to distinguish between reading or writing to the device from the Network Service Capability Layer (NSCL), integrated read cycle, or integrated write cycle. Include.
  • resource ID resource identification information
  • NSCL Network Service Capability Layer
  • the content of an element can be expressed in various forms.
  • FIG. 14 is a view for explaining an example of elements constituting work request list information according to a preferred embodiment of the present invention.
  • an element having an integrated read cycle of resource A of 5 seconds may be composed of triples as shown in FIG. 14.
  • 15 is a diagram for explaining an example of work request list information according to a preferred embodiment of the present invention.
  • the transaction selector 155 extracts and maintains work request list information as shown in FIG. 15 using data provided by the requirement manager 151. And, the transaction selector 155 is a transaction starting with a message sent from the device to the network service capability layer (NSCL) of each transaction belonging to the device support transaction information (TSD) through the following [Equation 3] Calculate the push gain.
  • device push refers to a case where a transaction starts with a message sent from a device to a network service capability layer (NSCL).
  • NSC Network Service Capability Layer
  • the resources of the consumed network service capability layer may be measured through the number of messages sent and received, network bandwidth consumption, CPU time of the NSCL process, and the like.
  • the method of measuring the resources of the network service capability layer (NSCL) consumed according to the detailed implementation such as the type of communication protocol, the structure of the NSCL thread (thread) may vary. For example, if the number of messages sent and received based on the UDP protocol is used as a resource consumption measure, and a transaction that reads one resource of the device, the device push method causes the device to send a message to the network service capability layer (NSCL). Since only one transmission is required, the total number of messages is one and the push gain is calculated as one.
  • the push gain is calculated as 2.
  • NSC network service capability layer
  • FIG. 16 is a view for explaining an example of a transaction that is a target of push gain calculation in device support transaction information according to an exemplary embodiment of the present invention.
  • the transaction selector 155 calculates a push gain for a transaction that becomes a device push as shown in FIG. 16 among transactions belonging to the device support transaction information (TSD) of the device D1.
  • TSD device support transaction information
  • the transaction selector 155 calculates a throughput index for each transaction belonging to the device support transaction information (TSD).
  • the throughput indicator is an indicator indicating how many user requests a transaction can handle. That is, the transaction selector 155 may calculate a throughput index for transaction X belonging to the device support transaction information (TSD) through Equation 4 below.
  • the throughput index is determined as a value proportional to the frequency of execution of the elements of the work request list information that can be performed by transaction X, and multiplies the push gain at the end when transaction X is a device push method. As the work demand list information changes, so does the throughput indicator.
  • FIG. 17 illustrates an example of a throughput index for a transaction belonging to device-assisted transaction information according to an exemplary embodiment of the present invention.
  • the transaction selector 155 calculates a throughput index for each of the transactions belonging to the device support transaction information (TSD) of the device D1 as shown in FIG. 17.
  • the transaction selector 155 calculates a merged action period (MAP) for each transaction belonging to the device support transaction information (TSD).
  • the integrated operation period MAP refers to an operation period of each transaction for satisfying the requirements of the network application NA. That is, the transaction selector 155 may calculate an integrated operation cycle MAP for transaction X belonging to the device support transaction information TSD through Equation 5 below. If the work request list information changes, the integrated operation cycle (MAP) changes accordingly.
  • the transaction selector 155 performs a greedy algorithm using the work request list information based on a throughput index and an integrated operation cycle (MAP) for each transaction belonging to the device support transaction information (TSD). Select a transaction that satisfies the requirements of (NA), and set the integration operation cycle (MAP) of the transaction.
  • the greedy algorithm is a heuristic for a set cover problem for covering work request list information with elements of device support transaction information (TSD). In this case, each of the elements of the device support transaction information (TSD) may be viewed as a subset of the work request list information.
  • the greedy algorithm according to the present invention is shown in the following [Table 1].
  • resources related to a transaction refer to resources that are read or written in the transaction.
  • the transaction selector 155 identifies and updates a set of tuples.
  • FIG. 18 is a view for explaining an example of a transaction selection operation according to a preferred embodiment of the present invention.
  • Transaction X having the maximum throughput index at the first execution of the iterative routine of the greedy algorithm is the transaction shown in FIG.
  • the unified operation period MAP of transaction X is 4 as shown in FIG. 18B.
  • Output after the execution of one iteration routine is as shown in FIG.
  • the work request list information is changed as shown in FIG. 18D by removing the work processed in transaction X. Thereafter, when the iteration routine ends, the output is as shown in FIG.
  • the transaction selector 155 notifies the transaction execution unit 157 of the fact that the transaction to be performed has changed. That is, the transaction selector 155 provides the tuple set to the transaction execution unit 157 when the contents of the tuple set are changed.
  • the transaction execution unit 157 synchronizes by performing the transaction selected by the transaction selection unit 155. That is, the transaction execution unit 157 performs synchronization based on the tuple set provided from the transaction selection unit 155. In other words, the transaction execution unit 157 periodically performs a transaction that is not a device push method by the network service capability layer (NSCL), and a transaction that is a device push method periodically sends a message for the device to start the transaction. The device is requested.
  • NCL network service capability layer
  • device master entries examples of device master entries, resource master entries, virtual device instances, resource chunk instances, device support transaction information (TSD), work request list information, and the like according to a preferred embodiment of the present invention are provided through JSON, XML, DTD, and the like. Although described as being represented, the present invention is not limited thereto and may be expressed in various forms according to the embodiment.
  • FIG. 19 is a flowchart illustrating a method for M2M communication according to a preferred embodiment of the present invention.
  • the first device 200-1 requests the M2M communication device 100 to register the first device 200-1 (S810).
  • the first device 200-1 sends a registration request message including manufacturer identification information of the first device 200-1, identification information of the first device 200-1, and the like to the M2M communication device 100. send.
  • the M2M communication apparatus 100 registers the first device 200-1 through previously stored device master templates and resource master templates. That is, the M2M communication apparatus 100 generates and stores a virtual device instance and a resource chunk instance corresponding to the first device 200-1 through the device master template and the resource master template, thereby storing the first device 200-1. Register.
  • the M2M communication apparatus 100 generates and stores a virtual device instance of the first device 200-1 by using a pre-stored device master template (S830). That is, the M2M communication apparatus 100 may include the first device (not shown) in the device master template previously stored using device manufacturer identification information, device identification information, etc. included in the registration request message received from the first device 200-1. The device master entry corresponding to the device 200-1 is searched for, and a virtual device instance corresponding to the first device 200-1 is generated and stored through the found device master entry.
  • the M2M communication apparatus 100 generates and stores a resource chunk instance of the first device 200-1 by using a previously stored resource master template (S850). That is, the M2M communication apparatus 100 searches for a corresponding resource master entry in a pre-stored resource master template through device resource information included in the device master entry corresponding to the first device 200-1, and searches for the found resource.
  • the resource chunk instance of the first device 200-1 is generated and stored through the master entry.
  • the M2M communication apparatus 100 exchanges messages with the first device 200-1 and exchanges information with each other (S870).
  • the resource chunk instance generation step S850 is performed after the virtual device instance generation step S830 is performed.
  • the resource chunk instance generation step S850 is not limited thereto. Prior to step S830, the virtual device instance generation step S830 and the resource chunk instance generation step S850 may be performed simultaneously.
  • FIG. 20 is a flowchart illustrating a synchronization method according to a preferred embodiment of the present invention in more detail.
  • the M2M communication apparatus 100 manages the requirements of the network application (NA) (S871). That is, the M2M communication device 100 manages a requirement for periodic read / write directed to a specific device from each of the plurality of network applications NA. In more detail, the M2M communication device 100 declares a new network application NA in the network application NA when the new network application NA is registered in the network service capability layer NSCL or the registered network application NA is changed. Compute and update the read / write cycles for each resource that has been created.
  • NA network application
  • the M2M communication apparatus 100 may be connected to a device by newly executing a network application (NA), or may be connected to a device, and a read cycle (NARP) or a write cycle (NAWP) for a resource of a network application (NA) that is previously executed. ), Or when the network application (NA) that is connected to the device is terminated, the integrated read / write cycle is calculated for each resource of the device using the read cycle (NARP) and the write cycle (NAWP). Update.
  • NARP read cycle
  • NAWP write cycle
  • the M2M communication device 100 manages the device support transaction information (TSD) (S873). That is, the M2M communication apparatus 100 identifies and manages a transaction supported by the device. In more detail, the M2M communication apparatus 100 calculates device support transaction information (TSD) consisting of only transactions supported by a device among all types of transactions, for each device.
  • TSD device support transaction information
  • the M2M communication device 100 selects a transaction based on the requirement and the device support transaction information (TSD) (S875). That is, the M2M communication device 100 uses the communication request frequency for each resource and the characteristics of the communication method for each device as main variables, and determines the type and frequency of transactions using a greedy algorithm. In more detail, the M2M communication device 100 extracts work request list information using requirements of a network application (NA). In addition, the M2M communication apparatus 100 calculates a push gain for a transaction starting with a message sent from the device to the network service capability layer (NSCL) among the transactions belonging to the device support transaction information (TSD).
  • NSC network service capability layer
  • the M2M communication apparatus 100 calculates a throughput index and an integrated operation cycle (MAP) for each transaction belonging to the device support transaction information (TSD). In addition, the M2M communication apparatus 100 performs a greedy algorithm using the work request list information based on a throughput index and an integrated operation cycle (MAP) for each transaction belonging to the device support transaction information (TSD), thereby applying a network application. Select a transaction that satisfies the requirements of (NA), and set the integration operation cycle (MAP) of the transaction.
  • MAP integrated operation cycle
  • the M2M communication device 100 performs a selected transaction to synchronize information with the device (S877).
  • the invention can also be embodied as computer readable code on a computer readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer device is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and also in the form of carrier wave (transfer over the Internet). It includes what is implemented.
  • the computer-readable recording medium can also be distributed over computer devices connected over a wired or wireless communication network so that the computer-readable code is stored and executed in a distributed fashion.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

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

Claims (19)

  1. 디바이스 마스터 템플릿(device master template)과 자원 마스터 템플릿(resource master template)을 저장하고 있는 저장부; 및
    디바이스로부터 등록 요청 메시지를 수신하면, 상기 저장부에 저장되어 있는 상기 디바이스 마스터 템플릿과 상기 저장부에 저장되어 있는 상기 자원 마스터 템플릿을 이용하여 상기 디바이스를 등록하는 등록부;를 포함하는 것을 특징으로 하는 M2M 통신용 장치.
  2. 제 1항에 있어서,
    상기 디바이스 마스터 템플릿은 디바이스 제조사 식별 정보, 디바이스 식별 정보, 디바이스 통신 사양(specification) 및 디바이스 자원 정보를 포함하는 디바이스 마스터 엔트리(device master entry)로 구성되고,
    상기 자원 마스터 템플릿은 자원 내용(resource content)의 표현 형식 사양(representation format specification) 및 상기 자원 내용의 작성에 사용되는 어휘 사양(taxonomy and/or namespace specification)을 포함하는 자원 마스터 엔트리(resource master entry)로 구성되는 것을 특징으로 하는 M2M 통신용 장치.
  3. 제 1항에 있어서,
    상기 등록부는 상기 디바이스 마스터 템플릿과 상기 자원 마스터 템플릿을 이용하여 상기 디바이스에 대응되는 가상 디바이스 인스턴스(virtualized device instance)와 자원 청크 인스턴스(resource chunk instance)를 생성하여 상기 저장부에 저장함으로써, 상기 디바이스를 등록하는 것을 특징으로 하는 M2M 통신용 장치.
  4. 제 3항에 있어서,
    상기 등록부는 상기 등록 요청 메시지를 통해 상기 저장부에 저장되어 있는 상기 디바이스 마스터 템플릿에서 상기 디바이스에 대응되는 디바이스 마스터 엔트리를 검색하고, 검색된 상기 디바이스에 대응되는 상기 디바이스 마스터 엔트리를 이용하여 상기 저장부에 저장되어 있는 상기 자원 마스터 템플릿에서 상기 디바이스가 지원하는 자원 마스터 엔트리를 검색하며, 검색된 상기 디바이스에 대응되는 상기 디바이스 마스터 엔트리와 검색된 상기 디바이스가 지원하는 자원 마스터 엔트리를 이용하여 상기 디바이스에 대응되는 상기 가상 디바이스 인스턴스와 상기 자원 청크 인스턴스를 생성하는 것을 특징으로 하는 M2M 통신용 장치.
  5. 제 3항에 있어서,
    상기 디바이스와 메시지를 주고 받으며 상기 저장부에 저장된 상기 자원 청크 인스턴스와 상기 자원 청크 인스턴스에 대응되는 상기 디바이스 내의 정보를 동기화하는 동기화부를 더 포함하는 것을 특징으로 하는 M2M 통신용 장치.
  6. 제 5항에 있어서,
    상기 동기화부는,
    네트워크 어플리케이션(network application : NA)에서 디바이스로 향하는 주기적인 읽기 또는 쓰기에 대한 요구사항을 관리하는 요구사항 관리부;
    디바이스가 지원하는 트랜잭션(transaction)을 파악하여 디바이스 지원 트랜잭션 정보(transaction-supported-by-device : TSD)를 획득하는 트랜잭션 관리부;
    상기 요구사항과 상기 디바이스 지원 트랜잭션 정보(TSD)를 이용하여 상기 디바이스 지원 트랜잭션 정보(TSD)에서 트랜잭션을 선택하고, 상기 선택된 트랜잭션의 통합 동작 주기(merged action preiod : MAP)를 설정하는 트랜잭션 선택부; 및
    상기 선택된 트랜잭션을 수행하여 정보를 동기화하는 트랜잭션 실행부;를 포함하는 것을 특징으로 하는 M2M 통신용 장치.
  7. 제 6항에 있어서,
    상기 트랜잭션 선택부는 상기 요구사항을 이용하여 작업 요구 목록 정보(TaskSet)를 추출하고, 상기 디바이스 지원 트랜잭션 정보(TSD)에 속한 각 트랜잭션에 대해 처리량 지표(throughput index)와 통합 동작 주기(MAP)를 계산하며, 상기 디바이스 지원 트랜잭션 정보(TSD)에 속한 각 트랜잭션에 대한 처리량 지표와 통합 동작 주기(MAP)를 기반으로 상기 작업 요구 목록 정보를 이용하여 상기 디바이스 지원 트랜잭션 정보(TSD)에서 트랜잭션을 선택하고 상기 선택된 트랜잭션의 통합 동작 주기(MAP)를 설정하는 것을 특징으로 하는 M2M 통신용 장치.
  8. 디바이스로부터 등록 요청 메시지를 수신하는 단계; 및
    저장되어 있는 디바이스 마스터 템플릿(device master template)과 저장되어 있는 자원 마스터 템플릿(resource master template)을 이용하여 상기 디바이스를 등록하는 단계;를 포함하는 것을 특징으로 하는 M2M 통신용 방법.
  9. 제 8항에 있어서,
    상기 디바이스 마스터 템플릿은 디바이스 제조사 식별 정보, 디바이스 식별 정보, 디바이스 통신 사양(specification) 및 디바이스 자원 정보를 포함하는 디바이스 마스터 엔트리(device master entry)로 구성되고,
    상기 자원 마스터 템플릿은 자원 내용(resource content)의 표현 형식 사양(representation format specification) 및 상기 자원 내용의 작성에 사용되는 어휘 사양(taxonomy and/or namespace specification)을 포함하는 자원 마스터 엔트리(resource master entry)로 구성되는 것을 특징으로 하는 M2M 통신용 방법.
  10. 제 8항에 있어서,
    상기 등록 단계에서, 상기 디바이스 마스터 템플릿과 상기 자원 마스터 템플릿을 이용하여 상기 디바이스에 대응되는 가상 디바이스 인스턴스(virtualized device instance)와 자원 청크 인스턴스(resource chunk instance)를 생성하여 저장함으로써, 상기 디바이스를 등록하는 것을 특징으로 하는 M2M 통신용 방법.
  11. 제 10항에 있어서,
    상기 등록 단계는,
    상기 등록 요청 메시지를 통해 기 저장되어 있는 상기 디바이스 마스터 템플릿에서 상기 디바이스에 대응되는 디바이스 마스터 엔트리를 검색하는 단계;
    검색된 상기 디바이스에 대응되는 상기 디바이스 마스터 엔트리를 이용하여 기 저장되어 있는 상기 자원 마스터 템플릿에서 상기 디바이스가 지원하는 자원 마스터 엔트리를 검색하는 단계; 및
    검색된 상기 디바이스에 대응되는 상기 디바이스 마스터 엔트리와 검색된 상기 디바이스가 지원하는 자원 마스터 엔트리를 이용하여 상기 디바이스에 대응되는 상기 가상 디바이스 인스턴스와 상기 자원 청크 인스턴스를 생성하는 단계;를 포함하는 것을 특징으로 하는 M2M 통신용 방법.
  12. 제 10항에 있어서,
    상기 디바이스와 메시지를 주고 받으며, 상기 자원 청크 인스턴스와 상기 자원 청크 인스턴스에 대응되는 상기 디바이스 내의 정보를 동기화하는 단계를 더 포함하는 것을 특징으로 하는 M2M 통신용 방법.
  13. 제 12항에 있어서,
    상기 동기화 단계는,
    네트워크 어플리케이션(network application : NA)에서 디바이스로 향하는 주기적인 읽기 또는 쓰기에 대한 요구사항을 관리하는 단계;
    디바이스가 지원하는 트랜잭션(transaction)을 파악하여 디바이스 지원 트랜잭션 정보(transaction-supported-by-device : TSD)를 획득하는 단계;
    상기 요구사항과 상기 디바이스 지원 트랜잭션 정보(TSD)를 이용하여 상기 디바이스 지원 트랜잭션 정보(TSD)에서 트랜잭션을 선택하고, 상기 선택된 트랜잭션의 통합 동작 주기(merged action period : MAP)를 설정하는 단계;
    상기 선택된 트랜잭션을 수행하여 정보를 동기화하는 단계;를 포함하는 것을 특징으로 하는 M2M 통신용 방법.
  14. 제 13항에 있어서,
    상기 트랜잭션 선택 단계는,
    상기 요구사항을 이용하여 작업 요구 목록 정보(TaskSet)를 추출하는 단계;
    상기 디바이스 지원 트랜잭션 정보(TSD)에 속한 각 트랜잭션에 대해 처리량 지표(throughput index)와 통합 동작 주기(MAP)를 계산하는 단계; 및
    상기 디바이스 지원 트랜잭션 정보(TSD)에 속한 각 트랜잭션에 대한 처리량 지표와 통합 동작 주기(MAP)를 기반으로 상기 작업 요구 목록 정보를 이용하여 상기 디바이스 지원 트랜잭션 정보(TSD)에서 트랜잭션을 선택하고 상기 선택된 트랜잭션의 통합 동작 주기(MAP)를 설정하는 단계;를 포함하는 것을 특징으로 하는 M2M 통신용 방법.
  15. 제 8항에 기재된 M2M 통신용 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  16. 네트워크를 통한 디바이스로부터의 등록 요청을 수신하고, 디바이스 마스터 템플릿 및 자원 마스터 템플릿을 이용하여 상기 디바이스와 관련된 정보를 생성하고 저장하여 상기 디바이스를 등록하는 등록부; 및
    상기 디바이스와 관련된 상기 저장된 정보를 상기 저장된 정보에 대응하는 상기 디바이스에 저장되어 있는 다른 정보와 동기화하는 동기화부;를 포함하는 것을 특징으로 하는 통신 장치.
  17. 제 16항에 있어서,
    상기 디바이스와 관련된 정보는 상기 디바이스에 대응하는 자원 청크 인스턴트인 것을 특징으로 하는 통신 장치.
  18. 제 16항에 있어서,
    상기 디바이스 마스터 템플릿 및 자원 마스터 템플릿을 저장하는 저장부를 더 포함하는 것을 특징으로 하는 통신 장치.
  19. 제 16항에 있어서,
    상기 통신 장치는 유럽 통신 표준 기구(Europen Telecommunications Standards Institute)에 의해 제정된 M2M(Machine-to-Machine) 표준에 정의된 네트워크 어플리케이션(network application) 및 네트워크 서비스 캐퍼빌러티 레이어(network service capability layer : NSCL)에 대응하는 장치인 것을 특징으로 하는 통신 장치.
PCT/KR2013/004740 2012-05-30 2013-05-30 M2m 통신용 장치 및 방법 WO2013180476A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201380003515.0A CN103947157B (zh) 2012-05-30 2013-05-30 M2m通信用装置及方法

Applications Claiming Priority (4)

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

Publications (1)

Publication Number Publication Date
WO2013180476A1 true WO2013180476A1 (ko) 2013-12-05

Family

ID=49670848

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/004740 WO2013180476A1 (ko) 2012-05-30 2013-05-30 M2m 통신용 장치 및 방법

Country Status (2)

Country Link
US (1) US20130324121A1 (ko)
WO (1) WO2013180476A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11940999B2 (en) 2013-02-08 2024-03-26 Douglas T. Migliori Metadata-driven computing system
US9495401B2 (en) * 2013-02-08 2016-11-15 Douglas T. Migliori Database-driven entity framework for internet of things
WO2015061989A1 (zh) * 2013-10-30 2015-05-07 华为技术有限公司 一种数据传输的方法及设备
US11416459B2 (en) 2014-04-11 2022-08-16 Douglas T. Migliori No-code, event-driven edge computing platform
US9756030B2 (en) 2014-08-08 2017-09-05 Eurotech S.P.A. Secure cloud based multi-tier provisioning
US9762392B2 (en) 2015-03-26 2017-09-12 Eurotech S.P.A. System and method for trusted provisioning and authentication for networked devices in cloud-based IoT/M2M platforms
US10523537B2 (en) 2015-06-30 2019-12-31 Amazon Technologies, Inc. Device state management
US10075422B2 (en) 2015-06-30 2018-09-11 Amazon Technologies, Inc. Device communication environment
US10958648B2 (en) * 2015-06-30 2021-03-23 Amazon Technologies, Inc. Device communication environment
US9641553B2 (en) 2015-09-25 2017-05-02 Intel Corporation Methods and apparatus to facilitate end-user defined policy management
WO2017117345A1 (en) * 2015-12-30 2017-07-06 Convida Wireless, Llc Semantics based content specification of iot data
GB2582736B (en) * 2019-02-01 2022-02-16 Arm Ip Ltd Template-based registration
GB2582735B (en) 2019-02-01 2022-11-30 Arm Ip Ltd Template-based registration
US11595266B2 (en) * 2019-07-23 2023-02-28 Vmware, Inc. Methods and apparatus to detect drift in a hybrid cloud environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090217348A1 (en) * 2008-02-22 2009-08-27 Patrik Mikael Salmela Methods and Apparatus for Wireless Device Registration
US20100257261A1 (en) * 2005-04-18 2010-10-07 Kenneth Wallis System and method of device-to-server registration
KR100998753B1 (ko) * 2008-12-02 2010-12-07 주식회사 케이티 긴급 상황 알림 기능이 구비된 m2m모듈, 상기 m2m 모듈과 선택적으로 연결되는 m2m 디바이스 및 그 구동 방법
KR101048854B1 (ko) * 2009-01-19 2011-07-13 주식회사 케이티 M2m 어플리케이션의 가입자 트래픽 데이터에 대한 서비스제어 방법 및 그 시스템
KR20110117030A (ko) * 2010-04-20 2011-10-26 삼성전자주식회사 장치 대 장치 서비스를 제공하는 디바이스 관리 방법 및 시스템과 그 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6686838B1 (en) * 2000-09-06 2004-02-03 Xanboo Inc. Systems and methods for the automatic registration of devices
US7352853B1 (en) * 2001-05-22 2008-04-01 Cisco Technology, Inc. Automation of customer premises equipment provisioning in a telecommunications network
US20050010485A1 (en) * 2003-07-11 2005-01-13 Quadratic Systems Corporation Integrated system and method for selectively populating and managing multiple, site-specific, interactive, user stations
CN102378302B (zh) * 2010-08-12 2014-12-17 华为技术有限公司 一种接入网络的方法和系统
US8830930B2 (en) * 2010-08-16 2014-09-09 Electronics And Telecommunications Research Institute Device in wireless network, device resource management apparatus, gateway and network server, and control method of the network server
US9426222B2 (en) * 2011-02-11 2016-08-23 Interdigital Patent Holdings, Inc. Systems, methods and apparatus for managing machine-to-machine (M2M) entities

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100257261A1 (en) * 2005-04-18 2010-10-07 Kenneth Wallis System and method of device-to-server registration
US20090217348A1 (en) * 2008-02-22 2009-08-27 Patrik Mikael Salmela Methods and Apparatus for Wireless Device Registration
KR100998753B1 (ko) * 2008-12-02 2010-12-07 주식회사 케이티 긴급 상황 알림 기능이 구비된 m2m모듈, 상기 m2m 모듈과 선택적으로 연결되는 m2m 디바이스 및 그 구동 방법
KR101048854B1 (ko) * 2009-01-19 2011-07-13 주식회사 케이티 M2m 어플리케이션의 가입자 트래픽 데이터에 대한 서비스제어 방법 및 그 시스템
KR20110117030A (ko) * 2010-04-20 2011-10-26 삼성전자주식회사 장치 대 장치 서비스를 제공하는 디바이스 관리 방법 및 시스템과 그 장치

Also Published As

Publication number Publication date
US20130324121A1 (en) 2013-12-05

Similar Documents

Publication Publication Date Title
WO2013180476A1 (ko) M2m 통신용 장치 및 방법
US7277914B2 (en) Proxy server apparatus and method for providing service using the same
KR102034736B1 (ko) M2m 통신용 관리 장치 및 방법
JP4834493B2 (ja) ネットワーク中継装置、および、ネットワーク中継装置の制御方法
WO2010047530A2 (en) Method and system for managing profiles
WO2019154353A1 (zh) 系统运行参数查询方法、匹配方法、装置及节点设备
WO2009098909A1 (ja) 仮想アプライアンス配備システム
WO2015030364A1 (en) Method for sharing media data and electronic device thereof
US20110238820A1 (en) Computer, communication device, and communication control system
US20030135411A1 (en) Content adaptation service control system
WO2012100605A1 (zh) 图片管理方法、移动终端及计算机存储介质
CN101123750B (zh) 便于推送内容的后台处理的装置和相关方法
WO2010044629A2 (en) Apparatus and method for managing advertisement application
JP2008532119A5 (ko)
JPWO2008126210A1 (ja) 通信経路選択プログラム、通信経路選択方法および通信経路選択装置
WO2012060669A1 (ko) Sms를 통해 원격 디바이스를 제어하는 방법 및 이를 위한 장치
WO2012081887A2 (en) Method and apparatus for providing advertisement service in mobile communication system
WO2022267175A1 (zh) 信息处理方法、装置、计算机设备及存储介质
US20090165011A1 (en) Resource management method, information processing system, information processing apparatus, and program
WO2013176431A1 (ko) 단말을 서버에 할당하고 단말로의 효율적인 메시징을 위한 시스템 및 방법
US7783810B2 (en) Apparatus and method of processing information
WO2015068929A1 (ko) 컨텐츠 중심 네트워크에서 패킷 특성을 고려하는 노드의 동작 방법 및 노드
WO2017052210A1 (ko) 사용자 계정 동기화를 이용한 디지털 상품 제공 방법 및 장치
JP2003067239A (ja) ページ情報更新方法、ページ情報更新システム及び半導体製造ラインのスケジュール管理システム
WO2018008861A1 (ko) 사용자 서버를 이용한 html 제어 시스템 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13797292

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 26/03/2015)

122 Ep: pct application non-entry in european phase

Ref document number: 13797292

Country of ref document: EP

Kind code of ref document: A1