KR100754293B1 - 디지털 콘텐츠 배포 시스템, 디지털 콘텐츠 배포 방법, 이 방법을 실행하기 위한 프로그램을 기억한 컴퓨터 판독 가능한 기록 매체, 및 이를 위한 서버 및 클라이언트 - Google Patents

디지털 콘텐츠 배포 시스템, 디지털 콘텐츠 배포 방법, 이 방법을 실행하기 위한 프로그램을 기억한 컴퓨터 판독 가능한 기록 매체, 및 이를 위한 서버 및 클라이언트 Download PDF

Info

Publication number
KR100754293B1
KR100754293B1 KR20047018062A KR20047018062A KR100754293B1 KR 100754293 B1 KR100754293 B1 KR 100754293B1 KR 20047018062 A KR20047018062 A KR 20047018062A KR 20047018062 A KR20047018062 A KR 20047018062A KR 100754293 B1 KR100754293 B1 KR 100754293B1
Authority
KR
South Korea
Prior art keywords
packet
network
client
digital content
server
Prior art date
Application number
KR20047018062A
Other languages
English (en)
Other versions
KR20050007533A (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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20050007533A publication Critical patent/KR20050007533A/ko
Application granted granted Critical
Publication of KR100754293B1 publication Critical patent/KR100754293B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1854Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1836Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

디지털 콘텐츠 배포 시스템, 디지털 콘텐츠 배포 방법, 이 방법을 실행하기 위한 프로그램 및 이 프로그램을 기억한 컴퓨터 판독 가능한 기록 매체, 및 이를 위한 서버 및 클라이언트를 제공한다. 본 발명의 디지털 콘텐츠 배포 시스템은, 제1 네트워크(12)와 제2 네트워크(22)를 통해 디지털 콘텐츠를 배포하고, 서버(14)는 제1 네트워크(12)에 접속되며, 제2 네트워크(22)에는 디지털 콘텐츠를 수신하여 표시 또는 재생하기 위한 클라이언트(20)가 접속되어 있다. 서버(14)는 유지된 디지털 콘텐츠를 복수의 패킷으로 분할하고, 제2 네트워크(22)에 대하여 디지털 콘텐츠를 구성하기 위한 최소 단위의 패킷을 송신하며, 클라이언트(20)는 클라이언트(20)가 서버(14)로부터 수신한 최소 단위의 패킷과, 제2 네트워크를 구성하는 다른 클라이언트로부터 수신한 패킷을 사용하여, 클라이언트(20)에 대하여 디지털 콘텐츠를 유지하게 하기 위한 수단을 포함한다.

Description

디지털 콘텐츠 배포 시스템, 디지털 콘텐츠 배포 방법, 이 방법을 실행하기 위한 프로그램을 기억한 컴퓨터 판독 가능한 기록 매체, 및 이를 위한 서버 및 클라이언트{DIGITAL CONTENT DELIVERY SYSTEM, DIGITAL CONTENT DELIVERY METHOD, PROGRAM FOR EXECUTING THE METHOD, COMPUTER-READABLE RECORDING MEDIUM STORING THEREON THE PROGRAM, AND SERVER AND CLIENT FOR IT}
본 발명은 디지털 콘텐츠의 배포(distribution)에 관한 것이며, 보다 상세하게는, 디지털 콘텐츠 배포 사이트로부터 네트워크를 통해 디지털 콘텐츠를 배포하여, 복수의 클라이언트에 유지시킴으로써, 네트워크를 통해 디지털 콘텐츠를 효율적으로 배포하는 것을 가능하게 하는 디지털 콘텐츠 배포 시스템, 디지털 콘텐츠 배포 방법, 이 방법을 실행시키기 위한 프로그램, 이 프로그램을 포함하는 컴퓨터 판독 가능한 기록 매체, 이를 위한 서버 및 클라이언트에 관한 것이다.
또한, 본 발명은, 네트워크를 통해 서로 접속되며, 각각 복수의 클라이언트를 포함하여 구성되는 복수의 그룹을 포함하는 소정의 대역(大域) 그룹에 대하여, 서버에 대한 통신 트래픽의 오버헤드를 저감시키면서, 디지털 콘텐츠의 배포를 가능하게 하는 디지털 콘텐츠 배포 시스템 및 이를 위한 서버와 클라이언트 및 컴퓨터를 상술한 서버와 클라이언트로서 기능시키기 위한 제어 방법, 이들을 위한 프로그램 및 그 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
최근에는, 컴퓨터, 공중 전화회선, ISDN, 광통신, 무선통신, ADSL, CATV 등의 방식을 통한 인터넷이라는 네트워크가 점점 더 보급되고 있다. 앞으로, 전자 메일와 같은 디지털 콘텐츠의 배포뿐만 아니라, 네트워크를 통해 텍스트 데이터, 음성 데이터, 화상 데이터 및 이들이 복합된 멀티미디어 데이터를, 디지털 콘텐츠를 제공하는 사이트에 배치된 서버로부터, 네트워크를 통해 복수의 컴퓨터 또는 휴대형 단말기와 같은 클라이언트에 배포하는 서비스가 더욱 보급될 것으로 생각된다.
한편으로는, 전술한 인터넷과 같은 광범위한 범위에 걸쳐 디지털 콘텐츠를 배포 또는 관리할 수 있는 제1 네트워크 외에, 기업, 정부기관, 행정기관, 교육기관, 도서관, 방송통신기관과 같은 공공적 그룹에 있어서 컴퓨터 자원의 효율적인 이용을 가능하게 하기 위해서, 인터넷에 비교하면 좁은 범위에서 디지털 콘텐츠를 공유하고 관리하여, 배포하는 근거리 네트워크(LAN), 원거리 네트워크(WAN)와 같은 제2 네트워크도 급속히 보급되고 있다. 즉, 현재 서버와 공공적 그룹 간의 접속은 많은 경우에는 복수의 그룹에 귀속되는 복수의 네트워크를 통해 이루어지고 있다고 할 수 있다. 통상, 전술한 제2 네트워크에서는, 컴퓨터와 같은 복수의 클라이언트(이하, 클라이언트로서 칭함)가 소정의 그룹을 형성하도록 접속되어 있고, 그룹마다 주어진 디지털 콘텐츠를 유지하는 것이 가능하게 되어 있다.
전술한 네트워크 환경에서는, 서버가 유지하는 디지털 콘텐츠를, 다른 네트워크에 귀속되는 복수의 클라이언트에 배포할 필요가 생기는 경우가 있다. 이제까지 서버로부터 송신되는 디지털 콘텐츠를 복수의 클라이언트를 향해 배포하는 송신 방법 또는 시스템이 여러 가지 제안되고 있다.
예컨대, Deering, S. 등, 「Multicast. "Routing in Internetworks and Extended LANs」(Stanford University, Department of Computer Science Technical Report : STAN-CS-88-1214, July, 1988)에서는, 네트워크계 경로 상에서 패킷의 중복을 피하기 위해, 소위 IP 멀티캐스트라 불리는 방법이 제안되어 있다. 도 31는 Deering 등이 제안한 IP 멀티캐스트 방식의 개략도를 나타내고 있다. 도 31에 도시한 바와 같이, Deering 등이 제안한 IP 멀티캐스트 방식은 네트워크(100) 상에서 패킷의 중복을 배제하여, 양호한 통신을 가능하게 하지만, 단순한 IP 전송을 행하는 라우터 대신에, 서비스를 받는 클라이언트에 관한 「스테이트(state)」를 갖는 전용의 라우터를 배치해야 하는 등, 네트워크 자원의 복잡화를 동반한다는 문제점이 있었다. 또한, 전술한 네트워크 자원의 복잡화와 관련하여, 네트워크 설비의 증설이 필요하게 되는 점, 또는 클라이언트의 불의의 장해나, 이탈과 같은 사태에 대응할 수 없는 등, 스케일러빌리티(scalability)에 제약이 생긴다고 하는 문제점이 생기고 있었다.
또한, IP 멀티캐스트는 임의의 소스로부터 임의의 그룹에 데이터를 보낼 수 있다고 하는 구조 상, 악의적 공격에 약하게 되고, 그룹에 대하여 유일한 대역적인 어드레스를 확보할 필요가 있으며, 기본적으로 최선 노력(Best Effort)형으로 디지털 콘텐츠를 배포한다는 점에서는 저비용으로 서비스를 운영할 수 있다는 이점이 있다. 그러나, IP 멀티캐스트는 약간의 회선 중단이 큰 손실로 이어지는 기업의 기간 회선이나, 항상 일정한 대역을 확보할 필요가 있는 동화상 배포 등의 용도에는 부적합하고, 신뢰성이나, 혼잡의 회피, 보안성 등의 취급이 유니캐스트에 비해서 어렵다는 문제점이 있다. 나아가서는, IP 멀티캐스트는 네트워크 기반의 대규모 변경을 필요로 하는 등의 이유 때문에 아직은 실용적이라고 말할 수 없다.
또한, 전술한 IP 멀티캐스트의 문제점을 해소하기 위해서, 「애플리케이션-레벨 멀티캐스트 (application-level multicast)」방식도 제안되어 있다(Dimitrios Pendarakis, Sherlia Shi, Dinesh Verma, and Marcel Waldvogel. Almi: An application level multicast infrastructure. In Proceedings of the 3rd USENIX Symposium on Internet Technologies and Systems(USITS), pages 49-60, 2001; Y. Chu, S. Rao, and H. Zhang. A Case For End System Multicast. In Proc. ACM Sigmetrics, June 2000; P. Francis, "Yoid : extending the interent multicast architecture, "preprint available from http://www.isis.edu/div7/yoid/, April 2000).
전술한 선행 기술에서는, 클라이언트가 패킷 송신의 중계점을 겸하여, 보다 하류측의 클라이언트에 패킷을 전송하는 방식이 이용된다. 도 24a, 도 24b 및 도 24c는 애플리케이션-레벨 멀티캐스트 방식을 사용한 디지털 콘텐츠 배포의 개략도를 나타내고 있다. 도 32에 도시되는 애플리케이션-레벨 멀티캐스트 방식은 클라이언트(106)에 대하여 순위를 부여하여, 각각 패스 트리(pass tree) 구조에 따라서, 패킷 송신을 할 수 있는 구성으로 되어 있다. 도 32에 도시한 애플리케이션-레벨 멀티캐스트 방식에 있어서는, Pendarakis 등은 모든 참가 클라이언트를 효율적으로 접속하는 최소 네트워크를 계산한다. 또한, Chu 등은 패킷의 흐름을 클라이언트에 대하여 할당하는 시도를 하고 있다.
최소 네트워크는, 예를 들면 가지가 RTT(round-trip time)로 가중된 MST(minimum spanning tree)로서 형성된다. MST는 정적으로 결정되기 때문에, 참가 클라이언트의 이탈 등이 일어난 경우에는 재구성이 필요하게 된다. 이 재구성에 필요한 계산은 서버(108)가 실행하기 때문에, 서버(108)에 대하여 가해지는 오버헤드가 커진다고 하는 문제점이 있다. 또한, 각각의 참가 이탈에 의한 재구성을 국소적으로 행하고, 정기적으로 전체의 구성을 다시 고치는 등으로 하여, 서버(108)에 대한 오버헤드를 경감하기 위한 방식도 제안되어 있다. 그래도, 패킷을 송신하는 패스 트리 구조의 중간에 위치하는 클라이언트가 이탈한 경우나, 클라이언트(106)의 중앙 처리 장치(CPU)가 다른 프로세스에 할당되어, 패킷을 릴레이할 수 없는 경우 등에는, 그 하류의 클라이언트에게 있어서 패킷 수신의 돌발적인 차단이라는 영향을 받는다. 이 문제점을 피하기 위해서는, 최소 네트워크(트리 구조)에 용장성을 갖게 하거나, 혹은 대체 트리 구조를 미리 준비하는 등의 대책이 필요하게 되어, 최소 네트워크의 구성이 점점 더 복잡해지며, 이 때문에, 재구성할 때에 서버(108)에 대하여 가해지는 오버헤드가 더욱 증가하게 된다. 이 이유는, 각 클라이언트가 릴레이의 역할을 정적으로 받고 있음에 의한 것으로, 네트워크 구성 정보를 포함하는 패스 트리 구조의 생성 ·재구성은 서버만이 행함에 따른 것이다.
한편으로는, 분산된 클라이언트를 사용하여, 협조적으로 송신 패킷의 캐싱을 행하는 시스템도 제안되어 있다. 협조적으로 패킷의 캐싱을 하는 시스템에서는, 서버(108)로부터가 아니라, 클라이언트(106)의 캐쉬로부터 데이터를 입수한다(일본 특허 출원 평11-282332호 명세서, 발명의 명칭 「분산 클라이언트 베이스의 데이터 캐싱 시스템」). 일본 특허 출원 평11-282332호 명세서에는, 각 클라이언트가 데이터 캐쉬와 클라이언트의 대응표를 이용하여, 원하는 데이터를 캐쉬하고 있는 클라이언트를 찾아내어, 그 클라이언트로부터 데이터를 입수하는 수법이 개시되어 있다.
일본 특허 출원 평11-282332호 명세서에 개시된 방법은, 양호하게 클라이언트에 있어서의 캐싱을 행하는 것을 가능하게 하지만, 데이터를 입수한 시점에서, 적어도 캐쉬되는 데이터의 길이만큼 지연이 생겨, 시간 지연이 작은, 실시간성이 필요한 스트리밍 등의 경우에는 실시간성의 점에서 충분하지 않다. 또한, 일본 특허 출원 평11-282332호 명세서는 큰 데이터 길이에서의 캐싱에 대해서는 전혀 개시하고 있지 않다. 전술한 데이터 캐싱 시스템은 캐싱에 의한 시간 지연을 저감하도록, 스트림을 작은 패킷으로 분할하여 관리하면, 패킷 단위로 빈번하게 캐싱을 위한 대응표를 갱신할 필요가 있어, 클라이언트에 대한 오버헤드가 증대된다. 그 때문에, 대응표를 클라이언트에 포함시키는 이점이 저해될 뿐만 아니라, 클라이언트의 오버헤드를 현저히 증가시켜 버리기 때문에, 실용적이지 못하다.
한편, Aramaki 등은 클라이언트를 엣지 서버에 접속시키는 구성을 제안하고 있다(http://www.akamai.com). 도 33에는 Aramaki 등이 제안한 방식을 개략적으로 도시되어 있다. 도 33에 도시한 Aramaki 등의 방식에서는, 네트워크(100)를 통해 원격적으로 배치된 서버(108)와, 클라이언트(106) 근처에 배치된 엣지 서버(110)를 사용한다. 원격 서버(108)와, 엣지 서버(110) 사이의 네트워크(100)는 최선 노력형의 네트워크로 되어 있으며, 대역폭을 다 쓰도록 하여 디지털 콘텐츠를 송신한 후, 송신된 디지털 콘텐츠는 일단 엣지 서버(110)에서 캐싱된다. 캐싱된 디지털 콘텐츠는, 엣지 서버(110)로부터 다시금 가까운 클라이언트에 스트리밍되어, 디지털 콘텐츠의 클라이언트에 대한 배포가 완료된다. 즉, Aramaki 등의 방법은, 서버(108)와 엣지 서버(110) 사이에서 패킷의 중복을 억제하여, 혼잡을 피하는 방법의 한 해결책을 부여하는 것이다. 그러나, 엣지 서버(110)를 사용하는 경우라도, 엣지 서버(110)의 오버헤드가 과제가 되는 경우가 많아, 엣지 서버(110)로부터 각 클라이언트에 패킷을 송신할 때에도 송신 패킷의 중복을 저감할 필요가 있다.
서버(108)와 엣지 서버(110) 사이가 인터넷이 아니라, 백본이 대역폭 공유형의 인트라넷이라면, 백본에서의 패킷 중복에 의한 혼잡을 피하기 위해서 같은 식의 서버(108)와, 엣지 서버(110)를 사용하는 구성을 이용할 수 있다. 그러나, 백본 라우터로 서로 접속되어 있는 엔드 라우터 하의 전부에 엣지 서버(110)를 배치할 필요가 있기 때문에, LAN 또는 WAN과 같은 제2 네트워크를 구성하기 위한 비용이 높아지고, 또한 엣지 서버(110)의 메인터넌스 비용이 증가하며 이를 위한 네트워크 관리자에 대한 부하가 증대된다는 문제점이 발생하게 된다. 또한, 시스템으로서의 복잡함의 증가는 네트워크 및 이를 위한 처리의 자율성(autonomic computing)이라는 관점에서 문제가 되는 상황이 생긴다. 이 때문에, 디지털 콘텐츠에서의 실시간성을 확보하면서, 복수의 클라이언트에게 특별한 보조 서버(엣지 서버 등)없이 단순하며 또한 자체 구성(self-configuring), 자체 최적화(self-optimizing) 등의 기능을 포함하는 네트워크의 자율성을 부여한 로버스트 운용 시스템을 제공할 필요가 발생한다.
또한, 전술한 IP 멀티캐스트에서는 송신원은 수신처로서 특별한 범위 내의 값을 갖는 IP 어드레스를 지정하여 패킷을 송신한다. 이 IP 어드레스가 멀티캐스트그룹을 나타내고 있으며, 수신측 호스트는 이 그룹에의 참가 요구를 경로 상에 있는 각 라우터에 송신하여, 이것을 수신한 라우터가 참가 요구를 송신한 그룹을 인식하여 패킷을 배포하는 처리를 실행한다. 멀티캐스트를 사용해서도 적절한 라우팅을 행함으로써, 패킷의 중복없이 다수의 수신측 호스트에 대하여 한번에 동일한 패킷을 송신할 수 있다.
전술한 라우터를 넘지 않는 단일 네트워크 안이나 한정된 네트워크 상에서는, 특히 설비 ·장치의 큰 투자 부담이나, 통신 트래픽에 대한 문제점을 일으키지 않고서 멀티캐스트 방식의 콘텐츠 배포는 양호하게 기능한다. 그러나, 현재의 인터넷이 전체적으로 사용하는 통신 프로토콜(IPv4)에서는 통상, 멀티캐스트 기능이 유효화되어 있지 않고, 실제로 인터넷 상에서 멀티캐스트를 행하기 위해서는 일반적으로 추가의 장치 설비를 필요로 한다.
도 34는 전술한 멀티캐스트가 가능한 그룹에 대하여 유사 멀티캐스트, 예컨대 잘 알려진 방법으로서, 멀티캐스트에 대응한 네트워크와 별도의 멀티캐스트 대응의 콘텐츠 배포를 가능하게 하는 네트워크 시스템을 나타내고 있다. 도 34에 도시하는 네트워크 시스템은 서버와, 복수의 그룹 사이에 복수의 터널을 형성함으로써 디지털 콘텐츠의 배포를 가능하게 하고 있다. 도 34에 도시하는 서버(112)는 각 그룹(114a∼114c)으로 구성되는 대역 그룹(G)에 디지털 콘텐츠를, 인터넷과 같은 제1 네트워크(116)를 통해 배포한다. 도 34에 도시하는 대역 그룹(G)은 그룹(114a)∼그룹(114c)을 포함하여 구성되어 있으며, 예컨대 기업, 공공기관, 정부기관, 학교 교육기관 등을 예로 들 수 있다.
구체적으로는, 예컨대 하나의 기업을 예로 들어 설명하면, 그룹(114a)은 홋카이도 영업소이며, 그룹(114c)은 동일한 기업의 큐슈 영업소 등으로 할 수 있다. 도 34에 도시한 서버(112)는 그룹(114a∼l14c)의 각각에 대하여, 소위 터널(118a∼118c)이라 불리는 구성을 사용하여, 디지털 콘텐츠를 멀티캐스트 배포하고 있다. 터널(118a∼118c)은 보다 상세하게는 다른 2개의 네트워크 사이에, 각각 터널의 입구 포트 및 출구 포트를 설치하여, 입구 포트와 출구 포트를 경유하여 데이터 패킷을 전송함으로써, 네트워크 상의 수신자에 대해 멀티캐스트 패킷을 한번에 배포한다. 도 34에 도시한 바와 같이, 복수의 그룹에 대하여 멀티캐스트 배포를 하기 위해서는 그룹분만큼 터널을 다수개 준비해야 한다.
전술한 터널링 기술은, 이미 일반적으로 알려진 것으로, 그룹이 다수개인 경우에는, 터널링에 의한 멀티캐스트 배포는 충분히 기능하지 않는 경우가 많다고 알려져 있다. 이것을 보다 구체적으로 도시한 것이 도 35이다. 도 35에서는, 디지털 콘텐츠의 송신자(이하 프로바이더로서 칭함)와 다수의 그룹이 인터넷을 통해 접속되어 있다. 그룹(114a∼114c)은 그룹이 사용하는 ISDN, ADSL, CATV, 광통신 등의 통신 용량이 다른 회선으로 제1 네트워크에 접속되어 있다. 더욱이, 그룹(114a∼114c)은 또한 각각 통신 용량이 가지각색이며 다른 종류의 통신 인프라 기반, 예컨대 이더넷(등록상표)이나 무선 통신 네트워크를 이용하여 구성된 근거리 네트워크(LAN)와 같은 제2 네트워크에 의해 접속되어 있다. 이들 제2 네트워크 상에 각각 복수의 클라이언트(122)가 접속되어 있고, 이들이 라우터(124) 등에 의해서 제1 네트워크(116)에 접속되어 있다. 이러한 상황에서, 서버(112)가 모든 클라이언트(122)에 대하여 패킷을 송신하는 것으로 한다.
도 35에 도시한 상황하에서는, 터널링에 의해 멀티캐스트 배포하는 종래의 방법에는 이하의 문제점이 생긴다.
(1) 수신측이 되는 그룹에 있어서의 운용 및 관리 문제 : 제2 네트워크에 터널의 포트를 제공하기 위해서, 멀티캐스트로 패킷을 수신하고, 클라이언트(122)에게 멀티캐스트할 수 있는 구성으로 된 전용 호스트 장치가 필요하게 된다. 당연한 것이지만, 그룹 내에서 클라이언트를 서로 접속시키는 LAN에 대한 통신은 전용 호스트 장치의 기능에 의존하기 때문에, 만일 전용 호스트가 어떠한 이유로 이용할 수 없게 된 경우에는 전용 호스트 장치가 관리하는 제2 네트워크의 모든 클라이언트에게 영향이 생겨 버린다.
(2) 콘텐츠 배포 서버의 네트워크 대역폭의 문제 : 서버(112)와 각 그룹 사이의 통신은 유니캐스트이기 때문에, 그룹이 M개 있으면 서버가 송신하는 패킷량 및 이로 인한 통신 트래픽량은 M배가 된다. 따라서, 서버(112) 측에 있어서 대용량의 통신 인프라 기반을 사용하지 않은 한, 그룹이 많아지면 많아질수록 실시간성을 해치지 않고서 동시에 통신할 수는 없으며, 멀티캐스트를 사용하는 비용 ·장점의 매력을 잃어버리게 된다.
즉, 지금까지 1 대(對) 다수의 디지털 콘텐츠, 특히 실시간성이 필요한 디지털 콘텐츠의 배포에 있어서, 네트워크계 경로 상에서의 송신 패킷의 중복을 피하여, 트래픽의 혼잡을 피하는 동시에, 개개의 라우터의 복잡화를 초래하는 일없이, 또한 경로상의 모든 라우터를 교환하는 작업 및 비용 등, 대규모 투자를 동반하는 변경을 필요로 하지 않고 실시간성이 향상된 디지털 콘텐츠의 배포를 가능하게 하는 것이 필요하다. 또한, 라우터, 스위칭 허브 등의 네트워크층의 변경없이, 나아가서는 정적인 최소 네트워크에 있어서의 클라이언트의 빈번한 참가 및 이탈에 대응하는 재구성의 필요를 배제함으로써, 서버에 대한 오버헤드를 저감시켜, 네트워크 시스템의 안정성을 손상시키지 않고서 디지털 콘텐츠를 배포할 필요가 있다.
구체적으로 말하면, 예컨대, 상류의 중계점에 위치하는 클라이언트가 이상 종료 등에 의해 이탈한 경우에, 그 하류측의 클라이언트의 안정성을 확보하여, 확실하게 사용자에 대하여 디지털 콘텐츠를 배포할 수 있도록, 용장성을 갖게 하는 네트워크 구성으로 하는 등, 네트워크 자원의 복잡화 및 서버에 대한 재편성의 오버헤드를 늘리는 일없이, 디지털 콘텐츠의 실시간성을 확보하는 디지털 콘텐츠 배포가 필요하게 된다.
나아가서는, 터널링을 사용하는 경우에는 그룹이 증가함에 따라 구성되는 터널의 개수를 늘리는 것도 가능하지만, 터널수의 증가에 대응하여 서버측의 통신 트래픽을 더욱 압박하게 된다. 또한, 서버측에 있어서의 전술한 문제점을 방지하기 위해서 그룹 사이에도 터널을 구성하여, 캐스케이드형으로 패킷을 중계함으로써 서버측의 혼잡을 피하는 방법도 생각할 수 있다. 그러나, 그룹 사이에 있어서도 터널의 포트를 구성하기 위해 추가적인 장치 설비가 필요하게 되고, 그룹 사이에서 계 층 구조가 형성되기 때문에, 하나의 그룹에서의 터널의 장해가 다른 그룹에도 치명적인 영향을 주게 되는 등의 새로운 문제가 생긴다. 나아가서는, 서버로부터 직접 보내진 패킷과, 캐스케이드적으로 다른 그룹에서 보내져 온 패킷이 중복되는 경우도 있고, 이 때문에 디지털 콘텐츠의 재생에 문제점을 초래하거나, 소프트웨어적으로 패킷의 중복을 배제할 필요가 생기는 등, 재생 품질 및 소프트웨어 ·비용적으로도 충분히 대응할 수 있는 것은 아니다.
본 발명은, 전술한 문제점에 감안하여 이루어진 것으로, 본 발명에서는, 그룹의 수에 의존하지 않고, 서버로부터 복수의 정보 처리 장치에 대하여 디지털 콘텐츠를 실시간으로 제공한다. 디지털 콘텐츠의 제공은, 서버가 디지털 콘텐츠를 제1 네트워크를 통해 패킷으로서 제2 네트워크에 속하는 적어도 하나의 클라이언트에 송신한다. 송신되는 패킷은 디지털 콘텐츠를 재구성하기 위해서 필요하게 되는 최소 단위가 된다. 한편, 본 발명에서는, 최소 단위의 패킷이란, 원래의 디지털 콘텐츠를 패킷의 중복없이 재구성할 수 있는 최소의 패킷을 의미하며, 본 발명에서는, 이하, 소스 패킷으로서 칭한다. 소스 패킷을 수신한 클라이언트는 제2 네트워크를 통해 제2 네트워크에 접속된 클라이언트에 대하여 수신한 소스 패킷의 카피를 송신한다. 카피 패킷을 송신한 클라이언트는 다른 클라이언트가 수신한 소스 패킷의 카피를 수신한다.
소정 기간 동안에 복수의 패킷으로 분할되어 송신된 디지털 콘텐츠는 클라이언트에서 결합됨으로써 재구성되어, 클라이언트의 사용자에게 실시간으로 제공된 다. 본 발명의 제공 형태는 동화상 이미지 데이터의 표시, 오디오 데이터의 재생, 멀티미디어 데이터를 구성하는 화상 데이터의 표시와, 그것에 동기한 오디오 데이터의 재생 등의, 지금까지 알려진 어떠한 형태도 포함할 수 있다. 이하, 본 발명에서 상술한 제공 형태를 포함하여 표시 또는 재생으로서 정의한다. 재구성된 디지털 콘텐츠를 제공하는 있는 동안에, 클라이언트는 더욱 후속되는 패킷을 수신하여, 이미 재구성된 디지털 콘텐츠의 제공 동안에 후속되는 스트림의 재구성을 완료하여 연속적인 디지털 콘텐츠의 제공을 가능하게 한다.
본 발명은 전술한 처리를 반복함으로써, 송신된 패킷의 중복을 회피하면서, 디지털 콘텐츠의 안정된 배포를 계속하여, 네트워크를 구성하는 클라이언트의 빈번한 이탈이나 신규 참가에 대하여, 유연하게 대응하는 것을 가능하게 한다. 또한, 본 발명은 예컨대 CPU 할당 상황의 변화 등, 각 클라이언트에 있어서의 큰 환경 변동에 대하여도 디지털 콘텐츠 배포의 효율에 영향을 주지 않는, 안정된 시스템을 실현한다. 또한, 본 발명은 특별한 구성의 라우터나, 스위칭 허브, 또는 보조 서버 등을 이용하지 않으므로, 네트워크 시스템의 비용을 불필요하게 증대시키는 일이 없고, 또한 네트워크 사용자에 대하여 메인터넌스 등의 업무를 부가시키는 일없이 디지털 콘텐츠의 배포를 가능하게 한다.
또한, 본 발명은 배포용 터널에 관계없이 효율적으로 서버로부터 소정의 대역 그룹에 배포하기 위한 유사 터널링 배포를 제공한다. 본 발명에 있어서 유사 터널 배포란, 서버로부터는 디지털 콘텐츠를 재구성하는 데에 필요하게 되는 최소한의 소스 패킷을 중복없이 대역 그룹에 배포하는 것만으로, 대역 그룹 내의 클라이언트에 동일한 디지털 콘텐츠를 중대한 타임 래그를 생기게 하지 않고서 또 원할하게(smoothly) 제공하는 것을 가능하게 하는 배포 시스템 및 배포 방법을 의미한다. 본 발명의 유사 터널 배포에 있어서, 서버는 패킷을 복수의 그룹에 귀속되는 클라이언트에게 중복없이 배포한다. 본 발명에서 복수의 클라이언트는 그룹을 구성하고, 복수의 그룹이 대역 그룹을 구성한다. 또한, 서버는 대역 그룹 전체에 대하여 패킷을 송신하는 것이 가능하도록 구성되어, 패킷을 송신하는 경우에 대역 그룹 내에서 그 때마다 송신처의 클라이언트를 선택한다. 적어도 1개의 클라이언트는 디지털 콘텐츠를 구성하는 소스 패킷을 서버로부터 수신한다. 서버 및 클라이언트는 대역 그룹을 구성하는 클라이언트의 클라이언트 리스트를 보유하고 있어, 소스 패킷을 수신한 클라이언트는 소스 패킷과 함께 수신하는 소스 패킷 배포 데이터 또는 미리 할당된 카피처 리스트를 참조하여, 다른 클라이언트에게, 소스 패킷의 카피를 배포한다. 전술한 처리를 실행함으로써 모든 클라이언트에 있어서 디지털 콘텐츠를 과부족없이 재구성한다.
또한, 본 발명은 대역 그룹에 속하는 클라이언트의 네트워크 특성을 효율적으로 활용하기 위해서, 그룹에 있어서의 LAN을 유효하게 이용한다. 각 그룹은, 각 그룹에 귀속되는 클라이언트 사이에서, 예컨대 하나의 스위칭 허브에 접속시켜 구성함으로써, 스위치의 기능을 이용하여 서로 영향을 주는 일없이 통신이 가능하게 된다. 또한, 본 발명은 하나의 라우터 하에 접속된 복수의 클라이언트와, 애플리케이션 컴퓨터 사이에서 멀티캐스트 대응의 제3 네트워크를 구성함으로써, 디지털 콘텐츠를 그룹에 공유시켜, 클라이언트의 오버헤드 및 하드웨어 자원을 보다 저감시 키는 것을 가능하게 한다.
즉, 본 발명에 따르면, 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 배포하기 위한 시스템으로서,
상기 제1 네트워크에 접속되어, 디지털 콘텐츠를 송신하는 서버와,
상기 제1 네트워크에 접속되는 상기 제2 네트워크를 구성하며, 상기 디지털 콘텐츠를 수신하여 제공하기 위한 클라이언트를 포함하고,
상기 서버는 유지된 디지털 콘텐츠를 복수의 패킷으로 분할하여 상기 제2 네트워크에 대하여 상기 디지털 콘텐츠를 구성하기 위한 최소 단위의 패킷을 송신하는 수단을 포함하고,
상기 제2 네트워크를 구성하는 상기 클라이언트는 상기 클라이언트가 상기 서버로부터 수신한 상기 최소 단위의 패킷과, 상기 제2 네트워크를 구성하는 다른 클라이언트로부터 수신한 패킷을 사용하여, 상기 제2 네트워크 내에 접속된 모든 상기 클라이언트에 대하여 상기 디지털 콘텐츠를 유지시키기 위한 수단을 포함하는 것인 디지털 콘텐츠 배포 시스템이 제공된다.
본 발명에서, 상기 서버는 상기 최소 단위의 패킷을 상기 제2 네트워크의 복수의 클라이언트에 동적으로 할당하는 수단을 포함할 수 있다. 본 발명에 있어서, 상기 최소 단위의 패킷을 상기 제2 네트워크의 복수의 클라이언트에 할당하는 수단은,
상기 클라이언트의 오버헤드를 결정하기 위한 수단과,
상기 오버헤드과 관련해서 상기 클라이언트의 적어도 하나를 중간 노드로서 동적으로 선택하여, 그 중간 노드 앞으로 상기 패킷을 할당하는 수단을 포함할 수 있다.
본 발명의 상기 클라이언트의 오버헤드를 결정하기 위한 수단은 상기 서버가 상기 최소 단위의 패킷을 소정의 클라이언트 앞으로 송신한 시각과, 상기 소정의 클라이언트가 상기 최소 단위의 패킷의 수신 통지를 발행한 시각과의 시간차를 결정하기 위한 수단을 포함할 수 있다.
본 발명에 따르면, 제1 네트워크에 접속되어, 디지털 콘텐츠를 송신하는 서버와, 상기 제1 네트워크에 접속되는 제2 네트워크를 구성하며, 상기 디지털 콘텐츠를 수신하여 제공하기 위한 클라이언트를 포함하고, 상기 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 상기 클라이언트에 배포하기 위한 방법으로서,
디지털 콘텐츠를 복수의 패킷으로 분할하여 상기 서버로부터 상기 클라이언트에 대하여 상기 디지털 콘텐츠를 구성하기 위한 최소 단위의 패킷을 송신하는 단계와,
상기 제2 네트워크를 구성하는 클라이언트가 상기 서버로부터 상기 최소 단위의 패킷을 수신하는 단계와,
상기 제2 네트워크를 구성하는 다른 클라이언트로부터 상기 디지털 콘텐츠를 재구성하기 위한 패킷을 수신하는 단계와,
상기 서버로부터 송신된 최소 단위의 패킷과, 상기 다른 클라이언트로부터 수신한 패킷을 사용하여, 상기 제2 네트워크 내에 접속된 모든 상기 클라이언트에 대하여 상기 디지털 콘텐츠를 유지시키는 단계를 포함하는 디지털 콘텐츠 배포 방법이 제공된다.
본 발명에 따르면, 제1 네트워크에 접속되어, 디지털 콘텐츠를 송신하는 서버와, 상기 제1 네트워크에 접속되는 제2 네트워크를 구성하며, 상기 디지털 콘텐츠를 수신하여 제공하기 위한 수신처가 지정된 클라이언트를 포함하고, 상기 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 상기 수신처 앞으로 배포하는 방법을 실행하기 위한 서버 프로세스를 실행하는 프로그램으로서,
디지털 콘텐츠를 복수의 패킷으로 분할하는 단계와,
최소 단위의 패킷을, 상기 서버로부터 상기 제2 네트워크의 복수의 수신처에 동적으로 할당하는 단계와,
상기 서버로부터 상기 제1 네트워크를 통해 상기 제2 네트워크에 대하여 상기 디지털 콘텐츠를 구성하기 위한 최소 단위의 패킷을 송신하는 단계를 포함하며,
상기 할당 단계는,
상기 수신처로부터의 수신 통지를 수신하는 단계와,
상기 수신 통지를 상기 서버에 유지시키는 단계와,
상기 유지된 수신 통지를 사용하여 관련되어 중간 노드가 되는 수신처를 선택하는 단계와,
상기 중간 노드로서 선택된 수신처 앞으로 상기 최소 단위의 패킷을 할당하는 단계를 실행시키는 프로그램이 제공된다.
본 발명에 따르면, 제1 네트워크에 접속되어, 디지털 콘텐츠를 송신하는 서버와, 상기 제1 네트워크에 접속되는 제2 네트워크를 구성하며, 상기 디지털 콘텐츠를 수신하여 제공하기 위한 수신처가 지정된 클라이언트를 포함하고, 상기 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 상기 수신처 앞으로 배포하는 방법을 실행하기 위한 서버 프로세스를 실행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체로서, 상기 프로그램은,
디지털 콘텐츠를 복수의 패킷으로 분할하는 단계와,
상기 서버로부터 최소 단위의 패킷을 상기 제2 네트워크의 복수의 수신처에 동적으로 할당하는 단계와,
상기 서버로부터 상기 제1 네트워크를 통해 상기 제2 네트워크에 대하여 상기 디지털 콘텐츠를 구성하기 위한 최소 단위의 패킷을 송신하는 단계를 포함하고,
상기 할당 단계는,
상기 수신처로부터 수신 통지를 수신하는 단계와,
상기 수신 통지를 상기 서버에 유지시키는 단계와,
상기 유지된 수신 통지를 사용하여 관련되어 중간 노드가 되는 수신처를 선택하는 단계와,
상기 중간 노드로서 선택된 수신처 앞으로 상기 최소 단위의 패킷을 할당하는 단계를 실행시키는 것인 기록 매체가 제공된다.
본 발명에 따르면, 제1 네트워크에 접속되어, 디지털 콘텐츠를 송신하는 서버와, 상기 제1 네트워크에 접속되는 제2 네트워크를 구성하며, 상기 디지털 콘텐츠를 수신하여 제공하기 위한 클라이언트를 포함하고, 상기 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 상기 클라이언트에 배포하기 위한 방법을 실행하는 클라이언트 프로세스를 실행시키기 위한 프로그램으로서, 상기 클라이언트에 대하여,
상기 제1 네트워크를 통해 복수의 패킷으로 분할된 디지털 콘텐츠를 구성하는 최소 단위의 패킷을 수신하는 단계와,
상기 제2 네트워크를 구성하는 다른 클라이언트로부터 상기 디지털 콘텐츠를 재구성하기 위한 패킷을 수신하는 단계와,
상기 제1 네트워크를 통해 수신한 상기 최소 단위의 패킷과, 상기 다른 클라이언트로부터 수신한 패킷을 사용하여 상기 제2 네트워크에 포함되는 상기 클라이언트에 대하여 상기 디지털 콘텐츠를 유지시키는 단계를 실행시키는 프로그램이 제공된다.
본 발명에 따르면, 제1 네트워크에 접속되어, 디지털 콘텐츠를 송신하는 서버와, 상기 제1 네트워크에 접속되는 제2 네트워크를 구성하며, 상기 디지털 콘텐츠를 수신하여 제공하기 위한 클라이언트를 포함하고, 상기 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 상기 클라이언트에 배포하기 위한 방법을 실행하는 클라이언트 프로세스를 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체로서, 상기 프로그램은 상기 클라이언트에 대하여,
상기 제1 네트워크를 통해 복수의 패킷으로 분할된 디지털 콘텐츠를 구성하는 최소 단위의 패킷을 수신하는 단계와,
상기 제2 네트워크를 구성하는 다른 클라이언트로부터 상기 디지털 콘텐츠를 재구성하기 위한 패킷을 수신하는 단계와,
상기 제1 네트워크를 통해 수신한 최소 단위의 패킷과, 상기 다른 클라이언트로부터 수신한 패킷을 사용하여 상기 제2 네트워크에 포함되는 상기 클라이언트에 대하여 상기 디지털 콘텐츠를 유지시키는 단계를 실행시키는 것인 기록 매체가 제공된다.
본 발명에 따르면, 제1 네트워크에 접속되어, 디지털 콘텐츠를 제1 네트워크에 접속되는 제2 네트워크에 대하여 제공하기 위한 서버로서,
디지털 콘텐츠를 복수의 패킷으로 분할하기 위한 수단과,
상기 제2 네트워크에 포함되는 수신처를 포함하는 리스트를 기억하는 수단과,
상기 서버로부터 제1 네트워크를 통해 제2 네트워크에 대하여, 상기 디지털 콘텐츠를 구성하기 위한 최소 단위의 패킷을 송신하는 수단과,
상기 리스트를 사용하여 상기 최소 단위의 패킷을 송신하는 제2 네트워크에 대한 수신처를 동적으로 할당하는 동적 할당 수단과,
상기 수신처로부터 수신 통지를 수신하는 수단과,
상기 수신 통지를 사용하여 중간 노드가 되는 수신처를 선택하는 수단과,
상기 중간 노드로서 선택된 수신처를 사용하여 상기 최소 단위의 패킷을 송신하는 수단을 포함하는 디지털 콘텐츠 배포 서버가 제공된다.
본 발명에 따르면, 제1 네트워크를 통해 배포되는 디지털 콘텐츠를 수신하여, 상기 제1 네트워크에 접속되는 제2 네트워크를 구성하는 클라이언트로서,
상기 제1 네트워크를 통해 복수의 패킷으로 분할된 디지털 콘텐츠를 구성하 는 최소 단위의 패킷을 수신하는 수단과,
상기 제2 네트워크를 통해 디지털 콘텐츠를 재구성하기 위한 패킷을 수신하는 수단과,
상기 제1 네트워크를 통해 수신한 상기 최소 단위의 패킷과, 상기 제2 네트워크를 통해 다른 클라이언트로부터 수신한 패킷을 사용하여, 상기 제2 네트워크에 포함되는 클라이언트에 대하여 상기 디지털 콘텐츠를 유지시키는 수단을 포함하는 클라이언트가 제공된다.
본 발명에 따르면, 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 소정의 대역 그룹에 배포하기 위한 시스템으로서,
상기 제1 네트워크에 접속되어, 디지털 콘텐츠를 송신하는 서버와,
상기 제1 네트워크에 접속되는 상기 제2 네트워크를 구성하는 클라이언트를 포함하여 구성되며, 상기 디지털 콘텐츠를 수신하여 제공하는 상기 대역 그룹을 구성하는 복수의 그룹을 포함하고,
상기 서버는 유지된 디지털 콘텐츠를 복수의 패킷으로 분할하여 상기 그룹의 상기 클라이언트에 대하여 상기 디지털 콘텐츠를 구성하기 위한 최소 단위의 패킷을 중복없이 송신하는 수단을 포함하고,
상기 최소 단위의 패킷을 수신한 클라이언트는 상기 클라이언트를 포함하는 서브 대역 그룹을 구성하는 모든 클라이언트 및 다른 그룹을 구성하는 다른 클라이언트에게 상기 서버로부터 수신한 상기 최소 단위의 패킷의 카피를 배포하는 수단을 포함하는 것인 디지털 콘텐츠 배포 시스템이 제공된다.
본 발명에 따르면, 제2 네트워크를 통해 접속되는 복수의 그룹을 포함한 대역 그룹에 대하여 제1 네트워크를 통해 디지털 콘텐츠를 배포하기 위해서, 상기 제1 네트워크에 접속된 서버로서,
유지된 디지털 콘텐츠를 복수의 패킷으로 분할하여 최소 단위의 패킷을 생성하는 수단과,
상기 최소 단위의 동일한 패킷이 소정의 그룹에 대해서 중복되지 않도록 상기 최소 단위의 패킷의 배포처를 선택하는 수단과,
상기 그룹의 선택된 클라이언트에 대하여 상기 디지털 콘텐츠를 구성하기 위한 최소 단위의 패킷을 송신하는 수단을 포함하는 서버가 제공된다.
본 발명에 따르면, 제2 네트워크를 통해 접속되는 복수의 그룹을 포함한 대역 그룹에 대하여 제1 네트워크를 통해 디지털 콘텐츠를 배포하기 위한 서버로서 컴퓨터를 제어하는 방법으로서, 상기 컴퓨터에 대하여,
유지된 디지털 콘텐츠를 복수의 패킷으로 분할하여 최소 단위의 패킷을 생성하는 단계와,
상기 최소 단위의 동일한 패킷이 소정의 그룹에 대해서 중복되지 않도록 상기 최소 단위의 패킷의 배포처를 선택하여 등록하는 단계와,
상기 선택된 배포처의 데이터를 상기 최소 단위의 패킷으로서 기억시키는 단계와,
상기 그룹의 상기 선택된 클라이언트에 대하여 상기 디지털 콘텐츠를 구성하기 위해서 상기 기억된 최소 단위의 패킷을 판독하여 송신하는 단계를 실행시키는 방법이 제공된다.
본 발명에 따르면, 제2 네트워크를 통해 접속되는 복수의 그룹을 포함한 대역 그룹에 대하여 제1 네트워크를 통해 디지털 콘텐츠를 배포하기 위한 서버로서 컴퓨터를 제어하는 프로그램으로서, 상기 컴퓨터에 대하여,
유지된 디지털 콘텐츠를 복수의 패킷으로 분할하여 최소 단위의 패킷을 생성하는 단계와,
상기 최소 단위의 동일한 패킷이 소정의 그룹에 대해서 중복되지 않도록 상기 최소 단위의 패킷의 배포처를 선택하여 등록하는 단계와,
상기 선택된 배포처의 데이터를 최소 단위의 패킷으로서 기억시키는 단계와,
상기 그룹의 상기 선택된 클라이언트에 대하여 상기 디지털 콘텐츠를 구성하기 위해서 상기 기억된 최소 단위의 패킷을 판독하여 송신하는 단계를 실행시키는 프로그램이 제공된다.
본 발명에 따르면, 제2 네트워크를 통해 접속되는 복수의 그룹을 포함한 대역 그룹에 대하여 제1 네트워크를 통해 디지털 콘텐츠를 배포하기 위한 서버로서 컴퓨터를 제어하는 프로그램이 기록된 컴퓨터 판독 가능한 기억 매체로서, 상기 프로그램은 상기 컴퓨터에 대하여,
유지된 디지털 콘텐츠를 복수의 패킷으로 분할하여 최소 단위의 패킷을 생성하는 단계와,
상기 최소 단위의 동일한 패킷이 소정의 그룹에 대해서 중복되지 않도록 상기 최소 단위의 패킷의 배포처를 선택하여 등록하는 단계와,
상기 선택된 배포처의 데이터를 최소 단위의 패킷으로서 기억시키는 단계와,
상기 그룹의 상기 선택된 클라이언트에 대하여 상기 디지털 콘텐츠를 구성하기 위해서 상기 기억된 최소 단위의 패킷을 판독하여 송신하는 단계를 실행시키는 것인 기억 매체가 제공된다.
본 발명에 따르면, 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 소정의 대역 그룹에 배포하기 위해서 상기 제2 네트워크에 접속되며, 상기 대역 그룹의 그룹을 구성하는 클라이언트로서,
상기 제1 네트워크 또는 제2 네트워크를 통해 패킷을 수신하여, 수신 패킷이 상기 디지털 콘텐츠를 재구성하기 위한 최소 단위의 패킷인지의 여부를 판단하는 수단과,
상기 판단에 응답하여 상기 수신 패킷으로부터 카피 패킷을 생성하고, 적어도 다른 그룹의 클라이언트 앞으로 카피 패킷을 배포하는 수단을 포함하는 클라이언트가 제공된다.
본 발명에 따르면, 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 소정의 대역 그룹에 배포하기 위해서 상기 제2 네트워크에 접속되며, 상기 대역 그룹의 그룹을 구성하는 클라이언트로서 컴퓨터를 제어하는 방법으로서, 상기 컴퓨터에 대하여,
상기 제1 네트워크 또는 제2 네트워크를 통해 패킷을 수신하여 메모리에 기억시키는 단계와,
수신 패킷이 상기 디지털 콘텐츠를 재구성하기 위한 최소 단위의 패킷인지의 여부를 판단하는 단계와,
상기 수신 패킷이 상기 최소 단위의 패킷이라고 판단된 경우에, 상기 판단에 응답하여 상기 수신 패킷으로부터 카피 패킷을 생성하여, 적어도 다른 그룹의 클라이언트 앞으로 카피 패킷을 배포하는 단계와,
상기 수신 패킷이 상기 최소 단위의 패킷이 아니라고 판단된 경우에, 상기 메모리에 수신 패킷을 기억시키는 단계를 실행시키는 방법이 제공된다.
본 발명에 따르면, 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 소정의 대역 그룹에 배포하기 위해서 상기 제2 네트워크에 접속되며, 상기 대역 그룹의 그룹을 구성하는 클라이언트로서 컴퓨터를 제어하기 위한 프로그램으로서, 상기 컴퓨터에 대하여,
상기 제1 네트워크 또는 제2 네트워크를 통해 패킷을 수신하여 메모리에 기억시키는 단계와,
수신 패킷이 상기 디지털 콘텐츠를 재구성하기 위한 최소 단위의 패킷인지의 여부를 판단하는 단계와,
상기 수신 패킷이 상기 최소 단위의 패킷이라고 판단된 경우에, 상기 판단에 응답하여 상기 수신 패킷으로부터 카피 패킷을 생성하여, 적어도 다른 그룹의 클라이언트 앞으로 카피 패킷을 배포하는 단계와,
상기 수신 패킷이 상기 최소 단위의 패킷이 아니라고 판단된 경우에, 상기 메모리에 수신 패킷을 기억시키는 단계를 실행시키는 프로그램이 제공된다.
본 발명에 따르면, 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 소정의 대역 그룹에 배포하기 위해서 상기 제2 네트워크에 접속되며, 상기 대역 그룹의 그룹을 구성하는 클라이언트로서 컴퓨터를 제어하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기억 매체로서, 상기 프로그램은 상기 컴퓨터에 대하여,
상기 제1 네트워크 또는 제2 네트워크를 통해 패킷을 수신하여 메모리에 기억시키는 단계와,
수신 패킷이 상기 디지털 콘텐츠를 재구성하기 위한 최소 단위의 패킷인지의 여부를 판단하는 단계와,
상기 수신 패킷이 상기 최소 단위의 패킷이라고 판단된 경우에, 상기 판단에 응답하여 상기 수신 패킷으로부터 카피 패킷을 생성하여, 적어도 다른 그룹의 클라이언트 앞으로 카피 패킷을 배포하는 단계와,
상기 수신 패킷이 상기 최소 단위의 패킷이 아니라고 판단된 경우에, 상기 메모리에 수신 패킷을 기억시키는 단계를 실행시키는 것인 기억 매체가 제공된다.
본 발명에 따르면, 소정의 디지털 콘텐츠를 연속되는 복수의 스트림 데이터로 하여, 상기 소정의 디지털 콘텐츠를 재구성하기 위해서 필요한 최소 단위의 패킷을 서버로부터 네트워크를 통해 송신함으로써, 복수의 네트워크를 통해 접속된 클라이언트에 상기 디지털 콘텐츠를 공유화시키는 방법으로서,
상기 디지털 콘텐츠의 배포를 요구하는 상기 클라이언트를 클라이언트 리스트를 판독하여 선택하는 단계와,
상기 최소 단위의 패킷을 상기 선택한 클라이언트에 송신하는 단계와,
상기 최소 단위의 패킷을 수신한 클라이언트에 최소 단위의 패킷을 메모리에 기억시키는 동시에, 카피 패킷을 생성시켜, 상기 수신한 클라이언트를 제외한 다른 클라이언트에 대하여 상기 카피 패킷을 배포하는 단계와,
다른 클라이언트로부터 수신한 카피 패킷을 상기 메모리에 기억하는 단계와,
상기 메모리 내의 패킷을 재구성하여 상기 배포된 소정의 디지털 콘텐츠를 사용자에게 공유시키는 단계를 포함하는 네트워크 상에서의 디지털 콘텐츠의 공유화 방법이 제공된다.
도 1은 본 발명의 디지털 콘텐츠 배포 시스템을 도시한 개략도이다.
도 2a와 도 2b는 본 발명에 있어서 구성되는 패스 트리 구조의 개략도이다.
도 3은 서버로부터의 소스 패킷 송신 및 클라이언트의 카피 패킷 송신 처리를 개략적으로 도시한 도면이다.
도 4a와 도 4b는 본 발명에 있어서 동적으로 중간 노드가 되는 클라이언트가 선택되는 경우의 실시형태를 도시한 도면이다.
도 5는 본 발명에 따라서, 클라이언트에 대하여 송수신되는 패킷의 트래픽을 도시한 도면이다.
도 6은 본 발명에 있어서 동적으로 클라이언트를 중간 노드로서 선정하는 경우의 개략도이다.
도 7은 본 발명에 있어서 그룹 #1에 대하여 새롭게 클라이언트가 추가된 경우의 서버의 처리를 도시한 도면이다.
도 8은 새롭게 생성된 패스 트리 구조에 기초하여 새롭게 참가한 클라이언트 에 대한 처리를 도시한 도면이다.
도 9는 본 발명에 있어서의 클라이언트의 구성을 도시한 기능 블록도이다.
도 10은 본 발명의 서버의 구성을 도시한 기능 블록도이다.
도 11은 본 발명에 사용할 수 있는 소스 패킷의 실시형태를 도시한 도면이다.
도 12는 본 발명에 있어서 서버가 사용하는 클라이언트 리스트의 실시형태를 도시한 도면이다.
도 13은 서버가 선택하는 본 발명의 패스 트리 구조의 실시형태를 도시한 도면이다.
도 14는 본 발명의 디지털 콘텐츠 배포 시스템의 제2 실시형태를 도시한 도면이다.
도 15a와 도 15b는 도 14에 도시한 소스 서버 및 클라이언트의 구성을 도시한 블록도이다.
도 16은 본 발명의 서버와, 클라이언트 사이의 소스 패킷의 통신을 시계열적으로 도시한 도면이다.
도 17은 본 발명에서 중간 노드로서 선택된 클라이언트 사이에 있어서 소스 패킷 및 카피 패킷의 송신을 각 클라이언트 및 서버 사이에 있어서 시계열적으로 도시한 도면이다.
도 18은 본 발명의 클라이언트의 처리를 도시한 흐름도이다.
도 19a는 본 발명에 있어서의 카피 처리의 흐름도이며, 도 19b는 예기치 못 한 클라이언트의 이탈이 발생한 경우나, 해당하는 클라이언트에 중대한 장해가 있음을 검출한 경우의 서버의 처리를 도시한 흐름도이다.
도 20은 본 발명의 디지털 콘텐츠 배포 시스템의 다른 실시형태를 도시한 도면이다.
도 21은 본 발명의 디지털 콘텐츠 배포 시스템의 또 다른 실시형태를 도시한 도면이다.
도 22는 무선 네트워크 상의 서버에 대하여, 부하 경감을 가능하게 하는, 본 발명의 또 다른 실시형태를 도시한 도면이다.
도 23은 본 발명의 콘텐츠 배포 시스템의 구성을 도시한 블록도이다.
도 24a 내지 도 24c는 본 발명에 사용할 수 있는 소스 패킷의 다른 실시형태를 도시한 도면이다.
도 25는 본 발명의 콘텐츠 배포를 실행하는 프로세스의 흐름도이다.
도 26은 본 발명의 콘텐츠 배포를 실행하는 경우의 서버 및 클라이언트의 처리를 도시한 흐름도이다.
도 27은 본 발명의 콘텐츠 배포에 의해 배포되는 소스 패킷과 카피 패킷의 흐름을 간략화하여 도시한 도면이다.
도 28은 본 발명의 콘텐츠 배포 시스템의 또 다른 실시형태를 도시한 도면이다.
도 29는 본 발명의 콘텐츠 배포 시스템의 또 다른 실시형태를 도시한 도면이다.
도 30은 본 발명의 콘텐츠 배포 시스템의 또 다른 실시형태를 도시한 도면이다.
도 31은 종래의 IP 멀티캐스트 방식의 개략도이다.
도 32는 종래의 애플리케이션-레벨 멀티캐스트 방식을 사용한 디지털 콘텐츠 배포의 개략도이다.
도 33은 클라이언트를 엣지 서버에 접속시키는 종래의 구성의 디지털 콘텐츠 배포 시스템의 개략도이다.
도 34는 종래의 멀티캐스트 터널링을 사용한 디지털 콘텐츠의 배포를 도시한 개략도이다.
도 35는 종래의 멀티캐스트 터널링을 사용한 디지털 콘텐츠의 배포에 있어서의 통신 트래픽 환경을 도시한 개략도이다.
이하, 본 발명을 구체적인 실시형태로서 설명하지만, 후술하는 실시형태는 본 발명을 제한하는 것은 아니다.
A : 디지털 콘텐츠 배포 시스템
도 1은 본 발명의 디지털 콘텐츠 배포 시스템(10)을 도시한 개략도이다. 본 발명의 디지털 콘텐츠 배포 시스템(10)은 네트워크(12)에 접속된 서버(14)와, 각각 라우터(16) 및 스위칭 허브(18)와 같은 네트워크 기기를 통해 네트워크(12)에 접속된 복수의 클라이언트(20)를 포함하여 구성되어 있다. 도 1에 도시된 네트워크(12)로서는, 인터넷, WAN, LAN과 같은 네트워크를 예로 들 수 있으며, 네트워크를 구성하기 위한 통신 매체로서는, 공중 전화회선, ISDN, ADSL, 광통신, 지상파 무선통신, 위성통신 등을 사용할 수 있다. 서버(14)는 네트워크(12) 및 네트워크(22)를 통해, 클라이언트(20)에게 본 발명에 따라 디지털 콘텐츠를 배포하고 있다. 본 발명에 있어서 배포되는 디지털 콘텐츠로서는, 실시간성을 갖는 동시에 복수의 클라이언트에 대하여 콘텐츠 제공할 필요가 있는, MPEG2, MPEG4 또는 고차의 동화상 이미지 데이터 등을 예로 들 수 있다. 또, 본 발명에서는 디지털 콘텐츠로서는, 동화상 이미지 데이터 외에, 동화상 이미지 데이터와 음향 데이터, 텍스트 데이터와 같은 복수 종류의 디지털 데이터를 포함하여 구성된 멀티미디어 데이터를 이용할 수도 있다.
또한, 클라이언트(20)는 라우터(16) 및 스위칭 허브(18) 등을 통해 네트워크(12)에 접속되는 동시에, 동일한 라우터(16)마다 할당된, 예컨대 IP 어드레스 등의 식별자에 의해, 소정의 그룹 #1 등으로서, 서버(14)에 의해 식별된다. 또한, 소정의 그룹 내에 있어서 클라이언트는, 본 발명의 바람직한 실시형태에서는 P2P(Peer to Peer) 접속으로 접속된 네트워크(22)를 구성하며, 그룹 내에서 클라이언트 서로 간의 통신이 가능하게 되어 있다.
본 발명에 사용할 수 있는 서버(14)는 퍼스널컴퓨터 또는 워크스테이션으로 구성하는 것이 가능하며, 이 퍼스널컴퓨터 또는 워크스테이션으로서는, PENTIUM(등록상표)와 같은 CPU 또는 이것과 호환성이 있는 CPU를 탑재하는 것이 가능하며, WINDOWS(등록상표), WINDOWS(등록상표) NT(마이크로소프트 코퍼레이션), OS/2(상표: IBM사), AIX(상표 IBM사), UNIX, 리눅스와 같은 오퍼레이팅 시스템을 동작시킬 수 있는 퍼스널컴퓨터, 워크스테이션을 예로 들 수 있지만, 이들에 한정되는 것은 아니다.
또한, 본 발명에서 사용할 수 있는 클라이언트(20)로서는, 전술한 서버(14)에 적용할 수 있는 퍼스널컴퓨터 또는 워크스테이션을 예로 들 수 있다. 또, 본 발명을 적용할 수 있을 만큼의 처리 속도라면, 클라이언트(20)는 무선 네트워크를 통해 접속된 노트북형 퍼스널컴퓨터나, PDA 등을 포함하여 구성할 수 있다.
도 1에 도시한 본 발명의 디지털 콘텐츠 배포 시스템(10)은 동화상 이미지 데이터를 복수의 스트림으로 분해하고, 하나의 스트림을 더욱 복수의 패킷으로 분할하여, 서버(14)로부터 패킷마다 소정의 클라이언트(20)에게 소스 패킷으로서 송신하는 구성으로 되어 있다. 본 발명에서는, 스트림을 구성하는 소스 패킷은 소정의 그룹에 포함되는 적어도 하나의 클라이언트에게 송신되고, 소스 패킷을 수신한 클라이언트는 소정의 그룹 내에 포함되는 다른 클라이언트에게 수신한 소스 패킷의 카피(이하, 카피 패킷으로서 칭함)를 송신한다. 카피 패킷을 수신한 하류측 클라이언트는 소정 기간에 걸쳐 카피 패킷을 축적하고, 소정 기간 경과후에, 패킷에 부여된, 예컨대 일련 번호로서 부여된 패킷 식별자를 사용하여 스트림을 재구성하여, 클라이언트에 있어서 디지털 콘텐츠를 표시 또는 재생하게 한다. 즉, 본 발명에서, 서버(14)는 하나의 그룹에 대하여 중복된 패킷을 클라이언트마다 송신하는 일없이, 소정 그룹에 속하는 클라이언트에 대하여 동일한 디지털 콘텐츠를 제공하는 것이 가능하다.
B : 디지털 콘텐츠 배포 방법
이하 또한, 본 발명의 디지털 콘텐츠 배포를 실행하기 위한 방법에 관해서 상세히 설명한다.
<B-1> 정적 패스 트리 구조의 패킷 단위에서의 일시적 선택에 기초한 동적 루팅
본 발명에서는, 전술한 바와 같이, 서버(14)로부터 하나의 그룹에 포함되는, 예컨대 m개의 클라이언트에 대하여, 서버(14)를 라우트로 하여, 하나의 클라이언트(20a)를 중간 노드로서 지정하는 패스 트리 구조를 구성한다. 도 2a와 도 2b는 본 발명에서 구성되는 패스 트리 구조의 개략도이다. 도 2a와 도 2b에 도시된 바와 같이, 구성된 트리 구조 중의 1:1:(m-1)의 트리 구조가 패킷의 하나의 송신 패스를 구성한다. 본 명세서에서는 설명의 편의상, 패스는 서버 중간 노드의 제1단 패스와, 중간 노드-클라이언트의 제2단 패스의 2단계로 형성되는 것으로 하고, 2단을 넘는 릴레이는 없는 것으로 하여 설명한다.
도 2a에 도시된 바와 같이, 서버(14)는 그룹 내의 하나의 클라이언트(20a)를 중간 노드로서 선택하고, 우선 중간 노드로서 선정된 클라이언트(20a)에 대하여 소스 패킷을 송신한다. 소스 패킷을 수신한 중간 노드로서 기능하는 클라이언트(20a)는 수신한 패킷을 그룹 내에 포함되는 클라이언트(20b∼20d)에게 송신하여, 그룹 내에서의 패킷 공유를 가능하게 한다. 또, 본 발명에서는, 중간 노드가 되는 클라이언트(20a)는 도 2a에 도시한 바와 같이 하나에 한정되지 않으며, 각 클라이언트의 실효 처리량을 TCP/IP 등의 접속 지향의 프로토콜의 네트워크(12)를 통해 서버(14)가 모니터함으로써, 동적으로 하나 또는 그 이상의 클라이언트로부터 선정할 수 있다. 본 발명에 있어서의 중간 노드의 선정에 대해서는 보다 상세히 후술한다.
도 2a에 도시한 각 서버(14)에서 각 클라이언트(20a∼20d)로의 모든 패스(트리 구조)를 서로 중합하면, 서버(14)에서 각 클라이언트(20a∼20d)에 접속되고, 또한 소정 그룹 내에서 클라이언트 간에 양방향으로 접속하는 완전 그래프를 나타낼 수 있다. 도 2b에는 도 2a에 도시한 특정한 실시형태에 있어서, 서버(14)와, 각 클라이언트(20a∼20e) 사이에서 형성되는 완전 그래프의 실시형태를 도시한다. 도 2b에 도시하는 바와 같이, 패킷 단위의 패스의 선택은 완전 그래프부터의 부분 트리 구조(패스 트리 구조)의 선택이라고 생각할 수 있다. 본 발명에 따르면, 클라이언트의 처리량에 따라서 패스를 유연하게 선택하는 것이 가능하기 때문에, 패스 트리 구조에서 각 클라이언트는 다른 클라이언트의 상류 또는 하류로 동적으로 변경되게 된다.
도 2b에 도시한 본 발명의 특정한 실시형태에 따른 완전 그래프를 참조하여 본 발명을 설명하면, 우선, 서버(14)에서 클라이언트(20a∼20e) 그룹을 향해, 1 스트림분의 소스 패킷을 중복 패킷없이 송신한다. 각 클라이언트(20a∼20e)는 중복없이 스트림의 일부를 구성하는 소스 패킷을 수신한다. 그 후, 동일한 그룹에 속하는 클라이언트는 부족한 패킷을 카피 패킷으로서 서로 카피함으로써, 1 스트림을 재구성하기 위한 패킷의 부족분을 보충하여 1 스트림을 회복한다. 본 발명에서는, 전술한 클라이언트의 기능을 피어투그룹(Peer-to-Group)형의 배포으로 참조한다. 한편, 각각의 패킷에는 스트리밍의 프로토콜에 따라서, 통과 번호가 패킷 식별자로서 미리 붙여져 있어, 각 클라이언트에 있어서, 부족한 패킷 및 스트림에서의 패킷 순서를 회복할 수 있도록 구성되어 있다. 이를 위한 방법으로서는, 지금까지 알려진 어떠한 방법이라도 이용할 수 있지만, 구체적으로는 예컨대, Schulzrinne 등에 의해 개시된 방법을 채용할 수 있다(H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson. RFC 1889: RTP: A Transport Protocol for real-time applications, January 1996).
도 3는 전술한 서버(14)로부터의 소스 패킷 송신 및 그룹 #1에 있어서의 클라이언트의 카피 패킷 송신 처리를 개략적으로 도시한다. 도 3에 도시한 바와 같이, 서버(14)에서 취득된 동화상 이미지 데이터는 스트리밍되어, 복수의 패킷으로 분할되며, 각각의 소스 패킷에는, 예컨대 P1∼P5의 패킷 식별자가 붙여져 있다. 도 3에 도시한 소스 패킷의 사이즈는 본 발명에서 특별히 제한되지 아니며, 어떠한 사이즈로도 할 수 있다. 소스 패킷(P1∼P5)으로 분할된 스트림(24)은, 예컨대 인터넷 또는 다른 도메인에 귀속되는 LAN이나 WAN과 같은 제1 네트워크를 통해 그룹 #1에 송신된다.
도 3에 도시한 특정한 실시형태에서는, 후술하는 바와 같이, 각 클라이언트(20a∼20e)는 거의 같은 처리량을 갖는다고 가정하며, 클라이언트(20a∼20e)를 각각 중간 노드로서 선택하여, 클라이언트(20a∼20e)에 소스 패킷(P1∼P5)을 1패킷씩 송신하는 것이 도시되어 있다.
여기서, 패킷(P1)을 수신한 클라이언트(20a)의 기능에 관해서 상세히 설명한다. 각 클라이언트(20a∼20e)에는 그룹 #1에 귀속되는 클라이언트에 대응하는 멤버 리스트가 포함되어 있어, 멤버 리스트를 참조하여, 그룹 내에서, 예컨대 지금까지 알려진 어떠한 프로토콜, 예컨대 TCP/IP, UDP, 프로미스커스 모드(Promiscuous mode)와 같은 통신 프로토콜에 따라, 예컨대 동보 통신을 실행함으로써, 카피 패킷을 다른 클라이언트(20b∼20e)에게로 송신한다. 또한, 본 발명에서는, 카피 패킷의 송신에 있어서는, 보다 확실하게 다른 클라이언트의 각각의 IP 어드레스 앞으로 카피 패킷을 소스 패킷 도착후 즉시, 혹은 일정한 시간 간격을 두고 송신할 수도 있다. 본 발명에서 사용할 수 있는 송신 방법은 소정 그룹을 구성하는 클라이언트의 수, 비용, 신뢰성 등을 고려하여 적절하게 선택할 수 있다. 다른 클라이언트(20b∼20e)는 클라이언트(20a)로부터의 카피 패킷을 수신하여, 수신 버퍼에 카피 패킷을 축적한다. 같은 식의 카피 패킷 송신은 클라이언트(20a) 이외에도 다른 클라이언트(20b∼20e)도 실행한다. 각 클라이언트는 예컨대 1초 정도 이하로, 후속되는 스트림의 처리에 영향을 주지 않음을 보증할 수 있는 소정 기간만 수신 버퍼에 카피 패킷을 축적한다.
소정 기간이 경과한 후, 클라이언트(20a)의 수신 버퍼에는 패킷 식별자에 대응하여 수신 버퍼 내의 어드레스를 지정하는 실시형태는, 예를 들면 「P1P2P3P4P5」 순으로 1 스트림분의 소스 패킷이 축적되게 된다. 클라이언트(20a)는 소정 기간 동안에 축적된 패킷 및 카피 패킷을 FEC 디코더, 소스 디코더 등을 이용하여 1 스트림분의 동화상 이미지 데이터를 「P1P2P3P4P5」로서 재구성하는 것이 가능하게 된다. 또, 특별히 문제점이 생기지 않는 한, 수신한 패킷의 순서는 특별히 일련 번호로서 축적하는 것이 아니라, 수신한 순으로 기록한 후에, 소트하여 재구성하는 것도 가능하다.
도 4a와 도 4b는 본 발명에 있어서 동적으로 중간 노드가 되는 클라이언트를 선택하는 경우의 실시형태를 도시한 도면이다. 본 발명에서는 서버(14)와 클라이언트(20)는 TCP와 같은 접속 지향의 접속을 사용하여 네트워크를 구축하고 있다. 도 4a에 도시한 바와 같이, 서버(14)는 보다 상세하게는 후술하는 바와 같이, 각 클라이언트에 대한 처리량을 모니터하여, 처리량의 크기에 따라서, 확률적으로 클라이언트를 선택한다. 반드시, 처리량이 최대인 클라이언트가 항상 선택되는 것은 아니다. 그리고, 선택된 클라이언트(20b)를 제1 중간 노드로 하여, 제1 소스 패킷(P1)을 송신한다. 또, 서버(14)는 클라이언트의 처리량 변화를, 예컨대 수초 이하 정도의 빈도로 계속적으로 모니터하여, 동적으로 그 시점에서 오버헤드가 적은 클라이언트로부터 중간 노드를 선택한다. 예컨대 도 4b에 도시한 실시형태에서는, 그 시점에서 클라이언트(20d)가 가장 오버헤드가 작고, 이 때문에 중간 노드로서 서버(14)에 의해 선택되어, 소스 패킷, 예컨대 소스 패킷(P3)을 수신하고 있음이 나타내고 있다.
전술한 구성을 채용함으로써, 본 발명에 따르면, 서버(14)가 중복된 패킷을, 그룹 #1을 구성하는 클라이언트분만큼 송신하지 않고, 1 스트림분만큼의 소스 패킷으로서 송신하는 것만으로 그룹 #1의 모든 클라이언트에 대하여 디지털 콘텐츠를 유지시키는 것이 가능하게 된다. 즉, 본 발명은 종래에는 그룹 #1에 포함되는 클라이언트에게 송신할 때의 서버(14)에 걸리는 부하 집중을, 네트워크 전체에 대하여 분산시킬 수 있어, 서버(14)를 포함하는 네트워크의 효율을 향상시키는 것을 가능한 동시에, 네트워크에 있어서의 트래픽의 스케일러빌리티를 향상시키는 것을 가능 하게 한다.
<B-2> 네트워크 스케일러빌리티
이하, 본 발명의 구성에 있어서의 서버(14) 및 클라이언트(20) 간의 통신 트래픽량을 검토한다. 본 발명에 따라서, 클라이언트(20a)에 대하여 송수신되는 패킷의 트래픽을 도 5에 도시한다. 서버(14)로부터 단위 시간에 n 패킷이 각 클라이언트에 대하여 균등하게 송신된다고 가정한다. n/m의 소스 패킷이 서버(14)에서 클라이언트(20a)로 송출되고, 클라이언트(20a)는 서버(14)로부터 송출된 소스 패킷을 수신한다. 패킷을 수신한 클라이언트는 수신한 소스 패킷을 m-1의 클라이언트에 릴레이한다(카피 패킷의 배포). 클라이언트(20a)는 동시에, 다른 클라이언트로부터 카피 패킷을 수신하지만, 이것은 네트워크 상에서 보면, 다른 클라이언트로부터 송출되는 패킷과 동일하기 때문에, 클라이언트 1개당 단위 시간에 (n/m + n/m ×(m-1) = n) 패킷의 통신이 발생한다. 이 통신 트래픽량은 종래의 엣지 서버의 구성을 사용하는 종래예의 경우와 비교하더라도, 패킷수의 증감은 없다. 상술한 패킷의 송신량은 클라이언트가 균등하게 선택되지 않는 경우라도 성립한다.
이어서, 각 클라이언트가 단위 시간에 입출력 처리할 필요가 있는 패킷의 수는 균등 선택의 경우에, 서버(14)로부터는 n/m, 다른 클라이언트로부터는 {n/m ×(m-1)}의, 합계 n 패킷의 입력과, n/m의 소스 패킷을 클라이언트에게 릴레이하는 {n/m ×(m-1)} 패킷의 출력이기 때문에, 패킷의 입출력 처리수는 {n ×(2 m-1)/m}[패킷]으로 주어진다. 따라서, 최소(m=1) n 패킷, 최대(m →∞)라도 2n 패킷을 넘는 일은 없다. 즉, 클라이언트의 수가 증대되더라도, 각 클라이언트의 부하는 2n 패킷분의 부하에 점차 가까워질 뿐이며, 그 이상으로 되는 일은 없어, 각 클라이언트에 있어서 부하의 오버플로우 문제는 생기지 않는다. 한편, 서버(14)에서는 m개의 클라이언트 중, 패킷마다 클라이언트 하나를 선택하는 작업이 필요하게 된다. 이 클라이언트 선택 처리는 클라이언트의 수(m)에 비례하며, 패킷 송신의 수에 대해서는 클라이언트의 수에 전혀 의존하지 않는다. 따라서, 클라이언트의 수가 증가한 경우에도, 본 발명의 디지털 콘텐츠 배포는 네트워크 스케일러빌리티에 있어서 문제점은 생기지 않는다.
이어서, 균등 선택과 상반되는 경우, 즉 단 하나의 클라이언트만이 서버(14)로부터 모든 소스 패킷을 수신하는 경우도 본 발명에서는 상정할 수 있다. 이 경우라도, 클라이언트에 대한 입력 패킷의 수는 스트림분이기 때문에 종래의 경우와 변함없이, 선택된 클라이언트에서 n 소스 패킷이 입력된다. 또, 소스 패킷을 수신한 클라이언트로부터의 카피 패킷의 출력은 그 클라이언트에서만 n ×m의 패킷수가 된다. 이 경우에는, 선택된 클라이언트만이 부하가 증대되게 되지만, 그룹 내에서의 동보 통신량이 증가할 뿐이며, 서버(14)에서 그룹으로의 디지털 콘텐츠의 배포에는 중대한 문제는 생기지 않는다. 또한, 본 발명에서는, 상술한 단일 클라이언트에만 소스 패킷이 치우쳐 송신되지 않도록, 가능한 한 균등 선택에 가까워지도록, 동적으로 패스 트리 구조를 선택하는 것이 바람직하다. 동시에 동적으로 패스 트리 구조를 선택하여 네트워크 시스템을 안정적으로 유지하기 위하여 재구성하는 것도 가능하다. 전술한 동적 패스 트리 구조의 선택에 대해 보다 상세하게는 후술한다. 또, 선택의 불균등성에 의한 송출 패킷의 국소적인 증대를 막기 위해서는, 카피 패킷의 송신 속도의 제한 및 송신 처리의 제한 시간을 두어, 그것을 초과한 패킷을 파기하는 등으로 대응하는 것이 가능하다.
<B-3> 동적 선택(동적 최적화)
본 발명에 있어서 패스 트리 구조는 클라이언트 중, 어느 하나 또는 복수를 고정하여 정적으로 이용하는 것이 아니라, 동적으로 선택된다. 패스 트리 구조의 선택에 있어서는,
(a) 그 클라이언트가 패킷을 수신할 준비가 되어 있을 것,
(b) 서버에서 볼 때 RTT(round-trip time)이 작은, 즉 처리 오버헤드가 작은 클라이언트를 중간 노드로서 선택하는 패스를 우선시킬 것,
(c) 패킷의 카피 레이트가 높은 클라이언트를 중간 노드에 갖는 패스를 우선시킬 것,
에 기초하여, 패킷을 송신하는 패스 트리 구조를 동적으로 구성한다.
전술한 (a) 조건의 확인 처리는 TCP 등의 접속 지향의 접속을 이용하여 실현 가능하다. 또한, (b)에서 설명한 RTT의 측정에는, 서버(14)가 소스 패킷을 송출하는 경우에, 예컨대 IPv4의 포맷을 사용하여 설명하면, 송신 패킷의 IP 헤더 부분에 시각을 기록해 두고서, 소스 패킷을 수신한 클라이언트가 IP 헤더부만을 그대로 반송하고, 또는 별도로 애플리케이션 레벨로 생성되는 독자 헤더를 사용하여, 독자 헤더에 시각을 기록하여, 이 독자 헤더를 그대로 회신하며, IP 헤더 등에 기록된 시각과 서버가 반송을 수취한 시각과의 차를 이용하는 방법 등을 이용할 수 있다. 또한, 서버(14)가 소스 패킷을 송신한 시각을 기억해 두고, 클라이언트로부터의 응 답 패킷을 수신하여, 응답 패킷의 IP 헤더 시각을 읽어내어 확인할 수도 있다.
TCP를 이용하는 경우에는, 그 계층에서의 재송 처리에 걸린 만큼 등을 포함한 시간, 즉 처리량이 RTT에 관련되어 관측된다. 한편, RTT의 측정은 변동을 흡수하기 위해서, 몇 회의 관측에서의 평균을 이용할 수도 있다.
또한, (c)에서 설명한 조건인 카피 레이트는 중간 클라이언트에게서, 그 하류 클라이언트에게로 보낼 수 있었던 성공율을 이용한다. 카피 레이트가 변동되는 원인은, TCP 등의 접속 지향의 네트워크에서는 중간 클라이언트가 시간 제한 때문에 패킷을 파기하는, 등의 경우가 있다. 클라이언트 사이가 UDP로 접속되어 있는 경우에는 하류 클라이언트에의 패킷 도달율로부터, 카피 레이트를 계산한다.
전술한 조건을 만족시키기 위해, 본 발명의 특정한 실시형태에서는, 조건 (a)을 만족한 클라이언트에 대해서, 소정의 비율로 소스 패킷이 송신되도록 선택한다. 도 6은 본 발명에서 동적으로 클라이언트를 중간 노드로서 선정하는 경우의 개략도를 나타낸다. 도 6에 도시한 바와 같이, 서버(14)는 클라이언트(20e)를 중간 노드로서 선정하여, 소스 패킷을 송신한다. 클라이언트(20e)는 예컨대 서버(14)로부터의 디지털 콘텐츠 배포 시작에 대응하여, 그 시점에서 가장 빠르게 응답을 보내준 클라이언트로서 선정할 수 있다. 예를 들면, 클라이언트(20e) 이외의 클라이언트는 다른 처리를 실행하거나, 소정의 임계치 시간 동안에 응답을 서버(14)로 보내지 않았거나, 또는 클라이언트(20e)보다도 RTT가 예컨대 설정된 임계치 이상으로 느렸거나 하는 등의 이유로 중간 노드로서 선정되지 못하였다.
도 6에 도시되는 실시형태에서는, 클라이언트(20e)는 서버(14)에서 볼 때 충 분한 처리 능력이 있는 것으로 판단되어, 소스 패킷을 수신하는 중간 노드로서 선정되었다. 소스 패킷을 수신한 클라이언트(20e)는 그룹 #1 내의 다른 클라이언트에게, 예를 들면 동보 통신 등을 사용하여, 카피 패킷을 송신한다.
본 발명에서는, 또한, 가장 RTT이 작았던 클라이언트를 중간 노드로서 선택하는 것 외에, 하기에 설명하는 것과 같이, 클라이언트 사이에 RTT에 관련하여 할당 가중을 부여할 수 있다. 예컨대, 본 발명에 있어서 가장 바람직한 실시형태에서는, 채용할 수 있는 할당 가중은 하기 식에 기초하여 부여할 수 있다.
Figure 112004051778006-pct00001
상기 식에서, tkrk는 실질적인 처리량, 즉 단위 시간에 클라이언트가 처리할 수 있는 패킷의 수에 비례한다. 따라서, 이 할당 방법은 실효 처리량을 최대화한다. 즉, 안정성을 최대화하는 것이 목표 함수로 되어 있다. 또, 본 발명에서는, 상기 조건을 소스 패킷마다 적용할 수 있다. 또, 본 발명에서는, 소스 패킷의 할당 가중은 소정의 시간 간격으로 정기적으로 갱신할 수 있다. 각 시점에서 패킷을 수신할 수 없는 클라이언트는 패스 선택의 후보로부터 이미 제외되고 있기 때문에, 할당 가중에 오차가 있었다고 해도, 소스 패킷이 상실되는 것과 같은 중대한 상황은 발생하지 않는다. 또한, 본 발명의 다른 실시형태에서는 RTT만을 사용하여 실효 처리량을 판단할 수도 있다.
<B-4> 동적 재구성
본 발명은 또한, 서버가 인식하고 있는 그룹에 대하여 새로운 클라이언트가 추가된 경우에는 자동적으로 새로운 클라이언트의 증가에 대응함으로써, 네트워크 구성의 변화에 대하여 유연하게 대응하는 것을 가능하게 한다.
도 7은 본 발명에 있어서 그룹 #1에 대하여 새롭게 클라이언트가 추가된 경우의 서버(14)의 처리를 도시한다. 도 7에 도시된 바와 같이, 그룹 #1 내에 새로운 클라이언트(20f)가 추가되면, 클라이언트(20f)는 예를 들면 다른 클라이언트로부터 입수한 서버(14)의 IP 어드레스를 사용하여, 서버(14)에 대하여 JOIN request를 송신한다. JOIN request에는 새롭게 참가한 클라이언트(20f)가 취득한, 또는 할당된 IP 어드레스 등의 클라이언트 식별자를 포함할 수 있다.
서버(14)는 JOIN request를 수신하여, 서버(14) 내에 유지되어 있는, 수신처 리스트로서 사용되는 그룹 #1의 클라이언트 리스트에 그 클라이언트(20f)의 클라이언트 식별자를 추가한다. 도 7에 도시한 실시형태에서는, 그룹 #1에 포함되는 클라이언트(20a∼20d)에게 신규 클라이언트의 추가를 통지하는, NEW MEMBER notification을, 예를 들면, 그룹 #1의 IP 어드레스 앞으로의 동보 통신을 사용하여 송출한다. NEW MEMBER notification을 수신한 그룹 #1 내의 클라이언트(20a∼20c)는 멤버 리스트를 갱신하여, 카피 패킷의 배포처로서 등록한다.
이어서, 서버(14)는 신규로 참가한 클라이언트(20f)에 대하여 접속이 완료되었음을 나타내는 CONNECT request를 송신한다. 도 7에 도시한 실시형태에서는, CONNECT request에는 서버(14)가 유지하는 그룹 #1을 구성하는 클라이언트의 멤버 에 대응하는 클라이언트 식별자를 포함할 수 있다. 클라이언트(20f)는 CONNECT request를 수신하여, 멤버 리스트를 갱신한다. 한편, 이를 위해서는, 동일한 출원인에게 귀속되는, 예컨대 일본 특허 출원 2002-088702호에 기재된 자동 IP 어드레스 취득 방법을 사용할 수 있다. 전술한 특허 출원 2002-088702호에 개시된 자동 IP 어드레스 취득 방법을 사용할 수 있는 경우에는, 이미 멤버 리스트가 각 클라이언트(20a∼20f)에 유지되고 있기 때문에, 서버(14)로부터의 NEW MEMBER notification 송신은 필요로 하지 않아도 좋다.
서버(14)는 전술한 처리를 한 후, 디지털 콘텐츠를 배포하기 위한 패스 트리 구조에 있어서 새롭게 참가한 클라이언트(20f)를 포함한 패스를 판단하는 것이 가능하게 된다. 본 발명의 특정한 실시형태에서는, 클라이언트(20f)가 참가한 직후에는 작성되어 있는 패스 트리 구조의 가장 하류에 클라이언트(20f)가 추가되며, 다른 클라이언트(20a∼20c)로부터 카피 패킷을 취득하는 구성으로 할 수 있다. 클라이언트(20f)를 포함하는 새로운 패스 트리 구조는 RTT의 모니터 시에 소정 기간을 경과한 후의 패스 선택에 있어서 구축된다.
한편, 본 발명에 있어서, 새롭게 참가한 클라이언트(20f)의 성능은 초기 단계에서는 불분명하기 때문에, 예를 들면 하기 식에 나타내어지는 바와 같이, 미리 큰 RTT을 초기값(large value)으로서 부여해 두고, 소스 패킷을 수신하는 빈도를 낮게할 수 있다. 이 판단에 있어서는, 과거 실적의 가중을 점차 저하시키는, 소위 망각요소(forgetting factor)를 포함하게 한 평균화를 사용할 수 있다. 본 발명에서는 그 후, 신규 참가 클라이언트의 소위 "실적"이 분명해진 시점에서 본 발명의 동적 구성 방법을 적용하는 것이, 네트워크의 안정성을 확보한다는 점에서는 바람직하며, 또한 본 발명의 유효성을 더욱 향상시킬 수 있다.
도 8은 새롭게 생성된 패스 트리 구조에 기초하여 새롭게 참가한 클라이언트(20f)에 대하여, 서버(14)로부터 소스 패킷이 송신되고, 또 다른 클라이언트(20a∼20c)로부터 카피 패킷이, 새롭게 참가한 클라이언트(20f)에 대하여 송신되고 있는 것이 도시되어 있다.
또, 본 발명에서는 참가 클라이언트가 이탈했을 때에는 서버(14)는 접속 지향의 네트워크를 통해, 클라이언트의 이탈을 알 수 있다. 한편, 클라이언트의 이상 종료라도 이탈은 검출할 수 있지만, 네트워크 케이블이 벗겨지는 등과 같은 경우에는 타임아웃될 때까지 그것을 검출할 수 없다고 하는 사태가 발생한다. 본 발명에서는, 타임아웃이 발생하는 경우라도, 동적 선택의 룰(수신 가부의 확인)에 의해, 소스 패킷이 그 클라이언트를 향해 보내어지는 일은 없기 때문에, 다른 클라이언트가 수취하는 패킷을 일제히 잃게 된다고 하는 문제점은 발생하지 않는다.
참가 클라이언트의 이탈을 인식한 서버(14)는 그 클라이언트가 중간 노드가 되는 패스 트리 구조를 즉시 파기하여, 소스 패킷의 손실을 방지한다. 그룹 #1에 남은 클라이언트는 수신한 소스 패킷을 멤버 리스트에 따라서 배포할 수도 있고, 동보 통신 베이스로 카피 패킷을 송신하는 경우에는, 그룹 #1 내의 수신 가능한 클라이언트 전부를 향해 카피 패킷을 송신할 수도 있다. 또한, 남겨진 클라이언트는 이탈 클라이언트와 자기 간의 접속을 해소함으로써, 패스 트리 구조의 모든 최하류로부터, 이탈 클라이언트를 삭제할 수 있다.
또한, 이탈한 클라이언트에게 보낸 소스 패킷의 몇 개는 릴레이되지 않고서 이탈과 동시에 파기되는 경우가 있다. 이러한, 클라이언트 이탈에 따른 패킷 상실을 막기 위해서는 서버(14)가 각 클라이언트에게 보낸 패킷에 대해서 시간적으로 새로운 것의 개수를 기록해 두고, 이탈 클라이언트가 검출된 시점에서, 그것에 보낸 분만큼을 다른 클라이언트에게 재송하는 처리를 이용할 수 있다.
본 발명에서는, 전술한 구성을 채용함으로써, 서버 및 클라이언트가 자동적으로 패스 트리 구조의 추가나 삭제, 국소적인 변경에 의해, 클라이언트 참가 이탈에 따라 그룹을 재편성하고, 또 최근 송신한 패킷을 기록하여 필요에 따라서 재전송함으로써, 돌발적인 이탈에 기인한 패킷 상실을 막는 것을 가능하게 한다.
도 9는 본 발명에서 설명한 클라이언트(20)의 구성을 도시한 기능 블록도이다. 클라이언트(20)는 네트워크 인터페이스 카드(NIC)(30)를 통해, 제2 네트워크(22)에 접속되어 있다. 클라이언트(20)는, 또한 수신 버퍼(32)와, 메모리(34)와, CPU를 포함하도록 구성된다. 수신 버퍼(32)는 수신한 소스 패킷 및 카피 패킷을 동화상 이미지 데이터의 스트림을 재구성할 때까지 유지하고 있다.
본 발명에 있어서, 수신 버퍼(32)는 수신한 패킷을 수신할 때마다 패킷 식별자에 대응한 어드레스에 수신한 패킷을 기록하는, 링 버퍼로서 구성할 수 있다. 또, 클라이언트(20)는 중앙 처리 장치(CPU)(36)와, 소스 디코더(38)와, FEC 디코더(40)를 포함하도록 구성된다. 다만, 본 발명에서는 FEC 디코더는 반드시 필요하지는 않다. CPU(36)는 클록에 의해 구동되고 있으며, 수신 버퍼(32)에 있어서 소정 기간마다 축적된 패킷을 판독하여 소스 디코더(38) 및 FEC 디코더(40)로 보내, 1 스트림분의 동화상 이미지 데이터를 재구성하고 있다. 재구성된 1 스트림분의 동화상 이미지 데이터는 디스플레이(42)에 표시 또는 재생되어, 클라이언트의 사용자에 대하여 제공된다.
사용자에 대하여 표시 또는 재생된 동화상 이미지 데이터는 클라이언트(20)로부터 삭제될 수도 있고 또한, 디지털 콘텐츠의 시작부터 종료까지의 전체 스트림을 메모리(34)에 유지되어, 하드디스크, 광자기디스크, 자기 테이프와 같은 기억 장치(44)에 기억될 수도 있다. 기억 장치(44)에는, 예컨대 그룹 #1을 구성하는 클라이언트를 식별하기 위한 클라이언트 식별자를 포함하여 구성된 멤버 리스트도 유지할 수 있다. 멤버 리스트는 클라이언트의 기동 시에 기억 장치(44)로부터 클라이언트의 메모리(36) 등에 읽혀져, 상주 파일로서 유지된다. 도 9에 도시한 클라이언트가 소스 패킷을 수신한 경우에는 클라이언트(20)는 멤버 리스트를 참조하여 카피 패킷을 배포하는 수신처를 지정한다. 또한, 클라이언트(20)가 카피 패킷을 TCP/IP 프로토콜에 따라, 예컨대 IPv4 포맷으로 수신처를 abc.def.ghi.255 등으로서 동보 통신하는 경우에는 상술한 멤버 리스트를 직접 참조할 필요는 없다.
도 10은 본 발명의 서버(14)의 구성을 도시한 도면이다. 도 10에 도시된 서버(14)는 네트워크(12)에 대하여, 모뎀, DSU 또는 네트워크 인터페이스 카드와 같은 통신 수단(40)을 통해 접속되어 있으며, 도시하지 않은 클라이언트에게 디지털 콘텐츠를 배포하고 있다. 이하, 본 발명의 서버(14)의 기능에 관하여, 디지털 콘텐츠의 취득에서부터 순차 설명한다.
도 10에 도시한 서버(14)에는 디지털 비디오 카메라와 같은 촬상 수단(48)이 접속되어 있고, 디지털 콘텐츠로서 배포되는 것을 희망하는, 예컨대 방송 프로, 강연회, 인사, 교육 프로그램 등이, 기록 매체에 디지털 데이터로서 수록되어 있다. 수록된 디지털 데이터는 적절한 인터페이스를 통해 서버(14)에 받아들여지며, 예컨대 기억 장치(50)에 유지된다. 본 발명에 있어서의 디지털 데이터로서는, 상술한 동화상 이미지 데이터를 포함하는, 멀티미디어 데이터로서 구성하는 것이 바람직하다. 디지털 콘텐츠를 클라이언트에게 송신하는 경우에는, 우선, CPU(52)가 기억 장치(50)로부터 디지털 콘텐츠를 판독하고, 판독된 디지털 콘텐츠를 소스 인코더(54) 및 FEC 인코더(56)로 보낸다. 디지털 데이터를 수신한 소스 인코더(54) 및 FEC 인코더(56)는 디지털 데이터에 대하여 스트리밍 처리를 하고, 또한 1 스트림을 소정 사이즈의 패킷, 예를 들면 패킷 P1∼P5로 분할한다. 생성된 패킷(P1∼P5)은 통신 수단(46)을 통해, 예컨대 그룹 #1에 디지털 콘텐츠를 배포한다.
서버(14)와 클라이언트(20) 사이에는 접속 지향의 네트워크 프로토콜이 확립되어 있기 때문에, 이미 RTT를 모니터하여, 적어도 RTT에 따른 가중이 할당되고 있으며, 할당 가중에 대응하여 클라이언트가 중간 노드로서 선택되고 있다. 서버(14)는 선택된 중간 노드로서의 클라이언트에 대하여, 소스 패킷을 송신하여, 디지털 콘텐츠를 배포한다. 도 11은 본 발명에서 사용할 수 있는 소스 패킷(58)의 실시형태의 구성을 IP 헤더를 사용하여 도시한 경우를 나타낸다. 도 11의 (a)에 도시한 바와 같이, 서버(14)로부터 송신되는 소스 패킷(58)에는 예컨대 IP 헤더(58a)를 포함하도록 구성되며, IP 헤더(58a)는 송신원 어드레스나, 수신처 어드레스(58b)를 포함하도록 구성된다. 또한, 소스 패킷(58)은 배포를 행하는 디지털 데이터의 패킷(58c)과, 일련 번호로서 붙여진 패킷 식별자(58d), 예컨대 P1과, 소스 패킷을 송신한 송신 시각(58e) 등이 포함되어 있다. 본 발명에서는, 상술한 패킷(58c)과, 패킷 식별자(58d)와, 송신 시각(58e)을, 애플리케이션 레벨로 작성하는 독자 패킷으로서 구성할 수 있다. 또한, IP 헤더(58a)에는 IP 버전 정보와, 송신원 IP 어드레스 등이 포함되어 있으며, 클라이언트로부터의 회신에 기초하여, 서버(14)가 RTT를 판단할 수 있도록 구성되어 있다. 도 11의 (a)에 도시한 소스 패킷(58)을 클라이언트에게 송신할 때에는 서버(14)는 소스 패킷, 예컨대 P1을 송신한 시각을 타이머 등에 의해 모니터할 수도 있다.
소스 패킷(P1)을 수신한 클라이언트로부터의 응답 패킷은 네트워크(12)를 통해 서버(14)로 회신되어, 서버(14) 내의 적절한 기억부에 일단 축적되고, 클라이언트가 응답 패킷을 송신한 시간을, 예를 들면 응답 패킷에 붙여진 송신 시각 등에 기록된 시각으로부터 판독한다. 도 11의 (b)는 클라이언트로부터의 응답 패킷(60) 구성의 실시형태를 도시한다. 도 11의 (b)에 도시한 바와 같이, 응답 패킷(60)은 IP 헤더(60a)를 포함하며, 이 IP 헤더(60a)는 전술한 바와 같이 송신원 어드레스나, 수신처 어드레스(60b)를 포함하고 있다. 또한 응답 패킷(60)은 수신한 디지털 데이터의 패킷 식별자(60c)와, 응답 패킷(60)을 클라이언트가 발행한 시각(60d)과, 소스 패킷(P1)을 송신한 패킷의 송신 시각(58e)을 포함하 구성되어 있다. IP 헤더(60a)에는 클라이언트가 응답 패킷(60)을 송신한 시각이나, 송신원 클라이언트의 송신원 IP 어드레스 등이 기록되어 있다.
본 발명에서는 서버(14)가 응답 패킷(60)을 수신하면, 소스 패킷(58)과, 응 답 패킷(60)에 공통되어 포함되는 식별자, 도 11에 도시한 실시형태에서는, 패킷 식별자 P1을 사용하여 소스 패킷(54)의 수신에 대응한 응답 패킷임을 판단하며, 본 발명의 특정한 실시형태에서는, 송신 시각(58e)과, 발행 시각(60e)을 사용하여 RTT를 산출하고, 1/RTT 및 카피 레이트를 사용하여 클라이언트의 실효 처리량을 판단한다. 판단된 실효 처리량은 예컨대 일정 기간 평균화된 후, 도 12에 도시하는 클라이언트 리스트를 갱신하기 위해서 사용된다. 또, 본 발명의 다른 실시형태에서는, IP 헤더에 시각이 기록되어 있는 경우에는 IP 헤더에 기록된 시각을 직접 이용할 수도 있다.
도 12는 본 발명에서 서버(14)가 사용하는 클라이언트 리스트(62)의 실시형태를 도시한 도면이다. 도 12에 도시한 클라이언트 리스트(62)는 서버(14)가 디지털 콘텐츠를 배포할 때에 등록되어 있는 그룹 식별자(62a)와, 소정의 그룹에 포함되는 클라이언트의 클라이언트 어드레스(62b)와, 소정 기간 평균화된 실효 처리량(62c)을 포함하여 구성되어 있다. 그룹 식별자(62a)는 예컨대 디지털 콘텐츠의 배포를 행하는 경우에 텔레비전 방송국, 위성 방송국, 이벤트 프로바이더와 같은 콘텐츠 프로바이더가 사용자로부터의 등록 등에 의해 작성할 수 있다. 또한, 특히 콘텐츠 프로바이더가 아니라, 서버(14)가 기업, 행정기관, 법무기관, 입법기관, 교육기관, 도서관 등의 인트라넷을 통해 디지털 콘텐츠를 배포하는 경우에는, 각 기업 또는 기관의 그룹마다 할당되어 있는, 예를 들면 IP 어드레스 등을 사용할 수 있다.
또한, 클라이언트 어드레스(62b)는 본 발명의 특정한 실시형태에서는, 특정 한 그룹에 할당된 IP 어드레스 등을 사용할 수 있다. 도 12에 도시된 실효 처리량(62c)은 상술한 할당 가중을 위해 사용되는 본 발명에서의 본질적인 파라메터이다. 본 발명에서는, 상술한 가중은 불필요한 변동을 방지하여 패스 트리 구조를 안정화하여 네트워크의 안정성·신뢰성을 확보하는 동시에, 클라이언트의 이탈이나, 참가 또는 처리 상황에 따른 오버헤드의 변동에 대하여 유연하게 대응하도록, 예컨대 1초 정도의 시간 간격에 걸쳐 평균화되어, 실효 처리량으로서 정기적으로 갱신되고 있다. 도 12에 도시한 실효 처리량(62c)은, 예컨대 그룹 #1에 포함되는 클라이언트(20a∼20e)에 대응한 값이 #1Ta∼#1Te로서 나타내어져 있다.
여기서, 예컨대 중간 노드로서 #1Tb와, #1Tc가 선택되고, 할당 가중이 3:2인 것으로 가정하면, 도 13에 도시한 패스 트리 구조가 서버(14)에 형성된다. 서버(14)는 클라이언트(20b)와 클라이언트(20c)에 대하여, 가중에 따라서 예컨대 소스 패킷(P1∼P3)까지를 클라이언트(20b)에 송신하고, 클라이언트(20c)에, 소스 패킷(P4, P5)을 송신한다. 송신된 소스 패킷은 중간 노드로서 선택된 클라이언트(20b, 20c)로부터, 그룹 #1에 포함되는 다른 클라이언트에게 카피 패킷(cP1∼cP5)으로서 송신되고, 각각의 클라이언트의 수신 버퍼에 축적되며, 소정 시간 축적된 후, 1 스트림분을 재구성하기 위해서 사용된다. 한편, 본 발명의 다른 실시형태에서는, 송신되는 소스 패킷의 수를 다른 어떠한 비율로 중간 노드에 송신할 수도 있다.
C : 디지털 콘텐츠 배포 시스템의 다른 실시형태
도 14는 본 발명의 디지털 콘텐츠 배포 시스템의 제2 실시형태를 도시한 도면이다. 도 14에 도시한 디지털 콘텐츠 배포 시스템은 디지털 콘텐츠를 생성하기 위한 소스 서버(64)와, 소스 서버(64)에 유지되며, 스트리밍 처리가 실시된 디지털 데이터를 추출하여 유지하는 드레인 서버(66)와, 네트워크(12)를 통해 접속된 그룹 G#1, G#2, G#3을 포함하여 구성되어 있다. 각 그룹에 포함된 클라이언트는 본 발명에 따라서 중간 노드로서 선택되어, 디지털 콘텐츠의 그룹 내에서의 배포를 실행하도록 구성되어 있다.
도 15a와 도 15b는 도 14에 도시한 소스 서버(64) 및 클라이언트의 구성을 도시한 블록도이다. 도 15a에 도시한 바와 같이, 소스 서버에서는 생성된 디지털 데이터로부터 소스 디코더(64a) 및 FEC 인코더(64b)를 사용하여 스트리밍된 디지털 콘텐츠를 생성한다. 생성된 패킷은 드레인 서버(66)로 송신되고, 드레인 서버(66)에서 본 발명에 필요한 n개의 소스 패킷으로 편집되어, 네트워크(12)를 통해 클라이언트에게 송신을 하고 있다. 또한, 도 15b에는 클라이언트 측의 구성 및 처리가 도시되어 있다. 클라이언트(20)는 카피 패킷을 수신하여, 소정 기간 축적한 후, FEC 디코더(38) 및 소스 디코더(40)를 사용하여 1 스트림분의 디지털 콘텐츠를 재구성하여, 사용자에게 제공하고 있다. 동시에 중간 노드로서 선택된 클라이언트(20a)는 수신한 소스 패킷을 카피하여 카피 패킷으로서 다른 클라이언트에게 송신하고 있다.
D : 디지털 콘텐츠 배포에 있어서의 소스 패킷 통신 프로토콜
도 16은 본 발명의 서버와 클라이언트 사이의 소스 패킷의 통신을 시계열적으로 도시한 도면이다. 서버로부터 송출되는 소스 패킷은 일정한 간격으로 어느 한 클라이언트를 향해 송출된다. 패킷을 수신한 클라이언트는 서버에 응답 패킷 Ack(acknowledgement)을 돌려준다. 클라이언트는 정기적(예컨대 1초 간격)으로, 카피의 성공률(카피 레이트)을 서버에 보고하는 구성으로 되어 있다. 전술한 바와 같이, 패킷을 송출한 시각에서부터, 서버가 Ack를 수신할 때까지의 시간을 RTT(Round-Trip Time)으로서 패스 트리 구조에서 중간 노드의 할당 가중을 결정하기 위해서 이용된다.
도 17은 본 발명에 있어서 중간 노드로서 선택된 클라이언트 사이의 소스 패킷 및 카피 패킷의 송신을 각 클라이언트 및 서버 사이에 있어서 시계열적으로 도시한 도면이다. 서버로부터 소스 패킷(P1 및 P2)을 수신한 클라이언트 a는 동일 그룹의 클라이언트 b에게 패킷(P1 및 P2)의 카피 패킷 #1 및 #2를 송신한다. 그 카피의 성공률(카피 레이트)은 정기적으로 서버에 보고된다. 또한, 서버는 패킷(P3)을 클라이언트 b에게 보내고, 클라이언트 b는 카피 패킷 #3을 클라이언트 a에게로 송신하고 있다. 클라이언트 a는 이 시점에서 패킷(P1∼P3)을 수신 버퍼 내에 유지하고 있으며, 순차 상술한 프로세스가 반복되어, 1 스트림분의 패킷이 축적된다.
도 18은 본 발명의 클라이언트의 처리를 도시한 흐름도이다. 중간 노드로서 선택된 클라이언트는 항상 소스 패킷의 착신을 대기하는 상태로 되어 있으며, 단계 S100에서, 패킷의 착신을 모니터하고 있다. 패킷이 착신되면, 단계 S102에서 패킷 식별자로부터 수신 버퍼의 저장 위치를 계산한다. 단계 S104에서 버퍼의 해당 위치가 비었는지의 여부를 판단하여, 비어 있는 경우(yes)에는 아직 해당하는 번호의 패킷이 착신되지 않았으므로, 단계 S112에서 수신 버퍼의 해당하는 위치에 착신한 패킷을 기록한다. 이어서, 단계 S114에서, 수신한 패킷이 소스 패킷인지의 여부를, 예컨대 소스 패킷의 착신을, IP 헤더에 포함되는 송신원 어드레스를 사용하여 판단한다. 소스 패킷이 착신된 경우(yes)에는 단계 S116으로 나아가 그룹 내의 다른 클라이언트에 대하여 송신을 하기 위해서 카피 처리를 예약한다. 카피 처리의 예약은 예컨대 수신한 패킷의 카피를 적절한 FIFO 버퍼에 대하여 등록하는 등으로 행할 수 있다. 카피 처리의 예약을 종료하면, 단계 S100으로 되돌아가, 패킷 착신을 대기한다.
한편, 단계 S104의 판단에 있어서 대응하는 버퍼 어드레스가 비어 있지 않은 경우(no)에는 이미 그 패킷 식별자의 패킷이 착신되어 있기 때문에, 단계 S106에서, 그 식별자의 패킷이 카피 처리에 예약되어 있는지의 여부를 판단한다. 예약 등록되어 있는 경우(yes)에는 덮어쓰기하여 소스 패킷을 소거하기 때문에, 단계 S108에서 예약 등록을 삭제하고, 단계 S110에서 카피 실패 카운터를 인크리먼트하며, 단계 S112에서 해당하는 버퍼 위치에 그 시점에서 수신하고 있는 패킷을 덮어쓰기한다. 이것은 클라이언트 측이 소스 패킷의 카피를 송신하기 전에 후속되는 패킷이 도착하는 데에 대응하며, 패킷의 소멸에 해당한다. 단계 S106의 판단에 있어서, 카피 처리에 예약 등록되어 있지 않은 경우(no)에는 단계 S112로 진행하여, 카피 패킷이기 때문에 해당하는 버퍼 어드레스에 패킷을 덮어쓰기하고, 단계 S114∼단계 S100의 처리를 반복한다.
도 19a는 본 발명에서의 카피 처리의 흐름도를 도시한 도면이다. 도 19a에 도시한 카피 처리는 단계 S120에 있어서, 카피 처리를 필요로 하는 소스 패킷이 등록될 때까지 대기한다. 소스 패킷이 등록되면, 단계 S122에서 등록된 패킷, 예컨대 설명하고 있는 실시형태에 있어서 FIFO 버퍼를 사용하여 등록하고 있는 경우에는, 먼저 등록된 패킷을 선택하여, 단계 S124에서 다른 클라이언트에게 카피 패킷으로서 동보 통신하거나, 또는 수신처 IP 어드레스를 참조하여 다른 클라이언트에게 개별적으로 송신한다. 그 후, 단계 S128에서 카피 성공 카운터를 인크리먼트하고, 단계 S120으로 되돌아가 대기한다. 상술한 카피 성공 카운터와 카피 실패 카운터의 카운트 비율은 카피 레이트로서 서버로 송신되며, 지나치게 낮은 경우에는 재차 1 스트림분의 패킷을 다시 송신하는 등의 처리에 의해 잃어버린 패킷에 의해 생기는 디지털 콘텐츠 배포에 있어서의 문제점을 방지할 수 있는 구성으로 되어 있다.
도 19b는 예기치 못한 클라이언트의 이탈이 발생한 경우나, 해당하는 클라이언트에 중대한 장해가 있음을 검출한 경우의 서버의 처리를 도시한 흐름도이다. 서버는 단계 S130에서, RTT 및 카피 레이트를 통해 항상 클라이언트의 실효 처리량을 모니터하고 있으며, 예컨대 소정의 임계치 시간 동안에 응답 패킷을 수신하지 않은 경우에는 클라이언트가 이탈 또는 장해가 발생한 것으로 판단한다. 서버는 그 후 단계 S132로 진행하여, 해당하는 클라이언트에 대하여 송신한 소스 패킷 중, 소정의 임계치에 상당하는 기간 내에 송신한 소스 패킷을 선택하여, 서버의 송출 소스 패킷 리스트의 선두에 재차 등록하고, 다른 클라이언트에게 재차 등록된 소스 패킷을 송신함으로써, 소스 패킷의 소멸을 방지하는 구성으로 되어 있다.
도 20은 본 발명의 디지털 콘텐츠 배포 시스템의 보다 구체적인 다른 실시형태를 도시한 도면이다. 도 20에 도시한 실시형태는 구체적으로는, 본 발명을 사업소 내의 인트라넷을 사용한, 강연회 등의 사내 방송에 대하여 적용하는 경우의 실시형태이다. 도 20에 도시한 실시형태에서는, 사업소 내의 인트라넷은 각 섹션에 배치되는 엔드 라우터(70)를, 이더넷(등록상표) 또는 파이버 채널 등의 네트워크(72)에 의해, 백본 라우터(74)를 사용하여 접속하는 구성이다. 엔드 라우터(70) 아래에는 예컨대 100대 정도의 퍼스널컴퓨터로 구성된 클라이언트(20)가 P2P 접속되어, 제2 네트워크(76)를 구성하고 있다. 도 20에서 설명하는 실시형태에서는 클라이언트(20)는 네트워크 전체적으로 약 3000개 규모의 네트워크를 구성하고 있다. 도 20에 도시한 구성에서 예컨대 서버(78)가 패킷을 전체 클라이언트에 송신한 것으로 하면, 백본 라우터(74)로서 예컨대 1 Gbps 대역폭의 백본 라우터를 사용하더라도, 8 Mbps의 송신 속도를 필요로 하는 동화상 이미지 데이터의 순조로운 송신은 할 수 없으며, 예컨대 DVD(digital versatile disc) 정도에서의 디지털 콘텐츠의 배포는 종래의 방법에서는 불가능하다. 본 발명의 패킷 중복 회피를 이용하지 않는 경우에는, 클라이언트 100개의 경우라도, 사용자는 실시간으로 디지털 콘텐츠를 배포받을 수 없다.
이 시스템에 대하여, 본 발명을 적용함으로써, 클라이언트(20)는 예컨대 100 Mbps의 이더넷(등록상표)으로 클라이언트가 동일한 스위칭 허브로 제2 네트워크를 형성하고 있다고 하면, 클라이언트 사이의 P2P 접속에 의한 통신 속도는 40∼50 Mbps의 처리량이 기대되기 때문에, 예컨대 MPEG4에 있어서 8 Mbps의 송수신에 문제는 없다. 한편, 클라이언트가 다른 엔드 라우터에 접속하고 있는 경우에는, 다른 그룹으로 나눈 쪽이 효율적이게 된다. 다만, 그 경우, 서버(78)는 그룹의 수만큼 스트림을 송신하게 된다. 100개의 PC를 부하로서 접속하는 엔드 라우터가 30대 있는 경우에는 각 엔드 라우터마다 그룹을 할당할 수 있다.
이 경우에는, 백본 라우터(74)에 직접 접속하고 있는 서버(78)로부터는 30 스트림분을 240 Mbps의 소비로 송신하게 된다. 도 20에 도시한 실시형태에서는, 엔드 라우터(70) 하에서 그룹화되는 퍼스널컴퓨터는 클라이언트(20)로서, 강연회의 영상이나 음성 수신에, 항상 참가할 수 있고, 또 이탈할 수 있다. 또한, 상대적으로 성능이 낮은 클라이언트는 패킷 송신에 있어서의 패스 트리 구조의 하류측에 항상 배치되어, 다른 클라이언트에 악영향을 미치는 것을 피할 수 있다. 한편, 이 때 서버는 3000개의 클라이언트를 패스의 선택 대상으로 하여 관리하게 되는데, 1개의 서버로 충분히 디지털 콘텐츠를 실시간 배포하는 것이 가능했다.
도 21은 본 발명의 구체적인 또 다른 실시형태를 도시한 도면이며, 인터넷 상에 배치된 서버(14)로부터의, 복수 클라이언트(20)에 의해 디지털 콘텐츠를 동시에 수신하는 실시형태를, 본 발명에 따라서 실행하는 것이다. 도 21에 도시한 실시형태에서는, 인터넷이 제1 네트워크(12)를 형성하고, 제2 네트워크(22)는 예컨대 라우터(16)를 통해 인트라넷에 접속된 인트라넷에 상당한다. 인터넷에서 보면, 사업소 내의 인트라넷은 대역폭이 넓고, 처리량의 변동이 작은, 잘 관리된 네트워크라고 할 수 있다. 인터넷에 서버(14)가 배치된 경우, 인트라넷에 속하는 클라이언트로 그룹을 구성하면, 인터넷 상에서의 패킷 중복을 막고, 또한, 특별한 엣지 서버없이, 예컨대 1 Mbps의 동화상 이미지 데이터 영상의 동시 수신을 할 수 있다. 도 21에 도시한 경우에는, 클라이언트에 대하여 요구되는 통신 속도가 2 Mbps의 성 능이면 되는 것을 확인할 수 있었다.
도 22는 무선 네트워크 상의 서버에 대하여, 부하 경감을 가능하게 하는, 본 발명의 또 다른 실시형태를 도시한 도면이다. 도 22에 도시한 본 발명의 실시형태에서는, 서버(14)에서의 처리는 그룹의 수에 따른 스트림의 송신과 패스의 동적 선택뿐이기 때문에, 종래와 비교하여 서버에 대해 가해지는 오버헤드는 작게 마무리된다. 예를 들면, MPEG2, MPEG4의 재생 쪽이 CPU 자원을 매우 많이 필요로 하기 때문에, 서버(14)보다 클라이언트(20) 쪽에 부담이 커지는 경우도 있다. 또한, 서버(14)에서부터 클라이언트(20)로 구성하는 그룹까지는, 1 스트림만의 송신이기 때문에, 무선 네트워크 상에 배치되고, 또 CPU 자원이 작은 서버(14)로부터라도, 무선 네트워크로 접속된 인트라넷 상에 위치하는 복수 클라이언트를 향해서, 예를 들면 384 kbps로 MPEG4의 스트림을 동시 배포하는 것이 가능해진다.
E : 디지털 콘텐츠 배포를 행하는 유사 터널 배포를 실행하는 디지털 콘텐츠 배포 시스템
도 23에는 본 발명에 있어서 유사 터널 배포를 가능하게 하는 디지털 콘텐츠 배포 시스템을 도시한다. 도 23에 나타낸 디지털 콘텐츠 배포 시스템(80)은 디지털 콘텐츠를 송신자로부터 수신하여 유지하기 위한 서버(82)와, 복수의 클라이언트(86)를 포함하여 구성되는 그룹(84a∼84c)에 귀속된 클라이언트(86)를 포함하도록 구성되어 있다. 서버(82)와, 그룹(84a∼84c)은 라우터(88)를 통해 인터넷과 같은 제1 네트워크로 서로 접속되어 있다. 또, 그룹에 귀속되는 클라이언트(86)는 각각 그룹 내에서 구성된 LAN에 의해 서로 접속되어, 데이터 공유 및 정보 통신이 가능하게 되어 있다. 한편, 도 23에 도시하는 그룹의 수는, 본 발명에서는 도면에 도시한 수에 제한되는 것은 아니며, 또 클라이언트의 수도 도면에 도시한 수에 제한되는 것이 아니다. 또한, 당업자들이 주지하는 바와 같이, 그룹에는 프린터 서버, 메일 서버와 같은 각종 서버가 접속되어 있더라도 좋다. 각 그룹은 여러 개가 보다 큰 대역 그룹(G1)을 구성하고 있고, 같은 구성의 대역 그룹(G2, G3)이 제1 네트워크(12)에 접속되어 있다. 한편, G2, G3에 대하여도 서버(82)로부터 디지털 콘텐츠를 배포할 수 있지만, 각각 다른 서버를 사용할 수도 있다.
도 23에 도시한 콘텐츠 배포 시스템(80)의 기능을 상세히 설명하면, 우선 서버(82)는 배포하여야 할 디지털 콘텐츠를 프로바이더가 관리하는 송신자 서버로부터 수신함으로써, 또는 프로바이더가 서버(82)에 동화상 또는 파일 형식으로 입력함으로써, 디지털 콘텐츠를 하드디스크와 같은 기억 수단(90)에 유지시킨다. 또한, 서버(82)에 직접 비디오카메라로부터 멀티미디어 데이터를 입력하는 경우에는 서버(82)가 포함하는 도시하지 않는 적절한 버퍼 메모리 등에 디지털 콘텐츠를 유지시킨다.
유지된 디지털 콘텐츠는 서버(82)에 있어서 스트리밍 처리가 실시되어, 복수의 세그멘트로 분할되어, 소스 패킷으로서 생성된다. 생성된 소스 패킷은 본 발명의 방법에 따라서 실행 처리량 등을 사용하여 선정되는 클라이언트(86)에게 송신된다. 클라이언트(86)는 소스 패킷을 수신하면, 도 23에 도시된 바와 같이 그룹 내에서 소스 패킷의 카피 또는 그룹 사이에서 패킷의 카피를 실행함으로써, 대역 그룹 전체에 있어서 디지털 콘텐츠의 공유를 가능하게 하고 있다.
또한, 클라이언트(86)는 디지털 콘텐츠를 재생하기 위한, 예컨대 윈도우 멀티미디어 플레이어(상표)와 같은 애플리케이션을 포함하고 있어, 각 클라이언트(86)의 버퍼 메모리에 축적된 디지털 콘텐츠분마다 재생 처리를 실행하여, 사용자에 대하여 디지털 콘텐츠의 제공을 가능하게 하고 있다. 도 23에 도시한 실시형태에서는, 애플리케이션은 각 클라이언트에 포함되고, 또한, 디지털 콘텐츠도 클라이언트(86)마다 축적되는 것으로 되어 있다. 본 발명에서, 유사 터널 배포는 서버(82)에 있어서 그룹 내, 또는 그룹 간의 패킷 카피를 실행시키는 데이터를 소스 패킷에 기술함으로써 실행할 수 있다. 또한, 또 다른 실시형태에서는, 클라이언트에 클라이언트 리스트로부터 선택되는 카피처 리스트를 기억시켜 놓아, 소스 패킷의 수신을 판단하고, 카피처 리스트를 참조하여, 카피 패킷을 송신하는 것도 가능하다.
도 24a 내지 도 24c는 본 발명에 따른, 유사 터널 배포를 실행하기 위해서 생성되는 소스 패킷의 실시형태를 도시한다. 도 24a에 도시한 소스 패킷(92)은 송신 시각 기술 영역(92a)과, 소스 패킷에 붙여진 패킷 식별자 기술 영역(92b)과, 그룹 내의 카피를 실행하거나, 또는 그룹 사이에서 패킷의 카피를 실행할지를 지시하는 카피 지시 플래그 영역(92c, 92d)과, 디지털 콘텐츠의 실체적 데이터로 구성되는 데이터 패킷 기술 영역(92e)을 포함하도록 구성되어 있다.
송신 시각 기술 영역(92a)은 서버가 패킷을 맨 처음 송출한 시각을 클라이언트 및 서버가 인식할 수 있는 임의의 형식으로 할 수 있다. 송신 시각 기술 영역(92a)은 서버(82)가 각 패킷을 송신하는 클라이언트를 결정하기 위해서 클라이언트 의 반응 시간, 즉 실행 처리량을 측정하는 경우에 이용된다. 또한, 패킷 식별자 기술 영역(92b)은 서버(82)가 송출한 소스 패킷에 붙여진 일련 번호를 기록하는 영역이며, 소스 패킷의 시계열적 순서를 클라이언트가 재구성하는 경우에 이용된다.
카피 지시 플래그 영역(92c)은 그룹 내의 카피를 해야 하는지의 진위 플래그가 기술된 영역이며, 클라이언트는 수신한 패킷의 이 영역의 플래그가 진짜인 패킷에 대해서, 그룹 내의 클라이언트 전부에게 그 카피를 송신하는 처리를 실행한다. 카피 지시 플래그 영역(92d)은 그룹 사이의 카피를 해야 할지의 진위 플래그가 기술된 영역이며, 클라이언트는 이 플래그가 진짜인 패킷을 대역 그룹 내의 다른 그룹 각각 중에서 한 클라이언트에게 송신하는 처리를 실행한다.
데이터 패킷 기술 영역(92e)은 서버(82)가 송신하여 클라이언트(86)가 재생해야 하는 디지털 콘텐츠의 실체적인 데이터가 기술된 영역이다. 한편, 본 발명에서는, 이들 요소의 전후나 사이에 다른 부가적인 요소를 가하더라도 좋고, 요소의 순서를 바꾸더라도 좋다. 또, 경우에 따라서는 일부 요소를 생략하여도 좋다. 또한 소스 패킷(92)은 도시되지 않지만, 도 11에 도시한 바와 같이, 소스 패킷(92)을 송신할 때의 수신처를 지정하는 수신처 IP 어드레스, 송신원 IP 어드레스를 포함하여 구성되어 있다.
도 24b는 본 발명의 콘텐츠 배포 서버(82)에서 생성되는 소스 패킷의 제2 실시형태를 도시한다. 도 24b에 도시한 실시형태에서는, 소스 패킷 자체에 패킷의 카피를 송신해야 하는 클라이언트의 리스트를 포함하며, 보다 상세하게 배포처를 지정하는 실시형태이다. 이 경우, 서버(82)는 서버 자체가 유지하는 클라이언트 리스트를 참조하여, 송신해야 할 상대의 리스트를 소스 패킷(92)에 기술한다. 또한, 도 24b에 도시된 소스 패킷(92)은 송신 시각 기술 영역(92a)과, 패킷 식별자 기술 영역(92b)을 포함하고 있으며, 이들은 도 24a에서 설명한 것과 같은 기능을 클라이언트에 대하여 실행시키는 기능을 갖는다. 또, 도 24b에 도시한 소스 패킷(92)에는 서버(82)에 의해 지정된 카피처를 지정하는 카피 지시 데이터 영역(92f)이 마련되어 있다. 클라이언트는 소스 패킷을 수신했다고 판단하면, 카피 지시 데이터 영역(92f)을 판독하여, 이하에 기재하는 처리를 실행한다.
카피 지시 데이터 영역(92f)에 기술된 값 N_dest는 카피를 송신해야 할 상대의 리스트 길이를 지정하고, 값 Dest1∼DestN은 카피 패킷을 송신해야 할 클라이언트를 지정하는 IP 어드레스 등의 클라이언트 식별자를 사용할 수 있다. 예컨대, 카피 지시 데이터 영역(92f)에 자신의 그룹이 지정되어 있으면, 클라이언트는 그룹 내의 클라이언트에게만 그 카피를 송신한다. 한편으로, 카피 지시 데이터 영역(92f)에 다른 그룹에 송신할 것을 지명하는 값, 예컨대 다른 그룹에 대응하는 IP 어드레스 등이 지정되어 있으면, 클라이언트는 지정된 그룹의 클라이언트에게 그 카피를 송신한다. 데이터 패킷 기술 영역(92e)은 도 24a에서 설명한 것과 마찬가지다.
도 24c는 본 발명에서 사용하는 소스 패킷(92)의 제3 실시형태를 도시한 도면이다. 도 24c에 도시한 실시형태는, 카피 패킷을 보낼 곳이 처음부터 자명하여 패킷에는 그것을 기술할 필요가 없는 경우이다. 이 경우에는, 클라이언트는 미리 카피처를 메모리 또는 하드디스크와 같은 기억 수단에 기억된 클라이언트 리스트로부터 선택하여, 다른 클라이언트와는 중복되지 않은 범위에서 할당된 어드레스 범위의 어드레스를 갖는 다른 그룹의 클라이언트를 선택하여, 카피처 리스트를 작성할 수 있다. 또한, 도 24c의 실시형태에 있어서, 그룹 내에서 카피 패킷을 배포하는 경우에는, 그룹 내에서 동보 통신을 실행시킴으로써, 배포할 수 있다. 또 다른 실시형태에서는, 클라이언트가 각 패킷에 대해서, 그룹 내의 다른 클라이언트에게 그 카피를 송신하고, 또 대역 그룹 내의 다른 그룹 각각에 귀속되는 클라이언트의 하나에게 수신한 소스 패킷의 카피를 송신하도록 미리 결정해 둘 수도 있다. 이 실시형태에서 사용할 수 있는 도 24c에 도시한 소스 패킷에는 송신 시각 기술 영역(92a)과, 패킷 식별자 기술 영역(92b)과, 데이터 패킷 기술 영역(92e)으로 구성되며, 카피 패킷의 배포처는 포함되어 있지 않다. 클라이언트는 상술한 바와 같이, 카피처 리스트 또는 미리 지정된 클라이언트에 대하여 카피 패킷을 배포한다.
도 25는 본 발명의 유사 터널 배포의 서버가 실행하는 프로세스를 도시한 흐름도이다. 본 발명의 유사 터널 배포는 단계 S130에서 서버가, 그룹에 새로운 클라이언트가 참가했는지의 여부를, 클라이언트로부터 송신되는 통지(Join request)를 모니터하여 판단한다. 서버가, 신규로 참가하는 클라이언트를 발견한 경우(yes)에는, 서버는 단계 S132에서 신규로 참가하는 클라이언트의 실행 처리량에 대해, 미리 작은 값을 할당하여, 이후의 실적을 고려하면서 갑자기 신규 참가 클라이언트에게 대량의 소스 패킷이 송신되는 것을 방지한다. 이어서 단계 S134에서, 서버는 클라이언트 리스트에 그 클라이언트를 추가하여, 디지털 콘텐츠를 배포하는 것을 가능하게 한다. 여기서, 클라이언트의 식별은 클라이언트에 할당된 식별자, 예컨대 IP 어드레스, 클라이언트에 임의로 붙여진 클라이언트 명칭 등에 의해 행할 수 있다. 단계 S136에서 서버는 새로운 클라이언트가 대역 그룹에 참가했다는 것과 그 IP 어드레스 등의 식별자를 대역 그룹 내의 신규로 참가한 클라이언트를 포함한 모든 클라이언트에게 통지한다. 이 통지를 받은 클라이언트는 새로운 리스트를 하드디스크 또는 적절한 메모리에 저장한다. 이 경우의 통신은 본 발명의 유사 터널 배포를 사용하여 실행할 수도 있고, 송신하는 데이터량이 멀티미디어 데이터, 화상 데이터 등과 비교하여 비교적 작기 때문에, 지금까지 알려진 어떠한 방법을 사용하여 송신할 수 있다. 상술한 프로세스에 의해, 서버와 클라이언트는 최신의 동일한 클라이언트 리스트를 보유하는 것이 가능해진다.
도 26은 디지털 콘텐츠를 배포하는 처리의, 서버와 클라이언트의 프로세스를 도시한 도면이다. 프로바이더가 디지털 콘텐츠를 배포하도록 서버에 대하여 지시하면, 단계 S140에서, 서버는 클라이언트 리스트를 참조하여, 가장 실행 처리량이 큰, 또는 라운드 트립 타임(RTT)이 가장 작은 클라이언트를 선택하여, 제1 소스 패킷을 그 클라이언트의 IP 어드레스 등을 참조하여 송신한다. 이 경우, 본 발명의 유사 터널 배포 방법의 가장 단순한 실시형태에서는 동일한 소스 패킷은 대역 그룹에 속하는 단 하나의 클라이언트에게 배포된다.
클라이언트는 단계 S142에서 패킷을 수신하고, 단계 S144에서 수신한 패킷이 서버로부터의 소스 패킷인지의 여부를 판단한다. 소스 패킷의 판단은 예컨대 소스 패킷에 포함되는 송신원 어드레스, 카피 지시 플래그, 카피 지시 데이터 영역이 포함되어 있는지의 여부 등을 사용하여 판단할 수 있다. 또한, 본 발명에서 소스 패킷의 카피는 카피 패킷임을 판단할 수 있는 한, 어떠한 형식으로도 작성할 수 있다. 또한, 가장 보편적으로 이용할 수 있는 소스 패킷의 판단은 통상 서버에 할당된 IP 어드레스는 고정 IP 어드레스로 되기 때문에, 패킷에 있어서의 송신원 IP 어드레스를 사용하여 행할 수 있다. 단계 S144의 판단에 있어서 소스 패킷이라고 판단한 경우(yes)에는 클라이언트는 단계 S146에서 소스 패킷에 기술된 배포처, 또는 도 24c에 도시된 소스 패킷을 사용하는 실시형태의 경우에는, 카피처 리스트를 참조하는 등으로 미리 등록되어 있는 배포처에게 소스 패킷의 카피를 송신한다. 이 경우, 카피 패킷의 송신은 2개의 프로세스를 포함하여 실행된다. 즉, (i) 소스 패킷을 수신한 클라이언트가 소속되는 그룹에 속하는 클라이언트 전부에 카피 패킷을 송신한다, (ii) 소스 패킷을 수신한 클라이언트가 소속되지 않은 그룹 각각에 대하여, 그 그룹 내의 클라이언트의 하나를 선택하여 이 패킷의 카피를 송신한다. 이 선택은, 미리 설정해 둘 수도 있고, 또한 송신해야 할 클라이언트의 RTT를 적절한 기준 및 기법을 모니터해 두고서, 콘텐츠 배포 서버와 마찬가지로 응답 시간이 작은 것을 동적으로 선택하여 송신할 수도 있다.
단계 S144의 판단에 있어서, 수신한 패킷이 소스 패킷이 아니라고 판단한 경우(no)에는, 수신한 클라이언트가 저장해야 할 패킷이기 때문에, 단계 S148에서 클라이언트는 수신한 카피 패킷을 링 버퍼 등에 축적하고, 디지털 콘텐츠의 재생을 위한 처리를 시작하여, 단계 S142로 되돌아가 다음 패킷의 처리를 반복한다.
도 27은 상술한 서버와 클라이언트 사이의 패킷 송수신 처리를 간략화하여 도시한 도면이다. 도 27에 도시된 바와 같이, 클라이언트 a는 G로 나타내어진 대역 그룹을 구성하는 그룹 SG@yi@z에 속하며, 대역 그룹(G)에는 그룹 SG@y1@z∼SG@ym@z(1≤i≤m)의 그룹이 존재한다. 클라이언트 a는 서버(82)로부터 수신한 소스 패킷의 카피를, 그룹 SG@yi@z에 속하는 전체 클라이언트 및 다른 (m-1)의 그룹 각각의 하나의 클라이언트 b에게 송신한다.
도 26 및 도 27에 도시한 방법에 의해, 대역 그룹(G)에 포함되는 클라이언트는 서버(82) 및 다른 그룹의 클라이언트 및 동일 그룹 내의 클라이언트로부터 패킷을 수신하는 것이 가능해진다. 이 결과, 서버는 디지털 콘텐츠를 재구성시키기 위한 최소한의 단위인 소스 패킷을, 종래의 터널을 그룹마다 구성하여 송신하는 경우와 같이, 디지털 콘텐츠의 중복된 송신을 하는 일없이, 모든 클라이언트에 대하여 디지털 콘텐츠를 재구성시키기 위한 모든 패킷을 배포할 수 있다. 또한, 본 발명의 유사 터널 배포에서는, 소스 패킷은 중복되어 송신되지 않기 때문에, 클라이언트에 있어서의 패킷의 중복은 완전히 피할 수 있게 되어, 클라이언트에 있어서의 패킷의 중복 및 그것에 따른 중복 패킷 처리 문제를 생기게 하지 않고, 원할한 디지털 콘텐츠의 배포를 행하는 것을 가능하게 한다.
또한, 클라이언트는 소스 패킷 및 카피 패킷의 소정량을 링 버퍼에 축적한 후, 이들 패킷을 애플리케이션에 제공하여 디지털 콘텐츠를 사용자에게 제공한다.
본 발명의 유사 터널 배포에서는, 서버, 그룹, 클라이언트 전부에 대해서 통신 대역폭을 압박하지 않고 디지털 콘텐츠의 배포를 가능하게 한다. 서버로부터 대역 그룹에 대하여 송신하는 패킷은 1 세트분이며, 그룹마다 보면, 수신 패킷은 소스 패킷 및 카피 패킷을 포함하여 1 세트분이고, 또 송신 패킷은 그룹 단위로 평균 1 세트분 이하가 된다. 클라이언트마다 보더라도, 마찬가지로 수신 패킷은 1 세트분, 송신패킷은 평균 1 세트분 이하가 된다. 여기서, 대역 그룹에 포함되는 전체 클라이언트의 수를 다시금 m개로서 정의하고, M을, 대역 그룹을 구성하는 그룹의 수로서 정의한다. 이 경우 그룹 사이에서 클라이언트의 접속수가 대강 같은 것으로 하면, 클라이언트는 통계적으로 보아 1 세트의 1/m의 소스 패킷을 수신하고, 수신한 소스 패킷을, 그룹 내의 (m/M-1)의 클라이언트에 카피하고, 또 (M-1)의 다른 그룹에 배포한다. 여기서, 클라이언트 하나에 대해서 패킷의 송수신량을 개략적으로 산출하면, 하기의 식
((m/M -1) + (M-1))/m = (m + M^2 - 2M)/mM
을 얻을 수 있다. 상기 식에서, mM-(m+M^2-2M)=(m-M)(M-2)+m>0이기 때문에,
(m + M^2 - 2M)/mM < 1
가 되는 것이 나타내어진다.
또한, 본 발명에 따르면, 일부 클라이언트가 참가 이탈하거나 또는 어떠한 이유로 이상 종료되더라도, 나머지 클라이언트는 정상적으로 수신을 계속할 수 있다. 본 발명에서는, 서버와 그룹 사이에 복수의 터널을 제공하는 것은 아니며, 서버와, 다수의 분산된 클라이언트 사이에 있어서 피어투그룹형의 터널을 제공함으로써 시스템 전체에 대하여 로버스트성을 부여하는 것이 가능해진다.
한편, 전술한 실시형태에서, 클라이언트는 디지털 콘텐츠와 디지털 콘텐츠를 재생하는 애플리케이션을 쌍으로 하여 유지하고 있는 것으로 설명하였다. 본 발명에서는, 클라이언트와 애플리케이션을 동일한 컴퓨터 상에서 가동시킬 수도 있지 만, 보다 상세하게는 후술하는 바와 같이, 애플리케이션이 디지털 콘텐츠를 공유할 수도 있으며, 전술한 실시형태에 한정되는 것은 아니다. 또한, 본 발명에서는, 디지털 콘텐츠를 생성하는 서버와, 스트리밍 처리를 실시하여 소스 패킷을 송신하는 서버를, 동일한 컴퓨터 상에서 가동시킬 수도 있고, 별개 서버로서 구성할 수 있다. 이들을 서로 별개의 컴퓨터로서 구성하는 경우에는, 프로바이더와 서버 사이의 통신은, 멀티캐스트라도 좋고, UDP 또는 TCP와 같은 통신 프로토콜을 이용하는 유니캐스트로 할 수 있다. 이 점에서, 본 발명은 소위 멀티캐스트 터널과는 달리, 서버 클라이언트 사이에서 IP 멀티캐스트를 일절 사용하지 않더라도 멀티캐스트와 동일한 효과를 주는 것을 가능하게 한다.
도 28은 서버와, 클라이언트 사이의 패킷 송수신의 타이밍을 도시한 도면이다. 도 28에 도시된 바와 같이, 서버는 시각 t1에 있어서, 소스 패킷 #i를 클라이언트 #1에 대하여 송신한다. 소스 패킷 #i를 수신한 클라이언트 #1은 소스 패킷을 수신했음을 통지하는 신호 "Ack"를 서버에 대하여 송신한다. 서버는 신호 "Ack"를 시각 t2에 수신하고, 그 시간차(t2-t1)를 산출하여, 클라이언트 리스트의 해당하는 클라이언트의 실행 처리량을 갱신시킨다.
클라이언트 #1은 소스 패킷 #i를 수신하여 즉시 카피 패킷을 생성하고, 시각 t3에 있어서, 클라이언트 #1이 귀속되는 그룹의 클라이언트, 도 28에 도시한 실시형태에서는, 클라이언트 #2에게 카피 패킷 #i를 송신한다. 동시에 클라이언트 #1은 다른 그룹에 귀속되는 클라이언트 #3에게 카피 패킷 #i를 송신한다. 클라이언트 #2는 시각 t4에 카피 패킷 #i를 수신하고, 클라이언트 #3은 시각 t5에 카피 패킷 #i 를 수신한다. 클라이언트 #3은 카피 패킷 #i를 수취했음을 통지하는 신호 "Ack2"를 클라이언트 #1에 송신하고, 신호 "Ack2"는 시각 t6에 클라이언트 #1에 수신된다. 클라이언트 #1은 예컨대 시간차(t6-t3)로서 그룹 내에서의 실행 처리량을 산출하여, 리스트의 해당하는 클라이언트 리스트를 갱신한다. 또한, 클라이언트 #3은 동일한 그룹 내에서 카피 패킷 #i를 동일한 그룹 내의 클라이언트 #4에게 송신한다. 여기서, 그룹 내에서 RTT(라운드 트립 타임)을 산출하지 않는 것은, 그룹 내에서 클라이언트를 선택하지 않고서 반드시 카피 패킷 #i를 송신해야만 하기 때문이다. 또, 본 발명에서는 후술하는 바와 같이, 각 그룹 사이에서 통신 대역폭이 크게 다른 경우에는, 서버가 소스 패킷을 송신한 시각을 기억해 두고, 수신처의 클라이언트로부터 Ack 신호를 수신한 시각을 측정하여, 실행 처리량을 판단하는 기준으로 할 수도 있다.
도 29는 본 발명의 유사 터널 배포 시스템의 다른 실시형태를 도시한 도면이다. ADSL, CATV 등의 통신 인프라 기반을 사용하는 네트워크에서는 수신/송신(downlink/uplink)의 대역폭이 비대칭으로 된다. 도 29에 도시한 실시형태는 클라이언트 측의 네트워크로 uplink의 대역폭이 작게 설계되어 있는 경우에 유효한 실시형태이다. 도 29에 도시한 실시형태에서는, 서버가 소스 패킷을 송신하는 경우, 적어도 1부의 소스 패킷을 복수의 클라이언트에게 송신한다. 도 29에 도시한 경우에는, 클라이언트로서는, 예컨대 라운드 트립 타임(RTT)이 작은 것부터 순차 각각 별도의 그룹에 속하는 것을 선택할 수 있다. 또, 복수의 클라이언트에 송신한 소스 패킷으로서, 도 24b에 도시한 소스 패킷 구성을 사용하여, 어떤 그룹의 어떤 클라이언트에게 카피할지를 직접 지시할 수도 있다.
도 29에 도시한 클라이언트가 실행하는 처리를 설명하면, 소스 패킷 #i를 수신한 클라이언트는 소스 패킷에 있어서 동일한 소스 패킷 #i가 이미 보내져 있지 않은 별도 그룹에게 카피 패킷을 송신한다. 이로써, 동일한 소스 패킷에 대응하는 카피 패킷이 동일한 그룹에 배포되어 버림으로 인한 문제점을 배제할 수 있다. 또한, 소스 패킷 #i에는 동일한 소스 패킷 #i를 송부한 그룹의 어드레스를 기술하여, 그 기술된 어드레스의 그룹을 제외한 그룹에 카피 패킷을 송신할 수도 있다. 또한, 도 29에 도시한 유사 터널 배포를 사용함으로써, 그룹 사이의 통신량도 삭감할 수 있어, uplink 패킷의 양을 작게 할 수 있다. 한편, 서버에게 있어서 본다면, 동일한 소스 패킷을 복수의 클라이언트에게 송신할 필요가 생기기 때문에 부하는 높아진다. 본 발명에서는, 상술한 트레이드오프 및 사용하고 있는 통신 인프라 기반의 특성을 고려하여, 어떤 방법을 사용할지를 선택할 수 있다. 또한, 시간대 등에 따라서, 복수의 방법을 병용하여 디지털 콘텐츠 배포를 실행하는 것도 가능하다.
도 30은 본 발명의 유사 터널 배포 시스템의 또 다른 실시형태를 도시한 도면이다. 도 30에 도시한 실시형태에서는, 그룹 내에 있어서의 클라이언트 사이에서 카피 패킷을 송수신하지 않는다. 도 30에 도시한 실시형태에서는, 클라이언트로부터 직접 애플리케이션으로 패킷을 보내는 것이 아니라, 클라이언트는 수신한 패킷을 브로드캐스트, 또는 제3 네트워크로서 참조되는 LAN 로컬의 멀티캐스트를 이용하여 송신한다. 도 30에 도시한 실시형태에서, 애플리케이션은 다른 컴퓨터(94)에 저장되어 있으며, 애플리케이션을 저장한 컴퓨터(94)는 클라이언트(86)로부터 제3 네트워크(96)를 통해 디지털 콘텐츠를 재생하기 위해서 접속하여 필요한 패킷을 취득하여, 디지털 콘텐츠를 재생한다. 그룹을 접속하는 제2 네트워크(22)로서는, 무선 네트워크라도 이더넷(등록상표)이라도 허용되지만, 본 발명의 도 30에 도시한 실시형태에서 사용되는, 제3 네트워크는 제2 네트워크와는 목적이 다른, 예컨대 이더넷(등록상표) 등을 사용한 네트워크로 할 수 있다. 도 30에 도시한 실시형태에서는, 애플리케이션을 저장한 컴퓨터(94)는 그룹 내의 클라이언트(86) 전부가 제3 네트워크 상에 업데이트하는 패킷을 그 때마다 수신하여 재생할 수 있기 때문에, 디지털 콘텐츠를 과부족없이 원할하게 재생할 수 있다.
또한 도 30에 도시한 실시형태에서는, 애플리케이션은 클라이언트와 1대1이 아니더라도 패킷을 수신할 수 있음을 의미한다. 다만, 제3 네트워크(96) 상에서 클라이언트가 하나 이상 가동하고 있을 필요가 있다. 이 경우 클라이언트(86)는 모든 패킷을 취득하여 저장하지 않더라도 유사 터널을 구성할 수 있어, 통신 트래픽량의 삭감 및 클라이언트 측의 하드웨어 자원의 절약을 가능하게 하면서, 디지털 콘텐츠의 배포가 가능해진다.
전술한 바와 같이, 본 발명에 따르면, 1대 다수의 디지털 미디어 배포에 있어서, 패킷 단위의 동적인 패스의 최적화에 의해, 계(系)는 클라이언트의 참가나 이탈의 영향을 받기 어렵게 되고, 클라이언트는 언제나 참가 혹은 이탈할 수 있다. 또한, 이상 종료에 의한 이탈이나 케이블의 단선 등에도 계는 영향을 쉽게 받지 않아, 안정성을 향상시킬 수 있다. 또한, 클라이언트의 부담은 기본적으로는 균등하게 분산되고 있고, 대역 그룹 전체적으로 수신 기능이 작동하기 때문에(분산 협조성), 특별한 보조 서버를 필요로 하지 않는다. 이에 따라, 자율성의 관점에서 지적되고 있는, 네트워크 시스템의 복잡화를 피하여, 메인터넌스가 용이한 단순한 시스템 구성으로 할 수 있다.
또한, 클라이언트의 참가 이탈을 반영하는 갱신 처리를 국소화하여, 그 오버헤드를 항상 작게 하는 등에 의해, 서버의 부담을 대폭 줄여, 클라이언트와 동등하거나 혹은 그 이하의 자원밖에 허락되지 않는 계산기라도, 서버로서 기능하게 할 수 있다.
더욱이, 본 발명에 따르면, 네트워크를 통해 서로 접속되며, 각각 복수의 클라이언트를 포함하여 구성되는 복수의 그룹을 포함하는 소정의 대역 그룹에 대하여, 서버에 대한 통신 트래픽의 오버헤드를 저감시키면서, 디지털 콘텐츠가 원할하게 또 낭비없는 배포를 가능하게 하는 디지털 콘텐츠 배포 시스템 및 이를 위한 서버와 클라이언트 및 컴퓨터를 전술한 서버 및 클라이언트로서 기능하게 하기 위한 제어 방법, 이들을 위한 프로그램 및 그 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공하는 것이 가능해진다.
한편, 본 발명에서는, IP 멀티캐스트나 애플리케이션 레벨 멀티캐스트에 의해 가져오는 이점, 예를 들면, 패킷이 중복되지 않도록 배포하여 네트워크를 효율적으로 이용하여 혼잡을 피하는 것이나, 네트워크층에서의 비용이 드는 교환 작업을 필요로 하지 않는 등의 성질은 해치는 일없이 그대로 계승하고 있어, 우수한 디지털 콘텐츠 배포를 하는 것이 가능해진다. 또한, 본 발명에서는 제2 네트워크는 예컨대 프린터 서버, 메일 서버, 어플라이언스 서버 등 서버를 포함하여 구성할 수 있다.
본 발명의 상술한 각 기능을 실현하는 수단 또는 부분은 컴퓨터 실행 가능한 프로그램 언어에 의해 기술된 소프트웨어 또는 소프트웨어 모듈군으로서 구성할 수 있으며, 반드시 도면에 기재한 기능 블록으로서 구성될 필요는 없다.
본 발명의 디지털 콘텐츠 배포를 실행시키기 위한 상술한 프로그램은 여러 가지 프로그래밍 언어, 예컨대 C 언어, C++ 언어, Java(등록상표), 등을 사용하여 기술할 수 있으며, 본 발명의 프로그램을 기술한 코드는 자기 테이프, 플렉시블 디스크, 하드디스크, 컴팩트디스크(CD), 광자기디스크, DVD(digital versatile disc)와 같은 컴퓨터 판독 가능한 기록 매체에 유지시킬 수 있다.
지금까지 본 발명을 도면에 기재한 구체적인 실시형태를 들어 설명해 왔지만, 본 발명은 상술한 특정한 실시형태에 제한되는 것이 아니라, 여러 가지 변경예 및 다른 실시형태라도, 본 발명이 효과를 발휘하는 범위에 있어서, 지금까지 알려진 어떠한 구성 요소라도 이용할 수 있다.

Claims (41)

  1. 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 배포(distribution)하기 위한 시스템으로서,
    상기 제1 네트워크에 접속되어, 디지털 콘텐츠를 송신하는 서버와,
    상기 제1 네트워크에 접속되는 상기 제2 네트워크를 구성하며, 상기 디지털 콘텐츠를 수신하여 제공하기 위한 클라이언트를 포함하고,
    상기 서버는 유지된 디지털 콘텐츠를 복수의 패킷으로 분할하여 상기 제2 네트워크 내에 있는 클라이언트에 대하여 상기 디지털 콘텐츠를 구성하기 위한 최소 단위의 패킷을 동적으로 할당해서 송신하는 수단을 포함하고,
    상기 제2 네트워크를 구성하는 클라이언트는 상기 클라이언트가 상기 서버로부터 수신한 상기 최소 단위의 패킷과, 상기 제2 네트워크를 구성하는 다른 클라이언트로부터 수신한 패킷을 사용하여, 상기 제2 네트워크 내에 접속된 모든 상기 클라이언트에 대하여 상기 디지털 콘텐츠를 유지시키기 위한 수단을 포함하는 것인 디지털 콘텐츠 배포 시스템.
  2. 삭제
  3. 청구항 3은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서, 상기 최소 단위의 패킷을 상기 제2 네트워크의 복수의 클라이언트에 할당하는 수단은,
    상기 클라이언트의 오버헤드를 결정하기 위한 수단과,
    상기 오버헤드와 관련되어 상기 클라이언트의 적어도 하나를 중간 노드로서 동적으로 선택하고, 그 중간 노드 앞으로 상기 패킷을 할당하는 수단을 포함하는 것인 디지털 콘텐츠 배포 시스템.
  4. 청구항 4은(는) 설정등록료 납부시 포기되었습니다.
    제3항에 있어서, 상기 클라이언트의 오버헤드를 결정하기 위한 수단은 상기 서버가 상기 최소 단위의 패킷을 소정의 클라이언트 앞으로 송신한 시각과, 상기 소정의 클라이언트가 상기 최소 단위의 패킷의 수신 통지를 발행한 시각과의 시간차를 결정하기 위한 수단을 포함하는 것인 디지털 콘텐츠 배포 시스템.
  5. 청구항 5은(는) 설정등록료 납부시 포기되었습니다.
    제1 네트워크에 접속되어, 디지털 콘텐츠를 송신하는 서버와, 상기 제1 네트워크에 접속되는 제2 네트워크를 구성하며, 상기 디지털 콘텐츠를 수신하여 제공하기 위한 클라이언트를 포함하고, 상기 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 상기 클라이언트에게 배포하기 위한 방법으로서,
    디지털 콘텐츠를 복수의 패킷으로 분할하여 상기 제2 네트워크 내에서 상기 서버로부터 상기 클라이언트에 대하여 상기 디지털 콘텐츠를 구성하기 위한 최소 단위의 패킷을 동적으로 할당해서 송신하는 단계와,
    상기 제2 네트워크를 구성하는 클라이언트가 상기 서버로부터 상기 최소 단위의 패킷을 수신하는 단계와,
    상기 제2 네트워크를 구성하는 다른 클라이언트로부터 상기 디지털 콘텐츠를 재구성하기 위한 패킷을 수신하는 단계와,
    상기 서버로부터 송신된 상기 최소 단위의 패킷과, 상기 다른 클라이언트로부터 수신한 패킷을 사용하여, 상기 제2 네트워크 내에 접속된 모든 상기 클라이언트에 대하여 상기 디지털 콘텐츠를 유지시키는 단계를 포함하는 디지털 콘텐츠 배포 방법.
  6. 삭제
  7. 청구항 7은(는) 설정등록료 납부시 포기되었습니다.
    제5항에 있어서, 상기 최소 단위의 패킷을 상기 제2 네트워크의 복수의 클라이언트에게 할당하는 단계는,
    상기 클라이언트의 오버헤드를 결정하는 단계와,
    상기 오버헤드를 상기 서버에 유지시키는 단계와,
    상기 유지된 오버헤드에 관련되어 중간 노드가 되는 클라이언트를 선택하는 단계와,
    상기 중간 노드로서 선택된 클라이언트 앞으로 상기 최소 단위의 패킷을 할당하는 단계를 포함하는 것인 디지털 콘텐츠 배포 방법.
  8. 청구항 8은(는) 설정등록료 납부시 포기되었습니다.
    제7항에 있어서, 상기 클라이언트의 오버헤드를 결정하는 단계는,
    상기 서버가 상기 최소 단위의 패킷을 소정의 클라이언트 앞으로 송신한 시각을 상기 서버에 등록하는 단계와,
    상기 소정의 클라이언트가 상기 패킷의 수신 통지를 발행한 시각을 상기 서버에 등록하는 단계와,
    상기 송신한 시각과 상기 발행한 시각과의 시간차를 산출하는 단계를 포함하는 것인 디지털 콘텐츠 배포 방법.
  9. 삭제
  10. 삭제
  11. 제1 네트워크에 접속되어, 디지털 콘텐츠를 송신하는 서버와, 상기 제1 네트워크에 접속되는 제2 네트워크를 구성하며, 상기 디지털 콘텐츠를 수신하여 제공하기 위한 수신처가 지정된 클라이언트를 포함하고, 상기 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 상기 수신처 앞으로 배포하는 방법을 실행하기 위한 서버 프로세스를 실행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체로서, 상기 프로그램은,
    디지털 콘텐츠를 복수의 패킷으로 분할하는 단계와,
    상기 서버로부터 최소 단위의 패킷을 상기 제2 네트워크의 복수의 수신처에 동적으로 할당하는 단계와,
    상기 서버로부터 상기 제1 네트워크를 통해 상기 제2 네트워크에 대하여 상기 디지털 콘텐츠를 구성하기 위한 최소 단위의 패킷을 송신하는 단계를 포함하고,
    상기 할당 단계는,
    상기 수신처로부터의 수신 통지를 수신하는 단계와,
    상기 수신 통지를 상기 서버에 유지시키는 단계와,
    상기 유지된 수신 통지를 사용하여 관련되어 중간 노드가 되는 수신처를 선택하는 단계와,
    상기 중간 노드로서 선택된 수신처 앞으로 상기 최소 단위의 패킷을 할당하는 단계를 실행시키는 것인 기록 매체.
  12. 청구항 12은(는) 설정등록료 납부시 포기되었습니다.
    제11항에 있어서, 상기 수신처를 선택하는 단계는,
    상기 서버가 상기 최소 단위의 패킷을 소정의 수신처 앞으로 송신한 시각을 서버에 등록하는 단계와,
    상기 최소 단위의 패킷의 상기 수신 통지가 발행된 시각을 상기 서버에 등록하는 단계와,
    상기 송신한 시각과 상기 수신한 시각과의 시간차를 산출하는 단계를 포함하 는 것인 기록 매체.
  13. 청구항 13은(는) 설정등록료 납부시 포기되었습니다.
    제12항에 있어서, 상기 수신처를 선택하는 단계는,
    상기 서버에 수신처 리스트를 유지시키는 단계와,
    상기 수신처 리스트와 상기 수신 통지가 발행된 시각을 사용하여 수신처를 선택하는 단계와,
    상기 수신처 리스트를 정기적으로 갱신하는 단계를 더 포함하는 것인 기록 매체.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 제1 네트워크에 접속되어, 디지털 콘텐츠를 송신하는 서버와, 상기 제1 네트워크에 접속되는 제2 네트워크를 구성하며, 상기 디지털 콘텐츠를 수신하여 제공하기 위한 클라이언트를 포함하고, 상기 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 상기 클라이언트에 배포하기 위한 방법을 실행하는 클라이언트 프로세스를 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체로서, 상기 프로그램은 상기 클라이언트에 대하여,
    상기 제1 네트워크를 통해 복수의 패킷으로 분할된 디지털 콘텐츠를 구성하는 최소 단위의 동적으로 할당된 패킷을 수신하는 단계와,
    상기 제2 네트워크를 구성하는 다른 클라이언트로부터 상기 디지털 콘텐츠를 재구성하기 위한 패킷을 수신하는 단계와,
    상기 제1 네트워크를 통해 수신한 상기 최소 단위의 패킷과, 상기 다른 클라이언트로부터 수신한 패킷을 사용하여 상기 제2 네트워크에 포함되는 상기 클라이언트에 대하여 상기 디지털 콘텐츠를 유지시키는 단계를 실행시키는 것인 기록 매체.
  19. 청구항 19은(는) 설정등록료 납부시 포기되었습니다.
    제18항에 있어서, 상기 최소 단위의 패킷을 수신한 클라이언트에 대하여, 상기 최소 단위의 패킷을 수신한 시각을 포함하는 수신 통지를 생성하는 단계를 더 실행시키는 기록 매체.
  20. 청구항 20은(는) 설정등록료 납부시 포기되었습니다.
    제18항에 있어서, 상기 클라이언트에 대하여, 상기 최소 단위의 패킷과, 상기 다른 클라이언트로부터 수신한 패킷을 식별하는 단계를 더 실행시키는 기록 매체.
  21. 청구항 21은(는) 설정등록료 납부시 포기되었습니다.
    제18항에 있어서,
    상기 제2 네트워크를 구성하는 멤버의 리스트를 생성하는 단계와,
    상기 리스트를 상기 제2 네트워크에 클라이언트가 추가 또는 삭제된 경우에 갱신하는 단계를 더 포함하는 기록 매체.
  22. 제1 네트워크에 접속되어, 디지털 콘텐츠를 상기 제1 네트워크에 접속되는 제2 네트워크에 대하여 제공하기 위한 서버로서,
    디지털 콘텐츠를 복수의 패킷으로 분할하기 위한 수단과,
    상기 제2 네트워크에 포함되는 수신처를 포함하는 리스트를 기억하는 수단과,
    상기 서버로부터 상기 제1 네트워크를 통해 상기 제2 네트워크에 대하여, 상기 디지털 콘텐츠를 구성하기 위한 최소 단위의 패킷을 송신하는 수단과,
    상기 리스트를 사용하여 상기 최소 단위의 패킷을 송신하는 상기 제2 네트워크에 대한 수신처를 동적으로 할당하는 동적 할당 수단과,
    상기 수신처로부터의 수신 통지를 수신하는 수단과,
    상기 수신 통지를 사용하여 중간 노드가 되는 수신처를 선택하는 수단과,
    상기 중간 노드로서 선택된 수신처를 사용하여 상기 최소 단위의 패킷을 송신하는 수단을 포함하는 디지털 콘텐츠 배포 서버.
  23. 청구항 23은(는) 설정등록료 납부시 포기되었습니다.
    제22항에 있어서, 상기 동적 할당 수단은,
    상기 최소 단위의 패킷을 소정의 수신처 앞으로 송신한 시각을 상기 서버에 등록하는 수단과,
    상기 소정의 클라이언트가 상기 최소 단위의 패킷의 상기 수신 통지를 발행한 시각을 상기 서버에 등록하는 수단과,
    상기 송신한 시각과 상기 수신한 시각과의 시간차를 산출하는 수단을 포함하는 것인 서버.
  24. 청구항 24은(는) 설정등록료 납부시 포기되었습니다.
    제22항에 있어서,
    수신처 리스트와,
    상기 수신처 리스트를 상기 제2 네트워크의 구성 변경에 관련되어 동적으로 갱신하는 수단을 더 포함하는 서버.
  25. 제1 네트워크를 통해 배포되는 디지털 콘텐츠를 수신하여, 상기 제1 네트워크에 접속되는 제2 네트워크를 구성하는 클라이언트로서,
    상기 제1 네트워크를 통해 복수의 패킷으로 분할된 디지털 콘텐츠를 구성하는 최소 단위의 동적으로 할당된 패킷을 수신하는 수단과,
    상기 제2 네트워크를 통해 상기 디지털 콘텐츠를 재구성하기 위한 패킷을 수신하는 수단과,
    상기 제1 네트워크를 통해 수신한 상기 최소 단위의 패킷과, 상기 제2 네트워크를 통해 다른 클라이언트로부터 수신한 패킷을 사용하여, 상기 제2 네트워크에 포함되는 클라이언트에 대하여 상기 디지털 콘텐츠를 유지시키는 수단을 포함하는 클라이언트.
  26. 청구항 26은(는) 설정등록료 납부시 포기되었습니다.
    제25항에 있어서, 상기 최소 단위의 패킷을 수신한 시각을 포함하는 수신 통지를 생성하는 수단을 더 포함하는 클라이언트.
  27. 청구항 27은(는) 설정등록료 납부시 포기되었습니다.
    제25항에 있어서, 상기 최소 단위의 패킷과 상기 다른 클라이언트로부터 수신한 패킷을 식별하는 수단을 더 포함하는 클라이언트.
  28. 청구항 28은(는) 설정등록료 납부시 포기되었습니다.
    제25항에 있어서,
    상기 제2 네트워크를 구성하는 멤버 리스트와,
    상기 리스트를 상기 제2 네트워크에 클라이언트가 추가 또는 삭제된 경우에 갱신하는 수단을 더 포함하는 클라이언트.
  29. 청구항 29은(는) 설정등록료 납부시 포기되었습니다.
    제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 소정의 대역 그룹에 배포하기 위한 시스템으로서,
    상기 제1 네트워크에 접속되어, 디지털 콘텐츠를 송신하는 서버와,
    상기 제1 네트워크에 접속되는 상기 제2 네트워크를 구성하는 클라이언트를 포함하여 구성되고, 상기 디지털 콘텐츠를 수신하여 제공하는 상기 대역 그룹을 구성하는 복수의 그룹을 포함하며,
    상기 서버는 유지된 디지털 콘텐츠를 복수의 패킷으로 분할하여 상기 그룹의 상기 클라이언트에 대하여 상기 디지털 콘텐츠를 구성하기 위한 최소 단위의 패킷을 중복없이 동적으로 할당해서 송신하는 수단을 포함하고,
    상기 최소 단위의 패킷을 수신한 클라이언트는 상기 클라이언트를 포함하는 그룹을 구성하는 모든 클라이언트 및 다른 그룹을 구성하는 다른 클라이언트에게 상기 서버로부터 수신한 상기 최소 단위의 패킷의 카피를 배포하는 수단을 포함하는 것인 디지털 콘텐츠 배포 시스템.
  30. 제2 네트워크를 통해 접속되는 복수의 그룹을 포함한 대역 그룹에 대하여 제1 네트워크를 통해 디지털 콘텐츠를 배포하기 위해서, 상기 제1 네트워크에 접속된 서버로서,
    유지된 디지털 콘텐츠를 복수의 패킷으로 분할하여 최소 단위의 패킷을 생성하는 수단과,
    상기 최소 단위의 동일한 패킷이 소정의 그룹에 대해 중복되지 않도록 상기 최소 단위의 패킷의 배포처를 선택하는 수단과,
    상기 그룹의 상기 선택된 클라이언트에 대하여 상기 디지털 콘텐츠를 구성하기 위한 최소 단위의 패킷을 동적으로 할당하여 송신하는 수단을 포함하는 서버.
  31. 청구항 31은(는) 설정등록료 납부시 포기되었습니다.
    제30항에 있어서, 상기 최소 단위의 패킷을 생성하는 수단은 상기 최소 단위의 패킷의 카피를 적어도 다른 그룹에 배포하기 위한 데이터를 포함하는 최소 단위의 패킷을 생성하는 수단을 포함하는 것인 서버.
  32. 청구항 32은(는) 설정등록료 납부시 포기되었습니다.
    제2 네트워크를 통해 접속되는 복수의 그룹을 포함한 대역 그룹에 대하여 제1 네트워크를 통해 디지털 콘텐츠를 배포하기 위한 서버로서 컴퓨터를 제어하는 방법으로서, 상기 컴퓨터에 대하여,
    유지된 디지털 콘텐츠를 복수의 패킷으로 분할하여 최소 단위의 패킷을 생성하는 단계와,
    상기 최소 단위의 동일한 패킷이 소정 그룹에 대해 중복되지 않도록 상기 최소 단위의 패킷의 배포처를 선택하여 등록하는 단계와,
    상기 선택된 배포처의 데이터를 상기 최소 단위의 패킷으로서 기억시키는 단계와,
    상기 그룹의 상기 선택된 클라이언트에 대하여 상기 디지털 콘텐츠를 구성하기 위해서 상기 기억된 최소 단위의 패킷을 판독하여 그 판독한 패킷을 동적으로 할당해서 송신하는 단계를 실행시키는 방법.
  33. 삭제
  34. 제2 네트워크를 통해 접속되는 복수의 그룹을 포함한 대역 그룹에 대하여 제1 네트워크를 통해 디지털 콘텐츠를 배포하기 위한 서버로서 컴퓨터를 제어하는 프로그램이 기록된 컴퓨터 판독 가능한 기억 매체로서, 상기 프로그램은 상기 컴퓨터에 대하여,
    유지된 디지털 콘텐츠를 복수의 패킷으로 분할하여 최소 단위의 패킷을 생성하는 단계와,
    상기 최소 단위의 동일한 패킷이 소정 그룹에 대해 중복되지 않도록 상기 최소 단위의 패킷의 배포처를 선택하여 등록하는 단계와,
    상기 선택된 배포처의 데이터를 상기 최소 단위의 패킷으로서 기억시키는 단계와,
    상기 그룹의 상기 선택된 클라이언트에 대하여 상기 디지털 콘텐츠를 구성하기 위해서 상기 기억된 최소 단위의 패킷을 판독하여 그 판독한 패킷을 동적으로 할당해서 송신하는 단계를 실행시키는 것인 기억 매체.
  35. 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 소정의 대역 그룹에 배포하기 위해서 상기 제2 네트워크에 접속되어, 상기 대역 그룹의 그룹을 구성하는 클라이언트로서,
    상기 제1 네트워크 또는 제2 네트워크를 통해 패킷을 수신하여, 수신 패킷이 상기 디지털 콘텐츠를 재구성하기 위한 최소 단위의 패킷인지의 여부를 판단하는 수단과,
    상기 판단에 응답하여 상기 수신 패킷으로부터 카피 패킷을 생성하여, 적어도 다른 그룹의 클라이언트 앞으로 카피 패킷을 배포하는 수단을 포함하는 클라이언트.
  36. 청구항 36은(는) 설정등록료 납부시 포기되었습니다.
    제35항에 있어서, 상기 카피 패킷을 배포하는 수단은 상기 수신 패킷이 상기 최소 단위의 패킷이라고 판단된 경우에, 상기 수신 패킷으로부터 적어도 다른 그룹으로의 카피처를 판독하고, 판독된 카피처에 상기 생성된 카피 패킷을 배포하는 수단을 포함하는 것인 클라이언트.
  37. 청구항 37은(는) 설정등록료 납부시 포기되었습니다.
    제36항에 있어서, 카피처 리스트를 저장한 기억 수단을 더 포함하는 클라이언트.
  38. 청구항 38은(는) 설정등록료 납부시 포기되었습니다.
    제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 소정의 대역 그룹에 배포하기 위해서 상기 제2 네트워크에 접속되며, 상기 대역 그룹의 그룹을 구성하는 클라이언트로서 컴퓨터를 제어하는 방법으로서, 상기 컴퓨터에 대하여,
    상기 제1 네트워크 또는 제2 네트워크를 통해 패킷을 수신하여 메모리에 기억시키는 단계와,
    수신 패킷이 상기 디지털 콘텐츠를 재구성하기 위한 최소 단위의 패킷인지의 여부를 판단하는 단계와,
    상기 수신 패킷이 상기 최소 단위의 패킷이라고 판단된 경우에, 상기 판단에 응답하여 상기 수신 패킷으로부터 카피 패킷을 생성하여, 적어도 다른 그룹의 클라이언트 앞으로 카피 패킷을 배포하는 단계와,
    상기 수신 패킷이 상기 최소 단위의 패킷이 아니라고 판단된 경우에, 상기 메모리에 수신 패킷을 기억시키는 단계를 실행시키는 방법.
  39. 삭제
  40. 제1 네트워크와 제2 네트워크를 통해 디지털 콘텐츠를 소정의 대역 그룹에 배포하기 위해서 상기 제2 네트워크에 접속되며, 상기 대역 그룹의 그룹을 구성하는 클라이언트로서 컴퓨터를 제어하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기억 매체로서, 상기 프로그램은 상기 컴퓨터에 대하여,
    상기 제1 네트워크 또는 제2 네트워크를 통해 패킷을 수신하여 메모리에 기억시키는 단계와,
    수신 패킷이 상기 디지털 콘텐츠를 재구성하기 위한 최소 단위의 패킷인지의 여부를 판단하는 단계와,
    상기 수신 패킷이 상기 최소 단위의 패킷이라고 판단된 경우에, 상기 판단에 응답하여 상기 수신 패킷으로부터 카피 패킷을 생성하여, 적어도 다른 그룹의 클라이언트 앞으로 카피 패킷을 배포하는 단계와,
    상기 수신 패킷이 상기 최소 단위의 패킷이 아니라고 판단된 경우에, 상기 메모리에 수신 패킷을 기억시키는 단계를 실행시키는 것인 기억 매체.
  41. 소정의 디지털 콘텐츠를, 연속되는 복수의 스트림 데이터로 하여, 상기 소정의 디지털 콘텐츠를 재구성하기 위해서 필요한 최소 단위의 패킷을 서버로부터 네트워크를 통해 송신함으로써, 복수의 네트워크를 통해 접속된 클라이언트에 상기 디지털 콘텐츠를 공유화시키는 방법으로서,
    상기 디지털 콘텐츠의 배포를 요구하는 상기 클라이언트를 클라이언트 리스트를 판독하여 선택하는 단계와,
    상기 최소 단위의 패킷을 상기 선택한 클라이언트에게 송신하는 단계와,
    상기 최소 단위의 패킷을 수신한 클라이언트에게 상기 최소 단위의 패킷을 메모리에 기억시키는 동시에, 카피 패킷을 생성시켜, 상기 수신한 클라이언트를 제외한 다른 클라이언트에 대하여 상기 카피 패킷을 배포하는 단계와,
    다른 클라이언트로부터 수신한 카피 패킷을 상기 메모리에 기억하는 단계와,
    상기 메모리 내의 패킷을 재구성하여 상기 배포된 소정의 디지털 콘텐츠를 사용자에게 공유시키는 단계를 포함하는 네트워크 상에서의 디지털 콘텐츠의 공유화 방법.
KR20047018062A 2002-06-06 2003-06-04 디지털 콘텐츠 배포 시스템, 디지털 콘텐츠 배포 방법, 이 방법을 실행하기 위한 프로그램을 기억한 컴퓨터 판독 가능한 기록 매체, 및 이를 위한 서버 및 클라이언트 KR100754293B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2002165014 2002-06-06
JPJP-P-2002-00165014 2002-06-06
JP2002303850 2002-10-18
JPJP-P-2002-00303850 2002-10-18
PCT/JP2003/007093 WO2003105421A1 (ja) 2002-06-06 2003-06-04 ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、該方法を実行するためのプログラム、該プログラムを記憶したコンピュータ可読な記録媒体、およびそのためのサーバおよびクライアント

Publications (2)

Publication Number Publication Date
KR20050007533A KR20050007533A (ko) 2005-01-19
KR100754293B1 true KR100754293B1 (ko) 2007-09-03

Family

ID=29738332

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20047018062A KR100754293B1 (ko) 2002-06-06 2003-06-04 디지털 콘텐츠 배포 시스템, 디지털 콘텐츠 배포 방법, 이 방법을 실행하기 위한 프로그램을 기억한 컴퓨터 판독 가능한 기록 매체, 및 이를 위한 서버 및 클라이언트

Country Status (8)

Country Link
US (2) US7809850B2 (ko)
EP (1) EP1533952A4 (ko)
JP (1) JP4034780B2 (ko)
KR (1) KR100754293B1 (ko)
CN (1) CN1656749B (ko)
AU (1) AU2003242053A1 (ko)
TW (1) TWI265697B (ko)
WO (1) WO2003105421A1 (ko)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260602B2 (en) * 2003-03-31 2007-08-21 Microsoft Corporation System and method of network content location for roaming clients
KR100651566B1 (ko) * 2003-08-26 2006-11-28 삼성전자주식회사 이동통신 단말기에서 출력 버퍼링을 이용한 멀티미디어재생 장치 및 그 제어 방법
US7295525B2 (en) * 2003-09-11 2007-11-13 Sun Microsystems, Inc. System and method for managing multicast group membership
WO2005051999A2 (en) 2003-11-26 2005-06-09 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Substance binding human igg fc receptor iib
US20050122973A1 (en) * 2003-12-09 2005-06-09 Samsung Electronics Co., Ltd. Network node capable of restricting a packet receiving activity during packet congestion and method thereof
US7593333B2 (en) * 2004-07-07 2009-09-22 Microsoft Corporation Efficient one-to-many content distribution in a peer-to-peer computer network
US7174385B2 (en) * 2004-09-03 2007-02-06 Microsoft Corporation System and method for receiver-driven streaming in a peer-to-peer network
EP1635504A1 (en) * 2004-09-10 2006-03-15 Nederlandse Organisatie voor toegepast-natuurwetenschappelijk Onderzoek TNO Method and device for inverse multiplexing of multicast transmission
JP4555042B2 (ja) * 2004-09-30 2010-09-29 Necパーソナルプロダクツ株式会社 コンテンツ配信管理サーバ、コンテンツ配信管理方法並びにプログラム
JP4129449B2 (ja) 2004-10-19 2008-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション ストリームデータ配信方法とそのシステム
US20060098664A1 (en) * 2004-11-09 2006-05-11 Tvblob S.R.I. Intelligent application level multicast module for multimedia transmission
US20060176895A1 (en) * 2005-02-07 2006-08-10 Yakov Kamen Data delivery pipeline optimized by cell-based data cascade technology
WO2006085377A1 (ja) * 2005-02-10 2006-08-17 Fujitsu Limited データ配信方法及び端末
EP1701486A1 (en) * 2005-03-07 2006-09-13 BRITISH TELECOMMUNICATIONS public limited company Route selection in multi-hop cellular network
US8730985B2 (en) * 2005-03-15 2014-05-20 Time Warner Cable Enterprises Llc Technique for providing on a program channel composite programming content attributed to different sources
JP2006319909A (ja) * 2005-05-16 2006-11-24 Konica Minolta Holdings Inc データ通信の方法、ピアツーピア型のネットワーク、および情報処理装置
US8423728B1 (en) * 2005-06-16 2013-04-16 Emc Corporation Physical based scheduler using run count and skip count values
JP4375303B2 (ja) 2005-08-19 2009-12-02 ブラザー工業株式会社 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム
US7468952B2 (en) * 2005-11-29 2008-12-23 Sony Computer Entertainment Inc. Broadcast messaging in peer to peer overlay network
US7719988B1 (en) * 2005-11-30 2010-05-18 University Of Murcia Mobility-aware mesh construction algorithm for low data-overhead multicast ad hoc routing
PL1972092T3 (pl) * 2006-01-09 2013-11-29 Thomson Licensing Sposób i system dystrybucji treści multimedialnej
US7647405B2 (en) * 2006-02-06 2010-01-12 International Business Machines Corporation Method for reducing variability and oscillations in load balancing recommendations using historical values and workload metrics
JP4692355B2 (ja) * 2006-03-30 2011-06-01 ブラザー工業株式会社 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
US9198084B2 (en) 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
CN100421433C (zh) * 2006-05-29 2008-09-24 中国移动通信集团公司 内容信息的分发方法
JP2007336182A (ja) * 2006-06-14 2007-12-27 Funai Electric Co Ltd コンテンツ配信システム、及びネットワークサーバ
JP4287448B2 (ja) * 2006-06-16 2009-07-01 株式会社東芝 通信装置、通信端末装置、通信システム、方法およびプログラム
TW200816707A (en) * 2006-07-31 2008-04-01 Ibm System, method and computer program for transferring information on network
JP4981412B2 (ja) * 2006-11-02 2012-07-18 日本放送協会 ファイル転送システムおよびその方法、管理装置ならびにサーバ
KR101145848B1 (ko) * 2006-11-29 2012-05-17 삼성전자주식회사 콘텐츠 전송을 위한 접근 제어 방법 및 상기 접근 제어방법을 이용하는 네트워크의 노드
KR100748229B1 (ko) * 2006-12-12 2007-08-10 (주)지티앤에스 서버/클라이언트 시스템에서 업로드 데이터들의 우선순위결정방법 및 이를 이용한 경매 시스템
JP4809256B2 (ja) * 2007-01-31 2011-11-09 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. データストリーミング方法
US7630370B2 (en) * 2007-02-28 2009-12-08 Sharp Laboratories Of America, Inc. Overlay join latency reduction using preferred peer list
WO2008115221A2 (en) 2007-03-20 2008-09-25 Thomson Licensing Hierarchically clustered p2p streaming system
KR101409991B1 (ko) 2007-04-16 2014-06-20 삼성전자주식회사 P2p 통신 환경에서의 데이터 전송 방법 및 장치
JP2008294626A (ja) * 2007-05-23 2008-12-04 Brother Ind Ltd コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
WO2009036461A2 (en) * 2007-09-13 2009-03-19 Lightspeed Audio Labs, Inc. System and method for streamed-media distribution using a multicast, peer-to-peer network
JP5430885B2 (ja) * 2007-10-30 2014-03-05 京セラ株式会社 Ip放送受信装置
US8904022B1 (en) * 2007-11-05 2014-12-02 Ignite Technologies, Inc. Split streaming system and method
JP4840334B2 (ja) * 2007-11-14 2011-12-21 ブラザー工業株式会社 端末装置、通信システム、プログラム及び方法
US7441135B1 (en) 2008-01-14 2008-10-21 International Business Machines Corporation Adaptive dynamic buffering system for power management in server clusters
US8379851B2 (en) * 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
TWI395428B (zh) * 2008-05-13 2013-05-01 Tien Ming Wang 對等式網路控制系統
US8102865B2 (en) * 2008-05-16 2012-01-24 Microsoft Corporation Group based allocation of network bandwidth
CN101291300B (zh) * 2008-06-12 2011-04-20 华为技术有限公司 消息业务中文件传输的实现方法、装置和用户设备
US20100153578A1 (en) * 2008-07-16 2010-06-17 Nokia Corporation Method and Apparatus for Peer to Peer Streaming
US9398089B2 (en) 2008-12-11 2016-07-19 Qualcomm Incorporated Dynamic resource sharing among multiple wireless devices
US9264248B2 (en) 2009-07-02 2016-02-16 Qualcomm Incorporated System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
JP5471146B2 (ja) * 2009-08-11 2014-04-16 富士ゼロックス株式会社 装置管理システム、管理対象装置、およびプログラム
US20110229104A1 (en) * 2009-10-22 2011-09-22 Hundemer Hank J System And Method For Recording and Playback Of Multimedia Content
US9582238B2 (en) 2009-12-14 2017-02-28 Qualcomm Incorporated Decomposed multi-stream (DMS) techniques for video display systems
JP5060572B2 (ja) 2010-03-09 2012-10-31 株式会社東芝 データ通信装置及び方法
TW201209614A (en) 2010-08-31 2012-03-01 Ibm Method for efficient response of Common Information Model (CIM) server
JP5675234B2 (ja) * 2010-09-10 2015-02-25 任天堂株式会社 情報処理システム、情報処理プログラムおよび情報処理方法
CN102412928B (zh) * 2010-09-17 2017-03-01 株式会社Ntt都科摩 一种基于网络编码的数据传输方法及装置
US8516284B2 (en) 2010-11-04 2013-08-20 International Business Machines Corporation Saving power by placing inactive computing devices in optimized configuration corresponding to a specific constraint
US9065876B2 (en) 2011-01-21 2015-06-23 Qualcomm Incorporated User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US8964783B2 (en) 2011-01-21 2015-02-24 Qualcomm Incorporated User input back channel for wireless displays
US9582239B2 (en) 2011-01-21 2017-02-28 Qualcomm Incorporated User input back channel for wireless displays
US10108386B2 (en) 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
TW201238291A (en) * 2011-03-14 2012-09-16 Wistron Corp Communication system and peer to peer transmission method
FR2978003B1 (fr) * 2011-07-11 2014-07-04 Commissariat Energie Atomique Procede de routage d'un flux en mode non-stockage
US8792486B2 (en) * 2011-08-31 2014-07-29 Hewlett-Packard Development Company, L.P. Packet routing within server device enclosure
US9002931B2 (en) * 2011-09-23 2015-04-07 Real-Scan, Inc. High-speed low-latency method for streaming real-time interactive images
CN103299580B (zh) * 2011-12-30 2016-08-24 华为技术有限公司 业务分发方法、设备和系统
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
US8868647B2 (en) * 2012-01-11 2014-10-21 Alcatel Lucent Reducing latency and cost in resilient cloud file systems
CN103209164A (zh) * 2012-01-17 2013-07-17 上海狂龙数码科技有限公司 公共信息服务平台网络架构及数据传输方法
US9253124B2 (en) * 2012-05-15 2016-02-02 TV Band Service, LLC Techniques for sending and relaying information over broadcast and non-broadcast communications media
US9628373B2 (en) * 2012-12-19 2017-04-18 Comcast Cable Communications, Llc Multipath communication in a network
JP6001474B2 (ja) * 2013-02-26 2016-10-05 日本電信電話株式会社 ブートイメージ配信方法及びブートイメージ配信システム
JP5724154B2 (ja) * 2013-05-16 2015-05-27 株式会社Skeed データ配信システム、データ配信のためのデータ通信装置およびプログラム
CN105359536B (zh) 2013-07-17 2020-07-24 索尼公司 内容供给装置及方法、终端装置、以及内容供给系统
CN104753630A (zh) * 2013-12-27 2015-07-01 中兴通讯股份有限公司 一种数据传输方法和系统
JP6426901B2 (ja) 2014-03-14 2018-11-21 富士通クライアントコンピューティング株式会社 配信方法、再生装置、配信装置、転送制御プログラムおよび配信制御プログラム
US10306021B1 (en) * 2014-08-21 2019-05-28 Amazon Technologies, Inc. Streaming content to multiple clients
US10893266B2 (en) * 2014-10-07 2021-01-12 Disney Enterprises, Inc. Method and system for optimizing bitrate selection
CN105656794B (zh) * 2014-11-14 2019-03-08 腾讯科技(深圳)有限公司 数据分发方法、装置及计算机可读存储介质
CN105656978B (zh) * 2014-12-04 2019-06-25 中国移动通信集团公司 一种资源共享方法及装置
US10516892B2 (en) 2015-09-28 2019-12-24 Cybrook Inc. Initial bandwidth estimation for real-time video transmission
US10756997B2 (en) 2015-09-28 2020-08-25 Cybrook Inc. Bandwidth adjustment for real-time video transmission
US10506257B2 (en) 2015-09-28 2019-12-10 Cybrook Inc. Method and system of video processing with back channel message management
US10506245B2 (en) 2015-11-18 2019-12-10 Cybrook Inc. Video data processing using a ring buffer
US10506283B2 (en) * 2015-11-18 2019-12-10 Cybrook Inc. Video decoding and rendering using combined jitter and frame buffer
TWI586156B (zh) * 2015-12-04 2017-06-01 鴻海精密工業股份有限公司 流媒體資料傳輸系統、傳輸方法及資料分佈伺服器
CN105549992A (zh) * 2015-12-08 2016-05-04 北京奇虎科技有限公司 一种代码发布方法、装置和系统
KR102283635B1 (ko) * 2020-11-11 2021-07-30 (주)소셜인프라테크 복수 개의 노드 간 트랜잭션 정보의 상호 공유를 통한 디지털 콘텐츠 거래 중개 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940012961A (ko) * 1992-11-27 1994-06-24 윌리엄 티. 엘리스 메시지의 멀티캐스트 방법 및 시스템
KR20020009591A (ko) * 1999-04-15 2002-02-01 스카이스트림 네트워크스 인코포레이티드 데이터 방송 시스템

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095444A (en) * 1989-12-21 1992-03-10 Legent Corporation System and method for measuring inter-nodal transmission delays in a communications network
US5864854A (en) * 1996-01-05 1999-01-26 Lsi Logic Corporation System and method for maintaining a shared cache look-up table
US5790541A (en) * 1996-04-01 1998-08-04 Motorola, Inc. Apparatus, method, system and system method for distributed routing in a multipoint communication system
US5778187A (en) * 1996-05-09 1998-07-07 Netcast Communications Corp. Multicasting method and apparatus
US5946316A (en) * 1997-01-17 1999-08-31 Lucent Technologies, Inc. Dynamic distributed multicast routing protocol
US6622157B1 (en) * 1998-09-28 2003-09-16 Certeon, Inc. Extending network services using mobile agents
US6850965B2 (en) * 1998-11-17 2005-02-01 Arthur Douglas Allen Method for connection acceptance and rapid determination of optimal multi-media content delivery over network
US6502140B1 (en) * 1999-01-29 2002-12-31 International Business Machines Corporation Multicast support for small groups
EP1063814A1 (en) * 1999-06-24 2000-12-27 Alcatel A method to forward a multicast packet
JP2001036549A (ja) * 1999-07-15 2001-02-09 Toshiba Corp データ処理システムおよびタイムスタンプ生成方法
JP3878373B2 (ja) * 1999-11-30 2007-02-07 富士通株式会社 動的情報バス生成方法及びサブネット管理装置
JP3793941B2 (ja) * 2000-02-24 2006-07-05 株式会社日立製作所 映像配送システムにおけるビデオサーバ装置およびその映像配送方法。
JP3478259B2 (ja) * 2000-10-23 2003-12-15 日本電信電話株式会社 ストリーム中継制御装置、ストリーム中継制御システム、ストリーム中継制御方法,ならびに該方法を記録した記録媒体
JP3904885B2 (ja) * 2000-11-30 2007-04-11 富士通株式会社 データの配布経路を生成する装置および方法
US20030115351A1 (en) * 2001-12-14 2003-06-19 Giobbi John J. Digital content distribution system and method
JP2003069639A (ja) * 2001-08-27 2003-03-07 Nec Corp xDSL収容装置、マルチキャスト配信システム及びデータ配信方法
KR100391016B1 (ko) * 2001-08-29 2003-07-12 한국전자통신연구원 엑스캐스트를 이용한 멀티캐스트 데이터 전송 방법
US20040030929A1 (en) * 2001-11-06 2004-02-12 Depeng Bi Digital audio and video distribution transmission and playback
US7304955B2 (en) * 2002-03-28 2007-12-04 Motorola, Inc. Scalable IP multicast with efficient forwarding cache
US7317721B1 (en) * 2002-04-12 2008-01-08 Juniper Networks, Inc. Systems and methods for memory utilization during packet forwarding
US7305483B2 (en) * 2002-04-25 2007-12-04 Yahoo! Inc. Method for the real-time distribution of streaming data on a network
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7289503B1 (en) * 2002-07-10 2007-10-30 Juniper Networks, Inc. Systems and methods for efficient multicast handling
US7263099B1 (en) * 2002-08-14 2007-08-28 Juniper Networks, Inc. Multicast packet replication
US7519054B2 (en) * 2005-01-27 2009-04-14 Intel Corporation Replication of multicast data packets in a multi-stage switching system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940012961A (ko) * 1992-11-27 1994-06-24 윌리엄 티. 엘리스 메시지의 멀티캐스트 방법 및 시스템
KR20020009591A (ko) * 1999-04-15 2002-02-01 스카이스트림 네트워크스 인코포레이티드 데이터 방송 시스템

Also Published As

Publication number Publication date
TW200402217A (en) 2004-02-01
EP1533952A4 (en) 2009-01-14
KR20050007533A (ko) 2005-01-19
US20060168104A1 (en) 2006-07-27
US8130757B2 (en) 2012-03-06
JP4034780B2 (ja) 2008-01-16
EP1533952A1 (en) 2005-05-25
TWI265697B (en) 2006-11-01
WO2003105421A1 (ja) 2003-12-18
US20100067534A1 (en) 2010-03-18
AU2003242053A1 (en) 2003-12-22
JPWO2003105421A1 (ja) 2005-10-13
CN1656749A (zh) 2005-08-17
US7809850B2 (en) 2010-10-05
CN1656749B (zh) 2011-01-12

Similar Documents

Publication Publication Date Title
KR100754293B1 (ko) 디지털 콘텐츠 배포 시스템, 디지털 콘텐츠 배포 방법, 이 방법을 실행하기 위한 프로그램을 기억한 컴퓨터 판독 가능한 기록 매체, 및 이를 위한 서버 및 클라이언트
US9426195B2 (en) System and method for distribution of data packets utilizing an intelligent distribution network
US20050108419A1 (en) Multicast peering
US11057319B2 (en) System and method for recovery of packets in overlay networks
Zhang et al. RSVP: A new resource reservation protocol
US8943206B2 (en) Network bandwidth detection and distribution
US20050015511A1 (en) Accelerated large data distribution in overlay networks
Li et al. Internet multicast routing and transport control protocols
JP3731885B2 (ja) ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、そのためのサーバ、クライアント、サーバとしてコンピュータを制御するためのコンピュータ実行可能なプログラムおよびクライアントとしてコンピュータを制御するためのコンピュータ実行可能なプログラム
JP2001251360A (ja) パケットネットワークにおけるリアルタイムメディアコンテンツを伝送し同期化するシステム及び方法
Maxemchuk et al. A cooperative packet recovery protocol for multicast video
JP7473025B2 (ja) コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム
Radenkovic et al. Multi-party distributed audio service with TCP fairness
Su et al. Optimal chaining scheme for video-on-demand applications on collaborative networks
US20070204005A1 (en) Multicast peering
Yamamoto Multicast Communications--Present and Future
Hasegawa et al. IP-based HDTV broadcasting system architecture with non-stop service availability
Lucas et al. Distributed Error Recovery for Continuous Media Data in Wide-Area Multicast
Shi A proposal for a scalable internet multicast architecture
WO2002008856A2 (en) Method and system for data delivery with guaranteed quality of service
JP2004260655A (ja) ネットワーク帯域管理方法及びシステム
Krishnamohan TIDE: A scalable continuous-media caching network
Arntsen Maintenance of receiver groups in TCP-friendly multicast for wide-area video distribution
Delgrossi et al. The Internet Stream Protocol
Chayat Applying Deterministic Procedures to Reliable Multicast Protocols

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 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20100429

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee