KR101840904B1 - 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이 - Google Patents

가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이 Download PDF

Info

Publication number
KR101840904B1
KR101840904B1 KR1020147003900A KR20147003900A KR101840904B1 KR 101840904 B1 KR101840904 B1 KR 101840904B1 KR 1020147003900 A KR1020147003900 A KR 1020147003900A KR 20147003900 A KR20147003900 A KR 20147003900A KR 101840904 B1 KR101840904 B1 KR 101840904B1
Authority
KR
South Korea
Prior art keywords
address
gateway
packet
network
customer
Prior art date
Application number
KR1020147003900A
Other languages
English (en)
Other versions
KR20140057553A (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 KR20140057553A publication Critical patent/KR20140057553A/ko
Application granted granted Critical
Publication of KR101840904B1 publication Critical patent/KR101840904B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2596Translation of addresses of the same type other than IP, e.g. translation from MAC to MAC addresses
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • 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/10Architectures or entities
    • H04L65/102Gateways
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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

Abstract

가상화 게이트웨이를 이용해 가상화된 네트워크와 비-가상화된 개체 간의 통신을 제어하기 위한 방법 및 장치가 제공된다. 패킷이 가상화된 네트워크 내 가상 머신에 의해 비-가상화된 개체로 전송된다. 상기 패킷을 상기 가상 머신의 호스트에 의해 가상화 게이트웨이의 제공자 주소로 라우팅된다. 상기 게이트웨이는 게이트웨이의 제공자 주소를 비-가상화된 개체의 도착지 주소로 변환하고 상기 패킷을 비-가상화된 개체로 전송한다. 상기 비-가상화된 개체는 물리적 자원, 가령, 물리적 서버 또는 저장 장치일 수 있다. 상기 물리적 자원은 하나의 고객 전용이거나 고객들 간에 공유될 수 있다.

Description

가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이{VIRTUALIZATION GATEWAY BETWEEN VIRTUALIZED AND NON-VIRTUALIZED NETWORKS}
본 발명은 가상화된 네트워크와 비-가상화된 네트워크 간 통신을 연결하는 가상화 게이트웨이(virtualization gateway)에 관한 것이며, 더 구체적으로, 가상화된 네트워크와 비-가상화된 개체 간 통신, 가령, 가상 머신(virtual machine)과 물리적 서버 간의 통신을 제어하기 위한 방법 및 장치에 관한 것이다.
데이터 센터가 고속 스위치 및 라우터에 의해 상호연결된 수백 또는 수천 개의 서버를 포함할 수 있다. 클라우드 데이터 센터는 복수의 소비자를 위한 다양한 서비스, 가령, 웹 애플리케이션, 이메일(e-mail) 서비스, 검색 엔진 서비스 등을 제공할 수 있다. 최근 들어, 데이터 센터는 데이터 센터 허브로의 기업 IT의 대규모의 통합 및 클라우드 컴퓨팅 서비스 제공자의 출현에 의해, 컴퓨팅을 변화시켰다.
가상 머신(VM: virtual machine) 기술에 의해, 하나 이상의 운영 체제 또는 가상 머신이 하나의 물리적 호스트 또는 물리적 머신 상에서 동시에 실행될 수 있다. 가상 머신 기술의 이점은 널리 인식되어 있다. 여러 이점들 중, 단일 호스트 상에 복수의 가상 머신을 실행시킬 수 있는 능력과 가상 머신을 하나의 호스트에서 다른 호스트로 이주(migrate)시킬 수 있는 능력이 있다.
클라우드 데이터 센터는 다양한 범위의 단(premise)에 간 고객 주소를 유지하면서 다중-입주자(multi-tenant) 또는 다중-조직(multi-organization) 네트워크 분리(isolation)을 지원하는 것이 필요하다. 고객은 주소 리넘버링(address renumbering)으로 인한 서비스의 저해(disrupting) 없이, 회사 네트워크에서 클라우드 데이터 센터로 서비스를 이동시킬 필요가 있고, 데이터 센터 관리자(data center administrator)는 네트워크를 재설정하거나 서비스를 저해하지 않고, 작업 부하를 이주시키거나 통합시킬 수 있는 유연성이 필요하다. 이들 요건을 만족시키기 위해, 클라우드 데이터 센터는 겹칠 가능성이 있는 고객 주소를 수용할 필요가 있다.
가상화된 네트워크에서, 가상 머신은 물리적 자원, 가령, 비-가상화된 저장 장치와 통신할 수 있다. 물리적 자원은 고객 위치에서 데이터 센터 내에 또는 그 밖의 다른 데이터 센터에 위치할 수 있다. 상기 물리적 자원은 하나의 고객 전용이거나 고객들 간에 공유될 수 있다. 상기 가상 머신 및 물리적 자원은 서로 다른 주소지정 스킴(addressing scheme)을 이용할 수 있다.
2개의 주소 세트 간 맵핑을 유지하면서, 물리적 또는 제공자 주소로부터 애플리케이션 또는 고객 주소를 분리하기 위해, 정책-제어되는 네트워크 가상화(policy-controlled network virtualization)를 이용하는 것이 제안되었다. 이로 인해서, 고객들은 서브넷(subnet)들 또는 단(premise)들 간에 서비스를 이동시키면서 고객 주소를 유지할 수 있다. 또한 이로 인해서, 데이터 센터 관리자는 서비스를 저해시키지 않고 서브넷 내에서, 그리고 서브넷들 간에, 서비스를 통합 및 이주시킬 수 있고, 데이터 센터 제공자는 고객으로부터의 겹치는 주소 공간을 수용할 수 있다.
본 발명은 가상화 게이트웨이(virtualization gateway)를 이용해 가상화된 네트워크(virtualized network)와 비-가상화된 개체(non-virtualized entity) 간 통신을 제어하기 위한 방법 및 장치를 제공한다. 패킷이 가상화된 네트워크 내 가상 머신에 의해 비-가상화된 개체로 전송된다. 상기 패킷은 가상 머신의 호스트에 의해 가상화 게이트웨이의 제공자 주소로 라우팅된다. 상기 게이트웨이는 게이트웨이의 제공자 주소를 비-가상화된 개체의 도착지 주소로 변환하고 패킷을 비-가상화된 개체로 전송한다.
일부 실시예에서, 비-가상화된 개체는 가상화된 네트워크의 주소 공간 내 고객 주소를 갖는 물리적 서버를 포함한다. 상기 게이트웨이는 게이트웨이의 제공자 주소를 물리적 서버의 고객 주소로 변환한다. 이러한 실시예에서, 물리적 서버는 가상화된 네트워크 전용일 수 있다.
또 다른 실시예에서, 비-가상화된 개체는 제공자 주소를 갖는 물리적 서버를 포함한다. 상기 게이트웨이는 네트워크 주소 변환(network address translation)을 수행함으로써, 상기 게이트웨이의 제공자 주소를 변환한다. 이러한 실시예에서, 물리적 서버는 고객들 간에 공유될 수 있다. 상기 네트워크 주소 변환은 제 1 가상 네트워크 내 가상 머신으로부터 수신된 패킷에 응답하여 제 1 네트워크 주소 변환을 수행하는 것과, 제 2 가상 네트워크 내 가상 머신으로부터 수신된 패킷에 응답하여 제 2 네트워크 주소 변환을 수행하는 것을 포함할 수 있다.
추가 실시예에서, 게이트웨이의 제공자 주소를 변환하는 것은 게이트웨이의 제공자 주소를 비-가상화된 개체의 주소로 맵핑하는 맵핑 정책을 포함하는 가상 네트워크 정책을 액세스하는 것을 포함한다. 상기 게이트웨이는 가상화된 네트워크의 가상 머신 관리자로부터 맵핑 정책 업데이트를 수신할 수 있다. 상기 맵핑 정책 업데이트는 가상화된 네트워크의 맵핑 정책 변화를 반영할 수 있다.
추가 실시예에서, 상기 게이트웨이는 비-가상화된 개체에 의해 가상화된 네트워크 내 가상 머신으로 전송된 패킷을 수신할 수 있다. 상기 게이트웨이는 가상 머신의 고객 주소를 상기 가상 머신의 제공자 주소로 변환하고 상기 패킷을 가상화된 네트워크의 가상 머신의 제공자 주소로 전송한다.
본 발명의 하나의 양태에 따라, 가상화된 네트워크와 비-가상화된 개체 간 통신을 제어하기 위한 방법이 제공된다. 상기 방법은, 가상화 게이트웨이에 의해, 가상화된 네트워크 내 가상 머신에 의해 비-가상화된 개체로 전송되고 가상 머신의 호스트에 의해 상기 게이트웨이의 제공자 주소로 라우팅된 패킷을 수신하는 단계와, 상기 게이트웨이에 의해, 상기 게이트웨이의 제공자 주소를 비-가상화된 개체의 도착지 주소로 변환하는 단계와, 상기 게이트웨이에 의해 상기 비-가상화된 개체로 상기 패킷을 전송하는 단계를 포함한다.
본 발명의 또 다른 양태에 따르면, 가상화된 네트워크와 비-가상화된 개체 간 통신을 제어하기 위한 가상화 게이트웨이가 제공된다. 상기 가상화 게이트웨이는 프로세싱 장치와, 상기 프로세싱 장치에 의해 실행될 때, 가상화된 네트워크 내 가상 머신에 의해 비-가상화된 개체로 전송되고 가상 머신의 호스트에 의해 게이트웨이의 제공자 주소로 라우팅되는 패킷을 수신하고, 상기 게이트웨이의 제공자 주소를 비-가상화된 개체의 도착지 주소로 변환하며, 상기 패킷을 상기 비-가상화된 개체로 전송하도록 구성된 명령이 인코딩된 저장 장치를 포함한다.
본 발명의 또 다른 양태에 따르면, 가상화된 네트워크와 비-가상화된 개체 간 통신을 제어하기 위한 방법이 제공된다. 상기 방법은, 호스트에 의해, 가상 머신에 의해 도착지 주소의 비-가상화된 개체로 전송되는 패킷을 수신하는 단계와, 상기 호스트에 의해 상기 패킷의 도착지 주소를 가상화 게이트웨이의 제공자 주소로 변환하는 단계와, 상기 호스트에 의해 상기 패킷을 주소 변환을 위해 상기 가상화 게이트웨이의 제공자 주소로 전송하고 상기 비-가상화된 개체로 전송하는 단계를 포함한다.
본 발명의 더 나은 이해를 위해, 본 발명에 참조로서 포함되는 첨부된 도면이 참조된다.
도 1은 고객 시스템으로 연결된 데이터 센터의 실시예의 개략적 블록도이다.
도 2는 데이터 센터의 하나의 실시예의 개략적 블록도로서, 가상화 게이트웨이를 통한 가상 머신과 전용 물리적 서버 간의 통신을 도시한다.
도 3은 개략적 블록도로서, 도 2의 가상화 게이트웨이의 하나의 실시예를 도시한다.
도 4는 본 발명의 실시예에 따라, 가상 머신과 전용 물리적 서버 간의 통신을 설명하는 흐름도이다.
도 5는 본 발명의 실시예에 따라, 물리적 서버와 가상화된 네트워크 내 가상 서버 간의 통신을 설명하는 흐름도이다.
도 6은 데이터 센터의 하나의 실시예의 개략적 블록도로서, 가상 머신과 공유 물리적 자원 간 통신을 도시한다.
도 7은 개략적 블록도로서, 도 6의 가상화 게이트웨이의 하나의 실시예를 도시한다.
도 8은 본 발명의 하나의 실시예에 따라, 가상 머신과 공유 물리적 자원 간 통신을 도시하는 흐름도이다.
도 9는 데이터 센터의 하나의 실시예의 개략적 블록도로서, 가상 머신의 실시간 이주의 경우 가상 머신과 공유 물리적 자원 간 통신을 도시한다.
도 10은 데이터 센터의 하나의 실시예의 개략적 블록도로서 가상 머신과 비-IP 자원 간 통신을 도시한다.
도 11은 데이터 센터의 하나의 실시예의 개략적 블록도로서, 가상화 게이트웨이 기능부가 프로비저닝되는 로드 밸런서를 도시한다.
도 12는 컴퓨팅 장치의 하나의 실시예의 개략적 블록도이다.
본 발명의 특징을 포함하는 데이터 센터의 하나의 실시예의 단순화된 개략 블록도가 도 1에 도시되어 있다. 데이터 센터(10)는 데이터 센터 네트워크 패브릭(data center network fabric)(20)에 의해 상호연결된 제 1 호스트(12), 제 2 호스트(14) 및 가상화 게이트웨이(16)를 포함할 수 있다. 본원에서 사용될 때, "호스트"라는 용어는 물리적 머신(physical machine), 일반적으로, 예를 들어 도 12에서 나타나거나 이하에서 기술되는 서버 또는 그 밖의 다른 컴퓨팅 장치를 지칭한다. 상기 데이터 센트는 가상 머신 관리자(virtual machine manager)(22)를 더 포함한다. 가상 머신 관리자(22)의 작업에는 이하에서 기재되겠지만 호스트(12 및 14)와 가상화 게이트웨이(16)로의 맵핑 정책(mapping policy)의 프로비저닝과 업데이트가 포함된다.
데이터 센터(10) 내의 각각의 호스트는, 타 가상 머신에 독립적으로 애플리케이션을 실행시킬 수 있는 완전한 운영 체제를 포함할 수 있는 하나 이상의 가상 머신(VM)을 호스팅할 수 있다. 도 1에 도시된 바와 같이, 제 1 호스트(12)는 가상 머신(30, 32, 및 34)을 호스팅하고 제 2 호스트(14)는 가상 머신(40 및 42)을 호스팅한다.
데이터 센터(10) 내의 각각의 호스트는 데이터 패킷을 호스트 내 가상 머신으로, 그리고 가상 머신으로부터 라우팅하기 위한 스위치를 포함할 수 있다. 단일 가상 머신의 경우, 스위치가 필요하지 않을 수 있다. 가상 머신 각각은 자신이 위치하고 있는 호스트를 통한 외부 통신을 위한 네트워크 어댑터(network adapter)를 포함할 수 있다. 호스트 각각은 호스트 내 가상 머신으로, 그리고 가상 머신으로부터의 주소 변환(address translation)을 위한 가상화 모듈을 더 포함한다.
도 1의 예시에서, 가상 머신(30 및 42)은 제 1 가상 네트워크, 또는 분리 그룹(isolation group)의 일부이고, 가상 머신(32 및 40)은 제 2 가상 네트워크, 또는 분리 그룹의 일부이며, 가상 머신(34)은 제 3 가상 네트워크 또는 분리 그룹의 일부이다. 3개의 가상 네트워크는 데이터 센터의 3개의 서로 다른 고객에 대응할 수 있고, 3개의 가상 네트워크의 가상 머신이 동일한 호스트에 의해 호스팅될 수 있을지라도, 서로 분리(isolate)되어 있다. 각각의 가상 네트워크는 동일하거나 서로 다른 호스트 상에 추가 가상 머신(도시되지 않음)을 포함할 수 있다. 덧붙여, 데이터 센터(10)는 추가 가상 네트워크를 호스팅할 수 있다.
도 1에 더 도시된 바와 같이, 가상화 게이트웨이(16)는 물리적 네트워크(50)를 통해 물리적 서버(52, 54 및 56)로 연결된다. 물리적 서버(52, 54 및 56) 각각은, 예를 들어, 저장 장치 또는 그 밖의 다른 비-가상화된 물리적 자원일 수 있다. 가상화 게이트웨이(16)는 가상 머신 중 하나 이상 또는 물리적 서버 중 하나 이상 간 통신을 촉진시킨다. 일부 실시예에서, 물리적 서버(52, 54 및 56)는 하나의 가상 네트워크, 가령, 가상 머신(30 및 42)을 포함하는 가상 네트워크 전용일 수 있다. 또 다른 실시예에서, 물리적 서버(52, 54 및 56)는 둘 이상의 가상 네트워크 간에 공유될 수 있다.
도 1에 추가로 도시된 바와 같이, 데이터 센터(10)는 로드 밸런서(load balancer)(60), 종단 라우터(edge router)(62) 및 인터넷(64)을 통해 고객 시스템(70)으로 연결된다. 도 1의 실시예에서, 고객 시스템(70)은 라우터(72), VPN 게이트웨이(74) 및 가상 머신(80 및 82)을 호스팅하는 기업 네트워크(enterprise network)(76)를 포함한다. 고객 시스템(70)은 어떠한 구성이라도 가질 수 있음을 이해할 것이다. 도 1의 실시예에서, 데이터 센터(10) 내에 가상 머신(30 및 42)을 포함하는 제 1 가상 네트워크는 고객 시스템(70) 전용이다.
데이터 센터(10)의 제 2 실시예가 도 2 및 3에 도시되어 있다. 도 2 및 3의 실시예에서, 제 1 호스트(12)는 가상 머신(100, 102 및 104)을 호스팅하고 제 2 호스트(14)는 가상 머신(106, 108 및 110)을 호스팅한다. 상기 가상 머신(100, 102, 및 106)은 제 1 가상 네트워크(112)의 요소이고(도 3), 가상 머신(104, 108 및 110)은 제 2 가상 네트워크(114)의 요소이다. 가상화 게이트웨이(120)는 네트워크(122)에 의해 물리적 서버(124) 및 저장 장치(126 및 128)로 연결된다.
도 2에 도시된 바와 같이, 각각의 가상 머신은 고객 주소 AA(애플리케이션 주소) 및 제공자 주소 LA(위치 또는 물리적 주소)와 연관된다. 상기 고객 주소 AA는 가상 머신의 IP 주소에 대응하고, 제공자 주소 LA는 데이터 센터(10) 내 가상 머신의 물리적 위치에 대응한다. 따라서 예를 들어 제 1 호스트(12) 내 가상 머신(100)은 고객 주소 AA1 및 제공자 주소 LA1을 가진다. 둘 이상의 가상 머신은 동일한 고객 주소 AA를 가질 수 있지만, 각각의 가상 머신의 제공자 주소 LA는 데이터 센터(10) 내에서 고유의 것이다. 고객 주소 AA1과 제공자 주소 LA1은 함께, 가상 머신(100)에 대한 맵핑 정책(mapping policy)을 형성하는 주소 쌍 AA1:LA1을 형성한다. 이하에서 기재될 바와 같이 상기 맵핑 정책은 가상 머신들 간 통신을 제어하고 가상 머신과 비-가상 개체 간 통신을 제어하도록 사용된다. 상기 고객 주소 AA는 가상 머신에 의해 사용되며, 반면에 제공자 주소 LA는 물리적 머신, 가령, 호스트에 의해 사용된다.
가상 네트워크에 대한 복수의 맵핑 정책이 하나의 가상 네트워크 정책, 가령, 도 2에 도시된 가상 네트워크 정책(140)으로 그룹지어질 수 있다. 상기 가상 네트워크 정책(140)은 제 1 호스트(12), 제 2 호스트(14), 가상 머신 관리자(22) 및 가상화 게이트웨이(120)에 위치하고 제 1 가상 네트워크(112)와 연관된다. 가상 네트워크(112)는 가상 머신(100, 102 및 106)을 포함하고 그 밖의 다른 가상 머신(도시되지 않음)을 포함할 수 있다. 가상 네트워크 정책(140) 내 각각의 항목은 고객 주소 AA 및 제공자 주소 LA를 포함하는 맵핑 정책을 포함한다.
도 2 및 3의 예시에서, 물리적 서버(124) 및 저장 장치(126 및 128)를 포함하는 물리적 자원은 가상 머신(100, 102 및 106)을 포함하는 제 1 가상 네트워크(112) 전용이다. 따라서 가상 네트워크 정책(140)은 가상 머신(100, 102 및 106)에 대한 항목, 물리적 서버(124)에 대한 항목, 및 저장 장치(126 및 128)에 대한 항목을 포함한다. 도 2에 도시된 바와 같이, 물리적 서버(124)에 고객 주소 AAP1가 할당되고, 저장 장치(126)에 고객 주소 AAP2가 할당되며, 저장 장치(128)에 고객 주소 AAP3이 할당된다. 추가로, 물리적 서버(124)와 저장 장치(126 및 128) 각각은 게이트웨이(120)의 제공자 주소 LAGW에 맵핑된다. 가상 네트워크 정책(140) 내 각각의 항목은 필요에 따라 추가 정보를 포함할 수 있다. 가상 네트워크 정책은 임의의 구조, 가령, 맵핑 정보를 포함하는 테이블을 가질 수 있다.
앞서 언급된 바와 같이, 가상 네트워크 정책(140)은 제 1 가상 네트워크(112) 내 각각의 가상 머신 및 각각의 물리적 자원에 대한 정책 맵핑 항목을 포함한다. 추가 가상 네트워크 정책은 추가 가상 네트워크에 대응한다. 예를 들어, 제 1 호스트(12) 및 제 2 호스트(14) 내 별도의 가상 네트워크 정책이 가상 머신(104, 108 및 110)을 포함하는 제 2 가상 네트워크(114)에 대한 맵핑 정책을 포함한다.
도 3에 도시된 바와 같이, 가상화 게이트웨이(120)는 가상화 모듈(160) 및 IP 포워딩 모듈(162)을 포함할 수 있다. 게이트웨이(120)는 데이터 센터 패브릭(20)으로 연결된 네트워크 인터페이스 카드(NIC)(164)와 네트워크(122)로 연결된 네트워크 인터페이스 카드(166)를 더 포함할 수 있다. NIC(164)는 데이터 센터 패브릭(20)을 통한 가상 네트워크(112)로의 통신을 가능하게 한다. NIC(166)는 네트워크(122)를 통한 물리적 서버(124) 및 저장 장치(126 및 128)로의 통신을 가능하게 한다. 화살표(168)로 표시되는 바와 같이, 가상화 모듈(160)은 가상 머신 관리자(22)와 통신한다. 본 발명의 실시예에 따라, 가상 머신 관리자(22)는 가상화 모듈(160)에게 주소 변환(address translation)을 정의하는 맵핑 정책을 제공한다.
도 2 및 3의 실시예에서, 물리적 서버(124) 및 저장 장치(126 및 128)는 가상 네트워크(112) 전용이고 가상 네트워크(112)와만 통신한다. 물리적 서버(124) 및 저장 장치(126 및 128)에 고객 주소 AAP1, AAP2 및 AAP3이 각각 할당된다. 따라서, 물리적 서버(124) 및 저장 장치(126 및 128)는 가상 네트워크(112)의 주소 공간의 일부로서 여겨질 수 있다. 가상 네트워크(112)에 대한 주소 공간은 가상 머신(100, 102 및 106)를 포함하는 제 1 부분과 물리적 서버(124) 및 저장 장치(126 및 128)를 포함하는 제 2 부분으로 나뉠 수 있다. 가상화 모듈(160)이 물리적 서버(124) 및 저장 장치(126 및 128) 중 하나로 주소지정된 패킷을 식별할 때 상기 패킷은 네트워크 인터페이스 카드(166) 및 네트워크(122)를 통해 자신의 도착지로 전송된다. 가상화 모듈(160)이 가상 머신(100, 102 및 106) 중 하나로 주소지정된 패킷을 식별할 때, 상기 패킷은 네트워크 인터페이스 카드(164) 및 데이터 센터 패브릭(20)을 통해 자신의 도착지로 전송된다.
도 4는 본 발명의 실시예에 따르는 가상 머신과 전용 물리적 서버 간의 통신을 위한 프로세스를 도시하는 흐름도이다. 구체적으로 가상 머신(100)이 물리적 서버(124)로 패킷을 전송한다.
동작(200)에서, 가상 머신(100)은 고객 주소 AAP1의 물리적 서버(124)로 주소지정된 패킷(220)(AA1→AAP1)을 전송한다(도 2의 화살표(1)). 동작(202)에서, 가상 머신(100)의 제 1 호스트(12)는 고객 주소 AAP1의 물리적 서버(124)에 대한 맵핑 정책을 포함하는 가상 네트워크 정책(140)을 참조한다. 맵핑 정책은 물리적 서버(124)로 주소지정된 패킷이 게이트웨이(120)의 제공자 주소 LAGW로 지향됨을 나타낸다.
동작(204)에서, 가상 머신(100)의 제 1 호스트(12)가 게이트웨이(120)의 제공자 주소 LAGW(LA1→LAGW)로 패킷을 캡슐화하여, 캡슐화된 패킷(222)을 제공할 수 있다(도 2). 동작(206)에서, 가상 머신(100)의 제 1 호스트(12)가 게이트웨이(120)로 주소 캡슐화에 의해 처리(도 2의 화살표(2))된 패킷을 전송한다.
동작(208)에서, 게이트웨이(120)는 제 1 호스트(12)로부터 캡슐화된 패킷(222)을 수신하고 상기 패킷을 역캡슐화(decapsulate)하여 역캡슐화된 패킷(224)을 제공할 수 있다. 특히, 패킷의 제공자 주소 부분이 제거되어, 물리적 서버(124)의 고객 주소 AAP1만 남겨진다. 동작(210)에서, 게이트웨이(120)는 역캡슐화된 패킷(224)을 물리적 서버(124)로 전달한다(도 2의 화살표(3)). 게이트웨이(120)의 가상 네트워크 정책이 게이트웨이(120)의 제공자 주소 LAGW와 물리적 서버(124)의 고객 주소 AAP1 간 맵핑 정책을 제공한다.
도 5는 본 발명의 실시예에 따르는 가상화된 네트워크에서 물리적 서버와 가상 머신 간의 통신을 위한 프로세스를 도시하는 흐름도이다. 도 5의 실시예에서, 물리적 서버(124)는 패킷을 제 1 가상 네트워크(112) 내 가상 머신(100)으로 전송한다. 상기 프로세스는 본질적으로 도 4에서 도시되고 앞서 기술된 프로세스의 역이다.
동작(250)에서, 주소 AAP1를 갖는 물리적 서버(124)는 고객 주소 AA1을 갖는 가상 머신(100)에게 패킷을 전송한다. 동작(252)에서, 게이트웨이(120)는 자신의 가상 네트워크 정책을 참조하여 가상 머신(100)의 고객 주소 AA1로부터 가상 머신(100)의 제공자 주소 LA1로의 맵핑을 획득할 수 있다. 동작(254)에서, 게이트웨이(120)는 가상 머신(100)의 제공자 주소(LAGW→LA1)로 패킷을 캡슐화할 수 있다. 동작(256)에서, 게이트웨이(120)는 캡슐화된 패킷을 가상 머신(100)의 호스트(12)에게 전송한다.
동작(258)에서, 가상 머신(100)의 호스트(12)는 패킷을 수신하고 가상 네트워크 정책(140) 중, 가상 머신(100)의 제공자 주소 LA1를 가상 머신(100)의 고객 주소 AA1로 관련시키는 맵핑 정책에 따라 상기 패킷을 역캡슐화(decapsulate)한다. 동작(260)에서, 역캡슐화된 패킷은 고객 주소 AA1의 가상 머신(100)으로 전달된다.
데이터 센터(10)의 제 3 실시예가 도 6 및 7에 도시되어 있다. 도 6 및 7의 실시예에서, 앞서 기재된 바와 같이, 제 1 호스트(12)는 가상 머신(100, 102 및 104)을 호스팅한다. 가상 머신(100 및 102)은 제 1 가상 네트워크(112)의 요소이고(도 7), 가상 머신(104)은 제 2 가상 네트워크(114)의 요소이다. 앞서 언급된 바와 같이, 가상 네트워크(112 및 114)는 추가 요소(도시되지 않음)를 포함할 수 있다.
도 6 및 7에 추가로 도시된 바와 같이, 데이터 센터(10)는 물리적 서버(300) 및 저장 장치(302 및 304)를 포함한다. 상기 물리적 서버(300) 및 저장 장치(302 및 304)는 각각 도 2 및 3에 도시된 물리적 서버(124) 및 저장 장치(126 및 128)에 대응할 수 있다. 그러나 물리적 서버(300) 및 저장 장치(302 및 304)는 도 2 및 3에 도시된 물리적 자원과 상이한 주소지정 스킴을 가진다. 물리적 서버(300) 및 저장 장치(302 및 304)는 네트워크(310)를 통해 데이터 센터 네트워크 패브릭(20)으로 연결되고, 각각 제공자 주소 LAP1, LAP2, 및 LAP3을 가진다.
도 6 및 7에 추가로 도시된 바와 같이, 데이터 센터(10)는 제 1 NAT(Network Address Translation) 모듈(322) 및 제 2 NAT 모듈(324)을 호스팅하는 가상화 게이트웨이(320)를 포함한다. 제 1 NAT 모듈(322)은 제 1 가상 네트워크(112)와 함께 동작하며 제 2 NAT 모듈(324)은 제 2 가상 네트워크(114)와 함께 동작한다. 상기 NAT 모듈은, 이하에서 기재될 바와 같이, 서로 다른 가상 네트워크에 의한 물리적 자원의 공유를 가능하게 한다.
도 6에 도시된 바와 같이, 제 1 호스트(12)는 제 1 가상 네트워크(112)에서의 고객 주소와 제공자 주소 간의 맵핑 정책을 포함하는 가상 네트워크 정책(140)을 포함한다. 제 1 호스트(12)는 또한, 제 2 가상 네트워크(114)에서의 고객 주소와 제공자 주소 간 맵핑 정책을 포함하는 제 2 가상 네트워크 정책(142)을 포함한다. 도시된 바와 같이, 가상 네트워크 정책(140)은 고객 주소 AAP1, AAP2, 및 AAP3을 가상화 게이트웨이(320)의 제공자 주소 LAGW로 맵핑한다. 가상화 게이트웨이(320)는 물리적 자원의 고객 주소 AAP1, AAP2, 및 AAP3를 각각 제공자 주소 LAP1, LAP2, 및 LAP3으로 맵핑함으로써, 가상 네트워크 정책(140)과 상이한 가상 네트워크 정책(330)을 포함한다. 도 7에 도시된 바와 같이, 가상화 게이트웨이(320)는 가상화 모듈(320) 및 네트워크 인터페이스 카드(342)를 포함한다. 상기 네트워크 인터페이스 카드(342)는 데이터 센터 패브릭(20)에 연결되고 네트워크(310)를 통해 물리적 서버(300) 및 저장 장치(302 및 304)로 연결된다.
도 8은 본 발명의 실시예에 따르는 가상 머신과 공유된 물리적 자원 간 통신을 위한 프로세스의 흐름도이다. 프로세스의 동작들은 도 6의 대응하는 화살표에 의해 나타내어진다.
동작(350)에서, 가상 머신(100)이 고객 주소 AAP1의 물리적 서버(300)로 주소지정된 패킷(352)을 전송한다(도 6의 화살표(1)). 동작(354)에서, 가상 머신(100)의 제 1 호스트(12)는 가상 네트워크 정책(140) 중, 물리적 서버(300)에 대응하는 맵핑 정책을 참조한다. 제 1 호스트(12)는 고객 주소 AAP1의 물리적 서버(300)가 가상화 게이트웨이(320)의 제공자 주소 LAGW에 맵핑함을 결정한다.
동작(356)에서, 제 1 호스트(12)는 게이트웨이(320)의 제공자 주소 LAGW로 패킷을 캡슐화하여 패킷(358)을 제공할 수 있다(도 6). 동작(360)에서, 제 1 호스트(12)는 캡슐화된 패킷(358)을 게이트웨이(320)로 전송한다.
동작(362)에서, 게이트웨이(320)는 가상 머신(100)의 제 1 호스트(12)로부터 캡슐화된 패킷(358)을 수신한다. 동작(364)에서, 게이트웨이(320)는 수신된 패킷(358)을 역캡슐화하여 역캡슐화된 패킷(366)을 제공할 수 있다(도 6의 화살표(2)). 동작(370)에서, 게이트웨이(320)의 제 1 NAT 모듈(322)은 역캡슐화된 패킷(366)의 네트워크 주소 변환을 수행하여 NAT 패킷(372)을 제공할 수 있다(도 6의 화살표(3)). 상기 NAT 패킷(372)은 고객 주소 공간 내에 있고 고객 주소 AANAT가 주소 AAP1의 물리적 서버(300)로 패킷을 전송하는 중임을 나타낸다. 동작(374)에서, 게이트웨이(320)는 고객 주소 공간으로부터 제공자 주소 공간으로 NAT 패킷(372)을 다시 써서(rewrite), NAT 패킷(376)을 제공할 수 있다(도 6의 화살표(4)). 상기 NAT 패킷(376)은 제공자 주소 LANAT가 패킷을 제공자 주소 LAP1의 물리적 서버(300)로 전송하는 중임을 나타낸다. 게이트웨이(320)는 NAT 패킷(376)을 제공자 주소 LAP1의 물리적 서버(300)로 전송한다(도 6의 화살표(5)).
제 1 NAT 모듈(322)이 가상 머신(100)에 대응하는 항목을 확립한 후, 상기 물리적 서버(300)는, 도 8에 도시되고 상기에서 기술된 동작의 역을 이용해, 가상 머신(100)으로 리플라이 패킷(reply packet)을 전송할 수 있다. 유사한 절차에서, 제 2 가상 네트워크(114) 내 가상 머신(104)은 제 2 NAT 모듈(324)을 이용해 물리적 서버(300)로 패킷을 전송할 수 있다.
앞서 언급된 바와 같이, 데이터 센터(10) 내 가상 머신 호스트는 물리적 서버를 게이트웨이(320)의 제공자 주소에 맵핑하는 맵핑 정책을 포함한다. 이와 달리, 게이트웨이(320)는 물리적 자원의 고객 주소를 대응하는 제공자 주소로 맵핑하는 맵핑 정책을 포함한다. 덧붙여, 제 1 호스트(12)는 게이트웨이(320)로 지향되는 패킷을 캡슐화하며, 반면에, 게이트웨이(320)는 물리적 서버(300)로 지향되는 패킷을 다시 쓴다(rewrite). 구체적으로, 제 1 호스트(12) 내 가상 네트워크 정책(140)은 게이트웨이(320)로 전송되는 패킷의 주소 캡슐화를 위한 맵핑 정책을 포함하고, 가상화 게이트웨이(330) 내 가상 네트워크 정책(330)은 물리적 자원으로 전송되는 패킷의 주소 다시 쓰기를 위한 맵핑 정책을 포함한다.
도 9는 가상 머신의 실시간 이주(live migration)의 경우, 가상 머신과 공유 물리적 자원 간의 통신을 도시하는 데이터 센터의 하나의 실시예의 개략적 블록도이다. 도 9에 도시된 바와 같이, 가상 머신(100)은 실시간 이주에 의해, 화살표(400)에 의해 표시되는 것처럼, 제 1 호스트(12)에서 제 3 호스트(410)로 전송된다. 실시간 이주에 의해, 가상 머신의 동작의 상당한 저해(disruption) 없이, 실행 중인 가상 머신이 하나의 호스트에서 또 다른 호스트로 전송될 수 있다. 상기 실시간 이주는 가상 머신 관리자(22)에 의해 제어될 수 있다.
도 9의 예시에서, 이주된 가상 머신(100m)의 고객 주소 AA1은 변경되지 않은 채 유지되지만, 이주된 가상 머신(100m)의 제공자 주소는 제공자 주소 LA1에서 제공자 주소 LANEW로 변경된다. 이주된 가상 머신(100m)의 새로운 제공자 주소 LANEW는 각각의 호스트 및 가상 네트워크의 가상화 게이트웨이(320)의 가상 네트워크 정책에서 반영되어 패킷 손실을 피할 수 있다. 따라서 가상 네트워크의 호스트 및 게이트웨이(320) 각각에서의 맵핑 정책은 실시간 이주 후 업데이트된다.
실시간 이주에 앞서, 제 1 호스트(12) 상의 가상 머신(100)은 도 6-8에 도시되고 앞서 기술된 프로세스를 이용해, 도 9의 화살표(420)에 의해 나타내어지는 바와 같이, 패킷을 저장 장치(302)로 전송한다. 상기 가상화 게이트웨이(320)는 제 1 호스트(12)로부터 캡슐화된 패킷을 수신하고, 패킷의 역캡슐화 및 네트워크 주소 변환(network address translation)을 수행하여, NAT 패킷을 제공할 수 있다. 상기 NAT 패킷은 제공자 주소 LANAT로 변환되고 저장 장치(302)로 전송된다.
실시간 이주 후, 게이트웨이(320) 내 가상 네트워크 정책(330)은 이주된 가상 머신(100m)의 새로운 맵핑 정책을 반영하도록 업데이트되었다. 구체적으로, 가상 네트워크 정책(330)은, 이주된 가상 머신(100m)에 대한 맵핑 정책을 정의하는 주소 쌍 AA1:LANEW를 포함한다. 이주된 가상 머신(100m)이 저장 장치(302)로 패킷을 전송한 경우, 상기 패킷은 제 3 호스트(410)에 의해 캡슐화되고, 화살표(422)에 의해 나타내어지는 바와 같이, 게이트웨이(320)로 전송된다. 게이트웨이(320)는 이주된 가상 머신(100m)에 대한 업데이트된 맵핑 정책을 검증하고 도 6-8에서 도시되고 상기에서 기술된 것과 같은 역캡슐화 및 네트워크 주소 변환을 수행한다. 네트워크 주소 변환 후, NAT 패킷이 제공자 주소 LANAT로 변환되고 저장 장치(302)로 전송된다. 따라서 실시간 이주 전과 후, 패킷은 제공자 주소 LANAT로부터 저장 장치(302)에 의해 수신되는 것처럼 보인다.
실제로, 네트워크 주소 변환은 가상 머신(100)과 물리적 자원 간의 연결을 유지하면서 가상 머신(100)의 제공자 주소의 변화로 가장하는 것이다. 가상 네트워크 정책(330)은 실시간 이주 전과 후에, 가상 머신(100)에 대한 제공자 주소의 올바른 맵핑을 보장한다. 이러한 접근법으로, 실시간 이주는 NAT 주소 LANAT만 보기 때문에 물리적 서버에 투명하다.
도 10은 가상 머신과 비-IP(non-IP) 자원 간의 통신을 도시하는, 데이터 센트의 하나의 실시예의 개략적인 블록도이다. 도 10의 데이터 센터(10)에서, 제 1 호스트(12)는 가상 머신(450)을 호스팅하고 제 2 호스트(14)는 가상 머신(452)을 호스팅한다. 물리적 서버(300)와 저장 장치(302 및 304)를 포함하는 비-IP 자원은 네트워크(310) 및 비-IP 게이트웨이(460)를 통해 데이터 센터 네트워크 패브릭(20)으로 연결된다. 제 1 호스트(12)는 비-IP 자원으로 전송되는 패킷의 주소 캡슐화를 위한 맵핑 정책을 갖는 가상 네트워크 정책(456)을 포함한다.
도 10에서 추가로 도시된 바와 같이, 가상 머신(452)은 패킷(470)을 저장 장치(304)로 전송한다(도 10의 화살표(1)). 상기 가상 머신(452)은 패킷을 주소지정할 때 이더넷 MAC 주소를 이용한다. 구체적으로, 가상 머신(452)은 저장 장치(304)의 MAC 주소를 이용한다(MAC2→MACP3). 제 2 호스트(14)에 의해 상기 패킷(470)은 게이트웨이(460)의 제공자 주소 LANIP로 캡슐화되어 캡슐화된 패킷(472)을 제공할 수 있다. 상기 캡슐화된 패킷(472)은 게이트웨이(460)로 전송되고 역캡슐화되어 역캡슐화된 패킷(474)을 제공할 수 있다(도 10의 화살표(2)). 상기 역캡슐화된 패킷(474)은 게이트웨이(460)에 의해 저장 장치(304)로 전송된다.
도 11은 가상화 게이트웨이 기능부가 프로비저닝된 로드 밸런서(load balancer)를 도시하는, 데이터 센터의 개략적 블록도이다. 도 11의 데이터 센터(10)에서, 제 1 호스트(12)는 가상 머신(100, 102 및 104)을 호스팅하고, 제 2 호스트(14)는 가상 머신(106, 108 및 110)을 호스팅하며, 제 3 호스트(510)는 가상 머신(520, 522 및 524)을 호스팅하고, 제 4 호스트(530)는 가상 머신(540 및 542)을 호스팅한다. 가상 머신(100, 102, 106, 520, 524 및 540)은 가상 네트워크 정책(550)에 의해 나타애는 것처럼, 제 1 가상 네트워크의 요소이다. 가상 머신(104, 108, 110, 522 및 542)은 가상 네트워크 정책(552)에 의해 나타내어지는 제 2 가상 네트워크의 요소이다.
로드 밸런서(560)는 인터넷과 데이터 센터 네트워크 패브릭(20) 간에 연결된다. 상기 로드 밸런서(560)는 정책 기반 네트워크 가상화를 포함하고 가상 네트워크 정책(550 및 552)을 포함한다.
도 11에 도시된 바와 같이, 게이트웨이의 하나의 실시예는 가상화 게이트웨이 기능부를 로드 밸런서로 통합시켜, 다중-입주자(multi-tenant)형 가상화-인지(virtualization-aware) 로드 밸런서를 구현하기 위한 것이다. 기존 로드 밸런서는 하나의 외향 IP 주소(external-facing IP address), 이른바 VIP로의 질의를 직접 IP에 대한 서로 다른 DIP에 의해 나타내어지는 백엔드 서버 작업부하의 세트로 확산시킴으로써, "밸런싱"을 수행한다. 가상화 기능부와 통합된 로드 밸런서는 다음의 방식으로 동작할 수 있다. 로드 밸런서의 외향 측(external facing side)이, 고객 당 하나씩인 복수의 VIP에 의해 구성된다. 특정 고객의 AA 주소 공간에서, 각각의 VIP는 DIP의 세트로 맵핑될 수 있다. AA DIP의 세트는, 트래픽을 가상화의 올바른 AA-LA 맵핑 정책으로 관련시키는 데 사용될 수 있는 고객 식별자에 의해 인덱싱된다. 예를 들어, 로드 밸런서는 다음의 2개의 VIP 주소를 가질 수 있다: 고객 A에 대해 VIPA=128.1.1.1, 및 고객 B에 대해 VIPB=128.1.1.2. 고객 A(128.1.1.1)에 대한 로드 밸런싱 알고리즘은 고객 A에 대한 2개의 고객 A VM AA: 10.1.1.1 및 10.1.1.2의 세트로 고르게 확산시키는 것이며, 반면에 고객 B(128.1.1.2)에 대하여는 맵핑이 2개의 고객 B VM AA: 또한 10.1.1.1 및 10.1.1.2로 이뤄지는 것이다.
로드 밸런서는 VIPA 및 VIPB에 대해 따로 따로 로드 밸런싱 테이블(load balancing table)을 인덱싱하여, 고객 A 및 고객 B에 대한 올바른 가상화 맵핑 테이블이 임의의 들어오는 요청에 대하여 사용되도록 할 것이다. 예를 들어, 고객 A의 AA: 10.1.1.1 및 10.1.1.2는 LA1과 LA2에 맵핑될 수 있고, 반면에, 고객 B의 AA: 10.1.1.1 및 10.1.1.2는 LA3과 LA4에 맵핑될 수 있다. 이러한 방식으로 로드 밸런싱 기능부가 매끄럽게(seamlessly) 내부 데이터 센터 가상화 정책과 통합될 수 있다. 앞서 기재된 바와 같이, 게이트웨이의 통합된 아키텍처의 이점은, VM 전개 및 실시간 이주를 통해, 게이트웨이의 가상화 모듈이 또한 데이터 센터 가상화 정책 프레임워크의 일부가 될 것이라는 점이다. 한 가지 혜택은 통합 로드 밸런서 내 AA-LA 맵핑도 업데이트되는 한, 이제 백엔드 작업부하가 물리적 서브넷을 가로질러 이주될 수 있다는 것이다. 이들 모두는, VM에 대한 AA인 DIP가 변경되지 않은 채 유지되기 때문에, 기존 로드 밸런싱 또는 프록시 세션을 와해시키지 않고 발생할 수 있다.
다중-입주자(multi-tenant) 환경에서의 IP 멀티캐스트를 지원하기 위해, 관리 서버가 LA 공간에서 각각의 고객 가상 네트워크에 멀티캐스트 주소를 할당할 수 있다. 고객 VM으로부터의 모든 멀티캐스트 트래픽은 캡슐화되고 데이터 센터 내 고객 특정 멀티캐스트 그룹(또는 주소)로 재지향될 것이다. 또한 멀티캐스트 트래픽의 분리(isolation)는 각각의 고객에 대한 이러한 개별적인 멀티캐스트 그룹에 의해 이뤄진다. 예를 들어, 관리 툴, 가령, VMM을 이용하여, 데이터 센터 관리자(data center administrator)는 고객 A에 대해 224.0.0.1을 할당하고 고객 B에 대해 224.0.0.2를 할당할 수 있다. 고객 A와 고객 B 모두에 대한 VM이 멀티캐스트 그룹 224.1.2.3(도착지 주소)이 도착지인 멀티캐스트 트래픽을 전송하는 동안, 가상화 규칙이 다음을 특정할 것이다:
(정책 1) 패킷이 고객 A의 VM으로부터 임의의 멀티캐스트 또는 브로드캐스트 도착지로 전송 -> 224.0.0.1로 캡슐화
(정책 2) 패킷이 고객 B의 VM으로부터 임의의 멀티캐스트 또는 브로드캐스트 도착지로 전송 -> 224.0.0.2로 캡슐화
이들 정책을 기반으로, 고객 A에 의해 AAA1로부터 224.1.2.3로 전송되는 패킷은 LAA1로부터 224.0.0.1로로 캡슐화될 것이고, 고객 B에 의해 AAB1로부터 224.1.2.3로 전송되는 패킷은 LAB1로부터 224.0.0.2로로 캡슐화될 것이다. 고객 A의 VM의 모든 물리적 호스트가 모두 224.0.0.1 하에 있고, 고객 B의 VM의 모든 물리적 호스트가 모두 224.0.0.2 하에 있는 한, 멀티캐스트 패킷은 고객 A 및 고객 B의 VM를 위한 모든 호스트에 각각 도달한다. 멀티캐스트 패킷을 수신하면, 가상화 정책이 또한 224.0.0.1로 전송된 패킷을 고객 A의 VM이 도착지라고 구별하고, 반면에 224.0.0.2로 전송된 패킷은 고객 B의 VM이 도착지라고 구별할 것이다. 패킷은 역캡슐화되고 가상 규칙을 기초로 올바른 VM으로 표시될 것이다.
본 발명은 그 밖의 다른 다양한 범용 또는 특수 용도의 컴퓨팅 시스템 환경 또는 구성과 함께 동작한다. 본 발명과 함께 사용되기 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경, 및/또는 구성의 비-제한적 예시로는, 개인 컴퓨터, 서버 컴퓨터, 핸드헬드 또는 랩톱 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 시스템, 셋 톱 박스, 프로그램 가능한 소비자 전자장치, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기의 시스템 또는 장치 중 임의의 것을 포함하는 분산 컴퓨팅 환경 등이 있다.
본 발명은 컴퓨터 실행 가능형 명령, 가령, 프로그램 모듈이 컴퓨터에 의해 실행되는 일반적인 맥락에서 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하고 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조, 등을 포함한다. 본 발명은 또한 작업이 통신 네트워크를 통해 링크 연결되는 원격 프로세싱 장치에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 및 원격 컴퓨터 저장 매체 모두에 위치할 수 있다.
도 12를 참조하여, 본 발명을 구현하기 위한 예시적 시스템은 컴퓨터(1010)의 형태로 된 범용 컴퓨팅 장치를 포함한다. 도 12의 컴퓨팅 장치는 호스트, 가상 머신 관리자, 및 본원에 기재된 그 밖의 다른 임의의 컴퓨팅 장치를 구현하기 위해 사용될 수 있다. 컴퓨터(1010)의 구성요소의 비-제한적 예를 들면, 프로세싱 유닛(1020), 시스템 메모리(1030), 및 시스템 메모리를 포함하는 다양한 시스템 구성요소를 프로세싱 유닛(1020)으로 연결하는 시스템 버스(1021)가 있을 수 있다. 상기 시스템(1021)은, 메모리 버스 또는 메모리 제어기, 주변 장치 버스, 및 다양한 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 포함하는 몇 가지 유형의 버스 구조 중 임의의 구조일 수 있다. 비-제한적 예를 들면, 이러한 아키텍처는 산업 표준 아키텍처(ISA: Industry Standard Architecture) 버스, 마이크로 채널 아키텍처(MCA: Micro Channel Architecture) 버스, 개선형 ISA(EISA) 버스, 비디오 일렉트로닉스 표준 협회(VESA: Video Electronics Standards Association) 로컬 버스, 및 메자닌 버스(Mezzanine bus)라고도 알려진 주변기기 구성요소 상호연결(PCI: Peripheral Component Interconnect) 버스를 포함한다.
일반적으로 컴퓨터(1010)는 다양한 컴퓨터 판독형 매체를 포함한다. 컴퓨터 판독형 매체는 컴퓨터(1010)에 의해 액세스될 수 있고, 휘발성 및 비휘발성 매체, 이동식 및 비-이동식 매체를 포함하는 임의의 가용 매체일 수 있다. 비-제한적 예를 들면, 컴퓨터 판독형 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 정보, 가령, 컴퓨터 판독형 명령, 데이터 구조, 프로그램 모듈, 또는 그 밖의 다른 데이터의 저장을 위해 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비-이동식 매체를 모두 포함한다. 컴퓨터 저장 매체의 비-제한적 예로는, RAM, ROM, EEPROM, 플래시 메모리 또는 그 밖의 다른 메모리 기법, CD-ROM, 디지털 다목적 디스크(DVD), 또는 그 밖의 다른 디스크 저장장치, 자기 카세트, 자석 테이프, 자기 디스크 저장장치 또는 그 밖의 다른 자기 저장 장치, 또는 원하는 정보를 저장하도록 사용될 수 있고 컴퓨터(1010)에 의해 액세스될 수 있는 그 밖의 다른 임의의 매체가 있다. 상기 중 임의의 것들의 조합이 또한 컴퓨터 판독형 저장 매체의 범위 내에 포함되어야 한다.
시스템 메모리(1030)는 휘발성 및/또는 비휘발성 메모리, 가령, 리드 온리 메모리(ROM)(1031) 및 랜덤 액세스 메모리(RAM)(1032)의 형태로 된 컴퓨터 저장 매체를 포함한다. 일반적으로, 가령, 시동(start-up) 중에 컴퓨터(1010) 내 요소들 간 정보 전송을 보조하는 기본 루틴을 포함하는 기본 입/출력 시스템(1033)(BIOS)이 ROM(1031)에 저장된다. RAM(1032)은 일반적으로, 프로세싱 유닛(1020)에 의해 즉시 액세스 가능한 및/또는 현재 운영 중인 데이터 및/또는 프로그램 모듈을 포함한다. 비-제한적 예를 들면, 도 12는 운영 체제(1034), 애플리케이션 프로그램(1035), 그 밖의 다른 프로그램 모듈(1036), 및 프로그램 데이터(1037)를 도시한다.
컴퓨터(1010)는 또한 그 밖의 다른 이동식/비-이동식 휘발성/비휘발성 컴퓨터 저장 매체를 더 포함할 수 있다. 비-제한적 예로서, 도 12는 비-이동식, 비휘발성 자기 매체로부터 읽고 쓰는 하드 디스크 드라이브(1040), 이동식, 비휘발성 자기 디스크(1052)로부터 읽고 쓰는 자기 디스크 드라이브(1051), 및 이동식, 비휘발성 광학 디스크(1056), 가령, CD ROM 또는 그 밖의 다른 광학 매체로부터 읽고 쓰는 광학 디스크 드라이브(1055)를 도시한다. 예시적 동작 환경에서 사용될 수 있는 그 밖의 다른 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체의 비-제한적 예로는, 자기 테이프 카세트, 플래시 메모리 카드, 디지털 다목적 디스크, 디지털 비디오 테이프, 솔리드 스테이트 RAM, 솔리드 스테이트 ROM 등이 있다. 일반적으로 하드 디스크 드라이브(1041)는 비-이동식 메모리 인터페이스, 가령, 인터페이스(1040)를 통해 시스템 버스(1021)로 연결되고, 일반적으로 이동식 메모리 인터페이스, 가령, 인터페이스(1050)에 의해, 자기 디스크 드라이브(1051), 및 광학 디스크 드라이브(1055)는 시스템 버스(1021)로 연결된다.
앞서 언급되고 도 12에 도시된 드라이브 및 이들의 연관된 컴퓨터 저장 매체는 컴퓨터 판독형 명령, 데이터 구조, 프로그램 모듈, 및 컴퓨터(1010)의 그 밖의 다른 데이터의 저장을 제공한다. 도 12에서, 예를 들어, 하드 디스크 드라이브(1041)는 운영 체제(1044), 애플리케이션 프로그램(1045), 그 밖의 다른 프로그램 모듈(1046), 및 프로그램 데이터(1047)를 저장하는 것으로 도시된다. 이들 구성요소는 운영 체제(1034), 애플리케이션 프로그램(1035), 그 밖의 다른 프로그램 모듈(1036), 및 프로그램 데이터(1037)와 동일하거나 상이할 수 있다. 본원에서, 최소한 이들의 서로 다른 카피임을 나타내기 위해, 운영 체제(1044), 애플리케이션 프로그램(1045), 그 밖의 다른 프로그램 모듈(1046), 및 프로그램 데이터(1047)에 서로 다른 숫자가 부여된다.
사용자는 입력 장치, 가령, 키보드(1062), 및 흔히 마우스, 트랙볼 또는 터치 패드라고 일컬어지는 포인팅 장치(1061)를 통해, 컴퓨터(1010)에 명령어(command) 및 정보를 입력할 수 있다. 그 밖의 다른 입력 장치로는 마이크로폰(1063), 조이스틱, 태블릿(1064), 위성 접시, 스캐너, 등을 포함할 수 있다. 이들 및 그 밖의 다른 입력 장치가 종종, 시스템 버스로 연결된 사용자 입력 인터페이스(1060)를 통해 프로세싱 유닛(1020)에 연결되지만, 그 밖의 다른 인터페이스 및 버스 구조, 가령, 병렬 포트, 게임 포트 또는 전역 직렬 버스(USB)에 의해 연결되지 않을 수 있다. 모니터(1091) 또는 그 밖의 다른 유형의 디스플레이 장치가 또한, 인터페이스, 가령, 비디오 인터페이스(1090)를 통해 시스템(1021)으로 연결된다. 모니터에 덧붙여, 컴퓨터는 또한 출력 주변 인터페이스(1095)를 통해 연결될 수 있는 그 밖의 다른 주변 출력 장치, 가령, 스피커(1097) 및 프린터(1096)을 더 포함할 수 있다.
컴퓨터(1010)는 하나 이상의 원격 컴퓨터, 가령, 원격 컴퓨터(1080)로의 논리적 연결을 이용해 네트워크 연결된 환경에서 동작할 수 있다. 상기 원격 컴퓨터(1080)는 개인 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치(peer device) 또는 그 밖의 다른 일반적인 네트워크 노드일 수 있고, 일반적으로 컴퓨터(1010)에 대해 앞서 기재된 요소들 중 다수 또는 모두를 포함하지만, 메모리 저장 장치(1081)만 도 12에 도시되어 있다. 도 12에 도시된 논리적 연결은 로컬 영역 네트워크(LAN)(1071) 및 광역 네트워크(WAN)(1073)를 포함하고, 안테나에 의해 무선 링크가 예를 들어, 무선 인터페이스(1098)을 통해 완성되지만, 그 밖의 다른 네트워크도 포함할 수 있다. 이러한 네트워킹 환경은 사무실, 기업 단위 컴퓨터 네트워크, 인트라넷 및 인터넷에서 흔하다. 무선 인터페이스(1098)가 시스템 버스(1021)으로 직접 연결되어 있는 것으로 도시되지만, 무선 인터페이스(1098)는 네트워크 인터페이스(1070)를 통해 시스템 버스로 연결될 수 있음을 알아야 한다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(1010)는 네트워크 인터페이스 또는 어댑터(1070)를 통해 LAN(1071)으로 연결된다. WAN 네트워킹 환경에서 사용될 때, 일반적으로 컴퓨터(1010)는 WAN(1073), 가령, 인터넷을 통한 통신을 확립하기 위한 모뎀(1072) 또는 그 밖의 다른 수단을 포함한다. 상기 모뎀(1072)은, 내부형 또는 외부형일 수 있고, 사용자 입력 인터페이스(1060) 또는 그 밖의 다른 적절한 메커니즘을 통해 시스템 버스(1021)로 연결될 수 있다. 네트워크 연결된 환경에서, 컴퓨터(1010)와 관련된 것으로 도시된 프로그램 모듈 또는 이의 일부분이 원격 메모리 저장 장치에 저장될 수 있다. 비-제한적 예를 들면, 도 12는 원격 애플리케이션 프로그램(1085)을 메모리 장치(1081) 상에 상주하는 것으로 도시한다. 도시된 네트워크 연결은 예시적인 것이며, 컴퓨터들 간 통신 연결을 확립하기 위한 그 밖의 다른 수단이 사용될 수 있음을 알아야 한다.
따라서 본 발명의 적어도 하나의 실시예의 몇 가지 양태가 기재되었지만, 다양한 변형, 수정, 및 개선이 해당 분야의 통상의 기술자에게 자명할 것임을 알아야 한다.
이러한 변형, 수정, 및 개선은 본 발명의 일부인 것이며, 본 발명의 사상 및 범위 내에 있다. 따라서 상기의 기재들 및 도면은 단지 예로서 제공된 것이다.
본 발명의 앞서 기재된 실시예는 다양한 방식 중 임의의 방식으로 구현될 수 있다. 예를 들어, 실시예는 하드웨어, 소프트웨어 또는 이들의 조합을 이용해 구현될 수 있다. 소프트웨어로 구현될 때, 상기 소프트웨어 코드는, 단일 컴퓨터에서 제공되거나 복수의 컴퓨터들 간에 분산되거나에 무관하게, 임의의 적합한 프로세서 또는 프로세서의 집합 상에서 실행될 수 있다. 이러한 프로세서는 집적 회로로서 구현될 수 있고, 이때 하나 이상의 프로세서가 집적 회로 구성요소이다. 그러나, 프로세서는 임의의 적합한 형태로 된 회로를 이용해 구현될 수 있다.
덧붙여, 컴퓨터는 복수의 형태 중 임의의 형태, 가령, 랙-실장형 컴퓨터(rack-mounted computer), 데스크톱 컴퓨터, 랩톱 컴퓨터, 또는 태블릿 컴퓨터로 구현될 수 있음을 알아야 한다. 추가로, 컴퓨터는 일반적으로 컴퓨터라고 간주되지 않지만 적합한 프로세싱 능력을 갖춘 장치, 가령, PDA(Personal Digital Assistant), 스마트 폰, 또는 그 밖의 다른 임의의 적합한 휴대용 또는 고정형 전자 장치에 내장될 수 있다.
또한, 컴퓨터는 하나 이상의 입력 및 출력 장치를 가질 수 있다. 이들 장치는 사용자 인터페이스의 표현 등을 위해 사용될 수 있다. 사용자 인터페이스를 제공하기 위해 사용될 수 있는 출력 장치의 예로는, 출력의 시각적 표현을 위한 프린터 또는 디스플레이 스크린 또는 출력의 가청 표현을 위한 그 밖의 다른 소리 발생 장치가 있다. 사용자 인터페이스를 위해 사용될 수 있는 입력 장치의 예로는, 키보드 및 포인팅 장치, 가령, 마우스, 터치 패드, 및 디지털화 태블릿이 있다. 또 다른 예를 들면, 컴퓨터는 음성 인식을 통한 입력 정보 또는 그 밖의 다른 가청 포맷으로 된 입력 정보를 수신할 수 있다.
이러한 컴퓨터는 임의의 적합한 형태로 된 하나 이상의 네트워크, 가령, 로컬 영역 네트워크 또는 광역 네트워크, 가령 기업 네트워크 또는 인터넷에 의해 상호연결될 수 있다. 이러한 네트워크는 임의의 적합한 기술을 기반으로 하거나 임의의 적합한 프로토콜에 따라 동작하고 무선 네트워크, 유선 네트워크 또는 광섬유 네트워크를 포함할 수 있다.
또한, 본원에서 제시되는 다양한 방법 또는 프로세스가 다양한 운영 체제 또는 플랫폼 중 임의의 하나를 사용하는 하나 이상의 프로세서 상에서 실행 가능한 소프트웨어로서 코딩될 수 있다. 덧붙여, 이러한 소프트웨어는 다수의 적합한 프로그래밍 언어 및/또는 프로그래밍 또는 스크립팅 툴 중 임의의 것을 이용해 써질 수 있고, 또한 실행 가능한 머신 언어 코드 또는 프레임워크 또는 가상 머신 상에서 실행되는 중간 코드로서 컴파일링될 수 있다.
이 양태에서, 본 발명은, 하나 이상의 컴퓨터 또는 그 밖의 다른 프로세서 상에서 실행될 때 앞서 기재된 본 발명의 다양한 실시예를 구현하는 방법을 수행하는 하나 이상의 프로그램이 인코딩된 한 컴퓨터 판독형 저장 매체(또는 복수의 컴퓨터 판독형 매체)(가령, 컴퓨터 메모리, 하나 이상의 플로피 디스크, 컴팩트 디스크(CD), 광학 디스크, 디지털 비디오 디스크(DVD), 자기 테이프, 플래시 메모리, 현장 프로그램 가능한 게이트 어레이(Field Programmable Gate Array)의 회로 구성 또는 그 밖의 다른 반도체 장치 또는 그 밖의 다른 비-일시적 유형 컴퓨터 저장 매체)로서 구현될 수 있다. 상기 컴퓨터 판독형 저장 매체는, 앞서 언급된 바와 같은 본 발명의 다양한 양태를 구현하기 위해, 여기에 저장된 하나 이상의 프로그램이 하나 이상의 서로 다른 컴퓨터 또는 그 밖의 다른 프로세서로 로딩될 수 있도록 하는 이동식(transportable)일 수 있다. 본원에서 사용될 때, "비-일시적 컴퓨터 판독형 저장 매체(non-transitory computer-readable storage medium)"라는 용어는 제조품(즉, 제조 물품) 또는 기계라고 여겨질 수 있는 컴퓨터 판독형 매체만 포함한다. 대안적으로 또는 추가적으로, 본 발명은 컴퓨터 판독형 저장 매체가 아닌 컴퓨터 판독형 매체, 가령, 전파 신호로서 구현될 수 있다.
"프로그램" 또는 "소프트웨어"라는 용어는 본원에서 사용될 때 포괄적으로, 앞서 언급된 바와 같은 본 발명의 다양한 양태를 구현하기 위해 컴퓨터 또는 그 밖의 다른 프로세서를 프로그래밍하기 위해 사용될 수 있는 임의의 유형의 컴퓨터 코드 또는 컴퓨터 실행형 명령의 세크를 일컫기 위해 사용된다. 덧붙여, 이 실시예의 하나의 양태에 따라, 실행될 때 본 발명의 방법을 수행하는 하나 이상의 컴퓨터 프로그램은 본 발명의 다양한 양태를 구현하기 위해 단일 컴퓨터 또는 프로세서 상에 위치할 필요가 없고, 복수의 서로 다른 컴퓨터 또는 프로세서에 걸쳐 모듈 방식으로 분산될 수 있다.
컴퓨터 실행형 명령은 하나 이상의 컴퓨터 또는 그 밖의 다른 장치에 의해 실행되는 많은 형태, 가령, 프로그램 모듈의 형태를 가질 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 일반적으로 프로그램 모듈의 기능부는 다양한 실시예에서 바람직하게 조합되거나 분산될 수 있다.
또한, 데이터 구조가 임의의 적합한 형태로 컴퓨터 판독형 매체에 저장될 수 있다. 설명의 간결성을 위해, 데이터 구조는 데이터 구조 내 위치를 관련된 필드를 갖는 것으로 나타날 수 있다. 이러한 관계는 필드에 대한 저장에 필드들 간 관계를 수행하는 컴퓨터 판독형 매체 내 위치를 할당함으로써 유사하게 얻어질 수 있다. 그러나 데이터 구조의 필드 내 정보들 간 관계를 확립하기 위해 임의의 적합한 메커니즘이 사용될 수 있는데, 가령, 포인터, 태그, 또는 데이터 요소들 간 관계를 확립하는 그 밖의 다른 메커니즘의 사용이 있다.
본 발명의 다양한 양태는 홀로, 또는 조합되어, 또는 앞서 기재된 실시예에서 특정하게 언급되지 않은 다양한 배열로 사용될 수 있고, 따라서 그 적용은 상기의 기재 또는 도면에서 제공된 구성요소의 세부사항 및 배열에 한정되지 않는다. 예를 들어, 하나의 실시예에서 기재된 양태가 또 다른 실시예에서 기재된 양태와 임의의 방식으로 조합될 수 있다.
또한, 본 발명은 방법으로서 구현될 수 있으며, 상기 방법의 실시예가 제공된 바 있다. 상기 방법의 일부로서 수행되는 동작들은 임의의 적합한 방식으로 순서화될 수 있다. 따라서, 실시예는 동작들이 설명된 것과 상이한 순서로 수행될 수 있다고 해석될 수 있으며, 이는 일부 동작들이 설명된 실시예에서 순차적인 동작들로 나타났을지라도, 동시에 수행되는 것까지 포함할 수 있다.
청구항 요소를 수정하기 위한 청구항에서의 "제 1", "제 2", "제 3" 등의 서수 용어는, 어떠한 우선순위, 선행여부, 또는 하나의 청구항 요소의 또 다른 요소에 대한 순서, 또는 방법의 동작이 수행되는 시간 순서를 의미하도록 사용된 것이 아니고, 특정 명칭을 갖는 하나의 청구항 요소를 동일 명칭을 갖는 (서수 용어에 대해 사용된) 다른 청구항 요소와 구별하기 위한 라벨로서만 사용된 것이다.
또한, 본원에서 사용된 구문 및 용어들은 설명 목적으로 제공된 것이며, 한정으로 간주되어서는 안된다. "~를 포함하는", "~를 갖는"(including, comprising, having, involving) 및 이들의 변형 형태의 사용은 이들 앞에 나열된 아이템들 및 이의 균등물뿐 아니라 추가 아이템까지 포함하는 것을 의미한다.

Claims (17)

  1. 가상화된 네트워크(virtualized network)와 비-가상화된 개체(non-virtualized entity) 간의 통신을 제어하기 위한 방법으로서,
    가상 머신을 관리하는 하이퍼바이저를 실행하는 호스트에 의해, 상기 비-가상화된 개체의 고객 네트워크 주소(customer network address)로 상기 가상 머신에 의해 전송된 패킷을 수신하는 단계와,
    상기 하이퍼바이저에 의해 상기 패킷의 수신에 응답하는 단계- 상기 하이퍼바이저는,
    가상 머신 주소에 대한 호스트 주소의 맵핑을 포함하고 상기 가상 머신의 이주(migrations)를 반영하도록 유지된 복수의 맵핑 정책 중 제1 맵핑 정책에 액세스하고- 상기 복수의 맵핑 정책은 고객 주소 공간 내의 주소는 게이트웨이의 제1 물리적 네트워크 인터페이스의 제공자 네트워크 주소(provider network address)에 맵핑됨을 나타내는 게이트웨이 맵핑을 더 포함함 -,
    상기 제1 맵핑 정책에서 상기 게이트웨이 맵핑에 기초하여 상기 패킷을 캡슐화 패킷으로 캡슐화하며- 상기 캡슐화 패킷은 자신이 상기 게이트웨이의 상기 제1 물리적 네트워크 인터페이스의 상기 제공자 네트워크 주소로 전송되었다는 것과 상기 호스트의 제공자 네트워크 주소로부터 전송되었음을 나타냄 -,
    상기 호스트에 의해 상기 캡슐화 패킷을 제공자 물리적 네트워크를 통해 상기 게이트웨이로 전송하되, 상기 게이트웨이는 상기 복수의 맵핑 정책 중의 제2 맵핑 정책에 기초하여, 상기 수신된 패킷을 역캡슐화하여 상기 비-가상화된 개체의 상기 고객 네트워크 주소로 전송하도록 구성됨 -
    를 포함하는 통신 제어 방법.
  2. 제1항에 있어서,
    상기 비-가상화된 개체는 물리적 자원(physical resource)을 포함하고, 상기 비-가상화된 개체의 상기 고객 네트워크 주소는 상기 비-가상화된 개체의 물리적 네트워크 인터페이스를 위한 것인
    통신 제어 방법.
  3. 제1항에 있어서,
    상기 비-가상화된 개체는 상기 고객 네트워크 주소에 대응하는 물리적 네트워크 인터페이스를 갖는 물리적 자원을 포함하고, 상기 게이트웨이는 상기 패킷이 상기 게이트웨이로부터 비롯된 것으로서 어드레싱되도록 하는 네트워크 주소 변환을 수행하도록 더 구성된
    통신 제어 방법.
  4. 제3항에 있어서,
    상기 가상 머신의 실시간 이주(live migration)에 앞서 상기 캡슐화를 수행하는 단계, 상기 실시간 이주에 따라 상기 복수의 맵핑 정책을 업데이트하는 단계, 및 실시간 이주에 이어 제2 패킷의 제2 캡슐화를 수행하는 단계를 더 포함하는
    통신 제어 방법.
  5. 제1항에 있어서,
    상기 제2 맵핑 정책은 상기 게이트웨이의 상기 제1 물리적 네트워크 인터페이스의 상기 제공자 네트워크 주소를 상기 비-가상화된 개체의 상기 고객 네트워크 주소에 맵핑하는
    통신 제어 방법.
  6. 제5항에 있어서,
    상기 게이트웨이에 의해, 상기 이주를 관리하는 가상 머신 관리자에 의해 개시된 맵핑 정책 업데이트를 수신하는 단계를 더 포함하는
    통신 제어 방법.
  7. 제1항에 있어서,
    상기 게이트웨이에 의해, 상기 비-가상화된 개체의 상기 고객 네트워크 주소를 갖는 고객 네트워크에 상기 게이트웨이를 연결하는 제2 물리적 네트워크 인터페이스를 통해 상기 패킷을 전송하는 단계를 더 포함하는
    통신 제어 방법.
  8. 제1항에 있어서,
    상기 비-가상화된 개체의 상기 고객 네트워크 주소는 상기 제공자 물리적 네트워크에 의해 라우팅가능하지 않은
    통신 제어 방법.
  9. 가상화된 네트워크와 비-가상화된 개체 간의 통신을 제어하기 위한 게이트웨이로서,
    가상 머신들이 상기 가상화된 네트워크 내에 존재하고,
    상기 게이트웨이는
    제공자 주소 공간을 포함하는 제공자 네트워크에 상기 게이트웨이를 연결하는 제1 물리적 네트워크 인터페이스- 상기 제1 물리적 네트워크 인터페이스는 상기 제공자 주소 공간 내의 제공자 주소를 가짐 -와,
    고객 주소 공간을 포함하는 고객 물리적 네트워크에 상기 게이트웨이를 연결하는 제2 물리적 네트워크 인터페이스와,
    처리 장치 및 명령어가 인코딩되어 있는 저장 장치
    를 포함하되,
    상기 명령어는 상기 처리 장치에 의해 실행되는 경우 상기 게이트웨이로 하여금
    호스트로부터 상기 제1 물리적 네트워크 인터페이스를 통해, 패킷을 캡슐화하는 캡슐화 패킷을 수신하게 하고- 상기 패킷은 상기 가상화된 네트워크 내의 가상 머신의 주소에 대한 정보 및 상기 고객 주소 공간 내의 상기 비-가상화된 개체의 도착지 주소에 대한 정보를 포함하고, 상기 캡슐화 패킷은 상기 호스트의 호스트 주소 및 상기 게이트웨이의 제공자 주소를 포함하고, 상기 호스트의 호스트 주소 및 상기 게이트웨이의 제공자 주소는 상기 제공자 주소 공간 내에 있음 -,
    복수의 맵핑 정책 중의 맵핑 정책에 액세스하고, 상기 맵핑 정책에 따라, 상기 패킷이 상기 제2 물리적 네트워크 인터페이스의 고객 주소로부터 전송되었음을 상기 패킷이 나타내도록 상기 패킷에 대해 주소 변환을 수행하게 하며- 상기 복수의 맵핑 정책은 상기 가상 머신들의 이주를 반영하도록 유지되고 또한 상기 호스트 및 상기 게이트웨이에 액세스가능하며, 상기 복수의 맵핑 정책 중 적어도 하나의 맵핑 정책은 상기 고객 주소 공간 내의 주소가 상기 게이트웨이의 상기 제1 물리적 네트워크 인터페이스의 상기 제공자 주소에 맵핑됨을 나타내는 게이트웨이 맵핑을 포함함 -,
    변환된 상기 패킷을 상기 제2 물리적 네트워크 인터페이스 및 상기 고객 물리적 네트워크를 통해 상기 비-가상화된 개체로 전송하게 하는
    게이트웨이.
  10. 제9항에 있어서,
    상기 비-가상화된 개체는 제공자의 고객에 의해 관리되는 물리적 자원을 포함하고, 상기 제공자는 상기 호스트 및 상기 게이트웨이를 관리하는
    게이트웨이.
  11. 제9항에 있어서,
    상기 비-가상화된 개체는 물리적 자원을 포함하고, 상기 게이트웨이는 상기 고객 주소 공간에서 네트워크 주소 변환을 수행하도록 구성되는
    게이트웨이.
  12. 제9항에 있어서,
    상기 복수의 맵핑 정책 중 적어도 하나는 상기 게이트웨이의 상기 제공자 주소를 상기 비-가상화된 개체의 상기 도착지 주소에 맵핑한
    게이트웨이.
  13. 가상화된 네트워크와 비-가상화된 개체 간에 통신을 가능하게 하기 위한 방법으로서,
    호스트상에서 실행되며 가상 머신을 실행하는 가상화 컴포넌트에 의해, 패킷을 수신하는 단계- 상기 패킷은 상기 가상 머신에 의해 전송되고 상기 가상화 컴포넌트에 의해 수신되는 경우 상기 비-가상화된 개체의 도착지 주소로 어드레싱되며, 상기 호스트는 제1 비-가상 네트워크 상에 상주하고, 상기 비-가상화된 개체는 제2 비-가상 네트워크 상에 상주하며, 게이트웨이가 상기 제1 비-가상 네트워크와 상기 제2 비-가상 네트워크를 연결하고, 상기 호스트는 상기 제1 비-가상 네트워크에 의해 라우팅가능한 개별 주소를 갖는 복수의 호스트 중 하나이고, 상기 복수의 호스트는 상기 가상 머신을 포함한 가상 머신들을 실행하는 제각기의 가상화 컴포넌트를 가지며, 상기 가상 머신들은 상기 제2 비-가상 네트워크에 의해 라우팅가능하지만 상기 제1 비-가상 네트워크에 의해서는 라우팅가능하지 않은 제각기의 고객 주소를 가짐 -와,
    가상 머신 관리자(VMM)에 의해, 상기 호스트들 사이에서의 상기 가상 머신들의 이주에 따른 맵핑 정책을 유지하는 단계- 상기 이주는 상기 VMM에 의해 제어되고, 상기 맵핑 정책은 상기 가상 머신들의 고객 주소들 중 어느 고객 주소가 상기 호스트들의 제공자 주소들 중 어느 제공자 주소와 연관되는지를 나타내고 또한 상기 비-가상화된 개체의 상기 도착지 주소가 상기 게이트웨이의 제공자 주소와 연관됨을 나타내도록 유지됨 -와,
    상기 맵핑 정책 및 상기 패킷의 상기 도착지 주소에 따라, 상기 가상화 컴포넌트에 의해, 상기 맵핑 정책에 따라 상기 게이트웨이의 상기 제공자 주소로 어드레싱되는 캡슐화 패킷으로 상기 패킷을 캡슐화하는 단계와,
    상기 호스트에 의해, 상기 제1 비-가상 네트워크 상에서, 상기 게이트웨이의 상기 제공자 주소를 갖는 상기 캡슐화 패킷을 전송하는 단계- 상기 제1 비-가상 네트워크는 상기 패킷을 상기 게이트웨이로 전달하고, 상기 게이트웨이는 상기 패킷을 역캡슐화(decapsulate)하고, 상기 맵핑 정책에 따라, 상기 패킷이 상기 게이트웨이의 고객 주소로부터 전송되었음을 나타내도록 상기 패킷을 변환하고, 상기 변환된 패킷을 상기 제2 비-가상 네트워크를 통해 전송하며, 상기 변환된 패킷의 도착지 주소는 상기 제2 비-가상 네트워크가 상기 변환된 패킷을 상기 비-가상화된 개체로 라우팅할 수 있게 해줌 -
    를 포함하는 방법.
  14. 제13항에 있어서,
    상기 비-가상화된 개체는 전용 물리적 자원을 포함하고, 상기 도착지 주소는 상기 비-가상화된 개체의 물리적 네트워크 인터페이스에 대한 고객 주소를 포함하는
    방법.
  15. 제13항에 있어서,
    상기 맵핑 정책은 상기 비-가상화된 개체의 상기 도착지 주소를 상기 게이트웨이의 상기 제공자 주소에 맵핑하는
    방법.
  16. 제13항에 있어서,
    상기 패킷을 역캡슐화하는 것은 상기 패킷이 상기 가상 머신에 의해 처음으로 생성된 것과 동일하게 상기 패킷을 생성하고 본래의 패킷이 상기 비-가상화된 개체에 의해 수신되도록 상기 제2 비-가상 네트워크 상에 상기 역캡슐화된 패킷을 전송하는 것을 포함하는
    방법.
  17. 제13항에 있어서,
    상기 게이트웨이에서, 상기 VMM으로부터 업데이트를 수신하는 단계- 상기 업데이트는 상기 가상 머신들의 이주에 대응함 -, 및 상기 업데이트를 상기 게이트웨에서 상기 맵핑 정책의 인스턴스에 적용하는 단계를 더 포함하는 방법.
KR1020147003900A 2011-08-16 2011-10-11 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이 KR101840904B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/210,510 US9274825B2 (en) 2011-08-16 2011-08-16 Virtualization gateway between virtualized and non-virtualized networks
US13/210,510 2011-08-16
PCT/US2011/055659 WO2013025229A1 (en) 2011-08-16 2011-10-11 Virtualization gateway between virtualized and non-virtualized networks

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020187007119A Division KR101912073B1 (ko) 2011-08-16 2011-10-11 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이

Publications (2)

Publication Number Publication Date
KR20140057553A KR20140057553A (ko) 2014-05-13
KR101840904B1 true KR101840904B1 (ko) 2018-03-21

Family

ID=47713600

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147003900A KR101840904B1 (ko) 2011-08-16 2011-10-11 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이
KR1020187007119A KR101912073B1 (ko) 2011-08-16 2011-10-11 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020187007119A KR101912073B1 (ko) 2011-08-16 2011-10-11 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이

Country Status (6)

Country Link
US (2) US9274825B2 (ko)
EP (1) EP2745474B1 (ko)
JP (1) JP6087922B2 (ko)
KR (2) KR101840904B1 (ko)
CN (1) CN103733574B (ko)
WO (1) WO2013025229A1 (ko)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9497039B2 (en) 2009-05-28 2016-11-15 Microsoft Technology Licensing, Llc Agile data center network architecture
US9391716B2 (en) 2010-04-05 2016-07-12 Microsoft Technology Licensing, Llc Data center using wireless communication
CN106850444B (zh) 2011-08-17 2020-10-27 Nicira股份有限公司 逻辑l3路由
US8958293B1 (en) * 2011-12-06 2015-02-17 Google Inc. Transparent load-balancing for cloud computing services
US20130159487A1 (en) * 2011-12-14 2013-06-20 Microsoft Corporation Migration of Virtual IP Addresses in a Failover Cluster
US9515985B2 (en) * 2013-03-01 2016-12-06 Verizon Patent And Licensing Inc. Platform for private internet protocol (IP) cloud services
US9426154B2 (en) 2013-03-14 2016-08-23 Amazon Technologies, Inc. Providing devices as a service
JP5972838B2 (ja) * 2013-06-24 2016-08-17 日本電信電話株式会社 管理装置、通信システム、管理方法、および、管理プログラム
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
US9276904B2 (en) 2014-02-20 2016-03-01 Nicira, Inc. Specifying point of enforcement in a firewall rule
KR101473607B1 (ko) * 2014-03-07 2014-12-16 (주) 퓨전데이타 가상 사설망 접근 제어장치 및 방법
KR101480263B1 (ko) * 2014-03-07 2015-01-12 (주) 퓨전데이타 보안이 강화된 가상 사설망 서비스 시스템 및 방법
WO2015138756A1 (en) 2014-03-13 2015-09-17 Systech Corporation Gateway management using virtual gateways and wildcards
EP2930883B1 (en) * 2014-04-07 2017-11-29 Deutsche Telekom AG Method for the implementation of network functions virtualization of a telecommunications network providing communication services to subscribers, telecommunications network, program and computer program product
US9648121B2 (en) 2014-05-27 2017-05-09 Ravello Systems Ltd. Source-destination network address translation (SDNAT) proxy and method thereof
EP3186925A4 (en) * 2014-08-27 2018-02-21 Adaptive Spectrum and Signal Alignment, Inc. Systems, methods, and apparatuses for implementing the virtualization of access node functions
US9819573B2 (en) 2014-09-11 2017-11-14 Microsoft Technology Licensing, Llc Method for scalable computer network partitioning
US10038629B2 (en) 2014-09-11 2018-07-31 Microsoft Technology Licensing, Llc Virtual machine migration using label based underlay network forwarding
US9544225B2 (en) * 2014-09-16 2017-01-10 Microsoft Technology Licensing, Llc Method for end point identification in computer networks
US9936014B2 (en) * 2014-10-26 2018-04-03 Microsoft Technology Licensing, Llc Method for virtual machine migration in computer networks
US9923800B2 (en) 2014-10-26 2018-03-20 Microsoft Technology Licensing, Llc Method for reachability management in computer networks
US9622019B2 (en) 2014-11-28 2017-04-11 Huawei Technologies Co., Ltd. Systems and methods for generating a virtual network topology for M2M communications
JP6485093B2 (ja) * 2015-02-16 2019-03-20 日本電気株式会社 ポリシ管理装置、仮想ネットワークの管理方法及びプログラム
US9639395B2 (en) * 2015-04-16 2017-05-02 Google Inc. Byte application migration
US20160352577A1 (en) * 2015-05-27 2016-12-01 Nimbus 9, Inc. Multiple gateway virtualization
US9954751B2 (en) 2015-05-29 2018-04-24 Microsoft Technology Licensing, Llc Measuring performance of a network using mirrored probe packets
US9680706B2 (en) 2015-06-30 2017-06-13 Nicira, Inc. Federated firewall management for moving workload across data centers
US10075304B2 (en) * 2015-10-30 2018-09-11 Microsoft Technology Licensing, Llc Multiple gateway operation on single operating system
US10237239B2 (en) * 2015-12-03 2019-03-19 International Business Machines Corporation Policy-based load distribution between host-based packet processing units
US10243915B2 (en) * 2015-12-31 2019-03-26 Dell Products L.P. Method and system for managing flat and routed clients in a cluster using single type of VIPs
WO2017127972A1 (zh) * 2016-01-25 2017-08-03 华为技术有限公司 一种数据传输方法以及宿主机
US10659340B2 (en) 2016-01-28 2020-05-19 Oracle International Corporation System and method for supporting VM migration between subnets in a high performance computing environment
US10581711B2 (en) 2016-01-28 2020-03-03 Oracle International Corporation System and method for policing network traffic flows using a ternary content addressable memory in a high performance computing environment
US10536334B2 (en) 2016-01-28 2020-01-14 Oracle International Corporation System and method for supporting subnet number aliasing in a high performance computing environment
CN107122123A (zh) * 2016-02-24 2017-09-01 湖南百里目科技有限责任公司 一种新型存储虚拟化网关直通模式方法
US10348685B2 (en) 2016-04-29 2019-07-09 Nicira, Inc. Priority allocation for distributed service rules
US10135727B2 (en) 2016-04-29 2018-11-20 Nicira, Inc. Address grouping for distributed service rules
US11171920B2 (en) 2016-05-01 2021-11-09 Nicira, Inc. Publication of firewall configuration
US10944722B2 (en) 2016-05-01 2021-03-09 Nicira, Inc. Using activities to manage multi-tenant firewall configuration
US11088990B2 (en) 2016-06-29 2021-08-10 Nicira, Inc. Translation cache for firewall configuration
US11258761B2 (en) 2016-06-29 2022-02-22 Nicira, Inc. Self-service firewall configuration
WO2018027586A1 (zh) * 2016-08-09 2018-02-15 华为技术有限公司 云计算系统中虚拟机访问物理服务器的方法、装置和系统
WO2018039061A1 (en) 2016-08-23 2018-03-01 Oracle International Corporation System and method for supporting fast hybrid reconfiguration in a high performance computing environment
US10097472B2 (en) 2016-09-14 2018-10-09 At&T Intellectual Property I, L.P. Method and system for dynamically distributing and controlling a virtual gateway
US10225106B2 (en) * 2016-11-29 2019-03-05 Vmware, Inc. Efficient update of per-interface address groupings
CN108235157B (zh) * 2016-12-21 2020-12-22 中国电信股份有限公司 虚拟化网关状态的控制方法和系统
US10666606B2 (en) * 2017-06-28 2020-05-26 Amazon Technologies, Inc. Virtual private network service endpoints
CN107728955A (zh) * 2017-11-07 2018-02-23 长沙曙通信息科技有限公司 一种新型存储虚拟化网关数据包处理实现方法
US10552195B2 (en) * 2017-12-08 2020-02-04 Vmware, Inc. Migration of virtual infrastructures
CN108111383B (zh) * 2017-12-26 2021-03-19 北京航空航天大学 一种基于sdn的跨域容器虚拟网络组建方法
JP6669807B2 (ja) * 2018-05-30 2020-03-18 株式会社日立製作所 計算機システムおよび計算機
US11822946B2 (en) * 2018-06-28 2023-11-21 Cable Television Laboratories, Inc. Systems and methods for secure network management of virtual network functions
US11563677B1 (en) * 2018-06-28 2023-01-24 Cable Television Laboratories, Inc. Systems and methods for secure network management of virtual network function
US10771283B2 (en) 2018-07-06 2020-09-08 Sap Se Virtual cloud node
US11310202B2 (en) 2019-03-13 2022-04-19 Vmware, Inc. Sharing of firewall rules among multiple workloads in a hypervisor
KR102082605B1 (ko) * 2019-07-15 2020-05-29 한국과학기술원 하드웨어 지원 기반의 네트워크 기능 가상화 방법 및 그 장치
US11140121B2 (en) * 2019-09-16 2021-10-05 Microsoft Technology Licensing, Llc Efficiently mapping a distributed resource to a virtual network
WO2021089169A1 (en) * 2019-11-08 2021-05-14 Huawei Technologies Co., Ltd. Private sub-networks for virtual private networks (vpn) clients
CN111538564B (zh) * 2020-04-21 2023-10-27 中国铁塔股份有限公司 一种无线设备的共享方法及装置
US11516291B2 (en) * 2020-09-29 2022-11-29 Cohesity, Inc. Secure communications of storage tenants that share a storage cluster system
US11799785B2 (en) 2021-04-09 2023-10-24 Microsoft Technology Licensing, Llc Hardware-based packet flow processing
US11757782B2 (en) * 2021-04-09 2023-09-12 Microsoft Technology Licensing, Llc Architectures for disaggregating SDN from the host
CN117203615A (zh) 2021-04-09 2023-12-08 微软技术许可有限责任公司 经由分发扩展主机策略
US11588740B2 (en) 2021-04-09 2023-02-21 Microsoft Technology Licensing, Llc Scaling host policy via distribution

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110075664A1 (en) 2009-09-30 2011-03-31 Vmware, Inc. Private Allocated Networks Over Shared Communications Infrastructure

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3339514B2 (ja) 1993-07-06 2002-10-28 松下電器産業株式会社 移動管理装置、パケット中継装置及び移動通信システム
US7353295B1 (en) * 2000-04-04 2008-04-01 Motive, Inc. Distributed services architecture through use of a dynamic service point map
US20020116397A1 (en) * 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for communicating an information packet through multiple router devices
US7020464B2 (en) 2001-10-09 2006-03-28 Microsoft Corporation System and method for providing agent-free and no-packet overhead mobility support with transparent session continuity for mobile devices
US6934799B2 (en) * 2002-01-18 2005-08-23 International Business Machines Corporation Virtualization of iSCSI storage
US7484208B1 (en) 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
US7619966B2 (en) * 2003-02-21 2009-11-17 Alcatel Lucent Hybrid virtual private LAN extensions
TWI253251B (en) 2003-09-19 2006-04-11 Inst Information Industry Network address port translation gateway providing fast query and replacement for virtual host service, and the method thereof
CN1317874C (zh) 2003-09-27 2007-05-23 财团法人资讯工业策进会 提供虚拟主机服务快速查询置换的网络地址端口转换网关器与方法
US20060221955A1 (en) 2005-04-05 2006-10-05 Mark Enright IP addressing in joined private networks
US8220030B2 (en) 2005-07-02 2012-07-10 Tara Chand Singhal System and method for security in global computer transactions that enable reverse-authentication of a server by a client
US7818454B2 (en) 2005-09-15 2010-10-19 Hostway Corporation Host migration system
CA2547047A1 (en) 2006-05-15 2007-11-15 Embotics Corporation Management of virtual machines using mobile autonomic elements
US20080186990A1 (en) * 2007-02-02 2008-08-07 International Business Machines Corporation Translation module, method and computer program product for providing multiple infiniband address support for vm migration using infiniband address translation
US7840701B2 (en) 2007-02-21 2010-11-23 Array Networks, Inc. Dynamic system and method for virtual private network (VPN) packet level routing using dual-NAT method
US8479194B2 (en) 2007-04-25 2013-07-02 Microsoft Corporation Virtual machine migration
JP4618455B2 (ja) 2008-04-09 2011-01-26 日本電気株式会社 端末装置、ネットワーク接続方法及びプログラム
US20110035494A1 (en) 2008-04-15 2011-02-10 Blade Network Technologies Network virtualization for a virtualized server data center environment
US8972978B2 (en) 2008-05-02 2015-03-03 Skytap Multitenant hosted virtual machine infrastructure
JP2009278261A (ja) 2008-05-13 2009-11-26 Toshiba Corp 情報処理装置および通信制御方法
US20100031253A1 (en) 2008-07-29 2010-02-04 Electronic Data Systems Corporation System and method for a virtualization infrastructure management environment
US9715401B2 (en) 2008-09-15 2017-07-25 International Business Machines Corporation Securing live migration of a virtual machine from a secure virtualized computing environment, over an unsecured network, to a different virtualized computing environment
WO2010041996A1 (en) 2008-10-09 2010-04-15 Telefonaktiebolaget L M Ericsson (Publ) A virtualization platform
US7996484B2 (en) 2008-12-11 2011-08-09 Microsoft Corporation Non-disruptive, reliable live migration of virtual machines with network data reception directly into virtual machines' memory
US8386612B2 (en) 2009-02-10 2013-02-26 International Business Machines Corporation Optimizing migration policy during live virtual memory migration
US9817695B2 (en) * 2009-04-01 2017-11-14 Vmware, Inc. Method and system for migrating processes between virtual machines
US8429647B2 (en) * 2009-05-06 2013-04-23 Vmware, Inc. Virtual machine migration across network by publishing routes to the associated virtual networks via virtual router after the start of migration of the virtual machine
US8416692B2 (en) 2009-05-28 2013-04-09 Microsoft Corporation Load balancing across layer-2 domains
US9497039B2 (en) 2009-05-28 2016-11-15 Microsoft Technology Licensing, Llc Agile data center network architecture
KR101042860B1 (ko) * 2009-11-23 2011-06-20 주식회사 잉카인터넷 가상사설망 환경에서 라우팅노드의 아이피 주소 탐색방법
US20110185082A1 (en) 2009-12-29 2011-07-28 Tervela, Inc. Systems and methods for network virtualization
US8509185B2 (en) * 2010-02-26 2013-08-13 Telefonaktiebolaget Lm Ericsson Enabling IPV6 mobility with NAT64
JP5617137B2 (ja) * 2010-05-28 2014-11-05 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 仮想レイヤ2およびそれをスケーラブルにするための機構
CN101951418B (zh) 2010-09-30 2014-03-19 中兴通讯股份有限公司 一种基于Wimax基站实现上网的方法和装置
US20120099602A1 (en) * 2010-10-25 2012-04-26 Brocade Communications Systems, Inc. End-to-end virtualization
US8699499B2 (en) * 2010-12-08 2014-04-15 At&T Intellectual Property I, L.P. Methods and apparatus to provision cloud computing network elements
US9499338B2 (en) 2010-12-15 2016-11-22 Symbotic, LLC Automated bot transfer arm drive system
US8676980B2 (en) * 2011-03-22 2014-03-18 Cisco Technology, Inc. Distributed load balancer in a virtual machine environment
US20120291034A1 (en) * 2011-05-14 2012-11-15 International Business Machines Corporation Techniques for executing threads in a computing environment
US9104460B2 (en) * 2011-05-31 2015-08-11 Red Hat, Inc. Inter-cloud live migration of virtualization systems
US8805977B2 (en) * 2011-06-09 2014-08-12 Freescale Semiconductor, Inc. Method and system for address conflict resolution
US20130042238A1 (en) * 2011-08-12 2013-02-14 International Business Machines Corporation Optimized Virtual Function Translation Entry Memory Caching

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110075664A1 (en) 2009-09-30 2011-03-31 Vmware, Inc. Private Allocated Networks Over Shared Communications Infrastructure

Also Published As

Publication number Publication date
JP2014527768A (ja) 2014-10-16
EP2745474A1 (en) 2014-06-25
KR101912073B1 (ko) 2019-01-04
CN103733574B (zh) 2018-05-04
KR20180031788A (ko) 2018-03-28
EP2745474A4 (en) 2015-07-29
KR20140057553A (ko) 2014-05-13
CN103733574A (zh) 2014-04-16
US9935920B2 (en) 2018-04-03
EP2745474B1 (en) 2020-11-25
JP6087922B2 (ja) 2017-03-01
US9274825B2 (en) 2016-03-01
WO2013025229A1 (en) 2013-02-21
US20130047151A1 (en) 2013-02-21
US20160241513A1 (en) 2016-08-18

Similar Documents

Publication Publication Date Title
KR101840904B1 (ko) 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이
US10541836B2 (en) Virtual gateways and implicit routing in distributed overlay virtual environments
US11604658B2 (en) Default gateway extension
US9602307B2 (en) Tagging virtual overlay packets in a virtual networking system
US11848800B2 (en) Connecting virtual computer networks with overlapping IP addresses using transit virtual computer network
US10412157B2 (en) Adaptive load balancing
US10142218B2 (en) Hypervisor routing between networks in a virtual networking environment
CN106462408B (zh) 到云计算环境中的工作空间的低延迟连接
US9042384B2 (en) Distributed routing domains in multi-tenant datacenter virtual networks
CN109716717A (zh) 从软件定义的网络控制器管理虚拟端口信道交换机对等体
US20140254603A1 (en) Interoperability for distributed overlay virtual environments
US20120216194A1 (en) Hypervisor application of service tags in a virtual networking environment
US11159344B1 (en) Connectivity of cloud edge locations to communications service provider networks
US11777897B2 (en) Cloud infrastructure resources for connecting a service provider private network to a customer private network
US11595347B1 (en) Dual-stack network addressing in cloud provider network edge locations
EP4292262A1 (en) Cloud infrastructure resources for connecting a service provider private network to a customer private network
WO2022146586A1 (en) Layer-2 networking information in a virtualized cloud environment

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E701 Decision to grant or registration of patent right