KR101774326B1 - 네트워크들을 통한 접속을 보장하기 위한 오버레이 사용 - Google Patents
네트워크들을 통한 접속을 보장하기 위한 오버레이 사용 Download PDFInfo
- Publication number
- KR101774326B1 KR101774326B1 KR1020127011674A KR20127011674A KR101774326B1 KR 101774326 B1 KR101774326 B1 KR 101774326B1 KR 1020127011674 A KR1020127011674 A KR 1020127011674A KR 20127011674 A KR20127011674 A KR 20127011674A KR 101774326 B1 KR101774326 B1 KR 101774326B1
- Authority
- KR
- South Korea
- Prior art keywords
- virtual
- address
- physical
- endpoint
- endpoints
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000004891 communication Methods 0.000 abstract description 35
- 239000003795 chemical substances by application Substances 0.000 description 16
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- 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]
-
- 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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5084—Providing for device mobility
-
- 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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual 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
대규모 네트워크 시스템들(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는 본 발명의 실시예들을 구현하는 데 사용하기 적합하며, 데이터 센터 안에 가상 장치들을 할당하도록 구성된 전형적인 클라우드 컴퓨팅 플랫폼을 예시한 블록도이다.
도 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)
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 물리적 네트워크에 상주하는 후보 엔드포인트의 가상 존재를 가상 네트워크 오버레이 내에서 인스턴스화하기 위한 컴퓨터 시스템으로서,
물리 IP 어드레스를 가진 상기 후보 엔드포인트를 호스팅하는 클라우드 컴퓨팅 플랫폼 내의 데이터 센터와,
서비스 애플리케이션에 대한 상기 가상 네트워크 오버레이에 할당된 가상 IP 어드레스의 범위를 식별하고 - 상기 서비스 애플리케이션은 검사되는 서비스 모델과 연관되고, 상기 서비스 모델은 상기 서비스 애플리케이션의 동작을 지원하기 위해 어느 가상 머신이 할당되는지를 관리하고 상기 가상 네트워크 오버레이 내에 상기 서비스 애플리케이션의 엔드포인트를 관리하기 위한 명령어를 제공함 - , 상기 범위로부터 선택된 가상 IP 어드레스를 상기 후보 엔드포인트에 할당하며, 상기 할당된 가상 IP 어드레스를 상기 후보 엔드포인트의 물리 IP 어드레스와 연계하여 맵 내에 유지하는 호스팅 네임 서버를 포함하되,
상기 호스팅 네임 서버는 상기 서비스 애플리케이션의 동작을 지원하기 위해 상기 서비스 애플리케이션에 의해 이용되는 엔드포인트 그룹으로 상기 후보 엔드포인트를 인스턴스화하는
컴퓨터 시스템.
- 제7항에 있어서,
상기 가상 IP 어드레스의 범위의 어드레스 공간은 상기 호스팅 네임 서버의 IP 어드레스 충돌 방식에 기초하여 상기 물리 IP 어드레스의 어드레스 공간과 충돌하지 않고, 상기 IP 어드레스 충돌 방식은
(a) 확보되어 있지만 사설 네트워크 내의 물리 IP 어드레스에는 사용되지 않는 공개 IP 어드레스의 집합으로부터 상기 가상 IP 어드레스의 범위의 어드레스 공간을 선택하는 것 - 상기 공개 IP 어드레스는 특별한 프리픽스에 기초하여 식별됨- 과,
(b) 상기 가상 IP 어드레스의 범위의 어드레스 공간에 전역적으로 고유한(globally unique) IP 어드레스 집합을 할당하는 것 - 상기 IP 어드레스의 집합은 상기 가상 IP 어드레스의 범위의 어드레스 공간에 할당된 IPv6 프리픽스를 사용하여 형성됨- 과,
(c) 고유한 가상 IP 어드레스 범위를 상기 물리적 네트워크 내의 상기 물리 IP 어드레스의 어드레스 공간과 비교하여 동적으로 협의하는 것 - 상기 가상 IP 어드레스 범위를 협의하는 것은 엔드포인트들을 호스팅하는 네트워크들 사이를 주기적으로 통신하는 것에 기초함-
중 하나를 포함하고,
상기 후보 엔드포인트는 상기 가상 네트워크 오버레이 참여 허가를 보장받기 위해 인증되고, 상기 후보 엔드포인트를 인증하는 것은 상기 후보 엔드포인트의 물리 IP 어드레스가, 상기 서비스 애플리케이션과 관련하여 상기 가상 네트워크 오버레이를 통해 통신을 송수신하도록 구성된, 사전 허가된 물리 IP 어드레스임을 검증하는 것에 기초하는
컴퓨터 시스템.
- 제8항에 있어서,
제3자 네트워크로부터 상기 물리적 네트워크를 호스트 엔드포인트로서 참가하라는 요청을 수신하는 것과,
고유한 상기 가상 IP 어드레스 범위를 상기 제3자 네트워크를 포함하는 상기 물리적 네트워크 내 상기 물리 IP 어드레스의 어드레스 공간과 비교하여 동적으로 협의하는 것 - 상기 가상 IP 어드레스 범위를 협의하는 것은 엔드포인트들을 호스팅하는 네트워크들 사이를 주기적으로 통신하는 것에 기초함 - 을 포함하는
컴퓨터 시스템.
- 제7항에 있어서,
상기 데이터 센터는 상기 후보 엔드포인트를 호스팅하는 복수의 가상 머신을 포함하며, 상기 복수의 가상 머신 중 하나 이상에서 클라이언트 에이전트가 실행되는
컴퓨터 시스템.
- 제10항에 있어서,
상기 후보 엔드포인트가 패킷 전달을 개시하는 경우, 상기 클라이언트 에이전트가 상기 엔드포인트의 그룹의 신원 중 한 개 이상을 검색하도록 상기 호스팅 네임 서버와 협의하는
컴퓨터 시스템.
- 제11항에 있어서,
물리 IP 어드레스를 가진 멤버 엔드포인트를 호스팅하는 기업 사설 네트워크 내의 자원을 더 포함하고,
상기 멤버 엔드포인트는 상기 서비스 애플리케이션에 의해 이용되는 상기 엔드포인트 그룹의 멤버로서 할당되고, 상기 멤버 엔드포인트는 상기 가상 IP 어드레스의 범위로부터 선택되는 제2 가상 IP 어드레스를 할당받고, 상기 멤버 엔드포인트에 할당되는 상기 제2 가상 IP 어드레스는 상기 후보 엔드포인트에 할당되는 상기 가상 IP 어드레스와 구분되는
컴퓨터 시스템.
- 삭제
- 삭제
- 삭제
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 KR20120102626A (ko) | 2012-09-18 |
KR101774326B1 true 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) | CN109412924A (ko) |
WO (1) | WO2011056714A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101855632B1 (ko) * | 2017-11-23 | 2018-05-04 | (주)소만사 | 클라우드 상에 구현되는 정보 유출 방지 시스템 및 방법 |
Families Citing this family (90)
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 |
US8230050B1 (en) | 2008-12-10 | 2012-07-24 | Amazon Technologies, Inc. | Providing access to configurable private computer networks |
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 |
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 |
US8396946B1 (en) * | 2010-03-31 | 2013-03-12 | Amazon Technologies, Inc. | Managing integration of external nodes into provided computer networks |
US9282027B1 (en) | 2010-03-31 | 2016-03-08 | Amazon Technologies, Inc. | Managing use of alternative intermediate destination computing nodes for 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 | 华为技术有限公司 | 一种实现虚拟机间数据传输的方法和系统 |
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 |
US10225335B2 (en) | 2011-02-09 | 2019-03-05 | Cisco Technology, Inc. | Apparatus, systems and methods for container based service deployment |
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 |
CN103748861B (zh) * | 2011-07-08 | 2017-07-11 | 威尔耐特斯公司 | 用于动态vpn地址分配的系统和方法 |
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 |
IN2014DN05690A (ko) * | 2011-12-09 | 2015-04-03 | Kubisys Inc | |
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 |
US9705754B2 (en) * | 2012-12-13 | 2017-07-11 | Level 3 Communications, Llc | Devices and methods supporting content delivery with rendezvous services |
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地址的方法、系统和服务器 |
US10142254B1 (en) | 2013-09-16 | 2018-11-27 | Cisco Technology, Inc. | Service chaining based on labels in control and forwarding |
US11038954B2 (en) * | 2013-09-18 | 2021-06-15 | Verizon Patent And Licensing Inc. | Secure public connectivity to virtual machines of a cloud computing environment |
US9363638B1 (en) | 2015-06-02 | 2016-06-07 | GeoFrenzy, Inc. | Registrar mapping toolkit for geofences |
US9906609B2 (en) | 2015-06-02 | 2018-02-27 | GeoFrenzy, Inc. | Geofence information delivery systems and methods |
CA2924469A1 (en) * | 2013-10-10 | 2015-04-16 | AdaptiveApps, Inc. | Adaptive overlay networking |
US9838218B2 (en) * | 2013-10-24 | 2017-12-05 | Kt Corporation | Method for providing overlay network interworking with underlay network and system performing same |
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 |
US12022352B2 (en) | 2014-07-29 | 2024-06-25 | 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 |
US9875251B2 (en) | 2015-06-02 | 2018-01-23 | GeoFrenzy, Inc. | Geofence information delivery systems and methods |
EP3189632B1 (en) | 2014-09-02 | 2018-06-27 | 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 |
US10354425B2 (en) * | 2015-12-18 | 2019-07-16 | Snap Inc. | Method and system for providing context relevant media augmentation |
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 |
US11108687B1 (en) | 2018-09-12 | 2021-08-31 | Amazon Technologies, Inc. | Scalable network function virtualization service |
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 |
EP3864514B1 (en) | 2018-12-21 | 2023-09-06 | Huawei Cloud Computing Technologies Co., Ltd. | Mechanism to reduce serverless function startup latency |
CN111917893B (zh) * | 2019-05-10 | 2022-07-12 | 华为云计算技术有限公司 | 虚拟私有云与云下数据中心通信、配置方法及相关装置 |
US11296981B2 (en) | 2019-06-24 | 2022-04-05 | Amazon Technologies, Inc. | Serverless packet processing service with configurable exception paths |
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 |
US11502867B2 (en) * | 2019-08-01 | 2022-11-15 | Nvidia Corporation | Injection limiting and wave synchronization for scalable in-network computation |
WO2021037358A1 (en) * | 2019-08-28 | 2021-03-04 | Huawei Technologies Co., Ltd. | Virtual local presence based on l3 virtual mapping of remote network nodes |
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 | 腾讯云计算(北京)有限责任公司 | 一种服务器托管方法、装置、系统及存储介质 |
CN115150410B (zh) * | 2022-07-19 | 2024-06-18 | 京东科技信息技术有限公司 | 多集群访问方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040162914A1 (en) | 2003-02-13 | 2004-08-19 | Sun Microsystems, Inc. | System and method of extending virtual address resolution for mapping networks |
US20080225875A1 (en) | 2004-09-17 | 2008-09-18 | Hewlett-Packard Development Company, L.P. | Mapping Discovery for Virtual Network |
Family Cites Families (19)
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 |
EP1579638A1 (en) * | 2002-12-02 | 2005-09-28 | Operax AB | Arrangements and method for hierarchical resource management in a layered network architecture |
US20040249974A1 (en) * | 2003-03-31 | 2004-12-09 | Alkhatib Hasan S. | Secure virtual address realm |
CN1319336C (zh) * | 2003-05-26 | 2007-05-30 | 华为技术有限公司 | 一种建立虚拟专用网络的方法 |
CN1839592A (zh) * | 2003-09-11 | 2006-09-27 | 富士通株式会社 | 包中继装置 |
US7991852B2 (en) * | 2004-01-22 | 2011-08-02 | Alcatel-Lucent Usa Inc. | Network architecture and related methods for surviving denial of service attacks |
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 |
WO2009055717A1 (en) * | 2007-10-24 | 2009-04-30 | Jonathan Peter Deutsch | Various methods and apparatuses for a central station to allocate virtual ip addresses |
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 |
-
2009
- 2009-11-06 US US12/614,007 patent/US20110110377A1/en not_active Abandoned
-
2010
- 2010-10-28 CN CN201811067860.1A patent/CN109412924A/zh not_active Withdrawn
- 2010-10-28 EP EP10828933.1A patent/EP2497229A4/en not_active Withdrawn
- 2010-10-28 CN CN2010800501359A patent/CN102598591A/zh active Pending
- 2010-10-28 WO PCT/US2010/054559 patent/WO2011056714A2/en active Application Filing
- 2010-10-28 KR KR1020127011674A patent/KR101774326B1/ko active IP Right Grant
- 2010-10-28 JP JP2012537921A patent/JP2013510506A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040162914A1 (en) | 2003-02-13 | 2004-08-19 | Sun Microsystems, Inc. | System and method of extending virtual address resolution for mapping networks |
US20080225875A1 (en) | 2004-09-17 | 2008-09-18 | Hewlett-Packard Development Company, L.P. | Mapping Discovery for Virtual Network |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101855632B1 (ko) * | 2017-11-23 | 2018-05-04 | (주)소만사 | 클라우드 상에 구현되는 정보 유출 방지 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN102598591A (zh) | 2012-07-18 |
EP2497229A4 (en) | 2016-11-23 |
US20110110377A1 (en) | 2011-05-12 |
WO2011056714A2 (en) | 2011-05-12 |
JP2013510506A (ja) | 2013-03-21 |
WO2011056714A3 (en) | 2011-09-15 |
CN109412924A (zh) | 2019-03-01 |
EP2497229A2 (en) | 2012-09-12 |
KR20120102626A (ko) | 2012-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101774326B1 (ko) | 네트워크들을 통한 접속을 보장하기 위한 오버레이 사용 | |
CN114095307B (zh) | 协调提供商网络环境中的区域间操作 | |
CN113950816B (zh) | 使用边车代理机构提供多云微服务网关的系统和方法 | |
EP2586179B1 (en) | Federation among services for supporting virtual-network overlays | |
CN106462408B (zh) | 到云计算环境中的工作空间的低延迟连接 | |
US11108740B2 (en) | On premises, remotely managed, host computers for virtual desktops | |
US20170257269A1 (en) | Network controller with integrated resource management capability | |
EP2586160B1 (en) | Distributed virtual network gateways | |
US11770364B2 (en) | Private network peering in virtual network environments | |
US9356860B1 (en) | Managing external communications for provided computer networks | |
CN111698346B (zh) | 一种专线网络地址转换方法、装置、专线网关及存储介质 | |
US20130138813A1 (en) | Role instance reachability in data center | |
US20130191477A1 (en) | Mapping system, network, and method for adaptation of id/loc separation to datacenter for cloud computing | |
US10148529B2 (en) | Apparatus of mapping logical point-of-delivery to physical point-of-delivery based on telecommunication information networking | |
US20240095739A1 (en) | Identity management for virtual private label clouds | |
Zhu et al. | A universal protocol mechanism for network function virtualization and application-centric traffic steering | |
Hicks et al. | Configure DirectAccess Load Balancing |
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 |