KR101422213B1 - 단말의 능력을 기초로 역할을 설정하는 장치 및 그 방법 - Google Patents

단말의 능력을 기초로 역할을 설정하는 장치 및 그 방법 Download PDF

Info

Publication number
KR101422213B1
KR101422213B1 KR1020070120412A KR20070120412A KR101422213B1 KR 101422213 B1 KR101422213 B1 KR 101422213B1 KR 1020070120412 A KR1020070120412 A KR 1020070120412A KR 20070120412 A KR20070120412 A KR 20070120412A KR 101422213 B1 KR101422213 B1 KR 101422213B1
Authority
KR
South Korea
Prior art keywords
terminal
role
super
node
capability
Prior art date
Application number
KR1020070120412A
Other languages
English (en)
Other versions
KR20090053532A (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 KR1020070120412A priority Critical patent/KR101422213B1/ko
Priority to US12/204,177 priority patent/US8898266B2/en
Publication of KR20090053532A publication Critical patent/KR20090053532A/ko
Application granted granted Critical
Publication of KR101422213B1 publication Critical patent/KR101422213B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms
    • 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
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • 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
    • H04L67/303Terminal profiles

Abstract

본 발명은 단말의 능력을 기초로 역할을 설정하는 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 각 단말의 능력 변화에 따라 능력 값을 계산하여 계산된 능력 값을 기초로 해당 단말이 능력에 따른 역할로 변경할 수 있도록 하는 장치 및 방법에 관한 것이다.
본 발명의 일 실시예에 따른 단말의 능력을 기초로 역할을 설정하는 장치는, 소정 단말에 설정되어 있는 역할이 적합한지를 체크하기 위해 상기 단말의 능력 값을 계산하는 계산부와, 상기 계산된 능력값을 기초로 상기 단말에 설정된 역할이 적합한지를 판단하는 판단부와, 상기 판단 결과를 기초로 상기 단말에 설정되어 있는 역할의 설정 정보를 변경 및 관리하는 설정부를 포함한다.
P2P, 슈퍼노드, 리프노드, 능력값

Description

단말의 능력을 기초로 역할을 설정하는 장치 및 그 방법{Apparatus and method for setting role based on capability of terminal}
본 발명은 단말의 능력을 기초로 역할을 설정하는 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 각 단말의 능력 변화에 따라 능력값을 계산하여 계산된 능력값을 기초로 해당 단말이 능력에 따른 역할로 변경할 수 있도록 하는 장치 및 방법에 관한 것이다.
종래에 연구된 알고리즘인 Peer-to-Peer(P2P) 기술은 HTTP와 같이 어플리케이션 레벨의 프로토콜로, 사용자 사이의 실시간 통신이나 자원분배 및 교환 등을 지원하는 기술로 정의되고 있다. P2P는 일반적으로 서버를 이용한 혼합형(hybrid) P2P 방식과 모든 노드가 서버와 클라이언트의 동작을 수행하는 순수(pure) P2P 방식이 존재한다. 순수 P2P 방식은 근본적인 Peer-to-Peer의 개념을 따른 것으로, 대규모의 망에서 각 노드가 공유된 자원의 검색 및 발견이 어렵다는 문제점을 가지고 있다.
혼합형 P2P 방식은 서버를 통해 각 노드들에게 자원의 공유 기능을 제공하는 것으로, 서비스를 제공할 수 있는 중앙 서버와 실질적인 공유 자원을 가지고 있는 P2P 노드들로 구성되어있다. 중앙 서버는 각 노드들로부터 네트워크 연결 세션을 유지하고 공유한 자원들의 메타 데이터들을 관리 유지하여 P2P 노드들의 필요에 의한 자원을 쉽게 검색할 수 있다. 각 P2P 노드는 공유 자원을 검색하기 위해 서버에 접속하여 해당 자원을 보유한 노드를 검색하고 실제 자원의 교환은 두 노드 간의 연결을 통해 이루어진다. 이러한 구조의 대표적인 예로는 세계적으로 잘 알려져 있는 Napster이다. 그러나, 이와 같은 구조는 확장성이 부족하고, 또한 중앙 집중으로 인한 비용의 상승 및 안정성에 취약하다는 문제점을 가지고 있다.
순수 P2P 방식은 널리 알려져 있는 Gnutella와 Freenet등이 대표적으로 사용하고 있다. Gnutella의 경우 각 노드는 응용 차원에서 스스로 연결하여 네트워크를 이루고 있는데, 이 노드는 파일을 검색하기 위해 일정 범위 안으로 검색 메시지를 플루딩(Flooding)하여 파일을 가진 노드의 정보를 얻을 수 있다. 그러나 주기적으로 메시지를 모든 Gnutella 네트워크에 플루딩하기 때문에 확장성에 대한 큰 문제점을 가지고 있다.
반면에, 해쉬 테이블을 이용하여 실제 값과 해쉬 함수를 통해 얻은 키의 조합에 의해 네트워크를 구축하는 P2P 오버레이 네트워크는 확장성 및 안정성을 제공한다. 대표적인 방법으로는 DHT(Distributed Hash Table: 분산 해쉬 테이블)를 사용하는 Chord, Pastry, 및 CAN 등이 있다.
Chord의 경우 원형의 m-bit 가상 식별자 공간을 이용하여 노드와 공유 파일을 각각 해쉬 함수를 통해 얻은 식별값을 배치시킨다. 또한 자원을 검색하기 위해 각 노드는 핑거 테이블(finger table)이라는 라우팅 테이블을 유지하여 검색 수행을 용이하게 한다.
Pastry는 마이크로소프트사(Microsoft)에 의해 제안된 방법으로 IP 주소나 공개키를 암호화 해쉬를 통해 중복되지 않는 랜덤한 128비트 노드 식별자로 만들어 이름 공간상에 분산되도록 한다. 또한 데이터도 128비트 키를 가지며, 데이터로부 유추되는 키에 가장 가까운 키를 가진 노드에 저장되어 검색을 용이하게 한다.
CAN은 해쉬 함수를 통해 d 차원에서 한 점에 대응되는 벡터 P (p = hash(key) )를 얻어 각 노드들은 가상공간을 분할한 존의 범위에 해당하는 데이터를 저장하게 된다.
또한, 구조적 피어투피어 시스템은 대부분 평면적인 구조를 갖고 있으며, 피어투피어 시스템에 참여하는 피어는 모두 동일한 역할을 수행한다.
최근에는 단말간의 능력이 상이하다는 것에 초점을 맞추고 능력별로 다른 역할을 수행하도록 하는 방법들이 제안되고 있으며, 이에, 피어들을 슈퍼노드(SuperNode)와 리프노드(LeafNode) 등의 역할로 구분한다. 그러나, 노드의 능력이 변경될 수 있다는 점이 고려되지 않고 있기 때문에, 처음에 부여한 슈퍼노드의 역할이 얼마 후에는 적합하지 않은 역할이 될 수도 있고, 처음에는 리프노드의 역할을 부여 받았으나 나중에 더 좋은 능력을 갖게 되었음에도 불구하고 리프노드의 역할로 인해 능력을 충분히 활용할 수 없게 되어, 피어투피어 시스템의 전체적인 성능이 떨어지게 된다는 문제점이 있다.
한국공개특허 2004-0101050(식별자를 피어투피어 네트워크 내 피어 그룹에 할당하기 위한 방법)은 새로운 식별자의 배포에 요구되는 데이터 트래픽 양을 최소 화하면서 피어-그룹에 대한 식별자를 자동으로 결정하기 위한 적합한 파라미터 및 알고리즘을 정의하는 것으로, 가장 적합한 기존의 그룹 식별자가 결정되어 재사용되고, OwnerZone의 구조가 피어들을 부가하거나 제거함으로써 변경될 때, 및 새로운 OwnerZone이 OwnerZone들을 분리하거나 합체함으로써 생성될 때 이용되는 기술을 개시하고 있으나, 이는 단말의 능력을 기초로 하여 해당 단말이 수행하는 역할을 변경시키는 기술에 대해서 전혀 언급하고 있지 않다.
본 발명의 기술적 과제는, 각 단말의 능력 변화를 체크하여 변화된 능력에 따른 역할을 수행하도록 하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 단말의 능력을 기초로 역할을 설정하는 장치는, 소정 단말에 설정되어 있는 역할이 적합한지를 체크하기 위해 상기 단말의 능력값을 계산하는 계산부와, 상기 계산된 능력값을 기초로 상기 단말에 설정된 역할이 적합한지를 판단하는 판단부와, 상기 판단 결과를 기초로 상기 단말에 설정되어 있는 역할의 설정 정보를 변경 및 관리하는 설정부를 포함한다.
또한, 본 발명의 일 실시예에 따른 단말의 능력을 기초로 역할을 설정하는 방법은, 소정 단말에 설정되어 있는 역할이 적합한지를 체크하기 위해 상기 단말의 능력값을 계산하는 단계와, 상기 계산된 능력값을 기초로 상기 단말에 설정된 역할이 적합한지를 판단하는 단계와, 상기 판단 결과를 기초로 상기 단말에 설정되어 있는 역할의 설정 정보를 변경하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있 다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
상기한 바와 같은 본 발명의 단말의 능력을 기초로 역할을 설정하는 장치 및 그 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
각 단말의 능력 변화를 체크하여 변화된 능력에 따른 역할을 수행하도록 하는 장점이 있다.
또한, 단말이 자신의 능력에 따른 역할을 수행하도록 함으로써, 피어투피어 시스템의 효율을 극대화할 수 있는 장점이 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
DHT를 기반으로 오버레이 네트워크 시스템에 참여하는 단말들의 능력이 상이하다는 것에 초점을 맞추어 능력별로 다른 역할을 수행하도록 하는 방법들이 제안 되고 있으며, 이에 피어들을 슈퍼노드(SuperNode)와 리프노드(LeafNode) 등의 역할로 구분한다. 여기서, 슈퍼노드는 리프노드 보다 능력(capability)이 좋은 노드를 말하며, 이에, 수퍼노드는 일정 키 공간(key space)에 해당하는 리프노드들을 관리한다.
또한, 슈퍼노드는 자신이 관리하는 리프노드들의 레퍼런스(reference)들을 저장한다. 즉, 각 노드가 레퍼런스를 공개(publish)하면, 레퍼런스에 해당하는 키(key) 값에 가장 가까운 키 값을 가진 슈퍼노드에게 해당 레퍼런스가 저장된다. 여기서, 레퍼런스는 각 노드들이 DHT 상에 공개(publish) 한 데이터 또는 데이터에 대한 메타데이터를 말한다.
또한, 리프노드는 슈퍼노드 보다 능력이 부족한 노드로서, 슈퍼노드에 의존하는 노드를 말한다. 즉, 리프노드는 자신의 키 공간에 해당하는 레퍼런스에 대한 공개 또는 룩업(lookup)요청이 들어 왔을 때 슈퍼노드에게 요청을 전달하여 대신 처리하게 한다.
도 1은 본 발명의 일 실시예에 따른 단말의 능력을 기초로 역할을 설정하는 장치에서 슈퍼노드의 역할을 수행하는 단말의 블록도를 나타내는 도면이다.
도시된 바와 같이, 슈퍼노드의 역할을 수행하는 단말(이하, '슈퍼 단말' 이라고 한다)(100)은 송수신부(110), 계산부(120), 판단부(130), 설정부(140), 저장부(150) 및 제어부(160)를 포함하여 구성된다.
이 때, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그 렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다.
송수신부(110)는 리프노드의 역할을 수행하는 단말로부터 공개 또는 룩업 요청 및 레퍼런스를 수신하며, 단말의 역할이 변경되어 리프노드의 역할을 수행할 경우, 다음 슈퍼 단말에게 기 저장된 레퍼런스를 전송한다.
계산부(120)는 단말에 설정되어 있는 역할이 적합한지를 체크하기 위해 능력(capability) 값을 계산한다. 여기서, 능력값은 대역폭, 전송속도, 지연시간 등의 네트워크 성능과, 배터리의 잔량, 및 필요로 하는 리소스(예를 들어, 메모리 또는 CPU)의 사용가능 정도에 따라 계산된다. 또한, 능력값 계산 시 각 파라미터에 가중치를 조정할 수 있다. 능력값을 계산하는 수학식은 하기 [수학식1]과 같다.
[수학식 1]
C = wnN + wbB + wrR
여기서, C는 각 단말들의 능력값을 말하며, N은 네트워크 능력을 나타내며, B는 배터리 잔량을 나타내며, R은 이용 가능한 리소스를 나타낸다. 또한, wn, wb, wr는N, B, R의 가중치를 나타내다. 본원 발명에서는 네트워크 능력(즉, N)에 가장 큰 가중치를 두어서 계산한다.
판단부(130)는 계산부(120)를 통해 얻어진 능력값을 기초로 현재 단말에 설정된 역할이 적합한지를 판단한다. 여기서, 판단부(130)는 계산된 단말의 능력값이 소정의 임계값 보다 클 경우, 해당 단말이 슈퍼노드의 역할을 수행해야 한다고 판단하고, 계산된 단말의 능력값이 소정의 임계값 보다 작을 경우, 해당 단말이 리프노드의 역할을 수행해야 한다고 판단한다.
설정부(140)는 판단부(130)의 판단을 기초로 해당 단말에 설정되어 있는 역할의 설정을 변경 및 관리한다.
예를 들어, 설정부(140)는 현재 슈퍼 단말이지만 판단부(130)가 리프노드의 역할을 수행해야 한다고 판단한 경우, 해당 슈퍼 단말의 역할을 리프노드로 변경하여 해당 단말이 리프노드의 역할을 수행하도록 한다.
반대로, 현재 단말의 역할이 리프노드이지만 판단부(130)가 슈퍼노드의 역할을 수행해야 한다고 판단한 경우, 해당 단말의 역할을 리프노드에서 슈퍼노드로 변경한다.
저장부(150)는 계산부(120)가 계산한 단말의 능력값 및 설정부(140)가 설정한 현재 단말의 역할에 대한 정보를 저장한다.
또한, 저장부(150)는 자신이 관리하는 리프노드의 역할을 수행하는 단말들의 레퍼런스를 저장하며, 능력값 계산에 이용되는 정보들(예를 들어, 네트워크 성능, 배터리의 잔량, 및 필요로 하는 리소스(예를 들어, 메모리 또는 CPU)의 사용가능 정도 등)을 저장한다.
제어부(160)는 설정부(140)의 역할 설정 정보를 기초로하여 슈퍼 단말이 리프노드의 역할을 수행하게 될 경우, 새로운 슈퍼 단말을 검색하고, 저장부(150)에 기 저장되어 있던 리프노드의 역할을 수행하는 단말들의 레퍼런스 정보를 송수신부(110)를 통해 검색된 새로운 슈퍼 단말에게 전송한다.
또한, 제어부(160)는 설정부(140)의 역할 설정 정보를 기초로하여 슈퍼 단말이 리프노드의 역할을 수행하게 될 경우, 자신이 관리하던 리프노드의 역할을 수행하는 단말들에게 자신의 역할이 슈퍼노드에서 리프노드로 변경되었다는 것을 알린다.
또한, 제어부(160)는 슈퍼 단말(100)을 구성하는 각 기능성 블록들(110 내지 150)의 동작을 제어한다.
도 2는 본 발명의 일 실시예에 따른 단말의 능력을 기초로 역할을 설정하는 장치에서 리프노드의 역할을 수행하는 단말의 블록도를 나타내는 도면이다.
도시된 바와 같이, 리프노드의 역할을 수행하는 단말(이하, '리프 단말'이라고 한다)(200)은 송수신부(210), 계산부(220), 판단부(230), 설정부(240), 저장부(250) 및 제어부(260)를 포함하여 구성된다. 여기서, 계산부(220), 판단부(230) 및 설정부(240)는 상기 도 1에서 설명한 슈퍼 단말(100)의 계산부(120), 판단 부(130) 및 설정부(140)와 동일한 동작 및 기능을 수행한다.
송수신부(210)는 공개 또는 룩업 요청 및 레퍼런스를 슈퍼 단말(100)에게 전송하며, 단말의 역할이 변경되어 슈퍼노드의 역할을 수행할 경우, 키 공간상 다음에 위치한 슈퍼 단말(100)로부터 자신이 관리해야 할 리프 단말들의 레퍼런스를 수신 받는다.
저장부(250)는 계산부(220)가 계산한 단말의 능력값 및 설정부(140)가 설정한 현재 단말의 역할에 대한 정보를 저장한다.
또한, 저장부(250)는 능력값 계산에 이용되는 정보들(예를 들어, 네트워크 성능, 배터리의 잔량, 및 필요로 하는 리소스(예를 들어, 메모리 또는 CPU)의 사용가능 정도 등)을 저장한다.
제어부(260)는 설정부(240)의 역할 설정 정보를 기초로하여 리프 단말(200)이 슈퍼노드의 역할을 수행하게 될 경우, 키 공간상 다음에 위치한 슈퍼 단말(100)을 검색하고, 검색된 슈퍼 단말(100)에게 관리하던 리프 단말들의 레퍼런스를 요청한다. 이에, 제어부(260)는 해당 단말이 슈퍼 단말로 동작하도록 제어한다.
또한, 제어부(260)는 리프 단말(200)을 구성하는 각 기능성 블록들(210 내지 250)의 동작을 제어한다.
도 3은 본 발명의 일 실시예에 따른 단말의 능력을 기초로 역할을 설정하는 장치에서 단말의 능력 및 능력이 변경되는 예를 나타내는 도면이다.
도시된 바와 같이, 각 단말들은 이더넷(etherent), 무선랜(WLAN) 및 UMTS 등으로 통신할 수 있다. 여기서, 대역폭 및 데이터 전송률 등의 네트워크 성능이 단 말의 주요 능력이라고 판단하는 경우, 이더넷으로 연결된 단말들의 능력이 가장 좋고, 그 다음 무선랜으로 연결된 단말들의 능력이 좋으며, UMTS으로 연결된 단말들의 능력이 가장 나쁘다고 판단할 수 있다.
즉, 이더넷으로 연결된 단말들은 슈퍼노드의 역할을 수행하는 슈퍼 단말(100)이 되고, 무선랜이나 UMTS으로 연결된 단말들은 리프노드의 역할을 수행하는 리프 단말(200)이 된다.
예를 들어, 무선랜으로 연결되어 있어 리프노드의 역할을 수행하던 소정 단말(즉, 리프 단말)(310)이 핸드오버되어 이더넷으로 이동하게 되면, 단말(310)의 네트워크 이동 정보와 이동한 네트워크의 특성 정보를 통해 해당 단말(310)의 새로운 능력값을 계산한다. 계산 결과 단말(310)의 능력값이 소정의 임계값보다 큰 경우, 해당 단말(310)은 리프노드 역할 대신 슈퍼노드 역할을 수행하는 슈퍼 단말로 변경된다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 단말의 능력을 기초로 역할을 설정하는 장치에서 단말들이 역할을 변경하는 예를 나타내는 도면이다. 여기서는, 계층적 (Hierarchical) 형태의 Chord Ring을 보여주고 있으나, 다른 DHT 프로토콜에도 적용될 수 있다.
도 4a에 도시된 바와 같이, 원래 리프노드의 역할을 수행하는 단말(420)이었으나, 해당 단말(420)의 능력값을 계산한 결과 슈퍼노드의 역할을 수행할 수 있다고 판단되면, 해당 단말(420)이 슈퍼노드의 역할을 수행하도록 해당 단말(420)의 역할 설정을 변경한다.
그 다음, 리프노드의 역할을 수행하던 단말(420)은 슈퍼노드의 역할을 수행하는 단말(420)로 변경되고, 리프 단말에서 슈퍼 단말로 변경되었기 때문에 해당 단말(즉, 새로운 슈퍼 단말)(420)은 DHT 키 공간 상의 일정 부분을 관리해야 한다. 이에, 새로운 슈퍼 단말(420)은 키 공간상 다음에 위치한 슈퍼 단말(410)을 검색한다. 여기서, 새로운 슈퍼 단말(420)은 키 공간상 다음에 위치한 슈퍼 단말(410)이 관리하던 키 값부터 자신의 키 값 부분까지를 관리한다.
그 다음, 검색된 키 공간상 다음에 위치한 슈퍼 단말(410)로부터 자신이 관리해야 하는 리프 단말들(421, 422)의 레퍼런스를 전송 받는다. 새로운 슈퍼 단말(420)은 키 공간상 다음에 위치한 슈퍼 단말(410)이 관리하던 리프 단말들 중 일부의 리프 단말들만을 관리하게 된다. 이하, 도 5에서 리프 단말에서 슈퍼 단말로 역할을 변경하는 과정을 보다 자세히 설명한다.
도 4b에 도시된 바와 같이, 원래 슈퍼노드의 역할을 수행하는 단말(460)이었으나, 해당 단말(460)의 능력값을 계산한 결과 슈퍼노드의 역할을 수행할 수 없다고 판단되면, 해당 단말(460)이 리프노드의 역할을 수행하도록 해당 단말(460)의 역할 설정을 변경한다.
이에, 슈퍼노드의 역할을 수행하던 단말(460)은 리프노드의 역할을 수행하는 단말(460)로 변경되고, 슈퍼 단말에서 리프 단말로 변경되었기 때문에 자신이 관리하던 리프 단말들의 레퍼런스를 전송하기 위해 자신이 키 값 부분을 관리하는 가까운 새로운 슈퍼 단말(470)을 검색한다.
그 다음, 검색된 새로운 슈퍼 단말(470)에게 자신이 관리하던 모든 레퍼런스 를 전송한다. 이 때, 리프노드의 역할을 수행하는 단말로 변경된 단말(460)은 새로운 슈퍼 단말(470)을 자신의 슈퍼 단말로 설정한다.
또한, 리프노드의 역할을 수행하는 단말로 변경된 단말(460)은 자신이 관리하던 리프 단말들(461, 462)에게 자신은 리프노드의 역할을 수행하는 단말로 변경됨을 알린다. 이하, 도 6에서 슈퍼 단말에서 리프 단말로 역할을 변경하는 과정을 보다 자세히 설명한다.
도 5는 본 발명의 일 실시예에 따른 단말의 능력을 기초로 역할을 설정하는 방법에서 리프노드의 역할을 수행하는 단말이 슈퍼노드의 역할을 수행하는 단말로 변경되는 과정을 나타내는 도면이다.
먼저, 리프 단말(200)의 계산부(220)는 현재 단말에 설정되어 있는 역할이 적합한지를 체크하기 위해 단말의 능력값을 계산한다(S510). 여기서, 능력값은 대역폭, 전송속도, 지연시간 등의 네트워크 성능과, 배터리의 잔량, 및 필요로 하는 리소스(예를 들어, 메모리 또는 CPU) 의 사용가능 정도를 기초로 계산되며, 상기에서 설명한 [수학식 1]에 따라 계산된다.
그 다음, 판단부(230)는 계산부(220)를 통해 얻어진 능력값을 기초로 현재 리프 단말(200)에 설정된 역할이 적합한지를 판단한다. 여기서, 계산된 능력값이 소정의 임계값 보다 클 경우, 해당 단말이 슈퍼노드의 역할을 수행해야 한다고 판단하고, 계산된 능력값이 소정의 임계값 보다 작을 경우, 해당 단말이 리프노드의 역할을 수행해야 한다고 판단한다.
판단 결과, 계산된 능력값이 임계값보다 크기 때문에 리프 단말(200)의 역할 변경이 필요하다고 판단되면(S520의 예), 설정부(240)는 판단부(230)의 판단을 기초로 리프 단말(200)에 설정되어 있는 역할의 설정을 변경한다(S530).
그 다음, 제어부(260)는 설정부(240)의 역할 설정 정보를 기초로하여 리프 단말(200)이 슈퍼노드의 역할을 수행할 수 있도록 키 공간상 다음에 위치한 슈퍼 단말(100)을 검색한다(S540).
그 다음, 검색된 다음 슈퍼 단말(100)에게 관리하던 리프 단말들의 레퍼런스를 요청하고, 다음 슈퍼 단말(100)로부터 리프 단말들의 레퍼런스를 전송 받는다(S550).
그 다음, 자신이 관리해야 하는 리프 단말들의 레퍼런스를 저장부(250)에 저장하고, 슈퍼노드의 역할을 수행한다(S560).
한편, S520의 판단 결과 리프 단말(200)의 역할 변경이 필요하지 않다고 판단되면(S520의 아니오), 리프 단말(200)의 역할 설정은 변경되지 않는다. 이 후, 계산부(220)는 소정 시간마다 능력값을 계산하며, 판단부(230)는 계산된 능력값을 기초로 현재 리프 단말(200)에 설정된 역할이 적합한지를 판단한다.
도 6은 본 발명의 일 실시예에 따른 단말의 능력을 기초로 역할을 설정하는 방법에서 슈퍼노드의 역할을 수행하는 단말이 리프노드의 역할을 수행하는 단말로 변경되는 과정을 나타내는 도면이다.
먼저, 슈퍼 단말(100)의 계산부(120)는 현재 단말에 설정되어 있는 역할이 적합한지를 체크하기 위해 단말의 능력값을 계산한다(S610). 여기서, 능력값은 대역폭, 전송속도, 지연시간 등의 네트워크 성능과, 배터리의 잔량, 및 필요로 하는 리소스(예를 들어, 메모리 또는 CPU) 의 사용가능 정도를 기초로 계산되며, 상기에서 설명한 [수학식 1]에 따라 계산된다.
그 다음, 판단부(130)는 계산부(120)를 통해 얻어진 능력값을 기초로 현재 슈퍼 단말(100)에 설정된 역할이 적합한지를 판단한다. 여기서, 계산된 능력값이 소정의 임계값 보다 클 경우, 해당 단말이 슈퍼노드의 역할을 수행해야 한다고 판단하고, 계산된 능력값이 소정의 임계값 보다 작을 경우, 해당 단말이 리프노드의 역할을 수행해야 한다고 판단한다.
판단 결과, 계산된 능력값이 임계값보다 작기 때문에 슈퍼 단말(100)의 역할 변경이 필요하다고 판단되면(S620의 예), 설정부(140)는 판단부(130)의 판단을 기초로 슈퍼 단말(100)에 설정되어 있는 역할의 설정을 변경한다(S630).
그 다음, 제어부(160)는 설정부(140)의 역할 설정 정보를 기초로하여 슈퍼 단말(100)이 리프노드의 역할을 수행할 수 있도록 다음 슈퍼 단말을 검색한다(S640).
그 다음, 검색된 다음 슈퍼 단말에게 자신이 관리하던 리프 단말들의 레퍼런스를 전송하고(S650), 다음 슈퍼 단말을 자신의 슈퍼 단말로 설정한다.
그 다음, 자신이 관리하던 리프 단말들에게 자신의 역할이 슈퍼노드에서 리프노드로 변경되었다는 것을 알린다(S660).
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
도 1은 본 발명의 일 실시예에 따른 단말의 능력을 기초로 역할을 설정하는 장치에서 슈퍼노드의 역할을 수행하는 단말의 블록도를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 단말의 능력을 기초로 역할을 설정하는 장치에서 리프노드의 역할을 수행하는 단말의 블록도를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 단말의 능력을 기초로 역할을 설정하는 장치에서 단말의 능력 및 능력이 변경되는 예를 나타내는 도면이다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 단말의 능력을 기초로 역할을 설정하는 장치에서 단말들이 역할을 변경하는 예를 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 단말의 능력을 기초로 역할을 설정하는 방법에서 리프노드의 역할을 수행하는 단말이 슈퍼노드의 역할을 수행하는 단말로 변경되는 과정을 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 단말의 능력을 기초로 역할을 설정하는 방법에서 슈퍼노드의 역할을 수행하는 단말이 리프노드의 역할을 수행하는 단말로 변경되는 과정을 나타내는 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 슈퍼 단말 200 : 리프 단말
110, 210 : 송수신부 120,220 : 계산부
130, 230: 판단부 140, 240 : 설정부
150, 250 : 저장부 160, 260 : 제어부

Claims (10)

  1. 소정 단말의 능력값을 계산하는 계산부;
    상기 계산된 능력값과 소정의 임계값을 비교하여 상기 단말의 역할을 판단하는 판단부; 및
    상기 판단 결과를 기초로 상기 단말에 설정되어 있는 역할의 설정 정보를 변경 및 관리하는 설정부를 포함하는데,
    상기 단말은 네트워크 상의 다른 단말의 역할 및 능력값과 관계없이 자신의 역할 변경을 결정하는, 단말의 능력을 기초로 역할을 설정하는 장치.
  2. 제 1항에 있어서,
    상기 능력값을 계산하는 이용되는 정보는 네트워크 성능, 배터리 잔량, 및 리소스의 사용가능 정도인, 단말의 능력을 기초로 역할을 설정하는 장치.
  3. 제 1항에 있어서,
    상기 설정부의 역할 설정 정보를 기초로하여 슈퍼노드 또는 리프 노드의 역할을 수행하도록 제어하는 제어부를 더 포함하는, 단말의 능력을 기초로 역할을 설정하는 장치.
  4. 제 3항에 있어서,
    상기 제어부는 상기 단말의 역할이 슈퍼노드에서 리프노드로 변경된 경우, 다음 슈퍼 단말을 검색하고, 기 저장되어 있던 리프 단말의 레퍼런스 정보를 상기 검색된 다음 슈퍼 단말에게 전송하는, 단말의 능력을 기초로 역할을 설정하는 장치.
  5. 제 3항에 있어서,
    상기 제어부는 상기 단말의 역할이 리프노드에서 슈퍼노드로 변경된 경우, 키 공간상 다음에 위치한 슈퍼 단말을 검색하고, 상기 검색된 다음 슈퍼 단말에게 리프 단말의 레퍼런스 정보를 요청하는, 단말의 능력을 기초로 역할을 설정하는 장치.
  6. 소정 단말의 능력값을 계산하는 단계;
    상기 계산된 능력값과 소정의 임계값을 비교하여 상기 단말의 역할을 판단하는 단계; 및
    상기 판단 결과를 기초로 상기 단말에 설정되어 있는 역할의 설정 정보를 변경하는 단계를 포함하는데,
    상기 단말은 네트워크 상의 다른 단말의 역할 및 능력값과 관계없이 자신의 역할 변경을 결정하는, 단말의 능력을 기초로 역할을 설정하는 방법.
  7. 제 6항에 있어서,
    상기 능력값을 계산하는 이용되는 정보는 네트워크 성능, 배터리 잔량, 및 리소스의 사용가능 정도인, 단말의 능력을 기초로 역할을 설정하는 방법.
  8. 제 6항에 있어서,
    상기 단말의 변경된 역할 설정 정보를 기초로하여 슈퍼노드 또는 리프 노드의 역할을 수행하는 단계를 더 포함하는, 단말의 능력을 기초로 역할을 설정하는 방법.
  9. 제 8항에 있어서,
    상기 단말의 역할이 슈퍼노드에서 리프노드로 변경된 경우, 다음 슈퍼 단말을 검색하는 단계; 및
    상기 검색된 다음 슈퍼 단말에게 기 저장되어 있던 리프 단말의 레퍼런스 정보를 전송하는 단계를 포함하는, 단말의 능력을 기초로 역할을 설정하는 방법.
  10. 제 8항에 있어서,
    상기 단말의 역할이 리프노드에서 슈퍼노드로 변경된 경우, 키 공간상 다음에 위치한 슈퍼 단말을 검색하는 단계; 및
    상기 검색된 다음 슈퍼 단말에게 리프 단말의 레퍼런스 정보를 요청하는 단계를 포함하는, 단말의 능력을 기초로 역할을 설정하는 방법.
KR1020070120412A 2007-11-23 2007-11-23 단말의 능력을 기초로 역할을 설정하는 장치 및 그 방법 KR101422213B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070120412A KR101422213B1 (ko) 2007-11-23 2007-11-23 단말의 능력을 기초로 역할을 설정하는 장치 및 그 방법
US12/204,177 US8898266B2 (en) 2007-11-23 2008-09-04 Apparatus and method for setting role based on capability of terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070120412A KR101422213B1 (ko) 2007-11-23 2007-11-23 단말의 능력을 기초로 역할을 설정하는 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20090053532A KR20090053532A (ko) 2009-05-27
KR101422213B1 true KR101422213B1 (ko) 2014-07-22

Family

ID=40670692

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070120412A KR101422213B1 (ko) 2007-11-23 2007-11-23 단말의 능력을 기초로 역할을 설정하는 장치 및 그 방법

Country Status (2)

Country Link
US (1) US8898266B2 (ko)
KR (1) KR101422213B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE49334E1 (en) 2005-10-04 2022-12-13 Hoffberg Family Trust 2 Multifactorial optimization system and method

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2234375A1 (en) * 2009-03-24 2010-09-29 Thomson Licensing device and method for controlling dissemination of content data between peers in a P2P mode, by using a two-level randomized peer overlay and a dynamic unchoke mechanism
JP5235777B2 (ja) * 2009-05-15 2013-07-10 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
CN103096503B (zh) * 2011-11-04 2016-03-30 华为技术有限公司 通信匹配方法、用户设备和基站
KR101559712B1 (ko) * 2014-01-24 2015-10-14 모다정보통신 주식회사 자율적인 소셜 협업 그룹의 형성에 기초한 지능형 사물 서비스를 제공하는 방법
KR101597898B1 (ko) * 2014-07-31 2016-02-25 에스케이플래닛 주식회사 단말 간 데이터 이동 방법 및 이를 위한 장치
KR101597897B1 (ko) * 2014-07-31 2016-02-25 에스케이플래닛 주식회사 단말간 데이터 이동 시 단말 식별 방법 및 이를 위한 장치
CN108075912B (zh) * 2016-11-11 2022-09-27 中兴通讯股份有限公司 网络中心节点的确定方法、装置及设备节点
WO2018158960A1 (ja) * 2017-03-03 2018-09-07 A・Tコミュニケーションズ株式会社 情報処理装置、情報処理方法、及びプログラム
JP7074018B2 (ja) * 2018-10-22 2022-05-24 日本電信電話株式会社 分散処理システムおよび分散処理方法
CN116743761B (zh) * 2022-10-26 2024-04-16 荣耀终端有限公司 一种协同工作的方法及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050063750A (ko) * 2002-10-04 2005-06-28 소니 가부시끼 가이샤 통신 기능을 가지는 전자 기기
JP2005523666A (ja) * 2002-04-16 2005-08-04 トムソン ライセンシング ソシエテ アノニム 無線装置がその電力貯蓄に基づいてネットワークマスターとしてのステイタスを放棄するメカニズム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE428275T1 (de) * 1998-07-28 2009-04-15 Canon Kk Verfahren und vorrichtung zur nachrichtenubertragung in einem netzwerk
GB0028474D0 (en) * 2000-11-22 2001-01-10 Raekanet Ltd Improved computer network architecture and associated method and system
US20030126199A1 (en) * 2002-01-02 2003-07-03 Kadri Seemab Aslam Peer-to-peer namespace directory and discovery
US7194002B2 (en) * 2002-02-01 2007-03-20 Microsoft Corporation Peer-to-peer based network performance measurement and analysis system and method for large scale networks
DE602004007064T2 (de) 2003-05-23 2008-02-21 Thomson Licensing Verfahren zur Zuteilung von einem Identifikator zu einer Gruppe von gleichrangigen Knoten in einem gleichrangigen Netz
DE10331305A1 (de) * 2003-07-10 2005-02-17 Siemens Ag Kommunikationssystem, Peer-to-Peer-Nachrichten-Filter-Rechner und Verfahren zum Verarbeiten einer Peer-to-Peer-Nachricht
GB0322045D0 (en) * 2003-09-20 2003-10-22 Koninkl Philips Electronics Nv A network-based gaming system
GB0402739D0 (en) * 2004-02-09 2004-03-10 Saviso Group Ltd Methods and apparatus for routing in a network
US20070198675A1 (en) * 2004-10-25 2007-08-23 International Business Machines Corporation Method, system and program product for deploying and allocating an autonomic sensor network ecosystem
US20090222450A1 (en) * 2005-05-16 2009-09-03 Ron Zigelman System and a method for transferring email file attachments over a telecommunication network using a peer-to-peer connection
US8874477B2 (en) * 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US20070104123A1 (en) * 2005-11-08 2007-05-10 Interdigital Technology Corporation Method to provide centrally coordinated contention-free channel access within a wireless mesh network
WO2007131526A1 (en) * 2006-05-15 2007-11-22 Joost N.V. Method of associating program content data in a digital television network
US7835364B2 (en) * 2006-10-05 2010-11-16 Avaya Inc. Distributed handling of telecommunications features in a hybrid peer-to-peer system of endpoints
US20090106364A1 (en) * 2007-10-17 2009-04-23 Nokia Corporation Method and apparatus for peer-to-peer network traffic analysis
US20080133727A1 (en) * 2006-12-04 2008-06-05 Telefonaktiebolaget Lm Ericsson (Publ) Automatic registry composition when networks compose
KR101105850B1 (ko) * 2007-02-28 2012-01-13 삼성전자주식회사 P2p 네트워킹을 통한 고품질 콘텐츠 제공 시스템 및 방법
US20080256563A1 (en) * 2007-04-13 2008-10-16 Cheng Han Systems and methods for using a lodestone in application windows to insert media content
US8656017B2 (en) * 2007-05-16 2014-02-18 Microsoft Corporation Peer-to-peer collaboration system with edge routing
EP2031816B1 (en) * 2007-08-29 2012-02-22 NTT DoCoMo, Inc. Optimal operation of hierarchical peer-to-peer networks
US8725874B2 (en) * 2007-09-27 2014-05-13 International Business Machines Corporation Dynamic determination of an ideal client-server for a collaborative application network
US8041375B2 (en) * 2007-10-31 2011-10-18 Qualcomm Incorporated Methods and apparatus for use in peer to peer communications devices and/or systems relating to rate scheduling, traffic scheduling, rate control, and/or power control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005523666A (ja) * 2002-04-16 2005-08-04 トムソン ライセンシング ソシエテ アノニム 無線装置がその電力貯蓄に基づいてネットワークマスターとしてのステイタスを放棄するメカニズム
KR20050063750A (ko) * 2002-10-04 2005-06-28 소니 가부시끼 가이샤 통신 기능을 가지는 전자 기기

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE49334E1 (en) 2005-10-04 2022-12-13 Hoffberg Family Trust 2 Multifactorial optimization system and method

Also Published As

Publication number Publication date
US8898266B2 (en) 2014-11-25
US20090138584A1 (en) 2009-05-28
KR20090053532A (ko) 2009-05-27

Similar Documents

Publication Publication Date Title
KR101422213B1 (ko) 단말의 능력을 기초로 역할을 설정하는 장치 및 그 방법
EP2031816B1 (en) Optimal operation of hierarchical peer-to-peer networks
US20080130516A1 (en) P2p Overplay Network Construction Method and Apparatus
Freedman et al. Sloppy hashing and self-organizing clusters
EP2319269A1 (en) Routing mechanism for distributed hash table based overlay networks
WO2010127618A1 (zh) 一种实现流媒体内容服务的系统和方法
Sacha et al. Discovery of stable peers in a self-organising peer-to-peer gradient topology
Shah et al. MANET adaptive structured P2P overlay
Li et al. An efficient clustered architecture for P2P networks
JP4533923B2 (ja) 階層型ピアツーピアシステムにおける負荷バランシング機能を有するスーパーピア及び該スーパーピアを動作させる方法
Singh et al. Challenges and protocols for P2P applications in multi-hop wireless networks
WO2014012400A1 (zh) 生成聚合层网络图和聚合层开销图的方法及装置
Artail et al. DSDM: A distributed service discovery model for manets
KR100641796B1 (ko) P2p 오버레이 네트워크 구축 방법 및 장치
Shah et al. Merging of P2P Overlays Over Mobile Ad Hoc Network: Evaluation of Three Approaches.
El Dick et al. A highly robust P2P-CDN under large-scale and dynamic participation
Warneke et al. Load balancing in p2p networks: Using statistics to fight data and execution skew
Huang et al. A file discovery control scheme for p2p file sharing applications in wireless mobile environments
Karwaczynski et al. Analysis of overlay network impact on dependability
Cherbal et al. A survey of Locality-awareness Solutions in Mobile DHT Systems
Kardeby et al. Overlay enhanced mobility for the Internet of Things
Mawji et al. Bootstrapping p2p overlays in manets
Brands et al. Taxonomy of p2p applications
Ma et al. A scalable framework for global application anycast
Jin An effective search scheme for gnutella-like P2P networks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20170619

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180620

Year of fee payment: 5