KR101201904B1 - 클라우드 컴퓨팅에서의 리소스 분배 장치 및 그 방법 - Google Patents

클라우드 컴퓨팅에서의 리소스 분배 장치 및 그 방법 Download PDF

Info

Publication number
KR101201904B1
KR101201904B1 KR1020100115180A KR20100115180A KR101201904B1 KR 101201904 B1 KR101201904 B1 KR 101201904B1 KR 1020100115180 A KR1020100115180 A KR 1020100115180A KR 20100115180 A KR20100115180 A KR 20100115180A KR 101201904 B1 KR101201904 B1 KR 101201904B1
Authority
KR
South Korea
Prior art keywords
physical machine
resource
load
machine
processed
Prior art date
Application number
KR1020100115180A
Other languages
English (en)
Other versions
KR20120053850A (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 KR1020100115180A priority Critical patent/KR101201904B1/ko
Priority to PCT/KR2011/008767 priority patent/WO2012067431A2/en
Publication of KR20120053850A publication Critical patent/KR20120053850A/ko
Application granted granted Critical
Publication of KR101201904B1 publication Critical patent/KR101201904B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 명세서는 컴퓨팅 시스템에 관한 것으로, 특히 클라우드 컴퓨팅에서의 리소스 분배 장치 및 그 방법에 관한 것이다. 본 명세서에 개시된 일 실시예에 따른 리소스 분배 방법은, 클라우드 컴퓨팅에서의 리소스 분배 방법에 있어서, 전체 부하가 제1 임계값 이상인 각 물리 머신에 대하여 리소스 별 부하를 계산하고, 상기 계산된 리소스 별 부하에 기초하여 소스 물리 머신을 결정하는 단계와, 상기 소스 물리 머신에서 부하가 최대인 리소스를 기준 리소스로 결정하는 단계와, 상기 소스 물리 머신 상에서 동작하고 있는 가상 머신 중 상기 기준 리소스의 부하가 최대인 가상 머신을 선택하는 단계와, 전체 부하가 제2 임계값 미만인 각 물리 머신에 대하여 상기 기준 리소스의 부하를 계산하고, 상기 기준 리소스의 부하가 최소인 물리 머신을 타겟 물리 머신으로 결정하는 단계 및 상기 선택된 가상 머신을 상기 소스 물리 머신으로부터 상기 타겟 물리 머신으로 이전하도록 제어하는 단계를 포함한다.

Description

클라우드 컴퓨팅에서의 리소스 분배 장치 및 그 방법{APPARATUS AND METHOD FOR RESOURCE DISTRIBUTION IN CLOUD COMPUTING}
본 명세서는 컴퓨팅 시스템에 관한 것으로, 특히 클라우드 컴퓨팅에서의 리소스 분배 장치 및 그 방법에 관한 것이다.
넓은 의미로, 클라우드 컴퓨팅(cloud computing)은 인터넷 기반의 컴퓨팅 기술을 의미한다. 좁은 의미에서의 클라우드 컴퓨팅은 인터넷 상의 유틸리티 데이터 서버에 프로그램을 두고 필요할 때마다 컴퓨터나 휴대폰 등에 불러와서 사용하는 인터넷 기반 소프트웨어 서비스이다. IEEE(Institute of Electrical and Electronics Engineers)는 정보가 인터넷 상의 서버에 영구적으로 저장되고 데스크탑이나 테이블 컴퓨터, 노트북, 벽걸이 컴퓨터, 휴대용 기기 등과 같은 클라이언트에는 일시적으로 보관되는 패러다임을 클라우드 컴퓨팅으로 정의하고 있다.
클라우드 컴퓨팅에서 소프트웨어(제어 코드)와 데이터는 서버에 저장된다. 일반적으로 복수의 서버가 연계하여 클라우드 컴퓨팅 서비스를 제공하는데, 각 서버는 가상화 기술을 적용하여 물리 머신(physical machine) 내에 다수의 가상 머신(virtual machine)을 운용한다. 이때, 각 물리 머신이 보유한 한정된 리소스를 다수의 가상 머신이 나누어 사용하므로, 리소스 사용 상태의 변동에 따라 가상 머신의 성능 및 클라우드 컴퓨팅 시스템 전체의 성능이 저하될 가능성이 상존하고 있다.
본 명세서는 클라우드 컴퓨팅 환경의 특정 물리 머신 내에서 특정 리소스가 편중되게 사용되는 현상을 감소시킴으로써 클라우드 컴퓨팅 시스템 전체의 리소스 사용의 효율성을 향상시킬 수 있는 리소스 분배 장치 및 그 방법을 제공하는데 그 목적이 있다.
상술한 과제를 실현하기 위한 본 명세서에 개시된 일 실시예에 따른 리소스 분배 방법은, 클라우드 컴퓨팅에서의 리소스 분배 방법에 있어서, 전체 부하가 제1 임계값 이상인 각 물리 머신에 대하여 리소스 별 부하를 계산하고, 상기 계산된 리소스 별 부하에 기초하여 소스 물리 머신을 결정하는 단계와, 상기 소스 물리 머신에서 부하가 최대인 리소스를 기준 리소스로 결정하는 단계와, 상기 소스 물리 머신 상에서 동작하고 있는 가상 머신 중 상기 기준 리소스의 부하가 최대인 가상 머신을 선택하는 단계와, 전체 부하가 제2 임계값 미만인 각 물리 머신에 대하여 상기 기준 리소스의 부하를 계산하고, 상기 기준 리소스의 부하가 최소인 물리 머신을 타겟 물리 머신으로 결정하는 단계 및 상기 선택된 가상 머신을 상기 소스 물리 머신으로부터 상기 타겟 물리 머신으로 이전하도록 제어하는 단계를 포함한다.
상술한 과제를 실현하기 위한 본 명세서에 개시된 다른 실시예에 따른 리소스분배 방법은, 클라우드 컴퓨팅에서의 리소스 분배 방법에 있어서, 전체 부하가 제1 임계값 이상인 물리 머신 중에서 리소스 사용 편중 정도가 최대인 물리 머신을 소스 물리 머신으로 선택하는 단계와, 상기 소스 물리 머신 상에서 동작하고 있는 가상 머신 중에서 리소스 사용 편중 정도가 최대인 가상 머신을 선택하는 단계와, 전체 부하가 제2 임계값 미만인 물리 머신 중에서 상기 소스 물리 머신에서 가장 사용 편중 정도가 큰 리소스를 최대로 보유하고 있는 물리 머신을 타겟 물리 머신으로 선택하는 단계 및 상기 선택된 가상 머신을 상기 소스 물리 머신에서 상기 타겟 물리 머신으로 이전하도록 제어하는 단계를 포함한다.
상술한 과제를 실현하기 위한 본 명세서에 개시된 일 실시예에 따른 리소스분배 장치는, 클라우드 컴퓨팅에서의 리소스 분배 장치에 있어서, 전체 부하가 제1 임계값 이상인 각 물리 머신에 대하여 리소스 별 부하를 계산하고, 상기 계산된 리소스 별 부하에 기초하여 소스 물리 머신을 결정하는 소스 물리 머신 결정 모듈과, 상기 소스 물리 머신에서 부하가 최대인 리소스를 기준 리소스로 결정하는 기준 리소스 결정 모듈과, 상기 소스 물리 머신 상에서 동작하고 있는 가상 머신 중 상기 기준 리소스의 부하가 최대인 가상 머신을 선택하는 가상 머신 선택 모듈과, 전체 부하가 제2 임계값 미만인 각 물리 머신에 대하여 상기 기준 리소스의 부하를 계산하고, 상기 기준 리소스의 부하가 최소인 물리 머신을 타겟 물리 머신으로 결정하는 타겟 물리 머신 결정 모듈 및 상기 선택된 가상 머신을 상기 소스 물리 머신으로부터 상기 타겟 물리 머신으로 이전하도록 제어하는 가상 머신 이전 제어 모듈을 포함한다.
상술한 과제를 실현하기 위한 본 명세서에 개시된 일 실시예에 따른 클라우드 컴퓨팅 시스템은, 각각 적어도 하나의 가상 머신을 동작시키는 복수의 물리 머신과, 상기 복수의 물리 머신의 리소스 사용 정보를 저장하는 데이터베이스 및 상기 데이터베이스로부터 수신된 상기 리소스 사용 정보에 기초하여 상기 복수의 물리 머신의 리소스 사용이 균등화될 수 있도록 상기 복수의 물리 머신 간에 가상 머신을 이전시키는 제어 서버를 포함하되, 상기 제어 서버는 전체 부하가 제1 임계값 이상인 물리 머신 중에서 리소스 사용 편중 정도가 최대인 물리 머신을 소스 물리 머신으로 선택하고, 상기 소스 물리 머신 상에서 동작하고 있는 가상 머신 중에서 리소스 사용 편중 정도가 최대인 가상 머신을 선택하며, 전체 부하가 제2 임계값 미만인 물리 머신 중에서 상기 소스 물리 머신에서 가장 사용 편중 정도가 큰 리소스를 최대로 보유하고 있는 물리 머신을 타겟 물리 머신으로 선택하고, 상기 선택된 가상 머신을 상기 소스 물리 머신에서 상기 타겟 물리 머신으로 이전하도록 제어한다.
상기와 같은 본 명세서에 개시된 적어도 하나의 실시예에 따른 리소스 분배 장치 및 그 방법은, 클라우드 컴퓨팅 환경의 물리 머신 또는 가상 머신의 리소스 사용 내역을 분석한 결과에 기초하여 리소스의 편중 사용으로 인하여 성능 저하가 발생하고 있거나 발생이 예상되는 물리 머신, 해당 물리 머신에서 편중 사용되는 리소스 및 해당 리소스를 최대로 사용하고 있는 가상 머신을 선택하고, 가용한 리소스를 보유하고 있는 물리 머신으로 가상 머신을 이전함으로써, 클라우드 컴퓨팅 시스템 전체의 리소스 활용률을 개선할 수 있도록 한다.
도 1은 본 명세서에 개시된 일 실시예에 따른 리소스 분배 방법의 실행 전의 클라우드 컴퓨팅 시스템 상태를 나타내는 예시도이다.
도 2는 본 명세서에 개시된 일 실시예에 따른 리소스 분배 방법의 실행 후의 클라우드 컴퓨팅 시스템 상태를 나타내는 예시도이다.
도 3은 본 명세서에 개시된 일 실시예에 따른 클라우드 컴퓨팅 시스템을 나타내는 개념도이다.
도 4는 본 명세서에 개시된 일 실시예에 따른 리소스 분배 장치를 나타내는 블록도이다.
도 5는 본 명세서에 개시된 일 실시예에 따른 리소스 분배 방법을 설명하는 순서도이다.
도 6은 본 명세서에 개시된 일 실시예에 따른 리소스 분배 방법에서 전체 부하가 제1 임계값 이상인 각 물리 머신에 대하여 리소스 별 부하를 계산하는 단계를 설명하는 순서도이다.
도 7은 본 명세서에 개시된 일 실시예에 따른 리소스 분배 방법에서 계산된 리소스 별 부하에 기초하여 소스 물리 머신을 결정 하는 단계를 설명하는 순서도이다.
도 8은 본 명세서에 개시된 일 실시예에 따른 리소스 분배 방법에서 전체 부하가 제2 임계값 미만인 각 물리 머신에 대하여 기준 리소스의 부하를 계산하는 단계를 설명하는 순서도이다.
도 9는 본 명세서에 개시된 다른 실시예에 따른 리소스 분배 방법을 설명하는 순서도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
클라우드 컴퓨팅에서의 리소스 분배 장치 및 그 방법
클라우드 컴퓨팅 시스템은 가상화 기술을 이용하여 하나의 물리 머신 내에 다수의 가상 머신을 구현한다. 종래의 클라우드 컴퓨팅 시스템은 가용 리소스를 확보하고 있는 물리 머신 중에서 무작위로 선택된 물리 머신에서 가상 머신이 생성되도록 한다. 그런데 물리 머신이 보유한 한정된 리소스(프로세싱 리소스, 디스크 입출력 리소스, 네트워크 송수신 리소스 등)를 다수의 가상 머신이 나누어 사용하고, 각 가상 머신은 각기 서로 다른 용도와 목적에 따라 동작됨에 따라, 특정 종류의 리소스가 편중되어 사용될 가능성이 상존한다. 이와 같이 특정 종류의 리소스가 편중되게 사용되면, 가상 머신 및 물리 머신의 성능 저하가 발생하고, 클라우드 컴퓨팅 환경 전체의 리소스 활용도가 저하되는 문제가 있다.
본 명세서에 개시된 일 실시예에 따른 리소스 분배 방법은, 클라우드 컴퓨팅 환경에서 물리 머신 및 가상 머신의 리소스 사용 내역을 분석한 결과에 기초하여 리소스의 편중 사항으로 인하여 성능 저하가 발생하고 있거나 발생이 예상되는 물리 머신, 해당 물리 머신에서 편중 사용되는 리소스 및 해당 리소스를 최대로 사용 중인 가상 머신을 선택하고, 가용한 리소스를 보유하고 있는 물리 머신으로 가상 머신을 이전함으로써, 클라우드 컴퓨팅 시스템 전체의 리소스 활용률을 개선시킬 수 있도록 하는 방법을 제공한다.
구체적으로, 본 명세서에 개시된 일 실시예에 따른 리소스 분배 장치(100)는 클라우드 컴퓨팅 환경에서 특정 리소스의 편중된 사용으로 인한 성능 저하 요인을 갖고 있는 물리 머신과, 편중 사용되고 있는 리소스를 판별한다. 또한, 리소스 분배 장치(100)는 해당 물리 머신 내에서 편중 사용되고 있는 리소스를 특히 집중적으로 사용하고 있는 가상 머신을 판별한다. 그리고 리소스 분배 장치(100)는 이전 대상으로 결정된 가상 머신을 운용할 수 있는 적절한 물리 머신을 탐색하고, 그 중에서 상기 편중 사용되고 있는 리소스의 가용량이 최대인 물리 머신을 가상 머신을 이전 받을 물리 머신으로 결정한다.
도 1은 본 명세서에 개시된 일 실시예에 따른 리소스 분배 방법의 실행 전의 클라우드 컴퓨팅 시스템 상태를 나타내는 예시도이다.
도 1에 나타난 바와 같이, 클라우드 컴퓨팅 시스템 또는 클라우드 컴퓨팅 환경은 적어도 하나의 물리 머신(10, 20, 30, 40)으로 구성된다.
이하에서는 설명의 용이를 위하여 클라우드 컴퓨팅 시스템을 구성하는 물리 머신이 4개인 경우를 가정하여 설명한다. 다만, 클라우드 컴퓨팅 시스템을 구성하는 물리 머신이 4개인 경우는 본 발명의 일 실시예를 설명하기 위한 것일 뿐, 본 발명의 기술적 사상이 이러한 실시예에 한정되지 않음에 유의하여야 한다.
전형적인 물리 머신(10, 20, 30, 40)은 중앙처리장치(central processing unit; CPU), 메모리, 네트워크 연결 모듈 등을 구비한 컴퓨터이며, 예를 들어, 서버, 데스크탑 컴퓨터, 랩탑 컴퓨터 등일 수 있다. 물리 머신(10, 20, 30, 40)은 탑재된 하드웨어 및/또는 소프트웨어에 따라 결정되는 일정 크기의 리소스(resource)를 보유한다.
여기서, 리소스(resource)란 물리 머신이 사용자가 원하는 서비스를 제공하기 위해 사용하는 하드웨어 리소스 또는 소프트웨어 리소스를 의미한다. 구체적으로, 리소스는 물리 머신이 가상 머신을 동작시키기 위해 필요한 프로세싱 리소스(컴퓨팅 리소스, CPU 리소스), 디스크 입출력 리소스, 네트워크 송수신 리소스 등을 포함할 수 있다.
여기서, 프로세싱 리소스는 클라우드 컴퓨팅 서비스를 제공하기 위한 명령(command), 인스트럭션(instruction), 제어 코드(control code) 등을 실행하는데 필요한 리소스를 의미한다(도 1의 막대 그래프 상에 표시된 'C'). 디스크 입출력 리소스는 클라우드 컴퓨팅 서비스 중 데이터 저장 관련 서비스를 제공하는데 필요한 리소스를 의미한다(도 1의 막대 그래프 상에 표시된 'D'). 네트워크 송수신 리소스는 클라우드 컴퓨팅 서비스로의 접속, 유무선 데이터 통신망을 통한 데이터 송수신 등에 관련된 서비스를 제공하는데 필요한 리소스를 의미한다(도 1의 막대 그래프 상에 표시된 'N').
이하에서는 설명의 용이를 위하여 클라우드 컴퓨팅 시스템을 구성하는 물리 머신의 리소스가 프로세싱 리소스, 디스크 입출력 리소스 및 네트워크 송수신 리소스로 구성되는 경우를 가정하여 설명한다. 다만, 클라우드 컴퓨팅 시스템을 구성하는 물리 머신의 리소스가 프로세싱 리소스, 디스크 입출력 리소스 및 네트워크 송수신 리소스인 경우는 본 발명의 일 실시예를 설명하기 위한 것일 뿐, 본 발명의 기술적 사상이 이러한 실시예에 한정되지 않음에 유의하여야 한다. 즉, 그래픽 프로세싱 리소스와 같이 보다 세분화된 리소스 분류에 기초하여 본 발명의 일 실시예에 따른 리소스 분배 방법이 수행될 수도 있다.
더 많은 리소스를 보유한 물리 머신은 더 많은 작업 부하(work load, task load)를 지연 없이 처리할 수 있다. 예를 들어, 더 많은 리소스를 보유한 물리 머신은 더 많은 사용자에게 동시에 클라우드 컴퓨팅 서비스를 제공할 수 있고, 더 많은 가상 머신을 동작시킬 수 있다.
물리 머신(10, 20, 30, 40)은 자신이 보유한 하드웨어 및 소프트웨어 리소스를 이용하여 적어도 하나의 가상 머신(11 내지 14, 21 내지 23, 31 내지 34, 41 내지 43)을 운용할 수 있다. 가상 머신(11 내지 14, 21 내지 23, 31 내지 34, 41 내지 43)은 물리 머신(10, 20, 30, 40)의 리소스를 이용하여 운영체제(operating system; OS) 상에서 클라우드 컴퓨팅 서비스와 관련된 애플리케이션(application; APP)을 실행한다.
각 가상 머신(11 내지 14, 21 내지 23, 31 내지 34, 41 내지 43)은 사용하는 리소스의 종류나 양이 서로 다를 수 있다. 도 1에 각 가상 머신(11 내지 14, 21 내지 23, 31 내지 34, 41 내지 43)이 사용하는 프로세싱 리소스(컴퓨팅 리소스, C), 디스크 입출력 리소스(D), 네트워크 송수신 리소스(N)의 양, 즉 리소스 별 부하(load)를 나타내는 막대 그래프(15 내지 18, 25 내지 27, 35 내지 38, 45 내지 47)가 나타나 있다. 또한, 도 1에는 물리 머신(10, 20, 30, 40)이 가상 머신(11 내지 14, 21 내지 23, 31 내지 34, 41 내지 43)을 동작시키기 위한 리소스 별 부하의 총합인 전체 부하를 나타내는 막대 그래프(19, 29, 39, 49)도 나타나 있다.
도 1을 참조하여 본 명세서에 개시된 일 실시예에 따른 클라우드 컴퓨팅에서의 리소스 분배 방법의 수행 과정을 구체적으로 설명한다. 도 1에 따로 도시되지는 않았지만, 본 명세서에 개시된 일 실시예에 따른 클라우드 컴퓨팅에서의 리소스 분배 방법은 물리 머신과 별개로 존재하는 제어 서버(control server) 또는 리소스 분배 장치에 의해 수행된다. 제어 서버(미도시)는 유무선 통신 네트워크를 통하여 물리 머신과 연결된다.
먼저, 제어 서버(미도시)는 전체 부하가 미리 정해진 제1 임계값 이상인 물리 머신들 중에서 특정 종류의 리소스의 부하가 다른 종류의 리소스에 비해 특히 큰 것을 판별한다.
여기서, 리소스 부하는 리소스에 대한 사용 요구량, 리소스의 현재 사용 점유율, 리소스와 관련하여 현재 처리 중인 인터럽트(interrupt) 개수, 리소스와 관련하여 현재 처리 중인 작업(task) 개수 등으로 이해될 수 있다. 특히, 물리 머신의 전체 부하 또는 리소스 별 부하를 산출하는 기준은 해당 물리 머신에서 현재 처리 중인 시스템 인터럽트 개수일 수 있다.
예를 들어, 제어 서버는 클라우드 컴퓨팅 시스템을 구성하는 물리 머신들 중 현재 처리 중인 시스템 인터럽트 개수가 상기 제1 임계값 이상인 물리 머신을 먼저 판별하고, 그러한 조건을 만족하는 물리 머신 중 특정 리소스의 부하 비율과 다른 리소스의 부하 비율의 격차가 최대인 물리 머신 및 상기 특정 리소스를 판별한다.
도 1을 참조하면, 제어 서버(미도시)는 물리 머신(10, 20, 30, 40) 중 전체 부하가 제1 임계값 이상인 물리 머신을 선택한다. 이하에서는 물리 머신(10, 30)의 전체 부하가 상기 제1 임계값 이상이고, 물리 머신(20, 40)의 전체 부하가 제2 임계값 미만인 것으로 가정한다. 상술한 바와 같이, 각 물리 머신(10, 20, 30, 40)의 전체 부하를 나타내는 막대 그래프(19, 29, 39, 49)가 도 1에 나타나 있다.
제어 서버(미도시)는 전체 부하가 제1 임계값 이상인 물리 머신(10, 30)을 선택하고, 그 중에서 리소스 사용(리소스 부하 비율)이 가장 편중된 리소스('D')와 그와 같은 리소스 별 부하 상태에 있는 물리 머신(10)을 결정한다. 도 1의 막대 그래프(19, 39)에 나타난 바와 같이, 사용이 가장 편중된 리소스는 리소스('D')이고, 그러한 리소스('D') 사용이 가장 편중되어 있는 물리 머신은 물리 머신(10)인 것을 알 수 있다.
이하에서는 상술한 바와 같이 리소스 사용이 가장 편중된 리소스(도 1 에서는 'D')를 '기준 리소스'라고 칭한다. 리소스 사용의 편중 정도를 평가하는 지표의 구체적인 산출 방법에 대해서는 후술한다.
제어 서버(미도시)는 물리 머신(10)이 운용하고 있는 가상 머신(11 내지 14) 중 리소스('D')의 부하가 최대인 가상 머신(14)을 선택하고, 선택된 가상 머신(14)을 다른 물리 머신으로 이전할 대상으로 결정한다. 도 1의 막대 그래프(15 내지 18)에 나타난 바와 같이, 가상 머신(11 내지 14) 중 리소스('D')의 사용량이 최대인 것은 가상 머신(14)인 것을 알 수 있다.
이전 대상인 가상 머신(14)을 결정한 후, 제어 서버(미도시)는 가상 머신(14)을 이전 받을 물리 머신을 결정한다. 먼저, 제어 서버(미도시)는 물리 머신(10, 20, 30, 40) 중 전체 부하가 제2 임계값 미만인 물리 머신(20, 40)을 선택한다. 그리고 제어 서버(미도시)는 선택된 물리 머신(20, 40) 중에서 상기 기준 리소스(도 1에서는 'D')의 사용량(리소스 부하 비율)이 가장 낮은 물리 머신(20)을 가상 머신을 이전 받을 물리 머신으로 결정한다. 즉, 제어 서버(미도시)는 리소스 부하 관점에서 이전 받을 가상 머신을 수용하여 운용하기에 가장 적절한 물리 머신을 선택한다. 도 1의 막대 그래프(29, 49)에 나타난 바와 같이, 가상 머신(20, 40) 중 리소스('D')의 사용량이 가장 낮은 것은 가상 머신(20)인 것을 알 수 있다.
제어 서버(미도시)는 가상 머신 이전 기법(예를 들어, 실시간 가상 머신 이전 기법(live virtual machine migration))을 이용하여 물리 머신(10)에서 동작하던 가상 머신(14)를 물리 머신(20)으로 이전한다.
도 2는 본 명세서에 개시된 일 실시예에 따른 리소스 분배 방법의 실행 후의 클라우드 컴퓨팅 시스템 상태를 나타내는 예시도이다.
도 1에서의 물리 머신(10, 20, 30, 40)의 리소스 사용 상태(19, 29, 39, 49)와 비교하였을 때, 도 2에서의 물리 머신(10, 20, 30, 40)의 리소스 사용 상태(19, 29, 39, 49)가 리소스 사용 상 편중 정도가 완화된 것을 알 수 있다. 제어 서버(미도시)가 상술한 바와 같은 가상 머신 이전 작업을 반복적으로 수행함으로써 클라우드 컴퓨팅 시스템 전체의 리소스 사용 패턴이 균등화되고, 그 결과 리소스 사용 효율성 및 클라우드 컴퓨팅 서비스 처리량을 증가시킬 수 있다.
도 3은 본 명세서에 개시된 일 실시예에 따른 클라우드 컴퓨팅 시스템을 나타내는 개념도이다.
본 명세서에 개시된 일 실시예에 따른 클라우드 컴퓨팅 시스템은 가상화 기술이 적용된 복수의 물리 머신(10, 20, 30)과 그 내부에서 동작하는 적어도 하나의 가상 머신(11, 21, 22), 머신 별 리소스 사용 내역 데이터에 기초하여 물리 머신(10, 20, 30) 및 가상 머신(11, 21, 31)의 동작을 제어하는 제어 서버(control server, 100), 그리고 상기 머신 별 리소스 사용 내역 데이터(머신 별 리소스 사용 정보), 클라우드 컴퓨팅 시스템 설정 정보, 각종 제어 코드 및 데이터 등을 저장하는 데이터베이스(database, 200) 등을 포함할 수 있다.
특히, 제어 서버(100)는 데이터베이스(200)로부터 수신된 머신 별 리소스 사용 내역 데이터(머신 별 리소스 사용 정보)에 기초하여 복수의 물리 머신의 리소스 사용이 균등화될 수 있도록 복수의 물리 머신 간에 가상 머신이 이전되도록 제어한다.
도 3에 나타난 바와 달리, 클라우드 컴퓨팅 시스템에 별도의 데이터베이스(200)가 구비되지 아니하고, 제어 서버(100)가 데이터베이스 기능을 수행할 수도 있다.
이하에서는 본 명세서에 개시된 일 실시예에 따른 클라우드 컴퓨팅에서의 리소스 분배 장치(100)의 구성 및 기능에 대해 설명한다. 상술한 바와 같이, 본 명세서에 개시된 일 실시예에 따른 클라우드 컴퓨팅에서의 리소스 분배 장치(100)는 제어 서버일 수 있다.
도 4는 본 명세서에 개시된 일 실시예에 따른 리소스 분배 장치를 나타내는 블록도이다.
도 4에 나타난 바와 같이, 리소스 분배 장치(100)는 크게 소스 물리 머신 결정 모듈(110), 기준 리소스 결정 모듈(120), 가상 머신 선택 모듈(130), 타겟 물리 머신 결정 모듈(140), 가상 머신 이전 제어 모듈(150), 통신부(160) 등을 포함할 수 있다. 도 4에 나타난 구성요소들이 필수적인 것은 아니어서, 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 갖는 리소스 분배 장치(100)가 구현될 수도 있다. 이하, 상기 구성요소들에 대해 차례로 살펴본다.
소스 물리 머신 결정 모듈(110)은 전체 부하가 제1 임계값 이상인 각 물리 머신에 대하여 리소스 별 부하를 계산하고, 상기 계산된 리소스 별 부하에 기초하여 소스 물리 머신을 결정한다. 여기서, 상기 부하는 물리 머신에서 현재 처리 중인 인터럽트 개수에 기초하여 계산될 수 있다.
통상적으로, 제1 장치가 제2 장치의 작업을 잠시 중단시키고 자신의 상태 변화를 알리는 형태로 인터럽트를 발생시키면, 인터럽트를 받은 제2 장치는 자신의 현재 작업 상태를 저장하고 인터럽트를 처리하기 위한 작업을 수행한 후, 저장된 이전 작업 상태로 복귀한다. 이 과정에서 물리 머신의 동작 상태가 변화하는 데에 수반되는 컨텍스트 스위칭(context switching) 부하가 발생된다.
여기서, 상기 제1 임계값 및 상기 제2 임계값은, 리소스 분배 장치(100)가 클라우드 컴퓨팅 시스템 전체의 리소스 사용 효율을 높이기 위해 물리 머신 간 가상 머신 이전을 수행할 시점 및 이전 대상을 결정하는데 이용되는 트리거 값(trigger value)으로 이해될 수 있다. 상기 제1 임계값 및 상기 제2 임계값은 0 ~ 1 사이의 값으로 결정될 수 있다.
상기 제1 임계값 및 상기 제2 임계값은 클라우드 컴퓨팅 시스템 관리자(administrator)에 의해 정책적으로 결정되거나, 미리 설정된 서비스 성능 수준을 유지할 수 있도록 클라우드 컴퓨팅 시스템에 의해 적응적으로 결정될 수도 있다. 예를 들어, 특정 물리 머신에서 특정 리소스가 편중 사용됨에 따라 해당 물리 머신 또는 클라우드 컴퓨팅 시스템의 스트레스 지수가 높아지는 경우, 클라우드 컴퓨팅 시스템은 자동적으로 상기 제1 임계값을 낮춤으로써 리소스 부하 균등화를 위한 가상 머신 이전의 수행 빈도를 증가시킬 수도 있다.
리소스 분배 장치(100)는 상기 제1 임계값 및 상기 제2 임계값을 기준으로 가상 머신을 이전할 물리 머신과 가상 머신을 이전 받을 물리 머신을 결정한다.
구체적으로, 소스 물리 머신 결정 모듈(110)은, 각 물리 머신에 대하여 최대 처리 가능 인터럽트 개수를 설정하고, 각 물리 머신에 대하여 상기 최대 처리 가능 인터럽트 개수 대비 현재 처리 중인 전체 인터럽트 개수의 비율을 각 물리 머신의 전체 부하로 결정할 수 있다. 일반적으로 각 물리 머신은 다양한 규격과 그에 따른 성능 및 리소스를 보유하는 서로 다른 물리적인 서버이다.
그리고 소스 물리 머신 결정 모듈(110)은 상기 결정된 전체 부하가 상기 제1 임계값 이상인 물리 머신을 선택하고, 상기 선택된 각 물리 머신에 대하여 상기 현재 처리 중인 전체 인터럽트 개수 대비 현재 처리 중인 리소스 별 인터럽트 개수의 비율을 각 물리 머신에 있어서 각 리소스 별 부하로 결정할 수 있다.
이때, 소스 물리 머신 결정 모듈(110)은, 전체 부하가 제1 임계값 이상인 각 물리 머신에 있어서, 부하가 최대인 리소스의 부하와 나머지 리소스의 부하의 차들의 합계를 계산하고, 최대 합계를 갖는 물리 머신을 상기 소스 물리 머신으로 결정할 수 있다.
구체적으로, 소스 물리 머신 결정 모듈(110)은, 전체 부하가 상기 제1 임계값 이상인 각 물리 머신에 있어서, 현재 처리 중인 인터럽트 개수가 최대인 리소스의 현재 처리 중인 인터럽트 개수와 나머지 리소스의 현재 처리 중인 인터럽트 개수의 차들의 합계를 계산한 결과에 기초하여 상기 소스 물리 머신을 결정할 수 있다. 소스 물리 머신을 결정하기 위해 리소스 사용의 편중 정도를 평가하는 구체적인 산출 방법에 대해서는 후술한다.
한편, 기준 리소스 결정 모듈(120)은 상기 결정된 소스 물리 머신에서 부하가 최대인 리소스를 기준 리소스로 결정한다.
가상 머신 선택 모듈(130)은 상기 소스 물리 머신 상에서 동작하고 있는 가상 머신 중 상기 기준 리소스의 부하가 최대인 가상 머신을 선택한다. 구체적으로, 가상 머신 선택 모듈(130)은 상기 소스 물리 머신 상에서 동작하고 있는 가상 머신 중 상기 기준 리소스의 현재 처리 중인 인터럽트 개수가 최대인 가상 머신을 선택할 수 있다.
타겟 물리 머신 결정 모듈(140)은 전체 부하가 상기 제2 임계값 미만인 각 물리 머신에 대하여 상기 기준 리소스의 부하를 계산하고, 상기 기준 리소스의 부하가 최소인 물리 머신을 타겟 물리 머신으로 결정한다.
구체적으로, 타겟 물리 머신 결정 모듈(140)은, 각 물리 머신에 대하여 최대 처리 가능 인터럽트 개수를 설정하고, 각 물리 머신에 대하여 상기 최대 처리 가능 인터럽트 개수 대비 현재 처리 중인 전체 인터럽트 개수의 비율을 각 물리 머신의 전체 부하로 결정할 수 있다. 소스 물리 머신 결정 모듈(110)이 이미 각 물리 머신에 대하여 최대 처리 가능 인터럽트 개수를 설정하고, 각 물리 머신의 전체 부하로 결정한 경우에는, 타겟 물리 머신 결정 모듈(140)은 상기 과정의 수행을 생략할 수 있다.
그리고 타겟 물리 머신 결정 모듈(140)은, 상기 결정된 전체 부하가 상기 제2 임계값 미만인 물리 머신을 선택하고, 상기 선택된 각 물리 머신에 대하여 현재 처리 중인 전체 인터럽트 개수 대비 상기 기준 리소스의 현재 처리 중인 인터럽트 개수의 비율을 각 물리 머신에 있어서 상기 기준 리소스의 부하로 결정할 수 있다.
가상 머신 이전 제어 모듈(150)은 상기 선택된 가상 머신을 상기 소스 물리 머신으로부터 상기 타겟 물리 머신으로 이전하도록 제어한다.
특히, 가상 머신 이전 제어 모듈(150)은 실시간 가상 머신 이전(live virtual machine migration) 방식으로 상기 선택된 가상 머신을 상기 타겟 물리 머신으로 이전하도록 제어할 수 있다. 실시간 가상 머신 이전 기술은 동작 중인 가상 머신의 성능 저하를 최소화하면서 다른 물리 머신으로 가상 머신을 이전시킬 수 있다.
한편, 통신부(160)는 물리 머신 및 가상 머신에 대한 리소스 부하 데이터를 수신하고, 가상 머신 이전을 위한 제어 코드를 물리 머신 및/또는 가상 머신으로 송신한다.
도 5는 본 명세서에 개시된 일 실시예에 따른 리소스 분배 방법을 설명하는 순서도이다.
도 5를 참조하면, 클라우드 컴퓨팅에서의 리소스 분배 장치(100)는 전체 부하가 제1 임계값 이상인 각 물리 머신에 대하여 리소스 별 부하를 계산한다(S510). 여기서, 상기 리소스는 프로세싱 리소스, 디스크 입출력 리소스 또는 네트워크 송수신 리소스일 수 있다. 그리고 상기 부하는 현재 처리 중인 인터럽트 개수에 기초하여 계산될 수 있다.
도 6은 본 명세서에 개시된 일 실시예에 따른 리소스 분배 방법에서 전체 부하가 제1 임계값 이상인 각 물리 머신에 대하여 리소스 별 부하를 계산하는 단계를 설명하는 순서도이다.
도 6을 참조하면, 상기 리소스 별 부하를 계산하는 단계(S510)는, 각 물리 머신에 대하여 최대 처리 가능 인터럽트 개수를 설정하는 단계(S511), 각 물리 머신에 대하여 상기 최대 처리 가능 인터럽트 개수 대비 현재 처리 중인 전체 인터럽트 개수의 비율을 각 물리 머신의 전체 부하로 결정하는 단계(S513), 상기 결정된 전체 부하가 제1 임계값 이상인 물리 머신을 선택하는 단계(S515) 및 상기 선택된 각 물리 머신에 대하여 상기 현재 처리 중인 전체 인터럽트 개수 대비 현재 처리 중인 리소스 별 인터럽트 개수의 비율을 각 물리 머신에 있어서 각 리소스 별 부하로 결정하는 단계(S517)를 포함할 수 있다.
각 물리 머신에 대하여 최대 처리 가능 인터럽트 개수를 설정하는 단계(S511)에 있어서, 리소스 분배 장치(100)는 각 물리 머신의 하드웨어 및/또는 소프트웨어 규격에 대응하는 최대 처리 가능 인터럽트 개수를 설정할 수 있다. 물리 머신의 하드웨어 및/또는 소프트웨어 규격과 최대 처리 가능 인터럽트 개수를 서로 대응시키는 상관 관계에 대한 수식 또는 테이블이 리소스 분배 장치(100) 또는 별도의 데이터베이스(200)에 저장되어 참조될 수 있다.
예를 들어, 상기 상관 관계에 대한 테이블에 포함되는 최대 처리 가능 인터럽트 개수는 물리 머신의 하드웨어 및/또는 소프트웨어 규격에 대한 실험 결과로부터 도출된 평균값으로 정해질 수 있으며, 클라우드 컴퓨팅 시스템 관리자가 각 물리 머신에 대한 최대 처리 가능 인터럽트 개수를 데이터베이스(200)에 미리 등록해 놓을 수도 있다.
상술한 바와 같이, 상기 제1 임계값은 물리 머신에 가해진 스트레스 지수로 이해될 수 있다. 상기 제1 임계값은 미리 정해진 관리 정책에 따라 클라우드 컴퓨팅 시스템 관리자에 의해 설정될 수도 있고, 클라우드 컴퓨팅 시스템의 동작 중에 적응적으로 또는 동적으로 클라우드 컴퓨팅 시스템에 의해 설정 또는 변경될 수도 있다. 상기 제1 임계값은 상기 최대 처리 가능 인터럽트 개수와 마찬가지로 리소스 분배 장치(100) 또는 별도의 데이터베이스(200)에 저장될 수 있다.
각 물리 머신의 전체 부하로 결정하는 단계(S513)에 있어서, 리소스 분배 장치(100)는 각 물리 머신의 전체 부하 또는 스트레스 지수(stress index, Pi)를 아래의 수학식 1과 같이 계산할 수 있다. 물리 머신의 전체 부하(Pi) 또는 스트레스 지수(Pi)는 0 ~ 1 사이의 값을 갖는다.
Figure 112010075538441-pat00001
여기서, Pi는 i번째 물리 머신의 전체 부하, Pi,curint는 i번째 물리 머신에서 현재 처리 중인 전체 인터럽트 개수, Pi,maxint는 i번째 물리 머신에서 설정된 최대 처리 가능 인터럽트 개수다.
상기 물리 머신을 선택하는 단계(S515)에 있어서, 리소스 분배 장치(100)는 클라우드 컴퓨팅 시스템을 구성하는 총 n개의 물리 머신 중에서 전체 부하(Pi) 또는 스트레스 지수(Pi)가 상기 제1 임계값 이상인 m개의 물리 머신을 선택한다.
각 물리 머신에 있어서 각 리소스 별 부하를 결정하는 단계(S517)에 있어서, 리소스 분배 장치(100)는 선택된 m개의 물리 머신의 리소스 별 부하(Ci, Di, Ni)를 아래의 수학식 2와 같이 계산할 수 있다.
Figure 112010075538441-pat00002
여기서, Ci는 선택된 m개의 물리 머신 중 i번째 물리 머신의 프로세싱 리소스 부하, Di는 선택된 m개의 물리 머신 중 i번째 물리 머신의 디스크 입출력 리소스 부하, Ni는 선택된 m개의 물리 머신 중 i번째 물리 머신의 네트워크 송수신 리소스 부하, Ci,curint는 선택된 m개의 물리 머신 중 i번째 물리 머신에서 현재 처리 중인 프로세싱 인터럽트 개수, Di,curint는 선택된 m개의 물리 머신 중 i번째 물리 머신에서 현재 처리 중인 디스크 입출력 인터럽트 개수, Ni,curint는 선택된 m개의 물리 머신 중 i번째 물리 머신에서 현재 처리 중인 네트워크 송수신 인터럽트 개수, Pi,curint는 선택된 m개의 물리 머신 중 i번째 물리 머신에서 현재 처리 중인 전체 인터럽트 개수이다.
다시 도 5를 참조하면, 리소스 분배 장치(100)는 상기 계산된 리소스 별 부하에 기초하여 소스 물리 머신(PMA)을 결정한다(S520).
도 7은 본 명세서에 개시된 일 실시예에 따른 리소스 분배 방법에서 계산된 리소스 별 부하에 기초하여 소스 물리 머신을 결정 하는 단계를 설명하는 순서도이다.
도 7을 참조하면, 상기 소스 물리 머신(PMA)을 결정하는 단계(S520)는, 전체 부하가 제1 임계값 이상인 각 물리 머신에 있어서, 부하가 최대인 리소스의 부하와 나머지 리소스의 부하의 차들의 합계를 계산하는 단계(S521) 및 최대 합계를 갖는 물리 머신을 상기 소스 물리 머신(PMA)으로 결정하는 단계(S523)를 포함할 수 있다.
특히, 상기 합계를 계산하는 단계(S521)에 있어서, 리소스 분배 장치(100)는, 전체 부하가 상기 제1 임계값 이상인 각 물리 머신에 있어서, 현재 처리 중인 인터럽트 개수가 최대인 리소스의 현재 처리 중인 인터럽트 개수와 나머지 리소스의 현재 처리 중인 인터럽트 개수의 차들의 합계를 계산할 수 있다.
즉, 리소스 분배 장치(100)는 선택된 m개의 물리 머신에 대하여 리소스 사용 편중 정도(Ui) 또는 리소스 별 인터럽트 개수 격차(Ui)를 아래의 수학식 3과 같이 계산할 수 있다. 리소스 분배 장치(100)는 최대 리소스 사용 편중 정도(Ui) 값을 갖는 물리 머신을 상기 소스 물리 머신(PMA)으로 결정할 수 있다.
Figure 112010075538441-pat00003
여기서, Ui는 i번째 물리 머신의 리소스 사용 편중 정도, Ci는 i번째 물리 머신의 프로세싱 리소스 부하, Di는 i번째 물리 머신의 디스크 입출력 리소스 부하, Ni는 i번째 물리 머신의 네트워크 송수신 리소스 부하, Mi는 Ci, Di, Ni 중 최대값, Ai, Bi는 Mi가 아닌 나머지 리소스 부하이다.
다시 도 5를 참조하면, 리소스 분배 장치(100)는 상기 소스 물리 머신에서 부하가 최대인 리소스를 기준 리소스(R)로 결정한다(S530). 즉, 리소스 분배 장치(100)는 최대 리소스 사용 편중 정도(Ui)를 나타내는 리소스를 상기 기준 리소스(R)로 결정할 수 있다.
그리고 리소스 분배 장치(100)는 상기 소스 물리 머신 상에서 동작하고 있는 가상 머신 중 상기 기준 리소스(R)의 부하가 최대인 가상 머신을 선택한다(S540). 이때, 리소스 분배 장치(100)는 상기 소스 물리 머신 상에서 동작하고 있는 가상 머신 중 상기 기준 리소스(R)에 대하여 현재 처리 중인 인터럽트 개수가 최대인 가상 머신을 선택할 수 있다.
상기 가상 머신을 선택하는 단계(S540)에 있어서, 리소스 분배 장치(100)는 소스 물리 머신(PMA)에서 동작되고 있는 총 k개의 가상 머신 중에서 기준 리소스(R)의 부하 또는 기준 리소스(R)에 대해 현재 처리중인 인터럽트 개수가 최대인 가상 머신을 이전 대상으로 선택할 수 있다.
그리고 리소스 분배 장치(100)는 전체 부하가 제2 임계값 미만인 각 물리 머신에 대하여 상기 기준 리소스의 부하를 계산한다(S550).
도 8은 본 명세서에 개시된 일 실시예에 따른 리소스 분배 방법에서 전체 부하가 제2 임계값 미만인 각 물리 머신에 대하여 기준 리소스의 부하를 계산하는 단계를 설명하는 순서도이다.
도 8을 참조하면, 상기 기준 리소스의 처리 부하를 계산하는 단계(S550)는, 각 물리 머신에 대하여 최대 처리 가능 인터럽트 개수를 설정하는 단계(S551), 각 물리 머신에 대하여 상기 최대 처리 가능 인터럽트 개수 대비 현재 처리 중인 전체 인터럽트 개수의 비율을 각 물리 머신의 전체 부하로 결정하는 단계(S553), 상기 결정된 전체 부하가 상기 제2 임계값 미만인 물리 머신을 선택하는 단계(S555) 및 상기 선택된 각 물리 머신에 대하여 현재 처리 중인 전체 인터럽트 개수 대비 상기 기준 리소스의 현재 처리 중인 인터럽트 개수의 비율을 각 물리 머신에 있어서 상기 기준 리소스의 부하로 결정하는 단계(S557)를 포함할 수 있다. 다만, 리소스 분배 장치(100)가 각 물리 머신에 대하여 최대 처리 가능 인터럽트 개수를 설정하는 단계(S511) 및/또는 각 물리 머신의 전체 부하를 결정하는 단계(S513)를 미리 수행한 경우에는 단계(S551) 및/또는 단계(S553)은 생략될 수 있다.
특히, 각 물리 머신에 있어서 기준 리소스(R)의 부하로 결정하는 단계(S557)에 있어서, 리소스 분배 장치(100)는 전체 부하가 상기 제2 임계값 미만인 r(= n - m)개의 물리 머신에 있어서 기준 리소스(R)의 부하(Ri)를 아래의 수학식 4와 같이 계산할 수 있다.
Figure 112010075538441-pat00004
여기서, Ri는 전체 부하가 제2 임계값 미만인 r개의 물리 머신 중 i번째 물리 머신의 기준 리소스 부하, Ri,curint는 전체 부하가 제2 임계값 미만인 r개의 물리 머신 중 i번째 물리 머신에서 기준 리소스에 관련하여 현재 처리 중인 인터럽트 개수, Pi,curint는 전체 부하가 제2 임계값 미만인 r개의 물리 머신 중 i번째 물리 머신에서 현재 처리 중인 전체 인터럽트 개수이다.
다시 도 5를 참조하면, 리소스 분배 장치(100)는 상기 기준 리소스(R)의 부하(Ri)가 최소인 물리 머신을 타겟 물리 머신(PMB)으로 결정한다(S560).
그리고 리소스 분배 장치(100)는 상기 선택된 가상 머신을 상기 소스 물리 머신(PMA)으로부터 상기 타겟 물리 머신(PMB)으로 이전하도록 제어한다(S570). 특히, 상기 선택된 가상 머신을 상기 타겟 물리 머신으로 이전하는 단계(S570)는 실시간 가상 머신 이전(live virtual machine migration) 방식으로 상기 선택된 가상 머신을 상기 타겟 물리 머신으로 이전할 수 있다.
상술한 리소스 분배 방법의 반복적인 수행을 통하여 클라우드 컴퓨팅 시스템 전체의 평균 리소스 부하 또는 평균 스트레스 지수는 상기 제1 임계값 이하의 일정 값으로 수렴된다.
본 명세서에 개시된 일 실시예에 따른 리소스 분배 방법에 대하여는 상술한 본 명세서에 개시된 일 실시예에 따른 리소스 분배 장치에 대하여 도 1 내지 도 4를 참조하여 설명한 바와 유사하게 이해될 수 있으므로 이하 상세한 설명을 생략한다.
도 9는 본 명세서에 개시된 다른 실시예에 따른 리소스 분배 방법을 설명하는 순서도이다.
도 9를 참조하면, 클라우드 컴퓨팅에서의 리소스 분배 장치(100)는 전체 부하가 제1 임계값 이상인 물리 머신 중에서 리소스 사용 편중 정도가 최대인 물리 머신을 소스 물리 머신으로 선택한다(S910).
그리고 리소스 분배 장치(100)는 상기 소스 물리 머신 상에서 동작하고 있는 가상 머신 중에서 리소스 사용 편중 정도가 최대인 가상 머신을 선택한다(S920).
그리고 리소스 분배 장치(100)는 전체 부하가 제2 임계값 미만인 물리 머신 중에서 상기 소스 물리 머신에서 가장 사용 편중 정도가 큰 리소스를 최대로 보유하고 있는 물리 머신을 타겟 물리 머신으로 선택한다(S930).
그리고 리소스 분배 장치(100)는 상기 선택된 가상 머신을 상기 소스 물리 머신에서 상기 타겟 물리 머신으로 이전하도록 제어한다(S940).
본 명세서에 개시된 다른 실시예에 따른 리소스 분배 방법에 대하여는 상술한 본 명세서에 개시된 일 실시예에 따른 리소스 분배 장치 및 리소스 분배 방법에 대하여 도 1 내지 도 8를 참조하여 설명한 바와 유사하게 이해될 수 있으므로 이하 상세한 설명을 생략한다.
한편, 도 1 내지 도 9를 참조하여 설명한 본 명세서에 개시된 실시예들에 따른 리소스 분배 장치 및 리소스 분배 방법에서는 현재 시점의 전체 부하 및/또는 리소스 별 부하를 기준으로 물리 머신 간의 리소스 분배를 조절하지만, 과거 시점의 전체 부하 및/또는 리소스 별 부하를 추가적으로 고려하여 물리 머신 간의 리소스 분배를 조절할 수도 있다.
즉, 클라우드 컴퓨팅 환경에서 각 물리 머신이 처리하는 부하(즉, 인터럽트의 종류 및 개수)는 일정한 패턴에 따르는 경향을 보이므로, 리소스 분배 장치(100)는 이러한 패턴에 기초하여 상기 제1 임계값, 상기 제2 임계값, 물리 머신의 전체 부하, 물리 머신의 리소스 별 부하 등의 판단 인자를 결정할 수 있다.
이와 같이, 클라우드 컴퓨팅 환경에서 시계열적으로 축적된 리소스 사용 내역 데이터로부터 상기 판단 인자를 결정하는 데 있어서, 이동평균법이 이용될 수 있다. 이동평균법 중 단순이동평균법은 과거와 현재의 리소스 사용 내역 데이터를 동일한 비중으로 취급하는 방법이다. 이동평균법 중 가중이동평균법은 최근의 리소스 사용 내역 데이터에 보다 큰 가중치를 부여하는 방법이다. 가중이동평균법 중 지수이동평균법(지수평활법)은 과거의 리소스 사용 내역 데이터가 판단 인자를 결정하는데 지속적으로 영향을 주는 방법으로서, 클라우드 컴퓨팅 시스템에서의 과거 리소스 사용 내역 데이터를 지속적으로 고려하면서 현재 시점의 상태 판단을 하는데 적절하다.
예를 들어, 상기 제1 임계값, 상기 제2 임계값, 물리 머신의 전체 부하, 물리 머신의 리소스 별 부하 등의 판단 인자를 결정하는데 있어서, 리소스 분배 장치(100)는 지수이동평균법(지수평활법)에 따라 데이터베이스(200)에 저장된 과거 및 현재의 리소스 사용 내역 데이터를 고려하여 상기 판단 인자를 결정할 수 있다.
과거 시점의 리소스 사용 내역 데이터를 추가로 고려하는 리소스 분배 방법에 대하여는 관련 기술분야의 통상의 지식과 상술한 본 명세서에 개시된 실시예들에 따른 리소스 분배 장치 및 리소스 분배 방법에 대하여 도 1 내지 도 6을 참조하여 설명한 바에 따라 용이하게 이해될 수 있으므로 이하 상세한 설명을 생략한다.
또한, 본 명세서에 개시된 일 실시예에 의하면, 전술한 방법은, 프로그램이 기록된 매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
상기와 같이 설명된 이동 단말기는 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
이상에서 본 명세서에 개시된 실시예들을 첨부된 도면들을 참조로 설명하였다.
여기서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 본 명세서에 개시된 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 명세서에 개시된 일 실시예에 불과할 뿐이고, 본 명세서에 개시된 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
10, 20, 30, 40: 물리 머신
11, 12, 13, 14, 21, 22, 23, 31, 32, 33, 34, 41, 42, 43: 가상 머신
100: 리소스 분배 장치, 제어 서버 110: 소스 물리 머신 결정 모듈
120: 기준 리소스 결정 모듈 130: 가상 머신 선택 모듈
140: 타겟 물리 머신 결정 모듈 150: 가상 머신 이전 제어 모듈
160: 통신부 200: 데이터베이스

Claims (28)

  1. 클라우드 컴퓨팅에서의 리소스 분배 방법에 있어서,
    전체 부하가 제1 임계값 이상인 각 물리 머신에 대하여 리소스 별 부하를 계산하고, 상기 계산된 리소스 별 부하에 기초하여 소스 물리 머신을 결정하는 단계;
    상기 소스 물리 머신에서 부하가 최대인 리소스를 기준 리소스로 결정하는 단계;
    상기 소스 물리 머신 상에서 동작하고 있는 다수개의 가상 머신들 중 상기 기준 리소스의 부하가 최대인 특정 가상 머신을 선택하는 단계;
    전체 부하가 제2 임계값 미만인 각 물리 머신에 대하여 상기 기준 리소스의 부하를 계산하고, 상기 기준 리소스의 부하가 최소인 물리 머신을 타겟 물리 머신으로 결정하는 단계, 여기서 상기 타겟 물리 머신은 다수개의 가상 머신들을 구동하고, 상기 타겟 물리 머신에서 구동되는 다수개의 가상 머신은 상기 소스 물리 머신에서 구동되는 다수개의 가상 머신과는 다르며, 상기 타겟 물리 머신 및 상기 소스 물리 머신에서 각기 구동되는 가상 머신은 운영체제 및 서비스 애플리케이션을 구동하고; 그리고
    상기 선택된 특정 가상 머신의 운영 체제 및 서비스 애플리케이션을 구동중인 상태로 실시간 가상 머신 이전(Live Virtual Machine Migration) 방식으로 상기 소스 물리 머신으로부터 상기 타겟 물리 머신으로 이전하는 단계를 포함하는 것을 특징으로 하는 리소스 분배 방법.
  2. 제1항에 있어서, 상기 리소스는
    프로세싱 리소스, 디스크 입출력 리소스, 그리고 네트워크 송수신 리소스 중 하나 이상을 포함하는 것을 특징으로 하는 리소스 분배 방법.
  3. 제1항에 있어서,
    상기 부하는 현재 처리 중인 인터럽트 개수에 기초하여 계산되는 것을 특징으로 하는 리소스 분배 방법.
  4. 제1항에 있어서,
    상기 리소스 별 부하를 계산하는 단계는,
    각 물리 머신에 대하여 최대 처리 가능 인터럽트 개수를 설정하는 단계;
    각 물리 머신에 대하여 상기 최대 처리 가능 인터럽트 개수 대비 현재 처리 중인 전체 인터럽트 개수의 비율을 각 물리 머신의 전체 부하로 결정하는 단계;
    상기 결정된 전체 부하가 상기 제1 임계값 이상인 물리 머신을 선택하는 단계; 및
    상기 선택된 각 물리 머신에 대하여 상기 현재 처리 중인 전체 인터럽트 개수 대비 현재 처리 중인 리소스 별 인터럽트 개수의 비율을 각 물리 머신에 있어서 각 리소스 별 부하로 결정하는 단계를 포함하는 것을 특징으로 하는 리소스 분배 방법.
  5. 제1항에 있어서,
    상기 소스 물리 머신을 결정하는 단계는,
    전체 부하가 상기 제1 임계값 이상인 각 물리 머신에 있어서, 부하가 최대인 리소스의 부하와 나머지 리소스의 부하의 차들의 합계를 계산하는 단계; 및
    최대 합계를 갖는 물리 머신을 상기 소스 물리 머신으로 결정하는 단계를 포함하는 것을 특징으로 하는 리소스 분배 방법.
  6. 제5항에 있어서,
    상기 합계를 계산하는 단계는, 전체 부하가 상기 제1 임계값 이상인 각 물리 머신에 있어서, 현재 처리 중인 인터럽트 개수가 최대인 리소스의 현재 처리 중인 인터럽트 개수와 나머지 리소스의 현재 처리 중인 인터럽트 개수의 차들의 합계를 계산하는 것을 특징으로 하는 리소스 분배 방법.
  7. 제1항에 있어서,
    상기 가상 머신을 선택하는 단계는, 상기 소스 물리 머신 상에서 동작하고 있는 가상 머신 중 상기 기준 리소스의 현재 처리 중인 인터럽트 개수가 최대인 가상 머신을 선택하는 것을 특징으로 하는 리소스 분배 방법.
  8. 제1항에 있어서,
    상기 기준 리소스의 처리 부하를 계산하는 단계는,
    각 물리 머신에 대하여 최대 처리 가능 인터럽트 개수를 설정하는 단계;
    각 물리 머신에 대하여 상기 최대 처리 가능 인터럽트 개수 대비 현재 처리 중인 전체 인터럽트 개수의 비율을 각 물리 머신의 전체 부하로 결정하는 단계;
    상기 결정된 전체 부하가 상기 제2 임계값 미만인 물리 머신을 선택하는 단계; 및
    상기 선택된 각 물리 머신에 대하여 현재 처리 중인 전체 인터럽트 개수 대비 상기 기준 리소스의 현재 처리 중인 인터럽트 개수의 비율을 각 물리 머신에 있어서 상기 기준 리소스의 부하로 결정하는 단계를 포함하는 것을 특징으로 하는 리소스 분배 방법.
  9. 삭제
  10. 제1항에 있어서,
    상기 제1 임계값은 상기 제2 임계값과 동일한 것을 특징으로 하는 리소스 분배 방법.
  11. 클라우드 컴퓨팅에서의 리소스 분배 방법에 있어서,
    전체 부하가 제1 임계값 이상인 물리 머신 중에서 리소스 사용 편중 정도가 최대인 물리 머신을 소스 물리 머신으로 선택하는 단계;
    상기 소스 물리 머신 상에서 동작하고 있는 다수개의 가상 머신들 중에서 리소스 사용 편중 정도가 최대인 특정 가상 머신을 선택하는 단계;
    전체 부하가 제2 임계값 미만인 물리 머신 중에서 상기 소스 물리 머신에서 가장 사용 편중 정도가 큰 리소스를 최대로 보유하고 있는 물리 머신을 타겟 물리 머신으로 선택하는 단계, 여기서 상기 타겟 물리 머신은 다수개의 가상 머신들을 구동하고, 상기 타겟 물리 머신에서 구동되는 다수개의 가상 머신은 상기 소스 물리 머신에서 구동되는 다수개의 가상 머신과는 다르며, 상기 타겟 물리 머신 및 상기 소스 물리 머신에서 각기 구동되는 가상 머신은 운영체제 및 서비스 애플리케이션을 구동하고; 및
    상기 선택된 특정 가상 머신의 운영 체제 및 서비스 애플리케이션을 구동중인 상태로 실시간 가상 머신 이전(Live Virtual Machine Migration) 방식으로 상기 소스 물리 머신으로부터 상기 타겟 물리 머신으로 이전하는 단계를 포함하는 리소스 분배 방법.
  12. 제11항에 있어서, 상기 리소스는
    프로세싱 리소스, 디스크 입출력 리소스, 그리고 네트워크 송수신 리소스 중 하나 이상을 포함하는 것을 특징으로 하는 리소스 분배 방법.
  13. 제11항에 있어서,
    상기 부하는 현재 처리 중인 인터럽트 개수에 기초하여 계산되는 것을 특징으로 하는 리소스 분배 방법.
  14. 클라우드 컴퓨팅에서의 리소스 분배 장치에 있어서,
    전체 부하가 제1 임계값 이상인 각 물리 머신에 대하여 리소스 별 부하를 계산하고, 상기 계산된 리소스 별 부하에 기초하여 소스 물리 머신을 결정하는 소스 물리 머신 결정 모듈;
    상기 소스 물리 머신에서 부하가 최대인 리소스를 기준 리소스로 결정하는 기준 리소스 결정 모듈;
    상기 소스 물리 머신 상에서 동작하고 있는 다수개의 가상 머신들 중 상기 기준 리소스의 부하가 최대인 특정 가상 머신을 선택하는 가상 머신 선택 모듈;
    전체 부하가 제2 임계값 미만인 각 물리 머신에 대하여 상기 기준 리소스의 부하를 계산하고, 상기 기준 리소스의 부하가 최소인 물리 머신을 타겟 물리 머신으로 결정하는 타겟 물리 머신 결정 모듈과, 여기서 상기 타겟 물리 머신은 다수개의 가상 머신들을 구동하고, 상기 타겟 물리 머신에서 구동되는 다수개의 가상 머신은 상기 소스 물리 머신에서 구동되는 다수개의 가상 머신과는 다르며, 상기 타겟 물리 머신 및 상기 소스 물리 머신에서 각기 구동되는 가상 머신은 운영체제 및 서비스 애플리케이션을 구동하고; 그리고
    상기 선택된 특정 가상 머신의 운영 체제 및 서비스 애플리케이션을 구동중인 상태로 실시간 가상 머신 이전(Live Virtual Machine Migration) 방식으로 상기 소스 물리 머신으로부터 상기 타겟 물리 머신으로 이전하도록 제어하는 가상 머신 이전 제어 모듈을 포함하는 리소스 분배 장치.
  15. 제14항에 있어서,
    복수의 물리 머신에 대한 리소스 부하 데이터를 수신하고, 가상 머신 이전을 위한 제어 코드를 송신하는 통신부를 더 포함하는 리소스 분배 장치.
  16. 제15항에 있어서,
    상기 통신부는 외부 데이터베이스로부터 상기 리소스 부하 데이터를 수신하 것을 특징으로 하는 리소스 분배 장치.
  17. 제14항에 있어서, 상기 리소스는
    프로세싱 리소스, 디스크 입출력 리소스, 그리고 네트워크 송수신 리소스 중 하나 이상을 포함하는 것을 특징으로 하는 리소스 분배 장치.
  18. 제14항에 있어서,
    상기 부하는 현재 처리 중인 인터럽트 개수에 기초하여 계산되는 것을 특징으로 하는 리소스 분배 장치.
  19. 제14항에 있어서,
    상기 소스 물리 머신 결정 모듈은, 각 물리 머신에 대하여 최대 처리 가능 인터럽트 개수를 설정하고, 각 물리 머신에 대하여 상기 최대 처리 가능 인터럽트 개수 대비 현재 처리 중인 전체 인터럽트 개수의 비율을 각 물리 머신의 전체 부하로 결정하며, 상기 결정된 전체 부하가 상기 제1 임계값 이상인 물리 머신을 선택하고, 상기 선택된 각 물리 머신에 대하여 상기 현재 처리 중인 전체 인터럽트 개수 대비 현재 처리 중인 리소스 별 인터럽트 개수의 비율을 각 물리 머신에 있어서 각 리소스 별 부하로 결정하는 것을 특징으로 하는 리소스 분배 장치.
  20. 제14항에 있어서,
    상기 소스 물리 머신 결정 모듈은, 전체 부하가 상기 제1 임계값 이상인 각 물리 머신에 있어서, 부하가 최대인 리소스의 부하와 나머지 리소스의 부하의 차들의 합계를 계산하고, 최대 합계를 갖는 물리 머신을 상기 소스 물리 머신으로 결정하는 것을 특징으로 하는 리소스 분배 장치.
  21. 제20항에 있어서,
    상기 소스 물리 머신 결정 모듈은, 전체 부하가 상기 제1 임계값 이상인 각 물리 머신에 있어서, 현재 처리 중인 인터럽트 개수가 최대인 리소스의 현재 처리 중인 인터럽트 개수와 나머지 리소스의 현재 처리 중인 인터럽트 개수의 차들의 합계를 계산하는 것을 특징으로 하는 리소스 분배 장치.
  22. 제14항에 있어서,
    상기 가상 머신 선택 모듈은, 상기 소스 물리 머신 상에서 동작하고 있는 가상 머신 중 상기 기준 리소스의 현재 처리 중인 인터럽트 개수가 최대인 가상 머신을 선택하는 것을 특징으로 하는 리소스 분배 장치.
  23. 제14항에 있어서,
    상기 타겟 물리 머신 결정 모듈은, 각 물리 머신에 대하여 최대 처리 가능 인터럽트 개수를 설정하고, 각 물리 머신에 대하여 상기 최대 처리 가능 인터럽트 개수 대비 현재 처리 중인 전체 인터럽트 개수의 비율을 각 물리 머신의 전체 부하로 결정하며, 상기 결정된 전체 부하가 상기 제2 임계값 미만인 물리 머신을 선택하고, 상기 선택된 각 물리 머신에 대하여 현재 처리 중인 전체 인터럽트 개수 대비 상기 기준 리소스의 현재 처리 중인 인터럽트 개수의 비율을 각 물리 머신에 있어서 상기 기준 리소스의 부하로 결정하는 것을 특징으로 하는 리소스 분배 장치.
  24. 삭제
  25. 제14항에 있어서,
    상기 제1 임계값은 상기 제2 임계값과 동일한 것을 특징으로 하는 리소스 분배 장치.
  26. 각각 적어도 하나의 가상 머신을 동작시키는 복수의 물리 머신;
    상기 복수의 물리 머신의 리소스 사용 정보를 저장하는 데이터베이스; 및
    상기 데이터베이스로부터 수신된 상기 리소스 사용 정보에 기초하여 상기 복수의 물리 머신의 리소스 사용이 균등화될 수 있도록 상기 복수의 물리 머신 간에 가상 머신을 이전시키는 제어 서버를 포함하되,
    상기 제어 서버는 전체 부하가 제1 임계값 이상인 물리 머신 중에서 리소스 사용 편중 정도가 최대인 물리 머신을 소스 물리 머신으로 선택하고, 상기 소스 물리 머신 상에서 동작하고 있는 다수개의 가상 머신들 중에서 리소스 사용 편중 정도가 최대인 특정 가상 머신을 선택하고, 아울러 전체 부하가 제2 임계값 미만인 물리 머신 중에서 상기 소스 물리 머신에서 가장 사용 편중 정도가 큰 리소스를 최대로 보유하고 있는 물리 머신을 타겟 물리 머신으로 선택하고,
    여기서 상기 타겟 물리 머신은 다수개의 가상 머신들을 구동하고, 상기 타겟 물리 머신에서 구동되는 다수개의 가상 머신은 상기 소스 물리 머신에서 구동되는 다수개의 가상 머신과는 다르며, 상기 타겟 물리 머신 및 상기 소스 물리 머신에서 각기 구동되는 가상 머신은 운영체제 및 서비스 애플리케이션을 구동하고
    상기 제어 서버는 상기 선택된 특정 가상 머신의 운영 체제 및 서비스 애플리케이션을 구동중인 상태로 실시간 가상 머신 이전(Live Virtual Machine Migration) 방식으로 상기 소스 물리 머신으로부터 상기 타겟 물리 머신으로 이전하도록 제어하는 것을 특징으로 하는 클라우드 컴퓨팅 시스템.
  27. 제26항에 있어서, 상기 리소스는
    프로세싱 리소스, 디스크 입출력 리소스, 그리고 네트워크 송수신 리소스 중 하나 이상을 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 시스템.
  28. 제26항에 있어서,
    상기 부하는 현재 처리 중인 인터럽트 개수에 기초하여 계산되는 것을 특징으로 하는 클라우드 컴퓨팅 시스템.
KR1020100115180A 2010-11-18 2010-11-18 클라우드 컴퓨팅에서의 리소스 분배 장치 및 그 방법 KR101201904B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100115180A KR101201904B1 (ko) 2010-11-18 2010-11-18 클라우드 컴퓨팅에서의 리소스 분배 장치 및 그 방법
PCT/KR2011/008767 WO2012067431A2 (en) 2010-11-18 2011-11-16 Resource distribution apparatus and method in cloud computing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100115180A KR101201904B1 (ko) 2010-11-18 2010-11-18 클라우드 컴퓨팅에서의 리소스 분배 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20120053850A KR20120053850A (ko) 2012-05-29
KR101201904B1 true KR101201904B1 (ko) 2012-11-16

Family

ID=46084520

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100115180A KR101201904B1 (ko) 2010-11-18 2010-11-18 클라우드 컴퓨팅에서의 리소스 분배 장치 및 그 방법

Country Status (2)

Country Link
KR (1) KR101201904B1 (ko)
WO (1) WO2012067431A2 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866915B (zh) * 2012-08-21 2015-08-26 华为技术有限公司 虚拟化集群整合方法、装置及虚拟化集群系统
CN103051719B (zh) * 2012-12-25 2016-01-06 深圳先进技术研究院 云计算的服务最大化调度方法和系统
WO2015018023A1 (zh) * 2013-08-08 2015-02-12 华为技术有限公司 一种资源调度方法、装置及系统
US20150094985A1 (en) * 2013-09-30 2015-04-02 International Business Machines Corporation Graphical identification of misbehaving systems
KR102389334B1 (ko) * 2015-07-31 2022-04-20 주식회사 케이티 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법
KR102518269B1 (ko) * 2015-10-12 2023-04-06 주식회사 엘지유플러스 트래픽 유실 방지장치 및 그 트래픽 유실 방지방법
CN107608765B (zh) * 2017-10-11 2021-04-02 郑州云海信息技术有限公司 一种虚拟机迁移方法和装置
US10552188B2 (en) * 2017-11-01 2020-02-04 Alibaba Group Holding Limited Virtual private cloud services with physical machine servers and virtual machines
CN113783912A (zh) * 2020-08-25 2021-12-10 北京沃东天骏信息技术有限公司 请求分发方法、装置及存储介质
CN114143326A (zh) * 2021-12-08 2022-03-04 深圳前海微众银行股份有限公司 负载调节方法、管理节点以及存储介质
CN115167984B (zh) * 2022-07-12 2023-05-30 河南大学 基于云计算平台的考虑物理资源竞争的虚拟机负载均衡放置方法
CN116389288B (zh) * 2023-06-05 2023-08-29 中电运行(北京)信息技术有限公司 一种用于电力网络安全的多靶场场景构建方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020178254A1 (en) * 2001-05-23 2002-11-28 International Business Machines Corporation Dynamic deployment of services in a computing network
US7584274B2 (en) * 2004-06-15 2009-09-01 International Business Machines Corporation Coordinating use of independent external resources within requesting grid environments
JP2006126894A (ja) * 2004-10-26 2006-05-18 Sony Corp コンテンツ配信方法、プログラムおよび情報処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
강명석 외 2인, 효율적 객체 관리 및 부하 분산을 위한 고장포용 객체그룹 프레임워크 설계, 한국통신학회논문지 제32권 제1호, pp.22-30, 2007.01.

Also Published As

Publication number Publication date
WO2012067431A3 (en) 2012-09-20
KR20120053850A (ko) 2012-05-29
WO2012067431A2 (en) 2012-05-24

Similar Documents

Publication Publication Date Title
KR101201904B1 (ko) 클라우드 컴퓨팅에서의 리소스 분배 장치 및 그 방법
Fan et al. Workload allocation in hierarchical cloudlet networks
Karthiban et al. An efficient green computing fair resource allocation in cloud computing using modified deep reinforcement learning algorithm
KR101770673B1 (ko) 작업부하 밀도를 증가시키고 또한 에너지 효율성을 개선하기 위한 전력 균형화
Saif et al. Multi-objective grey wolf optimizer algorithm for task scheduling in cloud-fog computing
Huang et al. Dynamic virtual machine migration algorithms using enhanced energy consumption model for green cloud data centers
Liu et al. Task scheduling with precedence and placement constraints for resource utilization improvement in multi-user MEC environment
Sharma et al. Response time based load balancing in cloud computing
US11347550B1 (en) Autoscaling and throttling in an elastic cloud service
Wu et al. Request dispatching for minimizing service response time in edge cloud systems
KR20230035024A (ko) 클라우드 무선 접속 네트워크의 동적 리소스를 할당하는 장치 및 방법
KR20230007941A (ko) 에지 컴퓨팅 기반 산업용 사물 인터넷 환경에서 강화학습을 활용한 태스크 오프로딩 방법
El Haber et al. Computational cost and energy efficient task offloading in hierarchical edge-clouds
Dinesh Subramaniam et al. Energy aware smartphone tasks offloading to the cloud using gray wolf optimization
Whaiduzzaman et al. Credit based task scheduling process management in fog computing
Ali et al. A comprehensive utility function for resource allocation in mobile edge computing
Pyoung et al. Joint load balancing and energy saving algorithm for virtual network embedding in infrastructure providers
Jain et al. Critical analysis of load balancing strategies for cloud environment
Zhang et al. Energy-delay tradeoff for virtual machine placement in virtualized multi-access edge computing: a two-sided matching approach
Gondhi et al. Prediction based energy efficient virtual machine consolidation in cloud computing
Kumar et al. A Distributed Load Balancing Technique for Multitenant Edge Servers With Bottleneck Resources
Singh et al. Multicriteria decision making based optimum virtual machine selection technique for smart cloud environment
CN101945448A (zh) 服务质量控制方法及设备
Da et al. VM migration algorithm for the balance of energy resource across data centers in cloud computing
Monshizadeh Naeen et al. Cloud data center cost management using virtual machine consolidation with an improved artificial feeding birds algorithm

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee