WO2018199523A1 - Method for processing machine to machine communication via public ip network, and apparatus therefor - Google Patents
Method for processing machine to machine communication via public ip network, and apparatus therefor Download PDFInfo
- Publication number
- WO2018199523A1 WO2018199523A1 PCT/KR2018/004373 KR2018004373W WO2018199523A1 WO 2018199523 A1 WO2018199523 A1 WO 2018199523A1 KR 2018004373 W KR2018004373 W KR 2018004373W WO 2018199523 A1 WO2018199523 A1 WO 2018199523A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- packet
- connection
- relay server
- relay
- publish
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
Definitions
- the present invention relates to a private IP-based IoT communication method and apparatus through a public IP in a machine to machine communication (M2M) system.
- M2M machine to machine communication
- M2M "Machine to machine communication” or MTC, “Machine type communication” or smart device communication, “Smart Device communication” or “Machine oriented communication” or the Internet of Things, “Internet of Things” is a human communication process Refers to all communication methods in which communication is performed without intervening.
- a plurality of things communication devices are used in homes and workplaces, and there are situations in which a plurality of things communication devices that perform the same or similar functions are deployed for a certain purpose.
- a plurality of things communication devices may be deployed in the same network or may be deployed in different networks. For example, there may be a need for communication between things configured in different private networks.
- the thing communication network defines only a communication protocol between the thing communication devices existing in the same network, and does not consider communication between the thing communication devices included in different networks.
- an embodiment of the present invention is to provide a method and apparatus for enabling a thing communication device using a private IP to communicate with a thing communication device using an external private IP so that the thing communication device using a private IP can be performed.
- a relay server relays communication between machine-to-machine communication (M2M) devices through a public IP (Internet Protocol) network, and establishes a connection setting from a relay client module of each M2M device and another M2M device.
- M2M machine-to-machine communication
- Receiving a connection packet for receiving the connection packet establishing a connection with each of the M2M device and another M2M device, receiving a publish packet including a request message for transmitting from the relay client module of the M2M device to another M2M device, and a request message.
- Sending to the relay client module of the M2M device It provides a way.
- an embodiment is a machine to machine communication (M2M) device that communicates with other M2M devices through a public IP (Internet Protocol) network, the connection packet for establishing a connection to a relay server through a relay client module
- M2M machine to machine communication
- An M2M device including a transmitter for transmitting to a relay server and a request packet for receiving a publish packet including a response message generated by another M2M device from a relay server is provided.
- an embodiment is a relay server for relaying communication between machine to machine communication (M2M) devices through a public IP (Internet Protocol) network, the connection for establishing the connection from the relay client module of each of the M2M device and other M2M devices
- a receiving unit for receiving a packet a receiving unit for receiving a publish packet including a control unit for establishing a connection with each of the M2M device and another M2M device, and a request message for transmitting from the relay client module of the M2M device to the other M2M device.
- a transmitter for transmitting a publish packet to a relay client module of another M2M device, wherein the receiver further receives a publish packet including a response message for a request message from a relay client module of another M2M device.
- Relay client module containing the publish packet containing the M2M device Provides a relay server for further transmission.
- the present disclosure provides an effect that a plurality of things communication devices using different private IPs can send and receive messages smoothly through a public IP.
- the present disclosure provides an effect of transmitting and receiving data as needed without restriction of a public or private IP between the thing communication devices configured in different networks.
- FIG. 1 is a diagram illustrating an M2M system from a high level functional point of view.
- FIG. 3 is a diagram exemplarily illustrating a procedure of transmitting a request message and corresponding response information in an M2M system.
- FIG. 4 illustrates a functional structure of a common service entity according to an embodiment.
- FIG. 5 is a view for explaining a problem that may occur when using a public IP and a private IP.
- FIG. 6 is a diagram illustrating a problem that may occur when communication is performed between M2M devices using private IP via a public IP network.
- FIG. 7 is a diagram illustrating an operation of an M2M device according to an embodiment.
- FIG. 8 is a diagram for describing an operation of a relay server according to an exemplary embodiment.
- FIG. 9 is a diagram exemplarily illustrating a structure in which a relay server is integrated with an M2M device according to an embodiment.
- FIG. 10 is a diagram illustrating a structure in which a relay server is configured independently according to an embodiment.
- 11 is a diagram illustrating a procedure for establishing a connection with a relay server using a connection packet according to an embodiment.
- FIG. 12 is a diagram for describing a procedure of establishing a connection with a relay server using a connection packet according to another embodiment.
- FIG. 13 is a diagram for describing a procedure of delivering a message using a publish packet, according to an exemplary embodiment.
- FIG. 14 is a diagram for describing a procedure of delivering a message using a publish packet, according to another exemplary embodiment.
- connection packet format 15 illustrates a structure of a connection packet format and a fixed header according to an embodiment.
- connection packet variable header illustrates a structure of a connection packet variable header according to an embodiment.
- connection packet payload 17 illustrates a structure of a connection packet payload according to an embodiment.
- connection confirmation packet format is a diagram illustrating a connection confirmation packet format and the structure of each header according to an embodiment.
- 19 illustrates a structure of a subscribe packet format, a fixed header, a variable header, and a payload according to an embodiment.
- 20 illustrates a structure of a subscribe confirmation packet format, fixed header, variable header, and payload according to an embodiment.
- 21 is a diagram illustrating a publish packet format, a fixed header, and a variable header structure according to an embodiment.
- FIG. 22 is a diagram illustrating a publish confirmation packet format, a fixed header, and a variable header structure according to an embodiment.
- FIG. 23 is a diagram illustrating a structure of an M2M device according to one embodiment.
- 24 is a diagram illustrating a structure of a relay server according to an embodiment.
- Embodiments of the present invention will be described based on communication of things.
- IoT can be variously referred to as Machine to Machine communication (M2M), Machine Type Communication (MTC), Internet of Things (IoT), Smart Device Communication (SDC), or Machine Oriented Communication. Can be.
- M2M Machine to Machine communication
- MTC Machine Type Communication
- IoT Internet of Things
- SDC Smart Device Communication
- M2M has presented many technical matters related to IoT.
- the thing communication refers to various communication in which a communication is made without a person intervening in a communication process.
- IoT is the energy sector, the enterprise sector, the healthcare sector, the public services sector, the residential sector, the retail sector, the transportation sector, and others. It is divided into fields.
- the present invention includes the above fields, and can be applied to other fields.
- FIG. 1 illustrates an M2M system according to an embodiment from a high level functional perspective.
- Application Entity (AE) 110 provides application service logic for an end-to-end M2M solution.
- AE application service logic
- it may be a collective tracking application such as a vehicle, a remote blood sugar monitoring application, or a remote power metering and controlling application.
- Common Services Entity (CSE) 120 includes energy, enterprise, healthcare, public services, residential, retail This is a collective service function that is commonly required in the field of transportation, transportation, and other fields.
- Underlying Network Services Function (NSF) 130 provides a service to a common service entity. Examples of services include device management, location services and device triggering.
- Mca Reference Points are supported by Common Service Entities (CSEs). Mca Reference Points are reference points for providing communication between application objects and Common Service Entities. The Mcc reference point is a reference point for providing communication thing communication between two common service entities. Mcn reference point is a reference point for providing the communication between the common service entity and one network service entity.
- CSEs Common Service Entities
- the Mca reference point allows one application entity (AE) to use the services supported by the common service entity.
- Services provided through the Mca reference point are dependent on the functionality provided by the common service entity, and the application entity and the common service entity can exist in the same physical entity or in separate physical entities.
- the Mcc reference point makes such use available to common service entities that wish to use the services of other common service entities that provide the necessary functionality. Services provided through the Mcc reference point depend on the functionality provided by the common service entity.
- Mcc reference points may be supported between different M2M nodes.
- the Mcn reference point enables such use for common service entities that wish to use service entities in the underlying network that provide the necessary functionality, which provides services other than transport and connectivity.
- An instance of the Mcn reference point is implemented dependent on the services provided by the underlying network. Information exchange between two physical M2M nodes may use transport and connectivity services of an underlying network providing basic services.
- a common service entity may be described as a CSE
- a network service entity may be described as a network service entity (NSE).
- the M2M device in the present specification means a CSE or AE, or means a device including the CSE or AE, and means a device or a terminal constituting the M2M system.
- FIG. 2 is a diagram illustrating in more detail an M2M system configuration diagram according to an embodiment.
- an infrastructure node 250 performs a server function essential for providing M2M communication.
- the base node 250 is composed of a base node application entity (AE) 252 and a base node common service entity (CSE) 254.
- the base node common service entity 254 is configured using various resources. 252 and 254 are distinguished through Mca reference points, and are required for MSOs, especially request messages for creating, deleting, updating, retrieving, and notifying scheduler resources. It is used to construct and process response messages.
- the relay node 200 relays M2M communication or Internet of Things, IoT communication functions of the application service node 220 and the base node 250.
- the relay node 200 includes a relay node application object 202 and a relay node common service object 204.
- the relay node common service entity 204 is configured using various resources. 202 and 204 are distinguished using Mca reference points, and 254 and 204 are distinguished using Mcc reference points, and messages necessary for MOT communication, in particular, create, delete, update, and Used to construct and process request and response messages to retrieve and notify.
- the application service node 210 may be composed of an application object 212 and a relay node common service object 214.
- the application object 212 handles application functions required for the purpose of the device.
- the common service object 214 of the application service node 210 is configured using various resources. 212 and 214 are distinguished by Mca reference points, and 214 and 254 are distinguished by Mcc reference points, and messages necessary for MOT, in particular, create, delete, update, and Used to construct and process request and response messages to retrieve and notify.
- the application service node 220 may perform a thing communication function with the base node 250 through the relay node 200. The difference between 210 and 220 is that the communication interface constituting the node is different.
- the application-only nodes 230 and 240 do not have a common service object, and are intended to communicate with only the application object 242.
- 230 is a case of communicating with 250 using a communication interface such as 3G, LTE, Ethernet, Gigabit Ethernet, ADSL, etc.
- 240 is a case of 200 through 250 using an interface capable of ultra short-range communication such as Bluetooth, ZigBee, Zwave, and WiFi. Communicate with
- the M2M system may be configured with at least one or more of a base node, a relay node, an application service node, and an application-only node, and each node may be configured to include a CSE or an AE.
- the CSE and the AE may communicate with other CSEs or AEs through their respective reference points.
- the originator 300 transmits a request message to a receiver 310 (S320).
- the sender 300 and the receiver 310 may each be M2M devices, and may be CSE or AE as described above.
- sender 300 and receiver 310 may be nodes or servers or devices that include CSE or AE.
- the request message may include one or more parameters.
- the request message may include mandatory and optional parameters.
- the From parameter, the To parameter, the Request Identifier parameter, and the Operation parameter are included as essential parameters.
- the From parameter contains information about the sender who sends the message
- the To parameter contains information about the recipient who receives the message.
- the Request Identifier parameter contains unique identification information for identifying the corresponding request message.
- the Operation parameter includes information for identifying the operation requested in the request message.
- the operation parameter may be set to any one of Create, Retrieve, Update, Delete, and Notify.
- optional parameters may be added to control various operations of the request message.
- an optional parameter of Response Type can block the receiver's handling, blockingRequest, non-BlockingRequestSynch, non-BlockingRequestAsynch, and flexBlocking. Can be specified.
- the receiver 310 When the request message is received, the receiver 310 performs an operation for processing the request message (S330). For example, the receiver 310 may check whether the sender 300 that has sent the request message has the authority for the request. When it is determined that the sender 300 has the authority for the request, the sender 300 processes the request message after checking whether the requested resource exists. Alternatively, the receiver 310 may perform a corresponding operation according to the operation parameter of the request message. For example, when an operation parameter is set to creation and a subscription function is set to instruct the sender 300 when a change, addition, or deletion of specific data occurs, the receiver 310 receives subscription information. When an event such as a change, addition, deletion, etc. occurs in the data corresponding to the subscription information, the caller 300 may be notified to the caller 300.
- the receiver 310 generates the processing result information according to the request operation and includes it in the response message and transmits it to the sender 300 (S340). Operation S340 may be performed before operation S330. That is, when the receiver 310 receives the request message, the receiver 310 generates an ACK response message indicating the simple reception of the request message and transmits it to the sender 300, and then performs the step S330 to process the request message.
- 4 is a diagram for configuring a common service entity according to an embodiment of the present invention. 4 includes a processing function of identification information.
- the functions provided by the common service entity can be summarized as shown in FIG. 4 by addressing & identification, application and service layer management, data management & storage, location, Security, Communication Management / Delivery Handling, Registration, Service Session Management, Device Management, Subscription / Notification, Connection Management (Connectivity Management), Discovery, Service Charging / Accounting, Network Service Exposure / Service Execution and Triggering, Group Management.
- ASM Application and Service Layer Management
- CMDH Communication Management and Delivery Handling
- CSE-CSE communication communication connection
- CMDH is performed according to the provisioned policies and delivery handling parameters specific to each request for communication.
- the underlying network may support the same forwarding handling function.
- the CMDH can use the underlying network and can act as a front end that accesses the same forwarding handling capabilities for the underlying network.
- DMR Data Management and Repository
- the DMR CSF provides data storage space and the ability to coordinate it. It also includes the ability to collect and combine large amounts of data, convert the data into a specific format, or store the data for analysis and semantic processing.
- Data may refer to raw data that is transparently extracted from an M2M device or may mean data that has been processed or calculated or combined by an M2M entity. Collecting large amounts of data constitutes what is known as big data storage.
- the Device Management (DMG) CSF is responsible for managing device functions of devices in MNs, device nodes, and M2M local area networks. Enable device management to provide one or more of the following features: It includes installation and setting of application software, configuration setting and provisioning, firmware update, logging and monitoring and analysis, topology management of local network, and devices in local network management.
- the CSF is responsible for retrieving information and resources that correspond to the permissions granted within a given scope and topic (including those granted by M2M service subscriptions) and within the scope of the originator's request.
- the sender can be an application or another CSE.
- the scope of the search can be one CSE or multiple CSEs.
- the search result is sent to the caller.
- Group Management handles groups associated with the request. Requests are sent for the management of groups and their membership, and are also responsible for the bulk operations supported by the group. When you add or remove members from a group, you need to make sure that the members conform to the group's purpose. Bulk operations include reading, writing, subscribing, informing, and device management. Requests or subscriptions are made through a group, and the group is responsible for combining these requests and notifications. Members of the group have the same role for access to resources. In this case, access control is by group. If the underlying network provides broadcasting and multicasting capabilities, the GMG CSF should take advantage of these features.
- Network Service Exposure (NSE) CSF manages communication with the underlying network to access network service functions through Mcn reference points in an available or supportable manner for service requests from M2M systems on behalf of M2M applications.
- the NSE CSF hides other CSFs and AFs from the specific technologies and mechanisms supported in the underlying network.
- Network service functions provided from the underlying network include, but are not limited to, device triggering, small data transfer, location notification, policy rule settings, location query, IMS service, device management, and the like. These features do not include general transport services
- REG Registration
- the REG CSF handles the registration of the device's properties / properties as well as the device's registration with the CSE.
- SEC SEC
- Sensitive data handling provided by the SEC CSF provides protection for local credentials that require security during storage and manipulation. Sensitive data handling also uses security algorithms.
- This feature supports a secure environment with various cryptographic techniques.
- the security operations function provides the following functions: first, it creates and operates the security environment dedicated to be supported by the sensitive data handling function. It also supports post-provisioning of root credentials protected in a secure environment, and supports the provisioning and operation of subscriptions related to M2M services and M2M application services.
- the security association configuration feature establishes a security association between M2M nodes to enable confidentiality, integration, authentication, and authorization.
- Authorization and access control controls service and data access to authorized objects according to provisioned security policies and assigned roles.
- the unique identifier of the entity is used for authorization, and the identity protection feature can provide anonymity, which acts as a temporary identifier so that it is not linked to the actual identifying information associated with the entity or user.
- SCA Service Charging and Accounting
- the SCA CSF secures billable events, stores information, and generates billing records and billing information.
- the SCA CSF can interact with the charging system of the underlying network. However, the SCA CSF is responsible for generating and recording billing information at the final service level.
- the SCA CSF of the base node or service layer charging server is responsible for handling the charging information for charging.
- SSM Service Session Management
- the SSM CSF manages M2M service sessions, which are end-to-end service layer connections.
- the SSM CSF manages M2M service sessions between M2M applications, or between M2M applications and CSEs, or between CSEs.
- the management of M2M service sessions includes session state management, session authentication and establishment, management of underlying network connections and services associated with the session, coordination of session extensions in the CSE's multi-hop cse, exchange of information between session ends, and session termination. Include.
- the SSM CSF uses the CMDH CSF in the local CSE to send and receive messages to / from the next hop CSE or application within a given M2M service session.
- the SSM CSF uses the SEC CSF for session management related to the security credentials and authentication of session participants.
- the SSM CSF generates session-specific billing events and also communicates with the SCA CSF in the local CSE.
- Subscription and Notification provides a notification to keep a subscription and tracks resource changes (eg, deletion of resources). Subscriptions to resources are initiated by the M2M AE or CSE and are granted access by the hosting CSE. During an active subscription, the hosting CSE sends a notification to the address the resource subscriber wants to receive when a change in the subscribed resource occurs.
- M2M identifiers include M2M Service Provider Identifier (M2M-SP-ID), Application Instance Identifier (App-Inst-ID), Application Identifier (App-ID), CSE Identifier (CSE-ID), M2M-Node-ID (M2M Node Identifier / Device Identifier), M2M Service Subscription Identifier (M2M-Sub-ID), and Request Identifier (M2M-Request-ID).
- M2M Service Provider Identifier M2M-SP-ID
- App-Inst-ID Application Instance Identifier
- App-ID Application Identifier
- CSE-ID CSE Identifier
- M2M-Node-ID M2M Node Identifier / Device Identifier
- M2M Service Subscription Identifier M2M-Sub-ID
- Request Identifier M2M-Request-ID
- oneM2M is a requirement that must be met to implement the system.
- the M2M device in the present specification will be described by describing the various nodes including the above-described AE, CSE, NSE, etc., and for the sake of understanding, the description will be made based on the hosting CSE. no. That is, the M2M device refers to a component device constituting the M2M system, and refers to various nodes, devices, entities, etc. that receive a request message, perform a processing thereof, and transmit a response message.
- FIG. 5 is a diagram illustrating a problem that may occur when using a public IP and a private IP
- FIG. 6 may occur when communicating between M2M devices using a private IP via a public IP network. It is a figure for demonstrating a problem.
- the M2M devices 500 and 550 may be configured in different network networks.
- the M2M device # 1 500 may be configured in a private IP network, and the M2M device # 2 550 may be configured in a public IP network.
- the M2M device # 1 500 is connected to the M2M device # 2 550 through TCP / IP through a firewall to perform communication.
- communication may not be performed smoothly due to a communication problem between the private IP network and the public IP network.
- the M2M device # 2 550 using the public IP may not start communication when communicating with the M2M device # 1 500 using the private IP.
- no M2M device can start communication when performing communication between public M2M devices 500 and 550 using a private IP.
- the M2M device using the private IP has a problem that communication is possible only when starting communication in the M2M device using the private IP.
- the present disclosure proposes a specific method of performing a communication of things by a private IP based M2M device via a public IP in an M2M system.
- it presents a detailed procedure for the M2M device using the public IP to communicate with the M2M device using the private IP, and presents a specific procedure for performing communication of things between the M2M device using the private IP.
- the M2M device described below refers to an entity using a private IP or a public IP
- another M2M device that exchanges messages with the corresponding M2M device also refers to an entity using a private IP or public IP.
- the M2M device and the other M2M devices are configured at locations causing the problems described above by the public IP network.
- the M2M device uses a private IP
- another M2M device may use a public IP or use a private IP different from the M2M device.
- another M2M device may use a private IP.
- the relay server in the present specification means an entity for transmitting a message transmitted by the M2M device or another M2M device and may include a relay module, a delivery server, a relay protocol server, and the like.
- the relay server may operate based on various protocols for delivering messages of M2M devices.
- the relay server may operate with a message queuing telemetry transport (MQTT) based protocol. That is, the relay server may mean an MQTT module, an MQTT server, or the like.
- the relay client module may mean an MQTT client module.
- FIG. 7 is a diagram illustrating an operation of an M2M device according to an embodiment.
- a machine to machine communication (M2M) device transmits a connection packet for establishing a connection to a relay server through a relay client module, and receives response information for the connection packet for establishing a connection with the relay server.
- a step of establishing a connection may be performed (S700). For example, an M2M device is connected to another M2M device using another private IP via a public IP network, or another M2M device using a private IP or another M2M device using a private IP (when the M2M device uses public IP).
- the connection to the relay server may be set first.
- the M2M device may transmit a connection packet for establishing a connection with the relay server to the relay server, and receive a connection confirmation packet including response information about the connection packet from the relay server.
- the M2M device may transmit and receive a connection packet and a connection confirmation packet through a relay client module connected to the M2M device.
- the M2M device may receive a connection confirmation packet and perform connection establishment.
- the relay client module may be a module configured inside the M2M device when the M2M device is a node, or may be a separate module configured in the same node when the M2M device is an AE or CSE.
- an M2M device is described as a node including an AE or CSE and a relay client module.
- the present disclosure is not limited thereto, and the present disclosure may be equally applied under the assumption that each entity is associated with a relay client module. have.
- the M2M device may transmit a subscription packet to the relay server and receive a subscription confirmation packet thereto.
- the subscription packet may include identification information for identifying the AE or CSE of the corresponding M2M device in the relay server.
- the M2M device may receive a subscription confirmation packet and perform connection establishment.
- the concatenated packet may consist of two bytes of fixed header, variable header and payload area.
- the variable header may include a protocol name field, a protocol level field, a connection flag field, and a keep alive field
- the payload region may include client module identifier information.
- the relay server may be configured independently from the middle node and the infrastructure node that is a node constituting the M2M system.
- the middle node and the infrastructure node may communicate with an independently configured relay server using the relay client module.
- the relay server may be configured in the middle node or the infrastructure node which is a node constituting the M2M system. Even in this case, a relay client module for communicating with each entity configured in the relay server and the middle node or infrastructure node may be configured in each node.
- connection establishment procedure may be performed in the same manner with other M2M devices for communicating with the M2M device.
- another M2M device may establish a connection with the relay server through a procedure for transmitting and receiving a connection packet and a connection confirmation packet.
- the other M2M device may perform a connection packet and a connection confirmation packet transmission / reception procedure with the relay server, and establish a connection through the transmission and reception of a subscription packet and a subscription confirmation packet.
- the M2M device may include a request message for transmission to another M2M device in a publish packet and transmit it to the relay server (S710).
- the M2M device when the M2M device establishes a connection with the relay server and completes the connection setting, the M2M device transmits a request message for sending to another M2M device in the publish packet to the relay server.
- the publish packet may include information indicating that the message is a thing communication message, information indicating a message type (request or response), identification information of the sender, and identification information of the receiver.
- the publish packet includes a fixed header, a variable header, and a payload region
- the fixed header includes a QoS level field, a duplicate transmission flag field, and a packet type field, which include information on the QoS level of the packet or relay protocol.
- the variable header may include a topic name field and a packet identification field.
- the payload area may include a request message and request information may be included in the request message.
- the request identification information may be included in a response message later to identify information on which request message the response message is a response to.
- the M2M device may receive a publish confirmation packet from the relay server including response information about the publish packet.
- the publish confirmation packet may include information on whether the publish packet is normally received.
- the M2M device may perform a step of receiving a publish packet including a response message generated by another M2M device with respect to the request message from the relay server (S720).
- the relay server may transmit the publish packet in step S710 to another M2M device, and may transmit a publish packet including a response message received from another M2M device to the M2M device.
- the M2M device may receive a publish packet including a response message to the request message from the relay server through the relay client module. If necessary, the M2M device transmits acknowledgment information about the publish packet including the response message to the relay server in the publish acknowledgment packet.
- the publish confirmation packet may include information on whether the publish packet is normally received.
- the response message may be included in the payload of the publish packet, and the response message may include request identification information and response status code information.
- the request identification information may be set to the same value as the request message to indicate which request message the response message includes.
- Packet exchange between the relay client module and the relay server may be performed according to the relay protocol, and data exchange between the relay client module and the M2M entity (ex, AE or CSE) may be performed by the M2M protocol.
- M2M entity ex, AE or CSE
- each M2M device is based on a connection setting even when each M2M device is located in a different network or via a public IP network. You can start communicating.
- FIG. 8 is a diagram for describing an operation of a relay server according to an exemplary embodiment.
- the relay server may receive a connection packet from M2M devices that want to perform communication through the relay server, and perform connection establishment based on the connection packet.
- the connection packet may be received from a relay client module that may be configured in each M2M device.
- the relay server may transmit a connection confirmation packet including response information about the connection packet to each M2M device.
- the relay server may receive a subscription packet from each M2M device after receiving a connection packet and transmitting a connection confirmation packet, and transmit a subscription confirmation packet for the subscription packet to each M2M device to perform connection establishment.
- the subscription packet may include identification information for the M2M device requesting connection establishment.
- the subscription packet may include identification information related to transmission of a request message of the M2M device requesting connection establishment and information on identification information related to reception of a response message.
- the information indicating that the M2M device is a M2M packet using the M2M network may be included.
- the relay server may be configured independently of the middle node and the infrastructure node, which are nodes constituting the M2M system.
- the middle node and the infrastructure node may communicate with an independently configured relay server using the relay client module.
- the relay server may be configured in the middle node or the infrastructure node which is a node constituting the M2M system. Even in this case, a relay client module for communicating with each entity configured in the relay server and the middle node or infrastructure node may be configured in each node.
- the relay server may perform a step of receiving a publish packet including a request message for transmitting to another M2M device from the relay client module of the M2M device (S810).
- the relay server may receive a request message for the M2M device to transmit to another M2M device from the relay client module through a publish packet.
- the publish packet may include information indicating that the message is a thing communication message, information indicating a message type (request or response), identification information of the sender, and identification information of the receiver.
- the publish packet is composed of a fixed header, a variable header and a payload area, the fixed header includes a QoS level field, information on the QoS level of the packet or relay protocol, a duplicate transmission flag field and a packet type field,
- the variable header may include a topic name field and a packet identification field.
- the relay server may transmit a publish confirmation packet including response information to the publish packet to the M2M device.
- the publish confirmation packet may include information on whether the publish packet is normally received.
- the relay server may perform a step of transmitting a publish packet including a request message to a relay client module of another M2M device (S820). For example, when a publish packet is received, the relay server checks identification information of another target M2M device indicated by the publish packet, and transmits a publish packet including a request message to a relay client module of another connected M2M device. Can be. That is, when a publish packet is received from the relay client module, the relay server transmits the packet to the relay client module at the receiver by referring to the topic name.
- the relay server may transmit the publish packet to another M2M device which is a receiver of the request message according to the identification information of another M2M device confirmed through the subscription packet using the publish packet received from the M2M device. Since the other M2M device performs a connection setup process with the relay server before receiving the publish packet, even if the relay server uses a public IP network, it may transmit a publish packet including a request message to another M2M device using a private IP.
- the relay server may receive a publish acknowledgment packet instructing receipt of a publish packet including a request message from another M2M device.
- the relay client module of another M2M device may transmit the request message of the publish packet to the AE or CSE of the M2M device.
- the relay server may transmit a publish confirmation packet for the publish packet to another M2M device.
- the relay server may perform a step of transmitting the publish packet including the response message to the relay client module of the M2M device (S840).
- the relay server may check the receiver identification information of the publish packet including the response message, and transmit the publish packet including the response message to the M2M device indicated by the corresponding receiver identification information.
- the relay server may receive a publish confirmation packet from the M2M device.
- the relay client module of the M2M device receives the publish packet from the relay server and delivers a response message included in the publish packet to the AE or CSE of the M2M device.
- the relay client module of the M2M device may transmit a publish acknowledgment packet indicating whether to normally receive the publish packet to the relay server.
- the relay server may control the M2M device and another M2M device to perform a smooth communication by relaying an operation of transmitting and receiving data through a public IP network.
- the relay server may be configured to be included in the infrastructure node or the middle node, or may be configured independently to communicate with the infrastructure node or the middle node.
- each operation in FIGS. 7 and 8 may be separated from each step as necessary, or the order thereof may be changed, and a part of the above description may be added as a step.
- FIG. 9 is a diagram illustrating a structure in which a relay server is integrated with an M2M device according to an embodiment
- FIG. 10 is a diagram illustrating a structure in which a relay server is independently configured according to an embodiment. .
- the relay server may be included in a middle node or an infrastructure node.
- the M2M device of the ADN or ASN may exchange packets with the relay server through the relay client module.
- the middle node may send and receive packets with the relay server of the middle node or the infrastructure node through the relay client module.
- the relay server may be configured independently of a node of the M2M system.
- the relay server may transmit and receive a packet through a relay client module and at least one of a node such as ASN and ADN, a middle node, and an infrastructure node.
- the relay server may be configured to coexist with or independently of the M2M system to perform the aforementioned packet exchange operation.
- the M2M device may be described as an AE or a caller as needed, and another M2M device may be described as a CSE or a receiver.
- 11 is a diagram illustrating a procedure for establishing a connection with a relay server using a connection packet according to an embodiment.
- the AE 1100 performs initial access to the relay client module 1110 to access the relay server 1150 (S1101).
- the relay client module 1110 transmits a connection packet to the relay server 1150 (S1102).
- the CSE 1190 also performs initial access to the relay client module 1180 to establish a connection (S1103), and the relay client module 1180 transmits a connection packet to the relay server 1150 (S1104).
- the AE 1100, the CSE 1190 and the relay client modules 1110 and 1180 may use the M2M protocol instead of the relay protocol domain, and the relay client modules 1110 and 1180 and the relay server 1150 may be used.
- the relay protocol domain can be used.
- the M2M message according to the M2M protocol may include a request message and a response message, and the M2M message may be expressed in Extensible Markup Language (XML), JavaScript Object Notation (JSON), and Concise Binary Object Representation (CBOR). At least one may be used. Accordingly, the relay client modules 1110 and 1180 may convert the M2M message into the relay protocol.
- XML Extensible Markup Language
- JSON JavaScript Object Notation
- CBOR Concise Binary Object Representation
- the Topic Name of the subscription packet may be set to 'oneM2M / req / + / SP-relative-AE-ID' or 'oneM2M / resp / SP-relative-AE-ID / +'.
- the Topic Filter of the subscription packet may be set to '/ oneM2M / req / + / SP-relative-AE-ID' or '/ oneM2M / resp / SP-relative-AE-ID / +'.
- the relay client module 1110 of the AE 1100 transmits a subscription packet to the relay server 1150 (S1105), and the relay client module 1180 of the CSE 1190 also subscribes to the relay server 1150.
- the packet is transmitted (S1106).
- the subscription packet may include information indicating the M2M system, AE identification information related to the request message, and AE identification information related to the response message.
- the subscription packet on the CSE 1190 side may include information indicating the M2M system, CSE identification information related to the request message, and CSE identification information related to the response message.
- the AE 1100 and the CSE 1190 may establish connection with the relay server 1150.
- FIG. 12 is a diagram for describing a procedure of establishing a connection with a relay server using a connection packet according to another embodiment.
- the relay server 1150 may transmit an acknowledgment packet (ACK) for the packet during the connection establishment process.
- ACK acknowledgment packet
- the AE 1100 performs initial access to the relay client module 1110 to access the relay server 1150 (S1210).
- the relay client module 1110 transmits a connection packet to the relay server 1150 (S1220).
- the relay server 1150 may transmit a connection confirmation packet CONNACK to the relay client module 1110 including information indicating whether the connection packet is normally received (S1230).
- the CSE 1190 also performs initial access to the relay client module 1180 for connection establishment (S1240), and the relay client module 1180 transmits a connection packet to the relay server 1150 (S1250).
- the relay server 1150 may transmit a connection confirmation packet CONNACK to the relay client module 1180 including information indicating whether the connection packet is normally received (S1260).
- the AE 1100, the CSE 1190, and the relay client modules 1110 and 1180 may use the M2M protocol instead of the relay protocol domain, and the relay client modules 1110 and 1180 and the relay server 1150 may relay.
- Protocol domains can be used.
- the M2M message according to the M2M protocol may include a request message and a response message, and the M2M message may be expressed in Extensible Markup Language (XML), JavaScript Object Notation (JSON), and Concise Binary Object Representation (CBOR). At least one may be used. Accordingly, the relay client modules 1110 and 1180 may convert the M2M message into the relay protocol.
- XML Extensible Markup Language
- JSON JavaScript Object Notation
- CBOR Concise Binary Object Representation
- the Topic Name of the subscription packet may be set to 'oneM2M / req / + / SP-relative-AE-ID' or 'oneM2M / resp / SP-relative-AE-ID / +'.
- the Topic Filter of the subscription packet may be set to '/ oneM2M / req / + / SP-relative-AE-ID' or '/ oneM2M / resp / SP-relative-AE-ID / +'.
- the relay client module 1110 of the AE 1100 transmits a subscription packet to the relay server 1150 (S1270), and the relay client module 1180 of the CSE 1190 also subscribes to the relay server 1150.
- the packet is transmitted (S1280).
- the subscription packet may include information indicating the M2M system, AE identification information related to the request message, and AE identification information related to the response message.
- the subscription packet on the CSE 1190 side may include information indicating the M2M system, CSE identification information related to the request message, and CSE identification information related to the response message.
- the AE 1100 and the CSE 1190 may establish connection with the relay server 1150.
- the M2M device may communicate with the relay server using the publish packet.
- FIG. 13 is a diagram for describing a procedure of delivering a message using a publish packet, according to an exemplary embodiment.
- the AE 1100 transmits a request message to the relay client module 1110 in the form of an M2M message (S1310).
- the relay client module 1110 transmits a publish packet to the relay server 1150 (S1320).
- the relay client module 1110 may include the request message in the payload according to the publish packet format and transmit the request message.
- the relay server 1150 transmits the received publish packet to the receiving side relay client module 1180 of the request message (S1330).
- the relay client module 1180 converts the request message included in the payload of the publish packet into an M2M message and transmits it to the CSE 1190 (S1340).
- the AE 1100 may transmit a request message to the CSE 1190, and the response message may be transferred from the CSE 1190 to the AE 1100 in the same manner.
- the CSE 1190 transfers the response message to the relay client module 1180 in the form of an M2M message (S1350).
- the relay client module 1180 transmits a publish packet to the relay server 1150 (S1360).
- the relay client module 1180 may include the response message in the payload according to the publish packet format and transmit the response message.
- the publish packet includes a QoS level field, a duplicate transmission flag field, and a packet type field in the fixed header including information on the QoS level of the packet or the relay protocol, and includes a topic name field and a packet identification field in the variable header.
- the topic name of the publish packet may be set to 'oneM2M / resp / SP-relative-AE-ID / SP-relative-CSE-ID'.
- the relay server 1150 transmits the received publish packet to the receiving relay client module 1110 of the response message in operation S1370.
- the relay client module 1110 converts the response message included in the payload of the publish packet into an M2M message and transmits the response message to the AE 1100 (S1380).
- the relay client module 1110 converts the response message included in the payload of the received publish packet into an M2M message and forwards it to the AE 1100, whereby the AE 1100 and the CSE 1190 transmit and receive a request message and a response message. can do.
- the Originator 1400 transmits a request message to the relay client module 1110 in the form of an M2M message (S1400).
- the relay client module 1110 transmits a publish packet to the relay server 1150 (S1405).
- the relay client module 1110 may include the request message in the payload according to the publish packet format and transmit the request message.
- the relay server 1150 transmits a publish acknowledgment (Publish ACK, PUBACK) packet including information on whether the received publish packet is normally received to the relay client module 1110 (S1410).
- a publish acknowledgment packet including information indicating normal reception when a publish packet including a request message is normally received or when the publish packet can be processed as a receiver. 1110).
- the relay server 1150 transmits the received publish packet to the receiving side relay client module 1180 of the request message (S1415).
- the relay client module 1180 converts the request message included in the payload of the publish packet into an M2M message and delivers it to the receiver 1490 (S1425).
- the receiving relay client module 1180 may receive a publish packet including a request message from the relay server 1150 and transmit a publish acknowledgment packet including information indicating whether the packet is normally received to the relay server 1150. There is (S1420). Operation S1420 may be performed before operation S1425 or may be performed afterwards.
- the Originator 1400 may transmit a request message to the Receiver 1490, and a response message may be delivered from the Receiver 1490 to the Originator 1400 in the same manner.
- the receiver 1490 transmits the response message to the relay client module 1180 in the form of an M2M message (S1430).
- the relay client module 1180 transmits a publish packet including a response message to the relay server 1150 (S1435).
- the relay client module 1180 may include the response message in the payload according to the publish packet format and transmit the response message.
- the relay server 1150 may transmit a publish confirmation packet including information indicating whether the relay packet is normally received to the relay client module 1180 (S1440).
- the relay server 1150 relays the received publish packet to the receiving side relay client module of the response message. And transmits to 1110 (S1445).
- the receiving relay client module 1110 may transmit a publish acknowledgment packet including information indicating whether the reception packet is normally received or processed normally, to the relay server 1150.
- the relay client module 1110 converts the response message included in the payload of the publish packet into an M2M message and transmits it to the Originator 1400 (S1455).
- the relay client module 1110 converts the response message included in the payload of the received publish packet into an M2M message and forwards it to the Originator 1400, whereby the Originator 1400 and the Receiver 1490 transmit and receive a request message and a response message. can do.
- the topic name of the publish packet described above may be set as shown in the following example to process an application service or a group.
- topic name may be set in various forms, and each configuration object may be set in advance.
- connection packet format 15 illustrates a structure of a connection packet format and a fixed header according to an embodiment.
- a concatenated packet may be composed of two bytes of a fixed header, a variable header, and a payload region. That is, the concatenated packet format may be set to a fixed header, a variable header and a payload.
- the fixed header may include two bytes of information, and the length of the variable header and the payload may be set to be variable.
- the fixed header may include a field including a reserver field, packet type information, and a remaining length field.
- the reservation field may be set to a value of 0, and the field including packet type information may be set to a specific value indicating that the corresponding packet is a CONNECT packet.
- the specific value may be set in advance.
- the remaining length field may be configured to have a variable value according to the variable header and the payload.
- the value of the remaining length field may be set to a value of “0” or “1”, and a value of 0 or 1 may be set depending on whether payload is present, payload length, or length or length of variable header. It may be determined by a preset rule.
- the header of the connection packet format and the length of each field may vary depending on the setting.
- connection packet variable header illustrates a structure of a connection packet variable header according to an embodiment.
- variable header of the connection packet may include a protocol name field, a protocol level field, a connection flag field, and a keep alive field.
- the protocol name field may include information indicating a relay protocol used by the packet.
- the protocol name field may include information indicating that the packet is a packet using the MQTT protocol.
- the protocol level field may include information indicating a version of a corresponding protocol, and may indicate MQTT version 3.1.1 when the protocol level value is 4, such as 1600.
- connection flag field may include detailed flags such as a user name flag, a password flag, Will Retain, Will QoS, Will Flag, Clean session, Reserved, and the like.
- the Clean Session field may contain information indicating whether the session is reset. For example, if Clean Session is set to 0, the server can resume communication with the client module based on the state of the current session.
- Will Flag can contain information about connection errors.
- the server may include information about whether an input / output error and a network error condition, communication with a client module could not be performed within a maintenance time, or a protocol error.
- Will QoS includes information specifying the QoS level to use when initiating a Will message.
- Will Retaion may include information indicating whether or not to maintain the packet.
- the password flag may include information on whether a password exists in a corresponding payload.
- the connection flag field may include various setting information about the connection packet. That is, when the value of the connection packet is set as shown in 1610, it may represent that the Will Flag value is set to 1.
- connection maintenance field of the variable header indicates information on the maximum time interval that can elapse between two consecutive control packets transmitted by the client module, it may be set in units of seconds.
- the length of the header and each region may vary depending on the setting.
- connection packet payload 17 illustrates a structure of a connection packet payload according to an embodiment.
- the payload may include client module identifier information. It may also include a username and password as needed.
- the client module identifier information may include identification information for identifying the client module in the corresponding relay server, and optionally include name information and password for the corresponding user.
- each region and payload length may vary.
- connection packet may be configured to include various information.
- the format and each field of the connection confirmation packet in response to the connection packet will be described.
- connection confirmation packet format is a diagram illustrating a connection confirmation packet format and the structure of each header according to an embodiment.
- connection confirmation packet may consist of a fixed header of 2 bytes, a variable header, and a payload.
- the fixed header may include a reserved field (ex, set to 0000), a packet type field, and a remaining length field. This may be set similar to the above-described connection packet.
- variable header may also include a reservation field (ex, set to 0), a remaining length field, and a concatenation return code information field.
- variable header may include a session present flag (SP) and a reservation and connection response code field.
- SP session present flag
- the payload may be omitted.
- 19 illustrates a structure of a subscribe packet format, a fixed header, a variable header, and a payload according to an embodiment.
- a SUBSCRIBE packet is set in a format consisting of a fixed header, a variable header, and a payload.
- the fixed header may be set to 2 bytes, and the variable header and payload may be set to vary in length.
- the fixed header may include a reservation field, a packet type information field, and a remaining length field, and a value included in each field may be set as shown in 1900.
- the variable header may include packet identification information.
- the payload includes a length field, a topic filter field, and a QoS field, and a plurality of QoSs corresponding to the topic filter and the topic filter may be included in pairs.
- 20 illustrates a structure of a subscribe confirmation packet format, fixed header, variable header, and payload according to an embodiment.
- a subscription confirmation packet including confirmation information on a subscription packet is composed of a fixed header, a variable header, and a payload.
- the fixed header may include a reservation field, a packet type information field, and a remaining length field, and each field may include information as in the example of 2000.
- the variable header may include packet identification information.
- the payload may include list information of the response code.
- the relay client module may obtain the processing result of the relay server for the subscription packet through the information set for each response code.
- 21 is a diagram illustrating a publish packet format, a fixed header, and a variable header structure according to an embodiment.
- a publish packet includes a fixed header, a variable header, and a payload.
- the fixed header may be composed of RETAIN, QoS level, DUG flag, packet type information, and remaining length field.
- the fixed header may consist of 2 bytes and carry information allocated for each bit.
- the QoS level field contains information about the QoS level of a packet or relay protocol.
- the duplicate transmission flag field includes information indicating whether a corresponding packet is duplicate transmission.
- the packet type field includes information indicating that the packet is a publish packet.
- variable header may include a topic name and packet identification information.
- the topic name may vary according to the request and response message as described above, and may include sender information and receiver information. For example, it can be set to '/ oneM2M / req / Originator-ID / Receiver-ID' for a request message and to '/ oneM2M / resp / Originator-ID / Receiver-ID' for a response message. have.
- the packet identification information may include index information preset for identifying the packet.
- the packet identification information may exist only in a publish packet having a QoS level of 1 or 2.
- the payload of the publish packet may include a request message or response message defined in the M2M system.
- the request message included in the payload may include information indicating a request type of the request message, caller identification information, receiver identification information, and request identification information.
- the response message may include request identification information and response result code information.
- FIG. 22 is a diagram illustrating a publish confirmation packet format, a fixed header, and a variable header structure according to an embodiment.
- a publish confirmation packet may include at least one of a fixed header, a variable header, and a payload region.
- the fixed header includes a reserved area, a packet type information area, and a remaining length area, and a value included in each area may be included as shown in FIG.
- the variable header may include packet identification information.
- the packet identification information may indicate which publish packet is a response to the publish confirmation packet.
- the payload of the publish confirmation packet can be omitted.
- each packet described above has been described in one embodiment, and may be changed by setting or some fields may be omitted or added.
- communication when one of two M2M devices communicates through a firewall, communication may be initiated from either of two devices using an Internet protocol.
- communication even when both devices communicate through a public IP network through a firewall, communication can be initiated from either device using the Internet protocol.
- request and response messages can be exchanged using the relay protocol, and the same application can be used in multiple devices.
- FIG. 23 is a diagram illustrating a structure of an M2M device according to one embodiment.
- an M2M device 2300 that communicates with another M2M device through a public IP (Internet Protocol) network transmits a connection packet for establishing a connection to a relay server through a relay client module, and connects.
- the request packet for transmission to another M2M device is included in the publish packet and relayed. It may include a transmitter 2320 for transmitting to the server and a receiver 2330 for receiving a publish packet including a response message generated by another M2M device for the request message from the relay server.
- the transmitter 2320 may transmit a connection packet for establishing a connection with the relay server to the relay server, and the receiver 2330 may receive a connection confirmation packet including response information about the connection packet from the relay server.
- the transmitter 2320 may transmit a subscription packet to the relay server, and the receiver 2330 may receive a subscription confirmation packet thereto.
- the subscription packet may include identification information for identifying the AE or CSE of the corresponding M2M device in the relay server.
- the controller 2310 may receive a subscription confirmation packet and perform connection establishment.
- connection establishment procedure may be performed in the same manner with other M2M devices for communicating with the M2M device.
- another M2M device may establish a connection with the relay server through a procedure for transmitting and receiving a connection packet and a connection confirmation packet.
- the other M2M device may perform a connection packet and a connection confirmation packet transmission / reception procedure with the relay server, and establish a connection through the transmission and reception of a subscription packet and a subscription confirmation packet.
- the publish packet includes a fixed header, a variable header, and a payload region
- the fixed header includes a QoS level field, a duplicate transmission flag field, and a packet type field, which include information on the QoS level of the packet or relay protocol.
- the variable header may include a topic name field and a packet identification field.
- the payload area may include a request message and request information may be included in the request message.
- the request identification information may be included in a response message later to identify information on which request message the response message is a response to.
- the receiving unit 2330 may receive a publish confirmation packet including response information about the publish packet from the relay server.
- the publish confirmation packet may include information on whether the publish packet is normally received.
- the transmitter 2320 transmits acknowledgment information about the publish packet including the response message to the relay server in the publish acknowledgment packet.
- the publish confirmation packet may include information on whether the publish packet is normally received.
- the response message may be included in the payload of the publish packet and may include request identification information and response status code information.
- the request identification information may be set to the same value as the request message to indicate which request message the response message includes.
- the response status code contains a code value for the processing result of the procedure required in the corresponding request message.
- controller 2310 transmits a request message using the relay server according to the present embodiment, and controls the overall operation of the M2M device 2300 according to the response message.
- the transmitter 2320 and the receiver 2330 are used to transmit and receive messages, signals, and data necessary to perform the present embodiment with at least one of a relay server, another M2M device, a relay client module.
- 24 is a diagram illustrating a structure of a relay server according to an embodiment.
- the relay server 2400 which relays communication between M2M devices through a public IP (Internet Protocol) network may receive a connection packet for connection establishment from a relay client module of each of the M2M device and another M2M device.
- the receiving unit 2430 further receives a publish packet including a response message to the request message from the relay client module of another M2M device, and the transmitting unit 2420 further sends the publish packet including the response message to the relay client module of the M2M device.
- the receiver 2430 may receive a connection packet from M2M devices that wish to perform communication through the relay server.
- the connection packet may be received from a relay client module that may be configured in each M2M device.
- the transmitter 2420 may transmit a connection confirmation packet including response information to the connection packet to each M2M device.
- the receiver 2430 receives a subscription packet from each M2M device after receiving a connection packet and transmitting a connection confirmation packet, and the transmitter 2420 transmits a subscription confirmation packet for the subscription packet to each M2M device to perform connection establishment.
- the subscription packet may include identification information for the M2M device requesting connection establishment.
- the subscription packet may include identification information related to transmission of a request message of the M2M device requesting connection establishment and information on identification information related to reception of a response message.
- the information indicating that the M2M device is a M2M packet using the M2M network may be included.
- the relay server 2400 may be configured independently of the middle node and the infrastructure node, which are nodes constituting the M2M system.
- the middle node and the infrastructure node may communicate with an independently configured relay server using the relay client module.
- the publish packet may include information indicating that the message is a thing communication message, information indicating a message type (a request or response), identification information of the sender, and identification information of the receiver.
- the publish packet is composed of a fixed header, a variable header and a payload area, the fixed header includes a QoS level field, information on the QoS level of the packet or relay protocol, a duplicate transmission flag field and a packet type field,
- the variable header may include a topic name field and a packet identification field.
- the controller 2410 checks identification information of another target M2M device indicated by the publish packet, and the transmitter 2420 includes a request message to a relay client module of another connected M2M device.
- a publish packet may be transmitted. That is, when the publish packet is received from the relay client module, the controller 2410 transmits the packet to the relay client module at the receiver by referring to the topic name.
- the receiver 2430 may receive a publish acknowledgment packet indicating an acknowledgment of a publish packet including a request message from another M2M device.
- the transmitter 2420 may transmit a publish confirmation packet for the publish packet to another M2M device.
- the receiver 2430 may receive a publish confirmation packet from the M2M device.
- controller 2410 transmits a request message using the relay server according to the present embodiment, and controls the overall operation of the relay server 2400 according to the response message.
- the transmitter 2420 and the receiver 2430 are used to transmit and receive messages, signals, and data necessary for performing the present embodiment with at least one of another relay server, an M2M device, another M2M device, and a relay client module. do.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 M2M(Machine to Machine communication) 시스템에서 공인 IP를 경유하는 사설 IP 기반의 사물통신 방법과 그 장치에 대한 것이다.The present invention relates to a private IP-based IoT communication method and apparatus through a public IP in a machine to machine communication (M2M) system.
사물 통신(M2M, "Machine to machine communication" 또는 MTC, "Machine type communication" 또는 스마트 디바이스 통신, "Smart Device communication" 또는 "Machine oriented communication" 또는 사물 인터넷, "Internet of Things")은 사람이 통신 과정에 개입하지 않고 통신이 이루어지는 방식의 모든 통신 방식을 지칭한다. M2M, "Machine to machine communication" or MTC, "Machine type communication" or smart device communication, "Smart Device communication" or "Machine oriented communication" or the Internet of Things, "Internet of Things" is a human communication process Refers to all communication methods in which communication is performed without intervening.
사물통신은 통상적으로 사람이 직접적으로 통신과 응용 제어를 수행하지 않기 때문에, 사물 간에 메시지를 교환하기 위해서 송수신 방법과 절차와 필요하다. 또한, M2M 장치 간의 원활한 메시지 교환을 위한 프로토콜이 필요하다. Since MOT typically does not directly perform communication and application control, there is a need for transmitting and receiving methods and procedures in order to exchange messages between objects. In addition, there is a need for a protocol for smooth message exchange between M2M devices.
특히, IoT 기기의 대중화에 따라서 다수의 사물 통신 장치가 가정 및 직장 내에서 사용되고 있으며, 동일 또는 유사한 기능을 수행하는 사물 통신 장치가 일정 목적을 위해서 다수 전개되는 상황이 존재한다. In particular, according to the popularization of IoT devices, a plurality of things communication devices are used in homes and workplaces, and there are situations in which a plurality of things communication devices that perform the same or similar functions are deployed for a certain purpose.
이러한 상황에서 다수의 사물 통신 장치는 동일한 네트워크에 전개될 수도 있고, 서로 다른 네트워크에 전개될 수도 있다. 예를 들어, 서로 다른 사설 네트워크에 구성되는 사물 통신 장치가 상호 통신을 수행할 필요성도 발생할 수 있다. In this situation, a plurality of things communication devices may be deployed in the same network or may be deployed in different networks. For example, there may be a need for communication between things configured in different private networks.
그러나, 현재 사물 통신 네트워크는 동일 네트워크에 존재하는 사물 통신 장치 간의 통신 프로토콜을 정의하고 있을 뿐, 서로 다른 네트워크에 포함되는 사물 통신 장치 간의 통신에 대해서는 고려되지 않고 있다. However, at present, the thing communication network defines only a communication protocol between the thing communication devices existing in the same network, and does not consider communication between the thing communication devices included in different networks.
특히, 서로 다른 사설 IP 네트워크에 구성되는 사물 통신 장치가 공인 IP 네트워크를 통해서 통신을 수행하는 경우에 사설 IP 네트워크의 방화벽 등으로 인해서 원활하게 통신이 수행되지 못하는 문제점이 있다. In particular, when the IoT apparatuses configured in different private IP networks communicate through a public IP network, there is a problem that communication cannot be performed smoothly due to a firewall of the private IP network.
전술한 배경에서 안출된 일 실시예는 서로 다른 네트워크에 구성되는 사물 통신 장치 간의 원활한 통신 방법을 제공하고자 한다. An embodiment devised in the above-described background is to provide a smooth communication method between communication apparatuses configured in different networks.
또한, 일 실시예는 사설 IP를 사용하는 사물 통신 장치가 공인 IP를 통해서 수행이 가능하도록 외부 사설 IP를 사용하는 사물 통신 장치와 통신을 수행할 수 있도록 하는 방법 및 장치를 제공하고자 한다. In addition, an embodiment of the present invention is to provide a method and apparatus for enabling a thing communication device using a private IP to communicate with a thing communication device using an external private IP so that the thing communication device using a private IP can be performed.
전술한 과제를 해결하기 위한 일 실시예는 M2M(Machine to Machine communication) 장치가 공인 IP(Internet Protocol) 네트워크를 통해서 타 M2M 장치와 통신을 수행하는 방법에 있어서, 중계 클라이언트 모듈을 통해서 중계 서버로의 연결 설정을 위한 연결 패킷을 전송하고, 연결 설정을 위한 연결 패킷에 대한 응답 정보를 수신하여 중계 서버와의 연결을 설정하는 단계와 중계 서버와의 연결이 설정되면, 타 M2M 장치로 전송하기 위한 요청 메시지를 퍼블리쉬 패킷에 포함하여 중계 서버로 전송하는 단계 및 요청 메시지에 대해서 타 M2M 장치가 생성한 응답 메시지를 포함하는 퍼블리쉬 패킷을 중계 서버로부터 수신하는 단계를 포함하는 방법을 제공한다. One embodiment for solving the above problems is a method for a machine to machine communication (M2M) device to communicate with other M2M devices through a public IP (Internet Protocol) network, to a relay server through a relay client module Transmitting a connection packet for establishing a connection, receiving a response information on the connection packet for establishing a connection, establishing a connection with the relay server, and requesting transmission to another M2M device when the connection with the relay server is established. The method includes transmitting a message to the relay server by including the message in a publish packet and receiving a publish packet from the relay server including a response message generated by another M2M device in response to the request message.
또한, 일 실시예는 중계 서버가 공인 IP(Internet Protocol) 네트워크를 통해서 M2M(Machine to Machine communication) 장치 간의 통신을 중계하는 방법에 있어서, M2M 장치 및 타 M2M 장치 각각의 중계 클라이언트 모듈로부터 연결 설정을 위한 연결 패킷을 수신하여, M2M 장치 및 타 M2M 장치 각각과의 연결을 설정하는 단계와 M2M 장치의 중계 클라이언트 모듈로부터 타 M2M 장치로 전송하기 위한 요청 메시지를 포함하는 퍼블리쉬 패킷을 수신하는 단계와 요청 메시지를 포함하는 퍼블리쉬 패킷을 타 M2M 장치의 중계 클라이언트 모듈로 전송하는 단계와 타 M2M 장치의 중계 클라이언트 모듈로부터 요청 메시지에 대한 응답 메시지를 포함하는 퍼블리쉬 패킷을 수신하는 단계 및 응답 메시지를 포함하는 퍼블리쉬 패킷을 M2M 장치의 중계 클라이언트 모듈로 전송하는 단계를 포함하는 방법을 제공한다. In addition, in one embodiment, a relay server relays communication between machine-to-machine communication (M2M) devices through a public IP (Internet Protocol) network, and establishes a connection setting from a relay client module of each M2M device and another M2M device. Receiving a connection packet for receiving the connection packet, establishing a connection with each of the M2M device and another M2M device, receiving a publish packet including a request message for transmitting from the relay client module of the M2M device to another M2M device, and a request message. Transmitting a publish packet including a publish packet including a response message to the relay client module of another M2M device and a request message from the relay client module of another M2M device, and a publish packet including the response message. Sending to the relay client module of the M2M device It provides a way.
또한, 일 실시예는 공인 IP(Internet Protocol) 네트워크를 통해서 타 M2M 장치와 통신을 수행하는 M2M(Machine to Machine communication) 장치에 있어서, 중계 클라이언트 모듈을 통해서 중계 서버로의 연결 설정을 위한 연결 패킷을 전송하고, 연결 설정을 위한 연결 패킷에 대한 응답 정보를 수신하여 중계 서버와의 연결을 설정하는 제어부와 중계 서버와의 연결이 설정되면, 타 M2M 장치로 전송하기 위한 요청 메시지를 퍼블리쉬 패킷에 포함하여 중계 서버로 전송하는 송신부 및 요청 메시지에 대해서 타 M2M 장치가 생성한 응답 메시지를 포함하는 퍼블리쉬 패킷을 중계 서버로부터 수신하는 수신부를 포함하는 M2M 장치를 제공한다. In addition, an embodiment is a machine to machine communication (M2M) device that communicates with other M2M devices through a public IP (Internet Protocol) network, the connection packet for establishing a connection to a relay server through a relay client module When the connection between the control unit and the relay server that establishes a connection with the relay server by receiving response information about the connection packet for connection establishment and connection is established, the request packet for transmission to another M2M device is included in the publish packet. An M2M device including a transmitter for transmitting to a relay server and a request packet for receiving a publish packet including a response message generated by another M2M device from a relay server is provided.
또한, 일 실시예는 공인 IP(Internet Protocol) 네트워크를 통해서 M2M(Machine to Machine communication) 장치 간의 통신을 중계하는 중계 서버에 있어서, M2M 장치 및 타 M2M 장치 각각의 중계 클라이언트 모듈로부터 연결 설정을 위한 연결 패킷을 수신하여, M2M 장치 및 타 M2M 장치 각각과의 연결을 설정하는 제어부와 M2M 장치의 중계 클라이언트 모듈로부터 타 M2M 장치로 전송하기 위한 요청 메시지를 포함하는 퍼블리쉬 패킷을 수신하는 수신부 및 요청 메시지를 포함하는 퍼블리쉬 패킷을 타 M2M 장치의 중계 클라이언트 모듈로 전송하는 송신부를 포함하되, 수신부는 타 M2M 장치의 중계 클라이언트 모듈로부터 요청 메시지에 대한 응답 메시지를 포함하는 퍼블리쉬 패킷을 더 수신하고, 송신부는 응답 메시지를 포함하는 퍼블리쉬 패킷을 M2M 장치의 중계 클라이언트 모듈로 더 전송하는 중계 서버를 제공한다. In addition, an embodiment is a relay server for relaying communication between machine to machine communication (M2M) devices through a public IP (Internet Protocol) network, the connection for establishing the connection from the relay client module of each of the M2M device and other M2M devices A receiving unit for receiving a packet, a receiving unit for receiving a publish packet including a control unit for establishing a connection with each of the M2M device and another M2M device, and a request message for transmitting from the relay client module of the M2M device to the other M2M device. And a transmitter for transmitting a publish packet to a relay client module of another M2M device, wherein the receiver further receives a publish packet including a response message for a request message from a relay client module of another M2M device. Relay client module containing the publish packet containing the M2M device Provides a relay server for further transmission.
본 개시는 서로 다른 사설 IP를 사용하는 복수의 사물 통신 장치가 공인 IP를 통해서 원활하게 메시지를 송수신할 수 있는 효과를 제공한다. The present disclosure provides an effect that a plurality of things communication devices using different private IPs can send and receive messages smoothly through a public IP.
또한, 본 개시는 서로 다른 네트워크에 구성되는 사물 통신 장치 간에 공인 또는 사설 IP의 제한없이 필요에 따라 데이터를 송수신할 수 있는 효과를 제공한다. In addition, the present disclosure provides an effect of transmitting and receiving data as needed without restriction of a public or private IP between the thing communication devices configured in different networks.
도 1은 M2M 시스템을 상위 레벨의 기능적 관점에서 도시한 도면이다.1 is a diagram illustrating an M2M system from a high level functional point of view.
도 2는 일 실시예에 따른 M2M 시스템 구성도를 보다 구체적으로 도시한 도면이다. 2 is a diagram illustrating in more detail an M2M system configuration diagram according to an embodiment.
도 3은 M2M 시스템에서 요청 메시지 전송과 이에 따른 응답 정보를 수신하는 절차를 예시적으로 도시한 도면이다.3 is a diagram exemplarily illustrating a procedure of transmitting a request message and corresponding response information in an M2M system.
도 4는 일 실시예에 따른 공통 서비스 개체의 기능적 구조를 도시한 도면이다. 4 illustrates a functional structure of a common service entity according to an embodiment.
도 5는 공인 IP와 사설 IP를 사용하는 경우에 발생할 수 있는 문제점을 설명하기 위한 도면이다. 5 is a view for explaining a problem that may occur when using a public IP and a private IP.
도 6은 사설 IP를 사용하는 M2M 장치 간에 공인 IP 네트워크를 경유하여 통신을 수행하는 경우에 발생할 수 있는 문제점을 설명하기 위한 도면이다. FIG. 6 is a diagram illustrating a problem that may occur when communication is performed between M2M devices using private IP via a public IP network.
도 7은 일 실시예에 따른 M2M 장치의 동작을 설명하기 위한 도면이다. 7 is a diagram illustrating an operation of an M2M device according to an embodiment.
도 8은 일 실시예에 다른 중계 서버의 동작을 설명하기 위한 도면이다. 8 is a diagram for describing an operation of a relay server according to an exemplary embodiment.
도 9는 일 실시예에 따른 중계 서버가 M2M 장치와 통합되어 구성된 구조를 예시적으로 도시한 도면이다. 9 is a diagram exemplarily illustrating a structure in which a relay server is integrated with an M2M device according to an embodiment.
도 10은 일 실시예에 따른 중계 서버가 독립적으로 구성된 구조를 예시적으로 도시한 도면이다. 10 is a diagram illustrating a structure in which a relay server is configured independently according to an embodiment.
도 11은 일 실시예에 따른 연결 패킷을 이용하여 중계 서버와 연결을 설정하는 절차를 설명하기 위한 도면이다. 11 is a diagram illustrating a procedure for establishing a connection with a relay server using a connection packet according to an embodiment.
도 12는 다른 실시예에 따른 연결 패킷을 이용하여 중계 서버와 연결을 설정하는 절차를 설명하기 위한 도면이다. 12 is a diagram for describing a procedure of establishing a connection with a relay server using a connection packet according to another embodiment.
도 13은 일 실시예에 따른 퍼블리쉬 패킷을 이용하여 메시지를 전달하는 절차를 설명하기 위한 도면이다. FIG. 13 is a diagram for describing a procedure of delivering a message using a publish packet, according to an exemplary embodiment.
도 14는 다른 실시예에 따른 퍼블리쉬 패킷을 이용하여 메시지를 전달하는 절차를 설명하기 위한 도면이다. 14 is a diagram for describing a procedure of delivering a message using a publish packet, according to another exemplary embodiment.
도 15는 일 실시예에 따른 연결 패킷 포맷과 고정 헤더의 구조를 도시한 도면이다. 15 illustrates a structure of a connection packet format and a fixed header according to an embodiment.
도 16은 일 실시예에 따른 연결 패킷 가변 헤더의 구조를 도시한 도면이다. 16 illustrates a structure of a connection packet variable header according to an embodiment.
도 17은 일 실시예에 따른 연결 패킷 페이로드의 구조를 도시한 도면이다. 17 illustrates a structure of a connection packet payload according to an embodiment.
도 18은 일 실시예에 따른 연결 확인 패킷 포맷과 각 헤더의 구조를 도시한 도면이다. 18 is a diagram illustrating a connection confirmation packet format and the structure of each header according to an embodiment.
도 19는 일 실시예에 따른 가입(subscribe) 패킷 포맷과 고정 헤더, 가변 헤더 및 페이로드의 구조를 도시한 도면이다. 19 illustrates a structure of a subscribe packet format, a fixed header, a variable header, and a payload according to an embodiment.
도 20은 일 실시예에 따른 가입(subscribe) 확인 패킷 포맷과 고정 헤더, 가변 헤더 및 페이로드의 구조를 도시한 도면이다. 20 illustrates a structure of a subscribe confirmation packet format, fixed header, variable header, and payload according to an embodiment.
도 21은 일 실시예에 따른 퍼블리쉬 패킷 포맷과 고정 헤더, 가변 헤더 구조를 도시한 도면이다. 21 is a diagram illustrating a publish packet format, a fixed header, and a variable header structure according to an embodiment.
도 22는 일 실시예에 다른 퍼블리쉬 확인 패킷 포맷과 고정 헤더, 가변 헤더 구조를 도시한 도면이다. FIG. 22 is a diagram illustrating a publish confirmation packet format, a fixed header, and a variable header structure according to an embodiment.
도 23은 일 실시예에 따른 M2M 장치의 구조를 도시한 도면이다. 23 is a diagram illustrating a structure of an M2M device according to one embodiment.
도 24는 일 실시예에 따른 중계 서버의 구조를 도시한 도면이다. 24 is a diagram illustrating a structure of a relay server according to an embodiment.
이하, 본 발명의 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings. In adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are assigned to the same elements as much as possible even though they are shown in different drawings. In addition, in describing the present invention, when it is determined that the detailed description of the related well-known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the component of this invention, terms, such as 1st, 2nd, A, B, (a), (b), can be used. These terms are only for distinguishing the components from other components, and the nature, order or order of the components are not limited by the terms. If a component is described as being "connected", "coupled" or "connected" to another component, that component may be directly connected or connected to that other component, but between components It will be understood that may be "connected", "coupled" or "connected".
본 발명의 실시예들은 사물 통신을 중심으로 설명한다. 사물 통신은 M2M(Machine to Machine communication), MTC(Machine Type Communication), IoT(Internet of Things), 스마트 장치 통신(Smart Device Communication, SDC), 또는 사물 지향 통신(Machine Oriented Communication) 등으로 다양하게 불려질 수 있다. 최근 oneM2M에서 사물통신과 관련된 많은 기술적 사항을 제시하고 있다. 사물 통신은 사람이 통신 과정에 개입하지 않고 통신이 이루어지는 다양한 통신을 지칭한다. 사물 통신은 에너지(energy) 분야, 엔터프라이즈(enterprise) 분야, 헬스케어(Healthcare) 분야, 공공 서비스(Public Services) 분야, 주거(Residential) 분야, 소매(Retail) 분야, 운송(Transportation)분야, 그리고 기타 분야 등으로 나뉘어진다. 본 발명은 상기 분야를 포함하며, 그 외의 분야에도 적용 가능하다.Embodiments of the present invention will be described based on communication of things. IoT can be variously referred to as Machine to Machine communication (M2M), Machine Type Communication (MTC), Internet of Things (IoT), Smart Device Communication (SDC), or Machine Oriented Communication. Can be. Recently, oneM2M has presented many technical matters related to IoT. The thing communication refers to various communication in which a communication is made without a person intervening in a communication process. IoT is the energy sector, the enterprise sector, the healthcare sector, the public services sector, the residential sector, the retail sector, the transportation sector, and others. It is divided into fields. The present invention includes the above fields, and can be applied to other fields.
도 1은 일 실시예에 따른 M2M 시스템을 상위 레벨의 기능적 관점에서 도시한 도면이다. 1 illustrates an M2M system according to an embodiment from a high level functional perspective.
애플리케이션 개체(Application Entity, AE)(110)는 종단간(end-to-end) M2M 솔루션을 위한 응용 서비스 로직을 제공한다. 일 예로 차량 등의 집단적인 추적 애플리케이션(fleet tracking application), 원격 혈당 감시 애플리케이션(remote blood sugar monitoring application), 또는 원격 전력 검침과 제어 애플리케이션(remote power metering and controlling application) 등이 될 수 있다. Application Entity (AE) 110 provides application service logic for an end-to-end M2M solution. For example, it may be a collective tracking application such as a vehicle, a remote blood sugar monitoring application, or a remote power metering and controlling application.
공통 서비스 개체(Common Services Entity, CSE)(120)는 에너지(energy) 분야, 엔터프라이즈(enterprise) 분야, 헬스케어(Healthcare) 분야, 공공 서비스(Public Services) 분야, 주거(Residential) 분야, 소매(Retail) 분야, 운송(Transportation)분야, 그리고 기타 분야 등에서 공통적으로 필요한 집합적인 서비스 기능이다.Common Services Entity (CSE) 120 includes energy, enterprise, healthcare, public services, residential, retail This is a collective service function that is commonly required in the field of transportation, transportation, and other fields.
이러한 서비스 기능은 참조점(Reference Points) Mca, Mcc를 통해 다른 기능으로 드러나며, 참조점 Mcn를 이용하여 기반 네트워크 서비스를 이용한다. 공통 서비스 개체의 일 예로는 데이터 관리(Data Management), 디바이스 관리(Device Management), M2M 구독 관리(M2M Subscription Management), 위치 서비스(Location Service) 등이 될 수 있다. CSE에 의해 제공되는 서브기능(subfunction)은 논리적으로 CSF(Common service function)으로 이해될 수 있다. oneM2M 노드의 CSE내에 CSF 중 일부는 필수적(mandatory)이 되며 일부는 선택적(optional)이 될 수 있다. 마찬가지로 CSF 내의 서브기능들 역시 필수적 또는 선택적이 될 수 있다. This service function is exposed to other functions through Reference Points Mca and Mcc, and uses the base network service using the reference point Mcn. An example of a common service entity may be data management, device management, M2M subscription management, location service, or the like. The subfunctions provided by the CSE can be logically understood as Common Service Functions (CSFs). Some of the CSFs in the CSE of the oneM2M node may be mandatory and some may be optional. Similarly, sub-functions within the CSF may be mandatory or optional.
기반 네트워크 서비스 기능(Underlying Network Services Function, NSF)(130)은 공통 서비스 개체에게 서비스를 제공한다. 서비스의 예로는 디바이스 관리, 위치 서비스(location services)와 디바이스 트리거링(device triggering)을 포함한다. Underlying Network Services Function (NSF) 130 provides a service to a common service entity. Examples of services include device management, location services and device triggering.
참조점(Reference Points)은 공통 서비스 개체(CSE)에서 지원되는 것으로 Mca 참조점은 애플리케이션 개체와 공통 서비스 개체 간의 사물통신을 제공하기 위한 참조점이다. Mcc 참조점은 두 공통 서비스 개체 간의 통신 사물통신을 제공하기 위한 참조점이다. Mcn 참조점은 공통 서비스 개체와 하나의 네트워크 서비스 개체간의 사물통신을 제공하기 위한 참조점이다.Reference Points are supported by Common Service Entities (CSEs). Mca Reference Points are reference points for providing communication between application objects and Common Service Entities. The Mcc reference point is a reference point for providing communication thing communication between two common service entities. Mcn reference point is a reference point for providing the communication between the common service entity and one network service entity.
보다 상세히, Mca 참조점은 하나의 애플리케이션 개체(AE)가 공통 서비스 개체에 의해 지원되는 서비스를 사용할 수 있도록 한다. Mca 참조점을 통해 제공되는 서비스들은 공통 서비스 개체가 제공하는 기능에 의존적이며, 애플리케이션 개체와 공통 서비스 개체는 동일한 물리적 개체에 존재하거나 다른 물리적 개체에 따로 존재할 수 있다. Mcc 참조점은 필요한 기능을 제공하는 다른 공통 서비스 개체의 서비스를 사용하고자 하는 공통 서비스 개체에게 그러한 사용을 가능하게 한다. Mcc 참조점을 통해 제공되는 서비스들은 공통 서비스 개체가 제공하는 기능에 의존적이다. Mcc 참조점은 서로 다른 M2M 노드 간에 지원될 수 있다. Mcn 참조점은 필요한 기능을 제공하는 기반 네트워크의 서비스 개체를 사용하고자 하는 공통 서비스 개체에게 그러한 사용을 가능하게 하며, 이는 전송과 연결 이외의 서비스를 제공한다. Mcn 참조점의 인스턴스(instance)는 기반 네트워크에서 제공되는 서비스에 의존적으로 구현된다. 두 개의 물리적 M2M 노드 간의 정보 교환은 기본 서비스를 제공하는 기반 네트워크의 전송(transport) 및 연결(connectivity) 서비스를 사용할 수 있다.More specifically, the Mca reference point allows one application entity (AE) to use the services supported by the common service entity. Services provided through the Mca reference point are dependent on the functionality provided by the common service entity, and the application entity and the common service entity can exist in the same physical entity or in separate physical entities. The Mcc reference point makes such use available to common service entities that wish to use the services of other common service entities that provide the necessary functionality. Services provided through the Mcc reference point depend on the functionality provided by the common service entity. Mcc reference points may be supported between different M2M nodes. The Mcn reference point enables such use for common service entities that wish to use service entities in the underlying network that provide the necessary functionality, which provides services other than transport and connectivity. An instance of the Mcn reference point is implemented dependent on the services provided by the underlying network. Information exchange between two physical M2M nodes may use transport and connectivity services of an underlying network providing basic services.
본 명세서에서는 공통 서비스 개체를 CSE로 기재할 수 있으며, 네트워크 서비스 개체를 NSE (Network Service Entity)로 기재할 수 있다. 또한, 본 명세서에서의 M2M 장치는 CSE 또는 AE를 의미하거나, CSE 또는 AE를 포함하는 장치를 의미하며, M2M 시스템을 구성하는 디바이스 또는 단말을 의미한다. In this specification, a common service entity may be described as a CSE, and a network service entity may be described as a network service entity (NSE). In addition, the M2M device in the present specification means a CSE or AE, or means a device including the CSE or AE, and means a device or a terminal constituting the M2M system.
도 2는 일 실시예에 따른 M2M 시스템 구성도를 보다 구체적으로 도시한 도면이다. 2 is a diagram illustrating in more detail an M2M system configuration diagram according to an embodiment.
도 2를 참조하면, 기반노드(Infrastructure Node, 250)는 M2M 통신을 제공하는데 필수적인 서버 기능을 수행한다. 기반노드(250)는 기반노드 응용개체(AE, 252)와 기반노드 공통서비스개체(CSE, 254)로 구성된다. 기반노드 공통서비스 개체(254)는 다양한 자원을 이용하여 구성된다. 252와 254는 Mca 참조점을 통하여 구분하고, 사물통신에 필요한 메시지, 특히 스케줄러 자원의 생성 (create), 삭제 (delete), 갱신 (update), 조회 (retrieve), 통지 (notify)하기 위한 요청메시지와 응답메시지의 구성과 처리에 사용한다.Referring to FIG. 2, an
중계노드(200)는 응용서비스노드(220)와 기반노드(250)의 M2M 통신 또는 Internet of Things, 사물통신 기능을 중계한다. 중계노드(200)는 중계노드 응용개체(202)와 중계노드 공통서비스개체(204)로 구성된다. 중계노드 공통서비스개체 (204)는 다양한 자원을 이용하여 구성된다. 202와 204는 Mca 참조점을 통하여 구분하며, 254와 204는 Mcc참조점을 이용하여 구분하고, 사물통신에 필요한 메시지, 특히 스케줄러 자원의 생성 (create), 삭제 (delete), 갱신 (update), 조회(retrieve), 통지 (notify)하기 위한 요청메시지와 응답메시지의 구성과 처리에 사용한다.The
응용서비스노드(210)는 응용개체(212)와 중계노드 공통서비스개체(214)로 구성할 수 있다. 응용개체(212)는 기기의 목적상 요구되는 응용 기능을 처리한다. 응용서비스노드(210)의 공통서비스개체(214)는 다양한 자원을 이용하여 구성한다. 212와 214는 Mca 참조점을 통하여 구분하며, 214와 254는 Mcc참조점을 이용하여 구분하고, 사물통신에 필요한 메시지, 특히 스케줄러 자원의 생성(create), 삭제 (delete), 갱신 (update), 조회 (retrieve), 통지 (notify)하기 위한 요청메시지와 응답 메시지의 구성과 처리에 사용한다. 한편, 응용서비스노드(220)는 중계노드(200)를 통하여 기반노드(250)와 사물통신 기능을 수행할 수도 있다. 210과 220의 차이점은 노드를 구성하는 통신 인터페이스가 다른 것이 특징이다. 예를 들어, 220은 블루투스, ZigBee, Zwave, WiFi등의 초근거리 통신이 가능한 인터페이스를 이용하여 200을 통하여 100과 통신한다. 이에 반해, 210은 3G, LTE, 5G, Ethernet, Gigabit Ethernet, ADSL등의 통신 인터페이스를 이용하여 250과 통신한다.The
응용전용노드(230, 240)는 공통서비스개체를 가지지 않고, 응용개체(242)만을 가지고 사물통신을 하는 경우를 대상으로 한다. 230은 3G, LTE, Ethernet, Gigabit Ethernet, ADSL등의 통신 인터페이스를 이용하여 250과 통신하는 경우이고, 240은 블루투스, ZigBee, Zwave, WiFi등의 초근거리 통신이 가능한 인터페이스를 이용하여 200을 통하여 250과 통신한다.The application-only
도 2에서 설명한 바와 같이, M2M 시스템은 기반노드, 중계노드, 응용 서비스 노드 및 응용전용 노드 중 적어도 하나 이상의 노드로 구성될 수 있으며, 각 노드는 CSE 또는 AE를 포함하여 구성될 수 있다. CSE와 AE는 각각의 참조점을 통해서 타 CSE 또는 AE와 통신을 수행할 수 있다. As described in FIG. 2, the M2M system may be configured with at least one or more of a base node, a relay node, an application service node, and an application-only node, and each node may be configured to include a CSE or an AE. The CSE and the AE may communicate with other CSEs or AEs through their respective reference points.
도 3을 참조하면, 발신자(Originator, 300)는 요청 메시지를 수신자(Receiver, 310)로 전송한다(S320). 발신자(300)와 수신자(310)는 각각 M2M 장치일 수 있으며, 전술한 바와 같이 CSE 또는 AE일 수 있다. 또한, 발신자(300)와 수신자(310)는 CSE 또는 AE를 포함하는 노드 또는 서버 또는 장치일 수 있다.Referring to FIG. 3, the
요청 메시지는 하나 이상의 파라미터를 포함할 수 있다. 예를 들어, 요청 메시지에는 필수적인 파라미터와 선택적인 파라미터가 포함될 수 있다. 예를 들어, 송신 (From) 측 파라미터, 수신측 (To) 파라미터, 요청 식별 정보 (Request Identifier) 파라미터 및 동작 (Operation) 파라미터는 필수적인 파라미터로 포함된다. From 파라미터는 메시지를 전송하는 발신자에 대한 정보를 포함하고, To 파라미터는 메시지를 수신하는 수신자에 대한 정보를 포함한다. Request Identifier 파라미터는 해당 요청 메시지를 식별하기 위한 유일한 식별 정보를 포함한다. 또한, Operation 파라미터는 요청 메시지에서 요청하는 동작을 구분하기 위한 정보를 포함한다. 동작 파라미터는 생성(Create), 조회(Retrieve), 갱신(Update), 삭제(Delete), 통지(Notify) 중 어느 하나로 설정될 수 있다. 또한, 요청 메시지의 다양한 동작을 제어하기 위하여 선택적인 파라미터를 부가할 수 있다. 예를 들어 응답 유형 (Response Type)의 선택적인 파라미터는 수신자의 처리 방식을 블록킹 (blockingRequest) 방식, 동기화된 넌블럭킹 (nonBlockingRequestSynch) 방식, 비동기화된 넌블럭킹 (nonBlockingRequestAsynch) 방식, 수신자 맞춤형 (flexBlocking) 방식으로 지정할 수 있다.The request message may include one or more parameters. For example, the request message may include mandatory and optional parameters. For example, the From parameter, the To parameter, the Request Identifier parameter, and the Operation parameter are included as essential parameters. The From parameter contains information about the sender who sends the message, and the To parameter contains information about the recipient who receives the message. The Request Identifier parameter contains unique identification information for identifying the corresponding request message. In addition, the Operation parameter includes information for identifying the operation requested in the request message. The operation parameter may be set to any one of Create, Retrieve, Update, Delete, and Notify. In addition, optional parameters may be added to control various operations of the request message. For example, an optional parameter of Response Type can block the receiver's handling, blockingRequest, non-BlockingRequestSynch, non-BlockingRequestAsynch, and flexBlocking. Can be specified.
수신자(310)는 요청 메시지가 수신되면, 해당 요청 메시지를 처리하기 위한 동작을 수행한다(S330). 예를 들어, 수신자(310)는 요청메시지(Request Message)를 송신한 발신자(300)가 해당 요청에 대한 권한을 가지고 있는지를 확인할 수 있다. 발신자(300)가 요청에 대한 권한을 가지고 있다고 판단되는 경우, 요청의 대상이 되는 리소스(requested resource)의 존재 여부를 확인한 후 요청 메시지를 처리한다. 또는, 수신자(310)는 요청 메시지의 동작 파라미터에 따라 해당하는 동작을 수행할 수 있다. 예를 들어, 동작 파라미터가 생성으로 설정되고, 특정 데이터의 변경, 추가, 삭제 등이 발생할 경우에 이를 발신자(300)측으로 알려주도록 지시하는 구독 기능이 설정되는 경우에 수신자(310)는 구독 정보를 생성하고, 해당 구독 정보에 해당하는 데이터에 변경, 추가, 삭제 등의 이벤트가 발생하는 경우에 이를 발신자(300) 측으로 통지할 수 있다. When the request message is received, the
수신자(310)는 요청 동작에 따른 처리 결과 정보를 생성하여 이를 응답메시지에 포함하여 발신자(300)로 전송한다(S340). S340 단계는 S330 단계 이전에 수행될 수도 있다. 즉, 수신자(310)는 요청 메시지를 수신하면, 이에 대한 단순 수신을 나타내는 ACK 응답 메시지를 생성하여 발신자(300)측으로 전송하고, 이후 S330 단계를 수행하여 요청 메시지를 처리할 수도 있다.The
도 4는 본 발명의 일 실시예에 의한 공통 서비스 개체를 구성하는 도면이다. 도 4에서는 식별 정보의 처리 기능을 포함한다.4 is a diagram for configuring a common service entity according to an embodiment of the present invention. 4 includes a processing function of identification information.
공통 서비스 개체가 제공하는 기능을 도 4와 같이 정리하면 식별(Addressing & Identification), 애플리케이션/서비스 계층 관리(Application and Service Layer Management), 데이터 관리 및 저장(Data Management & Repository), 위치(Location), 보안(Security), 통신 관리/전달 핸들링(Communication Management / Delivery Handling), 등록(Registration), 서비스 세션 관리(Service Session Management), 디바이스 관리(Device Management), 구독/알림(Subscription/Notification), 연결 관리(Connectivity Management), 탐색(Discovery), 서비스 과금/정산(Service Charging/Accounting), 네트워크 서비스 표출/서비스 실행 및 트리거링(Network Service Exposure / Service execution and triggering ), 그룹 관리(Group Management) 등이 있다. The functions provided by the common service entity can be summarized as shown in FIG. 4 by addressing & identification, application and service layer management, data management & storage, location, Security, Communication Management / Delivery Handling, Registration, Service Session Management, Device Management, Subscription / Notification, Connection Management (Connectivity Management), Discovery, Service Charging / Accounting, Network Service Exposure / Service Execution and Triggering, Group Management.
각각의 기능에 대해 살펴보면 다음과 같다.Each function is as follows.
ASM(Application and Service Layer Management)는 ADN, ASN, MN, IN의 AE와 CSE를 관리하는 것을 담당하며, 이는 CSE의 설정(configure), 장애처리(troubleshoot), 업그레이드 기능과 AE의 업그레이드를 포함한다.Application and Service Layer Management (ASM) is responsible for managing the AEs and CSEs of ADN, ASN, MN, and IN, including the configuration, troubleshoot, upgrade capabilities, and upgrades of AEs. .
CMDH(Communication Management and Delivery Handling)는 다른 CSE, AE, NSE간의 통신을 책임진다. CMDH는 어느 시각에 어떤 통신 연결을 이용하여 통신을 전달할 것인지(CSE-CSE간 통신), 언제 필요하고 언제 허가되는지, 그리고 통신의 전달이 이후로 미루어질 때 통신 요청을 저장하는 것을 책임진다. CMDH는 통신에 대한 각 요청에 특화된 프로비전된 정책과 전달 핸들링 파라미터에 따라 수행된다. 기반 네트워크 데이터 전송 서비스를 이용한 통신에서 기반 네트워크는 동일한 전달 핸들링 기능을 지원할 수 있다. 이 경우 CMDH는 기반 네트워크를 사용할 수 있으며, 기반 네트워크에 동일한 전달 핸들링 기능을 액세스하는 프런트엔드로 동작할 수 있다.Communication Management and Delivery Handling (CMDH) is responsible for communication between different CSEs, AEs, and NSEs. The CMDH is responsible for storing the communication request at what time using which communication connection (CSE-CSE communication), when it is needed and when it is authorized, and when delivery of the communication is subsequently delayed. CMDH is performed according to the provisioned policies and delivery handling parameters specific to each request for communication. In communication using the underlying network data transmission service, the underlying network may support the same forwarding handling function. In this case, the CMDH can use the underlying network and can act as a front end that accesses the same forwarding handling capabilities for the underlying network.
DMR(Data Management and Repository)은 M2M 애플리케이션이 다른 개체와 데이터를 교환할 수 있도록 한다. DMR CSF는 데이터 저장 공간을 제공하고 이를 조정하는 기능을 제공한다. 또한 대량의 데이터를 수집하고 결합하거나, 데이터를 특정한 포맷으로 변환하거나, 또는 데이터를 분석하고 의미를 처리하기 위해 저장하는 기능을 포함한다. "데이터"라는 것은 M2M 디바이스로부터 투명하게 추출되는 가공되지 않은 원시 데이터(raw data)를 의미하거나 M2M 개체에 의해 계산 또는 결합되어 처리된 데이터를 의미할 수 있다. 대량의 데이터를 수집하는 것은 빅데이터 저장 기능으로 알려진 것을 구성한다.Data Management and Repository (DMR) allows M2M applications to exchange data with other entities. The DMR CSF provides data storage space and the ability to coordinate it. It also includes the ability to collect and combine large amounts of data, convert the data into a specific format, or store the data for analysis and semantic processing. "Data" may refer to raw data that is transparently extracted from an M2M device or may mean data that has been processed or calculated or combined by an M2M entity. Collecting large amounts of data constitutes what is known as big data storage.
DMG(Device Management) CSF는 MN과 디바이스 노드 및 M2M 국부통신망에 있는 디바이스들의 디바이스 기능의 관리를 담당한다. 다음의 기능을 하나 이상 제공하는 디바이스 관리를 가능하게 한다. 애플리케이션 소프트웨어의 설치 및 세팅, 설정 세팅 및 프로비저닝, 펌웨어 업데이트, 로깅과 모니터링과 분석, 국부통신망의 토폴로지 관리, 그리고 국부통신망 관리 내의 디바이스를 포함한다. The Device Management (DMG) CSF is responsible for managing device functions of devices in MNs, device nodes, and M2M local area networks. Enable device management to provide one or more of the following features: It includes installation and setting of application software, configuration setting and provisioning, firmware update, logging and monitoring and analysis, topology management of local network, and devices in local network management.
DIS(탐색) CSF는 주어진 범위와 주제 내에서 허락된 권한(M2M 서비스 구독에서 허락된 것을 포함)과 주어진 범위 내에서 발신자(Originator)의 요청에 해당하는 정보와 리소스를 검색하는 것을 책임진다. 발신자는 애플리케이션 또는 다른 CSE가 될 수 있다. 검색의 범위는 하나의 CSE가 되거나 다수의 CSE가 될 수 있다. 탐색 결과는 발신자에게 전달된다.DIS The CSF is responsible for retrieving information and resources that correspond to the permissions granted within a given scope and topic (including those granted by M2M service subscriptions) and within the scope of the originator's request. The sender can be an application or another CSE. The scope of the search can be one CSE or multiple CSEs. The search result is sent to the caller.
GMG(Group Management)는 요청과 관련된 그룹을 핸들링한다. 요청은 그룹과 그룹의 멤버십의 관리를 위해 전송되며 또한 그룹에 의해 지원되는 벌크 오퍼레이션도 담당한다. 그룹에 멤버를 추가 또는 삭제할 경우, 멤버가 그룹의 목적에 순응하는지를 확인할 필요가 있다. 벌크 오퍼레이션은 읽기, 쓰기, 구독하기, 알리기, 디바이스 관리 등을 포함한다. 요청 또는 구독은 그룹을 통하여 이루어지고, 그룹이 이러한 요청과 알림을 결합하는 것을 책임진다. 그룹의 멤버는 리소스에 대한 접근 권한에 대해 동일한 역할을 가진다. 이 경우, 접근 제어는 그룹에 의해 이루어진다. 기반 네트워크가 브로드캐스팅과 멀티캐스팅 기능을 제공할 경우, GMG CSF는 이러한 기능을 이용해야 한다.Group Management (GMG) handles groups associated with the request. Requests are sent for the management of groups and their membership, and are also responsible for the bulk operations supported by the group. When you add or remove members from a group, you need to make sure that the members conform to the group's purpose. Bulk operations include reading, writing, subscribing, informing, and device management. Requests or subscriptions are made through a group, and the group is responsible for combining these requests and notifications. Members of the group have the same role for access to resources. In this case, access control is by group. If the underlying network provides broadcasting and multicasting capabilities, the GMG CSF should take advantage of these features.
LOC(Location) CSF는 위치 기반 서비스를 위해 M2M 노드(예를 들어 ASN, MN)의 지리적 위치 정보를 M2M AE가 습득할 수 있도록 한다. 동일한 또는 상이한 M2M 노드 내에 존재하는 M2M AE로부터 이러한 위치 정보가 요청될 수 있다. LOC (Location) CSF enables M2M AEs to acquire geographic location information of M2M nodes (eg, ASNs, MNs) for location-based services. Such location information may be requested from M2M AEs that exist within the same or different M2M nodes.
NSE(Network Service Exposure) CSF는 M2M 애플리케이션을 대신하여 M2M 시스템으로부터의 서비스 요청에 대한 사용 가능하거나 지원 가능한 방식을 Mcn 참조점을 통하여 네트워크 서비스 기능을 액세스 하기 위해 기반 네트워크와의 통신을 관리한다. NSE CSF는 다른 CSF와 AF를 기반 네트워크에서 지원되는 특정한 기술과 메커니즘으로부터 은폐한다. 기반 네트워크로부터 제공되는 네트워크 서비스 기능은 디바이스 트리거링, 스몰 데이터 전송, 위치 알림, 폴리시 룰 셋팅, 위치 질의, IMS 서비스, 디바이스 관리 등을 포함하지만 이에 한정되지는 않는다. 이러한 기능들은 일반적인 전송 서비스를 포함하지 않는다 Network Service Exposure (NSE) CSF manages communication with the underlying network to access network service functions through Mcn reference points in an available or supportable manner for service requests from M2M systems on behalf of M2M applications. The NSE CSF hides other CSFs and AFs from the specific technologies and mechanisms supported in the underlying network. Network service functions provided from the underlying network include, but are not limited to, device triggering, small data transfer, location notification, policy rule settings, location query, IMS service, device management, and the like. These features do not include general transport services
REG(Registration)는 애플리케이션 또는 다른 CSE가 CSE에 등록하도록 핸들링하는 것을 담당하는데, 이는 CSE에서 제공되는 서비스를 사용하려는 개체의 등록을 허락하기 위함이다. REG CSF는 CSE에 대한 디바이스의 등록 뿐만 아니라 디바이스의 특성/속성의 등록도 핸들링한다.REG (Registration) is responsible for handling an application or other CSE to register with the CSE, to allow the registration of an entity that wants to use the services provided by the CSE. The REG CSF handles the registration of the device's properties / properties as well as the device's registration with the CSE.
SEC(Security)는 주의를 요하는 민감한 데이터 핸들링 기능, 보안 운영 기능, 보안 결합 설정 기능, 권한 부여와 액세스 제어 기능, 식별 보호 기능을 제공한다. SEC CSF가 제공하는 민감한 데이터 핸들링 기능은 저장과 조작 과정에서 보안이 필요한 로컬 크리덴셜을 보호하는 기능을 제공한다. 민감한 데이터 핸들링 기능 역시 보안 알고리즘을 사용한다. 이 기능은 다양한 암호기법이 분리된 보안 환경을 지원한다. 보안 운영 기능은 다음의 기능을 제공하는데, 먼저 민감한 데이터 핸들링 기능에 의해 지원되도록 전용된 보안 환경의 생성과 운영 기능을 제공한다. 또한 보안 환경에서 보호되는 루트 크리덴셜의 포스트 프로비저닝을 지원하며, M2M 서비스와 M2M 애플리케이션 서비스와 관련된 구독의 프로비저닝과 운영을 지원한다. 보안 결합 설정 기능은 M2M 노드들 간의 보안 결합을 설정하여 기밀성, 통합성, 인증, 권한 부여가 가능하도록 한다. 권한 부여와 액세스 제어 기능은 프로비전된 보안 정책과 할당된 롤에 따라 권한 부여된 개체로의 서비스와 데이터 접근을 제어한다. 개체의 유일한 식별자가 권한 부여에 사용되며, 식별 보호 기능은 개체 또는 사용자와 결합된 실제 식별 정보와 링크되지 않도록 임시의 식별자로 기능하는 익명을 제공할 수 있다.Security (SEC) provides sensitive data handling, security operations, security association settings, authorization and access control, and identity protection that require attention. Sensitive data handling provided by the SEC CSF provides protection for local credentials that require security during storage and manipulation. Sensitive data handling also uses security algorithms. This feature supports a secure environment with various cryptographic techniques. The security operations function provides the following functions: first, it creates and operates the security environment dedicated to be supported by the sensitive data handling function. It also supports post-provisioning of root credentials protected in a secure environment, and supports the provisioning and operation of subscriptions related to M2M services and M2M application services. The security association configuration feature establishes a security association between M2M nodes to enable confidentiality, integration, authentication, and authorization. Authorization and access control controls service and data access to authorized objects according to provisioned security policies and assigned roles. The unique identifier of the entity is used for authorization, and the identity protection feature can provide anonymity, which acts as a temporary identifier so that it is not linked to the actual identifying information associated with the entity or user.
SCA(Service Charging and Accounting)는 서비스 계층의 과금 기능을 제공한다. 온라인 과금과 오프라인 과금을 포함하는 상이한 과금 모델들을 지원한다. SCA CSF는 과금 가능한 이벤트를 확보하고, 정보를 저장하며, 과금 기록과 과금 정보를 생성한다. SCA CSF는 기반 네트워크의 과금 시스템과 상호작용 할 수 있다. 그러나 SCA CSF는 최종 서비스 레벨의 과금 정보를 생성하고 기록할 책임을 가진다. 기반 노드 또는 서비스 계층 과금 서버의 SCA CSF는 과금을 위한 과금 정보를 핸들링하는 것을 책임진다.Service Charging and Accounting (SCA) provides the charging function of the service layer. It supports different charging models including online charging and offline charging. The SCA CSF secures billable events, stores information, and generates billing records and billing information. The SCA CSF can interact with the charging system of the underlying network. However, the SCA CSF is responsible for generating and recording billing information at the final service level. The SCA CSF of the base node or service layer charging server is responsible for handling the charging information for charging.
SSM(Service Session Management) CSF는 단대단 서비스 계층 연결인 M2M 서비스 세션을 관리한다. SSM CSF는 M2M 애플리케이션들 간의, 또는 M2M 애플리케이션과 CSE 간의, 또는 CSE들 간의 M2M 서비스 세션을 관리한다. M2M 서비스 세션의 관리는 세션 상태의 관리, 세션 인증과 설립, 세션과 관련된 기반 네트워크 연결 및 서비스의 관리, CSE의 멀티 홉인 cse의 세션 확장의 조정, 세션 종단간의 정보의 교환, 그리고 세션의 종료를 포함한다. 주어진 M2M 서비스 세션내에서 다음 홉의 CSE 또는 애플리케이션으로/부터의 메시지 송수신을 위해 SSM CSF는 로컬 CSE 내의 CMDH CSF를 이용한다. SSM CSF는 세션 참가자의 보안 크리덴셜과 인증과 관련된 세션 관리를 위해 SEC CSF를 이용한다. SSM CSF는 세션에 특화된 과금 이벤트를 생성하며 로컬 CSE 내의 SCA CSF와도 통신한다.Service Session Management (SSM) CSF manages M2M service sessions, which are end-to-end service layer connections. The SSM CSF manages M2M service sessions between M2M applications, or between M2M applications and CSEs, or between CSEs. The management of M2M service sessions includes session state management, session authentication and establishment, management of underlying network connections and services associated with the session, coordination of session extensions in the CSE's multi-hop cse, exchange of information between session ends, and session termination. Include. The SSM CSF uses the CMDH CSF in the local CSE to send and receive messages to / from the next hop CSE or application within a given M2M service session. The SSM CSF uses the SEC CSF for session management related to the security credentials and authentication of session participants. The SSM CSF generates session-specific billing events and also communicates with the SCA CSF in the local CSE.
SUB(Subscription and Notification)는 구독을 유지하는 알림을 제공하며, 리소스의 변화(예를 들어 리소스의 삭제)를 추적한다. 리소스의 구독은 M2M AE 또는 CSE에 의해 시작되며, 호스팅 CSE에 의해 접근 권한이 허락된다. 활성화된 구독 중에 호스팅 CSE는 구독된 리소스의 변화가 발생하는 경우 리소스 구독자가 수신하길 원하는 주소로 알림을 전송한다.Subscription and Notification (SUB) provides a notification to keep a subscription and tracks resource changes (eg, deletion of resources). Subscriptions to resources are initiated by the M2M AE or CSE and are granted access by the hosting CSE. During an active subscription, the hosting CSE sends a notification to the address the resource subscriber wants to receive when a change in the subscribed resource occurs.
도 4 및 그에 대한 설명은 공통 서비스 개체를 구현하는 실시예들이며 본 발명이 이에 한정되지는 않는다. 4 and the description thereof are embodiments for implementing a common service entity and the present invention is not limited thereto.
한편, 본 실시예들에 적용될 수 있는 식별자(identifier)를 살펴보면 다음과 같다. M2M 식별자로는 M2M-SP-ID(M2M Service Provider Identifier), App-Inst-ID(Application Instance Identifier), App-ID(Application Identifier), CSE-ID(CSE Identifier), M2M-Node-ID(M2M Node Identifier/Device Identifier), M2M-Sub-ID(M2M Service Subscription Identifier), M2M-Request-ID(Request Identifier) 등이 있다.Meanwhile, an identifier applicable to the present embodiments will be described as follows. M2M identifiers include M2M Service Provider Identifier (M2M-SP-ID), Application Instance Identifier (App-Inst-ID), Application Identifier (App-ID), CSE Identifier (CSE-ID), M2M-Node-ID (M2M Node Identifier / Device Identifier), M2M Service Subscription Identifier (M2M-Sub-ID), and Request Identifier (M2M-Request-ID).
oneM2M은 시스템을 구현하기 위해 충족시켜야 할 요구사항으로 전반적인 시스템 요구사항(Overall System Requirements), 관리 요구사항(Management Requirements), 데이터 모델과 의미 요구사항(Data Model & Semantics Requirements), 보안 요구사항(Security Requirements), 과금 요구사항(Charging Requirements), 운영 요구사항(Operational Requirements)을 제시하고 있다.oneM2M is a requirement that must be met to implement the system. Overall System Requirements, Management Requirements, Data Model & Semantics Requirements, Security Requirements Requirements, Charging Requirements, and Operational Requirements.
본 명세서에서는 M2M 시스템 기술, 특히 oneM2M 서비스 플랫폼 기술을 중심으로 설명한다. 그러나 이러한 설명이 M2M 서비스 플랫폼 기술에만 한정되는 것은 아니며, 기기간 통신, 즉 사물 통신을 제공하는 모든 시스템 및 구조와 이들 시스템에서 발생하는 통신 동작에 적용 가능하다.In the present specification, a description will be given of M2M system technology, in particular, oneM2M service platform technology. However, this description is not limited to the M2M service platform technology, and is applicable to all systems and structures that provide device-to-device communication, that is, thing communication, and communication operations occurring in these systems.
또한, 본 명세서에서의 M2M 장치는 전술한 AE, CSE, NSE 등을 포함하는 다양한 노드를 의미하는 명칭으로 기재하여 설명하며, 이해의 편의를 위하여 호스팅 CSE를 중심으로 설명을 진행하나 이에 한정되는 것은 아니다. 즉, M2M 장치는 M2M 시스템을 구성하는 일 구성 장치를 의미하며, 요청 메시지를 수신하여 이에 대한 처리를 수행하고 응답 메시지를 전송하는 다양한 노드, 장치, 개체 등을 의미한다. In addition, the M2M device in the present specification will be described by describing the various nodes including the above-described AE, CSE, NSE, etc., and for the sake of understanding, the description will be made based on the hosting CSE. no. That is, the M2M device refers to a component device constituting the M2M system, and refers to various nodes, devices, entities, etc. that receive a request message, perform a processing thereof, and transmit a response message.
도 5는 공인 IP와 사설 IP를 사용하는 경우에 발생할 수 있는 문제점을 설명하기 위한 도면이고, 도 6은 사설 IP를 사용하는 M2M 장치 간에 공인 IP 네트워크를 경유하여 통신을 수행하는 경우에 발생할 수 있는 문제점을 설명하기 위한 도면이다. FIG. 5 is a diagram illustrating a problem that may occur when using a public IP and a private IP, and FIG. 6 may occur when communicating between M2M devices using a private IP via a public IP network. It is a figure for demonstrating a problem.
도 5 및 도 6을 참조하면, M2M 장치(500, 550)는 서로 다른 네트워크네트워크에 구성될 수 있다. 5 and 6, the
일 예를 들어, M2M 장치 #1(500)은 사설 IP 네트워크에 구성되고, M2M 장치 #2(550)는 공인 IP 네트워크에 구성될 수 있다. 이 경우에 M2M 장치 #1(500)은 방화벽을 통과하여 TCP/IP를 통해서 M2M 장치 #2(550)와 연결되어 통신을 수행하게 된다. For example, the
다른 예를 들어, M2M 장치 #1(500)과 M2M 장치 #2(550)는 서로 다른 사설 IP 네트워크에 구성되고, 방화벽을 통과하여 TCP/IP를 통해서 연결되어 통신을 수행하게 된다. As another example, the
그러나, 위에서 설명한 두 가지 경우 모두 사설 IP 네트워크와 공인 IP 네트워크 간의 통신 문제로 통신이 원활하게 이루어지지 않을 수 있다. 예를 들어, 공인 IP를 사용하는 M2M 장치 #2(550)는 사설 IP를 사용하는 M2M 장치 #1(500)과 통신을 수행하는 경우 통신을 시작할 수 없는 문제점이 있다. 또한, 사설 IP를 사용하는 M2M 장치(500, 550) 간에 공인 IP를 통해서 통신을 수행하는 경우에 어느 M2M 장치도 통신을 시작할 수 없는 문제점이 있다. However, in both cases described above, communication may not be performed smoothly due to a communication problem between the private IP network and the public IP network. For example, the
이는 사설 IP 네트워크에서의 통신 시작 패킷은 공인 IP 네트워크로 전달되어 통신이 가능하지만, 공인 IP 네트워크에서의 통신 시작 패킷은 사설 IP 네트워크로 전달되지 못하기 때문이다. 즉, 방화벽으로 인해서 공인 IP 네트워크을 통한 패킷은 사설 IP 네트워크로 진입하지 못하여 통신 시작을 위한 패킷이 전달되지 못하는 문제점이 발생할 수 있다. This is because the communication start packet in the private IP network is communicated to the public IP network, but the communication start packet in the public IP network is not delivered to the private IP network. That is, due to the firewall, a packet through the public IP network may not enter the private IP network, which may cause a problem in that a packet for starting communication cannot be delivered.
따라서, 사설 IP를 사용하는 M2M 장치는 공인 IP를 사용하는 M2M 장치와 통신하기 위하여, 사설 IP를 사용하는 M2M 장치에서 통신을 시작하는 경우에만 통신이 가능한 문제점이 있다. 또한, 사설 IP를 사용하는 M2M 장치들이 공인 IP를 통해서 통신을 어느 쪽도 시작할 수 없는 문제점이 있다. Therefore, in order to communicate with an M2M device using a public IP, the M2M device using the private IP has a problem that communication is possible only when starting communication in the M2M device using the private IP. In addition, there is a problem that neither M2M devices using the private IP can initiate communication through the public IP.
이러한 문제점을 해결하기 위해서 안출된 본 개시는 M2M 시스템에서 공인 IP를 경유하는 사설 IP 기반의 M2M 장치가 사물 통신을 수행하는 구체적인 방법에 대해서 제안하고자 한다. 특히, 공인 IP를 사용하는 M2M 장치가 사설 IP를 사용하는 M2M 장치와 통신을 수행하기 위한 구체적인 절차를 제시하고, 사설 IP를 사용하는 M2M 장치 간의 사물 통신을 수행하기 위한 구체적인 절차를 제시한다. In order to solve this problem, the present disclosure proposes a specific method of performing a communication of things by a private IP based M2M device via a public IP in an M2M system. In particular, it presents a detailed procedure for the M2M device using the public IP to communicate with the M2M device using the private IP, and presents a specific procedure for performing communication of things between the M2M device using the private IP.
이하에서 설명하는 M2M 장치는 사설 IP 또는 공인 IP를 사용하는 개체를 의미하며, 해당 M2M 장치와 메시지를 주고 받는 타 M2M 장치도 사설 IP 또는 공인 IP를 사용하는 개체를 의미한다. 다만, M2M 장치와 타 M2M 장치는 공인 IP 네트워크에 의한 위에서 설명한 문제를 야기시키는 위치에 구성되는 것으로 가정하여 설명한다. 예를 들어, M2M 장치가 사설 IP를 사용하는 경우에 타 M2M 장치는 공인 IP를 사용하거나 M2M 장치와 다른 사설 IP를 사용할 수 있다. 이와 달리, M2M 장치가 공인 IP를 사용하는 경우에 타 M2M 장치는 사설 IP를 사용할 수 있다. The M2M device described below refers to an entity using a private IP or a public IP, and another M2M device that exchanges messages with the corresponding M2M device also refers to an entity using a private IP or public IP. However, it is assumed that the M2M device and the other M2M devices are configured at locations causing the problems described above by the public IP network. For example, when the M2M device uses a private IP, another M2M device may use a public IP or use a private IP different from the M2M device. In contrast, when the M2M device uses a public IP, another M2M device may use a private IP.
한편, 본 명세서에서의 중계 서버는 M2M 장치 또는 타 M2M 장치가 전송하는 메시지를 전달하기 위한 개체를 의미하는 것으로 중계 모듈, 전달 서버, 중계 프로토콜 서버 등을 포함할 수 있다. 또한, 중계 서버는 M2M 장치들의 메시지를 전달하기 위한 다양한 프로토콜 기반으로 동작할 수 있다. 예를 들어, 중계 서버는 MQTT(Message Queuing Telemetry Transport) 기반의 프로토콜로 동작할 수 있다. 즉, 중계 서버는 MQTT 모듈, MQTT 서버 등을 의미할 수 있으며, 동일하게 중계 클라이언트 모듈은 MQTT 클라이언트 모듈을 의미할 수도 있다. Meanwhile, the relay server in the present specification means an entity for transmitting a message transmitted by the M2M device or another M2M device and may include a relay module, a delivery server, a relay protocol server, and the like. In addition, the relay server may operate based on various protocols for delivering messages of M2M devices. For example, the relay server may operate with a message queuing telemetry transport (MQTT) based protocol. That is, the relay server may mean an MQTT module, an MQTT server, or the like. Likewise, the relay client module may mean an MQTT client module.
이하, M2M 장치와 중계 서버의 동작에 대해서 도면을 참조하여 설명한다.Hereinafter, operations of the M2M device and the relay server will be described with reference to the drawings.
도 7은 일 실시예에 따른 M2M 장치의 동작을 설명하기 위한 도면이다. 7 is a diagram illustrating an operation of an M2M device according to an embodiment.
도 7을 참조하면, M2M(Machine to Machine communication) 장치는 중계 클라이언트 모듈을 통해서 중계 서버로의 연결 설정을 위한 연결 패킷을 전송하고, 연결 설정을 위한 연결 패킷에 대한 응답 정보를 수신하여 중계 서버와의 연결을 설정하는 단계를 수행할 수 있다(S700). 예를 들어, M2M 장치는 공인 IP 네트워크를 경유하여 타 사설 IP를 사용하는 타 M2M 장치 또는 공인 IP를 사용하는 타 M2M 장치 또는 사설 IP를 사용하는(M2M 장치가 공인 IP 사용 시) 타 M2M 장치와 통신을 수행하기 위해서 중계 서버로의 연결 설정을 먼저 수행할 수 있다. Referring to FIG. 7, a machine to machine communication (M2M) device transmits a connection packet for establishing a connection to a relay server through a relay client module, and receives response information for the connection packet for establishing a connection with the relay server. A step of establishing a connection may be performed (S700). For example, an M2M device is connected to another M2M device using another private IP via a public IP network, or another M2M device using a private IP or another M2M device using a private IP (when the M2M device uses public IP). In order to perform communication, the connection to the relay server may be set first.
이를 위해서, M2M 장치는 중계 서버와 연결을 설정하기 위한 연결 패킷을 중계 서버로 전송하고, 중계 서버로부터 연결 패킷에 대한 응답 정보를 포함하는 연결 확인 패킷을 수신할 수 있다. 이 경우, M2M 장치는 M2M 장치와 연결된 중계 클라이언트 모듈을 통해서 연결 패킷 및 연결 확인 패킷을 송수신할 수 있다. M2M 장치는 연결 확인 패킷을 수신하여 연결 설정을 수행할 수 있다. 한편, 중계 클라이언트 모듈은 M2M 장치가 노드인 경우에 M2M 장치 내부에 구성되는 일 모듈일 수 있고, M2M 장치가 AE, CSE 등인 경우에 동일 노드에 구성되는 별도의 모듈일 수 있다. 본 명세서에서는 M2M 장치를 AE 또는 CSE와 중계 클라이언트 모듈을 포함하는 노드로 가정하여 설명하나, 이에 한정되는 것은 아니며, 각 개체인 경우에도 중계 클라이언트 모듈과 연계되는 것을 전제로 본 개시가 동일하게 적용될 수 있다. To this end, the M2M device may transmit a connection packet for establishing a connection with the relay server to the relay server, and receive a connection confirmation packet including response information about the connection packet from the relay server. In this case, the M2M device may transmit and receive a connection packet and a connection confirmation packet through a relay client module connected to the M2M device. The M2M device may receive a connection confirmation packet and perform connection establishment. Meanwhile, the relay client module may be a module configured inside the M2M device when the M2M device is a node, or may be a separate module configured in the same node when the M2M device is an AE or CSE. In the present specification, an M2M device is described as a node including an AE or CSE and a relay client module. However, the present disclosure is not limited thereto, and the present disclosure may be equally applied under the assumption that each entity is associated with a relay client module. have.
또는, 연결 확인 패킷을 M2M 장치가 수신하는 경우, M2M 장치는 중계 서버로 가입 패킷을 전송하고, 이에 대한 가입 확인 패킷을 수신할 수 있다. 가입 패킷은 중계 서버에서 해당 M2M 장치의 AE 또는 CSE를 식별하기 위한 식별정보를 포함할 수 있다. M2M 장치는 가입 확인 패킷을 수신하여 연결 설정을 수행할 수도 있다. Alternatively, when the M2M device receives the connection confirmation packet, the M2M device may transmit a subscription packet to the relay server and receive a subscription confirmation packet thereto. The subscription packet may include identification information for identifying the AE or CSE of the corresponding M2M device in the relay server. The M2M device may receive a subscription confirmation packet and perform connection establishment.
한편, 중계 서버와 중계 클라이언트 모듈 간의 연결 패킷은 아래와 같은 포맷으로 구성될 수 있다. Meanwhile, the connection packet between the relay server and the relay client module may be configured in the following format.
예를 들어, 연결 패킷은 2 바이트의 고정 헤더, 가변 헤더 및 페이로드 영역으로 구성될 수 있다. 또한, 가변 헤더는 프로토콜 이름 필드, 프로토콜 레벨 필드, 연결 플래그 필드 및 연결 유지(Keep Alive) 필드를 포함하고, 페이로드 영역은 클라이언트 모듈 식별자 정보를 포함할 수 있다. For example, the concatenated packet may consist of two bytes of fixed header, variable header and payload area. The variable header may include a protocol name field, a protocol level field, a connection flag field, and a keep alive field, and the payload region may include client module identifier information.
또한, 중계 서버는 M2M 시스템을 구성하는 노드인 미들 노드 및 인프라 노드와는 독립적으로 구성될 수 있다. 이 경우에 미들 노드 및 인프라 노드는 중계 클라이언트 모듈을 이용하여 독립적으로 구성된 중계 서버와 통신을 수행할 수 있다. In addition, the relay server may be configured independently from the middle node and the infrastructure node that is a node constituting the M2M system. In this case, the middle node and the infrastructure node may communicate with an independently configured relay server using the relay client module.
또는, 중계 서버는 M2M 시스템을 구성하는 노드인 미들 노드 또는 인프라 노드에 구성될 수도 있다. 이 경우에도 중계 서버와 미들 노드 또는 인프라 노드에 구성되는 각 개체와 통신을 수행하기 위한 중계 클라이언트 모듈은 각 노드에 같이 구성될 수 있다. Alternatively, the relay server may be configured in the middle node or the infrastructure node which is a node constituting the M2M system. Even in this case, a relay client module for communicating with each entity configured in the relay server and the middle node or infrastructure node may be configured in each node.
한편, 연결 설정 절차는 M2M 장치와 통신을 수행하기 위한 타 M2M 장치도 동일한 방식으로 수행할 수 있다. 예를 들어, 타 M2M 장치도 중계 서버와 연결 패킷 및 연결 확인 패킷 송수신 절차를 통해서 연결을 설정할 수 있다. 또는, 타 M2M 장치는 중계 서버와 연결 패킷 및 연결 확인 패킷 송수신 절차를 진행하고, 가입 패킷 및 가입 확인 패킷 송수신 절차를 통해서 연결을 설정할 수 있다. Meanwhile, the connection establishment procedure may be performed in the same manner with other M2M devices for communicating with the M2M device. For example, another M2M device may establish a connection with the relay server through a procedure for transmitting and receiving a connection packet and a connection confirmation packet. Alternatively, the other M2M device may perform a connection packet and a connection confirmation packet transmission / reception procedure with the relay server, and establish a connection through the transmission and reception of a subscription packet and a subscription confirmation packet.
M2M 장치는 중계 서버와의 연결이 설정되면, 타 M2M 장치로 전송하기 위한 요청 메시지를 퍼블리쉬 패킷에 포함하여 중계 서버로 전송하는 단계를 수행할 수 있다(S710). When the connection with the relay server is established, the M2M device may include a request message for transmission to another M2M device in a publish packet and transmit it to the relay server (S710).
예를 들어, M2M 장치는 중계 서버와의 연결을 설정하여 연결 설정이 완료되면, 타 M2M 장치로 보내기 위한 요청 메시지를 퍼블리쉬 패킷에 포함하여 중계 서버로 전송한다. 퍼블리쉬 패킷은 사물 통신 메시지임을 지시하는 정보, 메시지 타입을 지시하는 정보(요청 또는 응답), 발신자의 식별정보 및 수신자의 식별정보를 포함할 수 있다. For example, when the M2M device establishes a connection with the relay server and completes the connection setting, the M2M device transmits a request message for sending to another M2M device in the publish packet to the relay server. The publish packet may include information indicating that the message is a thing communication message, information indicating a message type (request or response), identification information of the sender, and identification information of the receiver.
한편, 퍼블리쉬 패킷은 고정 헤더, 가변 헤더 및 페이로드 영역으로 구성되며, 고정 헤더는 패킷 또는 중계 프로토콜의 QoS 레벨에 대한 정보를 포함하는 QoS 레벨 필드, 중복전송 플래그 필드 및 패킷 타입 필드를 포함하고, 가변 헤더는 토픽 네임 필드 및 패킷 식별 필드를 포함할 수 있다. 페이로드 영역에는 요청 메시지가 포함될 수 있으며, 요청 메시지에 요청 식별정보가 포함될 수 있다. 요청 식별정보는 추후 응답 메시지에 포함되어 응답 메시지가 어느 요청 메시지에 대한 응답인지를 식별할 수 있는 정보를 나타낸다. Meanwhile, the publish packet includes a fixed header, a variable header, and a payload region, and the fixed header includes a QoS level field, a duplicate transmission flag field, and a packet type field, which include information on the QoS level of the packet or relay protocol. The variable header may include a topic name field and a packet identification field. The payload area may include a request message and request information may be included in the request message. The request identification information may be included in a response message later to identify information on which request message the response message is a response to.
필요에 따라, M2M 장치는 퍼블리쉬 패킷에 대한 응답 정보를 포함하는 퍼블리쉬 확인 패킷을 중계 서버로부터 수신할 수도 있다. 퍼블리쉬 확인 패킷은 퍼블리쉬 패킷의 정상 수신 여부에 대한 정보를 포함할 수 있다. If necessary, the M2M device may receive a publish confirmation packet from the relay server including response information about the publish packet. The publish confirmation packet may include information on whether the publish packet is normally received.
M2M 장치는 요청 메시지에 대해서 타 M2M 장치가 생성한 응답 메시지를 포함하는 퍼블리쉬 패킷을 중계 서버로부터 수신하는 단계를 수행할 수 있다(S720). The M2M device may perform a step of receiving a publish packet including a response message generated by another M2M device with respect to the request message from the relay server (S720).
예를 들어, 중계 서버가 S710 단계에서의 퍼블리쉬 패킷은 타 M2M 장치로 전달하고, 타 M2M 장치로부터 수신한 응답 메시지를 포함하는 퍼블리쉬 패킷을 M2M 장치로 전달할 수 있다. 이에 따라 M2M 장치는 요청 메시지에 대한 응답 메시지가 포함되는 퍼블리쉬 패킷을 중계 클라이언트 모듈을 통해서 중계 서버로부터 수신할 수 있다. 필요에 따라, M2M 장치는 응답 메시지를 포함하는 퍼블리쉬 패킷에 대한 확인 정보를 퍼블리쉬 확인 패킷에 포함하여 중계 서버로 전송한다. 퍼블리쉬 확인 패킷은 퍼블리쉬 패킷의 정상 수신 여부에 대한 정보를 포함할 수 있다. 또한, 전술한 바와 같이, 응답 메시지를 퍼블리쉬 패킷의 페이로드에 포함될 수 있으며, 응답 메시지는 요청 식별정보 및 응답 상태 코드 정보를 포함할 수 있다. 요청 식별정보는 요청 메시지와 동일한 값으로 설정되어, 해당 응답 메시지가 어느 요청 메시지에 대한 응답 결과를 포함하는지를 지시할 수 있다. 응답 상태 코드는 해당 요청 메시지에서 요구하는 절차의 처리 결과에 대한 코드 값을 포함한다. 예를 들어, 해당 요청 메시지에 대한 처리가 성공인 경우에 '2000'으로 응답 결과 코드가 설정될 수 있으며, 이는 처리 성공을 지시하는 코드 값을 의미한다. For example, the relay server may transmit the publish packet in step S710 to another M2M device, and may transmit a publish packet including a response message received from another M2M device to the M2M device. Accordingly, the M2M device may receive a publish packet including a response message to the request message from the relay server through the relay client module. If necessary, the M2M device transmits acknowledgment information about the publish packet including the response message to the relay server in the publish acknowledgment packet. The publish confirmation packet may include information on whether the publish packet is normally received. In addition, as described above, the response message may be included in the payload of the publish packet, and the response message may include request identification information and response status code information. The request identification information may be set to the same value as the request message to indicate which request message the response message includes. The response status code contains a code value for the processing result of the procedure required in the corresponding request message. For example, when the processing for the corresponding request message is successful, the response result code may be set to '2000', which means a code value indicating the processing success.
중계 클라이언트 모듈과 중계 서버 간의 패킷 교환은 중계 프로토콜에 따라 수행될 수 있으며, 중계 클라이언트 모듈과 M2M 개체(ex, AE 또는 CSE) 간의 데이터 교환은 M2M 프로토콜에 의해서 이루어질 수 있다.Packet exchange between the relay client module and the relay server may be performed according to the relay protocol, and data exchange between the relay client module and the M2M entity (ex, AE or CSE) may be performed by the M2M protocol.
또한, M2M 장치와 타 M2M 장치 간의 데이터 교환은 각각 중계 서버와의 연결을 설정한 이후에 진행되므로, 각 M2M 장치가 서로 다른 네트워크에 위치하거나, 공인 IP 네트워크를 경유하는 경우에도 연결 설정을 기반으로 통신을 시작할 수 있다. In addition, since data exchange between M2M devices and other M2M devices is established after establishing a connection with a relay server, each M2M device is based on a connection setting even when each M2M device is located in a different network or via a public IP network. You can start communicating.
따라서, 전술한 공인 IP 네트워크에서 사설 IP 네트워크로의 통신 개시가 불가능한 문제는 본 실시예에 따라 해결될 수 있다. Therefore, the above problem of initiating communication from the public IP network to the private IP network can be solved according to the present embodiment.
이상에서 설명한 내용은 타 M2M 장치에서도 동일하게 수행될 수 있다.The above description may be equally performed in other M2M devices.
도 8은 일 실시예에 다른 중계 서버의 동작을 설명하기 위한 도면이다. 8 is a diagram for describing an operation of a relay server according to an exemplary embodiment.
도 8을 참조하면, 중계 서버는 M2M 장치 및 타 M2M 장치 각각의 중계 클라이언트 모듈로부터 연결 설정을 위한 연결 패킷을 수신하여, M2M 장치 및 타 M2M 장치 각각과의 연결을 설정하는 단계를 수행할 수 있다(S800). Referring to FIG. 8, the relay server may receive a connection packet for connection establishment from a relay client module of each of the M2M device and another M2M device, and may establish a connection with each of the M2M device and another M2M device. (S800).
예를 들어, 중계 서버는 중계 서버를 통해서 통신을 수행하고자 하는 M2M 장치들로부터 연결 패킷을 수신하고, 연결 패킷에 기초하여 연결 설정을 수행할 수 있다. 연결 패킷은 각각의 M2M 장치에 구성될 수 있는 중계 클라이언트 모듈로부터 수신될 수 있다. 또한, 중계 서버는 연결 패킷에 대한 응답 정보를 포함하는 연결 확인 패킷을 각 M2M 장치로 전송할 수 있다. For example, the relay server may receive a connection packet from M2M devices that want to perform communication through the relay server, and perform connection establishment based on the connection packet. The connection packet may be received from a relay client module that may be configured in each M2M device. Also, the relay server may transmit a connection confirmation packet including response information about the connection packet to each M2M device.
또는, 중계 서버는 연결 패킷 수신, 연결 확인 패킷 전송 후에 각 M2M 장치로부터 가입 패킷을 수신하고, 가입 패킷에 대한 가입 확인 패킷을 각 M2M 장치로 전송하여 연결 설정을 수행할 수도 있다. 예를 들어, 가입 패킷은 연결 설정을 요청하는 M2M 장치에 대한 식별정보를 포함할 수 있다. 또는, 가입 패킷은 연결 설정을 요청하는 M2M 장치의 요청 메시지 전송과 관련된 식별정보 및 응답 메시지 수신과 관련된 식별정보에 대한 정보를 포함할 수 있다. 물론, 해당 M2M 장치가 M2M 네트워크를 사용하는 사물 통신 장치 패킷임을 지시하는 정보도 포함될 수 있다. Alternatively, the relay server may receive a subscription packet from each M2M device after receiving a connection packet and transmitting a connection confirmation packet, and transmit a subscription confirmation packet for the subscription packet to each M2M device to perform connection establishment. For example, the subscription packet may include identification information for the M2M device requesting connection establishment. Alternatively, the subscription packet may include identification information related to transmission of a request message of the M2M device requesting connection establishment and information on identification information related to reception of a response message. Of course, the information indicating that the M2M device is a M2M packet using the M2M network may be included.
한편, 중계 서버는 M2M 시스템을 구성하는 노드인 미들 노드 및 인프라 노드와는 독립적으로 구성될 수 있다. 이 경우에 미들 노드 및 인프라 노드는 중계 클라이언트 모듈을 이용하여 독립적으로 구성된 중계 서버와 통신을 수행할 수 있다. Meanwhile, the relay server may be configured independently of the middle node and the infrastructure node, which are nodes constituting the M2M system. In this case, the middle node and the infrastructure node may communicate with an independently configured relay server using the relay client module.
또는, 중계 서버는 M2M 시스템을 구성하는 노드인 미들 노드 또는 인프라 노드에 구성될 수도 있다. 이 경우에도 중계 서버와 미들 노드 또는 인프라 노드에 구성되는 각 개체와 통신을 수행하기 위한 중계 클라이언트 모듈은 각 노드에 같이 구성될 수 있다. Alternatively, the relay server may be configured in the middle node or the infrastructure node which is a node constituting the M2M system. Even in this case, a relay client module for communicating with each entity configured in the relay server and the middle node or infrastructure node may be configured in each node.
중계 서버는 M2M 장치의 중계 클라이언트 모듈로부터 타 M2M 장치로 전송하기 위한 요청 메시지를 포함하는 퍼블리쉬 패킷을 수신하는 단계를 수행할 수 있다(S810). 예를 들어, 중계 서버는 M2M 장치가 타 M2M 장치로 전송하기 위한 요청 메시지를 퍼블리쉬 패킷을 통해서 중계 클라이언트 모듈로부터 수신할 수 있다. The relay server may perform a step of receiving a publish packet including a request message for transmitting to another M2M device from the relay client module of the M2M device (S810). For example, the relay server may receive a request message for the M2M device to transmit to another M2M device from the relay client module through a publish packet.
예를 들어, 퍼블리쉬 패킷은 사물 통신 메시지임을 지시하는 정보, 메시지 타입을 지시하는 정보(요청 또는 응답), 발신자의 식별정보 및 수신자의 식별정보를 포함할 수 있다. 또는, 퍼블리쉬 패킷은 고정 헤더, 가변 헤더 및 페이로드 영역으로 구성되며, 고정 헤더는 패킷 또는 중계 프로토콜의 QoS 레벨에 대한 정보를 포함하는 QoS 레벨 필드, 중복전송 플래그 필드 및 패킷 타입 필드를 포함하고, 가변 헤더는 토픽 네임 필드 및 패킷 식별 필드를 포함할 수 있다. For example, the publish packet may include information indicating that the message is a thing communication message, information indicating a message type (request or response), identification information of the sender, and identification information of the receiver. Alternatively, the publish packet is composed of a fixed header, a variable header and a payload area, the fixed header includes a QoS level field, information on the QoS level of the packet or relay protocol, a duplicate transmission flag field and a packet type field, The variable header may include a topic name field and a packet identification field.
필요에 따라, 중계 서버는 퍼블리쉬 패킷에 대한 응답 정보를 포함하는 퍼블리쉬 확인 패킷을 M2M 장치로 전송할 수도 있다. 퍼블리쉬 확인 패킷은 퍼블리쉬 패킷의 정상 수신 여부에 대한 정보를 포함할 수 있다. If necessary, the relay server may transmit a publish confirmation packet including response information to the publish packet to the M2M device. The publish confirmation packet may include information on whether the publish packet is normally received.
중계 서버는 요청 메시지를 포함하는 퍼블리쉬 패킷을 타 M2M 장치의 중계 클라이언트 모듈로 전송하는 단계를 수행할 수 있다(S820). 예를 들어, 중계 서버는 퍼블리쉬 패킷이 수신되면, 해당 퍼블리쉬 패킷에서 지시하는 대상 타 M2M 장치에 대한 식별정보를 확인하고, 연결 설정된 타 M2M 장치의 중계 클라이언트 모듈로 요청 메시지를 포함하는 퍼블리쉬 패킷을 전송할 수 있다. 즉, 중계 서버는 중계 클라이언트 모듈로부터 퍼블리쉬 패킷이 수신되면, 토픽 네임을 참조하여 해당 패킷을 수신자 측의 중계 클라이언트 모듈로 전송한다. The relay server may perform a step of transmitting a publish packet including a request message to a relay client module of another M2M device (S820). For example, when a publish packet is received, the relay server checks identification information of another target M2M device indicated by the publish packet, and transmits a publish packet including a request message to a relay client module of another connected M2M device. Can be. That is, when a publish packet is received from the relay client module, the relay server transmits the packet to the relay client module at the receiver by referring to the topic name.
예를 들어, 중계 서버는 M2M 장치로부터 수신한 퍼블리쉬 패킷을 이용하여 가입 패킷을 통해서 확인한 타 M2M 장치의 식별정보에 따라 요청 메시지의 수신자인 타 M2M 장치로 퍼블리쉬 패킷을 전송할 수 있다. 타 M2M 장치는 퍼블리쉬 패킷 수신 이전에 중계 서버와 연결 설정 과정을 수행하였으므로, 중계 서버가 공인 IP 네트워크를 사용하더라도 사설 IP를 사용하는 타 M2M 장치로 요청 메시지를 포함하는 퍼블리쉬 패킷을 전송할 수 있다. For example, the relay server may transmit the publish packet to another M2M device which is a receiver of the request message according to the identification information of another M2M device confirmed through the subscription packet using the publish packet received from the M2M device. Since the other M2M device performs a connection setup process with the relay server before receiving the publish packet, even if the relay server uses a public IP network, it may transmit a publish packet including a request message to another M2M device using a private IP.
필요에 따라, 중계 서버는 타 M2M 장치로부터 요청 메시지를 포함하는 퍼블리쉬 패킷에 대한 수신 확인을 지시하는 퍼블리쉬 확인 패킷을 수신할 수 있다. 타 M2M 장치의 중계 클라이언트 모듈은 퍼블리쉬 패킷의 요청 메시지를 M2M 장치의 AE 또는 CSE로 전달할 수 있다. If necessary, the relay server may receive a publish acknowledgment packet instructing receipt of a publish packet including a request message from another M2M device. The relay client module of another M2M device may transmit the request message of the publish packet to the AE or CSE of the M2M device.
중계 서버는 타 M2M 장치의 중계 클라이언트 모듈로부터 요청 메시지에 대한 응답 메시지를 포함하는 퍼블리쉬 패킷을 수신하는 단계를 수행할 수 있다(S830). 타 M2M 장치의 AE 또는 CSE는 요청 메시지를 처리한 응답 메시지를 타 M2M 장치로 전달하고, 타 M2M 장치의 중계 클라이언트 모듈은 응답 메시지를 퍼블리쉬 패킷에 포함하여 중계 서버로 전송할 수 있다. 이에 따라, 중계 서버는 타 M2M 장치의 중계 클라이언트 모듈로부터 응답 메시지를 포함하는 퍼블리쉬 패킷을 수신할 수 있다. The relay server may perform a step of receiving a publish packet including a response message for a request message from a relay client module of another M2M device (S830). The AE or CSE of another M2M device may transmit a response message processing the request message to another M2M device, and the relay client module of the other M2M device may include the response message in a publish packet and transmit the response message to the relay server. Accordingly, the relay server may receive a publish packet including a response message from the relay client module of another M2M device.
필요에 따라, 중계 서버는 퍼블리쉬 패킷에 대한 퍼블리쉬 확인 패킷을 타 M2M 장치로 전송할 수 있다. If necessary, the relay server may transmit a publish confirmation packet for the publish packet to another M2M device.
중계 서버는 응답 메시지를 포함하는 퍼블리쉬 패킷을 M2M 장치의 중계 클라이언트 모듈로 전송하는 단계를 수행할 수 있다(S840). 중계 서버는 응답 메시지를 포함하는 퍼블리쉬 패킷의 수신자 식별정보를 확인하고, 해당 수신자 식별정보가 지시하는 M2M 장치로 응답 메시지를 포함하는 퍼블리쉬 패킷을 전송할 수 있다. The relay server may perform a step of transmitting the publish packet including the response message to the relay client module of the M2M device (S840). The relay server may check the receiver identification information of the publish packet including the response message, and transmit the publish packet including the response message to the M2M device indicated by the corresponding receiver identification information.
필요에 따라, 중계 서버는 M2M 장치로부터 퍼블리쉬 확인 패킷을 수신할 수 있다. M2M 장치의 중계 클라이언트 모듈은 중계 서버로부터 퍼블리쉬 패킷을 수신하고, 퍼블리쉬 패킷에 포함되는 응답 메시지를 M2M 장치의 AE 또는 CSE로 전달한다. 또한, M2M 장치의 중계 클라이언트 모듈은 퍼블리쉬 패킷에 대한 정상 수신 여부를 지시하는 퍼블리쉬 확인 패킷을 중계 서버로 전송할 수 있다. If necessary, the relay server may receive a publish confirmation packet from the M2M device. The relay client module of the M2M device receives the publish packet from the relay server and delivers a response message included in the publish packet to the AE or CSE of the M2M device. In addition, the relay client module of the M2M device may transmit a publish acknowledgment packet indicating whether to normally receive the publish packet to the relay server.
이상의 동작을 통해서 중계 서버는 M2M 장치와 타 M2M 장치가 공인 IP 네트워크를 통해서 데이터를 송수신하는 동작을 중계하여 원활하게 통신이 수행되도록 제어할 수 있다. 전술한 바와 같이, 중계 서버는 인프라 노드 또는 미들 노드에 포함되어 구성될 수도 있고, 독립적으로 구성되어 인프라 노드 또는 미들 노드와 통신을 수행할 수도 있다. Through the above operation, the relay server may control the M2M device and another M2M device to perform a smooth communication by relaying an operation of transmitting and receiving data through a public IP network. As described above, the relay server may be configured to be included in the infrastructure node or the middle node, or may be configured independently to communicate with the infrastructure node or the middle node.
한편, 도 7 및 도 8에서의 각 동작은 필요에 따라 각 단계가 분리되거나, 그 순서가 변경될 수도 있으며, 전술한 설명에서의 일부가 단계로 추가될 수도 있다.Meanwhile, each operation in FIGS. 7 and 8 may be separated from each step as necessary, or the order thereof may be changed, and a part of the above description may be added as a step.
이하에서는, 전술한 본 개시에 따른 보다 세부적인 다양한 실시예 및 절차를 도면을 참조하여 상세하게 설명한다. Hereinafter, various more detailed embodiments and procedures according to the present disclosure described above will be described in detail with reference to the drawings.
도 9는 일 실시예에 따른 중계 서버가 M2M 장치와 통합되어 구성된 구조를 예시적으로 도시한 도면이고, 도 10은 일 실시예에 따른 중계 서버가 독립적으로 구성된 구조를 예시적으로 도시한 도면이다. FIG. 9 is a diagram illustrating a structure in which a relay server is integrated with an M2M device according to an embodiment, and FIG. 10 is a diagram illustrating a structure in which a relay server is independently configured according to an embodiment. .
도 9를 참조하면, 중계 서버는 미들 노드 또는 인프라 노드에 포함되어 구성될 수 있다. 이 경우, ADN 또는 ASN의 M2M 장치는 중계 클라이언트 모듈을 통해서 중계 서버와 패킷을 주고 받을 수 있다. 유사하게 미들 노드도 중계 클라이언트 모듈을 통해서 미들 노드 또는 인프라 노드의 중계 서버와 패킷을 송수신할 수 있다. Referring to FIG. 9, the relay server may be included in a middle node or an infrastructure node. In this case, the M2M device of the ADN or ASN may exchange packets with the relay server through the relay client module. Similarly, the middle node may send and receive packets with the relay server of the middle node or the infrastructure node through the relay client module.
도 10을 참조하면, 중계 서버는 M2M 시스템의 노드와는 독립적으로 구성될 수도 있다. 이 경우에 중계 서버는 ASN, ADN과 같은 노드와 미들 노드 및 인프라 노드 중 적어도 하나와 중계 클라이언트 모듈을 통해서 패킷을 송수신할 수 있다. Referring to FIG. 10, the relay server may be configured independently of a node of the M2M system. In this case, the relay server may transmit and receive a packet through a relay client module and at least one of a node such as ASN and ADN, a middle node, and an infrastructure node.
또는, 중계 서버는 독립적으로 구성되며, 인프라 노드도 중계 서버를 포함하여 구성될 수도 있다. 이 경우, 미들 노드, ASN, ADN 등의 노드와 중계 서버는 중계 클라이언트 프로토콜을 통해서 패킷을 송수신하고, 인프라 노드와는 중계 서버 간의 패킷 교환을 통해서 통신을 수행할 수 있다. Alternatively, the relay server may be configured independently, and the infrastructure node may be configured to include a relay server. In this case, a node such as a middle node, an ASN, ADN, and the relay server may transmit and receive a packet through a relay client protocol, and communicate with the infrastructure node through a packet exchange between the relay server.
이와 같이, 중계 서버는 M2M 시스템과 공존하여 또는 독립적으로 구성되어 전술한 패킷 교환 동작을 수행할 수 있다. As such, the relay server may be configured to coexist with or independently of the M2M system to perform the aforementioned packet exchange operation.
이하에서는 필요에 따라 M2M 장치를 AE 또는 발신자 설명하고, 타 M2M 장치를 CSE 또는 수신자로 설명할 수 있다.In the following description, the M2M device may be described as an AE or a caller as needed, and another M2M device may be described as a CSE or a receiver.
도 11은 일 실시예에 따른 연결 패킷을 이용하여 중계 서버와 연결을 설정하는 절차를 설명하기 위한 도면이다. 11 is a diagram illustrating a procedure for establishing a connection with a relay server using a connection packet according to an embodiment.
도 11을 참조하면, AE(1100)는 중계 서버(1150)로 접속하기 위하여 중계 클라이언트 모듈(1110)로 초기 접속을 수행한다(S1101). 중계 클라이언트 모듈(1110)은 중계 서버(1150)로 연결 패킷을 전송한다(S1102). Referring to FIG. 11, the
동일하게 CSE(1190)도 연결 설정을 위해서 중계 클라이언트 모듈(1180)로 초기 접속을 수행하고(S1103), 중계 클라이언트 모듈(1180)은 중계 서버(1150)로 연결 패킷을 전송한다(S1104). Similarly, the
*이 때, AE(1100), CSE(1190)와 중계 클라이언트 모듈(1110, 1180)은 중계 프로토콜 도메인이 아닌 M2M 프로토콜을 사용할 수 있고, 중계 클라이언트 모듈(1110, 1180)과 중계 서버(1150)는 중계 프로토콜 도메인을 사용할 수 있다. 예를 들어, M2M 프로토콜에 따른 M2M 메시지는 요청 메시지와 응답 메시지 등이 있을 수 있고, M2M 메시지의 표현 방법은 Extensible Markup Language(XML), JavaScript Object Notation(JSON) 및 Concise Binary Object Representation(CBOR) 중 적어도 하나가 사용될 수 있다. 따라서, 중계 클라이언트 모듈(1110, 1180)은 M2M 메시지를 중계 프로토콜로 변환할 수 있다. 예를 들어, 가입 패킷의 Topic Name은 ‘oneM2M/req/+/SP-relative-AE-ID’ 또는 'oneM2M/resp/SP-relative-AE-ID/+’로 설정될 수 있다. 유사하게, 가입 패킷의 Topic Filter는 ‘/oneM2M/req/+/SP-relative-AE-ID’ 또는 '/oneM2M/resp/SP-relative-AE-ID/+’로 설정될 수 있다. At this time, the
이후, AE(1100)측의 중계 클라이언트 모듈(1110)은 중계 서버(1150)로 가입 패킷을 전송하고(S1105), CSE(1190)측의 중계 클라이언트 모듈(1180)도 중계 서버(1150)로 가입 패킷을 전송한다(S1106).Subsequently, the
가입 패킷은 M2M 시스템을 지시하는 정보, 요청 메시지에 관련된 AE 식별정보, 응답 메시지에 관련된 AE 식별정보를 포함할 수 있다. 유사하게 CSE(1190) 측의 가입 패킷은 M2M 시스템을 지시하는 정보, 요청 메시지에 관련된 CSE 식별정보, 응답 메시지에 관련된 CSE 식별정보를 포함할 수 있다.The subscription packet may include information indicating the M2M system, AE identification information related to the request message, and AE identification information related to the response message. Similarly, the subscription packet on the
이와 같은 절차를 통해서 AE(1100) 및 CSE(1190)는 중계 서버(1150)와 연결 설정을 수행할 수 있다. Through this procedure, the
도 12는 다른 실시예에 따른 연결 패킷을 이용하여 중계 서버와 연결을 설정하는 절차를 설명하기 위한 도면이다. 12 is a diagram for describing a procedure of establishing a connection with a relay server using a connection packet according to another embodiment.
도 12를 참조하면, 중계 서버(1150)는 연결 설정 과정에서의 패킷에 대한 확인 패킷(ACK)을 전송할 수 있다. 예를 들어, AE(1100)는 중계 서버(1150)로 접속하기 위하여 중계 클라이언트 모듈(1110)로 초기 접속을 수행한다(S1210). 중계 클라이언트 모듈(1110)은 중계 서버(1150)로 연결 패킷을 전송한다(S1220). Referring to FIG. 12, the
중계 서버(1150)는 연결 패킷에 대한 정상 수신 여부를 지시하는 정보를 포함하는 연결 확인 패킷(CONNACK)을 중계 클라이언트 모듈(1110)로 전송할 수 있다(S1230). The
동일하게 CSE(1190)도 연결 설정을 위해서 중계 클라이언트 모듈(1180)로 초기 접속을 수행하고(S1240), 중계 클라이언트 모듈(1180)은 중계 서버(1150)로 연결 패킷을 전송한다(S1250). 중계 서버(1150)는 연결 패킷에 대한 정상 수신 여부를 지시하는 정보를 포함하는 연결 확인 패킷(CONNACK)을 중계 클라이언트 모듈(1180)로 전송할 수 있다(S1260). Similarly, the
이 때, AE(1100), CSE(1190)와 중계 클라이언트 모듈(1110, 1180)은 중계 프로토콜 도메인이 아닌 M2M 프로토콜을 사용할 수 있고, 중계 클라이언트 모듈(1110, 1180)과 중계 서버(1150)는 중계 프로토콜 도메인을 사용할 수 있다. 예를 들어, M2M 프로토콜에 따른 M2M 메시지는 요청 메시지와 응답 메시지 등이 있을 수 있고, M2M 메시지의 표현 방법은 Extensible Markup Language(XML), JavaScript Object Notation(JSON) 및 Concise Binary Object Representation(CBOR) 중 적어도 하나가 사용될 수 있다. 따라서, 중계 클라이언트 모듈(1110, 1180)은 M2M 메시지를 중계 프로토콜로 변환할 수 있다. 예를 들어, 가입 패킷의 Topic Name은 ‘oneM2M/req/+/SP-relative-AE-ID’ 또는 'oneM2M/resp/SP-relative-AE-ID/+’로 설정될 수 있다. 유사하게, 가입 패킷의 Topic Filter는 ‘/oneM2M/req/+/SP-relative-AE-ID’ 또는 '/oneM2M/resp/SP-relative-AE-ID/+’로 설정될 수 있다.In this case, the
이후, AE(1100)측의 중계 클라이언트 모듈(1110)은 중계 서버(1150)로 가입 패킷을 전송하고(S1270), CSE(1190)측의 중계 클라이언트 모듈(1180)도 중계 서버(1150)로 가입 패킷을 전송한다(S1280). 전술한 바와 같이, 가입 패킷은 M2M 시스템을 지시하는 정보, 요청 메시지에 관련된 AE 식별정보, 응답 메시지에 관련된 AE 식별정보를 포함할 수 있다. 유사하게 CSE(1190) 측의 가입 패킷은 M2M 시스템을 지시하는 정보, 요청 메시지에 관련된 CSE 식별정보, 응답 메시지에 관련된 CSE 식별정보를 포함할 수 있다.Subsequently, the
또한, 중계 서버(1150)는 연결 패킷에 대한 정상 수신 여부를 지시하는 정보를 포함하는 가입 확인 패킷(SUBACK)을 AE(1100)측의 중계 클라이언트 모듈(1110)로 전송할 수 있다(S1290). 동일하게, 중계 서버(1150)는 가입 패킷에 대한 정상 수신 여부를 지시하는 정보를 포함하는 가입 확인 패킷(SUBACK)을 CSE(1180) 측의 중계 클라이언트 모듈(1180)로 전송할 수 있다(S1295). In addition, the
이와 같은 절차를 통해서 AE(1100) 및 CSE(1190)는 중계 서버(1150)와 연결 설정을 수행할 수 있다.Through this procedure, the
연결 설정이 완료되면, M2M 장치는 퍼블리쉬 패킷을 이용하여 중계 서버와 통신을 수행할 수 있다. When the connection setup is completed, the M2M device may communicate with the relay server using the publish packet.
도 13은 일 실시예에 따른 퍼블리쉬 패킷을 이용하여 메시지를 전달하는 절차를 설명하기 위한 도면이다. FIG. 13 is a diagram for describing a procedure of delivering a message using a publish packet, according to an exemplary embodiment.
도 13을 참조하면, 연결 설정이 완료된 후에 AE(1100)는 요청 메시지를 M2M 메시지 형식으로 중계 클라이언트 모듈(1110)로 전달한다(S1310). 중계 클라이언트 모듈(1110)은 중계 서버(1150)로 퍼블리쉬 패킷을 전송한다(S1320). 이를 위해서, 중계 클라이언트 모듈(1110)은 요청 메시지를 퍼블리쉬 패킷 포맷에 따라 페이로드에 포함하여 전송할 수 있다. Referring to FIG. 13, after the connection establishment is completed, the
퍼블리쉬 패킷은 고정 헤더에 패킷 또는 중계 프로토콜의 QoS 레벨에 대한 정보를 포함하는 QoS 레벨 필드, 중복전송 플래그 필드 및 패킷 타입 필드를 포함하고, 가변 헤더에 토픽 네임 필드 및 패킷 식별 필드를 포함하여 구성될 수 있다. 일 예로, 퍼블리쉬 패킷의 Topic Name은 ‘oneM2M/req/SP-relative-AE-ID/SP-relative-CSE-ID’로 설정될 수 있다. The publish packet includes a QoS level field, a duplicate transmission flag field, and a packet type field in the fixed header including information on the QoS level of the packet or the relay protocol, and includes a topic name field and a packet identification field in the variable header. Can be. For example, the topic name of the publish packet may be set to 'oneM2M / req / SP-relative-AE-ID / SP-relative-CSE-ID'.
중계 서버(1150)는 수신된 퍼블리쉬 패킷을 요청 메시지의 수신측 중계 클라이언트 모듈(1180)로 전송한다(S1330). 중계 클라이언트 모듈(1180)은 퍼블리쉬 패킷의 페이로드에 포함되는 요청 메시지를 M2M 메시지로 변환하여 CSE(1190)로 전달한다(S1340).The
이러한 프로토콜 변환 및 중계 과정을 통해서 AE(1100)는 CSE(1190)로 요청 메시지를 전달할 수 있고, 동일한 방식으로 응답 메시지가 CSE(1190)에서 AE(1100)로 전달될 수 있다. Through this protocol conversion and relay process, the
예를 들어, CSE(1190)는 응답 메시지를 M2M 메시지 형식으로 중계 클라이언트 모듈(1180)로 전달한다(S1350). 중계 클라이언트 모듈(1180)은 중계 서버(1150)로 퍼블리쉬 패킷을 전송한다(S1360). 이를 위해서, 중계 클라이언트 모듈(1180)은 응답 메시지를 퍼블리쉬 패킷 포맷에 따라 페이로드에 포함하여 전송할 수 있다. For example, the
퍼블리쉬 패킷은 고정 헤더에 패킷 또는 중계 프로토콜의 QoS 레벨에 대한 정보를 포함하는 QoS 레벨 필드, 중복전송 플래그 필드 및 패킷 타입 필드를 포함하고, 가변 헤더에 토픽 네임 필드 및 패킷 식별 필드를 포함하여 구성될 수 있다. 일 예로, 퍼블리쉬 패킷의 Topic Name은 ‘oneM2M/resp/SP-relative-AE-ID/SP-relative-CSE-ID’로 설정될 수 있다. The publish packet includes a QoS level field, a duplicate transmission flag field, and a packet type field in the fixed header including information on the QoS level of the packet or the relay protocol, and includes a topic name field and a packet identification field in the variable header. Can be. For example, the topic name of the publish packet may be set to 'oneM2M / resp / SP-relative-AE-ID / SP-relative-CSE-ID'.
중계 서버(1150)는 수신된 퍼블리쉬 패킷을 응답 메시지의 수신측 중계 클라이언트 모듈(1110)로 전송한다(S1370). 중계 클라이언트 모듈(1110)은 퍼블리쉬 패킷의 페이로드에 포함되는 응답 메시지를 M2M 메시지로 변환하여 AE(1100)로 전달한다(S1380). 중계 클라이언트 모듈(1110)은 수신된 퍼블리쉬 패킷의 페이로드에 포함되는 응답 메시지를 M2M 메시지로 변환하여 AE(1100)로 전달함으로써, AE(1100)와 CSE(1190)는 요청 메시지와 응답 메시지를 송수신할 수 있다. The
도 14는 다른 실시예에 따른 퍼블리쉬 패킷을 이용하여 메시지를 전달하는 절차를 설명하기 위한 도면이다. 도 14에서는 요청 메시지 발신자를 Originator로 기재하여 설명하고, 요청 메시지 수신자를 Receiver로 기재하여 설명한다. 이는 위에서 설명한 AE 또는 CSE 또는 M2M 시스템의 노드가 될 수 있다. 14 is a diagram for describing a procedure of delivering a message using a publish packet, according to another exemplary embodiment. In FIG. 14, the request message sender is described as an Originator, and the request message receiver is described as a Receiver. This may be a node of the AE or CSE or M2M system described above.
도 14를 참조하면, 연결 설정이 완료된 후에 Originator(1400)는 요청 메시지를 M2M 메시지 형식으로 중계 클라이언트 모듈(1110)로 전달한다(S1400). 중계 클라이언트 모듈(1110)은 중계 서버(1150)로 퍼블리쉬 패킷을 전송한다(S1405). 이를 위해서, 중계 클라이언트 모듈(1110)은 요청 메시지를 퍼블리쉬 패킷 포맷에 따라 페이로드에 포함하여 전송할 수 있다. Referring to FIG. 14, after the connection setup is completed, the
퍼블리쉬 패킷은 고정 헤더에 패킷 또는 중계 프로토콜의 QoS 레벨에 대한 정보를 포함하는 QoS 레벨 필드, 중복전송 플래그 필드 및 패킷 타입 필드를 포함하고, 가변 헤더에 토픽 네임 필드 및 패킷 식별 필드를 포함하여 구성될 수 있다. 일 예로, 퍼블리쉬 패킷의 Topic Name은 ‘/oneM2M/req/Originator-ID/Receiver-ID’로 설정될 수 있다. The publish packet includes a QoS level field, a duplicate transmission flag field, and a packet type field in the fixed header including information on the QoS level of the packet or the relay protocol, and includes a topic name field and a packet identification field in the variable header. Can be. For example, the topic name of the publish packet may be set to '/ oneM2M / req / Originator-ID / Receiver-ID'.
중계 서버(1150)는 수신된 퍼블리쉬 패킷의 정상 수신 여부에 대한 정보를 포함하는 퍼블리쉬 확인(Publish ACK, PUBACK) 패킷을 중계 클라이언트 모듈(1110)로 전송한다(S1410). 예를 들어, 중계 서버(1150)는 요청 메시지를 포함하는 퍼블리쉬 패킷이 정상 수신 되었거나, 해당 퍼블리쉬 패킷을 수신자로 처리가 가능한 경우에 정상 수신을 지시하는 정보를 포함하는 퍼블리쉬 확인 패킷을 중계 클라이언트 모듈(1110)로 전송한다. The
이후, 중계 서버(1150)는 수신된 퍼블리쉬 패킷을 요청 메시지의 수신측 중계 클라이언트 모듈(1180)로 전송한다(S1415). 중계 클라이언트 모듈(1180)은 퍼블리쉬 패킷의 페이로드에 포함되는 요청 메시지를 M2M 메시지로 변환하여 Receiver(1490)로 전달한다(S1425). 다만, 수신측 중계 클라이언트 모듈(1180)은 요청 메시지를 포함하는 퍼블리쉬 패킷을 중계 서버(1150)로부터 수신하고, 정상 수신 여부를 지시하는 정보를 포함하는 퍼블리쉬 확인 패킷을 중계 서버(1150)로 전송할 수 있다(S1420). S1420 단계는 S1425 단계 이전에 수행될 수도 있고, 이후에 수행될 수도 있다. Thereafter, the
이러한 프로토콜 변환 및 중계 과정을 통해서 Originator(1400)는 Receiver(1490)로 요청 메시지를 전달할 수 있고, 동일한 방식으로 응답 메시지가 Receiver(1490)에서 Originator(1400)로 전달될 수 있다. Through such a protocol conversion and relay process, the
예를 들어, Receiver(1490)는 응답 메시지를 M2M 메시지 형식으로 중계 클라이언트 모듈(1180)로 전달한다(S1430). 중계 클라이언트 모듈(1180)은 중계 서버(1150)로 응답 메시지를 포함하는 퍼블리쉬 패킷을 전송한다(S1435). 이를 위해서, 중계 클라이언트 모듈(1180)은 응답 메시지를 퍼블리쉬 패킷 포맷에 따라 페이로드에 포함하여 전송할 수 있다. For example, the
퍼블리쉬 패킷은 고정 헤더에 패킷 또는 중계 프로토콜의 QoS 레벨에 대한 정보를 포함하는 QoS 레벨 필드, 중복전송 플래그 필드 및 패킷 타입 필드를 포함하고, 가변 헤더에 토픽 네임 필드 및 패킷 식별 필드를 포함하여 구성될 수 있다. 일 예로, 응답 메시지를 포함하는 퍼블리쉬 패킷의 Topic Name은‘/oneM2M/resp/Originator-ID/Receiver-ID’로 설정될 수 있다. The publish packet includes a QoS level field, a duplicate transmission flag field, and a packet type field in the fixed header including information on the QoS level of the packet or the relay protocol, and includes a topic name field and a packet identification field in the variable header. Can be. For example, the Topic Name of the publish packet including the response message may be set as '/ oneM2M / resp / Originator-ID / Receiver-ID'.
중계 서버(1150)는 응답 메시지를 포함하는 퍼블리쉬 패킷을 수신하면, 이에 대한 정상 수신 여부를 지시하는 정보를 포함하는 퍼블리쉬 확인 패킷을 중계 클라이언트 모듈(1180)로 전송할 수 있다(S1440).When the
응답 메시지를 포함하는 퍼블리쉬 패킷이 정상 수신되고, Originator(1400)로 정상 중계가 가능하여 퍼블리쉬 확인 패킷을 전송한 경우에, 중계 서버(1150)는 수신된 퍼블리쉬 패킷을 응답 메시지의 수신측 중계 클라이언트 모듈(1110)로 전송한다(S1445). 수신측 중계 클라이언트 모듈(1110)은 응답 메시지를 포함하는 퍼블리쉬 패킷이 수신되면, 이에 대한 정상 수신 또는 정상 처리 가능 여부를 지시하는 정보를 포함하는 퍼블리쉬 확인 패킷을 중계 서버(1150)로 전송할 수 있다. When the publish packet including the response message is normally received and the normal confirmation is possible to the
중계 클라이언트 모듈(1110)은 퍼블리쉬 패킷의 페이로드에 포함되는 응답 메시지를 M2M 메시지로 변환하여 Originator(1400)로 전달한다(S1455). 중계 클라이언트 모듈(1110)은 수신된 퍼블리쉬 패킷의 페이로드에 포함되는 응답 메시지를 M2M 메시지로 변환하여 Originator(1400)로 전달함으로써, Originator(1400)와 Receiver(1490)는 요청 메시지와 응답 메시지를 송수신할 수 있다. The
한편, 일대일 통신이 아닌 일대다 통신의 효율적으로 처리하기 위하여, 위에서 예시적으로 설명한 퍼블리쉬 패킷의 Topic Name은 응용 서비스 또는 그룹 등을 처리하기 위하여 아래의 예시와 같이 설정될 수도 있다. Meanwhile, in order to efficiently handle one-to-many communication instead of one-to-one communication, the topic name of the publish packet described above may be set as shown in the following example to process an application service or a group.
- Application을 공유하기 위한 Topic Name: /oneM2M/resource/AE/App-ID-Topic Name for sharing Application: / oneM2M / resource / AE / App-ID
- Group을 공유하기 위한 Topic Name: /oneM2M/resource/group/groupName-Topic Name for sharing Group: / oneM2M / resource / group / groupName
이 외에도 토픽 네임은 다양한 형태로 설정될 수 있으며, 이는 미리 각 구성 개체 설정될 수 있다. In addition, the topic name may be set in various forms, and each configuration object may be set in advance.
이하에서는, 전술한 패킷들의 구성과 각 헤더 및 페이로드의 구성을 보다 상세하게 도면을 참조하여 설명한다. 각 도면의 패킷의 포맷 및 구조는 예시적으로 도시한 것으로 해당 도면에 한정되는 것은 아니다. Hereinafter, the configuration of the above-described packets and the configuration of each header and payload will be described in detail with reference to the accompanying drawings. The format and structure of the packet of each figure are shown by way of example and are not limited to the figure.
도 15는 일 실시예에 따른 연결 패킷 포맷과 고정 헤더의 구조를 도시한 도면이다. 15 illustrates a structure of a connection packet format and a fixed header according to an embodiment.
도 15를 참조하면, 연결 패킷은 2 바이트의 고정 헤더, 가변 헤더 및 페이로드 영역으로 구성될 수 있다. 즉, 연결 패킷 포맷은 고정 헤더, 가변 헤더 및 페이로드로 설정될 수 있으며, 고정 헤더는 2바이트의 정보를 포함하고, 가변 헤더와 페이로드의 길이는 가변적으로 설정될 수 있다. Referring to FIG. 15, a concatenated packet may be composed of two bytes of a fixed header, a variable header, and a payload region. That is, the concatenated packet format may be set to a fixed header, a variable header and a payload. The fixed header may include two bytes of information, and the length of the variable header and the payload may be set to be variable.
예를 들어, 고정 헤더는 고정 헤더는 예약(Reserver) 필드와 패킷 타입 정보를 포함하는 필드 및 잔여 길이 필드로 구성될 수 있다. 예를 들어, 예약 필드은 0 값으로 설정되고, 패킷 타입 정보를 포함하는 필드는 해당 패킷이 연결(CONNECT) 패킷임을 나타내기 위한 특정 값으로 설정될 수 있다. 해당 특정 값은 미리 설정될 수 있다. 한편, 잔여 길이 필드는 가변 헤더와 페이로드에 따라 그 값이 가변적으로 구성될 수 있다. 예를 들어, 잔여 길이 필드의 값은 “0” 또는 “1”의 값으로 설정도리 수 있으며, 페이로드의 존재 여부, 페이 로드 길이 또는 가변 헤더의 길이나 존재 여부에 따라 0 또는 1의 값이 미리 설정된 규칙에 의해서 결정될 수 있다. 이 외에도, 연결 패킷 포맷의 헤더 및 각 필드의 길이는 설정에 따라 달라질 수 있다. For example, in the fixed header, the fixed header may include a field including a reserver field, packet type information, and a remaining length field. For example, the reservation field may be set to a value of 0, and the field including packet type information may be set to a specific value indicating that the corresponding packet is a CONNECT packet. The specific value may be set in advance. Meanwhile, the remaining length field may be configured to have a variable value according to the variable header and the payload. For example, the value of the remaining length field may be set to a value of “0” or “1”, and a value of 0 or 1 may be set depending on whether payload is present, payload length, or length or length of variable header. It may be determined by a preset rule. In addition to this, the header of the connection packet format and the length of each field may vary depending on the setting.
도 16은 일 실시예에 따른 연결 패킷 가변 헤더의 구조를 도시한 도면이다. 16 illustrates a structure of a connection packet variable header according to an embodiment.
도 16을 참조하면, 연결 패킷의 가변 헤더는 프로토콜 이름 필드, 프로토콜 레벨 필드, 연결 플래그 필드 및 연결 유지(Keep Alive) 필드를 포함할 수 있다. 예를 들어, 프로토콜 이름 필드는 해당 패킷이 사용하는 중계 프로토콜을 지시하는 정보를 포함할 수 있다. 구체적으로, 프로토콜 이름 필드는 해당 패킷이 MQTT 프로토콜을 사용하는 패킷임을 지시하는 정보를 포함할 수 있다. Referring to FIG. 16, the variable header of the connection packet may include a protocol name field, a protocol level field, a connection flag field, and a keep alive field. For example, the protocol name field may include information indicating a relay protocol used by the packet. In more detail, the protocol name field may include information indicating that the packet is a packet using the MQTT protocol.
또한, 프로토콜 레벨 필드는 해당 프로토콜의 버전을 지시하는 정보를 포함할 수 있으며, 1600과 같이 프로토콜 레벨의 값이 4인 경우에 MQTT 버전 3.1.1을 지시할 수 있다. In addition, the protocol level field may include information indicating a version of a corresponding protocol, and may indicate MQTT version 3.1.1 when the protocol level value is 4, such as 1600.
한편, 연결 플래그 필드는 사용자 이름 플래그, 패스워드 플래그, Will Retain, Will QoS, Will Flag, Clean session, Reserved 등의 세부 플래그를 포함할 수 있다. 일 예로, Clean Session 필드는 세션의 리셋 여부를 지시하는 정보를 포함할 수 있습니다. 예를 들어, Clean Session이 0으로 설정되면 서버는 현재 세션의 상태를 기반으로 클라이언트 모듈과의 통신을 재개할 수 있다. 다른 예로, Will Flag는 연결 오류에 대한 정보를 포함할 수 있습니다. 예를 들어, 서버가 입출력 오류 및 네트워크 오류 상황인지, 클라이언트 모듈과 유지 시간 내에 통신을 수행하지 못하였는지, 프로토콜 오류인지 등에 대한 정보를 포함할 수 있다. 또 다른 예로, Will QoS는 Will 메시지를 개시할 때 사용할 QoS 수준을 지정하는 정보를 포함한다. 또 다른 예로, Will Retaion은 해당 패킷을 유지할지 말지를 지시하는 정보를 포함할 수 있다. 또 다른 예로, 패스워드 플래그는 해당 페이로드에 패스워드의 존재 여부에 대한 정보를 포함할 수 있다. 이와 같이, 연결 플래그 필드는 연결 패킷에 대한 다양한 설정 정보를 포함할 수 있다. 즉 1610과 같이 연결 패킷의 값이 설정되는 경우에 Will Flag 값이 1로 설정됨을 나타낼 수 있다. Meanwhile, the connection flag field may include detailed flags such as a user name flag, a password flag, Will Retain, Will QoS, Will Flag, Clean session, Reserved, and the like. For example, the Clean Session field may contain information indicating whether the session is reset. For example, if Clean Session is set to 0, the server can resume communication with the client module based on the state of the current session. As another example, Will Flag can contain information about connection errors. For example, the server may include information about whether an input / output error and a network error condition, communication with a client module could not be performed within a maintenance time, or a protocol error. As another example, Will QoS includes information specifying the QoS level to use when initiating a Will message. As another example, Will Retaion may include information indicating whether or not to maintain the packet. As another example, the password flag may include information on whether a password exists in a corresponding payload. As such, the connection flag field may include various setting information about the connection packet. That is, when the value of the connection packet is set as shown in 1610, it may represent that the Will Flag value is set to 1.
한편, 가변 헤더의 연결 유지 필드는 클라이언트 모듈이 전송하는 두 개의 연속적인 제어 패킷 사이에서 경과할 수 있는 최대 시간 간격에 대한 정보를 나타내며, 초 단위로 설정될 수 있다. On the other hand, the connection maintenance field of the variable header indicates information on the maximum time interval that can elapse between two consecutive control packets transmitted by the client module, it may be set in units of seconds.
또한, 필요에 따라 헤더 및 각 영역의 길이는 설정에 따라 달라질 수 있다. In addition, if necessary, the length of the header and each region may vary depending on the setting.
도 17은 일 실시예에 따른 연결 패킷 페이로드의 구조를 도시한 도면이다. 17 illustrates a structure of a connection packet payload according to an embodiment.
도 17을 참조하면, 페이로드는 클라이언트 모듈 식별자 정보를 포함할 수 있다. 또한, 필요에 따라 사용자 이름과 패스워드를 포함할 수 있다. 클라이언트 모듈 식별자 정보는 해당 중계 서버에서 클라이언트 모듈을 식별하기 위한 식별정보를 포함하고, 설정된 경우에 해당 사용자에 대한 이름 정보와 패스워드 등을 선택적으로 포함할 수 있다. Referring to FIG. 17, the payload may include client module identifier information. It may also include a username and password as needed. The client module identifier information may include identification information for identifying the client module in the corresponding relay server, and optionally include name information and password for the corresponding user.
이 경우에도 각 영역 및 페이로드 길이는 가변될 수 있다. Even in this case, each region and payload length may vary.
이상에서 살펴본 바와 같이, 연결 패킷은 다양한 정보를 포함하여 구성될 수 있다. 이하, 연결 패킷에 대한 응답으로의 연결 확인 패킷의 포맷과 각 필드에 대해서 설명한다. As described above, the connection packet may be configured to include various information. Hereinafter, the format and each field of the connection confirmation packet in response to the connection packet will be described.
도 18은 일 실시예에 따른 연결 확인 패킷 포맷과 각 헤더의 구조를 도시한 도면이다. 18 is a diagram illustrating a connection confirmation packet format and the structure of each header according to an embodiment.
도 18을 참조하면, 연결 확인 패킷은 2 바이트의 고정 헤더와 가변 헤더 및 페이로드로 구성될 수 있다. 예를 들어, 고정 헤더는 예약 필드(ex, 0000으로 설정)와 패킷 타입 필드 및 잔여 길이 필드로 구성될 수 있다. 이는 전술한 연결 패킷과 유사하게 설정될 수 있다. Referring to FIG. 18, the connection confirmation packet may consist of a fixed header of 2 bytes, a variable header, and a payload. For example, the fixed header may include a reserved field (ex, set to 0000), a packet type field, and a remaining length field. This may be set similar to the above-described connection packet.
가변 헤더도 예약 필드(ex, 0으로 설정)와 잔여 길이 필드 및 연결 반환 코드 정보 필드로 구성될 수 있다. 이를 통해서, 클라이언트 모듈은 중계 서버로 요청한 연결 패킷에 대한 처리 결과를 연결 반환 코드 필드의 값을 통해서 확인할 수 있다. The variable header may also include a reservation field (ex, set to 0), a remaining length field, and a concatenation return code information field. Through this, the client module can check the processing result of the connection packet requested to the relay server through the value of the connection return code field.
또한, 가변 헤더는 SP(Session Present Flag)와 예약 및 연결 응답 코드 필드를 포함할 수 있다. 한편, 페이로드는 생략될 수 있다.In addition, the variable header may include a session present flag (SP) and a reservation and connection response code field. On the other hand, the payload may be omitted.
도 19는 일 실시예에 따른 가입(subscribe) 패킷 포맷과 고정 헤더, 가변 헤더 및 페이로드의 구조를 도시한 도면이다. 19 illustrates a structure of a subscribe packet format, a fixed header, a variable header, and a payload according to an embodiment.
도 19를 참조하면, 가입(SUBSCRIBE) 패킷은 고정 헤더와 가변 헤더 및 페이로드로 구성되는 포맷으로 설정된다. 고정 헤더는 2바이트로 설정될 수 있으며, 가변 헤더 및 페이로드는 그 길이가 가변적으로 설정될 수 있다. Referring to FIG. 19, a SUBSCRIBE packet is set in a format consisting of a fixed header, a variable header, and a payload. The fixed header may be set to 2 bytes, and the variable header and payload may be set to vary in length.
연결 패킷과 동일하게 고정 헤더는 예약 필드와 패킷 타입 정보 필드 및 잔여 길이 필드로 구성될 수 있으며, 1900과 같이 각 필드에 포함되는 값이 설정될 수 있다. 한편, 가변 헤더는 패킷 식별정보를 포함할 수 있다. Like the connection packet, the fixed header may include a reservation field, a packet type information field, and a remaining length field, and a value included in each field may be set as shown in 1900. Meanwhile, the variable header may include packet identification information.
또한, 페이로드는 길이 필드, 토픽 필터 필드 및 QoS 필드로 구성하며, 토픽필터와 토픽 필터에 해당하는 QoS는 쌍으로 여러 개가 포함될 수 있다. In addition, the payload includes a length field, a topic filter field, and a QoS field, and a plurality of QoSs corresponding to the topic filter and the topic filter may be included in pairs.
도 20은 일 실시예에 따른 가입(subscribe) 확인 패킷 포맷과 고정 헤더, 가변 헤더 및 페이로드의 구조를 도시한 도면이다. 20 illustrates a structure of a subscribe confirmation packet format, fixed header, variable header, and payload according to an embodiment.
도 20을 참조하면, 가입 패킷에 대한 확인 정보를 포함하는 가입 확인 패킷은 고정 헤더와 가변 헤더 및 페이로드로 구성된다. Referring to FIG. 20, a subscription confirmation packet including confirmation information on a subscription packet is composed of a fixed header, a variable header, and a payload.
가입 패킷과 동일하게 고정 헤더는 예약 필드과 패킷 타입 정보 필드 및 잔여 길이 필드로 구성될 수 있으며, 각 필드에는 2000의 예와 같이 정보가 포함될 수 있다. 한편, 가변 헤더는 패킷 식별정보를 포함할 수 있다. Like the subscription packet, the fixed header may include a reservation field, a packet type information field, and a remaining length field, and each field may include information as in the example of 2000. Meanwhile, the variable header may include packet identification information.
또한, 페이로드는 응답 코드의 리스트 정보를 포함할 수 있다. 이를 통해서, 가입 패킷에 대한 중계 서버의 처리 결과를 응답 코드 별로 설정된 정보를 통해서 중계 클라이언트 모듈은 획득할 수 있다. In addition, the payload may include list information of the response code. Through this, the relay client module may obtain the processing result of the relay server for the subscription packet through the information set for each response code.
이하에서는, 요청 메시지 및 응답 메시지를 중계하기 위한 퍼블리쉬 패킷과 그에 대한 퍼블리쉬 확인 패킷의 구조를 설명한다. Hereinafter, a structure of a publish packet for relaying a request message and a response message and a publish confirmation packet therefor will be described.
도 21은 일 실시예에 따른 퍼블리쉬 패킷 포맷과 고정 헤더, 가변 헤더 구조를 도시한 도면이다. 21 is a diagram illustrating a publish packet format, a fixed header, and a variable header structure according to an embodiment.
도 21을 참조하면, 퍼블리쉬 패킷은 고정 헤더와 가변 헤더 및 페이로드로 구성된다. 예를 들어, 고정 헤더는 RETAIN, QoS 레벨, 중복 전송 플래그(DUG flag), 패킷 타입 정보 및 잔여 길이 필드로 구성될 수 있다. Referring to FIG. 21, a publish packet includes a fixed header, a variable header, and a payload. For example, the fixed header may be composed of RETAIN, QoS level, DUG flag, packet type information, and remaining length field.
일 예로, 고정 헤더는 2 바이트로 구성될 수 있으며, 각 비트 별로 할당된 정보를 운반할 수 있다. 예를 들어, QoS 레벨 필드는 패킷 또는 중계 프로토콜의 QoS 레벨에 대한 정보를 포함한다. 또한, 중복 전송 플래그 필드는 해당 패킷이 중복 전송인지를 나타내는 정보를 포함한다. 또한, 패킷 타입 필드는 해당 패킷이 퍼블리쉬 패킷임을 지시하는 정보를 포함한다. For example, the fixed header may consist of 2 bytes and carry information allocated for each bit. For example, the QoS level field contains information about the QoS level of a packet or relay protocol. In addition, the duplicate transmission flag field includes information indicating whether a corresponding packet is duplicate transmission. In addition, the packet type field includes information indicating that the packet is a publish packet.
다른 예로, 가변 헤더는 토픽 네임과 패킷 식별정보를 포함할 수 있다. 토픽 네임은 전술한 바와 같이 요청 및 응답 메시지에 따라 달라질 수 있으며, 발신자 정보 및 수신자 정보를 포함할 수 있다. 예를 들어, 요청 메시지의 경우에 ‘/oneM2M/req/Originator-ID/Receiver-ID’로 설정되며, 응답 메시지의 경우에 ‘/oneM2M/resp/Originator-ID/Receiver-ID’로 설정될 수 있다. 패킷 식별정보는 해당 패킷을 식별하기 위해서 미리 설정된 인덱스 정보를 포함할 수 있다. 또한, 패킷 식별정보는 QoS 레벨이 1 또는 2인 퍼블리쉬 패킷에만 존재할 수 있다. As another example, the variable header may include a topic name and packet identification information. The topic name may vary according to the request and response message as described above, and may include sender information and receiver information. For example, it can be set to '/ oneM2M / req / Originator-ID / Receiver-ID' for a request message and to '/ oneM2M / resp / Originator-ID / Receiver-ID' for a response message. have. The packet identification information may include index information preset for identifying the packet. In addition, the packet identification information may exist only in a publish packet having a QoS level of 1 or 2.
한편, 퍼블리쉬 패킷의 페이로드는 M2M 시스템에서 정의된 요청 메시지 또는 응답 메시지가 포함될 수 있다. 예를 들어, 페이로드에 포함되는 요청 메시지는 해당 요청 메시지의 요청 종류를 지시하는 정보, 발신자 식별정보, 수신자 식별정보 및 요청 식별정보를 포함할 수 있다. 페이로드에 응답 메시지가 포함되는 경우에 응답 메시지는 요청 식별정보 및 응답 결과 코드 정보를 포함할 수 있다. Meanwhile, the payload of the publish packet may include a request message or response message defined in the M2M system. For example, the request message included in the payload may include information indicating a request type of the request message, caller identification information, receiver identification information, and request identification information. When the response message is included in the payload, the response message may include request identification information and response result code information.
도 22는 일 실시예에 다른 퍼블리쉬 확인 패킷 포맷과 고정 헤더, 가변 헤더 구조를 도시한 도면이다. FIG. 22 is a diagram illustrating a publish confirmation packet format, a fixed header, and a variable header structure according to an embodiment.
도 22를 참조하면, 퍼블리쉬 확인 패킷(PUBACK 패킷)은 고정 헤더와 가변 헤더 및 페이로드 영역 중 적어도 하나를 포함하여 구성될 수 있다.Referring to FIG. 22, a publish confirmation packet (PUBACK packet) may include at least one of a fixed header, a variable header, and a payload region.
연결 패킷, 가입 패킷 등과 동일하게 고정 헤더는 예약 영역과 패킷 타입 정보 영역 및 잔여 길이 영역으로 구성하며, 각 영역에 포함되는 값은 도 22와 같이 포함될 수 있다. 한편, 가변 헤더는 패킷 식별정보를 포함할 수 있다. 예를 들어, 패킷 식별정보를 통해서 해당 퍼블리쉬 확인 패킷이 어떤 퍼블리쉬 패킷에 대한 응답인지를 나타낼 수 있다. 또한, 퍼블리쉬 확인 패킷의 페이로드는 생략이 가능하다. Like the connection packet and the subscription packet, the fixed header includes a reserved area, a packet type information area, and a remaining length area, and a value included in each area may be included as shown in FIG. Meanwhile, the variable header may include packet identification information. For example, the packet identification information may indicate which publish packet is a response to the publish confirmation packet. In addition, the payload of the publish confirmation packet can be omitted.
이상에서 설명한 각 패킷의 구조 및 필드는 일 실시예를 설명한 것으로, 설정에 의해서 변경되거나 일부 필드가 생략 또는 추가될 수도 있다. The structure and fields of each packet described above have been described in one embodiment, and may be changed by setting or some fields may be omitted or added.
또한, 본 실시예들에 따르면 두 개의 M2M 장치 중 한 쪽이 방화벽을 통하여 통신을 하는 경우 인터넷 프토토콜을 이용하여 두 개의 기기 중 어느 쪽에서도 통신을 시작할 수 있다. 또한, 두 개의 기기가 모두 방화벽을 통하여 공인 IP 네트워크를 통하여 통신을 하는 경우에도 인터넷 프로토콜을 이용하여 두 개의 기기 중 어느 쪽에서도 통신을 시작할 수 있다. 또한, 중계 프로토콜을 이용하여 요청 메시지 및 응답 메시지를 교환이 가능하며, 동일한 Application을 다수의 디바이스에서 사용이 가능하다. 또한, 중계 프로토콜을 이용하여 집단적인 처리 기능 수행이 가능하다. 따라서, 본 실시예에 따르면 네트워크 전체의 트래픽의 증가를 방지하면서 발신자가 요청한 동작이 정확하게 수행되었는지를 확인할 수 있다. In addition, according to the present embodiments, when one of two M2M devices communicates through a firewall, communication may be initiated from either of two devices using an Internet protocol. In addition, even when both devices communicate through a public IP network through a firewall, communication can be initiated from either device using the Internet protocol. In addition, request and response messages can be exchanged using the relay protocol, and the same application can be used in multiple devices. In addition, it is possible to perform a collective processing function using a relay protocol. Therefore, according to the present embodiment, it is possible to confirm whether an operation requested by the sender is correctly performed while preventing an increase in traffic of the entire network.
이하에서는 도 1 내지 도 22를 참조하여 설명한 본 실시예를 모두 실시할 수 있는 M2M 장치의 구성 및 중계 서버의 구성을 도면을 참조하여 다시 한 번 설명한다. Hereinafter, the configuration of the M2M device and the relay server that can implement all of the embodiments described with reference to FIGS. 1 to 22 will be described once again with reference to the drawings.
도 23은 일 실시예에 따른 M2M 장치의 구조를 도시한 도면이다. 23 is a diagram illustrating a structure of an M2M device according to one embodiment.
도 23을 참조하면, 공인 IP(Internet Protocol) 네트워크를 통해서 타 M2M 장치와 통신을 수행하는 M2M 장치(2300)는, 중계 클라이언트 모듈을 통해서 중계 서버로의 연결 설정을 위한 연결 패킷을 전송하고, 연결 설정을 위한 연결 패킷에 대한 응답 정보를 수신하여 중계 서버와의 연결을 설정하는 제어부(2310)와 중계 서버와의 연결이 설정되면, 타 M2M 장치로 전송하기 위한 요청 메시지를 퍼블리쉬 패킷에 포함하여 중계 서버로 전송하는 송신부(2320) 및 요청 메시지에 대해서 타 M2M 장치가 생성한 응답 메시지를 포함하는 퍼블리쉬 패킷을 중계 서버로부터 수신하는 수신부(2330)를 포함할 수 있다. Referring to FIG. 23, an
또한, 송신부(2320)는 중계 서버와 연결을 설정하기 위한 연결 패킷을 중계 서버로 전송하고, 수신부(2330)는 중계 서버로부터 연결 패킷에 대한 응답 정보를 포함하는 연결 확인 패킷을 수신할 수 있다. In addition, the
한편, 연결 확인 패킷을 M2M 장치가 수신하는 경우, 송신부(2320)는 중계 서버로 가입 패킷을 전송하고, 수신부(2330)는 이에 대한 가입 확인 패킷을 수신할 수 있다. 가입 패킷은 중계 서버에서 해당 M2M 장치의 AE 또는 CSE를 식별하기 위한 식별정보를 포함할 수 있다. 제어부(2310)는 가입 확인 패킷을 수신하여 연결 설정을 수행할 수도 있다. Meanwhile, when the M2M device receives the connection confirmation packet, the
한편, 중계 서버와 중계 클라이언트 모듈 간의 연결 패킷은 아래와 같은 포맷으로 구성될 수 있다. 예를 들어, 연결 패킷은 2 바이트의 고정 헤더, 가변 헤더 및 페이로드 영역으로 구성될 수 있다. 또한, 가변 헤더는 프로토콜 이름 필드, 프로토콜 레벨 필드, 연결 플래그 필드 및 연결 유지(Keep Alive) 필드를 포함하고, 페이로드 영역은 클라이언트 모듈 식별자 정보를 포함할 수 있다. Meanwhile, the connection packet between the relay server and the relay client module may be configured in the following format. For example, the concatenated packet may consist of two bytes of fixed header, variable header and payload area. The variable header may include a protocol name field, a protocol level field, a connection flag field, and a keep alive field, and the payload region may include client module identifier information.
한편, 연결 설정 절차는 M2M 장치와 통신을 수행하기 위한 타 M2M 장치도 동일한 방식으로 수행할 수 있다. 예를 들어, 타 M2M 장치도 중계 서버와 연결 패킷 및 연결 확인 패킷 송수신 절차를 통해서 연결을 설정할 수 있다. 또는, 타 M2M 장치는 중계 서버와 연결 패킷 및 연결 확인 패킷 송수신 절차를 진행하고, 가입 패킷 및 가입 확인 패킷 송수신 절차를 통해서 연결을 설정할 수 있다. Meanwhile, the connection establishment procedure may be performed in the same manner with other M2M devices for communicating with the M2M device. For example, another M2M device may establish a connection with the relay server through a procedure for transmitting and receiving a connection packet and a connection confirmation packet. Alternatively, the other M2M device may perform a connection packet and a connection confirmation packet transmission / reception procedure with the relay server, and establish a connection through the transmission and reception of a subscription packet and a subscription confirmation packet.
퍼블리쉬 패킷은 사물 통신 메시지임을 지시하는 정보, 메시지 타입을 지시하는 정보(요청 또는 응답), 발신자의 식별정보 및 수신자의 식별정보를 포함할 수 있다. The publish packet may include information indicating that the message is a thing communication message, information indicating a message type (request or response), identification information of the sender, and identification information of the receiver.
한편, 퍼블리쉬 패킷은 고정 헤더, 가변 헤더 및 페이로드 영역으로 구성되며, 고정 헤더는 패킷 또는 중계 프로토콜의 QoS 레벨에 대한 정보를 포함하는 QoS 레벨 필드, 중복전송 플래그 필드 및 패킷 타입 필드를 포함하고, 가변 헤더는 토픽 네임 필드 및 패킷 식별 필드를 포함할 수 있다. 페이로드 영역에는 요청 메시지가 포함될 수 있으며, 요청 메시지에 요청 식별정보가 포함될 수 있다. 요청 식별정보는 추후 응답 메시지에 포함되어 응답 메시지가 어느 요청 메시지에 대한 응답인지를 식별할 수 있는 정보를 나타낸다. Meanwhile, the publish packet includes a fixed header, a variable header, and a payload region, and the fixed header includes a QoS level field, a duplicate transmission flag field, and a packet type field, which include information on the QoS level of the packet or relay protocol. The variable header may include a topic name field and a packet identification field. The payload area may include a request message and request information may be included in the request message. The request identification information may be included in a response message later to identify information on which request message the response message is a response to.
필요에 따라, 수신부(2330)는 퍼블리쉬 패킷에 대한 응답 정보를 포함하는 퍼블리쉬 확인 패킷을 중계 서버로부터 수신할 수도 있다. 퍼블리쉬 확인 패킷은 퍼블리쉬 패킷의 정상 수신 여부에 대한 정보를 포함할 수 있다. If necessary, the receiving
또한, 송신부(2320)는 응답 메시지를 포함하는 퍼블리쉬 패킷에 대한 확인 정보를 퍼블리쉬 확인 패킷에 포함하여 중계 서버로 전송한다. 퍼블리쉬 확인 패킷은 퍼블리쉬 패킷의 정상 수신 여부에 대한 정보를 포함할 수 있다. 또한, 전술한 바와 같이, 응답 메시지는 퍼블리쉬 패킷의 페이로드에 포함될 수 있으며, 요청 식별정보 및 응답 상태 코드 정보를 포함할 수 있다. 요청 식별정보는 요청 메시지와 동일한 값으로 설정되어, 해당 응답 메시지가 어느 요청 메시지에 대한 응답 결과를 포함하는지를 지시할 수 있다. 응답 상태 코드는 해당 요청 메시지에서 요구하는 절차의 처리 결과에 대한 코드 값을 포함한다.In addition, the
이 외에도, 제어부(2310)는 본 실시예에 따른 중계 서버를 이용하여 요청 메시지를 전송하고, 응답 메시지를 수신하는 데에 따른 전반적인 M2M 장치(2300)의 동작을 제어한다. In addition, the
또한, 송신부(2320) 및 수신부(2330)는 중계 서버, 타 M2M 장치, 중계 클라이언트 모듈 중 적어도 하나와 본 실시예를 수행하는 데에 필요한 메시지, 신호 및 데이터를 송수신하는 데에 사용된다. In addition, the
도 24는 일 실시예에 따른 중계 서버의 구조를 도시한 도면이다. 24 is a diagram illustrating a structure of a relay server according to an embodiment.
도 24를 참조하면, 공인 IP(Internet Protocol) 네트워크를 통해서 M2M 장치 간의 통신을 중계하는 중계 서버(2400)는, M2M 장치 및 타 M2M 장치 각각의 중계 클라이언트 모듈로부터 연결 설정을 위한 연결 패킷을 수신하여, M2M 장치 및 타 M2M 장치 각각과의 연결을 설정하는 제어부(2410)와 M2M 장치의 중계 클라이언트 모듈로부터 타 M2M 장치로 전송하기 위한 요청 메시지를 포함하는 퍼블리쉬 패킷을 수신하는 수신부(2430) 및 요청 메시지를 포함하는 퍼블리쉬 패킷을 타 M2M 장치의 중계 클라이언트 모듈로 전송하는 송신부(2420)를 포함할 수 있다. Referring to FIG. 24, the
수신부(2430)는 타 M2M 장치의 중계 클라이언트 모듈로부터 요청 메시지에 대한 응답 메시지를 포함하는 퍼블리쉬 패킷을 더 수신하고, 송신부(2420)는 응답 메시지를 포함하는 퍼블리쉬 패킷을 M2M 장치의 중계 클라이언트 모듈로 더 전송할 수 있다. The receiving
수신부(2430)는 중계 서버를 통해서 통신을 수행하고자 하는 M2M 장치들로부터 연결 패킷을 수신할 수 있다. 연결 패킷은 각각의 M2M 장치에 구성될 수 있는 중계 클라이언트 모듈로부터 수신될 수 있다. 또한, 송신부(2420)는 연결 패킷에 대한 응답 정보를 포함하는 연결 확인 패킷을 각 M2M 장치로 전송할 수 있다. The
또는, 수신부(2430)는 연결 패킷 수신, 연결 확인 패킷 전송 후에 각 M2M 장치로부터 가입 패킷을 수신하고, 송신부(2420)는 가입 패킷에 대한 가입 확인 패킷을 각 M2M 장치로 전송하여 연결 설정을 수행할 수도 있다. 예를 들어, 가입 패킷은 연결 설정을 요청하는 M2M 장치에 대한 식별정보를 포함할 수 있다. 또는, 가입 패킷은 연결 설정을 요청하는 M2M 장치의 요청 메시지 전송과 관련된 식별정보 및 응답 메시지 수신과 관련된 식별정보에 대한 정보를 포함할 수 있다. 물론, 해당 M2M 장치가 M2M 네트워크를 사용하는 사물 통신 장치 패킷임을 지시하는 정보도 포함될 수 있다. Alternatively, the
한편, 중계 서버(2400)는 M2M 시스템을 구성하는 노드인 미들 노드 및 인프라 노드와는 독립적으로 구성될 수 있다. 이 경우에 미들 노드 및 인프라 노드는 중계 클라이언트 모듈을 이용하여 독립적으로 구성된 중계 서버와 통신을 수행할 수 있다. Meanwhile, the
또는, 중계 서버(2400)는 M2M 시스템을 구성하는 노드인 미들 노드 또는 인프라 노드에 구성될 수도 있다. 이 경우에도 중계 서버와 미들 노드 또는 인프라 노드에 구성되는 각 개체와 통신을 수행하기 위한 중계 클라이언트 모듈은 각 노드에 같이 구성될 수 있다. Alternatively, the
한편, 퍼블리쉬 패킷은 사물 통신 메시지임을 지시하는 정보, 메시지 타입을 지시하는 정보(요청 또는 응답), 발신자의 식별정보 및 수신자의 식별정보를 포함할 수 있다. 또는, 퍼블리쉬 패킷은 고정 헤더, 가변 헤더 및 페이로드 영역으로 구성되며, 고정 헤더는 패킷 또는 중계 프로토콜의 QoS 레벨에 대한 정보를 포함하는 QoS 레벨 필드, 중복전송 플래그 필드 및 패킷 타입 필드를 포함하고, 가변 헤더는 토픽 네임 필드 및 패킷 식별 필드를 포함할 수 있다. Meanwhile, the publish packet may include information indicating that the message is a thing communication message, information indicating a message type (a request or response), identification information of the sender, and identification information of the receiver. Alternatively, the publish packet is composed of a fixed header, a variable header and a payload area, the fixed header includes a QoS level field, information on the QoS level of the packet or relay protocol, a duplicate transmission flag field and a packet type field, The variable header may include a topic name field and a packet identification field.
필요에 따라, 송신부(2420)는 퍼블리쉬 패킷에 대한 응답 정보를 포함하는 퍼블리쉬 확인 패킷을 M2M 장치로 전송할 수도 있다. 퍼블리쉬 확인 패킷은 퍼블리쉬 패킷의 정상 수신 여부에 대한 정보를 포함할 수 있다. If necessary, the
또한, 제어부(2410)는 퍼블리쉬 패킷이 수신되면, 해당 퍼블리쉬 패킷에서 지시하는 대상 타 M2M 장치에 대한 식별정보를 확인하고, 송신부(2420)는 연결 설정된 타 M2M 장치의 중계 클라이언트 모듈로 요청 메시지를 포함하는 퍼블리쉬 패킷을 전송할 수 있다. 즉, 제어부(2410)는 중계 클라이언트 모듈로부터 퍼블리쉬 패킷이 수신되면, 토픽 네임을 참조하여 해당 패킷을 수신자 측의 중계 클라이언트 모듈로 전송한다. 수신부(2430)는 타 M2M 장치로부터 요청 메시지를 포함하는 퍼블리쉬 패킷에 대한 수신 확인을 지시하는 퍼블리쉬 확인 패킷을 수신할 수 있다. 또한, 송신부(2420)는 퍼블리쉬 패킷에 대한 퍼블리쉬 확인 패킷을 타 M2M 장치로 전송할 수 있다. 또한, 수신부(2430)는 M2M 장치로부터 퍼블리쉬 확인 패킷을 수신할 수 있다. When the publish packet is received, the
이 외에도, 제어부(2410)는 본 실시예에 따른 중계 서버를 이용하여 요청 메시지를 전송하고, 응답 메시지를 수신하는 데에 따른 전반적인 중계 서버(2400)의 동작을 제어한다. In addition, the
또한, 송신부(2420) 및 수신부(2430)는 타 중계 서버, M2M 장치, 타 M2M 장치, 중계 클라이언트 모듈 중 적어도 하나와 본 실시예를 수행하는 데에 필요한 메시지, 신호 및 데이터를 송수신하는 데에 사용된다. In addition, the
전술한 실시예에서 언급한 표준내용 또는 표준문서들은 명세서의 설명을 간략하게 하기 위해 생략한 것으로 본 명세서의 일부를 구성한다. 따라서, 위 표준내용 및 표준문서들의 일부의 내용을 본 명세서에 추가하거나 청구범위에 기재하는 것은 본 발명의 범위에 해당하는 것으로 해석되어야 한다. The standard contents or standard documents mentioned in the above embodiments are omitted to simplify the description of the specification and form a part of the present specification. Therefore, the addition of the contents of the standard and part of the standard documents to the specification or the description in the claims should be construed as falling within the scope of the present invention.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those skilled in the art to which the present invention pertains may make various modifications and changes without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.
CROSS-REFERENCE TO RELATED APPLICATIONCROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은 2017년 04월 27일 한국에 출원한 특허출원번호 제 10-2017-0054667 호 및 2017년 05월 24일 한국에 출원한 특허출원번호 제 10-2017-0064401 호 및 2018년 04월 12일 한국에 출원한 특허출원번호 제 10-2018-0042814 호에 대해 미국 특허법 119(a)조 (35 U.S.C § 119(a))에 따라 우선권을 주장하며, 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다. 아울러, 본 특허출원은 미국 이외에 국가에 대해서도 위와 동일한 이유로 우선권을 주장하면 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다.This patent application is filed with the patent application No. 10-2017-0054667 filed in Korea on April 27, 2017 and the patent application No. 10-2017-0064401 filed in Korea on May 24, 2017 and April 2018 Patent Application No. 10-2018-0042814, filed in Korea on 12 December, claims priority under 35 USC § 119 (a) of the United States Patent Act, all of which are hereby incorporated by reference. Incorporated into the application. In addition, if this patent application claims priority for the same reason for countries other than the United States, all its contents are incorporated into this patent application by reference.
Claims (16)
Applications Claiming Priority (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20170054667 | 2017-04-27 | ||
| KR10-2017-0054667 | 2017-04-27 | ||
| KR10-2017-0064401 | 2017-05-24 | ||
| KR20170064401 | 2017-05-24 | ||
| KR1020180042814A KR102092100B1 (en) | 2017-04-27 | 2018-04-12 | Methods for processing M2M communication via public IP And Apparatuses thereof |
| KR10-2018-0042814 | 2018-04-12 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018199523A1 true WO2018199523A1 (en) | 2018-11-01 |
Family
ID=63919018
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2018/004373 Ceased WO2018199523A1 (en) | 2017-04-27 | 2018-04-16 | Method for processing machine to machine communication via public ip network, and apparatus therefor |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2018199523A1 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101466210B1 (en) * | 2013-09-27 | 2014-11-27 | 에스케이 텔레콤주식회사 | Method And Apparatus for Delivering Long Sentence Message to M2M Device |
| KR20150112039A (en) * | 2011-06-29 | 2015-10-06 | 프리스타일 테크놀러지 피티와이 리미티드 | Systems, methods, and/or apparatus for enabling communication between devices using different communication protocols |
| KR20160036690A (en) * | 2014-09-25 | 2016-04-05 | 가온미디어 주식회사 | Mechanism for Handling Multi-Connected M2M/IoT Device using Link |
| WO2016123778A1 (en) * | 2015-02-05 | 2016-08-11 | 华为技术有限公司 | M2m data processing method, device and system |
| US9596596B2 (en) * | 2010-02-15 | 2017-03-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Machine-to-machine device triggering using session initiation protocol uniform resourse identifier |
-
2018
- 2018-04-16 WO PCT/KR2018/004373 patent/WO2018199523A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9596596B2 (en) * | 2010-02-15 | 2017-03-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Machine-to-machine device triggering using session initiation protocol uniform resourse identifier |
| KR20150112039A (en) * | 2011-06-29 | 2015-10-06 | 프리스타일 테크놀러지 피티와이 리미티드 | Systems, methods, and/or apparatus for enabling communication between devices using different communication protocols |
| KR101466210B1 (en) * | 2013-09-27 | 2014-11-27 | 에스케이 텔레콤주식회사 | Method And Apparatus for Delivering Long Sentence Message to M2M Device |
| KR20160036690A (en) * | 2014-09-25 | 2016-04-05 | 가온미디어 주식회사 | Mechanism for Handling Multi-Connected M2M/IoT Device using Link |
| WO2016123778A1 (en) * | 2015-02-05 | 2016-08-11 | 华为技术有限公司 | M2m data processing method, device and system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2017003175A1 (en) | Method and apparatus for providing service in a wireless communication system | |
| WO2012141556A2 (en) | Machine-to-machine node erase procedure | |
| WO2015046960A1 (en) | Method for delivering notification message in m2m system and devices for same | |
| WO2015069038A1 (en) | Method for subscription and notification in m2m communication system and device therefor | |
| WO2018101775A1 (en) | Apparatus and method for installing and managing esim profiles | |
| WO2014185754A1 (en) | Method for subscription and notification in m2m communication system and apparatus for same | |
| WO2021066452A1 (en) | Method and device for activating 5g user | |
| WO2016024695A1 (en) | Method and apparatus for profile download of group devices | |
| WO2021054747A1 (en) | Apparatus and method for psa-upf relocation in wireless communication system | |
| WO2017057962A1 (en) | Method and apparatus for managing mcptt service | |
| WO2016195199A1 (en) | Method for processing request through polling channel in wireless communication system and apparatus therefor | |
| WO2014129802A1 (en) | Method for modifying m2m service setting and apparatus therefor | |
| WO2023277542A1 (en) | Method and apparatus for transmitting service parameter | |
| WO2022225295A1 (en) | Method and apparatus for authentication between core network devices in mobile communication system | |
| WO2021091307A1 (en) | Apparatus and method for establishing mbs service session for mbs service provision in wireless communication system | |
| WO2018062940A1 (en) | Method for managing mission critical video (mcvideo) communications in off-network mcvideo communication system | |
| WO2016013846A1 (en) | Method for processing request message in wireless communication system and apparatus therefor | |
| WO2012081882A2 (en) | Method and apparatus for reliably transmitting group multicast using a cell broadcasting technique in a mobile communication system | |
| WO2016204514A1 (en) | Service implementation method and apparatus in wireless communication system | |
| EP3314931A1 (en) | Method and apparatus for providing service in a wireless communication system | |
| WO2016148527A1 (en) | Method and apparatus for generating packet in mobile communication system | |
| WO2018030861A1 (en) | Method for performing light connection control on user equipment and corresponding equipment | |
| EP3530016A1 (en) | Apparatus and method for installing and managing esim profiles | |
| WO2022092624A1 (en) | Data processing node device and information transmission method performed in same device | |
| WO2020111761A1 (en) | Method and device for repeatedly transmitting message in m2m system |
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: 18791910 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18791910 Country of ref document: EP Kind code of ref document: A1 |