KR101485161B1 - 실시간 스트리밍 서비스를 제공하기 위한 시스템 및 방법 - Google Patents

실시간 스트리밍 서비스를 제공하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101485161B1
KR101485161B1 KR20130165862A KR20130165862A KR101485161B1 KR 101485161 B1 KR101485161 B1 KR 101485161B1 KR 20130165862 A KR20130165862 A KR 20130165862A KR 20130165862 A KR20130165862 A KR 20130165862A KR 101485161 B1 KR101485161 B1 KR 101485161B1
Authority
KR
South Korea
Prior art keywords
virtual machine
traffic
streaming
amount
monitored
Prior art date
Application number
KR20130165862A
Other languages
English (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 주식회사 케이티
Priority to KR20130165862A priority Critical patent/KR101485161B1/ko
Application granted granted Critical
Publication of KR101485161B1 publication Critical patent/KR101485161B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 실시간 스트리밍 서비스를 제공할 수 있는 시스템 및 방법에 관한 것이다. 본 발명에 따른 실시간 스트리밍 서버는, 실시간 스트리밍 서비스를 제공하는 복수의 가상 머신이 실행되는 복수의 물리적 서버; 현재 서비스중인 가상 머신에 의해 사용되는 상기 물리적 서버 내 자원 사용량을 모니터링하는 자원 모니터링 서버; 상기 복수의 물리적 서버에 연결되어 상기 가상 머신에 의해 제공되는 실시간 스트리밍 서비스 데이터의 송수신을 중계하는 복수의 SDN스위치; 상기 복수의 스위치의 데이터 전송 경로를 제어하고 상기 복수의 스위치를 통해 요청 및 송출되는 트래픽을 모니터링하는 SDN 컨트롤러; 상기 SDN 컨트롤러에 의해 모니터링되는 트래픽 정보 및 상기 자원 모니터링 서버에 의해 모니터링되는 상기 가상 머신의 자원 사용량 정보를 주기적으로 수집하고, 상기 수집된 트래픽 정보 및 자원 사용량 정보에 근거하여 가상 머신 관리 및 트래픽 분산 처리를 수행하는 서비스 제어 서버를 포함할 수 있다.

Description

실시간 스트리밍 서비스를 제공하기 위한 시스템 및 방법{System and method for providing real time streaming service}
본 발명은 실시간 스트리밍 서비스 제공 시스템 및 방법에 관한 것으로서, 구체적으로는, 실시간 스트리밍 서비스의 트래픽 증감을 실시간으로 모니터링하고 그 결과에 따라 해당 서비스를 위한 가상머신 생성/이동/삭제 등을 동적으로 제어함으로써 안정적인 실시간 스트리밍 서비스를 제공할 수 있는 시스템 및 방법에 관한 것이다.
운동 경기 생중계와 같은 실시간 중계 방송 및 유튜브 등의 인기 동영상 콘텐츠 서비스 등 순간적으로 사용자가 급증하는 스트리밍 서비스에 대응하여 필요한 물리적 서버 용량을 사전에 예측하여 구축하기에는 어려움이 있으며, 클라우드 서버 환경에서조차 해당 서비스를 제공하는 가상 머신을 늘리기 위해서는 운영자가 가상 머신 생성/설치, 서비스에 필요한 S/W 설치 및 네트워크 설정 등의 일련의 작업을 수행해야 하기에 실시간으로 급증하는 사용자 요청에 효과적인 대응이 어렵다.
따라서, 실시간 스트리밍 서비스에 연관된 트래픽량을 실시간으로 모니터링하고 그 결과에 따라 가상 머신을 동적으로 추가/삭제/이동시킴으로써 실시간 스트리밍 서비스를 안정적으로 제공할 수 있는 방안이 필요하다.
따라서, 본 발명의 목적은 실시간 스트리밍 서비스의 트래픽 증감을 실시간으로 모니터링하고 그 결과에 따라 해당 서비스를 위한 가상머신 추가/이동/삭제 등을 동적으로 제어함으로써 안정적인 실시간 스트리밍 서비스를 제공할 수 있는 시스템 및 방법을 제공하는 것이다.
또한, 본 발명의 목적은 실시간 스트리밍 서비스를 제공하는 가상 머신들에 대한 네트워크 분산의 적정 여부를 모니터링하고 그 결과에 따라 가상머신과 스위치간 세션 변경을 통해 적절한 네트워크 부하 분산을 제공할 수 있는 시스템 및 방법을 제공하는 것이다.
본 발명의 일실시예에 따른 실시간 스트리밍 서비스 시스템은, 실시간 스트리밍 서비스를 제공하는 복수의 가상 머신이 실행되는 복수의 물리적 서버; 현재 서비스중인 가상 머신에 의해 사용되는 상기 물리적 서버 내 자원 사용량을 모니터링하는 자원 모니터링 서버; 상기 복수의 물리적 서버에 연결되어 상기 가상 머신에 의해 제공되는 실시간 스트리밍 서비스 데이터의 송수신을 중계하는 복수의 SDN스위치; 상기 복수의 스위치의 데이터 전송 경로를 제어하고 상기 복수의 스위치를 통해 요청 및 송출되는 트래픽을 모니터링하는 SDN 컨트롤러; 상기 SDN 컨트롤러에 의해 모니터링되는 트래픽 정보 및 상기 자원 모니터링 서버에 의해 모니터링되는 상기 가상 머신의 자원 사용량 정보를 주기적으로 수집하고, 상기 수집된 트래픽 정보 및 자원 사용량 정보에 근거하여 가상 머신 관리 및 트래픽 분산 처리를 수행하는 서비스 제어 서버를 포함한다.
일실시예에서, 상기 서비스 제어 서버는 서비스 제공자로부터 상기 서비스 개시 및 종료시간, 초기 가상 머신 개수, 스트리밍 송출품질, 자원허용범위 및 예비 가상머신 개수중 적어도 하나를 입력받을 수 있다.
일실시예에서, 상기 SDN 컨트롤러에 의해 모니터링되는 트래픽 정보는 상기 시스템으로 유입되는 요청 스트리밍 트래픽 총량 및 송출 스트리밍 트래픽 총량과, 상기 복수의 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 상기 가상 머신과 상기 스위치간 커넥션 정보를 포함할 수 있다.
일실시예에서, 상기 자원 모니터링 서버에 의해 모니터링되는 자원 사용량 정보는, 현재 서비스중인 가상 머신 각각에 대한 인입 및 인출 네트워크 사용량, CPU 사용량 및 메모리 사용량 정보중 적어도 하나를 포함할 수 있다.
일실시예에서, 상기 서비스 제어 서버는, 상기 SDN 컨트롤러에 의해 모니터링되는 상기 시스템으로 유입되는 요청 스트리밍 트래픽 총량 및 송출 스트리밍 트래픽 총량 정보와, 상기 자원 모니터링 서버에 의해 모니터링되는 상기 현재 서비스중인 가상 머신의 자원 사용량에 근거하여 가상 머신의 추가 또는 삭제를 판단하는 가상머신 관리부와, 상기 SDN 컨트롤러에 의해 모니터링되는 상기 복수의 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 상기 가상 머신과 상기 스위치간 커넥션 정보와, 상기 자원 모니터링 서버에 의해 모니터링되는 상기 가상 머신의 네트워크 사용량 정보를 이용하여 트래픽 분산을 수행하는 트래픽 관리부를 포함할 수 있다.
일실시예에서, 상기 가상머신 관리부는, 상기 SDN 컨트롤러에 의해 모니터링되는 상기 요청 스트리밍 트래픽 총량 및 송출 스트리밍 트래픽 총량을 주기적으로 수집하여 기록하고, 일정 간격동안 상기 요청 스트리밍 트래픽 총량의 변화량 및 상기 송출 스트리밍 트래픽 총량의 변화량과 서비스 제공자에 의해 입력되는 스트리밍 송출 품질에 기반하여 스트리밍 트래픽 증감량을 산출하고, 상기 산출된 트래픽 증감량에 따라 가상 머신의 추가/삭제 여부를 판단할 수 있다.
일실시예에서, 상기 가상머신 관리부는, 상기 산출된 트래픽 증감량 및 상기 자원 모니터링 서버에 의해 모니터링되는 상기 현재 서비스중인 가상 머신의 자원 사용량에 근거하여 추가/삭제될 가상 머신의 개수를 결정할 수 있다.
일실시예에서, 상기 트래픽 관리부는 상기 자원 모니터링 서버에 의해 모니터링되는 상기 현재 서비스중인 가상 머신의 네트워크 사용율에 근거하여 상기 현재 서비스중인 가상머신 각각에 대한 네트워크 부하를 분석하여 특정 가상 머신에 부하가 편중되는 경우에 트래픽을 다른 가상 머신으로 이관시키는 가상머신 부하 분석 모듈을 포함할 수 있다.
일실시예에서, 상기 가상머신 부하 분석 모듈은 현재 서비스중인 가상 머신 각각에 대해 추가로 서비스 가능한 세션 수를 확인하여 상기 SDN 컨트롤러에 또한 전달할 수 있다.
일실시예에서, 상기 트래픽 관리부는 상기 SDN 컨트롤러에 의해 모니터링되는 상기 복수의 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 상기 가상 머신과 상기 스위치간 커넥션 정보를 이용하여 상기 복수의 스위치 각각에 대한 부하를 산출하고 특정 스위치에 부하가 편중되는 경우에 상기 스위치와 가상머신간 세션 변경을 통해 부하 분산을 수행하는 스위치 부하 분석 모듈을 포함할 수 있다.
본 발명의 일실시예에 따른 실시간 스트리밍 서비스 제공 방법은, SDN 컨트롤러에 의해 모니터링되는 서비스 요청 스트리밍 트래픽 총량 및 송출 스트리밍 트래픽 총량 정보, 복수의 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 상기 가상 머신과 상기 스위치간 커넥션 정보를 주기적으로 수집하는 단계와, 자원 모니터링 서버에 의해 모니터링되는 현재 서비스중인 가상 머신의 자원 사용량 정보를 주기적으로 수집하는 단계와, 상기 수집된 요청 스트리밍 트래픽 총량 및 송출 스트리밍 트래픽 총량 정보와, 상기 현재 서비스중인 가상 머신의 자원 사용량에 근거하여 가상 머신의 추가 또는 삭제를 판단하는 단계와, 상기 복수의 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 상기 가상 머신과 상기 스위치간 커넥션 정보와, 상기 가상 머신의 네트워크 사용량 정보를 이용하여 트래픽 분산을 수행하는 단계를 포함할 수 있다.
일실시예에서, 상기 가상머신의 추가 또는 삭제를 판단하는 단계는 제1 주기로 수행되고, 상기 트래픽 분산을 수행하는 단계는 상기 제1 주기보다 작거나 같은 제2 주기로 수행될 수 있다.
일실시예에서, 서비스 제공자로부터 상기 서비스 개시 및 종료시간, 초기 가상 머신 개수, 스트리밍 송출품질, 자원허용범위 및 예비 가상머신 개수중 적어도 하나를 입력받는 단계를 더 포함할 수 있다.
일실시예에서, 상기 가상머신의 추가 또는 삭제를 판단하는 단계는, 상기 SDN 컨트롤러에 의해 모니터링되는 상기 요청 스트리밍 트래픽 총량의 변화량 및 상기 송출 스트리밍 트래픽 총량의 변화량과 상기 서비스 제공자에 의해 입력되는 스트리밍 송출 품질에 기반하여 스트리밍 트래픽 증감량을 산출하고, 상기 산출된 트래픽 증감량에 따라 가상 머신의 추가/삭제 여부를 판단할 수 있다.
일실시예에서, 상기 가상머신의 추가 또는 삭제를 판단하는 단계는, 상기 산출된 트래픽 증감량 및 상기 자원 모니터링 서버에 의해 모니터링되는 상기 현재 서비스중인 가상 머신의 자원 사용량에 근거하여 추가/삭제될 가상 머신의 개수를 결정하는 단계를 더 포함할 수 있다.
일실시예에서, 가상머신을 추가하는 것으로 판단되면, 상기 방법은 가상 머신 생성을 위한 자동 프로비져닝을 실행하고, 추가된 가상머신과 메인 스트리밍 송출 서버와의 세션을 구성하는 단계; 및 상기 추가된 가상머신의 서비스 투입이 결정되면, 상기 가상머신에 송출 트래픽이 분산되도록 SDN 컨트롤러에 알리는 단계를 더 포함할 수 있다.
일실시예에서, 가상머신을 삭제하는 것으로 판단되면, 상기 방법은, 삭제대상 가상머신을 결정하는 단계; 상기 삭제대상으로 결정된 가상머신이 현재 서비스중인지 검사하는 단계; 현재 서비스중이라면, 상기 가상머신의 트래픽을 다른 가상머신으로 이관시키는 단계; 및 상기 가상머신을 삭제하는 단계를 더 포함할 수 있다.
일실시예에서, 상기 트래픽 분산을 수행하는 단계는 상기 자원 모니터링 서버에 의해 모니터링되는 상기 현재 서비스중인 가상 머신의 네트워크 사용율에 근거하여 상기 현재 서비스중인 가상머신 각각에 대한 네트워크 부하를 분석하고 부하가 편중되는 가상머신의 트래픽을 다른 가상 머신으로 이관시키는 단계를 포함할 수 있다.
일실시예에서, 상기 트래픽 분산을 수행하는 단계는 상기 SDN 컨트롤러에 의해 모니터링되는 상기 복수의 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 상기 가상 머신과 상기 스위치간 커넥션 정보를 이용하여 상기 복수의 스위치 각각에 대한 부하를 산출하고 특정 스위치가 부하가 편중되는 경우에 상기 스위치와 가상머신간 세션 변경을 통해 부하 분산을 수행하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따르면, 단기간에 대량의 실시간 컨텐츠 트래픽을 처리해야 하는 웹 서비스, 예를 들면, 월드컵, 올림픽과 같은 실시간 인기 종목 스트리밍 서비스, 인기 동영상 컨텐츠를 제공하는 유튜브와 같은 동영상 서비스를 제공함에 있어서, 실시간으로 급증하거나 감소하는 트래픽의 상황과 서버의 리소스를 모니터링하여 가상머신의 생성/삭제, 서비스에 필요한 최소 S/W 자동 설치, 네트워크 설정 및 부하 분산 등의 동작을 실시간으로 자동 처리되도록 함으로써 시스템 활용성을 높이고 서비스의 안정성을 추구할 수 있다.
도 1은 본 발명의 일실시예에 따른 실시간 스트리밍 서비스 시스템의 구성을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 서비스 제어 서버의 구성을 도시한 블록도이다.
도 3은 본 발명의 일실시예에 따른 실시간 스트리밍 서비스를 제공 방법을 도시한 흐름도이다.
도 4는 실시간 스트리밍 서비스의 개시시점부터 종료시점까지의 송출 트래픽 변화량의 일예를 도시한 그래프이다.
도 5는 본 발명의 일실시예에 따른 가상머신 관리 과정을 도시한 흐름도이다.
도 6은 본 발명의 일실시예에 따른 트래픽 분산 과정을 도시한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 본 명세서 및 청구항에서 사용되는 단수 표현은, 달리 언급하지 않는 한 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 용어들중 "모듈", "부", "인터페이스 등은 일반적으로 컴퓨터 관련 객체를 의미하며, 예를 들어, 하드웨어, 소프트웨어 및 이들의 조합을 의미할 수 있다.
이하, 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 실시간 스트리밍 서비스 시스템의 구성을 도시한 도면이다.
도시된 바와 같이, 실시간 스트리밍 서비스 시스템은, 가상머신(virtual machine: VM)들이 실행되는 복수의 물리적 서버(110a 내지 110c), SDN 스위치(120a, 120b), SDN 컨트롤러(130), 자원 모니터링 서버(140) 및 서비스 제어 서버(140)를 포함할 수 있다. 도 1에 도시된 시스템에 포함된 각 구성요소들의 개수는 설명의 편의를 위한 것으로서, 본 발명이 이에 한정되는 것은 아님은 충분히 이해할 것이다.
복수의 물리적 서버(110a 내지 110c)는 실시간 스트리밍 서비스를 제공하는 가상머신들에 필요한 자원(예, CPU, 메모리, 네트워크 등)을 제공할 수 있는 범용 서버 풀(poo)이다. 본 발명에 따르면, 스트리밍 서비스의 트래픽을 실시간으로 모니터링함으로써 증감 추이를 파악하여 물리적 서버(110a 내지 110c)의 가용 자원에 가상 머신을 추가하거나 삭제할 수 있다.
SDN 스위치(120a, 120b)는 물리적 서버(110a 내지 110c)들에 연결되어 상기 서버내에서 실행되는 가상머신들에 의해 제공되는 실시간 스트리밍 서비스 패킷 데이터를 SDN 컨트롤러(130)에 의해 제어되는 데이터 경로를 따라 송수신한다.
최근 통신 시장의 이슈로 급부상한 소프트웨어 정의 네트워크(Software Defined Network, SDN)는 소프트웨어 프로그래밍을 통해 네트워크 경로 설정과 제어 및 복잡한 운용 관리를 편리하게 처리할 수 있는 차세대 네트워킹 기술로서, 네트워크의 데이터 평면(data plane)과 제어 평면(control plane)을 분리하여 SDN 컨트롤러 제어 기능을 집중시키고 SDN 스위치는 SDN 컨트롤러의 제어에 따라 패킷을 송수신하는 방식이다.
이와 같은 SDN 구조에 기반하여, 본 발명은 SDN 컨트롤러(130)로부터 모니터링되는 SDN 스위치(120a, 120b)의 트래픽 정보를 이용하여 실시간 스트리밍 서비스의 안정성 확보를 위해 가상머신을 실시간으로 추가/삭제할 수 있으며, 또한 특정 SDN 스위치에 부하가 편중되는 경우에 SDN 컨트롤러(130)를 통한 경로 제어를 통해 트래픽 분산을 수행할 수 있다.
SDN 컨트롤러(130)는 복수의 SDN 스위치(120a, 120b)의 데이터 전송 경로를 제어하고 이들 복수의 스위치를 통해 요청 및 송출되는 트래픽을 모니터링한다.
일실시예에서, SDN 컨트롤러(130)에 의해 모니터링되는 트래픽 정보는, 스트리밍 서비스 시스템으로 유입되는 요청 스트리밍 트래픽 총량 및 송출 스트리밍 트래픽 총량, 복수의 스위치 각각(120a, 120b)에 대한 유입 및 유출 스트리밍 트래픽량에 부가하여, 가상 머신과 스위치간 세션 정보를 포함할 수 있다.
자원 모니터링 서버(140)는 물리적 서버들(110a, 110b, 110c)에서 현재 서비스중인 가상머신들에 대한 자원 사용량을 모니터링한다.
일실시예에서, 자원 모니터링 서버(140)에 의해 모니터링되는 자원 사용량(사용률) 정보로는 현재 서비스중인 가상 머신 각각에 대한 인입 및 인출 네트워크 사용량(사용률), CPU 사용량(사용률) 및 메모리 사용량(사용률) 정보중 적어도 하나를 포함할 수 있다.
서비스 제어 서버(150)는 SDN 컨트롤러(130)에 의해 모니터링되는 트래픽 정보 및 자원 모니터링 서버에 의해 모니터링되는 가상 머신의 자원 사용량을 주기적으로 수집하고, 상기 수집된 트래픽 정보 및 자원 사용량 및 네트워크 대역 사용량 정보에 근거하여 가상 머신 관리 및 트래픽 분산 처리를 수행한다.
서비스 제어 서버(150)는 SDN 컨트롤러(130)로부터 수집되는 트래픽 정보를 이용하여 서비스 유입 트래픽 추이를 분석을 하고, 그 추이에 따라 현재의 가상 머신 자원의 수용 가능 여부를 판단하고, 트래픽 추이가 상승일 때 현재의 가상머신 자원 사용률과 서비스 버퍼(예비 가상머신)를 고려하여 가상머신을 추가 생성 하거나, 트래픽 추이가 유지되거나 감소할 때 VM을 유지시키거나 삭제한다.
서비스 제어 서버(140)는 최적화된 실시간 스트리밍 서비스를 제공하기 위해 본 발명에 의해 제공되는 서버로서, 도 2를 참조하여 본원발명의 일실시예에 따른 서비스 제어 서버의 세부 구성을 좀더 구체적으로 설명하겠다.
도 2는 본 발명의 일실시예에 따른 서비스 제어 서버의 구성을 도시한 블록도이다.
도시된 바와 같이, 서비스 제어 서버(200)는, 운영 파라미터 수신부(210), 가상머신 관리부(220) 및 트래픽 관리부(230)를 포함할 수 있다.
일실시예에서, 운영 파라미터 수신부(210)는 시스템 운영자로부터 해당 스트리밍 서비스 개시시간 및 종료시간정보, 초기 가상머신 개수, 스트리밍 송출 품질(예, 1Mbps, 128kbps, 500kbps 등), 자원 허용범위, 예비 가상머신 개수 등의 운영 파라미터중 적어도 하나를 입력받아 저장할 수 있다. 자원 허용범위는 서비스의 안정성을 위해 가상머신의 자원에 대한 허용 범위를 의미한다. 일 예로, CPU 사용 허용 범위는 20~80%, 30~60% 등으로 설정될 수 있으며, 현재 사용량이 자원 허용 범위 보다 낮은 수치일 때는 트래픽을 더 많이 수용할 수 있으며, 범위를 초과한 경우 더 이상의 트래픽을 수용하지 않도록 한다.
가상머신 관리부(220)는 SDN 컨트롤러에 의해 모니터링되는 요청 스트리밍 트래픽 총량 및 송출 스트리밍 트래픽 총량 정보와, 자원 모니터링 서버에 의해 모니터링되는 현재 서비스중인 가상 머신의 자원 사용량 정보에 근거하여 가상 머신의 추가 또는 삭제를 판단할 수 있다.
일실시예에서, 가상머신 관리부(220)는 SDN 컨트롤러에 의해 모니터링되는 요청 스트리밍 트래픽 총량 및 송출 스트리밍 트래픽 총량 정보를 주기적으로 수집하여 기록하고, 일정 간격동안 상기 요청 스트리밍 트래픽 총량의 변화량 및 상기 송출 스트리밍 트래픽 총량의 변화량과 서비스 제공자에 의해 입력되는 스트리밍 송출 품질에 기반하여 스트리밍 트래픽 증감량을 산출하고, 상기 산출된 트래픽 증감량에 따라 가상 머신의 추가/삭제 여부를 판단할 수 있다.
하기 표 1은 가상머신 관리부(220)가 SDN 컨트롤러에 의해 모니터링되는 트래픽 총량 정보를 주기적으로 수집하여 기록한 일 예를 도시한다.
시간 Net_Out Net_In
(Session)
총 VM 가동 VM 여유 네트워크
t 5Gbps 3120 6 5 1G
t-1 3Gbps 2410 4 4 0.5G
t-2 2Gbps 1023 4 3 1G
t-3 1Gbps 852 3 3 0.5G
t-4 1Gbps 780 3 3 0.5G
일실시예에서, 가상머신 관리부(220)는 다음 수식에 따라 트래픽 증감량(ΔT_Total_Net)을 산출할 수 있다.
Figure 112013119849965-pat00001
여기서, ΔT_Total_Net_in은 트래픽 수집 시점 T2와 T1 사이에서 전체 네트워크 유입 트래픽 세션수의 변화량을 나타내고, SVC_Quality는 스트리밍 송출 품질을 나타내고, ΔT_Total_Net_out 은 T2와 T1사이에서 전체 네트워크 송출 트래픽 총량의 변화량을 나타낸다.
α, β는 트래픽 중요도에 따른 가중치 설정 혹은 서비스가 아닌 관리용 내부 트래픽(보안, 관리, 모니터링 등)에 대해 정합성을 높이기 위해 사용될 수 있다.
일실시예에서, 가상머신 관리부(220)는 상기 수학식 1에 근거하여 산출된 트래픽 증감량과, 자원 모니터링 서버에 의해 모니터링되는 상기 현재 서비스중인 가상 머신의 자원 사용량에 근거하여 추가/삭제될 가상 머신의 개수를 결정할 수 있다. 하기 표 2는 자원 모니터링 서버에 의해 모니터링된 가상머신의 자원 사용량을 가상머신 관리부(220)가 수집하여 기록한 일 예를 도시한다.
우선순위 VM IP CPU Memory Network SDN 스위치
1 V1 60% 50% 70% S1
2 V2 20% 70% 60% S2
3 V3 30% 50% 40% S2
4 V4 40% 40% 30% S1
5 V5 20% 30% 20% S1
6 V6 10% 20% 10% S3
일 예에서, 추가 생성/삭제가 필요한 가상머신의 개수(NewVMnum)는 다음 수식에 따라 결정될 수 있다.
Figure 112013119849965-pat00002
여기서, NewVmnum 은 추가로 생성이 필요한 가상머신 개수로서, '+'의 값인 경우 가상머신을 추가로 생성하고, '-' 의 값인 경우는 기존 가상 머신중에서 개수만큼 삭제할 필요가 있다고 판단된다.
SVC_buffer는 예비 가상머신 개수를 나타내고, n은 현재 서비스중인 가상머신의 총 개수이고, Vm_free(k)는 현재 서비스중인 가상머신에서 시스템 운영자에 의해 정의된 서비스 범위 내 남은 네트워크 여유량(예, bps)을 나타낸다. 네트워크 여유량 이외에, CPU 및 메모리에 대해서도 동일한 수식 적용이 가능하다.
하기 표 3은 가상머신 관리부(220)가 전술한 과정을 통해 가상머신의 추가/삭제/유지를 판단한 예를 도시한다. 하기 표는, 정상적인 서비스 제공을 위해 운영자에 의해 설정된 자원 허용 범위는 20%~60%라고 가정한 경우이다.
T_VM1 T_VM2
구분 CPU 메모리 네트워크 CPU 메모리 네트워크 결과 비고
VM1 60 40 50 90 90 90 신규 VM 생성 VM FULL
VM2 10 10 10 10 10 10 트래픽 이관 후 삭제 VM_EMPTY
VM3 50 50 50 50 50 50 유지 정상
다시, 도 2를 참조하여, 트래픽 관리부(230)는 SDN 컨트롤러에 의해 모니터링되는 복수의 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 가상 머신과 스위치간 세션 정보와, 자원 모니터링 서버에 의해 모니터링되는 가상 머신의 네트워크 사용량 정보를 이용하여 트래픽 분산을 수행할 수 있다.
일실시예에서, 트래픽 관리부(230)는 가상머신 부하분석모듈(232) 및 스위치 부하분석모듈(234)을 포함할 수 있다.
가상머신 부하분석모듈(232)은 자원 모니터링 서버에 의해 모니터링되는 현재 서비스중인 가상 머신의 네트워크 사용율에 근거하여 현재 서비스중인 가상머신 각각에 대한 네트워크 부하를 분석하여 특정 가상 머신에 부하가 편중되는 경우에 또는 특정 가상머신이 삭제대상으로 판정된 경우에 해당 트래픽을 다른 가상 머신으로 이관시키는 역할을 수행한다.
일실시예에서, 가상머신 부하분석모듈(232)은 현재 서비스중인 가상 머신 각각에 대해 추가로 서비스 가능한 세션수를 확인하여 SDN 컨트롤러에 전달함으로써 SDN 컨트롤러가 향후 유입되는 트래픽 할당에 반영하도록 할 수 있다.
각 가상머신에 대한 추가 서비스 가능한 세션수(Vm_accept_count)는 다음 수식에 따라 산출될 수 있다.
Figure 112013119849965-pat00003
여기서, Vm_free(k)는 현재 서비스중인 k(1에서 N까지의 자연수) 번째 가상머신의 네트워크 여유량을 나타내고, SVC_Quality는 스트리밍 서비스 품질을 나타내는 값이다.
한편, 가상머신 삭제로 인하여 트래픽을 다른 가상머신으로 이관하여야 하는 경우가 발생할 수 있다. 이러한 경우에, 가상머신 부하분석모듈(232)은 삭제 대상 가상머신에서 서비스중인 세션수를 검사하여 이관받을 가상머신의 추가 서비스 가능한 세션수와 비교함으로써 이관 여부를 판단할 수 있다.
스위치 부하분석모듈(234)은 SDN 컨트롤러에 의해 모니터링되는 복수의 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 가상 머신과 스위치간 커넥션 정보를 이용하여 복수의 스위치 각각에 대한 부하를 산출하고 특정 스위치에 부하가 편중되는 경우에 상기 스위치와 가상머신간 커넥션 변경을 통해 부하 분산을 수행할 수 있다.
표 4는 SDN 컨트롤러에 의해 모니터링된 SDN 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량을 스위치 부하분석모듈(234)이 기록한 일예를 도시한다.
구분 SDN 스위치 IP Net_In Net_Out Network
1 S1 2Gbps/s 8Gbps/s 30%
2 S2 3Gbps/s 7Gbps/s 20%
3 S3 5Gbps/s 10Gbps/s 40%
표 5는 스위치 부하분석모듈(234)에 의해 스위치 부하 분석을 통해 네트워크 부하 분산을 수행하는 과정을 도시한 일예이다.
구분 VM1 VM2 VM3 VM4 VM5 현 스위치
부하
다음 스위치 분배
VM 여유율 30% 50% 30% 60% 50%
SW1 0 20%
SW2 O O O 60% 20%
SW3 O O 40% 20%
SW4 0 20%
SW5 0 20%
현세션 SW2 SW3 SW2 SW2 SW3
다음세션 SW3 SW4 SW5 SW2 SW1
상기 표에서 '△'는 VM과 스위치가 연결될 수 있는 물리적 환경을 의미하며, 'O'는 현재 연결된 상태를 의미한다.
도 3은 본 발명의 일실시예에 따른 실시간 스트리밍 서비스를 제공 방법을 도시한 흐름도이다.
단계(S310)에서, 서비스 제공자로부터 해당 스트리밍 서비스 개시 및 종료시간, 초기 가상 머신 개수, 스트리밍 송출품질, 자원허용범위 및 예비 가상머신 개수 등의 운영 파라미터를 입력받는다.
단계(S320)에서, SDN 컨트롤러 및 자원 모니터링 서버로부터 가상머신 관리 및 트래픽 분산에 필요한 정보를 수집한다.
일실시예에서, SDN 컨트롤러로부터 상기 컨트롤러에 의해 모니터링되는 서비스 요청 스트리밍 트래픽 총량 및 송출 스트리밍 트래픽 총량 정보, 복수의 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 상기 가상 머신과 상기 스위치간 커넥션 정보를 주기적으로 수집할 수 있다.
또한, 자원 모니터링 서버로부터 상기 서버에 의해 모니터링되는 현재 서비스중인 가상 머신의 자원(네트워크, CPU 메모리 등) 사용량 정보를 주기적으로 수집할 수 있다.
다음, 단계(S330)에서, 상기 수집된 요청 스트리밍 트래픽 총량 및 송출 스트리밍 트래픽 총량 정보와, 상기 현재 서비스중인 가상 머신의 자원 사용량에 근거하여 가상 머신의 추가 또는 삭제를 판단할 수 있다.
그 판단 결과에 따라, 추가 가상 머신 생성을 위해 프로비저닝을 실행하거나(S340), 가상 머신 삭제를 수행할 수 있다(S350). 가상 머신 추가/삭제에 대한 세부 과정은 도 5를 참조하여 후술한다.
단계(S360)에서, 가상머신들에 대한 부하가 적정한지 및/또는 SDN 스위치 에 트래픽 분산이 적정한지를 판단하고, 그 결과에 따라 SDN 컨트롤러를 통해 송출 트래픽 분산 처리를 수행한다(S370). 트래픽 분산에 대한 세부 과정은 도 6을 참조하여 후술한다.
상기 도면에는, 가상머신의 추가/삭제를 판단하는 과정과 트래픽 분산 과정이 순차적으로 도시되어 있으나, 본 발명이 이러한 실시예에만 국한되는 것은 아니며, 실제에 있어서는 VM의 생성/삭제에 소요되는 시간보다 더 민첩하게 트래픽을 투입하거나 배분해야 하므로 트래픽 분산 과정은 좀더 자주 실행될 필요가 있다.
일실시예에서, 가상머신의 추가/삭제를 판단하는 단계는 제1 주기로 수행되고, 상기 트래픽 분산을 수행하는 단계는 상기 제1 주기보다 작거나 같은 제2 주기로 수행될 수 있다. 도 4를 참조하면, 실시간 스트리밍 서비스의 개시시점부터 종료시점까지의 트래픽 변화량의 일예를 나타낸 그래프가 도시되어 있다. 상기 그래프에 도시된 바와 같이, 송출 트래픽은 서비스 개시시점 이후에 점차적으로 증가하여 일정 시점에 도달하면 최대치를 유지하다가 감소하게 된다. 이러한 송출 트래픽에 대한 안정적인 서비스를 위해, 본 발명은 주기적으로 가상머신의 추가/삭제 여부를 판단하여 안정적인 서비스를 위한 일정량의 가상머신을 준비할 것이다. 상기 그래프에서, "T"가 가상머신의 추가/삭제를 판단하는 주기라 하겠다. 한편, "t"는 트래픽 분산 주기를 나타내는 것으로서, T보다는 짧은 주기로 실시간 트래픽 분산 처리를 수행할 것이다.
도 5는 본 발명의 일실시예에 따른 가상머신 관리 과정을 도시한 흐름도이다.
단계(S501)에서, SDN 컨트롤러에 의해 모니터링되는 서비스 요청 스트리밍 트래픽 총량의 변화량 및 송출 스트리밍 트래픽 총량 정보와, 자원 모니터링 서버에 의해 모니터링되는 상기 현재 서비스중인 가상 머신의 자원 사용량 정보를 주기적으로 수집 및 분석한다.
일실시예에서, SDN 컨트롤러에 의해 모니터링되는 상기 요청 스트리밍 트래픽 총량 및 송출 스트리밍 트래픽 총량을 주기적으로 수집하여 기록하고, 일정 간격동안 상기 요청 스트리밍 트래픽 총량의 변화량 및 상기 송출 스트리밍 트래픽 총량의 변화량과 서비스 제공자에 의해 입력되는 스트리밍 송출 품질에 기반하여 스트리밍 트래픽 증감량을 산출할 수 있다.
또한, 상기 산출된 트래픽 증감량 및 상기 수집된 현재 서비스중인 가상 머신의 자원 사용량에 근거하여 추가/삭제될 가상 머신의 개수를 결정할 수 있다.
일실시예에서, 트래픽 증감량 산출 및 추가/삭제될 가상머신의 개수 결정은 전술한 수학식 1 및 2에 근거하여 이루어질 수 있다.
단계(S502)에서, 전술한 단계(S501)의 분석 결과에 따라 가상 머신의 추가 및 삭제 여부를 판단할 수 있다.
가상머신의 추가가 필요한 것으로 판단되면, 가상 머신 생성을 위한 자동 프로비져닝을 실행하고(S503), 추가된 가상머신과 메인 스트리밍 송출 서버와의 세션을 구성한다(S504).
추가된 가상머신은 일단 예비 가상머신으로 준비되어 있다가, 서비스 투입이 결정되면(S505)), 실제 서비스에 투입하여 해당 가상머신에 송출 트래픽이 분산되도록 SDN 컨트롤러에 알린다(S506).
반면, 가상머신의 삭제가 필요한 것으로 판단되면, 삭제대상 가상머신을 결정하고(S507), 삭제대상으로 결정된 가상머신이 현재 서비스중인지 검사한다(S508)
현재 서비스중이라면, 해당 가상머신의 트래픽을 다른 가상머신으로 이관시킨 후에(S509), 해당 가상머신을 삭제한다(S510).
도 6은 본 발명의 일실시예에 따른 트래픽 분산 과정을 도시한 흐름도이다.
단계(S601)에서, SDN 컨트롤러 및 자원 모니터링 서버로부터 트래픽 분산에 필요한 정보를 수집하여 분석한다.
일실시예에서, 트래픽 분산 처리를 위해, SDN 컨트롤러로부터 복수의 SDN 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 가상 머신과 SDN 스위치간 커넥션 정보를 수집하고, 자원 모니터링 서버로부터 현재 서비스중인 가상머신의 네트워크 사용량 정보를 수집한다.
단계(S602)에서, 자원 모니터링 서버로터 수집된 현재 서비스중인 가상 머신의 네트워크 사용율에 근거하여 상기 현재 서비스중인 가상머신 각각에 대한 네트워크 부하를 분석하고, 특정 가상머신에 부하가 편중되는 경우에 가상머신의 트래픽을 다른 가상 머신으로 이관시킴으로써 가상 머신의 부하 분산을 수행한다.
일실시예에서, SDN 컨트롤러에 트래픽 이관을 알림으로써, SDN 컨트롤러가 해당 트래픽에 대한 경로 재설정을 SDN 스위치에 반영하도록 할 수 있다.
단계(S603)에서, SDN 컨트롤러로부터 수집된 복수의 SDN 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 가상 머신과 SDN 스위치간 커넥션 정보를 이용하여 복수의 스위치 각각에 대한 부하를 산출하고 특정 스위치가 부하가 편중되는 경우에 상기 스위치와 가상머신간 세션 변경을 통해 부하 분산을 수행한다. 스위치와 가상머신간 세션 변경은 SDN 컨트롤러의 경로 제어에 의해 가능하다.
본 발명의 실시예에 따른 장치 및 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이제까지 본 발명에 대하여 그 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (19)

  1. 실시간 스트리밍 서비스를 제공하는 복수의 가상 머신이 실행되는 복수의 물리적 서버;
    현재 서비스중인 가상 머신에 의해 사용되는 상기 물리적 서버 내 자원 사용량을 모니터링하는 자원 모니터링 서버;
    상기 복수의 물리적 서버에 연결되어 상기 가상 머신에 의해 제공되는 실시간 스트리밍 서비스 데이터의 송수신을 중계하는 복수의 SDN 스위치;
    상기 복수의 스위치의 데이터 전송 경로를 제어하고 상기 복수의 스위치를 통해 요청 및 송출되는 트래픽을 모니터링하는 SDN 컨트롤러; 및
    상기 SDN 컨트롤러에 의해 모니터링되는 트래픽 정보 -상기 트래픽 정보는 상기 시스템으로 유입되는 요청 스트리밍 트래픽 총량 및 송출 스트리밍 트래픽 총량과, 상기 복수의 SDN 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 상기 가상 머신과 상기 SDN 스위치간 커넥션 정보를 포함함- 및 상기 자원 모니터링 서버에 의해 모니터링되는 상기 가상 머신의 자원 사용량 정보를 주기적으로 수집하고, 상기 수집된 트래픽 정보 및 자원 사용량 정보에 근거하여 가상 머신 관리 및 트래픽 분산 처리를 수행하는 서비스 제어 서버
    를 포함하는 실시간 스트리밍 서비스 시스템.
  2. 제1항에 있어서, 상기 서비스 제어 서버는 서비스 제공자로부터 상기 서비스 개시 및 종료시간, 초기 가상 머신 개수, 스트리밍 송출품질, 자원허용범위 및 예비 가상머신 개수중 적어도 하나를 입력받는 실시간 스트리밍 서비스 시스템.
  3. 삭제
  4. 제1항에 있어서, 상기 자원 모니터링 서버에 의해 모니터링되는 자원 사용량 정보는, 현재 서비스중인 가상 머신 각각에 대한 인입 및 인출 네트워크 사용량, CPU 사용량 및 메모리 사용량 정보중 적어도 하나를 포함하는 실시간 스트리밍 서비스 시스템.
  5. 제1항에 있어서, 상기 서비스 제어 서버는,
    상기 SDN 컨트롤러에 의해 모니터링되는 상기 시스템으로 유입되는 요청 스트리밍 트래픽 총량 및 송출 스트리밍 트래픽 총량 정보와, 상기 자원 모니터링 서버에 의해 모니터링되는 상기 현재 서비스중인 가상 머신의 자원 사용량에 근거하여 가상 머신의 추가 또는 삭제를 판단하는 가상머신 관리부와,
    상기 SDN 컨트롤러에 의해 모니터링되는 상기 복수의 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 상기 가상 머신과 상기 스위치간 커넥션 정보와, 상기 자원 모니터링 서버에 의해 모니터링되는 상기 가상 머신의 네트워크 사용량 정보를 이용하여 트래픽 분산을 수행하는 트래픽 관리부
    를 포함하는 실시간 스트리밍 서비스 시스템.
  6. 제5항에 있어서, 상기 가상머신 관리부는, 상기 SDN 컨트롤러에 의해 모니터링되는 상기 요청 스트리밍 트래픽 총량 및 송출 스트리밍 트래픽 총량을 주기적으로 수집하여 기록하고, 일정 간격동안 상기 요청 스트리밍 트래픽 총량의 변화량 및 상기 송출 스트리밍 트래픽 총량의 변화량과 서비스 제공자에 의해 입력되는 스트리밍 송출 품질에 기반하여 스트리밍 트래픽 증감량을 산출하고, 상기 산출된 트래픽 증감량에 따라 가상 머신의 추가/삭제 여부를 판단하는 실시간 스트리밍 서비스 시스템.
  7. 제6항에 있어서, 상기 가상머신 관리부는, 상기 산출된 트래픽 증감량 및 상기 자원 모니터링 서버에 의해 모니터링되는 상기 현재 서비스중인 가상 머신의 자원 사용량에 근거하여 추가/삭제될 가상 머신의 개수를 결정하는 실시간 스트리밍 서비스 시스템.
  8. 제5항에 있어서, 상기 트래픽 관리부는 상기 자원 모니터링 서버에 의해 모니터링되는 상기 현재 서비스중인 가상 머신의 네트워크 사용율에 근거하여 상기 현재 서비스중인 가상머신 각각에 대한 네트워크 부하를 분석하여 특정 가상 머신에 부하가 편중되는 경우에 트래픽을 다른 가상 머신으로 이관시키는 가상머신 부하 분석 모듈을 포함하는 실시간 스트리밍 서비스 시스템.
  9. 제8항에 있어서, 상기 가상머신 부하 분석 모듈은 현재 서비스중인 가상 머신 각각에 대해 추가로 서비스 가능한 세션 수를 확인하여 상기 SDN 컨트롤러에 또한 전달하는 실시간 스트리밍 서비스 시스템.
  10. 제5항에 있어서, 상기 트래픽 관리부는 상기 SDN 컨트롤러에 의해 모니터링되는 상기 복수의 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 상기 가상 머신과 상기 스위치간 커넥션 정보를 이용하여 상기 복수의 스위치 각각에 대한 부하를 산출하고 특정 스위치에 부하가 편중되는 경우에 상기 스위치와 가상머신간 세션 변경을 통해 부하 분산을 수행하는 스위치 부하 분석 모듈을 포함하는 실시간 스트리밍 서비스 시스템.
  11. 실시간 스트리밍 서비스를 제공하는 복수의 가상 머신이 실행되는 복수의 물리적 서버, 자원 모니터링 서버, 상기 복수의 물리적 서버에 연결되어 상기 가상 머신에 의해 제공되는 실시간 스트리밍 서비스 데이터의 송수신을 중계하는 복수의 SDN 스위치 및 상기 복수의 SDN 스위치의 데이터 전송 경로를 제어하고 상기 복수의 SDN 스위치를 통해 요청 및 송출되는 트래픽을 모니터링하는 SDN 컨트롤러를 포함하는 시스템에서 실시간 스트리밍 서비스를 제공하는 방법에 있어서, 상기 방법은,
    상기 SDN 컨트롤러에 의해 모니터링되는 서비스 요청 스트리밍 트래픽 총량 및 송출 스트리밍 트래픽 총량 정보, 복수의 SDN 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 상기 가상 머신과 상기 SDN 스위치간 커넥션 정보를 주기적으로 수집하는 단계와,
    상기 자원 모니터링 서버에 의해 모니터링되는 현재 서비스중인 가상 머신의 자원 사용량 정보를 주기적으로 수집하는 단계와,
    상기 수집된 요청 스트리밍 트래픽 총량 및 송출 스트리밍 트래픽 총량 정보와, 상기 현재 서비스중인 가상 머신의 자원 사용량에 근거하여 가상 머신의 추가 또는 삭제를 판단하는 단계와,
    상기 복수의 SDN 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 상기 가상 머신과 상기 SDN 스위치간 커넥션 정보와, 상기 가상 머신의 네트워크 사용량 정보를 이용하여 트래픽 분산을 수행하는 단계
    를 포함하는 실시간 스트리밍 서비스 제공 방법.
  12. 제11항에 있어서, 상기 가상머신의 추가 또는 삭제를 판단하는 단계는 제1 주기로 수행되고, 상기 트래픽 분산을 수행하는 단계는 상기 제1 주기보다 작거나 같은 제2 주기로 수행되는 실시간 스트리밍 서비스 제공 방법.
  13. 제11항에 있어서, 서비스 제공자로부터 상기 서비스 개시 및 종료시간, 초기 가상 머신 개수, 스트리밍 송출품질, 자원허용범위 및 예비 가상머신 개수중 적어도 하나를 입력받는 단계를 더 포함하는 실시간 스트리밍 서비스 제공 방법.
  14. 제13항에 있어서, 상기 가상머신의 추가 또는 삭제를 판단하는 단계는, 상기 SDN 컨트롤러에 의해 모니터링되는 상기 요청 스트리밍 트래픽 총량의 변화량 및 상기 송출 스트리밍 트래픽 총량의 변화량과 상기 서비스 제공자에 의해 입력되는 스트리밍 송출 품질에 기반하여 스트리밍 트래픽 증감량을 산출하고, 상기 산출된 트래픽 증감량에 따라 가상 머신의 추가/삭제 여부를 판단하는 실시간 스트리밍 서비스 제공 방법.
  15. 제14항에 있어서, 상기 가상머신의 추가 또는 삭제를 판단하는 단계는, 상기 산출된 트래픽 증감량 및 상기 자원 모니터링 서버에 의해 모니터링되는 상기 현재 서비스중인 가상 머신의 자원 사용량에 근거하여 추가/삭제될 가상 머신의 개수를 결정하는 단계를 더 포함하는 실시간 스트리밍 서비스 제공 방법.
  16. 제11항에 있어서, 가상머신을 추가하는 것으로 판단되면,
    가상 머신 생성을 위한 자동 프로비져닝을 실행하고, 추가된 가상머신과 메인 스트리밍 송출 서버와의 세션을 구성하는 단계;
    상기 추가된 가상머신의 서비스 투입이 결정되면, 상기 가상머신에 송출 트래픽이 분산되도록 SDN 컨트롤러에 알리는 단계
    를 더 포함하는 실시간 스트리밍 서비스 제공 방법.
  17. 제11항에 있어서, 가상머신을 삭제하는 것으로 판단되면,
    삭제대상 가상머신을 결정하는 단계;
    상기 삭제대상으로 결정된 가상머신이 현재 서비스중인지 검사하는 단계;
    현재 서비스중이라면, 상기 가상머신의 트래픽을 다른 가상머신으로 이관시키는 단계; 및
    상기 가상머신을 삭제하는 단계
    를 더 포함하는 실시간 스트리밍 서비스 제공 방법.
  18. 제11항에 있어서, 상기 트래픽 분산을 수행하는 단계는, 상기 자원 모니터링 서버에 의해 모니터링되는 상기 현재 서비스중인 가상 머신의 네트워크 사용율에 근거하여 상기 현재 서비스중인 가상머신 각각에 대한 네트워크 부하를 분석하고, 특정 가상머신에 부하가 편중되는 경우에 상기 가상머신의 트래픽을 다른 가상 머신으로 이관시키는 단계를 더 포함하는 실시간 스트리밍 서비스 제공 방법.
  19. 제11항에 있어서, 상기 트래픽 분산을 수행하는 단계는 상기 SDN 컨트롤러에 의해 모니터링되는 상기 복수의 스위치 각각에 대한 유입 및 유출 스트리밍 트래픽량 및 상기 가상 머신과 상기 스위치간 커넥션 정보를 이용하여 상기 복수의 스위치 각각에 대한 부하를 산출하고 특정 스위치가 부하가 편중되는 경우에 상기 스위치와 가상머신간 세션 변경을 통해 부하 분산을 수행하는 단계를 더 포함하는 실시간 스트리밍 서비스 제공 방법.
KR20130165862A 2013-12-27 2013-12-27 실시간 스트리밍 서비스를 제공하기 위한 시스템 및 방법 KR101485161B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130165862A KR101485161B1 (ko) 2013-12-27 2013-12-27 실시간 스트리밍 서비스를 제공하기 위한 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130165862A KR101485161B1 (ko) 2013-12-27 2013-12-27 실시간 스트리밍 서비스를 제공하기 위한 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101485161B1 true KR101485161B1 (ko) 2015-01-22

Family

ID=52592283

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130165862A KR101485161B1 (ko) 2013-12-27 2013-12-27 실시간 스트리밍 서비스를 제공하기 위한 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101485161B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101697289B1 (ko) * 2015-07-15 2017-01-17 광운대학교 산학협력단 Sdn 기반의 다중 무선 네트워크 통합 시스템 및 그 방법
KR20170042844A (ko) * 2015-10-12 2017-04-20 주식회사 엘지유플러스 트래픽 유실 방지장치 및 그 트래픽 유실 방지방법
KR20180122513A (ko) 2017-05-02 2018-11-13 고려대학교 산학협력단 Sdn 기반 네트워크 가상화 플랫폼의 네트워크 하이퍼바이저에서 트래픽 엔지니어링 방법 및 프레임워크
KR101978340B1 (ko) * 2017-12-27 2019-05-14 경희대학교 산학협력단 Sdn 기반의 통신 네트워크에서 액세스 포인트를 결정하는 방법
KR20200002115A (ko) * 2018-06-29 2020-01-08 주식회사 케이티 원격 컴퓨팅 시스템 및 원격 컴퓨팅 방법
KR102180038B1 (ko) * 2019-06-27 2020-11-17 국방과학연구소 전술 메쉬망 환경에서의 wan 노드 장치
US11563655B2 (en) 2020-04-28 2023-01-24 Korea University Research And Business Foundation Network monitoring apparatus and method thereof in programmable network virtualization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101080733B1 (ko) 2010-04-30 2011-11-07 주식회사 넥스알 규칙기반 가상머신의 동적 생성으로 부하를 분산하는 서버와 이를 이용한 자율적 부하분산 방법
US20130266007A1 (en) 2012-04-10 2013-10-10 International Business Machines Corporation Switch routing table utilizing software defined network (sdn) controller programmed route segregation and prioritization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101080733B1 (ko) 2010-04-30 2011-11-07 주식회사 넥스알 규칙기반 가상머신의 동적 생성으로 부하를 분산하는 서버와 이를 이용한 자율적 부하분산 방법
US20130266007A1 (en) 2012-04-10 2013-10-10 International Business Machines Corporation Switch routing table utilizing software defined network (sdn) controller programmed route segregation and prioritization

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101697289B1 (ko) * 2015-07-15 2017-01-17 광운대학교 산학협력단 Sdn 기반의 다중 무선 네트워크 통합 시스템 및 그 방법
WO2017010630A1 (ko) * 2015-07-15 2017-01-19 광운대학교 산학협력단 Sdn 기반의 다중 무선 네트워크 통합 시스템 및 그 방법
KR20170042844A (ko) * 2015-10-12 2017-04-20 주식회사 엘지유플러스 트래픽 유실 방지장치 및 그 트래픽 유실 방지방법
KR102518269B1 (ko) 2015-10-12 2023-04-06 주식회사 엘지유플러스 트래픽 유실 방지장치 및 그 트래픽 유실 방지방법
KR20180122513A (ko) 2017-05-02 2018-11-13 고려대학교 산학협력단 Sdn 기반 네트워크 가상화 플랫폼의 네트워크 하이퍼바이저에서 트래픽 엔지니어링 방법 및 프레임워크
KR101978340B1 (ko) * 2017-12-27 2019-05-14 경희대학교 산학협력단 Sdn 기반의 통신 네트워크에서 액세스 포인트를 결정하는 방법
WO2019132156A1 (ko) * 2017-12-27 2019-07-04 경희대학교 산학협력단 Sdn 기반의 통신 네트워크에서 액세스 포인트를 결정하는 방법
KR20200002115A (ko) * 2018-06-29 2020-01-08 주식회사 케이티 원격 컴퓨팅 시스템 및 원격 컴퓨팅 방법
KR102158856B1 (ko) 2018-06-29 2020-09-23 주식회사 케이티 원격 컴퓨팅 시스템 및 원격 컴퓨팅 방법
KR102180038B1 (ko) * 2019-06-27 2020-11-17 국방과학연구소 전술 메쉬망 환경에서의 wan 노드 장치
US11563655B2 (en) 2020-04-28 2023-01-24 Korea University Research And Business Foundation Network monitoring apparatus and method thereof in programmable network virtualization

Similar Documents

Publication Publication Date Title
KR101485161B1 (ko) 실시간 스트리밍 서비스를 제공하기 위한 시스템 및 방법
EP3044918B1 (en) Network-based adaptive rate limiting
EP2845347B1 (en) Congestion control in packet data networking
CN109787921B (zh) Cdn带宽调度方法、采集及调度服务器和存储介质
CN110932989B (zh) 一种基于sdn数据中心网络的大象流路径监控调度方法
EP2656549B1 (en) Communications network management
US9998338B2 (en) System and method for dynamic effective rate estimation for real-time video traffic
EP2996285B1 (en) Scheduling method, apparatus and system
US20150063349A1 (en) Programmable switching engine with storage, analytic and processing capabilities
Parsaei et al. A new adaptive traffic engineering method for telesurgery using ACO algorithm over software defined networks
US20110246658A1 (en) Data exchange optimization in a peer-to-peer network
CN109617810B (zh) 数据传输方法及装置
Zahran et al. SAP: Stall-aware pacing for improved DASH video experience in cellular networks
KR20170033179A (ko) 소프트웨어 정의 네트워크 기반 가상 네트워크 사용 대역폭 관리 방법 및 가상 네트워크 관리장치
JP6131203B2 (ja) 装置選択ネットワークシステム、装置選択サーバおよびプログラム
JP7200534B2 (ja) ネットワーク制御装置、ネットワーク制御方法及びプログラム
JP6645864B2 (ja) トラフィック最適化装置およびトラフィック最適化方法
Tkachova et al. A load balancing algorithm for SDN
JP6276206B2 (ja) 帯域割り当て制御装置及び帯域割り当て制御方法
Nepolo et al. A predictive ECMP routing protocol for fat-tree enabled data centre networks
KR101758065B1 (ko) 부하분산 시스템, 그 제어방법 및 이를 수행하기 위한 기록매체
KR20120055947A (ko) 가입자 인지 플로우별 QoS 제공 방법 및 장치
KR102025426B1 (ko) Sdn 기반의 통신 노드에서의 트래픽 과적에 따른 서비스 품질 저하를 해소하기 위한 대역폭 제어 방법 및 장치
Kalan et al. Implementation of sand architecture using sdn
Su et al. Comparative Analysis of Video Streaming in Software Defined Networking

Legal Events

Date Code Title Description
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: 20190102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 6