KR20090095541A - 에뮬레이션 및 가상화를 채택하는 수행-기반 테스팅 시스템및 방법 - Google Patents

에뮬레이션 및 가상화를 채택하는 수행-기반 테스팅 시스템및 방법 Download PDF

Info

Publication number
KR20090095541A
KR20090095541A KR1020097006330A KR20097006330A KR20090095541A KR 20090095541 A KR20090095541 A KR 20090095541A KR 1020097006330 A KR1020097006330 A KR 1020097006330A KR 20097006330 A KR20097006330 A KR 20097006330A KR 20090095541 A KR20090095541 A KR 20090095541A
Authority
KR
South Korea
Prior art keywords
images
server
operating system
hard drive
virtual
Prior art date
Application number
KR1020097006330A
Other languages
English (en)
Inventor
크리스토퍼 크로우허스트
Original Assignee
더 톰슨 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 더 톰슨 코포레이션 filed Critical 더 톰슨 코포레이션
Publication of KR20090095541A publication Critical patent/KR20090095541A/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
    • 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
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

복수의 가상 하드 드라이브 이미지들을 제공함으로써 가상 서버 이미지들이 수행-기반 테스팅을 위한 상이한 어플리케이션 환경들을 위해 제공되도록 재사용되고 재의도되게 하는 시스템이 개시된다.

Description

에뮬레이션 및 가상화를 채택하는 수행-기반 테스팅 시스템 및 방법{PERFORMANCE-BASED TESTING SYSTEM AND METHOD EMPLOYING EMULATION AND VIRTUALIZATION}
이 명세서에 인용된 모든 참조들 및 그 참조부호들은, 적절하다면, 추가적인 또는 대안적인 세부사항들, 특징들 및/또는 기술적인 배경의 설명을 위해 본 명세서에서 인용참조된다.
본 발명은, 일반적으로 1 이상의 어플리케이션 프로그램들에 대한 사용자들의 기량(skill)을 판단하는 상이한 시나리오들의 즉석 선택을 허용하기 위해, 에뮬레이션(emulation) 및 가상화(virtualization) 기술들을 이용하는 수행-기반(performance-based) 테스팅 컴퓨터 시스템 및 방법에 관한 것이다.
수행-기반 테스팅 또는 "PBT"는, 지원자들이 실제 또는 시뮬레이션된 시스템들과 상호작용하여야 하는 시험 접근법이다. PBT는 테스트 응시자가 그들의 지식을 사용하고, 그들의 기량들을 증명하며, 공통 문제들을 해결하고, 및/또는 문제해결(troubleshooting) 과업들을 수행하여야 하는 1 이상의 상황들에 테스트 응시자를 두며, 테스트 크래프터(test crafter)는 이를 소정 과업들 및 활동들을 수행하는데 필요한 전문 지식 및 기량과 상관있는 것으로 생각한다. PBT는 많은 산업 및 직업에서 역량을 테스트하는데 사용된다. 예를 들어, 소방관, 경찰관, 항공 조종사, 및 비행 갑판 요원(flight deck crew)이 수행-기반 테스팅을 이용하여 흔히 테스트된다. 그들의 테스트 성적이 핵심 성과 지표(key performance indicator)들 이하로 떨어지는 경우, 그들은 훈련을 위해 돌려 보내지거나, 그렇지 않으면 일을 그만두게 된다.
PBT는 상호작용 소프트웨어 시뮬레이션의 형태를 취할 수 있으며, 이때 테스트 아이템들은 특정 소프트웨어 제품의 동작을 시뮬레이션하고, 시뮬레이션에 관하여 테스트 응시자가 시뮬레이션 내에서 올바르게 명시된 기능들을 수행하도록 요구된다. 상호작용 소프트웨어 시뮬레이션은 컴퓨터 소프트웨어 프로그램들의 이용에 있어서 숙련도(proficiency)를 평가하기에 특히 유용한 전략이다. 학습 과정을 통해 사용자를 선형으로 이동시키는 컴퓨터-기반 훈련("CBT")과 달리, 상호작용 소프트웨어 시뮬레이션은 사용자를 컴퓨터 어플리케이션의 시뮬레이션 내에 배치하고, 테스트 응시자에게 실제 소프트웨어를 이용하는 것처럼 기능을 수행하도록 요구한다. 상호작용 소프트웨어 시뮬레이션은, 어플리케이션이 특수한 프로그래밍 "후크(hook)"들을 가질 필요없이, 또한 실제 어플리케이션이 테스팅 워크스테이션(testing workstation) 상에 존재할 필요없이 어플리케이션이 시뮬레이션되게 할 수 있다. 이러한 프로그램들은 자기-충족적(self-contained)으로, 상이한 운영 체제들, 제품 버전들 및 언어들 간의 변동을 제거할 수 있다.
정보 기술 고도화 시대에서, 회사들은 컴퓨터에 정통한 개인들의 고용을 능률적으로 하려고 한다. 이는 그들의 교육 필요성을 산정하는 단계를 포함한다.
잠재적인 현재 고용인들을 평가하는 것은, 고용인들이 그들이 고용되거나 훈련되었던 일을 수행하는데 준비가 부실하다는 것이 견습 기간 이후에 알려지는 경우에 값비싼 모험일 수 있다. 매우 경쟁력있고 신속하게 발달하는 분야에서는, 고용인들이 그들의 일이 요구하는 능력들을 파악(grasp)하여 직장에 오는 것이 흔히 중요하다. 유망한 지원자들이 모든 필수 기량들 및 능력들을 아무도 갖추지 않은 상황들에서, 지원자들이 훈련의 최소량을 필요로 하는 테스팅이 나타날 것이다. 또한, 이는 여하한의 지원자들이 작업을 시작할 기능을 갖추고 있는지, 또한 그들이 직장내 훈련(on-the-job training)을 통해 나머지 기량들을 익힐 인재들의 우수한 충분한 파악을 갖는지를 나타낼 수 있다.
컴퓨터 수행 테스팅 복잡성의 정도는, 워드 프로세서의 사용에 있어서 비서를 테스트하는 것부터 복잡한 컴퓨터 시스템 관리에 있어서 정보 기술 전문가를 테스트하는 것까지 매우 다양할 수 있다. 이러한 폭넓게 다양한 테스트들의 관리자들은 일의 척도에 부응하는 환경들을 확립하여야 한다. 특히, 관리자들은 테스트가 주어질 때마다 타당성(validity) 및 신뢰성 논란에 주의하여야 한다.
타당성은, 테스트가 평가하려고 하는 기량 또는 기량들의 세트를 정확하게 측정한다는 증거를 언급한다. 테스트 타당성을 산정하는 방법들은 내용(content), 구인(construct), 척도 타당화(criterion validation)를 포함한다. 내용 타당성은, 테스트 내의 아이템들이 테스트에 의해 측정될 일을 성취하는데 필요한 가장 중요하고 자주 사용되는 지식, 기량 및 능력들을 포함한다는 통상적으로 주제(subject-matter) 전문가들에 의해 제공된 증거를 언급한다. 구인 타당성은, 테 스트 내의 개별적인 아이템들이 테스트될 주제의 정확한 측정들이라는 증거를 언급한다. 척도 타당성은, 전반적인 테스트가 몇몇 다른 독립적인 측정과 정확하게 상관된다는 증거를 언급한다.
신뢰성은 사용자들의 수행에 대하여 일관적인 반복가능한 정보를 제공하는 테스트의 능력을 칭한다. 신뢰성은 타당성에 대해 필수적이다. 신뢰성은 테스트 과업들의 시뮬레이션의 일관성 및 과업들에 대한 평점 응답(rating response)들의 일관성에 의존한다. 테스팅 에이전시들에 대해, 그들의 컴퓨터 수행 테스트들의 정확성, 타당성 및 신뢰성이 주요 셀링 포인트(selling point)이다.
컴퓨터 시스템 관리자는 PBT를 위한 워크스테이션, 서버, 어플리케이션 및 문서를 포함하는 완전한 네트워크 시스템을 빈번하게 제공할 수 있다. 컴퓨터 네트워크들은 연결 허브(connecting hub), 배선 및 소프트웨어를 수반할 수 있다. 네트워크가 워드 프로세싱, 컴퓨터 이용 설계 등과 같은 원하는 어플리케이션들의 플랫폼(platform)을 제공하게 하도록 해야한다.
메인프레임 컴퓨터들의 영역에서, 다수 서버들을 갖는 네트워크들이 웹사이트에서 어플리케이션 지원, 이메일 및 회계까지 모든 것을 처리한다. 더 많은 분화(separation) 및 더 많은 서비스들에 대한 필요성이 높아짐에 따라, 필요성에 대처하기 위해 더 많은 서버들이 구현되었다. 하지만, 장비의 증가는 요구되는 신뢰성 레벨에서 관리자가 모든 유닛을 유지하는데 경영 난제들을 초래한다.
최근에는, IBM과 같은 회사들에 의해 메인프레임들 상에서 무언가 착수되는 "가상 장치(virtual machine)"를 채택하는 방법이 도입되었다. 소위 "가상화"는 리소스들을 연산하는 논리 그룹화 또는 서브세트를 제시하여, 그것들이 원래 구성에 걸쳐 이점들을 제공하는 방식으로 액세스(access)될 수 있는 프로세스이다. "가상 장치"라는 용어는 가상화된 환경, 즉 하드웨어로서 게스트 운영 체제에 나타나지만, 실제로는 호스트 시스템에 의해 시뮬레이션되고 포함되는 환경을 형성하는 소프트웨어를 칭한다. 가상 장치의 한가지 타입은 International Business Machines에 의한 VM웨어 가상 장치이다.
인터넷 호스팅 회사들은 가상화의 1 차 사용자들이 된다. 가상 서버의 추상 관념을 이용하면, 호스팅 회사는 단일 컴퓨터 상의 다수 웹 서버들을 지원할 수 있으므로, 그들의 유지 및 지원 비용을 상당히 감소시킨다. 공유된 장치 상에서 운영하는 동안, 가상화는 시스템 관리자에 대해 백업, 파일 보관, 모니터링 및 관련 서비스들을 공유하여 전체 환경들에 전용 장치의 보안 모두를 제공하는 효과를 가질 수 있다.
유사한 구조 또는 설계 사양들을 갖는 장치들의 그룹은 동일한 "패밀리(family)"의 구성요소(member)들로 간주될 수 있다. 장치들의 그룹은 그것들의 유사한 구조 및 설계 고려사항들 때문에 동일한 패밀리 내에 있을 수 있지만, 장치들은 그들의 클록 속도(clock speed) 및 다른 성능 파라미터들에 따라 패밀리 내에서 폭넓게 변할 수 있다.
장치들의 각 패밀리는 패밀리에 대해 유일한 명령어들을 실행한다. 특정 장치 또는 장치들의 패밀리가 실행할 수 있는 명령어들의 수집된 세트는 장치들의 "명령어 세트"로서 알려져 있다. 일 예시로서, Intel 80X86 프로세서 패밀리에 의 해 사용된 명령어 세트는 PowerPC 프로세서 패밀리에 의해 사용된 명령어 세트와 호환하지 않는다.
또한, 컴퓨터 시스템들 사이에서 특정 패밀리의 유일성은, 전형적으로 다른 컴퓨터 시스템들의 하드웨어 구조의 다른 요소들 사이에 비호환성을 유도한다. 예를 들어, Intel 80X86 프로세서 패밀리로부터의 프로세서로 제조된 컴퓨터 시스템은 PowerPC 프로세서 패밀리로부터의 프로세서로 제조된 컴퓨터 시스템의 하드웨어 구조와는 상이한 하드웨어 구조를 가질 것이다. 장치들의 명령어 세트 및 컴퓨터 시스템들의 하드웨어 구조의 유일성으로 인해, 어플리케이션 소프트웨어 프로그램들은 전형적으로 특정 운영 체제를 운영하는 특정 컴퓨터 시스템 상에서 운영되도록 기록된다.
특정 컴퓨터 시스템 상에서 운영될 수 있는 운영 체제들 및 어플리케이션 프로그램들의 수를 늘리기 위해, 호스트라고 불리는 중앙 처리 유닛("CPU")의 한가지 타입을 갖는 주어진 컴퓨터가 호스트 컴퓨터로 하여금 게스트라고 불리는 관련없는 타입의 CPU의 명령어 세트를 에뮬레이션하게 하는 소프트웨어 및/또는 하드웨어-기반 에뮬레이터를 포함하는 기술의 분야가 개발되었다. 따라서, 호스트 컴퓨터는 주어진 게스트 명령어에 응답하여 1 이상의 호스트 명령어를 호출되게 하는 어플리케이션을 실행할 것이다. 그러므로, 호스트 컴퓨터는 그 자신의 하드웨어 구조에 대해 설계된 소프트웨어 및 관련없는 하드웨어 구조를 갖는 컴퓨터에 대해 기록된 소프트웨어 모두를 운영할 수 있다.
전형적으로, 에뮬레이터는 에뮬레이션되는 컴퓨터의 서브시스템들에 개략적 으로 대응하는 모듈들로 나누어진다. 가장 흔히, 에뮬레이터는 다음 모듈들: CPU 에뮬레이터 또는 CPU 시뮬레이터(두 용어들은 흔히 교환가능함); 메모리 서브시스템 모듈; 및 다양한 I/O 디바이스 에뮬레이터로 이루어질 것이다. 일반적으로, 성능 또는 간소화를 이유로 버스들은 흔히 에뮬레이션되지 않으며, 가상 주변장치들은 CPU 또는 메모리 서브시스템과 직접 통신한다.
CPU 시뮬레이터는 흔히 에뮬레이터의 가장 복잡한 부분이다. 특정한 장치의 우수하고 효율적인 에뮬레이션에 집중하기 위하여, 많은 에뮬레이터들이 "프리-패키지(pre-packaged)" CPU 시뮬레이터들을 이용하여 기록된다. CPU 시뮬레이터의 가장 간단한 형태는 해석 프로그램(interpreter)이며, 이는 에뮬레이션된 프로그램 코드의 실행 흐름을 따르고, 조우(encounter)되는 모든 장치 코드 명령어에 대해 원래 명령어들과 의미상 동등한 호스트 프로세서 상의 운영을 실행한다.
게스트 컴퓨터 시스템이 호스트 컴퓨터 시스템 상에서 에뮬레이션되는 경우, 게스트 컴퓨터 시스템은 가상 장치인 것으로 언급되며, 이는 게스트 컴퓨터 시스템이 호스트 컴퓨터 시스템 내의 하드웨어 구조의 운영의 소프트웨어 표현으로서만 존재하기 때문이다. "에뮬레이터" 및 "가상 장치"라는 용어들은 때때로 전체 컴퓨터 시스템의 하드웨어 구조를 모방(mimic)하거나 에뮬레이션하는 능력을 나타내기 위해 교환가능하게 사용된다. 따라서, "에뮬레이션"은 완전한 하드웨어 구조가 복사되는 가상 장치의 완전한 형태를 칭한다. "시뮬레이션"- 이는 프로그램의 동작을 재현하려고만 함 -과 달리, "에뮬레이션"은 에뮬레이션되는 디바이스의 상태를 모델링하려고 한다. PowerPC 프로세서를 갖는 컴퓨터 시스템과 같은 호스트 컴퓨 터의 운영 체제 소프트웨어 및 하드웨어 구조 상에서 어플리케이션을 실행하는 에뮬레이터 프로그램은 전체 게스트 컴퓨터 시스템의 운영을 모방한다. 에뮬레이터 프로그램은 호스트 장치의 하드웨어 구조와 게스트 컴퓨터 시스템의 에뮬레이션된 환경 내에서 운영되는 소프트웨어에 의해 전송된 명령어들 간의 교환으로서 작용한다. 에뮬레이션들은 완전한 구현 이전에 새로운 소프트웨어 롤아웃(rollout)들을 테스트하기 위해, 네트워크 산업 도처에서 사용된다.
관리자들은 현재 규칙적인 백업들에 의해 서버 상태를 지킨다. 시스템의 고장이 일어나는 사건시, 관리자는 보다 작은 지연들로 시스템을 다시 온라인시킬 수 있다. 백업들의 시행에 있어서 훨씬 더 철저한 과업은 디스크 드라이브와 같은 환경의 "이미지"를 취하는 것이다. 이미지는 데이터 스토리지 매체 또는 디바이스의 완전한 내용 및 구조를 포함한 컴퓨터 파일이다. 이미지들은 환경의 고장시 구조가 복사되지 않아도 되는 장점을 갖는다. 구조를 포함한 이미지 파일은 그렇게 수행할 필요성을 무효로 하며, 이에 따라 드라이브 또는 환경을 회복시키거나 형성할 시간을 감소시킨다.
에뮬레이션된 컴퓨터 시스템들은, 전형적으로 가상 하드 드라이브 이미지의 사용을 수반한다. 게스트 운영 체제에 대하여 물리적 하드 드라이브의 존재를 에뮬레이션하기 위해, 에뮬레이션 프로그램은 가상 하드 드라이브 이미지를 생성한다. 에뮬레이션 프로그램은 게스트 운영 체제에 가상 하드 드라이브 이미지를 제공할 것이다. 게스트 운영 체제는 가상 하드 드라이브 이미지로부터 부팅(boot)할 것이며, 하드 드라이브로부터 판독하거나 그에 기록하는 것을 필요로 하는 다른 모 든 기능들에 대해 가상 하드 드라이브 이미지를 참조할 수 있다. 가상 하드 드라이브 이미지는 흔히 컴퓨터 시스템의 물리적 하드 드라이브 상의 단일 파일로서 존재한다. 따라서, 게스트 컴퓨터 시스템의 가상 하드 드라이브의 전체 내용들은 호스트 컴퓨터 시스템의 물리적 하드 드라이브 상의 단일 파일로서 표현된다.
현재 컴퓨터 수행 테스팅에서, 관리자들은 테스트 자체뿐만 아니라 환경도 수동으로 생성하여야 한다. 전형적으로, 이러한 테스트들은 네트워크 시스템 내의 다수 컴퓨터들 상에 셋업된다. 모든 가능한 시나리오에 대해, 균일한 방식으로 테스트를 제시하고, 시스템 관리자들의 지나친 부담없이 나중에 제공될 수 있도록 테스트를 파일 보관하는 방법이 존재하여야 한다. 몇몇 경우, 테스트 제공자들은 표본 형태로 적절한 테스트들의 수 백가지 예시들을 필요로 할 수 있다. 전형적으로, 그들은 이러한 테스트들을 제공하기 위해, 수월하고 관리가능한 수단들을 추구한다. 시스템 관리자들이 테스트를 구성하고 재구성할 때, 회사 투자 상의 더 나은 수확에 대한 요건들에 비추어 플랫폼들이 특히 부담이 된다. 이 모두는 매우 비용이 많이 들 수 있다.
또한 객관식 테스팅(multiple choice format testing)에 비해, 컴퓨터 수행-기반 테스팅은 응답의 적합성(appropriateness)의 평가시 상당히 더 많은 시간을 필요로 할 수 있다는 점에서 비용이 더 들 수 있다. 시험의 득점은 어느정도 세분화(granular)되고 별개인 답변들을 제공하도록 설계될 수 있는 한편, 수행-기반 테스트 상에서 이용가능한 제안된 시나리오에 대해 응답하기 위한 다수의 올바른 루트들의 결과로서, 뚜렷하게 옳고 그른 답변들이 객관식 테스트 상에서보다 훨씬 덜 공통이다.
무수한 독립형 컴퓨터들의 셋업을 필요로 하지 않는 개선된 컴퓨터 수행-기반 테스팅 방법들이 요구되며, 또는 네트워크 시스템 상의 테스트 플랫폼들을 구성하고 재구성하는 시스템 관리자들이 보급력(pervasive) 있어야 한다. 또한, 테스트를 수행하도록 지명된 테스트 응시자에 따라 테스트들의 즉석 관리를 허용하는 컴퓨터 수행-기반 테스팅 방법들이 요구된다. 또한, 테스트되는 사람의 기량들을 더 적절하게 산정하기 위하여 수행-기반 테스트들의 입도(granularity)를 개선하는 새로운 방법들이 요구된다.
본 명세서에서, 소프트웨어를 이용하는 상이한 수행-기반 테스트들을 제공하는 복수의 테스트 응시자들에 대한 컴퓨터 구현 방법이 제공된다. 이러한 방법은 복수의 가상 서버 이미지들을 형성하기 위해 단일 서버 상에 운영 체제들을 에뮬레이션하는 단계를 포함한다. 복수의 가상 서버 이미지들은 복수의 상이한 수행-기반 테스트들을 나타내는 복수의 하드 드라이브 이미지들과 연계될 수 있다. 복수의 어플리케이션 이미지들은 복수의 하드 드라이브 이미지들 중 적어도 하나와 상호작용하게 하도록 복수의 가상 서버 이미지들 중 하나를 이용하여 실행가능할 수 있다. 선택적으로, 적어도 1 이상의 에뮬레이션된 운영 체제는 운영 체제의 동일한 패밀리의 분리된 경우들일 수 있거나, 운영 체제의 또 다른 패밀리로 구성될 수 있으며, 또는 기본 운영 체제와 동일한 패밀리의 운영 체제들 내에 있거나 있지 않다. 또한, 컴퓨터 구현 방법은 예를 들어 가상 하드 드라이브 이미지들 중 1 이상이 워드 프로세싱 문서 또는 그래픽 표현(graphical depiction)인 가상 서버 이미지와 상호작용하기 위한 복수의 하드 드라이브 이미지들 중 하나를 무작위로 선택하는 단계를 포함할 수 있다.
일 실시예는 테스트 응시자에게 수행-기반 테스트들의 세트를 제공하는 컴퓨터 구현 시스템을 포함하고, 상기 시스템은: 기본 운영 체제를 갖는 서버; 서버 상에 존재하는 에뮬레이터- 상기 에뮬레이터는 운영 체제 내에서 적어도 1 이상의 운영 체제를 에뮬레이션함 -; 에뮬레이터와 연계되어 작동하는 데이터 스토리지- 상기 데이터 스토리지는 적어도 1 이상의 에뮬레이션된 운영 체제를 이용하여 실행가능한 적어도 1 이상의 어플리케이션 프로그램의 이미지를 저장하고, 적어도 1 이상의 에뮬레이션된 운영 체제를 이용하여 실행가능한 복수의 다른 가상 하드 드라이브 이미지들을 저장하며, 각각의 가상 하드 드라이브는 테스트 응시자에게 상이한 시나리오들을 묘사(portray)하도록 구성되어 작동됨 -을 포함한다. 선택적으로, 에뮬레이터들의 운영 체제는 서버의 운영 체제와 다를 수 있거나 다르지 않을 수 있다. 에뮬레이터는 소프트웨어 또는 하드웨어 에뮬레이터일 수 있으며, 또는 하드웨어 및 소프트웨어 모두를 포함할 수 있다. 데이터 스토리지는 서버의 일부분일 수 있으며, 서버로부터 원격일 수 있다. 1 이상의 가상 하드 드라이브 이미지들은 2 이상의 어플리케이션 프로그램 이미지들과 연계되어 작동할 수 있다. 또한, 컴퓨터 구현 시스템은 복수의 가상 하드 드라이브 이미지들 사이에서 하나의 가상 하드 드라이브 이미지를 무작위로 선택하도록 구성되어 작동하는 무작위 선택 소프트웨어를 포함할 수 있다. 1 이상의 가상 하드 드라이브들에 대한 묘사는 테스트 응시자로부터의 응답들의 세트를 필요로 할 수 있다. 또한, 컴퓨터 구현 시스템은 묘사에 대하여 테스트 응시자로부터의 응답들의 세트의 적합성을 자동으로 분석하는 원칙들의 세트를 정의하는 프로그램을 포함할 수 있다.
또 다른 실시예는 데이터 구조를 포함한 컴퓨터-판독가능한 데이터 전송은 포함하고, 이는: 클라이언트(client)가 복수의 가상 서버 이미지들을 하우징하는 서버로부터 요청하고 있는 가상 서버 이미지를 식별하는 제 1 부분; 서버와 연계된 스토리지 디바이스 상에 저장된 어플리케이션 이미지 및 하드 드라이브 이미지를 식별하는 제 2 부분- 상기 스토리지 디바이스는 복수의 어플리케이션 이미지들 및 어플리케이션 이미지들과 연계된 하드 드라이브 이미지들을 하우징함 -을 포함한다. 또한, 전송은 다른 클라이언트들로부터 클라이언트를 식별하는 제 3 부분을 포함할 수 있다.
또 다른 실시예는 제 1 사용자 및 제 2 사용자에게 수행-기반 테스트들의 세트를 제공하는 컴퓨터 구현 방법을 포함하고, 이는: 제 1 사용자와 연계된 제 1 신호 및 제 2 사용자와 연계된 뚜렷이 다른 제 2 신호를 발생시키기 위해, 운영 체제, 1 이상의 어플리케이션 소프트웨어 프로그램들 및 2 이상의 하드 드라이브들을 공통 하드웨어 구조 상의 공유된 하드웨어로 에뮬레이션하는 단계; 및 제 1 신호 및 제 2 신호를 저장하는 단계를 포함한다. 선택적으로, 에뮬레이션하는 단계는 가상화 기술들을 사용할 수 있다. 또한, 상기 방법은 제 1 신호 및 제 2 신호를 전송하는 단계를 포함할 수 있다. 예를 들어, 워드 프로세싱 프로그램, 그래픽 프로세싱 프로그램, 드로잉(drawing) 프로세싱 프로그램, 비디오 프로세싱 프로그램 또는 오디오 프로세싱 프로그램을 포함한 그룹으로부터 적어도 1 이상의 소프트웨어 프로그램이 선택될 수 있다.
도 1은 본 발명의 예시적인 시스템 서버를 개략적으로 예시하는 도면; 및
도 2는 컴퓨터 시스템 내의 에뮬레이션된 운영 환경에 대한 하드웨어 및 소프트웨어 구조의 논리층(logical layer)들의 다이어그램이다.
테스트에서의 어떤 사실들의 지식의 증명은 의미심장한 방식으로 그 지식을 적용하는 테스트 응시자의 능력과 동등하지는 않다. 습득 및 이해를 더 적절하게 판단하기 위하여, 수행-기반 테스팅이 채택될 것이 제안되었다. 수행-기반 테스팅의 한가지 형태는 상호작용 컴퓨터 시뮬레이션이며, 이때 테스트 아이템들이 특정 소프트웨어 제품의 동작을 시뮬레이션하고, 사용자에게 그 시뮬레이션 내에서 올바르게 명시된 기능을 수행하도록 요청한다.
상호작용 컴퓨터 시뮬레이션과 연계된 문제는, 테스트 응시자가 동일한 운영 체제 상에서 운영되도록 설계되지 않은 다수의 소프트웨어 제품들에 대한 효율성을 증명하는 것이 바람직할 수 있다는 것이다. 이전에 이 제품들 각각을 이용함에 있어서 기량의 테스팅은 다수의 상이한 컴퓨터들을 채택하여야 했다. 하지만, 현재에는 컴퓨터 사용 환경에서 1 이상의 다른 패밀리 소프트웨어 프로그램들로 하여금 공통 하드웨어 상에서 운영되게 하는 에뮬레이션 전략들이 개발되었다.
도 2는 컴퓨터 시스템(107) 내의 예시적인 종래의 에뮬레이션된 운영 환경에 대한 하드웨어 및 소프트웨어 구조의 논리층들의 다이어그램을 예시한다. 에뮬레이션 프로그램(111)은 호스트 운영 체제(109) 및 호스트 하드웨어 구조(108) 상에서 운영된다. 에뮬레이션 프로그램(111)은 게스트 운영 체제(115)를 포함한 게스트 컴퓨터 시스템(113)을 에뮬레이션한다. 게스트 소프트웨어 어플리케이션(117)은 게스트 운영 체제(115) 상에서 운영된다. 도 2의 에뮬레이션된 운영 환경에서는, 게스트 소프트웨어 어플리케이션(117)이 일반적으로 호스트 운영 체제(109) 및 호스트 하드웨어 구조(108)와 호환하지 않을 수 있는 운영 체제 상에서 운영되도록 설계되었을지라도, 에뮬레이션 프로그램(111)의 운영으로 인해 게스트 소프트웨어 어플리케이션(117)이 컴퓨터 시스템(107) 상에서 운영될 수 있다.
이러한 에뮬레이션 전략들은, 통상적으로는 소프트 어플리케이션들이 상이한 운영 체제를 이용하여서만 실행가능하지만, 이러한 소프트웨어 어플리케이션들이 공통 하드웨어 상에서 운영되게 하도록 서버와 같은 단일 하드웨어가 분리되게 한다.
본 발명의 실시예들에서, 에뮬레이션 전략들은 개별 테스트 응시자들이 구성되었던 운영 체제에 관계없이 다수의 상이한 소프트웨어 어플리케이션들로 도전되게 하도록 채택된다. 이러한 시스템은, 예를 들어 테스트 응시자로 하여금 MacIntosh 드로잉 프로그램들뿐만 아니라 Microsoft Word를 이용하여 그들의 기량들에 관해 테스트되게 할 것이다. 하지만, 본 명세서에서 다수의 독립형 가상 서버들로의 서버의 분리는 본질적으로 후속 테스트 응시자들이 앞선 테스트 응시자들로부터 습득하지 않을 것을 보장하기 위해 테스팅을 끊임없이 업데이트하고 재포맷 하여야 함에 있어서 수행-기반 테스트의 관리자가 직면한 문제를 극복하지는 않는 것으로 인식된다.
이러한 문제를 극복하기 위해, 일 실시예에서는 다수의 가상 하드 드라이브 이미지들이 제공되고, 그 각각은 가상 서버에 의해 호스트가 된 어플리케이션에 의해 실행가능한 상이한 시나리오로 지향된다. 이러한 가상 하드 드라이브 이미지들은 상이한 어플리케이션 환경들을 재생성하고, 상이한 테스트 응시자들에게 동일한 어플리케이션 내의 상이한 데이터를 제공하도록 가상 서버 이미지에 의해 사용될 수 있다. 상이한 가상 하드 드라이브 이미지를 변화시킴으로써, 가상 서버 이미지가 재사용되고 재의도되어, 수행-기반 평가 시나리오들을 개발하는 비용을 극적으로 감소시킬 수 있다.
예를 들어, Visio 또는 또 다른 독점(proprietary) 드로잉 프로그램에 대한 그들의 능력들을 보여주려고 하는 테스트 응시자는 소정 차트들 또는 그림(drawing)들을 준비하도록 요구될 수 있다. 테스트 응시자가 전기 엔지니어링 회사의 마케팅 부서에서의 고용을 찾고 있는 경우, 테스트 응시자에게 그림들을 들여오고 플로우차트들을 준비하는데 능숙하다는 것을 증명하도록 요구하는 시나리오를 제안하는 1 이상의 가상 하드 드라이브 이미지들로부터 프로그램과 연계된 가상 하드 드라이브 이미지가 선택될 수 있다. 테스트 응시자가 전기기사로서의 고용을 찾고 있는 경우, 테스트하기 위한 가상 하드 드라이브 이미지는 테스트 응시자에게 전기 회로도를 준비하도록 요구하는 시나리오를 제안하는 1 이상의 가상 하드 드라이브 이미지들로부터 선택될 수 있다. 각각의 경우, 테스트 응시자는 테스트 응시 자의 능력들에 대해 드로잉 프로그램으로 테스트되지만, 각각은 회사에서 예기된 과업들에 중요한 실생활 시나리오들에 직면한다.
일 실시예에서, 어플리케이션의 테스트를 위해 선택된 특정 가상 하드 드라이브 이미지는 전체적으로 또는 부분적으로 무작위로 선택될 수 있다. 예를 들어, 한 전기기사 테스트 응시자는 한 타입의 전기 회로를 초안(draft)하는 컴퓨터의 과업에 직면할 수 있는 한편, 또 다른 응시자는 또 다른 타입의 전기 회로를 초안하는 컴퓨터의 과업에 직면할 수 있다. 가상 하드 드라이브 이미지들의 초기 선택은 유도 방식(예를 들어, 전기 회로도 시나리오)으로 선택될 수 있다; 하지만, 여하한의 특정 테스트 응시자에게 제시되는 가상 하드 드라이브 이미지의 최종 선택은 무작위일 수 있다. 무작위 추출은 한 테스트 응시자가 테스트시 또는 추후에 또 다른 테스트 응시자의 응답에 영향을 미치는 것을 방지하는데 유용하다.
테스트 응시자에게 제시된 시나리오는 수행할 테스트 응시자에 대한 일련의 명령 또는 요구의 형태일 수 있다. 예를 들어, 테스트 응시자는 특정 설계(engineered) 구조에 대한 응력 및 변형을 결정하는 소프트웨어 프로그램을 사용하도록, 발생한 시나리오에 의해 나타난 IT 문제를 해결하도록, 또는 시나리오를 해결하는데 필요한 데이터를 요약하도록 요구될 수 있다.
일 실시예에서, 주어진 PBT에 대한 테스트 응시자들의 응답들을 자동으로 등급화(grade)하는 소프트웨어 프로그램이 제공된다. 이러한 프로그램은 응답들의 라이브러리에 대해 응답들(키스트로크 등)을 비교하도록 구성되며, 이 각각에는 사전설정된 포인트 등급값(point grade value)이 주어진다. 이러한 응답들의 라이브 러리는 이전 응답들로부터 컴파일(compile)될 수 있으며, 또는 테스트 응시자들이 (이후에 추가되는 적절한 "등급화"와 함께) PBT를 수행함에 따라 능동적으로 컴파일될 수 있다. 테스트 응시자의 응답이 라이브러리 내에서 발견되지 않는 경우, 수동 등급화가 필요할 수 있다.
이제 도 1로 돌아가면, 본 발명의 예시적인 실시예의 시스템 서버(105)가 도시된다. 이러한 시스템 서버(105)는 다수의 가상 서버들, 예를 들어 가상 서버 1 호(10) 내지 가상 서버 N 호(10')로 구분하는 서버를 포함한다. 각각의 가상 서버는 가상 서버에 대한 루트(15, 15') 액세스를 갖도록 허가되는 1 이상의 사용자(5, 5', 5", 5'" 및 5"")를 가질 수 있다. 각각의 가상 서버는 상이한 시스템 라이브러리들(35, 35')을 사용할 수 있는 상이한 시스템 소프트웨어(30, 30')를 에뮬레이션하도록 설계될 수 있다. 시스템 라이브러리들(35, 35')은 시스템 소프트웨어(30, 30')이 사용할 수 있고, 다수의 프로그램들에 대한 연계(linkage)를 허용하는 미리 컴파일된 루틴들의 수집을 포함할 수 있다.
시스템 서버(105)는 서버 상에 상이한 가상 서버들(10 내지 10')의 생성 및 실행을 허용하는 가상화 소프트웨어 층(40)을 포함한다. 시스템 서버(105)는 그 자신의 호스트 운영 체제(45) 상에서 운영되며, 이는 가상 서버 환경들과는 다를 수 있다. 시스템 서버(105)는 소프트웨어 및 하드웨어(50) 구성요소들을 포함하며, 전형적으로 다수 워크스테이션들에 의한 액세스를 동시에 허용하는 네트워크 환경(55)에서 운영된다.
각각의 가상 서버(10 내지 10')는, 사용자(5, 5', 5", 5'", 및 5"")가 선택 되는 가상 서버(10 내지 10'), 어플리케이션 이미지(85, 90 내지 100) 및 가상 하드 드라이브 이미지(60, 65, 70, 75 내지 80)에 기초하여 다양한 테스트 응시자들에 대한 여하한의 어플리케이션 프로그램에 대하여 상이한 시나리오들을 허용하게 하도록, 복수의 가상 하드 드라이브 이미지들(60, 65, 70, 75 내지 80) 및 복수의 어플리케이션 이미지들(85, 90 내지 100) 사이에서 선택하게 하도록 구성되어 작동한다. 가상 하드 드라이브 이미지(60, 65, 70, 75 내지 80)는, 전체적으로 또는 부분적으로 테스트 응시자들에게 무작위로 제출되는 상이한 시나리오들을 제공하기 위해 무작위로 선택될 수 있다. 테스트 응시자가 직면할 수 있는 시나리오를 무작위로 변화시킴으로써, 테스트 응시자는 테스트를 통과하기 위해 속이거나 그대로 외울 수 없게 된다.
본 발명은 바람직한 실시예들에 대하여 설명되지만, 당업자라면 첨부된 청구항들에 의해 정의된 본 발명의 의도 또는 범위를 벗어나지 않고 본 발명에 대한 다양한 변형예 및/또는 수정예들이 수행될 수 있다는 것을 쉽게 이해할 것이다.

Claims (24)

  1. 테스트 응시자에게 수행-기반 테스트(performance-based test)들의 세트를 제공하는 컴퓨터 구현 시스템에 있어서:
    기본 운영 체제를 갖는 서버;
    상기 서버 상에 존재하는 에뮬레이터(emulator)- 상기 에뮬레이터는 운영 체제 패밀리(family) 내의 적어도 1 이상의 운영 체제를 에뮬레이션함 -; 및
    상기 에뮬레이터와 연계되어 작동하는 데이터 스토리지- 상기 데이터 스토리지는 적어도 1 이상의 상기 에뮬레이션된 운영 체제를 이용하여 실행가능한 적어도 1 이상의 어플리케이션 프로그램(application program)의 이미지를 저장하고, 적어도 1 이상의 상기 에뮬레이션된 운영 체제를 이용하여 실행가능한 복수의 다른 가상 하드 드라이브 이미지들을 저장하며, 각각의 가상 하드 드라이브는 상기 테스트 응시자에게 상이한 시나리오들을 묘사(portray)하도록 구성되어 작동함 -를 포함하는 컴퓨터 구현 시스템.
  2. 제 1 항에 있어서,
    상기 에뮬레이터들의 운영 체제는 상기 서버의 기본 운영 체제와 다른 컴퓨터 구현 시스템.
  3. 제 1 항에 있어서,
    상기 에뮬레이터들의 운영 체제는 상기 서버의 기본 운영 체제와 다르지 않은 컴퓨터 구현 시스템.
  4. 제 1 항에 있어서,
    상기 에뮬레이터는 소프트웨어 에뮬레이터인 컴퓨터 구현 시스템.
  5. 제 1 항에 있어서,
    상기 에뮬레이터는 하드웨어 에뮬레이터인 컴퓨터 구현 시스템.
  6. 제 1 항에 있어서,
    상기 에뮬레이터는 하드웨어 및 소프트웨어를 모두 포함하는 컴퓨터 구현 시스템.
  7. 제 1 항에 있어서,
    상기 데이터 스토리지는 상기 서버의 일부분인 컴퓨터 구현 시스템.
  8. 제 1 항에 있어서,
    상기 데이터 스토리지는 상기 서버로부터 원격인 컴퓨터 구현 시스템.
  9. 제 1 항에 있어서,
    상기 1 이상의 가상 하드 드라이브 이미지들은 2 이상의 어플리케이션 프로그램 이미지들과 연계되어 작동하는 컴퓨터 구현 시스템.
  10. 제 1 항에 있어서,
    상기 복수의 가상 하드 드라이브 이미지들 사이에서 하나의 가상 하드 드라이브 이미지를 무작위로 선택하도록 구성되어 작동하는 무작위 선택 소프트웨어를 더 포함하는 컴퓨터 구현 시스템.
  11. 제 1 항에 있어서,
    상기 1 이상의 가상 하드 드라이브들에 대한 묘사는 상기 테스트 응시자로부터의 응답들의 세트를 필요로 하는 컴퓨터 구현 시스템.
  12. 제 11 항에 있어서,
    상기 묘사에 대한 상기 테스트 응시자로부터의 응답들의 세트의 적합성(appropriateness)을 자동으로 분석하는 원칙들의 세트를 정의하는 프로그램을 더 포함하는 컴퓨터 구현 시스템.
  13. 복수의 테스트 응시자들에게 소프트웨어를 이용하는 상이한 수행-기반 테스트들을 제공하는 컴퓨터 구현 방법에 있어서:
    복수의 가상 서버 이미지들을 형성하기 위해, 단일 서버 상에 운영 체제들을 에뮬레이션하는 단계;
    복수의 하드 드라이브 이미지들 중 적어도 1 이상과 1 이상의 어플리케이션 이미지들의 상호작용을 허용하기 위해, 상기 복수의 가상 서버 이미지들 중 하나를 이용하여 실행가능한 복수의 어플리케이션 이미지들 및 복수의 상이한 수행-기반 테스트들을 나타내는 복수의 하드 드라이브 이미지들을 상기 복수의 가상 서버 이미지들 각각과 연계시키는 단계를 포함하는 컴퓨터 구현 방법.
  14. 제 13 항에 있어서,
    상기 적어도 1 이상의 에뮬레이션된 운영 체제는 기본 서버 운영 체제와 동일한 패밀리의 운영 체제들 내에 있는 컴퓨터 구현 방법.
  15. 제 13 항에 있어서,
    상기 적어도 1 이상의 에뮬레이션된 운영 체제는 기본 서버 운영 체제와 동일한 패밀리의 운영 체제들 내에 있지 않은 컴퓨터 구현 방법.
  16. 제 13 항에 있어서,
    상기 가상 서버 이미지와의 상호작용을 위한 상기 복수의 하드 드라이브 이미지들 중 하나를 무작위로 선택하는 단계를 더 포함하는 컴퓨터 구현 방법.
  17. 제 13 항에 있어서,
    상기 가상 하드 드라이브 이미지들 중 1 이상은 워드 프로세싱 문서인 컴퓨터 구현 방법.
  18. 제 13 항에 있어서,
    상기 가상 하드 드라이브 이미지들 중 1 이상은 그래픽 표현(graphical depiction)인 컴퓨터 구현 방법.
  19. 데이터 구조를 포함한 컴퓨터-판독가능한 데이터 전송에 있어서:
    클라이언트(client)가 복수의 가상 서버 이미지들을 하우징(house)하는 서버로부터 요청하고 있는 가상 서버 이미지를 식별하는 제 1 부분;
    상기 서버와 연계된 스토리지 디바이스 상에 저장된 어플리케이션 이미지 및 하드 드라이브 이미지를 식별하는 제 2 부분- 상기 스토리지 디바이스는 복수의 어플리케이션 이미지들 및 상기 어플리케이션 이미지들과 연계된 하드 드라이브 이미지들을 하우징함 -을 포함하는 컴퓨터-판독가능한 데이터 전송.
  20. 제 19 항에 있어서,
    상기 클라이언트를 다른 클라이언트들로부터 식별하는 제 3 부분을 더 포함하는 컴퓨터-판독가능한 데이터 전송.
  21. 제 1 사용자 및 제 2 사용자에게 수행-기반 테스트들의 세트를 제공하는 컴 퓨터 구현 방법에 있어서:
    상기 제 1 사용자와 연계된 제 1 신호 및 상기 제 2 사용자와 연계된 뚜렷이 상이한 제 2 신호를 발생시키기 위해, 운영 체제, 1 이상의 어플리케이션 소프트웨어 프로그램들 및 2 이상의 하드 드라이브들을 공통 하드웨어 구조 상의 공유된 하드웨어로 에뮬레이션하는 단계; 및
    상기 제 1 신호 및 상기 제 2 신호를 저장하는 단계를 포함하는 컴퓨터 구현 방법.
  22. 제 21 항에 있어서,
    상기 에뮬레이션하는 단계는 가상화(virtualization) 기술들을 사용하는 컴퓨터 구현 방법.
  23. 제 21 항에 있어서,
    상기 제 1 신호 및 상기 제 2 신호를 전송하는 단계를 더 포함하는 컴퓨터 구현 방법.
  24. 제 21 항에 있어서,
    상기 적어도 1 이상의 소프트웨어 프로그램은 워드 프로세싱 프로그램, 그래픽 프로세싱 프로그램, 드로잉(drawing) 프로세싱 프로그램, 비디오 프로세싱 프로그램, 오디오 프로세싱 프로그램을 포함한 그룹으로부터 선택되는 컴퓨터 구현 방 법.
KR1020097006330A 2006-08-29 2007-08-27 에뮬레이션 및 가상화를 채택하는 수행-기반 테스팅 시스템및 방법 KR20090095541A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/468,250 2006-08-29
US11/468,250 US10013268B2 (en) 2006-08-29 2006-08-29 Performance-based testing system and method employing emulation and virtualization

Publications (1)

Publication Number Publication Date
KR20090095541A true KR20090095541A (ko) 2009-09-09

Family

ID=39136754

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097006330A KR20090095541A (ko) 2006-08-29 2007-08-27 에뮬레이션 및 가상화를 채택하는 수행-기반 테스팅 시스템및 방법

Country Status (7)

Country Link
US (2) US10013268B2 (ko)
EP (1) EP2069929A4 (ko)
JP (1) JP2010503024A (ko)
KR (1) KR20090095541A (ko)
CN (1) CN101681267A (ko)
MY (1) MY149469A (ko)
WO (1) WO2008027831A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013123563A1 (en) * 2012-02-24 2013-08-29 Remasys Pty Ltd Router-based end-user performance monitoring

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5274075B2 (ja) * 2008-03-31 2013-08-28 キヤノン株式会社 画像形成装置、画像形成処理方法及びプログラム
KR101058993B1 (ko) 2009-10-26 2011-08-23 한국조폐공사 가상드라이브 방식의 스마트카드 테스트 장치 및 방법
CN102253884B (zh) * 2011-05-12 2016-05-11 中兴通讯股份有限公司 模拟单板软件运行环境的方法及装置
CN102521092A (zh) * 2011-12-31 2012-06-27 曙光信息产业股份有限公司 硬盘测试方法和装置
CN104951396B (zh) 2014-03-31 2018-01-30 国际商业机器公司 基于虚拟机创建软件性能测试环境的方法和装置
CN106816057B (zh) * 2017-01-25 2019-03-22 公安部上海消防研究所 一种虚拟消防训练系统
CN110221926B (zh) * 2019-05-27 2021-11-16 中国电建集团华东勘测设计研究院有限公司 一种高拱坝浇筑进度仿真的隔离计算管理方法

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4637797A (en) * 1985-01-11 1987-01-20 Access Learning Technology Corporation Software training system
US4772206A (en) * 1986-03-10 1988-09-20 International Business Machines Corporation Multi-mode teaching simulator
US4937036A (en) * 1986-04-28 1990-06-26 Xerox Corporation Concurrent display of data from two different display processors and user interface therefore
US5313620A (en) * 1989-04-06 1994-05-17 Bell Communications Research, Inc. Selective receiver for each processor in a multiple processor system
US5240419A (en) * 1991-07-15 1993-08-31 Hughes Training, Inc. Condition monitor request processing system
US5395243A (en) * 1991-09-25 1995-03-07 National Education Training Group Interactive learning system
US5481667A (en) * 1992-02-13 1996-01-02 Microsoft Corporation Method and system for instructing a user of a computer system how to perform application program tasks
US5493658A (en) * 1992-03-26 1996-02-20 International Business Machines Corporation Interactive online tutorial system with monitoring function for software products
EP0568386A3 (en) * 1992-05-01 1995-08-16 R Brent Johnson Console simulator, multi-console management system, and console management distribution system
DE69431386T2 (de) * 1993-10-05 2003-05-15 Seiko Epson Corp Verfahren und Gerät zur Erzeugung eines Programms für parallele Verarbeitung
US5597312A (en) * 1994-05-04 1997-01-28 U S West Technologies, Inc. Intelligent tutoring method and system
AU695912B2 (en) * 1994-06-07 1998-08-27 Skillsoft Ireland Limited A computer based training system
US5577186A (en) * 1994-08-01 1996-11-19 Mann, Ii; S. Edward Apparatus and method for providing a generic computerized multimedia tutorial interface for training a user on multiple applications
US5602982A (en) * 1994-09-23 1997-02-11 Kelly Properties, Inc. Universal automated training and testing software system
US5907696A (en) * 1996-07-03 1999-05-25 Cabletron Systems, Inc. Network device simulator
US5823781A (en) * 1996-07-29 1998-10-20 Electronic Data Systems Coporation Electronic mentor training system and method
US5816820A (en) * 1996-09-18 1998-10-06 Kelly Properties, Inc. Simulation generation system
US6246975B1 (en) * 1996-10-30 2001-06-12 American Board Of Family Practice, Inc. Computer architecture and process of patient generation, evolution, and simulation for computer based testing system
US6009256A (en) * 1997-05-02 1999-12-28 Axis Systems, Inc. Simulation/emulation system and method
US6347943B1 (en) * 1997-10-20 2002-02-19 Vuepoint Corporation Method and system for creating an individualized course of instruction for each user
US7016811B2 (en) * 2001-08-15 2006-03-21 National Instruments Corporation Network-based system for configuring a programmable hardware element in a measurement system using hardware configuration programs generated based on a user specification
CA2239666A1 (en) * 1998-06-04 1999-12-04 Hsin-Kuo Lee Digital traffic signal device
US6704764B1 (en) * 1998-06-18 2004-03-09 Hewlett-Packard Development Company, L.P. Method and apparatus for a servlet server class
US6219047B1 (en) * 1998-09-17 2001-04-17 John Bell Training agent
US6732220B2 (en) * 1999-02-17 2004-05-04 Elbrus International Method for emulating hardware features of a foreign architecture in a host operating system environment
US6340977B1 (en) * 1999-05-07 2002-01-22 Philip Lui System and method for dynamic assistance in software applications using behavior and host application models
US6850953B1 (en) * 1999-08-23 2005-02-01 Sun Microsystems, Inc. Creating multiple sets of data by spawning a secondary virtual machine
US6371765B1 (en) * 1999-11-09 2002-04-16 Mciworldcom, Inc. Interactive computer-based training system and method
US6766311B1 (en) * 1999-11-09 2004-07-20 Worldcom, Inc. State transition system and method in interactive computer-based training
US6386882B1 (en) * 1999-11-10 2002-05-14 Medtronic, Inc. Remote delivery of software-based training for implantable medical device systems
US6438353B1 (en) * 2000-03-29 2002-08-20 General Electric Method, system and storage medium for providing training to multiple users
US7047176B2 (en) * 2000-05-05 2006-05-16 Fujitsu Limited Method and system for hardware simulation
US6985937B1 (en) 2000-05-11 2006-01-10 Ensim Corporation Dynamically modifying the resources of a virtual server
US6990663B1 (en) 2000-06-08 2006-01-24 International Business Machines Corporation Hypervisor virtualization of OS console and operator panel
JP2001357221A (ja) * 2000-06-09 2001-12-26 Kensuke Taoka インターネット上のエミュレーション技術を利用したサービスの提供
JP2002007329A (ja) * 2000-06-20 2002-01-11 Nec Corp コンピュータシステム
WO2002009391A2 (en) * 2000-07-10 2002-01-31 Educational Testing Service System and methods for computer-based testing using network-based synchronization of information
US7506265B1 (en) * 2000-07-17 2009-03-17 Microsoft Corporation System and method for displaying images of virtual machine environments
TW470904B (en) * 2000-07-28 2002-01-01 Inventec Corp Interactive instruction system and method
CA2317825C (en) * 2000-09-07 2006-02-07 Ibm Canada Limited-Ibm Canada Limitee Interactive tutorial
US20020082858A1 (en) 2000-09-12 2002-06-27 Infolibria, Inc. Managing distribution and local execution of computing resources
US6884171B2 (en) * 2000-09-18 2005-04-26 Nintendo Co., Ltd. Video game distribution network
US6907569B1 (en) * 2000-10-25 2005-06-14 Adobe Systems Incorporated “Show me” user interface command with scroll tracking
US6813766B2 (en) 2001-02-05 2004-11-02 Interland, Inc. Method and apparatus for scheduling processes based upon virtual server identifiers
US6931366B2 (en) * 2001-03-29 2005-08-16 Ford Motor Company Method and apparatus for analyzing a design
US6968350B2 (en) 2001-04-07 2005-11-22 Microsoft Corporation Method for establishing a virtual hard drive for an emulated computer system running on a host computer system
US6944785B2 (en) 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US7594220B2 (en) * 2001-08-14 2009-09-22 National Instruments Corporation Configuration diagram with context sensitive connectivity
US7089172B2 (en) * 2001-12-28 2006-08-08 Testout Corporation System and method for simulating a computer environment and evaluating a user's performance within a simulation
US7200545B2 (en) * 2001-12-28 2007-04-03 Testout Corporation System and method for simulating computer network devices for competency training and testing simulations
IL147560A0 (en) * 2002-01-10 2002-08-14 Sphera Technologies Ltd A method and system for hosting a plurality of dedicated servers
US7331791B2 (en) * 2002-03-05 2008-02-19 Novell, Inc. System and method for evaluating a person's information technology skills
US7080378B1 (en) 2002-05-17 2006-07-18 Storage Technology Corporation Workload balancing using dynamically allocated virtual servers
KR20050027093A (ko) * 2002-05-24 2005-03-17 에스엠티엠 테크놀러지스 엘엘씨 숙련 기반 테스트 및 트레이닝을 위한 방법 및 시스템
JP2004021102A (ja) * 2002-06-19 2004-01-22 Eigyotatsu Kofun Yugenkoshi 会話練習システムおよびその方法
US7356771B2 (en) * 2002-07-09 2008-04-08 Openpages Adaptive content platform and method of using same
US7313793B2 (en) * 2002-07-11 2007-12-25 Microsoft Corporation Method for forking or migrating a virtual machine
US6782424B2 (en) 2002-08-23 2004-08-24 Finite State Machine Labs, Inc. System, method and computer program product for monitoring and controlling network connections from a supervisory operating system
US7299468B2 (en) * 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
WO2004104825A1 (en) 2003-05-15 2004-12-02 Applianz Technologies, Inc. Systems and methods of creating and accessing software simulated computers
US7376949B2 (en) 2003-10-01 2008-05-20 Hewlett-Packard Development Company, L.P. Resource allocation and protection in a multi-virtual environment
US20050114595A1 (en) 2003-11-26 2005-05-26 Veritas Operating Corporation System and method for emulating operating system metadata to provide cross-platform access to storage volumes
US20060070067A1 (en) * 2004-06-03 2006-03-30 Dell Products L.P. Method of using scavenger grids in a network of virtualized computers
US7640543B2 (en) 2004-06-30 2009-12-29 Intel Corporation Memory isolation and virtualization among virtual machines
US7620895B2 (en) * 2004-09-08 2009-11-17 Transcensus, Llc Systems and methods for teaching a person to interact with a computer program having a graphical user interface
US20060085784A1 (en) * 2004-10-15 2006-04-20 Microsoft Corporation Systems and methods for authoring and accessing computer-based materials using virtual machines
US8221126B2 (en) * 2004-11-22 2012-07-17 Bravobrava L.L.C. System and method for performing programmatic language learning tests and evaluations
US8370819B2 (en) * 2005-03-25 2013-02-05 Microsoft Corporation Mechanism to store information describing a virtual machine in a virtual disk image
US20070033592A1 (en) * 2005-08-04 2007-02-08 International Business Machines Corporation Method, apparatus, and computer program product for adaptive process dispatch in a computer system having a plurality of processors

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013123563A1 (en) * 2012-02-24 2013-08-29 Remasys Pty Ltd Router-based end-user performance monitoring

Also Published As

Publication number Publication date
JP2010503024A (ja) 2010-01-28
MY149469A (en) 2013-08-30
WO2008027831A3 (en) 2008-04-17
EP2069929A4 (en) 2012-06-13
US10013268B2 (en) 2018-07-03
US10628191B2 (en) 2020-04-21
US20180293092A1 (en) 2018-10-11
US20080070222A1 (en) 2008-03-20
EP2069929A2 (en) 2009-06-17
CN101681267A (zh) 2010-03-24
WO2008027831A2 (en) 2008-03-06

Similar Documents

Publication Publication Date Title
US10628191B2 (en) Performance-based testing system and method employing emulation and virtualization
Begel et al. Novice software developers, all over again
Christensen Teaching DevOps and cloud computing using a cognitive apprenticeship and story-telling approach
Fu et al. APOGEE: automated project grading and instant feedback system for web based computing
WO2017087893A1 (en) Utilization of virtual machines in a cyber learning management environment
Huang Teaching, learning, and assessment with virtualization technology
CN113837908A (zh) 一种基于课程的网络培训系统与方法
Wright Capstone programming courses considered harmful
US20210073664A1 (en) Smart proficiency analysis for adaptive learning platforms
Lierman How to develop a training simulation
Miller Linux Administration Best Practices: Practical solutions to approaching the design and management of Linux systems
Mohamad et al. Automated ICT literacy skill assessment using rateskill system
Pfeiffer et al. Live is Life—Teaching Software Engineering on Live Systems
Ivnitskii et al. Digital services for open E-learning quality assurance
Sequeira MCSA 70-740 cert guide: installation, storage, and compute with Windows Server 2016
KR100752920B1 (ko) 인터넷에서 시뮬레이션을 이용한 학습 시스템 및 방법
Bergan et al. Otnetic: A Cyber Range Training Platform Developed for the Norwegian Energy Sector
Chemuturi Computer programming for beginners: A Step-by-Step Guide
Soles et al. A tool set for managing virtual network configurations
Bimazubute DESIGN AND IMPLEMENTATION OF A WEB-BASED TOOL TO INTEGRATE NATURAL LANGUAGE FEEDBACK IN AUTOMATED ASSESSMENT
Tahir et al. pTA: A Programmable Teaching Assistant for Lab Courses
Rietsche et al. Creation of an online virtual Cisco router learning environment.
Friedenthal Developing a risk management" flight simulator" for manned space programs: a user interface to a system dynamic simulation of system safety at NASA
Aghel Masjedi A study on the performance of virtualization programs
Cem Kaner Carts before horses: Using preparatory exercises to motivate lecture material

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application