KR20050096417A - 피어-투-피어 네트워크를 이용한 이벤트 알림 시스템 및그 방법 - Google Patents

피어-투-피어 네트워크를 이용한 이벤트 알림 시스템 및그 방법 Download PDF

Info

Publication number
KR20050096417A
KR20050096417A KR1020040021612A KR20040021612A KR20050096417A KR 20050096417 A KR20050096417 A KR 20050096417A KR 1020040021612 A KR1020040021612 A KR 1020040021612A KR 20040021612 A KR20040021612 A KR 20040021612A KR 20050096417 A KR20050096417 A KR 20050096417A
Authority
KR
South Korea
Prior art keywords
event
peer
event notification
network
node
Prior art date
Application number
KR1020040021612A
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 KR1020040021612A priority Critical patent/KR20050096417A/ko
Publication of KR20050096417A publication Critical patent/KR20050096417A/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60BVEHICLE WHEELS; CASTORS; AXLES FOR WHEELS OR CASTORS; INCREASING WHEEL ADHESION
    • B60B33/00Castors in general; Anti-clogging castors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q1/00Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor
    • B60Q1/26Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic
    • B60Q1/32Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic for indicating vehicle sides, e.g. clearance lights
    • B60Q1/326Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic for indicating vehicle sides, e.g. clearance lights on or for wheels

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 피어-투-피어(P2P) 네트워크에서의 능동적 등록 절차를 이용하는 P2P 네트워크를 이용한 이벤트 알림 시스템 및 그 방법에 관한 것이다. 본 발명에 따른 P2P 네트워크를 이용한 이벤트 알림 시스템은, 이벤트 알림 서비스 가입자에게 알릴 이벤트가 발생되면, 이벤트 알림 요청 메시지를 전송하는 복수의 이벤트 발생부; 이벤트 알림 요청 메시지를 수신하여, 피어-투-피어 네트워크가 형성된 최상위 노드에게 이벤트 메시지를 발송하는 이벤트 처리부; 및 피어-투-피어 네트워크를 경유하여 발송된 이벤트 메시지를 수신하여 다른 이벤트 알림 서비스 가입 노드에 상기 이벤트 메시지를 전달하는 복수의 이벤트 전달 및 수신부를 포함한다. 본 발명에 따르면, 피어-투-피어 네트워크에서의 능동적 등록절차를 이용하여 대규모 알림이 가능한 이벤트 알림 시스템을 구성함으로써, 기존의 알림 서비스의 방식에 비해 네트워크 또는 시스템 자원이 절약될 뿐만 아니라, 이벤트 알림 시스템 자체를 일반화시킬 수 있다.

Description

피어-투-피어 네트워크를 이용한 이벤트 알림 시스템 및 그 방법 {An event alerting system using a peer-to-peer network, and methods thereof}
본 발명은 피어-투-피어 네트워크를 이용한 이벤트 알림 시스템 및 그 방법에 관한 것으로, 보다 구체적으로, 피어-투-피어(peer-to-peer: 이하 "P2P") 네트워크에서의 능동적 등록 절차를 이용하는 P2P 네트워크를 이용한 이벤트 알림 시스템 및 그 방법에 관한 것이다.
최근 인터넷 인구의 폭발적인 증가에 따라, 인터넷에는 다양한 커뮤니티와 인맥 네트워크가 생성되고 있다. 또한, 대형 인터넷 포탈 등에서는 적게는 몇 명에서부터 많게는 수십만 명의 회원이 가입된 동호회가 수백만 개씩 지원되고 있다.
이러한 동호회의 회원으로서, 또는 특정한 인맥 네트워크의 일원으로서, 그 소속 집단 또는 개인들의 행동 또는 이벤트를 파악하고자 하는 욕구가 발생됨에 따라, 각 메신저 또는 인터넷 시스템에서 해당 이벤트를 각각의 클라이언트에게 알려주는 형태의 시스템이 개발되어 있다.
한편, 기존의 이벤트 알림 방법으로는 중앙에 대형 알림 시스템을 구비하는 메신저 방식 및 이벤트 알리미 방식이 있는데, 이러한 알림 시스템은 해당 알림을 받을 클라이언트의 리스트를 관리하고, 각 클라이언트에게 해당 이벤트를 발송(Broadcasting)하는 방법을 사용하고 있다.
도 1은 종래의 기술에 따른 메신저 방식의 이벤트 알림 시스템을 예시하는 도면이고, 도 2는 종래의 기술에 따른 메신저 방식의 이벤트 알림 방법을 나타내는 순서도이다.
도 1 및 도 2를 참조하면, 종래의 기술에 따른 메신저 방식의 이벤트 알림 시스템은, 메신저 서버(110), 클라이언트 리스트(120) 및 여러 그룹 또는 커뮤니티(140, 150, 160)에 속하는 다수의 클라이언트(151, 152, 153)를 포함하며, 각각 네트워크(130)로 연결된다.
먼저, 종래 기술에 따른 메신저 방식의 경우, 통상적으로 '리버스 버디(Reverse Buddy)'라는 형태의 알림을 받을 클라이언트 리스트(120)를 활용하는 방식을 사용하고 있다.
구체적으로, 종래 기술에 따른 메신저 방식의 이벤트 알림 시스템은, 이벤트 발생 여부를 확인하여(S210), 상기 이벤트가 A, B 또는 C가 발생된 경우, 중앙의 알림 시스템인 메신저 서버(110)는 클라이언트 리스트(120)를 검색하여(S220), 상기 그룹 또는 커뮤니티(140, 150, 160) 내의 검색된 클라이언트에게 이벤트 A, B 또는 C를 각각 발송하게 된다(S230). 이때, 추가 이벤트가 발생하는지 여부를 확인하여(S240), 추가 이벤트가 있는 경우, S220 단계 및 S230 단계를 반복할 수 있다.
그런데, 종래 기술에 따른 메신저 방식의 이벤트 알림 시스템에서와 같이 클라이언트 리스트(120)를 가지고 있는 경우, 첫째 각 클라이언트(151, 152, 153)의 온라인 여부와 상관없이 이벤트를 발송함으로써, 쓸모없는 트래픽을 발생시킬 수 있고, 둘째, 각 이벤트에 등록되어야 할 클라이언트 리스트(120)를 항상 참조해야만 하는 오버헤드가 발생하며, 셋째, 이벤트를 알리기 위한 메신저 서버(110)의 용량이 상기 이벤트의 수와 평균 클라이언트의 수의 곱에 해당하는 만큼이 필요하다는 문제점이 있다.
도 3은 종래의 기술에 따른 이벤트 알리미 방식의 이벤트 알림 시스템을 예시하는 도면이고, 도 4는 종래의 기술에 따른 이벤트 알리미 방식의 이벤트 알림 방법을 나타내는 순서도이다.
도 3 및 도 4를 참조하면, 종래 기술에 따른 이벤트 알리미 방식의 이벤트 알림 시스템은, 이벤트 알림 서버(210) 및 여러 그룹 또는 커뮤니티(230, 240, 250)에 속하는 다수의 클라이언트(241, 242, 243)를 포함하며, 각각 네트워크(220)로 연결된다.
상기 이벤트 알리미 방식의 경우, 예를 들어, 일종의 채팅방 형태의 서버에 자신을 로그인시키고, 채팅방에서 알림을 공지하면 채팅방에 참여하고 있는 사용자들이 알림을 받게 되는 형태로 사용될 수 있다.
구체적으로, 종래 기술에 따른 이벤트 알리미 방식의 이벤트 알림 시스템은, 이벤트 발생 여부를 확인하여(S410), 상기 이벤트 A, B 또는 C가 발생된 경우, 중앙의 이벤트 알림 서버(210)가 로그인된 서비스 가입 클라이언트(241, 242)만을 검색하여(S420), 로그인된 서비스 가입 클라이언트에게 이벤트 A, B 또는 C를 각각 발송하게 된다(S430). 이때, 추가 이벤트가 발생하는지 여부를 확인하여(S440), 추가 이벤트가 있는 경우, S420 단계 및 S430 단계를 반복할 수 있다.
예를 들어, 제1 커뮤니티(230)의 어느 한 클라이언트가 이벤트 A의 발생 요청을 상기 이벤트 알림 서버(210)에 알리면, 상기 이벤트 알림 서버(210)는 이벤트 A를 상기 제1 커뮤니티(230) 내의 다른 클라이언트에게 통보하게 되는데, 이때, 로그인되지 않은 클라이언트에게는 이벤트를 알리지 않게 된다. 또한, 다른 커뮤니티(240, 250)에서는 각각 다른 이벤트 B 또는 C를 각각 로그인된 클라이언트에게만 이벤트 메시지를 발송하게 된다.
종래 기술에 따른 이벤트 알리미의 형태로 관리하는 경우, 전술한 메신저 형태와는 달리 온라인 된 상태의 클라이언트만 관리함으로써, 서버의 부담은 훨씬 줄어들 수 있으나, 클라이언트 수의 변동이 심할 때, 또는 특정 이벤트에 대한 클라이언트의 수가 월등히 많은 경우, 해당 이벤트 때문에 다른 이벤트의 처리가 지연(delay)될 수 있다는 문제점이 있다. 또한, 상기 메신저 방식의 경우와 마찬가지로, 대용량 서버가 필요하며, 중앙에 집중되는 이벤트 발송용 트래픽도 무시할 수 없다는 문제점이 있다.
또한, 전술한 메신저 방식 및 이벤트 알리미 방식의 대용량 알림 시스템은 각 서비스에 대한 알림 시스템이 일반화되는 데에는 어려움이 있으며, 해당 서비스와 매우 밀접하게 연결되어야 하는 강결합(Strongly-coupled) 방식이므로 개발상의 어려움이 발생할 수 있다는 문제점이 있다.
상기 문제점을 해결하기 위한 본 발명의 목적은, 이벤트 알림 메시지를 모든 클라이언트에게 발송하지 않고, 사용자 수에 관계없이 P2P 네트워크를 활용하여 지정된 숫자의 클라이언트에게 발송함으로써, 서버의 용량과 네트워크 트래픽을 줄일 수 있는 P2P 네트워크를 이용한 이벤트 알림 시스템 및 그 방법을 제공하기 위한 것이다.
또한, 본 발명의 다른 목적은 중앙 이벤트 처리 서버에서 해당 이벤트에 대한 특정한 클라이언트 리스트를 관리하지 않고도 이벤트가 일반화될 수 있는 P2P 네트워크를 이용한 이벤트 알림 시스템 및 그 방법을 제공하기 위한 것이다.
상기 목적을 달성하기 위한 수단으로서, 본 발명에 따른 피어-투-피어 네트워크를 이용한 이벤트 알림 서비스 가입 방법은,
a) 이벤트 알림 서비스 가입자에게 알릴 이벤트가 발생되면, 상기 이벤트 알림을 요청하는 단계;
b) 상기 이벤트 알림 요청이 있는 경우, 이벤트 처리부가 상기 이벤트가 전달될 최상위 노드 정보를 검색하는 단계;
c) 상기 최상위 노드 정보에 따라 상기 최상위 노드에게만 이벤트 메시지를 발송하는 단계; 및
d) 상기 이벤트 메시지를 수신한 상기 최상위 노드가 사용자에게 상기 이벤트 메시지를 제공하고, 동시에 자신의 자식 노드들에게 연결하여 상기 이벤트 메시지를 전달하는 단계;
e) 모든 이벤트 알림 서비스 가입자에게 상기 이벤트 알림 메시지가 전송될 때까지, 다른 이벤트 알림 서비스 가입 노드에 상기 이벤트 메시지를 전달하는 단계; 및
f) 추가 이벤트가 발생하는 경우, 상기 b) 내지 e) 단계를 반복 수행하는 단계
를 포함하여 이루어지는 특징이 있다.
본 발명에 따르면 대량의 네트워크에서 대규모 알림이 필요한 서비스에서의 이벤트 알림 시스템을 피어-투-피어 네트워크에서의 능동적 등록절차를 이용하여 구성함으로써, 기존의 알림 서비스의 방식에 비해 네트워크 또는 시스템 자원이 절약될 뿐만 아니라, 이벤트 알림 시스템 자체를 일반화시킬 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 피어-투-피어 네트워크를 이용한 이벤트 알림 시스템 및 그 방법을 상세히 설명한다.
먼저, 피어-투-피어(peer to peer: P2P)는 인터넷에서 이루어지는 개인 대 개인의 파일 공유 기술 및 행위를 말하며, 기존의 서버와 클라이언트 개념이나 공급자와 소비자 개념에서 벗어나 개인 컴퓨터끼리 직접 연결하고 검색함으로써, 모든 참여자가 공급자인 동시에 수요자가 되는 형태이다.
이러한 P2P는 각 컴퓨터가 동등한 능력을 가지고 있어, 어떤 컴퓨터에서라도 통신 세션을 시작할 수 있는 통신 모델을 지칭하며, 네트워크에 연결되어 있는 모든 컴퓨터들이 서로 대등한 동료의 입장에서 데이터나 주변장치 등을 공유할 수 있으므로, 상기 P2P를 동등 계층 통신이라고도 한다. 이 개념과 대비되는 다른 모델로는 클라이언트/서버 모델 또는 마스터/슬레이브 모델 등이 있다.
이러한 P2P는 크게 2가지 방식이 있다. 하나는 어느 정도 서버의 도움을 얻어서 개인간 접속을 실현하는 방식이고, 다른 하나는 클라이언트 상호간에 미리 주소(IP address) 등의 개인 정보를 공유하여 서버 없이 직접 연결하는 방식이다. 물론, 전자의 경우에도 접속 및 검색 단계 이후는 후자의 경우와 동일하게 개인끼리 직접 정보를 공유하고 교환하게 된다.
전자의 예로서, 미국의 냅스터(napster)와 한국의 소리바다 등을 들 수 있고 후자의 방식으로는 그누텔라(Gnutella)가 대표적이다. 단, 서버를 사용하는 방식은 저작권 문제에서 자유로울 수 없고 서버의 부하로 인한 속도 저하 등의 문제점을 안고 있다. 반면에 후자의 예로서, 그누텔라와 같은 직접 연결에서는 검색이 어렵고, 네트워크 자체의 부하를 해결해야 한다.
예를 들어, 미국특허 제6,339,785호는 P2P 네트워크를 이용하여 복수의 서버를 통해 파일을 분할하여 다운로드하는 방법을 개시하고 있다. 도 5는 일반적인 P2P 네트워크를 이용하여 파일을 분할하여 다운로드하는 방법을 설명하기 위한 도면으로서, 서버 접속 및 검색 단계 이후, 개인끼리 직접 정보를 공유하고 교환하는 것을 나타내고 있다. 상기 미국특허 제6,339,785호에 따르면, 전체 파일을 1/N 로 분할하고 N개의 서버를 통해 파일을 전송하도록 하여, 어느 하나의 연결에 장애가 발생하더라도 안정적으로 파일을 다운로드하게 된다.
본 발명의 실시예는 도 5에 도시된 바와 같은 파일을 분할하여 다운로드하기 위한 것이 아니라, 단지 P2P 네트워크를 이용하여, 비교적 데이터 크기가 작은 이벤트 메시지를 수신하기 위한 것으로, 이하, 도 6 내지 도 15를 참조하여, P2P 네트워크를 이용한 이벤트 알림 시스템에 대해 설명하기로 한다.
먼저, 본 발명의 실시예는 대량의 네트워크에서 대규모 알림이 필요한 서비스에서 알림 서비스를 P2P 네트워크에서의 능동적 등록 절차를 이용하여 구성함으로써, 기존의 알림 서비스 방식에 비해 네트워크 또는 시스템 용량을 절약하고, 알림 시스템 자체를 일반화시킬 수 있다.
또한, 본 발명의 실시예는 중앙 이벤트 처리 서버, 트리 구조의 슈퍼노드 또는 슈퍼피어, 및 복수의 클라이언트를 구비하며, 온라인상에서 실시간으로 발생되는 이벤트를 중앙 이벤트 처리 서버가 모든 클라이언트에게 전송하지 않고 이벤트 알림 서비스에 등록한 사용자에게만 전송하되, 슈퍼노드 또는 슈퍼피어를 이용하여 사용자 수에 관계없이 지정된 수의 클라이언트에게 전송함으로써, 서버의 용량과 네트워크 트래픽을 줄어들게 한다.
또한, 본 발명의 실시예는 중앙 이벤트 처리 서버가 해당 이벤트에 대한 클라이언트 리스트를 관리할 필요가 없고, 이벤트가 일반화되어 프로토콜 수준의 통일성만 가지고도 해당 이벤트 시스템을 활용할 수 있다.
도 6은 본 발명의 실시예에 따른 P2P 네트워크를 구성하는 것을 예시하는 도면으로서, 이벤트 알림 서비스에 가입한 복수의 가입 노드(640a, 640b, 640c), 피어(620), 슈퍼피어(630), 및 이벤트 처리 장치(610)가 상호 연결되어 P2P 네트워크를 형성하는 것을 보여주고 있다. 여기서, 도면부호 650은 최상위 노드인 슈퍼 노드를 나타낸다.
도 7은 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 시스템을 개략적으로 예시하는 도면이다.
도 7을 참조하면, 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 시스템은, 이벤트 알림 서비스 가입자에게 알릴 이벤트가 발생되면, 상기 이벤트 알림 요청 메시지를 전송하는 복수의 이벤트 발생부; 상기 이벤트 알림 요청 메시지를 수신하여, 피어-투-피어 네트워크가 형성된 최상위 노드에게 이벤트 메시지를 발송하는 이벤트 처리부(610); 및 상기 피어-투-피어 네트워크를 경유하여 발송된 이벤트 메시지를 수신하여 다른 이벤트 알림 서비스 가입 노드에 상기 이벤트 메시지를 전달하는 복수의 이벤트 전달 및 수신부를 포함한다.
여기서, 복수의 이벤트 발생부 또는 복수의 이벤트 전달 및 수신부는 각각 피어(620) 또는 슈퍼피어(630)로 이루어질 수 있고, 상기 복수의 이벤트 전달 및 수신부는 상기 이벤트 처리부에서 관리하는 적어도 하나의 최상위 노드이거나, 또는 상기 최상위 노드(650)에 각각 연결되는 복수의 하위 노드일 수 있다.
상기 이벤트 알림 서비스 가입자는 소정의 서비스 가입 절차에 따라 상기 최상위 노드 또는 하위 노드로 참여하여 상기 피어-투-피어 네트워크를 형성하게 된다. 이때, 상기 최상위 노드 및 하위 노드는 각각 부모 노드와 복수의 자식 노드를 구비하여 계층적으로 연결될 수 있다.
또한, 상기 최상위 노드 및 하위 노드는 상기 이벤트 알림 메시지를 전달하기 위한 논리적인 이벤트 수신 네트워크를 형성하게 된다.
또한, 상기 최상위 노드 및 하위 노드는 각각 트리 구조로 배치되어 상기 피어-투-피어 네트워크를 형성하게 되는데, 상기 트리 구조는 AVL(Adelson-Velskii Landis)-Tree, 균형 트리(B-Tree) 또는 균형확장-트리(B* Tree) 등의 균형을 유지하는 형태의 트리의 데이터 구조의 피어-투-피어 네트워크를 형성하여, 상기 전달되는 이벤트 메시지들의 전송 속도를 보장하게 된다. 이때, 상기 하위 노드는 상기 트리의 트래버설(traversal) 후에 적절한 노드에 추가되어, 부모 노드 또는 자식 노드와 연결될 수 있는데, 상기 트리의 트래버설은 후술하기로 한다.
한편, 도 8은 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 장치의 구성도로서, 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 서버(610)는 수신부(611), 등록/인증 모듈(612), 이벤트 알림 제어부(613), 데이터 처리부(616) 및 송신부(616)를 포함하며, 상기 이벤트 알림 서비스에 가입한 복수의 클라이언트로부터 이벤트 알림 요청이 있는 경우, 최근 발생한 이벤트를 저장하는 이벤트 데이터베이스(614), 및 상기 최상위 노드의 정보를 저장하는 노드 관리 데이터베이스(615)를 추가로 포함할 수 있다.
도 8을 참조하면, 상기 수신부(611)는 P2P 네트워크를 경유하여, 복수의 클라이언트로부터 이벤트 알림 서비스 가입 요청을 수신하거나 이벤트 발생 알림 요청 메시지를 수신하게 되며, 상기 등록/인증 모듈(612)은 상기 이벤트 알림 서비스 가입 요청시 소정의 조건에 따라 상기 이벤트 알림 서비스 가입을 인증하게 된다.
또한, 상기 이벤트 알림 제어부(613)는 상기 이벤트 서비스 가입을 요청하는 복수의 클라이언트가 최상위 노드 조건에 만족하면 이를 저장 관리하고, 상기 이벤트 발생 알림 요청 메시지가 발생하는 경우, 상기 최상위 노드에만 이벤트 메시지를 제공하게 된다. 또한, 상기 이벤트 알림 제어부(613)는 상기 복수의 클라이언트 중에서 최상위 노드에 선정되지 않은 클라이언트가 상기 피어-투-피어 네트워크에서 자신의 위치에 맞는 노드에 위치하도록 제어하게 된다.
또한, 상기 데이터 처리부(616)는 상기 이벤트 발생 알림 요청 메시지에 따라 상기 최상위 노드에 발송될 이벤트 메시지를 소정의 데이터 형식으로 변환하고, 상기 송신부(617)는 상기 변환된 이벤트 메시지를 상기 최상위 노드에 발송하게 된다. 여기서, 상기 소정의 데이터 형식은, 상기 이벤트 서비스별 구별자로서, 이벤트 알림 서비스를 구별하는 이벤트 알림 서비스 식별자; 상기 이벤트 처리부에서 관리되는 적절한 수의 최상위 노드의 주소 정보를 나타내는 이벤트 수신 최상위 노드 주소; 및 수 분 내에 발생한 최근의 이벤트 정보를 나타내는 최근 발생 이벤트 정보를 포함할 수 있다.
한편, 도 9a 내지 도 9c는 각각 본 발명의 실시예에 따른 P2P 네트워크를 구성하는 슈퍼노드 및 슈퍼피어를 예시하는 도면이다.
도 9a는 사용자가 슈퍼피어(630)인 경우로서 최상위 노드(640b)에 위치하는 경우를 나타내며, 도 9b는 사용자가 중간에 위치한 피어(620a)인 경우를 나타내고, 도 9c는 사용자가 가장 하위 피어(620b)에 위치하는 경우를 나타내고 있다. 이때, 이벤트 알림 서비스에 가입한 사용자는 다른 피어들과 함께 P2P 네트워크를 형성하고, 논리적으로 연결되는 경우, 적절한 노드 위치에 자리잡게 된다.
한편, 각 구성요소별로 관리하는 데이터 구조를 간단하게 정리하면 다음과 같다.
도 10은 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 시스템의 중앙처리 장치의 데이터 구조를 예시하는 도면이다.
도 10을 참조하면, 상기 중앙 이벤트 처리 장치(610)에서 처리되는 데이터 구조(1000)는 이벤트 알림 서비스 식별자(1010), 이벤트 수신 슈퍼노드 주소 정보(1020) 및 최근 발생 이벤트 정보(1030)를 포함할 수 있다.
상기 이벤트 알림 서비스 식별자(1010)는 이벤트 서비스별 구별자로 이벤트 알림 서비스를 구별하기 위한 것이고, 상기 이벤트 수신 슈퍼노드 주소(1020)는 상기 중앙 이벤트 처리 장치(610)에서 관리되는 적절한 수의 최상위 노드/슈퍼노드, 바람직하기로는 1 내지 10개 정도의 이벤트 수신자 수에 따라 결정되는 슈퍼노드의 아이피와 통신포트 정보 등의 주소 정보를 말하며, 최근 발생 이벤트 정보(1030)는 수 분 내에 발생한 최근의 이벤트 정보로서, 캐쉬(cache) 메모리 형태로 저장 및 관리될 수 있다.
도 11은 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 시스템의 이벤트 발생 소스의 데이터 구조를 예시하는 도면이다.
도 11을 참조하면, 상기 이벤트 발생 소스에서 처리되는 데이터 구조(1100)는 이벤트 알림 서비스 식별자(1110), 이벤트 메시지 식별자(1120), 이벤트 메시지 형식(1130) 및 이벤트 메시지(1140)를 포함할 수 있다.
여기서, 상기 이벤트 알림 서비스 식별자(1110)는 이벤트 서비스별 구별자로서 이벤트 알림 서비스를 구별하기 위한 것이고, 상기 이벤트 메시지 식별자(1120)는 각 이벤트별 메시지를 구분하는 아이디를 말하며, 상기 이벤트 메시지 형식(1130)은 텍스트(Text), 하이퍼텍스트 생성 언어(HyperText Markup Language: HTML), 확장성 생성 언어(Extensible Markup Language: XML) 또는 레코드 정의 필드(Record Definition Field: RDF) 형식 등의 메시지 포맷을 구별하기 위한 것이고, 상기 이벤트 메시지(1140)는 실제 사용자에게 보여질 메시지를 포함하게 된다.
도 12는 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 시스템의 서비스 가입 노드의 데이터 구조를 예시하는 도면이다.
도 12를 참조하면, 상기 서비스 가입 노드에서 처리되는 데이터 구조(1200)는 이벤트 알림 서비스 식별자(1210), 부모 노드 정보(1220), 부모의 부모 노드 정보(1230), 자식 노드 정보(1240) 및 최근 발생 이벤트(1250)를 포함할 수 있다.
상기 이벤트 알림 서비스 식별자(1210)는 이벤트 서비스별 구별자로 이벤트 알림 서비스를 구별하기 위한 것이고, 상기 부모 노드 정보(1220)는 이벤트 알림 서비스 메시지를 수신할 부모 노드의 주소 정보를 관리하기 위한 것이며, 상기 부모의 부모 노드 정보(1230)는 부모 장애 발생시 연결한 부모의 부모 노드의 주소정보를 말하며, 상기 자식 노드 정보(1240)는 이벤트 알림 서비스 메시지를 전달할 부모 노드의 주소정보를 관리하기 위한 것이며, 상기 최근 발생 이벤트 정보(1250)는 수 분 내에 발생한 최근의 이벤트 정보로서, 캐쉬 메모리 형태로 저장 및 관리될 수 있다.
전술한 도 10 내지 도 12의 데이터 구조는 그 용도 및 필요에 따라 다른 데이터를 포함할 수 있다는 것은 당업자에게 자명할 것이다.
한편, 본 발명의 실시예에 따른 이벤트 알림 서비스는 보통 트리 구조로 이루어질 수 있는데, 특히, 트리의 균형을 맞추어 AVL-트리, 균형 트리 또는 균형확장-트리 등의 균형을 유지하는 형태의 트리의 데이터 구조를 포함한 여러 데이터 구조를 활용하여, P2P 네트워크 내의 데이터 전달 속도를 어느 정도 보장할 수 있도록 구조화하게 된다.
도 13은 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 서비스의 능동적 가입 방법을 나타내는 순서도이다.
도 13을 참조하면, 먼저, P2P 네트워크에서 이벤트 알림 서비스에 등록하는 과정은 새로운 피어가 중앙 이벤트 처리장치에 서비스 가입 정보를 요청하면서 시작된다. 즉, 복수의 클라이언트가 피어-투-피어 네트워크에 접속하여(S1310), 이벤트 처리 장치에 이벤트 알림 서비스 가입 정보를 요청하게 된다(S1320).
다음으로, 상기 이벤트 처리장치가 상기 이벤트 알림 서비스를 위한 가입 정보로서 최상위 노드 조건 정보를 제공하는데(S1330), 이때, 상기 이벤트 처리장치는 트리 구조에 기반하여 최상위 노드들의 주소 정보만을 관리하고 있다. 이후, 상기 클라이언트가 상기 최상위 노드 조건에 만족하는지 확인하게 된다(S1340).
다음으로, 신규 피어인 상기 클라이언트가 상기 최상위 노드 조건에 만족하는 경우, 상기 이벤트 처리장치가 상기 클라이언트를 노드 관리 목록에 추가하고(S1350), 그 가입 인증 결과를 알려주게 된다(S1360).
다음으로, 상기 클라이언트가 상기 최상위 노드 조건에 만족하지 않는 경우, 최상위 노드의 주소 정보에 따라 상기 최상위 노드의 하위 노드 중 어느 위치에 참여할 수 있는지를 상기 최상위 노드로부터 그 자식 노드로 이동하면서 검색하게 된다(S1370). 다음으로, 상기 검색에 대한 응답을 각각의 노드로부터 수신하여 적절한 노드 위치에 능동적으로 참여하게 된다(S1380).
대부분의 경우 최상위 부모 노드의 주소정보를 수신한 피어는 일반적인 트리 트래버설 알고리즘에 기반하여 상위 부모 노드부터 어느 위치에 참여할 수 있는지를 최상위 부모에서부터 다음 단계 자식 노드로 이동하면서 계속 쿼리하고 응답 받아 적절한 위치를 찾아서 참여를 능동적으로 하게 된다.
한편, 상기 S1370 단계는 트리 트래버설(tree traversal) 알고리즘에 기반하여 수행되는데, 상기 트래버설(traversal)은 순회, 운행, 검색, 탐색, 조회 등의 의미로 트리 내의 각 노드들에 대한 순회 순서를 정하는 것을 말한다.
이하에서, L은 왼쪽 서브 트리를, R은 오른쪽 서브 트리를, D는 루트(또는 자료의 출력)를 의미한다고 가정하면, 본 발명의 실시예에 따른 트리가, 예를 들어, 2진 트리의 경우, inorder, postorder, preorder의 3가지 방법으로 트래버설 알고리즘이 수행된다.
상기 inorder 방식은 L→D→R의 순서로 검색하는 중위 순회로서, 이때, 루트(D)를 중간에 순회하므로 중위 순회라 한다. 상기 inorder 방식은 루트의 왼쪽 부분의 서브 트리를 검색하는데 이때도 L→D→R의 순서를 적용하고, 다음 오른쪽 부분의 서브 트리를 검색할 때도 역시 L→D→R의 순서를 적용한다. 이와 같이 이하의 모든 노드에 같은 원칙을 되풀이 적용하는 것을 순환(recursive)이라 한다.
또한, 상기 postorder 방식은 L→R→D의 순서로 검색하는 후위 순회로서, 이때, 루트(D)를 제일 뒤에(post) 검색하므로 후위 순회라 한다. 상기 postorder 방식에서는 왼쪽 서브트리를 검색할 때 다시 L→R→D를 적용하고, 오른쪽도 마찬가지로 순환적으로 적용된다.
또한, 상기 preorder 방식은 D→L→R의 순서로 검색하는 전위 순회로서, 이때, 루트(D)를 먼저(pre) 검색하므로 전위 순회라 한다. 상기 preorder 방식은 루트의 왼쪽을 검색할 때 D→L→R이 적용되고, 오른쪽도 마찬가지이다.
한편, 도 14는 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 방법을 나타내는 순서도이다.
도 14를 참조하면, 먼저, 이벤트 알림 서비스 가입자에게 알릴 이벤트가 발생되면, 상기 이벤트 알림을 요청하게 되며(S1410), 이후 상기 이벤트 알림 요청이 있는 경우, 이벤트 처리부가 상기 이벤트가 전달될 최상위 노드 정보를 검색하여, 상기 최상위 노드 정보에 따라 상기 최상위 노드에게만 이벤트 메시지를 발송하게 된다(S1420). 이때, 상기 최상위 노드는 상기 이벤트 처리부가 데이터 처리 능력, 전송 속도를 고려하여 선정하고 관리하게 된다.
여기서, 상기 이벤트 알림 서비스 가입 노드는 적어도 하나 이상의 최상위 노드 또는 복수의 하위 노드로 이루어지며, 상기 최상위 노드 및 하위 노드는 각각 트리 구조로 배치되어 상기 피어-투-피어 네트워크를 형성하며, 상기 트리 구조는 AVL-트리, 균형-트리 또는 균형확장-트리 등의 균형을 유지하는 형태의 트리의 데이터 구조의 피어-투-피어 네트워크를 형성하여, 상기 전달되는 이벤트 메시지들의 전송 속도를 보장하게 된다.
또한, 상기 하위 노드는 전술한 트리의 트래버설(traversal) 후에 적절한 노드에 추가되어, 부모 노드 또는 자식 노드와 연결되게 된다. 또한, 상기 최상위 노드 및 하위 노드는 각각 부모 노드와 복수의 자식 노드를 구비하여 계층적으로 연결된다.
다음으로, 상기 이벤트 메시지를 수신한 상기 최상위 노드가 사용자에게 상기 이벤트 메시지를 제공하고, 동시에 자신의 자식 노드들에게 연결하여 상기 이벤트 메시지를 전달하게 된다(S1430).
다음으로, 모든 이벤트 알림 서비스 가입자에게 상기 이벤트 알림 메시지가 전송되는지를 확인하고(S1440), 모두 전송될 때까지, 다른 이벤트 알림 서비스 가입 노드에 상기 이벤트 메시지를 전달하게 된다. 즉, 외부의 이벤트 발생지로부터 중앙 이벤트 처리장치로 이벤트 알림을 요청하는 쿼리가 오고, 상기 중앙 이벤트 처리장치는 관리하고 있는 최상위 부모 노드들에게 알림 메시지를 전달하며, 상기 이벤트 메시지를 수신한 최상위 부모 노드들은 사용자에게 메시지를 제공하고, 동시에 자신의 자식 노드들에게 연결하여 메시지를 전달한다. 이러한 동작이 반복되어 이벤트 알림 서비스에 가입한 모든 피어들에게 메시지가 전송이 된다.
만일, 추가 이벤트가 발생하는지를 확인하여(S1450), 상기 추가 이벤트가 발생하는 경우, 상기 S1420 내지 S1440 단계를 반복 수행하게 된다.
그리고 P2P 네트워크에서 발생하는 피어의 불안정성을 극복하기 위해 각 노드들은 수분내의 이벤트 메시지를 캐쉬한 후, 등록을 요청하는 노드에게 전달하는 방법 등을 통해 이벤트 메시지 전달의 신뢰성을 높일 수 있다.
예를 들어, 자식 노드에서 부모 노드로 주기적으로 UDP 등의 인터넷 프로토콜을 활용하여 수초 내지 수십 초 주기로 부모 노드의 연결을 확인하고, 응답이 없을 때 보다 짧은 주기로 추가 응답 확인을 한 후, 이때도 응답이 없다면 부모노드의 이상이라고 감지하여, 이미 알고 있던 부모의 부모 노드의 주소로 재참가를 하게 된다. 그 사이에 발생했던 이벤트가 있을 수 있으므로, 수신한 최신 이벤트 메시지 식별자 등을 전송하여 비교하는 방법 등을 활용하여 새로 연결된 부모 노드로부터 최근 수 분 내에 발생한 이벤트 메시지를 비교한 후 재수신함으로써 이벤트 알림의 신뢰성을 보장할 수 있다.
이때, 확률적으로 많이 발생하지는 않겠지만, 새로 접속하는 부모 노드에게도 접속할 수 없을 경우, 상기 중앙 이벤트 처리장치에 접속하여 처음 참여 과정을 되풀이할 수 있으므로 이벤트 알림 시스템의 신뢰성을 보장할 수 있다.
한편, 도 15는 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 서비스의 능동적 탈퇴 방법을 나타내는 순서도이다.
도 15를 참조하면, 먼저, 피어-투-피어 네트워크를 이용하는 이벤트 알림 서비스에 가입하고 있던 소정 위치의 노드로부터 서비스 가입자가 상기 이벤트 알림 서비스 탈퇴를 요청하는 경우(S1510), 상기 서비스 가입자가 위치하는 탈퇴 노드의 자식 노드들에게 탈퇴 여부를 알리게 되는데(S1520), 이때, 트리노드 삭제 알고리즘에 따라 탈퇴가 이루어지게 된다.
다음으로, 상기 탈퇴 노드의 부모 노드로부터 등록을 검색하여 상기 자식 노드들에게 다른 신규 부모 노드를 찾아주게 된다(S1530).
다음으로, 상기 자식 노드가 상기 신규 부모 노드에 참여하여 피어-투-피어 네트워크가 재구성되고(S1540), 상기 이벤트 알림 서비스 탈퇴가 처리되고 수신이 해제된다(S1550).
본 발명에 따르면, 모든 클라이언트에게 발송하는 것보다는 아무리 사용자가 많다 하더라도 지정된 숫자의 클라이언트에게만 발송하면 되고, 또한, 중앙 이벤트 처리 서버에서는 해당 이벤트에 대한 클라이언트 리스트를 관리할 필요가 없이, 이벤트 알림이 특정되지 않고 일반화될 수 있으며, 또한, 이벤트 알림 시스템의 용량은 이벤트의 숫자에만 선형적 관련이 있을 뿐, 클라이언트의 숫자에는 거의 무관하게 된다.
이상의 설명에서 본 발명은 특정의 실시예와 관련하여 도시 및 설명하였지만, 특허청구범위에 의해 나타난 발명의 사상 및 영역으로부터 벗어나지 않는 한도 내에서 다양한 개조 및 변화가 가능하다는 것을 당업계에서 통상의 지식을 가진 자라면 누구나 쉽게 알 수 있을 것이다.
본 발명에 따르면, 모든 클라이언트에게 발송하는 것보다는 아무리 사용자가 많다 하더라도 지정된 숫자의 클라이언트에게만 발송하면 되어 서버의 용량과 네트워크 트래픽이 획기적으로 줄어들 수 있다.
또한, 중앙 이벤트 처리 서버에서는 해당 이벤트에 대한 클라이언트 리스트를 관리할 필요가 없고, 이벤트가 일반화되어, 프로토콜 수준의 통일성만 가지고도 해당 이벤트 시스템을 활용할 수 있어, 시스템간의 결합이 약하게 연결되어도 되는 약결합 또는 유연결합(Loosely-coupled)이 이루어질 수 있다.
도 1은 종래의 기술에 따른 메신저 방식의 이벤트 알림 시스템을 예시하는 도면이다.
도 2는 종래의 기술에 따른 메신저 방식의 이벤트 알림 방법을 나타내는 순서도이다.
도 3은 종래의 기술에 따른 이벤트 알리미 방식의 이벤트 알림 시스템을 예시하는 도면이다.
도 4는 종래의 기술에 따른 이벤트 알리미 방식의 이벤트 알림 방법을 나타내는 순서도이다.
도 5는 일반적인 P2P 네트워크를 이용하여 파일을 분할하여 다운로드하는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 P2P 네트워크를 구성하는 것을 예시하는 도면이다.
도 7은 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 시스템을 개략적으로 예시하는 도면이다.
도 8은 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 장치의 구성도이다.
도 9a 내지 도 9c는 각각 본 발명의 실시예에 따른 P2P 네트워크를 구성하는 슈퍼노드 및 슈퍼피어를 예시하는 도면이다.
도 10은 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 시스템의 중앙처리 장치의 데이터 구조를 예시하는 도면이다.
도 11은 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 시스템의 이벤트 발생 소스의 데이터 구조를 예시하는 도면이다.
도 12는 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 시스템의 서비스 가입 노드의 데이터 구조를 예시하는 도면이다.
도 13은 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 서비스의 능동적 가입 방법을 나타내는 순서도이다.
도 14는 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 방법을 나타내는 순서도이다.
도 15는 본 발명의 실시예에 따른 P2P 네트워크를 이용한 이벤트 알림 서비스의 능동적 탈퇴 방법을 나타내는 순서도이다.

Claims (1)

  1. 이벤트 알림 서비스에 가입한 복수의 가입자에게 피어-투-피어 네트워크를 경유하여 이벤트를 알리는 방법에 있어서,
    a) 이벤트 알림 서비스 가입자에게 알릴 이벤트가 발생되면, 상기 이벤트 알림을 요청하는 단계;
    b) 상기 이벤트 알림 요청이 있는 경우, 이벤트 처리부가 상기 이벤트가 전달될 최상위 노드 정보를 검색하는 단계;
    c) 상기 최상위 노드 정보에 따라 상기 최상위 노드에게만 이벤트 메시지를 발송하는 단계; 및
    d) 상기 이벤트 메시지를 수신한 상기 최상위 노드가 사용자에게 상기 이벤트 메시지를 제공하고, 동시에 자신의 자식 노드들에게 연결하여 상기 이벤트 메시지를 전달하는 단계;
    e) 모든 이벤트 알림 서비스 가입자에게 상기 이벤트 알림 메시지가 전송될 때까지, 다른 이벤트 알림 서비스 가입 노드에 상기 이벤트 메시지를 전달하는 단계; 및
    f) 추가 이벤트가 발생하는 경우, 상기 b) 내지 e) 단계를 반복 수행하는 단계
    를 포함하는 피어-투-피어 네트워크를 이용한 이벤트 알림 방법.
KR1020040021612A 2004-03-30 2004-03-30 피어-투-피어 네트워크를 이용한 이벤트 알림 시스템 및그 방법 KR20050096417A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040021612A KR20050096417A (ko) 2004-03-30 2004-03-30 피어-투-피어 네트워크를 이용한 이벤트 알림 시스템 및그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040021612A KR20050096417A (ko) 2004-03-30 2004-03-30 피어-투-피어 네트워크를 이용한 이벤트 알림 시스템 및그 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020040021227A Division KR100574385B1 (ko) 2004-03-29 2004-03-29 피어-투-피어 네트워크를 이용한 이벤트 알림 시스템 및그 방법

Publications (1)

Publication Number Publication Date
KR20050096417A true KR20050096417A (ko) 2005-10-06

Family

ID=37276496

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040021612A KR20050096417A (ko) 2004-03-30 2004-03-30 피어-투-피어 네트워크를 이용한 이벤트 알림 시스템 및그 방법

Country Status (1)

Country Link
KR (1) KR20050096417A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100386998C (zh) * 2006-03-10 2008-05-07 清华大学 对等网络中全局节点维护方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100386998C (zh) * 2006-03-10 2008-05-07 清华大学 对等网络中全局节点维护方法

Similar Documents

Publication Publication Date Title
EP1802072B1 (en) Peer-to-peer message format
US9578081B2 (en) System and method for providing an actively invalidated client-side network resource cache
CA2505630C (en) Network traffic control in peer-to-peer environments
CN110557423B (zh) 一种消息推送方法及系统
US20070143442A1 (en) Scalable Publish/Subscribe Broker Network Using Active Load Balancing
US20060212582A1 (en) Architecture for building a peer to peer messaging platform
Mahambre et al. A taxonomy of qos-aware, adaptive event-dissemination middleware
Xu et al. Cuckoo: towards decentralized, socio-aware online microblogging services and data measurements
US20090177729A1 (en) Managing watcher information in a distributed server environment
Shen et al. Social-P2P: An online social network based P2P file sharing system
Voulgaris et al. Proactive gossip‐based management of semantic overlay networks
Sandler et al. Birds of a FETHR: open, decentralized micropublishing.
Tandukar et al. Selective propagation of social data in decentralized online social network
Zhu et al. Ripple: A publish/subscribe service for multidata item updates propagation in the cloud
Baldoni et al. Distributed event routing in publish/subscribe systems
US20050276234A1 (en) Method and architecture for efficiently delivering conferencing data in a distributed multipoint communication system
KR100574385B1 (ko) 피어-투-피어 네트워크를 이용한 이벤트 알림 시스템 및그 방법
Liu et al. Efficient resource discovery in self‐organized unstructured peer‐to‐peer networks
Tran et al. Decentralized online social network using peer-to-peer technology
Vyzovitis et al. Gossipsub: A secure pubsub protocol for unstructured, decentralised p2p overlays
KR20050096417A (ko) 피어-투-피어 네트워크를 이용한 이벤트 알림 시스템 및그 방법
Hecht et al. B-tracker: Improving load balancing and efficiency in distributed p2p trackers
Pemg et al. Providing content-based services in a peer-to-peer environment
Ma et al. A cloud‐assisted publish/subscribe service for time‐critical dissemination of bulk content
Yoon et al. Exploring a system architecture of content‐based publish/subscribe system for efficient on‐the‐fly data dissemination

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Withdrawal due to no request for examination