KR20170018038A - 가격 및 성능에 기초하여 클라우드 서비스들의 선택을 최적화하는 시스템 및 방법 - Google Patents

가격 및 성능에 기초하여 클라우드 서비스들의 선택을 최적화하는 시스템 및 방법 Download PDF

Info

Publication number
KR20170018038A
KR20170018038A KR1020177000929A KR20177000929A KR20170018038A KR 20170018038 A KR20170018038 A KR 20170018038A KR 1020177000929 A KR1020177000929 A KR 1020177000929A KR 20177000929 A KR20177000929 A KR 20177000929A KR 20170018038 A KR20170018038 A KR 20170018038A
Authority
KR
South Korea
Prior art keywords
purchase
cloud service
spot
price
cloud
Prior art date
Application number
KR1020177000929A
Other languages
English (en)
Inventor
조슈아 스텔라
도미닉 지필리
매튜 브링크먼
앤드류 라이트
타일러 드롬보스키
Original Assignee
루미날, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 루미날, 인크. filed Critical 루미날, 인크.
Publication of KR20170018038A publication Critical patent/KR20170018038A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0613Third-party assisted
    • G06Q30/0617Representative agent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • 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/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0613Third-party assisted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/327
    • 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/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

클라우드 서비스들의 선택을 최적화하기 위해 클라우드 서비스들과 관련되는 가격, 성능, 및/또는 다른 정보에 기초하여 구매 전략들을 발생시키고 사용하는 시스템 및 방법이 제공된다. 구매 전략들은 고객들이 최신의 실시간 정보를 사용하여 클라우드 서비스들을 구매할 수 있도록 실시간으로 다양한 클라우드 서비스들을 포괄적으로 설명할 수 있다. 구매 전략들은 예를 들어, 다양한 클라우드 서비스들의 가격 책정, 성능, 가용성, 및/또는 다른 속성들을 설명할 수 있다. 구매 에이전트는 구매되어야 하는 하나 이상의 클라우드 서비스 인스턴스들을 지정하는 구매 사양을 발생시키기 위해 구매 전략들, 하나 이상의 구매 규칙들, 및/또는 다른 정보를 사용할 수 있다. 구매 에이전트는 유리한 구매 결정들을 하기 위해 스폿 인스턴스들의 고유 성질들을 레버리징할 수 있다. 예를 들어, 시스템은 특정 스폿 인스턴스들을 획득하기 위해 정해져야 하는 입찰 가격들을 결정할 수 있다.

Description

가격 및 성능에 기초하여 클라우드 서비스들의 선택을 최적화하는 시스템 및 방법{SYSTEM AND METHOD FOR OPTIMIZING THE SELECTION OF CLOUD SERVICES BASED ON PRICE AND PERFORMANCE}
관련 출원들에 대한 상호 참조
본 출원은 2014년 6월 11일에 출원된 미국 특허 출원 일련 번호 제14/302,220호의 이익을 주장하며, 이 미국 특허 출원은 이로써 전체적으로 참조로 포함된다.
본 발명은 다양한 클라우드 서비스들의 선택을 최적화하기 위해 다양한 클라우드 서비스들의 가격 및/또는 성능에 기초하여 구매 전략들을 발생시키고 사용하는 시스템 및 방법에 관한 것이다.
다수의 클라우드 서비스 제공자들은 그들의 고객들을 위해 컴퓨트 인스턴스들을 실행하기 위한 다양한 클라우드 서비스들을 판매한다. 예를 들어, 아마존은 그것의 아마존 웹 서비스들(AMAZON WEB SERVICES)(AWS) 서비스를 판매하고, 구글은 구글 앱 엔진 서비스를 판매하고, 다른 것들은 유사한 서비스들을 판매한다. 수수료에 대한 교환으로, 아마존, 구글, 및 다른 클라우드 서비스 제공자들은 그들의 서버들 및 다른 인프라스트럭처의 사용을 고객들에게 제한된 시간 동안 클라우드 서비스 인스턴스의 형태로 제공한다. 수수료는 클라우드 서비스 인스턴스가 실행되는 시간/날짜, 클라우드 서비스 인스턴스의 성능(예를 들어, 처리량, 레이턴시 등), 제공된 클라우드 서비스 인스턴스가 스폿 인스턴스 또는 표준 인스턴스인지, 및/또는 다른 속성들에 따라 변할 수 있다.
표준 인스턴스는 수수료의 지불 시에 완료까지 실행되도록 보장되는 클라우드 서비스 인스턴스이다. 스폿 인스턴스는 고객의 입찰 가격이 시간에 따라 변경될 수 있는 현재 스폿 가격을 초과하기만 하면 실행되는 클라우드 서비스 인스턴스이다. 스폿 인스턴스는 스폿 인스턴스가 여전히 실행되고 있는 동안에 현재 스폿 가격이 입찰 가격보다 위로 상승되면 조기에 종료될 수 있다. 스폿 인스턴스의 제공자가 전형적으로 입찰 가격의 전부 또는 일부를 환불하지만(또는 입찰 가격의 전부 또는 일부를 다른 방법으로 청구하지 않지만) 조기 종료가 발생하면, 스폿 인스턴스들의 사용은 중단되지 않아야 하고 정전들을 경험하지 않아야 하는 컴퓨트 인스턴스들에 대해 위험할 수 있다. 따라서, 스폿 인스턴스들에 대한 가격들은 전형적으로 표준 인스턴스들에 대한 것보다 더 낮다.
다양한 클라우드 서비스들이 이용가능하기 때문에, 상이한 가격 책정, 성능, 및/다른 속성들 각각에서, 고객은 고객의 고유 요건들에 기초하여 구매 결정들을 하는 것이 어려울 수 있다. 더욱이, 클라우드 서비스 인스턴스의 가격들, 성능, 및/또는 다른 속성들이 시간에 따라 변할 수 있기 때문에, 구매 결정을 실시간으로 하는 것이 어려울 수 있다. 또한 내재 위험 및 수수료 구조를 포함하는, 스폿 인스턴스들의 고유 성질들을 레버리징하는 것이 어려울 수 있다. 이러한 및 다른 결점들이 존재한다.
이러한 및 다른 결점들을 처리하는 본 발명은 다양한 클라우드 서비스들의 선택을 최적화하기 위해 다양한 클라우드 서비스들의 가격 및/또는 성능에 기초하여 구매 전략들을 발생시키고 사용하는 시스템 및 방법에 관한 것이다. 시스템은 고객들이 최신의 실시간 정보를 사용하여 클라우드 서비스들을 구매할 수 있도록 실시간으로 다양한 클라우드 서비스들을 포괄적으로 설명하는 구매 전략들을 발생시키기 위해 사용될 수 있다. 구매 전략들은 예를 들어 다양한 클라우드 서비스들의 가격 책정, 성능, 가용성, 및/또는 다른 속성들을 설명할 수 있다.
본 발명의 일 양태에 따르면, 시스템은 이력 가격 책정, 성능, 및/또는 다른 정보를 포함하는 가격 및 성능 데이터베이스를 포함할 수 있다. 가격 및 성능 데이터베이스는 가격 책정, 성능, 및/또는 다른 정보를 자동으로 검색하는 프로세스들을 사용하여 자동으로 파퓰레이션될 수 있다. 데이터 분석가들은 또한 가격 및 성능 데이터베이스를 파퓰레이션하기 위해 사용되는 가격 책정, 성능, 및/또는 다른 정보를 수동으로 획득할 수 있다. 그러한 정보는 뉴스 소스들, 데이터 분석가들 또는 다른 것들에 의해 수행되는 마켓 분석, 및/또는 다른 소스들로부터 획득될 수 있다.
서비스 제공자들이 제공하는 자원들의 타입들, 가격 책정, 성능, 가용성, 및/또는 다른 정보를 시간에 따라 포함하는, 다양한 클라우드 서비스 제공자들의 정보는 또한 획득되고 가격 및 성능 데이터베이스에 저장될 수 있다. 시스템은 하나 이상의 클라우드 서비스 제공자들 내에서 및 이 서비스 제공자들에 걸쳐서 구매를 위한 새로운 옵션들 및 능력들을 발견하기 위해 가격 및 성능 데이터베이스로부터 정보를 분석할 수 있다. 예를 들어, 시스템은 새로운 분석을 촉발시킬 수 있는 새롭게 추가된 또는 갱신된 정보를 위해 가격 및 성능 데이터베이스를 감시할 수 있다.
일 구현에서, 시스템은 다양한 클라우드 서비스들에 대한 성능 데이터를 능동적으로 수집할 수 있다. 시스템은 또한 주어진 고객의 요구들 및/또는 계산 환경을 적합하게 하는 구매 전략들을 맞춤화하기 위해 고객 환경들과 연관되는 메타데이터를 수집할 수 있다. 시스템은 가격 및 성능 데이터베이스 내의 (이력 정보뿐만 아니라) 실시간 및 갱신된 정보에 기초하는 하나 이상의 구매 전략들을 발생시킬 수 있는 것에 의해 이력 및 현재 클라우드 마켓 조건들을 처리한다.
고객은 구매 전략들에 가입하고 구매 전략들을 수신할 수 있으며, 구매 전략들은 구매 결정들을 용이하게 하기 위해 실시간으로 적용될 수 있다. 구매 전략은 강한 보안 암호화 및 서명이 적용되는 비동기 통신을 통해 제공될 수 있다. 고객(예를 들어, 고객을 대신하여 작업하는 분석가)은 고객에게 이용가능한 정보를 사용하는 구매 전략을 수정하고, 그 자체의 구매 전략을 발생시키고, 컴퓨트 인스턴스들에 대한 요건들을 지정하는 하나 이상의 구매 규칙들을 제공하고, 및/또는 구매 결정을 하는 것과 관련되는 다른 액션들을 취할 수 있다.
고객 컴퓨터 시스템에는 하나 이상의 구매 파라미터들을 사용하여 구매되어야 하는 하나 이상의 클라우드 서비스 인스턴스들을 지정하는 구매 사양을 발생시키기 위해 하나 이상의 구매 전략들(예를 들어, 수정되지 않은 구매 전략들, 수정된 구매 전략들, 고객 발생 구매 전략들 등), 하나 이상의 구매 규칙들, 및/또는 다른 정보을 사용하는 구매 에이전트가 제공될 수 있다. 구매 파라미터들은 제한 없이, 스폿 인스턴스 또는 표준 인스턴스가 구매되어야 하는지, 클라우드 서비스 인스턴스의 타입, 시간, 가격, 성능, 클라우드 서비스 인스턴스들의 수, 및/또는 구매되어야 하는 하나 이상의 클라우드 서비스 인스턴스들과 관련되는 다른 정보를 포함할 수 있다. 구매 파라미터들은 고객에 의해 지정되는 규칙들(예를 들어, 최대 가격, 최소 성능, 임계성 - 즉, 실행되는 컴퓨트 인스턴스가 중단/조기에 종료될 수 있는지 등)에 기초하여 결정될 수 있다.
구매 에이전트는 유리한 구매 결정들을 하기 위해 스폿 인스턴스들의 고유 성질들을 레버리징할 수 있다. 예를 들어, 시스템은 컴퓨트 인스턴스의 적어도 일부가 무상으로 실행되도록 조기 종료를 야기할 것으로 예상되는 입찰 가격을 예측할 수 있다.
고객 컴퓨터 시스템은 클라우드 서비스를 사용하여 실행되는 컴퓨트 인스턴스들을 생성하는 클라우드 컨트롤러를 포함할 수 있다. 클라우드 컨트롤러는 클라우드 컨트롤러 및/또는 구매 에이전트에 의해 수행되는 각각의 구매 결정이 최적 가격 책정 전략을 포함하도록 구매 에이전트와 주기적으로 상호작용할 수 있다.
구조의 관련 요소들의 동작 및 기능들의 방법들 및 제조의 부분들 및 경제들의 조합뿐만 아니라, 본원에 개시되는 시스템 및/또는 방법의 이러한 및 다른 목적들, 특징들, 및 특성들은 모두가 본 명세서의 일부를 형성하고 동일한 참조 번호들이 다양한 도면들에서 대응 부분들을 지정하는 첨부 도면들을 참조하여 이하의 설명 및 첨부된 청구항들을 고려하면 더 분명해질 것이다. 그러나, 도면들은 예시 및 설명만의 목적을 위한 것이고 본 발명의 제한들의 정의로 의도되지 않는다는 점이 분명히 이해되어야 한다. 명세서 및 청구항들에 사용되는 바와 같이, 하나의("a", "an"), 및 상기("the")의 단수 형태는 맥락이 달리 분명히 지시하지 않는 한 복수의 지시 대상들을 포함한다.
도 1은 본 발명의 일 구현에 따라, 다양한 클라우드 서비스들의 선택을 최적화하기 위해 다양한 클라우드 서비스들의 가격 및/또는 성능에 기초하여 구매 전략들을 발생시키고 사용하는 시스템을 예시한다.
도 2는 본 발명의 일 구현에 따라, 다양한 클라우드 서비스들의 선택을 최적화하기 위해 다양한 클라우드 서비스들의 가격 및/또는 성능에 기초하여 구매 전략들을 발생시키고 사용하는 데이터 흐름도를 예시한다.
도 3은 본 발명의 일 구현에 따라, 구매 전략들 및/또는 다른 정보에 기초하여 구매 결정들을 결정하는 프로세스를 예시한다.
도 4는 본 발명의 일 구현에 따라, 스폿 인스턴스들에 대한 스폿 가격 변동성을 식별하고 레버리징하는 프로세스를 예시한다.
도 5는 본 발명의 일 구현에 따라, 시간에 따라 플로팅되는 스폿 인스턴스들에 대한 스폿 가격들의 2차원 그래픽 표현을 예시한다.
본 발명은 다양한 클라우드 서비스들의 선택을 최적화하기 위해 다양한 클라우드 서비스들의 가격 및/또는 성능에 기초하여 구매 전략들을 발생시키고 사용하는 시스템 및 방법에 관한 것이다.
도 1은 본 발명의 일 구현에 따라, 컴퓨팅 요건들을 충족시키도록 다양한 클라우드 서비스들의 선택을 최적화하기 위해 다양한 클라우드 서비스들의 가격 및/또는 성능에 기초하여 구매 전략들을 발생시키고 사용하는 시스템(100)을 예시한다.
시스템은 고객들이 최신의 실시간 정보를 사용하여 클라우드 서비스들을 구매할 수 있도록 실시간으로 다양한 클라우드 서비스들을 포괄적으로 설명하는 구매 전략들을 발생시키기 위해 사용될 수 있다. 구매 전략들은 예를 들어 다양한 클라우드 서비스들의 가격 책정, 성능, 가용성, 및/또는 다른 속성들을 설명할 수 있다.
고객들은 구매 결정들을 하기 위해 구매 전략들에 가입하고 구매 전략들을 수신할 수 있다. 고객(예를 들어, 고객을 대신하여 작업하는 분석가)은 고객에게 이용가능한 정보를 사용하여 구매 전략을 수정하고, 그 자체의 구매 전략을 발생시키고, 컴퓨트 인스턴스들에 대한 요건들을 지정하는 하나 이상의 구매 규칙들을 제공하고, 및/또는 구매 결정을 하는 것과 관련되는 다른 액션들을 취할 수 있다.
시스템은 구매되어야 하는 하나 이상의 클라우드 서비스 인스턴스들을 지정하는 구매 사양을 발생시키기 위해 구매 전략들(예를 들어, 수정되지 않은 구매 전략들, 수정된 구매 전략들, 고객 발생 구매 전략들 등), 하나 이상의 구매 규칙들, 및/또는 다른 정보를 사용할 수 있다. 구매 사양은 구매되어야 하는 하나 이상의 클라우드 서비스 인스턴스들과 관련되는 시간, 가격, 성능, 및/또는 다른 속성을 지정하는 구매 파라미터들을 포함할 수 있다. 구매 파라미터들은 고객에 의해 지정되는 규칙들(예를 들어, 최대 가격, 최소 성능, 임계성 - 즉, 실행되는 컴퓨트 인스턴스가 중단/조기에 종료될 수 있는지 등)에 기초하여 결정될 수 있다.
시스템은 유리한 구매 결정들을 하기 위해 스폿 인스턴스들의 고유 성질들을 레베리징할 수 있다. 예를 들어, 시스템은 컴퓨트 인스턴스의 적어도 일부가 무상으로 실행되도록 조기 종료를 야기할 것으로 예상되는 입찰 가격을 예측할 수 있다.
시스템(100)의 다른 사용들은 본원에 설명되고 여전히 다른 것들은 본 기술분야의 통상의 기술자들에게 분명할 것이다. 시스템 기능들의 일부에 대한 높은 레벨 개요를 설명했지만, 관심은 이제 이러한 및 다른 기능들을 용이하게 하는 다양한 시스템 구성요소들로 전환될 것이다.
예시적 시스템 아키텍처
시스템(100)은 컴퓨터 시스템(110), 고객 컴퓨터 시스템(130), 하나 이상의 클라우드 서비스 제공자들(150), 및/또는 다른 구성요소들을 포함할 수 있다.
컴퓨터 시스템(110)
컴퓨터 시스템(110)은 하나 이상의 프로세서들(112)(또한 편의상 본원에서 프로세서들(112), 프로세서(들)(112), 또는 프로세서(112)로 교환가능하게 언급됨), 하나 이상의 저장 디바이스들(114)(가격 및 성능 분석기 애플리케이션(116), 이하 편의상 "PPA(116)"를 저장할 수 있음), 하나 이상의 가격 및 성능 데이터베이스들(118), 및/또는 다른 구성요소들을 포함할 수 있다. 프로세서들(112)은 하나 이상의 컴퓨터 프로그램 명령어들에 의해 프로그래밍될 수 있다. 예를 들어, 프로세서들(112)은 PPA(116) 및/또는 다른 명령어들에 의해 프로그래밍될 수 있다.
고객 컴퓨터 시스템(130)
고객 컴퓨터 시스템(130)은 하나 이상의 프로세서들(132)(또한 편의상 본원에서 프로세서들(132), 프로세서(들)(132), 또는 프로세서(132)로 교환가능하게 언급됨), 하나 이상의 저장 디바이스들(134)(클라우드 컨트롤러(136), 정보 매니저(137), 구매 에이전트(138), 및/또는 다른 명령어들을 저장할 수 있음), 고객 데이터 저장소(140), 및/또는 다른 구성요소들을 포함할 수 있다. 프로세서들(132)은 하나 이상의 컴퓨터 프로그램 명령어들에 의해 프로그래밍될 수 있다. 예를 들어, 프로세서들(132)은 클라우드 컨트롤러(136), 정보 매니저(137), 구매 에이전트(138), 및/또는 다른 명령어들에 의해 프로그래밍될 수 있다.
클라우드 서비스 제공자들(150)
클라우드 서비스 제공자들(150)은 그들의 고객들을 대신하여 컴퓨트 인스턴스들을 실행하기 위해 다양한 클라우드 서비스들을 판매하는 엔티티들을 포함할 수 있다. 예를 들어, 아마존은 그것의 아마존 웹 서비스들(AWS) 서비스를 사용하여 클라우드 서비스 인스턴스들을 판매하고, 구글은 그것의 구글 앱 엔진 서비스를 사용하여 클라우드 서비스 인스턴스들을 판매한다.
클라우드 서비스 제공자들(150)은 또한 클라우드 서비스들을 위해, 마켓들, 또는 교환들을 제공하는 엔티티들을 포함할 수 있다. 예를 들어, 클라우드 서비스 제공자들(150)은 그들의 인프라스트럭처를 사용하여 클라우드 서비스 인스턴스들을 실제로 제공하는 다른 것들을 대신하여 클라우드 서비스 인스턴스들을 판매하는 마켓들을 포함할 수 있다. 이러한 방식으로, 시스템(100)은 상이한 엔티티들로부터 다양한 클라우드 서비스 인스턴스들을 판매할 수 있는 교환들을 레버리징할 수 있다.
도 1에 단일 구성요소로 예시되지만, 컴퓨터 시스템(110) 및 고객 컴퓨터 시스템(130)은 본원에 설명되는 기능들의 적어도 일부로 각각 프로그래밍되는 복수의 개별 구성요소들(예를 들어, 컴퓨터 디바이스들)을 각각 포함할 수 있다. 이러한 방식으로, 이해되는 바와 같이, 컴퓨터 시스템(110) 및/또는 고객 컴퓨터 시스템(130)의 일부 구성요소들은 일부 기능들을 수행할 수 있는 반면에 다른 구성요소들은 다른 기능들을 수행할 수 있다. 하나 이상의 프로세서들(112, 132)은 컴퓨터 프로그램 명령어들에 의해 프로그래밍되는 하나 이상의 물리 프로세서들을 각각 포함할 수 있다. 본원에 설명되는 다양한 명령어들은 단지 예시적이다. 프로세서(들)(112, 132)가 본원에 설명되는 기능들을 수행하기 위해 프로그래밍되기만 하면, 명령어들의 다른 구성들 및 수들이 사용될 수 있다.
더욱이, 다양한 명령어들은 단일 처리 유닛 내에 공동 배치되는 것으로 도 1에 예시되지만, 프로세서(들)(112, 132)가 다수의 처리 유닛들을 포함하는 구현들에서, 하나 이상의 명령어들은 다른 명령어들로부터 원격으로 실행될 수 있다는 점이 이해되어야 한다. 게다가, 프로세서(들)(112)에 대해 본원에 설명되는 기능들의 적어도 일부는 프로세서(들)(132)에 의해 수행될 수 있고, 역도 또한 같다. 예를 들어, 프로세서(들)(112)는 구매 에이전트(138) 및/또는 클라우드 컨트롤러(136)에 의해 프로그래밍될 수 있다. 상술한 예에서, 고객 컴퓨터 시스템(130)은 컴퓨터 시스템(110)으로부터 구매 결정들을 획득할 수 있다.
본원에 설명되는 상이한 명령어들에 의해 제공되는 기능성의 설명은 명령어들 중 어느 것이 설명된 것보다 더 많거나 더 적은 기능성을 제공할 수 있으므로, 예시적 목적들을 위한 것이고, 제한적이도록 의도되지 않는다. 예를 들어, 명령어들 중 하나 이상이 제거될 수 있고, 그것의 기능성의 일부 또는 전부가 명령어들의 다른 것들에 의해 제공될 수 있다. 다른 예로서, 프로세서(들)(112)는 본원에서 명령어들 중 하나에 기인하는 기능성의 일부 또는 전부를 수행할 수 있는 하나 이상의 부가 명령어들에 의해 프로그래밍될 수 있다.
본원에서 설명되는 다양한 명령어들은 저장 디바이스(114)에 저장될 수 있으며, 저장 디바이스는 랜덤 액세스 메모리(random access memory)(RAM), 판독 전용 메모리(read only memory)(ROM), 및/또는 다른 메모리를 포함할 수 있다. 저장 디바이스는 프로세서(112)에 의해 조작될 수 있는 데이터뿐만 아니라 프로세서(112)에 의해 실행되는 컴퓨터 프로그램 명령어들(예를 들어, 상술한 명령어들)을 저장할 수 있다. 저장 디바이스는 컴퓨터 실행가능 명령어들 및/또는 데이터를 저장하는 플로피 디스크들, 하드 디스크들, 광 디스크들, 테이프들, 또는 다른 저장 매체를 포함할 수 있다.
도 1에 예시된 다양한 구성요소들은 네트워크(102)를 통해 적어도 하나의 다른 구성요소에 결합될 수 있으며, 네트워크는 예를 들어, 인터넷, 인트라넷, 개인 영역 네트워크(Personal Area Network)(PAN), 근거리 네트워크(Local Area Network)(LAN), 광역 네트워크(Wide Area Network)(WAN), 저장 영역 네트워크(Storage Area Network)(SAN), 도시권 통신 네트워크(Metropolitan Area Network)(MAN), 무선 네트워크, 셀룰러 통신 네트워크, 공중 교환 전화 네트워크, 및/또는 다른 네트워크 중 임의의 하나 이상을 포함할 수 있다. 도 1 및 다른 도면 도해들에서, 도시된 것과 상이한 수들의 엔티티들이 사용될 수 있다. 더욱이, 다양한 구현들에 따르면, 본원에 설명되는 구성요소들은 하드웨어 및/또는 하드웨어를 구성하는 소프트웨어로 구현될 수 있다.
본원에 설명되는 다양한 데이터베이스들(160)은 예를 들어 오라클 코퍼레이션에 의해 상업적으로 판매되는 Oracle™ 관계 데이터베이스이거나, Oracle™ 관계 데이터베이스를 포함하거나, Oracle™ 관계 데이터베이스에 인터페이스될 수 있다. 파일 기반, 또는 질의 포맷들, 플랫폼들, 또는 자원들 예컨대 온 라인 분석 처리(On Line Analytical Processing)(OLAP), 구조화 질의 언어(Structured Query Language)(SQL), 저장 영역 네트워크(SAN), Microsoft Access™ 또는 다른 것들을 포함하는, 다른 데이터베이스들, 예컨대 Informix™, 데이터베이스 2(DB2) 또는 다른 데이터 스토리지가 또한 사용되거나, 포함되거나, 액세스될 수 있다. 데이터베이스는 하나 이상의 물리 디바이스들에 상주하고 하나 이상의 물리적 위치들에 상주하는 하나 이상의 그러한 데이터베이스들을 포함할 수 있다. 데이터베이스는 복수의 타입들의 데이터 및/또는 파일들 및 연관된 데이터 또는 파일 기술들, 관리 정보, 또는 임의의 다른 데이터를 저장할 수 있다.
구매 전략들의 발생
일 구현에서, PPA(116)는 다양한 클라우드 서비스들의 가격, 성능, 및/또는 다른 특성들에 기초하여 하나 이상의 구매 전략들을 발생시키기 위해 프로세서들(112)(및 따라서 컴퓨터 시스템(110))을 프로그래밍할 수 있다. 이하에 사용되는 바와 같이, 편의상, 다양한 명령어들은 실제로, 다양한 명령어들이 동작을 수행하기 위해 프로세서들(112)을 프로그래밍할 때, 동작을 수행하는 것으로 설명될 것이다. 주어진 구매 전략은 자바스크립트 객체 표기법(JAVASCRIPT Object Notation)(JSON), 확장 마크업 언어(extensible Markup Language)(XML), 및/또는 교환될 수 있는 다른 포맷을 사용하여 포맷될 수 있다.
일반적으로, 구매 전략은 하나 이상의 클라우드 서비스들 및/또는 하나 이상의 클라우드 서비스 제공자들(150)을 설명하는 이력 및/또는 실시간 클라우드 속성들의 통합된 세트를 포함할 수 있다. 고객들은 그들의 컴퓨트 인스턴스들을 실행하기 위해 구매되어야 하는 하나 이상의 클라우드 서비스들 및/또는 클라우드 서비스들을 구매하는 하나 이상의 클라우드 서비스 제공자들(150)을 식별하기 위해 구매 전략을 사용할 수 있다. 구매 전략은 다양한 클라우드 서비스들 및/또는 클라우드 서비스 제공자들(150)의 클라우드 속성들을 설명하기 때문에, 고객들은 상이한 서비스들 및 제공자들(및 그들의 연관된 클라우드 속성들)의 범위를 고려하는 통지된 구매 결정들을 할 수 있다.
클라우드 속성들의 예들은 제한 없이, 외인성 속성들(120), 스폿 마켓 가격 책정(122), 클라우드 성능(124), 클라우드 가격 책정(126), 및/또는 주어진 클라우드 서비스 및/또는 클라우드 서비스 제공자(150)를 설명하는 다른 특성들을 포함할 수 있다.
일 구현에서, 외인성 속성들(120)은 클라우드 서비스 및/또는 클라우드 서비스 제공자(150)의 뉴스 이벤트들 또는 제3자 평가들을 설명하는 정보를 포함할 수 있다. 예를 들어, 및 제한 없이, 외인성 속성들(120)은 클라우드 서비스 및/또는 클라우드 서비스 제공자(150)를 설명하는 뉴스 아이템들, 리뷰들/레이팅들, 및/또는 다른 정보를 포함할 수 있다. 뉴스 아이템들은 일반적으로 클라우드 서비스들 또는 제공자들과 관련되거나(예를 들어, 클라우드 서비스들의 가격을 표시하는 뉴스 아이템은 일반적으로 경쟁으로 인해 하락됨) 구체적으로 특정 클라우드 서비스 또는 제공자와 관련될 수 있다(예를 들어, 특정 클라우드 서비스 제공자(150)는 다수의 클라우드 서비스 요청들을 처리하기 위해 새로운 컴퓨트 팜을 추가함). 리뷰들 및 레이팅들은 클라우드 서비스를 사용했던 고객들, 컴퓨터 시스템(110)을 동작시키는 엔티티를 위해 작업하는 분석가, 및/또는 다른 검토자에서 나올 수 있다. PPA(116)는 구매 전략으로 그러한 리뷰들 및 레이티들을 포함할 수 있다.
일 구현에서, 스폿 마켓 가격 책정 속성들(122)은 하나 이상의 클라우드 서비스 제공자들(150)로부터 입수가능한 스폿 인스턴스들을 설명할 수 있다. 스폿 마켓 가격 책정 속성들(122)은 제한 없이, 스폿 가격들, 고객들에 의해 주문되는 입찰들, 및/또는 다른 정보를 포함할 수 있다. 스폿 마켓 가격 책정 속성들(122)은 날짜/시간과 연관되는 실시간 및/또는 이력 정보를 포함할 수 있다.
일 구현에서, 클라우드 성능 속성들(124)은 하나 이상의 클라우드 서비스들의 성능을 설명할 수 있다. 예를 들어, 및 제한 없이, 클라우드 성능 속성들(124)은 처리량/용량, 레이턴시, 가용성, 최대 패킷 손실, 및/또는 다른 성능 메트릭스를 포함할 수 있다.
클라우드 성능 속성들(124)은 클라우드 서비스 제공자(150)(또는 다른 엔티티)로부터 획득될 수 있고, 및/또는 PPA(116)에 의해 측정될 수 있다. 일 구현에서, PPA(116)는 다양한 클라우드 서비스 제공자들(150)(및 그들의 각각의 서비스들)의 성능을 측정하여 그들의 성능을 측정할 수 있다. 예를 들어, PPA(116)는 처리량, 응답 시간, 레이턴시, 및/또는 다른 성능 메트릭스를 측정하기 위해 요청들을 다양한 클라우드 서비스들에 메일로 보내거나 다른 방법으로 송신하는 성능 테스팅 시설을 이용할 수 있다. PPA(116)는 상이한 시간들에 예컨대 하루 중 상이한 시간들, 일주일 중 상이한 날들 등 동안 성능을 주기적으로 측정할 수 있다. 이러한 방식으로, PPA(116)는 그러한 성능 속성들이 구매 전략을 발생시키기 위해 사용될 수 있도록 다양한 클라우드 서비스들 및/또는 클라우드 서비스 제공자들(150)의 성능 속성들을 직접 측정할 수 있다. 직접 측정된 성능 속성들은 다른 소스들로부터 획득되는 성능 속성들 대신에 또는 성능 속성들에 더하여 사용될 수 있다.
일 구현에서, 클라우드 가격 책정 속성들(126)은 스폿 인스턴스들이 아닌 클라우드 서비스 인스턴스들에 대한 표준 가격들을 포함할 수 있다. 스폿 가격과 달리, 표준 가격(지불되면)은 미리 지정된 컴퓨트 시간이 경과했을 때까지 컴퓨트 인스턴스가 실행되는 것을 보장한다.
PPA(116)는 구매 전략들이 실시간 정보(예를 들어, 스트리밍되고 및/또는 주기적으로 획득되는 실시간 가격 책정 및 성능 정보)를 반영하도록 실시간 클라우드 속성들을 획득하고 저장할 수 있다. 대안적으로 또는 부가적으로, PPA(116)는 구매 전략들이 이력 클라우드 속성들과 연관되는 추세들, 패턴들, 및/또는 다른 정보를 반영하도록 이력 클라우드 속성들을 획득하고 저장할 수 있다.
PPA(116)는 클라우드 속성들을 가격 및 성능 데이터베이스(118)에 저장할 수 있다. PPA(116)는 데이터베이스를 사용하여 발생되는 구매 전략들이 현재 정보를 반영하도록 가격 및 성능 데이터베이스(118)를 주기적으로(및/또는 실시간으로) 갱신할 수 있다. 이러한 방식으로, 가격 및 성능 데이터베이스(118)는 구매 전략을 발생시키기 위해 사용되는 정보에 대한 실시간 및 이력 저장소의 역할을 할 수 있다.
일 구현에서, PPA(116)는 개별 클라우드 서비스들 및/또는 구매에 적절할 수 있는 클라우드 서비스들의 조합들을 식별하기 위해 가격 및 성능 데이터베이스(118)를 연속적으로 조사할 수 있다. 예를 들어, PPA(116)는 주어진 레벨의 성능(예를 들어, 처리량)을 달성하도록, 클라우드 서비스들의 특정 조합이 그러한 클라우드 서비스(들)의 가격들을 최소화하거나 다른 방법으로 특정 가격 이하에 있기 위해 사용될 수 있는 것을 결정할 수 있다. PPA(116)는 또한 다른 타입들의 성능에 대해 상술한 분석을 반복할 수도 있다. 이러한 방식으로, 구매 전략은 클라우드 속성들의 분석을 포함할 수 있다.
구매 전략들의 제공
PPA(116)는 컴퓨팅 요건들을 충족시키기 위해 클라우드 서비스들의 선택을 최적화할 수 있도록 클라우드 서비스들을 구매하고 소비하는 고객들에게 하나 이상의 구매 전략들을 제공할 수 있다. PPA(116)는 하나 이상의 구매 전략들을 한 번만 또는 가입으로 제공할 수 있다. 예를 들어, 고객은 구매 전략들을 제공하기 위해 요청을 (예를 들어, 웹사이트 또는 다른 인터페이스를 통해) PPA(116)에 함으로써 하나 이상의 구매 전략들을 한 번만 획득할 수 있으며, 구매 전략들은 요청에 응답하여 주문식으로 발생되거나 메모리로부터 검색될 수 있다. 다른 예에서, 고객은 하나 이상의 구매 전략들에 가입하고 이 구매 전략들을 수신할 수 있으며, 이 구매 전략들은 주기적 간격들로, 갱신된 정보가 이용가능할 때, 및/또는 다른 시간들에 고객에게 자동으로 제공될 수 있다.
일 구현에서, 컴퓨터 시스템(110)은 하나 이상의 구매 전략들에 대한 접속료를 청구할 수 있다. 예를 들어, 컴퓨터 시스템(110)은 1회 수수료, 가입비, 및/또는 다른 타입들의 접속료들을 청구할 수 있다. 더욱이, 상이한 접속료들은 주어진 구매 전략에 포함되는 클라우드 속성들에 따라 청구될 수 있다. 예를 들어, 모든 이력 가격 정보를 포함하는 구매 전략은 이력 가격 정보의 일부(예를 들어, 마지막 2주일)만을 포함하는 구매 전략보다 더 높은 수수료로 청구될 수 있다. 일 구현에서, 각각의 타입의 클라우드 속성 정보는 그 자체의 수수료와 연관될 수 있다. 예를 들어, 개별 수수료는 측정된 성능 메트릭스에 대해 평가될 수 있다. 접속료는 또한 구매 전략에 포함되는 다른 레벨들의 클라우드 속성들에 기초할 수 있다. 이러한 방식으로, 고객은 관심있는 특정 정보 및/또는 얼마나 많은 정보가 주어진 요청 또는 가입과 연관하여 제공되어야 하는지를 선택할 수 있다.
컴퓨트 인스턴스 파라미터들의 지정
클라우드 컨트롤러(136)는 국부적으로 및/또는 하나 이상의 클라우드 서비스 제공자들(150)에 의해 제공되는 하나 이상의 클라우드 서비스들을 사용하여 실행될 수 있는 하나 이상의 컴퓨트 인스턴스들을 발생시킬 수 있다. 예를 들어, 주어진 컴퓨트 인스턴스의 보안을 보장하기 위해 컴퓨트 인스턴스들을 다른 컴퓨트 인스턴스들로 연속적으로 대체하는 시스템에서, 클라우드 컨트롤러(136)는 복수의 컴퓨트 인스턴스들을 생성하고 컴퓨트 인스턴스들 중 하나 이상을 스케줄링하여 클라우드 서비스들 상에 실행할 수 있다. 소프트웨어 구성요소들을 대체하는 그러한 시스템은 발명의 명칭이 "System and Method for Replacing Software Components With Corresponding Known-Good Software Components Without Regard to Whether the Software Components Have Been Comprised or Potentially Compromised"이고, 2013년 8월 16일에 출원된 공동 소유 미국 특허 출원 일련 번호 제13/969,181호에 설명되었고, 이 미국 출원은 이로써 본원에 전체적으로 참조로 포함된다.
주어진 컴퓨트 인스턴스는 컴퓨트 인스턴스를 실행하기 위해 요구되고 및/또는 요망되는 것을 설명하는 하나 이상의 계산 파라미터들과 연관될 수 있다. 계산 파라미터들의 예들은 제한 없이, 컴퓨트 지속기간(예를 들어, 컴퓨트 인스턴스가 실행될 것으로 예상되어야 하거나 예상되는 시간의 길이), 컴퓨트 인스턴스가 실행될 때의 시간 및/또는 날짜, 컴퓨트 인스턴스가 해석되지 않아야 하는지(예를 들어, 컴퓨트 인스턴스가 임무 수행에 필수적인지, 임의적인지 등)의 표시, 컴퓨트 인스턴스를 실행하는 클라우드 서비스에 대해 필요하거나 요망되는 성능의 레벨(예를 들어, 대역폭, 레이턴시 등), 클라우드 서비스와 연관되는 가격 책정, 및/또는 컴퓨트 인스턴스를 실행하기 위해 요구되거나 요망되는 것의 다른 설명들을 포함한다.
일 구현에서, 계산 파라미터들은 충족되어야 하는 하드 계산 파라미터들 또는 바람직하지만 반드시 충족될 필요는 없는 소프트 계산 파라미터들로 분류될 수 있다. 하드 계산 파라미터들은 충족되어야 하는 임계값들을 지정할 수 있다. 예를 들어, 및 제한 없이, 하드 계산 파라미터는 대응하는 컴퓨트 인스턴스를 실행하도록 요구되는 최소 대역폭 또는 최대 레이턴시를 지정할 수 있다. 다른 한편, 소프트 계산 파라미터는 특정 대역폭이 바람직하지만, 필요가 없는 것을 지정할 수 있다. 계산 파라미터가 하드 또는 소프트 파라미터로 분류되든지, 계산 파라미터는 값들의 범위(예를 들어, 허용가능한 가격들의 범위)를 지정할 수 있다.
하나 이상의 사용자들(예를 들어, 고객을 대신하여 작업하는 분석가) 및/또는 클라우드 컨트롤러(136)(예를 들어, 사용자 중재 없이 자동으로)는 계산 파라미터들을 결정할 수 있다. 일 구현에서, 계산 파라미터들은 구체적으로 특정 컴퓨트 인스턴스(또는 주어진 타입의 컴퓨트 인스턴스)에 대해 결정될 수 있다. 예를 들어, HTTP 요청들을 처리하는 서버 인스턴스는 하나 이상의 계산 파라미터들의 제1 세트와 연관될 수 있는 반면에 파일 전송 요청들을 제공하는 애플리케이션 인스턴스는 하나 이상의 계산 파라미터들의 제2 세트와 연관될 수 있다. 이러한 방식으로, 상이한 컴퓨트 인스턴스들은 하나 이상의 계산 파라미터들의 그들 자체의 세트와 연관될 수 있다. 일 구현에서, 계산 파라미터들은 일반적으로 고객의 모든 컴퓨트 인스턴스들에 대해 결정될 수 있다.
구매 결정들을 하기 위해 사용되는 정보의 관리
정보 매니저(137)는 구매 결정 정보를 관리할 수 있으며, 구매 결정 정보는 고객 데이터 저장소(140) 및/또는 다른 스토리지에 저장되고 이들로부터 검색될 수 있다. 구매 결정 정보는 구매 결정들을 하도록 고객에 의해 사용될 수 있고 제한 없이, 구매 결정들을 하기 위해 사용되는 하나 이상의 구매 전략들, 하나 이상의 구매 규칙들(예를 들어, 계산 파라미터들을 지정함), 및/또는 다른 정보를 포함할 수 있다.
일 구현에서, 정보 매니저(137)는 컴퓨터 시스템(110)으로부터의 하나 이상의 구매 전략들에 가입하고 이 구매 전략들을 획득할 수 있다. 가입은 강력한 보안 암호화 및 서명이 적용되는 비동기 통신일 수 있다. 구매 전략들은 고객 데이터 저장소(140) 및/또는 다른 스토리지에 저장될 수 있다. 고객(예를 들어, 고객 컴퓨터 시스템(130)을 동작시키는 엔티티를 대신하여 작업하는 분석가)은 컴퓨터 시스템(110)으로부터 구매 전략을 수정하거나, 삭제하거나, 온전하게 남길 수 있다. 예를 들어, 고객은 주어진 클라우드 서비스를 갖는 고객의 경험, 블랙리스트(또는 화이트리스트) 특정 클라우드 서비스들 또는 클라우드 서비스 제공자들(150)에 기초하여 클라우드 속성들 중 하나 이상을 수정하고, 및/또는 컴퓨터 시스템(110)으로부터 주어진 구매 전략을 다른 방법으로 수정할 수 있다.
이러한 방식으로, 고객은 그것이 생각하는 정보에 따라 구매 전략들을 맞춤화할 수 있으며 컴퓨터 시스템(110)으로부터 수신되는 구매 전략을 증대시키거나 다른 방법으로 수정할 수 있다. 일 구현에서, 정보 매니저(137)는 컴퓨터 시스템(110)으로부터 수신되는 구매 전략들을 증가시키거나 다른 방법으로 갱신하기 위해 실시간 정보 예컨대 성능 속성들, 가격 속성들, 및/또는 다른 정보를 획득할 수 있다.
일 구현에서, 정보 매니저(137)는 고객으로부터 고객 구매 전략들을 수신하고 저장할 수 있다. 고객 구매 전략은 컴퓨터 시스템(110)에 의해 제공되는 구매 전략에서 제공되는 클라우드 속성들의 일부 또는 전부를 포함할 수 있다. 이 점에 있어서, 고객 구매 전략은 고객이 고객 구매 전략을 생성한다는 점에서만 컴퓨터 시스템(110)에 의해 제공되는 구매 전략과 다를 수 있다. 고객 구매 전략은 컴퓨터 시스템(110)에 의해 제공되는 구매 전략 대신에 또는 구매 전략에 더하여 사용될 수 있다.
일 구현에서, 정보 매니저(137)는 하나 이상의 계산 파라미터들을 지정하는 하나 이상의 구매 규칙들(142)을 저장할 수 있다. 상이한 구매 규칙들은 하나 이상의 계산 파라미터들의 상이한 세트들을 지정할 수 있다. 예를 들어, 제1 구매 규칙은 특정 호스팅된 적용들에 대해, 최소 대역폭 및 최대 레이턴시가 비용에 상관없이 구매되어야 하는 것(예를 들어, 대역폭 및 레이턴시가 최적되어야 하는 것)을 지정할 수 있다. 제2 구매 규칙은 특정 배경 처리에 대해, 가격이 최대 가격을 초과하지 않아야 하는 것(예를 들어, 가격이 최적화되어야 하는 것)을 지정할 수 있다. 계산 파라미터들의 상이한 세트들을 포함하는 구매 규칙들의 다른 예들은 고객의 특정 요구들에 따라, 또한 사용될 수 있다.
정보 매니저(137)는 주어진 클라우드 속성에 대한 가중값을 수신할 수 있다. 예를 들어, 고객은 구매 결정을 할 때 다른 클라우드 속성보다 더 많이 가중되어야 하는 클라우드 속성을 지정할 수 있다. 주어진 가중값은 대응하는 클라우드 속성과 연관하여 하나 이상의 구매 규칙들(142)로 인코딩될 수 있다.
클라우드 서비스 구매 결정들을 행하기
구매 에이전트(138)는 주어진 구매 전략(컴퓨터 시스템(110)으로부터의 수정되지 않은 구매 전략, 고객에 의해 수정되는 컴퓨터 시스템(110)으로부터의 구매 전략, 고객 구매 전략 등을 포함할 수 있음)에 설명되는 하나 이상의 클라우드 속성들, 하나 이상의 구매 규칙들, 및/또는 다른 정보에 기초하여 구매 사양을 발생시킬 수 있다. 구매 전략은 고객에 의해 요망되는 하나 이상의 컴퓨트 인스턴스들을 실행하기 위해 하나 이상의 클라우드 서비스들의 구매를 지정하는 하나 이상의 구매 파라미터들을 포함할 수 있다. 구매 파라미터들은 제한 없이, 컴퓨트 인스턴스가 실행되어야 하는 시간, 사용되어야 하는 클라우드 서비스의 타입(예를 들어, 스폿 마켓 자원, 비-스폿 마켓 자원 등), 지불되는 가격, 주문되어야 하는 입찰, 사용되어야 하는 클라우드 서비스 제공자(150)의 아이덴티티, 구매되어야 하는 컴퓨팅 시간의 증가, 구매되어야 하는 컴퓨트 인스턴스들의 수, 및/또는 다른 구매 파라미터들을 포함할 수 있다.
구매 파라미터들은 실시간 가격 책정, 성능, 및/또는 다른 조건들이 구매 사양을 발생시킬 때 고려될 수 있도록 실시간 정보에 기초하여 결정될 수 있다.
일 구현에서, 구매 에이전트(138)는 하나 이상의 클라우드 속성들의 최적화에 기초하여 하나 이상의 구매 파라미터들을 결정할 수 있다. 제한이 아닌 예시로서, 가격 및/또는 성능이 이하의 설명에 사용되지만, 다른 클라우드 속성들이 또한 최적화될 수 있다.
구매 에이전트(138)는 이용가능 클라우드 서비스들(예를 들어, 고객 데이터 저장소(140) 내의 구매 전략들에 설명된 바와 같음)을 검토하고 구매를 위해 고려되는 하나 이상의 클라우드 서비스들의 세트들을 발생시킴으로써 하나 이상의 클라우드 속성들을 최적화할 수 있다. 구매 에이전트(138)는 클라우드 서비스들의 최적 세트들을 식별하기 위해 클라우드 서비스들의 세트들 각각들 평가할 수 있다. 하나 이상의 클라우드 서비스들의 각각의 세트는 하나 이상의 클라우드 서비스 제공자들(150)에 의해 제공되는 클라우드 서비스들을 포함할 수 있다. 일부 사례들에서, 예를 들어, 하나 이상의 클라우드 서비스들의 세트는 제1 클라우드 서비스 제공자(150)로부터의 클라우드 서비스들 및 제2 클라우드 서비스 제공자(150)로부터의 클라우드 서비스들을 포함할 수 있다.
일 구현에서, 구매 에이전트(138)는 클라우드 서비스가 하나 이상의 구매 규칙들에 기초한 고려를 위해 클라우드 서비스들의 주어진 세트에 포함되어야 하는지를 판단할 수 있다. 예를 들어, 구매 규칙은 특정 컴퓨트 인스턴스가 중대하고 따라서 종료를 받지 않아야 하는 것을 지정할 수 있다. 상술한 규칙에 기초하여, 구매 에이전트(138)는 스폿 인스턴스들(종료를 받음)을 고려하지 않을 수 있고 따라서 스폿 인스턴스들은 특정 컴퓨트 인스턴스를 위한 임의의 구매 사양들에 사용되지 않을 것이다. 다른 한편, 그러한 구매 규칙이 없으면, 구매 에이전트(138)는 컴퓨트 인스턴스를 실행하기 위해 클라우드 서비스들의 혼합을 잠재적으로 결정하도록 스폿 인스턴스들을 (다른 컴퓨트 인스턴스들과 함께) 고려할 수 있다.
이전에 설명된 바와 같이, 각각의 클라우드 서비스는 다양한 클라우드 속성들과 연관될 수 있다. 예를 들어, 주어진 클라우드 서비스는 가격, 성능, 제공된 클라우드 서비스가 실행되는 시간, 및/또는 다른 클라우드 속성과 연관될 수 있다. 구매 에이전트(138)는 각각의 클라우드 속성들에 기초하여 서로에 대해 하나 이상의 클라우드 서비스들의 세트들을 순위화할 수 있다. 일 구현에서, 구매 에이전트(138)는 최고 순위화 세트(또는 N 최고 설정 세트들)를 선택을 위한 고객에게 제공할 수 있다. 대안적으로, 구매 에이전트(138)는 클라우드 서비스들이 구매되는 기초의 역할을 하기 위해 최고 순위화 세트를 자동으로 선택할 수 있다.
다른 세트에 대해 하나 이상의 클라우드 서비스들의 세트를 순위화하기 위해, 구매 에이전트(138)는 단일 클라우드 속성을 사용하는 단일 목표 최적화 및/또는 다수의 클라우드 속성들을 사용하는 다수의 목표 최적화를 수행할 수 있다.
단일 목표 최적화에서, 단일 클라우드 속성이 최적화될 수 있다. 예를 들어, 구매 에이전트(138)는 성능에 의해 클라우드 서비스들의 세트들을 순위화할 수 있다. 다시 말하면, 클라우드 서비스들의 각각의 세트의 예상된 성능은 클라우드 서비스들의 다른 세트들에 대해 결정되고 순위화될 수 있다. 하나보다 많은 클라우드 서비스를 포함하는 클라우드 서비스들의 세트에 대해, 세트의 성능은 각각의 성능을 평균화함으로써 결정될 수 있다.
다수의 목표 최적화에서, 하나보다 많은 클라우드 속성이 최적화될 수 있다. 예를 들어, 구매 에이전트(138)는 성능 및 가격에 의해 클라우드 서비스들의 세트들을 순위화할 수 있다. 구매 에이전트(138)는 고객이 클라우드 속성들에 대한 임의의 가중값들을 지정했는지를 판단할 수 있다. 예를 들어, 고객은 성능이 가격보다 1.2 배 더 높게 가중되어야 하는 것을 지정할 수 있다(예를 들어, 고객은 가격에 비해 성능을 평가함). 가중값들의 다른 표현들이 또한 사용될 수 있다. 고객이 클라우드 속성들 중 어느 것을 가중했으면, 구매 에이전트(138)는 클라우드 서비스들의 세트들을 순위화할 때 가중값들을 고려할 수 있다.
일 구현에서, 구매 에이전트(138)는 클라우드 속성들의 최적 세트들을 결정하기 위해 종래의 다수의 목표 최적화 알고리즘들을 사용할 수 있다. 그러한 최적화의 결과들은 다수의 클라우드 속성들의 최적 조합들의 범위를 포함할 수 있다. 예를 들어, 가격 및 성능의 최적 조합들 및 대응하는 클라우드 서비스(들)가 식별될 수 있다. 구매 에이전트(138)는 고객이 클라우드 서비스들의 적절한 세트를 선택하여 구매하는 것을 허용하기 위해 최적 조합들의 범위를 제공할 수 있다. 대안적으로, 구매 에이전트(138)는 최적인 것으로 결정되는 주어진 조합을 자동으로 선택할 수 있다.
일 구현에서, 구매 에이전트(138)는 다양한 클라우드 속성들에서 패턴들을 결정하기 위해 하나 이상의 구매 전략들을 분석할 수 있다. 예를 들어, 구매 에이전트(138)는 가격들이 하루 중 특정 시간들, 일주일 중 특정 날들 등 동안 클라우드 서비스들의 특정 타입들에 대해 하락(또는 상승 또는 안정을 유지)하는 경향이 있는 것을 결정할 수 있다. 마찬가지로, 구매 에이전트(138)는 성능이 하루 중 특정 시간들, 일주일 중 특정 날들 등 동안 클라우드 서비스들의 특정 타입들에 대해 증가(또는 감소 또는 안정을 유지)하는 경향이 있는 것을 결정할 수 있다. 다른 타입들의 패턴들이 또한 결정될 수 있다. 패턴들을 사용하여, 구매 에이전트(138)는 클라우드 서비스들이 주문되어야 하는 적절한 시간들을 결정할 수 있다. 예를 들어, 가격들이 늦은 저녁 시간들에 하락하는 경향이 있으며, 이때 늦은 저녁 시간들과 연관되는 클라우드 서비스 인스턴스는 컴퓨트 인스턴스들을 (임의의 시간에 실행될 수 있는 그러한 컴퓨트 인스턴스에 대해) 실행하기 위해 구매될 수 있다.
스폿 마켓 안정성 및 변동성의 식별 및 레버리징
특정 구현에서, 구매 에이전트(138)는 스폿 마켓 가격들을 분석하고 스폿 가격들에서 패턴들, 예컨대 스폿 가격 안정성 또는 변동성을 결정할 수 있다. 구매 에이전트(138)는 컴퓨트 인스턴스의 계산 요건들, 및/또는 다른 정보에 자동으로 기초하여, 고객으로부터(예를 들어, 구매 규칙들을 통해) 그렇게 행하기 위해 표시에 기초한 스폿 가격 안정성 및/또는 변동성을 레버리징할 수 있다.
스폿 가격 안정성은 하부 한계 스폿 가격 및 상부 한계 스폿 가격에 의해 제한되는 스폿 가격들의 범위에 의해 정의될 수 있다. 역으로, 스폿 가격 변동성은 스폿 가격들이 미리 정의된 총액에 의해(예를 들어, 스폿 가격들의 범위 및/또는 다른 총액보다 위에서, 다른 총액은 임계 총액, 가격 변동의 특정 퍼센티지 등을 포함할 수 있음) 변동되는 기간들에 의해 정의될 수 있다. 범위는 스폿 가격 안정성 및/또는 스폿 가격 변동성의 정의가 조정될 수 있도록 미리 결정되고 및/또는 동적으로 구성될 수 있다.
스폿 가격 안정성은 스폿 인스턴스들에 대한 공급 및 수요가 비교적 안정되는 것 및 낙찰들과 연관되는 컴퓨트 인스턴스들이 종료되지 않는 것을 표시할 수 있다. 다시 말하면, 스폿 가격은 스폿 가격 안정성의 기간들 동안 주문되는 낙찰보다 위로 상승할 것으로 예상되지 않는다(컴퓨트 인스턴스는 스폿 가격 안정성의 기간이 만료되기 전 완료까지 실행될 것으로 예상되는 것을 가정함).
다른 한편, 스폿 가격 변동성은 스폿 인스턴스들에 대한 공급 및 수요가 안정되지 않는 것 및 낙찰들과 연관되는 컴퓨트 인스턴스들이 스폿 가격 안정성 동안에 개시되는 컴퓨트 인스턴스들보다 더 높은 종료될 위험을 받는 것을 표시할 수 있다. 다시 말하면, 스폿 가격은 스폿 가격 변동성의 기간들 동안 주문되는 낙찰보다 위로 잠재적으로 상승할 것으로 예상되고 따라서 낙찰과 연관되는 컴퓨트 인스턴스는 종료의 위험을 받는다.
구매 에이전트(138)는 구매 결정을 발생시킬 때 스폿 가격 안정성 및/또는 변동성의 결정된 패턴들을 사용할 수 있다. 예를 들어, 구매 에이전트(138)는 그들이 조기 종료의 위험으로 인해 다른 방법으로 고려되지 않을 때 스폿 인스턴스들을 사용할 수 있다. 구매 에이전트(138)는 스폿 가격 안정성의 기간 동안에 상부 한계 스폿 가격 이상인 입찰 가격을 결정할 수 있는 것에 의해, 대응하는 스폿 인스턴스가 조기에 종료될 가능성을 감소시킨다. 이러한 방식으로, 구매 에이전트(138)는 스폿 인스턴스가 스폿 가격 안정성의 시간들 동안 완료까지 실행되는 레벨 신뢰를 유지하는 동안에 (표준 인스턴스들에 대한 더 높은 가격들과 대조적으로) 스폿 인스턴스들에 대한 잠재적으로 더 낮은 스폿 가격들을 레버리징할 수 있다. 따라서, 심지어 잠재적으로 더 중대한 컴퓨트 인스턴스들은 다른 점에서 사용하기에 너무 위험한 스폿 인스턴스들을 이용가능할 수 있다.
상술한 예의 확장에서, 구매 에이전트(138)는 당시의 지배적인 스폿 가격들보다 위에 남아 있을 것으로 예상되는 최저 스폿 가격을 식별할 수 있다. 예를 들어, 구매 에이전트(138)는 최저 상부 한계 스폿 가격을 갖는 가격 안정성의 기간들을 식별할 수 있다. 그러한 기간들은 스폿 인스턴스를 완료까지 실행하는 동안에 달성될 수 있는 최저 스폿 가격들을 표현할 수 있다.
다른 예에서, 구매 에이전트(138)는 스폿 가격들이 스폿 가격 변동성에 기초하여 증가할 것으로 예상될 때의 시간들을 결정할 수 있다. 구매 에이전트(138)는 제1 시간에서의 제1 스폿 가격보다 더 높지만 제2 시간에서의 제2 스폿 가격보다 더 낮은 것으로 예상되는 입찰 가격을 결정할 수 있다. 이러한 경우에, 입찰 가격과 연관되는 컴퓨트 인스턴스는 제1 시간(구매를 완료하고 스폿 인스턴스를 개시하는 더 적은 처리 시간)에서 제2 시간까지 시작해서, 스폿 인스턴스로 실행될 수 있으며, 그 지점에서 스폿 인스턴스는 입찰 가격이 현재 스폿 가격을 더 이상을 초과하지 않기 때문에 너무 이르게 종료되지 않을 것이다.
컴퓨트 인스턴스는 스폿 인스턴스가 클라우드 서비스 제공자(150)에 의해 조기에 종료되었기 때문에 클라우드 서비스 제공자(150)로부터의 수수료 없이 본질적으로 실행되었을 것이다. 고객은 종료 시에 다른 컴퓨트 인스턴스로 용이하게 대체될 수 있는 컴퓨트 인스턴스를 실행함으로써 그러한 조기 종료를 레버리징하거나 너무 이른 종료(서비스의 임의의 적절한 조건 또는 클라우드 서비스 제공자의 다른 프로비저닝을 받음) 전에 "무료" 컴퓨트 사이클들을 다른 방법으로 획득할 수 있다.
너무 이른 종료(예를 들어, 구매 에이전트(138) 및/또는 클라우드 컨트롤러(136)에 의해 감시되는 바와 같음) 시에, 구매 에이전트(138)는 컴퓨트 인스턴스를 처리하는 것을 끝내도록 요구되는 임의의 나머지 컴퓨트 시간을 채우기 위해 다른 클라우드 서비스 인스턴스들을 사용할 수 있다. 예를 들어, 구매 에이전트(138)는 너무 이른 종료가 발생하는 경우 및 발생할 때 사용하기 위해 대체 클라우드 서비스 인스턴스를 식별할 수 있다. 대체 클라우드 서비스 인스턴스는 그러한 너무 이른 종료 전 및/또는 후에 식별될 수 있다.
클라우드 서비스 인스턴스들의 타입들 및 조합들
일 구현에서, 본원에 설명되는 하나 이상의 최적화들, 패턴들, 추세들, 가격 안정성, 및/또는 다른 정보를 사용하여, 구매 에이전트(138)는 컴퓨트 인스턴스가 클라우드 서비스 인스턴스들의 조합을 사용하여 실행되어야 하는 것을 결정할 수 있다. 구매 에이전트(138)는 하나 이상의 클라우드 속성들이 하나보다 많은 클라우드 서비스 인스턴스를 사용함으로써 최적화될 수 있는 것을 결정할 수 있다. 예를 들어, 구매 에이전트(138)는 특정 레벨의 처리량 또는 다른 성능 메트릭을 획득하는 최저 가격이 요구된 레벨의 처리량을 함께 충족시키는 다수의 클라우드 서비스 인스턴스들을 사용함으로써 달성될 수 있는 것을 결정할 수 있다. 환언하면, 구매 에이전트(138)는 요구된 레벨의 처리량을 처리할 수 있는 단일 클라우드 서비스 인스턴스가 단독으로 더 비싼 것을 결정할 수 있다. 다른 한편, 구매 에이전트(138)는 가격 책정 정보(예를 들어, 구매 전략으로부터 획득됨)에 따라, 단일 클라우드 서비스 인스턴스가 대신에 사용되어야 하는 것을 결정할 수 있다.
일 구현에서, 본원에 설명되는 하나 이상의 최적화들, 패턴들, 추세들, 가격 안정성, 및/또는 다른 정보를 사용하여, 구매 에이전트(138)는 특정 타입의 클라우드 서비스 인스턴스가 사용되어야 하는 것을 결정할 수 있다. 예를 들어, 구매 에이전트(138)는 컴퓨트 인스턴스가 잠재적으로 너무 이르게 종료될 수 있는지(예를 들어, 임무 수행에 필수적이지 않는지)를 판단할 수 있다. 그렇지 않으면, 구매 에이전트(138)는 스폿 인스턴스들이 고려되어야 하는 것을 결정할 수 있다. 그렇지 않으면, 구매 에이전트(138)는 구매 사양을 발생시킬 때 스폿 인스턴스들을 고려할 수 있다.
일 구현에서, 구매 에이전트(138)는 사용되어야 하는 클라우드 서비스 인스턴스들의 타입들을 한정할 수 있다. 예를 들어, 구매 규칙들을 통해, 고객은 스폿 인스턴스들만이 사용되는야 하는 것, 표준 인스턴스들만이 사용되어야 하는 것, 다른 클라우드 서비스 인스턴스들이 사용되는 것, 또는 상이한 타입들의 클라우드 서비스 인스턴스들의 조합들이 사용되어야 하는 것을 지정할 수 있다. 이러한 방식으로, 구매 에이전트(138)는 특정 타입들의 클라우드 서비스 인스턴스들만을 사용할 수 있다. 마찬가지로, 클라우드 서비스 제공자들(150)은 블랙리스팅되고 및/또는 화이트리스팅될 수 있다.
구매 에이전트(138)는 클라우드 서비스들의 구매를 용이하게 하기 위해 하나 이상의 구매 주문들을 발생시킬 수 있다. 구매 사양은 하나보다 많은 클라우드 서비스 인스턴스들(하나보다 많은 클라우드 서비스 제공자(150)에 의해 제공될 수 있음) 상에서 컴퓨트 인스턴스를 실행하는 것과 관련되는 구매 파라미터들을 포함할 수 있기 때문에, 구매 에이전트(138)는 구매 사양에 따라 다수의 구매 주문들을 발생시킬 수 있다.
구매 에이전트(138) 및/또는 클라우드 컨트롤러(136)는 고객이 주문들을 하도록 구매 주문들을 고객에게 제공할 수 있다. 대안적으로 또는 부가적으로, 구매 에이전트(138) 및/또는 클라우드 컨트롤러(136)는 클라우드 서비스들을 입수하고 감시하기 위해 클라우드 서비스 제공자들(150)과 자동으로 인터페이스될 수 있다.
구매 에이전트(138)에 대해 설명되는 최적화들 및 구매 결정들이 PPA(116)에 적용될 수 있다는 점이 이해되어야 한다. 예를 들어, PPA(116)는 고객이 구매 전략들로부터 구매 결정을 간단히 선택할 수 있도록 하나 이상의 최적화된 클라우드 속성들을 이미 포함하는 구매 전략들을 제공할 수 있다.
도 2는 본 발명의 일 구현에 따라, 다양한 클라우드 서비스들의 가격 및/또는 성능에 기초하여 구매 전략들을 발생시키고 사용하는 프로세스(200)를 예시한다. 도 2에 도시된 다양한 처리 동작들 및/또는 데이터 흐름들은 본원에 더 상세히 설명된다. 설명된 동작들은 위에 상세히 설명된 시스템 구성요소들의 일부 또는 전부를 사용하여 달성될 수 있고, 일부 구현들에서, 다양한 동작들은 상이한 시퀀스들로 수행될 수 있고 다양한 동작들은 생략될 수 있다. 부가 동작들은 묘사된 흐름도들에 도시되는 동작들의 일부 또는 전부와 함께 수행될 수 있다. 하나 이상의 동작들은 동시에 수행될 수 있다. 따라서, 예시되는(및 아래에 더 상세히 설명되는) 바와 같은 동작들은 본래 예시적이고, 그와 같이, 제한으로 간주되지 않아야 한다.
동작(202)에서, 클라우드 서비스들과 관련되는 새로운 정보가 감시될 수 있다. 클라우드 서비스들과 관련되는 정보는 제한 없이, 클라우드 서비스들의 외인성 속성들, 스폿 마켓 가격 책정, 클라우드 성능, 클라우드 가격 책정, 및/또는 다른 특성들을 포함할 수 있다. 클라우드 서비스들과 관련되는 정보는 정보를 제공하는 다양한 소스들에 의해 이용가능해짐에 따라 실시간으로 갱신될 수 있다. 그러한 소스들은 제한 없이, 분석가들, 제3자 엔티티들(예를 들어, 뉴스 또는 레이팅 서비스들), 클라우드 서비스 제공자들, 및/또는 다른 것들을 포함할 수 있다.
동작(204)에서, 새로운 정보가 이용가능한지의 판단이 이루어질 수 있다. 새로운 정보가 획득되지 않으면, 프로세스(200)는 동작(202)으로 복귀할 수 있다.
다른 한편, 새로운 정보가 획득되면, 동작(206)에서, 새로운 정보가 분석될 수 있다. 분석은 제한 없이, 정보에 포함되는 순위화 클라우드 속성들 예컨대 가격 책정, 성능, 및/또는 다른 클라우드 속성들을 포함할 수 있다. 이러한 방식으로, 상이한 클라우드 서비스들 및 그들의 연관된 속성들은 적절한 클라우드 서비스들의 선택을 용이하게 하기 위해 서로 비교될 수 있다.
동작(208)에서, 하나 이상의 구매 전략들은 클라우드 서비스들과 관련되는 정보 및/또는 분석에 기초하여 발생될 수 있다. 상이한 타입들의 구매 전략들이 발생될 수 있다. 예를 들어, 구매 전략은 클라우드 속성들을 포함하는 미가공 정보를 포함할 수 있다. 이러한 방식으로, 구매 전략은 상이한 클라우드 서비스들 및 그들의 속성들의 리스팅을 포함할 수 있다. 구매 전략은 상이한 클라우드 서비스들의 순위들을 포함할 수 있다. 순위들은 제한 없이, 성능의 유닛 당 가격, 성능에 상관없는 가격, 가격에 상관없는 성능, 및/또는 다른 순위 기준들에 기초할 수 있다. 이러한 방식으로, 구매 전략은 고객이 적절한 클라우드 서비스들을 선택해서 고객에게 가장 중요한 속성들에 기초하여 구매하는 것을 허용하는 정보에 의해 증가될 수 있다. 구매 전략은 특정 클라우드 속성들의 최적화들을 포함할 수 있다. 예를 들어, 구매 전략은 가격, 성능, 및/또는 다른 클라우드 속성에 의해 최적화되는 클라우드 서비스들의 세트들을 포함할 수 있다. 구매 전략은 특정 정보만을 포함할 수 있다. 예를 들어, 구매 전략은 스폿 인스턴스들에 대해서만, 표준 인스턴스들에 대해서만, 특정 클라우드 서비스 제공자들에 대해서만, 및/또는 다른 필터 기준들에 대한 정보를 포함할 수 있다.
동작(210)에서, 가입자들의 리스트가 식별될 수 있다. 상이한 레벨들의 가입들은 구매 전략에서 제공되는 상이한 레벨들의 정보와 연관될 수 있다. 예를 들어, 기본 가입은 미가공 정보만을 포함하는 구매 전략을 제공할 수 있다. 증가된 가입은 순위화된 및/또는 최적화된 정보를 포함하는 구매 전략을 제공할 수 있다. 구매 전략들에 대한 1회 요청들을 포함하는 다른 프로비저닝 모델들이 또한 사용될 수 있다. 동작(212)에서, 구매 전략들은 가입자들에게 (예를 들어, 비동기, 암호 서명된 통신을 통해) 제공될 수 있다.
도 3은 본 발명의 일 구현에 따라, 구매 전략들 및/또는 다른 정보에 기초하여 구매 결정들을 결정하는 프로세스(300)를 예시한다. 도 3에 도시된 다양한 처리 동작들 및/또는 데이터 흐름들은 본원에 더 상세히 설명된다. 설명된 동작들은 위에 상세히 설명된 시스템 구성요소들의 일부 또는 전부를 사용하여 달성될 수 있고, 일부 구현들에서, 다양한 동작들은 상이한 시퀀스들로 수행될 수 있고 다양한 동작들은 생략될 수 있다. 부가 동작들은 묘사된 흐름도들에 도시되는 동작들의 일부 또는 전부와 함께 수행될 수 있다. 하나 이상의 동작들은 동시에 수행될 수 있다. 따라서, 예시되는(및 아래에 더 상세히 설명되는) 바와 같은 동작들은 본래 예시적이고, 그와 같이, 제한으로 간주되지 않아야 한다.
동작(302)에서, 하나 이상의 구매 전략들이 가입되고 획득될 수 있다.
동작(304)에서, 하나 이상의 구매 전략들은 고객 데이터 저장소(예컨대 도 1에 예시된 고객 데이터 저장소(140))에 저장될 수 있다.
동작(306)에서, 고객 제공 정보가 획득될 수 있다. 고객 제공 정보는 제한 없이, 하나 이상의 구매 전략들에 이루어지는 맞춤화 또는 수정들, 고객 구매 전략들(고객에 의해 발생됨), 클라우드 서비스 구매 결정을 할 때 충족되는 요건들을 지정하기 위해 사용되는 하나 이상의 구매 규칙들, 및/또는 고객에 의해 제공되는 다른 정보를 포함할 수 있다.
동작(308)에서, 고객 제공 정보는 고객 데이터 저장소에 저장될 수 있다.
동작(310)에서, 클라우드 서비스 인스턴스를 구매하는 표시가 획득될 수 있다. 예를 들어, 클라우드 컨트롤러는 실행되는 새로운 컴퓨트 인스턴스들을 생성할 수 있고 및/또는 고객은 컴퓨트 인스턴스를 실행하기 위해 하나 이상의 클라우드 서비스 인스턴스들을 구매하기를 다른 방법으로 원할 수 있다.
동작(312)에서, 고객 데이터 저장소로부터의 정보가 획득될 수 있다. 예를 들어, 구매 전략, 고객 수정 구매 전략, 고객 구매 전략, 구매 규칙, 및/또는 다른 정보가 고객 데이터 저장소로부터 획득될 수 있다. 프로세스(300)에 의해 획득되거나 결정되는 실시간 가격 책정 또는 성능 정보와 같은 다른 정보 정보가 또한 획득될 수 있다.
동작(314)에서, 구매 사양은 고객 데이터 저장소로부터의 정보 및/또는 프로세스(300)에 의해 획득되거나 결정되는 다른 정보에 기초하여 발생될 수 있다. 구매 사양은 구매되는 클라우드 서비스 인스턴스를 설명하는 하나 이상의 구매 파라미터들을 포함할 수 있다.
도 4는 본 발명의 일 구현에 따라, 스폿 인스턴스들에 대한 스폿 가격 변동성을 식별하고 레버리징하는 프로세스(400)를 예시한다. 도 4에 도시된 다양한 처리 동작들 및/또는 데이터 흐름들은 본원에 더 상세히 설명된다. 설명된 동작들은 위에 상세히 설명된 시스템 구성요소들의 일부 또는 전부를 사용하여 달성될 수 있고, 일부 구현들에서, 다양한 동작들은 상이한 시퀀스들로 수행될 수 있고 다양한 동작들은 생략될 수 있다. 부가 동작들은 묘사된 흐름도들에 도시되는 동작들의 일부 또는 전부와 함께 수행될 수 있다. 하나 이상의 동작들은 동시에 수행될 수 있다. 따라서, 예시되는(및 아래에 더 상세히 설명되는) 바와 같은 동작들은 본래 예시적이고, 그와 같이, 제한으로 간주되지 않아야 한다.
동작(402)에서, 스폿 가격 이력이 획득될 수 있다. 스폿 가격 이력은 스폿 인스턴스들의 제공자에 의해 제공된 스폿 가격들, 주문된 입찰들, 및/또는 스폿 가격들과 관련된 다른 정보의 리스팅을 포함할 수 있다.
동작(404)에서, 스폿 가격들의 패턴은 하나 이상의 스폿 가격들이 반복되는 경향이 있는 지에 기초하여 식별될 수 있다. 예를 들어, 패턴은 제1 스폿 가격이 제1 시간에 제공되고 제1 스폿 가격과 실질적으로 동일한 제2 스폿 가격이 제1 시간 후의 제2 시간에 제공될 때 식별될 수 있다. 제2 스폿 가격은 제1 스폿 가격과 제2 스폿 가격 사이의 차이가 특정 총액을 초과하지 않을 때 제1 스폿 가격과 실질적으로 동일할 수 있다. 다른 패턴들, 예컨대 규칙적인 시간들에 발생하는 경향이 있는 가격 증가들 또는 하락들(예를 들어, 하루 중 특정 시간들에서의 가격 하락들 또는 하루 중 다른 시간들에서의 가격 증가들)이 또한 결정될 수 있다.
동작(406)에서, 스폿 가격 안정성의 패턴은 스폿 가격들의 패턴에 기초하여 식별될 수 있다. 다시 말하면, 스폿 가격 안정성은 예를 들어 하루 중 특정 시간들에 반복되는 경향이 있다. 스폿 가격 안정성은 스폿 가격이 하부 한계 스폿 가격 아래로 내려가지 않고 상부 한계 스폿 가격 위로 올라가지 않는 시간의 기간을 언급한다. 예를 들어, 도 5를 참조하면, 스폿 가격 안정성은 스폿 가격이 하부 한계 스폿 가격(P1)과 상부 한계 스폿 가격(P2) 사이이기 때문에, 시간(T1)과 시간(T2) 사이에서 식별될 수 있다. 그러한 스폿 가격 안정성의 패턴은 그러한 안정성이 다른 시간 기간 동안에 반복될 때 식별될 수 있다. 예를 들어, 스폿 가격 안정성의 패턴은 매일 저녁 특정 시간에 발생할 수 있다.
도 4를 다시 참조하면, 동작(408)에서, 스폿 가격 안정성 후에 가격 증가(상부 한계 스폿 가격을 넘음)가 이어지는지의 판단이 이루어진다. 스폿 가격 안정성 후에 가격 증가가 이어지면, 이때 스폿 가격 안정성 및 가격 증가는 동작(410)에서 스폿 인스턴스의 조기 종료에 대한 가능성으로 플래깅될 수 있다. 다른 한편, 스폿 가격 안정성 후에 가격 증가가 이어지지 않으면(및 따라서 하부 한계 스폿 가격 아래의 가격 감소가 이어져야 하면), 이때 스폿 가격 안정성 및 가격 감소는 동작(412)에서 스폿 인스턴스의 완료에 대한 가능성으로 플래깅될 수 있다.
동작(414)에서, 더 많은 스폿 가격들이 분석에 이용가능한지의 판단이 이루어질 수 있다. 더 많은 스폿 가격들이 분석에 이용가능하면, 이때 프로세스(400)는 동작(406)으로 복귀될 수 있으며, 가격 안정성의 기간들이 식별될 수 있다.
그렇지 않으면, 플래깅된 가능성들은 동작(416)에서 분석될 수 있다. 구매 결정의 목표에 따라, 적절한 가능성이 선택될 수 있다. 예를 들어, 목표는 무료 컴퓨트 사이클들을 획득하기 위해 조기 종료를 레버리징하면, 이때 가격 안정성 후에 가격 증가들이 분석을 위해 선택될 수 있다. 가격이 가격 안정성의 기간 후에 증가하면, 이때 가격 안정성의 기간 동안에 주문되고 접수된 입찰에 기인하는 스폿 인스턴스는 가격이 입찰가를 넘어 증가할 때 조기에 종료될 가능성이 있다(스폿 인스턴스가 가격 증가 후에 완료까지 실행되도록 스케줄링되는 것을 가정함). 시간 및 입찰 총액은 예상된 런타임(예를 들어, 스폿 인스턴스가 실행되는 시간의 지속기간), 안정성의 기간, 및 가격 증가에 기초하여 결정될 수 있다.
다른 한편, 목표는 표준 가격들보다 더 낮을 수 있는 스폿 가격들을 사용하기 위해 스폿 인스턴스 종료를 레버리징하면, 이때 가격 안정성 후에 가격 감소들이 분석을 위해 선택될 수 있다. 가격이 가격 안정성의 기간 후에 감소하면, 이때 가격 안정성의 기간 동안에 주문되고 접수된 입찰에 기인하는 스폿 인스턴스는 가격이 입찰가 아래로 감소할 때 완료까지 실행될 가능성이 있다(스폿 인스턴스가 완료까지 실행될 때까지 스폿 가격이 입찰가를 넘어 나중에 증가하지 않는 것을 가정함). 시간 및 입찰 총액은 예상된 런타임(예를 들어, 스폿 인스턴스가 실행되는 시간의 지속기간), 안정성의 기간, 및 가격 증가에 기초하여 결정될 수 있다.
도 5는 본 발명의 일 구현에 따라, 시간에 따라 플로팅되는 스폿 인스턴스들에 대한 스폿 가격들의 예시적 2차원 그래픽 표현(500)을 예시한다. 2차원 그래픽 표현(500)은 가격 곡선(P)에 기초하여 하나 이상의 구매 파라미터들을 결정하는 분석 프레임워크를 묘사하도록 예시적 목적들을 위해 제공된다. 다른 타입들의 클라우드 속성들(예를 들어, 표준 가격들, 성능 등)은 하나 이상의 구매 파라미터들을 결정하는 것과 유사한 방식으로 분석될 수 있다.
가격 안정성의 기간은 스폿 가격(P)이 (P1) 및 (P2)에 의해 제한되는 가격들의 범위 내에 있기 때문에 시간(t1)과 시간(t2) 사이에서 발생한다. 시간(t3)에서, 가격 안정성의 기간을 뒤따르는 가격(P3)에 대한 가격 증가가 관찰된다. t1에서 t2까지의 가격 안정성 및 t3에서의 가격 증가는 패턴을 형성하는(예를 들어, 시간들의 다른 세트에 반복되며, P1, P2, 및 P3은 시간들의 다른 세트에서 가격들로부터의 지정된 총액을 넘어 벗어나지 않음) 것을 가정하면, 이때 패턴은 스폿 인스턴스들에 대해 조기 종료 목표, 완료 목표, 및/또는 다른 목표들을 이행하기 위해 레버리징될 수 있다.
조기 종료 목표
조기 종료 목표는 스폿 인스턴스가 실행되고 있는 동안에 지배적인 스폿 가격이 입찰가를 넘어 증가했기 때문에 스폿 인스턴스의 제공자에 의해 조기에 종료될 것으로 예상되는 스폿 인스턴스에 대한 입찰을 주문하려고 노력할 수 있다. 따라서, 무료(또는 제공자에 따라, 감소된 속도) 컴퓨트 시간은 스폿 인스턴스가 조기에 종료된 시간까지 스폿 인스턴스가 개시되었을 때의 시간 동안 획득될 수 있다.
예를 들어, 스폿 인스턴스를 구매하는 시작 시간(ti) 및 가격(Pi)은 조기 종료 목표의 일부로 식별될 수 있다. ti는 스폿 인스턴스를 사용하여 실행되는 컴퓨트 인스턴스의 예상된 런타임에 기초하여 결정될 수 있다. 예상된 무료 컴퓨트 시간은 (스폿 인스턴스가 ti에서 시작되고 t3에서 조기에 종료될 것으로 예상되기 때문에) t3과 ti 사이의 차이로 산출될 수 있다. 더 길게 예상된 무료 컴퓨터 시간들은 t3에서의 예측된 가격 증가의 부정확성들에 더 민감하기 때문에 더 길게 예상된 무료 컴퓨트 시간들(예를 들어, 조기의 ti)은 더 짧게 예상된 무료 컴퓨트 시간들보다 완료까지 실행되고 조기에 종료되지 않을 가능성이 더 많다. 따라서, 조기 종료 목표를 포함하는 임의의 구매 사양은 그렇게 행하는 위험으로 더 길게 예상된 무료 컴퓨트 시간들의 이득의 균형을 유지할 수 있다. Pi는 P2 및 P3에 기초하여 결정될 수 있다. 예를 들어, Pi는 P2 이상이고 P3 미만일 수 있다.
완료 목표
완료 목표는 완료까지 실행될 것으로 예상되는 스폿 인스턴스에 대한 입찰을 주문하려고 노력할 수 있다. 따라서, 전형적으로 더 낮게 가격 책정되지만 중대한 컴퓨트 인스턴스들에 대해 더 위험한 스폿 인스턴스들은 조기 종료에 민감할 수 있는 컴퓨트 인스턴스들을 위해 사용될 수 있다.
예를 들어, 스폿 인스턴스를 구매하는 시작 시간(ti) 및 가격(Pi)은 완료 목표의 일부로 식별될 수 있다. ti는 스폿 인스턴스를 사용하여 실행되는 컴퓨트 인스턴스의 예상된 런타임 및 t3에 기초하여 결정될 수 있다. ti는 t3 마이너스 런타임 미만이어야 한다. 다시 말하면, 스폿 인스턴스는 스폿 인스턴스가 t3 전에 종료될 것으로 예상되도록 구매되고 개시되어야 한다. 이러한 방식으로, 스폿 인스턴스는 완료까지 실행될 것으로 예상되어야 한다. 도 5에 예시되지 않지만, 가격 감소는 t3에서 발생할 수 있으며, 그 경우에 ti는 Pi를 넘는 임의의 다른 예상된 가격 증가에 따라, 더 늦은 시간으로 연장될 수 있다.
더욱이, 가격 안정성 및 변동성에 대해 예시되지만, 가격들의 임의의 패턴은 조기 종료 또는 완료 목표들을 이행하기 위해 식별될 수 있다. 예를 들어, 가격 증가가 관찰되는 임의의 패턴은 조기 종료 목표들을 이행하기 위해 사용될 수 있다.
다른 구현들, 본 발명의 사용들 및 장점들은 본원에 개시되는 본 발명의 명세서 및 실시의 고려로부터 본 기술분야의 통상의 기술자들에게 분명할 것이다. 명세서는 단지 예시적인 것으로 간주되어야 하고, 따라서 본 발명의 범위는 이하의 청구항들에 의해서만 제한되도록 의도된다.

Claims (30)

  1. 클라우드 서비스 인스턴스들의 구매를 최적화하는 컴퓨터 구현 방법으로서, 상기 방법은 하나 이상의 물리 프로세서들에 의해 실행될 때, 컴퓨터 시스템으로 하여금 상기 방법을 수행하게 하는 컴퓨터 프로그램 명령어들로 프로그래밍되는 상기 하나 이상의 물리 프로세서들을 갖는 컴퓨터 시스템에서 구현되며, 상기 방법은,
    상기 컴퓨터 시스템에 의해, 컴퓨트 인스턴스와 연관되는 하나 이상의 요건들을 획득하는 단계;
    상기 컴퓨터 시스템에 의해, 하나 이상의 클라우드 서비스 인스턴스들과 연관되는 하나 이상의 클라우드 속성들을 포함하는 구매 전략을 획득하는 단계;
    상기 컴퓨터 시스템에 의해, 상기 구매 전략 및 상기 하나 이상의 요건들에 기초하여 상기 컴퓨트 인스턴스를 실행하기 위한 클라우드 서비스 인스턴스를 식별하는 단계; 및
    상기 컴퓨터 시스템에 의해, 상기 클라우드 서비스 인스턴스를 설명하는 하나 이상의 구매 파라미터들을 포함하는 구매 사양을 발생시키는 단계를 포함하는, 컴퓨터 구현 방법.
  2. 제1항에 있어서, 상기 하나 이상의 클라우드 속성들은 상기 하나 이상의 클라우드 서비스 인스턴스들의 실시간 가격들을 포함하는 실시간 가격 책정 정보를 포함하는, 컴퓨터 구현 방법.
  3. 제2항에 있어서, 상기 하나 이상의 요건들은 상기 하나 이상의 클라우드 서비스 인스턴스들에 대해 지불될 최대 가격 또는 가격들의 범위를 지정하는, 컴퓨터 구현 방법.
  4. 제1항에 있어서, 상기 하나 이상의 클라우드 속성들은 상기 하나 이상의 클라우드 서비스 인스턴스들의 실시간 성능을 표시하는 실시간 성능 정보를 포함하는, 컴퓨터 구현 방법.
  5. 제4항에 있어서, 상기 하나 이상의 요건들은 상기 하나 이상의 클라우드 서비스 인스턴스들의 요구된 성능과 관련되는, 컴퓨터 구현 방법.
  6. 제1항에 있어서, 상기 클라우드 서비스 인스턴스는 스폿 인스턴스 또는 표준 인스턴스를 포함하며, 상기 방법은,
    상기 하나 이상의 요건들에 기초하여 상기 스폿 인스턴스 또는 상기 표준 인스턴스를 구매할지를 결정하는 단계를 더 포함하고, 상기 클라우드 서비스 인스턴스는 상기 결정에 기초하여 식별되는, 컴퓨터 구현 방법.
  7. 제1항에 있어서, 상기 컴퓨트 인스턴스를 실행하기 위한 클라우드 서비스 인스턴스를 식별하는 단계는,
    상기 컴퓨트 인스턴스를 실행하기 위한 복수의 클라우드 서비스 인스턴스들을 식별하는 단계를 포함하며, 상기 구매 사양은 상기 컴퓨트 인스턴스를 실행하기 위해 구매되어야 하는 복수의 클라우드 서비스 인스턴스들을 지정하는, 컴퓨터 구현 방법.
  8. 제7항에 있어서, 상기 방법은
    상기 복수의 클라우드 서비스 인스턴스들이 (i) 더 작은 수의 클라우드 서비스 인스턴스들의 사용과 비교하여 더 낮은 전체 가격, 및/또는 (ii) 더 작은 수의 클라우드 서비스 인스턴스들의 사용과 비교하여 더 큰 성능과 연관되는 것을 결정하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  9. 제7항에 있어서, 상기 복수의 클라우드 서비스 인스턴스들 중 제1 클라우드 서비스 인스턴스는 제1 클라우드 서비스 제공자로부터 구매되고 상기 복수의 클라우드 서비스 인스턴스들 중 제2 클라우드 서비스 인스턴스는 상기 제1 클라우드 서비스 제공자와는 상이한 제2 클라우드 서비스 제공자로부터 구매되는, 컴퓨터 구현 방법.
  10. 제1항에 있어서, 상기 하나 이상의 요건들은 조기 종료 목표와 관련되고, 상기 클라우드 서비스 인스턴스는 스폿 인스턴스를 포함하고, 상기 하나 이상의 클라우드 속성들은 이력 스폿 가격들과 관련되고, 상기 방법은,
    상기 이력 스폿 가격들에 기초하여 제1 시간에 제1 스폿 가격을 식별하고 제2 시간에 상기 제1 스폿 가격보다 더 높은 제2 스폿 가격을 식별하는 단계;
    상기 제1 스폿 가격과 상기 제2 스폿 가격 사이에 있는 입찰 가격을 결정하는 단계; 및
    상기 스폿 인스턴스가 제2 시간을 지나 실행되고 조기에 종료될 것으로 예상되도록 상기 입찰 가격이 정해져야 하는 상기 제1 시간과 상기 제2 시간 사이의 시간을 결정하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  11. 제1항에 있어서, 상기 하나 이상의 요건들은 완료 목표와 관련되고, 상기 클라우드 서비스 인스턴스는 스폿 인스턴스를 포함하고, 상기 하나 이상의 클라우드 속성들은 이력 스폿 가격들과 관련되고, 상기 방법은,
    상기 이력 스폿 가격들에 기초하여 가격 안정성의 기간을 식별하는 단계 - 상기 가격 안정성의 기간 동안의 복수의 가격들은 하부 한계 스폿 가격 및 상부 한계 스폿 가격 내에 있음 -;
    상기 상부 한계 스폿 가격 이상인 입찰 가격을 결정하는 단계; 및
    상기 스폿 인스턴스가 상기 가격 안정성의 기간 내의 완료까지 실행될 것으로 예상되도록 하기 위해 상기 입찰 가격이 정해져야 하는 시간을 결정하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  12. 제1항에 있어서, 상기 방법은
    원격 컴퓨터 시스템으로부터 하나 이상의 구매 전략들을 수신하기 위해 가입을 획득하는 단계를 더 포함하며, 상기 구매 전략은 상기 가입에 기초하여 상기 원격 컴퓨터 시스템으로부터 획득되는, 컴퓨터 구현 방법.
  13. 제1항에 있어서, 상기 구매 전략은 원격 컴퓨터 시스템으로부터 수신되며, 상기 방법은 상기 구매 전략을 수정하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  14. 제1항에 있어서, 상기 방법은
    하나 이상의 소스들로부터 상기 하나 이상의 클라우드 속성들을 획득하는 단계;
    상기 획득된 하나 이상의 클라우드 속성들에 기초하여 하나 이상의 구매 전략들을 발생시키는 단계; 및
    상기 하나 이상의 구매 전략들을 데이터 저장소에 저장하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  15. 클라우드 서비스 인스턴스들의 구매를 최적화하는 시스템으로서,
    컴퓨터 프로그램 명령어들로 프로그래밍되는 하나 이상의 프로세서들을 갖는 컴퓨터 시스템을 포함하며, 상기 컴퓨터 프로그램 명령어들은 상기 하나 이상의 물리 프로세서들에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금,
    컴퓨트 인스턴스와 연관되는 하나 이상의 요건들을 획득하게 하고;
    하나 이상의 클라우드 서비스 인스턴스들과 연관되는 하나 이상의 클라우드 속성들을 포함하는 구매 전략을 획득하게 하고;
    상기 구매 전략 및 상기 하나 이상의 요건들에 기초하여 상기 컴퓨트 인스턴스를 실행하기 위한 클라우드 서비스 인스턴스를 식별하게 하고;
    상기 클라우드 서비스 인스턴스를 설명하는 하나 이상의 구매 파라미터들을 포함하는 구매 사양을 발생시키게 하는, 시스템.
  16. 제15항에 있어서, 상기 하나 이상의 클라우드 속성들은 상기 하나 이상의 클라우드 서비스 인스턴스들의 실시간 가격들을 포함하는 실시간 가격 책정 정보를 포함하는, 시스템.
  17. 제16항에 있어서, 상기 하나 이상의 요건들은 상기 하나 이상의 클라우드 서비스 인스턴스들에 대해 지불될 최대 가격 또는 가격들의 범위를 지정하는, 시스템.
  18. 제15항에 있어서, 상기 하나 이상의 클라우드 속성들은 상기 하나 이상의 클라우드 서비스 인스턴스들의 실시간 성능을 표시하는 실시간 성능 정보를 포함하는, 시스템.
  19. 제18항에 있어서, 상기 하나 이상의 요건들은 상기 하나 이상의 클라우드 서비스 인스턴스들의 요구된 성능과 관련되는, 시스템.
  20. 제15항에 있어서, 상기 클라우드 서비스 인스턴스는 스폿 인스턴스 또는 표준 인스턴스를 포함하고, 상기 컴퓨터 시스템은,
    상기 하나 이상의 요건들에 기초하여 상기 스폿 인스턴스 또는 상기 표준 인스턴스를 구매할지를 결정하도록 더 프로그래밍되며, 상기 클라우드 서비스 인스턴스는 상기 결정에 기초하여 식별되는, 시스템.
  21. 제15항에 있어서, 상기 컴퓨트 인스턴스를 실행하기 위한 클라우드 서비스 인스턴스를 식별하기 위해, 상기 컴퓨터 시스템은,
    상기 컴퓨트 인스턴스를 실행하기 위한 복수의 클라우드 서비스 인스턴스들을 식별하도록 더 프로그래밍되며, 상기 구매 사양은 상기 컴퓨트 인스턴스를 실행하기 위해 구매되어야 하는 복수의 클라우드 서비스 인스턴스들을 지정하는, 시스템.
  22. 제21항에 있어서, 상기 컴퓨터 시스템은,
    상기 복수의 클라우드 서비스 인스턴스들이 (i) 더 작은 수의 클라우드 서비스 인스턴스들의 사용과 비교하여 더 낮은 전체 가격, 및/또는 (ii) 더 작은 수의 클라우드 서비스 인스턴스들의 사용과 비교하여 더 큰 성능과 연관되는 것을 결정하도록 더 프로그래밍되는, 시스템.
  23. 제21항에 있어서, 상기 복수의 클라우드 서비스 인스턴스들 중 제1 클라우드 서비스 인스턴스는 제1 클라우드 서비스 제공자로부터 구매되고 상기 복수의 클라우드 서비스 인스턴스들 중 제2 클라우드 서비스 인스턴스는 상기 제1 클라우드 서비스 제공자와는 상이한 제2 클라우드 서비스 제공자로부터 구매되는, 시스템.
  24. 제15항에 있어서, 상기 하나 이상의 요건들은 조기 종료 목표와 관련되고, 상기 클라우드 서비스 인스턴스는 스폿 인스턴스를 포함하고, 상기 하나 이상의 클라우드 속성들은 이력 스폿 가격들과 관련되고, 상기 컴퓨터 시스템은,
    상기 이력 스폿 가격들에 기초하여 제1 시간에 제1 스폿 가격을 식별하고 제2 시간에 상기 제1 스폿 가격보다 더 높은 제2 스폿 가격을 식별하고;
    상기 제1 스폿 가격과 상기 제2 스폿 가격 사이에 있는 입찰 가격을 결정하고;
    상기 스폿 인스턴스가 상기 제2 시간을 지나 실행되고 조기에 종료될 것으로 예상되도록 하기 위해 상기 입찰 가격이 정해져야 하는 상기 제1 시간과 상기 제2 시간 사이의 시간을 결정하도록 더 프로그래밍되는, 시스템.
  25. 제15항에 있어서, 상기 하나 이상의 요건들은 완료 목표와 관련되고, 상기 클라우드 서비스 인스턴스는 스폿 인스턴스를 포함하고, 상기 하나 이상의 클라우드 속성들은 이력 스폿 가격들과 관련되고, 상기 컴퓨터 시스템은,
    상기 이력 스폿 가격들에 기초하여 가격 안정성의 기간을 식별하며, 상기 가격 안정성의 기간 동안의 복수의 가격들은 하부 한계 스폿 가격 및 상부 한계 스폿 가격 내에 있고;
    상기 상부 한계 스폿 가격 이상인 입찰 가격을 결정하고;
    상기 스폿 인스턴스가 상기 가격 안정성의 기간 내의 완료까지 실행될 것으로 예상되도록 하기 위해 상기 입찰 가격이 정해져야 하는 시간을 결정하도록 더 프로그래밍되는, 시스템.
  26. 제15항에 있어서, 상기 컴퓨터 시스템은,
    원격 컴퓨터 시스템으로부터 하나 이상의 구매 전략들을 수신하기 위해 가입을 획득하도록 더 프로그래밍되며, 상기 구매 전략은 상기 가입에 기초하여 상기 원격 컴퓨터 시스템으로부터 획득되는, 시스템.
  27. 제15항에 있어서, 상기 구매 전략은 원격 컴퓨터 시스템으로부터 수신되며, 상기 컴퓨터 시스템은,
    상기 구매 전략을 수정하도록 더 프로그래밍되는, 시스템.
  28. 제15항에 있어서, 상기 컴퓨터 시스템은,
    하나 이상의 소스들로부터 상기 하나 이상의 클라우드 속성들을 획득하고;
    상기 획득된 하나 이상의 클라우드 속성들에 기초하여 하나 이상의 구매 전략들을 발생시키고;
    상기 하나 이상의 구매 전략들을 데이터 저장소에 저장하도록 더 프로그래밍되는, 시스템.
  29. 구매 전략들을 발생시키는 컴퓨터 구현 방법으로서, 상기 방법은 하나 이상의 물리 프로세서들에 의해 실행될 때, 컴퓨터 시스템이 상기 방법을 수행하게 하는 컴퓨터 프로그램 명령어들로 프로그래밍되는 하나 이상의 물리 프로세서들을 갖는 컴퓨터 시스템에서 구현되며,
    상기 컴퓨터 시스템에 의해, 하나 이상의 소스들로부터 하나 이상의 클라우드 속성들을 획득하는 단계 - 상기 하나 이상의 클라우드 속성들은 하나 이상의 클라우드 서비스 인스턴스들과 연관되는 하나 이상의 클라우드 서비스들을 설명함 -;
    상기 컴퓨터 시스템에 의해, 상기 획득된 하나 이상의 클라우드 속성들에 기초하여 하나 이상의 구매 전략들을 발생시키는 단계;
    상기 컴퓨터 시스템에 의해, 상기 하나 이상의 구매 전략들을 수신하기 위해 가입했던 하나 이상의 가입자들을 식별하는 단계; 및
    상기 컴퓨터 시스템에 의해, 상기 하나 이상의 구매 전략들을 상기 하나 이상의 가입자들에게 제공하는 단계를 포함하는, 컴퓨터 구현 방법.
  30. 구매 전략들을 발생시키는 시스템으로서,
    컴퓨터 프로그램 명령어들로 프로그래밍되는 하나 이상의 프로세서들을 갖는 컴퓨터 시스템을 포함하며, 상기 컴퓨터 프로그램 명령어들은 상기 하나 이상의 물리 프로세서들에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금,
    하나 이상의 소스들로부터 하나 이상의 클라우드 속성들을 획득하게 하며 - 상기 하나 이상의 클라우드 속성들은 하나 이상의 클라우드 서비스 인스턴스들과 연관되는 하나 이상의 클라우드 서비스들을 설명함 -;
    상기 획득된 하나 이상의 클라우드 속성들에 기초하여 하나 이상의 구매 전략들을 발생시키게 하고;
    상기 하나 이상의 구매 전략들을 수신하기 위해 가입했던 하나 이상의 가입자들을 식별하게 하고;
    상기 하나 이상의 구매 전략들을 상기 하나 이상의 가입자들에게 제공하게 하는, 시스템.
KR1020177000929A 2014-06-11 2015-06-04 가격 및 성능에 기초하여 클라우드 서비스들의 선택을 최적화하는 시스템 및 방법 KR20170018038A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/302,220 US9508095B2 (en) 2014-06-11 2014-06-11 System and method for optimizing the selection of cloud services based on price and performance
US14/302,220 2014-06-11
PCT/US2015/034109 WO2015191352A1 (en) 2014-06-11 2015-06-04 System and method for optimizing the selection of cloud services based on price and performance

Publications (1)

Publication Number Publication Date
KR20170018038A true KR20170018038A (ko) 2017-02-15

Family

ID=54834121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177000929A KR20170018038A (ko) 2014-06-11 2015-06-04 가격 및 성능에 기초하여 클라우드 서비스들의 선택을 최적화하는 시스템 및 방법

Country Status (9)

Country Link
US (1) US9508095B2 (ko)
EP (1) EP3155519A4 (ko)
JP (1) JP2017521765A (ko)
KR (1) KR20170018038A (ko)
CN (1) CN106796527A (ko)
AU (1) AU2015275073A1 (ko)
CA (1) CA2951847A1 (ko)
IL (1) IL249479A0 (ko)
WO (1) WO2015191352A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220038944A (ko) * 2020-09-21 2022-03-29 주식회사 디투오 Csp에 따른 가격 정책 비교 기반의 컴퓨팅 인프라 환경 지원 장치 및 방법
KR20220038943A (ko) * 2020-09-21 2022-03-29 주식회사 디투오 서비스 프로필 기반으로 컴퓨팅 인프라 환경을 추천하는 컴퓨팅 인프라 환경 지원 장치 및 방법
KR20220038942A (ko) * 2020-09-21 2022-03-29 주식회사 디투오 Csp에 따른 마크업 언어 재구성 기반의 컴퓨팅 인프라 환경 지원 장치 및 방법

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10673952B1 (en) * 2014-11-10 2020-06-02 Turbonomic, Inc. Systems, apparatus, and methods for managing computer workload availability and performance
US20160154673A1 (en) * 2014-07-23 2016-06-02 Sitting Man, Llc Methods, systems, and computer program products for providing a minimally complete operating environment
US10084721B2 (en) * 2015-01-16 2018-09-25 Vmware, Inc. Transformation of discrete service events into continuous, periodic data for metering and billing of cloud services
US10341194B2 (en) 2015-10-05 2019-07-02 Fugue, Inc. System and method for building, optimizing, and enforcing infrastructure on a cloud based computing environment
US11281498B1 (en) * 2016-06-28 2022-03-22 Amazon Technologies, Inc. Job execution with managed compute environments
US10735281B1 (en) * 2016-12-14 2020-08-04 Amazon Technologies, Inc. Application focused provisioning system
US10931761B2 (en) * 2017-02-10 2021-02-23 Microsoft Technology Licensing, Llc Interconnecting nodes of entity combinations
US10447614B2 (en) * 2017-06-23 2019-10-15 Red Hat, Inc. Providing high availability for a thin-provisioned container cluster
US11550299B2 (en) 2020-02-03 2023-01-10 Strong Force TX Portfolio 2018, LLC Automated robotic process selection and configuration
EP3791347A4 (en) 2018-05-06 2022-05-25 Strong Force TX Portfolio 2018, LLC METHODS AND SYSTEMS FOR IMPROVING MACHINES AND SYSTEMS THAT AUTOMATE THE EXECUTION OF DISTRIBUTED LEADER AND OTHER TRANSACTIONS IN SPOT AND FUTURES MARKETS FOR ENERGY, COMPUTING, STORAGE AND OTHER RESOURCES
US11669914B2 (en) 2018-05-06 2023-06-06 Strong Force TX Portfolio 2018, LLC Adaptive intelligence and shared infrastructure lending transaction enablement platform responsive to crowd sourced information
US11238012B1 (en) 2018-05-15 2022-02-01 Splunk Inc. Log data extraction from data chunks of an isolated execution environment
WO2020047390A1 (en) 2018-08-30 2020-03-05 Jpmorgan Chase Bank, N.A. Systems and methods for hybrid burst optimized regulated workload orchestration for infrastructure as a service
US11537627B1 (en) 2018-09-28 2022-12-27 Splunk Inc. Information technology networked cloud service monitoring
US10990370B1 (en) 2018-11-21 2021-04-27 Candid Labs, Inc. System, apparatus and method for deploying infrastructure to the cloud
US10785128B1 (en) 2018-11-21 2020-09-22 Candid Partners, LLC System, apparatus and method for deploying infrastructure to the cloud
US10872029B1 (en) 2018-11-21 2020-12-22 Candid Partners, LLC System, apparatus and method for deploying infrastructure to the cloud
US10994198B1 (en) * 2018-11-28 2021-05-04 Amazon Technologies, Inc. Risk assessment for placement of hosted sessions
US11645592B2 (en) * 2019-06-28 2023-05-09 EMC IP Holding Company LLC Analyzing cloud backup service options using historical data protection activities
US11410107B2 (en) * 2019-11-07 2022-08-09 Salesforce.Com, Inc. Systems and methods for real-time determination of cost-to-serve metrics and cost attribution for cloud applications in the public cloud
US11171845B2 (en) * 2020-01-03 2021-11-09 International Business Machines Corporation QoS-optimized selection of a cloud microservices provider
US11982993B2 (en) 2020-02-03 2024-05-14 Strong Force TX Portfolio 2018, LLC AI solution selection for an automated robotic process
CN111882387B (zh) * 2020-07-22 2022-04-19 山东大学 一种竞价型云计算资源租赁策略动态调整方法及系统
CN111882134B (zh) * 2020-08-04 2024-06-21 山东大学 一种云计算服务调度方法、系统、介质及电子设备
CN111967938B (zh) * 2020-08-18 2023-07-21 中国银行股份有限公司 云资源推荐方法、装置、计算机设备及可读存储介质
CN112766951A (zh) * 2021-02-03 2021-05-07 北京寄云鼎城科技有限公司 一种线上软件计费方法、装置、计算机设备及存储介质
WO2022202676A1 (ja) * 2021-03-25 2022-09-29 日本電気株式会社 情報資源割当支援装置、情報資源割当支援方法、及び、情報資源割当支援プログラムが格納された記録媒体
US11941421B1 (en) 2021-07-09 2024-03-26 Splunk Inc. Evaluating and scaling a collection of isolated execution environments at a particular geographic location

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363249B1 (en) * 2001-06-04 2008-04-22 Boesjes Eimar M Multiply-integrated system for product inventory, sales, and distribution
US20030115123A1 (en) * 2001-12-14 2003-06-19 Lang David A. Network and method for delivering active investing services for multiple subscribers
US7472079B2 (en) * 2005-01-12 2008-12-30 International Business Machines Corporation Computer implemented method for automatically controlling selection of a grid provider for a grid job
US7571120B2 (en) * 2005-01-12 2009-08-04 International Business Machines Corporation Computer implemented method for estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms
US9842004B2 (en) 2008-08-22 2017-12-12 Red Hat, Inc. Adjusting resource usage for cloud-based networks
US8238256B2 (en) 2008-09-08 2012-08-07 Nugent Raymond M System and method for cloud computing
US8244559B2 (en) 2009-06-26 2012-08-14 Microsoft Corporation Cloud computing resource broker
US20110119104A1 (en) 2009-11-17 2011-05-19 Xerox Corporation Individualized behavior-based service bundling and pricing
US9274848B2 (en) 2009-12-03 2016-03-01 International Business Machines Corporation Optimizing cloud service delivery within a cloud computing environment
US8615584B2 (en) 2009-12-03 2013-12-24 International Business Machines Corporation Reserving services within a cloud computing environment
JP5552343B2 (ja) * 2010-03-16 2014-07-16 株式会社日本総合研究所 管理装置、管理方法およびプログラム
US20120016721A1 (en) * 2010-07-15 2012-01-19 Joseph Weinman Price and Utility Optimization for Cloud Computing Resources
US9021362B2 (en) 2010-07-19 2015-04-28 Soasta, Inc. Real-time analytics of web performance using actual user measurements
US8977754B2 (en) 2011-05-09 2015-03-10 Metacloud Inc. Composite public cloud, method and system
US20130031028A1 (en) * 2011-07-25 2013-01-31 Bank Of America Exchange System Supporting Cloud Computing
US8676621B1 (en) 2011-09-28 2014-03-18 Amazon Technologies, Inc. System and method for managing requests for pooled resources during non-contention
JP5579157B2 (ja) * 2011-11-29 2014-08-27 株式会社ゼンリンデータコム サービス推奨装置及びサービス推奨方法
US20130179289A1 (en) * 2012-01-09 2013-07-11 Microsoft Corportaion Pricing of resources in virtual machine pools
US9069606B2 (en) 2012-05-08 2015-06-30 Adobe Systems Incorporated Autonomous application-level auto-scaling in a cloud
US20130346227A1 (en) 2012-06-22 2013-12-26 Microsoft Corporation Performance-Based Pricing for Cloud Computing
US20140067496A1 (en) 2012-08-31 2014-03-06 International Business Machines Corporation Providing real-time trading of virtual infrastructure resources
JP5662981B2 (ja) * 2012-10-09 2015-02-04 株式会社ヴァイナス クラウドコンピュータ選択システム、およびクラウドコンピュータ選択用プログラム
US10552774B2 (en) * 2013-02-11 2020-02-04 Amazon Technologies, Inc. Cost-minimizing task scheduler
US9818127B2 (en) * 2013-03-15 2017-11-14 International Business Machines Corporation Implementing comparison of cloud service provider package offerings

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220038944A (ko) * 2020-09-21 2022-03-29 주식회사 디투오 Csp에 따른 가격 정책 비교 기반의 컴퓨팅 인프라 환경 지원 장치 및 방법
KR20220038943A (ko) * 2020-09-21 2022-03-29 주식회사 디투오 서비스 프로필 기반으로 컴퓨팅 인프라 환경을 추천하는 컴퓨팅 인프라 환경 지원 장치 및 방법
KR20220038942A (ko) * 2020-09-21 2022-03-29 주식회사 디투오 Csp에 따른 마크업 언어 재구성 기반의 컴퓨팅 인프라 환경 지원 장치 및 방법

Also Published As

Publication number Publication date
JP2017521765A (ja) 2017-08-03
EP3155519A1 (en) 2017-04-19
US9508095B2 (en) 2016-11-29
WO2015191352A1 (en) 2015-12-17
US20150363851A1 (en) 2015-12-17
CA2951847A1 (en) 2015-12-17
EP3155519A4 (en) 2017-11-08
AU2015275073A1 (en) 2017-01-12
CN106796527A (zh) 2017-05-31
IL249479A0 (en) 2017-02-28

Similar Documents

Publication Publication Date Title
KR20170018038A (ko) 가격 및 성능에 기초하여 클라우드 서비스들의 선택을 최적화하는 시스템 및 방법
US20190266627A1 (en) Dynamic re-pricing of items on electronic marketplaces and/or online stores
US10417650B1 (en) Distributed and automated system for predicting customer lifetime value
US8521664B1 (en) Predictive analytical model matching
US20140278807A1 (en) Cloud service optimization for cost, performance and configuration
US20230214732A1 (en) Split vacation deal generating server and efficient split deal generating methods
US10861081B2 (en) Aggregation of operational data for merchandizing of network accessible services
WO2016155514A1 (zh) 一种物流服务调度方法与设备
US20110213679A1 (en) Multi-quantity fixed price referral systems and methods
US20230289873A1 (en) Generation and Real-time Ranking of Customized Quotes
CN110866698A (zh) 用于评定服务提供方的服务分值的装置
US20150161635A1 (en) Dynamic price elasticity in unstructured marketplace data
Du et al. Efficient risk hedging by dynamic forward pricing: A study in cloud computing
CN111754218A (zh) 支付方式推荐方法和装置
US11799797B2 (en) Edge utility system with user-configurable trust settings for dynamic aggregation of edge resources
Pudasaini et al. Service selection in a cloud marketplace: a multi-perspective solution
US20200380583A1 (en) Promptly adjust recommendations to increase performance in a web site
WO2014153978A1 (en) Methods and systems for managing suppliers and flow of goods on an ecommerce platform
CN114253746A (zh) 一种基于SaaS的产品应用服务管理方法、装置、设备和介质
KR102589254B1 (ko) 렌탈 서비스의 이행과 관련된 데이터를 분석하는 시스템
CN109300049A (zh) 保单贷款利息的计算方法、终端设备及介质
KR102279227B1 (ko) 해외주재원의 파견을 지원하기 위한 플랫폼
US20230273838A1 (en) Edge utility system with distributed ledger verification for dynamic aggregation of edge resources
US20230419378A1 (en) Quantum accuracy score
Filiopoulou et al. Pricing IaaS: A hedonic price index approach