KR101341441B1 - 멀티미디어 콘텐츠 분할 및 분산 방법 - Google Patents
멀티미디어 콘텐츠 분할 및 분산 방법 Download PDFInfo
- Publication number
- KR101341441B1 KR101341441B1 KR1020110114285A KR20110114285A KR101341441B1 KR 101341441 B1 KR101341441 B1 KR 101341441B1 KR 1020110114285 A KR1020110114285 A KR 1020110114285A KR 20110114285 A KR20110114285 A KR 20110114285A KR 101341441 B1 KR101341441 B1 KR 101341441B1
- Authority
- KR
- South Korea
- Prior art keywords
- content
- server
- multimedia
- servers
- divided
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 239000006185 dispersion Substances 0.000 title 1
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000009826 distribution Methods 0.000 claims abstract description 6
- 238000012545 processing Methods 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 6
- 230000018109 developmental process Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 241001223864 Sphyraena barracuda Species 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000012656 cationic ring opening polymerization Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Marketing (AREA)
- Signal Processing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 복수의 콘텐츠 서버를 이용하여 멀티미디어 콘텐츠의 분할 및 분산방법에 관한 것이다. 본 발명은, 사용자 단말이 멀티미디어 콘텐츠(C)를 콘텐츠 서버에 업로드 하는 단계; 콘텐츠 서버가 상기 멀티미디어 콘텐츠를 미리 설정된 분할기준에 따라 분할하고 분할된 콘텐츠(C1)를 저장하고, 나머지 콘텐츠(C2)를 1개 이상의 다른 콘텐츠 서버에 분할하고 분산하고 저장하는 단계;를 포함한다. 또한, 메타 서버가 상기 복수의 콘텐츠 서버를 관리하며 콘텐츠 서버들의 위치정보들을 각각의 콘텐츠 서버에 전송해준다.
본 발명에 있어서 콘텐츠에 대한 분할 및 분산 프로세스가 완료된 후에 상기 사용자 단말이 멀티미디어 콘텐츠에 대한 스트리밍을 요청한 경우에, 메타 서버가 전송하는 정보에 따라 상기 복수의 콘텐츠 서버에 순차적으로 분산된 콘텐츠를 순차적으로 스트리밍하도록 할 수 있다.
또한, 복수의 콘텐츠 서버 내에 저장되어 있는 분산된 콘텐츠와 웹 상에 존재하는 리소스를 결합하여 해당 콘텐츠 서버 내에서 독립적으로 콘텐츠 재생산을 실행하고 이들을 다시 용이하게 재결합할 수 있다.
본 발명에 있어서 콘텐츠에 대한 분할 및 분산 프로세스가 완료된 후에 상기 사용자 단말이 멀티미디어 콘텐츠에 대한 스트리밍을 요청한 경우에, 메타 서버가 전송하는 정보에 따라 상기 복수의 콘텐츠 서버에 순차적으로 분산된 콘텐츠를 순차적으로 스트리밍하도록 할 수 있다.
또한, 복수의 콘텐츠 서버 내에 저장되어 있는 분산된 콘텐츠와 웹 상에 존재하는 리소스를 결합하여 해당 콘텐츠 서버 내에서 독립적으로 콘텐츠 재생산을 실행하고 이들을 다시 용이하게 재결합할 수 있다.
Description
본 발명은 멀티미디어 콘텐츠의 분할 및 분산 방법에 관한 것이다.
오늘날 유비쿼터스 컴퓨팅 환경을 맞이하여 언제 어디서든 사용자가 원하는 콘텐츠의 소비가 증가하는 추세다. 콘텐츠의 소비는 특히 멀티미디어 콘텐츠가 중심이 되고 있다. 현재 인터넷 기반 컴퓨팅에서 멀티미디어 콘텐츠를 전달하는 서비스의 수가 늘고 있으며, 해당 콘텐츠를 기반으로 한 응용 서비스의 수가 늘고 있는 추세이다. 최근 사용자들이 많이 사용하는 YouTube 서비스는 사용자에 의해 제작된 콘텐츠를 다른 사용자에게 전달하고 있으며, 이러한 콘텐츠의 공급과 수요는 더욱 빠르게 증가 하고 있다.
그러나 텍스트나 이미지 기반 콘텐츠와는 달리 멀티미디어 콘텐츠는 복잡한 기술들이 서로 융합되어 있는 특성을 가진다. 이러한 멀티미디어 콘텐츠의 복잡성으로 인하여 서비스 개발의 어려움을 겪고 있는 실정이다. 멀티미디어 콘텐츠를 생산하고 이를 처리하여 유통하는데 더 많은 기술이 적용되고 그에 따라 더 많은 비용을 요하게 된다. 이것은 처리 시간과 비용의 관점에서 개발자들은 곤란하게 만들고 사용자들의 불편함을 초래하는 문제를 낳았다.
한편 인터넷 상의 서버를 통해 데이터 저장과 콘텐츠 사용 등의 서비스를 한번에 할 수 있는 클라우드 컴퓨팅은 대안적인 컴퓨팅 환경으로 각광을 받고 있다. 클라우드 컴퓨팅 환경을 통해 저장되고 서비스 되는 자원의 상당수는 멀티미디어 콘텐츠로 전망된다. 그러나 이러한 환경에 최적화된 멀티미디어 콘텐츠의 제작 및 환경에 관한 프레임워크도 알려지지 않았다. 물론 기존에도 많은 멀티미디어 콘텐츠 개발 프레임워크가 있었지만, 사용자가 쉽게 콘텐츠를 제작하거나 또는 재생산해 낼 수 있는 방법이 없었다. 클라우드 컴퓨팅 환경에 있어서 사용자가 쉽게 콘텐츠를 제작하거나 재생산이 가능할지 여부는 멀티미디어 콘텐츠에 관련하여 관건이 될 것임은 자명하다.
본 발명의 발명가는 이러한 문제점을 해결하기 위하여 연구 노력한 끝에 본 발명을 완성하기에 이르렀다.
본 발명의 목적은 멀티미디어 콘텐츠를 보다 신속하고 안정적으로 처리할 수 있는 신규한 처리 모델링을 제공함에 있다. 이러한 목적 하에서 본 발명은 여러 대의 콘텐츠 서버와 메타 서버의 토폴로지 구성을 이용하며 멀티미디어 콘텐츠를 독립적으로 재생할 수 있는 단위로 분할함과 동시에 이것을 복수의 콘텐츠 서버로 분산하는 신규한 모델이 검토된다.
또한 이러한 모델에 기초하여 웹 상에 존재하는 다양한 콘텐츠 자원과 보유 중인 콘텐츠를 통합하여 하나의 새로운 콘텐츠를 용이하게 재생산하는 환경이 조성되도록 한다.
한편, 본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 것이다.
위와 같은 과제를 해결하기 위해서 본 발명은 복수의 콘텐츠 서버를 이용하여 멀티미디어 콘텐츠의 분할 및 분산방법으로서:
사용자 단말이 멀티미디어 콘텐츠(C)를 콘텐츠 서버에 업로드 하는 단계; 및
콘텐츠 서버가 상기 멀티미디어 콘텐츠를 미리 설정된 분할기준에 따라 분할하고 분할된 콘텐츠(C1)를 저장하고, 나머지 콘텐츠(C2)를 1개 이상의 다른 콘텐츠 서버에 분할하여 분산하여 저장하는 단계; 를 포함하며,
메타 서버가 상기 복수의 콘텐츠 서버를 관리하며 콘텐츠 서버들의 위치정보들을 각각의 콘텐츠 서버에 전송해주는 것을 특징으로 한다.
또한 본 발명의 멀티미디어 콘텐츠의 분할 및 분산 방법의 일 실시예에 있어서, 상기 분할기준은 독립적으로 재생될 수 있는 단위로서, 영상 단위와 음성 단위로 분할하는 것이며, 또한 영상은 시퀀스를 기준으로 분할할 수 있다.
또한, 본 발명의 멀티미디어 콘텐츠의 분할 및 분산 방법의 일 실시예에 있어서, 상기 콘텐츠 서버 내에는 콘텐츠 빌드 엔진 및 트랜스코더가 포함되며, 이들이 각 서버 내에서 콘텐츠에 대한 각각 독립적인 처리 작업을 수행하도록 할 수 있다.
또한, 본 발명의 멀티미디어 콘텐츠의 분할 및 분산 방법의 일 실시예에 있어서, 콘텐츠에 대한 분할 및 분산 프로세스가 완료된 후에 상기 사용자 단말이 멀티미디어 콘텐츠에 대한 스트리밍을 요청한 경우에,
상기 메타 서버가 전송하는 정보에 따라 상기 복수의 콘텐츠 서버에 순차적으로 분산된 콘텐츠를 순차적으로 스트리밍하도록 할 수 있다.
또한, 본 발명의 멀티미디어 콘텐츠의 분할 및 분산 방법의 일 실시예에 있어서, 상기 복수의 콘텐츠 서버 내에 저장되어 있는 분산된 콘텐츠와 웹 상에 존재하는 리소스를 결합하여 해당 콘텐츠 서버 내에서 독립적으로 콘텐츠 재생산을 실행하고 이들을 다시 재결합하는 단계를 더 포함할 수 있다.
또한 본 발명의 다른 국면에서는 상기한 멀티미디어 콘텐츠의 분할 및 분산 방법 알고리즘을 실행하는 컴퓨터 프로그램이 수록된 컴퓨터 판독가능한 기록매체를 특징으로 한다.
웹 상에 존재하는 여러 리소스와 콘텐츠가 결합 되는 경우 포맷의 변환, 사이즈의 변환 등의 처리는 불가피 하다. 또한 멀티미디어 콘텐츠를 다루는 서비스에서도 여러 환경에 적응적으로 대응하기 위해 콘텐츠를 변환하는 기능은 필수적이다. 위와 같은 본 발명의 과제 해결 수단을 통해, 콘텐츠를 작은 크기로 분할하여 서버에 저장하며, 각 분할된 Chunk가 여러 서버에 걸쳐 변환이 될 수 있게 함으로써 변환에 소모되는 시간을 획기적으로 줄일 수 있는 효과를 거둘 수 있다.
또한, 부가적으로 멀티미디어 콘텐츠는 순서성이 있는 데이터이며 하나의 작업에 많은 시간이 소요되는 특성을 띠고 있다. 따라서 순차적으로 나뉜 데이터는 여러 서버에 적절한 알고리즘을 바탕으로 분배 되었을 경우 서버의 부하를 효율적으로 분산할 수 있는 효과를 거둘 수 있다.
콘텐츠를 분할함으로써 얻을 수 있는 이득은 서버의 부하를 효과적으로 분산할 수 있으며, 단일 콘텐츠를 여러 서버에 걸쳐 변환함으로써, 변환에 걸리는 시간을 최소화 할 수 있다는 점이다. 또한, 본 발명의 이러한 효과는 클라우드 컴퓨팅과 결합되어 사용되어짐으로써 그 성능과 효율을 더욱 증진할 수 있는 기술적인 계기를 마련할 수 있도록 도와준다.
본 발명의 명세서에서 구체적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급됨을 첨언한다.
도 1은 본 발명에 따른 멀티미디어 콘텐츠의 분할 및 분산 프로세스를 개략적으로 나타내는 도면이다.
도 2는 도 1의 프로세스를 미디어 분할 모듈의 영역(M)과 서버 토폴로지 시스템 영역(S)로 연관지어 개념적으로 설명한 도면이다.
도 3은 본 발명의 일 실시예에 따라 복수의 콘텐츠 서버 사이의 멀티미디어 콘텐츠 분할 및 분산 과정을 나타내는 도면이다.
도 4는 본 발명에 따라 분할 및 분산된 멀티미디어 콘텐츠에 대한 스트리밍 프로세스의 예를 나타내는 도면이다.
도 5는 본 발명에 따른 콘텐츠 재생산 프로세스를 개념적으로 나타낸 도면이다.
※ 첨부된 도면은 본 발명의 기술사상에 대한 이해를 위하여 참조로서 예시된 것임을 밝히며, 그것에 의해 본 발명의 권리범위가 제한되지는 아니한다.
도 2는 도 1의 프로세스를 미디어 분할 모듈의 영역(M)과 서버 토폴로지 시스템 영역(S)로 연관지어 개념적으로 설명한 도면이다.
도 3은 본 발명의 일 실시예에 따라 복수의 콘텐츠 서버 사이의 멀티미디어 콘텐츠 분할 및 분산 과정을 나타내는 도면이다.
도 4는 본 발명에 따라 분할 및 분산된 멀티미디어 콘텐츠에 대한 스트리밍 프로세스의 예를 나타내는 도면이다.
도 5는 본 발명에 따른 콘텐츠 재생산 프로세스를 개념적으로 나타낸 도면이다.
※ 첨부된 도면은 본 발명의 기술사상에 대한 이해를 위하여 참조로서 예시된 것임을 밝히며, 그것에 의해 본 발명의 권리범위가 제한되지는 아니한다.
본 발명에 따른 멀티미디어 콘텐츠의 분할 및 분산 방법은 본 발명의 프레임워크에 의해서 행해진다. 본 발명의 멀티미디어 콘텐츠의 개발 프레임워크는 멀티미디어 콘텐츠를 쉽게 제작하고 처리할 수 있도록 하며, 콘텐츠의 재생산이 용이하도록 개발되었다. 본 발명의 발명가는 프레임워크를 실험적으로 구현함에 있어서 다음과 같은 하드웨어 및 소프트웨어 자원을 사용하였다. 그러나 아래의 표 1은 참고적으로 제공되는 것일 뿐, 이러한 개발 환경에 의해 본 발명의 기술사상이 제한되지 않음을 첨언한다.
하드웨어 | LOW LAYER 서버 | APPLICATION LAYER 서버 |
서버는 일반 데스크톱 PC 4대를 1Gbps 허브를 통해 구성하였다. CPU: Intel Core-i7 860, 2.8GHz, 4-Cores Memory: DDR3 8GBytes, 1.333GHz Disk: (Seagate Barracuda 500GBytes 7200RPM, 16Mbytes Buffer Memory) * 2 |
클라이언트는 일반 데스크톱 PC 환경에서 개발하였다. CPU: AMD 페넘 9600, 2.30GHz, 4-Cores Memory: DDR2 4GBytes Disk: Seagate Barracuda 500GBytes 7200RPM, 16Mbytes Buffer Memory |
|
소프트웨어 | LOW LAYER 서버 | APPLICATION LAYER 서버 |
리눅스를 기반으로 하여 개발 되었으며, 성능을 위해 모든 부분은 C로 개발하였다. 또한 FFMPEG의 라이브러리를 사용하여 멀티미디어 콘텐츠를 변환한다. 운영체제: Ubuntu 10.10 x86 컴파일러: gcc 4.5.2 라이브러리: ffmpeg Revision: 25314 - GPL |
손쉬운 개발을 위해 윈도우 환경을 기반으로 개발 되었으며, 개발의 생산성 및 유지 보수를 위해 C#으로 개발 하였다. 윈도우로 포팅된 FFMPEG을 사용하여 멀티미디어 콘텐츠를 변환한다. 운영체제: Microsoft Windows7 x86 컴파일러: Microsoft Visual Studio 10, .Net Framework 4.0 라이브러리: Windows API Code Pack 1.1 - MS-PL(Microsoft Public License) Microsoft Enterprise Library 5.0 - MS-PL FFMPEG Revision: 25314 - LGPL pthreads-win32 2.8.0 - LGPL |
위 표 1에서 Low Layer는 본 발명의 프레임워크에 있어서, 콘텐츠의 분할, 분산, 변환, 스트리밍의 기능을 지원함으로써, 멀티미디어 콘텐츠를 조작할 수 있는 기능을 제공함을 목적으로 한다. Application Layer는 Low Layer의 기능을 이용하여 서비스 로직을 구성한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시를 위한 구체적인 내용을 설명한다. 그리고 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도 1은 본 발명에 따른 멀티미디어 콘텐츠의 분할 및 분산 방법의 개략적인 전체 프로세스를 나타낸다. 사용자 단말이 멀티미디어 콘텐츠를 콘텐츠 서버로 업로드한다(S100). 콘텐츠 서버의 미디어 분할 모듈은 입력된 멀티미디어 콘텐츠를 독립적으로 사용될 수 있는 단위로 분할한다(S110). 바람직한 실시예에 있어서 멀티미디어 콘텐츠가 영상과 음성의 결합으로 된 경우라면, 영상 단위와 음성 단위로 분리할 수 있다. 영상은 독립적으로 상영될 수 있는 시퀀스 단위로 분할할 수 있다. 영상은 독립적으로 재생될 수 있는 단위인 시퀀스를 가지기 때문에 영상 콘텐츠를 분할 할 때 시퀀스의 묶음으로 분할하는 것이 좋다. 영상 분할의 기준은 하기에서 설명하는 분산 트랜스코더의 기능을 지원하기 위해 약 10Mbytes에 근접한 크기로 영상을 분할하는 것이 바람직하다.
다음으로 복수의 콘텐츠 서버로 분할된 콘텐츠를 분산하여 저장한다(S120). 바람직하게는 미디어 분할 모듈을 실행한 콘텐츠 서버가 자기에게 저장할 분할된 콘텐츠를 남기고, 메타 서버와의 통신을 통해서 다른 콘텐츠 서버로 분할할 콘텐츠를 전송하는 프로세스를 실행하고, 이런 프로세스를 순차적으로 진행함으로써 콘텐츠를 서로 다른 서버에 저장하도록 한다. 이와 같이 함으로써 콘텐츠의 스트리밍을 신속하게 처리할 수 있을 뿐만 아니라, 특히 콘텐츠 재생산을 더욱 효과적으로 할 수 있는 환경을 제공하게 된다.
도 2는 본 발명에 따른 멀티미디어 콘텐츠의 분할 기능 및 분산 기능을 보다 개념적으로 설명한다. 영역 M은 각 콘텐츠 서버(100, 200, 300, 400)에 설치되는 미디어 분할 모듈을 나타내며, 영역 S는 콘텐츠의 분산을 위한 서버 토폴로지 시스템 구성을 나타낸다. 각 콘텐츠 서버(100, 200, 300, 400)들은 네트워크 모듈(50)에 의해서 서로 연결될 수 있다.
사용자 단말에 의해 멀티미디어 콘텐츠(1)가 업로드 되어 어느 하나의 콘텐츠 서버에 저장이 된다. 업로드가 완료되는 시점에 미디어 분할 모듈(M)이 실행된다. 먼저 이 미디어 분할 모듈(M)의 컨테이너 제거 모듈(20)에 의해 멀티미디어 콘텐츠(1)를 감싸고 있는 컨테이너(*.avi, *.mkv 등)를 제거한다. 그리고 미디어 분할 모듈(M)이 멀티미디어 콘텐츠(1)에서 영상과 음성을 분리하여 미리 정해진 분할 기준에 맞게 자른다. 음성 분할 모듈(30)은 멀티미디어 콘텐츠(1)에서 음성을 분리하고, 영상 분할 모듈(40)은 멀티미디어 콘텐츠(1)에서 영상을 분리한다. 이렇게 해서 분리되고 추출된 영상과 음성은 전술한 바와 같이 독립적으로 재생될 수 있는 단위인 것이 바람직하다.
이렇게 분할된 영상과 음성은 해당 콘텐츠 서버에 저장되는데, 도 2의 영역(S)에 나타난 바와 같이, 멀티미디어 콘텐츠는 본 발명에 따라 각 콘텐츠 서버(100, 200, 300, 400)를 통해서 분산될 수 있다. 콘텐츠 서버(100, 200, 300, 400)는 콘텐츠를 저장하며, 그것의 변환과 처리, 스트리밍을 담당하며, 메타 서버(500)는 콘텐츠의 저장 위치와 각 콘텐츠 서버(100, 200, 300, 400)의 상태 정보를 저장하는 기능을 수행한다.
콘텐츠 서버(100, 200, 300, 400)는 멀티미디어 콘텐츠를 입력받고 그 콘텐츠를 분할하는 상기 미디어 분할 모듈과 콘텐츠의 관리와 관련된 콘텐츠 저장소 모듈, 트랜스코더 모듈, 콘텐츠 스트리밍 모듈을 가지며, 또한 각각의 모듈 사이의 작동 효율을 향상시키기 위한 파일 시스템이 구성될 수 있다. 메타 서버(500)는 콘텐츠 서버(100, 200, 300, 400)의 리스트 관리와 분산된 콘텐츠의 관리가 핵심이며, 데이터를 신속하게 검색하는 기능을 갖는다.
도 2의 영역 S에서, 콘텐츠 서버(100)는 영상과 음성 등 독립적으로 재생될 수 있는 단위로 분할된 콘텐츠(분할되기 이전의 콘텐츠를 C0라고 할 때, 분할되어 콘텐츠 서버(100)에 저장되는 콘텐츠를 C1, 나머지 콘텐츠를 C2라고 하자, 그러면 C0=C1+C2의 관계가 된다)를 저장하고, C2는 다른 콘텐츠 서버에 분할되어 분산된다. 분할된 콘텐츠를 받은 콘텐츠 서버들은 해당 콘텐츠를 저장한다. 본 발명의 바람직한 실시예에 따르면 이와 같이 콘텐츠를 분할하여 복수의 콘텐츠 서버(100, 200, 300, 400)에 분산 저장하고, 메타 서버(500)로 하여금 분산된 콘텐츠를 관리하고 검색할 수 있도록 한 것이다.
도 3은 분할된 콘텐츠를 복수의 콘텐츠 서버로 분산하는 방법을 두 개의 콘텐츠 서버(100, 200) 사이의 관계를 예를 들어 보다 구체적으로 설명한다. 사용자 단말(90)에 의해 멀티미디어 콘텐츠가 콘텐츠 서버1(100)에 업로드되어 저장되면(①), 업로드가 완료된 시점에 멀티미디어 콘텐츠를 미리 설정된 분할 기준에 따라 분할하는 미디어 분할 모듈이 실행되어, 멀티미디어 콘텐츠에서 영상과 음성을 분리하여 각각을 분할 기준에 맞게 자른다(②). 미디어 분할 모듈이 실행중인 콘텐츠 서버1(100)는 분할된 콘텐츠(C1)를 저장소에 저장하고 분할되고 남은 콘텐츠(C2)를 분산할 서버 리스트를 메타 서버(500)에 요청하게 된다(③).
메타 서버(500)는 콘텐츠 서버1(100)의 요청에 따라 서버 리스트를 콘텐츠 서버1(100)에 전송해 준다(④). 이에 관해서 먼저 도 2의 영역 S에서의 콘텐츠 서버와 메타 서버의 관계를 참조하여, 콘텐츠 서버 리스트의 관리 및 메타 서버 동작 방식에 대해서 다시 한 번 설명해 보자. 콘텐츠 서버1(100)에서 콘텐츠 서버 토폴로지 가입 요청 메시지를 메타 서버(500)에 전송하게 된다. 메타 서버(500)는 참가를 희망하는 콘텐츠 서버에 해당 서버의 고유 ID를 부여하며, 이웃 콘텐츠 서버(200)의 정보도 함께 전송하는데, 이미 해당 콘텐츠 서버1(100)의 ID가 있다면 이웃 콘텐츠 서버(200)의 정보를 전송하고, 그렇지 않다면 새로운 콘텐츠 서버의 가입으로 판단하여, 새로운 ID를 부여하고 이웃이 될 콘텐츠 서버2(200)의 정보를 함께 전송한다.
콘텐츠 서버1(100)는 콘텐츠(C2)를 콘텐츠 서버2(200)에 전송하여 콘텐츠 분산 프로세스를 수행한다(⑤). 콘텐츠 서버2(200)는 전송 받은 분할된 콘텐츠(C2)가 미리 설정된 기본 코덱(예컨대 영상: MPEG4, 음성: MP3)과 일치 하지 않는 다면 기본 코덱으로 콘텐츠를 변환하여 저장한다(⑥). 콘텐츠를 저장할 때 콘텐츠 서버에 설정된 기본 코덱으로의 변환이 필요한지를 확인하고, 기본 코덱으로 변환하여 저장함으로써, 단일 코덱으로 통일하여 콘텐츠를 조작하게 되어 시스템의 복잡도를 낮출 수 있다. 또한 이는 시스템의 유지 보수 비용의 절감과 연결된다.
그리고 콘텐츠 서버2(200)는 저장된 데이터의 위치 정보(예컨대 서버 ID 및 분할된 콘텐츠의 ID)를 메타 서버(500)에 전송한다(⑦).
도 4는 상기한 방법에 의해 콘텐츠가 분할되고 분산 구축된 본 발명의 프레임워크에서 멀티미디어 콘텐츠를 스트리밍하는 방법의 예를 나타낸다. 본 발명에 따르면 하나의 멀티미디어 콘텐츠를 스트리밍하기 위해서는 복수의 콘텐츠 서버의 상호 운영이 필요하게 된다. 여러 콘텐츠 서버에 분산되어 있는 콘텐츠를 사용자 단말에게 최적의 스트리밍을 제공하기 위해서, 서버 간 리소스 예약과 서버 간의 데이터 교환을 통해, 분할되었던 콘텐츠를 하나의 완전한 콘텐츠로서 재가공하여 사용자에게 서비스한다. 한번 재 가공된 콘텐츠의 경우 사용자들의 선호에 따라 Caching 되어 추후 발생하는 추가적인 요청에 빠르게 대비 하게 할 수 있도록 구성될 수 있다.
사용자 단말(90)이 분할 및 분산 구축되어 있는 멀티미디어 콘텐츠에 대해서 스트리밍을 요청했다(1). 콘텐츠 서버1(100)는 로컬 내에서 해당 콘텐츠의 Cache를 검색하며(2), Cache가 존재하는 경우 Cache를 바탕으로 서비스를 바로 시작하며, 존재하지 않을 경우 메타 서버(500)에 해당 콘텐츠의 위치 정보를 요청한다(3). 메타 서버(500) 내에서 관리중인 정보를 바탕으로 요청된 콘텐츠의 분할된 개수와 각 서버 위치, 콘텐츠 분산에 사용된 서버의 수, 각 분할된 콘텐츠의 재생 시간 정보 등의 정보를 콘텐츠 서버1(100)로 전송한다(4).
콘텐츠 서버1(100)은 최적의 스트리밍을 제공하기 위해 해당 리소스가 존재하는 콘텐츠서버를 계산하고 자원을 예약하기 위한 스트리밍 Plan을 만들고 실행한다(5). 스트리밍 Plan에 따라 콘텐츠 서버 2(200)에 스트리밍에 필요한 분할된 콘텐츠(C2)에 대한 리소스를 예약한다(6). 그리고 보유중인 분할된 콘텐츠(C1)를 바탕으로 스트리밍을 시작한다(7).
콘텐츠 서버1(100)는 보유중인 분할된 콘텐츠(C1)의 끝에 도달하기 전에 콘텐츠서버 2(200)에 그 다음 순번의 분할된 콘텐츠(C2)를 요청한다(8). 그리고 콘텐츠 서버2(200)는 자기에게 존재하는 분할된 콘텐츠(C2)를 콘텐츠 서버1(100)에 전송한다(9).
한편, 사용자 단말(90)에 의해 스트리밍 취소 요청이 전송되면(10), 스트리밍을 담당하던 콘텐츠 서버1(100)은 콘텐츠 서버2(200)에 스트리밍을 위해 예약해 놓았던 리소스에 대해 해제 요청을 하고(11), 필요 시 로직에 의해 스트리밍 중지 완료 메시지를 전송한다(12). 콘텐츠 서버2(200)에서 예약 중 이였던 리소스를 해제하며(13), 콘텐츠 서버1(100)에서 예약 중이었던 리소스를 해제한다(14).
도 5는 콘텐츠가 분할되고 분산 구축된 본 발명의 프레임워크에서 콘텐츠를 재생산하는 프로세스의 개략적인 구성을 나타낸다. 기본적으로는 전술한 바와 같은 콘텐츠의 분할 및 분산 프로세스에 기초를 둔다. 그리고 콘텐츠 재생산 모듈에 의해 실행된다. 콘텐츠 재생산 모듈은 사용자가 보유중인 콘텐츠와 웹에 존재하는 리소스를 연결하여 새로운 콘텐츠를 생산할 수 있는 방법을 제공할 수 있다. 마찬가지로 전술한 바와 같이 콘텐츠 재생산 모듈도 콘텐츠내의 이미지, 음성, 비디오 등을 분리하여 처리하며, 원하는 형태로의 변환 등을 거쳐 사용자에게 제공할 수 있다.
도 5에 나타난 바와 같이, 상기한 분할기준에 따라 분할된 콘텐츠는 4개의 콘텐츠 서버(100, 200, 300, 400)에 분산, 전송되어 저장된다. 그리고 각 서버(100, 200, 300, 400) 내에는 각각 웹 서비스로부터 콘텐츠를 입력받고 그 콘텐츠를 분할할 수 있는 미디어 분할 모듈 프로세스와 콘텐츠 관리와 관련된 콘텐츠 저장소 모듈, 콘텐츠 스트리밍 모듈을 가지며, 각각의 모듈 간의 작동 효율을 향상시키기 위해서 유저 레벨의 파일 시스템을 포함한다.
그리고 각각 동일한 모듈 구성과 기능을 수행하는 콘텐츠 빌드 엔진(10) 및 트랜스코더(15)가 설치되어 독립적으로 실행할 수 있다. 콘텐츠 빌드 엔진(10)은 콘텐츠 스크립트를 파싱하는 파서와, 웹 상에 존재하는 리소스를 다운로드 받는 다운로더, 그리고 콘텐츠의 종류에 따른 변환(이미지 변환, CROP, 텍스트 추가, 이미지 추가 등), 추출(이미지 추출, 음성추출, 영상 추출), 혼합(오디오 믹싱)할 수 있는 프로세싱 기능 모듈을 포함하며, 각 서버 내에서 독자적으로 콘텐츠를 조합할 수 있다. 콘텐츠가 영상과 이미지가 혼합될 경우에는 영상에서 각 프레임을 모두 추출하여 혼합할 이미지와 결합 한 후 그 결합된 이미지를 영상으로 다시 변환하는 과정을 거치게 된다. 이렇게 콘텐츠 빌드 엔진을 통해 재생산되어 만들어진 콘텐츠는 트랜스코더(15)에 의해서 각각의 서버에서 독립적으로 변환(여러 대의 서버에서 병렬로 트랜스코딩이 수행됨)된 다음에 이들이 다시 최종 콘텐츠로 결합되어 사용자에게 제공되도록 할 수 있다.
한편, 본 발명의 보호범위가 이상에서 명시적으로 설명한 실시예에 의해 제한되는 것은 아니다. 또한, 본 발명이 속하는 기술분야에서 자명한 변경이나 치환으로 말미암아 본 발명의 보호범위가 제한될 수도 없음을 첨언한다.
Claims (6)
- 복수의 콘텐츠 서버를 이용하여 멀티미디어 콘텐츠의 분할 및 분산방법으로서:
(a) 사용자 단말이 멀티미디어 콘텐츠(C)를 제 1 콘텐츠 서버에 업로드 하는 단계;
(b) 상기 제 1 콘텐츠 서버가 상기 멀티미디어 콘텐츠를 독립적으로 재생될 수 있는 단위로 분할하여, 분할된 콘텐츠(C1)를 저장소에 저장하는 단계;
(c) 상기 제 1 콘텐츠 서버가 분할되고 남은 나머지 콘텐츠(C2)를 분산할 서버 리스트를 메타 서버에 요청하는 단계;
(d) 상기 메타 서버가 제 2 콘텐츠 서버의 정보가 포함된 서버 리스트를 상기 제 1 콘텐츠 서버로 전송하는 단계;
(e) 상기 제 1 콘텐츠 서버가 상기 콘텐츠(C2)를 상기 제 2 콘텐츠 서버로 분산하는 단계;
(f) 상기 제 2 콘텐츠 서버가 상기 콘텐츠(C2)를 저장소에 저장하고, 저장된 콘텐츠의 데이터 위치 정보를 상기 메타 서버에 전송하는 단계; 및
(g) 상기 제 2 콘텐츠가 상기 콘텐츠(C2)를 분산하는 경우에, 상기 (c) 단계 내지 상기 (f) 단계를 반복하는 단계를 포함하고,
상기 메타 서버가 상기 복수의 콘텐츠 서버를 관리하며 콘텐츠 서버들의 위치정보들을 각각의 콘텐츠 서버에 전송해주는, 멀티미디어 콘텐츠의 분할 및 분산 방법. - 제1항에 있어서,
상기 콘텐츠의 분할은 독립적으로 재생 가능한 영상 단위와 음성 단위로 분할하는 것이며, 또한 영상은 시퀀스를 기준으로 분할하는 것인, 멀티미디어 콘텐츠의 분할 및 분산 방법. - 제1항에 있어서,
상기 콘텐츠 서버 내에는 콘텐츠 빌드 엔진 및 트랜스코더가 포함되며, 이들이 각 서버 내에서 콘텐츠에 대한 각각 독립적인 처리 작업을 수행하는 것인, 멀티미디어 콘텐츠의 분할 및 분산 방법. - 제1항에 있어서,
콘텐츠에 대한 분할 및 분산 프로세스가 완료된 후에 상기 사용자 단말이 멀티미디어 콘텐츠에 대한 스트리밍을 요청한 경우에,
상기 메타 서버가 전송하는 정보에 따라 상기 복수의 콘텐츠 서버에 순차적으로 분산된 콘텐츠를 순차적으로 스트리밍하는 것인, 멀티미디어 콘텐츠의 분할 및 분산 방법. - 제1항에 있어서,
상기 복수의 콘텐츠 서버 내에 저장되어 있는 분산된 콘텐츠와 웹 상에 존재하는 리소스를 결합하여 해당 콘텐츠 서버 내에서 독립적으로 콘텐츠 재생산을 실행하고 이들을 다시 재결합하는 단계를 더 포함하는, 멀티미디어 콘텐츠의 분할 및 분산 방법. - 제1항 내지 제5항 중 어느 한 항의 멀티미디어 콘텐츠의 분할 및 분산 방법 알고리즘을 실행하는 컴퓨터 프로그램이 수록된 컴퓨터 판독가능한 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110114285A KR101341441B1 (ko) | 2011-11-04 | 2011-11-04 | 멀티미디어 콘텐츠 분할 및 분산 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110114285A KR101341441B1 (ko) | 2011-11-04 | 2011-11-04 | 멀티미디어 콘텐츠 분할 및 분산 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130049335A KR20130049335A (ko) | 2013-05-14 |
KR101341441B1 true KR101341441B1 (ko) | 2013-12-13 |
Family
ID=48660102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110114285A KR101341441B1 (ko) | 2011-11-04 | 2011-11-04 | 멀티미디어 콘텐츠 분할 및 분산 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101341441B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10146659B2 (en) | 2016-12-23 | 2018-12-04 | Pusan National University Industry-University Cooperation Foundation | Large event log replay method and system |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2515301B (en) | 2013-06-18 | 2017-07-19 | Samsung Electronics Co Ltd | Receiving broadcast content from a broadcast stream and an alternate location |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080022549A (ko) * | 2005-06-27 | 2008-03-11 | 마이크로소프트 코포레이션 | 분산형 저장 및 블로깅을 통한 협업 비디오 |
JP2009529193A (ja) | 2006-03-08 | 2009-08-13 | オムニオン ビデオ ネットワークス | データ記憶システム |
JP2010238038A (ja) * | 2009-03-31 | 2010-10-21 | Nec Corp | 分散ファイルシステム及び分散ファイル格納方法 |
KR20110032162A (ko) * | 2009-09-22 | 2011-03-30 | 에스케이 텔레콤주식회사 | 네트워크에서의 컨텐츠 전송 서비스 방법 및 그 방법을 이용한 캐시 관리 장치 |
-
2011
- 2011-11-04 KR KR1020110114285A patent/KR101341441B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080022549A (ko) * | 2005-06-27 | 2008-03-11 | 마이크로소프트 코포레이션 | 분산형 저장 및 블로깅을 통한 협업 비디오 |
JP2009529193A (ja) | 2006-03-08 | 2009-08-13 | オムニオン ビデオ ネットワークス | データ記憶システム |
JP2010238038A (ja) * | 2009-03-31 | 2010-10-21 | Nec Corp | 分散ファイルシステム及び分散ファイル格納方法 |
KR20110032162A (ko) * | 2009-09-22 | 2011-03-30 | 에스케이 텔레콤주식회사 | 네트워크에서의 컨텐츠 전송 서비스 방법 및 그 방법을 이용한 캐시 관리 장치 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10146659B2 (en) | 2016-12-23 | 2018-12-04 | Pusan National University Industry-University Cooperation Foundation | Large event log replay method and system |
Also Published As
Publication number | Publication date |
---|---|
KR20130049335A (ko) | 2013-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106685942B (zh) | 视频直播回播系统以及视频直播回播方法 | |
CN108881944B (zh) | 一种流媒体加速发布方法与系统 | |
EP2409241B1 (en) | Dynamic variable rate media delivery system | |
US8880650B2 (en) | System and method for storing streaming media file | |
CN102932608B (zh) | 基于云编辑技术的数字视频加工、编目系统及方法 | |
CN103838779B (zh) | 复用空闲计算资源的云转码方法及系统、分布式文件装置 | |
US9342529B2 (en) | Directory-level referral method for parallel NFS with multiple metadata servers | |
KR101568063B1 (ko) | 멀티미디어 트랜스코딩 방법 및 이를 수행하는 하둡 기반 멀티미디어 트랜스코딩 시스템 | |
WO2021159770A1 (zh) | 视频播放方法、装置、设备和存储介质 | |
CN101977218B (zh) | 一种互联网播放文件转码方法和系统 | |
US11226930B2 (en) | Distributed file system with integrated file object conversion | |
CN108881942B (zh) | 一种基于分布式对象存储的超融合常态录播系统 | |
CN106301865B (zh) | 应用于服务提供设备的数据处理方法和设备 | |
US10419815B2 (en) | Bandwidth limited dynamic frame rate video trick play | |
CN104539982B (zh) | 一种视频点对点资源共享调度方法、系统及节点终端 | |
CN103763368B (zh) | 一种跨数据中心的数据同步方法 | |
TW201234194A (en) | Data stream management system for accessing mass data | |
US20030154246A1 (en) | Server for storing files | |
CN102447841A (zh) | 电视台生产系统的终端装置 | |
CN105743971A (zh) | 一种适用于新媒体内容融合的saas云平台的使用方法 | |
CN102118315B (zh) | 数据流化方法、数据记录方法、数据读取方法及其系统 | |
Kim et al. | A Hadoop-based multimedia transcoding system for processing social media in the PaaS platform of SMCCSE | |
Song et al. | Distributed video transcoding based on MapReduce | |
KR101341441B1 (ko) | 멀티미디어 콘텐츠 분할 및 분산 방법 | |
WO2012092901A2 (zh) | 媒体存储系统及方法 |
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: 20161021 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20171019 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180926 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20191125 Year of fee payment: 7 |