KR20140117714A - 클라우드 네트워크 자원 관리 방법, 클라우드 서버 및 이를 이용하는 클라우드 네트워크 시스템 - Google Patents

클라우드 네트워크 자원 관리 방법, 클라우드 서버 및 이를 이용하는 클라우드 네트워크 시스템 Download PDF

Info

Publication number
KR20140117714A
KR20140117714A KR1020130031827A KR20130031827A KR20140117714A KR 20140117714 A KR20140117714 A KR 20140117714A KR 1020130031827 A KR1020130031827 A KR 1020130031827A KR 20130031827 A KR20130031827 A KR 20130031827A KR 20140117714 A KR20140117714 A KR 20140117714A
Authority
KR
South Korea
Prior art keywords
cloud
cloud server
server
packet
request
Prior art date
Application number
KR1020130031827A
Other languages
English (en)
Other versions
KR101448586B1 (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 KR1020130031827A priority Critical patent/KR101448586B1/ko
Publication of KR20140117714A publication Critical patent/KR20140117714A/ko
Application granted granted Critical
Publication of KR101448586B1 publication Critical patent/KR101448586B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1025Dynamic adaptation of the criteria on which the server selection is based
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명의 클라우드 네트워크 자원 관리 방법은, 데이터가 복수의 클라우드 서버들에 분산 저장되는 클라우드 네트워크의 자원 관리 방법으로서, 적어도 하나의 패킷 요청을 받은 클라우드 서버가, 각 패킷 요청에 상응하는 데이터의 중요도, 클라우드 서버에 패킷 요청을 한 다른 클라우드 서버들 각각이 과거에 클라우드 서버의 패킷 요청에 응답했던 내력에 따른 인바운드 응답 기여도 및 클라우드 서버의 연산 자원의 가동 비율에 관한 구동율 측도에 기초하여, 패킷 요청들의 각각의 조합에 대한 클라우드 서버의 서버 효용도를 산출하는 단계, 클라우드 서버의 서버 효용도를 최대로 만드는 패킷 요청들의 조합을 결정하는 단계 및 결정된 조합의 패킷 요청들에 상응하여 필요한 패킷들을 요청한 클라우드 서버들에 각각 전송함으로써 패킷 요청들에 응답하는 단계를 포함할 수 있다.

Description

클라우드 네트워크 자원 관리 방법, 클라우드 서버 및 이를 이용하는 클라우드 네트워크 시스템{METHOD FOR CLOUD NETWORK RESOURCE MANAGEMENT, CLOUD SERVER AND CLOUD NETWORK SYSTEM USING THE SAME}
본 발명은 클라우드 네트워크 시스템에 관한 것으로, 더욱 상세하게는, 클라우드 네트워크 시스템의 자원 관리 전략에 관한 것이다.
급변하는 IT 기술과 더불어 스마트폰, 태블릿 PC 등이 확산되었고 이에 따라 웹, 이메일 및 문서 등과 같은 일반 파일, 동영상과 같은 대용량 파일 뿐만 아니라, 실시간으로 영화, 드라마 및 운동 경기 중계를 보고 화상 통화를 하는 등의 멀티미디어 스트리밍 데이터에 대한 사용자들의 요구가 기하 급수적으로 증가하고 있다. 이 때문에 네트워크 서비스 사업자들이 이러한 많은 양의 데이터를 사용자들에게 제공할 수 있는 네트워크 자원을 확보하는 것에 대한 고민이 많다.
이러한 고민을 해소할 수 있는 대안으로 많은 양의 네트워크 자원을 효율적으로 사용할 수 있는 클라우드 컴퓨팅 기법이 주목을 받고 있다.
가상화 기술로 다양한 네트워크 자원들을 통합하여 하나의 클라우드 네트워크를 구성하고 이를 통해 사용자들에게 인터넷을 통한 다양한 데이터 서비스를 제공할 수 있는 클라우드 컴퓨팅 서비스는 이제 데이터 서비스 사업자들에게 대세로 자리잡고 있다.
클라우드 컴퓨팅 서비스는 급증하는 데이터의 수요와 공급에 효과적으로 대처할 수도 있고, 가속화될 빅데이터(Big data) 시대에도 네트워크 데이터 서비스를 더욱 효과적으로 공급할 수 있다.
유명 네트워크 장비 업체인 시스코(CISCO)의 데이터센터 IP 트래픽 예측에 따르면, 전세계 데이터센터의 총 용량은 2012년에 이미 2.6 ZB(ZB = 10억 TB)에 도달한 상태이고, 2016년에는 무려 6.6 ZB에 도달할 것이라 한다. 이 문서에 따르면, 데이터 센터에서 발생하는 트래픽 중에서 약 3/4는 데이터 센터 내부에서 저장, 분류, 생성, 검색, 인증 등의 작업에 의해 발생하며, 나머지 1/4 만이 데이터 센터와 외부 사이에서 발생하는 트래픽으로 조사되었다.
특히, CISCO에 따르면 인터넷 트래픽은 2010년에 비해 2014년에 4 배로 늘어날 것이며, 그 중 가장 큰 비중은 비디오가 차지할 것이라고 예측하는데, 비디오는 통상적으로 지연 민감성 데이터이므로, 비디오를 비롯한 멀티미디어 스트리밍 데이터를 좀더 빠르고 안정적으로 전송하면서 클라우드 내부 서버들의 과부하를 방지하고 자원을 최대한 효율적으로 사용하는 것이 클라우드 네트워크 서비스의 사업성을 좌우한다.
따라서, 클라우드 네트워크 시스템을 효율적으로 운영하기 위해서는 이러한 어마어마한 부하를 감당하기 위해 효과적인 자원관리 전략이 필요하다.
본 발명이 해결하고자 하는 과제는 지연 민감성 데이터를 효율적으로 처리할 수 있고 자원 관리 자체의 부하로 인한 오버헤드가 크지 않으며, 클라우드 네트워크의 스케일 변동에도 유연하게 대처할 수 있는 클라우드 네트워크 자원 관리 방법, 클라우드 서버 및 이를 이용하는 클라우드 네트워크 시스템을 제공하는 데에 있다.
본 발명의 일 측면에 따른, 데이터가 복수의 클라우드 서버들에 분산 저장되는 클라우드 네트워크의 자원 관리 방법으로서,
적어도 하나의 패킷 요청을 받은 클라우드 서버가, 각 패킷 요청에 상응하는 데이터의 중요도, 상기 클라우드 서버에 패킷 요청을 한 다른 클라우드 서버들 각각이 과거에 상기 클라우드 서버의 패킷 요청에 응답했던 내력에 따른 인바운드 응답 기여도 및 상기 클라우드 서버의 연산 자원의 가동 비율에 관한 구동율 측도에 기초하여, 패킷 요청들의 각각의 조합에 대한 상기 클라우드 서버의 서버 효용도를 산출하는 단계;
상기 클라우드 서버의 서버 효용도를 최대로 만드는 패킷 요청들의 조합을 결정하는 단계; 및
상기 결정된 조합의 패킷 요청들에 상응하여 필요한 패킷들을 상기 요청한 클라우드 서버들에 각각 전송함으로써 패킷 요청들에 응답하는 단계를 포함할 수 있다.
일 실시예에 따라, 상기 데이터의 중요도는 패킷 요청에 상응하는 데이터가 지연 민감성일수록 상대적으로 중요한 것으로 수치화될 수 있다.
일 실시예에 따라, 상기 인바운드 응답 기여도는 상기 클라우드 서버가 과거에 한 패킷 요청에 대해 다른 클라우드 서버들이 응답한 내력에 기초하여 결정될 수 있다.
일 실시예에 따라, 상기 인바운드 응답 기여도는 상기 클라우드 서버가 과거에 한 패킷 요청에 응답한 적이 있는 다른 클라우드 서버들에 대하여, 상기 클라우드 서버가 과거에 한 패킷 요청에 상응하는 데이터의 중요도에 기초하여 결정될 수 있다.
일 실시예에 따라, 상기 인바운드 응답 기여도는 직전 시점에 상기 클라우드 서버가 과거에 한 패킷 요청에 응답한 적이 있는 다른 클라우드 서버들에 대하여, 직전 시점에 상기 클라우드 서버가 요청했던 데이터의 중요도에 따라 결정될 수 있다.
일 실시예에 따라, 상기 구동율 측도는 상기 클라우드 서버가 가동 중인 연산 자원에 관한 측도로서, 상기 클라우드 서버가 연산 자원을 에너지 효율적 또는 속도 효율적으로 사용할수록 상대적으로 유리하도록 수치화될 수 있다.
일 실시예에 따라, 상기 구동율 측도는
가동 비율이 소정의 적정 수준일 때 상기 서버 효용도에 긍정적으로 적용되면서 상대적으로 큰 값으로,
소정의 적정 수준보다 작으면 상기 서버 효용도에 긍정적으로 적용되면서 상대적으로 낮은 값으로,
소정의 적정 수준을 초과하면 상기 서버 효용도에 부정적으로 적용되는 값으로 부여될 수 있다.
일 실시예에 따라, 상기 패킷 요청들의 특정한 조합에 대한 서버 효용도는 각 조합을 이루는 패킷 요청들 각각에 상응하는 데이터의 중요도, 인바운드 응답 기여도 및 구동율 측도를 각 패킷 요청들 각각에 관하여 가중 합산한 값들을 적산하여 산출될 수 있다.
일 실시예에 따라, 상기 서버 효용도는 다음의 수학식
Figure pat00001
에 의해 산출되며,
여기서, 서버 효용도
Figure pat00002
는 공급자인 클라우드 서버 의 서버 효용도이고,
Figure pat00004
는 패킷을 요청한 수요자인 클라우드 서버들
Figure pat00005
의 총 개수이며, 데이터 중요도
Figure pat00006
는 공급자인 클라우드 서버
Figure pat00007
에 요청된 각각의 데이터
Figure pat00008
Figure pat00009
번째 패킷
Figure pat00010
에 관한 데이터 중요도이고, 인바운드 응답 기여도
Figure pat00011
는 직전 시점에서 수요자였던 클라우드 서버
Figure pat00012
가 공급자였던 클라우드 서버
Figure pat00013
에게 했던 요청에 기초한 클라우드 서버
Figure pat00014
의 인바운드 응답 기여도이며,
Figure pat00015
는 클라우드 서버
Figure pat00016
의 구동율 측도이고,
Figure pat00017
,
Figure pat00018
,
Figure pat00019
는 각각 데이터의 중요도
Figure pat00020
, 인바운드 응답 기여도
Figure pat00021
및 구동율 측도
Figure pat00022
의 가중치들일 수 있다.
일 실시예에 따라, 상기 클라우드 네트워크 자원 관리 방법은,
상기 클라우드 서버가 제공하는 서비스에 관련된 데이터 중 일부 패킷이 부족한 경우에, 상기 클라우드 서버가, 다른 클라우드 서버들의 각각에 대한 상기 클라우드 서버의 아웃바운드 응답 기여도에 기초하여, 패킷 요청을 할 적어도 하나의 다른 클라우드 서버를 선정하는 단계; 및
상기 클라우드 서버가, 상기 선정된 클라우드 서버에 필요한 패킷을 요청하는 단계를 더 포함할 수 있다.
일 실시예에 따라, 상기 아웃바운드 응답 기여도는 상기 클라우드 서버가 과거에 다른 클라우드 서버들의 각각의 패킷 요청에 대하여 응답한 내력에 기초하여 결정될 수 있다.
일 실시예에 따라, 상기 아웃바운드 응답 기여도는 상기 클라우드 서버가 과거에 응답했던 다른 클라우드 서버들의 각각의 패킷 요청에 상응하는 데이터의 중요도에 따라 결정되고,
상기 데이터의 중요도는 데이터가 지연 민감성일수록 상대적으로 중요하다고 수치화될 수 있다.
일 실시예에 따라, 상기 아웃바운드 응답 기여도는 상기 클라우드 서버가 직전 시점에 응답한 적이 있는 다른 클라우드 서버들의 패킷 요청에 상응하는 데이터의 중요도에 따라 결정될 수 있다.
본 발명의 다른 측면에 따른, 데이터가 복수의 클라우드 서버들에 분산 저장되는 클라우드 네트워크의 자원 관리 방법으로서,
제1 클라우드 서버가 제공하는 서비스에 관련된 데이터 중 일부 패킷이 부족한 경우에, 상기 제1 클라우드 서버가, 다른 클라우드 서버들의 각각에 대한 아웃바운드 응답 기여도에 기초하여, 패킷 요청을 할 제2 클라우드 서버를 선정하는 단계;
상기 제1 클라우드 서버가, 상기 선정된 제2 클라우드 서버에 필요한 패킷을 요청하는 단계;
적어도 하나의 패킷 요청을 받은 상기 제2 클라우드 서버가, 각 패킷 요청에 상응하는 데이터의 중요도, 상기 제2 클라우드 서버에 패킷 요청을 한 클라우드 서버들 각각이 과거에 상기 제2 클라우드 서버의 요청에 응답했던 내력에 따른 인바운드 응답 기여도 및 상기 제2 클라우드 서버의 연산 자원의 가동 비율에 관한 구동율 측도에 기초하여, 패킷 요청들의 각각의 조합에 대한 상기 제2 클라우드 서버의 서버 효용도를 산출하는 단계;
상기 제2 클라우드 서버의 서버 효용도를 최대로 만드는 패킷 요청들의 조합을 결정하는 단계; 및
상기 결정된 조합의 패킷 요청들에 상응하는 클라우드 서버들에 대해 필요한 패킷들을 각각 전송함으로써 패킷 요청들에 응답하는 단계를 포함할 수 있다.
본 발명의 또 다른 측면에 따른, 클라우드 네트워크에서 데이터가 분산 저장되는 클라우드 서버로서,
적어도 하나의 패킷 요청을 받을 경우에, 각 패킷 요청에 상응하는 데이터의 중요도, 상기 클라우드 서버에 패킷 요청을 한 다른 클라우드 서버들 각각이 과거에 상기 클라우드 서버의 패킷 요청에 응답했던 내력에 따른 인바운드 응답 기여도 및 상기 클라우드 서버의 연산 자원의 가동 비율에 관한 구동율 측도에 기초하여, 패킷 요청들의 각각의 조합에 대한 상기 클라우드 서버의 서버 효용도를 산출하는 서버 효용도 산출부;
상기 서버 효용도를 최대로 만드는 패킷 요청들의 조합을 결정하는 응답 상대방 선정부; 및
상기 결정된 조합의 패킷 요청들에 상응하여 필요한 패킷들을 요청한 클라우드 서버들에 각각 전송함으로써 패킷 요청들에 응답하는 요청 응답 인터페이스를 포함할 수 있다.
일 실시예에 따라, 상기 데이터의 중요도는 패킷 요청에 상응하는 데이터가 지연 민감성일수록 상대적으로 중요한 것으로 수치화될 수 있다.
일 실시예에 따라, 상기 인바운드 응답 기여도는 상기 클라우드 서버가 과거에 한 패킷 요청에 응답한 적이 있는 다른 클라우드 서버들에 대하여, 상기 클라우드 서버가 과거에 한 패킷 요청에 상응하는 데이터의 중요도에 기초하여 결정될 수 있다.
일 실시예에 따라, 상기 구동율 측도는 상기 클라우드 서버가 가동 중인 연산 자원에 관한 측도로서, 상기 클라우드 서버가 연산 자원을 에너지 효율적 또는 속도 효율적으로 사용할수록 상대적으로 유리하도록 수치화될 수 있다.
일 실시예에 따라, 상기 패킷 요청들의 특정한 조합에 대한 서버 효용도는 각 조합을 이루는 패킷 요청들 각각에 상응하는 데이터의 중요도, 인바운드 응답 기여도 및 구동율 측도를 각 패킷 요청들 각각에 관하여 가중 합산한 값들을 적산하여 산출될 수 있다.
일 실시예에 따라, 상기 서버 효용도는 다음의 수학식
Figure pat00023
에 의해 산출되며,
여기서, 서버 효용도
Figure pat00024
는 공급자인 클라우드 서버
Figure pat00025
의 서버 효용도이고,
Figure pat00026
는 패킷 요청을 한 수요자인 클라우드 서버들
Figure pat00027
의 총 개수이며, 데이터 중요도
Figure pat00028
는 공급자인 클라우드 서버
Figure pat00029
에 요청된 각각의 데이터
Figure pat00030
Figure pat00031
번째 패킷
Figure pat00032
에 관한 데이터 중요도이고, 인바운드 응답 기여도
Figure pat00033
는 직전 시점에서 수요자였던 클라우드 서버
Figure pat00034
가 공급자였던 클라우드 서버
Figure pat00035
에게 했던 요청에 기초한 클라우드 서버
Figure pat00036
의 인바운드 응답 기여도이며,
Figure pat00037
는 클라우드 서버
Figure pat00038
의 구동율 측도이고,
Figure pat00039
,
Figure pat00040
,
Figure pat00041
는 각각 데이터의 중요도
Figure pat00042
, 인바운드 응답 기여도
Figure pat00043
및 구동율 측도
Figure pat00044
의 가중치들일 수 있다.
일 실시예에 따라,
상기 클라우드 서버가 제공하는 서비스에 관련된 데이터 중 일부 패킷이 부족한 경우에, 다른 클라우드 서버들의 각각에 대한 아웃바운드 응답 기여도에 기초하여, 패킷 요청을 할 적어도 하나의 다른 클라우드 서버를 선정하는요청 상대방 선정부를 더 포함하고,
상기 요청 응답 인터페이스가 상기 선정된 클라우드 서버에 필요한 패킷을 요청하도록 동작할 수 있다.
일 실시예에 따라, 상기 클라우드 서버는, 패킷 요청 시에는 패킷 요청한 데이터의 중요도 및 요청 상대방으로 선정된 클라우드 서버의 식별 정보를 기록하고, 패킷 응답 시에는 응답한 패킷에 상응하는 데이터의 중요도 및 응답 상대방으로 선정된 클라우드 서버의 식별 정보를 기록함으로써, 요청 응답 내력을 관리하는 요청 응답 내력 관리부를 더 포함할 수 있다.
본 발명의 또 다른 측면에 따른, 복수의 클라우드 서버들에 데이터를 분산 저장하는 클라우드 네트워크 시스템으로서,
상기 복수의 클라우드 서버들의 각각은,
적어도 하나의 패킷 요청을 받을 경우에, 각 패킷 요청에 상응하는 데이터의 중요도, 상기 클라우드 서버에 패킷 요청을 한 다른 클라우드 서버들 각각이 과거에 상기 클라우드 서버의 패킷 요청에 응답했던 내력에 따른 인바운드 응답 기여도 및 상기 클라우드 서버의 연산 자원의 가동 비율에 관한 구동율 측도에 기초하여, 패킷 요청들의 각각의 조합에 대한 상기 클라우드 서버의 서버 효용도를 산출하는 서버 효용도 산출부;
상기 서버 효용도를 최대로 만드는 패킷 요청들의 조합을 결정하는 응답 상대방 선정부; 및
상기 결정된 조합의 패킷 요청들에 상응하여 필요한 패킷들을 요청한 클라우드 서버들에 각각 전송함으로써 패킷 요청들에 응답하는 요청 응답 인터페이스를 포함할 수 있다.
본 발명의 클라우드 네트워크 자원 관리 방법, 클라우드 서버 및 이를 이용하는 클라우드 네트워크 시스템에 따르면, 멀티미디어 스트리밍 데이터와 같은 지연 민감성 데이터를 효율적으로 처리할 수 있다.
본 발명의 클라우드 네트워크 자원 관리 방법, 클라우드 서버 및 이를 이용하는 클라우드 네트워크 시스템에 따르면, 클라우드 네트워크 내에서, 어떤 중앙 집중식 관리 서버 없이도, 개별 단위 서버 수준에서 단위 서버들 각자가 스스로 최적의 자원 관리를 도모함으로써 클라우드 전체 수준에서도 최적화된 자원 관리를 달성할 수 있다.
본 발명의 클라우드 네트워크 자원 관리 방법, 클라우드 서버 및 이를 이용하는 클라우드 네트워크 시스템에 따르면, 클라우드 네크워크 자원의 확장이나 감축 등의 스케일 변동에 전혀 영향을 받지 않고 유연하게 최적화된 자원 관리를 추구할 수 있다.
본 발명의 클라우드 네트워크 자원 관리 방법, 클라우드 서버 및 이를 이용하는 클라우드 네트워크 시스템에 따르면, 개별 단위 서버가 최적화된 자원 관리를 위해 필요로 하는 자원이 매우 적어, 자원 관리 자체로 인한 오버헤드가 거의 발생하지 않는다.
도 1은 본 발명의 일 실시예에 따른 클라우드 네트워크 시스템을 예시한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 클라우드 네트워크 자원 관리 방법에서, 클라우드 네트워크에 분산 저장되는 데이터들을 예시한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 클라우드 네트워크 자원 관리 방법에서, 임의의 클라우드 서버가 다른 클라우드 서버에 요청하는 데이터 패킷을 예시한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 클라우드 네트워크 자원 관리 방법에서, 임의의 클라우드 서버가 다른 클라우드 서버들로부터 동시에 받은 다수의 데이터 패킷 요청들을 예시한 개념도이다.
도 5는 본 발명의 일 실시예에 따른 클라우드 네트워크 자원 관리 방법에서, 임의의 클라우드 서버가 다른 클라우드 서버들에 대해 수행하는 선택적 데이터 패킷 응답들을 예시한 개념도이다.
도 6은 본 발명의 일 실시예에 따른 클라우드 네트워크 자원 관리 방법을 예시한 순서도이다.
도 7은 본 발명의 일 실시예에 따른 클라우드 네트워크 자원 관리 방법에 따라 시뮬레이션한 결과로서, 혼잡도가 보통일 때에 데이터 중요도에 따라 응답이 있을 때까지 반복된 데이터 요청 횟수들을 비교한 그래프이다.
도 8은 본 발명의 일 실시예에 따른 클라우드 네트워크 자원 관리 방법에 따라 시뮬레이션한 결과로서, 혼잡도가 심할 때에 데이터 중요도에 따라 응답이 있을 때까지 반복된 데이터 요청 횟수들을 비교한 그래프이다.
도 9는 본 발명의 일 실시예에 따른 클라우드 네트워크 자원 관리 방법에 따라 시뮬레이션한 결과로서, 혼잡도가 보통일 때에 클라우드 서버의 CPU 구동율들을 비교한 그래프이다.
도 10은 본 발명의 일 실시예에 따른 클라우드 서버를 예시한 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 클라우드 네트워크 시스템을 예시한 개념도이다.
본 발명의 클라우드 네트워크 시스템(10)은 복수의 클라우드 서버들(11)과 클라우드 코어 도메인(12)을 포함하며, 네트워크(20)를 통해 임의의 사용자 단말기들(30)에 다양한 클라우드 서비스들, 즉 어플리케이션(SaaS: Software as a Service), 플랫폼(PaaS: Platform as a Service) 내지 인프라스트럭처(IaaS: Infrastructure as a Service)를 제공할 수 있다.
클라우드 코어 도메인(12)은 가상화 장치, 데이터 분산 관리 서버, 초고속 스위치들과 방화벽을 포함하며, 외부에 대해서는 사용자 단말기(30)가 클라우드 서비스를 마치 하나의 서버로부터 제공받는 것처럼 클라우드 네트워크 시스템(10)을 관리할 수 있다.
이 경우에, 클라우드 네트워크 시스템(10)이 제공하는 서비스들 또는 데이터는 클라우드 코어 도메인(12)에 의해 복수의 클라우드 서버들(11)의 각각에 패킷 단위로 적절히 분산되어 실행되거나 저장될 수 있다.
패킷 단위로 분산 저장되는 데이터들은 각각 소정의 중요도와 패킷 갯수를 가질 수 있다. 예를 들어 지연 민감성 데이터이면 상대적으로 중요도가 높게 부여될 수 있다. 또한 관리의 편의를 위해 패킷 크기는 일정할 수 있다.
클라우드 서버들(11)은 적어도 하나의 서비스들에 관한 데이터의 분산된 패킷들을 각각 저장하는데, 클라우드 코어 도메인(12)의 패킷 분산 저장 정책에 따라 각각의 클라우드 서버(11)는 어떤 시점에 어떤 데이터의 패킷들을 모두 갖고 있을 수도 있지만 일부만 가지고 있을 수고, 아예 전혀 안 가지고 있을 수도 있다. 또한 어떤 데이터의 패킷들이 여러 클라우드 서버들(11)에 중복 저장되어 있을 수도 있다.
잠시 도 2와 도 3을 참조하면, 도 2는 본 발명의 일 실시예에 따른 클라우드 네트워크 자원 관리 방법에서, 클라우드 네트워크에 분산 저장되는 데이터들을 예시한 개념도이고, 도 3은 본 발명의 일 실시예에 따른 클라우드 네트워크 자원 관리 방법에서, 임의의 클라우드 서버가 다른 클라우드 서버에 요청하는 데이터 패킷을 예시한 개념도이다.
도 2에서, 어떤 클라우드 네트워크 시스템(10) 내에 N d 종류의 데이터가 저장되어 있다. 데이터는 일정한 크기의 패킷 단위로 나뉘어져 분산 저장되는데, 어느 한 종류의 데이터 nK n 개의 패킷들로 분할되어 여러 클라우드 서버들(11)에 분산 저장된다고 가정하자. 각 클라우드 서버(11)는 각각의 데이터를 일부 또는 전부 가지고 있거나, 또는 전혀 가지고 있지 않을 수 있다.
도 3에서, 사용자 단말기(30)로부터 j 번째 클라우드 서버
Figure pat00045
에 대해 어떤 데이터 n의 요청이 있을 경우에, 클라우드 서버
Figure pat00046
는 데이터 n의 패킷들을 다수 가지고 있지만 일부 패킷들을 가지고 있지 않은데, 다른 클라우드 서버들에 요청하여야 하는 점선으로 표시된 k 번째 패킷을
Figure pat00047
라고 표현할 수 있다.
이때, 클라우드 서버
Figure pat00048
는 부족한 하나 이상의 패킷들을 동시에 여러 클라우드 서버들에 요청하고 그들 중 적어도 일부로부터 필요한 패킷들을 수신한다면, 데이터 획득 시간을 줄일 수 있을 것이다.
한편, 사용자 단말기(30)에 어떤 서비스를 제공하기 위해 어떤 데이터가 필요한 경우에, 먼저 각 클라우드 서버(11)는 자신이 그 데이터를 모두 가지고 있는지 검색할 수 있다.
다음으로, 각 클라우드 서버(11)는 다른 클라우드 서버(11)에 패킷을 요청할 수 있고, 요청을 받은 클라우드 서버(11)는 요청에 응답하여 패킷을 전송할 수 있다. 여기서, 패킷 요청의 알고리즘과 요청 응답의 알고리즘이 등장할 수 있다.
이를 위해 잠시 도 4 및 도 5를 참조하면, 도 4는 본 발명의 일 실시예에 따른 클라우드 네트워크 자원 관리 방법에서, 임의의 클라우드 서버가 다른 클라우드 서버들로부터 동시에 받은 다수의 데이터 패킷 요청들을 예시한 개념도이고, 도 5는 본 발명의 일 실시예에 따른 클라우드 네트워크 자원 관리 방법에서, 임의의 클라우드 서버가 다른 클라우드 서버들에 대해 수행하는 선택적 데이터 패킷 응답들을 예시한 개념도이다.
도 4에서, 제1 클라우드 서버(111)와 제3 클라우드 서버(113)는 사용자 단말기(30)에 클라우드 서비스를 제공하기 위해 필요한 데이터 패킷들을 요청하는 수요자들이고, 제 2 클라우드 서버(112)와 제4 클라우드 서버(114)를 비롯한 다수의 클라우드 서버들은 필요한 데이터 패킷들을 보유하고 요청에 응답할 수 있는 공급자들이다.
다만, 제1 내지 제4 클라우드 서버들(111, 112, 113, 114)은 각각 어떤 시점에 특정 패킷을 우연히 필요하게 되어 수요자 역할을 하거나 그러한 패킷을 우연히 갖고 있어 공급자 역할을 하는 것일 뿐이고, 항상 수요자와 공급자인 것은 아니며, 상황에 따라 수요자이기도 하고 공급자이기도 하다는 점에 유의한다.
도 4에서, 예를 들어 어떤 사용자 단말기(30)로부터 서비스 요청이 들어온 인기 있는 어떤 동영상 데이터 n에 관하여, 제1 클라우드 서버(111) 또는 제3 클라우드 서버(113)는, 주변의 제2 클라우드 서버(112) 또는 제4 클라우드 서버(114)에게, 자신들에게 없는 부족한 패킷들을 각각 요청한다.
이때, 만약 수요자인 제1 클라우드 서버(111)가 무조건적으로 주변의 클라우드 서버들(11)에 요청을 한다고 가정하면, 제1 클라우드 서버(111) 각자도 제시간 내에 자신의 요청에 응답을 받을 수 있는지 불확실하게 되고, 클라우드 네크워크 시스템(10) 전체적으로 네트워크 자원이 대단히 낭비될 것이다.
따라서, 수요자인 제1 클라우드 서버(111)는 주변의 클라우드 서버들(11) 중에 어떤 특정 클라우드 서버(11)에 패킷 요청을 할 것인지 결정하는 문제가 발생하는데, 도 4와 같이 다수의 클라우드 서버들(11) 중에서 요청을 보낼 제2 및 제4 클라우드 서버들(112, 114)을 선정하는 패킷 요청 알고리즘이 필요하다.
또한, 만약 제2 클라우드 서버(112)나 제4 클라우드 서버(114)가 충분한 가용 자원을 가지고 있다면 모든 요청에 대해 응답을 하고 패킷들을 전송해 줄 수 있겠지만, 통상적으로 제2 클라우드 서버(112)나 제4 클라우드 서버(114)도 그 자신 또한 어떤 사용자 단말기(30)로부터 서비스 요청에 대응하고 있을 것이므로, 자신의 서비스 품질을 위해서는 제1 클라우드 서버(111) 또는 제3 클라우드 서버(113) 등으로부터의 요청들 중 일부에만 응답할 수 있을 것이고, 따라서 응답할 요청을 선정하는 요청 응답 알고리즘이 필요하다.
또한 도 5에서, 이제 제2 클라우드 서버(112)는 자신에게 패킷 요청을 한 제1 클라우드 서버(111) 및 제3 클라우드 서버(113)를 비롯한 다수의 클라우드 서버들(11) 중에 일부 클라우드 서버들(111, 113)에 대해서만 요청에 응답하여 패킷들을 전송한다.
도 4와 도 5를 함께 참조하면, 제1 클라우드 서버(111)는 부족한 패킷을 가지고 있는 다른 클라우드 서버들(11)에 대해 선택적으로 부족한 패킷을 요청하며, 또한 복수의 패킷 요청들을 받은 제2 클라우드 서버(112)는 패킷 요청들에 선택적으로 응답할 수 있다.
특히, 본 발명에서, 패킷 요청 알고리즘은 제1 클라우드 서버(111)가 클라우드 서버들(11) 중 요청을 보낼 제2 및 제4 클라우드 서버들(112, 114)을 선정하는 데에 있어서, 제1 클라우드 서버(111)가 클라우드 서버들(11) 각각에 대한 제1 클라우드 서버(111) 자신의 과거의 아웃바운드 응답 기여도(outbound response contribution)에 따라 복수의 클라우드 서버들(11) 중에서 패킷을 요청할 제2 및 제4 클라우드 서버들(112, 114)을 우선적으로 선정하는 알고리즘이다.
다시 말해, 자신이 이전에 응답해 준 적이 있는 상대방을 우선적으로 골라 요청을 하겠다는 전략이다.
이를 위해, 모든 클라우드 서버들(11) 각자는 자신이 과거에 패킷 요청을 받아 공급자 역할로써 요청에 대해 응답해 줌으로써 상대방들이 데이터를 조립하는 데에 기여를 했던 내력을 나머지 클라우드 서버들(11)에 관하여 유지하고 있다.
구체적으로, 제1 클라우드 서버(111)의 제2 클라우드 서버(112)에 대한 아웃바운드 응답 기여도는, 과거에 각 제2 클라우드 서버(112)가 제1 클라우드 서버(111)에 패킷을 요청하고 제1 클라우드 서버(111)가 이에 응답하여 패킷을 제2 클라우드 서버(112)에 제공했던 내력에 기초하여, 제2 클라우드 서버(112)를 위해 제1 클라우드 서버(111)가 얼마나 기여를 했었는지를 수치화할 수 있도록 부여하는 값이다.
특히, 일 실시예에서, 제2 클라우드 서버(112)에 부여되는 아웃바운드 응답 기여도는 제1 클라우드 서버(111)가 요청에 응답한 바 있는 데이터 패킷의 중요도가 높을수록 상대적으로 높게 부여될 수 있다.
다시 말해, 자신이 이전에 중요한 데이터 패킷을 응답해 준 적이 있는 상대방에게 중요한 데이터 패킷을 요청하겠다는 전략이다.
실시예에 따라, 과거의 모든 이력을 고려하는 대신에 직전의 실적만을 고려하여 아웃바운드 응답 기여도를 결정할 수 있다.
다시 말해, 현재 수요자인 클라우드 서버
Figure pat00049
가 현재 공급자 클라우드 서버
Figure pat00050
에 대해 부여하는 아웃바운드 응답 기여도
Figure pat00051
는 가장 최근인 직전 시점(t-1)에 공급자로서 클라우드 서버
Figure pat00052
가 수요자로서 클라우드 서버
Figure pat00053
에 응답을 해 주었던 요청에 상응하는 패킷의 데이터 중요도에 따라 결정될 수 있다.
그렇다면, 데이터의 중요도의 기준이 문제될 수 있다.
조사에 따르면, 네트워크 서비스를 이용하는 사용자는 대체로 3초 이상 서비스 응답 시간이 지연되면 지연 현상을 인식하게 되고 불만을 갖기 시작하며, 10 초 이상 지연되면 서비스로부터 쉽게 이탈한다고 한다. 또한, 뮤직 비디오나 영화와 같은 미디어 데이터가 재생 중에 버퍼 언더런(buffer underrun)이 일어나면, 사용자는 그러한 미디어 서비스에 만족하기 어렵다.
따라서 데이터의 중요도는, 데이터에 관하여, 사용자가 제때 서비스되는 것을 당연하게 생각하는 반면에 서비스가 지연되면 지연 현상을 쉽게 인식하고 그러한 지연 현상이 있을 때에 불만을 느끼기 쉬운 특성, 즉 지연 민감성에 따라 부여될 수 있다.
예를 들어 인기가 높아 조회수가 높으면서 고용량인 동영상 데이터는 지연될 경우 사용자들이 서비스에 불만을 느낄 수 있으므로, 인기가 없으면서 저용량인 문서 데이터보다 상대적으로 높은 중요도를 가질 수 있다.
좀더 일반적으로 데이터 패킷
Figure pat00054
의 중요도
Figure pat00055
는 수학식 1과 같이 수요자인 어떤 클라우드 서버
Figure pat00056
가 필요로 하는 데이터 n의 k 번째 패킷인 데이터 패킷
Figure pat00057
의 함수로써 표현될 수 있다.
Figure pat00058
여기서, 중요도
Figure pat00059
는 최저값
Figure pat00060
부터 최고값
Figure pat00061
까지 P 단계로 설정된 값 중 하나인
Figure pat00062
로 특정될 수 있다. 예를 들어 데이터의 중요도는 최저 1부터 최고 10 사이의 10 단계로 설정된 정수로 특정될 수 있다.
한편, 이러한 데이터의 상대적인 중요도
Figure pat00063
는 공급자인 클라우드 서버
Figure pat00064
가 동시적인 데이터 패킷 요청들을 받을 경우에 클라우드 서버
Figure pat00065
가 우선적으로 응답할 데이터 패킷을 선택하는 기준이 될 수 있다.
나아가, 만약 높은 중요도를 가진 데이터의 패킷에 관한 제2 클라우드 서버(112)의 요청에 대해 성공적으로 응답한 제1 클라우드 서버(111)는 제2 클라우드 서버(112)가 중요도가 높은 데이터를 제때에 조합하여 사용자에게 서비스를 지연없이 제공하는 데에 기여도가 크다고 할 것이다. 반면에 낮은 중요도를 가진 데이터의 패킷에 관한 제2 클라우드 서버(112)의 요청에 대하여 제1 클라우드 서버(111)가 빠른 시간 안에 성공적으로 응답하더라도 제2 클라우드 서버(112)는 그 데이터에 대해 그렇게 빠른 응답이 굳이 필요한 것은 아니었으므로 제1 클라우드 서버(111)가 제2 클라우드 서버(112)에 기여도가 낮다.
예를 들어, 제1 클라우드 서버(111)는, 예를 들어 과거에 중요도 10인 데이터의 부족한 패킷에 관한 제2 클라우드 서버(112)의 요청에 성공적으로 응답하였을 경우, 제2 클라우드 서버(112)에 대한 자신의 아웃바운드 응답 기여도를 10으로 결정할 수 있다.
이렇듯, 제1 클라우드 서버(111)의 제2 클라우드 서버(112)에 대한 아웃바운드 응답 기여도는 과거에 제2 클라우드 서버(112)의 요청에 제1 클라우드 서버(111)가 응답하여 전송했던 데이터 패킷의 중요도에 따라 결정될 수 있다.
이러한 패킷 요청 알고리즘을 위해, 모든 클라우드 서버들(11)의 각각은 나머지 모든 클라우드 서버들(11)의 각각에 대해 지속적으로 아웃바운드 응답 기여도들을 부여할 수 있다.
한편, 공급자 역할을 하게 된 클라우드 서버(11)는 복수의 수요자 역할을 하는 다른 클라우드 서버들(11)로부터 동시에 패킷 요청을 받을 수 있다.
이 경우에, 공급자 역할을 하는 클라우드 서버(11)는 수요자 역할을 하는 클라우드 서버들(11)의 패킷 요청들에 모두 응답하기보다는 일부 요청들에 우선적으로 응답할 수 있는데, 클라우드 네트워크 시스템(10)의 최대 효율을 위해서는 어떤 요청에 우선적으로 응답할 것인지를 효과적으로 선택하여야 한다.
만약, 모든 공급자 역할을 하는 클라우드 서버들(11)이 각자 알아서 최선의 응답을 수행한다면, 그러한 클라우드 네트워크 시스템(10)은 전체적으로도 가장 효율적인 동작 상태라고 할 수 있을 것이다.
이러한 관점에서, 본 발명의 요청 응답 알고리즘은 공급자인 클라우드 서버(11)가 수요자인 클라우드 서버들(11)의 요청들 중에 응답할 패킷 요청들을 선정하는 데에 있어서, 응답의 효용(Utility)을 가장 크게 만드는 패킷 요청들의 조합을 결정하는 알고리즘이다.
구체적으로, 공급자인 제2 클라우드 서버(112)는, 첫째, 요청된 데이터의 중요도, 둘째, 패킷 요청을 한 클라우드 서버들(11) 각각에 관한 인바운드(inbound) 응답 기여도, 그리고 셋째, 공급자인 제2 클라우드 서버(112) 자신의 구동율 측도에 기초하여 산출되는 공급자인 제2 클라우드 서버(112) 자신의 서버 효용도를 최대로 만드는 패킷 요청들의 조합을 결정할 수 있다.
앞서 설명한 바와 같이 요청된 데이터의 중요도
Figure pat00066
는 지연 민감성 정도에 따라 상대적인 값으로 데이터마다 적절하게 부여될 수 있다.
인바운드 응답 기여도
Figure pat00067
는, 과거에 수요자로서 클라우드 서버
Figure pat00068
의 요청에 대해 공급자로서 클라우드 서버
Figure pat00069
가 응답한 내력에 기초하여, 현재의 공급자인 클라우드 서버
Figure pat00070
가 현재의 수요자인 클라우드 서버
Figure pat00071
에 대하여 과거에 기여를 받은 정도를 수치화한 값으로서, 실시예에 따라 인바운드 응답 기여도는 과거에 클라우드 서버
Figure pat00072
로부터 응답을 받았던 데이터의 중요도에 따라 결정될 수 있다.
말하자면, 공급자인 제2 클라우드 서버(112)는, 현 시점에 수요자인 제1 클라우드 서버(111)가 과거에 공급자 입장였을 때에 당시에는 수요자였던 제2 클라우드 서버(112)의 높은 중요도를 가진 요청에 대해 응답을 해주었는지 내력에 따라, 현재의 수요자인 제1 클라우드 서버(111)에 대한 인바운드 응답 기여도를 결정할 수 있다.
실시예에 따라, 과거의 모든 이력을 고려하는 대신에 직전의 응답 여부만을 고려하여 인바운드 응답 기여도를 결정할 수 있다.
다시 말해, 현 시점에 공급자인 클라우드 서버
Figure pat00073
는 현 시점에 수요자인 클라우드 서버
Figure pat00074
의 요청에 대하여, 직전 시점 t-1에 공급자였던 클라우드 서버
Figure pat00075
가 직전 시점 t-1의 클라우드 서버
Figure pat00076
의 요청에 응답해 준 데이터의 중요도를 가지고, 현 시점의 수요자인 클라우드 서버
Figure pat00077
의 인바운드 응답 기여도
Figure pat00078
를 결정할 수 있다.
마지막으로, 구동율 측도
Figure pat00079
은 공급자인 제2 클라우드 서버(112)의 연산 자원의 가동 비율에 관한 측도(measure)이다.
조사에 따르면, 통상적으로 컴퓨터에서 CPU 구동율
Figure pat00080
이 50%일 때에 서비스 시간이 2초 소요되고 CPU 구동율
Figure pat00081
이 70%인 때에는 서비스 시간이 3초 소요된다고 하면, CPU 구동율
Figure pat00082
이 90%일 때에 서비스 시간은 비례에 따라 4초 소요되는 것이 아니라 그보다 훨씬 긴 10초 이상 소요된다고 한다. 또한 관찰에 따르면 CPU 구동율
Figure pat00083
이 70%가 넘으면 응답 속도는 느려질 뿐 아니라 불규칙적으로 변하기도 한다.
앞서 설명하였듯이 서비스 지연 시간이 10초 이상이면 사용자는 서비스에 불만을 갖고 이탈하게 되지만, 다른 한편으로는 CPU 구동율
Figure pat00084
이 높을수록 에너지 효율적일 것이므로, 클라우드 서버(11)의 구동율 측도
Figure pat00085
는 지연 시간 및 에너지 효율 측면들에서 다소 트레이드오프 관계에 있다고 할 수 있다. 다만 CPU 부하가 작을 때에 소비 전력을 줄일 수 있는 다른 전력 관리 기술들을 적용할 수 있고, 앞의 예시에서 CPU 구동율
Figure pat00086
이 90%일때 서비스 지연 시간이 길어지면 결과적으로 동일한 에너지로 수행한 작업량은 오히려 줄어들 수 있으므로, 이 경우에 에너지 효율보다는 지연 시간이 더 큰 문제라고 할 수 있다.
따라서, CPU 구동율
Figure pat00087
은 어떤 적정 값, 예를 들어 70%를 유지하거나 넘지 않는 것이 바람직하다.
한편, 동일한 크기의 패킷에 관한 요청 및 응답을 위해 어떤 공급자 클라우드 서버
Figure pat00088
가 부담하는 부하는 거의 동일하다고 볼 수 있으므로, 어떤 공급자 클라우드 서버
Figure pat00089
의 CPU 구동율
Figure pat00090
은 공급자 클라우드 서버
Figure pat00091
가 처리해야 하는 요청 및 응답의 수가 늘어나면 비례적으로 증가한다고 할 수 있다. 이는 다음 수학식 2와 같이 표현될 수 있다.
Figure pat00092
여기서
Figure pat00093
는 현 시점 t에 공급자 클라우드 서버
Figure pat00094
가 처리할 응답들에 상응하는 패킷들의 집합이고,
Figure pat00095
는 현 시점 t에 공급자 클라우드 서버
Figure pat00096
가 처리하는 응답의 개수이며,
Figure pat00097
는 소정의 비례 상수이다.
이때, 연산의 편의를 위해 이러한 CPU 구동율
Figure pat00098
을 총 M 개의 구간 별로 나누고 수치화한 구동율 측도
Figure pat00099
를 도입할 수 있다.
Figure pat00100
여기서, 공급자 클라우드 서버
Figure pat00101
의 CPU 구동율
Figure pat00102
을 대표하는 구동율 측도
Figure pat00103
는 M+1 개의 경계값들
Figure pat00104
중 이웃하는 두 개의 경계값들
Figure pat00105
로 구분되는 M 개의 구간들을 각각 대표하는 M 개의 측도값들
Figure pat00106
,
Figure pat00107
, ...,
Figure pat00108
, ...,
Figure pat00109
중 하나의 측도값
Figure pat00110
을 가질 수 있다.
실시예에 따라, 구동율 측도
Figure pat00111
는 제2 클라우드 서버(112)가 연산 자원을 에너지 효율적 또는 속도 효율적으로 사용할수록 상대적으로 유리하도록 수치화될 수 있다.
예를 들어, 측도값들
Figure pat00112
은 공급자 클라우드 서버
Figure pat00113
에서 최적의 에너지 내지 지연시간 효율을 보이는 구동율 구간에서 양의 값을 부여받고, 반면에 과부하를 일으키거나 서비스 지연 내지 서버의 다운을 초래할 수 있는 구동율 구간들에서는 음의 값을 부여받을 수 있다.
예를 들어, 측도값
Figure pat00114
이 음수인 경우에는 해당 클라우드 서버의 효용도가 감소될 것이고, 그 결과 상대적으로 낮은 효용도를 산출시키는 패킷 요청 및 응답의 조합은 탈락하게 된다.
나아가, 실시예에 따라, 각각의 측도값들
Figure pat00115
은 CPU 구동율
Figure pat00116
구간마다 데이터 중요도
Figure pat00117
의 최대값
Figure pat00118
및 최소값
Figure pat00119
의 함수로 부여될 수 있다. 수학식 3은 그러한 구동율 측도
Figure pat00120
의 측도값들
Figure pat00121
을 예시한 것이다.
Figure pat00122
이 경우에, 아래 수학식 4의 서버 효용도
Figure pat00123
를 구성하는 변수들, 즉 데이터 중요도, 인바운드 응답 기여도 및 구동율 측도는 서로 동등한 수리적 의미를 가질 수 있다. 수학식 3에서 구동율 측도
Figure pat00124
는 CPU 구동율이 50%에서 70% 사이일 때 가장 높고, CPU 구동율이 50% 미만이면 양호한 수준이지만, CPU 구동율이 70%를 초과하면 음수로 부여된다.
이렇게, 각각의 가능한 패킷 요청 및 응답의 경우마다 데이터의 중요도
Figure pat00125
, 인바운드 응답 기여도
Figure pat00126
및 구동율 측도
Figure pat00127
가 결정되면, 각각의 가능한 경우에 대해 공급자 클라우드 서버
Figure pat00128
의 서버 효용도
Figure pat00129
는 총
Figure pat00130
개의 수요자 클라우드 서버들
Figure pat00131
이 공급자 클라우드 서버
Figure pat00132
에게 요청한 각각의 데이터
Figure pat00133
Figure pat00134
번째 패킷
Figure pat00135
의 중요도
Figure pat00136
, 직전 시점에서 수요자였던 클라우드 서버
Figure pat00137
가 공급자였던 클라우드 서버
Figure pat00138
에게 했던 요청에 기초한 클라우드 서버
Figure pat00139
의 인바운드 응답 기여도
Figure pat00140
및 구동율 측도
Figure pat00141
의 함수로서, 예를 들어, 다음 수학식 4와 같이 연산될 수 있다.
Figure pat00142
수학식 4에 따라, 서버 효용도
Figure pat00143
가 가장 크게 되도록 클라우드 서버들
Figure pat00144
의 패킷 요청 및 응답 조합이 결정될 수 있다. 이때,
Figure pat00145
,
Figure pat00146
,
Figure pat00147
는 각각 데이터의 중요도
Figure pat00148
, 인바운드 응답 기여도
Figure pat00149
및 구동율 측도
Figure pat00150
의 가중치들로서, 상황에 따라 적절하게 가변할 수 있다.
이러한 실시예에서 서버 효용도는, 현재 요청받은 데이터가 얼마나 중요한지, 상대방이 과거에 응답을 해준 데이터가 얼마나 중요했는지 여부, 그리고 연산 자원이 얼마나 여유가 있는지에 따라 결정된다.
수학식 4에 따른 예시적인 서버 효용도 산출 공식은 수백 회에서 수천 회의 사칙연산에 불과하므로 서버 효용도 산출과 응답 상대방 선정을 위해 클라우드 서버가 부담해야 하는 연산 자원은 미미하고, 따라서 본 발명의 클라우드 네트워크 자원 관리에 의한 오버헤드는 무시할 만 하다.
이렇게 하여, 공급자인 제2 클라우드 서버(112)는 서버 효용도가 최대가 되도록 패킷 요청들을 선정하고, 선정된 패킷 요청들에 응답할 수 있다.
도 6은 본 발명의 일 실시예에 따른 클라우드 네트워크 자원 관리 방법을 예시한 순서도이다.
도 6을 참조하면, 본 발명의 클라우드 네트워크 자원 관리 방법은 단계(S61)에서, 제1 클라우드 서버(111)가 사용자 단말기(30)에 제공하는 서비스에 관련된 데이터 중 일부 패킷이 부족한 경우에, 주변의 다른 클라우드 서버들(11)의 각각에 대한 제1 클라우드 서버(111)의 아웃바운드 응답 기여도에 기초하여, 패킷 요청을 할 제2 클라우드 서버(112)를 선정한다.
여기서, 아웃바운드 응답 기여도는, 과거에 제1 클라우드 서버(111)가 클라우드 서버들(11)의 각각의 요청에 대하여 응답한 내력에 기초하여 결정될 수 있다.
실시예에 따라, 아웃바운드 응답 기여도는, 과거의 제1 클라우드 서버(111)가 응답한 적이 있는 클라우드 서버들(11)의 요청에 상응하는 데이터의 중요도에 따라 결정될 수 있다.
여기서 데이터의 중요도는 데이터가 지연 민감성일수록 상대적으로 중요하다고 수치화될 수 있다.
이러한 실시예에서는, 아웃바운드 응답 기여도는 제1 클라우드 서버(111)가 과거에 상대 클라우드 서버(11)의 중요한 데이터의 요청에 응답을 해주었는지 여부를 의미한다.
또한 실시예에 따라, 아웃바운드 응답 기여도는, 직전 시점에 제1 클라우드 서버(111)가 응답한 적이 있는 클라우드 서버들(11)의 요청에 상응하는 데이터의 중요도에 따라 결정될 수 있다.
단계(S62)에서, 제1 클라우드 서버(111)는, 선정된 제2 클라우드 서버(112)에 필요한 패킷을 요청한다.
단계(S63)에서, 적어도 하나의 패킷 요청을 받은 제2 클라우드 서버(112)는, 각 패킷 요청에 상응하는 데이터의 중요도, 패킷 요청을 한 제1 클라우드 서버(111)를 비롯한 클라우드 서버들(11) 각각이 과거에 제2 클라우드 서버(112)의 요청에 응답했던 내력에 따른 인바운드 응답 기여도 및 제2 클라우드 서버(112)의 연산 자원의 가동 비율에 관한 구동율 측도에 기초하여, 패킷 요청들의 각각의 조합에 대해 제2 클라우드 서버(112)의 서버 효용도를 산출한다.
실시예에 따라, 데이터의 중요도는 데이터가 지연 민감성일수록 상대적으로 중요한 것으로 수치화될 수 있다.
실시예에 따라, 인바운드 응답 기여도는, 과거에 제2 클라우드 서버(112)의 요청에 대해 클라우드 서버들(11)이 응답한 내력에 기초하여 결정될 수 있다.
실시예에 따라, 인바운드 응답 기여도는, 과거에 제2 클라우드 서버(112)의 요청에 응답한 적이 있는 클라우드 서버들(11)에 대하여, 과거에 제2 클라우드 서버(112)가 요청했던 데이터의 중요도에 기초하여 결정될 수 있다.
이 실시예에서는, 인바운드 응답 기여도는 제2 클라우드 서버(112)가 과거에 상대 클라우드 서버들(11)로부터 중요한 데이터의 요청에 응답을 받았는지를 의미한다.
또한 실시예에 따라, 인바운드 응답 기여도는, 직전 시점에 제2 클라우드 서버(112)가 과거에 한 패킷 요청에 응답한 적이 있는 클라우드 서버들(11)에 대하여, 직전 시점에 제2 클라우드 서버(112)가 요청했던 데이터의 중요도에 따라 결정될 수 있다.
이러한 실시예들에서는, 공급자인 클라우드 서버(11)가, 현재 응답하려는 데이터의 중요도와 과거에 응답받았던 데이터의 중요도를 함께 고려하여, 서버 효용도를 산출한다는 점이 의미있다.
실시예에 따라, 구동율 측도는 제2 클라우드 서버(112)가 가동 중인 연산 자원에 관한 측도이다.
실시예에 따라, 구동율 측도는 제2 클라우드 서버(112)가 연산 자원을 에너지 효율적 또는 속도 효율적으로 사용할수록 상대적으로 유리하도록 수치화될 수 있다.
실시예에 따라, 구동율 측도는 가동 비율이 소정의 적정 수준일 때 가장 크고, 소정의 적정 수준보다 작으면 상대적으로 낮으며, 소정의 적정 수준을 초과하면 음수로 부여될 수 있다.
실시예에 따라, 패킷 요청들의 특정한 조합에 대한 서버 효용도는 데이터의 중요도, 인바운드 응답 기여도 및 구동율 측도를 가중 합산한 값들의 적산으로, 예를 들어 수학식 4와 같이, 연산될 수 있다.
단계(S64)에서, 제2 클라우드 서버(112)의 서버 효용도를 최대로 만드는 패킷 요청들의 조합을 결정하고, 단계(S65)에서는, 결정된 조합의 패킷 요청들에 상응하는 클라우드 서버들(11)에 대해 필요한 패킷들을 각각 전송함으로써 패킷 요청들에 응답한다.
도 7 및 도 8은 각각 본 발명의 일 실시예에 따른 클라우드 네트워크 자원 관리 방법에 따라 시뮬레이션한 결과로서, 도 7은 혼잡도가 보통일 때에, 도 8은 혼잡도가 심할 때에, 각각 데이터 중요도에 따라 응답이 있을 때까지 반복된 데이터 요청 횟수들을 비교한 그래프들이다.
먼저 시뮬레이션 환경을 설명하면, 최초에 데이터 중요도가 1부터 10까지의 자연수로 부여된 100 개의 데이터가 100 개의 클라우드 서버들(11)에 각각 분산 저장되어 있는 클라우드 네트워크 시스템(10)이다. 각 클라우드 서버(11)는 어떤 데이터의 패킷들 중 40%만 가지고 있고, 나머지 60%의 패킷들은 다른 클라우드 서버들(11)에 분산 저장되어 있다. 따라서 어떤 클라우드 서버(11)가 온전한 데이터를 통합하려면 다른 다수의 클라우드 서버들(11)에 패킷들을 요청하여야 한다.
각 클라우드 서버들(11)은 0%부터 100%까지의 CPU 구동율을 보이며, 한 패킷의 응답에 10%의 CPU 구동율이 소요된다고 가정한다.
또한 구동율 측도는 CPU 구동율이 50% ~ 70%일 때에 11, 0 ~ 50%일 때에 5.5, 70% ~ 80%일 때에 -5, 80% ~ 90%일 때에 -10, 90% ~ 100%일 때에 -15의 값을 갖도록 미리 지정하였다.
도 7을 참조하면, 혼잡도가 보통인 상황을 시뮬레이션하기 위해 각 클라우드 서버는 한 번에 20 개씩의 데이터 패킷 요청들을 다른 클라우드 서버들에 전송하도록 설정한 경우에, 응답을 받을 때까지 요청을 반복하는 회수를 데이터의 중요도에 따라 비교한 그래프들이다.
마름모꼴 포인터로 표시한 본 발명의 서버 효용도 기반 클라우드 네트워크 자원 관리 알고리즘의 결과들은, 중요도가 높은 데이터를 2회 미만의 요청으로 획득하였고 반면에 중요도가 매우 낮은 데이터는 4회 이상 요청을 반복하여 획득하였다.
이에 비해, 서버 효용도를 고려하지 않은, 빈 삼각형 포인터로 표시된 기존의 팃-포-탯(tit-for-tat) 기반의 클라우드 네트워크 자원 관리 알고리즘이나, X자 포인터로 표시된 무작위 요청 기반의 클라우드 네트워크 자원 관리 알고리즘의 경우에는 중요도에 상관없이 모든 데이터들이 2회를 약간 상회하는 요청 반복 회수로 획득되었다.
한편 도 8을 참조하면, 혼잡도가 심각한 상황을 시뮬레이션하기 위해 각 클라우드 서버는 한 번에 30 개씩의 데이터 패킷 요청들을 다른 클라우드 서버들에 전송하도록 설정한 경우에, 응답을 받을 때까지 요청을 반복하는 회수를 데이터의 중요도에 따라 비교한 그래프들이다.
마름모꼴 포인터로 표시한 본 발명의 서버 효용도 기반 클라우드 네트워크 자원 관리 알고리즘의 결과들은, 네트워크의 혼잡도가 심해졌음에도 불구하고, 중요도가 높은 데이터를 여전히 2회 미만의 요청으로 획득하였고 반면에 중요도가 매우 낮은 데이터는 다소 높아진 6회 이상 요청을 반복하여 획득하였다.
이에 비해, 서버 효용도를 고려하지 않은, 빈 삼각형 포인터로 표시된 기존의 팃-포-탯 기반의 클라우드 네트워크 자원 관리 알고리즘이나, X자 포인터로 표시된 무작위 요청 기반의 클라우드 네트워크 자원 관리 알고리즘의 경우에는 중요도에 상관없이 모든 데이터들이, 도 7의 경우보다 좀더 느려진, 3회에 가까운 요청 반복 회수로 획득되었다.
도 9는 본 발명의 일 실시예에 따른 클라우드 네트워크 자원 관리 방법에 따라 시뮬레이션한 결과로서, 혼잡도가 보통일 때에 클라우드 서버의 CPU 구동율들을 비교한 그래프이다.
도 9를 참조하면, 혼잡도가 보통인 상황을 시뮬레이션하기 위해 각 클라우드 서버는 한 번에 20 개씩의 데이터 패킷 요청들을 다른 클라우드 서버들에 전송하도록 설정한 경우에, 마름모꼴 포인터로 표시된 서버 효용도 기반의 클라우드 네트워크 자원 관리 알고리즘의 결과들은 CPU 구동율이 70% 미만에서 엄격하게 유지되면서, 속도와 에너지 사이에 균형을 유지하는 것을 볼 수 있다.
반면에, 서버 효용도를 고려하지 않은, 빈 삼각형 포인터로 표시된 기존의 팃-포-탯 기반의 클라우드 네트워크 자원 관리 알고리즘의 경우에는 75% 이상의 CPU 점유율을 보였고, X자 포인터로 표시된 무작위 요청 기반의 클라우드 네트워크 자원 관리 알고리즘의 경우에는 CPU 점유율이 70% 정도에서 유지되었다.
본 시뮬레이션에서는 각 클라우드 서버가 요청과 응답만 수행할 뿐이고 본래 할당될 클라우드 서비스에 따른 부하를 고려하지 않았는데, 따라서 종래의 클라우드 네트워크 자원 관리 알고리즘들의 경우에는 만약 각 클라우드 서버가 약간의 추가적인 작업만 더 수행하더라도 과부하 상태로 진입할 가능성이 있고, 전체적으로 서비스 품질이 크게 저하될 수 있다.
도 10은 본 발명의 일 실시예에 따른 클라우드 네트워크 자원 관리 방법을 구현하는 클라우드 서버를 예시한 블록도이다.
도 10을 참조하면, 클라우드 서버(100)는 아웃바운드 응답 기여도 산출부(101), 요청 상대방 선정부(102), 서버 효용도 산출부(103), 응답 상대방 선정부(104), 요청 응답 인터페이스(105), 요청 응답 내력 관리부(106), 자원 관리부(107)를 포함할 수 있다.
아웃바운드 응답 기여도 산출부(101)는 다른 클라우드 서버들의 각각으로부터 과거에 있었던 패킷 요청에 대해 과거에 응답했던 내력에 기초하여, 다른 클라우드 서버들의 아웃바운드 응답 기여도를 각각 산출한다.
실시예에 따라, 아웃바운드 응답 기여도는, 과거의 클라우드 서버(100)가 응답한 적이 있는 다른 클라우드 서버들의 패킷 요청에 상응하는 데이터의 중요도에 따라 결정될 수 있다.
실시예에 따라, 데이터의 중요도는 데이터가 지연 민감성일수록 상대적으로 중요하다고 수치화될 수 있다.
또한 실시예에 따라, 아웃바운드 응답 기여도는, 과거의 내력 중에서도, 직전 시점에 클라우드 서버(100)가 응답한 적이 있는 다른 클라우드 서버들의 요청에 상응하는 데이터의 중요도에 따라 결정될 수 있다.
요청 상대방 선정부(102)는 다른 클라우드 서버들 각각의 아웃바운드 응답 기여도에 기초하여, 클라우드 서버들 중에서 패킷 요청을 할 상대 클라우드 서버를 선정할 수 있다.
서버 효용도 산출부(103)는 적어도 하나의 패킷 요청을 받은 경우에, 각 패킷 요청에 상응하는 데이터의 중요도, 패킷 요청을 한 클라우드 서버들 각각이 과거에 클라우드 서버(100)의 요청에 응답했던 내력에 따른 인바운드 응답 기여도 및 클라우드 서버(100)의 연산 자원의 가동 비율에 관한 구동율 측도에 기초하여, 패킷 요청들의 각각의 조합에 대해 클라우드 서버(100)의 서버 효용도를 산출한다.
실시예에 따라, 데이터의 중요도는 데이터가 지연 민감성일수록 상대적으로 중요한 것으로 수치화될 수 있다.
실시예에 따라, 인바운드 응답 기여도는, 과거에 클라우드 서버(100)의 요청에 대해 다른 클라우드 서버들이 응답한 내력에 기초하여 결정될 수 있다.
실시예에 따라, 인바운드 응답 기여도는, 과거에 클라우드 서버(100)의 요청에 응답한 적이 있는 다른 클라우드 서버들에 대하여, 과거에 클라우드 서버(100)가 요청했던 데이터의 중요도에 기초하여 결정될 수 있다.
또한 실시예에 따라, 인바운드 응답 기여도는, 과거의 내력 중에서도, 직전 시점에 클라우드 서버(100)가 응답을 받은 적이 있는 다른 클라우드 서버들에 대하여, 직전 시점에 클라우드 서버(100)가 요청했던 데이터의 중요도에 따라 결정될 수 있다.
실시예에 따라, 구동율 측도는 클라우드 서버(100)가 가동 중인 연산 자원에 관한 측도이다.
실시예에 따라, 구동율 측도는 클라우드 서버(100)가 연산 자원을 에너지 효율적 또는 속도 효율적으로 사용할수록 상대적으로 유리하도록 수치화될 수 있다.
실시예에 따라, 구동율 측도는 가동 비율이 소정의 적정 수준일 때 가장 크고, 소정의 적정 수준보다 작으면 상대적으로 낮으며, 소정의 적정 수준을 초과하면 음수로 부여될 수 있다.
실시예에 따라, 패킷 요청들의 특정한 조합에 대한 서버 효용도는 데이터의 중요도, 인바운드 응답 기여도 및 구동율 측도를 가중 합산한 값들의 적산으로, 예를 들어 수학식 4와 같이, 연산될 수 있다.
이어서, 응답 상대방 선정부(104)는 클라우드 서버(100)의 서버 효용도를 최대로 만드는 패킷 요청들의 조합을 결정하고, 결정된 패킷 요청들에 상응하는 상대방 클라우드 서버들을 선정한다.
요청 응답 인터페이스(105)는 아웃바운드로 패킷 요청 시에는 선정된 요청 상대방 클라우드 서버들에 대해 필요한 데이터 패킷의 요청 신호를 전송하고, 아웃바운드로 패킷 응답 시에는 선정된 응답 상대방 클라우드 서버들에 대해 응답 패킷들을 전송한다.
또한 요청 응답 인터페이스(105)는 다른 클라우드 서버들로부터 인바운드로 패킷 요청을 수신할 수 있고, 또는 인바운드로 응답 패킷들을 수신할 수 있다.
요청 응답 내력 관리부(106)는 패킷 요청 시에는 패킷 요청한 데이터의 중요도 및 요청 상대방 클라우드 서버의 식별 정보를 기록하고, 패킷 응답 시에는 응답한 패킷에 상응하는 데이터의 중요도 및 응답 상대방 클라우드 서버의 식별 정보를 기록함으로써, 요청 응답 내력을 관리할 수 있다.
자원 관리부(107)는 클라우드 서버(100) 내의 연산 자원의 사용량을 감지하고 관리할 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다.
또한, 본 발명에 따른 장치는 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, 광학 디스크, 자기 테이프, 플로피 디스크, 하드 디스크, 비휘발성 메모리 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
10 클라우드 네트워크 시스템
11, 111, 112, 100 클라우드 서버
101 아웃바운드 응답 기여도 산출부 102 요청 상대방 선정부
103 서버 효용도 산출부 104 응답 상대방 선정부
105 요청 응답 인터페이스 106 요청 응답 내력 관리부
107 자원 관리부
12 클라우드 코어 도메인
20 네트워크
30 사용자 단말기

Claims (25)

  1. 데이터가 복수의 클라우드 서버들에 분산 저장되는 클라우드 네트워크의 자원 관리 방법으로서,
    적어도 하나의 패킷 요청을 받은 클라우드 서버가, 각 패킷 요청에 상응하는 데이터의 중요도, 상기 클라우드 서버에 패킷 요청을 한 다른 클라우드 서버들 각각이 과거에 상기 클라우드 서버의 패킷 요청에 응답했던 내력에 따른 인바운드 응답 기여도 및 상기 클라우드 서버의 연산 자원의 가동 비율에 관한 구동율 측도에 기초하여, 패킷 요청들의 각각의 조합에 대한 상기 클라우드 서버의 서버 효용도를 산출하는 단계;
    상기 클라우드 서버의 서버 효용도를 최대로 만드는 패킷 요청들의 조합을 결정하는 단계; 및
    상기 결정된 조합의 패킷 요청들에 상응하여 필요한 패킷들을 요청한 클라우드 서버들에 각각 전송함으로써 패킷 요청들에 응답하는 단계를 포함하는 클라우드 네트워크 자원 관리 방법.
  2. 청구항 1에 있어서, 상기 데이터의 중요도는 패킷 요청에 상응하는 데이터가 지연 민감성일수록 상대적으로 중요한 것으로 수치화되는 것을 특징으로 하는 클라우드 네트워크 자원 관리 방법.
  3. 청구항 2에 있어서, 상기 인바운드 응답 기여도는 상기 클라우드 서버가 과거에 한 패킷 요청에 대해 다른 클라우드 서버들이 응답한 내력에 기초하여 결정되는 것을 특징으로 하는 클라우드 네트워크 자원 관리 방법.
  4. 청구항 3에 있어서, 상기 인바운드 응답 기여도는 상기 클라우드 서버가 과거에 한 패킷 요청에 응답한 적이 있는 다른 클라우드 서버들에 대하여, 상기 클라우드 서버가 과거에 한 패킷 요청에 상응하는 데이터의 중요도에 기초하여 결정되는 것을 특징으로 하는 클라우드 네트워크 자원 관리 방법.
  5. 청구항 4에 있어서, 상기 인바운드 응답 기여도는 직전 시점에 상기 클라우드 서버가 과거에 한 패킷 요청에 응답한 적이 있는 다른 클라우드 서버들에 대하여, 직전 시점에 상기 클라우드 서버가 요청했던 데이터의 중요도에 따라 결정되는 것을 특징으로 하는 클라우드 네트워크 자원 관리 방법.
  6. 청구항 1에 있어서, 상기 구동율 측도는 상기 클라우드 서버가 가동 중인 연산 자원에 관한 측도로서, 상기 클라우드 서버가 연산 자원을 에너지 효율적 또는 속도 효율적으로 사용할수록 상대적으로 유리하도록 수치화되는 것을 특징으로 하는 클라우드 네트워크 자원 관리 방법.
  7. 청구항 6에 있어서, 상기 구동율 측도는
    가동 비율이 소정의 적정 수준일 때 상기 서버 효용도에 긍정적으로 적용되면서 상대적으로 큰 값으로,
    소정의 적정 수준보다 작으면 상기 서버 효용도에 긍정적으로 적용되면서 상대적으로 낮은 값으로,
    소정의 적정 수준을 초과하면 상기 서버 효용도에 부정적으로 적용되는 값으로 부여되는 것을 특징으로 하는 클라우드 네트워크 자원 관리 방법.
  8. 청구항 1에 있어서, 상기 패킷 요청들의 특정한 조합에 대한 서버 효용도는 각 조합을 이루는 패킷 요청들 각각에 상응하는 데이터의 중요도, 인바운드 응답 기여도 및 구동율 측도를 각 패킷 요청들 각각에 관하여 가중 합산한 값들을 적산하여 산출되는 것을 특징으로 하는 클라우드 네트워크 자원 관리 방법.
  9. 청구항 8에 있어서, 상기 서버 효용도는 다음의 수학식
    Figure pat00151

    에 의해 산출되며,
    여기서, 서버 효용도
    Figure pat00152
    는 공급자인 클라우드 서버
    Figure pat00153
    의 서버 효용도이고, 는 패킷 요청을 한 수요자인 클라우드 서버들
    Figure pat00155
    의 총 개수이며, 데이터 중요도
    Figure pat00156
    는 공급자인 클라우드 서버
    Figure pat00157
    에 요청된 각각의 데이터
    Figure pat00158
    Figure pat00159
    번째 패킷
    Figure pat00160
    에 관한 데이터 중요도이고, 인바운드 응답 기여도
    Figure pat00161
    는 직전 시점에서 수요자였던 클라우드 서버
    Figure pat00162
    가 공급자였던 클라우드 서버
    Figure pat00163
    에게 했던 요청에 기초한 클라우드 서버
    Figure pat00164
    의 인바운드 응답 기여도이며,
    Figure pat00165
    는 클라우드 서버
    Figure pat00166
    의 구동율 측도이고,
    Figure pat00167
    ,
    Figure pat00168
    ,
    Figure pat00169
    는 각각 데이터의 중요도
    Figure pat00170
    , 인바운드 응답 기여도
    Figure pat00171
    및 구동율 측도
    Figure pat00172
    의 가중치들인 것을 특징으로 하는 클라우드 네트워크 자원 관리 방법.
  10. 청구항 1에 있어서,
    상기 클라우드 서버가 제공하는 서비스에 관련된 데이터 중 일부 패킷이 부족한 경우에, 상기 클라우드 서버가, 다른 클라우드 서버들의 각각에 대한 아웃바운드 응답 기여도에 기초하여, 패킷 요청을 할 적어도 하나의 다른 클라우드 서버를 선정하는 단계; 및
    상기 클라우드 서버가, 상기 선정된 클라우드 서버에 필요한 패킷을 요청하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 네트워크 자원 관리 방법.
  11. 청구항 10에 있어서, 상기 아웃바운드 응답 기여도는 상기 클라우드 서버가 과거에 다른 클라우드 서버들의 각각의 패킷 요청에 대하여 응답한 내력에 기초하여 결정되는 것을 특징으로 하는 클라우드 네트워크 자원 관리 방법.
  12. 청구항 11에 있어서, 상기 아웃바운드 응답 기여도는 상기 클라우드 서버가 과거에 응답했던 다른 클라우드 서버들의 각각의 패킷 요청에 상응하는 데이터의 중요도에 따라 결정되고,
    상기 데이터의 중요도는 데이터가 지연 민감성일수록 상대적으로 중요하다고 수치화되는 것을 특징으로 하는 클라우드 네트워크 자원 관리 방법.
  13. 청구항 12에 있어서, 상기 아웃바운드 응답 기여도는 상기 클라우드 서버가 직전 시점에 응답한 적이 있는 다른 클라우드 서버들의 패킷 요청에 상응하는 데이터의 중요도에 따라 결정되는 것을 특징으로 하는 클라우드 네트워크 자원 관리 방법.
  14. 데이터가 복수의 클라우드 서버들에 분산 저장되는 클라우드 네트워크의 자원 관리 방법으로서,
    제1 클라우드 서버가 제공하는 서비스에 관련된 데이터 중 일부 패킷이 부족한 경우에, 상기 제1 클라우드 서버가, 다른 클라우드 서버들의 각각에 대한 아웃바운드 응답 기여도에 기초하여, 패킷 요청을 할 제2 클라우드 서버를 선정하는 단계;
    상기 제1 클라우드 서버가, 상기 선정된 제2 클라우드 서버에 필요한 패킷을 요청하는 단계;
    적어도 하나의 패킷 요청을 받은 상기 제2 클라우드 서버가, 각 패킷 요청에 상응하는 데이터의 중요도, 상기 제2 클라우드 서버에 패킷 요청을 한 클라우드 서버들 각각이 과거에 상기 제2 클라우드 서버의 요청에 응답했던 내력에 따른 인바운드 응답 기여도 및 상기 제2 클라우드 서버의 연산 자원의 가동 비율에 관한 구동율 측도에 기초하여, 패킷 요청들의 각각의 조합에 대한 상기 제2 클라우드 서버의 서버 효용도를 산출하는 단계;
    상기 제2 클라우드 서버의 서버 효용도를 최대로 만드는 패킷 요청들의 조합을 결정하는 단계; 및
    상기 결정된 조합의 패킷 요청들에 상응하는 클라우드 서버들에 대해 필요한 패킷들을 각각 전송함으로써 패킷 요청들에 응답하는 단계를 포함하는 클라우드 네트워크 자원 관리 방법.
  15. 컴퓨터 장치에서 청구항 1 내지 청구항 14 중 어느 한 청구항에 따른 클라우드 네트워크 자원 관리 방법을 구현할 수 있는 프로그램이 수록된 컴퓨터 장치에서 독출할 수 있는 기록 매체.
  16. 클라우드 네트워크에서 데이터가 분산 저장되는 클라우드 서버로서,
    적어도 하나의 패킷 요청을 받을 경우에, 각 패킷 요청에 상응하는 데이터의 중요도, 상기 클라우드 서버에 패킷 요청을 한 다른 클라우드 서버들 각각이 과거에 상기 클라우드 서버의 패킷 요청에 응답했던 내력에 따른 인바운드 응답 기여도 및 상기 클라우드 서버의 연산 자원의 가동 비율에 관한 구동율 측도에 기초하여, 패킷 요청들의 각각의 조합에 대한 상기 클라우드 서버의 서버 효용도를 산출하는 서버 효용도 산출부;
    상기 서버 효용도를 최대로 만드는 패킷 요청들의 조합을 결정하는 응답 상대방 선정부; 및
    상기 결정된 조합의 패킷 요청들에 상응하여 필요한 패킷들을 요청한 클라우드 서버들에 각각 전송함으로써 패킷 요청들에 응답하는 요청 응답 인터페이스를 포함하는 클라우드 서버.
  17. 청구항 16에 있어서, 상기 데이터의 중요도는 패킷 요청에 상응하는 데이터가 지연 민감성일수록 상대적으로 중요한 것으로 수치화되는 것을 특징으로 하는 클라우드 서버.
  18. 청구항 17에 있어서,
    상기 인바운드 응답 기여도는 상기 클라우드 서버가 과거에 한 패킷 요청에 응답한 적이 있는 다른 클라우드 서버들에 대하여, 상기 클라우드 서버가 과거에 한 패킷 요청에 상응하는 데이터의 중요도에 기초하여 결정되는 것을 특징으로 하는 클라우드 서버.
  19. 청구항 16에 있어서, 상기 구동율 측도는 상기 클라우드 서버가 가동 중인 연산 자원에 관한 측도로서, 상기 클라우드 서버가 연산 자원을 에너지 효율적 또는 속도 효율적으로 사용할수록 상대적으로 유리하도록 수치화되는 것을 특징으로 하는 클라우드 서버.
  20. 청구항 16에 있어서, 상기 패킷 요청들의 특정한 조합에 대한 서버 효용도는 각 조합을 이루는 패킷 요청들 각각에 상응하는 데이터의 중요도, 인바운드 응답 기여도 및 구동율 측도를 각 패킷 요청들 각각에 관하여 가중 합산한 값들을 적산하여 산출되는 것을 특징으로 하는 클라우드 서버.
  21. 청구항 20에 있어서, 상기 서버 효용도는 다음의 수학식
    Figure pat00173

    에 의해 산출되며,
    여기서, 서버 효용도
    Figure pat00174
    는 공급자인 클라우드 서버
    Figure pat00175
    의 서버 효용도이고,
    Figure pat00176
    는 패킷 요청을 한 수요자인 클라우드 서버들
    Figure pat00177
    의 총 개수이며, 데이터 중요도 는 공급자인 클라우드 서버
    Figure pat00179
    에 요청된 각각의 데이터
    Figure pat00180
    Figure pat00181
    번째 패킷
    Figure pat00182
    에 관한 데이터 중요도이고, 인바운드 응답 기여도
    Figure pat00183
    는 직전 시점에서 수요자였던 클라우드 서버
    Figure pat00184
    가 공급자였던 클라우드 서버
    Figure pat00185
    에게 했던 요청에 기초한 클라우드 서버
    Figure pat00186
    의 인바운드 응답 기여도이며,
    Figure pat00187
    는 클라우드 서버
    Figure pat00188
    의 구동율 측도이고,
    Figure pat00189
    ,
    Figure pat00190
    ,
    Figure pat00191
    는 각각 데이터의 중요도
    Figure pat00192
    , 인바운드 응답 기여도
    Figure pat00193
    및 구동율 측도
    Figure pat00194
    의 가중치들인 것을 특징으로 하는 클라우드 서버.
  22. 청구항 16에 있어서,
    상기 클라우드 서버가 제공하는 서비스에 관련된 데이터 중 일부 패킷이 부족한 경우에, 다른 클라우드 서버들의 각각에 대한 아웃바운드 응답 기여도에 기초하여, 패킷 요청을 할 적어도 하나의 다른 클라우드 서버를 선정하는요청 상대방 선정부를 더 포함하고,
    상기 요청 응답 인터페이스가 상기 선정된 클라우드 서버에 필요한 패킷을 요청하도록 동작하는 것을 특징으로 하는 클라우드 서버.
  23. 청구항 16에 있어서, 패킷 요청 시에는 패킷 요청한 데이터의 중요도 및 요청 상대방으로 선정된 클라우드 서버의 식별 정보를 기록하고, 패킷 응답 시에는 응답한 패킷에 상응하는 데이터의 중요도 및 응답 상대방으로 선정된 클라우드 서버의 식별 정보를 기록함으로써, 요청 응답 내력을 관리하는 요청 응답 내력 관리부를 더 포함하는 것을 특징으로 하는 클라우드 서버.
  24. 컴퓨터 장치를 청구항 16 내지 청구항 23 중 어느 한 청구항에 따른 클라우드 네트워크에 속하는 클라우드 서버로 동작시킬 수 있는 프로그램이 수록된 컴퓨터 장치에서 독출할 수 있는 기록 매체.
  25. 복수의 클라우드 서버들에 데이터를 분산 저장하는 클라우드 네트워크 시스템으로서,
    상기 복수의 클라우드 서버들의 각각은,
    적어도 하나의 패킷 요청을 받을 경우에, 각 패킷 요청에 상응하는 데이터의 중요도, 상기 클라우드 서버에 패킷 요청을 한 다른 클라우드 서버들 각각이 과거에 상기 클라우드 서버의 패킷 요청에 응답했던 내력에 따른 인바운드 응답 기여도 및 상기 클라우드 서버의 연산 자원의 가동 비율에 관한 구동율 측도에 기초하여, 패킷 요청들의 각각의 조합에 대한 상기 클라우드 서버의 서버 효용도를 산출하는 서버 효용도 산출부;
    상기 서버 효용도를 최대로 만드는 패킷 요청들의 조합을 결정하는 응답 상대방 선정부; 및
    상기 결정된 조합의 패킷 요청들에 상응하여 필요한 패킷들을 요청한 클라우드 서버들에 각각 전송함으로써 패킷 요청들에 응답하는 요청 응답 인터페이스를 포함하는 것을 특징으로 하는 클라우드 네트워크 시스템.
KR1020130031827A 2013-03-26 2013-03-26 클라우드 네트워크 자원 관리 방법, 클라우드 서버 및 이를 이용하는 클라우드 네트워크 시스템 KR101448586B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130031827A KR101448586B1 (ko) 2013-03-26 2013-03-26 클라우드 네트워크 자원 관리 방법, 클라우드 서버 및 이를 이용하는 클라우드 네트워크 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130031827A KR101448586B1 (ko) 2013-03-26 2013-03-26 클라우드 네트워크 자원 관리 방법, 클라우드 서버 및 이를 이용하는 클라우드 네트워크 시스템

Publications (2)

Publication Number Publication Date
KR20140117714A true KR20140117714A (ko) 2014-10-08
KR101448586B1 KR101448586B1 (ko) 2014-10-14

Family

ID=51990706

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130031827A KR101448586B1 (ko) 2013-03-26 2013-03-26 클라우드 네트워크 자원 관리 방법, 클라우드 서버 및 이를 이용하는 클라우드 네트워크 시스템

Country Status (1)

Country Link
KR (1) KR101448586B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112351051A (zh) * 2019-08-06 2021-02-09 中兴通讯股份有限公司 云服务处理方法、装置、云服务器、系统及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112351051A (zh) * 2019-08-06 2021-02-09 中兴通讯股份有限公司 云服务处理方法、装置、云服务器、系统及存储介质
WO2021022985A1 (zh) * 2019-08-06 2021-02-11 中兴通讯股份有限公司 云服务处理方法及装置、云服务器、云服务系统及存储介质
US11888933B2 (en) 2019-08-06 2024-01-30 Xi'an Zhongxing New Software Co., Ltd. Cloud service processing method and device, cloud server, cloud service system and storage medium

Also Published As

Publication number Publication date
KR101448586B1 (ko) 2014-10-14

Similar Documents

Publication Publication Date Title
CN109218355B (zh) 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
US20190319881A1 (en) Traffic management based on past traffic arrival patterns
CN102662764B (zh) 一种基于smdp的动态云计算资源优化分配方法
KR20120063499A (ko) 엔터프라이즈 네트워크에서 할당된 클라우드 자원의 동적 로드 밸런싱 및 스케일링
CN107317764B (zh) 流量负载均衡方法、系统、装置和计算机可读存储介质
Chunlin et al. Distributed QoS-aware scheduling optimization for resource-intensive mobile application in hybrid cloud
Peralta et al. Fog to cloud and network coded based architecture: Minimizing data download time for smart mobility
KR101613513B1 (ko) 네트워크 대역폭 및 cpu 이용률을 고려한 가상머신 배치 방법 및 시스템
Bukhsh et al. Efficient resource allocation for consumers' power requests in cloud-fog-based system
CN104967868B (zh) 视频转码方法、装置和服务器
Mascitti et al. Service provisioning through opportunistic computing in mobile clouds
Durga et al. Context-aware adaptive resource provisioning for mobile clients in intra-cloud environment
US10951707B2 (en) Selection device, device selection method, and program
KR101448586B1 (ko) 클라우드 네트워크 자원 관리 방법, 클라우드 서버 및 이를 이용하는 클라우드 네트워크 시스템
Kontogiannis et al. ALBL: an adaptive load balancing algorithm for distributed web systems
CN109862069B (zh) 消息处理方法和装置
CN108667920B (zh) 一种雾计算环境业务流量加速系统及其业务流量加速方法
Liang et al. Optimal services for content delivery based on business priority
He et al. Hidden Markov Model-based Load Balancing in Data Center Networks
CN113574506B (zh) 基于计算节点标识符的请求分配
Siavoshani et al. On communication cost vs. load balancing in content delivery networks
Yang Intelligent offload detection for achieving approximately optimal load balancing
Zhang et al. Network Management in Cloud and Edge Computing
Hao AI‐driven efficient and reliable routing mechanism for optical fiber communication and wireless sensor networks
US20080009284A1 (en) Load balancing based on free space of visitor location register

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee