KR20140136978A - 목적지 클라우드 시스템 요건들의 결정 - Google Patents

목적지 클라우드 시스템 요건들의 결정 Download PDF

Info

Publication number
KR20140136978A
KR20140136978A KR1020147028082A KR20147028082A KR20140136978A KR 20140136978 A KR20140136978 A KR 20140136978A KR 1020147028082 A KR1020147028082 A KR 1020147028082A KR 20147028082 A KR20147028082 A KR 20147028082A KR 20140136978 A KR20140136978 A KR 20140136978A
Authority
KR
South Korea
Prior art keywords
virtual machine
performance metrics
destination
configuring
type
Prior art date
Application number
KR1020147028082A
Other languages
English (en)
Other versions
KR101623297B1 (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 KR20140136978A publication Critical patent/KR20140136978A/ko
Application granted granted Critical
Publication of KR101623297B1 publication Critical patent/KR101623297B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/3442Recording 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 planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

일반적으로, 목적지 클라우드 시스템 요건들을 결정하도록 클라우드 시스템들을 테스트하는 기술들 및 구현들이 개시된다.

Description

목적지 클라우드 시스템 요건들의 결정{DETERMINING DESTINATION CLOUD SYSTEM REQUIREMENTS}
본원에서 다르게 언급되지 않으면, 이 섹션에 설명된 자료들은 본 출원에서의 청구항들에 대한 종래 기술이 아니며 이 섹션에 포함됨으로써 종래 기술인 것으로 인정되지 않는다.
일반적으로, 클라우드 컴퓨팅 서비스들은 더욱 우세해질 수도 있다. 일부 경우들에서, 하나의 클라우드 서비스 제공자로부터 다른 제공자로 스위칭할 계획인 소비자는 이전의 클라우드 컴퓨팅 서비스 제공자에 대하여 새로운 클라우드 서비스 제공자의 성능에 관심을 가질 수도 있다.
본 개시물은 목적지 클라우드 시스템 요건들을 결정하도록 클라우드 시스템들을 테스트하는 예시의 방법들을 설명한다. 예시의 방법들은, 시스템 테스트 태스크들이 오리진 (origin) 가상 머신 상의 서비스 배치를 테스트하여 테스트된 성능 메트릭들을 생성하도록, 시스템 테스트 태스크들을 오리진 클라우드 시스템으로 트랜스퍼하는 것, 테스트된 성능 메트릭들을 수신하는 것, 및 테스트된 성능 메트릭들에 기초하여 서비스 배치를 실행하도록 목적지 가상 머신을 구성하는 것을 포함할 수도 있다.
본 개시물은 또한, 목적지 클라우드 시스템 요건들을 결정하도록 클라우드 시스템들을 테스트하기 위한 예시의 장치들을 설명한다. 예시의 장치들은, 오리진 가상 머신 상의 서비스 배치를 테스트하여 테스트된 성능 메트릭들을 생성하도록 구성된 테스트 태스크들을 트랜스퍼하도록 구성된 모듈, 테스트된 성능 메트릭들을 수신하도록 구성된 모듈, 및 테스트된 성능 메트릭들에 기초하여 서비스 배치를 실행하도록 목적지 가상 머신을 구성하도록 구성된 모듈을 포함할 수도 있다.
본 개시물은 또한, 목적지 클라우드 시스템 요건들을 결정하도록 클라우드 시스템들을 테스트하기 위한 예시의 아티클들을 설명한다. 예시의 아티클들은, 머신 판독가능 명령들이 저장되어 있는 신호 베어링 매체를 포함할 수도 있고, 이 머신 판독가능 명령들은, 하나 이상의 프로세서들에 의해 실행되는 경우, 오리진 가상 머신 상의 서비스 배치를 테스트하여 테스트된 성능 메트릭들을 생성하도록 구성된 테스트 태스크들을 트랜스퍼하고, 테스트된 성능 메트릭들을 수신하며, 테스트된 성능 메트릭들에 기초하여 서비스 배치를 실행하도록 목적지 가상 머신을 구성하도록 컴퓨팅 디바이스를 동작적으로 인에이블한다.
상기 개요는 단지 예시의 것이며 임의의 방식으로 제한하도록 의도되어선 안 된다. 상기 상술된 예시의 양태들, 실시형태들, 및 특성들에 부가하여, 다른 양태들, 실시형태들, 및 특성들이 도면들 및 하기의 상세한 설명으로부터 더욱 명확해질 것이다.
주제는 본 명세서의 결론 부분에서 특히 가리켜지고 뚜렷하게 주장된다. 본 개시의 앞서의 특성 및 다른 특성은, 첨부 도면들을 함께 취해진, 하기의 설명 및 첨부된 청구항들로부터 보다 완전히 명백해질 것이다. 이들 도면들은 단지 본 개시에 따른 일부 실시형태들만을 묘사하고, 따라서 그 범위를 제한하는 것으로 간주되지 않아야 한다는 점을 이해하면, 본 개시는 첨부 도면들의 이용을 통해 추가적인 특이성 및 상세성으로 설명될 것이다.
도면들에서,
도 1 은 목적지 클라우드 시스템 요건들을 결정하기 위해 클라우드 시스템을 테스트하는 예시의 방법의 플로우 차트의 예시이다.
도 2 는 목적지 클라우드 시스템 요건들을 결정하기 위해 클라우드 시스템을 테스트하기 위한 예시의 시스템의 예시이다.
도 3 은 예시의 컴퓨터 프로그램 제품의 예시이다.
도 4 는 본 개시물에 따라 모두 배열된 예시의 컴퓨팅 디바이스의 블록도의 예시이다.
주제는 본 명세서의 결론 부분에서 특히 가리켜지고 뚜렷하게 주장된다. 본 개시의 앞서의 특성 및 다른 특성은, 첨부 도면들을 함께 취해진, 하기의 설명 및 첨부된 청구항들로부터 보다 완전히 명백해질 것이다. 이들 도면들은 단지 본 개시에 따른 여러 실시형태들만을 묘사하고, 따라서 그 범위를 제한하는 것으로 간주되지 않아야 한다는 점을 이해하면, 본 개시는 첨부 도면들의 사용을 통해 추가적인 특이성 및 상세성으로 설명될 것이다.
다음의 설명은, 청구된 청구물의 철저한 이해를 제공하기 위해, 특정 상세들과 함께 다양한 예들을 설명한다. 그러나, 청구된 주제는 본원에 개시된 특정 상세들 중 일부 또는 그 이상이 없어도 실시될 수도 있음이 당업자들에 의해 이해될 것이다. 또한, 일부 상황들에서, 잘 알려진 방법들, 절차들, 시스템들, 컴포넌트들, 및/또는 회로들은 청구된 주제를 불필요하게 모호하게 하는 것을 막기 위해 상세히 설명되지 않았다.
하기의 상세한 설명에서는, 상세한 설명의 일부를 형성하는 첨부된 도면들을 참조한다. 도면들에서, 문맥상 다르게 지시하지 않는 한, 유사한 도면 부호는 통상 유사한 컴포넌트를 식별한다. 상세한 설명, 도면들, 및 특허청구범위에서 설명된 예시의 실시형태들은 제한하는 것으로 의도된 것은 아니다. 본원에서 제시된 주제의 취지 또는 범위를 벗어나지 않으면서, 다른 실시형태들이 활용될 수도 있고, 다른 변경예들이 이루어질 수도 있다. 본원에서 일반적으로 설명되고, 도면들에서 예시된 바와 같은 본 개시의 양태들은 아주 다양하고 상이한 구성들로 배열되고, 대체되고, 조합되고, 설계될 수 있으며, 이들 모두는 본원에서 명시적으로 고려되고 본 개시물의 일부분을 이룬다는 것이 쉽게 이해될 것이다.
본 개시는, 특히, 목적지 클라우드 시스템 요건들을 결정하기 위한 테스팅 클라우드 시스템들에 관련된 방법들, 디바이스들, 시스템들, 및 컴퓨터 판독가능 매체에 대해 묘사된다.
알수 있는 바와 같이, 일부 경우들에서, 클라우드 컴퓨팅 서비스의 소비자 (예를 들어, 오리진 클라우드 시스템에서의 서비스 배치 (service deployment) 를 갖는 소비자) 는 상이한 클라우드 컴퓨팅 서비스로 이동하거나 이동을 고려하도록 계획할 수도 있다 (예를 들어, 소비자는 목적지 클라우드 시스템에서의 서비스 배치로 이동할 수도 있다). 클라우드 컴퓨팅 서비스들 간의 이동은 클라우드 시스템 트랜스퍼를 통해 공개적으로 드러나는 사양들의 보다 많은 매칭을 요구할 수도 있다. 예를 들어, 클라우드 시스템에서의 서비스 배치는 클라우드 시스템의 동작에 대해 예측할 수 없고 중요한 임팩트들을 제공할 수도 있는, 특정 파일 시스템 아키텍처들, 네트워크 트래픽 특징들, 가상 머신들을 론칭하기 위한 시간, 파일 시스템 성능, 시스템 시간 레퍼런스들에서의 가변성 등을 포함할 수도 있다. 목적지 클라우드 시스템에 대한 준비 및/또는 구성이 오리진 클라우드 시스템과 실질적으로 매칭하거나 이를 개선하는 것을 허용하도록 목적지 클라우드 시스템이 오리진 클라우드 시스템으로부터 실질적으로 상세하고 광범위한 측정치들을 획득하는 것이 바람직할 수도 있다.
본원에서 추가로 논의되는 바와 같이, 일부 예들에서, 하나 이상의 시스템 태스크들은 오리진 클라우드 시스템으로 트랜스퍼될 수도 있다. 일부 예들에서, 시스템 태스크들은 오리진 클라우드 시스템의 가상 머신 상에서 하나 이상의 서비스 배치들을 테스트하고, 하나 이상의 테스트된 성능 메트릭들을 생성하도록 구성될 수도 있다. 일부 예들에서, 하나 이상의 테스트된 성능 메트릭들이 수신될 수도 있다. 일부 예들에서, 목적지 가상 머신은 수신된 하나 이상의 테스트된 성능 메트릭들에 적어도 부분적으로 기초하여 실행하도록 구성될 수도 있다. 이러한 기법들은 오리진 클라우드 시스템에서 현재 실행되고 있는 서비스 배치 또는 배치들을 실행하도록 구성된 하나 이상의 가상 머신들을 목적지 클라우드 시스템에 제공할 수도 있다. 일부 예들에서, 목적지 센터에서의 가상 머신은 오리진 센터에서의 가상 머신의 하나 이상의 특성들을 매칭하도록 구성될 수도 있다. 일부 예들에서, 목적지 센터에서의 가상 머신은 오리진 센터에서의 가상 머신으로부터 의도적인 차이들을 갖고 동작하도록 구성될 수도 있다. 일부 예들에서, 설명된 기법들은 목적지 클라우드 시스템 그 자체에 의해 수행될 수도 있다. 다른 예들에서, 이 기법들은 제 3 자에 의한 서비스로서 제공될 수도 있다.
도 1 은 본 개시물의 적어도 일부 실시형태들에 따라 배열된, 목적지 클라우드 시스템 요건들을 결정하도록 클라우드 시스템을 테스트하는 예시의 방법 (100) 의 플로우 차트의 예시이다. 일반적으로, 방법 (100) 은 본원에 설명된 바와 같은 임의의 적합한 디바이스, 디바이스들, 또는 시스템에 의해 수행될 수도 있다. 일부 예들에서, 방법 (100) 은 목적지 클라우드 시스템에 의해 수행될 수도 있다. 일부 예들에서, 방법 (100) 은 제 3 자 클라우드 서비스들 제공자에 의해 수행될 수도 있다. 일부 예들에서, 방법 (100) 은 데이터센터 또는 데이터센터 클러스터 등에 의해 수행될 수도 있다. 일부 예들에서, 방법 (100) 은 클라우드 컴퓨팅 서비스에 의해 수행될 수도 있다. 일부 예들에서, 방법 (100) 은 서비스로서의 인프라스트럭처 (Infrastructure as a Service; IaaS) 제공자 또는 서비스로서의 플랫폼 (Platform as a Service; PaaS) 제공자 등에 의해 수행될 수도 있다. 일부 예들에서, 방법 (100) 은 도 4 에 대하여 본원에 논의된 바와 같은 시스템에 의해 수행될 수도 있다.
방법 (100) 은 프로세싱 스텝들, 기능적 동작들, 이벤트들 및/또는 액트들 등으로서 설명될 수도 있고, 하드웨어, 소프트웨어, 및/또는 펌웨어에 의해 수행될 수도 있는 다양한 기능적 블록들 또는 액션들을 기술한다. 본 개시물을 고려하여 당업자는, 도 1 에 도시된 기능적 블록들에 대한 다수의 대안들이 다양한 구현들에서 실시될 수도 있다는 것을 인식할 것이다. 예를 들어, 도 1 에 도시된 바와 같이 방법 (100) 은 블록들 또는 액션들의 하나의 특정 순서를 포함하지만, 이들 블록들 또는 액션들이 제시되는 순서는 반드시 임의의 특정 순서에 청구된 주제를 제한하지는 않는다. 유사하게, 청구된 주제의 범위로부터 벗어남 없이, 도 1 에 도시되지 않은 개재 액션들 및/또는 도 1 에 도시되지 않은 추가의 액션들이 이용될 수도 있고/있거나 도 1 에 도시된 액션들 중 일부는 제거될 수도 있다. 방법 (100) 은 블록들 (110, 120, 130 및/또는 140) 중 하나 이상에 의해 표기되는 바와 같은 기능 동작들 중 하나 이상을 포함할 수도 있다. 방법 (100) 의 프로세스는 블록 110 에서 시작할 수도 있다.
블록 110, "시스템 테스트 태크스들을 트랜스퍼" 에서, 하나 이상의 시스템 테스트 태스크들은 오리진 클라우드 시스템으로 트랜스퍼될 수도 있다. 일반적으로, 하나 이상의 시스템 테스트 태스크들은 하나 이상의 테스트된 성능 메트릭들을 생성하도록 오리진 클라우드 시스템의 오리진 가상 머신 상의 서비스 배치를 테스트하도록 구성될 수도 있다. 일부 예들에서, 하나 이상의 시스템 테스트 태스크들은 목적지 클라우드 시스템을 통해 오리진 클라우드 시스템으로 트랜스퍼될 수도 있다. 일부 예들에서, 하나 이상의 시스템 테스트 태스크들은 제 3 자 클라우드 시스템 또는 범용 컴퓨팅 시스템을 통해 오리진 클라우드 시스템으로 트랜스퍼될 수도 있다. 일반적으로, 테스트 태스크들은 임의의 적합한 통신 기법 또는 기법들을 사용하여 트랜스퍼될 수도 있다. 일부 예들에서, 테스트 태스크는 가상 사설 네트워크 (virtual private network; VPN) 를 통해 트랜스퍼될 수도 있다. 일부 예들에서, 테스트 태스크는, 그것이 오리진 클라우드 시스템의 관점에서 소비자로부터 나오는 것으로 보이도록 트랜스퍼될 수도 있다. 일부 예들에서, 테스트 태스크는 인터넷을 통해 트랜스퍼될 수도 있다.
일반적으로, 테스트 태스크들은 오리진 클라우드 시스템 상에서 업로드되고 실행될 수도 있는 임의의 적합한 태스크, 태스크들의 그룹 또는 시리즈들, 또는 서브태스크들 등을 포함할 수도 있다. 일부 예들에서, 테스트 태크스들은 하나 이상의 애플리케이션들을 포함할 수도 있다. 일부 예들에서, 테스트 태스크들은 하나 이상의 프로세스들을 포함할 수도 있다. 일부 예들에서, 테스트 태스크들은 하나 이상의 표준 및/또는 라이브러리 태스크들을 포함할 수도 있다. 일부 예들에서, 테스트 태스크들은 하나 이상의 클라이언트 기입된 태스크들을 포함할 수도 있다. 일부 예들에서, 테스트 태스크들은 성능을 조정할 수도 있는 구성 관리 시스템들을 테스트할 수도 있는 태스크들을 포함할 수도 있다. 예를 들어, 구성 관리 시스템들은 소비자 요구들 및/또는 템플릿들을 충족시키도록 서버들, 네트워크 접속들, 또는 저장 시스템들 등을 어셈블링할 수도 있다. 클라우드 시스템에 테스트 태스크들을 제공하는 것은 예를 들어, 목적지 클라우드 시스템에 대해 필요한 성능 템플릿들을 설정할 수도 있는 성능 메트릭들을 리턴할 수도 있다. 일부 예들에서, 성능 메트릭들은 레이턴시의 레벨 또는 스루풋의 레벨 등을 포함할 수도 있다. 일부 예들에서, 리턴된 성능 메트릭들은 클라우드 시스템에서 상이한 컴퓨테이션 유형들에 기초하여 상이한 출력들을 포함할 수도 있다. 일부 예들에서, 리턴된 성능 메트릭들은 클라우드 시스템의 특징을 제공할 수도 있다. 일부 예들에서, 리턴된 성능 메트릭들은 클라우드 시스템을 실질적으로 시뮬레이션하거나 모방할 수도 있다. 일부 예들에서, 테스트 태스크들은, 목적지 클라우드 시스템에서 구현될 수도 있는, 시스템 아키텍처 (예를 들어, 마스터-슬레이브 파일 시스템이 사용되는지 여부) 를 테스트하는데 사용될 수도 있다.
일부 예들에서, 테스트 태스크들은 오리진 클라우드 시스템 내의 네트워크 및/또는 저장 성능을 테스트하도록 구성될 수도 있다. 일부 예들에서, 테스트 태스크들은 다수의 머신들에 배치될 수도 있고 인트라-메시징 성능과 같은 테스트 성능 메트릭들이 결정될 수도 있다. 일부 예들에서, 네트워크 지연들은 시스템 시간 스탬프들을 사용하여 판단될 수도 있다. 일부 예들에서, 시스템 시간 스탬프 성능 및 네트워크 지연들 양자 모두는, 인트라-클라우드 클록들의 에러가 액세스될 수도 있도록 정확도 시간 프로토콜 (Precision Time Protocol) 또는 IEEE 1588 을 사용하여 다수의 머신들 간에 동기화 링크를 확립함으로써 테스트될 수도 있다. 일부 예들에서, 다수의 머신 테스트 태스크들은 반복적으로 그리고 수많이 수행되어 통상적인 네트워크 분리 및/또는 지연들 등을 측정 (gauge) 할 수도 있다. 관련된 성능 메트릭들은, 소비자의 배치가 동일한 서버 랙, 또는 서버 행, 또는 서버 센터 등 내에 있을 수도 있는지 여부를 나타낼 수도 있다. 목적지 클라우드 시스템을 구현하는데 있어서, 이러한 배치 특징들은 실질적으로 복제되거나 의도적으로 변경되거나 개선될 수도 있다. 일부 예들에서, 본원에 논의된 바와 같이, 테스트 성능 메트릭들은 목적지 클라우드 시스템에서 초기 구현 시에 복제되고, 후속하여 안정된 성능이 획득된 후에 달라질 수도 있다.
일부 예들에서, 테스트 태스크들은 오리진 클라우드 시스템에서 장비를 식별하도록 구성될 수도 있다. 일부 예들에서, 테스트 태스크들은 프로세서 식별들 및/또는 장비 유형들 등을 감지할 수도 있다. 일부 예들에서, 수신된 테스트 성능 메트릭들 (이 경우에서 장비 식별들 또는 사양들) 은, 유사한 장비가 제공되고/되거나 이용될 수도 있도록 목적지 클라우드 시스템에서 참고될 수도 있다.
일반적으로, 하나 이상의 시스템 테스트 태스크들은 하나 및/또는 그 이상의 테스트된 성능 메트릭들을 생성하기 위해 오리진 가상 머신 상의 서비스 배치를 테스트하도록 구성될 수도 있다. 테스트 태스크들은 예를 들어 시간들, 요일들, 주들, 또는 개월들과 같은 임의의 적합한 지속기간 동안 실행하도록 구성될 수도 있다. 긴 지속기간들 동안 테스트 태스크들을 실행하는 것은 통계 및 변화 정보를 제공할 수도 있다. 일부 예들에서, 짧은 지속기간 동안 상당 수의 테스트들을 요청함으로써 혼잡 이벤트가 야기되지 않을 수 있도록, 네트워크 파라미터들을 테스트하는 것은 더 긴 지속기간 동안 수행될 수도 있다. 더 짧은 지속기간들 동안 테스트 태스크들을 실행하는 것은 더 빠른 턴어라운드 (turnaround) 시간을 제공할 수도 있다. 일부 예들에서, 시스템 테스트 태스크는 오리진 가상 머신의 비-시뮬레이션된 동작의 패시브 관측을 통해 테스트된 성능 메트릭들을 생성하도록 구성될 수도 있다. 일부 예들에서, 시스템 테스트 태스크는 오리진 가상 머신의 시뮬레이션된 동작의 액티브 관측을 통해 테스트된 성능 메트릭을 생성하도록 구성될 수도 있다. 이하에서 논의되는 바와 같이, 일반적으로 테스트된 성능 메트릭들은 임의의 적합한 테스트된 성능 메트릭들을 포함할 수도 있다. 일부 예들에서, 테스트된 성능 메트릭들은 일관성-유형 메트릭, 트랜잭션-유형 메트릭, 레이턴시-유형 메트릭, 스루풋-유형 메트릭, 데이터 손실-유형 메트릭, 페일오버 (failover)-유형 메트릭 등을 포함할 수도 있다. 방법 (100) 의 프로세스는 블록 120 을 계속할 수도 있다.
블록 120, "테스트된 성능 메트릭들을 수신" 에서, 하나 이상의 테스트된 성능 메트릭들이 수신될 수도 있다. 일부 예들에서, 하나 이상의 테스트된 성능 메트릭들은 목적지 클라우드 시스템을 통해 수신될 수도 있다. 일부 예들에서, 하나 이상의 테스트된 성능 메트릭들은 제 3 자 클라우드 시스템 또는 범용 컴퓨팅 시스템을 통해 수신될 수도 있다. 일반적으로, 테스트된 성능 메트릭들은 임의의 적합한 통신 기법 또는 기법들을 사용하여 수신될 수도 있다. 일반적으로, 테스트된 성능 메트릭들은 임의의 적합한 정보 또는 데이터 등을 포함할 수도 있다. 논의된 바와 같이, 일부 예들에서, 테스트된 성능 메트릭들은 일관성-유형 메트릭, 트랜잭션-유형 메트릭, 레이턴시-유형 메트릭, 스루풋-유형 메트릭, 데이터 손실-유형 메트릭, 페일오버-유형 메트릭 등을 포함할 수도 있다. 방법 (100) 의 프로세스는 블록 130 을 계속할 수도 있다.
블록 130, "가상 머신을 구성" 에서, 가상 머신은 수신된 테스트된 성능 메트릭들에 적어도 부분적으로 기초하여 구성될 수도 있다. 일반적으로, 가상 머신은 임의의 적합한 방식으로 구성될 수도 있다. 일부 예들에서, 가상 머신은 목적지 클라우드 시스템을 통해 구성될 수도 있다. 일부 예들에서, 가상 머신은 제 3 자 클라우드 시스템 또는 범용 컴퓨팅 시스템을 통해 구성될 수도 있다. 일부 예들에서, 가상 머신은 목적지 가상 머신일 수도 있다.
일부 예들에서, 가상 머신은 서비스 배치를 실행하도록 구성될 수도 있다. 일부 예들에서, 가상 머신은 블록 110 에서 논의된 바와 같이 시스템 테스트 태스크의 적어도 일부로서 목적지 클라우드 시스템으로 트랜스퍼된 하나 이상의 서비스 배치들을 실행하도록 구성될 수도 있다. 일부 예들에서, 가상 머신을 구성하는 것은 구성된 가상 머신 상의 오리진 가상 머신을 실질적으로 모방하는 것을 포함할 수도 있다. 일부 예들에서, 가상 머신을 구성하는 것은 (블록 120 에서 논의된 바와 같이) 수신된 테스트된 성능 메트릭들 중 하나 이상을 변경하거나 초과하도록 가상 머신을 구성하는 것을 포함할 수도 있다. 일부 예들에서, 가상 머신을 구성하는 것은 먼저 오리진 가상 머신을 실질적으로 모방하도록 가상 머신을 구성하는 것, 및 오리진 가상 머신을 실질적으로 모방하도록 목적지 가상 머신을 구성한 후에 테스트된 성능 메트릭들 중 하나 이상을 변경 또는 초과하도록 목적지 가상 머신을 구성하는 것을 포함할 수도 있다. 일부 예들에서, 가상 머신을 구성하는 것은 수신된 테스트된 성능 메트릭들 및 서비스 레벨 동의 데이터에 적어도 부분적으로 기초하여 가상 머신을 구성하는 것을 포함할 수도 있다. 일반적으로, 서비스 레벨 동의 데이터는 클라우드 서비스 성능 메트릭들, 구현 사양, 시스템 상세들 등에 속하는 상세들과 같은 클라우드 시스템 서비스에 관련된 임의의 데이터를 포함할 수도 있다.
논의된 바와 같이, 일부 예들에서, 목적지 가상 머신이 구성될 수도 있다. 다른 예들에서, 가상 머신이 생성된 구성 데이터에 기초하여 구성될 수도 있도록 가상 머신에 대한 구성 데이터가 생성 및 제공될 수도 있다. 방법 (100) 의 프로세스는 블록 140 을 계속할 수도 있다.
블록 140, "파일 시스템 아키텍처-유형 결정" 에서, 오리진 가상 머신과 연관된 파일 시스템 아키텍처-유형이 결정될 수도 있다. 일반적으로, 파일 시스템 아키텍처-유형은 임의의 적합한 방식으로 결정될 수도 있다. 일부 예들에서, 파일 시스템 아키텍처-유형은 수신된 테스트된 성능 메트릭들에 적어도 부분적으로 기초하여 결정될 수도 있다. 일부 예들에서, 파일 시스템 아키텍처-유형은 수신된 테스트된 성능 메트릭들을 기지의 파일 시스템 아키텍처들의 기지의 특징들에 비교함으로써 결정될 수도 있다. 일부 예들에서, 수신된 테스트된 성능 메트릭들은 일관성, 트랜잭션들이 지원될 수 있는지 여부, 레이턴시, 스루풋, 데이터 손실, 페일오버가 지원될 수 있는지 여부 등을 포함할 수도 있다.
일반적으로, 파일 시스템 아키텍처-유형은 임의의 적합한 파일 시스템 아키텍처-유형을 포함할 수도 있다. 다양한 예들에서, 파일 시스템 아키텍처-유형은 백업-유형 아키텍처, 마스터/슬레이브-유형 아키텍처, 다중 마스터-유형 아키텍처, 2-페이즈 코밋 (commit)-유형 아키텍처, 및/또는 Paxos-유형 아키텍처, 또는 이들의 조합을 포함할 수도 있다. 일부 예들에서, 백업-유형 아키텍처는 약한 일관성, 트랜잭션 지원 없음, 낮은 레이턴시, 높은 스루풋, 상당한 데이터 손실, 다운 시간 동안 페일오버 등에 의해 특징지어질 수도 있다. 일부 예들에서, 마스터/슬레이브-유형 아키텍처는 궁극적인 일관성, 풀 트랜잭션 지원, 낮은 레이턴시, 높은 스루풋, 일부 데이터 손실, 판독 전용 페일오버 등에 의해 특징지어질 수도 있다. 일부 예들에서, 다중 마스터-유형 아키텍처는 궁극적인 일관성, 로컬 트랜잭션 지원, 낮은 레이턴시, 높은 스루풋, 일부 데이터 손실, 판독/기입 페일오버 등에 의해 특징지어질 수도 있다. 일부 예들에서, 2-페이즈 코밋-유형 아키텍처는 강한 일관성, 풀 트랜잭션 지원, 높은 레이턴시, 낮은 스루풋, 데이터 손실 없음, 판독/기입 페일오버 등에 의해 특징지어질 수도 있다. 일부 예들에서, Paxos-유형 아키텍처는 강한 일관성, 충분한 (full) 트랜잭션 지원, 높은 레이턴시, 중간 스루풋, 데이터 손실 없음, 판독/기입 페일오버 등에 의해 특징지어질 수도 있다.
논의된 바와 같이, 본 개시물은 소비자가 애플리케이션들 및 데이터를 목적지 또는 새로운 데이터 센터로 이동하기 전에 오리진 데이터 센터로부터 상세하고 광범위한 측정치들의 세트를 획득하기 위해 목적지 클라우드 시스템으로의 트랜스퍼를 고려하는, 오리진 클라우드 시스템의 소비자를 위한 방법들 및 시스템들을 기술할 수도 있다. 이들 측정치들은 목적지 데이터 센터가 오리진 데이터 센터에 매칭, 이를 변경, 또는 초과하도록 목적지 환경을 준비하는 것을 허용할 수도 있다. 또한, 이것은 비교 또는 다른 목적들을 위해 새로운 데이터 센터의 서비스 레벨의 특징들의 리스트 및 오리진 데이터 센터의 서비스 레벨의 특징들을 나타내는 상세한 리스트의 준비를 허용할 수도 있다. 일부 예들에서, 소비자의 서비스 배치들로 오리진 데이터 센터에서 테스트 프로그램들을 실행하는 것은 기존의 배치 성능을 특징짓고 측정하는데 사용될 수도 있으며, 이것은 소비자의 현재 서비스 배치들을 사용하여 오리진 데이터 센터의 실질적으로 직접적인 측정을 허용할 수도 있다.
도 2 는 본 개시물의 적어도 일부 실시형태들에 따라 배열된, 예시의 시스템의 예이다. 도시된 바와 같이, 시스템 (200) 은 트랜스퍼 모듈 (220), 수신 모듈 (230), 구성 모듈 (240), 결정 모듈 (250), 및 목적지 가상 머신 (260) 을 갖는 목적지 클라우드 시스템 (210), 및 오리진 가상 머신 (280) 을 갖는 오리진 클라우드 시스템 (270) 을 포함할 수도 있다. 명료함을 위해 단지 하나의 오리진 가상 머신이 도시되었으나, 오리진 클라우드 시스템은 여러 또는 많은 가상 머신들을 포함할 수도 있다. 또한, 오리진 클라우드 시스템에서 소비자 배치는 하나, 수개, 또는 많은 오리진 가상 머신들을 통해 구현될 수도 있다.
일반적으로, 트랜스퍼 모듈 (220) 은 목적지 클라우드 시스템 (210) 으로부터 오리진 클라우드 시스템 (270) 으로 하나 이상의 시스템 테스트 태스크들을 트랜스퍼하도록 구성될 수도 있다. 논의된 바와 같이, 각각의 시스템 테스트 태스크는 오리진 가상 머신 (280) 상에서 서비스 배치를 테스트하여 하나 이상의 테스트된 성능 메트릭들을 생성하도록 구성될 수도 있다. 일반적으로, 트랜스퍼된 시스템 테스트 태스크 또는 태스크들은 본원에 논의된 바와 같이 임의의 시스템 테스트 태스크들을 포함할 수도 있다.
도시된 바와 같이, 목적지 클라우드 시스템 (210) 은 목적지 클라우드 시스템 (210) 에서 하나 이상의 테스트된 성능 메트릭들을 수신하도록 구성될 수도 있는, 수신 모듈 (230) 을 포함할 수도 있다. 일반적으로, 하나 이상의 테스트된 성능 메트릭들은 본원에 논의된 바와 같이 테스트 성능 메트릭들 중 어느 하나를 포함할 수도 있다. 목적지 클라우드 시스템 (210) 은 또한, 목적지 클라우드 시스템 (210) 과 연관된 목적지 가상 머신 (260) 을 구성하도록 구성될 수도 있는 구성 모듈 (240) 을 포함할 수도 있다. 일반적으로, 구성 모듈 (240) 은 본원에 논의된 기법들 중 어느 하나를 포함하는 임의의 적합한 기법 또는 기법들을 사용하여 목적지 가상 머신 (260) 을 구성할 수도 있다. 일부 예들에서, 목적지 가상 머신 (260) 은 하나 이상의 테스트된 성능 메트릭들에 적어도 기초하여 서비스 배치를 실행하도록 구성될 수도 있다.
도시된 바와 같이, 시스템 (200) 은 오리진 가상 머신 (230) 과 연관된 파일 시스템 아키텍처-유형을 결정하도록 구성될 수도 있는, 결정 모듈 (250) 을 포함할 수도 있다. 일반적으로, 결정 모듈 (250) 은 본원에 논의된 기법들과 같은, 임의의 적합한 기법 또는 기법들을 사용하여 파일 시스템 아키텍처-유형을 결정하도록 구성될 수도 있다. 일부 예들에서, 결정 모듈 (250) 은 하나 이상의 테스트된 성능 메트릭들에 적어도 부분적으로 기초하여 파일 시스템 아키텍처-유형을 결정하도록 구성될 수도 있다. 논의된 바와 같이, 일부 예들에서, 파일 시스템 아키텍처는 백업-유형 아키텍처, 마스터/슬레이브 아키텍처, 다중 마스터-유형 아키텍처, 2-페이즈 코밋-유형 아키텍처, 및/또는 Paxos-유형 아키텍처, 및/또는 다른 아키텍처 유형, 및/또는 이들의 조합들을 포함하는 임의의 적합한 파일 시스템 아키텍처 유형 또는 유형들을 포함할 수도 있다.
일부 예들에서, 구성 모듈 (240) 은, 목적지 가상 머신 (260) 을 구성하는 것이 실질적으로 오리진 클라우드 시스템 (270) 상의 오리진 가상 머신 (280) 을 모방할 수 있도록 목적지 가상 머신 (260) 을 구성할 수도 있다. 일부 예들에서, 구성 모듈은, 목적지 가상 머신 (260) 을 구성하는 것이 수신된 테스트된 성능 메트릭들 중 하나 이상의 변경 또는 초과하도록 목적지 가상 머신 (260) 을 구성하는 것을 포함할 수 있도록 목적지 가상 머신 (260) 을 구성할 수도 있다. 일부 예들에서, 구성 모듈 (250) 은, 목적지 가상 머신 (260) 을 구성하는 것이 먼저 오리진 가상 머신 (280) 을 실질적으로 모방하도록 목적지 가상 머신 (260) 을 구성하고, 오리진 가상 머신 (280) 을 실질적으로 모방하도록 목적지 가상 머신 (260) 을 구성한 후에 수신된 테스트된 성능 메트릭들 중 하나 이상을 변경하도록 목적지 가상 머신 (260) 을 구성하는 것을 포함할 수도 있다. 일부 예들에서, 구성 모듈 (250) 은, 목적지 가상 머신 (260) 을 구성하는 것이 도 1 에 대하여 전술된 바와 같이 수신된 테스트된 성능 메트릭들 및 서비스 레벨 동의 데이터에 적어도 부분적으로 기초하여 목적지 가상 머신 (260) 을 구성하는 것을 포함할 수 있도록 목적지 가상 머신 (260) 을 구성할 수도 있다.
일부 예들에서, 시스템 테스트 태스크들 결과들은 시스템 (200) 에서, 예컨대 수신 모듈 (230) 에서 수신될 수도 있다. 일부 예에서, 시스템 (200) 은 시스템 테스트 태스크들을 생성하도록 구성될 수도 있다. 일반적으로, 시스템 테스트 태스크들은 임의의 적합한 방식으로 생성될 수도 있다. 일부 예에서, 시스템 (200) 은, 하나 이상의 시스템 테스트 태스크들이 오리진 가상 머신의 비-시뮬레이션된 동작의 패시브 관측을 통해 하나 이상의 테스트된 성능 메트릭들 중 적어도 하나를 생성하도록 구성되도록 시스템 테스트 태스크들을 생성하도록 구성될 수도 있다. 일부 예들에서, 시스템 (200) 은, 하나 이상의 시스템 테스트 태스크들이 오리진 가상 머신의 시뮬레이션된 동작의 액티브 관측을 통해 하나 이상의 테스트된 성능 메트릭들 중 적어도 하나를 생성하도록 구성되도록 시스템 테스트 태스크들을 생성하도록 구성될 수도 있다.
일반적으로, 도 4 에 대하여 그리고 본원의 그 밖에서 논의된 바와 같이, 목적지 클라우드 시스템 (210) 및 트랜스퍼 모듈 (220), 수신 모듈 (230), 구성 모듈 (240), 결정 모듈 (250), 및 목적지 가상 머신 (260) 은 임의의 적합한 방식으로 구현될 수도 있고, 프로세싱 리스소들, 메모리 리소스들, 및/또는 안테나 리스소들 등과 같은 임의의 컴퓨팅 및/또는 통신 리소스들을 포함할 수도 있다. 일부 예들에서, 트랜스퍼 모듈 (220), 수신 모듈 (230), 구성 모듈 (240), 및/또는 결정 모듈 (250) 은 컴퓨팅 및/또는 통신 리소스들을 공유할 수도 있다.
도 3 은 본 개시물의 적어도 일부 실시형태들에 따라 배열된, 예시의 컴퓨터 프로그램 제품을 나타낸다. 일반적으로, 컴퓨터 프로그램 제품 (300) 은 임의의 적합한 아티클 또는 제품을 포함할 수도 있다. 프로그램 제품 (300) 은 신호 베어링 매체 (302) 를 포함할 수도 있다. 신호 베어링 매체 (302) 는 하나 이상의 판독가능 명령들 (304) 을 포함할 수도 있고, 이 명령들은 하나 이상의 프로세서들에 의해 실행되는 경우, 컴퓨팅 디바이스로 하여금 동작적으로 도 1 에 대하여 전술된 기능을 제공하게 할 수도 있다. 따라서, 예를 들어, 도 2 의 시스템을 참조하여, 모듈들은 매체 (302) 에 의해 전달된 명령들 (304) 에 응답하여 도 1 에 도시된 액션들 중 하나 이상을 착수할 수도 있다.
일부 예들에서, 머신 판독가능 명령들 (304) 은, 실행되는 경우 컴퓨터로 하여금, 목적지 클라우드 시스템을 통해 하나 이상의 시스템 테스트 태스크들을 오리진 클라우드 시스템으로 트랜스퍼함으로써 클라우드 컴퓨팅 서비스들에서 컴퓨팅 환경들을 복제하게 하는 명령들을 포함할 수도 있고, 시스템 테스트 태스크들은 하나 이상의 테스트된 성능 메트릭들을 생성하도록 오리진 가상 머신 상의 서비스 배치를 테스트하도록 구성된다. 일부 예들에서, 머신 판독가능 명령들 (304) 은, 실행되는 경우 컴퓨터로 하여금, 목적지 클라우드 시스템을 통해 하나 이상의 테스트된 성능 메트릭들을 수신함으로써 클라우드 컴퓨팅 서비스들에서 컴퓨팅 환경들을 복제하게 하는 명령들을 포함할 수도 있다. 일부 예들에서, 머신 판독가능 명령들 (304) 은, 실행되는 경우 컴퓨터로 하여금 목적지 클라우드 시스템을 통해 하나 이상의 테스트된 성능 메트릭들에 적어도 기초하여 서비스 배치를 실행하도록 목적지 가상 머신을 구성함으로써 클라우드 컴퓨팅 서비스들에서 컴퓨팅 환경들을 복제하게 하는 명령들을 포함할 수도 있다. 일부 예들에서, 머신 판독가능 명령들 (304) 은, 실행되는 경우 컴퓨터로 하여금, 목적지 클라우드 시스템을 통해 하나 이상의 테스트된 성능 메트릭들에 적어도 부분적으로 기초하여 오리진 가상 머신과 연관된 파일 시스템 아키텍처-유형을 결정함으로써 클라우드 컴퓨팅 서비스들에서 컴퓨팅 환경들을 복제하게 하는 명령들을 포함할 수도 있고, 여기서 파일 시스템 아키텍처는 다음의 아키텍처 유형들, 백업-유형 아키텍처, 마스터/슬레이브-유형 아키텍처, 다중 마스터-유형 아키텍처, 2-페이즈 코밋-유형 아키텍처, 및/또는 Paxos-유형 아키텍처 중 하나 이상을 포함한다.
일부 구현들에서, 신호 베어링 매체 (302) 는, 하드디스크 드라이브, 컴팩트 디스크 (Compact Disc; CD), 디지털 다기능 디스크 (Digital Versatile Disk; DVD), 디지털 테이프, 메모리 등과 같은 그러나 이들에 제한되지 않는 컴퓨터 판독가능 매체 (306) 를 포함할 수도 있다. 일부 구현들에서, 신호 베어링 매체 (302) 는, 메모리, 판독/기록 (R/W) CD들, R/W DVD들 등과 같은 그러나 이들에 제한되지 않는 기록가능 매체 (308) 를 포함할 수도 있다. 일부 구현들에서, 신호 베어링 매체 (302) 는, 디지털 및/또는 아날로그 통신 매체 (예를 들어, 광섬유 케이블, 도파관, 유선 통신 링크, 무선 통신 링크 등) 와 같은 그러나 이에 제한되지 않는 통신 매체 (310) 를 포함할 수도 있다.
도 4 는 본 개시의 적어도 일부 실시형태들에 따라 배열된 예시의 컴퓨팅 디바이스 (400) 를 예시하는 블록도이다. 다양한 예들에서, 컴퓨팅 디바이스 (400) 는 본원에서 논의된 바와 같은 클라우드 컴퓨팅 서비스들에서 컴퓨팅 환경을 복제하도록 구성될 수도 있다. 다양한 예들에서, 컴퓨팅 디바이스 (400) 는 본원에 논의된 바와 같이 시스템 태스크들을 트랜스퍼하고, 테스트된 성능 메트릭들을 수신하고, 목적지 가상 머신을 구성하고/하거나 파일 시스템 아키텍처-유형을 결정하도록 구성될 수도 있다.
본원에서 논의된 바와 같은 서버 시스템으로서 보안 데이터 저장 서비스를 제공하도록 구성될 수도 있다. 일 예시의 기본 구성 (401) 에서, 컴퓨팅 디바이스 (400) 는 하나 이상의 프로세서들 (410) 및 시스템 메모리 (420) 를 포함할 수도 있다. 메모리 버스 (430) 는 프로세서 (410) 와 시스템 메모리 (420) 사이에서 통신하기 위해 사용될 수도 있다.
원하는 구성에 따라, 프로세서 (410) 는, 마이크로프로세서 (μP), 마이크로제어기 (μC), 디지털 신호 프로세서 (DSP), 또는 이들의 임의의 조합을 포함하는 임의의 유형일 수도 있지만, 이들에 제한되는 것은 아니다. 프로세서 (410) 는 레벨 1 캐시 (411) 및 레벨 2 캐시 (412) 와 같은 하나 이상의 레벨들의 캐시, 프로세서 코어 (413), 및 레지스터 (414) 를 포함할 수도 있다. 프로세서 코어 (413) 는 산술 로직 유닛 (ALU), 부동소수점 유닛 (FPU), 디지털 신호 프로세싱 코어 (DSP 코어), 또는 이들의 임의의 조합을 포함할 수도 있다. 메모리 제어기 (415) 는 또한 프로세서 (410) 와 함께 사용될 수 있고, 또는 일부 구현들에서, 메모리 제어기 (415) 는 프로세서 (410) 의 내부 부품일 수 있다.
원하는 구성에 따라, 시스템 메모리 (420) 는 휘발성 메모리 (예컨대, RAM), 비휘발성 메모리 (예컨대, ROM, 플래시 메모리 등) 또는 이들의 임의의 조합을 포함하는 임의의 유형일 수도 있는데, 이들에 제한되는 것은 아니다. 시스템 메모리 (420) 는 운영 시스템 (421), 하나 이상의 애플리케이션들 (422), 및 프로그램 데이터 (424) 를 포함할 수도 있다. 애플리케이션 (422) 은, 도 1 의 방법 (100) 에 대하여 설명된 기능성 블록들 및/또는 액션들을 포함하는, 본원에서 설명된 바와 같은 기능들을 수행하도록 배열될 수 있는 클라우드 시스템 테스팅 애플리케이션 (423) 을 포함할 수도 있다. 프로그램 데이터 (424) 는 클라우드 시스템 테스팅 애플리케이션 (423) 에 의한 사용을 위해 클라우드 시스템 테스팅 데이터 (425), 예를 들어 시스템 테스트 태스크들에 대응하는 데이터, 테스트된 성능 메트릭들, 가상 머신 구성 데이터 등을 포함할 수도 있다. 일부 예시의 실시형태들에서, 본원에 설명된 바와 같이 가상 머신 복제의 구현들이 제공될 수 있도록 애플리케이션 (422) 은 운영 시스템 (421) 상에서 프로그램 데이터 (424) 와 함께 동작하도록 배열될 수도 있다.
컴퓨팅 디바이스 (400) 는 부가적인 특성들 또는 기능, 및 기본 구성 (401) 과 임의의 필요한 디바이스들 및 인터페이스들 간의 통신들을 용이하게 하기 위한 부가적인 인터페이스들을 구비할 수도 있다. 예를 들어, 버스/인터페이스 제어기 (440) 는 기본 구성 (401) 과 하나 이상의 데이터 저장 디바이스들 (450) 사이의 저장 인터페이스 버스 (441) 를 통한 통신들을 용이하게 하기 위해 사용될 수도 있다. 데이터 저장 디바이스들 (450) 은 착탈형 저장 디바이스들 (451), 비착탈형 저장 디바이스들 (452), 또는 이들의 조합일 수도 있다. 착탈형 저장 디바이스들 및 비착탈형 저장 디바이스들의 예들은, 일부를 거론하자면, 플렉시블 디스크 드라이브들 및 하드 디스크 드라이브들 (HDD) 과 같은 자기 디스크 디바이스들, 컴팩트 디스크 (CD) 드라이브들 또는 디지털 다기능 디스크 (DVD) 드라이브들과 같은 광학 디스크 드라이브들, 솔리드 스테이트 드라이브들 (SSD), 및 테이프 드라이브들을 포함한다. 예시의 컴퓨터 저장 매체는, 컴퓨터 판독가능 명령들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터와 같은 정보 저장을 위한 임의의 방법 또는 기술에서 구현되는 휘발성 및 비휘발성의 착탈형 및 비착탈형 매체를 포함할 수도 있다.
시스템 메모리 (420), 착탈형 스토리지들 (451) 및 비착탈형 스토리지들 (452) 모두는 컴퓨터 저장 매체의 예들이다. 컴퓨터 저장 매체는, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크들 (DVD) 또는 다른 광학 스토리지, 자기 카세트들, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 원하는 정보를 저장하기 위해 사용될 수도 있고 컴퓨팅 디바이스 (400) 에 의해 액세스될 수도 있는 임의의 다른 매체를 포함하지만, 이들에 제한되는 것은 아니다. 임의의 이러한 컴퓨터 저장 매체는 디바이스 (400) 의 일부일 수도 있다.
컴퓨팅 디바이스 (400) 는 또한 여러 인터페이스 디바이스들 (예를 들어, 출력 인터페이스들, 주변 인터페이스들, 및 통신 인터페이스) 로부터 기본 구성 (401) 으로의 버스/인터페이스 제어기 (440) 를 통한 통신을 용이하게 하기 위한 인터페이스 버스 (442) 를 포함할 수도 있다. 예시의 출력 인터페이스들 (460) 은 그래픽 프로세싱 유닛 (461) 및 오디오 프로세싱 유닛 (462) 을 포함할 수도 있으며, 이들은 하나 이상의 A/V 포트들 (463) 를 통해 디스플레이 또는 스피커들과 같은 다양한 외부 디바이스들과 통신하도록 구성될 수도 있다. 예시의 주변 인터페이스들 (470) 은 직렬 인터페이스 제어기 (471) 또는 병렬 인터페이스 제어기 (472) 을 포함할 수도 있으며, 이들은 입력 디바이스들 (예를 들어, 키보드, 마우스, 펜, 음성 입력 디바이스, 터치 입력 디바이스 등) 과 같은 외부 디바이스들과 하나 이상의 I/O 포트들 (473) 을 통해 통신하도록 구성될 수도 있다. 예시의 통신 인터페이스 (1480) 는 네트워크 제어기 (481) 를 포함하며, 이것은 하나 이상의 통신 포트들 (482) 를 통한 네트워크 통신을 통해 하나 이상의 다른 컴퓨팅 디바이스들 (490) 과의 통신을 용이하게 하도록 배열될 수도 있다. 통신 접속은 통신 매체들의 일 예이다. 통신 매체는 일반적으로 컴퓨터 판독가능 명령들, 데이터 구조들, 프로그램 모듈들, 또는 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호에서의 다른 데이터에 의해 구체화될 수도 있고, 임의의 정보 전송 매체를 포함할 수도 있다. "변조된 데이터 신호"는 하나 이상의 자신의 특징들 세트를 구비하거나 또는 신호에 정보를 인코딩하도록 하는 방식으로 변경된 신호일 수도 있다. 비제한적인 예로서, 통신 매체는 유선 네트워크 또는 직결 접속과 같은 유선 매체, 및 음향, 라디오 주파수 (RF), 마이크로파, 적외선 (IR) 와 같은 무선 매체 및 다른 무선 매체를 포함할 수도 있다. 본원에서 사용된 컴퓨터 판독가능 매체라는 용어는 저장 매체 및 통신 매체 양자를 포함할 수도 있다.
컴퓨팅 디바이스 (400) 는, 셀폰, PDA (personal data assistant), 퍼스널 미디어 플레이어 디바이스, 무선 웹-워치 디바이스, 퍼스널 헤드셋 디바이스, 애플리케이션 전용 디바이스, 또는 임의의 상기 기능들을 포함하는 하이브리드 디바이스와 같은 스몰 폼-팩터의 휴대형 (또는 모바일) 전자 디바이스의 일부로서 구현될 수도 있다. 컴퓨팅 디바이스 (400) 는 또한 랩탑 컴퓨터 및 비랩탑 컴퓨터 구성들 양자를 포함하는 퍼스널 컴퓨터로서 구현될 수도 있다. 또한, 컴퓨팅 디바이스 (400) 는 클라우드 컴퓨팅 환경, 클라우드 컴퓨팅 서비스, 또는 데이터 센터 등의 일부로서 구현될 수도 있다.
앞서의 상세한 설명 중 일부 부분들은 컴퓨터 메모리와 같은 컴퓨팅 시스템 메모리 내에 저장된 데이터 비트들 또는 이진 디지털 신호들에 대한 동작들의 알고리즘들 또는 기호적 표현들 (symbolic representations) 의 면에서 제시된다. 이들 알고리즘적인 설명들 또는 표현들은 데이터 프로세싱 분야들에서의 당업자가 그들의 작업 내용을 다른 당업자에게 전달하기 위해 당업자들에 의해 사용되는 기법들의 예들이다. 알고리즘은, 본원에서, 그리고 일반적으로, 동작들의 모순이 없는 시퀀스 (a self-consistent sequence) 또는 원하는 결과로 이끄는 유사한 프로세싱인 것으로 간주된다. 이러한 맥락에서, 동작들 또는 프로세싱은 물리적 양들의 물리적 조작을 수반한다. 통상적으로, 필수적이진 않지만, 이러한 양들은 저장, 전송, 병합, 비교 또는 그렇지 않으면 조작될 수 있는 전자적 또는 자기적 신호의 형태를 취할 수도 있다. 원칙적으로 공동 사용의 이유로 인해, 이러한 신호들을 비트들, 데이터, 값들, 엘리먼트들, 심볼들, 캐릭터들, 용어들, 숫자들, 수치들 등으로 지칭하는 것이 때때로 편리하다는 것이 증명되었다. 그러나, 이들 및 유사한 용어들의 모두가 적절한 물리적 양들과 연관될 것이고 단지 편의적 라벨들에 불과하다는 것이 이해되어야 한다. 달리 구체적으로 언급되지 않는 한, 다음의 논의에서 명백한 바와 같이, 이 명세서에 전체에서, "프로세싱", "컴퓨팅", "계산", "결정" 등과 같은 용어들을 이용하는 논의들은, 메모리들, 레지스터들, 또는 컴퓨팅 디바이스의 다른 정보 저장 디바이스들, 송신 디바이스들, 또는 디스플레이 디바이스들 내에서 전자적 또는 자기적 물리량들로 표현되는 데이터를 조작하거나 변환하는, 컴퓨팅 디바이스의 액션들 또는 프로세스들을 지칭한다.
청구된 주제는 본원에 설명된 특정 구현들에 대해 범위를 제한하지 않는다. 예를 들어, 일부 구현들은 디바이스 또는 디바이스들의 조합 상에서 동작하도록 이용되는 바와 같이, 하드웨어에 있을 수도 있는 반면에, 다른 구현들은 소프트웨어 및/또는 펌웨어에 있을 수도 있다. 마찬가지로, 청구된 주제가 이에 대한 범위에서 제한되지 않지만, 일부 구현들은 하나 이상의 아티클들, 예컨대 신호 베어링 매체, 저장 매체 및/또는 저장 미디어를 포함할 수도 있다. 이 저장 미디어, 예컨대 CD-ROM들, 컴퓨터 디스크들, 플래시 메모리 등은 컴퓨팅 시스템, 컴퓨팅 플랫폼, 또는 다른 시스템과 같은 컴퓨팅 디바이스에 의해 실행되는 경우 예를 들어 전술된 구현들 중 하나와 같은 청구된 주제에 따른 프로세서의 실행을 초래할 수도 있는 명령들이 저장되어 있을 수도 있다. 하나의 가능성으로서, 컴퓨팅 디바이스는 하나 이상의 프로세싱 유닛들 또는 프로세서들, 하나 이상의 입/출력 디바이스들, 예컨대 디스플레이, 키보드 및/또는 마우스, 및 하나 이상의 메모리들, 예컨대 스태틱 랜덤 액세스 메모리, 다이내믹 액세스 메모리, 플래시 메모리, 및/또는 하드 드라이브를 포함할 수도 있다.
시스템들의 양태들의 하드웨어 구현과 소프트웨어 구현 간에는 작은 구별이 있다; 하드웨어 또는 소프트웨어의 사용은 일반적으로 (그러나 항상은 아니고, 소정 맥락에서 하드웨어와 소프트웨어의 선택이 중요할 수도 있음) 비용 대 효율성 트래이드오프들을 나타내는 설계 선택이다. 본원에 설명된 프로세스들 및/또는 시스템들 및/또는 다른 기술들이 시행될 수 있는 다양한 비히클들이 존재하고, 그 바람직한 비히클은 프로세스들 및/또는 시스템들 및/또는 다른 기술들이 전개되는 콘텍스트에서 변할 것이다. 예를 들어, 구현자가 속도 및 정확도가 중요하다고 결정하면, 구현자는 주로 하드웨어 및/또는 펌웨어 비히클을 선택할 수도 있다; 유연성이 중요하다면, 구현자는 주로 소프트웨어 구현을 선택할 수도 있고; 또는, 또 다른 대안으로, 구현자는 하드웨어, 소프트웨어, 및/또는 펌웨어의 일부 조합을 선택할 수도 있다.
앞서의 상세한 설명은 블록도들, 플로우차트들, 및/또는 예들의 이용을 통해 디바이스들 및/또는 프로세스들의 다양한 실시형태들을 제시하였다. 이러한 블록도들, 흐름도들, 및/또는 예들이 하나 이상의 기능들 및/또는 동작들을 포함하는 한, 이러한 블록도들, 플로우차트들, 또는 예들 내에서의 각각의 기능 및/또는 동작은, 광범위한 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 실질적인 임의의 조합에 의해, 개별적으로 및/또는 집합적으로 구현될 수 있다. 일 실시형태들에서, 본원에 설명된 주제 중 여러 부분들은 ASIC들 (Application Specific Integrated Circuits), FPGA들 (Field Programmable Gate Arrays), DSP들 (digital signal processors), 또는 다른 집적 형태들을 통해 구현될 수도 있다. 그러나, 당업자라면, 본원에서 개시된 실시형태들의 일부 양태들이, 전체적으로 또는 부분적으로, 집적 회로들에서, 하나 이상의 컴퓨터들 상에서 작동되는 하나 이상의 컴퓨터 프로그램들 (예를 들어, 하나 이상의 컴퓨터 시스템들 상에서 작동하는 하나 이상의 프로그램들) 로서, 하나 이상의 프로세스들 상에서 작동되는 하나 이상의 프로그램들 (예를 들어, 하나 이상의 마이크로프로세서들 상에서 작동되는 하나 이상의 프로그램들) 로서, 펌웨어로서, 또는 실질적으로 이들의 임의의 조합으로서, 등가적으로 구현될 수 있으며, 소프트웨어 및/또는 펌에어에 대한 코드를 기록하고/하거나 회로부를 설계하는 것이 본 개시의 견지에서 당업자의 스킬 내에 있을 것임을 알 수 있을 것이다. 또한, 본원에서 설명된 주제의 메커니즘들이 다양한 형태들의 프로그램 제품으로서 배포될 수 있으며, 본원에서 설명된 주제의 예시의 실시형태는 상기 배포를 실제 실행하기 위해 사용되는 특정한 유형의 신호 베어링 매체에 관계없이 적용됨을 알 수 있을 것이다. 신호 베어링 매체의 예들은, 다음의 것, 즉, 플렉시블 디스크, HDD (hard disk drive), CD (Compact Disc), DVD (Digital Versatile Disk), 디지털 테이프, 컴퓨터 메모리 등과 같은 기록가능한 유형의 매체; 및 디지털 및/또는 아날로그 통신 매체 (예를 들어, 광 섬유 케이블, 도파관, 유선 통신 링크, 무선 통신 링크 등) 와 같은 송신 유형의 매체를 포함하지만, 이들에 제한되는 것은 아니다.
당업자는, 본원에 설명된 방식으로 디바이스들 및/또는 프로세스들을 설명하고 그 후 이러한 설명된 디바이스들 및/또는 프로세스들을 데이터 프로세싱 시스템들에 통합하기 위해 엔지니어링 실행을 사용하는 것이 당해 기술에서 통상적이라는 것을 인식할 것이다. 즉, 본원에 설명된 디바이스들 및/또는 프로세스들의 적어도 일부는 합리적인 양의 실험을 통해 데이터 프로세싱 시스템에 통합될 수 있다. 당업자는, 통상의 데이터 프로세싱 시스템이 일반적으로 시스템 유닛 하우징, 비디오 디스플레이 디바이스, 휘발성 및 비-휘발성 메모리와 같은 메모리, 마이크로프로세서 및 디지털 신호 프로세서들과 같은 프로세서들, 운영 시스템들, 드라이버들, 그래픽 사용자 인터페이스들, 및 애플리케이션 프로그램들과 같은 연산 엔티티들, 터치 패드 또는 스크린과 같은 하나 이상의 상호작용 디바이스들, 및/또는 피드백 루프 및 제어 모터들 (예를 들어, 포지션 및/또는 속도를 감지하기 위한 피드백; 컴포넌트들 및/또는 양들을 이동 및/또는 조정하기 위한 제어 모터들) 중 하나 이상을 포함한다는 것을 인식할 것이다. 통상적인 데이터 프로세싱 시스템은 임의의 적합한 상용 가능한 컴포넌트들, 예컨대 데이터 컴퓨팅/통신 및/또는 네트워크 컴퓨팅/통신 시스템들에서 통상적으로 발견되는 것들을 이용하여 구현될 수도 있다.
본원에 설명된 주제는 때때로, 상이한 다른 컴포넌트들 내에 포함된 상이한 컴포넌트들, 또는 상이한 다른 컴포넌트들과 접속된 상이한 컴포넌트들을 예시한다. 이러한 도시된 아키텍처들은 단지 예시적이고, 사실 많은 다른 아키텍처들이 구현되어 동일한 기능을 달성할 수 있다는 것으로 이해되어야 한다. 개념면에서, 동일한 기능성을 달성하기 위한 컴포넌트들의 임의의 배열은 원하는 기능성이 달성되도록 효율적으로 "연관"된다. 따라서, 특정 기능성을 달성하기 위해 조합된 본원의 임의의 2 개의 컴폰너트들은 아키텍처들 또는 중간 컴포넌트들에 관계 없이, 원하는 기능성이 달성되도록 서로 "연관되는" 것으로서 보여질 수 있다. 마찬가지로, 그렇게 연관된 임의의 2 개의 컴포넌트들은 원하는 기능성을 달성하도록 서로 "동작적으로 접속", 또는 "동작적으로 커플링"되는 것으로서 보여질 수 있고, 그렇게 연관될 수 있는 임의의 2 개의 컴포넌트들은 원하는 기능성을 달성하도록 서로 "동작적으로 커플링 가능한" 것으로서 또한 보여질 수 있다. 동작적으로 커플링 가능한 특정 예들은 물리적으로 제작 가능하고/하거나 물리적으로 상호작용하는 컴포넌트들 및/또는 무선적으로 상호작용 가능한 및/또는 물리적으로 상호작용하는 컴포넌트들 및/또는 논리적으로 상호작용하는 및/또는 논리적으로 상호작용 가능한 컴포넌트들을 포함하지만 이에 제한되는 것은 아니다.
본원에서 실질적으로 임의의 복수 및/또는 단수 용어들의 사용에 대하여, 문맥 및/또는 적용에 적합하듯이 당업자는 복수에서 단수로 및/또는 단수에서 복수로 바꿀 수 있다. 다양한 단수/복수 치환들이 명료함을 위해 명확하게 기술될 수도 있다.
일반적으로, 본원에 그리고 특히 첨부된 청구항 (예를 들어, 첨부된 청구항의 본문) 에서 사용되는 용어는 일반적으로 "개방적인" 용어들로서 의도되어야 한다 (예를 들어, "포함하는" 이라는 용어는 "포함하지만 한정되지 않는" 으로 해석되어야 하고, "갖는" 이라는 용어는 "적어도 갖는" 으로 해석되어야 하고, "포함한다" 라는 용어는 "포함하지만 한정되지 않는다" 로 해석되어야 한다) 는 것이 당업자에 의해 이해될 것이다. 또한, 도입된 청구항 기재의 특정한 수가 의도되는 경우, 이러한 의도는 청구항에 명시적으로 기재될 것이며, 이러한 기재의 부재 시에 그러한 의도가 없다는 것이 당업자에 의해 이해될 것이다. 예를 들어, 이해를 돕기 위하여, 다음의 첨부된 청구항은 청구항 기재를 도입하기 위한 "적어도 하나" 및 "하나 이상" 의 서두 어구의 사용을 포함할 수도 있다. 그러나, 이러한 어구의 사용은, 동일 청구항이 서두 어구 "하나 이상" 또는 "적어도 하나" 및 "a" 또는 "an" 과 같은 부정관사 (예를 들어, "a" 및/또는 "an" 은 "적어도 하나" 또는 "하나 이상" 을 의미하도록 해석되어야 한다) 를 포함할 때에도, 부정관사 "a" 또는 "an" 에 의한 청구항 기재의 도입이 이렇게 도입된 청구항 기재를 포함하는 임의의 특정 청구항을 단지 하나의 이러한 기재만을 포함하는 실시형태들로 한정한다는 것을 내포하는 것으로 해석되어서는 안 되며; 청구항 기재를 도입하는데 사용되는 정관사의 사용에 대해서도 동일하게 유효하다. 또한, 도입되는 청구항 기재의 특정 수가 명시적으로 기재되는 경우에도, 당업자는 이러한 기재가 적어도 기재된 수를 의미하는 것 (예를 들어, 다른 수식어 없이, "2 개의 기재" 에 대한 그대로의 기재는, 적어도 2 개의 기재들 또는 2 개 이상의 기재들을 의미한다) 으로 해석되어야 한다는 것을 인식할 것이다. 또한, "A, B 및 C 중 적어도 하나 등" 과 유사한 관례가 사용되는 경우에서, 일반적으로 이러한 구성은 당업자가 그 관례를 이해할 것이라는 의미로 의도된다 (예를 들어, "A, B 및 C 중 적어도 하나를 갖는 시스템" 은 A 만을, B 만을, C 만을, A 및 B 를 함께, A 및 C 를 함께, B 및 C 를 함께, 및/또는 A, B 및 C 를 함께 등을 갖는 시스템을 포함하지만 이에 한정되지 않을 것이다). "A, B 또는 C 중 적어도 하나 등" 과 유사한 관례가 사용되는 경우에서, 일반적으로 이러한 구성은 당업자가 그 관례를 이해할 것이라는 의미로 의도된다 (예를 들어, "A, B 또는 C 중 적어도 하나를 갖는 시스템" 은 A 만을, B 만을, C 만을, A 및 B 를 함께, A 및 C 를 함께, B 및 C 를 함께, 및/또는 A, B 및 C 를 함께 등을 갖는 시스템을 포함하지만 이에 한정되지 않을 것이다). 또한, 상세한 설명, 청구범위 또는 도면에서, 2 개 이상의 택일적 용어를 나타내는 사실상 임의의 이접 단어 및/또는 어구가 용어들 중 하나, 용어들 중 어느 한쪽 또는 양 용어 모두를 포함할 가능성들을 고려하도록 이해되어야 한다는 것이 당업자에 의해 이해될 것이다. 예를 들어, 어구 "A 또는 B" 는 "A" 또는 "B" 또는 "A 및 B" 의 가능성을 포함하도록 이해될 것이다.
또한, 용어 "최적화하다" 는 최대화 및/또는 최소화를 포함할 수도 있다. 본원에 사용된 바와 같은 용어 "최소화" 및/또는 기타 등등은 글로벌 최소치, 로컬 최소치, 적합한 글로벌 최소치, 및/또는 적합한 로컬 최소치를 포함할 수도 있다. 마찬가지로, 또한, 본원에 사용된 바와 같은 용어 "최대화" 및/또는 기타 등등은 글로벌 최대치, 로컬 최대치, 적합한 글로벌 최대치, 및/또는 적합한 로컬 최대치를 포함할 수도 있다.
"일 구현", "하나의 구현", "일부 구현들" 또는 "다른 구현들" 에 대한 명세서에서의 참조는 하나 이상의 구현들과 관련되어 설명된 특정 피처, 구조, 또는 특징이 적어도 일부 구현들에서 포함될 수도 있으나, 반드시 모든 구현들에 포함되는 것은 아니라는 것을 의미할 수도 있다. 선행하는 설명에서의 "일 구현", "하나의 구현", 또는 "일부 구현들" 의 다양한 출현들은 모두 반드시 동일한 구현들을 지칭하는 것은 아니다.
소정의 예시의 기법들이 다양한 방법들 및 시스템들을 이용하여 본원에서 설명되고 도시되었으나, 청구된 주제로부터 벗어나지 않으면서, 다양한 다른 수정들이 이루어질 수도 있고, 등가물들이 대체될 수도 있다는 것이 당업자들에 의해 이해되어야 한다. 또한, 본원에서 설명된 중심 개념을 벗어나지 않으면서 특정한 상황을 청구되는 주제의 교시들로 적응시키도록 많은 수정예들이 이루어질 수도 있다. 따라서, 청구되는 주제는 개시된 특정 예들에 제한되는 것이 아니라, 이러한 청구되는 주제가 첨부된 청구항들의 범위 내에 있는 모든 구현들과 그 등가예들을 포함할 수도 있다는 것이 의도된다.

Claims (21)

  1. 목적지 클라우드 시스템을 통해, 하나 이상의 시스템 테스트 태스크들을 오리진 (origin) 클라우드 시스템으로 트랜스퍼하는 것으로서, 상기 시스템 테스트 태스크들은 오리진 가상 머신 상의 서비스 배치를 테스트하여 하나 이상의 테스트된 성능 메트릭들을 생성하도록 구성되는, 상기 트랜스퍼하는 것;
    상기 목적지 클라우드 시스템을 통해, 상기 하나 이상의 테스트된 성능 메트릭들을 수신하는 것; 및
    상기 목적지 클라우드 시스템을 통해, 상기 하나 이상의 테스트된 성능 메트릭들에 적어도 기초하여 상기 서비스 배치를 실행하도록 목적지 가상 머신을 구성하는 것을 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 목적지 가상 머신을 구성하는 것은, 상기 목적지 가상 머신 상에서 상기 오리진 가상 머신을 실질적으로 모방하는 것을 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 목적지 가상 머신을 구성하는 것은, 상기 테스트된 성능 메트릭들 중 하나 이상을 초과하도록 상기 목적지 가상 머신을 구성하는 것을 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 목적지 가상 머신을 구성하는 것은,
    먼저 상기 오리진 가상 머신을 실질적으로 모방하도록 상기 목적지 가상 머신을 구성하는 것; 및
    상기 오리진 가상 머신을 실질적으로 모방하도록 상기 목적지 가상 머신을 구성한 후에, 상기 테스트된 성능 메트릭들 중 하나 이상을 초과하도록 상기 목적지 가상 머신을 구성하는 것을 포함하는, 방법.
  5. 제 1 항에 있어서,
    상기 목적지 가상 머신을 구성하는 것은, 테스트된 성능 메트릭들 및 서비스 레벨 동의 데이터에 적어도 부분적으로 기초하여 상기 목적지 가상 머신을 구성하는 것을 포함하는, 방법.
  6. 제 1 항에 있어서,
    상기 하나 이상의 시스템 테스트 태스크들은 상기 오리진 가상 머신의 비-시뮬레이션된 동작의 패시브 관측을 통해 상기 하나 이상의 테스트된 성능 메트릭들 중 적어도 하나를 생성하도록 구성되는, 방법.
  7. 제 1 항에 있어서,
    상기 하나 이상의 시스템 테스트 태스크들은 상기 오리진 가상 머신의 시뮬레이션된 동작의 액티브 관측을 통해 상기 하나 이상의 테스트된 성능 메트릭들 중 적어도 하나를 생성하도록 구성되는, 방법.
  8. 제 1 항에 있어서,
    상기 하나 이상의 테스트된 성능 메트릭들은, 일관성 유형 메트릭, 트랜잭션 유형 메트릭, 레이턴시 유형 메트릭, 스루풋 유형 메트릭, 데이터 손실 유형 메트릭, 및/또는 페일오버 (failover) 유형 메트릭 중 하나 이상을 포함하는, 방법.
  9. 제 1 항에 있어서,
    상기 목적지 클라우드 시스템을 통해, 상기 하나 이상의 테스트된 성능 메트릭들에 적어도 부분적으로 기초하여 상기 오리진 가상 머신들과 연관된 파일 시스템 아키텍처 유형을 결정하는 것을 더 포함하고,
    파일 시스템 아키텍처는, 백업 유형 아키텍처, 마스터/슬레이브 유형 아키텍처, 다중 마스터 유형 아키텍처, 2 페이즈 코밋 (commit) 유형 아키텍처, 및/또는 Paxos-유형 아키텍처 중 하나 이상의 아키텍처 유형을 포함하는, 방법.
  10. 제 1 항에 있어서,
    상기 목적지 클라우드 시스템을 통해, 상기 하나 이상의 테스트된 성능 메트릭들에 적어도 부분적으로 기초하여 상기 오리진 가상 머신과 연관된 파일 시스템 아키텍처 유형을 결정하는 것을 더 포함하고,
    파일 시스템 아키텍처는 백업 유형 아키텍처, 마스터/슬레이브 유형 아키텍처, 다중 마스터 유형 아키텍처, 2 페이즈 코밋 유형 아키텍처, 및/또는 Paxos 유형 아키텍처 중 하나 이상의 아키텍처 유형을 포함하고,
    상기 목적지 가상 머신을 구성하는 것은,
    먼저 상기 오리진 가상 머신을 실질적으로 모방하도록 상기 목적지 가상 머신을 구성하는 것; 및
    상기 오리진 가상 머신을 실질적으로 모방하도록 상기 목적지 가상 머신을 구성한 후에, 상기 테스트된 성능 메트릭들 중 하나 이상을 초과하도록 상기 목적지 가상 머신을 구성하는 것을 포함하고,
    상기 목적지 가상 머신을 구성하는 것은 테스트된 성능 메트릭들 및 서비스 레벨 동의 데이터에 적어도 부분적으로 기초하여 상기 목적지 가상 머신을 구성하는 것을 포함하고,
    상기 하나 이상의 시스템 테스트 태크스들은 상기 오리진 가상 머신의 비-시뮬레이션된 동작의 패시브 관측을 통해 상기 하나 이상의 테스트된 성능 메트릭들 중 적어도 하나를 생성하도록 구성되고,
    상기 하나 이상의 시스템 테스트 태스크들은 상기 오리진 가상 머신의 시뮬레이션된 동작의 액티브 관측을 통해 상기 하나 이상의 테스트된 성능 메트릭들 중 적어도 하나를 생성하도록 구성되며,
    상기 하나 이상의 테스트된 성능 메트릭들은 일관성 유형 메트릭, 트랜잭션 유형 메트릭, 레이턴시 유형 메트릭, 스루풋 유형 메트릭, 데이터 손실 유형 메트릭, 및/또는 페일오버 유형 메트릭 중 하나 이상의 메트릭 유형을 포함하는, 방법.
  11. 하나 이상의 시스템 테스트 태스크들을 목적지 클라우드 시스템으로부터 오리진 클라우드 시스템으로 트랜스퍼하도록 구성된 제 1 모듈로서, 상기 시스템 테스트 태스크들은 오리진 가상 머신 상의 서비스 배치를 테스트하여 하나 이상의 테스트된 성능 메트릭들을 생성하도록 구성되는, 상기 트랜스퍼하도록 구성된 제 1 모듈;
    상기 목적지 클라우드 시스템에서 상기 하나 이상의 테스트된 성능 메트릭들을 수신하도록 구성된 제 2 모듈; 및
    상기 하나 이상의 테스트된 성능 메트릭들에 적어도 기초하여 상기 서비스 배치를 실행하도록 상기 목적지 클라우드 시스템과 연관된 목적지 가상 머신을 구성하도록 구성된 제 3 모듈을 포함하는, 장치.
  12. 제 11 항에 있어서,
    상기 목적지 가상 머신을 구성하는 것은, 상기 목적지 가상 머신 상에서 상기 오리진 가상 머신을 실질적으로 모방하는 것을 포함하는, 장치.
  13. 제 11 항에 있어서,
    상기 목적지 가상 머신을 구성하는 것은, 상기 테스트된 성능 메트릭들 중 하나 이상을 초과하도록 상기 목적지 가상 머신을 구성하는 것을 포함하는, 장치.
  14. 제 11 항에 있어서,
    상기 목적지 가상 머신을 구성하는 것은,
    먼저 상기 오리진 가상 머신을 실질적으로 모방하도록 상기 목적지 가상 머신을 구성하는 것; 및
    상기 오리진 가상 머신을 실질적으로 모방하도록 상기 목적지 가상 머신을 구성한 후에, 상기 테스트된 성능 메트릭들 중 하나 이상을 초과하도록 상기 목적지 가상 머신을 구성하는 것을 포함하는, 장치.
  15. 제 11 항에 있어서,
    상기 목적지 가상 머신을 구성하는 것은, 테스트된 성능 메트릭들 및 서비스 레벨 동의 데이터에 적어도 부분적으로 기초하여 상기 목적지 가상 머신을 구성하는 것을 포함하는, 장치.
  16. 제 11 항에 있어서,
    상기 하나 이상의 시스템 테스트 태스크들은 상기 오리진 가상 머신의 비-시뮬레이션된 동작의 패시브 관측을 통해 상기 하나 이상의 테스트된 성능 메트릭들 중 적어도 하나를 생성하도록 구성되는, 장치.
  17. 제 11 항에 있어서,
    상기 하나 이상의 시스템 테스트 태스크들은 상기 오리진 가상 머신의 시뮬레이션된 동작의 액티브 관측을 통해 상기 하나 이상의 테스트된 성능 메트릭들 중 적어도 하나를 생성하도록 구성되는, 장치.
  18. 제 11 항에 있어서,
    상기 하나 이상의 테스트된 성능 메트릭들은, 일관성 유형 메트릭, 트랜잭션 유형 메트릭, 레이턴시 유형 메트릭, 스루풋 유형 메트릭, 데이터 손실 유형 메트릭, 및/또는 페일오버 유형 메트릭 중 하나 이상의 메트릭 유형을 포함하는, 장치.
  19. 제 11 항에 있어서,
    상기 하나 이상의 테스트된 성능 메트릭들에 적어도 부분적으로 기초하여 상기 오리진 가상 머신들과 연관된 파일 시스템 아키텍처 유형을 결정하도록 구성된 제 4 모듈을 더 포함하고,
    상기 파일 시스템 아키텍처는, 백업 유형 아키텍처, 마스터/슬레이브 유형 아키텍처, 다중 마스터 유형 아키텍처, 2 페이즈 코밋 유형 아키텍처, 및/또는 Paxos-유형 아키텍처 중 하나 이상의 아키텍처 유형을 포함하는, 장치.
  20. 머신 판독가능 명령들이 저장되어 있는 신호 베어링 매체를 포함하는 아티클로서,
    상기 머신 판독가능 명령들은, 하나 이상의 프로세서들에 의해 실행되는 경우,
    하나 이상의 시스템 테스트 태스크들을 목적지 클라우드 시스템으로부터 오리진 클라우드 시스템으로 트랜스퍼하는 것으로서, 상기 시스템 테스트 태스크들은 오리진 가상 머신 상의 서비스 배치를 테스트하여 하나 이상의 테스트된 성능 메트릭들을 생성하도록 구성되는, 상기 트랜스퍼하고;
    상기 목적지 클라우드 시스템에서 상기 하나 이상의 테스트된 성능 메트릭들을 수신하며;
    상기 하나 이상의 테스트된 성능 메트릭들에 적어도 기초하여 상기 서비스 배치를 실행하도록 상기 목적지 클라우드 시스템과 연관된 목적지 가상 머신을 구성하도록
    컴퓨팅 디바이스를 동작적으로 인에이블하는, 아티클.
  21. 제 20 항에 있어서,
    상기 머신 판독가능 명령들은 또한,
    상기 목적지 클라우드 시스템을 통해, 상기 하나 이상의 테스트된 성능 메트릭들에 적어도 부분적으로 기초하여 상기 오리진 가상 머신들과 연관된 파일 시스템 아키텍처 유형을 결정하도록 컴퓨팅 디바이스를 동작적으로 인에이블하고,
    상기 파일 시스템 아키텍처는, 백업 유형 아키텍처, 마스터/슬레이브 유형 아키텍처, 다중 마스터 유형 아키텍처, 2 페이즈 코밋 유형 아키텍처, 및/또는 Paxos-유형 아키텍처 중 하나 이상의 아키텍처 유형을 포함하고,
    상기 목적지 가상 머신을 구성하는 것은,
    먼저 상기 오리진 가상 머신을 실질적으로 모방하도록 상기 목적지 가상 머신을 구성하는 것; 및
    상기 오리진 가상 머신을 실질적으로 모방하도록 상기 목적지 가상 머신을 구성한 후에, 상기 테스트된 성능 메트릭들 중 하나 이상을 초과하도록 상기 목적지 가상 머신을 구성하는 것을 포함하고,
    상기 목적지 가상 머신을 구성하는 것은 테스트된 성능 메트릭들 및 서비스 레벨 동의 데이터에 적어도 부분적으로 기초하여 상기 목적지 가상 머신을 구성하는 것을 포함하고,
    상기 하나 이상의 시스템 테스트 태크스들은 상기 오리진 가상 머신의 비-시뮬레이션된 동작의 패시브 관측을 통해 상기 하나 이상의 테스트된 성능 메트릭들 중 적어도 하나를 생성하도록 구성되고,
    상기 하나 이상의 시스템 테스트 태스크들은 상기 오리진 가상 머신의 시뮬레이션된 동작의 액티브 관측을 통해 상기 하나 이상의 테스트된 성능 메트릭들 중 적어도 하나를 생성하도록 구성되며,
    상기 하나 이상의 테스트된 성능 메트릭들은 일관성 유형 메트릭, 트랜잭션 유형 메트릭, 레이턴시 유형 메트릭, 스루풋 유형 메트릭, 데이터 손실 유형 메트릭, 및/또는 페일오버 유형 메트릭 중 하나 이상의 메트릭 유형을 포함하는, 아티클.
KR1020147028082A 2012-04-13 2012-04-13 목적지 클라우드 시스템 요건들의 결정 KR101623297B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/033517 WO2013154578A1 (en) 2012-04-13 2012-04-13 Determining destination cloud system requirements

Publications (2)

Publication Number Publication Date
KR20140136978A true KR20140136978A (ko) 2014-12-01
KR101623297B1 KR101623297B1 (ko) 2016-05-20

Family

ID=49326281

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147028082A KR101623297B1 (ko) 2012-04-13 2012-04-13 목적지 클라우드 시스템 요건들의 결정

Country Status (3)

Country Link
US (1) US9268587B2 (ko)
KR (1) KR101623297B1 (ko)
WO (1) WO2013154578A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180122712A (ko) 2016-07-14 2018-11-13 얀마 가부시키가이샤 내연 기관의 제어 장치 및 내연 기관의 제어 방법
KR20180122717A (ko) 2016-07-14 2018-11-13 얀마 가부시키가이샤 내연 기관의 제어 장치 및 내연 기관의 제어 방법
KR20200108489A (ko) * 2018-03-20 2020-09-18 미쓰비시덴키 가부시키가이샤 정보 처리 장치, 방법, 및 프로그램

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582219B2 (en) 2013-03-12 2017-02-28 Netapp, Inc. Technique for rapidly converting between storage representations in a virtualized computing environment
US10216531B2 (en) 2014-05-12 2019-02-26 Netapp, Inc. Techniques for virtual machine shifting
US9841991B2 (en) * 2014-05-12 2017-12-12 Netapp, Inc. Techniques for virtual machine migration
CN105677556B (zh) * 2014-11-19 2019-07-12 国家电网公司 一种调度自动化主站系统软件测试方法及其平台
CN105117289B (zh) * 2015-09-30 2019-05-28 北京奇虎科技有限公司 基于云测试平台的任务分配方法、装置及系统
CN105279017B (zh) * 2015-09-30 2019-03-05 北京奇虎科技有限公司 基于云测试平台的任务分配方法、装置及系统
CN105183564B (zh) * 2015-09-30 2019-05-28 北京奇虎科技有限公司 基于云测试平台的设备调度方法、装置及系统
US9817592B1 (en) 2016-04-27 2017-11-14 Netapp, Inc. Using an intermediate virtual disk format for virtual disk conversion
CN109218048A (zh) * 2017-06-30 2019-01-15 西门子公司 对部署在云上的一个工业系统的性能测试方法和装置
CN110932839B (zh) * 2018-09-20 2023-09-22 中兴通讯股份有限公司 一种网卡、时间同步方法、设备及计算机存储介质
CN111064633B (zh) * 2019-11-28 2021-09-24 国网甘肃省电力公司电力科学研究院 一种云边协同电力信息通信设备自动化测试资源分配方法
US11416386B2 (en) * 2019-12-02 2022-08-16 Curtail, Inc. Behavior-based comparison of software
US11055123B1 (en) * 2020-10-07 2021-07-06 Odaseva Technologies SAS System, method, and computer program for providing an ultra-high availability cloud emulator in a multi-tenant SaaS environment controlled by another party
US12032718B1 (en) 2021-01-22 2024-07-09 Odaseva Technologies SAS System, method, and computer program for securely handling and storing customer data without enabling human access to the data
CN112506808B (zh) * 2021-02-08 2021-05-25 南京吉拉福网络科技有限公司 测试任务执行方法、计算设备、计算系统和存储介质
US12056723B1 (en) 2021-10-07 2024-08-06 Odaseva Technologies SAS System, method, and computer program for extracting large customer data volumes at high speed from an external multi-tenant SaaS environment

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171553B2 (en) * 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US7802000B1 (en) * 2005-08-01 2010-09-21 Vmware Virtual network in server farm
US7779389B2 (en) * 2005-12-30 2010-08-17 Sap Ag System and method for dynamic VM settings
US8843918B2 (en) * 2005-12-30 2014-09-23 Sap Ag System and method for deployable templates
US8285681B2 (en) 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
EP2460139A4 (en) 2009-07-27 2015-05-27 Corista LLC SYSTEM FOR REPLACING DISEASE DOCUMENTS THROUGH A DIGITAL NETWORK
WO2011085335A2 (en) * 2010-01-08 2011-07-14 Sauce Labs, Inc. Real time verification of web applications
US20110214124A1 (en) * 2010-02-26 2011-09-01 James Michael Ferris Systems and methods for generating cross-cloud computing appliances
US8122282B2 (en) * 2010-03-12 2012-02-21 International Business Machines Corporation Starting virtual instances within a cloud computing environment
US8990813B2 (en) 2010-03-29 2015-03-24 Red Hat, Inc. Automated virtual machine image deployment and testing by accessing downloadable test packages and dynamically-changing test parameters
US20110258481A1 (en) * 2010-04-14 2011-10-20 International Business Machines Corporation Deploying A Virtual Machine For Disaster Recovery In A Cloud Computing Environment
US8813065B2 (en) * 2010-04-26 2014-08-19 Vmware, Inc. Microcloud platform delivery system
US8381211B2 (en) * 2010-04-26 2013-02-19 International Business Machines Corporation Virtual image overloading for solution deployment
US8495512B1 (en) * 2010-05-20 2013-07-23 Gogrid, LLC System and method for storing a configuration of virtual servers in a hosting system
US9436579B2 (en) 2010-07-19 2016-09-06 Soasta, Inc. Real-time, multi-tier load test results aggregation
US9323561B2 (en) 2010-08-13 2016-04-26 International Business Machines Corporation Calibrating cloud computing environments
US8739157B2 (en) * 2010-08-26 2014-05-27 Adobe Systems Incorporated System and method for managing cloud deployment configuration of an application
US20120060167A1 (en) * 2010-09-08 2012-03-08 Salsburg Michael A Method and system of simulating a data center
US9069620B2 (en) * 2010-10-20 2015-06-30 Microsoft Technology Licensing, Llc Creating and deploying service-ready virtual hard disks
US8533676B2 (en) * 2011-12-29 2013-09-10 Unisys Corporation Single development test environment
US9170798B2 (en) * 2012-03-02 2015-10-27 Vmware, Inc. System and method for customizing a deployment plan for a multi-tier application in a cloud infrastructure
US8826068B2 (en) * 2011-11-23 2014-09-02 Microsoft Corporation Automated testing of applications in cloud computer systems
US8732291B2 (en) * 2012-01-13 2014-05-20 Accenture Global Services Limited Performance interference model for managing consolidated workloads in QOS-aware clouds

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180122712A (ko) 2016-07-14 2018-11-13 얀마 가부시키가이샤 내연 기관의 제어 장치 및 내연 기관의 제어 방법
KR20180122717A (ko) 2016-07-14 2018-11-13 얀마 가부시키가이샤 내연 기관의 제어 장치 및 내연 기관의 제어 방법
KR20200108489A (ko) * 2018-03-20 2020-09-18 미쓰비시덴키 가부시키가이샤 정보 처리 장치, 방법, 및 프로그램
CN111868687A (zh) * 2018-03-20 2020-10-30 三菱电机株式会社 信息处理装置、方法及程序
CN111868687B (zh) * 2018-03-20 2021-09-17 三菱电机株式会社 信息处理装置、方法及程序

Also Published As

Publication number Publication date
KR101623297B1 (ko) 2016-05-20
WO2013154578A1 (en) 2013-10-17
US9268587B2 (en) 2016-02-23
US20130275971A1 (en) 2013-10-17

Similar Documents

Publication Publication Date Title
KR101623297B1 (ko) 목적지 클라우드 시스템 요건들의 결정
US11139991B2 (en) Decentralized edge computing transactions with fine-grained time coordination
US9934138B1 (en) Application testing on a blockchain
Cox et al. Iridis-pi: a low-cost, compact demonstration cluster
US9959239B2 (en) Secondary data channel communication system
US9134962B1 (en) Interactive content development
US20230169397A1 (en) Methods and apparatus for attestation of an artificial intelligence model
US9858412B2 (en) Secure trusted execution environment data store
US9456032B2 (en) Peer-to-peer networking through universal port connections
RU2677848C2 (ru) Встроенная проверка для подтверждения исправности цифровой полезной нагрузки спутника
US11748092B2 (en) Information handling system with a sequenced order of firmware updates
US20190140888A1 (en) Computer readable media, methods, and computer apparatuses for network service continuity management
Lawande et al. Novo‐G#: a multidimensional torus‐based reconfigurable cluster for molecular dynamics
US11281571B2 (en) System and method for validating cloud-native applications for a production-ready deployment
CN107562519A (zh) 虚拟机的迁移方法、系统及服务器
US11921604B2 (en) Evaluating system recovery using emulated production systems
Ghemawat et al. Towards modern development of cloud applications
CN113641503B (zh) 多云多集群的Kubernetes管理系统及方法与设备
US20170242743A1 (en) Generating diagnostic data
CN102622051B (zh) 基座和可拆卸装置之间的状态共享
Giannakopoulos et al. The role of N-acetyltransferase-2 and glutathione S-transferase on the risk and aggressiveness of bladder cancer.
US20170099352A1 (en) Distributed load processing using location-based internet of things device clusters
WO2021253346A1 (zh) 数据传输计算方法,装置及存储介质
US9619415B2 (en) System and method for intelligent platform management interface keyboard controller style interface multiplexing
US20160077743A1 (en) Shared-bandwidth multiple target remote copy

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: 20190515

Year of fee payment: 4