KR101843067B1 - Method for providing service based on smart energy profile supporting push and apparatus using the same - Google Patents

Method for providing service based on smart energy profile supporting push and apparatus using the same Download PDF

Info

Publication number
KR101843067B1
KR101843067B1 KR1020170158091A KR20170158091A KR101843067B1 KR 101843067 B1 KR101843067 B1 KR 101843067B1 KR 1020170158091 A KR1020170158091 A KR 1020170158091A KR 20170158091 A KR20170158091 A KR 20170158091A KR 101843067 B1 KR101843067 B1 KR 101843067B1
Authority
KR
South Korea
Prior art keywords
service
payload
sep
node
packet
Prior art date
Application number
KR1020170158091A
Other languages
Korean (ko)
Inventor
최민영
한기홍
이준경
Original Assignee
주식회사 나온웍스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 나온웍스 filed Critical 주식회사 나온웍스
Priority to KR1020170158091A priority Critical patent/KR101843067B1/en
Application granted granted Critical
Publication of KR101843067B1 publication Critical patent/KR101843067B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/32
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/26
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to a method for providing a smart energy profile (SEP) 2.0 service using an apparatus based on SEP 2.0 and a SEP 2.0 service based apparatus using the same. More specifically, the apparatus analyzes a communication packet when the communication packet is obtained from a node. Based on a result of analyzing payload obtained by parsing the communication packet, the apparatus determines whether a SEP 2.0 protocol is a push or pull service and generates output payload based on the payload and whether the SEP 2.0 protocol is a push or pull service. The output payload can be transmitted to a node corresponding to a context. Therefore, the method of the present invention defines an XML schema interface in which a SEP 2.0 push service is defined.

Description

푸시를 지원하는 스마트 에너지 프로파일의 서비스 제공 방법 및 이를 이용한 장치{METHOD FOR PROVIDING SERVICE BASED ON SMART ENERGY PROFILE SUPPORTING PUSH AND APPARATUS USING THE SAME}TECHNICAL FIELD [0001] The present invention relates to a smart energy profile service providing method, and more particularly,

본 발명은 SEP 2.0(smart energy profile; 스마트 에너지 프로파일) 기반 서비스 장치를 이용하여 SEP 2.0 서비스를 제공하는 방법 및 이를 이용한 SEP 2.0 기반 서비스 장치에 관한 것이다. 구체적으로, 본 발명에 따른 서비스 장치는, 노드로부터 통신 패킷이 획득되면, 상기 통신 패킷을 분석하고, 상기 통신 패킷을 파싱(parsing)함으로써 획득된 페이로드(payload)를 분석한 결과에 기초하여, SEP 2.0 프로토콜의 PUSH 또는 PULL 서비스 여부를 결정하고, 상기 페이로드 및 상기 PUSH 또는 PULL 서비스 여부에 기초하여 출력 페이로드를 생성한다. 그 출력 페이로드는 문맥에 맞는 노드로 송신될 수 있는바, 본 발명에서는 SEP 2.0 PUSH 서비스가 정의된 XML 스키마 인터페이스를 정의한다.The present invention relates to a method for providing an SEP 2.0 service using a smart energy profile (smart energy profile) based service apparatus and a service apparatus based on the SEP 2.0 using the same. Specifically, the service apparatus according to the present invention analyzes the communication packet when a communication packet is obtained from the node, and analyzes the communication packet based on a result of analyzing a payload obtained by parsing the communication packet, Determines whether the SEP 2.0 protocol is PUSH or PULL service, and generates an output payload based on whether the payload and the PUSH or PULL service are provided. The output payload can be transmitted to the contextual node. In the present invention, an XML schema interface in which SEP 2.0 PUSH service is defined is defined.

SEP(smart energy profile; 스마트 에너지 프로파일) 2.0은 홈 영역 네트워크(HAN; home area network)에서 작동하는 각 애플리케이션 간의 표준 프로토콜을 정의한다. 표준 프로토콜을 준수하여야 하는 여러 제조사들의 입장에서 이 정의는 민감한 문제인바, 이 SEP 2.0에 있어서는 홈 영역 네트워크에 적합하게 한 RESTful 아키텍처를 이용하되, 서비스는 기능 집합(function set)으로 개별 정의하는 것이 좋으므로, SEP 2.0은 이처럼 개별 정의된 서비스를 XML 표준 스키마로서 제공하여 아키텍처를 구현하는 XML 페이로드 인터페이스를 제공함으로써, 이와 같은 요구를 해결하고 있다.The smart energy profile (SEP) 2.0 defines a standard protocol between each application operating in a home area network (HAN). This definition is a sensitive issue in the sense of many manufacturers who have to adhere to the standard protocol. In this SEP 2.0, it is better to use a RESTful architecture suitable for the home area network, but define the services individually as a function set SEP 2.0 addresses this need by providing an XML payload interface that implements the architecture by providing these individually defined services as an XML standard schema.

ZigBee Alliance에서 제공하는 SEP 2.0 표준 사양 문서에서 서술된 바로서, SEP 2.0 클라이언트와 서버는 PULL 메커니즘으로 동작한다. SEP 2.0을 사용하는 HAN과 그 HAN의 상위 망을 연결하려는 다양한 시도가 있지만, 페이로드 간 직접적인 상호운용은 존재하지 않는다. 또한 상위 망에서 프로토콜은 PULL 메커니즘뿐만 아니라 PUSH 메커니즘을 지원할 수 있는바, 보다 완벽한 상호 운용 서비스를 위하여는 SEP 2.0도 PUSH 서비스를 지원해야 할 필요성을 본 발명자가 제기하는 것이다. 이에 따른 유연성은 서비스의 품질을 높이는 데에도 도움이 된다.As described in the SEP 2.0 standard specification document provided by the ZigBee Alliance, SEP 2.0 clients and servers operate as pull mechanisms. There are various attempts to connect the HAN using SEP 2.0 and its HAN network, but there is no direct interoperability between the payloads. Also, in the upper network, the protocol can support not only the PULL mechanism but also the PUSH mechanism. For the more perfect interoperable service, the inventor of the present invention needs to support the PUSH service in SEP 2.0. This flexibility also helps to improve the quality of service.

비특허문헌 1: Smart Energy Profile 2.0 Application Protocol Standard - IEEE Xplore, http://ieeexplore.ieee.org/iel7/6552203/6552204/06552205.pdfNon-Patent Document 1: Smart Energy Profile 2.0 Application Protocol Standard - IEEE Xplore, http://ieeexplore.ieee.org/iel7/6552203/6552204/06552205.pdf

본 발명은 HAN에서 수행되는 노드 간 서비스와 상기 네트워크의 상위 노드 간의 프로토콜 서비스를 상호 운용이 가능한 SEP 2.0 PUSH 서비스로서 제공하는 방법 및 장치를 제공하는 것을 목적으로 한다.It is an object of the present invention to provide a method and apparatus for providing inter-node services performed in a HAN and protocol services between upper nodes of the network as an interoperable SEP 2.0 PUSH service.

상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한 본 발명의 특징적인 구성은 하기와 같다.The characteristic configuration of the present invention for achieving the object of the present invention as described above and realizing the characteristic effects of the present invention described below is as follows.

본 발명의 일 태양에 따르면, SEP 2.0 기반 서비스 장치를 이용하여 SEP(smart energy profile; 스마트 에너지 프로파일) 2.0 서비스를 제공하는 방법이 제공되는바, 그 방법은, (a) 노드로부터 통신 패킷이 획득되면, 서비스 장치가, 상기 통신 패킷을 분석하는 단계; 및 (b) 상기 통신 패킷을 파싱함으로써 획득된 페이로드를 분석한 결과에 기초하여, 상기 서비스 장치가, SEP 2.0 프로토콜의 PUSH 또는 PULL 서비스 여부를 결정하고, 상기 페이로드 및 상기 PUSH 또는 PULL 서비스 여부에 기초하여 출력 페이로드를 생성하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method of providing a smart energy profile (SEP) 2.0 service using a SEP 2.0-based service device, the method comprising: (a) The service device analyzing the communication packet; And (b) determining whether the service device is a PUSH or pull service of the SEP 2.0 protocol based on a result of analyzing a payload obtained by parsing the communication packet, and determining whether the payload and the PUSH or PULL service And generating an output payload based on the output payload.

본 발명의 다른 태양에 따르면, 본 발명에 따른 방법을 수행하도록 구현된 명령어들(instructions)을 포함하는, 매체에 저장된 컴퓨터 프로그램도 제공된다.According to another aspect of the present invention, there is also provided a computer program stored on a medium, comprising instructions embodied to perform the method according to the present invention.

본 발명의 또 다른 태양에 따르면, SEP 2.0 서비스를 제공하는 SEP 2.0 기반 서비스 장치가 제공되는바, 그 서비스 장치는, 노드로부터 통신 패킷을 획득하는 통신부, 및 상기 통신 패킷이 획득되면, 상기 통신 패킷을 분석하는 프로세서를 포함하되, 상기 프로세서는, 상기 통신 패킷을 파싱함으로써 획득된 페이로드를 분석한 결과에 기초하여, SEP 2.0 프로토콜의 PUSH 또는 PULL 서비스 여부를 결정하고, 상기 페이로드 및 상기 PUSH 또는 PULL 서비스 여부에 기초하여 출력 페이로드를 생성한다.According to still another aspect of the present invention, there is provided an SEP 2.0-based service apparatus for providing an SEP 2.0 service, comprising: a communication unit for acquiring a communication packet from a node; Wherein the processor determines whether the PUSH or PULL service of the SEP 2.0 protocol is based on a result of analyzing the payload obtained by parsing the communication packet, and wherein the payload and the PUSH And generates an output payload based on whether or not the service is PULL service.

본 발명에 의하면, SEP 2.0 프로토콜을 이용하지 않고 그리드 망에 참가하는 노드가 수행하는 프로토콜 서비스를 PUSH 또는 PULL 설계에 상관 없이, 노드 간 상호 운용을 가능하게 한다.According to the present invention, protocol services performed by nodes participating in a grid network can be interoperated with each other regardless of PUSH or PULL design without using the SEP 2.0 protocol.

본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 사람(이하 “통상의 기술자”라 함)에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명에 따른 SEP 2.0 기반 서비스 제공 방법이 수행되는 시스템을 노드로서 구성 및 정의함으로써 각 노드에서의 PUSH 서비스를 표현한 시퀀스 다이어그램(sequence diagram)이다.
도 2는 도 1에서 도시된 제1 노드를 제외한 각 노드로서 구현되는 SEP 2.0 기반 서비스 장치의 블록도이다.
도 3은 본 발명에 따른 SEP 2.0 기반 서비스 장치의 SEP 2.0 서비스부의 블록도이다.
도 4는 본 발명에 따라 SEP 2.0 기반 서비스 장치의 SEP 2.0 서비스부가 본 발명에 따라 PUSH 서비스 및 종래의 PULL 서비스를 수행하는 단계의 각 세부 단계를 개략적으로 도시한 흐름도이다.
도 5는 최상위 SEP 2.0 XML 스키마 인터페이스 클래스 다이어그램이다.
도 6은 SEP 2.0 XML 스키마의 재정의 항목 및 PUSH 요청 페이로드 인터페이스를 개념적으로 도시한 도면이다.
도 7은 SEP 2.0 XML 스키마의 재정의 항목 및 PUSH 응답 페이로드 인터페이스를 개념적으로 도시한 도면이다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention to those skilled in the art Other drawings can be obtained based on these figures without an inventive task being performed.
FIG. 1 is a sequence diagram illustrating a PUSH service at each node by configuring and defining a system in which a method for providing a SEP 2.0-based service according to the present invention is implemented as a node.
2 is a block diagram of a SEP 2.0-based service device implemented as each node except the first node illustrated in FIG.
3 is a block diagram of an SEP 2.0 service unit of a SEP 2.0-based service apparatus according to the present invention.
FIG. 4 is a flowchart schematically illustrating sub-steps of performing a PUSH service and a conventional pull service according to the present invention in an SEP 2.0 service unit of an SEP 2.0-based service apparatus according to the present invention.
5 is a top-level SEP 2.0 XML schema interface class diagram.
FIG. 6 is a diagram conceptually showing an item of redefinition of the SEP 2.0 XML schema and a PUSH request payload interface.
FIG. 7 conceptually illustrates an item of redefinition of the SEP 2.0 XML schema and a PUSH response payload interface.

후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.The following detailed description of the invention refers to the accompanying drawings, which illustrate, by way of example, specific embodiments in which the invention may be practiced in order to clarify the objects, technical solutions and advantages of the invention. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention.

그리고 본 발명의 상세한 설명 및 청구항들에 걸쳐, '포함하다'라는 단어 및 그 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.And throughout the description and claims of this invention, the word 'comprise' and variations thereof are not intended to exclude other technical features, additions, elements or steps. Other objects, advantages and features of the present invention will become apparent to those skilled in the art from this description, and in part from the practice of the invention. The following examples and figures are provided by way of illustration and are not intended to limit the invention.

더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 사상 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 사상 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. Moreover, the present invention encompasses all possible combinations of embodiments shown herein. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in connection with one embodiment. It should also be understood that the position or arrangement of individual components within each disclosed embodiment may be varied without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is to be limited only by the appended claims, along with the full scope of equivalents to which such claims are entitled, if properly explained. In the drawings, like reference numerals refer to the same or similar functions throughout the several views.

본 명세서에서 달리 표시되거나 분명히 문맥에 모순되지 않는 한, 단수로 지칭된 항목은, 그 문맥에서 달리 요구되지 않는 한, 복수의 것을 아우른다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Unless otherwise indicated herein or clearly contradicted by context, items referred to in the singular are intended to encompass a plurality unless otherwise specified in the context. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

이하, 통상의 기술자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, so that those skilled in the art can easily carry out the present invention.

<본 발명의 &Lt; SEPSEP 2.0 기반 서비스 제공 방법이 수행되는 시스템의 예시> Example of a system in which a 2.0-based service providing method is performed>

도 1은 본 발명에 따른 SEP 2.0 기반 서비스 제공 방법이 수행되는 시스템을 노드로서 구성 및 정의함으로써 각 노드에서의 PUSH 서비스를 표현한 시퀀스 다이어그램(sequence diagram)이다.FIG. 1 is a sequence diagram illustrating a PUSH service at each node by configuring and defining a system in which a method for providing a SEP 2.0-based service according to the present invention is implemented as a node.

본 명세서에서 '노드' 또는 '통신 노드'라고 함은 통신부 및 프로세서를 포함하는 컴퓨팅 장치를 일컫는바, 이 노드는 상기 통신부를 통하여 외부 컴퓨팅 장치, 즉 다른 노드와 직간접적으로 통신할 수 있다.The term 'node' or 'communication node' as used herein refers to a computing device including a communication unit and a processor, which can directly or indirectly communicate with an external computing device, that is, another node through the communication unit.

구체적으로, 상기 노드는, 전형적인 컴퓨터 하드웨어(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 결합 스토리지(NAS; network-attached storage) 및 스토리지 영역 네트워크(SAN; storage area network)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어{즉, 노드로 하여금 특정의 방식으로 기능하게 하는 명령어들(instructions)}의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.Specifically, the node may be a computer-readable medium such as conventional computer hardware (e.g., a computer processor, memory, storage, input device and output device, an apparatus that may include other components of a conventional computing device, an electronic communication device such as a router, Electronic information storage systems such as network-attached storage (NAS) and storage area network (SAN)) and computer software (i.e., instructions that cause a node to function in a particular manner) } May be used to achieve the desired system performance.

이와 같은 노드의 통신부는 연동되는 타 노드와 요청과 응답을 송수신할 수 있는바, 일 예시로서 그러한 요청과 응답은 동일한 TCP(transmission control protocol) 세션(session)에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP(user datagram protocol) 데이터그램(datagram)으로서 송수신될 수도 있을 것이다. 덧붙여, 넓은 의미에서 상기 통신부는 명령어 또는 지시 등을 전달받기 위한 키보드, 마우스, 기타 외부 입력장치를 포함할 수 있다.The communication unit of such a node can send and receive requests and responses to and from other interworking nodes. As an example, such requests and responses can be made by the same transmission control protocol (TCP) session, But may also be transmitted and received as a user datagram protocol (UDP) datagram, for example. In addition, in a broad sense, the communication unit may include a keyboard, a mouse, and other external input devices for receiving commands or instructions.

또한, 노드의 프로세서는 MPU(micro processing unit), CPU(central processing unit) 또는 GPU(graphic processing unit), 캐시 메모리(cache memory), 데이터 버스(data bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.The processor of the node may also include hardware configurations such as a micro processing unit (MPU), a central processing unit (CPU) or a graphics processing unit (GPU), a cache memory, a data bus, It may further include a software configuration of an operating system and an application that performs a specific purpose.

도 1을 참조하면, 제1 노드는 서비스 최상위 노드로서, 제2 노드에게 상위 서비스를 제공하는 노드이다. 제1 노드는 제2 노드에게 문맥상 상호 운용이 가능해야 하며, 제공하는 프로토콜 서비스는 PUSH 또는 PULL로 동작할 수 있다. 제1 노드의 일 예시로서, OpenADR 2.0b 서비스를 수행하는 VTN(virtual top node, VTN)이 있는데, 이에 한정되지 않음을 통상의 기술자는 이해할 수 있을 것이다.Referring to FIG. 1, a first node is a service top node, and is a node that provides an upper service to a second node. The first node must be able to interoperate contextually with the second node, and the provided protocol service can operate as PUSH or PULL. As an example of the first node, there is a virtual top node (VTN) that performs an OpenADR 2.0b service, but it will be understood by those of ordinary skill in the art that the present invention is not limited thereto.

계속해서 도 1을 참조하면, 제2 노드는 SEP 2.0 프로토콜을 이용하는 EMS일 수 있다. 그 구체적인 예에는 HEMS 등이 있다. 제1 노드와 제2 노드 간의 통신에서는 제1 노드가 이용하는 프로토콜이 이용되며, 제2 노드와 제3 노드 간의 통신에는 SEP 2.0이 이용된다. 또한, 상위 노드와의 통신이 수행될 수 있도록 선택적으로 상위 프로토콜 서비스가 제2 노드에서 구현될 수 있다. 상기 상위 프로토콜 서비스의 일 예시에는 OpenADR 2.0b가 있으며, 제1 노드인 VTN과 통신하는 VEN(virtual end node, VEN)로서 구현될 수 있다.Continuing to refer to FIG. 1, the second node may be an EMS using the SEP 2.0 protocol. Specific examples thereof include HEMS and the like. A protocol used by the first node is used for communication between the first node and the second node, and SEP 2.0 is used for communication between the second node and the third node. In addition, an upper protocol service may optionally be implemented at the second node so that communication with the upper node may be performed. One example of the higher protocol service is OpenADR 2.0b, which can be implemented as a virtual end node (VEN) that communicates with the first node, VTN.

전술한 제1 노드와 제2 노드의 프로토콜 통신 사양 및 그 구현은 해당 프로토콜 표준 사양을 준수한다. 상기 구현은 본 발명에 따른 SEP 2.0 기반 서비스 제공 방법 및 그 장치와는 독립적인바, 즉 무관하다.The protocol communication specification and implementation of the first node and the second node described above comply with the corresponding protocol standard specification. The above implementation is independent of, or independent of, the method and apparatus for providing SEP 2.0-based services according to the present invention.

또한, 제3 노드는 제4 노드를 관리하고, 제4 노드와 제2 노드의 통신을 중계하는 agent로서 작동한다. 장치의 최적화를 위하여 제3 노드에는 제1 노드와 제2 노드 간의 프로토콜 통신에 필요한 서비스 기능이 들어가지 않아도 무방하다.Further, the third node manages the fourth node, and acts as an agent relaying communication between the fourth node and the second node. In order to optimize the apparatus, the third node does not have to include a service function required for protocol communication between the first node and the second node.

그리고 제4 노드는 SEP 2.0의 기능을 수행하는 종단 장치(end device)이다. 장치의 최적화를 위하여 제4 노드에는 제1 노드와 제2 노드 간의 프로토콜 통신에 필요한 서비스 기능이 들어가지 않아도 무방하다.And the fourth node is an end device that performs the functions of SEP 2.0. In order to optimize the apparatus, the fourth node may not include a service function required for protocol communication between the first node and the second node.

<< SEPSEP 2.0 기반 서비스 장치의 예시> Example of a 2.0-based service device>

도 2는 도 1에서 도시된 제1 노드를 제외한 각 노드로서 구현되는 SEP 2.0 기반 서비스 장치의 블록도이다.2 is a block diagram of a SEP 2.0-based service device implemented as each node except the first node illustrated in FIG.

도 2에는, 패킷 수신부(210), 서비스 분석부(220), SEP 2.0 서비스부(230), 제1 노드 프로토콜 서비스부(240) 및 패킷 송신부(250)가 예시적으로 도시되어 있는바, 전술한 컴퓨팅 장치의 통신부가 패킷 수신부(210) 및 패킷 송신부(250)의 역할을 할 수 있으며, 컴퓨팅 장치의 프로세서가 서비스 분석부(220), SEP 2.0 서비스부(230) 및 제1 노드 프로토콜 서비스부(240)의 기능을 할 수도 있음은 물론이다.2, the packet receiving unit 210, the service analyzing unit 220, the SEP 2.0 service unit 230, the first node protocol service unit 240, and the packet transmitting unit 250 are exemplarily shown, A communication unit of a computing device may serve as a packet receiving unit 210 and a packet transmitting unit 250. The processor of the computing device may be a service analyzing unit 220, an SEP 2.0 service unit 230, (240).

도 2를 참조하면, 본 발명에 따라 SEP(smart energy profile; 스마트 에너지 프로파일) 2.0 기반 서비스 장치를 이용하여 SEP 2.0 서비스를 제공하는 방법(이하 "SEP 2.0 서비스 제공 방법"이라 함)은, 노드로부터 통신 패킷이 획득되면, 서비스 장치(200)가, 상기 통신 패킷을 분석하는 단계(S100; 미도시)를 포함한다.Referring to FIG. 2, a method for providing an SEP 2.0 service using a smart energy profile (SEP) 2.0-based service device according to the present invention (hereinafter referred to as a "SEP 2.0 service providing method" When the communication packet is obtained, the service apparatus 200 includes a step S100 (not shown) of analyzing the communication packet.

구체적으로 이 단계(S100)의 일 실시예는, 그 세부 단계로서, 상기 노드로부터 통신 패킷이 수신되면, 패킷 수신부(210)가, 상기 패킷 및 상기 패킷의 송수신 노드 정보를 획득하는 단계(S110; 미도시)를 포함한다.Specifically, in one embodiment of this step S100, as a detailed step, when a communication packet is received from the node, the packet receiving unit 210 obtains the packet and transmission / reception node information of the packet (S110; (Not shown).

여기에서 송수신 노드 정보는, 예를 들어, 프로토콜의 PUSH 또는 PULL 서비스를 위한 송수신 노드의 IP 정보 및 포트 정보가 있으며, 상기 서비스를 위하여 필요한 경우에는 노드 ID와 같은 추가 정보가 포함될 수도 있다.Here, the transmission / reception node information includes, for example, IP information and port information of a transmission / reception node for a PUSH or PULL service of a protocol, and additional information such as a node ID may be included if necessary for the service.

다음으로, 이 실시예는, 상기 패킷 및 상기 송수신 노드 정보가 획득되면, 서비스 분석부(220)가, 상기 패킷을 파싱함으로써, HTTP 정보, 페이로드 프로토콜 명 및 페이로드를 획득하는 단계(S120; 미도시)를 더 포함한다.Next, in this embodiment, the service analyzing unit 220 obtains the HTTP information, the payload protocol name, and the payload by parsing the packet when the packet and the transmission / reception node information are acquired (S120; (Not shown).

여기에서 HTTP 정보는, 예를 들어, 페이로드 전송 방식 또는 리소스 정보와 같은 RESTful 아키텍처를 수행하는 데 필요한 정보일 수 있다. 또한, 페이로드 전송 방식은 HTTP 요청 또는 HTTP 응답일 수 있다.Here, the HTTP information may be information required to perform a RESTful architecture such as payload transmission method or resource information. In addition, the payload transmission method may be an HTTP request or an HTTP response.

한편, 단계(S110)에서 패킷의 수신에 실패하면, 패킷 수신부(210)는, 후술할 패킷 송신부(250)에 실패를 보고함으로서, 패킷 송신부(250)로 하여금 SEP 2.0 PUSH 서비스가 수행 가능한 타 노드에 실패를 보고하게 할 수 있다.If the packet reception unit 210 fails to receive the packet in step S110, the packet reception unit 210 reports the failure to the packet transmission unit 250 to be described later, so that the packet transmission unit 250 transmits the failure to the other node To report failure.

다음으로, 이 실시예는, 서비스 분석부(220)가, 상기 송수신 노드 정보, 상기 HTTP 정보 및 상기 페이로드 프로토콜 명을 이용하여 상기 패킷의 유효성을 확인하는 단계(S130; 미도시)를 더 포함한다.Next, this embodiment further includes a step (S130) of checking whether the service analysis unit 220 validates the packet using the transmission / reception node information, the HTTP information, and the payload protocol name do.

다시 도 2를 참조하면, 본 발명에 따른 SEP 2.0 서비스 제공 방법은, 상기 통신 패킷을 파싱함으로써 획득된 페이로드를 서비스 분석부(220)에 의하여 분석한 결과에 기초하여, 서비스 장치(200)가, SEP 2.0 프로토콜의 PUSH 또는 PULL 서비스 여부를 결정하고, 상기 페이로드 및 상기 PUSH 또는 PULL 서비스 여부에 기초하여 출력 페이로드를 생성하는 단계(S200; 미도시)를 더 포함한다. 상기 분석에 실패하면, 서비스 분석부(220)는, 패킷 송신부(250)에 실패를 보고함으로써, 패킷 송신부(250)로 하여금 상기 타 노드에 실패를 보고하게 할 수 있다.2, the method for providing an SEP 2.0 service according to the present invention is a method for providing a service to a service device 200 based on a result of analyzing a payload obtained by parsing the communication packet by the service analyzer 220 , Determining whether the SEP 2.0 protocol is PUSH or PULL service, and generating an output payload based on whether the payload and the PUSH or PULL service are provided (S200; not shown). If the analysis fails, the service analysis unit 220 may report the failure to the packet transmission unit 250, and cause the packet transmission unit 250 to report the failure to the other node.

구체적으로 단계(S200)의 일 실시예는, 서비스 분석부(220)가, 상기 페이로드가 존재하지 않으면, (i) 상기 페이로드 프로토콜 명이 SEP 2.0인 경우 상기 SEP 2.0 서비스부에 상기 노드 정보 및 상기 HTTP 정보를 전달하는 프로세스를 수행하고, 상기 페이로드가 존재하면, (ii) 상기 페이로드 프로토콜 명이 SEP 2.0인 경우 상기 SEP 2.0 서비스부에 상기 노드 정보, 상기 HTTP 정보 및 상기 페이로드를 전달하는 프로세스를 수행하는 단계(S210; 미도시)를 포함한다.Specifically, in an embodiment of the step S200, if the payload does not exist, the service analyzer 220 determines whether the payload protocol name is SEP 2.0, (Ii) transmitting the node information, the HTTP information, and the payload to the SEP 2.0 service unit when the payload protocol name is SEP 2.0; (S210) (not shown).

단계(S210)의 상기 (i) 프로세스에서, 상기 페이로드 프로토콜 명이 SEP 2.0이 아닌 경우 제1 노드 프로토콜 서비스부(240)에 상기 노드 정보 및 상기 HTTP 정보가 전달될 수 있으며, 단계(S210)의 상기 (ii) 프로세스에서, 상기 페이로드 프로토콜 명이 SEP 2.0이 아닌 경우 상기 제1 노드 프로토콜 서비스부(240)에 상기 노드 정보, 상기 HTTP 정보 및 상기 페이로드가 전달될 수 있다.If the payload protocol name is not SEP 2.0 in the process (i) of step S210, the node information and the HTTP information may be transmitted to the first node protocol service unit 240. In step S210, In the process (ii), if the payload protocol name is not SEP 2.0, the node information, the HTTP information, and the payload may be transmitted to the first node protocol service unit 240.

다음으로 단계(S200)의 이 실시예는, SEP 2.0 서비스부(230)가, 서비스 분석부(220)로부터 상기 페이로드를 수신하면, (i) 상기 노드 정보, 상기 HTTP 정보, 상기 페이로드를 이용하여 문맥에 적합한 응답 페이로드를 생성하는 프로세스를 수행하고, 상기 페이로드가 존재하지 않고 상기 노드로부터 서비스 시작 요청이 전달되면, (ii) 서비스 분석부(220)로부터 수신된 상기 노드 정보, 상기 HTTP 정보를 이용하여 문맥에 적합한 PUSH 또는 PULL 서비스를 수행하는 요청 페이로드를 생성하는 프로세스를 수행함으로써 상기 응답 페이로드 또는 상기 요청 페이로드를 출력 페이로드로서 생성하는 단계(S220; 미도시)를 더 포함한다.Next, the embodiment of step S200 is configured such that when the SEP 2.0 service unit 230 receives the payload from the service analysis unit 220, it transmits (i) the node information, the HTTP information, (Ii) the node information received from the service analysis unit 220, and the node information received from the service analysis unit 220, and (S220) (not shown) of generating the response payload or the request payload as an output payload by performing a process of generating a request payload that performs a PUSH or pull service suitable for a context using HTTP information .

이 실시예와 조합하여 실시될 수 있는 단계(S200)의 다른 실시예는, 제1 노드 프로토콜 서비스부(240)가, 서비스 분석부(220)로부터 상기 페이로드를 수신하면, (i) 상기 노드 정보, 상기 HTTP 정보, 상기 페이로드를 이용하여 문맥에 적합한 응답 페이로드를 생성하는 프로세스를 수행하고, 상기 페이로드가 존재하지 않고 상기 노드로부터 서비스 시작 요청이 전달되면, (ii) 상기 서비스 분석부로부터 수신된 상기 노드 정보, 상기 HTTP 정보를 이용하여 문맥에 적합한 PUSH 또는 PULL 서비스를 수행하는 요청 페이로드를 생성하는 프로세스를 수행하며, 상기 응답 페이로드 또는 상기 요청 페이로드가 출력 페이로드로서 생성되면, 상기 출력 페이로드를 패킷 송신부(250)에 전달하는 단계(S220'; 미도시)를 포함할 수 있다. 반면, 출력 페이로드 생성에 실패하면, 제1 노드 프로토콜 서비스부(240)가, 패킷 송신부(250)에 실패를 보고함으로써 패킷 송신부(250)로 하여금 상기 타 노드에 실패를 보고하게 할 수 있다.Another embodiment of step S200 that can be implemented in combination with this embodiment is that when the first node protocol service unit 240 receives the payload from the service analysis unit 220, (i) (Ii) if the payload does not exist and a service start request is transmitted from the node, (ii) the service analyzing unit performs a process of generating a response payload suitable for the context using the HTTP information and the payload, When the response payload or the request payload is generated as an output payload, a request payload for performing a PUSH or PULL service suitable for the context is generated using the node information and the HTTP information received from the node , And transmitting the output payload to the packet transmission unit 250 (S220 ', not shown). On the other hand, if the output payload generation fails, the first node protocol service unit 240 may report the failure to the packet transmission unit 250, thereby causing the packet transmission unit 250 to report the failure to the other node.

지금까지 언급된 단계(S100) 및 단계(S200)에서는, 재정의된 SEP 2.0의 표준 스키마 인터페이스가 참조되는바, 이에 관하여는 도 5 내지 7을 참조하여 후술하기로 한다.In the steps (S100) and (S200) mentioned above, the standard schema interface of the redefined SEP 2.0 is referred to, which will be described later with reference to Figs. 5 to 7.

계속해서 도 2를 참조하면, 본 발명에 따른 SEP 2.0 서비스 제공 방법은, 상기 출력 페이로드가 생성되면, SEP 2.0 서비스부(230)가, 상기 출력 페이로드를 상기 패킷 송신부에 전달하는 단계(S300; 미도시)를 더 포함할 수 있다. 반면, 출력 페이로드 생성에 실패하면, SEP 2.0 서비스부(230)가, 패킷 송신부(250)에 실패를 보고함으로써 패킷 송신부(250)로 하여금 상기 타 노드에 실패를 보고하게 할 수 있다.2, when the output payload is generated, the SEP 2.0 service unit 230 transmits the output payload to the packet transmission unit (S300 (Not shown). On the other hand, if the output payload generation fails, the SEP 2.0 service unit 230 may report the failure to the packet transmission unit 250, thereby causing the packet transmission unit 250 to report the failure to the other node.

다음으로, 본 발명에 따른 SEP 2.0 서비스 제공 방법은, 상기 출력 페이로드가 획득되면, 패킷 송신부(250)가, 상기 출력 페이로드, 상기 노드 정보 및 상기 HTTP 정보를 이용하여 문맥에 적합한 송신 패킷을 생성하는 단계(S400; 미도시); 및 패킷 송신부(250)가, 상기 송신 패킷의 생성이 완료되면, (i) 상기 송신 패킷을 상기 노드 정보에 포함된 수신 노드 정보에 기초하여 적합한 수신 노드에 송신하는 프로세스를 수행하고, 상기 송신 패킷의 생성에 실패하면, (ii) SEP 2.0 PUSH 서비스가 수행 가능한 타 노드에 실패를 보고하는 프로세스를 수행하는 단계(S500; 미도시)를 포함할 수 있다. 여기에서, 적합한 수신 노드란 문맥에 맞게 출력 페이로드가 송신될 노드를 의미한다.Next, in the method of providing an SEP 2.0 service according to the present invention, when the output payload is acquired, the packet transmission unit 250 transmits a transmission packet suitable for the context using the output payload, the node information, and the HTTP information (S400; not shown); And the packet transmission unit 250 perform the process of (i) transmitting the transmission packet to the appropriate receiving node based on the receiving node information included in the node information, (Ii) performing a process of reporting a failure to another node where the SEP 2.0 PUSH service is capable (S500; not shown). Here, a suitable receiving node means a node to which the output payload is to be transmitted according to the context.

여기에서 SEP 2.0 PUSH 서비스가 수행 가능한 타 노드란, 본 발명에 따른 SEP 2.0 서비스 제공 방법을 구현하는 SEP 2.0 기반의 타 서비스 장치일 수 있음을 통상의 기술자는 이해할 수 있을 것이다.It will be understood by those skilled in the art that another node capable of performing the SEP 2.0 PUSH service may be another SEP 2.0-based service device implementing the SEP 2.0 service providing method according to the present invention.

<< SEPSEP 2.0 서비스부의 예시적 블록도 및 흐름도> 2.0 Exemplary Block Diagram and Flow Diagram of Service Section>

아래에서는 전술한 SEP 2.0 서비스부(230)의 일 실시예를 보다 상세하게 설명하기로 한다.Hereinafter, one embodiment of the SEP 2.0 service unit 230 will be described in more detail.

도 3은 본 발명에 따른 SEP 2.0 기반 서비스 장치의 SEP 2.0 서비스부의 블록도이며, 도 4는 본 발명에 따라 SEP 2.0 기반 서비스 장치의 SEP 2.0 서비스부가 본 발명에 따라 PUSH 서비스 및 종래의 PULL 서비스를 수행하는 단계의 각 세부 단계를 개략적으로 도시한 흐름도이다.FIG. 3 is a block diagram of an SEP 2.0 service unit of an SEP 2.0-based service apparatus according to the present invention. FIG. 4 is a diagram illustrating a SEP 2.0 service unit of a SEP 2.0- Fig. 2 is a flowchart schematically showing each detailed step of performing the step. Fig.

도 3을 참조하면, SEP 2.0 서비스부(230)는 그 구성요소로서, 요청 페이로드 수신부(232), 서비스 설정부(234), 페이로드 생성부(236) 및 페이로드 송신부(238)를 포함할 수 있다.3, the SEP 2.0 service unit 230 includes a request payload receiving unit 232, a service setting unit 234, a payload generating unit 236, and a payload transmitting unit 238 can do.

요청 페이로드 수신부(232)는 서비스 분석부(220)로부터 페이로드를 전달 받고, 이를 다시 서비스 설정부(234)로 전달한다.The request payload receiving unit 232 receives the payload from the service analyzing unit 220 and transmits the payload to the service setting unit 234. [

서비스 설정부(234)는 타 노드(미도시)로부터 PUSH 또는 PULL 서비스 시작 요청을 바로 받을 수 있다. 또한, 서비스 설정부(234)는 요청 페이로드 수신부(232)로부터 전달 받은 페이로드를 파싱하여 XML DOM 구조로 변환시키며, 상기 구조를 분석하여 필요한 문맥 정보를 수집할 수 있다. The service setting unit 234 can directly receive a PUSH or PULL service start request from another node (not shown). The service setting unit 234 parses the payload received from the request payload receiving unit 232 and converts the payload into an XML DOM structure. The service setting unit 234 analyzes the structure to collect necessary context information.

또한, 서비스 설정부(234)는 입력 페이로드의 존재 유무에 따라 응답 서비스를 수행할지, PUSH 또는 PULL 서비스를 시작할지의 여부를 결정한다. 도 4를 참조하면, 서비스 설정부(234)는, 상기 입력 페이로드가 존재하면, 응답 서비스를 수행하는 것으로 결정하고, 상기 입력 페이로드가 존재하지 않으면, 노드로부터의 서비스 요청을 기다린다.In addition, the service setting unit 234 determines whether to perform the response service, the PUSH, or the pull service according to the presence or absence of the input payload. Referring to FIG. 4, the service setting unit 234 determines to perform the response service if the input payload exists, and waits for a service request from the node when the input payload does not exist.

서비스 설정부(234)는, 상기 문맥 정보가 존재하면, 결정된 서비스 및 문맥 정보를 페이로드 생성부(236)로 전달하고, 상기 문맥 정보가 존재하지 않으면, 페이로드 생성부로 결정된 서비스만 전달하는바, 도 4에 흐름도로 예시된 바와 같다.When the context information is present, the service setting unit 234 delivers the determined service and context information to the payload generating unit 236. If the context information does not exist, the service setting unit 234 delivers only the determined service to the payload generating unit , As illustrated in the flow chart in Fig.

도 3 및 도 4를 참조하면, 페이로드 생성부(236)는 서비스 설정부(234)로부터 받은 결정된 서비스 및 문맥 정보를 이용하여 XML 표준 스키마 인터페이스에 유효한 페이로드를 생성한다. 이 페이로드의 생성이 완료되면, 페이로드 송신부(238)로 전달된다.3 and 4, the payload generating unit 236 generates a payload valid in the XML standard schema interface using the determined service and context information received from the service setting unit 234. [ When the generation of the payload is completed, the payload is transmitted to the payload transmission unit 238.

전술한 페이로드의 생성 과정은 도 5 내지 7를 설명한 후에 상세히 예시하기로 한다.The above-described generation process of the payload will be described in detail after the description of FIGS. 5 to 7.

<< SEPSEP 2.0 표준 스키마 재정의의 예시> 2.0 Example of Overriding a Standard Schema>

도 5는 최상위 SEP 2.0 XML 스키마 인터페이스 클래스 다이어그램이며, 도 6은 SEP 2.0 XML 스키마의 재정의 항목 및 PUSH 요청 페이로드 인터페이스를 개념적으로 도시한 도면이고, 도 7은 SEP 2.0 XML 스키마의 재정의 항목 및 PUSH 응답 페이로드 인터페이스를 개념적으로 도시한 도면이다.FIG. 5 conceptually shows a top-level SEP 2.0 XML schema interface class diagram, FIG. 6 conceptually shows an override item of the SEP 2.0 XML schema and a PUSH request payload interface, FIG. 7 illustrates an override item of the SEP 2.0 XML schema, PUSH response payload interface.

본 발명에서는 도 5에 나타난 인터페이스를 재정의하여 이용하는바, 이는 SEP 2.0 PUSH 서비스의 인터페이스를 정의하는 것이다. 본 발명의 SEP 2.0 기반 서비스 제공 방법에 따르면, PULL의 경우에 기존의 SEP 2.0 표준 사양에 따라 서비스하며, PUSH의 경우에 본 명세서에 예시된 바와 같이 재정의한 XML 스키마 인터페이스를 이용하여 서비스한다. 요컨대, PUSH 서비스의 경우에는 재정의된 XML 스키마를 사용하는 것이다.In the present invention, the interface shown in FIG. 5 is redefined to define the interface of the SEP 2.0 PUSH service. According to the SEP 2.0-based service providing method of the present invention, the service is provided according to the existing SEP 2.0 standard specification in the case of PULL, and the XML Schema interface is redefined as illustrated in this specification in the case of PUSH. In short, the PUSH service uses a redefined XML schema.

다시 말하자면, 도 6은 새로 정의된, SEP 2.0 PUSH 서비스에 의하여 이용되는 요청 페이로드의 XML 스키마 인터페이스를 예시적으로 나타낸 것이다. In other words, Figure 6 is an exemplary representation of the newly defined, XML Schema interface of the request payload used by the SEP 2.0 PUSH service.

도 6에 예시된 요청 페이로드의 이름은 PushRequest로서, SEP 2.0에 일반적인 기능 집합의 상위 객체인 IdentifiedObject를 상속하고, requestID, signal, requestObjectLink 요소(element)를 정의한다.The name of the request payload illustrated in FIG. 6 is PushRequest, which inherits IdentifiedObject, which is a parent object of a general function set in SEP 2.0, and defines requestID, signal, and requestObjectLink elements.

requestID 요소는 SEP 2.0 PUSH 서비스의 트랜잭션 ID로 이용된다. signal 요소는 SEP 2.0 PUSH 서비스의 신호로서 이용된다. 이는 0부터 시작하는 정수이며, 원활한 서비스를 위하여 새로운 신호를 정의하는 데 이용될 수 있다. 예를 들어, 0은 신규, 1은 수정, 2는 삭제로 신호를 정의할 수 있으며, 여기에 3를 일시 정지로서 추가할 수도 있다.The requestID element is used as the transaction ID of the SEP 2.0 PUSH service. The signal element is used as a signal for the SEP 2.0 PUSH service. It is an integer starting from 0 and can be used to define a new signal for smooth service. For example, you can define a signal with 0 as new, 1 as correction, 2 as deletion, and add 3 as a pause here.

requestObjectLink는 추상화 요소로서, 기존의 PULL 서비스에 대한 응답으로서 제공하던 기능 객체 리스트를 구현할 수 있는 요소이다. 상기 요소는 minOccurs가 0인데, 만약 상기 요소를 생성하지 않는 경우에는 All로 취급되어, PUSH 서비스가 요청하는 노드의 모든 기능 집합을 signal로 제어할 수 있다.requestObjectLink is an abstraction element that can implement a functional object list that was provided as a response to an existing PULL service. If the element is not created, the element is treated as All, and all functions of the node requested by the PUSH service can be controlled by a signal.

한편, 도 7의 예시를 참조하면, 응답 페이로드의 이름은 PushResponse로서, 기존의 PULL 서비스에서 이용되는 응답 페이로드를 상속한다. 이에 따라 PushRequest 페이로드에서 requestObjectLink가 정의하는 객체 리스트에 응답할 수 있게 된다. requestID를 정의하자면, PushRequest 페이로드에서 이용한 requestID와 동일한 문자열이다. 동일한 requestID를 가지는 페이로드는 같은 서비스 트랜잭션에 속하는 것으로 취급된다.On the other hand, referring to the example of FIG. 7, the name of the response payload is PushResponse, and inherits the response payload used in the existing PULL service. This allows the PushRequest payload to respond to the list of objects defined by requestObjectLink. Defining the requestID is the same string as the requestID used in the PushRequest payload. Payloads with the same requestID are treated as belonging to the same service transaction.

본 발명의 기술분야에 속한 통상의 기술자는 도 6 및 도 7의 XML 스키마 재정의 항목은 예시적으로 나타난 것이며, 그 구체적인 실제 구현은 본 발명의 보호범위에서 벗어나지 않는 한 다양하게 변형될 수 있다는 점을 이해할 수 있을 것이다. 예컨대, 도 6 및 도 7에 예시된 요소들의 이름 및 그 항목의 타입(type)은 다양하게 변형될 수 있다.Those of ordinary skill in the art will recognize that the XML Schema redefinition entries in Figures 6 and 7 are exemplary and that the actual implementation thereof may be modified in various ways without departing from the scope of protection of the present invention . For example, the names of the elements illustrated in Figs. 6 and 7 and the type of the item may be variously modified.

이제 도 6 및 7과 도 4를 참조하여, 전술한 페이로드의 생성 과정을 상세히 설명한다. The generation process of the payload will now be described in detail with reference to FIGS. 6 and 7 and FIG.

상기 결정된 서비스가 응답 서비스라면, SEP 2.0 표준 스키마 인터페이스를 만족하고, 도 6 및 도 7에 대하여 유효하지 않은 페이로드는 PULL 서비스 페이로드로 판정되는바, 이 페이로드에 대한 응답은 종래의 응답과 동일하다. 또한, SEP 2.0 표준 스키마 인터페이스를 만족하고, 도 6 및 7에 유효한 페이로드는 PUSH 서비스 페이로드이다. 도 6에 유효한 페이로드이면, 상기 문맥 정보를 이용하여 도 7에 대하여 유효한 페이로드가 생성되며, 도 7에 유효한 페이로드이면, HTTP 응답만 내보내면 되므로, 빈 페이로드를 생성한다.If the determined service is a response service, a payload that satisfies the SEP 2.0 standard schema interface and is invalid for FIGS. 6 and 7 is determined as a pull service payload. same. In addition, payloads satisfying the SEP 2.0 standard schema interface and valid in Figs. 6 and 7 are PUSH service payloads. If a payload is valid in FIG. 6, a valid payload is generated for FIG. 7 using the context information. If the payload is a valid payload in FIG. 7, only an HTTP response is sent.

한편, 상기 결정된 서비스가 PUSH 서비스라면, SEP 2.0 표준 스키마 인터페이스를 만족하고, 도 6에 대하여 유효한 페이로드가 상기 문맥 정보를 이용하여 생성된다.On the other hand, if the determined service is a PUSH service, payloads satisfying the SEP 2.0 standard schema interface and valid for FIG. 6 are generated using the context information.

다른 한편, 상기 결정된 서비스가 PULL 서비스라면, 이에 대한 페이로드의 생성은 종래의 방식과 동일하다.On the other hand, if the determined service is a pull service, generation of a payload for the service is the same as that of the conventional method.

도 3 및 4를 참조하면, 페이로드 송신부(238)는 이와 같은 방식으로 완성된 페이로드를 패킷 송신부(250)로 전달함으로써, 패킷 송신부(250)로 하여금 도 2를 참조하여 앞서 설명한 기능을 수행하도록 지원한다.3 and 4, the payload transmitter 238 transmits the payload completed in this manner to the packet transmitter 250, thereby allowing the packet transmitter 250 to perform the functions described above with reference to FIG. 2 .

이와 같은 전술한 모든 실시예들에 의하여 본 발명은, SEP 2.0 프로토콜을 이용하지 않고서 그리드망에 참가하는 노드가 수행하는 프로토콜 서비스를 PUSH 또는 PULL 설계에 의존하지 않도록 함으로써 노드 간의 유연한 상호 운용을 가능하게 함으로써 서비스의 질을 향상시킬 수 있는 효과를 가진다.According to all of the above-described embodiments, the present invention enables flexible interoperation between nodes by not relying on PUSH or PULL design of protocol services performed by nodes participating in the grid network without using SEP 2.0 protocol Thereby improving the quality of service.

위 실시예의 설명에 기초하여 해당 기술분야의 통상의 기술자는, 본 발명이 소프트웨어 및 하드웨어의 결합을 통하여 달성되거나 하드웨어만으로 달성될 수 있다는 점을 명확하게 이해할 수 있다. 본 발명의 기술적 해법의 대상물 또는 선행 기술들에 기여하는 부분들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD, Blu-ray와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. Based on the description of the above embodiments, one of ordinary skill in the art can clearly understand that the present invention can be achieved through a combination of software and hardware, or can be accomplished by hardware alone. Objects of the technical solution of the present invention or portions contributing to the prior art can be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program commands, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer-readable recording medium may be those specially designed and constructed for the present invention or may be those known to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs, DVDs, Blu-ray, magnetic-optical media such as floppy disks magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.

상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 상기 하드웨어 장치는, 프로그램 명령어를 저장하기 위한 ROM/RAM 등과 같은 메모리와 결합되고 상기 메모리에 저장된 명령어들을 실행하도록 구성되는 CPU나 GPU와 같은 프로세서를 포함할 수 있으며, 외부 장치와 신호를 주고 받을 수 있는 통신부를 포함할 수 있다. 덧붙여, 상기 하드웨어 장치는 개발자들에 의하여 작성된 명령어들을 전달받기 위한 키보드, 마우스, 기타 외부 입력장치를 포함할 수 있다.The hardware device may be configured to operate as one or more software modules for performing the processing according to the present invention, and vice versa. The hardware device may include a processor, such as a CPU or a GPU, coupled to a memory, such as ROM / RAM, for storing program instructions, and configured to execute instructions stored in the memory, And a communication unit. In addition, the hardware device may include a keyboard, a mouse, and other external input devices for receiving commands generated by the developers.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 사람이라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be construed as being limited to the above-described embodiments, and all of the equivalents or equivalents of the claims, as well as the following claims, I will say.

그와 같이 균등하게 또는 등가적으로 변형된 것에는, 예컨대 본 발명에 따른 방법을 실시한 것과 동일한 결과를 낼 수 있는, 논리적으로 동치(logically equivalent)인 방법이 포함될 것이다.Equally or equivalently modified such methods will include logically equivalent methods which can yield, for example, the same results as those of the method according to the invention.

Claims (8)

SEP(smart energy profile; 스마트 에너지 프로파일) 2.0 기반 서비스 장치를 이용하여 SEP 2.0 서비스를 제공하는 방법에 있어서,
(a) 노드로부터 통신 패킷이 획득되면, 서비스 장치가, 상기 통신 패킷을 분석하는 단계; 및
(b) 상기 통신 패킷을 파싱(parsing)함으로써 획득된 페이로드(payload)를 분석한 결과에 기초하여, 상기 서비스 장치가, SEP 2.0 프로토콜의 PUSH 또는 PULL 서비스 여부를 결정하고, 상기 페이로드 및 상기 PUSH 또는 PULL 서비스 여부에 기초하여 출력 페이로드를 생성하는 단계를 포함하고,
상기 서비스 장치는 패킷 수신부, 서비스 분석부 및 SEP 2.0 서비스부를 포함하고,
상기 (a) 단계는,
(a1) 상기 노드로부터 통신 패킷이 수신되면, 상기 패킷 수신부가, 상기 패킷 및 상기 패킷의 송수신 노드 정보를 획득하는 단계;
(a2) 상기 패킷 및 상기 송수신 노드 정보가 획득되면, 상기 서비스 분석부가, 상기 패킷을 파싱함으로써, HTTP 정보, 페이로드 프로토콜 명 및 페이로드를 획득하는 단계; 및
(a3) 상기 서비스 분석부가, 상기 송수신 노드 정보, 상기 HTTP 정보 및 상기 페이로드 프로토콜 명을 이용하여 상기 패킷의 유효성을 확인하는 단계를 포함하고,
상기 (b) 단계는,
(b1) 상기 서비스 분석부가, 상기 페이로드가 존재하지 않으면, (i) 상기 페이로드 프로토콜 명이 SEP 2.0인 경우 상기 SEP 2.0 서비스부에 상기 노드 정보 및 상기 HTTP 정보를 전달하는 프로세스를 수행하고, 상기 페이로드가 존재하면, (ii) 상기 페이로드 프로토콜 명이 SEP 2.0인 경우 상기 SEP 2.0 서비스부에 상기 노드 정보, 상기 HTTP 정보 및 상기 페이로드를 전달하는 프로세스를 수행하는 단계; 및
(b2) 상기 서비스 장치의 상기 SEP 2.0 서비스부가, 상기 서비스 분석부로부터 상기 페이로드를 수신하면, (i) 상기 노드 정보, 상기 HTTP 정보, 상기 페이로드를 이용하여 문맥에 적합한 응답 페이로드를 생성하는 프로세스를 수행하고, 상기 페이로드가 존재하지 않고 상기 노드로부터 서비스 시작 요청이 전달되면, (ii) 상기 서비스 분석부로부터 수신된 상기 노드 정보, 상기 HTTP 정보를 이용하여 문맥에 적합한 PUSH 또는 PULL 서비스를 수행하는 요청 페이로드를 생성하는 프로세스를 수행함으로써 상기 응답 페이로드 또는 상기 요청 페이로드를 출력 페이로드로서 생성하는 단계를 포함하는 SEP 2.0 기반 서비스 제공 방법.
A method for providing SEP 2.0 services using a smart energy profile (SEP) 2.0-based service device,
(a) when a communication packet is obtained from a node, the service apparatus analyzing the communication packet; And
(b) determining, based on a result of analyzing a payload obtained by parsing the communication packet, whether the service device is a PUSH or pull service of the SEP 2.0 protocol, Generating an output payload based on whether the service is PUSH or PULL,
The service apparatus includes a packet receiving unit, a service analyzing unit, and an SEP 2.0 service unit,
The step (a)
(a1) when the communication packet is received from the node, the packet receiving unit acquires the packet and the transmitting / receiving node information of the packet;
(a2) if the packet and the transmission / reception node information are acquired, the service analysis unit parses the packet to obtain HTTP information, a payload protocol name, and a payload; And
(a3) the service analysis unit verifying the validity of the packet using the transmission / reception node information, the HTTP information, and the payload protocol name,
The step (b)
(b1) if the payload does not exist, (i) the node transmits the node information and the HTTP information to the SEP 2.0 service unit when the payload protocol name is SEP 2.0, Performing a process of transmitting the node information, the HTTP information, and the payload to the SEP 2.0 service unit when the payload protocol name is SEP 2.0; And
(b2) when the SEP 2.0 service unit of the service apparatus receives the payload from the service analysis unit, (i) generates a response payload suitable for the context using the node information, the HTTP information, and the payload (Ii) if the payload does not exist and a service start request is transmitted from the node, (ii) the PUSH or PULL service suitable for the context using the node information and the HTTP information received from the service analysis unit And generating the request payload or the request payload as an output payload by performing a process of generating a request payload to perform the request payload.
제1항에 있어서,
상기 (a) 단계 및 상기 (b) 단계에서,
재정의된 상기 SEP 2.0의 표준 스키마 인터페이스가 참조되는 것을 특징으로 하는 SEP 2.0 기반 서비스 제공 방법.
The method according to claim 1,
In the step (a) and the step (b)
Wherein the redefined SEP 2.0 standard schema interface is referenced.
삭제delete 삭제delete 제1항에 있어서,
상기 서비스 장치는 패킷 송신부를 더 포함하고,
상기 방법은,
(c) 상기 출력 페이로드가 생성되면, 상기 SEP 2.0 서비스부가, 상기 출력 페이로드를 상기 패킷 송신부에 전달하는 단계;
(d) 상기 출력 페이로드가 획득되면, 상기 서비스 장치의 상기 패킷 송신부가, 상기 출력 페이로드, 상기 노드 정보 및 상기 HTTP 정보를 이용하여 문맥에 적합한 송신 패킷을 생성하는 단계; 및
(e) 상기 패킷 송신부가, 상기 송신 패킷의 생성이 완료되면, (i) 상기 송신 패킷을 상기 노드 정보에 포함된 수신 노드 정보에 기초하여 적합한 수신 노드에 송신하는 프로세스를 수행하고, 상기 송신 패킷의 생성에 실패하면, (ii) SEP 2.0 PUSH 서비스가 수행 가능한 타 노드에 실패를 보고하는 프로세스를 수행하는 단계
를 더 포함하는 SEP 2.0 기반 서비스 제공 방법.
The method according to claim 1,
Wherein the service apparatus further comprises a packet transmission unit,
The method comprises:
(c) when the output payload is generated, the SEP 2.0 service unit transmits the output payload to the packet transmission unit;
(d) when the output payload is acquired, the packet transmitter of the service apparatus generates a transmission packet suitable for the context using the output payload, the node information, and the HTTP information; And
(e) when the generation of the transmission packet is completed, (i) the packet transmission unit performs a process of transmitting the transmission packet to a suitable receiving node based on the receiving node information included in the node information, (Ii) performing a process of reporting a failure to another node where the SEP 2.0 PUSH service is capable of performing,
Wherein the SEP 2.0-based service providing method further comprises:
제5항에 있어서,
상기 서비스 장치는 제1 노드 프로토콜 서비스부를 더 포함하고,
상기 (b1) 단계에 있어서,
상기 (i) 프로세스는, 상기 페이로드 프로토콜 명이 SEP 2.0이 아닌 경우 상기 제1 노드 프로토콜 서비스부에 상기 노드 정보 및 상기 HTTP 정보를 전달하는 것을 특징으로 하고,
상기 (ii) 프로세스는, 상기 페이로드 프로토콜 명이 SEP 2.0이 아닌 경우, 상기 제1 노드 프로토콜 서비스부에 상기 노드 정보, 상기 HTTP 정보 및 상기 페이로드를 전달하는 것을 특징으로 하며,
상기 (b) 단계는,
(b2') 상기 서비스 장치의 상기 제1 노드 프로토콜 서비스부가, 상기 서비스 분석부로부터 상기 페이로드를 수신하면, (i) 상기 노드 정보, 상기 HTTP 정보, 상기 페이로드를 이용하여 문맥에 적합한 응답 페이로드를 생성하는 프로세스를 수행하고, 상기 페이로드가 존재하지 않고 상기 노드로부터 서비스 시작 요청이 전달되면, (ii) 상기 서비스 분석부로부터 수신된 상기 노드 정보, 상기 HTTP 정보를 이용하여 문맥에 적합한 PUSH 또는 PULL 서비스를 수행하는 요청 페이로드를 생성하는 프로세스를 수행하며, 상기 응답 페이로드 또는 상기 요청 페이로드가 출력 페이로드로서 생성되면, 상기 출력 페이로드를 상기 패킷 송신부에 전달하는 단계
를 더 포함하는 SEP 2.0 기반 서비스 제공 방법.
6. The method of claim 5,
Wherein the service apparatus further comprises a first node protocol service unit,
In the step (b1)
The process (i) is characterized in that if the payload protocol name is not SEP 2.0, the process transfers the node information and the HTTP information to the first node protocol service unit,
The process (ii) is characterized in that if the payload protocol name is not SEP 2.0, the process transfers the node information, the HTTP information and the payload to the first node protocol service unit,
The step (b)
(b2 ') when the first node protocol service unit of the service apparatus receives the payload from the service analysis unit, (i) using the node information, the HTTP information, and the payload, (Ii) if the payload does not exist and a service start request is transmitted from the node, (ii) the node information received from the service analysis unit, the HTTP information, and the PUSH Or a request payload that performs a PULL service, and when the response payload or the request payload is generated as an output payload, transmitting the output payload to the packet transmitter
Wherein the SEP 2.0-based service providing method further comprises:
삭제delete 삭제delete
KR1020170158091A 2017-11-24 2017-11-24 Method for providing service based on smart energy profile supporting push and apparatus using the same KR101843067B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170158091A KR101843067B1 (en) 2017-11-24 2017-11-24 Method for providing service based on smart energy profile supporting push and apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170158091A KR101843067B1 (en) 2017-11-24 2017-11-24 Method for providing service based on smart energy profile supporting push and apparatus using the same

Publications (1)

Publication Number Publication Date
KR101843067B1 true KR101843067B1 (en) 2018-03-28

Family

ID=61901698

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170158091A KR101843067B1 (en) 2017-11-24 2017-11-24 Method for providing service based on smart energy profile supporting push and apparatus using the same

Country Status (1)

Country Link
KR (1) KR101843067B1 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
smart energy profile 2.0 application protocol standard , IEEE, 2013.11.11.

Similar Documents

Publication Publication Date Title
US10812345B2 (en) Automated service profiling and orchestration
US10392823B2 (en) Synthetic client
US11030020B2 (en) Asynchronous handling of service requests
JP6438037B2 (en) System and method for content caching with notification-based invalidation
EP3172859B1 (en) Interworking light weight machine-to-machine protocol with device management protocol
Verba et al. Platform as a service gateway for the Fog of Things
US20150134727A1 (en) Cloud-based data server providing home appliance management service and method thereof
DK2914022T3 (en) Device management method, middleware and machine-to-machine communication platform, device and system
JP4681968B2 (en) Service request apparatus, service request method, service request program, and recording medium
US9122651B1 (en) Computer system to support failover in an event stream processing system
US20140244809A1 (en) Service configuration method and apparatus
US9554276B2 (en) System and method for on the fly protocol conversion in obtaining policy enforcement information
KR102122913B1 (en) Distributed api proxy system and apapparatus and method for managing traffic in such system
US10069928B1 (en) Translating requests/responses between communication channels having different protocols
US20240089343A1 (en) Service layer-based methods to enable efficient analytics of iot data
US11252025B2 (en) Model driven configuration management for microservices
WO2016086755A1 (en) Packet processing method and transparent proxy server
WO2011127847A2 (en) Method, apparatus and mobile terminal for updating service content of unstructured supplementary service data
WO2008061113A2 (en) System and method for utilizing xml documents to transfer programmatic requests in a service oriented architecture
US9582561B2 (en) Size-based data synchronization
US8805923B2 (en) Method for updating contents of a DMS in a DLNA system
KR101843067B1 (en) Method for providing service based on smart energy profile supporting push and apparatus using the same
Jin et al. A sleep scheme based on MQ broker using subscribe/publish in IoT network
WO2019214208A1 (en) Data processing method and apparatus in instant messaging system, medium, and computing device
CN113381875B (en) Method for acquiring configuration data

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant