KR20120102626A - 네트워크들을 통한 접속을 보장하기 위한 오버레이 사용 - Google Patents

네트워크들을 통한 접속을 보장하기 위한 오버레이 사용 Download PDF

Info

Publication number
KR20120102626A
KR20120102626A KR1020127011674A KR20127011674A KR20120102626A KR 20120102626 A KR20120102626 A KR 20120102626A KR 1020127011674 A KR1020127011674 A KR 1020127011674A KR 20127011674 A KR20127011674 A KR 20127011674A KR 20120102626 A KR20120102626 A KR 20120102626A
Authority
KR
South Korea
Prior art keywords
virtual
address
endpoint
physical
endpoints
Prior art date
Application number
KR1020127011674A
Other languages
English (en)
Other versions
KR101774326B1 (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 KR20120102626A publication Critical patent/KR20120102626A/ko
Application granted granted Critical
Publication of KR101774326B1 publication Critical patent/KR101774326B1/ko

Links

Images

Classifications

    • 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]
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5084Providing for device mobility
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

가상 네트워크 오버레이("오버레이")를 설정 및 관리하는 컴퓨터화된 방법, 시스템, 및 컴퓨터 저장 매체가 제공된다. 오버레이는 데이터 센터 및 사설 기업 네트워크 사이에 걸쳐있으며 각각의 위치에 상주하는 서비스 애플리케이션의 종점들을 포함한다. 데이터 센터 및 기업 사설 네트워크에 상주하는 서비스 애플리케이션 종점들은 물리 IP 어드레스들에서 데이터 패킷들에 의해 접근될 수 있다. 서비스 애플리케이션 종점들의 가상의 존재들은 서비스 애플리케이션 종점들을 각자의 가상 IP 어드레스들에 할당하며 가상 IP 어드레스들 및 물리 IP 어드레스들 사이의 연관 관계를 유지함으로써 인스턴스화된다. 이러한 연결은 오버레이 안에서의 서비스 애플리케이션 종점들의 가상 존재들 간에 교류되는 통신에 기초하여 서비스 애플리케이션 종점들 사이에서의 데이터 패킷 라우팅을 돕는다. 또한, 이 연결은 오버레이 안에 가상 존재가 없는 다른 종점들로부터의 통신을 차단하는 오버레이 내 서버 애플리케이션 종점들 사이의 접속을 보장한다.

Description

네트워크들을 통한 접속을 보장하기 위한 오버레이 사용{EMPLOYING OVERLAYS FOR SECURING CONNECTIONS ACROSS NETWORKS}
대규모 네트워크 시스템들(large-scale networked systems)은 비즈니스 및 운영 기능(operational function)을 위해 애플리케이션을 실행하며 데이터를 관리하기 위한 다양한 세팅(settings)에서 사용되는 흔한 플랫폼들이다. 예를 들어, 데이터 센터(가령, 물리적 클라우드 컴퓨팅 기반 구조)는 복수의 고객들에게 동시에 다양한 서비스(가령, 웹 애플리케이션, 이메일 서비스, 검색 엔진 서비스 등)를 제공할 수 있다. 이러한 대규모 네트워크 시스템은 통상적으로 데이터 센터 전체에 걸쳐 분산된 다수의 자원들을 포함하며, 여기에서 각각의 자원은 물리적 호스트 상에서 실행되는 물리적 장치나 가상 장치와 유사하다. 데이터 센터가 여러 점유자(tenants)(가령, 고객 프로그램들)를 호스팅할 때, 그 자원들이 같은 데이터 센터로부터 여러 점유자들로 최적 할당된다.
데이터 센터의 고객들은 데이터 센터 내 자원들 상에서 실행되는 소프트웨어와 상호 동작하기 위해 보통 사설 기업 네트워크에서 실행되는 비즈니스 애플리케이션들(가령, 데이터 센터로부터 지리적으로 떨어져 있는 고객에 의해 관리되는 서버)을 필요로 한다. 사설 기업 네트워크 및 자원들 사이의 안전한 접속은 일반적으로, 현재 실행 중인 다른 점유자 프로그램들이 비즈니스 애플리케이션들을 액세스하는 것을 제한하는 데이터 센터 내 물리적 구획을 설정하는 일을 수반한다. 예를 들어, 호스팅하는 서비스 제공자가 데이터 센터로부터 전용 물리적 네트워크를 구축하여, 그 전용 물리적 네트워크가 기업 사설 네트워크의 익스텐션으로서 설정되도록 할 수 있다. 그러나, 데이터 센터가 특정 고객에 할당된 자원들의 개수를 (가령, 프로세싱 부하에 기초하여) 동적으로 증가시키거나 감소시키도록 구성되므로, 전용 물리적 네트워크를 구축하고 그 안의 자원들을 개별 고객에게 통계적으로 할당하는 것은 경제적으로 실용적이지 못하다.
이 요약내용은 이하의 상세한 설명에 자세히 기술되는 개념들을 간략한 형식으로 소개하기 위해 주어진다. 이 요약내용은 청구된 주제의 주요 특징이나 필수적 특징을 확인하도록 의도되거나 청구된 주제의 범위의 판단을 돕는 것으로서 사용되도록 의도된 것이 아니다.
본 발명의 실시예들은 물리적 네트워크 상에서 실행되고 있는 고객의 서비스 애플리케이션의 종점들을 분리하는 메커니즘을 제공한다. 실시예들에서 물리적 네트워크는 고객에 의해 관리되는 기업 사설 네트워크 안의 자원들, 및 클라우드 컴퓨팅 플랫폼 안에서 프로비저닝되는 데이터 센터 내 고객에게 할당되는 가상 장치들을 포함한다. 보통 데이터 센터는 고객의 서비스 애플리케이션을 포함하여 많은 점유자들을 동시에 호스팅할 수 있다. 따라서, 고객의 서비스 애플리케이션의 종점들의 분리는 보안 목적상 바람직하며 가상 네트워크 오버레이("오버레이")를 설정함으로써 이뤄진다. 오버레이는 누가 데이터 센터 내 고객의 서비스 애플리케이션 내 종점들과 통신할 수 있는지에 대한 제한조건을 적절히 세팅한다.
일 실시예에서, 오버레이는 데이터 센터 및 사설 기업 네트워크 사이에 걸치며 각각의 위치에 상주하는 서비스 애플리케이션의 종점들을 포함한다. 예로서, 클라우드 컴퓨팅 플랫폼의 데이터 센터 안에 상주하는 제1종점은 제1물리적 인터넷 프로토콜(IP) 어드레스에 의해 접근될 수 있으며 서비스 애플리케이션의 한 구성요소로서 식별된다. 또한, 기업 사설 네트워크의 자원들 중 하나에 상주하는 제2종점은 제2물리 IP 어드레스에 의해 접근될 수 있으며 역시 서비스 애플리케이션의 한 구성요소로서 식별된다. 제1 및 제2종점을 식별할 때, 제1종점 및 제2종점의 가상의 존재들이 오버레이 안에서 인스턴스화된다. 전형적 실시예에서, 인스턴스화는 제1종점에 제1가상 IP 어드레스를 할당하고, 제2종점에 제2가상 IP 어드레스를 할당하며, 물리 IP 어드레스들 및 가상 IP 어드레스들 사이의 연관 관계를 관리하는 단계들을 수반한다. 이러한 연관 관계는 오버레이 안에서의 제1 및 제2종점들의 가상 존재들 간에 교류되는 통신에 기초하여 제1 및 제2종점들 사이에서의 패킷 라우팅을 돕는다.
또한, 이 연관 관계는 다른 애플리케이션들의 종점들이 오버레이 안에서 인스턴스화된 종점들과 통신하는 것을 배척한다. 그러나, 어떤 경우 다른 애플리케이션의 종점들에 대한 배척이 개별 오버레이들 간 동맹을 배척하지는 않는다. 예로서, 각각의 오버레이들 안에 상주하는 종점들이나 다른 자원들은 설정된 경우 게이트웨이를 통해 서로 통신할 수 있다. 게이트웨이의 설정은 이하에서 보다 상세히 논의되는 바와 같이 액세스 제어 정책에 의해 제어될 수 있다.
더욱이, 오버레이는 데이터 센터로부터 떨어져 있는 네트워크들(가령, 사설 기업 네트워크)에 상주하는 종점들이 데이터 센터 내 종점들에게 보여지게 하고, 멀리 있는 종점들 및 데이터 센터 종점들이 인터넷 프로토콜(IP) 레벨의 피어들(peers)로서 통신할 수 있게 한다. 그에 따라, 오버레이는 사설 기업 네트워크 및 데이터 센터의 종점들 간 안전하고 끊어짐 없는 접속을 가능하게 하면서 데이터 센터 내 전용 물리적 네트워크를 구축하는 데 있어 내재하는 단점들(위에서 논의됨)을 실질적으로 줄여준다. 즉, 일 실시예에서 종점들 및 다른 자원들은 지리적으로 분산될 수 있고 각각의 사설 네트워크들에 상주할 수 있지만, 그 종점들 및 다른 자원들은 마치 그들이 하나의 네트워크 상에 있는 것처럼 보여지고 마치 그들이 하나의 사설 네트워크 상에 상주하는 것처럼 통신하도록 허용된다.
본 발명의 실시예들은 첨부된 도면을 참조하여 이하에서 상세하게 설명된다.
도 1은 본 발명의 실시예들을 구현하는 데 사용하기 적합한 전형적인 컴퓨팅 환경의 블록도이다.
도 2는 본 발명의 실시예들을 구현하는 데 사용하기 적합하며, 데이터 센터 안에 가상 장치들을 할당하도록 구성된 전형적인 클라우드 컴퓨팅 플랫폼을 예시한 블록도이다.
도 3은 본 발명의 일 실시예에 따라 가상 네트워크 오버레이가 설정되어 있는 전형적인 분산 컴퓨팅 환경의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 가상 네트워크 오버레이 내 안전 접속의 개략도이다.
도 5 내지 7은 본 발명의 일 실시예에 따라 가상 네트워크 오버레이들이 설정되어 있는 전형적인 분산 컴퓨팅 환경의 블록도들이다.
도 8은 본 발명의 일 실시예에 따른 물리적 인터넷 프로토콜(IP) 어드레스들의 복수의 중복 범위 및 가상 IP 어드레스의 비중복 범위에 대한 개략도이다.
도 9는 본 발명의 일 실시예에 따라, 물리적 네트워크 내 서로 다른 위치들에 상주하는 복수의 종점들 사이에서 가상 네트워크 오버레이를 통해 통신하는 방법을 도시한 흐름도이다.
도 10은 본 발명의 일 실시예에 따라, 가상 네트워크 오버레이를 통해 소스 종점 및 목적지 종점 사이의 통신을 도모하는 방법을 보이는 흐름도이다.
본 발명의 실시예들의 발명의 대상은 여기에서 법정 요건을 만족하는 구체성을 가지고 기술된다. 그러나, 설명 그 자체가 이 특허의 범위를 한정하는 것으로 의도된 것은 아니다. 오히려 발명자들은 청구된 주제가 현재나 미래의 기술들과 연계되어 이 문서에 기술된 것들과 유사한 다른 단계나 단계들의 조합을 포함하는 다른 방식으로 실시될 수도 있다고 생각하고 있다. 또한 "단계"와 "블록"이라는 용어는 여기 사용된 방법들의 서로 다른 요소들을 의미하는 것으로 사용될 수도 있지만, 개별 단계들의 순서가 명백히 기술될 때를 제외하고 여기 개시된 다양한 단계들 사이의 어떤 특정 순서를 의미하는 것으로 해석되어야 한다.
본 발명의 실시예들은 가상 네트워크 오버레이("오버레이")를 자동으로 설정 및 관리하기 위한 방법, 컴퓨터 시스템, 및 컴퓨터 판독 가능 매체에 관한 것이다. 한 양태에서, 본 발명의 실시예들은 실행 시 물리적 네트워크 내 서로 다른 위치들에 상주하는 복수의 종점들 사이에서 가상 네트워크 오버레이를 통해 통신하는 방법을 수행하는 컴퓨터 실행 가능 명령어들을 가지는 한 개 이상의 컴퓨터 판독 가능 매체와 관련된다. 한 예에서, 그 방법은 클라우드 컴퓨팅 플랫폼의 데이터 센터 안에 상주하는 제1종점을 식별하며 기업 사설 네트워크의 자원 안에 상주하는 제2종점을 식별하는 단계를 포함한다. 통상적으로 제1종점은 제1물리적 인터넷 프로토콜(IP) 어드레스에서 데이터의 패킷에 의해 접근될 수 있고, 제2종점은 제2물리 IP 어드레스에서 접근될 수 있다.
그 방법은 또한 어느 서비스 애플리케이션에 대해 설정되는 가상 네트워크 오버레이 내 제1종점 및 제2종점의 가상 존재들을 인스턴스화하는 단계를 더 포함할 수 있다. 전형적인 일 실시예에서, 인스턴스화는 다음 단계들 중 한 개 이상을 포함한다: (a) 제1종점에 제1가상 IP 어드레스를 할당하는 단계; (b) 제1물리 IP 어드레스 및 제1가상 IP 어드레스 사이의 연관 관계를 맵 안에서 관리하는 단계; (c) 제2종점에 제2가상 IP 어드레스를 할당하는 단계; (d) 제2물리 IP 어드레스 및 제2가상 IP 어드레스 사이의 연관 관계를 맵 안에서 관리하는 단계. 동작 시, 맵은 가상 네트워크 오버레이 내 가상 존재들 사이에 교환되는 통신에 기반하여 제1종점 및 제2종점 사이에서 패킷들을 라우팅하는데 사용될 수 있다. 전형적인 일 실시예에서, 인스턴스화의 준비단계(precursor)로서, 제1종점 및/또는 제2종점은 이들의 오버레이 참여가 허가되도록 확실히 하기 위해 인증될 수 있다. 그에 따라, 오버레이는 서비스 애플리케이션의 일부가 아닌 종점들을 배제하고 서비스 애플리케이션의 실행 중에 높은 수준의 보안을 유지하도록 하는 툴들을 사용하여 프로비저닝된다. 이러한 인증 툴들의 특정 실시예들을 이하에서 보다 충실하게 기술한다.
다른 양태에서, 본 발명의 실시예들은 물리적 네트워크 안에 존재하는 후보 종점의 가상 존재를 가상 네트워크 오버레이 안에서 인스턴스화하기 위한 컴퓨터 시스템에 관한 것이다. 먼저 컴퓨터 시스템은 적어도 데이터 센터 및 호스팅 네임(name) 서버를 포함한다. 실시예들에서, 데이터 센터는 클라우드 컴퓨팅 플랫폼 안에 위치하며 후보 종점을 호스팅하도록 구성된다. 위에서 언급한 바와 같이, 후보 종점은 보통 자신에 할당된 물리 IP 어드레스를 가진다. 호스팅 네임 서버는 가상 네트워크 오버레이에 할당된 가상 IP 어드레스들의 범위를 식별하도록 구성된다. 그 범위를 식별할 때, 호스팅 네임 서버는 후보 종점에 그 범위에서 선택된 가상 IP 어드레스를 할당한다. 맵은 호스팅 네임 서버나, 후보 종점의 물리 IP 어드레스와 관련하여 할당된 가상 IP 어드레스를 고집하는 컴퓨터 내 어떤 다른 컴퓨팅 장치에 의해 유지될 수 있다.
또 다른 양태에서, 본 발명은 가상 네트워크 오버레이를 통해 소스 종점 및 목적지 종점 사이의 통신을 도모하는 컴퓨터화된 방법에 관한 것이다. 일 실시예에서, 그 방법은 맵 내에서 소스 가상 IP 어드레스를 소스 물리 IP 어드레스에 결합하고 맵에서 목적지 가상 IP 어드레스를 목적지 물리 IP 어드레스에 결합하는 단계를 포함한다. 통상적으로, 소스 물리 IP 어드레스는 클라우드 컴퓨팅 플랫폼의 데이터 센터 안에 있는 소스 종점의 위치를 가리키고, 목적지 물리 IP 어드레스는 기업 사설 네트워크의 자원 안에 있는 목적지 종점의 위치를 가리킨다. 이 방법은 가상 네트워크 오버레이를 이용하여 소스 종점에서 목적지 종점으로 패킷을 보내는 단계를 더 포함할 수 있다. 일반적으로 소스 가상 IP 어드레스 및 목적지 가상 IP 어드레스는 가상 네트워크 오버레이 안에서 각기 소스 종점 및 목적지 종점의 가상 존재를 나타낸다. 전형적인 일 실시예에서, 패킷을 보내는 단계는 다음 단계들 중 한 개 이상을 포함한다: (a) 목적지 가상 IP 어드레스로 전달되도록 지정된 패킷을 식별하는 단계; (b) 목적지 가상 IP 어드레스에서 목적지 물리 IP 어드레스로의 지정을 조정하기 위해 맵을 이용하는 단계; 및 (c) 목적지 물리 IP 어드레스에 기초하여, 자원 안에 있는 목적지 종점으로 패킷을 라우팅하는 단계.
본 발명의 실시예들의 개요를 간단히 기술하였으며, 본 발명의 실시예들을 구현하는데 적합한 전형적인 동작 환경이 이하에서 기술된다.
일반적으로 도면을 참조하면서, 특히 최초로 도 1을 참조할 때, 본 발명의 실시예들을 구현하기 위한 전형적인 동작 환경이 도시되며 일반적으로 컴퓨팅 장치(100)로서 표시된다. 컴퓨팅 장치(100)는 다만 적절한 컴퓨팅 환경의 예일 뿐이며 본 발명의 실시예들의 사용이나 기능의 범위에 대한 어떠한 한계를 제시하고자 하는 것이 아니다. 컴퓨팅 환경(100)이 예시된 구성요소들 중 어느 하나나 그 조합에 관해 어떠한 종속성이나 필요조건을 가지는 것으로도 해석되어서는 안될 것이다.
본 발명의 실시예들은 컴퓨터나 PDA(personal data assistant)나 다른 핸드헬드 장치와 같은 다른 장치에 의해 실행되는 프로그램 성분들 같은 컴퓨터 실행 가능 명령어들을 포함해 컴퓨터 코드나 장치 사용 가능 명령어들의 일반적 맥락에서 기술될 것이다. 일반적으로 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함하는 프로그램 성분들은 특정 작업을 수행하거나 특정한 추상적 데이터 유형들을 구현하는 코드를 나타낸다. 본 발명의 실시예들은 핸드헬드 장치, 소비자 가전기기, 범용 컴퓨터, 전문화된 컴퓨팅 장치들 등을 포함하는 다양한 시스템 구성 안에서 실시될 수 있다. 본 발명의 실시예들은 또한, 작업들이 통신 네트워크를 통해 링크되는 원격 프로세싱 장치들에 의해 수행되는 분산형 컴퓨팅 환경 안에서 실시될 수도 있다.
도 1을 참조할 때, 컴퓨팅 장치(100)는 다음과 같은 장치들을 직접적으로나 간접적으로 연결하는 버스(110)를 포함한다: 메모리(112), 한 개 이상의 프로세서들(114), 한 개 이상의 표현 컴포넌트들(116), 입출력(I/O) 포트들(118), I/O 컴포넌트들(120), 및 예시적 전력 공급 장치(122). 버스(110)는 (어드레스 버스, 데이터 버스, 또는 그 복합 버스와 같은) 한 개 이상의 버스들일 수 있는 것을 나타낸다. 도 1의 여러 블록들은 명료성을 위해 라인을 사용해 보여지고 있으나, 실제로는 여러 구성요소들을 그림으로 나타내는 것이 그렇게 명확한 것은 아니며, 라인들은 비유적으로 보다 정밀하게 회색으로 흐릿하게 그려질 것이다. 예를 들어, 디스플레이 장치와 같은 표현 컴포넌트를 I/O 컴포넌트로 고려할 수 있다. 또한 프로세서들은 메모리를 가진다. 이 명세서의 발명자들은 그러한 것이 이 기술 분야의 특질이라고 인정하며, 도 1의 도면이 단지 본 발명의 한 개 이상의 실시예들과 관련해 사용될 수 있는 전형적인 컴퓨팅 장치의 예일 뿐이라는 것을 반복하여 말한다. "워크스테이션", "서버", "랩탑", "핸드헬드 장치" 등과 같은 카테고리들이 모두 도 1의 범위 안에서 참작되고 "컴퓨터"나 "컴퓨팅 장치"를 나타내므로 그들 사이의 구분은 이뤄지지 않는다.
컴퓨터 장치(100)는 통상적으로 다양한 컴퓨터 판독 가능 매체를 포함한다. 한정이 아닌 예로서, 컴퓨터 판독 가능 매체는 RAM(Random- Access Memory); ROM(Read-Only Memory), EEPROM(Electronically Erasable Programmable Read Only Memory); 플래시 메모리나 다른 메모리 기술; CD-ROM, DVD(digital versatile disks) 또는 다른 광 또는 홀로그램 매체; 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 저장 장치, 또는 원하는 정보를 인코딩하는데 사용되고 컴퓨팅 장치(100)에 의해 액세스될 수 있는 어떤 다른 매체를 포함할 수 있다.
메모리(112)는 휘발성 및/또는 비휘발성 메모리 형식의 컴퓨터 저장 매체를 포함한다. 메모리는 분리 가능, 분리불가능, 또는 이들의 조합된 형태일 수 있다. 전형적 하드웨어 장치는 고체 상태 메모리, 하드 드라이브, 광 디스크 드라이브 등을 포함한다. 컴퓨팅 장치(100)는 메모리(112)나 I/O 컴포넌트(120)와 같은 다양한 개체들로부터 데이터를 판독하는 한 개 이상의 프로세서를 포함한다. 표현 컴포넌트(들)(116)은 사용자나 다른 자치로 데이터 표시를 제공한다. 전형적 표현 컴포넌트는 디스플레이 장치, 스피커, 프린팅 컴포넌트, 진동 컴포넌트 등을 포함한다. I/O 포트(118)는 컴퓨팅 장치(100)가 I/O 컴포넌트(120)를 포함하는 다른 장치들에 논리적으로 결합될 수 있게 하며, 이들 중 일부는 내장형일 수 있다. 예시된 구성요소들은 마이크로폰, 조이스틱, 게임패드, 위성접시, 스캐너, 프린터, 무선 장치 등을 포함한다.
도 1 및 2를 참조할 때, 제1컴퓨팅 장치(255) 및/또는 제2컴퓨팅 장치(265)는 도 1의 전형적 컴퓨팅 장치(100)에 의해 구현될 수 있다. 또한, 종점(201) 및/또는 종점(202)은 도 1의 메모리(112)의 일부분 및/또는 도 1의 프로세서들(114)의 일부분을 포함할 수 있다.
이제 도 2를 참조하면, 본 발명의 일 실시예에 따라, 서비스 애플리케이션에 의해 사용될 데이터 센터(225) 안에 가상 장치들(270 및 275)을 할당하도록 구성된 전형적인 클라우드 컴퓨팅 플랫폼(200)을 보이는 블록도가 도시된다. 도 2에 도시된 클라우드 컴퓨팅 플랫폼(200)은 하나의 적절한 컴퓨팅 시스템 환경의 예일 뿐이며 본 발명의 실시예들의 사용 또는 기능의 범위와 관련해 어떠한 한계도 제시하는 것으로 의도되지 않았음을 알고 예상할 수 있을 것이다. 예를 들어, 클라우드 컴퓨팅 플랫폼(200)은 공개 클라우드, 사설 클라우드, 또는 전용 클라우드일 수 있다. 클라우드 컴퓨팅 플랫폼(200)이 그 안에 예시된 구성요소들 중 어느 한 구성요소나 그 조합에 관해 어떠한 종속성이나 필요조건을 가지는 것으로도 해석되어서는 안될 것이다. 또한, 도 2의 여러 블록들은 명료성을 위해 라인을 사용해 보여지고 있으나, 실제로는 여러 구성요소들을 그림으로 나타내는 것이 그렇게 명확한 것은 아니며, 라인들은 비유적으로 보다 정밀하게 회색으로 흐릿하게 그려질 것이다. 또한, 본 발명의 실시예들의 범위 내에서 원하는 기능을 달성하기 위해 어떠한 갯수의 물리적 장치들, 가상 장치들, 데이터 센터들, 종점들, 또는 이들의 조합이라도 활용될 수 있다.
클라우드 컴퓨팅 플랫폼(200)은 특정 서비스 애플리케이션의 종점들(201 및 202)의 동작을 호스팅 및 지원하도록 구성되는 데이터 센터(225)를 포함한다. 여기 사용되는 것과 같은 "서비스 애플리케이션"이라는 어구는 광의적으로, 데이터 센터(225) 상에서 실행되거나 그 안의 저장 위치들을 액세스하는 어떤 소프트웨어나 소프트웨어의 일부를 말한다. 일 실시예에서, 종점들(201 및 202) 중 한 개 이상은 서비스 애플리케이션에 참가하는 소프트웨어의 일부분, 컴포넌트 프로그램, 또는 역할들의 인스턴스들을 나타낼 수 있다. 다른 실시예에서, 종점들(201 및 202) 중 한 개 이상은 서비스 애플리케이션이 액세스할 수 있는 저장 데이터를 나타낼 수 있다. 도 2에 도시된 종점들(201 및 202)은 서비스 애플리케이션을 지원하기 위한 적절한 부분들의 예일 뿐이며 본 발명의 실시예들의 사용 또는 기능의 범위와 관련해 어떠한 한계도 제시하는 것으로 의도되지 않았음을 알고 예상할 수 있을 것이다.
일반적으로 서비스 애플리케이션 상에서 이뤄진 요구들(가령 프로세싱 부하량)에 기초하여 가상 머신들(270 및 275)이 서비스 애플리케이션의 종점들(201 및 202)로 할당된다. 여기에서 사용되는 것과 같이, "가상 머신"이라는 어구는 한정을 의미하는 것이 아니며, 종점들(201 및 202)의 기능을 낳기 위해 프로세싱 유닛에 의해 실행되는 어떤 소프트웨어, 애플리케이션, 운영체계, 또는 프로그램을 나타낼 수 있다. 또한, 가상 장치들(270 및 275)은 종점들(201 및 202)을 적절히 지원하기 위해 데이터 센터(225) 안에 프로세싱 용량, 저장 위치, 및 기타 자산들을 포함할 수 있다.
동작 시, 가상 장치들(270 및 275)은 데이터 센터(225)의 자원들(가령, 제1컴퓨팅 장치(255) 및 제2컴퓨팅 장치(265)) 안에서 동적으로 할당되며, 종점들(가령, 종점들(201 및 202))은 현재의 프로세싱 부하를 충족시키기 위해 할당된 가상 장치들(270 및 275) 상에 동적으로 위치된다. 한 예에서, 패브릭 컨트롤러(fabric controller)(210)가 가상 장치들(270 및 275)을 자동으로 할당하고 데이터 센터(225) 안에 종점들(201 및 202)을 배치하는 역할을 한다. 예로서, 패브릭 컨트롤러(210)는 가상 머신들(270 및 275) 및 그 위에 종점들(201 및 202)을 언제 어떻게 할당해야 하는지에 대한 지침을 제공하는 서비스 모델(가령 서비스 애플리케이션을 보유한 고객에 의해 설계됨)에 의존할 수 있다.
위에서 논의된 바와 같이, 가상 장치들(270 및 275)은 제1컴퓨팅 장치(255) 및 제2컴퓨팅 장치(265) 안에서 동적으로 할당될 수 있다. 본 발명의 실시예들에 따르면, 컴퓨팅 장치들(255 및 265)은 예컨대 퍼스널 컴퓨터, 데스크탑 컴퓨터, 랩탑 컴퓨터, 모바일 장치, 소비자 가전 기기, 서버(들), 도 1의 컴퓨팅 장치(100) 등과 같은 어떠한 형태의 컴퓨팅 장치들이라도 나타낸다. 한 예에서, 컴퓨팅 장치들(255 및 265)은 가상 장치들(270 및 275)의 동작들을 호스팅 및 지원하면서, 동시에 데이터 센터(225)의 다른 점유자들을 지원하기 위해 찾아 낸 다른 가상 머신들을 호스팅하며, 여기서 점유자들은 다른 고객들에 의해 보유된 다른 서비스 애플리케이션들의 종점들을 포함한다.
한 양태에서, 종점들(201 및 202)은 클라우드 컴퓨팅 플랫폼(200)의 맥락 안에서 동작하며, 그에 따라 내부적으로 가상 장치들(270 및 275) 사이에서 동적으로 만들어진 접속을 통해, 그리고 외부적으로 물리적 네트워크 토폴로지를 통해 원격 네트워크의 자원들(가령, 도 3에서 기업 사설 네트워크(325)의 자원들)로 통신한다. 내부 접속은 네트워크 클라우드(미도시)를 통해 데이터 센터(225)의 물리적 자원들에 걸쳐 분산된 가상 장치들(270 및 275)을 상호 연결하는 일을 수반할 수 있다. 네트워크 클라우드는 종점들 사이에 통신을 설정하기 위해 종점(201)이 종점(202) 및 다른 종점들의 위치를 인식하고 할 수 있도록 이러한 자원들을 상호 연결한다. 또한, 네트워크 클라우드는 서비스 애플리케이션의 종점들(201 및 202)을 연결하는 채널들을 통해 그러한 통신을 설정할 수 있다. 예로서, 채널들은 제한 없이, 한 개 이상의 LAN(local area networks) 및/또는 WAN(wide area networks)을 포함할 수 있다. 그러한 네트워킹 환경은 사무소, 기업 전체의 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적이다. 그에 따라, 네트워크는 여기에서 더 설명되지 않는다.
이제 도 3을 참조하면, 본 발명의 일 실시예에 따라 가상 네트워크 오버레이(330)가 설정되어 있는 전형적인 분산 컴퓨팅 환경(300)을 예시한 블록도가 보여진다. 처음에 분산 컴퓨팅 환경(300)은 호스팅 네임 서버(310) 및, 기업 사설 네트워크(325) 및 도 2를 참조하여 논의된 것과 같은 클라우드 컴퓨팅 플랫폼(200)을 포함하는 물리적 네트워크(380)를 포함한다. 여기 사용된 것과 같이, "물리적 네트워크"라는 어구는 한정적인 의미가 아니라 지리적으로 멀리 떨어진 위치들에 있는 종점들 사이의 통신을 도모하는 유형적 메커니즘 및 설비(가령, 광섬유 라인, 회로 박스, 스위치, 안테나, IP 라우터 등) 뿐 아니라 비유형적 통신 및 반송파를 포괄할 수 있다. 예로서, 물리적 네트워크(380)는 인터넷 안에서 활용되고 별개의 네트워크들 사이의 통신을 장려하는데 사용될 수 있는 어떤 유무선 기술을 포함할 수 있다.
일반적으로 기업 사설 네트워크(325)는 클라우드 컴퓨팅 플랫폼(200)의 고객에 의해 관리되는 자원들(375) 같은 자원들을 포함한다. 흔히 이러한 자원들은 고객에 의해 보유된 서비스 애플리케이션의 구성 요소들의 동작을 호스팅 및 지원한다. 종점 B(385)는 서비스 애플리케이션의 구성 요소들 중 한 개 이상을 나타낸다. 실시예들에서, 서비스 애플리케이션의 원격 분산 구성 요소들의 동작을 호스팅 및 지원하기 위해 도 2의 가상 장치(270)와 같은 자원들이 도 2의 데이터 센터(225) 안에 할당된다. 종점 A(395)는 서비스 애플리케이션의 그러한 원격 분산 구성 요소들 중 한 개 이상을 나타낸다. 동작 시, 종점들 A(395) 및 B(385)는 서비스 애플리케이션이 적절히 실행될 수 있게 하기 위해 서로 협력하여 작동한다. 한 예에서, 협력하는 동작은 물리적 네트워크(380)의 네트워크(315)를 통해 데이터의 패킷(316)을 종점들 A(395) 및 B(385) 사이에서 전송하는 일을 수반한다.
통상적으로, 자원들(375), 호스팅 네임 서버(310) 및 데이터 센터(225)는 종점(들) 및/또는 그 위에서 실행되는 구성 요소(들)의 동작을 지원하기 위해 일정 형식의 컴퓨팅 유닛(가령, 센트럴 프로세싱 유닛, 마이크로프로세서 등)을 포함하거나 그것에 연결된다. 여기에서 사용되는 것과 같이, "컴퓨팅 유닛"이라는 어구는 일반적으로 한 개 이상의 운영 체계나 기타 기본 소프트웨어를 지원하는 프로세싱 파워 및 저장 메모리를 가진 전용 컴퓨팅 장치를 말한다. 한 예에서, 컴퓨팅 유닛은 자원(375), 호스팅 네임 서버(310) 및 데이터 센터(225)에 필수적이거나 유효하게 연결되어 각각의 장치가 다양한 프로세스 및 동작을 수행할 수 있게 하도록 하는 유형의 하드웨어 요소들을 이용해 구성된다. 또 다른 예에서, 컴퓨팅 유닛은 자원(375), 호스팅 네임 서버(310), 및 데이터 센터(225) 각각에 의해 제공되는 컴퓨터 판독 가능 매체에 연결되는 프로세서(미도시)를 포함할 수 있다. 일반적으로 컴퓨터 판독 가능 매체는 프로세서에 의해 실행될 수 있는 복수의 컴퓨터 소프트웨어 구성요소들(가령, 종점들 A(395) 및 B(385))를 최소한 일시적으로 저장한다. 여기 사용되는 것과 같이 "프로세서"라는 용어는 제한하려는 의미가 아니라 계산 용량에 작용하는 컴퓨팅 유닛의 요소들을 포괄할 수 있다. 그러한 용량 안에서, 프로세서는 명령어들을 처리하는 유형의 물품으로서 구성될 수 있다. 전형적인 일 실시예에서, 프로세싱은 명령어들을 가져오기, 디코딩/해석, 실행 및 다시 쓰기를 포함할 수 있다.
가상 네트워크 오버레이(330)("오버레이(330)")는 통상적으로, 서비스 애플리케이션의 종점들 사이의 통신을 촉진하고 안전하게 하기 위해 종점들 A(395) 및 B(385)을 포함하는 서비스 애플리케이션 같은 하나의 서비스 애플리케이션에 대해 설정된다. 일반적으로, 오버레이(330)는 물리 IP 어드레스들 대신, 서비스 애플리케이션들의 종점들을 가상으로 나타내고 그 가상의 표현들을 안전한 방식으로 연결하는 가상 IP 어드레스들의 계층을 나타낸다. 다른 실시예들에서, 오버레이(330)는 서비스 애플리케이션을 제어하는 고객에게 할당된 자원들을 포함하는 물리적 네트워크(380) 위에 구축되는 가상 네트워크이다. 동작 시, 오버레이(330)는 상호 접속된 종점들 A(395) 및 B(385)의 한 개 이상의 논리적 연결을 유지하며 (가령, 물리적 전송을 이용하여) 물리적 네트워크 접근성을 얻기 위해 필요로 되는 종점들 A(395) 및 B(385)과 관련된 액세스 제어/보안을 강제한다.
지금부터 도 3을 참조하여 오버레이(330)의 설정에 대해 설명할 것이다. 최초로, 클라우드 컴퓨팅 플랫폼(200)의 데이터 센터(225) 안에 상주하는 종점 A(395)가 특정 서비스 애플리케이션의 구성 요소로서 식별된다. 종점 A(395)는 제1물리 IP 어드레스에서 물리적 네트워크(380)의 네트워크(315)를 통해 접근될 수 있다. 오버레이(33) 안으로 병합될 때, 종점 A(395)에는 오버레이(330) 안에서의 종점 A(395)의 가상 존재 A'(331)를 위치 확인시키는 제1가상 IP 어드레스가 할당된다. 제1물리 IP 어드레스 및 제1가상 IP 어드레스는 맵(320) 안에서 결합되어 관리될 수 있다.
또한, 기업 사설 네트워크(325)의 자원들(375) 안에 상주하는 종점 B(385)가 특정 서비스 애플리케이션의 구성 요소로서 식별된다. 종점 B(385)는 제2물리 IP 어드레스에서 물리적 네트워크(380)의 네트워크(315)를 통해 접근될 수 있다. 오버레이(33) 안으로 병합될 때, 종점 B(385)에는 오버레이(330) 안에서의 종점 B(385)의 가상 존재 B'(332)를 위치 확인시키는 제2가상 IP 어드레스가 할당된다. 제2물리 IP 어드레스 및 제2가상 IP 어드레스는 맵(320) 안에서 결합되어 관리될 수 있다. 여기 사용된 것과 같은 "맵"이라는 용어는 한정적인 것이 아니라 다른 값과 함께 어떤 값을 작성 및/또는 지속시키기 위한 어떤 메커니즘을 포함할 수 있다. 예로서, 맵(320)은 단순히 다른 어드레스 엔트리들과 함께 저장된 어드레스 엔트리들을 기록한 테이블을 나타낼 수 있다. 도시된 바와 같이, 맵은 호스팅 네임 서버(310) 상에서 관리되고 그에 의해 액세스될 수 있다. 다른 대안으로서, 맵(320)이 물리적 네트워크(380)와 연결되거나 그에 의해 접근될 수 있는 어떤 컴퓨팅 장치 안에 위치될 수도 있으며, 도 3에 도시된 것과 같이 하나의 경우에 국한되지 않는다. 따라서 동작 시 맵(320)은 오버레이(330) 안의 가상 존재들 A'(331) 및 B'(332) 사이에서 교류되는 통신에 기초하여 종점들 A(395) 및 B(385) 사이에 패킷(316)을 라우팅하는데 사용된다. 예로서, 맵(320)은 다음과 같은 방식으로 사용된다: 클라이언트 에이전트 A(340)가 오버레이(330)를 통한 종점 A(395)로의 통신을 검출한다; 검출 시, 클라이언트 에이전트 A(340)는 맵(320)을 액세스하여 해당 통신을 발신했던 가상 IP 어드레스로부터 물리 IP 어드레스로 변환한다; 물리 IP 어드레스로 통신에 대한 응답을 보냄으로써 통신에 대한 응답을 제공한다.
실시예들에서, 호스팅 네임 서버(310)는 종점들 A(395) 및 B(385)의 가상 존재들 A'(331) 및 B'(332)을 인스턴스화할 때 가상 IP 어드레스들을 할당하는 역할을 한다. 인스턴스화 프로세스는 또한 오버레이(330)의 기능을 가능하게 하는 가상 IP 어드레스들의 범위를 오버레이(330)에 할당하는 일을 포함한다. 전형적인 일 실시예에서, 가상 IP 어드레스들의 범위는 기업 사설 네트워크(325)나 클라우드 컴퓨팅 네트워크(200)의 어드레스 공간과 충돌하거나 교차하지 않는 어드레스 공간을 포함한다. 특히, 오버레이(330)에 할당되는 가상 IP 어드레스의 범위는 종점들 A(395) 및 B(385)의 제1 및 제2물리 IP 어드레스들을 각기 매치시키는 어드레스드을 포함하지 않는다. 가상 IP 어드레스 범위의 선택에 대해 도 8을 참조하여 이하에서 보다 충분히 설명할 것이다.
가상 IP 어드레스 범위의 선택 시, 인스턴스화 프로세스는 종점들 A(395) 및 B(385)을 서비스 애플리케이션의 구성요소들로서 사용되는 종점들의 그룹의 멤버들로서 참여시키는 일을 포함한다. 통상적으로 종점들의 그룹의 모든 멤버들이 맵(320) 안에서 서비스 애플리케이션과 연관된 것으로서 식별될 수 있다. 한 예에서, 종점들 A(395) 및 B(385)은 서비스 애플리케이션이 그 동작을 지원하기 위한 추가 구성 요소들을 요청할 때 종점들의 그룹의 멤버들로서 참여된다. 다른 예에서, 참여 동작은 서비스 애플리케이션과 관련된 서비스 모델을 검사하는 동작, 서비스 모델에 따라 클라우드 컴퓨팅 플랫폼(200)의 데이터 센터(225) 안에서 가상 장치(270)를 할당하는 동작, 및 가상 장치(270) 상에 종점 A(395)를 배치하는 동작을 수반할 수 있다. 실시예들에서, 서비스 모델은 서비스 애플리케이션의 동작들을 지원하기 위해 데이터 센터(225) 안에서 어느 가상 장치들이 할당되는가를 좌우한다. 또한, 서비스 모델은 클라우드 컴퓨팅 플랫폼(200) 안에 상주하여 서비스 애플리케이션의 종점들을 관리하기 위한 명령어들을 제공하는 인터페이스 계획으로서 작용한다.
인스턴스화가 되면, 종점들 A(395) 및 B(385)의 가상 존재들 A'(331) 및 B'(332)은 오버레이(330) 안에서 안전한 접속(335)을 통해 통신할 수 있다. 이러한 안전 접속(335)에 대해 도 4를 참조하여 이제부터 설명할 것이다. 도시된 바와 같이, 도 4는 본 발명의 일 실시예에 따른 오버레이(330) 내 안전 접속의 개략도이다. 처음에 종점 A(395)는 물리 IP 어드레스 IPA(410) 및 도 3의 오버레이(330) 내 가상 IP 어드레스 IPA'(405)와 연관된다. 물리 IP 어드레스 IPA(410)는 물리적 네트워크의 토폴로지 안에서 채널(415)을 통해 접근될 수 있다. 반대로, 가상 IP 어드레스 IPA'(405)는 안전 접속(335)을 통해 종점 B(385)와 연관된 가상 IP 어드레스 IPB'로 통신한다. 또한, 종점 B(385)는 물리 IP 어드레스 IPB(430)와 연관된다. 물리 IP 어드레스 IPB(430)는 물리적 네트워크의 토폴로지 안에서 채널(420)을 통해 접근될 수 있다.
동작 시, 오버레이(330)는 안전 접속(335)을 통해 가상 IP 어드레스 IPA'(405)로부터 가상 IP 어드레스 IPB'(425)까지 종점들 A(395) 및 B(385) 사이의 완전한 접속을 가능하게 한다. 실시예들에서, "완전한 접속"이란 일반적으로 종점들 및 다른 자원들을 나타내면서, 그 종점들과 다른 자원들이 지리적으로 분산되고 다른 사설 네트워크들 안에 존재할 때라도 마치 이들이 단일 네트워크 상에 있는 것처럼 이들의 통신을 가능하게 한다는 것을 의미한다.
또한, 오버레이(330)는 종점들 A(395) 및 B(385) 및 서비스 애플리케이션과 관련된 종점들의 그룹의 다른 멤버들 사이의 완전한 접속을 가능하게 한다. 예로서, 완전한 접속은 그룹의 종점들이 마치 데이터 센터로부터 찾아 낸 그들 고유의 전용 물리적 네트워크가 부여된 것처럼 피어 투 피어(peer-to-peer) 관계로 상호 동작할 수 있게 한다. 그와 같이, 안전 접속(335)은 서비스 애플리케이션의 종점들의 그룹에 대해 그들이 다양한 네트워크들에 걸쳐 분산되어 있을 때 그들에 대한 끊어짐 없는 IP 레벨 접속을 제공하며, 이때 그룹 내 종점들은 IP 서브넷에 연결된 것처럼 서로에게 보여진다. 이러한 방식에 따라, 이러한 서비스 애플리케이션들이 여러 네트워크들을 통해 통신할 수 있게 하기 위해 옛 IP 기반 서비스 애플리케이션들에 대한 어떠한 변경도 필요로 되지 않는다.
또한, 오버레이(330)는 서비스 애플리케이션의 멤버들인 종점들의 그룹 주위의 애드 호크(ad-hoc) 바운더리로서 작용한다. 예를 들어 오버레이(330)는 가상 IP 어드레스 IPA'(405) 및 가상 IP 어드레스 IPB'(425) 사이의 안전 접속(335)과 같이, 종점들의 그룹의 가상 IP 어드레스들 사이에 안전 접속을 생성한다. 이러한 안전 접속들은 맵(320)에 의해 강제되고, 멤버로서 프로비저닝되지 않는 한 물리적 네트워크 내 다른 것들에 의해 그룹의 종점들이 접속될 수 없도록 보장한다. 예로서, 그룹의 가상 IP 어드레스들 사이의 접속을 안전하게 하는 동작은 오버레이(330)를 통해 통신을 보내거나 받을 때 종점들을 인증하는 동작을 포함한다. 종점들의 물리 IP 어드레스나 다른 표시를 체크함으로써 인증은 서비스 애플리케이션의 일부로서 사전 인증되는 그 종점들만이 오버레이(330) 상으로 통신을 보내거나 받을 수 있게 보장한다. 오버레이(330)를 통해 통신을 보내거나 받고자 시도하는 종점이 그렇게 하는 것으로 사전 인증되지 않으면, 이 비인증 종점은 그룹 내 종점들에 의해 접근되지 못할 것이다.
도 3으로 돌아가서, 이제 종점들 A(395) 및 B(385) 사이의 통신을 클라이언트 에이전트 A(340) 및 클라이언트 에이전트 B(350)를 참조하여 설명할 것이다. 먼저 클라이언트 에이전트 A(340)가 가상 장치(270) 상에 인스톨되고 클라이언트 에이전트 B(350)는 자원(375) 상에 인스톨된다. 예로서, 클라이언트 에이전트 A(340)는 데이터 센터(225) 안의 물리적 프로세서와 같은 특정 장치 상의 네트워크 프로토콜 스택에 놓여질 수 있다. 이 예에서, 클라이언트 에이전트 A(340)는 종점 A(395)와 통신을 송수신하는 것을 돕도록 네트워크 프로토콜 스택 안에 인스톨되는 애플리케이션이다.
동작 시, 클라이언트 에이전트 A(340) 및 B(350)는 호스팅 네임 서버(310)와 협상하여 서비스 애플리케이션에 참가한 종점들의 신원 및 어드레스들을 액세스하도록 한다. 예를 들어, 종점 A(395)가 안전 접속(3350을 통해 오버레이(330) 내 가상 존재 B'(332)로 통신을 보낼 때, 클라이언트 에이전트 A(340)는 호스팅 네임 서버(310)와 협조하여 맵(320)으로부터 가상 존재 B'(332)의 물리 IP 어드레스를 찾아 가져오도록 한다. 통상적으로, 맵(320) 안에는 종점 B(385)의 물리 IP 어드레스와 그에 대응하는 가상 존재 B'(332)의 가상 IP 어드레스 사이의 일대일 매핑이 존재한다. 다른 실시예들에서, 하나의 종점이 복수의 가상 존재들을 가질 수도 있다.
종점 B(385)의 물리 IP 어드레스가 클라이언트 에이전트 A(340)에 의해 획득되면(호스팅 네임 서버(310)로부터 어드레스 결정(address resolution)을 획득), 클라이언트 에이전트 A(340)는 자동으로 한 개 이상의 전송 기술들에 명령하여 종점 B(385)의 물리 IP 어드레스로 패킷(316)을 전송하게 한다. 그러한 전송 기술들은 물리적 네트워크(380)의 네트워크(315)를 통해 종점 B(385)의 물리 IP 어드레스로 패킷(316)을 전달할 수 있는 가상 장치(270)에 배치된 드라이버들, 가상 사설 네트워크(VPN), 인터넷 중계기, 또는 패킷(316)을 포함할 수 있다. 이와 같이, 클라이언트 에이전트 A(340) 및 B(350)에 의해 사용되는 전송 기술들은 안전 접속(335)을 통해 보내진 통신의 IP 레벨, 피어-투-피어 어의구조를 해석할 수 있으며, 그러한 통신에 기초하여 소스 종점(가령, 종점 A(395))로부터 발신된 패킷 스트림을 목적지 종점(가령, 종점 B(385))으로 안내할 수 있다. 물리 IP 어드레스는 물리적 네트워크(380) 안의 종점 B(385)를 찾기 위한 수단으로서 나타내어져 있지만, 기업 사설 네트워크(325) 안의 종점 B(385)를 찾는 다른 유형의 적절한 지시자들이나 물리 IP 파라미터들이 사용될 수 있으며 본 발명의 실시예들이 여기 기술된 그러한 물리 IP 어드레스들에 국한되는 것은 아니라는 것을 이해하고 예상할 수 있을 것이다.
또 다른 실시예에서, 전송 메커니즘은 네트워크 어드레스 변환(NAT) 장치로서 구현된다. 먼저 NAT 장치는 한 개 이상의 종점들이 상주하는 네트워크의 바운더리에 자리한다. NAT 장치는 일반적으로 다른 네트워크에 존재하는 그룹 내 다른 종점들로 상기 종점들의 가상 IP 어드레스를 제공하도록 구성된다. 동작 시, 도 3을 참조할 때, NAT는 종점 A(395)가 종점 B(385)로 정보를 전달하고자 시도할 때 가상 존재 B'(332)의 가상 IP 어드레스를 종점 A(395)로 제공한다. 이 시점에 가상 존재 A'(331)가 가상 존재 B'(332)의 가상 IP 어드레스로 어드레싱된 패킷 스트림을 보낼 수 있다. NAT 장치는 그 스트리밍 패킷을 수용하고, 그 안의 헤더들을 가상 존재 B'(332)의 IP 어드레스에서 그것의 물리 IP 어드레스로 변경한다. 그런 다음 NAT 장치는 업데이트된 헤더들을 가진 스트리밍 패킷들을 기업 사설 네트워크(325) 내 종점 B(385)로 전달한다.
상술한 바와 같이, 종점들 간 기본적인 네트워크 접속을 설정하기 위해 맵(320) 대신, 혹은 맵(320)과 협력하는 NAT 장치를 이용하는 이 실시예는 맵(320)을 지지하거나 대체할 메커니즘의 확실한 예를 나타내나, 여기 기술된 본 발명의 실시예들을 구현하는데 있어 필요로 되는 것은 아니다.
전송 메커니즘에 대한 또 다른 실시예에서, 종점들 A(395) 및 B(385) 사이의 접근성은 공적 인터넷 상에 상주하는 랑데뷰 포인트를 통해 네트워크 바운더리들을 지나 설정될 수 있다. "랑데뷰 포인트"는 일반적으로 사설 기업 네트워크(325) 내 자원들(375) 및 클라우드 컴퓨팅 플랫폼(200) 내 데이터 센터(225) 사이의 가상 라우팅 브리지로서 작용한다. 이 실시예에서 가상 라우팅 브리지를 통한 접속은 랑데뷰 포인트가 물리적 네트워크(380) 안의 적합한 목적지로 패킷(316)을 라우팅하도록 준비되게 랑뎁뷰 포인트에 맵(320)에 대한 액세스를 제공하는 동작을 포함한다.
실시예들에서 고객, 고객에 의해 보유된 서비스 애플리케이션, 또는 서비스 애플리케이션과 연관된 서비스 모델에 의해 정책들이 제공될 수 있다. 이러한 정책들에 대해 도 5를 참조하여 이제부터 설명할 것이다. 일반적으로 도 5는 본 발명의 일 실시예에 따라 오버레이(330)가 설정되어 있는 전형적인 분산 컴퓨팅 환경의 블록도를 도시한다.
오버레이(330) 안에 세 개의 가상 존재들 A'(331), B'(332) 및 X'(333)가 존재한다. 위에서 논의된 바와 같이, 가상 존재 A'(331)는 오버레이(330) 상에서 인스턴스화된 종점 A(395)의 표현이고, 가상 존재 B'(332)는 오버레이(330) 상에서 인스턴스화된 종점 B(385)의 표현이다. 가상 존재 X'는 오버레이(330) 상에서 인스턴스화되고, 데이터 센터(225)에 의해 호스팅 및 지지되는 가상 장치(570) 안에 상주하는 종점 X(595)의 표현이다. 일 실시예에서 종점 X(595)는 서비스 애플리케이션과 관련된 종점들의 그룹에 최근 합류되었다. 종점 X(595)는 서비스 애플리케이션으로부터의 요청이나, (가령, 서비스애플리케이션에 대한 증가된 수요에 기인하여) 서비스 애플리케이션에 참여하기 위해 더 많은 구성 요소들이 필요로 된다는 인식을 포함하는 여러 트리거들에 의해 종점들의 그룹에 합류하도록 유도되었을 수 있다. 종점 X(595)가 종점들의 그룹에 합류할 때, 종점 X(595)의 물리 IP 어드레스는 가상 존재 X'(333)의 가상 IP 어드레스와 연계하여 자동으로 결합 및 유지된다. 전형적인 일 실시예에서 가상 존재 X'(333)의 가상 IP 어드레스는 가상 존재들 A'(331) 및 B'(332)에 대해 선택된 가상 IP 어드레스들과 동일한 범위의 가상 IP 어드레스들로부터 선택된다. 또한, 가상 존재들 A'(331) 및 B'(332)에 할당된 가상 IP 어드레스들은 가상 존재 X'(333)에 할당된 가상 IP 어드레스와 구분될 수 있다. 예로서, 가상 IP 어드레스들 사이의 구분은 가상 존재들 A'(331), B'(332), 및 X'(333)에 할당된 특정 어드레스의 값에 있으나, 가상 IP 어드레스들 각각은 이하에 보다 상세히 논의되는 바와 같이 동일한 범위로부터 선택되며 각각이 맵(320)에 의해 관리된다.
종점들의 그룹의 멤버들로서 합류되지 않은 종점들이 오버레이(330) 구성의 이유로 종점들 A(395), B(385) 및 X(595)로 통신할 수 없다고 하더라도, 종점들 A(395), B(385) 및 X(595)이 서로, 그리고 종점들의 그룹 내 다른 것들과 통신하는 방법을 좌우하기 위한 정책들이 구현된다. 실시예들에서, 그러한 정책들은 그룹 내 종점들 사이의 연관 관계를 통제하는 단 대 단(end-to-end) 규칙들을 포함한다. 예로서, 오버레이(330)에서의 단 대 단 규칙들은 종점들 A(395) 및 B(385) 사이의 통신을 허용하고 종점 A(395)로부터 종점 X(595)까지의 통신을 허용한다. 한편, 오버레이(330) 내 전형적인 단 대 단 규칙들은 종점 B(385)로부터 종점 X(595)로의 통신을 금지하며 종점 X(595)로부터 종점 A(395)로의 통신을 금지한다. 이해할 수 있는 바와 같이, 단 대 단 규칙들은 기본적인 물리적 네트워크(380)의 네트워크(315) 내에서의 종점들의 위치와 무관하게 그룹 내 종점들 사이의 연관 관계를 좌우할 수 있다. 예로서, 단 대 단 규칙들은 목적지 종점까지의 통신을 개시하는 소스 종점의 신원을 인증함으로써 단 대 단 규칙들의 시행을 성취하는 IPsec 정책들을 프로비저닝하는 동작을 포함한다. 신원을 인증하는 동작은 호스팅 네임 서버(310) 안의 맵(320)을 액세스하고 읽어 소스 종점의 물리 IP 어드레스가 오버레이(330)를 통해 통신하도록 사전 인증된 가상 IP 어드레스에 대응하는지를 증명하는 동작을 수반할 수 있다.
물리적 네트워크 내 어떤 종점을 이동하는 프로세스에 대해 지금부터 도 6 및 7을 참조해 설명할 것이다. 도시된 바와 같이, 도 6 및 7은 본 발명의 일 실시예에 따라 오버레이(330)가 설정되어 있는 전형적인 분산 컴퓨팅 환경(600)의 블록도를 도시한다. 먼저, 어떤 이벤트 발생 시, 종점 A(395)는 클라우드 컴퓨팅 플랫폼(200) 안의 데이터 센터(225)로부터 제3자 네트워크(625) 안의 자원(670)으로 옮겨진다. 일반적으로, 제3자 네트워크(625)는 도 3의 기업 사설 네트워크나 클라우드 컴퓨팅 플랫폼(200)이 아닌 어떤 다른 네트워크를 말한다. 예로서, 제3자 네트워크(625)는 서비스 애플리케이션에 의해 사용되는 정보를 보유하는 데이터 저장부나, 서비스 애플리케이션의 한 개 이상의 동작들을 지원하는 소프트웨어를 제공하는 벤더(vendor)를 포함할 수 있다.
실시예들에서 물리적 네트워크(380) 내 종점(395)의 어드레스는 가상 장치(270) 상의 물리 IP 어드레스로부터 제3자 네트워크(625) 상의 원격 물리 IP 어드레스로 변경된다. 예를 들어, 그러한 이동을 야기하는 이벤트는 서비스 애플리케이션에 의해 통제되는 자원들의 재할당이거나, 가상 장치(270)가 현재 이용되는 것을 막는 데이터 센터(225)의 변경이거나, 서비스 모델의 어떤 구성 요소의 동작들을 지원하는 물리적 호스팅 장치들을 스위칭하기 위한 어떤 다른 이유일 수 있다.
제3자 네트워크(625)는 그 위에 인스톨된 클라이언트 에이전트 C(640)와 자원(670)을 포함하여, 도 6의 클라우드 컴퓨팅 플랫폼(200) 및 도 7의 기업 사설 네트워크(325)와 구분되는 자원들의 네트워크를 나타낸다. 그러나, 여기 기술되는 종점 A(395)의 이동 프로세스는 이하에 나열되는 단계들을 실질적으로 가변함이 없이, 종점들(385)을 사설 기업 네트워크(325)나 내부적으로 데이터 센터(225) 안으로 이동하는 동작을 수반할 수 있다. 종점 A(395)가 옮겨지면, 호스팅 네임 서버(310)가 그 옮겨진 종점 A(395)의 원격 물리 IP 어드레스를 획득한다. 그러면 그 원격 물리 IP 어드레스는 종점 A(395)의 가상 존재 A'(331)의 가상 IP 어드레스와 연계하여 자동으로 저장된다. 예를 들어, 물리 IP 어드레스 및 가상 존재 A'(331)의 가상 IP 어드레스 사이의 결합은 깨지고, 원격 물리 IP 어드레스와 가상 존재 A'(331)의 그 동일한 가상 IP 어드레스 사이의 결합이 설정된다. 그에 따라, 가상 존재 A'(331)는 그 가상 존재 A'(331) 및 오버레이(330) 안의 다른 가상 존재들 사이의 안전 접속이 그렇듯이, 맵(320) 내에서 동적으로 관리된다.
또한, 안전 접속을 통한 통신 교류 시, 클라이언트 에이전트 C(640)는 제3자 네트워크(625) 내 종점 A(395)를 찾기 위해 호스팅 네임 서버(310)와 협력하도록 적응된다. 맵(320) 안에서, 가상 존재 B'(332)에 대한 보안 접속(335)과 같이 가상 존재 A'(331) 및 그 보안 접속들을 동적으로 관리하는 이러한 특징이 도 7에 예시된다. 전형적인 일 실시예에서, 종점 A(395)의 이동은 클라이언트 에이전트 B(350)에게 투명하게 보여지는데, 이것이 어떠한 재설정 없이도 종점 B(385) 및 종점 A(395) 사이의 통신을 돕는다.
이제 도 8을 참조하면, 본 발명의 일 실시예에 따라 물리 IP 어드레스들의 복수의 중복 범위들 II(820) 및 III(830)과 가상 IP 어드레스들의 비중복 범위 I(810)를 보이는 개략도가 예시된다. 실시예들에서, 가상 IP 어드레스들의 범위 I(810)는 도 7의 오버레이(330)에 할당되는 어드레스 공간에 해당하고, 물리 IP 어드레스들의 중복 범위들 II(820) 및 III(830)은 기업 사설 네트워크(325) 및 클라우드 컴퓨팅 플랫폼(200)의 어드레스 공간들에 해당한다. 예시된 바와 같이, 물리 IP 어드레스들의 범위들 II(820) 및 III(830)은 IP 버전 4(IPv4) 어드레스들로 프로비저닝될 때 이용 가능한 글로벌 어드레스 공간의 제한된 크기로 인해 참조 부호 850에서 교차된다. 그러나, 가상 IP 어드레스들의 범위 I(810)는 서비스 애플리케이션과 연관된 그룹 내 종점들 사이에서 데이터 패킷 및 통신이 잘못 보내지지 않도록 보장하기 위해 물리 IP 어드레스들의 범위들 II(820) 및 III(830)과 중복되는 것이 금지된다. 그에 따라, 가상 IP 어드레스들의 범위 I(810)와 물리 IP 어드레스들의 범위들 II(820) 및 III(830) 사이의 분리를 구현하고 그들 사이의 충돌을 방지하기 위해 (가령, 도 7의 호스팅 네임 서버(310)를 이용하여) 다양한 방식들이 사용될 수 있다.
일 실시예에서, 상기 방식은 사설 네트워크들 안의 물리 IP 어드레스들에 대해 보통 사용되지 않는 공개 IP 어드레스들의 집합으로부터 가상 IP 어드레스들의 범위 I(810)를 선택하는 라우팅 해법을 포함할 수 있다. 가상 IP 어드레스 사용을 위해 공개 IP 어드레스들의 집합을 잘라 냄으로써, 통상적으로 물리 IP 어드레스들로서 사용되는 사설 IP 어드레스들이 가상 IP 어드레스들과 중복될 가능성이 없을 것이다. 달리 말하면, 공적 인터넷을 통해 호출될 수 있는 공개 IP 어드레스들은 경로가 존재하지 않아서 공적 인터넷으로부터 호출될 수 없는 사설 네트워크들에 의해 사용되는 물리 IP 어드레스들과 일관되게 상이하다. 그에 따라, 공개 IP 어드레스들은 로컬 어드레스들을 링크하는데 예비되며 글로벌 통신에 대해서는 원래 의도되어 있지 않다. 예로서, 공개 IP 어드레스들은 물리 IP 어드레스들의 범위 II(820) 및 III(830)와 같은 사설 네트워크들에 사용되지 않는 특별한 IPv4 프리픽스(prefix)(가령, 10.254.0.0/16)에 의해 식별될 수 있다.
다른 실시예에서, 가상 IP 어드레스들의 범위 I(810)에 고유한 IPv4 어드레스들은 범위들 II(820) 및 III(830)과 관련하여 (가령, 도 3의 호스팅 네임 서버(310)를 사용하여) 동적으로 협의된다. 일례에서, 동적 협의는 도 3의 기업 사설 네트워크(325) 및 도 2의 클라우드 컴퓨팅 플랫폼(200)과 비교할 때 고유한 IPv4 어드레스 범위를 그 두 네트워크들과 주기적으로 통신함으로써 협의하는 메커니즘을 이용하는 동작을 포함한다. 이러한 방식은 물리 IP 어드레스들의 범위들 II(820) 및 III(830)이 도 3의 물리적 네트워크(380) 내 종점들을 호스팅하는 네트워크들에 의해서만 사용되는 IP 어드레스들이라는 추정에 기반한다. 그에 따라, 도 6의 제3자 네트워크(625)와 같은 다른 네트워크가 종점 호스트로서 물리적 네트워크에 참여하는 경우, 범위 I(810) 안의 IPv4 어드레스들이 네트워크들에 의해 물리 IP 어드레스들에 대해 할당되는 IPv4 어드레스들에 반해 고유하도록 보장하기 위해, 범위 I(810) 내 IPv4 어드레스들이 새로 합류된 네트워크를 참작하여 다시 동적으로 협의된다.
IP 버전 6(IPv6) 가능 서비스 애플리케이션들에 대해, 전체적으로 고유한 IPv6 어드레스들의 집합이 가상 IP 어드레스들의 범위 I(810)에 할당된다. IPv6 구조 안에서 이용 가능한 어드레스들의 개수는 매우 많기 때문에, 전체적으로 고유한 IPv6 어드레스들은 물리 IP 어드레스들의 범위들 II(820) 및 III(830)과 아무런 충돌이 없도록 보장하기 위한 방식을 설정할 필요성 없이, 가상 IP 어드레스들의 범위 I(810)에 할당된 IPv6 프리픽스를 이용함으로써 형성될 수 있다.
이제 도 9를 참조하면, 본 발명의 일 실시예에 따라 물리적 네트워크 내 별개의 위치들에 존재하는 복수의 종점들 사이에서 오버레이를 거쳐 통신하기 위한 방법(900)을 보이는 흐름도가 예시된다. 그 방법(900)은 (가령 도 2 및 3의 클라우드 컴퓨팅 플랫폼(200)의 데이터 센터(225)를 이용하여) 클라우드 컴퓨팅 플랫폼의 데이터 센터 안에 상주하는 제1종점을 식별하는 단계, 및 (가령, 도 3의 기업 사설 네트워크(325)의 자원(375)을 활용하여) 기업 사설 네트워크의 자원 안에 상주하는 제2종점을 식별하는 단계를 포함한다. 이 단계들은 블록 910 및 920에서 나타내어져 있다. 실시예들에서, 제1종점은 제1물리 IP 어드레스에서 데이터의 패킷에 의해 접근될 수 있고, 제2종점은 제2물리 IP 어드레스에서 접근될 수 있다. 그 방법(900)은 또한 블록 930에서 나타낸 바와 같이 특정 서비스 애플리케이션에 대해 설정되는 오버레이(가령 도 3 및 5-7의 오버레이(330) 사용) 안에서 제1종점 및 제2종점의 가상 존재들을 인스턴스화하는 단계를 더 포함할 수 있다.
전형적인 일 실시예에서, 인스턴스화하는 단계는 다음 단계들 중 한 개 이상을 포함한다: 제1종점에 제1가상 IP 어드레스를 할당하는 단계(블록 940 참조) 및 제1물리 IP 어드레스 및 제1가상 IP 어드레스 사이의 연관 관계를 맵 안에서 관리하는 단계(블록 950 참조). 또한, 인스턴스화하는 단계는 제2종점에 제2가상 IP 어드레스를 할당하는 단계(블록 960 참조) 및 제2물리 IP 어드레스 및 제2가상 IP 어드레스 사이의 연관 관계를 맵 안에서 관리하는 단계(블록 970 참조)를 포함할 수 있다. 동작 시, 맵(도 3의 맵(320) 사용)은 오버레이 내 가상 존재들 사이에 교환되는 통신에 기반하여 제1종점 및 제2종점 사이에서 패킷들을 라우팅하는데 사용될 수 있다. 이 단계는 블록 980에서 나타내진다.
이제 도 10을 참조하면, 본 발명의 일 실시예에 따라, 오버레이를 통해 소스 종점 및 목적지 종점 사이의 통신을 돕기 위한 방법(1000)을 보이는 흐름도가 예시된다. 일 실시예에서, 그 방법(1000)은 맵 내에서 소스 가상 IP 어드레스를 소스 물리 IP 어드레스에 결합하는 단계(가령 도 4의 IPA(410) 및 IPA'(405)) 및 맵 내에서 목적지 가상 IP 어드레스를 목적지 물리 IP 어드레스에 결합하는 단계(가령, 도 4의 IPB(430) 및 IPB'(425))를 포함한다. 이 단계들은 블록 1010 및 1020에서 나타내어져 있다. 통상적으로, 소스 물리 IP 어드레스는 클라우드 컴퓨팅 플랫폼의 데이터 센터 안에 있는 소스 종점의 위치를 가리키고, 목적지 물리 IP 어드레스는 기업 사설 네트워크의 자원 안에 있는 목적지 종점의 위치를 가리킨다.
이 방법(1000)은 블록(1030)에서 나타낸 바와 같이, 오버레이를 이용하여 소스 종점에서 목적지 종점으로 패킷을 보내는 단계를 더 포함할 수 있다. 일반적으로 소스 가상 IP 어드레스 및 목적지 가상 IP 어드레스는 오버레이 안에서 각기 소스 종점 및 목적지 종점의 가상 존재를 가리킨다. 전형적인 일 실시예에서, 패킷을 보내는 단계는 다음 단계들 중 한 개 이상을 포함한다: 목적지 가상 IP 어드레스로 전달되도록 지정된 패킷을 식별하는 단계(블록 1040 참조); 목적지 가상 IP 어드레스에서 목적지 물리 IP 어드레스로의 지정을 조정하기 위해 맵을 이용하는 단계(블록 1050 참조); 및 목적지 물리 IP 어드레스에 기초하여, 자원 안에 있는 목적지 종점으로 패킷을 라우팅하는 단계(블록 1060 참조).
본 발명의 실시예들은 모든 면에서 한정이 아닌 예시로서 의도된 특정 실시예들과 관련하여 설명되었다. 본 발명의 실시예들이 속하는 기술의 통상의 기술자라면 본 발명의 범위로부터 벗어나지 않고 다른 대안적 실시예들이 있을 수 있다는 것을 잘 알 수 있을 것이다.
상술한 내용으로부터, 본 발명은 본 발명의 시스템 및 방법에 대해 자명하고도 내재적인 다른 이점들과 더불어 위에서 기술된 모든 결과와 목적을 얻도록 잘 적응된 것임을 알 수 있을 것이다. 소정 특징들과 서브컴비네이션들은 유용하며 다른 특징들 및 서브컴비네이션들에 대한 참조 없이 사용될 수 있다는 것을 이해할 수 있을 것이다. 이는 청구 범위에 의해서 고찰되며, 청구 범위 내에 있다.

Claims (15)

  1. 실행 시 물리적 네트워크 내 서로 다른 위치에 상주하는 복수의 종점 사이에서 가상 네트워크 오버레이를 가로질러 통신하는 방법을 수행하는 컴퓨터 실행 가능 명령어가 수록되어 있는 한 개 이상의 컴퓨터 판독 가능 매체로서,
    상기 방법은
    클라우드 컴퓨팅 플랫폼의 데이터 센터 안에 상주하는 제1종점을 식별하되, 상기 제1종점은 제1물리 인터넷 프로토콜(IP) 어드레스에 의해 접근될 수 있는 단계,
    기업 사설 네트워크의 자원 안에 상주하는 제2종점을 식별하되, 상기 제2종점은 제2물리 IP 어드레스에 의해 접근될 수 있는 단계, 및
    서비스 애플리케이션에 대해 설정되는 상기 가상 네트워크 오버레이 내 상기 제1종점 및 상기 제2종점의 가상 존재를 인스턴스화하는 단계를 포함하며, 상기 인스턴스화하는 단계는
    (a) 상기 제1종점에 제1가상 IP 어드레스를 할당하는 단계,
    (b) 상기 제1물리 IP 어드레스 및 상기 제1가상 IP 어드레스 사이의 연관 관계를 맵 안에서 관리하는 단계,
    (c) 상기 제2종점에 제2가상 IP 어드레스를 할당하는 단계, 및
    (d) 상기 제2물리 IP 어드레스 및 상기 제2가상 IP 어드레스 사이의 연관 관계를 상기 맵 안에서 관리하는 단계 - 상기 맵은 상기 가상 네트워크 오버레이 내에서 교류되는 통신에 기반하여 상기 제1종점 및 상기 제2종점 사이에서 패킷을 어디에 라우팅할지를 지시함 - 를 포함하는
    컴퓨터 판독 가능 매체.
  2. 제1항에 있어서,
    상기 제1종점을 식별하는 단계는
    상기 서비스 애플리케이션과 연관된 서비스 모델을 검사하는 단계 - 상기 서비스 모델은 상기 서비스 애플리케이션의 동작을 지원하기 위해 어떤 가상 장치가 할당되는가를 결정함 - ,
    상기 서비스 모델에 따라 상기 클라우드 컴퓨팅 플랫폼의 상기 데이터 센터 안에 가상 장치를 할당하는 단계, 및
    상기 가상 장치 상에 상기 제1종점을 배치하는 단계를 포함하는
    컴퓨터 판독 가능 매체.
  3. 제1항에 있어서,
    상기 방법은 상기 가상 네트워크 오버레이에 가상 IP 어드레스의 범위를 할당하는 단계 - 상기 제1가상 IP 어드레스 및 제2가상 IP 어드레스는 상기 할당된 범위로부터 선택됨 - 를 더 포함하는
    컴퓨터 판독 가능 매체.
  4. 제3항에 있어서,
    상기 범위 내 상기 가상 IP 어드레스는 상기 클라우드 컴퓨팅 플랫폼이나 기업 사설 네트워크에 의해 사용되는 범위 내의 물리 IP 어드레스와 중복되지 않는
    컴퓨터 판독 가능 매체.
  5. 제3항에 있어서,
    상기 기업 사설 네트워크가 IP 버전 4(IPv4) 어드레스로 프로비저닝될 때, 상기 가상 IP 어드레스의 범위는 상기 IPv4 어드레스로부터 얻어진 공개 IP 어드레스의 집합에 대응하는
    컴퓨터 판독 가능 매체.
  6. 제1항에 있어서,
    상기 방법은
    상기 제1종점 및 상기 제2종점을 서비스 애플리케이션의 동작을 지원하는 그룹의 멤버로서 참가시키는 단계, 및
    상기 서비스 애플리케이션에 대해 설정된 상기 가상 네트워크 오버레이 안에 상기 그룹의 상기 멤버의 가상 존재를 인스턴스화하는 단계를 더 포함하는
    컴퓨터 판독 가능 매체.
  7. 물리적 네트워크 안에 상주하는 후보 종점의 가상 존재를 가상 네트워크 오버레이 안에서 인스턴스화 하기 위한 컴퓨터 시스템으로서,
    물리 IP 어드레스를 가진 상기 후보 종점을 호스팅하는 클라우드 컴퓨팅 플랫폼 안의 데이터 센터, 및
    상기 가상 네트워크 오버레이에 할당된 가상 IP 어드레스의 범위를 식별하고, 상기 후보 종점에 상기 범위로부터 선택된 가상 IP 어드레스를 할당하며, 상기 할당된 가상 IP 어드레스를 상기 후보 종점의 물리 IP 어드레스와 연계하여 맵 안에서 관리하는 호스팅 네임 서버를 포함하는
    컴퓨터 시스템.
  8. 제7항에 있어서,
    상기 호스팅 네임 서버는 서비스 애플리케이션에 의해 그 동작을 지원하기 위해 사용되는 종점의 그룹의 신원을 확인하기 위해 상기 맵을 액세스하는
    컴퓨터 시스템.
  9. 제7항에 있어서,
    상기 호스팅 네임 서버는 서비스 애플리케이션으로부터 상기 후보 종점이 상기 종점의 그룹에 참여하라는 요청을 수신할 때, 상기 후보 종점에 상기 가상 IP 어드레스를 할당하는
    컴퓨터 시스템.
  10. 제7항에 있어서,
    상기 데이터 센터는 상기 후보 종점을 호스팅하는 복수의 가상 장치를 포함하며, 상기 복수의 가상 장치 중 한 개 이상에서 클라이언트 에이전트가 실행되는
    컴퓨터 시스템.
  11. 제7항에 있어서,
    상기 후보 종점이 패킷 전달을 개시할 때, 클라이언트 에이전트가 상기 종점의 그룹의 상기 신원 중 한 개 이상을 검색하도록 상기 호스팅 네임 서버와 협의하는
    컴퓨터 시스템.
  12. 제11항에 있어서,
    물리 IP 어드레스를 가진 멤버 종점을 호스팅하는 기업 사설 네트워크 안의 자원을 더 포함하고, 상기 멤버 종점은 서비스 애플리케이션에 의해 사용되는 상기 종점의 그룹의 멤버로서 할당되고, 상기 멤버 종점은 상기 가상 IP 어드레스의 범위로부터 선택되는 가상 IP 어드레스가 할당되며, 상기 멤버 종점에 할당되는 상기 가상 IP 어드레스는 상기 후보 종점에 할당되는 상기 가상 IP 어드레스와 구분되는
    컴퓨터 시스템.
  13. 가상 네트워크 오버레이를 가로질러 소스 종점 및 목적지 종점 사이의 통신을 용이하게 하기 위한 컴퓨터화된 방법으로서,
    맵 안에서 소스 가상 IP 어드레스를 소스 물리 IP 어드레스와 결합하는 단계 - 상기 소스 물리 IP 어드레스는 클라우드 컴퓨팅 플랫폼의 데이터 센터 내 상기 소스 종점의 위치를 나타냄 - ,
    맵 안에서 목적지 가상 IP 어드레스를 목적지 물리 IP 어드레스와 결합하는 단계 - 상기 목적지 물리 IP 어드레스는 기업 사설 네트워크의 자원 내 상기 목적지 종점의 위치를 나타냄 - ,
    상기 가상 네트워크 오버레이를 이용하여 상기 소스 종점으로부터 상기 목적지 종점으로 패킷을 전송하는 단계 - 상기 소스 가상 IP 어드레스 및 상기 목적지 가상 IP 어드레스는 상기 가상 네트워크 오버레이 안에서 각기 상기 소스 종점 및 상기 목적지 종점의 가상 존재를 나타냄 - 를 포함하며, 상기 패킷을 전송하는 단계는
    (a) 상기 목적지 가상 IP 어드레스로 전달되도록 지정된 상기 패킷을 식별하는 단계,
    (b) 상기 목적지 가상 IP 어드레스로부터 상기 목적지 물리 IP 어드레스로의 지정을 조정하기 위해 상기 맵을 이용하는 단계, 및
    (c) 상기 목적지 물리 IP 어드레스에 기초하여, 상기 자원 안에 있는 상기 목적지 종점으로 상기 패킷을 라우팅하는 단계를 포함하는
    컴퓨터화된 방법.
  14. 제13항에 있어서,
    상기 클라우드 컴퓨팅 플랫폼의 상기 데이터 센터로부터 상기 소스 물리 IP 어드레스를 가지는 상기 소스 종점을 제3자 네트워크 안의 원격 물리 어드레스를 가지는 자원으로 이동하는 단계, 및
    상기 가상 네트워크 오버레이 안에서 상기 소스 종점의 상기 가상 존재를 자동으로 관리하는 단계를 더 포함하는
    컴퓨터화된 방법.
  15. 제13항에 있어서,
    상기 소스 종점이 이동했다는 것을 인식할 때, 상기 맵 안에서 상기 소스 가상 IP 어드레스를 상기 원격 물리 IP 어드레스와 자동으로 결합하는 단계를 더 포함하는
    컴퓨터화된 방법.
KR1020127011674A 2009-11-06 2010-10-28 네트워크들을 통한 접속을 보장하기 위한 오버레이 사용 KR101774326B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/614,007 US20110110377A1 (en) 2009-11-06 2009-11-06 Employing Overlays for Securing Connections Across Networks
US12/614,007 2009-11-06
PCT/US2010/054559 WO2011056714A2 (en) 2009-11-06 2010-10-28 Employing overlays for securing connections across networks

Publications (2)

Publication Number Publication Date
KR20120102626A true KR20120102626A (ko) 2012-09-18
KR101774326B1 KR101774326B1 (ko) 2017-09-29

Family

ID=43970699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127011674A KR101774326B1 (ko) 2009-11-06 2010-10-28 네트워크들을 통한 접속을 보장하기 위한 오버레이 사용

Country Status (6)

Country Link
US (1) US20110110377A1 (ko)
EP (1) EP2497229A4 (ko)
JP (1) JP2013510506A (ko)
KR (1) KR101774326B1 (ko)
CN (2) CN102598591A (ko)
WO (1) WO2011056714A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160063304A (ko) * 2013-10-24 2016-06-03 주식회사 케이티 언더레이 네트워크와 연동하여 오버레이 네트워크를 제공하는 방법 및 이를 수행하는 시스템
KR20200102531A (ko) * 2015-12-18 2020-08-31 스냅 인코포레이티드 정황 관련 미디어 증강의 생성

Families Citing this family (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924524B2 (en) 2009-07-27 2014-12-30 Vmware, Inc. Automated network configuration of virtual machines in a virtual lab data environment
US9137209B1 (en) 2008-12-10 2015-09-15 Amazon Technologies, Inc. Providing local secure network access to remote services
US9524167B1 (en) 2008-12-10 2016-12-20 Amazon Technologies, Inc. Providing location-specific network access to remote services
US8230050B1 (en) 2008-12-10 2012-07-24 Amazon Technologies, Inc. Providing access to configurable private computer networks
US8595378B1 (en) 2009-03-30 2013-11-26 Amazon Technologies, Inc. Managing communications having multiple alternative destinations
US9106540B2 (en) 2009-03-30 2015-08-11 Amazon Technologies, Inc. Providing logical networking functionality for managed computer networks
US8644188B1 (en) 2009-06-25 2014-02-04 Amazon Technologies, Inc. Providing virtual networking functionality for managed computer networks
US9203747B1 (en) 2009-12-07 2015-12-01 Amazon Technologies, Inc. Providing virtual networking device functionality for managed computer networks
US9036504B1 (en) 2009-12-07 2015-05-19 Amazon Technologies, Inc. Using virtual networking devices and routing information to associate network addresses with computing nodes
US9282027B1 (en) 2010-03-31 2016-03-08 Amazon Technologies, Inc. Managing use of alternative intermediate destination computing nodes for provided computer networks
US8396946B1 (en) * 2010-03-31 2013-03-12 Amazon Technologies, Inc. Managing integration of external nodes into provided computer networks
US8966027B1 (en) 2010-05-24 2015-02-24 Amazon Technologies, Inc. Managing replication of computing nodes for provided computer networks
US8976949B2 (en) * 2010-06-29 2015-03-10 Telmate, Llc Central call platform
US8892740B2 (en) * 2010-09-10 2014-11-18 International Business Machines Corporation Dynamic application provisioning in cloud computing environments
US8706772B2 (en) * 2010-12-30 2014-04-22 Sap Ag Strict tenant isolation in multi-tenant enabled systems
CN102075537B (zh) * 2011-01-19 2013-12-04 华为技术有限公司 一种实现虚拟机间数据传输的方法和系统
US10225335B2 (en) 2011-02-09 2019-03-05 Cisco Technology, Inc. Apparatus, systems and methods for container based service deployment
US8862933B2 (en) 2011-02-09 2014-10-14 Cliqr Technologies, Inc. Apparatus, systems and methods for deployment and management of distributed computing systems and applications
US8843998B2 (en) * 2011-06-27 2014-09-23 Cliqr Technologies, Inc. Apparatus, systems and methods for secure and selective access to services in hybrid public-private infrastructures
AU2012282841B2 (en) 2011-07-08 2016-03-31 Virnetx, Inc. Dynamic VPN address allocation
US8867403B2 (en) 2011-08-18 2014-10-21 International Business Machines Corporation Virtual network overlays
WO2013028636A1 (en) * 2011-08-19 2013-02-28 Panavisor, Inc Systems and methods for managing a virtual infrastructure
US9203807B2 (en) * 2011-09-09 2015-12-01 Kingston Digital, Inc. Private cloud server and client architecture without utilizing a routing server
US8868710B2 (en) 2011-11-18 2014-10-21 Amazon Technologies, Inc. Virtual network interface objects
WO2013086124A1 (en) * 2011-12-09 2013-06-13 Kubisys Inc. Hybrid virtual computing environments
US9052963B2 (en) 2012-05-21 2015-06-09 International Business Machines Corporation Cloud computing data center machine monitor and control
US8649383B1 (en) * 2012-07-31 2014-02-11 Aruba Networks, Inc. Overlaying virtual broadcast domains on an underlying physical network
US9396069B2 (en) * 2012-09-06 2016-07-19 Empire Technology Development Llc Cost reduction for servicing a client through excess network performance
US9253061B2 (en) * 2012-09-12 2016-02-02 International Business Machines Corporation Tunnel health check mechanism in overlay network
JP6040711B2 (ja) * 2012-10-31 2016-12-07 富士通株式会社 管理サーバ、仮想マシンシステム、プログラム及び接続方法
US9313096B2 (en) 2012-12-04 2016-04-12 International Business Machines Corporation Object oriented networks
US9628345B2 (en) * 2012-12-13 2017-04-18 Level 3 Communications, Llc Framework supporting content delivery with collector services network
CN103905283B (zh) * 2012-12-25 2017-12-15 华为技术有限公司 基于可扩展虚拟局域网的通信方法及装置
KR20140092630A (ko) * 2013-01-16 2014-07-24 삼성전자주식회사 사용자장치, 통신서버 및 그 제어방법
US9191360B2 (en) 2013-01-22 2015-11-17 International Business Machines Corporation Address management in an overlay network environment
US9882713B1 (en) 2013-01-30 2018-01-30 vIPtela Inc. Method and system for key generation, distribution and management
US10389608B2 (en) 2013-03-15 2019-08-20 Amazon Technologies, Inc. Network traffic mapping and performance analysis
KR101337208B1 (ko) * 2013-05-07 2013-12-05 주식회사 안랩 휴대 단말의 어플리케이션 데이터 관리 방법 및 그 장치
US9438596B2 (en) * 2013-07-01 2016-09-06 Holonet Security, Inc. Systems and methods for secured global LAN
CN103442098B (zh) * 2013-09-02 2016-06-08 三星电子(中国)研发中心 一种分配虚拟ip地址的方法、系统和服务器
US11038954B2 (en) * 2013-09-18 2021-06-15 Verizon Patent And Licensing Inc. Secure public connectivity to virtual machines of a cloud computing environment
US9906609B2 (en) 2015-06-02 2018-02-27 GeoFrenzy, Inc. Geofence information delivery systems and methods
US9363638B1 (en) 2015-06-02 2016-06-07 GeoFrenzy, Inc. Registrar mapping toolkit for geofences
CA2924469A1 (en) 2013-10-10 2015-04-16 AdaptiveApps, Inc. Adaptive overlay networking
CN103647853B (zh) * 2013-12-04 2018-07-03 华为技术有限公司 一种在VxLAN中发送ARP报文发送方法、VTEP及VxLAN控制器
US9438506B2 (en) 2013-12-11 2016-09-06 Amazon Technologies, Inc. Identity and access management-based access control in virtual networks
US9467478B1 (en) 2013-12-18 2016-10-11 vIPtela Inc. Overlay management protocol for secure routing based on an overlay network
CN103747020B (zh) * 2014-02-18 2017-01-11 成都致云科技有限公司 一种安全可控的公网访问虚拟资源方法
US10044581B1 (en) 2015-09-29 2018-08-07 Amazon Technologies, Inc. Network traffic tracking using encapsulation protocol
US11838744B2 (en) * 2014-07-29 2023-12-05 GeoFrenzy, Inc. Systems, methods and apparatus for geofence networks
US11240628B2 (en) 2014-07-29 2022-02-01 GeoFrenzy, Inc. Systems and methods for decoupling and delivering geofence geometries to maps
US10735372B2 (en) 2014-09-02 2020-08-04 Telefonaktiebolaget Lm Ericsson (Publ) Network node and method for handling a traffic flow related to a local service cloud
US9787499B2 (en) 2014-09-19 2017-10-10 Amazon Technologies, Inc. Private alias endpoints for isolated virtual networks
US9832118B1 (en) 2014-11-14 2017-11-28 Amazon Technologies, Inc. Linking resource instances to virtual networks in provider network environments
US10484297B1 (en) 2015-03-16 2019-11-19 Amazon Technologies, Inc. Automated migration of compute instances to isolated virtual networks
US10749808B1 (en) 2015-06-10 2020-08-18 Amazon Technologies, Inc. Network flow management for isolated virtual networks
US10021196B1 (en) 2015-06-22 2018-07-10 Amazon Technologies, Inc. Private service endpoints in isolated virtual networks
US9860214B2 (en) 2015-09-10 2018-01-02 International Business Machines Corporation Interconnecting external networks with overlay networks in a shared computing environment
US10320644B1 (en) 2015-09-14 2019-06-11 Amazon Technologies, Inc. Traffic analyzer for isolated virtual networks
US20170142234A1 (en) * 2015-11-13 2017-05-18 Microsoft Technology Licensing, Llc Scalable addressing mechanism for virtual machines
US9980303B2 (en) 2015-12-18 2018-05-22 Cisco Technology, Inc. Establishing a private network using multi-uplink capable network devices
US10320844B2 (en) 2016-01-13 2019-06-11 Microsoft Technology Licensing, Llc Restricting access to public cloud SaaS applications to a single organization
US10593009B1 (en) 2017-02-22 2020-03-17 Amazon Technologies, Inc. Session coordination for auto-scaled virtualized graphics processing
US10498810B2 (en) * 2017-05-04 2019-12-03 Amazon Technologies, Inc. Coordinating inter-region operations in provider network environments
US10498693B1 (en) 2017-06-23 2019-12-03 Amazon Technologies, Inc. Resizing virtual private networks in provider network environments
US10637800B2 (en) 2017-06-30 2020-04-28 Nicira, Inc Replacement of logical network addresses with physical network addresses
US10681000B2 (en) 2017-06-30 2020-06-09 Nicira, Inc. Assignment of unique physical network addresses for logical network addresses
KR101855632B1 (ko) * 2017-11-23 2018-05-04 (주)소만사 클라우드 상에 구현되는 정보 유출 방지 시스템 및 방법
US10834044B2 (en) 2018-09-19 2020-11-10 Amazon Technologies, Inc. Domain name system operations implemented using scalable virtual traffic hub
US10680945B1 (en) 2018-09-27 2020-06-09 Amazon Technologies, Inc. Extending overlay networks to edge routers of a substrate network
US11102113B2 (en) * 2018-11-08 2021-08-24 Sap Se Mapping of internet protocol addresses in a multi-cloud computing environment
US10785056B1 (en) 2018-11-16 2020-09-22 Amazon Technologies, Inc. Sharing a subnet of a logically isolated network between client accounts of a provider network
EP4145282A1 (en) * 2018-12-21 2023-03-08 Huawei Cloud Computing Technologies Co., Ltd. Mechanism to reduce serverless function startup latency
CN111917649B (zh) * 2019-05-10 2022-06-28 华为云计算技术有限公司 虚拟私有云通信及配置方法以及相关装置
US10848418B1 (en) 2019-06-24 2020-11-24 Amazon Technologies, Inc. Packet processing service extensions at remote premises
US11088944B2 (en) 2019-06-24 2021-08-10 Amazon Technologies, Inc. Serverless packet processing service with isolated virtual network integration
US11296981B2 (en) 2019-06-24 2022-04-05 Amazon Technologies, Inc. Serverless packet processing service with configurable exception paths
US11171798B2 (en) 2019-08-01 2021-11-09 Nvidia Corporation Scalable in-network computation for massively-parallel shared-memory processors
CN113994639B (zh) * 2019-08-28 2023-09-22 华为云计算技术有限公司 基于远程网络节点的l3虚拟映射的数据传输方法及系统
WO2021089169A1 (en) * 2019-11-08 2021-05-14 Huawei Technologies Co., Ltd. Private sub-networks for virtual private networks (vpn) clients
US11451643B2 (en) * 2020-03-30 2022-09-20 Amazon Technologies, Inc. Managed traffic processing for applications with multiple constituent services
US11153195B1 (en) 2020-06-08 2021-10-19 Amazon Techologies, Inc. Packet processing service configuration change propagation management
CN113206833B (zh) * 2021-04-07 2022-10-14 中国科学院大学 一种私有云系统及强制访问控制方法
CN114679370B (zh) * 2021-05-20 2024-01-12 腾讯云计算(北京)有限责任公司 一种服务器托管方法、装置、系统及存储介质
CN115150410A (zh) * 2022-07-19 2022-10-04 京东科技信息技术有限公司 多集群访问方法和系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845203A (en) * 1996-01-25 1998-12-01 Aertis Cormmunications Remote access application messaging wireless method
US6097719A (en) * 1997-03-11 2000-08-01 Bell Atlantic Network Services, Inc. Public IP transport network
US6611872B1 (en) * 1999-01-11 2003-08-26 Fastforward Networks, Inc. Performing multicast communication in computer networks by using overlay routing
US7552233B2 (en) * 2000-03-16 2009-06-23 Adara Networks, Inc. System and method for information object routing in computer networks
JP2003324487A (ja) * 2002-04-30 2003-11-14 Welltech Computer Co Ltd ネットワーク電話伝送パケット処理のシステム及びその方法
US20030217131A1 (en) * 2002-05-17 2003-11-20 Storage Technology Corporation Processing distribution using instant copy
US7720966B2 (en) * 2002-12-02 2010-05-18 Netsocket, Inc. Arrangements and method for hierarchical resource management in a layered network architecture
US7890633B2 (en) * 2003-02-13 2011-02-15 Oracle America, Inc. System and method of extending virtual address resolution for mapping networks
US20040249974A1 (en) * 2003-03-31 2004-12-09 Alkhatib Hasan S. Secure virtual address realm
CN1319336C (zh) * 2003-05-26 2007-05-30 华为技术有限公司 一种建立虚拟专用网络的方法
WO2005027438A1 (ja) * 2003-09-11 2005-03-24 Fujitsu Limited パケット中継装置
US7991852B2 (en) * 2004-01-22 2011-08-02 Alcatel-Lucent Usa Inc. Network architecture and related methods for surviving denial of service attacks
GB2418326B (en) 2004-09-17 2007-04-11 Hewlett Packard Development Co Network vitrualization
US20060098664A1 (en) * 2004-11-09 2006-05-11 Tvblob S.R.I. Intelligent application level multicast module for multimedia transmission
US20060235973A1 (en) * 2005-04-14 2006-10-19 Alcatel Network services infrastructure systems and methods
US7660296B2 (en) * 2005-12-30 2010-02-09 Akamai Technologies, Inc. Reliable, high-throughput, high-performance transport and routing mechanism for arbitrary data flows
JP2008098813A (ja) * 2006-10-10 2008-04-24 Matsushita Electric Ind Co Ltd 情報通信装置、情報通信方法、及びプログラム
US8489701B2 (en) * 2007-01-30 2013-07-16 Microsoft Corporation Private virtual LAN spanning a public network for connection of arbitrary hosts
JP5456683B2 (ja) * 2007-10-24 2014-04-02 ラントロニクス・インコーポレイテツド 仮想ipアドレスを割り当てるための中央ステーションのための種々の方法および装置
US8429739B2 (en) * 2008-03-31 2013-04-23 Amazon Technologies, Inc. Authorizing communications between computing nodes
US9106540B2 (en) * 2009-03-30 2015-08-11 Amazon Technologies, Inc. Providing logical networking functionality for managed computer networks

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160063304A (ko) * 2013-10-24 2016-06-03 주식회사 케이티 언더레이 네트워크와 연동하여 오버레이 네트워크를 제공하는 방법 및 이를 수행하는 시스템
US9838218B2 (en) 2013-10-24 2017-12-05 Kt Corporation Method for providing overlay network interworking with underlay network and system performing same
KR20200102531A (ko) * 2015-12-18 2020-08-31 스냅 인코포레이티드 정황 관련 미디어 증강의 생성
KR20210080614A (ko) * 2015-12-18 2021-06-30 스냅 인코포레이티드 정황 관련 미디어 증강의 생성

Also Published As

Publication number Publication date
WO2011056714A2 (en) 2011-05-12
CN109412924A (zh) 2019-03-01
US20110110377A1 (en) 2011-05-12
WO2011056714A3 (en) 2011-09-15
JP2013510506A (ja) 2013-03-21
EP2497229A4 (en) 2016-11-23
EP2497229A2 (en) 2012-09-12
CN102598591A (zh) 2012-07-18
KR101774326B1 (ko) 2017-09-29

Similar Documents

Publication Publication Date Title
KR101774326B1 (ko) 네트워크들을 통한 접속을 보장하기 위한 오버레이 사용
US11063819B2 (en) Managing use of alternative intermediate destination computing nodes for provided computer networks
US11563681B2 (en) Managing communications using alternative packet addressing
CN114095307B (zh) 协调提供商网络环境中的区域间操作
US9582652B2 (en) Federation among services for supporting virtual-network overlays
US11108740B2 (en) On premises, remotely managed, host computers for virtual desktops
US9794116B2 (en) Managing use of intermediate destination computing nodes for provided computer networks
US20170353394A1 (en) Resource placement templates for virtual networks
US9614748B1 (en) Multitenant data center providing virtual computing services
US8396946B1 (en) Managing integration of external nodes into provided computer networks
US9356860B1 (en) Managing external communications for provided computer networks
US10893024B2 (en) Private network peering in virtual network environments
US20140280810A1 (en) Providing private access to network-accessible services
US8458303B2 (en) Utilizing a gateway for the assignment of internet protocol addresses to client devices in a shared subset
US20130191477A1 (en) Mapping system, network, and method for adaptation of id/loc separation to datacenter for cloud computing
US20130138813A1 (en) Role instance reachability in data center
Zhu et al. A universal protocol mechanism for network function virtualization and application-centric traffic steering

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant