KR20110063285A - Testbed system for dynamic media service composition and experiment method for media service composition - Google Patents

Testbed system for dynamic media service composition and experiment method for media service composition Download PDF

Info

Publication number
KR20110063285A
KR20110063285A KR1020100099431A KR20100099431A KR20110063285A KR 20110063285 A KR20110063285 A KR 20110063285A KR 1020100099431 A KR1020100099431 A KR 1020100099431A KR 20100099431 A KR20100099431 A KR 20100099431A KR 20110063285 A KR20110063285 A KR 20110063285A
Authority
KR
South Korea
Prior art keywords
service
media
resource set
test bed
resources
Prior art date
Application number
KR1020100099431A
Other languages
Korean (ko)
Other versions
KR101179999B1 (en
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/en
Application granted granted Critical
Publication of KR101179999B1 publication Critical patent/KR101179999B1/en

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

PURPOSE: A test bed system for a dynamic media service synthesis and a media service synthesis experiment method is provided to integrally operate dispersed computing/networking services by using resource of the test bed. CONSTITUTION: A test bed management server(300) manages a media resource group(100) and a network resource group(200). The test bed management server grasps an operation state of the network resource group and the media resource group. The test bed management server assigns resources for a test. A test bed experiment control server(400) controls a service composition. The test bed experiment control server corresponds to detected services and resources.

Description

동적 미디어 서비스 합성을 위한 테스트베드 시스템 및 미디어 서비스 합성 실험 방법{Testbed system for dynamic media service composition and experiment method for media service composition}Testbed system for dynamic media service composition and experiment method for media service composition}

본 발명은 인터넷 환경에서의 미디어 서비스 합성에 관련된 것으로, 보다 상세하게는 동적 미디어 서비스 합성을 위한 테스트베드 시스템 및 미디어 서비스 합성 실험 방법에 관한 것이다. The present invention relates to media service synthesis in an Internet environment, and more particularly, to a testbed system and a method for experimenting on media service synthesis for dynamic media service synthesis.

최근 10년 동안 인터넷을 통해 전달되는 미디어 콘텐츠의 양이 급격하게 증가하고 있다. 실감 미디어 서비스에 대한 개인적인 수요가 증가함에 따라 유연한 멀티미디어 시스템의 필요성이 증가하고 있다. 유연한 멀티미디어 시스템은 다양한 컴퓨팅/네트워킹 환경에 걸쳐 광범위하게 흩어져있는 미디어 콘텐츠와 틀들을 이해하고, 미디어 콘텐츠를 합성하며, 미디어 콘텐츠들을 연속적으로 전달할 수 있는 시스템을 뜻한다. 유연한 멀티미디어 응용을 구축하는데 있어서, SOC (Service-Oriented Computing)의 근본적인 기념을 수용하는 미디어 서비스 합성 연구가 진행되었다. 이 패러다임은 단조로운 멀티미디어 응용들이 보다 유연한 컴포넌트 기반의 응용으로 확장하는데 많은 영향을 미쳤다. 미디어 서비스 합성은 주어진 서비스 그래프에 따라 합성 가능한 서비스들의 조정하여, 실행시간에 멀티미디어 응용을 자동적으로 구성한다. 참고로 미디어 서비스 합성은 웹 서비스 합성으로부터 기본 원리와 방법론을 계승한다. 미디어 서비스 합성은 다수의 합성 가능한 서비스들로 구성된다는 점에서 웹 서비스 합성과 유사하나, 미디어 서비스 합성은 시간과 자원의 제약 하에서 미디어 데이터 전달의 연속성을 보장해야 한다는 점에서 웹 서비스 합성 보다 주의 깊게 다루어져야 한다. In recent decades, the amount of media content delivered over the Internet has increased dramatically. As the personal demand for realistic media services increases, the need for flexible multimedia systems increases. A flexible multimedia system is a system that can understand media content and frameworks scattered across various computing / networking environments, synthesize media content, and deliver media content continuously. In building flexible multimedia applications, media service synthesis research has been conducted to accommodate the fundamental memorial of Service-Oriented Computing (SOC). This paradigm has greatly influenced the expansion of monotonous multimedia applications to more flexible component-based applications. Media service composition automatically configures multimedia applications at runtime by adjusting the composable services according to a given service graph. For reference, media service composition inherits the basic principles and methodology from web service composition. Media service synthesis is similar to web service synthesis in that it consists of a number of composable services, but media service synthesis is handled more carefully than web service synthesis in that it must ensure continuity of media data delivery under time and resource constraints. You must lose.

미디어 서비스 합성 연구는 이를 사실적으로 실험하고, 검증하기 위해 "실험자가 원하는 방법에 따라 컴퓨팅/네트워킹 자원들을 구성"할 수 있는 테스트베드를 요구한다. 참고로 시뮬레이션은 정량적인 수학/논리 모델을 기반으로 미디어 서비스 합성 실험을 가상적으로 지원하기 때문에, 실제 인터넷 환경에서 비롯되는 여러 가변적인 요소들을 세밀하게 반영하기는 힘들다. 테스트베드를 위한 대표적인 연구로는 PlanetLab, VINI, OMF 등을 들 수 있다. PlanetLab은 OSI L3 이상의 환경에서 인터넷 상에 분산된 컴퓨팅 자원들을 이용하여 새로운 프로토콜과 응용을 실험하기 위한 글로벌 테스트베드를 제공한다. VINI(Virtual Network Infrastructure)는 PlanetLab이 제공하는 기능과 함께 OSI L2 계층에서 네트워킹 가상화를 함께 지원함으로써, 보다 확장된 네트워킹 프로토콜 실험을 지원한다. OMF(Orbit Management Framework)는 기본적으로 wireless LAN으로 구성된 네트워킹 테스트베드에서 여러 가지 아이디어를 검증할 수 있는 환경을 제공한다. 이러한 테스트베드들은 공통적으로 실험 툴의 배포, 자원 할당 및 감시, 실험 결과 측정 기능들을 제공한다. 그러나 내부적으로 복잡한 그리고 긴밀히 결합된 미디어 처리 및 전송 기능을 요소별로 분할하고, 자원 상태에 따라 컴퓨팅/네트워킹 서비스들을 유연하고 균형있게 연결하는 기능이 여전히 요구되고 있다.Media service synthesis research requires a testbed that can "configure computing / networking resources the way an experimenter wants" to test and verify this in a realistic way. For reference, simulation virtually supports media service synthesis experiments based on quantitative mathematical / logical models, so it is difficult to accurately reflect the various variables derived from the real Internet environment. Representative studies for testbeds include PlanetLab, VINI and OMF. PlanetLab provides a global testbed for experimenting with new protocols and applications using computing resources distributed across the Internet in OSI L3 and above. Virtual Network Infrastructure (VINI) supports networking virtualization at the OSI L2 layer, along with the features provided by PlanetLab, enabling more extensive networking protocol experiments. The Orbit Management Framework (OMF) provides an environment where ideas can be validated in a networking testbed consisting essentially of a wireless LAN. These testbeds provide the deployment of experimental tools, resource allocation and monitoring, and measurement of experimental results. However, there is still a need for a function of dividing internally complex and tightly coupled media processing and transmission functions by element, and flexibly and balancingly connecting computing / networking services according to resource status.

본 발명이 이루고자 하는 기술적 과제는 분산된 미디어 지향 서비스들을 동적으로 합성하는 실험을 효과적으로 지원하기 위한 테스트베드 시스템을 제공하는 데 있다.An object of the present invention is to provide a test bed system for effectively supporting an experiment for dynamically synthesizing distributed media-oriented services.

상기 기술적 과제를 해결하기 위하여 본 발명에 따른, 동적 미디어 서비스 합성을 위한 테스트베드 시스템은, 미디어 데이터 처리를 수행하는 컴퓨팅 자원들의 집합인 미디어 자원 집합; 프로그래머블 네트워킹과 네트워크 가상화를 제공하는 컴퓨터 자원들의 집합인 네트워크 자원 집합; 상기 미디어 자원 집합과 상기 네트워크 자원 집합을 관리하는 서버로서, 상기 미디어 자원 집합과 상기 네트워크 자원 집합의 동작 상태를 파악하고, 테스트를 위한 자원들의 할당을 수행하는 테스트베드 관리 서버; 및 서비스 합성 실험을 제어하기 위한 서버로서, 서비스 의존 그래프를 해석하여 발견된 서비스들과 자원들을 대응시키고, 서비스를 활성화시키며, 각 서비스 인스턴스를 연결하여 서비스 인스턴스 의존 그래프를 생성하는 테스트베드 실험 컨트롤 서버를 포함하는 것을 특징으로 한다.In order to solve the above technical problem, a test bed system for synthesizing a dynamic media service includes a media resource set, which is a set of computing resources for performing media data processing; A network resource set, which is a set of computer resources that provide programmable networking and network virtualization; A server for managing the media resource set and the network resource set, the server comprising: a test bed management server configured to determine an operation state of the media resource set and the network resource set and to allocate resources for a test; And a server for controlling a service synthesis experiment. A testbed experiment control server that interprets a service dependency graph to match found services and resources, activates a service, and connects each service instance to generate a service instance dependency graph. Characterized in that it comprises a.

여기서, 상기 미디어 데이터 처리를 수행하는 컴퓨팅 자원들은 카메라, 디스플레이 장치, 대용량 저장소, GPU 기반 컴퓨팅 장치를 포함할 수 있다.Here, the computing resources for performing the media data processing may include a camera, a display device, a mass storage, a GPU-based computing device.

또한, 상기 테스트베드 시스템은, 실험자가 상기 서비스 의존 그래프를 생성하도록 입력을 받는 실험자 인터페이스를 더 포함할 수 있다.In addition, the testbed system may further include an experimenter interface that receives an experimenter to generate the service dependency graph.

또한, 상기 미디어 자원 집합은 미디어 자원을 제공하는 미디어 노드들과 상기 미디어 노드들을 관리하는 미디어 RA 매니저를 포함할 수 있다.In addition, the media resource set may include media nodes providing media resources and a media RA manager managing the media nodes.

또한, 상기 미디어 자원 집합은 상기 컴퓨팅 자원을 가상화한 슬리버를 포함할 수 있다. The media resource set may include a sliver that virtualizes the computing resource.

또한, 상기 네트워크 자원 집합은 프로그래머블 네트워킹과 네트워크 가상화를 제공하는 OpenFlow 기반 PC 자원들의 집합일 수 있다.In addition, the network resource set may be a set of OpenFlow-based PC resources that provide programmable networking and network virtualization.

또한, 상기 테스트베드 관리 서버는, 상기 미디어 자원 집합과 상기 네트워크 자원 집합에 대하여 슬라이스를 할당, 조정, 회수하고, 슬라이스를 사용하는 실험자들의 정보를 등록하고, 슬라이스의 설정 정보를 등록하는 슬라이스 매니저를 포함할 수 있다.The test bed management server may further include a slice manager that allocates, adjusts, and retrieves slices for the media resource set and the network resource set, registers information of experimenters using slices, and registers slice setting information. can do.

또한, 상기 테스트베드 관리 서버는, 상기 미디어 자원 집합과 상기 네트워크 자원 집합의 자원 목록과 현재 상태를 유지하는 테스트베드 자원 매니저를 포함할 수 있다.The test bed management server may include a test bed resource manager which maintains a resource list and a current state of the media resource set, the network resource set.

또한, 상기 테스트베드 실험 컨트롤 서버는, 서비스 인스턴스들이 정상적으로 동작하는지 감시하며, 발생된 오류를 실험자에게 통지하는 서비스 모니터링/튜닝 모듈을 포함할 수 있다.The test bed experiment control server may include a service monitoring / tuning module that monitors whether service instances operate normally and notifies an experimenter of an error that has occurred.

상기 기술적 과제를 해결하기 위하여, 상기된 테스트베드 시스템에서의 미디어 서비스 합성 실험 방법은, 실험자의 입력에 따라 서비스들을 연결하여 서비스 의존 그래프를 생성하는 단계; 상기 서비스들에 필요한 상기 미디어 자원 집합과 상기 네트워크 자원 집합의 자원들을 할당하는 단계; 상기 서비스 의존 그래프에 따라 상기 할당된 자원들과 상기 서비스들을 대응시키는 단계; 및 상기 서비스들을 실행하고 각 서비스 인스턴스를 연결하여 서비스 인스턴스 의존 그래프를 생성하는 단계를 포함하는 것을 특징으로 한다.In order to solve the above technical problem, the media service synthesis experiment method in the test bed system, generating a service dependency graph by connecting the services according to the input of the experimenter; Allocating resources of the media resource set and the network resource set required for the services; Associating the allocated resources with the services according to the service dependency graph; And executing the services and connecting each service instance to generate a service instance dependency graph.

상기 기술적 과제를 해결하기 위하여, 상기된 미디어 서비스 합성 실험 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.In order to solve the above technical problem, there is provided a computer-readable recording medium recording a program for executing the above-described media service synthesis experiment method.

본 발명에 의하면, 테스트베드가 제공하는 자원(프로세싱 능력, 저장 공간, 네트워크 대역폭 등)을 이용하여, 분산된 컴퓨팅/네트워킹 서비스들을 통합적으로 운용 및 제어하는 시스템 및 방법을 제공함으로써, 실험자가 다양한 미디어 합성 실험을 편리하게 수행하도록 할 수 있다.According to the present invention, by providing a system and method for integrating and operating distributed computing / networking services using the resources (processing capacity, storage space, network bandwidth, etc.) provided by the test bed, the experimenter The synthesis experiment can be conveniently performed.

도 1은 컴포넌트 서비스의 구조를 나타내는 도면이다.
도 2는 서비스 의존 그래프와 서비스 인스턴스 의존 그래프를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 테스트베드 시스템을 이용한 미디어 서비스 합성 사례를 나타낸다.
도 4는 본 발명의 일 실시예에 따른 동적 미디어 서비스 합성을 위한 테스트베드 시스템의 구성을 나타낸다.
도 5는 미디어 서비스 합성의 일 예를 나타낸다.
도 6은 본 발명의 일 실시예에 따라, 상술한 테스트베드 시스템을 이용하여 미디어 서비스를 합성하는 절차를 나타낸 흐름도이다.
도 7은 실험자 인터페이스(500)가 제공하는 인터페이스 화면의 일 예를 나타낸다.
도 8은 자원 할당 절차를 나타낸다.
1 is a diagram illustrating a structure of a component service.
2 is a diagram illustrating a service dependency graph and a service instance dependency graph.
3 illustrates a media service synthesis example using a testbed system according to an embodiment of the present invention.
4 illustrates a configuration of a testbed system for dynamic media service synthesis according to an embodiment of the present invention.
5 shows an example of media service synthesis.
6 is a flowchart illustrating a procedure of synthesizing a media service using the above-described testbed system according to an embodiment of the present invention.
7 illustrates an example of an interface screen provided by the experimenter interface 500.
8 shows a resource allocation procedure.

이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이하 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the accompanying drawings, substantially the same components are denoted by the same reference numerals, and redundant description will be omitted. In addition, in the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

우선, 본 발명이 적용되는 미디어 서비스 합성을 위한 서비스 모델과 미디어 서비스 합성 시나리오에 관하여 설명한다. First, a service model and a media service synthesis scenario for media service synthesis to which the present invention is applied will be described.

본 명세서에서 '서비스'는 컴포넌트 서비스(component service)를 의미하며, 컴포넌트 서비스는 소프트웨어 또는 하드웨어가 제공하는 특정 기능을 표준화된 인터페이스로 접근하여 주어진 접근/제어 권한에 따라 그 기능을 활용할 수 있도록 하기 위한 재활용성을 지닌 단위 모듈이다. 도 1은 컴포넌트 서비스의 구조를 나타내는 도면이다. 일반적으로 컴포넌트 서비스는 도 1과 같이 세 가지의 속성으로 기술되는데, 여기에는 1) 컴포넌트 서비스의 주요 기능을 대표하는 이름, 2) 사전에 정의된 제어 인자들을 조절함으로써 서비스의 주요 기능을 조작하는 핸들러, 3) 표준화된 상호작용 프로토콜을 통해 서비스들 간에 처리된 데이터를 주고받기 위한 인터페이스들로 구성된다. 서비스의 품질은 공급될 자원의 양에 상당히 의존적이기 때문에, 안정적인 서비스 운용을 위해서는 서비스가 기능 수행을 위해 필요한 최소한의 자원들을 명확히 선언해야 한다. In the present specification, a 'service' means a component service, and a component service is used to access a specific function provided by software or hardware through a standardized interface to utilize the function according to a given access / control right. Recyclable unit module. 1 is a diagram illustrating a structure of a component service. In general, a component service is described with three attributes as shown in FIG. 1, which includes 1) a name representing a main function of a component service, and 2) a handler for manipulating the main function of the service by adjusting predefined control parameters. 3) it consists of interfaces for exchanging processed data between services through standardized interaction protocol. Since the quality of service is highly dependent on the amount of resources to be supplied, stable service operation requires a clear declaration of the minimum resources required for the service to perform its functions.

컴포넌트 서비스는 용도에 따라 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들이다. Component services are classified into computing-centric services and networking-centric services, depending on their purpose. Computing-centric services are responsible for acquiring, processing, transmitting and presenting media using CPU / GPU capabilities, storage, cameras and displays. Typical service examples include media producer service, media consumer service, transcoding service, video composition service, and video tiling service. Networking-centric services must take advantage of the virtualized networking capabilities provided by testbeds to ensure continuous and reliable delivery of processed data between computing-centric services. For example, a forwarding service that forwards data from one node to another node, a replication service that distributes copies of the data to multiple destinations, and a NAT / firewall traversal service to ensure data delivery by bypassing firewalls or NATs. -centric services.

서비스 합성을 통해 실험자는 단위 작업들로 구성된 복합적인 작업을 수행할 수 있다. 서비스 합성은 컴포넌트 서비스들의 정보와 이들의 실행 의존관계에 의해 기술된다. 본 발명에서 실행 의존관계를 서비스 의존 그래프(service dependency graph)의 형태로 추상화하여 표현한다. 서비스 의존 그래프는 유향선분으로 연결되는 서비스 쌍들의 집합으로 표현된다. 여기서 유향선분은 서비스들의 호출 순서를 가리키는데, 유향선분의 출발점과 도착점은 각각 선행 서비스와 후행 서비스를 가리킨다. 서비스 의존 그래프에 따라서, 본 발명에 따른 테스트베드 시스템으로부터 할당되는 컴퓨팅/네트워킹 자원들 위에서 지정된 컴포넌트 서비스들을 구동시키고, 이들을 상호 연결시킨다. 도 2는 서비스 의존 그래프와 서비스 인스턴스 의존 그래프를 나타내는 도면이다. 도 2에 도시된 바와 같이, 구동된 컴포넌트 서비스를 서비스 인스턴스(service instance)라고 부르며, 서비스 의존 그래프에 따라 연결된 서비스 인스턴스들의 집합을 서비스 인스턴스 의존 그래프(service instance dependency graph)라고 부른다.Service synthesis allows the experimenter to perform complex tasks consisting of unit tasks. Service composition is described by the information of component services and their execution dependencies. In the present invention, the execution dependency is abstractly expressed in the form of a service dependency graph. The service dependency graph is represented by a set of service pairs connected by dividing lines. Here, the frankincense segment indicates the calling order of the services, and the starting point and the arrival point of the frankincense segment indicate the preceding service and the following service, respectively. According to the service dependency graph, it runs the specified component services on the computing / networking resources allocated from the testbed system according to the present invention and interconnects them. 2 is a diagram illustrating a service dependency graph and a service instance dependency graph. As shown in FIG. 2, the driven component service is called a service instance, and the set of connected service instances according to the service dependency graph is called a 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로 전달한다.3 illustrates a media service synthesis example using a testbed system according to an embodiment of the present invention. Users present media obtained from on-demand content services and live capturing services using mobile display services, digital TV services, and large networked display services. In the case of mobile displays, there is a limited range of computing / networking capabilities that are permissible, making it difficult to receive these media directly. For digital TVs, content can generally be received directly within the acceptable range. Have the ability to In the case of a large network display, a large amount of contents can be directly received, but the contents must be divided and transmitted according to the size of the fragmented displays constituting the display. In the case of mobile display and digital TV, a media composition of on-demand content service and live capturing service is synthesized into a single stream using a video composition service, and transcoding service is limited to a stream delivered to mobile display. Media media quality is adjusted down. The path of the media stream to the large network display is slightly different. Streams obtained from the on-demand content and live capturing services go through a video composition service and a caching service that replicates and archives the data, and then divides the video tiling service into the size of the individual displays that make up the network display. Pass to display service.

도 4는 본 발명의 일 실시예에 따른 동적 미디어 서비스 합성을 위한 테스트베드 시스템의 구성을 나타낸다.4 illustrates a configuration of a testbed system for dynamic media service synthesis according to an embodiment of the present invention.

본 실시예에 따른 테스트베드 시스템은, 미디어 자원 집합(Media Resource Aggregate)(100), 네트워크 자원 집합(Network Resource Aggreagate)(200), 테스트베드 관리 서버(Testbed Management Server)(300), 테스트베드 실험 컨트롤 서버(Testbed Experiment Control Server)(400), 실험자 인터페이스(500)를 포함하여 이루어진다.In the test bed system according to the present embodiment, a media resource aggregate 100, a network resource aggregate 200, a testbed management server 300, a testbed experiment The control server (Testbed Experiment Control Server) 400, including the experimenter interface 500 is made.

미디어 자원 집합(100)은 미디어 데이터 처리를 수행하는 컴퓨팅 자원들의 집합으로서, 카메라, 디스플레이 장치, 대용량 저장소, GPU 기반 컴퓨팅 장치를 포함한다.The media resource set 100 is a set of computing resources that perform media data processing, and includes a camera, a display device, a mass storage, and a GPU-based computing device.

네트워크 자원 집합(200)은 프로그래머블 네트워킹과 네트워크 가상화를 제공하는 컴퓨터 자원들의 집합이다. Network resource set 200 is a collection of computer resources that provide programmable networking and network virtualization.

테스트베드 관리 서버(300)는 미디어 자원 집합(100)과 네트워크 자원 집합(200)을 관리하는 서버로서, 미디어 자원 집합(100)과 네트워크 자원 집합(200)의 자원 목록과 동작 상태를 파악하고, 실험자에 대한 테스트베드 사용 권한을 조정하며, 잘못된 실험을 감지하고, 테스트를 위한 자원들의 할당, 조정, 회수를 수행한다.The test bed management server 300 is a server managing the media resource set 100 and the network resource set 200, and grasps the resource list and the operation state of the media resource set 100 and the network resource set 200. Adjust test bed usage rights for the experimenter, detect false experiments, and allocate, adjust and reclaim resources for testing.

테스트베드 실험 컨트롤 서버(400)는 서비스 합성 실험을 제어하기 위한 서버로서, 서비스 의존 그래프를 해석하여 발견된 서비스들과 자원들을 대응시키고, 서비스를 활성화시키고, 각 서비스 인스턴스를 연결하여 서비스 인스턴스 의존 그래프를 생성한다. The testbed experiment control server 400 is a server for controlling a service synthesis experiment, and interprets a service dependency graph to match found services and resources, activates a service, and connects each service instance to a service instance dependency graph. Create

실험자 인터페이스(500)는 실험자가 서비스 합성 실험에 필요한 서비스 의존 그래프를 생성하도록 입력을 받고, 필요한 자원들을 선택할 수 있도록 하는 실험자용 인터페이스이다. The experimenter interface 500 is an experimenter interface that allows an experimenter to receive an input to generate a service dependency graph for a service synthesis experiment and to select necessary resources.

이하, 테스트베드 시스템의 상기 각 구성에 관하여 보다 구체적으로 설명한다. Hereinafter, each configuration of the test bed system will be described in more detail.

미디어 자원 집합(100)은 카메라, 디스플레이 장치, 대용량 저장소, GPU 기반 컴퓨팅 장치와 같이 실시간, 대용량 미디어 처리에 적합한 컴퓨팅 자원들로 구성된다. 미디어 자원 집합(100)은 #1, #2, #3으로 표시된 바와 같이, 다수 개 존재할 수 있다. The media resource set 100 is composed of computing resources suitable for real-time and mass media processing, such as a camera, a display device, a mass storage, and a GPU-based computing device. As shown by # 1, # 2, and # 3, a plurality of media resource sets 100 may exist.

미디어 자원 집합(100)은 미디어 자원을 제공하는 미디어 노드(120)들과, 미디어 노드(120)들을 관리하는 미디어 RA 매니저(110)로 구성된다. The media resource set 100 is composed of media nodes 120 that provide media resources, and a media RA manager 110 that manages the media nodes 120.

미디어 노드(120)는 컴퓨팅 자원을 가지는 PC(personal computer)일 수 있다. 하드웨어 substrate는 프로세서, 저장소, 그래픽 가속기와 같은 컴퓨팅 자원을 제공한다. 이러한 컴퓨팅 자원들은 다중적이고 동시적인 실험을 효과적으로 지원하기 위해 가상화(Virtualized)될 수 있다. 미디어 노드(120)는 가상화 수준에 따라 3가지 종류로 나눌 수 있다. 첫째, 가상화를 하지 않은 일반적인 미디어 노드는 GPU 기반 그래픽스 가속 기능, 비디오 캡쳐 카드, 디스플레이와 같은 I/O 작업을 수행하는 데 적합하다. 둘째, 가상화된 미디어 노드는 주로 컴퓨팅 능력, 데이터 저장 능력을 필요로 하는 작업에 적합하다. 셋째, 클라우드(Cloud) 미디어 노드는 분산된 컴퓨팅 자원들로 구성된 대규모의 가상 컴퓨팅 자원을 필요로 하는 작업에 활용될 수 있다. Media node 120 may be a personal computer (PC) with computing resources. Hardware substrates provide computing resources such as processors, storage and graphics accelerators. These computing resources can be virtualized to effectively support multiple, simultaneous experiments. Media node 120 may be divided into three types depending on the level of virtualization. First, non-virtualized media nodes are ideal for performing I / O tasks such as GPU-based graphics acceleration, video capture cards, and displays. Second, virtualized media nodes are primarily suited for tasks that require computing and data storage capabilities. Third, cloud media nodes can be used for tasks that require large scale virtual computing resources composed of distributed computing resources.

노드 매니저(Node Manager)(121)는 서비스가 사용할 컴퓨팅 자원을 가상화하여 슬리버(Sliver)(122)로 만들고, 그 위에 테스트베드 실험 컨트롤 서버(400)가 요청한 컴퓨팅 서비스(Computing Service)를 실행한다. 여기서, 슬리버란, PlanetLab에서 각 노드에서 노드 가상화를 통해 만든 하나의 가상 머신을 의미한다. 그리고, 컴퓨팅 서비스란 컴포넌트 서비스의 일종으로, 미디어의 가공 처리를 위한 가상 컴퓨팅 노드(한 노드에서 가상화된 컴퓨팅 자원)를 사용하는 서비스를 의미하며, 예를 들어 트랜스코딩 서비스, 캐싱 서비스, 압축(compression) 서비스 등이 해당한다. The node manager 121 virtualizes a computing resource to be used by the service to make it a sliver 122, and executes a computing service requested by the test bed experimental control server 400 thereon. Here, the sliver means a single virtual machine created through node virtualization on each node in PlanetLab. In addition, the computing service is a component service, and refers to a service using a virtual computing node (a virtualized computing resource in one node) for processing of media, for example, a transcoding service, a caching service, and a compression. ) Services, etc.

미디어 RA 매니저(110)의 내부 요소 중 자원 레지스트리(Resource Reg)는 미디어 자원 집합(100)을 구성하고 있는 노드들의 정보를 저장한다. 테스트베드 관리 서버(300)의 요청이 오면, 미디어 RA 매니저(110)는 특정한 노드들을 실험을 위한 자원으로 할당한다. RA 모니터(Monitor)는 노드들이 안정적으로 동작하고 있는지 관찰하기 위해서, 노드들의 성능 변화를 수시로 점검하고, 점검한 결과를 테스트베드 관리 서버(300)의 테스트베드 자원 모니터(TB Resource Monitor)에게 보고한다. The resource registries of internal elements of the media RA manager 110 store information of nodes constituting the media resource set 100. When the request of the testbed management server 300 comes, the media RA manager 110 allocates specific nodes as resources for the experiment. In order to observe whether the nodes are operating stably, the RA monitor checks the performance change of the nodes from time to time and reports the result to the TB resource monitor of the test bed management server 300. .

네트워크 자원 집합(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)될 수 있다. 프로그래머블 네트워킹은 실험자의 의도에 따라 주어진 네트워크의 데이터 흐름을 제어할 수 있도록 한다. Network resource set 100 is a set of OpenFlow-based PC resources that provide programmable networking and network virtualization. For OpenFlow, see 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.]. Similar to the media resource set 100, the network resource set 100 is composed of network nodes 220 that provide network resources and a network RA manager 210 that manages the network nodes 220. The hardware substrate provides a variety of networking resources, such as hardware accelerated wired network interfaces and wireless network interfaces using NetFPGA. For NetFPGA, see 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.]. These networking resources can also be virtualized to effectively support multiple, simultaneous experiments. Programmable networking allows you to control the data flow of a given network according to the intention of the experimenter.

노드 매니저(Node Manager)(221)는 서비스가 사용할 네트워킹 자원을 가상화하여 슬리버(Sliver)(222)로 만들고, 그 위에 테스트베드 실험 컨트롤 서버(400)가 요청한 네트워킹 서비스(Networking Service)를 실행한다. 여기서, 네트워킹 서비스란, 컴포넌트 서비스의 일종으로 가상 컴퓨팅 노드를 연결하기 위해 가상 네트워킹 링크(한 노드에서 가상화된 네트워킹 자원)를 사용하는 서비스를 의미하며, 예를 들어 포워딩(forwarding) 서비스, 멀티캐스트(multicast) 서비스, 충돌 제어(congestion control) 서비스 등이 해당한다. The node manager 221 virtualizes the networking resource to be used by the service to make it a sliver 222, and executes the networking service requested by the test bed experimental control server 400 thereon. Here, the networking service refers to a service that uses a virtual networking link (a virtualized networking resource in one node) to connect a virtual computing node as a component service. For example, a forwarding service, a multicast ( This includes multicast services and congestion control services.

네트워크 RA 매니저(210)의 내부 요소 중 자원 레지스트리(Resource Reg)는 네트워크 자원 집합(200)을 구성하고 있는 노드들의 정보를 저장한다. 테스트베드 관리 서버(300)의 요청이 오면, 네트워크 RA 매니저(210)는 특정한 노드들을 실험을 위한 자원으로 할당한다. RA 모니터(Monitor)는 노드들이 안정적으로 동작하고 있는지 관찰하기 위해서, 노드들의 성능 변화를 수시로 점검하고, 점검한 결과를 테스트베드 관리 서버(300)의 테스트베드 자원 모니터(TB Resource Monitor)에게 보고한다. The resource registries of the internal elements of the network RA manager 210 store information of nodes constituting the network resource set 200. When a request of the testbed management server 300 comes, the network RA manager 210 allocates specific nodes as resources for experimentation. In order to observe whether the nodes are operating stably, the RA monitor checks the performance change of the nodes from time to time and reports the result to the TB resource monitor of the test bed management server 300. .

테스트베드 관리 서버(300)는 슬라이스 매니저(Slice Manager)(310), 테스트베드 자원 매니저(TB Resource Manager)(320), 테스트베드 자원 모니터(TB Resource Monitor)(330), 테스트베드 관리 사용자 인터페이스(TB Mgmt UI.)(340)로 구성된다. The test bed management server 300 may include a slice manager 310, a test bed resource manager 320, a test bed resource monitor 330, and a test bed management user interface ( 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)들이 자원들의 상태를 확인하고 제어할 수 있도록 하여 주는 인터페이스이다. The slice manager 310 allocates, adjusts, and retrieves slices of all the media resource sets 100 and the network resource sets 200. Here, the slice refers to a network of computing resources and networking resources capable of executing one experiment. The slice manager 310 registers the information of the experimenters who use the slice in the user registry and registers the slice setting information in the slice registry. The test bed resource manager 320 maintains a resource list and a current state of the media resource set 100 and the network resource set 200 in the TB Resource Registry. The test bed resource monitor 330 monitors the status of the resources provided by the media resource set 100 and the network resource set 200. The test bed management user interface 340 is an interface that allows administrators to check and control the status of resources.

테스트베드 실험 컨트롤 서버(400)는 실험자(Experimenter)가 서로 다른 자원 집합들의 특성에 독립적으로 실험을 위한 서비스 제어를 할 수 있도록, 자원 집합들의 인터페이스들을 추상화하여, 상위 수준의 실험 기술 방법을 제공한다. The test bed experiment control server 400 abstracts the interfaces of the resource sets so that an experimenter can control the service for the experiment independently of the characteristics of the different resource sets, thereby providing a high level experiment technique. .

기본적으로, 한 실험은 하나 이상의 슬라이스(들)로 구성되며, 하나의 슬라이스는 하나의 합성 서비스를 실행하는데 사용된다. 이때, 합성 서비스는 다양한 자원 집합에 걸쳐서 동작하는 컴포넌트 서비스들의 조합으로 구성될 수 있다. 합성 서비스를 만들기 위해서, 실험자는 슬라이스를 할당받은 후, 슬라이스를 이용해 컴포넌트 서비스들을 실체화(instantiation: 컴포넌트 서비스를 특정 자원에 배치하고, 주어진 파라미터에 따라 설정한 뒤, 실행하는 과정)하고, 합성(composition: 주어진 워크플로우에 따라 컴포넌트 서비스들이 데이터를 전송할 수 있도록 상호 연결하는 과정)한후, 그 결과물인 합성 서비스(composite service)를 구성하여 계획된 실험의 부분 또는 전체를 수행한다. Basically, an experiment consists of one or more slice (s), and one slice is used to run one synthesis service. In this case, the synthesis service may be composed of a combination of component services that operate across various resource sets. In order to create a synthesis service, an experimenter is assigned a slice, and then uses the slice to instantiate the component services (distribute the component services to a specific resource, configure them according to given parameters, and execute them), and synthesize them. (A process of interconnecting component services to transfer data according to a given workflow), and then constructing the resulting composite service to perform part or all of the planned experiment.

테스트베드 실험 컨트롤 서버(400)는 서비스 합성을 위한 해석 모듈(440), 서비스 발견/매칭 모듈(410), 서비스 배치/연결 모듈(420), 서비스 모니터링/튜닝 모듈(430)로 이루어진다. 테스트베드 실험 컨트롤 서버(400)는 실험자들과 실험자 인터페이스(500)를 통해 상호 작용한다. 해석 모듈(440)은 실험자 인터페이스(500)로부터 입력받은 서비스 의존 그래프를 해석하고, 서비스 발견/매칭 모듈(410)은 필요한 서비스를 발견하여, 발견된 서비스들과 미디어 자원 집합(100)과 네트워크 자원 집합(200)의 자원들을 적절히 매칭시킨다. 서비스 배치/연결 모듈(420)은 선택된 자원에 대응되는 서비스들을 활성화시키고, 각 서비스 인스턴스들을 실제로 연결하여 서비스 인스턴스 의존 그래프를 생성한다. 실험에 사용되는 자원들의 정보는 Experiment Registry에 저장된다. 서비스 모니터링/튜닝 모듈(430)은 서비스 인스턴스들이 정상적으로 동작하는지 감시하며, 발생된 오류를 실험자에게 실험자 인터페이스(500)를 통해 즉각적으로 통지한다. 또는 실험자는 서비스 모니터링/튜닝 모듈(430)을 이용해서, 정의된 규칙에 따라 서비스들의 제어 파라미터를 세밀하게 조절한다. The test bed experiment control server 400 includes an analysis module 440 for service synthesis, a service discovery / matching module 410, a service deployment / connection module 420, and a service monitoring / tuning module 430. The testbed experiment control server 400 interacts with the experimenter through the experimenter interface 500. The interpretation module 440 interprets the service dependency graph received from the experimenter interface 500, and the service discovery / matching module 410 discovers the necessary service, and thus, the found services, the media resource set 100, and the network resource. Match the resources in the set 200 as appropriate. The service placement / connection module 420 activates services corresponding to the selected resource, and actually connects each service instance to generate a service instance dependency graph. Information about the resources used for the experiment is stored in the Experiment Registry. The service monitoring / tuning module 430 monitors whether service instances are operating normally, and immediately notifies the experimenter of the generated error through the experimenter interface 500. Alternatively, the experimenter uses the service monitoring / tuning module 430 to finely adjust the control parameters of the services according to the defined rule.

도 5는 미디어 서비스 합성의 일 예를 나타낸다. 테스트베드의 자원 집합(RA)은 미디어 서버(media servers), 어댑터(adaptors), 디스플레이(display)를 위한 노드들로 구성된다. 미디어 서버를 위한 노드들은 HD 카메라로부터 비압축 HD 캡쳐링 서비스, DXT(DirectX Texture) 압축 서비스, MPEG 압축 서비스를 수행하고, 어댑터를 위한 노드들은 MPEG2 디코딩 서비스를 수행하며, 디스플레이를 위한 노드들은 네트워크 디스플레이 서비스를 수행한다. 5 shows an example of media service synthesis. The test bed's resource set (RA) consists of nodes for media servers, adapters, and displays. Nodes for media server perform uncompressed HD capturing service, DXT (DirectX Texture) compression service, MPEG compression service from HD cameras, nodes for adapters perform MPEG2 decoding service, nodes for display are network display Perform the service.

도 6은 본 발명의 일 실시예에 따라, 상술한 테스트베드 시스템을 이용하여 미디어 서비스를 합성하는 절차를 나타낸 흐름도이고, 도 7은 실험자 인터페이스(500)가 제공하는 인터페이스 화면의 일 예를 나타낸다.FIG. 6 is a flowchart illustrating a procedure of synthesizing a media service using the above-described testbed system, and FIG. 7 illustrates an example of an interface screen provided by the experimenter interface 500. Referring to FIG.

610단계에서, 실험자 인터페이스(500)는 테스트베드 시스템에서 지원되는 서비스들의 목록을 표시하고(도 7의 710), 실험자의 입력에 따라 서비스들의 집합을 선택한 후, 유향선분으로 서비스들을 연결하여 서비스 의존 그래프(도 7의 720)를 생성한다. In operation 610, the experimenter interface 500 displays a list of services supported by the test bed system (710 of FIG. 7), selects a set of services according to the experimenter's input, and then connects the services by using a frankincense segment. A graph (720 of FIG. 7) is generated.

620단계에서, 실험자 인터페이스(500)는 가용한 자원의 목록을 표시하고(도 7의 730), 실험자는 이를 확인한다. 실험에 필요한 자원을 요청하기 위해 실험자는 실험자 인터페이스(500)를 통하여 원하는 노드를 선택하고, 필요한 자원의 양을 테스트베드 실험 컨트롤 서버(400)에게 요청할 수 있다. 이때 자원의 양은 컴퓨팅 능력, 스토리지 능력, 네트워킹 능력 수치에 의해 정량적으로 표시될 수 있다.In operation 620, the experimenter interface 500 displays a list of available resources (730 of FIG. 7), and the experimenter confirms this. In order to request a resource required for the experiment, the experimenter may select a desired node through the experimenter interface 500 and request the testbed experiment control server 400 for the required amount of resources. At this time, the amount of resources may be quantitatively indicated by numerical values of computing capability, storage capability, and networking capability.

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). In operation 630, the test bed experiment control server 400 requests the test bed management server 300 to allocate the resources of the media resource set 100 and the network resource set 200 to allocate the requested resources. . 8 shows a resource allocation procedure. Referring to FIG. 8, the test bed management server 300 communicates with the RA managers 110 and 210 and performs 'Resource Discovery' inquiring whether it can provide necessary resources. The test bed management server 300 checks whether the experimenter has permission to access the requested resource (Check Access Authorities). If authorized, the RA managers 110 and 210 create a set of slivers and deliver it to the testbed experimental control server 400 (Allocate a set of resources). ).

640단계에서, 테스트베드 실험 컨트롤 서버(400)는 실험자가 선택한 서비스들의 소프트웨어 패키지를 포함하고 있는 서비스 저장소를 찾는다.In operation 640, the test bed experiment control server 400 searches for a service repository including a software package of services selected by an experimenter.

650단계에서, 테스트베드 실험 컨트롤 서버(400)는 서비스 의존 그래프에 따라 준비된 자원들과 서비스들을 대응시킨다.In operation 650, the testbed experiment control server 400 matches the services with the resources prepared according to the service dependency graph.

660단계에서, 테스트베드 관리 서버(300)는 서비스들의 소프트웨어 패키지를 준비된 자원 위에 설치한다. 그리고 테스트베드 실험 컨트롤 서버(400)는 설치된 서비스들을 실행한다. 이때 실행된 서비스는 서비스 인스턴스에 해당한다.In operation 660, the test bed management server 300 installs a software package of services on the prepared resource. The test bed experiment control server 400 executes the installed services. The executed service corresponds to the service instance.

670단계에서, 테스트베드 실험 컨트롤 서버(400)는 서비스들의 실행 순서에 따라 서비스 인스턴스들에게 그들의 이웃한 서비스 인스턴스들의 주소를 알려준다. 서비스 인스턴스들은 그 주소를 받은 다음, 서로 교신하여 미디어 데이터를 주고받음으로써, 서비스가 연결된다(서비스 인스턴스 의존 그래프의 생성). 도 7의 740이 생성된 서비스 인스턴스 의존 그래프이다. 예컨대 LiveCapturingService@node-camera-h, DecoderSevice@node-decoder1에서, LiveCapturingService, DecoderSevice가 서비스에 해당하고, @ 다음에 오는 node-camera-h, node-decoder1이 해당 서비스가 실행되는 슬리버에 해당하며, 화살표가 '연결되었음'을 의미한다.In step 670, the testbed experiment control server 400 informs the service instances of their neighboring service instances according to the execution order of the services. Service instances receive their addresses and then communicate with each other to exchange media data so that services are connected (creating a service instance dependency graph). 740 of FIG. 7 is a generated service instance dependency graph. For example, in LiveCapturingService @ node-camera-h and DecoderSevice @ node-decoder1, LiveCapturingService and DecoderSevice are services, and node-camera-h and node-decoder1 following @ are slivers in which the service is running. Means 'connected'.

680단계에서, 테스트베드 실험 컨트롤 서버(400)는 합성된 서비스들이 정상적으로 주어진 역할을 하고 있는지 감시한다. 획득된 모니터링 정보는 다른 서비스들이 '서비스 튜닝'을 수행하기 위해 참고할 수 있다.In operation 680, the test bed experiment control server 400 monitors whether the synthesized services play a given role. The obtained monitoring information may be referred to other services to perform 'service tuning'.

690단계에서, 테스트베드 시스템의 상황 변화(자원, 서비스)에 따라 서비스 합성을 지속하기 위해 모니터링 결과를 이용하여 서비스들을 재설정한다. In step 690, the services are reset using the monitoring result to continue the service synthesis according to the change of the test bed system (resources, services).

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium. The computer-readable recording medium may be a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.), an optical reading medium (for example, a CD-ROM, DVD, etc.) and a carrier wave (for example, the Internet). Storage medium).

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

Claims (11)

동적 미디어 서비스 합성을 위한 테스트베드 시스템으로서,
미디어 데이터 처리를 수행하는 컴퓨팅 자원들의 집합인 미디어 자원 집합;
프로그래머블 네트워킹과 네트워크 가상화를 제공하는 컴퓨터 자원들의 집합인 네트워크 자원 집합;
상기 미디어 자원 집합과 상기 네트워크 자원 집합을 관리하는 서버로서, 상기 미디어 자원 집합과 상기 네트워크 자원 집합의 동작 상태를 파악하고, 테스트를 위한 자원들의 할당을 수행하는 테스트베드 관리 서버; 및
서비스 합성 실험을 제어하기 위한 서버로서, 서비스 의존 그래프를 해석하여 발견된 서비스들과 자원들을 대응시키고, 서비스를 활성화시키며, 각 서비스 인스턴스를 연결하여 서비스 인스턴스 의존 그래프를 생성하는 테스트베드 실험 컨트롤 서버를 포함하는 것을 특징으로 하는 테스트베드 시스템.
Testbed system for dynamic media service synthesis
A media resource set, which is a set of computing resources that perform media data processing;
A network resource set, which is a set of computer resources that provide programmable networking and network virtualization;
A server for managing the media resource set and the network resource set, the server comprising: a test bed management server configured to determine an operation state of the media resource set and the network resource set and to allocate resources for a test; And
As a server for controlling service synthesis experiments, a testbed experiment control server that interprets a service dependency graph to match found services and resources, activates a service, and connects each service instance to generate a service instance dependency graph. Test bed system comprising a.
제1항에 있어서,
상기 미디어 데이터 처리를 수행하는 컴퓨팅 자원들은 카메라, 디스플레이 장치, 대용량 저장소, GPU 기반 컴퓨팅 장치를 포함하는 것을 특징으로 하는 테스트베드 시스템.
The method of claim 1,
The computing resources for performing the media data processing includes a camera, a display device, a mass storage, a GPU-based computing device.
제1항에 있어서,
실험자가 상기 서비스 의존 그래프를 생성하도록 입력을 받는 실험자 인터페이스를 더 포함하는 것을 특징으로 하는 테스트베드 시스템.
The method of claim 1,
And an experimenter interface receiving an experimenter to generate the service dependency graph.
제1항에 있어서,
상기 미디어 자원 집합은 미디어 자원을 제공하는 미디어 노드들과 상기 미디어 노드들을 관리하는 미디어 RA 매니저를 포함하는 것을 특징으로 하는 테스트베드 시스템.
The method of claim 1,
The media resource set includes a media node for providing a media resource and a media RA manager for managing the media nodes.
제1항에 있어서,
상기 미디어 자원 집합은 상기 컴퓨팅 자원을 가상화한 슬리버를 포함하는 것을 특징으로 하는 테스트베드 시스템.
The method of claim 1,
And the media resource set includes a sliver that virtualizes the computing resource.
제1항에 있어서,
상기 네트워크 자원 집합은 프로그래머블 네트워킹과 네트워크 가상화를 제공하는 OpenFlow 기반 PC 자원들의 집합인 것을 특징으로 하는 테스트베드 시스템.
The method of claim 1,
And said network resource set is a set of OpenFlow-based PC resources that provide programmable networking and network virtualization.
제1항에 있어서,
상기 테스트베드 관리 서버는, 상기 미디어 자원 집합과 상기 네트워크 자원 집합에 대하여 슬라이스를 할당, 조정, 회수하고, 슬라이스를 사용하는 실험자들의 정보를 등록하고, 슬라이스의 설정 정보를 등록하는 슬라이스 매니저를 포함하는 것을 특징으로 하는 테스트베드 시스템.
The method of claim 1,
The test bed management server may include a slice manager that allocates, adjusts, and retrieves slices for the media resource set and the network resource set, registers information of experimenters using slices, and registers slice setting information. Characterized test bed system.
제1항에 있어서,
상기 테스트베드 관리 서버는, 상기 미디어 자원 집합과 상기 네트워크 자원 집합의 자원 목록과 현재 상태를 유지하는 테스트베드 자원 매니저를 포함하는 것을 특징으로 하는 테스트베드 시스템.
The method of claim 1,
The test bed management server includes a test bed resource manager which maintains a resource list and a current state of the media resource set and the network resource set.
제1항에 있어서,
상기 테스트베드 실험 컨트롤 서버는, 서비스 인스턴스들이 정상적으로 동작하는지 감시하며, 발생된 오류를 실험자에게 통지하는 서비스 모니터링/튜닝 모듈을 포함하는 것을 특징으로 하는 테스트베드 시스템.
The method of claim 1,
The testbed experiment control server includes a service monitoring / tuning module for monitoring whether service instances are operating normally and notifying an experimenter of an error that has occurred.
제1항에 기재된 테스트베드 시스템에서의 미디어 서비스 합성 실험 방법으로서,
실험자의 입력에 따라 서비스들을 연결하여 서비스 의존 그래프를 생성하는 단계;
상기 서비스들에 필요한 상기 미디어 자원 집합과 상기 네트워크 자원 집합의 자원들을 할당하는 단계;
상기 서비스 의존 그래프에 따라 상기 할당된 자원들과 상기 서비스들을 대응시키는 단계; 및
상기 서비스들을 실행하고 각 서비스 인스턴스를 연결하여 서비스 인스턴스 의존 그래프를 생성하는 단계를 포함하는 것을 특징으로 하는 미디어 서비스 합성 실험 방법.
A media service synthesis experiment method in the test bed system according to claim 1,
Connecting services according to an experimenter's input to generate a service dependency graph;
Allocating resources of the media resource set and the network resource set required for the services;
Associating the allocated resources with the services according to the service dependency graph; And
Running the services and connecting each service instance to generate a service instance dependency graph.
제10항에 기재된 미디어 서비스 합성 실험 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program for executing the media service synthesis experiment method according to claim 10.
KR1020100099431A 2009-12-04 2010-10-12 Testbed system for dynamic media service composition and experiment method for media service composition KR101179999B1 (en)

Applications Claiming Priority (2)

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

Publications (2)

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

Family

ID=44397289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100099431A KR101179999B1 (en) 2009-12-04 2010-10-12 Testbed system for dynamic media service composition and experiment method for media service composition

Country Status (1)

Country Link
KR (1) KR101179999B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101335332B1 (en) * 2012-06-28 2013-12-02 인텔렉추얼디스커버리 주식회사 Method for providing contents with resource recognition based on pressure information
CN105389254A (en) * 2015-10-19 2016-03-09 浪潮(北京)电子信息产业有限公司 System and method for verifying compatibility of server and Oracle Linux system
KR20160135460A (en) * 2015-05-18 2016-11-28 에스케이텔레콤 주식회사 Method and apparatus for video service
KR20180057086A (en) * 2016-11-21 2018-05-30 주식회사 케이티 System and method for setting detection of network function virtualization
WO2021045260A1 (en) 2019-09-05 2021-03-11 엘지전자 주식회사 Robot cleaner and control method therefor
WO2021145525A1 (en) 2020-01-14 2021-07-22 Lg Electronics Inc. Robot cleaner and method for controlling the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102351150B1 (en) 2018-04-23 2022-01-13 박준영 Reward base test bed system and processing method using the same

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MY147018A (en) 2001-01-04 2012-10-15 Thomson Licensing Sa 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 (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101335332B1 (en) * 2012-06-28 2013-12-02 인텔렉추얼디스커버리 주식회사 Method for providing contents with resource recognition based on pressure information
KR20160135460A (en) * 2015-05-18 2016-11-28 에스케이텔레콤 주식회사 Method and apparatus for video service
CN105389254A (en) * 2015-10-19 2016-03-09 浪潮(北京)电子信息产业有限公司 System and method for verifying compatibility of server and Oracle Linux system
KR20180057086A (en) * 2016-11-21 2018-05-30 주식회사 케이티 System and method for setting detection of network function virtualization
WO2021045260A1 (en) 2019-09-05 2021-03-11 엘지전자 주식회사 Robot cleaner and control method therefor
WO2021145525A1 (en) 2020-01-14 2021-07-22 Lg Electronics Inc. Robot cleaner and method for controlling the same

Also Published As

Publication number Publication date
KR101179999B1 (en) 2012-09-05

Similar Documents

Publication Publication Date Title
US11997143B2 (en) Managing communications among virtual machine nodes of a network service provider
KR101179999B1 (en) Testbed system for dynamic media service composition and experiment method for media service composition
US11347806B2 (en) Discovery of containerized platform and orchestration services
US20230070224A1 (en) Using a remote pod in kubernetes
US20170373940A1 (en) Container-based multi-tenant computing infrastructure
US9680708B2 (en) Method and apparatus for cloud resource delivery
Somasundaram et al. CARE Resource Broker: A framework for scheduling and supporting virtual resource management
CN106533713B (en) Application deployment method and device
US20150264117A1 (en) Processes for a highly scalable, distributed, multi-cloud application deployment, orchestration and delivery fabric
CA3051439C (en) Playback of captured network transactions in a simulation environment
AU2019213376A1 (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
US12118380B2 (en) Container storage system in remote pods in Kubernetes
US20150263980A1 (en) Method and apparatus for rapid instance deployment on a cloud using a multi-cloud controller
Stankovski et al. Implementing time-critical functionalities with a distributed adaptive container architecture
Heuchert et al. Design of a small-scale and failure-resistant IaaS cloud using OpenStack
Glez-Morcillo et al. A new approach to grid computing for distributed rendering
Ferreira et al. Standardization efforts for traditional data center infrastructure management: the big picture
Kim et al. Video transcoding scheme of multimedia data-hiding for multiform resources based on intra-cloud
Hastie et al. Foundations for New Media Nodes
Malevanniy et al. Simulation of distributed applications based on containerization technology
Hao Edge computing on low availability devices with K3S in a smart home IoT system
Repplinger et al. Stream processing on GPUs using distributed multimedia middleware
Han et al. FIRST@ PC MediaX: a service-oriented testbed for realistic media networking experiments
Tan et al. An assessment of eucalyptus version 1.4

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