KR20020092576A - 멀티캐스트 웹방송 시스템 및 그 방법 - Google Patents

멀티캐스트 웹방송 시스템 및 그 방법 Download PDF

Info

Publication number
KR20020092576A
KR20020092576A KR1020010031252A KR20010031252A KR20020092576A KR 20020092576 A KR20020092576 A KR 20020092576A KR 1020010031252 A KR1020010031252 A KR 1020010031252A KR 20010031252 A KR20010031252 A KR 20010031252A KR 20020092576 A KR20020092576 A KR 20020092576A
Authority
KR
South Korea
Prior art keywords
client
web broadcasting
web
server
multicast
Prior art date
Application number
KR1020010031252A
Other languages
English (en)
Inventor
배우성
Original Assignee
주식회사 제이엠지코리아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 제이엠지코리아 filed Critical 주식회사 제이엠지코리아
Priority to KR1020010031252A priority Critical patent/KR20020092576A/ko
Publication of KR20020092576A publication Critical patent/KR20020092576A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Abstract

본 발명은 임의의 클라이언트로부터 웹방송 서비스의 요청이 있게 되면, 웹방송 서버는 요청 클라이언트와 같은 그룹에 있는 다른 클라이언트나 또는 가장 인근에 있는 클라이언트를 찾아서, 그 클라이언트에게 요청 클라이언트로 멀티캐스트 웹방송 서비스를 할 수 있도록 하는 멀티캐스트 웹방송 시스템 및 그 방법에 관한 것이다.
본 발명은 인터넷을 통해 다수의 클라이언트에게 멀티캐스트 웹방송 서비스를 실행하는 웹방송 서버가 이를 위한 제어메시지를 임의의 클라이언트에게 전송할 수 있도록 된 멀티캐스트 웹방송 방법에 있어서, 상기 다수의 클라이언트에게 웹페이지를 통해 멀티캐스트 웹방송에 관한 소개와 채널 선택을 위한 메뉴를 제공하는 단계, 접속하게 될 클라이언트와 접속중인 클라이언트에 대한 정보를 검색하는데 필요한 구성요소를 점검하는 단계, 웹방송 서비스되고 있는 네트워크 상태를 모니터링하는 단계, 임의의 클라이언트로부터의 웹방송 서비스 요청이 있는가를 판단하는 단계, 상기 요청 클라이언트의 정보를 근거로 해당 라우팅 정보를 검색하는 단계, 라우팅 정보를 검색하여 요청 클라이언트와 같은 그룹에 속하는 클라이언트 또는 가장 인근에 위치한 클라이언트를 검색하는 단계, 검색된 다른 클라이언트에게 요청 클라이언트로 멀티캐스트 웹방송을 서비스하도록 하는 제어메시지를 송출하는 단계를 통하여 실현하게 된다.
따라서, 본 발명에 의하면 웹방송 서버에 대한 부하를 줄일 수 있고, 실제적인 장비의 증설없이 소프트웨어적으로 더욱 많은 클라이언트들에게 멀티캐스트 웹방송 서비스를 실시할 수 있는 효과가 있다.

Description

멀티캐스트 웹방송 시스템 및 그 방법{Method and system for providing multicast broadcasting}
본 발명은 멀티캐스트 웹방송 시스템 및 그 방법에 관한 것으로, 더욱 상세하게는 웹방송 서버에서 그룹 클라이언트들에게 비디오 데이터를 전송함에 있어서 장비의 증설 없이 소프트웨어적으로 제어하고 전송하여, 각 클라이언트들에게 이 비디오 데이터를 실시간으로 멀티캐스트 웹방송 서비스 할 수 있도록 된 멀티캐스트 웹방송 시스템 및 그 방법에 관한 것이다.
인터넷에 대한 수요가 급증하게 되면서 이를 이용하는 클라이언트들에게 다양한 서비스를 제공하려는 웹서버측의 노력이 증가하고 있다.
이러한 노력의 일환으로 인터넷을 통해 각각의 클라이언트들에게 화상이나 음성 데이터를 다양한 형태로 제공하는 기술들이 등장하고 있으며, 특히 동영상을 통해 영화나 화상회의 등의 웹서비스를 제공하는 기술들이 늘고 있다.
현재, 동영상이나 화상데이터 등을 전송하는 방식에는, 하나의 송신자가 하나의 수신자에게 데이터를 전송하는 유니캐스트(Unicast)방식과, 하나의 송신자가 같은 서브 네트워크상의 다수의 수신자에게 무차별적으로 데이터를 전송하는 브로드캐스트(Broadcast)방식, 하나의 송신자가 그 데이터를 요구하는 하나 이상의 수신자들에게 전송하는 멀티캐스트(Multicast)방식 등이 있다.
유니캐스트 방식에서는 수신자의 수만큼 데이터 패킷을 반복해서 보내야 하기 때문에 통신망의 효율을 저하시킬 뿐만 아니라 보내는 이의 전송 부담도 크다. 따라서, 사업자 입장에서 유니캐스트 방식은 장비, 전용선 투자 규모에 따른 접속자 수의 한계로 비용 대비 수익을 내기가 어렵다.
또한, 데이터 송신자가 전송 패킷의 헤드(Head)에 수신자의 인터넷 주소를 표시하여 전송하며, 각 클라이언트들에게 전송 데이터를 별도로 보내 주어야 한다.
유니캐스트 방식의 경우, 서버에 10 Mbps 이더넷(Ethernet) 인터페이스가 있는 경우, 서버 대 클라이언트 스트림이 여섯 개 또는 일곱 개만 되어도 네트워크 인터페이스는 포화상태가 된다. 기가비트 이더넷 인터페이스를 갖춘 고성능 서버라고 하더라도 250에서 300개의 1.5 Mbps 비디오 스트림이 실질적인 한계이다.
한 개 이상의 스트림을 전송하는 경우, 서버 인터페이스 용량에 심각한 병목 현상이 발생하여 비디오 서버의 유니캐스트 비디오 스트림의 숫자에 제약이 생긴다. 유니캐스트 전송은 네트워크 내부의 여러 대역폭을 소비하기 때문에 이것이 또다른 심각한 제약으로 작용한다.
유니캐스트 전송에서 클라이언트가 원하는 데이터를 클라이언트가 필요로 하는 시간에 공급하기 위해서는 요청한 자료를 준비하여 요청한 사람 수 만큼의 비디오 스트림을 보내야 한다. 이때, 네트워크에는 사용자수 만큼의 데이터들이 전송되게 되어 충분한 대역폭(Bandwidth)이 보장되어야만 만족스러운 서비스가 가능하다.
하지만, 충분한 대역폭이 보장되었다고 하더라도 비디오 스트림을 공급해주는 서버의 용량이 적다면 그 서비스 또한 불안하게 된다. 그러므로, 네트워크나 시스템 관리자 입장에서 본다면 네트워크나 비디오 데이터를 전송하는 시스템 관리에 애로점이 있으며, 시스템 구축 비용도 많이 소요된다.
한편, 브로드캐스트 방식은 하나의 비디오 데이터를 원하던 원하지 않던 네트워크에 연결되어 있는 모든 PC(Personal Computer)에 전송하는 방식으로서, 모든 PC는 비디오 데이터에 관심이 있든지 혹은 없든지 그 데이터를 실행해야 한다.
따라서, 네트워크상에는 트래픽 증가로 인한 속도 저하의 문제점이 있음과 동시에 불필요한 자료가 전송되어 네트워크 자원이 낭비되는 문제가 있다.
이러한 이유로 하여, 다자간 화상회의와 같은 대화형 인터넷 기능에서는 음성 및 화상 데이터의 실시간 전송이 필요하므로, 동시에 여러 명이 데이터를 주고받는 멀티캐스트 방식이 필수적이다.
멀티캐스트 방식은 화상 회의 이외에도 인터넷상에서 전자메일, 주식 입찰가 공고, 뉴스 전달, 데이터베이스 복제, 소프트웨어 다운로드, 웹사이트 캐싱 등의 분야에 다양하게 적용된다.
멀티캐스트 환경에서 비디오 서버는 숫자에 관계없이 각 멀티캐스트 그룹에 속해 있는 지정된 클라이언트에게 동일 비디오 스트림을 전송하고, 전송된 비디오 스트림은 네트워크의 멀티캐스트 라우터 및 스위치의 필요에 따라 복제되어 다수의 클라이언트들에게 제공된다.
멀티캐스트 기술은 그 선별성과 편리성 때문에 인터넷 정보제공업(IP)의 발전에 큰 몫을 차지하였다. IP 멀티캐스팅에서는 호스트가 멀티캐스트 그룹에 참여하거나 탈퇴할 수 있고, IGMP(Internet Group Management Protocol)이 포함되어 있어 그룹 멤버십 정보를 관리할 수 있다.
즉, 멀티캐스트 전송방식은 요구되지도 않은 데이터를 중복하여 전송함으로 인한 네트워크 자원낭비를 막고, 그 정보를 필요로 하지 않는 곳에는 부담을 주지 않으면서 실시간 공동작업을 효율적으로 보장하는 전송기법이다
그러나, 멀티캐스트 방식으로 데이터를 전송하기 위해서는 네트워크 구조 자체가 멀티캐스트를 수용할 수 있는 장비로 구성되어야 하며 동시에 멀티캐스트 전송용 어플리케이션도 필요하다.
따라서, 인터넷 환경의 취약한 수익구조 속에서 웹서버측의 장비 증설에 따른 비용은 큰 부담으로 작용하는 한편, 클라이언트를 포함한 이용자 컴퓨터의 성능향상에 따라 서비스 품질도 지속적으로 개선해야 하는 문제에 직면하게 되었다.
본 발명은 상기와 같은 문제점들을 해결하기 위해 창출된 것으로서, 웹방송 서버에서 그룹 클라이언트들에게 비디오 데이터를 전송함에 장비증설 없이 소프트웨어적으로 제어 전송하여, 각 클라이언트들에게 이 비디오 데이터를 실시간으로 멀티캐스트 웹방송 서비스 할 수 있도록 구성된 멀티캐스트 웹방송 시스템 및 그 방법을 제공함에 목적이 있다.
본 발명의 목적에 따르면, 인터넷을 통해 다수의 클라이언트에게 멀티캐스트 웹방송 서비스를 실행하는 웹방송 서버가 이를 위한 제어메시지를 임의의 클라이언트에게 전송할 수 있도록 된 멀티캐스트 웹방송 방법에 있어서, 상기 다수의 클라이언트에게 웹페이지를 통해 멀티캐스트 웹방송에 관한 소개와 채널 선택을 위한 메뉴를 제공하는 단계, 접속하게 될 클라이언트와 접속중인 클라이언트에 대한 정보를 검색하는데 필요한 구성요소를 점검하는 단계, 웹방송 서비스되고 있는 네트워크 상태를 모니터링하는 단계, 임의의 클라이언트로부터의 웹방송 서비스 요청이 있는가를 판단하는 단계, 상기 요청 클라이언트의 정보를 근거로 해당 라우팅 정보를 검색하는 단계, 라우팅 정보를 검색하여 요청 클라이언트와 같은 그룹에 속하는 클라이언트 또는 가장 인근에 위치한 클라이언트를 검색하는 단계, 검색된 다른 클라이언트에게 요청 클라이언트로 멀티캐스트 웹방송을 서비스하도록 하는 제어메시지를 송출하는 단계를 포함하여 구성된 것을 특징으로 하는 멀티캐스트 웹방송 방법이 제공된다.
본 발명의 다른 목적에 따르면, 인터넷을 통해 다수의 클라이언트들에게 멀티캐스트 웹방송 서비스를 실시하는 멀티캐스트 웹방송 시스템에 있어서, 상기 다수의 클라이언트들에게 제공할 웹방송 데이터를 종류에 따라 다양하게 구비하는 다수의 스테이션과, 상기 다수의 클라이언트들과 제어 메시지를 송수신하는 네트워킹에 필요한 데이터를 정의해 놓은 구성 매니저, 상기 다수의 클라이언트들과의 네트워킹에서 클라이언트들의 정보를 유지함과 더불어 클라이언트들의 상태를 모니터링하기 위한 클라이언트 매니저, 상기 스테이션들의 웹방송 데이터를 독출하고, 독출된 동영상 데이터를 해당 클라이언트에게 제공하는 AN서버로 구성된 웹방송 서버와, 상기 인터넷으로부터 인가되는 패킷을 변환하여 인터페이스를 실행하는 네트워크 인터페이스 카드와, 상기 AN서버로부터의 제어 메시지를 수신하여 그에 따른 처리를 실행함으로써, 사용자에게 멀티미디어 서비스를 제공하기 위한 AN 워크스테이션, 상기 인터넷과의 연결을 위한 화면 제공 프로그램인 웹브라우저, 상기 AN 워크스테이션의 프로그램에 따라 구동됨과 더불어 사용자가 모니터 화면상의 출력화면을 근거로 네트워킹 또는 멀티미디어 서비스를 선택 및 이용할 수 있도록 해주는 GUI 화면을 제공하기 위한 네트워크 매니저, 상기 네트워크 인터페이스 카드를 통해 인터넷으로부터 인가되는 음성과 화상 또는 동영상의 웹방송 데이터를 시각적으로 출력하는 미디어플레이어, 이 미디어 플레이어를 통한 웹방송 데이터의 출력 제어 및 웹방송 데이터를 다른 클라이언트로 전송하는 것을 제어하는 제어부를 포함하는 상기 클라이언트를 포함하되, 상기 AN서버는 임의의 클라이언트로부터 웹방송 서비스의 요청이 있게 되면, 웹방송 서비스가 실시되고 있는 클라이언트 그룹 중 웹방송 서비스를 요청한 클라이언트가 속하거나 또는 가장 인근에 위치한 클라이언트 그룹의 호스트에게 웹방송 서비스를 실행하도록 하는 메시지를 전송 제어하는 것을 특징으로 하는 멀티캐스트 웹방송 시스템이 제공된다.
도1은 본 발명에 따른 멀티캐스트 웹방송 시스템의 개략도.
도2는 도1의 AN서버(42)를 상세하게 설명하기 위해 나타낸 도면.
도3은 도1의 클라이언트(20) 내부 구성을 나타내는 블럭구성도.
도4는 도2의 구성 매니저(60)의 기능을 소프트웨어적으로 구현한 도면.
도5는 도2의 클라이언트 매니저(90)의 구체적 실현을 소프트웨어적으로 나타낸 도면.
도6은 본 발명의 실시예에 따른 멀티캐스트 웹방송 방법을 설명하기 위한 순서도.
도7은 도1의 클라이언트(20)의 동작을 설명하기 위한 순서도.
도8은 클라이언트A2(21)에서 요청 클라이언트A1(20)로의 웹방송 데이터 흐름을 나타낸 도면.
도9는 클라이언트B2(24)에서 다른 그룹의 클라이언트A1(20)로의 웹방송 데이터 흐름을 나타낸 도면.
도10은 도1의 AN서버(42)와 클라이언트(20 ~ 28)간 전송 프로토콜에 따른 기본적인 전송 데이터 프레임 구조를 나타낸 도면.
도11은 AN서버(42)가 검색된 클라이언트에게 요청 클라이언트로 웹방송 서비스를 실행하도록 하는 제어 메시지의 데이터 프레임 구성도.
도12는 AN서버(42)가 웹방송 서비스하는 클라이언트에게 요청 클라이언트로 웹방송 서비스의 실행을 중지하도록 하는 제어 메시지의 데이터 프레임 구성도.
도13은 AN서버(42)가 클라이언트에게 웹방송 서비스의 안내와 메뉴를 표시 출력하는 웹페이지를 나타낸 도면.
도14는 클라이언트에서 AN서버(42)로 대역폭 정보를 알리는 제어 메시지의 전송 데이터 프레임 구성도.
도15는 AN서버(42)로 클라이언트 정보를 알리는 제어 메시지의 전송 데이터 프레임 구성도.
도16은 AN서버(42)의 멀티캐스트 웹방송을 위한 메인 세팅을 할 수 있도록 제공되는 출력화면을 나타낸 도면.
도17은 클라이언트들에게 제공되고 있는 웹방송 서비스 네트워크 상태를 모니터링 결과의 출력화면을 나타낸 도면.
♣ 도면의 주요부분에 대한 부호의 설명 ♣
10 : 인터넷20 ~ 28 : 클라이언트
31 ~ 33 : 라우터40 : 웹방송 서버
41 : 윈도우 미디어 서버42 : AN 서버
50 ~ 54 : 스테이션60 : 구성 매니저
70 ~ 74 : 스테이션 프로시저80 ~ 84 : 커넥션 매니지 스레드
110 : 네트워크 인터페이스 카드120 : AN 워크스테이션
130 : 웹브라우저140 : 네트워크 매니저
150 : 미디어 플레이어160 : 제어부
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.
인터넷에서 멀티캐스팅을 지원하는 컴퓨터간의 가상 네트워크를 엠본(MBone)이라고 한다. 엠본은 한개의 인터넷 주소로 특정 그룹에 참여하는 모든 사람에게 동일한 데이터를 전달할 수 있다.
도 1은 본 발명에 따른 멀티캐스트 웹방송 시스템을 설명하기 위한 개략적인블럭 구성도이다.
도 1 에서, 참조번호 10은 원격지에 흩어져 있는 컴퓨터들이 통신을 통해 데이터를 송수신하기 위한 네트워크인 인터넷이고, 참조번호 20 ~ 28은 이 인터넷(10)을 통해 이후에 설명할 웹방송 서버(40)에 접속하여 웹방송 서비스를 요청하는 클라이언트(A1 ~ Cn), 참조번호 31 ~ 33은 상기 인터넷(10)을 통해 전송되는 데이터의 경로를 설정하고 이를 위한 스위칭 기능을 하는 라우터이다.
도 1 에 도시된 바와 같이, 상기 인터넷(10)을 통해 라우터1(31)에는 클라이언트A1, 클라이언트A2, ···, 클라이언트An가 물리적으로 연결되어 있고, 라우터2(32)에는 클라이언트B1, 클라이언트B2, ···, 클라이언트Bn가, 라우터3(33)에는 클라이언트C1, 클라이언트C2, ···, 클라이언트Cn가 연결되어 있다.
즉, 같은 서브넷 마스크(Subnetmask)의 인터넷 주소를 가지는 라우터1(31)에 연결되어 있는 클라이언트A1 내지 클라이언트An 간에는 단일 수신자 그룹으로서 위에서 서술한 인터넷 네트워크인 엠본이 형성되는 것이다.
마찬가지로, 라우터2(32)에 연결되어 있는 클라이언트B1와 클라이언트B2, 클라이언트Bn 사이에도 엠본이 형성되게 되며, 라우터3(33)에 연결되어 있는 클라이언트C1, 클라이언트C2, 클라이언트Cn 사이에도 엠본이 형성되게 된다.
이렇게 같은 서브넷 마스크를 갖는 클라이언트 그룹 내에서, 다시 말하자면 엠본상에서의 데이터 전송은 멀티캐스트 방식이 가능한 것이다.
또한, 상기 라우터들은 인터넷(10)으로부터 입력되는 IP패킷을이더넷(Ethernet) 프레임의 데이터로 변환하여 자신이 관장하는 클라이언트로 출력하고, 클라이언트로부터 입력되는 이더넷 프레임을 IP패킷으로 변환하여 인터넷(10)으로 루팅하게 된다.
한편, TCP/IP는 IP를 포함해 총 7개의 프로토콜로 구성된 집합체로서, 네트워크 표준모델로 제시된 OSI(Open System Interconnect) 7 계층의 제 1, 제 2 계층(물리, 데이터링크 계층)을 제외한 제 3∼7 계층에 걸쳐 포함되어 있다.
IP는 OSI 모델 가운데 제 3 계층인 네트워크 계층에 위치하는 것으로 라우터상에서 처리되는 프로토콜이다. TCP와 UDP(User Datagram Protocol)는 OSI 7계층 가운데 4번째 계층에서 활동하는 프로토콜로 주로 데이터 전송을 담당한다. 파일전송, 전자메일 등은 TCP를 통해 운용되며 네트워크 관리는 UDP를 통해 이루어진다.
멀티캐스트 전송 기술은 데이터 링크 계층(제2계층)과 네트워크 계층(제3계층)에서 모두 사용할 수 있으며, 이 때 수신자들 그룹과 통신하는 데 사용되는 제3계층 주소가 있어야 한다.
또한, 제 3 계층 조소를 이용하는 것 이외에도 상기 주소를 물리적 네트워크의 제 2 계층 멀티캐스트 주소에 매핑하는 방법이 있는데, IP 네트워크의 경우 멀티캐스트 어드레싱을 위한 D 클래스 주소가 설정되어 있다.
하나의 D 클래스 주소는 첫째 옥텟(Octet)의 상위 비트가 '1110'으로, 그 다음에 임의의 28비트 그룹 주소가 이어져 있는 형태로 구성된다. IP 멀티캐스트 주소를 이더넷 주소로 매핑하는 경우, 클래스 D 주소의 하위 23비트가 멀티캐스트용으로 예비된 이더넷 주소 블럭에 매핑된다.
상술된 매핑 구조에 의해 각 이더넷 멀티캐스트 주소는 IP 멀티캐스트 주소와 일치한다. 이는 멀티캐스트를 수신하는 호스트가 동일한 계층의 멀티캐스트 주소에 의해 다른 그룹으로 포워딩(Forwarding)되는 불필요한 멀티캐스트 패킷을 제외할 수 있다는 것을 의미한다.
이더넷 멀티캐스트 주소는 목적지 주소의 첫째 바이트가 '01'로 되어 있어 네트워크 인터페이스에서 유니캐스트 패킷과 쉽게 구분되어진다.
IP 네트워크의 경우, 상기 라우터와 클라이언트 사이의 IP 데이터그램 프로토콜로서 IGMP가 이용되는데, 호스트가 라우터에게 IGMP 보고를 보내거나 참가함으로써 그룹의 일원이 된다.
상기 라우터들은 자신에게 연결되어 있는 클라이언트를 통해 주기적으로 '쿼리'를 보내어 현재 어떤 클라이언트가 그룹의 구성으로 남아 있는지를 파악한다. 하나의 클라이언트가 그룹 구성원으로 남고자 하는 경우, 해당 클라이언트는 보고를 통해 상기 쿼리에 응답한다.
상기 과정에서 클라이언트가 아무런 보고를 하지 않으면 라우터는 그룹 목록을 정리하여 불필요한 전송을 최소화한다. 만약, 연결되어 있는 라우터로부터 클라이언트가 탈퇴하고자 할 경우에는, 라우터에게로 '탈퇴' 메시지를 보냄으로써 해당 라우터가 더 이상 멀티캐스트 그룹의 일원이 아니라는 것을 알리게 된다.
도시된 도 1에서 참조번호 40은 상기 클라이언트(20 ~ 28)들에게 웹방송 서비스를 제공하는 웹방송 서버이고, 41은 음성데이터 또는 화상이나 동영상 데이터를 시청각적으로 제공하기 위한 윈도우 미디어 서버, 42는 상기 클라이언트(20 ~28)들로부터 비디오 데이터를 수신하고자 하는 웹방송 서비스의 요청이 있게 되면, 웹방송 서비스가 실시되고 있는 클라이언트 그룹 중 웹방송 요청을 한 클라이언트가 속하거나 또는 가장 인근에 위치한 클라이언트에게 웹방송 서비스를 실행하도록 하는 메시지를 전송 제어하는 AN(AnyNetworker)서버이다.
상기 웹방송 서버(40)는 TCP/IP를 기반으로 인터넷(10)에 결합되어, IP패킷(Internet Protocol Packet)에 기반하여 인터넷을 경유하여 각종 데이터를 송수신하게 된다. 그리고, 인터넷(10)을 경유하여 수신되는 IP 패킷을 근거로 멀티미디어 서비스를 위한, 예컨대, MPEG-4 TS(Transport Stream) 패킷을 생성하고, 이때 생성된 패킷 데이터를 인터넷(10)으로 송출하게 된다.
상기 클라이언트(20)의 그 내부 구성은 도 3을 통해 도시하였는데, 이는 상기 인터넷(10)으로부터 인가되는 IP 패킷을 이더넷 패킷으로 변환하고 이후에 설명할 제어부(160)로 전달하여 인터페이스를 실행하는 네트워크 인터페이스 카드 (110: Network Interface Card, 이하 NIC라 칭함)와, 상기 AN서버(42)로부터의 제어 메시지를 수신하여 그에 따른 처리를 실행함으로써, 사용자에게 멀티미디어 서비스를 제공하기 위한 AN 워크스테이션(120)과, 상기 인터넷(10)과의 연결을 위한 화면 제공 프로그램인 웹브라우저(130)를 포함한다.
또한 여기에, 상기 AN 워크스테이션(120) 프로그램의 제어에 따라 구동됨과 더불어 사용자가 모니터 화면상의 출력 화면을 근거로 네트워킹 또는 멀티미디어 서비스를 선택 및 이용할 수 있도록 해주는 GUI(Graphic User Interface) 화면을 제공하기 위한 네트워크 매니저(140)와, 상기 NIC(110)를 통해 인터넷(10)으로부터인가되는 음성과 화상 또는 동영상의 웹방송 데이터를 시각적으로 출력하는 미디어플레이어(150), 웹방송 데이터의 출력 및 다른 클라이언트로 전송하는 것과 장치 전반의 동작을 제어하는 제어부(160)를 더 구비하게 된다.
도 2는 도 1에 도시된 AN서버(42)의 기능을 좀 더 구체적으로 설명하기 위한 기능블럭도를 나타낸 것이다.
도 2에서, 상기 AN서버(42)는 먼저 클라이언트(20 ~ 28)들에게 제공할 웹방송 자료를 다양하게 구비하는 스테이션(50 ~ 54)과, 상기 AN서버(42)가 멀티캐스트 웹방송을 제공하기 위해 클라이언트(20 ~ 28)들과 제어 메시지를 송수신하는 네트워킹에 필요한 데이터를 정의해 놓은 구성 매니저(60), 상기 클라이언트(20 ~ 28)들과의 네트워킹에서 클라이언트들의 정보를 유지함과 더불어 클라이언트들의 상태를 모니터링하기 위한 클라이언트 매니저(90)를 포함한다.
그리고, 여기에 상기 스테이션(50 ~ 54)들의 동영상 데이터를 각각 독출(讀出)하는 스테이션 프로시저(70 ~ 74)들과, 이 독출된 동영상 데이터를 해당 클라이언트에게 제공하는 것을 담당하는 커넥션 매니지 스레드(Connection Manage Thread:80 ~ 84) 및 상술된 기능을 총괄 제어하는 AN제어부(100)를 포함하여 구성된다.
도 2의 구성 중, 스테이션1(50)에는 예컨대 3차원 입체 애니메이션 영화 '캐스퍼'가, 스테이션2(51)에는 음악연주 실황에 관한 '호세카레라스'가, 스테이션3(52)에는 인기 연예인의 CF 광고에 관한 엔터테인먼트 '신디크로포드', 스테이션n-1(53)에는 증권 정보 중계 데이터가, 스테이션n(54)에는 쇼핑몰과 경매중계 등의 동영상 데이터가 화일형태로 구비되게 된다.
또한, 상기 구성 매니저(60)의 기능을 소프트웨어적으로 구현하기 위해 도 4를 통해 그 일부를 나타내어 도시하였다.
즉, 구성 매니저(60)는 상기 AN서버(40) 구성에 필요한 데이터로써 스테이션명(Station Name), 서버 소켓(Server Socket), 베이스 윈도우, 리스트 윈도우, AN 서버포트, 멀티캐스트 IP, 멀티캐스트 포트, 상태 플래그, 대역폭(Bandwidth), 비디오데이터 사이즈 등을 정의하고, 조성 파일(CFG File), 스테이션 번호, 조성 데이터(CFG Data), 생성 스테이션, 삭제 스테이션, 연결 스테이션, 검색 파라미터, 전송 메시지 등을 셋팅하게 된다.
또한, 도시한 도 5를 통해서는 상기 도 2의 클라이언트 매니저(90)의 구체적 실현을 소프트웨어적으로 나타내어 도시하였다.
도 5에서는, 상기 AN서버(40)가 클라이언트와 네트워킹 하는 중에 클라이언트의 정보를 유지하기 위해 키번호(keynum), TCP 소켓, UDP 소켓, 클라이언트 IP, 넷마스트(NetMask), 방화벽 IP, 라우터 정보, 액세스 시간, 상실 패킷, 대역폭, TCP전송 플래그, 포워드 플래그(Forward Flag) 등의 데이터를 정의하고, 이에 대한 정보를 모니터링하여 사용자가 볼 수 있도록 하기 위해 출력 화면에 대한 사이즈(Msize, SMsize, UMsize, UUsize, TUsize, TotalSendSize)와, 새로 추가된 클라이언트 리스트, 삭제된 클라이언트 리스트, 키카운트(KeyCount), 클라이언트 체크, 포워드 데이터 등에 관한 사항을 세팅하게 된다.
이어, 도 6과 도 7에 도시된 동작 순서도를 참조하여 본 발명에 따른 멀티캐스트 웹방송 시스템의 동작을 상세하게 설명한다.
도 6은 본 발명에 따른 멀티캐스트 웹방송 시스템에서 웹방송 서버(40)의 동작을 설명하기 위한 순서도이고, 도 7은 상기 웹방송 서버(40)에 대한 클라이언트의 웹방송 요청과 그에 따른 멀티캐스트 방법을 나타낸 순서도이다.
먼저, 본 발명에 따른 멀티캐스트 웹방송 시스템에 있어서는 웹방송 서버(40)가 프로그램적으로 설치되어 있는 AN서버(42)를 통해 다수의 클라이언트(20 ~ 28)들에게 웹방송을 멀티캐스트 방식으로 제공하기 위한 자체 시스템을 세팅하게 된다.
즉, AN서버(40)에 의해 도 4에 도시한 바와 같은 내용으로 구성 매니저(60)를 구동하여 시스템 운용에 필요한 구성 요소를 세팅함과 더불어 도 5에 도시한 바와 같은 내용으로 접속하게 될 클라이언트들에 대한 정보를 얻기 위한 작업을 수행하게 되는 것이다.
상기 웹방송 서버(40)가 AN서버(42)를 구동하게 되면 도 16에 도시된 바와 같이 멀티캐스트 웹방송을 위한 메인 세팅을 할 수 있도록 출력 화면이 제공되고, 이를 확인한 관리자가 웹방송 서버(40) 운용에 필요한 적절한 데이터 등을 입력함으로써 세팅을 수행하게 된다.
이와 같은 과정으로 AN서버(42)에 의한 세팅이 완료되면, 웹방송 서버(40)는 웹페이지를 통해 도 13에 도시된 바와 같이 웹방송에 관한 전체적인 소개와 및 채널 선택을 위한 메뉴를 제공하게 된다(ST1 단계).
도시된 도 13에서는 본 발명에 따른 멀티캐스팅 서버인 AN서버(40)에 대한설명과 본 발명에 관한 동영상 광고, 그리고 우측으로는 관련된 여러가지 메뉴로 구성되고, 화면 중앙에서 우측으로 3개의 채널을 통해 데모 웹방송을 제공하고 있다.
상기 제공되는 채널로서, 채널1(CH1, 캐스퍼)에서는 3차원 입체 애니메이션 영화를 제공하고, 채널2(CH2, 호세카레라스)로는 음악 연주 실황의 동영상 데이터를 제공하며, 채널3(CH3, 신디크로포드)로는 인기 연예인을 통한 CF 광고를 제공하고 있다.
상기 AN서버(42)가 구동되면서, AN서버(42)의 AN 제어부(100)는 구성 매니저(60)와 클라이언트 매니저(90)를 구동함으로써, 이후에 접속하게 될 클라이언트 정보와 현재 접속 중인 클라이언트 정보에 대한 요구 사항들을 점검하게 된다(ST3 단계).
또한, 상기 AN 제어부(100)는 현재 클라이언트들에게 제공되고 있는 웹방송 서비스 네트워크 상태를 모니터링 하게 되는데, 도시한 도 17에 나타낸 바와 같이 액세스 IP 주소, 액세스 시간, 접속 상태, 라우터 상태, 시작시간 상태, 진행시간 상태, 에러 숫자 패킷 로스트, 사용 대역폭, 평균 대역폭 등을 표시 출력함으로써 클라이언트의 리얼 IP, 가상 리얼 IP, UDP-Multicast IP, 사용자별 접속 상태, 사용자별 전송 방식 및 수신 위치 등을 쉽게 알아볼 수 있도록 되어 있다(ST5 단계).
상기한 상태에서, AN 제어부(100)는 임의의 클라이언트, 예컨대 클라이언트A1(20)으로부터 사용자의 채널 선택에 따른 웹방송 서비스 요청이 있는지를 확인한다(ST7 단계). 만일 웹방송 서비스 요청이 있으면 상기 AN 제어부(100)는 웹방송 서비스를 요청했던, 예컨대, 클라이언트A1(20)의 정보를 근거로 해당 라우팅 정보를 검색하게 된다(ST9 단계).
즉, 웹방송 서비스를 요청했던 클라이언트A1(20)의 IP주소와 서브넷 마스크 등을 근거로 같은 서브넷 마스크가 적용되는 라우터나 클라이언트를 검색하는 것이다.
상기 ST7 단계에서, 사용자의 채널 선택에 따른 웹방송 서비스 요청이 없는 경우에는 현재 클라이언트들에게 제공되고 있는 웹방송 서비스 네트워크 상태를 모니터링하는 동작을 반복하게 된다.
이어, 상기 AN 제어부(100)는 검색된 결과를 근거로 현재 웹방송 서비스가 되고 있는 클라이언트 중 같은 그룹에 속하는 클라이언트나 또는 가장 인근에 위치하는 클라이언트를 찾게 된다(ST11 단계).
곧, 상기 웹방송 서비스를 요청했던 클라이언트A1(20)와 같은 라우터에 연결되어 있는 클라이언트를 찾거나, 또는 그 라우터의 인근 라우터에 연결되어 있는 클라이언트를 찾는 것이다.
예컨대, 클라이언트A2(21)와 클라이언트C1(26)이 현재 상기 웹방송 서버(40)로부터 웹방송 서비스를 받고 있는 중이라고 가정한다면, 상기 AN 제어부(100)는 상기 클라이언트A1(20)과 같은 클라이언트 그룹에 있으며 같은 서브넷 마스크를 갖는 라우터1(31)에 연결되어 있는 클라이언트(21, 22) 중 현재 웹방송 서비스가 되고 있는 클라이언트A2(21)를 찾게 되는 것이다.
상기와 같이 검색한 결과, 웹방송 서비스를 요청했던 클라이언트A1(20)와 같은 서브넷 마스크를 갖는 라우터1(31)에 연결된 클라이언트A2(21)를 찾게 되면, AN 제어부(100)는 그 검색된 클라이언트A2(21)로 하여금 상기 웹방송을 요청했던 클라이언트A1(20)에게로 웹방송 서비스를 제공하도록 하는 제어 메시지를 전송하게 된다(ST13 단계).
AN서버(42)로부터 상기 검색된 클라이언트A2(21)로 전송되는 제어 메시지에는 명령 데이터와 상기 웹방송 데이터를 제공해야 될 클라이언트A1(20)의 주소와 서브넷 마스크, 포트번호 등에 관한 정보가 함께 포함되어 전송됨으로써, 이를 수신한 클라이언트A2(21)는 해당 주소, 즉, 요청했던 클라이언트A1(20)로 웹방송 데이터를 송출해 주게 되는 것이다.
이 과정을 좀 더 상세하게 설명하면, 도 8에 도시한 바와 같이 웹방송 서버(40)는 인터넷(10)을 통해(①) 라우터1(31)을 거쳐(②) 클라이언트A2(21)에게(③) 웹방송 서비스를 제공하면서, 요청자 클라이언트A1(20)의 IP 주소 및 서브넷 마스크 주소를 포함한 웹방송 서비스를 제공하도록 하는 제어 메시지를 전송하게 된다.
상기 웹방송 서버(40)로부터 클라이언트A1(20)의 정보를 수신한 클라이언트A2(21)는 이 정보를 자신과 연결되어 있는 라우터1(31)에게로 전송하게 되고, 이를 수신한 라우터1(31)가 그에 상응하는 라우팅 경로를 설정하게 됨으로써 상기 웹방송 서버(40)로부터 제공받았던 웹방송 데이터가 클라이언트A2(21)에게서 라우터1(31)를 경유하여 멀티캐스트 방식으로 목적지인 클라이언트A1(20)에게로 전송되는 것이다(④).
상기 ST11 단계에서, 만약 상기 라우터1(31)에 연결된 클라이언트 중에 웹방송 서비스를 받고 있는 클라이언트가 없고, 클라이언트B2(24)와 클라이언트C1(26)이 현재 상기 웹방송 서버(40)로부터 웹방송 서비스를 받고 있는 중이라고 가정한다면, 상기 AN 제어부(100)는 상기 클라이언트A1(20)과 가장 인근에 있는 라우터2(32)에 연결되어 있는 클라이언트(23, 24, 25) 중 현재 웹방송 서비스가 되고 있는 클라이언트B2(24)를 찾게 되는 것이다.
이 과정을 좀 더 상세히 설명하기 위해 도 9를 통해 도시했다. 도 9에서 도 1과 동일한 부분에 대해서는 이미 설명이 되었으므로 생략한다.
도 9에서, 웹방송 서버(40)는 인터넷(10)을 통해(①) 라우터2(32)를 거쳐(②) 클라이언트B2(24)에게 웹방송 서비스를 제공함과 더불어 요청자 클라이언트A1(20)의 IP 주소 및 서브넷 마스크 주소 및 웹방송 서비스를 제공하도록 하는 제어 메시지를 전송하게 된다(③).
이어, 상기 웹방송 서버(40)로부터 제어 메시지를 수신한 클라이언트B2(24)는 자신과 연결되어 있는 라우터2(32)에게로 상기 수신한 정보를 포함한 웹방송 데이터를 전송해 주게 된다(④).
이에 따라, 라우터2(32)는 상기 클라이언트B2(24)로부터 수신한 메시지 정보를 근거로 전송 경로를 설정하게 되고, 이 설정된 경로에 따라 웹방송 데이터는 인터넷(10)을 통해(⑤) 라우터1(31)으로 전달된다(⑥).
라우터1(31)은 상기 라우터2(32)와 인터넷(10)을 거쳐 수신한 메시지 정보에 따라 경로를 설정하게 되며, 이 설정된 경로에 따라 상기 클라이언트B2(24)가 보내준 웹방송 데이터가 요청했던 클라이언트A1(20)으로 전송되는 것이다(⑦).
상기 웹방송 데이터 전송 과정에서, 서브넷 마스크 주소가 서로 각각 다른 라우터2(32)에서 라우터1(31)으로의 전송은 일반적인 유니캐스트 방식으로 전송되게 되는데, 이는 Peer To Peer 멀티캐스트를 적용하게 되는 것이다.
상기한 상태에서, 만약 클라이언트An(22)가 웹방송 서비스를 요청한다고 가정하면, 웹방송 서버(40)는 현재 웹방송 서비스가 되고 있는 클라이언트A1(20)에게 같은 그룹의 요청자 클라이언트An(22)로 웹방송 서비스를 제공하도록 하는 제어 메시지를 상술된 바와 동일한 과정으로 전송하게 된다.
따라서, 클라이언트A1(20)은 자신에게 연결되어 있는 라우터1(31)을 통해 클라이언트An(22)에게 웹방송 서비스를 멀티캐스트 방식으로 제공하게 되는 것이다(⑧).
한편, 상기 AN서버(42)로부터 웹방송 서비스를 요청했던 클라이언트A1(20)을 포함하는 모든 클라이언트(20 ~ 28)에게 전송되는 데이터 프레임 구조는 도 10을 통해 도시하였다.
이는 상기 AN서버(42)와 클라이언트(20 ~ 28)간 전송 프로토콜에 따른 기본적인 전송 데이터 프레임 구조로써, 헤더(Header)부분과 데이터 영역인 패이로드(Payload)부분으로 구성된다.
또한, 상기 헤더부분은 명령 코드 16비트, 패킷 길이 16비트, CRC값 16비트로 구성되고, 상기 패이로드 부분은 바이너리 데이터로 이루어진다. 상기 CRC(Cyclic Redundancy Check Code)값은 오류검출부호(error-detecting code)를 나눗셈 연산으로 생성하는 통상적인 값이다.
앞에서 설명한 것 중 클라이언트A2(21)와 클라이언트C1(26)이 현재 서비스를 받고 있다고 가정한 예를 참조할 때, 상기 ST13 단계에서 AN서버(42)로부터 클라이언트A2(21)에게로 전송하는 메시지는 도 11 에 도시한 바와 같이 다른 클라이언트에게 데이터를 보내도록 하는 명령코드인 예컨대, "ksAddSendAddr" 8비트 명령코드가 헤더부분에 포함되고, 그 패이로드 부분에는 웹방송 데이터를 수신할 클라이언트의 IP주소(스트링 데이터)와 포트번호(32비트)가 포함된 구조로 이루어진다.
만약, 상기 ST13 단계에서 상기 AN서버(42)가 웹방송 서비스를 제공하고 있는 클라이언트A2(21)에게 다른 클라이언트 즉, 클라이언트A1(20)에게 웹방송 데이터를 보내는 것을 중단하고자 한다면, 도 12에 도시된 바와 같이 그 헤더영역의 명령코드에 예컨대 "ksRemoveSendAddr" 8비트와, 그 패이로드부분에 클라이언트A1(20)의 IP주소(스트링 데이터)와 포트번호(32비트)가 포함된 제어 메시지를 전송하게 된다.
이어, 상기 AN서버(42)에게 웹방송 서비스를 요청하는 클라이언트의 동작을 도 7에 도시된 순서도를 참조하여 설명한다.
상기 클라이언트는 인터넷(10)을 통해 웹방송 서버(40)에 접속하기 위해서 통상 클라이언트의 웹브라우저(130)에서 제공되는 서비스에 따르게 된다.
즉, 클라이언트 자신의 IP 주소와 서브넷 마스크를 포함하는 정보를 가지고 사용자가 주소 입력창에 상기 웹방송 서버(40)의 인터넷 주소를 입력하는 것으로 접속을 실행하게 된다.
예컨대, 클라이언트A1(20)가 인터넷(10)을 통해 웹방송 서버(40)에 접속하게 되면, 상기 웹방송 서버(40)는 통상 도 13에 도시된 바와 같은 웹페이지를 제공하게 된다(ST21 단계).
이어, 상기 클라이언트A1(20)의 제어부(160)는 도 14에 도시된 바와 같이 자신의 대역폭(Bandwidth)과 패킷로스트 정보를 포함하는 메시지를 생성하여 주기적으로 상기 웹방송 서버(40)의 AN서버(42)로 전송하게 된다(ST23 단계).
즉, 메시지의 헤더부분에 자신의 대역폭과 패킷 로스트를 보낸다는 명령코드, 예컨대 "kcHello" 8비트, 패이로드 부분에 대역폭(32비트)과 패킷 로스트(32비트)를 포함하여 구성된 메시지를 전송하게 되는 것이다.
이어, 상기 AN서버(42)는 이 메시지를 수신하여 상기 클라이언트A1(20)가 어느 정도의 대역폭(Bandwidth)을 사용하고 있는지 파악한다.
또한, 상기 클라이언트A1(20)의 제어부(160)는 도 15에 도시된 바와 같이 자신의 정보를 전송하게 되는데, 그 헤더부분에 자신의 정보를 보낸다는 명령 코드인 "kcMyConnectionInfo" 8비트와, 패이로드 부분에 자신의 IP주소(스트링 데이터) 및 포트 번호(32비트)가 포함된 메시지를 전송하게 된다.
이어서 웹페이지에 있던 다수의 메뉴 중에서 사용자가 웹방송에 관한 채널을 선택했는지 여부를 판단한다(ST25 단계).
만일 상기 사용자가 웹방송에 관한 채널1(CH1, 캐스퍼)을 클릭하게 되면, 이 클라이언트A1(20)에 웹방송 채널이 설정되게 되고, 웹방송 서비스를 받고자 하는 요청이 AN서버(42)로 전달되게 된다(ST25 단계).
상기 ST25 단계에서, 웹방송 채널의 선택이 없다면 클라이언트A1(20)의 제어부(160)는 자신의 대역폭(Bandwidth)과 패킷로스트 정보를 포함하는 메시지를 생성하여 주기적으로 상기 웹방송 서버(40)의 AN서버(42)로 전송하는 ST23 단계를 반복하게 된다.
상기 ST25 단계에서, 만약 클라이언트A1(20)에 상기 AN서버(42)와 제어 메시지를 송수신하기 위한 AN 워크스테이션(120)이 설치되어 있지 않은 경우에 상기 웹페이지의 웹방송에 관한 채널 선택이 있게 되면, 먼저 상기 AN서버(42)에서 AN워크 스테이션 프로그램이 다운로드되어 상기 클라이언트A1(20)에 설치되게 된다.
이어, 상기 클라이언트A1(20)의 제어부(160)는 AN워크스테이션(120)과 네트워크 매니저(140)를 구동하여 상기 AN서버(42)와 제어 메시지를 송수신하기 위한 시스템 체제로 전환하게 된다(ST27 단계).
상기 AN서버(42)로부터 웹방송 데이터가 수신되면(ST29 단계), 제어부(160)는 미디어 플레이어(150)를 구동하여 음성데이터와 동영상 데이터로 출력하게 된다(ST31 단계).
따라서, 사용자는 선택했던 채널1의 3차원 입체 애니메이션 만화영화 "캐스퍼"를 실시간으로 시청할 수 있게 되는 것이다.
상기와 같이 웹방송 서버(40)로부터 웹방송 서비스를 받고 있는 중에 AN서버(42)로부터 도 11에 도시된 바와 같이 상기 클라이언트A2(21)로 웹방송 서비스하도록 하는 제어 메시지가 수신되면(ST33 단계), 제어부(160)는 이 수신된 정보를 근거로 제어 메시지를 생성해 웹방송 데이터인 비디오 스트림 데이터와 함께 자신과 연결되어 있는 라우터1(31)로 전송하게 된다.
상기 클라이언트A1(20)으로부터 제어 메시지를 수신한 라우터1(31)에 있어서는 제어 메시지에 포함되어 있는 IP주소에 따라 데이터 경로를 스위칭 설정하게 됨으로써, 상기 요청했던 클라이언트A2(21)에게로 전송되어 멀티캐스트 전송이 이루어지게 되는 것이다(ST35 단계).
결국, 상기 AN서버(42)는 클라이언트A1(20)에게만 멀티캐스트 웹방송 서비스를 실시하였지만 이 클라이언트A1(20)을 통해 클라이언트A2(21)에게도 멀티캐스트 웹방송 서비스가 실시 됨으로써 서버의 대역폭 점유율이 낮아지게 되고, 더욱 많은 클라이언트들을 확보하여 서비스할 수 있게 되는 것이다.
본 발명이 상기한 실시예에 한정되지 않고 본 발명의 기술적 요지를 벗어나지 않는 범위내에서 다양하게 변형 및 변경 실시할 수 있음은 당해 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있을 것이다.
앞에서 상세히 설명한 바와 같이, 본 발명은 웹방송 서버의 직접적인 개입 없이도 웹방송이 서비스되고 있는 클라이언트를 통해 웹방송 서비스를 요청한 그룹내의 다른 클라이언트에게도 멀티캐스트 웹방송 서비스를 실시할 수 있으므로, 웹방송 서버에 대한 부하를 줄일 수 있고, 실제적인 장비의 증설없이 소프트웨어적으로 더욱 많은 클라이언트들에게 멀티캐스트 웹방송 서비스를 실시할 수 있는 장점이 있다.

Claims (21)

  1. 인터넷을 통해 다수의 클라이언트들에게 멀티캐스트 웹방송 서비스를 실시하는 멀티캐스트 웹방송 시스템에 있어서,
    상기 다수의 클라이언트들에게 제공할 웹방송 데이터를 종류에 따라 다양하게 구비하는 다수의 스테이션과, 상기 다수의 클라이언트들과 제어 메시지를 송수신하는 네트워킹에 필요한 데이터를 정의해 놓은 구성 매니저, 상기 다수의 클라이언트들과의 네트워킹에서 클라이언트들의 정보를 유지함과 더불어 클라이언트들의 상태를 모니터링하기 위한 클라이언트 매니저, 상기 스테이션들의 웹방송 데이터를 독출하고, 독출된 동영상 데이터를 해당 클라이언트에게 제공하는 AN서버로 구성된 웹방송 서버와,
    상기 인터넷으로부터 인가되는 패킷을 변환하여 인터페이스를 실행하는 네트워크 인터페이스 카드와, 상기 AN서버로부터의 제어 메시지를 수신하여 그에 따른 처리를 실행함으로써, 사용자에게 멀티미디어 서비스를 제공하기 위한 AN 워크스테이션, 상기 인터넷과의 연결을 위한 화면 제공 프로그램인 웹브라우저, 상기 AN 워크스테이션의 프로그램에 따라 구동됨과 더불어 사용자가 모니터 화면상의 출력화면을 근거로 네트워킹 또는 멀티미디어 서비스를 선택 및 이용할 수 있도록 해주는 GUI 화면을 제공하기 위한 네트워크 매니저, 상기 네트워크 인터페이스 카드를 통해 인터넷으로부터 인가되는 음성과 화상 또는 동영상의 웹방송 데이터를 시각적으로 출력하는 미디어플레이어, 이 미디어 플레이어를 통한 웹방송 데이터의 출력 제어 및 웹방송 데이터를 다른 클라이언트로 전송하는 것을 제어하는 제어부를 포함하는 상기 클라이언트를 포함하되,
    상기 AN서버는 임의의 클라이언트로부터 웹방송 서비스의 요청이 있게 되면, 웹방송 서비스가 실시되고 있는 클라이언트 그룹 중 웹방송 서비스를 요청한 클라이언트가 속하거나 또는 가장 인근에 위치한 그룹의 클라이언트에게 웹방송 서비스를 실행하도록 하는 메시지를 전송 제어하는 것을 특징으로 하는 멀티캐스트 웹방송 시스템.
  2. 제 1 항에 있어서,
    상기 스테이션의 동영상 데이터를 각각 독출하는 다수의 스테이션 프로시저, 이 독출된 동영상 데이터를 해당 클라이언트에게 제공하는 것을 담당하는 다수의 커넥션매니지스레드를 추가로 포함하여 구성된 것을 특징으로 하는 멀티캐스트 웹방송 시스템.
  3. 제 1 항에 있어서,
    상기 웹방송 서비스 되고 있는 클라이언트가 같은 그룹내에 있는 다른 클라이언트에게는 멀티캐스트 방식으로 웹방송 서비스를 제공하며, 다른 그룹의 클라이언트에게는 유니캐스트 방식으로 웹방송 서비스를 제공하는 것을 특징으로 하는 멀티캐스트 웹방송 시스템.
  4. 제 1 항에 있어서,
    상기 구성 매니저는 스테이션명(Station Name), 서버 소켓(Server Socket), 베이스 윈도우, 리스트 윈도우, AN 서버포트, 멀티캐스트 IP, 멀티캐스트 포트, 상태 플래그, 대역폭(Bandwidth), 비디오데이터 사이즈를 정의하고, 조성파일(CFG File), 스테이션번호, 조성데이터(CFG Data), 생성스테이션, 삭제스테이션, 연결스테이션, 검색파라미터, 전송메시지를 셋팅하는 것을 특징으로 하는 멀티캐스트 웹방송 시스템.
  5. 제 1 항에 있어서,
    상기 클라이언트 매니저는 상기 AN서버가 클라이언트와 네트워킹 하는 중에 클라이언트의 정보를 유지하기 위한 키번호, TCP소켓, UDP소켓, 클라이언트 IP, 넷마스트(NetMask), 방화벽 IP, 라우터정보, 액세스 시간, 상실 패킷, 대역폭, TCP 전송 플래그, 포워드 플래그(Forward Flag) 데이터를 정의하고, 이에 대한 정보를 모니터링하여 사용자가 볼 수 있도록 하기 위해 출력화면에 대한 사이즈와, 새로 추가된 클라이언트 리스트, 삭제한 클라이언트 리스트, 키카운트(KeyCount), 클라이언트 체크, 포워드 데이터에 관한 정보를 세팅하는 것을 특징으로 하는 멀티캐스트 웹방송 시스템.
  6. 제 1 항에 있어서,
    상기 다수의 스테이션에는 3차원 입체 애니메이션 영화에 관한 동영상 데이터와, 음악연주 실황에 관한 동영상 데이터, 연예인의 CF 광고에 관한 엔터테인먼트 동영상 데이터, 증권정보 중계에 관한 동영상 데이터, 쇼핑몰 및 경매에 관한 동영상이 화일 형태로 구비되는 것을 특징으로 하는 멀티캐스트 웹방송 시스템.
  7. 제 1 항에 있어서,
    상기 네트워크 상태에 대한 모니터링은 액세스 IP 주소, 액세스 시간, 접속상태, 라우터 상태, 시작시간 상태, 진행시간 상태, 에러 숫자 패킷 로스트, 사용 대역폭, 평균 대역폭을 포함하는 요소들을 표시 출력하는 것을 특징으로 하는 멀티캐스트 웹방송 시스템.
  8. 제 1 항에 있어서,
    상기 클라이언트로 전송되는 제어 메시지의 데이터 프레임은 명령코드, 패킷길이, CRC값으로 구성된 헤더영역과, 바이너리 데이터로 된 패이로드 영역으로 구성된 것을 특징으로 하는 멀티캐스트 웹방송 시스템.
  9. 제 1 항 및 제 8 항에 있어서,
    상기 웹방송 서버에 접속한 클라이언트는 상기 헤더 영역에 자신의 정보를 보낸다는 명령코드와, 상기 패이로드 영역에 자신의 IP주소 및 포드번호가 포함된 메시지를 웹방송 서버로 전송하는 것을 특징으로 하는 멀티캐스트 웹방송 시스템.
  10. 제 1 항 및 제 8 항에 있어서,
    상기 웹방송 서버에 접속한 클라이언트는 자신의 대역폭(Bandwidth)과 패킷로스트 정보를 포함하는 메시지를 생성하여 웹방송 서버로 주기적으로 전송하는 것을 특징으로 하는 멀티캐스트 웹방송 시스템.
  11. 제 1 항 및 제 8 항에 있어서,
    상기 웹방송 서버가 다른 클라이언트에게 전송하는 제어메시지는 헤더영역에 요청한 클라이언트로 웹방송 서비스 하도록 하는 명령코드와, 패이로드 영역에 IP주소 및 포트번호를 포함하여 구성된 제어 메시지인 것을 특징으로 하는 멀티캐스트 웹방송 시스템.
  12. 제 1 항 및 제 8 항에 있어서,
    다른 클라이언트가 요청 클라이언트에게 웹방송 서비스하는 것을 중지하기 위해서 상기 웹방송 서버는 상기 헤더 영역에 요청한 클라이언트로 웹방송 서비스하는 것을 중지하도록 하는 명령코드와, 상기 패이로드 영역에 IP주소 및 포트번호를 포함하여 구성된 상기 제어 메시지를 상기 다른 클라이언트로 전송하는 것을 특징으로 하는 멀티캐스트 웹방송 시스템.
  13. 제 1 항에 있어서,
    상기 AN서버는 임의의 클라이언트로부터 웹방송 서비스 요청이 있게 되면,상기 스트이션 프로시저와 커넥션매니지스레드를 구동하여 웹방송 서비스를 제공하는 것을 특징으로 하는 멀티캐스트 웹방송 시스템.
  14. 인터넷을 통해 다수의 클라이언트에게 멀티캐스트 웹방송 서비스를 실행하는 웹방송 서버가 이를 위한 제어메시지를 임의의 클라이언트에게 전송할 수 있도록 된 멀티캐스트 웹방송 방법에 있어서,
    상기 다수의 클라이언트에게 웹페이지를 통해 멀티캐스트 웹방송에 관한 소개와 채널 선택을 위한 메뉴를 제공하는 단계,
    접속하게 될 클라이언트와 접속중인 클라이언트에 대한 정보를 검색하는데 필요한 구성요소를 점검하는 단계,
    웹방송 서비스되고 있는 네트워크 상태를 모니터링하는 단계,
    임의의 클라이언트로부터의 웹방송 서비스 요청이 있는가를 판단하는 단계,
    상기 요청 클라이언트의 정보를 근거로 해당 라우팅 정보를 검색하는 단계,
    라우팅 정보를 검색하여 요청 클라이언트와 같은 그룹에 속하는 클라이언트 또는 가장 인근에 위치한 클라이언트를 검색하는 단계,
    검색된 다른 클라이언트에게 요청 클라이언트로 멀티캐스트 웹방송을 서비스하도록 하는 제어메시지를 송출하는 단계를 포함하여 구성된 것을 특징으로 하는 멀티캐스트 웹방송 방법.
  15. 제 14 항에 있어서,
    상기 네트워크 상태에 대한 모니터링은 액세스 IP 주소, 액세스 시간, 접속상태, 라우터 상태, 시작시간 상태, 진행시간 상태, 에러 숫자 패킷 로스트, 사용 대역폭, 평균 대역폭을 포함하는 요소들을 표시 출력하는 것을 특징으로 하는 멀티캐스트 웹방송 방법.
  16. 제 14 항에 있어서,
    상기 웹방송 서비스 되고 있는 클라이언트가 같은 그룹내에 있는 다른 클라이언트에게는 멀티캐스트 방식으로 웹방송 서비스를 제공하며, 다른 그룹의 클라이언트에게는 유니캐스트 방식으로 웹방송 서비스를 제공하는 것을 특징으로 하는 멀티캐스트 웹방송 방법.
  17. 제 14 항에 있어서,
    상기 클라이언트로 전송되는 제어메시지의 데이터 프레임은 명령코드 16비트, 패킷길이 16비트, CRC값 16비트로 된 헤더영역과, 바이너리 데이터로 된 데이터 영역으로 구성된 것을 특징으로 하는 멀티캐스트 웹방송 방법.
  18. 제 14 항 및 제 17 항에 있어서,
    상기 웹방송 서버에 접속한 클라이언트는 헤더부분에 자신의 정보를 보낸다는 명령코드 8비트와, 패이로드 부분에 자신의 IP주소(스트링 데이터) 및 포드번호(32비트)가 포함된 메시지를 웹방송 서버로 전송하는 것을 특징으로 하는멀티캐스트 웹방송 방법.
  19. 제 14 항 및 제 17 항에 있어서,
    상기 웹방송 서버에 접속한 클라이언트는 자신의 대역폭(Bandwidth)과 패킷로스 정보를 포함하는 메시지를 생성하여 웹방송 서버로 주기적으로 전송하는 것을 특징으로 하는 멀티캐스트 웹방송 방법.
  20. 제 14 항 및 제 17 항에 있어서,
    웹방송 서버가 다른 클라이언트에게 전송하는 제어메시지는 헤더영역에 요청한 클라이언트로 웹방송 서비스 하도록 하는 명령코드 8비트와, 패이로드 영역에 IP주소 및 포트번호 32비트를 포함하여 구성된 제어 메시지인 것을 특징으로 하는 멀티캐스트 웹방송 방법.
  21. 제 14 항 및 제 17 항에 있어서,
    다른 클라이언트가 요청 클라이언트에게 웹방송 서비스하는 것을 중지하기 위해서는 웹방송 서버는 헤더영역에 요청한 클라이언트로 웹방송 서비스 하는 것을 중지하도록 하는 명령코드 8비트와, 패이로드 영역에 IP주소 및 포트번호 32비트를 포함하여 구성된 제어 메시지를 상기 다른 클라이언트로 전송하는 것을 특징으로 하는 멀티캐스트 웹방송 방법.
KR1020010031252A 2001-06-04 2001-06-04 멀티캐스트 웹방송 시스템 및 그 방법 KR20020092576A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010031252A KR20020092576A (ko) 2001-06-04 2001-06-04 멀티캐스트 웹방송 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010031252A KR20020092576A (ko) 2001-06-04 2001-06-04 멀티캐스트 웹방송 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR20020092576A true KR20020092576A (ko) 2002-12-12

Family

ID=27707827

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010031252A KR20020092576A (ko) 2001-06-04 2001-06-04 멀티캐스트 웹방송 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR20020092576A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020022638A (ko) * 2001-12-27 2002-03-27 주식회사 이월드 인터넷방송국자동화웹호스팅시스템
KR20030004567A (ko) * 2001-07-05 2003-01-15 주식회사 제이엠지코리아 멀티캐스트 동영상 광고 시스템 및 그 방법
KR100643705B1 (ko) * 2004-12-01 2006-11-10 한국전자통신연구원 인터넷 방송 시스템의 멀티캐스트 재방송 서비스 방법 및장치
KR100643285B1 (ko) * 2004-11-02 2006-11-10 삼성전자주식회사 멀티캐스트를 이용한 데이터 송수신 시스템 및 방법
KR100700605B1 (ko) * 2004-11-06 2007-03-28 엘지전자 주식회사 이동통신의 브로드캐스트/멀티캐스트 서비스 방법 및 시스템
US7606228B2 (en) 2004-10-15 2009-10-20 Electronics And Telecommunications Research Institute Home gateway system for providing optical communication packet data interface function and home broadcast service providing method using the same
US9100376B2 (en) 2007-01-12 2015-08-04 Thomson Licensing System and method for combining pull and push modes

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4740954A (en) * 1986-12-31 1988-04-26 Bell Communications Research, Inc. Multicast routing algorithm
KR19990078703A (ko) * 1999-07-30 1999-11-05 구자홍 게이트웨이 관리 방법
KR20000063991A (ko) * 2000-08-14 2000-11-06 김종인 인터넷상의 트리형태의 스트림 데이터 중계방송망 생성방법
KR20010073511A (ko) * 2000-01-17 2001-08-01 황준 계층적 전송을 이용한 인터넷 방송 시스템 및 인터넷 방송방법
KR20010076596A (ko) * 2000-01-26 2001-08-16 서영진 분산 ip 멀티캐스팅을 이용한 인터넷 방송 시스템 및인터넷 방송 방법
KR20020023596A (ko) * 2000-09-23 2002-03-29 이중철 최인묵 인터넷 방송 시스템 및 인터넷 방송 시스템에 있어서의데이터 전송방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4740954A (en) * 1986-12-31 1988-04-26 Bell Communications Research, Inc. Multicast routing algorithm
KR19990078703A (ko) * 1999-07-30 1999-11-05 구자홍 게이트웨이 관리 방법
KR20010073511A (ko) * 2000-01-17 2001-08-01 황준 계층적 전송을 이용한 인터넷 방송 시스템 및 인터넷 방송방법
KR20010076596A (ko) * 2000-01-26 2001-08-16 서영진 분산 ip 멀티캐스팅을 이용한 인터넷 방송 시스템 및인터넷 방송 방법
KR20000063991A (ko) * 2000-08-14 2000-11-06 김종인 인터넷상의 트리형태의 스트림 데이터 중계방송망 생성방법
KR20020023596A (ko) * 2000-09-23 2002-03-29 이중철 최인묵 인터넷 방송 시스템 및 인터넷 방송 시스템에 있어서의데이터 전송방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030004567A (ko) * 2001-07-05 2003-01-15 주식회사 제이엠지코리아 멀티캐스트 동영상 광고 시스템 및 그 방법
KR20020022638A (ko) * 2001-12-27 2002-03-27 주식회사 이월드 인터넷방송국자동화웹호스팅시스템
US7606228B2 (en) 2004-10-15 2009-10-20 Electronics And Telecommunications Research Institute Home gateway system for providing optical communication packet data interface function and home broadcast service providing method using the same
KR100643285B1 (ko) * 2004-11-02 2006-11-10 삼성전자주식회사 멀티캐스트를 이용한 데이터 송수신 시스템 및 방법
KR100700605B1 (ko) * 2004-11-06 2007-03-28 엘지전자 주식회사 이동통신의 브로드캐스트/멀티캐스트 서비스 방법 및 시스템
KR100643705B1 (ko) * 2004-12-01 2006-11-10 한국전자통신연구원 인터넷 방송 시스템의 멀티캐스트 재방송 서비스 방법 및장치
US9100376B2 (en) 2007-01-12 2015-08-04 Thomson Licensing System and method for combining pull and push modes

Similar Documents

Publication Publication Date Title
CA2315210C (en) Method and apparatus for receiving full-motion digital video multi-casts, interactive data and interactive voice via a dsl circuit
US6523069B1 (en) Transmission of multicast media between networks
US6873627B1 (en) System and method for sending packets over a computer network
US7827304B2 (en) Method and system for virtual multicast networking
Ganjam et al. Internet multicast video delivery
US7133928B2 (en) Performing multicast communication in computer networks by using overlay routing
EP1540884B1 (en) Mapping of a source specific multicast group address to a source address
US8681668B2 (en) Methods and apparatus for transmitting multicast traffic in a data network
US8621083B2 (en) System and method for multicasting through a localized computer network
KR20020092576A (ko) 멀티캐스트 웹방송 시스템 및 그 방법
Oliveira et al. Router level filtering for receiver interest delivery.
US20030012181A1 (en) Simulating high-speed access on a low-bandwidth network connection
JP4481499B2 (ja) 階層マルチキャスティング
Cisco Multicasting in IP and AppleTalk Networks
Cisco Multicasting in IP and AppleTalk Networks
Cisco Multicasting in IP and AppleTalk Networks
Cisco Multicasting in IP and AppleTalk Networks
Cisco Multicasting in IP and AppleTalk Networks
Cisco Multicasting in IP and AppleTalk Networks
Cisco Multicasting in IP and AppleTalk Networks
Cisco Multicasting in IP and AppleTalk Networks
Cisco Multicasting in IP and AppleTalk Networks
Cisco Multicasting in IP and AppleTalk Networks
Cisco Multicasting in IP and AppleTalk Networks
Cisco Configuring IP Multicast Routing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application