KR102421633B1 - 자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치 - Google Patents

자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치 Download PDF

Info

Publication number
KR102421633B1
KR102421633B1 KR1020210121276A KR20210121276A KR102421633B1 KR 102421633 B1 KR102421633 B1 KR 102421633B1 KR 1020210121276 A KR1020210121276 A KR 1020210121276A KR 20210121276 A KR20210121276 A KR 20210121276A KR 102421633 B1 KR102421633 B1 KR 102421633B1
Authority
KR
South Korea
Prior art keywords
distribution
software
time
resource usage
service equipment
Prior art date
Application number
KR1020210121276A
Other languages
English (en)
Other versions
KR20210116394A (ko
Inventor
최태일
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020210121276A priority Critical patent/KR102421633B1/ko
Publication of KR20210116394A publication Critical patent/KR20210116394A/ko
Application granted granted Critical
Publication of KR102421633B1 publication Critical patent/KR102421633B1/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/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

일 실시예에 따른 소프트웨어 배포 스케줄링 장치가 수행하는 소프트웨어 배포 스케줄링 방법은, 복수의 서비스 장비를 포함하는 네트워크에서 각 서비스 장비에 대하여 최대 허용 가능한 자원 사용량의 임계값을 설정하는 단계와, 상기 네트워크에서 적어도 하나의 타겟 노드에 대해 배포될 소프트웨어를 설정하는 단계와, 상기 소프트웨어의 배포에 소요되는 배포 예상시간을 산출하는 단계와, 상기 배포 예상시간을 단위로 하여, 상기 각 서비스 장비의 과거 시간별 자원 사용량이 모두 상기 임계값을 초과하지 않는 단위 시간 구간을 검색하는 단계와, 상기 검색된 단위 시간 구간을 상기 타겟 노드에 대한 상기 소프트웨어의 배포 수행 시간으로 선정하는 단계를 포함한다.

Description

자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치{METHOD AND APPARATUS FOR SCHEDULING DEPLOYMENT OF SOFTWARE BASED ON RESOURCE USAGES}
본 발명은 자원 사용량에 따른 소프트웨어 배포 자동 스케줄링에 관한 것으로, 보다 상세하게는 네트워크 트래픽 등의 자원 사용량에 대한 제어가 필요한 데이터센터 등의 환경에서 소프트웨어 배포 수행 시, 기존 서비스 장비들의 시간대별 자원 사용량 통계에 근거하여 네트워크상 자원 사용량이 상대적으로 가장 낮은 것으로 평가되는 최적의 시간에 배포가 수행되도록 하고, 실제 소프트웨어 배포시에도 서비스 장비들의 실시간 자원 사용량이 미리 정의된 임계점을 넘지 않는 범위 내에서 배포를 순차적으로 수행하는 자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치에 관한 것이다.
일반적으로 프로비저닝(provisioning)은 특정 서비스를 제공받기 위하여 서비스 설치부터 시작해 서비스 환경 구성 및 실행 등 서비스를 제공받기 전 단계까지 처리되는 일련의 절차를 말한다.
이러한 프로비저닝 중 소프트웨어(software: S/W)를 시스템에 설치하고 필요한 모든 구성 및 설정 작업을 해서 소프트웨어가 실행될 수 있는 환경을 갖추는 과정을 소프트웨어 프로비저닝이라 부른다.
한편, 이러한 소프트웨어 프로비저닝에 있어서 많은 서비스를 운영하고 있는 데이터센터 등의 환경에서는 네트워크 트래픽 등의 자원 사용량을 일정 임계값 이하로 유지하는 것이 서비스의 QoS 유지에 있어서 매우 중요하다.
예를 들어 네트워크 트래픽이나 디스크 이용률 등의 자원 사용량이 일시적으로 과도하게 증가하게 되면 최악의 경우 서비스의 장애로 이어질 수도 있기 때문이다.
따라서, 이러한 환경에서 다수의 서비스 노드에 OS나 기타 소프트웨어를 배포하기 위해서는 위와 같은 자원 사용량에 있어서의 제한사항을 고려하여 배포 작업 스케줄링을 해야 하는데 대규모의 서버가 운영되고 있는 실제 서비스 환경에서는 이러한 과정이 매우 복잡하므로 사람이 일일이 판단하여 스케줄링을 수행하는 것은 어려운 문제점이 있었다.
대한민국 공개특허공보 10-2006-0072422호(공개일자 2006년 6월 28일)
따라서, 본 발명에서는 네트워크 트래픽 등의 자원 사용량에 대한 제어가 필요한 데이터센터 등의 환경에서 소프트웨어 배포 수행 시, 기존 서비스 장비들의 시간대별 자원 사용량 통계에 근거하여 네트워크상 자원 사용량이 상대적으로 가장 낮은 것으로 평가되는 최적의 시간에 배포가 수행되도록 하고, 실제 소프트웨어 배포시에도 서비스 장비들의 실시간 자원 사용량이 미리 정의된 임계점을 넘지 않는 범위 내에서 배포를 순차적으로 수행하는 자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치를 제공하고자 한다.
제 1 관점에 따른 소프트웨어 배포 스케줄링 장치가 수행하는 소프트웨어 배포 스케줄링 방법은, 복수의 서비스 장비를 포함하는 네트워크에서 각 서비스 장비에 대하여 최대 허용 가능한 자원 사용량의 임계값을 설정하는 단계와, 상기 네트워크에서 적어도 하나의 타겟 노드에 대해 배포될 소프트웨어를 설정하는 단계와, 상기 소프트웨어의 배포에 소요되는 배포 예상시간을 산출하는 단계와, 상기 배포 예상시간을 단위로 하여, 상기 각 서비스 장비의 과거 시간별 자원 사용량이 모두 상기 임계값을 초과하지 않는 단위 시간 구간을 검색하는 단계와, 상기 검색된 단위 시간 구간을 상기 타겟 노드에 대한 상기 소프트웨어의 배포 수행 시간으로 선정하는 단계를 포함한다.
제 2 관점에 따른 소프트웨어 배포 스케줄링 장치는, 복수의 서비스 장비를 포함하는 네트워크에서 각 서비스 장비에 대하여 사용 가능한 자원 사용량의 임계값과 상기 네트워크에서 적어도 하나의 타겟 노드로 배포할 소프트웨어를 설정하는 배포 설정부와, 상기 타겟 노드로 상기 소프트웨어를 배포하는데 소요되는 배포 예상시간을 산출하고, 상기 배포 예상시간을 단위로 하여, 상기 각 서비스 장비의 과거 시간별 자원 사용량이 모두 상기 임계값을 초과하지 않는 단위 시간 구간을 상기 타겟 노드에 대한 상기 소프트웨어의 배포 수행 시간을 선정하는 스케줄러를 포함한다.
본 발명에 따르면, 자원 사용량에 따른 소프트웨어 배포 자동 스케줄링에 있어서, 네트워크 트래픽 등의 자원 사용량에 대한 제어가 필요한 데이터센터 등의 환경에서 소프트웨어 배포 수행 시, 기존 서비스 장비들의 시간대별 자원 사용량 통계에 근거하여 네트워크상 자원 사용량이 상대적으로 가장 낮은 것으로 평가되는 최적의 시간에 배포가 수행되도록 하고, 실제 소프트웨어 배포시에도 서비스 장비들의 실시간 자원 사용량이 미리 정의된 임계점을 넘지 않는 범위 내에서 배포를 순차적으로 수행하는 자동 스케줄링을 가능하게 함으로써, 사용자가 복잡한 조건을 고려하여 배포 시간을 결정할 필요가 없어지게 되는 이점이 있다.
또한, 사용자의 수작업으로 인한 실수를 미연에 방지할 수 있게 되며, 실제 통계 데이터 및 실시간 사용량에 근거하여 배포를 수행함으로써, 실제 소프트웨어의 배포 시의 트래픽 발생 등으로 인해 기존 서비스 노드의 서비스의 QoS에 영향을 주거나 장애가 초래되는 것을 방지시킬 수 있는 이점이 있다.
도 1은 본 발명의 실시예에 따른 자원 사용량을 고려한 소프트웨어 배포 스케줄링 장치의 상세 블록 구성도,
도 2는 본 발명의 실시예에 따라 각 서비스 장비에서 과거 자원 사용량의 임계값 초과 여부를 단위 시간 구간으로 정렬시킨 매트릭스 예시도,
도 3은 본 발명의 실시예에 따라 자원 사용량을 고려하여 소프트웨어 배포를 스케줄링하는 동작 제어 흐름도,
도 4는 본 발명의 실시예에 따른 자원 사용량을 고려한 소프트웨어 배포 스케줄링에 따라 소프트웨어를 배포하는 동작 제어 흐름도.
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 실시예에 따른 자원 사용량을 고려한 소프트웨어 배포 스케줄링 장치(100)의 상세 블록 구성을 도시한 것으로, 자원 모니터부(105), 배포 설정부(110), 스케줄러(scheduler)(120), 배포부(deployer)(130) 등을 포함할 수 있다.
이하, 위 도 1을 참조하여 본 발명의 소프트웨어 배포 스케줄링 장치(100)의 각 구성요소에서의 동작을 상세히 설명하기로 한다.
먼저, 자원 모니터부(105)는 네트워크상 복수의 서비스 장비(148)에서 측정되는 자원 사용량을 모니터링(monitoring)한다. 이때, 이러한 서비스 장비(148)는 예를 들어 서비스 노드(서버 등)(140, 141)나 스위치(142), 공유 디스크(144) 등을 의미할 수 있으나, 이에 한정되는 것은 아니다. 또한, 자원 모니터부(105)는 위와 같이 각 서비스 장비(148) 즉, 서비스 노드(140, 141), 스위치(142) 및 공유 디스크(144) 등의 자원 사용량을 계속 모니터링하면서 특정 기간 동안의 과거 자원 사용량 정보를 보관한다. 이때, 특정 기간은 예를 들어 현재 시점부터 과거의 3개월, 1개월, 1주일 동안 등의 기간을 의미할 수 있으나, 이에 한정되는 것은 아니다. 또한, 이때, 이러한 자원 사용량은 서비스 노드(140, 141)간의 RTT(round-trip time), 스위치(142)의 프로세서(processor)의 이용률, 또는 네트워크 상의 공유 디스크(144) 등의 디스크 이용률 또는 IOPS(초당 입출력량) 등이 될 수 있다.
배포 설정부(110)는 서비스 노드(140, 141), 스위치(142) 및 공유 디스크(144) 등에서 사용 가능한 자원 사용량의 임계값을 설정하며, 타겟 노드(150, 152, 154)에 배포할 소프트웨어에 대한 정보를 설정한다.
이때, 이러한 임계값은 시스템에서 제공하는 자원에 대해 서비스 노드(140, 141), 스위치(142) 및 공유 디스크(144) 등에서 최대 허용 가능한 자원 사용량을 의미할 수 있으며, 이러한 임계값은 전체 시스템의 운영에 문제가 발생하지 않도록 미리 추정되어 시스템 관리자 등에 의해 입력될 수 있으나 이에 한정되는 것은 아니다. 즉, 예를 들어 임계값 설정은 서비스 노드(140, 141) 간의 RTT 값이나, 스위치(142)의 프로세서 이용률, 공유 디스크(144)의 IOPS 등이 전체 시스템의 정상 운영에 영향을 미치지 않도록 하는 범위 내에서 관리자에 의해 설정될 수 있다.
또한, 이러한 소프트웨어에 대한 정보는 네트워크상 타겟 노드(150, 152, 154)로 배포 작업을 수행하여야 하는 소프트웨어의 목록을 의미할 수 있으며, 이러한 소프트웨어의 목록이 시스템 관리자 등에 의해 선택되는 경우, 배포 설정부(110)에서 이를 인식하여 타겟 노드(150, 152, 154)에 배포할 소프트웨어에 대한 정보로 사용할 수 있다. 이때, 타겟 노드(150, 152, 154)로 배포할 소프트웨어가 네트워크상 소프트웨어 목록에 없는 새로운 소프트웨어인 경우 관리자 등은 해당 소프트웨어의 이름과 배포 스크립트(script)를 입력하여 등록 요청할 수 있으며, 이에 따라 배포 설정부(110)에서는 새로운 소프트웨어 이름과 배포 스크립트 정보를 입력받아 타겟 노드(150, 152, 154)에 배포할 소프트웨어로 등록할 수 있다.
스케줄러(120)는 네트워크상 소프트웨어의 배포가 필요한 적어도 하나의 타겟 노드(150, 152, 154)에 대해 해당 소프트웨어의 배포에 소요되는 배포 예상시간을 산출한다. 또한, 이와 같이 산출한 배포 예상시간과 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 과거 시간별 자원 사용량 정보를 기반으로 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시간을 선정한다.
즉, 스케줄러(120)는 관리자 등에 의해 선택된 각 소프트웨어의 배포 예상시간을 합산하여 총 배포 예상 시간(Td)를 산출하고, 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량 통계에 근거하여 타켓 노드(150, 152, 154)로 소프트웨어를 배포할 최적의 시간대(time slot)를 찾아 자동으로 스케줄링을 수행한다.
이때, 스케줄러(120)에서 소프트웨어를 배포할 최적의 시간대 즉, 최적의 소프트웨어 배포 수행 시간을 선정함에 있어서, 먼저, 스케줄러(120)는 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량에 대한 정보를 배포 예상시간의 단위로 정렬시킨다. 이어, 스케줄러(120)는 정렬된 단위 시간 구간(Td) 중 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량이 모두 임계값을 초과하지 않는 단위 시간 구간을 검색한 후, 검색된 단위 시간 구간을 소프트웨어를 배포할 최적의 시간대로 인식하여 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시간으로 선정할 수 있다.
이때, 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량이 모두 임계값을 초과하지 않는 단위 시간 구간이 둘 이상 존재하는 경우, 예를 들어 각 단위 시간 구간에 대해 자원 항목별 서로 다른 값으로 부여된 가중치를 기반으로 네트워크상 가장 자원 사용량이 낮은 것으로 평가되는 단위 시간 구간을 찾아내어 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시간으로 선정할 수 있다.
도 2는 본 발명의 실시예에 따라 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서 과거 자원 사용량의 임계값 초과 여부를 단위 시간 구간으로 정렬시킨 매트릭스(matrix)를 예시한 것이다.
한편, 위 도 2에서는 편의상 1개의 서비스 노드(140), 스위치(142) 및 공유디스크(144)를 예시하였으며, 자원 항목을 서비스 노드간 RTT, 스위치(142)의 프로세서 이용률, 공유 디스크(144)의 디스크 이용률 등 3개의 항목으로 예시하여 해당 값들이 각각의 자원 항목에 대해 선정된 임계값을 초과하는지에 대한 정보를 예시하였으나, 이는 설명의 편의를 위한 것일 뿐, 이에 한정되는 것은 아니다.
즉, 단위 시간 구간(Td)이 예를 들어 30분이라고 가정하는 경우 위 도 2에서와 같이 서비스 노드(140), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량에 대한 정보가 30분 단위로 정렬되어 표시될 수 있으며, 이때, 30분 단위로 구분된 다수의 단위 시간 구간 중 서비스 노드(140), 스위치(142), 공유 디스크(144) 등에서의 자원 항목별 과거 자원 사용량이 모두 임계값을 초과하지 않는 단위 시간 구간이 제1 구간(200), 제2 구간(202), 제3 구간(204) 등으로 검색된 것을 표시하고 있다. 위 도 2에서 N은 임계값을 초과하지 않은 것을 표시할 수 있으며, Y는 임계값을 초과한 것을 표시할 수 있다.
따라서, 스케줄러(120)는 위와 같이 검색된 제1 구간(200), 제2 구간(202), 제3 구간(204)을 타겟 노드(150, 152, 154)로 소프트웨어를 배포할 후보 시간대로 인식하여 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시간으로 선정할 수 있다.
한편, 위와 같이, 서비스 노드(140), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량이 모두 임계값을 초과하지 않는 단위 시간 구간이 제1 구간(200), 제2 구간(202), 제3 구간(204) 등으로 둘 이상 검색된 경우, 스케줄러(120)는 각 단위 시간 구간에 대해 서비스 노드(140), 스위치(142), 공유 디스크(144) 등에서의 자원 항목별 서로 다른 값으로 부여된 가중치를 기반으로 네트워크상 가장 자원 사용량이 낮은 것으로 평가되는 단위 시간 구간을 찾아내어 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시간으로 선정할 수 있다.
이때, 위와 같은 자원 항목에는 본 발명의 실시예에 따라 네트워크의 운영상 미치는 중요도를 고려하여 서로 다른 가중치가 설정될 수 있으며, 가장 큰 영향을 미칠 수 있는 자원에 상대적으로 더 큰 가중치가 설정되도록 할 수 있다. 따라서 예를 들어 프로세서 이용률에 가장 큰 가중치가 부여된 경우 제1 구간(200), 제2 구간(202), 제3 구간(204)의 단위 시간 구간 중 프로세서 이용률이 가장 낮은 단위 시간 구간이 네트워크상 가장 자원 사용량이 낮은 것으로 평가되어 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시간으로 선정할 수 있는 것이다.
또한, 스케줄러(120)는 위와 같은 배포 예상시간을 산출함에 있어서, 타겟 노드(150, 152, 154)에 배포 요청된 소프트웨어가 과거에 배포 이력이 있는 경우 과거 배포에 소요된 시간을 가져와서 배포 예상시간으로 사용할 수 있으며, 배포 요청된 소프트웨어가 과거에 배포 이력이 없는 경우에는 해당 소프트웨어의 배포 스크립트 등을 분석하여 배포 예상시간을 추정할 수 있다.
이때, 배포 예상시간을 추정함에 있어서, 스케줄러(120)는 예를 들어 배포 스크립트내 포함된 패키지 설치, 환경 설정, 권한 설정 등의 단위 기능들 각각을 실행하는데 소요되는 예상 시간을 기존 통계치로부터 구한 후, 각 단위 기능별 예상 소요 시간을 합산하여 소프트웨어의 배포 예상시간을 추정할 수 있다.
배포부(130)는 스케줄러(120)에 의해 설정된 소프트웨어 배포 수행 시점이 되면 해당 소프트웨어를 타겟 노드(150, 152, 154)로 실제 배포하는 작업을 수행한다.
또한, 배포부(130)는 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시 네트워크 상 서비스 노드(140, 141), 스위치(142) 및 공유 디스크(144) 등의 자원 사용량을 실시간으로 검사하고, 검사결과 해당 자원 사용량이 임계값을 초과하는 경우 타겟 노드(150, 152, 154)에 대한 소프트웨어 배포 수행을 일시 중지시킨 후, 자원 사용량이 임계값 이하로 내려가는 경우 배포를 재개시킬 수 있다.
즉, 배포부(130)는 모든 타겟 노드에 한꺼번에 소프트웨어 배포를 수행하는 것이 아니라 네트워크상 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 자원 사용량이 임계값 이하인지 실시간으로 계속 모니터링하면서 임계값 이상일 경우에는 일정 시간 대기하고, 임계값 이하일 경우에만 추가로 소프트웨어 배포 작업이 이루어지지 않은 일정 개수의 다른 타겟 노드에 소프트웨어 배포 작업을 수행할 수 있다.
도 3은 본 발명의 실시예에 따라 자원 사용량을 고려하여 소프트웨어 배포를 스케줄링하는 동작 제어 흐름을 도시한 것이다. 이하, 도 1 내지 도 3을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.
먼저, 스케줄링 장치(100)의 배포 설정부(110)에서 네트워크상 각 서비스 장비(148) 즉, 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서 최대 허용 가능한 자원 사용량의 임계값을 설정한다(S300).
이때, 이러한 임계값은 시스템에서 제공하는 자원에 대해 서비스 노드(140, 141), 스위치(142) 및 공유 디스크(144) 등에서 최대 허용 가능한 자원 사용량을 의미할 수 있으며, 이러한 임계값은 전체 시스템의 운영에 문제가 발생하지 않도록 미리 추정되어 시스템 관리자 등에 의해 입력될 수 있다.
이와 같이 관리자 등에 의해 임계값이 입력되는 경우 배포 설정부(110)에서 이를 인식하여 네트워크상 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서 최대 허용 가능한 자원 사용량의 임계값을 설정할 수 있다.
이어, 위와 같이 자원 사용량에 대한 임계값을 설정하는 경우 배포 설정부(110)는 타겟 노드에 배포할 소프트웨어에 대한 정보를 설정한다(S302).
이때, 이러한 소프트웨어에 대한 정보는 네트워크상 타겟 노드(150, 152, 154)로 배포 작업을 수행하여야 하는 소프트웨어의 목록을 의미할 수 있으며, 이러한 소프트웨어의 목록이 시스템 관리자 등에 의해 선택되는 경우, 배포 설정부(110)에서 이를 인식하여 타겟 노드(150, 152, 154)에 배포할 소프트웨어에 대한 정보로 사용할 수 있다.
이때, 타겟 노드(150, 152, 154)로 배포할 소프트웨어가 네트워크상 소프트웨어 목록에 없는 새로운 소프트웨어인 경우 관리자 등은 해당 소프트웨어의 이름과 배포 스크립트를 입력하여 등록 요청할 수 있으며, 이에 따라 배포 설정부(110)에서는 새로운 소프트웨어 이름과 배포 스크립트 정보를 입력받아 타겟 노드(150, 152, 154)에 배포할 소프트웨어로 등록할 수 있다.
위와 같이 배포 설정부(110)를 통해 임계값 설정과 타겟 노드(150, 152, 154)로 배포할 소프트웨어에 대한 정보가 설정되는 경우, 이러한 임계값 설정과 타겟 노드(150, 152, 154)로 배포할 소프트웨어에 대한 정보는 스케줄러(120)로 제공될 수 있다.
그러면, 스케줄러(120)는 타겟 노드(150, 152, 154)로 배포 요청된 소프트웨어가 과거에 배포된 이력이 있는지 여부를 검사한다(S304).
이때, 타겟 노드(150, 152, 154)에 배포 요청된 소프트웨어가 과거에 배포 이력이 있는 경우 스케줄러(120)는 과거 배포에 소요된 시간을 가져와서 배포 예상시간으로 사용할 수 있다(S306).
그러나, 이와 달리, 배포 요청된 소프트웨어가 과거에 배포 이력이 없는 경우 스케줄러(120)는 해당 소프트웨어의 배포 스크립트 등을 분석하여 배포 예상시간을 추정할 수 있다(S308). 이때, 배포 예상시간을 추정함에 있어서, 스케줄러(120)는 예를 들어 배포 스크립트내 포함된 패키지 설치, 환경 설정, 권한 설정 등의 단위 기능들 각각을 실행하는데 소요되는 예상 시간을 기존 통계치로부터 구한 후, 각 단위 기능별 예상 소요 시간을 합산하여 소프트웨어의 배포 예상시간을 추정할 수 있으나, 이에 한정되는 것은 아니다.
이어, 위와 같이 배포 요청된 각각의 소프트웨어에 대한 배포 예상시간을 산출한 경우, 스케줄러(120)는 관리자 등에 의해 선택된 각 소프트웨어의 배포 예상시간을 합산하여 총 배포 예상 시간(Td)를 산출한다(S310).
위와 같이 총 배포 예상 시간을 산출한 경우, 스케줄러(120)는 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량 통계에 근거하여 타켓 노드(150, 152, 154)로 소프트웨어를 배포할 최적의 시간대(time slot)를 찾아낸다(S312).
이때, 위와 같이 스케줄러(120)에서 소프트웨어를 배포할 최적의 시간대 즉, 최적의 소프트웨어 배포 수행 시간을 선정함에 있어서, 먼저, 스케줄러(120)는 서비스 노드(140, 141), 스위치(142), 공유 디스크(144)등에서의 과거 자원 사용량에 대한 정보를 총 배포 예상시간의 단위로 정렬시킨다.
이어, 스케줄러(120)는 정렬된 단위 시간 구간(Td) 중 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량이 모두 임계값을 초과하지 않는 단위 시간 구간을 검색한 후, 검색된 단위 시간 구간을 소프트웨어를 배포할 후보 시간대로 인식하여 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시간으로 선정할 수 있다.
또한, 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량이 모두 임계값을 초과하지 않는 단위 시간 구간이 둘 이상 존재하는 경우, 위 도 2에서 설명한 바와 같이 각 단위 시간 구간에 대해 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 자원 항목별 서로 다른 값으로 부여된 가중치를 기반으로 네트워크상 가장 자원 사용량이 낮은 것으로 평가되는 단위 시간 구간을 찾아내어 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시간으로 선정할 수 있다.
이어, 스케줄러(120)는 위와 같이 타겟 노드(150, 152, 154)로 소프트웨어를 배포할 최적의 배포 수행시간이 검색되는지 여부를 검사하고(S314), 배포 수행시간이 검색되지 않는 경우 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에 대한 자원 사용량 임계값이 조정되도록 한 후(S316), (S312) 내지 (S314)단계를 반복 수행하게 된다.
이와 달리, 타겟 노드(150, 152, 154)로 소프트웨어를 배포할 최적의 배포 수행시간이 검색된 경우 스케줄러(120)는 배포 수행시간을 배포부(130)로 인가하여 해당 배포 수행시간에 배포가 수행되도록 스케줄링할 수 있다(S318).
도 4는 본 발명의 실시예에 따른 자원 사용량을 고려한 소프트웨어 배포 스케줄링에 따라 소프트웨어를 배포하는 동작 제어 흐름을 도시한 것이다. 이하, 도 1 내지 도 4를 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.
위 도 3에서와 같이 스케줄링 장치(100)의 스케줄러(120)에서 타겟 노드(150, 152, 154)로 소프트웨어를 배포할 최적의 배포 수행시간이 선정되는 경우, 이러한 배포 수행시간에 대한 정보가 배포부(130)로 인가될 수 있다.
그러면, 배포부(130)는 스케줄러(120)에 의해 설정된 타겟 노드(150, 152, 154)에 대한 소프트웨어 배포 수행 시간 정보를 참조하여 배포 수행 시간이 되는 경우 일정 개수의 타겟 노드(150, 152, 154)로 해당 소프트웨어를 배포하는 작업을 수행한다(S400).
이어, 배포부(130)는 위와 같이 타겟 노드(150, 152, 154)에 대한 소프트웨어 배포를 수행한 후, 소프트웨어를 배포해야할 타겟 노드(150, 152, 154)가 남아있는지를 검사한다(S402).
이때, 타겟 노드(150, 152, 154)가 남아 있는 경우 배포부(130)는 남아 있는 타겟 노드(150, 152, 154)에 대해 곧바로 다시 소프트웨어 배포를 수행하기 전에 네트워크상 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 자원 사용량을 실시간으로 모니터링하여, 자원 사용량이 임계값을 초과하는지 여부를 검사한다(S404).
이때 만일 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 자원 사용량이 임계값을 초과하지 않는 경우 배포부(130)는 남아 있는 타겟 노드(150, 152, 154) 중 일정 개수의 노드로 소프트웨어를 배포한다(S400).
그러나, 이와 달리 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 자원 사용량이 임계값을 초과하는 경우 배포부(130)는 타겟 노드(150, 152, 154)에 대한 소프트웨어 배포 수행을 일시 중지시킨 후, 일정 시간동안 대기한다(S406).
이어, 배포부(130)는 위와 같이 일정 시간동안 대기한 후, 다시 네트워크상 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 자원 사용량이 임계값을 초과하는지 여부를 검사하여(S404) 임계값을 초과하지 않는 경우 남아 있는 타겟 노드(150, 152, 154)로 소프트웨어를 배포하는 과정을 반복하게 된다.
상기한 바와 같이, 본 발명에 따르면, 자원 사용량에 따른 소프트웨어 배포 자동 스케줄링에 있어서, 네트워크 트래픽 등의 자원 사용량에 대한 제어가 필요한 데이터센터 등의 환경에서 소프트웨어 배포 수행 시, 기존 서비스 장비들의 시간대별 자원 사용량 통계에 근거하여 네트워크상 자원 사용량이 상대적으로 가장 낮은 것으로 평가되는 최적의 시간에 배포가 수행되도록 하고, 실제 소프트웨어 배포시에도 서비스 장비들의 실시간 자원 사용량이 미리 정의된 임계점을 넘지 않는 범위 내에서 배포를 순차적으로 수행하는 자동 스케줄링이 가능하게 된다.
한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
본 발명의 실시예에 따른 자원 사용량에 따른 소프트웨어 배포 자동 스케줄링을 적용하는 경우, 사용자가 복잡한 조건을 고려하여 배포 시간을 결정할 필요가 없어지게 되어 소프트웨어 배포 스케줄링이 보다 효율적으로 이루어질 수 있게 된다.
105: 자원 모니터부 110: 배포 설정부
120: 스케줄러 130: 배포부
140, 141: 서비스 노드 142: 스위치
144: 공유 디스크 150, 152, 154: 타겟 노드

Claims (8)

  1. 소프트웨어 배포 스케줄링 장치가 수행하는 소프트웨어 배포 스케줄링 방법으로서,
    복수의 서비스 장비를 포함하는 네트워크에서 각 서비스 장비에 대하여 최대 허용 가능한 자원 사용량의 임계값을 설정하는 단계와,
    상기 네트워크에서 적어도 하나의 타겟 노드에 대해 배포될 소프트웨어를 설정하는 단계와,
    상기 소프트웨어의 배포에 소요되는 배포 예상시간을 산출하는 단계와,
    상기 배포 예상시간을 단위로 하여, 상기 각 서비스 장비의 과거 시간별 자원 사용량이 모두 상기 임계값을 초과하지 않는 단위 시간 구간을 검색하는 단계와,
    상기 검색된 단위 시간 구간을 상기 타겟 노드에 대한 상기 소프트웨어의 배포 수행 시간으로 선정하는 단계
    를 포함하는 소프트웨어 배포 스케줄링 방법.
  2. 제 1 항에 있어서,
    상기 배포 예상시간을 산출한 후 상기 단위 시간 구간을 검색하기 전에, 과거 자원 사용량 통계에 근거한 상기 각 서비스 장비의 과거 시간별 자원 사용량에 대한 정보를 상기 배포 예상시간의 단위로 정렬시키는 단계
    를 더 포함하는 소프트웨어 배포 스케줄링 방법.
  3. 제 2 항에 있어서,
    상기 정렬시키는 단계는 상기 각 서비스 장비의 자원 항목별 자원 사용량을 상기 단위 시간 구간으로 정렬시키고,
    상기 검색하는 단계는 상기 각 서비스 장비의 상기 자원 항목별 자원 사용량이 각 자원 항목에 설정된 임계값보다 모두 낮은 후보 단위 시간 구간을 검색하며,
    상기 선정하는 단계는 상기 후보 단위 시간 구간이 둘 이상인 경우 상기 자원 항목별 서로 다른 값으로 부여된 가중치를 기반으로 가장 자원 사용량이 낮은 것으로 평가되는 하나의 단위 시간 구간을 최종 선정하는
    소프트웨어 배포 스케줄링 방법.
  4. 제 1 항에 있어서,
    상기 방법은,
    상기 선정된 상기 배포 수행 시간에 상기 타겟 노드에 대한 상기 소프트웨어의 배포를 수행하는 단계와,
    상기 배포 수행 시 상기 각 서비스 장비의 자원 사용량을 실시간으로 모니터링하는 단계와,
    상기 모니터링의 결과 상기 각 서비스 장비의 자원 사용량이 상기 임계값을 초과하는 경우 상기 배포 수행을 일시 중지시키되, 상기 자원 사용량이 상기 임계값 이하로 내려가는 경우 상기 배포 수행을 재개시키는 단계
    를 포함하는 소프트웨어 배포 스케줄링 방법.
  5. 제 1 항에 있어서,
    상기 배포 예상시간을 산출하는 단계는,
    상기 소프트웨어가 과거에 배포 이력이 있는 경우 과거 배포에 수행된 시간을 상기 배포 예상시간으로 사용하는 단계와,
    상기 소프트웨어가 과거에 배포 이력이 없는 경우에는 상기 소프트웨어의 배포 스크립트를 분석하여 상기 배포 예상시간을 추정하는 단계
    를 포함하는 소프트웨어 배포 스케줄링 방법.
  6. 복수의 서비스 장비를 포함하는 네트워크에서 각 서비스 장비에 대하여 사용 가능한 자원 사용량의 임계값과 상기 네트워크에서 적어도 하나의 타겟 노드로 배포할 소프트웨어를 설정하는 배포 설정부와,
    상기 타겟 노드로 상기 소프트웨어를 배포하는데 소요되는 배포 예상시간을 산출하고, 상기 배포 예상시간을 단위로 하여, 상기 각 서비스 장비의 과거 시간별 자원 사용량이 모두 상기 임계값을 초과하지 않는 단위 시간 구간을 상기 타겟 노드에 대한 상기 소프트웨어의 배포 수행 시간을 선정하는 스케줄러
    를 포함하는 소프트웨어 배포 스케줄링 장치.
  7. 제 6 항에 있어서,
    상기 스케줄러는, 상기 배포 예상시간을 산출한 후 상기 단위 시간 구간을 검색하기 전에, 과거 자원 사용량 통계에 근거한 상기 각 서비스 장비의 과거 시간별 자원 사용량에 대한 정보를 상기 배포 예상시간의 단위로 정렬시키는
    소프트웨어 배포 스케줄링 장치.
  8. 제 7 항에 있어서,
    상기 장치는,
    상기 선정된 배포 수행 시간에 상기 타겟 노드에 대한 상기 소프트웨어의 배포를 수행하는 배포부를 더 포함하며,
    상기 배포부는, 상기 배포 수행 시 상기 각 서비스 장비의 자원 사용량을 실시간으로 모니터링하고, 상기 각 서비스 장비의 자원 사용량이 상기 임계값을 초과하는 경우 상기 배포를 일시 중지시키되, 상기 자원 사용량이 상기 임계값 이하로 내려가는 경우 상기 배포를 재개시키는 소프트웨어 배포 스케줄링 장치.
KR1020210121276A 2015-11-09 2021-09-10 자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치 KR102421633B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210121276A KR102421633B1 (ko) 2015-11-09 2021-09-10 자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150156576A KR102317716B1 (ko) 2015-11-09 2015-11-09 자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치
KR1020210121276A KR102421633B1 (ko) 2015-11-09 2021-09-10 자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020150156576A Division KR102317716B1 (ko) 2015-11-09 2015-11-09 자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210116394A KR20210116394A (ko) 2021-09-27
KR102421633B1 true KR102421633B1 (ko) 2022-07-15

Family

ID=59048732

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020150156576A KR102317716B1 (ko) 2015-11-09 2015-11-09 자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치
KR1020210121276A KR102421633B1 (ko) 2015-11-09 2021-09-10 자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020150156576A KR102317716B1 (ko) 2015-11-09 2015-11-09 자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치

Country Status (1)

Country Link
KR (2) KR102317716B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102531621B1 (ko) * 2022-12-30 2023-05-11 주식회사 에스티씨랩 클라우드 기반 유량제어 비용 최적화를 위한 리소스 최적화 서버, 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060075399A1 (en) 2002-12-27 2006-04-06 Loh Choo W System and method for resource usage prediction in the deployment of software applications

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU7743600A (en) * 1999-10-01 2001-05-10 Andersen Consulting Llp Presentation service architectures for netcentric computing systems
KR100894813B1 (ko) 2004-12-23 2009-04-24 에스지어드밴텍(주) 특정 프로그램의 효율적 자동 배포 및 설치를 위한 네트워크 배포 영역의 피어-투-피어(Peer To Peer) 분산 방법 및 시스템
WO2010050335A1 (ja) * 2008-10-27 2010-05-06 株式会社 日立製作所 リソース管理方法と組込み装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060075399A1 (en) 2002-12-27 2006-04-06 Loh Choo W System and method for resource usage prediction in the deployment of software applications

Also Published As

Publication number Publication date
KR20210116394A (ko) 2021-09-27
KR102317716B1 (ko) 2021-10-26
KR20170053971A (ko) 2017-05-17

Similar Documents

Publication Publication Date Title
US10877801B2 (en) Systems and methods for scheduling tasks
JP5954074B2 (ja) 情報処理方法、情報処理装置、及びプログラム。
US20200137151A1 (en) Load balancing engine, client, distributed computing system, and load balancing method
US7945416B2 (en) Software or hardware test apparatus and method
WO2020168356A3 (en) Systems and methods for cloud migration readiness
US7797141B2 (en) Predictive analysis of availability of systems and/or system components
CN106713944A (zh) 一种流数据任务的处理方法和装置
KR20210023693A (ko) 스파이크 검출 및 부하 분산 자원 관리 시스템 및 그 방법
US20150263906A1 (en) Method and apparatus for ensuring application and network service performance in an automated manner
US8875148B2 (en) Product-specific system resource allocation within a single operating system instance
CN104657212A (zh) 一种任务调度的方法及系统
US20070250629A1 (en) Method and a system that enables the calculation of resource requirements for a composite application
CN101211277A (zh) 选择子os的一个执行计划的方法与使用该方法的虚拟机监视器
KR20170139872A (ko) 멀티 테넌트 기반의 서비스 제공 시스템 및 방법
CN106557369A (zh) 一种多线程的管理方法及系统
CN103164253A (zh) 虚拟机部署系统及方法
CN110704185B (zh) 集群系统分片定时任务调度方法及集群系统
CN106130810B (zh) 网站监测方法和装置
WO2016155996A1 (en) Production system and method for controlling same
US11206673B2 (en) Priority control method and data processing system
KR102421633B1 (ko) 자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치
CN106030536A (zh) 用于资源管理的方法、计算机程序和节点
Zhu et al. Optimization model for multiple backup resource allocation with workload-dependent failure probability
Lumpp et al. Enabling Kubernetes orchestration of mixed-criticality software for autonomous mobile robots
CN112703485A (zh) 使用机器学习方法支持对分布式系统内的计算环境的修改的实验评估

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant