KR20060108719A - 네트워크 기반 관리를 위한 가상 머신 정보의 프럭싱, 수집및 최적화를 위한 방법, 장치 및 시스템 - Google Patents

네트워크 기반 관리를 위한 가상 머신 정보의 프럭싱, 수집및 최적화를 위한 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR20060108719A
KR20060108719A KR1020067012028A KR20067012028A KR20060108719A KR 20060108719 A KR20060108719 A KR 20060108719A KR 1020067012028 A KR1020067012028 A KR 1020067012028A KR 20067012028 A KR20067012028 A KR 20067012028A KR 20060108719 A KR20060108719 A KR 20060108719A
Authority
KR
South Korea
Prior art keywords
virtual machine
information
network
virtual
machine
Prior art date
Application number
KR1020067012028A
Other languages
English (en)
Other versions
KR100928603B1 (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 KR20060108719A publication Critical patent/KR20060108719A/ko
Application granted granted Critical
Publication of KR100928603B1 publication Critical patent/KR100928603B1/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/45566Nested virtual machines
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

관리 가상 머신이 가상 머신 호스트 상의 다른 가상 머신들의 프록시처럼 작용할 수 있게 하는 방법, 장치 및 시스템이 제공된다. 일 실시예에서, 관리 가상 머신은 호스트 상의 각 가상 머신에 속하는 네트워크 관리 정보의 데이터베이스를 유지할 수 있다. 호스트 상의 강화된 가상 머신 관리자는 호스트 상의 가상 머신들에게로 향해진 관리 메시지들을 관리 가상 머신이 트랩(trap)하는 것을 가능하게 하는 인터페이스를 관리 가상 머신에 제공할 수 있다. 관리 가상 머신은 데이터베이스의 정보에 기초하여 메시지들에 응답하거나 및/또는 필수 정보를 얻기 위해 가상 머신들에 질의들을 발행할 수 있다. 일 실시예에서, 관리 가상 머신은 네트워크 관리 메시지에 응답하기 전에 다양한 가상 머신들로부터 정보를 수집할 수 있다.
가상 머신 호스트, 관리 가상 머신, 가상 머신 관리자, 정보 수집, 네트워크 관리 정보

Description

네트워크 기반 관리를 위한 가상 머신 정보의 프럭싱, 수집 및 최적화를 위한 방법, 장치 및 시스템{METHOD, APPARATUS AND SYSTEM FOR PROXYING, AGGREGATING AND OPTIMIZING VIRTUAL MACHINE INFORMATION FOR NETWORK-BASED MANAGEMENT}
본 발명은 네트워크 기반 자원 관리 분야에 관련되고, 더 상세하게는 네트워크 기반 관리를 위한 가상 머신 정보의 프럭싱(proxying), 수집 및 최적화를 위한 방법, 장치 및 시스템에 관련된다.
회사들이 성장하고 기술이 진보됨에 따라, 회사 네트워크들을 관리하는 작업은 더 어려워지고 있다. 더 상세하게는, 네트워크 아키텍처(network architecture) 및 진화와 같은, 네트워크 및 시스템 관리와 자원 관리의 다양한 양상들이 더 복잡해져 왔다. 결국, 관리 복잡성 및 비용, 전력 소비 및 일반 네트워크 유지를 감소시키기 위해 서버들을 통합하는 경향이 현저하게 존재한다.
본 발명은 유사한 참조 번호들이 유사한 요소들을 나타내는 첨부 도면에서 한정이 아닌 예로서 예시된다.
도 1은 전형적인 가상 머신 호스트의 일례를 예시한다.
도 2는 가상 머신 호스트들을 포함하는 네트워크 상의 전형적인 네트워크 기반 원격 관리 콘솔을 예시한다.
도 3은 본 발명의 실시예의 개요를 예시한다.
도 4는 본 발명의 실시예를 예시하는 흐름도이다.
본 발명의 실시예들은 네트워크 기반 관리용 가상 머신 자원 정보를 프럭싱, 수집 및 최적화하기 위한 방법, 장치 및 시스템을 제공한다. 본원에서 사용되는 "네트워크 기반 관리(network-based management)"라는 용어는, 다양한 유형의 네트워크 자원(즉, 셀룰러 폰들, 핸드헬드들, PDA들(personal data assistants), 랩톱 컴퓨터들, 데스크톱 컴퓨터들, 워크스테이션들, 서버들, 메인프레임들 등 및 이러한 디바이스들 상에서 작동하는 소프트웨어(예를 들면, 운영 체제들 및 어플리케이션들)와 같은, 네트워크에 접속된 자원들뿐 아니라, 네트워크를 구성하는 라우터와 같은 자원들)의 관리를 포함할 것이다. 게다가, 본 발명의 "일 실시예" 또는 "실시예"에 대한 명세서에서의 언급은 실시예와 관련되어 설명된 특별한 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 그리하여, 본 명세서 전체에 걸쳐 다양한 곳에서 나타나는 "일 실시예에서", "일 실시예에 따르면" 또는 그와 유사한 표현들은, 반드시 모두 동일한 실시예일 필요는 없다.
가상화 기술(Virtualization technology)로 인해 회사들은 단일 호스트 상에 안전하고 분리된 파티션(partition)들을 제공함으로써 서버들을 통합할 수 있다. 도 1은 전형적인 가상 머신 호스트 디바이스("디바이스(100)")의 예를 예시한다. 예시된 바와 같이, 가상 머신 모니터("VMM(150)")는 전형적으로 디바이스 상에서 작동하고 디바이스 플랫폼의 추상화(abstraction)(들)("가상 머신들"이라고도 함)을 다른 소프트웨어에 제공한다. VMM(150)이 '하이퍼바이저(hypervisor)'로 불릴 수도 있다는 것은 본 기술분야의 당업자들에게 공지되어 있다. 단지 두 개의 가상 머신 파티션들이 예시되었음에도 불구하고("VM(105)" 및 "VM(110)", 이하 함께 "가상 머신들"로 불림), 이러한 가상 머신들은 단순히 예시적이고, 부가적인 가상 머신들이 호스트에 추가될 수 있다. VMM(150)은 소프트웨어, 하드웨어, 펌웨어 및/또는 그들의 임의의 조합에서 구현될 수 있다(예를 들면, 운영 체제에 의해 호스팅된 VMM).
VM(105) 및 VM(110)은 그들 자신의 "게스트 운영 체제들"(즉, VMM(150)에 의해 호스팅된 운영 체제들) 및 다른 소프트웨어("게스트 소프트웨어(125)" 및 "게스트 소프트웨어(130)"로서 개념적으로 예시된 게스트 운영 체제 및 다른 소프트웨어, 이하 함께 "게스트 소프트웨어(Guest Software)"로 불림)를 작동시키면서 각각 독립적인 플랫폼들로서 기능할 수 있다. 각 게스트 소프트웨어는 가상 머신 보다는 오히려 전용 컴퓨터 상에서 작동하는 것처럼 동작한다. 즉, 각 게스트 소프트웨어는 다양한 이벤트들을 제어하고 하드웨어 자원들에 대한 액세스를 갖도록 기대할 수 있다. 실상, VMM(150)은 이벤트들 및 하드웨어 자원들에 대한 최종 제어를 가지고 필요에 따라 게스트 소프트웨어에 자원들을 할당한다.
각 가상 머신은 가상 머신들의 "되부름(recursion)" 또는 다수의 레벨들을 포함할 수도 있다. 환언하면, 각 가상 머신은 스스로 "게스트 VMM"(즉, VMM(150)에 의해 호스팅된 VMM) 및 다른 소프트웨어를 작동시킬 수 있다. 그리하여, 예를 들면, VM(110)이 운영 체제를 호스팅하는 한편, VM(105)은 자신의 가상 머신들의 세트를 갖는 또 다른 VMM을 호스팅할 수 있다. 가상 머신들 및 VMM들의 다수의 되부름이 임의의 구성들에서 사용될 수 있다는 것은 본 기술분야의 당업자들에게 명백할 것이다.
다양한 유형의 네트워크 기반 관리 소프트웨어가 네트워크 자원들을 모니터링 및 관리하기 위해 현재 존재한다. 도 2는 네트워크 관리 메시지들을 생성할 수 있는 네트워크 기반 관리 콘솔("네트워크 관리 서버 콘솔(200)"), 호스트 데이터 프로세싱 디바이스("디바이스(100)") 및 디바이스(100)에 의해 호스팅되는 다수의 가상 머신들(예를 들면, VM(105) 및 VM(110))을 포함하는 전형적인 네트워크("네트워크(250)")를 예시한다. 디바이스(100)는 네트워크(250)를 경유하여 다수의 다른 물리적 호스트들("디바이스(205)", 디바이스(210)" 및 "디바이스(215)"로서 예시됨)에 접속될 수 있다. 현재 이용가능한 네트워크 기반 관리 소프트웨어는 네트워크 상의 각 가상 머신을 독립적인 실체로서(종종, 분리된 호스트로서) 취급한다. 그리하여, 네트워크 관리 서버 콘솔(200)에 대해, 만약 네트워크가 각각 N개의 가상 머신들을 작동시키는 M개의 호스트 디바이스들을 포함한다면, 콘솔은 그 네트워크를 M*N개의 분리된 실체들로 구성된 것처럼 인식할 것이다. M*N 개의 가상 실체들을 갖는 네트워크들을 관리하는 것은 지나치게 복잡하고 상당한 비효율성을 초래할 수 있다는 것은 본 기술분야의 당업자들에게 명백하다. 예를 들면, 다수의 네트워크 관리 메시지들이 단일 호스트 디바이스, 즉, 디바이스(100) 상에서 작동하는 각각의 가상 머신들에 대한 호스트 디바이스로/로부터 전송될 수 있다, 네트워크 관리 메시지들은 SNMP(Simple Network Management Protocol) 메시지들, WBEM(Web-Based Enterprise Management) 메시지들, IPMI(Intelligent Platform Management Interface) 메시지들, CIM(Common Information Model) 메시지들, 및 다른 배포된 관리 프로토콜 메시지들을 포함하나, 거기에 한정되지는 않는다.
몇몇 경우들에서, 네트워크 메시지들에 포함된 정보, 예를 들면 플랫폼 시스템 시간 또는 지리적 위치를 판정하는 것 또는 각 가상 머신에 얼마나 많은 메모리가 이용가능한지를 판정하는 것이 각 VM에 중복/공통일 수 있거나 및/또는 VMM에 알려질 수 있다. 다른 경우들에서, 네트워크 관리 메시지들이 겉으로는 무관하고 가상 머신 환경에서 이용가능하지 않지만, 네트워크 기반 관리 소프트웨어에 관련될 수 있다(예를 들면, 가상 머신들의 온도에 관한 질의). VMM이 플랫폼의 다양한 요소들을 가상화할 수 있거나 할 수 없기 때문에 가상 머신의 몇몇 정보는 신뢰할 수 없을 수 있다. 그리하여, 예를 들면, 만약 CPU의 온도에 대해 질의된다면 디바이스(100) 상의 각 가상 머신은 동일한 정보, 즉 디바이스(100)의 온도로 응답하거나, 또는 대안으로 그 정보가 가상 머신 환경에서 이용가능하지 않거나 무관하기 때문에 어떤 가상 머신도 응답하지 않을 수 있다. 예를 들면, 디바이스(100)는 보안상의 목적들을 위해 가상 머신들에게 온도 정보를 제공하지 않도록 구성되거나, 또는 대안으로 VMM이 에뮬레이트된(emulated) 디바이스들에 대한 정보를 가상 머신들에 제공할 수도 있다. 그러나 그의 네트워크 관리 기능들을 적절히 수행하기 위해서, 네트워크 기반 관리 소프트웨어는 네트워크의 상태에 대한 정확한 정보를 필요로 한다. 그리하여, 예를 들면, 만약 실제의 하드웨어 디바이스의 하드웨어 요소에 대한 리콜이 있었다면, 네트워크 기반 관리 소프트웨어는 하드웨어의 어떤 물리적 버전들이 네트워크 상에 존재하는지를 알 필요가 있다(즉, 소프트웨어 에뮬레이트된 버전들이 그러한 하드웨어 구성요소 오류에 영향받지 않을 수 있기 때문에 소프트웨어 에뮬레이트된 버전에 대한 정보뿐만이 아님 ). 역으로, 라이센싱된 소프트웨어 드라이버를 제공하기 위해 물리적 및 가상 디바이스들을 식별해야 할 필요가 있을 수 있다.
네트워크 관리 메시지가 전송된 때, 응답하기 위해, 각 가상 머신은 문맥 전환(context switched) 되어야 한다. 더 상세하게는, 디바이스(100)가 특정한 VM 상의 게스트 소프트웨어로 향해진 메시지를 수신할 때, 각각의 VM은 응답하기 위해 활성(active) VM이 되어야 한다. 즉, VM을 실행하기 위해 메모리 및/또는 디스크로부터 VM에 관련된 상태 정보가 검색된다. 이러한 프로세스는 디바이스(100) 상의 각 관리-인에이블된 VM에 대해 반복적으로 계속될 수 있다. 문맥 전환들은 비용이 들고 특히 많은 수의 가상 머신들 및/또는 메시지들이 관리될 필요가 있을 경우 시스템 성능을 저하시킬 수 있다. 디바이스(100) 상의 가상 머신들은 다양한 상태(예를 들면, 유휴(idle), 하이버네이션(hibernation)등)에 있을 수 있기 때문에, 소정의 문맥 전환들은 작동 및/또는 실행 상태로 돌아가는데 상당한 시간 및 노력을 필요로 할 수 있다. 결국, 가상 머신들은 값비싼 문맥 전환들 및 다른 복구 오버헤드(overhead)(예를 들면, 하이버네이션 저장 화상의 압축해제)를 피하기 위해 유휴 및/또는 정지(suspension) 상태로 유지될 수 있다.
본 발명의 일 실시예에 따르면, 전용 가상 머신(이하 "관리 가상 머신(management virtual machine)")이 호스트 디바이스 상의 가상 머신들의 전부 또는 소정의 부분집합에 대한 프럭시(proxy)로서 작용할 수 있다. 호스트 디바이스 상의 관리 가상 머신은 네트워크 기반 관리 소프트웨어로부터의 메시지들에 응답하여 가상 머신 네트워크 자원 정보를 수집 및/또는 최적화할 수 있다. 본 발명의 실시예들은, 예를 들면, 인텔 주식회사로부터의 하드웨어 구현들, VMWare 주식회사로부터의 VMWare와 같은 소프트웨어 환경들, 마이크로소프트 주식회사로부터의 가상 PC/가상 서버 및/또는 현재 개발중인 "VSever"(버전 0.28, 2003년 12월), "Denali"(2002년, 워싱턴 대학 컴퓨터 과학 및 공학부), "XEN"(2003년, 캠브리지 대학의 컴퓨터 실험실)와 같은 최근에 만들어진 다른 가상화 환경들을 포함하는 다양한 가상 머신 환경들 내에서 실시될 수 있다.
일 실시예에서, 관리 가상 머신은 "VMM 어웨어(VMM aware)" 또는 "가상화 어웨어(virtualization aware)"이다. 즉, 관리 가상 머신은 그가 가상 머신 환경에서 작동하고 있다는 것을 인식하고(판정이 가능할 수 있거나 및/또는 정보를 제공받을 수 있음) 호스트 디바이스 상에서 작동하는 가상 머신들의 상태에 관한 정보를 질의하는 것과 같은 다양한 관리 작업들을 달성하기 위해 VMM과 협력할 수 있다. 일 실시예에서, 관리 가상 머신은 호스트 디바이스 상의 다른 가상 머신들에게 제공되지 않은 특권들을 가진 가상 머신으로서 동작할 수 있다. 다른 실시예에서, 본 발명의 실시예들의 사상에서 벗어나지 않으면서, 관리 가상 머신의 기능성(functionality)은 VMM 및/또는 VMM을 호스팅할 수 있는 운영 체제로 직접 통합될 수 있다.
도 3은 본 발명의 일 실시예의 개요를 예시한다. 예시된 바와 같이, 호스트 디바이스("디바이스(300)")는 네트워크(250)를 경유하여 원격 네트워크 관리 서버(200)로 연결될 수 있다. 그 후, 디바이스(300)는 강화된 VMM(350), 즉 본 발명의 실시예들을 구현하도록 구성된 VMM에 의해 관리되는 다수의 가상 머신들을 호스팅할 수 있다. 강화된 VMM(350)의 세부사항들이 아래에 더 상세하게 설명된다. 본 발명의 일 실시예에서, VM(305) 및 VM(310)은 전형적인 가상 머신들이고, 디바이스(300) 상의 제3 가상 머신("관리 VM(325)"로 예시됨)은 관리 가상 머신으로 나타내졌고 호스트 상의 다른 가상 머신들에 대한 프럭시로서 작용할 수 있다. 관리 VM(325)이 VM(305) 및 VM(310)에 대한 프럭시로서 작용할 수 있게 함으로써, 관리 메시지들로 인한 순수하게 부대 조작된(purely-overhead) 문맥 전환들의 수는 감소될 수 있다.
본 발명의 일 실시예에서, 관리 VM(325)은 디바이스(300) 상의 모든 가상 머신들에 속하는 정보를 포함하는 데이터베이스("데이터베이스(330)")를 포함할 수 있다. 그리하여, 예를 들면, 데이터베이스(330)는 VM(305) 및 VM(310)에 속하는 다양한 유형의 네트워크 및 시스템 관리 정보를 포함할 수 있고 관리 VM(325)은 데이터베이스의 정보를 주기적으로 갱신할 수 있다. 데이터베이스(330)가 도 3에서 관리 VM(325)에 포함되는 것처럼 예시되었음에도 불구하고, 본 발명의 실시예들은 그렇게 한정되지 않는다. 다른 실시예들에서, 데이터베이스(330)는 관리 VM(325)에 의해 액세스가능한 다른 다양한 위치들에 상주할 수 있다.
원격 관리 콘솔(200)이 디바이스(300)에 네트워크 관리 메시지를 발행할 때, 메시지는 관리 VM(325)에 의해 가로채질(intercepted) 수 있고, 관리 VM(325)은 그 메시지에 기초하여 적당한 조치를 결정할 수 있다. 그리하여, 예를 들면, 일 실시예에서, 만약 질의에 대해 응답하기에 적당한 정보가 데이터베이스(330)에서 이용가능하면, 관리 VM(325)은 VM(305) 및/또는 VM(310) 대신 이 정보로 응답할 수 있다. 한편, 그 정보가 이용가능하지 않으면, 관리 VM(325)은 각각의 가상 머신들로부터 관련 정보를 검색할 수 있다. 강화된 VMM(350) 및/또는 관리 VM(325)은 본 발명의 다른 실시예들에 따라 다양한 방법으로 구성될 수 있다. 그리하여, 예를 들면, 강화된 VMM(350) 및/또는 관리 VM(325)은 가로채진 네트워크 관리 메시지들을 하나 또는 그 이상의 가상 머신들로 전달할 수 있다. 또는, 관리 VM(325)은 전술된 바와 같이, 가상 머신들 대신 응답할 수(또는 응답하지 않을 수) 있다. 게다가, 하나 또는 그 이상의 가상 머신들에 대해 가로채진 메시지는 관리 VM(325)에 의해 필터링, 수정(예를 들면, 편집 및/또는 재정리를 포함함), 및/또는 스쿼싱될(squash)(삭제될)수 있다.
다양한 실시예들에 따른 응답들도 달라질 수 있다. 일 실시예에서, 관리 VM(325)은 단일의, 집합 응답을 제공할 수 있는 반면, 다른 실시예에서는 적당하다면(예를 들면, 가상 머신당 하나) 다수의 응답들이 제공될 수 있다. 관리 VM(325)은 또한 가상 머신들로부터 인출되는 메시지들을 가로채고, 이어서 그 메시지들을 전송하기 전에 메시지들을 필터링, 수정, 스쿼싱(삭제), 및/또는 수집할 수도 있다. 후자는, 예를 들면 이전의 메시지에 응답하여 일어날 수 있고 및/또는 원격 네트워크 관리 서버(200)에 대한 심장 박동과 같은("나는 살아있다.") 네트워크 메시지와 같은, 각각의 가상 머신들에 의해 발신된 메시지들일 수 있다. 본 발명의 실시예들의 사상에서 벗어나지 않으면서 관리 VM(325)이 다양한 다른 방법들로 구성될 수 있다는 것은 본 기술분야의 당업자들에게 명백할 것이다.
일 실시예에서 관리 VM(325)는 디바이스(300) 상의 가상 머신들을 다양한 "클래스들(classes)"로 분할하고 이 정보에 기초하여 네트워크 관리 메시지들에 응답할 수 있다. 그리하여, 예를 들면 관리 VM(325)은, 각 가상 머신이 작동하고 있는 운영 체제(예를 들어, 윈도우 2000, 윈도우 XP, 리눅스 등)에 기초하여 가상 머신들을 클래스들로 분할할 수 있다. 만약 그렇다면, 이 실시예에 따라, 관리 VM(325)은 가상 머신들의 하나 또는 그 이상의 클래스들 및/또는 물리적 머신 대신 응답할 수 있다. 다른 그러한 클래스들 또는 그룹화들도 본 발명의 실시예들의 사상에서 벗어나지 않고 규정될 수 있다.
일 실시예에서, 정보는 원격 관리 콘솔(200)에 직접 제공될 수 있다. 또는, 상술된 대로, 관리 VM(325)은 원격 관리 콘솔(200)에 응답하기 전에 정보를 수집할 수 있다. 그리하여, 예를 들면, 디바이스(300) 상의 모든 가상 머신들에 대한 물리적 하드웨어가 동일하기 때문에, 하드웨어에 관련된 메시지들(예를 들면, CPU의 온도를 보고하라는 질의)은 다른 가상 머신들로부터의 관련 없이 관리 VM(325)에 의해 처리될 수 있다. 그 결과, 원격 관리 콘솔(200)은 네트워크의 상태에 대하여 그렇지 않은 경우보다(즉, 동일한 물리적 호스트 상의 각 가상 머신으로부터의 응답을 수신하는 것 대신) 더 정확한 정보를 수신할 수 있다.
일 실시예에서, 강화된 VMM(350)은 인터페이스를 포함하거나 및/또는 디바이스(300) 또는 디바이스(300) 상의 가상 머신들 중 임의의 것을 향하는 관리 메시지들을 관리 VM(325)이 트랩할 수 있게 하는 "후크(hooks)"를 포함한다. 더 상세하게는, 인터페이스는 관리 VM(325)이 스누핑(snoop)(즉, 모니터링)하거나 및/또는 강화된 VMM(350)에 질의하거나 및/또는 디바이스(300) 상의 각 가상 머신 대신 조치를 취할 수 있게 한다. 그리하여, 예를 들면, 인터페이스는 디바이스(300)로의 인입 네트워크 관리 메시지들을 가로채는 능력 및 디바이스(300) 대신 응답하는 능력(예를 들면, 디바이스(300) 상에서 작동하는 운영 체제로의 인터페이스를 경유하여 관리 VM(325)이 디바이스(300) 대신 응답하게 할 수 있음)을 포함할 수 있다. 인터페이스들 및/또는 "후크"의 개념은 본 기술분야의 당업자들에게 공지되어 있고 본 발명의 실시예들을 불필요하게 모호하게 하지 않기 위해서 더 이상의 설명은 본원에서 생략된다.
본원에서 설명된 프럭싱 기능이 본 발명의 실시예들의 사상에서 벗어나지 않고 다양한 방법으로 구현될 수 있다는 것은 본 기술분야의 당업자들에게 명백할 것이다. 그리하여, 예를 들면, 위의 설명이 디바이스(300) 상의 단일 관리 VM(325)을 가정함에도 불구하고, 다른 실시예에서는, 디바이스(300)가 전술된 프럭싱 기능을 제공하는 것과 관련하여 작용할 수 있는 다수의 관리 가상 머신 및/또는 파티션들을 포함할 수 있다. 또 다른 실시예에서는, 프럭싱 기능이 강화된 VMM(350)에서 구현될 수 있다.
도 4는 본 발명의 일 실시예의 흐름도이다. 다음의 동작들이 순차적인 프로세스로서 설명될 수 있음에도 불구하고, 많은 동작들은 사실 병렬로 및/또는 동시에 수행될 수 있다. 게다가, 동작들의 순서는 본 발명의 실시예들의 사상에서 벗어나지 않고 재배열될 수 있다. 401에서, 네트워크 기반 관리 서버는 다수의 가상 머신들을 호스팅하는 호스트 디바이스에 관리 메시지를 전송할 수 있다. 402에서, 네트워크 관리 메시지는 호스트 디바이스 상의 관리 가상 머신에 의해 가로채질 수 있다. 403에서 관리 가상 머신에 대하여 정보가 그 데이터베이스에서 이용가능한지(및 최신인지, 즉 코히어런트(coherent)한지)를 판정하기 위해 관리 가상 머신이 메시지를 검사할 수 있다. 만약 그렇다면, 관리 가상 머신은 404에서 그 호스트 상의 가상 머신(들) 대신 적당한 조치(예를 들면, 하나 또는 그 이상의 가상 머신들의 메시지에 대해 응답, 무응답, 전달하는 것 등)를 취할 수 있다. 그러나 만약, 로컬 데이터베이스가 정보를 포함하지 않거나 및/또는 정보가 뒤쳐진 것이면, 관리 가상 머신은 405에서 호스트 상의 각 가상 머신에 질의를 발행할 수 있다. 일 실시예에서, 단지 가상 머신들의 부분집합만이 질의된다. 406에서, 관리 가상 머신은 질의에 대한 응답들을 모을 수 있고 407에서 모아진 응답들로 데이터베이스를 갱신할 수 있다. 그 후 408에서, 관리 가상 머신은 그의 정책들에 기초하여 모아진 정보를 수집할 것인지를 판정할 수 있다. 만약 그 정책이 응답들이 수집되어야 한다는 것을 가리키면, 404에서 네트워크 기반 관리 서버에 적절하게 응답하기 전에 409에서 응답들이 수집될 수 있다. 그러나 만약, 그 정책이 응답들을 수집하는 것을 필요로 하지 않으면, 네트워크 관리 서버는 404에서 가상 머신들 대신 적당한 조치를 취할 수 있다.
본 발명의 실시예들에 따른 호스트들은 다양한 컴퓨팅 디바이스들에서 구현될 수 있다. 본 발명의 실시예에 따르면, 컴퓨팅 디바이스들은 본 발명의 실시예를 달성하기 위한 명령어들을 실행할 수 있는 다양한 구성요소들을 포함할 수 있다. 예를 들면, 컴퓨팅 디바이스는 적어도 하나의 머신 액세스가능 매체를 포함하거나 및/또는 그와 연결될 수 있다. 본 명세서에서 사용되는, "머신(machine)"은 하나 또는 그 이상의 프로세서를 갖는 임의의 컴퓨팅 디바이스를 포함하지만, 거기에 한정되지는 않는다. 본 명세서에서 사용되는, 머신 액세스가능 매체는 컴퓨팅 디바이스에 의해 액세스가능한 임의의 형태로 정보를 저장하거나 및/또는 송신하는 임의의 메카니즘을 포함하고, 머신 액세스가능 매체는 (반송파들, 적외선 신호들 및 디지털 신호들과 같은) 전기, 광학, 음향 또는 다른 형태로 전파되는 신호들뿐 아니라, (ROM(read-only memory), RAM(random-access memory), 자기 디스크 저장 매체, 광학 저장 매체 및 플래시 메모리 디바이스들과 같은)기록 가능/기록 불가능 매체를 포함하지만, 거기에 한정되지는 않는다.
일 실시예에 따르면, 컴퓨팅 디바이스는 하나 또는 그 이상의 프로세서들과 같은 다양한 다른 공지된 구성요소들을 포함할 수 있다. 프로세서(들) 및 머신 액세스가능 매체는 브리지/메모리 컨트롤러를 사용하여 통신가능하게 연결될 수 있고 프로세서는 머신 액세스가능 매체에 저장된 명령어들을 실행할 수 있다. 브리지/메모리 컨트롤러(bridge/memory controller)는 그래픽 컨트롤러(graphics controller)에 연결될 수 있고, 그래픽 컨트롤러는 디스플레이 디바이스 상의 디스플레이 데이터의 출력을 제어할 수 있다. 브리지/메모리 컨트롤러는 하나 또는 그 이상의 버스들에 연결될 수 있다. 하나 또는 그 이상의 이러한 요소들은 단일 패키지 상에 프로세서와 함께 집적될 수 있거나 다수의 패키지들 또는 다이들을 사용하여 집적될 수 있다. USB(Universal Serial Bus)와 같은 호스트 버스 컨트롤러가 버스(들)에 연결될 수 있고 복수의 디바이스들이 USB에 연결될 수 있다. 예를 들면, 키보드 및 마우스와 같은 사용자 입력 디바이스들은 입력 데이터를 제공하기 위해 컴퓨팅 디바이스에 포함될 수 있다.
앞의 명세서에서, 본 발명은 특정한 예시적인 실시예들을 참조하여 설명되었다. 그러나 첨부된 청구범위들에서 설명된 본 발명의 보다 넓은 사상 및 범위로부터 떠나지 않고 다양한 수정들 및 변경들이 만들어질 수 있다는 것이 이해될 것이다. 따라서 본 명세서 및 도면들은 제한적이라기 보다는 예시적인 의미로 여겨져야 한다.

Claims (30)

  1. 가상 머신 호스트 디바이스들을 포함하는 네트워크 상에 제공되는 정보를 최적화하는 방법으로서,
    네트워크 기반 관리 서버로부터 상기 네트워크 상의 상기 가상 머신 호스트 디바이스들 중 적어도 하나로의 메시지를 가로채는 단계;
    상기 가상 머신 호스트 디바이스 상에서 작동하는 적어도 하나의 가상 머신 에 대한 상기 정보에 액세스하는 단계; 및
    상기 적어도 하나의 가상 머신 대신 상기 메시지에 응답하기 위해 상기 정보를 이용하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 정보에 액세스하는 단계는, 데이터베이스로부터의 상기 정보에 액세스하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 정보에 액세스하는 단계는, 상기 적어도 하나의 가상 머신에 요구를 발행하는 단계와, 상기 네트워크 기반 관리 서버로부터의 상기 메시지들에 응답하기 위해 상기 적어도 하나의 가상 머신으로부터의 응답을 이용하는 단계를 더 포함하 는 방법.
  4. 제3항에 있어서,
    상기 적어도 하나의 가상 머신으로부터의 상기 응답을 이용하는 단계는, 상기 네트워크 기반 관리 서버로부터의 상기 메시지들에 대해 응답하기 전에 상기 적어도 하나의 가상 머신으로부터의 상기 응답을 필터링, 수정, 삭제 및 재정리(reordering)하는 것 중 적어도 하나를 더 포함하는 방법.
  5. 제3항에 있어서,
    상기 적어도 하나의 가상 머신으로부터의 상기 응답을 이용하는 단계는 상기 네트워크 기반 관리 서버로부터의 상기 메시지에 응답하기 전에 상기 적어도 하나의 가상 머신으로부터의 상기 응답을 수집하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 정보에 액세스하는 단계는, 상기 정보를 획득하기 위해 가상 머신 관리자(virtual machine manager)와 인터페이싱하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 정보는 상기 가상 머신 호스트 디바이스들에 속하는 자원 정보를 포함하는 네트워크 기반 관리 정보인 방법.
  8. 제1항에 있어서,
    상기 방법은 상기 가상 머신 호스트 디바이스들 상의 복수의 가상 머신들을 적어도 한 클래스의 가상 머신으로 그룹화하는 단계, 상기 가상 머신 호스트 디바이스 상에서 작동하는 상기 적어도 한 클래스의 가상 머신에 대한 정보에 액세스하는 단계, 및 상기 적어도 한 클래스의 가상 머신 대신 상기 메시지에 응답하기 위해 상기 정보를 이용하는 단계를 더 포함하는 방법.
  9. 가상 머신 호스트 디바이스들을 포함하는 네트워크 상에 제공되는 정보를 최적화하기 위한 시스템으로서,
    상기 가상 머신 호스트 디바이스들 중 적어도 하나 상에서 작동하는 가상 머신; 및
    네트워크 기반 관리 서버로부터 상기 가상 머신으로의 메시지들을 가로챌 수 있는 관리 가상 머신
    을 포함하고,
    상기 관리 가상 머신은 상기 가상 머신에 속하는 정보에 액세스할 수 있고, 상기 가상 머신 대신 응답하기 위해 상기 정보를 이용할 수 있는 시스템.
  10. 제9항에 있어서,
    상기 가상 머신에 속하는 상기 정보를 얻을 수 있는 가상 머신 관리자를 더 포함하는 시스템.
  11. 제10항에 있어서,
    상기 가상 머신 관리자는 상기 관리 가상 머신을 포함하는 시스템.
  12. 제11항에 있어서,
    상기 관리 가상 머신은 데이터베이스로부터 검색된 정보 및 상기 가상 머신에 대한 질의들에 응답하여 얻어진 정보 중 하나를 사용하여 네트워크 관리 메시지들에 응답하는 시스템.
  13. 제12항에 있어서,
    상기 관리 가상 머신은, 상기 네트워크 관리 메시지들에 응답하기 전에 상기 질의들에 응답하여 얻어진 상기 정보를 필터링, 수정, 삭제 및 재정리하는 것
    중 적어도 하나를 행하는 시스템.
  14. 제12항에 있어서,
    상기 관리 가상 머신은 상기 네트워크 기반 관리 서버들로부터의 상기 메시지들에 응답하기 전에 상기 정보를 수집하는 시스템.
  15. 제11항에 있어서,
    상기 정보는 상기 가상 머신 호스트 디바이스들에 속하는 자원 정보를 포함하는 네트워크 기반 관리 정보인 시스템.
  16. 제11항에 있어서,
    상기 관리 가상 머신은, 상기 가상 머신 호스트 디바이스들 상의 복수의 가상 머신들을 적어도 한 클래스의 가상 머신으로 그룹화할 수 있고, 상기 가상 머신 호스트 디바이스 상에서 작동하는 상기 적어도 한 클래스의 가상 머신에 대한 상기 정보에 액세스할 수 있고, 상기 적어도 한 클래스의 가상 머신 대신 상기 메시지에 응답하기 위해 상기 정보를 이용할 수 있는 시스템.
  17. 가상 머신 호스트 디바이스에 의해 제공되는 정보를 최적화하는 방법으로서,
    상기 가상 머신 호스트 디바이스 상의 가상 머신들을 적어도 하나의 클래스로 그룹화하는 단계;
    네트워크 기반 관리 서버로부터 상기 적어도 한 클래스의 가상 머신들로의 메시지를 가로채는 단계;
    상기 적어도 한 클래스의 가상 머신들에 대한 상기 정보에 액세스하는 단계; 및
    상기 적어도 한 클래스의 가상 머신 대신 상기 메시지에 응답하기 위해 상기 정보를 이용하는 단계
    를 포함하는 방법.
  18. 제17항에 있어서,
    상기 클래스는 운영 체제 유형에 기초한 클래스 및 어플리케이션 유형에 기초한 클래스 중 하나를 포함하는 방법.
  19. 가상 머신 호스트 디바이스들을 포함하는 네트워크 상에 제공되는 정보를 최적화하기 위한 시스템으로서,
    복수의 가상 머신을 포함하고, 상기 가상 머신 호스트 디바이스들 중 적어도 하나 상에서 작동하는 한 클래스의 가상 머신들; 및
    네트워크 기반 관리 서버로부터 상기 클래스의 가상 머신들로의 메시지들을 가로챌 수 있는 관리 가상 머신
    을 포함하고,
    상기 관리 가상 머신은, 상기 클래스의 가상 머신들에 속하는 정보에 액세스할 수 있고, 상기 클래스의 가상 머신들 대신 응답하기 위하여 상기 정보를 이용할 수 있는 시스템.
  20. 제19항에 있어서,
    상기 클래스의 가상 머신들은 운영 체제 유형에 기초한 클래스의 가상 머신들 및 어플리케이션 유형에 기초한 클래스의 가상 머신들 중 적어도 하나를 포함하는 시스템.
  21. 가상 머신 호스트 디바이스 상에 상주하는 관리 가상 머신으로서,
    상기 가상 머신 호스트 디바이스 상에 상주하는 가상 머신들로의 메시지들을 가로챌 수 있는 모듈;
    상기 가상 머신들에 속하는 정보를 검색할 수 있는 인터페이스; 및
    상기 가상 머신들 대신 상기 메시지들에 응답하기 위해 상기 정보를 이용할 수 있는 모듈
    을 포함하는 관리 가상 머신.
  22. 제21항에 있어서,
    상기 정보는 네트워크 기반 관리 정보이고 상기 가상 머신 호스트 디바이스에 속하는 자원 정보를 포함하는 관리 가상 머신.
  23. 제21항에 있어서,
    상기 인터페이스는 가상 머신 관리자로부터 상기 정보를 검색할 수 있는 관리 가상 머신.
  24. 명령어들이 저장된 머신 액세스가능(machine-accessible) 매체를 포함하는 물품(article)으로서, 머신에 의해 실행될 때, 상기 머신이,
    네트워크 기반 관리 서버로부터 네트워크 상의 적어도 하나의 가상 머신 호 스트 디바이스들로의 메시지를 가로채고;
    상기 가상 머신 호스트 디바이스 상에서 작동하는 적어도 하나의 가상 머신에 대한 상기 정보에 액세스하고;
    상기 적어도 하나의 가상 머신 대신 상기 메시지에 응답하기 위해 상기 정보를 이용하게 하는, 머신 액세스가능 매체를 포함하는 물품.
  25. 제24항에 있어서,
    상기 명령어는, 상기 머신에 의해 실행될 때, 데이터베이스로부터의 상기 정보에 액세스할 수 있는, 머신 액세스가능 매체를 포함하는 물품.
  26. 제24항에 있어서,
    상기 명령어들은 상기 머신에 의해 실행될 때, 상기 머신이, 상기 적어도 하나의 가상 머신에 요구를 발행하게 하고, 상기 네트워크 기반 관리 서버로부터의 상기 메시지들에 응답하기 위해 상기 적어도 하나의 가상 머신으로부터의 응답을 이용하게 하는, 머신 액세스가능 매체를 포함하는 물품.
  27. 제26항에 있어서,
    상기 명령어들은 상기 머신에 의해 실행될 때, 상기 머신이, 상기 네트워크 기반 관리 서버로부터의 상기 메시지들에 응답하기 전에 상기 적어도 하나의 가상 머신으로부터의 상기 응답을 필터링, 수정, 삭제 및 재정리하는 것 중 적어도 하나 를 행하게 하는, 머신 액세스가능 매체를 포함하는 물품.
  28. 제26항에 있어서,
    상기 명령어들은 상기 머신에 의해 실행될 때, 상기 머신이, 상기 네트워크 기반 관리 서버로부터의 상기 메시지에 응답하기 전에 상기 적어도 하나의 가상 머신으로부터의 상기 응답을 수집하게 하는, 머신 액세스가능 매체를 포함하는 물품.
  29. 제24항에 있어서,
    상기 명령어들은 상기 머신에 의해 실행될 때, 상기 머신이, 상기 정보를 획득하기 위해 가상 머신 관리자와 인터페이스하게 하는, 머신 액세스가능 매체를 포함하는 물품.
  30. 제24항에 있어서,
    상기 명령어들은 상기 머신에 의해 실행될 때, 상기 머신이, 상기 가상 머신 호스트 디바이스들 상의 복수의 가상 머신을 적어도 한 클래스의 가상 머신으로 그룹화하게 하고, 상기 가상 머신 호스트 디바이스 상에서 작동하는 상기 적어도 한 클래스의 가상 머신에 대한 상기 정보에 액세스하게 하고, 상기 적어도 한 클래스의 가상 머신 대신 상기 메시지에 응답하기 위해 상기 정보를 이용하게 하는, 머신 액세스가능 매체를 포함하는 물품.
KR1020067012028A 2003-12-16 2004-12-08 가상 머신 정보를 최적화하는 방법 및 시스템, 머신 액세스가능 매체 KR100928603B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/738,839 US20050132367A1 (en) 2003-12-16 2003-12-16 Method, apparatus and system for proxying, aggregating and optimizing virtual machine information for network-based management
US10/738,839 2003-12-16
PCT/US2004/041120 WO2005062178A2 (en) 2003-12-16 2004-12-08 Method, apparatus and system for proxying, aggregating and optimizing virtual machine information for network-based management

Publications (2)

Publication Number Publication Date
KR20060108719A true KR20060108719A (ko) 2006-10-18
KR100928603B1 KR100928603B1 (ko) 2009-11-26

Family

ID=34654267

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067012028A KR100928603B1 (ko) 2003-12-16 2004-12-08 가상 머신 정보를 최적화하는 방법 및 시스템, 머신 액세스가능 매체

Country Status (6)

Country Link
US (1) US20050132367A1 (ko)
EP (1) EP1695214A2 (ko)
JP (1) JP4338736B2 (ko)
KR (1) KR100928603B1 (ko)
CN (1) CN1890638B (ko)
WO (1) WO2005062178A2 (ko)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7725937B1 (en) * 2004-02-09 2010-05-25 Symantec Corporation Capturing a security breach
US7574709B2 (en) * 2004-04-30 2009-08-11 Microsoft Corporation VEX-virtual extension framework
US7788713B2 (en) * 2004-06-23 2010-08-31 Intel Corporation Method, apparatus and system for virtualized peer-to-peer proxy services
US7500244B2 (en) * 2004-06-30 2009-03-03 Intel Corporation Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments
US7669202B1 (en) * 2004-10-05 2010-02-23 Azul Systems, Inc. Resource management
US7735081B2 (en) * 2004-12-17 2010-06-08 Intel Corporation Method, apparatus and system for transparent unification of virtual machines
US9606821B2 (en) 2004-12-17 2017-03-28 Intel Corporation Virtual environment manager for creating and managing virtual machine environments
US20060143617A1 (en) * 2004-12-29 2006-06-29 Knauerhase Robert C Method, apparatus and system for dynamic allocation of virtual platform resources
US7937701B2 (en) * 2005-06-30 2011-05-03 Intel Corporation ACPI communication between virtual machine monitor and policy virtual machine via mailbox
US8327353B2 (en) 2005-08-30 2012-12-04 Microsoft Corporation Hierarchical virtualization with a multi-level virtualization mechanism
US7930443B1 (en) 2005-10-26 2011-04-19 Juniper Networks, Inc. Router having routing engine software instance and interface controller software instance on a single processor
US8180923B2 (en) * 2005-11-29 2012-05-15 Intel Corporation Network access control for many-core systems
JP4542514B2 (ja) * 2006-02-13 2010-09-15 株式会社日立製作所 計算機の制御方法、プログラム及び仮想計算機システム
US7840398B2 (en) * 2006-03-28 2010-11-23 Intel Corporation Techniques for unified management communication for virtualization systems
US8397231B2 (en) * 2006-03-31 2013-03-12 Lenovo (Singapore) Pte. Ltd. Monitoring of virtual operating systems using specialized packet recognized by hypervisor and rerouted to maintenance operating system
CA2547047A1 (en) 2006-05-15 2007-11-15 Embotics Corporation Management of virtual machines using mobile autonomic elements
US8024727B2 (en) * 2006-06-15 2011-09-20 Microsoft Corporation Enhancing or replacing host operating system functionality by leveraging guest operating system functionality
US20070294707A1 (en) * 2006-06-15 2007-12-20 Microsoft Corporation Enhancing or replacing host operating system functionality by leveraging guest operating system functionality
US7853958B2 (en) * 2006-06-28 2010-12-14 Intel Corporation Virtual machine monitor management from a management service processor in the host processing platform
US8151337B2 (en) * 2006-06-30 2012-04-03 Microsoft Corporation Applying firewalls to virtualized environments
US20080059556A1 (en) * 2006-08-31 2008-03-06 Egenera, Inc. Providing virtual machine technology as an embedded layer within a processing platform
US8589917B2 (en) * 2006-10-10 2013-11-19 International Business Machines Corporation Techniques for transferring information between virtual machines
US20080098309A1 (en) * 2006-10-24 2008-04-24 Microsoft Corporation Managing virtual machines and hosts by property
US20080104586A1 (en) * 2006-10-27 2008-05-01 Microsoft Corporation Allowing Virtual Machine to Discover Virtual Status Thereof
US8356297B1 (en) * 2007-03-21 2013-01-15 Azul Systems, Inc. External data source redirection in segmented virtual machine
US9378108B2 (en) * 2007-03-22 2016-06-28 Invention Science Fund I, Llc Implementing performance-dependent transfer or execution decisions from service emulation indications
US20080235000A1 (en) * 2007-03-22 2008-09-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Implementing security control practice omission decisions from service emulation indications
US8495708B2 (en) * 2007-03-22 2013-07-23 The Invention Science Fund I, Llc Resource authorizations dependent on emulation environment isolation policies
US20080234998A1 (en) * 2007-03-22 2008-09-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Coordinating instances of a thread or other service in emulation
US9558019B2 (en) 2007-03-22 2017-01-31 Invention Science Fund I, Llc Coordinating instances of a thread or other service in emulation
US8438609B2 (en) * 2007-03-22 2013-05-07 The Invention Science Fund I, Llc Resource authorizations dependent on emulation environment isolation policies
US8874425B2 (en) 2007-03-22 2014-10-28 The Invention Science Fund I, Llc Implementing performance-dependent transfer or execution decisions from service emulation indications
US20080235001A1 (en) * 2007-03-22 2008-09-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Implementing emulation decisions in response to software evaluations or the like
WO2008126145A1 (ja) * 2007-03-30 2008-10-23 Fujitsu Limited コンピュータシステムの仮想os環境での仮想ネットワークアダプタの設定方法及びコンピュータシステム
JP4987555B2 (ja) * 2007-04-27 2012-07-25 株式会社東芝 情報処理装置、および情報処理システム
JP2008299617A (ja) * 2007-05-31 2008-12-11 Toshiba Corp 情報処理装置、および情報処理システム
JP4864817B2 (ja) * 2007-06-22 2012-02-01 株式会社日立製作所 仮想化プログラム及び仮想計算機システム
US7984449B2 (en) * 2007-08-15 2011-07-19 International Business Machines Corporation In-band communication with virtual machines via a hypervisor message bus
JP2009217395A (ja) * 2008-03-07 2009-09-24 Nec Corp 仮想サーバソフトウェア更新システム、仮想サーバソフトウェア更新方法、サーバ、及びサーバ用プログラム
US8281363B1 (en) * 2008-03-31 2012-10-02 Symantec Corporation Methods and systems for enforcing network access control in a virtual environment
US8161479B2 (en) * 2008-06-13 2012-04-17 Microsoft Corporation Synchronizing virtual machine and application life cycles
JP4854710B2 (ja) * 2008-06-23 2012-01-18 株式会社東芝 仮想計算機システム及びネットワークデバイス共有方法
KR101506683B1 (ko) * 2008-08-06 2015-03-30 삼성전자 주식회사 다수개의 운영 시스템을 지원하는 장치 및 방법
US9164749B2 (en) * 2008-08-29 2015-10-20 Red Hat, Inc. Differential software provisioning on virtual machines having different configurations
US8966082B2 (en) * 2009-02-10 2015-02-24 Novell, Inc. Virtual machine address management
US8595361B2 (en) * 2009-02-10 2013-11-26 Novell, Inc. Virtual machine software license management
US8650273B2 (en) * 2009-05-27 2014-02-11 Dell Products L.P. Virtual serial concentrator for virtual machine out-of-band management
US20110238402A1 (en) 2010-03-23 2011-09-29 Fujitsu Limited System and methods for remote maintenance in an electronic network with multiple clients
US9286485B2 (en) * 2010-03-23 2016-03-15 Fujitsu Limited Using trust points to provide services
US8839238B2 (en) * 2010-06-11 2014-09-16 International Business Machines Corporation Dynamic virtual machine shutdown without service interruptions
US8429276B1 (en) 2010-10-25 2013-04-23 Juniper Networks, Inc. Dynamic resource allocation in virtual environments
WO2014137338A1 (en) * 2013-03-06 2014-09-12 Intel Corporation Roots-of-trust for measurement of virtual machines
CN103399496B (zh) * 2013-08-20 2017-03-01 中国能源建设集团广东省电力设计研究院有限公司 智能电网海量实时数据负载仿真测试云平台及其测试方法
JP5975003B2 (ja) * 2013-09-13 2016-08-23 日本電気株式会社 仮想化制御装置、仮想化システム、仮想化方法、および、仮想化制御プログラム。
KR101709121B1 (ko) * 2014-04-09 2017-02-22 한국전자통신연구원 가상 머신 구동 방법 및 가상 머신 구동 시스템
US9992238B2 (en) * 2015-11-11 2018-06-05 International Business Machines Corporation Proxy based data transfer utilizing direct memory access
US10454771B2 (en) 2016-04-06 2019-10-22 Alcatel Lucent Virtual infrastructure
US10547511B2 (en) * 2016-05-04 2020-01-28 Alcatel Lucent Infrastructure resource states
US10305788B2 (en) 2016-06-30 2019-05-28 Alcatel Lucent Near-real-time and real-time communications
RU2626550C1 (ru) * 2016-08-09 2017-07-28 Акционерное Общество "Научно-Исследовательский Институт Микроэлектронной Аппаратуры "Прогресс" Программно-аппаратная платформа и способ ее реализации для беспроводных средств связи

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6567839B1 (en) * 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
JPH11195008A (ja) * 1998-01-06 1999-07-21 Fuji Xerox Co Ltd ネットワーク資源管理装置
US6112279A (en) * 1998-03-31 2000-08-29 Lucent Technologies, Inc. Virtual web caching system
US6496847B1 (en) * 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
JP2000259435A (ja) * 1999-03-10 2000-09-22 Pfu Ltd マルチオペレーティングシステムおよびエラー情報集約方法および記録媒体
US6351808B1 (en) * 1999-05-11 2002-02-26 Sun Microsystems, Inc. Vertically and horizontally threaded processor with multidimensional storage for storing thread data
US6510448B1 (en) * 2000-01-31 2003-01-21 Networks Associates Technology, Inc. System, method and computer program product for increasing the performance of a proxy server
US6996829B2 (en) * 2000-02-25 2006-02-07 Oracle International Corporation Handling callouts made by a multi-threaded virtual machine to a single threaded environment
US6947979B1 (en) * 2000-08-16 2005-09-20 Entrust, Inc. Controlling use of a network resource
KR100337790B1 (ko) * 2000-08-17 2002-05-23 남궁석 관리대상 컴퓨터들을 원격 관리하는 시스템 및 그 방법
US6609126B1 (en) * 2000-11-15 2003-08-19 Appfluent Technology, Inc. System and method for routing database requests to a database and a cache
JP2002229806A (ja) * 2001-02-02 2002-08-16 Hitachi Ltd 計算機システム
JP2002323986A (ja) * 2001-04-25 2002-11-08 Hitachi Ltd コンピュータリソース流通システム及び方法
US7296267B2 (en) * 2002-07-12 2007-11-13 Intel Corporation System and method for binding virtual machines to hardware contexts
US7069413B1 (en) * 2003-01-29 2006-06-27 Vmware, Inc. Method and system for performing virtual to physical address translations in a virtual machine monitor
US20050198303A1 (en) * 2004-01-02 2005-09-08 Robert Knauerhase Dynamic virtual machine service provider allocation
US7735081B2 (en) * 2004-12-17 2010-06-08 Intel Corporation Method, apparatus and system for transparent unification of virtual machines
US8479193B2 (en) * 2004-12-17 2013-07-02 Intel Corporation Method, apparatus and system for enhancing the usability of virtual machines
US20060143617A1 (en) * 2004-12-29 2006-06-29 Knauerhase Robert C Method, apparatus and system for dynamic allocation of virtual platform resources
JP3938387B2 (ja) * 2005-08-10 2007-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション コンパイラ、制御方法、およびコンパイラ・プログラム

Also Published As

Publication number Publication date
JP4338736B2 (ja) 2009-10-07
CN1890638A (zh) 2007-01-03
US20050132367A1 (en) 2005-06-16
JP2007513405A (ja) 2007-05-24
WO2005062178A2 (en) 2005-07-07
KR100928603B1 (ko) 2009-11-26
CN1890638B (zh) 2010-10-13
WO2005062178A3 (en) 2005-09-22
EP1695214A2 (en) 2006-08-30

Similar Documents

Publication Publication Date Title
KR100928603B1 (ko) 가상 머신 정보를 최적화하는 방법 및 시스템, 머신 액세스가능 매체
JP6571161B2 (ja) アプリケーショントポロジ関係を探索するための方法、装置、およびシステム
US8032899B2 (en) Providing policy-based operating system services in a hypervisor on a computing system
US7634388B2 (en) Providing policy-based operating system services in an operating system on a computing system
US8448165B1 (en) System and method for logging operations of virtual machines
US11038809B1 (en) Migration of files contained on virtual storage to a cloud storage infrastructure
US8713582B2 (en) Providing policy-based operating system services in an operating system on a computing system
US10838754B2 (en) Virtualized systems having hardware interface services for controlling hardware
KR20110055391A (ko) 하이퍼바이저 파일 시스템
US10884778B1 (en) Adjusting dynamically scalable instance hosting based on compute resource usage
JP2023538938A (ja) 共用可能なアプリケーションスナップショットの為のコンパイル化戦略
US12056401B2 (en) Machine learning for local caching of remote data in a clustered computing environment
US10877786B1 (en) Managing compute resource usage based on prior usage
EP3786797A1 (en) Cloud resource marketplace
JP2011159249A (ja) コンピュータシステム、仮想マシン管理方法、及び仮想マシン管理プログラム
CN114816665B (zh) 混合编排***及超融合架构下虚拟机容器资源混合编排方法
US8656448B2 (en) Providing policy-based application services to an application running on a computing system
JP7342089B2 (ja) 計算機システム及び計算機システムのスケールアウト方法
US10303507B2 (en) Off-the-shelf software component reuse in a cloud computing environment
US11483205B1 (en) Defragmentation of licensed resources in a provider network
US11340964B2 (en) Systems and methods for efficient management of advanced functions in software defined storage systems
CN114115703A (zh) 裸金属服务器在线迁移方法以及***
Hes et al. The Capture-HPC client architecture
Cho et al. Towards an integrated management system based on abstraction of heterogeneous virtual resources
US20170228217A1 (en) Transparent Node Runtime and Management Layer

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121019

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131101

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141031

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151030

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171027

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee