KR20140037145A - 호스트 인에이블 관리 채널 - Google Patents

호스트 인에이블 관리 채널 Download PDF

Info

Publication number
KR20140037145A
KR20140037145A KR1020137034642A KR20137034642A KR20140037145A KR 20140037145 A KR20140037145 A KR 20140037145A KR 1020137034642 A KR1020137034642 A KR 1020137034642A KR 20137034642 A KR20137034642 A KR 20137034642A KR 20140037145 A KR20140037145 A KR 20140037145A
Authority
KR
South Korea
Prior art keywords
host
network
packet
hypervisor
protocol
Prior art date
Application number
KR1020137034642A
Other languages
English (en)
Other versions
KR101948951B1 (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 KR20140037145A publication Critical patent/KR20140037145A/ko
Application granted granted Critical
Publication of KR101948951B1 publication Critical patent/KR101948951B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • 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/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

타겟 가상 머신(VM)과 이 VM과 통신하는 호스트 또는 애플리케이션 간의 논리적 통신 경로가 제공된다. 타겟 VM은 하이퍼바이저 및 프록시 에이전트를 구비한 하이퍼바이저 호스트 상에서 구동된다. 하이퍼바이저는 VM의 실행을 관리한다. 어떤 VM이 어떤 호스트 상에서 실행되는지를 나타내는 맵핑이 유지된다. 호스트 또는 애플리케이션이 메시지 또는 패킷을 타겟 VM에 전송하려는 경우, 맵핑이 참고되고 타겟 VM을 호스팅하는 하이퍼바이저 호스트가 식별된다. 타겟 VM을 식별할 수 있는 메시지 또는 패킷이 하이퍼바이저 호스트에 전송된다. 하이퍼바이저 호스트에서의 프록시 에이전트는 하이퍼바이저와 타겟 VM 간의 통신 채널을 선택한다. 하이퍼바이저는 선택된 채널을 통해 메시지 또는 패킷을 타겟 VM에 전달한다.

Description

호스트 인에이블 관리 채널{HOST ENABLED MANAGEMENT CHANNEL}
머신 가상화 분야에서, 가상 머신(VM)은 네트워크 기능을 가지고 있다. 즉, VM은 네트워크를 통해 다른 VM 또는 물리적 머신과 통신하기 위한 네트워크 프로토콜 스택을 구현할 수 있다. 예를 들어, 가상화 호스트(예컨대, Hyper-V(TM) 호스트)는 게스트 VM을 호스팅하는 가상화 패브릭(fabric)의 일부를 형성할 수 있는데, 패브릭 제어기가 가상화 패브릭을 관리한다(본 배경기술에서 사용되는 바와 같이, "호스트"는 예컨대 패브릭 제어기 또는 임의의 다른 컴퓨터를 지칭할 수 있다). 그러나, 여러 가지 이유로, 호스트와 VM을 구동시키는 머신("VM 호스트"로 지칭됨) 사이에 네트워크 연결이 존재하더라고 네트워크 상의 호스트와 VM 사이에는 네트워크 연결이 존재하지 않을 수 있다. 예를 들어, VM은 호스트가 귀속되지 않는 가상 사설망(VPN) 상에 존재할 수 있고 VM의 네트워크 어드레스는 호스트의 네트워크 상에서 유효하지 않을 수 있다. 방화벽이 VM의 호스트 네트워크 상에서의 액세스를 허용하지만 호스트 네트워크로부터 VM에 대한 액세스는 차단할 수 있다. VM은 단순히 VM과 통신할 필요가 있는 호스트 이외의 다른 네트워크 상에 존재할 수 있다.
몇몇 상황에서, HTTP(Hypertext TRansfer Protocol), SOAP(Simple Object Access Protocol), WMI(TM)(Windoes Management Instrumentation), (HTTP를 통한 SOAP 기반 프로토콜을 통해 WMI 호출을 전송하는) WS-관리 프로토콜 등과 같은 표준 프로토콜을 사용하여 VM과 통신하는 것이 바람직하다. 예를 들어, 몇몇 데이터 센터 또는 클라우드에서, VM은 아마도 제어용의 하나 이상의 통신 채널(예컨대, HTTP를 통한 WMI) 또는 데이터용의 하나 이상의 데이터 채널(HTTP를 통한 BITS)을 통해 관리 기능(예를 들어, 게스트 운영 시스템에 패치를 적용하는 것, 클라우드 패브릭 태스크를 처리하는 것 등)을 수행하는, VM 상에서 구동되는 네트워크 에이전트 또는 서비스를 구비하여 구동시킬 수 있다. 이들 관리 서비스 또는 에이전트는 예를 들어 제어기 호스트 상에서 구동되는 관리 애플리케이션(예컨대, 패브릭 제어기)에 의해 제어된다. 관리 애플리케이션은 패킷, 예를 들어 HTTP 패킷을 VM의 네트워크 어드레스로 전송하고 HTTP 패킷은 관리 에이전트로 전달된다. 관리 에이전트는 패킷의 페이로드 내의 정보에 응답하여 기능을 수행할 수 있다. 그러나, 관리 애플리케이션이 VM에 대한 네트워크 연결을 가지고 있지 않은 경우, 이 관리 애플리케이션은 VM 상의 관리 에이전트를 호출할 수 없다.
하이퍼바이저와 VM 간의 통신 채널을 통해 VM과 통신할 수 있게 하는 기법이 이하에서 설명된다.
이하의 요약은 단지 이후의 상세한 설명에서 설명되는 몇몇 개념을 소개하기 위해 포함된다. 본 요약은 종합적이지 않으며 말단에 제공된 청구항에 의해 설명된 청구 대상의 범주를 기술하려는 것도 아니다.
타겟 가상 머신(VM)과 이 VM과 통신하는 호스트 또는 애플리케이션 간의 논리적 통신 경로가 제공된다. 예를 들어, 가상화 호스트와 VM 간에 경로가 제공된다. 타겟 VM은 하이퍼바이저 및 프록시 에이전트(예를 들어, HTTP 프록시)를 구비한 하이퍼바이저 호스트 상에서 구동된다. 하이퍼바이저는 VM의 실행을 관리한다. 어떤 VM이 어떤 호스트 상에서 실행되는지를 나타내는 맵핑이 유지된다. 호스트 또는 애플리케이션이 메시지 또는 패킷을 타겟 VM에 전송하려는 경우, 맵핑이 참고되고 타겟 VM을 호스팅하는 하이퍼바이저 호스트가 식별된다. 타겟 VM을 식별할 수 있는 메시지 또는 패킷이 하이퍼바이저 호스트에 전송된다. 하이퍼바이저 호스트에서의 프록시 에이전트는 하이퍼바이저와 타겟 VM 간의 통신 채널을 선택한다. 하이퍼바이저는 선택된 채널을 통해 메시지 또는 패킷을 타겟 VM에 전달한다.
다수의 부속 특징들이 첨부한 도면과 연계하여 설명되는 후속하는 상세한 설명을 참조하여 이하에서 설명될 것이다.
본 발명은 첨부한 도면을 참조하여 후속하는 상세한 설명으로부터 보다 잘 이해될 것이며, 이하의 설명에서 유사한 참조 번호는 유사한 부분을 지칭하는데 사용된다.
도 1은 예시적인 가상화 계층을 나타내는 도면.
도 2는 가상 머신 및 가상 머신 이미지에 대한 가상화 계층의 프로세스 및 상호작용을 나타내는 도면.
도 3은 VM에 의해 호스팅되는 게스트 운영 시스템 상에서 구동되는 에이전트와 통신하는 애플리케이션의 일 예를 나타내는 도면.
도 4는 애플리케이션과 VM 간의 논리적 통신 경로에 대한 개요를 나타내는 도면.
도 5는 VM과의 연결을 개시하는 클라이언트 호스트를 나타내는 도면.
도 6은 클라이언트 호스트로부터의 패킷을 처리하는 하이퍼바이저 호스트를 나타내는 도면.
이하에서 설명되는 실시예들은 VM/하이퍼바이저 호스트 상의 내부 통신 채널을 사용하여 외부 네트워크 통신을 가능하게 하는 것에 관한 것이다. 가상화 기법 및 가상화 계층(하이퍼바이저로도 지칭됨)의 개요를 먼저 설명할 것이다. 애플리케이션과 VM 간의 네트워크 통신의 일 예가 다음으로 설명될 것이다. 하이퍼바이저 호스트 상에서 사설 채널을 사용하는 논리적 통신 경로의 개요가 설명될 것이다. 끝으로, 통신 경로의 일 종단에서의 애플리케이션 및 통신 경로의 다른 종단에서의 하이퍼바이저 호스트(VM 호스트)를 포함한, 이러한 통신 경로의 세부사항이 자세히 설명될 것이다.
머신 가상화
도 1은 예시적인 가상화 계층(100)을 나타낸다. 컴퓨터(102)는 중앙 처리 장치(CPU)(106), 메모리(108), 네트워크 인터페이스(110), 비휘발성 저장소(112), 및 그 밖의 미도시된 다른 구성요소들, 예를 들어, 버스, 디스플레이 어댑터 등을 포함한 하드웨어(104)를 구비한다. 가상화 계층(110)은 가상 머신(114)의 실행을 관리 및 용이하게 한다. 도 1에는 도시되어 있지는 않지만, 각 가상 머신(114)은 전형적으로 연관된 가상 디스크 이미지 및 게스트 운영 시스템을 갖는다. 간결성을 위해, 운영 시스템과 아마도 가상 머신(114)의 애플리케이션 소프트웨어는 때때로 가상 머신(114)과 연관된 가상 디스크 이미지로부터 저장 및 실행되는 게스트로서 지칭될 것이다. 편의상, "하이퍼바이저"라는 용어는 본 명세서에서 다양한 가상화 계층을 지칭하는데 사용될 것이다. 또한, 이하에서 설명되는 바와 같이, 가상 머신(114)은 분산형 애플리케이션의 요소들을 호스팅하는데 사용된다.
가상화 계층(100)은 예를 들어, Hyper-V 서버(TM), VMWare ESX 서버(TM), Xen, Oracle VM(TM) 등과 같은 임의의 다양한 공지된 또는 미래의 구현일 수 있다. 가상화 계층의 아키텍처는 호스트 운영 시스템 상에서 구동되는 가상 머신 모니터(VMM)를 갖는 호스트형 타입, 또는 컴퓨터(102)의 하드웨어(104) 상에서 직접 구동되는 하이퍼바이저 등을 갖는 베어 메탈(bare-metal) 타입일 수 있다. 본 명세서에서 사용된 바와 같이, "가상 머신"이라는 용어는 임의의 특정 하드웨어 아키텍처에 대한 자연어 코드를 실행할 수 있는 이 임의의 특정 하드웨어 아키텍처를 시뮬레이팅하는 시스템 타입 가상 머신을 지칭하고, 게스트의 경우, 가상 머신은 하드웨어 머신과 거의 구분이 가지 않을 수 있다. 본 명세서에서 설명되는 가상 머신은 자바 가상 머신과 같은 추상형(abstract type) 또는 프로세스형(process type) 가상 머신이 아니다.
가상화 계층(100)은 가상 머신(114)을 관리하고 가상 하드웨어(104)의 공유를 그 자신 및 가상 머신(114)에 의해 수행하는 기본 기능을 수행한다. 하드웨어(104)로부터 가상 머신(114)을 격리시키기 위해 임의의 다양한 기법이 사용될 수 있다. 일 실시예에서, 가상화 계층은 가상 머신(114)에 대응하는 상이한 격리된 환경(즉, 파티션 또는 도메인)을 제공할 수 있다. 공유되는 가상 장치 드라이버, 상호 가상 머신 통신 시설 및 가상 머신 관리 API(애플리케이션 프로그래밍 인터페이스)와 같은 가상화 계층(100)의 일부는 특정 기밀의 파티션 또는 도메인에서 실행되어, 소형 및 효율적인 하이퍼바이저를 가능하게 한다. 다른 실시예에서, 하드웨어(104)의 가상 머신 관리 및 일관성있는 공유를 위한 기능은 하나로 이루어진 온 더 메탈 하이퍼바이저(a monolithic on-the-metal hypervisor)에 상주할 수 있다.
도 2는 가상 머신(114) 및 가상 머신 이미지(140)에 대한 가상화 계층(100)의 처리 및 상호작용을 나타낸다. 가상화 계층(100)은 가능하게는 대응하는 가상 머신 구성 파라미터에 따라 가상 머신(114)을 시작 및 실행하는 프로세스(142)를 수행한다. 가상 머신(114)(VM)이 시작되는 경우, 가상화 계층은 연관된 가상 머신 이미지(140)를 식별한다. 실행상, 임의의 가상 머신 이미지(140)는 임의의 가상 머신(114)에 의해 사용될 수 있다. 가상 머신 이미지(140)는 가상화 계층(100)의 파일 시스템(141) 상에서 특별히 포맷된 파일(예를 들어, VHD)일 수 있다. 가상화 계층(100)은 식별된 가상 머신 이미지(140)를 로딩한다. 시작된 가상 머신(114)은 가상 머신 이미지(140)를 탑재 및 판독하여, 아마도 마스터 부팅 기록 또는 다른 부팅 정보를 찾으며, 실행을 시작하는 게스트 운영 시스템을 부팅한다.
가상화 계층(100)은 가상 머신(114)의 실행을 관리하여, 게스트의 커널에 대한 소정의 호출, 하이퍼콜 등을 처리하며, 기본 하드웨어(104)에 대한 가상 머신(114)의 액세스를 조정한다. 게스트 및 그의 소프트웨어가 실행됨에 따라, 가상화 계층(100)은 가상 디스크 이미지(140) 상에 게스트의 상태를 유지할 수 있고, 게스트 또는 게스트에 의해 실행되는 애플리케이션이 데이터를 "디스크"에 기록하는 경우, 가상화 계층(100)은 데이터를 가상 디스크 이미지(140)의 포맷으로 변환하여 이미지에 기록한다.
가상화 계층(100)은 가상 머신(114)을 정지시키는 프로세스(144)를 실행할 수 있다. 가상 머신(114)을 중단시키라는 명령어가 수신되는 경우, 가상 머신(114) 및 그의 게스트의 상태는 가상 디스크 이미지(140)에 저장되고, 실행 가상 머신(114) 프로세스(또는 파티션)는 삭제된다. 가상 머신(114)의 세부사항은 가상 머신(114)의 이후의 재시작을 위해 유지될 수 있다.
가상 머신으로의 통신에 대한 개요
도 3은 VM(186)에 의해 호스팅되는 게스트 운영 시스템(게스트 184)에서 실행되는 에이전트(182)와 통신하는 애플리케이션(180)의 일 예를 나타낸다. 예를 들어 관리 애플리케이션일 수 있는 애플리케이션(180)은 네트워크(190)를 통해 통신을 허용하는 네트워크 인터페이스 카드(NIC)(189)를 구비한 통상적인 컴퓨터일 수 있는 클라이언트 호스트(188) 상에서 실행될 수 있다. 클라이언트 호스트(188)는 애플리케이션 프로토콜 구현(192)(애플리케이션(180)에 의해 구현됨), 전송 프로토콜 구현(194) 및 네트워크 프로토콜 구현(196)을 포함한, 다양한 프로토콜 구현으로 이루어진 프로토콜 스택을 구비한다.
게스트(184)는 또한 앞서 언급한 프로토콜의 구현들을 가지며, 하이퍼바이저 호스트(198) 상의 하이퍼바이저(196)도 마찬가지이다. 하이퍼바이저 호스트(198)는 VM(186)의 실행을 관리하는 하이퍼바이저(916)를 구동시키는 컴퓨터이다. ("게스트 에이전트(182)"로도 지칭되는) 에이전트(182)는 게스트(184) 상에 상주하고 애플리케이션(180)에 의해 구현되는 동일한 애플리케이션 프로토콜을 구현할 수 있다. 애플리케이션(180) 및 게스트 에이전트(182)는 임의의 다양한 소프트웨어, 예를 들어 백그라운드 네트워크 서비스, 상호작용 애플리케이션, 실행파일, 보다 큰 애플리케이션 또는 스위트(suite)의 구성요소 등일 수 있다. 일 실시예에서, 애플리케이션(180)은 VM을 관리하는 가상 머신 관리 애플리케이션이고, 에이전트(182)는 애플리케이션(180)과의 통신에 따라 관리 기능을 수행한다.
VM(186)의 실행은 도 3에 도시되어 있지 않은 다른 VM을 관리할 수 있는 하이퍼바이저(196)에 의해 관리된다. 클라이언트 호스트(188)와 VM(186) 간에 직접 연결이 가능한 경우, 애플리케이션(180) 및 에이전트(182)는 다음과 같이 네트워크(190)를 통해 통신한다. 애플리케이션(180)은 애플리케이션 프로토콜(192)에 따라 애플리케이션 메시지(예를 들어, HTTP 패킷 또는 메시지)를 형성한다. 애플리케이션(180)은 그의 로컬 운영 시스템에게 메시지를 하이퍼바이저 호스트(198)의 네트워크 어드레스(예를 들어, HTTP 어드레스)로 전송하도록 요청한다. 로컬 운영 시스템의 프로토콜 스택은 하이퍼바이저 호스트(198)에 대한 연결을 개방하고, 애플리케이션(180)의 메시지를 전송 페이로드 내에 캡슐화하고, 전송 페이로드를 네트워크 패킷(202) 내에 캡슐화한다. (하이퍼바이저 호스트(198)의 네트워크 어드레스를 포함하는) 그의 네트워크 헤더는 네트워크(190)를 통해 하이퍼바이저 호스트(198)로 라우팅된다. 하이퍼바이저 호스트(198)는 패킷(202)을 VM(186)으로 전달할 수 있고, 그런 다음 게스트(184) 및 게스트 에이전트(182)로 전달할 수 있다. 이런식으로, 다양한 페이로드가 제각기의 프로토콜 구현에 의해 추출되고, 게스트 에이전트(182)는 전송된 애플리케이션 메시지(예를 들어, "커맨드 푸")를 수신한다. 이 프로세스는 게스트 에이전트(182)가 애플리케이션 메시지를 애플리케이션(192)에 전송하는 경우와 유사하나 그 역순이다.
본 명세서에서 사용되는 바와 같이, "클라이언트", "클라이언트 호스트", "애플리케이션" 및 "에이전트", "하이퍼바이저" 및 "하이퍼바이저 호스트"라는 용어는 그들의 가장 넓은 의미로 사용된다. 본 명세서에서 사용된 기법을 사용하여 통신하는 특정 플랫폼 및 소프트웨어는 작은 의미를 갖는다. 사실, 기존의 애플리케이션 레벨 소프트웨어 및 프로토콜은 특히 네트워크를 통해 통신하는 종단(예를 들어, 애플리케이션(180))에서 (있다 하더라도) 현저한 수정 없이 이하에서 설명되는 통신 기법을 사용할 수 있음이 주목할만하다. 또한, HTTP, IP(Internet Protocol), 및 TCP/UDP(Transmission Control protocol/Universal Datagram Protocol) 프로토콜은 때때로 예시를 위해 언급되었지만, 이하에서 설명되는 통신 기법은 임의의 표준 네트워킹 프로토콜 또는 이들의 버전(예를 들어, SOCKS)에 따라 동작할 수 있다. 또한, 명료성을 위해, "HTTP"는 HTTP의 버전 또는 변형 및 HTTPs(HTTP Secure)를 지칭하는 것으로 여겨질 것이다.
논리적 통신 경로, 애플리케이션 및 하이퍼바이저 실시예
도 4는 애플리케이션(180) 및 VM(186) 간의 논리적 통신 경로(220)의 개요를 나타낸다. 하이퍼바이저 호스트(198) 상의 프록시 에이전트(222)는 클라이언트 호스트(188)를 VM(186)에 연결한다. VM(186)과 클라이언트 호스트(188)는 통신하는데 필요한 네트워킹 구성요소(예를 들어, 프로토콜 스택)을 구비하지만, 직접 통신할 수는 없다. 예를 들어, 네트워크(190)는 그들 간에 네트워크 패킷을 라우팅할 수 없다(예를 들어, 네트워크(190) 상에 어드레싱가능하지 않을 수 있다). 그러나, 클라이언트 호스트(188)에서, 네트워크 패킷(223)은 가상화 계층의 네트워크 어드레스(및 하이퍼바이저 호스트(198)의 어드레스)로 전송될 수 있다. 패킷(223)이 수신되는 경우, 프록시 에이전트(222)는 패킷(223)이 VM(186)에 의해 수신될 것인지를 판정하고 가상화 계층(하이퍼바이저)으로 하여금 그 패킷을 사설 또는 로컬 통신 채널(224)를 통해 VM(186)으로 전달하게 한다.
일 실시예에서, VM-호스트 맵(226)은 어떤 VM이 어떤 하이퍼바이저 호스트 상에 상주하는지를 나타내는 정보를 포함한다. 클라이언트 호스트(188)는 (애플리케이션(180)에 의해 알려져 있을 수 있는) VM(186)의 공지된 식별자를 사용하여 VM-호스트 맵(226) 내에서 하이퍼바이저 호스트(198)의 네트워크 어드레스를 룩업할 수 있다. 식별자는 프록시 에이전트(22)에 의해 사용되도록 패킷(223)에 추가될 수 있다. 클라이언트 호스트(188)는 네트워크(190)가 패킷(223)을 하이퍼바이저 호스트(198)로 라우팅(226)하는데 사용하는 하이퍼바이저 호스트(198)의 룩업된 네트워크 어드레스로 패킷(223)을 전송한다. 전술한 바와 같이, 프록시 에이전트(222)는 (예를 들어, HTTP CONNECT 헤더로부터의) VM(186)의 식별자를 사용하여 가상화 계층으로 하여금 패킷(223)을 VM(186)으로 전달하게 한다.
도 5는 VM(186)과의 연결을 개시하는 클라이언트 호스트(188)를 나타낸다. 클라이언트 호스트(188)는 VM-호스트 맵(226)에 대한 액세스를 갖는다. 클라이언트 호스트(188)는 VM(186)과 통신하는 프로세스(250)를 수행한다. 단계(252)에서, 아마도 애플리케이션(180)의 로직의 일부로서 특정 VM(186)과 통신하기 위한 요청(254)이 수신되거나, 또는 외부 개체로부터 수신될 수 있다. 단계(256)에서, VM(186)의 식별자(예를 들어, 도 5의 "VM1")가 사용되어 VM(186)이 상주하는 호스트; 하이퍼바이저 호스트(198)를 룩업한다. 이 룩업은 하이퍼바이저 호스트(198)의 네트워크 어드레스 또는 네트워크 호스트이름을 반환할 수 있다(본 명세서에서 사용되는 바와 같이, "네트워크 어드레스는"는 수치적 어드레스 및 수치적 어드레스로 결정될 수 있는 호스트이름 모두를 포함하도록 간주된다). 단계(258)에서, 실질적인 페이로드를 포함하는 패킷(223)(예를 들어, 애플리케이션 프로토콜 메시지)이 형성된다. HTTP가 사용되는 실시예에서, 단계(258)에서 형성된 패킷(223)은 HTTP 패킷이고, 하이퍼바이저 호스트의 네트워크 어드레스는 HTTP 헤더에 포함된다. 단계(260)에서, 패킷(223)은 하이퍼바이저의 네트워크 어드레스(도 5의 "네트워크 어드레스1", 예를 들어, "128.1.2.3")를 사용하여 네트워크(190)로 전송된다.
일 실시예에서, 프로세스(250)는 애플리케이션(180)에 의해 완전히 또는 부분적으로 수행될 수 있다. 다른 실시예에서, 애플리케이션(180)은 VM(186)과 통신하는 다른 애플리케이션을 위한 프록시 또는 서비스로서 동작할 수 있다. 이들 애플리케이션은 VM 식별자 및 메시지 본문을 애플리케이션(180)에 전달하고, 애플리케이션(180)은 본문에 대한 패킷을 구축하고, VM 식별자를 추가하며, 패킷을 대응하는 하이퍼바이저 호스트에 전송한다. 또 다른 실시예에서, 룩업 테이블(VM-호스트 맵(226))을 유지하는 대신, VM 식별자는 VM에 대응하는 하이퍼바이저 호스트의 네트워크 어드레스에 맵핑되는 DNS(Domain Name Service) 서버(충돌을 피하기 위해 국부적인 또는 제한된 범위를 가질 수 있음)에 등록된 전역적으로 유일한 호스트이름일 수 있다. 이 경우, 애플리케이션 또는 클라이언트가 VM과 통신하기를 희망하는 경우, 정확한 하이퍼바이저 호스트의 네트워크 어드레스를 얻기 위해 로컬 DNS 서버를 통해 VM의 식별자(예를 들어, "페이크(fake)" DNS 이름)를 룩업한다.
VM 식별자의 형식은 프록시 에이전트(222) 및 클라이언트 호스트/애플리케이션이 동일한 이름을 공유하는 한 중요하지 않다. 시스템은 VM에 이름을 부여하는 임의의 협약, 예를 들어, "host#:vm"과 같은 맞춤형 URI(Universal Resource Identifier) 포맷을 사용할 수 있다.
도 6은 클라이언트 호스트(188)로부터의 패킷(223)을 처리하는 하이퍼바이저 호스트(198)를 나타낸다. 프록시 에이전트(222)는 가상화 계층 또는 하이퍼바이저(192)와 연계하여 동작하여 프로세스(280)를 수생한다. 단계(282)에서, 하이퍼바이저 호스트(198)는 타겟 VM, 즉 VM(186)의 VM 식별자(예를 들어, "VM1", "호스트1:VM1" 등)를 포함하는 패킷(223)을 수신한다. 프록시 에이전트(222)는 VM 식별자를 추출하고, 단계(283)에서 채널 테이블(284) 내에서 VM 식별자를 룩업한다. 채널 테이블(284)은 통신 채널(224,224A)을 각각의 VMS(186,186A)에 맵핑한다. 각 통신 채널(224,224A)은 하이퍼바이저 측 엔드 포인트(286) 및 VM 측 엔드 포인트(288)를 포함하는 한 쌍의 통신 엔드 포인트를 구비할 수 있다(일 실시예에서, VM 측 엔드 포인트(286)는 VM(186)의 가상 NIC이다). 단계(283)가 통신 채널을 발견하기 못하는 경우, 단계(290)가 수행되고 새로운 채널이 생성된다. 새로운 채널에 대한 참조가 채널 테이블(284)에 추가된다. 가상 NIC 또는 관리 NIC는 호스트 및 VM이 연결된 내부 네트워크 스위치에 접속된 가상 버스 네트워크 어댑터일 수 있으며, VM은 (예를 들어, 169 범위 내에서) 자동 내부 IP 어드레스를 가진다. 일 실시예에서, 각각의 게스트 VM이 허가없이 서로 통신하지 못하도록 내부 네트워크 스위치와 연계하여 ACL(Access Control List)이 유지되며, 호스트 대 VM 통신이 허용되나 VM 대 VM 통신은 ACL에서 명시적인 허가가 없다면 허용되지 않는다.
패킷(223)에 대한 정확한 통신 채널(224)이 식별되면, 단계(292)에서, 하이퍼바이저(192) 및/또는 프록시 에이전트(222)는 패킷(223)을 통신 채널(224)에 전달한다. 이어서, VM(186)은 프로세스(294)를 수행한다. 단계(296)에서, 게스트(184)는 패킷(223)을 수신한다. 단계(298)에서, 패킷(223)에 기초하여, 게스트(184)는 패킷(223)을 게스트 에이전트(182)로 전달하며, 이어서 이 게스트 에이전트(182)는 패킷의 실질적인 콘텐츠를 제공한다(예를 들어, "커맨드 푸"를 실행한다). 예를 들어, 패킷(223)의 애플리케이션 프로토콜 타입(예를 들어, HTTP)은 게스트에 의해 게스트 에이전트(182)가 주목하는(listen on) 포트 번호에 맵핑될 수 있다. 즉, 게스트 에이전트(182)는 특정 포트(예를 들어, 관리를 위해 지정된 WS-관리 포트 5986, 데이터용의 BITS 포트 8114 등)에 주목할 수 있다. 프록시 에이전트(222)(예를 들어, HTTP 프록시)는 (하이퍼바이저 호스트(186))의 외부 IP 어드레스의 동일한 포트(5986,8114)에 주목한다. 프록시 에이전트(222)는 임의의 입력 트래픽을 게스트 VM 내의 대응하는 포트로 전달함으로써, 게스트 VM으로의 다양한 제어 및 데이터 트래픽의 다중화를 가능하게 한다.
통신 채널과 관련하여, 일 실시예에서, 통신 채널은 패킷(223)을 하이퍼바이저 호스트(198)로 전달하는데 사용되는 동일한 네트워크 및/또는 전송 프로토콜에 기초한다. 사실, 통신 채널은 하이퍼바이저 호스트(192)와 VM(186) 간의 제한된 사설 네트워크 연결일 수 있다. 또 다른 실시예에서, 프록시 에이전트(222)는 패킷(223)을 VM(186)으로 전달하기 전에 패킷(223)을 조사하여 헤더 정보를 변경하거나 패킷(223)을 수정할 수 있다.
사실, VM이 클라이언트 호스트(188)로부터 직접 액세스가능 또는 어드레스가능한 경우에 그럴 수도 있겠지만, 애플리케이션(180) 및 게스트 에이전트(182)의 관점에서 보면, 이 둘이 통상의 네트워크 통신 프로토콜 및 어드레스를 사용하여 애플리케이션 레벨 통신을 교환할 수 있다. 패킷의 수신과 관련하여, 프록시 에이전트(222)는 알려진 프록시 기능과 유사하게 기능을 한다.
앞서 설명한 바와 같이, 통신은 또한 게스트(184) 또는 게스트 에이전트(182) 내로부터 발생할 수 있고 통신 채널 및 가상화 계층을 통해 프록시 에이전트(222)로 전달될 수 있다. 예를 들어, 게스트 에이전트(182)는 클라이언트 호스트(188)의 네트워크 어드레스로 구성될 수 있다. 그런 다음 프록시 에이전트(222)는 게스트로부터 발생한 패킷을 클라이언트 호스트(188)로 전송한다.
일 실시예에서, VM의 가시성을 제공하기 위해, 하이퍼바이저 호스트(VM이 실행되는 호스트)는 VM이 생성되는 경우 VM을 자기-등록(self-register)할 수 있다. 예를 들어, 하이퍼바이저 호스트는 새로운 VM에 대한 VM-호스트 맵핑 테이블(226)에 새로운 엔트리를 추가하여 호스트 및 새로운 VM을 식별할 수 있다.
결론
본 명세서에서 기술한 실시예 및 특징은 휘발성 또는 비휘발성 컴퓨터 또는 장치 판독가능 매체에 저장된 정보의 형태로 구현될 수 있다. 이것은 적어도 광학 저장소(예를 들어, CD-ROM, 자기 매체, 플래시 판독전용 메모리(ROM), 또는 임의의 현재 또는 미래의 디지털 정보 저장 수단과 같은 매체를 포함하도록 간주된다. 저장된 정보는 머신 실행가능 명령어(예를 들어, 컴파일된 실행가능 이진 코드), 소스 코드, 바이트코드, 또는 본 명세서에서 기술한 다양한 실시예를 수행하도록 컴퓨팅 장치를 인에이블링 또는 구성하는데 사용될 수 있는 임의의 다른 정보의 형태를 취할 수 있다. 이것은 또한 적어도 실시예를 수행하는 프로그램의 실행 동안의 중앙 처리 장치(CPU) 명령어와 같은 정보를 저장하는 랜덤 액세스 메모리(RAM) 및/또는 가상 메모리와 같은 휘발성 메모리, 및 프로그램 또는 실행파일이 로딩 및 실행되도록 하는 정보를 저장하는 비휘발성 매체를 포함하는 것으로 간주된다. 실시예 및 특징은 휴대용 장치, 워크스테이션, 서버, 이동 무선 장치 등을 포함한 임의의 유형의 컴퓨팅 장치 상에서 수행될 수 있다.

Claims (15)

  1. 제1 호스트 상에서 구동되는 타겟 가상 머신(VM)과 제2 호스트 상에서 구동되는 애플리케이션 간에 네트워크 연결을 제공하는 방법으로서,
    상기 제1 호스트에서 네트워크를 통해, 상기 애플리케이션에 의해 개시된 연결 요청을 수신하는 단계- 상기 요청은 상기 타겟 VM을 식별하는 정보를 포함함 -와,
    상기 VM을 관리하는 하이퍼바이저와 상기 타겟 VM 간에 통신 채널을 형성하는 단계와,
    상기 채널을 통해 상기 요청을 상기 타겟 VM으로 전달하는 단계
    를 포함하는 네트워크 연결 제공 방법.
  2. 제1항에 있어서,
    상기 통신 채널은 상기 하이퍼바이저 및 상기 타겟 VM에게만 액세스가능하여, 상기 제1 호스트 상의 또 다른 VM은 허가없이는 상기 타겟 VM과 통신하는데 상기 통신 채널을 사용할 수 없는
    네트워크 연결 제공 방법.

  3. 제1항에 있어서,
    상기 패킷은 인터넷 프로토콜 패킷을 포함하고, 상기 제1 호스트는 제1 인터넷 프로토콜(IP) 어드레스를 갖고, 상기 제2 호스트는 제2 IP 어드레스를 가지며, 상기 타겟 VM은 제3 IP 어드레스를 갖고, 상기 네트워크는 상기 제2 호스트의 상기 제2 IP 어드레스로부터 상기 VM의 상기 제3 IP 어드레스로 패킷을 라우팅할 수 없는
    네트워크 연결 제공 방법.
  4. 제3항에 있어서,
    패킷을 상기 제1 IP 어드레스로 어드레싱하는 상기 제2 호스트에 의해 상기 패킷을 상기 제2 호스트로부터 상기 제1 호스트로 전송하는 단계
    를 더 포함하는 네트워크 연결 제공 방법.
  5. 제4항에 있어서,
    상기 패킷은 애플리케이션 레벨 프로토콜을 준수하는 페이로드를 포함하고, 상기 방법은 상기 패킷이 통신 채널을 통해 상기 VM에 의해 수신된 이후 상기 VM 상에서 실행되는 에이전트로 상기 페이로드를 전달하는 단계를 더 포함하는
    네트워크 연결 제공 방법.
  6. 제1항에 있어서,
    상기 통신 채널은 상기 하이퍼바이저의 내부 네트워크 스위치 및 상기 하이퍼바이저에 의해 제공되고 상기 타겟 VM에 할당된 가상 네트워크 인터페이스 카드를 포함하는
    네트워크 연결 제공 방법.
  7. 제1항에 있어서,
    상기 제1 호스트 상의 상기 하이퍼바이저 및 상기 프록시 에이전트는 협력하여 상기 제2 호스트가 표준 네트워크 프로토콜을 사용하여 상기 타겟 VM과 통신할 수 있도록 하는
    네트워크 연결 제공 방법.
  8. 컴퓨터로 하여금 프로세스를 수행하게 하는 정보를 저장하는 하나 이상의 컴퓨터 판독가능 저장 매체로서,
    상기 프로세스는
    가상 머신(VM)과 상기 VM 상의 게스트 운영 시스템을 실행하는 단계- 상기 VM은 네트워크 레벨 프로토콜의 구현 및 전송 프로토콜의 구현을 포함하고, 상기 VM의 실행은 상기 컴퓨터 상의 하이퍼바이저에 의해 관리됨 -와,
    상기 컴퓨터 상에서 프록시 에이전트를 실행하는 단계와,
    상기 컴퓨터에서 패킷을 수신하는 단계- 상기 패킷은 프로토콜을 준수하고 네트워크 프로토콜을 사용하여 상기 컴퓨터의 네트워크 어드레스로 어드레싱 및 전송됨 -
    를 포함하되, 상기 프록시 에이전트는 상기 VM이 상기 패킷을 수신할 것으로 판정하고, 그에 응답하여 상기 하이퍼바이저는 상기 VM과 상기 하이퍼바이저 간의 사설 통신 채널을 통해 상기 VM에 상기 패킷을 전달하는,
    컴퓨터 판독가능 저장 매체.
  9. 제8항에 있어서,
    상기 VM은 상기 네트워크 프로토콜을 구현하고 상기 네트워크 프로토콜에 따른 네트워크 어드레스를 가지며, 상기 네트워크를 통해 상기 패킷을 상기 컴퓨터로 전송한 호스트는 상기 네트워크 및 상기 네트워크 프로토콜을 통해 상기 VM의 상기 네트워크 어드레스와 직접적인 연결을 가지지 않는
    컴퓨터 판독가능 저장 매체.
  10. 제8항에 있어서,
    상기 프로세스는 상기 컴퓨터에서, 어떤 VM이 상기 하이퍼바이저에 의해 관리되는 어떤 VM에 대응하는지를 나타내는 채널 정보를 유지하는 단계를 더 포함하는,
    컴퓨터 판독가능 저장 매체.
  11. 제1 호스트가 상기 제1 호스트 상의 가상 머신(VM)의 실행을 관리하는 가상화 계층을 포함하는 방법으로서,
    상기 가상화 계층과 상기 제1 호스트 상의 상기 VM 중 하나를 포함하는 VM 간에 통신 채널을 수립하는 단계- 상기 통신 채널은 상기 가상화 계층에서의 제1 엔드 포인트와 상기 VM에서의 제2 엔드 포인트를 구비함 -와,
    상기 제1 호스트에서 제2 호스트로부터 네트워크를 통해 패킷을 수신하는 단계와,
    상기 제1 호스트 상에서 실행되는 프록시 에이전트에 의해 상기 제2 호스트와 상기 VM 간에 간접적인 네트워크 연결을 가능하게 하여 상기 가상화 계층으로 하여금 상기 통신 채널 중 하나를 통해 상기 패킷을 상기 VM으로 전달하게 하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서,
    상기 방법은 상기 가상화 계층과 상기 VM 간의 통신 채널들을 각각 연관시키는 연관 정보를 유지하는 단계를 더 포함하고, 패킷이 상기 프록시 에이전트에 의해 처리되는 경우, 상기 프록시 에이전트는 상기 연관 정보를 사용하여 상기 패킷을 상기 VM 중 하나로 전달할 통신 채널을 선택하는, 방법.
  13. 제12항에 있어서,
    상기 프록시 에이전트는 하이퍼텍스트 전송 프로토콜(HTTP)을 포함하는, 방법.
  14. 제13항에 있어서,
    상기 패킷은 상기 VM을 식별하는 식별자를 포함하는 HTTP 헤더를 포함하고, 상기 프록시 에이전트는 상기 HTTP 헤더를 판독하고, 상기 식별자를 추출하며, 상기 식별자를 사용하여 상기 패킷을 수신할 채널을 선택하는, 방법.
  15. 제11항에 있어서,
    상기 VM의 게스트 운영 시스템은 전송 프로토콜 및 네트워크 프로토콜을 구현하여 상기 게스트의 네트워크 어드레스를 통해 상기 게스트 운영 시스템에 대한 연결을 허용하고, 상기 제2 호스트는 상기 네트워크를 통해 상기 네트워크 프로토콜 및 상기 네트워크 어드레스를 사용하여 상기 VM에 직접 연결될 수 없고, 상기 방법은 상기 제2 호스트가 상기 패킷을 상기 제1 호스트의 네트워크 어드레스로 어드레싱하는 단계를 더 포함하는, 방법.
KR1020137034642A 2011-06-27 2012-06-06 호스트 인에이블 관리 채널 KR101948951B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/169,024 US9191454B2 (en) 2011-06-27 2011-06-27 Host enabled management channel
US13/169,024 2011-06-27
PCT/US2012/041043 WO2013002978A2 (en) 2011-06-27 2012-06-06 Host enabled management channel

Publications (2)

Publication Number Publication Date
KR20140037145A true KR20140037145A (ko) 2014-03-26
KR101948951B1 KR101948951B1 (ko) 2019-02-15

Family

ID=47363068

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137034642A KR101948951B1 (ko) 2011-06-27 2012-06-06 호스트 인에이블 관리 채널

Country Status (8)

Country Link
US (2) US9191454B2 (ko)
EP (2) EP2724512B1 (ko)
JP (1) JP6077536B2 (ko)
KR (1) KR101948951B1 (ko)
CN (1) CN103621041B (ko)
ES (1) ES2719301T3 (ko)
TW (1) TWI544417B (ko)
WO (1) WO2013002978A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190037832A (ko) * 2017-09-29 2019-04-08 한국전력공사 기능 확장용 미들웨어 플랫폼이 탑재된 전자식 전력량계, 이를 이용한 전력량계 애플리케이션 관리 시스템 및 그 방법
KR102327886B1 (ko) * 2021-03-30 2021-11-18 (주)지란지교시큐리티 가상 머신 운영 장치 및 방법

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2005115205A1 (ja) * 2004-05-26 2008-03-27 友田セーリング株式会社 間接加熱ボイル装置、間接加熱冷却装置および濃縮装置
TWI451245B (zh) * 2011-09-14 2014-09-01 Inst Information Industry 虛擬機器監控方法、系統及儲存其之電腦可讀取紀錄媒體
WO2013099414A1 (ja) * 2011-12-26 2013-07-04 インターナショナル・ビジネス・マシーンズ・コーポレーション レジスタ・マッピング方法
CN102726027B (zh) * 2011-12-28 2014-05-21 华为技术有限公司 虚拟机全盘加密下预启动时的密钥传输方法和设备
US8825550B2 (en) * 2012-08-23 2014-09-02 Amazon Technologies, Inc. Scaling a virtual machine instance
US9135051B2 (en) * 2012-11-02 2015-09-15 Red Hat Israel, Ltd. Redirecting guest-generated events to an event aggregator in a networked virtualization environment
US9430259B2 (en) 2013-03-15 2016-08-30 Centurylink Intellectual Property Llc Virtualization congestion control framework for modifying execution of applications on virtual machine based on mass congestion indicator in host computing system
US9141416B2 (en) 2013-03-15 2015-09-22 Centurylink Intellectual Property Llc Virtualization congestion control framework for modifying execution of applications on virtual machine based on mass congestion indicator in host computing system
US10389577B2 (en) 2013-08-14 2019-08-20 Centurylink Intellectual Property Llc Ethernet carrier group alarm (CGA)
US9628433B2 (en) * 2013-08-27 2017-04-18 International Business Machines Corporation Transmission of short message service (SMS) message and notifications in virtualized wireless mobile computing device based on the status of intended recipient
US9619248B2 (en) * 2013-08-30 2017-04-11 Bluedata Software, Inc. Configuration manager and method for configuring a host system for processing a processing job in a virtual data-processing environment
US9832256B1 (en) * 2013-09-20 2017-11-28 Ca, Inc. Assigning client virtual machines based on location
US9065854B2 (en) * 2013-10-28 2015-06-23 Citrix Systems, Inc. Systems and methods for managing a guest virtual machine executing within a virtualized environment
US9864623B2 (en) * 2013-11-21 2018-01-09 Centurylink Intellectual Property Llc Physical to virtual network transport function abstraction
GB2521412A (en) * 2013-12-18 2015-06-24 Continuumbridge Ltd An apparatus for network bridging
KR101571810B1 (ko) * 2013-12-30 2015-11-25 주식회사 시큐아이 복수의 가상 머신들을 포함하는 컴퓨팅 시스템
JP6591143B2 (ja) * 2014-03-31 2019-10-16 株式会社東芝 通信装置、通信方法、通信システムおよびプログラム
US9998320B2 (en) 2014-04-03 2018-06-12 Centurylink Intellectual Property Llc Customer environment network functions virtualization (NFV)
US10110710B2 (en) 2014-04-03 2018-10-23 Centurylink Intellectual Property Llc System and method for implementing extension of customer LAN at provider network service point
CN106134203A (zh) * 2014-04-30 2016-11-16 Lg电子株式会社 广播信号发送装置、广播信号接收装置、广播信号发送方法、和广播信号接收方法
US9762625B2 (en) * 2014-05-28 2017-09-12 Apple Inc. Device and method for virtual private network connection establishment
US10225327B2 (en) 2014-08-13 2019-03-05 Centurylink Intellectual Property Llc Remoting application servers
US9898318B2 (en) 2014-08-15 2018-02-20 Centurylink Intellectual Property Llc Multi-line/multi-state virtualized OAM transponder
US9697026B1 (en) * 2014-10-17 2017-07-04 Trend Micro Inc. High availability service virtual machine in virtualization environment
US10169061B2 (en) 2015-05-06 2019-01-01 Ford Global Technologies, Llc Scalable and flexible operating system platform
US10673978B2 (en) 2015-05-06 2020-06-02 Centurylink Intellectual Property Llc Method and system for implementing network experience shifting using shared objects
US10481938B2 (en) 2015-05-06 2019-11-19 Centurylink Intellectual Property Llc System and method for implementing network experience shifting
US9882833B2 (en) 2015-09-28 2018-01-30 Centurylink Intellectual Property Llc Intent-based services orchestration
US10078528B2 (en) 2015-10-06 2018-09-18 Centurylink Intellectual Property Llc Virtual machine-to-port peripheral device driver for implementing communications between virtual machines and client devices
US10846117B1 (en) * 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
CN105681547B (zh) * 2015-12-31 2019-07-19 努比亚技术有限公司 中间件实例管理装置和方法
US9930029B2 (en) * 2016-02-25 2018-03-27 Nutanix, Inc. Hypervisor agnostic bidirectional secure channel for guest agent transport
US10270692B1 (en) * 2016-11-10 2019-04-23 Juniper Networks, Inc. Establishing a connection to multiple network devices using a single internet protocol (IP) address
US10360410B2 (en) * 2016-11-14 2019-07-23 International Business Machines Corporation Providing containers access to container daemon in multi-tenant environment
US10810030B2 (en) * 2016-12-06 2020-10-20 Nutanix, Inc. Identifying entities in a virtualization environment by converting heterogeneous string identifiers for interaction with a single API
US10496439B1 (en) * 2016-12-15 2019-12-03 Space Sciences Corporation Finite resource allocator with intrinsically subordinate operating system
US10191762B2 (en) * 2017-01-31 2019-01-29 Vmware, Inc. Transparent deployment of intermediary manager into guest operating system network traffic
US10644948B1 (en) * 2017-08-29 2020-05-05 Juniper Networks, Inc. Hypervisor detection of virtual machine and network interface compatibility
US11044229B2 (en) * 2017-12-22 2021-06-22 International Business Machines Corporation Dynamically opening ports for trusted application processes hosted in containers
US10909010B2 (en) 2018-04-10 2021-02-02 Nutanix, Inc. Efficient data restoration
US11182187B2 (en) * 2018-04-17 2021-11-23 Red Hat Israel, Ltd. Dynamic network connectivity verification in distributed virtual environments
US11635970B2 (en) 2020-04-17 2023-04-25 Nutanix, Inc. Integrated network boot operating system installation leveraging hyperconverged storage
US20230221976A1 (en) * 2022-01-12 2023-07-13 Dell Products L.P. Flexible server management in cluster environment

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424710B1 (en) 2002-12-18 2008-09-09 Vmware, Inc. TCP/IP offloading for virtual machines
US7257811B2 (en) * 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine
US7434003B2 (en) 2005-11-15 2008-10-07 Microsoft Corporation Efficient operating system operation on a hypervisor
AU2007208093A1 (en) 2006-01-24 2007-08-02 Citrix Systems, Inc. Methods and systems for providing access to a computing environment
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
JP4434168B2 (ja) * 2006-03-30 2010-03-17 日本電気株式会社 オンデマンドクライアントサービスシステム、その管理方法、及びプログラム
US7546398B2 (en) * 2006-08-01 2009-06-09 International Business Machines Corporation System and method for distributing virtual input/output operations across multiple logical partitions
US7996835B2 (en) 2006-10-10 2011-08-09 International Business Machines Corporation System, method and program for managing communication with multiple configurations for virtual machine
US8079030B1 (en) * 2007-03-13 2011-12-13 Symantec Corporation Detecting stealth network communications
US7984449B2 (en) 2007-08-15 2011-07-19 International Business Machines Corporation In-band communication with virtual machines via a hypervisor message bus
US8156492B2 (en) 2007-09-07 2012-04-10 Oracle International Corporation System and method to improve memory usage in virtual machines running as hypervisor guests
US20090287571A1 (en) 2008-03-26 2009-11-19 Robb Fujioka Hypervisor and virtual machine ware
US8359593B2 (en) 2008-04-21 2013-01-22 Vmware, Inc. Computer machine migration of file system images using a redo-log file
US8195774B2 (en) * 2008-05-23 2012-06-05 Vmware, Inc. Distributed virtual switch for virtualized computer systems
US8166254B2 (en) * 2008-06-06 2012-04-24 International Business Machines Corporation Hypervisor page fault processing in a shared memory partition data processing system
CN101631110B (zh) * 2008-07-15 2013-01-02 国际商业机器公司 基于相对位置动态确定连接建立机制的装置和方法
US9009329B2 (en) * 2008-11-25 2015-04-14 Microsoft Technology Licensing, Llc Platform for enabling terminal services virtualization
US9086913B2 (en) 2008-12-31 2015-07-21 Intel Corporation Processor extensions for execution of secure embedded containers
US9344401B2 (en) * 2009-02-04 2016-05-17 Citrix Systems, Inc. Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment
US8150971B2 (en) 2009-05-31 2012-04-03 Red Hat Israel, Ltd. Mechanism for migration of client-side virtual machine system resources
US8352941B1 (en) * 2009-06-29 2013-01-08 Emc Corporation Scalable and secure high-level storage access for cloud computing platforms
US8954957B2 (en) * 2009-07-01 2015-02-10 Riverbed Technology, Inc. Network traffic processing according to network traffic rule criteria and transferring network traffic metadata in a network device that includes hosted virtual machines
US8238324B2 (en) * 2009-07-24 2012-08-07 Broadcom Corporation Method and system for network aware virtual machines
CN101998629B (zh) * 2009-08-28 2014-05-21 国际商业机器公司 搜索虚拟资源的位置的方法、装置和系统
CN104065555B (zh) 2009-09-24 2018-09-18 日本电气株式会社 虚拟服务器间通信识别系统和虚拟服务器间通信识别方法
US8676949B2 (en) 2009-11-25 2014-03-18 Citrix Systems, Inc. Methods for interfacing with a virtualized computing service over a network using a lightweight client
US20110131330A1 (en) * 2009-12-02 2011-06-02 International Business Machines Corporation Collocating desktop virtual machines to proximity of the user
CN102648455B (zh) * 2009-12-04 2015-11-25 日本电气株式会社 服务器和流控制程序
US8468550B2 (en) * 2010-06-18 2013-06-18 At&T Intellectual Property I, L.P. Mobile devices having plurality of virtual interfaces
US20120054486A1 (en) * 2010-08-31 2012-03-01 MindTree Limited Securing A Virtual Environment And Virtual Machines
US9473518B2 (en) * 2010-10-22 2016-10-18 International Business Machines Corporation Securing network communications with logical partitions
US20120287931A1 (en) * 2011-05-13 2012-11-15 International Business Machines Corporation Techniques for securing a virtualized computing environment using a physical network switch
US20140006638A1 (en) * 2012-06-29 2014-01-02 Alan Kavanagh Method and a network node, for use in a data center, for routing an ipv4 packet over an ipv6 network

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190037832A (ko) * 2017-09-29 2019-04-08 한국전력공사 기능 확장용 미들웨어 플랫폼이 탑재된 전자식 전력량계, 이를 이용한 전력량계 애플리케이션 관리 시스템 및 그 방법
KR20210134573A (ko) * 2017-09-29 2021-11-10 한국전력공사 기능 확장용 미들웨어 플랫폼이 탑재된 전자식 전력량계, 이를 이용한 전력량계 애플리케이션 관리 시스템 및 그 방법
KR20210134572A (ko) * 2017-09-29 2021-11-10 한국전력공사 기능 확장용 미들웨어 플랫폼이 탑재된 전자식 전력량계, 이를 이용한 전력량계 애플리케이션 관리 시스템 및 그 방법
KR102327886B1 (ko) * 2021-03-30 2021-11-18 (주)지란지교시큐리티 가상 머신 운영 장치 및 방법

Also Published As

Publication number Publication date
TW201303734A (zh) 2013-01-16
US20120331461A1 (en) 2012-12-27
EP3490222A1 (en) 2019-05-29
ES2719301T3 (es) 2019-07-09
EP3490222B1 (en) 2020-04-15
EP2724512B1 (en) 2019-01-16
JP2014524086A (ja) 2014-09-18
US20160248818A1 (en) 2016-08-25
CN103621041B (zh) 2017-02-08
KR101948951B1 (ko) 2019-02-15
CN103621041A (zh) 2014-03-05
WO2013002978A3 (en) 2013-04-11
WO2013002978A2 (en) 2013-01-03
EP2724512A4 (en) 2015-08-05
EP2724512A2 (en) 2014-04-30
US9191454B2 (en) 2015-11-17
US9807129B2 (en) 2017-10-31
TWI544417B (zh) 2016-08-01
JP6077536B2 (ja) 2017-02-08

Similar Documents

Publication Publication Date Title
KR101948951B1 (ko) 호스트 인에이블 관리 채널
US10944811B2 (en) Hybrid cloud network monitoring system for tenant use
JP6771650B2 (ja) クラウドコンピューティングシステムにおいて仮想マシンが物理サーバにアクセスするための方法、装置、およびシステム
US10129206B2 (en) Addressing and managing an internal network of a virtual branch node
US10644945B2 (en) Containerized virtual network function
US8725898B1 (en) Scalable port address translations
US9432304B2 (en) System and method for supporting live migration of virtual machines based on an extended host channel adaptor (HCA) model
GB2511435B (en) Virtual network overlays
US20120290695A1 (en) Distributed Policy Service
US20120291024A1 (en) Virtual Managed Network
US10469529B2 (en) Address checking to protect against denial of service attack
US20190334862A1 (en) Seamless Network Characteristics For Hardware Isolated Virtualized Environments
US10853126B2 (en) Reprogramming network infrastructure in response to VM mobility
JP2022507398A (ja) プロバイダネットワークサービス拡張
US11949660B2 (en) Methods for enabling enhanced firewall rules via ARP-based annotations
US11915025B2 (en) System and method to support port mapping for virtual machine based container
US20240205191A1 (en) Security policy enforcement for additional instances of an application
US20240022634A1 (en) Input/output (i/o) performance in remote computing environments using a mini-filter driver
US20230418650A1 (en) System and method for sharing secret with an agent running in a virtual computing instance
KR101947689B1 (ko) 클라우드 서비스 방법 및 장치

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant