KR100734629B1 - 부분 캐싱 방법 및 이를 이용한 적응형 콘텐츠 전송 방법 - Google Patents

부분 캐싱 방법 및 이를 이용한 적응형 콘텐츠 전송 방법 Download PDF

Info

Publication number
KR100734629B1
KR100734629B1 KR1020050095554A KR20050095554A KR100734629B1 KR 100734629 B1 KR100734629 B1 KR 100734629B1 KR 1020050095554 A KR1020050095554 A KR 1020050095554A KR 20050095554 A KR20050095554 A KR 20050095554A KR 100734629 B1 KR100734629 B1 KR 100734629B1
Authority
KR
South Korea
Prior art keywords
transcoding
cache
space
type
caching
Prior art date
Application number
KR1020050095554A
Other languages
English (en)
Other versions
KR20070035911A (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 KR1020050095554A priority Critical patent/KR100734629B1/ko
Priority to US11/528,905 priority patent/US7478200B2/en
Publication of KR20070035911A publication Critical patent/KR20070035911A/ko
Application granted granted Critical
Publication of KR100734629B1 publication Critical patent/KR100734629B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • G06F12/127Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack

Abstract

본 발명은 적응형 콘텐츠 전송에 있어서 객체의 분할을 통해 캐싱 공간을 최대한 확보하면서, 다양한 목적지 유형의 캐싱이 가능한 부분 캐싱 방법 및 이를 이용한 적응형 콘텐츠 전송 방법에 관한 것으로서, 그 구성은 캐시를 이용하여 임의 유형의 객체를 다수의 목적지 유형으로 트랜스코딩하는 트랜스코딩 프록시 스트리밍 서버에 있어서, 각 객체를 두 개로 분할하기 위한 분할 위치를 설정한 후, 캐시 내의 공간 확보를 위한 퇴출 요청이 수신되면, 캐시에 저장된 각 객체를 상기 설정된 분할위치를 기준으로 하여 선두에 위치하는 제1 부분와, 후미에 위치하는 제2 부분으로 분할한 후, 상기 제2 부분을 제거하고 제1 부분만을 캐시에 남기는 것을 기술적 요지로 한다.
적응형 콘텐츠 전송, 스트리밍, 트랜스코딩, 캐싱,

Description

부분 캐싱 방법 및 이를 이용한 적응형 콘텐츠 전송 방법{Fractional caching method and adaptive content transmission method using the same}
도 1은 본 발명이 적용되는 트랜스코딩 스트리밍 서비스 망의 구성도이다.
도 2a 및 도 2b는 본 발명이 적용되는 스트리밍 서버 및 트랜스코딩 프록시 스트리밍 서버의 상세 구성도이다.
도 3은 본 발명에 의한 적응형 콘텐츠 전송 방법을 나타낸 플로우챠트이다.
도 4는 본 발명에 의한 부분 캐싱 방법을 나타내는 플로우챠트이다.
*도면의 주요 부분에 대한 부호의 설명*
100: 프록시 클러스터
101: 콘텐츠 관리 서버
102~104: 사용자 단말
105: 스트리밍 서버
106~108: 트랜스코딩 프록시 스트리밍 서버
본 발명은 적응형 콘텐츠 전송을 위한 트랜스코딩 스트리밍 서버에 적용되는 부분 캐싱 방법 및 이를 이용한 적응형 콘텐츠 전송 방법에 관한 것이다.
네트워크 망 성능과 컴퓨팅 파워의 증가로 전세계를 연결하는 컴퓨터 통신망인 인터넷(Internet)의 활용도가 점점 증가하고 있으며, 그에 따라서, 미디어 콘텐트를 끊김없이 고속으로 실시간 서비스받고자 하는 요구 또한 증가하고 있다.
아울러, 미디어 콘텐츠의 디지털 표현 방식이 점점 더 다양해지고 복잡해지면서, 어떤 유형의 미디어 콘텐츠를 다른 유형의 미디어 콘텐츠로 변환하여 제공하는 적응형 콘텐츠 전송 기술에 대한 요구 또한 증가하고 있다.
즉, 미디어 콘텐츠의 전송에 있어서, 가장 중요한 점은 끊김없이 고속으로 전달하는 것과, 사용자 단말의 환경(예를 들어, 네트워크 대역폭, 파일 포맷, 압축 기술등)에 맞는 유형의 미디어 콘텐츠를 제공하는 것이다.
종래의 적응형 콘텐츠 전송 방법은 하나의 소스 유형에 대해서 여러 개의 목적지 유형을 미리 트랜스코더를 통해 제작하여 저장해 둔 상태에서, 사용자의 단말 유형, 네트워크의 대역폭 유형에 따라서 적절한 미디어 콘텐트를 선택하여 서비스하는 오프라인 방식으로 시작되었으나, 목적지 유형을 결정하는 사용자 단말의 유형이 빠른 속도로 변화되어감에 따라서 다양한 사용자 단말 유형을 지원할 수 있도록 하기 위하여, 사용자의 스트리밍 요구 시점에서 실시간으로 트랜스코딩을 수행하여 사용자 단말로 제공하는 온-더-플라이(on-the-fly) 방식으로 기능 확장이 이 루어지고 있다.
상기에서 사용자의 요구 시점에 실시간으로 사용자 단말의 유형 및 네트워크 대역폭의 유형에 맞춰 트랜스코딩한 후 스트리밍하는 서버를 트랜스코딩 프록시 스트리밍 서버(Transcoding Proxy streaming server)라 하며, 온-더-플라이 방식의 트랜스코딩기능을 갖는 프록시 확장 모델은 트랜스코딩 고유의 특성상 CPU 부하를 많이 요구하기 때문에, 다수의 서버를 연결하는 프록시 클러스터 방식이 새롭게 대두되고 있다.
이러한 트랜스코딩 기능을 포함한 스트리밍 서버 및 프록시 클러스터에서는 빠른 서비스를 위해서, 소스 유형의 원본 미디어 콘텐트의 캐싱을 통해 바로 다른 목적지 유형으로 변경하는 것이 필수적이며, 이에 따라서 한정된 캐싱 공간을 효율적으로 사용하여 다양한 목적지 유형을 지원할 수 있으면서, 고속으로 끊김 없는(seamless) 서비스를 제공할 수 있도록 하는 새로운 캐싱 정책이 요구된다.
본 발명은 상술한 종래의 요구를 충족시키기 위하여 제안된 것으로서, 그 목적은 적응형 콘텐츠 전송에 있어서 객체의 분할을 통해 캐싱 공간을 최대한 확보하면서, 다양한 목적지 유형의 캐싱이 가능한 부분 캐싱 방법 및 이를 이용한 적응형 콘텐츠 전송 방법을 제공하는 것이다.
또한, 본 발명의 다른 목적은 객체의 분할을 통해 캐싱 공간을 최대한 확보하면서 형제 노드들 간의 연동을 통해 트랜스코딩 작업 자체의 특성인 CPU 부하에 기인한 단위 노드당 동시 트랜스코딩의 개수의 한계를 보완하여, 다양한 목적지 유형으로의 동시 트랜스코딩이 가능한 부분 캐싱 방법 및 이를 이용한 적응형 콘텐츠 전송 방법을 제공하는 것이다.
상술한 목적을 달성하기 위한 구성수단으로서, 본 발명은 캐시를 이용하여 임의 유형의 객체를 다수의 목적지 유형으로 트랜스코딩하는 트랜스코딩 프록시 스트리밍 서버에서의 부분 캐싱 방법에 있어서, 객체를 두 개로 분할하기 위한 분할 위치를 설정하는 설정 단계; 캐시 내의 공간 확보를 위한 퇴출 요청을 수신하는 수신 단계; 퇴출 요청이 수신되면, 캐시에 저장된 다수의 객체를 상기 설정된 분할위치를 기준으로 하여 선두에 위치하는 제1 부분과, 후미에 위치하는 제2 부분으로 분리하는 분리 단계; 및 상기 분리된 제2 부분을 제거하는 제1 제거 단계를 포함하는 것을 특징으로 한다.
더하여, 본 발명은 상술한 목적을 달성하기 위한 다른 구성수단으로서, 콘텐츠 관리 서버에 저장된 소스 유형을 캐싱하여 다수의 이기종 사용자 단말에 맞는 목적지 유형으로 트랜스코딩하는 적응형 콘텐츠 전송 방법에 있어서, 특정 목적지 유형의 객체가 요청되면, 캐시 내에 저장된 객체를 검색하여 인출 및 트랜스코딩 여부를 판단하는 단계; 상기 판단 결과, 인출 및 트랜스코딩이 필요한 경우, 충분한 캐싱 공간이 존재하는 지를 확인하는 단계; 상기 확인 결과, 충분한 캐싱 공간이 존재하지 않으면, 캐시 내에 저장된 객체들을 제1,2 부분으로 분리하여, 제1부분만 남기고 제2부분은 제거하는 단계; 및 상기 확인 결과, 충분한 캐싱 공간이 존재하면, 상기 판단에 따라서 대응하는 객체의 인출, 트랜스코딩, 스트리밍을 수행하는 단계를 포함한다.
이하, 첨부한 도면을 참조하여 본 발명의 구성 및 작용에 대하여 상세하게 설명한다.
도 1은 본 발명이 적용되는 미디어 콘텐츠 스트리밍 서비스 망의 개략 구성도로서, 101은 대표 콘텐츠 유형의 객체들을 보관하는 콘텐츠 관리 서버이고, 102~104는 다양한 네트워크 대역폭을 갖는 이기종의 사용자 단말로서 각각 PDA, 데스크탑 컴퓨터, 셀룰러 폰이고, 100은 프록시 클러스터이고, 105는 상기 콘텐츠 관리 서버(101)에 저장된 객체를 트랜스코딩없이 사용자단말(102~104)에 그대로 스트리밍하는 콘텐츠 스트리밍 서버이고, 106~108은 상기 프록시 클러스터(100)에서 속하며 콘텐츠 관리 서버(101)에 저장된 객체를 캐싱하여 요청된 목적지 유형으로 트랜스코딩한 후 사용자 단말(102~104)로 제공하는 트랜스코딩 프록시 스트리밍 서버이다.
상기 콘텐츠 관리 서버(101)와 상기 트랜스코딩 프록시 스트리밍 클러스터(100)는 IP 네트워크로 연결된다.
상기 다양한 이기종의 사용자 단말(102~104)로부터 요구된 특정 객체에 대한 요청은 상기 콘텐츠 스트리밍 서버(105) 또는 다수의 트랜스코딩 프록시 스트리밍 서버(106~108)중 하나가 스트리밍 데이터를 끊김 없이(seamless) 전송하게 된다.
도 2a 및 도 2b는 각각 미디어 콘텐츠 스트리밍 서비스 망에 구비되는 콘텐츠 스트리밍 서버와, 트랜스코딩 프록시 스트리밍 서버의 상세 구성도이다.
도 2a 및 도 2b에 나타난 바와 같이, 콘텐츠 스트리밍 서버(201)와 트랜스코딩 프록시 스트리밍 서버(202)는 모두 제어 프로세스인 메인 프로세서(203)와, 데이터 전송 프로세스인 하나 이상의 NS프로세서(231,232)를 포함하는 NS프로세서부(204)를 구비한다.
상기 콘텐츠 스트리밍 서버(201)와 트랜스코딩 프록시 스트리밍 서버(202)의 메인 프로세서(203)는 스트리밍 전용 프로토콜인 RTSP(RealTime Streaming Protocol)를 받는 데몬 쓰레드(RtspDaemonThread)(210)에 의해 사용자 연결을 받으며, 사용자와의 연결을 제어쓰레드(RtspThreadControllerThread)(211)에 의해 제어하여, 일정 임계치(Threshold) 이상이 되면 새로운 스택 쓰레드(RtspStackThread)(212)에 의해 관리한다. 또한, 공유 메모리 쓰레드(recvIPCSharedMemoryThread)(231)를 통해 공유메모리(221,222)를 사용하여 NS 프로세서부(204)와의 사이에 데이터를 주고 받는다.
상기 콘텐츠 스트리밍 서버(201)와 트랜스코딩 프록시 스트리밍 서버(202)의 NS 프로세서부(204)의 NS 프로세서(231,232)는 각각 공유 메모리(221,222)를 통해 데이터를 송수신하기 위한 공유 메모리 쓰레드(recvIPCNSSharedMemoryThread)(230)와, 하위의 디스크 하드웨어 환경하에서 서비스를 수행하는 펑핌 쓰레드(241)를 관리한다.
더하여, 상기 콘텐츠 스트리밍 서버(201)는 복수의 NS 카드(250)를 구비하여 스트리밍 가속 기능을 수행하고, 다수의 디스크어레이(270)를 통해 스트리밍 데이터를 저장한다. 상기 NS 카드(250)는 각각 네트워크 컨트롤러(251)와, PCI Memory(PMEM)(252)와, SCSI 컨트롤러(SCSI)(253)를 포함한다.
그리고 트랜스코딩 프록시 스트리밍 서버(202)는 상술한 스트리밍 가속 하드웨어인 NS 카드(250)와 함께 트랜스코더(260)를 더 구비하여, 실시간 트랜스코딩을 수행한다. 상기 트랜스코더(260)는 소프트웨어(S/W)로 구현된 트랜스코더(261)와 하드웨어 장치(DSP)(262)로 구성된다.
이상의 구성에 있어서, 상기 NS 프로세서(204)는 특정의 사용자 단말(102~104)로부터 스트리밍 서비스 요청 시, 사용자 단말(102~104)의 네트워크 대역폭과 맞는 버전의 콘텐츠 데이터가 있으면 상기 NS 카드(250)를 통해 디스크 어레이(270)에서 해당 데이터를 읽어들여 사용자 단말(102~104)로 전송하는 펌핑쓰레드(pumpingthread)(241)를 수행한다.
또한, 트랜스코딩이 필요한 서비스 요청 시는, 상기 트랜스코딩 프록시 스트리밍 서버(202)의 NS프로세서(204)는 NS 카드(250)를 통해 실제 가지고 있는 상위 버전의 비트 레이트(bit rate)를 가진 콘텐츠를 읽은 후, 트랜스코더(260)를 통해 목적지 유형의 비트 레이트(Bit rate)의 객체로 트랜스코딩하여 사용자에게 전송한다.
이하, 상기 도 1 및 도 2의 블럭도를 참조하여 본 발명에 의한 부분 캐싱 방 법 및 트랜스코딩 방법에 대해서 설명한다.
상기 콘텐츠 관리 서버(101)에 구비되는 대표 콘텐트 유형의 객체의 집합 S를 구비하며, 상기 집합 S에 속하는 각 객체 O에는 다양한 사용자 단말의 네트워크 대역폭 bi에 대응하는 다수의 버전 객체인 Obi가 존재한다. 여기서, 객체는 오디오, 비디오, 데이터, 이미지, 텍스트를 포함할 수 있다. 상기 콘텐츠 관리 서버(101)는 객체 O에 대해서 많은 버전의 Obi를 구비하는 것이 좋지만, 트랜스코딩 프록시 스트리밍 서버(106~108)에서 다른 버전의 Obi로 트랜스코딩가능하므로 모든 버전의 Obi를 구비할 필요는 없다.
이때, 특정 버전의 객체 Obi로 트랜스코딩 가능한 버전의 객체 Obj는 요청된 객체(Obi) 보다 높은 버전의 객체이어야 한다(bj > bi, bj는 객체 Obj의 네트워트 대역폭이고, bi는 객체 Obi의 네트워크 대역폭이다).
더하여, 상기 트랜스코딩 프록시 스트리밍 서버(106~108)는 콘텐츠 관리 서버(101)에 저장된 대표 유형의 객체(이하, 소스 유형이라 한다)를 캐싱하여 해당 객체를 요청하는 사용자 단말(102~104)의 유형(이하, 목적지 유형이라 한다)으로 트랜스코딩한 후 사용자 단말(102~104)로 스트리밍하는데, 이때 캐싱 공간을 관리하는데, 캐싱 공간에 저장되는 각 객체 Obi,Obj를 제1 부분(prefix-Obi)과 제2 부분(suffix-Obi)으로 분리한다. 여기서, 제1 부분은 분할 위치를 기준으로 하여 해당 객체의 선두에 위치한 부분이며, 제2 부분은 후미에 위치하는 부분이다. 상기와 같이, 하나의 객체를 제1,2 부분, 두 개로 분리하고, 캐시 내에는 제1 부분만을 남기고, 제2 부분은 제거한다. 이때, 제1 부분과 제2 부분의 분할 위치는 사용자 단 말의 복잡도가 증가하면 분할위치를 앞쪽으로 가까워지게 함으로써, 제1 부분의 사이즈를 줄여 한정된 캐싱 공간에서 더욱 다양한 목적지 유형을 동시에 캐싱할 수 있게 하고, 사용자 단말의 복잡도가 감소하면, 분할위치를 뒤쪽에 가까워지게 함으로써, 제1 부분의 사이즈를 늘여, 목적지 유형에 더 근접한 객체를 캐싱할 수 있도록 한다.
상기와 같이, 캐싱 공간 내에 임시로 저장되는 인출 혹은 트랜스코딩된 객체의 일부만을 남김으로써, 한정된 캐싱 공간 내에서 더 다양한 유형의 객체를 동시 트랜스코딩할 수 있게 된다.
이와 같은 부분 캐싱 방법을 적용하는 하나의 트랜스코딩 프록시 스트리밍 서버(106)에서 사용자의 요청에 의해 콘텐츠를 전송하는데 있어서 발생 가능한 이벤트는 다음과 같이 6가지로 정의될 수 있다.
1. FF(Full Fetch): 요청된 버전 혹은 트랜스코딩 가능한 버전의 객체가 트랜스코딩 프록시 스트리밍 서버(106)에 존재하지 않으며, 콘텐츠 관리 서버(101)에 존재하여, 트랜스 코딩이 필요 없는 경우로서, 콘텐츠 관리 서버(101)에서 목적지 유형에 대응하는 버전의 객체를 캐시로 인출 후, 스트리밍을 수행한다.
2. FH(Full Hit): 목적지 유형에 대응하는 버전의 객체가 완전한 형태로 트랜스코딩 프록시 스트리밍 서버(106) 내에 존재하는 경우로서, 콘텐츠 관리 서버(101)로부터의 인출이나 트랜스코딩없이, 바로 스트리밍을 수행한다.
3. FT(Full Transcoding): 트랜스코딩 프록시 스트리밍 서버(106)내에 목적 지 유형에 맞는 버전의 객체 Obi는 존재하지 않지만, 목적지 유형으로 트랜스코딩 가능한 버전의 객체 Obj가 존재하는 경우로서, 트랜스코딩 및 스트리밍을 수행한다.
4. FFT(Full Fetch Transcoding): 목적지 유형에 대응하는 버전의 객체 Obi 혹은 목적지 유형으로 트랜스코딩 가능한 버전의 객체 Obj 어느 것도 트랜스코딩 프록시 스트리밍 서버(106)에 존재하지 않고, 또한 목적지 유형이 소스 유형과도 일치하지 않는 경우로서, 콘텐츠 관리 서버(101)로부터 트랜스코딩 가능한 버전의 객체 인출, 트랜스코딩 및 스트리밍을 수행한다.
5. PHF(Partial Hit and Fetch): 목적지 유형에 대응하는 버전의 객체 Obi중에서 제1 부분만이 트랜스코딩 프록시 스트리밍 서버(106)에 존재하는 경우로서, 상기 제1부분에 대해서는 바로 스트리밍을 수행하면서, 나머지 제2부분에 대해서는 콘텐츠 관리 서버(101)로부터 인출 및/또는 트랜스코딩 후, 스트리밍을 수행한다.
6. PTFT(Partial Transcoding and Fetch Transcoding): 목적지 유형에 대응하는 버전의 객체 Obi로 트랜스코딩가능한 버전의 객체 Obj의 제1부분만이 존재하는 경우로서, 상기 객체 Obj의 제1부분에 대해서 트랜스코딩 후 스트리밍을 수행하고, 나머지 제2부분에 대해서는 콘텐츠 관리 서버(101)로부터 인출 및/또는 트랜스코딩후에 스트리밍을 수행한다.
더하여, CPU 부하를 줄이기 위하여 다수의 트랜스코딩 프록시 스트리밍 서버(106~108)를 연결한 프록시 클러스터(100)를 통해 이루어지는 적응형 콘텐츠 전송 방법의 경우, 아래와 같이 정의된 이벤트가 더 발생된다.
1. SFH(Sibling Full Hit): 프록시 클러스터(100) 내의 다른 트랜스코딩 프록시 스트리밍 서버(107,108)에 목적지 유형에 대응하는 버전의 객체 Obi가 존재하는 경우로서, 해당 트랜스코딩 프록시 스트리밍 서버(107,108)에서 스트리밍이 이루어지도록 사용자의 요청을 전달한다.
2. SPH(Sibling Partial Hit): 프록시 클러스터(100) 내의 다른 트랜스코딩 프록시 스트리밍 서버(107,108)에 목적지 유형에 대응하는 버전의 객체 Obi에 대해서 제1 부분이 존재하는 경우로서, 해당 트랜스코딩 프록시 스트리밍 서버(107,108)에서 부분 인출, 트랜스코딩 및 스트리밍이 이루어지도록 사용자의 요청을 전달한다.
3. SFTH(Sibling Full Transcoding Hit): 프록시 클러스터(100) 내의 다른 트랜스코딩 프록시 스트리밍 서버(107,108)에 목적지 유형에 맞는 버전으로 트랜스코딩 가능한 버전의 객체 Obj가 존재하는 경우로서, 해당 트랜스코딩 프록시 스트리밍 서버(107,108)에서 트랜스코딩 및 스트리밍이 이루어지도록 사용자 요청을 전달한다.
4. SPTH(Sibling Partial Transcoding Hit): 프록시 클러스터(100) 내의 다른 트랜스코딩 프록시 스트리밍 서버(107,108)에 목적지 유형에 대응하는 버전의 객체로 트랜스코딩 가능한 버전의 객체 Obj중 제1 부분이 존재하는 경우로서, 해당 트랜스코딩 프록시 스트리밍 서버(107,108)에서 인출, 트랜스코딩 및 스트리밍이 수행되도록 사용자 요청을 전달한다.
도 3은 본 발명에 의한 적응형 콘텐츠 전송 방법의 플로우챠트로서, 상기와 같이 정의한 이벤트의 수행 절차를 순차적으로 나타낸다. 이하의 설명에서 프록시 클러스터(100) 내의 한 트랜스코딩 프록시 스트리밍 서버(106)만을 예로 들어 설명하겠으나, 이는 다른 트랜스코딩 프록시 스트리밍 서버(107~108)에서도 동일하게 적용되는 것이다.
도 3을 참조하면, 소정의 트랜스코딩 프록시 스트리밍 서버(106)는 사용자의 목적지 유형에 대응하는 버전의 객체 Obi에 대한 스트리밍 요청을 수신하면(301), 상기 목적지 유형의 객체 Obi가 프록시 클러스터(100) 내에 존재하는 지를 확인한다(311).
상기 단계(311)의 확인 결과, 목적지 유형의 객체 Obi 가 프록시 클러스터(100) 상에 완전하게 존재하는 경우, 상기 목적지 유형의 객체 Obi가 자신의 캐시내에 존재하는지 프록시 클러스터(100) 내의 형제 노드(다른 트랜스코딩 프록시 스트리밍 서버(107,108))에 존재하는 지를 확인하는데(312), 만약 프록시 클러스터(100)의 형제 노드에 존재하면 해당 트랜스코딩 프록시 스트리밍 서버(107 또는 108)로 사용자의 요청을 전송하며, 이에 해당 트랜스코딩 프록시 스트리밍 서버(107,108)에서 상기 단계(301)부터 수행된다(314). 반대로, 자신의 캐시 내에 존재하면, 확인된 목적지 유형의 객체 Obi를 사용자 단말(102~104)로 스트리밍한다(313).
상기 단계(311)의 확인 결과, 목적지 유형의 객체 Obi가 프록시 클러스터(100)내에 완전하게 존재하지 않고, 제1 부분이 존재하는 경우(321), 상기 목적지 유형의 객체 Obi의 제1 부분이 프록시 클러스터(100) 내의 형제 노드인 다른 트랜스코딩 프록시 스트리밍 서버(107 또는 108)에 존재하면, 해당 트랜스코딩 프록시 스트리밍 서버(107 또는 108)로 사용자의 요청을 전송하고(322, 325), 자신의 캐시 내에 존재하면, 해당 객체 Obi의 제2부분의 인출에 충분한 캐싱 공간이 존재하는 지를 확인하여(323), 이에 충분한 캐싱 공간이 존재하는 경우 요청된 객체 Obi의 제2부분을 콘텐츠 관리 서버(101)로부터 인출한 후 앞서 검색한 제1부분과 인출한 제2 부분을 합쳐 사용자에게 스트리밍한다(326). 반대로 상기에서 충분한 캐싱 공간이 없다면, 캐시 내의 오래된 데이터를 제거하는 퇴출 알고리즘을 수행하고(324), 그 결과 충분한 공간이 확보되면 앞서와 마찬가지로 요청된 객체 Obi의 제2부분을 콘텐츠 관리 서버(101)로부터 인출한 후 앞서 검색한 제1부분과 인출한 제2 부분을 합쳐 사용자에게 스트리밍한다(326). 상기 단계(324)에서 이루어지는 퇴출 알고리즘은 각 객체를 제1,2 부분으로 분리하여, 그중에서 제2부분을 제거하는 것으로서, 이에 대해서는 도 4의 설명에서 더 상세하게 설명하기로 한다.
다음으로, 상기 단계(321)에서 요청된 버전의 객체 Obi의 제1 부분도 존재하지 않는 경우, 다음으로 목적지 유형으로 트랜스코딩 가능한 버전의 객체 Obj(여기서 bj>bi이다)가 프록시 클러스터(100) 내에 존재하는 지를 확인한다(331).
상기 단계(331)에서의 확인 결과, 트랜스코딩 가능한 객체 Obj의 전 부분이 존재하는 경우에는, 해당 객체 Obj가 프록시 클러스터(100) 상의 형제 노드, 즉 다른 트랜스코딩 프록시 스트리밍 서버(107,108)에 존재하면, 그 트랜스코딩 프록시 스트리밍 서버(107,108)로 객체 Obi의 요청을 전송하여, 그 트랜스코딩 프록시 스트리밍 서버(107,108)에서 사용자로의 스트리밍 서비스가 이루어지도록 하고(332,335), 해당 객체 Obj가 자신의 캐시에 존재하면, 상기 객체 Obj를 트랜스코딩하기에 충분한 캐싱 공간이 존재하는 지를 확인한 후(333), 캐시 공간에 여유가 없으면, 퇴출 알고리즘을 통해 캐시내의 다른 객체들의 제2 부분을 제거하여 공간을 확보하고(334), 상기에 의해 충분한 캐싱 공간이 확보되면, 상기 검색된 객체 Obj를 목적지 유형의 객체 Obi로 트랜스코딩을 수행하면서 트랜스코딩된 객체 Obi를 사용자 단말로 스트리밍한다(336).
그리고 상기 단계(331)에서의 확인 결과, 트랜스코딩 가능한 객체 Obj의 전부가 존재하지 않는 경우, 트랜스 코딩 가능한 버전의 객체 Obj의 제1부분만이라도 존재하는 지를 확인한다(341).
상기 확인(341)에서, 동일 객체의 트랜스코딩 가능한 버전의 객체 Obj가 존재하는 경우, 상기 객체 Obj가 프록시 클러스터(100)의 다른 트랜스코딩 프록시 스트리밍 서버(107,108)에 존재하면, 그 트랜스코딩 프록시 스트리밍 서버(107,108)로 객체 Obi의 요청을 전송하여, 그 트랜스코딩 프록시 스트리밍 서버(107,108)에서 사용자로의 스트리밍 서비스가 이루어지도록 하고(342,345), 요청된 객체의 트랜스코딩 가능한 버전 Obj의 제1 부분이 자신의 캐시에 존재하면, 캐싱 공간이 충분한지를 확인하여(343), 캐시 공간이 충분하지 않으면, 퇴출 알고리즘을 통해 캐 시내의 다른 객체들의 제2 부분을 제거하여 공간을 확보하고(344). 상기 확인 또는 제거 후에 캐싱 공간에 여유가 있으면, 상기 Obj의 제1부분을 Obi로 트랜스코딩하여 스트리밍서비스하면서, 연속적으로 콘텐츠 관리 서버(101)로부터 상기 Obj의 제2부분을 인출하여 트랜스코딩 한 후 사용자에게 전송한다(346).
만일, 클러스터(100) 상에 목적지 유형과 동일한 버전의 객체 Obi도 없고, 트랜스코딩 가능한 버전의 객체 Obj도 없으면서, 또한 사용자가 요구한 버전의 객체 Obi가 콘텐츠 관리 서버(101)에도 존재하지 않는 경우(351), 캐싱 공간에 여유가 있는 노드, 임의의 트랜스코딩 프록시 스트리밍 서버(106~108)을 선택하여, 콘텐츠 관리 서버(101)내의 동일 객체의 트랜스코딩 가능한 버전을 전달하여(352), 트랜스코딩 후에 사용자 단말(102~104)로 스트리밍한다(353).
또한, 클러스터(100)상에 동일한 버전의 객체 Obi도 없고, 트랜스코딩 가능한 버전 Obj도 없지만, 요구된 버전의 객체 Obi가 콘텐츠 관리 서버(101)에 존재하면, 상기 콘텐츠 관리 서버(101)로부터 해당 객체 Obi를 인출하여 사용자 단말(102~104)로 스트리밍한다(361).
더하여, 도 4는 상기 단계(324,334,344)에서 이루어지는 퇴출 알고리즘을 나타내는 부분 캐싱 방법의 플로우챠트이다.
도 4를 참조하면, 각 트랜스코딩 프록시 스트리밍 서버(106~108)는 임의 객체를 제1,2 부분으로 분할할 기준 위치를 설정한다(S401). 상기 분할 위치는 제1 부분의 크기 비율이 목적지 유형의 수에 반비례하도록 설정하는 것이 바람직하다. 즉, 목적지 유형이 다양해지면, 제1 부분의 크기 비율이 작아지도록 분할 위치를 앞쪽으로 설정하고, 목적지 유형이 덜 복잡할 경우에는, 제1 부분의 크기 비율이 커지도록 분할 위치를 뒤쪽으로 설정한다.
상기 상태에서, 도 3과 같은 트랜스코딩 과정을 수행하는 도중, 캐싱 공간 부족으로 단계(324, 334, 344)와 같이 퇴출 알고리즘이 요청되면(S402), 캐시 내에 존재하는 객체들을 상기 설정된 분할 위치에 맞추어 제1 부분과 제2부분으로 분리한다(S403).
그리고 상기 분리된 제2 부분을 캐시에서 제거하고, 캐시 상에는 모든 객체의 제1 부분만을 남긴다(s404).
상기 단계(S404)는 필요한 공간의 크기를 확인한 후, 상기 필요한 캐싱 공간이 확보될 때까지, 수행하는 것으로 제한할 수도 있으며, 더하여, 모든 객체의 제2 부분을 제거한 후에도 충분한 캐싱 공간이 확보되지 않는 경우, 제1 부분까지 제거할 수도 있다.
더하여, 상기 캐시 내에서 제거하는 순서는, 일정 주기 내에서 최소로 사용된 객체를 먼저 제거하는 최근 최소 사용(Least Recently Use) 방식으로 이루어진다.
상술한 바에 의하면, 본 발명은 한 트랜스코딩 프록시 스트리밍 서버 혹은 트랜스코딩 프록시 스트리밍 클러스터 상의 한정된 캐싱 공간에, 객체의 전체를 저 장하지 않고 일부분만을 저장함으로써, 다양한 목적지 유형의 객체들을 확보할 수 있다는 장점이 있으며, 그 결과 더 많은 사용자에게 스트리밍 서비스를 끊김 없이 빠르게 제공할 수 있다는 우수한 효과가 있다.

Claims (13)

  1. 캐시를 이용하여 임의 유형의 객체를 다수의 목적지 유형으로 트랜스코딩하는 트랜스코딩 프록시 스트리밍 서버에서의 부분 캐싱 방법에 있어서,
    객체를 두 개로 분할하기 위한 분할 위치를 설정하는 설정 단계;
    캐시 내의 공간 확보를 위한 퇴출 요청을 수신하는 수신 단계;
    퇴출 요청이 수신되면, 캐시에 저장된 다수의 객체를 상기 설정된 분할위치를 기준으로 선두에 위치하는 제1 부분과, 후미에 위치하는 제2 부분으로 분할하는 분할 단계; 및
    분할 후, 각 객체의 제2 부분만을 제거하는 제1 제거 단계를 포함하는 것을 특징으로 하는 트랜스코딩 프록시 스트리밍 서버에서의 부분 캐싱 방법.
  2. 제1항에 있어서,
    상기 분할 위치는 제1 부분의 크기가 해당 객체의 목적지 유형의 수에 반비례하도록 설정하는 것을 특징으로 하는 트랜스코딩 프록시 스트리밍 서버에서의 부분 캐싱 방법.
  3. 제1항에 있어서, 상기 수신 단계 이후에
    확보할 공간의 크기를 확인하는 단계; 및
    상기 확보할 공간의 크기와 현재 캐시 내의 확보된 공간을 비교하여, 확보된 공간의 크기가 확보할 공간의 크기 이상이 될 때까지, 상기 분할 단계 및 제1 제거 단계를 반복시키는 단계를 포함하는 트랜스코딩 프록시 스트리밍 서버에서의 부분 캐싱 방법.
  4. 제3항에 있어서,
    캐시 내에 저장된 제2 부분을 모두 제거하고도, 확보된 공간의 크기가 확보할 공간의 크기에 도달되지 못한 경우, 각 객체의 나머지 제1 부분을 제거하는 제2 제거 단계를 더 포함하는 것을 특징으로 하는 트랜스코딩 프록시 스트리밍 서버에서의 부분 캐싱 방법.
  5. 제1항 내지 제4항중 어느 한 항에 있어서,
    제1,2 제거 단계는 일정 주기 내에서 최소로 사용된 객체를 먼저 제거하는 최근 최소 사용 방식으로 수행되는 것을 특징으로 하는 트랜스코딩 프록시 스트리밍 서버에서의 부분 캐싱 방법.
  6. 콘텐츠 관리 서버에 저장된 소스 유형을 캐싱하여 다수의 이기종 사용자 단말에 맞는 목적지 유형으로 트랜스코딩하는 적응형 콘텐츠 전송 방법에 있어서,
    특정 목적지 유형의 객체가 요청되면, 캐시 내에 저장된 객체를 검색하여 인출 및 트랜스코딩 여부를 판단하는 단계;
    상기 판단 결과, 인출 및 트랜스코딩이 필요한 경우, 충분한 캐싱 공간이 존재하는 지를 확인하는 단계;
    상기 확인 결과, 충분한 캐싱 공간이 존재하지 않으면, 캐시 내에 저장된 객체들을 제1,2 부분으로 분리하여, 제1부분만 남기고 제2부분은 제거하는 단계; 및
    상기 확인 결과 충분한 캐싱 공간이 존재하면, 상기 판단에 따라서 대응하는 객체의 인출, 트랜스코딩, 스트리밍을 수행하는 단계를 포함하는 것을 특징으로 하는 부분 캐싱을 이용한 적응형 콘텐츠 전송 방법.
  7. 제 6 항에 있어서, 상기 인출 및 트랜스코딩 여부를 판단하는 단계는
    기존에 캐싱된 객체 중에 요청된 목적지 유형의 객체 전부가 존재하는 지를 확인하는 단계;
    기존에 캐싱된 객체 중에 요청된 목적지 유형의 객체의 제1부분만이 존재하는 지를 확인하는 단계;
    기존에 캐싱된 객체 중에 요청된 목적지 유형으로 트랜스코딩 가능한 버전의 객체 전부가 존재하는 지를 확인하는 단계; 및
    기존에 캐싱된 객체 중에 요청된 목적지 유형으로 트랜스코딩 가능한 유형의 객체중 제1부분이 존재하는지 확인하는 단계를 포함하는 것을 특징으로 하는 부분 캐싱을 이용한 적응형 콘텐츠 전송 방법.
  8. 제 7 항에 있어서, 상기 객체의 인출, 트랜스코딩, 스트리밍을 수행하는 단계는
    요청된 목적지 유형의 객체 전부가 존재하면, 해당 객체를 바로 사용자에게 스트리밍하고,
    요청된 목적지 유형의 객체중 제1부분만이 존재하는 경우, 상기 제1부분을 스트리밍하면서 콘텐츠 관리 서버에서 상기 객체의 제2부분을 인출한 후 상기 제1부분에 이어서 사용자에게 스트리밍하고,
    요청된 목적지 유형으로 트랜스코딩 가능한 유형의 객체 전부가 존재하는 경우에는, 인출없이 상기 검색된 트랜스코딩 가능한 유형의 객체를 목적지 유형으로 트랜스코딩한 후 스트리밍하고,
    목적지 유형으로 트랜스코딩 가능한 유형의 객체중 제1부분이 존재하는 경우, 상기 제1부분에 대한 트랜스코딩후 스트리밍을 수행하면서 콘텐츠 관리 서버에서 나머지 제2부분을 인출하여 트랜스코딩후 제1부분에 이어서 스트리밍하는 것을 특징으로 하는 부분 캐싱을 이용한 적응형 콘텐츠 전송 방법.
  9. 제 7 항에 있어서,
    상기 인출 및 트랜스코딩 여부를 판단하는 단계에서 기존에 캐싱된 객체에 목적지 유형의 객체 전부 혹은 제1부분, 또는 목적지 유형으로 트랜스코딩 가능한 버전의 전부 혹은 제1 부분이 존재하지 않으면, 프록시 클러스터 내의 형제 노드에, 목적지 유형의 객체의 전부 혹은 제1부분, 또는 목적지 유형으로 트랜스코딩 가능한 버전의 객체의 전부 혹은 제1 부분이 존재하는 지를 확인하는 단계; 및
    상기 확인 결과, 요청된 목적지 유형의 객체의 전부 혹은 제1부분, 또는 목적지 유형으로 트랜스코딩 가능한 버전의 객체의 전부 혹은 제1 부분이 자신의 캐시 내에는 존재하지 않으나 프록시 클러스터의 형제 노드에 존재하는 경우, 해당 형제 노드로 사용자의 요청을 전달하는 단계를 더 포함하는 것을 특징으로 하는 부분 캐싱을 이용한 적응형 콘텐츠 전송 방법.
  10. 제 7 항에 있어서,
    상기 트랜스코딩 가능한 버전의 객체는 목적지 유형의 객체보다 비트 레이트가 높은 것임을 특징으로 하는 부분 캐싱을 이용한 적응형 콘텐츠 전송 방법.
  11. 제 6 항에 있어서,
    객체 내에서 제1 부분과 제2 부분의 분리 위치는, 제1 부분의 크기가 목적지 유형의 수에 반비례하는 것을 특징으로 하는 부분 캐싱을 이용한 적응형 콘텐츠 전송 방법.
  12. 제 6 항에 있어서,
    캐시 내에 저장된 제2 부분을 모두 제거하고도, 확보된 공간의 크기가 충분하지 못한 경우, 나머지 제1 부분까지 제거하는 단계를 더 포함하는 것을 특징으로 하는 부분 캐싱을 이용한 적응형 콘텐츠 전송 방법.
  13. 제12항에 있어서,
    상기 제1 부분 및 제2 부분의 제거는, 일정 주기 내에서 최소로 사용된 객체를 먼저 제거하는 최근 최소 사용 순서로 이루어지는 것을 특징으로 하는 부분 캐싱을 이용한 적응형 콘텐츠 전송 방법.
KR1020050095554A 2005-09-28 2005-10-11 부분 캐싱 방법 및 이를 이용한 적응형 콘텐츠 전송 방법 KR100734629B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050095554A KR100734629B1 (ko) 2005-09-28 2005-10-11 부분 캐싱 방법 및 이를 이용한 적응형 콘텐츠 전송 방법
US11/528,905 US7478200B2 (en) 2005-09-28 2006-09-28 Fractional caching method and adaptive contents transmitting method using the same

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20050090749 2005-09-28
KR1020050090749 2005-09-28
KR1020050095554A KR100734629B1 (ko) 2005-09-28 2005-10-11 부분 캐싱 방법 및 이를 이용한 적응형 콘텐츠 전송 방법

Publications (2)

Publication Number Publication Date
KR20070035911A KR20070035911A (ko) 2007-04-02
KR100734629B1 true KR100734629B1 (ko) 2007-07-03

Family

ID=37895549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050095554A KR100734629B1 (ko) 2005-09-28 2005-10-11 부분 캐싱 방법 및 이를 이용한 적응형 콘텐츠 전송 방법

Country Status (2)

Country Link
US (1) US7478200B2 (ko)
KR (1) KR100734629B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014014216A1 (ko) * 2012-07-17 2014-01-23 삼성전자 주식회사 캐싱 프록시 방법 및 장치

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296337B2 (en) 2006-12-06 2012-10-23 Fusion-Io, Inc. Apparatus, system, and method for managing data from a requesting device with an empty data token directive
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
KR100823522B1 (ko) * 2007-06-18 2008-04-21 주식회사 셀런 실시간 스트리밍 시스템에서 스토리지와 서버 사이의병목을 줄이기 위한 캐싱 방법
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8908696B2 (en) * 2008-09-09 2014-12-09 At&T Intellectual Property I, L.P. Systems and methods for optimized route caching
WO2011068784A1 (en) * 2009-12-01 2011-06-09 Azuki Systems, Inc. Method and system for secure and reliable video streaming with rate adaptation
US9092337B2 (en) 2011-01-31 2015-07-28 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing eviction of data
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
WO2013038220A1 (en) * 2011-09-15 2013-03-21 Telefonaktiebolaget L M Ericsson (Publ) Cache replacement method and system
US9118943B2 (en) * 2011-12-01 2015-08-25 Verizon Patent And Licensing Inc. Video on demand processing
KR101500549B1 (ko) * 2011-12-08 2015-03-10 주식회사 케이티 부분 캐싱을 이용한 콘텐츠 제공 방법 및 장치
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050092047A (ko) * 2003-01-16 2005-09-16 코닌클리케 필립스 일렉트로닉스 엔.브이. 디지털 컨텐츠 데이터를 캐싱하기 위한 디바이스 및 그방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195692B1 (en) * 1997-06-02 2001-02-27 Sony Corporation Television/internet system having multiple data stream connections
AU2001285023A1 (en) * 2000-08-17 2002-02-25 Mobileum, Inc. Method and system for wireless voice channel/data channel integration
US6407680B1 (en) 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
TWI293533B (en) * 2001-09-26 2008-02-11 Jodie Lynn Reynolds System and method for communication media signals
KR100563659B1 (ko) 2003-12-09 2006-03-23 한국전자통신연구원 실시간 스트리밍 서비스 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050092047A (ko) * 2003-01-16 2005-09-16 코닌클리케 필립스 일렉트로닉스 엔.브이. 디지털 컨텐츠 데이터를 캐싱하기 위한 디바이스 및 그방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014014216A1 (ko) * 2012-07-17 2014-01-23 삼성전자 주식회사 캐싱 프록시 방법 및 장치
KR20140011591A (ko) * 2012-07-17 2014-01-29 삼성전자주식회사 캐싱 프록시 방법 및 장치
KR101964927B1 (ko) 2012-07-17 2019-04-03 삼성전자 주식회사 캐싱 프록시 방법 및 장치
US10547705B2 (en) 2012-07-17 2020-01-28 Samsung Electronics Co., Ltd. Caching proxy method and apparatus

Also Published As

Publication number Publication date
US20070073975A1 (en) 2007-03-29
US7478200B2 (en) 2009-01-13
KR20070035911A (ko) 2007-04-02

Similar Documents

Publication Publication Date Title
KR100734629B1 (ko) 부분 캐싱 방법 및 이를 이용한 적응형 콘텐츠 전송 방법
US10701147B1 (en) Systems and methods for synchronizing data between communication devices in a networked environment
US8756296B2 (en) Method, device and system for distributing file data
EP2791815B1 (en) Application-driven cdn pre-caching
US8880650B2 (en) System and method for storing streaming media file
CN106878315B (zh) 可变速率媒体传送系统
US20020133537A1 (en) Server cluster and server-side cooperative caching method for use with same
JP2006506738A (ja) トランスコード可能なキャッシングプロキシおよびその方法
US20100005187A1 (en) Enhanced Streaming Operations in Distributed Communication Systems
CN110933517B (zh) 码率切换方法、客户端和计算机可读存储介质
WO2016003136A1 (en) Cache manifest for efficient peer assisted streaming
CN108989845A (zh) 一种基于spice协议的视频传输方法
EP1627500B1 (en) Service management using multiple service location managers
US7739364B2 (en) Method and apparatus for dynamically reconfiguring a server system
TWI640192B (zh) 串流媒體傳輸優化方法及快取裝置
KR102235622B1 (ko) IoT 환경에서의 협력 에지 캐싱 방법 및 그를 위한 장치
CN110139119B (zh) 数字广播系统的p2p音频直播分发方法、装置及存储介质
CN114124971B (zh) 一种基于边缘缓存的cdn-p2p网络的内容副本放置方法
KR100823731B1 (ko) 고성능 스트리밍 서버 시스템에서 컨텐트 설치장치 및 방법
KR20050065087A (ko) 미디어 스트리밍을 위한 스트리머 프로세스 관리 장치 및그 방법
JP2007110742A (ja) ネットワークキャッシュ装置およびキャッシュ制御方法
Bidese de Pinho et al. A practical performance analysis of stream reuse techniques in peer-to-peer VoD systems

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
FPAY Annual fee payment

Payment date: 20130527

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee