KR101658070B1 - 연속 월드 스위치 보안을 갖는 데이터 센터 - Google Patents

연속 월드 스위치 보안을 갖는 데이터 센터 Download PDF

Info

Publication number
KR101658070B1
KR101658070B1 KR1020147012271A KR20147012271A KR101658070B1 KR 101658070 B1 KR101658070 B1 KR 101658070B1 KR 1020147012271 A KR1020147012271 A KR 1020147012271A KR 20147012271 A KR20147012271 A KR 20147012271A KR 101658070 B1 KR101658070 B1 KR 101658070B1
Authority
KR
South Korea
Prior art keywords
hypervisor
world
server
cloud
virtual machines
Prior art date
Application number
KR1020147012271A
Other languages
English (en)
Other versions
KR20140075781A (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 KR20140075781A publication Critical patent/KR20140075781A/ko
Application granted granted Critical
Publication of KR101658070B1 publication Critical patent/KR101658070B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/45558Hypervisor-specific management and integration aspects
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Abstract

일반적으로 연속 월드 스위치 보안에 관한 기술들이 설명되어 있다. 일부 예시에서, 월드 스위치 인디케이터는 연속 월드 스위치 보안이 클라우드 커스터머에 대해 온 상태인지 또는 오프 상태인지 여부를 지시할 수 있다. 월드 스위치 인디케이터에 따라 하이퍼바이저 월드 스위치 보안 설정이 활성화 및 비활성화되어 옵션으로서 클라우드 서버에 의해 실행되는 가상 머신들 사이에 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용할 수 있다. 옵션으로서, 연속 월드 스위치 보안이 클라우드 커스터머에 의해 제어될 수 있다. 연속 월드 스위치 보안의 활성화/비활성화를 수용하기 위해 로드 밸런싱, 클라우드 커스터머 과금, 및 다른 기법들이 또한 개시되어 있다.

Description

연속 월드 스위치 보안을 갖는 데이터 센터{DATA CENTER WITH CONTINUOUS WORLD SWITCH SECURITY}
일반적으로 연속 월드 스위치 보안(continuous world switch security)에 관한 기술들이 설명된다.
여기에 달리 지시되지 않는 한, 이 섹션에 설명된 내용들은 본 출원의 청구항에 대한 선행 기술이 아니며, 이 섹션에 포함됨으로써 선행 기술으로 인정되는 것은 아니다.
가상 머신들은 데이터 센터들에서 핵심적인 도구가 되어 가고 있다. 이들 가상 머신은 상이한 사용자로 하여금 동일한 하드웨어 상에 상이한 운영 체제 및 릴리즈를 실행하게 할 뿐 아니라 사용자 사이의 로드 밸런싱 및 분리를 가능하게 한다.
그러나, 동일한 하드웨어 상의 다수의 가상 머신의 존재는 보안 위험들을 제공한다. 예를 들어, 하나의 보안 위험 시나리오에서, 공격자는 16th ACM Conference on Computer and Communications Security, 2009, pages 199-212에서 저자가 T. Ristenpart 등인 "Hey, You, Get Off of My Cloud: Exploring Information Leakage in Third-Party Compute Clouds"에 개시된 바와 같은 클라우드 지도제작법을 사용하여 타겟과 공존하는 가상 머신을 얻을 수 있다. 공격자는 사이드 채널 공격을 채택하여 공존하는 프로세스들로부터 데이터를 추출할 수 있다. 이들 사이드 채널 공격들은 물리적 리소스들의 공유로 인한 정보 유출을 기회로 활용한다.
이러한 예시적인 공격자들은 프로세서 데이터 캐시를 기회로 활용할 수 있고, 예를 들어 암호화/복호화 키들의 추출을 가능하게 할 수 있다. Topics in Cryptology ― CT-RSA 2006, The Cryptographers Track at the RSA Conference 2006에서 저자가 C. Percival인 "Cache Missing or Fun and Profit" 및 저자가 D. A. Osvik 등인 "Cache Attacks and Countermeasures: The Case of AES"를 참조한다. 예시적인 공격에서, 축출을 검출하기 위한 타이밍 캐시 액세스에 의해 공유 메모리 또는 캐시들로부터 데이터 스트림들이 추출된다. 이러한 방법은 임의의 공통 리소스들에 대한 액세스를 요구하지 않지만, 공유 리소스 액세스는 이러한 방법을 훨씬 더 강력하게 만든다. BSDCan 2005에서 저자가 C. Perciva인 "Cache Missing for Fun and Profit"를 참조한다. 다른 연구원들은 캐시들이 키스트로크(keystroke) 타이밍에 대한 정보를 제공하여 패스워드를 추출하고 사용자들을 카운트한다고 밝혀냈다. COMPUTER WORLD, Sep. 3, 2009에서 저자가 R. McMillan인 "Researchers Find a New Way to Attack the Cloud: 'Side-channel' attack techniques could lead to more serious problems"를 참조한다.
본 개시는 일반적으로 연속 월드 스위치 보안을 갖는 데이터 센터에 관한 디바이스, 방법, 및 컴퓨터 판독가능 매체를 포함하는 기술에 관한 것이다. 일부 예시적인 데이터 센터들은 클라우드 서비스들을 제공하도록 구성된 하나 이상의 상호 연결된 서버들을 포함할 수 있다. 데이터 센터는 하나 이상의 클라우드 커스터머들과 연관된 월드 스위치 인디케이터(world switch indicator)를 포함하는 디지털 관리 기록들(digital administrative records)을 포함할 수 있다. 데이터 센터는 클라우드 커스터머를 대신하여 태스크를 런칭할 때 월드 스위치 인디케이터를 체크하도록 구성된 태스크 런처(task launcher)를 포함할 수 있다. 연속 월드 스위치 보안이 온(on) 상태라는 월드 스위치 인디케이터에 의한 지시에 응답하여, 태스크 런처는 여기에서 하이퍼바이저 설정이라고도 지칭되는 하이퍼바이저 월드 스위치 보안 설정을 하나 이상의 클라우드 서버의 하이퍼바이저에 의해 관리되는 가상 머신에 대해 활성화하도록 구성될 수 있다. 하이퍼바이저는 하이퍼바이저 설정이 온 상태인 경우 가상 머신들 사이에 콘텍스트 스위치(context switch)가 아닌 월드 스위치(world switch)를 허용하도록 구성될 수 있다. 하이퍼바이저는 하이퍼바이저 설정이 오프인 경우 가상 머신들 사이에 월드 스위치 및/또는 콘텍스트 스위치를 허용하도록 구성될 수 있다.
예시적인 데이터 센터들은 연속 월드 스위치 보안을 수용하도록 구성된 로드 밸런스 매니저를 포함할 수 있다. 예를 들어, 로드 밸런스 관리는 연속 월드 스위치 보안이 온 상태인 태스크들을 포함하는 가상 머신들 및/또는 클라우드 커스터머들에게 추가적인 데이터 센터 프로세싱 리소스들을 할당하도록 구성될 수 있다. 로드 밸런스 매니저는 하나 이상의 동일한 서버에서 연속 월드 스위치 보안이 온 상태인 태스크들을 그룹화하도록 구성될 수 있다. 로드 밸런스 매니저는 하드웨어 가상화 보조(hardware virtualization assistance)를 포함하는 서버들에서 연속 월드 스위치 보안이 온 상태인 태스크들을 할당하여 월드 스위칭으로 인한 추가적인 프로세서 활동(processor activity)을 잘 지원하도록 구성될 수 있다.
예시적인 데이터 센터들은 예를 들어, 하이퍼바이저 설정을 활성화하기 전에 월드 스위치 인디케이터뿐 아니라 적어도 하나의 조건을 체크하도록 구성된 태스크 런처를 포함함으로써 조건부의 연속 월드 스위치 보안을 채택할 수 있다. 하이퍼바이저 설정은 적어도 하나의 조건이 충족되는 경우 활성화될 수 있다. 예를 들어, 다중 클라우드 커스터머 조건이 사용될 수 있는데, 여기서 서버에 의해 현재 실행가능한 가상 머신들이 복수의 클라우드 커스터머와 관련되어 있는 경우 하이퍼바이저 설정이 활성화되며, 이로써 보안을 개선할 수 있다. 그러나, 서버에 의해 실행가능한 가상 머신들이 (일부 실시예에서, 신뢰 받는 클라우드 커스터머들) 단 하나의 클라우드 커스터머와 관련되어 있는 경우 하이퍼바이저 설정이 활성화되지 않을 수 있고, 그렇지 않으면 비활성화될 수 있으며, 이로써 성능을 개선할 수 있다. 또한, 예시적인 데이터 센터들이 연속 월드 스위치 보아 정보를 과금 서브시스템에 전달하여 더 높은 보안 레벨의 서비스에 대해 적절하게 클라우드 커스터머들에게 비용 청구하도록 구성될 수 있다.
여기에 개시된 일부 예시적인 데이터 센터 방법들은 클라우드 서비스들을 제공하도록 구성된 하나 이상의 상호 연결된 서버들을 이용하여 수행될 수 있다. 예시적인 데이터 센터 방법들은 하나 이상의 클라우드 커스터머들과 관련되어 있는 월드 스위치 인디케이터를 포함하는 디지털 관리 기록들을 유지하는 것, 및 클라우드 커스터머를 대신하여 태스크를 런칭하는 경우 월드 스위치를 체크하는 것을 포함할 수 있다. 연속 월드 스위치 보안이 온 상태라는 월드 스위치 인디케이터에 의한 지시에 응답하여, 태스크를 포함하는 가상 머신을 위해 하이퍼바이저 설정이 활성화될 수 있다. 연속 월드 스위치 보안이 온 상태인 경우, 태스크를 포함하는 가상 머신과 서버에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들이 아닌 월드 스위치들이 허용될 수 있다.
일부 예시적인 클라우드 서버들은 하나 이상의 가상 머신 내의 태스크들을 실행하도록 구성될 수 있다. 클라우드 서버는 하나 이상의 프로세서 코어를 포함할 수 있으며, 각각은 프로세서 및 캐시 메모리를 구비할 수 있다. 하이퍼바이저는 프로세서 코어들에 의해 실행될 수 있으며, 클라우드 서버에 의한 가상 머신들의 실행을 관리하도록 구성될 수 있다. 하이퍼바이저는 가상 머신들 사이의 콘텍스트 스위치 및 월드 스위치를 개시하도록 구성될 수 있다. 하이퍼바이저는 하이퍼바이저 설정이 온 상태인 경우 태스크를 포함하는 가상 머신과 다른 가상 머신들 사이에 콘텍스트 스위치들이 아닌 월드 스위치를 허용함으로써 태스크와 연관된 하이퍼바이저 설정을 구현하도록 구성될 수 있다. 그렇지 않고, 하이퍼바이저 설정이 오프 상태인 경우, 하이퍼바이저는 월드 스위치 및/또는 콘텍스트 스위치를 허용하도록 구성될 수 있다.
예시적인 클라우드 서버들은 또한 클라우드 커스터머와 연관된 월드 스위치 인디케이터에 응답하여 하이퍼바이저 설정을 활성화하도록 구성된 태스크 런처를 포함할 수 있다. 태스크 런처는 하이퍼바이저 설정을 활성화하기 전에 월드 스위치 인디케이터뿐 아니라 적어도 하나의 조건을 체크하고 조건이 충족되면 하이퍼바이저 설정을 활성화함으로써 조건부 연속 월드 스위치 보안을 제공하도록 구성될 수 있다. 예를 들어, 다중 클라우드 커스터머 조건이 적용될 수 있는데, 여기서 클라우드 서버에 의해 현재 실행가능한 가상 머신들이 복수의 클라우드 커스터머와 관련되어 있는 경우 하이퍼바이저 설정이 활성화된다. 클라우드 서버에 의해 현재 실행가능한 가상 머신들이 하나의 클라우드 커스터머 또는 신뢰 클라우드 커스터머의 부분 집합과 관련되어 있는 경우 하이퍼바이저 설정은 하이퍼바이저에서 활성화되지 않거나, 비활성화될 수 있다. 태스크 런처는 또한 연속 월드 스위치 보안 정보를 과금 서브시스템에 전달하도록 구성될 수 있다.
클라우드 서버 내의 예시적인 프로세서 코어들은 프로세서 캐시 메모리의 상태에 의해 적어도 부분적으로 정의되는 프로세서 상태를 가질 수 있다. 가상 머신들 사이의 콘텍스트 스위치들은 제1 가상 머신과 관련된 프로세서 상태의 적어도 일부가 다음 가상 머신의 실행 동안에 계속 남아있게 할 수 있다. 반대로, 가상 머신 사이의 월드 스위치들은 다음의 가상 머신의 실행으로 스위칭되는 경우 제1 가상 머신과 관련된 프로세서 상태를 제거할 수 있다.
클라우드 서브 내의 예시적인 하이퍼바이저들은 트랩 핸들러(trap handler)을 포함함으로써 하이퍼바이저 설정을 구현하도록 구성될 수 있다. 트랩 핸들러는 트랩 리스트를 참조함으로써 트랩 리스트 프로세서 커맨드를 검출하고, 가상 머신으로부터 트랩 리스트 프로세서 커맨드를 트랩하도록 구성되어 월드 스위치를 개시할 수 있다. 트랩 핸들러는 또한 제1 가상 머신의 실행 동안에 다음 가상 머신으로부터 다음 가상 머신 프로세서 커맨드를 검출하고, 제1 가상 머신과 다음 가상 머신 중 하나 이상을 위한 하이퍼바이저 설정을 참조하고, 하이퍼바이저 설정이 제1 가상 머신과 다음 가상 머신 중 하나 이상에 대해 하이퍼바이저 설정이 활성화된 경우 다음 가상 머신 프로세서 커맨드를 트랩하도록 구성될 수 있다. 예시적인 하이퍼바이저들은 또한 프로세서 코어에 의해 제공되는 하드웨어 가상화 보조 도구를 사용하여 가상 머신들 사이의 월드 스위치들을 개시하도록 구성될 수 있다.
예시적인 데이터 센터와 함께 앞서 설명된 바와 같이, 예시적인 클라우드 서버들은 연속 월드 스위치 보안을 수용하도록 구성된 로드 밸런스 매니저를 포함할 수 있다.
클라우드 서브에 의해 수행된 일부 예시적인 방법들은 클라우드 서버가 태스크와 연관된 월드 스위치 인디케이터를 검출하는 것, 월드 스위치 인디케이터가 태스크를 포함하는 가상 머신과 클라우드 서버에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치가 아니라 월드 스위치들을 요구한다는 검출에 응답하여 클라우드 서버가 하이퍼바이저에서 하이퍼바이저 설정을 활성화하는 것; 및 하이퍼바이저 설정이 활성화된 경우 하이퍼바이저가 태스크를 포함하는 가상 머신과 클라우드 서버에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들이 아닌 월드 스위치를 허용하는 것을 포함할 수 있다. 월드 스위치 인디케이터를 검출하는 것은 클라우드 커스터머와 연관된 관리 기록들을 참조함으로써 태스크 런처에 의해 수행될 수 있다. 태스크 런처는 또한, 예를 들어, 하이퍼바이저 설정을 활성화하기 전에 월드 스위치 인디케이터뿐 아니라 적어도 하나의 조건을 체크하고 조건이 충족되면 하이퍼바이저 설정을 활성화함으로써 조건부 연속 월드 스위치 보안을 구현할 수 있다. 태스크 런처는 또한 연속 월드 스위치 보안 정보를 과금 서브시스템에 전달하는 것을 구현할 수 있다. 이용 가능한 경우, 월드 스위치들은 가상 머신들 사이에 월드 스위치들을 개시하기 위해 프로세서 코어 중 하나 이상에 의해 제공되는 하드웨어 가상화 도구를 사용하여 수행될 수 있다.
일부 예시적인 방법들은 또한 제1 가상 머신의 실행 동안에 다음 가상 머신으로부터 다음 가상 머신 프로세서 커맨드를 검출하는 것, 제1 가상 머신과 다음 가상 머신 중 어느 하나 또는 양자 모두를 위한 하이퍼바이저 설정을 참조하는 것, 및 하이퍼바이저 설정이 제1 가상 머신과 다음 가상 머신 중 어느 하나 또는 양자 모두에 대해 하이퍼바이저 설정이 활성화된 경우 다음 가상 머신 프로세서 커맨드를 트랩하는 것을 포함할 수 있다.
일부 예시적인 방법들은 또한 예를 들어, 프로세싱 시간, 프로세서 코어들, 및 메모리 리소스들 중 하나 이상을 포함하는 추가 프로세싱 리소스들을 연속 월드 스위치 보안이 온 상태인 태스크들을 포함하는 가상 머신에 할당하고/하거나 연속 월드 스위치 보안이 온 상태인 태스크들을 그룹화함으로써 앞서 개시된 기법들을 사용하는 로드 밸런싱을 포함할 수 있다.
일부 예시적인 컴퓨터 판독가능 매체는 하이퍼바이저를 구현하는 컴퓨터 실행가능 명령어들을 포함할 수 있다. 하이퍼바이저는 클라우드 서버에 포함된 하나 이상의 프로세서 코어들에 의해 실행가능한 가상 머신들 사이에서 콘텍스트 스위치들 및 월드 스위치들을 개시하도록 구성될 수 있다. 하이퍼바이저는 태스크와 연관된 하이퍼바이저 설정을 구현하도록 구성될 수 있으며, 이로써 연속 월드 스위치 보안이 온 상태인 경우, 하이퍼바이저는 태스크를 포함하는 가상 머신과 클라우드 서버에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들이 아닌 월드 스위치들을 허용하고, 연속 월드 스위치 보안이 오프 상태인 경우, 하이퍼바이저는 가상 머신 사이에 월드 스위치들과 콘텍스트 스위치들을 허용한다. 예시적인 컴퓨터 판독가능 매체는, 또한 전술된 태스크 런처, 트랩 핸들러, 및/또는 로드 밸런스 매니저를 구현하는 명령어들을 포함할 수 있다.
일부 예시적인 디바이스들은 클라우드 커스터머와 상호 작용하도록 구성된 전자상거래(ecommerce) 서버들을 포함할 수 있다. 전자상거래 서버들은 프로세서, 메모리, 통신 디바이스, 및 메모리에서 로드되어 프로세서에 의해 실행될 수 있는 클라우드 커스터머 CMI(Cloud Management Interface)를 포함할 수 있다. CMI는 통신 디바이스를 통해 클라우드 커스터머 UI(User Interface)를 제공하도록 구성될 수 있다. 클라우드 커스터머 UI는 클라우드 서버들에 의해 수행될 태스크들과 관련된 연속 월드 스위치 보안 활성화 커맨드를 수신하도록 구성된 연속 월드 스위치 보안 제어를 포함할 수 있다. 활성화 커맨드를 수신하는 것에 응답하여, CMI는 클라우드 서버들을 배치하여 태스크들을 실행하는 가상 머신과 클라우드 서버들에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들이 아닌 월드 스위치들을 허용하도록 구성될 수 있다.
일부 예시적인 전자상거래 서버들에서, 수신된 연속 월드 스위치 보안 활성화 커맨드는 클라우드 커스터머 및 클라우드 커스터머를 대신하여 클라우드 서버에 의해 수행될 모든 태스크들과 관련되어 있을 수 있다. 일부 전자상거래 서버에서, 수신된 연속 월드 스위치 보안 활성화 커맨드가 클라우드 커스터머를 대신하여 수행될 태스크들의 부분 집합 또는 일정한 특정 조건 하에서 수행되는 태스크들, 예를 들어 상이한 클라우드 커스터머들을 대신하여 가상 머신들을 실행하는 클라우드 서버에서 수행되는 태스크들에 적용될 수 있다.
클라우드 서버들을 배열하여 콘텍스트 스위치들이 아닌 월드 스위치들을 허용하는 것은 클라우드 커스터머와 연관된 관리 기록 및/또는 디지털 인증서를 생성하는 것을 포함할 수 있는데, 관리 기록 및/또는 디지털 인증서는 월드 스위치 인디케이터를 포함할 수 있다. 클라우드 서버들을 배열하여 콘텍스트 스위치들이 아닌 월드 스위치를 허용하는 것은 클라우드 서버에 의해 실행되는 태스크 런처가 클라우드 서버에 의해 가상 머신들의 실행을 관리하도록 구성된 하이퍼바이저에서 하이퍼바이저설정을 활성화하는 것을 포함할 수 있다.
예시적인 전자상거래 서버들은 클라우드 커스터머 UI의 추가적인 면들 예를 들어, 연속 월드 스위치 보안을 활성화하기 위한 가격 정보 및 클라우드 커스터머와 연관된 태스크들로 하여금 활성화된 하이퍼바이저 설정을 갖는 태스크들을 실행하는 서버에서 실행되는 것을 허용하도록 구성된 클라우드 커스터머 제어를 제공하도록 구성될 수 있다. 전자상거래 서버들은 또한 연속 월드 스위치 보안을 활성화하는 클라우드 커스터머들에 보안 인증(certification)들을 생성 및/또는 제공할 수 있다.
전자상거래 서버를 이용하여 수행되는 일부 예시적인 방법들은 클라우드 서버들에 의해 수행될 태스크들과 관련된 연속 월드 스위치 보안 활성화 커맨드를 수신하도록 구성된 연속 월드 스위치 보안 제어를 전자상거래 서버가 제공하는 것, 및 활성화 커맨드를 수신하는 것에 응답하여, 클라우드 커스터머 태스크들을 실행하는 가상 머신과 클라우드 서버들에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들이 아닌 월드 스위치들을 허용하도록 구성하는 것을 포함할 수 있다. 월드 스위치를 허용하도록 클라우드 서버들을 구성하는 것은 클라우드 커스터머와 연관된 행정 기록 및/또는 디지털 인증서를 생성하는 것을 포함할 수 있고, 관리 기록 및/또는 디지털 인증서는 월드 스위치 인디케이터를 포함할 수 있다. 예시적인 방법들은 또한 여기에 설명된 전자상거래 서버들에 의해 구현된 커스터머 과금 및 추가 기능 및 피처(feature)들을 포함할 수 있다. 예시적인 방법들은 또한 전술한 바와 같은 로드 밸런싱하는 것, 및/또는 예를 들어, 하이퍼바이저 설정이 온 상태인 태스크들을 포함하는 가상 머신들에 추가 프로세싱 리소스들을 할당하고, 하나 이상의 프로세서 코어들에 의해 제공되는 하드웨어 가상화 보조 도구를 포함하는 서버에 연속 월드 스위치 보안이 온 상태인 태스크들을 할당하고, 그리고/또는 연속 월드 스위치 보안을 갖는 하나 이상의 클라우드와 연관된 태스크들을 동일한 클라우드 서버들에 할당함으로써 수신된 월드 스위치 보안 선호도를 수행하도록 클라우드 로드 밸런스 매니저를 구성하는 것을 포함할 수도 있다.
앞서 설명된 요약은 단지 예시적인 것으로서 임의의 형태의 제한을 의도하지 않는다. 전술된 예시적인 측면, 실시예, 및 특징들뿐 아니라, 추가적인 양태, 실시예, 및 특징들은 첨부 도면 및 다음의 상세한 설명을 참조함으로써 명확해질 것이다.
본 개시의 이들 및 그 밖의 다른 목적, 특징, 및 이점들은 첨부된 도면과 함께 다음의 상세한 설명 및 청구항으로부터 더 충분히 명확해질 것이다. 이들 도면은 몇몇 실시예만을 본 개시에 따라 설명하며, 이로써 범위의 제한으로 고려되지 않아야 하는 것을 이해하며, 본 개시는 첨부 도면의 사용을 통해 추가적인 특정부 및 상세부를 이용하여 설명될 것이다.
도 1은 클라우드 서버들을 포함하고 데이터 센터 및 클라우드 커스터머 디바이스를 연결시키는 네트워크를 통해 클라우드 서비스를 제공하도록 구성된 예시적인 데이터 센터를 나타내는 블록도이다.
도 2는 클라우드 서버 및/또는 전자상거래 서버의 일례로서 컴퓨팅 디바이스를 나타낸 블록도이다.
도 3은 데이터 센터의 예시적인 요소들을 나타낸 블록도이다.
도 4는 데이터 센터의 예시적인 요소들을 나타낸 블록도이다.
도 5는 클라우드 커스터머 UI의 예시적인 요소를 나타내는 도면이다.
도 6은 예시적인 클라우드 서버를 나타낸 블록도이다.
도 7은 예시적인 전자상거래 서버를 나타낸 블록도이다.
도 8은 본 개시의 적어도 일부 실시예에 따라 배열된 예시적인 데이터 센터 디바이스들을 나타낸 블록도이다.
다음의 상세한 설명에서, 그 일부를 형성하는 첨부 도면을 참조한다. 도면들에서, 유사한 부호들은 문맥상 다른 언급이 없으면 통상적으로 유사한 컴포넌트들을 식별한다. 상세한 설명, 도면, 및 청구항들에 설명된 예시적인 실시예들은 제한하는 것을 의미하지 않는다. 여기에 제시된 요지들의 사상 또는 범위에서 벗어나지 않으면, 다른 실시예들이 활용될 수 있고, 다른 변경들이 행해질 수 있다. 여기에 일반적으로 설명되고 도면들에 예시된 본 개시의 양태들은 매우 다양하고 상이한 구성들에서 배열, 대체, 결합, 및 고안될 수 있으며, 이들 구성 모두는 명백히 본 개시의 일부로서 간주된다.
본 개시는 일반적으로 특히 연속 월드 스위치 보안에 관해 여기에서 전개되는 데이터 센터 및 방법들, 디바이스들, 및/또는 컴퓨터 판독가능 매체를 포함하는 기술을 갖는 데이터 센터에 관한 디바이스, 방법, 및 컴퓨터 판독가능 매체를 포함하는 기술에 대한 것이다. 월드 스위치 인디케이터는 연속 월드 스위치 보안이 클라우드 커스터머에 대해 온 상태인지 오프 상태인지를 지시할 수 있다. 하이퍼바이저 설정이 월드 스위치 인디케이터에 따라 활성화 및 비활성화되어 클라우드 서버에 의해 실행되는 가상 머신들 사이에서 콘텍스트 스위치들이 아닌 월드 스위치들을 옵션으로서 허용할 수 있다. 옵션으로서, 연속 월드 스위치 보안이 클라우드 커스터머에 의해 제어될 수 있다. 연속 월드 스위치 보안의 활성화/비활성화를 수용하기 위해 로드 밸런싱, 클라우드 커스터머 과금, 및 다른 기법들이 또한 개시되어 있다. 가상 머신들 사이의 콘텍스트 스위치들이 프로세서 상태의 양태들을 그대로 남겨두기 때문에 연속 월드 스위칭은 적어도 부분적으로 향상된 보안을 제공하는데, 이로써 하나의 가상 머신 내에서 실행되는 코드에 의해 공격 기회를 제공하여 다른 가상 머신으로부터 정보에 대한 액세스를 획득할 수 있다. 반대로, 월드 스위치들은 가상 머신과 관련된 프로세서 상태를 상당히 제거할 수 있으며, 이로써 공격에 대한 취약성을 감소시킬 수 있다.
도 1은 본 개시의 적어도 일부 실시예에 따라 배열되어 있는, 클라우드 서버들(116)을 포함하고 데이터 센터(110) 및 클라우드 커스터머 디바이스(100)를 연결시키는 네트워크(105)를 통해 클라우드 서비스(112)를 제공하도록 구성된 예시적인 데이터 센터(110)를 나타내는 블록도이다. 도 1에 따른 데이터 센터는 전자상거래 서버(111) 및 클라우드 서버들(116)을 포함할 수 있다. 클라우드 서버들(116) 및/또는 다른 데이터 센터 디바이스들 중 하나 이상은 클라우드 서비스(112), 로드 밸런스 매니저(113), 태스크 런처(114), 및 관리 기록들(115)을 제공하도록 구성될 수 있다. 데이터 센서(110) 및 클라우드 커스터머 디바이스(100)는 네트워크(105)를 통해 서로 결합될 수 있다. 데이터 센서(110) 및 클라우드 커스터머 디바이스(100)는 각각 유무선 통신 링크(150)를 통해 네트워크(105)에 결합될 수 있다. 데이터 센터(110)와 클라우드 커스터머 디바이스(100) 사이에 클라우드 관리 데이터(101) 및 클라우드 서비스 상호작용 데이터(102)가 교환될 수 있다.
여기에 사용된 "클라우드 서버"라는 용어는 클라우드 커스터머들을 대신하여 하나 이상의 태스크들을 수행하는 데이터 센터 내의 임의의 컴퓨팅 디바이스를 지칭한다. 클라우드 서버는 클라우드 커스터머들을 위한 태스크만을 배타적으로 수행하거나, 클라우드 커스터머 태스크뿐 아니라, 데이터 센터 관리 태스크 또는 다른 태스크들과 같은 그 밖의 비-클라우드 커스터머 관련 태스크들을 수행할 수 있다. "클라우드 서버"라는 용어 및 "클라우드 커스터머"라는 용어는 공개적으로 제공된 클라우드 서비스 실시예들로 제한되지 않는다. MICROSOFT®, IBM®, AMAZON®, APPLE®, 및 ORACLE®에 의해 현재 제공되는 클라우드 서비스들과 같은 일부 클라우드 서비스들이 대중적으로 제공되는 반면에, 다른 클라우드 서비스들은 기관, 여러 다른 회사뿐 아니라 앞서 열거된 회사들을 포함하는 기업체, 또는 관공서의 은 고용인 및/또는 연산 상치(operational unit)에 사적으로 이용될 수 있는 클라우드 서비스들과 같이 특성이 개인적이라는 점이 이해될 것이다. 이러한 관점에서, 클라우드 커스터머는 반드시 유료 클라우드 커스터머일 필요는 없다. 예를 들어, 클라우드 커스터머는 고용인이거나, 데이터 센터(110)를 사용하여 클라우드 커스터머를 대신하여 컴퓨팅 태스크들을 수행하는 다른 사람일 수 있다.
데이터 센서(110)는 네트워크(105)를 통해 클라우드 관리 데이터(101) 및/또는 클라우드 서비스 상호작용 데이터(102)를 수신하도록 구성될 수 있다. 클라우드 관리 데이터(101)는 예를 들어, 클라우드 커스터머 UI와의 클라우드 커스터머 상호작용을 통해 생성되는 커맨드들을 포함할 수 있다. 전자상거래 서버(111)는 클라우드 커스터머 UI를 클라우드 커스터머 디바이스(100)에 제공하도록 구성될 수 있다. 클라우드 커스터머 UI는 예를 들어, 클라우드 커스터머의 프로파일 정보, 원하는 클라우드 서비스들, 원하는 보안 레벨, 및 과금 정보를 업데이트할 뿐 아니라 연속 월드 스위치 보안의 활성화를 가능하게 하는 특성과 같은 클라우드 커스터머 계정 관리 피처들을 포함할 수 있다.
클라우드 서비스 상호작용 데이터(102)는 예를 들어, 클라우드 서비스(112)에 대한 클라우드 커스터머 요청을 포함할 수 있다. 클라우드 서비스(112)는 클라우드 서비스 상호작용 데이터(102)에서 요청된 바와 같이 클라우드 커스터머를 대신하여 태스크들을 실행하도록 구성될 수 있다. 클라우드 서비스(112)는 예를 들어, 태스크를 실행하도록 구성된 애플리케이션(들) 및 데이터를 갖는 가상 머신을 구성하라고 태스크 런처(114)에게 요청함으로써 태스크를 실행하도록 구성될 수 있다. 로드 밸런스 매니저(113)는 태스크뿐 아니라 옵션으로서 태스크에 할당된 특정 클라우드 서버 내의 리소스들을 실행하도록 구성된 가상 머신을 실행하는데 클라우드 서버들(116) 중 어느 것이 사용되는지를 판단할 수 있다. 태스크 런처(114)는 클라우드 서버들(116)로부터 로드 밸런스 매니저(113)에 의해 선택된 특정 클라우드 서버로 가상 머신을 로드할 수 있다. 각각의 클라우드 서버(116)는 가상 머신들의 시행을 관리하도록 구성된 하이퍼바이저를 포함할 수 있다.
일부 실시예에서, 전자상거래 서버(111)에 의해 제공된 클라우드 커스터머 UI는 연속 월드 스위치 보안 제어를 포함할 수 있다. 클라우드 커스터머 디바이스(100)에 있는 클라우드 커스터머는 연속 월드 스위치 보안 제어와 상호 작용하여, 옵션으로서 연속 월드 스위치 보안을 활성화 및/또는 비활성화할 수 있으며, 이로써 데이터 센터(110) 내의 연속 월드 스위치 보안을 활성화/비활성화하도록 구성된 활성화 커맨드를 포함하는 클라우드 관리 데이터(101)를 생산할 수 있다.
활성화 커맨드를 수신하는 것에 응답하여, 전자상거래 서버(111)는 데이터 센터(110)를 배열하여 클라우드 커스터머를 대신하여 태스크들을 실행하는 가상 머신들에 대해 콘텍스트 스위치들이 아닌 월드 스위치들을 허용하도록 구성될 수 있다. 일부 실시예에서, 클라우드 커스터머를 대신하여 수행되는 모든 태스크들은 연속 월드 스위치 보안의 대상일 수 있다. 일부 실시예에서, 클라우드 커스터머를 대신하여 수행되는 일정한 선택 태스크들은 연속 월드 스위치 보안의 대상일 수 있다. 예를 들어, 클라우드 커스터머는 클라우드 커스터머 UI에서 태스크 선택 피처들을 사용하여 연속 월드 스위치 보안의 대상인 태스크들을 선택할 수 있다. 또한 일부 실시예에서, 데이터 센터(110)는 연속 월드 스위치 보안을 일정한 선택 태스크들, 예를 들어 은행 정보, 온라인 패스워드 등과 같은 민감한 클라우드 커스터머 데이터를 포함하는 보안-민감(security-sensitive) 태스크들에 적용하도록 사전 구성될 수 있다. 일부 실시예에서, 모든 클라우드 커스터머를 대신하여 수행되는 모든 태스크들은 연속 월드 스위치 보안의 대상일 수 있는데, 이 경우 연속 월드 스위치 보안 제어들이 전자상거래 서버(111)에 의해 제공되는 클라우드 커스터머 UI에서 제공될 필요가 없거나, 옵션으로서 연속 월드 스위치 보안 제어들은 커스터머들이 연속 월드 스위치 보안에서 탈퇴하게 할 수 있다.
일부 실시예에서, 전자상거래 서버(111)는 데이터 센터(110)를 배열하여 관리 기록(115)에서 월드 스위치 인디케이터를 위치시킴으로써 클라우드 커스터머를 대신하여 태스크들을 실행하는 가상 머신들에 대해 콘텍스트 스위치들이 아닌 월드 스위치들을 허용하도록 구성될 수 있다. 일부 실시예에서, 월드 스위치 인디케이터는 특정 클라우드 커스터머를 대신한 태스크들이 연속 월드 스위치 보안의 대상이라고 지시하는 임의의 디지털 저장 정보를 포함할 수 있다. 클라우드 커스터머와 연관된 월드 스위치 인디케이터가 연속 월드 스위치 보안이 온 상태라고 지시하는 경우, 클라우드 커스터머 또는 클라우드 커스터머 태스크에 대해 연속 월드 스위치 보안이 온 상태이거나 활성화되어 있다. 이와 반대로, 클라우드 커스터머와 연관된 월드 스위치 인디케이터가 연속 월드 스위치 보안이 오프 상태라고 지시하는 경우, 클라우드 커스터머 또는 클라우드 커스터머 태스크에 대해 연속 월드 스위치 보안이 오프 상태이거나 비활성화되어 있다.
태스크 런처(114)는 클라우드 커스터머를 대신하여 태스크를 런칭하는 경우 월드 스위치 인디케이터를 체크하도록 구성될 수 있다. 월드 스위치 인디케이터가 연속 월드 스위치 보안이 온 상태라고 지시하는 경우, 태스크 런처(114)는 클라우드 커스터머를 대신하여 태스크 런처(114)에 의해 런칭된 가상 머신을 관리하도록 할당된 클라우드 서버 하이퍼바이저에서 하이퍼바이저 설정을 활성화하도록 구성될 수 있다. 하이퍼바이저 설정이 오프 상태이거나 비활성화된 경우, 태스크 런처(114)는 하이퍼바이저 설정을 활성화하지 않고, 가상 머신을 클라우드 서버에 구성 및 로드하도록 진행할 수 있다. 일부 실시예에서, 데이터 센터(110)는 실행가능한 가상 머신들 사이에서 연속 월드 스위칭을 수행하도록 구성된 일부 클라우드 서버들 및 월드 스위치 및 콘텍스트 스위치를 수행하도록 구성된 일부 상이한 클라우드 서버들을 포함할 수 있고, 태스크 런처(114)는 연속 월드 보안의 대상인 가상 머신들을 연속 월드 스위칭을 수행하도록 구성된 클라우드 서버에 할당하도록 구성될 수 있다.
도 2는 클라우드 서브(116) 및/또는 전자상거래 서버(111)의 일례로서 컴퓨팅 디바이스(200)의 블록도이다. 컴퓨팅 디바이스(200)는 본 개시의 적어도 일부 실시예에 따라 배열된다. 매우 기본적인 구성(201)에서, 컴퓨팅 디바이스(200)는 하나 이상의 프로세서 코어(210) 및 시스템 메모리(220)를 포함할 수 있다. 메모리 버스(230)는 프로세서 코어(210)와 시스템 메모리(220) 사이에서 통신하는데 사용될 수 있다.
원하는 구성에 따라, 프로세서 코어(210)는 임의의 타입일 수 있으며, CPU(Central Processing Unit)를 포함할 수 있다. 프로세서 코어(210)는 레벨-1 캐시(211)와 레벨-2 캐시(212)와 같은 하나 이상의 레벨의 캐싱, 하나 이상의 프로세서(213), 및 레지스터(214)를 포함할 수 있다. 메모리 컨트롤러(215)가 프로세서(210)와 함께 사용되거나, 일부 실시예에서 메모리 컨트롤러(215)는 프로세서(210)의 내부 부분일 수 있다.
프로세서(213)는 예를 들어, INTEL®, AMD®, 또는 IBM®에 의해 제조된 것과 같은 프로세서(213)를 포함할 수 있다. 이들 예시적인 프로세서 제조사들 및 다양한 다른 프로세서 제조사들은 여러 프로세서 변종을 제조할 수 있는데, 이들은 연속적으로 업그레이드되고 개선되어 추가적인 피처들을 포함한다. 현재 제조 중이거나 장래에 개발될 수 있는 임의의 프로세서는 본 개시를 목적으로 프로세서(213) 역할을 하도록 배열될 수 있다. 일부 프로세서(213)는 하나 이상의 하드웨어 가상화 보조 도구(HVAT; 213A)를 포함할 수 있으며, 이는 본 개시의 일부 실시예에서 옵션으로서 채택될 수 있다. HVAT(213A)는 프로세서 코어(210)와 같은 싱글 코어 내에 있거나, HVAT(213A)는 여러 실시예들에서 다수의 코어들 사이에서 공유될 수 있다. HVAT(213A)는 가상 머신 월드 스위치 커맨드들을 수신하고 실행하도록 구성될 수 있다. 예를 들어, AMD PACIFICA® 사의 프로세서들 내의 HVAT(213A)는 "급속 가상화 인덱싱(Rapid Virtualization Indexing)" 도구라고 지칭되는데, 월드 스위칭을 용이하게 하기 위해 구성된 이산적인 VMRUN 커맨드를 통합하고 있다. VMRUN 커맨드는 AMD 프로세서에 의해 수신 및 실행되어 버퍼를 갖는 현재의 "월드(world)"를 버퍼(VMCB(Virtual Machine Cache Buffer))와 스왑할 수 있다. 다른 예시에서, 일정한 INTEL® 프로세서들은 가상 머신 월드 스위치 관련 커맨드들을 수신 및 실행하도록 구성된 피처들뿐 아니라, 안전한 I/O 디바이스 방향 및 특권을 갖는 명령어 트랩(privileged instruction trapping)과 같은 다양한 능력을 포함하는 소위 "VT" 기술을 포함한다. 일정한 IBM 프로세서들은 현재 "LPM(Live Partition Mobility)"라고도 지칭되는 기술들을 포함하며, 가상 머신 월드 스위치 관련 커맨드들을 수신하고 실행하도록 구성될 수 있다.
원하는 구성에 따라, 시스템 메모리(220)는 (RAM과 같은) 휘발성 메모리, (ROM, 플래시 메모리 등과 같은) 비휘발성 메모리, 또는 이들의 임의의 조합을 포함하는 임의의 타입일 수 있지만, 이들로 제한되는 것은 아니다. 시스템 메모리(220)는 하이퍼바이저(221), 가상 머신(222), CMI(Customer Management Interface; 223), 클라우드 서비스(112), 로드 밸런스 매니저(113), 태스크 런처(114), 및 프로그램 데이터(225)를 포함할 수 있다. 하이퍼바이저(221)는 여기에서 하이퍼바이저 설정이라고도 지칭되는 하이퍼바이저 월드 스위치 보안 설정(HWSSS; 312)을 포함할 수 있다. 가상 머신(222)는 클라우드 커스터머 애플리케이션 및 데이터(227)를 이용하여 구성될 수 있다.
프로그램 데이터(225)는 관리 기록들(115), 하나 이상의 가상 머신 이미지들(226), 및 클라우드 커스터머 애플리케이션 및 데이터(227)을 포함할 수 있다. 본 개시의 이점을 이용하여 여기에 개시된 하이퍼바이저(221), 가상 머신(222), CMI(223), 클라우드 서비스(112), 로드 밸런스 매니저(113), 태스크 런처(114), 및 프로그램 데이터(225)의 피처들은 매우 다양하고 상이한 방식으로 재배열 및 결합될 수 있다는 점이 이해될 것이다. 본 개시는 특정한 실시예들에 필수적이거나 편리할 수 있는 설명된 소프트웨어 요소들 중 임의의 요소로, 개시된 피처들 중 임의의 피처를 이동시킬 가능성을 고려한다.
시스템 메모리(220)는 도 2에 예시된 바와 같이 싱글 컴퓨팅 디바이스(200)로 결합되거나, 예를 들어, 도 1, 도 3, 및/또는 도 4에 예시된 바와 같이 여러 상이한 컴퓨팅 디바이스를 통해 분산될 수 있는 요소들을 포함한다. 예를 들어, 일부 실시예에서, 전자상거래 서버(111)는 시스템 메모리(220)에 예시된 다른 요소들 없이 CMI(223)를 포함할 수 있다. 클라우드 서버(116)는 하이퍼바이저(221) 및 가상 머신(222)을 포함할 수 있다. 임의의 개수의 추가적인 서버들은 클라우드 서비스(112), 로드 밸런스 매니저(113), 태스크 런처(114), 및/또는 프로그램 데이터(225)를 포함할 수 있다.
컴퓨팅 디바이스(200)는 기본 구성(201)과 임의의 요구되는 디바이스들 및 인터페이스들 사이의 통신을 용이하게 하기 위해 추가적인 피처 또는 기능성, 및 추가적인 인터페이스를 가질 수 있다. 저장 인터페이스 버스(241)를 통해 기본 구성(201)과 하나 이상의 데이터 저장 디바이스(250) 사이의 통신을 용이하게 하는데 버스/인터페이스 컨트롤러(240)가 사용될 수 있다. 데이터 저장 디바이스들(250)은 착탈식(removable) 저장 디바이스들(251), 비착탈식(non-removable) 저장 디바이스들(252), 또는 이들의 조합일 수 있다. 착탈식 저장 및 비착탈식 저장 디바이스들의 예시는 몇 가지 예를 들면, 플렉서블(flexible) 디스크 드라이브 및 하드 디스크 드라이브(HDD)와 같은 자기 디스크, CD(compact disk) 드라이브 또는 DVD(digital versatile disk) 드라이브와 같은 광학 디스크 드라이브, SSD(solid state drive), 및 테이프 드라이브를 포함한다. 예시적인 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체를 포함할 수 있다.
시스템 메모리(220), 착탈식 저장소(251), 및 비착탈식 저장소(252)는 컴퓨터 저장 매체의 모든 예시들이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disk), 또는 다른 광학 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장 디바이스, 또는 원하는 정보를 저장하는데 사용될 수 있고, 컴퓨팅 디바이스(200)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이들로 제한되지 않는다. 이러한 임의의 컴퓨터 저장 매체는 디바이스(200)의 일부일 수 있다.
컴퓨팅 디바이스(200)는 또한 버스/인터페이스 컨트롤러(240)를 통해 다양한 인터페이스 디바이스들(예를 들어, 출력 인터페이스, 주변 인터페이스, 및 통신 인터페이스)로부터 기본 구성(201)으로의 통신을 용이하게 하기 위한 인터페이스 버스(242)를 포함할 수 있다. 예시적인 출력 디바이스들(260)은 그래픽 프로세싱 유닛(261) 및 오디오 프로세싱 유닛(262)을 포함하는데, 하나 이상의 A/V 포트(263)를 통해 디스플레이 또는 스피커들과 같은 다양한 외부 디바이스들로 전달하도록 구성될 수 있다. 예시적인 주변 인터페이스들(270)은 직렬 인터페이스 컨트롤러(271) 또는 병렬 인터페이스 컨트롤러(272)를 포함할 수 있는데, 하나 이상의 I/O 포트(273)를 통해 입력 디바이스(예를 들어, 키보드, 마우스, 펜, 음성 입력 디바이스, 터치 입력 디바이스 등) 또는 다른 주변 디바이스(예를 들어, 프린터, 스캐너 등)와 같은 외부 디바이스들과의 유무선 연결을 통해 통신하도록 구성될 수 있다. 마우스, 키보드 등과 같은 다른 종래의 I/O 디바이스들 또한 연결될 수 있다. 예시적인 통신 디바이스(280)는 네트워크 컨트롤러(281)를 포함하는데, 하나 이상의 통신 포트(282)를 통해 네트워크 통신으로 하나 이상의 다른 컴퓨팅 디바이스(290)와의 통신을 용이하게 하도록 배열될 수 있다.
도 3은 본 개시의 적어도 일부 실시예에 따라 배열된, 데이터 센터의 예시적인 요소들을 나타낸 블록도이다. 도 3은 관리 기록들(115), 가상 머신 이미지(226), 클라우드 커스터머 애플리케이션/데이터(227), 태스크 런처(114), 및 연속 월드 스위치 보안이 활성인 가상 머신(222)을 실행하도록 선택된 특정한 클라우드 서버(116A)를 포함한다. 관리 기록들(115)은 복수의 클라우드 커스터머, 예를 들어, 클라우드 커스터머(X), 클라우드 커스터머(Y), 및 클라우드 커스터머(Z)에 대응하는 기록들을 포함한다. 클라우드 커스터머(Z)를 위한 기록은 연속 월드 스위치 보안이 클라우드 커스터머(Z)에 대해 온 상태라고 지정하는 월드 스위치 인디케이터(311)를 포함한다.
클라우드 서버(116A)는 하이퍼바이저(221) 및 가상 머신들(222, 322, 및 324)을 포함한다. 하이퍼바이저(221)는 하이퍼바이저 설정(312)을 이용하여 구성되는데, 연속 월드 스위치 보안이 가상 머신(222)에 대해 온 상태로 설정된 채로 도시되어 있다.
도 3은 또한 관리 기록(115) 내의 월드 스위치 인디케이터(311)로부터 태스크 런처(114)를 가로질러 하이퍼바이저 설정(312)으로의 화살표를 포함한다. 도 3은 가상 머신 이미지(226) 및 클라우드 커스터머 애플리케이션/데이터(227)로부터 태스크 런처(114)를 가로질러, 클라우드 서버(116A) 내에서 실행되는 가상 머신(222) 및 클라우드 커스터머 애플리케이션/데이터(227)로의 화살표를 포함한다.
도 3에서, 관리 기록들(115)은 연속 월드 스위칭 보안이 클라우드 커스터머에 대해 활성이라고 지정하는 월드 스위치 인디케이터(311)를 포함할 수 있다. 일부 실시예에서, 월드 스위치 인디케이터(311)는 예를 들어, 관리 데이터베이스에서 다른 관리 기록들과 함께 저장될 수 있다. 일부 실시예에서, 월드 스위치 인디케이터(311)는 예를 들어, 가상 머신 이미지 데이터베이스 및/또는 클라우드 커스터머 데이터베이스에서 가상 머신 이미지(226) 및/또는 클라우드 커스터머 애플리케이션/데이터(227)와 함께 저장될 수 있다. 월드 스위치 인디케이터(311)는 옵션으로서 여기에서 더 설명되는 바와 같이, "다른 클라우드 커스터머와 공유되는 하드웨어 상에 있는 경우에만"을 지시하기 위한 비트들과 같은 조건들을 포함할 수 있다. 태스크 런처(114)는 가상 머신(222)을 로드하여 클라우드 서비스와의 클라우드 커스터머 상호 작용에 따라 클라우드 커스터머를 대신하여 하나 이상의 태스크들을 실행하는 경우 월드 스위치 인디케이터(311) 및 관련된 조건들을 처리하도록 구성될 수 있다.
연속 월드 스위치 보안이 클라우드 커스터머에 대해 온 상태라고 월드 스위치 인디케이터(311)가 지시한다고 검출하는 것에 응답하여, 태스크 런처(114)는 하이퍼바이저(221)에서 하이퍼바이저 설정(312)을 활성화하도록 구성될 수 있다. 월드 스위치 인디케이터(311)는 태스크 런처(114)에 의해 하이퍼바이저(221)로 중계될 수 있다. 하이퍼바이저(221)는 예를 들어, 하이퍼바이저 설정을 턴온하고 턴오프한다고 여기에서 지칭되는 활성화/비활성화될 수 있는 하이퍼바이저 설정(312)을 포함함으로써 연속 월드 스위치 보안 능력을 이용하여 구성될 수 있다. 다수의 가상 머신들(예를 들어, 222, 323, 및 324)이 클라우드 서버(116A)에서 실행되고, 적절한 조건들이 참인 경우, 하이퍼바이저는 그렇게 지시된 임의의 가상 머신, 예를 들어 가상 머신(222)에 대해 콘텍스트 스위칭 없이 월드 스위칭을 활성화하도록 구성될 수 있다.
하이퍼바이저(221)는 클라우드 서버(116A)의 하나 이상의 프로세서 코어들에 의해 실행될 수 있고, 클라우드 서버(116A)에 의해 가상 머신(222, 323, 및 324)의 실행을 관리하도록 구성될 수 있다. 하이퍼바이저(221)는 클라우드 서버(116A)에 의해 실행가능한 가상 머신들(222, 323, 및 324) 사이의 콘텍스트 스위치 및 월드 스위치를 가능하게 할 수 있다. 예를 들어, 하이퍼바이저(221)는 클라우드 서버(116A)에 의해 실행가능한 가상 머신들(222, 323, 및 324) 사이의 콘텍스트 스위치 및 월드 스위치를 개시하도록 구성될 수 있다. 하이퍼바이저(221)는 하이퍼바이저 설정(312)를 구현하도록 구성될 수 있다. 하이퍼바이저 설정(312)은 태스크, 예를 들어, 클라우드 커스터머 애플리케이션/데이터(227)의 일부로서 실행되는 태스크와 관련되어 있을 수 있다. 하이퍼바이저 설정(312)이 온 상태인 경우, 하이퍼바이저(221)는 태스크를 포함하는 가상 머신(222)과 클라우드 서버(116A)에 의해 실행가능한 다른 가상 머신들(323 및 324) 사이에 콘텍스트 스위치가 아니라 월드 스위치들만을 허용하도록 구성될 수 있다. 하이퍼바이저 설정(312)이 오프 상태인 경우, 하이퍼바이저(221)는 태스크를 포함하는 가상 머신(222)과 클라우드 서버(116A)에 의해 실행가능한 다른 가상 머신들(323 및 324) 사이에 월드 스위치 및 콘텍스트 스위치 양자 모두를 허용하도록 구성될 수 있다.
클라우드 서버의 각각의 프로세서 코어는 캐시 메모리(211 및/또는 212)의 상태에 의해 적어도 부분적으로 정의되는 프로세서 상태를 갖는다. 가상 머신들(222, 323, 및 324) 사이의 콘텍스트 스위치들은 제1 가상 머신과 관련된 프로세서 상태의 적어도 일부가 다음 가상 머신의 실행 동안에 계속 남아있게 한다. 가상 머신들(222, 323, 및 324) 사이의 월드 스위치들은 다음 가상 머신의 실행으로 스위칭하는 경우 제1 가상 머신과 관련된 프로세서 상태의 상당 부분 또는 전부를 제거한다. 예를 들어, 월드 스위치들은 다음 가상 머신의 실행으로 스위칭하는 경우 제1 가상 머신과 관련된 적어도 캐시, 레지스터, 또는 파이프라인 상태를 제거할 수 있다. 이 때문에, 월드 스위치들은 제1 가상 머신 내의 클라우드 커스터머 애플리케이션/데이터(227)에 더 큰 보안을 제공한다.
일부 실시예에서, 하이퍼바이저(221)는 클라우드 서버(116A)의 하나 이상의 프로세서 코어들에 의해 제공될 수 있는 HVAT를 사용하여 가상 머신들(222, 323, 및 324) 사이의 월드 스위치들을 개시하도록 구성될 수 있다. 통상적으로, HVAT는 월드 스위치의 속도를 상당히 증가시킬 수 있다. HVAT를 갖는 클라우드 서버들은 예를 들어, 로드 밸런스 매니저(113)에 의해, 연속 월드 스위치 보안이 온 상태인 가상 머신들의 할당을 위해 바람직할 수 있다. 월드 스위칭은 또한 HVAT를 갖지 않는 클라우드 서버들에 대해 가능할 수 있고, 이로써 HVAT를 갖지 않는 클라우드 서버들은 일부 실시예에서 연속 월드 스위치 보안이 온 상태인 가상 머신들을 수용할 수 있다.
일부 실시예에서, 하이퍼바이저(221)는 하이퍼바이저 설정(312)을 체크하도록 구성된 트랩 핸들러를 포함함으로써 하이퍼바이저 설정(312)을 구현하도록 구성될 수 있다. 하이퍼바이저 설정(312)은 하이퍼바이저(221)에 액세스 가능한 메모리 위치에서의 변수를 포함할 수 있다. 예를 들어, 제1 가상 머신의 실행 동안에, 하이퍼바이저(221)는 다음 가상 머신으로부터 다음 가상 머신 프로세서 커맨드를 검출하고, 제1 가상 머신 및 다음 가상 머신 중 하나 이상에 대해 하이퍼바이저 설정(312)를 지칭하고, 제1 가상 머신 및 다음 가상 머신 중 하나 이상에 대해 하이퍼바이저 설정(312)가 온 상태인 경우 다음 가상 머신 프로세서 커맨드를 트랩하도록 구성될 수 있다. 일부 실시예에서, 하이퍼바이저(221)는 하이퍼바이저 설정(312)이 다음 가상 머신에 대해 온 상태인지 여부와 무관하게, 하이퍼바이저 설정(312)이 제1 가상 머신에 대해 온 상태인 경우 다음 가상 머신 프로세서 커맨드를 트랩하도록 구성될 수 있다.
일부 실시예에서, 하이퍼바이저(221)는 트랩 리스트를 참조함으로써 트랩 리스트 프로세서 커맨드를 검출하고, 가상 머신으로부터 트랩 리스트 프로세서 커맨드를 트랩하도록 추가적으로 구성될 수 있고, 이로써 월드 스위치를 개시할 수 있다. 예를 들어, 다양하고 현재 이용 가능한 하이퍼바이저 구현예에서, 프로세스들이 "보호" 또는 "제한" 상태에 영향을 미치는 프로세서 호출을 수행하는 경우 월드 스위칭이 트리거된다. 그러나, x86 명령어 세트 아키텍처에서 "보호" 또는 "제한" 상태에 영향을 미치는 이러한 명령어들의 명확한 정의가 존재하지 않는데, 그 이유는 각각의 클래스에서 약간의 예외가 존재하기 때문이다. 이에 따라, 하이퍼바이저는 명령어들의 리스트를 유지하여 어떤 명령어가 하이퍼바이저로 하여금 콘텍스트 스위치 대신 월드 스위치를 수행하게 하는지를 "트랩"할 수 있다.
일부 실시예에서, 커맨드가 트랩 리스트에 있거나, 하이퍼바이저 설정(312)이 가상 머신, 예를 들어 가상 머신(222)에 대해 온 상태이면, 하이퍼바이저(221)는 소정의 가상 머신으로부터의 커맨드가 월드 스위칭을 위해 트랩되는 "OR" 기능을 이용하여 구성될 수 있다. 그러므로, 본 개시에 따라 동작하도록 구성된 예시적인 하이퍼바이저(221)는 각각의 가상 머신(222, 323, 및 324)에 대한 변수뿐 아니라 OR 기능을 포함할 수 있는데, 이 변수는 하이퍼바이저 설정(312)과 같은 하이퍼바이저 설정을 홀드하도록 구성된다.
일부 구현예에서, 태스크 런처(114)는 하이퍼바이저(221)에서 하이퍼바이저 설정(312)을 활성화하기 전에 월드 스위치 인디케이터(311)뿐 아니라 적어도 하나의 조건을 체크하도록 구성될 수 있다. 태스크 런처(114)는 조건이 충족되면, 하이퍼바이저(221)에서 하이퍼바이저 설정(312)을 활성화하도록 구성될 수 있다. 예를 들어, 조건은 다중 클라우드 커스터머 조건을 포함할 수 있는데, 여기서 클라우드 서버(116A) 등의 클라우드 서버에 의해 현재 실행가능한 가상 머신(222, 323, 및 324) 등의 가상 머신들은 복수의 클라우드 커스터머와 관련되어 있다. 태스크 런처(114)는 적어도 하나의 조건을 체크하도록 구성된 테스트 로직으로 구성될 수 있다. 일부 실시예에서, 테스트 로직은 태스크 런처(114)에서의 테스트 로직을 대신하거나 이에 추가하여 하이퍼바이저(221)에서 제공될 수 있다.
예를 들어, 일부 실시예에서, 가상 머신 인스턴스(instance)가 이동되는 경우 또는 가상 머신 이미지가 소정의 클라우드 서버에서 새로운 가상 머신을 생성하는데 사용되는 경우, 테스트 로직은 이동되거나 새로운 가상 머신이 월드 스위치 인디케이터와 연관된 관리 기록들(115)에서 특정된 조건들을 변경시키는지 여부를 체크할 수 있다. 예를 들어, 테스트 로직은 이동되거나 새로운 가상 머신이 공유 클라우드 서버 상의 상이한 클라우드 커스터머와 연관된 제1 가상 머신인지 여부를 체크하도록 구성될 수 있다. 테스트 로직은 클라우드 서버 상의 가상 머신마다 관리 기록들(115)을 체크하도록 구성될 수 있고, 테스트 런처(114)는 가상 머신들 중 임의의 가상 머신이 상태 변경에 의해 트리거되는 조건들을 포함하는 월드 스위치 인디케이터를 갖는 경우 클라우드 서버에서 하이퍼바이저 내의 하이퍼바이저 설정을 변형하도록 구성될 수 있다.
일부 실시예에서, 태스크 런처(114)는 가상 머신(222)을 로드하고, 옵션으로서 로드 밸런스 매니저(113)에 의해 선택된 클라우드 서버, 예를 들어 클라우드 서버(116A)에서 하이퍼바이저 설정(312)을 설정하도록 구성될 수 있다. 로드 밸런스 매니저(113)는 예를 들어, 도 1에 예시되어 있다. 로드 밸런스 매니저(113)는 예를 들어, 가상 머신(222)을 특정 클라우드 서버에 할당하기 전에 월드 스위치 인디케이터(331)를 체크함으로써 연속 월드 스위치 보안을 수용하도록 구성될 수 있다. 로드 밸런스 매니저(113)는 프로세싱 시간, 프로세서 코어, 클라우드 서버, 및 메모리 리소스들 중 하나 이상을 포함하는 추가 프로세싱 리소스들을 가상 머신(222)과 같이 연속 월드 스위치 보안이 온 상태인 태스크들을 포함하는 가상 머신들에 할당하도록 구성될 수 있다. 이에 따라, 예를 들어, 향상된 연속 월드 스위치 보안을 이루기 위해 클라우드 커스터머가 지불한 경우, 이러한 클라우드 커스터머는 저하된 클라우드 서비스 응답 시간을 수신하지 않는다.
일부 실시예에서, 로드 밸런스 매니저(113)는 연속 월드 스위치 보안이 온 상태인 태스크들을 포함하는 가상 머신들을 하나 이상의 동일한 클라우드 서버로 그룹화하도록 구성될 수 있다. 연속 월드 스위치 보안의 대상인 가상 머신들을 그룹화하는 것은 효율성을 제공할 수 있는데, 적어도 부분적인 이유는 월드 스위치와 연관된 추가 프로세싱 리소스들이 하나를 초과하는 가상 머신에 의해 동시에 인가될 수 있기 때문이다.
일부 실시예에서, 연속 월드 스위치 보안이 온 상태인 클라우드 서버(116A)를 공유하는 클라우드 커스터머들에 대해 잠재적으로 저하된 클라우드 서비스 응답 속도를 수용하기 위해, 예를 들어 전자상거래 서버(111)를 통해 보안 인증이 제공될 수 있는데, 여기서 클라우드 커스터머는 추가 프로세싱 리소스들이 없이 연속적으로 월드 스위칭될 클라우드 커스터머 가상 머신을 자원함으로써 특정 가상 머신을 위한 디스카운트를 받는다. 이는 예를 들어, 최소 프로세싱을 요구하는 프로세스 또는 시간 임계적이지 않은 프로세스들을 포함하는 클라우드 커스터머 가상 머신들의 경우 받아들여질 수 있다. 보안 인증을 제공하는 것은 로드 밸런스 매니저(113)가 리소스 최적화를 위해 재배열할 수 있는 보안 인증된 프로세스들의 개수를 증가시킬 수 있다. 로드 밸런스 매니저(113)는 동일한 클라우드 서버(116A) 상의 가상 머신(222)과 같이 연속 월드 스위치 보안이 "온" 상태인 가상 머신을 연속 월드 스위치 보안이 잠재적으로 저하된 클라우드 서비스 성능과 함께 받아들여 지는 예를 들어 가상 머신(324) 등의 가상 머신들로서 페어링(pair)하도록 구성될 수 있다.
일부 실시예에서, 로드 밸런스 매니저(113)는 연속 월드 스위치 보안이 온 상태인 태스크들을 하나 이상의 프로세서 코어들에서 HVAT를 포함하는 클라우드 서버들로 할당하도록 구성될 수 있다.
일부 실시예에서, 클라우드 커스터머를 대신하여 로드된 가상 머신의 향상된 보안 성질은 과금 기록들, 예를 들어, 여기에서 더 설명되는 바와 같은 과금 서브시스템으로 중계될 수 있다. 예를 들어, 태스크 런처(114)는 연속 월드 스위치 보안 정보를 과금 서브시스템으로 전달하도록 구성될 수 있다. 도 3에 예시된 다른 컴포넌트들은 또한 과금 서브시스템과 상호 작용하도록 구성될 수 있다. 일부 실시예에서, 연속 월드 스위치 보안이 강화된 보안 레벨 제공의 일부일 수 있다.
일부 실시예에서, 가상 머신, 예를 들어 가상 머신(323)이 향상된 보안 인증을 수신하기 위한 자발적인 옵션으로서 연속 월드 스위치 보안을 수신하는 경우, 옵션으로서 추가 리소스들이 가상 머신(323)에 할당되지 않을 수 있다. 가상 머신(323)이 향상된 보안 인증을 수신하기 위한 자발적인 옵션으로서 연속 월드 스위치 보안을 수신하는 경우, 옵션으로서 가상 머신(323)과 관련된 클라우드 커스터머는 과금에 적용되는 "보안 디스카운트"를 수신할 수 있다.
일부 실시예에서, 태스크 런처(114)는 상이하게 구성된 복수의 가상 머신 이미지 중 하나를 선택하도록 구성될 수 있다. 상이하게 구성된 복수의 가상 머신 이미지는 예를 들어, 다양하고 상이한 운영 체제 타입 및 버전을 포함할 수 있다. 태스크 런처(114)는 특정 클라우드 커스터머의 애플리케이션/데이터와 페어링하는데 적절한 가상 머신 이미지를 선택하도록 구성될 수 있다. 일부 실시예에서, 가상 머신 이미지가 클라우드 커스터머에 의해 제공될 수 있고, 옵션으로서, 제공된 가상 머신 이미지는 클라우드 커스터머 애플리케이션/데이터(227) 및/또는 관리 기록들(115)과 동일한 데이터베이스로부터 검색될 수 있다.
일부 실시예에서, 태스크 런처(114)는 복수의 클라우드 커스터머와 연관된 애플리케이션 및 데이터를 포함하는 데이터베이스로부터 클라우드 커스터머 애플리케이션/데이터를 선택하도록 구성될 수 있다. 태스크 런처(114)는 특정 태스크에 대응하는 클라우드 커스터머 애플리케이션/데이터를 선택하도록 구성될 수 있고, 선택된 가상 머신 이미지 및 선택된 클라우드 커스터머 애플리케이션/데이터를 사용하여 가상 머신을 구성할 수 있다. 예를 들어, 태스크 런처(114)는 특정 태스크를 실행하기 위해 가상 머신 이미지(226)와 클라우드 커스터머 애플리케이션/데이터(227)를 결합함으로써 가상 머신(222)을 구성할 수 있고, 태스크 런처(114)는 클라우드 서버(116A)와 같은 선택된 클라우드 서버에 가상 머신(222)을 로드하여 실행할 수 있다.
도 4는 본 개시의 적어도 일부 실시예에 따라 배열된, 데이터 센터의 예시적인 요소들을 나타낸 블록도이다. 데이터 센터(110)는 전자상거래 서버(111), 클라우드 커스터머 상호작용 서버(401), 클라우드 관리 서버(402), 복수의 클라우드 서버(116), 관리 데이터베이스(403), 가상 머신 이미지 데이터베이스(404), 클라우드 커스터머 데이터베이스(405), 및 과금 서브시스템(406)을 포함한다. 전자상거래 서버(111)는 CMI(223)를 포함한다. 클라우드 커스터머 상호작용 서버(401)는 클라우드 서비스(112)를 포함한다. 클라우드 관리 서버(402)는 로드 밸런스 매니저(113) 및 태스크 런처(114)를 포함한다. 선택된 클라우드 서버(116A)는 하이퍼바이저(221) 및 가상 머신(222)을 포함한다. 하이퍼바이저(221)는 하이퍼바이저 설정(312)을 포함한다. 가상 머신(222)은 클라우드 커스터머 애플리케이션/데이터(227)를 이용하여 구성된다. 관리 데이터베이스(403)는 관리 기록들(115)을 포함한다. 가상 머신 이미지 데이터베이스(404)는 가상 머신 이미지(226)를 포함한다. 클라우드 커스터머 데이터베이스(405)는 클라우드 커스터머 애플리케이션/데이터(227)를 포함한다. 과금 서브시스템(406)은 과금 데이터베이스(407) 및 과금 서버(408)를 포함한다. 과금 데이터베이스(407)는 과금 기록들(411)을 포함한다.
도 4에서, 도 1에 예시된 바와 같이, 클라우드 관리 데이터(101) 및 클라우드 서비스 상호작용 데이터(102)가 데이터 센터(110)와 클라우드 커스터머 디바이스(100)와 같은 클라우드 커스터머 디바이스들 사이에서 교환되는 것으로 고려된다. 클라우드 관리 데이터(101)는 전자상거래 서버(111)로 향할 수 있고, 클라우드 서비스 상호작용 데이터(102)는 클라우드 커스터머 상호작용 서버(401)로 향할 수 있다.
도 4에서, 연속 월드 스위치 보안을 활성화하기 위한 클라우드 커스터머 활성화 커맨드를 수신하는 것에 응답하여, 전자상거래 서버(111)는 과금 서브시스템(406) 및 관리 데이터베이스(403)에 월드 스위치 인디케이터(311)를 제공하도록 구성될 수 있다. 과금 서브시스템(406)은 과금 데이터베이스(407)를 업데이트하고, 과금 서버(408)를 사용하여 향상된 보안을 위해 커스터머에게 과금하도록 구성될 수 있다. 관리 데이터베이스(403)는 활성화 커맨드를 제공하는 클라우드 커스터머와 연관된 월드 스위치 인디케이터(311)를 포함하도록 관리 기록들(115)을 업데이트하도록 구성될 수 있다. 관리 데이터베이스(403)는 예를 들어, 클라우드 커스터머와 연관된 디지털 인증서 내에 월드 스위치 인디케이터(311)를 저장하도록 구성될 수 있다. 일부 실시예에서, 월드 스위치 인디케이터(311)는 가상 머신 이미지 데이터베이스(404) 및/또는 클라우드 커스터머 데이터베이스(405)에 저장될 수 있고, 전자상거래 서버(111)는 월드 스위치 인디케이터(311)를 데이터베이스(403, 404, 및/또는 405)에 적절히 제공하도록 구성될 수 있다.
클라우드 커스터머 상호작용 서버(401)는 클라우드 커스터머 클라우드 서비스 요청들을, 예를 들어, 클라우드 서비스 상호작용 데이터(102)의 일부로서 수신하도록 구성될 수 있다. 클라우드 서비스(112)는 수신된 클라우드 서비스 요청들에 응답하여 태스크 요청(452)과 같은 하나 이상의 태스크 요청들을 생성할 수 있다. 태스크 요청(452)은 클라우드 관리 서버(402)에 초기에 제공될 수 있다. 클라우드 관리 서버(402)는 월드 스위치 인디케이터(311)가 존재하는 경우 관리 기록들(115)을 체크하고, 가상 머신 이미지 데이터베이스(404)로부터 적절한 가상 머신 이미지를 검색하여 태스크를 처리하고, 클라우드 커스터머 데이터베이스(405)로부터 적절한 클라우드 커스터머 애플리케이션/데이터를 검색하여 태스크를 처리하도록 구성될 수 있다.
로드 밸런스 매니저(113)는 클라우드 서버를 선택하여 클라우드 커스터머 애플리케이션/데이터를 포함하는 가상 머신을 실행하도록 구성될 수 있다. 예를 들어, 로드 밸런스 매니저(113)는 클라우드 서버(116A)를 선택하여 가상 머신 이미지(226) 및 클라우드 커스터머 애플리케이션/데이터(227)를 포함하는 가상 머신(222)을 실행할 수 있다. 로드 밸런스 매니저(113)는 적절한 클라우드 서버를 선택할 때 월드 스위치 인디케이터(311)를 설명할 수 있다. 태스크 런처(114)는 구성 데이터(453)를 선택된 클라우드 서버(116A)에 제공하도록 구성될 수 있다. 구성 데이터(453)는 선택된 클라우드 서버(116A)의 하이퍼바이저(221)에서 하이퍼바이저 설정(312)를 활성화하도록 구성되는 명령어/데이터 및 가상 머신 이미지(226) 및 클라우드 커스터머 애플리케이션/데이터(227)를 로드하여 실행하도록 구성된 명령어/데이터를 포함할 수 있다. 가상 머신 이미지(226) 및 클라우드 커스터머 애플리케이션/데이터(227)는 클라우드 커스터머 애플리케이션/데이터(227)를 갖는 가상 머신(222)으로서 선택된 클라우드 서버(116A)에서 로드될 수 있다.
가상 머신(222)을 실행하는 선택된 클라우드 서버(116A)는 태스크 결과들(454)이 생성됨에 따라 태스크 결과들(454)을 클라우드 커스터머 상호작용 서버(401)에 포워딩하도록 구성될 수 있다. 클라우드 서비스(112)는 클라우드 서비스 상호작용 데이터(102)의 일부로서 태스크 결과들(454)을 클라우드 커스터머에게 제공하도록 구성될 수 있다. 태스크 런처(114)가 가상 머신(222)을 로드한 후, 클라우드 서비스(112)는 후속 클라우드 커스터머 상호작용 데이터(102)를 선택된 클라우드 서버(116A)에 직접 제공하도록 구성될 수 있다.
일부 실시예에서, 전자상거래 서버(111)는 CMI(223)를 통해 클라우드 커스터머와 상호 작용하도록 구성될 수 있다. CMI(223)는 도 2를 참조하여 설명된 바와 같이, 전자상거래 서버(111)의 메모리에서 로드되어 프로세서에 의해 실행될 수 있다. CMI(223)는 전자상거래 서버(111)의 통신 디바이스를 통해 클라우드 커스터머 UI를 클라우드 커스터머들로 제공하도록 구성될 수 있다.
도 5는 본 개시의 적어도 일부 실시예에 따라 배열된, 예시적인 클라우드 커스터머 UI의 요소들을 나타낸 도면이다. 클라우드 커스터머 UI(500)는 예를 들어, 연속 월드 스위치 보안 제어들(501, 502, 및/또는 503)를 포함할 수 있으며, 여기서 연속 월드 스위치 보안 제어들(501, 502, 및 503)은 활성화 커맨드를 수신하여 데이터 센터(110)의 하나 이상의 클라우드 서버(116)에 의해, 클라우드 커스터머를 대신하여, 수행될 하나 이상의 태스크들과 연관된 연속 월드 스위치 보안을 활성화하도록 구성될 수 있다. 도 5에 따른 실시예에서, 클라우드 커스터머 UI(500)는 예를 들어, 클라우드 커스터머가 연속 월드 스위치 보안 제어들(501, 502, 및/또는 503)의 하나 이상에서 "온" 상태를 선택하는 경우 활성화 커맨드를 수신하도록 구성될 수 있다. 클라우드 커스터머 UI(500)에서 연속 월드 스위치 보안 제어들(501, 502 및/또는 503) 중 하나 이상을 통해 활성화 커맨드를 수신하는 것에 응답하여, CMI(223)는 클라우드 커스터머를 대신하여 태스크들을 실행하는 가상 머신과 데이터 센터의 하나 이상의 클라우드 서버들에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들이 아닌 월드 스위치들을 허용하도록 데이터 센터의 하나 이상의 서버를 배열하도록 구성될 수 있다.
일부 실시예에서, CMI(223)에서 수신된 연속 월드 스위치 보안 활성화 커맨드는 클라우드 커스터머 및 클라우드 커스터머를 대신하여 클라우드 서버들에 의해 수행될 모든 태스크들과 관련되어 있을 수 있다. 예를 들어, 클라우드 커스터머는 연속 월드 스위치 보안 제어(501)를 사용하여 데이터 센터(110)에서 수행된 모든 태스크에 대해 높아진 보안 레벨을 요청할 수 있다. 다른 실시예에서, 예를 들어, 연속 월드 스위치 보안 제어들(502 및/또는 503)을 사용하여 연속 월드 스위치 보안의 대상으로서 일정한 특정 태스크들 또는 태스크 타입들이 특정될 수 있다. 일부 실시예에서, 연속 월드 스위치 보안의 대상인 태스크 타입은 태스크가 상승된 보안을 갖거나 건강 관리, 재무 기록, 또는 다른 민감한 정보에 관한 것이라고 식별하는 메타데이터와 같은 태스크 메타데이터에 의해 식별될 수 있다. 제어(502 및/또는 503)를 통해 활성화 커맨드들을 수신하는 것에 응답하여 전자상거래 서버(111)에 의해 생성된 월드 스위치 인디케이터는 월드 스위치 인디케이터와 연관된 관리 기록들(115)에서 특정 태스크들 및/또는 태스크 타입들을 식별할 수 있다.
일부 실시예에서, 전자상거래 서버(111)는 예를 들어, CMI(223)에 의해 생성된 클라우드 커스터머 UI에서 연속 월드 스위치 보안을 활성화하는 것에 관한 가격 정보(510)를 제공하도록 구성될 수 있다. 일부 실시예에서, 가격 정보(510)는 예를 들어, 클라우드 커스터머 서비스 볼륨에 따라 달라질 수 있으며, 이로써 가격 정보(510)는 CMI(223)에 의해 클라우드 커스터머 UI(500)에서 동적으로 생성될 수 있다. 예를 들어, 대기업 또는 관공서 클라우드 커스터머는 개인 또는 소기업보다 상당히 더 많은 클라우드 서비스 볼륨을 사용할 수 있다. 그 결과, 연속 월드 스위치 보안을 구현하는데 필요한 추가 프로세싱은 대형 클라우드 커스터머에 대해 상당히 더 많을 수 있으며, 가격 정보(510)를 동적으로 생성할 때 이러한 고려사항들이 설명될 수 있다.
일부 실시예에서, 전자상거래 서버(111)는 클라우드 커스터머와 연관된 태스크들이 활성화된 하이퍼바이저 설정을 갖는 태스크들 또한 실행하는 클라우드 서버에서 실행되도록 구성된 클라우드 커스터머 제어(504)를 클라우드 커스터머 UI(500)에서 제공하도록 구성될 수 있다. 예를 들어, 여기에 설명된 바와 같이, 하나 이상의 클라우드 커스터머 태스크 및/또는 모든 클라우드 커스터머 태스크들이 연속 월드 스위치 보안의 대상인 가상 머신들과 공존할 수 있다고 지정하는 것에 대한 대가로서 클라우드 커스터머에게는 디스카운트(본 예시에서는 $25의 디스카운트)가 제공될 수 있다. 일부 실시예에서, 클라우드 커스터머 제어(504)를 통해 수신된 클라우드 커스터머 선호도 정보는 관리 기록들에 위치한 2차 월드 스위치 인디케이터에서 반영될 수 있는데, 여기서 2차 월드 스위치 인디케이터는 완전(full) 연속 월드 스위치 보안을 반드시 요구하지 않는다는 점에서 월드 스위치 인디케이터(311)와 상이하다.
일부 실시예에서, 전자상거래 서버(111)는 연속 월드 스위치 보안을 활성화하는 클라우드 커스터머에 보안 인증을 제공하도록 구성될 수 있다. 예를 들어, 인증서가 전자상거래 서버(111)에 의해 클라우드 커스터머 이메일 주소로 전송되거나, CMI(223)에 의해 생성된 클라우드 커스터머 UI(550)에서 제공된 링크(551)를 통해 다운로드하는데 이용 가능하게 만들 수 있다. 제공된 보안 인증서는 개인 키를 사용하여 암호화되어 공개적으로 배포된 공개 키를 사용하여 액세스될 수 있다. 제공된 보안 인증서는 향상된 보안 티어(tier), 예를 들어 연속 월드 스위치 보안을 포함하는 보안 티어 하에서 클라우드 커스터머 태스크들이 수행된다는 것을 증명할 수 있다. 이러한 인증서는 클라우드 커스터머로 하여금 데이터 센터(110) 내에 사용되는 클라우드 커스터머 애플리케이션 및 데이터의 보안을 증명하게 함으로써 예를 들어, 다른 사람을 대신하여 민감한 데이터를 처리할 수 있는 클라우드 커스터머들의 경우에 유용할 수 있다. 이러한 인증서는 또한 데이터 센터(110) 내의 커스터머 인스턴스 또는 데이터에 임베디드되어 연속 월드 스위치 보안의 커스터머 선택을 지시할 수 있다.
일부 실시예에서, 전자상거래 서버(111)에 의해 하나 이상의 클라우드 서버(116)를 배열하여 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하는 것은 클라우드 커스터머와 연관된 관리 기록들(115)에서 관리 기록을 생성하는 것을 포함할 수 있는데, 여기서 관리 기록은 월드 스위치 인디케이터(311)를 포함한다. 생성된 관리 기록은 예를 들어, 디지털 인증서를 포함할 수 있다. 일부 실시예에서, 관리 기록들(115)에 위치한 디지털 인증서는 예를 들어, 링크(551)를 통해 클라우드 커스터머에 제공된 것과 동일한 디지털 인증서일 수 있지만, 이들 인증서가 반드시 동일할 필요는 없다. 관리 기록들(115)에 저장하기 위한 디지털 인증서가 데이터 센터(110)의 사용을 위한 것이고, 클라우드 커스터머 및/또는 데이터 센터(110)에 의해 수행될 특정 클라우드 커스터머 태스크들과 유용하게 관련된 임의의 다른 데이터를 포함할 수 있다. 일부 실시예에서, 전자상거래 서버(111)는 예를 들어, 관리 기록들(115)에 월드 스위치 인디케이터(311)를 저장하는 대신 또는 이에 추가하여 개별적으로 월드 스위치 인디케이터(311)를 각각의 클라우드 서버(116)에 제공하도록 구성될 수 있다.
일부 실시예에서, 전자상거래 서버(111)에 의해 하나 이상의 클라우드 서버(116)를 배열하여 연속 월드 스위치 보안이 활성화된 가상 머신과 클라우드 서버에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들이 아닌 월드 스위치를 허용하는 것은 예를 들어, 월드 스위치 인디케이터(311)를 갖는 조건들을 제공하는 것을 포함할 수 있다. 예시적인 조건은 여기에서 논의되는 바와 같은 "다중 사용자" 또는 "공유 하드웨어" 조건을 포함할 수 있다. 클라우드 서버가 다수의 클라우드 커스터머 사이에서 공유되는 경우 연속 월드 스위치 보안이 적용되는 관리 기록들을 특정함으로써, 전자상거래 서버(111)는 개인적인 선택된 클라우드 서버(116A)에 의해 콘텍스트 스위치들이 아닌 월드 스위치들을 허용하도록 클라우드 서버들(116)을 구성할 수 있으며, 이 때 가상 머신들(222, 323, 및 324)은 다수의 클라우드 커스터머들과 관련되어 있다. 전자상거래 서버(111)는 또한 가상 머신들(222, 323, 및 324)이 싱글 클라우드 커스터머 또는 싱글 클래스의 클라우드 커스터머, 예를 들어, 서로 연계된 클라우드 커스터머 및/또는 제3자 인증의 소유를 통하는 바와 같이 소정의 클라우드 커스터머 신뢰 기준을 충족시킨 클라우드 커스터머들과 관련되어 있는 경우 월드 스위치 및 콘텍스트 스위치를 허용하도록 개인적 선택 클라우드 서버(116A)를 구성할 수 있다.
이제 도 4를 참조하면, 클라우드 서비스들(112)를 제공하도록 구성된 하나 이상의 상호 연결된 서버(111, 401, 402, 및 116)를 포함하는 데이터 센터(110)가 예시된다. 예시적인 데이터 센터(110)는 예를 들어, 하나 이상의 클라우드 커스터머들과 연관된 월드 스위치 인디케이터(도 3 참조)를 포함하는 디지털 관리 기록들(115) 및 클라우드 커스터머를 대신하여 태스크를 런칭하는 경우 월드 스위치 인디케이터에 대해 체크하도록 구성된 태스크 런처(114)를 포함한다. 태스크를 런칭하는 것은 태스크를 수행하도록 구성된 클라우드 커스터머 애플리케이션/데이터(227)를 포함하는 가상 머신(222)와 같은 가상 머신을 로드하는 것을 포함한다. 데이터 센서(110)는 연속 월드 스위치 보안이 온 상태라는 월드 스위치 인디케이터에 의한 지시에 응답하여 클라우드 서버들(116) 중 하나 이상의 하이퍼바이저에 의해 관리되는 가상 머신을 위한 하이퍼바이저 설정을 활성화하도록 구성될 수 있다. 예를 들어, 데이터 센터(110)는 가상 머신(222)와 연관된 클라우드 커스터머에 대해 연속 월드 스위치 보안이 온 상태라는, 월드 스위치 인디케이터(311)와 같은 월드 스위치 인디케이터에 의한 지시에 응답하여 클라우드 서버(116A)에서 하이퍼바이저(221)에 의해 관리되는 가상 머신(222)을 위한 하이퍼바이저 설정(312)을 활성화할 수 있다.
클라우드 서버들(116)은 클라우드 서버들(116)에 의해 실행가능한 가상 머신 사이에서 콘텍스트 스위치들 및 월드 스위치들을 개시하도록 구성된 하나 이상의 하이퍼바이저들을 포함할 수 있다는 점이 이해될 것이다. 하이퍼바이저들은 하이퍼바이저 설정을 구현할 수 있는데, 이로써 하이퍼바이저 설정이 온 상태인 경우, 하이퍼바이저는 태스크를 포함하는 가상 머신과 대응 클라우드 서버의 하나 이상의 프로세서 코어들에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들이 아닌 월드 스위치들을 허용하도록 구성된다. 반대로, 하이퍼바이저 설정이 오프 상태인 경우, 하이퍼바이저는 태스크를 포함하는 가상 머신과 대응 클라우드 서버의 하나 이상의 프로세서 코어들에 의해 실행가능한 다른 가상 머신들 사이에 월드 스위치들과 콘텍스트 스위치들을 허용하도록 구성될 수 있다. 예를 들어, 하이퍼바이저 설정(312)이 온 상태인 경우, 하이퍼바이저(221)는 클라우드 커스터머 애플리케이션/데이터(227)에 의해 실행가능한 태스크를 포함하는 가상 머신(222)과 클라우드 서버(116A)에 의해 실행가능한 다른 가상 머신들(323 및 324) 사이에 콘텍스트 스위치가 아니라 월드 스위치들만을 허용하도록 구성될 수 있다. 반대로, 하이퍼바이저 설정(312)이 오프 상태인 경우, 하이퍼바이저(221)는 가상 머신(222)과 가상 머신들(323 및 324) 사이에 월드 스위치들 및 콘텍스트 스위치들을 허용하도록 구성될 수 있다.
일부 실시예에서, 데이터 센터(110)는 연속 월드 스위치 보안 정보를 과금 서브시스템(406)으로 전달하도록 구성될 수 있다. 예를 들어, 전자상거래 서버(111), 태스크 런처(114), 또는 특정 구성에 적절한 도 4의 다른 컴포넌트는 과금 서브시스템(406)과 통신할 수 있다.
일부 실시예에서, 태스크 런처(114)는 하이퍼바이저(114)에서 하이퍼바이저 설정(312)을 활성화하기 전에 월드 스위치 인디케이터(311)뿐 아니라 적어도 하나의 조건을 체크하도록 구성될 수 있고, 태스크 런처(114)는 조건이 충족되면 하이퍼바이저에서 하이퍼바이저 설정을 활성화하도록 구성될 수 있다. 조건은 여기에 설명된 바와 같이 다수의 클라우드 커스터머 조건을 포함할 수 있는데, 여기서 서버에 의해 현재 실행가능한 가상 머신들이 복수의 클라우드 커스터머와 관련되어 있는 경우 연속 월드 스위치 보안이 활성화된다. 예를 들어, 하이퍼바이저(221)에서 하이퍼바이저 설정(312)을 활성화하기 전에, 태스크 런처(114)는 클라우드 서버(116A)에 의해 현재 실행가능한 가상 머신들(222, 323, 및 324)이 복수의 클라우드 커스터머와 관련되어 있는지 여부를 체크하도록 구성될 수 있다. 조건이 충족되면, 즉 가상 머신들(222, 323, 및 324)이 복수의 클라우드 커스터머와 관련되어 있는 경우 태스크 런처(114)는 하이퍼바이저(221)에서 하이퍼바이저 설정(312)을 활성화하도록 구성될 수 있다. 다른 조건들은 예를 들어, 보안 분류 조건을 포함할 수 있는데, 여기서 서버에 의해 현재 실행가능한 가상 머신들이 태스크들 및/또는 소정의 보안 위험 레벨을 제시하는 커스터머 데이터와 관련되어 있는 경우 연속 월드 스위치 보안이 활성화된다. 또한, 일부 실시예에서, 다수의 클라우드 커스터머 조건 및 보안 분류 조건과 같은 다수의 조건들이 함께 고려될 수 있다.
도 6은 본 개시의 적어도 일부 실시예에 따라 배열된, 예시적인 클라우드 서버, 컴퓨터 판독가능 매체, 및 대응 방법 및 모듈을 나타내는 블록도이다. 예시적인 클라우드 서버(600)는 예를 들어, 여기에 논의된 클라우드 서버(116 및/또는 116A)의 클라우드 서버를 제공할 수 있다. 예시적인 클라우드 서버(600)는 각각 복수의 서브블록을 포함하는 블록들(113, 114, 및 221)을 포함하는 하나 이상의 동작/모듈들을 포함할 수 있다. 예시된 블록 및 서브블록들은 방법에서 수행될 수 있는 동작들, 클라우드 서버(600)에서의 기능 모듈들, 및/또는 컴퓨터 판독가능 매체(650)에 기록될 수 있는 명령어들을 표현한다. 도 6에 따른 예시적인 방법들은 가상 머신들(222, 323, 및 324)의 실행을 관리하도록 구성된 하이퍼바이저(221)를 포함하는 클라우드 서버(600)에 의해 수행될 수 있으며, 여기서 하이퍼바이저(221)는 클라우드 서버(600)의 하나 이상의 프로세서 코어들에 의해 실행가능한 가상 머신들(222, 323, 및 324) 사이에 콘텍스트 스위치들을 개시하도록 구성되고, 하이퍼바이저(221)는 하나 이상의 프로세서 코어들에 의해 실행가능한 가상 머신들(222, 323, 및 324) 사이에 월드 스위치들을 개시하도록 구성된다.
도 6에서는 블록들(113, 114, 및 221)은 순차적으로 수행되는 것으로 예시되어 있으며, 블록(113)이 맨 처음이고, 블록(221)이 마지막이다. 서브블록들뿐 아니라 블록들은 특정 실시예들에 적합하도록 편의상 순서가 변경될 수 있고, 일부 실시예에서 이들 블록 또는 그 일부가 동시에 수행될 수 있다는 점이 이해될 것이다. 여러 예시에서, 다양한 블록들이 제거되고/되거나, 추가 블록들로 분할되고/되거나, 별도의 서버들에 위치하고/하거나, 다른 블록들과 결합될 수 있다는 점이 이해될 것이다.
예시된 로드 밸런스 매니저 블록(113)은 블록(601)에서의 "월드 스위치 인디케이터 검출", 블록(602)에서의 "HVAT를 이용한 클라우드 서버 결정", 블록(603)에서의 "활성화된 연속 월드 스위치 보안을 이용한 클라우드 서버 결정", 블록(604)에서의 "동일한 클라우드 커스터머를 위한 태스크들을 실행하는 클라우드 서버 결정", 블록(605)에서의 "비활성 클라우드 서버 결정", 블록(606)에서의 "VM/태스크 할당", 및 블록(607)에서의 "프로세싱 리소스 할당"을 포함하는 기능적 동작을 제공하도록 배열될 수 있다.
로드 밸런스 매니저 블록(113)에서, 로드 밸런스 매니저(113)는 블록(601 내지 607)의 동작들을 관리하고, 데이터 센터의 하나 이상의 클라우드 서버 사이에 프로세싱 로드들을 밸런싱하고, 개별 클라우드 서버들 내에 프로세싱 리소스들을 밸런싱하도록 구성될 수 있다. 일반적으로, 로드 밸런스 매니저(113)는 예를 들어, 연속 월드 스위치 보안이 활성화된 가상 머신들에 추가 프로세싱 리소스들을 할당하고, 연속 월드 스위치 보안이 활성화된 가상 머신들을 HVAT(213A)를 장착한 프로세서들(213)을 갖는 하나 이상의 클라우드 서버들에 할당하고, 연속 월드 스위치 보안이 활성화된 가상 머신들을 그룹화함으로써 효율 이득을 추구함으로써 연속 월드 스위치 보안을 수용하도록 구성될 수 있다.
"월드 스위치 인디케이터 검출" 블록(601)에서, 로드 밸런스 매니저(113)는 태스크와 연관된 월드 스위치 인디케이터를 검출하도록 구성될 수 있다. 로드 밸런스 매니저(113)는 예를 들어, 관리 기록들(115)에서 월드 스위치 인디케이터(311)를 룩업할 수 있다. 블록(601) 다음에 블록(602)이 따를 수 있다.
"HVAT를 이용한 클라우드 서버 결정" 블록(602)에서, 로드 밸런스 매니저(113)는 하나 이상의 프로세서 코어들에서 HVAT(213A)를 포함하는 데이터 센터(110)에서 하나 이상의 클라우드 서버의 일 세트를 결정하도록 구성될 수 있다. 블록(602)에 의해 수집된 데이터는 블록(606 및 607)과 함께 설명된 바와 같은 로드 밸런싱에 사용될 수 있다. HVAT(213A)를 포함하는 클라우드 서버들은 연속 월드 스위치 보안이 활성화된 가상 머신들의 할당의 경우에 바람직할 것이다. 일부 실시예에서, 블록(602)은 HVAT(213A)를 포함하는 클라우드 서버들의 리스트를 참조하도록 구성될 수 있다. 일부 실시예에서, 블록(602)은 하나 이상의 클라우드 서버들에 포함되는 프로세서 타입들을 룩업하고 프로세서 타입들 및 대응하는 HVAT(213A) 피처들을 포함하는 표를 참조하도록 구성될 수 있다. 일부 실시예에서, 예를 들어, 데이터 센터(110)의 모든 클라우드 서버들이 HVAT(213A)를 포함하거나, 데이터 센터(110)의 클라우드 서버들이 HVAT(213A)를 포함하지 않는 경우, 블록(602)이 필수적이지 않을 수 있다. 블록(602) 다음에 블록(603)이 따를 수 있다.
"활성화된 연속 월드 스위치 보안을 이용한 클라우드 서버 결정" 블록(603)에서, 로드 밸런스 매니저(113)는 연속 월드 스위치 보안이 활성화된 하나 이상의 클라우드 서버들의 일 세트를 판단하도록 구성될 수 있다. 예를 들어, 일부 실시예에서, 태스크 런처(114)는 하이퍼바이저 설정(312)가 활성화된 클라우드 서버들의 리스트를 유지할 수 있다. 이러한 리스트는 블록(603)에서 참조될 수 있다. 블록(603)에 의해 수집된 데이터는 블록(606 및 607)과 함께 설명된 바와 같은 로드 밸런싱에 사용될 수 있다. 블록(603) 다음에 블록(604)이 따를 수 있다.
"동일한 클라우드 커스터머를 위한 태스크들을 실행하는 클라우드 서버 결정" 블록(604)에서, 로드 밸런스 매니저(113)는 새로운 가상 머신/태스크가 클라우드 서버에 할당됨에 따라 동일한 클라우드 커스터머에 대해 가상 머신을 동시에 실행하는 임의의 클라우드 서버들을 데이터 센터(110)에서 식별하도록 구성될 수 있다. 동일한 클라우드 서버에서 실행되는 모든 가상 머신들이 동일한 클라우드 커스터머와 관련되어 있는 경우 연속 월드 스위치 보안의 오버헤드는 일부 실시예에서 회피될 수 있다. 블록(604)에 의해 수집된 데이터는 블록(606 및 607)과 함께 설명된 바와 같은 로드 밸런싱에 사용될 수 있다. 블록(604) 다음에 블록(605)이 따를 수 있다.
"비활성 클라우드 서버 결정" 블록(605)에서, 로드 밸런스 매니저(113)는 데이터 센터(110) 내에서 동시에 사용되지 않으며 이로써 태스크들을 할당하는데 이용 가능한 하나 이상의 클라우드 서버의 일 세트를 판단하도록 구성될 수 있다. 블록(605)에 의해 수집된 데이터는 블록(606 및 607)과 함께 설명된 바와 같은 로드 밸런싱에 사용될 수 있다. 블록(605) 다음에 블록(606)이 따를 수 있다.
"VM/태스크 할당" 블록(606)에서, 로드 밸런스 매니저(113)는 태스크를 실행하도록 구성된 클라우드 커스터머 애플리케이션/데이터를 포함하는 가상 머신을 데이터 센터의 하나 이상의 클라우드 서버들에 할당하도록 구성될 수 있다. 블록(606)은 예를 들어, 로드 밸런싱 결정 알고리즘을 사용하여 특정 태스크를 위한 최선의 클라우드 서버를 계산함으로써 블록들(601 내지 605)에서 수집된 데이터를 설명할 수 있다. 다른 소스들로부터의 추가 데이터가 또한 고려될 수 있는데, 예를 들어, 블록(601 내지 605)에서 수집된 데이터는 데이터 센터에서의 로드 밸런싱에 종래에 사용되던 로드 밸런싱 데이터와 함께 고려될 수 있다. 로드 밸런싱 결정 알고리즘이 태스크가 연속 월드 스위치 보안의 대상인지 여부를 설명할 수 있다. 블록(601 내지 605)에서 수집된 데이터는 가중되어 할당 결정에서의 상대적 중요도를 반영할 수 있다.
일부 실시예에서, 블록(606)은 프로세싱 시간, 프로세서 코어들, 및 메모리 리소스들 중 하나 이상을 포함하는 추가 프로세싱 리소스들을 연속 월드 스위치 보안이 온 상태인 태스크들을 포함하는 가상 머신에 할당하는 것을 포함할 수 있다. 예를 들어, 비활성 클라우드 서버들 및/또는 "가벼운" 로드를 갖는 클라우드 서버들에 우선권이 주어질 수 있다. 또한, 하이퍼바이저는 연속 월드 스위치 보안이 온 상태인 태스크들을 포함하는 가상 머신에 추가 프로세싱 리소스들을 할당하도록 지시 받을 수 있다.
일부 실시예에서, 블록(606)은 연속 월드 스위치 보안이 온 상태인 태스크들을 그룹화하는 것을 포함할 수 있다. 예를 들어, 블록(603)에서 수집된 데이터는 새로운 가상 머신을 클라우드 서버에 할당하는 경우 하이퍼바이저 설정이 활성화된 가상 머신들을 이미 실행한 클라우드 서버들을 선호하는데 사용될 수 있는데, 여기서 새로운 가상 머신 또한 연속 월드 스위치 보안의 대상이다. 블록(606) 다음에 블록(607)이 따를 수 있다.
일부 실시예에서, "프로세싱 리소스 할당" 블록(607)에서, 로드 밸런스 매니저(113)는 프로세싱 시간, 프로세서 코어들, 및 메모리 리소스들 중 하나 이상을 포함하는 추가 프로세싱 리소스들을 연속 월드 스위치 보안이 온 상태인 태스크들을 포함하는 가상 머신에 할당하도록 구성될 수 있다. 예를 들어, 베이스라인 레벨의 프로세싱 리소스들은 연속 월드 스위치 보안이 오프 상태인 가상 머신들에 적용될 수 있다. 블록(607)은 연속 월드 스위치 보안이 온 상태인 태스크들을 포함하는 가상 머신에 추가적인 양의 프로세싱 리소스들을 제공하도록 구성될 수 있다. 추가적인 양의 프로세싱 리소스들은 베이스라인의 백분율로서 또는, 예를 들어 고정 추가 양으로서 계산될 수 있다.
일부 실시예에서, 로드 밸런스 매니저 블록(113)은 예를 들어, 도 4에 예시된 바와 같이 클라우드 관리 서버(402)에 있는 클라우드 서버들(116) 중 하나 이외에 데이터 센터(110)의 디바이스에서 구현될 수 있다.
예시된 태스크 런처 블록(114)은 블록(611)에서의 "월드 스위치 인디케이터 검출", 블록(612)에서의 "조건 체크", 블록(613)에서의 "하이퍼바이저 설정 활성화", 블록(614)에서의 "VM 구성 및 로드", 및 블록(615)에서의 "과금 서브시스템과의 통신"을 포함하는 기능 동작들을 제공하도록 배열될 수 있다.
태스크 런처 블록(114)에서, 태스크 런처(114)는 블록(611 내지 615)의 동작들을 관리하도록 구성되어 데이터 센터(110)의 클라우드 서버들(116)에서 가상 머신들을 구성하고 로드할 수 있는데, 여기서 구성된 가상 머신은 하나 이상의 클라우드 커스터머 태스크를 실시하는 역할을 한다. 일반적으로, 태스크 런처(114)는 예를 들어, 월드 스위치 인디케이터를 체크하고, 월드 스위치 인디케이터가 요구하면, 가상 머신이 실행되는 하이퍼바이저에서 하이퍼바이저 설정을 활성화함으로써 연속 월드 스위치 보안을 수용하도록 구성될 수 있다.
"월드 스위치 인디케이터 검출" 블록(611)에서, 태스크 런처(114)는 태스크와 연관된 월드 스위치 인디케이터를 검출하도록 구성될 수 있다. 블록(611)은 일부 실시예에서 블록(601)과 동일할 수 있고, 블록들(601 및 6011)은 일부 실시예서 결합될 수 있다. 일부 실시예에서, 블록(601 및/또는 611)은 태스크와 연관된 클라우드 커스터머를 검출하고, 식별된 클라우드 커스터머와 연관된 월드 스위치 인디케이터를 참조하도록 구성될 수 있다. 클라우드 커스터머들이 연속 월드 스위치 보안의 대상인 태스크 타입들을 특정하는 실시예들에서, 블록들(601 및 611)은 특정된 태스크 타입들을 참조하도록 구성될 수 있다. 블록(611) 다음에 블록(612)이 따를 수 있다.
"조건 체크" 블록(612)에서, 태스크 런처(114)는 하이퍼바이저(114)에서 하이퍼바이저 설정을 활성화하기 전에 월드 스위치 인디케이터뿐 아니라 적어도 하나의 조건을 체크하고, 조건이 충족되면 하이퍼바이저에서 하이퍼바이저 설정을 활성화하도록 구성될 수 있다. 예를 들어, 월드 스위치 인디케이터와 연관된 관리 기록들(115)은 연속 월드 스위치 보안을 태스크에 적용하는 경우 및/또는 연속 월드 스위치 보안을 태스크에 적용하지 않는 경우를 정의하는 하나 이상의 조건을 포함할 수 있다. 태스크 런처(114)는 조건들을 체크하고, 임의의 조건들이 충족되는지 여부를 판단하고, 이에 따라 하이퍼바이저 설정을 적용하도록 구성될 수 있다. 일부 실시예에서, 조건을 예를 들어, 다수의 클라우드 커스터머 조건을 포함할 수 있는데, 여기서 클라우드 서버에 의해 현재 실행가능한 가상 머신들은 복수의 클라우드 커스터머와 관련되어 있다. 이러한 가상 머신들이 복수의 클라우드 커스터머와 연관된 경우, 하이퍼바이저 설정이 활성화될 수 있다. 이러한 가상 머신들이 복수의 클라우드 커스터머와 관련 없는 경우, 옵션으로서 하이퍼바이저 설정이 활성화되지 않을 수 있다. 블록(612) 다음에 블록(613)이 따를 수 있다.
"하이퍼바이저 설정 활성화" 블록(613)에서, 태스크 런처(114)는 월드 스위치 인디케이터가 태스크를 포함하는 가상 머신과 하이퍼바이저를 포함하는 클라우드 서버에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들이 아닌 월드 스위치들을 요구한다고 검출한 것에 응답하여 하이퍼바이저에서 하이퍼바이저 설정을 활성화하도록 구성될 수 있다. 블록(613)은 예를 들어, 하이퍼바이저에 의해 사용될 하이퍼바이저 설정을 위해 예약된 특정 메모리 위치에서 변수를 설정하도록 구성될 수 있다. 블록(613)은 또한 하이퍼바이저 설정과 관련된 가상 머신을 식별할 수 있으며, 이로써 하이퍼바이저는 활성화된 하이퍼바이저 설정을 갖는 가상 머신들에만 연속 월드 스위치 보안을 적용할 수 있다. 블록(613) 다음에 블록(614)이 따를 수 있다.
"과금 서브시스템과의 통신" 블록(615)에서, 태스크 런처(114)는 연속 월드 스위치 보안 정보를 과금 시스템(406)에 전달하도록 구성될 수 있다. 연속 월드 스위치 보안 정보는 예를 들어, 연속 월드 스위치 보안의 대상인 가상 머신과 관련된 클라우드 커스터머뿐 아니라 연속 월드 스위치 보안의 대상인 가상 머신의 실행 시각 및 지속 시간을 포함할 수 있다.
일부 실시예에서, 태스크 런처 블록(114)은 클라우드 서버들(116) 중 하나 이상 이외에 데이터 센터(110)에 있는 디바이스에서 구현될 수 있는데, 예를 들어, 태스크 런처 블록(114)은 도 4에 예시된 바와 같이 클라우드 관리 서버(402)에서 구현될 수 있다.
하이퍼바이저 블록(221)은 블록(621)에서의 "제1 VM을 위한 하이퍼바이저 설정 활성화 수신", 블록(622)에서의 "제1 VM 실행", 및 블록(623)에서의 "제1 VM에 대해 콘텍스트 스위치가 아닌 월드 스위치 허용"을 포함하는 기능 동작들을 제공하도록 배열될 수 있다. 블록(623)은 블록(624)에서의 "다음 VM/VM 스위치 커맨드 검출", 블록(625)에서의 "하이퍼바이저 설정 참조", 및 블록(626)에서의 "월드 스위치 강제"를 포함할 수 있다.
하이퍼바이저 블록(221)에서, 하이퍼바이저(221)는 클라우드 서버(600) 상의 가상 머신들의 실행을 관리하도록 구성될 수 있다. 하이퍼바이저(221)는 예를 들어, 월드 스위치들 및 콘텍스트 스위치들을 통해 다수의 가상 머신들 사이에서 클라우드 서버의 프로세서 코어들의 제어를 스위칭하도록 구성될 수 있다. 일반적으로, 하이퍼바이저(221)는 블록(621 내지 626)의 동작을 관리하고, 하이퍼바이저 설정 활성화를 수신한 후 가상 머신들 사이에서 스위칭될 때 하이퍼바이저 설정을 체크함으로써 연속 월드 스위치 보안을 수용하고, 하이퍼바이저 설정이 온 상태인 가상 머신들을 위한 월드 스위치들을 강제하도록 구성될 수 있다.
"제1 VM을 위한 하이퍼바이저 설정 활성화 수신" 블록(621)에서, 하이퍼바이저(221)는 제1 가상 머신에 대응하는 하이퍼바이저 설정을 수신하도록 구성될 수 있다. 하이퍼바이저(221)는 예를 들어, 태스크 런처(114)로부터 커맨드를 수신하여 하이퍼바이저 설정(312)을 설정하도록 구성될 수 있다. 일부 실시예에서, 하이퍼바이저(221)는 하이퍼바이저 설정 활성화/비활성화 커맨드들을 수신하도록 구성된 특정 인터페이스를 이용하여 구성될 수 있다. 블록(621) 다음에 블록(622)이 따를 수 있다.
"제1 VM 실행" 블록(622)에서, 하이퍼바이저(221)는 클라우드 커스터머를 대신하여 하나 이상의 태스크들을 실시하도록 구성된 제1 가상 머신을 로드하여 실행하도록 구성될 수 있다. 하이퍼바이저(221)는 예를 들어, 태스크 런처(114)에 의해 가상 머신 인스턴스(226) 및 클라우드 커스터머 애플리케이션/데이터(227)로 지향될 수 있고, 하이퍼바이저(221)는 가상 머신 인스턴스(226) 및 클라우드 커스터머 애플리케이션/데이터(227)를 로드 및 실행할 수 있다. 하이퍼바이저(221)는 하나 이상의 프로세서 코어의 제어를 제1 가상 머신으로 넘길 수 있고, 다른 가상 머신뿐 아니라 제1 가상 머신의 실행을 관리할 수 있다. 블록(622) 다음에 블록(623)이 따를 수 있다.
"제1 VM에 대해 콘텍스트 스위치가 아닌 월드 스위치 허용" 블록(623)에서, 하이퍼바이저 설정(312)가 온 상태인 경우, 하이퍼바이저(221)는 태스크를 포함하는 제1 가상 머신과 클라우드 서버(116A)에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치가 아니라 월드 스위치들만을 허용하도록 구성될 수 있다. 블록(623)은 블록들(624 내지 626)을 포함할 수 있다.
"다음 VM/VM 스위치 커맨드 검출" 블록(624)에서, 제1 가상 머신의 실행 동안에, 하이퍼바이저(221)는 다음 가상 머신으로부터 다음 가상 머신 프로세서 커맨드를 검출하고/하거나 임의의 커맨드를 검출하여 상이한 가상 머신으로 스위칭되도록 구성될 수 있다. 하이퍼바이저(221)는 일반적으로, 콘텍스트 스위치들 및 월드 스위치들을 제어하며, 이에 따라, 일부 실시예에서 블록(624)은 콘텍스트 스위치가 임박한 때를 식별할 수 있다. 콘텍스트 스위치를 규칙적으로 선행하는 임의의 활동은 블록(624)에 의해 임박한 콘텍스트 스위치의 검출에 사용될 수 있다. 블록(624) 다음에 블록(625)이 따를 수 있다.
"하이퍼바이저 설정 참조" 블록(625)에서, 블록(624)에서의 가상 머신 스위치를 검출하는 것에 응답하여, 하이퍼바이저(221)는 펜딩 스위치(pending switch)에 포함된 제1 가상 머신과 다음 가상 머신 중 하나 이상에 대해 하이퍼바이저 설정을 참조하도록 구성될 수 있다. 일부 실시예에서, 각각의 가상 머신이 활성화된 하이퍼바이저 설정을 가질 수 있기 때문에 하이퍼바이저(221)는 스위치에 포함된 가상 머신 모두에 대해 하이퍼바이저 설정을 참조하도록 구성될 수 있다. 일부 실시예에서, 하이퍼바이저(221)는 제1 (현재 실행 중인) 가상 머신만을 위해 하이퍼바이저 설정을 참조하도록 구성될 수 있는데, 그 이유는 제1 가상 머신과 관련된 사이드 채널 공격 정보를 방지하는 보안의 목적을 달성하기 때문이다. 하이퍼바이저 설정을 참조하는 것은 예를 들어, 하이퍼바이저 설정을 홀드하도록 지정된 메모리 위치를 참조하는 것을 포함할 수 있다. 블록(625) 다음에 블록(626)이 따를 수 있다.
"월드 스위치 강제" 블록(626)에서, 블록(624)에서 체크된 하이퍼바이저 설정이 활성인 경우, 하이퍼바이저(221)는 콘텍스트 스위치 대신에 월드 스위치를 수행하도록 구성될 수 있다. 일부 실시예에서, 하이퍼바이저(221)는 하이퍼바이저 설정(312)이 제1 가상 머신과 다음 가상 머신 중 하나 이상에 대해 온 상태인 경우 다음 가상 머신 프로세서 커맨드와 같은 커맨드를 트랩하도록 구성될 수 있다. 일부 실시예에서, 하이퍼바이저(221)는 하이퍼바이저 설정이 제1 가상 머신에 대해 온 상태인 경우 다음 가상 머신 프로세서 커맨드와 같은 커맨드를 트랩하도록 구성될 수 있다.
도 6의 동작들은 데이터 센터(110)에 의해 클라우드 서비스(112)를 제공하는 것과 함께 실시간으로 수행될 수 있다. 예를 들어, 도 4를 참조하여 이해될 수 있는 바와 같이, 도 6의 동작은 클라우드 서비스 요청에 응답하여 데이터 센터(110)에서 수행될 수 있다. 이로 인해, 추가 보안 레벨을 클라우드 커스터머들에게 제공하는데 필요한 경우에 따라 동적으로, 연속 월드 스위치 보안은 클라우드 서버(600) 및 연속 월드 스위치 보안을 지원하는 클라우드 서버들(116) 중 다른 하나에서 턴온 및 턴오프될 수 있다.
도 7은 본 개시의 적어도 일부 실시예에 따라 배열된, 예시적인 전자상거래 서버, 컴퓨터 판독가능 매체, 및 대응하는 방법 및 모듈을 나타낸 블록도이다. 예시적인 전자상거래 서버(11)는 블록들(701 내지 705)을 포함하는 블록(223)에서 하나 이상의 동작/모듈을 포함할 수 있다. 예시된 블록들은 일 방법으로 수행될 수 있는 동작들, 전자상거래 서버(111)에서의 기능 모듈들, 및/또는 컴퓨터 판독가능 매체(750)에 기록될 수 있는 명령어들을 나타낸다. 도 7에 따른 예시적인 방법들은 클라우드 서비스를 클라우드 커스터머에 제공하도록 구성된 전자상거래 서버(111)를 이용하여 수행될 수 있다.
도 7에서, 블록들(701 내지 705)은 순차적으로 수행되는 것으로 예시되는데, 블록(701)이 맨 처음이고, 블록(705)이 마지막이다. 블록들은 특정 실시예들에 적합하도록 편의상 순서가 변경될 수 있고, 일부 실시예에서 이들 블록 또는 그 일부가 동시에 수행될 수 있다는 점이 이해될 것이다. 여러 예시에서, 다양한 블록들이 제거되고/되거나, 추가 블록들로 분할되고/되거나, 별도의 서버들에 위치하고/하거나, 다른 블록들과 결합될 수 있다는 점이 이해될 것이다.
예시된 커스터머 관리 인터페이스(CMI) 블록(223)은 블록(701)에서의 "UI 생성/제공", 블록(702)에서의 "활성화 커맨드 수신", 블록(703)에서의 "데이터 센터 구성", 블록(704)에서의 "보안 인증서 제공", 및 블록(705)에서의 "과금 서브시스템과의 통신"을 포함하는 기능 동작들을 제공하도록 배열될 수 있다.
"CMI" 블록(223)에서, CMI(223)는 블록들(701 내지 704)의 동작들을 관리하고, 옵션으로서 연속 월드 스위치 보안의 클라우드 커스터머 활성화를 허용하는 클라우드 커스터머 UI(500)와 같은 UI를 제공하도록 구성될 수 있다. 클라우드 커스터머 연속 월드 스위치 보안 활성화 커맨드들이 CMI(223)에서 수신될 수 있고, CMI(223)는 적절한 조치를 취하여 수신된 연속 월드 스위치 보안 활성화 커맨드들을 구현하도록 데이터 센터(110)를 구성할 수 있다.
"UI 생성/제공" 블록(701)에서, CMI(223)는 클라우드 커스터머 UI(500)와 같은 클라우드 커스터머 UI를 생성 및/또는 검색하도록 구성될 수 있다. 생성된 클라우드 커스터머 UI(500)는 요청 디바이스, 예를 들어, 클라우드 커스터머 디바이스(100)에 제공될 수 있다. 클라우드 커스터머 UI(500)는 예를 들어, 클라우드 서비스들의 클라우드 커스터머 관리를 용이하게 하도록 구성된 일련의 클라우드 커스터머 UI들 내에 피처 또는 페이지로서 제공될 수 있다.
클라우드 커스터머 UI(500)는 가격 정보(510)뿐 아니라 하나 이상의 연속 월드 스위치 보안 제어들(501 내지 503)을 포함할 수 있다. 연속 월드 스위치 보안 제어들(501, 502, 및 503)은 클라우드 서비스들을 제공하도록 구성된 하나 이상의 클라우드 서버들에 의해 수행될 하나 이상의 태스크들과 연관된 연속 월드 스위치 보안 활성화 커맨드들을 수신하도록 구성될 수 있다. 일부 활성화 커맨드들은 여기에 설명된 바와 같이 활성화 커맨드가 수행될 수 있는 조건들을 더 포함할 수 있으며, 클라우드 커스터머 UI는 클라우드 커스터머 조건 사양을 수신하도록 구성된 필드 및/또는 선택 가능 요소들을 포함할 수 있다.
클라우드 커스터머 제어(504)는 또한 클라우드 커스터머 UI(500)에 포함될 수 있다. 클라우드 커스터머 제어(504)는 클라우드 커스터머와 연관된 태스크들로 하여금 연속 월드 스위치 보안이 활성화된 태스크들을 실행하는 클라우드 서버에서 실행되게 하도록 구성될 수 있다. 블록(701) 다음에 블록(702)이 따를 수 있다.
"활성화 커맨드 수신" 블록(702)에서, CMI(223)는 클라우드 커스터머 UI(500)로부터 활성화 커맨드들을 수신하도록 구성될 수 있다. 예를 들어, 클라우드 커스터머 UI(500)는 클라우드 커스터머 선택의 완결 시에 활성화 커맨드 정보를 전자상거래 서버(111)에 전송할 수 있다. CMI(223)는 활성화 커맨드를 수신하여 블록(703)에서 사용하기 위해 해석할 수 있다. 블록(702) 다음에 블록(703)이 따를 수 있다.
"데이터 센터 구성" 블록(703)에서, 블록(702)에서 연속 월드 스위치 보안 활성화 커맨드들을 수신하는 것에 응답하여, CMI(223)는 수신된 활성화 커맨드들이 적용되는 태스크들, 예를 들어 클라우드 커스터머를 대신하여 활성화 커맨드를 제공하는 태스크들을 실행하는 가상 머신과 클라우드 서버들(116) 중 하나 이상에 의해 실행가능한 다른 가상 머신들, 예를 들어 다른 클라우드 커스터머를 대신하여 태스크들을 실행하는 가상 머신들 사이에 콘텍스트 스위치가 아닌 월드 스위치를 허용하도록 데이터 센터(110)의 클라우드 서버들(116) 중 하나 이상을 구성하도록 배열될 수 있다.
일부 실시예에서, 연속 월드 스위치 보안 활성화 커맨드는 클라우드 커스터머를 대신하여 클라우드 서버들에 의해 수행될 모든 태스크에 적용될 수 있다. 일부 실시예에서, 활성화 커맨드가 일정한 특정 태스크 또는 태스크 타입에 적용될 수 있다. 전술한 바와 같이, 연속 월드 스위치 보안의 대상인 태스크 타입들은 태스크가 상승된 보안을 갖거나 건강 관리, 재무 기록, 또는 다른 민감한 정보에 관한 것이라고 식별하는 메타데이터와 같은 태스크 메타데이터에 의해 식별될 수 있다.
일부 실시예에서, 블록(703)은 예를 들어, 클라우드 커스터머와 연관된 디지털 인증서를 포함할 수 있는 관리 기록을 생성하는 것을 포함할 수 있다. 생성된 관리 기록은 월드 스위치 인디케이터를 포함할 수 있다. 태스크 런처(114)는 여기에 설명된 바와 같이, 클라우드 서버들(116)의 하나 이상에 의해 가상 머신들의 실행을 관리하도록 구성된 하이퍼바이저에서 임의의 특정 조건들의 대상인 하이퍼바이저 설정을 활성화함으로써 클라우드 서비스들을 제공하는 과정에서 태스크들을 실행하는 경우 월드 스위치 인디케이터에 응답하도록 구성될 수 있다. 로드 밸런스 매니저(113)는 또한 여기에 설명된 바와 같이 월드 스위치 인디케이터에 응답하여 구성될 수 있다. 블록(703) 다음에 블록(704)이 따를 수 있다.
"보안 인증서 제공" 블록(704)에서, CMI(223)는 연속 월드 스위치 보안을 활성화하는 클라우드 커스터머에게 보안 인증을 제공하도록 구성될 수 있다. 디지털 보안 인증서는 예를 들어, 도 5와 함께 설명되는 바와 같이 제공될 수 있다. 블록(704) 다음에 블록(705)이 따를 수 있다.
"과금 서브시스템고의 통신" 블록(705)에서, CMI(223)는 연속 월드 스위치 보안 정보를 과금 서브시스템(406)에 전달하도록 구성될 수 있다. 연속 월드 스위치 보안 정보는 예를 들어, 블록(702)를 통해 수신된 활성화 커맨드에 대응하는 가격을 포함할 수 있다.
도 8은 본 개시의 적어도 일부 실시예에 따라 배열된, 예시적인 데이터 센터 디바이스들, 컴퓨터 판독가능 매체, 및 대응하는 방법들 및 모듈들을 나타낸 블록도이다. 예시적인 데이터 센터 디바이스들(800)은 예를 들어, 도 1 내지 도 4, 도 6, 및/또는 도 7에 예시된 디바이스들의 임의의 조합을 포함할 수 있다. 예시적인 데이터 센터 디바이스(800)는 블록(801 내지 806)에서 하나 이상의 동작/모듈들을 포함할 수 있다. 예시된 블록들은 일 방법으로 수행될 수 있는 동작들, 데이터 센터 디바이스(800)에서의 기능 모듈들, 및/또는 컴퓨터 판독가능 매체(850)에 기록될 수 있는 명령어들을 나타낸다. 도 8에 따른 예시적인 방법들은 클라우드 서비스를 제공하도록 구성된 데이터 센터(110)의 하나 이상의 상호 연결된 서버들을 이용하여 수행될 수 있다.
도 8에서, 블록들(801 내지 806)은 순차적으로 수행되는 것으로 예시되는데, 블록(801)이 맨 처음이고, 블록(806)이 마지막이다. 블록들은 특정 실시예들에 적합하도록 편의상 순서가 변경될 수 있고, 일부 실시예에서 이들 블록 또는 그 일부가 동시에 수행될 수 있다는 점이 이해될 것이다. 여러 예시에서, 다양한 블록들이 제거되고/되거나, 추가 블록들로 분할되고/되거나, 별도의 서버들에 위치하고/하거나, 다른 블록들과 결합될 수 있다는 점이 이해될 것이다.
예시된 블록들(801 내지 806)은 블록(801)에서의 "클라우드 커스터머 연속 월드 스위치 보안 선호도 수신", 블록(802)에서의 "월드 스위치 인디케이터를 포함하는 관리 기록 유지", 블록(803)에서의 "클라우드 서비스를 제공하는 경우 월드 스위치 인디케이터 체크", 블록(804)에서의 "클라우드 서비스를 제공하는 경우 조건 체크", 블록(805)에서의 "연속 월드 스위치 보안 선호도에 따른 클라우드 서버 구성", 및 블록(806)에서의 "로드 밸런싱"을 포함하는 기능 동작들을 제공하도록 배열될 수 있다.
일반적으로, 블록들(801 내지 806)은 데이터 센터에서 옵션의 연속 월드 스위치 보안 레벨을 제공하도록 구성된 블록들을 포함한다. 본 개시의 이점을 이용하면 수많은 추가 블록들 및 피처들이 일부 실시예에서 채택될 수 있다는 점이 이해될 것이다.
"클라우드 커스터머 연속 월드 스위치 보안 선호도 수신" 블록(801)에서, 데이터 센터 디바이스들(800)은 여기에 설명된 바와 같은 클라우드 관리 데이터를 수신하도록 구성될 수 있으며, 그 중에서 도 7의 블록들을 포함한다. 블록(801) 다음에 블록(802)이 따를 수 있다.
"월드 스위치 인디케이터를 포함하는 관리 기록 유지" 블록(802)에서, 데이터 센터 디바이스들(800)은 월드 스위치 인디케이터(311)와 같은 하나 이상의 월드 스위치 인디케이터를 포함하는 관리 기록(115)과 같은 디지털 관리 기록들을 저장 및 업데이트함으로써 유지하도록 구성될 수 있다. 디지털 관리 기록들(115)은 예를 들어, 새로운 선호도들이 블록(801)에서 수신되는 경우 업데이트될 수 있다. 나아가, 블록(802)은 연속 월드 스위치 보안 정보를 과금 서브시스템(406)에 전달하도록 구성될 수 있다. 블록(802) 다음에 블록(803)이 따를 수 있다.
"클라우드 서비스를 제공하는 경우 월드 스위치 인디케이터 체크" 블록(803)에서, 데이터 센터 디바이스들(800)은 클라우드 커스터머를 대신하여 태스크를 런칭할 때 월드 스위치 인디케이터에 대해 체크하도록 구성된 태스크 런처를 포함할 수 있다. 블록(803) 다음에 블록(804)이 따를 수 있다.
"클라우드 서비스를 제공하는 경우 조건 체크" 블록(804)에서, 데이터 센터 디바이스들(800)은 하이퍼바이저 설정을 활성화하기 전에 월드 스위치 인디케이터뿐 아니라 적어도 하나의 조건을 체크하도록 구성된 태스크 런처를 포함할 수 있다. 태스크 런처는 여기에 설명된 바와 같이 조건이 충족되는 경우 하이퍼바이저 설정을 활성화할 수 있다. 블록(804) 다음에 블록(805)이 따를 수 있다.
"연속 월드 스위치 보안 선호도에 따른 클라우드 서버 구성" 블록(805)에서, 데이터 센터 디바이스(800)는 예를 들어, 월드 스위치 인디케이터(311)로부터 결정된 바와 같이, 연속 월드 스위치 보안이 온 상태라는 지시에 응답하여 클라우드 서버들(116) 중 하나 이상의 하이퍼바이저(221)에 의해 관리되는 가상 머신에 대한 하이퍼바이저 설정을 활성화하도록 구성된 태스크 런처를 포함할 수 있다.
데이터 센터 디바이스(800)는 하나 이상의 클라우드 서버들에 의해 실행가능한 가상 머신들 사이에 콘텍스트 스위치들 및 월드 스위치들을 개시하도록 구성된 하이퍼바이저(221)와 같은 하나 이상의 하이퍼바이저들을 포함할 수 있다. 하이퍼바이저는 하이퍼바이저 설정(312)와 같은 하이퍼바이저 설정을 구현하도록 구성될 수 있는데, 이로써 하이퍼바이저 설정이 온 상태인 경우, 하이퍼바이저(221)는 태스크를 포함하는 가상 머신과 하이퍼바이저(221)를 포함하는 클라우드 서버의 하나 이상의 프로세서 코어들에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들이 아닌 월드 스위치들을 허용하도록 구성된다. 하이퍼바이저 설정이 오프인 경우, 하이퍼바이저(221)는 태스크를 포함하는 가상 머신과 클라우드 서버의 하나 이상의 프로세서 코어들에 의해 실행가능한 다른 가상 머신들 사이에 월드 스위치들과 콘텍스트 스위치들을 허용하도록 구성될 수 있다. 블록(805) 다음에 블록(806)이 따를 수 있다.
"로드 밸런싱" 블록(806)에서, 데이터 센터 디바이스들(800)은 표준 로드 밸런싱뿐 아니라 다양한 로드 밸런싱 동작들 중 하나 이상을 수행하도록 구성될 수 있는데, 여기서 본 개시에 따른 로드 밸런싱 동작들은 연속 월드 스위치 보안의 대상인 태스크들을 수용하도록 구성된다. 예를 들어, 일부 실시예에서, 로드 밸런싱은 서버들, 프로세싱 시간, 프로세서 코어들, 및 메모리 리소스들 중 하나 이상을 포함하는 추가 프로세싱 리소스들을 연속 월드 스위치 보안이 온 상태인 태스크들을 포함하는 가상 머신들에 할당할 수 있다. 일부 실시예에서, 로드 밸런싱은 동일한 서버에서 연속 월드 스위치 보안이 온 상태인 태스크들을 그룹화할 수 있다. 일부 실시예에서, 로드 밸런싱은 하나 이상의 프로세서 코어들에서 하드웨어 가산화 보조 도구를 포함하는 서버들에서 연속 월드 스위치 보안이 온 상태인 태스크들을 할당할 수 있다.
시스템들의 양태들의 하드웨어 및 소프트웨어 구현 사이에 차이가 거의 없는데, 하드웨어 또는 소프트웨어의 사용은 일반적으로(그러나, 경우에 따라 하드웨어와 소프트웨어 사이의 선택이 중요해질 수 있다는 점에서 항상은 아님) 비용 대 효율의 트레이드오프를 나타내는 디자인 선택이다. 여기에 설명된 프로세스 및/또는 시스템 및/또는 다른 기술들이 영향을 받지 않는 다양한 수단들(예를 들어, 하드웨어, 소프트웨어, 및/또는 펌웨어)이 존재하며, 바람직한 수단은 프로세스 및/또는 시스템 및/또는 다른 기술들이 전개되는 상황에 따라 달라질 것이다. 예를 들어, 구현자가 속도 및 정확도가 중요하다고 판단하면, 구현자는 주로 하드웨어 및/또는 펌웨어 수단을 선택할 수 있고, 유연성이 중요하다고 판단하면, 구현자는 주로 소프트웨어 수단을 선택할 수 있고, 또한 대안으로서, 구현자는 하드웨어, 소프트웨어, 및/또는 펌웨어의 조합을 선택할 수 있다.
전술한 상세한 설명은 블록도, 흐름도, 및/또는 예시의 사용을 통해 디바이스들 및/또는 프로세스들의 다양한 실시예들을 개시하였다. 이러한 블록도, 흐름도, 및/또는 예시들이 하나 이상의 기능 및/또는 동작들을 포함하는 한, 이러한 블록도, 흐름도, 또는 예시들 내의 각각의 기능 및/또는 동작이 광범위한 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 잠재적 조합에 의해 개별 및/또는 집합적으로 구현할 수 있다는 점이 당업자에 의해 이해될 것이다. 일 실시예에서, 여기에 설명된 요지의 여러 부위들은 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), 디지털 신호 프로세서(DSP), 또는 통합 포맷을 통해 구현될 수 있다. 그러나, 당업자는 여기에 개시된 실시예들의 여러 양태들이 전체 또는 부분적으로 집적 회로에 하나 이상의 컴퓨터에서 실행되는 하나 이상의 컴퓨터 프로그램, 하나 이상의 프로세서에서 실행되는 하나 이상의 프로그램, 펌웨어, 또는 이들의 임의의 잠재적 조합으로서 등가적으로 구현될 수 있고, 회로를 설계하고 소프트웨어 및/또는 펌웨어를 위한 코드를 기입하는 것은 본 개시의 측면에서 당업자의 기술 범위 내에 있다는 것을 인식할 것이다. 또한, 당업자는 여기에 설명된 요지의 메커니즘은 다양한 형태로 프로그램 제품으로서 배포될 수 있고, 여기에 설명된 요지의 예시적인 실시예는 배포를 실제로 실시하는데 사용되는 특정 타입의 신호 베어링 매체와 무관하게 적용된다는 점을 이해할 것이다. 신호 베어링 매체는 플로피 디스크, 하드 디스크 드라이브, CD(Compact Disc), DVD(Digital Video Disk), 디지털 테이프, 컴퓨터 메모리 등과 같은 기록가능 타입 매체, 디지털 및/또는 아날로그 통신 매체(예를 들어, 광섬유 케이블, 도파관(waveguide), 유선 통신 링크, 무선 통신 링크 등)와 같은 전송 타입 매체를 포함하지만, 이들로 제한되는 것은 아니다.
당업자는 여기에 개시된 방식으로 디바이스들 및/또는 프로세스들을 설명한 후, 공학적 실무 경력을 사용하여 설명된 디바이스 및/또는 프로세스들을 데이터 프로세싱 시스템들에 통합하는 것은 당업계의 기술 내에서 공통적이라는 점을 인식할 것이다. 즉, 여기에 설명된 디바이스들 및/또는 프로세스들의 적어도 일부는 합리적인 횟수의 실험을 통해 데이터 프로세싱 시스템으로 통합될 수 있다. 당업자는 통상적인 데이터 프로세싱 시스템이 일반적으로 시스템 유닛 하우징(system unit housing), 비디오 디스플레이 디바이스, 휘발성 및 비휘발성 메모리와 같은 메모리, 마이크로프로세서 및 디지털 신호 프로세서와 같은 프로세서, 운영 체제와 같은 컴퓨팅 엔티티(computational entity), 드라이버, 그래픽 사용자 인터페이스, 및 애플리케이션 프로그램, 터치 패드 또는 스크린과 같은 하나 이상의 상호 작용 디바이스들, 및/또는 피드백 루프 및 제어 모터를 포함하는 제어 시스템을 포함한다는 점을 인식할 것이다. 통상적인 데이터 프로세싱 시스템은 데이터 컴퓨팅/통신 및/또는 네트워크 컴퓨팅/통신 시스템들에서 통상적으로 탐색될 수 있는 바와 같이 임의의 적절한 상용화된 컴포넌트들을 활용하여 구현될 수 있다. 여기에 설명된 요지는 경우에 따라 상이한 컴포넌트들 내에 포함되거나 이들과 연결되는 다른 상이한 컴포넌트들을 예시한다. 이러한 설명된 아키텍처들이 단순히 예시이며, 실제로 동일한 기능성을 이루는 여러 다른 아키텍처들이 구현될 수 있다는 점이 이해될 수 있다. 개념적인 면에서, 동일한 기능성을 획득하기 위한 컴포넌트들의 임의의 배열은 원하는 기능성이 획득되도록 효과적으로 관련되어 있다. 그러므로, 아키텍처들 또는 중간 컴포넌트들과 무관하게, 특정 기능성을 획득하기 위해 여기에서 결합된 임의의 2개의 컴포넌트들은 원하는 기능성이 획득되도록 서로 관련된 것으로 보일 수 있다. 마찬가지로, 이렇게 관련된 임의의 2개의 컴포넌트들은 서로에게 "동작적으로 연결" 또는 "동작적으로 결합"되어 원하는 기능성을 획득하는 것으로서 간주될 수 있고, 이렇게 관련될 수 있는 임의의 2개의 컴포넌트들은 서로 "동작적으로 결합 가능"하여 원하는 기능성을 획득하는 것으로서 간주될 수 있다. 동작적으로 결합 가능한 특정 예시들은 물리적 연결가능 및/또는 물리적 상호작용 컴포넌트; 무선 연결가능 및/또는 무선 상호작용 컴포넌트; 및/또는 논리적 연결가능 및/또는 논리적 상호작용 컴포넌트들을 포함하지만, 이들로 제한되는 것은 아니다.
여기에서의 임의의 복수형 및/또는 단수형 용어의 사용에 대해, 당업자는 상황 및/또는 용용 분야에 적절하게 복수형으로부터 단수형으로 및/또는 단수형으로부터 복수형으로 변환할 수 있다. 다양한 단수형/복수형 치환은 명확성을 위해 여기에 명백하게 개시될 수 있다.
일반적으로, 여기에 특히, 첨부된 청구항에 사용된 용어들이 일반적으로 개방형 용어라고 의도된다는 것이 당업자에 의해 이해될 것이다(예를 들어, "포함하는(including)"이라는 용어는 "포함하지만 제한되지 않는"으로서 해석되어야 하고, "갖는(having)"이라는 용어는 "적어도 갖는"으로서 해석되어야 하고, "포함하다(includes)"라는 용어는 "포함하지만 제한되지 않는다"로서 해석되어야 함). 특정 개수의 청구항 열거가 의도되면, 이러한 의도는 청구항에서 명백히 열거될 것이고, 이러한 열거가 없으면 이러한 의도는 존재하지 않는 것이라는 점이 당업자에 의해 더 이해될 것이다. 예를 들어, 이해를 돕기 위해, 다음의 첨부된 청구항들은 "적어도 하나" 및 "하나 이상"이라는 도입 구문의 사용을 포함하여 청구항 열거를 도입할 수 있다. 그러나, 이러한 구문들의 사용은 단수형(부정관사)에 의한 청구항 열거의 도입이 이렇게 도입된 청구항 열거를 포함하는 임의의 특정 청구항을 단 하나의 열거만을 포함하는 발명들로 제한하는 것을 내포한다고 간주되지 않아야 하는데, 동일한 청구항은 "하나 이상" 또는 "적어도 하나"라는 도입 구문 및 단수형(부정관사)들을 포함하고(예를 들어, "하나" 또는 "일"이라는 표현은 통상적으로 "적어도 하나" 또는 "하나 이상"을 의미하는 것으로 해석되어야 함), 동일한 내용이 청구항 열거를 도입하는데 사용되는 단수형(정관사)에 대해서도 그대로 적용된다. 또한, 특정 개수의 도입 청구항 열거가 명백히 열거되는 경우에도, 당업자는 이러한 열거가 적어도 열거된 개수를 의미하는 것으로 통상 해석되어야 한다고 인식할 것이다(예를 들어, 다른 수식어가 없는 2개의 열거는 기본 열거로서 통상적으로 적어도 2개의 열거 또는 2개 이상의 열거를 의미함). 게다가, "A, B, 및 C 중 적어도 하나 등"과 유사한 관습적 표현이 사용되는 예시에서, 일반적으로 이러한 구조는 당업자가 관습적 표현을 이해할 것이라는 관점에서 의도된 것이다(예를 들어, "A, B, 및 C 중 적어도 하나를 갖는 시스템"은 A만, B만, C만, A와 B, A와 C, B와 C, 및/또는 A, B, 및 C 모두를 갖는 시스템을 포함하지만 이로 제한되는 것을 아님). 게다가, "A, B, 또는 C 중 적어도 하나 등"과 유사한 관습적 표현이 사용되는 예시에서, 일반적으로 이러한 구조는 당업자가 관습적 표현을 이해할 것이라는 관점에서 의도된 것이다(예를 들어, "A, B, 또는 C 중 적어도 하나를 갖는 시스템"은 A만, B만, C만, A와 B, A와 C, B와 C, 및/또는 A, B, 및 C 모두를 갖는 시스템을 포함하지만 이로 제한되는 것을 아님). 하나를 초과하는 대체적 용어를 제시하는 임의의 분리성(disjunctive) 단어 및/또는 구문은 명세서, 청구항, 또는 도면에서 용어들 중 하나, 용어들 중 어느 하나, 또는 양자 모든 용어들을 포함할 가능성을 고려하는 것으로 이해되어야 한다는 점이 당업자에 의해 더 잘 이해될 것이다. 예를 들어, 구문 "A 또는 B"는 "A" 또는 "B" 또는 "A 및 B"의 가능성을 포함하는 것으로 이해될 것이다.
일정한 예시적인 기법들이 다양한 방법, 디바이스, 시스템을 사용하여 여기에 설명되고 도시되어 있지만, 청구된 요지에서 벗어나지 않고 다른 다양한 변형이 행해질 수 있고, 균등물이 대체될 수 있다는 점이 당업자에 의해 이해되어야 한다. 또한, 여기에 설명된 중심 개념으로부터 벗어나지 않는 한, 특정 상황을 청구된 요지의 교시에 적합하도록 여러 변형이 이루어질 수 있다. 따라서, 청구된 요지가 개시된 특정 예시로 제한되지 않지만, 이렇게 청구된 요지는 첨부된 청구항들 및 그 균등물의 범위 내에 있는 모든 구현예들을 포함할 수 있다는 것을 의도한다.

Claims (68)

  1. 하나 이상의 가상 머신 내의 태스크(task)들을 실행하고, 상기 태스크들 중 하나 이상에 대해 연속 월드 스위치 보안(continuous world switch security)을 활성화하도록 구성된 서버에 있어서,
    각각 프로세서 및 캐시 메모리를 포함하는 하나 이상의 프로세서 코어 - 각각의 프로세서 코어는 상기 캐시 메모리의 상태에 적어도 부분적으로 기초하여 정의되는 프로세서 상태를 가짐 - ; 및
    상기 서버의 하나 이상의 프로세서 코어에 의해 실행 가능한 하이퍼바이저(hypervisor)를 포함하고, 상기 하이퍼바이저는 상기 서버에 의해 가상 머신들의 실행을 관리하도록 구성되며,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에서 콘텍스트 스위치(context switch)들이 가능하고, 가상 머신들 사이의 콘텍스트 스위치들은 제1 가상 머신과 연관된 프로세서 상태의 적어도 일부가 후속하는 가상 머신의 실행 동안 남아있게 하며,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에서 월드 스위치(world switch)들이 가능하고, 가상 머신들 사이의 월드 스위치들은 상기 후속하는 가상 머신의 실행으로 스위칭되는 경우 상기 제1 가상 머신과 연관된 적어도 프로세서 코어 캐시, 레지스터, 또는 파이프라인 상태를 제거하고,
    상기 하이퍼바이저는 태스크와 연관된 하이퍼바이저 월드 스위치 보안 설정을 구현하도록 구성되어,
    상기 하이퍼바이저 월드 스위치 보안 설정이 온(on) 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에서 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 구성되고,
    상기 하이퍼바이저 월드 스위치 보안 설정이 오프(off) 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에서 월드 스위치들 및 콘텍스트 스위치들을 허용하도록 구성되는 것인, 서버.
  2. 하나 이상의 가상 머신 내의 태스크(task)들을 실행하고, 상기 태스크들 중 하나 이상에 대해 연속 월드 스위치 보안(continuous world switch security)을 활성화하도록 구성된 서버에 있어서,
    각각 프로세서 및 캐시 메모리를 포함하는 하나 이상의 프로세서 코어;
    상기 서버의 하나 이상의 프로세서 코어에 의해 실행 가능한 하이퍼바이저(hypervisor)로서, 상기 하이퍼바이저는 상기 서버에 의해 가상 머신들의 실행을 관리하도록 구성되고,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에서 콘텍스트 스위치(context switch)들이 가능하고,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에서 월드 스위치(world switch)들이 가능하고,
    상기 하이퍼바이저는 태스크와 연관된 하이퍼바이저 월드 스위치 보안 설정을 구현하도록 구성되어,
    상기 하이퍼바이저 월드 스위치 보안 설정이 온(on) 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에서 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 구성되고,
    상기 하이퍼바이저 월드 스위치 보안 설정이 오프(off) 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에서 월드 스위치들 및 콘텍스트 스위치들을 허용하도록 구성되는 것인, 상기 하이퍼바이저; 및
    클라우드 커스터머(cloud customer)와 연관된 월드 스위치 인디케이터(indicator)에 응답하여 상기 하이퍼바이저에서 상기 하이퍼바이저 월드 스위치 보안 설정을 활성화하도록 구성된 태스크 런처(task launcher)를 포함하는, 서버.
  3. 청구항 3은(는) 설정등록료 납부시 포기되었습니다.
    제2항에 있어서,
    상기 태스크 런처는 연속 월드 스위치 보안 정보를 과금(billing) 서브시스템에 전달(communicate)하도록 구성되는 것인, 서버.
  4. 청구항 4은(는) 설정등록료 납부시 포기되었습니다.
    제2항에 있어서,
    상기 태스크 런처는 상기 하이퍼바이저에서 상기 하이퍼바이저 월드 스위치 보안 설정을 활성화하기 전에 상기 월드 스위치 인디케이터 뿐 아니라 적어도 하나의 조건을 체크하고, 상기 적어도 하나의 조건이 충족되는 경우 상기 하이퍼바이저 월드 스위치 보안 설정을 활성화하도록 구성되는 것인, 서버.
  5. 청구항 5은(는) 설정등록료 납부시 포기되었습니다.
    제4항에 있어서,
    상기 적어도 하나의 조건은 다중 클라우드 커스터머 조건을 포함하고, 상기 서버에 의해 현재 실행가능한 가상 머신들은 하나를 초과하는 클라우드 커스터머와 연관된 것인, 서버.
  6. 삭제
  7. 하나 이상의 가상 머신 내의 태스크(task)들을 실행하고, 상기 태스크들 중 하나 이상에 대해 연속 월드 스위치 보안(continuous world switch security)을 활성화하도록 구성된 서버에 있어서,
    각각 프로세서 및 캐시 메모리를 포함하는 하나 이상의 프로세서 코어; 및
    상기 서버의 하나 이상의 프로세서 코어에 의해 실행 가능한 하이퍼바이저(hypervisor)를 포함하고, 상기 하이퍼바이저는 상기 서버에 의해 가상 머신들의 실행을 관리하도록 구성되며,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에서 콘텍스트 스위치(context switch)들이 가능하고,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에서 월드 스위치(world switch)들이 가능하고,
    상기 하이퍼바이저는 태스크와 연관된 하이퍼바이저 월드 스위치 보안 설정을 구현하도록 구성되어,
    상기 하이퍼바이저 월드 스위치 보안 설정이 온(on) 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에서 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 구성되고,
    상기 하이퍼바이저 월드 스위치 보안 설정이 오프(off) 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에서 월드 스위치들 및 콘텍스트 스위치들을 허용하도록 구성되고,
    상기 하이퍼바이저는 트랩 핸들러(trap handler)를 포함함으로써 상기 하이퍼바이저 월드 스위치 보안 설정을 구현하도록 구성되며,
    상기 트랩 핸들러는,
    제1 가상 머신의 실행 동안 후속하는 가상 머신으로부터 후속하는 가상 머신 프로세서 커맨드를 검출하고;
    상기 제1 가상 머신 및 상기 후속하는 가상 머신 중 하나 이상에 대해 하이퍼바이저 월드 스위치 보안 설정을 참조하고; 그리고
    상기 제1 가상 머신 및 상기 후속하는 가상 머신 중 하나 이상에 대해 상기 하이퍼바이저 월드 스위치 보안 설정이 온 상태인 경우 상기 후속하는 가상 머신 프로세서 커맨드를 트랩하도록 구성되는 것인, 서버.
  8. 하나 이상의 가상 머신 내의 태스크(task)들을 실행하고, 상기 태스크들 중 하나 이상에 대해 연속 월드 스위치 보안(continuous world switch security)을 활성화하도록 구성된 서버에 있어서,
    각각 프로세서 및 캐시 메모리를 포함하는 하나 이상의 프로세서 코어;
    상기 서버의 하나 이상의 프로세서 코어에 의해 실행 가능한 하이퍼바이저(hypervisor)로서, 상기 하이퍼바이저는 상기 서버에 의해 가상 머신들의 실행을 관리하도록 구성되고,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에서 콘텍스트 스위치(context switch)들이 가능하고,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에서 월드 스위치(world switch)들이 가능하고,
    상기 하이퍼바이저는 태스크와 연관된 하이퍼바이저 월드 스위치 보안 설정을 구현하도록 구성되어,
    상기 하이퍼바이저 월드 스위치 보안 설정이 온(on) 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에서 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 구성되고,
    상기 하이퍼바이저 월드 스위치 보안 설정이 오프(off) 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에서 월드 스위치들 및 콘텍스트 스위치들을 허용하도록 구성되는 것인, 상기 하이퍼바이저; 및
    프로세싱 시간, 프로세서 코어들, 및 메모리 리소스들 중 하나 이상을 포함하는 추가 프로세싱 리소스들을 연속 월드 스위치 보안이 활성화되는 태스크들을 포함한 가상 머신들에 할당하도록 구성된 로드 밸런스 매니저(load balance manager)를 포함하는, 서버.
  9. 하나 이상의 가상 머신 내의 태스크(task)들을 실행하고, 상기 태스크들 중 하나 이상에 대해 연속 월드 스위치 보안(continuous world switch security)을 활성화하도록 구성된 서버에 있어서,
    각각 프로세서 및 캐시 메모리를 포함하는 하나 이상의 프로세서 코어;
    상기 서버의 하나 이상의 프로세서 코어에 의해 실행 가능한 하이퍼바이저(hypervisor)로서, 상기 하이퍼바이저는 상기 서버에 의해 가상 머신들의 실행을 관리하도록 구성되고,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에서 콘텍스트 스위치(context switch)들이 가능하고,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에서 월드 스위치(world switch)들이 가능하고,
    상기 하이퍼바이저는 태스크와 연관된 하이퍼바이저 월드 스위치 보안 설정을 구현하도록 구성되어,
    상기 하이퍼바이저 월드 스위치 보안 설정이 온(on) 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에서 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 구성되고,
    상기 하이퍼바이저 월드 스위치 보안 설정이 오프(off) 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에서 월드 스위치들 및 콘텍스트 스위치들을 허용하도록 구성되는 것인, 상기 하이퍼바이저; 및
    연속 월드 스위치 보안이 활성화된 태스크들을 그룹화하도록 구성된 로드 밸런스 매니저를 포함하는, 서버.
  10. 하나 이상의 가상 머신 내의 태스크(task)들을 실행하고, 상기 태스크들 중 하나 이상에 대해 연속 월드 스위치 보안(continuous world switch security)을 활성화하도록 구성된 서버에 있어서,
    각각 프로세서 및 캐시 메모리를 포함하는 하나 이상의 프로세서 코어; 및
    상기 서버의 하나 이상의 프로세서 코어에 의해 실행 가능한 하이퍼바이저(hypervisor)를 포함하고, 상기 하이퍼바이저는 상기 서버에 의해 가상 머신들의 실행을 관리하도록 구성되고,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에서 콘텍스트 스위치(context switch)들이 가능하고,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에서 월드 스위치(world switch)들이 가능하고,
    상기 하이퍼바이저는 태스크와 연관된 하이퍼바이저 월드 스위치 보안 설정을 구현하도록 구성되어,
    상기 하이퍼바이저 월드 스위치 보안 설정이 온(on) 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에서 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 구성되고,
    상기 하이퍼바이저 월드 스위치 보안 설정이 오프(off) 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에서 월드 스위치들 및 콘텍스트 스위치들을 허용하도록 구성되고,
    상기 하이퍼바이저는 상기 프로세서 코어들 중 하나 이상에 의해 제공되는 하드웨어 가상화 보조 도구를 사용하여 가상 머신들 사이에서 월드 스위치들을 개시하도록 구성되는 것인, 서버.
  11. 가상 머신들의 실행을 관리하도록 구성된 하이퍼바이저를 포함하는 서버에 의해 수행되는 방법에 있어서,
    상기 하이퍼바이저는 상기 서버의 하나 이상의 프로세서 코어에 의해 실행가능한 가상 머신들 사이에 콘텍스트 스위치들을 개시하도록 구성되고, 상기 하이퍼바이저는 상기 하나 이상의 프로세서 코어에 의해 실행가능한 가상 머신들 사이의 월드 스위치들을 개시하도록 구성되고, 상기 하이퍼바이저는 상기 가상 머신들 중 하나 이상에 대해 연속 월드 스위치 보안을 구현하도록 구성되며,
    상기 방법은,
    상기 서버에 의하여 태스크와 연관된 월드 스위치 인디케이터를 검출하는 것;
    상기 월드 스위치 인디케이터가 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들을 요구하지 않고 월드 스위치들을 요구한다는 것의 검출에 응답하여, 상기 서버에 의해 상기 하이퍼바이저에서 하이퍼바이저 월드 스위치 보안 설정을 활성화하는 것; 및
    상기 하이퍼바이저 월드 스위치 보안 설정이 온 상태인 경우, 상기 하이퍼바이저에 의해 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하는 것
    을 포함하는, 방법.
  12. 청구항 12은(는) 설정등록료 납부시 포기되었습니다.
    제11항에 있어서,
    상기 검출하는 것은 클라우드 커스터머와 연관된 월드 스위치 인디케이터를 참조함으로써 태스크 런처에 의해 수행되는 것인, 방법.
  13. 청구항 13은(는) 설정등록료 납부시 포기되었습니다.
    제12항에 있어서,
    상기 태스크 런처에 의해 연속 월드 스위치 보안 정보를 과금 서브시스템에 전달하는 것을 더 포함하는, 방법.
  14. 청구항 14은(는) 설정등록료 납부시 포기되었습니다.
    제12항에 있어서,
    상기 하이퍼바이저에서 상기 하이퍼바이저 월드 스위치 보안 설정을 활성화하기 전에 상기 월드 스위치 인디케이터뿐 아니라 적어도 하나의 조건을 상기 태스크 런처에 의해 체크하는 것, 및 상기 조건이 충족되는 경우 상기 하이퍼바이저 월드 스위치 보안 설정을 활성화하는 것을 더 포함하는, 방법.
  15. 청구항 15은(는) 설정등록료 납부시 포기되었습니다.
    제14항에 있어서,
    상기 조건은 다중 클라우드 커스터머 조건을 포함하고, 상기 서버에 의해 현재 실행가능한 가상 머신들은 하나를 초과하는 클라우드 커스터머와 연관된 것인, 방법.
  16. 청구항 16은(는) 설정등록료 납부시 포기되었습니다.
    제11항에 있어서,
    각각의 프로세서 코어는 캐시 메모리의 상태에 적어도 부분적으로 기초하여 정의되는 프로세서 상태를 갖고, 가상 머신들 사이의 콘텍스트 스위치들은 제1 가상 머신과 연관된 프로세서 상태의 적어도 일부가 후속하는 가상 머신의 실행 동안 남아있게 하고, 가상 머신들 사이의 월드 스위치들은 프로세서 코어를 상기 후속하는 가상 머신의 실행으로 스위칭하는 경우 제1 가상 머신과 연관된 적어도 캐시, 레지스터, 또는 파이프라인 상태를 제거하는 것인, 방법.
  17. 청구항 17은(는) 설정등록료 납부시 포기되었습니다.
    제11항에 있어서,
    제1 가상 머신의 실행 동안에, 후속하는 가상 머신으로부터 후속하는 가상 머신 프로세서 커맨드를 검출하는 것, 상기 제1 가상 머신과 상기 후속하는 가상 머신 중 하나 이상에 대해 하이퍼바이저 월드 스위치 보안 설정을 참조하는 것, 및 상기 하이퍼바이저 월드 스위치 보안 설정이 상기 제1 가상 머신과 상기 후속하는 가상 머신 중 하나 이상에 대해 온 상태인 경우 상기 후속하는 가상 머신 프로세서 커맨드를 트랩하는 것을 더 포함하는, 방법.
  18. 청구항 18은(는) 설정등록료 납부시 포기되었습니다.
    제11항에 있어서,
    프로세싱 시간, 프로세서 코어들, 및 메모리 리소스들 중 하나 이상을 포함하는 추가 프로세싱 리소스들을 상기 연속 월드 스위치 보안이 온 상태인 태스크들을 포함하는 가상 머신에 할당하는 것을 더 포함하는, 방법.
  19. 청구항 19은(는) 설정등록료 납부시 포기되었습니다.
    제11항에 있어서,
    연속 월드 스위치 보안이 온 상태인 태스크들을 그룹화하는 것을 더 포함하는, 방법.
  20. 청구항 20은(는) 설정등록료 납부시 포기되었습니다.
    제11항에 있어서,
    가상 머신들 사이에 월드 스위치를 개시하기 위하여 상기 프로세서 코어들 중 하나 이상에 의해 제공되는 하드웨어 가상화 보조 도구를 사용하는 것을 더 포함하는, 방법.
  21. 청구항 21은(는) 설정등록료 납부시 포기되었습니다.
    하나 이상의 가상 머신에 대해 연속 월드 스위치 보안을 적용하도록 구성된 하이퍼바이저를 구현하는 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 판독가능 매체에 있어서,
    하이퍼바이저를 구현하는 명령어들을 포함하고,
    상기 하이퍼바이저는 서버에 포함된 하나 이상의 프로세서 코어에 의해 실행가능한 가상 머신들 사이에 콘텍스트 스위치들을 개시하도록 구성되고, 각각의 프로세서 코어는 캐시 메모리의 상태에 적어도 부분적으로 기초하여 정의되는 프로세서 상태를 가지며, 가상 머신들 사이의 콘텍스트 스위치들은 제1 가상 머신과 연관된 프로세서 상태의 적어도 일부가 후속하는 가상 머신의 실행 동안 남아있게 하며,
    상기 하이퍼바이저는 상기 서버 내에 포함되는 하나 이상의 프로세서 코어들에 의해 실행가능한 가상 머신들 사이에 월드 스위치들을 개시하도록 구성되고, 가상 머신들 사이의 월드 스위치들은 상기 후속하는 가상 머신의 실행으로 스위칭되는 경우 상기 제1 가상 머신과 연관된 적어도 프로세서 코어 캐시, 레지스터, 또는 파이프라인 상태를 제거하며,
    상기 하이퍼바이저는 태스크와 연관된 하이퍼바이저 월드 스위치 보안 설정을 구현하도록 구성되어,
    상기 하이퍼바이저 월드 스위치 보안 설정이 온 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 구성되고,
    상기 하이퍼바이저 월드 스위치 보안 설정이 오프 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에 월드 스위치들 및 콘텍스트 스위치들을 허용하도록 구성되는 것인, 컴퓨터 판독가능 매체.
  22. 청구항 22은(는) 설정등록료 납부시 포기되었습니다.
    하나 이상의 가상 머신에 대해 연속 월드 스위치 보안을 적용하도록 구성된 하이퍼바이저를 구현하는 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 판독가능 매체에 있어서,
    하이퍼바이저를 구현하는 명령어들로서,
    상기 하이퍼바이저는 서버에 포함된 하나 이상의 프로세서 코어에 의해 실행가능한 가상 머신들 사이에 콘텍스트 스위치들을 개시하도록 구성되고,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에 월드 스위치들을 개시하도록 구성되고,
    상기 하이퍼바이저는 태스크와 연관된 하이퍼바이저 월드 스위치 보안 설정을 구현하도록 구성되어,
    상기 하이퍼바이저 월드 스위치 보안 설정이 온 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 구성되고,
    상기 하이퍼바이저 월드 스위치 보안 설정이 오프 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에 월드 스위치들 및 콘텍스트 스위치들을 허용하도록 구성되는 것인, 상기 명령어들; 및
    클라우드 커스터머와 연관된 월드 스위치 인디케이터에 응답하여 상기 하이퍼바이저에서 상기 하이퍼바이저 월드 스위치 보안 설정을 설정하는 태스크 런처를 구현하는 명령어들을 포함하는, 컴퓨터 판독가능 매체.
  23. 청구항 23은(는) 설정등록료 납부시 포기되었습니다.
    제22항에 있어서,
    상기 태스크 런처는 연속 월드 스위치 보안 정보를 과금 서브시스템에 전달(communicate)하는 것인, 컴퓨터 판독가능 매체.
  24. 청구항 24은(는) 설정등록료 납부시 포기되었습니다.
    제22항에 있어서,
    상기 태스크 런처는 상기 하이퍼바이저에서 상기 하이퍼바이저 월드 스위치 보안 설정을 활성화하기 전에 상기 월드 스위치 인디케이터뿐 아니라 적어도 하나의 조건을 체크하고, 상기 조건이 충족되는 경우 상기 하이퍼바이저에서 상기 하이퍼바이저 월드 스위치 보안 설정을 활성화하도록 구성되는 것인, 컴퓨터 판독가능 매체.
  25. 청구항 25은(는) 설정등록료 납부시 포기되었습니다.
    제24항에 있어서,
    상기 조건은 다중 클라우드 커스터머 조건을 포함하고, 상기 서버에 의해 현재 실행가능한 가상 머신들은 하나를 초과하는 클라우드 커스터머와 연관된 것인, 컴퓨터 판독가능 매체.
  26. 삭제
  27. 청구항 27은(는) 설정등록료 납부시 포기되었습니다.
    하나 이상의 가상 머신에 대해 연속 월드 스위치 보안을 적용하도록 구성된 하이퍼바이저를 구현하는 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 판독가능 매체에 있어서,
    하이퍼바이저를 구현하는 명령어들을 포함하고,
    상기 하이퍼바이저는 서버에 포함된 하나 이상의 프로세서 코어에 의해 실행가능한 가상 머신들 사이에 콘텍스트 스위치들을 개시하도록 구성되고,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에 월드 스위치들을 개시하도록 구성되고,
    상기 하이퍼바이저는 태스크와 연관된 하이퍼바이저 월드 스위치 보안 설정을 구현하도록 구성되어,
    상기 하이퍼바이저 월드 스위치 보안 설정이 온 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 구성되고,
    상기 하이퍼바이저 월드 스위치 보안 설정이 오프 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에 월드 스위치들 및 콘텍스트 스위치들을 허용하도록 구성되며,
    상기 하이퍼바이저는 트랩 핸들러를 구현하는 명령어들을 포함함으로써 상기 하이퍼바이저 월드 스위치 보안 설정을 구현하도록 구성되며,
    상기 트랩 핸들러를 구현하는 명령어들은, 제1 가상 머신의 실행 동안에 후속하는 가상 머신으로부터 후속하는 가상 머신 프로세서 커맨드를 검출하고, 상기 제1 가상 머신과 상기 후속하는 가상 머신 중 하나 이상에 대해 하이퍼바이저 월드 스위치 보안 설정을 참조하고, 상기 제1 가상 머신과 상기 후속하는 가상 머신 중 하나 이상에 대해 상기 하이퍼바이저 월드 스위치 보안 설정이 온 상태인 경우 상기 후속하는 가상 머신 프로세서 커맨드를 트랩하기 위한 명령어들을 포함하는 것인, 컴퓨터 판독가능 매체.
  28. 청구항 28은(는) 설정등록료 납부시 포기되었습니다.
    하나 이상의 가상 머신에 대해 연속 월드 스위치 보안을 적용하도록 구성된 하이퍼바이저를 구현하는 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 판독가능 매체에 있어서,
    하이퍼바이저를 구현하는 명령어들로서,
    상기 하이퍼바이저는 서버에 포함된 하나 이상의 프로세서 코어에 의해 실행가능한 가상 머신들 사이에 콘텍스트 스위치들을 개시하도록 구성되고,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에 월드 스위치들을 개시하도록 구성되고,
    상기 하이퍼바이저는 태스크와 연관된 하이퍼바이저 월드 스위치 보안 설정을 구현하도록 구성되어,
    상기 하이퍼바이저 월드 스위치 보안 설정이 온 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 구성되고,
    상기 하이퍼바이저 월드 스위치 보안 설정이 오프 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에 월드 스위치들 및 콘텍스트 스위치들을 허용하도록 구성되는 것인, 상기 명령어들; 및
    프로세싱 시간, 프로세서 코어들, 및 메모리 리소스들 중 하나 이상을 포함하는 추가 프로세싱 리소스들을 상기 연속 월드 스위치 보안이 활성화되는 태스크들을 포함하는 가상 머신들에 할당하도록 구성된 로드 밸런스 매니저를 구현하는 명령어들을 포함하는, 컴퓨터 판독가능 매체.
  29. 청구항 29은(는) 설정등록료 납부시 포기되었습니다.
    하나 이상의 가상 머신에 대해 연속 월드 스위치 보안을 적용하도록 구성된 하이퍼바이저를 구현하는 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 판독가능 매체에 있어서,
    하이퍼바이저를 구현하는 명령어들로서,
    상기 하이퍼바이저는 서버에 포함된 하나 이상의 프로세서 코어에 의해 실행가능한 가상 머신들 사이에 콘텍스트 스위치들을 개시하도록 구성되고,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에 월드 스위치들을 개시하도록 구성되고,
    상기 하이퍼바이저는 태스크와 연관된 하이퍼바이저 월드 스위치 보안 설정을 구현하도록 구성되어,
    상기 하이퍼바이저 월드 스위치 보안 설정이 온 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 구성되고,
    상기 하이퍼바이저 월드 스위치 보안 설정이 오프 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에 월드 스위치들 및 콘텍스트 스위치들을 허용하도록 구성되는 것인, 상기 명령어들; 및
    연속 월드 스위치 보안이 활성화되는 태스크들을 그룹화하도록 구성된 로드 밸런스 매니저를 구현하는 명령어들을 포함하는, 컴퓨터 판독가능 매체.
  30. 청구항 30은(는) 설정등록료 납부시 포기되었습니다.
    하나 이상의 가상 머신에 대해 연속 월드 스위치 보안을 적용하도록 구성된 하이퍼바이저를 구현하는 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 판독가능 매체에 있어서,
    하이퍼바이저를 구현하는 명령어들을 포함하고,
    상기 하이퍼바이저는 서버에 포함된 하나 이상의 프로세서 코어에 의해 실행가능한 가상 머신들 사이에 콘텍스트 스위치들을 개시하도록 구성되고,
    상기 하이퍼바이저는 상기 서버에 의해 실행가능한 가상 머신들 사이에 월드 스위치들을 개시하도록 구성되고,
    상기 하이퍼바이저는 태스크와 연관된 하이퍼바이저 월드 스위치 보안 설정을 구현하도록 구성되어,
    상기 하이퍼바이저 월드 스위치 보안 설정이 온 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 구성되고,
    상기 하이퍼바이저 월드 스위치 보안 설정이 오프 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에 월드 스위치들 및 콘텍스트 스위치들을 허용하도록 구성되며,
    상기 하이퍼바이저는 상기 프로세서 코어들 중 하나 이상에 의해 제공되는 하드웨어 가상화 보조 도구를 사용하여 가상 머신들 사이에 월드 스위치들을 개시하도록 구성되는, 컴퓨터 판독가능 매체.
  31. 클라우드 커스터머에 클라우드 서비스들을 제공하도록 구성된 전자상거래(electronic commerce) 서버를 이용하여 수행되는 방법에 있어서,
    상기 전자상거래 서버에 의하여 연속 월드 스위치 보안 제어를 포함하는 클라우드 커스터머 사용자 인터페이스(UI, user interface)를 제공하는 것 ― 상기 연속 월드 스위치 보안 제어는 상기 클라우드 서비스들을 제공하도록 구성된 하나 이상의 클라우드 서버에 의해 수행될 하나 이상의 태스크와 연관된 연속 월드 스위치 보안 활성화 커맨드를 수신하도록 구성됨 ― ; 및
    상기 전자상거래에 의하여 상기 UI에서 상기 연속 월드 스위치 보안 제어를 통해 연속 월드 스위치 보안 활성화 커맨드를 수신하는 것에 응답하여, 상기 하나 이상의 태스크를 실행하는 가상 머신과 상기 하나 이상의 클라우드 서버들에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 상기 클라우드 서버들 중 하나 이상을 구성하는 것
    을 포함하는, 방법.
  32. 청구항 32은(는) 설정등록료 납부시 포기되었습니다.
    제31항에 있어서,
    상기 연속 월드 스위치 보안 활성화 커맨드는 상기 클라우드 커스터머를 대신하여 상기 하나 이상의 클라우드 서버에 의해 수행될 모든 태스크에 적용되는 것인, 방법.
  33. 청구항 33은(는) 설정등록료 납부시 포기되었습니다.
    제31항에 있어서,
    상기 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 상기 하나 이상의 클라우드 서버를 구성하는 것은 클라우드 커스터머와 연관된 관리 기록(administrative record)을 생성하는 것을 포함하고, 상기 관리 기록은 월드 스위치 인디케이터를 포함하는 것인, 방법.
  34. 청구항 34은(는) 설정등록료 납부시 포기되었습니다.
    제33항에 있어서,
    상기 월드 스위치들을 허용하도록 상기 하나 이상의 클라우드 서버를 구성하는 것은 상기 하나 이상의 클라우드 서버에 의해 실행되는 태스크 런처에 의하여, 상기 하나 이상의 클라우드 서버에 의한 가상 머신들의 실행을 관리하도록 구성된 하이퍼바이저에서 하이퍼바이저 월드 스위치 보안 설정을 활성화하는 것을 더 포함하는 것인, 방법.
  35. 청구항 35은(는) 설정등록료 납부시 포기되었습니다.
    제31항에 있어서,
    상기 월드 스위치들을 허용하도록 상기 하나 이상의 클라우드 서버를 구성하는 것은 클라우드 커스터머와 연관된 디지털 인증서(digital certificate)를 포함한 관리 기록을 생성하는 것을 포함하고, 상기 디지털 인증서는 월드 스위치 인디케이터를 포함하는 것인, 방법.
  36. 청구항 36은(는) 설정등록료 납부시 포기되었습니다.
    제31항에 있어서,
    상기 클라우드 커스터머 UI에서 연속 월드 스위치 보안을 활성화하기 위한 가격 정보를 제공하는 것을 더 포함하는, 방법.
  37. 청구항 37은(는) 설정등록료 납부시 포기되었습니다.
    제31항에 있어서,
    상기 하나 이상의 태스크를 실행하는 가상 머신과 상기 하나 이상의 클라우드 서버에 의해 실행가능한 다른 가상 머신들 사이에 상기 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 상기 하나 이상의 클라우드 서버를 구성하는 것은, 복수의 클라우드 커스터머들과 연관된 가상 머신들이 개별 클라우드 서버에 의해 실행되는 경우, 상기 개별 클라우드 서버에 의해 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 상기 하나 이상의 클라우드 서버를 구성하는 것, 및 단 하나의 클라우드 커스터머와 연관된 가상 머신들이 상기 개별 클라우드 서버에 의해 실행되는 경우, 상기 개별 클라우드 서버에 의해 월드 스위치들과 콘텍스트 스위치들을 허용하도록 상기 하나 이상의 클라우드 서버를 구성하는 것을 포함하는 것인, 방법.
  38. 청구항 38은(는) 설정등록료 납부시 포기되었습니다.
    제31항에 있어서,
    서버들, 프로세싱 시간, 프로세서 코어들, 및 메모리 리소스들 중 하나 이상을 포함하는 추가 프로세싱 리소스들을 연속 월드 스위치 보안이 활성화되는 태스크들을 포함하는 가상 머신들에 할당하기 위하여 상기 하나 이상의 클라우드 서버들에 의하여 로드 밸런싱하는 것을 더 포함하는, 방법.
  39. 청구항 39은(는) 설정등록료 납부시 포기되었습니다.
    제31항에 있어서,
    연속 월드 스위치 보안이 온 상태인 태스크들을 하나 이상의 프로세서 코어들에 의해 제공되는 하드웨어 가상화 보조 도구를 포함한 서버들에 할당하기 위하여 상기 하나 이상의 클라우드 서버에 의하여 로드 밸런싱하는 것을 더 포함하는, 방법.
  40. 청구항 40은(는) 설정등록료 납부시 포기되었습니다.
    제31항에 있어서,
    활성화된 연속 월드 스위치 보안과 연관된 하나 이상의 클라우드 커스터머와 연관된 태스크들을 동일한 클라우드 서버들에 할당하기 위해 상기 하나 이상의 클라우드 서버에 의하여 로드 밸런싱하는 것을 더 포함하는, 방법.
  41. 청구항 41은(는) 설정등록료 납부시 포기되었습니다.
    제31항에 있어서,
    활성화된 연속 월드 스위치 보안을 갖는 태스크들을 또한 실행하는 클라우드 서버 상에서 클라우드 커스터머와 연관된 태스크들이 실행되게 하도록 구성된 클라우드 커스터머 제어를 상기 클라우드 커스터머 UI에서 제공하는 것을 더 포함하는, 방법.
  42. 청구항 42은(는) 설정등록료 납부시 포기되었습니다.
    제31항에 있어서,
    연속 월드 스위치 보안을 활성화하는 클라우드 커스터머에게 보안 인증(security certification)을 제공하는 것을 더 포함하는, 방법.
  43. 클라우드 커스터머와 상호 작용하도록 구성된 전자상거래 서버에 있어서,
    프로세서;
    메모리;
    통신 디바이스; 및
    상기 메모리에서 로드가능하고, 상기 프로세서에 의해 실행가능한 클라우드 관리 인터페이스
    를 포함하고,
    상기 클라우드 관리 인터페이스는 상기 통신 디바이스를 통해 클라우드 커스터머 사용자 인터페이스(UI)를 제공하도록 구성되고, 상기 클라우드 커스터머 UI는 연속 월드 스위치 보안 제어를 포함하고, 상기 연속 월드 스위치 보안 제어는 하나 이상의 클라우드 서버에 의해 수행될 하나 이상의 태스크와 연관된 연속 월드 스위치 보안을 활성화하기 위한 활성화 커맨드를 수신하도록 구성되고,
    상기 UI에서 상기 연속 월드 스위치 보안 제어를 통해 상기 활성화 커맨드를 수신하는 것에 응답하여, 상기 클라우드 관리 인터페이스는 상기 하나 이상의 태스크를 실행하는 가상 머신과 상기 하나 이상의 클라우드 서버에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하게끔 상기 하나 이상의 클라우드 서버를 배열하도록 구성되는 것인, 전자상거래 서버.
  44. 청구항 44은(는) 설정등록료 납부시 포기되었습니다.
    제43항에 있어서,
    상기 활성화 커맨드는 클라우드 커스터머, 및 상기 클라우드 커스터머를 대신하여 상기 하나 이상의 클라우드 서버에 의해 수행될 모든 태스크들과 연관된 것인, 전자상거래 서버.
  45. 청구항 45은(는) 설정등록료 납부시 포기되었습니다.
    제43항에 있어서,
    상기 월드 스위치들을 허용하도록 상기 하나 이상의 클라우드 서버를 배열하는 것은 클라우드 커스터머와 연관된 관리 기록을 생성하는 것을 포함하고, 상기 관리 기록은 월드 스위치 인디케이터를 포함하는 것인, 전자상거래 서버.
  46. 청구항 46은(는) 설정등록료 납부시 포기되었습니다.
    제45항에 있어서,
    상기 월드 스위치들을 허용하도록 상기 하나 이상의 클라우드 서버를 배열하는 것은, 상기 하나 이상의 클라우드 서버에 의해 실행되는 태스크 런처에 의하여 상기 하나 이상의 클라우드 서버에 의해 가상 머신들의 실행을 관리하도록 구성된 하이퍼바이저에서 하이퍼바이저 월드 스위치 보안 설정을 활성화하는 것을 더 포함하는 것인, 전자상거래 서버.
  47. 청구항 47은(는) 설정등록료 납부시 포기되었습니다.
    제43항에 있어서,
    상기 월드 스위치들을 허용하도록 상기 하나 이상의 클라우드 서버를 배열하는 것은 클라우드 커스터머와 연관된 디지털 인증서를 포함하는 관리 기록을 생성하는 것을 포함하고, 상기 디지털 인증서는 월드 스위치 인디케이터를 포함하는 것인, 전자상거래 서버.
  48. 청구항 48은(는) 설정등록료 납부시 포기되었습니다.
    제43항에 있어서,
    상기 전자상거래 서버는 상기 클라우드 커스터머 UI에서 연속 월드 스위치 보안을 활성화하기 위한 가격 정보를 제공하도록 구성되는 것인, 전자상거래 서버.
  49. 청구항 49은(는) 설정등록료 납부시 포기되었습니다.
    제43항에 있어서,
    상기 하나 이상의 태스크를 실행하는 가상 머신과 상기 하나 이상의 프로세서 코어에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 상기 하나 이상의 클라우드 서버를 배열하는 것은, 복수의 클라우드 커스터머와 연관된 가상 머신들이 개별 클라우드 서버에 의해 실행되는 경우, 상기 개별 클라우드 서버에 의해 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 상기 하나 이상의 클라우드 서버를 구성하는 것, 및 단 하나의 클라우드 커스터머와 연관된 가상 머신들이 상기 개별 클라우드 서버에 의해 실행되는 경우, 상기 개별 클라우드 서버에 의해 상기 월드 스위치들 및 상기 콘텍스트 스위치들을 허용하도록 상기 하나 이상의 클라우드 서버를 구성하는 것을 포함하는 것인, 전자상거래 서버.
  50. 청구항 50은(는) 설정등록료 납부시 포기되었습니다.
    제43항에 있어서,
    상기 하나 이상의 클라우드 서버는 프로세싱 시간, 프로세서 코어들, 및 메모리 리소스들 중 하나 이상을 포함하는 추가 프로세싱 리소스들을 연속 월드 스위치 보안이 온 상태인 태스크들을 포함하는 가상 머신들에 할당함으로써 로드 밸런싱하도록 구성되는 것인, 전자상거래 서버.
  51. 청구항 51은(는) 설정등록료 납부시 포기되었습니다.
    제43항에 있어서,
    상기 하나 이상의 클라우드 서버는 하나 이상의 프로세서 코어에 의해 제공되는 하드웨어 가상화 보조 도구를 포함하는 서버들에게 연속 월드 스위치 보안이 온 상태인 태스크들을 할당함으로써 로드 밸런싱하도록 구성되는 것인, 전자상거래 서버.
  52. 청구항 52은(는) 설정등록료 납부시 포기되었습니다.
    제43항에 있어서,
    상기 하나 이상의 클라우드 서버는 활성화된 연속 월드 스위치 보안과 연관된 하나 이상의 클라우드 커스터머와 연관된 태스크들을 동일한 클라우드 서버들에 할당함으로써 로드 밸런싱하도록 구성되는 것인, 전자상거래 서버.
  53. 청구항 53은(는) 설정등록료 납부시 포기되었습니다.
    제43항에 있어서,
    상기 전자상거래 서버는 클라우드 커스터머 UI에서, 활성화된 연속 월드 스위치 보안을 갖는 태스크들을 또한 실행하는 클라우드 서버 상에서 클라우드 커스터머와 연관된 태스크들이 실행되게 하도록 구성된 클라우드 커스터머 제어를 제공하도록 구성되는 것인, 전자상거래 서버.
  54. 청구항 54은(는) 설정등록료 납부시 포기되었습니다.
    제43항에 있어서,
    상기 전자상거래 서버는 연속 월드 스위치 보안을 활성화하는 클라우드 커스터머에 보안 인증을 제공하도록 구성되는 것인, 전자상거래 서버.
  55. 클라우드 서비스들을 제공하도록 구성된 하나 이상의 상호 연결된 서버들을 포함하는 데이터 센터에 있어서,
    하나 이상의 클라우드 커스터머와 연관된 월드 스위치 인디케이터를 포함하는 디지털 관리 기록들;
    클라우드 커스터머를 대신하여 태스크를 런칭하는 경우 상기 월드 스위치 인디케이터를 체크하고, 연속 월드 스위치 보안이 온 상태라는 지시에 응답하여, 상기 서버들 중 하나 이상의 하이퍼바이저에 의해 관리되는 가상 머신에 대해 하이퍼바이저 월드 스위치 보안 설정을 활성화하도록 구성된 태스크 런처; 및
    하나 이상의 하이퍼바이저
    를 포함하고, 상기 하나 이상의 하이퍼바이저는
    상기 서버들 중 하나 이상에 의해 실행가능한 가상 머신들 사이에 콘텍스트 스위치들을 개시하고,
    상기 서버들 중 하나 이상에 의해 실행가능한 가상 머신들 사이에 월드 스위치들을 개시하고,
    상기 하이퍼바이저 월드 스위치 보안 설정을 구현하도록 구성되어,
    상기 하이퍼바이저 월드 스위치 보안 설정이 온 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 하나 이상의 프로세서 코어에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하도록 구성되고,
    상기 하이퍼바이저 월드 스위치 보안 설정이 오프 상태인 경우, 상기 하이퍼바이저는 상기 태스크를 포함하는 가상 머신과 상기 하나 이상의 프로세서 코어에 의해 실행가능한 다른 가상 머신들 사이에 상기 콘텍스트 스위치들과 상기 월드 스위치들을 허용하도록 구성되는 것인, 데이터 센터.
  56. 청구항 56은(는) 설정등록료 납부시 포기되었습니다.
    제55항에 있어서,
    상기 데이터 센터는 연속 월드 스위치 보안 정보를 과금 서브시스템에 전달하도록 구성되는 것인, 데이터 센터.
  57. 청구항 57은(는) 설정등록료 납부시 포기되었습니다.
    제55항에 있어서,
    상기 태스크 런처는 상기 하이퍼바이저에서 상기 하이퍼바이저 월드 스위치 보안 설정을 활성화하기 전에 상기 월드 스위치 인디케이터뿐 아니라 적어도 하나의 조건을 체크하고, 상기 조건이 충족되는 경우 상기 하이퍼바이저에서 상기 하이퍼바이저 월드 스위치 보안 설정을 활성화하도록 구성되는 것인, 데이터 센터.
  58. 청구항 58은(는) 설정등록료 납부시 포기되었습니다.
    제57항에 있어서,
    상기 조건은 다중 클라우드 커스터머 조건을 포함하고, 서버에 의해 현재 실행가능한 상기 가상 머신들은 하나를 초과하는 클라우드 커스터머와 연관된 것인, 데이터 센터.
  59. 청구항 59은(는) 설정등록료 납부시 포기되었습니다.
    제57항에 있어서,
    서버들, 프로세싱 시간, 프로세서 코어들, 및 메모리 리소스들 중 하나 이상을 포함하는 추가 프로세싱 리소스들을 연속 월드 스위치 보안이 온 상태인 태스크들을 포함하는 가상 머신들에 할당하도록 구성된 로드 밸런스 매니저를 더 포함하는, 데이터 센터.
  60. 청구항 60은(는) 설정등록료 납부시 포기되었습니다.
    제57항에 있어서,
    동일한 서버들 내에서 연속 월드 스위치 보안이 온 상태인 태스크들을 그룹화하도록 구성된 로드 밸런스 매니저를 더 포함하는, 데이터 센터.
  61. 청구항 61은(는) 설정등록료 납부시 포기되었습니다.
    제57항에 있어서,
    하나 이상의 프로세서 코어들에 하드웨어 가상화 보조 도구를 포함하는 서버들에서 연속 월드 스위치 보안이 온 상태인 태스크들을 할당하도록 구성된 로드 밸런스 매니저를 더 포함하는, 데이터 센터.
  62. 클라우드 서비스들을 제공하도록 구성된 하나 이상의 상호 연결된 서버들을 포함하는 데이터 센터에 의해 수행되는 방법에 있어서,
    하나 이상의 클라우드 커스터머와 연관된 월드 스위치 인디케이터를 포함하는 디지털 관리 기록들을 유지하는 것;
    클라우드 커스터머를 대신하여 태스크를 런칭하는 경우 상기 월드 스위치 인디케이터를 체크하고, 연속 월드 스위치 보안이 온 상태라는 지시에 응답하여, 상기 태스크를 포함하는 가상 머신에 대해 하이퍼바이저 월드 스위치 보안 설정을 활성화하는 것; 및
    연속 월드 스위치 보안이 온 상태인 경우, 상기 태스크를 포함하는 가상 머신과 상기 태스크를 포함하는 가상 머신을 실행하는 상기 서버에 의해 실행가능한 다른 가상 머신들 사이에 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하는 것
    을 포함하는, 방법.
  63. 청구항 63은(는) 설정등록료 납부시 포기되었습니다.
    제62항에 있어서,
    연속 월드 스위치 보안 정보를 과금 서브시스템에 전달하는 것을 더 포함하는, 방법.
  64. 청구항 64은(는) 설정등록료 납부시 포기되었습니다.
    제62항에 있어서,
    상기 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하기 전에 상기 월드 스위치 인디케이터뿐 아니라 적어도 하나의 조건을 체크하고, 상기 조건이 충족되는 경우 콘텍스트 스위치들을 허용하지 않고 월드 스위치들을 허용하는 것을 더 포함하는, 방법.
  65. 청구항 65은(는) 설정등록료 납부시 포기되었습니다.
    제64항에 있어서,
    상기 조건은 다중 클라우드 커스터머 조건을 포함하고, 서버에 의해 현재 실행가능한 상기 가상 머신들은 하나를 초과하는 클라우드 커스터머와 연관된 것인, 방법.
  66. 청구항 66은(는) 설정등록료 납부시 포기되었습니다.
    제62항에 있어서,
    서버들, 프로세싱 시간, 프로세서 코어들, 및 메모리 리소스들 중 하나 이상을 포함하는 추가 프로세싱 리소스들을 연속 월드 스위치 보안이 온 상태인 태스크들을 포함하는 가상 머신들에 할당하기 위하여 로드 밸런싱하는 것을 더 포함하는, 방법.
  67. 청구항 67은(는) 설정등록료 납부시 포기되었습니다.
    제62항에 있어서,
    동일한 서버들 내에서 연속 월드 스위치 보안이 온 상태인 태스크들을 그룹화하기 위해 로드 밸런싱하는 것을 더 포함하는, 방법.
  68. 청구항 68은(는) 설정등록료 납부시 포기되었습니다.
    제62항에 있어서,
    하나 이상의 프로세서 코어들에 하드웨어 가상화 보조 도구를 포함하는 서버들에서 연속 월드 스위치 보안이 온 상태인 태스크들을 할당하기 위해 로드 밸런싱하는 것을 더 포함하는, 방법.
KR1020147012271A 2012-01-26 2012-01-26 연속 월드 스위치 보안을 갖는 데이터 센터 KR101658070B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/022636 WO2013112151A1 (en) 2012-01-26 2012-01-26 Data center with continuous world switch security

Publications (2)

Publication Number Publication Date
KR20140075781A KR20140075781A (ko) 2014-06-19
KR101658070B1 true KR101658070B1 (ko) 2016-09-22

Family

ID=48871501

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147012271A KR101658070B1 (ko) 2012-01-26 2012-01-26 연속 월드 스위치 보안을 갖는 데이터 센터

Country Status (3)

Country Link
US (2) US8789047B2 (ko)
KR (1) KR101658070B1 (ko)
WO (1) WO2013112151A1 (ko)

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2581831A1 (en) * 2011-10-14 2013-04-17 Alcatel Lucent Method and apparatus for dynamically assigning resources of a distributed server infrastructure
US8789047B2 (en) 2012-01-26 2014-07-22 Empire Technology Development Llc Allowing world switches between virtual machines via hypervisor world switch security setting
US9098378B2 (en) * 2012-01-31 2015-08-04 International Business Machines Corporation Computing reusable image components to minimize network bandwidth usage
US8914498B2 (en) * 2012-02-09 2014-12-16 International Business Machines Corporation Calculating a checksum with inactive networking components in a computing system
US8880638B2 (en) 2012-06-18 2014-11-04 International Business Machines Corporation Distributed image cache for servicing virtual resource requests in the cloud
GB2506195A (en) 2012-09-25 2014-03-26 Ibm Managing a virtual computer resource
US9307059B2 (en) * 2012-11-09 2016-04-05 Sap Se Retry mechanism for data loading from on-premise datasource to cloud
US9912521B2 (en) * 2013-03-13 2018-03-06 Dell Products L.P. Systems and methods for managing connections in an orchestrated network
US9329881B2 (en) * 2013-04-23 2016-05-03 Sap Se Optimized deployment of data services on the cloud
US9201682B2 (en) * 2013-06-21 2015-12-01 Ati Technologies Ulc Virtualized device reset
US9348634B2 (en) 2013-08-12 2016-05-24 Amazon Technologies, Inc. Fast-booting application image using variation points in application source code
US9280372B2 (en) 2013-08-12 2016-03-08 Amazon Technologies, Inc. Request processing techniques
US10346148B2 (en) 2013-08-12 2019-07-09 Amazon Technologies, Inc. Per request computer system instances
US9705755B1 (en) 2013-08-14 2017-07-11 Amazon Technologies, Inc. Application definition deployment with request filters employing base groups
CN105765534B (zh) * 2013-09-23 2020-10-09 Gopc有限公司 虚拟计算系统和方法
US9158909B2 (en) 2014-03-04 2015-10-13 Amazon Technologies, Inc. Authentication of virtual machine images using digital certificates
US9405581B2 (en) * 2014-09-08 2016-08-02 International Business Machines Corporation Resource allocation/de-allocation and activation/deactivation
US9680920B2 (en) 2014-09-08 2017-06-13 International Business Machines Corporation Anticipatory resource allocation/activation and lazy de-allocation/deactivation
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9928108B1 (en) * 2015-09-29 2018-03-27 Amazon Technologies, Inc. Metaevent handling for on-demand code execution environments
US10042660B2 (en) 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
US10025947B1 (en) * 2015-11-30 2018-07-17 Ims Health Incorporated System and method to produce a virtually trusted database record
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
US10630682B1 (en) 2016-11-23 2020-04-21 Amazon Technologies, Inc. Lightweight authentication protocol using device tokens
US10129223B1 (en) * 2016-11-23 2018-11-13 Amazon Technologies, Inc. Lightweight encrypted communication protocol
US10805242B2 (en) * 2016-12-23 2020-10-13 Intel Corporation Techniques for a configuration mechanism of a virtual switch
US10904323B2 (en) * 2017-06-08 2021-01-26 F5 Networks, Inc. Methods for server load balancing in a cloud environment using dynamic cloud pricing and devices thereof
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
JP2019117571A (ja) * 2017-12-27 2019-07-18 シャープ株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
CN108665157B (zh) * 2018-05-02 2021-08-20 中山大学 一种实现云工作流系统流程实例均衡调度的方法
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10868950B2 (en) * 2018-12-12 2020-12-15 Karl Storz Imaging, Inc. Systems and methods for operating video medical scopes using a virtual camera control unit
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
RU2710860C1 (ru) * 2019-02-07 2020-01-14 Акционерное общество "Лаборатория Касперского" Способ ограничения области автоматического выбора виртуальной машины защиты
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
WO2021014419A1 (en) * 2019-07-25 2021-01-28 Snapt, Inc Controlling a destination of network traffic
US11243799B2 (en) * 2019-08-30 2022-02-08 Advanced Micro Devices, Inc. Adaptive world switching
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US20230033583A1 (en) * 2021-07-30 2023-02-02 Advanced Micro Devices, Inc. Primary input-output queue serving host and guest operating systems concurrently
CN114327767B (zh) * 2021-12-28 2022-08-05 元心信息科技集团有限公司 任务处理的方法、装置、电子设备及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110107426A1 (en) 2009-11-03 2011-05-05 Mediatek Inc. Computing system using single operating system to provide normal security services and high security services, and methods thereof
US20110173363A1 (en) 2007-05-10 2011-07-14 Texas Instruments Incoporated Processor system with an application and a maintenance function

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020161961A1 (en) * 2001-01-17 2002-10-31 Ajile Systems, Inc. Multiple virtual machine environment management system
GB0226874D0 (en) * 2002-11-18 2002-12-24 Advanced Risc Mach Ltd Switching between secure and non-secure processing modes
US7415708B2 (en) * 2003-06-26 2008-08-19 Intel Corporation Virtual machine management using processor state information
US7370324B2 (en) * 2003-09-30 2008-05-06 Intel Corporation Switching between a service virtual machine and a guest virtual machine in a virtual machine monitor environment
US20050132364A1 (en) * 2003-12-16 2005-06-16 Vijay Tewari Method, apparatus and system for optimizing context switching between virtual machines
US20050132363A1 (en) * 2003-12-16 2005-06-16 Vijay Tewari Method, apparatus and system for optimizing context switching between virtual machines
US7529897B1 (en) 2003-12-31 2009-05-05 Vmware, Inc. Generating and using checkpoints in a virtual computer system
US7401230B2 (en) * 2004-03-31 2008-07-15 Intel Corporation Secure virtual machine monitor to tear down a secure execution environment
US7418584B1 (en) * 2004-05-11 2008-08-26 Advanced Micro Devices, Inc. Executing system management mode code as virtual machine guest
US8499300B2 (en) * 2004-12-20 2013-07-30 Bank Of America Corporation System and method for task management of rule based tasks
JP2007004661A (ja) * 2005-06-27 2007-01-11 Hitachi Ltd 仮想計算機の制御方法及びプログラム
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
EP2013809B1 (en) * 2006-05-01 2018-11-21 MediaTek Inc. Method and apparatus for secure context switching in a system including a processor and cached virtual memory
US8307360B2 (en) 2008-01-22 2012-11-06 Advanced Micro Devices, Inc. Caching binary translations for virtual machine guest
US20090222880A1 (en) * 2008-03-03 2009-09-03 Tresys Technology, Llc Configurable access control security for virtualization
US8312468B2 (en) * 2009-06-09 2012-11-13 Open Kernel Labs Methods and apparatus for fast context switching in a virtualized system
US8612975B2 (en) 2009-07-07 2013-12-17 Advanced Micro Devices, Inc. World switch between virtual machines with selective storage of state information
KR101620058B1 (ko) * 2009-11-23 2016-05-24 삼성전자주식회사 가상 머신 간 화면 전환 장치 및 방법
US8327358B2 (en) 2009-12-10 2012-12-04 Empire Technology Development Llc Hypervisor driver management in virtual machine environments
US9058183B2 (en) 2009-12-29 2015-06-16 Advanced Micro Devices, Inc. Hypervisor isolation of processor cores to enable computing accelerator cores
AU2011261831B2 (en) * 2010-06-02 2014-03-20 VMware LLC Securing customer virtual machines in a multi-tenant cloud
KR101208776B1 (ko) * 2010-06-28 2012-12-05 삼성에스디에스 주식회사 특정 위치에 지정된 가상 머신을 로딩하는 시스템 및 이에 사용되는 서버 및 그 방법
US8676710B2 (en) * 2010-11-22 2014-03-18 Netapp, Inc. Providing security in a cloud storage environment
US8375221B1 (en) * 2011-07-29 2013-02-12 Microsoft Corporation Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
US8862767B2 (en) * 2011-09-02 2014-10-14 Ebay Inc. Secure elements broker (SEB) for application communication channel selector optimization
CN103092683B (zh) * 2011-11-07 2017-12-26 Sap欧洲公司 用于数据分析的基于启发式的调度
US20130174144A1 (en) * 2011-12-28 2013-07-04 Ati Technologies Ulc Hardware based virtualization system
US8789047B2 (en) 2012-01-26 2014-07-22 Empire Technology Development Llc Allowing world switches between virtual machines via hypervisor world switch security setting

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110173363A1 (en) 2007-05-10 2011-07-14 Texas Instruments Incoporated Processor system with an application and a maintenance function
US20110107426A1 (en) 2009-11-03 2011-05-05 Mediatek Inc. Computing system using single operating system to provide normal security services and high security services, and methods thereof

Also Published As

Publication number Publication date
WO2013112151A1 (en) 2013-08-01
US9652272B2 (en) 2017-05-16
US20140304704A1 (en) 2014-10-09
KR20140075781A (ko) 2014-06-19
US20130198743A1 (en) 2013-08-01
US8789047B2 (en) 2014-07-22

Similar Documents

Publication Publication Date Title
KR101658070B1 (ko) 연속 월드 스위치 보안을 갖는 데이터 센터
US10228984B2 (en) Management of virtual machine migration in an operating environment
US10877677B2 (en) Storage tiering based on virtual machine operations and virtual volume type
US10831889B2 (en) Secure memory implementation for secure execution of virtual machines
US9111109B2 (en) Using different secure erase algorithms to erase chunks from a file associated with different security levels
US20170300428A1 (en) Methods and systems for selective encryption and secured extent quota management for storage servers in cloud computing
US20050125537A1 (en) Method, apparatus and system for resource sharing in grid computing networks
WO2014105019A1 (en) Virtual machine monitor (vmm) extension for time shared accelerator management and side-channel vulnerability prevention
US20190042115A1 (en) Securing exclusive access to a copy of a metadata track via a process while the metadata track is held in a shared mode by another process
US20220222357A1 (en) Secure execution guest owner controls for secure interface control
US11048445B2 (en) Rebalancing of the first extents of logical volumes among a plurality of ranks
US10241838B2 (en) Domain based resource isolation in multi-core systems
US9727374B2 (en) Temporary virtual machine migration for improved software application warmup
US11755374B2 (en) Cloud resource audit system
US10146707B2 (en) Hardware-based memory protection
US10613986B2 (en) Adjustment of the number of tasks for a cache storage scan and destage application based on the type of elements to be destaged from the cache storage
CN115917538A (zh) 针对云计算的分布式应用执行
US9798864B2 (en) Embedded integrated component governance policy
US20210209028A1 (en) Controlling processor instruction execution

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right