BR112020006724A2 - criação de redes virtuais que abrangem múltiplas nuvens públicas - Google Patents

criação de redes virtuais que abrangem múltiplas nuvens públicas Download PDF

Info

Publication number
BR112020006724A2
BR112020006724A2 BR112020006724-5A BR112020006724A BR112020006724A2 BR 112020006724 A2 BR112020006724 A2 BR 112020006724A2 BR 112020006724 A BR112020006724 A BR 112020006724A BR 112020006724 A2 BR112020006724 A2 BR 112020006724A2
Authority
BR
Brazil
Prior art keywords
public cloud
routing
tenant
modalities
fact
Prior art date
Application number
BR112020006724-5A
Other languages
English (en)
Inventor
Israel Cidon
Chen Dar
Prashanth Venugopal
Eyal Zohar
Alex Markuze
Aran Bergman
Original Assignee
Vmware, Inc.
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 Vmware, Inc. filed Critical Vmware, Inc.
Publication of BR112020006724A2 publication Critical patent/BR112020006724A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • 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/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1403Architecture for metering, charging or billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1428Invoice generation, e.g. customization, lay-out, database processing, algorithms for calculating the bill or formatting invoices as WWW pages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2858Access network architectures
    • H04L12/2859Point-to-point connection between the data network and the subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • 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
    • 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
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global 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/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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/0227Filtering policies
    • H04L63/0245Filtering by information in the payload
    • 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
    • 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/0281Proxies
    • 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/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/51Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP for resellers, retailers or service providers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/35Types of network names containing special prefixes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • 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
    • H04L61/256NAT traversal
    • H04L61/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Databases & Information Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Optical Radar Systems And Details Thereof (AREA)
  • Details Of Aerials (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

Algumas modalidades estabelecem, para uma entidade, uma rede virtual através de várias nuvens públicas de vários provedores de nuvem pública e/ou em várias regiões. Em algumas modalidades, a rede virtual é uma rede de sobreposição que se estende por várias nuvens públicas para interconectar uma ou mais redes privadas (por exemplo, redes dentro de filiais, divisões, departamentos da entidade ou seus centros de dados associados), usuários móveis e máquinas provedoras de SaaS (Software como um serviço) e outras aplicações de rede da entidade. A rede virtual, em algumas modalidades, pode ser configurada para otimizar o roteamento das mensagens de dados da entidade aos seus destinos para obter melhor desempenho, confiabilidade e segurança de ponta a ponta, enquanto tenta minimizar o roteamento desse tráfego através da Internet. Além disso, a rede virtual em algumas modalidades pode ser configurada para otimizar o processamento da camada 4 dos fluxos de mensagens de dados que passam pela rede.

Description

“CRIAÇÃO DE REDES VIRTUAIS QUE ABRANGEM MÚLTIPLAS NUVENS PÚBLICAS” ANTECEDENTES
[0001] Hoje, uma rede corporativa é a estrutura principal de comunicação que conecta com segurança os diferentes escritórios e divisões de uma empresa. Essa rede é tipicamente uma rede de longa distância (WAN) que conecta (1) usuários em filiais e campi regionais, (2) centros de dados corporativos que hospedam aplicações de negócios, Intranets e seus dados correspondentes e (3) a Internet global por meio de firewalls corporativos e DMZ (zona desmilitarizada). As redes corporativas incluem hardware especializado, como comutadores, roteadores e dispositivos de caixa intermediária interconectados por linhas alugadas caras, como Frame Relay e MPLS (comutação de rótulo multiprotocolo).
[0002] Nos últimos anos, houve uma mudança de paradigma na maneira como as empresas servem e consomem serviços de comunicação. Primeiro, a revolução da mobilidade permitiu que os usuários acessassem serviços de qualquer lugar e a qualquer momento usando dispositivos móveis, principalmente smartphones. Esses usuários acessam os serviços de negócios através da Internet pública e redes celulares. Ao mesmo tempo, fornecedores de SaaS (Software como Serviço) de terceiros (por exemplo, Salesforce, Workday, Zendesk) substituíram aplicações tradicionais locais, enquanto outras aplicações hospedadas em centros de dados privados foram realocadas para as nuvens públicas. Embora esse tráfego ainda seja transportado dentro da rede corporativa, uma porção significativa dele se origina e termina fora dos perímetros da rede corporativa e precisa atravessar a Internet pública (uma ou duas vezes) e a rede corporativa. Estudos recentes mostraram que 40% das redes corporativas relatam que a porcentagem de tráfego em backhaul (ou seja, do tráfego da Internet observado na rede corporativa) está acima de 80%. Isso significa que a maior parte do tráfego corporativo é transportada por linhas alugadas caras e pela Internet do consumidor.
[0003] Como um serviço centrado no consumidor, a própria Internet é um meio ruim para o tráfego comercial. Falta a confiabilidade, garantias de QoS (qualidade de serviço) e segurança esperadas por aplicações comerciais críticas. Além disso, as crescentes demandas de tráfego do consumidor, os regulamentos de neutralidade da rede e a criação de desvios da Internet por grandes participantes (por exemplo, Netflix, Google, nuvens públicas) reduziram o retorno monetário por unidade de tráfego. Essas tendências reduziram os incentivos dos provedores de serviços para atender rapidamente às demandas dos consumidores e oferecer serviços comerciais adequados.
[0004] Dado o crescimento das nuvens públicas, as empresas estão migrando mais de sua infraestrutura de computação para os centros de dados em nuvem pública. Os provedores de nuvem pública estão na vanguarda do investimento em infraestrutura de computação e rede. Esses serviços em nuvem criaram muitos centros de dados em todo o mundo, com o Azure, AWS, IBM e Google expandindo para 38, 16, 25 e 14 regiões em todo o mundo, respectivamente, em 2016. Cada provedor de nuvem pública interconectou seus próprios centros de dados usando redes caras de alta velocidade que empregam fibra escura e cabos submarinos implantados por submarinos.
[0005] Hoje, apesar dessas mudanças, as políticas de rede corporativa geralmente forçam todo o tráfego corporativo a passar por suas portas de comunicação WAN seguras. À medida que os usuários se tornam móveis e as aplicações migram para SaaS e nuvens públicas, as WANs corporativas tornam-se desvios dispendiosos que retardam todas as comunicações corporativas. A maior parte do tráfego da WAN corporativa é originária da ou destinada à Internet. Soluções seguras alternativas que enviam esse tráfego pela Internet não são adequadas devido ao desempenho ruim e não confiável.
BREVE SUMÁRIO
[0006] Algumas modalidades estabelecem como entidade uma rede virtual através de vários centros de dados de nuvem pública de um ou mais provedores de nuvem pública em uma ou mais regiões (por exemplo, várias cidades, estados, países etc.). Um exemplo de uma entidade para a qual uma rede virtual pode ser estabelecida inclui uma entidade comercial (por exemplo, uma empresa), uma entidade sem fins lucrativos (por exemplo, um hospital, uma organização de pesquisa etc.) e uma entidade educacional (por exemplo, universidade, faculdade etc.) ou qualquer outro tipo de entidade. Exemplos de provedores de nuvem pública incluem Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure, etc.
[0007] Em algumas modalidades, redes privadas confiáveis e de alta velocidade interconectam dois ou mais dos centros de dados de nuvem pública (as nuvens públicas). Algumas modalidades definem a rede virtual como uma rede de sobreposição que se estende por várias nuvens públicas para interconectar uma ou mais redes privadas (por exemplo, redes dentro de filiais, divisões, departamentos da entidade ou seus centros de dados associados), usuários móveis, máquinas fornecedoras de SaaS (Software como um Serviço), máquinas e/ou serviços na nuvem (ou nuvens) pública e outras aplicações de rede.
[0008] A rede virtual, em algumas modalidades, pode ser configurada para otimizar o roteamento das mensagens de dados da entidade aos seus destinos para obter melhor desempenho, confiabilidade e segurança de ponta a ponta, enquanto tenta minimizar o roteamento desse tráfego através da Internet. Além disso, a rede virtual em algumas modalidades pode ser configurada para otimizar o processamento da camada 4 dos fluxos de mensagens de dados que passam pela rede. Por exemplo, em algumas modalidades, a rede virtual otimiza a taxa de ponta a ponta das conexões TCP (Protocolo de Controle de Transporte) dividindo os mecanismos de controle de taxa no caminho da conexão.
[0009] Algumas modalidades estabelecem a rede virtual configurando vários componentes que são implantados em várias nuvens públicas. Esses componentes incluem, em algumas modalidades, agentes de medição com base em software, elementos de encaminhamento de software (por exemplo, roteadores de software, comutadores, portas de comunicação, etc.), proxies de conexão da camada 4 e máquinas de serviço de caixa intermediária (por exemplo, dispositivos, VMs, contêineres, etc.) Um ou mais desses componentes em algumas modalidades usam soluções padronizadas ou comumente disponíveis, como Open vSwitch, OpenVPN, strongSwan e Ryu.
[0010] Algumas modalidades utilizam um cluster de controladores logicamente centralizado (por exemplo, um conjunto de um ou mais servidores de controladores) que configura os componentes da nuvem pública para implementar a rede virtual em várias nuvens públicas. Em algumas modalidades, os controladores neste cluster estão em vários locais diferentes (por exemplo, em diferentes centros de dados em nuvem pública), a fim de melhorar a redundância e a alta disponibilidade. O cluster de controlador, em algumas modalidades, aumenta ou diminui o número de componentes da nuvem pública usados para estabelecer a rede virtual ou os recursos de computação ou rede alocados a esses componentes.
[0011] Algumas modalidades estabelecem redes virtuais diferentes para entidades diferentes no mesmo conjunto de nuvens públicas dos mesmos provedores de nuvem pública e/ou em conjuntos diferentes de nuvens públicas do mesmo ou de diferentes provedores de nuvem pública. Em algumas modalidades, um provedor de rede virtual fornece software e serviços que permitem que diferentes locatários definam redes virtuais diferentes na mesma ou em diferentes nuvens públicas. Em algumas modalidades, o mesmo cluster de controlador ou diferentes clusters de controlador podem ser usados para configurar os componentes da nuvem pública para implementar redes virtuais diferentes sobre o mesmo ou diferentes conjuntos de nuvens públicas para várias entidades diferentes.
[0012] Para implantar uma rede virtual para um locatário em uma ou mais nuvens públicas, o cluster de controlador (1) identifica possíveis roteadores de entrada e saída para entrada e saída da rede virtual para o locatário com base nos locais das filiais, centros de dados e usuários móveis do locatário, e provedores SaaS, e (2) identifica rotas que passam dos roteadores de entrada identificados para os roteadores de saída identificados através de outros roteadores de nuvem pública intermediários que implementam a rede virtual. Após identificar essas rotas, o cluster de controlador propaga essas rotas para as tabelas de encaminhamento dos roteadores de rede virtual na nuvem (ou nuvens) pública. Nas modalidades que usam roteadores de rede virtual com base em OVS, o controlador distribui as rotas usando o OpenFlow.
[0013] O Sumário anterior deve servir como uma breve introdução a algumas modalidades da invenção. Não deve ser uma introdução ou visão geral de todo o assunto inventivo divulgado neste documento. A Descrição Detalhada a seguir e os Desenhos mencionados na Descrição Detalhada descreverão ainda mais as modalidades descritas no Sumário, bem como outras modalidades. Assim, para entender todas as modalidades descritas por este documento, é necessária uma análise completa do Sumário, da Descrição Detalhada, dos Desenhos e Reivindicações. Além disso, os assuntos reivindicados não devem ser limitados pelos detalhes ilustrativos no Sumário, na Descrição Detalhada e no Desenho.
BREVE DESCRIÇÃO DOS DESENHOS
[0014] As novas características da invenção são apresentadas nas reivindicações anexas. No entanto, para fins de explicação, várias modalidades da invenção são apresentadas nas figuras a seguir.
[0015] A Figura 1A apresenta uma rede virtual que é definida para uma empresa em vários centros de dados de nuvem pública de dois provedores de nuvem pública.
[0016] A Figura 1B ilustra um exemplo de duas redes virtuais para dois locatários corporativos implantados nas nuvens públicas.
[0017] A Figura 1C ilustra, alternativamente, um exemplo de duas redes virtuais, com uma rede implantada em nuvens públicas e a outra rede virtual implantada em outro par de nuvens públicas.
[0018] A Figura 2 ilustra um exemplo de um nó de encaminhamento gerenciado e um cluster de controlador de algumas modalidades da invenção.
[0019] A Figura 3 ilustra um exemplo de um gráfico de medição que a camada de processamento de medição de controlador produz em algumas modalidades.
[0020] A Figura 4A ilustra um exemplo de um gráfico de roteamento que a camada de identificação de caminho de controlador produz em algumas modalidades do gráfico de medição.
[0021] A Figura 4B ilustra um exemplo de adição de IPs conhecidos para dois provedores de SaaS aos dois nós no gráfico de roteamento que estão nos centros de dados mais próximos dos centros de dados desses provedores de SaaS.
[0022] A Figura 4C ilustra um gráfico de roteamento que é gerado adicionando dois nós para representar dois provedores de SaaS.
[0023] A Figura 4D ilustra um gráfico de roteamento com nós adicionais adicionados para representar filiais e centros de dados com endereços |P conhecidos que se conectam respectivamente a duas nuvens públicas.
[0024] A Figura 5 ilustra um processo que a camada de identificação de caminho de controlador usa para gerar um gráfico de roteamento a partir de um gráfico de medição recebido da camada de medição de controlador.
[0025] A Figura 6 ilustra o formato de mensagem de dados IPsec de algumas modalidades.
[0026] A Figura 7 ilustra um exemplo dos dois cabeçalhos de encapsulamento de algumas modalidades, enquanto a Figura 8 apresenta um exemplo que ilustra como esses dois cabeçalhos são usados em algumas modalidades.
[0027] As Figuras 9 a 11 ilustram os processos de tratamento de mensagens que são executados respectivamente pelos MFNs de entrada, intermediário e de saída quando recebem uma mensagem que é enviada entre dois dispositivos de computação em duas filiais diferentes.
[0028] A Figura 12 ilustra um exemplo que não envolve um MFN intermediário entre os MFNs de entrada e saída.
[0029] A Figura 13 ilusta um processo de manipulação de mensagens que é executado pelo CFE de MFN de entrada quando recebe uma mensagem enviada de um dispositivo de computação corporativo em uma filial para outro dispositivo em outra filial ou em um centro de dados de provedor SaaS.
[0030] A Figura 14 ilustra a operação NAT sendo executada no roteador de saída.
[0031] A Figura 15 ilusta um processo de manipulação de mensagens que é executado pelo roteador de entrada que recebe uma mensagem que é enviada de uma máquina de provedor SaaS para uma máquina locatária.
[0032] A Figura 16 ilustra esses mecanismos de TM que são colocados em cada porta de comunicação de rede virtual que está no caminho de saída de rede virtual para a Internet.
[0033] A Figura 17 ilustra uma abordagem de NAT dupla que é usada em algumas modalidades, em vez da abordagem de NAT única ilustrada na Figura 16.
[0034] A Figura 18 apresenta um exemplo que ilustra a tradução de porta de origem do mecanismo NAT de entrada.
[0035] A Figura 19 ilustra o processamento de uma mensagem de resposta que uma máquina SaaS envia em resposta ao processamento de uma mensagem de dados da Figura 18.
[0036] A Figura 20 apresenta um exemplo que mostra M WANs corporativas virtuais para M locatários de um provedor de rede virtual que possui infraestrutura de rede e cluster (ou clusters) de controlador em N nuvens públicas de um ou mais provedores de nuvem pública.
[0037] A Figura 21 ilustra conceitualmente um processo executado pelo cluster de controlador do provedor de rede virtual para implantar e gerenciar uma WAN virtual para um locatário específico.
[0038] A Figura 22 ilustra conceitualmente um sistema de computador com o qual algumas modalidades da invenção são implementadas.
DESCRIÇÃO DETALHADA
[0039] Na descrição detalhada da invenção a seguir, numerosos detalhes, exemplos e modalidades da invenção são estabelecidos e descritos. No entanto, será claro e aparente para um versado na técnica que a invenção não está limitada às modalidades estabelecidas e que a invenção pode ser praticada sem alguns dos detalhes e exemplos específicos discutidos.
[0040] Algumas modalidades estabelecem como entidade uma rede virtual através de vários centros de dados de nuvem pública de um ou mais provedores de nuvem pública em uma ou mais regiões (por exemplo, várias cidades, estados, países etc.). Um exemplo de uma entidade para a qual uma rede virtual pode ser estabelecida inclui uma entidade comercial (por exemplo, uma empresa), uma entidade sem fins lucrativos (por exemplo, um hospital, uma organização de pesquisa etc.) e uma entidade educacional (por exemplo, universidade, faculdade etc.) ou qualquer outro tipo de entidade. Exemplos de provedores de nuvem pública incluem Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure, etc.
[0041] Algumas modalidades definem a rede virtual como uma rede de sobreposição que se estende por vários centros de dados de nuvem pública (nuvens públicas) para interconectar uma ou mais redes privadas (por exemplo, redes dentro de filiais, divisões, departamentos da entidade ou seus centros de dados associados), usuários móveis, máquinas provedoras de SaaS (Software como Serviço), máquinas e/ou serviço na nuvem (ou nuvens) pública e outras aplicações da rede. Em algumas modalidades, redes privadas confiáveis e de alta velocidade interconectam dois ou mais dos centros de dados de nuvem pública.
[0042] A rede virtual, em algumas modalidades, pode ser configurada para otimizar o roteamento das mensagens de dados da entidade aos seus destinos para obter melhor desempenho, confiabilidade e segurança de ponta a ponta, enquanto tenta minimizar o roteamento desse tráfego através da Internet. Além disso, a rede virtual em algumas modalidades pode ser configurada para otimizar o processamento da camada 4 dos fluxos de mensagens de dados que passam pela rede. Por exemplo, em algumas modalidades, a rede virtual otimiza a taxa de ponta a ponta das conexões TCP (Protocolo de Controle de Transporte) dividindo os mecanismos de controle de taxa no caminho da conexão.
[0043] Algumas modalidades estabelecem a rede virtual configurando vários componentes que são implantados em várias nuvens públicas. Esses componentes incluem, em algumas modalidades, agentes de medição com base em software, elementos de encaminhamento de software (por exemplo, roteadores de software, comutadores, portas de comunicação, etc.), proxies de conexão da camada 4 e máquinas de serviço de caixa intermediária (por exemplo, dispositivos, VMs, contêineres, etc.)
[0044] Algumas modalidades utilizam um cluster de controladores logicamente centralizado (por exemplo, um conjunto de um ou mais servidores de controladores) que configura os componentes da nuvem pública para implementar a rede virtual em várias nuvens públicas. Em algumas modalidades, os controladores neste cluster estão em vários locais diferentes (por exemplo, em diferentes centros de dados em nuvem pública), a fim de melhorar a redundância e a alta disponibilidade. Quando diferentes controladores no cluster de controlador estão localizados em diferentes centros de dados de nuvem pública, os controladores em algumas modalidades compartilham seu estado (por exemplo, os dados de configuração que eles geram para identificar locatários, rotas através das redes virtuais, etc.). O cluster de controlador, em algumas modalidades, aumenta ou diminui o número de componentes da nuvem pública usados para estabelecer a rede virtual ou os recursos de computação ou rede alocados a esses componentes.
[0045] Algumas modalidades estabelecem redes virtuais diferentes para entidades diferentes no mesmo conjunto de nuvens públicas dos mesmos provedores de nuvem pública e/ou em conjuntos diferentes de nuvens públicas do mesmo ou de diferentes provedores de nuvem pública. Em algumas modalidades, um provedor de rede virtual fornece software e serviços que permitem que diferentes locatários definam redes virtuais diferentes na mesma ou em diferentes nuvens públicas. Em algumas modalidades, o mesmo cluster de controlador ou diferentes clusters de controlador podem ser usados para configurar os componentes da nuvem pública para implementar redes virtuais diferentes sobre o mesmo ou diferentes conjuntos de nuvens públicas para várias entidades diferentes.
[0046] Vários exemplos de redes virtuais corporativas são fornecidos na discussão abaixo. No entanto, um versado na técnica perceberá que algumas modalidades definem redes virtuais para outros tipos de entidades, como outras entidades comerciais, organizações sem fins lucrativos, entidades educacionais etc. Além disso, conforme usado neste documento, as mensagens de dados se referem a uma coleção de bits em um formato específico enviado por uma rede. Um versado na técnica reconhecerá que o termo mensagem de dados é usado neste documento para se referir a várias coleções formatadas de bits que são enviadas através de uma rede. À formatação desses bits pode ser especificada por protocolos padronizados ou não padronizados. Exemplos de mensagens de dados que seguem protocolos padronizados incluem quadros Ethernet, pacotes |P, segmentos TCP, datagramas UDP, etc. Além disso, conforme usado neste documento, as referências às camadas L2, L3, L4 e L7 (ou camada 2, camada 3, camada 4 e camada 7) são referências, respectivamente, à segunda camada de enlace de dados, à terceira camada de rede, à quarta camada de transporte e à sétima camada de aplicação do modelo de camada OSI (Open System Interconnection).
[0047] A Figura 1A apresenta uma rede virtual 100 que é definida para uma empresa em vários centros de dados de nuvem pública 105 e 110 de dois provedores de nuvem pública A e B. Como mostrado, a rede virtual 100 é uma rede de sobreposição segura que é estabelecida pela implantação de nós de encaminhamento gerenciado diferente 150 em diferentes nuvens públicas e conectando os nós de encaminhamento gerenciado (MFNs) entre si por meio de túneis de sobreposição 152. Em algumas modalidades, um MFN é um agrupamento conceitual de vários componentes diferentes em um centro de dados de nuvem pública que, com outros MFNs (com outros grupos de componentes) em outros centros de dados de nuvem pública, estabelece uma ou mais redes virtuais de sobreposição para uma ou mais entidades.
[0048] Conforme descrito abaixo, o grupo de componentes que formam um MFN inclui em algumas modalidades (1) uma ou mais portas de comunicação VPN para estabelecer conexões VPN com os nós de computação de uma entidade (por exemplo, escritórios, centros de dados privados, usuários remotos, etc.) que são localizações de máquina externas fora dos centros de dados da nuvem pública, (2) um ou mais elementos de encaminhamento para o encaminhamento de mensagens de dados encapsuladas entre si, a fim de definir uma rede virtual de sobreposição na malha de rede da nuvem pública compartilhada, (3) uma ou mais máquinas de serviço para executar operações de serviço de caixa intermediária (middlebox), além de otimizações de L4-L7 e (4) um ou mais agentes de medição para obter medições relacionadas à qualidade da conexão de rede entre os centros de dados de nuvem pública, a fim de identificar os caminhos desejados pelos centros de dados de nuvem pública. Em algumas modalidades, diferentes MFNs podem ter diferentes arranjos e diferentes números de tais componentes, e um MFN pode ter diferentes números desses componentes por razões de redundância e escalabilidade.
[0049] Além disso, em algumas modalidades, o grupo de componentes de cada MFN é executado em computadores diferentes no centro de dados de nuvem pública do MFN. Em algumas modalidades, vários ou todos os componentes de um MFN podem ser executados em um computador de um centro de dados de nuvem pública. Os componentes de um MFN em algumas modalidades são executados em computadores hospedeiros que também executam outras máquinas de outros locatários. Essas outras máquinas podem ser outras máquinas de outros MFNs de outros locatários, ou podem ser máquinas não relacionadas de outros locatários (por exemplo, VMs de computação ou contêineres).
[0050] A rede virtual 100 em algumas modalidades é implantada por um provedor de rede virtual (VNP) que implanta redes virtuais diferentes nos mesmos ou diferentes centros de dados de nuvem pública para diferentes entidades (por exemplo, clientes/locatários corporativos diferentes do provedor de rede virtual). O provedor de rede virtual em algumas modalidades é a entidade que implanta os MFNs e fornece o cluster de controlador para configurar e gerenciar esses MFNs.
[0051] A rede virtual 100 conecta os pontos de extremidade de computação corporativos (como centros de dados, filiais e usuários móveis) entre si e com serviços externos (por exemplo, serviços públicos da Web ou serviços SaaS como Office365 ou Salesforce) que residem na nuvem pública ou residem em um centro de dados privado acessível pela Internet. Essa rede virtual utiliza os diferentes locais das diferentes nuvens públicas para conectar diferentes pontos de extremidade de computação corporativa (por exemplo, diferentes redes privadas e/ou diferentes usuários móveis da empresa) às nuvens públicas nas proximidades. Os pontos de extremidade de computação corporativa também são referidos como nós de computação corporativa na discussão abaixo.
[0052] Em algumas modalidades, a rede virtual 100 também aproveita as redes de alta velocidade que interconectam essas nuvens públicas para encaminhar mensagens de dados através das nuvens públicas para seus destinos ou para se aproximar mais de seus destinos enquanto reduzem sua passagem pela Internet. Quando os pontos de extremidade de computação corporativa estão fora dos centros de dados de nuvem pública nos quais a rede virtual se estende, esses pontos de extremidade são chamados de localizações de máquina externas. É o caso de filiais corporativas, centros de dados privados e dispositivos de usuários remotos.
[0053] No exemplo ilustrado na Figura 1A, a rede virtual 100 abrange seis centros de dados 105a a 105f do provedor de nuvem pública A e quatro centros de dados 110a a 110d do provedor de nuvem pública B. Ao se estender por essas nuvens públicas, essa rede virtual conecta várias filiais, centros de dados corporativos, provedores de SaaS e usuários móveis do locatário — corporativo localizados em diferentes regiões geográficas. Especificamente, a rede virtual 100 conecta duas filiais 130a e 130b em duas cidades diferentes (por exemplo, San Francisco, Califórnia e Pune, Índia), um centro de dados corporativo 134 em outra cidade (por exemplo, Seattle, Washington), dois centros de dados de provedor SaaS 136a e 136b em outras duas cidades (Redmond, Washington e Paris, França) e usuários móveis 140 em vários locais do mundo. Como tal, essa rede virtual pode ser vista como uma WAN corporativa virtual.
[0054] Em algumas modalidades, as filiais 130a e 130b têm suas próprias redes privadas (por exemplo, redes de área local) que conectam computadores nos locais das filiais e centros de dados privados das filiais que estão fora das nuvens públicas. Da mesma forma, o centro de dados corporativo 134 em algumas modalidades tem sua própria rede privada e reside fora de qualquer centro de dados em nuvem pública. Em outras modalidades, no entanto, o centro de dados corporativo 134 ou o centro de dados da filial 130a e 130b pode estar dentro de uma nuvem pública, mas a rede virtual não abrange essa nuvem pública, pois o centro de dados corporativo ou da filial se conecta à borda da rede virtual 100.
[0055] Como mencionado acima, a rede virtual 100 é estabelecida conectando diferentes nós de encaminhamento gerenciado implantados 150 em diferentes nuvens públicas através de túneis de sobreposição 152. Cada nó de encaminhamento gerenciado 150 inclui vários componentes configuráveis. Conforme descrito acima e descrito a seguir, os componentes do MFN incluem, em algumas modalidades, agentes de medição baseados em software, elementos de encaminhamento de software (por exemplo, roteadores de software, comutadores, portas de comunicação, etc.), proxies da camada 4 (por exemplo, proxies TCP) e máquinas de serviço de caixa intermediária (por exemplo, VMs, contêineres etc.). Um ou mais desses componentes em algumas modalidades usam soluções padronizadas ou comumente disponíveis, como Open vSwitch, OpenVPN, strongSwan, etc.
[0056] Em algumas modalidades, cada MFN (ou seja, o grupo de componentes que forma um MFN) pode ser compartilhado por diferentes locatários do provedor de rede virtual que implanta e configura os MFNs nos centros de dados de nuvem pública. Em conjunto ou alternativamente, o provedor de rede virtual em algumas modalidades pode implantar um conjunto exclusivo de MFNs em um ou mais centros de dados de nuvem pública para um locatário específico. Por exemplo, um locatário específico pode não querer compartilhar recursos do MFN com outro locatário por motivos de segurança ou qualidade de serviço. Para esse locatário, o provedor de rede virtual pode implantar seu próprio conjunto de MFNs em vários centros de dados de nuvem pública.
[0057] Em algumas modalidades, um cluster de controlador logicamente centralizado 160 (por exemplo, um conjunto de um ou mais servidores de controlador) opera dentro ou fora de uma ou mais das nuvens públicas 105 e 110 e configura os componentes de nuvem pública dos nós de encaminhamento gerenciado 150 para implementar a rede virtual sobre as nuvens públicas 105 e 110. Em algumas modalidades, os controladores neste cluster estão em vários locais diferentes (por exemplo, em diferentes centros de dados em nuvem pública), a fim de melhorar a redundância e a alta disponibilidade. O cluster de controlador, em algumas modalidades, aumenta ou diminui o número de componentes da nuvem pública usados para estabelecer a rede virtual ou os recursos de computação ou rede alocados a esses componentes.
[0058] Em algumas modalidades, o cluster de controlador 160, ou outro cluster de controlador do provedor de rede virtual, estabelece uma rede virtual diferente para outro locatário corporativo nas mesmas nuvens públicas 105 e 110 e/ou nas nuvens públicas diferentes de diferentes provedores de nuvem pública. Além do cluster de controlador, o provedor de rede virtual em outras modalidades implementa elementos de encaminhamento e máquinas de serviço nas nuvens públicas que permitem que diferentes locatários implementem redes virtuais diferentes na mesma ou em diferentes nuvens públicas. A Figura 1B ilustra um exemplo de duas redes virtuais 100 e 180 para dois locatários corporativos implantados nas nuvens públicas 105 e 110. A Figura 1C ilustra, alternativamente, um exemplo de duas redes virtuais 100 e 182, com uma rede 100 implantada sobre nuvens públicas 105 e 110 e a outra rede virtual 182 implantada sobre outro par de nuvens públicas 110 e 115.
[0059] Por meio dos componentes configurados dos MFNs, a rede virtual 100 da Figura 1A permite que diferentes redes privadas e/ou diferentes usuários móveis do locatário corporativo se conectem a diferentes nuvens públicas que estão em locais ideais (por exemplo, conforme medido em termos de distância física, em termos de velocidade, perda, atraso e/ou custo de conexão, e/ou em termos de confiabilidade da conexão de rede etc.) com relação a essas redes privadas e/ou usuários móveis. Esses componentes também permitem que a rede virtual 100, em algumas modalidades, use as redes de alta velocidade que interconectam as nuvens públicas para encaminhar mensagens de dados através das nuvens públicas para seus destinos, enquanto reduzem sua passagem pela Internet.
[0060] Em algumas modalidades, os componentes MFN também são configurados para executar novos processos nas camadas de rede, transporte e aplicação para otimizar o desempenho, a confiabilidade e a segurança de ponta a ponta. Em algumas modalidades, um ou mais desses processos implementam protocolos de rede de alto desempenho proprietários, livres da ossificação atual do protocolo de rede. Como tal, a rede virtual 100, em algumas modalidades, não é confinada por sistemas autônomos da Internet, protocolos de roteamento ou mesmo mecanismos de transporte de ponta a ponta.
[0061] Por exemplo, em algumas modalidades, os componentes dos MFNs 150 (1) criam roteamento centralizado otimizado, com vários caminhos e adaptável, (2) fornecem fortes garantias de QoS (Qualidade de Serviço), (3) otimizam o as taxas de TCP de ponta a ponta através de divisão e/ou terminação intermediárias de TCP e (4) realocam serviços de caixa intermediária escaláveis em nível de aplicação (por exemplo, firewalls, sistemas de detecção de intrusões (IDS), sistema de prevenção de intrusões (IPS), otimização de WAN, etc.) para a parte de computação da nuvem em uma virtualização de função de rede global (NFV). Consequentemente, a rede virtual pode ser otimizada para atender às demandas personalizadas e variáveis da empresa, sem estar vinculada ao protocolo de rede existente. Além disso, em algumas modalidades, a rede virtual pode ser configurada como uma infraestrutura de "bagamento conforme o uso" que pode ser dinamicamente e elasticamente escalada para cima e para baixo, tanto na capacidade de desempenho quanto na extensão geográfica, de acordo com as mudanças contínuas nos requisitos.
[0062] Para implementar a rede virtual 100, pelo menos um nó de encaminhamento gerenciado 150 em cada centro de dados de nuvem pública 105a a 105f e 110a a 110d estendido pela rede virtual deve ser configurado pelo conjunto de controladores. A Figura 2 ilustra um exemplo de um nó de encaminhamento gerenciado 150 e um cluster de controlador 160 de algumas modalidades da invenção. Em algumas modalidades, cada nó de encaminhamento gerenciado 150 é uma máquina (por exemplo, uma VM ou contêiner) que é executada em um computador hospedeiro em um centro de dados de nuvem pública. Em outras modalidades, cada nó de encaminhamento gerenciado 150 é implementado por várias máquinas (por exemplo, várias VMs ou contêineres) que são executadas no mesmo computador hospedeiro em um centro de dados de nuvem pública. Em ainda outras modalidades, dois ou mais componentes de um MFN podem ser implementados por duas ou mais máquinas executando em dois ou mais computadores hospedeiros em um ou mais centros de dados de nuvem pública.
[0063] Como mostrado, o nó de encaminhamento gerenciado 150 inclui um agente de medição 205, firewall e mecanismos de serviço de caixa intermediária NAT 210 e 215, um ou mais mecanismos de otimização 220, portas de comunicação de borda 225 e 230 e um elemento de encaminhamento de nuvem 235 (por exemplo, um roteador de nuvem). Em algumas modalidades, cada um desses componentes 205 a 235 pode ser implementado como um cluster de dois ou mais componentes.
[0064] O cluster de controlador 160 em algumas modalidades pode escalar dinamicamente para cima ou para baixo cada cluster de componente (1) para adicionar ou remover máquinas (por exemplo, VMs ou contêineres) para implementar a funcionalidade de cada componente e/ou (2) para adicionar ou remover computação e/ou recursos de rede para as máquinas implantadas anteriormente que implementam os componentes desse cluster. Assim, cada MFN 150 implantado em um centro de dados de nuvem pública pode ser visualizado como um cluster de MFENs ou como um nó que inclui vários clusters de componentes diferentes que executam operações diferentes do MFN.
[0065] Além disso, em algumas modalidades, o cluster de controlador implanta diferentes conjuntos de MFNs nos centros de dados de nuvem pública para diferentes locatários para os quais o cluster de controlador define redes virtuais sobre os centros de dados de nuvem pública. Nessa abordagem, as redes virtuais de dois locatários não compartilham nenhum MFN. No entanto, nas modalidades descritas abaixo, cada MFN pode ser usado para implementar redes virtuais diferentes para diferentes locatários. Alguém versado na técnica perceberá que em outras modalidades o cluster de controlador 160 pode implementar a rede virtual de cada locatário de um primeiro conjunto de locatários com seu próprio conjunto dedicado de MFNs implementados, enquanto implementa a rede virtual de cada locatário de um segundo conjunto de locatários com um conjunto compartilhado de MFNs implantados.
[0066] Em algumas modalidades, a porta de comunicação de filial 225 e a porta de comunicação de dispositivo remoto 230 estabelecem conexões VPN seguras, respectivamente, com uma ou mais filiais 130 e dispositivos remotos (por exemplo, dispositivos móveis 140) que se conectam ao MFN 150, como mostrado na Figura 2. Um exemplo dessas conexões VPN são as conexões IPsec, que serão descritas mais adiante. No entanto, um versado na técnica perceberá que em outras modalidades, essas portas de comunicação 225 e/ou 230 estabelecem diferentes tipos de conexões VPN.
[0067] Um MFN 150 em algumas modalidades inclui um ou mais mecanismos de caixa intermediária que executam uma ou mais operações de serviço de caixa intermediária, como operações de firewall, operações NAT, operações IPS, operações IDS, operações de balanceamento de carga, operações de otimização de WAN, etc. Ao incorporar essas operações da caixa intermediária (por exemplo, operações de firewall, operações de otimização da WAN, etc.) nos MFNs implantados na nuvem pública, a rede virtual 100 implementa na nuvem pública muitas das funções tradicionalmente executadas pela infraestrutura de WAN corporativa no centro (ou centros) de dados da empresa e/ou filial (ou filiais).
[0068] Assim, para muitos dos serviços da caixa intermediária, os nós de computação corporativos (por exemplo, dispositivos remotos, filiais e centros de dados) não precisam mais acessar a infraestrutura de WAN corporativa da empresa em um centro de dados ou filial particular, pois muitos desses serviços são agora implantados nas nuvens públicas. Essa abordagem acelera o acesso dos nós de computação corporativos (por exemplo, dispositivos remotos, filiais e centros de dados) a esses serviços e evita gargalos de rede congestionada e dispendiosos em centros de dados privados que, de outra forma, seriam dedicados a oferecer esses serviços.
[0069] Essa abordagem distribui efetivamente a funcionalidade da porta de comunicação WAN para vários MFNs nos centros de dados de nuvem pública. Por exemplo, na rede virtual 100 de algumas modalidades, a maioria ou todas as funções tradicionais de segurança da porta de comunicação WAN corporativa (por exemplo, operações de firewall, operações de detecção de intrusão, operações de prevenção de intrusão, etc.) são movidas para os MFNs da nuvem pública (por exemplo, MFNs de entrada nos quais os dados dos pontos finais de computação são recebidos na rede virtual). Isso efetivamente permite que a rede virtual 100 tenha uma porta de comunicação WAN distribuída que é implementada em muitos MFNs diferentes que implementam a rede virtual 100.
[0070] No exemplo ilustrado na Figura 2, o MEN 150 é mostrado para incluir o mecanismo de firewall 210, o mecanismo NAT 215 e um ou mais mecanismos de otimização L4 a L7. Um versado na técnica perceberá que em outras modalidades, o MFN 150 inclui outros mecanismos de caixa intermediária para executar outras operações da caixa intermediária. Em algumas modalidades, o mecanismo de firewall 210 impõe regras de firewall em (1) fluxos de mensagens de dados em seus caminhos de entrada na rede virtual (por exemplo, em fluxos de mensagens de dados que as portas de comunicação
225 e 230 recebem e processam das filiais 130 e dispositivos móveis 140) e (2) fluxos de mensagens de dados em seus caminhos de saída da rede virtual (por exemplo, em fluxos de mensagens de dados enviados aos centros de dados do provedor SaaS por meio do mecanismo NAT 215 e da Internet 202).
[0071] O mecanismo de firewall 210 do MFN 150 em algumas modalidades também aplica regras de firewall quando o mecanismo de firewall pertence a um MFN que é um salto intermediário entre um MFN de entrada no qual um fluxo de mensagens de dados entra em uma rede virtual e um MFN de saída no qual o fluxo de mensagens de dados sai da rede virtual. Em outras modalidades, o mecanismo de firewall 210 impõe regras de firewall apenas quando faz parte do MFN de entrada e/ou saída de MFN de um fluxo de mensagens de dados.
[0072] Em algumas modalidades, o mecanismo NAT 215 executa uma conversão de endereço de rede para alterar os endereços de rede de origem de fluxos de mensagens de dados em seus caminhos de saída da rede virtual para dispositivos de terceiros (por exemplo, para máquinas provedoras de SaaS) através da Internet 202. Essas traduções de endereços de rede garantem que máquinas de terceiros (por exemplo, máquinas SaaS) possam ser configuradas corretamente para processar os fluxos de mensagens de dados que, sem as traduções de endereços, podem especificar endereços de rede privados dos locatários e/ou provedores de nuvem pública. Isso é particularmente problemático, pois os endereços de rede privada de diferentes locatários e/ou provedores de nuvem podem se superpor. A conversão de endereço também garante que as mensagens de resposta dos dispositivos de terceiros (por exemplo, as máquinas SaaS) possam ser recebidas adequadamente pela rede virtual (por exemplo, pelo mecanismo NAT MFN do qual a mensagem saiu da rede virtual).
[0073] Os mecanismos NAT 215 dos MFNs em algumas modalidades executam operações de NAT dupla em cada fluxo de mensagens de dados que sai da rede virtual para alcançar uma máquina de terceiros ou que entra na rede virtual a partir de uma máquina de terceiros. Conforme descrito abaixo, uma operação NAT nas duas operações NAT é executada no fluxo de mensagens de dados no seu MFN de entrada quando ele entra na rede virtual, enquanto a outra operação NAT é executada no fluxo de mensagens de dados no seu MFN de saída quando ele sai da rede virtual.
[0074] Essa abordagem de NAT dupla permite que redes privadas de mais locatários sejam mapeadas para as redes dos provedores de nuvem pública. Essa abordagem também reduz a carga de distribuição aos dados do MFN em relação às alterações nas redes privadas de locatário. Antes das operações NAT de entrada ou saída, algumas modalidades realizam uma operação de mapeamento de locatário que usa o identificador de locatário para mapear primeiro o endereço de rede de origem de locatário para outro endereço de rede de origem que é mapeado para outro endereço de rede de origem pela operação NAT. A execução da operação NAT dupla reduz a carga de distribuição de dados para a distribuição de dados referentes às alterações nas redes privadas do locatário.
[0075] O mecanismo de otimização 220 executa novos processos que otimizam o encaminhamento das mensagens de dados da entidade para seus destinos para melhor desempenho e confiabilidade de ponta a ponta. Alguns desses processos implementam protocolos de rede de alto desempenho proprietários, livres da ossificação atual do protocolo de rede. Por exemplo, em algumas modalidades, o mecanismo de otimização 220 otimiza taxas TCP de ponta a ponta através da divisão e/ou terminação intermediárias de TCP.
[0076] O elemento de encaminhamento de nuvem 235 é o mecanismo do MFN responsável por encaminhar um fluxo de mensagens de dados para o elemento de encaminhamento de nuvem (CFE) de MFN de próximo salto quando o fluxo de mensagens de dados precisar passar para outra nuvem pública para alcançar seu destino ou para um roteador de saída na mesma nuvem pública quando o fluxo de mensagens de dados pode chegar ao seu destino através da mesma nuvem pública. Em algumas modalidades, o CFE 235 do MFN 150 é um roteador de software.
[0077] Para encaminhar as mensagens de dados, o CFE encapsula as mensagens com cabeçalhos de túnel. Modalidades diferentes usam abordagens diferentes para encapsular as mensagens de dados com cabeçalhos de túnel. Algumas modalidades descritas abaixo usam um cabeçalho de túnel para identificar endereços de entrada/saída de rede para entrar e sair da rede virtual e usam outro cabeçalho de túnel para identificar MFNs de próximo salto quando uma mensagem de dados precisa atravessar um ou mais MFN intermediários para alcançar o MFN de saída.
[0078] Especificamente, em algumas modalidades, o CFE envia a mensagem de dados com dois cabeçalhos de túnel (1) um cabeçalho interno que identifica um CFE de entrada e CFE de saída para entrar e sair da rede virtual e (2) um cabeçalho externo que identifica o CFE de próximo salto. O cabeçalho de túnel interno em algumas modalidades também inclui um identificador de locatário (TID) para permitir que vários locatários diferentes do provedor de rede virtual usem um conjunto comum de CFEs de MFN do provedor de rede virtual. Outras modalidades definem os cabeçalhos do túnel de maneira diferente para definir a rede virtual de sobreposição.
[0079] Para implantar uma rede virtual para um locatário em uma ou mais nuvens públicas, o cluster de controlador (1) identifica possíveis roteadores de entrada e saída para entrada e saída da rede virtual para o locatário com base nos locais dos nós de computação corporativos do locatário (por exemplo, filiais, centros de dados, usuários móveis e provedores de SaaS) e (2) identifica rotas que passam dos roteadores de entrada identificados para os roteadores de saída identificados por outros roteadores de nuvem pública intermediários que implementam a rede virtual. Após identificar essas rotas, o cluster de controlador propaga essas rotas para as tabelas de encaminhamento do CFEs de MFN 235 na nuvem (ou nuvens) pública. Nas modalidades que usam roteadores de rede virtual com base em OVS, o controlador distribui as rotas usando o OpenFlow.
[0080] Em algumas modalidades, o cluster de controlador 160 pode também configurar os componentes 205 a 235 de cada MFN 150 que implementa a rede virtual para otimizar várias camadas de processamento de rede a fim de alcançar melhor desempenho, confiabilidade e segurança de ponta a ponta. Por exemplo, em algumas modalidades, esses componentes são configurados (1) para otimizar o roteamento de tráfego da camada3 (por exemplo, caminho mais curto, duplicação de pacotes), (2) para otimizar o controle de congestionamento TCP da camada 4 (por exemplo, segmentação, controle de taxa), (3) para implementar recursos de segurança (por exemplo, criptografia, inspeção profunda de pacotes, firewall) e (4) para implementar recursos de compactação da camada de aplicações (por exemplo, desduplicação, armazenamento em cache). Dentro da rede virtual, o tráfego corporativo é protegido, inspecionado e registrado.
[0081] Em algumas modalidades, um agente de medição é implantado para cada MFN em um centro de dados de nuvem pública. Em outras modalidades, vários MFNs em um centro de dados de nuvem pública ou em uma coleção de centros de dados (por exemplo, em uma coleção de centros de dados próximos, associados, como centros de dados em uma zona de disponibilidade) compartilham um agente de medição. Para otimizar o processamento das camadas 3 e 4, o agente de medição 205 associado a cada nó de encaminhamento gerenciado 150 gera repetidamente valores de medição que quantificam a qualidade da conexão de rede entre seu nó e cada um de vários outros nós "vizinhos".
[0082] Diferentes modalidades definem os nós vizinhos de maneira diferente. Para um MFN específico em um centro de dados de nuvem pública de um provedor de nuvem pública específico, um nó vizinho em algumas modalidades inclui (1) qualquer outro MFN que opera em qualquer centro de dados de nuvem pública do provedor de nuvem pública específico e
(2) qualquer outro MFN que opera no centro de dados de outro provedor de nuvem pública que está dentro da mesma "região" que o MFN específico.
[0083] Modalidades diferentes definem a mesma região de maneira diferente. Por exemplo, algumas modalidades definem uma região em termos de uma distância que especifica uma forma delimitadora em torno do nó de encaminhamento gerenciado específico. Outras modalidades definem regiões em termos de cidades, estados ou áreas regionais, como norte da Califórnia, sul da Califórnia, etc. A suposição dessa abordagem é que diferentes centros de dados do mesmo provedor de nuvem pública estão conectados com conexões de rede de velocidade muito alta, enquanto as conexões de rede entre os centros de dados de diferentes fornecedores de nuvem pública provavelmente são rápidas quando os centros de dados estão na mesma região, mas provavelmente não são tão rápidas quando os centros de dados estão em diferentes regiões. A conexão entre os centros de dados de diferentes provedores de nuvem pública pode ter que percorrer longas distâncias pela Internet pública quando os centros de dados estiverem em diferentes regiões.
[0084] O agente de medição 205 gera valores de medição de maneira diferente em diferentes modalidades. Em algumas modalidades, o agente de medição envia mensagens de ping (por exemplo, mensagens de eco UDP) periodicamente (por exemplo, uma vez a cada segundo, a cada N segundos, a cada minuto, a cada M minutos, etc.) para cada um dos agentes de medição de seus nós de encaminhamento gerenciado vizinhos. Dado o tamanho pequeno das mensagens de ping, elas não resultam em grandes encargos de conexão de rede. Por exemplo, para 100 nós com cada nó enviando um ping para o outro a cada 10 segundos, são gerados cerca de 10 Kb/s de tráfego de medição de entrada e saída para cada nó, o que leva a cobranças de consumo de rede de alguns dólares (por exemplo, $5) por nó por ano, dados os preços atuais da nuvem pública.
[0085] Com base na velocidade das mensagens de resposta que recebe, o agente de medição 205 calcula e atualiza os valores das métricas de medição, como velocidade de transferência da conexão de rede, atraso, perda e confiabilidade de enlace. Ao executar repetidamente essas operações, o agente de medição 205 define e atualiza uma matriz de resultados de medição que expressa a qualidade das conexões de rede aos seus nós vizinhos. À medida que o agente 205 interage com os agentes de medição de seus nós vizinhos, sua matriz de medição quantifica apenas a qualidade das conexões com sua camarilha local de nós.
[0086] Os agentes de medição dos diferentes nós de encaminhamento gerenciado enviam suas matrizes de medição para o cluster de controlador 160, que agrega todos os diferentes dados de conexão de camarilha para obter uma visão de malha agregada das conexões entre diferentes pares de nós de encaminhamento gerenciado. Quando o cluster de controlador 160 coleta medições diferentes para um enlace entre dois pares de nós de encaminhamento (por exemplo, medições realizadas por um nó em momentos diferentes), o cluster de controlador produz um valor combinado das diferentes medições (por exemplo, produz uma média ou uma ponderada média das medições). A visão de malha agregada em algumas modalidades é uma visão de malha completa de todas as conexões de rede entre cada par de nós de encaminhamento gerenciado, enquanto em outras modalidades é uma visão mais completa do que a produzida pelos agentes de medição dos nós de encaminhamento gerenciado individuais.
[0087] Como mostrado na Figura 2, o cluster de controlador 160 inclui um cluster de um ou mais mecanismos de processamento de medição 280, um ou mais mecanismos de identificação de caminho 282 e uma ou mais interfaces de gerenciamento 284. Para não ocultar a descrição com detalhes desnecessários, cada um desses clusters será referido abaixo em termos de camadas únicas de mecanismo ou interface, ou seja, em termos de uma camada de processamento de medição 280, uma camada de identificação de caminho 282 e uma camada de interface de gerenciamento 284.
[0088] A camada de processamento de medição 280 recebe as matrizes de medição dos agentes de medição 205 dos nós de encaminhamento gerenciado e processa essas matrizes de medição para produzir a matriz de malha agregada que expressa a qualidade da conexão entre diferentes pares de nós de encaminhamento gerenciado. A camada de processamento de medição 280 fornece a matriz de malha agregada à camada de identificação de caminho 282. Com base na matriz de malha agregada, a camada de identificação de caminho 282 identifica diferentes caminhos de roteamento desejados através da rede virtual para conectar diferentes pontos de extremidade de dados corporativos (por exemplo, diferentes filiais, centros de dados corporativos, centros de dados de fornecedores de SaaS e/ou dispositivos remotos). Essa camada 282 fornece esses caminhos de roteamento em tabelas de rotas que são distribuídas aos elementos de encaminhamento de nuvem 235 dos nós de encaminhamento gerenciado 150.
[0089] Em algumas modalidades, o caminho de roteamento identificado para cada par de pontos de extremidade de mensagens de dados é um caminho de roteamento considerado ideal com base em um conjunto de critérios de otimização, por exemplo, é o caminho de roteamento mais rápido, o caminho de roteamento mais curto ou o caminho que menos usa a Internet. Em outras modalidades, o mecanismo de identificação de caminho pode identificar e fornecer (na tabela de roteamento) vários caminhos de roteamento diferentes entre os mesmos dois pontos de extremidade. Nessas modalidades, os elementos de encaminhamento de nuvem 235 dos nós de encaminhamento gerenciado 150 selecionam um dos caminhos com base nos critérios de QoS ou outros critérios de tempo de execução que eles estão aplicando. Cada CFE 235 em algumas modalidades não recebe todo o caminho de roteamento do CFE para o ponto de saída da rede virtual, mas recebe o próximo salto para o caminho.
[0090] Em algumas modalidades, a camada de identificação de caminho 282 usa os valores de medição na matriz de malha agregada como entradas para algoritmos de roteamento que ele executa para construir um gráfico de roteamento global. Este gráfico de roteamento global é uma versão agregada e otimizada de um gráfico de medição que a camada de processamento de medição 280 produz em algumas modalidades. A Figura 3 ilustta um exemplo de um gráfico de medição 300 que a camada de processamento de medição de controlador 280 produz em algumas modalidades. Este gráfico mostra conexões de rede entre vários nós de encaminhamento gerenciado 150 nas nuvens públicas 310 e 320 de AWS e GCP (ou seja, nos centros de dados de AWS e GCP). A Figura 4A ilustra um exemplo de um gráfico de roteamento 400 que a camada de identificação de caminho de controlador 282 produz em algumas modalidades do gráfico de medição 300.
[0091] A Figura 5 ilustra um processo 500 que a camada de identificação de caminho de controlador usa para gerar um gráfico de roteamento a partir de um gráfico de medição recebido da camada de medição de controlador. A camada de identificação de caminho 282 executa esse processo 500 repetidamente, à medida que recebe repetidamente gráficos de medição atualizados da camada de medição de controlador (por exemplo, executa o processo 500 cada vez que recebe um novo gráfico de medição ou a N-ésima vez que recebe um novo gráfico de medição gráfico de medição). Em outras modalidades, a camada de identificação de caminho 282 executa esse processo periodicamente (por exemplo, uma vez a cada 12 horas ou 24 horas).
[0092] Como mostrado, a camada de identificação de caminho define inicialmente (em 505) o gráfico de roteamento para ser idêntico ao gráfico de medição (ou seja, para ter os mesmos enlaces entre os mesmos pares de nós de encaminhamento gerenciado). Em 510, o processo remove enlaces ruins do gráfico de medição 300. Exemplos de enlaces incorretos são enlaces com perda excessiva de mensagens ou baixa confiabilidade (por exemplo, enlaces com perda superior a 2% nos últimos 15 minutos ou com perda superior a 10% nos últimos 2 minutos). A Figura 4A ilustra que os enlaces 302, 304 e 306 no gráfico de medição 300 são excluídos no gráfico de roteamento
400. Esta figura ilustra a exclusão desses enlaces, representando-os com linhas tracejadas.
[0093] Em seguida, em 515, o processo 500 calcula uma pontuação de peso do enlace (pontuação de custo) como uma combinação ponderada de vários valores computados e específicos do provedor. Em algumas modalidades, a pontuação de peso é uma combinação ponderada do (1) valor de atraso calculado do enlace, (2) valor de perda calculada, (3) custo de conexão de rede do provedor e (4) custo de computação do provedor. Em algumas modalidades, o custo de computação do provedor é contabilizado, pois os nós de encaminhamento gerenciado conectados pelo enlace são máquinas (por exemplo, VMs ou contêineres) que são executados em computadores hospedeiros no centro (ou centros) de dados de nuvem pública.
[0094] Em 520, o processo adiciona ao gráfico de roteamento os endereços |P de origem e destino conhecidos (por exemplo, IPs conhecidos de provedores de SaaS usados pela entidade corporativa) para os fluxos de mensagens de dados na rede virtual. Em algumas modalidades, o processo adiciona cada endereço IP conhecido de um possível ponto final do fluxo de mensagens ao nó (por exemplo, ao nó que representa um MFN) no gráfico de roteamento mais próximo desse ponto final. Ao fazer isso, o processo em algumas modalidades assume que cada um desses pontos de extremidade está conectado à rede virtual através de um enlace com um custo de atraso zero e um custo de perda zero. A Figura 4B ilustra um exemplo de adição de IPs conhecidos para dois provedores SaaS aos dois nós 402 e 404 (representando dois MFNs) no gráfico de roteamento que está nos centros de dados mais próximos dos centros de dados desses provedores SaaS. Neste exemplo, um nó está em uma nuvem pública da AWS, enquanto o outro nó está na nuvem pública do GCP.
[0095] Alternativamente, ou conjuntamente, o processo 500 em algumas modalidades adiciona os endereços IP de origem e destino conhecidos ao gráfico de roteamento adicionando nós a este gráfico para representar os pontos de extremidade de origem e destino, atribuindo endereços IP a esses nós e atribuindo valores de peso aos enlaces que conectam esses nós adicionados a outros nós no gráfico de roteamento (por exemplo, nós no gráfico de roteamento que representam MFNs nas nuvens públicas). Quando os pontos de extremidade de origem e destino para os fluxos são adicionados como nós, o mecanismo de identificação de caminho 282 pode contabilizar o custo (por exemplo, custo de distância, custo de atraso e/ou custo financeiro, etc.) de alcançar esses nós quando estiver identificando rotas diferentes através da rede virtual entre diferentes pontos de extremidade de origem e destino.
[0096] A Figura 4C ilustra um gráfico de roteamento 410 que é gerado pela adição de dois nós 412 e 414 ao gráfico de nó 400 da Figura 4A, a fim de representar dois provedores de SaaS. Neste exemplo, os endereços IP conhecidos são atribuídos aos nós 412 e 414, e esses nós são conectados aos nós 402 e 404 (representando dois MFNs) através dos enlaces 416 e 418 que têm os pesos W1 e W2 atribuídos a eles. Essa abordagem é uma abordagem alternativa para adicionar os endereços IP conhecidos dos dois provedores de SaaS à abordagem ilustrada na Figura 4B.
[0097] A Figura 4D ilustra um gráfico de roteamento mais detalhado 415. Neste gráfico de roteamento mais detalhado, nós adicionais 422 e 424 são adicionados para representar nós de computação corporativos externos (por exemplo, filiais e centros de dados) com endereços IP conhecidos que se conectam, respectivamente, às nuvens públicas AWS e GCP 310 e 320. Cada um desses nós 422/424 é conectado por pelo menos um enlace 426 com um valor de peso associado Wi a pelo menos um dos nós do gráfico de roteamento que representa um MFN. Alguns desses nós (por exemplo, algumas das filiais) estão conectados com vários enlaces à ao mesmo MFN ou a diferentes MFNs.
[0098] Em seguida, em 525, o processo 500 calcula os caminhos de menor custo (por exemplo, caminhos mais curtos etc.) entre cada MFN e outro MFN que pode servir como um local de saída da rede virtual para um fluxo de mensagens de dados da entidade corporativa. Os MFNs de saída em algumas modalidades incluem os MFNs conectados a nós de computação corporativos externos (por exemplo, filiais, centros de dados corporativos e centros de dados de provedor SaaS), bem como MFNs que são locais candidatos para conexões de dispositivos móveis e conexões de Internet de saída. Em algumas modalidades, esse cálculo usa um processo tradicional de identificação de menor custo (por exemplo, caminho mais curto) que identifica os caminhos mais curtos entre os diferentes pares de MFN.
[0099] Para cada par de MFN candidato, o processo de identificação de menor custo usa as pontuações de peso calculadas (isto é, as pontuações calculadas em 510) para identificar um caminho com a menor pontuação quando existem vários caminhos entre o par de MFN. Várias maneiras de calcular caminhos de menor custo serão descritas mais adiante. Como mencionado acima, a camada de identificação de caminho 282 identifica múltiplos caminhos entre dois pares de MFN em algumas modalidades. Isso permite que os elementos de encaminhamento de nuvem 235 usem caminhos diferentes sob circunstâncias diferentes. Por conseguinte, nessas modalidades, o processo 500 pode identificar vários caminhos entre dois pares de MFN.
[00100] Em 530, o processo remove do gráfico de roteamento os enlaces entre pares de MFN que não são usados por nenhum dos caminhos de menor custo identificados em 525. Em seguida, em 535, o processo gera as tabelas de roteamento para os elementos de encaminhamento de nuvem 235 a partir do gráfico de roteamento. Em 535, o processo distribui essas tabelas de roteamento para os elementos de encaminhamento de nuvem 235 dos nós de encaminhamento gerenciado. Depois de 535, o processo termina.
[00101] Em algumas modalidades, a rede virtual tem dois tipos de conexões externas, que são: (1) conexões externas seguras com os nós de computação (por exemplo, filiais, centros de dados, usuários móveis, etc.) de uma entidade e (2) conexões externas com computadores de terceiros (por exemplo, servidores provedores de SaaS) através da Internet. Algumas modalidades otimizam a rede virtual, localizando locais ideais de entrada e saída da rede virtual para cada caminho de dados que termina nos nós de origem e destino fora da rede virtual. Por exemplo, para conectar uma filial a um servidor de provedor SaaS (por exemplo, servidor salesforce.com), algumas modalidades conectam a filial a um MFN de borda ideal (por exemplo, o MFN que possui a conexão de rede mais rápida à filial ou aquele que estiver mais próximo da filial) e identificam um MFN de borda ideal para um servidor provedor de SaaS idealmente localizado (por exemplo, o SaaS que está mais próximo do MFN de borda da filial ou que possui o caminho mais rápido para o MFN de borda para o servidor filial através do MFN de borda conectado ao servidor do provedor SaaS).
[00102] Para associar cada nó de computação (por exemplo, uma filial, um usuário móvel etc.) de uma entidade ao MFN mais próximo por meio de uma conexão VPN, o provedor de rede virtual em algumas modalidades implementa um ou mais servidores de nome de domínio (DNS) autorizados nas nuvens públicas para os nós de computação entrarem em contato. Em algumas modalidades, sempre que um nó de computação corporativo em algumas modalidades precisa estabelecer uma conexão VPN (ou seja, para inicializar ou reinicializar a conexão VPN) com um MFN do provedor de rede virtual, o nó de computação resolve primeiro um endereço associado à sua rede virtual (por exemplo, virtualnetworkX.net) com esse servidor DNS autoritativo, a fim de obter desse servidor a identidade do MFN que esse servidor identifica como o MFN mais próximo do nó de computação corporativo. Para identificar esse MFN, o servidor DNS autoritativo fornece um identificador de MFN (por exemplo, o endereço IP do MFN) em algumas modalidades. O nó de computação corporativo estabelece uma conexão VPN com esse nó de encaminhamento gerenciado.
[00103] Em outras modalidades, o nó de computação corporativo não executa primeiro uma resolução DNS (ou seja, não resolve primeiro um endereço de rede para um domínio específico) cada vez que precisa estabelecer uma conexão VPN com um MFN do VNP. Por exemplo, em algumas modalidades, o nó de computação corporativo adere a um MFN resolvido por DNS por uma duração específica (por exemplo, por um dia, uma semana etc.) antes de executar outra resolução DNS para determinar se esse MFN ainda é o ideal ao qual deve se conectar.
[00104] Quando o endereço |P de origem na solicitação DNS é o do servidor DNS local do nó de computação corporativo, e não o próprio nó, o servidor DNS autoritativo em algumas modalidades identifica o MFN mais próximo ao servidor DNS local em vez do MFN mais próximo ao nó de computação corporativo. Para resolver isso, a solicitação DNS em algumas modalidades identifica o nó de computação corporativo em termos de um nome de domínio que inclui uma ou mais partes (rótulos) que são concatenadas e delimitadas por pontos, em que uma dessas partes identifica a empresa e a outra parte identifica o nó de computação da corporação.
[00105] Em algumas modalidades, esse nome de domínio especifica uma hierarquia de domínios e subdomínios que desce do rótulo direito para o rótulo esquerdo no nome de domínio. O primeiro rótulo mais à direita identifica o domínio específico, um segundo rótulo à esquerda do primeiro rótulo identifica a entidade corporativa e um terceiro rótulo à esquerda do segundo rótulo identifica o local de máquina externo da entidade nos casos em que a entidade possui mais de um local de máquina externo. Por exemplo, em algumas modalidades, a solicitação DNS identifica o nó de computação corporativo como myNode da companhia my Company e solicita a resolução do endereço myNode.myCompany .virtualnetwork.net. O servidor DNS usa o identificador myNode para selecionar melhor o MFN de entrada ao qual o nó de computação corporativo deve estabelecer uma conexão VPN. Em diferentes modalidades, o identificador myNode é expresso de maneira diferente. Por exemplo, ele pode ser endereçado como um endereço IP, uma descrição de latitude/longitude de um local, um local de GPS (Sistema de Posicionamento Global), um endereço de rua, etc.
[00106] Mesmo quando o endereço |P reflete corretamente o local, pode haver vários roteadores de entrada em potencial, por exemplo, pertencentes a diferentes centros de dados na mesma nuvem ou a diferentes nuvens na mesma região. Nesse caso, o servidor autorizado da rede virtual em algumas modalidades envia de volta uma lista de IPs de CFEs potenciais do MFN (por exemplo, C5, C8, 012). O nó de computação corporativo, em algumas modalidades, envia os diferentes CFEs da lista para produzir medições (por exemplo, medições de distância ou velocidade) e seleciona o mais próximo comparando medições entre o conjunto de candidatos a CFE.
[00107] Além disso, o nó de computação corporativo pode basear essa seleção identificando os MFNs usados atualmente pelos outros nós de computação da entidade corporativa. Por exemplo, em algumas modalidades, o nó de computação corporativo adiciona custos de conexão a cada MFN, de modo que, se muitas das filiais corporativas já estiverem conectadas a uma determinada nuvem, novos nós de computação teriam um incentivo para conectar-se à mesma nuvem, minimizando assim custos entre nuvens em termos de processamento, latência e dólares.
[00108] Outras modalidades usam outras técnicas de resolução de DNS. Por exemplo, sempre que um nó de computação corporativo (por exemplo, uma filial, centro de dados, usuário móvel etc.) precisa executar uma resolução DNS, o nó de computação corporativo (por exemplo, o dispositivo móvel ou um resolvedor de DNS local em uma filial escritório ou centro de dados) se comunica com um provedor de serviços DNS que serve como um resolvedor DNS autorizado para várias entidades. Em algumas modalidades, esse provedor de serviços DNS possui máquinas de resolução de DNS localizadas em um ou mais centros de dados privados, enquanto em outras modalidades faz parte de um ou mais centros de dados em nuvem pública.
[00109] Para identificar quais dos N nós de encaminhamento gerenciado que se conectam diretamente à Internet devem ser usados para acessar um servidor provedor de SaaS, a rede virtual (por exemplo, o MFN de entrada ou o cluster de controlador que configura os MFNs) em algumas modalidades identifica um conjunto de um ou mais MFNs de borda candidatos dos N nós de encaminhamento gerenciado. Conforme descrito abaixo, cada MFN de borda candidato em algumas modalidades é um MFN de borda considerado ideal com base em um conjunto de critérios, como distância ao servidor do provedor SaaS, velocidade da conexão de rede, velocidade da conexão de rede, custo, atraso e/ou perda, rede custo de computação etc.
[00110] Para auxiliar na identificação dos pontos de extremidade ideais, o cluster de controladores de algumas modalidades mantém para uma entidade uma lista dos provedores SaaS mais populares e destinos da Web do consumidor e suas sub-redes de endereços IP. Para cada um desses destinos, o cluster de controlador atribui um ou mais dos MFNs ideais (novamente julgados pela distância física, velocidade da conexão de rede, custo, perda e/ou atraso, custo computacional etc.) como nós candidatos de saída. Para cada MFN de saída candidato, o cluster de controlador calcula a melhor rota de cada MFN de entrada possível para o MFN candidato e configura a tabela de próximo salto resultante nos MFNs adequadamente, de modo que o provedor de Internet SaaS ou o destino da Web esteja associado ao nó de próximo salto da rede virtual correta.
[00111] Como o destino do serviço geralmente pode ser alcançado através de várias sub-redes |P em vários locais (conforme fornecido pelo servidor DNS autoritário), existem vários nós de saída em potencial para minimizar a latência e fornecer balanceamento de carga. Por conseguinte, em algumas modalidades, o cluster de controlador calcula a melhor localização e nó de saída para cada MFN e atualiza o próximo salto de acordo.
Além disso, o melhor nó de saída para acessar um provedor de SaaS (por exemplo, office365.com) pode ser por meio de um provedor de nuvem pública (por exemplo, Microsoft Azure), mas o melhor MFN de entrada a partir de uma distância ou velocidade de conexão pode estar em outro provedor de nuvem pública (por exemplo, AWS). Nessas situações, pode não ser o ideal em termos de latência, processamento e custo para atravessar para outra nuvem (ou seja, para a nuvem pública com o melhor MFN de saída) antes de sair da rede virtual. O fornecimento de vários nós de borda candidatos permitiria a seleção de um MFN de borda ideal e um caminho ideal para o MFN de borda selecionado nessas situações.
[00112] Para identificar o caminho ideal através da rede virtual para um MFN de saída que se conecta à Internet ou a um nó de computação corporativo da entidade corporativa, o cluster de controlador identifica os caminhos de roteamento ideais entre os MFNs. Como mencionado acima, o cluster de controlador em algumas modalidades identifica o melhor caminho entre quaisquer dois MFNs, custando primeiro cada enlace entre um par de MFNs diretamente conectados, por exemplo, com base em uma pontuação métrica que reflete a soma ponderada da latência estimada e dos custos financeiros. Os custos financeiros e de latência incluem em algumas modalidades (1) medições de atraso de enlace, (2) latência estimada de processamento de mensagens, (3) cobranças na nuvem pelo tráfego de saída de um determinado centro de dados para outro centro de dados do mesmo provedor de nuvem pública ou para sair a nuvem do provedor de nuvem pública (PC) (por exemplo, para outro centro de dados de nuvem pública de outro provedor de nuvem pública ou para a Internet) e (4) custos estimados de processamento de mensagens associados aos MFNs em execução nos computadores hospedeiros nas nuvens públicas.
[00113] Usando os custos calculados desses enlaces em pares, o cluster de controlador pode calcular o custo de cada caminho de roteamento que usa um ou mais desses enlaces em pares, agregando os custos dos enlaces em pares individuais usados pelo caminho de roteamento. Como descrito acima, o cluster de controlador define seu gráfico de roteamento com base nos custos calculados dos caminhos de roteamento e gera as tabelas de encaminhamento dos roteadores de nuvem dos MFNs com base nos gráficos de roteamento definidos. Além disso, como mencionado acima, o cluster de controlador executa repetidamente essas operações de atualização e distribuição da tabela de custos, criação de gráficos e encaminhamento periodicamente (por exemplo, uma vez a cada 12 horas, 24 horas etc.) ou quando recebe atualizações de medição dos agentes de medição dos MFNs.
[00114] Sempre que a tabela de encaminhamento em um CFE de MFN C; aponta para um CFE de MFN de próximo salto C;, o CFE C; considera C; como vizinho. Em algumas modalidades, o CFE C; estabelece um túnel VPN seguro e mantido ativamente para o CFE C;. Um túnel seguro em algumas modalidades é um túnel que requer que as cargas úteis das mensagens de dados encapsuladas sejam criptografadas. Além disso, em algumas modalidades, um túnel é mantido ativamente por um ou ambos os pontos finais do túnel que enviam sinais de manter vivo para o outro ponto final.
[00115] Em outras modalidades, os CFEs não estabelecem túneis VPN seguros e mantidos ativamente. Por exemplo, em algumas modalidades, os túneis entre os CFEs são túneis estáticos que não são monitorados ativamente através da transmissão de sinais manter vivo. Além disso, em algumas modalidades, esses túneis entre os CFEs não criptografam suas cargas úteis. Em algumas modalidades, os túneis entre pares de CFEs incluem dois cabeçalhos de encapsulamento, com o cabeçalho interno identificando a ID de locatário e os CFEs de entrada e saída de uma mensagem de dados entrando e saindo da rede virtual (ou seja, entrando e saindo da nuvem pública) e o cabeçalho de encapsulamento externo especificando os endereços de rede de origem e destino (por exemplo, endereços IP) para atravessar zero ou mais CFEs do CFE de entrada até o CFE de saída.
[00116] Além dos túneis internos, em algumas modalidades, a rede virtual conecta nós de computação corporativos aos seus MFNs de borda usando túneis VPN, conforme mencionado acima. Portanto, nas modalidades em que túneis seguros são usados para conectar os CFEs, as mensagens de dados trafegam pela rede virtual usando um caminho VPN totalmente seguro.
[00117] Como as mensagens de dados da rede virtual são encaminhadas usando o encapsulamento dentro da rede virtual, a rede virtual em algumas modalidades usa seus próprios endereços de rede exclusivos que são diferentes dos endereços particulares usados pelas diferentes redes privadas do locatário. Em outras modalidades, a rede virtual usa os espaços de endereço de rede pública e privada das nuvens públicas sobre as quais está definida. Em ainda outras modalidades, a rede virtual usa alguns de seus próprios endereços de rede exclusivos para alguns de seus componentes (por exemplo, alguns de seus MFNs, CFEs e/ou serviços), enquanto usa os espaços de endereço de rede pública e privada das nuvens públicas para outros componentes.
[00118] Além disso, em algumas modalidades, a rede virtual usa uma plataforma de comunicação limpa com seus próprios protocolos proprietários. Nas modalidades em que as mensagens de dados são encaminhadas inteiramente por meio de roteadores MFN de software (por exemplo, por CFEs de software), a rede virtual pode fornecer um controle de taxa otimizado para conexões de ponta a ponta de longo curso. Isso é realizado em algumas modalidades, operando um mecanismo proxy de otimização de TCP 220 em cada MFN 150. Em outras modalidades que não quebram o próprio TCP (por exemplo, com HTTPS), isso é realizado pelo mecanismo de proxy 220 segmentando o controle de taxa usando o armazenamento temporário intermediário por fluxo em conjunto com a janela do receptor TCP e a manipulação de ACK.
[00119] Devido à sua natureza limpa, a rede virtual em algumas modalidades otimiza muitos de seus componentes para fornecer um serviço ainda melhor. Por exemplo, em algumas modalidades, a rede virtual usa roteamento de caminhos múltiplos para oferecer suporte a configurações de VPN de largura de banda garantida premium que são roteadas pela rede virtual. Em algumas modalidades, essas VPNs incluem dados de estado em cada MFN semelhante ao roteamento ATM/MPLS, e seu estabelecimento e remoção são controlados centralmente. Algumas modalidades identificam a largura de banda disponível por enlace de saída, medindo-a diretamente (por meio de par de pacotes ou um processo semelhante) ou por ter uma determinada capacidade para o enlace e reduzindo a partir dessa capacidade o tráfego que já é enviado através desse enlace.
[00120] Algumas modalidades usam a largura de banda residual de um enlace como uma restrição. Por exemplo, quando um enlace não tem pelo menos 2 Mbps de largura de banda disponível, o cluster de controlador de algumas modalidades remove o enlace do conjunto de enlaces que são usados para calcular o caminho de menor custo (por exemplo, o caminho mais curto) para qualquer destino (por exemplo, remove o enlace do gráfico de roteamento, como o gráfico 400). Se uma rota de ponta a ponta ainda estiver disponível após a remoção deste enlace, novas VPNs serão roteadas por essa nova rota. A remoção da VPN pode trazer de volta a capacidade disponível para um determinado enlace, o que, por sua vez, pode permitir que esse enlace seja incluído no cálculo do caminho de menor custo (por exemplo, caminho mais curto). Algumas modalidades usam outras opções para roteamento de caminhos múltiplos, como balanceamento de carga de tráfego em vários caminhos, por exemplo, usando MPTCP (TCP de caminhos múltiplos).
[00121] Algumas modalidades fornecem um serviço melhor para clientes premium, explorando o paralelismo de caminho e os enlaces de nuvem baratos para duplicar o tráfego dos MFNs de entrada para o MFN de saída, por meio de dois caminhos separados (por exemplo, caminhos maximamente separados) na rede virtual. Sob essa abordagem, a primeira mensagem que chega é aceita e a mais tardia descartada. Essa abordagem aumenta a confiabilidade da rede virtual e reduz o atraso, com o custo de aumentar a complexidade do processamento de saída. Em algumas dessas modalidades, as técnicas de correção direta de erros (FEC) são usadas para aumentar a confiabilidade e reduzir o tráfego de duplicação. Devido à sua natureza limpa, a rede virtual de algumas modalidades realiza outras otimizações da camada superior, como otimizações da camada de aplicação (por exemplo, operações de deduplicação e armazenamento em cache) e otimizações de segurança (por exemplo, adição de criptografia, DPI (inspeção profunda de pacotes) e firewall).
[00122] A rede virtual de algumas modalidades é responsável pela colaboração com os provedores de nuvem, para melhorar ainda mais a configuração da rede virtual usando o sistema de mensagens anycast. Por exemplo, em algumas modalidades quando todos os MFNs obtêm o mesmo endereço IP externo, é mais fácil conectar qualquer novo nó de computação corporativo a um nó de borda ideal (por exemplo, o nó de borda mais próximo) usando uma conexão anycast. Da mesma forma, qualquer provedor de SaaS pode obter esse endereço |P e conectar-se ao MFN ideal (por exemplo, o MFN mais próximo).
[00123] Como mencionado acima, diferentes modalidades usam diferentes tipos de conexões VPN para conectar nós de computação corporativos (por exemplo, filiais e dispositivos móveis) aos MFNs que estabelecem a rede virtual de uma entidade corporativa. Algumas modalidades usam IPsec para configurar essas conexões VPN. A Figura 6 ilustra o formato de mensagem de dados |Psec de algumas modalidades. Especificamente, esta figura ilustra um formato original de uma mensagem de dados 605 gerada por uma máquina no nó de computação corporativo e uma mensagem de dados encapsulada em IPsec 610 após a mensagem de dados 605 ter sido encapsulada (por exemplo, no nó de computação corporativo ou no
MFN) para transmissão através de um túnel IPsec (por exemplo, para o MFN ou para o nó de computação corporativo).
[00124] Neste exemplo, o túnel IPsec é configurado com o ESP Modo Túnel, porta 50. Como mostrado, este modo é configurado neste exemplo, substituindo o identificador de protocolo TCP no cabeçalho de IP por um identificador de protocolo ESP. O cabeçalho ESP identifica o início da mensagem 615 (isto é, o cabeçalho 620 e a carga útil 625). A mensagem 615 deve ser autenticada pelo destinatário da mensagem de dados encapsulados em IPsec (por exemplo, pela porta de comunicação IPsec do MFN). O início da carga útil 625 é identificado pelo valor do próximo campo 622 da mensagem 615. Além disso, a carga útil 625 é criptografada. Esta carga útil inclui o cabeçalho de IP, o cabeçalho TCP e a carga útil da mensagem de dados original 605, bem como um campo de preenchimento 630, que inclui o próximo campo 622.
[00125] Em algumas modalidades, cada porta de comunicação MFN IPsec pode lidar com múltiplas conexões para os mesmos ou diferentes locatários de rede virtual (por exemplo, para a mesma empresa ou para diferentes empresas). Por conseguinte, uma porta de comunicação IPsec MFN (por exemplo, porta de comunicação 230) em algumas modalidades identifica cada conexão IPsec em termos de um ID de encapsulamento, um ID de locatário (TID) e uma sub-rede corporativa do nó de computação. Em algumas modalidades, nós corporativos diferentes (por exemplo, filiais diferentes) de um locatário não possuem sub-redes IP superpostas (conforme RFC 1579). A porta de comunicação IPsec em algumas modalidades tem uma tabela que mapeia cada ID do túnel IPsec (que está contido no cabeçalho de túnel IPsec) para uma ID de locatário. Para um determinado locatário com o qual uma porta de comunicação |Psec está configurada para lidar, a porta de comunicação IPsec também tem um mapeamento de todas as sub-redes desse locatário que se conectam à rede virtual estabelecida pelos MFNs e seus elementos de encaminhamento de nuvem.
[00126] Quando um primeiro MFN de entrada em um primeiro centro de dados de nuvem pública recebe por meio de um túnel IPsec uma mensagem de dados associada a um ID de locatário e destinada a um destino (por exemplo, uma sub-rede de filial ou centro de dados ou um provedor SaaS) que se conecta a um segundo MFN de saída em um segundo centro de dados de nuvem pública, a porta de comunicação IPsec do primeiro MFN remove o cabeçalho de túnel IPsec. Em algumas modalidades, o CFE do primeiro MFN encapsula a mensagem com dois cabeçalhos de encapsulamento que permitem que a mensagem atravesse um caminho do primeiro MFN de entrada para o segundo MFN de saída, diretamente ou através de um ou mais MFNs intermediários. O CFE do primeiro MFN identifica esse caminho usando sua tabela de roteamento configurada pelo controlador.
[00127] Como mencionado acima, os dois cabeçalhos de encapsulamento em algumas modalidades incluem (1) um cabeçalho externo que especifica o CFE de MFN de próximo salto para permitir que a mensagem de dados encapsulada atravesse os MFNs da rede virtual para alcançar o CFE de MFN de saída e (2) um cabeçalho interno que especifica a ID de locatário e os CFEs do MFN de entrada e saída que identificam os MFNs da mensagem de dados que entra e sai da rede virtual.
[00128] Especificamente, em algumas modalidades, o cabeçalho de encapsulamento interno inclui um cabeçalho de IP válido com o endereço |P de destino do segundo CFE de MFN de saída e o endereço |P de origem do primeiro CFE de MFN de entrada. Essa abordagem permite que o software roteador IP padrão seja usado em todos os CFE dos MFNs. O encapsulamento inclui ainda a ID de locatário (por exemplo, uma CID de cliente). Quando uma mensagem chega ao CFE do segundo MFN de saída, ela é decapsulada e enviada pelo segundo MFN para seu destino (por exemplo, enviada pela porta de comunicação IPsec do segundo MFN para o destino por meio de outro túnel IPsec associado à ID de locatário e à sub-rede de destino da mensagem).
[00129] Certos provedores de nuvem proíbem as máquinas de "falsificar" o IP de origem e/ou impõem outras restrições ao tráfego TCP e UDP. Para lidar com essas restrições possíveis, algumas modalidades usam o cabeçalho externo para conectar pares vizinhos de MFNs que são usados por uma ou mais rotas. Este cabeçalho em algumas modalidades é um cabeçalho UDP que especifica os endereços IP de origem e destino e os parâmetros do protocolo UDP. Em algumas modalidades, o CFE de MFN de entrada especifica seu endereço IP como o endereço |P de origem do cabeçalho externo, enquanto especifica o endereço |P de próximo salto do CFE de MFN como o endereço |P de destino do cabeçalho externo.
[00130] Quando o caminho para o CFE de MFN de saída inclui um ou mais CFEs de MFN intermediários, um CFE intermediário substitui o endereço IP de origem no cabeçalho externo da mensagem encapsulada em duplo que ele recebe com o seu endereço IP. Ele também usa o endereço |P de destino no cabeçalho interno para executar uma pesquisa de rota em sua tabela de roteamento para identificar o endereço IP de destino do CFE de MFN de próximo salto que está no caminho para o endereço |P de destino do cabeçalho interno. O CFE intermediário substitui o endereço IP de destino no cabeçalho externo pelo endereço IP identificado pela pesquisa da tabela de rotas.
[00131] Quando a mensagem de dados encapsulada dupla atinge o CFE de MFN de saída, o CFE determina que é o nó de saída da mensagem de dados quando recupera o endereço IP de destino no cabeçalho interno e determina que esse endereço |P de destino pertence a ele. Esse CFE remove os dois cabeçalhos de encapsulamento da mensagem de dados e os envia ao destino (por exemplo, através da porta de comunicação IPsec do MFN para o destino por outro túnel IPsec associado à ID de locatário e ao endereço IP ou sub-rede de destino no cabeçalho original de mensagem de dados).
[00132] A Figura 7 ilustra um exemplo dos dois cabeçalhos de encapsulamento de algumas modalidades, enquanto a Figura 8 apresenta um exemplo que ilustra como esses dois cabeçalhos são usados em algumas modalidades. Na discussão abaixo, o cabeçalho interno é chamado de cabeçalho de locatário, pois inclui a ID de locatário, juntamente com a identidade dos nós de entrada/saída da rede virtual conectados aos nós finais de computação corporativos do locatário. O cabeçalho externo é referido abaixo como o cabeçalho de túnel de salto de VN, porque é usado para identificar o próximo salto pela rede virtual, à medida que a mensagem de dados percorre um caminho pela rede virtual entre os CFEs de MFN de entrada e saída.
[00133] A Figura 7 mostra um cabeçalho de túnel de salto de VN 705 e um cabeçalho de túnel de locatário 720 encapsulando uma mensagem de dados original 750 com um cabeçalho original 755 e uma carga útil 760. Como mostrado, o cabeçalho de túnel de salto de VN 705 em algumas modalidades inclui um cabeçalho UDP 710 e um cabeçalho de IP 715. O cabeçalho UDP, em algumas modalidades, é definido de acordo com um protocolo UDP. Em algumas modalidades, o túnel de salto de VN é um túnel UDP padrão, enquanto em outras modalidades, esse túnel é um túnel UDP proprietário. Ainda em outras modalidades, esse túnel é um túnel TCP padrão ou proprietário. O cabeçalho de túnel 705 em algumas modalidades é um criptografado que criptografa sua carga útil, enquanto em outras modalidades é um túnel não criptografado.
[00134] Como descrito a seguir, o cabeçalho de túnel 705, em algumas modalidades, é usado para definir uma rede VNP de sobreposição e é usado por cada CFE de MFN para alcançar o CFE de MFN de próximo salto sobre as redes de nuvem pública subjacentes. Como tal, o cabeçalho de IP 715 do cabeçalho de túnel 705 identifica os endereços |P de origem e destino do primeiro e do segundo CFEs do primeiro e do segundo MFNs vizinhos conectados pelo túnel do VNP. Em alguns casos (por exemplo, quando o MFN de destino de próximo salto está em uma nuvem pública diferente de um fornecedor de nuvem pública diferente do MFN de origem), os endereços |P de origem e de destino são endereços IP públicos usados pelos centros de dados de nuvem pública que incluem MFNs. Em outros casos, quando os CFEs de MFN de origem e destino pertencem à mesma nuvem pública, os endereços |P de origem e destino podem ser endereços IP privados usados apenas na nuvem pública. Como alternativa, nesses casos, os endereços IP de origem e destino ainda podem ser endereços IP públicos do fornecedor da nuvem pública.
[00135] Como mostrado na Figura 7, o cabeçalho de túnel do locatário 720 inclui um cabeçalho de |P 725, um campo de ID de locatário 730 e um rótulo de circuito virtual (VCL) 735. O cabeçalho de túnel de locatário 720 é usado por cada CFE de salto após o CFE de salto de entrada para identificar o salto seguinte para encaminhar a mensagem de dados ao CFE de saída do MFN de saída. Como tal, o cabeçalho de IP 725 inclui um endereço IP de origem que é o endereço IP do CFE de entrada e um endereço |P de destino que é o endereço IP do CFE de saída. Como nos endereços IP de origem e de destino do cabeçalho de salto de VN 705, os endereços |P de origem e de destino do cabeçalho de locatário 720 podem ser endereços |P privados de um provedor de nuvem pública (quando a mensagem de dados percorre uma rota que apenas passa o centro de dados de um provedor de nuvem pública) ou endereços |P públicos de um ou mais provedores de nuvem pública (por exemplo, quando a mensagem de dados percorre uma rota que passa por centros de dados de dois ou mais provedores de nuvem pública).
[00136] O cabeçalho de IP do cabeçalho de locatário 720 pode ser roteado usando qualquer roteador de software padrão e tabela de roteamento IP em algumas modalidades. O campo 730 de ID de locatário contém a ID de locatário, que é um identificador de locatário exclusivo que pode ser usado nos MFNs de entrada e saída para identificar exclusivamente um locatário. O provedor de rede virtual em algumas modalidades define diferentes IDs de locatário para diferentes entidades corporativas que são locatárias do provedor. O campo VCL 735 é um campo de roteamento opcional que algumas modalidades usam para fornecer uma maneira alternativa (maneira não baseada em IP) para encaminhar mensagens através da rede. Em algumas modalidades,
o cabeçalho de túnel de locatário 720 é um cabeçalho GUE (Generic UDP Encapsulation, encapsulação UDP genérica).
[00137] A Figura 8 apresenta um exemplo que ilustra como esses dois cabeçalhos de túnel 705 e 710 são usados em algumas modalidades. Neste exemplo, mensagens de dados 800 são enviadas de uma primeira máquina 802 (por exemplo, primeira VM) em uma primeira filial 805 de uma companhia para uma segunda máquina 804 (por exemplo, uma segunda VM) em uma segunda filial 810 da companhia. As duas máquinas estão em duas sub-redes diferentes, 10.1.0.0 e 10.2.0.0, com a primeira máquina tendo um endereço IP 10.1.0.17 e a segunda máquina com um endereço IP 10.2.0.22. Neste exemplo, a primeira filial 805 se conecta a um MFN 850 de entrada em um primeiro centro de dados em nuvem pública 830, enquanto a segunda filial 810 se conecta a um MFN 855 de saída em um segundo centro de dados em nuvem pública 838. Além disso, neste exemplo, os MFNs de entrada e saída 850 e 855 do primeiro e segundo centros de dados em nuvem pública são indiretamente conectados por meio de um MFN intermediário 857 de um terceiro centro de dados em nuvem pública 836.
[00138] Como mostrado, a mensagem de dados 800 da máquina 802 é enviada para o MFN 850 de entrada ao longo de um túnel IPsec 870 que conecta a primeira filial 805 ao MFN 850 de entrada. Esse túnel IPsec 870 é estabelecido entre uma porta de comunicação |Psec 848 da primeira filial e uma porta de comunicação |Psec 852 do MFN 850 de entrada. Esse túnel é estabelecido encapsulando a mensagem de dados 800 com um cabeçalho de túnel IPsec 806.
[00139] A porta de comunicação IPsec 852 do MFN 850 decapsula a mensagem de dados (ou seja, remove o cabeçalho de túnel IPsec 806) e passa a mensagem decapsulada para o CFE 832 deste MFN diretamente ou através de uma ou mais máquinas de serviço de caixa intermediária (por exemplo, através de uma máquina de firewall, tal como a máquina 210 da Figura 2). Ao passar esta mensagem, a porta de comunicação
IPsec ou algum outro módulo do MFN 850 em algumas modalidades associa a mensagem à ID do túnel do túnel IPsec e a um ID de locatário da companhia. Esse ID de locatário identifica a companhia nos registros do provedor de rede virtual.
[00140] Com base na ID de locatário associada e/ou na ID de túnel IPsec, o CFE 832 do MFN 850 identifica uma rota para a mensagem para a sub-rede da máquina de destino (ou seja, para a segunda filial 810) através da rede virtual estabelecida pelos MFNs nos diferentes centros de dados de nuvem pública. Por exemplo, o CFE 832 usa a ID de locatário e/ou a ID de túnel IPsec para identificar a tabela de roteamento da companhia. Nesta tabela de roteamento, o CFE 832 usa o endereço |P de destino 10.2.0.22 da mensagem recebida para identificar um registro que identifica o CFE 853 da saída MFN 855 do centro de dados de nuvem pública 838 como o nó de encaminhamento de saída de destino para a mensagem de dados 800. Em algumas modalidades, o registro identificado mapeia toda a sub-rede 10.2.0.0/16 da segunda filial 810 para o CFE 853 do MFN 855.
[00141] Após identificar o CFE 853 de saída, o CFE 832 do MFN 850 de entrada encapsula a mensagem de dados recebida com um cabeçalho de encapsulamento 860 que, em seu cabeçalho de IP 725, inclui o IP de origem do CFE 832 de entrada e o IP de destino do CFE 853 de saída. Em algumas modalidades, esses endereços IP são definidos no espaço público do endereço IP. O cabeçalho de túnel 860 também inclui a ID de locatário que foi associada à mensagem de dados na entrada MFN 850. Como mencionado acima, este cabeçalho de túnel também inclui o valor do cabeçalho VCL em algumas modalidades.
[00142] Em algumas modalidades, o CFE 832 de entrada também identifica o MFN de próximo salto que está no caminho de roteamento de CFE desejado para o CFE 853 de saída. Em algumas modalidades, o CFE 832 de entrada identifica esse CFE de próximo salto em sua tabela de roteamento usando o endereço |P de destino do CFE 853 de saída.
O próximo salto do CFE de MFN neste exemplo é o CFE 856 do terceiro MFN 857 de um terceiro centro de dados de nuvem pública 836.
[00143] Depois de identificar o CFE de MFN de próximo salto, o CFE de MFN de entrada encapsula a mensagem de dados encapsulada 800 com um segundo cabeçalho de túnel de salto de VN 862. Esse cabeçalho de túnel permite que a mensagem seja roteada para o CFE de próximo salto 856. No cabeçalho de IP 715 desse cabeçalho externo 862, o CFE de MFN 832 de entrada especifica os endereços |P de origem e de destino como o IP de origem do CFE 832 de entrada e o |P de destino do CFE 856 intermediário. Ele também especifica seu protocolo de camada 4 como sendo UDP em algumas modalidades.
[00144] Quando o CFE 856 do terceiro MFN 857 recebe a mensagem de dados com encapsulamento duplo, ele remove o segundo cabeçalho de túnel de salto de VN 862 e as extrações do cabeçalho de locatário 860, o endereço |P de destino do CFE 853 do MFN de saída 855. Como esse endereço |P não está associado ao CFE 856, a mensagem de dados ainda precisa ser encaminhada para outro MFN para chegar ao seu destino. Assim, o CFE 856 usa o endereço |P de destino extraído para identificar um registro em sua tabela de roteamento que identifica o CFE de MFN 853 de próximo salto. Em seguida, o mesmo muda e reencapsula a mensagem de dados com o cabeçalho externo 705 e especifica os endereços |P de origem e destino em seu cabeçalho de IP 715 como seu próprio endereço |P e o endereço |P de destino do CFE de MFN 853. Em seguida, o CFE 856 encaminha a mensagem de dados encapsulada dupla 800 para o CFE 853 de saída através da malha de roteamento intermediária dos centros de dados de nuvem pública 836 e 838.
[00145] Depois de receber a mensagem de dados encapsulada, o CFE 853 de saída determina que a mensagem encapsulada é direcionada ao mesmo quando recupera o endereço |P de destino no cabeçalho interno 860 e determina que esse endereço |P de destino lhe pertence. O CFE de saída 853 remove os cabeçalhos de encapsulamento 860 e 862 da mensagem de dados 800 e extrai o endereço |P de destino no cabeçalho original da mensagem de dados. Esse endereço |P de destino identifica o endereço IP da segunda máquina 804 na sub-rede da segunda filial.
[00146] Usando a ID de locatário no cabeçalho de túnel de locatário removido 860, o CFE 853 de saída identifica a tabela de roteamento correta a ser pesquisada e, em seguida, pesquisa essa tabela de roteamento com base no endereço |P de destino extraído do valor do cabeçalho original da mensagem de dados recebida. Nesta pesquisa, o CFE 853 de saída identifica um registro que identifica a conexão l|Psec a ser usada para encaminhar a mensagem de dados ao seu destino. Em seguida, o mesmo fornece a mensagem de dados junto com o identificador de conexão IPsec à porta de comunicação IPsec 858 do segundo MFN, que encapsula essa mensagem com um cabeçalho de encapsulamento IPsec 859 e o encaminha para uma porta de comunicação IPsec 854 da segunda filial 810. A porta de comunicação 854 remove o cabeçalho de túnel IPsec e encaminha a mensagem de dados para sua máquina de destino 804.
[00147] Mais vários exemplos de processamento de mensagem serão agora descritos por referência às Figuras 9 a 15. Nestes exemplos, supõe-se que cada interface IPsec de locatário esteja no mesmo endereço |P público local, assim como os túneis VNP. Como tal, as interfaces em algumas modalidades são anexadas a um único espaço de nome VRF (roteamento e encaminhamento virtual). Esse espaço de nome VRF é referido abaixo como espaço de nome VNP.
[00148] As Figuras 9 a 11 ilustram os processos de manipulação de mensagens 900 a 1100 que são executados respectivamente pelos MFNs de entrada, intermediário e de saída quando recebem uma mensagem que é enviada entre dois dispositivos de computação em dois locais de máquina externos diferentes (por exemplo, filiais, centros de dados, etc.) de um locatário. Em algumas modalidades, o cluster de controlador 160 configura o CFE de cada MFN para operar como um CFE de entrada, intermediário e de saída, quando cada um desses CFE é um candidato para servir como um CFE de entrada, intermediário e de saída para diferentes fluxos de mensagens de dados de um locatário.
[00149] Os processos 900 a 1100 serão explicados abaixo por referência a dois exemplos nas Figuras 8 e 12. Como mencionado acima, a Figura 8 ilustra um exemplo quando a mensagem de dados passa por um MFN intermediário para chegar ao MFN de saída. A Figura 12 ilustra um exemplo que não envolve um MFN intermediário entre os MFNs de entrada e saída. Especificamente, isso ilustra uma mensagem de dados 1200 sendo enviada a partir de um primeiro dispositivo 1202 em uma primeira filial 1205 para um segundo dispositivo 1210 em uma segunda filial 1220 quando a segunda filial se conecta a dois centros de dados públicos 1230 e 1238 com dois MFNs 1250 e 1255 que são diretamente conectados. Como mostrado, os CFEs 1232 e 1253 dos MFNs nesses exemplos executam as operações de roteamento associadas a cada MFN.
[00150] O CFE de entrada (por exemplo, CFE de entrada 832 ou 1232) dos MFNs de entrada 850 e 1250 executa o processo 900 em algumas modalidades. Como mostrado na Figura 9, o processo de entrada 900 começa identificando inicialmente (em 905) o contexto de roteamento de locatário com base no identificador do túnel IPsec (por exemplo, 806 ou 1206) na mensagem de dados recebida. Em algumas modalidades, as portas de comunicação IPsec ou outros módulos MFN armazenam os IDs de locatário para os IDs do túnel IPsec nas tabelas de mapeamento. Sempre que uma mensagem de dados é recebida ao longo de um túnel IPsec específico, a porta de comunicação l|Psec extrai a ID do túnel IPsec, que essa porta de comunicação ou outro módulo MFN usa para identificar a ID de locatário associada por referência à sua tabela de mapeamento. Ao identificar a ID de locatário, o processo identifica a tabela de roteamento de locatário ou a porção de locatário do espaço de nome VRF a ser usada.
[00151] No 910, o processo incrementa o contador RX (recebimento) do túnel IPsec identificado para contabilizar o recebimento dessa mensagem de dados. Em seguida, em 915, o processo executa uma pesquisa de rota (por exemplo, uma correspondência de prefixo mais longa, LPM, pesquisa) no contexto de roteamento de locatário identificado (por exemplo, na porção de locatário do espaço de nome VRF) para identificar o endereço |P da interface de saída para sair da rede virtual do locatário construída sobre os centros de dados de nuvem pública. Para os exemplos de filial para filial, a interface de saída é o endereço IP de um CFE de saída (por exemplo, CFE 853 ou 1253) de um MFN conectado à ramificação de destino.
[00152] Em 920, o processo adiciona um cabeçalho de túnel de locatário (por exemplo, cabeçalho 860 ou 1260) à mensagem de dados recebida e incorpora o endereço |P de origem do CFE de entrada (por exemplo, CFE de entrada 832 ou 1252) e o endereço |P de destino do CFE de saída (por exemplo, CFE de saída 853 ou 1253) como os endereços IP de origem e destino neste cabeçalho de túnel. No cabeçalho de locatário, o processo também armazena a ID de locatário (identificado em 905) no cabeçalho de locatário. Em 920, o processo adiciona um cabeçalho de túnel de salto de VN (por exemplo, cabeçalho 862 ou 1262) fora do cabeçalho de locatário e armazena seu endereço |P como o endereço |P de origem nesse cabeçalho. O processo também especifica (em 920) os parâmetros UDP (por exemplo, porta UDP) do cabeçalho de túnel de VNP.
[00153] Em seguida, em 925, o processo incrementa o contador de transmissão VN para o locatário contabilizar a transmissão dessa mensagem de dados. Em 930, o processo executa uma pesquisa de rota (por exemplo, uma pesquisa LPM) no contexto de roteamento VNP identificado (por exemplo, na porção do VNP do espaço de nome VRF) para identificar a interface de próximo salto para essa mensagem de dados. Em algumas modalidades, essa pesquisa de rota é uma pesquisa de LPM (por exemplo, na porção do VNP do espaço de nomes VRF) que é pelo menos parcialmente baseada no |P de destino do CFE de saída.
[00154] Em 935, o processo determina se a interface de saída de próximo salto é uma interface local (por exemplo, uma porta física ou virtual) do CFE de entrada. Nesse caso, o processo define (em 937) o endereço |P de destino no cabeçalho de túnel externo do salto de VN como o endereço |P da interface de saída identificado em 915. Em seguida, em 940, o processo fornece a mensagem de dados encapsulada dupla à sua interface local, para que possa ser encaminhada para o CFE de saída do destino. Depois de 940, o processo 900 termina.
[00155] A Figura 12 ilustra um exemplo da operação 905 a 940 para a mensagem de dados 1200 que o CFE de entrada 1232 recebe do dispositivo 1202 da primeira filial 1205. Como mostrado, o MFN 1250 desse CFE recebe essa mensagem de dados como uma mensagem encapsulada em IPsec em sua porta de comunicação IPsec 1252 da porta de comunicação IPsec 1248 da primeira filial 1205. O CFE 1232 de entrada encapsula a mensagem recebida 1200 (após o cabeçalho de IPsec do mesmo ter sido removido por uma porta de comunicação IPsec 1252) com um cabeçalho de túnel de salto de VN 1262 e um cabeçalho de túnel de locatário 1260 e encaminha essa mensagem encapsulada dupla para o CFE 1253 de saída do MFN 1255 da nuvem pública
1238. Como mostrado, os endereços |P de origem e destino dos cabeçalhos de túnel 1260 e 1262 são idênticos neste exemplo. Dado que esses dois conjuntos de endereços IP são idênticos, algumas modalidades precedem o uso do cabeçalho de IP externo 1262 quando a mensagem de dados não é roteada através de nenhum CFE intermediário, como o CFE 856.
[00156] Quando o processo determina (em 935) que a interface de saída de próximo salto não é uma interface local do CFE de entrada, mas sim o endereço IP de destino de outro roteador, o processo é incorporado (em 945) no cabeçalho de túnel de salto de VN, o endereço IP de destino do
CFE intermediário de próximo salto (por exemplo, CFE intermediário 856) como o endereço |P de destino do cabeçalho de túnel de salto de VN.
[00157] Em seguida, em 950, o processo executa outra pesquisa de rota (por exemplo, uma pesquisa LPM) no contexto de roteamento do VNP identificado (por exemplo, na porção do VNP do espaço de nome VRF). Desta vez, a pesquisa é baseada no endereço IP do CFE intermediário identificado no cabeçalho de túnel de VNP. Como o CFE intermediário (por exemplo, CFE 856) é um CFE de próximo salto na rede virtual para o CFE de entrada (por exemplo, CFE 832), a tabela de roteamento identifica uma interface local (por exemplo, uma porta local) para mensagens de dados enviadas para o CFE intermediário. Assim, essa pesquisa no contexto de roteamento do VNP identifica uma interface local, à qual o CFE de entrada fornece (em 950) a mensagem encapsulada duas vezes. O processo então incrementa (em 955) o contador intermediário de VN para contabilizar a transmissão dessa mensagem de dados. Depois de 955, o processo termina.
[00158] A Figura 10 ilustra um processo 1000 que um CFE (por exemplo, CFE 853 ou 1253) de um MFN de saída executa em algumas modalidades quando recebe uma mensagem de dados que deve ser encaminhada para um nó de computação corporativo (por exemplo, uma filial, centro de dados, local do usuário remoto) conectado ao MFN. Como mostrado, o processo recebe inicialmente (em 1005) a mensagem de dados em uma interface associada à rede virtual. Esta mensagem é encapsulada com o cabeçalho de túnel de salto de VN (por exemplo, cabeçalho 862 ou 1262) e o cabeçalho de túnel de locatário (por exemplo, cabeçalho 860 ou 1260).
[00159] Em 1010, o processo determina que Oo endereço IP de destino no cabeçalho de túnel de salto de VN é o endereço |P de destino do CFE (por exemplo, endereço IP do CFE 853 ou 1253). Em seguida, em 1015, o processo removeu os dois cabeçalhos de túnel. O processo recupera (em 1020) a ID de locatário do cabeçalho de túnel do locatário removido. Para contabilizar a mensagem de dados recebida, o CFE incrementa (em 1025) o contador RX (recebimento) que mantém para o locatário especificado pela ID de locatário extraída.
[00160] Em seguida, em 1030, o processo executa uma pesquisa de rota (por exemplo, uma pesquisa LPM) no contexto de roteamento de locatário identificado (ou seja, no contexto de roteamento do locatário identificado pela ID de locatário extraída em 1020) para identificar a interface de próximo salto para esta mensagem de dados. O processo executa essa pesquisa com base no endereço IP de destino no cabeçalho original (por exemplo, cabeçalho 755) da mensagem de dados recebida em algumas modalidades. A partir do registro identificado por meio dessa pesquisa, o processo 1000 identifica a interface IPsec através da qual a mensagem de dados deve ser enviada ao seu destino. Consequentemente, o processo 1000 envia a mensagem de dados recebida decapsulada para a porta de comunicação IPsec do seu MFN (por exemplo, porta de comunicação 858 ou 1258).
[00161] Esse porta de comunicação encapsula a mensagem de dados com um cabeçalho de encapsulamento IPsec (por exemplo, cabeçalho de encapsulamento 859 ou 1259) e o encaminha para uma porta de comunicação (por exemplo, porta de comunicação 854 ou 1254) no nó de computação corporativo de destino (por exemplo, filial de destino), em que a mesma será decapsulada e encaminhada para o seu destino. Após 1030, o CFE ou seu MFN aumenta (em 1035) o contador que mantém para transmitir mensagens ao longo da conexão IPsec para o nó de computação corporativo de destino (por exemplo, a conexão IPsec entre as portas de comunicação 854 e 858 ou entre as portas de comunicação 1254 e 1258).
[00162] A Figura 11 ilustra um processo 1100 que um CFE (por exemplo, CFE 856) de um MFN intermediário executa em algumas modalidades quando recebe uma mensagem de dados que deve ser encaminhada para outro CFE de outro MFN. Como mostrado, o processo recebe inicialmente (em 1105) a mensagem de dados em uma interface associada à rede virtual. Em algumas modalidades, essa mensagem é encapsulada com dois cabeçalhos de túnel, o cabeçalho de túnel VN (por exemplo, cabeçalho 862) e o cabeçalho de túnel de locatário (por exemplo, cabeçalho 860).
[00163] Em 1110, o processo finaliza o túnel salto de VN, pois determina que o endereço |P de destino neste cabeçalho de túnel é o endereço |P de destino do CFE (por exemplo, é o endereço IP de destino do CFE 856). Em seguida, em 1115, o processo determina se o cabeçalho de túnel do salto de VN especifica a porta UDP correta. Caso contrário, o processo termina. De outro modo, em 1120, o processo remove o cabeçalho de túnel do salto de VN. Para contabilizar a mensagem de dados recebida, o CFE incrementa (em 1125) o contador RX (recebimento) que mantém para quantificar o número de mensagens que recebeu como CFE de salto intermediário.
[00164] Em 1130, o processo executa uma pesquisa de rota (por exemplo, uma pesquisa LPM) no contexto de roteamento VNP identificado (por exemplo, na porção do VNP do espaço de nome VRF) para identificar a interface de próximo salto para essa mensagem de dados. Em algumas modalidades, essa pesquisa de rota é uma pesquisa de LPM (por exemplo, na porção do VNP do espaço de nome VRF) que é pelo menos parcialmente baseada no IP de destino do CFE de saída que é identificado no cabeçalho de túnel de locatário interno.
[00165] O processo então determina (em 1135) se a interface de saída de próximo salto é uma interface local do CFE intermediário. Nesse caso, o processo adiciona (em 1140) o cabeçalho de túnel do salto de VN à mensagem de dados, que já está encapsulada com o cabeçalho de túnel do locatário. O processo define (em 1142) o endereço IP de destino no cabeçalho de túnel do salto de VN para o endereço |P de destino do CFE de saída especificado no cabeçalho de túnel de locatário. Também define (em 1142) o endereço |P de origem no cabeçalho de túnel de salto de VN para o endereço IP de seu CFE. Nesse cabeçalho de túnel, o processo também define os atributos UDP (por exemplo, a porta UDP, etc.).
[00166] Em seguida, em 1144, o processo fornece a mensagem de dados encapsulada dupla em sua interface local (identificada em 1130) para que possa ser encaminhada para o CFE de saída de destino. Um exemplo deste descapsulamento e encaminhamento de túnel de salto VN foi descrito acima por referência às operações do CFE 856 na Figura 8. Para contabilizar a mensagem de dados recebida, o CFE incrementa (em 1146) o contador TX (transmissão) que mantém para quantificar o número de mensagens que ele transmitiu como um CFE de salto intermediário. Depois de 1146, o processo 1100 termina.
[00167] Por outro lado, quando o processo determina (em 1135) que a interface de saída de próximo salto não é uma interface local de seu CFE, mas o endereço |P de destino de outro roteador, o processo adiciona (em 1150) um cabeçalho de túnel de salto de VN à mensagem de dados da qual ele removeu anteriormente um cabeçalho de túnel de salto de VN. No novo cabeçalho de túnel de salto de VN, o processo 1100 incorpora (em 1150) o endereço IP de origem do seu CFE e o endereço IP de destino (identificado em 1130) do CFE intermediário de próximo salto como o endereço |P de origem e destino do cabeçalho de túnel de salto de VN. Esse cabeçalho de túnel VNP também especifica um protocolo UDP de camada 4 com uma porta de destino UDP.
[00168] Em seguida, em 1155, o processo executa outra pesquisa de rota (por exemplo, uma pesquisa LPM) no contexto de roteamento VNP identificado (por exemplo, na porção do VNP do espaço de nome VRF). Desta vez, a pesquisa é baseada no endereço |P do CFE intermediário de próximo salto, identificado no novo cabeçalho de túnel do salto de VN. Como esse CFE intermediário é o próximo salto do CFE intermediário atual na rede virtual, a tabela de roteamento identifica uma interface local para mensagens de dados enviadas ao CFE intermediário de próximo salto. Portanto, essa pesquisa no contexto de roteamento do VNP identifica uma interface local, à qual o CFE intermediário atual fornece a mensagem encapsulada duas vezes.
O processo então incrementa (em 1160) o contador TX (transmissão) intermediário de VN para contabilizar a transmissão dessa mensagem de dados. Depois de 1160, o processo termina.
[00169] A Figura 13 ilustra um processo 1300 de manipulação de mensagens que é executado pelo CFE de MFN de entrada quando recebe uma mensagem para um locatário que é enviada de um dispositivo de computação corporativo do locatário (por exemplo, em uma filial) para outra máquina de locatário (por exemplo, em outra filial, centro de dados de locatário ou centro de dados de um provedor de SaaS). O processo 900 da Figura 9 é um subconjunto deste processo 1300, conforme descrito abaixo. Como mostrado na Figura 13, o processo 1300 começa identificando inicialmente (em 905) o contexto de roteamento de locatário com base no identificador do túnel IPsec de entrada.
[00170] Em 1310, o processo determina se os endereços |P de origem e de destino no cabeçalho da mensagem de dados recebida são endereços IP públicos. Nesse caso, o processo (em 1315) descarta a mensagem de dados e incrementa o contador de descartes que ele mantém para o túnel IPsec da mensagem de dados recebida. Em 1315, o processo descarta o contador porque não deve receber mensagens endereçadas para e de endereços |P públicos quando recebe as mensagens através do túnel IPsec do locatário. Em algumas modalidades, o processo 1300 também envia de volta à máquina de computação corporativa de origem uma mensagem de erro ICMP.
[00171] Por outro lado, quando o processo determina (em 1310) que a mensagem de dados não vem de um endereço |P público e vai para outro endereço IP público, o processo determina (em 1320) se o endereço IP de destino no cabeçalho da mensagem de dados recebida é um endereço |P público. Nesse caso, o processo passa para 1325 para executar o processo 900 da Figura 9, com exceção da operação 905, que foi executada no início do processo 1300. Depois de 1325, o processo 1300 termina. Por outro lado, quando o processo 1300 determina (em 1320) que o endereço |P de destino no cabeçalho da mensagem de dados recebida não é um endereço IP público, o processo incrementa (em 1330) o contador RX (recebimento) do túnel IPsec identificado para contabilizar o recebimento desta mensagem de dados.
[00172] O processo 1300 executa (em 1335) uma pesquisa de rota (por exemplo, uma pesquisa LPM) no contexto de roteamento de locatário identificado (por exemplo, na porção do locatário do espaço de nome VRF). Essa pesquisa identifica o endereço IP da interface de saída para sair da rede virtual do locatário criada sobre os centros de dados de nuvem pública. No exemplo ilustrado na Figura 13, o processo 1300 atinge a operação de pesquisa 1335 quando a mensagem de dados é destinada a uma máquina em um centro de dados de provedor SaaS. Portanto, essa pesquisa identifica o endereço IP do roteador de saída para sair da rede virtual do locatário para acessar a máquina de provedor SaaS. Em algumas modalidades, todas as rotas do provedor SaaS são instaladas em uma tabela de rotas ou em uma porção do espaço de nome VRF, enquanto em outras modalidades as rotas para os diferentes provedores SaaS são armazenadas em tabelas de rotas diferentes ou em diferentes porções de espaço de nome VRF.
[00173] Em 1340, o processo adiciona um cabeçalho de túnel de locatário à mensagem de dados recebida e incorpora o endereço |P de origem do CFE de entrada e o endereço |P de destino do roteador de saída como os endereços |P de origem e destino nesse cabeçalho de túnel. Em seguida, em 1345, o processo incrementa o contador de transmissão VN para o locatário contabilizar a transmissão dessa mensagem de dados. Em 1350, o processo executa uma pesquisa de rota (por exemplo, uma pesquisa LPM) no contexto de roteamento de VNP (por exemplo, na porção de VNP de espaço de nome VRF) para identificar uma de suas interfaces locais como a interface de próximo salto para essa mensagem de dados. Quando o próximo salto é outro CFE (por exemplo, em outro centro de dados de nuvem pública), o processo em algumas modalidades encapsula ainda mais a mensagem de dados com o cabeçalho de salto de VN e incorpora o endereço IP do CFE e o endereço |P do outro CFE como endereços de fonte e destino do cabeçalho de salto de VN. Em 1355, o processo fornece a mensagem de dados encapsulada em sua interface local para que possa ser encaminhada para a rota de saída. Depois de 1355, o processo 1300 termina.
[00174] Em alguns casos, o MFN de entrada pode receber uma mensagem de dados para um locatário que seu CFE pode encaminhar diretamente para a máquina de destino da mensagem de dados sem passar pelo CFE de outro MFN. Em alguns casos, a mensagem de dados não precisa ser encapsulada com um cabeçalho de locatário ou um cabeçalho de salto de VN quando o CFE não precisa retransmitir nenhuma informação específica do locatário para qualquer outro módulo de processamento VN subsequente ou as informações necessárias podem ser fornecidas para o módulo de processamento VN subsequente através de outros mecanismos.
[00175] Por exemplo, para encaminhar diretamente a mensagem de dados de um locatário para um centro de dados de provedor SaaS externo, o mecanismo NAT do MFN de entrada 215 teria que executar uma operação NAT com base no identificador de locatário, conforme descrito abaixo. O CFE de entrada ou outro módulo no MFN de entrada deve fornecer o identificador de locatário ao mecanismo NAT associado do MFN de entrada 215. Quando os mecanismos NAT e CFE de entrada são executados no mesmo computador, algumas modalidades compartilham essas informações entre esses dois módulos, armazenando-as em um local de memória compartilhada. Por outro lado, quando os mecanismos CFE e NAT não são executados no mesmo computador, algumas modalidades usam outros mecanismos (por exemplo, uma comunicação fora da banda) para compartilhar a ID de locatário entre os mecanismos NAT e CEF de entrada. Nesses casos, no entanto, outras modalidades usam um cabeçalho de encapsulamento (isto é, usam uma comunicação em banda) para armazenar e compartilhar a ID de locatário entre os diferentes módulos do MFN de entrada.
[00176] Conforme —* descrito — abaixo, — algumas modalidades executam uma ou duas operações NAT de origem nos endereços IP/porta de origem de uma mensagem de dados antes de enviar a mensagem para fora da rede virtual de um locatário. A Figura 14 ilustra a operação NAT sendo executada no roteador de saída. No entanto, como descrito a seguir, algumas modalidades também executam outra operação NAT na mensagem de dados no roteador de entrada, mesmo que essa operação NAT extra não tenha sido descrita acima por referência à Figura 13.
[00177] A Figura 14 ilustra um processo 1400 que um roteador de saída executa em algumas modalidades quando recebe uma mensagem de dados que deve ser encaminhada para um centro de dados de provedor SaaS pela Internet. Como mostrado, o processo recebe inicialmente (em 1405) a mensagem de dados em uma interface associada à rede virtual. Essa mensagem é encapsulada com o cabeçalho de túnel de locatário.
[00178] Em 1410, o processo determina que o endereço |P de destino neste cabeçalho de túnel é o endereço IP de destino do roteador e, portanto, remove o cabeçalho de túnel de locatário. O processo recupera (em 1415) a ID de locatário do cabeçalho de túnel removido. Para contabilizar a mensagem de dados recebida, o processo incrementa (em 1420) o contador RX (recebimento) que mantém para o locatário especificado pela ID de locatário extraída.
[00179] A seguir, em 1425, o processo determina se o IP de destino no cabeçalho original de mensagem de dados é público e acessível através de uma interface local (por exemplo, porta local) do roteador de saída. Essa interface local é uma interface que não está associada a um túnel VNP. Caso contrário, o processo termina. Caso contrário, o processo executa (às 1430) uma operação NAT de origem para alterar os endereços IP/porta de origem da mensagem de dados no cabeçalho dessa mensagem. A operação NAT e o motivo para realizá-la serão descritos mais abaixo, por referência às Figuras 16 e 17.
[00180] Após 1430, o processo executa (em 1435) uma pesquisa de rota (por exemplo, uma pesquisa LPM) no contexto de roteamento da Internet (isto é, na porção de roteamento da Internet dos dados de roteamento, por exemplo, espaço de nome do VRF da Internet do roteador) para identificar a interface de próximo salto para esta mensagem de dados. O processo executa essa pesquisa com base no endereço de rede de destino (por exemplo, endereço IP de destino) do cabeçalho original da mensagem de dados recebida em algumas modalidades. A partir do registro identificado por meio dessa pesquisa, o processo 1400 identifica a interface local através da qual a mensagem de dados deve ser enviada ao seu destino. Por conseguinte, em 1435, o processo 1400 fornece a mensagem de dados traduzida de endereço de rede de origem à sua interface local identificada para encaminhar para o seu destino. Após 1435, o processo aumenta (em 1440) o contador que mantém para transmitir mensagens para o provedor SaaS e termina.
[00181] A Figura 15 ilusta um processo de manipulação de mensagens 1500 que é executado pelo roteador de entrada que recebe uma mensagem que é enviada de uma máquina de provedor SaaS para uma máquina de locatário. Como mostrado, o processo de entrada 1500 inicia recebendo inicialmente (em 1505) uma mensagem de dados em uma interface de entrada dedicada com um endereço IP público que é usado para várias ou todas as comunicações do provedor SaaS. Em algumas modalidades, essa interface de entrada é uma interface diferente com um endereço |IP diferente daquele usado para se comunicar com a rede virtual.
[00182] Depois de receber a mensagem, o processo executa (em 1510) uma pesquisa de rota em um contexto público de roteamento da Internet usando o endereço |P de destino contido no cabeçalho da mensagem de dados recebida. Com base nessa pesquisa, o processo determina (em 1515) se o endereço |P de destino é local e associado a uma operação NAT ativada. Caso contrário, o processo termina. Caso contrário, o processo incrementa (em
1520) o contador de Internet RX (recebimento) para contabilizar o recebimento da mensagem de dados.
[00183] Em seguida, em 1525, o processo executa uma operação NAT reversa que converte os endereços IP/porta de destino da mensagem de dados em novos endereços IP/porta de destino que a rede virtual associa a um locatário específico. Essa operação NAT também produz a ID de locatário (por exemplo, recupera a ID de locatário de uma tabela de mapeamento que associa as IDs de locatário às IPs de destino traduzidas ou recupera a ID de locatário da mesma tabela de mapeamento usada para obter os novos endereços IP/porta de destino). Em algumas modalidades, o processo 1500 usa um registro de conexão que o processo 1400 criou quando executou (em 1430) sua operação SNAT para executar (em 1525) sua operação NAT reversa. Esse registro de conexão contém o mapeamento entre os endereços IP/porta internos e externos usados pelas operações SNAT e DNAT.
[00184] Com base no endereço de rede de destino traduzido, o processo executa (em 1530) uma pesquisa de rota (por exemplo, uma pesquisa LPM) no contexto de roteamento de locatário identificado (ou seja, o contexto de roteamento especificado pela ID de locatário) para identificar o endereço |P da interface de saída para sair da rede virtual do locatário e alcançar a máquina do locatário em um nó de computação corporativo (por exemplo, em uma filial). Essa interface de saída é o endereço IP de um CFE de saída de um MFN de saída em algumas modalidades. Em 1530, o processo adiciona um cabeçalho de túnel de locatário à mensagem de dados recebida e incorpora o endereço IP do roteador de entrada e o endereço IP do CFE de saída como os endereços |P de origem e destino nesse cabeçalho de túnel. Em seguida, em 1535, o processo incrementa o contador de transmissão VN para o locatário contabilizar a transmissão dessa mensagem de dados.
[00185] Em 1540, o processo executa uma pesquisa de rota (por exemplo, uma pesquisa LPM) no contexto de roteamento do VÚNP identificado (por exemplo, na porção de VNP dos dados de roteamento, como no espaço de nome VRF do roteador) para identificar sua interface local (por exemplo, sua porta física ou virtual), à qual o roteador de entrada fornece a mensagem encapsulada. O processo adiciona (em 1540) um cabeçalho de salto de VN à mensagem de dados recebida e incorpora o endereço IP do roteador de entrada e o endereço |P do CFE de próximo salto como os endereços |P de origem e destino desse cabeçalho de salto de VN. Após 1555, o processo termina.
[00186] Como mencionado acima, os MFNs em algumas modalidades incluem mecanismos NAT 215 que executam operações NAT nos caminhos de entrada e/ou saída de mensagens de dados para dentro e fora da rede virtual. As operações NAT são normalmente executadas hoje em muitos contextos e por muitos dispositivos (por exemplo, roteadores, firewalls etc.). Por exemplo, uma operação NAT é normalmente executada quando o tráfego sai de uma rede privada para isolar o espaço de endereço |P interno do espaço de endereço |P público regulamentado usado na Internet. Uma operação NAT normalmente mapeia um endereço |P para outro endereço |P.
[00187] Com a proliferação de computadores conectados à Internet, o desafio é que o número de computadores exceda o número disponível de endereços |P. Infelizmente, embora existam
4.294.967 .296 endereços únicos possíveis, já não é prático atribuir um endereço IP público exclusivo para cada computador. Uma maneira de contornar isso é atribuir endereços IP públicos apenas aos roteadores no ponto de extremidade das redes privadas, enquanto outros dispositivos dentro das redes obtêm endereços exclusivos apenas em suas redes privadas internas. Quando um dispositivo deseja se comunicar com um dispositivo fora de sua rede privada interna, seu tráfego normalmente passa por uma porta de comunicação da Internet que executa uma operação NAT para substituir o IP de origem desse tráfego pelo endereço IP de origem público da porta de comunicação da Internet.
[00188] Enquanto a porta de comunicação da Internet de uma rede privada obtém um endereço público registrado na Internet, cada dispositivo dentro de uma rede privada que se conecta a essa porta de comunicação recebe um endereço privado não registrado. Os endereços privados das redes privadas internas podem estar em qualquer intervalo de endereços IP. No entanto, a Força Tarefa de Engenharia da Internet (IETF, Internet Engineering Task Force) sugeriu vários intervalos de endereços privados para uso das redes privadas. Esses intervalos geralmente não estão disponíveis na Internet pública, para que os roteadores possam distinguir facilmente entre endereços públicos e privados. Esses intervalos de endereços particulares são conhecidos como RFC 1918 e são: (1) Classe A 10.0.0.0 -
10.255.255.255, (2) Classe B 172.16.0.0 - 172.31.255.255 e (3) Classe C
192.168.0.0 - 192.168.255.255.
[00189] É importante executar a conversão de |P de origem nos fluxos de mensagens de dados que saem das redes privadas, para que os dispositivos externos possam diferenciar diferentes dispositivos em diferentes redes privadas que usam os mesmos endereços IP internos. Quando um dispositivo externo precisa enviar uma mensagem de resposta para o dispositivo dentro de uma rede privada, ele deve enviar sua resposta para um endereço público exclusivo e roteável na Internet. Ele não pode usar o endereço IP original do dispositivo interno que pode ser usado por vários dispositivos em várias redes privadas. O dispositivo externo envia sua resposta ao endereço |P público com o qual a operação NAT original substituiu o endereço IP de origem privado do dispositivo interno. Após receber esta mensagem de resposta, a rede privada (por exemplo, a porta de comunicação da rede) executa outra operação NAT para substituir o endereço IP de destino público na resposta pelo endereço IP do dispositivo interno.
[00190] Muitos dispositivos dentro de uma rede privada e muitas aplicações em execução nesses dispositivos precisam compartilhar um ou um número finito de endereços IP públicos associados à rede privada. Por conseguinte, as operações NAT normalmente também convertem os endereços de porta da camada 4 (por exemplo, endereços UDP, endereços
TCP, endereços RTP, etc.) para poder associar exclusivamente fluxos de mensagens externas a fluxos de mensagens internas que iniciam ou terminam em diferentes máquinas internas e/ou diferentes aplicações nessas máquinas. As operações NAT também são frequentemente operações com estado, pois em muitos contextos essas operações precisam rastrear conexões e manipular dinamicamente tabelas, remontagem de mensagens, tempos limite, término forçado de conexões rastreadas expiradas etc.
[00191] Como mencionado acima, o provedor de rede virtual de algumas modalidades fornece uma rede virtual como um serviço para diferentes locatários em várias nuvens públicas. Esses locatários podem usar endereços |P comuns em suas redes privadas e compartilham um conjunto comum de recursos de rede (por exemplo, endereços IP públicos) do provedor de rede virtual. Em algumas modalidades, o tráfego de dados dos diferentes locatários é transportado entre os CFEs da rede de sobreposição através de túneis e o túnel marca cada mensagem com um [ID de locatário exclusivo. Esses identificadores de locatário permitem que as mensagens sejam enviadas de volta aos dispositivos de origem, mesmo quando os espaços IP do locatário privado se superpõem. Por exemplo, os identificadores de locatário permitem distinguir uma mensagem enviada de uma filial do locatário 17 com endereço de origem
10.5.12.1 para Amazon.com de uma mensagem enviada para a Amazon.com a partir de uma filial do locatário 235 com o mesmo endereço de origem (e mesmo com o mesmo número da porta de origem, 55331).
[00192] Os NATs padrão implementados de acordo com a RFC 1631 não suportam a noção de locação e, consequentemente, não têm como distinguir entre duas mensagens com os mesmos endereços |P privados. No entanto, em muitas implantações de rede virtual de algumas modalidades, é benéfico usar os mecanismos NAT padrão, pois muitas implementações maduras de código aberto e alto desempenho existem hoje. De fato, muitos kernels Linux hoje possuem mecanismos NAT funcionando como recursos padrão.
[00193] Para usar mecanismos NAT padrão para diferentes locatários de redes virtuais de locatário, o provedor de rede virtual de algumas modalidades usa mecanismos de mapeamento de locação (TM) antes de usar mecanismos NAT padrão. A Figura 16 ilustra esses mecanismos de TM 1605 que são colocados em cada porta de comunicação de rede virtual 1602 que está no caminho de saída de rede virtual para a Internet. Como mostrado, cada mecanismo de TM 1605 é colocado antes de um mecanismo NAT 1610 nos caminhos de saída de mensagem para os centros de dados do provedor SaaS 1620 através da Internet 1625. Em algumas modalidades, cada mecanismo NAT 215 de um MFN inclui um mecanismo de TM (como o mecanismo 1605 da TM) e um mecanismo NAT padrão (como o mecanismo NAT 1610).
[00194] No exemplo ilustrado na Figura 16, os fluxos de mensagens vêm de duas filiais 1655 e 1660 e de um centro de dados 1665 de dois locatários da rede virtual, e entram na rede virtual 1600 através da mesma porta de comunicação de entrada 1670, embora isso não precise necessariamente ser o caso. A rede virtual 1600 em algumas modalidades é definida em vários centros de dados de nuvem pública de vários fornecedores de nuvem pública. Em algumas modalidades, as portas de comunicação de rede virtual fazem parte dos nós de encaminhamento gerenciado e os mecanismos de TM são colocados antes dos mecanismos NAT 1610 nos MFNs de saída.
[00195] Quando uma mensagem de dados atinge uma porta de comunicação de saída 1602 para sair da rede virtual a caminho de um centro de dados 1620 do provedor SaaS, cada mecanismo de TM 1605 mapeia o endereço de rede de origem (por exemplo, IP de origem e/ou endereços de porta) dessas mensagens de dados para novo endereço de rede de origem (por exemplo, IP de origem e/ou endereços de porta) e o mecanismo NAT 1610 mapeia o novo endereço de rede de origem para outro endereço de rede de origem (por exemplo, outro IP de origem e/ou endereços de porta). Em algumas modalidades, o mecanismo de TM é um elemento sem estado e executa o mapeamento para cada mensagem por meio de uma tabela estática sem examinar nenhuma estrutura de dados dinâmica. Como um elemento sem estado, o mecanismo de TM não cria um registro de conexão quando processa uma primeira mensagem de dados de um fluxo de mensagens de dados para usar esse registro de conexão na execução de seu mapeamento de endereço para processar mensagens subsequentes do fluxo de mensagens de dados.
[00196] Por outro lado, o mecanismo NAT 1605 em algumas modalidades é um elemento com estado que executa seu mapeamento por referência a um armazenamento de conexão que armazena registros de conexão que refletem seus mapeamentos SNAT anteriores. Quando o mecanismo NAT recebe uma mensagem de dados, em algumas modalidades, esse mecanismo verifica primeiro o armazenamento da conexão para determinar se ele criou anteriormente um registro de conexão para o fluxo da mensagem recebida. Nesse caso, o mecanismo NAT usa o mapeamento contido neste registro para executar sua operação SNAT. Caso contrário, ele executa a operação SNAT com base em um conjunto de critérios que utiliza para derivar um novo mapeamento de endereço para o novo fluxo de mensagens de dados. Para fazer isso, o mecanismo NAT em algumas modalidades usa técnicas comuns de conversão de endereços de rede.
[00197] Em algumas modalidades, o mecanismo NAT também pode usar o armazenamento de conexão em algumas modalidades quando recebe uma mensagem de dados de resposta da máquina de provedor SaaS, a fim de executar uma operação DNAT para encaminhar a mensagem de dados de resposta para a máquina locatária que enviou a mensagem original. Em algumas modalidades, o registro de conexão para cada fluxo de mensagens de dados processados possui um identificador de registro que inclui o identificador do fluxo (por exemplo, identificador de cinco tuplas com o endereço de rede de origem traduzido).
[00198] Ao fazer seu mapeamento, os mecanismos da TM garantem que os fluxos de mensagens de dados de diferentes locatários que usam o mesmo endereço IP e de porta de origem sejam mapeados para espaços de endereços exclusivos não superpostos. Para cada mensagem, o mecanismo de TM identifica a ID de locatário e executa seu mapeamento de endereço com base nesse identificador. Em algumas modalidades, o mecanismo de TM mapeia os endereços |P de origem de diferentes locatários em diferentes intervalos de IP, de modo que quaisquer duas mensagens de locatários diferentes não sejam mapeadas para o mesmo endereço |P.
[00199] Consequentemente, cada tipo de rede com um ID de locatário diferente será mapeado para um endereço exclusivo dentro da região 232 completa de endereço IP (0.0.0.0 a 255.255.255.255). As redes das classes A e B têm 256 e 16 vezes mais endereços |P possíveis do que uma rede da classe C. Considerando a proporção de tamanho das redes das classes A, Be C, a rede 256 da classe A pode ser alocada da seguinte forma: (1) 240 para mapear 240 locatários com rede de classe A, (2) 15 para mapear 240 locatários com redes de classe B e (3) uma única rede de classe A para mapear 240 locatários com redes de classe C. Mais especificamente, em algumas modalidades, as redes de classe A de faixa mais baixa (começando com O.Xx.X.X/24, 1.X.X.X/24... até 239.x.x.x/24) serão usadas para mapear endereços provenientes da classe 10.x da rede de classe A para 240 redes alvo classe À diferentes. As próximas 15 redes de classe A 240.x.x.x/24 a 254.x.x.x/24, cada uma será usada para incluir cada uma das 16 redes classe B (por exemplo, para um total de 240 redes (15*16)). A última rede de classe A 255 .x.x.x/24 será usada para incluir até 256 redes privadas de classe C. Mesmo que 256 locatários possam ser instalados, apenas 240 são usados e 16 redes de classe C não são usadas. Para resumir, algumas modalidades usam o seguinte mapeamento: º Redes 10xxxX/24 > 1xxx/24-239.x.x.x/24, resultando em 240 mapeamentos diferentes para cada locatário; . Redes 172.16-31.x.x/12> 240.x.x.x/24-254 .Xx.X.Xx/24, resultando em 240 mapeamentos diferentes para cada locatário;
º Redes 192.168.x.x/16 > 255.x.x.x/24, resultando em 240 de 256 possíveis mapeamentos para cada locatário.
[00200] Os esquemas descritos acima podem suportar até 240 locatários, desde que não seja conhecido antecipadamente que tipo de classe de rede os locatários usarão. Em algumas modalidades, a rede de nuvem pública usa um endereço IP privado. Nesse caso, é desejável não mapear no espaço de endereço privado novamente. Como algumas modalidades removem uma rede classe A e uma rede classe B, há apenas 239 locatários diferentes que podem ser suportados nessas modalidades. Para conseguir um mapeamento exclusivo, algumas modalidades numeram todos os IDs de locatários de 1 a 239 e adicionam aos 8 bits menos significativos da parte não mascarada do domínio privado ao módulo de IDs de locatário (expresso em 8 bits) 240. Nesse caso, para endereços de classe A, o primeiro locatário (número 1) será mapeado para
11.xx.xX.xx/24 e o último (239) para 9.xXx.xXx.xx/24.
[00201] Na implementação ilustrada na Figura 16, algumas modalidades fornecem a cada mecanismo de TM 1605 quaisquer possíveis sub-redes de ID de locatário e uma maneira de rotear mensagens de volta para qualquer endereço IP específico em cada uma dessas sub-redes. Essas informações podem mudar dinamicamente quando locatários, filiais e dispositivos móveis são adicionados ou removidos. Portanto, essas informações devem ser dinamicamente distribuídas aos mecanismos da TM nas portas de comunicação de saída da Internet da rede virtual. A quantidade de informações distribuídas e atualizadas regularmente pode ser grande, pois as portas de comunicação de saída da Internet do provedor de rede virtual podem ser usadas por um grande número de locatários. Além disso, a restrição de 240 (ou 239) da ID de locatário é global e pode ser resolvida apenas adicionando vários endereços |P aos pontos de saída.
[00202] A Figura 17 ilustra uma abordagem de NAT dupla que é usada em algumas modalidades, em vez da abordagem de NAT única ilustrada na Figura 16. A abordagem ilustrada na Figura 17 requer que menos dados de locatário sejam distribuídos para a maioria dos mecanismos de TM, se não todos, e permite que mais redes de locatário privadas sejam mapeadas para a rede interna do provedor de rede virtual. Para um fluxo de mensagens de dados que atravessa de uma máquina locatária pela rede virtual 1700 e, em seguida, da Internet 1625 para outra máquina (por exemplo, para uma máquina em um centro de dados 1620 do provedor de SaaS), a abordagem ilustrada na Figura 17 coloca um mecanismo NAT na porta de comunicação de entrada do fluxo de mensagens de dados 1770 para a rede virtual e na porta de comunicação de saída desse fluxo 1702 ou 1704 para fora da rede virtual e para a Internet 1625. Esta abordagem também coloca os mecanismos de TM 1705 antes dos mecanismos de NAT 1712 das portas de comunicação de entrada
1770.
[00203] No exemplo ilustrado na Figura 17, os fluxos de mensagens vêm de duas filiais 1755 e 1760 e de um centro de dados 1765 de dois locatários de rede virtual, e entram na rede virtual 1700 através da mesma porta de comunicação de entrada 1770, embora isso não precise necessariamente ser o caso. Como a rede virtual 1600, a rede virtual 1700 em algumas modalidades é definida em vários centros de dados de nuvem pública de vários fornecedores de nuvem pública. Além disso, em algumas modalidades, as portas de comunicação de rede virtual 1702, 1704 e 1770 fazem parte dos nós de encaminhamento gerenciado, e os mecanismos de TM são colocados nessas modalidades antes dos mecanismos de NAT 215 nesses MFNs.
[00204] Os mecanismos de TM 1605 e 1705 operam de maneira semelhante nas Figuras 16 e 17. Como os mecanismos de TM 1605, o mecanismo de TM 1705 mapeia os endereços |P e de porta de origem das mensagens de dados que entram na rede virtual para novos endereços |P e de porta de origem, quando essas mensagens de dados são destinadas a (ou seja, têm endereços IP de destino para) centros de dados de provedor SaaS 1620. Para cada uma dessas mensagens de dados, o mecanismo de TM 1705 identifica a ID de locatário e executa seu mapeamento de endereço com base nesse identificador.
[00205] Como os mecanismos de TM 1605, o mecanismo de TM 1705 em algumas modalidades é um elemento sem estado e executa o mapeamento para cada mensagem através de uma tabela estática sem examinar nenhuma estrutura de dados dinâmica. Como um elemento sem estado, o mecanismo de TM não cria um registro de conexão quando processa uma primeira mensagem de dados de um fluxo de mensagens de dados para usar esse registro de conexão na execução de seu mapeamento de endereço para processar mensagens subsequentes do fluxo de mensagens de dados.
[00206] Ao fazer seu mapeamento, os mecanismos de TM 1705 nas portas de comunicação de entrada 1770 garantem que os fluxos de mensagens de dados de diferentes locatários que usam o mesmo IP de origem e endereços de porta sejam mapeados para espaços de endereço não superpostos exclusivos. Em algumas modalidades, o mecanismo de TM mapeia os endereços |P de origem de diferentes locatários em diferentes intervalos de IP, de modo que quaisquer duas mensagens de locatários diferentes não sejam mapeadas para o mesmo endereço IP. Em outras modalidades, o mecanismo de TM 1705 pode mapear os endereços IP de origem de dois locatários diferentes para o mesmo intervalo de IPs de origem, mas diferentes intervalos de portas de origem. Ainda em outras modalidades, o mecanismo de TM mapeia dois locatários para diferentes intervalos de IP de origem, enquanto mapeia outros dois locatários para o mesmo intervalo de IP de origem, mas diferentes intervalos de porta de origem.
[00207] Ao contrário dos mecanismos de TM 1605, os mecanismos de TM 1705 nas portas de comunicação de entrada da rede virtual precisam apenas identificar locatários para filiais, centros de dados corporativos e nós de computação corporativos conectados às portas de comunicação de entrada. Isso reduz significativamente os dados do locatário que precisam ser fornecidos inicialmente e atualizados periodicamente para cada mecanismo de
TM. Além disso, como antes, cada mecanismo de TM pode mapear apenas 239/240 locatários para espaços de endereço exclusivos. No entanto, como os mecanismos de TM são colocados nas portas de comunicação de entrada do provedor de rede virtual, cada um deles pode mapear exclusivamente 239/240 locatários.
[00208] O mecanismo NAT 1712 da porta de comunicação de entrada 1770 em algumas modalidades pode usar endereços IP públicos externos ou endereços IP internos específicos da nuvem pública (por exemplo, AWS, GCP ou Azure) na qual a porta de comunicação de entrada 1770 reside. Em qualquer um dos casos, o mecanismo NAT 1712 mapeia o endereço de rede de origem de uma mensagem recebida (isto é, uma mensagem que entra na rede virtual 1700) para um endereço |P exclusivo na rede de nuvem privada da porta de comunicação de entrada. Em algumas modalidades, o mecanismo NAT 1712 converte o endereço |P de origem dos fluxos de mensagens de dados de cada locatário em um endereço |P exclusivo diferente. Em outras modalidades, no entanto, o mecanismo NAT 1712 converte os endereços |P de origem dos fluxos de mensagens de dados dos diferentes locatários no mesmo endereço |P, mas usa os endereços da porta de origem para diferenciar os fluxos de mensagens de dados dos diferentes locatários. Ainda em outras modalidades, o mecanismo NAT mapeia os endereços |P de origem de dois locatários para intervalos de IP de origem diferentes, enquanto mapeia os endereços |P de origem de dois outros locatários para o mesmo intervalo de IP de origem, mas com intervalos de porta de origem diferentes.
[00209] Em algumas modalidades, o mecanismo NAT 1712 é um elemento com estado que executa seu mapeamento por referência a um armazenamento de conexão que armazena registros de conexão que refletem seus mapeamentos SNAT anteriores. Em algumas modalidades, o mecanismo NAT também pode usar o armazenamento de conexão em algumas modalidades quando recebe uma mensagem de dados de resposta da máquina de provedor SaaS, a fim de executar uma operação DNAT para encaminhar a mensagem de dados de resposta para a máquina locatária que enviou a mensagem original. Os mecanismos de TM e NAT 1705, 1710 e 1712 são configurados em algumas modalidades pelo cluster de controlador 160 (por exemplo, são fornecidas tabelas para descrever o mapeamento a ser usado para diferentes locatários e intervalos diferentes de espaço de endereço de rede).
[00210] A Figura 18 apresenta um exemplo que ilustra a tradução de porta de origem do mecanismo NAT de entrada 1712. Especificamente, mostra o mapeamento de endereço de origem que o mecanismo de mapeamento de locação 1705 e o mecanismo NAT de entrada 1712 executam em uma mensagem de dados 1800 quando entram na rede virtual 1700 através de uma porta de comunicação de entrada 1770 e quando saem da rede virtual em uma porta de comunicação de saída 1702. Como mostrado, uma porta de comunicação de locatário 1810 envia a mensagem de dados 1800, que chega à porta de comunicação IPsec 1805 com um endereço IP de origem 10.1.1.13 e endereço de porta de origem 4432. Em algumas modalidades, esses endereços de origem são endereços usados por uma máquina de locatário (não mostrada), enquanto em outras modalidades, um ou ambos os endereços de origem são endereços de origem produzidos por uma operação NAT de origem realizada pela porta de comunicação de locatário ou outra rede elemento no centro de dados de locatário.
[00211] Após essa mensagem ter sido processada pela porta de comunicação IPsec 1805, essa porta de comunicação ou outro módulo do MFN de ingresso associa essa mensagem à ID de locatário 15, que identifica o locatário da rede virtual ao qual a mensagem 1800 pertence. Com base nesse ID de locatário, o mecanismo de mapeamento de locatário 1705 mapeia os endereços |P e de porta de origem para o par IP de origem e endereço de porta de 15.1.1.13 e 253, como mostrado. Esse |P de origem e endereços de porta identificam exclusivamente o fluxo de mensagens da mensagem de dados
1800. Em algumas modalidades, o mecanismo de TM 1705 executa esse mapeamento de maneira sem estado (isto é, sem referência aos registros de rastreamento de conexão). Em algumas modalidades, o mecanismo de TM executa esse mapeamento de maneira sem estado.
[00212] O mecanismo NAT de entrada 1712 em seguida converte (1) o endereço IP de origem da mensagem de dados 1800 em um endereço |P privado ou público (interno ou externo) exclusivo de 198.15.4.33 e (2) o endereço da porta de origem dessa mensagem no endereço de porta
714. Em algumas modalidades, a rede virtual usa esse endereço |P para outros fluxos de mensagens de dados do mesmo ou de diferentes locatários. Consequentemente, nessas modalidades, a operação de tradução de endereço de rede de origem (SNAT) do mecanismo NAT 1712 usa o endereço de porta de origem para diferenciar diferentes fluxos de mensagem de diferentes locatários que usam o mesmo endereço |P dentro da rede virtual.
[00213] Em algumas modalidades, o endereço da porta de origem atribuído pela operação SNAT do mecanismo NAT de entrada também é o endereço da porta de origem que é usado para diferenciar diferentes fluxos de mensagens fora da rede virtual 1700. Esse é o caso no exemplo ilustrado na Figura 18. Como mostrado, o mecanismo NAT de saída 1710 neste exemplo não altera o endereço da porta de origem da mensagem de dados quando ele executa sua operação SNAT. Em vez disso, apenas altera o endereço |P de origem para um endereço |P externo 198.15.7.125, que em algumas modalidades é o endereço |P público da porta (ou portas) de comunicação de saída da rede virtual. Esse endereço IP público em algumas modalidades também é um endereço |P do centro de dados de nuvem pública no qual as portas de comunicação de entrada e saída 1770 e 1702 operam.
[00214] Com o |P de origem e os endereços de porta
198.15.7.125 e 714, a mensagem de dados é roteada pela Internet para alcançar uma porta de comunicação 1815 do centro de dados de um provedor de SaaS. Nesse centro de dados, uma máquina fornecedora de SaaS executa uma operação com base nessa mensagem e envia uma mensagem de resposta 1900, cujo processamento será descrito abaixo por referência à Figura 19. Em algumas modalidades, a máquina de provedor SaaS executa uma ou mais operações de serviço (por exemplo, uma operação de serviço de caixa intermediária, como operação de firewall, operação IDS, operação IPS, etc.) na mensagem de dados, com base em uma ou mais regras de serviço que são definidas por referência aos endereços |P e de porta de origem 198.15.7.125 e
714. Em algumas dessas modalidades, regras de serviço diferentes para locatários diferentes podem especificar o mesmo endereço |P de origem (por exemplo, 198.15.7.125) nos identificadores de regra, enquanto especificam endereços de porta de origem diferentes nesses identificadores de regra. Um identificador de regra específica um conjunto de atributos para comparar com os atributos do fluxo de mensagens de dados enquanto executa uma operação de pesquisa que identifica uma regra que corresponde a uma mensagem de dados.
[00215] A Figura 19 ilustra o processamento de uma mensagem de resposta 1900 que uma máquina SaaS (não mostrada) envia em resposta ao processamento da mensagem de dados 1800. Em algumas modalidades, a mensagem de resposta 1900 pode ser idêntica à mensagem de dados original 1800, pode ser uma versão modificada da mensagem de dados original 1800, ou pode ser uma mensagem de dados completamente nova. Como mostrado, a porta de comunicação SaaS 1815 envia a mensagem 1900 com base nos endereços |P e de porta de destino 198.15.7.125 e 714, que são os endereços |P e de porta de origem da mensagem de dados 1800 quando essa mensagem chega à porta de comunicação SaaS 1815.
[00216] A mensagem 1900 é recebida em uma porta de comunicação (não mostrada) da rede virtual, e essa porta de comunicação fornece a mensagem de dados para o mecanismo NAT 1710 que executou a última operação SNAT na mensagem 1800 antes de esta mensagem ser enviada ao provedor SaaS. Embora no exemplo ilustrado na Figura 19, a mensagem de dados 1900 seja recebida no mesmo mecanismo NAT 1710 que executou a última operação SNAT, isso não precisa ser o caso em cada implantação.
[00217] O mecanismo NAT 1710 (agora atuando como um mecanismo NAT de entrada) executa uma operação DNAT (NAT de destino) na mensagem de dados 1900. Esta operação altera o endereço IP de destino externo 198.15.7.125 para um endereço |P de destino 198.15.4.33 que é usado pela rede virtual para encaminhar a mensagem de dados 1900 através da malha de roteamento de nuvem pública e entre os componentes de rede virtual. Novamente, o endereço IP 198.15.4.33 pode ser um endereço IP público ou privado em algumas modalidades.
[00218] Como mostrado, o mecanismo NAT 1712 (agora atuando como um mecanismo NAT de saída) recebe a mensagem 1900 depois que o mecanismo NAT 1710 traduz seu endereço |P de destino. O mecanismo NAT 1712, em seguida, executa uma segunda operação DNAT nesta mensagem 1900, que substitui os endereços IP e de porta de destino para
15.1.1.13 e 253. Esses endereços são os endereços reconhecidos pelo mecanismo de TM 1705. O mecanismo de TM 1705 substitui esses endereços nos endereços |P e de porta de destino de 10.1.1.13 e 4432, associa a mensagem de dados 1900 à ID de locatário 15 e fornece a mensagem 1900 com esse ID de locatário à porta de comunicação IPsec 1805 para encaminhar para a porta de comunicação de locatário 1810.
[00219] Em algumas modalidades, um provedor de rede virtual usa os processos, sistemas e componentes descritos acima para fornecer várias WANs virtuais para vários locatários diferentes (por exemplo, várias WANs corporativas diferentes para várias empresas) sobre várias nuvens públicas do mesmo ou de outros fornecedores de nuvem pública. A Figura 20 apresenta um exemplo que mostra M WANs corporativas virtuais 2015 para M locatários de um provedor de rede virtual que tem infraestrutura (ou infraestruturas) de rede e clusters de controladores 2010 em N nuvens públicas 2005 de um ou mais provedores de nuvem pública.
[00220] A WAN virtual de cada locatário 2015 pode abranger todas as N nuvens públicas 2005 ou um subconjunto dessas nuvens públicas. A WAN virtual de cada locatário 2015 conecta uma ou mais filiais 2020, centros de dados 2025, centros de dados de provedor SaaS 2030 e dispositivos remotos do locatário. Em algumas modalidades, a WAN virtual de cada locatário abrange qualquer nuvem pública 2005 que o cluster de controlador do VNP considere necessário para encaminhar com eficiência mensagens de dados entre os diferentes nós de computação 2020 a 2035 do locatário. Ao selecionar as nuvens públicas, em algumas modalidades, o cluster de controlador também considera as nuvens públicas que o locatário seleciona e/ou as nuvens públicas nas quais o locatário, ou pelo menos um provedor SaaS do locatário, tem uma ou mais máquinas.
[00221] A WAN virtual 2015 de cada locatário permite que os dispositivos remotos 2035 (por exemplo, dispositivos móveis ou computadores remotos) evitem interagir com a porta de comunicação WAN do locatário em qualquer filial ou centro de dados do locatário, para acessar um serviço de provedor SaaS (ou seja, para acessar uma máquina ou cluster de máquinas do provedor SaaS). A WAN virtual do locatário, em algumas modalidades, permite que os dispositivos remotos evitem as portas de comunicação WAN nas filiais e nos centros de dados, movendo as funcionalidades dessas portas de comunicação WAN (por exemplo, portas de comunicação de segurança WAN) para uma ou mais máquinas nas nuvens públicas espalhadas pela WAN virtual.
[00222] Por exemplo, para permitir que um dispositivo remoto acesse os recursos de computação do locatário ou de seus serviços de provedor SaaS, em algumas modalidades, uma porta de comunicação WAN deve aplicar regras de firewall que controlam como o dispositivo remoto pode acessar os recursos de computador do locatário ou seus serviços de provedor SaaS. Para evitar portas de comunicação WAN de filial ou centro de dados do locatário, os mecanismos de firewall do locatário 210 são colocados nos MFNs da rede virtual em uma ou mais nuvens públicas abrangidas pela WAN virtual do locatário.
[00223] Os mecanismos de firewall 210 nessas MFNs executam as operações do serviço de firewall nos fluxos de mensagens de dados de e para os dispositivos remotos. Ao executar essas operações na rede virtual implantada em uma ou mais nuvens públicas, o tráfego de mensagens de dados associado aos dispositivos remotos do locatário não precisa ser roteado desnecessariamente pelos centros de dados ou filiais do locatário para receber o processamento de regras de firewall. Isso alivia o congestionamento de tráfego nos centros de dados e filiais dos locatários e evita consumir largura de banda de rede de entrada/saída cara nesses locais para processar o tráfego que não é destinado a calcular recursos nesses locais. Isso também ajuda a acelerar o encaminhamento do tráfego de mensagens de dados de e para os dispositivos remotos, pois essa abordagem permite que o processamento de regras de firewall intermediário ocorra na rede virtual à medida que os fluxos de mensagens de dados atravessam seus destinos (por exemplo, nos MFNs de entrada, MFNs de saída ou MFNs de salto intermediário).
[00224] Em algumas modalidades, o mecanismo de aplicação de firewall 210 (por exemplo, VM de serviço de firewall) de um MFN recebe regras de firewall dos controladores centrais do VNP 160. Uma regra de firewall em algumas modalidades inclui um identificador de regra e uma ação. O identificador de regra em algumas modalidades inclui um ou mais valores de correspondência que devem ser comparados aos atributos da mensagem de dados, como atributos da camada 2 (por exemplo, endereços MAC), atributos da camada 3 (por exemplo, cinco identificadores de tupla, etc.), ID de locatário, ID do local (por exemplo, ID do local do escritório, ID do centro de dados, ID do usuário remoto etc.), para determinar se a regra do firewall corresponde a uma mensagem de dados.
[00225] A ação da regra de firewall em algumas modalidades especifica a ação (por exemplo, permitir, soltar, redirecionar etc.) que o mecanismo de aplicação de firewall 210 deve receber em uma mensagem de dados quando a regra de firewall corresponde aos atributos da mensagem de dados. Para abordar a possibilidade de várias regras de firewall corresponderem a uma mensagem de dados, o mecanismo de aplicação de firewall 210 armazena as regras de firewall (que recebe do cluster de controlador 160) em um armazenamento de dados de regras de firewall de maneira hierárquica, para que uma regra de firewall possa ter maior prioridade do que outra regra de firewall. Quando uma mensagem de dados corresponde a duas regras de firewall, o mecanismo de aplicação de firewall aplica a regra com a prioridade mais alta em algumas modalidades. Em outras modalidades, o mecanismo de aplicação do firewall examina as regras do firewall de acordo com sua hierarquia (ou seja, examina as regras de prioridade mais alta antes das regras de prioridade mais baixa) para garantir que ele corresponda primeiro à regra de prioridade mais alta, caso outra regra de prioridade mais baixa também possa corresponder à mensagem de dados.
[00226] Algumas modalidades permitem que o cluster de controlador configure os componentes MFN para que os mecanismos de serviço do firewall examinem uma mensagem de dados em um nó de entrada (por exemplo, nó 850) quando ele entra em uma rede virtual, em um nó intermediário (por exemplo, nó 857) na rede virtual ou em um nó de saída (por exemplo, nó 855) ao sair da rede virtual. Em cada um desses nós, o CFE (por exemplo, 832, 856 ou 858) em algumas modalidades chama seu mecanismo de serviço de firewall associado 210 para executar a operação de serviço de firewall na mensagem de dados que o CFE recebe. Em algumas modalidades, o mecanismo de serviço de firewall retorna sua decisão ao módulo que o chamou (por exemplo, ao CFE), para que este módulo possa executar a ação do firewall na mensagem de dados, enquanto em outras modalidades, o mecanismo de serviço de firewall executa sua ação de firewall na mensagem de dados.
[00227] Em algumas modalidades, outros componentes do MFN direcionam o mecanismo de serviço de firewall para executar sua operação. Por exemplo, em um nó de entrada, a porta de comunicação VPN (por exemplo, 225 ou 230) em algumas modalidades direciona seu mecanismo de serviço de firewall associado a executar sua operação, a fim de determinar se a mensagem de dados deve ser passada para o CFE do nó de entrada. Além disso, no nó de saída, o CFE, em algumas modalidades, transmite a mensagem de dados para o mecanismo de serviço de firewall associado, que, se decidir permitir a passagem da mensagem de dados, passa a mensagem de dados por uma rede externa (por exemplo, a Internet) para seu destino ou passa a mensagem de dados para seu mecanismo NAT associado 215 para executar sua operação NAT antes de passar a mensagem de dados para seu destino através de uma rede externa.
[00228] Os provedores de rede virtual de algumas modalidades permitem que a porta de comunicação de segurança WAN do locatário, definida nas nuvens públicas, implemente outros serviços de segurança além de, ou em vez de, serviços de firewall. Por exemplo, a porta de comunicação de segurança da WAN distribuída de um locatário (que em algumas modalidades é distribuída por cada centro de dados de nuvem pública que é distribuído pela rede virtual do locatário) não inclui apenas mecanismos de serviço de firewall, mas também mecanismos de detecção de intrusão e mecanismos de prevenção de intrusão. Em algumas modalidades, os mecanismos de detecção de intrusão e os mecanismos de prevenção de intrusão são incorporados arquitetonicamente no MFN 150 para ocupar uma posição semelhante ao mecanismo de serviço de firewall 210.
[00229] Cada um desses mecanismos em algumas modalidades inclui um ou mais armazenamentos que armazenam políticas de detecção/prevenção de intrusão distribuídas pelo cluster de controlador central
160. Em algumas modalidades, essas políticas configuram os mecanismos para detectar/impedir invasões não autorizadas na rede virtual do locatário (implantada em vários centros de dados de nuvem pública) e executar ações em resposta a eventos de intrusão detectados (por exemplo, gerar registros, enviar notificações, encerrar serviços ou máquinas, etc.). Como as regras de firewall, as políticas de detecção/prevenção de intrusões podem ser aplicadas em vários nós de encaminhamento gerenciado diferentes (por exemplo, MFNs de entrada, MFNs intermediárias e/ou MFNs de saída dos fluxos de mensagens de dados) sobre os quais a rede virtual está definida.
[00230] Como mencionado acima, o provedor de rede virtual implanta a WAN virtual de cada locatário implantando pelo menos um MFN em cada nuvem pública abrangida pela WAN virtual e configurando os MFNs implantados para definir rotas entre os MFNs que permitem que os fluxos de mensagens do locatário entrem e saiam da WAN virtual. Além disso, como mencionado acima, cada MFN pode ser compartilhado por diferentes locatários em algumas modalidades, enquanto em outras modalidades cada MFN é implantado para apenas um locatário em particular.
[00231] Em algumas modalidades, a WAN virtual de cada locatário é uma WAN virtual segura que é estabelecida conectando os MFNs usados por essa WAN através de túneis de sobreposição. Essa abordagem de encapsulamento de sobreposição em algumas modalidades encapsula os fluxos de mensagens de dados de cada locatário com um cabeçalho de encapsulamento exclusivo para cada locatário, por exemplo, contém um identificador de locatário que identifica exclusivamente o locatário. Para um locatário, os CFEs do provedor de rede virtual, em algumas modalidades, usam um cabeçalho de túnel para identificar elementos de encaminhamento de entrada/saída para entrar/sair da WAN virtual do locatário e outro cabeçalho de túnel para atravessar elementos de encaminhamento intermediários da rede virtual. Os CFEs da WAN virtual usam diferentes mecanismos de encapsulamento de sobreposição em outras modalidades.
[00232] Para implantar uma WAN virtual para um locatário em uma ou mais nuvens públicas, o cluster de controlador do VNP (1) identifica possíveis MFNs de borda (que podem servir como MFNs de entrada ou saída para diferentes fluxos de mensagens de dados) para o locatário com base nos locais dos nós de computação corporativa do locatário (por exemplo, filiais, centros de dados, usuários móveis e provedores de SaaS) e (2) identificam rotas entre todos os possíveis MFNs de borda. Depois que essas rotas são identificadas, elas são propagadas para as tabelas de encaminhamento dos CFEs (por exemplo, propagadas usando o OpenFlow para diferentes roteadores de rede virtual baseados em OVS). Especificamente, para identificar rotas ideais por meio da WAN virtual de um locatário, os MFNs associados a essa WAN geram valores de medição que quantificam a qualidade da conexão de rede entre eles e os MFNs vizinhos e fornecem suas medidas regularmente ao cluster de controladores do VNP.
[00233] Como mencionado acima, o cluster de controlador agrega as medições dos diferentes MFNs, gera gráficos de roteamento com base nessas medições, define rotas através da WAN virtual de um locatário e distribui essas rotas aos elementos de encaminhamento dos CFEs dos MFNs. Para atualizar dinamicamente as rotas definidas para a WAN virtual de um locatário, os MFNs associados a essa WAN geram periodicamente suas medições e as fornecem ao cluster de controlador, que repete periodicamente sua agregação de medições, geração de gráficos de rotas, identificação de rotas e distribuição de rotas. com base nas medidas atualizadas que recebe.
[00234] Ao definir as rotas pela WAN virtual de um locatário, o cluster de controlador do VNP otimiza as rotas para obter o desempenho, confiabilidade e segurança de ponta a ponta desejados, enquanto tenta minimizar o roteamento dos fluxos de mensagens do locatário pela Internet. O cluster de controlador também configura os componentes do MFN para otimizar o processamento da camada 4 dos fluxos de mensagens de dados que passam pela rede (por exemplo, para otimizar a taxa de ponta a ponta das conexões TCP dividindo os mecanismos de controle de taxa no caminho da conexão).
[00235] Com a proliferação de nuvens públicas, geralmente é muito fácil encontrar um grande centro de dados de nuvem pública próximo a cada filial de uma empresa. Da mesma forma, os fornecedores de
SaasS estão cada vez mais hospedando suas aplicações em nuvens públicas, ou estão localizados nas proximidades de algum centro de dados em nuvem pública. Consequentemente, as WANs corporativas virtuais 2015 usam com segurança as nuvens públicas 2005 como infraestrutura de rede corporativa que tem presença nas proximidades dos nós de computação corporativos (por exemplo, filiais, centros de dados, dispositivos remotos e provedores de SaaS).
[00236] As WANs corporativas exigem garantias de largura de banda para fornecer aplicações essenciais aos negócios com desempenho aceitável o tempo todo. Tais aplicações, talvez aplicações de dados interativos, por exemplo, ERP, financeira ou de compras, aplicação orientada a prazos (por exemplo, controle industrial ou loT), aplicação em tempo real (por exemplo, VolP ou videoconferência) Consequentemente, a infraestrutura tradicional da WAN (por exemplo, Frame Relay ou MPLS) fornece essas garantias.
[00237] Um obstáculo principal no fornecimento de garantia de largura de banda em uma rede multilocatário é a necessidade de reservar a largura de banda por um ou mais caminhos para um determinado cliente. Em algumas modalidades, o VNP oferece serviços de QoS e fornece uma garantia de taxa comprometida de entrada (ICR) e uma garantia de taxa comprometida de saída (ECR). ICR refere-se à taxa de tráfego que entra na rede virtual, enquanto ECR refere-se à taxa de tráfego que sai da rede virtual para o site do locatário.
[00238] Enquanto o tráfego não exceder os limites de ICR e ECR, a rede virtual em algumas modalidades fornece garantias de largura de banda e atraso. Por exemplo, desde que o tráfego de entrada ou saída HTTP não exceda 1 Mbps, a largura de banda e o baixo atraso são garantidos. Esse é o modelo ponto-a-nuvem porque, para fins de QoS, o VNP não precisa acompanhar os destinos de tráfego, desde que seus destinos estejam dentro dos limites de ICR/ECR. Às vezes, esse modelo é chamado de modelo de mangueira.
[00239] Para aplicações mais rigorosos, nas quais um cliente deseja uma garantia ponto a ponto, é necessário construir um canal de dados virtual para fornecer o tráfego altamente crítico. Por exemplo, uma empresa pode querer dois sítios de hub ou centros de dados conectados com garantias de contrato de alto nível de serviço. Para esse fim, o roteamento VNP escolhe automaticamente um caminho de roteamento que satisfaça à restrição de largura de banda para cada cliente. Isso é chamado de modelo ponto a ponto ou modelo de tubulação.
[00240] A principal vantagem do VNP em fornecer largura de banda garantida aos usuários finais é a capacidade de ajustar a infraestrutura do VNP de acordo com as demandas variáveis da largura de banda. A maioria das nuvens públicas fornece garantias mínimas de largura de banda entre cada duas instâncias localizadas em diferentes regiões da mesma nuvem. Se a rede atual não tiver capacidade não utilizada suficiente para fornecer a largura de banda garantida para uma nova solicitação, o VNP adicionará novos recursos às suas instalações. Por exemplo, o VNP pode adicionar novos CFEs em regiões de alta demanda.
[00241] Um desafio é otimizar o desempenho e o custo dessa nova dimensão no planejamento de rotas e na ampliação e redução da infraestrutura. Para facilitar os algoritmos e a contabilidade da largura de banda, algumas modalidades assumem que as reservas de largura de banda de ponta a ponta não são divididas. De outras formas, se uma certa largura de banda (por exemplo, 10 Mbps) for reservada entre a ramificação A e a ramificação B de um determinado locatário, a largura de banda será alocada em um único caminho que começa em um CFE de entrada ao qual a ramificação A se conecta e, em seguida, atravessa um conjunto de zero ou mais CFEs intermediários para alcançar o CFE de saída conectado à ramificação B. Algumas modalidades também assumem que o caminho garantido pela largura de banda atravessa apenas uma única nuvem pública.
[00242] Para contabilizar as várias reservas de largura de banda que se cruzam na topologia de rede, o VNP em algumas modalidades define estaticamente o roteamento através de um caminho de largura de banda reservado, para que os fluxos de mensagens de dados sempre atravessem as mesmas rotas que foram reservadas para os requisitos de largura de banda. Em algumas modalidades, cada rota é identificada com uma única etiqueta que cada CFE atravessado pela rota corresponde a uma única interface de saída associada a esta rota. Especificamente, cada CFE corresponde a uma única interface de saída para cada mensagem de dados que possui essa etiqueta no cabeçalho e chega de uma interface de entrada específica.
[00243] Em algumas modalidades, o cluster de controlador mantém um gráfico de rede formado por vários nós interconectados. Cada nó n no gráfico tem a largura de banda garantida total alocada (TBWn) associada a esse nó e a quantidade de largura de banda já reservada (alocada para um determinado caminho reservado) por este nó (RBWhn). Além disso, para cada nó, o gráfico inclui o custo em centavos por gigabyte (C;) e o atraso em milissegundos (Di) associado ao envio de tráfego entre esse nó e todos os outros nós no gráfico. O peso associado ao envio de tráfego entre o nó i e o nó jé Wi=a*Ci+Di, em que a é um parâmetro do sistema que normalmente está entre 1e10.
[00244] Quando uma solicitação de reserva de largura de banda do valor BW entre as ramificações A e B é aceita, o cluster de controlador primeiro mapeia a solicitação para roteadores de entrada e saída específicos n e m, que são vinculados às ramificações A e B, respectivamente. O cluster de controlador executa um processo de roteamento que conduz dois cálculos de menor custo (por exemplo, caminho mais curto) entre ne m. À primeira é uma rota de menor custo (por exemplo, caminho mais curto) entre n e m, independentemente da largura de banda disponível ao longo da rota calculada. O peso total desta rota é calculado como Wa.
[00245] A segunda computação de menor custo (por exemplo, caminho mais curto) modifica inicialmente o gráfico, eliminando todos os nós ij onde BW > TBWi - RBW;. O gráfico modificado é denominado gráfico aparado. O cluster de controlador executa então um segundo cálculo de rota de menor custo (por exemplo, caminho mais curto) sobre o gráfico cortado. Se o peso da segunda rota não for superior a K% (K é normalmente de 10% a 30%) maior que a primeira, a segunda rota será selecionada como o caminho preferido. Por outro lado, quando esse requisito não for atendido, o cluster de controlador adicionará ao primeiro caminho o nó | com o menor valor de TBW; - RBW; e repetirá os dois cálculos de menor custo (por exemplo, caminho mais curto). O cluster de controlador continuará adicionando mais roteadores até que a condição seja atendida. Nesse ponto, a largura de banda reservada BW é adicionada a todos os RBWi onde i é um roteador na rota selecionada.
[00246] Para o caso especial de uma solicitação de largura de banda adicional para uma rota que já possui largura de banda reservada, o cluster de controlador excluirá primeiro a reserva de largura de banda atual entre os nós A e B e calculará o caminho para a solicitação de largura de banda total entre esses nós. Para fazer isso, as informações mantidas para cada nó em algumas modalidades também incluem a largura de banda reservada para cada etiqueta ou cada ramificação de origem e destino, e não apenas a largura de banda geral reservada. Depois que as reservas de largura de banda são adicionadas à rede, algumas modalidades não revisitam as rotas, desde que não haja grandes alterações nos atrasos ou custos medidos da rede através da rede virtual. No entanto, quando as medições e/ou custos mudam, essas modalidades repetem os processos de reserva de largura de banda e de computação de rota.
[00247] A Figura 21 ilustra conceitualmente um processo 2100 executado pelo cluster de controlador 160 do provedor de rede virtual para implantar e gerenciar uma WAN virtual para um locatário específico. Em algumas modalidades, o processo 2100 é realizado por vários programas de controlador diferentes executando no cluster de controlador 160. As operações desse processo não precisam necessariamente seguir a sequência ilustrada na Figura 21, pois essas operações podem ser executadas pelos diferentes programas em paralelo ou em uma sequência diferente. Consequentemente, essas operações são ilustradas nesta figura apenas para descrever uma sequência exemplificativa de operações executadas pelo cluster de controlador.
[00248] Como mostrado, o cluster de controlador implanta inicialmente (em 2105) vários MFNs em vários centros de dados de nuvem pública de vários provedores de nuvem pública diferentes (por exemplo, Amazon AWS, Google GCP, etc.). O cluster de controlador em algumas modalidades configura (em 2105) esses MFNs implantados para um ou mais locatários diferentes do locatário específico para o qual o processo 2100 é ilustrado.
[00249] Em 2110, o cluster de controlador recebe dos dados de locatário específicos sobre atributos de máquinas externas e locais do locatário específico. Em algumas modalidades, esses dados incluem as sub- redes privadas usadas pelo locatário em particular, bem como identificadores para um ou mais escritórios e centros de dados dos locatários nos quais o locatário em particular possui máquinas externas. Em algumas modalidades, o cluster de controlador pode receber os dados do locatário por meio de APIs ou por meio de uma interface do usuário que o cluster de controlador fornece.
[00250] Em seguida, em 2115, o cluster de controlador gera um gráfico de roteamento para o locatário específico a partir das medições coletadas pelos agentes de medição 205 dos MFNs 150 que são MFNs candidatas a serem usadas para estabelecer a rede virtual para o locatário específico. Como mencionado acima, o gráfico de roteamento possui nós que representam os MFNs e enlaces entre os nós que representam as conexões de rede entre os MFNs. Os enlaces têm pesos associados, que são valores de custo que quantificam a qualidade e/ou o custo do uso das conexões de rede representadas pelos enlaces. Como mencionado acima, o cluster de controlador primeiro gera um gráfico de medição a partir das medições coletadas e, em seguida, gera o gráfico de roteamento removendo enlaces do gráfico de medição que não são ideais (por exemplo, que apresentam grandes atrasos ou taxas de descarte).
[00251] Após construir o gráfico de roteamento, o cluster de controlador executa (em 2120) pesquisas de caminho para identificar possíveis rotas entre diferentes pares de nós candidatos de entrada e saída (ou seja, MFNs) que as máquinas externas do locatário podem usar para enviar mensagens de dados para a rede virtual (implementadas pelos MFNs) e para receber mensagens de dados da rede virtual. Em algumas modalidades, o cluster de controlador usa algoritmos de pesquisa de caminho conhecidos para identificar caminhos diferentes entre cada par de nós de entrada/saída candidato. Cada caminho para esse par usa um ou mais enlaces que, quando concatenados, atravessam do nó de entrada para o nó de saída através de zero ou mais nós intermediários.
[00252] Em algumas modalidades, o custo entre dois MFNs compreende uma soma ponderada dos custos estimados de latência e financeiros para um enlace de conexão entre os dois MFNs. Os custos financeiros e de latência incluem em algumas modalidades um ou mais dos seguintes itens: (1) medições de atraso de enlace, (2) latência estimada de processamento de mensagens, (3) cobranças na nuvem pelo tráfego de saída de um determinado centro de dados para outro centro de dados do mesmo provedor de nuvem pública ou para sair da nuvem do provedor de nuvem pública (PC) (por exemplo, para outro centro de dados de nuvem pública de outro provedor de nuvem pública ou para a Internet) e (4) custos estimados de processamento de mensagens associados aos MFNs executados em computadores hospedeiros nas nuvens públicas.
[00253] Algumas modalidades avaliam uma penalidade para enlaces de conexão entre dois MFNs que atravessam a Internet pública, a fim de minimizar essa travessia sempre que possível. Algumas modalidades também incentivam o uso de conexões de rede privadas entre dois centros de dados (por exemplo, reduzindo o custo do enlace de conexão), a fim de influenciar a geração de rotas para o uso de tais conexões. Usando os custos calculados desses enlaces em pares, o cluster de controlador pode calcular o custo de cada caminho de roteamento que usa um ou mais desses enlaces em pares, agregando os custos dos enlaces em pares individuais usados pelo caminho de roteamento.
[00254] O cluster de controlador seleciona (em 2120) um ou até N caminhos identificados (onde N é um número inteiro maior que 1) com base nos custos calculados (por exemplo, o menor custo agregado) dos caminhos candidatos identificados entre cada par de nós de entrada/saída candidato. Em algumas modalidades, os custos calculados para cada caminho são baseados no custo de peso de cada enlace usado pelo caminho (por exemplo, é uma soma do valor de peso associado a cada enlace), como mencionado acima. O cluster de controlador pode selecionar mais de um caminho entre um par de nós de entrada/saída quando mais de uma rota é necessária entre dois MFNs para permitir que o MFN de entrada ou um MFN intermediário execute uma operação de vários caminhos.
[00255] Após selecionar (em 2120) um ou N caminhos para cada par de nós de entrada/saída candidato, o cluster de controlador define uma ou N rotas com base nos caminhos selecionados e, em seguida, gera tabelas de rotas ou porções de tabela de rotas para os MFNs que implementam a rede virtual do locatário particular. Os registros de rota gerados identificam MFNs de borda para alcançar sub-redes diferentes do locatário específico e identificam MFNs de próximo salto para percorrer rotas de MFNs de entrada para MFNs de saída.
[00256] Em 2125, o cluster de controlador distribui registros de rota para os MFNs, a fim de configurar os elementos de encaminhamento 235 desses MFNs para implementar a rede virtual para o locatário específico. Em algumas modalidades, o cluster de controlador se comunica com os elementos de encaminhamento para passar os registros de rota usando protocolos de comunicação atualmente usados em um centro de dados multilocatário definido por software para configurar roteadores de software em execução nos computadores hospedeiros para implementar uma rede lógica que engloba todos os computadores hospedeiros.
[00257] Depois que os MFNs são configurados e a rede virtual está operacional para o locatário específico, os MFNs de borda recebem mensagens de dados das máquinas externas do locatário (ou seja, máquinas fora da rede virtual) e encaminham essas mensagens de dados para os MFNs de borda na rede virtual, que, por sua vez, encaminha as mensagens de dados para outras máquinas externas do locatário. Ao executar essas operações de encaminhamento, os MFNs de entrada, intermediário e de saída coletam estatísticas sobre suas operações de encaminhamento. Além disso, em algumas modalidades, um ou mais módulos em cada MFN em algumas modalidades coletam outras estatísticas sobre a rede ou calculam o consumo nos centros de dados de nuvem pública. Em algumas modalidades, os provedores de nuvem pública coletam esses dados de consumo e transmitem os dados coletados ao provedor de rede virtual.
[00258] Ao se aproximar de um ciclo de cobrança, o cluster de controlador coleta (por exemplo, em 2130) estatísticas coletadas pelos MFNs e/ou dados de consumo de rede/computação coletados pelos MFNs ou fornecidos pelos provedores de nuvem pública. Com base nas estatísticas coletadas e/ou nos dados de consumo de rede/computação fornecidos, o cluster de controlador gera (em 2130) relatórios de cobrança e envia os relatórios de cobrança ao locatário específico.
[00259] Como mencionado acima, o valor cobrado no relatório de cobrança é responsável por estatísticas e dados de rede/consumo que o cluster de controlador recebe (por exemplo, às 2130). Além disso, em algumas modalidades, a fatura contabiliza o custo que o provedor de rede virtual suportou para operar os MFNs (que implementam a rede virtual para o locatário específico) mais uma taxa de retorno (por exemplo, um aumento de 10%). Esse esquema de cobrança é conveniente para o locatário em particular, porque ele não precisa lidar com faturas de vários provedores de nuvem pública diferentes nos quais a rede virtual do locatário é implantada. O custo incorrido do VÚNP em algumas modalidades inclui o custo cobrado pelo VNP pelos provedores de nuvem pública. Em 2130, o cluster de controlador também cobra um cartão de crédito ou retira eletronicamente os fundos de uma conta bancária pelas cobranças refletidas no relatório de cobrança.
[00260] Em 2135, o cluster de controlador determina se recebeu novas medições dos agentes de medição 205. Caso contrário, o processo será transferido para 2145, que será descrito abaixo. Por outro lado, quando o cluster de controlador determina que recebeu novas medições dos agentes de medição, determina (em 2140) se precisa reexaminar seu gráfico de roteamento para o locatário específico com base nas novas medições. Na ausência de uma falha do MFN, o cluster de controlador em algumas modalidades, no máximo, atualiza seu gráfico de roteamento para cada locatário uma vez durante um período de tempo específico (por exemplo, uma vez a cada 24 horas ou toda semana) com base nas medições recebidas e atualizadas.
[00261] Quando o cluster de controlador determina (em 2140) que precisa reexaminar o gráfico de roteamento com base nas novas medições recebidas, o processo gera (em 2145) um novo gráfico de medição com base nas medições recém-recebidas. Em algumas modalidades, o cluster de controlador usa uma soma ponderada para misturar cada nova medição com as medições anteriores, a fim de garantir que os valores de medição associados aos enlaces do gráfico de medição não flutuem dramaticamente cada vez que um novo conjunto de medidas é recebido.
[00262] Em 2145, o cluster de controlador também determina se é necessário ajustar o gráfico de roteamento com base no gráfico de medição ajustado (por exemplo, se é necessário ajustar os valores de peso para os enlaces do gráfico de roteamento ou adicionar ou remover enlaces no gráfico de roteamento devido a valores de medição ajustados associados aos enlaces). Nesse caso, o cluster de controlador (em 2145) ajusta o gráfico de roteamento, executa operações de pesquisa de caminho (como operações 2120) para identificar rotas entre pares de nós de entrada/saída, gera registros de rota com base nas rotas identificadas e distribui os registros de rota para o MFNs. De 2145, o processo faz transição para 2150.
[00263] O processo também faz a transição para 2150 quando o cluster de controlador determina (em 2140) que não precisa reexaminar o gráfico de roteamento. Em 2150, o cluster de controlador determina se está se aproximando de outro ciclo de cobrança para o qual deve coletar estatísticas sobre as mensagens de dados processadas e os recursos de rede/computação consumidos. Caso contrário, o processo retornará para 2135 para determinar se recebeu novas medições dos agentes de medição MFN. Caso contrário, o processo retornará a 2130 para coletar estatísticas, dados de consumo de rede/computação e gerar e enviar relatórios de cobrança. Em algumas modalidades, o cluster de controlador executa repetidamente as operações do processo 2100 até que o locatário em particular não precise mais de uma rede virtual que é implantada nos centros de dados de nuvem pública.
[00264] Em algumas modalidades, o cluster de controlador não apenas implementa redes virtuais para locatários nos centros de dados de nuvem pública, mas também auxilia os locatários na implantação e configuração de máquinas de nó de computação e máquinas de serviço nos centros de dados de nuvem pública. As máquinas de serviço implantadas podem ser separadas das máquinas de serviço dos MFNs. Em algumas modalidades, o relatório de cobrança do cluster de controlador para o locatário específico também contabiliza os recursos de computação consumidos pelas máquinas de computação e serviço implantadas. Novamente, ter uma fatura de um provedor de rede virtual para recursos de rede e computação consumidos em vários centros de dados de nuvem pública de vários provedores de nuvem pública é mais preferível para o locatário do que receber várias faturas de vários provedores de nuvem pública.
[00265] Muitos dos recursos e aplicações descritos acima são implementados como processos de software especificados como um conjunto de instruções gravadas em uma mídia de armazenamento legível por computador (também chamada de mídia legível por computador). Quando essas instruções são executadas por uma ou mais unidades de processamento (por exemplo, um ou mais processadores, núcleos de processadores ou outras unidades de processamento), elas fazem com que as unidades de processamento executem as ações indicadas nas instruções. Exemplos de mídia legível por computador incluem, entre outros, CD-ROMs, unidades flash, chips de RAM, discos rígidos, EPROMs etc. A mídia legível por computador não inclui ondas portadoras e sinais eletrônicos passando sem fio ou por conexões com fio.
[00266] Neste relatório descritivo, o termo "software" deve incluir firmware residente na memória somente leitura ou aplicações armazenadas no armazenamento magnético, que podem ser lidos na memória para processamento por um processador. Além disso, em algumas modalidades, várias invenções de software podem ser implementadas como subpartes de um programa maior, permanecendo invenções de software distintas. Em algumas modalidades, várias invenções de software também podem ser implementadas como programas separados. Finalmente, qualquer combinação de programas separados que juntos implementam uma invenção de software descrita aqui está dentro do escopo da invenção. Em algumas modalidades, os programas de software, quando instalados para operar em um ou mais sistemas eletrônicos, definem uma ou mais implementações de máquinas específicas que executam e realizam as operações dos programas de software.
[00267] A Figura 22 ilustra conceitualmente um sistema de computador 2200 com o qual algumas modalidades da invenção são implementadas. O sistema de computador 2200 pode ser usado para implementar qualquer um dos hospedeiros, controladores e gerenciadores descritos acima. Como tal, ele pode ser usado para executar qualquer um dos processos descritos acima. Este sistema de computador inclui vários tipos de mídia legível por máquina não transitória e interfaces para vários outros tipos de mídia legível por máquina. O sistema de computador 2200 inclui um barramento 2205, unidade (ou unidades) de processamento 2210, uma memória de sistema 2225, uma memória somente leitura 2230, um dispositivo de armazenamento permanente 2235, dispositivos de entrada 2240 e dispositivos de saída 2245.
[00268] O barramento 2205 representa coletivamente todos os barramentos de sistema, periféricos e de chipset que conectam comunicativamente os vários dispositivos internos do sistema de computador
2200. Por exemplo, o barramento 2205 conecta comunicativamente a unidade (ou unidades) de processamento 2210 com a memória somente leitura 2230, a memória de sistema 2225 e o dispositivo de armazenamento permanente 2235.
[00269] A partir dessas várias unidades de memória, a unidade (ou unidades) de processamento 2210 recuperam instruções para executar e dados para processar, a fim de executar os processos da invenção. A unidade (ou unidades) de processamento pode ser um único processador ou um processador multinúcleo em diferentes modalidades. A memória somente leitura (ROM) 2230 armazena dados estáticos e instruções necessárias para a unidade (ou unidades) de processamento 2210 e outros módulos do sistema de computador. O dispositivo de armazenamento permanente 2235, por outro lado, é um dispositivo de memória de leitura e gravação. Esse dispositivo é uma unidade de memória não volátil que armazena instruções e dados mesmo quando o sistema de computador 2200 está desligado. Algumas modalidades da invenção usam um dispositivo de armazenamento em massa (como um disco magnético ou óptico e sua unidade de disco correspondente) como o dispositivo de armazenamento permanente 2235.
[00270] Outras modalidades usam um dispositivo de armazenamento removível (como um disquete, unidade flash, etc.) como o dispositivo de armazenamento permanente. Assim como o dispositivo de armazenamento permanente 2235, a memória de sistema 2225 é um dispositivo de memória de leitura e gravação. No entanto, ao contrário do dispositivo de armazenamento 2235, a memória de sistema é uma memória volátil de leitura e gravação, uma memória de acesso aleatório. A memória de sistema armazena algumas das instruções e dados que o processador precisa em tempo de execução. Em algumas modalidades, os processos da invenção são armazenados na memória de sistema 2225, no dispositivo de armazenamento permanente 2235 e/ou na memória somente leitura 2230. Dessas várias unidades de memória, a unidade (ou unidades) de processamento 2210 recupera instruções para executar e dados para processar, a fim de executar os processos de algumas modalidades.
[00271] O barramento 2205 também se conecta aos dispositivos de entrada e saída 2240 e 2245. Os dispositivos de entrada permitem que o usuário comunique informações e selecione comandos para o sistema do computador. Os dispositivos de entrada 2240 incluem teclados alfanuméricos e dispositivos apontadores (também chamados de "dispositivos de controle do cursor"). Os dispositivos de saída 2245 exibem imagens geradas pelo sistema de computador. Os dispositivos de saída incluem impressoras e dispositivos de exibição, como tubos de raios catódicos (CRT) ou monitores de cristal líquido (LCD). Algumas modalidades incluem dispositivos como uma tela sensível ao toque que funcionam como dispositivos de entrada e saída.
[00272] Finalmente, como mostrado na Figura 22, o barramento 2205 também acopla o sistema de computador 2200 a uma rede 2265 através de um adaptador de rede (não mostrado). Dessa maneira, o computador pode fazer parte de uma rede de computadores (como uma rede de área local ("LAN"), uma rede de área ampla ("WAN") ou uma Intranet ou uma rede de redes, como a Internet). Qualquer um ou todos os componentes do sistema de computador 2200 podem ser utilizados em conjunto com a invenção.
[00273] Algumas modalidades incluem componentes eletrônicos, como microprocessadores, armazenamento e memória que armazenam instruções do programa de computador em um meio legível por computador ou legível por computador (também conhecido como mídia de armazenamento legível por computador, mídia legível por máquina ou mídia de armazenamento legível por máquina). Alguns exemplos dessas mídias legíveis por computador incluem RAM, ROM, discos compactos somente leitura (CD- ROM), discos compactos graváveis (CD-R), discos compactáveis regraváveis (CD-RW), discos versáteis digitais somente leitura (por exemplo, DVD-ROM, DVD-ROM de camada dupla), uma variedade de DVDs graváveis/regraváveis (por exemplo, DVD-RAM, DVD-RW, DVD + RW, etc.), memória flash (por exemplo, cartões SD, cartões mini-SD, cartões micro-SD, etc.), discos rígidos magnéticos e/ou de estado sólido, discos Blu-RayO somente leitura e graváveis, discos ópticos de ultra densidade, qualquer outra mídia óptica ou magnética e disquetes. A mídia legível por computador pode armazenar um programa de computador que é executável por pelo menos uma unidade de processamento e inclui conjuntos de instruções para executar várias operações. Exemplos de programas de computador ou código de computador incluem código de máquina, como o produzido por um compilador, e arquivos que incluem código de nível superior que são executados por um computador, um componente eletrônico ou um microprocessador usando um intérprete.
[00274] Embora a discussão acima se refira principalmente ao microprocessador ou processadores multinúcleo que executam software, algumas modalidades são realizadas por um ou mais circuitos integrados, como circuitos integrados de aplicações específicas (ASICs) ou matrizes de portas programáveis em campo (FPGAs). Em algumas modalidades, esses circuitos integrados executam instruções que são armazenadas no próprio circuito.
[00275] Conforme usado neste relatório descritivo, os termos “computador”, “servidor”, “processador” e “memória” se referem a dispositivos eletrônicos ou outros dispositivos tecnológicos. Esses termos excluem pessoas ou grupos de pessoas. Para os fins do relatório descritivo, os termos exibição ou que exibe significa exibição em um dispositivo eletrônico. Conforme usado nesta especificação, os termos “meio legível por computador”, “mídia legível por computador" e “mídia legível por máquina” são totalmente restritos a objetos físicos tangíveis que armazenam informações em um formato legível por um computador. Esses termos excluem quaisquer sinais sem fio, sinais de download com fio e quaisquer outros sinais efêmeros ou transitórios.
[00276] Embora a invenção tenha sido descrita em detalhes com referência às modalidades, os versados na técnica poderão compreender que várias alternativas e modificações podem ser realizadas sem divergir do espírito e âmbito da invenção. Por exemplo, vários dos exemplos descritos acima ilustram WANs corporativas virtuais de locatários corporativos de um provedor de rede virtual. Um versado perceberá que, em algumas modalidades, o provedor de rede virtual implanta redes virtuais em vários centros de dados de nuvem pública de um ou mais provedores de nuvem pública para locatários não corporativos (por exemplo, para escolas, faculdades, universidades, entidades sem fins lucrativos, etc.). Essas redes virtuais são WANSs virtuais que conectam vários pontos de extremidade de computação (por exemplo, escritórios, centros de dados, computadores e dispositivos de usuários remotos, etc.) das entidades não corporativas.
[00277] Várias modalidades descritas acima incluem várias partes de dados nos cabeçalhos de encapsulamento de sobreposição. Um versado na técnica perceberá que outras modalidades podem não usar os cabeçalhos de encapsulamento para retransmitir todos esses dados. Por exemplo, em vez de incluir o identificador de locatário no cabeçalho de encapsulamento de sobreposição, outras modalidades derivam o identificador de locatário a partir dos endereços dos CFEs que encaminham as mensagens de dados, por exemplo, em algumas modalidades em que diferentes locatários têm seus próprios MFNs implantados nas nuvens públicas, a identidade do locatário está associada aos MFNs que processam as mensagens do locatário.
[00278] Além disso, várias figuras ilustram conceitualmente os processos de algumas modalidades da invenção. Em outras modalidades, as operações específicas desses processos podem não ser executadas na ordem exata mostrada e descrita nessas figuras. As operações específicas podem não ser executadas em uma série contínua de operações e diferentes operações específicas podem ser executadas em diferentes modalidades. Além disso, o processo pode ser implementado usando vários subprocessos ou como parte de um macroprocesso maior. Assim, um versado na técnica entenderia que a invenção não deve ser limitada pelos detalhes ilustrativos anteriores, mas deve ser definida pelas reivindicações anexas.

Claims (34)

U7 REIVINDICAÇÕES
1. Método para estabelecer redes virtuais por meio de uma pluralidade de centros de dados em nuvem pública, sendo que o método é caracterizado pelo fato de que compreende: configurar um primeiro conjunto de elementos de encaminhamento no primeiro e no segundo centros de dados de nuvem pública multilocatários para implementar uma primeira rede de área ampla virtual (WAN) para uma primeira entidade, sendo que a dita primeira WAN virtual conecta uma pluralidade de máquinas operando em um conjunto de dois ou mais locais de máquinas da primeira entidade; e configurar um segundo conjunto de elementos de encaminhamento no primeiro e no segundo centros de dados de nuvem pública multilocatários para implementar uma segunda rede de área ampla virtual para uma segunda entidade, sendo que a dita segunda WAN virtual conecta uma pluralidade de máquinas operando em um conjunto de dois ou mais locais de máquinas de segunda entidade.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o conjunto de locais de máquinas da primeira entidade inclui dois ou mais locais de escritório.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que o conjunto de locais de máquinas da primeira entidade inclui ainda pelo menos um local de centro de dados.
4. “Método, de acordo com a reivindicação 3, caracterizado pelo fato de que o conjunto de locais de máquinas da primeira entidade inclui ainda locais de dispositivo remoto.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o conjunto de locais de máquinas da primeira entidade inclui um local de escritório e um local de centro de dados.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que o conjunto de locais de máquinas da primeira entidade inclui ainda um local que compreende uma pluralidade de máquinas de um provedor de SaaS (Software como um Serviço).
7. “Método, de acordo com a reivindicação 1, caracterizado pelo fato de que as máquinas incluem pelo menos uma dentre máquinas virtuais, contêineres ou computadores autônomos.
8. “Método, de acordo com a reivindicação 1, caracterizado pelo fato de que pelo menos um subconjunto de elementos de encaminhamento no primeiro conjunto de elementos de encaminhamento está também no segundo conjunto de elementos de encaminhamento.
9. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que pelo menos um outro subconjunto de elementos de encaminhamento no primeiro conjunto de elementos de encaminhamento não está no segundo conjunto de elementos de encaminhamento.
10. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que configurar o primeiro conjunto de elementos de encaminhamento compreende configurar o primeiro conjunto de elementos de encaminhamento para usar um primeiro conjunto de cabeçalhos WAN virtuais de sobreposição para encapsular as mensagens de dados trocadas entre as máquinas da primeira entidade em diferentes locais de máquina; e configurar o segundo conjunto de elementos de encaminhamento compreende configurar o segundo conjunto de elementos de encaminhamento para usar um segundo conjunto de cabeçalhos WAN virtuais de sobreposição para encapsular as mensagens de dados trocadas entre as máquinas de segunda entidade em diferentes locais de máquina; em que o primeiro conjunto de cabeçalhos WAN virtuais de sobreposição armazena um identificador de primeira entidade que identifica a primeira entidade, e em que o segundo conjunto de cabeçalhos WAN virtuais de sobreposição armazena um segundo identificador de segunda entidade que identifica a segunda entidade.
11. Método, de acordo com a reivindicação 10, caracterizado pelo fato de que o primeiro e o segundo conjuntos de elementos de encaminhamento se superpõem de modo que pelo menos um elemento de encaminhamento esteja em ambos os conjuntos de elementos de encaminhamento.
12. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a configuração do primeiro e do segundo conjuntos de elementos de encaminhamento é realizada por um conjunto de um ou mais controladores de um provedor de rede virtual que implementa WANs virtuais diferentes para diferentes entidades em centros de dados de nuvem pública de diferentes provedores de nuvem pública e em diferentes regiões.
13. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o primeiro e o segundo conjuntos de elementos de encaminhamento compreendem uma pluralidade de elementos de encaminhamento de software em execução em computadores.
14. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o primeiro e o segundo conjuntos de elementos de encaminhamento compreendem uma pluralidade de elementos de encaminhamento de software em execução em computadores hospedeiros nos centros de dados.
15. Método, de acordo com a reivindicação 14, caracterizado pelo fato de que a pluralidade de elementos de encaminhamento de software são máquinas em execução nos computadores hospedeiros.
16. Método, de acordo com a reivindicação 15, caracterizado pelo fato de que pelo menos um subconjunto de máquinas que implementam a pluralidade de elementos de encaminhamento de software está em execução em computadores hospedeiros juntamente com outras máquinas.
17. Método, de acordo com a reivindicação 15, caracterizado pelo fato de que pelo menos um subconjunto de máquinas que implementam a pluralidade de elementos de encaminhamento de software são máquinas virtuais.
18. “Método para encaminhar fluxo de mensagem de dados através de pelo menos dois centros de dados de nuvem pública de pelo menos dois provedores de nuvem pública diferentes, sendo que o método é caracterizado pelo fato de que compreende: em um elemento de encaminhamento de entrada em um primeiro centro de dados de nuvem pública, receber, de uma primeira máquina externa fora dos centros de dados de nuvem pública, uma mensagem de dados endereçada a uma segunda máquina externa fora dos centros de dados de nuvem pública, em que a dita segunda máquina externa é acessível através de um elemento de encaminhamento de saída que está em um segundo centro de dados de nuvem pública; encapsular a mensagem de dados com um primeiro cabeçalho que inclui endereços de rede para os elementos de encaminhamento de entrada e saída como endereços de origem e destino; e encapsular a mensagem de dados com um segundo cabeçalho que especifica os endereços de rede de origem e destino como o endereço de rede do elemento de encaminhamento de entrada e um endereço de rede de um elemento de encaminhamento de próximo salto que esteja em um centro de dados de nuvem pública e que seja o próximo salto em um caminho para o elemento de encaminhamento de saída.
19. Método, de acordo com a reivindicação 18, caracterizado pelo fato de que o elemento de encaminhamento de próximo salto está em um terceiro centro de dados de nuvem pública.
20. Método, de acordo com a reivindicação 19, caracterizado pelo fato de que o primeiro, o segundo e o terceiro centros de dados de nuvem pública pertencem a três provedores de nuvem pública diferentes.
21. Método, de acordo com a reivindicação 19, caracterizado pelo fato de que o primeiro e o segundo centros de dados de nuvem pública pertencem a um primeiro provedor de nuvem pública, enquanto o terceiro centro de dados de nuvem pública pertence a um segundo provedor de nuvem pública diferente.
22. Método, de acordo com a reivindicação 19, caracterizado pelo fato de que o primeiro e o segundo centros de dados de nuvem pública pertencem a dois provedores de nuvem pública diferentes, enquanto o terceiro centro de dados de nuvem pública pertence ao provedor de nuvem pública do primeiro centro de dados de nuvem pública ou do segundo centro de dados de nuvem pública.
23. Método, de acordo com a reivindicação 19, caracterizado pelo fato de que o elemento de encaminhamento de próximo salto é um primeiro elemento de encaminhamento de próximo salto, e o primeiro elemento de encaminhamento de próximo salto identifica um segundo elemento de encaminhamento de próximo salto ao longo do caminho como um próximo salto para a mensagem de dados e, no segundo cabeçalho, especifica os endereços de rede de origem e destino como os endereços de rede do primeiro elemento de encaminhamento de próximo salto e do segundo elemento de encaminhamento de próximo salto.
24. Método, de acordo com a reivindicação 23, caracterizado pelo fato de que o segundo elemento de encaminhamento de próximo salto é o elemento de encaminhamento de saída.
25. Método, de acordo com a reivindicação 24, caracterizado pelo fato de que, após receber a mensagem de dados encapsulada, o elemento de encaminhamento de saída determina, a partir do endereço de rede de destino no primeiro cabeçalho, que a mensagem de dados encapsulada é endereçada ao elemento de encaminhamento de saída, remove o primeiro e o segundo cabeçalhos da mensagem de dados e encaminha a mensagem de dados para a segunda máquina externa.
26. Método, de acordo com a reivindicação 23, caracterizado pelo fato de que o segundo elemento de encaminhamento de próximo salto é um quarto elemento de encaminhamento que é diferente do segundo elemento de encaminhamento.
27. Método, de acordo com a reivindicação 18, caracterizado pelo fato de que o elemento de encaminhamento de próximo salto é o segundo elemento de encaminhamento.
28. Método, de acordo com a reivindicação 18, caracterizado pelo fato de que compreende ainda: processar, nos elementos de encaminhamento de entrada e saída, mensagens de dados pertencentes a diferentes locatários de um provedor de rede virtual que define diferentes redes virtuais em centros de dados de nuvem pública para os diferentes locatários; no primeiro cabeçalho de encapsulamento da mensagem recebida, armazenar um identificador de locatário que identifica o locatário associado às primeira e segunda máquinas externas.
29. Método, de acordo com a reivindicação 28, caracterizado pelo fato de que o encapsulamento da mensagem de dados com o primeiro e o segundo cabeçalhos define, para o primeiro locatário, uma rede virtual de sobreposição que abrange um grupo de redes de um centro de dados de nuvem pública de grupo, incluindo o primeiro e o segundo centros de dados de nuvem pública.
30. Método, de acordo com a reivindicação 29, caracterizado pelo fato de que os locatários são empresas e as redes virtuais são redes de área ampla corporativa (WANs).
31. Método, de acordo com a reivindicação 18, caracterizado pelo fato de que a primeira máquina externa é uma dentre uma máquina em um primeiro escritório de ramificação, uma máquina em um primeiro centro de dados privado ou uma máquina remota, e a segunda máquina externa é uma máquina em um segundo escritório de ramificação ou uma máquina em um segundo centro de dados privado.
32. Mídia legível por máquina caracterizada pelo fato de que armazena um programa que, quando executado por pelo menos uma das unidades de processamento, implementa o método, de acordo com qualquer uma das reivindicações 1 a 17 e 18 a 31.
33. Dispositivo eletrônico caracterizado pelo fato de que compreende: um conjunto de unidades de processamento; e uma mídia legível por computador que armazena um programa que, quando executado por pelo menos uma das unidades de processamento, implementa o método, de acordo com qualquer uma das reivindicações 1 a 17 e 18 a 31.
34. Sistema caracterizado pelo fato de que compreende meios para implementar o método, de acordo com qualquer uma das reivindicações 1 a 17 e 18 a 31.
BR112020006724-5A 2017-10-02 2018-10-01 criação de redes virtuais que abrangem múltiplas nuvens públicas BR112020006724A2 (pt)

Applications Claiming Priority (27)

Application Number Priority Date Filing Date Title
US201762566524P 2017-10-02 2017-10-02
US62/566,524 2017-10-02
US15/972,083 US11005684B2 (en) 2017-10-02 2018-05-04 Creating virtual networks spanning multiple public clouds
US15/972,104 2018-05-04
US15/972,086 2018-05-04
US15/972,088 US11102032B2 (en) 2017-10-02 2018-05-04 Routing data message flow through multiple public clouds
US15/972,090 US10666460B2 (en) 2017-10-02 2018-05-04 Measurement based routing through multiple public clouds
US15/972,083 2018-05-04
US15/972,095 2018-05-04
US15/972,095 US10958479B2 (en) 2017-10-02 2018-05-04 Selecting one node from several candidate nodes in several public clouds to establish a virtual network that spans the public clouds
US15/972,102 US11855805B2 (en) 2017-10-02 2018-05-04 Deploying firewall for virtual network defined over public cloud infrastructure
US15/972,088 2018-05-04
US15/972,103 US10841131B2 (en) 2017-10-02 2018-05-04 Distributed WAN security gateway
US15/972,091 US10608844B2 (en) 2017-10-02 2018-05-04 Graph based routing through multiple public clouds
US15/972,098 US10805114B2 (en) 2017-10-02 2018-05-04 Processing data messages of a virtual network that are sent to and received from external service machines
US15/972,091 2018-05-04
US15/972,100 US10778466B2 (en) 2017-10-02 2018-05-04 Processing data messages of a virtual network that are sent to and received from external service machines
US15/972,100 2018-05-04
US15/972,090 2018-05-04
US15/972,104 US10686625B2 (en) 2017-10-02 2018-05-04 Defining and distributing routes for a virtual network
US15/972,098 2018-05-04
US15/972,093 US10594516B2 (en) 2017-10-02 2018-05-04 Virtual network provider
US15/972,086 US11516049B2 (en) 2017-10-02 2018-05-04 Overlay network encapsulation to forward data message flows through multiple public cloud datacenters
US15/972,102 2018-05-04
US15/972,103 2018-05-04
US15/972,093 2018-05-04
PCT/US2018/053811 WO2019070611A1 (en) 2017-10-02 2018-10-01 CREATING VIRTUAL NETWORKS COVERING MULTIPLE PUBLIC CLOUDS

Publications (1)

Publication Number Publication Date
BR112020006724A2 true BR112020006724A2 (pt) 2020-10-06

Family

ID=65896280

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020006724-5A BR112020006724A2 (pt) 2017-10-02 2018-10-01 criação de redes virtuais que abrangem múltiplas nuvens públicas

Country Status (10)

Country Link
US (13) US10608844B2 (pt)
EP (2) EP3662619B1 (pt)
JP (3) JP6991646B2 (pt)
KR (3) KR102535288B1 (pt)
CN (2) CN111095876B (pt)
AU (3) AU2018345729B2 (pt)
BR (1) BR112020006724A2 (pt)
CA (2) CA3200752A1 (pt)
ES (1) ES2920281T3 (pt)
WO (1) WO2019070611A1 (pt)

Families Citing this family (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560634B2 (en) * 2007-10-17 2013-10-15 Dispersive Networks, Inc. Apparatus, systems and methods utilizing dispersive networking
US10454714B2 (en) 2013-07-10 2019-10-22 Nicira, Inc. Method and system of overlay flow control
US10749711B2 (en) 2013-07-10 2020-08-18 Nicira, Inc. Network-link method useful for a last-mile connectivity in an edge-gateway multipath system
US9596126B2 (en) 2013-10-10 2017-03-14 Nicira, Inc. Controller side method of generating and updating a controller assignment list
US10498652B2 (en) 2015-04-13 2019-12-03 Nicira, Inc. Method and system of application-aware routing with crowdsourcing
US10135789B2 (en) 2015-04-13 2018-11-20 Nicira, Inc. Method and system of establishing a virtual private network in a cloud service for branch networking
US10425382B2 (en) 2015-04-13 2019-09-24 Nicira, Inc. Method and system of a cloud-based multipath routing protocol
US9942131B2 (en) * 2015-07-29 2018-04-10 International Business Machines Corporation Multipathing using flow tunneling through bound overlay virtual machines
US10826805B2 (en) * 2016-07-11 2020-11-03 Acronis International Gmbh System and method for dynamic online backup optimization
US11706127B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US20200036624A1 (en) 2017-01-31 2020-01-30 The Mode Group High performance software-defined core network
US11252079B2 (en) 2017-01-31 2022-02-15 Vmware, Inc. High performance software-defined core network
US20180219765A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US10992568B2 (en) 2017-01-31 2021-04-27 Vmware, Inc. High performance software-defined core network
US11121962B2 (en) 2017-01-31 2021-09-14 Vmware, Inc. High performance software-defined core network
US10992558B1 (en) 2017-11-06 2021-04-27 Vmware, Inc. Method and apparatus for distributed data network traffic optimization
US10574528B2 (en) 2017-02-11 2020-02-25 Nicira, Inc. Network multi-source inbound quality of service methods and systems
US10778528B2 (en) 2017-02-11 2020-09-15 Nicira, Inc. Method and system of connecting to a multipath hub in a cluster
US10523539B2 (en) 2017-06-22 2019-12-31 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
US10959098B2 (en) 2017-10-02 2021-03-23 Vmware, Inc. Dynamically specifying multiple public cloud edge nodes to connect to an external multi-computer node
US10999165B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Three tiers of SaaS providers for deploying compute and network infrastructure in the public cloud
US10999100B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US10608844B2 (en) 2017-10-02 2020-03-31 Vmware, Inc. Graph based routing through multiple public clouds
US11089111B2 (en) 2017-10-02 2021-08-10 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US11115480B2 (en) 2017-10-02 2021-09-07 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US11223514B2 (en) 2017-11-09 2022-01-11 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
US10523450B2 (en) * 2018-02-28 2019-12-31 Oracle International Corporation Overlay network billing
US11115330B2 (en) * 2018-03-14 2021-09-07 Juniper Networks, Inc. Assisted replication with multi-homing and local bias
AU2019263471A1 (en) * 2018-05-04 2020-11-26 Digital Age Experts Llc Emulation of cloud computing service regions
US10594782B2 (en) * 2018-06-07 2020-03-17 Level 3 Communications, Llc Load distribution across superclusters
US10812337B2 (en) 2018-06-15 2020-10-20 Vmware, Inc. Hierarchical API for a SDDC
US10942788B2 (en) 2018-06-15 2021-03-09 Vmware, Inc. Policy constraint framework for an sddc
US11310107B2 (en) * 2018-06-20 2022-04-19 NEC Laboratories Europe GmbH Multi-access edge computing, MEC, system and method for operating the same
CN110661896B (zh) * 2018-06-29 2021-06-22 网宿科技股份有限公司 一种确定数据流的映射地址的方法及服务器
US11522835B2 (en) * 2018-07-03 2022-12-06 Vmware, Inc. Context based firewall service for agentless machines
US10999220B2 (en) 2018-07-05 2021-05-04 Vmware, Inc. Context aware middlebox services at datacenter edge
US11184327B2 (en) * 2018-07-05 2021-11-23 Vmware, Inc. Context aware middlebox services at datacenter edges
US11086700B2 (en) * 2018-08-24 2021-08-10 Vmware, Inc. Template driven approach to deploy a multi-segmented application in an SDDC
US20200067829A1 (en) * 2018-08-27 2020-02-27 Ca, Inc. Methods and devices for intelligent selection of channel interfaces
US10708125B1 (en) * 2018-09-05 2020-07-07 Amazon Technologies, Inc. Gateway configuration using a network manager
US20200106793A1 (en) * 2018-10-02 2020-04-02 Olympus Infotech, LLC Methods, systems, and computer program products for continuous cyber risk monitoring
US11095558B2 (en) 2018-12-28 2021-08-17 Alibaba Group Holding Limited ASIC for routing a packet
US10630677B1 (en) 2019-06-06 2020-04-21 NortonLifeLock Inc. Systems and methods for protecting users
US10911330B2 (en) * 2019-06-12 2021-02-02 Cisco Technology, Inc. Intent based application fabric
WO2021021173A1 (en) * 2019-07-31 2021-02-04 Huawei Technologies Co., Ltd. Transporting a multi-transport network context-identifier (mtnc-id) across multiple domains
CN116232990A (zh) 2019-07-31 2023-06-06 华为技术有限公司 在支持SRv6的数据面上传输MTNC-ID以实现5G传输
US10659310B1 (en) * 2019-08-16 2020-05-19 LogicMonitor, Inc. Discovering and mapping the relationships between macro-clusters of a computer network topology for an executing application
US11121985B2 (en) 2019-08-27 2021-09-14 Vmware, Inc. Defining different public cloud virtual networks for different entities based on different sets of measurements
CN110650092B (zh) * 2019-09-24 2022-05-03 网易(杭州)网络有限公司 一种数据处理的方法和装置
US11363060B2 (en) * 2019-10-24 2022-06-14 Microsoft Technology Licensing, Llc Email security in a multi-tenant email service
US11611507B2 (en) 2019-10-28 2023-03-21 Vmware, Inc. Managing forwarding elements at edge nodes connected to a virtual network
CN110784398B (zh) * 2019-11-01 2022-05-17 锱云(上海)物联网科技有限公司 一种工业物联网加工设备数据采集系统以及数据分析方法
US10965737B1 (en) * 2019-11-29 2021-03-30 Amazon Technologies, Inc. Cloud computing in communications service provider networks
US11418995B2 (en) 2019-11-29 2022-08-16 Amazon Technologies, Inc. Mobility of cloud compute instances hosted within communications service provider networks
US11470047B1 (en) * 2019-11-29 2022-10-11 Amazon Technologies, Inc. Managed virtual networks for computing cloud edge locations
US10979534B1 (en) 2019-11-29 2021-04-13 Amazon Technologies, Inc. Latency-based placement of cloud compute instances within communications service provider networks
US11394640B2 (en) 2019-12-12 2022-07-19 Vmware, Inc. Collecting and analyzing data regarding flows associated with DPI parameters
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
US11411777B2 (en) * 2020-01-14 2022-08-09 Vmware, Inc. Port mapping for bonded interfaces of ECMP group
US11438789B2 (en) 2020-01-24 2022-09-06 Vmware, Inc. Computing and using different path quality metrics for different service classes
US11323918B2 (en) * 2020-01-24 2022-05-03 Cisco Technology, Inc. Switch and backhaul capacity-based radio resource management
US11588693B2 (en) * 2020-02-26 2023-02-21 Red Hat, Inc. Migrating networking configurations
CN111404801B (zh) * 2020-03-27 2021-09-28 四川虹美智能科技有限公司 跨云厂商的数据处理方法、装置及系统
WO2021196080A1 (en) 2020-04-01 2021-10-07 Vmware Information Technology (China) Co., Ltd. Auto deploying network elements for heterogeneous compute elements
US11233824B2 (en) 2020-04-06 2022-01-25 Vmware, Inc. Site aware policy-based proximity routing and policy-based proximity routing
CN113726651B (zh) * 2020-05-25 2022-12-13 华为技术有限公司 一种路由管理方法、设备及系统
CN111683086B (zh) * 2020-06-05 2022-11-01 北京百度网讯科技有限公司 网络数据处理方法、装置、电子设备和存储介质
CN113965579B (zh) * 2020-06-29 2023-03-24 华为云计算技术有限公司 一种云服务的资源发放方法及相关设备
US11477127B2 (en) 2020-07-02 2022-10-18 Vmware, Inc. Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN
US11803408B2 (en) 2020-07-29 2023-10-31 Vmware, Inc. Distributed network plugin agents for container networking
US11863352B2 (en) 2020-07-30 2024-01-02 Vmware, Inc. Hierarchical networking for nested container clusters
US11363124B2 (en) 2020-07-30 2022-06-14 Vmware, Inc. Zero copy socket splicing
US10911407B1 (en) 2020-08-04 2021-02-02 Palo Alto Networks, Inc. Localization at scale for a cloud-based security service
US11552930B2 (en) 2020-08-31 2023-01-10 Equinix, Inc. Virtual domains within a shared device
US11362992B2 (en) 2020-09-21 2022-06-14 Vmware, Inc. Allocating additional bandwidth to resources in a datacenter through deployment of dedicated gateways
US11095612B1 (en) 2020-10-30 2021-08-17 Palo Alto Networks, Inc. Flow metadata exchanges between network and security functions for a security service
US11785048B2 (en) 2020-10-30 2023-10-10 Palo Alto Networks, Inc. Consistent monitoring and analytics for security insights for network and security functions for a security service
US11575591B2 (en) 2020-11-17 2023-02-07 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11575600B2 (en) 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
US11601356B2 (en) 2020-12-29 2023-03-07 Vmware, Inc. Emulating packet flows to assess network links for SD-WAN
CN114760167A (zh) * 2020-12-29 2022-07-15 华为技术有限公司 报文转发的方法、装置和网络系统
US11792127B2 (en) 2021-01-18 2023-10-17 Vmware, Inc. Network-aware load balancing
US11979325B2 (en) 2021-01-28 2024-05-07 VMware LLC Dynamic SD-WAN hub cluster scaling with machine learning
US11848985B2 (en) * 2021-01-29 2023-12-19 Salesforce, Inc. Mass electronic mail sending system with flexible public sending network addresses
EP4275450A1 (en) * 2021-02-08 2023-11-15 Samsung Electronics Co., Ltd. Method and communication network for providing access to localized services (pals)
CN113225405A (zh) * 2021-02-25 2021-08-06 紫光云技术有限公司 一种公有云平台下nat暂停和开启操作的方法、电子设备
KR102270143B1 (ko) * 2021-03-02 2021-06-28 주식회사 아라드네트웍스 네트워크 격리를 위한 통신 제어 방법 및 이를 이용한 장치
US11888740B2 (en) 2021-03-05 2024-01-30 Cisco Technology, Inc. Classification and forwarding node for integrating disparate headend traffic ingress services with disparate backend services
US11606290B2 (en) 2021-03-25 2023-03-14 Vmware, Inc. Connectivity between virtual datacenters
CN112948132B (zh) * 2021-04-07 2022-09-06 广西师范大学 云服务事件及服务等级合约数据的向量化方法
US20220329576A1 (en) * 2021-04-09 2022-10-13 Hewlett Packard Enterprise Development Lp Securing communication between a cloud platform and an application hosted on an on-premise private network
US12009987B2 (en) 2021-05-03 2024-06-11 VMware LLC Methods to support dynamic transit paths through hub clustering across branches in SD-WAN
EP4282140A1 (en) 2021-05-03 2023-11-29 VMware, Inc. On demand routing mesh for routing packets through sd-wan edge forwarding nodes in an sd-wan
US11637768B2 (en) 2021-05-03 2023-04-25 Vmware, Inc. On demand routing mesh for routing packets through SD-WAN edge forwarding nodes in an SD-WAN
US11729065B2 (en) 2021-05-06 2023-08-15 Vmware, Inc. Methods for application defined virtual network service among multiple transport in SD-WAN
US11582147B2 (en) 2021-05-24 2023-02-14 Vmware, Inc. Allocating additional bandwidth to resources in a datacenter through deployment of dedicated gateways
CN117178259A (zh) * 2021-05-24 2023-12-05 Vm维尔股份有限公司 通过专用网关的部署为数据中心中的资源分配附加带宽
US20220376998A1 (en) * 2021-05-24 2022-11-24 Cisco Technology, Inc. Autonomous system bottleneck detection
CN113259174B (zh) * 2021-06-07 2021-10-19 上海慧捷智能技术有限公司 一种基于多云架构的联络中心系统及其实现的方法
US11606254B2 (en) 2021-06-11 2023-03-14 Vmware, Inc. Automatic configuring of VLAN and overlay logical switches for container secondary interfaces
US11635903B2 (en) * 2021-06-15 2023-04-25 International Business Machines Corporation Cloud data migration
US12015536B2 (en) 2021-06-18 2024-06-18 VMware LLC Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds
US11489720B1 (en) 2021-06-18 2022-11-01 Vmware, Inc. Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics
US20220407915A1 (en) * 2021-06-18 2022-12-22 Vmware, Inc. Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics
US11611566B2 (en) * 2021-06-25 2023-03-21 Microsoft Technology Licensing, Llc Automatic verification of safety for virtualized networks
US11765244B1 (en) * 2021-06-30 2023-09-19 Amazon Technologies, Inc. Latency-based service discovery and routing for multi-location service-oriented applications
US11729094B2 (en) 2021-07-02 2023-08-15 Vmware, Inc. Source-based routing for virtual datacenters
US11375005B1 (en) 2021-07-24 2022-06-28 Vmware, Inc. High availability solutions for a secure access service edge application
US20230025586A1 (en) * 2021-07-24 2023-01-26 Vmware, Inc. Network management services in a secure access service edge application
KR20230021506A (ko) * 2021-08-05 2023-02-14 한국전자통신연구원 사용자 정의 기반의 가상 네트워크 설정 방법
WO2023015311A1 (en) * 2021-08-05 2023-02-09 Juniper Networks, Inc. Multiplexing tenant tunnels in software-as-a-service deployments
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
US11803569B2 (en) * 2021-10-05 2023-10-31 Procore Technologies, Inc. Computer system and method for accessing user data that is distributed within a multi-zone computing platform
WO2023105579A1 (ja) * 2021-12-06 2023-06-15 日本電信電話株式会社 パケット中継システム、および、パケット中継方法
US20230231741A1 (en) 2022-01-14 2023-07-20 Vmware, Inc. Per-namespace ip address management method for container networks
US11909815B2 (en) 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs
US11962493B2 (en) 2022-06-21 2024-04-16 VMware LLC Network address translation in active-active edge cluster
US11924046B1 (en) 2022-08-23 2024-03-05 Cisco Technology, Inc. Network hierarchy constructs enabling instant global wide area network connectivity
US11962429B1 (en) * 2022-11-02 2024-04-16 Cisco Technology, Inc. Sharing transport interfaces between tenants on multi-tenant edge devices
US20240154879A1 (en) * 2022-11-08 2024-05-09 Be Broadband Technologies (Bbt.Live) Ltd. System and method for the management and optimization of software defined networks
US11848910B1 (en) 2022-11-11 2023-12-19 Vmware, Inc. Assigning stateful pods fixed IP addresses depending on unique pod identity
US11831511B1 (en) 2023-01-17 2023-11-28 Vmware, Inc. Enforcing network policies in heterogeneous systems
US11843536B1 (en) 2023-01-18 2023-12-12 Bank Of America Corporation Systems, methods, and apparatuses for determining data routing in an electronic environment
CN116170406A (zh) * 2023-01-18 2023-05-26 阿里云计算有限公司 用于实现虚拟机与公网通信的系统和方法
US11929838B1 (en) * 2023-05-11 2024-03-12 VMware LLC Egress cost optimization for multi-cloud network
US12009998B1 (en) * 2023-05-25 2024-06-11 Cisco Technology, Inc. Core network support for application requested network service level objectives

Family Cites Families (846)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5652751A (en) 1996-03-26 1997-07-29 Hazeltine Corporation Architecture for mobile radio networks with dynamically changing topology using virtual subnets
JP2964957B2 (ja) 1996-08-15 1999-10-18 日本電気株式会社 高速ルーティング制御方式
US5909553A (en) 1997-02-19 1999-06-01 International Business Machines Corporation Systems and methods for controlling the transmission of relatively large data objects in a communications system
US6157648A (en) 1997-03-06 2000-12-05 Bell Atlantic Network Services, Inc. Network session management
US20080055241A1 (en) 1998-03-26 2008-03-06 Immersion Corporation Systems and Methods for Haptic Feedback Effects for Control Knobs
US6154465A (en) 1998-10-06 2000-11-28 Vertical Networks, Inc. Systems and methods for multiple mode voice and data communications using intelligenty bridged TDM and packet buses and methods for performing telephony and data functions using the same
JP2002525913A (ja) 1998-09-11 2002-08-13 シェアウェーブ・インコーポレーテッド コンピュータ・ネットワーク内の通信を制御するための方法および装置
US6445682B1 (en) * 1998-10-06 2002-09-03 Vertical Networks, Inc. Systems and methods for multiple mode voice and data communications using intelligently bridged TDM and packet buses and methods for performing telephony and data functions using the same
US6363378B1 (en) 1998-10-13 2002-03-26 Oracle Corporation Ranking of query feedback terms in an information retrieval system
US6578083B2 (en) 1999-02-05 2003-06-10 Pluris, Inc. Method for monitoring data flow at a node on a network facilitating data transfer on at least one link having at least one class of service
US6930983B2 (en) 2000-03-15 2005-08-16 Texas Instruments Incorporated Integrated circuits, systems, apparatus, packets and processes utilizing path diversity for media over packet applications
US6744775B1 (en) 1999-09-27 2004-06-01 Nortel Networks Limited State information and routing table updates in large scale data networks
EP2288083B1 (en) 2000-06-16 2013-07-31 Fujitsu Limited Communication device having VPN accomodation function
US20020087716A1 (en) 2000-07-25 2002-07-04 Shakeel Mustafa System and method for transmitting customized multi priority services on a single or multiple links over data link layer frames
US7003481B2 (en) 2000-08-25 2006-02-21 Flatrock Ii, Inc. Method and apparatus for providing network dependent application services
US7320017B1 (en) 2000-09-06 2008-01-15 Cisco Technology, Inc. Media gateway adapter
US9525696B2 (en) 2000-09-25 2016-12-20 Blue Coat Systems, Inc. Systems and methods for processing data flows
US6876988B2 (en) 2000-10-23 2005-04-05 Netuitive, Inc. Enhanced computer performance forecasting system
US6976087B1 (en) 2000-11-24 2005-12-13 Redback Networks Inc. Service provisioning methods and apparatus
US7333512B2 (en) 2000-12-18 2008-02-19 Rmi Corporation Dynamic mixing TDM data with data packets
US7519048B2 (en) 2000-12-28 2009-04-14 Nec Corporation Communication system and packet switching method thereof
US7536715B2 (en) 2001-05-25 2009-05-19 Secure Computing Corporation Distributed firewall system and method
JP3737385B2 (ja) 2001-06-07 2006-01-18 富士通株式会社 最適化パス設定方法及びそれを用いた網管理システム
JP3621987B2 (ja) 2001-09-07 2005-02-23 独立行政法人情報通信研究機構 無線システムのシームレス統合ネットワークシステム
US20030061269A1 (en) 2001-09-17 2003-03-27 Flow Engines, Inc. Data flow engine
DE60140471D1 (de) 2001-12-13 2009-12-24 Sony Deutschland Gmbh Adaptive Dienstqualitätsreservierung mit vorheriger Ressourcenzuweisung für Mobilfunksysteme
US20030112808A1 (en) 2001-12-13 2003-06-19 Net Reality Ltd Automatic configuration of IP tunnels
AU2003217640A1 (en) 2002-02-22 2003-09-09 The Trustees Of The University Of Pennsylvania System and method for distributing traffic in a network
JP2003258854A (ja) 2002-02-27 2003-09-12 Toshiba Corp ルータ装置及びインターネットサービスプロバイダ選択方法
US7751409B1 (en) 2002-03-20 2010-07-06 Oracle America, Inc. Logical service domains for enabling network mobility
US7289456B2 (en) 2002-04-08 2007-10-30 Telcordia Technologies, Inc. Determining and provisioning paths within a network of communication elements
US7280476B2 (en) 2002-06-04 2007-10-09 Lucent Technologies Inc. Traffic control at a network node
AU2002345467A1 (en) 2002-06-19 2004-01-06 Telefonaktiebolaget L M Ericsson (Publ) A network device driver architecture
US7086061B1 (en) 2002-08-01 2006-08-01 Foundry Networks, Inc. Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics
US8656050B2 (en) 2002-09-24 2014-02-18 Alcatel Lucent Methods and systems for efficiently configuring IP-based, virtual private networks
US7440573B2 (en) 2002-10-08 2008-10-21 Broadcom Corporation Enterprise wireless local area network switching system
US8154581B2 (en) 2002-10-15 2012-04-10 Revolutionary Concepts, Inc. Audio-video communication system for receiving person at entrance
US7606156B2 (en) 2003-10-14 2009-10-20 Delangis Eric M Residential communications gateway (RCG) for broadband communications over a plurality of standard POTS lines, with dynamic allocation of said bandwidth, that requires no additional equipment or modifications to the associated class 5 offices or the PSTN at large
US7386605B2 (en) 2002-11-05 2008-06-10 Enterasys Networks, Inc. Methods and apparatus for automated edge device configuration in a heterogeneous network
AU2003300900A1 (en) 2002-12-13 2004-07-09 Internap Network Services Corporation Topology aware route control
US7397795B2 (en) 2003-02-24 2008-07-08 Intel California Method and system for label-based packet forwarding among multiple forwarding elements
JP4354201B2 (ja) 2003-03-18 2009-10-28 富士通株式会社 不正アクセス対処システム、及び不正アクセス対処処理プログラム
US7452278B2 (en) 2003-05-09 2008-11-18 Microsoft Corporation Web access to secure data
US7373660B1 (en) 2003-08-26 2008-05-13 Cisco Technology, Inc. Methods and apparatus to distribute policy information
US7313629B1 (en) 2003-11-06 2007-12-25 Sprint Communications Company L.P. Method for altering link weights in a communication network within network parameters to provide traffic information for improved forecasting
US7903555B2 (en) 2003-12-17 2011-03-08 Intel Corporation Packet tracing
JP4398263B2 (ja) 2004-01-13 2010-01-13 富士通株式会社 経路設計方法
US7246256B2 (en) 2004-01-20 2007-07-17 International Business Machines Corporation Managing failover of J2EE compliant middleware in a high availability system
US20050159166A1 (en) 2004-01-21 2005-07-21 Telefonaktiebolaget Lm Ericsson (Publ) Quality of service controlled link adaptation
US8145785B1 (en) 2004-02-13 2012-03-27 Habanero Holdings, Inc. Unused resource recognition in real time for provisioning and management of fabric-backplane enterprise servers
US7376122B2 (en) 2004-02-23 2008-05-20 Microsoft Corporation System and method for link quality source routing
US7428214B2 (en) 2004-03-04 2008-09-23 Cisco Technology, Inc. Methods and devices for high network availability
US7496661B1 (en) 2004-03-29 2009-02-24 Packeteer, Inc. Adaptive, application-aware selection of differentiated network services
US7957266B2 (en) 2004-05-28 2011-06-07 Alcatel-Lucent Usa Inc. Efficient and robust routing independent of traffic pattern variability
US7561534B2 (en) 2004-06-30 2009-07-14 Alcatel-Lucent Usa Inc. Methods of network routing having improved resistance to faults affecting groups of links subject to common risks
US7684374B2 (en) 2004-07-28 2010-03-23 Broadcom Corporation Handling of multimedia call sessions and attachments using multi-network simulcasting
US8572234B2 (en) 2004-11-30 2013-10-29 Hewlett-Packard Development, L.P. MPLS VPN fault management using IGP monitoring system
US7936762B2 (en) 2004-12-09 2011-05-03 The Boeing Company QOS provisioning in a network having dynamic link states
US8250214B2 (en) 2004-12-20 2012-08-21 Vmware, Inc. System, method and computer program product for communicating with a private network
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
CA2590669A1 (en) 2004-12-31 2006-07-06 British Telecommunications Public Limited Company Method to run a connectionless network as a connection oriented network
EP1679835A1 (en) 2005-01-07 2006-07-12 Koninklijke KPN N.V. Method, device and system for predicting a data session time
US7395277B2 (en) 2005-01-25 2008-07-01 International Business Machines Corporation Content framework method
US20060171365A1 (en) 2005-02-02 2006-08-03 Utstarcom, Inc. Method and apparatus for L2TP dialout and tunnel switching
US9306831B2 (en) 2005-02-14 2016-04-05 Cisco Technology, Inc. Technique for efficient load balancing of TE-LSPs
US7609619B2 (en) 2005-02-25 2009-10-27 Cisco Technology, Inc. Active-active data center using RHI, BGP, and IGP anycast for disaster recovery and load distribution
US7710865B2 (en) 2005-02-25 2010-05-04 Cisco Technology, Inc. Disaster recovery for active-standby data center using route health and BGP
US7701851B2 (en) 2005-07-20 2010-04-20 Vidyo, Inc. System and method for the control of the transmission rate in packet-based digital communications
US7945678B1 (en) 2005-08-05 2011-05-17 F5 Networks, Inc. Link load balancer that controls a path for a client to connect to a resource
CN1909501A (zh) 2005-08-05 2007-02-07 华为技术有限公司 一种端到端业务快速收敛的方法和路由设备
US7426626B2 (en) 2005-08-23 2008-09-16 Qualcomm Incorporated TLB lock indicator
US7920572B2 (en) 2005-09-20 2011-04-05 Cisco Technology, Inc. Modifying operation of peer-to-peer networks based on integrating network routing information
US8259566B2 (en) 2005-09-20 2012-09-04 Qualcomm Incorporated Adaptive quality of service policy for dynamic networks
US7401198B2 (en) 2005-10-06 2008-07-15 Netapp Maximizing storage system throughput by measuring system performance metrics
US20070091794A1 (en) 2005-10-20 2007-04-26 Clarence Filsfils Method of constructing a backup path in an autonomous system
US20070115812A1 (en) 2005-11-22 2007-05-24 Silver Peak Systems, Inc. Sequence numbers for multiple quality of service levels
US7693047B2 (en) 2005-11-28 2010-04-06 Cisco Technology, Inc. System and method for PE-node protection
US20070162639A1 (en) 2005-11-30 2007-07-12 Chu Hsiao-Keng J TCP-offload-engine based zero-copy sockets
US7673042B2 (en) 2005-12-06 2010-03-02 Shunra Software, Ltd. System and method for comparing service levels to a service level objective
US8141156B1 (en) 2005-12-28 2012-03-20 At&T Intellectual Property Ii, L.P. Method and apparatus for mitigating routing misbehavior in a network
US7581022B1 (en) 2005-12-29 2009-08-25 At&T Corp. Method for tunable inter domain egress selection
CN101356783B (zh) 2006-01-12 2014-06-04 博通以色列研发公司 虚拟化网络环境中具有i/o共享的协议卸载和直接i/o的方法和系统
US7633956B1 (en) 2006-01-19 2009-12-15 Cisco Technology, Inc. System and method for providing support for multipoint L2VPN services in devices without local bridging
US9015299B1 (en) 2006-01-20 2015-04-21 Cisco Technology, Inc. Link grouping for route optimization
US7680925B2 (en) 2006-01-24 2010-03-16 Cisco Technology, Inc. Method and system for testing provisioned services in a network
US7633882B2 (en) 2006-02-02 2009-12-15 Eaton Corporation Ad-hoc network and method employing globally optimized routes for packets
US20150003240A1 (en) 2006-02-21 2015-01-01 Rockstar Consortium Us Lp Adaptive call routing in ip networks
US7873025B2 (en) 2006-02-23 2011-01-18 Cisco Technology, Inc. Network device that determines application-level network latency by monitoring option values in a transport layer message
US7729257B2 (en) 2006-03-30 2010-06-01 Alcatel-Lucent Usa Inc. Method and apparatus for link transmission scheduling for handling traffic variation in wireless mesh networks
US7865615B2 (en) 2006-05-08 2011-01-04 Cisco Technology, Inc. Maintaining IGP transparency of VPN routes when BGP is used as a PE-CE protocol
US7953020B2 (en) 2006-05-22 2011-05-31 At&T Intellectual Property Ii, L.P. Method for implementing and reporting one-way network measurements
US8488447B2 (en) 2006-06-30 2013-07-16 Centurylink Intellectual Property Llc System and method for adjusting code speed in a transmission path during call set-up due to reduced transmission performance
DE102006032832A1 (de) 2006-07-14 2008-01-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Netzwerksystem und Verfahren zur Steuerung verteilter Speicher
WO2008011354A2 (en) 2006-07-18 2008-01-24 Gordon Bolt Controlled incremental multi-protocol label switching (mpls) traffic engineering
US8566452B1 (en) 2006-08-03 2013-10-22 F5 Networks, Inc. Intelligent HTTP based load-balancing, persistence, and application traffic management of SSL VPN tunnels
US7907595B2 (en) 2006-09-29 2011-03-15 Avaya, Inc. Method and apparatus for learning endpoint addresses of IPSec VPN tunnels
KR100817798B1 (ko) 2006-10-20 2008-03-31 한국정보보호진흥원 인터넷 제어 메시지 프로토콜의 타임스탬프 기능을 이용한네트워크 링크 가용 대역폭 추정 방법
US7885180B2 (en) 2006-12-15 2011-02-08 Check Point Software Technologies Inc. Address resolution request mirroring
US7830804B2 (en) 2007-01-17 2010-11-09 Sierra Wireless, Inc. Quality of service application programming interface over socket
WO2008089305A2 (en) 2007-01-17 2008-07-24 Nortel Networks Limited Border gateway protocol procedures for mpls and layer-2 vpn using ethernet-based tunnels
CN100484037C (zh) 2007-03-14 2009-04-29 华为技术有限公司 设备跟踪系统、装置及方法
US8205246B2 (en) 2007-05-10 2012-06-19 Cisco Technology, Inc. User sensitive filtering of network application layer resources
US8111692B2 (en) 2007-05-31 2012-02-07 Embarq Holdings Company Llc System and method for modifying network traffic
EP2208311B1 (en) * 2007-06-19 2012-08-22 Sand Holdings, LLC An autonomous, automatic-reset/restore client and a monitoring system
US8094659B1 (en) 2007-07-09 2012-01-10 Marvell Israel (M.I.S.L) Ltd. Policy-based virtual routing and forwarding (VRF) assignment
US7974264B2 (en) 2007-07-13 2011-07-05 Michael Rothschild Method and a system for determining the spatial location of nodes in a wireless network
EP2201474B1 (en) 2007-10-03 2020-05-06 NTT Global Networks Incorporated Virtualized application acceleration infrastructure
US8560634B2 (en) 2007-10-17 2013-10-15 Dispersive Networks, Inc. Apparatus, systems and methods utilizing dispersive networking
CA2704958A1 (en) 2007-11-05 2009-05-14 Intelli-Check--Mobilisa Inc. Dynamic access control in response to flexible rules
US8667095B2 (en) 2007-11-09 2014-03-04 Cisco Technology, Inc. Local auto-configuration of network devices connected to multipoint virtual connections
US8503334B2 (en) 2007-12-14 2013-08-06 Level 3 Communications, Llc System and method for providing network services over shared virtual private network (VPN)
US9130968B2 (en) 2008-01-16 2015-09-08 Netapp, Inc. Clustered cache appliance system and methodology
GB2458154B (en) 2008-03-07 2012-06-27 Hewlett Packard Development Co Routing across a virtual network
US8681709B2 (en) 2008-03-27 2014-03-25 At&T Mobility Ii Llc Dynamic allocation of communications resources
US8170123B1 (en) 2008-04-15 2012-05-01 Desktone, Inc. Media acceleration for virtual computing services
US8964548B1 (en) 2008-04-17 2015-02-24 Narus, Inc. System and method for determining network application signatures using flow payloads
US8395989B2 (en) 2008-04-23 2013-03-12 Verizon Patent And Licensing Inc. Method and system for network backbone analysis
US8001413B2 (en) 2008-05-05 2011-08-16 Microsoft Corporation Managing cluster split-brain in datacenter service site failover
US8160063B2 (en) 2008-06-09 2012-04-17 Microsoft Corporation Data center interconnect and traffic engineering
US8125907B2 (en) 2008-06-12 2012-02-28 Talari Networks Incorporated Flow-based adaptive private network with multiple WAN-paths
US7962458B2 (en) 2008-06-12 2011-06-14 Gravic, Inc. Method for replicating explicit locks in a data replication engine
US9717021B2 (en) 2008-07-03 2017-07-25 Silver Peak Systems, Inc. Virtual network overlay
US8098663B2 (en) 2008-07-08 2012-01-17 Cisco Technology, Inc. Carrier's carrier without customer-edge-to-customer-edge border gateway protocol
US8243589B1 (en) 2008-08-14 2012-08-14 United Services Automobile Association (Usaa) Systems and methods for data center load balancing
JP5074327B2 (ja) 2008-08-21 2012-11-14 株式会社日立製作所 経路制御システム
US9715401B2 (en) 2008-09-15 2017-07-25 International Business Machines Corporation Securing live migration of a virtual machine from a secure virtualized computing environment, over an unsecured network, to a different virtualized computing environment
US7974219B2 (en) 2008-09-26 2011-07-05 Hewlett-Packard Development Company, L.P. Network troubleshooting using path topology
US8006129B2 (en) 2008-10-03 2011-08-23 Cisco Technology, Inc. Detecting and preventing the split-brain condition in redundant processing units
US9270595B2 (en) 2008-10-10 2016-02-23 Hewlett Packard Enterprise Development Lp Method and system for controlling a delay of packet processing using loop paths
US7978612B2 (en) 2008-10-13 2011-07-12 Cisco Technology, Inc. Two-hop relay for reducing distance vector routing information
US8116225B2 (en) 2008-10-31 2012-02-14 Venturi Wireless Method and apparatus for estimating channel bandwidth
US9929964B2 (en) 2008-11-12 2018-03-27 Teloip Inc. System, apparatus and method for providing aggregation of connections with a secure and trusted virtual network overlay
US8155158B2 (en) 2008-11-12 2012-04-10 Patricio Humberto Saavedra System, apparatus and method for providing aggregated network connections
US20100128600A1 (en) 2008-11-26 2010-05-27 A T & T Intellectual Property I, L.P. Automated Network Fault Analysis
US8442043B2 (en) 2008-12-29 2013-05-14 Cisco Technology, Inc. Service selection mechanism in service insertion architecture data plane
US20110302068A1 (en) 2010-06-04 2011-12-08 David Garrett Method and system for multi-tier billing for downloading content via a broadband gateway
US8893009B2 (en) 2009-01-28 2014-11-18 Headwater Partners I Llc End user device that secures an association of application to service policy with an application certificate check
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US8289997B2 (en) 2009-02-02 2012-10-16 Novara Technology, LLC Bandwidth sharing in a distributed wireless client application using inverse multiplexing termination
US7961599B2 (en) 2009-03-03 2011-06-14 Alcatel Lucent Pseudowire tunnel redundancy
US8094575B1 (en) 2009-03-24 2012-01-10 Juniper Networks, Inc. Routing protocol extension for network acceleration service-aware path selection within computer networks
JP5391777B2 (ja) 2009-03-30 2014-01-15 日本電気株式会社 経路選択方法及び経路選択システム並びにそれに用いるルータ
US8582502B2 (en) 2009-06-04 2013-11-12 Empire Technology Development Llc Robust multipath routing
US8199753B2 (en) 2009-06-05 2012-06-12 Juniper Networks, Inc. Forwarding frames in a computer network using shortest path bridging
US10785117B2 (en) 2009-06-11 2020-09-22 Talari Networks Incorporated Methods and apparatus for configuring a standby WAN link in an adaptive private network
US9069727B2 (en) 2011-08-12 2015-06-30 Talari Networks Incorporated Adaptive private network with geographically redundant network control nodes
US9210065B2 (en) 2009-06-22 2015-12-08 Alcatel Lucent Providing cloud-based services using dynamic network virtualization
US8489744B2 (en) 2009-06-29 2013-07-16 Red Hat Israel, Ltd. Selecting a host from a host cluster for live migration of a virtual machine
US8885667B2 (en) 2009-07-10 2014-11-11 Time Warner Cable Enterprises Llc Destination based methodology for managing network resources
JP5398410B2 (ja) 2009-08-10 2014-01-29 アラクサラネットワークス株式会社 ネットワークシステム,パケット転送装置,パケット転送方法及びコンピュータプログラム
US8744807B2 (en) 2009-08-10 2014-06-03 Siemens Aktiengesellschaft Scalable and extensible framework for storing and analyzing sensor data
US8346808B2 (en) 2009-08-12 2013-01-01 Westell Technologies, Inc. System and method of accessing resources in a computer network
US8787380B2 (en) 2009-08-20 2014-07-22 Nec Europe Ltd. Method for controlling the traffic within a network structure and a network structure
CN102025591B (zh) 2009-09-18 2013-12-18 中兴通讯股份有限公司 虚拟专用网络的实现方法及系统
CN102035814B (zh) 2009-09-30 2014-08-27 瞻博网络公司 通过vpn ipsec隧道确保服务质量
US8619779B2 (en) 2009-09-30 2013-12-31 Alcatel Lucent Scalable architecture for enterprise extension in a cloud topology
IN2012DN02858A (pt) 2009-10-13 2015-07-24 Ericsson Telefon Ab L M
US8260830B2 (en) 2009-11-09 2012-09-04 Middlecamp William J Adapting a timer bounded arbitration protocol
US8488491B2 (en) 2009-11-12 2013-07-16 Cisco Technology, Inc. Compressed virtual routing and forwarding in a communications network
JP5392049B2 (ja) 2009-12-11 2014-01-22 富士通株式会社 経路制御方法、通信システム、及び通信装置
US8422379B2 (en) 2009-12-15 2013-04-16 At&T Intellectual Property I, Lp Method of simple and efficient failure resilient load balancing
US20110153909A1 (en) 2009-12-22 2011-06-23 Yao Zu Dong Efficient Nested Virtualization
US8224971B1 (en) 2009-12-28 2012-07-17 Amazon Technologies, Inc. Using virtual networking devices and routing information to initiate external actions
US8452932B2 (en) 2010-01-06 2013-05-28 Storsimple, Inc. System and method for efficiently creating off-site data volume back-ups
US9378473B2 (en) 2010-02-17 2016-06-28 Alexander Wolfe Content and application delivery network aggregation
CN102783089B (zh) 2010-03-10 2017-06-06 瑞典爱立信有限公司 用于估计子路径的可用带宽的方法
US8588066B2 (en) 2010-03-26 2013-11-19 Citrix Systems, Inc. Systems and methods for link load balancing on a multi-core device
US8665722B2 (en) 2010-03-29 2014-03-04 Ted Szymanski Method to achieve bounded buffer sizes and quality of service guarantees in the internet network
CA2796431C (en) 2010-04-15 2018-04-10 Vonage Network, Llc Systems and methods of improving the quality of voip communications
US9300576B2 (en) 2010-05-03 2016-03-29 Pluribus Networks Inc. Methods, systems, and fabrics implementing a distributed network operating system
US8724456B1 (en) 2010-05-19 2014-05-13 Juniper Networks, Inc. Network path selection for multi-homed edges to ensure end-to-end resiliency
US8799504B2 (en) 2010-07-02 2014-08-05 Netgear, Inc. System and method of TCP tunneling
US8705530B2 (en) 2010-07-29 2014-04-22 At&T Intellectual Property I, L.P. Methods and apparatus to implement multipoint and replicated communication paths using upstream and recursive downstream label mappings
US8989185B2 (en) 2010-08-05 2015-03-24 Thomson Licensing Method and apparatus for converting a multicast session to a unicast session
US9323561B2 (en) 2010-08-13 2016-04-26 International Business Machines Corporation Calibrating cloud computing environments
US9215175B2 (en) 2010-09-09 2015-12-15 Nec Corporation Computer system including controller and plurality of switches and communication method in computer system
WO2012038722A1 (en) 2010-09-24 2012-03-29 Bae Systems Plc Admission control in a self aware network
US8547835B2 (en) 2010-10-21 2013-10-01 Telefonaktiebolaget L M Ericsson (Publ) Controlling IP flows to bypass a packet data network gateway using multi-path transmission control protocol connections
US8589558B2 (en) 2010-11-29 2013-11-19 Radware, Ltd. Method and system for efficient deployment of web applications in a multi-datacenter system
WO2012078142A1 (en) 2010-12-07 2012-06-14 Empire Technology Development Llc Audio fingerprint differences for end-to-end quality of experience measurement
US8385225B1 (en) 2010-12-14 2013-02-26 Google Inc. Estimating round trip time of a network path
US9031059B2 (en) 2010-12-17 2015-05-12 Verizon Patent And Licensing Inc. Fixed mobile convergence and voice call continuity using a mobile device/docking station
US9330162B2 (en) 2010-12-21 2016-05-03 Telefonaktiebolaget L M Ericsson Method and apparatus for providing temporal context for recommending content for consumption by a user device
US8806482B1 (en) 2011-01-06 2014-08-12 Amazon Technologies, Inc. Interaction with a virtual network
US9009217B1 (en) 2011-01-06 2015-04-14 Amazon Technologies, Inc. Interaction with a virtual network
US9135037B1 (en) 2011-01-13 2015-09-15 Google Inc. Virtual network protocol
US10637782B2 (en) 2011-03-23 2020-04-28 Hughes Network Systems, Llc System and method for policy-based multipath WAN transports for improved quality of service over broadband networks
US8462780B2 (en) 2011-03-30 2013-06-11 Amazon Technologies, Inc. Offload device-based stateless packet processing
US8774213B2 (en) 2011-03-30 2014-07-08 Amazon Technologies, Inc. Frameworks and interfaces for offload device-based packet processing
US8661295B1 (en) 2011-03-31 2014-02-25 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
US20120266026A1 (en) 2011-04-18 2012-10-18 Ramya Malanai Chikkalingaiah Detecting and diagnosing misbehaving applications in virtualized computing systems
WO2012154506A1 (en) 2011-05-06 2012-11-15 Interdigital Patent Holdings, Inc. Method and apparatus for bandwidth aggregation for ip flow
US9253252B2 (en) 2011-05-06 2016-02-02 Citrix Systems, Inc. Systems and methods for cloud bridging between intranet resources and cloud resources
US9054999B2 (en) 2012-05-09 2015-06-09 International Business Machines Corporation Static TRILL routing
US8873398B2 (en) 2011-05-23 2014-10-28 Telefonaktiebolaget L M Ericsson (Publ) Implementing EPC in a cloud computer with openflow data plane
US9154327B1 (en) 2011-05-27 2015-10-06 Cisco Technology, Inc. User-configured on-demand virtual layer-2 network for infrastructure-as-a-service (IaaS) on a hybrid cloud network
JP5672154B2 (ja) 2011-05-31 2015-02-18 株式会社バッファロー ネットワークシステム、ゲートウェイ装置、経路決定方法、プログラム、および記憶媒体
EP2716132A2 (en) 2011-06-02 2014-04-09 Interdigital Patent Holdings, Inc. Methods, apparatus, and systems for managing converged gateway communications
US9304798B2 (en) * 2011-06-07 2016-04-05 Hewlett Packard Enterprise Development Lp Scalable multi-tenant network architecture for virtualized datacenters
US20120317270A1 (en) 2011-06-10 2012-12-13 Alcatel-Lucent Usa Inc. Intelligent presence cost management based upon congestion status and subscriber profile
US20120331160A1 (en) 2011-06-22 2012-12-27 Telefonaktiebolaget L M Ericsson (Publ) Multi-path transmission control protocol proxy service
US8804745B1 (en) 2011-06-27 2014-08-12 Amazon Technologies, Inc. Virtualization mapping
US8661287B2 (en) 2011-06-30 2014-02-25 Rackspace Us, Inc. Automatically performing failover operations with a load balancer
US9100305B2 (en) 2011-07-12 2015-08-04 Cisco Technology, Inc. Efficient admission control for low power and lossy networks
KR101607180B1 (ko) 2011-08-17 2016-03-29 후아웨이 테크놀러지 컴퍼니 리미티드 패킷 재조립 및 재배열 방법, 장치 및 시스템
JP5870192B2 (ja) 2011-08-17 2016-02-24 ニシラ, インコーポレイテッド 論理l3ルーティング
US8830835B2 (en) 2011-08-17 2014-09-09 Nicira, Inc. Generating flows for managed interconnection switches
US8630291B2 (en) 2011-08-22 2014-01-14 Cisco Technology, Inc. Dynamic multi-path forwarding for shared-media communication networks
CA2750345C (en) 2011-08-24 2013-06-18 Guest Tek Interactive Entertainment Ltd. Method of allocating bandwidth between zones according to user load and bandwidth management system thereof
US10044678B2 (en) 2011-08-31 2018-08-07 At&T Intellectual Property I, L.P. Methods and apparatus to configure virtual private mobile networks with virtual private networks
US8797874B2 (en) 2011-09-09 2014-08-05 Futurewei Technologies, Inc. Apparatus and system for packet routing and forwarding in an interior network
US8811212B2 (en) 2012-02-22 2014-08-19 Telefonaktiebolaget L M Ericsson (Publ) Controller placement for fast failover in the split architecture
CN102377630A (zh) 2011-10-13 2012-03-14 华为技术有限公司 基于流量工程隧道的虚拟专用网络实现方法及系统
US9923826B2 (en) 2011-10-14 2018-03-20 Citrix Systems, Inc. Systems and methods for dynamic adaptation of network accelerators
US9300548B2 (en) 2011-10-14 2016-03-29 Alcatel Lucent Providing dynamic reliability and security in communications environments
US20130103834A1 (en) 2011-10-21 2013-04-25 Blue Coat Systems, Inc. Multi-Tenant NATting for Segregating Traffic Through a Cloud Service
US8700683B2 (en) 2011-10-24 2014-04-15 Nokia Corporation Method and apparatus for providing a key-value based storage interface
US8745177B1 (en) 2011-11-01 2014-06-03 Edgecast Networks, Inc. End-to-end monitoring and optimization of a content delivery network using anycast routing
CN103095543B (zh) 2011-11-07 2016-10-05 华为技术有限公司 用于域间虚拟专用网络对接的方法和设备
KR20130050156A (ko) 2011-11-07 2013-05-15 한국전자통신연구원 가상 주소 공간 전환 장치
US8769089B2 (en) 2011-11-15 2014-07-01 International Business Machines Corporation Distributed application using diagnostic heartbeating
US8756453B2 (en) 2011-11-15 2014-06-17 International Business Machines Corporation Communication system with diagnostic capabilities
US8874974B2 (en) 2011-11-15 2014-10-28 International Business Machines Corporation Synchronizing a distributed communication system using diagnostic heartbeating
US20130142201A1 (en) 2011-12-02 2013-06-06 Microsoft Corporation Connecting on-premise networks with public clouds
CN103166824B (zh) 2011-12-13 2016-09-28 华为技术有限公司 一种互联方法、装置和系统
US9411655B2 (en) 2011-12-30 2016-08-09 Dell Products, Lp System and method for detection and deployment of virtualization capable assets in a managed datacenter
CN102413061B (zh) 2011-12-31 2015-04-15 杭州华三通信技术有限公司 一种报文传输方法及设备
US8855071B1 (en) 2012-01-04 2014-10-07 Juniper Networks, Inc. Handling errors in subscriber session management within mobile networks
US8908698B2 (en) 2012-01-13 2014-12-09 Cisco Technology, Inc. System and method for managing site-to-site VPNs of a cloud managed network
US20130185729A1 (en) 2012-01-13 2013-07-18 Rutgers, The State University Of New Jersey Accelerating resource allocation in virtualized environments using workload classes and/or workload signatures
US9106555B2 (en) 2012-01-25 2015-08-11 Cisco Technology, Inc. Troubleshooting routing topology based on a reference topology
US8660129B1 (en) 2012-02-02 2014-02-25 Cisco Technology, Inc. Fully distributed routing over a user-configured on-demand virtual network for infrastructure-as-a-service (IaaS) on hybrid cloud networks
CN104106242B (zh) 2012-02-24 2017-06-13 华为技术有限公司 分片网络中委托转发和地址解析
US20130223226A1 (en) 2012-02-29 2013-08-29 Dell Products, Lp System and Method for Providing a Split Data Plane in a Flow-Based Switching Device
US20130238782A1 (en) 2012-03-09 2013-09-12 Alcatel-Lucent Usa Inc. Method and apparatus for identifying an application associated with an ip flow using dns data
US8730793B2 (en) 2012-03-16 2014-05-20 Avaya Inc. Method and apparatus providing network redundancy and high availability to remote network nodes
US8892936B2 (en) 2012-03-20 2014-11-18 Symantec Corporation Cluster wide consistent detection of interconnect failures
US8885562B2 (en) 2012-03-28 2014-11-11 Telefonaktiebolaget L M Ericsson (Publ) Inter-chassis redundancy with coordinated traffic direction
US8730806B2 (en) 2012-04-03 2014-05-20 Telefonaktiebolaget L M Ericsson (Publ) Congestion control and resource allocation in split architecture networks
US8856339B2 (en) 2012-04-04 2014-10-07 Cisco Technology, Inc. Automatically scaled network overlay with heuristic monitoring in a hybrid cloud environment
US8923149B2 (en) 2012-04-09 2014-12-30 Futurewei Technologies, Inc. L3 gateway for VXLAN
US9996370B1 (en) 2012-04-18 2018-06-12 Open Invention Network Llc Page swapping in virtual machine environment
US9203784B2 (en) 2012-04-24 2015-12-01 Cisco Technology, Inc. Distributed virtual switch architecture for a hybrid cloud
US9071541B2 (en) 2012-04-25 2015-06-30 Juniper Networks, Inc. Path weighted equal-cost multipath
US9389920B2 (en) 2012-05-02 2016-07-12 Futurewei Technologies, Inc. Intelligent data center cluster selection
JP5991013B2 (ja) 2012-05-08 2016-09-14 富士通株式会社 基地局及び無線リソース割当て方法
US9379971B2 (en) 2012-05-11 2016-06-28 Simula Inovation AS Method and apparatus for determining paths between source/destination pairs
US9602348B2 (en) 2012-05-15 2017-03-21 Telefonaktiebolaget Lm Ericsson Methods and apparatus for detecting and handling split brain issues in a link aggregation group
WO2013173973A1 (zh) 2012-05-22 2013-11-28 华为技术有限公司 网络通信方法和装置
TWI482469B (zh) 2012-05-23 2015-04-21 Gemtek Technology Co Ltd 路由裝置
US10063443B2 (en) 2012-05-29 2018-08-28 Openet Telecom Ltd. System and method for managing VoLTE session continuity information using logical scalable units
US8959185B2 (en) 2012-06-06 2015-02-17 Juniper Networks, Inc. Multitenant server for virtual networks within datacenter
US9898317B2 (en) 2012-06-06 2018-02-20 Juniper Networks, Inc. Physical path determination for virtual network packet flows
US9647938B2 (en) 2012-06-11 2017-05-09 Radware, Ltd. Techniques for providing value-added services in SDN-based networks
US9729424B2 (en) 2012-06-11 2017-08-08 Futurewei Technologies, Inc. Defining data flow paths in software-defined networks with application-layer traffic optimization
US10031782B2 (en) 2012-06-26 2018-07-24 Juniper Networks, Inc. Distributed processing of network device tasks
US9100329B1 (en) 2012-06-28 2015-08-04 Juniper Networks, Inc. Providing non-interrupt failover using a link aggregation mechanism
US9203764B2 (en) 2012-07-11 2015-12-01 Telefonaktiebolaget L M Ericsson (Publ) Quality of experience enhancement through feedback for adjusting the quality of service in communication networks
US9819658B2 (en) 2012-07-12 2017-11-14 Unisys Corporation Virtual gateways for isolating virtual machines
WO2014027989A1 (en) 2012-08-13 2014-02-20 Unify Gmbh & Co. Kg Method and apparatus for indirectly assessing a status of an active entity
US9210079B2 (en) 2012-08-14 2015-12-08 Vmware, Inc. Method and system for virtual and physical network integration
US9563480B2 (en) 2012-08-21 2017-02-07 Rackspace Us, Inc. Multi-level cloud computing system
US9331940B2 (en) 2012-08-28 2016-05-03 Alcatel Lucent System and method providing distributed virtual routing and switching (DVRS)
CN103227843B (zh) 2012-08-31 2016-05-04 杭州华三通信技术有限公司 一种物理链路地址管理方法及装置
CN103685026A (zh) 2012-08-31 2014-03-26 中兴通讯股份有限公司 一种虚拟网络的接入方法和系统
US9807613B2 (en) 2012-09-06 2017-10-31 Dell Products, Lp Collaborative method and system to improve carrier network policies with context aware radio communication management
US9106548B2 (en) 2012-09-11 2015-08-11 Telefonaktiebolaget L M Ericsson (Publ) Network fault localization
WO2014052878A1 (en) 2012-09-28 2014-04-03 Cornell University System and methods for improved network routing
CN103731407B (zh) 2012-10-12 2017-08-11 华为技术有限公司 Ike报文协商的方法及系统
US9917865B2 (en) 2012-10-16 2018-03-13 Citrix Systems, Inc. Systems and methods for bridging between public and private clouds through multilevel API integration
US20140112171A1 (en) 2012-10-23 2014-04-24 Mr. Babak PASDAR Network system and method for improving routing capability
US9223635B2 (en) 2012-10-28 2015-12-29 Citrix Systems, Inc. Network offering in cloud computing environment
US9497250B2 (en) 2012-10-29 2016-11-15 International Business Machines Corporation Runtime grouping of tuples in a streaming application
US9930011B1 (en) 2012-11-30 2018-03-27 United Services Automobile Association (Usaa) Private network request forwarding
US9417922B2 (en) 2012-12-03 2016-08-16 Cutting Edge Consulting Associates, Inc. Systems and methods for protecting an identity in network communications
CN103688489B (zh) 2012-12-03 2017-02-22 华为技术有限公司 一种策略处理的方法及网络设备
US9185114B2 (en) 2012-12-05 2015-11-10 Symantec Corporation Methods and systems for secure storage segmentation based on security context in a virtual environment
KR20140073243A (ko) 2012-12-06 2014-06-16 삼성전자주식회사 Http 메시지 처리 방법 및 장치
US9338225B2 (en) 2012-12-06 2016-05-10 A10 Networks, Inc. Forwarding policies on a virtual service network
US20140164718A1 (en) 2012-12-07 2014-06-12 Open Kernel Labs, Inc. Methods and apparatus for sharing memory between multiple processes of a virtual machine
US10057183B2 (en) 2012-12-07 2018-08-21 Hewlett Packard Enterprise Development Lp Network resource management
US9055000B1 (en) 2012-12-17 2015-06-09 Juniper Networks, Inc. Distributed network subnet
US9515899B2 (en) 2012-12-19 2016-12-06 Veritas Technologies Llc Providing optimized quality of service to prioritized virtual machines and applications based on quality of shared resources
US9053058B2 (en) 2012-12-20 2015-06-09 Apple Inc. QoS inband upgrade
US9563423B1 (en) 2012-12-21 2017-02-07 EMC IP Holding Company LLC System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
US9203748B2 (en) 2012-12-24 2015-12-01 Huawei Technologies Co., Ltd. Software defined network-based data processing method, node, and system
US9680870B2 (en) 2012-12-28 2017-06-13 Verizon Patent And Licensing Inc. Software-defined networking gateway
WO2014108173A1 (en) 2013-01-08 2014-07-17 Telefonaktiebolaget L M Ericsson (Publ) Distributed traffic inspection in a telecommunications network
US9621460B2 (en) 2013-01-14 2017-04-11 Versa Networks, Inc. Connecting multiple customer sites over a wide area network using an overlay network
JP6024474B2 (ja) 2013-01-23 2016-11-16 富士通株式会社 マルチテナントシステム、管理装置、管理プログラム、およびマルチテナントシステムの制御方法
EP2763362A1 (en) 2013-01-31 2014-08-06 Thomson Licensing A method for connecting a multi-homed and MPTCP capable client with a regular TCP server
US9060025B2 (en) 2013-02-05 2015-06-16 Fortinet, Inc. Cloud-based security policy configuration
EP2945320B1 (en) 2013-02-06 2018-01-31 Huawei Technologies Co., Ltd. Method, device and routing system for data transmission of network virtualization
US9225647B2 (en) 2013-02-11 2015-12-29 Vmware, Inc. Distributed deep packet inspection
WO2014127280A2 (en) 2013-02-14 2014-08-21 Huawei Technologies Co., Ltd. System and method for network resource allocation considering user experience, satisfaction and operator interest
JP5953421B2 (ja) 2013-02-25 2016-07-20 株式会社日立製作所 仮想サーバおよび非仮想サーバ混在環境におけるテナントネットワーク構成の管理方法
US9525564B2 (en) 2013-02-26 2016-12-20 Zentera Systems, Inc. Secure virtual network platform for enterprise hybrid cloud computing environments
US9699034B2 (en) 2013-02-26 2017-07-04 Zentera Systems, Inc. Secure cloud fabric to connect subnets in different network domains
US10348767B1 (en) 2013-02-26 2019-07-09 Zentera Systems, Inc. Cloud over IP session layer network
US9065734B2 (en) 2013-03-08 2015-06-23 Telefonaktiebolaget L M Ericsson (Publ) Network bandwidth allocation in multi-tenancy cloud computing networks
US9306949B1 (en) 2013-03-12 2016-04-05 Amazon Technologies, Inc. Configure interconnections between networks hosted in datacenters
US20140269690A1 (en) 2013-03-13 2014-09-18 Qualcomm Incorporated Network element with distributed flow tables
WO2014153233A1 (en) 2013-03-14 2014-09-25 Google Inc. Systems and methods for wireless backhaul transport
WO2014153237A1 (en) 2013-03-14 2014-09-25 Google Inc. Optimizing packet/frame forwarding or routing in a wireless backhaul transport system
US9450817B1 (en) 2013-03-15 2016-09-20 Juniper Networks, Inc. Software defined network controller
US9832205B2 (en) 2013-03-15 2017-11-28 International Business Machines Corporation Cross provider security management functionality within a cloud service brokerage platform
US9477500B2 (en) 2013-03-15 2016-10-25 Avi Networks Managing and controlling a distributed network service platform
US8818892B1 (en) 2013-03-15 2014-08-26 Palantir Technologies, Inc. Prioritizing data clusters with customizable scoring strategies
US9075771B1 (en) 2013-03-15 2015-07-07 Symantec Corporation Techniques for managing disaster recovery sites
US9354983B1 (en) 2013-03-15 2016-05-31 Entreda, Inc. Integrated it service provisioning and management
US9628328B2 (en) 2013-03-15 2017-04-18 Rackspace Us, Inc. Network controller with integrated resource management capability
WO2014147197A1 (en) 2013-03-20 2014-09-25 Wolting Holding B.V. Compiler for and method for software defined networks
EP2784996A1 (en) 2013-03-27 2014-10-01 British Telecommunications public limited company Deadline driven content delivery
JP5977706B2 (ja) 2013-03-29 2016-08-24 株式会社日立ソリューションズ データ交換システム、及び仮想プライベートクラウド間でデータ交換を可能とする環境を設定する方法
US9432245B1 (en) 2013-04-16 2016-08-30 Amazon Technologies, Inc. Distributed load balancer node architecture
US10021027B2 (en) 2013-04-30 2018-07-10 Comcast Cable Communications, Llc Network validation with dynamic tunneling
US20140337674A1 (en) 2013-05-10 2014-11-13 Nec Laboratories America, Inc. Network Testing
US20140355441A1 (en) 2013-05-29 2014-12-04 Ashok Kumar Jain Method and apparatus of delivering assured services over unreliable internet infrastructure by using virtual overlay network architecture over a public cloud backbone
JP6310066B2 (ja) 2013-05-31 2018-04-11 テレコム・イタリア・エッセ・ピー・アー パケット交換通信ネットワークのリンクのパフォーマンス測定
CN104219147B (zh) 2013-06-05 2018-10-16 中兴通讯股份有限公司 边缘设备的vpn实现处理方法及装置
US9529692B2 (en) 2013-06-07 2016-12-27 Apple Inc. Memory management tools
US9471356B2 (en) 2013-06-12 2016-10-18 Dell Products L.P. Systems and methods for providing VLAN-independent gateways in a network virtualization overlay implementation
US9264289B2 (en) 2013-06-27 2016-02-16 Microsoft Technology Licensing, Llc Endpoint data centers of different tenancy sets
US9648547B1 (en) 2013-06-28 2017-05-09 Google Inc. Self-organizing topology management
US9608962B1 (en) 2013-07-09 2017-03-28 Pulse Secure, Llc Application-aware connection for network access client
US10454714B2 (en) 2013-07-10 2019-10-22 Nicira, Inc. Method and system of overlay flow control
US9722815B2 (en) 2013-07-10 2017-08-01 Sunil Mukundan Edge-gateway multipath method and system
US10749711B2 (en) 2013-07-10 2020-08-18 Nicira, Inc. Network-link method useful for a last-mile connectivity in an edge-gateway multipath system
US9197529B2 (en) 2013-07-12 2015-11-24 Nicira, Inc. Tracing network packets through logical and physical networks
US10003536B2 (en) 2013-07-25 2018-06-19 Grigore Raileanu System and method for managing bandwidth usage rates in a packet-switched network
US9979622B2 (en) 2013-07-30 2018-05-22 Cisco Technology, Inc. Elastic WAN optimization cloud services
US9203781B2 (en) 2013-08-07 2015-12-01 Cisco Technology, Inc. Extending virtual station interface discovery protocol (VDP) and VDP-like protocols for dual-homed deployments in data center environments
US9311140B2 (en) 2013-08-13 2016-04-12 Vmware, Inc. Method and apparatus for extending local area networks between clouds and migrating virtual machines using static network addresses
US9641551B1 (en) 2013-08-13 2017-05-02 vIPtela Inc. System and method for traversing a NAT device with IPSEC AH authentication
US9338223B2 (en) 2013-08-14 2016-05-10 Verizon Patent And Licensing Inc. Private cloud topology management system
CN103703724B (zh) 2013-08-15 2015-06-10 华为技术有限公司 一种资源发放方法
US9559951B1 (en) 2013-08-29 2017-01-31 Cisco Technology, Inc. Providing intra-subnet and inter-subnet data center connectivity
US9875355B1 (en) 2013-09-17 2018-01-23 Amazon Technologies, Inc. DNS query analysis for detection of malicious software
CN105745886B (zh) 2013-09-23 2019-06-04 迈克菲有限公司 在两个实体之间提供快速路径
US20150089628A1 (en) 2013-09-24 2015-03-26 Michael Lang System and Method for Provision of a Router / Firewall in a Network
US20150088942A1 (en) 2013-09-25 2015-03-26 Westell Technologies, Inc. Methods and Systems for Providing File Services
US9379981B1 (en) 2013-09-27 2016-06-28 Google Inc. Flow level dynamic load balancing
US9461969B2 (en) 2013-10-01 2016-10-04 Racemi, Inc. Migration of complex applications within a hybrid cloud environment
US9635580B2 (en) 2013-10-08 2017-04-25 Alef Mobitech Inc. Systems and methods for providing mobility aspects to applications in the cloud
US9628290B2 (en) 2013-10-09 2017-04-18 International Business Machines Corporation Traffic migration acceleration for overlay virtual environments
US20160212773A1 (en) 2013-10-10 2016-07-21 Telefonaktiebolaget L M Ericsson (Publ) Pool of network gateways
US9361336B2 (en) 2013-10-11 2016-06-07 Vmware, Inc. Methods and apparatus to manage virtual machines
US9608917B1 (en) 2013-10-21 2017-03-28 Google Inc. Systems and methods for achieving high network link utilization
US9397946B1 (en) 2013-11-05 2016-07-19 Cisco Technology, Inc. Forwarding to clusters of service nodes
JP2015095784A (ja) 2013-11-12 2015-05-18 富士通株式会社 情報処理システム、情報処理システムの制御方法及び情報処理装置の制御プログラム
US9912582B2 (en) 2013-11-18 2018-03-06 Telefonaktiebolaget Lm Ericsson (Publ) Multi-tenant isolation in a cloud environment using software defined networking
US9231871B2 (en) 2013-11-25 2016-01-05 Versa Networks, Inc. Flow distribution table for packet flow load balancing
DE102013113023A1 (de) 2013-11-25 2015-05-28 Reiner Kunz Innovative Operationsleuchte für Operationsräume, welche zu einem Datenaustausch mit anderen Operationsraum-Geräten in der Lage ist
US9813343B2 (en) 2013-12-03 2017-11-07 Akamai Technologies, Inc. Virtual private network (VPN)-as-a-service with load-balanced tunnel endpoints
US9461923B2 (en) 2013-12-06 2016-10-04 Algoblu Holdings Limited Performance-based routing in software-defined network (SDN)
TWI528755B (zh) 2013-12-06 2016-04-01 財團法人工業技術研究院 軟體定義網路中用於延遲量測之網路控制器、延遲量測系統及延遲量測方法
US9288135B2 (en) 2013-12-13 2016-03-15 International Business Machines Corporation Managing data flows in software-defined network using network interface card
US9363178B2 (en) 2013-12-18 2016-06-07 Telefonaktiebolaget L M Ericsson (Publ) Method, apparatus, and system for supporting flexible lookup keys in software-defined networks
US9612854B2 (en) 2013-12-18 2017-04-04 Telefonaktiebolaget Lm Ericsson (Publ) System and method for virtualizing a remote device
US9467478B1 (en) 2013-12-18 2016-10-11 vIPtela Inc. Overlay management protocol for secure routing based on an overlay network
US20150189009A1 (en) 2013-12-30 2015-07-02 Alcatel-Lucent Canada Inc. Distributed multi-level stateless load balancing
US9450852B1 (en) 2014-01-03 2016-09-20 Juniper Networks, Inc. Systems and methods for preventing split-brain scenarios in high-availability clusters
US10097372B2 (en) 2014-01-09 2018-10-09 Ciena Corporation Method for resource optimized network virtualization overlay transport in virtualized data center environments
JP6328432B2 (ja) 2014-01-16 2018-05-23 クラリオン株式会社 ゲートウェイ装置、ファイルサーバシステム及びファイル分散方法
US9436813B2 (en) 2014-02-03 2016-09-06 Ca, Inc. Multi-tenancy support for a product that does not support multi-tenancy
US20150257081A1 (en) 2014-02-04 2015-09-10 Architecture Technology, Inc. Hybrid autonomous network and router for communication between heterogeneous subnets
US9825822B1 (en) 2014-02-13 2017-11-21 Amazon Technologies, Inc. Group networking in an overlay network
US20150236962A1 (en) 2014-02-14 2015-08-20 Exinda Networks PTY, Ltd. of Australia Method and system for using dynamic bandwidth detection to drive quality of service control refinement
US8989199B1 (en) 2014-02-24 2015-03-24 Level 3 Communications, Llc Control device discovery in networks having separate control and forwarding devices
JP5858205B1 (ja) 2014-03-07 2016-02-10 日本電気株式会社 ネットワークシステムと拠点間ネットワーク連携制御装置及びネットワーク制御方法並びにプログラム
US9479481B2 (en) 2014-03-14 2016-10-25 Soha Systems, Inc. Secure scalable multi-tenant application delivery system and associated method
US9479424B2 (en) 2014-03-18 2016-10-25 Telefonaktiebolaget Lm Ericsson (Publ) Optimized approach to IS-IS LFA computation with parallel links
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
US9647883B2 (en) 2014-03-21 2017-05-09 Nicria, Inc. Multiple levels of logical routers
US9787559B1 (en) 2014-03-28 2017-10-10 Juniper Networks, Inc. End-to-end monitoring of overlay networks providing virtualized network services
US9401851B2 (en) 2014-03-28 2016-07-26 Verizon Patent And Licensing Inc. Network management system
US10846257B2 (en) 2014-04-01 2020-11-24 Endance Technology Limited Intelligent load balancing and high speed intelligent network recorders
US9807004B2 (en) 2014-04-01 2017-10-31 Google Inc. System and method for software defined routing of traffic within and between autonomous systems with enhanced flow routing, scalability and security
US9226156B2 (en) 2014-04-28 2015-12-29 Stad.Io, Llc Authenticated registration of participants for web access at live events
US9407541B2 (en) 2014-04-24 2016-08-02 International Business Machines Corporation Propagating a flow policy by control packet in a software defined network (SDN) based network
US20150317169A1 (en) 2014-05-04 2015-11-05 Midfin Systems Inc. Constructing and operating high-performance unified compute infrastructure across geo-distributed datacenters
RU2667039C2 (ru) 2014-05-12 2018-09-13 Хуавэй Текнолоджиз Ко., Лтд. Частичная замена коммутатора программно-конфигурируемой сети в ip сетях
US9455922B2 (en) 2014-05-19 2016-09-27 Intel Corporation Technologies for moderating packet ingress interrupt generation
EP2966815A4 (en) 2014-05-29 2016-04-13 Huawei Tech Co Ltd PACKET PROCESSING AND VXLAN GATEWAY
US9961545B2 (en) 2014-06-03 2018-05-01 Qualcomm Incorporated Systems, methods, and apparatus for authentication during fast initial link setup
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US9866487B2 (en) 2014-06-05 2018-01-09 KEMP Technologies Inc. Adaptive load balancer and methods for intelligent data traffic steering
US9413659B2 (en) 2014-06-11 2016-08-09 Cisco Technology, Inc. Distributed network address and port translation for migrating flows between service chains in a network environment
US10062045B2 (en) 2014-06-12 2018-08-28 International Business Machines Corporation Project workspace prioritization
US9350710B2 (en) 2014-06-20 2016-05-24 Zscaler, Inc. Intelligent, cloud-based global virtual private network systems and methods
US10019278B2 (en) 2014-06-22 2018-07-10 Cisco Technology, Inc. Framework for network technology agnostic multi-cloud elastic extension and isolation
US10075329B2 (en) 2014-06-25 2018-09-11 A 10 Networks, Incorporated Customizable high availability switchover control of application delivery controllers
US9634936B2 (en) 2014-06-30 2017-04-25 Juniper Networks, Inc. Service chaining across multiple networks
US9379956B2 (en) * 2014-06-30 2016-06-28 Nicira, Inc. Identifying a network topology between two endpoints
US9876723B2 (en) 2014-12-21 2018-01-23 Pismo Labs Technology Limited Methods and systems for evaluating network performance of an aggregated connection
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US20160035183A1 (en) 2014-07-31 2016-02-04 Wms Gaming Inc. Electronic gaming machine service bus
CN105323136B (zh) 2014-07-31 2020-01-10 中兴通讯股份有限公司 信息的处理方法及装置
WO2016069077A1 (en) 2014-08-03 2016-05-06 Hughes Network Systems, Llc Centralized ground-based route determination and traffic engineering for software defined satellite communications networks
US10609159B2 (en) 2014-08-04 2020-03-31 Microsoft Technology Licensing, Llc Providing higher workload resiliency in clustered systems based on health heuristics
US9665432B2 (en) 2014-08-07 2017-05-30 Microsoft Technology Licensing, Llc Safe data access following storage failure
US9356943B1 (en) 2014-08-07 2016-05-31 Symantec Corporation Systems and methods for performing security analyses on network traffic in cloud-based environments
CN105684382A (zh) 2014-08-11 2016-06-15 华为技术有限公司 报文的控制方法、交换机及控制器
US10038629B2 (en) 2014-09-11 2018-07-31 Microsoft Technology Licensing, Llc Virtual machine migration using label based underlay network forwarding
US9336040B2 (en) 2014-09-15 2016-05-10 Intel Corporation Techniques for remapping sessions for a multi-threaded application
CN107078921A (zh) 2014-09-16 2017-08-18 云端吉尼斯公司 用于基于商业意图驱动策略的网络业务表征、监视和控制的方法和系统
EP3198931B1 (en) 2014-09-23 2020-10-21 Nokia Solutions and Networks Oy Transmitting data based on flow input from base station
US9935829B1 (en) 2014-09-24 2018-04-03 Amazon Technologies, Inc. Scalable packet processing service
US10038601B1 (en) 2014-09-26 2018-07-31 Amazon Technologies, Inc. Monitoring a multi-tier network fabric
US9723065B2 (en) 2014-10-13 2017-08-01 Vmware, Inc. Cross-cloud object mapping for hybrid clouds
US9825905B2 (en) 2014-10-13 2017-11-21 Vmware Inc. Central namespace controller for multi-tenant cloud environments
US10931478B2 (en) 2014-10-14 2021-02-23 Mido Holdings Ltd. System and method for distributed flow state P2P setup in virtual networks
US20160164886A1 (en) 2014-10-17 2016-06-09 Computer Sciences Corporation Systems and methods for threat analysis of computer data
US10594659B2 (en) 2014-11-07 2020-03-17 British Telecommunications Public Limited Company Method and system for secure communication with shared cloud services
US9590902B2 (en) 2014-11-10 2017-03-07 Juniper Networks, Inc. Signaling aliasing capability in data centers
KR102233645B1 (ko) 2014-11-11 2021-03-30 한국전자통신연구원 가상 네트워크 기반 분산 다중 도메인 라우팅 제어 시스템 및 라우팅 제어 방법
US9930013B2 (en) 2014-11-14 2018-03-27 Cisco Technology, Inc. Control of out-of-band multipath connections
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US10135956B2 (en) 2014-11-20 2018-11-20 Akamai Technologies, Inc. Hardware-based packet forwarding for the transport layer
US9602544B2 (en) 2014-12-05 2017-03-21 Viasat, Inc. Methods and apparatus for providing a secure overlay network between clouds
US9560018B2 (en) 2014-12-08 2017-01-31 Cisco Technology, Inc. Autonomic locator/identifier separation protocol for secure hybrid cloud extension
EP3238401B1 (en) 2014-12-23 2019-02-20 Huawei Technologies Co., Ltd. Network extended tcp splicing
EP3238402B1 (en) 2014-12-23 2019-11-27 Telecom Italia S.p.A. Method and client apparatus for dynamic rate adaptation of a stream of multimedia contents in a wireless communication network
US9747249B2 (en) 2014-12-29 2017-08-29 Nicira, Inc. Methods and systems to achieve multi-tenancy in RDMA over converged Ethernet
US20160192403A1 (en) 2014-12-30 2016-06-30 Qualcomm Incorporated Mechanism to provide lte voice, internet and embms services over ethernet for connected home architecture
US9787573B2 (en) 2014-12-31 2017-10-10 Juniper Networks, Inc. Fast convergence on link failure in multi-homed Ethernet virtual private networks
CN105812260B (zh) 2014-12-31 2019-03-19 华为技术有限公司 一种控制mac地址转发表发送的方法、装置及系统
US20160197834A1 (en) 2015-01-02 2016-07-07 Siegfried Luft Architecture and method for traffic engineering between diverse cloud providers
US20160197835A1 (en) 2015-01-02 2016-07-07 Siegfried Luft Architecture and method for virtualization of cloud networking components
US20160198003A1 (en) 2015-01-02 2016-07-07 Siegfried Luft Architecture and method for sharing dedicated public cloud connectivity
US10257021B2 (en) 2015-01-12 2019-04-09 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for router maintenance
US10061664B2 (en) 2015-01-15 2018-08-28 Cisco Technology, Inc. High availability and failover
US9722906B2 (en) 2015-01-23 2017-08-01 Cisco Technology, Inc. Information reporting for anomaly detection
US9819565B2 (en) 2015-01-26 2017-11-14 Ciena Corporation Dynamic policy engine for multi-layer network management
KR102029849B1 (ko) 2015-01-27 2019-10-08 노키아 솔루션스 앤드 네트웍스 오와이 트래픽 흐름 모니터링
CN115834534A (zh) 2015-01-28 2023-03-21 安博科技有限公司 用于全局虚拟网络的系统
WO2016123314A1 (en) 2015-01-28 2016-08-04 Hewlett-Packard Development Company, L.P. Data loop determination in a software-defined network
US10313428B2 (en) 2015-02-07 2019-06-04 Vmware, Inc. Multi-subnet participation for network gateway in a cloud environment
CN104639639B (zh) 2015-02-09 2018-04-27 华为技术有限公司 一种虚拟机部署位置的调整方法、装置及系统
US9800507B2 (en) 2015-02-10 2017-10-24 Verizon Patent And Licensing Inc. Application-based path computation
US20160255169A1 (en) 2015-02-27 2016-09-01 Futurewei Technologies, Inc. Method and system for smart object eviction for proxy cache
CN105991430B (zh) 2015-03-05 2022-01-14 李明 跨多个自治网络系统的数据路由
US9729451B2 (en) 2015-03-06 2017-08-08 Juniper Networks, Inc. Managing routing information in a hub-and-spokes network
US9628380B2 (en) 2015-03-06 2017-04-18 Telefonaktiebolaget L M Ericsson (Publ) Method and system for routing a network function chain
US10491525B2 (en) 2015-03-10 2019-11-26 Huawei Technologies Co., Ltd. Traffic engineering feeder for packet switched networks
US10614056B2 (en) 2015-03-24 2020-04-07 NetSuite Inc. System and method for automated detection of incorrect data
US10756929B2 (en) 2015-04-07 2020-08-25 Umbra Technologies Ltd. Systems and methods for providing a global virtual network (GVN)
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
US10498652B2 (en) 2015-04-13 2019-12-03 Nicira, Inc. Method and system of application-aware routing with crowdsourcing
US10135789B2 (en) 2015-04-13 2018-11-20 Nicira, Inc. Method and system of establishing a virtual private network in a cloud service for branch networking
US10425382B2 (en) 2015-04-13 2019-09-24 Nicira, Inc. Method and system of a cloud-based multipath routing protocol
US9948552B2 (en) 2015-04-17 2018-04-17 Equinix, Inc. Cloud-based services exchange
US10681058B2 (en) 2015-05-01 2020-06-09 Pcms Holdings, Inc. Systems, methods, and devices to defend against attacks
US9848041B2 (en) 2015-05-01 2017-12-19 Amazon Technologies, Inc. Automatic scaling of resource instance groups within compute clusters
US9769065B2 (en) 2015-05-06 2017-09-19 Telefonaktiebolaget Lm Ericsson (Publ) Packet marking for L4-7 advanced counting and monitoring
US9954799B2 (en) 2015-05-14 2018-04-24 International Business Machines Corporation Adaptive service chain management
US10834054B2 (en) * 2015-05-27 2020-11-10 Ping Identity Corporation Systems and methods for API routing and security
US10349240B2 (en) 2015-06-01 2019-07-09 Huawei Technologies Co., Ltd. Method and apparatus for dynamically controlling customer traffic in a network under demand-based charging
US9729348B2 (en) 2015-06-04 2017-08-08 Cisco Technology, Inc. Tunnel-in-tunnel source address correction
US10397277B2 (en) 2015-06-14 2019-08-27 Avocado Systems Inc. Dynamic data socket descriptor mirroring mechanism and use for security analytics
US9563514B2 (en) 2015-06-19 2017-02-07 Commvault Systems, Inc. Assignment of proxies for virtual-machine secondary copy operations including streaming backup jobs
CN108353029B (zh) 2015-06-25 2021-02-26 Nec实验室欧洲有限公司 用于管理计算网络中的数据业务的方法和系统
US20160380886A1 (en) 2015-06-25 2016-12-29 Ciena Corporation Distributed data center architecture
US10503532B2 (en) 2015-06-26 2019-12-10 Vmware, Inc. Creating a virtual machine clone of the host computing device and handling of virtual machine clone requests via an I/O filter
US10498664B2 (en) 2015-06-29 2019-12-03 Vmware, Inc. Hybrid cloud resource scheduling
US10136359B2 (en) 2015-06-30 2018-11-20 Qualcomm Incorporated Traffic flow migration in backhaul networks
US9787641B2 (en) 2015-06-30 2017-10-10 Nicira, Inc. Firewall rule management
US10550093B2 (en) 2015-07-01 2020-02-04 The Research Foundation For The State University Of New York Third generation taxoids and methods of using same
US10797992B2 (en) * 2015-07-07 2020-10-06 Cisco Technology, Inc. Intelligent wide area network (IWAN)
US9462010B1 (en) 2015-07-07 2016-10-04 Accenture Global Services Limited Threat assessment level determination and remediation for a cloud-based multi-layer security architecture
US10397283B2 (en) 2015-07-15 2019-08-27 Oracle International Corporation Using symmetric and asymmetric flow response paths from an autonomous system
US10050951B2 (en) 2015-07-20 2018-08-14 Cisco Technology, Inc. Secure access to virtual machines in heterogeneous cloud environments
CN106375231B (zh) 2015-07-22 2019-11-05 华为技术有限公司 一种流量切换方法、设备及系统
US10637889B2 (en) 2015-07-23 2020-04-28 Cisco Technology, Inc. Systems, methods, and devices for smart mapping and VPN policy enforcement
US10298489B2 (en) 2015-07-24 2019-05-21 International Business Machines Corporation Adding multi-tenant awareness to a network packet processing device on a software defined network (SDN)
US9942131B2 (en) 2015-07-29 2018-04-10 International Business Machines Corporation Multipathing using flow tunneling through bound overlay virtual machines
CN106412628B (zh) 2015-07-30 2020-07-24 华为技术有限公司 一种带宽调整方法及相关设备
US9819581B2 (en) 2015-07-31 2017-11-14 Nicira, Inc. Configuring a hardware switch as an edge node for a logical router
US10567347B2 (en) 2015-07-31 2020-02-18 Nicira, Inc. Distributed tunneling for VPN
JP6673356B2 (ja) * 2015-08-04 2020-03-25 日本電気株式会社 通信システム、通信装置、通信方法、端末、プログラム
US10630749B2 (en) 2015-08-14 2020-04-21 Cisco Technology, Inc. Timely delivery of real-time media problem when TCP must be used
US9763054B2 (en) 2015-08-19 2017-09-12 Locix Inc. Systems and methods for determining locations of wireless sensor nodes in a tree network architecture having mesh-based features
US10198724B2 (en) 2015-08-21 2019-02-05 Mastercard International Incorporated Payment networks and methods for facilitating data transfers within payment networks
CN106487534B (zh) 2015-08-24 2019-08-13 华为技术有限公司 网络控制策略的生成方法、装置及网络控制器
US10038650B2 (en) 2015-08-25 2018-07-31 Futurewei Technologies, Inc. System and method for tunnel stitching transport
US9894103B2 (en) 2015-08-28 2018-02-13 Nicira, Inc. Performing source network address translation based on remote device management attributes
US10547540B2 (en) 2015-08-29 2020-01-28 Vmware, Inc. Routing optimization for inter-cloud connectivity
JP6440203B2 (ja) 2015-09-02 2018-12-19 Kddi株式会社 ネットワーク監視システム、ネットワーク監視方法およびプログラム
JP2017059991A (ja) 2015-09-16 2017-03-23 株式会社日立製作所 ネットワーク制御装置、ネットワーク制御方法、および、ネットワーク制御プログラム
US9733973B2 (en) 2015-09-16 2017-08-15 Cisco Technology, Inc. Automatically determining sensor location in a virtualized computing environment
US10178032B1 (en) 2015-09-23 2019-01-08 EMC IP Holding Company LLC Wide area network distribution, load balancing and failover for multiple internet protocol addresses
EP3318047B1 (en) 2015-09-23 2020-12-09 Google LLC Systems and methods for load balancing in a distributed software defined network packet core system
US9680704B2 (en) * 2015-09-25 2017-06-13 Ubiquiti Networks, Inc. Compact and integrated key controller apparatus for monitoring networks
US10229017B1 (en) 2015-10-01 2019-03-12 EMC IP Holding Company LLC Resetting fibre channel devices for failover in high availability backup systems
US10067780B2 (en) 2015-10-06 2018-09-04 Cisco Technology, Inc. Performance-based public cloud selection for a hybrid cloud environment
US10033607B2 (en) 2015-10-13 2018-07-24 Nxp Usa, Inc. Packet loss debug system and method
US10462136B2 (en) 2015-10-13 2019-10-29 Cisco Technology, Inc. Hybrid cloud security groups
US9838284B2 (en) 2015-10-14 2017-12-05 At&T Intellectual Property I, L.P. Dedicated software-defined networking network for performance monitoring of production software-defined networking network
US9672074B2 (en) 2015-10-19 2017-06-06 Vmware, Inc. Methods and systems to determine and improve cost efficiency of virtual machines
US9948503B2 (en) 2015-10-23 2018-04-17 Hughes Network Systems, Llc Gateway redundancy protocol for communications networks
US10333897B2 (en) 2015-10-23 2019-06-25 Attala Systems Corporation Distributed firewalls and virtual network services using network packets with security tags
CN106656801B (zh) 2015-10-28 2019-11-15 华为技术有限公司 业务流的转发路径的重定向方法、装置和业务流转发系统
US9747179B2 (en) 2015-10-29 2017-08-29 Netapp, Inc. Data management agent for selective storage re-caching
US10027530B2 (en) 2015-10-30 2018-07-17 Telefonaktiebolaget Lm Ericsson (Publ) System and method for troubleshooting SDN networks using flow statistics
US11025514B2 (en) 2015-10-30 2021-06-01 Nicira, Inc. Automatic health check and performance monitoring for applications and protocols using deep packet inspection in a datacenter
WO2017070970A1 (zh) 2015-10-31 2017-05-04 华为技术有限公司 一种确定路由的方法、对应装置及系统
US9794370B2 (en) 2015-11-09 2017-10-17 Telefonaktiebolaget Lm Ericsson (Publ) Systems and methods for distributed network-aware service placement
US9916214B2 (en) 2015-11-17 2018-03-13 International Business Machines Corporation Preventing split-brain scenario in a high-availability cluster
US9825911B1 (en) 2015-11-18 2017-11-21 Amazon Technologies, Inc. Security policy check based on communication establishment handshake packet
KR20170058201A (ko) 2015-11-18 2017-05-26 한국전자통신연구원 다중 클라우드 환경에서의 가상 네트워크 제공 시스템 및 그 방법
US10904142B2 (en) 2015-11-19 2021-01-26 Adaptiv Networks Inc. System, apparatus and method for providing a virtual network edge and overlay with virtual control plane
WO2017083975A1 (en) 2015-11-19 2017-05-26 Teloip Inc. System, apparatus and method for providing a virtual network edge and overlay with virtual control plane
US9602389B1 (en) 2015-11-21 2017-03-21 Naveen Maveli Method and system for defining logical channels and channel policies in an application acceleration environment
US10425302B2 (en) 2015-11-23 2019-09-24 International Business Machines Corporation Scalable end-to-end quality of service monitoring and diagnosis in software defined networks
US9992091B2 (en) 2015-11-30 2018-06-05 Cisco Technology, Inc. Performing network topology traces with minimal data collection
US9843485B2 (en) 2015-11-30 2017-12-12 International Business Machines Coprporation Monitoring dynamic networks
US10257019B2 (en) 2015-12-04 2019-04-09 Arista Networks, Inc. Link aggregation split-brain detection and recovery
US10148756B2 (en) 2015-12-09 2018-12-04 At&T Intellectual Property I, L.P. Latency virtualization in a transport network using a storage area network
US9426030B1 (en) 2015-12-11 2016-08-23 International Business Machines Coporation Automatically generating configuration images and deploying computer components in a computing environment that comprises a shared pool of configurable computing resources
US10117285B2 (en) 2015-12-16 2018-10-30 Verizon Patent And Licensing Inc. Cloud WAN overlay network
US9542219B1 (en) 2015-12-17 2017-01-10 International Business Machines Corporation Automatic analysis based scheduling of jobs to appropriate cloud resources
US20170180220A1 (en) 2015-12-18 2017-06-22 Intel Corporation Techniques to Generate Workload Performance Fingerprints for Cloud Infrastructure Elements
US10187289B1 (en) 2015-12-28 2019-01-22 Amazon Technologies, Inc. Route advertisement management using tags in directly connected networks
US11025477B2 (en) 2015-12-31 2021-06-01 Akamai Technologies, Inc. Overlay network ingress edge region selection
US10536326B2 (en) 2015-12-31 2020-01-14 Affirmed Networks, Inc. Network redundancy and failure detection
EP3229405B1 (en) 2015-12-31 2020-07-15 Huawei Technologies Co., Ltd. Software defined data center and scheduling and traffic-monitoring method for service cluster therein
US10103947B2 (en) 2016-01-08 2018-10-16 Universal Research Solutions, Llc Processing of portable device data
WO2017119950A1 (en) 2016-01-08 2017-07-13 Inspeed Networks, Inc. Bidirectional data traffic control
US9866637B2 (en) 2016-01-11 2018-01-09 Equinix, Inc. Distributed edge processing of internet of things device data in co-location facilities
WO2017121460A1 (en) 2016-01-12 2017-07-20 Telefonaktiebolaget Lm Ericsson (Publ) System, method, and apparatus for managing co-channel interference
US20170214701A1 (en) 2016-01-24 2017-07-27 Syed Kamran Hasan Computer security based on artificial intelligence
US10367655B2 (en) 2016-01-25 2019-07-30 Alibaba Group Holding Limited Network system and method for connecting a private network with a virtual private network
US10389643B1 (en) 2016-01-30 2019-08-20 Innovium, Inc. Reflected packets
CN115955723A (zh) 2016-02-03 2023-04-11 三菱电机株式会社 通信系统
WO2017141078A1 (en) 2016-02-15 2017-08-24 Telefonaktiebolaget Lm Ericsson (Publ) Ospf extensions for flexible path stitching and selection for traffic transiting segment routing and mpls networks
US9842045B2 (en) 2016-02-19 2017-12-12 International Business Machines Corporation Failure recovery testing framework for microservice-based applications
US10200278B2 (en) 2016-03-02 2019-02-05 Arista Networks, Inc. Network management system control service for VXLAN on an MLAG domain
US10142163B2 (en) * 2016-03-07 2018-11-27 Cisco Technology, Inc BFD over VxLAN on vPC uplinks
WO2017152396A1 (zh) * 2016-03-09 2017-09-14 华为技术有限公司 流表处理方法及装置
CN107533668B (zh) 2016-03-11 2021-01-26 慧与发展有限责任合伙企业 用于计算神经网络的节点值的硬件加速器和方法
US10158727B1 (en) 2016-03-16 2018-12-18 Equinix, Inc. Service overlay model for a co-location facility
US9942787B1 (en) 2016-03-22 2018-04-10 Amazon Technologies, Inc. Virtual private network connection quality analysis
US10404727B2 (en) 2016-03-25 2019-09-03 Cisco Technology, Inc. Self organizing learning topologies
US10205683B2 (en) 2016-03-28 2019-02-12 Mellanox Technologies Tlv Ltd. Optimizing buffer allocation for network flow control
US9935955B2 (en) 2016-03-28 2018-04-03 Zscaler, Inc. Systems and methods for cloud based unified service discovery and secure availability
US10313241B2 (en) 2016-03-28 2019-06-04 Cox Communications, Inc. Systems and methods for routing internet packets between enterprise network sites
US10250466B2 (en) 2016-03-29 2019-04-02 Juniper Networks, Inc. Application signature generation and distribution
US10277505B2 (en) 2016-03-30 2019-04-30 Juniper Networks, Inc. Routing inter-AS LSPs with centralized controller
US20170289002A1 (en) 2016-03-31 2017-10-05 Mrittika Ganguli Technologies for deploying dynamic underlay networks in cloud computing infrastructures
US10187292B2 (en) 2016-04-15 2019-01-22 Microsoft Technology Licensing, Llc Data center topology having multiple classes of reliability
US10819630B1 (en) 2016-04-20 2020-10-27 Equinix, Inc. Layer three instances for a cloud-based services exchange
CN116112539A (zh) 2016-04-26 2023-05-12 安博科技有限公司 吊索路由逻辑与负载均衡
CN105827623B (zh) 2016-04-26 2019-06-07 山石网科通信技术股份有限公司 数据中心系统
US10333849B2 (en) 2016-04-28 2019-06-25 Nicira, Inc. Automatic configuration of logical routers on edge nodes
US10484515B2 (en) 2016-04-29 2019-11-19 Nicira, Inc. Implementing logical metadata proxy servers in logical networks
CN107332812B (zh) 2016-04-29 2020-07-07 新华三技术有限公司 网络访问控制的实现方法及装置
US10841273B2 (en) 2016-04-29 2020-11-17 Nicira, Inc. Implementing logical DHCP servers in logical networks
US10305807B2 (en) 2016-05-03 2019-05-28 Citrix Systems, Inc. Systems and methods to choose an optimal path from multiple high latency links
CN109076013B (zh) 2016-05-10 2021-01-15 华为技术有限公司 分组交换业务识别方法及终端
US20170339022A1 (en) 2016-05-17 2017-11-23 Brocade Communications Systems, Inc. Anomaly detection and prediction in a packet broker
US10129177B2 (en) 2016-05-23 2018-11-13 Cisco Technology, Inc. Inter-cloud broker for hybrid cloud networks
US10389621B2 (en) 2016-05-24 2019-08-20 Level 3 Communications, Llc Route selection system for a communication network and method of operating the same
US10200264B2 (en) 2016-05-31 2019-02-05 128 Technology, Inc. Link status monitoring based on packet loss detection
US10275325B2 (en) 2016-06-17 2019-04-30 Weixu Technology Co., Ltd. Method of site isolation protection, electronic device and system using the same method
CA3028397A1 (en) 2016-06-18 2017-12-21 Clevernet, Inc. Intelligent adaptive transport layer to enhance performance using multiple channels
US10404827B2 (en) 2016-06-22 2019-09-03 Cisco Technology, Inc. Client network information service
US10182035B2 (en) 2016-06-29 2019-01-15 Nicira, Inc. Implementing logical network security on a hardware switch
CN107547393B (zh) 2016-06-29 2021-06-01 华为技术有限公司 一种计算转发路径的方法及网络设备
US10404788B2 (en) 2016-06-30 2019-09-03 Alibaba Group Holding Limited Express route transmissions between virtual machines and cloud service computing devices
US9992154B2 (en) 2016-06-30 2018-06-05 Juniper Networks, Inc. Layer 3 convergence for EVPN link failure
US9888278B2 (en) 2016-07-07 2018-02-06 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth and ABR video QoE management based on OTT video providers and devices
US20180013636A1 (en) 2016-07-07 2018-01-11 Cisco Technology, Inc. System and method for scaling application containers in cloud environments
US10320664B2 (en) 2016-07-21 2019-06-11 Cisco Technology, Inc. Cloud overlay for operations administration and management
US10608928B2 (en) 2016-08-05 2020-03-31 Huawei Technologies Co., Ltd. Service-based traffic forwarding in virtual networks
US10972437B2 (en) 2016-08-08 2021-04-06 Talari Networks Incorporated Applications and integrated firewall design in an adaptive private network (APN)
JP6505172B2 (ja) 2016-08-25 2019-04-24 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation 仮想ネットワーク環境で仮想スイッチを利用してロードバランシングを処理する方法およびシステム
US10193749B2 (en) 2016-08-27 2019-01-29 Nicira, Inc. Managed forwarding element executing in public cloud data compute node without overlay network
US10681131B2 (en) 2016-08-29 2020-06-09 Vmware, Inc. Source network address translation detection and dynamic tunnel creation
US10225103B2 (en) 2016-08-29 2019-03-05 Vmware, Inc. Method and system for selecting tunnels to send network traffic through
US10454758B2 (en) 2016-08-31 2019-10-22 Nicira, Inc. Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP
US10326830B1 (en) 2016-09-02 2019-06-18 Amazon Technologies, Inc. Multipath tunneling to a service offered at several datacenters
US10491531B2 (en) 2016-09-13 2019-11-26 Gogo Llc User directed bandwidth optimization
US10552267B2 (en) 2016-09-15 2020-02-04 International Business Machines Corporation Microcheckpointing with service processor
US10587700B2 (en) 2016-09-16 2020-03-10 Oracle International Corporation Cloud operation reservation system
CN107864168B (zh) 2016-09-22 2021-05-18 华为技术有限公司 一种网络数据流分类的方法及系统
US10116593B1 (en) 2016-09-23 2018-10-30 Amazon Technologies, Inc. Transmission and storage of routing path information and routing topology information using a single routing protocol
JP6763267B2 (ja) 2016-09-29 2020-09-30 株式会社リコー 情報処理システム、情報処理装置、プログラム及びレポート作成方法
CN106230650A (zh) 2016-09-30 2016-12-14 赛特斯信息科技股份有限公司 SDN Overlay网络故障定位系统及方法
US10148564B2 (en) 2016-09-30 2018-12-04 Juniper Networks, Inc. Multiple paths computation for label switched paths
US10250498B1 (en) 2016-10-03 2019-04-02 Sprint Communications Company L.P. Session aggregator brokering of data stream communication
US9667619B1 (en) 2016-10-14 2017-05-30 Akamai Technologies, Inc. Systems and methods for utilizing client side authentication to select services available at a given port number
US10355944B2 (en) 2016-10-31 2019-07-16 Riverbed Technology, Inc. Minimally invasive monitoring of path quality
US10263882B2 (en) 2016-10-31 2019-04-16 Riverbed Technology, Inc. Dynamically influencing route re-distribution between an exterior gateway protocol and an interior gateway protocol
US10778722B2 (en) 2016-11-08 2020-09-15 Massachusetts Institute Of Technology Dynamic flow system
US9906401B1 (en) 2016-11-22 2018-02-27 Gigamon Inc. Network visibility appliances for cloud computing architectures
US10749856B2 (en) 2016-11-23 2020-08-18 Ingram Micro, Inc. System and method for multi-tenant SSO with dynamic attribute retrieval
US10560431B1 (en) 2016-12-05 2020-02-11 Amazon Technologies, Inc. Virtual private gateway for encrypted communication over dedicated physical link
US10826905B2 (en) 2016-12-05 2020-11-03 Citrix Systems, Inc. Secure access to on-premises web services from multi-tenant cloud services
US10298619B2 (en) 2016-12-16 2019-05-21 Nicira, Inc. Application template generation and deep packet inspection approach for creation of micro-segmentation policy for network applications
US10868760B2 (en) 2016-12-19 2020-12-15 Vmware, Inc. System and method for managing public IP addresses for virtual data centers
US10887173B2 (en) 2016-12-21 2021-01-05 Juniper Networks, Inc. Communicating state information in distributed operating systems
US10237123B2 (en) 2016-12-21 2019-03-19 Nicira, Inc. Dynamic recovery from a split-brain failure in edge nodes
US10802858B2 (en) 2016-12-22 2020-10-13 Nicira, Inc. Collecting and processing contextual attributes on a host
US10263832B1 (en) 2016-12-29 2019-04-16 Juniper Networks, Inc. Physical interface to virtual interface fault propagation
CN108306831B (zh) 2017-01-13 2021-12-03 华为技术有限公司 选路方法及装置
US10440049B2 (en) 2017-01-19 2019-10-08 Paypal, Inc. Network traffic analysis for malware detection and performance reporting
US20200296026A1 (en) 2017-01-31 2020-09-17 The Mode Group High performance software-defined core network
US11121962B2 (en) 2017-01-31 2021-09-14 Vmware, Inc. High performance software-defined core network
US11706127B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US20200021515A1 (en) 2017-01-31 2020-01-16 The Mode Group High performance software-defined core network
US20190280963A1 (en) 2017-01-31 2019-09-12 The Mode Group High performance software-defined core network
US10992558B1 (en) 2017-11-06 2021-04-27 Vmware, Inc. Method and apparatus for distributed data network traffic optimization
US20190280962A1 (en) 2017-01-31 2019-09-12 The Mode Group High performance software-defined core network
US20190280964A1 (en) 2017-01-31 2019-09-12 The Mode Group High performance software-defined core network
US20180219766A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US20190238449A1 (en) 2017-01-31 2019-08-01 The Mode Group High performance software-defined core network
US20180219765A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US20200106696A1 (en) 2017-01-31 2020-04-02 The Mode Group High performance software-defined core network
US11252079B2 (en) 2017-01-31 2022-02-15 Vmware, Inc. High performance software-defined core network
US10992568B2 (en) 2017-01-31 2021-04-27 Vmware, Inc. High performance software-defined core network
US20190372889A1 (en) 2017-01-31 2019-12-05 The Mode Group High performance software-defined core network
US20200036624A1 (en) 2017-01-31 2020-01-30 The Mode Group High performance software-defined core network
US20200021514A1 (en) 2017-01-31 2020-01-16 The Mode Group High performance software-defined core network
US10778528B2 (en) 2017-02-11 2020-09-15 Nicira, Inc. Method and system of connecting to a multipath hub in a cluster
US10574528B2 (en) 2017-02-11 2020-02-25 Nicira, Inc. Network multi-source inbound quality of service methods and systems
US10506926B2 (en) 2017-02-18 2019-12-17 Arc Devices Limited Multi-vital sign detector in an electronic medical records system
US10382492B2 (en) 2017-03-02 2019-08-13 Draios Inc. Automated service-oriented performance management
US11032248B2 (en) 2017-03-07 2021-06-08 Nicira, Inc. Guest thin agent assisted host network encryption
US10002530B1 (en) 2017-03-08 2018-06-19 Fujitsu Limited Traffic signal control using multiple Q-learning categories
US10503427B2 (en) 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
CN106656847B (zh) 2017-03-10 2019-05-24 重庆邮电大学 网络效用最大化的sdn负载均衡方法
WO2018165934A1 (en) 2017-03-16 2018-09-20 Intel Corporation Systems, methods and devices for user plane traffic forwarding
US10367712B2 (en) 2017-03-20 2019-07-30 Citrix Systems, Inc. Auto tuning of hybrid wan links by adaptive duplication of packets on alternate links
US9832128B1 (en) 2017-03-20 2017-11-28 Engine Media, Llc Dynamic advertisement routing
US10959124B2 (en) 2017-03-23 2021-03-23 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Uplink data transmission method, terminal, network side device and system
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US10172020B2 (en) 2017-04-06 2019-01-01 Common Networks, Inc. Systems and methods for networking and wirelessly routing communications
CN108696434B (zh) 2017-04-11 2022-01-14 华为技术有限公司 一种转发数据报文的方法、设备和系统
CA3001394A1 (en) 2017-04-13 2018-10-13 Iot Cloud Technologies Inc. Method and system to sanitize, recover, analyze and wipe data stored on memory devices connected to a dedicated embedded microcomputer system with a network connection
US10333836B2 (en) 2017-04-13 2019-06-25 Cisco Technology, Inc. Convergence for EVPN multi-homed networks
US10498810B2 (en) 2017-05-04 2019-12-03 Amazon Technologies, Inc. Coordinating inter-region operations in provider network environments
US10142226B1 (en) 2017-05-24 2018-11-27 Amazon Technologies, Inc. Direct network connectivity with scalable forwarding and routing fleets
US10476817B2 (en) 2017-05-31 2019-11-12 Juniper Networks, Inc. Transport LSP setup using selected fabric path between virtual nodes
US10382333B2 (en) 2017-05-31 2019-08-13 Juniper Networks, Inc. Fabric path context-based forwarding for virtual nodes
US10432523B2 (en) 2017-05-31 2019-10-01 Juniper Networks, Inc. Routing protocol signaling of multiple next hops and their relationship
US10164873B1 (en) 2017-06-01 2018-12-25 Ciena Corporation All-or-none switchover to address split-brain problems in multi-chassis link aggregation groups
US10462042B2 (en) 2017-06-20 2019-10-29 Cisco Technology, Inc. Network path selection
US10523539B2 (en) 2017-06-22 2019-12-31 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
US10616379B2 (en) 2017-06-23 2020-04-07 Futurewei Technologies, Inc. Seamless mobility and session continuity with TCP mobility option
US10742447B2 (en) 2017-07-10 2020-08-11 Level 3 Communications, Llc Connecting to multiple cloud instances in a telecommunications network
JP6904127B2 (ja) 2017-07-19 2021-07-14 富士通株式会社 中継ノード決定プログラム、中継ノード決定方法および並列処理装置
US10742750B2 (en) 2017-07-20 2020-08-11 Cisco Technology, Inc. Managing a distributed network of function execution environments
US10454812B2 (en) 2017-07-28 2019-10-22 Juniper Networks, Inc. Service level agreement based next-hop selection
US10523560B2 (en) 2017-07-28 2019-12-31 Juniper Networks, Inc. Service level agreement based next-hop selection
US10461993B2 (en) 2017-07-31 2019-10-29 Cisco Technology, Inc. Network hub site redundancy and failover
US20190046056A1 (en) 2017-08-10 2019-02-14 VVVital Patent Holdings Limited Multi-Vital Sign Detector in an Electronic Medical Records System
US20190058709A1 (en) 2017-08-16 2019-02-21 Telefonaktiebolaget Lm Ericsson (Publ) Tenant management method and system in a cloud computing environment
CN109412964B (zh) 2017-08-18 2022-04-29 华为技术有限公司 报文控制方法及网络装置
US11695648B2 (en) 2017-08-23 2023-07-04 Nec Corporation Method for supporting service level agreement monitoring in a software defined network and corresponding software defined network
US10491516B2 (en) 2017-08-24 2019-11-26 Nicira, Inc. Packet communication between logical networks and public cloud service providers native networks using a single network interface and a single routing table
CN111052686B (zh) 2017-08-27 2022-03-29 Nicira股份有限公司 在公共云中执行在线服务的方法和机器可读介质
EP3677000B1 (en) 2017-08-30 2022-11-16 Telefonaktiebolaget LM Ericsson (PUBL) Method and system for tracing packets in software defined networks
EP3518479B1 (en) 2017-08-30 2021-12-01 NTT Communications Corporation Network control device, communication system, network control method, program, and recording medium
US10616085B2 (en) 2017-08-31 2020-04-07 Zte Corporation Residence time measurement for optimizing network services
US10554538B2 (en) 2017-09-12 2020-02-04 Adara Networks, Inc. Dynamic link state routing protocol
US10511546B2 (en) 2017-09-29 2019-12-17 Juniper Networks, Inc. Connecting virtual nodes in a network device using abstract fabric interfaces
US10999100B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US10999165B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Three tiers of SaaS providers for deploying compute and network infrastructure in the public cloud
US11115480B2 (en) 2017-10-02 2021-09-07 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US10959098B2 (en) 2017-10-02 2021-03-23 Vmware, Inc. Dynamically specifying multiple public cloud edge nodes to connect to an external multi-computer node
US10608844B2 (en) 2017-10-02 2020-03-31 Vmware, Inc. Graph based routing through multiple public clouds
US11089111B2 (en) 2017-10-02 2021-08-10 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US10608887B2 (en) 2017-10-06 2020-03-31 Nicira, Inc. Using packet tracing tool to automatically execute packet capture operations
EP3701687A4 (en) 2017-10-27 2021-02-17 Telefonaktiebolaget LM Ericsson (publ) OPTIMIZED DATA PATH ERROR RECOVERY WITH FOLLOW-UP ENGINE
US10805181B2 (en) 2017-10-29 2020-10-13 Nicira, Inc. Service operation chaining
US11223514B2 (en) 2017-11-09 2022-01-11 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
US10778651B2 (en) 2017-11-15 2020-09-15 Nicira, Inc. Performing context-rich attribute-based encryption on a host
US10644978B2 (en) 2017-11-22 2020-05-05 Hughes Network Systems, Llc Latency increase estimated rate limiter adjustment
US10565464B2 (en) 2017-12-21 2020-02-18 At&T Intellectual Property I, L.P. Adaptive cloud offloading of mobile augmented reality
US20190207844A1 (en) 2018-01-03 2019-07-04 Hewlett Packard Enterprise Development Lp Determining routing decisions in a software-defined wide area network
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
US10673781B2 (en) 2018-01-31 2020-06-02 Hewlett Packard Enterprise Development Lp Dedicated virtual local area network for peer-to-peer traffic transmitted between switches
US10439927B2 (en) 2018-01-31 2019-10-08 International Business Machines Corporation Distributed storage path configuration
AU2019214925B2 (en) 2018-01-31 2022-01-27 Assia Spe, Llc Systems and methods for broadband communication link performance monitoring
EP3747167B1 (en) 2018-02-19 2022-08-31 Huawei Technologies Co., Ltd. Multi-cloud vpc routing and registration
US10932322B2 (en) 2018-02-23 2021-02-23 Cisco Technology, Inc. Policy mapping methods and apparatus for use in interconnecting software-defined wide area network (SD-WAN) fabrics with mobile networks for communications with UEs
US11792307B2 (en) 2018-03-28 2023-10-17 Apple Inc. Methods and apparatus for single entity buffer pool management
US20190319881A1 (en) 2018-04-13 2019-10-17 Microsoft Technology Licensing, Llc Traffic management based on past traffic arrival patterns
US11102079B2 (en) 2018-04-17 2021-08-24 Microsoft Technology Licensing, Llc Cross-regional virtual network peering
US10778464B2 (en) 2018-04-20 2020-09-15 Futurewei Technologies, Inc. NSH encapsulation for traffic steering establishing a tunnel between virtual extensible local area network (VxLAN) tunnel end points (VTEPS) using a NSH encapsulation header comprising a VxLAN header whose VNI field has been replaced by an NSH shim
US20200301764A1 (en) 2018-04-23 2020-09-24 SCRRD, Inc. Operating system on a computing system
US10715427B2 (en) 2018-04-27 2020-07-14 Hewlett Packard Enterprise Development Lp Determining routing decisions in a software-defined wide area network overlay
US20190334786A1 (en) 2018-04-30 2019-10-31 Hewlett Packard Enterprise Development Lp Predicting Workload Patterns in a Data Storage Network
US11388096B2 (en) 2018-05-04 2022-07-12 T-Mobile Usa, Inc. Performance driven software defined networking
EP3808040B1 (en) 2018-06-13 2023-08-02 Telefonaktiebolaget LM Ericsson (publ) Apparatus and method to trace packets in a packet processing pipeline of a software defined networking switch
US10666497B2 (en) 2018-06-22 2020-05-26 Intel Corporation Localized service resiliency
US11184327B2 (en) 2018-07-05 2021-11-23 Vmware, Inc. Context aware middlebox services at datacenter edges
US10749773B2 (en) 2018-07-06 2020-08-18 International Business Machines Corporation Determining a location of optimal computing resources for workloads
WO2020012491A1 (en) 2018-07-10 2020-01-16 Telefonaktiebolaget L M Ericsson (Publ) Mechanism for hitless resynchronization during sdn controller upgrades between incompatible versions
WO2020018704A1 (en) 2018-07-18 2020-01-23 The Mode Group High performance software-defined core network
US10892958B2 (en) 2018-08-03 2021-01-12 Huawei Technologies Co., Ltd. Methods and functions of network performance monitoring and service assurance
US10999163B2 (en) 2018-08-14 2021-05-04 Juniper Networks, Inc. Multi-cloud virtual computing environment provisioning using a high-level topology description
US11233778B2 (en) 2018-08-15 2022-01-25 Juniper Networks, Inc. Secure forwarding of tenant workloads in virtual networks
US10992654B2 (en) 2018-08-17 2021-04-27 Cisco Technology, Inc. Secure WAN path selection at campus fabric edge
US11115327B2 (en) 2018-08-24 2021-09-07 Oracle International Corporation Methods, systems, and computer readable media for providing mobile device connectivity
US11182209B2 (en) 2018-09-21 2021-11-23 Google Llc Distributed job scheduling system
US11271905B2 (en) 2018-09-21 2022-03-08 Google Llc Network architecture for cloud computing environments
US10834004B2 (en) 2018-09-24 2020-11-10 Netsia, Inc. Path determination method and system for delay-optimized service function chaining
US10911374B1 (en) 2018-09-28 2021-02-02 Riverbed Technology, Inc. Software defined wide area network (SD WAN) enabled network fabric for containers
US11108664B2 (en) 2018-10-19 2021-08-31 Comcast Cable Communications, Llc Prioritized message routing
DE112018008119T5 (de) 2018-11-01 2021-08-12 Hewlett Packard Enterprise Development Lp Modifizieren einer Ressourcenzuweisung oder einer Strategie in Reaktion auf Steuerungsinformationen von einer virtuellen Netzwerkfunktion
US11102113B2 (en) 2018-11-08 2021-08-24 Sap Se Mapping of internet protocol addresses in a multi-cloud computing environment
US10708144B2 (en) 2018-11-14 2020-07-07 Juniper Networks, Inc. Predicting application quality of experience metrics using adaptive machine learned probes
EP3878160A1 (en) 2018-11-15 2021-09-15 VMware, Inc. Layer four optimization in a virtual network defined over public cloud
US10795817B2 (en) 2018-11-16 2020-10-06 Western Digital Technologies, Inc. Cache coherence for file system interfaces
US10893004B2 (en) 2018-11-20 2021-01-12 Amazon Technologies, Inc. Configurable detection of network traffic anomalies at scalable virtual traffic hubs
US10715402B2 (en) 2018-11-27 2020-07-14 Servicenow, Inc. Systems and methods for enhanced monitoring of a distributed computing system
US11201854B2 (en) 2018-11-30 2021-12-14 Cisco Technology, Inc. Dynamic intent-based firewall
US10999197B2 (en) 2018-11-30 2021-05-04 Cisco Technology, Inc. End-to-end identity-aware routing across multiple administrative domains
US11233822B2 (en) 2018-11-30 2022-01-25 Cisco Technology, Inc. Dynamic honeypots
US11115426B1 (en) 2018-12-13 2021-09-07 Cisco Technology, Inc. Distributed packet capture for network anomaly detection
US10951529B2 (en) 2018-12-13 2021-03-16 Fortinet, Inc. Dynamic service-based load balancing in a software-defined wide area network (SD-WAN)
US11095558B2 (en) 2018-12-28 2021-08-17 Alibaba Group Holding Limited ASIC for routing a packet
US11032175B2 (en) 2018-12-31 2021-06-08 Hughes Network Systems Packet loss isolation test
US11099873B2 (en) 2019-01-04 2021-08-24 Microsoft Technology Licensing, Llc Network configuration updates for virtual machine
US10892989B2 (en) 2019-01-18 2021-01-12 Vmware, Inc. Tunnel-based service insertion in public cloud environments
US11552874B1 (en) 2019-01-18 2023-01-10 Keysight Technologies, Inc. Methods, systems and computer readable media for proactive network testing
US11012299B2 (en) 2019-01-18 2021-05-18 Cisco Technology, Inc. Seamless multi-cloud routing and policy interconnectivity
US20200244721A1 (en) 2019-01-30 2020-07-30 Hewlett Packard Enterprise Development Lp Deploying a workload
US11336482B2 (en) 2019-01-31 2022-05-17 Juniper Networks, Inc. Policy-driven on-demand tunnel creation/deletion based on traffic information in a wide area network (WAN)
US11271795B2 (en) 2019-02-08 2022-03-08 Ciena Corporation Systems and methods for proactive network operations
US10911517B2 (en) 2019-02-17 2021-02-02 Cisco Technology, Inc. Determining end times for single page applications
US11165828B2 (en) 2019-02-28 2021-11-02 Cisco Technology, Inc. Systems and methods for on-demand flow-based policy enforcement in multi-cloud environments
US11134126B2 (en) 2019-03-06 2021-09-28 Hewlett Packard Enterprise Development Lp Adaptive routing of branch traffic in software-defined wide area network (SDWAN) deployments
US10855575B2 (en) 2019-03-06 2020-12-01 Hewlett Packard Enterprise Development Lp Adaptive traffic routing in a software-defined wide area network
US11005729B2 (en) 2019-03-14 2021-05-11 Juniper Networks, Inc. Satisfying service level agreement metrics for unknown applications
US11423254B2 (en) 2019-03-28 2022-08-23 Intel Corporation Technologies for distributing iterative computations in heterogeneous computing environments
US20200314614A1 (en) 2019-03-29 2020-10-01 Apple Inc. Systems and methods for autonomous vehicle communication
US10972386B2 (en) 2019-03-29 2021-04-06 Juniper Networks, Inc. Scalable multi-tenant underlay network supporting multi-tenant overlay network
US11201800B2 (en) 2019-04-03 2021-12-14 Cisco Technology, Inc. On-path dynamic policy enforcement and endpoint-aware policy enforcement for endpoints
US11128492B2 (en) 2019-04-16 2021-09-21 Hewlett Packard Enterprise Development Lp Automated gateway selection in SD-WAN
US11502936B2 (en) 2019-04-18 2022-11-15 Hewlett Packard Enterprise Development Lp Heuristic-based SD-WAN route reconfiguration
US11128490B2 (en) 2019-04-26 2021-09-21 Microsoft Technology Licensing, Llc Enabling access to dedicated resources in a virtual network using top of rack switches
US11212223B2 (en) 2019-04-27 2021-12-28 Hewlett Packard Enterprise Development Lp Uplink selection in a SD-WAN
US11050644B2 (en) 2019-04-30 2021-06-29 Hewlett Packard Enterprise Development Lp Dynamic device anchoring to SD-WAN cluster
US11303727B2 (en) 2019-04-30 2022-04-12 Jio Platforms Limited Method and system for routing user data traffic from an edge device to a network entity
US11025522B2 (en) 2019-05-04 2021-06-01 Juniper Networks, Inc. Path monitoring system (PMS) controller or ingress node based multiprotocal label switching (MPLS) ping and traceroute in inter- autonomous system (AS) segment routing (SR) networks
US11093287B2 (en) 2019-05-24 2021-08-17 Intel Corporation Data management for edge architectures
US10693739B1 (en) 2019-05-29 2020-06-23 Accenture Global Solutions Limited Network design platform
US10979316B2 (en) 2019-05-31 2021-04-13 Juniper Networks, Inc. Dynamic application SLA metric generation, distribution, and intent-based SD-WAN link selection
US10826775B1 (en) 2019-06-19 2020-11-03 Cisco Technology, Inc. Policy plane integration across multiple domains
US11258628B2 (en) 2019-06-24 2022-02-22 Cisco Technology, Inc. Plug and play at sites using TLOC-extension
US11526434B1 (en) 2019-06-25 2022-12-13 Amazon Technologies, Inc. Network-level garbage collection in an on-demand code execution system
US20200412483A1 (en) 2019-06-25 2020-12-31 Cisco Technology, Inc. Xor forward error correction for isolated and burst losses over a software-defined-wide area network
US11071005B2 (en) 2019-06-27 2021-07-20 Cisco Technology, Inc. Congestion avoidance with adaptive QoS policy enforcement from SD-WAN controller in SD-WAN networks
US11032107B2 (en) 2019-06-28 2021-06-08 Juniper Networks, Inc. GRE tunneling with reduced packet encryption at intermediate routers
US10498665B1 (en) 2019-07-15 2019-12-03 Capital One Services, Llc Method for managing state of cloud-based systems
US11184273B2 (en) 2019-07-24 2021-11-23 Vmware, Inc. Machine learning-based path priority determination for routing data in software-defined networks
JP7388032B2 (ja) 2019-07-29 2023-11-29 富士フイルムビジネスイノベーション株式会社 情報処理システム及び情報処理システム用制御プログラム
US11374791B2 (en) 2019-07-31 2022-06-28 Hewlett Packard Enterprise Development Lp Orchestration of subnetwork extensions across a wide area network
US11329950B2 (en) 2019-08-02 2022-05-10 Cisco Technology, Inc. Wide area network edge device connectivity for high availability and extensibility
WO2021029856A1 (en) 2019-08-09 2021-02-18 Hewlett-Packard Development Company, L.P. Network connectivity performance determination on computing devices
US10691728B1 (en) 2019-08-13 2020-06-23 Datadog, Inc. Transforming a data stream into structured data
US11121985B2 (en) 2019-08-27 2021-09-14 Vmware, Inc. Defining different public cloud virtual networks for different entities based on different sets of measurements
US10938717B1 (en) 2019-09-04 2021-03-02 Cisco Technology, Inc. Policy plane integration across multiple domains
US11169816B2 (en) 2019-09-05 2021-11-09 Facebook Technologies, Llc System and method for key value store
US20210092062A1 (en) 2019-09-20 2021-03-25 Citrix Systems, Inc. Quality of experience (qoe) enhancement device and related techniques
US11082304B2 (en) 2019-09-27 2021-08-03 Oracle International Corporation Methods, systems, and computer readable media for providing a multi-tenant software-defined wide area network (SD-WAN) node
US11115347B2 (en) 2019-10-14 2021-09-07 Hewlett Packard Enterprise Development Lp Dynamic monitoring and migration of applications
US11153119B2 (en) 2019-10-15 2021-10-19 Cisco Technology, Inc. Dynamic discovery of peer network devices across a wide area network
US20210126854A1 (en) 2019-10-23 2021-04-29 Arista Networks, Inc. Tcp performance model based in-band network telemetry
US11509534B2 (en) 2019-10-23 2022-11-22 Juniper Networks, Inc. Collection of error packet information for network policy enforcement
US11611507B2 (en) 2019-10-28 2023-03-21 Vmware, Inc. Managing forwarding elements at edge nodes connected to a virtual network
US11483796B2 (en) 2019-11-25 2022-10-25 Cisco Technology, Inc. Systems and methods for dynamically generating a mobile software-defined wide area network gateway location for remote users
US11411857B2 (en) 2019-11-25 2022-08-09 Cisco Technology, Inc. Multicast performance routing and policy control in software defined wide area networks
US11316869B2 (en) 2019-12-10 2022-04-26 Cisco Technology, Inc. Systems and methods for providing attestation of data integrity
US11394640B2 (en) 2019-12-12 2022-07-19 Vmware, Inc. Collecting and analyzing data regarding flows associated with DPI parameters
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
EP3991359A1 (en) 2019-12-12 2022-05-04 VMware, Inc. Collecting an analyzing data regarding flows associated with dpi parameters
FR3105681B1 (fr) 2019-12-20 2021-12-03 Sagemcom Broadband Sas Procédé et dispositif de détermination d’une topologie d’un réseau de points d’accès sans fils
CN111198764B (zh) 2019-12-31 2024-04-26 江苏省未来网络创新研究院 一种基于sdn的负载均衡实现系统及方法
US11398969B2 (en) 2020-01-22 2022-07-26 Cisco Technology, Inc. Network conversation testing of flow level operations
US11438789B2 (en) 2020-01-24 2022-09-06 Vmware, Inc. Computing and using different path quality metrics for different service classes
US11665095B2 (en) 2020-02-21 2023-05-30 Cisco Technology, Inc. Fine-grained SD-WAN optimization services for cloud-native applications
US11556349B2 (en) 2020-03-04 2023-01-17 International Business Machines Corporation Booting a secondary operating system kernel with reclaimed primary kernel memory
US11316773B2 (en) 2020-04-06 2022-04-26 Vmware, Inc. Configuring edge device with multiple routing tables
US20210314385A1 (en) 2020-04-07 2021-10-07 Cisco Technology, Inc. Integration of hyper converged infrastructure management with a software defined network control
US11108851B1 (en) 2020-04-10 2021-08-31 Hewlett Packard Enterprise Development Lp Dynamic application routing in a software defined wide area network
WO2021207922A1 (zh) 2020-04-14 2021-10-21 华为技术有限公司 报文传输方法、装置及系统
US20200241927A1 (en) 2020-04-15 2020-07-30 Intel Corporation Storage transactions with predictable latency
WO2021211906A1 (en) 2020-04-15 2021-10-21 Gunuganta Ramakanth Application-agnostic tenant onboarding onto a multi-tenant system
US11750512B2 (en) 2020-04-22 2023-09-05 Hewlett Packard Enterprise Development Lp Identifying a dynamic network parameter probe interval in an SD-WAN
US11394606B2 (en) 2020-05-26 2022-07-19 Cisco Technology, Inc. Auto-provisioning of SD-WAN hubs and spokes
US20200322287A1 (en) 2020-06-18 2020-10-08 Intel Corporation Switch-managed resource allocation and software execution
US11297513B2 (en) 2020-06-23 2022-04-05 T-Mobile Usa, Inc. System for administering test cases from a mobile device for a telecommunications network
US11398948B2 (en) 2020-06-29 2022-07-26 Cisco Technology, Inc. Generation and deployment of inherited network topology models
US11477127B2 (en) 2020-07-02 2022-10-18 Vmware, Inc. Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN
CN115668865A (zh) 2020-07-21 2023-01-31 谷歌有限责任公司 网络异常检测
US11363124B2 (en) 2020-07-30 2022-06-14 Vmware, Inc. Zero copy socket splicing
US11240153B1 (en) 2020-07-31 2022-02-01 Cisco Technology, Inc. Scoring policies for predictive routing suggestions
US11516104B2 (en) 2020-08-10 2022-11-29 Cisco Technology, Inc. Systems and methods for determining a network path trace
US11588711B2 (en) 2020-08-14 2023-02-21 Cisco Technology, Inc. Intent-driven cloud branches
US11337227B2 (en) 2020-08-24 2022-05-17 Amazon Technologies, Inc. Distributed network connectivity monitoring of provider network edge location resources from cellular networks
US11356319B2 (en) 2020-09-11 2022-06-07 Arista Networks, Inc. Distinguishing network vs server issues when diagnosing application performance problems
CN116325900A (zh) 2020-10-22 2023-06-23 华为技术有限公司 一种通信方法及装置
US20220131807A1 (en) 2020-10-28 2022-04-28 Vmware, Inc. Identification of faulty sd-wan segment
US11095612B1 (en) 2020-10-30 2021-08-17 Palo Alto Networks, Inc. Flow metadata exchanges between network and security functions for a security service
CN115918139A (zh) 2020-11-16 2023-04-04 瞻博网络公司 网络切片的主动保证
US11575591B2 (en) 2020-11-17 2023-02-07 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11575600B2 (en) 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
US11522780B1 (en) 2020-12-10 2022-12-06 Amazon Technologies, Inc. Monitoring networks by detection of noisy agents
CN117157628A (zh) 2020-12-21 2023-12-01 吉尼赛斯云服务第二控股有限公司 与所应用的异常检测和联络中心计算环境相关的系统和方法
US11601356B2 (en) 2020-12-29 2023-03-07 Vmware, Inc. Emulating packet flows to assess network links for SD-WAN
US11765057B2 (en) 2020-12-30 2023-09-19 Oracle International Corporation Systems and methods for performing end-to-end link-layer and IP-layer health checks between a host machine and a network virtualization device
US11381474B1 (en) 2020-12-31 2022-07-05 Juniper Networks, Inc. Wan link selection for SD-WAN services
US11575651B2 (en) 2020-12-31 2023-02-07 Palo Alto Networks, Inc. Dynamically scalable application firewall deployment for cloud native applications
US11595231B2 (en) 2021-01-07 2023-02-28 Hewlett Packard Enterprise Development Lp Metric based dynamic virtual private network (VPN) tunnel between branch gateway devices
WO2022154850A1 (en) 2021-01-18 2022-07-21 Vmware, Inc. Network-aware load balancing
US11792127B2 (en) 2021-01-18 2023-10-17 Vmware, Inc. Network-aware load balancing
US20220231949A1 (en) 2021-01-18 2022-07-21 Vmware, Inc. Network-aware load balancing
EP4189935A1 (en) 2021-01-21 2023-06-07 VMware, Inc. Proactive optimization across network segments to maintain end-to-end performance
US11979325B2 (en) 2021-01-28 2024-05-07 VMware LLC Dynamic SD-WAN hub cluster scaling with machine learning
US11797510B2 (en) 2021-04-20 2023-10-24 Netapp, Inc. Key-value store and file system integration
US20220353190A1 (en) 2021-04-29 2022-11-03 Vmware, Inc. Methods for micro-segmentation in sd-wan for virtual networks
WO2022231668A1 (en) 2021-04-29 2022-11-03 Vmware, Inc. Methods for micro-segmentation in sd-wan for virtual networks
US11637768B2 (en) 2021-05-03 2023-04-25 Vmware, Inc. On demand routing mesh for routing packets through SD-WAN edge forwarding nodes in an SD-WAN
US12009987B2 (en) 2021-05-03 2024-06-11 VMware LLC Methods to support dynamic transit paths through hub clustering across branches in SD-WAN
EP4282140A1 (en) 2021-05-03 2023-11-29 VMware, Inc. On demand routing mesh for routing packets through sd-wan edge forwarding nodes in an sd-wan
US11729065B2 (en) 2021-05-06 2023-08-15 Vmware, Inc. Methods for application defined virtual network service among multiple transport in SD-WAN
US20220407773A1 (en) 2021-06-18 2022-12-22 Vmware, Inc. Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of sub-types of resource elements in the public clouds
US20220407790A1 (en) 2021-06-18 2022-12-22 Vmware, Inc. Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics
US11489720B1 (en) 2021-06-18 2022-11-01 Vmware, Inc. Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics
US20220407774A1 (en) 2021-06-18 2022-12-22 Vmware, Inc. Method and apparatus for modifying the deployment of resource elements in public clouds based on harvested performance metrics
EP4282136A1 (en) 2021-06-18 2023-11-29 VMware, Inc. Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics
US20220407915A1 (en) 2021-06-18 2022-12-22 Vmware, Inc. Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics
US12015536B2 (en) 2021-06-18 2024-06-18 VMware LLC Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds
US20230028872A1 (en) 2021-07-22 2023-01-26 Vmware, Inc. Methods for smart bandwidth aggregation based dynamic overlay selection among preferred exits in sd-wan
WO2023009159A1 (en) 2021-07-24 2023-02-02 Vmware, Inc. Network management services in a point-of-presence
US11375005B1 (en) 2021-07-24 2022-06-28 Vmware, Inc. High availability solutions for a secure access service edge application
US20230026865A1 (en) 2021-07-24 2023-01-26 Vmware, Inc. Network management services in a virtual network
US20230025586A1 (en) 2021-07-24 2023-01-26 Vmware, Inc. Network management services in a secure access service edge application
US20230026330A1 (en) 2021-07-24 2023-01-26 Vmware, Inc. Network management services in a point-of-presence
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
US20230216804A1 (en) 2022-01-04 2023-07-06 Vmware, Inc. Efficient mechanism for the transmission of multipath duplicate packets
US20230216768A1 (en) 2022-01-04 2023-07-06 Vmware, Inc. Enhanced path selection using online detection of paths overlaps
US20230216801A1 (en) 2022-01-04 2023-07-06 Vmware, Inc. Explicit congestion notification in a virtual environment

Also Published As

Publication number Publication date
EP4106280A1 (en) 2022-12-21
US20190104063A1 (en) 2019-04-04
US20190104051A1 (en) 2019-04-04
US20190104050A1 (en) 2019-04-04
KR20230074626A (ko) 2023-05-30
US10805114B2 (en) 2020-10-13
US20190103990A1 (en) 2019-04-04
CN111095876A (zh) 2020-05-01
US10686625B2 (en) 2020-06-16
US11516049B2 (en) 2022-11-29
AU2018345729B2 (en) 2021-06-03
US10841131B2 (en) 2020-11-17
JP7275237B2 (ja) 2023-05-17
ES2920281T3 (es) 2022-08-02
US20190104053A1 (en) 2019-04-04
US11005684B2 (en) 2021-05-11
JP2020536403A (ja) 2020-12-10
CA3200752A1 (en) 2019-04-11
CN115051869A (zh) 2022-09-13
US11855805B2 (en) 2023-12-26
RU2766313C2 (ru) 2022-03-15
AU2021221592A1 (en) 2021-09-16
US10666460B2 (en) 2020-05-26
US10958479B2 (en) 2021-03-23
WO2019070611A1 (en) 2019-04-11
US20190103991A1 (en) 2019-04-04
EP3662619B1 (en) 2022-05-04
US20190104109A1 (en) 2019-04-04
CN111095876B (zh) 2022-07-05
JP2023109797A (ja) 2023-08-08
RU2020118757A (ru) 2021-11-01
US20190103992A1 (en) 2019-04-04
US11102032B2 (en) 2021-08-24
US10778466B2 (en) 2020-09-15
RU2020118757A3 (pt) 2021-11-01
US20190104049A1 (en) 2019-04-04
CA3074501A1 (en) 2019-04-11
US10594516B2 (en) 2020-03-17
AU2023204664A1 (en) 2023-08-03
CA3074501C (en) 2023-08-01
AU2018345729A1 (en) 2020-03-12
US10608844B2 (en) 2020-03-31
US20240039760A1 (en) 2024-02-01
KR102535288B1 (ko) 2023-05-30
JP2022043118A (ja) 2022-03-15
KR20200064102A (ko) 2020-06-05
US20190104052A1 (en) 2019-04-04
EP3662619A1 (en) 2020-06-10
US20190104064A1 (en) 2019-04-04
JP6991646B2 (ja) 2022-01-12
KR102368063B1 (ko) 2022-03-02
AU2021221592B2 (en) 2023-04-13
KR20220028172A (ko) 2022-03-08
US20190104111A1 (en) 2019-04-04

Similar Documents

Publication Publication Date Title
JP7275237B2 (ja) 複数のパブリッククラウドに跨る仮想ネットワークの生成
US11894949B2 (en) Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SaaS provider
US10959098B2 (en) Dynamically specifying multiple public cloud edge nodes to connect to an external multi-computer node
US20190104035A1 (en) Three tiers of saas providers for deploying compute and network infrastructure in the public cloud

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]