KR20140035968A - 미리 빌트된 환경의 즉각적인 가용성을 제공함으로써 테스팅 환경을 배치하는 기법 - Google Patents

미리 빌트된 환경의 즉각적인 가용성을 제공함으로써 테스팅 환경을 배치하는 기법 Download PDF

Info

Publication number
KR20140035968A
KR20140035968A KR1020137034647A KR20137034647A KR20140035968A KR 20140035968 A KR20140035968 A KR 20140035968A KR 1020137034647 A KR1020137034647 A KR 1020137034647A KR 20137034647 A KR20137034647 A KR 20137034647A KR 20140035968 A KR20140035968 A KR 20140035968A
Authority
KR
South Korea
Prior art keywords
topology
environment
groups
user
resources
Prior art date
Application number
KR1020137034647A
Other languages
English (en)
Other versions
KR102018926B1 (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 KR20140035968A publication Critical patent/KR20140035968A/ko
Application granted granted Critical
Publication of KR102018926B1 publication Critical patent/KR102018926B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • 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
    • 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/12Discovery or management of network topologies
    • 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/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

테스팅 환경이 배치된다. 상이한 토폴로지 그룹의 라이브러리가 제공된다. 환경 정의를 수신하기 위한 인터페이스가 사용자에게 제시된다. 수신된 환경 정의에 따라 테스트 환경을 생성하기 위한 상이한 토폴로지 그룹의 라이브러리로부터의 엘리먼트는 사용자에게 자동적으로 제공된다. 플랫폼은 제품 개발 및 테스팅 노력을 위한 모든 정취의 완전하게 구성된 즉각적인 토폴로지 배치를 전달한다. 토폴로지 배치 서비스 플랫폼은 변화하는 복잡도의 레이어, 변화하는 머신 제공자, 상이한 역할, 상이한 제품 빌드, 파트너와의 통합 및 변화하는 제품 구성의 신뢰할 수 있는 토폴로지를 생성하는 능력을 생성하기 위해 사용된다. 복수의 테스트 및 개발 환경을 자동화된 신뢰할 수 있는 방식에 따라 평범하게 생성하고 개시하는 능력은 복잡한 고객 시나리오 및 배치될 구성을 가능하게 한다.

Description

미리 빌트된 환경의 즉각적인 가용성을 제공함으로써 테스팅 환경을 배치하는 기법{DEPLOYING ENVIRONMENTS FOR TESTING BY PROVIDING INSTANTANEOUS AVAILABILITY OF PREBUILT ENVIRONMENTS}
본 명세서의 개시 내용은 일반적으로 소프트웨어 테스팅 및 배치에 관한 것으로서, 더욱 상세하게는 미리 빌트된 환경의 즉각적인 가용성을 제공함으로써 테스팅 환경을 배치하는 방법, 시스템, 및 컴퓨터 판독가능 저장 장치에 관한 것이다.
소프트웨어는 어디에든 존재하고 직접적으로 또는 다른 방식으로 거의 모든 사람들과 접한다. 따라서, 소프트웨어는 광범위한 영향의 잠재성을 갖는다. 어떤 소프트웨어 제품의 본질적 영향의 주된 결정 요인은 생산된 소프트웨어의 품질에 달려있다. 따라서, 소프트웨어 테스팅은 소프트웨어 개발 못지않게 양질의 소프트웨어 제품을 생산하기 위한 과정에서 가치있는 기능을 담당한다. 소프트웨어 테스팅은 결점을 검출하고 그러한 결점을 제품 출하 전에 알려줌으로써 소프트웨어의 품질 향상에 직접적으로 기여한다.
소프트웨어 결점이 검출되지 않고 결국 알려지지 않게 되면, 사용자는 소프트웨어의 동작 도중에 일부 유형의 오류(failure)를 경험하게 된다. 이들 오류는 고객들로부터 보고된 오류 이슈를 발표하는 비용, 패치를 발행하는 비용, 고객 신임 및 신뢰도의 손실, 고객 데이터의 손실 또는 변질, 오류로 인하거나 법률 미준수로 인한 법적 연루 등을 포함하여 소프트웨어 생산자에게 상당한 비용 부담을 갖게 한다. 소프트웨어를 생산하는 동안 결점을 예방하고 제거함으로써 제대로 테스트되지 않은 소프트웨어의 출시에 따른 결과들을 방지할 수 있다. 출하 과정으로부터 소프트웨어 결점을 예방하는 것은 나중에 이들 결점을 발표하는 데 발생되는 비용과 비교하여 더 적은 투자 비용이 든다. 소프트웨어 테스팅은 또한 사업이 소프트웨어 구현의 위험 요소를 알아보고 이해할 수 있도록 하는 소프트웨어에 대한 객관적이고 독립적인 시야를 제공한다.
소프트웨어 테스팅은 몇몇 단계에서 일반적으로 일어나는데, 예를 들어, 엔지니어링 테스트, 개발 테스트, 알파 테스팅, 및 베타 테스팅이 있다. 소프트웨어 테스팅을 용이하게 하기 위한 다양한 툴이 개발되었다. 이들 테스팅 툴은 일반적으로 애플리케이션이 예상된 바에 따라 동작한다는 것을 보장하는 기능적 테스팅을 자동화한다. 게다가, 소프트웨어 테스트 툴은 테스트의 관리, 보고 및 흐름을 다룰 수 있고, 테스트를 개발하는 테스트 관리자를 위한 공통된 사용자 인터페이스를 제공한다.
많은 회사들은 중앙집중식 테스팅 환경으로 옮겨가고 있다. 중앙집중식 테스팅 환경은 표준 테스팅 방법론 및 프로세스의 일관된 개발을 통해 프로세스 일관성을 제공하는데, 이는 테스팅의 품질 및 효율을 개선하는 데 도움이 된다. 또한, 중앙집중식 테스팅 환경은 규모의 경제 및 중앙집중식 소비로부터의 이점을 제공한다.
그러나, 하나의 환경으로 통합되는 다양한 빌드들로 인해, 중앙집중식 테스팅 환경을 유지하는 것은 점점 더 어려워지고 있다. 온라인 서비스가 성장하고 종속성이 점점 더 뒤얽히게 되면서, 개발자들은 그들의 수리된 결과물들(fixes)을 입증하는 데 사용할 수 있는 쉽게 타겟되고 배치되는 환경을 갖는 것이 중요해졌다. 소프트웨어 제품의 다양한 릴리즈를 유지할 수 있게 하는 것은 소프트웨어 패치 또는 핫 픽스(hot fix), 예컨대 퀵 픽스 엔지니어링(QFE)를 보장하는 풍부한 테스팅 환경을 필요로 하고, 롤업은 테스트 통과를 통해 적합하게 검증된다.
현재, 테스터가 개발자를 위한 테스팅 소프트웨어에 대한 멀티 머신 환경을 배치하는 데에는 대략 1주일 정도가 걸릴 수 있다. 또한, 이들 종류의 컴포넌트들 각각은 개별적으로 액세스된다. 다른 사람들은, 사용자 선택 이후 실시간으로 환경을 복제하는 자동화된 태스크를 사용하고, 한번에 하나씩 구성을 수동으로 빌드하고 그들을 함께 묶고, 셋업 툴 등이 이어지는, 머신 검색과 같은 상이한 태스크들 각각에 대해 상이한 툴을 사용하여 이 문제를 해결해왔다.
미리 빌트된 환경의 즉각적인 가용성을 제공함으로써 테스팅 환경을 배치하는 방법, 시스템, 및 컴퓨터 판독가능 저장 장치에 대한 필요성이 있었음을 알 수 있다.
전술된 한계를 극복하기 위해, 그리고 본 명세서를 읽고 이해하면서 밝혀지게 될 다른 한계를 극복하기 위해, 미리 빌트된 환경의 즉각적인 가용성을 제공함으로써 테스팅 환경을 배치하는 방법, 시스템, 및 컴퓨터 판독가능 저장 장치에 대한 실시예들이 개시된다.
전술된 문제점은 제품 개발 및 테스팅 노력을 위한 모든 정취(flavor)의 완전하게 구성된 즉각적 토폴로지 배치를 전달하는 종합적인 플랫폼을 제공함으로써 해결된다. 토폴로지 배치 서비스 플랫폼은 변화하는 복잡도의 레이어(단일/멀티 머신), 변화하는 머신 제공자(물리적/VM/Agile), 상이한 역할(AD, Exchange® 등), 상이한 제품 빌드, 파트너와의 통합 및 변화하는 제품 구성의 신뢰할 수 있는 토폴로지를 생성하는 능력을 제공한다. 복수의 테스트 및 개발 환경을 자동화된 신뢰할 수 있는 방식에 따라 평범하게 생성하고 개시하는 능력은 복잡한 고객 시나리오 및 배치될 구성을 가능하게 한다.
테스팅 환경을 배치하는 방법을 포함하는 실시예가 개시된다. 방법은 상이한 토폴로지 그룹의 라이브러리를 제공하는 단계와, 환경 정의를 수신하기 위한 인터페이스를 사용자에게 제시하는 단계와, 수신된 환경 정의에 따라 테스트 환경을 생성하기 위한 상이한 토폴로지 그룹의 라이브러리로부터의 엘리먼트를 사용자에게 자동적으로 제공하는 단계를 포함한다.
다른 실시예에서, 테스팅 환경을 배치하는 시스템이 개시된다. 시스템은 리소스를 관리하고 리소스의 체크인 및 체크아웃을 구현하도록 구성되는, 상이한 토폴로지 그룹의 라이브러리를 제공하는 리소스 피커(picker)와, 상이한 토폴로지 그룹의 라이브러리에 대한 토폴로지 빌딩 블록을 생성하는 리소스를 사용하기 위한 서비스의 모음(a suite of services)을 제공하는 프라이머와, 사용자로 하여금 상이한 토폴로지 그룹의 라이브러리로부터 원하는 토폴로지를 생성하기 위한 환경 정의를 제공하도록 해주는 클라이언트 웹페이지 인터페이스를 포함하되, 클라이언트 웹페이지 인터페이스를 통해 환경 정의를 수신하면, 프라이머가 수신된 환경 정의에 따라 테스트 환경을 생성하기 위한 상이한 토폴로지 그룹의 라이브러리로부터의 엘리먼트를 사용자에게 자동적으로 제공한다.
프로세서에 의해 실행될 때, 테스팅 환경을 배치하는 방법을 실행가능한 인스트럭션을 포함하는 컴퓨터 판독가능 매체가 개시된다. 컴퓨터 판독가능 매체는 상이한 토폴로지 그룹의 라이브러리를 제공하고, 환경 정의를 수신하기 위한 인터페이스를 사용자에게 제시하며, 수신된 환경 정의에 따라 테스트 환경을 생성하기 위한 상이한 토폴로지 그룹의 라이브러리로부터의 엘리먼트를 사용자에게 자동적으로 제공하는 것을 실행할 수 있는 인스트럭션을 포함한다.
이들 및 여러 신규한 특징들과 다른 이점이 본 명세서에 첨부되고 본 명세서의 일부를 구성하는 특허청구범위에 특별히 지적된다. 그러나, 개시된 실시예들, 이점, 달성된 목적을 이해하기 위해, 개시된 실시예들의 구체적인 예시가 설명되고 도시되는 첨부된 설명을 참조할 수도 있고, 본 명세서의 다른 일부를 구성하는 도면을 참조할 수도 있다.
이제, 상응하는 부분들이 동일한 참조 번호로 표현하는 도면을 참조하면,
도 1은 일 실시예에 따라 미리 빌트된 환경의 즉각적인 가용성을 제공함으로써 테스팅 환경을 배치하도록 구성되는 토폴로지 배치 시스템의 블록도이고,
도 2는 실시예에 따른 토폴로지 배치 서버(TDS) 플랫폼의 컴포넌트/모듈의 블록도이며,
도 3은 실시예에 따른 템프릿 권한의 블록도를 도시하고,
도 4는 실시예에 따른 토폴로지 배치 서비스(TDS) 시스템의 상세 블록도이며,
도 5는 실시예에 따른 TDS 스택의 도면이고,
도 6은 실시예에 따른 TDS 웹 클라이언트 프론트 엔드를 도시하며,
도 7은 실시예에 따라 미리 빌트된 환경의 즉각적인 가용성을 제공함으로써 테스팅 환경을 배치하는 방법의 순서도이고,
도 8은 실시예에 따른 컴퓨팅 환경을 도시한다.
본 명세서에서 설명되는 실시예들은 미리 빌트된 환경의 즉각적인 가용성을 제공함으로써 테스팅 환경을 배치하는 방법, 시스템, 및 컴퓨터 판독가능 저장 장치에 관한 것이다.
도 1은 일 실시예에 따라 미리 빌트된 환경의 즉각적인 가용성을 제공함으로써 테스팅 환경을 배치하도록 구성되는 토폴로지 배치 시스템(100)의 블록도이다. 데이터 프로세싱 시스템은 네트워크(160)를 통해 하나 이상의 클라이언트 컴퓨터(170)와 통신 연결되도록 구성되는 토폴로지 배치 서비스(TDS) 플랫폼(110)을 포함할 수 있다. TDS 플랫폼(110)은 복수의 모듈 또는 컴포넌트를 포함할 수 있다. 도 1에서, TDS 서버(112)는 사용자에게 자동적으로 제공될 수 있는 상이한 토폴로지 그룹의 라이브러리를 제시할 수 있다. TDS 서버(112)에 의해 제시되는 상이한 토폴로지 그룹의 라이브러리로부터의 엘리먼트는 수신된 환경 정의에 따라 테스트 환경을 생성하기 위해 사용자에 의해 사용될 수 있다. 도 1에서는, 컨트롤러(150), 함수 데이터베이스(130), 토폴로지 데이터베이스(140) 및 TDS 플랫폼(110)에 대해 미리 마련된 테스트 케이스 데이터베이스(120)가 도시된다. TDS 플랫폼(110)의 더욱 상세한 설명은 후술될 것이다. TDS 플랫폼(110)은 다양한 토폴로지를 액세스하고, 구성하고, 배치하기 위한 인터페이스를 클라이언트 컴퓨터(170)에서 사용자에게 제공한다.
TDS 플랫폼(110)은 제품 개발 및 테스팅 노력을 위한 모든 정취(flavor)의 완전하게 구성된 즉각적 토폴로지 배치를 전달하는 종합적인 플랫폼을 제공한다. TDS 플랫폼(110)은 변화하는 복잡도의 레이어(단일/멀티 머신), 변화하는 머신 제공자(물리적/VM/Agile), 상이한 역할(AD, Exchange® 등), 상이한 제품 빌드, 파트너와의 통합 및 변화하는 제품 구성의 신뢰할 수 있는 토폴로지를 생성하는 능력을 제공한다. 복수의 테스트 및 개발 환경을 자동화된 신뢰할 수 있는 방식에 따라 평범하게 생성하고 개시하는 능력은 복잡한 고객 시나리오 및 배치될 구성을 가능하게 한다.
예를 들어, TDS 플랫폼(110)은 토폴로지의 다양한 변형에 대한 지원을 제공한다. 개발자와 테스터 모두는 클라이언트 컴퓨터(170) 상에서 작업하고 이를 통해 작업 항목(work-items), 특징 및/또는 버그를 입증할 수 있다. TDS 플랫폼(110)은 팀이 복수의 제품을 하나의 테스트 환경으로 토합할 수 있도록 해준다. 또한, 서비스 팀은 TDS 플랫폼(110)을 사용하여 복수의 파트너 및 구성과 작업할 수도 있고, 기업 팀은 복수의 파트너들과 함께 작업할 수도 있다. 수동 또는 자동화된 테스트 통과에 대한 토폴로지도 지원된다. 또한, 프로그램 매니저는 토폴로지 배치 시범(demonstration)을 제공하는 환경으로서 플랫폼을 사용할 수 있다.
TDS 플랫폼(110)은 또한 환경을 배치하기 위해 모든 팀에게 획일적인 언어 및 메커니즘을 제공하고, 이에 따라 다른 컴포넌트, 파트너 팀, 및 제품들과의 공동작업을 간소화한다. 플랫폼의 힘은 이들 토폴로지가 즉각적으로 이용가능하다는 사실에 의해 더 강화된다. 플랫폼에 대한 추가적 가치는 오직 성공적인 토폴로지 빌드 아웃이 사용자에게 제공된다는 점이다. TDS 플랫폼(110)은 복수의 팀들이 그들 자신의 토폴로지 및 리소스를 갖고 이러한 능력을 확장할 수 있도록 하는 서비스로서 구조화된다.
TDS 플랫폼(110)의 실시예들은 토폴로지 데이터베이스(140)에 대한 즉각적인 액세스, 종단 사용자(end user)로부터의 미리 지각된 라인 태스크를 구별하는 능력, 상이한 작업량 요건에 기초하여 상이한 머신을 제공하는 능력, 복수의 빌딩 블록을 저작하고 그것을 재사용 가능한 개체로서 표면화하는 능력, 리소스를 위한 복수의 머신 제공자를 사용하는 능력을 제공한다.
도 2는 실시예에 따른 TDS 플랫폼의 컴포넌트/모듈의 블록도이다. TDS 플랫폼(110)은 미리 빌트된 환경의 즉각적인 가용성을 제공함으로써 테스팅 환경을 사용자가 배치할 수 있도록 하는 시스템이다. TDS 시스템(110)은 종합적인 솔루션을 낳는 상이한 기능성을 제공하는 복수의 레이어, 모듈 또는 컴포넌트를 포함하는데, 프라이머(210), 리소스 피커(220), 토폴로지 빌더(230), OML(Orphaned Machine Locator) 툴(240), OCR(Orphaned Client Recovery) 툴(250), ALIS(All Labs Integration Services) 시스템(260), 프론트 엔드 인터페이스로서의 TDS 웹 클라이언트(270), 및 템플릿 권한(280)을 포함한다.
프라이머(210)는 공통 토폴로지 빌딩 블록에 대해 외부로 미리 빌드하는 리소스에 관한 서비스의 모음(suite)을 제공한다. 리소스 피커(220)는 가상 및 물리적 머신에 대한 중심 매니저인데, 다른 리소스 유형, 예컨대 폰, Linux® 박스, IP 주소 등에 따르는 것이다. 리소스 피커(220)는 모든 리소스에 대한 매니저로서 동작하고, 리소스의 체크인 및 체크아웃을 구현한다. 리소스는 머신, IP 주소, 토폴로지가 배치하기 위해 필요로 하는 임의의 것이 될 수 있다.
토폴로지 빌더(230)는 총칭적 클라이언트 구동 태스크 엔진(a generic client driven task engine)(290)을 사용하여 토폴로지 환경을 배치할 수 있다. OML 툴(240)과 OCR 툴(250)은 소프트웨어 또는 하드웨어 오류로 인한 환경 내에서의 고아화된 리소스(orphaned resource)의 위치를 찾고 재공급하는 데 사용되는 툴과 서비스의 컬렉션을 제공한다. ALIS 시스템(260)은 VM 엔드포인트를 따라 팀의 가상 머신(VMs)을 관리하는 서비스, 예컨대 Agile Labs와 같은 것이다. Agile Labs는 팀을 위한 머신 및 VM을 제공하는 리소스 제공자이다. ALIS 시스템(260)은 스냅샷을 찍어서 VM을 관리하고 필요에 따라 프로세스를 반전(reverse)시킨다. ALIS 시스템(260)은 또한 더 많은 리소스가 필요한지 리소스를 체크하기 위해 다른 외부 리소스 환경과 함께 작동한다.
TDS 웹 클라이언트(270)는 종단 사용자가 토폴로지를 체크아웃 및 체크인하기 위한 매니지먼트 사용자 인터페이스를 제공하는 웹 페이지처럼 구조화된 클라이언트 프론트 엔드를 제공한다. 템플릿 권한(280)은 구성을 풍부한 토폴로지를 생성하는 재사용가능한 블록으로 표현하는 데 사용되는 공통의 언어 및 개발 플랫폼을 제공한다. 템플릿 권한(280)은 각각의 환경을 위해 제공되는데, XML 기반의 템플릿이 토폴로지를 정의한다.
프라이머(210)는 공통 토폴로지 빌딩 블록에 대해 미리 빌드하는 리소스가 외부에 있는 서비스의 모음(suite)을 표현한다. 만약, 소매점 공급 체인에서의 문제를 생각하면, 프라이머(210)는 창고에서 일하는 소년(stock boy)이 창고(stock room)를 왔다갔다 하며 선반에 더 많은 제품을 옮겨 놓는 것처럼 동작하여 사용자가 토폴로지 빌딩 블록을 필요로 할 때 토폴로지 빌딩 블록이 그 즉시 대기할 수 있도록 한다.
프라이머(210)는 신뢰할 수 없는 배치를 반복을 통해 완화시킨다. 만약 Windows® 2008 R2 서버가 SQL 서버®와 인스톨된 권리 관리 서버 및 클라이언트를 갖춘 도메인 컨트롤러를 구현하는 데 필요하다면, 프라이머(210)는 셋업 실패의 횟수를 무시하고 그 환경을 생성하도록 계속해서 재시도할 것이다. 프라이머(210)는 작업과 토폴로지 생성을 항상 지속하여 토폴로지 빌딩 블록이 언제든 준비되어 있도록 한다.
프라이머(210)는 보통 단일 단계에서 머신을 완전하게 구성하도록 시도하지는 않는다. 대신에, 프라이머(210)는 원하는 환경을 생성하기 위해 복수의 계층의 단계를 사용하는데, 이는 "스테이지화된 배치(staged deployment)"라고 일컬어진다. 이 아이디어는 언제든지 동작할 준비가 되어 있는 올바른 엔드 포인트를 갖기 위해 프라이머(210) 내부의 풀(pool) 구조와 이들 풀 사이에서 관리자가 정의하는 경로에 관한 기본적 사고 방식이다.
프라이머(210)의 풀 구조는 이러한 멀티 레이어 포맷으로 구조화될 때 가장 강력하다. 제1 레이어는 대개 베이스 플랫폼을 설정한다. 여러개로 분할된 머신, 예컨대 Windows® 머신을 사용하여, 제1 레이어는 제2 파티션을 생성하고 사용하여 테스트 환경이 될 Windows®의 다른 카피(copy)를 설치한다. 제2 레이어는 플랫폼의 상단에서 일어나는 더욱 전문화된 구성으로 사용된다. Windows®의 경우, 도메인 컨트롤러 생성 또는 SQL 서버® 설치와 같은 엘리먼트는 이 지점에서 발생한다.
토폴로지 배치 서비스 환경에 대해, 제3 레이어는 더욱 개별 맞춤형인 구성을 취하고 이들을 미리 설치된 테스트 환경으로 완전히 바꾼다. 예컨대 Office 365 팀을 사용하면, 이 프로세스는 대개 Exchange®, Windows Live® 온라인 서비스, BOS 온라인 서비스 등을 설치하는 것을 포함한다. 따라서, 사용자는 토폴로지 빌딩 블록을 원하고, 하나는 이미 구성되고 단순히 빨리 체크아웃되도록 준비된다. 추가적으로, 이러한 레이어 구조는 새로운 환경이 생성될 이벤트 내에서 체크아웃하기 위한 추가적인 점핑 포인트를 제공한다.
프라이머(210)는 그것의 동작을 달성하기 위하여 2개의 근본적인 서브시스템으로 리소스 피커(220)와 토폴로지 빌더(230)를 사용한다. 프라이머(210)는 이용가능한 머신을 택하고 리소스가 필요한 미리정의된 장소로 그들을 이동시키기 위해 토폴로지 빌더(230) 및 리소스 피커(220)를 사용한다. 예를 들어, 만약 3개의 머신의 그룹이 필요하면, 토폴로지 빌더(230)는 3개의 머신을 빌드하도록 구성되고, 프라이머(210)는 리소스 피커(220)를 사용하여 이들 3개의 머신을 확인하여, 원하는 그룹을 제공하기 위해 토폴로지 빌더(230) 내로 역할(job)을 주입한다. 이 프로세스는 시스템이 필요한 모든 구성에 대해 하루종일 반복된다. 다시 말해, 프라이머(210)는 필요한 그룹을 자동적으로 확인하고 감시하며, 빌드한다.
예를 들어, 사용자는 TDS 웹 클라이언트(270)를 사용하여 프론트 엔드에 액세스하는데, 이는 TDS 웹과 같은 웹 페이지가 될 수 있고, Exchange®의 현재 버전을 요청한다. 토폴로지가 획득되고 그것은 Exchange® 오늘의 버전을 갖는다. Exchange® 제품은 사용자가 그것을 필요로 하는 동안은 항상 설치되고 사용하도록 준비된다. Exchange® 제품이 체크아웃된 이후, 시스템은 업데이트를 수행하고 환경이 없어졌다는 것을 식별한다. 예를 들어, 유지되는 Exchange® 제품의 목표 개수가 50이지만, 오늘의 Exchange® 제품은 현재 오직 49개만 이용가능할 수 있다. 따라서, 다른 환경이 빌트된다. 시스템은 다른 하나의 오늘의 Exchange®를 빌드하기 위한 템플릿을 획득하기 위해 템플릿 컴파일러(도 3의 템플릿 컴파일러(310) 참조)에 액세스한다. 템플릿은 오늘의 Exchange® 중 하나가 어떻게 빌트될 것인지에 대한 인스트럭션을 제공한다. 시스템은 리소스 피커(220)에 액세스하고, 템플릿을 배치하기 위한 머신을 식별한다.
리소스 피커(220)는 모든 리소스의 현재 상태를 지속적으로 추적하는 데 사용된다. 프라이머(210)는 리소스 피커(220)를 시스템의 현재 재고(inventory)로서 취급하고, 무엇이 필요한지 및 리소스 피커(220)가 현재 이용가능하다고 가리키는 것이 무엇인지의 풀 구성을 비교함으로써 다음에 무엇을 생성할 것인지에 대한 결정의 기초가 된다. 리소스 피커(220)는 따라서 리소스를 제공하고 토폴로지 빌더(230)가 템플릿을 배치하도록 명령한다.
예를 들어, 토폴로지 빌더(230)가 오늘의 Exchange®의 카피를 구현하기 시작할 때, 만약 프로세스가 성공하면, 시스템은 필요한 개수의 토폴로지가 다시 이용가능하다는 것, 예컨대 50개의 토폴로지가 필요할 수 있음을 입증한다. 만약 프로세스가 실패하면, 그것을 보수하기 위해 OML 툴(240) 및 OCR 툴(250)이 개시된다. 만약 장치가 물리적 머신이면 박스가 재공급된다. 만약 장치가 호스트 상에서 실행되는 가상 머신이면, 시스템은 그 가상 머신과 어떻게 상호 작용하는지 알고, ALIS 시스템(260)이 사용되어 스냅샷을 찍고, VM을 멈추고, VM을 재시작함으로써 VM을 보수한다. VM이 온라인으로 돌아오면, 프라이머(210)는 머신과 다시 상호 작용하기 시작하는 방법을 알게 된다.
토폴로지 빌더(230)는 실행 엔진이다. 프라이머(210)가 특정 유형의 리소스를 생성하거나 대체하는 것이 필요할 때, 프라이머(210)는 원하는 상태로 리소스를 전환할 토폴로지 빌더(230) 작업 순서를 생성한다. 프라이머(210)는 전환할 머신을 위해 리소스 피커(220)를 조회하고, 그 후 작업 순서의 단계에 따라 그 머신을 전환하기 위해 토폴로지 빌더(230)에게 알려준다.
토폴로지 빌더(230)는 이미지 베이스화되는(image-based) 가상 머신들(VMs)과 상호작용할 수 있고, 또는 토폴로지 빌더(230)는 플러그될 테스트 환경이 필요할 수 있는 물리적 머신의 넓은 무리와 상호 작용할 수 있다. VM의 일부는 정적이고 이름에 의해 리소스를 선택할 수 있어서 참조하기 위한 엔드포인트가 제공되도록 한다. 다른 사람들은 만약 필요하다면 스크래치로부터 원격으로 빌트될 수 있는 Windows® 머신을 더 좋아한다.
만약 개발자가 1개 또는 2개의 서버, 1개의 AD 및 1개의 Exchange® 및 가능하다면 다른 1개의 SharePoint® 등을 갖는 테스트 토폴로지를 원하면, 그 컴포넌트들과 가능하다면 토폴로지 그 자체가 미리 빌트될 수 있다. 만약 개발자가 어떤 코드를 체크인하려고 한다면, 그 코드가 체크인되고 Exchange®와 SharePoint® 사이의 삽관(intubation)을 깨기 전에, 빌드가 존재한다는 것을 보증하는 입증이 수행되고, 테스트가 실행된다. 이들 테스트를 실행하기 위해, 머신은 토폴로지를 실행한다. 이러한 정확한 시스템은 소프트웨어를 입증하거나 인하우스 솔루션을 빌드하기 위해 이들 토폴로지를 빌려주는 데 사용될 수도 있다.
높은 가용성의 배치 리소스의 선순환(virtuous cycle)은 TDS 시스템(110) 내에서 OML(Orphaned Machine Locator) 툴(240), OCR(Orphaned Client Recovery) 툴(250), 및 ALIS(All Labs Integration Services) 시스템(260)을 통해 유지된다. 이들 3개의 시스템은 리소스가 어떤 상태에 들어가 있는지에 상관없이 높은 정도의 신뢰도를 제공하고, TDS 시스템(110)은 사람의 개입 없이도 빠르고 효율적으로 그것을 자동 보정(auto-correct)하고 다시 되돌려 놓게 된다.
OML 툴(240)에 의해 제공되는 서비스는 TDS 시스템(110) 내에서 '손실'되거나 '고아화(orphaned)'되는 임의의 배치 리소스를 식별하는 데 사용되고, 자동 복원을 위한 적합한 서브시스템으로 리소스를 밀어낸다(hand the resorce off). 이 프로세스는 고비용의 수동 프로세스이기도 했다. 그러나, OML 툴(240)은 이 프로세스를 확장성 SQL 규칙 세트와 함께 자동화하여 그 인프라스트럭쳐 내의 어떤 위치로부터든 고아화된 리소스를 검출한다.
OML 툴(240)과 함께 동작하면서, OCR 툴(250)에 의해 제공되는 서비스는 고아화된 물리적 리소스를 복원하는 것을 관리하는 데 사용된다. 알려지지 않거나 손실된 상태에서의 물리적 리소스에 대한 공격 모드는 그것을 완전하게 다시 이미지화(re-image)하는 것과, 구성된 RunOnce에 의해 한번 완성되면 TDS 시스템(110)으로 그것을 다시 추가(re-add)하는 것이다. 다시 이미지화하는 동안 임의의 오류가 발생(hit)하면, OCR 툴(250)은 SCOM 경고를, 운영 팀에 의해 조사되는 관련 머신 정보, 자산 번호(asset number), 및 랩 위치(lab location)와 함께 오픈한다.
OCR 툴(250)의 서비스는 Windows® Deployment Service(WDS)에 특정된 설정을 인프라스트럭쳐 활성 디렉토리(IAD) 내의 머신 계정에 기록하고, 그 후 머신을 재부팅함으로써 리소스를 원격으로 다시 이미지화하는 데 사용된다. 이 설정은 머신이 인프라스트럭쳐 WDS 서버에 접촉하고 머신이 차후에 재부팅되거나 전원이 들어올 때 머신 상에 지정된 이미지를 자동적으로 설치하도록 하는 것을 촉발시킨다.
어떤 이유(손실된 네트워크 연결, 전원 차단 등)로 인해 도달할 수 없는 머신에 대해서, OCR 툴(250)은 원격으로 머신을 하드 파워 사이클(hard power cycle)하는 등록된 웹 서비스로 SOAP 요청을 송신하여 하드 재부팅이 언제든 어떤 이유로든 강제될 수 있다는 것을 보증한다. OCR 툴(250) 및 OML 툴(240)은 높은 테스트 리소스 가용성을 언제든 유지하기 위해 TDS 시스템(110) 내의 임의의 손실된 물리적 리소스 상의 루프를 폐쇄(close the loop)한다.
ALIS 시스템(260)은 TDS 시스템(110) 내의 모든 가상 머신(VM)을 관리하는 3개의 플러그인 서비스를 포함하는 독립된 시스템이다. 서비스는 VM 제공자 프러그인이 베이스 클래스로부터 구현되고 ALIS 시스템(260)의 구성에 추가되어 있다면, 사용자가 체크아웃하고, 체크인하며, 구성을 스냅샷하고, 임의의 소스로부터의 임의의 VM을 되돌릴 수 있는 방식으로 엔지니어링된다. 새로운 VM 제공자 플러그인은 서비스 변경 없이 생성될 수 있다. TDS 시스템(110)에서 지원되는 VM 제공자는 Agile Labs, Virtucon (Exchange® 호스팅된 VM들), 및 Virtucon 포맷과 Azure®를 사용하는 파트너 팀 VM들을 포함할 수 있다. 물론 본 실시예들이 앞서 열거된 VM 제공자들로 제한되는 것은 아니다.
TDS 시스템(110)이 어떤 이유로 인해 추가적인 리소스를 필요로 하면, ALIS 시스템(260)이 촉발되어 임의의 지정된 소스로부터 VM들을 체크아웃하도록 촉발될 수 있다. 한번 공급되면, VM들은 TDS 시스템(110)의 배치 환경을 표현하는 스택과 요청된 사일로(silo)에 자동적으로 추가된다.
사일로는 팀들을 서로 분리시키고 올바른 세트의 리소스가 적합한 팀에게 할당되었음을 보증하기 위한 구성이다. 이것은 일반적인 개발 팀에 의해 사용되는 것이 무엇이든 간에, 서비스가 파트너로 하여금 그들 소유의 몫(quotas), 그들 소유의 머신, 및 그들 소유의 환경을 더 제공한다.
따라서, 공급은 TDS 시스템(110)의 스택 및 요청된 사일로에 자동적으로 추가될 수 있다. 팀 리소스 할당을 예시로서 사용하면, Exchange® 팀, Windows® 팀, 및 SharePoint® 팀으로 3가지 배치 팀이 있을 수 있다. 수백 개의 리소스가 Exchange® 팀에 배정된다(accounted). 만약 사용자가 Exchange®에 있는 동안 TDS 시스템(110)에 액세스하고 테스트 환경을 체크아웃하기 원하면, 사용자는 Exchange®로부터 테스트 환경을 체크아웃한다. 다시 말해, Windows® 내의 사람들은 허가 없이는 Exchange®로부터 체크아웃하는 것이 허용되지 않는다. Agile Labs 모델에 대해서는, 적절한 팀이 단독으로 리소스 사용을 위해 빌링되었음을 보증하는 각 요청 내로 빌링이 통합된다.
가상 머신(VM)이 어떤 이유에 따라 복원될 필요가 있으면, 예컨대, 사용자가 토폴로지를 해제하거나, VM이 OML 툴(240)에 의해 식별되면, ALIS 시스템(260)은 TDS 시스템(110)으로부터 VM을 등록해제하고, VM을 구성된 베이스 스냅샷으로 되돌리며, VM은 구성된 RunOnce 단계에 의한 클린 상태의 인프라스트럭쳐로 자동적으로 재진입한다. 이러한 동작흐름은 머신이 되돌아와서 TDS 시스템(110)에서 준비되는 데 평균 1분에서 3분정도 소요되고, 물리적 리소스를 다시 이미지화하는 경우에는 15분에서 30분 정도의 추가적인 시간이 더 소요된다.
따라서, TDS 시스템(110)은 여러 다양한 증상, 예컨대 Windows® 머신이 도메인 컨트롤러를 포함하도록 빌트되는 경우, 머신이 리부팅되는 동안 머물러 있는 경우 등을 위해 리소스 피커(220) 및 토폴로지 빌더(230)를 주시(watch)한다. 만약 머신이 복원되지 않고 미리 정해진 시간 내에 TDS 시스템(110)과 통신하지 않으면, OML 툴(240)은 이를 기록하고 재공급을 위해 머신을 되돌릴 것이다. 이것은 OCR 툴(250)이 시작하는 경우이다. OCR 툴(250)은 머신의 기록을 어떻게 정리(clean up)할 것인지 안다. 따라서, OCR 툴(250)은 리소스 피커(220) 및 토폴로지 빌더(230)를 사용하여 그 머신을 지우고, 머신이 돌아오면, 정확히 동작하고 그것이 물리적 박스일 경우에는 Windows®의 재설치를 촉발하며, 만약 그것이 가상 머신인 경우에는 ALIS 시스템(260)이 그 VM을 제거하도록 명령한다. ALIS 시스템(260)은 VM을 체크인하고 VM을 파괴하거나, VM을 알려진 좋은 상태로 되돌려서 온라인으로 되돌려줄 수 있다. 만약 물리적 리소스가 한동안 TDS 시스템(110) 외부에 있으면, 예컨대, 하드 드라이브 이슈의 경우, OCR 툴(250)은 원격 하드웨어를 사용하여 일부 인스턴스 내의 박스를 리부팅할 수 있다. 따라서, OCR 툴(250)은 사람의 개입 없이도 머신을 통과시키도록(push the machine through) 노력한다. 만약 시도가 실패하면, 사용자는 물리적으로 박스를 터치해야 한다. 감시하는 것은 OCR 툴(250)이 리소스를 성공적으로 재공급하는 것을 실패할 경우 오퍼레이션을 경고하는 OCR 툴(250) 내로 빌트된다.
개발자가 TDS 내의 토폴로지를 사용하여 작업하면, 개발자는 웹 페이지에 액세스하고 그것을 체크인한다. 만약 그것이 VM이면, 시스템은 리소스 피커(220) 내의 속성을 즉시 표시할 것이고, ALIS 시스템(260)은 릴리즈된 것들을 주시할 것이다. ALIS 시스템(260)은 가상 머신을 멈추거나, 가상 머신에 관련된 가상 머신 제공자가 어떤 것인지 상관하지 않음으로써 머신을 되찾는다(reclaim). 가상 머신은 내부의 호스트로부터, 내부의 Agile Labs 서비스로부터, 또는 ALIS 시스템(260)에 액세스하는 임의의 VM 제공자로부터 있을 수 있다. 어떤 VM 제공자인지에 의존하여, ALIS 시스템(260)은 VM을 멈출 수도 있고, 알려진 상태로 그것을 되돌릴 수도 있으며 VM을 시작할 수도 있다. 만약 OCR 툴(250)이 VM이 손실되었음을 검출하면, OCR 툴(250)은 ALIS 시스템(260)이 VM을 지우는 것(cleaning)을 개시하도록 촉발한다. 컨트롤은 VM 제공자에게 발급(issued)될 수 있다. 만약 VM이 직접적으로 호스트를 하면, ALIS 시스템(260)은 VM 호스트에 접촉하고 VM 호스트가 특정 VM을 멈추도록 명령하며, VM이 스냅샷하는 것을 되돌리고, VM을 시작할 수 있다. 이에 갈음하여, 만약 VM이 Agile Labs와 같은 서비스라면, ALIS 시스템(260)은 Agile Labs가 VM을 되돌리도록 명령한다. 주시자 서비스는 모든 요청을 관찰하여 요청이 드롭되지 않도록 보증한다. 예를 들어, 만약 Agile Labs가 VM을 되돌리도록 명령받았으나, Agile Labs가 명령받은지 한참 동안 VM이 되돌려지지 않는다면, 주시자 서버는 새로운 요청을 송신한다. ALIS 시스템(260)은 리소스로부터 VM을 얻고 진행할 수 있다. 만약 새로운 가상 머신을 제공할 수 있는 새로운 리소스 제공자가 있다면, ALIS 시스템(260)이 새로운 제공자로 요청하는 것을 가능하게 하도록 새로운 플러그인이 추가될 수 있다.
도 3은 실시예에 따른 템프릿 권한(300)의 블록도를 도시한다. 템플릿 권한(300)은 나중에 결합될 상이한 빌딩 블록을 표현하는 데 사용되는 공통의 언어 및 개발 메커니즘을 사용함으로써 풍부한 시나리오를 제공한다. 공통 언어 및 개발 메커니즘은 템플릿 컴파일러(310), 딕셔너리/인텐션 파일(320), 태스크 체인(330) 및 토폴로지 콥(topology cop)(340)의 사용을 통해, 즉 템플릿 입증에 대해 제공된다.
태스크 체인(330)은 함께 묶여서 토폴로지 단편(fragment)을 초래하는 태스크의 논리적 그룹이다. 딕셔너리/인텐션 파일(320)은 태스크 체인(330) 및 빌트될 때 원하는 태스크의 최신 버전으로 제출되는 다른 변수들을 참조하여 토폴로지가 무엇으로 보일 것인지 기술한다. 템플릿 컴파일러(310) 및 토폴로지 콥(340)은 결과 토폴로지의 정확성을 보증하기 위한 확인을 제공한다.
이러한 템플릿 권한(300)은 복수의 머신에 걸친 풍부하고 복잡한 시나리오의 빠른 생성, 상이한 구성을 가능하게 하고, 소프트웨어 개발 및 테스트 팀에게 즉각적이고 신뢰가능한 환경을 제공한다. 태스크 체인(330)에 대하여, 멀티 머신 환경이 빌트되면, 멤버 머신은 그 도메인에 조인(join)한다. 명백하게, 도메인은 멤버가 그 도메인에 조인하기 전에 생성된다. 만약 4개의 머신이 빌트되고, 하나가 도메인 컨트롤러이면, 나머지 셋은 그 도메인에 조인하는 멤버 머신이다. 3개의 머신은 활성 디렉토리가 생성될 때까지 대기한다. 활성 디렉토리가 생성되자마자, 3개의 머신은 그들의 태스크를 계속하게 된다. 이것은 배치 과정에서 필요한 임의의 다른 종속성으로 빌트될 수 있다.
태스크 체인(330)은 재사용가능 빌딩 블록을 정의하는 것을 포함한다. 예를 들어, 만약 도메인 컨트롤러를 생성하는 이벤트의 순서가 알려진다면, 태스크 체인(330)은 재사용가능 블록을 정의하는 데 사용될 수 있고, 다른 개발자들은 동일한 블록을 반복적으로 다시 고안할 필요가 없어진다. 도메인 컨트롤러는 정의될 수 있고 테스트 환경의 복수의 상이한 구현은 그 빌딩 블록을 재사용할 수 있다. 따라서, 태스크 체인(330)은 재사용가능성에 대한 공통 태스크를 정의하는 것을 용이하게 하고, 복수의 머신 환경을 빠르고 쉬운 방식으로 제공하며, 순서에 어긋나게 이벤트가 발생되지 않도록 이벤트를 동기화한다.
토폴로지 콥(340)은 이들 환경이 컴파일되면 입증(validation)을 수행한다. 토폴로지 콥(340)은 토폴로지가 환경 내로 주입되면 입증된 토폴로지가 실제로 동작하도록, 토폴로지가 실행되어 그들이 입증되는 툴이다. 이것은 낭비되는 리소스를 저장한다. 예를 들어, 만약 태스크 체인(330)이 지정되지 않은 요구된 설정을 가지면, 토폴로지 콥은 미지정된 설정을 검출하고 개발자에게 그 설정이 세팅되지 않았다는 것을 통지한다.
도 4는 실시예에 따른 토폴로지 배치 서비스(TDS) 시스템(110)의 상세 블록도이다. 도 4에서, 프라이머(210)는 데이터베이스 및 서비스의 모음을 제공하는데, 각각은 단일의 단순한 태스크를 수행한다. 프라이머(210)는 토폴로지 배치에 필요한 공통 빌딩 블록을 주는(offer) 잘 알려진 스테이지/풀을 제공한다. 프라이머(210)는 공통 토폴로지 빌딩 블록에 대해 외부로 미리 빌드하는 리소스에 관한 서비스의 모음(suite)을 제공하고, 가상 및 물리적 머신에 대한 중심 매니저처럼 동작하는데, 다른 리소스 유형, 예컨대 폰, Linux® 박스, IP 주소 등에 따르는 것이다. 프라이머는 모든 리소스에 대한 관리를 제공하고 체크인 및 체크아웃을 구현한다. 신뢰할 수 없는 배치는 반복을 통해, 그리고 원하는 환경을 생성하기 위해 복수의 계층의 단계의 사용을 통해 프라이머(210)에 의해 완화된다.
프라이머(210)는 리소스 피커(220)에 연결된다. 리소스 피커(220)는 이용가능한 머신을 택하고 리소스가 필요한 미리정의된 장소로 머신을 이동시킨다.
프라이머(210)는 토폴로지 빌더(230)에도 연결된다. 토폴로지 빌더(230)는 총칭적 클라이언트 구동 태스크 엔진(a generic client driven task engine)을 사용하여 토폴로지 환경을 배치할 수 있다. NLB들(416)은 높으 이용가능성과 높은 신뢰성을 제공하기 위해 사용될 수 있다.
리소스 피커(220)는 리소스 풀(420)에도 연결되는데, 이는 같은 방식으로 구성되는 머신의 정적(static) 그룹을 제공한다. 각 풀은 프라이머(210)가 항상 유지하려고 노력하는 목표치 또는 목표 개수를 갖는다. 예를 들어, 만약 기본 도메인의 목표가 100개의 머신이고 오직 99개만 있다면, 이것은 100번째 것을 만드는 것을 시작한다.
프라이머(210)는 "전이(transition)"에 따라 머신을 이동시키는데, 이는 A로부터 B로의 정의된 경로를 정의한다. 각 전이는 그들과 관련된 출발점 및 목적지(source and destination) "풀(pool)"을 갖고, 각각의 전이는 "정의"를 갖는다. 정의는 토폴로지 빌더 XML 파일을 생성하는 DART API를 사용하여 "토폴로지 룩업"으로 구현될 수 있다. 상태는 토폴로지 빌더(230)에서 A로부터 B로 이동하는 머신을 검출할 수 있도록 하기 위해 스캔 리소스를 "프라이머 콜백" 메커니즘으로서 사용하여 업데이트될 수 있다. "우선순위" 및 "중요 리소스"에 대한 파라미터는 선호하는 프로세스 순서를 설정하기 위해 사용된다. 우선순위는 온라인이 되기 위해 가장 중요한 풀이 무엇인지 언급하는 반면, 중요 리소스는 적은 개수를 갖기 때문에 높은 활용도의 풀에 의해 고갈될 수 있는 풀을 언급한다.
예를 들어, 리소스 풀(420)에서 리소스의 우선순위화는 "프로세스 순서"를 설정하는 우선순위로 구성될 수 있는데, 여기서 각 풀은 프로세스 순서를 갖고 각 전이도 프로세스 순서를 갖는다. 레이어와 풀은 "반전 순서(reverse order)"로 프로세스되는데, 이는 더욱 반응적인 쳔(reactive churn)을 초래한다. "중요 리소스" 접근법에 기초한 설정은 도메인 이전의 작업그룹, Windows® 2008 이전의 Windows® 2003, 및 Official 이전의 Loc/Sandbox를 프로세스하는 것을 포함한다. 임계 변경자(threshold modifier)가 사용될 수도 있다. 임계 변경자는 "비정상적" 행동에 대해 보상하기 위해 일시적인 조절을 제공하고, 시스템이 정상적으로 돌아가도록 만료 시간을 갖는다. 임계 변경자는 목표 값의 최대치와 최소치 모두를 증가시키거나 감소시킬 수도 있다.
동작에서, 사용자들(430, 432)은 TDS 웹 클라이언트 인터페이스(270)를 사용하여 요청들(434, 436)을 각각 전송한다. 미리 빌트된(450) 또는 커스텀(452) 환경이 사용자들(430, 432)에 의해 요청될 수도 있다. TDS 웹 클라이언트 인터페이스(270)는 토폴로지를 체크아웃 및 체크인하기 위해 사용자들(430, 432)에게 매니지먼트 사용자 인터페이스를 제공하는 웹 페이지처럼 구조화된 클라이언트 프론트 엔드를 제공한다. 사용자(430)에 의한 미리 빌트된 환경(450)에 대한 요청의 경우, 요청(434)은 웹 서비스(460)로부터 프라이머(210)로 통과된다. 프라이머(210)는 리소스 풀(420)로부터 요청된 리소스를 체크아웃하기 위해 리소스 피커(220)를 사용한다. 토폴로지 빌더(230)는 전술된 것처럼 대체 리소스를 빌드하기 시작한다. 리소스 피커(220)에 의해 획득된 리소스는 그 후 사용자(430)에게 제공된다.
사용자(432)에 의한 커스텀 환경(452)에 대한 요청의 경우, 요청(436)은 웹 서비스(460)에 의해 프라이머(210)로 통과된다. 프라이머(210)는 원하는 그룹을 제공하기 위해 토폴로지 빌더(230) 내로 역할(job)을 주입한다. 프라이머(210)는 필요한 그룹을 자동적으로 또한 확인하고 감시하며, 모든 리소스의 현재 상태를 지속적으로 추적하고, 리소스 피커(220)를 시스템의 현재 재고(inventory)로서 취급하며, 무엇이 필요한지 및 리소스 피커(220)가 현재 이용가능하다고 가리키는 것이 무엇인지의 풀 구성을 사용하여 다음에 무엇을 생성할 것인지에 대한 결정의 기초가 된다. 리소스 피커(220)는 리소스를 제공하고 토폴로지 빌더(230)가 요청된 리소스를 저작하기 위한 적절한 템플릿을 배치하도록 명령한다. 더욱 구체적으로, 프라이머(210)는 토폴로지 빌더(230)가 리소스를 원하는 상태로 전환할 수 있도록 하는 작업 순서 토폴로지 빌더(230)를 생성한다. 프라이머(210)는 전환할 리소스를 위해 리소스 피커(220)를 조회하고, 그 후 제공된 작업 순서의 단계에 따라 리소스를 전환하기 위해 토폴로지 빌더(230)에게 명령한다. OML(Orphaned Machine Locator) 툴(240), OCR(Orphaned Client Recovery) 툴(250), 및 ALIS(All Labs Integration Services) 시스템(260)은 사용자(432)에게 제공되는 리소스의 상태가 정확하다는 것을 보증한다.
도 5는 실시예에 따른 TDS 스택(500)의 도면이다. 도 5에서, TDS 스택(500)은 5개의 배치된 토폴로지 환경을 포함한다. 제1 환경(510)은 2개의 웹 서버(512, 514)를 포함한다. 각 웹 서버(512, 514)는 애플리케이션 풀(516), NLB 서버(518), 토폴로지 빌더 서버 서비스(230) 및 리소스 매니저 서비스(522)를 포함한다. 테스트 리소스(524)는 또한 웹서버(512, 514)의 테스팅을 가능하게 하도록 제공된다. 또한, 분산 파일 시스템(DFS) 복제(530)를 위한 토폴로지가 제공된다. DFS 복제 서버는 각 파일 서버(532, 534)에 포함된다. 각 파일 서버(532, 534)마다 도메인(536, 538)은 XML 저장소(540), 가상 머신(VM) 셋업(542) 및 토폴로지 주입 서비스(TopoInjector)(544)에 따라 제공된다.
2개의 애플리케이션 서버(550, 552)는 TDS 스택(500) 내에 제공된다. 각 애플리케이션 서버(550, 552)는 프라이머 서비스(210), ALIS 서비스(260) 및 토폴로지 주입 서비스(TopoInjector 서비스)(558)를 포함한다. 2개의 SQL 서버®(560, 562)는 리소스 피커 데이터베이스(564), 프라이머 데이터베이스(566), 토폴로지 주입(TopoInjector) 데이터베이스(568), 및 ALIS 데이터베이스(570)를 포함한다. SQL 서버®(580, 582)는 오직 토폴로지 주입기(TopoInjector) 데이터베이스 (584)만 포함한다.
도 6은 실시예에 따른 TDS 웹 클라이언트 프론트 엔드(600)를 도시한다. TDS 웹 클라이언트 프론트 엔드(600)는 종단 사용자에 의해 토폴로지를 체크아웃할 수 있는 능력을 제공하는 웹 페이지처럼 구조화된다. 도 6에서는, 웹페이지 대화 스크린(620)이 도시된다. 토폴로지(610)의 목록은 사용자에 의해 선택된 필터의 셋에 부합하는 웹페이지 대화 스크린(620) 내에 도시된다. 사용자는 토폴로지(610) 중 하나를 선택함으로써 각 토폴로지와 연관된 정보를 더 볼 수 있다. 웹페이지 대화 스크린(620) 내에서, 사용자에 의해 체크아웃된 토폴로지에 기초하여 상이한 몫(quotas)(630, 640, 650)이 도시된다.
도 7은 실시예에 따라 미리 빌트된 환경의 즉각적인 가용성을 제공함으로써 테스팅 환경을 배치하는 방법의 순서도(700)이다. 도 7에서는, 상이한 토폴로지 그룹을 빌드하고, 확인하고, 감시하는 것이 자동적으로 수행된다(710). 상이한 토폴로지 그룹의 라이브러리가 제공된다(714). 라이브러리 내의 상이한 토폴로지 그룹을 표현하기 위해 공통 언어 및 개발 메커니즘이 제공된다(718). 사용자에 의해 제공되는 환경 정의를 수신하기 위한 인터페이스가 사용자에게 제시된다(722). 사용자에 의해 제공되는 환경 정의에 따라 테스트 환경을 생성하기 위하여 상이한 토폴로지 그룹의 라이브러리로부터의 엘리먼트가 사용자에게 자동적으로 제공된다(726). 상이한 토폴로지 그룹의 라이브러리로부터 환경이 식별된다(730). 상이한 토폴로지 그룹의 라이브러리로부터 잃어버린 식별된 환경에 대응하는 새로운 환경을 빌드하기 위한 템플릿을 획득하기 위해 템플릿 컴파일러가 액세스된다(734). 새로운 환경은 템플릿 컴파일러로부터 획득된 템플릿에 의해 제공되는 인스트럭션을 사용하여 빌트된다(738). 새로운 환경을 빌드하는 것이 성공하면 필요한 개수의 토폴로지가 다시 이용가능하다는 것의 입증이 수행된다(742).
빌트 중인 새로운 환경을 보수하기 위한 툴은 프로세스가 실패하면 개시된다(746). 손실 또는 고아화된 리소스가 식별되는지 여부가 결정된다(750). 만약 그렇다면(752), 식별된 손실 또는 고아화된 리소스의 자동 복원을 위한 미리 정의된 복원 서브시스템으로 식별된 손실 또는 고아화된 리소스가 밀려난다(handed off)(760). 만약 결정 동작(750)에서 손실 또는 고아화된 리소스가 식별되지 않거나(754), 단계(760)에서 식별된 손실 또는 고아화된 리소스가 미리 정의된 복원 서브시스템으로 밀려난 이후라면, 임의의 실패한 가상 머신이 있는지 여부가 결정된다(770). 만약 그렇다면(772), 체크아웃된 가상 머신에 대한 구성의 스냅샷이 캡쳐된다(780). 그 후 실패한 가상 머신은 캡쳐된 스냅샷을 사용하여 되돌아간다(784). 만약 단계(770)에서 실패한 가상 머신이 없다고 결정되거나(774), 단계(784)에서 실패한 가상 머신이 되돌려진 이후라면, 방법(700)은 종료한다.
도 8은 실시예에 따른 컴퓨팅 환경(800)을 도시한다. 상이한 실시예들의 다양한 측면에 대한 정황(context)을 제공하기 위해, 도 8 및 후속 논의는 적합한 컴퓨팅 환경(800)의 간단하고 일반적인 설명을 제공하도록 의도되고, 실시예들의 다양한 측면이 구현된다. 비록 위에서는 실시예들이 컴퓨터 및/또는 컴퓨터들 상에서 실행되는 컴퓨터 프로그램의 컴퓨터 실행가능 인스트럭션의 일반적 정확에서 설명되었으나, 본 기술분야의 통상의 지식을 가진 자는 실시예들이 다른 프로그램 모듈과 조합되어 구현될 수도 있다는 것을 인식할 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행 및/또는 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조 등을 포함한다.
또한, 본 기술분야의 통상의 지식을 가진 자는 발명 방법들이 다른 컴퓨터 시스템 구성, 예컨대 단일 프로세서 또는 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터, 개인용 컴퓨터, 핸드 헬드 컴퓨팅 장치, 마이크로프로세서 기반 또는 프로그램 가능형 소비자 가전 기기 등과 함께 실시될 수 있다는 것을 이해할 것이다.
실시예들의 도시된 측면은 통신 네트워크를 통해 연결된 원격 프로세싱 장치에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서 실시될 수도 있다. 그러나, 실시예들의 전부가 아닌 일부 측면은 독립된 컴퓨터 상에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 모두에 위치될 수도 있다.
도 8을 참조하면, 실시예들의 여러 측면을 구현하는 시스템은 컴퓨터(820)를 포함하는데, 이는 프로세싱 유닛(821), 시스템 메모리(822), 및 시스템 메모리를 포함하여 다양한 시스템 컴포넌트를 프로세싱 유닛(821)에 연결하는 시스템 버스(823)를 포함한다. 프로세싱 유닛(821)은 상업적으로 이용가능한 다양한 프로세서 중 임의의 것이 될 수 있다. 듀얼 마이크로프로세서 및 다른 멀티 프로세서 아키텍쳐가 또한 프로세싱 유닛(821)으로서 이용될 수 있다는 것이 이해되어야 할 것이다.
시스템 버스는 몇몇 유형의 버스 구조, 예컨대 상업적으로 이용가능한 다양한 버스 아키텍쳐 중 임의의 것을 사용하는 메모리 버스나 메모리 컨트롤러, 주변 버스, 및 로컬 버스 중 임의의 것이 될 수 있다. 시스템 메모리는 롬(ROM)(824)과 램(RAM)(825)을 포함할 수 있다. 컴퓨터(820) 내의 구성들 사이에서 정보를 전달하도록 도와주는 기본적 루틴을 포함하는 기본적 입/출력 시스템(BIOS), 예컨대 스타트업과 같은 것은 ROM(824)에 저장된다.
컴퓨터(820)는 하드 디스크 드라이브(827), 예컨대 이동식 디스크(829)와 같이 판독 또는 기록을 위한 자기 디스크 드라이브(828), 예컨대 판독 또는 기록을 위한 CD-ROM 디스크(831) 또는 다른 광학적 매체와 같은 광학적 디스크 드라이브(CD-ROM 드라이브)(830)와 같은 컴퓨터 판독가능 데이터 저장 매체를 더 포함한다. 하드 디스크 드라이브(827), 자기 디스크 드라이브(828), 광학적 디스크 드라이브(830)는 하드 드라이브 인터페이스(832), 자기 디스크 드라이브 인퍼에이스(833), 및 광학적 드라이브 인터페이스(834)와 같은 1차 인터페이스에 의해 시스템 버스(823)로 각각 연결된다. 드라이브 및 이들의 연관 컴퓨터 판독가능 데이터 저장 매체는 컴퓨터(820)에 대한 데이터, 데이터 구조, 컴퓨터 실행가능 인스트럭션 등의 비휘발성 저장소를 제공한다. 비록 컴퓨터 판독가능 데이터 저장 매체에 대한 설명이 위에서는 하드 디스크, 이동식 자기 디스크 및 CD로 언급되었지만, 본 기술분야에서 통상의 지식을 가진 자는 예컨대, DVD, 자기 카세트, 플래시 메모리 카드, 디지털 비디오 디스크, 베르누이 카트리지 등과 같은 컴퓨터에 의해 판독가능한 다른 유형의 매체가 예시적인 운영 환경에서 사용될 수 있음을 이해할 수 있을 것이고, 임의의 이러한 매체는 본 명세서에 기술된 실시예들의 방법을 수행하는 컴퓨터 실행가능 명령어를 포함할 수 있다는 것을 이해할 것이다.
다수의 프로그램 모듈이 드라이브와 램(825)에 저장될 수 있는데, 이는 운영 체제(835), 하나 이상의 애플리케이션 프로그램(836), 기타 프로그램 모듈(837), 및 프로그램 데이터(838)를 포함한다. 도시된 컴퓨터 내의 운영 체제(835)는 실질적으로 임의의 적합한 운영 체제일 수 있다.
사용자는 키보드(840) 및 마우스(842)와 같은 포인팅 장치를 통해 컴퓨터(820)로 명령과 정보를 입력할 수 있다. 다른 입력 장치(미도시)는 마이크, 조이스틱, 게임 패드, 위성 접시, 스캐너 또는 기타 등등을 포함할 수 있다. 이들 및 기타 입력 장치는 프로세싱 유닛(821)에 종종 시스템 버스에 연결되는 2차 인터페이스를 통해 연결되는데, 다른 인터페이스, 예컨대 병렬 포트, 게임 포트, 무선 포트, 또는 USB와 같은 인터페이스와 연결될 수도 있다. 모니터(847) 또는 다른 유형의 디스플레이 장치도 비디오 어댑터(848)와 같은 인터페이스를 통해 시스템 버스(823)와 연결된다. 모니터에 더하여, 컴퓨터는 스피커 및 프린터와 같은 다른 주변 출력 장치(미도시)를 포함할 수도 있다.
컴퓨터(820)는 네트워크 환경에서 원격 컴퓨터(849)와 같은 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 동작할 수 있다. 원격 컴퓨터(849)는 워크스테이션, 서버 컴퓨터, 라우터, 개인 장치 또는 다른 공통 네트워크 노드일 수 있고, 비록 메모리 저장 장치(850)가 도 8에 도시되어 있으나, 컴퓨터(820)에 대해 상대적으로 기술되는 많은 또는 모든 엘리먼트를 전형적으로 포함할 수도 있다. 도 8에 묘사된 논리적 연결은 근거리 통신망(LAN)(851)과 광역 통신망(WAN)(852)을 포함할 수 있다. 이러한 네트워킹 환경은 사무실, 기업 컴퓨터 네트워크, 인트라넷 및 인터넷에서 아주 흔한 것이다.
LAN 네트워킹 환경이 적용될 경우, 컴퓨터(820)는 네트워크 인터페이스 또는 어댑터(853)을 통해 LAN(851)과 연결될 수 있다. WAN 네트워킹 환경 내에서 이용될 경우, 컴퓨터(820)는 모뎀(854)을 포함하거나, LAN을 통해 통신 서버와 연결되거나, 광역 통신망(852)을 통해 통신을 개설하기 위한 인터넷과 같은 기타 수단을 포함할 수 있다. 내장형 또는 외장형일 수 있는 모뎀(854)은 2차 인터페이스(846)을 통해 시스템 버스(823)에 연결될 수 있다. 네트워크화된 환경에서, 컴퓨터(820)와 관련되어 묘사된 프로그램 모듈 또는 그것의 일부는 원격 메모리 저장 장치에 저장될 수 있다. 도시된 네트워크 연결은 예시적인 것일 뿐이고 컴퓨터들 사이의 통신 링크를 개설하는 다른 수단이 이용될 수 있음을 이해할 수 있을 것이다.
예시적인 실시예들에 대한 이상의 설명은 예시 및 설명의 목적으로 제시된 것이다. 실시예들이 개시된 특정한 형태를 철저히 따르거나 그에 제한되도록 의도된 것은 아니다. 전술된 사항들을 고려한 여러 수정예과 변형예가 가능할 수도 있다. 실시예들의 범위는 본 상세한 설명에 따라 제한되는 것이 아니고, 오히려 첨부된 특허청구범위에 의하는 것으로 이해될 것이다.

Claims (10)

  1. 테스팅 환경을 배치하는 방법으로서,
    상이한 토폴로지 그룹의 라이브러리를 제공하는 단계와,
    환경 정의를 수신하기 위한 인터페이스를 사용자에게 제시하는 단계와,
    상기 수신된 환경 정의에 따라 테스트 환경을 생성하기 위한 상기 상이한 토폴로지 그룹의 라이브러리로부터의 엘리먼트를 상기 사용자에게 자동적으로 제공하는 단계
    를 포함하는 테스팅 환경 배치 방법.
  2. 제1항에 있어서,
    상기 상이한 토폴로지 그룹의 라이브러리를 제공하는 상기 단계는 토폴로지를 생성하기 위해 이용가능한 토폴로지 빌딩 블록의 미리 결정된 스톡(stock)의 즉각적인 가용성을 제공하는 단계를 포함하고, 미리 빌트된(prebuilt) 토폴로지 환경의 미리 결정된 스톡 및 미리 빌드하는(pre-building) 리소스에 대한 서비스의 모음(suite)은 상기 토폴로지 빌딩 블록의 미리 결정된 스톡을 사용하며 상기 라이브러리 내의 상기 상이한 토폴로지 그룹을 표현하기 위한 공통 언어 및 개발 메커니즘을 제공하는
    테스팅 환경 배치 방법.
  3. 제1항에 있어서,
    상기 상이한 토폴로지 그룹의 라이브러리를 제공하는 상기 단계는
    상기 상이한 토폴로지 그룹을 자동적으로 빌드(building), 확인(checking) 및 감시(monitoring)하고 상기 상이한 토폴로지 그룹의 라이브러리로부터 잃어버린 환경을 식별함으로써 상기 상이한 토폴로지 그룹의 라이브러리로부터의 엘리먼트를 상기 사용자에게 자동적으로 제공하는 단계 이후에 상기 상이한 토폴로지 그룹의 라이브러리에 대한 업데이트를 수행하는 단계와,
    상기 상이한 토폴로지 그룹의 라이브러리로부터 잃어버린 상기 식별된 환경에 대응하는 새로운 환경을 빌드하기 위한 템플릿을 사용하는 단계와,
    상기 템플릿에 의해 제공되는 인스트럭션을 사용하여 상기 새로운 환경을 빌드하는 단계와,
    상기 새로운 환경이 성공적으로 빌드될 경우 필요로 하는 개수의 토폴로지가 이용가능하다는 것을 다시 입증하는 단계와,
    손실 또는 고아화된(orphaned) 리소스를 프로세싱함으로써 프로세스가 실패할 경우 빌트되고 있는 상기 새로운 환경을 보수(repair)하기 위한 툴을 개시하는 단계
    를 더 포함하는
    테스팅 환경 배치 방법.
  4. 제1항에 있어서,
    사용자에게 인터페이스를 제시하는 상기 단계는 사용자가 상기 상이한 토폴로지 그룹의 라이브러리로부터 토폴로지를 체크아웃 및 체크인하는 관리 사용자 인터페이스를 제공하기 위한 클라이언트 웹페이지 프론트 엔드를 제공하는 단계를 더 포함하는
    테스팅 환경 배치 방법.
  5. 테스팅 환경을 배치하는 시스템으로서,
    리소스를 관리하고 상기 리소스의 체크인 및 체크아웃을 구현하도록 구성되는, 상이한 토폴로지 그룹의 라이브러리를 제공하는 리소스 피커(picker)와,
    상기 상이한 토폴로지 그룹의 라이브러리에 대한 토폴로지 빌딩 블록을 생성하는 리소스를 사용하기 위한 서비스의 모음(a suite of services)을 제공하는 프라이머와,
    사용자로 하여금 상기 상이한 토폴로지 그룹의 라이브러리로부터 원하는 토폴로지를 생성하기 위한 환경 정의를 제공하도록 해주는 클라이언트 웹페이지 인터페이스를 포함하되,
    상기 클라이언트 웹페이지 인터페이스를 통해 상기 환경 정의를 수신하면, 상기 프라이머가 상기 수신된 환경 정의에 따라 테스트 환경을 생성하기 위한 상기 상이한 토폴로지 그룹의 라이브러리로부터의 엘리먼트를 상기 사용자에게 자동적으로 제공하는
    테스팅 환경 배치 시스템.
  6. 제5항에 있어서,
    상기 프라이머는
    필요로 하는 환경과 상기 리소스 피커가 현재 이용가능하다고 가리키는 환경의 풀 구성을 비교하고,
    상기 비교에 기초하여 새로운 환경을 빌드하기 위한 템플릿을 획득하며,
    상기 획득된 템플릿에 의해 제공되는 인스트럭션을 사용하여 상기 새로운 환경을 빌드하고,
    상기 새로운 환경이 성공적으로 빌드될 경우 필요로 하는 개수의 토폴로지가 이용가능하다는 것을 다시 입증하며,
    프로세스가 실패할 경우 빌트되고 있는 상기 새로운 환경을 보수(repair)하기 위한 툴을 개시(initiating)함으로써,
    상기 상이한 토폴로지 그룹의 라이브러리로부터의 엘리먼트를 상기 사용자에게 자동적으로 제공한 이후에 상기 상이한 토폴로지 그룹의 라이브러리에 대한 업데이트를 수행하는
    테스팅 환경 배치 시스템.
  7. 제6항에 있어서,
    상기 프라이머에 의해 개시되는 상기 툴은
    손실 또는 고아화된(orphaned) 배치 리소스를 식별하고, 자동 복원을 위한 서브시스템으로 손실 또는 고아화된 배치 리소스를 밀어내기 위한(hand off) OML(Orphaned Machine Locator) 툴과,
    고아화된 물리적 리소스의 복원을 관리하고, 알려지지 않거나 손실된 상태에서의 물리적 리소스를 다시 이미지화(re-image)하며, 상기 라이브러리에 상기 물리적 리소스를 다시 추가(re-add)하고, 원격으로 물리적 머신을 하드 파워 사이클(hard power cycle)하는 등록된 웹 서비스로 SOAP 요청을 송신하기 위한 OCR(Orphaned Client Recovery) 툴과,
    가상 머신의 구성의 스냅샷을 캡쳐하고 상기 가상 머신을 캡쳐된 스냅샷으로 되돌리는(revert) ALIS(All Labs Integration Services) 시스템
    을 포함하는
    테스팅 환경 배치 시스템.
  8. 제5항에 있어서,
    재사용가능한 빌딩 블록으로서 구성을 표현하는 공통의 언어 및 개발 플랫폼을 제공하는 템플릿 권한 장치를 더 포함하되,
    상기 템플릿 권한 장치는 템플릿 컴파일러, 딕셔너리/인텐션 파일, 태스크 체인 및 토폴로지 콥(cop)을 더 포함하고,
    상기 태스크 체인은 토폴로지 단편(fragment) 내에 함께 묶인 태스크의 논리적 그룹을 포함하며,
    상기 인텐션 파일은 상기 태스크 체인 및 다른 변수를 참조하여 토폴로지를 정의하고,
    상기 템플릿 컴파일러 및 토폴로지 콥은 컴파일된 토폴로지 환경을 입증함으로써 결과 토폴로지의 정확성을 보증하기 위한 확인을 제공하는
    테스팅 환경 배치 시스템.
  9. 제6항에 있어서,
    토폴로지를 빌드하도록 구성되는 토폴로지 빌더를 더 포함하되,
    상기 프라이머는 전환할 머신을 위해 상기 리소스 피커를 조회하고, 상기 토폴로지 빌더로 하여금 원하는 상태로 리소스를 전환하도록 명령하는 상기 토폴로지 빌더의 작업 순서를 생성하며, 상기 토폴로비 빌더는 상기 머신을 상기 작업 순서의 단계에 따라 전환하고, 상기 프라이머는 미리 결정된 증상을 위해 상기 토폴로지 빌더 및 상기 리소스 피커를 감시하고 상기 OML 툴과 상기 OCR 툴을 개시(initiate)하며, 상기 OML 툴은 상기 증상을 검출하고 상기 머신을 재공급을 위해 되돌리며 상기 OCR 툴은 리소스 피커 및 토폴로지 빌더를 사용하여 상기 머신의 기록을 지우는
    테스팅 환경 배치 시스템.
  10. 테스팅 환경을 배치하는 방법을 구현하기 위해 컴퓨터에 의해 실행가능한 인스트럭션을 표현하는 데이터를 저장하는 컴퓨터 판독가능 저장 장치로서,
    상이한 토폴로지 그룹의 라이브러리를 제공하는 것과,
    환경 정의를 수신하기 위한 인터페이스를 사용자에게 제시하는 것과,
    상기 수신된 환경 정의에 따라 테스트 환경을 생성하기 위한 상기 상이한 토폴로지 그룹의 라이브러리로부터의 엘리먼트를 상기 사용자에게 자동적으로 제공하는 것
    을 포함하는 컴퓨터 판독가능 저장 장치.
KR1020137034647A 2011-06-28 2012-06-22 미리 빌트된 환경의 즉각적인 가용성을 제공함으로써 테스팅 환경을 배치하는 기법 KR102018926B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/171,387 US8732665B2 (en) 2011-06-28 2011-06-28 Deploying environments for testing by providing instantaneous availability of prebuilt environments
US13/171,387 2011-06-28
PCT/US2012/043899 WO2013003244A2 (en) 2011-06-28 2012-06-22 Deploying environments for testing by providing instantaneous availability of prebuilt environments

Publications (2)

Publication Number Publication Date
KR20140035968A true KR20140035968A (ko) 2014-03-24
KR102018926B1 KR102018926B1 (ko) 2019-09-05

Family

ID=47392057

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137034647A KR102018926B1 (ko) 2011-06-28 2012-06-22 미리 빌트된 환경의 즉각적인 가용성을 제공함으로써 테스팅 환경을 배치하는 기법

Country Status (8)

Country Link
US (1) US8732665B2 (ko)
EP (1) EP2726988A4 (ko)
JP (1) JP5941542B2 (ko)
KR (1) KR102018926B1 (ko)
CN (1) CN103635885B (ko)
AR (1) AR086795A1 (ko)
TW (1) TWI548987B (ko)
WO (1) WO2013003244A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190051436A (ko) * 2017-11-07 2019-05-15 엔에이치엔 주식회사 어플리케이션 사용환경 설정방법 및 이를 이용한 테스트방법

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769048B2 (en) 2008-06-18 2014-07-01 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system
US9128883B2 (en) 2008-06-19 2015-09-08 Commvault Systems, Inc Data storage resource allocation by performing abbreviated resource checks based on relative chances of failure of the data storage resources to determine whether data storage requests would fail
US8352954B2 (en) 2008-06-19 2013-01-08 Commvault Systems, Inc. Data storage resource allocation by employing dynamic methods and blacklisting resource request pools
US8725688B2 (en) 2008-09-05 2014-05-13 Commvault Systems, Inc. Image level copy or restore, such as image level restore without knowledge of data object metadata
US8943476B2 (en) * 2011-06-14 2015-01-27 Google Inc. System and method to in-line script dependencies
US8700678B1 (en) * 2011-12-21 2014-04-15 Emc Corporation Data provenance in computing infrastructure
US8335851B1 (en) * 2012-03-12 2012-12-18 Ringcentral, Inc. Network resource deployment for cloud-based services
US9231830B2 (en) * 2012-05-25 2016-01-05 Sap Se Interconnected landscape graphical interface generator
US9130979B2 (en) * 2012-12-11 2015-09-08 Microsoft Technology Licensing, Llc Systems and methods for using virtual machines to sequence native applications into virtual packages and for reimaging virtual machines
US9633216B2 (en) 2012-12-27 2017-04-25 Commvault Systems, Inc. Application of information management policies based on operation with a geographic entity
US9292279B2 (en) * 2013-01-22 2016-03-22 Maluuba Inc. Method and system for creating and managing a dynamic route topography for service oriented software environments
US9459968B2 (en) 2013-03-11 2016-10-04 Commvault Systems, Inc. Single index to query multiple backup formats
US20140325275A1 (en) * 2013-04-30 2014-10-30 Hewlett-Packard Development Company, L.P. Using customer computing system to test other customer computing systems
US9141514B1 (en) * 2013-05-01 2015-09-22 Amdocs Software Systems Limited System, method, and computer program for automatically comparing a plurality of software testing environments
US9274824B2 (en) * 2013-06-27 2016-03-01 Verizon Patent And Licensing Inc. Network technology standard operating environment
US10862731B1 (en) * 2013-06-27 2020-12-08 EMC IP Holding Company LLC Utilizing demonstration data based on dynamically determining feature availability
WO2015034487A1 (en) * 2013-09-04 2015-03-12 Hewlett-Packard Development Company, L.P. Selection of resource providers for multi-tenancy provision of building blocks
US10447538B2 (en) 2013-10-30 2019-10-15 Micro Focus Llc Facilitating autonomous computing within a cloud service
US10230580B2 (en) 2013-10-30 2019-03-12 Hewlett Packard Enterprise Development Lp Management of the lifecycle of a cloud service modeled as a topology
US11245588B2 (en) 2013-10-30 2022-02-08 Micro Focus Llc Modifying realized topologies
US10177988B2 (en) 2013-10-30 2019-01-08 Hewlett Packard Enterprise Development Lp Topology remediation
WO2015065389A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Execution of a topology
WO2015065355A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L. P. Stitching an application model to an infrastructure template
WO2015065368A1 (en) * 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Realized topology system management database
US10284427B2 (en) 2013-10-30 2019-05-07 Hewlett Packard Enterprise Development Lp Managing the lifecycle of a cloud service modeled as topology decorated by a number of policies
US10230568B2 (en) 2013-10-30 2019-03-12 Hewlett Packard Enterprise Development Lp Monitoring a cloud service modeled as a topology
US20150193229A1 (en) * 2014-01-06 2015-07-09 Commvault Systems, Inc. Efficient propagation of software based on snapshot technologies enabling more efficient informal software builds
US10169121B2 (en) 2014-02-27 2019-01-01 Commvault Systems, Inc. Work flow management for an information management system
JP6264948B2 (ja) * 2014-03-04 2018-01-24 日本電気株式会社 情報処理装置、ハードウェア試験制御方法およびプログラム
US9648100B2 (en) 2014-03-05 2017-05-09 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US9740574B2 (en) 2014-05-09 2017-08-22 Commvault Systems, Inc. Load balancing across multiple data paths
US9250893B2 (en) * 2014-05-14 2016-02-02 Western Digital Technologies, Inc. Virtualized and automated software build system
US20160019081A1 (en) * 2014-07-21 2016-01-21 Vmware,Inc. Viewing a snapshot of a virtual machine
US11635979B2 (en) * 2014-07-21 2023-04-25 Vmware, Inc. Modifying a state of a virtual machine
US9612859B2 (en) 2014-07-21 2017-04-04 Vmware, Inc. Comparing states of a virtual machine
US9852026B2 (en) 2014-08-06 2017-12-26 Commvault Systems, Inc. Efficient application recovery in an information management system based on a pseudo-storage-device driver
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US9444811B2 (en) 2014-10-21 2016-09-13 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
US9430750B2 (en) 2014-10-27 2016-08-30 International Business Machines Corporation Predictive approach to environment provisioning
US10429437B2 (en) * 2015-05-28 2019-10-01 Keysight Technologies, Inc. Automatically generated test diagram
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
JP6604218B2 (ja) * 2016-01-29 2019-11-13 富士通株式会社 試験装置、ネットワークシステム、及び試験方法
US10296368B2 (en) 2016-03-09 2019-05-21 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount)
CN107220171A (zh) * 2016-03-22 2017-09-29 阿里巴巴集团控股有限公司 一种虚拟机的测试方法及装置
US9838376B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Microservices based multi-tenant identity and data security management cloud service
US10341410B2 (en) 2016-05-11 2019-07-02 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US9838377B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Task segregation in a multi-tenant identity and data security management cloud service
US10581820B2 (en) 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
US10454940B2 (en) 2016-05-11 2019-10-22 Oracle International Corporation Identity cloud service authorization model
US9781122B1 (en) 2016-05-11 2017-10-03 Oracle International Corporation Multi-tenant identity and data security management cloud service
US10878079B2 (en) 2016-05-11 2020-12-29 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
US10425386B2 (en) 2016-05-11 2019-09-24 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
US10585682B2 (en) 2016-08-05 2020-03-10 Oracle International Corporation Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service
US10263947B2 (en) 2016-08-05 2019-04-16 Oracle International Corporation LDAP to SCIM proxy service
US10516672B2 (en) 2016-08-05 2019-12-24 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
US10530578B2 (en) 2016-08-05 2020-01-07 Oracle International Corporation Key store service
US10505941B2 (en) 2016-08-05 2019-12-10 Oracle International Corporation Virtual directory system for LDAP to SCIM proxy service
US10735394B2 (en) 2016-08-05 2020-08-04 Oracle International Corporation Caching framework for a multi-tenant identity and data security management cloud service
US10255061B2 (en) 2016-08-05 2019-04-09 Oracle International Corporation Zero down time upgrade for a multi-tenant identity and data security management cloud service
CN106445809B (zh) * 2016-08-30 2019-04-05 北京华恒铭圣科技发展有限责任公司 一种获取网页加载首屏时延方法
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10511589B2 (en) 2016-09-14 2019-12-17 Oracle International Corporation Single logout functionality for a multi-tenant identity and data security management cloud service
US10846390B2 (en) 2016-09-14 2020-11-24 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
CN109565511B (zh) 2016-09-16 2021-06-29 甲骨文国际公司 用于多租户身份和数据安全管理云服务的租户和服务管理
US10445395B2 (en) 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10484243B2 (en) 2016-09-16 2019-11-19 Oracle International Corporation Application management for a multi-tenant identity cloud service
US10341354B2 (en) 2016-09-16 2019-07-02 Oracle International Corporation Distributed high availability agent architecture
US10791087B2 (en) 2016-09-16 2020-09-29 Oracle International Corporation SCIM to LDAP mapping using subtype attributes
US10567364B2 (en) 2016-09-16 2020-02-18 Oracle International Corporation Preserving LDAP hierarchy in a SCIM directory using special marker groups
US10904074B2 (en) 2016-09-17 2021-01-26 Oracle International Corporation Composite event handler for a multi-tenant identity cloud service
CN106874190B (zh) * 2016-12-30 2018-03-16 上海壹账通金融科技有限公司 用户界面的测试方法及服务器
US10838821B2 (en) 2017-02-08 2020-11-17 Commvault Systems, Inc. Migrating content and metadata from a backup system
US10740193B2 (en) 2017-02-27 2020-08-11 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US10261836B2 (en) 2017-03-21 2019-04-16 Oracle International Corporation Dynamic dispatching of workloads spanning heterogeneous services
US10891069B2 (en) 2017-03-27 2021-01-12 Commvault Systems, Inc. Creating local copies of data stored in online data repositories
US10776329B2 (en) 2017-03-28 2020-09-15 Commvault Systems, Inc. Migration of a database management system to cloud storage
US11074140B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Live browsing of granular mailbox data
CN106959925B (zh) * 2017-04-25 2020-06-30 北京云测信息技术有限公司 一种版本测试方法及装置
US10454915B2 (en) 2017-05-18 2019-10-22 Oracle International Corporation User authentication using kerberos with identity cloud service
US10664352B2 (en) 2017-06-14 2020-05-26 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
CN107357722B (zh) * 2017-06-22 2020-03-31 微梦创科网络科技(中国)有限公司 一种基于大量测试用户的社交网络服务sns测试系统及方法
US10348858B2 (en) 2017-09-15 2019-07-09 Oracle International Corporation Dynamic message queues for a microservice based cloud service
US10831789B2 (en) 2017-09-27 2020-11-10 Oracle International Corporation Reference attribute query processing for a multi-tenant cloud service
US10834137B2 (en) 2017-09-28 2020-11-10 Oracle International Corporation Rest-based declarative policy management
US11271969B2 (en) 2017-09-28 2022-03-08 Oracle International Corporation Rest-based declarative policy management
US10705823B2 (en) 2017-09-29 2020-07-07 Oracle International Corporation Application templates and upgrade framework for a multi-tenant identity cloud service
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
US10795927B2 (en) 2018-02-05 2020-10-06 Commvault Systems, Inc. On-demand metadata extraction of clinical image data
US10754729B2 (en) 2018-03-12 2020-08-25 Commvault Systems, Inc. Recovery point objective (RPO) driven backup scheduling in a data storage management system
US10789387B2 (en) 2018-03-13 2020-09-29 Commvault Systems, Inc. Graphical representation of an information management system
US10931656B2 (en) 2018-03-27 2021-02-23 Oracle International Corporation Cross-region trust for a multi-tenant identity cloud service
US20190303466A1 (en) * 2018-03-30 2019-10-03 Cerebro Data, Inc. Customized code configurations for a multiple application service environment
US11165634B2 (en) 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
US10798165B2 (en) 2018-04-02 2020-10-06 Oracle International Corporation Tenant data comparison for a multi-tenant identity cloud service
US11258775B2 (en) 2018-04-04 2022-02-22 Oracle International Corporation Local write for a multi-tenant identity cloud service
US11012444B2 (en) 2018-06-25 2021-05-18 Oracle International Corporation Declarative third party identity provider integration for a multi-tenant identity cloud service
US10764273B2 (en) 2018-06-28 2020-09-01 Oracle International Corporation Session synchronization across multiple devices in an identity cloud service
US11693835B2 (en) 2018-10-17 2023-07-04 Oracle International Corporation Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service
US11321187B2 (en) 2018-10-19 2022-05-03 Oracle International Corporation Assured lazy rollback for a multi-tenant identity cloud service
CN109491892B (zh) * 2018-10-22 2021-11-19 四川虹美智能科技有限公司 一种项目环境的配置方法和装置
US10860443B2 (en) 2018-12-10 2020-12-08 Commvault Systems, Inc. Evaluation and reporting of recovery readiness in a data storage management system
US11651357B2 (en) 2019-02-01 2023-05-16 Oracle International Corporation Multifactor authentication without a user footprint
US11061929B2 (en) 2019-02-08 2021-07-13 Oracle International Corporation Replication of resource type and schema metadata for a multi-tenant identity cloud service
US11321343B2 (en) 2019-02-19 2022-05-03 Oracle International Corporation Tenant replication bootstrap for a multi-tenant identity cloud service
US11669321B2 (en) 2019-02-20 2023-06-06 Oracle International Corporation Automated database upgrade for a multi-tenant identity cloud service
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US10908892B2 (en) 2019-03-12 2021-02-02 International Business Machines Corporation Generating and deploying object code files compiled on build machines
US10977072B2 (en) * 2019-04-25 2021-04-13 At&T Intellectual Property I, L.P. Dedicated distribution of computing resources in virtualized environments
US11308034B2 (en) 2019-06-27 2022-04-19 Commvault Systems, Inc. Continuously run log backup with minimal configuration and resource usage from the source machine
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11611548B2 (en) 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment
US11200155B2 (en) * 2020-04-09 2021-12-14 The Toronto-Dominion Bank System and method for automated application testing
US11262990B2 (en) * 2020-05-26 2022-03-01 International Business Machines Corporation Application topology discovery
CN112256326B (zh) * 2020-10-27 2023-07-07 北京字跳网络技术有限公司 信息的处理方法、装置、设备及存储介质
US11604595B2 (en) 2020-12-09 2023-03-14 Dell Products L.P. Data mirroring and data migration between storage volumes using system control processors
US11853782B2 (en) 2020-12-09 2023-12-26 Dell Products L.P. Method and system for composing systems using resource sets
US11928515B2 (en) 2020-12-09 2024-03-12 Dell Products L.P. System and method for managing resource allocations in composed systems
US11698821B2 (en) 2020-12-09 2023-07-11 Dell Products L.P. Composable information handling systems in an open network using access control managers
US11934875B2 (en) * 2020-12-09 2024-03-19 Dell Products L.P. Method and system for maintaining composed systems
US11809911B2 (en) 2020-12-09 2023-11-07 Dell Products L.P. Resuming workload execution in composed information handling system
US11704159B2 (en) 2020-12-09 2023-07-18 Dell Products L.P. System and method for unified infrastructure architecture
US11675665B2 (en) 2020-12-09 2023-06-13 Dell Products L.P. System and method for backup generation using composed systems
US11675625B2 (en) 2020-12-09 2023-06-13 Dell Products L.P. Thin provisioning of resources using SCPS and a bidding system
US11809912B2 (en) 2020-12-09 2023-11-07 Dell Products L.P. System and method for allocating resources to perform workloads
US11693703B2 (en) 2020-12-09 2023-07-04 Dell Products L.P. Monitoring resource utilization via intercepting bare metal communications between resources
CN112636982A (zh) * 2020-12-28 2021-04-09 中孚安全技术有限公司 网络对抗环境配置方法及用于网络对抗的实验云平台系统
US11797341B2 (en) 2021-01-28 2023-10-24 Dell Products L.P. System and method for performing remediation action during operation analysis
US11675916B2 (en) 2021-01-28 2023-06-13 Dell Products L.P. Method and system for limiting data accessibility in composed systems
US11687280B2 (en) 2021-01-28 2023-06-27 Dell Products L.P. Method and system for efficient servicing of storage access requests
US11768612B2 (en) 2021-01-28 2023-09-26 Dell Products L.P. System and method for distributed deduplication in a composed system
US11947697B2 (en) 2021-07-22 2024-04-02 Dell Products L.P. Method and system to place resources in a known state to be used in a composed information handling system
US12013768B2 (en) 2021-07-22 2024-06-18 Dell Products L.P. Method and system for automated healing of hardware resources in a composed information handling system
US12026557B2 (en) 2021-07-22 2024-07-02 Dell Products L.P. Method and system for a utilizing a proxy service to generate a composed information handling system
US11928506B2 (en) 2021-07-28 2024-03-12 Dell Products L.P. Managing composition service entities with complex networks
US12008412B2 (en) 2021-07-28 2024-06-11 Dell Products Resource selection for complex solutions
CN115543806B (zh) * 2022-10-08 2024-06-07 武汉赫尔墨斯智能科技有限公司 一种支持自动调用自动匹配自动执行用例测试的方法
CN117572794B (zh) * 2023-11-17 2024-07-16 无锡车联天下信息技术有限公司 一种域控制自动化测试的侧部接口对接设备
CN118092943B (zh) * 2024-04-26 2024-08-06 杭州数云信息技术有限公司 应用发布方法及装置、计算机可读存储介质、终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050283759A1 (en) * 2004-06-17 2005-12-22 International Business Machines Corporation Method and system for managing application deployment
US20070220392A1 (en) * 2006-03-06 2007-09-20 Bhaskar Bhaumik Method and apparatus for automatic generation of system test libraries
US20080216006A1 (en) * 2002-04-01 2008-09-04 Microsoft Corporation System and method to facilitate manageable and agile deployment of services in accordance with various topologies
JP2010113381A (ja) * 2008-11-04 2010-05-20 Fujitsu Ltd 仮想システム制御プログラム、方法及び装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477572B1 (en) 1998-12-17 2002-11-05 International Business Machines Corporation Method for displaying a network topology for a task deployment service
US6282678B1 (en) 1999-01-08 2001-08-28 Cisco Technology, Inc. Generic test execution method and apparatus
US6662312B1 (en) * 2000-06-30 2003-12-09 Qwest Communications International Inc. Software-testing automation system
US20030037327A1 (en) * 2001-08-15 2003-02-20 International Business Machines Corporation Run-time rule-based topological installation suite
US7299451B2 (en) * 2002-01-24 2007-11-20 International Business Machines Corporation Remotely driven system for multi-product and multi-platform testing
US7366955B2 (en) * 2003-01-29 2008-04-29 Sun Microsystems, Inc. Automated test execution framework with central management
US8122106B2 (en) 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7451183B2 (en) * 2003-03-21 2008-11-11 Hewlett-Packard Development Company, L.P. Assembly and method for balancing processors in a partitioned server
US7421621B1 (en) * 2003-09-19 2008-09-02 Matador Technologies Corp. Application integration testing
US7181360B1 (en) 2004-01-30 2007-02-20 Spirent Communications Methods and systems for generating test plans for communication devices
US7665085B2 (en) 2004-03-15 2010-02-16 Ramco Systems Limited Flexible deployment of software applications
US7366706B2 (en) * 2004-11-23 2008-04-29 International Business Machines Corporation Method and apparatus for solution-template based deployment and management of an integration solution
US8572437B2 (en) 2005-07-20 2013-10-29 International Business Machines Corporation Multi-platform test automation enhancement
US8166458B2 (en) 2005-11-07 2012-04-24 Red Hat, Inc. Method and system for automated distributed software testing
US7412349B2 (en) * 2005-12-09 2008-08-12 Sap Ag Interface for series of tests
US7774446B2 (en) 2005-12-30 2010-08-10 Microsoft Corporation Discovering, defining, and implementing computer application topologies
US20080040455A1 (en) 2006-08-08 2008-02-14 Microsoft Corporation Model-based deployment and configuration of software in a distributed environment
US8621434B2 (en) * 2007-06-26 2013-12-31 Topcoder, Inc. System and method for distributed software testing
WO2009108943A2 (en) * 2008-02-29 2009-09-03 Doyenz Incorporated Automation for virtualized it environments
US8954551B2 (en) * 2008-03-17 2015-02-10 Microsoft Corporation Virtualization of groups of devices
US7886021B2 (en) * 2008-04-28 2011-02-08 Oracle America, Inc. System and method for programmatic management of distributed computing resources
US8424053B2 (en) * 2008-07-01 2013-04-16 International Business Machines Corporation Method of dynamically updating network security policy rules when new network resources are provisioned in a service landscape
US8291378B2 (en) * 2008-07-29 2012-10-16 International Business Machines Corporation Simplified deployment modeling
US8352912B2 (en) * 2008-12-15 2013-01-08 International Business Machines Corporation Method and system for topology modeling
US9329951B2 (en) 2009-07-31 2016-05-03 Paypal, Inc. System and method to uniformly manage operational life cycles and service levels
WO2011085335A2 (en) * 2010-01-08 2011-07-14 Sauce Labs, Inc. Real time verification of web applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080216006A1 (en) * 2002-04-01 2008-09-04 Microsoft Corporation System and method to facilitate manageable and agile deployment of services in accordance with various topologies
US20050283759A1 (en) * 2004-06-17 2005-12-22 International Business Machines Corporation Method and system for managing application deployment
US20070220392A1 (en) * 2006-03-06 2007-09-20 Bhaskar Bhaumik Method and apparatus for automatic generation of system test libraries
JP2010113381A (ja) * 2008-11-04 2010-05-20 Fujitsu Ltd 仮想システム制御プログラム、方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190051436A (ko) * 2017-11-07 2019-05-15 엔에이치엔 주식회사 어플리케이션 사용환경 설정방법 및 이를 이용한 테스트방법

Also Published As

Publication number Publication date
US20130007710A1 (en) 2013-01-03
CN103635885B (zh) 2016-06-22
TWI548987B (zh) 2016-09-11
WO2013003244A2 (en) 2013-01-03
AR086795A1 (es) 2014-01-22
EP2726988A2 (en) 2014-05-07
CN103635885A (zh) 2014-03-12
WO2013003244A3 (en) 2013-04-11
JP2014518425A (ja) 2014-07-28
KR102018926B1 (ko) 2019-09-05
TW201301027A (zh) 2013-01-01
US8732665B2 (en) 2014-05-20
EP2726988A4 (en) 2015-01-21
JP5941542B2 (ja) 2016-06-29

Similar Documents

Publication Publication Date Title
KR102018926B1 (ko) 미리 빌트된 환경의 즉각적인 가용성을 제공함으로써 테스팅 환경을 배치하는 기법
US11880679B2 (en) System and method for supporting patching in a multitenant application server environment
US10853056B2 (en) System and method for supporting patching in a multitenant application server environment
KR102047216B1 (ko) 서비스의 2차 위치에서의 작업의 재생 기법
US20090164201A1 (en) Method, System and Computer Program For The Centralized System Management On EndPoints Of A Distributed Data Processing System
Bouchenak et al. From autonomic to self-self behaviors: The jade experience
EP4327205A1 (en) Transition manager system
Tuovinen Reducing Downtime During Software Deployment
Guide Unicenter® Desktop and Server Management

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right