KR20230019524A - 분산 네트워크에서의 응용 데이터 전송 방법 및 장치 - Google Patents

분산 네트워크에서의 응용 데이터 전송 방법 및 장치 Download PDF

Info

Publication number
KR20230019524A
KR20230019524A KR1020210101126A KR20210101126A KR20230019524A KR 20230019524 A KR20230019524 A KR 20230019524A KR 1020210101126 A KR1020210101126 A KR 1020210101126A KR 20210101126 A KR20210101126 A KR 20210101126A KR 20230019524 A KR20230019524 A KR 20230019524A
Authority
KR
South Korea
Prior art keywords
data
peer
application
message
overlay
Prior art date
Application number
KR1020210101126A
Other languages
English (en)
Inventor
허미영
이랑혁
이창규
현욱
Original Assignee
한국전자통신연구원
주식회사 구루미
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원, 주식회사 구루미 filed Critical 한국전자통신연구원
Priority to KR1020210101126A priority Critical patent/KR20230019524A/ko
Publication of KR20230019524A publication Critical patent/KR20230019524A/ko

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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)

Abstract

분산 네트워크에서 어느 하나의 응용의 소스 피어는 상기 응용이 사용하는 데이터 프로파일 정보를 직접 상기 분산 네트워크에 참여하고 있는 다른 피어로 전송하고, 상기 데이터 프로파일 정보를 상기 분산 네트워크의 관리 서버에 등록한다. 그리고 상기 해당 응용의 데이터를 상기 분산 네트워크에 참여하고 있는 다른 피어로 전송한다.

Description

분산 네트워크에서의 응용 데이터 전송 방법 및 장치{METHOD AND APPARATUS FOR TRANSMITTING APPLICATION DATA IN DISTRIBUTED NETWORK}
본 발명은 분산 네트워크에서의 응용 데이터 전송 방법 및 장치에 관한 것으로, 보다 상세하게는 분산 네트워크를 구성하는 피어들이 특정 피어에서 제공하는 IoT(Internet of Things) 응용에 대한 데이터 처리를 위해 분산 네트워크의 관리 서버와 송수신되는 메시지 오버헤드를 줄일 수 있는 분산 네트워크에서의 응용 데이터 전송 방법 및 장치에 관한 것이다.
분산 네트워크 기반 다양한 서비스에서 단말들은 자유롭게 데이터를 전송할 수 있다. 각 단말은 획득한 값을 전달하기 전에 해당 단말에서 제공하는 IoT 응용이 어떻게 구성되는지에 대한 정보를 분산 네트워크에 참여하는 다른 단말들에게 제공해야 한다. 예를 들어, 특정 단말에서 다양한 센서를 통해 획득한 센싱 데이터를 분산 네트워크를 통해 전달하고자 할 때, 단말에서 제공하는 센서의 종류가 무엇이고, 단위는 무엇인지 등을 분산 네트워크에 참여하는 다른 단말들에게 사전에 제공해야 향후 다른 단말은 해당 단말에서 배포하는 데이터를 적절하게 처리할 수 있다.
일반적으로 각 단말은 IoT 응용에서 제공하는 정보의 종류와 그 단위 등을 분산 네트워크 관리 서버에 등록하고, 분산 네트워크에 참여하는 모든 단말들은 해당 정보를 받아 특정 단말에서 전송되어 온 데이터를 등록된 정보에 따라 처리한다. 그러나 분산 네트워크에 참여하는 단말이 매우 많은 경우 특정 단말에서 제공하는 응용에 대한 정보를 얻기 위하여 모든 단말이 분산 네트워크 관리 서버에 접속해야 하며, 이 과정은 단말의 응용에 대한 정보가 변경될 때마다 발생될 수 있으므로, 이러한 과정에서 트래픽이 폭주할 수 있다.
본 발명이 해결하려는 과제는 분산 네트워크를 구성하는 피어들이 특정 피어에서 제공하는 IoT 응용에 대한 데이터 처리를 위해 분산 네트워크의 관리 서버와 송수신되는 메시지 오버헤드를 줄일 수 있는 분산 네트워크에서의 응용 데이터 전송 방법 및 장치를 제공하는 것이다.
본 발명의 한 실시 예에 따르면, 분산 네트워크에서 어느 하나의 응용의 소스 피어에서 응용 데이터를 전송하는 방법이 제공된다. 응용 데이터 전송 방법은 상기 응용이 사용하는 데이터 프로파일 정보를 직접 상기 분산 네트워크에 참여하고 있는 다른 피어로 전송하는 단계, 상기 데이터 프로파일 정보를 상기 분산 네트워크의 관리 서버에 등록하는 단계, 그리고 상기 응용의 데이터를 상기 분산 네트워크에 참여하고 있는 다른 피어로 전송하는 단계를 포함한다.
본 발명의 실시 예에 의하면, 분산 네트워크에 참여하고 있는 송신 단말이 IoT 응용에 대한 데이터 프로파일 정보를 직접 분산 네트워크에 참여하는 다른 피어에게 직접 전송함으로써, IoT 데이터를 수신하여 처리하는 피어들과 분산 네트워크의 관리 서버간 메시지 오버헤드를 줄일 수 있다.
도 1은 본 발명의 실시 예에 따른 분산 네트워크에서의 데이터 전송을 설명하는 도면이다.
도 2는 본 발명의 실시 예에 따른 피어 프로토콜의 메시지 포맷의 일 예를 나타낸 도면이다.
도 3은 도 2에 도시된 헤더 포맷의 일 예로서, 피어간 송수신되는 브로드캐스트 요청 메시지의 헤더 포맷을 나타낸 도면이다.
도 4는 본 발명의 실시 예에 따른 송신 피어가 브로드캐스트 데이터 메시지를 전송하는 절차를 나타낸 도면이다.
도 5는 도 4에 도시된 하이브리드 오버레이 조인 요청 메시지의 구성을 나타낸 도면이다.
도 6은 본 발명의 실시 예에 따른 데이터 프로파일 정보 변경 시에 사용되는 하이브리드 오버레이 리프레쉬 메시지의 구성을 나타낸 도면이다.
도 7은 본 발명의 실시 예에 따른 피어가 데이터 프로파일 정보를 요청하는 절차를 나타낸 도면이다.
도 8은 도 7에 도시된 하이브리드 오버레이 쿼리 요청 메시지의 구성을 나타낸 도면이다.
도 9는 도 7에 도시된 하이브리드 오버레이 쿼리 응답 메시지의 구성을 나타낸 도면이다.
도 10은 본 발명의 실시 예에 따른 응용 데이터 포맷(APP_DATA)을 나타낸 도면이다.
도 11은 본 발명의 실시 예에 따른 응용 데이터 값의 일 예를 나타낸 도면이다.
도 12는 본 발명의 한 실시 예에 따른 응용 데이터 전송 장치를 나타낸 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
이제 본 발명의 실시 예에 따른 분산 네트워크에서의 응용 데이터 전송 방법 및 장치에 대하여 도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명의 실시 예에 따른 분산 네트워크에서의 데이터 전송을 설명하는 도면이다.
도 1을 참고하면, 물리적 네트워크상에 존재하는 단말(이하, "피어"라 함)들(1, 2, 3, 4, A)이 P2P(Peer-to-Peer) 서비스에 등록하면, 등록된 피어들(1, 2, 3, 4, A)간의 가상 네트워크인 오버레이 네트워크가 만들어진다.
오버레이 네트워크는 참여자들이 자신의 하드웨어 자원(resource)을 서로 공유하는 분산 네트워크로서, 오버레이 네트워크 상에서 피어들(1, 2, 3, 4, A)은 서버의 도움 없이 다른 피어들과 직접 정보를 공유하고 교환할 수 있다.
각 피어(1, 2, 3, 4, A)는 특정 서비스 제공을 위해서 구성된 오버레이 네트워크에 참여할 때 하이브리드 오버레이 네트워크 관리 서버(Hybrid Overlay Management Server, HOMS)(10)와 연동한다. 피어들(1, 2, 3, 4, A)은 트리 형태의 오버레이 네트워크를 구성할 수도 있고 메쉬 형태의 오버레이 네트워크를 구성할 수도 있다. 피어들(1, 2, 3, 4, A)이 구성하는 오버레이 네트워크의 토폴로지는 본 발명의 실시 예에서 다루지 않는다.
오버레이 네트워크에 참여하는 피어(예를 들면, A)가 오버레이 네트워크에 IoT 응용 데이터 전송 시, IoT 응용 데이터를 수신한 피어(예를 들면, 1, 2, 3, 4)에서는 해당 IoT 응용 데이터를 처리하기 위하여 HOMS(10)에 접속하여 HOMS(10)로부터 해당 IoT 응용이 사용하는 데이터 프로파일 정보를 제공 받는다. 이때 피어들(1, 2, 3, 4)이 HOMS(10)에 동시에 접속하는 경우 해당 오버레이 네트워크에 연결된 피어가 많다면 관련 메시지 오버헤드가 증가하게 된다.
이를 방지하기 위하여 본 발명의 실시 예에서는 IoT 응용 데이터를 전송하는 피어(이하, "송신 피어"라 함)(A)는 먼저 해당 IoT 응용이 사용하는 데이터 프로파일 정보를 오버레이 네트워크의 다른 피어(1, 2, 3, 4)로 직접 전송한다. 데이터 프로파일 정보는 해당 IoT 응용에서 향후 어떤 형태의 데이터가 전달되는지를 기술하는 데이터 속성 정보를 포함하고 있다. 데이터 프로파일 정보는 브로드캐스트 데이터 메시지 내에 포함되어 오버레이 네트워크에 전송된다. 브로드캐스트 데이터 메시지는 피어간 주고받는 메시지이다.
먼저, 송신 피어(A)는 오버레이 네트워크와 연결된 피어(2)에게 데이터 프로파일 정보를 포함한 브로드캐스트 데이터 메시지를 전송하고, 이를 수신한 피어(2)는 자신과 연결된 피어(1, 3)에게 브로드캐스트 데이터 메시지를 전송한다. 이렇게 하여, 송신 피어(A)가 전송한 브로드캐스트 데이터 메시지는 오버레이 네트워크의 마지막 피어(leaf peer)(4)까지 전달된다.
이러한 방법으로, 송신 피어(A)는 데이터 프로파일 정보를 오버레이 네트워크에 참여하고 있는 피어들(1, 2, 3, 4)에게 직접 배포한 다음, IoT 데이터를 포함한 브로드캐스트 데이터 메시지를 앞에서 설명한 방법과 동일한 방법으로 오버레이 네트워크에 참여하고 있는 피어들(1, 2, 3, 4)에게 전송한다.
IoT 데이터를 포함하는 브로드캐스트 데이터 메시지를 수신한 피어들(1, 2, 3, 4)은 송신 피어(A)가 기 배포한 데이터 프로파일 정보를 기반으로 수신한 IoT 데이터들을 처리한다.
도 2는 본 발명의 실시 예에 따른 피어 프로토콜의 메시지 포맷의 일 예를 나타낸 도면이고, 도 3은 도 2에 도시된 헤더 포맷의 일 예로서, 피어간 송수신되는 브로드캐스트 요청 메시지의 헤더 포맷을 나타낸 도면이다.
도 2를 참고하면, 피어 프로토콜 메시지는 버전(ver) 필드, 타입(type) 필드, 길이(length) 필드, 헤더(header) 및 콘텐츠(content) 필드를 포함한다.
버전(ver) 필드는 피어 프로토콜의 버전을 의미하며, 현재 피어 프로토콜 버전은 0x01로 설정될 수 있다.
타입(type) 필드는 헤더(header)에 포함되는 메시지의 인코딩 타입을 의미하며, binary는 0x10으로 설정되고, 텍스트(text)는 0x01으로 설정될 수 있다.
길이(length) 필드는 헤더의 길이를 의미한다.
헤더(header)는 피어 프로토콜의 각 메시지를 구분하고, 메시지별 필요한 정보를 각 필드에 포함한다. 메시지별 필드가 다르고, 그 길이가 다르므로, 길이(length) 필드에 헤더의 길이 값을 포함함으로써, 메시지를 파악할 수 있도록 한다.
콘텐츠(content) 필드는 메시지별 필요한 콘텐츠 데이터를 포함하고, 콘텐츠 데이터는 헤더(header) 내에 포함된 페이로드의 길이만큼 포함된다. 콘텐츠(content) 필드는 헤더(header)에 페이로드가 있는 경우에만 사용된다.
도 3을 보면, 브로드캐스트 데이터 메시지의 헤더는 JSON(JavaScript Object Notation) 포맷으로 전달되며, 요청 메시지와 응답 메시지, 두 가지 클래스로 구분될 수 있다. 요청코드(ReqCode)는 어떤 요청 메시지인지를 나타내고, 응답코드는 어떤 요청 메시지에 대한 응답 메시지인지를 나타낸다. 이때 브로드캐스트 요청 메시지를 의미하는 요청 코드 값으로 '6'이 사용될 수 있다.
브로드캐스트 요청 메시지는 오퍼레이션(operation) 필드, 피어(peer) 필드, 응용(app) 필드 및 페이로드를 포함한다.
오퍼레이션 필드는 확인(ack) 필드로 구성되며, 확인(ack) 필드가 값을 포함한다.
피어(peer) 필드는 피어 식별자(peer-id) 필드와 시퀀스 번호(sequence) 필드로 구성되고, 피어 식별자(peer-id) 필드와 시퀀스 번호(sequence) 필드가 각각 값을 포함한다.
응용(app) 필드는 응용 식별자(app-id) 필드로 구성되며, 응용 식별자(app-id) 필드가 값을 포함한다.
페이로드는 길이(length) 필드와 콘텐츠 타입(content-type) 필드로 구성되며, 길이(length) 필드와 콘텐츠 타입(content-type) 필드가 각각 값을 포함한다. 길이(length) 필드는 헤더 길이를 나타낸다.
콘텐츠 타입(content-type)은 MIME(Multipurpose Internet Mail Extensions) 타입으로, 'APP_DATA'와 'APP_DATA_VALUE'의 값으로 구분된다. 'APP_DATA'값은 다음에 실리는 콘텐츠가 해당 응용 식별자(app-id)에서 다뤄지는 IP 응용 데이터(app-data) 형태의 포맷임을 의미하고, 'APP_DATA_VALUE''값은 다음에 실리는 콘텐츠가 해당 응용 식별자(app-id)에서 다뤄지는 IP 응용 데이터(app-data) 형태의 데이터 값(value)을 의미한다.
도 4는 본 발명의 실시 예에 따른 송신 피어가 브로드캐스트 데이터 메시지를 전송하는 절차를 나타낸 도면이다.
도 4를 참고하면, 송신 피어(A)는 브로드캐스트 데이터(BROADCAST_DATA) 메시지를 송신 피어(A)와 연결되어 있는 피어(2)로 전송한다(S402). 송신 피어(A)는 해당 IoT 응용이 사용하는 데이터 프로파일 정보(DATA_PROFILE)를 브로드캐스트 데이터(BROADCAST_DATA) 메시지에 포함시켜 전송할 수 있다.
피어(2)는 송신 피어(A)로부터 브로드캐스트 데이터(BROADCAST_DATA) 메시지를 수신하면, 확인 메시지(200 OK)를 송신 피어(A)로 전송한다(S404). 또한 피어(2)는 수신한 브로드캐스트 데이터(BROADCAST_DATA) 메시지를 피어(2)와 연결되어 있는 피어(1, 3)로 전송한다(S406, S408).
피어(1, 3)는 피어(2)로부터 브로드캐스트 데이터(BROADCAST_DATA) 메시지를 수신하면, 확인 메시지(200 OK)를 피어(2)로 전송한다(S410, S412). 또한 피어(1)는 수신한 브로드캐스트 데이터(BROADCAST_DATA) 메시지를 피어(1)와 연결되어 있는 피어(4)로 전송한다(S414).
피어(4)는 피어(1)로부터 브로드캐스트 데이터(BROADCAST_DATA) 메시지를 수신하면, 확인 메시지(200 OK)를 피어(1)로 전송한다(S416).
이러한 방법으로, 트리의 마지막 피어(leaf peer)까지 송신 피어(A)가 전송한 브로드캐스트 데이터(BROADCAST_DATA) 메시지가 전달된다.
이렇게 하여, 송신 피어(A)는 IoT 응용이 사용하는 데이터 프로파일 정보(DATA_PROFILE)를 오버레이 네트워크에 참여하고 있는 다른 피어(1, 2, 3, 4)에게 제공할 수 있다.
또한 송신 피어(A)는 IoT 응용이 사용하는 데이터 프로파일 정보(DATA_PROFILE)를 오버레이 네트워크에 참여하고 있는 다른 피어(1, 2, 3, 4)에게 전송한 후에, 해당 IoT 응용의 데이터를 브로드캐스트 데이터(BROADCAST_DATA) 메시지를 통해 오버레이 네트워크에 참여하고 있는 다른 피어(1, 2, 3, 4)에게 전송한다.
그러나 송신 피어(A)에서 제공하는 IoT 응용에 대한 데이터 프로파일 정보(DATA_PROFILE)는 송신 피어(A)가 전송할 시점에서 오버레이 네트워크에 참여하는 피어들(1, 2, 3, 4)은 수신할 수 있으나, 이 시점 이후에 조인하는 피어는 송신 피어(A)에서 제공하는 IoT 응용에 대한 데이터 프로파일 정보(DATA_PROFILE)를 수신할 수 없다. 즉, 뒤늦게 해당 오버레이 네트워크에 조인한 피어는 송신 피어(A)가 전송하는 IoT 데이터 수신 시 해당 IoT 데이터를 처리하기가 어렵다. 따라서, 송신 피어(A)는 자신이 제공하는 IoT 응용에 관한 데이터 프로파일 정보(DATA_PROFILE)를 HOMS(10)에 등록한다(S418). 이렇게 하면, 향후 뒤늦게 해당 오버레이 네트워크에 조인한 피어가 HOMS(10)에 질의하여 해당 데이터 프로파일(DATA_PROFILE) 정보를 수신할 수 있다. 이때 송신 피어(A)는 IoT 응용에 관한 데이터 프로파일 정보(DATA_PROFILE)를 하이브리드 오버레이 조인(HybridOverlayJoin) 요청 메시지를 통해 HOMS(10)에 전송함으로써, IoT 응용에 관한 데이터 프로파일 정보(DATA_PROFILE)의 등록을 요청할 수 있다.
HOMS(10)는 IoT 응용에 관한 데이터 프로파일 정보(DATA_PROFILE)를 등록하고, 등록 확인(Confirmation)을 송신 피어(A)로 하이브리드 오버레이 조인(HybridOverlayJoin) 응답 메시지를 통해 전송한다(S420).
이와 같이, 분산 네트워크에 참여하고 있는 송신 피어(A)는 IoT 응용에 관한 데이터 프로파일 정보(DATA_PROFILE)를 분산 네트워크에 참여하는 다른 피어(1, 2, 3, 4)에게 직접 전송하고, 뒤늦게 조인한 다른 피어는 해당 IoT 응용 데이터를 처리하기 위하여 HOMS(10)에 접속하여 IoT 응용에 관한 데이터 프로파일 정보(DATA_PROFILE)를 획득하게 한다.
이렇게 하면, 종래와 같이 분산 네트워크에 참여하는 모든 피어가 HOMS(10)에 접속하지 않아도 되므로, 피어와 HOMS(10)간 송수신되는 메시지 오버헤드를 줄일 수 있다.
도 5는 도 4에 도시된 하이브리드 오버레이 조인 요청 메시지의 구성을 나타낸 도면이다.
도 5를 참고하면, 하이브리드 오버레이 조인 요청 메시지는 HTTP(HyperText Transfer Protocol) 메시지로서, 하이브리드 오버레이 조인 요청 메시지의 바디는 오버레이 네트워크 정보(peer) 필드, 소스 피어 정보(peer) 필드 및 응용 정보(app) 필드를 포함할 수 있다.
오버레이 네트워크 정보(overlay) 필드는 해당 오버레이 네트워크의 오버레이 식별자(overlay-id)를 포함한다.
소스 피어 정보(peer) 필드는 IoT 응용 식별자(app-id)에 해당되는 IoT 응용의 소스 피어의 식별자(peer-id)를 포함할 수 있다.
응용 정보(app) 필드는 응용 데이터(app-data) 필드로 구성되고, IoT 응용 식별자(app-id)에 해당되는 IoT 응용의 소스 피어(source peer)만이 설정 가능하며, 향후 해당 IoT 응용에서 전송할 데이터에 대한 정보와 해당 IoT 응용의 정보를 포함하는 데이터 프로파일 정보를 포함할 수 있다. 이러한 응용 정보(app) 필드는 해당 IoT 응용에서 어떤 데이터 포맷(APP_DATA)으로 데이터가 전송되는지를 기술하는 필드로서, 필수(mandatory)가 아닌 선택적(optional)으로 포함될 수 있다. IoT 응용의 데이터를 전송하는 소스 피어에 해당되는 송신 피어(A)는 응용 정보(app) 필드 내 IoT 응용에 대한 데이터 프로파일 정보를 설정한다. 이때 특정 IoT 응용에 대해 하나 이상의 데이터 프로파일 정보가 설정될 수 있다. 이 경우, 각 데이터 프로파일 정보는 프로파일 식별자에 의해 구별될 수 있다.
HOMS(10)는 데이터 프로파일 정보를 포함한 하이브리드 오버레이 조인(HybridOverlayJoin) 요청 메시지를 수신하면, 해당 오버레이 식별자(overlay-id), 송신 피어(A)의 식별자(peer-id) 및 응용 식별자(app-id)에 대응시켜 데이터 프로파일 정보를 저장한다.
이후, HOMS(10)는 데이터 프로파일 정보 요청을 수신하면, 오버레이 식별자(overlay-id), 송신 피어(A)의 식별자(peer-id) 및 응용 식별자(app-id)에 부합되는 데이터 프로파일 정보를 제공한다.
등록된 데이터 프로파일 정보는 하이브리드 오버레이 리프레쉬(HybridOvelayRefresh) 메시지를 통해 변경될 수 있다. 등록된 데이터 프로파일 정보는 하이브리드 오버레이 리프레쉬 메시지에 포함되는 프로파일 식별자에 대응되는 데이터 프로파일 정보로 변경된다.
도 6은 본 발명의 실시 예에 따른 데이터 프로파일 정보 변경 시에 사용되는 하이브리드 오버레이 리프레쉬 메시지의 구성을 나타낸 도면이다.
도 6을 참고하면, 하이브리드 오버레이 리프레쉬 메시지는 HTTP 메시지로서, 하이브리드 오버레이 리프레쉬 메시지의 바디는 오버레이 네트워크 정보(overlay) 필드, 소스 피어 정보(peer) 필드 및 응용 정보(app) 필드를 포함할 수 있다.
응용 정보(app) 필드는 변경하고자 하는 데이터 프로파일 정보를 포함한다. 변경하고자 하는 데이터 프로파일 정보는 IoT 응용 식별자(app-id)에 해당되는 IoT 응용의 소스 피어(source peer)만이 설정 가능하다.
IoT 응용의 데이터를 전송하는 소스 피어에 해당되는 송신 피어(A)는 응용 정보(app) 필드 내 변경하고자 하는 데이터 프로파일 정보를 설정함으로써, 등록된 데이터 프로파일 정보를 변경할 수 있다.
도 7은 본 발명의 실시 예에 따른 피어가 데이터 프로파일 정보를 요청하는 절차를 나타낸 도면이다.
도 7을 참고하면, 해당 오버레이 네트워크에 뒤늦게 조인한 피어(B)는 IoT 응용 데이터를 포함한 브로드캐스트 데이터(BROADCAST_DATA) 메시지를 수신하면(S702), 수신한 IoT 응용 데이터가 자신이 인지하고 있는 IoT 응용의 데이터 포맷인지 확인한다.
피어(B)는 수신한 IoT 응용 데이터가 자신이 인지하고 있는 IoT 응용의 데이터 포맷이 아니라면, HOMS(10)에 해당 응용의 데이터 프로파일 정보를 요청한다(S704). 피어(B)는 하이브리드 오버레이 쿼리(HybridOvelayQuery) 요청 메시지를 통하여 오버레이 식별자(overlay-id), 소스 피어의 식별자(peer-id), 응용 식별자(app-id)에 부합되는 데이터 프로파일 정보를 HOMS(10)로 요청한다.
HOMS(10)는 하이브리드 오버레이 쿼리(HybridOvelayQuery) 요청 메시지를 수신하면, 오버레이 식별자(overlay-id), 소스 피어의 식별자(peer-id), 응용 식별자(app-id)에 부합되는 데이터 프로파일을 검색하고(S706), 검색된 데이터 프로파일 정보(DATA_PROFILE)를 하이브리드 오버레이 쿼리(HybridOvelayQuery) 응답 메시지를 통해 피어(B)로 전송한다(S708).
이상에서 설명한 하이브리드 오버레이 조인(HybridOverlayJoin) 메시지, 하이브리드 오버레이 리프레쉬 메시지 및 하이브리드 오버레이 쿼리(HybridOvelayQuery) 메시지는 피어와 HOMS(10)간에 주고받는 메시지이다.
도 8은 도 7에 도시된 하이브리드 오버레이 쿼리 요청 메시지의 구성을 나타낸 도면이고, 도 9는 도 7에 도시된 하이브리드 오버레이 쿼리 응답 메시지의 구성을 나타낸 도면이다.
도 8을 참고하면, 하이브리드 오버레이 쿼리 요청 메시지는 오버레이 식별자(overlay-id), 소스 피어의 식별자(peer-id) 및 응용 식별자(app-id)를 포함할 수 있다.
오버레이 식별자(overlay-id), 소스 피어의 식별자(peer-id) 및 응용 식별자(app-id)는 수신된 IoT 데이터를 포함한 브로드캐스트 데이터(BROADCAST_DATA) 메시지에 포함되어 있는 정보일 수 있다.
HOMS(10)는 하이브리드 오버레이 쿼리 요청 메시지를 수신하면, 하이브리드 오버레이 쿼리 요청 메시지 내 오버레이 식별자(overlay-id), 소스 피어의 식별자(peer-id), 응용 식별자(app-id)에 부합되는 데이터 프로파일 정보(DATA_PROFILE)를 검색할 수 있다. HOMS(10)는 오버레이 식별자(overlay-id), 소스 피어의 식별자(peer-id), 응용 식별자(app-id) 및 프로파일 식별자(profile-id)에 부합되는 데이터 프로파일 정보(DATA_PROFILE)를 검색할 수 있다.
도 9를 참고하면, 하이브리드 오버레이 쿼리 응답 메시지는 응용 데이터(app-data) 필드를 포함하고, 응용 데이터(app-data) 필드에는 검색된 데이터 프로파일 정보(DATA_PROFILE)가 포함될 수 있다.
도 10은 본 발명의 실시 예에 따른 응용 데이터 포맷(APP_DATA)을 나타낸 도면이다.
도 10을 참고하면, 데이터 포맷(APP_DATA)은 값(value)을 포함할 수 있다.
도 11은 본 발명의 실시 예에 따른 응용 데이터 값의 일 예를 나타낸 도면이다.
도 11을 참고하면, 응용 데이터 값(APP_DATA_VALUE)은 센싱된 IoT 데이터의 값을 포함하며, 예를 들면, 온도(temperature)의 값, 습도(humidity)의 값 및 미세먼지(microdust)의 값을 포함할 수 있다.
송신 피어(A)에서 가장 먼저 해당 IoT 응용이 사용하는 데이터 프로파일 정보(DATA_PROFILE)를 전송하고자 할 때, 브로드캐스트 데이터 요청 메시지의 응용 정보 필드에 응용 식별자(app-id)와 함께 데이터 프로파일 정보(appDataProfile)를 포함시킨다.
송신 피어(A)에서 데이터 프로파일 정보를 포함한 브로드캐스트 데이터 메시지를 오버레이 네트워크에 배포한 이후, IoT 데이터를 포함한 브로드캐스트 데이터 메시지를 오버레이 네트워크에 전송하고자 하는 할 때, 브로드캐스트 데이터 메시지 내에 포함되는 응용 데이터 필드에는 응용 식별자(app-id)와 함께 응용 데이터 값(APP_DATA_VALUE)이 포함된다.
도 12는 본 발명의 한 실시 예에 따른 응용 데이터 전송 장치를 나타낸 도면이다.
도 12를 참고하면, 응용 데이터 전송 장치(1200)는 앞에서 설명한 본 발명의 실시 예에 따른 응용 데이터 전송 방법이 구현된 컴퓨팅 장치를 나타낼 수 있다.
응용 데이터 전송 장치(1200)는 프로세서(1210), 메모리(1220), 입력 인터페이스 장치(1230), 출력 인터페이스 장치(1240), 및 저장 장치(1250) 중 적어도 하나를 포함할 수 있다. 각각의 구성 요소들은 공통 버스(bus)(1260)에 의해 연결되어 서로 통신을 수행할 수 있다. 또한 각각의 구성 요소들은 공통 버스(1260)가 아니라, 프로세서(1210)를 중심으로 개별 인터페이스 또는 개별 버스를 통하여 연결될 수도 있다.
프로세서(1210)는 AP(Application Processor), CPU(Central Processing Unit), GPU(Graphic Processing Unit) 등과 같은 다양한 종류들로 구현될 수 있으며, 메모리(1220) 또는 저장 장치(1250)에 저장된 명령을 실행하는 임의의 반도체 장치일 수 있다. 프로세서(1210)는 메모리(1220) 및 저장 장치(1250) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 이러한 프로세서(1210)는 위의 도 1 내지 도 10을 토대로 설명한 기능 및 방법들을 구현하도록 구성될 수 있다.
메모리(1220) 및 저장 장치(1250)는 다양한 형태의 휘발성 또는 비 휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(1220)는 ROM(read-only memory)(1221) 및 RAM(random access memory)(1222)를 포함할 수 있다. 본 발명의 실시 예에서 메모리(1220)는 프로세서(1210)의 내부 또는 외부에 위치할 수 있고, 메모리(1220)는 이미 알려진 다양한 수단을 통해 프로세서(1210)와 연결될 수 있다.
입력 인터페이스 장치(1230)는 데이터를 프로세서(1210)로 제공하도록 구성되며, 출력 인터페이스 장치(1240)는 프로세서(1210)로부터의 데이터를 출력하도록 구성된다.
또한 본 발명의 실시 예에 따른 응용 데이터 전송 방법 중 적어도 일부는 컴퓨팅 장치에서 실행되는 프로그램 또는 소프트웨어로 구현될 수 있고, 프로그램 또는 소프트웨어는 컴퓨터로 판독 가능한 매체에 저장될 수 있다.
또한 본 발명의 실시 예에 따른 응용 데이터 전송 방법 중 적어도 일부는 컴퓨팅 장치와 전기적으로 접속될 수 있는 하드웨어로 구현될 수도 있다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다.

Claims (1)

  1. 분산 네트워크에서 어느 하나의 응용의 소스 피어에서 응용 데이터를 전송하는 방법에서,
    상기 응용이 사용하는 데이터 프로파일 정보를 직접 상기 분산 네트워크에 참여하고 있는 다른 피어로 전송하는 단계,
    상기 데이터 프로파일 정보를 상기 분산 네트워크의 관리 서버에 등록하는 단계, 그리고
    상기 응용의 데이터를 상기 분산 네트워크에 참여하고 있는 다른 피어로 전송하는 단계
    를 포함하는 응용 데이터 전송 방법.
KR1020210101126A 2021-08-02 2021-08-02 분산 네트워크에서의 응용 데이터 전송 방법 및 장치 KR20230019524A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210101126A KR20230019524A (ko) 2021-08-02 2021-08-02 분산 네트워크에서의 응용 데이터 전송 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210101126A KR20230019524A (ko) 2021-08-02 2021-08-02 분산 네트워크에서의 응용 데이터 전송 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20230019524A true KR20230019524A (ko) 2023-02-09

Family

ID=85224578

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210101126A KR20230019524A (ko) 2021-08-02 2021-08-02 분산 네트워크에서의 응용 데이터 전송 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20230019524A (ko)

Similar Documents

Publication Publication Date Title
US11411897B2 (en) Communication method and communication apparatus for message queue telemetry transport
KR100819017B1 (ko) 네트워크 환경에서 피어 투 피어 통신을 위한 방법 및시스템
US20170054640A1 (en) Device and method for establishing connection in load-balancing system
JP6624619B2 (ja) リソースサブスクリプション方法、リソースサブスクリプション装置、及びリソースサブスクリプションシステム
KR20120071576A (ko) 분산 해쉬 테이블 기반의 rtps 디스커버리 방법, 장치 및 시스템
US11916740B2 (en) K8S-based service deployment method and apparatus, device, and medium
US20230031062A1 (en) Data processing method and apparatus, related device, and storage medium
CN104980484A (zh) 用于内容中心网络中的装置注册和发现的系统和方法
KR101157039B1 (ko) Ddsb 통신 시스템 및 방법
CN116633934A (zh) 负载均衡方法、装置、节点及存储介质
US8650313B2 (en) Endpoint discriminator in network transport protocol startup packets
CN106716974B (zh) 访问分发方法、装置及系统
CN108401040B (zh) 用于ndn的内容接收方法、内容发送方法、装置及系统
JP6402077B2 (ja) 中継システム、中継方法、及びプログラム
CN111614792B (zh) 透传方法、系统、服务器、电子设备及存储介质
CN110365790B (zh) 消息传输方法、装置、级联组网设备以及可读存储介质
KR20230019524A (ko) 분산 네트워크에서의 응용 데이터 전송 방법 및 장치
CN107370731B (zh) 基于自然语言实现不同应用之间通信的方法及装置
CN109716310A (zh) 用于内容分发系统的服务器装置、传输装置和程序
CN114338574A (zh) 一种即时通讯方法、管理节点及系统
JP2014225157A (ja) 通信システム、負荷分散装置、および、負荷分散プログラム
CN109361716B (zh) 一种ip地址的获取方法、装置、终端设备和存储介质
CN109688204B (zh) 基于ndn网络的文件下载方法、节点、终端
KR101845671B1 (ko) 제한적 네트워크 내 센서 노드의 리소스 발견 방법 및 시스템
CN115361337B (zh) 一种基于通信路由和星型网络的通信方法及系统