KR102317716B1 - Method and apparatus for scheduling deployment of software based on resource usages - Google Patents

Method and apparatus for scheduling deployment of software based on resource usages Download PDF

Info

Publication number
KR102317716B1
KR102317716B1 KR1020150156576A KR20150156576A KR102317716B1 KR 102317716 B1 KR102317716 B1 KR 102317716B1 KR 1020150156576 A KR1020150156576 A KR 1020150156576A KR 20150156576 A KR20150156576 A KR 20150156576A KR 102317716 B1 KR102317716 B1 KR 102317716B1
Authority
KR
South Korea
Prior art keywords
distribution
software
time
resource usage
service equipment
Prior art date
Application number
KR1020150156576A
Other languages
Korean (ko)
Other versions
KR20170053971A (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 KR1020150156576A priority Critical patent/KR102317716B1/en
Publication of KR20170053971A publication Critical patent/KR20170053971A/en
Priority to KR1020210121276A priority patent/KR102421633B1/en
Application granted granted Critical
Publication of KR102317716B1 publication Critical patent/KR102317716B1/en

Links

Images

Classifications

    • H04L67/325
    • 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 
    • 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

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

본 발명에 따르면, 자원 사용량에 따른 소프트웨어 배포 자동 스케줄링에 있어서, 네트워크 트래픽 등의 자원 사용량에 대한 제어가 필요한 데이터센터 등의 환경에서 소프트웨어 배포 수행 시, 기존 서비스 장비들의 시간대별 자원 사용량 통계에 근거하여 네트워크상 자원 사용량이 상대적으로 가장 낮은 것으로 평가되는 최적의 시간에 배포가 수행되도록 하고, 실제 소프트웨어 배포시에도 서비스 장비들의 실시간 자원 사용량이 미리 정의된 임계점을 넘지 않는 범위 내에서 배포를 순차적으로 수행하는 자동 스케줄링이 가능하게 된다.According to the present invention, in the automatic scheduling of software distribution according to resource usage, when performing software distribution in an environment such as a data center that requires control of resource usage such as network traffic, based on the resource usage statistics for each time period of existing service equipment, It ensures that the distribution is performed at the optimal time when the resource usage on the network is evaluated to be relatively low, and the distribution is sequentially performed within the range where the real-time resource usage of service equipment does not exceed a predefined threshold even during actual software distribution. Automatic scheduling is enabled.

Description

자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치{METHOD AND APPARATUS FOR SCHEDULING DEPLOYMENT OF SOFTWARE BASED ON RESOURCE USAGES}SOFTWARE DISTRIBUTION SCHEDULING METHOD AND APPARATUS CONSIDERING RESOURCE USAGE

본 발명은 자원 사용량에 따른 소프트웨어 배포 자동 스케줄링에 관한 것으로, 보다 상세하게는 네트워크 트래픽 등의 자원 사용량에 대한 제어가 필요한 데이터센터 등의 환경에서 소프트웨어 배포 수행 시, 기존 서비스 장비들의 시간대별 자원 사용량 통계에 근거하여 네트워크상 자원 사용량이 상대적으로 가장 낮은 것으로 평가되는 최적의 시간에 배포가 수행되도록 하고, 실제 소프트웨어 배포시에도 서비스 장비들의 실시간 자원 사용량이 미리 정의된 임계점을 넘지 않는 범위 내에서 배포를 순차적으로 수행하는 자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치에 관한 것이다.The present invention relates to automatic scheduling of software distribution according to resource usage, and more particularly, when performing software distribution in an environment such as a data center that requires control of resource usage such as network traffic, statistics on resource usage by time of existing service equipment Based on this, the distribution is performed at the optimal time when the resource usage on the network is evaluated to be relatively low, and the distribution is sequentially performed within the range where the real-time resource usage of service equipment does not exceed a predefined threshold even during actual software distribution. It relates to a method and apparatus for scheduling software distribution in consideration of resource usage performed by

일반적으로 프로비저닝(provisioning)은 특정 서비스를 제공받기 위하여 서비스 설치부터 시작해 서비스 환경 구성 및 실행 등 서비스를 제공받기 전 단계까지 처리되는 일련의 절차를 말한다.In general, provisioning refers to a series of procedures that are processed from service installation to service environment configuration and execution before receiving a service in order to receive a specific service.

이러한 프로비저닝 중 소프트웨어(software : S/W)를 시스템에 설치하고 필요한 모든 구성 및 설정 작업을 해서 소프트웨어가 실행될 수 있는 환경을 갖추는 과정을 소프트웨어 프로비저닝이라 부른다.Among such provisioning, the process of installing software (S/W) on the system and performing all necessary configuration and setting work to prepare an environment in which the software can be executed is called software provisioning.

한편, 이러한 소프트웨어 프로비저닝에 있어서 많은 서비스를 운영하고 있는 데이터센터 등의 환경에서는 네트워크 트래픽 등의 자원 사용량을 일정 임계값 이하로 유지하는 것이 서비스의 QoS 유지에 있어서 매우 중요하다. Meanwhile, in software provisioning, in an environment such as a data center where many services are operated, it is very important to maintain the resource usage such as network traffic below a certain threshold in maintaining QoS of the service.

예를 들어 네트워크 트래픽이나 디스크 이용률 등의 자원 사용량이 일시적으로 과도하게 증가하게 되면 최악의 경우 서비스의 장애로 이어질 수도 있기 때문이다. For example, if resource usage, such as network traffic or disk utilization, temporarily increases excessively, in the worst case, it may lead to service failure.

따라서, 이러한 환경에서 다수의 서비스 노드에 OS나 기타 소프트웨어를 배포하기 위해서는 위와 같은 자원 사용량에 있어서의 제한사항을 고려하여 배포 작업 스케줄링을 해야 하는데 대규모의 서버가 운영되고 있는 실제 서비스 환경에서는 이러한 과정이 매우 복잡하므로 사람이 일일이 판단하여 스케줄링을 수행하는 것은 어려운 문제점이 있었다. Therefore, in order to distribute OS or other software to multiple service nodes in such an environment, it is necessary to schedule the distribution task in consideration of the above limitations in resource usage. Since it is very complicated, it is difficult for a person to individually judge and perform the scheduling.

대한민국 공개특허공보 10-2006-0072422호(공개일자 2006년 6월 28일)Korean Patent Publication No. 10-2006-0072422 (published on June 28, 2006)

따라서, 본 발명에서는 네트워크 트래픽 등의 자원 사용량에 대한 제어가 필요한 데이터센터 등의 환경에서 소프트웨어 배포 수행 시, 기존 서비스 장비들의 시간대별 자원 사용량 통계에 근거하여 네트워크상 자원 사용량이 상대적으로 가장 낮은 것으로 평가되는 최적의 시간에 배포가 수행되도록 하고, 실제 소프트웨어 배포시에도 서비스 장비들의 실시간 자원 사용량이 미리 정의된 임계점을 넘지 않는 범위 내에서 배포를 순차적으로 수행하는 자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법 및 장치를 제공하고자 한다.Therefore, in the present invention, when software distribution is performed in an environment such as a data center that requires control of resource usage such as network traffic, it is evaluated that the resource usage on the network is relatively low based on the resource usage statistics by time of the existing service equipment. A software distribution scheduling method and device that allows distribution to be performed at the optimal time for distribution would like to provide

상술한 본 발명은 자원 사용량을 고려한 소프트웨어 배포 스케줄링 방법으로서, 복수의 서비스 장비를 포함하는 네트워크에서 각 서비스 장비에 대하여 최대 허용 가능한 자원 사용량의 임계값을 설정하는 단계와, 상기 네트워크에서 적어도 하나의 타겟 노드에 대해 배포될 소프트웨어를 설정하는 단계와, 상기 소프트웨어의 배포에 소요되는 배포 예상시간을 산출하는 단계와, 상기 배포 예상시간과 상기 각 서비스 장비에서의 과거 시간별 자원 사용량 정보를 기반으로 상기 타겟 노드에 대한 상기 소프트웨어의 배포 수행 시간을 선정하는 단계를 포함한다.The present invention described above is a software distribution scheduling method in consideration of resource usage, comprising the steps of: setting a threshold value of the maximum allowable resource usage for each service device in a network including a plurality of service devices; Setting the software to be distributed for the node, calculating the expected distribution time required for distribution of the software, and the target node based on the expected distribution time and the resource usage information for each service device in the past time and selecting a distribution execution time for the software.

또한, 상기 배포 수행 시간을 선정하는 단계는, 상기 각 서비스 장비의 과거 자원 사용량에 대한 정보를 상기 배포 예상시간의 단위로 정렬시키는 단계와, 상기 정렬된 단위 시간 구간 중 상기 각 서비스 장비의 과거 자원 사용량이 모두 상기 임계값을 초과하지 않는 단위 시간 구간을 검색하는 단계와, 상기 검색된 단위 시간 구간을 상기 타겟 노드에 대한 상기 소프트웨어의 배포 수행 시간으로 선정하는 단계를 포함하는 것을 특징으로 한다.In addition, the step of selecting the distribution execution time includes arranging the information on the past resource usage of each service equipment in units of the expected distribution time, and past resources of each service equipment in the aligned unit time period. It characterized in that it comprises the steps of searching for a unit time period in which all usage does not exceed the threshold value, and selecting the searched unit time period as a time for performing distribution of the software to the target node.

또한, 상기 검색하는 단계는, 상기 각 서비스 장비의 자원 항목별 자원 사용량을 상기 단위 시간 구간으로 정렬시키는 단계와, 상기 각 서비스 장비의 상기 자원 항목별 자원 사용량이 각 자원 항목에 설정된 임계값보다 모두 낮은 후보 단위 시간 구간을 검색하는 단계와, 상기 후보 단위 시간 구간이 둘 이상인 경우 상기 자원 항목별 서로 다른 값으로 부여된 가중치를 기반으로 상기 네트워크 시스템상 가장 자원 사용량이 낮은 것으로 평가되는 하나의 단위 시간 구간을 최종 선정하는 단계를 포함하는 것을 특징으로 한다.In addition, the searching includes: arranging the resource usage for each resource item of each service equipment into the unit time interval; Searching for a low candidate unit time interval, and when there are two or more candidate unit time intervals, one unit time evaluated as having the lowest resource usage in the network system based on weights assigned to different values for each resource item It is characterized in that it comprises the step of finally selecting the section.

또한, 상기 방법은, 상기 선정된 상기 배포 수행 시간에 상기 타겟 노드에 대한 상기 소프트웨어의 배포를 수행하는 단계와, 상기 배포 수행 시 상기 각 서비스 장비의 자원 사용량을 실시간으로 모니터링하는 단계와, 상기 모니터링결과 상기 각 서비스 장비의 자원 사용량이 상기 임계값을 초과하는 경우 상기 배포 수행을 일시 중지시키되, 상기 자원 사용량이 상기 임계값 이하로 내려가는 경우 상기 배포 수행을 재개시키는 단계를 포함하는 것을 특징으로 한다.In addition, the method includes the steps of performing distribution of the software to the target node at the selected distribution execution time, and monitoring resource usage of each service equipment in real time when the distribution is performed; As a result, when the resource usage of each service equipment exceeds the threshold, the distribution is temporarily stopped, and when the resource usage falls below the threshold, the distribution is resumed.

또한, 상기 배포 예상시간을 산출하는 단계는, 상기 소프트웨어가 과거에 배포 이력이 있는 경우 과거 배포에 수행된 시간을 상기 배포 예상시간으로 사용하는 단계와, 상기 소프트웨어가 과거에 배포 이력이 없는 경우에는 상기 소프트웨어의 배포 스크립트를 분석하여 상기 배포 예상시간을 추정하는 단계를 포함하는 것을 특징으로 한다.In addition, the step of calculating the expected distribution time may include: if the software has a distribution history in the past, using a time performed in the past distribution as the distribution expected time, and if the software does not have a distribution history in the past and estimating the expected distribution time by analyzing the distribution script of the software.

또한, 본 발명은 자원 사용량을 고려한 소프트웨어 배포 스케줄링 장치로서, 복수의 서비스 장비를 포함하는 네트워크에서 각 서비스 장비에 대하여 사용 가능한 자원 사용량의 임계값과 상기 네트워크에서 적어도 하나의 타겟 노드로 배포할 소프트웨어를 설정하는 배포 설정부와, 상기 타겟 노드로 상기 소프트웨어를 배포하는데 소요되는 배포 예상시간을 산출하고, 상기 배포 예상시간과 상기 각 서비스 장비에서의 과거 시간별 자원 사용량 정보를 기반으로 상기 타겟 노드에 대한 상기 소프트웨어의 배포 수행 시간을 선정하는 스케줄러를 포함하는 것을 특징으로 한다.In addition, the present invention provides a software distribution scheduling device in consideration of resource usage, a threshold value of resource usage available for each service device in a network including a plurality of service devices, and software to be distributed to at least one target node in the network. a distribution setting unit to set, calculates an estimated distribution time required to distribute the software to the target node, and provides the target node based on the expected distribution time and the resource usage information for each service device in the past time. It is characterized in that it includes a scheduler that selects the distribution execution time of the software.

또한, 상기 스케줄러는, 상기 각 서비스 장비의 과거 자원 사용량에 대한 정보를 상기 배포 예상시간의 단위로 정렬시키고, 상기 정렬된 단위 시간 구간 중 상기 각 서비스 장비의 과거 자원 사용량이 모두 상기 임계값을 초과하지 않는 최적의 단위 시간 구간을 상기 타겟 노드에 대한 상기 소프트웨어의 배포 수행 시간으로 선정하는 것을 특징으로 한다.In addition, the scheduler aligns the information on the past resource usage of each service device in units of the expected distribution time, and all of the past resource usages of the respective service devices in the aligned unit time interval exceed the threshold value It is characterized in that an optimal unit time period not performed is selected as a time for performing distribution of the software to the target node.

또한, 상기 장치는, 상기 선정된 배포 수행 시간에 상기 타겟 노드에 대한 상기 소프트웨어의 배포를 수행하는 배포부를 더 포함하며, 상기 배포부는, 상기 배포 수행 시 상기 각 서비스 장비의 자원 사용량을 실시간으로 모니터링하고, 상기 각 서비스 장비의 자원 사용량이 상기 임계값을 초과하는 경우 상기 배포를 일시 중지시키며, 상기 자원 사용량이 상기 임계값 이하로 내려가는 경우 상기 배포를 재개시키는 것을 특징으로 한다.In addition, the device further comprises a distribution unit that distributes the software to the target node at the selected distribution execution time, wherein the distribution unit monitors resource usage of each service equipment in real time when the distribution is performed. and, when the resource usage of each service equipment exceeds the threshold, the distribution is temporarily stopped, and when the resource usage falls below the threshold, the distribution is resumed.

본 발명에 따르면, 자원 사용량에 따른 소프트웨어 배포 자동 스케줄링에 있어서, 네트워크 트래픽 등의 자원 사용량에 대한 제어가 필요한 데이터센터 등의 환경에서 소프트웨어 배포 수행 시, 기존 서비스 장비들의 시간대별 자원 사용량 통계에 근거하여 네트워크상 자원 사용량이 상대적으로 가장 낮은 것으로 평가되는 최적의 시간에 배포가 수행되도록 하고, 실제 소프트웨어 배포시에도 서비스 장비들의 실시간 자원 사용량이 미리 정의된 임계점을 넘지 않는 범위 내에서 배포를 순차적으로 수행하는 자동 스케줄링을 가능하게 함으로써, 사용자가 복잡한 조건을 고려하여 배포 시간을 결정할 필요가 없어지게 되는 이점이 있다. According to the present invention, in the automatic scheduling of software distribution according to resource usage, when performing software distribution in an environment such as a data center that requires control of resource usage such as network traffic, based on the resource usage statistics for each time period of existing service equipment, It ensures that the distribution is performed at the optimal time when the resource usage on the network is evaluated to be relatively low, and the distribution is sequentially performed within the range where the real-time resource usage of service equipment does not exceed a predefined threshold even during actual software distribution. By enabling automatic scheduling, there is an advantage that the user does not need to determine the distribution time considering complex conditions.

또한, 사용자의 수작업으로 인한 실수를 미연에 방지할 수 있게 되며, 실제 통계 데이터 및 실시간 사용량에 근거하여 배포를 수행함으로서, 실제 소프트웨어의 배포 시의 트래픽 발생 등으로 인해 기존 서비스 노드의 서비스의 QoS에 영향을 주거나 장애가 초래되는 것을 방지시킬 수 있는 이점이 있다.In addition, it is possible to prevent mistakes due to user's manual operation in advance, and by performing distribution based on actual statistical data and real-time usage, the QoS of existing service nodes is affected by traffic generation during actual software distribution. It has the advantage of being able to prevent it from being affected or causing a disability.

도 1은 본 발명의 실시예에 따른 자원 사용량을 고려한 소프트웨어 배포 스케줄링 장치의 상세 블록 구성도,
도 2는 본 발명의 실시예에 따라 각 서비스 장비에서 과거 자원 사용량의 임계값 초과 여부를 단위 시간 구간으로 정렬시킨 매트릭스 예시도,
도 3은 본 발명의 실시예에 따라 자원 사용량을 고려하여 소프트웨어 배포를 스케줄링하는 동작 제어 흐름도,
도 4는 본 발명의 실시예에 따른 자원 사용량을 고려한 소프트웨어 배포 스케줄링에 따라 소프트웨어를 배포하는 동작 제어 흐름도.
1 is a detailed block diagram of an apparatus for scheduling software distribution in consideration of resource usage according to an embodiment of the present invention;
2 is an exemplary matrix diagram in which whether or not the threshold value of past resource usage in each service equipment is exceeded in unit time intervals according to an embodiment of the present invention;
3 is an operation control flowchart for scheduling software distribution in consideration of resource usage according to an embodiment of the present invention;
4 is a control flow chart for distributing software according to software distribution scheduling in consideration of resource usage according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, the operating principle of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, if it is determined that a detailed description of a well-known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, the terms described below are terms defined in consideration of functions in the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the content throughout this specification.

도 1은 본 발명의 실시예에 따른 자원 사용량을 고려한 소프트웨어 배포 스케줄링 장치(100)의 상세 블록 구성을 도시한 것으로, 자원 모니터부(105), 배포 설정부(110), 스케줄러(scheduler)(120), 배포부(deployer)(130) 등을 포함할 수 있다.1 shows a detailed block configuration of a software distribution scheduling apparatus 100 in consideration of resource usage according to an embodiment of the present invention, a resource monitor unit 105 , a distribution setting unit 110 , and a scheduler 120 . ), a deployer 130 , and the like.

이하, 위 도 1을 참조하여 본 발명의 소프트웨어 배포 스케줄링 장치(100)의 각 구성요소에서의 동작을 상세히 설명하기로 한다.Hereinafter, an operation in each component of the software distribution scheduling apparatus 100 of the present invention will be described in detail with reference to FIG. 1 above.

먼저, 자원 모니터부(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(초당 입출력량) 등이 될 수 있다.First, the resource monitor unit 105 monitors (monitoring) the resource usage measured by the plurality of service equipment 148 on the network. In this case, the service equipment 148 may mean, for example, service nodes (servers, etc.) 140 and 141 , the switch 142 , the shared disk 144 , and the like, but is not limited thereto. In addition, the resource monitor unit 105 as above, each service equipment 148 , that is, the service node 140 , 141 , the switch 142 and the shared disk 144 while continuing to monitor the resource usage of the shared disk 144 and the past for a specific period of time. Stores resource usage information. In this case, the specific period may mean, for example, a period of 3 months, 1 month, 1 week, etc. from the present time in the past, but is not limited thereto. In addition, at this time, such resource usage is determined by the round-trip time (RTT) between the service nodes 140 and 141, the utilization rate of the processor of the switch 142, or the disk utilization rate or IOPS of the shared disk 144 on the network. (input/output per second), etc.

배포 설정부(110)는 서비스 노드(140, 141), 스위치(142) 및 공유 디스크(144) 등에서 사용 가능한 자원 사용량의 임계값을 설정하며, 타겟 노드(150, 152, 154)에 배포할 소프트웨어에 대한 정보를 설정한다. The distribution setting unit 110 sets a threshold value of resource usage available in the service nodes 140 and 141 , the switch 142 and the shared disk 144 , and the software to be distributed to the target nodes 150 , 152 , 154 . set information about

이때, 이러한 임계값은 시스템에서 제공하는 자원에 대해 서비스 노드(140, 141), 스위치(142) 및 공유 디스크(144) 등에서 최대 허용 가능한 자원 사용량을 의미할 수 있으며, 이러한 임계값은 전체 시스템의 운영에 문제가 발생하지 않도록 미리 추정되어 시스템 관리자 등에 의해 입력될 수 있으나 이에 한정되는 것은 아니다. 즉, 예를 들어 임계값 설정은 서비스 노드(140, 141) 간의 RTT 값이나, 스위치(142)의 프로세서 이용률, 공유 디스크(144)의 IOPS 등이 전체 시스템의 정상 운영에 영향을 미치지 않도록 하는 범위 내에서 관리자에 의해 설정될 수 있다.At this time, this threshold may mean the maximum allowable resource usage in the service nodes 140 , 141 , the switch 142 and the shared disk 144 with respect to the resources provided by the system, and this threshold value is the It may be estimated in advance so as not to cause a problem in operation and may be input by a system administrator, etc., but is not limited thereto. That is, for example, the threshold setting is a range in which the RTT value between the service nodes 140 and 141, the processor utilization of the switch 142, the IOPS of the shared disk 144, etc. do not affect the normal operation of the entire system. It can be set by the administrator within.

또한, 이러한 소프트웨어에 대한 정보는 네트워크상 타겟 노드(150, 152, 154)로 배포 작업을 수행하여야 하는 소프트웨어의 목록을 의미할 수 있으며, 이러한 소프트웨어의 목록이 시스템 관리자 등에 의해 선택되는 경우, 배포 설정부(110)에서 이를 인식하여 타겟 노드(150, 152, 154)에 배포할 소프트웨어에 대한 정보로 사용할 수 있다. 이때, 타겟 노드(150, 152, 154)로 배포할 소프트웨어가 네트워크상 소프트웨어 목록에 없는 새로운 소프트웨어인 경우 관리자 등은 해당 소프트웨어의 이름과 배포 스크립트(script)를 입력하여 등록 요청할 수 있으며, 이에 따라 배포 설정부(110)에서는 새로운 소프트웨어 이름과 배포 스크립트 정보를 입력받아 타겟 노드(150, 152, 154)에 배포할 소프트웨어로 등록할 수 있다.In addition, the information on the software may mean a list of software to be distributed to the target nodes 150 , 152 , 154 on the network. When the list of software is selected by a system administrator, distribution settings The unit 110 may recognize this and use it as information about software to be distributed to the target nodes 150 , 152 , and 154 . At this time, if the software to be distributed to the target nodes 150, 152, 154 is new software that is not in the software list on the network, the administrator may request registration by inputting the name and distribution script of the corresponding software, and the distribution The setting unit 110 may receive a new software name and distribution script information and register it as software to be distributed to the target nodes 150 , 152 , and 154 .

스케줄러(120)는 네트워크상 소프트웨어의 배포가 필요한 적어도 하나의 타겟 노드(150, 152, 154)에 대해 해당 소프트웨어의 배포에 소요되는 배포 예상시간을 산출한다. 또한, 이와 같이 산출한 배포 예상시간과 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 과거 시간별 자원 사용량 정보를 기반으로 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시간을 선정한다.The scheduler 120 calculates an estimated distribution time required for distribution of the corresponding software for at least one target node 150 , 152 , 154 requiring distribution of the software on the network. In addition, the software for the target nodes 150, 152, 154 based on the estimated distribution time calculated in this way and the resource usage information for each past hour in the service nodes 140, 141, the switch 142, the shared disk 144, etc. Select the time to perform the distribution of

즉, 스케줄러(120)는 관리자 등에 의해 선택된 각 소프트웨어의 배포 예상시간을 합산하여 총 배포 예상 시간(Td)를 산출하고, 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량 통계에 근거하여 타켓 노드(150, 152, 154)로 소프트웨어를 배포할 최적의 시간대(time slot)를 찾아 자동으로 스케줄링을 수행한다. That is, the scheduler 120 calculates the total expected distribution time (T d ) by summing the expected distribution time of each software selected by the administrator, etc., and the service nodes 140 and 141 , the switch 142 , and the shared disk 144 . Scheduling is automatically performed by finding an optimal time slot for software distribution to the target nodes 150, 152, and 154 based on historical resource usage statistics such as.

이때, 스케줄러(120)에서 소프트웨어를 배포할 최적의 시간대 즉, 최적의 소프트웨어 배포 수행 시간을 선정함에 있어서, 먼저, 스케줄러(120)는 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량에 대한 정보를 배포 예상시간의 단위로 정렬시킨다. 이어, 스케줄러(120)는 정렬된 단위 시간 구간(Td) 중 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량이 모두 임계값을 초과하지 않는 단위 시간 구간을 검색한 후, 검색된 단위 시간 구간을 소프트웨어를 배포할 최적의 시간대로 인식하여 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시간으로 선정할 수 있다.At this time, in selecting the optimal time for software distribution in the scheduler 120, that is, the optimal software distribution execution time, first, the scheduler 120 includes the service nodes 140 and 141, the switch 142, the shared disk ( 144), etc., sort the information on the past resource usage in units of the expected distribution time. Next, the scheduler 120 is a unit time in which past resource usage in the service nodes 140 , 141 , the switch 142 , the shared disk 144 and the like among the aligned unit time intervals T d do not all exceed the threshold value. After searching for the section, the searched unit time section may be recognized as an optimal time for software distribution and selected as the software distribution execution time for the target nodes 150 , 152 , and 154 .

이때, 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량이 모두 임계값을 초과하지 않는 단위 시간 구간이 둘 이상 존재하는 경우, 예를 들어 각 단위 시간 구간에 대해 자원 항목별 서로 다른 값으로 부여된 가중치를 기반으로 네트워크상 가장 자원 사용량이 낮은 것으로 평가되는 단위 시간 구간을 찾아내어 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시간으로 선정할 수 있다.At this time, if there are two or more unit time intervals in which the past resource usage in the service nodes 140 and 141, the switch 142, the shared disk 144, etc. do not all exceed the threshold, for example, each unit time interval Based on the weights assigned to different values for each resource item, the unit time section with the lowest resource usage on the network is found and selected as the software distribution execution time for the target nodes (150, 152, 154). can

도 2는 본 발명의 실시예에 따라 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서 과거 자원 사용량의 임계값 초과 여부를 단위 시간 구간으로 정렬시킨 매트릭스(matrix)를 예시한 것이다. 2 illustrates a matrix in which the threshold value of past resource usage in the service nodes 140 and 141, the switch 142, the shared disk 144, etc. is arranged in a unit time interval according to an embodiment of the present invention. did it

한편, 위 도 2에서는 편의상 1개의 서비스 노드(140), 스위치(142) 및 공유디스크(144)를 예시하였으며, 자원 항목을 서비스 노드간 RTT, 스위치(142)의 프로세서 이용률, 공유 디스크(144)의 디스크 이용률 등 3개의 항목으로 예시하여 해당 값들이 각각의 자원 항목에 대해 선정된 임계값을 초과하는지에 대한 정보를 예시하였으나, 이는 설명의 편의를 위한 것일 뿐, 이에 한정되는 것은 아니다.On the other hand, in FIG. 2 above, one service node 140, switch 142, and shared disk 144 are exemplified for convenience, and resource items are RTT between service nodes, processor utilization rate of switch 142, and shared disk 144. Although the information on whether the corresponding values exceed the threshold value selected for each resource item is illustrated by exemplifying three items such as the disk utilization rate of

즉, 단위 시간 구간(Td)이 예를 들어 30분이라고 가정하는 경우 위 도 2에서와 같이 서비스 노드(140), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량에 대한 정보가 30분 단위로 정렬되어 표시될 수 있으며, 이때, 30분 단위로 구분된 다수의 단위 시간 구간 중 서비스 노드(140), 스위치(142), 공유 디스크(144) 등에서의 자원 항목별 과거 자원 사용량이 모두 임계값을 초과하지 않는 단위 시간 구간이 제1 구간(200), 제2 구간(202), 제3 구간(204) 등으로 검색된 것을 표시하고 있다. 위 도 2에서 N은 임계값을 초과하지 않은 것을 표시할 수 있으며, Y는 임계값을 초과한 것을 표시할 수 있다.That is, if it is assumed that the unit time period (T d ) is, for example, 30 minutes, information on past resource usage in the service node 140 , the switch 142 , the shared disk 144 , etc. It can be displayed in an order of 30 minutes, and at this time, the past resource usage by resource item in the service node 140, switch 142, shared disk 144, etc. among a plurality of unit time sections divided by 30 minutes is displayed. All of the unit time sections that do not exceed the threshold value are displayed as the first section 200 , the second section 202 , the third section 204 , and the like. In FIG. 2 above, N may indicate that the threshold value is not exceeded, and Y may indicate that the threshold value is exceeded.

따라서, 스케줄러(120)는 위와 같이 검색된 제1 구간(200), 제2 구간(202), 제3 구간(204)을 타겟 노드(150, 152, 154)로 소프트웨어를 배포할 후보 시간대로 인식하여 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시간으로 선정할 수 있다.Accordingly, the scheduler 120 recognizes the first section 200, the second section 202, and the third section 204 searched as above as candidate time zones to distribute the software to the target nodes 150, 152, and 154. It can be selected as a time for performing software distribution to the target nodes 150 , 152 , and 154 .

한편, 위와 같이, 서비스 노드(140), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량이 모두 임계값을 초과하지 않는 단위 시간 구간이 제1 구간(200), 제2 구간(202), 제3 구간(204) 등으로 둘 이상 검색된 경우, 스케줄러(120)는 각 단위 시간 구간에 대해 서비스 노드(140), 스위치(142), 공유 디스크(144) 등에서의 자원 항목별 서로 다른 값으로 부여된 가중치를 기반으로 네트워크상 가장 자원 사용량이 낮은 것으로 평가되는 단위 시간 구간을 찾아내어 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시간으로 선정할 수 있다.On the other hand, as described above, the unit time period in which the past resource usage in the service node 140 , the switch 142 , the shared disk 144 and the like does not all exceed the threshold is the first period 200 , the second period 202 . ), the third period 204, etc., when two or more are searched, the scheduler 120 provides different values for each resource item in the service node 140, the switch 142, the shared disk 144, etc. for each unit time period. It is possible to find a unit time section that is evaluated as having the lowest resource usage on the network based on the weight assigned to , and select it as the time for performing software distribution to the target nodes 150 , 152 , and 154 .

이때, 위와 같은 자원 항목에는 본 발명의 실시예에 따라 네트워크의 운영상 미치는 중요도를 고려하여 서로 다른 가중치가 설정될 수 있으며, 가장 큰 영향을 미칠 수 있는 자원에 상대적으로 더 큰 가중치가 설정되도록 할 수 있다. 따라서 예를 들어 프로세서 이용률에 가장 큰 가중치가 부여된 경우 제1 구간(200), 제2 구간(202), 제3 구간(204)의 단위 시간 구간 중 프로세서 이용률이 가장 낮은 단위 시간 구간이 네트워크상 가장 자원 사용량이 낮은 것으로 평가되어 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시간으로 선정할 수 있는 것이다.In this case, different weights may be set for the above resource items in consideration of the importance that they have on the operation of the network according to an embodiment of the present invention, and a relatively larger weight may be set for the resource that can have the greatest influence. have. Therefore, for example, when the greatest weight is given to the processor utilization rate, the unit time section having the lowest processor utilization rate among the unit time sections of the first section 200, the second section 202, and the third section 204 is on the network. Since it is evaluated as having the lowest resource usage, it can be selected as the software distribution execution time for the target nodes 150 , 152 , and 154 .

또한, 스케줄러(120)는 위와 같은 배포 예상시간을 산출함에 있어서, 타겟 노드(150, 152, 154)에 배포 요청된 소프트웨어가 과거에 배포 이력이 있는 경우 과거 배포에 소요된 시간을 가져와서 배포 예상시간으로 사용할 수 있으며, 배포 요청된 소프트웨어가 과거에 배포 이력이 없는 경우에는 해당 소프트웨어의 배포 스크립트 등을 분석하여 배포 예상시간을 추정할 수 있다. In addition, in calculating the expected distribution time as described above, the scheduler 120 retrieves the time taken for the past distribution when the software requested to be distributed to the target nodes 150 , 152 , and 154 has a distribution history in the past. It can be used as time, and if the software requested for distribution has no distribution history in the past, the estimated distribution time can be estimated by analyzing the distribution script of the software.

이때, 배포 예상시간을 추정함에 있어서, 스케줄러(120)는 예를 들어 배포 스크립트내 포함된 패키지 설치, 환경 설정, 권한 설정 등의 단위 기능들 각각을 실행하는데 소요되는 예상 시간을 기존 통계치로부터 구한 후, 각 단위 기능별 예상 소요 시간을 합산하여 소프트웨어의 배포 예상시간을 추정할 수 있다. At this time, in estimating the expected distribution time, the scheduler 120 obtains the estimated time required to execute each of the unit functions, such as package installation, environment setting, and authority setting included in the distribution script, from the existing statistics, for example. , it is possible to estimate the expected software distribution time by adding up the estimated time required for each unit function.

배포부(130)는 스케줄러(120)에 의해 설정된 소프트웨어 배포 수행 시점이 되면 해당 소프트웨어를 타겟 노드(150, 152, 154)로 실제 배포하는 작업을 수행한다.The distribution unit 130 actually distributes the software to the target nodes 150 , 152 , and 154 when the software distribution execution time set by the scheduler 120 comes.

또한, 배포부(130)는 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시 네트워크 상 서비스 노드(140, 141), 스위치(142) 및 공유 디스크(144) 등의 자원 사용량을 실시간으로 검사하고, 검사결과 해당 자원 사용량이 임계값을 초과하는 경우 타겟 노드(150, 152, 154)에 대한 소프트웨어 배포 수행을 일시 중지시킨 후, 자원 사용량이 임계값 이하로 내려가는 경우 배포를 재개시킬 수 있다.In addition, the distribution unit 130 performs real-time resource usage of the service nodes 140 and 141, the switch 142, and the shared disk 144 on the network when the software is distributed to the target nodes 150, 152, and 154. , and if the inspection result shows that the resource usage exceeds the threshold, software distribution to the target nodes (150, 152, 154) is paused, and then distribution can be resumed when the resource usage falls below the threshold. have.

즉, 배포부(130)는 모든 타겟 노드에 한꺼번에 소프트웨어 배포를 수행하는 것이 아니라 네트워크상 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 자원 사용량이 임계값 이하인지 실시간으로 계속 모니터링하면서 임계값 이상일 경우에는 일정 시간 대기하고, 임계값 이하일 경우에만 추가로 소프트웨어 배포 작업이 이루어지지 않은 일정 개수의 다른 타겟 노드에 소프트웨어 배포 작업을 수행할 수 있다.That is, the distribution unit 130 does not distribute the software to all target nodes at once, but determines whether the resource usage of the service nodes 140 , 141 , the switch 142 , the shared disk 144 on the network is less than or equal to a threshold value in real time. while continuously monitoring the system, if it exceeds the threshold, it waits for a certain amount of time, and only when it is below the threshold, it is possible to perform software distribution to a certain number of other target nodes for which additional software distribution has not been performed.

도 3은 본 발명의 실시예에 따라 자원 사용량을 고려하여 소프트웨어 배포를 스케줄링하는 동작 제어 흐름을 도시한 것이다. 이하, 도 1 내지 도 3을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.3 is a flowchart illustrating an operation control flow for scheduling software distribution in consideration of resource usage according to an embodiment of the present invention. Hereinafter, an embodiment of the present invention will be described in detail with reference to FIGS. 1 to 3 .

먼저, 스케줄링 장치(100)의 배포 설정부(110)에서 네트워크상 각 서비스 장비(148) 즉, 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서 최대 허용 가능한 자원 사용량의 임계값을 설정한다(S300).First, in the distribution setting unit 110 of the scheduling device 100, the maximum allowable resource usage of each service equipment 148 on the network, that is, the service nodes 140 and 141, the switch 142, the shared disk 144, etc. A threshold is set (S300).

이때, 이러한 임계값은 시스템에서 제공하는 자원에 대해 서비스 노드(140, 141), 스위치(142) 및 공유 디스크(144) 등에서 최대 허용 가능한 자원 사용량을 의미할 수 있으며, 이러한 임계값은 전체 시스템의 운영에 문제가 발생하지 않도록 미리 추정되어 시스템 관리자 등에 의해 입력될 수 있다.At this time, this threshold may mean the maximum allowable resource usage in the service nodes 140 , 141 , the switch 142 and the shared disk 144 with respect to the resources provided by the system, and this threshold value is the It may be estimated in advance so as not to cause problems in operation and may be input by a system administrator or the like.

이와 같이 관리자 등에 의해 임계값이 입력되는 경우 배포 설정부(110)에서 이를 인식하여 네트워크상 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서 최대 허용 가능한 자원 사용량의 임계값을 설정할 수 있다. In this way, when a threshold value is input by an administrator, etc., the distribution setting unit 110 recognizes it, and the threshold value of the maximum allowable resource usage in the network service nodes 140 and 141, the switch 142, the shared disk 144, etc. can be set.

이어, 위와 같이 자원 사용량에 대한 임계값을 설정하는 경우 배포 설정부(110)는 타겟 노드에 배포할 소프트웨어에 대한 정보를 설정한다(S302). Next, when setting a threshold for resource usage as above, the distribution setting unit 110 sets information on software to be distributed to the target node ( S302 ).

이때, 이러한 소프트웨어에 대한 정보는 네트워크상 타겟 노드(150, 152, 154)로 배포 작업을 수행하여야 하는 소프트웨어의 목록을 의미할 수 있으며, 이러한 소프트웨어의 목록이 시스템 관리자 등에 의해 선택되는 경우, 배포 설정부(110)에서 이를 인식하여 타겟 노드(150, 152, 154)에 배포할 소프트웨어에 대한 정보로 사용할 수 있다.In this case, the information about the software may mean a list of software that should be distributed to the target nodes 150 , 152 , and 154 on the network. The unit 110 may recognize this and use it as information about software to be distributed to the target nodes 150 , 152 , and 154 .

이때, 타겟 노드(150, 152, 154)로 배포할 소프트웨어가 네트워크상 소프트웨어 목록에 없는 새로운 소프트웨어인 경우 관리자 등은 해당 소프트웨어의 이름과 배포 스크립트를 입력하여 등록 요청할 수 있으며, 이에 따라 배포 설정부(110)에서는 새로운 소프트웨어 이름과 배포 스크립트 정보를 입력받아 타겟 노드(150, 152, 154)에 배포할 소프트웨어로 등록할 수 있다.At this time, if the software to be distributed to the target nodes 150, 152, 154 is new software that is not in the software list on the network, the administrator may request registration by inputting the name and distribution script of the software, and accordingly, the distribution setting unit ( In 110), a new software name and distribution script information may be input and registered as software to be distributed to the target nodes 150 , 152 , 154 .

위와 같이 배포 설정부(110)를 통해 임계값 설정과 타겟 노드(150, 152, 154)로 배포할 소프트웨어에 대한 정보가 설정되는 경우, 이러한 임계값 설정과 타겟 노드(150, 152, 154)로 배포할 소프트웨어에 대한 정보는 스케줄러(120)로 제공될 수 있다.As above, when the threshold value setting and information about the software to be distributed to the target nodes 150, 152, 154 are set through the distribution setting unit 110, the threshold value setting and the target node 150, 152, 154 are set. Information on software to be distributed may be provided to the scheduler 120 .

그러면, 스케줄러(120)는 타겟 노드(150, 152, 154)로 배포 요청된 소프트웨어가 과거에 배포된 이력이 있는지 여부를 검사한다(S304).Then, the scheduler 120 checks whether there is a history of distribution of the software requested to be distributed to the target nodes 150 , 152 , and 154 in the past ( S304 ).

이때, 타겟 노드(150, 152, 154)에 배포 요청된 소프트웨어가 과거에 배포 이력이 있는 경우 스케줄러(120)는 과거 배포에 소요된 시간을 가져와서 배포 예상시간으로 사용할 수 있다(S306).At this time, if the software requested to be distributed to the target nodes 150 , 152 , 154 has a distribution history in the past, the scheduler 120 may use the time taken for the past distribution as the expected distribution time ( S306 ).

그러나, 이와 달리, 배포 요청된 소프트웨어가 과거에 배포 이력이 없는 경우 스케줄러(120)는 해당 소프트웨어의 배포 스크립트 등을 분석하여 배포 예상시간을 추정할 수 있다(S308). 이때, 배포 예상시간을 추정함에 있어서, 스케줄러(120)는 예를 들어 배포 스크립트내 포함된 패키지 설치, 환경 설정, 권한 설정 등의 단위 기능들 각각을 실행하는데 소요되는 예상 시간을 기존 통계치로부터 구한 후, 각 단위 기능별 예상 소요 시간을 합산하여 소프트웨어의 배포 예상시간을 추정할 수 있으나, 이에 한정되는 것은 아니다. However, in contrast to this, when the distribution requested software has no distribution history in the past, the scheduler 120 may analyze the distribution script of the corresponding software to estimate the expected distribution time (S308). At this time, in estimating the expected distribution time, the scheduler 120 obtains the estimated time required to execute each of the unit functions, such as package installation, environment setting, and authority setting included in the distribution script, from the existing statistics, for example. , it is possible to estimate the expected software distribution time by summing the estimated time required for each unit function, but is not limited thereto.

이어, 위와 같이 배포 요청된 각각의 소프트웨어에 대한 배포 예상시간을 산출한 경우, 스케줄러(120)는 관리자 등에 의해 선택된 각 소프트웨어의 배포 예상시간을 합산하여 총 배포 예상 시간(Td)를 산출한다(S310).Next, when the expected distribution time for each software requested for distribution is calculated as described above, the scheduler 120 calculates the total expected distribution time (T d ) by adding up the expected distribution time of each software selected by an administrator or the like ( S310).

위와 같이 총 배포 예상 시간을 산출한 경우, 스케줄러(120)는 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량 통계에 근거하여 타켓 노드(150, 152, 154)로 소프트웨어를 배포할 최적의 시간대(time slot)를 찾아낸다(S312).When the total distribution expected time is calculated as above, the scheduler 120 performs the target node 150, 152, 154) to find an optimal time slot to distribute the software (S312).

이때, 위와 같이 스케줄러(120)에서 소프트웨어를 배포할 최적의 시간대 즉, 최적의 소프트웨어 배포 수행 시간을 선정함에 있어서, 먼저, 스케줄러(120)는 서비스 노드(140, 141), 스위치(142), 공유 디스크(144)등에서의 과거 자원 사용량에 대한 정보를 총 배포 예상시간의 단위로 정렬시킨다. At this time, in selecting the optimal time period for software distribution in the scheduler 120, that is, the optimal software distribution execution time as described above, first, the scheduler 120 includes the service nodes 140 and 141, the switch 142, and the share. Information on past resource usage on the disk 144 and the like is arranged in units of the total estimated time of distribution.

이어, 스케줄러(120)는 정렬된 단위 시간 구간(Td) 중 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량이 모두 임계값을 초과하지 않는 단위 시간 구간을 검색한 후, 검색된 단위 시간 구간을 소프트웨어를 배포할 후보 시간대로 인식하여 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시간으로 선정할 수 있다.Next, the scheduler 120 is a unit time in which past resource usage in the service nodes 140 , 141 , the switch 142 , the shared disk 144 and the like among the aligned unit time intervals T d do not all exceed the threshold value. After the section is searched, the searched unit time section can be recognized as a candidate time zone for software distribution and selected as the software distribution execution time for the target nodes 150 , 152 , 154 .

또한, 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 과거 자원 사용량이 모두 임계값을 초과하지 않는 단위 시간 구간이 둘 이상 존재하는 경우, 위 도 2에서 설명한 바와 같이 각 단위 시간 구간에 대해 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 자원 항목별 서로 다른 값으로 부여된 가중치를 기반으로 네트워크상 가장 자원 사용량이 낮은 것으로 평가되는 단위 시간 구간을 찾아내어 타겟 노드(150, 152, 154)에 대한 소프트웨어의 배포 수행 시간으로 선정할 수 있다.In addition, when there are two or more unit time intervals in which past resource usage in the service nodes 140 and 141, the switch 142, the shared disk 144, etc. do not all exceed the threshold, as described in FIG. 2 above Unit evaluated as having the lowest resource usage on the network based on weights assigned to different values for each resource item in service nodes 140, 141, switch 142, shared disk 144, etc. for each unit time interval It is possible to find a time interval and select it as a time for performing software distribution to the target nodes 150 , 152 , 154 .

이어, 스케줄러(120)는 위와 같이 타겟 노드(150, 152, 154)로 소프트웨어를 배포할 최적의 배포 수행시간이 검색되는지 여부를 검사하고(S314), 배포 수행시간이 검색되지 않는 경우 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에 대한 자원 사용량 임계값이 조정되도록 한 후(S316), (S312) 내지 (S314)단계를 반복 수행하게 된다.Next, the scheduler 120 checks whether the optimal distribution execution time for distributing software to the target nodes 150, 152, 154 is searched as above (S314), and if the distribution execution time is not searched, the service node ( 140, 141), the switch 142, the resource usage threshold for the shared disk 144, etc. to be adjusted (S316), (S312) to (S314) steps are repeatedly performed.

이와 달리, 타겟 노드(150, 152, 154)로 소프트웨어를 배포할 최적의 배포 수행시간이 검색된 경우 스케줄러(120)는 배포 수행시간을 배포부(130)로 인가하여 해당 배포 수행시간에 배포가 수행되도록 스케줄링할 수 있다(S318).On the other hand, when the optimal distribution execution time for distributing software to the target nodes 150, 152, 154 is found, the scheduler 120 applies the distribution execution time to the distribution unit 130, and the distribution is performed at the corresponding distribution execution time. It can be scheduled to be possible (S318).

도 4는 본 발명의 실시예에 따른 자원 사용량을 고려한 소프트웨어 배포 스케줄링에 따라 소프트웨어를 배포하는 동작 제어 흐름을 도시한 것이다. 이하, 도 1 내지 도 4를 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.4 is a flowchart illustrating an operation control flow for distributing software according to software distribution scheduling in consideration of resource usage according to an embodiment of the present invention. Hereinafter, an embodiment of the present invention will be described in detail with reference to FIGS. 1 to 4 .

위 도 3에서와 같이 스케줄링 장치(100)의 스케줄러(120)에서 타겟 노드(150, 152, 154)로 소프트웨어를 배포할 최적의 배포 수행시간이 선정되는 경우, 이러한 배포 수행시간에 대한 정보가 배포부(130)로 인가될 수 있다.As shown in FIG. 3 above, when the optimal distribution execution time for distributing software from the scheduler 120 of the scheduling device 100 to the target nodes 150, 152, 154 is selected, information on such distribution execution time is distributed may be applied to the unit 130 .

그러면, 배포부(130)는 스케줄러(120)에 의해 설정된 타겟 노드(150, 152, 154)에 대한 소프트웨어 배포 수행 시간 정보를 참조하여 배포 수행 시간이 되는 경우 일정 개수의 타겟 노드(150, 152, 154)로 해당 소프트웨어를 배포하는 작업을 수행한다(S400).Then, the distribution unit 130 refers to the software distribution execution time information for the target nodes 150 , 152 , 154 set by the scheduler 120 , and when it is the distribution execution time, a certain number of target nodes 150 , 152 , 154) to distribute the corresponding software (S400).

이어, 배포부(130)는 위와 같이 타겟 노드(150, 152, 154)에 대한 소프트웨어 배포를 수행한 후, 소프트웨어를 배포해야할 타겟 노드(150, 152, 154)가 남아있는지를 검사한다(S402).Next, the distribution unit 130 performs the software distribution to the target nodes 150, 152, and 154 as described above, and then checks whether the target nodes 150, 152, 154 to which the software is to be distributed remain (S402). .

이때, 타겟 노드(150, 152, 154)가 남아 있는 경우 배포부(130)는 남아 있는 타겟 노드(150, 152, 154)에 대해 곧바로 다시 소프트웨어 배포를 수행하기 전에 네트워크상 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 자원 사용량을 실시간으로 모니터링하여, 자원 사용량이 임계값을 초과하는지 여부를 검사한다(S404).At this time, when the target nodes 150 , 152 , and 154 remain, the distribution unit 130 directly distributes the software to the remaining target nodes 150 , 152 , and 154 before performing the software distribution again on the network service nodes 140 and 141 . ), by monitoring the resource usage in the switch 142, the shared disk 144, etc. in real time, it is checked whether the resource usage exceeds a threshold value (S404).

이때 만일 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 자원 사용량이 임계값을 초과하지 않는 경우 배포부(130)는 남아 있는 타겟 노드(150, 152, 154) 중 일정 개수의 노드로 소프트웨어를 배포한다(S400).At this time, if the resource usage in the service nodes 140, 141, the switch 142, the shared disk 144, etc. does not exceed the threshold value, the distribution unit 130 is selected from among the remaining target nodes 150, 152, 154. The software is distributed to a certain number of nodes (S400).

그러나, 이와 달리 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 자원 사용량이 임계값을 초과하는 경우 배포부(130)는 타겟 노드(150, 152, 154)에 대한 소프트웨어 배포 수행을 일시 중지시킨 후, 일정 시간동안 대기한다(S406).However, if the resource usage in the service nodes (140, 141), the switch (142), the shared disk (144), etc. exceeds the threshold value unlike this, the distribution unit 130 for the target nodes (150, 152, 154) After pausing the software distribution, it waits for a predetermined time (S406).

이어, 배포부(130)는 위와 같이 일정 시간동안 대기한 후, 다시 네트워크상 서비스 노드(140, 141), 스위치(142), 공유 디스크(144) 등에서의 자원 사용량이 임계값을 초과하는지 여부를 검사하여(S404) 임계값을 초과하지 않는 경우 남아 있는 타겟 노드(150, 152, 154)로 소프트웨어를 배포하는 과정을 반복하게 된다.Next, the distribution unit 130 waits for a predetermined time as above, and then again checks whether the resource usage in the service nodes 140 and 141, the switch 142, the shared disk 144, etc. on the network exceeds the threshold value. The process of distributing the software to the remaining target nodes 150 , 152 , and 154 is repeated if the check ( S404 ) does not exceed the threshold value.

상기한 바와 같이, 본 발명에 따르면, 자원 사용량에 따른 소프트웨어 배포 자동 스케줄링에 있어서, 네트워크 트래픽 등의 자원 사용량에 대한 제어가 필요한 데이터센터 등의 환경에서 소프트웨어 배포 수행 시, 기존 서비스 장비들의 시간대별 자원 사용량 통계에 근거하여 네트워크상 자원 사용량이 상대적으로 가장 낮은 것으로 평가되는 최적의 시간에 배포가 수행되도록 하고, 실제 소프트웨어 배포시에도 서비스 장비들의 실시간 자원 사용량이 미리 정의된 임계점을 넘지 않는 범위 내에서 배포를 순차적으로 수행하는 자동 스케줄링이 가능하게 된다.As described above, according to the present invention, in the automatic scheduling of software distribution according to resource usage, when software distribution is performed in an environment such as a data center that requires control of resource usage such as network traffic, time-based resources of existing service equipment Based on the usage statistics, the distribution is performed at the optimal time when the resource usage on the network is evaluated as the relatively lowest, and the real-time resource usage of the service equipment does not exceed a predefined threshold even during actual software distribution. Automatic scheduling of sequentially performing is possible.

한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.Meanwhile, although specific embodiments have been described in the above description of the present invention, various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the invention should not be determined by the described embodiments, but should be determined by the claims.

본 발명의 실시예에 따른 자원 사용량에 따른 소프트웨어 배포 자동 스케줄링을 적용하는 경우, 사용자가 복잡한 조건을 고려하여 배포 시간을 결정할 필요가 없어지게 되어 소프트웨어 배포 스케줄링이 보다 효율적으로 이루어질 수 있게 된다. When the automatic software distribution scheduling according to the resource usage according to the embodiment of the present invention is applied, the user does not need to determine the distribution time in consideration of complex conditions, so that the software distribution scheduling can be performed more efficiently.

105 : 자원 모니터부 110 : 배포 설정부
120 : 스케줄러 130 : 배포부
140, 141 : 서비스 노드 142 : 스위치
144 : 공유 디스크 150, 152, 154 : 타겟 노드
105: resource monitor unit 110: distribution setting unit
120: scheduler 130: distribution unit
140, 141: service node 142: switch
144: shared disk 150, 152, 154: target node

Claims (8)

소프트웨어 배포 스케줄링 장치가 수행하는 소프트웨어 배포 스케줄링 방법으로서,
복수의 서비스 장비를 포함하는 네트워크에서 각 서비스 장비에 대하여 최대 허용 가능한 자원 사용량의 임계값을 설정하는 단계와,
상기 네트워크에서 적어도 하나의 타겟 노드에 대해 배포될 소프트웨어를 설정하는 단계와,
상기 소프트웨어의 배포에 소요되는 배포 예상시간을 산출하는 단계와,
상기 각 서비스 장비의 과거 시간별 자원 사용량에 대한 정보를 상기 배포 예상시간의 단위로 정렬시키는 단계와,
상기 정렬된 단위 시간 구간 중 상기 각 서비스 장비의 과거 시간별 자원 사용량이 모두 상기 임계값을 초과하지 않는 단위 시간 구간을 검색하는 단계와,
상기 검색된 단위 시간 구간을 상기 타겟 노드에 대한 상기 소프트웨어의 배포 수행 시간으로 선정하는 단계
를 포함하는 소프트웨어 배포 스케줄링 방법.
A software distribution scheduling method performed by a software distribution scheduling device, comprising:
Setting a threshold value of the maximum allowable resource usage for each service equipment in a network including a plurality of service equipment;
setting software to be distributed for at least one target node in the network;
calculating an expected distribution time required for distribution of the software;
arranging information on resource usage by past time of each service equipment in units of the expected distribution time;
Searching for a unit time interval in which the resource usage by past time of each service equipment does not all exceed the threshold value among the aligned unit time intervals;
selecting the searched unit time period as a time for performing distribution of the software to the target node
A software distribution scheduling method comprising:
삭제delete 제 1 항에 있어서,
상기 정렬시키는 단계는 상기 각 서비스 장비의 자원 항목별 자원 사용량을 상기 단위 시간 구간으로 정렬시키고,
상기 검색하는 단계는 상기 각 서비스 장비의 상기 자원 항목별 자원 사용량이 각 자원 항목에 설정된 임계값보다 모두 낮은 후보 단위 시간 구간을 검색하며,
상기 선정하는 단계는 상기 후보 단위 시간 구간이 둘 이상인 경우 상기 자원 항목별 서로 다른 값으로 부여된 가중치를 기반으로 가장 자원 사용량이 낮은 것으로 평가되는 하나의 단위 시간 구간을 최종 선정하는
소프트웨어 배포 스케줄링 방법.
The method of claim 1,
The aligning step aligns the resource usage for each resource item of each service equipment into the unit time interval,
The searching step searches for a candidate unit time interval in which the resource usage for each resource item of each service equipment is lower than a threshold value set for each resource item,
In the selecting step, when there are two or more candidate unit time intervals, one unit time interval that is evaluated as having the lowest resource usage based on the weights assigned to different values for each resource item is finally selected.
How to schedule software distribution.
제 1 항에 있어서,
상기 방법은,
상기 선정된 상기 배포 수행 시간에 상기 타겟 노드에 대한 상기 소프트웨어의 배포를 수행하는 단계와,
상기 배포 수행 시 상기 각 서비스 장비의 자원 사용량을 실시간으로 모니터링하는 단계와,
상기 모니터링의 결과 상기 각 서비스 장비의 자원 사용량이 상기 임계값을 초과하는 경우 상기 배포 수행을 일시 중지시키되, 상기 자원 사용량이 상기 임계값 이하로 내려가는 경우 상기 배포 수행을 재개시키는 단계
를 포함하는 소프트웨어 배포 스케줄링 방법.
The method of claim 1,
The method is
performing distribution of the software to the target node at the selected distribution execution time;
monitoring the resource usage of each service equipment in real time when the distribution is performed;
Pausing the distribution when the resource usage of each service equipment exceeds the threshold as a result of the monitoring, and resuming the distribution when the resource usage falls below the threshold
A software distribution scheduling method comprising:
제 1 항에 있어서,
상기 배포 예상시간을 산출하는 단계는,
상기 소프트웨어가 과거에 배포 이력이 있는 경우 과거 배포에 수행된 시간을 상기 배포 예상시간으로 사용하는 단계와,
상기 소프트웨어가 과거에 배포 이력이 없는 경우에는 상기 소프트웨어의 배포 스크립트를 분석하여 상기 배포 예상시간을 추정하는 단계
를 포함하는 소프트웨어 배포 스케줄링 방법.
The method of claim 1,
Calculating the expected distribution time comprises:
If the software has a distribution history in the past, using the time performed in the past distribution as the distribution estimated time;
estimating the expected distribution time by analyzing the distribution script of the software when the software has no distribution history in the past
A software distribution scheduling method comprising:
복수의 서비스 장비를 포함하는 네트워크에서 각 서비스 장비에 대하여 사용 가능한 자원 사용량의 임계값과 상기 네트워크에서 적어도 하나의 타겟 노드로 배포할 소프트웨어를 설정하는 배포 설정부와,
상기 타겟 노드로 상기 소프트웨어를 배포하는데 소요되는 배포 예상시간을 산출하고, 상기 각 서비스 장비의 과거 시간별 자원 사용량에 대한 정보를 상기 배포 예상시간의 단위로 정렬시키며, 상기 정렬된 단위 시간 구간 중 상기 각 서비스 장비의 과거 시간별 자원 사용량이 모두 상기 임계값을 초과하지 않는 단위 시간 구간을 상기 타겟 노드에 대한 상기 소프트웨어의 배포 수행 시간을 선정하는 스케줄러
를 포함하는 소프트웨어 배포 스케줄링 장치.
A distribution setting unit for setting a threshold value of resource usage available for each service equipment in a network including a plurality of service equipment and software to be distributed to at least one target node in the network;
Calculating the expected distribution time required to distribute the software to the target node, arranging information on resource usage for each time in the past of each service equipment in units of the expected distribution time, and each A scheduler that selects a time for performing distribution of the software to the target node for a unit time period in which all resource usage by past time of the service equipment does not exceed the threshold
A software distribution scheduling device comprising a.
삭제delete 제 6 항에 있어서,
상기 장치는,
상기 선정된 배포 수행 시간에 상기 타겟 노드에 대한 상기 소프트웨어의 배포를 수행하는 배포부를 더 포함하며,
상기 배포부는, 상기 배포 수행 시 상기 각 서비스 장비의 자원 사용량을 실시간으로 모니터링하고, 상기 각 서비스 장비의 자원 사용량이 상기 임계값을 초과하는 경우 상기 배포를 일시 중지시키되, 상기 자원 사용량이 상기 임계값 이하로 내려가는 경우 상기 배포를 재개시키는 소프트웨어 배포 스케줄링 장치.
7. The method of claim 6,
The device is
Further comprising a distribution unit that distributes the software to the target node at the selected distribution execution time,
The distribution unit monitors the resource usage of each service equipment in real time when the distribution is performed, and temporarily suspends the distribution when the resource usage of each service equipment exceeds the threshold value, wherein the resource usage is the threshold value A software distribution scheduling device that resumes the distribution if it goes below.
KR1020150156576A 2015-11-09 2015-11-09 Method and apparatus for scheduling deployment of software based on resource usages KR102317716B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150156576A KR102317716B1 (en) 2015-11-09 2015-11-09 Method and apparatus for scheduling deployment of software based on resource usages
KR1020210121276A KR102421633B1 (en) 2015-11-09 2021-09-10 Method and apparatus for scheduling deployment of software based on resource usages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150156576A KR102317716B1 (en) 2015-11-09 2015-11-09 Method and apparatus for scheduling deployment of software based on resource usages

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210121276A Division KR102421633B1 (en) 2015-11-09 2021-09-10 Method and apparatus for scheduling deployment of software based on resource usages

Publications (2)

Publication Number Publication Date
KR20170053971A KR20170053971A (en) 2017-05-17
KR102317716B1 true KR102317716B1 (en) 2021-10-26

Family

ID=59048732

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020150156576A KR102317716B1 (en) 2015-11-09 2015-11-09 Method and apparatus for scheduling deployment of software based on resource usages
KR1020210121276A KR102421633B1 (en) 2015-11-09 2021-09-10 Method and apparatus for scheduling deployment of software based on resource usages

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210121276A KR102421633B1 (en) 2015-11-09 2021-09-10 Method and apparatus for scheduling deployment of software based on resource usages

Country Status (1)

Country Link
KR (2) KR102317716B1 (en)

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
WO2001025918A2 (en) * 1999-10-01 2001-04-12 Accenture Llp Frameworks for methods and systems of providing netcentric computing
KR100894813B1 (en) 2004-12-23 2009-04-24 에스지어드밴텍(주) The P2P-based Network Segmentation Method and system for Specific Software Distribution and Installation automatically
WO2010050335A1 (en) * 2008-10-27 2010-05-06 株式会社 日立製作所 Resource management method and building-in device

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 (en) 2021-09-27
KR20170053971A (en) 2017-05-17
KR102421633B1 (en) 2022-07-15

Similar Documents

Publication Publication Date Title
US10585693B2 (en) Systems and methods for metric driven deployments to cloud service providers
US10877801B2 (en) Systems and methods for scheduling tasks
JP5954074B2 (en) Information processing method, information processing apparatus, and program.
CN109936604B (en) Resource scheduling method, device and system
US9680708B2 (en) Method and apparatus for cloud resource delivery
CN109669758A (en) Concocting method, device, equipment and the storage medium of server resource
WO2020168356A3 (en) Systems and methods for cloud migration readiness
US20150263906A1 (en) Method and apparatus for ensuring application and network service performance in an automated manner
US20070250629A1 (en) Method and a system that enables the calculation of resource requirements for a composite application
CN101211277A (en) Method of selecting one of execution schedules of guest OS and virtual machine monitor employing the method
CN111404992A (en) Tenant-controlled cloud updates
KR20170139872A (en) Multi-tenant based system and method for providing services
CN106557369A (en) A kind of management method and system of multithreading
US20120324468A1 (en) Product-specific system resource allocation within a single operating system instance
CN103164253A (en) Virtual machine deployment system and virtual machine deployment method
CN114302429B (en) NWDAF network element determination method, device, equipment and storage medium
CN106030536A (en) Method, computer program and node for management of resources
KR101448413B1 (en) Method and apparatus for scheduling communication traffic in atca-based equipment
CN109739634A (en) A kind of atomic task execution method and device
CN103902054A (en) Equipment sharing method and equipment sharing system
US20210298033A1 (en) Priority Control Method and Data Processing System
US9674093B2 (en) Method and apparatus for ripple rate sensitive and bottleneck aware resource adaptation for real-time streaming workflows
CN109347982A (en) A kind of dispatching method and device of data center
KR102421633B1 (en) Method and apparatus for scheduling deployment of software based on resource usages
KR101600743B1 (en) Apparatus and method for processing data

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