KR100303019B1 - 프록시서버를이용한주문형비디오시스템 - Google Patents

프록시서버를이용한주문형비디오시스템 Download PDF

Info

Publication number
KR100303019B1
KR100303019B1 KR1019980017753A KR19980017753A KR100303019B1 KR 100303019 B1 KR100303019 B1 KR 100303019B1 KR 1019980017753 A KR1019980017753 A KR 1019980017753A KR 19980017753 A KR19980017753 A KR 19980017753A KR 100303019 B1 KR100303019 B1 KR 100303019B1
Authority
KR
South Korea
Prior art keywords
service
proxy server
program
service provider
video
Prior art date
Application number
KR1019980017753A
Other languages
English (en)
Other versions
KR19980042985A (ko
Inventor
최훈
안경아
Original Assignee
안경아
최훈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 안경아, 최훈 filed Critical 안경아
Priority to KR1019980017753A priority Critical patent/KR100303019B1/ko
Publication of KR19980042985A publication Critical patent/KR19980042985A/ko
Application granted granted Critical
Publication of KR100303019B1 publication Critical patent/KR100303019B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2225Local VOD servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은, 서비스 프로그램을 보유하고 서비스를 제공하는 서비스 제공자 시스템과 서비스를 최종적으로 사용하는 소비자인 서비스 사용자 시스템을 포함하는 주문형 비디오 시스템에 있어서, 상기 서비스 제공자 시스템과 상기 서비스 사용자 시스템 사이에 위치하며 상기 서비스 제공자가 보유하는 일부 프로그램을 캐싱하여 서비스 사용자에게 제공하는 프록시 서버를 포함하는 것임을 특징으로 하는 프록시 서버를 이용하는 주문형 비디오 시스템에 관한 것이다. 본 발명에서는 서비스 사용자 시스템으로부터 자주 액세스되는 스트림들에 대한 캐싱 기능을 가지는 프록시 서버를 사용하여, 스트림 제어에 대한 응답 시간을 감소시키고, 서비스 제공자 시스템의 부하를 분산시킬 수 있으며, 많은 사용자를 수용할 수 있는 장점이 있다.

Description

프록시 서버를 이용한 주문형 비디오 시스템
본 발명은 주문형 비디오 시스템에 관한 것이다.
주문형 비디오(Video On Demand, VOD) 서비스는 사용자의 요구에 의하여 통신망을 통하여, 영화, 비디오 게임, 홈 쇼핑 등의 비디오 관련 프로그램들을 제공하는 서비스를 말한다. 주문형 비디오 서비스 제공자가 사용자의 요구를 수용하여 가상 VCR 기능을 이용하여, 사용자가 원하는 내용을 선택하게 하는 특징이 있다. 텔레비젼 방송을 수동적으로 시청하는 것과는 달리, 사용자가 언제든지 원하는 비디오 프로그램을 선택하여 서비스 받을 수 있기 때문에, 대표적인 멀티미디어 정보 서비스 중 하나가 될 것으로 전망된다.
주문형 비디오 서비스를 위한 시스템은 DAVIC(Digital Audio VIsual Council)에서 정한 국제 표준 규격에 따라 개발되고 있다. DAVIC 표준에 의하면 VOD 시스템 참조 모델은 기능에 따라서, 내용 제공자 시스템(Content Provider System), 서비스 제공자 시스템(Service Provider System), 전달 시스템(Delivery System) 및 사용자 시스템(Service Consumer System)으로 구성된다. 지금까지는 수용된 많은 사용자에게 안정적인 스트림을 제공하기 위한 서비스 제공자 시스템 위주의 연구가 진행되었다.
서비스 제공자 시스템의 효율성과 더불어서 서비스의 품질에 영향을 미치는 것은 시스템들 간의 네트워크 구성 방식으로서, 서비스 제공자와 사용자 간의 구성은 중앙 집중형 서비스 구조와 분산형 서비스 구조로 생각할 수 있다. 중앙 집중형 서비스 구조는 서비스 제공자가 사용자들에게 모든 서비스를 제공하는 것으로 서비스 제공자가 보유한 비디오 스트림, 즉 프로그램들이 다수의 사용자에 의하여 공유될 수 있는 장점이 있다. 그러나, 사용자의 요구가 급증하면 병목 현상이 발생하며, 병목 현상을 해결하기 위하여 네트워크 전송 대역폭과 서버의 처리 능력을 확장해야하는 문제점이 있다. 반면에 분산형 서비스 구조는 서비스 제공자가 지역적으로 분산되어 병목 현상을 해소하고 고장 감내한 서비스를 제공하는 장점이 있지만 같은 비디오 프로그램이 서로 다른 위치에 있는 서비스 제공자 시스템에 중복 저장되어야 하는 문제점이 있다.
상기한 문제점들을 해결하기 위하여 계층형 분산 구조가 제안되었다. 계층형 분산 구조에서는 여러 계층의 서버에 의하여 서비스가 처리되는데, 하위 계층 서버는 상위 계층 서버가 보유한 프로그램의 일부를 디스크 또는 테입의 매체를 이용하여 저장한다. 이 경우 상위 계층 서버에 프로그램이 존재하더라도 하위 계층의 서버에 저장되어 있지 않으면 하위 계층 서버는 그 프로그램을 사용자들에게 제공할 수 없다. 따라서, 하위 계층 서버에 저장된 프로그램들이 실시간으로 교체되지 못하므로 사용자의 요구가 즉시 반영되지 못하는 문제점이 있다.
상기한 계층형 분산 구조와 유사한 것으로서, 저장 장치를 서버 노드, 인터페이스 노드와 객체 노드로 계층적으로 구성하는 방법이 또한 제안되었다. 이 방법은 객체가 어느 일정 기준의 액세스 횟수가 넘을 경우, 중간 계층인 인터페이스 노드에 프로그램을 캐싱하는 것이다. 이 방법에서는 기준의 변화에 따라서 성능이 크게 의존되어 서비스 품질의 변화가 심한 문제점이 있다.
계층형 분산 구조와 유사한 분배 주문형 비디오 시스템은 영구적인 객체는 보관 서버에, 임시적인 객체는 가상 파일 서버에 저장되며 프로그램이 요구될 경우 보관 서버에 있는 객체를 가상 파일 서버로 복사하는 방법을 이용한다. 이 구조는 보관 서버가 프로그램 저장소 역할만 할 뿐 직접 서버로서 사용자를 상대하는 것이 아니므로 가상 파일 서버의 부하를 분담하지 못하는 문제점이 있다.
상기한 바와 같은 종래 기술의 문제점들을 해결하기 위하여, 본 발명은 캐시 메카니즘을 갖는 프록시 서버를 이용하여 DAVIC 주문형 비디오 서비스의 분산 처리 능력을 향상시키는 주문형 비디오 서비스 시스템을 제공하는데 있다.
도1은 DAVIC 주문형 비디오 시스템의 구조를 설명하는 도면,
도2는 본 발명에 의한 프록시 서버를 이용한 주문형 비디오 시스템의 구성도,
도3은 본 발명에 의한 주문형 비디오 시스템의 프록시 서버의 캐싱 정보 테이블,
도4는 본 발명에 의한 프록시 서버를 사용하는 주문형 비디오 시스템에서의 빨리감기 제어를 설명하는 도면,
도5는 본 발명에 의한 프록시 서버를 사용하는 주문형 비디오 시스템에서의 되감기 제어를 설명하는 도면,
도6은 LRU, LFU, FIFO 캐시 대치 알고리즘에 따른 프록시 서버의 디스크 크기와 히트율의 관계를 시뮬레이션 한 도표,
도7은 디스크 크기와 첫 화면 응답 시간과의 관계를 도시한 도표,
도8은 디스크 크기와 스트림 제어에 대한 응답 시간과의 관계를 도시한 도표,
도9는 서비스 요청 빈도에 따른 첫 화면 응답 시간을 도시한 도표,
도10은 서비스 요청 빈도에 따른 스트림 제어 응답 시간을 도시한 도표.
* 도면의 주요한 부분에 대한 부호의 설명 *
11, 21 : 서비스 제공자 시스템(서버)
12, 22 : 서비스 사용자 시스템(사용자)
13, 24 : 서비스 관리 센타 23 : 프록시 서버
111, 211 : 저장관리자 112, 212 : 응용서비스부
113, 213 : 메타데이터 114, 214 : 스트림서비스부
115, 215 : 서비스게이트웨이 116, 216 : 세션게이트웨이
117, 217 : 클라이언트프로파일
121, 221 : 환경설정부 122, 222 : 응용부
123, 223 : 출력부
231 : 프록시스트림서비스부 232 : 프록시세션게이트웨이
233 : 프록시클라이언트프로파일 234 : 프록시응용서비스부
235 : 캐시및저장관리자
상기한 바와 같은 목적을 달성하기 위하여, 본 발명은 서비스 프로그램을 보유하고 서비스를 제공하는 서비스 제공자 시스템과 서비스를 최종적으로 사용하는 소비자인 서비스 사용자 시스템을 포함하는 주문형 비디오 시스템에 있어서, 상기 서비스 제공자 시스템과 상기 서비스 사용자 시스템 사이에 위치하며 상기 서비스 제공자가 보유하는 일부 프로그램을 캐싱하여 서비스 사용자에게 제공하는 프록시 서버를 포함하는 것임을 특징으로 한다.
상기 프록시 서버는, 서비스 사용자 시스템이 요구하는 프로그램이 프록시 서버의 디스크에 있는 경우 프록시 서버가 서비스를 제공하고, 서비스 사용자 시스템이 요구하는 프로그램이 프록시 서버의 디스크에 없는 경우 서비스 제공자 시스템으로부터 프로그램을 수신하여 서비스 사용자 시스템에 제공하는 동시에 자신의 디스크에 저장하여 캐싱하는 것임을 특징으로 한다.
상기 프록시 서버의 캐싱은 서비스 사용자 시스템이 요구하는 프로그램이 프록시 서버의 디스크에 저장되어 있는지의 여부에 대한 프로그램 캐싱과 해당 프로그램의 비디오 스트림이 프록시 서버의 메모리에 존재하는지 여부에 대한 메모리 캐싱으로 구분되는 것임을 특징으로 한다.
상기 프록시 서버의 프로그램 캐싱은, 캐싱 정보 테이블의 프로그램 식별 번호 필드를 검색하여 프로그램의 유무를 조사하여, 프로그램이 없는 경우, 상기 서비스 제공자 시스템으로부터 프로그램을 받아서 테이블의 빈 엔트리에 새로운 프로그램을 등록하는데, 테이블에 빈 엔트리가 없는 경우 캐시 대치를 수행하는 것임을 특징으로 한다.
상기 프록시 서버의 프로그램 캐싱시 캐시 대치 기법은 프로그램의 접근 빈도를 비교하여 가장 작은 접근 빈도를 가지는 프로그램을 대치하는 것임을 특징으로 한다.
상기 프록시 서버의 메모리 캐싱은, 프록시 서버의 디스크로부터 MPEG-TS를 읽고, 서비스 사용자 시스템에 의하여 요구되는 MPEG-TS 번호가 캐싱 정보 테이블에 저장된 최고인덱스보다 클 경우, 재생하고자 하는 MPEG-TS가 메모리에 없는 것으로 판단하여 서비스 제공자 시스템으로부터 MPEG-TS가 포함된 페이지를 받아서 메모리에 적재하고, 캐싱 정보 테이블의 최고인덱스를 수정하는 것임을 특징으로 한다.
이하에서는 첨부된 도면을 참조하면서, 본 발명에 의한 프록시 서버를 이용하는 주문형 비디오 시스템의 구성 및 작동을 상세하게 설명한다.
본 발명에 의한 프록시 서버를 이용하는 주문형 비디오 시스템을 설명하기에 앞서, 먼저, 본 발명에 의한 주문형 비디오 시스템의 기준 규격인 DAVIC 규격 1.0을 기반으로 하는 주문형 비디오 시스템에 대하여 설명한다.
DAVIC 주문형 비디오 시스템은, 영화 제작자와 같이 서비스 내용을 제공하는 '내용 제공자 시스템", 서버와 같이 내용을 보유하고 서비스를 제공하는 '서비스 제공자 시스템', 정보를 전달하는 네트워크인 '전달 시스템' 및 서비스를 최종적으로 사용하는 소비자인 '서비스 사용자 시스템'으로 구성된다.
내용 제공자 시스템과 서비스 제공자 시스템 간의 정보 교환은 빈번하게 발생하지 않고 온라인으로 연결할 필요가 없으므로 주문형 비디오 서비스의 동작 방식에 영향을 미치지 않는다. 따라서, 본 발명은 DAVIC에서 정의한 서비스 제공자 시스템과 서비스 사용자 시스템에 관한 것이다.
도1은 DAVIC 주문형 비디오 시스템의 구조를 설명하는 도면이다.
도1에 도시된 서비스 제공자 시스템(11)은 서비스 사용자 시스템(12)에게 비디오 스트림을 전송하기 위한 고속의 저장 장치로 구성되며, 각 부는 다음과 같은 기능을 한다.
저장관리자(111)는 비디오 스트림이 저장된 디스크 어레이와 테입을 관리한다. 응용서비스부(112)는 멀티미디어 정보에 대한 서비스 조작 정보를 처리한다. 메타테이터(113)는 요금 등급, 서비스 등급 등과 같은 사용자에 대한 모든 정보를 의미한다. 스트림서비스부(114)는 스트림 계층에서 내용 흐름에 대한 처리를 수행한다. 서비스게이트웨이(115)는 시스템에 접속된 모든 서비스를 등록 받아 관리하여 사용자에게 메뉴 리스트를 보여주며 서비스 제공자 시스템들의 주소 정보를 사용자에게 제공한다. 세션게이트웨이(116)는 망내 시스템들간의 연결을 위하여 자원의 추가 및 제거를 담당한다. 클라이언트프로파일(117)은 메타데이터(113)를 참조하여 서비스를 요구한 사용자에 대한 인증 검사를 수행한다. 사용자의 서비스 요구 빈도, 프로그램명 등 여러 가지 정보를 기록하여 서비스 관리 센터로 전달하는 기능을 수행한다.
도1에 도시된 서비스 사용자 시스템(12)은 출력 장치와 압축된 비디오 데이터를 재생하는 셋탑 박스로 구성되며, 각 부는 다음과 같은 기능을 한다.
환경설정부(121)는 서비스 제공자 시스템(11)과 서비스 품질 협상 및 세션을 설정한다. 응용부(122)는 서비스게이트웨이(115)로부터 받은 메뉴 선택과 프로그램에 대한 네비게이션을 수행한다. 출력부(123)는 서버로부터 받은 스트림을 디코딩하여 출력 장치로 전송한다.
이러한 구성을 가지는 도1에 도시된 DAVIC 주문형 비디오 시스템의 동작을 설명하면 다음과 같다.
사용자가 텔레비젼을 켜면 서비스 사용자 시스템(12)의 환경설정부(121)에서 서비스 제공자 시스템(11)의 세션게이트웨이(116)에서 서비스 사용자 시스템(12)에게 세션 설정에 대한 응답을 한다.
응답을 받은 서비스 사용자 시스템(12)은 서비스게이트웨이(115)에게 메뉴 리스트를 요구하고, 이 요구에 따라서, 서비스게이트웨이(115)는 서비스 사용자 시스템(12)에게 메뉴 리스트를 준다.
서비스 사용자 시스템(12)은 메뉴 리스트에서 주문형 비디오 서비스를 선택한다.
서비스게이트웨이(115)는 서비스 제공자 시스템(11)과 서비스 사용자 시스템(12) 사이에 세션을 연결한다.
서비스 제공자 시스템(11)의 응용서비스부(112)는 요구 받은 서비스에 대하여 서비스 사용자 시스템(12)이 정당한 사용자인지 클라인언트프로파일에게 문의하여, 정당한 사용자라면 주문형 비디오 서비스의 프로그램 리스트를 서비스 사용자 시스템(12)에게 전송한다. 정당하지 않은 사용자의 서비스 요청은 거절된다.
프로그램 리스트를 전송받은 서비스 사용자 시스템(12)은 프로그램을 선택하여 서비스 제공자 시스템(11)에 보낸다.
서비스 제공자 시스템(11)의 응용서비스부(112)는 저장관리자(111)에게 프로그램 검색을 요구하고, 스트림서비스부(114)는 서비스 사용자 시스템(12)에게 스트림 서비스 준비를 통보한다.
서비스 사용자 시스템(12)으로부터 재생 명령을 요구받으면 실제적인 스트림을 전송한다.
도2는 본 발명에 의한 프록시 서버를 이용한 주문형 비디오 시스템의 구성도이다.
주문형 비디오 서비스에서 액세스 시간을 줄이기 위하여, 서비스 사용자 시스템에서, 서비스 제공자 시스템에서, 또는 프록시 서버 시스템에서 각각 캐싱 기능을 가질 수 있다.
서비스 사용자 시스템에서 캐싱할 경우에는 서비스 사용자 시스템에 디스크를 설치하여야 하는 비용 부담을 가지고 캐싱 히트율(hit rate)이 높지 않으므로 비효율적이다. 서비스 제공자 시스템에서 캐싱할 경우에는 서비스 제공자 시스템의 메모리 내 캐싱만이 이루어지므로 네트워크 측면에서 큰 의미가 없고 사용자가 느끼는 액세스 시간에 큰 변화가 없다. 따라서 본 발명에서는 프록시 서버를 두어 캐싱하는 경우를 고려한다.
프록시 서버는 하나의 복사본만이 필요하므로 서비스 사용자 시스템에 캐싱하는 경우와 비교하여 디스크 공간을 절약할 수 있고, 프로그램이 히트되는 경우 서비스 제공자 시스템의 부하를 줄일 수 있으므로 동시에 여러 명의 사용자에게 서비스할 수 있다. 따라서 서비스 제공자 시스템과 별도의 프록시 서버를 두어 캐싱하는 것이 효율적이므로 프록시 서버를 이용한 DAVIC 주문형 비디오 시스템을 제안하고자 한다.
프록시 서버(23)의 구조는 사용자의 요구를 반영하여 저장할 수 있는 구조로서, 서비스 제공자 시스템(21)이 갖는 대부분의 기능들을 가지나, 서비스 제공자 시스템(21)이 제공하는 모든 비디오 프로그램에 대한 일부분만을 보유하고 있어 용량이 작다. 또한, 서비스 사용자 시스템(22)과 지역적으로 가까운 위치에 설치되어 서비스 제공자 시스템(21)보다 신속하게 서비스에 대응할 수 있고 서비스 제공자 시스템(21)의 부하를 분담한다.
도2에 도시된 본 발명에 의한 주문형 비디오 시스템에서의 프록시 서버(23)의 기능을 상세하게 설명하면 다음과 같다.
프록시 서버(23)는 서비스 사용자 시스템(22)이 요청한 프로그램이 자신의 디스크에 없을 경우, 서비스 제공자 시스템(21)으로부터 프로그램을 받아서 서비스 사용자 시스템(22)으로 전송하고, 자신에 디스크에 저장하여 저장된 프로그램이 다시 요청될 경우 바로 서비스를 제공할 수 있도록 한다.
서비스 제공자 시스템(21)으로부터 프로그램을 받는 도중에 서비스 사용자 시스템(22)으로부터 서비스 중단 요청을 받으면, 프록시 서버(23)는 서비스 사용자 시스템(22)에게 보내는 프로그램의 전송을 중단하고 서비스 제공자 시스템(21)으로부터 계속 프로그램을 받아서 자신의 저장 장치에 한 편의 프로그램을 저장한다. 이때 서비스 사용자 시스템의 과금 정보는 서비스가 중단된 시점까지를 기록한다.
프록시 서버(23)에 프로그램을 저장할 때, 저장 공간을 확보하기 위하여 종래의 비디오 프로그램을 대치하는 캐시 대치 알고리즘을 수행한다.
서비스 제공자 시스템(21)은 서비스 사용자 시스템(22)이 요구한 프로그램을 바로 재생하지 않고, 프록시 서버(23)에게 제어권을 넘겨준다.
서비스 제공자 시스템(21)이 보유한 프로그램이 변경될 경우, 복사본을 가진 프로그램이 더 이상 유효하지 않음을 프록시 서버(23)에게 통보하여, 서비스 제공자 시스템(21)과 프록시 서버(23)간의 데이터의 일치성을 유지한다.
서비스 제공자 시스템(21)은 프록시 서버(23)로부터 과금 정보를 받아서 저장한다.
상기한 바와 같은 기능을 수행하기 위하여, 프록시 서버(23)의 각 부는 다음과 같은 기능을 한다.
프록시스트림서비스부(231)는 서비스 제공자 시스템(21)의 스트림서비스부(214)와 동일한 기능을 한다. 즉, 스트림 계층에서 내용 흐름에 대한 처리를 수행한다.
프록시세션게이트웨이(232) 역시 서비스 제공자 시스템(21)의 세션게이트웨이(216)와 동일한 기능을 한다. 즉, 망내 시스템들간의 연결을 위하여 자원의 추가 및 제거를 수행한다.
프록시클라이언트프로파일(233) 역시 서비스 제공자 시스템(21)의 클라이언트프로파일(117)과 동일한 기능을 한다. 즉, 서비스를 요구하는 사용자에 대한 인증 검사를 수행하고, 사용자의 서비스 요구 빈도, 프로그램명 등의 정보를 기록하여 서비스 관리 센터(24)로 전달한다.
프록시응용서비스부(234)는 서비스 사용자 시스템(22)이 선택한 프로그램이 프록시 서버에 존재하는지의 여부를 검색하여, 존재하는 경우 캐시및저장관리자(235)에 프로그램의 스트림을 요구한다. 존재하지 않는 경우, 자신과 연결된 서비스 제공자 시스템(21)의 응용서비스부(212)에 해당 프로그램을 요청한다.
캐시및저장관리자(235)는 서비스 제공자 시스템(21)으로부터 받은 새로운 프로그램명을 저장하고 저장된 프로그램명을 프록시응용서비스부(234)에게 통보한다. 또한, 캐시 대치 알고리즘을 수행하여 저장 공간을 확보한다.
상기한 바와 같은 구조를 가지는 본 발명에 의한 프록시 서버를 이용하는 주문형 비디오 시스템의 동작을 설명한다. 주문형 비디오 시스템의 동작을, 서비스 사용자 시스템과 서비스 제공자 시스템간의 연결 단계, 서비스 제공자 시스템과 서비스 제공자 시스템간의 연결 단계, 프로그램 스트림 전송 및 제어 단계, 서비스 사용자 시스템과 프록시 서버간의 해제 단계로 구분하여 설명하기로 한다.
<서비스 사용자 시스템과 서비스 제공자 시스템간의 연결 단계>
이 단계는 프록시 서버가 없는 도1에 도시된 주문형 비디오 시스템에서의 서비스 사용자 시스템과 서비스 제공자 시스템간의 연결과 동일하다.
<서비스 제공자 시스템과 프록시 서버간의 연결 단계>
서비스 제공자 시스템(21)은 서비스 사용자 시스템(22) 사이와의 세션 연결을 서비스 제공자 시스템(21)과 프록시 서버(23), 프록시 서버(23)와 서비스 사용자 시스템(22)의 연결로 전환하고, 프록시 서버(23)에게 사용자 식별 번호와 요청된 프로그램명을 넘겨준다.
프록시 서버(23)의 프록시응용서비스부(234)는 캐싱 테이블을 이용하여 요청된 프로그램의 유무를 검사한다.
검사 결과 프로그램이 있으면, 프록시 서버(23)의 캐시및저장관리자(235)에게 프로그램을 요구한다.
캐시및저장관리자(235)는 프록시스트림서비스부(231)로 스트림 서비스를 요청한다.
프록시스트림서비스부(231)는 서비스 사용자 시스템(22)의 응용부(222)에 스트림 서비스 준비 통보를 한다.
서비스 사용자 시스템(22)으로부터 재생 명령을 받으면 실제적인 스트림을 전송한다.
검사 결과 프로그램이 없으면, 서비스 제공자 시스템(21)의 응용서비스부(212)에게 프로그램을 요구하고, 응용서비스부(212)는 저장관리자(211)에게 프로그램을 요구한다.
<프로그램 스트림 전송 및 제어 단계>
프록시 서버(23)가 비디오 프로그램을 보유한 경우, 프록시스트림서비스부(231)가 서비스 사용자 시스템(22)에게 스트림을 전송하고, 프록시 서버(23)가 비디오 프로그램을 보유하지 않은 경우, 서비스 제공자 시스템(21)을 통하여 비디오 프로그램을 받아서 서비스 사용자 시스템(22)에 전송한다.
프록시 서버(23)의 캐시및저장관리자(235)는 서비스 제공자 시스템(21)으로부터 받은 프로그램을 저장하고, 프록시응용서비스부(234)는 캐싱 테이블을 수정한다. 이때, 캐시및저장관리자(235)는 디스크에 저장할 공간이 없는 경우 캐시 대치 알고리즘을 이용하여 대치할 프로그램 목록을 선택한다.
프록시 서버의 캐시 대치는 두가지로 구분된다. 첫 번째는 해당 프로그램이 프록시 서버의 디스크에 저장되어 있는지 여부에 대한 프로그램 캐싱이고, 둘째는 프로그램의 비디오 스트림이 프록시 서버의 메모리에 존재하는지 여부에 대한 메모리 캐싱이다.
도3은 본 발명에 의한 주문형 비디오 시스템의 프록시 서버의 캐싱 정보 테이블이다. 도3a는 각 프로그램에 대한 최고인덱스 테이블(PPHIT, Per-Program High Index Table)이고, 도3b는 MPEG-TS의 주메모리내의 배열이다.
캐시 대치는 프록시 서버의 캐시및저장관리자가 PPHIT를 참조하여 수행한다. PPHIT는 프로그램 식별번호, 프로그램이 저장된 디스크의 시작블럭번호, 최고인덱스로 이루어진다. 일반적으로 프로그램들은 MPEG-TS 형태로 디스크에 저장되므로 한편의 프로그램은 일련의 MPEG-TS들의 집합이다. 최고인덱스는 현재까지 프록시 서버에 저장된 프로그램의 마지막 MPEG-TS의 번호이다.
프로그램에 대한 캐싱은 테이블의 프로그램 식별번호 필드를 검색하여 프로그램의 유무를 조사한다. 프로그램이 없는 경우 서비스 제공자 시스템으로부터 프로그램을 받아서 테이블의 빈 엔트리에 새로운 프로그램을 등록한다. 테이블에 빈 엔트리가 없는 경우, 프로그램 캐시 대치 기법에 따라서 프로그램을 선택하여 대치한다.
프로그램 캐시 대치는 프로그램의 접근 시간을 비교하여 가장 오래된 접근 시간을 가지는 프로그램을 대치하는 LRU(Least Recently Used) 알고리즘, 프로그램의 접근 빈도를 비교하여 가장 작은 접근 빈도를 가지는 프로그램을 대치하는 LFU(Least Frequently Used) 알고리즘, 또는 가장 먼저 생성된 프로그램을 대치하는 FIFO(First In First Out) 알고리즘등이 적용될 수 있다.
서비스 사용자 시스템이 스트림 제어를 요구하는 경우, 프록시 서버는 디스크에서 MPEG-TS를 받아 디스크에 저장하고, 캐싱 정보 테이블의 최고인덱스를 수정한다. 메모리 캐싱인 경우 일반적인 운영 체제에서 메모리와 디스크 사이는 페이지 대치가 발생하므로 재생하려는 MPEG-TS가 메모리에 적재된 페이지에 있으면 그것을 사용하고 없으면 디스크에서 페이지 단위로 읽어들인다.
스트림에 대한 제어는 프록시 서버(23)에 스트림이 있는 경우 프록시 서버(23)에서 수행하고, 없는 경우에는 서비스 제공자 시스템(21)에게 제어권을 넘겨준다.
한편, 프록시 서버(23)가 서비스 제공자 시스템(21)으로부터 스트림을 받는 도중에 서비스 사용자 시스템(22)이 빨리감기 명령을 요청하면 빨리감기 지점의 스트림이 프록시 서버(23)에 없을 수 있다. 이 경우, 프록시 서버(23)는 빨리감기 명령을 서비스 제공자 시스템(21)에게 넘겨주어서 서비스 제공자 시스템(21)에서 제공하는 스트림을 받아서, 자신의 디스크에 저장하지 않고 바로 서비스 사용자 시스템(22)에게 넘겨준다. 프록시 서버(23)는 프로그램의 저장이 중단된 지점의 NPT(Normal Play Time) 값을 저장한다. NPT는 스트림이 처음부터 정상적인 속도로 재생될 때 이에 상응하는 상대적인 시간값을 의미한다.
서비스가 끝난 후, 서비스 제공자 시스템(21)과 별도의 연결을 시도하여 저장된 프로그램의 NPT값 이후의 비디오 스트림을 받아서 자신의 디스크에 저장하고, NPT에 대응되는 MPEG-TS 번호를 구하여 내부적으로 사용되는 캐싱 테이블을 수정한다.
도4는 본 발명에 의한 프록시 서버를 사용하는 주문형 비디오 시스템에서의 빨리감기 제어를 설명하는 도면이다.
도4에 도시된 바와 같이, 서비스 사용자 시스템(22)이 A부분에서 C부분으로 빨리감기를 요청한 경우, 프록시 서버(23)는 서비스 제공자 시스템(21)으로부터 C부분을 받아서 저장하지 않고 바로 서비스 사용자 시스템(22)에 넘겨준다. 이후 서비스 제공자 시스템(21)과 별도의 연결을 통하여 나머지 B부분과 C부분을 저장한다.
도5는 본 발명에 의한 프록시 서버를 사용하는 주문형 비디오 시스템에서의 되감기 제어를 설명하는 도면이다.
한편, 프록시 서버(23)가 서비스 제공자 시스템(21)으로부터 스트림을 받는 상태에서 서비스 사용자 시스템(22)이 되감기 명령을 요청하는 경우, 재생되는 비디오 스트림 부분을 서비스 제공자 시스템(21)으로부터 다시 받아서, 저장하고 사용자에게 전송한다. 서비스 사용자 시스템(22)이 B부분까지 되감기를 한 경우, 서비스 제공자 시스템(21)으로부터 새로 재생되는 B, C 부분을 받아 자신의 디스크에 저장하고 사용자에게 전송한다.
<서비스 사용자 시스템과 프록시 서버간의 해제 단계>
프록시 서버(23)가 직접 프로그램을 제공하는 경우, 서비스 사용자 시스템이 정지 명령을 요청하면 프록시 서버(23)는 서비스 사용자 시스템과의 모든 연결을 해제하여 서비스를 종료한다.
프록시 서버(23)가 서비스 제공자 시스템(21)으로부터 프로그램을 받는 도중에 정지 명령을 수신하면, 프록시 서버(23)는 서비스 사용자 시스템(22)과의 연결을 해제하여 서비스를 종료하고 서비스 제공자 시스템(21)과의 연결은 유지하여 프로그램의 나머지 부분을 저장한다.
서비스 사용자 시스템(22)의 사용 기록은 주기적으로 서비스 관리 센터(24)로 전송하여 과금 정책, 향후 서비스 개선 등에 사용될 수 있도록 지원한다.
상기한 바와 같은 본 발명에 의한 프록시 서버를 이용한 주문형 비디오 시스템의 성능을 시뮬레이션을 통하여 분석한다.
시뮬레이션의 가정은 서비스를 요청한 사용자에 대한 인증 검사에서 99%는 정당한 사용자이고, 1%는 정당하지 못한 사용자라고 가정하고 파라미터들은 다음과 같이 설정하였다.
- 프로그램 한 편의 크기: 2Mbps로 코딩된 100분 짜리 영화를 가정하여 2Mbps/8bit=0.25Mbyte/초이므로 프로그램 한 편의 크기는 0.25Mbyte/초×60초×100분=1.5Gbyte이다.
- 시간 파라미터 : 각 부의 처리 시간에 대한 임의 변수는 0.5∼1.5ms, 서비스 사용자 시스템과 서비스 제공자 시스템간은 8∼9ms, 서비스 사용자 시스템과 프록시 서버간은 5∼6ms, 그리고 서비스 제공자 시스템과 프록시 서버간은 6∼7ms의 범위내에서 각각 균등 분포를 가정한다. 또한, 각 시스템의 디스크 액세스 시간은 25∼30ms 범위내에서의 균등 분포로 가정한다.
- 가입자의 수 : 1000명
- 서비스 요청 빈도 : 가입자 당 평균 하루에 한 번 요구하는 포아송 분포로 가정하여, 24시간×3600초/1000명=86.5초이므로 약 90초마다 하나의 서비스 요구가 발생된다고 가정한다.
- 프록시 서버의 최대 디스크 용량 : 80편×1.5Gbyte=120Gbyte.
- 서비스 제공자 시스템에서 보유하는 최대 영화 편수 : 총 1000편.
- 프로그램별 선호도 : 일반적인 비디오 관람자는 최신 영화에 대한 수요가 많을 것으로 예상되므로 프로그램Ⅰ 그룹은 최근 히트하는 영화로 전체 1000편 가운데 80편의 영화를, 프로그램Ⅱ 그룹은 히트 시기가 지난 일반적인 영화로 1000편 가운데 720편을, 프로그램Ⅲ 그룹은 오래된 영화로서 200편 정도를 가정하고, 각 그룹에 대한 서비스 요구 확률을 다음의 표1과 같이 설정한다.
프로그램 그룹별 서비스 요구 확률
프로그램 그룹 등급 서비스 요구 확률
ⅠⅡⅢ 최신 영화일반 영화오래된 영화 0.850.100.05
- 메모리 내 MPEG-TS 히트 확률 : 0.2
도6은 상기한 파라미터들을 적용하여, LRU, LFU, FIFO 캐시 대치 알고리즘에 따른 프록시 서버의 디스크 크기와 히트율의 관계를 시뮬레이션 한 도표이다. 도6에서 보이는 바와 같이, LFU 방식이 다른 두 가지 방식에 비하여 히트율이 높다. 주문형 비디오 서비스는 최신작이나 인기 프로그램에 대한 요구가 증가하는 특징을 가지므로 캐시 대치 알고리즘에서 프로그램이 재생된 시각을 비교하는 것보다는 프로그램이 재생된 빈도를 비교하는 것이 더 타당하는 것임을 이 결과로부터 알 수 있다. 또한, 프록시 서버의 하드 디스크 크기가 커질수록 히트율이 증가하는 것을 알 수 있고 프록시 서버에 설치할 디스크 용량도 추정할 수 있다. 서비스 요구 확률이 가장 높은 프로그램 그룹Ⅰ의 서비스 요구 확률이 0.85이므로 히트율이 0.85에 근접하는 디스크 크기를 프록시 서버의 용량으로 결정하면 효과적이다.
도7은 디스크 크기와 첫 화면 응답 시간과의 관계를 도시한 도표이다.
도7에서 보이는 바와 같이, 디스크 크기에 따라서 첫 화면을 수신하는 응답 시간 역시 LFU 방식이 다른 두 가지 방식에 비하여 작은 것으로 나타난다. 3가지 캐시 대치 방식의 결과는 프로그램이 히트한 경우와 미스(miss)한 경우를 모두 고려한 평균 응답 시간을 나타내며 히트율이 100%인 경우는 프록시 서버에 요청한 프로그램이 모두 존재하는 경우의 응답 시간이다.
첫 화면 응답 시간은 프록시 서버를 사용하는 경우가 사용하지 않는 경우에 비하여 큰 것으로 나타난다. 이것은 프록시 서버를 사용하는 경우에도 서비스 사용자 시스템과 처음 접속되는 것은 서비스 제공자 시스템이고, 서비스 제공자 시스템에서 프록시 서버에게 서비스 사용자 시스템과의 연결을 넘겨주므로 이에 대한 오버헤드가 발생하여 나타나는 것이다.
도8은 디스크 크기와 스트림 제어에 대한 응답 시간과의 관계를 도시한 도표이다.
도8에서 보이는 바와 같이, 서비스 사용자 시스템과 프록시 서버가 이미 연결된 상태에서 빨리감기, 되감기, 일시정지 등과 같은 스트림 제어에 대한 응답 시간은 프록시 서버를 사용하는 경우가 프록시 서버를 사용하지 않는 경우에 비하여 우수한 것으로 나타난다.
사용자가 요청한 비디오 스트림이 프록시 서버에 있으면 프록시 서버가 스트림을 서비스 사용자 시스템에게 넘겨주고 없으면 서비스 제공자 시스템으로부터 받아서 넘겨주므로 히트율에 따른 응답 시간의 차이가 발생한다. 일반적으로 사용자들은 첫 화면에 대한 응답 시간보다 영화 시청 중 요청하는 스트림 제어에 대한 응답 시간에 더 민감하므로 프록시 서버를 이용하여 사용자에게 스트림 제어에 대한 빠른 응답 시간을 제공하는 것이 효과적이다.
도9는 서비스 요청 빈도에 따른 첫 화면 응답 시간을 도시한 도표이다.
도9에서 보이는 바와 같이, 서비스 요청 빈도가 작을 경우 서비스 제공자 시스템에서의 응답 시간이 빠르다. 그러나, 서비스 요청 빈도가 커지면 서비스 제공자 시스템의 부하가 증가하여 프록시 서버를 사용하지 않는 경우가 프록시 서버를 사용하는 경우에 비하여 응답 시간이 커지는 것으로 나타났으며 과부하가 발생될 가능성이 있는 것을 보여준다. 프록시 서버를 사용하며 서비스 제공자 시스템의 부하를 분담하여 많은 사용자를 수용할 수 있고, 히트율이 높을수록 응답 시간이 작다.
도10은 서비스 요청 빈도에 따른 스트림 제어 응답 시간을 도시한 도표이다.
도10에서 보이는 바와 같이, 스트림 제어에 대한 응답 시간의 변화에서도 프록시 서버를 사용하는 경우가 프록시 서버를 사용하지 않는 경우보다 응답 시간이 작다. 또한, 프록시 서버의 히트율이 높을수록 응답 시간이 작고, 사용자의 요청 빈도가 커지면 응답 시간이 급격히 커지는 것을 볼 수 있다.
이상에서 설명한 바와 같이, 본 발명은, DAVIC에서 권고하는 주문형 비디오 서비스의 서비스 제공자 시스템과 서비스 사용자 시스템의 사이에 있고, 서비스 사용자 시스템으로부터 자주 액세스되는 스트림들에 대한 캐싱 기능을 가지는 프록시 서버를 사용하여, 스트림 제어에 대한 응답 시간을 감소시키고, 서비스 제공자 시스템의 부하를 분산시킬 수 있으며, 많은 사용자를 수용할 수 있는 장점이 있다.

Claims (7)

  1. (정정) 서비스 프로그램을 보유하고 서비스를 제공하는 서비스 제공자 시스템과 서비스를 최종적으로 사용하는 소비자인 서비스 사용자 시스템을 포함하는 주문형 비디오 시스템에 있어서, 상기 서비스 제공자 시스템과 상기 서비스 사용자 시스템 사이에 위치하며 상기 서비스 사용자 시스템이 요구하는 프로그램이 프록시 서버의 디스크에 있는 경우 프록시 서버가 서비스를 제공하고, 상기 서비스 사용자 시스템이 요구하는 프로그램이 프록시 서버의 디스크에 없는 경우 서비스 제공자 시스템으로부터 프로그램을 수신하여 서비스 사용자 시스템에 제공하는 동시에 자신의 디스크에 저장하여 캐싱하는 프록시 서버를 이용하며, 상기 프록시 서버의 캐싱은 서비스 사용자 시스템이 요구하는 프로그램이 프록시 서버의 디스크에 저장되어 있는지의 여부에 대한 프로그램 캐싱과 해당 프로그램의 비디오 스트림이 프록시 서버의 메모리에 존재하는지 여부에 대한 메모리 캐싱으로 구분되는 것임을 특징으로 하는 주문형 비디오 시스템.
  2. (삭제)
  3. (정정) 제1항에 있어서, 상기 프록시 서버의 프로그램 캐싱은, 캐싱 정보 테이블의 프로그램 식별 번호 필드를 검색하여 프로그램의 유무를 조사하여, 프로그램이 없는 경우, 상기 서비스 제공자 시스템으로부터 프로그램을 받아서 테이블의 빈 엔트리에 새로운 프로그램을 등록하는데, 테이블에 빈 엔트리가 없는 경우 캐시 대치를 수행하는 것임을 특징으로 하는 프록시 서버를 이용하는 주문형 비디오 시스템.
  4. (정정) 제1항에 있어서, 상기 프록시 서버의 메모리 캐싱은, 프록시 서버의 디스크로부터 MPEG-TS를 읽고, 서비스 사용자 시스템에 의하여 요구되는 MPEG-TS 번호가 캐싱 정보 테이블에 저장된 최고인덱스보다 클 경우, 재생하고자 하는 MPEG-TS가 메모리에 없는 것으로 판단하여 서비스 제공자 시스템으로부터 MPEG-TS가 포함된 페이지를 받아서 메모리에 적재하고, 캐싱 정보 테이블의 최고인덱스를 수정하는 것임을 특징으로 하는 프록시 서버를 이용하는 주문형 비디오 시스템.
  5. 제3항에 있어서, 상기 프록시 서버의 프로그램 캐싱시 캐시 대치 기법은, 프로그램의 접근 빈도를 비교하여 가장 작은 접근 빈도를 가지는 프로그램을 대치하는 것임을 특징으로 하는 프록시 서버를 이용하는 주문형 비디오 시스템.
  6. 제4항에 있어서, 상기 프록시 서버가 상기 서비스 제공자 시스템으로부터 스트림을 받는 도중에 서비스 사용자 시스템이 빨리감기 명령을 요청하는 경우, 프록시 서버는 서비스 제공자 시스템에서 제공하는 스트림을 자신의 디스크에 저장하지 않고 바로 서비스 사용자 시스템에게 넘겨주고, 서비스가 끝난 후, 서비스 제공자 시스템과 별도의 연결을 시도하여 상기 스트림을 받아서 자신의 디스크에 저장하는 것임을 특징으로 하는 프록시 서버를 이용한 주문형 비디오 시스템.
  7. 제4항에 있어서, 프록시 서버가 서비스 제공자 시스템으로부터 스트림을 받는 상태에서 서비스 사용자 시스템이 되감기 명령을 요청하는 경우, 재생되는 비디오 스트림 부분을 서비스 제공자 시스템으로부터 다시 받아서, 저장하고 서비스 사용자 시스템에 전송하는 것임을 특징으로 하는 프록시 서버를 이용한 주문형 비디오 시스템.
KR1019980017753A 1998-05-16 1998-05-16 프록시서버를이용한주문형비디오시스템 KR100303019B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980017753A KR100303019B1 (ko) 1998-05-16 1998-05-16 프록시서버를이용한주문형비디오시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980017753A KR100303019B1 (ko) 1998-05-16 1998-05-16 프록시서버를이용한주문형비디오시스템

Publications (2)

Publication Number Publication Date
KR19980042985A KR19980042985A (ko) 1998-08-17
KR100303019B1 true KR100303019B1 (ko) 2001-11-22

Family

ID=37529697

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980017753A KR100303019B1 (ko) 1998-05-16 1998-05-16 프록시서버를이용한주문형비디오시스템

Country Status (1)

Country Link
KR (1) KR100303019B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100364401B1 (ko) * 1999-12-31 2002-12-11 엘지전자 주식회사 가상 서버를 이용한 멀티미디어 서비스 시스템

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000054441A (ko) * 2000-06-07 2000-09-05 윤광희 지역 분산형 주문형 비디오 시스템 및 이를 이용한 주문형비디오 서비스 제공방법
JP2003067527A (ja) * 2001-08-29 2003-03-07 Nec Corp コンテンツアクセス管理装置及びそれに用いるコンテンツアクセス管理方法並びにそのプログラム
KR101146938B1 (ko) * 2010-06-03 2012-05-22 한국과학기술정보연구원 클라우드 컴퓨팅 환경을 적용한 디지털 케이블 방송에서의 주문형 비디오 서비스 제공 장치 및 제공 방법 그리고 그 방법을 수행하는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100364401B1 (ko) * 1999-12-31 2002-12-11 엘지전자 주식회사 가상 서버를 이용한 멀티미디어 서비스 시스템

Also Published As

Publication number Publication date
KR19980042985A (ko) 1998-08-17

Similar Documents

Publication Publication Date Title
US10085063B2 (en) Peer-to-peer video on demand techniques
Little et al. Prospects for interactive video-on-demand
KR100994948B1 (ko) 디지털 콘텐트 파일을 분배하는 방법 및 디지털 콘텐트 분배 시스템
JP4920863B2 (ja) 分散格納のためのp2pネットワークアーキテクチャ
US7624412B2 (en) Recording and playback system
CA2446602C (en) Modular storage server architecture with dynamic data management
Acharya et al. Middleman: A video caching proxy server
US7359955B2 (en) Metadata enabled push-pull model for efficient low-latency video-content distribution over a network
JP4934650B2 (ja) 瞬時のメディア・オン・デマンド
KR100443673B1 (ko) 사용자 히스토리 기반 멀티미디어 서비스 시스템
US20070056002A1 (en) System and method for distributed video-on-demand
CN108513162A (zh) 直播回看的缓存、播放方法及系统
CN101202882A (zh) 一种媒体资源传输方法、系统及机顶盒
KR100303019B1 (ko) 프록시서버를이용한주문형비디오시스템
Satsiou et al. Efficient caching of video content to an architecture of proxies according to a frequency-based cache management policy
Ogo et al. Novel dynamic caching for hierarchically distributed video-on-demand systems
Pan et al. CS237 Project Interactive Movie Streaming Service

Legal Events

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

Payment date: 20130626

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20140701

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20160627

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20170626

Year of fee payment: 17