KR101912073B1 - 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이 - Google Patents
가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이 Download PDFInfo
- Publication number
- KR101912073B1 KR101912073B1 KR1020187007119A KR20187007119A KR101912073B1 KR 101912073 B1 KR101912073 B1 KR 101912073B1 KR 1020187007119 A KR1020187007119 A KR 1020187007119A KR 20187007119 A KR20187007119 A KR 20187007119A KR 101912073 B1 KR101912073 B1 KR 101912073B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- gateway
- network
- virtual machines
- data center
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2596—Translation of addresses of the same type other than IP, e.g. translation from MAC to MAC addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H04L67/1002—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
가상화 게이트웨이를 이용해 가상화된 네트워크와 비-가상화된 개체 간의 통신을 제어하기 위한 방법 및 장치가 제공된다. 패킷이 가상화된 네트워크 내 가상 머신에 의해 비-가상화된 개체로 전송된다. 상기 패킷을 상기 가상 머신의 호스트에 의해 가상화 게이트웨이의 제공자 주소로 라우팅된다. 상기 게이트웨이는 게이트웨이의 제공자 주소를 비-가상화된 개체의 도착지 주소로 변환하고 상기 패킷을 비-가상화된 개체로 전송한다. 상기 비-가상화된 개체는 물리적 자원, 가령, 물리적 서버 또는 저장 장치일 수 있다. 상기 물리적 자원은 하나의 고객 전용이거나 고객들 간에 공유될 수 있다.
Description
본 발명은 가상화된 네트워크와 비-가상화된 네트워크 간 통신을 연결하는 가상화 게이트웨이(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은 고객 시스템으로 연결된 데이터 센터의 실시예의 개략적 블록도이다.
도 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 (20)
- 게이트웨이에 의해 수행되는 방법으로서,
상기 게이트웨이는 상기 게이트웨이를 클라우드 데이터 센터의 물리적 네트워크에 연결하는 제 1 네트워크 인터페이스와 상기 게이트웨이를 외부 네트워크(exteranl network)에 연결하는 제 2 네트워크 인터페이스를 포함하며,
상기 게이트웨이는 상기 클라우드 데이터 센터의 가상 머신들(virtual machines: VMs)과 상기 클라우드 데이터 센터의 외부에 있는 상기 외부 네트워크의 외부 디바이스들 간의 통신을 용이하게 하기 위한 동작들을 수행하도록 구성되며,
상기 동작들은
상기 클라우드 데이터 센터의 각각의 입주자들(tenant)에 대한 맵핑 정책을 저장하는 동작 - 상기 맵핑 정책은 주기적으로 업데이트되어 상기 클라우드 데이터 센터의 물리적 서버들 사이에서 상기 가상 머신들의 이주(migration)를 반영하고, 상기 물리적 서버들은 상기 가상 머신들의 실행을 관리하는 각각의 가상화 하이퍼바이저들(virtualization hypervisors)을 포함하고, 상기 클라우드 데이터 센터는 제공자 주소 공간(Provider Address Space: PAS)에 대한 라우팅을 수행하는 물리적 네트워크를 포함하고, 상기 물리적 서버들과 상기 제 1 네트워크 인터페이스는 PAS에 물리적 네트워크 주소들을 가지며, 상기 클라우드 데이터 센터는 상기 각각의 입주자들에 대한 고객 주소 공간들(Customer Address Spaces: CASs)을 제공하며, 각각의 맵핑 정책은 대응하는 CAS의 고객 주소들(CAs)을 상기 PAS의 상기 물리적 서버들의 제공자 주소들(PAs)로 맵핑함 - 과,
상기 외부 네트워크를 통해서, 상기 제 2 네트워크 인터페이스에 의해, 상기 외부 디바이스들로부터 전송된 요청들을 수신하는 동작 - 상기 요청들은 상기 제 2 네트워크 인터페이스의 외향(external-facing) 주소들로 주소지정되며, 상기 외향 주소들은 상기 입주자들에 각각 대응하며, 상기 외부 디바이스들은 상기 요청들을 상기 외향 주소들로 전송하며, 상기 외향 주소들은 상기 클라우드 데이터 센터에 대하여 외부로 향함 - 과,
상기 외부 디바이스들과 입주자의 가상 머신들 사이의 통신을
(i) 상기 입주자의 외향 주소로 전송된 요청들에 대하여, 상기 입주자의 맵핑 정책으로부터 상기 입주자의 가상 머신들의 고객 주소들을 선택하는 것과,
(ii) 상기 입주자의 외향 주소로 전송된 대응하는 요청에 대한 각각의 선택된 고객 주소에 대하여, 상기 입주자의 맵핑 정책을 사용하여 상기 선택된 고객 주소를 상기 선택된 고객 주소의 가상 머신을 호스팅하는 물리적 서버의 제공자 주소로 맵핑하는 것과, 상기 대응하는 요청을 상기 맵핑된 제공자 주소로 전송하는 것
에 의해서 가능하게 하는 동작
을 포함하는
게이트웨이에 의해서 수행되는 방법.
- 제1항에 있어서,
상기 전송된 요청이 상기 맵핑된 제공자 주소에 대응하는 상기 물리적 서버에 의해 수신되면, 상기 물리적 서버의 상기 하이퍼바이저는 상기 입주자의 맵핑 정책의 로컬 버전을 사용하여 상기 요청을 상기 선택된 고객 주소에 대응하는 상기 가상 머신으로 전달하는
게이트웨이에 의해서 수행되는 방법.
- 제1항에 있어서,
상기 입주자의 맵핑 정책의 로컬 카피는 상기 클라우드 데이터 센터내에서 상기 입주자의 가상 머신들의 이주를 반영하도록 업데이트되는
게이트웨이에 의해서 수행되는 방법.
- 제1항에 있어서,
상기 동작들은,
소정의 외부 디바이스로부터의 소정의 요청에 대하여, 상기 소정의 요청이 어느 외향 주소로 주소지정되어있는지에 따라 상기 요청에 대한 맵핑 정책을 선택하는 동작을 더 포함하는
게이트웨이에 의해서 수행되는 방법.
- 제1항에 있어서,
상기 동작들은,
상기 고객 주소들을 선택하는 것에 의해 상기 입주자의 가상 머신들 사이의 부하를 밸런싱하는 동작을 더 포함하되, 상기 입주자의 가상 머신들 사이의 부하를 밸런싱하는 동작은 어느 물리적 서버에 상기 입주자의 가상 머신들이 호스팅되고 있는지에 독립적으로 수행되는
게이트웨이에 의해서 수행되는 방법.
- 제1항에 있어서,
상기 대응하는 요청을 상기 맵핑된 제공자 주소로 전송하는 동작은 상기 대응하는 요청을 상기 선택된 고객 주소에 주소지정된 패킷으로 캡슐화하는 것을 포함하는
게이트웨이에 의해서 수행되는 방법.
- 제1항에 있어서,
상기 대응하는 요청을 상기 맵핑된 제공자 주소로 전송하는 동작은 상기 대응하는 요청의 주소를 상기 선택된 고객 주소로 변환하는 것을 포함하는
게이트웨이에 의해서 수행되는 방법.
- 제1항에 있어서,
상기 고객 주소 공간들 내의 상기 고객 주소들은 상기 클라우드 데이터 센터의 상기 물리적 네트워크에 의해 라우팅가능하지 않은
게이트웨이에 의해서 수행되는 방법.
- 게이트웨이 디바이스로서,
클라우드 데이터 센터의 가상 머신들과 상기 클라우드 데이터 센터의 외부에 있는 외부 네트워크 상의 외부 디바이스들 간의 통신을 용이하게 하는 동작들을 수행하도록 구성된 저장소 하드웨어 및 프로세싱 하드웨어와,
상기 프로세싱 하드웨어와,
상기 게이트웨이를 상기 클라우드 데이터 센터의 물리적 네트워크로 연결시키도록 구성된 제 1 네트워크 인터페이스와,
상기 게이트웨이를 상기 외부 네트워크에 연결시키도록 구성된 제 2 네트워크 인터페이스를 포함하며,
상기 저장소 하드웨어는 상기 클라우드 데이터 센터의 각각의 입주자들에 대한 맵핑 정책들을 저장하도록 구성되며 - 상기 맵핑 정책은 상기 클라우드 데이터 센터의 물리적 서버들 사이에서의 상기 가상 머신들의 실시간 이주(live migrations)를 반영하도록 업데이트되고, 상기 물리적 서버들은 상기 가상 머신들의 실행을 관리하는 각각의 가상화 하이퍼바이저들을 포함하고, 상기 클라우드 데이터 센터는 제공자 주소 공간(Provider Address Space: PAS)에 대한 라우팅을 수행하는 물리적 네트워크를 포함하고, 상기 물리적 서버들과 상기 제 1 네트워크 인터페이스는 PAS에 물리적 네트워크 주소들을 가지며, 상기 클라우드 데이터 센터는 상기 각각의 입주자들에 대한 고객 주소 공간들(Customer Address Spaces: CASs)을 제공하며, 각각의 맵핑 정책은 대응하는 CAS의 고객 주소들(CAs)을 상기 PAS의 상기 물리적 서버들의 제공자 주소들(PAs)로 맵핑함 -,
상기 저장소 하드웨어는 동작들을 수행하도록 구성된 명령어를 저장하며, 상기 동작들은
상기 외부 네트워크를 통해서, 상기 제 2 네트워크 인터페이스에 의해, 상기 외부 디바이스들로부터 전송된 요청들을 수신하는 동작 - 상기 요청들은 상기 제 2 네트워크 인터페이스의 외향(external-facing) 주소들로 주소지정되며, 상기 외향 주소들은 상기 입주자들에 할당되며, 상기 외부 디바이스들은 상기 요청들을 상기 외향 주소들로 전송함 - 과,
상기 외부 디바이스들과 입주자의 가상 머신들 사이의 통신을
(i) 상기 입주자의 외향 주소로 전송된 패킷들에 대하여, 상기 입주자의 맵핑 정책으로부터 상기 입주자의 가상 머신들의 고객 주소들을 선택하는 것과,
(ii) 상기 입주자의 외향 주소로 전송된 대응하는 패킷에 대한 각각의 선택된 고객 주소에 대하여, 상기 입주자의 맵핑 정책을 사용하여 상기 선택된 고객 주소를 상기 선택된 고객 주소의 가상 머신을 호스팅하는 물리적 서버의 제공자 주소로 맵핑하는 것과, 상기 대응하는 패킷을 상기 맵핑된 제공자 주소로 전송하는 것
에 의해서 가능하게 하는 동작
을 포함하는
게이트웨이 디바이스.
- 제9항에 있어서,
상기 통신을 가능하게 하는 동작은 상기 입주자의 가상 머신들의 상기 고객 주소들을 선택하는 것에 의해 상기 입주자의 가상 머신들 사이의 부하를 밸런싱하되, 상기 부하를 밸런싱하는 것은 상기 입주자의 외향 주소로 주소지정된 패킷들을 상기 입주자의 가상 머신들 사이에서 분배되도록 하는
게이트웨이 디바이스.
- 제9항에 있어서,
상기 동작들은 상기 외부 네트워크를 통해 수신된 패킷에 대한 맵핑 정책을 선택하는 동작을 더 포함하되, 상기 맵핑 정책은 어느 외향 주소로 상기 패킷이 주소지정되었는지에 기초하여 선택되는
게이트웨이 디바이스.
- 제11항에 있어서,
상기 맵핑 정책내에 표시된 가상 머신이 제 1 물리적 서버에서 제 2 물리적 서버로 이주될 때, 상기 맵핑 정책은 상기 가상 머신을 상기 제 1 물리적 서버의 제공자 주소와 연관시키는 것을 중지하고 상기 제 2 물리적 서버의 제공자 주소와 연관시키는 것을 시작하도록 업데이트되는
게이트웨이 디바이스.
- 제9항에 있어서,
상기 대응하는 패킷을 상기 맵핑된 제공자 주소로 전송하는 것은 네트워크 변환 또는 네트워크 캡슐화를 포함하는
게이트웨이 디바이스.
- 제9항에 있어서,
각각의 고객 주소 공간은 상기 클라우드 데이터 센터에 의해 구현되는 각각의 가상 네트워크에 대응하는
게이트웨이 디바이스.
- 제9항에 있어서,
상기 가상 머신들로의 상기 패킷들의 분배는 상기 가상 머신들의 이주에 의해 영향받지 않는
게이트웨이 디바이스.
- 제9항에 있어서,
상기 동작들은
상기 물리적 네트워크를 통해서, 상기 하이퍼바이저들을 통해 상기 가상 머신들에 의해 전송된 패킷을 수신하는 동작과, 상기 맵핑 정책들을 사용하여 상기 가상 머신들에 의해 전송된 패킷들을 상기 외부 디바이스들로 전달하는 동작을 더 포함하는
게이트웨이 디바이스.
- 삭제
- 게이트웨이에 의해 수행되는 방법으로서,
상기 게이트웨이는 상기 게이트웨이를 클라우드 데이터 센터의 제 1 물리적 네트워크에 연결하는 제 1 네트워크 인터페이스와 상기 게이트웨이를 상기 클라우드 데이터 센터의 외부에 있는 제 2 물리적 네트워크에 연결하는 제 2 네트워크 인터페이스를 포함하며,
상기 방법은 상기 클라우드 데이터 센터의 가상 머신들(virtual machines: VMs)과 상기 클라우드 데이터 센터의 외부에 있는 상기 제 2 물리적 네트워크 상의 외부 디바이스들 간의 통신을 용이하게 하기 위한 동작들을 포함하며,
상기 동작들은
가상 네트워크를 구현하는 동작 - 상기 가상 네트워크는 서버 디바이스들 상에서 실행되는 하이퍼바이저들에 의해 구현되며, 상기 가상 머신들은 상기 가상 네트워크에 속하며, 상기 하이퍼바이저들은 상기 가상 머신들에 대한 플랫폼 가상화를 제공하며, 상기 가상 네트워크는 상기 제 1 물리적 네트워크에 의해서 라우팅가능하지 않은 제 2 주소 공간에 있으며, 상기 제 2 주소 공간은 상기 제 2 물리적 네트워크상의 디바이스들의 주소들을 포함하며, 상기 제 2 주소 공간은 또한 상기 가상 머신들의 주소들을 포함하고, 상기 제 1 물리적 네트워크는 상기 서버 디바이스들의 주소들을 포함하는 제 1 주소 공간을 포함함 - 과,
맵핑 정책을 저장하는 동작 - 상기 맵핑 정책은 상기 제 2 주소 공간의 상기 가상 머신들의 주소들을 상기 제 1 주소 공간의 상기 서버 디바이스들의 주소들에 맵핑시킴 - 과,
상기 제 2 물리적 네트워크를 통해, 상기 제 2 네트워크 인터페이스에 의해, 상기 디바이스들로부터 전송된 요청들을 수신하는 동작 - 상기 요청들 각각은 상기 제 2 네트워크 인터페이스의 동일한 주소로 주소지정되고, 상기 디바이스들은 상기 요청들을 상기 제 2 네트워크 인터페이스의 상기 주소로 전송함 - 과,
상기 디바이스들과 상기 가상 머신들 사이의 통신을
(i) 상기 디바이스들에 의해 상기 제2 네트워크 인터페이스의 상기 주소로 전송된 요청들에 대하여, 상기 맵핑 정책으로부터 상기 가상 머신들의 주소들을 선택하는 것과,
(ii) 상기 대응하는 요청에 대한 각각의 선택된 고객 주소에 대하여, 상기 맵핑 정책을 사용하여 상기 선택된 가상 머신 주소를 상기 선택된 가상 머신 주소의 가상 머신을 호스팅하는 서버 디바이스의 주소로 맵핑하는 것과, 상기 대응하는 요청을 상기 맵핑된 서버 디바이스 주소로 전송하는 것 - 상기 맵핑된 서버 디바이스상의 하이퍼바이저가 상기 대응하는 요청을 상기 선택된 가상 머신 주소의 가상 머신에게 전달함 -
에 의해서 연결하는 동작
을 포함하는
게이트웨이에 의해 수행되는 방법.
- 제18항에 있어서,
상기 맵핑 정책은 상기 디바이스들 중 하나의 주소를 상기 게이트웨이의 주소에 맵핑하는
게이트웨이에 의해 수행되는 방법.
- 제18항에 있어서,
상기 동작들은, 상기 게이트웨이에서, 가상 머신 관리자로부터 업데이트들을 수신하는 동작과 상기 업데이트들을 상기 맵핑 정책에 적용하는 동작을 더 포함하고,
상기 업데이트들은 상기 서버 디바이스들 간의 상기 가상 머신들의 이주에 대응하는
게이트웨이에 의해 수행되는 방법.
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 Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147003900A Division KR101840904B1 (ko) | 2011-08-16 | 2011-10-11 | 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180031788A KR20180031788A (ko) | 2018-03-28 |
KR101912073B1 true KR101912073B1 (ko) | 2019-01-04 |
Family
ID=47713600
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187007119A KR101912073B1 (ko) | 2011-08-16 | 2011-10-11 | 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이 |
KR1020147003900A KR101840904B1 (ko) | 2011-08-16 | 2011-10-11 | 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147003900A KR101840904B1 (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) | KR101912073B1 (ko) |
CN (1) | CN103733574B (ko) |
WO (1) | WO2013025229A1 (ko) |
Families Citing this family (66)
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 |
EP3605969B1 (en) | 2011-08-17 | 2021-05-26 | Nicira Inc. | Distributed logical l3 routing |
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 |
US9215214B2 (en) | 2014-02-20 | 2015-12-15 | Nicira, Inc. | Provisioning firewall rules on a firewall enforcing device |
KR101480263B1 (ko) * | 2014-03-07 | 2015-01-12 | (주) 퓨전데이타 | 보안이 강화된 가상 사설망 서비스 시스템 및 방법 |
KR101473607B1 (ko) * | 2014-03-07 | 2014-12-16 | (주) 퓨전데이타 | 가상 사설망 접근 제어장치 및 방법 |
EP3117564B1 (en) | 2014-03-13 | 2019-09-04 | 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 |
CN107431647B (zh) * | 2014-08-27 | 2021-03-12 | 适应性频谱和信号校正股份有限公司 | 用于实现接入节点功能的虚拟化的系统、方法和装置 |
US10038629B2 (en) | 2014-09-11 | 2018-07-31 | Microsoft Technology Licensing, Llc | Virtual machine migration using label based underlay network forwarding |
US9819573B2 (en) | 2014-09-11 | 2017-11-14 | Microsoft Technology Licensing, Llc | Method for scalable computer network partitioning |
US9544225B2 (en) * | 2014-09-16 | 2017-01-10 | Microsoft Technology Licensing, Llc | Method for end point identification in computer networks |
US9923800B2 (en) | 2014-10-26 | 2018-03-20 | Microsoft Technology Licensing, Llc | Method for reachability management in computer networks |
US9936014B2 (en) * | 2014-10-26 | 2018-04-03 | Microsoft Technology Licensing, Llc | Method for virtual machine migration 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 |
US9755903B2 (en) | 2015-06-30 | 2017-09-05 | Nicira, Inc. | Replicating firewall policy across multiple 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 | 华为技术有限公司 | 一种数据传输方法以及宿主机 |
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 |
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 |
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 | 湖南百里目科技有限责任公司 | 一种新型存储虚拟化网关直通模式方法 |
US10135727B2 (en) | 2016-04-29 | 2018-11-20 | Nicira, Inc. | Address grouping for distributed service rules |
US10348685B2 (en) | 2016-04-29 | 2019-07-09 | Nicira, Inc. | Priority allocation for distributed service rules |
US11425095B2 (en) | 2016-05-01 | 2022-08-23 | Nicira, Inc. | Fast ordering of firewall sections and rules |
US11171920B2 (en) | 2016-05-01 | 2021-11-09 | Nicira, Inc. | Publication of 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 |
CA3033217C (en) * | 2016-08-09 | 2021-09-28 | Huawei Technologies Co., Ltd. | Method for virtual machine to access physical server in cloud computing system, apparatus, and system |
US10057119B2 (en) | 2016-08-23 | 2018-08-21 | Oracle International Corporation | System and method for supporting fast hybrid reconfiguration in a high performance computing environment |
US10419243B2 (en) * | 2016-09-09 | 2019-09-17 | Johnson Controls Technology Company | Smart gateway devices, systems and methods for providing communication between HVAC system networks |
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 | 株式会社日立製作所 | 計算機システムおよび計算機 |
US11563677B1 (en) * | 2018-06-28 | 2023-01-24 | Cable Television Laboratories, Inc. | Systems and methods for secure network management of virtual network function |
US11822946B2 (en) * | 2018-06-28 | 2023-11-21 | Cable Television Laboratories, Inc. | Systems and methods for secure network management of virtual network functions |
US10771283B2 (en) | 2018-07-06 | 2020-09-08 | Sap Se | Virtual cloud node |
US10757009B2 (en) * | 2018-11-20 | 2020-08-25 | Amazon Technologies, Inc. | Global-scale connectivity using scalable virtual traffic hubs |
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 |
US11588740B2 (en) | 2021-04-09 | 2023-02-21 | Microsoft Technology Licensing, Llc | Scaling host policy via distribution |
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 | 微软技术许可有限责任公司 | 经由分发扩展主机策略 |
US11799785B2 (en) | 2021-04-09 | 2023-10-24 | Microsoft Technology Licensing, Llc | Hardware-based packet flow processing |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040174887A1 (en) * | 2003-02-21 | 2004-09-09 | Alcatel | Hybrid virtual private LAN extensions |
US20110075664A1 (en) * | 2009-09-30 | 2011-03-31 | Vmware, Inc. | Private Allocated Networks Over Shared Communications Infrastructure |
Family Cites Families (41)
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 |
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 |
US9497039B2 (en) | 2009-05-28 | 2016-11-15 | Microsoft Technology Licensing, Llc | Agile data center network architecture |
US8416692B2 (en) | 2009-05-28 | 2013-04-09 | Microsoft Corporation | Load balancing across layer-2 domains |
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 |
BR112012018762B1 (pt) * | 2010-05-28 | 2022-06-21 | Huawei Technologies Co., Ltd | Sistema, componente de rede e método para promover uma comunicação entre uma pluralidade de domínios de acesso |
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 |
-
2011
- 2011-08-16 US US13/210,510 patent/US9274825B2/en active Active
- 2011-10-11 WO PCT/US2011/055659 patent/WO2013025229A1/en unknown
- 2011-10-11 CN CN201180072872.3A patent/CN103733574B/zh active Active
- 2011-10-11 EP EP11870996.3A patent/EP2745474B1/en active Active
- 2011-10-11 KR KR1020187007119A patent/KR101912073B1/ko active IP Right Grant
- 2011-10-11 JP JP2014525986A patent/JP6087922B2/ja active Active
- 2011-10-11 KR KR1020147003900A patent/KR101840904B1/ko active IP Right Grant
-
2016
- 2016-01-27 US US15/007,215 patent/US9935920B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040174887A1 (en) * | 2003-02-21 | 2004-09-09 | Alcatel | Hybrid virtual private LAN extensions |
US20110075664A1 (en) * | 2009-09-30 | 2011-03-31 | Vmware, Inc. | Private Allocated Networks Over Shared Communications Infrastructure |
Also Published As
Publication number | Publication date |
---|---|
EP2745474A1 (en) | 2014-06-25 |
JP6087922B2 (ja) | 2017-03-01 |
CN103733574B (zh) | 2018-05-04 |
EP2745474A4 (en) | 2015-07-29 |
KR20180031788A (ko) | 2018-03-28 |
US9274825B2 (en) | 2016-03-01 |
CN103733574A (zh) | 2014-04-16 |
KR20140057553A (ko) | 2014-05-13 |
KR101840904B1 (ko) | 2018-03-21 |
WO2013025229A1 (en) | 2013-02-21 |
US20130047151A1 (en) | 2013-02-21 |
US20160241513A1 (en) | 2016-08-18 |
EP2745474B1 (en) | 2020-11-25 |
JP2014527768A (ja) | 2014-10-16 |
US9935920B2 (en) | 2018-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101912073B1 (ko) | 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이 | |
US10541836B2 (en) | Virtual gateways and implicit routing in distributed overlay virtual environments | |
US11509577B2 (en) | Linking resource instances to virtual network in provider network environments | |
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 | |
US10164868B2 (en) | Hypervisor routing between networks in a virtual networking environment | |
US9042384B2 (en) | Distributed routing domains in multi-tenant datacenter virtual networks | |
US20120216194A1 (en) | Hypervisor application of service tags in a virtual networking environment | |
US11095716B2 (en) | Data replication for a virtual networking system | |
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 | |
US20230396579A1 (en) | Cloud infrastructure resources for connecting a service provider private network to a customer private network | |
JP2024503318A (ja) | 仮想化されたクラウド環境においてアクセス制御リストを使用するレイヤ2ネットワーキング | |
US11595347B1 (en) | Dual-stack network addressing in cloud provider network edge locations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |