Nothing Special   »   [go: up one dir, main page]

BR112019026003A2 - Central de emparelhamento de serviços - Google Patents

Central de emparelhamento de serviços Download PDF

Info

Publication number
BR112019026003A2
BR112019026003A2 BR112019026003-0A BR112019026003A BR112019026003A2 BR 112019026003 A2 BR112019026003 A2 BR 112019026003A2 BR 112019026003 A BR112019026003 A BR 112019026003A BR 112019026003 A2 BR112019026003 A2 BR 112019026003A2
Authority
BR
Brazil
Prior art keywords
service
network
exchange
peering
endpoint
Prior art date
Application number
BR112019026003-0A
Other languages
English (en)
Inventor
Anthony Madden Stephen
Stephen Anthony Madden
Original Assignee
Equinix, 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 Equinix, Inc. filed Critical Equinix, Inc.
Publication of BR112019026003A2 publication Critical patent/BR112019026003A2/pt

Links

Classifications

    • 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
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2871Implementation details of single intermediate entities
    • 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
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

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

Abstract

essa revelação descreve técnicas para fornecer confirmações iniciais a um dispositivo de origem que realiza uma operação de gravação de dados dentro de um centro de dados ou através de um centro de dados geograficamente distribuído. em um exemplo, essa revelação descreve um método que inclui receber, a partir de um dispositivo de origem dentro de um centro de dados local, os dados a serem armazenados em um dispositivo de destino que está localizado dentro de um centro de dados remoto; armazenar os dados em memória de alta velocidade incluída no dispositivo de portal; após armazenar os dados, emitir, para o dispositivo de origem e antes dos dados serem armazenados no dispositivo de destino, uma confirmação local; transmitir os dados através de uma conexão para o centro de dados remoto; receber, a partir de um dispositivo dentro do centro de dados remoto, uma confirmação remota; e em resposta ao recebimento da confirmação remota, remover os dados a partir da memória de alta velocidade incluída no dispositivo de portal.

Description

“CENTRAL DE EMPARELHAMENTO DE SERVIÇOS” PEDIDO RELACIONADO
[0001] O pedido reivindica o benefício da prioridade do Pedido Provisório dos Estados Unidos Número de Série 62/518,992, depositado em 13 de junho de 2017, cujo conteúdo é aqui incorporado em sua totalidade.
CAMPO TÉCNICO
[0002] A revelação refere-se às redes de computadores e, mais especificamente, a uma central de emparelhamento de serviços para criar e gerenciar caminhos de serviço-para-serviço entre aplicações providas por redes de computadores.
ANTECEDENTES
[0003] À medida que os serviços digitais tornam-se mais dominantes, tais serviços interagem de forma automatizada para fornecer conectividade entre as empresas. As Interfaces de Programação de Aplicação produtizadas (APIs) para acessar os serviços empresariais estão se tornando a nova vitrine digital, e as empresas empregam normalmente portais de API, acessíveis à Internet pública, para fornecer um ponto de entrada, único, controlado e confiável para suas arquiteturas internas de sistema.
SUMÁRIO
[0004] Em geral, essa revelação descreve uma central de emparelhamento de serviços para criar e gerenciar caminhos de serviço-para-serviço entre aplicações. Por exemplo, uma central de emparelhamento de serviços com conectividade de rede com múltiplas redes pode receber dados de interface de programação de aplicação
(API) que descrevem APIs para serviços providos, por exemplo, por empresas ou provedores de serviço de nuvem (CSPs) e acessíveis através das redes utilizando solicitações de serviços. Tais serviços podem incluir, por exemplo, armazenamento de dados, e-Commerce, cobrança, marketing, gerenciamento de relação com o cliente (CRM), mídia social, mídia digital, financeira, tempo, pesquisa e outros serviços acessíveis utilizando comunicação de máquina - para - máquina através de uma rede. Um administrador ou cliente da central de emparelhamento de serviços pode configurar políticas que são aplicadas por intermédio da central de emparelhamento de serviços para orquestrar caminhos de serviço-para-serviço entre diferentes serviços acessíveis através das diferentes redes.
[0005] Com base nas políticas, a central de emparelhamento de serviços pode logicamente segmentar a largura de banda de serviços compartilhados provida por intermédio da central de emparelhamento de serviços e solicitações de serviços de rotas para os pontos de terminação de serviço, apropriados. A central de emparelhamento de serviços também pode, para algumas solicitações de serviços, verificar se o solicitante de serviço está autorizado e fazer cumprir as diretrizes de nível de serviço antes de rotear as solicitações de serviço para os pontos de terminação de serviço, de acordo com diretrizes configuradas para cada um dos pontos de terminação de serviço de destino.
[0006] Cada instância de um serviço que permuta o tráfego de serviço com a central de emparelhamento de serviços expõe uma API remota em um endereço de rede e porta de camada de transporte que pode ser anunciada e disponível utilizando um diretório de serviços, uma camada de serviços, e camadas mais altas da pilha de protocolos. Um ou mais dos serviços podem, pelo menos em alguns casos, ser acessíveis através de um portal de serviços (ou “portal API”) do provedor de serviços que opera como interface pública para as APIs remotas em um endereço de rede e porta do portal de serviço. A central de emparelhamento de serviços pode incluir ou acessar um registro de serviços para obter endereços de rede respectivos e portas para acessar os serviços nos vários pontos de terminação de serviço das múltiplas redes de provedores de serviços. A central de emparelhamento de serviços publica APIs registradas, acessíveis aos clientes da central de emparelhamento de serviços e proporciona conectividade de camada de rede e camada superior para clientes para as APIs em um endereço de rede e portas da central de emparelhamento de serviços acessível aos clientes em um link de acesso.
[0007] Em alguns exemplos, para rotear solicitações de serviços recebidas no endereço de rede e portas da central de emparelhamento de serviços para os pontos de terminação de serviço apropriados, a central de emparelhamento de serviços executa o mapeamento de nível de serviço e encaminha as sessões de serviço entre (i) a aplicação solicitante e a central de emparelhamento de serviços e (ii) a central de emparelhamento de serviços e os pontos de terminação de serviço. Em alguns exemplos, a central de emparelhamento de serviços pode ter conectividade com um central de nuvem ou outra central de serviços de rede que permite a conectividade de um - para - muitos entre a central de emparelhamento de serviços e as redes que hospedam os serviços. Em alguns exemplos, para rotear as solicitações de serviços, a central de emparelhamento de serviços aplica políticas para permitir a ligação (isso é, encaminhamento na camada 2) de solicitações de serviços para os pontos de terminação de serviço que são visíveis nas camadas de rede (camada 2/camada 3) para aplicações solicitantes. Em alguns exemplos, a central de emparelhamento de serviços pode orquestrar cadeias de serviços para os serviços mediante roteamento de solicitações de serviços de acordo com uma ou mais políticas.
[0008] As técnicas de central de emparelhamento de serviços descritas aqui podem ter uma ou mais vantagens técnicas. Por exemplo, mediante estabelecimento de sessões de serviço ou comunicações de ligação de ponte, a central de emparelhamento de serviços pode permitir que as múltiplas aplicações troquem solicitações de serviços e respostas sem exigir qualquer conectividade de camada de rede direta, dedicada entre redes que executam as instâncias de serviço que se comunicam umas com as outras. Desse modo, a central de emparelhamento de serviços pode substituir redes interconectadas de modo que as redes de clientes possam permanecer não conectadas umas com as outras, exceto através da central de emparelhamento de serviços e apenas para o tráfego de serviços. Isso pode evitar a necessidade de os clientes comprarem ou de outra forma estabelecerem conectividade direta ou virtual entre clientes utilizando conexões transversais ou conexões virtuais tais como redes privadas virtuais ou circuitos virtuais de uma central de nuvem, central de Internet ou central de Ethernet. A redução ou eliminação de conectividade direta ou virtual entre clientes pode facilitar o tráfego de serviço de latência mais baixa e pode simplificar a configuração de e reduzir uma carga sobre as redes mediante a redução de recursos e/ou utilização de recursos tipicamente necessários para facilitar tal conectividade de rede, tais como links de rede, firewalls, recursos de memória de dispositivos de rede, e assim por diante. O portal de emparelhamento de serviços também pode fornecer uma localização centralizada para múltiplos pontos de terminação de serviço para realizar verificação de solicitante específica de ponto de terminação (ou pelo menos específica de cliente), inspeção de pacotes e segurança, cumprimento de política no nível de API, coleta de dados e análise.
[0009] Em um exemplo, um método inclui receber, por intermédio de uma central de emparelhamento de serviços executada por um ou mais dispositivos de computação e em um primeiro ponto de terminação de troca de serviços da central de emparelhamento de serviços, uma primeira solicitação de serviço de chegada a partir de uma primeira rede de clientes, em que a primeira solicitação de serviço de chegada é destinada ao primeiro ponto de terminação de troca de serviços, e em que a primeira solicitação de serviço de chegada pode invocar uma interface de programação de aplicação de uma primeira aplicação; emitir, por intermédio da central de emparelhamento de serviços em resposta ao recebimento da primeira solicitação de serviço de chegada, uma primeira solicitação de serviço de saída destinada a um ponto de terminação de serviço de uma segunda rede de clientes que executa a primeira aplicação, em que a primeira solicitação de serviço de saída pode invocar a interface de programação de aplicação da primeira aplicação; receber, por intermédio da central de emparelhamento de serviços e em um segundo ponto de terminação de troca de serviços da central de emparelhamento de serviços que é diferente do primeiro ponto de terminação de troca de serviços, uma segunda solicitação de serviço de chegada a partir da primeira rede de clientes, em que a segunda solicitação de serviço de chegada é destinada ao segundo ponto de terminação de troca de serviços, e em que a segunda solicitação de serviço de chegada pode invocar uma interface de programação de aplicação de um segundo aplicativo; e emitir, por intermédio da central de emparelhamento de serviços em resposta ao recebimento da segunda solicitação de serviço de chegada, uma segunda solicitação de serviço de saída destinada a um ponto de terminação de serviço de uma terceira rede de clientes que executa a segunda aplicação, em que a segunda solicitação de serviço de saída pode invocar a interface de programação de aplicação da segunda aplicação.
[0010] Em outro exemplo, um sistema de troca de serviços compreende um ou mais centrais de emparelhamento de serviços configuradas para execução por intermédio de uma plataforma de central de emparelhamento de serviços que compreende um ou mais dispositivos de computação; e um portal de serviços para uma aplicação configurada para execução por intermédio da primeira rede de clientes, o portal de serviços configurado para execução por um dispositivo de computação da primeira rede de clientes, em que a uma ou mais centrais de emparelhamento de serviços são configuradas para receber, em um ponto de terminação de troca de serviços, uma solicitação de serviço de chegada a partir de uma segunda rede de clientes, em que a solicitação de serviço de chegada é destinada ao ponto de terminação de troca de serviços, e em que a solicitação de serviço de chegada pode invocar uma interface de programação de aplicação, da aplicação configurada para execução por intermédio da primeira rede de clientes, em que a uma ou mais centrais de emparelhamento de serviço são configuradas para, em resposta ao recebimento da solicitação de serviço de chegada, saída de uma solicitação de serviço de saída destinada a um ponto de terminação de serviço do portal de serviços, em que a solicitação de serviço de saída pode invocar a interface de programação de aplicação, da aplicação configurada para execução por intermédio da primeira rede de clientes, em que o portal de serviços é configurado para receber a segunda solicitação de serviço no ponto de terminação de serviço e direcionar a segunda solicitação de serviço para a aplicação.
[0011] Em outro exemplo, um sistema de troca de serviços compreende uma ou mais centrais de emparelhamento de serviços configuradas para execução por intermédio de uma plataforma de central de emparelhamento de serviços que compreende um ou mais dispositivos de computação, em que a uma ou mais centrais de emparelhamento de serviços são configuradas para receber, em um primeiro ponto de terminação de troca de serviços, uma primeira solicitação de serviço de chegada a partir de uma primeira rede de clientes, em que a primeira solicitação de serviço de chegada é destinada ao primeiro ponto de terminação de troca de serviçose em que a primeira solicitação de serviço de chegada pode invocar uma interface de programação de aplicação de uma primeira aplicação, em que a uma ou mais centrais de emparelhamento de serviços são configuradas para emitir, em resposta ao recebimento da primeira solicitação de serviço de chegada, uma primeira solicitação de serviço de saída destinada a um ponto de terminação de serviço de uma segunda rede de clientes que executa a primeira aplicação, em que a primeira solicitação de serviço de saída pode invocar a interface de programação de aplicação da primeira aplicação, em que uma ou mais centrais de emparelhamento de serviços são configuradas para receber, em um segundo ponto de terminação de troca de serviços que é diferente do primeiro ponto de terminação de troca de serviços, uma segunda solicitação de serviço de chegada a partir da primeira rede de clientes, em que a segunda solicitação de serviço de chegada é destinada ao segundo ponto de terminação de troca de serviços e em que a segunda solicitação de serviço de chegada pode invocar uma interface de programação de aplicação de uma segunda aplicação, e em que a uma ou mais centrais de emparelhamento de serviços são configuradas para emitir, em resposta ao recebimento da segunda solicitação de serviço de chegada, uma segunda solicitação de serviço de saída destinada a um ponto de terminação de serviço de uma terceira rede de clientes que executa a segunda aplicação, em que a segunda solicitação de serviço de saída pode invocar a interface de programação de aplicação da segunda aplicação.
[0012] Os detalhes de um ou mais exemplos são estabelecidos nos desenhos anexos e na descrição abaixo. Outras características, objetivos e vantagens serão evidentes a partir da descrição e desenhos, e a partir das reivindicações.
BREVE DESCRIÇÃO DOS DESENHOS
[0013] A Figura 1 é um diagrama de blocos que ilustra um sistema de troca de serviços exemplar para criar e gerenciar caminhos de serviço-para-serviço entre aplicações acessíveis em múltiplos pontos de terminação de serviço diferentes, de acordo com técnicas desta revelação.
[0014] As Figuras 2A-2B são diagramas de blocos que ilustram um exemplo de ponto de troca de nuvem que é configurável por intermédio de uma plataforma de rede programável para estabelecer conectividade de rede entre uma central de emparelhamento de serviços e múltiplas redes de clientes para permitir comunicação de serviço-para-
serviço entre aplicações executando por intermédio das redes de clientes, de acordo com as técnicas desta revelação.
[0015] A Figura 3 é um diagrama de blocos que ilustra um sistema de troca de serviços exemplar, de acordo com as técnicas desta revelação.
[0016] A Figura 4 é um mapa de serviço exemplar, de acordo com as técnicas desta revelação.
[0017] A Figura 5 é um diagrama de blocos que ilustra uma vista conceitual de um sistema de troca de serviços tendo uma central de nuvem metropolitana que proporciona múltiplos pontos de troca de nuvem para comunicação com uma central de emparelhamento de serviços, de acordo com as técnicas aqui descritas.
[0018] A Figura 6 é um fluxograma que ilustra um modo exemplar de operação para uma central de emparelhamento de serviços, de acordo com as técnicas desta revelação.
[0019] A Figura 7 é um diagrama de blocos que ilustra um exemplo de sistema de troca de serviços, distribuído de acordo com as técnicas aqui descritas.
[0020] Caracteres de referência semelhantes denotam elementos similares por todas as figuras e texto.
DESCRIÇÃO DETALHADA
[0021] A Figura 1 é um diagrama de blocos que ilustra um sistema de troca de serviços exemplar para criar e gerenciar caminhos de serviço-para-serviço entre aplicações acessíveis em múltiplos pontos de terminação de serviço, diferentes, de acordo com técnicas dessa revelação. O sistema de troca de serviços 100 inclui múltiplas redes de clientes 108A a 108C (coletivamente, “redes de clientes 108”) para os respectivos clientes de um provedor de central de emparelhamento de serviços 101.
[0022] Cada uma das redes de clientes 108 pode representar uma dentre uma rede empresarial; uma rede de provedor de serviços de nuvem; uma rede de nuvem privada, pública ou híbrida; e uma rede de locatários dentro de uma rede de nuvem, por exemplo. Cada uma das redes de clientes 108 é uma rede de camada 3 e pode incluir um ou mais comutadores de não borda, roteadores, concentradores, portais, dispositivos de segurança tais como firewalls, detecção de intrusão, e/ou dispositivos de prevenção de intrusão, servidores, terminais de computador, laptops, impressoras, bancos de dados, dispositivos móveis sem fio tais como telefones celulares ou assistentes digitais pessoais, pontos de acesso sem fio, pontes, modems de cabo, aceleradores de aplicação, ou outros dispositivos de rede.
[0023] Cada uma das redes de clientes 108 inclui um ou mais servidores de hospedagem (não mostrados) que individualmente executam uma instância de pelo menos uma das aplicações 1l0A-110D (coletivamente, “aplicações 110”). Por exemplo, um ou mais servidores de hospedagem de rede de clientes 108A que executam uma instância de aplicação de serviço 110A, e a instância de serviço processa as solicitações de serviço recebidas no endereço de rede e porta do servidor de hospedagem, atribuída à instância de serviço. Como outro exemplo, um ou mais servidores de hospedagem de rede de clientes 108C individualmente executam uma instância de aplicação de serviço 110C e/ou uma instância de aplicação de serviço 110D.
[0024] Servidores de hospedagem podem incluir servidores de computação, servidores de armazenamento, servidor de aplicação, ou outro dispositivo de computação para executar aplicações que processam solicitações de serviços recebidas através de uma rede. Servidores de hospedagem podem representar servidores reais ou servidores virtuais, tais como máquinas virtuais, recipientes, ou outro ambiente de execução virtualizado.
[0025] As aplicações 110 oferecem serviços, tais como armazenamento de dados, eCommerce, cobrança, marketing, gerenciamento de relação com o cliente (CRM), mídia social, mídia digital, financeira, tempo, busca e outros serviços acessíveis utilizando comunicação de máquina-para-máquina através da rede de clientes correspondente 108. Cada uma das aplicações 110 pode representar um serviço diferente. Cada instância de serviço hospedada por um servidor de hospedagem expõe uma interface de programação de aplicação remota (API) em um endereço de rede e porta do servidor de hospedagem. A combinação de endereço de rede e porta mapeada para uma instância de serviço executada por um servidor de hospedagem é referida como um “ponto de terminação de serviço” e, mais especificamente, nesse exemplo onde as instâncias de serviço estão logicamente situadas atrás dos portais de serviço 112, um “ponto de terminação de serviço interno”. Por exemplo, uma instância de aplicação de serviço 110D processa solicitações de serviço recebidas em um endereço de rede e porta do servidor de hospedagem que executa a instância de serviço, as solicitações de serviço que se conformam à API da aplicação 110D. As solicitações de serviços podem ser referidas como “solicitações de API”.
[0026] Os serviços oferecidos por intermédio das aplicações 110 podem ser referidos alternativamente como “serviços de rede” em que os serviços se comunicam com outros serviços de computação, aplicação e protocolos de envio de mensagens, e outros protocolos emergentes desenvolvidos pelo menos em parte para a rede mundial, tal como HyperText Transfer Protocol (HTTP) ou Simple Mail Transfer Protocol (SMTP), e operação através de redes de Protocolo da Internet. Os serviços podem operar de acordo com diferentes estruturas de serviço, tais como Apache Axis, Java Web Services, Windows Communication Foundation (WCF), e .NET Framework, cada uma das quais faz uso de um ou mais protocolos de serviço da rede para comunicação de dados de serviço entre máquinas. Os protocolos de serviço de rede, exemplares incluem JavaScript Object Notation (JSON)-Remote Procedure Call (RPC), serviços completos Representational State Transfer (REST), Simple Object Access Protocol (SOAP), Apache Thrift, extensible Markup Language (XML)-RPC, Message Queue Telemetry Transport (MQTT), Rabbit Message Queue (RabbitMQ), e Constrained Application Protocol (CoAP), e Web Services Description Language (WSDL).
[0027] Nesse exemplo, administradores de redes de clientes 108 empregam respectivos portais de serviço 112 para as redes de clientes para expor APIs internos de instâncias de serviço a clientes externos às redes de clientes.
Por exemplo, o portal de serviços 112A da rede de clientes 108 opera como um único ponto de chegada para uma ou mais instâncias de serviço da aplicação 110A e é responsável por roteamento de solicitação de serviço para as instâncias de serviço.
Isso é, o portal de serviços 112A encaminha as solicitações de serviço recebidas no portal de serviços 112 para os serviços alvo oferecidos por intermédio da uma ou mais instâncias de serviço da aplicação 110A.
O portal de serviços 112A pode representar um dispositivo de computação de servidor que executa uma aplicação de portal de serviços.
O portal de serviços 112A pode representar uma associação de instâncias de portal de serviços (“grupo de portais”) acessíveis em um ou mais pontos de terminação de serviço.
O portal de serviços 112A pode ser instanciado por um cliente correspondente que cria uma ou mais instâncias de virtualização de função de rede (NFV) de uma função de portal de serviços.
O cliente pode registrar os casos de NFV com a central de emparelhamento de serviços 101 subsequente à instanciação dos mesmos.
O portal de serviços 112A tem um endereço de rede e pode receber as solicitações de serviços para roteamento em uma porta de camada de transporte, tal como a porta 80 ou 8080 para solicitações de serviço com base em HTTP, embora qualquer porta de camada de transporte adequada possa ser mapeada por intermédio do portal de serviços para um serviço.
A combinação do endereço de rede e porta para a aplicação de portal de serviços é um ponto de terminação de serviço 114A para os serviços expostos por intermédio do portal de serviços 112A. O portal de serviços 112B, 112C pode ser empregado e operar de forma similar ao portal de serviços 112A como descrito acima. Assim, o portal de serviços 112B inclui o ponto de terminação de serviço 114B no qual o portal de serviços 112B recebe solicitações de serviços para a aplicação 110B, e o portal de serviços 112C inclui pontos de terminação de serviço 114C, 114D nos quais o portal de serviços 112C recebe solicitações de serviços para aplicações 110C e 110D.
[0028] Conforme aqui utilizado, o termo “roteamento” e termos similares para a entrega de solicitações de serviços para o destino pretendido podem incluir o encaminhamento de camada 2/camada 3, mas podem incluir, além ou, na alternativa, a aplicação de políticas para identificar, aprovar e emitir solicitações de serviços para seus destinos pretendidos de acordo com os protocolos de serviço para as solicitações de serviços. As solicitações de serviço de saída podem ser encaminhadas em sua forma original ou modificadas, por exemplo, para dirigir as solicitações de serviços a partir de um ponto de terminação de troca de serviços recebido para um ponto de terminação de aplicação de serviço, que pode ser atingível através de um ponto de terminação de serviço de um portal de serviços.
[0029] Além de encaminhar as solicitações de serviços entre os solicitantes (isso é, os emissores de solicitações de serviço) e os pontos de terminação de serviço internos, cada um dos portais de serviço 112 também pode verificar se os solicitantes estão autorizados a fazer solicitações, impedir o acesso a pontos de terminação de serviço internos por solicitantes não autorizados, realizar o equilíbrio da carga entre múltiplas instâncias de serviço para as aplicações 110, solicitações de serviços de regular e/ou traduzir protocolos de serviço da rede de solicitações de serviços recebidas para outros protocolos de serviço da rede (por exemplo, transformar protocolos RESTful em SOAP) antes de rotear as solicitações de serviços, por exemplo. Cada um dos portais de serviço 112 pode usar um mecanismo de descoberta de serviços para identificar pontos internos de terminação de serviço para um serviço oferecido por um aplicativo 110, e encaminhar solicitações de serviço para o serviço para os pontos de terminação de serviço internos. Mecanismos de descoberta de serviço exemplares incluem descoberta pelo lado do cliente e descoberta pelo lado do servidor. Os portais de serviço 112, dessa maneira, oferecem APIs externas para alcançar os pontos internos de terminação de serviço para aplicações 110.
[0030] A descoberta de serviço pode ocorrer na camada de serviço, pois a camada de serviço tipicamente descreve e oferece capacidades de negócio e serviços para os serviços oferecidos em conformidade com um ou mais protocolos de serviço da rede. Serviços oferecidos por intermédio das aplicações 110 para os clientes correspondentes 108 são associados aos pontos de terminação de serviço 114. As informações de descoberta de serviço obtidas por intermédio da central de emparelhamento de serviços 101 e anunciadas para as portais de serviços 112, para a descoberta de serviços pelos portais de serviço 112, podem ser armazenadas por intermédio de emparelhamento de serviços 101 em associação com os pontos de terminação de serviço.
[0031] As redes de clientes 108 são acopladas a uma central de emparelhamento de serviços 101 pelos respectivos links de comunicação 103A-103C (coletivamente, “links de comunicação 103”). Redes de clientes 108 e central de emparelhamento de serviços 101 trocam comunicações de dados através de links de comunicação 103, cada um dos quais pode representar pelo menos um link Ethernet, link de Modo de Transferência Assíncrono (ATM) e link SONET/SDH, por exemplo. Os links de comunicação 103 podem representar, cada um, uma rede de camada 2, tal como uma rede de área local ou rede de área local virtual (VLAN). Comunicações de dados podem se conformar ao modelo de Interconexão de Sistema Aberto (OSI), modelo de Protocolo de Controle de Transmissão (TCP)/Protocolo de Internet (IP), ou modelo de Protocolo de Datagrama de Usuário (UDP)/IP. As comunicações de dados podem incluir um pacote de camada 3 (isso é, camada de rede) possuindo um cabeçalho de protocolo Internet que inclui endereços de rede fonte e de destino e camada 4 (por exemplo, protocolo de camada de transporte, como fonte de TCP/UDP) e portas de destino. O cabeçalho de protocolo Internet também especifica o protocolo de camada de transporte para a comunicação de dados.
[0032] As redes de clientes 108 podem não ter conectividade de rede umas com as outras. Isso é, um dispositivo na rede de clientes 108A pode ser incapaz de enviar um pacote de rede (camada 3) para um dispositivo na rede de clientes 108B ou para um dispositivo na rede de clientes 108C, para que não haja uma rede física ou virtual configurada para rotear pacotes de rede entre as redes de clientes 108. Em alguns casos, as redes de clientes 108 podem ter conectividade de rede uma com a outra somente através de links de comunicação diferentes dos links de comunicação 103.
[0033] A central de emparelhamento de serviços 101 obtém, por exemplo, utilizando a descoberta de serviços, dados de terminação de serviço que descrevem pontos de terminação de serviço 114 para APIs expostas pelos portais de serviço 112. Os dados de terminação de serviço podem incluir informação de endereço de rede e porta para os pontos de terminação de serviço 114. A central de emparelhamento de serviços 101 pode executar a descoberta de serviços para obter os dados de terminação de serviço a partir de registradores de serviços para as portais de serviços, por exemplo, tal como enviando mensagens de descoberta de serviço para os portais de serviço. Os dados de descrição API podem descrever protocolos, métodos, pontos de terminação API, etc., que definem solicitações de serviço aceitáveis para os pontos de terminação de serviço para interagir com os serviços para aplicações 110. Os dados de descrição API podem ser formatados com WSDL.
[0034] De acordo com as técnicas descritas nessa revelação, a central de emparelhamento de serviços 101 permite a comunicação entre serviços entre as aplicações 110 executadas por diferentes redes de clientes 108, criando e gerenciando caminhos de serviço-para-serviço entre as aplicações. Nesse exemplo, a central de emparelhamento de serviços 101 habilita os pontos de terminação de troca de serviços 106 para enviar e receber tráfego de serviço com redes de clientes 108. Como usado aqui, “tráfego de serviço” pode se referir a solicitações de serviços invocando interfaces de programação de aplicação de instâncias de serviço, bem como respostas a tais solicitações de serviços (ou “respostas de serviço”).
[0035] Cada ponto de terminação de troca de serviços 106 é um endereço de rede e um par de portas que é internamente mapeado, por intermédio da central de emparelhamento de serviços 101 utilizando dados de mapeamento de serviços, para um dos pontos de terminação de serviço 114 para serviços providos por intermédio das aplicações 110 que executam por intermédio das redes de clientes 108. A central de emparelhamento de serviços 101 recebe solicitações de serviços emitidas, por exemplo, por intermédio das aplicações 110 em pontos de terminação de emparelhamento de serviços 106. As saídas de troca de serviços 101 emitem, em resposta, solicitações de serviços correspondentes dirigidas ao ponto de terminação de serviço 114, em uma rede de clientes 108 diferente, para a qual os pontos de terminação de emparelhamento de serviços de destino 106 são mapeados. Desse modo, a central de emparelhamento de serviços 101 permite a comunicação de serviço-para-serviço entre as aplicações executando por intermédio das redes de clientes 108 que não possuem uma conexão dedicada, diretamente de camada de rede uma com a outra. Os dados de mapeamento de serviços podem ser obtidos por intermédio da central de emparelhamento de serviços 101 em tempo real por intermédio da execução da resolução de mapeamento de serviços para solicitações de serviços de equilíbrio de carga entre portais/aplicações de serviço que são membros de um grupo.
[0036] No exemplo da Figura 1, a central de emparelhamento de serviços 101 mapeia os pontos de terminação de troca de serviços 106A-106D para os respectivos pontos de terminação de serviço 114A-114D de múltiplas redes de clientes 108, nesse exemplo, os pontos de terminação de serviço 114 sendo acessíveis nos portais de serviço 112. Por exemplo, a central de emparelhamento de serviços 101 mapeia o ponto de terminação de troca de serviços 106A exposto por intermédio da central de emparelhamento de serviços 101 para o ponto de terminação de serviço 114A exposto por intermédio do portal de serviços 112A da rede de clientes 108A e utilizável para acessar a API da aplicação 110A. A central de emparelhamento de serviços 101 mapeia o ponto de terminação de troca de serviços 106B exposto por intermédio da central de emparelhamento de serviços 101 para o ponto de terminação de serviço 114B exposto por intermédio do portal de serviços 112B da rede de clientes 108B e utilizável para acessar a API da aplicação 110B. A central de emparelhamento de serviços 101 mapeia os pontos de terminação de troca de serviços 106C, 106D expostos por intermédio da central de emparelhamento de serviços 101 para os pontos de terminação de serviço 114C, 114D expostos por intermédio do portal de serviços 112C da rede de clientes 108C e utilizável para acessar as APIs das aplicações 110C, 110D. Consequentemente, e conforme descrito em maiores detalhes abaixo, a central de emparelhamento de serviços 101 permite que as aplicações 110B-110D que executam em redes de clientes 108B, 108C emitam solicitações de serviços para a aplicação 110A, apesar de as redes de clientes 108 não terem conectividade de rede uma com a outra.
[0037] A central de emparelhamento de serviços 101 recebe uma solicitação de serviço 124A da rede de clientes 108A. A solicitação de serviço 124A tem um endereço de rede de destino e porta de destino que casam com o endereço de rede e porta do ponto de terminação de troca de serviços 106C. A solicitação de serviço 124A pode se conformar a um protocolo de serviço da rede, tal como qualquer um dos protocolos de serviço da rede listados acima. Por exemplo, a solicitação de serviço 124A pode representar uma comunicação REST utilizando HTTP, uma comunicação SOAP, ou outro tipo de solicitação de serviço que invoca uma API para a aplicação 110C. Isso é, instâncias de serviço da aplicação 110C reconheceriam a solicitação de serviço 124A como uma solicitação de serviço que invoca a API para a aplicação 110C. A solicitação de serviço 124A pode ser gerada por intermédio de uma instância de aplicação de serviço 110A e emitida a partir de um dispositivo de computação da rede de clientes 108C que executa a instância de serviço. A solicitação de serviço 124A inclui dados de serviço para invocar uma API oferecida por intermédio de uma instância de aplicação de serviço 110C.
[0038] A central de emparelhamento de serviços 101 mapeia a solicitação de serviço 124A recebida no ponto de terminação de troca de serviços 106C para o ponto de terminação de serviço 114C e gera uma nova solicitação de serviço de saída 124A’. A solicitação de serviço de saída 124A’ inclui dados de serviço da solicitação de serviço 124A e inclui um cabeçalho de camada 4 e um cabeçalho de camada 3 que faz com que a solicitação de serviço de saída 124A’ seja recebida no ponto de terminação de serviço 114C exposta por intermédio do portal de serviços 112C. Em outras palavras, a central de emparelhamento de serviços 101 regrava pelo menos o endereço de rede de destino e a porta de destino da solicitação de serviço 124A, que é destinada ao ponto de terminação de troca de serviços 106C, para gerar e emitir a solicitação de serviço de saída 124A’, que é destinada ao ponto de terminação de serviço 114C. A central de emparelhamento de serviços 101 também pode gerar a solicitação de serviço de saída 124A’ para ter um ponto de terminação de serviço de origem como ponto de terminação de troca de serviços 106A mapeado por intermédio da central de emparelhamento de serviços 101 para o ponto de terminação de serviço 114A. A central de pareamento de serviço 101 emite a solicitação de serviço de saída 124A’ por intermédio do link de comunicação 103C. O portal de serviços 112C recebe a solicitação de serviço de saída 124A’ no ponto de terminação de serviço 114C. A central de emparelhamento de serviços 101 pode hospedar uma sessão de transporte-camada (por exemplo, TCP) entre a central de emparelhamento de serviços 101 e uma instância de aplicação de serviço 110A e uma sessão de transporte-camada entre a central de emparelhamento de serviços 101 e uma instância de aplicação de serviço 110C. Desse modo, a central de emparelhamento de serviços 101 cria um caminho de serviço- para-serviço para solicitações de serviços e respostas de serviço entre uma instância de serviço para a aplicação 110A e uma instância de serviço para a aplicação 110C, apesar de as redes de clientes 108 não terem conectividade entre redes.
[0039] O portal de serviços 112C envia a solicitação de serviço de saída 124A’ para processamento por intermédio de uma instância de aplicação de serviço 110C. Em alguns casos, o portal de serviços 112C pode gerar uma nova solicitação de serviço de saída 124A’ com um cabeçalho de camada 4 e um cabeçalho de camada 3 possuindo uma porta de destino e um endereço de destino para a instância de serviço da aplicação 110C. A instância de serviço da aplicação 110C pode emitir uma nova solicitação de serviço 125A para a aplicação 110B executando por intermédio da rede de clientes 108B. A solicitação de serviço 125A é destinada ao ponto de terminação de troca de serviços 106B da central de emparelhamento de serviços 101. A central de emparelhamento de serviços 101 recebe a solicitação de serviço 125A no ponto de terminação de troca de serviços 106B. A central de emparelhamento de serviços 101 mapeia a solicitação de serviço 125A no ponto de terminação de troca de serviços 106B para o ponto de terminação de serviço 114B e gera uma nova solicitação de serviço de saída 125A’. Para gerar nova solicitação de serviço de saída 125A’, a central de emparelhamento de serviços 101 pode aplicar operações similares àquelas expressas acima para gerar a solicitação de serviço de saída 124A’. A central de emparelhamento de serviços 101 emite a solicitação de serviço de saída 125A’ através do link de comunicação 103B. O portal de serviços 112C recebe a solicitação de serviço de saída 125A’ no ponto de terminação de serviço 114C. A central de emparelhamento de serviços 101 pode hospedar uma sessão de transporte-camada entre a central de emparelhamento de serviços 101 e uma instância de aplicação de serviço 110C e uma sessão de transporte-camada entre a central de emparelhamento de serviços 101 e uma instância de aplicação de serviço 110B.
[0040] O portal de serviços 112B envia a solicitação de serviço de saída 125A’ para processamento por intermédio de uma instância de aplicação de serviço 110B. Em alguns casos, o portal de serviços 112B pode gerar uma nova solicitação de serviço de saída 125A’ com um cabeçalho de camada 4 e um cabeçalho de camada 3 possuindo uma porta de destino e um endereço de destino para a instância de aplicação de serviço 110B. A instância de serviço da aplicação 110B processa a solicitação de serviço de saída 125A’ e pode gerar uma resposta de serviço 125B destinada ao ponto de terminação de troca de serviços 106C que é indicado como um ponto de terminação de serviço fonte para a solicitação de serviço 125.
[0041] A central de emparelhamento de serviços 101 recebe a resposta de serviço 125B no ponto de terminação de troca de serviços 106C e gera a resposta de serviço de saída 125B’ com base no mapeamento do ponto de terminação de troca de serviços 106C para o ponto de terminação de serviço 114C. A resposta de serviço de saída 125B’ é, portanto, destinada ao ponto de terminação de serviço 114C. A central de emparelhamento de serviços 101 emite a resposta de serviço de saída 125B’ através do link de comunicação 103C para a rede de clientes 108C. O portal de serviços 112C recebe a resposta de serviço de saída 125B’ no ponto de terminação de serviço 114C e direciona a resposta de serviço de saída 125B’ para a instância de aplicação de serviço 110C. A instância de aplicação de serviço 110C processa a resposta de serviço de saída 125B’.
[0042] A instância de aplicação de serviço 110C pode gerar a resposta de serviço 124B responsiva à solicitação de serviço de saída 124A’. A resposta de serviço 124B é destinada ao ponto de terminação de troca de serviços 106A com base no ponto de terminação fonte indicado por intermédio da solicitação de serviço de saída 124A’. A central de emparelhamento de serviços 101 recebe a resposta de serviço 124B no ponto de emparelhamento de serviços 106A e gera a resposta de serviço 124B’ com base no mapeamento do ponto de terminação de troca de serviços 106A para o ponto de terminação de serviço 114A. A resposta de serviço 124B’ é, portanto, destinada ao ponto de terminação de serviço 114. A central de emparelhamento de serviços 101 emite a resposta de serviço 124B’ através do link de comunicação 103A para a rede de clientes 108A. O portal de serviços 112A recebe a resposta de serviço 124B’ no ponto de terminação de serviço 114B e direciona a resposta de serviço 124B’ para a instância de serviço da aplicação 110A. A instância de serviço da aplicação 110A processa a resposta de serviço 124B’.
[0043] Em alguns exemplos, cada um dos portais de serviço 112 expõe suas APIs registradas e pontos de terminação de serviço correspondentes 114 com troca de serviço 101. O portal de serviços 112A pode registrar APIs acessíveis no ponto de terminação de serviço 114A, o portal de serviços 112B pode registrar APIs acessíveis no ponto de terminação de serviço 114B, e o portal de serviços 112C pode registrar APIs acessíveis nos pontos de terminação de serviço 114C e 114D, por exemplo. Em alguns casos, um cliente que opera cada portal 112 pode registrar as APIs e pontos de terminação de serviço 114 através de uma aplicação de portal, tal como o portal de clientes 330 descrito abaixo com relação às figuras 2A-2B. Pontos de terminação de serviço e pontos de terminação de emparelhamento de serviços podem ser indicados em parte utilizando Localizadores de Recursos Uniformes (URLs) ou Identificadores de Recursos Uniformes, em parte utilizando portas de transporte-camada, ou especificando explicitamente um endereço de rede e porta de transporte- camada para o ponto de terminação de serviço, por exemplo.
Como mencionado acima, a central de emparelhamento de serviços 101 pode usar a descoberta de serviços para obter pontos de terminação de serviço 114 para APIs de portais de serviços 122. A central de emparelhamento 101 pode divulgar os pontos de terminação 114 para clientes para redes de clientes 108, junto com as APIs, em um catálogo API que é acessível, por exemplo, através de um portal desenvolvido por um provedor da central de emparelhamento de serviços
101. Em alguns exemplos, a central de emparelhamento de serviços 101 (ou portal de cliente para a central de emparelhamento de serviços de serviços, tal como portal 330), emite uma indicação de acessibilidade das interfaces de programação de aplicação em pontos de emparelhamento de serviços. Por exemplo, a central de emparelhamento de serviços 101 mapeia os pontos de terminação registrados 114 para os pontos de terminação de emparelhamento de serviços 106 e publica pontos de terminação 106 para clientes para redes de clientes 108, junto com as APIs, em um catálogo API. As aplicações 110 e as portais de serviços 112 podem, consequentemente, direcionar as solicitações de serviços para as APIs para os pontos de terminação de emparelhamento de serviços 106 da central de emparelhamento de serviços 101, que personalizam os portais de serviço 112 utilizando pontos de terminação de emparelhamento de serviços 106 para receber solicitações de serviços finalmente destinadas para aplicações 110 atrás dos pontos de terminação de serviço
114.
[0044] As aplicações 110 podem executar a descoberta de serviços para identificar pontos de terminação de emparelhamento de serviços 106 para acessar pontos de terminação de serviço 114 através da central de emparelhamento de serviços 101. A descoberta de serviços pode ocorrer na camada de serviço. A central de emparelhamento de serviços 101 pode expor uma API de descoberta, por exemplo, utilizando um localizador de Recursos Uniformes de Descoberta (URL), a fim de permitir tal descoberta de serviços pelas aplicações 110. Por exemplo, a aplicação 110A pode invocar a API de descoberta utilizando uma mensagem de solicitação de descoberta que inclui um valor de parâmetro que indica a aplicação 110C. A central de emparelhamento de serviços 101 provê uma mensagem de resposta de descoberta que inclui o endereço de rede e porta para o ponto de terminação de troca de serviços 106C que é mapeado por intermédio da central de emparelhamento de serviços 101 para o ponto de terminação de serviço 114C. Consequentemente, a aplicação 110A pode dirigir solicitações de serviços para o ponto de terminação de troca de serviços 106C para entrega por intermédio da central de emparelhamento de serviços 101 ao ponto de terminação de serviço 114C exposto por intermédio do portal de serviços 112C utilizando as técnicas descritas acima.
[0045] As técnicas de emparelhamento de serviço permitem que a central de emparelhamento de serviços 101 receba e encaminha solicitações de serviço para pontos de terminação de serviço 114 apropriados para aplicações respectivas 110 que executam mediante múltiplas redes de clientes 108 diferentes, apesar de tais redes não possuírem conectividade de rede dedicada umas com as outras, pelo menos em alguns casos. Desse modo, a central de emparelhamento de serviços 101 pode substituir uma rede de interconexão de tal forma que as redes de clientes 108 possam permanecer não conectadas umas com as outras, exceto através da central de emparelhamento de serviços 101 e somente para o tráfego de serviço, e assim evitar a necessidade de que clientes empreguem redes de clientes 108 para comprar ou de outra forma estabelecer conectividade direta ou virtual entre redes de clientes 108 utilizando conexões transversais ou conexões virtuais tais como redes privadas virtuais. Na realidade, a central de emparelhamento de serviços 101 abstrai substancialmente as redes por intermédio da provisão de roteamento de solicitação de serviço entre redes interclientes 108 e segmentação de serviços entre portais de serviços 112 de acordo com autorizações de acesso entre as aplicações 110.
[0046] Além do mais, a central de emparelhamento de serviços 101 pode fornecer um serviço neutro para os clientes emparelhar os serviços API entre si. À medida que os processos comerciais tornam-se mais fluidos e entrelaçados em ecossistemas comerciais, os clientes podem agrupar e compartilhar serviços em fluxos. O fluxo das solicitações de serviços 124 e 125 da rede de clientes 108A para o cliente 108B através do cliente 108C é um exemplo de tal fluxo. Cada serviço pode pertencer a uma entidade organizacional diferente (e o componente de serviço digital a entidade provê), e o fluxo pode representar uma nova oferta de negócio conjunto. A central de emparelhamento de serviços 101 oferece um serviço em camadas como o ponto de interseção das transações digitais de negócio-para-negócio entre dois ou mais clientes que desenvolveram respectivas redes de clientes 108. Conforme descrito em maiores detalhes abaixo, a central de emparelhamento de serviços 101 pode ser distribuída para uma central de emparelhamento de serviços, tal como uma central de nuvem ou uma central de Internet, e se tornar uma central de negócio digital aberta para os locatários que tem acesso à central de emparelhamento de serviços ou que, de outra forma, tem aplicações executadas por redes que têm acesso à central de emparelhamento de serviços. Em alguns casos, um ou mais clientes locatários são colocados diretamente com a central de emparelhamento de serviços por meio do emprego de rede e equipamento de computação para redes de clientes 108 dentro de um centro de dados, físico que aloja a central de emparelhamento de serviços. Um ou mais clientes locatários também podem ou alternativamente ser conectados indiretamente à central de emparelhamento de serviços através de um provedor de serviço de rede colocado dentro do centro de dados físicos e conectado à central de emparelhamento de serviços.
[0047] As Figuras 2A-2B são diagramas de blocos que ilustram um exemplo de ponto de troca de nuvem que é configurável por intermédio de uma plataforma de rede programável para estabelecer conectividade de rede entre uma central de emparelhamento de serviços e redes de clientes múltiplos para permitir comunicação de serviço- para-serviço entre aplicações executando pelas redes de cliente, de acordo com as técnicas desta descrição. O ponto de troca de nuvem 303 é uma implementação exemplar de um dispositivo de comutação de rede de área ampla definida por software (PDSN) ou de rede de área ampla definida por software (SD-WAN) em que um controlador (nesse exemplo, a plataforma de rede programável 328) gerência a configuração de rede para a rede para facilitar a conectividade entre as redes de clientes 308 e a central de emparelhamento de serviços 301. O ponto de troca de nuvem 303, as redes de clientes 308 e a central de emparelhamento de serviços 301 podem representar uma instância exemplar de um sistema de troca de serviços 100. As redes de clientes 308 podem representar as redes exemplares de clientes 108, as aplicações 310 podem representar as aplicações exemplares 110, os portais de serviço 312 podem representar os portais de serviço exemplares 112, os pontos de extremidade de serviço 314 podem representar os pontos de terminação de serviço exemplares 114, e a central de emparelhamento de serviços 301 pode representar uma central de emparelhamento de serviços exemplar 101.
[0048] As redes de clientes 308A-308C (coletivamente, “redes de clientes 308”), cada uma associada a um cliente diferente do provedor do ponto de troca de nuvem 303, acessam um ponto de troca de nuvem 303 dentro de um centro de dados 300 a fim de receber serviços agregados a partir de uma ou mais outras redes acopladas ao ponto de troca de nuvem 303. As redes de Clientes 308 incluem individualmente, os dispositivos de terminação que proporcionam e/ou consomem serviços. Dispositivos de terminação exemplares incluem servidores reais ou virtuais,
telefones inteligentes, aparelhos de conversão de sinais de frequência de televisão, estações de trabalho, computadores laptop/mesa, sistemas de jogos de vídeo, sistemas teleconferências, aparelhos de reprodução de mídia e assim por diante.
[0049] As redes de clientes 308A-308B incluem roteadores de borda de sistema autônomo/borda de provedor, respectivos (PE/ASBRs) 309A-309B. Cada um dos PE/ASBRs 309A, 309B pode executar protocolos de roteamento de porta externa para emparelhamento com um dos roteadores de PE 302A-302B (“roteadores de PE 302” ou mais simplesmente “PEs 302”) através de um dos links de acesso 316A-316B (coletivamente, “links de acesso 316”). Nos exemplos ilustrados, cada um dos links de acesso 316 representa um link de trânsito entre um roteador de borda de uma rede de clientes 308 e um roteador de borda (ou roteador de borda de sistema autônomo) do ponto de troca de nuvem 303. Por exemplo, o PE 309A e o PE 302A podem ser ligados diretamente através de um protocolo de porta externa, por exemplo, o BGP exterior, para trocar rotas L3 através do link de acesso 316A e para trocar o tráfego de dados L3 entre a rede de clientes 308A e as redes de provedor de serviços de nuvem 320. Os links de acesso 316 podem, em alguns casos, representar e alternativamente ser referidos como circuitos de fixação para IP-VPNs configurados na estrutura IP/MPLS 318, conforme descrito em maiores detalhes abaixo. As links de acesso 316 podem, em alguns casos, incluir uma conexão física direta entre pelo menos uma porta de uma rede de clientes 308 e pelo menos uma porta do ponto de troca de nuvem 303, sem rede de trânsito interveniente. As links de acesso 316 podem operar sobre uma VLAN ou uma VLAN empilhada (por exemplo, QinQ), uma VxLAN, um LSP, um túnel GRE, ou outro tipo de túnel.
[0050] Embora ilustrada e principalmente descrita com relação à conectividade L3 entre as redes de cliente 308 e a central de emparelhamento de serviços 301, os roteadores de PE 302 podem adicionalmente ou alternativamente oferecer, através dos links de acesso 316, a conectividade L2 entre as redes de cliente 308 e a central de emparelhamento de serviços 301. Por exemplo, uma porta do roteador de PE 302A pode ser configurada com uma interface L2 que fornece, para a rede de clientes 308A, a conectividade L2 para a troca de serviço de serviço 301 através do link de acesso 316A, com a central de emparelhamento de serviços 301 acoplada (diretamente ou através de outro dispositivo de rede) a uma porta do roteador de PE 304A que também é configurada com uma interface L2. A porta do roteador de PE 302A pode ser adicionalmente configurada com uma interface L3 que fornece, para a rede de clientes 308A, a conectividade L3 para o provedor de serviços de nuvem 320B através de links de acesso 316A. O PE 302A pode ser configurado com múltiplas interfaces secundárias L2 e/ou L3, de modo que o cliente 308A possa ser provido, pelo provedor de central de nuvem, com uma conexão de um-para-muitos com a central de emparelhamento de serviços 301 e uma ou mais outras redes acopladas ao ponto de troca de nuvem 303.
[0051] Para criar uma interconexão L2 entre uma rede de clientes 308 e uma central de emparelhamento de serviços 301, em alguns exemplos, a estrutura IP/MLS 318 é configurada com um domínio de ponte L2 (por exemplo, uma rede privada virtual L2 (L2VPN) tal como um serviço de LAN privada virtual (VPLS), e-LINE, ou e-LAN) para ligar o Tráfego L2 entre uma porta voltada para o cliente de PEs 302 e uma porta voltada para a central de emparelhamento de serviços de 304A. Em alguns casos, a central de emparelhamento de serviços 301 e uma ou mais redes de clientes 308 podem ter links de acesso ao mesmo roteador de PE 302, 304, que faz a ponte do tráfego L2 utilizando o domínio de ponte. Para criar uma interconexão L3 entre uma rede de clientes 308 e a central de emparelhamento de serviços 301, em alguns exemplos, a estrutura IP/MLS 318 é configurada com instâncias de encaminhamento e roteamento virtual L3 e (VRFs).
[0052] Em alguns exemplos de um ponto de troca de nuvem 303, qualquer um dos links de acesso 316 e links de agregação 322 pode representar links de Interface de Rede para Rede (NNI). Detalhes adicionais de links de NNI e provisão de links NNI para facilitar a conectividade de camada 2 dentro de um centro de dados 300 são encontrados na Patente dos Estados Unidos Nº 537.845, emitida em 17 de setembro de 2013, e Intitulada “Real time configuration and provisioning for a carrier Ethernet exchange”, que é aqui incorporada integralmente mediante referência.
[0053] Nesse exemplo, a rede de clientes 308C não é um sistema autônomo que tem um número autônomo do sistema. A rede de clientes 308C pode representar uma empresa, provedor de serviços de rede, ou outra rede de clientes que esteja dentro da área ocupada de roteamento do ponto de troca de nuvem. A rede de clientes inclui um dispositivo de borda de cliente (CE) 311 que pode executar protocolos de roteamento de porta externa para o ponto com o roteador de PE 302B através do link de acesso 316C. Em vários exemplos, qualquer um dos PEs 309A-309B pode alternativamente ser ou de outra forma representar dispositivos CE. As redes de clientes 308A-308B podem ou não ser sistemas autônomos tendo um número de sistemas autônomos.
[0054] Os links de acesso 316 incluem links físicos e podem incluir um ou mais dispositivos de comutação intermediários. O dispositivo CE 311 e os roteadores de PE 302A-302B trocam pacotes L2/L3 através de links de acesso 316. A este respeito, os links de acesso 316 constituem links de transporte para acesso de nuvem através do ponto de troca de nuvem 303.
[0055] O ponto de troca de nuvem 303, em alguns exemplos, agrega o acesso de clientes 308 ao ponto de troca de nuvem 303 a outras redes acopladas ao ponto de troca de nuvem 303. As figuras 2A-2B, por exemplo, ilustram os links de acesso 316A-316B conectando as respectivas redes de clientes 308A-308B ao roteador de PE 302A do ponto de troca de nuvem 303 e o link de acesso 316C conectando a rede de clientes 308C ao roteador de PE 302B. Qualquer um ou mais roteadores de PE 302, 304 pode compreender ASBRs. Os roteadores de PE 302, 304 e a estrutura IP/MLS 318 podem ser configurados de acordo com as técnicas aqui descritas para interconectar qualquer um dos links de acesso 316 ao link de acesso 322. Como resultado, a rede de provedor de serviços de nuvem 320A, por exemplo, precisa apenas ter configurado um único link agregado de nuvem (aqui, link de acesso 322A) a fim de fornecer serviços para múltiplas redes de clientes 308. Isto é, o provedor de serviço de nuvem operando a rede de provedores de serviços de nuvem 302A não precisa prover e configurar links de serviço separados da central de emparelhamento de serviços 303 para roteadores de PE 309, 311, por exemplo, a fim de fornecer serviços para cada uma das redes de clientes 308. O ponto de troca de nuvem 303 pode, ao invés disso, interconectar o link de acesso 322 acoplado ao PE 304A e a central de emparelhamento de serviços 301 a múltiplos links de acesso de nuvem 316, de modo a prover a capacidade de alcance de redes e emparelhamento de camada 3 para o tráfego de serviço entre qualquer uma das redes de clientes 308 e a central de emparelhamento de serviços 301.
[0056] Além disso, uma única rede de clientes, por exemplo, a rede de clientes 308A, precisa apenas ter configurado um único link de acesso de nuvem (aqui, link de acesso 316A) para o ponto de troca de nuvem 303 dentro do centro de dados 300, a fim de que a central de emparelhamento de serviços 301 forneça serviços para as redes de clientes 308, também acopladas ao ponto de troca de nuvem 303. Isto é, o operador da central de emparelhamento de serviços 301 não precisa prover e configurar links de serviço separados que conectam a central de emparelhamento de serviços 301 a fim de prover o estabelecimento de serviço a múltiplas redes de clientes
308. O ponto de troca de nuvem 303 pode, ao invés disso, interconectar cada um dos links de acesso de nuvem 316A- 316B (novamente, como um exemplo) ao link de acesso 322 para fornecer a capacidade de acesso de camada 3 e da rede para a entrega de serviços de nuvem às redes de clientes 308A-308C.
[0057] Em alguns casos, a central de emparelhamento de serviços 301 pode ser acoplada a um roteador de PE (não mostrado) que é acoplado ao link de acesso 322. O roteador de PE pode executar um protocolo de roteamento de porta externa, por exemplo, eBGP, para trocar rotas com o roteador de PE 304A do ponto de troca de nuvem
303.
[0058] No exemplo ilustrado, uma estrutura de comutação de rótulos (IP/MPLS) de Internet/Multimídia (IP/MPLS) 318 interconecta os PEs 302 e o PE 304A. A estrutura IP/MLS 318 inclui um ou mais dispositivos de comutação e roteamento, incluindo PEs 302, 304A, que fornecem comutação de IP/MPLS e roteamento de pacotes IP para formar uma cadeia principal de IP. Em alguns exemplos, a estrutura IP/MLS 318 pode implementar um ou mais protocolos de tunelamento diferentes (isso é, além de MPLS) para rotear tráfego entre roteadores de PE e/ou associar o tráfego com diferentes IP-VPNs. De acordo com as técnicas descritas aqui, a estrutura IP/MPLS 318 implementa redes privadas virtuais IP (IP-VPNs) para conectar qualquer um dos clientes 308 com a central de emparelhamento de serviços 301 para fornecer um transporte de dados baseado no centro de dados e camada 3. Enquanto as redes principais de IP baseadas em provedor de serviço requerem conexões de rede de longa distância (WAN) com largura de banda limitada para transportar tráfego de serviço a partir dos provedores de serviços da camada 3 para clientes, o ponto de troca de nuvem 303, conforme descrito aqui, transporta o tráfego de serviço e interconecta o intercâmbio de serviços de serviço 301 aos clientes 308 dentro do ambiente local de alta largura de banda do centro de dados 300 fornecido por intermédio de uma estrutura IP/MPLS baseada em centro de dados 318. Em alguns exemplos, a estrutura IP/MPLS 318 implementa IP-VPNs utilizando técnicas descritas em Rosen & Rekhter, “BGP/MPLS IP Virtual Private Networks (VPNs)”, Request for Comments 4364, February 2006, Internet Engineering Task Force (IETF) Network Working Group, cujo conteúdo integral é aqui incorporado mediante referência. Em algumas configurações exemplares, a rede de clientes 308 e a central de emparelhamento de serviços 301 podem conectar-se através de links respectivos ao mesmo roteador de PE da estrutura IP/MPLS 318.
[0059] Os links de acesso 316 e o link de acesso 322 podem incluir circuitos de ligação que associam o tráfego, trocados com a rede de clientes conectada 308 ou a central de emparelhamento de serviços 301, com as instâncias de envio e encaminhamento virtual (VRFs) configuradas nos PEs 302, 304A e correspondentes a IP-VPNs que operam sobre a estrutura IP/MPLS 318. Por exemplo, o PE 302 a pode trocar pacotes IP com PE 310A em um caminho comutado por rótulo bidirecional (LSP) operando através do link de acesso 316A, o LSP sendo um circuito de ligação para um VRF configurado no PE 302A. Como outro exemplo, o PE 304 a pode trocar pacotes IP com um dispositivo de PE ou um comutador de rede para emparelhamento de serviços 301 em um caminho Bidirecional Comutado por rótulo (LSP) ou VLAN Operando através do link de acesso 322, o LSP ou VLAN sendo um circuito de ligação para um VRF configurado no PE 304A. Cada VRF pode incluir ou representar uma tabela de roteamento e encaminhamento diferente com rotas distintas.
[0060] Os roteadores de PE 302, 304 da estrutura IP/MLS 318 podem ser configurados em arranjos hub-and-spoke respectivos para serviços de nuvem, com PE 304A implementando um hub e PEs 302 sendo configurados como spokes dos hubs (para várias instâncias/arranjos hub-and- spoke). Um arranjo de hub-and-spokes assegura que o tráfego de serviço seja habilitado a fluir entre um hub PE e qualquer um dos spokes, mas não entre os diferentes spokes. Os VPNs de hub-and-spokes podem, dessa maneira, permitir a separação completa entre as redes de clientes 308. Conforme descrito mais abaixo, em uma disposição de hub-and-spokes para a estrutura IP/MLS baseada em centro de dados 318 e para as rotas de anúncio de PEs 302 de tráfego de serviço ligado ao cliente (isso é, a partir da central de emparelhamento de serviços 301 para uma rede de clientes 308), recebidas dos PEs 309, 311, para o PE 304A. Para tráfego de serviço ligado à central de emparelhamento de serviços (isso é, a partir de uma rede de clientes 308 para a central de emparelhamento de serviços 301), o PE 304A anuncia as rotas para a central de emparelhamento de serviços 301 para os PEs 302, que anunciam as rotas para Os PEs 309, CE 311. Conforme aqui utilizado, um VRF de hub exporta rotas com uma rota alvo “ascendente” (RT) enquanto que um VRF de spoke importa rotas que têm um alvo de rota “ascendente”. Inversamente, VRF de spokes exporta as rotas que têm um alvo de rota “descendente” enquanto que um VRF de hub importa as rotas que têm um alvo de rota “descendente”. Em alguns exemplos, cada instância de VRF tem um distinguidor de rota singular (RD).
[0061] Para alguns clientes do ponto de troca de nuvem 303, o provedor do ponto de troca de nuvem 303 pode configurar uma disposição de malha completa por meio do qual um conjunto de PEs 302, 304A é acoplado a uma rede de diferentes locais de clientes para o cliente. Em tais casos, a estrutura IP/MLS 318 implementa uma camada 3 VPN (L3VPN) para tráfego de armação a armação ou de redundância (também conhecido como leste-oeste ou tráfego horizontal). O L3VPN pode efetuar um grupo de usuários fechados por meio do qual cada rede de local de cliente pode enviar tráfego de um para outro, mas não pode enviar ou receber tráfego fora do L3VPN.
[0062] Em alguns exemplos, os roteadores de PE podem se acoplar um ao outro de acordo com um modelo de emparelhamento sem o uso de redes de sobreposição. Isso é, Os PEs 309, CE 311 e uma rede para a central de emparelhamento de serviços 301 podem não emparelhar diretamente um com o outro para trocar rotas, mas, ao invés disso, trocar indiretamente rotas através da estrutura
IP/MPLS 318. No exemplo da FIG. 2B, a plataforma de rede programável 328 configura o ponto de troca de nuvem 303 para implementar múltiplos circuitos virtuais 324A-324C (coletivamente, “circuitos virtuais 324”) para interconectar a rede de clientes 308 e a central de emparelhamento de serviços 301 com caminhos IP de extremidade a extremidade. Cada uma das centrais de emparelhamento de serviços 301 e clientes 308 pode ser um ponto de terminação para múltiplos circuitos virtuais 324, com múltiplos circuitos virtuais 324 que atravessam um ou mais circuitos de ligação entre um par de PE/PE ou PE/CE para a estrutura IP/MPLS 318 e a central cliente ou central de emparelhamento de serviços 301. Um circuito virtual 324 pode representar um caminho de camada 3 através da estrutura IP/MPLS 318 entre um circuito de ligação que conecta uma rede de clientes à estrutura 318 e um circuito de ligação conectando a central de emparelhamento de serviços 301 à estrutura 318. Cada circuito virtual 324 pode incluir pelo menos um túnel (por exemplo, um túnel LSP e/ou genérico de encapsulação de rota (GRE)) tendo pontos de terminação nos PEs 302, 304. Os PEs 302, 304 podem estabelecer uma malha completa de túneis interligando um ao outro.
[0063] Cada circuito virtual 324 pode ser implementado utilizando-se uma rede de hub-e-spokes diferente configurada na rede IP/MPLS 301 tendo roteadores de PE 302, 304 uma troca de rotas utilizando uma malha completa ou parcial de sessões de acesso de protocolo de porta de borda, nesse exemplo uma malha completa de sessões de protocolo de porta de borda interna de múltiplos protocolos (MP-iBGP). MP-iBGP ou simplesmente MP-BGP é um exemplo de protocolo por meio do qual os roteadores trocam rotas rotuladas para implementar VPNs baseados em MLS. Entretanto, os PEs 302, 304 podem trocar rotas para implementar IP-VPNs utilizando outras técnicas e/ou protocolos.
[0064] No exemplo do circuito virtual 324A, o PE 304A pode associar uma rota para alcançar a central de emparelhamento de serviço com uma rede de hub-e-spokes, que pode ter um VRF associado, que inclui um roteador de spokes PE 302A. A PE 304A então exporta a rota para o roteador de PE 302A; o roteador de PE 304A pode exportar a rota especificando o roteador de PE 304A como o próximo roteador de salto, junto com um rótulo que identifica a rede de hub- e-spokes. O roteador de PE 302 a envia a rota para o roteador de PE 309B através de uma conexão de protocolo de roteamento com o PE 309B. O roteador de PE 302A pode enviar a rota após a adição de um número de sistema autônomo do ponto de troca de nuvem 303 (por exemplo, para um atributo de caminho de sistema autônomo BGP (AS_PATH)) e especificando o roteador de PE 302A como o próximo roteador de salto. O ponto de troca de nuvem 303 é assim um “salto” de sistema autônomo no caminho dos sistemas autônomos a partir dos clientes 308 para os provedores de serviço de nuvem 320 (e vice-versa), mesmo que o ponto de troca de nuvem 303 possa ser baseado em um centro de dados. O roteador de PE 310B instala a rota para uma base de dados de roteamento, tal como uma base de informação de roteamento BGP (RIB) para fornecer a capacidade de alcance da camada 3 para a central de emparelhamento de serviços
301. Desse modo, o ponto de troca de nuvem 303 “vaza” rotas a partir de uma central de emparelhamento de serviços 301 para as redes de clientes 308, sem a central de emparelhamento de serviços 301 e as redes de clientes 308 que requerem uma conexão direta de emparelhamento de camadas.
[0065] Os roteadores de PE 309B, 302A e 304A podem executar uma operação similar na direção inversa para as rotas de avanço originadas por intermédio da rede de clientes 308B para o PE 304A e assim fornecem conectividade a partir da central de emparelhamento de serviços 301 para a rede de clientes 308B. No exemplo do circuito virtual 324A, os roteadores de PE 309A, 304A e 302A trocam rotas para a rede de clientes 308A e a central de emparelhamento de serviços 301 de uma maneira similar àquela descrita acima para estabelecer o circuito virtual 324B. Como resultado, o ponto de troca de nuvem 303 dentro do centro de dados 300 pode incorporar as conexões de emparelhamento que podem de outra forma ser estabelecidas entre um dispositivo de rede para a central de emparelhamento de serviços 301 e cada um dos PEs 309A, 309B, de modo a realizar a agregação de serviços providos por intermédio da central de emparelhamento de serviços 301 para a rede de clientes múltiplos 308, através de uma única tinta de acesso 322 para o ponto de troca de nuvem 303. Na ausência das técnicas aqui descritas, as redes de clientes de interligação de serviço 308 e a central de emparelhamento de serviços 301 requerem conexões de emparelhamento entre cada um dos PEs 309, CE 311 e um dispositivo de rede para a central de emparelhamento de serviços 301. Com as técnicas aqui descritas, o ponto de troca de nuvem 303 pode interconectar plenamente as redes de clientes 308 e a central de emparelhamento de serviços 301 com uma conexão de acesso por dispositivo de borda de local (isto é, para cada um dos PEs 309, CE 311 e o dispositivo de rede para o intercâmbio de serviços 301) mediante a incorporação da camada 3, e proporcionando “transporte” baseado em centro de dados entre as interfaces de acesso.
[0066] Em exemplos nos quais a estrutura IP/MLS 318 implementa IP-VPNs BGP/MPLS ou outros IP-VPNs que utilizam alvos de rota para controlar a distribuição de rota dentro da cadeia principal de IP, o PE 304A pode ser configurado para importar rotas de PEs 302 e para exportação de rotas para a central de emparelhamento de serviços 301, utilizando diferentes alvos de rota assimétrica. Da mesma forma, os PEs 302 podem ser configurados para importar rotas a partir do PE 304A e para exportação das rotas recebidas dos PEs 309, CE 311, utilizando os alvos de rota assimétrica. Assim, os PEs 302, 304A podem ser configurados para implementar L3VPNs avançados que incluem, cada um, uma estrutura básica L3VPN da estrutura IP/MPLS 318 junto com extranets de qualquer das redes clientes 308 e central de emparelhamento de serviços 301 fixada à estrutura básica L3VPN. Cada L3VPN avançado constitui uma rede de entrega de serviços de nuvem a partir da central de emparelhamento de serviços 301 para uma ou mais redes de clientes 308, e vice-versa. Desse modo, o ponto de troca de nuvem 303 habilita a central de emparelhamento de serviços 301 para trocar tráfego de serviço com qualquer rede de clientes 308 enquanto internalizando as conexões de estabelecimento de protocolo de roteamento da camada 3 que de outra forma seriam estabelecidas entre pares de redes de clientes 308 e uma rede para emparelhamento de serviços 301 para uma conexão de serviço entre um dado par. Em outras palavras, o ponto de troca de nuvem 303 permite que cada uma das redes de cliente 308 e uma rede de emparelhamento de serviços 301 estabeleça uma rede única (ou mais para redundância ou outras razões) de conexão de protocolo de roteamento de camada 3 para a interconexão de camada 3 baseada em centro de dados. Mediante filtragem de rotas a partir da rede para a central de emparelhamento de serviços 301 para as redes de clientes 308, e vice-versa, os PEs 302, 304A controlam assim o estabelecimento dos circuitos virtuais 324 e o fluxo de tráfego de serviço associado entre as redes de cliente 308 e a central de emparelhamento de serviços 301 dentro de um centro de dados 300. As rotas distribuídas para a malha MP-iBGP 318 podem ser rotas VPN-IPv4 e podem ser associadas com os fornecedores de rotas para distinguir rotas de diferentes locais tendo espaços de endereços sobrepostos.
[0067] Detalhes adicionais de uma plataforma de interconexão exemplar e plataforma de rede programável para configurar um ponto de troca de nuvem são descritos no Pedido de Patente dos Estados Unidos Nº 15/001.766,
depositado Em 20 de janeiro de 2016, e intitulado “MULTI- CLOD, MULTISERVICE DATA MODEL”; e Pedido de Patente dos Estados Unidos Nº de série 14/927.451, depositado em 29 de outubro de 2015, intitulado “INTERCONNECTION PLATFORM FOR REAL-TIME CONFIGURATION AND MANAGEMENT OF A CLOUD-BASED SERVICES EXCHANGE”, cujos conteúdos integrais são aqui incorporados mediante referência. Um cliente do provedor de ponto de troca de nuvem 303 e associado com a rede de clientes 308A pode solicitar uma interconexão, tal como um circuito virtual, com a central de emparelhamento de serviços 301 utilizando um portal de cliente 330 ou invocando uma ou mais APIs da plataforma de rede programável 328 para solicitar um circuito virtual. Em resposta, a plataforma de rede programável 328 configura o circuito virtual 324A para criar o circuito virtual 324A. A rede de clientes 308A se comunica subsequentemente com a central de emparelhamento de serviços 301 utilizando o circuito virtual 324A.
[0068] A central de emparelhamento de serviços 301 expõe os pontos de terminação de emparelhamento de serviços 306A-306C que podem ser alcançados a partir do ponto de troca de nuvem 303 através do link de acesso 322 com o PE 304A. Pontos de terminação de troca de serviços 306 também são alcançáveis a partir de qualquer rede de clientes 308 acoplada ao ponto de troca de nuvem 303 e tendo um circuito virtual 324 para interconexão com emparelhamento de serviços 301. Pontos de terminação de emparelhamento de serviços 306 podem representar instâncias exemplares de pontos de terminação de emparelhamento de serviços 106. A central de emparelhamento de serviços 301 armazena os dados de configuração na forma de um mapa de serviços 320 que mapeia os pontos de terminação de troca de serviços 306 para os respectivos pontos de terminação de serviço 314 para acessar as aplicações 310 através dos portais de serviço 312. Por exemplo, o mapa de serviços 320 pode mapear o ponto de terminação de troca de serviços 306A para o ponto de terminação de serviço 314A, o ponto de terminação de troca de serviços de mapa 306B para o ponto de terminação de serviço 314B, e o ponto de terminação de troca de serviços de mapa 306C para o ponto de terminação de serviço 314C. O mapa de serviços 320 pode representar uma estrutura de dados associativa, tal como uma tabela, mapa, ou dicionário.
[0069] A central de emparelhamento de serviços 301 recebe solicitações de serviços a partir do ponto de troca de nuvem 303 através do link de acesso 322 e determina os pontos de terminação correspondentes de serviço de destino 314 para as solicitações de serviços utilizando o mapa de serviços 320. No exemplo Da figura 2B, a aplicação 310 origina uma solicitação de serviço 325A destinada ao ponto de terminação de troca de serviços 306B. A rede de clientes 308A emite a solicitação de serviço 325A para o ponto de troca de nuvem 303 através do link de acesso 316A no circuito virtual 324A. O ponto de troca de nuvem 303 encaminha a solicitação de serviço 325A utilizando o circuito virtual 324A para a central de emparelhamento de serviços 301, que recebe a solicitação de serviço 325 através do link de acesso 322.
[0070] A central de emparelhamento de serviços 301 recebe a solicitação de serviço 325A no ponto de terminação de troca de serviços 306B.
A central de emparelhamento de serviços 301 consulta o mapa de serviços 320, utilizando a informação de ponto de terminação de troca de serviços 306B como uma chave de consulta, para determinar o ponto de terminação de serviço mapeado para o ponto de terminação de troca de serviços 306B.
A central de emparelhamento de serviços 301 gera uma solicitação de novo 325A’ a partir da solicitação de serviço 325A.
A solicitação de serviço 325A’ inclui dados de serviço da solicitação de serviço 325A e inclui um cabeçalho de camada 4 e um cabeçalho de camada 3 que faz com que a solicitação de serviço de saída 124A’ seja recebida no ponto de terminação de serviço de ponto de terminação de serviço 314B exposto por intermédio do portal de serviços 312B.
Por exemplo, a central de emparelhamento de serviços 301 pode reescrever pelo menos o endereço de rede de destino e a porta de destino da solicitação de serviço 325A, que é destinada ao ponto de terminação de troca de serviços 306A, para gerar e emitir a solicitação de serviço 325A’, que é destinada ao ponto de terminação de serviço 314B.
A central de emparelhamento de serviços 301 também pode gerar a solicitação de serviço 325A’ para ter um ponto de terminação de serviço de fonte como ponto de terminação de troca de serviços 306A mapeado por intermédio da central de emparelhamento de serviços 301 para o ponto de terminação de serviço 314A do portal de serviços 312A para a aplicação 310A que originou a solicitação de serviço 325A.
[0071] A central de emparelhamento de serviços 301 emite a solicitação de serviço 325A’ através do link de acesso 322. O ponto de troca de nuvem 303 determina que a solicitação de serviço 325A’ é destinada para o ponto de terminação de serviço 314B e deve ser enviado utilizando o circuito virtual 324B. A central de emparelhamento de serviços 301 pode emitir a solicitação de serviço 325A’ em um VLAN ou outro circuito de afixação para um IP-VPN ou outra rede virtual com a rede de clientes 308B. A central de nuvem 303 pode encaminhar a solicitação de serviço 325A’ utilizando o circuito virtual 324B com base em parte no circuito de ligação no qual o PE 304A recebe a solicitação de serviço 325A’. A rede de clientes 308B recebe a solicitação de serviço 325A’ do ponto de troca de nuvem 303 através do link de acesso 316B.
[0072] O portal de serviços 312B recebe a solicitação de serviço 325A’ no ponto de terminação de serviço 314B. O portal de serviços 312B envia pelo menos os dados de serviço da solicitação de serviço 325A’ para a aplicação 310B para processamento.
[0073] A central de emparelhamento de serviços 301 pode hospedar uma sessão de transporte-camada (por exemplo, TCP) entre a central de emparelhamento de serviços 301 e uma instância de aplicação de serviço 310A e uma sessão de transporte-camada entre a central de emparelhamento de serviços 301 e uma instância de serviço da aplicação 310B. A central de emparelhamento de serviços 301 também pode hospedar comunicações sem conexão (por exemplo, UDP) entre a central de emparelhamento de serviços 301 e uma instância de aplicação de serviço 310A e comunicações sem conexão entre a central de emparelhamento de serviços 301 e uma instância de serviço da aplicação 310B. Desse modo, a central de emparelhamento de serviços 301 cria uma via de serviço para serviço entre uma instância de serviço para a aplicação 310A e uma instância de serviço para a aplicação 310B, a despeito das redes de clientes 108A, 108B não tendo conectividade de rede uma com a outra, pelo menos através do ponto de troca de nuvem 303. A instância de serviço para a aplicação 310A e a instância de serviço para a aplicação 310B podem trocar tráfego de serviço através da via de serviço-para-serviço que inclui emparelhamento de serviços de serviço 301.
[0074] A central de emparelhamento de serviços 301 pode, em alguns casos, aplicar políticas para controlar a ligação direta (encaminhamento de camada 2) das solicitações de serviços entre os pontos de terminação de serviço 314 para aplicações correspondentes 310. Em tais casos, a central de emparelhamento de serviços pode evitar o mapeamento em nível de serviço e a chegada onde os portais de serviço 312 possuem capacidade de alcance de rede entre si através da central de emparelhamento de serviços 301. Por exemplo, uma solicitação de serviço originada pelo aplicativo 310A e especificando o ponto de terminação de serviço 314C pode ser recebida na central de emparelhamento de serviços 301 operando como uma ponte de rede para a rede de clientes 308C. A central de emparelhamento de serviços 301 aplica as políticas 332, conforme descrito a seguir, para determinar se a solicitação de serviço é permitida. Caso positivo, a central de emparelhamento de serviços 301 encaminha a solicitação de serviço para o ponto de terminação de serviço 314. Se não, a central de emparelhamento de serviços 301 descarta a solicitação de serviço.
[0075] Em alguns exemplos, como parte das solicitações de serviços de roteamento, a central de emparelhamento de serviços pode orquestrar sessões para provisionar cadeias de serviço para serviços.
[0076] Políticas 332 permitem a segmentação de serviços entre as aplicações 310 que executam pelas redes de clientes 308. Isto é, a troca de serviço de serviço 301 determina, com base nas políticas 332, aqueles conjuntos (por exemplo, pares) de aplicações 310 para as quais a troca de serviço 301 proverá uma via de serviço para serviço por intermédio da entrega de solicitações de serviços e respostas de serviço uma com a outra. Desse modo, as políticas 332 impedem que a central de emparelhamento de serviços 301 forneça visibilidade para o tráfego de serviço por portais de serviço 312, além de tráfego de serviço dirigido a cada portal de serviço. Além disso, cada portal de serviço 312 pode somente fazer solicitações de serviços para outros portais de serviços 312, conforme permitido pelas políticas 332. Um administrador ou operador para a central de emparelhamento de serviços 301 também pode configurar as políticas 332. As políticas 332 podem ainda especificar uma frequência, quantidade, datas e tempos admissíveis, ou outras propriedades de uma ou mais solicitações de serviços entre um par de portais de serviço 312. Dessa maneira, a central de emparelhamento de serviços 301 que aplica as políticas 332 opera como um mediador entre as aplicações 310 para fixar e controlar fluxos de serviço. Em alguns exemplos, o portal do cliente 330 fornece automação de autoatendimento para clientes para configurar políticas 332. Em alguns exemplos, uma API de configuração é exposta por intermédio da central de emparelhamento de serviços 301 para fornecer automação de autoatendimento para clientes para configurar políticas 332.
[0077] Por exemplo, o portal de cliente 330 representa uma aplicação que pode prover uma interface de usuário para clientes para configurar operações de emparelhamento de serviços 301, em particular para configurar o mapa de serviços 320 e as políticas 332. O portal do cliente 330 poderá fornecer uma interface da web ou outra interface gráfica do usuário acessível através de um sítio da rede, para configurar as políticas 332. Um ou mais dispositivos de computação, tais como os servidores reais, executa o portal do cliente 330. Um operador para a central de emparelhamento de serviços 301 também pode usar um portal de cliente 330 para configurar o mapa de serviços 320 e as políticas 332.
[0078] Políticas 332 podem incluir políticas para segurança, mediação, roteamento, transformação de serviços, equilíbrio de carga e regulação de serviços, por exemplo. As políticas 332 podem ser específicas para o cliente (isso é, estabelecidas para um cliente específico, ou global). Políticas de segurança incluem políticas para autenticação, autorização, validação e criptografia, por exemplo. Por exemplo, as políticas 332 podem requerer que o portal de serviço 301 autorize solicitações de serviços utilizando as credenciais ou fichas de conexão previamente obtidas, utilizando um protocolo de segurança tal como OAusth 2.0, X.509, Kerberos, ou um nome de usuário e senha. As políticas de segurança também podem determinar se um usuário, estância de serviço, ou portal de serviços 312 de uma das redes de clientes 308 está autorizada a emitir solicitações de serviços a um portal de serviços 312 (ou ponto de terminação de serviço 314) de outra das redes de clientes 308. A aplicação das políticas 332 para o equilíbrio da carga pode incluir o mapeamento dinâmico de nomes de serviços para destinos de serviços que são instâncias de uma caixa de porta.
[0079] O descarregamento da aplicação de políticas a partir dos portais de serviços 312 ou, mais amplamente, a partir das redes de clientes 308, pode fornecer a vantagem técnica de melhorar o valor e/ou a escalabilidade de serviços na rede geral. Por exemplo, ao invés de cada portal de serviços 312 que aplica serviços de segurança, tal como uma proteção distribuída de serviço (DDoS) para o portal de serviços, a central de emparelhamento de serviços 301 pode aplicar a proteção de DDoS para as várias portais de serviços. Outros serviços podem incluir regulação, validação, outros serviços de segurança, mediação, equilíbrio de carga, e roteamento. Essa vantagem técnica pode ser particularmente vantajosa para clientes de pequena escala que são incapazes de investir recursos significativos na infraestrutura da rede.
[0080] O roteamento de políticas das políticas 332 faz com que a central de emparelhamento de serviços 301 dirija as solicitações de serviços de correspondência com pontos de terminação de serviço alvo, particulares. Embora ilustrada como uma estrutura de dados separada, o mapa de serviços 320 pode, em alguns casos, ser realizado utilizando as políticas 332. As políticas de roteamento podem combinar as solicitações de serviços com base nos dados de aplicação no mesmo, o originador da solicitação de serviço, e o ponto de terminação de troca de serviços de destino 306, por exemplo. As políticas de regulação de serviços de políticas 332 podem acelerar as solicitações de serviços para um cliente com base no serviço, o originador das solicitações de serviços, ou outros critérios. O equilíbrio da carga pode ser aplicado pelos portais de serviço 312 para solicitações de serviços recebidas em pontos de terminação de serviço 314.
[0081] Embora descrito com relação à central de emparelhamento de serviços 301 das figuras 2A-2B, as políticas 332 podem ser aplicadas por outras centrais de emparelhamento de serviços descritas nesta descrição.
[0082] O mapa de serviço 320 mapeia os pontos de terminação de emparelhamento de serviços 306 para os respectivos pontos de terminação de serviço 314 para acesso, a partir das redes clientes 308, das aplicações remotas 310 através dos portais de serviços 312. Conforme observado acima, o mapa de serviços 320 pode ser realizado utilizando diretrizes de roteamento das políticas 332.
[0083] No exemplo da Figura 2B, a central de emparelhamento de serviços 301 pode aplicar as políticas 332 para autenticar e/ou autorizar o portal de serviços 312A ou a aplicação 310A para enviar solicitações de serviços para o ponto de terminação de serviço 314 através do ponto de terminação de troca de serviços 306B. A central de emparelhamento de serviços 301 pode retornar uma ficha de autorização para a entidade autorizada. A solicitação de serviço 325A pode incluir uma ficha de autorização ou outra credencial. A central de emparelhamento de serviços 301 pode aplicar as políticas 332 e o mapa de serviços 320 à solicitação de serviço 325A recebida no ponto de terminação de troca de serviços 306B para autorizar, a aceleração, a rota, uma representação da solicitação de serviço 325A para o ponto de terminação de serviço 314B como a solicitação de serviço 325A’.
[0084] A Figura 3 é um diagrama de blocos que ilustra um sistema de troca de serviços exemplar, de acordo com as técnicas desta descrição. O sistema de troca de serviços 400 inclui uma plataforma de central de emparelhamento de serviços 401 em comunicação com uma central 410, bem como múltiplos portais de serviços 440A- 440N em comunicação com a central 410. A central 410 pode representar uma central de Internet, uma central de Ethernet, ou uma central de nuvem, tal como o ponto de troca de nuvem 303, que pode ser gerenciado por um provedor de centro de dados para um centro de dados no qual as redes de clientes para as portais de serviços 440 são colocalizadas para trocar o tráfego de rede com outras redes de clientes.
[0085] A plataforma de central de emparelhamento de serviços 401 pode prover uma central de emparelhamento de serviços como descrito nas figuras 1, 2A, 2B. A central de emparelhamento de serviços 401 pode representar um servidor real ou virtual ou um grupo de servidores real ou virtual e/ou dispositivos de rede acoplados em comunicação com o uso de rede. A central de emparelhamento de serviços 401 pode ser hospedada em uma nuvem pública, privada ou híbrida. A plataforma de central de emparelhamento de serviços 401 pode incluir uma ou mais unidades de comunicação 402, um ou mais dispositivos de entrada 404, e um ou mais dispositivos de saída 406. A plataforma de central de emparelhamento de serviços 401 inclui um ou mais processadores 412 e um ou mais dispositivos de armazenamento 440. Um ou mais dos dispositivos, módulos, áreas de armazenamento, ou outros componentes da plataforma de central de emparelhamento de serviços 401 podem ser interconectados para permitir comunicações entre componentes (física, comunicativamente e/ou operacionalmente). Em alguns exemplos, tal conectividade pode ser fornecida através de barramento de sistema, conexão de rede, estrutura de dados de comunicação entre processos, ou qualquer outro método para comunicar dados. A aplicação de central de emparelhamento de serviços 422 pode ser executada de uma maneira distribuída por múltiplos servidores, dos quais a plataforma de central de emparelhamento de serviços 401 é um exemplo. Os servidores que executam a aplicação de central de emparelhamento de serviços 422 podem incluir um ou mais servidores de metal exposto, máquinas virtuais, recipientes, ou outros ambientes de execução.
[0086] Um ou mais dispositivos de entrada 404 da plataforma de central de emparelhamento de serviços 401 podem gerar, receber, ou entrada de processo. Tal entrada pode incluir entrada de um teclado, dispositivo de indicação, sistema sensível à voz, câmera de vídeo, botão, sensor, dispositivo móvel, placa de controle, microfone, tela sensível à presença, rede, ou qualquer outro tipo de dispositivo para detectar a entrada de um ser humano ou máquina.
[0087] Um ou mais dispositivos de saída 406 da plataforma de central de emparelhamento de serviços 401 podem gerar, transmitir, ou saída de processo. Exemplos de saída são dados táteis, áudio, visual e/ou vídeo. Os dispositivos de saída 406 podem incluir um visor, um cartão de som, um cartão adaptador de gráficos de vídeo, um alto- falante, uma tela sensível à presença, uma ou mais interfaces USB, interfaces de saída de vídeo e/ou áudio, ou qualquer outro tipo de dispositivo capaz de gerar áudio, áudio, vídeo ou outra saída. Os dispositivos de saída 406 podem incluir um dispositivo de exibição, que pode funcionar como um dispositivo de saída utilizando tecnologias incluindo displays de cristal líquido (LCD), displays de pontos quânticos, displays de matriz de pontos, displays de diodo emissor de luz (LED), displays de diodo emissor de luz orgânico (OLED), displays de tubo de spokes catódicos (CRT), imagens de tinta eletrônica, ou monocromo,
cor, ou qualquer outro tipo de exibição capaz de gerar saída tátil, áudio e/ou visual.
[0088] Uma ou mais unidades de comunicação 402 da plataforma de central de emparelhamento de serviços 401 podem se comunicar com dispositivos externos à plataforma de central de emparelhamento de serviços 401 por intermédio da transmissão e/ou recepção de dados, e podem operar, em alguns aspectos, tanto como um dispositivo de chegada como um dispositivo de saída. Em alguns exemplos, as unidades de comunicação 402 podem se comunicar com outros dispositivos através de uma rede, incluindo as portais de serviços 440 através da central 410. Em outros exemplos, as unidades de comunicação 402 podem enviar e/ou receber sinais de rádio em uma rede de rádio tal como uma rede de rádio celular. Em outros exemplos, as unidades de comunicação 402 da plataforma de central de emparelhamento de serviços 401 podem transmitir e/ou receber sinais de satélite em uma rede de satélite, tal como uma rede de sistema de Posicionamento Global (GPS). Exemplos de unidades de comunicação 402 incluem um cartão de interface de rede (por exemplo, tal como um cartão de Ethernet), um transceptor óptico, um transceptor de radiofrequência, um receptor GPS, ou qualquer outro tipo de dispositivo que possa enviar e/ou receber informações. Outros exemplos de unidades de comunicação 402 podem incluir rádios Bluetooth ®, GPS, 3G, 4G e Wi-Fi ® encontrados em dispositivos móveis bem como controladores de Barramento Serial Universal (USB) e semelhantes.
[0089] Um ou mais processadores 412 da plataforma de central de emparelhamento de serviços 401 podem implementar funcionalidade e/ou executar instruções. Exemplos de processadores 412 incluem microprocessadores, processadores de aplicação, controladores de exibição, processadores auxiliares, um ou mais hubs de sensor, e qualquer outro hardware configurado para funcionar como um processador, uma unidade de processamento, um dispositivo de processamento, ou circuito de processamento. A plataforma de central de emparelhamento de serviços 401 pode usar um ou mais processadores 412 para executar operações de acordo com um ou mais aspectos da presente invenção utilizando software, hardware, firmware, ou uma mistura de hardware, software, e firmware armazenado por e/ou executando na plataforma de central de emparelhamento de serviços 401.
[0090] Um ou mais dispositivos de armazenamento 420 podem armazenar informações para processamento durante a operação da plataforma de central de emparelhamento de serviços 401. Em alguns exemplos, um ou mais dispositivos de armazenamento 420 são memórias temporárias, significando que um propósito primário de um ou mais dispositivos de armazenamento não é armazenamento de longo prazo. Os dispositivos de armazenamento 420 podem ser configurados para armazenamento de curto prazo de informação como memória volátil e, portanto, não retêm conteúdos armazenados se desativados. Exemplos de memórias voláteis incluem memórias de acesso aleatório (RAM), memórias dinâmicas de acesso aleatório (DRAM), memórias estáticas de acesso aleatório (SRAM) e outras formas de memórias voláteis conhecidas na técnica. Os dispositivos de armazenamento 420, em alguns exemplos, também incluem um ou mais meios de armazenamento passíveis de leitura por computador. Os dispositivos de armazenamento 420 podem ser configurados para armazenar quantidades maiores de informação do que a memória volátil. Os dispositivos de armazenamento 420 podem ainda ser configurados para armazenamento em longo prazo de informação como espaço de memória não volátil e reter informação após ciclos de ativar/desligar. Exemplos de memórias não voláteis incluem discos rígidos magnéticos, discos ópticos, discos flexíveis, memórias Flash, ou formas de memórias eletricamente programáveis (EPROM) ou memórias eletricamente apagáveis e programáveis (EEPROM). Os dispositivos de armazenamento 420 podem armazenar instruções e/ou dados de programa associados a um ou mais dos módulos descritos de acordo com um ou mais aspectos desta revelação.
[0091] Um ou mais processadores 412 e um ou mais dispositivos de armazenamento 420 podem fornecer um ambiente operacional ou plataforma para um ou mais módulos, que podem ser implementados como software, mas podem em alguns exemplos incluir qualquer combinação de hardware, firmware e software. Um ou mais processadores 412 podem executar instruções e um ou mais dispositivos de armazenamento 420 podem armazenar instruções e/ou dados de um ou mais módulos. A combinação de processadores 412 e dispositivos de armazenamento 420 pode recuperar, armazenar e/ou executar as instruções e/ou dados de uma ou mais aplicações, módulos, ou software. Os processadores 412 e/ou dispositivos de armazenamento 420 também podem ser acoplados de forma operacional a um ou mais outros componentes de software e/ou hardware, incluindo, mas não se limitando a, um ou mais dos componentes ilustrados na Figura 3.
[0092] Um ou mais módulos ou aplicações ilustradas na Figura 3 como sendo incluídas dentro dos dispositivos de armazenamento 420 (ou módulos de outra forma aqui descritos) podem executar operações descritas utilizando software, hardware, firmware, ou uma mistura de hardware, software e firmware residindo em e/ou executando na plataforma de central de emparelhamento de serviços 401. A plataforma de central de emparelhamento de serviços 401 pode executar cada um dos módulos (s) com múltiplos processadores ou múltiplos dispositivos. A plataforma de central de emparelhamento de serviços 401 pode executar um ou mais desses módulos, ou como uma máquina virtual ou recipiente que executa no hardware subjacente. Um ou mais desses módulos pode executar como um ou mais serviços de um sistema operacional 431 ou plataforma de computação. Um ou mais desses módulos pode executar como um ou mais programas executáveis em uma camada de aplicação de uma plataforma de operação fornecida pelo sistema operacional 431.
[0093] O módulo de interface de usuário 435 pode gerenciar interações de usuário com um ou mais dispositivos de interface de usuário, que podem incluir um ou mais dispositivos de entrada 404 e um ou mais dos dispositivos de saída 406. Em alguns exemplos, a plataforma de central de emparelhamento de serviços 401 pode incluir um visor sensível à presença que pode servir como um dispositivo de interface de usuário e que pode ser considerado um dispositivo de chegada 404 e um dispositivo de saída 406. Em alguns exemplos, o módulo de interface de usuário 435 pode atuar como um intermediário entre vários componentes da plataforma de central de emparelhamento de serviços 401 para fazer determinações com base na entrada de usuário detectada por um ou mais dispositivos de interface de usuário e/ou um ou mais dispositivos de chegada 404 e gerar saída em um dispositivo de interface de usuário ou um ou mais dispositivos de saída 406.
[0094] O módulo de interface de usuário 435 pode receber instruções de uma aplicação, serviço, plataforma, ou outro módulo de plataforma de central de emparelhamento de serviços 401 para fazer com que um dispositivo de interface de usuário (por exemplo, visor sensível à presença) emita uma interface de utilizador. O módulo de interface de usuário 435 é ilustrado como um módulo da aplicação de central de emparelhamento de serviços 422, mas o módulo de interface de usuário 436, frequentemente, pode ser ou executar um componente secundário de uma operação de controle de sistema operacional da plataforma de central de emparelhamento de serviços 401, e o módulo de interface de usuário 435 pode alternativamente ou também ser uma aplicação independente, serviço, ou módulo que executa em uma plataforma de central de emparelhamento de serviços 401. O módulo de interface de usuário 435 pode gerenciar entradas recebidas por intermédio da plataforma de central de emparelhamento de serviços 401 como uma visualização de usuário e interage com uma interface de usuário apresentada e atualizando a interface de usuário em resposta ao recebimento de instruções adicionais a partir da aplicação, serviço, plataforma, ou outro módulo de plataforma de central de emparelhamento de serviços 401 que está processando a entrada de usuário. Como adicionalmente descrito abaixo, o módulo de interface de usuário 435 pode emitir um portal e receber dados de chegada (por exemplo, dados de taxa de câmbio) a partir dos dispositivos de chegada 404 acessíveis por um cliente ou administrador da plataforma de central de emparelhamento de serviços 401 para especificar e/ou manipular as políticas 432.
[0095] Os dispositivos de armazenamento 420 podem incluir um sistema operacional 431 e uma aplicação de central de emparelhamento de serviços 422 para a realização de operações relacionadas ao fornecimento de uma central de emparelhamento de serviços para troca de solicitações de serviços entre os portais de serviços 440. A aplicação de central de emparelhamento de serviços 422 pode interagir e/ou operar em conjunto com um ou mais módulos da plataforma de central de emparelhamento de serviços 401. A aplicação de central de emparelhamento de serviços 422 pode escutar pacotes de rede em pontos de terminação de emparelhamento de serviços da plataforma de central de emparelhamento de serviços 401. O sistema de operação 431 pode executar uma pilha de redes e entregar pacotes de rede destinados aos pontos de terminação de emparelhamento de serviços para a aplicação de emparelhamento de serviços
4922. Uma solicitação de serviço pode ser incluída em um ou mais pacotes de rede. Cada ponto de terminação de troca de serviços é uma combinação de um endereço de camada de rede (L3) e uma porta de camada de transporte (L4) para a plataforma de permuta de serviços 401.
[0096] Um usuário pode invocar a interface de usuário 436 ou a interface de programação de aplicação 439 para a aplicação de central de emparelhamento de serviços 422 para configurar as políticas 432. As políticas 432 podem representar exemplos de instâncias de políticas 332. As unidades de comunicação 402 podem receber dados de terminação de serviço que descrevem um ou mais pontos de terminação de serviço para um ou mais pontos de terminação de serviço. O um ou mais processadores 412 que executam a aplicação de central de emparelhamento de serviços 422 processam os dados de terminação de serviço, solicita os pontos de terminação de emparelhamento de serviços do sistema operacional 431, e mapeia os pontos de terminação de emparelhamento de serviços para os pontos de terminação de serviço correspondentes indicados pelos dados de terminação de serviço. Os processadores 412 geram o mapa de serviços 450 para os mapeamentos dos pontos de terminação de emparelhamento de serviços para os pontos de terminação de serviço, e vice-versa. Com essas operações exemplares, a aplicação de central de emparelhamento de serviços 422 permite que a plataforma de central de emparelhamento de serviços 401 opere como uma estrutura de serviços de aplicação que executa roteamento de serviços entre pontos de terminação de serviço. A estrutura de serviços de aplicação pode se estender através de um ou mais dispositivos de computação e/ou rede virtual e/ou virtual que constituem a plataforma de central de emparelhamento de serviços 401.
[0097] A plataforma de câmbio de serviço 401 recebe uma solicitação de serviço 425 a de uma rede de clientes associada com o portal de serviços 440A, através da unidade de comunicação 402 e da Central de rede 410. A solicitação de serviço 425A é destinada a um ponto de terminação de troca de serviços do emparelhamento de serviços 401. A solicitação de serviço 425A pode representar uma instância exemplar de qualquer uma das solicitações de serviços descritas nesse relatório. O sistema operacional 431 entrega a solicitação de serviço 425A uma aplicação de central de emparelhamento de serviços 422, que escuta o ponto de terminação de troca de serviços, para processamento. A solicitação de serviço 425A pode chegar a um ou mais pacotes.
[0098] De acordo com um ou mais aspectos da presente invenção, um ou mais processadores 412 que executam a aplicação de central de emparelhamento de serviços 422 processam a solicitação de serviço 425 a por intermédio da aplicação das políticas 332 para a saída de uma representação da solicitação de serviço 425A a um ponto de terminação de serviço do portal de serviços 440B. Os processadores 412 aplicam o mapa de serviços 450 para mapear o ponto de terminação de troca de serviços de destino da solicitação de serviço 425 a para um ponto de terminação de serviço do portal de serviços 440B. Um mapa de serviço 450 pode combinar com o endereço de rede de destino e a porta de destino de um ou mais pacotes da solicitação de serviço 425A e especificar um ponto de terminação de destino do portal de serviços 440B. Em resposta, os processadores 412 geram a solicitação de serviço 425A’ possuindo um endereço de rede de destino e uma porta de destino que são o ponto de terminação de destino especificado do portal de serviços 440B. Os processadores 412 podem gerar a solicitação de serviço 425A’ para ter um endereço de rede fonte e porta fonte que é um ponto de terminação de troca de serviços da plataforma de central de emparelhamento de serviços 401. Desta maneira, a plataforma de central de emparelhamento de serviços de serviços 401 personaliza o portal de serviços 440 a para o portal de serviços 440B. Os processadores 412 enviam, através da unidade de comunicação 402, a solicitação de serviço 425A’ para entrega através da central de rede 410.
[0099] A Figura 4 é um mapa de serviço exemplar, de acordo com as técnicas desta descrição. O mapa de serviços 450 é uma estrutura de dados associativa possuindo múltiplas entradas 452A-452D que cada uma mapeia um ponto de terminação de troca de serviços de uma central de emparelhamento de serviços para um ponto de terminação de serviço para uma aplicação, tal como um ponto de terminação de serviço exposto por um portal de serviços, e vice-versa. Por exemplo, a entrada 452 de um ponto de terminação de troca de serviços de mapas 106 a para o ponto de terminação de serviço 114A. O mapa de serviços 450 pode armazenar cada ponto de terminação de serviço e ponto de terminação de troca de serviços como combinações de um endereço de rede e porta de camada de transporte. O mapa de serviços 450 pode incluir uma tabela hash tal que as entradas 452 são depósitos hash com valores hash correspondentes a valores de uma função hash aplicada ao ponto de terminação de serviço ou pontos de terminação de emparelhamento de serviços, com o valor hash de um ponto de terminação de troca de serviços sendo mapeado para o ponto de terminação de serviço e o valor hash de um ponto de terminação de serviço sendo mapeado para um ponto de terminação de troca de serviços. Funções hash exemplares incluem SHA-1 e MD5.
[0100] A Figura 5 é um diagrama de blocos que ilustra uma vista conceitual de um sistema de troca de serviços tendo uma central de nuvem baseada em metropolitana que proporciona múltiplos pontos de troca de nuvem para comunicação com uma central de emparelhamento de serviços, de acordo com as técnicas aqui descritas. Cada um dos pontos de troca de serviços baseados em nuvem 528A-528D (descrito daqui em diante como “pontos de troca de nuvem” e coletivamente referidos como “pontos de troca de nuvem 528”) da troca de serviços baseada em nuvem 510 (“troca de nuvem 510”) pode representar um centro de dados diferente geograficamente localizado dentro da mesma área metropolitana (“baseado em metrópole”, por exemplo, em New York City, New York; Silicon Valley, California; Seattle- Tacoma, Washington; Minneapolis-St Paul, Minnesota;
Londres, Reino unido; etc.) para prover serviços de serviços baseados em nuvem resilientes e independentes, pelos quais os clientes de serviços com base em nuvem (“clientes de nuvem”) e provedores de serviços baseados em nuvem (“provedores de nuvem”) (não mostrados na Figura) conectam-se para receber e fornecer, respectivamente, serviços de nuvem. Em alguns exemplos, a central de nuvem 510 pode incluir mais ou menos pontos de troca de nuvem
528. Em alguns casos, uma central de nuvem 510 inclui apenas um ponto de troca de nuvem 528. Como usado aqui, a referência a uma “central de nuvem” ou “emparelhamento de serviços com base em nuvem” pode se referir a um ponto de troca de nuvem. Um provedor de central de nuvem pode desenvolver instâncias de trocas de nuvem 510 em múltiplas áreas metropolitanas diferentes, cada ocorrência de central de nuvem 510 tendo um ou mais pontos de troca de nuvem 528.
[0101] Cada um dos pontos de troca de nuvem 528 inclui infraestrutura de rede e um ambiente operacional pelo qual os clientes 508A-508D (coletivamente, “clientes de nuvem 508”) trocam solicitações de serviço e respostas de serviço por intermédio de troca de serviços 101. Cada um dos clientes 508 pode ter um ou mais portais de serviço (não mostrados na figura 5). Os clientes de nuvem 508 podem trocar solicitações de serviços e respostas de serviço diretamente através de uma conexão física e de emparelhamento de camada 3 com um dos pontos de troca de nuvem 528 ou indiretamente através de um dos provedores de serviço de rede 506A-506B (coletivamente, “NSPs 506”). Os NSPs 506 proporcionam “trânsito de nuvem”, ao manter uma presença física dentro de um ou mais dos pontos de troca de nuvem 528 e agregando acesso à camada 3 a partir de um ou mais clientes 508. Os NSPs 506 podem emparelhar, na camada 3, diretamente com um ou mais pontos de troca de nuvem 528 e, assim, oferecer conectividade indireta de camada 3 e emparelhamento com um ou mais clientes 508 pelo que os clientes 508 podem obter serviços de nuvem a partir da troca de nuvem 500.
[0102] Cada um dos pontos de troca de nuvem 528, no exemplo da Figura 5, pode receber um número de sistema autônomo diferente (ASN). Por exemplo, o ponto de troca de nuvem 528A é designado ASN 5, o ponto de troca de nuvem 528B é designado ASN 2, e assim por diante. Cada ponto de troca de nuvem 528 é assim um próximo salto em uma via de protocolo de roteamento de vetor de caminho (por exemplo, BGP) da central de emparelhamento de serviços 101 para clientes 508. Como resultado, cada ponto de troca de nuvem 528 pode, apesar de não ser uma rede de trânsito tendo uma ou mais links de rede de área ampla e diretrizes concomitantes de acesso e trânsito da Internet, pares com múltiplos sistemas autônomos diferentes através de BGP Externa (eBGP) ou outro protocolo de roteamento de porta externa a fim de trocar, agregar e rotear tráfego de serviço a partir de um ou mais provedores de serviço de nuvem 550 para clientes. Em outras palavras, os pontos de troca de nuvem 528 podem internalizar as relações de negócio eBGP que os provedores de serviço de nuvem 550 e clientes 508 continuariam em uma base em par. Em vez disso, um cliente 508 pode configurar uma única relação de negócio eBGP com um ponto de troca de nuvem 528 e receber, através da central de nuvem, múltiplos serviços de nuvem de um ou mais provedores de serviço de nuvem 550. Embora aqui descrito principalmente com relação a eBGP ou outro protocolo de roteamento da camada 3 entre os pontos de troca de nuvem e o cliente, o NSP, ou as redes de provedor de serviço de nuvem, os pontos de troca de nuvem podem aprender rotas dessas redes de outra maneira, tal como por configuração estática, ou por intermédio de Protocolo de Informação de roteamento (RIP), Protocolo de Trajeto Mais Curto Aberto (OSPF), sistema Intermediário para sistema intermediário (IS-IS), ou outro protocolo de distribuição de rota. Cada um dos pontos de troca de nuvem 528 pode representar uma ocorrência de exemplo de ponto de troca de nuvem 303.
[0103] Como exemplos do acima, o cliente 508D é ilustrado como tendo contratado com um provedor de central de nuvem para a central de nuvem 500 para acessar diretamente os serviços de nuvem de camada 3 através dos pontos de troca de nuvem 528C, 528D. Desse modo, o cliente 508D recebe conectividade de camada redundante 3 para o provedor de serviços de nuvem 550A, por exemplo. O cliente 508C, em contraste, é ilustrado como tendo contraído com o provedor de central de nuvem para a central de nuvem 500 para acessar diretamente os serviços de nuvem de camada 3 através do ponto de troca de nuvem 528C e também para ter contraído com o NSP 506B para acessar serviços de nuvem de camada 3 através de uma rede de trânsito do NSP 506B. O cliente 508B é ilustrado como sendo contraído com múltiplos
NSPs 506A, 506B para ter acesso de nuvem redundante aos pontos de troca de nuvem 528 A, 528B através de respectivas redes de trânsito dos NSPs 506A, 506B. Os contratos descritos acima são instanciados na infraestrutura de rede dos pontos de troca de nuvem 528 por configurações de chaveamento L3 dentro de dispositivos de comutação de NSPs 506 e pontos de troca de nuvem 528 e conexões L3, por exemplo, circuitos virtuais de camada 3, estabelecidos dentro dos pontos de troca de nuvem 528 para interconectar redes de provedor de serviço de nuvem 550 para redes NSPs 506 e redes de clientes 508, todos tendo pelo menos uma porta ofertando conectividade dentro de um ou mais dos pontos de troca de nuvem 528.
[0104] Como um exemplo, o cliente 508A emite uma solicitação de serviço 525 para um ponto de emparelhamento de serviços exposto por intermédio da central de emparelhamento de serviços 101. O NSP 506A transporta a solicitação de serviço 525 para o ponto de troca de nuvem 528A, que envia a solicitação de serviço 525 para a central de emparelhamento de serviços 101 utilizando um circuito Virtual entre o NSP 506A e a central de emparelhamento de serviços 101.
[0105] A central de emparelhamento de serviços 101 mapeia o ponto de terminação de troca de serviços que é um destino da solicitação de serviço 525 para um ponto de terminação de serviço no cliente 508D. A central de emparelhamento de serviços 101 gera uma nova solicitação de serviço 525’ que inclui dados de serviço da solicitação de serviço 525, e emite a solicitação de serviço 525’ para a rede de clientes 508D. O ponto de troca de nuvem 528D distribui a solicitação de serviço 525’ para a rede de clientes 508D utilizando um circuito virtual entre a central de emparelhamento de serviços 101 e a rede de clientes 508D.
[0106] A Figura 6 é um fluxograma que ilustra um modo exemplar de operação 600 para uma central de emparelhamento de serviços, de acordo com as técnicas desta descrição. A Figura 6 é descrita para propósitos de exemplo com relação à troca de serviço 101 da figura 1, mas a operação pode ser realizada por intermédio de qualquer troca de serviço descrita nesta revelação. A central de emparelhamento de serviços 101 recebe dados de mapeamento de serviços que mapeiam os pontos de terminação de emparelhamento de serviços 106 para os pontos de terminação de serviço das redes de clientes 108 (602). A central de emparelhamento de serviços 101 pode armazenar os dados de mapeamento de serviços como um mapa de serviços ou como uma ou mais políticas.
[0107] A central de emparelhamento de serviços 101 recebe uma solicitação de serviço de chegada 124A que é emitida por um dispositivo de rede de clientes 108 a e que é destinada a um ponto de terminação de troca de serviços 106C da central de emparelhamento de serviços 101 (604). A central de emparelhamento de serviços 101 determina se a solicitação de serviço 124A está autorizada para o ponto de terminação de troca de serviços 106C (606). Se a solicitação de serviço 124A não estiver autorizada (derivação NÃO de 608), a central de emparelhamento de serviços 101 descarta a solicitação de serviço 124A (608). Por exemplo, a central de emparelhamento de serviços 101 pode não responder ou realizar nenhuma ação com relação à solicitação de serviço 124A ou pode responder com uma mensagem de erro. Se a solicitação de serviço 124A estiver autorizada (derivação SIM de 608), a central de emparelhamento de serviços 101 encaminha a solicitação de serviço.
[0108] Para rotear a solicitação de serviço, a central de emparelhamento de serviços 101 mapeia o ponto de terminação de troca de serviços 106C para o ponto de terminação de serviço 114C do portal de serviços 112C com base nos dados de mapeamento de serviços (610). A central de emparelhamento de serviços 101 gera uma nova solicitação de serviço de saída 125A’ (ou regrava os dados de cabeçalho para a solicitação de serviço 125 a para formar uma nova solicitação de serviço de saída 125A’) que é destinada ao ponto de terminação de serviço 114C mapeado na etapa 610 (612). A central de emparelhamento de serviços 101 emite a solicitação de serviço de saída 125A’ em um link de comunicação 103C com a rede de clientes 108C (614).
[0109] A Figura 7 é um diagrama de blocos que ilustra um exemplo de sistema de troca de serviços distribuído, de acordo com as técnicas aqui descritas. O sistema 800 inclui múltiplos centros de dados geograficamente distribuídos 810A-810B (“centros de dados 810”) conectados através de um link de comunicação através do provedor de Serviços de rede 825. Centros de dados 810 podem estar localizados dentro de uma única área metropolitana ou localizados em diferentes áreas metropolitanas. Nesta arquitetura de exemplo particular, cada um dos centros de dados 810 inclui uma central de nuvem correspondente de trocas de nuvem 803A-803 B (“trocas de nuvem 803”). No entanto, outros exemplos de uma arquitetura de sistema de troca de serviços distribuída podem ser implementados utilizando-se diferentes tipos de arquiteturas distribuídas por Via ou SD-WAN. Cada uma das trocas de nuvem 803 pode ser uma ocorrência de exemplo de ponto de troca de nuvem 303. Detalhes adicionais para trocas de nuvem distribuída são encontrados no Pedido de Patente dos Estados Unidos Nº 15/475.957, depositado em 31 de março de 2017 e intitulado “Inter-Metro Conectivity Network Connect”, que é aqui incorporado mediante referência em sua totalidade.
[0110] O sistema 800 inclui múltiplas centrais de emparelhamento de serviços distribuídos 801A-801B (“centrais de emparelhamento de serviços 801”) colocalizadas ou de outra forma tendo conectividade dentro dos respectivos centros de dados 810 e executadas por intermédio de uma plataforma de central de emparelhamento de serviços distribuídos. Nesta arquitetura exemplar particular, a central de emparelhamento de serviços 801A se conecta à central de emparelhamento de serviços 803 a através do link de acesso 822A, e a central de emparelhamento de serviços 801B conecta-se à central de emparelhamento de serviços 803B através do link de acesso 822B. Os links de acesso 822 podem representar instâncias de exemplo de link de acesso 331. Embora somente duas centrais de emparelhamento de serviços 801 em dois centros de dados 810 sejam ilustradas na Figura 7, outros exemplos de sistema 800 podem incluir mais centrais de emparelhamento de serviços 801 localizados em centros de dados 810 correspondentes, adicionais.
[0111] As centrais de emparelhamento de serviços distribuídos 801 operam como uma central de emparelhamento de serviços distribuídos para fornecer serviços de intercâmbio de serviços através de múltiplos locais para permitir aplicações que executam em redes de clientes em uma posição local para acessar serviços localizados em locais remotos. As centrais de emparelhamento de serviços 801 incluem pontos de terminação de troca de serviços compartilhados 806 para enviar e receber tráfego de serviço com redes de clientes 108 através de links de acesso 822 e links de comunicação 103 através de trocas de nuvem 803. Pontos de terminação de emparelhamento de serviços 806 podem ser exemplos de pontos de terminação de emparelhamento de serviços 106.
[0112] A central de emparelhamento de serviços 801A inclui o ponto de terminação de troca de serviços 806C. A central de emparelhamento de serviços inclui o ponto de terminação de troca de serviços 806A. A central de emparelhamento de serviços 801A recebe a solicitação de serviço 824A (um exemplo de instância de solicitação de serviço 124A) emitida por intermédio da aplicação 110A no ponto de terminação de troca de serviços 806C. A central de emparelhamento de serviços 801A emite, em resposta, a solicitação de serviço de saída correspondente 824A’
direcionada para o ponto de terminação de serviço 114C, em uma rede de clientes diferente 108C, à qual é mapeado os pontos de terminação de emparelhamento de serviços de destino 806ADesse modo, as centrais de emparelhamento de serviços 801 permitem a comunicação de serviço-para-serviço entre as aplicações executando mediante redes de clientes 108 que não possuem uma conexão dedicada, diretamente de camada de rede uma com a outra e, além disso, são conectadas a centros de dados geograficamente distribuídos
810.
[0113] As centrais de emparelhamento de serviços distribuídos 801 podem monitorar as latências entre as centrais de emparelhamento de serviços 801 e expor as latências Através de um método API. Por exemplo, o portal de serviços 112A pode solicitar e receber, através do método API, uma latência entre a central de emparelhamento de serviços 801A e a central de emparelhamento de serviços 801B.
[0114] As técnicas aqui descritas podem ser implementadas em hardware, software, firmware, ou qualquer combinação dos mesmos. Várias características descritas como módulos, unidades ou componentes podem ser implementadas em um dispositivo lógico, integrado; ou separadamente como dispositivos lógicos discretos, mas interoperáveis ou outros dispositivos de hardware. Em alguns casos, várias características de circuito eletrônico podem ser implementadas como um ou mais dispositivos de circuito integrado, tal como um chip de circuito integrado ou conjunto de chip.
[0115] Se implementada em hardware, essa revelação pode ser dirigida a um aparelho tal como um processador ou um dispositivo de circuito integrado, tal como um chip de circuito integrado ou conjunto de chip. Alternativa ou adicionalmente, se implementada em software ou firmware, as técnicas podem ser realizadas pelo menos em parte por intermédio de um meio de armazenamento de dados legível por computador que compreende instruções que, quando executadas, fazem com que um processador execute um ou mais dos métodos descritos acima. Por exemplo, o meio de armazenamento de dados legível por computador pode armazenar tais instruções para execução por um processador.
[0116] Um meio legível por computador pode formar parte de um produto de programa de computador, que pode incluir materiais de embalagem. Um meio legível por computador pode compreender um meio de armazenamento de dados de computador tal como memória de acesso aleatório (RAM), memória somente de leitura (ROM), memória de acesso aleatório não volátil (NVRAM), memória de leitura programável (EEPROM) eletricamente apagável, memória Flash, meios de armazenamento de dados magnéticos ou ópticos, e semelhantes. Em alguns exemplos, um artigo de fabricação pode compreender um ou mais meios de armazenamento passíveis de leitura por computador.
[0117] Em alguns exemplos, o meio de armazenamento legível por computador pode compreender mídia não transitória. O termo “não transitório” pode indicar que o meio de armazenamento não é incorporado em uma onda portadora ou um sinal propagado. Em certos exemplos, um meio de armazenamento não transitório pode armazenar dados que podem, com o tempo, mudar (por exemplo, em RAM ou cache).
[0118] O código ou instruções podem ser software e/ou firmware executados por circuitos de processamento incluindo um ou mais processadores, tais como um ou mais processadores de sinal digital (DSPs), microprocessadores de finalidade geral, circuitos integrados de aplicação específica (ASICs), arranjos de porta programáveis no campo (FPGAs), ou outros circuitos lógicos integrados ou discretos equivalentes. Consequentemente, o termo “processador”, conforme usado aqui, pode se referir a qualquer uma dentre a estrutura precedente ou qualquer outra estrutura adequada para implementação das técnicas aqui descritas. Além disso, em alguns aspectos, a funcionalidade descrita nesta descrição pode ser provida dentro de módulos de software ou módulos de hardware.

Claims (20)

REIVINDICAÇÕES
1. Método compreendendo: receber, por intermédio de uma central de emparelhamento de serviços executada por um ou mais dispositivos de computação e em um primeiro ponto de terminação de troca de serviços da central de emparelhamento de serviços, uma primeira solicitação de serviço de chegada a partir de uma primeira rede de clientes, em que a primeira solicitação de serviço de chegada é destinada ao primeiro ponto de terminação de troca de serviços, e em que a primeira solicitação de serviço de chegada pode invocar uma interface de programação de aplicação de uma primeira aplicação; emitir, por intermédio da central de emparelhamento de serviços em resposta ao recebimento da primeira solicitação de serviço de chegada, uma primeira solicitação de serviço de saída destinada a um ponto de terminação de serviço de uma segunda rede de clientes que executa a primeira aplicação, em que a primeira solicitação de serviço de saída pode invocar a interface de programação de aplicação da primeira aplicação; receber, por intermédio da central de emparelhamento de serviços e em um segundo ponto de terminação de troca de serviços da central de emparelhamento de serviços que é diferente do primeiro ponto de terminação de troca de serviços, uma segunda solicitação de serviço de chegada da primeira rede de clientes, em que a segunda solicitação de serviço de chegada é destinada ao segundo ponto de terminação de troca de serviços, e em que a segunda solicitação de serviço de chegada pode invocar uma interface de programação de aplicação de uma segunda aplicação; e emitir, por intermédio da central de emparelhamento de serviços em resposta ao recebimento da segunda solicitação de serviço de chegada, uma segunda solicitação de serviço de saída destinada a um ponto de terminação de serviço de uma terceira rede de clientes que executa a segunda aplicação, em que a segunda solicitação de serviço de saída pode invocar a interface de programação de aplicação da segunda aplicação.
2. Método, de acordo com a reivindicação 1, compreendendo ainda: receber, por intermédio da central de emparelhamento de serviços, dados de terminação de serviço que descrevem o ponto de terminação de serviço da segunda rede de clientes que executa a primeira aplicação; e gerar, por intermédio da central de emparelhamento de serviços, uma associação a partir do primeiro ponto de terminação de troca de serviços para o ponto de terminação de serviço da segunda rede de clientes que executa a primeira aplicação, em que emitir a primeira solicitação de serviço de saída compreende emitir a primeira solicitação de serviço de saída com base pelo menos na associação.
3. Método, de acordo com a reivindicação 1, em que a primeira rede de clientes não tem conectividade de rede com a segunda rede de clientes.
4. Método, de acordo com a reivindicação 1, em que cada uma da primeira solicitação de serviço de chegada e da primeira solicitação de serviço de saída compreende uma dentre uma comunicação de Representational State Transfer (REST) utilizando Hyper Text Transfer Protocol (HTTP), uma JavaScript Object Notation (JSON) - Remote Procedure Call (RPC), uma mensagem de Simple Object Access Protocol (SOAP), uma solicitação de Apache Thrift, e uma eXtensible Markup Language (XML)-RPC, Message Queue Telemetry Transport (MQTT), Rabbit Message Queue (RabbitMQ) e Constrained Application Protocol (CoAP).
5. Método, de acordo com a reivindicação 1, compreendendo ainda: exibir, por intermédio de um portal de cliente para a central de emparelhamento de serviços, uma indicação de acessibilidade da interface de programação de aplicação no primeiro ponto de troca de serviços; e receber, por intermédio da central de emparelhamento de serviços, os dados de mapeamento de serviços compreendendo uma associação a partir do primeiro ponto de terminação de troca de serviços para o ponto de terminação de serviço da segunda rede de clientes que executa a primeira aplicação, em que emitir a primeira solicitação de serviço de saída compreende emitir a primeira solicitação de serviço de saída com base na associação.
6. Método, de acordo com a reivindicação 1, compreendendo ainda: receber, por intermédio da central de emparelhamento de serviços, uma solicitação de descoberta que invoca uma interface de programação de aplicação de descoberta da central de emparelhamento de serviços e solicita um ponto de terminação de serviço para acessar a interface de programação de aplicação da primeira aplicação; e emitir, por intermédio da central de emparelhamento de serviços, uma resposta de descoberta responsiva à solicitação de descoberta, a resposta de descoberta indicando que o primeiro ponto de terminação de troca de serviços é um ponto de terminação de serviço para acessar a interface de programação de aplicação da primeira aplicação.
7. Método, de acordo com a reivindicação 1, em que cada um dentre o primeiro ponto de terminação de troca de serviços e o segundo ponto de terminação de troca de serviços compreende uma combinação de um endereço de camada de rede e uma porta de camada de transporte do dispositivo de computação.
8. Método, de acordo com a reivindicação 1, em que o primeiro ponto de terminação de serviço compreende um ponto de terminação de serviço de um portal de serviços da segunda rede de clientes para aplicações que executam por intermédio da segunda rede de clientes, e em que o segundo ponto de terminação de serviço compreende um ponto de terminação de serviço de um portal de serviços da terceira rede de clientes para aplicações que executam por intermédio da terceira rede de clientes.
9. Método, de acordo com a reivindicação 1, em que a primeira rede de clientes, a segunda rede de clientes e o dispositivo de computação comunicam-se, cada um através de um link de acesso diferente, com uma de uma central de nuvem, uma central de Internet e uma central de Ethernet.
10. Método, de acordo com a reivindicação 1, em que a primeira rede de clientes, a segunda rede de clientes e o dispositivo de computação comunicam-se, através de um link de acesso diferente, com uma central de nuvem, o método compreendendo ainda: aprovisionar, por intermédio de uma plataforma de rede programável, um primeiro circuito virtual na central de nuvem para criar um primeiro caminho de extremidade/extremidade entre o dispositivo de computação e a primeira rede de clientes; e aprovisionar, por intermédio de uma plataforma de rede programável, um segundo circuito virtual na central de nuvem para criar um segundo caminho de extremidade/extremidade entre o dispositivo de computação e a segunda rede de clientes.
11. Método, de acordo com a reivindicação 10, em que a central de nuvem compreende um sistema autônomo de três camadas (L3) localizado dentro de um centro de dados, em que cada um dos links de acesso com a central de nuvem compreende um circuito de ligação para uma Rede Privada Virtual de Protocolo de Internet configurada na central de nuvem, em que a primeira via de extremidade a extremidade inclui a link de acesso para comunicação entre a primeira rede de clientes e a central de nuvem e a link de acesso para comunicação entre a central de nuvem e o dispositivo de computação, e em que o segundo caminho de extremidade/extremidade inclui a link de acesso para comunicação entre a segunda rede de clientes e a central de nuvem e o link de acesso para comunicação entre a central de nuvem e o dispositivo de computação.
12. Sistema de troca de serviços compreendendo: uma ou mais centrais de emparelhamento de serviços configuradas para execução por intermédio de uma plataforma de central de emparelhamento de serviços que compreende um ou mais dispositivos de computação; e um portal de serviços para uma aplicação configurada para execução por intermédio da primeira rede de clientes, o portal de serviços configurado para execução por um dispositivo de computação da primeira rede de clientes, em que a uma ou mais centrais de emparelhamento de serviços são configuradas para receber, em um ponto de terminação de troca de serviços, uma solicitação de serviço de chegada a partir de uma segunda rede de clientes, em que a solicitação de serviço de chegada é destinada ao ponto de terminação de troca de serviços, e em que a solicitação de serviço de chegada pode invocar uma interface de programação de aplicação da aplicação configurada para execução por intermédio da primeira rede de clientes, em que a uma ou mais centrais de emparelhamento de serviços são configuradas para, em resposta ao recebimento da solicitação de serviço de chegada, emitir uma solicitação de serviço de saída destinada a um ponto de terminação de serviço do portal de serviços, em que a solicitação de serviço de saída pode invocar a interface de programação de aplicação da aplicação configurada para execução por intermédio da primeira rede de clientes, em que o portal de serviços é configurado para receber a segunda solicitação de serviço no ponto de terminação de serviço e encaminhar a segunda solicitação de serviço para a aplicação.
13. Sistema de troca de serviços compreendendo: uma ou mais centrais de emparelhamento de serviços configuradas para execução por intermédio de uma plataforma de central de emparelhamento de serviços que compreende um ou mais dispositivos de computação, em que a uma ou mais centrais de emparelhamento de serviços são configuradas para receber, em um primeiro ponto de terminação de troca de serviços, uma primeira solicitação de serviço de chegada a partir de uma primeira rede de clientes, em que a primeira solicitação de serviço de chegada é destinada ao primeiro ponto de terminação de troca de serviços, e em que a primeira solicitação de serviço de chegada pode invocar uma interface de programação de aplicação de uma primeira aplicação, em que a uma ou mais centrais de emparelhamento de serviços são configuradas para emitir, em resposta ao recebimento da primeira solicitação de serviço de chegada, uma primeira solicitação de serviço de saída destinada a um ponto de terminação de serviço de uma segunda rede de clientes que executa a primeira aplicação, em que a primeira solicitação de serviço de saída pode invocar a interface de programação de aplicação da primeira aplicação, em que a uma ou mais centrais de emparelhamento de serviços são configuradas para receber, em um segundo ponto de terminação de troca de serviços que é diferente do primeiro ponto de terminação de troca de serviços, uma segunda solicitação de serviço de chegada a partir da primeira rede de clientes, em que a segunda solicitação de serviço de chegada é destinada ao segundo ponto de terminação de troca de serviços, e em que a segunda solicitação de serviço de chegada pode invocar uma interface de programação de aplicação de uma segunda aplicação, e em que a uma ou mais centrais de emparelhamento de serviços são configuradas para emitir, em resposta ao recebimento da segunda solicitação de serviço de chegada, uma segunda solicitação de serviço de saída destinada a um ponto de terminação de serviço de uma terceira rede de clientes que executa a segunda aplicação, em que a segunda solicitação de serviço de saída pode invocar a interface de programação de aplicação da segunda aplicação.
14. Sistema de troca de serviços, de acordo com a reivindicação 13, em que a uma ou mais centrais de emparelhamento de serviços são configuradas para receber dados de terminação de serviço que descrevem o ponto de terminação de serviço para a primeira aplicação, em que a uma ou mais centrais de emparelhamento de serviços são configuradas para gerar uma associação a partir do primeiro ponto de terminação de troca de serviços para o ponto de terminação de serviço para a primeira aplicação, e em que para emitir a primeira solicitação de serviço de saída, a uma ou mais centrais de emparelhamento de serviços são configuradas para emitir a primeira solicitação de serviço de saída com base pelo menos na associação.
15. Sistema de troca de serviços, de acordo com a reivindicação 13, em que a primeira rede de clientes não tem conectividade de rede com a segunda rede de clientes.
16. Sistema de troca de serviços, de acordo com a reivindicação 13, em que cada uma dentre a primeira solicitação de serviço de chegada e a primeira solicitação de serviço de saída compreende uma dentre uma comunicação de Representational State Transfer (REST) utilizando Hyper Text Transfer Protocol (HTTP), uma JavaScript Object Notation (JSON) - Remote Procedure Call (RPC), uma mensagem de Simple Object Access Protocol (SOAP), uma solicitação de Apache Thrift, e uma eXtensible Markup Language (XML)-RPC, Message Queue Telemetry Transport (MQTT), Rabbit Message Queue (RabbitMQ) e Constrained Application Protocol (CoAP).
17. Sistema de troca de serviços, de acordo com a reivindicação 13, compreendendo ainda: um portal de cliente para uma ou mais centrais de emparelhamento de serviços, o portal de cliente configurado para exibir uma indicação de acessibilidade da interface de programação de aplicação no primeiro ponto de troca de serviços, em que a uma ou mais centrais de emparelhamento de serviços são configuradas para receber dados de mapeamento de serviços compreendendo uma associação a partir do primeiro ponto de terminação de troca de serviços para o ponto de terminação de serviço para a primeira aplicação, e em que a uma ou mais centrais de emparelhamento de serviços são configuradas para emitir a primeira solicitação de serviço de saída compreendendo emitir a primeira solicitação de serviço de saída com base na associação.
18. Sistema de troca de serviços, de acordo com a reivindicação 13, em que a uma ou mais centrais de emparelhamento de serviços são configuradas para receber uma solicitação de descoberta que invoca uma interface de programação de aplicação de descoberta da central de emparelhamento de serviços e solicita um ponto de terminação de serviço para acessar a interface de programação de aplicação da primeira aplicação, e em que a uma ou mais centrais de emparelhamento de serviços são configuradas para emitir uma resposta de descoberta responsiva ao pedido de descoberta, a resposta de descoberta indicando que o primeiro ponto de terminação de troca de serviços é um ponto de terminação de serviço para acessar a interface de programação de aplicação da primeira aplicação.
19. Sistema de troca de serviços, de acordo com a reivindicação 13, em que cada um dentre o primeiro ponto de terminação de troca de serviços e o segundo ponto de terminação de troca de serviços compreende uma combinação de um endereço de camada de rede e uma porta de camada de transporte.
20. Sistema de troca de serviços, de acordo com a reivindicação 13, em que o primeiro ponto de terminação de serviço compreende um ponto de terminação de serviço de um portal de serviços da segunda rede de clientes para aplicações que executam por intermédio da segunda rede de clientes, e em que o segundo ponto de terminação de serviço compreende um ponto de terminação de serviço de um portal de serviços da terceira rede de clientes para aplicações que executam por intermédio da terceira rede de clientes.
BR112019026003-0A 2017-06-13 2018-06-13 Central de emparelhamento de serviços BR112019026003A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762518992P 2017-06-13 2017-06-13
US62/518,992 2017-06-13
PCT/US2018/037389 WO2018232022A1 (en) 2017-06-13 2018-06-13 Service peering exchange

Publications (1)

Publication Number Publication Date
BR112019026003A2 true BR112019026003A2 (pt) 2020-06-23

Family

ID=62873585

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019026003-0A BR112019026003A2 (pt) 2017-06-13 2018-06-13 Central de emparelhamento de serviços

Country Status (7)

Country Link
US (3) US11044326B2 (pt)
EP (2) EP3639505B1 (pt)
CN (2) CN110809875B (pt)
AU (2) AU2018285865B2 (pt)
BR (1) BR112019026003A2 (pt)
CA (1) CA3066459C (pt)
WO (1) WO2018232022A1 (pt)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180219765A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US11706127B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. 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
AU2018285865B2 (en) 2017-06-13 2021-07-22 Equinix, Inc. Service peering exchange
US11115480B2 (en) 2017-10-02 2021-09-07 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
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
US11012431B2 (en) * 2018-07-31 2021-05-18 International Business Machines Corporation Secure sharing of peering connection parameters between cloud providers and network providers
US11159569B2 (en) * 2018-08-20 2021-10-26 Cisco Technology, Inc. Elastic policy scaling in multi-cloud fabrics
US10848423B1 (en) 2018-09-26 2020-11-24 Amazon Technologies, Inc. Multi-account gateway
US10911374B1 (en) * 2018-09-28 2021-02-02 Riverbed Technology, Inc. Software defined wide area network (SD WAN) enabled network fabric for containers
US11165697B2 (en) 2018-11-16 2021-11-02 Juniper Networks, Inc. Network controller subclusters for distributed compute deployments
US10824483B2 (en) 2018-11-20 2020-11-03 R Software Inc. Application programming interface scoring, ranking and selection
US10771435B2 (en) * 2018-11-20 2020-09-08 Netskope, Inc. Zero trust and zero knowledge application access system
US10897420B1 (en) 2018-12-28 2021-01-19 Juniper Networks, Inc. Service chaining among devices of interconnected topology
US11792119B2 (en) 2018-12-28 2023-10-17 Juniper Networks, Inc. Multi-protocol service chaining among devices of interconnected topology
US11048544B2 (en) * 2019-04-08 2021-06-29 Sap Se Cloud resource credential provisioning for services running in virtual machines and containers
US11544322B2 (en) * 2019-04-19 2023-01-03 Adobe Inc. Facilitating contextual video searching using user interactions with interactive computing environments
US11329882B2 (en) * 2019-04-25 2022-05-10 Juniper Networks, Inc. Multi-cluster configuration controller for software defined networks
CN112054962B (zh) 2019-06-06 2021-12-14 华为技术有限公司 一种实现组播的方法和装置
US11489930B2 (en) * 2019-06-11 2022-11-01 At&T Intellectual Property I, L.P. Telecommunication network edge cloud interworking via edge exchange point
US10911330B2 (en) * 2019-06-12 2021-02-02 Cisco Technology, Inc. Intent based application fabric
AU2020327874A1 (en) * 2019-08-14 2022-03-17 Telnyx Llc Secure virtual private mobile and IP network in cloud
US11252105B2 (en) 2019-08-27 2022-02-15 Vmware, Inc. Identifying different SaaS optimal egress nodes for virtual networks of different entities
CN113132200B (zh) * 2019-12-30 2024-01-19 中兴通讯股份有限公司 数据转发方法、转发器、系统、服务器和存储介质
US11671429B1 (en) * 2020-02-26 2023-06-06 Equinix, Inc. Authorization automation in procurement of interconnections within a data center
US11881963B2 (en) * 2020-02-28 2024-01-23 Juniper Networks, Inc. Service-based transport classes for mapping services to tunnels
US11457057B2 (en) 2020-03-11 2022-09-27 Microsoft Technology Licensing, Llc Systems and methods for establishing highly secure and resilient persistent communication connections
US11283876B2 (en) * 2020-03-20 2022-03-22 Verizon Patent And Licensing Inc. Systems and methods for end-to-end request-response flow routing for geographically distributed client devices
EP4078901A4 (en) 2020-04-01 2023-10-11 VMWare, Inc. AUTOMATIC DEPLOYMENT OF NETWORK ELEMENTS FOR HETEROGENEOUS COMPUTING ELEMENTS
US11218407B2 (en) 2020-04-28 2022-01-04 Ciena Corporation Populating capacity-limited forwarding tables in routers to maintain loop-free routing
US10999413B1 (en) * 2020-05-21 2021-05-04 R Software Inc. Public and private API hub synchronization
US11727034B2 (en) * 2020-06-08 2023-08-15 Mongodb, Inc. Cross-cloud deployments
US11363113B1 (en) * 2020-06-18 2022-06-14 Amazon Technologies, Inc. Dynamic micro-region formation for service provider network independent edge locations
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
US11595302B2 (en) 2020-09-23 2023-02-28 Ciena Corporation Controlling routing behavior during router table-memory exhaustion events
US11929903B2 (en) 2020-12-29 2024-03-12 VMware LLC Emulating packet flows to assess network links for SD-WAN
US11979325B2 (en) 2021-01-28 2024-05-07 VMware LLC Dynamic SD-WAN hub cluster scaling with machine learning
KR102288944B1 (ko) * 2021-04-06 2021-08-12 박철우 Mqtt 기능을 활용한 유무선 음성통신 제어 시스템 및 방법
US20220353298A1 (en) * 2021-05-01 2022-11-03 AtScale, Inc. Embedded and distributable policy enforcement
US12009987B2 (en) * 2021-05-03 2024-06-11 VMware LLC Methods to support dynamic transit paths through hub clustering across branches in SD-WAN
US11606254B2 (en) 2021-06-11 2023-03-14 Vmware, Inc. Automatic configuring of VLAN and overlay logical switches for container secondary interfaces
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
JP2024514749A (ja) * 2021-07-12 2024-04-03 インテル・コーポレーション 第6世代(6g)システムアーキテクチャ及び機能
US12047282B2 (en) 2021-07-22 2024-07-23 VMware LLC Methods for smart bandwidth aggregation based dynamic overlay selection among preferred exits in SD-WAN
US11665258B2 (en) * 2021-09-03 2023-05-30 Cisco Technology, Inc. Seamless connectivity between network functions deployed on edge and in the cloud
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
US20230222200A1 (en) * 2022-01-12 2023-07-13 Dell Products, L.P. Systems and methods for transfer of workspace orchestration
US11902245B2 (en) 2022-01-14 2024-02-13 VMware LLC Per-namespace IP address management method for container networks
US11575596B1 (en) * 2022-03-07 2023-02-07 Ciena Corporation Identifying an ingress router of a flow in inter-AS VPN option-C networks with visibility in one AS
US11909815B2 (en) 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs
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
US11863534B1 (en) * 2023-02-03 2024-01-02 Dice Corporation Scalable router interface initiation
US11895091B1 (en) * 2023-02-03 2024-02-06 Dice Corporation Scalable router interface communication paths
US12057993B1 (en) 2023-03-27 2024-08-06 VMware LLC Identifying and remediating anomalies in a self-healing network
US12034587B1 (en) 2023-03-27 2024-07-09 VMware LLC Identifying and remediating anomalies in a self-healing network
US12101244B1 (en) 2023-06-12 2024-09-24 VMware LLC Layer 7 network security for container workloads

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9130897B2 (en) * 2003-09-30 2015-09-08 Ca, Inc. System and method for securing web services
GB0426202D0 (en) * 2004-11-30 2004-12-29 Ibm A method, system and computer program for addressing a web service
US9027039B2 (en) * 2007-01-29 2015-05-05 Intel Corporation Methods for analyzing, limiting, and enhancing access to an internet API, web service, and data
US8756344B2 (en) 2009-09-04 2014-06-17 Equinix, Inc. Network to network interface (NNI) for multiple private network service providers
WO2011117261A2 (en) * 2010-03-22 2011-09-29 Data Connection Limited System for connecting applications to networks
US8345692B2 (en) * 2010-04-27 2013-01-01 Cisco Technology, Inc. Virtual switching overlay for cloud computing
US8965957B2 (en) * 2010-12-15 2015-02-24 Sap Se Service delivery framework
US9531801B1 (en) * 2011-08-30 2016-12-27 Virtual Command, LLC Dynamic information technology multi-directional multi-protocol resource convergence system
US8495199B2 (en) * 2011-12-22 2013-07-23 Amazon Technologies, Inc. Interfaces to manage service marketplaces accessible via direct network peerings
US10129078B2 (en) 2014-10-30 2018-11-13 Equinix, Inc. Orchestration engine for real-time configuration and management of interconnections within a cloud-based services exchange
US9930103B2 (en) * 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9948552B2 (en) * 2015-04-17 2018-04-17 Equinix, Inc. Cloud-based services exchange
WO2016183253A1 (en) * 2015-05-12 2016-11-17 Equinix, Inc. Programmable network platform for a cloud-based services exchange
US10250699B2 (en) 2015-05-12 2019-04-02 Equinix, Inc. Centralized network control for a cloud-based services exchange
US9983860B1 (en) * 2016-02-05 2018-05-29 Equinix, Inc. Continuous application delivery monitoring
US10742721B1 (en) 2016-04-01 2020-08-11 Equinix, Inc. Inter-metro connectivity network connect
AU2018285865B2 (en) 2017-06-13 2021-07-22 Equinix, Inc. Service peering exchange

Also Published As

Publication number Publication date
CN110809875B (zh) 2022-12-16
EP3639505A1 (en) 2020-04-22
US20210314411A1 (en) 2021-10-07
EP3639505B1 (en) 2022-09-28
WO2018232022A1 (en) 2018-12-20
AU2021254533B2 (en) 2023-09-28
US20180359323A1 (en) 2018-12-13
EP4113955B1 (en) 2024-07-31
AU2018285865B2 (en) 2021-07-22
CA3066459C (en) 2023-10-17
CA3066459A1 (en) 2018-12-20
US11044326B2 (en) 2021-06-22
CN110809875A (zh) 2020-02-18
EP4113955A1 (en) 2023-01-04
US20230421649A1 (en) 2023-12-28
AU2021254533A1 (en) 2021-11-18
CN115941391A (zh) 2023-04-07
US11758007B2 (en) 2023-09-12
AU2018285865A1 (en) 2019-12-19

Similar Documents

Publication Publication Date Title
US11758007B2 (en) Service peering exchange
US11228573B1 (en) Application programming interface exchange
US11973686B1 (en) Virtual performance hub
US9712435B2 (en) Cloud-based services exchange
US20210359948A1 (en) Virtual gateways in a cloud exchange
US8954591B2 (en) Resource negotiation for cloud services using a messaging and presence protocol
US20180109450A1 (en) Creating and maintaining segment routed traffic engineering policies via border gateway protocol
US10771252B1 (en) Data center security services
US10523631B1 (en) Communities of interest in a cloud exchange
US11711317B1 (en) Remote port for network connectivity for non-colocated customers of a cloud exchange
AU2021332587B2 (en) Virtual domains within a shared device
EP3151477B1 (en) Fast path content delivery over metro access networks
US11588731B1 (en) Cloud-to-cloud interface
US9762746B2 (en) Advice of charge in content centric networks
Donohue Ccnp route 642-902 quick reference
BR112016029203B1 (pt) Plataforma de rede programável para troca de serviços com base em nuvem

Legal Events

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