KR20090095541A - 에뮬레이션 및 가상화를 채택하는 수행-기반 테스팅 시스템및 방법 - Google Patents
에뮬레이션 및 가상화를 채택하는 수행-기반 테스팅 시스템및 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming 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
이 명세서에 인용된 모든 참조들 및 그 참조부호들은, 적절하다면, 추가적인 또는 대안적인 세부사항들, 특징들 및/또는 기술적인 배경의 설명을 위해 본 명세서에서 인용참조된다.
본 발명은, 일반적으로 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)
- 테스트 응시자에게 수행-기반 테스트(performance-based test)들의 세트를 제공하는 컴퓨터 구현 시스템에 있어서:기본 운영 체제를 갖는 서버;상기 서버 상에 존재하는 에뮬레이터(emulator)- 상기 에뮬레이터는 운영 체제 패밀리(family) 내의 적어도 1 이상의 운영 체제를 에뮬레이션함 -; 및상기 에뮬레이터와 연계되어 작동하는 데이터 스토리지- 상기 데이터 스토리지는 적어도 1 이상의 상기 에뮬레이션된 운영 체제를 이용하여 실행가능한 적어도 1 이상의 어플리케이션 프로그램(application program)의 이미지를 저장하고, 적어도 1 이상의 상기 에뮬레이션된 운영 체제를 이용하여 실행가능한 복수의 다른 가상 하드 드라이브 이미지들을 저장하며, 각각의 가상 하드 드라이브는 상기 테스트 응시자에게 상이한 시나리오들을 묘사(portray)하도록 구성되어 작동함 -를 포함하는 컴퓨터 구현 시스템.
- 제 1 항에 있어서,상기 에뮬레이터들의 운영 체제는 상기 서버의 기본 운영 체제와 다른 컴퓨터 구현 시스템.
- 제 1 항에 있어서,상기 에뮬레이터들의 운영 체제는 상기 서버의 기본 운영 체제와 다르지 않은 컴퓨터 구현 시스템.
- 제 1 항에 있어서,상기 에뮬레이터는 소프트웨어 에뮬레이터인 컴퓨터 구현 시스템.
- 제 1 항에 있어서,상기 에뮬레이터는 하드웨어 에뮬레이터인 컴퓨터 구현 시스템.
- 제 1 항에 있어서,상기 에뮬레이터는 하드웨어 및 소프트웨어를 모두 포함하는 컴퓨터 구현 시스템.
- 제 1 항에 있어서,상기 데이터 스토리지는 상기 서버의 일부분인 컴퓨터 구현 시스템.
- 제 1 항에 있어서,상기 데이터 스토리지는 상기 서버로부터 원격인 컴퓨터 구현 시스템.
- 제 1 항에 있어서,상기 1 이상의 가상 하드 드라이브 이미지들은 2 이상의 어플리케이션 프로그램 이미지들과 연계되어 작동하는 컴퓨터 구현 시스템.
- 제 1 항에 있어서,상기 복수의 가상 하드 드라이브 이미지들 사이에서 하나의 가상 하드 드라이브 이미지를 무작위로 선택하도록 구성되어 작동하는 무작위 선택 소프트웨어를 더 포함하는 컴퓨터 구현 시스템.
- 제 1 항에 있어서,상기 1 이상의 가상 하드 드라이브들에 대한 묘사는 상기 테스트 응시자로부터의 응답들의 세트를 필요로 하는 컴퓨터 구현 시스템.
- 제 11 항에 있어서,상기 묘사에 대한 상기 테스트 응시자로부터의 응답들의 세트의 적합성(appropriateness)을 자동으로 분석하는 원칙들의 세트를 정의하는 프로그램을 더 포함하는 컴퓨터 구현 시스템.
- 복수의 테스트 응시자들에게 소프트웨어를 이용하는 상이한 수행-기반 테스트들을 제공하는 컴퓨터 구현 방법에 있어서:복수의 가상 서버 이미지들을 형성하기 위해, 단일 서버 상에 운영 체제들을 에뮬레이션하는 단계;복수의 하드 드라이브 이미지들 중 적어도 1 이상과 1 이상의 어플리케이션 이미지들의 상호작용을 허용하기 위해, 상기 복수의 가상 서버 이미지들 중 하나를 이용하여 실행가능한 복수의 어플리케이션 이미지들 및 복수의 상이한 수행-기반 테스트들을 나타내는 복수의 하드 드라이브 이미지들을 상기 복수의 가상 서버 이미지들 각각과 연계시키는 단계를 포함하는 컴퓨터 구현 방법.
- 제 13 항에 있어서,상기 적어도 1 이상의 에뮬레이션된 운영 체제는 기본 서버 운영 체제와 동일한 패밀리의 운영 체제들 내에 있는 컴퓨터 구현 방법.
- 제 13 항에 있어서,상기 적어도 1 이상의 에뮬레이션된 운영 체제는 기본 서버 운영 체제와 동일한 패밀리의 운영 체제들 내에 있지 않은 컴퓨터 구현 방법.
- 제 13 항에 있어서,상기 가상 서버 이미지와의 상호작용을 위한 상기 복수의 하드 드라이브 이미지들 중 하나를 무작위로 선택하는 단계를 더 포함하는 컴퓨터 구현 방법.
- 제 13 항에 있어서,상기 가상 하드 드라이브 이미지들 중 1 이상은 워드 프로세싱 문서인 컴퓨터 구현 방법.
- 제 13 항에 있어서,상기 가상 하드 드라이브 이미지들 중 1 이상은 그래픽 표현(graphical depiction)인 컴퓨터 구현 방법.
- 데이터 구조를 포함한 컴퓨터-판독가능한 데이터 전송에 있어서:클라이언트(client)가 복수의 가상 서버 이미지들을 하우징(house)하는 서버로부터 요청하고 있는 가상 서버 이미지를 식별하는 제 1 부분;상기 서버와 연계된 스토리지 디바이스 상에 저장된 어플리케이션 이미지 및 하드 드라이브 이미지를 식별하는 제 2 부분- 상기 스토리지 디바이스는 복수의 어플리케이션 이미지들 및 상기 어플리케이션 이미지들과 연계된 하드 드라이브 이미지들을 하우징함 -을 포함하는 컴퓨터-판독가능한 데이터 전송.
- 제 19 항에 있어서,상기 클라이언트를 다른 클라이언트들로부터 식별하는 제 3 부분을 더 포함하는 컴퓨터-판독가능한 데이터 전송.
- 제 1 사용자 및 제 2 사용자에게 수행-기반 테스트들의 세트를 제공하는 컴 퓨터 구현 방법에 있어서:상기 제 1 사용자와 연계된 제 1 신호 및 상기 제 2 사용자와 연계된 뚜렷이 상이한 제 2 신호를 발생시키기 위해, 운영 체제, 1 이상의 어플리케이션 소프트웨어 프로그램들 및 2 이상의 하드 드라이브들을 공통 하드웨어 구조 상의 공유된 하드웨어로 에뮬레이션하는 단계; 및상기 제 1 신호 및 상기 제 2 신호를 저장하는 단계를 포함하는 컴퓨터 구현 방법.
- 제 21 항에 있어서,상기 에뮬레이션하는 단계는 가상화(virtualization) 기술들을 사용하는 컴퓨터 구현 방법.
- 제 21 항에 있어서,상기 제 1 신호 및 상기 제 2 신호를 전송하는 단계를 더 포함하는 컴퓨터 구현 방법.
- 제 21 항에 있어서,상기 적어도 1 이상의 소프트웨어 프로그램은 워드 프로세싱 프로그램, 그래픽 프로세싱 프로그램, 드로잉(drawing) 프로세싱 프로그램, 비디오 프로세싱 프로그램, 오디오 프로세싱 프로그램을 포함한 그룹으로부터 선택되는 컴퓨터 구현 방 법.
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)
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)
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)
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 |
-
2006
- 2006-08-29 US US11/468,250 patent/US10013268B2/en not_active Expired - Fee Related
-
2007
- 2007-08-27 EP EP07841395A patent/EP2069929A4/en not_active Withdrawn
- 2007-08-27 JP JP2009526847A patent/JP2010503024A/ja active Pending
- 2007-08-27 KR KR1020097006330A patent/KR20090095541A/ko not_active Application Discontinuation
- 2007-08-27 CN CN200780039065A patent/CN101681267A/zh active Pending
- 2007-08-27 WO PCT/US2007/076881 patent/WO2008027831A2/en active Application Filing
- 2007-08-27 MY MYPI20090841A patent/MY149469A/en unknown
-
2018
- 2018-06-15 US US16/009,466 patent/US10628191B2/en not_active Expired - Fee Related
Cited By (1)
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 |