KR101144331B1 - 시간 기반의 메쉬 오버레이 네트워크 시스템 및 이를 이용한 메쉬 오버레이 네트워크 구축 방법 - Google Patents

시간 기반의 메쉬 오버레이 네트워크 시스템 및 이를 이용한 메쉬 오버레이 네트워크 구축 방법 Download PDF

Info

Publication number
KR101144331B1
KR101144331B1 KR1020100061121A KR20100061121A KR101144331B1 KR 101144331 B1 KR101144331 B1 KR 101144331B1 KR 1020100061121 A KR1020100061121 A KR 1020100061121A KR 20100061121 A KR20100061121 A KR 20100061121A KR 101144331 B1 KR101144331 B1 KR 101144331B1
Authority
KR
South Korea
Prior art keywords
nodes
video
time
node
information
Prior art date
Application number
KR1020100061121A
Other languages
English (en)
Other versions
KR20120000714A (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 KR1020100061121A priority Critical patent/KR101144331B1/ko
Publication of KR20120000714A publication Critical patent/KR20120000714A/ko
Application granted granted Critical
Publication of KR101144331B1 publication Critical patent/KR101144331B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/16Interfaces between hierarchically similar devices
    • H04W92/18Interfaces between hierarchically similar devices between terminal devices

Abstract

시간 기반의 메쉬 오버레이 네트워크 시스템은 비디오 정보를 저장하고 비디오 시청 요청이 들어오면 해당 비디오 정보를 전송하는 비디오 서버와, 비디오 서버로부터 비디오 정보를 수신하고, 비디오 시청 세션을 시작하면, 분산 해시 테이블(Distributed Hash Tables)의 라우팅 알고리즘에 따라 목적지 노드를 찾아가 비디오 시청 시작 시간을 포함한 등록 정보를 저장하고, 시간 정보와 위치 정보를 기초로 비디오 정보를 수신받을 복수의 부모 노드(Parent Node)를 선택하여 연결하면, 비디오 시청 시작 시간의 순서에 따라 연결된 시간 기반의 메쉬 오버레이 네트워크를 형성하는 복수의 노드를 포함하며, 각 노드는 형성한 메쉬 오버레이 네트워크에서 시간적으로 앞선 복수의 노드로부터 비디오 정보를 수신하는 것을 특징으로 한다.

Description

시간 기반의 메쉬 오버레이 네트워크 시스템 및 이를 이용한 메쉬 오버레이 네트워크 구축 방법{Time Driven Mesh Overlay Network System and Method for Constructing Time Driven Mesh Overlay Network Using the Same}
본 발명은 피어 간 통신 기술을 이용한 메쉬 오버레이 구축 방법으로서, 특히 피어들이 비디오 요청 시간을 순서로 연결된 시간 기반의 메쉬 오버레이 네트워크 시스템 및 이를 이용한 메쉬 오버레이 네트워크 구축 방법에 관한 것이다.
현재 널리 사용되고 있는 P2P 다운로딩 서비스는 비디오 파일을 다운로딩한 후 재생을 하는 방법이다.
피어 투 피어 주문형 비디오 서비스(Peer to Peer Video-on-Demand, P2P VoD) 서비스는 주로 트리(Tree) 또는 가십(Gossip) 기반의 오버레이 네트워크 방식을 사용한다.
먼저, 트리 기반의 오버레이 네트워크는 모든 정보를 중앙 비디오 서버에서 관리하기 때문에 비디오 서버의 부하가 심하고 비디오 서버의 문제가 전체 피어(Peer)에 영향을 미치는 문제점이 있었다.
또한, 트리 기반의 오버레이 네트워크는 하나의 피어의 오동작이 이와 연결된 전체 자식 피어에 영향을 끼쳐 전체 성능 저하의 원인이 된다.
가십 기반의 오버레이 네트워크는 일정한 형식을 갖지 않는 메쉬 형태의 네트워크를 형성한다.
네트워크상에서 피어들은 서로 주기적 메시지 교환으로 정보를 주고 받으며 데이터를 송수신하기 때문에 비디오 서버 오류의 영향이나 특정 피어의 오동작이 전체 성능에 크게 영향을 미치지 않는다. 그러나 이러한 가십 기반의 오버레이 네트워크는 각 피어가 비디오 요청 시점이 서로 다른 비동기적 개념을 고려하지 않기 때문에 VoD 서비스보다 라이브 브로드캐스팅(Live Broadcasting) 서비스에만 주로 활용되어 왔다.
따라서, 현재의 P2P VoD 서비스는 비동기적 개념을 고려하여 VoD 서비스에 적합한 새로운 방식의 오버레이 네트워크가 필요한 시점이다.
이와 같은 문제점을 해결하기 위하여, 본 발명은 복수의 노드가 비디오 요청 시간을 순서로 연결된 시간 기반의 메쉬 오버레이 네트워크 시스템 및 이를 이용한 메쉬 오버레이 네트워크 구축 방법을 제공하는데 그 목적이 있다.
이러한 기술적 과제를 달성하기 위한 본 발명의 특징에 따른 시간 기반의 메쉬 오버레이 네트워크 시스템은 비디오 정보를 저장하고 비디오 시청 요청이 들어오면 해당 비디오 정보를 전송하는 비디오 서버; 및 상기 비디오 서버로부터 상기 비디오 정보를 수신하고, 비디오 시청 세션을 시작하면, 분산 해시 테이블(Distributed Hash Tables)의 라우팅 알고리즘에 따라 목적지 노드를 찾아가 비디오 시청 시작 시간을 포함한 등록 정보를 저장하고, 시간 정보와 위치 정보를 기초로 비디오 정보를 수신받을 복수의 부모 노드(Parent Node)를 선택하여 연결하면, 상기 비디오 시청 시작 시간의 순서에 따라 연결된 시간 기반의 메쉬 오버레이 네트워크를 형성하는 복수의 노드를 포함하며, 상기 각 노드는 상기 형성한 메쉬 오버레이 네트워크에서 시간적으로 앞선 복수의 노드로부터 상기 비디오 정보를 수신하는 것을 특징으로 한다.
본 발명의 특징에 따른 데이터 공유를 위한 오버레이 네트워크 구축 방법은 비디오 시청을 원하는 복수의 노드는 비디오 시청 세션을 시작하면, 분산 해시 테이블(Distributed Hash Tables, DHT)의 라우팅 알고리즘에 따라 목적지 노드를 찾아가 비디오 시청 시작 시간을 포함한 등록 정보를 저장하는 단계; 및 상기 각 노드는 시간 정보와 위치 정보를 기초로 비디오 정보를 수신받을 복수의 부모 노드(Parent Node)를 선택하여 연결하면, 상기 비디오 시청 시작 시간의 순서에 따라 상기 복수의 노드가 연결된 시간 기반의 메쉬 오버레이 네트워크를 형성하는 단계를 포함한다.
전술한 구성에 의하여, 본 발명은 시간 정보와 위치 정보를 분산 해시 테이블에 저장하여 시간적으로 앞서고 위치가 인접한 복수의 노드로부터 우선적으로 데이터를 수신하게 됨으로써 네트워크의 트래픽을 최소화하는 효과가 있다.
본 발명은 자신의 네트워크 위치 정보와 시간 정보를 분산 해시 테이블에 저장하여 노드가 오동작을 일으키면 다른 노드로 대체할 수 있어 오류 회복을 빠르게 하는 효과가 있다.
본 발명은 각 노드가 비디오 요청 시점이 서로 다른 비동기적 개념을 고려하여 P2P VoD 서비스를 구현하는 효과가 있다.
도 1은 본 발명의 실시예에 따른 시간 기반의 메쉬 오버레이 네트워크(Time-Driven Mesh Overlay Network) 시스템을 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 DHT 기반 오버레이 네트워크를 이용하여 데이터를 공유하는 과정을 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 64비트 해시 키를 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 노드의 버퍼 상태를 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 노드의 버퍼 구조를 나타낸 도면이다.
도 6은 본 발명의 실시예에 따른 비디오를 수신할 복수의 부모들을 선택하여 연결하는 방법을 나타낸 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명의 실시예는 오버레이 네트워크를 이용하여 모든 사용자가 On-Demand 형태로 서로 다른 타이밍으로 비디오를 시청하는 스트리밍 방식으로 P2P VoD 스트리밍에 활용된다.
도 1은 본 발명의 실시예에 따른 시간 기반의 메쉬 오버레이 네트워크(Time-Driven Mesh Overlay Network) 시스템을 나타낸 도면이다.
본 발명의 실시예에 따른 시간 기반의 메쉬 오버레이 네트워크 시스템은 비디오 서버(100)와 복수의 노드(200)로 구성된다.
비디오 서버(100)는 노드(200)가 시청하기를 원하는 비디오를 저장하고 있다.
비디오 서버(100)는 자신이 관리하는 분산 해시 테이블(Distributed Hash Tables, DHT) 네트워크에서 일부 노드(200)의 IP 정보를 관리한다.
DHT는 시스템 내의 각 노드들(200)이 키 셋을 나누어 가지는 분산 시스템을 의미한다. DHT는 크게 Keyspace Partitioning, Overlay Network의 두 부분으로 이루어져 해시의 키 집합들을 분산 시스템 내부의 각 노드(200)에 분산시키고 DHT의 엔트리 포인트에 상관없이 키의 위치를 찾아갈 수 있도록 라우팅하는 알고리즘을 통해 분산 시스템 내부의 네트워크를 떠돌며 목적지를 찾아가게 된다.
전술한 DHT 네트워크는 DHT가 적용되는 오버레이 네트워크를 의미한다.
복수의 노드(200)는 각각의 노드(200)가 비디오를 시청하기를 원하는 컴퓨터 또는 사용자를 나타낸다. 이때, 복수의 노드(200)는 각각의 요청 시간대가 다른 비디오 시청을 비디오 서버(100)에 요청하며, 비디오 서버(100) 또는 다른 노드들(200)로부터 비디오를 수신하여 재생한다.
복수의 노드(200)는 비디오 시청을 원하는 경우, DHT 네트워크에 하나의 노드(200)로 등록해야 하며 비디오 서버(100)로부터 특정 노드(200)의 IP 정보를 얻는다. 하나의 노드(200)로 등록하는 것은 비디오 플레이어 프로그램의 실행을 시작할 때 일어나며, 실행을 종료하면 DHT에서 탈퇴한다.
DHT에 등록하는 모든 노드들(200)은 비디오 서버(100)와 통신을 통하여 시간을 동기화한다.
비디오 서버(100)와 각 노드들(200)이 시간을 동기화 하는 것은 TDM이 시간을 기준으로 Overlay Network를 구성하기 때문에 중요한 요소이다. 시간을 동기화하는 알고리즘은 여러 가지가 있으며 공지된 기술이므로 상세한 설명을 생략한다.
도 1에 도시된 바와 같이, 동일한 비디오를 요청한 각 노드들(200)은 비디오 요청 시점에 따라 일정한 시간 구간으로 나누어지고 네트워크 위치에 따라 일정 거리 간격으로 구분된다.
이를 기초로 각 노드들(200)은 자신과 시간적 공간적으로 가까운 노드들(200)과 부모-자식 관계로 연결된다.
각 노드(200)는 자신과 시간 공간과 위치 공간에 속한 노드(200)가 없을 경우 일정 범위 내에서 그 범위를 넓혀 연결되며 일정 범위를 초과하면 비디오 서버(100)와 직접 연결된다.
결과적으로 모든 노드들(200)은 시간적 공간적 지역성을 가지며 메쉬 형태의 네트워크가 형성된다.
도 2는 본 발명의 실시예에 따른 DHT 기반 오버레이 네트워크를 이용하여 데이터를 공유하는 과정을 나타낸 도면이고, 도 3은 본 발명의 실시예에 따른 64비트 해시 키를 나타낸 도면이다.
도 2를 참조하면, Chord를 기반으로 하는 DHT는 가입된 모든 노드들(200)이 ID 번호를 순서로 하여 원형으로 연결된 형태이다. 이때, 각 노드들(200)은 유일한 ID 번호를 가지며, 이러한 ID 번호는 IP 주소에 해시 함수를 적용하여 얻을 수 있다.
노드(200)는 비디오 시청 세션(Playback Session)을 시작하면 자신의 비디오 시청 시작 시간(Playback Starting Time)과 자신의 네트워크 상 위치를 DHT에 등록한다.
여기서, 비디오 시청 세션은 비디오 시청을 시작하여 끝날 때까지의 구간이고, 비디오 시청 시작 시간은 비디오 플레이어 프로그램의 플레이(Play) 버튼을 눌러 비디오를 시작한 시간을 의미한다.
노드(200)는 DHT에 등록하기 위해서 해시 키(400)를 만들어야 한다. 여기서, 해시 키(400)는 도 3에 도시된 바와 같이, 16 비트의 비디오 정보(410), 16비트의 구간별 위치 식별 번호(Location Interval Identifier, LID)(420), 32비트의 구간별 시간 식별 번호(Time Interval Identifier, TID)(430)를 포함하며, 64비트로 만들어진다.
비디오 정보(410)는 비디오 이름에 해시 함수를 적용하여 비디오 ID를 얻는다.
TID(430)는 자신의 비디오 시청 시작 시간을 제1 일정 구간으로 나누어 얻는다.
여기서, 제1 일정 구간은 비디오 시청 세션에서 시간 구간의 상수값을 의미한다.
제1 일정 구간은 시간 구간에서의 노드들(200)의 수에 의해 결정되고 비디오의 인기도와 노드(200)의 버퍼 사이즈를 고려하여 결정된다.
LID(420)는 2차원 공간상에서 자신의 네트워크상 위치를 얻고 이를 1차원으로 매핑하여 얻는다. 2차원 상에서의 네트워크 위치는 Vivaldi, GNP 등의 방법을 활용한다. 또한, 1차원으로 매핑하는 방법은 Hibert Curve 등의 방법을 활용한다.
LID(420)는 1차원으로 매핑한 위치를 제2 일정 구간으로 나누어 얻는다. 여기서, 제2 일정 구간은 네트워크 좌표상에서 위치 구간의 상수값을 의미한다.
제2 일정 구간은 네트워크 구간에서의 노드들(200)의 수에 의해 결정되고 비디오의 인기도와 전체 네트워크 사이즈를 고려하여 결정된다.
DHT에 저장될 저장 정보는 자신의 IP 주소와 비디오 시청 시작 시간으로 구성된다.
노드(200)는 비디오 정보(410)를 공유하기 위해 자신의 비디오 시청 시작 시간(Playback Starting Time)과 자신의 네트워크 상 위치를 DHT에 등록하는 경우, DHT에서 제공되는 get 함수, put 함수를 사용한다.
노드(200)는 DHT에 등록하기 위해서 생성된 해시 키(400), 자신의 IP 주소와 비디오 시청 시작 시간을 기초로 DHT의 put(Key, Peer Info) 기능을 수행하면 Chord DHT의 라우팅 알고리즘에 따라 몇 개의 중간 노드를 경유하여 해시 키(400)와 자신의 저장 정보를 저장할 특정 노드(200)를 찾아가게 된다. 여기서, Key는 해시 키(400), Peer Info는 저장 정보를 의미한다.
이러한 경우, 노드(200)는 해시 키 값과 정보를 저장할 노드(200)의 ID와 일치하는 노드(200)를 찾아가고 해당 노드(200)에 해시 키(400)와 저장 정보를 저장한다.
따라서, 각 노드(200)에는 동일한 LID(420), TID(430)를 갖는 노드(200)의 IP 주소와 각각의 비디오 시청 시작 시간들이 저장된다. 이러한 노드(200)의 IP 주소와 비디오 시청 시작 시간을 피어 인포 리스트(Peer Info List)(300)라 한다.
노드(200)에 저장된 피어 인포 리스트(300)는 나중에 들어오는 다른 노드들(200)에 의해 검색되고 사용된다.
비디오 시청을 원하는 노드(200)는 자신의 LID(420), TID(430)를 정보를 저장할 노드(200)에 저장한 후 자신이 어느 노드(200)와 연결하여 필요한 비디오를 받을지 DHT 검색을 시작한다.
P2P VoD에서는 비디오 서버(100)의 부하를 줄이기 위해서 비디오 서버(100)가 아닌 자신과 동일한 비디오를 시청하고 있는 다른 노드들(200)로부터 자신이 재생할 부분을 전달받아 사용한다.
따라서, 각 노드들(200)은 버퍼를 가지고 있어야 하며 자신이 재생한 비디오의 일부를 저장하고 있어야 한다.
도 4를 참조하면, 버퍼의 내용은 고정되어 있는 것이 아니라 비디오를 시간 순서로 재생하게 되고 바로 다음부터 버퍼의 길이만큼 저장되며 시간에 따라 흘러가게 된다.
노드(200)는 해시 키(400)를 이용하여 DHT의 get(Key) 기능을 수행하면 Chord DHT의 라우팅 알고리즘을 따라 중간 노드를 거쳐 목적지 노드(200)에 도달한다. 여기서, 목적지 노드(200)는 자신이 찾고자 하는 해시 키 값과 동일한 해시 키 값을 이용하여 정보를 저장한 노드(200)이다.
이어서, 노드(200)는 목적지 노드(200)로부터 피어 인포 리스트(Peer Info List)(300)를 얻어 가져온다.
피어 인포 리스트(Peer Info List)(300)는 정보가 없을 수도 있고 한 개 이상 있을 수도 있다. 정보가 없는 경우, 자신과 같은 시간 구간 및 위치 구간에 비디오 시청을 시작한 노드(200)가 없음을 의미한다.
피어 인포 리스트(Peer Info List)(300)에 여러 개의 IP 주소가 있는 경우 자신과 같은 시간 구간 및 위치 구간에 비디오 시청을 시작한 노드(200)가 복수개 있음을 의미한다.
노드(200)는 통신의 안정성과 대역폭의 확대를 위하여 여러 노드(200)에서 필요한 비디오를 수신하며, 이때 선택할 노드(200)의 수는 상황에 따라 적절히 결정한다.
도 5를 참조하면, 노드(200)의 버퍼 구조는 여러 노드(200)로부터 비디오를 수신하기 위해 재생한 비디오를 저장한 캐싱(Caching) 버퍼, 재생하고 있는 비디오를 저장한 재생 버퍼, 수신한 비디오를 저장한 수신 버퍼로 나누어져 있다.
노드(200)의 버퍼 구조는 부모 노드(Parent Node)(200)로부터 하나의 비디오를 블록 단위로 번갈아 가며 받기 위한 구조이다.
비디오를 수신할 복수의 부모들을 선택하여 연결하는 방법은 도 6에 도시된 바와 같이, 자신과 동일한 시간 구간 및 위치 구간에 속한 노드(200)를 선택한다.
노드(200)는 선택한 구간 내에 충분한 노드(200)의 수가 없을 경우 같은 시간 구간이면서 자신과 인접한 위치 구간에서 검색하고 차례로 자신과 인접한 시간 구간으로 확대하여 검색한다.
노드(200)는 해시 키(400)를 이용하여 비디오를 검색할 때마다 get(Key) 기능을 수행하며 이때 해시 키 값 내의 LID(420)나 TID(430)가 달라진다.
노드(200)는 일정 구간을 확대해도 충분한 노드들(200)을 확보하지 못할 경우 직접 비디오 서버(100)와 연결하여 비디오를 수신한다.
이러한 과정을 거쳐 각 노드(200)는 자신이 비디오를 수신받을 복수의 노드들(Parent Node)(200)을 결정하여 연결하면 전술한 도 1에 도시된 바와 같이, 같은 시간을 기반으로 하는 메쉬 네트워크 구조가 이루어진다.
이와 같은 구성과 같이, 데이터 공유를 위한 오버레이 네트워크 구축 방법은 다음과 같다.
각 노드(200)는 비디오 시청 세션을 시작하면, DHT의 라우팅 알고리즘에 따라 해시 키(400)를 가지고 목적지 노드(200)를 찾아가 IP 주소, 비디오 시청 시작 시간을 포함한 등록 정보를 저장한다.
각 노드(200)는 해시 키(400)와 일치하는 제1 목적지 노드들(200)을 검색하고 제1 목적지 노드들(200) 중 복수의 부모 노드(200)를 선택하여 연결하며, 선택된 부모 노드(200)로부터 복수의 IP 주소와 각각의 비디오 시청 시작 시간을 포함한 피어 인포 리스트(300)를 수신한다.
각 노드(200)는 시간 정보와 위치 정보를 기초로 비디오 정보(410)를 수신받을 복수의 부모 노드(200)를 선택하여 연결하면 비디오 시청 시작 시간의 순서에 따라 복수의 노드(200)가 연결된 시간 기반의 메쉬 오버레이 네트워크를 형성한다(도 1에 도시됨).
각 노드(200)는 형성된 시간 기반의 메쉬 오버레이 네트워크에서 시간적으로 앞서고 위치가 근접한 복수의 노드(200)로부터 비디오 정보(410)를 수신하게 되고 시간적으로 뒤에 있는 다른 노드들(200)에게 자신의 데이터를 전달한다.
이상에서 설명한 본 발명의 실시예는 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (15)

  1. 비디오 시청을 원하는 복수의 노드는 비디오 시청 세션을 시작하면, 분산 해시 테이블(Distributed Hash Tables, DHT)의 라우팅 알고리즘에 따라 목적지 노드에 비디오 시청 시작 시간을 포함한 등록 정보를 저장하는 단계; 및
    상기 복수의 노드에서 각 노드는 시간 정보와 위치 정보를 기초로 비디오 정보를 수신받을 복수의 부모 노드(Parent Node)를 선택하여 연결하면, 상기 비디오 시청 시작 시간의 순서에 따라 상기 복수의 노드가 연결된 시간 기반의 메쉬 오버레이 네트워크를 형성하는 단계
    를 포함하는 것을 특징으로 하는 시간 기반의 메쉬 오버레이 네트워크 구축 방법.
  2. 제1항에 있어서,
    상기 시간 기반의 오버레이 네트워크를 형성하는 단계 이후에,
    상기 복수의 노드에서 각 노드는 상기 형성한 메쉬 오버레이 네트워크에서 시간적으로 앞서고 위치가 인접한 복수의 노드로부터 상기 비디오 정보를 수신하는 단계
    를 더 포함하는 것을 특징으로 하는 시간 기반의 메쉬 오버레이 네트워크 구축 방법.
  3. 제1항에 있어서,
    상기 등록 정보를 저장하는 단계는,
    상기 복수의 노드는 비디오 시청 세션을 시작하면, 상기 비디오 정보, 시간 정보와 위치 정보를 포함한 해시 키를 생성하는 단계; 및
    상기 복수의 노드에서 각 노드는 상기 DHT의 라우팅 알고리즘에 따라 상기 목적지 노드를 찾아가 상기 해시 키와 IP 주소, 상기 비디오 시청 시작 시간을 포함한 상기 등록 정보를 저장하는 단계
    를 포함하는 것을 특징으로 하는 시간 기반의 메쉬 오버레이 네트워크 구축 방법.
  4. 제3항에 있어서,
    상기 시간 기반의 메쉬 오버레이 네트워크를 형성하는 단계는,
    상기 복수의 노드에서 각 노드는 상기 해시 키와 일치하는 제1 목적지 노드들을 검색하고 상기 제1 목적지 노드들 중 상기 복수의 부모 노드를 선택하여 연결하는 단계; 및
    상기 선택된 부모 노드로부터 복수의 IP 주소와 각각의 비디오 시청 시작 시간을 포함한 정보 리스트를 수신하는 단계
    를 포함하는 것을 특징으로 하는 시간 기반의 메쉬 오버레이 네트워크 구축 방법.
  5. 제3항에 있어서,
    상기 시간 정보는 상기 비디오 시청 시작 시간을 제1 일정 구간으로 나눈 구간별 시간 식별 번호를 나타내고, 상기 위치 정보는 2차원 공간상에서의 자신의 네트워크상의 위치를 1차원으로 매핑한 후 상기 1차원으로 매핑한 위치를 제2 일정 구간을 나눈 구간별 위치 식별 번호를 나타내는 것을 특징으로 하는 시간 기반의 메쉬 오버레이 네트워크 구축 방법.
  6. 제4항에 있어서,
    상기 정보 리스트에 상기 복수의 IP 주소가 존재하는 경우, 자신과 같은 시간 구간과 위치 구간에 비디오 시청을 시작한 노드가 복수개 있음을 의미하는 것을 특징으로 하는 시간 기반의 메쉬 오버레이 네트워크 구축 방법.
  7. 제1항에 있어서,
    상기 각 노드의 버퍼 구조는 상기 복수의 부모 노드로부터 상기 비디오 정보를 수신하기 위해 재생한 비디오를 저장한 캐싱(Caching) 버퍼, 재생하고 있는 비디오를 저장한 재생 버퍼, 수신한 비디오를 저장한 수신 버퍼로 나누어져 있으며, 하나의 비디오 정보를 블록 단위로 번갈아 받기 위하여 구조인 것을 특징으로 하는 시간 기반의 메쉬 오버레이 네트워크 구축 방법.
  8. 제1항에 있어서,
    상기 복수의 노드에서 각 노드의 버퍼 구조는 시간 순서로 재생하기 위해 재생한 비디오의 바로 다음부터 버퍼의 길이만큼 저장되는 것을 특징으로 하는 시간 기반의 메쉬 오버레이 네트워크 구축 방법.
  9. 제1항에 있어서,
    상기 시간 기반의 메쉬 오버레이 네트워크를 형성하는 단계는,
    상기 복수의 노드에서 각 노드는 자신과 동일한 시간 구간과 위치 구간에 속한 노드를 선택하는 단계; 및
    상기 선택한 노드의 수가 미리 정해진 기준치 이하인 경우, 상기 복수의 노드에서 각 노드와 인접한 시간 구간과 같은 시간 구간이면서 인접한 위치 구간으로 영역을 확대하여 검색하는 단계
    를 포함하는 것을 특징으로 하는 시간 기반의 메쉬 오버레이 네트워크 구축 방법.
  10. 비디오 정보를 저장하고 비디오 시청 요청이 들어오면 해당 비디오 정보를 전송하는 비디오 서버; 및
    상기 비디오 서버로부터 상기 비디오 정보를 수신하고, 비디오 시청 세션을 시작하면, 분산 해시 테이블(Distributed Hash Tables)의 라우팅 알고리즘에 따라 목적지 노드에 비디오 시청 시작 시간을 포함한 등록 정보를 저장하고, 시간 정보와 위치 정보를 기초로 비디오 정보를 수신받을 복수의 부모 노드(Parent Node)를 선택하여 연결하면, 상기 비디오 시청 시작 시간의 순서에 따라 연결된 시간 기반의 메쉬 오버레이 네트워크를 형성하는 복수의 노드를 포함하며,
    상기 복수의 노드에서 각 노드는 상기 형성한 메쉬 오버레이 네트워크에서 시간적으로 앞선 복수의 노드로부터 상기 비디오 정보를 수신하는 것을 특징으로 하는 시간 기반의 메쉬 오버레이 네트워크 시스템.
  11. 제10항에 있어서,
    상기 복수의 노드에서 각 노드는 상기 비디오 시청 세션을 시작하면, 상기 비디오 정보, 시간 정보와 위치 정보를 포함한 해시 키를 생성하고, 상기 분산 해시 테이블의 라우팅 알고리즘에 따라 상기 목적지 노드에 상기 해시 키와 IP 주소, 상기 비디오 시청 시작 시간을 포함한 상기 등록 정보를 저장하는 것을 특징으로 하는 시간 기반의 메쉬 오버레이 네트워크 시스템.
  12. 제11항에 있어서,
    상기 복수의 노드에서 각 노드는 상기 해시 키와 일치하는 제1 목적지 노드들을 검색하고 상기 제1 목적지 노드들 중 상기 복수의 부모 노드를 선택하여 연결하며 상기 선택된 부모 노드로부터 복수의 IP 주소와 각각의 비디오 시청 시작 시간을 포함한 정보 리스트를 수신하는 것을 특징으로 하는 시간 기반의 메쉬 오버레이 네트워크 시스템.
  13. 제10항에 있어서,
    상기 복수의 노드에서 각 노드는 상기 복수의 부모 노드를 선택하는 경우, 자신과 동일한 시간 구간과 위치 구간에 속한 노드를 선택하고 상기 선택한 노드의 수가 미리 정해진 기준치 이하인 경우, 상기 복수의 노드에서 각 노드와 인접한 시간 구간과 같은 시간 구간이면서 인접한 위치 구간으로 영역을 확대하여 검색하는 것을 특징으로 하는 시간 기반의 메쉬 오버레이 네트워크 시스템.
  14. 제10항에 있어서,
    상기 복수의 노드에서 각 노드는 자신과 동일한 시간 구간과 위치 구간에 속한 노드를 선택하고 상기 선택한 노드의 수가 미리 정해진 기준치 이하인 경우, 상기 복수의 노드에서 각 노드와 인접한 시간 구간과 위치 구간으로 영역을 확대하여 검색한 후 상기 복수의 부모 노드를 확보하지 못하는 경우 상기 비디오 서버와 연결하여 상기 비디오 정보를 수신하는 것을 특징으로 하는 시간 기반의 메쉬 오버레이 네트워크 시스템.
  15. 제10항에 있어서,
    상기 복수의 노드에서 각 노드는 상기 비디오 서버와 통신하여 시간을 동기화하는 것을 특징으로 하는 시간 기반의 메쉬 오버레이 네트워크 시스템.
KR1020100061121A 2010-06-28 2010-06-28 시간 기반의 메쉬 오버레이 네트워크 시스템 및 이를 이용한 메쉬 오버레이 네트워크 구축 방법 KR101144331B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100061121A KR101144331B1 (ko) 2010-06-28 2010-06-28 시간 기반의 메쉬 오버레이 네트워크 시스템 및 이를 이용한 메쉬 오버레이 네트워크 구축 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100061121A KR101144331B1 (ko) 2010-06-28 2010-06-28 시간 기반의 메쉬 오버레이 네트워크 시스템 및 이를 이용한 메쉬 오버레이 네트워크 구축 방법

Publications (2)

Publication Number Publication Date
KR20120000714A KR20120000714A (ko) 2012-01-04
KR101144331B1 true KR101144331B1 (ko) 2012-05-11

Family

ID=45608497

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100061121A KR101144331B1 (ko) 2010-06-28 2010-06-28 시간 기반의 메쉬 오버레이 네트워크 시스템 및 이를 이용한 메쉬 오버레이 네트워크 구축 방법

Country Status (1)

Country Link
KR (1) KR101144331B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017047922A1 (ko) * 2015-09-16 2017-03-23 한양대학교 에리카산학협력단 소유자의 익명성을 보장하면서 차량용 카메라 영상 데이터의 시간과 위치를 검증하는 방법 및 장치
KR101736007B1 (ko) 2015-09-16 2017-05-15 한양대학교 에리카산학협력단 소유자의 익명성을 보장하면서 차량용 카메라 영상 데이터의 시간과 위치를 검증하는 방법 및 장치
KR102238872B1 (ko) * 2017-05-08 2021-04-12 (주)엘지하우시스 복합재 예비성형 보드 및 이의 제조방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060071079A (ko) * 2004-12-21 2006-06-26 한국전자통신연구원 P2p 오버레이 네트워크 구축 방법 및 장치
KR20080037079A (ko) * 2005-08-12 2008-04-29 노키아 지멘스 네트웍스 게엠베하 운트 코. 카게 피어­투­피어 가입자 공동체를 위한 다중­소스 및장애복구형 주문형 비디오 스트리밍 시스템
KR20100062082A (ko) * 2008-12-01 2010-06-10 고려대학교 산학협력단 P2p 서비스 제공장치 및 방법, 그리고 p2p 네트워크를 구성하는 피어노드에서의 데이터 교환방법을 컴퓨터에서 실행시키기 위한 기록매체

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060071079A (ko) * 2004-12-21 2006-06-26 한국전자통신연구원 P2p 오버레이 네트워크 구축 방법 및 장치
KR20080037079A (ko) * 2005-08-12 2008-04-29 노키아 지멘스 네트웍스 게엠베하 운트 코. 카게 피어­투­피어 가입자 공동체를 위한 다중­소스 및장애복구형 주문형 비디오 스트리밍 시스템
KR20100062082A (ko) * 2008-12-01 2010-06-10 고려대학교 산학협력단 P2p 서비스 제공장치 및 방법, 그리고 p2p 네트워크를 구성하는 피어노드에서의 데이터 교환방법을 컴퓨터에서 실행시키기 위한 기록매체

Also Published As

Publication number Publication date
KR20120000714A (ko) 2012-01-04

Similar Documents

Publication Publication Date Title
ES2429222B1 (es) Método y nodo de extremo para distribuir flujo continuo de contenido en tiempo real en una red de distribución de contenido
US9325786B2 (en) Peer-to-peer interactive media-on-demand
KR101563485B1 (ko) 피어-투-피어 콘텐츠 배포 시스템에서 어나운싱 피어에 의한 콘텐츠 소유의 검증
EP2432187B1 (en) Method, system and proxy node for peer-to-peer (p2p) streaming media data distribution
US7882168B2 (en) Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded
US20080235321A1 (en) Distributed contents storing system, copied data acquiring method, node device, and program processed in node
US8134937B2 (en) Distributed content storage system, content storage method, node device, and node processing program
WO2007148300A2 (en) Methods and systems for push-to-storage
Drolia et al. Krowd: A key-value store for crowded venues
JP2006191489A (ja) ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
Kim et al. A CDN-P2P hybrid architecture with content/location awareness for live streaming service networks
JP2009225445A (ja) P2pモードで記憶されたコンテンツにアクセスするようにピア識別子を得る要求を管理する方法、それに関連する管理装置及びネットワーク装置
KR101144331B1 (ko) 시간 기반의 메쉬 오버레이 네트워크 시스템 및 이를 이용한 메쉬 오버레이 네트워크 구축 방법
CN102947821A (zh) 索引服务器及其方法
CN107181775B (zh) 内容中心网络中的路由选择方法及路由选择装置
Yiu et al. Distributed storage to support user interactivity in peer-to-peer video streaming
JP2023510272A (ja) 特定ネットワークデバイス並びに特定ローカルエリアネットワークの接続、コンテンツ発見、データ転送、及び制御方法
CN103179191B (zh) P2p网络管控装置及p2p网络管控系统
JP4821500B2 (ja) コンテンツ分散保存システム、フレーム取得方法、及びノード装置等
Al Asaad et al. Peer-to-peer file sharing over wireless mesh networks
CN113934916A (zh) Cdn业务的实现方法、终端设备、节点服务器及存储介质
Piro et al. Providing crowd-sourced and real-time media services through an NDN-based platform
KR20130138670A (ko) 컨텐츠 중심 네트워크의 인트라 도메인(intra domain) 및 인터 도메인(inter domain)에서 노드가 컨텐츠를 검색하는 방법 및 그 노드
JP2008236538A (ja) ツリー型放送システム、コンテンツ放送方法、放送管理装置、及び放送管理処理プログラム
JP2008047065A (ja) コンテンツ分散保存システム、フレーム画像取得方法、及びノード装置等

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160324

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180502

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190502

Year of fee payment: 8