KR101603928B1 - 클라우드 서비스 간의 이송 시 애플리케이션 성능의 유지 - Google Patents

클라우드 서비스 간의 이송 시 애플리케이션 성능의 유지 Download PDF

Info

Publication number
KR101603928B1
KR101603928B1 KR1020147020554A KR20147020554A KR101603928B1 KR 101603928 B1 KR101603928 B1 KR 101603928B1 KR 1020147020554 A KR1020147020554 A KR 1020147020554A KR 20147020554 A KR20147020554 A KR 20147020554A KR 101603928 B1 KR101603928 B1 KR 101603928B1
Authority
KR
South Korea
Prior art keywords
cloud computing
computing environment
target
ccas
performance
Prior art date
Application number
KR1020147020554A
Other languages
English (en)
Other versions
KR20140105852A (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 엠파이어 테크놀로지 디벨롭먼트 엘엘씨
Publication of KR20140105852A publication Critical patent/KR20140105852A/ko
Application granted granted Critical
Publication of KR101603928B1 publication Critical patent/KR101603928B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/18Delegation of network management function, e.g. customer network management [CNM]
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3428Benchmarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24561Intermediate data storage techniques for performance improvement
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

새로운 서비스 프로바이더가 다른 리소스의 믹스를 가지고 있더라도, 사용된 리소스의 트래킹(tracking) 및 애플리케이션 이동에 대한 새로운 클라우드 기반의 서비스 프로바이더에서 유사한 레벨의 컴퓨팅 리소스를 제공받게 할 수 있는 것에 대한 기술이 개시된다. 애플리케이션 이동에 의해 사용되는 컴퓨팅 리소스 및 사용되거나 소비되는 컴퓨팅 파워의 레벨은 식별될 수 있다. 컴퓨팅 리소스의 각각은 연관된 서비스 레벨에 따른 스코어에 할당될 수 있다. 애플리케이션 처리 및 네트워킹 상태에 대한 영향에 따라 개별적인 스코어의 가중된 조합으로써 발생된 전반적인 스코어는 애플리케이션 이동이 유사한 성능 레벨을 수신하게 하기 위한 새로운 서비스 프로바이더와 기존의 서비스 프로바이더 사이의 서비스 레벨의 비교하는 데 사용될 수 있다. 게다가, 개별적이고 전반적인 스코어는 유사한 성능 레벨을 제공하는 리소스를 적절하게 할당하는 새로운 서비스 프로바이더에 의해 채택될 수 있다.

Description

클라우드 서비스 간의 이송 시 애플리케이션 성능의 유지{MAINTAINING APPLICATION PERFORMANCES UPON TRANSFER BETWEEN CLOUD SERVICES}
여기에서 달리 지적되지 않는다면, 본 섹션에서 설명되는 내용은 본 출원에서 청구범위에 대한 종래 기술이 아니며, 본 섹션에 포함함으로써 선행 기술로 인정되지 않는다.
네트워킹 및 데이터 저장 기술의 발전으로, 점점 더 많은 수의 컴퓨팅 서비스가 다양한 레벨에서 컴퓨팅 리소스에 액세스할 수 있는 클라우드 기반 데이터 센터에 의해 유저 또는 고객(customer)에게 제공되고 있다. 클라우드 기반 서비스 프로바이더는 시스템 배치 및 동작에 대한 솔루션의 범위를 개인 및 조직에게 제공할 수 있다. 고객의 필요, 데이터 센터의 능력 및 관련 비용에 따라, 고객에게 제공되는 서비스는 서버 대기 시간(server latency), 저장 한계 또는 한도, 프로세싱 능력(processing power), 확장성 요소(scalability factor), 백업 보장, 가동 시간 보장, 리소스 사용 보고 등과 같은 양태를 설명하는 SLA(Service Level Agreement)에 의해 정의될 수 있다.
클라우드 기반 서비스의 성공은 보다 많은 애플리케이션이 클라우드로 이동되고 있음을 의미한다. 고객(또는 테넌트(tenant))은 일반적으로 애플리케이션을 성능, 비용, 책임(liability) 등과 같은 서비스 파라미터를 유지하면서 하나의 서버 프로바이더로부터 다른 것으로 이동하는 옵션을 가지는 것을 선호한다. 서비스 프로바이더는 애플리케이션의 성능 및 서비스 레벨을 유지하면서 하나의 사이트로부터 다른 것으로 애플리케이션을 이동하는 옵션을 가지는 것을 선호할 수 있다.
서버 처리, 메모리 및 네트워킹과 같은 핵심 서비스 파라미터는 다른 서비스 프로바이더에 의해 폭넓은 방법으로 구현될 수 있다. 사실, 하나의 서비스 프로바이더의 컴퓨팅 환경은 다른 서비스 프로바이더의 환경의 복사본일 수 있다. 최초 서비스 프로바이더에서 애플리케이션 응답 시간과 같은 파라미터의 측정이 간단한 프로세스일 수 있는 반면, 새로운 서비스 프로바이더에게 애플리케이션 이동에 대한 그들의 시스템 리소스 할당(system resource allocation)을 어떻게 계획하는지에 대한 어떤 안내도 제공하지 않는다.
본 개시는 일반적으로 동등하거나 또는 상이한 리소스 혼합이 있는 클라우드 서비스 간의 이송 시에 클라우드 서버가 애플리케이션 성능을 유지할 수 있도록 하기 위한 기술을 설명한다.
일부 예시에 따르면, 클라우드 컴퓨팅 환경 간의 이송 시 애플리케이션 성능을 유지하기 위한 방법은 소스 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관된 복수의 성능 메트릭(performance metric)을 결정하는 단계; 소스 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관된 복수의 성능 메트릭에 기초하여 복수의 성능 파라미터를 연산하는 단계; 가중되는 방식으로 소스 CCAS(Cloud Computing Applicability Score)에 복수의 성능 파라미터를 조합하는 단계; 및 소스 CCAS에 기초하여 고객 애플리케이션에 대한 타겟 클라우드 컴퓨팅 환경을 조정하는 단계를 포함할 수 있다.
다른 예시에 따르면, 클라우드 컴퓨팅 환경 간의 이송 시 애플리케이션 성능을 유지하기 위한 컴퓨팅 장치는 명령어를 저장하도록 구성된 메모리; 및 명령어와 함께 이동 모듈을 실행하도록 구성된 처리 유닛을 포함할 수 있다. 이동 모듈은 소스 클라우드 컴퓨팅 환경 내 고객 애플리케이션과 연관된 복수의 성능 메트릭에 기초하여 복수의 성능 파라미터를 결정하고; 소스 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관된 성능 메트릭에 기초하여 복수의 성능 파라미터를 연산하고; 가중되는 방식으로 소스 CCAS(Cloud Computing Applicability Score)와 복수의 성능 파라미터를 조합하고; 그리고 소스 CCAS에 기초하여 고객 애플리케이션에 대한 타겟 클라우드 컴퓨팅 환경을 조정할 수 있다.
추가적인 예시에 따르면, 컴퓨터 판독 가능 저장 매체는 클라우드 컴퓨팅 환경 간의 이송 시 애플리케이션 성능을 유지하기 위한 명령어를 저장할 수 있다. 명령어는 소스 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관된 복수의 성능 메트릭을 결정하는 단계; 소스 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관된 복수의 성능 메트릭에 기초하여 복수의 성능 파라미터를 연산하는 단계; 가중되는 방식으로 소스 CCAS(Cloud Computing Applicability Score)에 복수의 성능 파라미터를 조합하는 단계; 및 소스 CCAS를 기초로 하여 고객 애플리케이션에 대한 타겟 클라우드 컴퓨팅 환경을 조정하는 단계를 포함할 수 있다.
이상의 요약은 단순히 예시적인 것으로서 어떠한 방식으로든 제한적으로 의도된 것이 아니다. 이하의 상세한 설명과 도면을 참조함으로써, 상기 설명된 예시적인 양태들, 실시예들, 그리고 특징들에 더하여, 추가적인 양태들, 실시예들, 그리고 특징들 또한 명확해질 것이다.
본 개시의 전술한 특징 및 다른 특징은 첨부 도면과 결합하여, 다음의 설명 및 첨부된 청구범위로부터 더욱 충분히 명백해질 것이다. 이들 도면은 본 개시에 따른 단지 몇 개의 실시예를 묘사할 뿐이고, 따라서, 본 개시의 범위를 제한하는 것으로 고려되어서는 안 될 것임을 이해하면서, 본 개시는 첨부 도면의 사용을 통해 더 구체적이고 상세하게 설명될 것이다.
도 1은 클라우드 컴퓨팅 환경 간의 이송 시 애플리케이션 성능의 유지가 구현되는 예시적인 시스템을 도시하고,
도 2는 클라우드 컴퓨팅 환경 간의 이송 시 애플리케이션 성능을 유지하는 일 예시를 도시하고,
도 3은 클라우드 컴퓨팅 환경 간의 이송 시 애플리케이션 성능을 유지하는 다른 예시를 도시하고,
도 4는 CCAS 비교를 기초로 하여 결정된 이동에 대한 하나 이상의 옵션과 CCAS가 소스 및 타겟 클라우드 컴퓨팅 환경에 대해 산출되는 방법을 개념적으로 도시하고,
도 5는 클라우드 컴퓨팅 환경 간의 이송 시 애플리케이션 성능을 유지하는 예시가 이용될 수 있는 범용의 컴퓨팅 장치를 도시하고,
도 6은 도 5의 장치(500)과 같은 컴퓨팅 장치에 의해 실행될 수 있는 예시적인 방법을 도시하는 흐름도이며,
도 7은 예시적인 컴퓨터 프로그램 제품의 블록도이고, 모두 여기에서 설명된 적어도 일부 실시예에 따라 배열된다.
이하의 상세한 설명에서 본 개시의 일부를 이루는 첨부된 도면이 참조된다. 문맥에서 달리 지시하고 있지 않은 한, 통상적으로, 도면에서 유사한 부호는 유사한 컴포넌트를 나타낸다. 상세한 설명, 도면, 그리고 청구범위에 설명되는 예시적인 예시는 제한적으로 여겨지지 않는다. 본 개시에서 제시되는 대상의 범위 또는 사상에서 벗어나지 않으면서도 다른 예시가 이용되거나, 다른 변경이 이루어질 수 있다. 여기에서 일반적으로 설명되고, 도면에 도시되는 본 개시의 양태는 다양한 다른 구성으로 배열, 대체, 조합, 분리, 및 설계 될 수 있음과 이 모두가 여기에서 명시적으로 고려됨이 기꺼이 이해될 것이다.
본 개시는, 그 중에서도, 클라우드 서비스 간의 이송 시 애플리케이션 성능을 유지하는 것에 관한 방법, 기기, 시스템, 장치 및/또는 컴퓨터 프로그램 제품에 일반적으로 관련된다.
간단히 말하자면, 새로운 서비스 프로바이더가 상이한 혼합(mix)의 리소스를 가지더라도, 사용된 리소스의 트래킹(tracking) 및 애플리케이션 이동을 위하여 새로운 클라우드 기반 서비스 프로바이더에서 제공될 유사한 레벨의 전반적인 컴퓨팅 리소스를 보장하기 위한 기술이 제시된다. 이동하는 애플리케이션에 의해 사용되는 컴퓨팅 리소스 및 사용되거나 소비된 컴퓨팅 파워의 레벨이 식별될 수 있다. 컴퓨팅 리소스 각각은 연관된 서비스 레벨에 따라 스코어에 할당될 수 있다. 예컨대, 네트워킹 상태 및 애플리케이션 처리 상의 영향에 따른 개별 스코어의 가중된 조합으로써 생성된 전체 스코어는 이동하는 애플리케이션이 유사한 성능 레벨을 수신하는 것을 보장하기 위한 새로운 서비스 프로바이더와 기존의 서비스 프로바이더 사이의 서비스 레벨의 비교하는데 사용될 수 있다. 게다가, 개별 스코어 및 전체 스코어는 그 리소스를 적절하게 할당하여 유사한 성능 레벨을 제공하도록 새로운 서비스 프로바이더에 의해 사용될 수 있다.
도 1은 여기에서 설명된 적어도 일부 실시예에 따라 배열된, 클라우드 컴퓨팅 환경 간의 이송 시 애플리케이션 성능의 유지가 구현되는 예시적인 시스템을 도시한다.
다이어그램(100)에 도시된 바와 같이, 서비스 프로바이더(102)(클라우드 1)는 개인 또는 기업 고객(108, 109)에 대한 다양한 애플리케이션, 데이터 저장, 데이터 처리 또는 호환 가능한 것과 같은 서비스를 호스트할 수 있다. 서비스 프로바이더(102)는 서비스를 제공하는 하나 이상의 데이터센터를 포함할 수 있고, 하나 이상의 서버(104) 및/또는 방화벽(firewall), 라우터(router) 등과 같은 하나 이상의 특수 목적의 장치(106)를 채택할 수 있다. 서비스를 그 고객에게 제공하기 위하여, 서비스 프로바이더(102)는 복수의 서버, 특수 목적의 장치, 물리적인 또는 가상의 데이터 저장 등을 사용할 수 있다. 따라서, 고객에 대한 서비스 프로바이더(102)에 의해 저장된 데이터 또는 호스트된 애플리케이션은 하드웨어 및 소프트웨어 컴포넌트의 복합 설계를 수반할 수 있다. 고객(호스트된 애플리케이션 또는 데이터의 소유자)에게 제공되는 서비스 레벨은 서비스 프로바이더(102)에 의해 특정 방법으로 구현될 수 있는, 서버 처리, 메모리 및 네트워킹과 같은 다수의 서비스 파라미터에 기초하여 결정될 수 있다.
클라우드 기반 서비스 프로바이더는 다른 설계를 가질 수 있고 별개의 파라미터로 유사한 서비스를 제공할 수 있다. 예컨대, 데이터 저장 용량, 처리 용량, 서버 대기 시간 및 유사한 양태는 클라우드 마다 상이할 수 있다. 또한, 서비스 파라미터는 제공되는 서비스에 따라 달라질 수 있다. 클라우드를 비교하는 부담을 줄이고 비슷한 레벨의 성능이 다른 서비스 프로바이더에 의해, 이동하는 애플리케이션으로 제공될 수 있도록, 가중된 스코어 기반 시스템이 일부 예시에 따라 채택될 수 있다.
다이어그램(100)에서, 서비스 프로바이더(102)(클라우드 1)는 소스 클라우드일 수 있고 서비스 프로바이더(112)(클라우드 2)는 이동 프로세스에서 타겟 클라우드일 수 있다. 서비스 프로바이더(102)와 유사하게, 서비스 프로바이더(112)는 또한 서비스를 제공하기 위해 하나 이상의 서버(114) 및 하나 이상의 특수 목적 장치(116)를 사용할 수 있다. 성능 레벨 결정 및 스코어링은 서비스 프로바이더(112)의 서버(114) 중 하나, 서비스 프로바이더(102)의 서버(104) 중 하나에 의해, 또는 제3 클라우드(110)의 하나 이상의 서버(118) 상에 실행되는 제3자 서비스에 의해 관리되고 실행될 수 있다.
도 2는 여기에서 설명된 적어도 일부 실시예에 따라 배열된 클라우드 컴퓨팅 환경 간의 이송 시 애플리케이션 성능을 유지하는 일 예시를 도시한다.
앞서 논의된 바와 같이, 서버 처리, 메모리 및 네트워킹과 같은 서비스 파라미터는 다른 서비스 프로바이더에 의해 폭넓은 방법으로 구현될 수 있다. 일부 예시적인 실시예에 따르면, CCAS(Cloud Computing Applicability Score) 메트릭은 고객 애플리케이션에 의해 요구되는 또는 적절한 컴퓨팅 성능 및 서비스 레벨을 제공하기 위해 클라우드 컴퓨팅 구성 상태 및 그 용량을 나타내는 정량적인 값을 제공할 수 있다. CCAS 메트릭은 애플리케이션 성능 및 유사한 서비스 레벨을 제공할 수 있는 다른 클라우드 컴퓨팅 환경의 비교를 가능하게 할 수 있다. 또한, CCAS는 임의의 클라우드 컴퓨팅 환경이 임의의 다른 선택적인 구성에 비교될 수 있도록 하는 스코어링 스케일을 제공할 수 있다. 따라서, 스코어링 스케일은 클라우드 컴퓨팅 환경 사이에서 이동할지 여부 및 타겟 서비스 프로바이더에 대하여, 유사한 성능 레벨을 보장하도록 시스템 리소스를 어떻게 할당할 지가 결정될 수 있도록 하는 도구로서 이용될 수 있다. 결정은 미리 정의된 규칙에 기초하여 자동적으로 또는 고객에 의해 수동적으로 이뤄질 수 있다.
도 2에 도시된 바와 같이, 다이어그램(200)은 일부 예시적인 실시예에 따른 이동 지원 시스템의 구현의 일 예시를 도시한다. 하나 이상의 고객 애플리케이션(226)은 하나 이상의 서버(220)에 의해 관리되는 소스 클라우드 컴퓨팅 환경(222)에서 호스트될 수 있다. 클라우드 컴퓨팅 환경(222)은 이용 가능한 실제 프로세싱 능력, 다른 데이터 저장 옵션(로컬, 원격, 고속 접근, 분산 등)의 조합, 및/또는 네트워크 능력(대역폭, 대기 시간, 가동 시간 보장 등)에 기초하여 고객 애플리케이션(226)에 대한 성능 레벨을 제공할 수 있다.
이동 모듈(migration module), 클라우드 컴퓨팅 관리 애플리케이션, 또는 유사 시스템의 일부로서 제공되는 CCAS 도구(CCAS tool)(238)는 소스 클라우드 컴퓨팅 환경(222)에 대한 개별적인 메트릭을 식별할 수 있고, 메트릭에 대한 개별적인 스코어를 연산(compute)할 수 있고, 개별적인 스코어의 가중된 조합에 기초하여 전체 스코어(CCAS)를 결정할 수 있다. 소스 클라우드 컴퓨팅 환경(222)에 대한 CCAS는 하나 이상의 서버(230)에 의해 관리되는 타겟 클라우드 컴퓨팅 환경(232)에서 예측된 성능 레벨에 대한 기준으로서 사용될 수 있다.
타겟 클라우드 컴퓨팅 환경(232)에 대한 CCAS는 타겟 클라우드 컴퓨팅 환경 또는 타겟 클라우드 컴퓨팅 환경 상에서 실행되는 실제 시뮬레이션에 의해 제공되는 특성에 기초하여 연산될 수 있다. 동일한 CCAS를 얻기 위한 타겟 시스템에서 몇 가지의 옵션을 얻을 수 있다. 시뮬레이션이 실행되면, 일반적인 테스트 케이스가 이용될 수 있거나 더욱 정확한 비교를 위해, 애플리케이션(226)의 실제 사용 조건을 에뮬레이트(emulate)하는 특정 시나리오가 타겟 클라우드 컴퓨팅 환경(232)에서 성능 레벨을 결정하는 데 이용될 수 있다(애플리케이션(236)).
따라서, 클라우드 컴퓨팅 서비스 간의 이송 시 애플리케이션 성능을 유지하는 것은 최초 서비스 프로바이더에서의 성능 레벨에 기초하는 최초의 CCAS의 연산(1) 및 타겟 서비스 프로바이더에서 (시뮬레이트되거나 예측되는) 성능 레벨에 기초하는 타겟 CCAS 옵션의 연산의 두 개의 스테이지로 시작할 수 있다. 이후, CCAS 도구(238)는 최초 및 타겟 CCAS를 비교할 수 있고 타겟 스코어가 소스 스코어(이동이 자동적으로 시작될 수 있는 것에 기초하는)에 매치하는지 또는 초과하는지를 결정할 수 있다. 일부 예시적인 실시예에서, 고객이 이동에 대한 결정을 할 수 있도록 결과가 제3자 엔티티(entity)(예컨대, 서버(228) 상에 실행되는 이동 서비스)에 의해 고객에게 제공될 수 있다.
다른 실시예에서, 타겟 CCAS에 대한 개별적인 스코어의 가중(weighting)은 하나 이상의 구성이 소스 CCAS에 매치하거나 또는 초과하는지를 식별할 때까지 조정될 수 있다. 또 다른 실시예에서, 소스 클라우드 컴퓨팅 환경(222) 및 타겟 클라우드 컴퓨팅 환경(232)은 서비스 프로바이더의 다른 사이트일 수 있고, 서비스 프로바이더는 고객 애플리케이션의 타겟 사이트로의 이동이 성능 레벨에 부정적인 영향을 가질 지를 결정하도록 CCAS 도구(238)를 실행할 수 있다.
도 3은 여기에서 설명된 적어도 일부 실시예에 따라 배열된, 클라우드 컴퓨팅 환경 간의 이송 시 애플리케이션 성능을 유지하는 다른 예시를 도시한다.
애플리케이션 성능을 유지하기 위한 시스템의 다른 구성이 다이어그램(300)에 도시된다. 하나 이상의 서버(320)에 의해 관리되는 소스 클라우드 컴퓨팅 환경(322)은 애플리케이션(326)을 호스트할 수 있다. 도 2의 다이어그램(200)에 도시된 시나리오와는 다르게, 타겟 클라우드 컴퓨팅 환경(332)에서의 서버(330)는 CCAS 도구(338)를 실행할 수 있고 소스 클라우드 컴퓨팅 환경(322)으로부터 성능 레벨 정보를 수신할 수 있다. CCAS 도구(338)는 그 후, 성능 레벨 정보(CCAS 값)를 그 자신의 클라우드(타겟 클라우드 컴퓨팅 환경(332))로부터 수신할 수 있고 소스 클라우드 컴퓨팅 환경(322)에서의 성능 레벨이 매치될 수 있는지 또는 초과될 수 있는지를 결정할 수 있다.
대신에, CCAS 도구(338)는 가중치를 조정할 수 있고 고객에게 제공될 수 있는 컴퓨팅 리소스 할당의 하나 이상의 조합을 결정할 수 있으며, 고객의 애플리케이션(336)은 적어도 동일한 레벨의 성능이 제공될 수 있도록 이동될 수 있다.
도 4는, 여기에서 설명된 적어도 일부 실시예에 따라 배열되는, 소스 및 타겟 클라우드 컴퓨팅 환경에 대하여 CCAS가 어떻게 연산될 수 있는지 및 CCAS 비교에 기초하여 결정된 이동에 대한 하나 이상의 옵션을 개념적으로 도시한다.
다이어그램(400)에 도시된 바와 같이, 이동 도구, 성능 관리 도구, 또는 유사한 엔티티는 프로세싱 능력(442), 메모리(444), 소스 클라우드(440)로부터의 네트워킹(446) 스코어를 소스 클라우드(440)로부터 수신할 수 있고 가중되는 방식으로 조합(448)되어 소스 CCAS(462)를 도출할 수 있다. 이동 경로의 다른 측에서는, 프로세싱 능력(452), 메모리(454), 네트워킹(456) 스코어가 타겟 클라우드(450)로부터 수신될 수 있고, 가중되는 방식으로 조합(458)되어 타겟 CCAS(460)를 도출할 수 있다. 소스 CCAS(462) 및 타겟 CCAS(460)는 타겟 클라우드(450)에서의 성능 레벨이 소스 클라우드(440)에서의 성능 레벨과 매치할 수 있는 지 여부를 결정하기 위해 비교(464)될 수 있다. 동일하거나 유사한 성능 레벨은 상이한 리소스 할당을 이용하여 제공될 수 있으므로, 복수의 옵션(466)이 비교 결과로부터 결정될 수 있고 고객에게 제안될 수 있다. 옵션(466)은 또한 리소스 할당이 소스 클라우드 성능 레벨을 매칭하기 위해 조정 될 수 있도록 타겟 클라우드(450)에 피드백 될 수 있다.
성능 레벨 및, 그에 따른, CCAS는 클라우드 서버 컴퓨팅 요소(cloud server computing element)-프로세싱 능력, 메모리 저장 효율 및 네트워킹-에 의해 결정될 수 있다. 프로세싱 능력 파라미터는 할당된 프로세서(컴퓨팅 시스템에서의 프로세스 코어의 여러 종류가 있음)의 타입 및 클라우드 컴퓨팅 환경 서버에 의해 특정 태스크 및/또는 애플리케이션에 할당된 시간에 의존할 수 있다. 메모리 저장 파라미터는 처리 시간 상에 상이한 타입의 메모리 요소의 영향에 초점을 둘 수 있다. 예컨대, 클라우드 컴퓨팅 환경에서 데이터 스토리지는 메인 메모리(애플리케이션을 실행하는 동안 프로세서에 의해 이용되는 DRAM의 일부), 플래시 메모리(이용 가능한 스토리지의 일부일 수 있는 빠른 이용 가능한 메모리), 로컬 스토리지(접근성이 네트워킹 성능에 의존하지 않는 애플리케이션을 실행하는 컴퓨터에 지역적으로 연결되어 있는, 비교적 큰 메모리/디스크 크기), 및 네트워크 메모리(접근성이 네트워크 성능에 직접적으로 의존하는 임의의 클라우드 서버에 위치하는, 실질적으로 무제한인 용량의 메모리/디스크)를 포함할 수 있다. 네트워킹 파라미터는 메모리 스토리지에 저장되는 데이터 및 클라우드 컴퓨팅 환경의 처리 수단 사이의 연결로서 정의될 수 있다. 네트워킹 파라미터는 응답 시간의 관점에서 클라우드 컴퓨팅 성능과 관련될 수 있다.
전반적인 메트릭, CCAS는 애플리케이션 성능에의 효과에 따라 가중 요소 각각에 대한 할당하는 것 및 각각의 클라우드 컴퓨팅 요소(이 용어에 대해서는 정의되지 않았음)에 대한 스코어링 스케일을 제공하는 것에 기초하여 정의될 수 있다. 프로세싱 능력 파라미터(PR)는 애플리케이션에 의해 이용되는 실제 프로세싱 능력(APP)으로서 정의될 수 있으며, 이는 이용 가능한 프로세싱 능력(PP)의 일부이고, 시스템의 프로세싱 능력과 곱해진다. 이 파라미터는 사용 % 및 이용되는 PP에 의해 다음과 같이 정의될 수 있다.
Figure 112014068795914-pct00001
여기서, i는 특정 타임슬롯(timeslot)을 지칭한다.
최초 클라우드 컴퓨팅 환경의 서버는 이용되는 처리의 유형(시스템이 이종 아키텍처(heterogeneous architecture)를 가질 수 있으므로 단지 서버가 아닌, 프로세스가 실행하는 실제의 CPU), 스케줄러 우선 순위(scheduler priority), 및 얼마나 많은 태스크가 동시에 실행되는지를 보고할 수 있다. 이는 프로세싱 능력(PP)을 계산하는데 이용될 수 있다. 보고는 매 수초마다 생성될 수 있고, 따라서 평균과 최대 둘다 연산될 수 있다.
다른 CPU는 다른 타임슬롯(i)에서 이용될 수 있다. PP는 MIPS (million instructions per second) 또는 미리 정의된 벤치 마크 보고에서 측정될 수 있다. 이종 멀티-코어 아키텍처에서, 다른 유형의 코어가 있을 수 있고, 또한 특정한 가속 하드웨어(acceleration hardware)가 있을 수 있다. 가속 하드웨어가 사용되면, 그에 대응하는 MIPS가 보고될 수 있다. 상기 파라미터는 운영 체제에 의해 CCAS 도구로 보고될 수 있다.
다른 예시적인 실시예에서, 스코어링 파라미터(PR)는 기존의 프로세싱 리소스에 대하여 걸리는 시간을 측정하여 벤치마크 태스크를 그러한 벤치마크 태스크에 대하여 알려질 수 있는 표준 시간(standard time)에 수행함으로써, 결정될 수 있다. 이 옵션에 대하여, PP가 표준 시간으로 정의될 수 있으며 APP가 기존 클라우드 컴퓨팅 환경 프로세싱 리소스에 의해 태스크를 실행하기 위하여 보내는 실제 시간으로 정의될 수 있다.
메모리 스토리지 파라미터(MR)는 각각의 메모리 타입에 대한 파라미터의 리스트로서 정의될 수 있다. 각각의 파라미터는 모든 메모리 타입(MT)에 대해 할당되는 메모리의 총량으로부터 특정한 타입(예컨대, 메인 메모리(MM), 플래시 메모리(FM), 로컬 메모리(LM), 및 네트워크 메모리(NM))의 메모리의 퍼센트 양으로서 정의될 수 있다.
Figure 112014068795914-pct00002
메모리 파라미터는 메모리 할당 분배를 제공할 수 있다. 그러나, 요구되는 메모리 분배는 다른 애플리케이션에 대해서 다를 수 있다. 예컨대, 큰 사이즈의 데이터 베이스를 관리하는 애플리케이션은 큰 로컬 메모리에 이점이 있을 수 있지만, 최적의 딜리버리 루트(delivery root)를 제공하는 애플리케이션은 더 큰 메인 메모리를 선호할 수 있다. 파라미터가, 실제의 메모리 분배가 어떻게 애플리케이션에 대해 더욱 이익일 수 있는 메모리 분배에 맞추어 조정하는 지를 나타낼 수 있도록, 추가적인 연산이 수행될 수 있다. 메모리 분배 평균이 계산될 수 있고, 여기서 각 타입의 메모리는 그 가중치(Mw(a))를 가질 수 있다. 각 메모리 타입에 대한 가중치는 애플리케이션에 따라 미리 결정될 수 있다. 예컨대, 보다 빠른 메모리는 보다 높은 가중을 가질 수 있다.
Figure 112014068795914-pct00003
네트워킹 성능은 내부 및 외부 네트워킹 구성으로 분할될 수 있다. 내부 네트워킹은 클라우드 컴퓨팅 서비스 프로바이더의 물리적인 및 가상의 기반 구조 내에 컴퓨팅 요소의 네트워킹과 관련될 수 있다. 외부 네트워킹은 고객을 클라우드 컴퓨팅 서비스 프로바이더의 물리적인 기반시설에 연결하는 네트워킹 물리적 기반시설에 관련될 수 있다.
내부 네트워킹 파라미터(INR)는 실제 평균 네트워트 대역폭(ANBW) 및 클라우드 컴퓨팅 서비스 프로바이더에 의해 특정한 서비스로 할당되는 최대 대역폭의 퍼센트의 비율로서 정의될 수 있다.
Figure 112014068795914-pct00004
외부 네트워킹 파라미터(ENR)는 실제의 네트워크 응답 시간(ART) 및 같은 애플리케이션에 대해 기대되는 표준 응답 시간(RTS(a))의 퍼센트의 비율로서 정의될 수 있다.
Figure 112014068795914-pct00005
일부 예시적인 실시예에서, 가중치 레벨(Nwi, Nwe)은, 특정한 애플리케이션에 따라, 내부 네트워킹 능력 및 외부 네트워킹 능력에 대해 각각 제공될 수 있다. 네트워킹 파라미터 값은 각각의 값의 가중된 평균으로서 계산될 수 있다.
Figure 112014068795914-pct00006
전체 스코어 CCAS는 수학식 1 내지 수학식 6에 기술된 파라미터의 평균값으로서 산출될 수 있다.
Figure 112014068795914-pct00007
일부 예시적인 실시예에서, 추가적인 파라미터(LR)는 클라우드 컴퓨팅 환경의 신뢰도 스코어(reliability score)를 나타내는데 이용될 수 있다. LR은 특정한 애플리케이션에 의존하지 않을 수 있는 반면, 다른 파라미터는 특정한 애플리케이션에 의존할 수 있다.
앞서 논의된 바와 같이, 각 파라미터의 관련성은 다른 애플리케이션에 대해서는 다를 수 있다. 예컨대, 큰 사이즈의 데이터 베이스를 관리하는 애플리케이션은 아마도 메모리 성능 파라미터를 다른 파라미터보다 더 중요한 것으로서 고려할 수 있는 반면, 많은 클라이언트가 동시에 동작하도록 하는 애플리케이션은 네트워크 성능을 가장 중요한 파라미터로서 선호할 수 있다.
특정한 클라이언트 요구 사항에 따라 파라미터에 반영하기 위해, CCAS는 각 파라미터의 가중치(Rw(a))를 고려하여 산출될 수 있는 상기 나열된 평균을 이용하여 연산될 수 있다. 각 파라미터 타입에 대한 가중치는 애플리케이션을 따라 미리 결정될 수 있다.
Figure 112014068795914-pct00008
예시적인 실시예가 성능 레벨을 비교하고 결정하는데 프로세싱 능력, 데이터 스토리지(메모리), 및 네트워킹 파라미터를 이용하여 기술되었지만, 실시예는 이에 제한되지 않는다. 예시적인 구현예는 서버 대기 시간, 저장 용량 또는 할당량, 확장성 요소, 백업 보장, 가동 시간 보장, 리소스 사용 보고, 자동 병렬화(automatic parallelization) 등을 사용하여 클라우드 컴퓨팅 적용 가능성 스코어를 여기에서 설명된 원리를 이용하여 결정할 수 있다.
도 5는 클라우드 컴퓨팅 환경 간의 이송 시 애플리케이션 성능을 유지하는 예시에 이용될 수 있는 범용 컴퓨팅 장치(500)을 도시한다. 예컨대, 컴퓨팅 장치(500)는 도 1의 서버(104, 114, 또는 118)로서 이용될 수 있다. 기본 구성(502)의 예에서, 컴퓨팅 장치(500)는 하나 이상의 프로세서(504) 및 시스템 메모리(506)를 포함할 수 있다. 메모리 버스(508)는 프로세서(504) 및 시스템 메모리(506) 사이의 통신을 위해 이용될 수 있다. 기본 구성(502)은 내부 파선 안의 컴포넌트들에 의해 도 5에 도시된다.
요구되는 구성에 따라, 프로세서(504)는 마이크로프로세서(μP), 마이크로컨트롤러(μC), 디지털 신호 프로세서(DSP) 또는 그 임의의 조합을 포함하는 임의의 유형일 수 있지만, 이에 한정되는 것은 아니다. 프로세서(504)는 레벨 캐시 메모리(512)와 같은 하나 이상의 레벨의 캐싱, 프로세서 코어(514) 및 레지스터(516)를 포함할 수 있다. 예시적인 프로세서 코어(514)는 ALU(arithmetic logic unit), FPU(floating point unit), DSP 코어(digital signal processing core), 또는 그 임의의 조합을 포함할 수 있다. 예시적인 메모리 컨트롤러(518)는 또한 프로세서(504)와 사용될 수 있거나, 또는 몇몇 구현예에서, 메모리 컨트롤러(518)는 프로세서(504)의 내부 부품일 수 있다.
요구되는 구성에 따라, 시스템 메모리(506)는 (RAM과 같은) 휘발성 메모리, (ROM, 플래시 메모리 등과 같은) 비휘발성 메모리, 또는 그 임의의 조합을 포함할 수 있지만, 이에 한정되지 않는 임의의 유형일 수 있다. 시스템 메모리(506)는 운영 체제(520), 하나 이상의 애플리케이션(522), 및 프로그램 데이터(524)를 포함할 수 있다. 애플리케이션(522)은 이동 모듈(526)을 포함하는 클라우드 관리 애플리케이션을 포함할 수 있고, 여기에서 설명된 소스 및 타겟 클라우드에서 애플리케이션을 이동하는 것에 대한, 전체 스코어뿐만 아니라, 개별적인 성능 레벨에 대한 가중된 스코어를 결정할 수 있다. 프로그램 데이터(524)는 다른 데이터 간에, 여기에서 설명된 성능 데이터(528) 등을 포함할 수 있다.
컴퓨팅 장치(500)는 추가적인 특징 또는 기능, 및 기본 구성(502)과 임의의 요구되는 장치와 인터페이스 간 통신을 용이하게 하기 위한 추가적인 인터페이스를 가질 수 있다. 예를 들면, 버스/인터페이스 컨트롤러(530)는 저장 인터페이스 버스(534)를 통한 기본 구성(502)과 하나 이상의 데이터 저장 장치(532) 간의 통신을 용이하게 하는데 사용될 수 있다. 데이터 저장 장치(532)는 분리형 저장 장치(536), 비분리형 저장 장치(538), 또는 그들의 조합일 수 있다. 분리형 저장 장치 및 비분리형 저장 장치의 예로는, 몇 가지 말하자면, 플렉서블 디스크 드라이브 및 하드 디스크 드라이브(HDD)와 같은 자기 디스크 장치, 컴팩트 디스크(CD) 드라이브 또는 디지털 다기능 디스크(DVD) 드라이브와 같은 광 디스크 드라이브, 고체 상태 드라이브(solid state drive; SSD), 및 테이프 드라이브가 포함된다. 예시적인 컴퓨터 저장 매체는, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성의, 분리형 및 비분리형 매체를 포함할 수 있다.
시스템 메모리(506), 분리형 저장 장치(536) 및 비분리형 저장 장치(538)는 모두 컴퓨터 저장 매체의 예이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD), SSD(solid state drive), 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨팅 장치(500)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 한정되는 것은 아니다. 그러한 임의의 컴퓨터 저장 매체는 장치(500)의 일부일 수 있다.
컴퓨팅 장치(500)는 버스/인터페이스 컨트롤러(530)를 통한 다양한 인터페이스 장치(예컨대, 하나 이상의 출력 장치(542), 하나 이상의 주변 인터페이스(544), 및 하나 이상의 통신 장치(566))로부터 기본 구성(502)으로의 통신을 용이하게 하기 위한 인터페이스 버스(540)도 포함할 수 있다. 예시적인 출력 장치(542)의 일부는 그래픽 처리 유닛(548) 및 오디오 처리 유닛(550)을 포함하며, 이는 하나 이상의 A/V 포트(552)를 통해 디스플레이 또는 스피커와 같은 다양한 외부 장치로 통신하도록 구성될 수 있다. 하나 이상의 예시적인 주변 인터페이스(544)는 직렬 인터페이스 컨트롤러(554) 또는 병렬 인터페이스 컨트롤러(556)를 포함하며, 이는 하나 이상의 I/O 포트(558)를 통해 입력 장치(예를 들면, 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등) 또는 다른 주변 장치(예를 들면, 프린터, 스캐너 등)와 같은 외부 장치와 통신하도록 구성될 수 있다. 예시적인 통신 장치(566)는 네트워크 컨트롤러(560)를 포함하며, 이는 하나 이상의 통신 포트(564)를 통해 네트워크 통신 상에서의 하나 이상의 다른 컴퓨팅 장치(562)와의 통신을 용이하게 하도록 배치될 수 있다. 하나 이상의 다른 컴퓨팅 장치(562)는 데이터 센터에서의 서버, 고객 장치(customer equipment), 및 유사한 장치를 포함할 수 있다.
네트워크 통신 링크는 통신 매체의 일 예시일 수 있다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 다른 전송 메커니즘 같은 변조된 데이터 신호 내의 다른 데이터에 의해 구현될 수 있고, 임의의 정보 전달 매체를 포함할 수 있다. "변조된 데이터 신호"는 신호 내에 정보를 인코딩하기 위한 방식으로 설정되거나 변경된 특성 중 하나 이상을 갖는 신호일 수 있다. 제한적인지 않은 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음파, 무선 주파수(RF), 마이크로웨이브, 적외선(IR) 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있다. 여기서 사용되는 컴퓨터 판독가능 매체라는 용어는 저장 매체 및 통신 매체 둘 다를 포함할 수 있다.
컴퓨팅 장치(500)는 범용의 또는 특수한 서버, 메인 프레임(mainframe), 또는 위 기능 중 임의의 것을 포함하는 유사한 컴퓨터의 일부로서 구현될 수 있다. 컴퓨팅 장치(500)는 또한 랩톱 컴퓨터 및 랩톱이 아닌 컴퓨터 구성을 모두 포함하는 개인용 컴퓨터로서 구현될 수 있다.
실시예는 또한 클라우드 서버 간의 이송 시 애플리케이션 성능을 유지하는 것에 대한 방법을 포함할 수 있다. 이러한 방법은 여기에서 설명된 구조를 포함하는 다양한 방법으로 구현될 수 있다. 이러한 방법은 본 개시에서 설명된 타입의 장치의 기계 동작에 의한 것일 수 있다. 다른 선택적인 방법은 다른 동작이 기계에 의해 실행되는 한편, 동작의 일부를 수행하는 하나 이상의 인간 오퍼레이터와 함께 실행되는 방법의 개별적인 동작의 하나 이상에 대한 것이다. 이러한 인간 오퍼레이터는 서로 함께 있을 필요가 없고, 단지 프로그램의 일부를 수행하는 기계와 있을 수 있다. 다른 예시에서, 인간 상호 작용이 자동화된 기계에 의해 미리 선택된 기준에 의해서와 같이 자동화될 수 있다.
도 6은 여기에서 설명된 적어도 일부 실시예에 따라 배열된 도 5의 장치(500)와 같은 컴퓨팅 장치에 의해 실행될 수 있는 예시적인 방법을 도시하는 흐름도이다. 예시적인 방법은 블록(622, 624, 626, 628, 및/또는 630) 중 하나 이상에 의해 도시된 바와 같은 하나 이상의 동작, 작용 또는 기능을 포함할 수 있다. 블록(622)부터 블록(630)까지 설명된 동작은 또한 컴퓨팅 장치(610)의 컴퓨터 판독 가능 매체(620)와 같은 컴퓨터-판독 가능 매체에서 컴퓨터-실행 가능 명령어로서 저장될 수 있다.
클라우드 서버 간의 이송 시 애플리케이션 성능을 유지하는 것에 대한 예시적인 프로세스는 블록(622), "개별적인 파라미터에 기초하여 현재의 CCAS를 연산"에서 시작할 수 있고, 여기서 소스 클라우드 서버(예컨대, 도 1의 서버(104))상에 실행되는 이동 모듈 또는 애플리케이션(예컨대, 도 5의 이동 모듈(526)), 타겟 클라우드 서버(예컨대, 도 1의 서버(114)), 또는 제3 자 서버(예컨대, 도 1의 서버(118))는 소스 클라우드 기반의 서비스 프로바이더에서 애플리케이션에 대한 클라우드 컴퓨팅 적용 가능성 스코어를 연산할 수 있다. 스코어는 우선 프로세싱 능력, 저장 용량(또는 메모리), 및 네트워크 용량(예컨대, 대역폭)과 같은 성능 파라미터를 인식하고, 이러한 파라미터에 대한 개별적인 스코어를 결정하고, 시스템 성능 상에서의 그들의 영향에 기초하여 개별적인 파라미터에 가중치를 부여하고, 및 가중된 스코어를 소스 서비스 프로바이더에 대한 전반적인 스코어로 조합함으로써 결정될 수 있다.
블록(622)은 "타겟 클라우드 컴퓨팅 환경에 대한 CCAS를 연산"하는 블록(624)으로 이어질 수 있고, 여기서 이동 모듈(526)은 블록(624)에서 실행된 연산과 유사하게 하나 이상의 타겟 서비스 프로바이더에 대한 개별 및 전체 스코어를 결정할 수 있다. 블록(624)은 "CCAS 연산에 대한 가중치를 조정"하는 선택적인 블록(626)으로 이어질 수 있고, 여기서 가중치는 여기에서 논의된 소스 서비스 프로바이더에서의 현재 성능 레벨에 매치하거나 또는 초과하는 타겟 서비스 프로바이더의 하나 이상의 전반적인 스코어 연산에서 조정될 수 있다.
선택적인 블록(626)은 "CCAS 비교 결과에 기초하여 타겟 클라우드 컴퓨팅 환경을 결정"하는 블록(628)으로 이어질 수 있고, 여기서 이동 모듈(526)은 애플리케이션을 이동하는 것에 대한 하나 이상의 적절한 타겟 서비스 프로바이더를 결정 할 수 있고, 고객이 복수의 타겟 서비스 프로바이더 또는 서비스 패키지 중에 선택하도록 할 수 있다. 다른 실시예에서, 프로세스는 단일의 타겟 서비스 프로바이더에서 서비스 파라미터의 최적의 합성을 결정하거나, 하나의 서비스 프로바이더 내에 site-to-site 이송에 대한 성능 레벨 매칭을 확인할 수 있다. 블록(628) "이동을 수행"하는 선택적인 블록(630)으로 이어질 수 있고, 여기서 이동은, 여기에서 논의된 바와 같은 CCAS를 이용하여 이루어진 결정에 기초하여 사이트 또는 타겟 서비스 프로바이더로 수행될 수 있다.
상기 설명된 프로세스에 포함되는 블록은 도시 목적을 위한 것이다. 클라우드 서버 간의 이송 시 애플리케이션 성능을 유지하는 것은 더 적거나 추가적인 블록을 가진 유사한 프로세스에 의해 수행될 수 있다. 일부 예시에서, 블록은 다른 순서로 실행될 수 있다. 일부 다른 예시에서, 다양한 블록이 제거될 수 있다. 또 다른 예시에서, 다양한 블록이 추가적인 블록으로 분할될 수 있거나, 더 적은 블록으로 조합될 수 있다.
도 7은 여기에서 설명된 적어도 일부 실시예에 따라 배열된 예시적인 컴퓨터 프로그램 제품의 블록도를 도시한다.
일부 예시에서, 도 7에 도시된 바와 같이, 컴퓨터 프로그램 제품(700)은, 예컨대, 프로세서에 의해 실행되면, 여기에서 설명된 기능을 제공할 수 있는 하나 이상의 기계 판독 가능한 명령어(704)를 포함할 수 있는 신호 베어링 매체(702)를 포함할 수 있다. 따라서, 예컨대, 도 5의 프로세서(504)를 참조하여, 여기에서 설명된 클라우드 서버 간의 이송 시 애플리케이션 성능을 유지하는 것과 연관되는 동작을 수행하도록 매체(702)에 의해 프로세서(504)로 전달되는 명령어(704)에 응답하여 이동 모듈(526)은 도 7에 도시된 태스크 중 하나 이상을 착수할 수 있다. 이들 명령어의 일부는, 예컨대, 개별적인 파라미터에 기초하여 현재 CCAS를 연산하고, 타켓 클라우드 컴퓨팅 환경에 대한 CCAS를 연산하고, CCAS 연산에 대한 가중치를 조정하고, 여기에서 설명된 일부 실시예에 따른 CCAS 비교 결과에 기초하여 타겟 클라우드 컴퓨팅 환경을 결정하기 위한 명령어를 포함할 수 있다.
일부 구현예에서, 도 7에 도시된 신호 베어링 매체(702)는 하드 디스크 드라이브, 고체 상태 드라이브, CD(Compact Disk), DVD(Digital Video Disk), 디지털 테이프, 메모리 등과 같은 컴퓨터 판독 가능 매체(706)를 포함할 수 있으나, 이에 제한되지는 않는다. 일부 구현예에서, 신호 베어링 매체(702)는 메모리, 읽기/쓰기(R/W) CD, R/W DVD 등과 같은 기록 가능 매체(708)를 포함할 수 있으나, 이에 제한되지는 않는다. 일부 구현예에서, 신호 베어링 매체(702)는 디지털 및/또는 아날로그 통신 매체(예컨대, 섬유 광학 케이블, 웨이브가이드(waveguide), 유선 통신 링크, 무선 통신 링크 등)와 같은 통신 매체(710)를 포함할 수 있으나, 이에 제한되지는 않는다. 따라서, 예컨대, 프로그램 제품(700)은, 신호 베어링 매체(702)가 무선 통신 매체(710)(예컨대, IEEE 802.11 표준에 따르는 무선 통신 매체)에 의해 전달되는 RF 신호 베어링 매체에 의하여 프로세서(704)의 하나 이상의 모듈로 전달될 수 있다.
일부 예시에 따르면, 클라우드 컴퓨팅 환경 간의 이송 시 애플리케이션 성능을 유지하는 것에 대한 방법은 소스 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관되는 복수의 성능 메트릭을 결정하는 단계; 소스 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관되는 성능 메트릭에 기초하여 복수의 성능 파라미터를 연산하는 단계; 가중되는 방식으로 소스 CCAS에 복수의 성능 파라미터를 조합하는 단계; 및 소스 CCAS에 기초하여 고객 애플리케이션에 대한 타겟 클라우드 컴퓨팅 환경을 조정하는 단계를 포함할 수 있다.
다른 실시예에 따르면, 성능 메트릭은 프로세싱 능력 메트릭, 메모리 메트릭, 및 네트워킹 메트릭을 포함할 수 있고, 방법은 이용 가능한 프로세싱 능력의 일부로써 고객 애플리케이션에 의해 소비된 실제의 프로세싱 능력에 기초하여 프로세싱 능력 메트릭을 연산하는 단계를 포함할 수 있다. 프로세싱 능력 메트릭은 또한 동시에 실행되고 있는 많은 태스크, 스케줄러 우선 순위 및 처리 타입의 하나 이상에 기초할 수 있다. 프로세싱 능력 메트릭은 미리 정의된 기간에 걸쳐 평균낼 수 있다. 방법은 또한 고객 애플리케이션에 대한 할당된 메모리 타입의 가중된 조합에 기초하여 메모리 메트릭을 포함할 수 있고, 여기서 메모리 타입은, 메인 메모리, 플래시 메모리, 로컬 메모리, 및 네트워크 메모리 중 하나 이상을 포함한다.
추가 예시에 따르면, 할당된 메모리 타입은 미리 정의된 기간에 걸쳐 평균낸 소스 클라우드 컴퓨팅 환경에서 실제 할당량을 나타낼 수 있다. 빠른 메모리 타입은 더 느린 메모리 타입과 비교하여 더 높은 가중치가 부여될 수 있다. 네트워킹 메트릭은 소스 클라우드 컴퓨팅 환경 내에 할당된 네트워크 대역과 소비된 네트워트 대역의 비에 기초하는 내부 네트워킹 메트릭 및 고객과 소스 클라우드 컴퓨팅 환경의 서비스 프로바이더 간의 통신에 대하여 표준 예측 네트워크 응답 시간과 실제의 네트워크 응답 시간의 비에 기초하는 외부 네트워킹 메트릭을 포함할 수 있다. 내부 네트워킹 메트릭 및 외부 네트워킹 메트릭은 가중되는 방식으로 조합될 수 있고 미리 정의된 기간에 걸쳐 평균낼 수 있다.
또 다른 예시에 따르면, 타겟 클라우드 컴퓨팅 환경을 선택하는 단계는 타겟 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관되는 복수의 성능 메트릭을 결정하는 단계, 타겟 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관되는 성능 메트릭에 기초하여 복수의 성능 파라미터를 연산하는 단계, 가중되는 방식으로 타겟 CCAS에 복수의 성능 파라미터를 조합하는 단계, 및 타겟 CCAS및 소스 CCAS를 비교하는 단계를 포함할 수 있다. 타겟 클라우드 컴퓨팅 환경에서의 성능 메트릭은 시뮬레이션에 기초하여 결정될 수 있고 소스 및 타겟 클라우드 컴퓨팅 환경에서의 성능 파라미터는 또한 각 환경에 연관되는 신뢰도 요소를 나타내는 신뢰도 파라미터를 포함할 수 있다.
또 추가적인 예시에 따르면, 타겟 클라우드 컴퓨팅 환경에서의 성능 메트릭은 타겟 클라우드 컴퓨팅 환경에서의 고객이 원하는 성능에 기초하여 가중될 수 있다. 방법은 또한 타겟 클라우드 컴퓨팅 환경에서의 성능을 확인하기 위해 고객 애플리케이션의 타겟 클라우드 컴퓨팅 환경으로의 이동을 따르는 타겟 CCAS를 연산하는 단계를 포함할 수 있다. 방법은 또한 복수의 타겟 클라우드 컴퓨팅 환경에 대한 타겟 CCAS를 연산하는 단계, 고객에게 복수의 지원자 클라우드 컴퓨팅 환경 제안을 제공하는 단계, 구별되는 가중 요소에 기초하여 복수의 타겟 클라우드 컴퓨팅 환경 구성에 대한 타겟 CCAS를 연산하는 단계, 및 고객에게 복수의 타겟 클라우드 컴퓨팅 환경 패키지 제안을 제공하는 단계를 더 포함할 수 있다. 성능 메트릭은 복수의 고객 애플리케이션에 대해 결정될 수 있고 가중은 개별적인 고객 애플리케이션에 기초하여 결정될 수 있다. 방법은 성능 파라미터를 정규화하는 단계를 포함할 수 있고, 여기서 성능 파라미터는 퍼센트로서 정규화된다.
다른 예시에 따르면, 클라우드 컴퓨팅 환경 간의 이송 시 애플리케이션 성능을 유지하는 것에 대한 컴퓨팅 장치는 명령어를 저장하도록 구성된 메모리와 명령어를 따라 이동 모듈을 실행하도록 구성된 처리 유닛을 포함할 수 있다. 이동 모듈은 소스 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관된 복수의 성능 메트릭에 기초하여 복수의 성능 파라미터를 결정할 수 있고, 소스 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관된 성능 메트릭에 기초하여 복수의 성능 파라미터를 연산할 수 있고, 가중되는 방식으로 소스 CCAS(Cloud Computing Applicability Score)와 복수의 성능 파라미터를 조합할 수 있고, 소스 CCAS에 기초하여 고객 애플리케이션에 대한 타겟 클라우드 컴퓨팅 환경을 조정할 수 있다.
다른 일부 예시에 따르면, 성능 메트릭은 프로세싱 능력 메트릭, 메모리 메트릭, 및 네트워킹 메트릭을 포함할 수 있다. 이동 모듈은 또한 이용 가능한 프로세싱 능력의 일부로서 고객 애플리케이션에 의해 소비되는 실제의 프로세싱 능력에 기초하여 프로세싱 능력 메트릭을 연산할 수 있다. 프로세싱 능력 메트릭은 또한 동시에 실행되고 있는 많은 태스크, 스케줄러 우선 순위 및 처리의 종류 중 하나 이상에 기초할 수 있다. 프로세싱 능력 메트릭은 미리 정의된 기간에 걸쳐 평균낼 수 있다. 이동 모듈은 또한 고객 애플리케이션에 대한 할당된 메모리 타입의 가중된 조합에 기초하는 메모리 메트릭을 연산할 수 있고, 여기서 메모리 타입은, 메인 메모리, 플래시 메모리, 로컬 메모리, 및 네트워크 메모리 중 하나 이상을 포함할 수 있다. 할당된 메모리 타입은 미리 정의된 기간에 걸쳐 평균낸 소스 클라우드 컴퓨팅 환경에서의 실제 할당량을 나타낼 수 있고, 여기서 더 빠른 메모리 타입은 더 느린 메모리 타입과 비교하여 더 높은 가중치가 부여될 수 있다.
다른 예시에 따르면, 네트워킹 메트릭은 소스 클라우드 컴퓨팅 환경 내에 할당된 네트워크 광대역과 소비된 네트워트 광대역의 비에 기초하는 내부 네트워킹 메트릭 및 고객과 소스 클라우드 컴퓨팅 환경의 서비스 프로바이더 간의 통신에 대한 예측되는 표준 네트워크 응답 시간과 실제의 네트워크 응답 시간의 비에 기초하는 외부 네트워킹 메트릭을 포함할 수 있다. 내부 네트워킹 메트릭 및 외부 네트워킹 메트릭은 가중되는 방식으로 조합될 수 있고 미리 정의된 기간에 걸쳐 평균낼 수 있다. 이동 모듈은 타겟 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관된 복수의 성능 메트릭을 결정하고, 타겟 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관된 성능 메트릭에 기초하여 복수의 성능 파라미터를 연산하고, 가중되는 방식으로 타겟 CCAS와 복수의 성능 파라미터를 조합하고, 타겟 CCAS 및 소스 CCAS를 비교함으로써, 타겟 클라우드 컴퓨팅 환경을 선택할 수 있다.
다른 예시에 따르면, 타겟 클라우드 컴퓨팅 환경에서의 성능 메트릭은 시뮬레이션에 기초하여 결정될 수 있다. 소스 및 타겟 클라우드 컴퓨팅 환경에서의 성능 파라미터는 또한 각 환경에 연관되는 신뢰도 요소를 나타내는 신뢰도 파라미터를 포함할 수 있다. 타겟 클라우드 컴퓨팅 환경에서의 성능 파라미터는 타겟 클라우드 컴퓨팅 환경에서의 고객이 원하는 성능에 기초하여 가중될 수 있다. 이동 모듈은 또한 타겟 클라우드 컴퓨팅 환경에서의 성능을 확인하기 위해 고객 애플리케이션의 타겟 클라우드 컴퓨팅 환경으로의 이동을 따르는 타겟 CCAS 연산하는 단계를 포함할 수 있다.
다른 예시에 따르면, 이동 모듈은 복수의 타겟 클라우드 컴퓨팅 환경에 대한 타겟 CCAS를 연산하고, 복수의 지원자 클라우드 컴퓨팅 환경 제안을 제공할 수 있다. 이동 모듈은 또한 구별되는 가중 요소에 기초하여 복수의 타겟 클라우드 컴퓨팅 환경 구성에 대한 타겟 CCAS를 연산하고 고객에게 복수의 타겟 클라우드 컴퓨팅 환경 패키지 제안을 제공할 수 있다. 성능 메트릭은 복수의 고객 애플리케이션에 대해 결정될 수 있고 가중은 개별적인 고객 애플리케이션에 기초하여 결정될 수 있다. 이동 모듈은 또한 성능 파라미터를 정규화할 수 있고, 여기서 성능 파라미터는 퍼센트로서 정규화된다.
다른 예시에 따르면, 컴퓨터 판독 가능한 기억 매체는 클라우드 컴퓨팅 환경 간의 이송 시, 애플리케이션 성능을 유지하는 것에 대한, 컴퓨터 판독 가능한 매체에 저장된, 명령어를 가질 수 있다. 명령어는 소스 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관되는 복수의 성능 메트릭을 결정하는 단계, 소스 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관되는 성능 메트릭에 기초하여 복수의 성능 파라미터를 연산하는 단계, 가중되는 방식으로 소스 CCAS에 복수의 성능 파라미터를 조합하는 단계, 및 소스 CCAS에 기초하여 고객 애플리케이션에 대한 타겟 클라우드 컴퓨팅 환경을 조정하는 단계를 포함할 수 있다.
다른 예시에 따르면, 성능 메트릭은 프로세싱 능력 메트릭, 메모리 메트릭, 및 네트워킹 메트릭을 포함할 수 있고, 명령어는 이용 가능한 프로세싱 능력의 일부로써 고객 애플리케이션에 의해 소비되는 실제의 프로세싱 능력에 기초하여 프로세싱 능력 메트릭을 연산하는 단계를 포함할 수 있다. 프로세싱 능력 메트릭은 또한 동시에 실행되고 있는 많은 태스크, 스케줄러 우선 순위 및 처리의 종류의 하나 이상에 기초할 수 있다. 프로세싱 능력 메트릭은 미리 정의된 기간에 걸쳐 평균낼 수 있다. 명령어는 또한 고객 애플리케이션에 대한 할당된 메모리 타입의 가중된 조합에 기초하여 메모리 메트릭을 연산하는 단계를 포함할 수 있고, 여기서 메모리 타입은, 메인 메모리, 플래시 메모리, 로컬 메모리, 및 네트워크 메모리 중 하나 이상을 포함한다.
추가 예시에 따르면, 할당된 메모리 타입은 미리 정의된 기간에 걸쳐 평균낸 소스 클라우드 컴퓨팅 환경에서의 실제 할당량을 나타낼 수 있다. 빠른 메모리 타입은 더 느린 메모리 타입과 비교하여 더 높은 가중치가 부여될 수 있다. 네트워킹 메트릭은 소스 클라우드 컴퓨팅 환경 내에 할당된 네트워크 광대역과 소비되는 네트워크 광대역의 비에 기초하는 내부 네트워킹 메트릭 및 고객과 소스 클라우드 컴퓨팅 환경의 서비스 프로바이더 간의 통신에 대한 예측되는 표준 네트워크 응답 시간과 실제의 네트워크 응답 시간의 비에 기초하는 외부 네트워킹 메트릭를 포함할 수 있다. 내부 네트워킹 메트릭 및 외부 네트워킹 메트릭은 가중되는 방식으로 조합될 수 있고 미리 정의된 기간에 걸쳐 평균낼 수 있다.
다른 예시에 따르면, 타겟 클라우드 컴퓨팅 환경을 선택하는 단계는 타겟 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관되는 복수의 성능 메트릭을 결정하는 단계, 타겟 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관되는 성능 메트릭에 기초하여 복수의 성능 파라미터를 연산하는 단계, 가중되는 방식으로 타겟 CCAS에 복수의 성능 파라미터를 조합하는 단계, 및 타겟 CCAS 및 소스 CCAS를 비교하는 단계를 포함할 수 있다. 타겟 클라우드 컴퓨팅 환경에서의 성능 메트릭은 시뮬레이션에 기초하여 결정될 수 있고 소스 및 타겟 클라우드 컴퓨팅 환경에서의 성능 파라미터는 또한 각 환경에 연관되는 신뢰도 요소를 나타내는 신뢰도 파라미터를 포함할 수 있다.
또 다른 예시에 따르면, 타겟 클라우드 컴퓨팅 환경에서의 성능 메트릭은 타겟 클라우드 컴퓨팅 환경에서의 고객이 원하는 성능에 기초하여 가중될 수 있다. 명령어는 또한 타겟 클라우드 컴퓨팅 환경에서의 성능을 확인하기 위해 고객 애플리케이션의 타겟 클라우드 컴퓨팅 환경으로의 이동을 따르는 타겟 CCAS 연산하는 단계를 포함할 수 있다. 명령어는 또한 복수의 타겟 클라우드 컴퓨팅 환경에 대한 타겟 CCAS를 연산하는 단계, 고객에게 복수의 지원자 클라우드 컴퓨팅 환경 제안을 제공하는 단계, 구별되는 가중 요소에 기초하여 복수의 타겟 클라우드 컴퓨팅 환경 구성에 대한 타겟 CCAS를 연산하는 단계, 및 고객에게 복수의 타겟 클라우드 컴퓨팅 환경 패키지 제안을 제공하는 단계를 포함할 수 있다. 성능 메트릭은 복수의 고객 애플리케이션에 대해 결정될 수 있고 가중은 개별적인 고객 애플리케이션에 기초하여 결정될 수 있다. 명령어는 성능 파라미터를 정규화하는 단계를 포함할 수 있고, 여기서 성능 파라미터는 퍼센트로서 정규화된다.
시스템 양상들의 하드웨어와 소프트웨어 구현 사이에는 구별이 거의 없다. 하드웨어 또는 소프트웨어의 사용은 일반적으로 (그러나 어떤 맥락에서 하드웨어 및 소프트웨어 사이의 선택이 중요하게 될 수 있다는 점에서 항상 그런 것은 아니지만) 비용 대비 효율의 트레이드오프(tradeoff)를 나타내는 설계상 선택(design choice)이다. 여기에서 기술된 프로세스 및/또는 시스템 및/또는 다른 기술들이 영향 받을 수 있는 다양한 수단(vehicles)(예를 들어, 하드웨어, 소프트웨어 및/또는 펌웨어)이 있으며, 선호되는 수단은 프로세스 및/또는 시스템 및/또는 다른 기술이 사용되는 맥락(context)에 따라 변경될 것이다. 예를 들어, 만약 구현자가 속도 및 정확도가 중요하다고 결정하면, 구현자는 주로 하드웨어 및/또는 펌웨어(firmware) 수단을 선택할 수 있고, 만약 유연성이 중요하다면, 구현자는 주로 소프트웨어 구현을 선택할 수 있으며, 또는, 또 다른 대안으로서, 구현자는 하드웨어, 소프트웨어, 및/또는 펌웨어 중 일부 조합을 선택할 수 있다.
전술한 상세한 설명은 블록도, 흐름도, 및/또는 예시의 사용을 통해 장치 및/또는 프로세스의 다양한 실시예를 설명하였다. 그러한 블록도, 흐름도, 및/또는 예시가 하나 이상의 기능 및/또는 동작을 포함하는 한, 당업자라면 그러한 블록도, 흐름도, 또는 예시 내의 각각의 기능 및/또는 동작은 하드웨어, 소프트웨어, 펌웨어, 또는 실질적으로 그들 임의의 조합의 넓은 범위에 의해 개별적으로 및/또는 집합적으로 구현될 수 있다는 것이 이해될 것이다. 일 실시예에서, 여기에서 기술된 대상의 몇몇 부분은 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor) 또는 다른 집적의 형태를 통해 구현될 수 있다. 그러나, 당업자라면, 여기에서 기술된 실시예의 일부 양상이, 하나 이상의 컴퓨터 상에 실행되는 하나 이상의 컴퓨터 프로그램(예를 들어, 하나 이상의 컴퓨터 시스템 상에 실행되는 하나 이상의 프로그램), 하나 이상의 프로세서 상에서 실행되는 하나 이상의 프로그램(예를 들어, 하나 이상의 마이크로프로세서 상에서 실행되는 하나 이상의 프로그램), 펌웨어 또는 실질적으로 그들의 조합으로서, 전체적으로 또는 부분적으로 균등하게 집적 회로에 구현될 수 있다는 알 수 있으며, 소프트웨어 및/또는 펌웨어를 위한 코드의 작성 및/또는 회로의 설계는 본 개시에 비추어 당업자에게 자명할 것이다.
본 개시는 다양한 태양의 예시로서 의도된 본 출원에 기술된 특정 실시예들에 제한되지 않을 것이다. 당업자에게 명백할 바와 같이, 많은 수정과 변형이 그 사상과 범위를 벗어나지 않으면서 이루어질 수 있다. 여기에 열거된 것들에 더하여, 본 개시의 범위 안에서 기능적으로 균등한 방법과 장치가 위의 설명으로부터 당업자에게 명백할 것이다. 그러한 수정과 변형은 첨부된 청구항의 범위에 들어가도록 의도된 것이다. 본 개시는 첨부된 청구항의 용어에 의해서만, 그러한 청구항에 부여된 균등물의 전 범위와 함께, 제한될 것이다. 본 개시가 물론 다양할 수 있는 특정 방법, 시약, 합성 구성 또는 생물학적 시스템에 제한되지 않는 것으로 이해될 것이다. 또한, 여기에서 사용된 용어는 단지 특정 실시예들을 기술하기 위한 목적이고, 제한하는 것으로 의도되지 않음이 이해될 것이다.
또한, 당업자라면, 여기에서 기술된 대상의 수단(mechanism)들이 다양한 형태의 프로그램 제품으로 분포될 수 있음을 이해할 것이며, 여기에서 기술된 대상의 실시예는, 분배를 실제로 수행하는 데 사용되는 신호 베어링 매체(signal bearing medium)의 특정 유형과 무관하게 적용됨을 이해할 것이다. 신호 베어링 매체의 예시는, 플로피 디스크, 하드 디스크 드라이브, CD(Compact Disc), DVD(Digital Versatile Disk), 디지털 테이프, 컴퓨터 메모리, 고체 상태 드라이브 등과 같은 판독가능 유형의 매체 및 디지털 및/또는 아날로그 통신 매체(예를 들어, 섬유 광학 케이블, 웨이브가이드, 유선 통신 링크, 무선 통신 링크 등)와 같은 전송 유형 매체를 포함할 수 있으나, 이에 제한되지는 않는다.
당업자라면, 여기서 설명된 형식으로 장치 및/또는 프로세스를 기술하고, 이후, 공학 실무를 사용하여 그러한 기술된 장치 및/또는 프로세스를 데이터 처리 시스템에 통합한다는 것은 당해 분야에서는 일반적이란 것을 인식할 것이다. 즉, 여기서 기술된 장치 및/또는 방법의 적어도 일부는 합당한 실험 량을 통해 데이터 처리 시스템에 통합될 수 있다. 당업자라면, 전형적인 데이터 처리 시스템은 일반적으로 시스템 유닛 하우징, 비디오 디스플레이 장치, 휘발성 및 비휘발성 메모리 같은 메모리, 마이크로프로세서 및 디지털 신호 프로세서와 같은 프로세서, 운영 체제, 드라이버, 그래픽 사용자 인터페이스 및 애플리케이션 프로그램과 같은 컴퓨터 엔티티(computational entities), 터치 패드 또는 스크린 같은 하나 이상의 상호작용 장치, 및/또는 피드백 루프 및 제어 모터(예를 들면, 갠트리 시스템(gantry system)의 속도 및/또는 위치를 감지하기 위한 피드백; 컴포넌트 및/또는 양(quantities)을 이동하고 및/또는 조정하기 위한 제어 모터)를 포함하는 제어 시스템 중 하나 이상을 일반적으로 포함한다는 것을 인식할 것이다.
전형적인 데이터 처리 시스템은 데이터 컴퓨팅/통신 및/또는 네트워크 컴퓨팅/통신 시스템에서 전형적으로 발견되는 바와 같은 임의의 적절한 상업적으로 이용 가능한 컴포넌트를 이용하여 구현될 수 있다. 여기에서 기술된 대상은 때때로 상이한 다른 컴포넌트 내에 포함되거나 접속된 상이한 컴포넌트를 도시한다. 도시된 그러한 아키텍처는 단순히 전형적인 것이고, 사실상 동일한 기능을 달성하는 다른 많은 아키텍처가 구현될 수 있다는 것이 이해되어야 한다. 개념적으로, 동일한 기능을 달성하기 위한 컴포넌트의 임의의 배치는 원하는 기능이 달성되도록 유효하게 "연관"된다. 이에 따라, 특정 기능을 달성하기 위해 여기서 결합된 임의의 두 개의 컴포넌트는, 아키텍처 또는 중간 컴포넌트와는 무관하게, 원하는 기능이 달성되도록 서로 "연관"된 것으로 볼 수 있다. 마찬가지로, 연관된 임의의 두 개의 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "동작적으로 접속"되거나 또는 "동작적으로 연결"되는 것으로 간주될 수 있고, 그와 같이 연관될 수 있는 임의의 두 개의 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "동작적으로 연결가능"한 것으로 볼 수 있다. 동작적으로 연결가능하다는 것의 특정예는 물리적으로 연결이 가능하고 및/또는 물리적으로 인터액팅하는 컴포넌트 및/또는 무선으로 인터액팅이 가능하고 및/또는 무선으로 인터액팅하는 컴포넌트 및/또는 논리적으로 인터액팅하고 및/또는 논리적으로 인터액팅이 가능한 컴포넌트를 포함하지만, 이에 한정되는 것은 아니다.
여기에서 실질적으로 임의의 복수 및/또는 단수의 용어의 사용에 대하여, 당업자는 맥락 및/또는 응용에 적절하도록, 복수를 단수로 및/또는 단수를 복수로 해석할 수 있다. 다양한 단수/복수의 치환은 명확성을 위해 여기에서 명시적으로 기재될 수 있다.
당업자라면, 일반적으로 본 개시에 사용되며 특히 첨부된 청구범위(예를 들어, 첨부된 청구범위)에 사용된 용어들이 일반적으로 "개방적(open)" 용어(예를 들어, 용어 "포함하는"은 "포함하지만 이에 제한되지 않는"으로, 용어 "갖는"는 "적어도 갖는"으로, 용어 "포함하다"는 "포함하지만 이에 한정되지 않는" 등으로 해석되어야 함)로 의도되었음을 이해할 것이다. 또한, 당업자라면, 도입된 청구항의 기재사항의 특정 수가 의도된 경우, 그러한 의도가 청구항에 명시적으로 기재될 것이며, 그러한 기재사항이 없는 경우, 그러한 의도가 없음을 또한 이해할 것이다. 예를 들어, 이해를 돕기 위해, 이하의 첨부 청구범위는 "적어도 하나" 및 "하나 이상" 등의 도입 구절의 사용을 포함하여 청구항 기재사항을 도입할 수 있다. 그러나, 그러한 구절의 사용이, 부정관사 "하나"("a" 또는 "an")에 의한 청구항 기재사항의 도입이, 그러한 하나의 기재사항을 포함하는 실시예들로, 그러한 도입된 청구항 기재사항을 포함하는 특정 청구항을 제한함을 암시하는 것으로 해석되어서는 안되며, 동일한 청구항이 도입 구절인 "하나 이상" 또는 "적어도 하나" 및 "하나"("a" 또는 "an")과 같은 부정관사(예를 들어, "하나"는 "적어도 하나" 또는 "하나 이상"을 의미하는 것으로 해석되어야 함)를 포함하는 경우에도 마찬가지로 해석되어야 한다. 이는 청구항 기재사항을 도입하기 위해 사용된 정관사의 경우에도 적용된다. 또한, 도입된 청구항 기재사항의 특정 수가 명시적으로 기재되는 경우에도, 당업자라면 그러한 기재가 적어도 기재된 수(예를 들어, 다른 수식어가 없는 "두개의 기재사항"을 단순히 기재한 것은, 적어도 두 개의 기재사항 또는 두 개 이상의 기재사항을 의미함)를 의미하도록 해석되어야 함을 이해할 것이다.
또한, "A, B 및 C 등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 및 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B, 및 C를 함께 갖는 시스템 등을 포함하지만 이에 제한되지 않음). 또한 당업자라면, 실질적으로 임의의 이접 접속어(disjunctive word) 및/또는 두 개 이상의 대안적인 용어들을 나타내는 구절은, 그것이 상세한 설명, 청구범위 또는 도면에 있는지와 상관없이, 그 용어들 중의 하나, 그 용어들 중의 어느 하나, 또는 그 용어들 두 개 모두를 포함하는 가능성을 고려했음을 이해할 것이다. 예를 들어, "A 또는 B"라는 구절은 "A" 또는 "B" 또는 "A 및 B"의 가능성을 포함하는 것으로 이해될 것이다.
추가적으로, 개시의 특징 또는 양태가 마쿠시(Markush) 그룹으로 기술되는 경우, 개시는 마쿠시 그룹의 임의의 개별 요소 또는 요소들의 하위 그룹 역시 포함하고 있다는 것을 당업자는 인식할 것이다.
당업자에게 이해될 것과 같이, 임의의 그리고 모든 목적에서든, 기술 내용을 제공하는 것 등에 있어서, 여기에 개시되어 있는 모든 범위는 임의의 그리고 모든 가능한 하위범위와 그러한 하위범위의 조합을 또한 포함한다. 임의의 열거된 범위는 적어도 1/2, 1/3, 1/4, 1/5, 1/10 등으로 나누어지는 동일한 범위를 충분히 설명하고 실시가능하게 하는 것으로서 쉽게 인식될 수 있다. 제한하지 않는 예시로서, 여기서 논의되는 각각의 범위는 하위 1/3, 중앙 1/3, 상위 1/3 등으로 나누어질 수 있다. 또한, "까지", "적어도", "보다 많은", "보다 적은" 등과 같은 언어는 기재된 수를 포함하며, 전술한 하위범위로 후속적으로 나누어질 수 있는 범위를 지칭함이 당업자에게 이해되어야 한다. 마지막으로, 범위는 각각의 개별 요소를 포함함이 이해되어야 한다. 따라서, 예를 들어, 1-3개의 셀을 갖는 그룹은 1, 2 또는 3개의 셀을 갖는 그룹들을 의미한다. 유사하게, 1-5개의 셀을 갖는 그룹은 1, 2, 3, 4 또는 5개의 셀을 갖는 그룹을 의미한다.
다양한 양상 및 실시예들이 여기에서 개시되었지만, 다른 양상 및 예시들이 당업자에게 명확할 것이다. 본 개시에 기재된 다양한 양상 및 예시는 예시의 목적으로 제시된 것이고, 제한하려고 의도된 것이 아니며, 진정한 범위와 사상은 이하 청구범위에 의해 나타낸다.

Claims (60)

  1. 클라우드 컴퓨팅 환경 간의 이송 시 애플리케이션 성능을 유지하기 위한 방법으로서,
    소스 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관된 복수의 성능 메트릭을 결정하는 단계;
    상기 소스 클라우드 컴퓨팅 환경에서 상기 고객 애플리케이션과 연관된 상기 복수의 성능 메트릭에 기초하여 복수의 성능 파라미터를 연산하는 단계;
    가중되는 방식으로 소스 CCAS(Cloud Computing Applicability Score)에 상기 복수의 성능 파라미터를 조합하는 단계;
    타겟 CCAS가 상기 소스 CCAS에 매치하거나 초과하는지 여부를 결정하는 단계 - 상기 타겟 CCAS는 타겟 클라우드 컴퓨팅 환경에서 상기 고객 어플리케이션과 연관된 성능 메트릭에 기초하여 연산된 복수의 성능 파라미터의 가중된 조합임 -; 및
    상기 타겟 CCAS가 상기 소스 CCAS에 매치하거나 초과한다는 결정에 응답하여, 상기 고객 어플리케이션을 상기 타겟 클라우드 컴퓨팅 환경으로 자동적으로 이동(migration)하거나, 상기 고객 어플리케이션의 상기 타겟 클라우드 컴퓨팅 환경으로의 이동에 앞서, 상기 타겟 CCAS에 대한 상기 복수의 성능 파라미터 중 하나 이상의 가중을 조정함으로써 상기 타겟 CCAS가 상기 소스 CCAS에 매치하거나 초과하도록 상기 고객 애플리케이션에 대한 상기 타겟 클라우드 컴퓨팅 환경을 조정하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 소스 클라우드 컴퓨팅 환경 및 상기 타겟 클라우드 컴퓨팅 환경에서 상기 고객 어플리케이션과 연관된 상기 성능 메트릭은 프로세싱 능력 메트릭, 메모리 메트릭, 및 네트워킹 메트릭을 포함하는, 방법.
  3. 제2항에 있어서,
    이용 가능한 프로세싱 능력의 일부로서 상기 고객 애플리케이션에 의해 소비되는 실제의 프로세싱 능력에 기초하여 상기 프로세싱 능력 메트릭을 연산하는 단계
    를 더 포함하는 방법.
  4. 제3항에 있어서,
    상기 프로세싱 능력 메트릭은 동시에 실행되는 태스크의 수, 및 스케줄러 우선 순위, 및 처리의 타입 중 하나 이상에 더 기초하는, 방법.
  5. 제4항에 있어서,
    상기 프로세싱 능력 메트릭은 미리 정의된 기간에 걸쳐 평균되어 지는, 방법.
  6. 제3항에 있어서,
    상기 고객 애플리케이션에 대한 할당된 메모리 타입의 가중된 조합에 기초하여 상기 메모리 메트릭을 연산하는 단계
    를 더 포함하고,
    상기 메모리 타입은, 메인 메모리, 플래시 메모리, 로컬 메모리, 및 네트워크 메모리 중 하나 이상을 포함하는, 방법.
  7. 제6항에 있어서,
    상기 할당된 메모리 타입은 미리 설정된 기간에 걸쳐 평균된 상기 소스 클라우드 컴퓨팅 환경에서의 실제 할당량을 나타내는, 방법.
  8. 제6항에 있어서,
    보다 빠른 메모리 타입은 보다 느린 메모리 타입에 비하여 보다 높은 가중치가 부여되는, 방법.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 클라우드 컴퓨팅 환경 간의 이송 시 애플리케이션 성능을 유지하기 위한 컴퓨팅 장치로서,
    명령어를 저장하도록 구성된 메모리; 및
    상기 메모리에 결합된 프로세서
    를 포함하고,
    상기 프로세서는,
    소스 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관된 복수의 성능 메트릭을 결정하고;
    상기 소스 클라우드 컴퓨팅 환경에서 상기 고객 애플리케이션과 연관된 상기 성능 메트릭에 기초하여 복수의 성능 파라미터를 연산하고;
    가중되는 방식으로 소스 CCAS(Cloud Computing Applicability Score)에 상기 복수의 성능 파라미터를 조합하고;
    타겟 CCAS가 상기 소스 CCAS에 매치하거나 초과하는지 여부를 결정하고 - 상기 타겟 CCAS는 타겟 클라우드 컴퓨팅 환경에서 상기 고객 어플리케이션과 연관된 성능 메트릭에 기초하여 연산된 복수의 성능 파라미터의 가중된 조합임 -; 그리고
    상기 타겟 CCAS가 상기 소스 CCAS에 매치하거나 초과한다는 결정에 응답하여, 상기 고객 어플리케이션을 상기 타겟 클라우드 컴퓨팅 환경으로 자동적으로 이동(migration)하거나, 상기 고객 어플리케이션의 상기 타겟 클라우드 컴퓨팅 환경으로의 이동에 앞서, 상기 타겟 CCAS에 대한 상기 복수의 성능 파라미터 중 하나 이상의 가중을 조정함으로써 상기 타겟 CCAS가 상기 소스 CCAS에 매치하거나 초과하도록 상기 고객 애플리케이션에 대한 타겟 클라우드 컴퓨팅 환경을 조정하도록 구성되는, 컴퓨팅 장치.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 제21항에 있어서,
    상기 타겟 클라우드 컴퓨팅 환경에서 상기 고객 어플리케이션과 연관된 상기 성능 메트릭은 시뮬레이션에 기초하여 결정되는, 컴퓨팅 장치.
  33. 제21항에 있어서,
    상기 소스 클라우드 컴퓨팅 환경 및 상기 타겟 클라우드 컴퓨팅 환경에서 상기 고객 어플리케이션과 연관된 상기 성능 메트릭에 기초하여 연산된 상기 성능 파라미터는 각 환경과 연관되는 신뢰도 요소를 나타내는 신뢰도 파라미터를 더 포함하는, 컴퓨팅 장치.
  34. 제21항에 있어서,
    상기 타겟 클라우드 컴퓨팅 환경에서 상기 고객 어플리케이션과 연관된 상기 성능 메트릭은 상기 타겟 클라우드 컴퓨팅 환경에서의 고객 요구 성능에 기초하여 가중되는, 컴퓨팅 장치.
  35. 제21항에 있어서,
    상기 프로세서는,
    상기 타겟 클라우드 컴퓨팅 환경에서의 성능을 확인하도록 상기 고객 애플리케이션의 상기 타겟 클라우드 컴퓨팅 환경으로의 상기 이동을 따르는 상기 타겟 CCAS를 연산하도록 더 구성되는, 컴퓨팅 장치.
  36. 제21항에 있어서,
    상기 프로세서는,
    상기 복수의 타겟 클라우드 컴퓨팅 환경에 대한 상기 타겟 CCAS를 연산하고,
    고객에게 복수의 지원자 클라우드 컴퓨팅 환경 제안을 제공하도록 더 구성되는, 컴퓨팅 장치.
  37. 제21항에 있어서,
    상기 프로세서는
    구별되는 가중 요소에 기초하여 복수의 타겟 클라우드 컴퓨팅 환경 구성에 대한 상기 타겟 CCAS를 연산하고,
    고객에게 복수의 타겟 클라우드 컴퓨팅 환경 패키지 제안을 제공하도록 더 구성되는, 컴퓨팅 장치.
  38. 삭제
  39. 삭제
  40. 삭제
  41. 클라우드 컴퓨팅 환경 간의 이송 시 애플리케이션 성능을 유지하기 위한 명령어가 저장된 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 명령어는,
    소스 클라우드 컴퓨팅 환경에서 고객 애플리케이션과 연관된 복수의 성능 메트릭을 결정하는 단계;
    상기 소스 클라우드 컴퓨팅 환경에서 상기 고객 애플리케이션과 연관된 상기 복수의 성능 메트릭에 기초하여 복수의 성능 파라미터를 연산하는 단계;
    가중되는 방식으로 소스 CCAS(Cloud Computing Applicability Score)에 상기 복수의 성능 파라미터를 조합하는 단계;
    타겟 CCAS가 상기 소스 CCAS에 매치하거나 초과하는지 여부를 결정하는 단계 - 상기 타겟 CCAS는 타겟 클라우드 컴퓨팅 환경에서 상기 고객 어플리케이션과 연관된 성능 메트릭에 기초하여 연산된 복수의 성능 파라미터의 가중된 조합임 -; 및
    상기 타겟 CCAS가 상기 소스 CCAS에 매치하거나 초과한다는 결정에 응답하여, 상기 고객 어플리케이션을 상기 타겟 클라우드 컴퓨팅 환경으로 자동적으로 이동(migration)하거나, 상기 고객 어플리케이션의 상기 타겟 클라우드 컴퓨팅 환경으로의 이동에 앞서, 상기 타겟 CCAS에 대한 상기 복수의 성능 파라미터 중 하나 이상의 가중을 조정함으로써 상기 타겟 CCAS가 상기 소스 CCAS에 매치하거나 초과하도록 상기 고객 애플리케이션에 대한 타겟 클라우드 컴퓨팅 환경을 조정하는 단계
    를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  42. 제41항에 있어서,
    상기 소스 클라우드 컴퓨팅 환경 및 상기 타겟 클라우드 컴퓨팅 환경에서 상기 고객 어플리케이션과 연관된 상기 성능 메트릭은 프로세싱 능력 메트릭, 메모리 메트릭, 및 네트워킹 메트릭을 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 제41항에 있어서,
    상기 소스 클라우드 컴퓨팅 환경 및 상기 타겟 클라우드 컴퓨팅 환경에서 상기 고객 어플리케이션과 연관된 상기 성능 메트릭은 복수의 고객 애플리케이션에 대해 결정되고 상기 가중은 개별적인 고객 애플리케이션에 기초하여 결정되는, 비일시적 컴퓨터 판독 가능 저장 매체.
  59. 제41항에 있어서,
    상기 명령어는,
    상기 소스 클라우드 컴퓨팅 환경 및 상기 타겟 클라우드 컴퓨팅 환경에서 상기 고객 어플리케이션과 연관된 상기 성능 메트릭에 기초하여 연산된 상기 성능 파라미터를 정규화하는 단계
    를 더 포함하는 비일시적 컴퓨터 판독 가능 저장 매체.
  60. 제59항에 있어서,
    상기 소스 클라우드 컴퓨팅 환경 및 상기 타겟 클라우드 컴퓨팅 환경에서 상기 고객 어플리케이션과 연관된 상기 성능 메트릭에 기초하여 연산된 상기 성능 파라미터는 퍼센트로서 정규화되는, 비일시적 컴퓨터 판독 가능 저장 매체.
KR1020147020554A 2012-02-06 2012-02-06 클라우드 서비스 간의 이송 시 애플리케이션 성능의 유지 KR101603928B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/023995 WO2013119200A1 (en) 2012-02-06 2012-02-06 Maintaining application performances upon transfer between cloud services

Publications (2)

Publication Number Publication Date
KR20140105852A KR20140105852A (ko) 2014-09-02
KR101603928B1 true KR101603928B1 (ko) 2016-03-16

Family

ID=48947843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147020554A KR101603928B1 (ko) 2012-02-06 2012-02-06 클라우드 서비스 간의 이송 시 애플리케이션 성능의 유지

Country Status (4)

Country Link
US (1) US9166890B2 (ko)
JP (1) JP6019139B2 (ko)
KR (1) KR101603928B1 (ko)
WO (1) WO2013119200A1 (ko)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130290542A1 (en) * 2012-04-30 2013-10-31 Racemi, Inc. Server Image Migrations Into Public and Private Cloud Infrastructures
US8954574B1 (en) * 2012-05-23 2015-02-10 Amazon Technologies, Inc. Best practice analysis, migration advisor
US9626710B1 (en) 2012-05-23 2017-04-18 Amazon Technologies, Inc. Best practice analysis, optimized resource use
US10740765B1 (en) 2012-05-23 2020-08-11 Amazon Technologies, Inc. Best practice analysis as a service
DE102012211639A1 (de) * 2012-07-04 2014-01-09 Siemens Aktiengesellschaft Cloud-Computing-Infrastruktur, Verfahren und Anwendung
US9183032B2 (en) * 2012-10-18 2015-11-10 Hcl Technologies Limited Method and system for migration of multi-tier virtual application across different clouds hypervisor platforms
US9292349B2 (en) * 2013-03-15 2016-03-22 International Business Machines Corporation Detecting deployment conflicts in heterogenous environments
US9298511B2 (en) * 2013-03-15 2016-03-29 International Business Machines Corporation Resolving deployment conflicts in heterogeneous environments
US20150074275A1 (en) * 2013-09-10 2015-03-12 International Business Machines Corporation Mobile application data storage allocation
US9461969B2 (en) 2013-10-01 2016-10-04 Racemi, Inc. Migration of complex applications within a hybrid cloud environment
US9996442B2 (en) * 2014-03-25 2018-06-12 Krystallize Technologies, Inc. Cloud computing benchmarking
US20150302440A1 (en) * 2014-04-17 2015-10-22 XOcur, Inc. Cloud computing solution generation systems and methods
US10621505B2 (en) 2014-04-17 2020-04-14 Hypergrid, Inc. Cloud computing scoring systems and methods
US9935864B2 (en) 2014-09-30 2018-04-03 Splunk Inc. Service analyzer interface
US20160098287A1 (en) * 2014-10-01 2016-04-07 Hcl Technologies Limited Method and System for Intelligent Analytics on Virtual Deployment on a Virtual Data Centre
US11671312B2 (en) 2014-10-09 2023-06-06 Splunk Inc. Service detail monitoring console
US11455590B2 (en) 2014-10-09 2022-09-27 Splunk Inc. Service monitoring adaptation for maintenance downtime
US10305758B1 (en) 2014-10-09 2019-05-28 Splunk Inc. Service monitoring interface reflecting by-service mode
US10209956B2 (en) 2014-10-09 2019-02-19 Splunk Inc. Automatic event group actions
US9491059B2 (en) 2014-10-09 2016-11-08 Splunk Inc. Topology navigator for IT services
US11087263B2 (en) 2014-10-09 2021-08-10 Splunk Inc. System monitoring with key performance indicators from shared base search of machine data
US9584374B2 (en) 2014-10-09 2017-02-28 Splunk Inc. Monitoring overall service-level performance using an aggregate key performance indicator derived from machine data
US11755559B1 (en) 2014-10-09 2023-09-12 Splunk Inc. Automatic entity control in a machine data driven service monitoring system
US10536353B2 (en) 2014-10-09 2020-01-14 Splunk Inc. Control interface for dynamic substitution of service monitoring dashboard source data
US9158811B1 (en) 2014-10-09 2015-10-13 Splunk, Inc. Incident review interface
US9210056B1 (en) 2014-10-09 2015-12-08 Splunk Inc. Service monitoring interface
US10505825B1 (en) 2014-10-09 2019-12-10 Splunk Inc. Automatic creation of related event groups for IT service monitoring
US10193775B2 (en) 2014-10-09 2019-01-29 Splunk Inc. Automatic event group action interface
US10417225B2 (en) 2015-09-18 2019-09-17 Splunk Inc. Entity detail monitoring console
US9146954B1 (en) 2014-10-09 2015-09-29 Splunk, Inc. Creating entity definition from a search result set
US10417108B2 (en) 2015-09-18 2019-09-17 Splunk Inc. Portable control modules in a machine data driven service monitoring system
US9146962B1 (en) 2014-10-09 2015-09-29 Splunk, Inc. Identifying events using informational fields
US9760240B2 (en) 2014-10-09 2017-09-12 Splunk Inc. Graphical user interface for static and adaptive thresholds
EP3032417A1 (en) * 2014-12-10 2016-06-15 Alcatel Lucent Cloud orchestration and placement using historical data
US10198155B2 (en) 2015-01-31 2019-02-05 Splunk Inc. Interface for automated service discovery in I.T. environments
US9813500B2 (en) 2015-06-12 2017-11-07 Cisco Technology, Inc. Allocating cloud storage based on storage attributes
CN106326002B (zh) 2015-07-10 2020-10-20 阿里巴巴集团控股有限公司 资源调度方法、装置及设备
US10303488B2 (en) * 2016-03-30 2019-05-28 Sony Interactive Entertainment Inc. Real-time adjustment of application-specific operating parameters for backwards compatibility
US9635027B1 (en) 2016-09-02 2017-04-25 Blink.Cloud LLC Data transmission using dynamically rendered message content prestidigitation
US10942946B2 (en) 2016-09-26 2021-03-09 Splunk, Inc. Automatic triage model execution in machine data driven monitoring automation apparatus
US10942960B2 (en) 2016-09-26 2021-03-09 Splunk Inc. Automatic triage model execution in machine data driven monitoring automation apparatus with visualization
US10110500B2 (en) * 2016-11-03 2018-10-23 Ciena Corporation Systems and methods for management of cloud exchanges
US10592293B2 (en) 2017-08-31 2020-03-17 Cisco Technology, Inc. Tenant-specific policy generation and enforcement within containers
US11093518B1 (en) 2017-09-23 2021-08-17 Splunk Inc. Information technology networked entity monitoring with dynamic metric and threshold selection
US11106442B1 (en) 2017-09-23 2021-08-31 Splunk Inc. Information technology networked entity monitoring with metric selection prior to deployment
US11159397B2 (en) 2017-09-25 2021-10-26 Splunk Inc. Lower-tier application deployment for higher-tier system data monitoring
US10686891B2 (en) 2017-11-14 2020-06-16 International Business Machines Corporation Migration of applications to a computing environment
US20190188338A1 (en) * 2017-12-19 2019-06-20 Saltmine Pte Ltd. Systems and methods for workspace environment design and build
US11238012B1 (en) 2018-05-15 2022-02-01 Splunk Inc. Log data extraction from data chunks of an isolated execution environment
US10963294B2 (en) 2018-07-02 2021-03-30 International Business Machines Corporation Cognitive cloud migration optimizer
US11537627B1 (en) 2018-09-28 2022-12-27 Splunk Inc. Information technology networked cloud service monitoring
US10785128B1 (en) * 2018-11-21 2020-09-22 Candid Partners, LLC System, apparatus and method for deploying infrastructure to the cloud
US10776158B2 (en) * 2019-01-31 2020-09-15 Lockheed Martin Corporation Management of application deployment across multiple provisioning layers
CN111949384B (zh) * 2019-05-14 2023-05-02 龙芯中科技术股份有限公司 任务调度方法、装置、设备及计算机可读存储介质
US11695665B2 (en) 2019-07-09 2023-07-04 Vmware, Inc. Cross-cloud connectivity checks
US11755470B2 (en) * 2019-07-29 2023-09-12 EMC IP Holding Company, LLC System and method for reduced lock contention and improved performance
JP7421299B2 (ja) 2019-10-04 2024-01-24 株式会社日立製作所 コスト提示装置、コスト提示方法およびコスト提示プログラム
US11050647B1 (en) * 2019-12-16 2021-06-29 Vmware, Inc. Simulation-based cross-cloud connectivity checks
US11637896B1 (en) 2020-02-25 2023-04-25 Pure Storage, Inc. Migrating applications to a cloud-computing environment
US11868622B2 (en) 2020-02-25 2024-01-09 Pure Storage, Inc. Application recovery across storage systems
US11755928B1 (en) 2020-04-27 2023-09-12 Wells Fargo Bank, N.A. Computing cluster configuration standardization
US11676072B1 (en) 2021-01-29 2023-06-13 Splunk Inc. Interface for incorporating user feedback into training of clustering model
US11941421B1 (en) 2021-07-09 2024-03-26 Splunk Inc. Evaluating and scaling a collection of isolated execution environments at a particular geographic location
US20230161634A1 (en) * 2021-11-19 2023-05-25 Microsoft Technology Licensing, Llc Mapping an application signature to designated cloud resources
CN116032928B (zh) * 2023-03-22 2023-07-04 之江实验室 数据协同计算方法、装置、系统、电子装置和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020072358A1 (en) * 2000-12-13 2002-06-13 Telefonaktiebolaget Lm Ericsson Methods and apparatus for real-time performance monitoring in a wireless communication network
US20100250746A1 (en) * 2009-03-30 2010-09-30 Hitachi, Ltd. Information technology source migration
US20110022812A1 (en) * 2009-05-01 2011-01-27 Van Der Linden Rob Systems and methods for establishing a cloud bridge between virtual storage resources

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4149762B2 (ja) * 2002-08-09 2008-09-17 富士通株式会社 メモリ資源最適化支援方法、プログラム及び装置
EP2037362A4 (en) * 2006-05-24 2012-04-18 Nec Corp ADMINISTRATIVE APPROACH FOR VIRTUAL MACHINES, METHOD FOR MANAGING A VIRTUAL MACHINE AND PROGRAM
US8289966B1 (en) * 2006-12-01 2012-10-16 Synopsys, Inc. Packet ingress/egress block and system and method for receiving, transmitting, and managing packetized data
US7987262B2 (en) 2008-11-19 2011-07-26 Accenture Global Services Limited Cloud computing assessment tool
US9239740B2 (en) * 2009-06-16 2016-01-19 Microsoft Technology Licensing, Llc Program partitioning across client and cloud
JPWO2011018827A1 (ja) * 2009-08-13 2013-01-17 株式会社日立製作所 実行環境におけるアプリケーションの適性を評価するシステム及び方法
JP5541908B2 (ja) * 2009-11-26 2014-07-09 株式会社野村総合研究所 データセンター構成管理システム
JP4939594B2 (ja) * 2009-11-30 2012-05-30 インターナショナル・ビジネス・マシーンズ・コーポレーション プライマリクラウドが提供したサービスレベルの実績値又は更新されたプリファレンス情報に基づいて、サービスレベルアグリーメントを動的に決定してサービスを提供することができるクラウドシステムを構成する装置、方法及びコンピュータプログラム
JP2011150563A (ja) * 2010-01-22 2011-08-04 Accenture Global Services Gmbh クラウドコンピューティング評価ツール
US8255529B2 (en) 2010-02-26 2012-08-28 Red Hat, Inc. Methods and systems for providing deployment architectures in cloud computing environments
US8909784B2 (en) * 2010-11-23 2014-12-09 Red Hat, Inc. Migrating subscribed services from a set of clouds to a second set of clouds
CA2819545C (en) * 2010-12-03 2020-05-12 Level 3 Communications, Llc Virtualized connectivity in a cloud services environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020072358A1 (en) * 2000-12-13 2002-06-13 Telefonaktiebolaget Lm Ericsson Methods and apparatus for real-time performance monitoring in a wireless communication network
US20100250746A1 (en) * 2009-03-30 2010-09-30 Hitachi, Ltd. Information technology source migration
US20110022812A1 (en) * 2009-05-01 2011-01-27 Van Der Linden Rob Systems and methods for establishing a cloud bridge between virtual storage resources

Also Published As

Publication number Publication date
KR20140105852A (ko) 2014-09-02
JP6019139B2 (ja) 2016-11-02
US20130332588A1 (en) 2013-12-12
US9166890B2 (en) 2015-10-20
WO2013119200A1 (en) 2013-08-15
JP2015506526A (ja) 2015-03-02

Similar Documents

Publication Publication Date Title
KR101603928B1 (ko) 클라우드 서비스 간의 이송 시 애플리케이션 성능의 유지
US10969967B2 (en) Allocation and balancing of storage resources based on anticipated workload levels
US10228984B2 (en) Management of virtual machine migration in an operating environment
US9921809B2 (en) Scaling a cloud infrastructure
US10061529B2 (en) Active control of memory for java virtual machines and other application runtime environments
US9336059B2 (en) Forecasting capacity available for processing workloads in a networked computing environment
US11095530B2 (en) Service level management of a workload defined environment
KR101629861B1 (ko) 진정한 데이터센터 테스팅을 가지는 서비스 품질 지각 억류 애그리게이션
JP2018198068A (ja) 分散型クラウドにおける作業負荷移動に基づくプロファイルベースのsla保証
US20160098297A1 (en) System and Method for Determining Capacity in Computer Environments Using Demand Profiles
US20180307512A1 (en) Optimal dynamic placement of virtual machines in geographically distributed cloud data centers
US20140195673A1 (en) DYNAMICALLY BALANCING EXECUTION RESOURCES TO MEET A BUDGET AND A QoS of PROJECTS
US9298511B2 (en) Resolving deployment conflicts in heterogeneous environments
US20180165109A1 (en) Predictive virtual server scheduling and optimization of dynamic consumable resources to achieve priority-based workload performance objectives
Sulimani et al. Reinforcement optimization for decentralized service placement policy in IoT‐centric fog environment
US20150295794A1 (en) High-performance computing evaluation
Jiang et al. Resource allocation in contending virtualized environments through VM performance modeling and feedback
US20180083846A1 (en) Service level management of a workload defined environment
Roohitavaf et al. Availability Modeling and Evaluation of Cloud Virtual Data Centers.
Jain et al. PCOS: Prescient Cloud I/O Scheduler for Workload Consolidation and Performance

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 4