KR100616250B1 - 인터넷 네트워크에서 서버와 클라이언트들 간의 데이터전송 시스템 및 방법 - Google Patents

인터넷 네트워크에서 서버와 클라이언트들 간의 데이터전송 시스템 및 방법 Download PDF

Info

Publication number
KR100616250B1
KR100616250B1 KR1020040028754A KR20040028754A KR100616250B1 KR 100616250 B1 KR100616250 B1 KR 100616250B1 KR 1020040028754 A KR1020040028754 A KR 1020040028754A KR 20040028754 A KR20040028754 A KR 20040028754A KR 100616250 B1 KR100616250 B1 KR 100616250B1
Authority
KR
South Korea
Prior art keywords
client
server
content
network
clients
Prior art date
Application number
KR1020040028754A
Other languages
English (en)
Other versions
KR20050103558A (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 KR1020040028754A priority Critical patent/KR100616250B1/ko
Publication of KR20050103558A publication Critical patent/KR20050103558A/ko
Application granted granted Critical
Publication of KR100616250B1 publication Critical patent/KR100616250B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 인터넷 네트워크에서 서버와 클라이언트들 간의 데이터 전송 방법에 관한 것으로, 소정의 컨텐츠를 저장하고 있는 서버와 동일 네트워크에서 상기 컨텐츠를 수신하고자 하는 복수의 클라이언트들 간에 데이터를 전송하는 서버/클라이언트 시스템에 있어서, 각 서브 네트워크 별로 상기 서버로부터 상기 컨텐츠를 수신하는 제1 클라이언트; 및 상기 서버와 접속을 유지하며, 상기 제1 클라이언트와 동일한 서브 네트워크 내에서 상기 제1 클라이언트가 서버로부터 수신하는 상기 컨텐츠와 동일한 컨텐츠를 상기 제1 클라이언트로부터 수신하는 제2 클라이언트를 포함함을 특징으로 한다.
인터넷 네트워크, 서버, 클라이언트, 컨텐츠, 서브 네트워크

Description

인터넷 네트워크에서 서버와 클라이언트들 간의 데이터 전송 시스템 및 방법{System And Method For Transmitting The Data From Server To Clients In The Internet Network}
도 1은 본 발명에 따른 서버와 클라이언트 간의 데이터 전송 시스템의 개념을 나타낸 도면.
도 2는 본 발명에 따른 서버와 클라이언트 간의 데이터 전송 방법을 나타낸 흐름도.
도 3은 본 발명의 제1 실시예에 따른 네트워크 시스템 구성을 나타낸 도면.
도 4는 본 발명의 제1 실시예에 따른 서버와 클라이언트 간의 데이터 전송 방법을 나타낸 흐름도.
도 5는 본 발명의 제1 실시예에 따른 각 네트워크 엘리먼트들 간의 신호 처리 절차를 나타낸 흐름도.
도 6은 본 발명의 제2 실시예에 따른 네트워크 시스템 구성을 나타낸 도면.
도 7은 본 발명의 제2 실시예에 따른 서버와 클라이언트 간의 데이터 전송 방법을 나타낸 흐름도.
도 8은 본 발명의 제2 실시예에 따른 이전 사용자 접속 단절이 발생할 경우의 데이터 전송 방법을 나타낸 흐름도.
도 9는 본 발명의 제2 실시예에 따른 이전 사용자의 수신 중단이 발생할 경우의 데이터 전송 방법을 나타낸 흐름도.
도 10은 본 발명의 제3 실시예에 따른 네트워크 시스템 구성을 나타낸 도면.
도 11은 본 발명의 제3 실시예에 따른 서버와 클라이언트 간의 데이터 전송 방법을 나타낸 흐름도.
도 12는 본 발명의 실시예에 따른 서버의 클라이언트 관리 데이터 베이스에서의 데이터 필드들을 나타낸 도면.
<도면의 주요 부분에 대한 부호 설명>
100, 300, 600, 1000 : 서버
110, 311, 321, 611, 621, 1011, 1021 : 제1 클라이언트
120, 312, 322, 612, 622, 1012, 1022 : 제2 클라이언트
310, 610, 1010 : 네트워크 A 320, 620, 1020 : 네트워크 B
313, 323, 613, 623, 1013, 1023 : 제3 클라이언트
1014, 1024 : 제4 클라이언트
본 발명은 인터넷 네트워크에서 서버와 클라이언트들 간의 통신 방법에 관한 것으로, 보다 상세하게는 소정의 컨텐츠를 저장하고 있는 서버와 동일 네트워크에 서 상기 컨텐츠를 수신하고자 하는 복수의 클라이언트들 간의 트래픽 분산에 의한 서버와 클라이언트들 간의 데이터 전송 시스템 및 방법에 관한 것이다.
현재 인터넷 네트워크를 통해 제공되는 방송 방법으로는 주문형 비디오 서비스(Video On Demand; 이하, 'VOD'라 한다) 방식과 실시간 멀티캐스트 서비스 방식이 있다.
상기 VOD 방식의 서비스는 컴퓨터와 통신 그리고 방송 분야의 조합으로 이뤄진 새로운 형태의 영상서비스로, 사용자의 요구에 따라 원하는 영상자료나 시청 프로그램 등이 제공되는 주문형 비디오 서비스이다. 기존 방송이 공중파 방송국 중심의 수동적 방송이라면, 인터넷 방송은 주문형, 쌍방향 방송이라고 할 수 있다. 즉, 상기 VOD 방식은 일방적으로 뿌려지는 전파가 아닌 사용자가 원할 경우에만 선택적으로서 볼 수 있다는 장점이 있다. 따라서, 상기 VOD 서비스를 제공하기 위해서는 기본적으로 멀티미디어 정보, 즉 음악파일이나 동영상 파일 등을 저장하는 미디어 서버와 상기 동영상 파일 등의 거대한 멀티미디어 정보가 수용자에게 전달될 수 있는 통신망, 그리고 데이터의 압축, 복원 및 재생을 실시간으로 가능케 하는 소프트웨어(예컨대, 셋톱박스 또는 플레이어) 등의 구성 요소가 구비되어야 한다.
한편, 서버로부터 클라이언트가 방송 데이터를 수신하는 방법으로는 다운로드(Download) 방식과 스트리밍(Streaming) 방식이 있다. 상기 다운로드 방식은 상기 방송 데이터 전체를 수신하여 상기 클라이언트의 메모리에 저장한 후, 재생하는 방법이며, 상기 스트리밍 방식은 상기 서버로부터 데이터를 실시간으로 수신 및 디코딩하는 방식이다. 상술한 VOD 방식과 실시간 멀티캐스트 서비스 방식은 상기 스 트리밍 방식을 사용하여 수신한 멀티미디어 데이터를 재생한다.
상기 스트리밍 방식은 대용량의 비디오 및 오디오와 같은 연속 매체(continuous media)를 실시간으로 전송, 수신 및 디코딩하여 네트워크와 CPU 리소스를 최적으로 사용하는 기술이다. 일반적으로 전체 볼륨이 모두 사용되는 데이터(예컨대, 압출 파일)는 모든 데이터를 서버로부터 다운로딩하여 처리하는 다운로드 방식을 사용하기 때문에 순간적인 부하를 발생시키지만, 연속 매체는 이러한 대용량의 데이터에 비하여 순간적으로 요구되는 네트워크 대역폭 및 CPU 부하가 상대적으로 작기 때문에, 시간에 따라 필요한 데이터만을 처리하면 되는 특징을 갖는다. 일반적으로 상기 스트리밍 기술을 적용하기 위해서는, 네트워크 대역폭과 CPU 부하의 최우선 할당이 필요하다. 그러나, 현재 인터넷에 널리 사용되는 이더넷(Ethernet) 방식은 네트워크 리소스의 고정 할당이 불가능하기 때문에, 네트워크의 상태에 따라 데이터 전송이 지연될 수 있다. 이런 문제를 해결하기 위해서 기존의 스트리밍 기술에서는 클라이언트에 일정 시간의 데이터를 저장할 수 있는 버퍼를 유지하는 방식이 사용되어 왔다.
근래에 폭발적으로 확산되고 있는 인터넷 네트워크는 글로벌 네트워크로 전 세계의 수많은 네티즌들의 불특정 동시 접속의 특징을 가지고 있다. 다시 말해서, 동시에 수많은 접속자들에게 데이터를 전송할 수 있어야 한다.
이러한 인터넷의 데이터 전송 방식은 데이터 전송에 참여하는 송/수신자 관점에서 유니캐스트(Unicast), 브로드캐스트(Broadcast), 멀티캐스트(Multicast)로 구분할 수 있다. 이들 중 멀티캐스트 전송방식이 다중 전송에 대한 최적의 대안으 로 인식되고 있으며, 멀티캐스트 전송방식에 대한 다양한 연구가 진행되고 있는 실정이다.
상기 멀티캐스트 전송방식은 인터넷 상에서 일반적으로 사용되는 유니캐스트 전송 방식(하나의 송신자가 다른 하나의 수신자에게 데이터를 전송하는 전송 방식)과는 달리 전송 패킷의 헤더에 수신자의 주소 대신 수신자들이 참여하고 있는 그룹주소를 표시함으로써, 여러 수신자들에게 전송되는 데이터들이 한번에 전송되도록 하여 데이터의 중복 전송으로 인한 네트워트 자원의 낭비를 최소화한다는 특징이 있다.
또한, 이러한 멀티캐스트 전송을 위해서는 송신자는 실제의 호스트 주소가 아닌 D클래스 IP 주소에 의한 그룹주소를 사용하며, 그 그룹주소를 갖는 멀티캐스트 패킷을 전송받은 수신자는 자신이 해당 그룹에 포함되었는지의 여부를 판단하여 데이터의 수신 여부를 결정하게 된다. 따라서, 이러한 멀티캐스트 전송방식을 지원하기 위한 별도의 라우터가 필요하게 된다.
하지만, 현재 인터넷의 라우터들은 대부분 유니캐스트만을 지원하도록 구성되어 있기 때문에 현실적으로 인터넷상에 멀티캐스트 전송방식을 적용하는 것이 어렵다.
이를 극복하기 위해, 터널링(tunneling)이라는 개념을 사용하여 캡슐화(encapsulation)된 패킷을 전송하는 IP 멀티캐스트 전송방식이 이용되기도 한다.
이 때, 터널링을 이용한 멀티캐스트 전송방식은 멀티캐스트 라우터들간에 터 널을 설정한 후, 그 멀티캐스트 라우터가 멀티캐스트를 위한 데이터 패킷을 라우팅할 때, 해당 패킷의 헤더 앞에, 멀티캐스트 라우터들간에 설정된 터널의 양 끝단 IP 주소를 덧붙여 라우팅하도록 한다. 즉, 이러한 멀티캐스트 데이터 패킷이 멀티캐스트를 지원하지 않는 일반 라우터들을 거칠 경우, 상기 양 끝단 IP주소에 의해 기존의 유니캐스트 패킷과 같은 방법으로 라우팅되어 최종적으로 터널의 종착지로 전송됨으로써, 현재의 인터넷 환경에서도 멀티캐스트 전송을 가능하게 한다.
하지만, 이러한 IP 멀티캐스트 전송방식도 수용가능한 동시접속자 수가 제한된다는 문제점이 있다.
이외에도 멀티캐스트를 응용한 전송기법으로 네트워크 레벨(Network-level) 멀티캐스트와, 어플리케이션 레벨(Application-level) 멀티캐스트가 있다.
이중 네트워크 레벨 멀티캐스트 기법은 라우터에 하드웨어적인 추가 기능을 삽입하여 라우터로 하여금 분산전송을 수행하게 하는 방법으로서, 이를 인터넷에 적용하기 위해 인터넷상의 모든 라우터가 이 기능을 수행하는 라우터로 교체되어야 한다는 특징이 있다. 따라서, 네트워크 레벨 멀티캐스트 기법은 현실적으로 구현이 불가능하다.
한편, 어플리케이션 레벨 멀티캐스트 기법은 송신자로부터 데이터를 수신한 1차 수신자가 해당 데이터를 2차 수신자에게 재전송하도록 하는 방법으로서, 불특정 다수의 동시 접속자가 발생하여 그들간 연결 경로가 많아지는 경우, 이를 관리하는 것이 곤란하다. 따라서, 실질적으로 동시 접속자 수에 제한을 받게 되며, 상위 수신자의 접속 이탈시, 하위에 있는 수많은 수신자의 접속상태 유지 및 데이터 전송의 신뢰성을 보장할 수 없는 심각한 문제점이 있다.
상술한 바와 같이 상기 VOD 방식은 모든 클라이언트(사용자)가 서버에 접속하여 원하는 컨텐츠를 스트리밍 받기 때문에 서버에 부하(네트워크 포함)를 많이 주게되는 단점을 가져온다. 따라서, 이를 해결할 수 있는 방법이 상술한 멀티캐스팅 방송이지만 이는 실시간 방송에 제한되어 있으며, 또한 라우터 등에서 멀티캐스팅을 지원해야 한다는 제약성을 가지게 되는 문제점이 있다.
따라서, 본 발명의 목적은 소정의 컨텐츠를 저장하고 있는 서버로부터 상기 컨텐츠를 수신하는 소정의 네트워크에서 선택된 하나의 클라이언트를 통해 상기 동일 네트워크내의 나머지 클라이언트들이 컨텐츠를 수신하는 트래픽 분산에 의한 서버와 클라이언트들 간의 데이터 전송 시스템 및 방법을 제공함에 있다.
또한, 본 발명의 목적은 실시간 방송 서비스에 있어서, 소정의 클라이언트가 속한 네트워크에서 선택된 하나의 클라이언트만 서버와 유니캐스트로 연결 시키고, 나머지 동일 네트워크의 클라이언트들은 상기 선택된 클라이언트를 통해 데이터를 수신하는 트래픽 분산에 의한 서버와 클라이언트들 간의 데이터 전송 시스템 및 방법을 제공함에 있다.
또한, 본 발명의 다른 목적은 VOD 방송 서비스에 있어서, 소정의 네트워크 내에서 선택된 하나의 클라이언트만이 서버로부터 데이터를 받고 다른 클라이언트들은 동일 내트워크 내에서 이전에 접속한 클라이언트로부터 데이터를 수신하는 트 래픽 분산에 의한 서버와 클라이언트들 간의 데이터 전송 시스템 및 방법을 제공함에 있다.
또한, 본 발명의 다른 목적은 VOD 방송 서비스에 있어서, 소정의 네트워크 내에서 선택된 하나의 클라이언트만이 서버로부터 데이터를 받고 다른 클라이언트들은 상기 선택된 클라이언트로부터 멀티캐스팅으로 데이터를 수신하고, 동시에 동일 내트워크 내의 다른 클라이언트로부터 데이터를 수신하는 트래픽 분산에 의한 서버와 클라이언트들 간의 데이터 전송 시스템 및 방법을 제공함에 있다.
상기한 목적을 달성하기 위한 본 발명의 시스템은; 소정의 컨텐츠를 저장하고 있는 서버와 동일 네트워크에서 상기 컨텐츠를 수신하고자 하는 복수의 클라이언트들 간에 데이터를 전송하는 서버/클라이언트 시스템에 있어서, 각 서브 네트워크 별로 상기 서버로부터 상기 컨텐츠를 수신하는 제1 클라이언트; 및 상기 서버와 접속을 유지하며, 상기 제1 클라이언트와 동일한 서브 네트워크 내에서 상기 제1 클라이언트가 서버로부터 수신하는 상기 컨텐츠와 동일한 컨텐츠를 상기 제1 클라이언트로부터 수신하는 제2 클라이언트; 및 상기 서버와 접속을 유지하며, 상기 제1 및 제2 클라이언트와 동일한 서브 네트워크 내에서 상기 제2 클라이언트가 서버로부터 수신하는 상기 컨텐츠와 동일한 컨텐츠를 상기 제2 클라이언트로부터 수신하는 제3 클라이언트를 포함함을 특징으로 한다.
또한, 상기한 목적을 달성하기 위한 본 발명의 방법은; 소정의 컨텐츠를 저장하고 있는 서버와 동일 네트워크에서 상기 컨텐츠를 수신하고자 하는 복수의 클라이언트들 간에 데이터를 전송하는 인터넷 네트워크에서 서버와 클라이언트들 간의 데이터 전송 방법에 있어서, 소정의 서브 네트워크 내에 속한 소정의 클라이언트가 상기 서버에 접속하여 소정의 상기 컨텐츠를 요청하는 과정; 상기 서버로부터 상기 해당 서브 네트워크 내에서 상기 요청한 컨텐츠와 동일한 컨텐츠를 수신하는 상기 클라이언트가 아닌 다른 클라이언트의 존재 여부를 검색하는 과정; 상기 검색 결과, 상기 해당 서브 네트워크 내에 동일 컨텐츠를 수신하는 다른 클라이언트가 존재할 경우 상기 다른 클라이언트로부터 상기 요청한 컨텐츠를 수신하는 과정; 상기 동일 컨텐츠를 수신하는 다른 클라이언트로부터 상기 요청한 컨텐츠의 수신이 불가능한 경우, 상기 서버로부터 상기 해당 서브 네트워크 내에서 동일한 컨텐츠를 수신하는 또 다른 클라이언트의 존재 여부를 검색하는 과정; 및 상기 검색 결과, 상기 해당 서브 네트워크 내에 동일 컨텐츠를 수신하는 또 다른 클라이언트가 존재하는 경우 상기 또 다른 클라이언트로부터 상기 요청한 컨텐츠를 수신하는 과정을 포함함을 특징으로 한다.
이하 본 발명의 바람직한 실시예에 따른 상세한 설명을 첨부된 도면들을 참조하여 설명한다. 하기에는 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
본 발명은 모든 클라이언트(Client)가 서버(Server)로 접속하여 컨텐츠를 가져옴으로써 야기되는 서버 부하를 줄이기 위하여 해당 네트워크에서 동일 컨텐츠를 수신하는 클라이언트가 존재할 경우, 상기 서버로부터 컨텐츠를 수신하고 있는 클라이언트를 통해 상기 동일 컨텐츠를 수신하는 방법을 제안한다.
이하 설명에서 '서버'라 함은 소정의 컨텐츠를 데이터 베이스에 보유하고 있는 컨텐츠 제공자를 의미하며, '클라이언트'라 함은 상기 '서버'에 소정의 네트워크를 통해 접속하여 컨텐츠를 수신하는 각 단말기를 의미한다. 한편, 상기 서버와 클라이언트 간에는 소정의 통신 네트워크를 통해 연결되며, 상기 네트워크는 유/무선 네트워크를 포함한다. 또한, 상기 서버와 클라이언트 간에는 복수개의 네트워크들이 연동되어 연결될 수 있다.
한편, 후술하는 설명에서 '서브 네트워크(sub-network)'라 함은 상기 서버와 네트워크 사이를 연결하는 대규모 네트워크 중에서 동일 또는 유사한 전송 라인으로 연결된 복수의 클라이언트들의 집합을 의미한다. 예컨대, 상기 서브 네트워크는 소정의 근거리 네트워크(Local Area Network; 이하, 'LAN'이라 한다) 또는 지역 인터넷 회선 제공 서비스 사업자 네트워크(예컨대, 두루넷) 등이 될 수 있다. 따라서, 상기 동일 네트워크 내의 복수의 클라이언트들은 각 단말의 IP(Internet Protocol) 어드레스의 일부 클래스들을 동일하게 사용할 수 있다.
도 1은 본 발명에 따른 서버와 클라이언트 간의 데이터 전송 시스템의 개념을 나타낸 도면이다.
상기 도 1을 참조하면, 본 발명에 따른 서버와 클라이언트들 간의 데이터 전송 시스템은 서버(100), 제1 클라이언트(110) 및 제2 클라이언트(120)로 구성된다.
여기서, 상기 클라이언트에 명명한 '제1' 및 '제2'는 상기 서버(100)에 접속하여 컨텐츠 수신을 요구한 순서를 의미한다. 따라서, 상기 제1 클라이언트(110)는 상기 제2 클라이언트(120)보다 상기 서버(100)에 먼저 접속하여 컨텐츠를 요구하였음을 의미한다.
상기 제1 클라이언트(110)는 상기 서버(100)와 접속하여, 소정의 컨텐츠를 수신한다. 한편, 상기 제2 클라이언트(120)는 상기 서버(100)에 접속하였으나, 제1 클라이언트(110)가 수신하는 컨텐츠와 동일한 컨텐츠를 요구할 경우 본 발명에 따라 상기 서버(100)로부터 상기 컨텐츠를 수신하지 않고, 제1 클라이언트(110)로부터 동일한 컨텐츠를 수신한다. 이때, 상기 제1 클라이언트(110)를 설명의 편의상 ' 준서버'라고 칭하기로 한다. 즉, 상기 제1 클라이언트(110)는 서버(100)로부터 컨텐츠를 제공받는 반면, 제2 클라이언트(120)는 상기 서버(100)가 아닌 제2 클라이언트(110), 즉 준서버로부터 컨텐츠를 제공받는다. 따라서, 상기와 같이 함으로써 서버(100)에 대한 부하가 현저히 줄 수 있다. 한편, 이때 상기 제1 클라이언트(110) 및 제2 클라이언트(120)는 VOD 또는 실시간 방송의 형태로 컨텐츠를 제공받을 수 있다.
이하, 도 2를 참조하여 상기 제2 클라이언트(120)가 상기 준서버로부터 컨텐츠를 수신하는 과정을 설명한다.
도 2는 본 발명에 따른 서버와 클라이언트 간의 데이터 전송 방법을 나타낸 흐름도이다.
상기 도 2를 참조하면, 먼저 소정의 클라이언트가 소정의 컨텐츠를 수신하기 위하여 해당 컨텐츠를 보유하고 있는 서버에 접속(200 단계)한다.
상기 서버에 접속한 클라이언트가 상기 컨텐츠에 대한 수신을 요구할 경우, 상기 서버는 상기 컨텐츠를 요구한 클라이언트에 대한 네트워크에 속한 클라이언트들의 정보를 검색한다. 즉, 상기 클라이언트가 속한 소정의 서브 네트워크 내에서 상기 클라이언트가 요구하는 컨텐츠와 동일한 컨텐츠를 수신하고 있는 다른 클라이언트가 존재할 경우 본 발명에 따라 상기 다른 클라이언트로부터 해당 컨텐츠를 수신하게 된다.
따라서, 상기 클라이언트가 서버로 컨텐츠 수신을 요청하면, 상기 서버는 해당 네트워크의 동일 컨텐츠 이용자(즉, 클라이언트)가 있는 지를 검색(210 단계)한 다. 만약, 상기 검색 결과, 해당 네트워크 내에 동일 컨텐츠를 수신하고 있는 클라이언트가 하나도 없을 경우(220 단계), 상기 클라이언트가 준서버가 되어 상기 서버로부터 직접 데이터를 수신(230 단계)하게 된다.
반면, 상기 검색 결과 해당 네트워크 내에 동일 컨텐츠를 수신하고 있는 클라이언트가 존재할 경우, 상기 클라이언트는 상기 검색된 해당 네트워크 내의 동일 컨텐츠를 수신하고 있는 클라이언트에 접속하여, 상기 컨텐츠를 수신(240)하게 된다.
이때, 상기 서버는 상기 구현을 위하여 각 네트워크별 클라이언트들의 접속 상황 및 데이터 수신 상황을 모니터링하여 소정의 테이블에 저장하고 있어야 한다. 상기 테이블은 도 12의 설명에서 후술하기로 한다.
이하, 상술한 본 발명에 따른 각 서비스별(예컨대, 실시간 방송 서비스 및 VOD 방송 서비스) 실시예들을 도면을 참조하여 설명하기로 한다.
<제1 실시예 - 실시간 방송>
먼저, 도 3 내지 도 5를 참조하여 실시간 방송에 적용된 본 발명의 방법들을 설명한다.
도 3은 본 발명의 제1 실시예에 따른 네트워크 시스템 구성을 나타낸 도면이다.
상기 도 3을 참조하면, 서버(300)는 각 서브 네트워크(310, 320)(즉, 네트워크 A, 네트워크 B 등)별 제1 클라이언트(311, 321)(예컨대, 동일 컨텐츠에 대하여 최초로 요구한 클라이언트 또는 동일 컨텐츠에 대하여 요구한 클라이언트들 중에서 서버와의 통신 속도가 가장 양호한 클라이언트)와 유니캐스트 방식으로 컨텐츠를 제공한다. 즉, 각 서브 네트워크(310, 320)별로 상기 제1 클라이언트(311, 321)들은 상기 서버(300)로부터 직접적으로 데이터를 수신한다.
한편, 상기 각 서브 네트워크(310)에서 상기 제1 클라이언트(311, 321)와 동일한 컨텐츠를 요구한 다른 클라이언트들(즉, 제2 클라이언트(312, 322) 및 제3 클라이언트(313, 323))은 각각 상기 제1 클라이언트(311, 321)로부터 상기 동일한 컨텐츠를 멀티캐스팅 방식으로 수신한다.
이때, 상기 제1 클라이언트(311, 321)로부터 컨텐츠를 수신하는 다른 클라이언트들은 상기 제1 클라이언트(311, 321)이 서버(300)와의 접속이 끊어질 때를 대비하여 상기 서버(300)와 접속을 유지하고 있는 것이 바람직하다. 즉, 상기 서버(300)와는 접속만 유지하며, 실제 데이터의 수신은 상기 제1 클라이언트(311, 321)로부터 이루어진다.
도 4는 본 발명의 제1 실시예에 따른 서버와 클라이언트 간의 데이터 전송 방법을 나타낸 흐름도이다.
상기 도 4를 참조하면, 서버로부터 소정의 컨텐츠를 수신하고자 하는 소정의 클라이언트는 상기 서버에 접속(400 단계)한다.
만약, 상기 서버에 접속한 클라이언트가 상기 서버와 멀티캐스팅을 할 수 있는 사용자일 경우(410 단계), 상기 멀티캐스팅 방법에 의해 상기 서버로부터 데이터를 수신(420 단계)한다.
반면, 상기 서버에 접속한 클라이언트가 상기 서버와 멀티캐스팅을 할 수 없는 사용자일 경우 상술한 본 발명에 따라 해당 네트워크 내의 다른 클라이언트로부터 컨텐츠를 수신할 수 있게 된다.
따라서, 상기 서버에 접속한 클라이언트가 속한 해당 네트워크의 동일 컨텐츠 이용자를 검색(430 단계)하여, 만약 동일 컨텐츠 이용자가 없을 경우 상기 서버와 유니캐스트 방식으로 데이터를 수신(450 단계)하게 된다. 반면 동일 컨텐츠 이용자가 있을 경우, 최초 접속한 클라이언트(즉, 제1 클라이언트)에 대한 정보를 수신하고, 상기 최초 접속한 클라이언트에게 접속(460 단계)하여 데이터를 수신(470 단계)하게 된다.
상술한 바와 마찬가지로, 상기 서버에는 각 서브 네트워크별로 접속한 클라이언트들의 데이터 수신 상태를 모니터링하여 저장하는 것이 바람직하며, 상기 컨텐츠를 요구하는 클라이언트들에 상기 저장된 정보를 제공함으로써 서버의 부하를 줄일 수 있다.
이하, 상기 각 엘리먼트들간의 데이터 신호 처리 절차를 설명한다.
도 5는 본 발명의 제1 실시예에 따른 각 네트워크 엘리먼트들 간의 신호 처리 절차를 나타낸 흐름도이다.
상기 도 5를 참조하면, 먼저 서버(510)는 제1 클라이언트(520)(즉, 준서버)로 소정의 컨텐츠를 제공(501 단계)한다. 이때, 해당 네트워크 내의 상기 제1 클라이언트(520)가 아닌 다른 클라이언트, 즉 제2 클라이언트(500)가 상기 서버(510)에 접속하여 동일한 컨텐츠를 요구(502 단계)할 경우, 상기 서버(510)는 상기 제2 클 라이언트(500)로 해당 네트워크 내의 동일한 컨텐츠를 수신하고 있는 다른 클라이언트(즉, 제1 클라이언트(520))에 대한 정보를 송신(503 단계)한다.
상기 서버로부터 상기 제1 클라이언트(520)에 대한 정보를 수신한 상기 제2 클라이언트(500)는 상기 제1 클라이언트(520)에 접속(504 단계)하여, 상기 해당 컨텐츠를 수신(505 단계)하게 된다.
상술한 제1 실시예는 실시간 방송의 경우에 적용함이 바람직하며, 후술하는 제2 및 제3 실시예는 VOD 방성 서비스에 적용하는 것이 바람직하다.
이하, 도 6 내지 도 9를 참조하여 본 발명의 제2 실시예에 따른 서비스 방법을 설명한다.
<제2 실시예 - VOD 방송(case 1)>
도 6은 본 발명의 제2 실시예에 따른 네트워크 시스템 구성을 나타낸 도면이다.
상기 도 6을 참조하면, 서버(600)는 각 서브 네트워크(610, 620)(즉, 네트워크 A, 네트워크 B 등)별 제1 클라이언트(611, 621)(예컨대, 동일 컨텐츠에 대하여 최초로 요구한 클라이언트 또는 동일 컨텐츠에 대하여 요구한 클라이언트들 중에서 서버와의 통신 속도가 가장 양호한 클라이언트)와 유니캐스트 방식으로 컨텐츠를 제공한다. 즉, 각 서브 네트워크(610, 620)별로 상기 제1 클라이언트(611, 621)들은 상기 서버(600)로부터 직접적으로 데이터를 수신한다.
한편, 상기 각 서브 네트워크(610)에서 상기 제1 클라이언트(611, 621)와 동 일한 컨텐츠를 요구한 다른 클라이언트들 즉, 제2 클라이언트(612, 622) 및 제3 클라이언트(613, 623))은 각각 상기 제1 클라이언트(611, 621) 및 제2 클라이언트(613, 623)로부터 상기 동일한 컨텐츠를 유니캐스팅 방식으로 수신한다.
즉, 상기 제2 클라이언트(612, 622)는 상기 서버(600)로부터 동일한 컨텐츠를 이미 수신하고 있는 제1 클라이언트(611, 621)로부터 해당 컨텐츠를 수신하게 되며, 상기 제3 클라이언트(613, 623)는 상기 서버(600)로부터 동일한 컨텐츠를 수신하고 있는 바로 앞에 접속한 클라이언트, 즉 제2 클라이언트(612, 622)로부터 해당 컨텐츠를 수신하게 된다. 따라서, 동일 네트워크 내의 동일 컨텐츠를 요구하는 모든 클라이언트들은 하나의 유니캐스트라인으로 연쇄적으로 데이터를 수신하게 된다. 따라서, 상기 서버(600)에는 상기 각 서브 네트워크별로 동일한 컨텐츠를 요구하는 모든 클라이언트들의 데이터 수신 상태(즉, 유니캐스트 연결 관계)에 대한 정보를 저장하고 있는 것이 바람직하다.
이때, 상술한 제1 실시예에서와 마찬가지로 앞서 접속한 클라이언트로부터 컨텐츠를 수신하는 다른 클라이언트들은 상기 앞서 접속한 클라이언트가 서버(300)와의 접속이 끊어질 때를 대비하여 상기 서버(300)와 접속을 유지하고 있는 것이 바람직하다. 즉, 상기 서버(300)와는 접속만 유지하며, 실제 데이터의 수신은 상기 앞서 접속한 클라이언트로부터 이루어진다.
한편, 상술한 제2 실시예에서는 해당 네트워크 내의 각 클라이언트들은 다음 접속한 클라이언트들에게 컨텐츠를 유니캐스트 방식으로 제공하므로, 상기 각 클라이언트들 모두가 준 서버의 기능을 한다고 볼 수 있다.
도 7은 본 발명의 제2 실시예에 따른 서버와 클라이언트 간의 데이터 전송 방법을 나타낸 흐름도.
상기 도 7을 참조하면, 서버로부터 소정의 컨텐츠를 수신하고자 하는 소정의 클라이언트는 상기 서버에 접속(700 단계)한다.
상기 서버에 접속한 클라이언트는 상술한 본 발명의 제2 실시예에 따라 해당 네트워크 내의 다른 클라이언트로부터 컨텐츠를 수신할 수 있게 된다.
따라서, 상기 서버에 접속한 클라이언트가 속한 해당 네트워크의 동일 컨텐츠 이용자를 검색(710 단계)하여, 만약 동일 컨텐츠 이용자가 없을 경우 상기 서버와 유니캐스트 방식으로 데이터를 수신(730 단계)하게 된다. 반면 동일 컨텐츠 이용자가 있을 경우, 바로 이전 접속한 클라이언트에 대한 정보를 수신(740 단계)하고, 상기 바로 이전 접속한 클라이언트에게 접속(750 단계)하여 데이터를 수신(760 단계)하게 된다.
상술한 제1 실시예에서와 마찬가지로, 상기 서버에는 각 서브 네트워크별로 접속한 클라이언트들의 데이터 수신 상태를 모니터링하여 저장하는 것이 바람직하며, 상기 컨텐츠를 요구하는 클라이언트들에 상기 저장된 정보를 제공함으로써 서버의 부하를 줄일 수 있다.
또한, 상기 제2 실시예에서의 경우 각 클라이언트들은 준서버의 역할을 해야 하며, 이를 위해서 스트림받은 데이터를 암호화하여 메모리 또는 디스크에 저장하여야 한다. 만약, 상기 각 클라이언트들이 암호화된 데이터(예컨대, DRM(Digital Right Management)으로 암호화된 데이터)를 스트리밍 방식으로 수신할 경우에는 상 기 암호화된 상태 그대로 저장하였다가 바로 다른 클라이언트로 전송할 수 있다.
도 8은 본 발명의 제2 실시예에 따른 이전 사용자 접속 단절이 발생할 경우의 데이터 전송 방법을 나타낸 흐름도이다.
상기 도 8을 참조하면, 상기 소정의 클라이언트가 상술한 방법에 따라 이전 접속한 클라이언트로부터 컨텐츠를 수신하고 있는 경우, 상기 이전 사용자(즉, 클라이언트)의 접속이 단절될 경우가 발생(800 단계)될 수 있다. 예컨대, 영화를 보다가 일시 정지(Pause)하였을 경우가 이에 해당된다. 이때, 상기 클라이언트는 상술한 바와 같이 서버와 접속을 유지하고 있는 상태이므로, 상기 서버에 저장된 정보로부터 해당 서브 네트워크 내에 동일한 컨텐츠를 수신하는 다른 클라이언트가 존재하는 지 검색(810)하게 된다.
상기 검색 결과, 만약 다른 클라이언트가 존재하지 않을 경우(820 단계) 상기 클라이언트는 서버로부터 유니캐스트 방식에 의해 직접 데이터를 수신(830 단계)하게 된다. 반면, 다른 클라이언트가 존재할 경우에는 상기 검색된 클라이언트로부터 데이터를 수신(840 단계)하게 된다.
이때, 상기 제2 실시예에서 바람직하게는 상기 이전 클라이언트에 단절이 발생하였으며, 각 클라이언트들이 유니캐스트 방식으로 연결되어 있으므로, 상기 이전 클라이언트가 접속하고 있는 한 단계 이전 클라이언트로 접속하는 것이 바람직하다. 예컨대, 제 N-1 클라이언트에 단절이 발생할 경우, 제N 클라이언트는 제N-2 클라이언트와 접속하는 것이 바람직하다.
한편, 상기 접속의 단절이 발생된 경우는 상술한 제1 실시예와 후술할 제3 실시예에도 동일하게 적용될 수 있음은 자명하다.
도 9는 본 발명의 제2 실시예에 따른 이전 사용자의 수신 중단이 발생할 경우의 데이터 전송 방법을 나타낸 흐름도이다.
상기 도 9를 참조하면, 상기 소정의 클라이언트가 상술한 방법에 따라 이전 접속한 클라이언트로부터 컨텐츠를 수신하고 있는 경우, 상기 이전 사용자(즉, 클라이언트)의 수신 중단 현상이 발생(900 단계)될 수 있다. 이때, 상기 클라이언트는 현재까지 수신된 데이터가 상기 이전 사용자가 수신한 중단 시점까지의 데이터인지를 판단(910 단계)한다. 따라서, 상기 클라이언트는 상기 이전 클라이언트가 수신 중단 되었다 할지라도, 상기 중단된 시점까지 상기 이전 클라이언트가 수신한 데이터는 계속하여 수신(920 단계)할 수 있다.
한편, 상기 클라이언트가 상기 이전 클라이언트가 중단 시점까지 수신한 데이터를 모두 수신하였을 경우에는 상기 이전 클라이언트로부터 더이상 해당 컨텐츠에 대한 데이터를 수신할 수 없으므로, 서버로부터 다른 사용자를 검색(930 단계)하게 된다. 그런다음, 상기 서버에 접속한 클라이언트는 상술한 방법에 의해 검색된 해당 서브 네트워크의 다른 클라이언트에 대한 정보를 수신하고, 상기 다른 클라이언트로부터 데이터를 계속 수신(940 단계)하게 된다.
이때, 상기 제2 실시예에서 바람직하게는 상기 이전 클라이언트에 수신 중단이 발생하였으며, 각 클라이언트들이 유니캐스트 방식으로 연결되어 있으므로, 상기 이전 클라이언트가 접속하고 있는 한 단계 이전 클라이언트로 접속하는 것이 바람직하다. 예컨대, 제 N-1 클라이언트에 수신 중단이 발생할 경우, 제N 클라이언트 는 제N-2 클라이언트와 접속하는 것이 바람직하다.
한편, 상기 접속의 수신 중단이 발생된 경우는 상술한 제1 실시예와 후술할 제3 실시예에도 동일하게 적용될 수 있음은 자명하다.
이하, 도 10 및 도 11을 참조하여 VOD 방송의 경우에 있어서 본 발명이 적용될 수 있는 또 다른 실시예를 설명한다.
<제3 실시예 - VOD 방송(case 2)>
도 10은 본 발명의 제3 실시예에 따른 네트워크 시스템 구성을 나타낸 도면이다.
상기 도 10을 참조하면, 본 발명에 따른 제3 실시예는 상술한 제1 실시예 및 제2 실시예를 복합하여 구성한 것이다.
즉, 상술한 제1 실시예에서는 각 서브 네트워크별 제1 클라이언트가 해당 서브 네트워크 내의 동일한 컨텐츠를 요구하는 다른 클라이언트들(예컨대, 제2 클라이언트 및 제3 클라이언트)에게 멀티케스트 방식으로 데이터를 전송하였으며, 상술한 제2 실시예에서는 각 서브 네트워크별 클라이언트들이 접속된 순서에 의해 이전 접속된 클라이언트로부터 유니캐스트 방식에 의해 데이터를 수신하였다.
따라서, 본 발명의 제3 실시예에 따른 방법은 각 서브 네트워크(1010, 1020)별 제1 클라이언트(1011, 1021)가 해당 서브 네트워크(1010, 1020) 내의 동일한 컨텐츠를 요구하는 다른 클라이언트들(예컨대, 제2 클라이언트(1012, 1022), 제3 클라이언트(1013, 1023) 및 제4 클라이언트(1014, 1024))에게 멀티케스트 방식으로 데이터를 전송함과 동시에, 선택적으로 각 서브 네트워크(1010, 1020)별 클라이언트들이 접속된 순서에 의해 이전 접속된 클라이언트로부터 유니캐스트 방식에 의해 데이터를 수신할 수 있다.
이때, 상기 각 서브 네트워크(1010, 1020) 내의 제1 클라이언트(1011, 1021)는 서버(1000)와 유니캐스트 방식에 의해 데이터를 수신하며, 상기 해당 서브 네트워크(1010, 1020) 내의 다른 클라이언트들은 상기 제1 클라이언트(1011, 1021)로부터 멀티캐스트 방식에 의해 데이터를 수신함과 동시에, 선택적으로 자신의 이전 접속된 클라이언트로부터 유니캐스트 방식에 의해 데이터를 수신할 수 있다.
한편, 이때에는 상기 멀티캐스트 방식에 의해 이미 수신된 데이터에 대해서는 다른 클라이언트들로부터 데이터를 중복하여 수신할 필요가 없다. 즉, 상기 해당 네트워크의 각 클라이언트들은 상기 멀티캐스트 방식으로 수신된 데이터와 현재 보고 있는 데이터를 이중 버퍼링하게 된다.
도 11은 본 발명의 제3 실시예에 따른 서버와 클라이언트 간의 데이터 전송 방법을 나타낸 흐름도이다.
상기 도 11을 참조하면, 서버로부터 소정의 컨텐츠를 수신하고자 하는 소정의 클라이언트는 상기 서버에 접속(1100 단계)한다.
상기 서버에 접속한 클라이언트는 상술한 본 발명의 제3 실시예에 따라 해당 네트워크 내의 다른 클라이언트로부터 컨텐츠를 수신할 수 있게 된다.
따라서, 상기 서버에 접속한 클라이언트가 속한 해당 네트워크의 동일 컨텐츠 이용자를 검색(1110 단계)하여, 만약 동일 컨텐츠 이용자가 없을 경우 상기 서 버와 유니캐스트 방식으로 데이터를 수신(1130 단계)하게 된다. 반면 동일 컨텐츠 이용자가 있을 경우, 바로 이전 접속한 클라이언트에 대한 정보를 수신하고, 상기 바로 이전 접속한 클라이언트에게 접속(750 단계)하여 데이터를 수신(1150 단계)하게 된다. 한편, 이때 본 발명의 제3 실시예에 따라 상기 클라이언트는 해당 서브 네트워크의 제1 클라이언트로부터 멀티캐스트 방식에 의해 데이터를 수신(1140)할 수 있다. 즉, 상기 두 가지 방식에 의해 동일한 컨텐츠를 선택적으로 수신하여 종합(1160 단계)할 수가 있으며, 상술한 바와 같이 이미 멀티캐스트 방식에 의해 수신된 데이터에 대해서는 다른 클라이언트로부터 유니캐스트 방식에 의해 데이터를 중복하여 수신할 필요가 없다.
상술한 제1 및 제2 실시예에서와 마찬가지로, 상기 서버에는 각 서브 네트워크별로 접속한 클라이언트들의 데이터 수신 상태를 모니터링하여 저장하는 것이 바람직하며, 상기 컨텐츠를 요구하는 클라이언트들에 상기 저장된 정보를 제공함으로써 서버의 부하를 줄일 수 있다.
한편, 상술한 동일 서브 네트워크를 동일 ISP(Internet Service Provider)로 가정할 경우 많은 사용자가 동일한 영화를 보고 있을 경우가 발생할 수 있다. 따라서, 상술한 본 발명의 실시예들에 따르면 동일 ISP 내에서의 네트워크 속도가 타 ISP와의 네트워크 속도에 비해 매우 빠른 편이므로 본 발명에 따른 효과는 더욱 크다고 할 수 있다.
도 12는 본 발명의 실시예에 따른 서버의 클라이언트 관리 데이터 베이스에서의 데이터 필드들을 나타낸 도면이다.
상기 도 12를 참조하면, 상술한 바와 같이 소정의 컨텐츠를 저장하고 있는 상기 서버에는 각 서브 네트워크(예컨대, 네트워크 A, 네트워크 B 등)별로 동일한 컨텐츠를 수신 요청한 클라이언트들의 정보를 테이블로 저장하는 것이 바람직하다.
예컨대, 네트워크 A에 사용자 a, b 및 c가 동일한 컨텐츠를 요구하였다면, 최초 접속한 사용자 a는 서버로부터 직접 데이터를 수신하고, 상기 사용자 b는 상기 사용자 a로부터 데이터를 수신하며, 상기 사용자 c는 상기 사용자 b로부터 데이터를 수신하도록 할 수 있다. 또한, 네트워크 B에 사용자 1, 2, 3 및 4가 동일한 컨텐츠를 요구하였다면, 최초 접속한 사용자 2는 서버로부터 직접 데이터를 수신하고, 사용자 1은 상기 사용자 2로부터, 사용자 4는 상기 사용자 1로부터 그리고 사용자 3은 상기 사용자 4로부터 동일한 컨텐츠 데이터를 수신하도록 할 수 있다. 이렇게 함으로써 서버의 부하를 줄일 수가 있게 된다.
한편, 본 발명의 실시예에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허 청구의 범위뿐만 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.
본 발명에 따르면, 각 클라이언트들에 대한 컨텐츠 요구를 분산 처리 함으로써 네트워크 내의 복수의 클라이언트들이 동일 컨텐츠를 서버로부터 수신받고자 할 경우 발생할 수 있는 서버의 부하를 줄일 수 있다는 장점이 있다. 또한, 각각의 클라이언트들이 준서버의 기능을 가짐으로써 전체 네트워크의 트래픽을 줄일 수 있다는 장점이 있다.

Claims (5)

  1. 소정의 컨텐츠를 저장하고 있는 서버와 동일 네트워크에서 상기 컨텐츠를 수신하고자 하는 복수의 클라이언트들 간에 데이터를 전송하는 서버/클라이언트 시스템에 있어서,
    각 서브 네트워크 별로 상기 서버로부터 상기 컨텐츠를 수신하는 제1 클라이언트; 및
    상기 서버와 접속을 유지하며, 상기 제1 클라이언트와 동일한 서브 네트워크 내에서 상기 제1 클라이언트가 서버로부터 수신하는 상기 컨텐츠와 동일한 컨텐츠를 상기 제1 클라이언트로부터 수신하는 제2 클라이언트; 및
    상기 서버와 접속을 유지하며, 상기 제1 및 제2 클라이언트와 동일한 서브 네트워크 내에서 상기 제2 클라이언트가 서버로부터 수신하는 상기 컨텐츠와 동일한 컨텐츠를 상기 제2 클라이언트로부터 수신하는 제3 클라이언트
    를 포함함을 특징으로 하는 인터넷 네트워크에서 서버와 클라이언트들 간의 데이터 전송 시스템.
  2. (삭제)
  3. 제1항에 있어서,
    상기 클라이언트는 유니캐스트 또는 멀티캐스트 방법으로 서버 및 타 클라이언트에 상기 컨텐츠를 송수신하는 것을 특징으로 하는 인터넷 네트워크에서 서버와 클라이언트들 간의 데이터 전송 시스템.
  4. 소정의 컨텐츠를 저장하고 있는 서버와 동일 네트워크에서 상기 컨텐츠를 수신하고자 하는 복수의 클라이언트들 간에 데이터를 전송하는 인터넷 네트워크에서 서버와 클라이언트들 간의 데이터 전송 방법에 있어서,
    소정의 서브 네트워크 내에 속한 소정의 클라이언트가 상기 서버에 접속하여 소정의 상기 컨텐츠를 요청하는 과정;
    상기 서버로부터 상기 해당 서브 네트워크 내에서 상기 요청한 컨텐츠와 동일한 컨텐츠를 수신하는 상기 클라이언트가 아닌 다른 클라이언트의 존재 여부를 검색하는 과정;
    상기 검색 결과, 상기 해당 서브 네트워크 내에 동일 컨텐츠를 수신하는 다른 클라이언트가 존재할 경우 상기 다른 클라이언트로부터 상기 요청한 컨텐츠를 수신하는 과정;
    상기 동일 컨텐츠를 수신하는 다른 클라이언트로부터 상기 요청한 컨텐츠의 수신이 불가능한 경우, 상기 서버로부터 상기 해당 서브 네트워크 내에서 동일한 컨텐츠를 수신하는 또다른 클라이언트의 존재 여부를 검색하는 과정; 및
    상기 검색 결과, 상기 해당 서브 네트워크 내에 동일 컨텐츠를 수신하는 또 다른 클라이언트가 존재하는 경우 상기 또 다른 클라이언트로부터 상기 요청한 컨텐츠를 수신하는 과정;
    을 포함함을 특징으로 하는 인터넷 네트워크에서 서버와 클라이언트들 간의 데이터 전송 방법.
  5. (삭제)
KR1020040028754A 2004-04-26 2004-04-26 인터넷 네트워크에서 서버와 클라이언트들 간의 데이터전송 시스템 및 방법 KR100616250B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040028754A KR100616250B1 (ko) 2004-04-26 2004-04-26 인터넷 네트워크에서 서버와 클라이언트들 간의 데이터전송 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040028754A KR100616250B1 (ko) 2004-04-26 2004-04-26 인터넷 네트워크에서 서버와 클라이언트들 간의 데이터전송 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20050103558A KR20050103558A (ko) 2005-11-01
KR100616250B1 true KR100616250B1 (ko) 2006-08-28

Family

ID=37281391

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040028754A KR100616250B1 (ko) 2004-04-26 2004-04-26 인터넷 네트워크에서 서버와 클라이언트들 간의 데이터전송 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR100616250B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2893204B1 (fr) 2005-11-07 2008-02-01 Thomson Licensing Sa Procede de reception de contenus audiovisuels a destination de plusieurs appareils, serveur et appareil mettant en oeuvre le procede
KR100754213B1 (ko) * 2006-02-23 2007-09-03 삼성전자주식회사 Plc 네트워크상에서 데이터를 멀티캐스팅하여 전송하는방법 및 장치
KR100773778B1 (ko) * 2006-03-10 2007-11-12 (주)게임어스 멀티캐스트 방식의 분산 서버 제어 방법 및 그 시스템
WO2008062989A1 (en) * 2006-11-20 2008-05-29 Alticast Co., Ltd. Operating method of contents on demand system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000063991A (ko) * 2000-08-14 2000-11-06 김종인 인터넷상의 트리형태의 스트림 데이터 중계방송망 생성방법
KR20010000483A (ko) * 2000-10-02 2001-01-05 김종인 네트워크 인터넷 방송 시스템에서의 디스트리뷰터 설정 방법
KR20010073511A (ko) * 2000-01-17 2001-08-01 황준 계층적 전송을 이용한 인터넷 방송 시스템 및 인터넷 방송방법
KR20020023596A (ko) * 2000-09-23 2002-03-29 이중철 최인묵 인터넷 방송 시스템 및 인터넷 방송 시스템에 있어서의데이터 전송방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010073511A (ko) * 2000-01-17 2001-08-01 황준 계층적 전송을 이용한 인터넷 방송 시스템 및 인터넷 방송방법
KR20000063991A (ko) * 2000-08-14 2000-11-06 김종인 인터넷상의 트리형태의 스트림 데이터 중계방송망 생성방법
KR20020023596A (ko) * 2000-09-23 2002-03-29 이중철 최인묵 인터넷 방송 시스템 및 인터넷 방송 시스템에 있어서의데이터 전송방법
KR20010000483A (ko) * 2000-10-02 2001-01-05 김종인 네트워크 인터넷 방송 시스템에서의 디스트리뷰터 설정 방법

Also Published As

Publication number Publication date
KR20050103558A (ko) 2005-11-01

Similar Documents

Publication Publication Date Title
US7013322B2 (en) System and method for rewriting a media resource request and/or response between origin server and client
US20130124683A1 (en) Data distribution system, data distribution method, data relay device on distribution side, and data relay device on reception side
US20110246608A1 (en) System, method and device for delivering streaming media
US8542682B2 (en) Systems and methods for media distribution
JP2003521204A (ja) コンテンツストリームを提供する分散ネットワークにおいて最適なサーバを判定するシステムおよび方法
US20020040404A1 (en) System and method for performing broadcast-enabled disk drive replication in a distributed data delivery network
US20010029525A1 (en) Method of utilizing a single uniform resource locator for resources with multiple formats
US20020042817A1 (en) System and method for mirroring and caching compressed data in a content distribution system
KR102110421B1 (ko) 클라이언트 장치에 시청각 컨텐츠를 전달하는 시스템 및 방법
JP5738865B2 (ja) Mpeg−2ts多重化マルチメディアストリームのエレメンタリパケットの選択による、mpeg−2ts多重化マルチメディアストリームの配信
US20100088426A1 (en) Reception apparatus reception method, and computer program
KR20030056701A (ko) P2p 방식을 이용한 멀티미디어 스트리밍 장치 및 방법
EP1806870B1 (en) Method for providing data and data transmission system
US20110082943A1 (en) P2p network system and data transmitting and receiving method thereof
KR100616250B1 (ko) 인터넷 네트워크에서 서버와 클라이언트들 간의 데이터전송 시스템 및 방법
US7080129B2 (en) Site selection based on Internet Protocol address
US20090193476A1 (en) Method for live transmission of content with a view to defered recovery in P2P mode after division, and control device and associated equipment
Ramadha et al. Design and implementation named data networking-based video streaming system
Zimmerman et al. Retransmission-based error control in a many-to-many client-server environment
KR20020023596A (ko) 인터넷 방송 시스템 및 인터넷 방송 시스템에 있어서의데이터 전송방법
KR20080082843A (ko) 데이터 패킷 손실의 보상을 위한 클라이언트 및 시스템,그리고 그 방법
JP2009177811A (ja) 分割後のp2pモードでの繰延回復を目的としたコンテンツのライブ送信のための方法、並びに制御装置及び関連する設備
KR101040312B1 (ko) 하이브리드 ip―tv 서비스 제공 시스템 및 방법
KR20220090671A (ko) 하이브리드 ip―tv 서비스 제공 시스템 및 방법
US20110093611A1 (en) Network unit, a central distribution control unit and a computer program product

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
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20120720

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130729

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140731

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151103

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160802

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170621

Year of fee payment: 12