KR101179999B1 - 동적 미디어 서비스 합성을 위한 테스트베드 시스템 및 미디어 서비스 합성 실험 방법 - Google Patents

동적 미디어 서비스 합성을 위한 테스트베드 시스템 및 미디어 서비스 합성 실험 방법 Download PDF

Info

Publication number
KR101179999B1
KR101179999B1 KR1020100099431A KR20100099431A KR101179999B1 KR 101179999 B1 KR101179999 B1 KR 101179999B1 KR 1020100099431 A KR1020100099431 A KR 1020100099431A KR 20100099431 A KR20100099431 A KR 20100099431A KR 101179999 B1 KR101179999 B1 KR 101179999B1
Authority
KR
South Korea
Prior art keywords
service
media
resource set
network
resources
Prior art date
Application number
KR1020100099431A
Other languages
English (en)
Other versions
KR20110063285A (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 한국전자통신연구원
Publication of KR20110063285A publication Critical patent/KR20110063285A/ko
Application granted granted Critical
Publication of KR101179999B1 publication Critical patent/KR101179999B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명에 따른, 동적 미디어 서비스 합성을 위한 테스트베드 시스템은, 미디어 데이터 처리를 수행하는 컴퓨팅 자원들의 집합인 미디어 자원 집합; 프로그래머블 네트워킹과 네트워크 가상화를 제공하는 컴퓨터 자원들의 집합인 네트워크 자원 집합; 상기 미디어 자원 집합과 상기 네트워크 자원 집합을 관리하는 서버로서, 상기 미디어 자원 집합과 상기 네트워크 자원 집합의 동작 상태를 파악하고, 테스트를 위한 자원들의 할당을 수행하는 테스트베드 관리 서버; 및 서비스 합성 실험을 제어하기 위한 서버로서, 서비스 의존 그래프를 해석하여 발견된 서비스들과 자원들을 대응시키고, 서비스를 활성화시키며, 각 서비스 인스턴스를 연결하여 서비스 인스턴스 의존 그래프를 생성하는 테스트베드 실험 컨트롤 서버를 포함하는 것을 특징으로 한다.

Description

동적 미디어 서비스 합성을 위한 테스트베드 시스템 및 미디어 서비스 합성 실험 방법{Testbed system for dynamic media service composition and experiment method for media service composition}
본 발명은 인터넷 환경에서의 미디어 서비스 합성에 관련된 것으로, 보다 상세하게는 동적 미디어 서비스 합성을 위한 테스트베드 시스템 및 미디어 서비스 합성 실험 방법에 관한 것이다.
최근 10년 동안 인터넷을 통해 전달되는 미디어 콘텐츠의 양이 급격하게 증가하고 있다. 실감 미디어 서비스에 대한 개인적인 수요가 증가함에 따라 유연한 멀티미디어 시스템의 필요성이 증가하고 있다. 유연한 멀티미디어 시스템은 다양한 컴퓨팅/네트워킹 환경에 걸쳐 광범위하게 흩어져있는 미디어 콘텐츠와 틀들을 이해하고, 미디어 콘텐츠를 합성하며, 미디어 콘텐츠들을 연속적으로 전달할 수 있는 시스템을 뜻한다. 유연한 멀티미디어 응용을 구축하는데 있어서, SOC (Service-Oriented Computing)의 근본적인 기념을 수용하는 미디어 서비스 합성 연구가 진행되었다. 이 패러다임은 단조로운 멀티미디어 응용들이 보다 유연한 컴포넌트 기반의 응용으로 확장하는데 많은 영향을 미쳤다. 미디어 서비스 합성은 주어진 서비스 그래프에 따라 합성 가능한 서비스들의 조정하여, 실행시간에 멀티미디어 응용을 자동적으로 구성한다. 참고로 미디어 서비스 합성은 웹 서비스 합성으로부터 기본 원리와 방법론을 계승한다. 미디어 서비스 합성은 다수의 합성 가능한 서비스들로 구성된다는 점에서 웹 서비스 합성과 유사하나, 미디어 서비스 합성은 시간과 자원의 제약 하에서 미디어 데이터 전달의 연속성을 보장해야 한다는 점에서 웹 서비스 합성 보다 주의 깊게 다루어져야 한다.
미디어 서비스 합성 연구는 이를 사실적으로 실험하고, 검증하기 위해 "실험자가 원하는 방법에 따라 컴퓨팅/네트워킹 자원들을 구성"할 수 있는 테스트베드를 요구한다. 참고로 시뮬레이션은 정량적인 수학/논리 모델을 기반으로 미디어 서비스 합성 실험을 가상적으로 지원하기 때문에, 실제 인터넷 환경에서 비롯되는 여러 가변적인 요소들을 세밀하게 반영하기는 힘들다. 테스트베드를 위한 대표적인 연구로는 PlanetLab, VINI, OMF 등을 들 수 있다. PlanetLab은 OSI L3 이상의 환경에서 인터넷 상에 분산된 컴퓨팅 자원들을 이용하여 새로운 프로토콜과 응용을 실험하기 위한 글로벌 테스트베드를 제공한다. VINI(Virtual Network Infrastructure)는 PlanetLab이 제공하는 기능과 함께 OSI L2 계층에서 네트워킹 가상화를 함께 지원함으로써, 보다 확장된 네트워킹 프로토콜 실험을 지원한다. OMF(Orbit Management Framework)는 기본적으로 wireless LAN으로 구성된 네트워킹 테스트베드에서 여러 가지 아이디어를 검증할 수 있는 환경을 제공한다. 이러한 테스트베드들은 공통적으로 실험 툴의 배포, 자원 할당 및 감시, 실험 결과 측정 기능들을 제공한다. 그러나 내부적으로 복잡한 그리고 긴밀히 결합된 미디어 처리 및 전송 기능을 요소별로 분할하고, 자원 상태에 따라 컴퓨팅/네트워킹 서비스들을 유연하고 균형있게 연결하는 기능이 여전히 요구되고 있다.
본 발명이 이루고자 하는 기술적 과제는 분산된 미디어 지향 서비스들을 동적으로 합성하는 실험을 효과적으로 지원하기 위한 테스트베드 시스템을 제공하는 데 있다.
상기 기술적 과제를 해결하기 위하여 본 발명에 따른, 동적 미디어 서비스 합성을 위한 테스트베드 시스템은, 미디어 데이터 처리를 수행하는 컴퓨팅 자원들의 집합인 미디어 자원 집합; 프로그래머블 네트워킹과 네트워크 가상화를 제공하는 컴퓨터 자원들의 집합인 네트워크 자원 집합; 상기 미디어 자원 집합과 상기 네트워크 자원 집합을 관리하는 서버로서, 상기 미디어 자원 집합과 상기 네트워크 자원 집합의 동작 상태를 파악하고, 테스트를 위한 자원들의 할당을 수행하는 테스트베드 관리 서버; 및 서비스 합성 실험을 제어하기 위한 서버로서, 서비스 의존 그래프를 해석하여 발견된 서비스들과 자원들을 대응시키고, 서비스를 활성화시키며, 각 서비스 인스턴스를 연결하여 서비스 인스턴스 의존 그래프를 생성하는 테스트베드 실험 컨트롤 서버를 포함하는 것을 특징으로 한다.
여기서, 상기 미디어 데이터 처리를 수행하는 컴퓨팅 자원들은 카메라, 디스플레이 장치, 대용량 저장소, GPU 기반 컴퓨팅 장치를 포함할 수 있다.
또한, 상기 테스트베드 시스템은, 실험자가 상기 서비스 의존 그래프를 생성하도록 입력을 받는 실험자 인터페이스를 더 포함할 수 있다.
또한, 상기 미디어 자원 집합은 미디어 자원을 제공하는 미디어 노드들과 상기 미디어 노드들을 관리하는 미디어 RA 매니저를 포함할 수 있다.
또한, 상기 미디어 자원 집합은 상기 컴퓨팅 자원을 가상화한 슬리버를 포함할 수 있다.
또한, 상기 네트워크 자원 집합은 프로그래머블 네트워킹과 네트워크 가상화를 제공하는 OpenFlow 기반 PC 자원들의 집합일 수 있다.
또한, 상기 테스트베드 관리 서버는, 상기 미디어 자원 집합과 상기 네트워크 자원 집합에 대하여 슬라이스를 할당, 조정, 회수하고, 슬라이스를 사용하는 실험자들의 정보를 등록하고, 슬라이스의 설정 정보를 등록하는 슬라이스 매니저를 포함할 수 있다.
또한, 상기 테스트베드 관리 서버는, 상기 미디어 자원 집합과 상기 네트워크 자원 집합의 자원 목록과 현재 상태를 유지하는 테스트베드 자원 매니저를 포함할 수 있다.
또한, 상기 테스트베드 실험 컨트롤 서버는, 서비스 인스턴스들이 정상적으로 동작하는지 감시하며, 발생된 오류를 실험자에게 통지하는 서비스 모니터링/튜닝 모듈을 포함할 수 있다.
상기 기술적 과제를 해결하기 위하여, 상기된 테스트베드 시스템에서의 미디어 서비스 합성 실험 방법은, 실험자의 입력에 따라 서비스들을 연결하여 서비스 의존 그래프를 생성하는 단계; 상기 서비스들에 필요한 상기 미디어 자원 집합과 상기 네트워크 자원 집합의 자원들을 할당하는 단계; 상기 서비스 의존 그래프에 따라 상기 할당된 자원들과 상기 서비스들을 대응시키는 단계; 및 상기 서비스들을 실행하고 각 서비스 인스턴스를 연결하여 서비스 인스턴스 의존 그래프를 생성하는 단계를 포함하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위하여, 상기된 미디어 서비스 합성 실험 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
본 발명에 의하면, 테스트베드가 제공하는 자원(프로세싱 능력, 저장 공간, 네트워크 대역폭 등)을 이용하여, 분산된 컴퓨팅/네트워킹 서비스들을 통합적으로 운용 및 제어하는 시스템 및 방법을 제공함으로써, 실험자가 다양한 미디어 합성 실험을 편리하게 수행하도록 할 수 있다.
도 1은 컴포넌트 서비스의 구조를 나타내는 도면이다.
도 2는 서비스 의존 그래프와 서비스 인스턴스 의존 그래프를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 테스트베드 시스템을 이용한 미디어 서비스 합성 사례를 나타낸다.
도 4는 본 발명의 일 실시예에 따른 동적 미디어 서비스 합성을 위한 테스트베드 시스템의 구성을 나타낸다.
도 5는 미디어 서비스 합성의 일 예를 나타낸다.
도 6은 본 발명의 일 실시예에 따라, 상술한 테스트베드 시스템을 이용하여 미디어 서비스를 합성하는 절차를 나타낸 흐름도이다.
도 7은 실험자 인터페이스(500)가 제공하는 인터페이스 화면의 일 예를 나타낸다.
도 8은 자원 할당 절차를 나타낸다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이하 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.
우선, 본 발명이 적용되는 미디어 서비스 합성을 위한 서비스 모델과 미디어 서비스 합성 시나리오에 관하여 설명한다.
본 명세서에서 '서비스'는 컴포넌트 서비스(component service)를 의미하며, 컴포넌트 서비스는 소프트웨어 또는 하드웨어가 제공하는 특정 기능을 표준화된 인터페이스로 접근하여 주어진 접근/제어 권한에 따라 그 기능을 활용할 수 있도록 하기 위한 재활용성을 지닌 단위 모듈이다. 도 1은 컴포넌트 서비스의 구조를 나타내는 도면이다. 일반적으로 컴포넌트 서비스는 도 1과 같이 세 가지의 속성으로 기술되는데, 여기에는 1) 컴포넌트 서비스의 주요 기능을 대표하는 이름, 2) 사전에 정의된 제어 인자들을 조절함으로써 서비스의 주요 기능을 조작하는 핸들러, 3) 표준화된 상호작용 프로토콜을 통해 서비스들 간에 처리된 데이터를 주고받기 위한 인터페이스들로 구성된다. 서비스의 품질은 공급될 자원의 양에 상당히 의존적이기 때문에, 안정적인 서비스 운용을 위해서는 서비스가 기능 수행을 위해 필요한 최소한의 자원들을 명확히 선언해야 한다.
컴포넌트 서비스는 용도에 따라 computing-centric service와 networking-centric service로 구분된다. Computing-centric service는 CPU/GPU 능력과 스토리지, 카메라, 디스플레이 등을 이용하여 미디어를 획득, 가공, 전송, 표현하는 역할을 담당한다. 대표적인 서비스 사례로는 media producer service, media consumer service, transcoding service, video composition service, video tiling service 등이 있다. Networking-centric service는 테스트베드가 제공하는 가상화된 네트워킹 능력을 활용하여 computing-centric service간에 가공된 데이터를 연속적이고 신뢰성있게 전달해야 한다. 예를 들어, 한 노드에서 다른 노드로 데이터를 전달하는 forwarding service, 데이터의 복사본을 여러 목적지로 분배하는 replication service, 방화벽이나 NAT를 우회하여 데이터 전달을 보장하기 위한 NAT/firewall traversal service 등이 전형적인 networking-centric service들이다.
서비스 합성을 통해 실험자는 단위 작업들로 구성된 복합적인 작업을 수행할 수 있다. 서비스 합성은 컴포넌트 서비스들의 정보와 이들의 실행 의존관계에 의해 기술된다. 본 발명에서 실행 의존관계를 서비스 의존 그래프(service dependency graph)의 형태로 추상화하여 표현한다. 서비스 의존 그래프는 유향선분으로 연결되는 서비스 쌍들의 집합으로 표현된다. 여기서 유향선분은 서비스들의 호출 순서를 가리키는데, 유향선분의 출발점과 도착점은 각각 선행 서비스와 후행 서비스를 가리킨다. 서비스 의존 그래프에 따라서, 본 발명에 따른 테스트베드 시스템으로부터 할당되는 컴퓨팅/네트워킹 자원들 위에서 지정된 컴포넌트 서비스들을 구동시키고, 이들을 상호 연결시킨다. 도 2는 서비스 의존 그래프와 서비스 인스턴스 의존 그래프를 나타내는 도면이다. 도 2에 도시된 바와 같이, 구동된 컴포넌트 서비스를 서비스 인스턴스(service instance)라고 부르며, 서비스 의존 그래프에 따라 서비스 인스턴스들이 연결된 그래프를 서비스 인스턴스 의존 그래프(service instance dependency graph)라고 부른다.
도 3은 본 발명의 일 실시예에 따른 테스트베드 시스템을 이용한 미디어 서비스 합성 사례를 나타낸다. 사용자들은 on-demand content service와 live capturing service들로 부터 획득한 미디어들을 모바일 디스플레이(mobile display service), 디지털 TV(display service), 대형 네트워크 디스플레이(tiled display service)들을 이용하여 표현한다. 모바일 디스플레이의 경우, 허용할 수 있는 컴퓨팅/네트워킹 능력의 범위가 제한되어 있기 때문에, 이 미디어들을 직접 수신하기가 어려운 상황이며, 디지털 TV의 경우, 일반적으로 콘텐츠들을 수용 가능한 범위 내에서는 직접 수신할 수 있는 능력을 갖추고 있다. 대형 네트워크 디스플레이의 경우, 대용량의 콘텐츠들를 직접 수신할 수 있으나, 디스플레이를 구성하는 조각화된 디스플레이들의 크기에 맞춰 콘텐츠들을 분할 전송받아야 한다. 모바일 디스플레이와 디지털 TV의 경우에는 video composition service를 이용하여 on-demand content service와 live capturing services가 전달하는 미디어를 하나의 스트림으로 합성한 후, 모바일 디스플레이로 전달되는 스트림의 경우에 한정하여 transcoding service를 통해 미디어 품질을 하향 조정하여 전달한다. 대형 네트워크 디스플레이로 전달되는 미디어 스트림의 경로는 조금 다르다. On-demand content service와 live capturing services로부터 획득된 스트림은 video composition service와 데이터를 복제/보관하는 caching service을 거친 후, video tiling service에서 네트워크 디스플레이를 구성하는 개별 디스플레이의 크기에 맞게 각각 분할하여, networked display service로 전달한다.
도 4는 본 발명의 일 실시예에 따른 동적 미디어 서비스 합성을 위한 테스트베드 시스템의 구성을 나타낸다.
본 실시예에 따른 테스트베드 시스템은, 미디어 자원 집합(Media Resource Aggregate)(100), 네트워크 자원 집합(Network Resource Aggreagate)(200), 테스트베드 관리 서버(Testbed Management Server)(300), 테스트베드 실험 컨트롤 서버(Testbed Experiment Control Server)(400), 실험자 인터페이스(500)를 포함하여 이루어진다.
미디어 자원 집합(100)은 미디어 데이터 처리를 수행하는 컴퓨팅 자원들의 집합으로서, 카메라, 디스플레이 장치, 대용량 저장소, GPU 기반 컴퓨팅 장치를 포함한다.
네트워크 자원 집합(200)은 프로그래머블 네트워킹과 네트워크 가상화를 제공하는 컴퓨터 자원들의 집합이다.
테스트베드 관리 서버(300)는 미디어 자원 집합(100)과 네트워크 자원 집합(200)을 관리하는 서버로서, 미디어 자원 집합(100)과 네트워크 자원 집합(200)의 자원 목록과 동작 상태를 파악하고, 실험자에 대한 테스트베드 사용 권한을 조정하며, 잘못된 실험을 감지하고, 테스트를 위한 자원들의 할당, 조정, 회수를 수행한다.
테스트베드 실험 컨트롤 서버(400)는 서비스 합성 실험을 제어하기 위한 서버로서, 서비스 의존 그래프를 해석하여 발견된 서비스들과 자원들을 대응시키고, 서비스를 활성화시키고, 각 서비스 인스턴스를 연결하여 서비스 인스턴스 의존 그래프를 생성한다.
실험자 인터페이스(500)는 실험자가 서비스 합성 실험에 필요한 서비스 의존 그래프를 생성하도록 입력을 받고, 필요한 자원들을 선택할 수 있도록 하는 실험자용 인터페이스이다.
이하, 테스트베드 시스템의 상기 각 구성에 관하여 보다 구체적으로 설명한다.
미디어 자원 집합(100)은 카메라, 디스플레이 장치, 대용량 저장소, GPU 기반 컴퓨팅 장치와 같이 실시간, 대용량 미디어 처리에 적합한 컴퓨팅 자원들로 구성된다. 미디어 자원 집합(100)은 #1, #2, #3으로 표시된 바와 같이, 다수 개 존재할 수 있다.
미디어 자원 집합(100)은 미디어 자원을 제공하는 미디어 노드(120)들과, 미디어 노드(120)들을 관리하는 미디어 RA 매니저(110)로 구성된다.
미디어 노드(120)는 컴퓨팅 자원을 가지는 PC(personal computer)일 수 있다. 하드웨어 substrate는 프로세서, 저장소, 그래픽 가속기와 같은 컴퓨팅 자원을 제공한다. 이러한 컴퓨팅 자원들은 다중적이고 동시적인 실험을 효과적으로 지원하기 위해 가상화(Virtualized)될 수 있다. 미디어 노드(120)는 가상화 수준에 따라 3가지 종류로 나눌 수 있다. 첫째, 가상화를 하지 않은 일반적인 미디어 노드는 GPU 기반 그래픽스 가속 기능, 비디오 캡쳐 카드, 디스플레이와 같은 I/O 작업을 수행하는 데 적합하다. 둘째, 가상화된 미디어 노드는 주로 컴퓨팅 능력, 데이터 저장 능력을 필요로 하는 작업에 적합하다. 셋째, 클라우드(Cloud) 미디어 노드는 분산된 컴퓨팅 자원들로 구성된 대규모의 가상 컴퓨팅 자원을 필요로 하는 작업에 활용될 수 있다.
노드 매니저(Node Manager)(121)는 서비스가 사용할 컴퓨팅 자원을 가상화하여 슬리버(Sliver)(122)로 만들고, 그 위에 테스트베드 실험 컨트롤 서버(400)가 요청한 컴퓨팅 서비스(Computing Service)를 실행한다. 여기서, 슬리버란, PlanetLab에서 각 노드에서 노드 가상화를 통해 만든 하나의 가상 머신을 의미한다. 그리고, 컴퓨팅 서비스란 컴포넌트 서비스의 일종으로, 미디어의 가공 처리를 위한 가상 컴퓨팅 노드(한 노드에서 가상화된 컴퓨팅 자원)를 사용하는 서비스를 의미하며, 예를 들어 트랜스코딩 서비스, 캐싱 서비스, 압축(compression) 서비스 등이 해당한다.
미디어 RA 매니저(110)의 내부 요소 중 자원 레지스트리(Resource Reg)는 미디어 자원 집합(100)을 구성하고 있는 노드들의 정보를 저장한다. 테스트베드 관리 서버(300)의 요청이 오면, 미디어 RA 매니저(110)는 특정한 노드들을 실험을 위한 자원으로 할당한다. RA 모니터(Monitor)는 노드들이 안정적으로 동작하고 있는지 관찰하기 위해서, 노드들의 성능 변화를 수시로 점검하고, 점검한 결과를 테스트베드 관리 서버(300)의 테스트베드 자원 모니터(TB Resource Monitor)에게 보고한다.
네트워크 자원 집합(100)은 프로그래머블 네트워킹과 네트워크 가상화를 제공하는 OpenFlow 기반 PC 자원들의 집합이다. OpenFlow 에 관하여는, 문헌 [N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, and J. Turner, "OpenFlow: Enabling innovation in campus networks," ACM SIGCOMM Computer Communications Review, vol. 38, no. 2, pp. 69-74, Mar. 2008.]에 기술되어 있다. 네트워크 자원 집합(100) 역시 미디어 자원 집합(100)과 유사하게, 네트워크 자원을 제공하는 네트워크 노드(220)들과, 네트워크 노드(220)들을 관리하는 네트워크 RA 매니저(210)로 구성된다. 하드웨어 substrate는 NetFPGA를 이용한 하드웨어 가속 유선 네트워크 인터페이스와 무선 네트워크 인터페이스와 같은 다양한 네트워킹 자원을 제공한다. NetFPGA에 관하여는 문헌 [G. Gibb, J.W. Lockwood, J. Naous, P. Hartke, and N. McKeown, "NetFPGA-An open platform for teacing how to build Gigabit-rate network switches and routers," IEEE Trans. on Education, vol. 51, no. 3, pp. 364-369, Aug. 2008.]에 기술되어 있다. 이러한 네트워킹 자원 역시 다중적이고 동시적인 실험을 효과적으로 지원하기 위해 가상화(Virtualized)될 수 있다. 프로그래머블 네트워킹은 실험자의 의도에 따라 주어진 네트워크의 데이터 흐름을 제어할 수 있도록 한다.
노드 매니저(Node Manager)(221)는 서비스가 사용할 네트워킹 자원을 가상화하여 슬리버(Sliver)(222)로 만들고, 그 위에 테스트베드 실험 컨트롤 서버(400)가 요청한 네트워킹 서비스(Networking Service)를 실행한다. 여기서, 네트워킹 서비스란, 컴포넌트 서비스의 일종으로 가상 컴퓨팅 노드를 연결하기 위해 가상 네트워킹 링크(한 노드에서 가상화된 네트워킹 자원)를 사용하는 서비스를 의미하며, 예를 들어 포워딩(forwarding) 서비스, 멀티캐스트(multicast) 서비스, 충돌 제어(congestion control) 서비스 등이 해당한다.
네트워크 RA 매니저(210)의 내부 요소 중 자원 레지스트리(Resource Reg)는 네트워크 자원 집합(200)을 구성하고 있는 노드들의 정보를 저장한다. 테스트베드 관리 서버(300)의 요청이 오면, 네트워크 RA 매니저(210)는 특정한 노드들을 실험을 위한 자원으로 할당한다. RA 모니터(Monitor)는 노드들이 안정적으로 동작하고 있는지 관찰하기 위해서, 노드들의 성능 변화를 수시로 점검하고, 점검한 결과를 테스트베드 관리 서버(300)의 테스트베드 자원 모니터(TB Resource Monitor)에게 보고한다.
테스트베드 관리 서버(300)는 슬라이스 매니저(Slice Manager)(310), 테스트베드 자원 매니저(TB Resource Manager)(320), 테스트베드 자원 모니터(TB Resource Monitor)(330), 테스트베드 관리 사용자 인터페이스(TB Mgmt UI.)(340)로 구성된다.
슬라이스 매니저(310)는 모든 미디어 자원 집합(100)과 네트워크 자원 집합(200)에 대하여, 슬라이스(Slice)를 할당, 조정, 회수하는 역할을 한다. 여기서, 슬라이스(Slice)란 하나의 실험을 실행할 수 있는 컴퓨팅 자원과 네트워킹 자원의 네트워크를 의미한다. 슬라이스 매니저(310)는 슬라이스를 사용하는 실험자들의 정보를 인 User Registry에 등록시키고, 슬라이스의 설정 정보를 Slice Registry에 등록시킨다. 테스트베드 자원 매니저(320)는 미디어 자원 집합(100)과 네트워크 자원 집합(200)의 자원 목록과 현재 상태를 TB Resource Registry에 유지한다. 테스트베드 자원 모니터(330)는 미디어 자원 집합(100)과 네트워크 자원 집합(200)이 제공하는 자원들에 대한 상태를 감시한다. 테스트베드 관리 사용자 인터페이스(340)는 관리자(Administrator)들이 자원들의 상태를 확인하고 제어할 수 있도록 하여 주는 인터페이스이다.
테스트베드 실험 컨트롤 서버(400)는 실험자(Experimenter)가 서로 다른 자원 집합들의 특성에 독립적으로 실험을 위한 서비스 제어를 할 수 있도록, 자원 집합들의 인터페이스들을 추상화하여, 상위 수준의 실험 기술 방법을 제공한다.
기본적으로, 한 실험은 하나 이상의 슬라이스(들)로 구성되며, 하나의 슬라이스는 하나의 합성 서비스를 실행하는데 사용된다. 이때, 합성 서비스는 다양한 자원 집합에 걸쳐서 동작하는 컴포넌트 서비스들의 조합으로 구성될 수 있다. 합성 서비스를 만들기 위해서, 실험자는 슬라이스를 할당받은 후, 슬라이스를 이용해 컴포넌트 서비스들을 실체화(instantiation: 컴포넌트 서비스를 특정 자원에 배치하고, 주어진 파라미터에 따라 설정한 뒤, 실행하는 과정)하고, 합성(composition: 주어진 워크플로우에 따라 컴포넌트 서비스들이 데이터를 전송할 수 있도록 상호 연결하는 과정)한후, 그 결과물인 합성 서비스(composite service)를 구성하여 계획된 실험의 부분 또는 전체를 수행한다.
테스트베드 실험 컨트롤 서버(400)는 서비스 합성을 위한 해석 모듈(440), 서비스 발견/매칭 모듈(410), 서비스 배치/연결 모듈(420), 서비스 모니터링/튜닝 모듈(430)로 이루어진다. 테스트베드 실험 컨트롤 서버(400)는 실험자들과 실험자 인터페이스(500)를 통해 상호 작용한다. 해석 모듈(440)은 실험자 인터페이스(500)로부터 입력받은 서비스 의존 그래프를 해석하고, 서비스 발견/매칭 모듈(410)은 필요한 서비스를 발견하여, 발견된 서비스들과 미디어 자원 집합(100)과 네트워크 자원 집합(200)의 자원들을 적절히 매칭시킨다. 서비스 배치/연결 모듈(420)은 선택된 자원에 대응되는 서비스들을 활성화시키고, 각 서비스 인스턴스들을 실제로 연결하여 서비스 인스턴스 의존 그래프를 생성한다. 실험에 사용되는 자원들의 정보는 Experiment Registry에 저장된다. 서비스 모니터링/튜닝 모듈(430)은 서비스 인스턴스들이 정상적으로 동작하는지 감시하며, 발생된 오류를 실험자에게 실험자 인터페이스(500)를 통해 즉각적으로 통지한다. 또는 실험자는 서비스 모니터링/튜닝 모듈(430)을 이용해서, 정의된 규칙에 따라 서비스들의 제어 파라미터를 세밀하게 조절한다.
도 5는 미디어 서비스 합성의 일 예를 나타낸다. 테스트베드의 자원 집합(RA)은 미디어 서버(media servers), 어댑터(adaptors), 디스플레이(display)를 위한 노드들로 구성된다. 미디어 서버를 위한 노드들은 HD 카메라로부터 비압축 HD 캡쳐링 서비스, DXT(DirectX Texture) 압축 서비스, MPEG 압축 서비스를 수행하고, 어댑터를 위한 노드들은 MPEG2 디코딩 서비스를 수행하며, 디스플레이를 위한 노드들은 네트워크 디스플레이 서비스를 수행한다.
도 6은 본 발명의 일 실시예에 따라, 상술한 테스트베드 시스템을 이용하여 미디어 서비스를 합성하는 절차를 나타낸 흐름도이고, 도 7은 실험자 인터페이스(500)가 제공하는 인터페이스 화면의 일 예를 나타낸다.
610단계에서, 실험자 인터페이스(500)는 테스트베드 시스템에서 지원되는 서비스들의 목록을 표시하고(도 7의 710), 실험자의 입력에 따라 서비스들의 집합을 선택한 후, 유향선분으로 서비스들을 연결하여 서비스 의존 그래프(도 7의 720)를 생성한다.
620단계에서, 실험자 인터페이스(500)는 가용한 자원의 목록을 표시하고(도 7의 730), 실험자는 이를 확인한다. 실험에 필요한 자원을 요청하기 위해 실험자는 실험자 인터페이스(500)를 통하여 원하는 노드를 선택하고, 필요한 자원의 양을 테스트베드 실험 컨트롤 서버(400)에게 요청할 수 있다. 이때 자원의 양은 컴퓨팅 능력, 스토리지 능력, 네트워킹 능력 수치에 의해 정량적으로 표시될 수 있다.
630단계에서, 테스트베드 실험 컨트롤 서버(400)는 요청받은 자원을 할당하기 위해 테스트베드 관리 서버(300)에게 미디어 자원 집합(100)과 네트워크 자원 집합(200)의 자원들을 할당해 줄 것을 요청한다. 도 8은 자원 할당 절차를 나타낸다. 도 8을 참조하면, 테스트베드 관리 서버(300)는 RA 매니저(110, 210)들과 교신하여 필요한 자원을 제공해 줄 수 있는지 문의하는 'Resource Discovery'를 수행한다. 그리고 테스트베드 관리 서버(300)는 실험자가 요청한 자원에 접근할 수 있는 권한이 있는지 확인한다(Check Access Authorities). 만약 권한이 있다면 RA 매니저(110, 210)는 요청한 자원, 즉 슬리버(sliver)들의 집합을 구성하여(Create a set of Slivers), 테스트베드 실험 컨트롤 서버(400)에게 전달한다(Allocate a set of resources).
640단계에서, 테스트베드 실험 컨트롤 서버(400)는 실험자가 선택한 서비스들의 소프트웨어 패키지를 포함하고 있는 서비스 저장소를 찾는다.
650단계에서, 테스트베드 실험 컨트롤 서버(400)는 서비스 의존 그래프에 따라 준비된 자원들과 서비스들을 대응시킨다.
660단계에서, 테스트베드 관리 서버(300)는 서비스들의 소프트웨어 패키지를 준비된 자원 위에 설치한다. 그리고 테스트베드 실험 컨트롤 서버(400)는 설치된 서비스들을 실행한다. 이때 실행된 서비스는 서비스 인스턴스에 해당한다.
670단계에서, 테스트베드 실험 컨트롤 서버(400)는 서비스들의 실행 순서에 따라 서비스 인스턴스들에게 그들의 이웃한 서비스 인스턴스들의 주소를 알려준다. 서비스 인스턴스들은 그 주소를 받은 다음, 서로 교신하여 미디어 데이터를 주고받음으로써, 서비스가 연결된다(서비스 인스턴스 의존 그래프의 생성). 도 7의 740이 생성된 서비스 인스턴스 의존 그래프이다. 예컨대 LiveCapturingService@node-camera-h, DecoderSevice@node-decoder1에서, LiveCapturingService, DecoderSevice가 서비스에 해당하고, @ 다음에 오는 node-camera-h, node-decoder1이 해당 서비스가 실행되는 슬리버에 해당하며, 화살표가 '연결되었음'을 의미한다.
680단계에서, 테스트베드 실험 컨트롤 서버(400)는 합성된 서비스들이 정상적으로 주어진 역할을 하고 있는지 감시한다. 획득된 모니터링 정보는 다른 서비스들이 '서비스 튜닝'을 수행하기 위해 참고할 수 있다.
690단계에서, 테스트베드 시스템의 상황 변화(자원, 서비스)에 따라 서비스 합성을 지속하기 위해 모니터링 결과를 이용하여 서비스들을 재설정한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (11)

  1. 동적 미디어 서비스 합성을 위한 테스트베드 시스템으로서,
    미디어 데이터 처리를 수행하는 컴퓨팅 자원들의 집합인 미디어 자원 집합-상기 미디어 자원 집합은 카메라, 디스플레이 장치, 저장 장치, GPU 기반 컴퓨팅 장치 중 적어도 하나를 포함함;
    프로그래머블 네트워킹과 네트워크 가상화를 제공하는 컴퓨터 자원들의 집합인 네트워크 자원 집합-상기 네트워크 자원 집합은 프로그래머블 네트워킹과 네트워크 가상화를 제공하는 컴퓨터를 포함함;
    상기 미디어 자원 집합과 상기 네트워크 자원 집합을 관리하는 서버로서, 상기 미디어 자원 집합과 상기 네트워크 자원 집합의 동작 상태를 파악하고, 테스트를 위한 자원들의 할당을 수행하는 테스트베드 관리 서버; 및
    서비스 합성 실험을 제어하기 위한 서버로서, 서비스들의 호출 순서를 가리키는 유향선분으로 연결되는 서비스 쌍들의 집합으로 표현되는 서비스 의존 그래프를 해석하여 발견된 서비스들과 상기 미디어 자원 집합 또는 상기 네트워크 자원 집합의 구성요소를 대응시키고, 상기 발견된 서비스들을 활성화시키며, 각 서비스 인스턴스를 연결하여 서비스 의존 그래프에 따라 서비스 인스턴스들이 연결된 그래프인 서비스 인스턴스 의존 그래프를 생성하는 테스트베드 실험 컨트롤 서버를 포함하는 것을 특징으로 하는 테스트베드 시스템.
  2. 삭제
  3. 제1항에 있어서,
    실험자가 상기 서비스 의존 그래프를 생성하도록 입력을 받는 실험자 인터페이스를 더 포함하는 것을 특징으로 하는 테스트베드 시스템.
  4. 제1항에 있어서,
    상기 미디어 자원 집합은 미디어 자원을 제공하는 미디어 노드들과 상기 미디어 노드들을 관리하는 미디어 RA(Resource Aggregate) 매니저를 포함하는 것을 특징으로 하는 테스트베드 시스템.
  5. 제1항에 있어서,
    상기 미디어 자원 집합은 상기 컴퓨팅 자원을 가상화한 슬리버를 포함하는 것을 특징으로 하는 테스트베드 시스템.
  6. 제1항에 있어서,
    상기 네트워크 자원 집합은 프로그래머블 네트워킹과 네트워크 가상화를 제공하는 OpenFlow 기반 컴퓨터를 포함하는 것을 특징으로 하는 테스트베드 시스템.
  7. 제1항에 있어서,
    상기 테스트베드 관리 서버는, 상기 미디어 자원 집합과 상기 네트워크 자원 집합에 대하여 슬라이스를 할당, 조정, 회수하고, 슬라이스를 사용하는 실험자들의 정보를 등록하고, 슬라이스의 설정 정보를 등록하는 슬라이스 매니저를 포함하는 것을 특징으로 하는 테스트베드 시스템.
  8. 제1항에 있어서,
    상기 테스트베드 관리 서버는, 상기 미디어 자원 집합과 상기 네트워크 자원 집합의 자원 목록과 현재 상태를 유지하는 테스트베드 자원 매니저를 포함하는 것을 특징으로 하는 테스트베드 시스템.
  9. 제1항에 있어서,
    상기 테스트베드 실험 컨트롤 서버는, 서비스 인스턴스들이 정상적으로 동작하는지 감시하며, 발생된 오류를 실험자에게 통지하는 서비스 모니터링/튜닝 모듈을 포함하는 것을 특징으로 하는 테스트베드 시스템.
  10. 삭제
  11. 삭제
KR1020100099431A 2009-12-04 2010-10-12 동적 미디어 서비스 합성을 위한 테스트베드 시스템 및 미디어 서비스 합성 실험 방법 KR101179999B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090119751 2009-12-04
KR20090119751 2009-12-04

Publications (2)

Publication Number Publication Date
KR20110063285A KR20110063285A (ko) 2011-06-10
KR101179999B1 true KR101179999B1 (ko) 2012-09-05

Family

ID=44397289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100099431A KR101179999B1 (ko) 2009-12-04 2010-10-12 동적 미디어 서비스 합성을 위한 테스트베드 시스템 및 미디어 서비스 합성 실험 방법

Country Status (1)

Country Link
KR (1) KR101179999B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190123239A (ko) 2018-04-23 2019-10-31 박준영 보상형 테스트베드 시스템 및 그 처리방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101335332B1 (ko) * 2012-06-28 2013-12-02 인텔렉추얼디스커버리 주식회사 부담 정보에 기초한 자원 인지형 콘텐츠 제공 방법
KR101951355B1 (ko) * 2015-05-18 2019-02-22 에스케이텔레콤 주식회사 비디오 서비스 방법 및 장치
CN105389254A (zh) * 2015-10-19 2016-03-09 浪潮(北京)电子信息产业有限公司 验证服务器与Oracle Linux系统兼容性的系统和方法
KR102072135B1 (ko) * 2016-11-21 2020-01-31 주식회사 케이티 네트워크 기능 가상화 구성의 설정 감지 시스템 및 방법
AU2019464601B2 (en) 2019-09-05 2024-04-18 Lg Electronics Inc. Robot cleaner and control method therefor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002054769A1 (en) 2001-01-04 2002-07-11 Thomson Licensing S.A. A method and apparatus for acquiring media services available from content aggregators
US20060294571A1 (en) 2005-06-27 2006-12-28 Microsoft Corporation Collaborative video via distributed storage and blogging

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002054769A1 (en) 2001-01-04 2002-07-11 Thomson Licensing S.A. A method and apparatus for acquiring media services available from content aggregators
US20060294571A1 (en) 2005-06-27 2006-12-28 Microsoft Corporation Collaborative video via distributed storage and blogging

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190123239A (ko) 2018-04-23 2019-10-31 박준영 보상형 테스트베드 시스템 및 그 처리방법

Also Published As

Publication number Publication date
KR20110063285A (ko) 2011-06-10

Similar Documents

Publication Publication Date Title
US11997143B2 (en) Managing communications among virtual machine nodes of a network service provider
US11347806B2 (en) Discovery of containerized platform and orchestration services
KR101179999B1 (ko) 동적 미디어 서비스 합성을 위한 테스트베드 시스템 및 미디어 서비스 합성 실험 방법
US11863460B1 (en) Agent message delivery fairness
US8364819B2 (en) Systems and methods for cross-vendor mapping service in cloud networks
US9680708B2 (en) Method and apparatus for cloud resource delivery
Somasundaram et al. CARE Resource Broker: A framework for scheduling and supporting virtual resource management
US20150264117A1 (en) Processes for a highly scalable, distributed, multi-cloud application deployment, orchestration and delivery fabric
CN106533713B (zh) 一种应用部署方法及设备
US20230070224A1 (en) Using a remote pod in kubernetes
WO2013104217A1 (zh) 基于云基础设施的针对应用系统维护部署的管理系统和方法
EP3609132A1 (en) Capturing and encoding of network transactions for playback in a simulation environment
US20150263885A1 (en) Method and apparatus for automatic enablement of network services for enterprises
US20150263980A1 (en) Method and apparatus for rapid instance deployment on a cloud using a multi-cloud controller
AU2019213378A1 (en) Playback of captured network transactions in a simulation environment
US20230071714A1 (en) New container storage system in remote pods in kubernetes
US20170131987A1 (en) Mobile Application Service Engine (MASE)
CN109117259A (zh) 任务调度方法、平台、装置及计算机可读存储介质
Stankovski et al. Implementing time-critical functionalities with a distributed adaptive container architecture
Glez-Morcillo et al. A new approach to grid computing for distributed rendering
Heuchert et al. Design of a small-scale and failure-resistant IaaS cloud using OpenStack
True et al. COTS (commercial-off-the-shelf) platform for media production everywhere
Kim et al. Video transcoding scheme of multimedia data-hiding for multiform resources based on intra-cloud
WO2021022947A1 (zh) 一种部署虚拟机的方法及相关装置
Hastie et al. Foundations for New Media Nodes

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160712

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee