KR101481122B1 - 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법 및 시스템 - Google Patents

클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법 및 시스템 Download PDF

Info

Publication number
KR101481122B1
KR101481122B1 KR20120137633A KR20120137633A KR101481122B1 KR 101481122 B1 KR101481122 B1 KR 101481122B1 KR 20120137633 A KR20120137633 A KR 20120137633A KR 20120137633 A KR20120137633 A KR 20120137633A KR 101481122 B1 KR101481122 B1 KR 101481122B1
Authority
KR
South Korea
Prior art keywords
transcoding
dynamic cache
computing node
control server
content
Prior art date
Application number
KR20120137633A
Other languages
English (en)
Other versions
KR20140069852A (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 KR20120137633A priority Critical patent/KR101481122B1/ko
Publication of KR20140069852A publication Critical patent/KR20140069852A/ko
Application granted granted Critical
Publication of KR101481122B1 publication Critical patent/KR101481122B1/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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/70Details relating to dynamic memory management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명의 실시예들에 따른 트랜스코딩 제어 서버에 의해 할당되는 트랜스코딩 작업을 다수의 컴퓨팅 노드들이 수행하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법은, 트랜스코딩 제어 서버가 (a) 트랜스코딩 작업을 수행 중인 컴퓨팅 노드에서 트랜스코딩 작업에 할당되지 않은 유휴 공간의 적어도 일부 또는 트랜스코딩 작업을 수행 중이지 않은 컴퓨팅 노드에서 유휴 공간의 적어도 일부를 동적 캐시에 편입하는 단계; (b) 트랜스코딩 작업이 할당되었던 컴퓨팅 노드로부터 트랜스코딩된 컨텐츠가 생성된 경우에, 캐시 정책에 따라, 생성된 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재하거나 또는 동적 캐시에 적재 없이 클라이언트로 전송하는 단계; 및 (c) 외부에서 트랜스코딩 컨텐츠의 요청이 새로 있는 경우에, 트랜스코딩 작업이 새로 또는 추가로 할당될 수 있는 컴퓨팅 노드를 선정하고, 선정된 컴퓨팅 노드의 메모리 중 적어도 일부 공간을 동적 캐시로부터 반환하며, 선정된 컴퓨팅 노드로 하여금 반환된 메모리에서 트랜스코딩 작업을 수행하도록 하는 단계를 포함할 수 있다.

Description

클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법 및 시스템{METHOD AND SYSTEM FOR MANAGING DYNAMIC CACHE FOR TRANSCODING BASED ON CLOUD COMPUTING}
본 발명은 클라우드 컴퓨팅에 관한 것으로, 더욱 상세하게는, 클라우드 컴퓨팅 기반의 트랜스코딩 기술에 관한 것이다.
디지털 미디어 기술 및 네트워크 기술의 발전과 더불어 작고 강력한 컴퓨팅 장치들이 현실화됨에 따라 다양한 수준의 정보 통신 장치들이 보급되고 일상 생활에 활용되고 있다.
무엇보다 디지털화된 음성, 영상 등 미디어 정보와, 영상을 수반하는 인터넷 서비스는 어마어마한 트래픽을 유발하면서 엄청난 인기를 끌고 있다. 디지털 미디어 처리 기술이 급속도로 발전하면서 다양한 해상도와 압축 방식 기술들이 경쟁하고 있고, 통신 단말기들도 급격히 성능이 향상되고 시장이 분화되면서 사용자들이 사용하는 단말기들도 성능이나 해상도, 처리 능력, 코덱 등이 천차만별인 단말기들이 다양하게 공존하며, 네트워크 환경도 디지털 공중파, 유무선 랜이나 이동통신망 등으로 세분화되며 대역폭도 다양하다.
이러한 수많은 요소들을 모두 고려한다면 엄청난 개수의 사용자 환경들을 조합할 수 있이며, 그에 따라 다양한 해상도와 비트레이트, 코덱, 트랙 등을 가진 콘텐츠들을 모두 구비하고 소비자들에게 알맞은 형식의 콘텐츠를 제공하는 것은 불가능에 가깝다.
이러한 문제를 해결하기 위해 동일한 소스로부터 사용자의 요구 수준, 단말기 성능과 네트워크 환경에 따라 최적의 해상도, 비트레이트, 코덱 내지 트랙 등을 가진 콘텐츠들로 재구성하여 제공하는 방식이 대두되고 있다. 이러한 동일 소스로부터의 콘텐츠 재구성 작업을 트랜스코딩이라고 한다.
일반적으로 이미 특정 해상도와 비트레이트에서 특정 코덱으로 압축되어 있는 동영상을 다른 해상도, 비트레이트 및 코덱으로 재압축하기 위해서는 상당한 컴퓨팅 자원와 시간이 소모되는데, 이전에 트랜스코딩한 동영상이 이후에 다시 요청될 경우에 이전에 트랜스코딩한 동영상을 캐싱하고 있었다면 컴퓨팅 자원과 시간을 절약할 수 있다.
본 발명이 해결하고자 하는 과제는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법 및 시스템을 제공하는 데에 있다.
본 발명의 일 측면에 따른 트랜스코딩 제어 서버에 의해 할당되는 트랜스코딩 작업을 다수의 컴퓨팅 노드들이 수행하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법으로서,
(a) 상기 트랜스코딩 제어 서버가 트랜스코딩 작업을 수행 중인 컴퓨팅 노드에서 트랜스코딩 작업에 할당되지 않은 유휴 공간의 적어도 일부 또는 트랜스코딩 작업을 수행 중이지 않은 컴퓨팅 노드에서 유휴 공간의 적어도 일부를 동적 캐시에 편입하는 단계;
(b) 트랜스코딩 작업이 할당되었던 컴퓨팅 노드로부터 트랜스코딩된 컨텐츠가 생성된 경우에, 상기 트랜스코딩 제어 서버가, 캐시 정책에 따라, 상기 생성된 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재하거나 또는 상기 동적 캐시에 적재 없이 클라이언트로 전송하는 단계; 및
(c) 외부에서 트랜스코딩 컨텐츠의 요청이 새로 있는 경우에, 상기 트랜스코딩 제어 서버가 트랜스코딩 작업이 새로 또는 추가로 할당될 수 있는 컴퓨팅 노드를 선정하고, 상기 선정된 컴퓨팅 노드의 메모리 중 적어도 일부 공간을 상기 동적 캐시로부터 반환하며, 상기 선정된 컴퓨팅 노드로 하여금 반환된 메모리에서 트랜스코딩 작업을 수행하도록 하는 단계를 포함할 수 있다.
일 실시예에 따라, 상기 (b) 단계는,
상기 트랜스코딩 제어 서버가 캐시 정책에 따라 트랜스코딩 작업이 완료되어 생성된 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재할 것인 여부를 판정하는 단계;
만약 상기 트랜스코딩 컨텐츠가 상기 동적 캐시에 적재될 대상이 아니라고 판정되면, 상기 트랜스코딩 제어 서버가 상기 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재없이 곧장 클라이언트에 전송하는 단계; 및
만약 상기 트랜스코딩 컨텐츠가 상기 동적 캐시에 적재될 대상이라고 판정되면, 상기 동적 캐시에 여유 공간이 있을 경우에만 상기 트랜스코딩 제어 서버가 상기 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재하는 단계를 포함할 수 있다.
일 실시예에 따라, 상기 (b) 단계는,
만약 상기 동적 캐시에 여유 공간이 없다고 판단되면, 상기 트랜스코딩 제어 서버가 현재 동적 캐시에 적재된 컨텐츠들 중에 희생(victim) 컨텐츠를 선정하는 단계;
상기 트랜스코딩 제어 서버가 상기 동적 캐시를 확장하기 위하여 아이들 상태에서 유휴 공간을 가지는 컴퓨팅 노드를 탐색하는 단계;
만약 아이들 상태인 컴퓨팅 노드가 탐색되지 않으면, 상기 트랜스코딩 제어 서버가 상기 선정된 희생 컨텐츠를 제거하고, 상기 희생 컨텐츠의 제거로 인해 상기 동적 캐시에 생긴 여유 공간에 상기 트랜스코딩된 컨텐츠를 적재하는 단계;
만약 아이들 상태인 컴퓨팅 노드가 탐색되면, 상기 트랜스코딩 제어 서버가 아이들 상태인 컴퓨팅 노드의 유휴 공간을 상기 동적 캐시에 편입하는 단계; 및
상기 트랜스코딩 제어 서버가 상기 동적 캐시의 새로 편입된 공간에 희생 컨텐츠를 이동시키고, 상기 희생 컨텐츠의 이동으로 인해 상기 동적 캐시에 생긴 여유 공간에 상기 트랜스코딩된 컨텐츠를 적재하는 단계를 더 포함할 수 있다.
일 실시예에 따라, (c) 단계는,
외부에서 트랜스코딩 컨텐츠의 요청이 있을 경우에, 상기 트랜스코딩 제어 서버가 트랜스코딩 작업을 수행할 수 있는 컴퓨팅 노드를 탐색하는 단계; 및
상기 트랜스코딩 제어 서버가 트랜스코딩 작업을 수행할 수 있다고 탐색된 컴퓨팅 노드에 트랜스코딩 작업을 할당하는 단계를 포함할 수 있다.
일 실시예에 따라, (c) 단계는,
만약 트랜스코딩 작업을 수행할 수 있는 컴퓨팅 노드가 탐색되지 않으면, 상기 트랜스코딩 제어 서버가 아이들 상태의 컴퓨팅 노드로서 메모리가 상기 동적 캐시에 편입된 컴퓨팅 노드가 있는지 탐색하는 단계;
만약 아이들 상태의 컴퓨팅 노드로서 메모리가 상기 동적 캐시에 편입된 컴퓨팅 노드가 탐색되면, 상기 트랜스코딩 제어 서버가 상기 탐색된 컴퓨팅 노드의 메모리 중에서 상기 동적 캐시에 편입된 공간을 상기 동적 캐시로부터 반환하는 단계; 및
상기 트랜스코딩 제어 서버가 메모리 공간을 반환받은 상기 아이들 상태의 컴퓨팅 노드에 트랜스코딩 작업을 할당하는 단계를 더 포함할 수 있다.
일 실시예에 따라, (c) 단계는,
만약 아이들 상태의 컴퓨팅 노드로서 메모리가 상기 동적 캐시에 편입된 컴퓨팅 노드가 탐색되지 않으면, 상기 트랜스코딩 제어 서버가 트랜스코딩 작업을 할당할 수 있는 컴퓨팅 노드가 나타날 때까지 대기하는 단계를 더 포함할 수 있다.
본 발명의 다른 측면에 따른 트랜스코딩 제어 서버에 의해 할당되는 트랜스코딩 작업을 다수의 컴퓨팅 노드들이 수행하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 시스템으로서,
상기 트랜스코딩 제어 서버는,
(a) 트랜스코딩 작업을 수행 중인 컴퓨팅 노드에서 트랜스코딩 작업에 할당되지 않은 유휴 공간의 적어도 일부 또는 트랜스코딩 작업을 수행 중이지 않은 컴퓨팅 노드에서 유휴 공간의 적어도 일부를 동적 캐시에 편입하고,
(b) 트랜스코딩 작업이 할당되었던 컴퓨팅 노드로부터 트랜스코딩된 컨텐츠가 생성된 경우에, 캐시 정책에 따라, 상기 생성된 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재하거나 또는 상기 동적 캐시에 적재 없이 클라이언트로 전송하며,
(c) 외부에서 트랜스코딩 컨텐츠의 요청이 새로 있는 경우에, 트랜스코딩 작업이 새로 또는 추가로 할당될 수 있는 컴퓨팅 노드를 선정하고, 상기 선정된 컴퓨팅 노드의 메모리 중 적어도 일부 공간을 상기 동적 캐시로부터 반환하며, 상기 선정된 컴퓨팅 노드로 하여금 반환된 메모리에서 트랜스코딩 작업을 수행하도록 동작할 수 있다.
일 실시예에 따라, 상기 트랜스코딩 제어 서버는,
캐시 정책에 따라 트랜스코딩 작업이 완료되어 생성된 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재할 것인 여부를 판정하고,
만약 상기 트랜스코딩 컨텐츠가 상기 동적 캐시에 적재될 대상이 아니라고 판정되면, 상기 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재없이 곧장 클라이언트에 전송하며,
만약 상기 트랜스코딩 컨텐츠가 상기 동적 캐시에 적재될 대상이라고 판정되면, 상기 동적 캐시에 여유 공간이 있을 경우에만 상기 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재하도록 동작할 수 있다.
일 실시예에 따라, 상기 트랜스코딩 제어 서버가
만약 상기 동적 캐시에 여유 공간이 없다고 판단되면, 현재 동적 캐시에 적재된 컨텐츠들 중에 희생 컨텐츠를 선정하고,
상기 동적 캐시를 확장하기 위하여 아이들 상태에서 유휴 공간을 가지는 컴퓨팅 노드를 탐색하며,
만약 아이들 상태인 컴퓨팅 노드가 탐색되지 않으면, 상기 선정된 희생 컨텐츠를 제거하고, 상기 희생 컨텐츠의 제거로 인해 상기 동적 캐시에 생긴 여유 공간에 상기 트랜스코딩된 컨텐츠를 적재하고,
만약 아이들 상태인 컴퓨팅 노드가 탐색되면, 아이들 상태인 컴퓨팅 노드의 유휴 공간을 상기 동적 캐시에 편입하며,
상기 동적 캐시의 새로 편입된 공간에 희생 컨텐츠를 이동시키고, 상기 희생 컨텐츠의 이동으로 인해 상기 동적 캐시에 생긴 여유 공간에 상기 트랜스코딩된 컨텐츠를 적재하도록 동작할 수 있다.
일 실시예에 따라, 상기 트랜스코딩 제어 서버가
외부에서 트랜스코딩 컨텐츠의 요청이 있을 경우에, 트랜스코딩 작업을 수행할 수 있는 컴퓨팅 노드를 탐색하고,
트랜스코딩 작업을 수행할 수 있다고 탐색된 컴퓨팅 노드에 트랜스코딩 작업을 할당하도록 동작할 수 있다.
일 실시예에 따라, 상기 트랜스코딩 제어 서버가
만약 트랜스코딩 작업을 수행할 수 있는 컴퓨팅 노드가 탐색되지 않으면, 아이들 상태의 컴퓨팅 노드로서 메모리가 상기 동적 캐시에 편입된 컴퓨팅 노드가 있는지 탐색하고,
만약 아이들 상태의 컴퓨팅 노드로서 메모리가 상기 동적 캐시에 편입된 컴퓨팅 노드가 탐색되면, 상기 탐색된 컴퓨팅 노드의 메모리 중에서 상기 동적 캐시에 편입된 공간을 상기 동적 캐시로부터 반환하며,
메모리 공간을 반환받은 상기 아이들 상태의 컴퓨팅 노드에 트랜스코딩 작업을 할당하도록 동작할 수 있다.
일 실시예에 따라, 상기 트랜스코딩 제어 서버가
만약 아이들 상태의 컴퓨팅 노드로서 메모리가 상기 동적 캐시에 편입된 컴퓨팅 노드가 탐색되지 않으면, 트랜스코딩 작업을 할당할 수 있는 컴퓨팅 노드가 나타날 때까지 대기하도록 동작할 수 있다.
본 발명의 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법 및 시스템에 따르면, 클라우드 컴퓨팅 자원을 좀더 효율적으로 활용하여 트랜스코딩을 수행할 수 있다.
본 발명의 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법 및 시스템에 따르면, 이미 트랜스코딩된 컨텐츠들을 캐싱할 때에 캐싱 히트율을 높일 수 있다.
도 1은 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 시스템을 예시한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법을 개략적으로 예시한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법에서, 트랜스코딩된 컨텐츠를 캐시에 적재하는 절차를 예시한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법에서 트랜스코딩을 수행할 컴퓨터를 선정하기 위해 캐시를 반환하는 절차를 예시한 순서도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 시스템을 예시한 개념도이다.
도 1을 참조하면, 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 시스템을 가지는 트랜스코딩 클라우드 클러스터(10)는 각자 메모리(111)와 CPU(112) 및 네트워크 인터페이스(113)를 갖춘 다수의 컴퓨팅 노드들(11a, 11b)과, 트랜스코딩 제어 서버(12), 트랜스코딩할 미디어 소스들이 저장되는 데이터 스토리지(13)를 포함한다.
컴퓨팅 노드들(11)은 네트워크 인터페이스(113)를 통해 서로 연결되어 클라우드 클러스터를 구성하며, 메모리(111)에 트랜스코딩될 소스를 적재하고 트랜스코딩된 컨텐츠를 생산한다.
트랜스코딩 제어 서버(12)는 사용자가 요청한 미디어 소스를 데이터 스토리지(13)에서 검색하고, 컴퓨팅 노드들(11a, 11b) 중에 현재 작업이 할당되지 않은 컴퓨팅 노드들(11b)에 새 트랜스코딩 작업을 할당하며, 이미 트랜스코딩된 컨텐츠들을 이를 요청한 사용자에게 제공할 수 있도록 출력할 수 있다.
또한 트랜스코딩 제어 서버(12)는 컴퓨팅 노드(11a)에 트랜스코딩 작업이 할당되었지만 해당 컴퓨팅 노드(11a)의 메모리(111) 중에서 트랜스코딩 작업에 이용되지 않은 유휴 공간(111a)이 있거나 또는 아예 트랜스코딩 작업이 할당되지 않아 아이들 상태인 컴퓨팅 노드(11b)에서 메모리(111)의 유휴 공간(111b)들을 활용하여 동적 캐시(14)로 관리할 수 있다.
캐시의 히트율은 일반적으로 캐시의 크기가 크면 증가한다고 알려져 있다. 따라서 메모리(111)의 유휴 공간들(111a, 111b)을 최대한 많이 모아 동적 캐시(14)로 사용한다면 자연적으로 트랜스코딩된 컨텐츠들의 히트율도 높아질 수 있고 그만큼 동일한 소스에 관하여 동일한 트랜스코딩을 반복할 필요가 줄어드므로 전체적으로 효율을 높이고 비용과 에너지를 절감할 수 있다.
한편, 동적 캐시(14)로 관리되는 유휴 공간들(111a, 111b)은 트랜스코딩 작업의 할당과 종료에 따라 동적으로 가변하고 또한 캐시되어야 하는 컨텐츠 데이터도 트랜스코딩 작업의 할당과 종료에 따라 동적으로 가변하므로, 트랜스코딩 제어 서버(12)가 완료된 트랜스코딩 결과 컨텐츠를 새로 캐싱하기 위해 어떤 조건에서 어떤 컴퓨팅 노드(11a, 11b)의 메모리(111) 중 유휴 공간(111a, 111b)을 동적 캐시(14)에 추가로 편입시킬 것인지, 추가 편입 없이 기존의 캐싱된 데이터를 제거하고 새로운 데이터를 캐싱할 것인지, 또는 새로운 트랜스코딩 작업이 요청될 때에 동적 캐시(14)에 편입된 어떤 컴퓨팅 노드(11a, 11b)의 메모리(111) 중의 유휴 공간(111a, 111b)를 동적 캐시(14)로부터 반환하여 트랜스코딩 작업을 할당할 것인지를 판정하는 알고리즘이 필요하다.
예를 들어, 아이들 상태의 컴퓨팅 노드(11b)의 유휴 공간(111b)이 새로 동적 캐시(14)에 편입될 경우에, 추후에 할당될 새로운 트랜스코딩 작업은 현재 아이들 상태인 컴퓨팅 노드(11b)에 할당될 것이다. 그렇다면, 그 컴퓨팅 노드(11b)가 아이들 상태여서 동적 캐시(14)로 편입된 유휴 공간(111b)에 새로 적재된 컨텐츠는 적재된지 얼마 되지 않은 상태에서 그 유휴 공간(111b)이 트랜스코딩 작업을 위해 다시 반환되어야 하기 때문에 동적 캐시(14)의 다른 공간으로 옮겨지든지 아니면 제거되어야 할 가능성이 높다. 따라서 그렇게 아이들 상태의 컴퓨팅 노드(11b)의 유휴 공간(111b)에서 동적 캐시(14)로 편입된 저장 공간에는 예를 들어 LRU(least recently used) 컨텐츠를 희생 캐시로서 저장하는 것이 유리할 것이다.
이렇듯 동적 캐시 관리 알고리즘을 설명하기 위해 도 2를 참조하면, 도 2는 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법을 개략적으로 예시한 순서도이다.
도 2에서, 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법은, 단계(S21)에서, 트랜스코딩 제어 서버(12)는 트랜스코딩 작업을 수행 중인 컴퓨팅 노드(11)에서 트랜스코딩 작업에 할당되지 않은 유휴 공간(111a) 중 적어도 일부 또는 트랜스코딩 작업을 수행 중이지 않은 컴퓨팅 노드(11)에서 유휴 공간(111b) 중 적어도 일부를 동적 캐시(14)에 편입한다.
단계(S22)에서, 트랜스코딩 작업이 할당되었던 어느 컴퓨팅 노드(11)에서 트랜스코딩 작업이 완료되어 트랜스코딩된 컨텐츠가 생성된 경우에, 트랜스코딩 제어 서버(12)는 캐시 정책에 따라, 생성된 트랜스코딩 컨텐츠를 동적 캐시(14)에 적재하거나 또는 동적 캐시(14)에 적재 없이 클라이언트로 전송한다.
구체적으로 설명하기 위해 도 3을 참조하면, 도 3은 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법에서, 트랜스코딩된 컨텐츠를 캐시에 적재하는 절차를 예시한 개념도이다.
도 3에서는, 단계(S221)에서, 트랜스코딩 제어 서버(12)는 캐시 정책에 따라 트랜스코딩 작업이 완료되어 생성된 트랜스코딩 컨텐츠를 동적 캐시(14)에 적재할 것인 여부를 판정한다.
만약 단계(S221)에서 트랜스코딩 컨텐츠가 동적 캐시(14)에 적재될 대상이 아니라고 판정되면, 단계(S229)로 진행하여 트랜스코딩 제어 서버(12)는 트랜스코딩 컨텐츠를 동적 캐시(14)에 적재없이 곧장 클라이언트에 전송한다.
만약 단계(S221)에서 트랜스코딩 컨텐츠가 동적 캐시(14)에 적재될 대상이라고 판정되면, 단계(S222)로 진행하며, 단계(S222)에서 트랜스코딩 제어 서버(12)는 동적 캐시(14)에 여유 공간이 있는지 판정한다.
만약 단계(S222)에서 동적 캐시(14)에 여유 공간이 있다고 판단되면 단계(S228)에서, 트랜스코딩 제어 서버(12)는 동적 캐시(14)의 여유 공간에 트랜스코딩 컨텐츠를 적재한다.
만약 단계(S222)에서 동적 캐시(14)에 여유 공간이 없다고 판단되면 단계(S223)에서, 트랜스코딩 제어 서버(12)는 현재 동적 캐시(14)에 적재된 컨텐츠들 중에 희생(victim) 컨텐츠를 선정한다.
희생 컨텐츠의 선정은 예를 들어 LRU 방식, 무작위 방식, 라운드-로빈(Round-Robin) 방식 등으로 수행될 수 있다.
여기서, 트랜스코딩 제어 서버(12)는 새로 트랜스코딩한 컨텐츠를 저장하기 위해 동적 캐시(14)를 새로 확장하고 확장된 공간에 새로 트랜스코딩한 컨텐츠를 저장하는 것이 아니라, 동적 캐시(14)의 확장된 공간에 희생 컨텐츠를 옮겨놓고, 희생 컨텐츠가 원래 차지하던 공간에 새로 트랜스코딩한 컨텐츠를 저장하는 캐시 정책을 가진다.
다시 말해, 단계(S224)에서, 트랜스코딩 제어 서버(12)는 동적 캐시(14)를 확장하기 위하여 아이들 상태에서 유휴 공간(111b)을 가지는 컴퓨팅 노드(11b)가 있는지 탐색한다.
만약 단계(S224)에서 아이들 상태인 컴퓨팅 노드(11b)가 탐색되지 않으면, 단계(S227)로 진행하여, 단계(S223)에서 선정된 희생 컨텐츠를 제거한다. 희생 컨텐츠의 제거로 인해 동적 캐시(14)에 여유 공간이 생겼으므로, 단계(S228)로 진행하여 동적 캐시(14) 중에 희생 컨텐츠가 원래 적재되었던 공간에 새로 트랜스코딩한 컨텐츠를 적재한다.
만약 단계(S224)에서 아이들 상태인 컴퓨팅 노드(11b)가 탐색되면, 단계(S225)로 진행하여, 아이들 상태인 컴퓨팅 노드(11b)의 유휴 공간(111b)을 동적 캐시(14)에 편입한다.
이어서 단계(S226)에서, 동적 캐시(14)의 새로 편입된 공간에 희생 컨텐츠를 이동시킨다. 이로 인해 동적 캐시(14)에 여유 공간이 생겼으므로, 단계(S228)로 진행하여 동적 캐시(14) 중에 희생 컨텐츠가 원래 적재되었던 공간에 새로 트랜스코딩한 컨텐츠를 적재한다.
아이들 상태의 컴퓨팅 노드(11b)의 유휴 공간(111b)으로부터 동적 캐시(14)의 새로 추가되는 공간은 이후에 트랜스코딩 작업이 새로 할당되면 다시 반환되어야 할 가능성이 높은 공간이므로, 이러한 유동적인 공간에는 사용자로부터 수요가 있어서 새로 트랜스코딩된 컨텐츠보다는 제거되어도 무방한 희생 컨텐츠를 적재하는 것이 바람직하다.
다시 도 2로 돌아가서 단계(S23)에서, 외부에서 트랜스코딩 컨텐츠의 요청이 새로 있는 경우에, 트랜스코딩 제어 서버(12)는 트랜스코딩 작업이 새로 또는 추가로 할당될 수 있는 컴퓨팅 노드(11)를 선정하고, 선정된 컴퓨팅 노드(11)의 메모리(111) 중 적어도 일부 공간을 동적 캐시(14)로부터 반환하며, 선정된 컴퓨팅 노드(11)로 하여금 반환된 메모리(111)에서 트랜스코딩 작업을 수행하도록 한다.
구체적으로 트랜스코딩 작업의 할당을 설명하기 위해 도 4를 참조하면, 도 4는 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법에서 트랜스코딩을 수행할 컴퓨터를 선정하기 위해 캐시를 반환하는 절차를 예시한 순서도이다.
도 4에서, 외부에서 트랜스코딩 컨텐츠의 요청이 있을 경우에, 단계(S231)에서, 트랜스코딩 제어 서버(12)는 트랜스코딩 작업을 수행할 수 있는 컴퓨팅 노드(11)가 있는지 탐색한다.
트랜스코딩 작업을 새로 할당받기 위해 반드시 아이들 상태의 컴퓨팅 노드(11b)일 필요는 없다. 만약 이미 트랜스코딩 작업을 수행 중인 컴퓨팅 노드(11a)라도 아직 연산 능력에 여유가 있다면 새로 트랜스코딩 작업을 할당받을 수 있다. 게다가, 아이들 상태의 컴퓨팅 노드(11b)는 앞서 단계(S225)에서 그 유휴 공간(111b)이 희생 컨텐츠를 적재하기 위한 공간으로서 동적 캐시(14)에 편입되는 역할을 하는 데, 상황에 따라서는 아이들 상태의 컴퓨팅 노드(11b)가 새로 트랜스코딩 작업을 할당받는 것보다 동적 캐시(14)에 유휴 공간(111b)을 제공하는 편이 바람직할 수도 있다.
만약 단계(S231)에서 트랜스코딩 작업을 수행할 수 있는 컴퓨팅 노드(11)가 탐색되면, 단계(S235)에서, 트랜스코딩 제어 서버(12)는 탐색된 컴퓨팅 노드(11)에 트랜스코딩 작업을 할당한다.
만약 단계(S231)에서 트랜스코딩 작업을 수행할 수 있는 컴퓨팅 노드(11)가 탐색되지 않으면, 단계(S232)에서, 아이들 상태의 컴퓨팅 노드(11b)로서 메모리(111)가 동적 캐시(14)에 편입된 컴퓨팅 노드(11b)가 있는지 탐색한다.
만약 단계(S232)에서 아이들 상태의 컴퓨팅 노드(11b)로서 메모리(111)가 동적 캐시(14)에 편입된 컴퓨팅 노드(11b)가 탐색되면, 단계(S233)으로 진행하여, 트랜스코딩 제어 서버(12)는 탐색된 컴퓨팅 노드(11b)의 메모리(111)의 동적 캐시(14)에 편입된 공간을 동적 캐시(14)로부터 반환한다.
앞서, 단계(S225) 및 단계(S226)에서, 캐시 정책에 따라 아이들 상태인 컴퓨팅 노드(11b)의 메모리(111)의 동적 캐시(14)에 편입된 공간에는 희생 컨텐츠를 적재하므로, 단계(S233)에서 그러한 편입된 공간이 동적 캐시(14)로부터 반환됨으로써 적재되어 있던 희생 컨텐츠는 제거된다. 하지만 희생 컨텐츠는 제거되어도 무방한 것으로 이미 분류된 상태이므로 동적 캐시(14)로부터 해당 공간을 반환하더라도 문제없다.
단계(S233)에 의해 아이들 상태의 컴퓨팅 노드(11b)가 동적 캐시(14)로부터 메모리 공간을 반환받았으므로, 단계(S235)로 진행하여, 트랜스코딩 제어 서버(12)는 메모리 공간을 반환받은 아이들 상태의 컴퓨팅 노드(11b)에 트랜스코딩 작업을 할당한다.
만약 단계(S232)에서 아이들 상태의 컴퓨팅 노드(11b)로서 메모리(111)가 동적 캐시(14)에 편입된 컴퓨팅 노드(11b)가 탐색되지 않으면, 단계(S234)로 진행하여, 트랜스코딩 제어 서버(12)는 트랜스코딩 작업을 할당할 수 있는 컴퓨팅 노드(11)가 나타날 때까지 대기하거나 시간 지연을 갖거나 또는 클라우드 클러스터(10)에 새로운 컴퓨팅 자원을 추가할 수 있고, 이어서 단계(S235)로 진행할 수 있다.
이렇게 하여, 트랜스코딩 제어 서버(12)는 트랜스코딩된 컨텐츠를 캐싱할 메모리 공간을 최대한 확보할 수 있고, 편입과 반환이 유동적인 메모리 공간에는 새로 트랜스코딩된 컨텐츠 대신에 과거의 컨텐츠들 중에서 희생 컨텐츠를 선정하여 적재함으로써 히트율을 높일 수 있으며, 새로 트랜스코딩 요청이 있을 때에 동적 캐시로부터 메모리를 쉽게 반환할 수 있고 또한 반환되는 메모리 공간에 적재되어 있던 캐시 컨텐츠도 부담없이 제거할 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다.
또한, 본 발명에 따른 장치는 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, 광학 디스크, 자기 테이프, 플로피 디스크, 하드 디스크, 비휘발성 메모리 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
10 트랜스코딩 클라우드 클러스터
11 컴퓨팅 노드 111 메모리
112 CPU 113 네트워크 인터페이스
12 트랜스코딩 제어 서버 13 데이터 스토리지

Claims (14)

  1. 트랜스코딩 제어 서버에 의해 할당되는 트랜스코딩 작업을 다수의 컴퓨팅 노드들이 수행하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법으로서,
    (a) 상기 트랜스코딩 제어 서버가, 트랜스코딩 작업을 수행 중인 컴퓨팅 노드에서 트랜스코딩 작업에 할당되지 않은 유휴 공간의 적어도 일부를, 또는 트랜스코딩 작업을 수행 중이지 않은 컴퓨팅 노드에서 유휴 공간의 적어도 일부를 동적 캐시에 편입하는 단계;
    (b) 트랜스코딩 작업이 할당되었던 컴퓨팅 노드로부터 트랜스코딩된 컨텐츠가 생성된 경우에, 상기 트랜스코딩 제어 서버가, 캐시 정책에 따라, 상기 생성된 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재한 후에 또는 상기 동적 캐시에 적재 하지 않고 클라이언트로 전송하는 단계; 및
    (c) 외부에서 트랜스코딩 컨텐츠의 요청이 새로 있는 경우에, 상기 트랜스코딩 제어 서버가, 트랜스코딩 작업이 새로 또는 추가로 할당될 수 있는 컴퓨팅 노드를 선정하고, 상기 선정된 컴퓨팅 노드의 메모리 중 상기 동적 캐시에 편입되어 있던 메모리 공간의 적어도 일부를 상기 동적 캐시로부터 반환하며, 상기 선정된 컴퓨팅 노드로 하여금 반환된 메모리 공간을 이용하여 트랜스코딩 작업을 수행하도록 하는 단계를 포함하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법.
  2. 청구항 1에 있어서, 상기 (b) 단계는,
    상기 트랜스코딩 제어 서버가 캐시 정책에 따라 트랜스코딩 작업이 완료되어 생성된 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재할 것인 여부를 판정하는 단계;
    만약 상기 트랜스코딩 컨텐츠가 상기 동적 캐시에 적재될 대상이 아니라고 판정되면, 상기 트랜스코딩 제어 서버가 상기 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재없이 곧장 클라이언트에 전송하는 단계; 및
    만약 상기 트랜스코딩 컨텐츠가 상기 동적 캐시에 적재될 대상이라고 판정되면, 상기 동적 캐시에 여유 공간이 있을 경우에만 상기 트랜스코딩 제어 서버가 상기 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재하는 단계를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법.
  3. 청구항 2에 있어서, 상기 (b) 단계는,
    만약 상기 동적 캐시에 여유 공간이 없다고 판단되면, 상기 트랜스코딩 제어 서버가 현재 동적 캐시에 적재된 컨텐츠들 중에 희생(victim) 컨텐츠를 선정하는 단계;
    상기 트랜스코딩 제어 서버가 상기 동적 캐시를 확장하기 위하여 아이들 상태에서 유휴 공간을 가지는 컴퓨팅 노드를 탐색하는 단계;
    만약 아이들 상태인 컴퓨팅 노드가 탐색되지 않으면, 상기 트랜스코딩 제어 서버가 상기 선정된 희생 컨텐츠를 제거하고, 상기 희생 컨텐츠의 제거로 인해 상기 동적 캐시에 생긴 여유 공간에 상기 트랜스코딩된 컨텐츠를 적재하는 단계;
    만약 아이들 상태인 컴퓨팅 노드가 탐색되면, 상기 트랜스코딩 제어 서버가 아이들 상태인 컴퓨팅 노드의 유휴 공간을 상기 동적 캐시에 편입하는 단계; 및
    상기 트랜스코딩 제어 서버가 상기 동적 캐시의 새로 편입된 공간에 희생 컨텐츠를 이동시키고, 상기 희생 컨텐츠의 이동으로 인해 상기 동적 캐시에 생긴 여유 공간에 상기 트랜스코딩된 컨텐츠를 적재하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법.
  4. 청구항 1에 있어서, (c) 단계는,
    외부에서 트랜스코딩 컨텐츠의 요청이 있을 경우에, 상기 트랜스코딩 제어 서버가 트랜스코딩 작업을 수행할 수 있는 컴퓨팅 노드를 탐색하는 단계; 및
    상기 트랜스코딩 제어 서버가 트랜스코딩 작업을 수행할 수 있다고 탐색된 컴퓨팅 노드에 트랜스코딩 작업을 할당하는 단계를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법.
  5. 청구항 4에 있어서, (c) 단계는,
    만약 트랜스코딩 작업을 수행할 수 있는 컴퓨팅 노드가 탐색되지 않으면, 상기 트랜스코딩 제어 서버가 아이들 상태의 컴퓨팅 노드로서 메모리가 상기 동적 캐시에 편입된 컴퓨팅 노드가 있는지 탐색하는 단계;
    만약 아이들 상태의 컴퓨팅 노드로서 메모리가 상기 동적 캐시에 편입된 컴퓨팅 노드가 탐색되면, 상기 트랜스코딩 제어 서버가 상기 탐색된 컴퓨팅 노드의 메모리 중에서 상기 동적 캐시에 편입된 공간을 상기 동적 캐시로부터 반환하는 단계; 및
    상기 트랜스코딩 제어 서버가 메모리 공간을 반환받은 상기 아이들 상태의 컴퓨팅 노드에 트랜스코딩 작업을 할당하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법.
  6. 청구항 5에 있어서, (c) 단계는,
    만약 아이들 상태의 컴퓨팅 노드로서 메모리가 상기 동적 캐시에 편입된 컴퓨팅 노드가 탐색되지 않으면, 상기 트랜스코딩 제어 서버가 트랜스코딩 작업을 할당할 수 있는 컴퓨팅 노드가 나타날 때까지 대기하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법.
  7. 컴퓨터에서 청구항 1 내지 청구항 6 중의 어느 한 청구항에 따른 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법을 수행할 수 있는 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록 매체.
  8. 트랜스코딩 제어 서버에 의해 할당되는 트랜스코딩 작업을 다수의 컴퓨팅 노드들이 수행하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 시스템으로서,
    상기 트랜스코딩 제어 서버는,
    (a) 트랜스코딩 작업을 수행 중인 컴퓨팅 노드에서 트랜스코딩 작업에 할당되지 않은 유휴 공간의 적어도 일부를, 또는 트랜스코딩 작업을 수행 중이지 않은 컴퓨팅 노드에서 유휴 공간의 적어도 일부를 동적 캐시에 편입하고,
    (b) 트랜스코딩 작업이 할당되었던 컴퓨팅 노드로부터 트랜스코딩된 컨텐츠가 생성된 경우에, 캐시 정책에 따라, 상기 생성된 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재한 후에 또는 상기 동적 캐시에 적재하지 않고 클라이언트로 전송하며,
    (c) 외부에서 트랜스코딩 컨텐츠의 요청이 새로 있는 경우에, 트랜스코딩 작업이 새로 또는 추가로 할당될 수 있는 컴퓨팅 노드를 선정하고, 상기 선정된 컴퓨팅 노드의 메모리 중 상기 동적 캐시에 편입되어 있던 메모리 공간의 적어도 일부를 상기 동적 캐시로부터 반환하며, 상기 선정된 컴퓨팅 노드로 하여금 반환된 메모리 공간을 이용하여 트랜스코딩 작업을 수행하도록 동작하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 시스템.
  9. 청구항 8에 있어서, 상기 트랜스코딩 제어 서버는,
    캐시 정책에 따라 트랜스코딩 작업이 완료되어 생성된 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재할 것인 여부를 판정하고,
    만약 상기 트랜스코딩 컨텐츠가 상기 동적 캐시에 적재될 대상이 아니라고 판정되면, 상기 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재없이 곧장 클라이언트에 전송하며,
    만약 상기 트랜스코딩 컨텐츠가 상기 동적 캐시에 적재될 대상이라고 판정되면, 상기 동적 캐시에 여유 공간이 있을 경우에만 상기 트랜스코딩 컨텐츠를 상기 동적 캐시에 적재하도록 동작하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 시스템.
  10. 청구항 9에 있어서, 상기 트랜스코딩 제어 서버가
    만약 상기 동적 캐시에 여유 공간이 없다고 판단되면, 현재 동적 캐시에 적재된 컨텐츠들 중에 희생 컨텐츠를 선정하고,
    상기 동적 캐시를 확장하기 위하여 아이들 상태에서 유휴 공간을 가지는 컴퓨팅 노드를 탐색하며,
    만약 아이들 상태인 컴퓨팅 노드가 탐색되지 않으면, 상기 선정된 희생 컨텐츠를 제거하고, 상기 희생 컨텐츠의 제거로 인해 상기 동적 캐시에 생긴 여유 공간에 상기 트랜스코딩된 컨텐츠를 적재하고,
    만약 아이들 상태인 컴퓨팅 노드가 탐색되면, 아이들 상태인 컴퓨팅 노드의 유휴 공간을 상기 동적 캐시에 편입하며,
    상기 동적 캐시의 새로 편입된 공간에 희생 컨텐츠를 이동시키고, 상기 희생 컨텐츠의 이동으로 인해 상기 동적 캐시에 생긴 여유 공간에 상기 트랜스코딩된 컨텐츠를 적재하도록 동작하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 시스템.
  11. 청구항 8에 있어서, 상기 트랜스코딩 제어 서버가
    외부에서 트랜스코딩 컨텐츠의 요청이 있을 경우에, 트랜스코딩 작업을 수행할 수 있는 컴퓨팅 노드를 탐색하고,
    트랜스코딩 작업을 수행할 수 있다고 탐색된 컴퓨팅 노드에 트랜스코딩 작업을 할당하도록 동작하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 시스템.
  12. 청구항 11에 있어서, 상기 트랜스코딩 제어 서버가
    만약 트랜스코딩 작업을 수행할 수 있는 컴퓨팅 노드가 탐색되지 않으면, 아이들 상태의 컴퓨팅 노드로서 메모리가 상기 동적 캐시에 편입된 컴퓨팅 노드가 있는지 탐색하고,
    만약 아이들 상태의 컴퓨팅 노드로서 메모리가 상기 동적 캐시에 편입된 컴퓨팅 노드가 탐색되면, 상기 탐색된 컴퓨팅 노드의 메모리 중에서 상기 동적 캐시에 편입된 공간을 상기 동적 캐시로부터 반환하며,
    메모리 공간을 반환받은 상기 아이들 상태의 컴퓨팅 노드에 트랜스코딩 작업을 할당하도록 동작하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 시스템.
  13. 청구항 12에 있어서, 상기 트랜스코딩 제어 서버가
    만약 아이들 상태의 컴퓨팅 노드로서 메모리가 상기 동적 캐시에 편입된 컴퓨팅 노드가 탐색되지 않으면, 트랜스코딩 작업을 할당할 수 있는 컴퓨팅 노드가 나타날 때까지 대기하도록 동작하는 것을 특징으로 하는 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 시스템.
  14. 컴퓨터를 청구항 8 내지 청구항 13 중의 어느 한 청구항에 따른 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 시스템으로 구동시킬 수 있는 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록 매체.
KR20120137633A 2012-11-30 2012-11-30 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법 및 시스템 KR101481122B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20120137633A KR101481122B1 (ko) 2012-11-30 2012-11-30 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20120137633A KR101481122B1 (ko) 2012-11-30 2012-11-30 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20140069852A KR20140069852A (ko) 2014-06-10
KR101481122B1 true KR101481122B1 (ko) 2015-01-14

Family

ID=51124872

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20120137633A KR101481122B1 (ko) 2012-11-30 2012-11-30 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101481122B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006079606A (ja) 2004-09-03 2006-03-23 Microsoft Corp ピアツーピアネットワークでの受信側主導のシステム及び方法
JP2008145985A (ja) 2006-12-13 2008-06-26 Cyber Map Japan:Kk 3次元地図配信システム及びサーバ装置
KR100870617B1 (ko) * 2007-10-22 2008-11-25 에스케이 텔레콤주식회사 실시간 트랜스코딩 장치 및 그의 운용 방법
KR20100060715A (ko) * 2008-11-28 2010-06-07 에스케이텔레콤 주식회사 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006079606A (ja) 2004-09-03 2006-03-23 Microsoft Corp ピアツーピアネットワークでの受信側主導のシステム及び方法
JP2008145985A (ja) 2006-12-13 2008-06-26 Cyber Map Japan:Kk 3次元地図配信システム及びサーバ装置
KR100870617B1 (ko) * 2007-10-22 2008-11-25 에스케이 텔레콤주식회사 실시간 트랜스코딩 장치 및 그의 운용 방법
KR20100060715A (ko) * 2008-11-28 2010-06-07 에스케이텔레콤 주식회사 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법

Also Published As

Publication number Publication date
KR20140069852A (ko) 2014-06-10

Similar Documents

Publication Publication Date Title
EP3334123B1 (en) Content distribution method and system
CN110308995B (zh) 一种边缘云计算服务系统边缘云节点部署装置
JP4972409B2 (ja) ノード及びネットワークの特性を考慮したサービスロケーション管理を行うためのシステム
KR101544485B1 (ko) 클라우드 스토리지 시스템에서 복수개의 복제본을 분산 저장하는 방법 및 장치
JP4331203B2 (ja) ピアツーピアネットワークのためのコンテンツ分散型オーバーレイネットワーク
Wu et al. Improving accessing efficiency of cloud storage using de-duplication and feedback schemes
US8972519B2 (en) Optimization of multimedia service over an IMS network
US8681649B2 (en) System and method for adaptive optimization of resource utilization for redundancy elimination
CN111966482B (zh) 边缘计算系统
KR100671635B1 (ko) 스트리밍 미디어 서비스 관리 방법
KR101569502B1 (ko) 트랜스코딩 작업 할당 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
US20140310321A1 (en) Information processing apparatus, data management method, and program
CN114595167A (zh) 分布式缓存系统、方法以及装置
KR101481122B1 (ko) 클라우드 컴퓨팅 기반의 트랜스코딩을 위한 동적 캐시 관리 방법 및 시스템
EP3707610B1 (en) Redundant data storage using different compression processes
US20180129425A1 (en) Data management system and method for processing distributed data
JPWO2013005478A1 (ja) コンテンツ配信システム、コンテンツ配置決定装置、コンテンツ配置決定方法およびプログラム
US20150106820A1 (en) Method and apparatus for providing allocating resources
CN113535673B (zh) 生成配置文件及数据处理的方法和装置
CN110225149A (zh) 一种域名解析方法及装置
KR102170030B1 (ko) 멀티캐스팅과 사용자 단말의 캐싱을 이용한 데이터 처리량 향상 방법 및 이를 이용한 시스템
US20230421513A1 (en) Storage devices, methods of operating storage devices, and streaming systems including storage devices
CN118018612A (zh) 调度方法、调度设备以及计算机可读介质
CN107787577B (zh) 操作加速器的方法、加速器和非临时计算机可读记录介质
Wakisaka et al. File System Level Compression of Radio Space Information Storage System for Sensor Platform

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: 20180102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190104

Year of fee payment: 5