BR112014001861B1 - Method for implementing a packet radio general service tunnel protocol, and cloud computing system for managing the implementation of a packet radio general service tunneling protocol - Google Patents

Method for implementing a packet radio general service tunnel protocol, and cloud computing system for managing the implementation of a packet radio general service tunneling protocol Download PDF

Info

Publication number
BR112014001861B1
BR112014001861B1 BR112014001861-8A BR112014001861A BR112014001861B1 BR 112014001861 B1 BR112014001861 B1 BR 112014001861B1 BR 112014001861 A BR112014001861 A BR 112014001861A BR 112014001861 B1 BR112014001861 B1 BR 112014001861B1
Authority
BR
Brazil
Prior art keywords
gtp
control plane
controller
gtp tunnel
protocol
Prior art date
Application number
BR112014001861-8A
Other languages
Portuguese (pt)
Other versions
BR112014001861A2 (en
Inventor
James Kempf
Neda Beheshti-Zavareh
Ying Zhang
Tord K. Nilsson
Bengt E. Johansson
Sten Rune Pettersson
Harald Luning
Original Assignee
Telefonaktiebolaget L M Ericsson (Publ)
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 Telefonaktiebolaget L M Ericsson (Publ) filed Critical Telefonaktiebolaget L M Ericsson (Publ)
Publication of BR112014001861A2 publication Critical patent/BR112014001861A2/en
Publication of BR112014001861B1 publication Critical patent/BR112014001861B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • H04L12/4666Operational details on the addition or the stripping of a tag in a frame, e.g. at a provider edge node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/12Setup of transport tunnels

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

IMPLEMENTAÇÃO DE UM NÚCLEO DE PACOTE 3G EM UM COMPUTADOR EM NUVEM COM DADOS DE FLUXO ABERTO E PLANOS DE CONTROLE. Trata-se de um método para implementar um protocolo de túnel (GTP) de serviço geral de rádio por pacotes (GPRS) em um núcleo de pacote (PC) de uma rede de terceira geração (3G) tendo uma arquitetura dividida onde um plano de controle do PC da rede 3G se encontra em um sistema computacional em nuvem, sendo que o sistema computacional em nuvem inclui um controlador, sendo que o controlador executa uma pluralidade de módulos de plano de controle, sedo que o plano de controle se comunica com o plano de dados do PC através de um protocolo de plano de controle, sendo que o plano de dados é implementado em uma pluralidade de elementos de rede da rede 3G configurando-se comutadores que implementam um plano de dados do SGSN e do GGSN e comutadores intermediários para estabelecer um primeiro e um segundo ponto final de túnel GTP.IMPLEMENTING A 3G PACKAGE CORE ON A CLOUD COMPUTER WITH OPEN FLOW DATA AND CONTROL PLANS. It is a method for implementing a general packet radio service (GPRS) tunnel protocol (GTP) on a packet core (PC) of a third generation (3G) network having a split architecture where a 3G network PC control is in a cloud computing system, the cloud computing system includes a controller, and the controller runs a plurality of control plane modules, where the control plane communicates with the PC data plane via a control plane protocol, the data plane being implemented in a plurality of network elements of the 3G network by configuring switches that implement an SGSN and GGSN data plane and intermediate switches to establish a first and second GTP tunnel endpoint.

Description

CAMPO DA INVENÇÃOFIELD OF THE INVENTION

[001] As modalidades da invenção referem-se a um método e a um sistema para implementar um plano de controle de um núcleo de pacote de terceira geração em um sistema computacional em nuvem. De modo específico, as modalidades da invenção se referem ao uso do protocolo OpenFlow para implementar um controle de um plano de dados pelo plano de controle sendo executado em um sistema computacional em nuvem.[001] Embodiments of the invention relate to a method and a system for implementing a third-generation packet core control plane in a cloud computing system. Specifically, embodiments of the invention refer to the use of the OpenFlow protocol to implement a control of a data plane by the control plane running on a cloud computing system.

FUNDAMENTOSFUNDAMENTALS

[002] O sistema geral de rádio por pacotes (GPRS) consiste em um sistema que é usado para transmitir pacotes de Protocolo da Internet entre dispositivos de usuário, tais como telefones celulares e a Internet. O sistema GPRS inclui a rede de núcleo GPRS, que consiste em uma parte integrada do sistema global para comunicação móvel (GSM). Esses sistemas são amplamente utilizados por provedoras de rede de telefonia celular para habilitar serviços de telefonia celular em áreas grandes.[002] General Packet Radio System (GPRS) is a system that is used to transmit Internet Protocol packets between user devices such as cell phones and the Internet. The GPRS system includes the GPRS core network, which is an integrated part of the global system for mobile communication (GSM). These systems are widely used by cellular network providers to enable cellular services over large areas.

[003] O protocolo de tunelamento GPRS (GTP) consiste em um protocolo de comunicação importante utilizado dentro da rede de núcleo GPRS. GTP habilita dispositivos de usuário final (por exemplo, telefones celulares) em uma rede GSM para se mover de um local para outro enquanto continua conectado à Internet. Os dispositivos de usuário final são conectados à Internet através de um nó de suporte GPRS de porta de acesso (GGSN). O GGSN rastreia os dados do dispositivo de usuário final a partir do nó de suporte GPRS de serviço do dispositivo de usuário final (SGSN) que estiver manuseando a sessão originária a partir do dispositivo de usuário final.[003] The GPRS tunneling protocol (GTP) is an important communication protocol used within the GPRS core network. GTP enables end-user devices (eg cell phones) on a GSM network to move from one location to another while remaining connected to the Internet. End-user devices are connected to the Internet through a gateway GPRS support node (GGSN). The GGSN tracks end-user device data from the end-user device service GPRS support node (SGSN) handling the session originating from the end-user device.

[004] Utilizam-se três formas de GTP pela rede de núcleo GPRS. GTP-U é usado para transferir dados de usuário em túneis separados para cada contexto de protocolo de dados de pacote (PDP). GTP-C é usado dentro da rede de núcleo GPRS para sinalização entre GGSN e SGSN. GTP' é usado para transmitir dados de carregado a partir da Função de Dados de Carregamento (CDF) da rede GSM ou UMTS à função de porta de acesso de carregamento (CGF), que fornece informações de uso do dispositivo de usuário final necessárias a um sistema de cobrança. GTP' usa a mesma estrutura de mensagens que GTP-C e GTP-U. SUMÁRIO[004] Three forms of GTP are used by the GPRS core network. GTP-U is used to transfer user data in separate tunnels for each packet data protocol (PDP) context. GTP-C is used within the GPRS core network for signaling between GGSN and SGSN. GTP' is used to transmit charging data from the Charging Data Function (CDF) of the GSM or UMTS network to the charging gateway function (CGF), which provides end-user device usage information needed by a billing system. GTP' uses the same message structure as GTP-C and GTP-U. SUMMARY

[005] Método para implementar um protocolo de túnel (GTP) de serviço geral de rádio por pacotes (GPRS) em uni núcleo de pacote (PC) de uma rede de terceira geração (3G) tendo uma arquitetura dividida onde um plano de controle do PC da rede 3G se encontra em um sistema computacional em nuvem, sendo que o sistema computacional em nuvem inclui um controlador, sendo que o controlador serve para executar uma pluralidade de módulos de plano de controle, sendo que o plano de controle se comunica com o plano de dados do PC através de um protocolo de plano de controle, sendo que o plano de dados é implementado em uma pluralidade de elementos de rede da rede 3G, sendo que o método compreende as etapas de: receber uma solicitação pelo controlador para criar um túnel GTP no PC da rede 3G entre um nó de suporte GPRS de serviço (SGSN) e um nó de suporte GPRS de porta de acesso (GGSN) para uma sessão de assinante; configurada um comutador que implementa um plano de dados do SGSN, através do protocolo de controle, para encapsular e desencapsular pacotes da sessão de assinante e estabelecer um primeiro ponto final de túnel GTP; configurar pelo menos um comutador em uma rota do túnel GTP, através do protocolo de plano de controle, para encaminhar pacotes da sessão de assinante de acordo com o túnel GTP; e configurar um comutador que implementa um plano de dados do GGSN, através do protocolo de plano de controle, para encapsular e desencapsular os pacotes da sessão de assinante e estabelecer um segundo ponto final de túnel GTP.[005] Method for implementing a general packet radio service (GPRS) tunnel protocol (GTP) in a packet core (PC) of a third generation (3G) network having a split architecture where a control plane of the 3G network PC is in a cloud computing system, and the cloud computing system includes a controller, and the controller serves to execute a plurality of control plane modules, and the control plane communicates with the PC data plane via a control plane protocol, the data plane being implemented in a plurality of network elements of the 3G network, the method comprising the steps of: receiving a request by the controller to create a GTP tunnel on the 3G network PC between a serving GPRS support node (SGSN) and a gateway GPRS support node (GGSN) for a subscriber session; configured a switch that implements an SGSN data plane, via the control protocol, to encapsulate and de-encapsulate subscriber session packets and establish a first GTP tunnel endpoint; configuring at least one switch on a GTP tunnel route, through the control plane protocol, to forward subscriber session packets in accordance with the GTP tunnel; and configuring a switch that implements a data plane of the GGSN, via the control plane protocol, to encapsulate and de-encapsulate subscriber session packets and establish a second GTP tunnel endpoint.

[006] Sistema computacional em nuvem que serve para gerenciar a implementação de um protocolo de túnel (GTP) de serviço geral de rádio por pacotes (GPRS) em um núcleo de pacote (PC) de uma rede de terceira geração (3G) tendo uma arquitetura dividida onde um plano de controle do PC da rede 3G se encontra em um sistema computacional em nuvem, sendo que o plano de controle serve para se comunicar com um plano de dados do PC através de um protocolo de plano de controle, sendo que o plano de dados é implementado em uma pluralidade de elementos de rede da rede 3G, sendo que o sistema computacional em nuvem compreende: uma pluralidade de servidores em comunicação entre si e em comunicação com uma pluralidade de elementos de rede que implementam o plano de dados do PC, sendo que a pluralidade de servidores executa, sendo que um controlador é configurado para executar uma pluralidade de módulos de plano de controle que implementa o plano de controle do PC, sendo que cada módulo de plano de controle serve para proporcionar um conjunto de funções de plano de controle para gerenciar o plano de dados, sendo que o controlador é configurado para receber uma solicitação para criar um túnel GTP no PC da rede 3G entre um nó de suporte GPRS de serviço (SGSN) e um nó de suporte GPRS de porta de acesso (GGSN) para uma sessão de assinante, sendo que o controlador é configurado para configurar um comutador que implementa um plano de dados do SGSN, através do protocolo de plano de controle, para encapsular e desencapsular os pacotes da sessão de assinante e estabelecer um primeiro ponto final de túnel GTP, sendo que controlador é configurado para configurar pelo menos um comutador em uma rota do túnel GTP, através do protocolo de plano de controle, para encaminhar pacotes da sessão de assinante de acordo com o túnel GTP, e o controlador é configurado para configurar um comutador que implementa um plano de dados do GGSN, através do protocolo de plano de controle, para encapsular e desencapsular os pacotes da sessão de assinante e estabelecer um segundo ponto final de túnel GTP; um gerenciador de nuvem comunicativamente acoplado ao controlador, sendo que gerenciador de nuvem é configurado para gerenciar a execução da pluralidade de módulos de plano de controle do PC.[006] Cloud computing system that serves to manage the implementation of a general packet radio service (GPRS) tunnel protocol (GTP) in a packet core (PC) of a third generation (3G) network having a split architecture where a 3G network PC control plane is in a cloud computing system, and the control plane serves to communicate with a PC data plane through a control plane protocol, and the data plane is implemented in a plurality of network elements of the 3G network, and the cloud computing system comprises: a plurality of servers in communication with each other and in communication with a plurality of network elements that implement the data plane of the PC, wherein the plurality of servers execute, one controller being configured to execute a plurality of control plane modules that implement the PC's control plane, each control plane module role serves to provide a set of control plane functions to manage the data plane, where the controller is configured to receive a request to create a GTP tunnel on the 3G network PC between a service GPRS support node (SGSN) and a gateway GPRS support node (GGSN) for a subscriber session, where the controller is configured to configure a switch that implements a data plane of the SGSN, via the control plane protocol, to encapsulate and de-encapsulate subscriber session packets and establish a first GTP tunnel endpoint, where controller is configured to configure at least one switch on a GTP tunnel route, via the control plane protocol, to forward subscriber session packets from according to the GTP tunnel, and the controller is configured to configure a switch that implements a data plane from the GGSN, via the control plane protocol, to encapsulate and uncap ing packets from the subscriber session and establishing a second GTP tunnel endpoint; a cloud manager communicatively coupled to the controller, where the cloud manager is configured to manage the execution of the plurality of PC control plane modules.

BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS

[007] A presente invenção é ilustrada a título de exemplo, e não a guisa de limitação, nas figuras dos desenhos em anexo em que referências numéricas similares indicam elementos similares. Deve-se notar que as referências diferentes a "uma" modalidade nesta revelação não são necessariamente à mesma modalidade, e tais referências significam pelo menos uma. Ademais, quando um recurso, estrutura ou característica particular for descrito em conexão a uma modalidade, sugere-se que esteja dentro do conhecimento de um indivíduo versado na técnica efetuar tal recurso, estrutura ou característica em conexão a outras modalidades sejam explicitamente descritas ou não.[007] The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which similar numerical references indicate similar elements. It should be noted that different references to "a" embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one. Furthermore, where a particular feature, structure or feature is described in connection with one modality, it is suggested that it be within the knowledge of an individual skilled in the art to effect such feature, structure or feature in connection with other modalities whether or not explicitly described.

[008] A Figura 1 é um diagrama de uma modalidade de uma rede exemplificadora com um comutador OpenFlow.[008] Figure 1 is a diagram of a modality of an example network with an OpenFlow switch.

[009] A Figura 2 é um diagrama que ilustra uma modalidade dos conteúdos de uma entrada de tabela de fluxo.[009] Figure 2 is a diagram illustrating one embodiment of the contents of a flow table entry.

[0010] A Figura 3 ilustra outra arquitetura exemplificadora que implementa OpenFlow.[0010] Figure 3 illustrates another example architecture that implements OpenFlow.

[0011] A Figura 4 ilustra uma modalidade do processamento de pacotes através de um pipeline de processamento de pacote de comutação OpenFlow.[0011] Figure 4 illustrates a mode of packet processing through an OpenFlow switching packet processing pipeline.

[0012] A Figura 5 é um fluxograma de uma modalidade do processo de correspondência de regra OpenFlow.[0012] Figure 5 is a flowchart of one embodiment of the OpenFlow rule matching process.

[0013] A Figura 6 é um diagrama dos campos, que um processo de correspondência pode utilizar para identificar as regras a serem aplicadas a um pacote.[0013] Figure 6 is a diagram of the fields a matching process can use to identify the rules to be applied to a packet.

[0014] As Figuras 7A e 7B são um fluxograma de uma modalidade de um processo para processamento de cabeçalho OpenFlow.[0014] Figures 7A and 7B are a flowchart of an embodiment of a process for OpenFlow header processing.

[0015] A Figura 8 é um diagrama de uma modalidade de um núcleo de pacote (PC) de terceira geração (3G).[0015] Figure 8 is a diagram of an embodiment of a third generation (3G) packet core (PC).

[0016] A Figura 9 é um diagrama de uma modalidade dos campos de cabeçalho no cabeçalho de encapsulação GTP-U primário.A Figura 10 é um diagrama de uma modalidade de um sistema computacional em nuvem que fornece serviço a um conjunto de clientes.[0016] Figure 9 is a diagram of an embodiment of the header fields in the primary GTP-U encapsulation header. Figure 10 is a diagram of an embodiment of a cloud computing system that provides service to a set of clients.

[0017] A Figura 11 é um diagrama de outra modalidade de um sistema computacional em nuvem que mostra o processo de adicionar um novo caso de serviço ao VPC de um cliente.A Figura 12 é um diagrama de uma modalidade do PC 3G implementado no sistema computacional em nuvem.A Figura 13 é um fluxograma de uma modalidade de um processo para a operação básica da rede PC 3G.[0017] Figure 11 is a diagram of another modality of a cloud computing system that shows the process of adding a new service case to a customer's VPC. Figure 12 is a diagram of a 3G PC modality implemented in the system cloud computing. Figure 13 is a flowchart of one modality of a process for the basic operation of the 3G PC network.

[0018] A Figura 14 é um diagrama de uma modalidade de como o PC 3G no sistema computacional em nuvem habilita a companhia de serviços gerenciados a gerenciar múltiplas redes operadoras dentre uma única central de dados.[0018] Figure 14 is a diagram of a modality of how the 3G PC in the cloud computing system enables the managed services company to manage multiple carrier networks within a single data center.

[0019] A Figura 15 é um diagrama de uma modalidade de um processo para troca de tráfego e roteamento diferencial de PC 3G para um tratamento de serviço especializado.A Figura 16 é um diagrama de uma modalidade da modificação de tabela de fluxo OpenFlow para roteamento TEID GTP.A Figura 17 é um diagrama da estrutura de uma fileira de tabela de fluxo.As Figuras 18A a 18C são fluxogramas de criação, modificação e deletação de sessão no PC 3G.A Figura 19 é um diagrama de uma modalidade de um fluxo de mensagem OpenFlow para o procedimento de solicitação de sessão de criação.A Figura 20 é um diagrama de uma modalidade da sequência de mensagem OpenFlow para o procedimento de solicitação de sessão de modificação.A Figura 21 é um diagrama de uma modalidade da sequência de mensagem OpenFlow para o procedimento de solicitação de sessão de deletação[0019] Figure 15 is a diagram of a modality of a process for 3G PC traffic exchange and differential routing for a specialized service handling. Figure 16 is a diagram of a modality of OpenFlow flow table modification for routing TEID GTP. Figure 17 is a diagram of the structure of a flow table row. Figures 18A to 18C are flowcharts of creating, modifying, and deleting a session on the 3G PC. Figure 19 is a diagram of one mode of a flow. OpenFlow message sequence for the create session request procedure. Figure 20 is a diagram of an OpenFlow message sequence modality for the modify session request procedure. Figure 21 is a diagram of a message sequence modality OpenFlow for delete session request procedure

DESCRIÇÃO DETALHADADETAILED DESCRIPTION

[0020] Na descrição a seguir, apresentam-se vários detalhes específicos. No entanto, compreende-se que as modalidades da invenção podem ser praticadas sem esses detalhes específicos. Em outros casos, circuitos, estruturas e técnicas bem conhecidos não foram mostrados em detalhes a fim de não encobrir a compreensão desta descrição. No entanto, avaliar-se-á, por um indivíduo versado na técnica, que a invenção pode ser praticada sem esses detalhes específicos. Os indivíduos com conhecimento comum na técnica, com as descrições incluídas, serão capazes de implementar uma funcionalidade apropriada sem uma experimentação indevida.[0020] In the following description, several specific details are presented. However, it is understood that embodiments of the invention may be practiced without these specific details. In other cases, well-known circuits, structures, and techniques have not been shown in detail in order not to obscure the understanding of this description. However, it will be appreciated by a person skilled in the art that the invention can be practiced without these specific details. Individuals of ordinary skill in the art, with descriptions included, will be able to implement appropriate functionality without undue experimentation.

[0021] As operações dos diagramas de fluxo serão descritas com referência às modalidades exemplificadoras das Figuras 8, 10 a 12, 14, e 15. No entanto, deve-se compreender que as operações dos diagramas de fluxo podem ser realizadas pelas modalidades da invenção além daquelas discutidas com referência às Figuras 8, 10 a 12, 14, e 15, e as modalidades discutidas com referência às Figuras 8, 10 a 12, 14, e 15 podem realizar operações diferentes daquelas discutidas com referência aos diagramas de fluxo das Figuras 5, 7, 13, 18, 19, 20 e 21.[0021] The operations of the flow diagrams will be described with reference to the exemplifying modalities of Figures 8, 10 to 12, 14, and 15. However, it should be understood that the operations of the flow diagrams can be performed by the embodiments of the invention in addition to those discussed with reference to Figures 8, 10 to 12, 14, and 15, and the embodiments discussed with reference to Figures 8, 10 to 12, 14, and 15 may perform operations different from those discussed with reference to the flow diagrams of Figures 5, 7, 13, 18, 19, 20 and 21.

[0022] As técnicas mostradas nas figuras podem ser implementadas usando um código de dados armazenados e executados em um ou mais dispositivos eletrônicos (por exemplo, uma estação final, um elemento de rede, etc.). Esses dispositivos eletrônicos armazenam e comunicam (internamente e/ou com outros dispositivos eletrônicos através de em uma rede) um código e dados usando meios não-transitórios legíveis por máquina ou legíveis por computador, tais como meios de armazenamento não-transitórios legíveis por máquina ou legíveis por computador (por exemplo, discos magnéticos; discos ópticos; memória de acesso aleatório; memória somente para leitura; dispositivos de memória flash; e memória de alteração de fase). Além disso, esses dispositivos eletrônicos tipicamente incluem um conjunto de um ou mais processadores acoplados a um ou mais outros componentes, tais como um ou mais dispositivos de armazenamento, dispositivos de entrada/saída (por exemplo, um teclado, uma tela sensível ao toque, e/ou um monitor), e conexões de rede. O acoplamento do conjunto de processadores e outros componentes ocorre tipicamente através de um ou mais barramentos e pontes (também designados como controladores de barramento). Os dispositivos de armazenamento representam um ou mais meios de armazenamento não-transitórios legíveis por máquina ou legíveis por computador e meios de comunicação não-transitórios legíveis por máquina ou legíveis por computador. Logo, o dispositivo de armazenamento de um dado dispositivo eletrônico armazena, tipicamente, um código e/ou dados para execução no conjunto de um ou mais processadores de tal dispositivo eletrônico. Naturalmente, uma ou mais partes de uma modalidade da invenção podem ser implementadas usando diferentes combinações de software, firmware, e/ou hardware.[0022] The techniques shown in the figures can be implemented using a data code stored and executed in one or more electronic devices (eg an end station, a network element, etc.). These electronic devices store and communicate (internally and/or with other electronic devices over a network) code and data using non-transient machine-readable or computer-readable media, such as non-transient machine-readable storage media or computer readable (e.g. magnetic disks; optical disks; random access memory; read-only memory; flash memory devices; and phase-shift memory). In addition, these electronic devices typically include a set of one or more processors coupled with one or more other components, such as one or more storage devices, input/output devices (e.g., a keyboard, a touchscreen, and/or a monitor), and network connections. The coupling of the processor set and other components typically occurs through one or more buses and bridges (also referred to as bus controllers). Storage devices represent one or more non-transient machine-readable or computer-readable storage media and non-transient machine-readable or computer-readable media. Therefore, the storage device of a given electronic device typically stores code and/or data for execution on the set of one or more processors of such electronic device. Naturally, one or more parts of an embodiment of the invention may be implemented using different combinations of software, firmware, and/or hardware.

[0023] Conforme o uso em questão, um elemento de rede (por exemplo, um roteador, um comutador, uma ponte, etc.) é uma peça de equipamento de rede, incluindo hardware e software, que interconecta de modo comunicativo outro equipamento na rede (por exemplo, outros elementos de rede, estações finais, etc.). Alguns elementos de rede são "elementos de rede de múltiplos serviços" que proporcionam suporte a múltiplas funções de rede (por exemplo, roteamento, transição, comutação, agregação de Camada 2, controle de fronteira de sessão, difusão múltipla, e/ou gerenciamento de assinante), e/ou proporcionam suporte a múltiplos serviços de aplicativo (por exemplo, dados, voz, e vídeo). As estações finais de assinante (por exemplo, servidores, estações de trabalho, laptops, palmtops, telefones móveis, smartphones, telefones multimídia, telefones de Protocolo de Voz sobre Internet (VOIP), reprodutores de midia portátil, unidades GPS, sistemas de jogos, decodificadores (STBs), etc.) acessam os conteúdos/serviços proporcionados pela Internet e/ou os conteúdos/serviços proporcionados em redes privadas virtuais (VPNs) sobrepostas à Internet. Os conteúdos e/ou serviços são tipicamente proporcionados por uma ou mais estações finais (por exemplo, estações finais de servidor) pertencentes a uma provedora de serviços ou conteúdos ou estações finais que participam de um serviço ponto a ponto, e podem incluir páginas da web públicas (conteúdo gratuito, fachadas de lojas, serviços de busca, etc.), páginas da web privadas (por exemplo, páginas da web acessadas por nome de usuário/senha que fornecem serviços de email, etc.), redes coorporativas por VPNs, IPTV, etc. Tipicamente, as estações finais de assinante são acopladas (por exemplo, através de um equipamento de premissa de consumidor acoplado a uma rede de acesso (com ou sem fio)) a elementos de rede de borda, que são acoplados (por exemplo, através de um ou mais elementos de rede de núcleo a outros elementos de rede de borda) a outras estações finais (por exemplo. estações finais de servidor).As modalidades da presente invenção proporcionam um método e um sistema para evitar as desvantagens da técnica anterior. As desvantagens da técnica anterior são aquelas implementações anteriores do núcleo de pacote que usa um pool de servidores que são dedicados a uma entidade de rede específica, tal como um pool de servidor que seja dedicado para hospedar um SGSN. Quando demandas de sinalização adicionais requererem uma capacidade extraordinária, então, um novo caso SGSN é instanciado no pool de servidor. No entanto, quando a demanda for alta para os serviços do servidor de assinante doméstico (HSS), o pool de servidor dedicado aos servidores HSS será expressivamente utilizado, porém, o pool de servidor para o SGSN é subutilizado. Estes pools de servidor subutilizados continuam a requerer manutenção e a agregar gastos operacionais, mas não estão proporcionando um desempenho ótimo para o operador de rede.[0023] Depending on the usage in question, a network element (e.g., a router, a switch, a bridge, etc.) is a piece of network equipment, including hardware and software, that communicatively interconnects other equipment in the network. network (e.g. other network elements, end stations, etc.). Some network elements are "multi-service network elements" that support multiple network functions (e.g., routing, transition, switching, Layer 2 aggregation, session boundary control, multicast, and/or subscriber), and/or support multiple application services (eg, data, voice, and video). Subscriber end stations (e.g. servers, workstations, laptops, palmtops, mobile phones, smartphones, multimedia phones, Voice over Internet Protocol (VOIP) phones, portable media players, GPS units, gaming systems, decoders (STBs), etc.) access the contents/services provided by the Internet and/or the contents/services provided in virtual private networks (VPNs) overlaid on the Internet. Content and/or services are typically provided by one or more end stations (e.g. server end stations) belonging to a service provider or content or end stations participating in a peer-to-peer service, and may include web pages public (free content, storefronts, search services, etc.), private web pages (e.g. username/password web pages that provide email services, etc.), corporate networks via VPNs, IPTV, etc. Typically, subscriber end stations are coupled (e.g., through consumer premise equipment coupled to an access network (wired or wireless)) to edge network elements, which are coupled (e.g., through one or more core network elements to other edge network elements) to other end stations (e.g. server end stations). Embodiments of the present invention provide a method and system for avoiding the disadvantages of the prior art. The disadvantages of the prior art are those earlier implementations of the package core that use a pool of servers that are dedicated to a specific network entity, such as a server pool that is dedicated to hosting an SGSN. When additional signaling demands require extraordinary capacity, then a new SGSN case is instantiated in the server pool. However, when demand is high for Home Subscriber Server (HSS) services, the server pool dedicated to HSS servers will be heavily utilized, however, the server pool for SGSN is underutilized. These underutilized server pools continue to require maintenance and add operational overhead, but are not delivering optimal performance for the network operator.

[0024] Em algumas situações, as companhias de serviços gerenciados constroem e executam redes de operadora móvel, enquanto a própria operadora móvel lida com as relações de marketing, cobrança, e consumidor. O tráfego de sinalização e dados para cada rede de operadora móvel é mantido privado e isolado do tráfego de suas concorrentes, apensar de sua rede e as redes de suas concorrentes poderem ser gerenciadas pela mesma companhia de serviços gerenciados. A companhia de serviços gerenciados deve manter um pool de servidor completamente separado e uma rede de sinalização física para cada operadora móvel que esta suporta. Como resultado, há uma grande duplicação de recursos e uma subutilização da capacidade do servidor. Isto aumenta os gastos operacionais para as companhias de serviços gerenciados e para a rede de operadora móvel devido às exigências adicionais de equipamento, energia e resfriamento.[0024] In some situations, managed service companies build and run mobile operator networks, while the mobile operator itself handles marketing, billing, and consumer relationships. Signaling and data traffic for each mobile operator's network is kept private and isolated from the traffic of its competitors, even though its network and its competitors' networks may be managed by the same managed services company. The managed services company must maintain a completely separate server pool and physical signaling network for each mobile operator it supports. As a result, there is massive duplication of resources and underutilization of server capacity. This increases operating expenses for managed services companies and the mobile operator network due to additional equipment, power and cooling requirements.

[0025] A arquitetura de núcleo de pacote 3G conforme atualmente definida permite somente um ponto de presença (PoP) entre o núcleo fixo da operadora móvel/Internet e a rede de agregação móvel, ou seja, existe um único nó de suporte GPRS de porta de acesso (GGSN). As operadoras de rede móvel não podem ajustar múltiplos pontos de troca de tráfego e os PoPs entre as operadoras vizinhas dentro da rede de agregação. Isto reduziria a quantidade de tráfego que flui na rede de núcleo de operadora móvel, reduzindo, assim, a necessidade por atualizações de rede de núcleo caras e demoradas. Além disso, os pontos de troca de tráfego geralmente não têm custos às operadoras desde que os acordos de nível de serviço (SLA)s seja observados. No entanto, esta flexibilidade de implantação está indisponível às operadoras móveis devido à necessidade de ancorar seu PoP ao núcleo Internet em um único porta de acesso móvel.[0025] The 3G packet core architecture as currently defined allows only one point of presence (PoP) between the mobile operator/Internet fixed core and the mobile aggregation network, i.e. there is a single GPRS port support node access (GGSN). Mobile network operators cannot set multiple traffic exchange points and PoPs between neighboring operators within the aggregation network. This would reduce the amount of traffic flowing over the mobile operator's core network, thus reducing the need for costly and time-consuming core network upgrades. In addition, peering points are generally free of charge to operators as long as service level agreements (SLA)s are observed. However, this deployment flexibility is unavailable to mobile operators due to the need to anchor their PoP to the Internet core on a single mobile gateway.

[0026] A arquitetura de PC 3G também contém pouca flexibilidade para tratamento especializado de fluxos de usuários. Embora a arquitetura proporcione suporte para estabelecer qualidade de serviço (QoS), outros tipos de gerenciamento de dados não estão disponíveis. Por exemplo, serviços que envolvem middleboxes, tal como inspeção profunda de pacote especializada ou interação com recursos de armazenamento em cache e processamento de dados locais que podem ser utilizados para transcodificação ou aplicações de realidade aumentada são difíceis de suportar com a arquitetura de PC 3G atual. Quase todas as aplicações requerem que fluxos de pacote saiam através do GGSN, sendo, assim, 3G a partir de GTP, e a serem processados dentro da rede cabeada.[0026] The 3G PC architecture also contains little flexibility for specialized handling of user flows. While the architecture provides support for establishing quality of service (QoS), other types of data management are not available. For example, services that involve middleboxes, such as specialized deep packet inspection or interaction with caching facilities and local data processing that can be used for transcoding or augmented reality applications are difficult to support with current 3G PC architecture. . Almost all applications require packet streams to go out through the GGSN, thus being 3G from GTP, and to be processed within the wired network.

[0027] Implementar o plano de controle de um PC 3G em uma instalação de computação em nuvem e o plano de dados do PC 3G usando um conjunto de comutadores OpenFlow, nem como gerenciar a comunicação entre o plano de controle e o plano de dados usando o protocolo OpenFlow (por exemplo, OpenFlow 1.1) cria um problema que o protocolo OpenFlow não suporta GTP ou um roteamento de identificador de ponto final de túnel GTP (TEID), que é necessário para implementar o plano de dados do PC 3G[0027] Implement the control plane of a 3G PC in a cloud computing facility and the data plane of the 3G PC using a set of OpenFlow switches, nor how to manage the communication between the control plane and the data plane using the OpenFlow protocol (e.g. OpenFlow 1.1) creates a problem that the OpenFlow protocol does not support GTP or a GTP tunnel endpoint identifier (TEID) routing, which is required to implement 3G PC data plane

[0028] As modalidades da invenção superam essas desvantagens da técnica anterior. As desvantagens da técnica anterior são evitadas dividindo-se o plano de controle e o plano de dados para a arquitetura de PC 3G e para implementar o plano de controle implantando-se as entidades de plano de controle de PC 3G em uma instalação de computação em nuvem, enquanto o plano de dados é implementado por uma coleção distribuída de comutadores OpenFlow. O protocolo OpenFlow é usado para conectar os dois, com aprimoramentos para suportar um roteamento GTP. Embora a arquitetura de PC 3G já tenha uma divisão entre o plano de controle e o plano de dados, no sentido de que o SSGN e o GGSN são, primariamente, entidades de plano de dados enquanto o registro de localização doméstica (HLR), o servidor de assinante doméstico (HSS) e a central de autenticação (AUC) são, primariamente, entidades de plano de controle, esta divisão foi feita no nível do protocolo de gerenciamento de mobilidade, GTP.[0028] The embodiments of the invention overcome these disadvantages of the prior art. The disadvantages of the prior art are avoided by splitting the control plane and data plane for the 3G PC architecture and to implement the control plane by deploying the 3G PC control plane entities in a computing facility in cloud, while the data plane is implemented by a distributed collection of OpenFlow switches. The OpenFlow protocol is used to connect the two, with enhancements to support GTP routing. Although the 3G PC architecture already has a division between the control plane and the data plane, in the sense that the SSGN and GGSN are primarily data plane entities while the home location record (HLR), the home subscriber server (HSS) and central authentication (AUC) are primarily control plane entities, this division was made at the level of the mobility management protocol, GTP.

[0029] A arquitetura de PC 3G padrão assume uma rede IP roteada padrão para transporte além daquela na qual as entidades e protocolos de rede móvel são implementadas. A arquitetura de PC 3G aprimorada descrita no presente documento é contrária ao nível de roteamento de IP e comutação de controle de acesso de midia (MAC). Ao invés de usar um roteamento L2 e protocolos de porta de acesso interno L3 para distribuir um roteamento de IP e gerenciar o roteamento de Ethernet[0029] The standard 3G PC architecture assumes a standard routed IP network for transport in addition to that on which the mobile network entities and protocols are implemented. The enhanced 3G PC architecture described in this document is contrary to the IP routing and media access control (MAC) switching level. Instead of using L2 routing and L3 internal gateway protocols to distribute IP routing and manage Ethernet routing

[0030] IP como uma coleção de entidades de controle distribuídas, o gerenciamento de roteamento L2 e L3 é centralizado em uma instalação de nuvem e o roteamento é controlado a partir da instalação de nuvem usando o protocolo OpenFlow. Conforme uso em questão, o "protocolo OpenFlow" se refere ao protocolo de rede OpenFlow à especificação de comutação definida na OpenFlow Switch Specification em www.openflowswitch.org um site da web hospedado pela Universidade de Stanford. Conforme o uso em questão, um "comutador OpenFlow" se refere a um elemento de rede que implementa o protocolo OpenFlow.[0030] IP as a collection of distributed control entities, L2 and L3 routing management is centralized in a cloud facility and routing is controlled from the cloud facility using OpenFlow protocol. As used herein, "OpenFlow protocol" refers to the OpenFlow network protocol and switching specification defined in the OpenFlow Switch Specification at www.openflowswitch.org a website hosted by Stanford University. As per the usage in question, an "OpenFlow switch" refers to a network element that implements the OpenFlow protocol.

[0031] As entidades de plano de controle PC 3G padrão HSS, HLR, AUC, registro de localização de visitante (VLR), registro de identidade de equipamento (EIR), central de mensagem de entrelaçamento de serviço de mensagens curtas (SMS-IWMSC), central de mensagem de porta de acesso SMS (SMS-GMSC) e função de localização de assinante (SLF) e os aspetos de plano de controle do SGSN e GGSN são implantados na nuvem. O plano de dados consiste em comutadores OpenFlow padrão com aprimoramentos conforme necessário para rotear pacotes GTP, ao invés de roteadores de IP e comutadores Ethernet. No mínimo, as partes de plano de dados do SGSN e GGSN e a parte de roteamento de pacote do NodeB no E-UTRAN requerem aprimoramentos OpenFlow para um roteamento GTP. Aprimoramentos adicionais para um roteamento GTP podem ser necessários em outros comutadores dentro da arquitetura de PC 3G dependendo de quão compacto é o controle sobre o roteamento um operador requer. Os aprimoramentos para um roteamento GTP incluem processos para estabelecer túneis GTP, modificar túneis GTP e destruir túneis GTP dentro da arquitetura de PC 3G.[0031] Standard 3G PC control plane entities HSS, HLR, AUC, Visitor Location Record (VLR), Equipment Identity Record (EIR), Short Message Service Interleave Message Center (SMS-IWMSC) ), SMS gateway message center (SMS-GMSC) and subscriber location function (SLF) and control plane aspects of SGSN and GGSN are deployed in the cloud. The data plane consists of standard OpenFlow switches with enhancements as needed to route GTP packets, rather than IP routers and Ethernet switches. At a minimum, the data plane parts of SGSN and GGSN and the packet routing part of NodeB in E-UTRAN require OpenFlow enhancements for a GTP routing. Additional enhancements to GTP routing may be required on other switches within the 3G PC architecture depending on how tight control over routing an operator requires. Enhancements to GTP routing include processes for establishing GTP tunnels, modifying GTP tunnels, and destroying GTP tunnels within the 3G PC architecture.

[0032] A divisão entre o controle e as partes de plano de dados do PC 3G pode ser usada junto a uma tecnologia de nuvem privada virtual (VPC) para implementar múltiplos PoPs dentro de um único PC 3G, proporcionar um roteamento de fluxo específico GTP para aplicações especializadas, e executar múltiplas redes operadoras a partir de uma única instalação de computação em nuvem.[0032] The split between control and data plane parts of 3G PC can be used together with a Virtual Private Cloud (VPC) technology to implement multiple PoPs within a single 3G PC, provide GTP specific flow routing for specialized applications, and run multiple carrier networks from a single cloud computing facility.

[0033] Em uma modalidade, o sistema PC 3G baseado em nuvem pode ser implementado como um conjunto de dispositivos de hardware. Em outra modalidade, os componentes de sistema são implementados em software (por exemplo, microcódigo, linguagem de montagem ou linguagens de nível superior). Essas implementações de software podem ser armazenadas em um meio não-transitório legível por computador. Um meio não-transitório "legível por computador" pode incluir qualquer meio que possa armazenar informações. Exemplos do meio não-transitório legível por computador incluem uma memória somente para leitura (ROM), um disquete flexível, um CD Rom, um DVD, uma memória flash, um disco rígido, um disco óptico ou um meio similar. Redes OpenFlow 1.0[0033] In one embodiment, the cloud-based 3G PC system can be implemented as a set of hardware devices. In another embodiment, system components are implemented in software (eg, microcode, assembly language, or higher-level languages). These software implementations can be stored on a non-transient, computer-readable medium. A non-transient "computer readable" medium can include any medium that can store information. Examples of non-transient computer-readable media include read-only memory (ROM), floppy disk, CD Rom, DVD, flash memory, hard disk, optical disk, or similar medium. OpenFlow 1.0 Networks

[0034] A Figura 1 é um diagrama de uma modalidade de uma rede exemplificadora com um comutador OpenFlow, conformando-se à especificação OpenFlow 1.0. O protocolo OpenFlow 1.0 habilita um controlador 101 a se conectar a um comutador habilitado para OpenFlow 1.0 109 usando um canal seguro 103 e controlar uma única tabela de encaminhamento 107 no comutador 109. o controlador 101 é um componente de software externo executado por um dispositivo computacional remoto que habilita um usuário a configurar o comutador OpenFlow 1.0 109. O canal seguro 103 pode ser proporcionado por qualquer tipo de rede, incluindo uma rede de área local (LAN) ou uma rede de área ampliada (WAN), tal como a Internet.[0034] Figure 1 is a diagram of a modality of an example network with an OpenFlow switch, conforming to the OpenFlow 1.0 specification. The OpenFlow 1.0 protocol enables a controller 101 to connect to an OpenFlow 1.0-enabled switch 109 using a secure channel 103 and control a single forwarding table 107 on switch 109. the controller 101 is an external software component run by a computing device that enables a user to configure the OpenFlow 1.0 switch 109. The secure channel 103 can be provided by any type of network, including a local area network (LAN) or a wide area network (WAN), such as the Internet.

[0035] A Figura 2 é um diagrama que ilustra uma modalidade dos conteúdos de uma entrada de tabela de fluxo. A tabela de encaminhamento 107 é populada com entradas que consistem em uma regra 201 que define correspondências para campos em cabeçalhos de pacote; uma ação 203 associada à correspondência de fluxo; e uma coleção de estatísticas 205 sobre o fluxo. Quando um pacote de entrada for recebido, realiza-se uma pesquisa para uma regra de correspondência na tabela de fluxo 107. Se o pacote de entrada corresponder a uma regra particular, a ação associada definida em tal entrada de tabela de fluxo é realizada no pacote.[0035] Figure 2 is a diagram illustrating one embodiment of the contents of a flow table entry. The forwarding table 107 is populated with entries consisting of a rule 201 that defines matches for fields in packet headers; an action 203 associated with flow matching; and a collection of 205 statistics about the flow. When an incoming packet is received, a lookup is performed for a match rule in flow table 107. If the incoming packet matches a particular rule, the associated action defined in that flow table entry is performed on the packet. .

[0036] Uma regra 201 contém campos chave de vários cabeçalhos na pilha de protocolo, por exemplo, endereços de MAC Ethernet de origem e destino, endereços de IP de origem e destino, número de tipo de protocolo de IP, números de porta TCP ou UDP de entrada e saída. Para definir um fluxo, todos os campos de correspondência disponíveis podem ser usados. Porém, também é possível restringir a regra de correspondência a um subconjunto de campos disponíveis utilizando-se curingas para campos indesejados.[0036] A 201 rule contains key fields from various headers in the protocol stack, for example, source and destination Ethernet MAC addresses, source and destination IP addresses, IP protocol type number, TCP port numbers, or Inbound and Outbound UDP. To define a flow, all available match fields can be used. However, you can also restrict the match rule to a subset of available fields by using wildcards for unwanted fields.

[0037] As ações que são definidas pela especificação de OpenFlow 1.0 são Drop, que abandona os pacotes de correspondência; Forward, que encaminha o pacote a urna ou a todas as portas de saída, a própria porta física de entrada, o controlador através do canal seguro, ou a pilha de rede local (caso exista). As unidades de dados de protocolo OpenFlow 1.0 (PDUs) são definidas com um conjunto de estruturas especificado usando a linguagem de programação C. Algumas das mensagens mais comumente usadas são: reportar uma mensagem de configuração de comutador; modificar as mensagens de estado (incluindo uma mensagem de entrada de fluxo de modificação e uma mensagem de modificação de porta); ler mensagens de estado, enquanto o sistema estiver rodando, a trajetória de dados pode ser questionada sobre seu estado atual usando esta mensagem; e enviar uma mensagem de pacote, que é usada quando o controlador desejar enviar um pacote através da trajetória de dados.OpenFlow 1.0 suporta "extensões de fornecedor" que permite que determinados elementos de protocolo sejam estendidos. As mensagens de protocolo e as ações de tabela podem ser estendidas, mas as regras de correspondência de fluxo não podem. O uso dessas extensões em conexão à arquitetura EPC baseada em nuvem será discutido mais adiante. Redes OpenFlow 1.1[0037] The actions that are defined by the OpenFlow 1.0 specification are Drop, which drops mail packets; Forward, which forwards the packet to urn or to all output ports, the physical input port itself, the controller over the secure channel, or the LAN stack (if any). OpenFlow 1.0 protocol data units (PDUs) are defined with a set of structures specified using the C programming language. Some of the most commonly used messages are: reporting a switch configuration message; modify status messages (including a modification flow input message and a port modification message); read status messages, while the system is running, the data path can be queried for its current state using this message; and send a packet message, which is used when the controller wants to send a packet through the data path. OpenFlow 1.0 supports "vendor extensions" that allow certain protocol elements to be extended. Protocol messages and table actions can be extended, but flow matching rules cannot. The use of these extensions in connection with the cloud-based EPC architecture will be discussed later. OpenFlow 1.1 Networks

[0038] A Figura 3 ilustra outra arquitetura exemplificadora que implementa OpenFlow, conformando-se à especificação OpenFlow 1.1. Nesta modalidade, há provisão explícita por múltiplas tabelas de fluxo 301. Isto permite que o pipeline de processamento de pacote se misture e corresponda a regras e ações particulares sem causar uma explosão combinatória no tamanho da tabela. Por exemplo, uma tabela de fluxo pode realizar um processamento QoS enquanto uma segunda tabela de fluxo realiza um roteamento.[0038] Figure 3 illustrates another example architecture that implements OpenFlow, conforming to the OpenFlow 1.1 specification. In this embodiment, there is explicit provision for multiple 301 flow tables. This allows the packet processing pipeline to mix and match particular rules and actions without causing a combinatorial explosion in the size of the table. For example, one flow table can perform QoS processing while a second flow table performs routing.

[0039] A Figura 4 ilustra uma modalidade do processamento de pacotes através de um pipeline de processamento de pacote comutado OpenFlow 1.1. Um pacote recebido é comparado a cada uma das tabelas de fluxo 401. Após cada tabela de fluxo corresponder, as ações são acumuladas em um conjunto de ação. Se o processamento requerer uma correspondência a outra tabela de fluxo, as ações na regra correspondida incluem uma ação que direciona o processamento à próxima tabela no pipeline. Ausente a inclusão de unia ação no conjunto para executar todas as ações acumuladas imediatamente, as ações são executadas na extremidade 403 do pipeline de processamento de pacote. Uma ação permite a gravação de dados a um registrador de metadados, que é transportado no pipeline de processamento de pacote como o cabeçalho de pacote.[0039] Figure 4 illustrates a mode of packet processing through an OpenFlow 1.1 switched packet processing pipeline. A received packet is compared to each of the 401 flow tables. After each flow table is matched, the actions are accumulated into an action set. If processing requires a match to another flow table, actions on the matched rule include an action that directs processing to the next table in the pipeline. Absent including an action in the set to execute all accumulated actions immediately, the actions are executed at the 403 end of the packet processing pipeline. An action allows writing data to a metadata register, which is carried in the packet processing pipeline as the packet header.

[0040] A Figura 5 é um fluxograma de uma modalidade do processo de correspondência de regra OpenFlow 1.1. OpenFlow 1.1 contém suporte à marcação de pacote. OpenFlow 1.1 permite uma correspondência com base em campos de cabeçalho e rótulos de comutação de rótulos multiprotocolo (MPLS). Um rótulo LAN virtual (VLAN) e um rótulo MPLS podem ser correspondidos por tabela. O processo de correspondência de regra é iniciado com a chegada de um pacote a ser processado (Bloco 501). Iniciando-se na primeira tabela 0, realiza-se uma pesquisa para determinar uma correspondência com o pacote recebido (Bloco 503). Não há correspondências nesta tabela, então, uma entre um conjunto de ações default é adotada (isto é, enviar o pacote ao controlador, abandonar o pacote ou continuar à próxima tabela) (Bloco 509). Se houver uma correspondência, então, uma atualização ao conjunto de ações é feita junto aos contadores, campos de conjunto de pacotes ou correspondências e metadados (Bloco 505). Realiza-se uma verificação para determinar a próxima tabela a processar, que pode ser a próxima tabela sequencialmente ou uma especificada por uma ação de uma regra de correspondência (Bloco 507). Uma vez que todas as tabelas tiverem sido processadas, então, o conjunto de ações resultante é executado (Bloco 511).[0040] Figure 5 is a flowchart of an embodiment of the OpenFlow 1.1 rule matching process. OpenFlow 1.1 contains package markup support. OpenFlow 1.1 allows matching based on header fields and multiprotocol label switching (MPLS) labels. A virtual LAN (VLAN) tag and an MPLS tag can be table-matched. The rule matching process starts with the arrival of a packet to be processed (Block 501). Starting with the first table 0, a lookup is performed to determine a match with the received packet (Block 503). There are no matches in this table, so one of a set of default actions is taken (ie, send the packet to the controller, abandon the packet, or continue to the next table) (Block 509). If there is a match, then an update to the action set is made along with counters, packet set fields or matches and metadata (Block 505). A check is performed to determine the next table to process, which can be the next table sequentially or one specified by an action of a match rule (Block 507). Once all tables have been processed, then the resulting set of actions is executed (Block 511).

[0041] A Figura 6 é um diagrama dos campos, que um processo de correspondência pode utilizar para identificar regras para aplicar a um pacote. Ações permitem a manipulação de pilhas de tag colocando-se e tirando-se rótulos. Combinadas com múltiplas tabelas, as pilhas de rótulo VLAN ou MPLS podem ser processadas correspondendo-se um rótulo por tabela.[0041] Figure 6 is a diagram of the fields a matching process can use to identify rules to apply to a packet. Actions allow manipulation of tag stacks by placing and removing labels. Combined with multiple tables, VLAN or MPLS label stacks can be processed by matching one label per table.

[0042] A Figura 7 é um fluxograma de uma modalidade de um processo de análise de cabeçalho. O processo de análise corresponde um cabeçalho de pacote inicializando-se um conjunto de campos de correspondência (Bloco 701) e verificando-se a presença de um conjunto de diferentes tipos de cabeçalho. O processo verifica um tag VLAN (Bloco 703). Se o tag VLAN estiver presente, então, existe unia série de etapas de processamento para o tag VLAN (Blocos 705 a 707). Se o comutador suportar MPLS (Bloco 709), então, existe uma série de etapas para detectar e processar as informações de cabeçalho MPLS (Blocos 711 a 715). Se o comutador suportar um protocolo de resolução de endereço (ARP), então, existe uma série de etapas para processar o cabeçalho ARP (Blocos 719 e 721). Se o pacote tiver um cabeçalho de IP (Bloco 723), então, existe uma série de etapas para processar o cabeçalho de IP (Blocos 725 a 733). Este processo é realizado para cada pacote recebido.[0042] Figure 7 is a flowchart of an embodiment of a header parsing process. The parsing process matches a packet header by initializing a set of match fields (Block 701) and checking for the presence of a set of different header types. The process checks for a VLAN tag (Block 703). If the VLAN tag is present, then there is a series of processing steps for the VLAN tag (Blocks 705 to 707). If the switch supports MPLS (Block 709), then there are a number of steps to detect and process the MPLS header information (Blocks 711 to 715). If the switch supports an address resolution protocol (ARP), then there are a number of steps to process the ARP header (Blocks 719 and 721). If the packet has an IP header (Block 723), then there are a number of steps to process the IP header (Blocks 725 to 733). This process is performed for each received packet.

[0043] Em uma modalidade, uma tabela de grupo pode ser suportada em conjunto com o protocolo OpenFlow 1.1. As tabelas de grupo habilitam um método para permitir que uma única correspondência de fluxo dispare o encaminhamento em múltiplas portas. As entradas de tabela de grupo consistem em quatro campos: um identificador de grupo, que consiste em um inteiro sem sinal de 32 bit que identifica o grupo; um tipo de grupo que determinar a semântica do grupo; contadores que mantêm estatísticas sobre o grupo; e uma lista de bucket de ação, que consiste em uma lista ordenada de buckets de ação, onde cada bucket contém um conjunto de ações para executar junto a seus parâmetros.[0043] In one embodiment, a group table may be supported in conjunction with the OpenFlow 1.1 protocol. Group tables enable a method to allow a single flow match to trigger forwarding on multiple ports. Group table entries consist of four fields: a group identifier, which consists of a 32-bit unsigned integer that identifies the group; a group type that determines the semantics of the group; accountants who maintain statistics about the group; and an action bucket list, which consists of an ordered list of action buckets, where each bucket contains a set of actions to perform along with its parameters.

[0044] Existem quatro tipos diferentes de grupos: All, que executam todas as ações na lista de bucket, este é usado para encaminhamento por radiodifusão ou difusão múltipla; Select, que executa um bucket por pacote, com base em um algoritmo determinado pelo comutador que esteja fora do protocolo OpenFlow, que é usado para implementar um encaminhamento em múltiplas trajetórias; Indirect, que executa o único bucket em todos os pacotes, este permite que múltiplos fluxos ou grupos apontem para uma única coleção de ações ao invés de ter as ações definidas em múltiplas entrada de tabela de encaminhamento; Fast Failover, que executar o primeiro bucket ao vivo, onde cada bucket está associado a uma porta que controla sua capacidade de estar ao vivo, este permite que o comutador realize um failover a outra porta sem envolver o controlador.[0044] There are four different types of groups: All, which perform all actions in the bucket list, this is used for broadcast or multicast forwarding; Select, which performs one bucket per packet, based on an algorithm determined by the switch that is outside the OpenFlow protocol, which is used to implement multipath forwarding; Indirect, which runs a single bucket on all packets, allows multiple flows or groups to point to a single collection of actions rather than having the actions defined in multiple forwarding table entries; Fast Failover, which performs the first bucket live, where each bucket is associated with a port that controls its ability to be live, this allows the switch to failover to another port without involving the controller.

[0045] OpenFlow 1.1 pode ser utilizado para suportar portas virtuais. Uma porta virtual, conforme o uso em questão, é um "bloco de ação" que realiza algum tipo de ação de processamento além de simplesmente encaminhar o pacote a uma conexão de rede como as portas físicas fazem. Exemplos de algumas portas virtuais embutidas incluem: ALL, que encaminha a porta a todas as portas exceto pela porta de ingresso e quaisquer portas que estejam marcadas "Não encaminhar;" CONTROLLER, que encapsula o pacote e o envia ao controlador; TABLE, que insere o pacote no pipeline de processamento de pacote submetendo-o à primeira tabela de fluxo, esta ação é válida somente no conjunto de ação de uma mensagem embalada externa; e IN_PORT, que envia o pacote à porta de ingresso. Em outras modalidades, também podem existir portas virtuais definidas comutadas.[0045] OpenFlow 1.1 can be used to support virtual ports. A virtual port, as the usage in question is, is an "action block" that performs some sort of processing action beyond simply forwarding the packet to a network connection as physical ports do. Examples of some built-in virtual ports include: ALL, which forwards the port to all ports except the ingress port and any ports that are marked "Do not forward;" CONTROLLER, which encapsulates the packet and sends it to the controller; TABLE, which inserts the packet into the packet processing pipeline by submitting it to the first flow table, this action is valid only in the action set of an outer packaged message; and IN_PORT, which sends the packet to the ingress port. In other embodiments, there may also be switched defined virtual ports.

[0046] Arquitetura PC 3GA Figura 8 é um diagrama de uma modalidade de uma rede de núcleo de pacote 3G (PC 3G). Uma rede de PC 3G consiste em três domínios de interação: uma rede de núcleo (CN) 801, uma rede de acesso via rádio (RAN) 803 e um Equipamento de Usuário (UE) 805. O equipamento de usuário 805 pode ser um dispositivo computacional, um telefone celular e dispositivos similares. As redes de acesso via rádio 803 podem ser uma série ou uma combinação de redes incluindo um sistema de telecomunicações móvel universal (UMTS) 841 ou sistemas globais para redes de comunicações móveis (GSM) 843. Essas redes podem fazer interface com a rede de núcleo 801 através de uma central de rede via rádio (RNC) 831 ou uma unidade de controle de pacote (PCU) 833.[0046] 3GA PC Architecture Figure 8 is a diagram of an embodiment of a 3G packet core network (3G PC). A 3G PC network consists of three interaction domains: a core network (CN) 801, a radio access network (RAN) 803, and a User Equipment (UE) 805. User equipment 805 can be a device computing, a cell phone and similar devices. Radio access networks 803 may be a series or combination of networks including a Universal Mobile Telecommunications System (UMTS) 841 or Global Systems for Mobile Communications Networks (GSM) 843. These networks may interface with the core network. 801 via a radio network switch (RNC) 831 or a packet control unit (PCU) 833.

[0047] A função principal da rede de núcleo 801 consiste em proporcionar comutação, roteamento e trânsito ao tráfego de usuário a partir do equipamento de usuário 805. A rede de núcleo 801 também contém bancos de dados e funções de gerenciamento de rede. Esta é a rede de núcleo de pacote comum para GSM/GPRS, acesso múltiplo por divisão de código em banda larga (WCDMA)/ acesso de pacote em alta velocidade (HSPA) e redes móveis não-3GPP. A rede de núcleo 801 é usada para transmitir pacotes de Protocolo de Internet (IP). A rede de núcleo 801 faz interface com a Internet 851 e outras redes 853 através do GGSN 819.[0047] The core network 801's main function is to provide switching, routing, and transit for user traffic from user equipment 805. The core network 801 also contains databases and network management functions. This is the common packet core network for GSM/GPRS, broadband code division multiple access (WCDMA)/high speed packet access (HSPA) and non-3GPP mobile networks. The 801 core network is used to transmit Internet Protocol (IP) packets. The core network 801 interfaces with the Internet 851 and other networks 853 through the GGSN 819.

[0048] A rede de núcleo 801 é dividida em domínios comutados por circuito e comutados por pacote. Os elementos comutados por circuito incluem uma central de comutação de serviços móveis (MSC) 811, um registro de localização de visitante (VLR) 813 e um Porta de acesso MSC 815. Os elementos comutados por pacote são SGSNs 817 e GGSN 819. Outros elementos de rede, como EIR 821, HLR 823, VLR 813 e AUC 825 são compartilhados por ambos os domínios.[0048] The 801 core network is divided into circuit-switched and packet-switched domains. Circuit-switched elements include a Mobile Services Switching Center (MSC) 811, a Visitor Location Register (VLR) 813, and an Access Port MSC 815. Packet-switched elements are SGSNs 817 and GGSN 819. Other elements networks such as EIR 821, HLR 823, VLR 813 and AUC 825 are shared by both domains.

[0049] A arquitetura da rede de núcleo 801 pode se alterar quando novos serviços e recursos forem introduzidos. Em outras modalidades, pode-se usar uma série de bancos de dados de portabilidade (NPDB) para habilitar um usuário a trocar redes enquanto mantém um número de telefone antigo. Um registro de localização de porta de acesso (GLR) pode ser usado para otimizar a manipulação de assinante entre os limites de rede.[0049] The architecture of the 801 core network may change when new services and features are introduced. In other embodiments, a series of portability databases (NPDB) can be used to enable a user to switch networks while maintaining an old telephone number. A gateway location record (GLR) can be used to optimize subscriber handling across network boundaries.

[0050] As funções primárias da rede de núcleo 801 em relação à rede sem fio móvel são o gerenciamento de mobilidade e o QoS. Essas funções não são tipicamente proporcionadas em uma rede de banda larga fixa, mas são cruciais para redes sem fio. O gerenciamento de mobilidade é necessário para garantir uma conectividade de rede de pacote quando um terminal sem fio se mover de uma estação de base para outra. QoS é necessário porque, diferentemente das redes fixas, o link sem fio é severamente constrito em quanta largura de banda este pode proporcionar ao terminal, logo, a largura de banda precisa ser gerenciada mais rigidamente do que em redes fixas a fim de proporcionar ao usuário uma qualidade aceitável de serviço.[0050] The primary functions of the 801 core network in relation to the mobile wireless network are mobility management and QoS. These functions are not typically provided on a fixed broadband network, but are crucial for wireless networks. Mobility management is necessary to ensure packet network connectivity when a wireless terminal moves from one base station to another. QoS is necessary because, unlike fixed networks, the wireless link is severely constrained in how much bandwidth it can provide to the endpoint, so the bandwidth needs to be managed more tightly than in fixed networks in order to provide the user with an acceptable quality of service.

[0051] A sinalização para implementar as funções de gerenciamento de mobilidade e QoS é proporcionada pelo Protocolo de Tunelamento GPRS (GTP). GTP tem dois componentes: GTP-C - um protocolo de plano de controle que suporta o estabelecimento de túneis para gerenciamento de mobilidade e portadores para gerenciamento de QoS que correspondem o canal de transporte de retorno com fio canal de transporte de retorno e o núcleo de pacote QoS a um link de rádio QoS; e GTP-U - um protocolo de plano de dados usado para implementar túneis entre os elementos de rede que atuam como roteadores. Existem duas versões de protocolo GTP-C, isto é, versão GTP 1 (GTPv1-C e GTPv1-U) e versão GTP 2-C (projetada para LTE). GTPv1 é primariamente utilizada em conjunto com o sistema baseado em PC 3G sistema.[0051] The signaling to implement QoS and mobility management functions is provided by the GPRS Tunneling Protocol (GTP). GTP has two components: GTP-C - a control plane protocol that supports the establishment of tunnels for mobility management and bearers for QoS management that correspond to the wired return transport channel, the return transport channel and the QoS packet to a QoS radio link; and GTP-U - a data plane protocol used to implement tunnels between network elements that act as routers. There are two versions of GTP-C protocol i.e. GTP version 1 (GTPv1-C and GTPv1-U) and GTP version 2-C (designed for LTE). GTPv1 is primarily used in conjunction with the PC-based 3G system.

[0052] Os Serviços de Rede são considerados como sendo fim-a-fim , isto significa de um Equipamento de Terminal (TE) para outro TE. Um Serviço Fim-a-Fim pode ter uma determinada Qualidade de Serviço (QoS) que é proporcionada para o usuário de um serviço de rede. É o usuário que decide se ele está satisfeito com a QoS fornecida ou não. Para realizar um determinado Serviço QoS de rede com características e funcionalidade claramente definidos, este deve ser ajustado a partir da origem até o destino de um serviço.Além dos parâmetros QoS, cada portador tem um túnel GTP associado. Um túnel GTP consiste em um endereço de IP dos nós de ponto final de túnel (estação de base de rádio, SGSN, e GGSN), uma porta UDP de origem e destino, e um Identificador de Ponto final de Túnel (TEID). Os túneis GTP são unidirecionais, logo, cada portador está associado a dois TEIDs, urna para o túnel de enlace ascendente e um para o túnel de enlace descendente. Um conjunto de túneis GTP (enlace ascendente e enlace descendente) se estende entre a estação de base de rádio e o SGSN e um conjunto se estende entre o SGSN e o GGSN. O número de porta de destino UDP para GTP-U é 2152 enquanto o número de porta de destino para GTP-C é 2123. O número de porta de origem é dinamicamente alocado pelo nó de envio. A Figura 9 é um diagrama de uma modalidade dos campos de cabeçalho no cabeçalho de encapsulação GTP-U primário.[0052] Network Services are considered to be end-to-end, this means from one Terminal Equipment (TE) to another TE. An End-to-End Service may have a certain Quality of Service (QoS) that is provided to the user of a network service. It is the user who decides if he is satisfied with the provided QoS or not. To perform a specific QoS Network Service with clearly defined characteristics and functionality, it must be adjusted from the source to the destination of a service. In addition to the QoS parameters, each bearer has an associated GTP tunnel. A GTP tunnel consists of an IP address of the tunnel endpoint nodes (radio base station, SGSN, and GGSN), a source and destination UDP port, and a Tunnel Endpoint Identifier (TEID). GTP tunnels are unidirectional, so each bearer is associated with two TEIDs, one for the uplink tunnel and one for the downlink tunnel. A set of GTP (uplink and downlink) tunnels span between the radio base station and the SGSN and one set spans between the SGSN and the GGSN. The UDP destination port number for GTP-U is 2152 while the destination port number for GTP-C is 2123. The source port number is dynamically allocated by the sending node. Figure 9 is a diagram of one embodiment of header fields in the primary GTP-U encapsulation header.

[0053] Computação em NuvemAs centrais de dados oferecem recursos de computação, armazenamento, e comunicação de rede aos consumidores externos. Os serviços oferecidos podem consistir em processamento elástico de imediato, armazenamento que para a maioria dos propósitos práticos se limita somente pela capacidade de o consumidor pagar, e largura de banda de rede na Internet. Este conjunto de serviços proporcionados por uma central de dados é referido no presente documento computação em nuvem.[0053] Cloud ComputingData centers offer computing, storage, and network communication resources to external consumers. The services offered may consist of out-of-the-box elastic processing, storage that for most practical purposes is limited only by the consumer's ability to pay, and Internet network bandwidth. This set of services provided by a data center is referred to in this document cloud computing.

[0054] A tecnologia de virtualização de servidor permite que um pool de servidores seja gerenciado como essencialmente um recurso de computação grande. Uma camada de software denominada como um hipervisor se encontra entre o sistema operacional e o hardware. O hipervisor agenda a execução de máquinas virtuais (VMs). Uma VM é uma imagem de sistema operacional embalada com alguns aplicativos. O hipervisor permite que uma VM seja suspensa e movida entre os servidores para um equilíbrio de carga. O equilíbrio e monitoramento de carga de execução de VM para capturar panes proporciona o mesmo tipo de tolerância a falhas e serviços de escalabilidade para aplicações empresariais que são alcançadas em custos muito maiores com soluções especializadas. Um sistema de gerenciador de nuvem inspeciona a execução de VMs, o agendamento de execução para satisfazer a demanda das VMs e a otimização da utilização de servidor e a minimização de consumo de energia. O gerenciador de nuvem ou sistema operacional em nuvem é um programa de software que pode agendar execução para permitir uma atualização em serviço de hardware e software sem impactar no provisionamento de serviços em andamento ás VMs e suas aplicações no sistema computacional em nuvem.[0054] Server virtualization technology allows a pool of servers to be managed as essentially one large computing resource. A layer of software called a hypervisor sits between the operating system and the hardware. The hypervisor schedules virtual machines (VMs) to run. A VM is an operating system image packaged with some applications. The hypervisor allows a VM to be suspended and moved between servers for load balancing. VM execution load balancing and monitoring to capture crashes provides the same kind of fault tolerance and scalability services for enterprise applications that are achieved at much higher costs with specialized solutions. A cloud manager system inspects running VMs, scheduling run to satisfy VM demand, and optimizing server utilization and minimizing power consumption. The cloud manager or cloud operating system is a software program that can schedule execution to allow an in-service upgrade of hardware and software without impacting the ongoing service provisioning to VMs and their applications on the cloud computing system.

[0055] Para suportar o movimento arbitrário de VMs entre máquinas, a rede dentro da central de dados também deve ser virtualizada. Os sistemas computacionais em nuvem podem virtualizar a rede incorporando-se um comutador virtual no hipervisor. O comutador virtual proporciona portas de rede virtual às VMs que executam sob o controle do hipervisor. O software de comutador virtual também permite que os recursos de rede sejam virtualizados de maneira similar a como os recursos de servidor são virtualizados pelo hipervisor. O hipervisor e o comutador virtual podem, assim, cooperar para permitir que as VMs sejam movidas entre os servidores. Quando o hipervisor mover uma VM, ele se comunica com o comutador virtual sobre a nova localização, e o comutador virtual garante que as tabelas de roteamento de rede para os endereços de VM (endereço MAC L2, potencialmente também o endereço de IP) sejam atualizadas, logo, os pacotes são roteados à nova localização.[0055] To support arbitrary movement of VMs between machines, the network within the data center must also be virtualized. Cloud computing systems can virtualize the network by embedding a virtual switch in the hypervisor. The virtual switch provides virtual network ports to VMs running under the control of the hypervisor. Virtual switch software also allows network resources to be virtualized similar to how server resources are virtualized by the hypervisor. The hypervisor and virtual switch can thus cooperate to allow VMs to be moved between servers. When the hypervisor moves a VM, it communicates with the virtual switch about the new location, and the virtual switch ensures that the network routing tables for the VM addresses (L2 MAC address, potentially also the IP address) are updated , so the packages are routed to the new location.

[0056] Um sistema computacional em nuvem pode ser composto por qualquer número de dispositivos computacionais tendo qualquer faixa de capacidades (por exemplo, energia de processamento ou capacidade de armazenamento). O sistema computacional em nuvem pode ser um sistema privado ou público. Os dispositivos computacionais podem estar em comunicação entre si através de qualquer sistema ou rede de comunicação. Um sistema computacional em nuvem pode suportar uma única nuvem ou serviço ou qualquer número de nuvens ou serviços discretos. Os serviços, aplicativos ou programas similares podem ser virtualizados ou executados como um código padrão. Em uma modalidade, os sistemas computacionais em nuvem podem suportar aplicativos de serviços da web. Os aplicativos de serviços da web consistem em um front-end de equilíbrio de carga que despacha solicitações a um pool de servidores da Web. As solicitações se originam a partir dos aplicativos em máquinas remotas na Internet e, portanto, os requerimentos de segurança e privacidade são muito mais livres do que para aplicativos em uma rede coorporativa privada.[0056] A cloud computing system can be composed of any number of computing devices having any range of capabilities (eg, processing power or storage capacity). The cloud computing system can be a private or public system. Computing devices can be in communication with each other through any communication system or network. A cloud computing system can support a single cloud or service or any number of discrete clouds or services. Services, applications or similar programs may be virtualized or run as standard code. In one embodiment, cloud computing systems can support web service applications. Web services applications consist of a load balancing front end that dispatches requests to a pool of web servers. Requests originate from applications on remote machines on the Internet, and therefore security and privacy requirements are much looser than for applications on a private corporate network.

[0057] Os sistemas computacionais em nuvem também podem suportar multitenancy seguro, em que o provedor de sistema computacional em nuvem oferece conexões tipo rede privada virtual (VPN) entre as redes de escritório distribuídas de cliente fora da nuvem e uma VPN dentro do sistema computacional em nuvem. Isto permite que os aplicativos do cliente dentro do sistema computacional em nuvem operem em um ambiente de rede que se assemelhe a um WAN coorporativo. Para centrais de dados privadas, em que os serviços são somente oferecidos a consumidores dentro da corporação proprietária da central de dados, os requerimentos de segurança e privacidade para multitenancy são relaxados. Porém, para centrais de dados públicas, o operador de nuvem deve garantir que o tráfego de múltiplos locatários seja isolado e não haja possibilidade de tráfego de um cliente para alcançar outra rede cliente.[0057] Cloud computing systems can also support secure multitenancy, where the cloud computing system provider provides virtual private network (VPN)-like connections between the customer's distributed office networks outside the cloud and a VPN inside the computing system. in cloud. This allows customer applications within the cloud computing system to operate in a network environment that resembles an enterprise WAN. For private data centers, where services are only offered to consumers within the corporation that owns the data center, the security and privacy requirements for multitenancy are relaxed. However, for public data centers, the cloud operator must ensure that traffic from multiple tenants is isolated and there is no possibility for traffic from one client to reach another client network.

[0058] A Figura 10 é um diagrama de uma modalidade de um sistema computacional em nuvem que prestar serviço a um conjunto de clientes. Um 'conjunto,' conforme o uso em questão, se refere a qualquer número inteiro positivo de itens. Na modalidade, mostrada na Figura 10, duas nuvens privadas virtuais (VPCs) são configuradas para dois consumidores empresariais externos diferentes. Uma VPC consiste em uma coleção de VMs, armazenamento, e recursos de rede que proporciona um multitenancy seguro às empresas que alugam o espaço na nuvem. Os consumidores empresariais se conectam nas VPCs através das VPNs pela Internet rodando em uma rede de operador público.[0058] Figure 10 is a diagram of a modality of a cloud computing system that provides service to a set of customers. A 'set,' as per the usage in question, refers to any positive integer number of items. In the embodiment, shown in Figure 10, two virtual private clouds (VPCs) are configured for two different external enterprise consumers. A VPC consists of a collection of VMs, storage, and networking resources that provide secure multitenancy to companies that rent space in the cloud. Business consumers connect to VPCs through VPNs over the Internet running on a public carrier network.

[0059] A Figura 11 é um diagrama de outra modalidade de um sistema computacional em nuvem que mostra o processo de adicionar um novo caso de serviço a uma VPC de cliente. Neste caso, a VPN em nuvem é implementada usando LANs Virtuais de camada MAC (VLANs). A VM é criada em um servidor gerenciado por hipervisor na VPC para a empresa que solicita o novo caso de serviço (etapa 1). O VLAN de comutador virtual é configurado para incluir a VM nova na VPN em nuvem empresarial, estabelecendo, assim, uma conectividade de serviço dentro da nuvem (etapa 2). O roteador de borda de consumidor virtual (CE) é atualizado para o novo serviço (etapa 3). O roteador de borda de provedor na rede de operador onde a VPN empresarial é rodada é atualizado com o novo serviço (etapa 4). Implementação de PC 3G em um Sistema Computacional em Nuvem[0059] Figure 11 is a diagram of another embodiment of a cloud computing system that shows the process of adding a new service case to a customer VPC. In this case, cloud VPN is implemented using MAC layer Virtual LANs (VLANs). The VM is created on a hypervisor-managed server in the VPC for the company requesting the new service case (step 1). The virtual switch VLAN is configured to include the new VM in the enterprise cloud VPN, thereby establishing service connectivity within the cloud (step 2). The virtual consumer (CE) edge router is upgraded to the new service (step 3). The provider edge router on the operator network where the enterprise VPN runs is updated with the new service (step 4). Implementation of 3G PC in a Cloud Computing System

[0060] A Figura 12 é um diagrama de uma modalidade do EPC implementado no sistema computacional em nuvem. As entidades de plano de controle de PC 3G (AUC, HLR, HSS) 1207 e as partes de plano de controle dos nós de suporte (SGSN, GGSN) 1207, isto é, as partes que manuseiam a sinalização de GTP, são implementadas no sistema computacional em nuvem 1201 como parte do controlador OpenFlow 1205. As entidades de plano de controle 1207 e o controlador OpenFlow 1205 são embalados como VMs. A interface de programação de aplicativos (API) entre o controlador OpenFlow 1205 e as entidades de plano de controle 1207 pode ser uma interface chamada de procedimento remoto (RPC) ou uma interface similar. Esta tecnologia de implementação é favorável ao gerencialmente escalonável das entidades de plano de controle dentro da nuvem, visto que permite a execução das entidades de plano de controle 1207 e que o controlador 1205 seja gerenciado separadamente de acordo com a demanda. O gerenciador de nuvem 1203 pode ser uma VM ou um aplicativo executado dentro do sistema computacional em nuvem 1201.[0060] Figure 12 is a diagram of an EPC modality implemented in the cloud computing system. The 3G PC control plane entities (AUC, HLR, HSS) 1207 and the support node control plane parts (SGSN, GGSN) 1207, that is, the parts that handle GTP signaling, are implemented in the 1201 cloud computing system as part of the 1205 OpenFlow controller. The 1207 control plane entities and the 1205 OpenFlow controller are packaged as VMs. The application programming interface (API) between the OpenFlow 1205 controller and the 1207 control plane entities can be a remote procedure call (RPC) interface or a similar interface. This implementation technology is favorable for the managerially scalable control plane entities within the cloud, as it allows the execution of the control plane entities 1207 and the controller 1205 to be managed separately according to demand. The 1203 cloud manager can be a VM or an application running inside the 1201 cloud computing system.

[0061] O gerenciador de nuvem 1203 monitora a utilização da unidade de processador central (CPU) das entidades de plano de controle de PC 3G 1207 e o tráfego de plano de controle entre as entidades de plano de controle de PC 3G 1207 dentro da nuvem. Este também monitora o tráfego de plano de controle entre os dispositivos de usuário final (UEs) 1225 e os NodeBs 1217, que não tenham entidades de plano de controle no sistema computacional em nuvem 1201, e as entidades de plano de controle de PC 3G 1207. Se as entidades de plano de controle de PC 3G 1207 começar a exibir sinais de sobrecarga , tal como a utilização de muito tempo de CPU, ou o enfileiramento de muito tráfego a ser processado, a entidade de plano de controle sobrecarregada 1207 solicita que o gerenciador de nuvem 1203 inicie uma nova VM para manusear a carga . Adicionalmente, as próprias entidades de plano de controle de PC 3G 1207 podem lançar notificações ao gerenciador de nuvem 1203 se detectarem internamente que estão começando a experimentar uma sobrecarga.[0061] Cloud manager 1203 monitors central processor unit (CPU) utilization of 3G 1207 PC control plane entities and control plane traffic between 3G 1207 PC control plane entities within the cloud . It also monitors control plane traffic between end user devices (UEs) 1225 and NodeBs 1217, which do not have control plane entities on cloud computing system 1201, and 3G PC control plane entities 1207 If the 1207 PC 3G control plane entities begin to exhibit signs of overload, such as using too much CPU time, or queuing up too much traffic to process, the overloaded control plane entity 1207 requests that the cloud manager 1203 start a new VM to handle the load. Additionally, the 1207 3G PC control plane entities themselves can send notifications to the 1203 cloud manager if they internally detect that they are starting to experience overload.

[0062] O gerenciador de nuvem 1203 também proporciona confiabilidade e failover reiniciando-se uma VM para uma entidade de plano de controle particular 1207 ou função se qualquer uma das entidades de plano de controle de PC 3G 1207 entrar em pane. Durante este processo de reinicialização, o gerenciador de nuvem pode coletar dados de diagnósticos, salvar quaisquer arquivos de núcleo da entidade de plano de controle de PC 3G falha, e informar aos administradores do sistema que ocorreu uma falha. As entidades de plano de controle 1207 mantêm a mesma interface de protocolo entre elas conforme na arquitetura de PC 3G 3GPP mostrada na Figura 8.[0062] The 1203 Cloud Manager also provides reliability and failover by restarting a VM for a particular 1207 control plane entity or function if any of the 1207 3G PC control plane entities crash. During this restart process, the cloud manager can collect diagnostics data, save any core files of the failed 3G PC control plane entity, and inform system administrators that a failure has occurred. Control plane entities 1207 maintain the same protocol interface between them as per the 3G 3GPP PC architecture shown in Figure 8.

[0063] O plano de controle OpenFlow 12321, mostrado como uma linha pontilhada, gerencia a configuração de roteamento e comutação na rede. O plano de controle OpenFlow 1221 conecta o sistema computacional em nuvem 1203 ao SGSN-Ds 1215 (isto é, o plano de dados do SGSN), os comutadores OpenFlow padrão 1213, e o GGSN-D 1211 (isto é, o plano de dados do GGSN). A implementação física do plano de controle OpenFlow 1221 pode ser corno uma rede física completamente separada, ou pode ser uma rede virtual rodando na mesma rede física que o plano de dados, implementado com uma VLAN priorizada ou com uma trajetória comutada de rótulo MPLS ou mesmo com uma encapsulação de roteamento genérica (GRE) ou outro túnel de IR O plano de controle OpenFlow 1221 pode, em princípio, usar as mesmas trajetórias físicas de plano de controle que o GTP-C e outra sinalização de rede móvel. O SGSN-Ds 1215 e o GGSN-Ds 1211 atuam como porta de acessos estendidos de GTP OpenFlow , sendo que os pacotes de encapsulação e desencapsulação usam as extensões de comutador GTP OpenFlow descritas mais adiante no presente documento.Os NodeBs 1217 não têm entidades de plano de controle na nuvem porque a sinalização de rede de acesso via rádio (RAN) requerida entre o PC 3G e o NodeB inclui parâmetros de rádio, e não apenas parâmetros de roteamento de IP. Portanto, não existe uma conexão de plano de controle OpenFlow 1221 entre o controlador OpenFlow 1205 no sistema computacional em nuvem 1201 e os NodeBs 1217. No entanto, os NodeBs 1217 podem agir como porta de acessos estendidos de GTP OpenFlow implementando-se um controle local à conexão de plano de dados usando OpenFlow. Isto permite que o lado de comutação de pacote dos NodeBs 1217 utilize as mesmas extensões de comutação GTP OpenFlow como os porta de acessos de pacote.[0063] The OpenFlow 12321 control plane, shown as a dotted line, manages the routing and switching configuration on the network. The OpenFlow 1221 control plane connects the 1203 cloud computing system to the SGSN-Ds 1215 (that is, the SGSN data plane), the standard OpenFlow switches 1213, and the GGSN-D 1211 (that is, the data plane of the GGSN). The physical implementation of the OpenFlow 1221 control plane can be as a completely separate physical network, or it can be a virtual network running on the same physical network as the data plane, implemented with a prioritized VLAN or with a switched path of MPLS label or even with a generic routing encapsulation (GRE) or other IR tunnel The OpenFlow 1221 control plane can, in principle, use the same physical control plane paths as GTP-C and other mobile network signaling. The SGSN-Ds 1215 and GGSN-Ds 1211 act as the GTP OpenFlow extended access port, with the encapsulation and de-encapsulation packets using the GTP OpenFlow switch extensions described later in this document. cloud control plane because the required radio access network (RAN) signaling between the 3G PC and NodeB includes radio parameters, not just IP routing parameters. Therefore, there is no OpenFlow 1221 control plane connection between the OpenFlow 1205 controller on the 1201 cloud computing system and the 1217 NodeBs. However, the 1217 NodeBs can act as an extended GTP OpenFlow gateway by implementing local control to the data plane connection using OpenFlow. This allows the packet-switched side of the NodeBs 1217 to use the same GTP OpenFlow switching extensions as the packet gateways.

[0064] A operação do sistema computacional em nuvem de PC 3G funciona da seguinte forma . UE 1225, NodeB 1217, SGSN 1207 e o sinal GGSN 1207 ao HLR, HSS, AUC, SMS-GMSC 1207 usando os protocolos de PC 3G padrão, para estabelecer , modificar, e deletar túneis GTP. Esta sinalização dispara chamadas de procedimento com o controlador OpenFlow para modificar o roteamento no PC 3G conforme solicitado. O controlador OpenFlow configura os comutadores OpenFlow padrão, o SGSN Openflow 1215, e o GGSN 1211 com regras e ações de fluxo para habilitar o roteamento solicitado pelas entidades de plano de controle. Os detalhes desta configuração são descritos em maiores detalhes mais adiante.[0064] The operation of the 3G PC cloud computing system works as follows. UE 1225, NodeB 1217, SGSN 1207 and GGSN 1207 signal to HLR, HSS, AUC, SMS-GMSC 1207 using standard 3G PC protocols, to establish, modify, and delete GTP tunnels. This flag triggers procedure calls with the OpenFlow controller to modify the routing on the 3G PC as requested. The OpenFlow controller configures the standard OpenFlow switches, the SGSN Openflow 1215, and the GGSN 1211 with flow rules and actions to enable routing requested by control plane entities. The details of this configuration are described in more detail later.

[0065] A Figura 13 é um fluxograma de uma modalidade da operação básica do PC 3G. Em uma modalidade, o processo começa com a inicialização dos módulos de plano de controle do PC 3G dentro do controlador OpenFlow no sistema computacional em nuvem (Bloco 13401). Cada módulo de plano de controle na pluralidade de módulos de plano de controle é inicializado como uma VM separada pelo gerenciador de nuvem. Então, o gerenciador de nuvem monitora a utilização de recursos de cada módulo de plano de controle, bem como a quantidade e o tipo de tráfego de plano de controle manuseado por cada módulo de plano de controle (Bloco 1303). O gerenciador de nuvem pode monitorar diretamente estes dados, receber relatórios a partir dos módulos de plano de controle ou qualquer combinação destes.Se o gerenciador de nuvem detectar um nivel limiar de utilização de recursos ou carga de tráfego para qualquer um entre a pluralidade de módulos de plano de controle sendo monitorados (Bloco 1205), o gerenciador de nuvem pode adotar as etapas para responder automaticamente este cenário. O gerenciador de nuvem pode inicializar um novo módulo de plano de controle ou um caso de tal módulo de plano de controle como uma máquina virtual separada (Bloco 1207). Este módulo de plano de controle novo ou caso pode, então, compartilhar a carga de módulos de plano de controle existentes ou casos do mesmo tipo, aliviando, assim, a carga sobre esses módulos dinamicamente.[0065] Figure 13 is a flowchart of a basic 3G PC operation mode. In one embodiment, the process begins with initializing the 3G PC control plane modules within the OpenFlow controller on the cloud computing system (Block 13401). Each control plane module in the plurality of control plane modules is initialized as a separate VM by the cloud manager. The cloud manager then monitors the resource utilization of each control plane module, as well as the amount and type of control plane traffic handled by each control plane module (Block 1303). The cloud manager can directly monitor this data, receive reports from the control plane modules or any combination thereof. If the cloud manager detects a threshold level of resource utilization or traffic load for any of the plurality of modules of control planes being monitored (Block 1205), the cloud manager can take steps to automatically respond to this scenario. The cloud manager can initialize a new control plane module or a case of such a control plane module as a separate virtual machine (Block 1207). This new control plane module or case can then share the load of existing control plane modules or cases of the same type, thus alleviating the load on those modules dynamically.

[0066] De modo similar, o gerenciador de nuvem pode detectar falhas ou a subutilização de um entre a pluralidade de módulos de plano de controle (Bloco 1209). O gerenciador de nuvem pode, então, reiniciar um módulo de plano de controle falho ou encerrar um módulo de plano de controle subutilizado (Bloco 1211). Reiniciar o módulo de plano de controle garante um nível de compartilhamento de carga para um pool de módulos de plano de controle. Desativar um módulo de plano de controle libera os recursos e reduz o overhead criado pelo módulo de plano de controle. O gerenciador de nuvem pode realizar essas funções por VPCs e operadoras móveis usando os recursos de sistema computacional em nuvem, maximizando, assim, o uso de recursos disponíveis e reduzindo os custos de operação enquanto mantém estrita a separação de dados e tráfego entre as operadoras móveis.[0066] Similarly, the cloud manager can detect failures or underutilization of one among the plurality of control plane modules (Block 1209). The cloud manager can then restart a failed control plane module or terminate an underutilized control plane module (Block 1211). Restarting the control plane module guarantees a level of load sharing for a pool of control plane modules. Disabling a control plane module frees up resources and reduces the overhead created by the control plane module. The cloud manager can perform these functions across VPCs and mobile operators using the cloud computing system resources, thus maximizing the use of available resources and reducing operating costs while maintaining strict data and traffic separation between mobile operators. .

[0067] A Figura 14 é um diagrama de uma modalidade de como o PC 3G no sistema computacional em nuvem habilita uma companhia de serviços gerenciados a gerenciar múltiplas redes de operadora fora de uma única central de dados . A instalação de computação em nuvem de serviços gerenciados 1401 roda casos separados do plano de controle de PC 3G para cada operadora móvel com a qual a companhia de serviços gerenciados tem um contrato. Cada caso de PC 3G se encontra em um VPC 1403A,B que isola o tráfego de operadora móvel de outros locatários na instalação de computação em nuvem 1401 da central de dados. O caso de plano de controle de PC 3G para uma operadora móvel é conectado à malha de comutação de plano de dados OpenFlow PC 3G geograficamente distribuída da operadora móvel 1407A,B e às estações de base da operadora móvel através de um roteador de borda virtual 1409A,B. O roteador de borda virtual 1409A,B roteia um tráfego a partir da central de dados para e a partir da malha de comutação de plano de dados de PC 3G da operadora móvel apropriada 1407A,B. Em alguns casos, as operadoras móveis pode até mesmo compartilhar estações de base e malhas de comutação de PC 3G, embora a modalidade exemplificadora na Figura 14 mostre um caso onde as duas operadoras móveis têm malhas de comutação separadas. Troca de Tráfego de PC 3G e Roteamento Diferencial em um Sistema Computacional em Nuvem[0067] Figure 14 is a diagram of one embodiment of how 3G PC in cloud computing system enables a managed services company to manage multiple carrier networks outside a single data center. The 1401 managed services cloud computing facility runs separate 3G PC control plane cases for each mobile operator with which the managed services company has a contract. Each 3G PC case resides in a VPC 1403A,B that isolates mobile operator traffic from other tenants in the data center's cloud computing facility 1401. The 3G PC control plane case for a mobile operator is connected to the geographically distributed OpenFlow PC 3G data plane switching fabric of the mobile operator 1407A,B and the base stations of the mobile operator through a virtual edge router 1409A ,B. The virtual edge router 1409A,B routes traffic from the data center to and from the 3G PC data plane switching fabric of the appropriate mobile operator 1407A,B. In some cases, mobile operators may even share base stations and 3G PC switching fabrics, although the example modality in Figure 14 shows a case where the two mobile operators have separate switching fabrics. 3G PC Traffic Exchange and Differential Routing in a Cloud Computing System

[0068] A Figura 15 é um diagrama de uma modalidade de um processo para a troca de tráfego de PC 3G roteamento diferencial para um tratamento de serviço especializado. A sinalização OpenFlow, indicada pelas linhas contínuas e pelas setas 1501, configuram as regras e ações de fluxo nos comutadores e porta de acessos dentro do PC 3G para um roteamento diferencial. Essas regras de fluxo direcionam fluxos GTP a localizações particulares. Neste exemplo, a operadora neste caso troca de tráfego no seu PC 3G com duas outras operadoras fixas . O roteamento através de cada ponto de troca de tráfego é manuseado pelos respectivos GGSN1 e GGSN2 1503A, B. As linhas tracejadas e as setas 1505 mostram um tráfego a partir de uma UE 1507 que precise ser roteada a outra operadora de troca de tráfego. As regras de ações de fluxo para distinguir qual ponto de troca de tráfego o tráfego deve atravessar são instaladas nos comutadores OpenFlow 1509 e porta de acessos 1503A, B pelo controlador OpenFlow 1511. O controlador OpenFlow 1511 calcula essas regras e ações de fluxo com base nas tabelas de roteamento que mesmo mantém para tráfego externo, e a origem e o destino dos pacotes, bem como através de qualquer tratamento de encaminhamento especializado necessário para os pacotes marcos DSCP.[0068] Figure 15 is a diagram of an embodiment of a process for exchanging 3G PC traffic differential routing for a specialized service handling. OpenFlow signaling, indicated by solid lines and 1501 arrows, configure flow rules and actions on switches and gateways within the 3G PC for differential routing. These flow rules direct GTP flows to particular locations. In this example, the operator in this case exchanges traffic on its 3G PC with two other fixed operators. Routing through each peering point is handled by the respective GGSN1 and GGSN2 1503A, B. The dashed lines and arrows 1505 show traffic from a UE 1507 that needs to be routed to another peering operator. Flow action rules to distinguish which traffic exchange point traffic must traverse are installed on OpenFlow 1509 switches and gateway 1503A, B by the OpenFlow 1511 controller. The OpenFlow 1511 controller calculates these flow rules and actions based on the routing tables it maintains for external traffic, and the origin and destination of packets, as well as through any specialized forwarding handling required for DSCP milestone packets.

[0069] As linhas tracejadas longas e pontilhadas e as etapas 1515 mostram um exemplo de uma UE 1517 que está obtendo conteúdos a partir de uma fonte externa. Os conteúdos não são originalmente formulados para a tela da UE 1517, logo, o controlador OpenFlow 1511 instalou regras e ações de fluxo no GGSN1 1503B, SGSN 1519 e nos comutadores OpenFlow 1509 para rotear o fluxo através de um aplicativo de transcodificação 1521 na instalação de computação em nuvem. O aplicativo de transcodificação 1521 reformata os conteúdos de modo que de adeguem à tela da UE 1517. Um A solicita o tratamento especializado no momento em que a UE configurar sua sessão com a fonte de conteúdos externos através do Subsistema de Multimídia de IP (IMS) ou outro protocolo de sinalização. Roteamento TEID GTP[0069] The long dotted dashed lines and steps 1515 show an example of a UE 1517 getting content from an external source. The contents are not originally formulated for the UE 1517 screen, so the OpenFlow 1511 controller installed rules and flow actions on the GGSN1 1503B, SGSN 1519, and OpenFlow 1509 switches to route the flow through a 1521 transcoding application on installation. cloud computing. The transcoding application 1521 reformats the content so that it fits the screen of the UE 1517. An A requests the specialized treatment when the UE configures its session with the external content source through the IP Multimedia Subsystem (IMS) or other signaling protocol. TEID GTP Routing

[0070] Em uma modalidade, OpenFlow é modificado para proporcionar regras para Roteamento TEID GTP. A Figura 16 é um diagrama de uma modalidade da modificação de tabela de fluxo OpenFlow para o roteamento TEID GTP. Um comutador OpenFlow que suporte roteamento TEID corresponde à coleção de 2 byte (16 bit) de campos de cabeçalho e TEID GTP de 4 byte (32 bit), além de outros campos de cabeçalho OpenFlow , em pelo menos uma tabela de fluxo (por exemplo, a primeira tabela de fluxo). O flag TEID GTP pode ser um curinga (isto é, as correspondências são "não se importa"). Em uma modalidade, os protocolos de PC 3G não atribuem nenhum significado a TEIDs diferente como um identificador de ponto final para túneis, como portas em protocolos de transporte UDP/TCP padrão. Em outras modalidades, os TEIDs podem ter um significado ou semântica correlacionados. O campo de flags de cabeçalho GTP também pode ser um curinga, este pode ser parcialmente correspondido combinando-se as seguintes máscaras de bit: OxFFOO - campo Match the Message Type; OxeO - campo Match the Version; Ox10 - campo Match the PT; 0x04 - campo Match the E; 0x02 - campo Match the S; e Ox01 - campo Match the PN.[0070] In one embodiment, OpenFlow is modified to provide rules for TEID GTP Routing. Figure 16 is a diagram of an OpenFlow flow table modification mode for TEID GTP routing. An OpenFlow switch that supports TEID routing matches the 2-byte (16-bit) collection of 4-byte (32-bit) GTP header and TEID fields, plus other OpenFlow header fields, in at least one flow table (e.g. , the first flow table). The TEID GTP flag can be a wildcard (ie matches are "don't care"). In one embodiment, 3G PC protocols do not assign any meaning to TEIDs other than an endpoint identifier for tunnels, such as ports in standard UDP/TCP transport protocols. In other embodiments, TEIDs may have a correlated meaning or semantics. The GTP header flags field can also be a wildcard, this can be partially matched by matching the following bit masks: OxFFOO - Match the Message Type field; OxeO - Match the Version field; Ox10 - Match the PT field; 0x04 - Match the E field; 0x02 - Match the S field; and Ox01 - Match the PN field.

[0071] Em uma modalidade, OpenFlow pode ser modificado para suportar portas virtuais para uma rápida encapsulação e desencapsulação de TEID GTP de trajetória. Um porta de acesso móvel OpenFlow pode ser usado para suportar encapsulação e desencapsulação GTP com portas virtuais. As portas virtuais de encapsulação e desencapsulação GTP podem ser usadas para uma rápida encapsulação e desencapsulação de pacotes de dados de usuário dentro de túneis GTP-U, e podem ser projetadas simples o suficiente para que possam ser implementadas em hardware ou firmware. Por esta razão, as portas virtuais GTP podem ter as seguintes restrições em tráfego que estas manipularão: campo Protoco! Type (PT) = 1, onde as portas de encapsulação GTP suportam somente GTP, não GTP' (campo PT = O); flag Extension Header (E) = O, onde nenhum cabeçalho de extensão é suportado, flag Sequence Number (S) = O, onde nenhum número de sequência é suportado; flag N-PDU (PN) = O; e tipo de Mensagem = 255, onde somente as mensagens G-PDU, isto é, dados de usuário tunelados, são suportadas na trajetória rápida.[0071] In one embodiment, OpenFlow can be modified to support virtual ports for rapid encapsulation and de-encapsulation of path GTP TEID. An OpenFlow mobile gateway can be used to support GTP encapsulation and de-encapsulation with virtual ports. GTP encapsulation and de-encapsulation virtual ports can be used for fast encapsulation and de-encapsulation of user data packets within GTP-U tunnels, and can be designed simple enough that they can be implemented in hardware or firmware. For this reason, GTP virtual ports may have the following restrictions on the traffic they will handle: Protoco! Type (PT) = 1, where the GTP tunnel ports only support GTP, not GTP' (PT field = O); flag Extension Header (E) = O, where no extension header is supported, flag Sequence Number (S) = O, where no sequence number is supported; flag N-PDU (PN) = O; and Message type = 255, where only G-PDU messages, ie tunneled user data, are supported in the fast path.

[0072] Se um pacote necessitar de encapsulação ou chegar encapsulado com flags de cabeçalho diferentes de zero, extensões de cabeçalho, e/ou o pacote GTPU não for um pacote G-PDU (isto é, é um pacote de controle GTP-U), o processamento deve proceder através do plano de controle de trajetória lenta de porta de acesso (software). Os pacotes GTP-C e GTP' direcionados ao endereço de IP de porta de acesso são um resultado de configuração errônea e consistem em um erro . Eles devem ser enviados ao controlador OpenFlow, visto que esses pacotes são manipulados pelas entidades de plano de controle SGSN e GGSN no sistema computacional em nuvem ou à entidade de cobrança que manuseia GTP' e não os comutadores de plano de dados SGSN e GGSN.[0072] If a packet requires encapsulation or arrives encapsulated with non-zero header flags, header extensions, and/or the GTPU packet is not a G-PDU packet (i.e. it is a GTP-U control packet) , processing must proceed through the gateway's slow path control plane (software). GTP-C and GTP' packets directed to the gateway IP address are a result of misconfiguration and consist of an error . They must be sent to the OpenFlow controller, as these packets are handled by the SGSN and GGSN control plane entities in the cloud computing system or the billing entity that handles GTP' and not the SGSN and GGSN data plane switches.

[0073] As portas virtuais GTP são configuradas a partir do controlador OpenFlow usando um protocolo de configuração. Os detalhes do protocolo de configuração são dependentes do comutador. O protocolo de configuração deve suportar mensagens que realizem as seguintes funções: permitir que o controlador questione e retorne uma indicação se o comutador suporta portas virtuais de trajetória rápida GTP e quais números de porta virtual são usados para um processamento GTP-U de trajetória rápida ou trajetória lenta, e permitir que o controlador instancie uma porta virtual de trajetória rápida GTP-U dentro de uma trajetória de dados de comutador para uso na ação de ajuste de porta de saída da tabela OpenFlow . O comando de configuração deve ser rodado em uma transação de modo que, quando s resultados da ação forem reportados de volta ao controlador, uma porta virtual de trajetória rápida GTP-U para a trajetória de dados solicitada tenha sido instanciada ou um erro tenha retornado indicando porque a solicitação não poderia apreciada. O comando também permite que o controlador OpenFlow ligue uma porta virtual GTP-U a uma porta física. Para portas virtuais de desencapsulação, a porta física é uma porta de entrada. Para portas virtuais de encapsulação, a porta física é uma porta de saída.[0073] GTP virtual ports are configured from the OpenFlow controller using a configuration protocol. The configuration protocol details are switch dependent. The configuration protocol must support messages that perform the following functions: allow the controller to query and return an indication whether the switch supports GTP fast-path virtual ports and which virtual port numbers are used for fast-path GTP-U processing, or slow path, and allow the controller to instantiate a GTP-U fast path virtual port within a switch data path for use in the OpenFlow table output port tuning action. The configuration command must be run in a transaction so that when the results of the action are reported back to the controller, a GTP-U fast trajectory virtual port for the requested data trajectory has been instantiated or an error has been returned indicating because the request could not be appreciated. The command also allows the OpenFlow controller to bind a virtual GTP-U port to a physical port. For decapsulation virtual ports, the physical port is a gateway. For tunneling virtual ports, the physical port is an outgoing port.

[0074] O controlador OpenFlow instancia uma porta virtual para cada porta física que possa transmitir ou receber pacotes roteados através de um túnel GTP, antes de instalar quaisquer regras no comutador para roteamento TEID GTP.[0074] The OpenFlow controller instantiates a virtual port for each physical port that can transmit or receive packets routed through a GTP tunnel, before installing any rules on the switch for TEID GTP routing.

[0075] Em uma modalidade, um porta de acesso GTP mantém uma tabela hash que mapeia TEIDs GTP nos campos de cabeçalho de túnel para seus portadores. A Figura 17 é um diagrama da estrutura de uma fileira de tabela de fluxo. As teclas hash TEID são calculadas usando um algoritmo hash adequado com baixa frequência de colisão, por exemplo, SHA-1. O porta de acesso mantém uma fileira de tabela de fluxo para cada TEID GTP/portador. O campo TEID contém o TEID GTP para o túnel. Os tags VLAN e os campos de rótulos MPLS contêm uma lista ordenada de tags VLAN efou rótulos MPLS que definem túneis nos quais o pacote precisa ser roteado. Os bits de prioridade VLAN e os bits de classe de tráfego MPLS estão incluídos nos rótulos. Esses túneis podem ou não ser necessários. Se eles não forem necessários, então, esses campos estão vazios. O endereço de IP de fonte de origem de túnel contém o endereço no porta de acesso de encapsulação ao qual qualquer tráfego de controle que envolve o túnel deve ser direcionado (por exemplo, indicações de erros). O campo de endereço de IP de destino final de túnel contém o endereço de IP do porta de acesso ao qual o pacote tunelado deve ser roteado, no qual o pacote será desencapsulado e removido do túnel GTP. O campo QoS DSCP contém o Ponto de Código DiffServe , se existir, para o portador no caso de um portador dedicado. Este campo pode estar vazio se o portador for um portador padrão com o QoS de melhor esforço, mas conterá valores diferentes de zero se o portador QoS for maior que o melhor esforço.Em uma modalidade, o suporte de trajetória lenta para GTP é implementado com um comutador de porta de acesso OpenFlow. Um comutador de porta de acesso móvel OpenFlow também contém um suporte no plano de controle de software para um processamento de pacote de trajetória lenta. Esta trajetória é adotada por pacotes G-PDU (tipo de mensagem 255) com campos de cabeçalho ou cabeçalhos de extensão diferentes de zero , e os pacotes de plano de dados de usuário que requerem encapsulação com tais campos ou a adição de cabeçalhos de extensão, e por pacotes de controle GTP-U. Por este propósito, o comutador suporta três portas locais no plano de controle de software: LOCAL_GTP_CONTROL - a trajetória rápida de comutador encaminha pacotes encapsulados GTP direcionados ao endereço de IP de porta de acesso que contenham mensagens de controle GTPU e o plano de controle de software de comutador local inicia ações de plano de controle local dependendo da mensagem de controle GTP-U; LOCAL GTP U DECAP - a trajetória rápida de comutador encaminha pacotes GPDU a esta porta que tem campos de cabeçalho ou cabeçalhos de extensão diferentes de zero (isto é, E != O, S != O, ou PN != O). Esses pacotes requerem uma manipulação especializada. A trajetória de software de comutador local processa os pacotes e realiza a manipulação especializada; e LOCAL_GTP_U_ENCAP - a trajetória rápida de comutador encaminha os pacotes de plano de dados de usuário a esta porta que requer uma encapsulação em um túnel GTP com campos de cabeçalho ou cabeçalhos de extensão diferentes de zero (isto é, E != O, S != O, ou PN != O). Esses pacotes requerem uma manipulação especializada. A trajetória lenta de software de comutador local encapsula os pacotes e realiza a manipulação especializada. Além de encaminhar os pacotes, a trajetória rápida de comutador torna o campo de metadados OpenFlow disponível ao software de trajetória lenta.[0075] In one embodiment, a GTP gateway maintains a hash table that maps GTP TEIDs in the tunnel header fields to its bearers. Figure 17 is a diagram of the structure of a flow table row. TEID hash keys are calculated using a suitable hash algorithm with low collision frequency, for example SHA-1. The gateway maintains a flow table row for each TEID GTP/bearer. The TEID field contains the GTP TEID for the tunnel. VLAN tags and MPLS tag fields contain an ordered list of VLAN tags and f or MPLS tags that define tunnels through which the packet needs to be routed. VLAN priority bits and MPLS traffic class bits are included in the labels. These tunnels may or may not be necessary. If they are not needed, then these fields are empty. The tunnel source IP address contains the address on the tunnel gateway to which any control traffic involving the tunnel should be directed (for example, error indications). The end-of-tunnel destination IP address field contains the IP address of the gateway to which the tunneled packet is to be routed, at which the packet will be decapsulated and removed from the GTP tunnel. The QoS DSCP field contains the DiffServe Code Point, if any, for the bearer in the case of a dedicated bearer. This field may be empty if the bearer is a standard bearer with best effort QoS, but will contain non-zero values if the bearer QoS is greater than best effort. In one embodiment, slow path support for GTP is implemented with an OpenFlow gateway switch. An OpenFlow mobile gateway switch also contains software control plane support for slow-path packet processing. This trajectory is adopted by G-PDU packets (message type 255) with non-zero header fields or extension headers, and user data plane packets that require encapsulation with such fields or the addition of extension headers, and by GTP-U control packets. For this purpose, the switch supports three local ports in the software control plane: LOCAL_GTP_CONTROL - the fast switch path forwards GTP encapsulated packets directed to the IP address of the access port that contain GTPU control messages and the software control plane local switch initiates local control plane actions depending on the GTP-U control message; LOCAL GTP U DECAP - fast switch path forwards GPDU packets to this port that have non-zero header fields or extension headers (ie, E != O, S != O, or PN != O). These packages require expert handling. The local switch software path processes the packets and performs specialized handling; and LOCAL_GTP_U_ENCAP - switch fast path forwards user data plane packets to this port which requires encapsulation in a GTP tunnel with non-zero header fields or extension headers (i.e. E != O, S ! = O, or PN != O). These packages require expert handling. The slow path of local switch software encapsulates packets and performs specialized manipulation. In addition to forwarding the packets, the switch fast path makes the OpenFlow metadata field available to slow path software.

[0076] Para suportar uma encapsulação de trajetória lenta, o plano de controle de software no comutador mantém uma tabela hash com teclas calculadas a partir do GTP-U TEID. As teclas hash TEID sai calculadas usando um algoritmo hash adequado com baixa frequência de colisão, por exemplo, SHA-1. As entradas de tabela de fluxo contêm um registro de como o cabeçalho de pacote, incluindo o cabeçalho de encapsulação GTP, deve ser configurado. Isto inclui: os mesmos campos de cabeçalho para a tabela de encapsulação de hardware ou firmware na Figura 18; valores para os flags de cabeçalho GTP (PT, E, S, e PN); o número de sequência e/ou o número de N-PDU seja exista; se o flag E for 1, então, a tabela de fluxo contém uma lista de cabeçalhos de extensão, incluindo seus tipos, qual trajetória lenta deve ser inserida no cabeçalho GTP.[0076] To support slow trajectory encapsulation, the software control plane on the switch maintains a hash table with keys calculated from the GTP-U TEID. TEID hash keys are calculated using a suitable hash algorithm with low collision frequency, eg SHA-1. Flow table entries contain a record of how the packet header, including the GTP encapsulation header, should be configured. This includes: the same header fields for the hardware or firmware encapsulation table in Figure 18; values for the GTP header flags (PT, E, S, and PN); the sequence number and/or N-PDU number whether exists; if the E flag is 1, then the flow table contains a list of extension headers, including their types, which slow path should be inserted in the GTP header.

[0077] Em uma modalidade, o sistema implementa uma porta virtual de encapsulação GTP de trajetória rápida. Quando solicitado pelo software de plano de controle SGSN e GGSN rodando no sistema computacional em nuvem, o controlador OpenFlow programa o comutador de porta de acesso a instalar regras, ações, e entradas de tabela hash TEID para pacotes de roteamento e, túneis GTP através uma porta virtual de encapsulação GTP de trajetória rápida. As regras correspondem o filtro de pacote para o lado de entrada do portador do túnel GTP. Tipicamente, este será uma 4 tupla de: endereço de origem de IP; endereço de destino de IP: porta de origem de UDP/TCP/SCTP; e porta de destino de UDP/TCP/SCTP. O endereço de origem e o endereço de destino de IP são tipicamente os endereços para o tráfego de plano de dados de usuário, isto é, uma UE ou serviço de Internet com o qual uma UE está conduzindo, e similaridade com os números de porta. Para uma regra que corresponde ao lado de entrada de túnel de GTP-U, as instruções associadas são as seguintes: Gravar Metadados (GTP-TEID, OxFFFFFFFF) Aplicar Ações (Set-Output-Port GTP-Encap-VP).[0077] In one embodiment, the system implements a fast path GTP encapsulation virtual port. When requested by SGSN and GGSN control plane software running on the cloud computing system, the OpenFlow controller programs the gateway switch to install rules, actions, and TEID hash table entries for routing packets and GTP tunnels through a fast path GTP tunneling virtual port. The rules match the packet filter to the inbound bearer side of the GTP tunnel. Typically this will be a 4 tuple of: IP source address; IP destination address: UDP/TCP/SCTP source port; and UDP/TCP/SCTP destination port. The IP source address and destination address are typically the addresses for user data plane traffic, i.e., a UE or Internet service that a UE is driving with, and similarity to the port numbers. For a rule that corresponds to the tunnel input side of GTP-U, the associated instructions are as follows: Write Metadata (GTP-TEID, OxFFFFFFFF) Apply Actions (Set-Output-Port GTP-Encap-VP).

[0078] O comutador também grava uma entrada na tabela hash TEID contendo os campos de cabeçalho de túnel para o pacote. GTP-TEID é o identificador de ponto final de túnel GTP. GTP-Enacap-VP é a porta virtual de encapsulação de trajetória rápida GTP ligada à porta física a partir da qual o pacote encapsulado será ultimamente roteado.[0078] The switch also writes an entry to the TEID hash table containing the tunnel header fields for the packet. GTP-TEID is the GTP tunnel endpoint identifier. GTP-Enacap-VP is the GTP fast-path tunneling virtual port bound to the physical port from which the encapsulated packet will ultimately be routed.

[0079] Quando um cabeçalho de pacote corresponder à porta virtual, o TEID GTP é gravado nos 32 bits inferiores dos metadados e o pacote é direcionado à porta virtual. A porta virtual calcula o hash do TEID e pesquisa as informações de cabeçalho de túnel na tabela de cabeçalho de túnel. Se nenhuma dessas informações de túnel estiver presente, o pacote é encaminhado ao controlador com uma indicação de erro. De outro modo, a porta virtual constrói um cabeçalho de túnel GTP e encapsula o pacote. Quaisquer bits DSCP ou bits de prioridade VLAN são adicionalmente ajustados nos cabeçalhos de túnel de IP ou MAC, e quaisquer tags VLAN ou rótulos MPLS são enviados pelo pacote. O pacote encapsulado é encaminhado à porta física na qual a porta virtual é ligada.[0079] When a packet header matches the virtual port, the GTP TEID is written to the lower 32 bits of the metadata and the packet is directed to the virtual port. The virtual port calculates the TEID hash and looks up the tunnel header information in the tunnel header table. If none of this tunnel information is present, the packet is forwarded to the controller with an error indication. Otherwise, the virtual port builds a GTP tunnel header and encapsulates the packet. Any DSCP bits or VLAN priority bits are additionally set in the IP or MAC tunnel headers, and any VLAN tags or MPLS tags are sent in the packet. The encapsulated packet is forwarded to the physical port on which the virtual port is bound.

[0080] Em uma modalidade, o sistema implementa uma porta virtual de desencapsulação de trajetória rápida GTP . Quando solicitado pelo software de plano de controle SGSN e GGSN rodando no sistema computacional em nuvem, o comutador de porta de acesso instala regras e ações para rotear pacotes encapsulados GTP fora dos túneis GTP. As regras correspondem aos flags de cabeçalho GTP e ao TEID GTP para o pacote, na tabela de fluxo OpenFlow modificada mostrada na Figura 16 da seguinte forma: o endereço de destino de IP é um endereço de IP no qual o porta de acesso está esperando o tráfego GTP; o tipo de protocolo de IP é UDP (17); a porta de destino de UDP é a porta de destino GTPU (2152); e os campos de cabeçalho e o campo de tipo de mensagem serão um curinga com o flag OXFFFO e os dois bytes superiores do campo correspondem ao tipo de mensagem G-PDU (255) enquanto os dois bytes inferiores correspondem a 0x30, isto é, o pacote é um pacote GTP diferente de um pacote GTP' e o número de versão é 1. A porta virtual simplesmente remove o cabeçalho de túnel GTP e encaminha o pacote de plano de dados de usuário confinado à porta física ligada.[0080] In one embodiment, the system implements a GTP fast trajectory de-encapsulation virtual port. When requested by the SGSN and GGSN control plane software running on the cloud computing system, the gateway switch installs rules and actions to route GTP encapsulated packets out of the GTP tunnels. The rules correspond to the GTP header flags and the GTP TEID for the packet, in the modified OpenFlow flow table shown in Figure 16 as follows: the IP destination address is an IP address on which the gateway is waiting for the GTP traffic; the IP protocol type is UDP (17); the UDP destination port is the GTPU destination port (2152); and the header fields and the message type field will be a wildcard with the OXFFFO flag and the upper two bytes of the field correspond to the G-PDU message type (255) while the lower two bytes correspond to 0x30, that is, the packet is a GTP packet other than a GTP packet and the version number is 1. The virtual port simply removes the GTP tunnel header and forwards the user data plane packet confined to the bound physical port.

[0081] Em uma modalidade, o sistema implemente a manipulação de pacotes de controle GTP-U. O controlador OpenFlow programa o as tabelas de fluxo de comutador de porta de acesso com 5 regras para cada endereço de IP de comutador de porta de acesso usado para o tráfego GTP. Essas regras contêm valores específicos para os campos a seguir: o endereço de destino de IP é um endereço de IP no qual o porta de acesso está esperando o tráfego GTP; o tipo de protocolo de IP é UDP (17); a porta de destino UDP é a porta de destino GTP-U (2152); os flags de cabeçalho GTP e o campo de tipo de mensagem são um curinga com OxFFFO; o valor do campo de flags de cabeçalho é 0x30, isto é, o número de versão é 1 e o campo PT é 1; e o valor do campo de tipo de mensagem é um entre 1 (Solicitação de Eco), 2 (Resposta de Eco), 26 (Indicação de Erro), 31 (Suporte para Notificação de Cabeçalhos de Extensão), ou 254 (Marcador Final).A instrução associada com uma correspondência a uma dessas regras é: Aplicar Ações (Set-Output-Port LOCALGTP CONTROL)[0081] In one embodiment, the system implements GTP-U control packet handling. The OpenFlow controller programs the gateway switch flow tables with 5 rules for each gateway switch IP address used for GTP traffic. These rules contain specific values for the following fields: the IP destination address is an IP address on which the gateway is expecting GTP traffic; the IP protocol type is UDP (17); the UDP destination port is the GTP-U destination port (2152); the GTP header flags and the message type field are wildcarded with OxFFFO; the header flags field value is 0x30, that is, the version number is 1 and the PT field is 1; and the message type field value is one of 1 (Echo Request), 2 (Echo Response), 26 (Error Indication), 31 (Extension Header Notification Support), or 254 (End Marker) .The statement associated with a match to one of these rules is: Apply Actions (Set-Output-Port LOCALGTP CONTROL)

[0082] Isto faz com que o pacote seja encaminhado à porta de controle GTP-U local do comutador de porta de acesso para processamento pelo plano de controle de software local. Os pacotes de controle GTP-U que são originados pelo comutador são gerados no plano de controle de software e são roteados pelo plano de controle.[0082] This causes the packet to be forwarded to the local GTP-U control port of the access port switch for processing by the local software control plane. GTP-U control packets that are sourced by the switch are generated in the software control plane and are routed through the control plane.

[0083] Em uma modalidade, o sistema implementa a manipulação de pacotes GPDU com cabeçalhos de extensão, números de sequência, e números N-PDU. Os pacotes G-PDU com cabeçalhos de extensão, números de sequência, e números NP DU precisam ser encaminhados ao plano de controle de software de comutador local para processamento. O controlador OpenFlow programa 3 regras para este propósito. Os mesmos têm os seguintes campos de cabeçalho comuns: o endereço de destino de IP é um endereço de IP no qual o porta de acesso está esperando o tráfego GTP; e o tipo de protocolo de IP é UDP (17); a porta de destino UDP é a porta de destino GTP-U (2152).[0083] In one embodiment, the system implements handling of GPDU packets with extension headers, sequence numbers, and N-PDU numbers. G-PDU packets with extension headers, sequence numbers, and NP DU numbers need to be forwarded to the local switch software control plane for processing. The OpenFlow controller programs 3 rules for this purpose. They have the following common header fields: the IP destination address is an IP address on which the gateway is expecting GTP traffic; and the IP protocol type is UDP (17); the UDP destination port is the GTP-U destination port (2152).

[0084] Os flags de cabeçalho e os campos de tipo de mensagem para as três regras são um curinga com as seguintes máscaras de bit e correspondem da seguinte forma: máscara de bit OxFFF4 e os dois bytes superiores correspondem ao tipo de mensagem G-PDU (255) enquanto os dois bytes inferiores são 0x34, indicando que o número de versão é 1, o pacote é um pacote GTP, e existe um cabeçalho de extensão presente; máscara de bit OxFFF2 e os dois bytes superiores correspondente ao tipo de mensagem G-PDU (255) enquanto os dois bytes inferiores são 0x32, indicando que o número de versão é 1, o pacote é um pacote GTP, e existe um número de sequência presente; e a máscara de bit OxFF01 e os dois bytes superiores correspondem ao tipo de mensagem G-PDU (255) enquanto os dois bytes inferiores são 0x31, indicando que o número de versão é 1, o pacote é um pacote GTP, e um N-PDU está presente.[0084] The header flags and message type fields for the three rules are wildcarded with the following bitmasks and correspond as follows: OxFFF4 bitmask and the upper two bytes correspond to the G-PDU message type (255) while the lower two bytes are 0x34, indicating the version number is 1, the packet is a GTP packet, and there is an extension header present; bitmask OxFFF2 and the upper two bytes correspond to the G-PDU message type (255) while the lower two bytes are 0x32, indicating that the version number is 1, the packet is a GTP packet, and there is a sequence number gift; and the OxFF01 bitmask and the upper two bytes correspond to the G-PDU message type (255) while the lower two bytes are 0x31, indicating that the version number is 1, the packet is a GTP packet, and an N- PDU is present.

[0085] A instrução para essas regras é a seguinte: Aplicar Ações (Set-Output-Port LOCAL_GTP_U_DECAP).[0085] The instruction for these rules is as follows: Apply Actions (Set-Output-Port LOCAL_GTP_U_DECAP).

[0086] Esta envia o pacote à trajetória de desencapsulação GTP-U de trajetória lenta de software para um processamento especial.[0086] This sends the packet to the software slow path GTP-U decoupling path for special processing.

[0087] Em uma modalidade, o sistema implementa a manipulação dos pacotes de plano de dados de usuário que requerem uma encapsulação GTP-U com cabeçalhos de extensão, números de sequência, e números N-PDU. Os pacotes de plano de dados de usuário que requerem cabeçalhos de extensão, números de sequência, ou números N-PDU durante a encapsulação GTP requerem uma manipulação especial pela trajetória lenta de software. Para esses pacotes, o controlador OpenFlow programa uma regra que corresponde à 4 tupla: endereço de origem de IP; endereço de destino de IP; porta de origem UDP/TCP/SCTP; e porta de destino UDP/TCP/SCTP. As instruções para pacotes de correspondência são: Gravar Metadados (GTP-TEID, OxFFFFFFFF) Aplicar Ações (Set-Output-Port LOCAL_GTP_U_ENCAP )[0087] In one embodiment, the system implements handling of user data plane packets that require a GTP-U encapsulation with extension headers, sequence numbers, and N-PDU numbers. User data plane packets that require extension headers, sequence numbers, or N-PDU numbers during GTP encapsulation require special handling by the slow software path. For these packets, the OpenFlow controller programs a rule that matches the 4 tuple: IP source address; IP destination address; UDP/TCP/SCTP source port; and UDP/TCP/SCTP destination port. Instructions for mailing packets are: Write Metadata (GTP-TEID, OxFFFFFFFF) Apply Actions (Set-Output-Port LOCAL_GTP_U_ENCAP )

[0088] Esta envia o pacote à porta de encapsulação GTP de trajetória lenta de software e, além disso, torna o TEID disponível à trajetória lenta.[0088] This sends the packet to the software slow path GTP tunneling port and further makes the TEID available to the slow path.

[0089] A mensagem OpenFlow que programa a inserção de regra também inclui informações sobre os valores para o número de sequência, número N-PDU, ou o tipo e conteúdos do cabeçalho de extensão, bem como os campos de cabeçalho de pacote que designam o porta de acesso de desencapsulação e o transporte de portador e o TEID GTP. Estas informações são inseridas pelo software de plano de controle do comutador na tabela de encapsulação de software, vinculada pelo TEID.[0089] The OpenFlow message that schedules the rule insertion also includes information about the values for the sequence number, N-PDU number, or the type and contents of the extension header, as well as the packet header fields that designate the decapsulation gateway and the bearer transport and the TEID GTP. This information is entered by the switch's control plane software into the software encapsulation table, linked by the TEID.

[0090] Em uma modalidade, o sistema implementa a manipulação de pacotes de controle GTP-C e GTP'. Quaisquer pacotes de controle GTP-C e GTP' que são direcionados aos endereços de IP em um comutador de porta de acesso estão em erro. Esses pacotes precisam ser manipulados pelas entidades de protocolo SGSN, GGSN, e GTP' no sistema computacional em nuvem, não pelas entidades SGSN e GGSN nos comutadores . Para capturar tais pacotes, o controlador OpenFlow deve programar o comutador com as duas regras a seguir: o endereço de destino de IP é um endereço de IP no qual o porta de acesso está esperando o tráfego GTP; o tipo de protocolo de IP é UDP (17); para uma regra , a porta de destino UDP é a porta de destino GTP-U (2152), para a outra, a porta de destino UDP é a porta de destino GTP-C (2123); os flags de cabeçalho GTP e os campos de tipo de mensagem são um curinga.[0090] In one embodiment, the system implements GTP-C and GTP' control packet handling. Any GTP-C and GTP' control packets that are directed to IP addresses on a gateway switch are in error. These packets need to be handled by the SGSN, GGSN, and GTP' protocol entities on the cloud computing system, not by the SGSN and GGSN entities on the switches. To capture such packets, the OpenFlow controller must program the switch with the following two rules: the IP destination address is an IP address on which the gateway is expecting GTP traffic; the IP protocol type is UDP (17); for one rule, the UDP destination port is the GTP-U destination port (2152), for the other, the UDP destination port is the GTP-C destination port (2123); the GTP header flags and message type fields are a wildcard.

[0091] Essas regras devem ser de prioridade menor entre todas as regras GTP na tabela de fluxo do comutador de porta de acesso. Estas corresponderão a quaisquer pacotes GTP que não correspondem a outras regras mais especificas. A instrução para essas regras é a seguinte: Aplicar Ações (Set-Output-Port CONTROLLER )[0091] These rules must be of lowest priority among all GTP rules in the access port switch flow table. These will match any GTP packets that do not match other more specific rules. The instruction for these rules is as follows: Apply Actions (Set-Output-Port CONTROLLER )

[0092] Esta encapsula o pacote e o envia ao controlador OpenFlow.[0092] This encapsulates the packet and sends it to the OpenFlow controller.

[0093] Em uma modalidade, o sistema implementa um roteamento GTP de não-porta de acesso. Um comutador Openflow estendido por GTP também pode cumprir o roteamento GTP sem realizar as funções de porta de acesso de encapsulação e desencapsulação. A função de roteamento GTP pode ser realizada por um comutador de porta de acesso além de sua função de porta de acesso, ou pode ser realizado por outro comutador que seja desprovido de uma função de porta de acesso, dentro da malha de comutação EPC distribuída.[0093] In one embodiment, the system implements non-gateway GTP routing. A GTP-extended Openflow switch can also fulfill GTP routing without performing the encapsulation and de-encapsulation gateway functions. The GTP routing function may be performed by a gateway switch in addition to its gateway function, or it may be performed by another switch that is devoid of a gateway function, within the distributed EPC switching fabric.

[0094] Um comutador Openflow estendido por GTP contém pelo menos uma tabela de fluxo que manipula as regras que correspondem aos campos de cabeçalho GTP conforme na Figura 16. O controlador Openflow programa as regras de campo de cabeçalho GTP além de outros campos para realizar um roteamento GTP e adicionar ações apropriadas se a regra for correspondida. Por exemplo, a regra a seguir corresponde um pacote de controle GTP-C direcionado a uma entidade de plano de controle (MSC, SGSN,GGSN) no sistema computacional em nuvem, que não se encontra no plano de controle VLAN: o tag VLAN não é ajustado ao plano de controle VLAN, o campo de endereço de destino de IP é ajustado ao endereço de IP da entidade de plano de controle almejada, o tipo de protocolo de IP é UDP (17), a porta de destino UDP é a porta de destino GTP-C (2123), os flags de cabeçalho GTP e o tipo de mensagem são um curinga com OxFO e os campos de versão correspondida e tipo de protocolo são 2 e 1, indicando que o pacote é um pacote de plano de controle GTPv1 e não GTP'.[0094] A GTP-extended Openflow switch contains at least one flow table that handles the rules that correspond to the GTP header fields as in Figure 16. The Openflow controller programs the GTP header field rules in addition to other fields to perform a GTP routing and add appropriate actions if the rule matches. For example, the following rule matches a GTP-C control packet directed to a control plane entity (MSC, SGSN,GGSN) in the cloud computing system, which is not in the VLAN control plane: the VLAN tag is not is set to the control plane VLAN, the IP destination address field is set to the IP address of the target control plane entity, the IP protocol type is UDP(17), the UDP destination port is the port destination GTP-C (2123), the GTP header flags and the message type are a wildcard with OxFO and the matched version and protocol type fields are 2 and 1, indicating that the packet is a control plane packet GTPv1 and non-GTP'.

[0095] As ações a seguir enviam um tag de plano de controle VLAN no pacote e o encaminha à nuvem para processamento pela entidade de plano de controle relevante. O pacote é encaminhado sem nenhum processamento L3 (isto é, sem modificar o IP TTL): Gravar Ações (Set-VLAN-ID CP VLAN_TAG Gravar Ações (Set-Source-MAC-Address SWITCH MAC ADDR) Gravar Ações (Set-Dest-MAC-Address NEXT HOP MAC ADDR) Ajustar a Porta de Saída -Output-Port NEXT_HOP_PORT Extensões GTP para OpenFlow.[0095] The following actions send a VLAN control plane tag in the packet and forward it to the cloud for processing by the relevant control plane entity. The packet is forwarded without any L3 processing (i.e. without modifying the TTL IP): Write Actions (Set-VLAN-ID CP VLAN_TAG Write Actions (Set-Source-MAC-Address SWITCH MAC ADDR) Write Actions (Set-Dest- MAC-Address NEXT HOP MAC ADDR) Set the Output Port -Output-Port NEXT_HOP_PORT GTP Extensions for OpenFlow.

[0096] O protocolo OpenFlow pode ser modificado para proporcionar extensões para GTP que habilita o gerenciamento do PC 3G. OpenFlow utiliza estruturas de dados referidas como estruturas de correspondência de fluxo que habilitam o protocolo a definir critérios para regras correspondentes a fluxos particulares. A estrutura de correspondência de fluxo OpenFlow de ofp_match contém dois campos, tipo e comprimento, que permite que a estrutura de correspondência de fluxo seja estendida. O campo de tipo pode ser ajustado ao tipo da extensão e o campo de comprimento pode ser ajustado ao comprimento da estrutura ofp_match estendida. Em uma modalidade, define-se um novo tipo baseado em um número aleatório para correspondência de fluxo GTP: enum ofp match_type_ext { ERSMT GTP = 48696 }.[0096] The OpenFlow protocol can be modified to provide extensions to GTP that enable 3G PC management. OpenFlow uses data structures referred to as flow matching structures that enable the protocol to define criteria for rules corresponding to particular flows. The OpenFlow flow match structure of ofp_match contains two fields, type and length, which allows the flow match structure to be extended. The type field can be set to the type of the extension and the length field can be set to the length of the extended ofp_match structure. In one embodiment, a new random-number type is defined for GTP stream matching: enum ofp match_type_ext { ERSMT GTP = 48696 }.

[0097] O tipo pode ser aleatoriamente gerado a fim de não interferir nos outros tipos estendidos. Atualmente, não existem mecanismos organizacionais para registrar os identificadores de tipo em OpenFlow.[0097] The type can be randomly generated in order not to interfere with other extended types. Currently, there are no organizational mechanisms for registering type identifiers in OpenFlow.

[0098] A estrutura ersmt_gtp define os campos de tabela de fluxo para um roteamento de fluxo GTP como: struct ersmt_gtp { unit8_t gtp_wildcard; uintl6_t gtp_type_n_flags; uintl6_t gtp_flag_mask; uint32_t gtp_teid; };[0098] The ersmt_gtp structure defines the flow table fields for a GTP flow routing as: struct ersmt_gtp { unit8_t gtp_wildcard; uintl6_t gtp_type_n_flags; uintl6_t gtp_flag_mask; uint32_t gtp_teid; };

[0099] O campo gtp type_n_flags contém o tipo de mensagem GTP nos 8 bits superiores e os flags de cabeçalho GTP nos 8 bits inferiores. O campo gtp_teid contém o TEID GTP. O campo gtp_wildcard indica se o tipo GTP e flags e TEID devem ser correspondidos. Se os quatro bits inferiores forem 1, o campo de tipo e flags deve ser ignorado, enquanto se os quatro bits superiores forem 1, o TEID deve ser ignorado. Se os bits inferiores forem O, os campos de tipo e flag devem ser correspondidos submetidos aos flags no campo gtp_flag_mask, enquanto se os bits superiores forem O, o TEID deve ser correspondido. A máscara é combinada com o campo de tipo de mensagem e cabeçalho do pacote usando a lógica AND; o resultado se torna o valor da correspondência. Somente essas partes do campo onde a máscara tem um valor 1 são correspondidas.[0099] The gtp type_n_flags field contains the GTP message type in the upper 8 bits and the GTP header flags in the lower 8 bits. The gtp_teid field contains the GTP TEID. The gtp_wildcard field indicates whether the GTP type and flags and TEID must be matched. If the lower four bits are 1, the type field and flags must be ignored, while if the upper four bits are 1, the TEID must be ignored. If the lower bits are 0, the type and flag fields must be matched by subjecting the flags in the gtp_flag_mask field, while if the upper bits are 0, the TEID must be matched. The mask is combined with the message type field and packet header using AND logic; the result becomes the match value. Only those parts of the field where the mask has a value of 1 are matched.

[00100] Além dos campos de tabela de fluxo, requer-se um objeto para codificar a encapsulação da entrada de tabela hash de porta virtual TEID. A estrutura ersmt_gtp_tuninfo pode ser usada para definir estas informações: struct ermst_mpls_lbl { uint8_t mplslbl_low; uint8_t mpls Ibl micl' uint8_t mpls Ibl_high; }; struct ersmt_gtp_tuninfo { uintl6_t gtp tuninfo_length; uint32_t gtp_tuninfo_saddr; uint32_t gtp tuninfo_daddr; uint8_t gtp_tuninfo_dscp; uint8_t gtp_tuninfo vlan_len; uniti 6_t gtp_tuninfo_vlan_tags [0]; /*variable length*/ uint8_t gtp_tuninfo_mpls_len; struct mpls_Ibl gtp_tuninfo_mpls_labels [0]; /*variable length*/ }.[00100] In addition to the flow table fields, an object is required to encode the encapsulation of the TEID virtual port hash table entry. The ersmt_gtp_tuninfo structure can be used to define this information: struct ermst_mpls_lbl { uint8_t mplslbl_low; uint8_t mpls Ibl micl' uint8_t mpls Ibl_high; }; struct ersmt_gtp_tuninfo { uintl6_t gtp tuninfo_length; uint32_t gtp_tuninfo_saddr; uint32_t gtp tuninfo_daddr; uint8_t gtp_tuninfo_dscp; uint8_t gtp_tuninfo vlan_len; uniti 6_t gtp_tuninfo_vlan_tags[0]; /*variable length*/ uint8_t gtp_tuninfo_mpls_len; struct mpls_Ibl gtp_tuninfo_mpls_labels [0]; /*variable length*/ }.

[00101] A estrutura ermst_mpls Ibl proporciona uma estrutura de dados de 24 bits para codificar os rótulos MPLS. A estrutura ersmt_gtp_tunifo contém campos que descrevem um túnel GTP. Estes são inseridos na porta virtual de encapsulação. A estrutura tem comprimento variável porque contém um número variável de tags VLAN e/ou rótulos MPLS. O campo gtp_tuninfo_length contém o comprimento da estrutura. Os campos gtp_tuninfo saddr, gtp_tuninfo_daddr, e gtp_tuninfo_dscp contêm o endereço de origem do túnel (o endereço da interface no comutador que realiza a encapsulação), o endereço de destino do túnel (o comutador ao qual o pacote tunelado será roteado e que irá desencapsular o pacote), e o Ponto de Código DiffServ (caso exista ) atribuído ao portador do túnel. o portador DSCP será diferente de zero se o portador for um portador dedicado e não for um portador de melhor esforço.[00101] The ermst_mpls Ibl structure provides a 24-bit data structure for encoding MPLS labels. The ersmt_gtp_tunifo structure contains fields that describe a GTP tunnel. These are inserted into the encapsulation virtual port. The structure is variable length because it contains a variable number of VLAN tags and/or MPLS tags. The gtp_tuninfo_length field contains the length of the structure. The gtp_tuninfo saddr, gtp_tuninfo_daddr, and gtp_tuninfo_dscp fields contain the tunnel source address (the address of the interface on the switch performing the encapsulation), the tunnel destination address (the switch to which the tunneled packet will be routed and which will packet), and the DiffServ Code Point (if any) assigned to the tunnel bearer. the DSCP bearer is non-zero if the bearer is a dedicated bearer and not a best effort bearer.

[00102] Os campos gtp_tuninfo vlan_len e gtp_tuninfo_mpls_len contêm o comprimento do campo de tags VLAN e do campo de rótulos MPLS, respectivamente. Os campos gtp_tuninfo_vlan_tags [0] e gtp_tuninfo_mpls labels [0] contêm os tags VLAN atuais elou os rótulos MPLS que precisam ser enviados pelo cabeçalho de túnel do pacote. Esses campos estarão ausentes (e os campos de comprimento correspondentes serão iguais a zero) se nenhuma Trajetória Comutada de Rótulo VLAN ou MPLS (LSPs) for usada para o túnel.[00102] The gtp_tuninfo vlan_len and gtp_tuninfo_mpls_len fields contain the length of the VLAN tag field and the MPLS tag field, respectively. The fields gtp_tuninfo_vlan_tags [0] and gtp_tuninfo_mpls labels [0] contain the current VLAN tags and/or MPLS labels that need to be sent by the packet's tunnel header. These fields will be absent (and the corresponding length fields will be zero) if no VLAN or MPLS Label Switched Paths (LSPs) are used for the tunnel.

[00103] Em uma modalidade. OpenFlow é modificado para adicionar mensagens de extensão para adicionar, deletar, ou modificar um portador PC 3G ou túnel GTP. A sinalização OpenFlow para adicionar, modificar, ou deletar um portador PC 3G ou túnel GTP consiste em uma mensagem OpenFlow, a mensagem ofp_flow_mod, contendo uma definição de fluxo GTP ersmt_gtp. A mensagem ofp_flow_mod OpenFlow padrão pode ser usada desde que o analisador de protocolo OpenFlow possa manipular fluxos estendidos. Se a modificação de fluxo requerer uma alteração à tabela hash TEID de porta virtual de encapsulação, o controlador OpenFlow deve lançar uma mensagem de extensão OpenFlow GTP contendo a entrada de tabela hash TEID. O controlador OpenFlow pode lançar ambas as mensagens sequencialmente, primeiro a mensagem ofp_flow_mod, então, a mensagem de modificação de tabela hash TEID , então, o controlador OpenFlow deve lançar uma mensagem OFPT_BARRIER REQUEST para forçar o processamento de ambas as mensagens pelo comutador OpenFlow.[00103] In one mode. OpenFlow is modified to add extension messages to add, delete, or modify a 3G PC bearer or GTP tunnel. The OpenFlow signal for adding, modifying, or deleting a 3G PC bearer or GTP tunnel consists of an OpenFlow message, the ofp_flow_mod message, containing a GTP flow definition ersmt_gtp. The default OpenFlow ofp_flow_mod message can be used as long as the OpenFlow protocol parser can handle extended flows. If the flow modification requires a change to the encapsulation virtual port TEID hash table, the OpenFlow controller must issue an OpenFlow GTP extension message containing the TEID hash table entry. The OpenFlow controller can issue both messages sequentially, first the ofp_flow_mod message, then the TEID hash table modification message, then the OpenFlow controller must issue an OFPT_BARRIER REQUEST message to force the OpenFlow switch to process both messages.

[00104] A estrutura de cabeçalho de extensão de mensagem OpenFlow ofp_experimenter header contém um campo id experimentador, denominado como experimentador. Em uma modalidade, este campo pode ser ajustado ao OUI Ericsson IEEE, Ox01 ec ou fabricante similar ou OUI de provedor. O restante da estrutura contém as mensagens de extensão GTP. Essas mensagens podem ser identificadas pelos seguintes códigos de mensagem: enum ermst_gtp_message code { GTP ADD TEID TABLE ENTRY = O, GTP DEL TEID TABLE ENTRY = 1, };[00104] The OpenFlow message extension header structure ofp_experimenter header contains an experimenter id field, named as experimenter. In one embodiment, this field can be set to the Ericsson IEEE OUI, Ox01 ec or similar manufacturer or provider OUI. The rest of the structure contains the GTP extension messages. These messages can be identified by the following message codes: enum ermst_gtp_message code { GTP ADD TEID TABLE ENTRY = O, GTP DEL TEID TABLE ENTRY = 1, };

[00105] A extensão OpenFlow GTP contém uma mensagem para adicionar e deletar uma entrada de tabela hash TEID. As entradas são modificadas deletandose primeiramente a entrada para o TEID, então, adicionando-se uma nova entrada para o mesmo TEID. A mensagem de extensão OpenFlow GTP para inserir uma nova entrada TEID na tabela hash de porta virtual de encapsulação é: struct ermst_teid_table_add { ermst gtp_message_code teid table_add_type; uint16 t teid table add teid; struct ermst_gtp_tuninfo teid table_add_entry; };[00105] The OpenFlow GTP extension contains a message to add and delete a TEID hash table entry. Entries are modified by first deleting the entry for the TEID, then adding a new entry for the same TEID. The OpenFlow GTP extension message to insert a new TEID entry into the encapsulation virtual port hash table is: struct ermst_teid_table_add { ermst gtp_message_code teid table_add_type; uint16 t teid table add teid; struct ermst_gtp_tuninfo teid table_add_entry; };

[00106] O campo The teidtable add_type é ajustado para GTP ADD_TEID_TABLE_ENTRY enquanto o campo teid_table_add_teid contém o TEID e teid table_add entry contém a entrada de tabela a ser adicionada . A mensagem de extensão OpenFlow GTP para deletar uma entrada TEID a partir da tabela hash de porta virtual de encapsulação é: struct ermst teid_table_del { ermst_gtp_message_code teid_table_del type; uint-16 t teidtabledel teid; }.[00106] The teidtable add_type field is set to GTP ADD_TEID_TABLE_ENTRY while the teid_table_add_teid field contains the TEID and teid table_add entry contains the table entry to be added. The OpenFlow GTP extension message to delete a TEID entry from the encapsulation virtual port hash table is: struct ermst teid_table_del { ermst_gtp_message_code teid_table_del type; uint-16 t teidtabledel teid; }.

[00107] O campo teid_table_del_type é ajustado para GTP DEL TEID TABLE ENTRY enquanto o campo teid table del teid contém o TEID para que a entrada seja delatada.[00107] The teid_table_del_type field is set to GTP DEL TEID TABLE ENTRY while the teid table del teid field contains the TEID for the entry to be deleted.

[00108] Em uma modalidade, as extensões ao OpenFlow para GTP também abrangem uma configuração de comutador OpenFlow. Antes de aceitar quaisquer RPCs de atualização de roteamento GTP a partir das entidades de plano de controle de nuvem PC 3G, o controlador OpenFlow deve configurar as portas virtuais de encapsulação e/ou desencapsulação GTP nos comutadores de porta de acesso OpenFlow estendido por GTP. A configuração é cumprida usando um protocolo de configuração de comutador específico, e é descrita anteriormente.[00108] In one embodiment, extensions to OpenFlow for GTP also cover an OpenFlow switch configuration. Before accepting any GTP routing update RPCs from the PC 3G cloud control plane entities, the OpenFlow controller must configure the GTP encapsulation and/or de-encapsulation virtual ports on the GTP-extended OpenFlow access port switches. Configuration is accomplished using a specific switch configuration protocol, and is described earlier.

[00109] Além da configuração de porta virtual nos porta de acessos OpenFlow estendidos por GTP, pode-se requerer urna configuração de fila QoS em qualquer comutador OpenFlow que estará enviando um tráfego de portador GTP melhor que o de melhor esforço . O protocolo OpenFlow não contém mensagens para filas de configuração, esta configuração é deixada ao protocolo de configuração, conforme o caso com portas virtuais. Antes de instalar quaisquer rotas de fluxo, o controlador OpenFlow deve configurar quaisquer filas para se conectar às portas físicas e/ou virtuais em comutadores que rotearão portadores GTP melhores que os de melhor esforço. Esta etapa de configuração deve ser realizada tanto para comutadores OpenFlow estendidos por GTP corno para comutadores OpenFlow padrão.[00109] In addition to the virtual port configuration on the GTP-extended OpenFlow gateways, a QoS queue configuration may be required on any OpenFlow switch that will be sending better-than-best-effort GTP bearer traffic. The OpenFlow protocol does not contain messages for configuration queues, this configuration is left to the configuration protocol, as the case may be with virtual ports. Before installing any flow routes, the OpenFlow controller must configure any queues to connect to physical and/or virtual ports on switches that will route better-than-best-effort GTP bearers. This configuration step must be performed for both GTP-extended OpenFlow switches and standard OpenFlow switches.

[00110] Em uma modalidade, os fluxos de mensagem OpenFlow para as operações GTP são modificados. Conforme descrito anteriormente, as entidades de plano de controle PC 3G, incluindo as partes de plano de controle PC 3G do SGSN e do SSSN residem em uma instalação de computação em nuvem em uma central de dados. O plano de controle do SGSN e GGSN se comunica através de chamadas de procedimento remoto (RPCs) ou através de um mecanismo similar com o controlador OpenFlow dentro da nuvem quando as alterações de roteamento forem disparadas pela sinalização GTP. O controlador OpenFlow executa as alterações no plano de dados aos porta de acessos de plano de dados habilitados a OpenFlow estendido por GTP, o plano de controle do SGSN e GGSN, e aos comutadores OpenFlow que são estendidos para um roteamento GTP, referindo no presente documento como 'GxOFS,' através de uma sinalização OpenFlow na rede de plano de controle que conecta a nuvem aos porta de acessos e aos comutadores.[00110] In one embodiment, OpenFlow message flows for GTP operations are modified. As described earlier, the 3G PC control plane entities, including the 3G PC control plane parts of the SGSN and SSSN, reside in a cloud computing facility in a data center. The SGSN and GGSN control plane communicates via remote procedure calls (RPCs) or via a similar mechanism with the OpenFlow controller within the cloud when routing changes are triggered by GTP signaling. The OpenFlow controller performs data plane changes to the GTP-extended OpenFlow-enabled data plane access ports, the SGSN and GGSN control plane, and to the OpenFlow switches that are extended to a GTP routing, referring in this document as 'GxOFS,' via an OpenFlow signaling in the control plane network that connects the cloud to gateways and switches.

[00111] Em geral, nenhuma sinalização é requerida ao GxOFS se nenhum tratamento de roteamento especial for requerido para os fluxos GTP. Casos onde tal tratamento pode ser requerido são, por exemplo: onde um PC 3G do operador tem pontos de troca de tráfego com a Internet em mais de um ponto e, consequentemente, tem mais de um porta de acesso, rotear ao porta de acesso ótimo pode requerer um tráfego de direção dentro do PC 3G em comutadores intermediários; e onde o fluxo GTP deve receber um tratamento especial a partir de um aplicativo em algum ligar dentro da rede do operador, por exemplo, dentro da nuvem. Um exemplo de tal tratamento especial é a transcodificação. Os comutadores intermediários podem requerer uma programação para rotear os pacotes de plano de usuário ao aplicativo de transcodificação. Esta lista não é exaustiva, muitos outros aplicativos de roteamento GTP em comutadores intermediários são possíveis.[00111] In general, no signaling is required from GxOFS if no special routing handling is required for GTP flows. Cases where such treatment may be required are, for example: where an operator's 3G PC has Internet traffic exchange points at more than one point and, consequently, has more than one gateway, route to the optimal gateway may require one-way traffic within the 3G PC on intermediate switches; and where the GTP stream must receive special treatment from an application somewhere within the operator's network, for example within the cloud. An example of such special handling is transcoding. Intermediate switches may require programming to route user plan packets to the transcoding application. This list is not exhaustive, many other GTP routing applications on intermediate switches are possible.

[00112] Os túneis de contexto GTP PDP podem ser configurados usando as mensagens de solicitação de contexto PDP de criação de GTP-C. Este procedimento é usado em uma variedade de sequências de mensagem, por exemplo, em um procedimento de anexação inicial de E-UTRAN.[00112] GTP PDP context tunnels can be configured using GTP-C create PDP context request messages. This procedure is used in a variety of message sequences, for example in an E-UTRAN initial attach procedure.

[00113] As Figuras 18A a 18C são fluxogramas da criação, modificação e deletação de sessão no PC 3G. O processo para criar uma sessão é ilustrado na Figura 18A. O processo é iniciado em resposta a uma solicitação para criar um túnel GTP entre um SGSN e um GGSN para uma sessão de assinante (Bloco 1801). A sessão de assinante é iniciada para conectar o equipamento de usuário no PC 3G a outro ponto final da sessão de assinante, que pode ser outro equipamento de usuário, um servidor ou ponto final similar. O túnel GTP estabelece a rota da sessão de assinante ao longo da rede de núcleo da rede PC 3G a um ponto de troca de tráfego, a Internet ou um ponto final similar. O controlador configura um comutador que implementa o SGSN a encapsular e desencapsular pacotes de dados para a sessão de assinante e estabelecer um primeiro ponto final de túnel GTP (Bloco 1803). O controlador também configura cada comutador na rota do túnel GTP para encaminhar pacotes em cada direção de acordo com a rota do túnel GTP (Bloco 1805). O controlador configura um plano de dados do GGSN para encapsular e desencapsular os pacotes da sessão de assinante e estabelecer um segundo ponto final do túnel GTP no GGSN (Bloco 1807).[00113] Figures 18A to 18C are flowcharts of creating, modifying and deleting a 3G PC session. The process for creating a session is illustrated in Figure 18A. The process is initiated in response to a request to create a GTP tunnel between an SGSN and a GGSN for a subscriber session (Block 1801). The subscriber session is initiated to connect the user equipment on the 3G PC to another subscriber session endpoint, which may be another user equipment, a server or similar endpoint. The GTP tunnel routes the subscriber session along the 3G PC network's core network to a traffic exchange point, the Internet or a similar endpoint. The controller configures a switch that implements the SGSN to encapsulate and de-encapsulate data packets for the subscriber session and establish a first GTP tunnel endpoint (Block 1803). The controller also configures each switch in the GTP tunnel route to forward packets in each direction according to the GTP tunnel route (Block 1805). The controller configures a GGSN data plane to encapsulate and de-encapsulate subscriber session packets and establish a second GTP tunnel endpoint on the GGSN (Block 1807).

[00114] O processo para modificar uma sessão é ilustrado na Figura 18B. O processo é iniciado em resposta a uma solicitação para modificar um túnel GTP entre um SGSN e um GGSN para uma sessão de assinante (Bloco 1811). A sessão de assinante conecta o equipamento de usuário no PC 3G a outro ponto final da sessão de assinante, que pode ser outro equipamento de usuário, um servidor ou um ponto final similar. O túnel GTP é uma rota estabelecida da sessão de assinante ao longo da rede de núcleo da rede PC 3G a um ponto de troca de tráfego, a Internet ou um ponto final similar. Um processo de modificação pode ser utilizar para re-rotear uma sessão de assinante ao longo da rede PC 3G aos mesmos pontos de terminação ou a pontos de terminação diferentes. Qualquer combinação dos pontos de terminação do túnel GTP e da trajetória do GTP pode ser alterada usando este processo. O controlador modifica a configuração do comutador que implementa o SGSN para encapsular e desencapsular pacotes de dados para a sessão de assinante e modificar um primeiro ponto final de túnel GTP (Bloco 1813). O controlador também configura cada comutador na rota atual e na nova rota do túnel GTP para encaminhar pacotes em cada direção de acordo com a rota do túnel GTP (Bloco 1815). O controlador modifica a configuração de um plano de dados do GGSN para encapsular e desencapsular os pacotes da sessão de assinante e estabelecer um segundo ponto final do túnel GTP no GGSN (Bloco 1817).[00114] The process for modifying a session is illustrated in Figure 18B. The process is initiated in response to a request to modify a GTP tunnel between an SGSN and a GGSN for a subscriber session (Block 1811). The subscriber session connects the user equipment on the 3G PC to another endpoint of the subscriber session, which could be another user equipment, a server, or a similar endpoint. The GTP tunnel is an established route from the subscriber session along the 3G PC network core network to a traffic exchange point, the Internet or a similar endpoint. A modification process can be used to re-route a subscriber session along the 3G PC network to the same or different endpoints. Any combination of GTP tunnel endpoints and GTP trajectory can be changed using this process. The controller modifies the configuration of the switch that implements the SGSN to encapsulate and unwrap data packets for the subscriber session and modify a first GTP tunnel endpoint (Block 1813). The controller also configures each switch on the current route and the new route of the GTP tunnel to forward packets in each direction according to the route of the GTP tunnel (Block 1815). The controller modifies the configuration of a data plane of the GGSN to encapsulate and de-encapsulate subscriber session packets and establish a second GTP tunnel endpoint in the GGSN (Block 1817).

[00115] O processo para deletar uma sessão é ilustrado na Figura 18C. O processo é iniciado em resposta a uma solicitação para deletar um túnel GTP entre um SGSN e um GGSN para uma sessão de assinante (Bloco 1821). A sessão de assinante conecta o equipamento de usuário no PC 3G a outro ponto final da sessão de assinante, que pode ser outro equipamento de usuário, um servidor ou um ponto final similar. O túnel GTP é uma rota estabelecida da sessão de assinante ao longo da rede de núcleo da rede PC 3G a um ponto de troca de tráfego, a Internet ou um ponto final similar. A sessão de assinante e o túnel GTP associado são deletados quando o aplicativo associado no equipamento de usuário ou o aplicativo no outro equipamento de usuário ou o aplicativo de servidor na outra terminação da sessão de assinante encerrar a conexão. Então, os recursos de sessão de assinante são recuperados deletando-se a sessão de assinante e o túnel GTP. O controlador remove a configuração do túnel GTP em um comutador que implementa o SGSN que encapsulou e desencapsulou pacotes de dados para a sessão de assinante e, desse modo, remove um primeiro ponto final de túnel GTP (Bloco 1823). O controlador também remove a configuração para o túnel GTP a partir de cada comutador na rota do túnel GTP que encaminhou pacotes em cada direção de acordo com a rota do túnel GTP (Bloco 1815). O controlador remove a configuração para o túnel GTP a partir de um plano de dados do GGSN que encapsulou e desencapsulou os pacotes da sessão de assinante e, desse modo, remove um segundo ponto final do túnel GTP no GGSN (Bloco 1827).[00115] The process for deleting a session is illustrated in Figure 18C. The process is initiated in response to a request to delete a GTP tunnel between an SGSN and a GGSN for a subscriber session (Block 1821). The subscriber session connects the user equipment on the 3G PC to another endpoint of the subscriber session, which could be another user equipment, a server, or a similar endpoint. The GTP tunnel is an established route from the subscriber session along the 3G PC network core network to a traffic exchange point, the Internet or a similar endpoint. The subscriber session and the associated GTP tunnel are deleted when the associated application on the user equipment or the application on the other user equipment or the server application on the other end of the subscriber session terminates the connection. Then, subscriber session resources are recovered by deleting the subscriber session and GTP tunnel. The controller unconfigures the GTP tunnel on a switch that implements the SGSN that encapsulated and unwrapped data packets for the subscriber session and thereby removes a first GTP tunnel endpoint (Block 1823). The controller also removes the configuration for the GTP tunnel from each switch in the GTP tunnel route that forwarded packets in each direction according to the GTP tunnel route (Block 1815). The controller removes the configuration for the GTP tunnel from a GGSN data plane that encapsulated and de-wrapped the subscriber session packets and thereby removes a second GTP tunnel endpoint in the GGSN (Block 1827).

[00116] Na Figura 19, mostra-se um exemplo dos fluxos de mensagem OpenFlow para o procedimento de solicitação de sessão de criação. No exemplo ilustrado, o componente de plano de controle SSGN envia uma solicitação de sessão de criação ao componente de plano de controle GGSN no sistema computacional em nuvem, que, então, envia a solicitação ao controlador através de uma chamada RPC de[00116] In Figure 19, an example of the OpenFlow message flows for the creation session request procedure is shown. In the illustrated example, the SSGN control plane component sends a create session request to the GGSN control plane component on the cloud computing system, which then sends the request to the controller via an RPC call from

[00117] atualização de roteamento GTP. A chamada RPC solicita que o controlador OpenFlow estabeleça um novo ponto final de túnel GTP no SGSN e GGSN no plano de dados, e instalar rotas para o novo portador GTP ou túnel em comutadores intermediários, caso seja necessário.[00117] GTP routing update. The RPC call requests the OpenFlow controller to establish a new GTP tunnel endpoint on the SGSN and GGSN on the data plane, and install routes to the new GTP bearer or tunnel on intermediate switches if necessary.

[00118] Antes de retornar uni resultado ao plano de controle GGSN a partir do RPC de atualização de roteamento GTP, o controlador OpenFlow lança uma sequência de mensagens OpenFlow à entidade de porta de acesso de plano de dados apropriada. Na modalidade exemplificadora, a sequência começa com um OFP BARRIER REQUEST para garantir que não existam mensagens pendentes que possam influenciar o processamento das mensagens seguintes. Então, uma mensagem OFPT_FLOW_MOD é lançada, incluindo a estrutura ofp_match com a extensão GTP corno o campo de correspondência e OFPFC_ADD como o campo de comando. A mensagem especifica ações e instruções, conforme descrito anteriormente, para estabelecer uma rota de fluxo para o túnel GTP que encapsula e desencapsula os pacotes através da porta virtual apropriada. Além disso, imediatamente após a mensagem OFPT_FLOW_MOD, o controlador OpenFlow lança uma mensagem GTP_ADD_TEID_TABLE ENTRY aos porta de acessos contendo as entradas de tabela hash TEID para a porta virtual de encapsulação. Conforme descrito anteriormente, as duas mensagens OpenFlow são seguidas por uma mensagem OFPT BARRIER REQUEST para forçar os porta de acessos a processar a rota de fluxo e a atualização de tabela hash TEID antes de proceder.[00118] Before returning a result to the GGSN control plane from the GTP routing update RPC, the OpenFlow controller posts a sequence of OpenFlow messages to the appropriate data plane access port entity. In the example mode, the sequence starts with an OFP BARRIER REQUEST to ensure that there are no pending messages that could influence the processing of subsequent messages. Then, an OFPT_FLOW_MOD message is issued, including the ofp_match structure with the GTP extension as the match field and OFPFC_ADD as the command field. The message specifies actions and instructions, as described earlier, to establish a flow route to the GTP tunnel that encapsulates and de-encapsulates packets through the appropriate virtual port. Also, immediately after the OFPT_FLOW_MOD message, the OpenFlow controller issues a GTP_ADD_TEID_TABLE ENTRY message to the access ports containing the TEID hash table entries for the encapsulation virtual port. As described earlier, the two OpenFlow messages are followed by an OFPT BARRIER REQUEST message to force gateways to process the flow route and TEID hash table update before proceeding.

[00119] Antes de retornar a partir do RPC de atualização de roteamento GTP, o controlador OpenFlow também lança atualizações de roteamento de fluxo GTP a quaisquer Comutadores OpenFlow Estendidos por GTP (GxOFSs) que precisem estar envolvidos no roteamento de fluxo GTP customizado. As mensagens nessas atualizações consistem em um OFP_BARRIER_REQUEST seguido por uma mensagem OFPT_FLOW_MOD contendo a estrutura ofp_match com a extensão GTP para o novo fluxo GTP como o campo de correspondência e OFPFC_ADD como o campo de comando. e as ações e instruções descritas anteriormente para um roteamento de fluxo GTP customizado. Um OFP BARRIER REQUEST final força o comutador a processar a alteração antes de responder. As rotas de fluxo em quaisquer GxOFSs são instaladas após instalar a rota de ponto final de túnel GTP no SGSN no plano de dados e antes de instalar a rota de ponto final de túnel GTP no GGSN no plano de dados, conforme ilustrado na Figura 19. O controlador OpenFlow não responde ao RPC de plano de controle GGSN até que todas as atualizações de roteamento tenham sido cumpridas.[00119] Before returning from the GTP routing update RPC, the OpenFlow controller also releases GTP flow routing updates to any GTP Extended OpenFlow Switches (GxOFSs) that need to be involved in custom GTP flow routing. The messages in these updates consist of an OFP_BARRIER_REQUEST followed by an OFPT_FLOW_MOD message containing the ofp_match structure with the GTP extension for the new GTP stream as the match field and OFPFC_ADD as the command field. and the previously described actions and instructions for a custom GTP flow routing. A final OFP BARRIER REQUEST forces the switch to process the change before responding. Flow routes in any GxOFSs are installed after installing the GTP tunnel endpoint route in the SGSN in the data plane and before installing the GTP tunnel endpoint route in the GGSN in the data plane, as illustrated in Figure 19. The OpenFlow controller does not respond to the GGSN control plane RPC until all routing updates have been completed.

[00120] Uma vez que os RPCs tiverem retornado, o plano de controle GGSN e SGSN retornam as mensagens de resposta de contexto PDP de criação. As características do portador GTP são alteradas usando um processo de solicitação de contexto PDP de atualização. Essas alterações podem, por exemplo, incluir o QoS atribuído aos pacotes de IP. Este procedimento é usado em uma variedade de sequências de mensagem PC 3G, por exemplo, uma solicitação de serviço disparada por UE.[00120] Once the RPCs have returned, the GGSN and SGSN control plane return the create PDP context response messages. The characteristics of the GTP bearer are changed using an update PDP context request process. These changes can, for example, include the QoS assigned to IP packets. This procedure is used in a variety of 3G PC message sequences, for example, a UE-triggered service request.

[00121] A Figura 20 é um diagrama de uma modalidade da sequência de mensagem OpenFlow para o procedimento de solicitação de sessão de modificação. Conforme na criação de sessão, o plano de controle SGSN em nuvem PC 3G lança uma mensagem de solicitação de contexto PDP de atualização ao plano de controle GGSN e o plano de controle GGSN lança um RPC de atualização de roteamento GTP ao controlador OpenFLow incluindo as novas informações de atualização de túnel. Então, o controlador OpenFlow lança as mensagens OpenFlow estendidas por GTP ao plano de dados SGSN, GxOFSes, e ao plano de dados GGSN.[00121] Figure 20 is a diagram of an OpenFlow message sequence modality for the modification session request procedure. As per session creation, the 3G PC cloud SGSN control plane issues an update PDP context request message to the GGSN control plane and the GGSN control plane issues a GTP routing update RPC to the OpenFLow controller including the new tunnel update information. The OpenFlow controller then posts the GTP-extended OpenFlow messages to the SGSN data plane, GxOFSes, and the GGSN data plane.

[00122] Antes de retornar um resultado ao plano de controle GGSN a partir do RPC de atualização de roteamento GTP, o controlador OpenFlow lança uma sequência de mensagens OpenFlow à entidade de porta de acesso de plano de dados apropriada. A sequência começa com um OFP_BARRIER_REQUEST para garantir que não existam mensagens pendentes que possam influenciar o processamento das mensagens seguintes. Então, uma mensagem OFPT FLOW MOD é lançada, incluindo a estrutura ofp_match com a extensão GTP como o campo de correspondência OFPFC_MODIFY ou OFPFC_MODIFY_STRICT como o campo de comando. Caso seja necessário, a mensagem especifica ações e instruções, conforme descrito anteriormente, para estabelecer uma nova rota de fluxo para o túnel GTP que encapsula e desencapsula os pacotes através da porta virtual apropriada. Além disso, se alterações forem necessárias na tabela hash TEID, imediatamente após a mensagem OFPT FLOW MOD, o controlador OpenFlow lança um TP DEL TEID TABLE ENTRY para deletar a entrada seguida por uma mensagem TP ADD TEID TABLE ENTRY para instalar a nova entrada. Conforme descrito anteriormente, as duas mensagens OpenFlow são seguidas por uma mensagem OFPT BARRIER REQUEST para forçar os porta de acessos a processar a rota de fluxo e atualização de tabela hash TEID antes de proceder.[00122] Before returning a result to the GGSN control plane from the GTP routing update RPC, the OpenFlow controller posts a sequence of OpenFlow messages to the appropriate data plane access port entity. The sequence starts with an OFP_BARRIER_REQUEST to ensure that there are no outstanding messages that could influence the processing of subsequent messages. Then, an OFPT FLOW MOD message is issued, including the ofp_match structure with the GTP extension as the match field OFPFC_MODIFY or OFPFC_MODIFY_STRICT as the command field. If necessary, the message specifies actions and instructions, as described above, to establish a new flow path for the GTP tunnel that encapsulates and de-encapsulates packets through the appropriate virtual port. Also, if changes are needed to the TEID hash table, immediately after the OFPT FLOW MOD message, the OpenFlow controller issues a TP DEL TEID TABLE ENTRY to delete the entry followed by a TP ADD TEID TABLE ENTRY message to install the new entry. As described earlier, the two OpenFlow messages are followed by an OFPT BARRIER REQUEST message to force gateways to process the flow route and TEID hash table update before proceeding.

[00123] Antes de retornar a partir do RPC atualização de roteamento GTP, o controlador OpenFlow também lança atualizações de roteamento de fluxo GTP necessárias a quaisquer Comutadores OpenFlow Estendidos por GTP (GxOFSs) que precisam estar envolvidos em roteamento de fluxo GTP customizado. As mensagens nessas atualizações consistem em um OFP_BARRIER_REQUEST seguido por uma mensagem OFPT FLOW_MOD contendo a estrutura ofp_match com a extensão GTP para o novo fluxo GTP como o campo de correspondência e OFPFC MODIFY ou OFPFC MODIFY STRICT como o campo de comando, e, caso seja necessário, as ações e instruções, conforme descrito anteriormente, para um roteamento de fluxo GTP customizado. Um OFP BARRIER REQUEST final força o comutador a processar a alteração antes de responder. As rotas de fluxo em quaisquer GxOFSs são instaladas após instalar a rota de ponto final de túnel GTP no plano de dados SGSN e antes de instalar a rota de ponto final de túnel GTP no plano de dados GGSN, conforme ilustrado na Figura 20. O controlador OpenFlow não responde ao plano de controle GGSN RPC até que todas as atualizações de roteamento de fluxo tenham sido cumpridas. Uma vez que os RPCs tiverem retornado, o plano de controle GGSN e SGSN retornam as mensagens de contexto PDP de atualização.[00123] Before returning from the RPC GTP routing update, the OpenFlow controller also releases GTP flow routing updates needed by any OpenFlow GTP Extended Switches (GxOFSs) that need to be involved in custom GTP flow routing. The messages in these updates consist of an OFP_BARRIER_REQUEST followed by an OFPT FLOW_MOD message containing the ofp_match structure with the GTP extension for the new GTP stream as the match field and OFPFC MODIFY or OFPFC MODIFY STRICT as the command field, and if necessary , the actions and instructions as described earlier for a custom GTP flow routing. A final OFP BARRIER REQUEST forces the switch to process the change before responding. Flow routes in any GxOFSs are installed after installing the GTP tunnel endpoint route in the SGSN data plane and before installing the GTP tunnel endpoint route in the GGSN data plane, as illustrated in Figure 20. The controller OpenFlow does not respond to the GGSN RPC control plane until all flow routing updates have been fulfilled. Once the RPCs have returned, the GGSN and SGSN control plane return the update PDP context messages.

[00124] Os túneis GTP são deletados usando o procedimento de solicitação de sessão de deletação. Este procedimento pode ser usado em uma variedade de sequências de mensagem PC 3G, por exemplo, uma solicitação de desanexação disparada por UE. A Figura 21 é um diagrama de uma modalidade da sequência de mensagem OpenFlow para o procedimento de solicitação de sessão de deletação. Similar à criação e modificação de sessão, o plano de controle SGSN de nuvem PC 3G lança uma mensagem de solicitação de contexto PDP de deletação ao plano de controle GGSN e o plano de controle GGSN lança um RPC de atualização de roteamento GTP ao controlador OpenFLow incluindo as informações de deletação de túnel. Então, o controlador OpenFlow lança mensagens OpenFlow estendidas por GTP ao plano de dados SGSN, GxOFSes, e ao plano de dados GGSN.[00124] GTP tunnels are deleted using the delete session request procedure. This procedure can be used in a variety of 3G PC message sequences, for example a UE-triggered detach request. Figure 21 is a diagram of an OpenFlow message sequence modality for the delete session request procedure. Similar to session creation and modification, the PC 3G cloud SGSN control plane issues a delete PDP context request message to the GGSN control plane and the GGSN control plane issues a GTP routing update RPC to the OpenFLow controller including the tunnel deletion information. The OpenFlow controller then launches GTP-extended OpenFlow messages to the SGSN data plane, GxOFSes, and the GGSN data plane.

[00125] A sinalização OpenFlow é conduzida antes de retornar o RPC de atualização de roteamento GTP ao chamador. A sequência começa com um[00125] OpenFlow signaling is conducted before returning the GTP Routing Update RPC to the caller. The sequence starts with a

[00126] OFP BARRIER REQUEST para garantir que não existem mensagens pendentes que possam influenciar o processamento das mensagens seguintes. Então, uma mensagem OFPT_FLOW_MOD é lançada, incluindo a estrutura ofp_match com a extensão GTP como o campo de correspondência e OFPFC DELETE ou[00126] OFP BARRIER REQUEST to ensure that there are no outstanding messages that could influence the processing of subsequent messages. Then an OFPT_FLOW_MOD message is thrown, including the ofp_match structure with the GTP extension as the match field and OFPFC DELETE or

[00127] OFPFC DELETE STRICT como o campo de comando. Além disso, imediatamente após a mensagem OFPT_FLOW_MOD, o controlador OpenFlow lança um GTP DEL TEID TABLE ENTRY para deletar a entrada de tabela hash TEID. Conforme descrito anteriormente, esta mensagem OpenFlow é seguida por uma mensagem OFPT_BARRIER REQUEST para forçar os porta de acessos a processar a rota de fluxo e a atualização de tabela hash TEID antes de proceder.[00127] OFPFC DELETE STRICT as the command field. Also, immediately after the OFPT_FLOW_MOD message, the OpenFlow controller issues a GTP DEL TEID TABLE ENTRY to delete the TEID hash table entry. As described earlier, this OpenFlow message is followed by an OFPT_BARRIER REQUEST message to force gateways to process the flow route and TEID hash table update before proceeding.

[00128] Antes de retornar a partir do RPC de atualização de roteamento GTP, o controlador OpenFlow também lança atualizações de roteamento de fluxo GTP necessárias a quaisquer Comutadores OpenFlow Estendidos por GTP que precisem estar envolvidos no roteamento de fluxo GTP customizado. As mensagens nestas atualizações consistem em um OFP_BARRIER REQUEST seguido por uma mensagem OFPT_FLOW_MOD contendo a estrutura ofp_match com a extensão GTP para o novo fluxo GTP como o campo de correspondência e OFPFC_DELETE ou OFPFC DELETE STRICT como o campo de comando. Um OFP BARRIER REQUEST final força o comutador a processar a alteração antes de responder. As rotas de fluxo em quaisquer GxOFSs são instaladas antes de instalar a rota de ponto final de túnel GTP no plano de dados SGSN e antes de instalar a rota de ponto final de túnel GTP no plano de dados GGSN, conforme ilustrado na Figura 21. O controlador OpenFlow não responde à entidade de chamada ate que todas as atualizações de roteamento de fluxo tenham sido cumpridas. Implementações Alternativas[00128] Before returning from the GTP routing update RPC, the OpenFlow controller also releases GTP flow routing updates needed by any OpenFlow GTP Extended Switches that need to be involved in custom GTP flow routing. The messages in these updates consist of an OFP_BARRIER REQUEST followed by an OFPT_FLOW_MOD message containing the ofp_match structure with the GTP extension for the new GTP stream as the match field and OFPFC_DELETE or OFPFC DELETE STRICT as the command field. A final OFP BARRIER REQUEST forces the switch to process the change before responding. Flow routes in any GxOFSs are installed before installing the GTP tunnel endpoint route in the SGSN data plane and before installing the GTP tunnel endpoint route in the GGSN data plane, as illustrated in Figure 21. OpenFlow controller does not respond to the calling entity until all flow routing updates have been fulfilled. Alternative Implementations

[00129] Em outras modalidades, a arquitetura dividida de PC 3G pode ser implementada em sistemas não-virtualizados e fora de nuvem. As entidades de plano de controle da arquitetura de PC 3G podem ser armazenadas e executadas em um único servidor ou distribuídas ao longo de qualquer número de servidores ou dispositivos computacionais similares. De modo similar, as entidades de plano de controle podem ser executadas como um código de software padrão e módulos sem virtualização ou sistemas similares. Essas entidades de plano de controle podem se comunicar entre si através do sistema local ou chamadas de procedimento, chamadas de procedimento remoto ou mecanismos similares. Em modalidades adicionais, um subconjunto de entidades de plano de controle pode ser virtualizado ou executado em um sistema computacional em nuvem enquanto outro subconjunto das entidades de plano de controle pode ser executado em um servidor, sistema de servidor distribuído ou sistema similar. As entidades de plano de controle podem se comunicar com o plano de dados através do uso do protocolo OpenFlow conforme descrito anteriormente ou através de outros protocolos de controle conforme descrito mais adiante.[00129] In other embodiments, 3G PC split architecture can be implemented in non-virtualized and non-cloud systems. 3G PC architecture control plane entities can be stored and run on a single server or distributed across any number of servers or similar computing devices. Similarly, control plane entities can run as standard software code and modules without virtualization or similar systems. These control plane entities can communicate with each other through the local system or procedure calls, remote procedure calls, or similar mechanisms. In additional embodiments, a subset of the control plane entities may be virtualized or run on a cloud computing system while another subset of the control plane entities may run on a server, distributed server system, or similar system. Control plane entities can communicate with the data plane using the OpenFlow protocol as described above or through other control protocols as described later.

[00130] O sistema computacional em nuvem descrito anteriormente é proporcionado a título de exemplo e não a guisa de limitação. Um indivíduo versado na técnica compreenderia que os princípios e recursos descritos anteriormente em relação ao sistema computacional em nuvem também podem ser implementados em outras configurações, tais como servidores únicos ou sistemas de servidor distribuído. Princípios e recursos similares àqueles descritos anteriormente podem ser implementados em sistemas de servidor único, sistemas de servidor distribuído e ambientes computacionais similares. Esses princípios e recursos também podem ser implementados usando um ambiente não-virtualizado incluindo entidades de plano de controle não-virtualizadas que são executadas em qualquer combinação de sistemas computacionais em nuvem, servidores únicos, sistemas de servidor distribuído e sistemas similares.[00130] The cloud computing system described above is provided by way of example and not by way of limitation. One skilled in the art would understand that the principles and features described above in connection with the cloud computing system may also be implemented in other configurations, such as single server or distributed server systems. Similar principles and features to those described above can be implemented in single server systems, distributed server systems and similar computing environments. These principles and features can also be implemented using a non-virtualized environment including non-virtualized control plane entities that run on any combination of cloud computing systems, single servers, distributed server systems, and similar systems.

[00131] Em outras modalidades, outros protocolos de controle podem ser utilizados no lugar do OpenFlow conforme descrito no presente documento. O uso de OpenFlow é apresentado a título de exemplo e sem limitação. Outros protocolos de controle também podem ser utilizados para gerenciar a comunicação entre o plano de controle e o plano de dados e a configuração do plano de dados da arquitetura dividida de PC 3G. Um exemplo de tal protocolo é FORCES, um protocolo padrão IETF para dividir o plano de controle e encaminhar o plano em redes. A especificação do protocolo FORCES é descrita em RFC 5810. RFC 5812 descreve a arquitetura de um elemento de encaminhamento FORCES, o equivalente de um comutador OpenFlow. O próprio protocolo FORCES não suporta diretamente rotas de programação no elemento de encaminhamento, ao invés disso, este consiste em um arcabouço para manipular a interação entre o controlador FORCES e um elemento de encaminhamento FORCES. A arquitetura de elemento de encaminhamento descreve como projetar o protocolo que realmente permite que um controlador FORCES programe um elemento de encaminhamento FORCES. Um indivíduo versado na técnica compreenderia que um sistema baseado em FORCES poderia incluir recursos descritos no presente documento em relação à modalidade OpenFlow, tal como a extensão OpenFlow GTP, para permitir que o controlador programe os comutadores para um roteamento TEID GTP.[00131] In other embodiments, other control protocols can be used in place of OpenFlow as described in this document. The use of OpenFlow is presented by way of example and without limitation. Other control protocols can also be used to manage the communication between the control plane and the data plane and the configuration of the data plane of the 3G PC split architecture. An example of such a protocol is FORCES, an IETF standard protocol for splitting the control plane and forwarding the plane across networks. The FORCES protocol specification is described in RFC 5810. RFC 5812 describes the architecture of a FORCES forwarding element, the equivalent of an OpenFlow switch. The FORCES protocol itself does not directly support programming routes in the forwarding element, instead it consists of a framework for handling the interaction between the FORCES controller and a FORCES forwarding element. The forwarding element architecture describes how to design the protocol that actually allows a FORCES controller to program a FORCES forwarding element. One skilled in the art would understand that a FORCES based system could include features described in this document in relation to the OpenFlow modality, such as the OpenFlow GTP extension, to allow the controller to program the switches for TEID GTP routing.

[00132] FORCES e OpenFlow são proporcionados a título de exemplo e sem limitação. Um indivíduo versado na técnica compreenderia que os princípios e recursos descritos anteriormente em relação aos protocolos FORCES e OpenFlow também podem ser implementados em outros protocolos de controle similares.[00132] FORCES and OpenFlow are provided by way of example and without limitation. One skilled in the art would understand that the principles and features described above in connection with the FORCES and OpenFlow protocols can also be implemented in other similar control protocols.

[00133] Portanto, descreveram-se um método, um sistema e um aparelho para implementar um PC 3G em um sistema computacional em nuvem. Deve-se compreender que a descrição anterior é destinada a ser ilustrativa e não restritiva.[00133] Therefore, a method, a system and an apparatus for implementing a 3G PC in a cloud computing system were described. It should be understood that the foregoing description is intended to be illustrative and not restrictive.

[00134] Muitas outras modalidades se tornarão aparentes aos indivíduos versados na técnica mediante a leitura e a compreensão da descrição anterior. Portanto, o escopo da invenção deve ser determinado como referência às reivindicações em anexo, junto ao escopo completo de equivalentes aos quais tais reivindicações são designadas.[00134] Many other embodiments will become apparent to those skilled in the art upon reading and understanding the foregoing description. Therefore, the scope of the invention shall be determined by reference to the appended claims, together with the full scope of equivalents to which such claims are assigned.

Claims (14)

1. Método para implementar um protocolo de túnel (GTP) de serviço geral de rádio por pacotes (GPRS) em um núcleo de pacote (PC) de uma rede de terceira geração (3G) tendo uma arquitetura dividida onde um plano de controle do PC da rede 3G se encontra em um sistema computacional em nuvem, sendo que o sistema computacional em nuvem inclui um controlador, sendo que o plano de controle se comunica com o plano de dados do PC através de um protocolo de plano de controle, o plano de dados implementado em uma pluralidade de elementos de rede da rede 3G separado do sistema computacional em nuvem, o método caracterizado pelo fato de que compreende as etapas de: receber uma solicitação pelo controlador para criar um túnel GTP no PC da rede 3G entre um nó de suporte GPRS de serviço (SGSN) e um nó de suporte GPRS de porta (GGSN) para uma sessão de assinante, o controlador executando uma pluralidade de módulos de plano de controle que gerenciam o plano de dados da pluralidade de elementos de rede através do protocolo de plano de controle; configurar um comutador que implementa um plano de dados do SGSN, através do protocolo de controle, para encapsular e desencapsular pacotes da sessão de assinante e estabelecer um primeiro ponto final de túnel GTP; configurar pelo menos um comutador em uma rota do túnel GTP, através do protocolo de plano de controle, para encaminhar pacotes da sessão de assinante de acordo com o túnel GTP; e configurar um comutador que implementa um plano de dados do GGSN, através do protocolo de plano de controle, para encapsular e desencapsular os pacotes da sessão de assinante e estabelecer um segundo ponto final de túnel GTP.1. Method for implementing a general service packet radio (GPRS) tunnel protocol (GTP) in a packet core (PC) of a third generation (3G) network having a split architecture where a PC control plane of the 3G network is located in a cloud computing system, the cloud computing system includes a controller, and the control plane communicates with the PC data plane through a control plane protocol, the data plane data implemented in a plurality of network elements of the 3G network separate from the cloud computing system, the method characterized by the fact that it comprises the steps of: receiving a request by the controller to create a GTP tunnel on the PC of the 3G network between a node of service GPRS support (SGSN) and a gateway GPRS support node (GGSN) for a subscriber session, the controller executing a plurality of control plane modules that manage the data plane of the plurality of network elements at through the control plane protocol; configuring a switch that implements an SGSN data plane, via the control protocol, to encapsulate and de-encapsulate subscriber session packets and establish a first GTP tunnel endpoint; configuring at least one switch on a GTP tunnel route, through the control plane protocol, to forward subscriber session packets in accordance with the GTP tunnel; and configuring a switch that implements a data plane of the GGSN, via the control plane protocol, to encapsulate and de-encapsulate subscriber session packets and establish a second GTP tunnel endpoint. 2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que receber a solicitação pelo controlador para criar um túnel GTP compreende ainda a etapa de receber uma solicitação de criação de contexto de pacote de dados de protocolo (PDP) a partir de um componente de plano de controle do SGSN.2. Method according to claim 1, characterized in that receiving the request by the controller to create a GTP tunnel further comprises the step of receiving a request to create a protocol data packet context (PDP) from a control plane component of the SGSN. 3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que receber a solicitação pelo controlador para criar um túnel GTP compreende ainda a etapa de receber uma solicitação de atualização de roteamento GTP a partir de um componente de plano de controle do GGSN.3. Method according to claim 1, characterized in that receiving the request by the controller to create a GTP tunnel further comprises the step of receiving a GTP routing update request from a control plane component of the GGSN . 4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda as etapas de: receber uma solicitação pelo controlador para modificar o túnel GTP no PC da rede 3G entre o SGSN e o GGSN para a sessão de assinante; modificar uma configuração do comutador que implementa o plano de dados do SGSN, através do protocolo de plano de controle, para encapsular e desencapsular pacotes da sessão de assinante e modificar o primeiro ponto final de túnel GTP; e modificar uma configuração do comutador que implementa o plano de dados do GGSN, através do protocolo de plano de controle, para encapsular e desencapsular os pacotes da sessão de assinante e modificar o segundo ponto final de túnel GTP.4. Method according to claim 1, characterized in that it further comprises the steps of: receiving a request by the controller to modify the GTP tunnel on the 3G network PC between the SGSN and the GGSN for the subscriber session; modifying a switch configuration that implements the SGSN data plane, through the control plane protocol, to encapsulate and de-encapsulate subscriber session packets and modify the first GTP tunnel endpoint; and modifying a switch configuration that implements the data plane of the GGSN, through the control plane protocol, to encapsulate and de-encapsulate the subscriber session packets and modify the second GTP tunnel endpoint. 5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que compreende ainda a etapa de remover a configuração de pelo menos um comutador na rota do túnel GTP, através do protocolo de plano de controle, para finalizar o encaminhamento de pacotes da sessão de assinante de acordo com o túnel GTP.5. Method, according to claim 4, characterized in that it further comprises the step of removing the configuration of at least one switch in the GTP tunnel route, through the control plane protocol, to end the forwarding of packets from the subscriber session according to the GTP tunnel. 6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que compreende ainda a etapa de configurar um comutador em uma nova rota do túnel GTP, através do protocolo de plano de controle, para encaminhar pacotes da sessão de assinante de acordo com o túnel GTP.6. Method, according to claim 5, characterized in that it further comprises the step of configuring a switch on a new route of the GTP tunnel, through the control plane protocol, to forward packets from the subscriber session in accordance with the GTP tunnel. 7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda as etapas de: receber uma solicitação pelo controlador para deletar o túnel GTP no PC da rede 3G entre o SGSN e o GGSN para a sessão de assinante; remover uma configuração do comutador que implementa o plano de dados do SGSN, através do protocolo de plano de controle, para finalizar a encapsulação e a desencapsulação de pacotes da sessão de assinante e remover o primeiro ponto final de túnel GTP; e remover uma configuração do comutador que implementa o plano de dados do GGSN, através do protocolo de plano de controle, para finalizar a encapsulação e a desencapsulação dos pacotes da sessão de assinante e remover o segundo ponto final de túnel GTP.7. Method, according to claim 1, characterized in that it further comprises the steps of: receiving a request by the controller to delete the GTP tunnel on the PC of the 3G network between the SGSN and the GGSN for the subscriber session; removing a switch configuration that implements the data plane of the SGSN, through the control plane protocol, to end the encapsulation and de-encapsulation of subscriber session packets and remove the first GTP tunnel endpoint; and removing a switch configuration that implements the data plane of the GGSN, via the control plane protocol, to terminate encapsulation and de-encapsulation of subscriber session packets and remove the second GTP tunnel endpoint. 8. Sistema computacional em nuvem para gerenciar a implementação de um protocolo de túnel (GTP) de serviço geral de rádio por pacotes (GPRS) em um núcleo de pacote (PC) de uma rede de terceira geração (3G) tendo uma arquitetura dividida onde um plano de controle do PC da rede 3G se encontra no sistema computacional em nuvem, sendo que o plano de controle se comunica com um plano de dados do PC através de um protocolo de plano de controle, o plano de dados implementado em uma pluralidade de elementos de rede da rede 3G separado do sistema computacional em nuvem, o sistema computacional em nuvem caracterizado pelo fato de que compreende: uma pluralidade de servidores em comunicação entre si e em comunicação com a pluralidade de elementos de rede que implementa o plano de dados do PC, sendo que a pluralidade de servidores executa, um controlador configurado para executar uma pluralidade de módulos de plano de controle que implementa o plano de controle do PC, sendo que cada módulo de plano de controle provê um conjunto de funções de plano de controle para gerenciar o plano de dados, o controlador configurado para receber uma solicitação para criar um túnel GTP no PC da rede 3G entre um nó de suporte GPRS de serviço (SGSN) e um nó de suporte GPRS de porta (GGSN) para uma sessão de assinante, o controlador configurado para configurar um comutador que implementa um plano de dados do SGSN, através do protocolo de plano de controle, para encapsular e desencapsular pacotes da sessão de assinante e estabelecer um primeiro ponto final de túnel GTP, o controlador configurado para configurar pelo menos um comutador em uma rota do túnel GTP, através do protocolo de plano de controle, para encaminhar pacotes da sessão de assinante de acordo com o túnel GTP, e o controlador configurado para configurar um comutador que implementa um plano de dados do GGSN, através do protocolo de plano de controle, para encapsular e desencapsular os pacotes da sessão de assinante e estabelecer um segundo ponto final de túnel GTP; e um gerenciador de nuvem comunicativamente acoplado ao controlador, o gerenciador de nuvem configurado para gerenciar a execução da pluralidade de módulos de plano de controle do PC.8. Cloud computing system to manage the implementation of a general packet radio service (GPRS) tunnel protocol (GTP) on a packet core (PC) of a third generation (3G) network having a split architecture where a 3G network PC control plane is located in the cloud computing system, and the control plane communicates with a PC data plane through a control plane protocol, the data plane implemented in a plurality of 3G network network elements separate from the cloud computing system, the cloud computing system characterized by the fact that it comprises: a plurality of servers in communication with each other and in communication with the plurality of network elements that implement the data plane of the PC, where the plurality of servers execute, a controller configured to execute a plurality of control plane modules that implements the control plane of the PC, each plan module the control provides a set of control plane functions to manage the data plane, the controller configured to receive a request to create a GTP tunnel on the 3G network PC between a service GPRS support node (SGSN) and a GPRS port support (GGSN) for a subscriber session, the controller configured to configure a switch that implements a data plane of the SGSN, via the control plane protocol, to encapsulate and de-encapsulate packets from the subscriber session and establish a first GTP tunnel endpoint, the controller configured to configure at least one switch on a GTP tunnel route, via the control plane protocol, to forward subscriber session packets according to the GTP tunnel, and the controller configured to configure a switch that implements a data plane from the GGSN, through the control plane protocol, to encapsulate and de-encapsulate subscriber session packets and establish a second GTP tunnel endpoint; and a cloud manager communicatively coupled to the controller, the cloud manager configured to manage the execution of the plurality of PC control plane modules. 9. Sistema computacional em nuvem, de acordo com a reivindicação 8, caracterizado pelo fato de que o controlador recebe a solicitação para criar um túnel GTP como uma solicitação de criação de contexto de pacote de dados de protocolo (PDP) a partir de um componente de plano de controle do SGSN.9. Cloud computing system according to claim 8, characterized in that the controller receives the request to create a GTP tunnel as a protocol data packet context (PDP) creation request from a component of the SGSN control plan. 10. Sistema computacional em nuvem, de acordo com a reivindicação 8, caracterizado pelo fato de que o controlador recebe a solicitação para criar um túnel GTP como uma solicitação de atualização de roteamento GTP a partir de um componente de plano de controle do GGSN.10. Cloud computing system according to claim 8, characterized in that the controller receives the request to create a GTP tunnel as a GTP routing update request from a control plane component of the GGSN. 11. Sistema computacional em nuvem, de acordo com a reivindicação 8, caracterizado pelo fato de que o controlador é configurado para receber uma solicitação para modificar o túnel GTP no PC da rede 3G entre o SGSN e o GGSN para a sessão de assinante, sendo que o controlador é configurado para modificar a configuração do comutador que implementa o plano de dados do SGSN, através do protocolo de plano de controle, para encapsular e desencapsular pacotes da sessão de assinante e modificar o primeiro ponto final de túnel GTP, e o controlador é configurado para modificar a configuração do comutador que implementa o plano de dados do GGSN, através do protocolo de plano de controle, para encapsular e desencapsular os pacotes da sessão de assinante e modificar o segundo ponto final de túnel GTP.11. Cloud computing system, according to claim 8, characterized in that the controller is configured to receive a request to modify the GTP tunnel on the 3G network PC between the SGSN and the GGSN for the subscriber session, being that the controller is configured to modify the configuration of the switch that implements the SGSN data plane, via the control plane protocol, to encapsulate and unwrap subscriber session packets and modify the first GTP tunnel endpoint, and the controller is configured to modify the configuration of the switch that implements the data plane of the GGSN, through the control plane protocol, to encapsulate and de-encapsulate the subscriber session packets and modify the second GTP tunnel endpoint. 12. Sistema computacional em nuvem, de acordo com a reivindicação 11, caracterizado pelo fato de que o controlador é configurado para remover a configuração do pelo menos um comutador na rota do túnel GTP, através do protocolo de plano de controle, para finalizar o encaminhamento de pacotes da sessão de assinante de acordo com o túnel GTP.12. Cloud computing system, according to claim 11, characterized in that the controller is configured to remove the configuration of at least one switch in the GTP tunnel route, through the control plane protocol, to end the forwarding of packets from the subscriber session according to the GTP tunnel. 13. Sistema computacional em nuvem, de acordo com a reivindicação 12, caracterizado pelo fato de que o controlador é configurado para configurar um comutador em uma nova rota do túnel GTP, através do protocolo de plano de controle, para encaminhar pacotes da sessão de assinante de acordo com o túnel GTP.13. Cloud computing system, according to claim 12, characterized in that the controller is configured to configure a switch on a new GTP tunnel route, through the control plane protocol, to forward packets from the subscriber session according to the GTP tunnel. 14. Sistema computacional em nuvem, de acordo com a reivindicação 8, caracterizado pelo fato de que o controlador é adaptado para receber uma solicitação pelo controlador para deletar o túnel GTP no PC da rede 3G entre o SGSN e o GGSN para a sessão de assinante, sendo que o controlador é configurado para remover a configuração do comutador que implementa o plano de dados do SGSN, através do protocolo de plano de controle, para finalizar a encapsulação e a desencapsulação de pacotes da sessão de assinante e remover o primeiro ponto final de túnel GTP, e o controlador é configurado para remover a configuração do comutador que implementa o plano de dados do GGSN, através do protocolo de plano de controle, para finalizar a encapsulação e a desencapsulação dos pacotes da sessão de assinante e remover o segundo ponto final de túnel GTP.14. Cloud computing system, according to claim 8, characterized in that the controller is adapted to receive a request by the controller to delete the GTP tunnel on the PC of the 3G network between the SGSN and the GGSN for the subscriber session , where the controller is configured to unconfigure the switch that implements the data plane from the SGSN, via the control plane protocol, to terminate the encapsulation and de-encapsulation of packets from the subscriber session and remove the first endpoint of GTP tunnel, and the controller is configured to unconfigure the switch that implements the data plane from the GGSN, via the control plane protocol, to terminate encapsulation and de-encapsulation of subscriber session packets and remove the second endpoint of GTP tunnel.
BR112014001861-8A 2011-08-29 2012-07-31 Method for implementing a packet radio general service tunnel protocol, and cloud computing system for managing the implementation of a packet radio general service tunneling protocol BR112014001861B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/220,471 2011-08-29
US13/220,471 US8762501B2 (en) 2011-08-29 2011-08-29 Implementing a 3G packet core in a cloud computer with openflow data and control planes
PCT/IB2012/053920 WO2013030693A1 (en) 2011-08-29 2012-07-31 Implementing a 3g packet core in a cloud computer with openflow data and control planes

Publications (2)

Publication Number Publication Date
BR112014001861A2 BR112014001861A2 (en) 2017-02-21
BR112014001861B1 true BR112014001861B1 (en) 2022-03-29

Family

ID=46852328

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014001861-8A BR112014001861B1 (en) 2011-08-29 2012-07-31 Method for implementing a packet radio general service tunnel protocol, and cloud computing system for managing the implementation of a packet radio general service tunneling protocol

Country Status (10)

Country Link
US (1) US8762501B2 (en)
EP (1) EP2751964B1 (en)
JP (1) JP6092873B2 (en)
KR (1) KR101900536B1 (en)
CN (1) CN103931149B (en)
AU (1) AU2012303738B2 (en)
BR (1) BR112014001861B1 (en)
CA (1) CA2847103C (en)
IL (1) IL230406A (en)
WO (1) WO2013030693A1 (en)

Families Citing this family (209)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8873398B2 (en) 2011-05-23 2014-10-28 Telefonaktiebolaget L M Ericsson (Publ) Implementing EPC in a cloud computer with openflow data plane
AU2012296330B2 (en) 2011-08-17 2016-03-17 Nicira, Inc. Hierarchical controller clusters for interconnecting different logical domains
CN107071086B (en) 2011-08-17 2020-06-05 Nicira股份有限公司 Logical L3 routing
US9167501B2 (en) 2011-08-29 2015-10-20 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3G packet core in a cloud computer with openflow data and control planes
ES2640871T3 (en) * 2011-09-21 2017-11-07 Nec Corporation Communication device, communication system, communication control method and program
US20140233381A1 (en) * 2011-09-21 2014-08-21 Nec Corporation Communication apparatus, control apparatus, communication system, communication control method, and program
US9112812B2 (en) * 2011-09-22 2015-08-18 Embrane, Inc. Distributed virtual appliance
US9137107B2 (en) 2011-10-25 2015-09-15 Nicira, Inc. Physical controllers for converting universal flows
US9203701B2 (en) 2011-10-25 2015-12-01 Nicira, Inc. Network virtualization apparatus and method with scheduling capabilities
US9178833B2 (en) 2011-10-25 2015-11-03 Nicira, Inc. Chassis controller
US9288104B2 (en) 2011-10-25 2016-03-15 Nicira, Inc. Chassis controllers for converting universal flows
WO2013068505A1 (en) * 2011-11-09 2013-05-16 Nec Europe Ltd. Method and system for supporting transport of data packets in a network
CN107395445B (en) 2011-11-15 2021-04-13 Nicira股份有限公司 Network architecture with middleboxes
CN103166866B (en) * 2011-12-12 2016-08-03 华为技术有限公司 Generate the method for list item, the method receiving message and related device and system
US8849949B1 (en) * 2012-01-05 2014-09-30 Google Inc. Providing proxy service during access switch control plane software upgrade
WO2013125342A1 (en) * 2012-02-20 2013-08-29 日本電気株式会社 Network system, and method for improving resource usage
US10390259B2 (en) * 2012-02-28 2019-08-20 Nokia Solutions And Networks Oy Data forwarding in a mobile communications network system with centralized gateway apparatus controlling distributed gateway elements
WO2013128915A1 (en) * 2012-02-29 2013-09-06 Nec Corporation Communication apparatus, communication method, communication system and program
US9184981B2 (en) * 2012-03-09 2015-11-10 Futurewei Technologies, Inc. System and apparatus for distributed mobility management based network layer virtual machine mobility protocol
US9679132B2 (en) * 2012-04-16 2017-06-13 Hewlett Packard Enterprise Development Lp Filtering access to network content
JP5849162B2 (en) 2012-04-18 2016-01-27 ニシラ, インコーポレイテッド Using transactions to minimize churn in distributed network control systems
CN104272679B (en) * 2012-05-09 2018-02-13 日本电气株式会社 Communication system, control device, communication means and recording medium
US9374301B2 (en) * 2012-05-18 2016-06-21 Brocade Communications Systems, Inc. Network feedback in software-defined networks
WO2014000304A1 (en) * 2012-06-30 2014-01-03 华为技术有限公司 A management method for forwarding plane tunnel resources under the control and forwarding decoupling architecture
US9451393B1 (en) * 2012-07-23 2016-09-20 Amazon Technologies, Inc. Automated multi-party cloud connectivity provisioning
EP2869509B1 (en) * 2012-08-02 2019-01-02 Huawei Technologies Co., Ltd. Method, apparatus, and system for processing data packet
US9210079B2 (en) 2012-08-14 2015-12-08 Vmware, Inc. Method and system for virtual and physical network integration
US9104492B2 (en) * 2012-09-04 2015-08-11 Wisconsin Alumni Research Foundation Cloud-based middlebox management system
US9210615B2 (en) * 2012-09-17 2015-12-08 Brocade Communications Systems, Inc. Method and system for elastic and resilient 3G/4G mobile packet networking for subscriber data flow using virtualized switching and forwarding
CN103716881B (en) * 2012-10-08 2018-08-14 华为技术有限公司 It eats dishes without rice or wine information processing system, method and apparatus
US10104004B2 (en) * 2012-11-08 2018-10-16 Texas Instruments Incorporated Openflow match and action pipeline structure
US9042252B2 (en) * 2012-11-13 2015-05-26 Netronome Systems, Incorporated Inter-packet interval prediction learning algorithm
US9258218B2 (en) * 2012-11-30 2016-02-09 Alcatel Lucent Software-defined network overlay
CN107171972B (en) * 2013-02-28 2020-10-09 华为终端有限公司 Multilink-based data transmission method and device
US10547505B2 (en) * 2013-03-01 2020-01-28 Nokia Solutions And Networks Oy Software defined networking for edge nodes
JP6149924B2 (en) * 2013-03-14 2017-06-21 日本電気株式会社 Communication network and data transmission / reception method of communication network
US9104643B2 (en) 2013-03-15 2015-08-11 International Business Machines Corporation OpenFlow controller master-slave initialization protocol
US9596192B2 (en) 2013-03-15 2017-03-14 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9407560B2 (en) 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
US9118984B2 (en) 2013-03-15 2015-08-25 International Business Machines Corporation Control plane for integrated switch wavelength division multiplexing
US9444748B2 (en) * 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
US9609086B2 (en) 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
WO2014153758A1 (en) * 2013-03-28 2014-10-02 华为技术有限公司 Message transmission method, switching device and controller
US20140301226A1 (en) * 2013-04-09 2014-10-09 Electronics And Telecommunications Research Institute Apparatus and method for network monitoring and packet inspection
JP6036506B2 (en) * 2013-04-15 2016-11-30 富士通株式会社 Program and information processing apparatus for specifying fault influence range
KR20140135000A (en) * 2013-05-15 2014-11-25 삼성전자주식회사 Service processing method and apparatus in software-defined networking system
JP6245619B2 (en) * 2013-05-20 2017-12-13 華為技術有限公司Huawei Technologies Co.,Ltd. Data transmission method, apparatus, and system
US9271197B2 (en) * 2013-05-22 2016-02-23 Futurewei Technologies, Inc. System and method for distributed evolved packet core architecture
US9226333B2 (en) 2013-06-07 2015-12-29 Alcatel Lucent Virtualization of control plane functions of a wireless core packet network
US9578593B2 (en) * 2013-06-11 2017-02-21 Futurewei Technologies, Inc. System and method for coordinated remote control of network radio nodes and core network elements
US9843624B1 (en) * 2013-06-13 2017-12-12 Pouya Taaghol Distributed software defined networking
CN104243299B (en) * 2013-06-14 2019-07-02 中兴通讯股份有限公司 A kind of tunnel processing method and system, control plane equipment, forwarding surface equipment
WO2014198020A1 (en) * 2013-06-14 2014-12-18 Telefonaktiebolaget L M Ericsson(Publ) Migrating embms into a cloud computing system
JP5724046B1 (en) 2013-06-19 2015-05-27 ソフトバンクテレコム株式会社 Communication system and program
CN103347013B (en) * 2013-06-21 2016-02-10 北京邮电大学 A kind of OpenFlow network system and method strengthening programmability
US9398121B1 (en) * 2013-06-24 2016-07-19 Amazon Technologies, Inc. Selecting among virtual networking protocols
KR102129481B1 (en) * 2013-06-27 2020-07-02 에스케이텔레콤 주식회사 Method for processing data in content delivery system and apparatus thereof
US9325630B2 (en) 2013-07-05 2016-04-26 Red Hat, Inc. Wild card flows for switches and virtual switches based on hints from hypervisors
CN104284385B (en) * 2013-07-05 2018-02-23 华为技术有限公司 Apparatus and method for data forwarding
US9602312B2 (en) 2013-07-08 2017-03-21 Nicira, Inc. Storing network state at a network controller
US9571386B2 (en) 2013-07-08 2017-02-14 Nicira, Inc. Hybrid packet processing
US10218564B2 (en) 2013-07-08 2019-02-26 Nicira, Inc. Unified replication mechanism for fault-tolerance of state
ES2804676T3 (en) 2013-07-10 2021-02-09 Huawei Tech Co Ltd Method to implement a GRE tunnel, access point, and gateway
JP6409772B2 (en) * 2013-07-11 2018-10-24 日本電気株式会社 Communication system, serving gateway, communication method thereof, and base station
CN105393506B (en) * 2013-07-11 2019-01-22 日本电气株式会社 Communication system, communication equipment and control method and its control equipment
CN105264835B (en) * 2013-07-12 2016-12-28 华为技术有限公司 Gre tunneling implementation method, access device and aggregation gateway
US9407580B2 (en) 2013-07-12 2016-08-02 Nicira, Inc. Maintaining data stored with a packet
US9282019B2 (en) 2013-07-12 2016-03-08 Nicira, Inc. Tracing logical network packets through physical network
US9344349B2 (en) 2013-07-12 2016-05-17 Nicira, Inc. Tracing network packets by a cluster of network controllers
US9461967B2 (en) 2013-07-18 2016-10-04 Palo Alto Networks, Inc. Packet classification for network routing
CN105556929A (en) * 2013-07-19 2016-05-04 诺基亚通信公司 Network element and method of running applications in a cloud computing system
CN103391296B (en) * 2013-07-29 2016-08-24 北京华为数字技术有限公司 A kind of controller, transponder and Path Setup method and system
CN104378749B (en) 2013-08-12 2020-03-10 中兴通讯股份有限公司 Charging implementation method and system based on SDN EPC network
CN104378250B (en) * 2013-08-13 2019-06-25 中兴通讯股份有限公司 Detection method, device, system, controller and the gateway of data link
CN104378249B (en) 2013-08-13 2019-06-11 中兴通讯股份有限公司 Detection method, device, system, controller and the gateway of data link
US9973382B2 (en) 2013-08-15 2018-05-15 Nicira, Inc. Hitless upgrade for network control applications
JP6288633B2 (en) * 2013-08-23 2018-03-07 学校法人東京電機大学 Network control method
US9548965B2 (en) 2013-08-26 2017-01-17 Nicira, Inc. Proxy methods for suppressing broadcast traffic in a network
CN104426815B (en) * 2013-08-27 2019-07-09 中兴通讯股份有限公司 Method and system, OF controller and the OF interchanger of flow table issuance in a kind of SDN
US9924455B2 (en) * 2013-09-12 2018-03-20 Huawei Technologies Co., Ltd. System and method for virtual user-specific service gateways
US10212022B2 (en) * 2013-09-13 2019-02-19 Microsoft Technology Licensing, Llc Enhanced network virtualization using metadata in encapsulation header
US9674087B2 (en) 2013-09-15 2017-06-06 Nicira, Inc. Performing a multi-stage lookup to classify packets
US9602398B2 (en) 2013-09-15 2017-03-21 Nicira, Inc. Dynamically generating flows with wildcard fields
US20150085868A1 (en) * 2013-09-25 2015-03-26 Cavium, Inc. Semiconductor with Virtualized Computation and Switch Resources
US9910686B2 (en) 2013-10-13 2018-03-06 Nicira, Inc. Bridging between network segments with a logical router
CN104580021B (en) * 2013-10-17 2018-07-13 华为技术有限公司 A kind of acquisition methods and device of collocation point link information
US9225641B2 (en) 2013-10-30 2015-12-29 Globalfoundries Inc. Communication between hetrogenous networks
CN104639470B (en) * 2013-11-14 2019-05-31 中兴通讯股份有限公司 Traffic identifier packaging method and system
US10158538B2 (en) 2013-12-09 2018-12-18 Nicira, Inc. Reporting elephant flows to a network controller
US9967199B2 (en) 2013-12-09 2018-05-08 Nicira, Inc. Inspecting operations of a machine to detect elephant flows
CN104995882B (en) 2013-12-11 2018-05-18 华为技术有限公司 Message processing method and device
JP6932118B2 (en) * 2013-12-11 2021-09-08 華為技術有限公司Huawei Technologies Co.,Ltd. Packet processing method and equipment
US9569368B2 (en) 2013-12-13 2017-02-14 Nicira, Inc. Installing and managing flows in a flow table cache
US9996467B2 (en) 2013-12-13 2018-06-12 Nicira, Inc. Dynamically adjusting the number of flows allowed in a flow table cache
US9294524B2 (en) 2013-12-16 2016-03-22 Nicira, Inc. Mapping virtual machines from a private network to a multi-tenant public datacenter
US9380002B2 (en) * 2013-12-17 2016-06-28 Anue Systems, Inc. Pre-sorter systems and methods for distributing GTP packets
US9363178B2 (en) 2013-12-18 2016-06-07 Telefonaktiebolaget L M Ericsson (Publ) Method, apparatus, and system for supporting flexible lookup keys in software-defined networks
CN104735000A (en) * 2013-12-23 2015-06-24 中兴通讯股份有限公司 OpenFlow signaling control method and device
CN105009521B (en) * 2013-12-23 2018-10-19 华为技术有限公司 Message treatment method and gateway
EP3082305B1 (en) 2013-12-31 2019-05-22 Huawei Technologies Co., Ltd. Message transmission method, apparatus and communication system
US9967181B2 (en) 2014-01-13 2018-05-08 Futurewei Technologies, Inc. Packet labeling in a virtual network
WO2015108458A1 (en) * 2014-01-20 2015-07-23 Telefonaktiebolaget L M Ericsson (Publ) Method nodes and computer program for enabling of data traffic separation
US10484307B2 (en) * 2014-01-20 2019-11-19 Nokia Solutions And Networks Oy Method of operating a network entity
WO2015109486A1 (en) * 2014-01-23 2015-07-30 华为技术有限公司 Tunnel processing method for packet, switching device and control device
CN104811403B (en) * 2014-01-27 2019-02-26 中兴通讯股份有限公司 Group list processing method, apparatus and group table configuration unit based on open flows
US10263903B2 (en) * 2014-02-05 2019-04-16 Ibasis, Inc. Method and apparatus for managing communication flow in an inter-network system
US9629018B2 (en) 2014-02-05 2017-04-18 Ibasis, Inc. Method and apparatus for triggering management of communication flow in an inter-network system
US9473414B2 (en) * 2014-02-06 2016-10-18 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for supporting packet prioritization at a data network
CN103747502B (en) * 2014-02-18 2017-06-23 中国联合网络通信集团有限公司 The processing method and system of a kind of GTP tunnel
CN104869064B (en) * 2014-02-21 2018-03-16 华为技术有限公司 A kind of flow table update method and device
EP3108617A4 (en) * 2014-02-21 2017-10-25 Nokia Solutions and Networks Oy Packet flow optimization in a network
US9473385B2 (en) * 2014-03-11 2016-10-18 Sprint Communications Company L.P. Control of long term evolution (LTE) virtual network elements based on radio network tunnels
JP2015177430A (en) * 2014-03-17 2015-10-05 日本電気株式会社 Tunnel endpoint device, communication device, communication system, communication method and program
JP6287443B2 (en) * 2014-03-26 2018-03-07 富士通株式会社 Control device and table creation method thereof
US9893988B2 (en) 2014-03-27 2018-02-13 Nicira, Inc. Address resolution using multiple designated instances of a logical router
US9686200B2 (en) 2014-03-31 2017-06-20 Nicira, Inc. Flow cache hierarchy
US10193806B2 (en) 2014-03-31 2019-01-29 Nicira, Inc. Performing a finishing operation to improve the quality of a resulting hash
US9385954B2 (en) 2014-03-31 2016-07-05 Nicira, Inc. Hashing techniques for use in a network environment
US20150289299A1 (en) * 2014-04-03 2015-10-08 Qualcomm Incorporated Multichannel link aggregation with tdls
US20170034122A1 (en) * 2014-04-11 2017-02-02 Nokia Solutions And Networks Management International Gmbh Multi tenancy in software defined networking
BR112016025264B1 (en) * 2014-05-05 2022-02-01 Telefonaktiebolaget Lm Ericsson (Publ) Control plane device in a cloud computing system to run a plurality of virtual machines to deploy network function virtualization
US9602422B2 (en) 2014-05-05 2017-03-21 Nicira, Inc. Implementing fixed points in network state updates using generation numbers
US9491031B2 (en) * 2014-05-06 2016-11-08 At&T Intellectual Property I, L.P. Devices, methods, and computer readable storage devices for collecting information and sharing information associated with session flows between communication devices and servers
US9742881B2 (en) 2014-06-30 2017-08-22 Nicira, Inc. Network virtualization using just-in-time distributed capability for classification encoding
US9331905B1 (en) * 2014-07-10 2016-05-03 Sprint Communication Company L.P. Configuring ethernet elements via ethernet local management interface
CN105337854B (en) * 2014-07-14 2018-10-26 杭州迪普科技股份有限公司 A kind of routing iinformation retransmission method and device
CN104219149B (en) * 2014-08-26 2018-07-13 新华三技术有限公司 A kind of message transmitting method and equipment based on virtual connections
WO2016030724A1 (en) * 2014-08-29 2016-03-03 Pismo Labs Technology Limited Methods and systems for transmitting packets through an aggregated connection
WO2016036287A1 (en) * 2014-09-02 2016-03-10 Telefonaktiebolaget L M Ericsson (Publ) Network node and method for handling a traffic flow related to a local service cloud
CN104168203A (en) * 2014-09-03 2014-11-26 上海斐讯数据通信技术有限公司 Processing method and system based on flow table
WO2016044982A1 (en) * 2014-09-22 2016-03-31 华为技术有限公司 Implementation device, method and system for mobile network flattening
US9826436B2 (en) * 2014-09-29 2017-11-21 At&T Intellectual Property I, L.P. Facilitation of mobility management across various radio technologies
US11178051B2 (en) 2014-09-30 2021-11-16 Vmware, Inc. Packet key parser for flow-based forwarding elements
US10250443B2 (en) 2014-09-30 2019-04-02 Nicira, Inc. Using physical location to modify behavior of a distributed virtual network element
US10511458B2 (en) 2014-09-30 2019-12-17 Nicira, Inc. Virtual distributed bridging
US9652277B2 (en) 2014-10-03 2017-05-16 At&T Intellectual Property I, L.P. Scalable network function virtualization
US10469342B2 (en) 2014-10-10 2019-11-05 Nicira, Inc. Logical network traffic analysis
US9438534B2 (en) * 2014-10-14 2016-09-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for data set migration over a circuit switching network
BR112017005397A2 (en) 2014-10-17 2017-12-12 Intel Ip Corp methods and apparatus for flexible mobile guidance in cellular networks
US10091082B2 (en) 2014-11-28 2018-10-02 At&T Intellectual Property I, L.P. Methods and apparatus to capture data plane information
EP3223474B1 (en) * 2014-12-09 2020-06-17 Huawei Technologies Co., Ltd. Method and device for processing adaptive flow table
EP3231247A1 (en) 2014-12-12 2017-10-18 Telefonaktiebolaget LM Ericsson (publ) A method and node for handling control plane signaling
CN104580505A (en) * 2015-01-26 2015-04-29 中国联合网络通信集团有限公司 Tenant isolating method and system
CN104579898A (en) * 2015-01-26 2015-04-29 中国联合网络通信集团有限公司 Tenant isolating method and system
US10505834B2 (en) * 2015-03-27 2019-12-10 Gigamon Inc. Session aware adaptive packet filtering
WO2016160007A1 (en) * 2015-04-01 2016-10-06 Nokia Solutions And Networks Oy Method and apparatus for flow control
US9967134B2 (en) 2015-04-06 2018-05-08 Nicira, Inc. Reduction of network churn based on differences in input state
JP6097467B1 (en) 2015-06-10 2017-03-15 株式会社ソラコム Communication system and communication method for providing wireless terminal with access to IP network
US9872168B2 (en) 2015-06-10 2018-01-16 Soracom, Inc. Management method and management server for using SIM cards
JP5938498B1 (en) * 2015-06-25 2016-06-22 株式会社ソラコム COMMUNICATION SYSTEM AND COMMUNICATION METHOD FOR PROVIDING WIRELESS TERMINAL ACCESS TO EXTERNAL NETWORK
US10361952B2 (en) 2015-06-30 2019-07-23 Nicira, Inc. Intermediate logical interfaces in a virtual distributed router environment
EP3306873B1 (en) * 2015-06-30 2019-09-11 Huawei Technologies Co., Ltd. Routing method, and relevant device and system
JP6409974B2 (en) * 2015-07-17 2018-10-24 日本電気株式会社 Communication system, communication apparatus, communication method, terminal, program
CN105119820B (en) * 2015-07-23 2018-01-02 中国人民解放军信息工程大学 The more example parallel execution systems of Routing Protocol and its method is performed parallel
US10439929B2 (en) 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
CN106385365B (en) * 2015-08-07 2019-09-06 新华三技术有限公司 The method and apparatus for realizing cloud platform safety based on open flows Openflow table
TWI562661B (en) 2015-08-27 2016-12-11 Ind Tech Res Inst Cell and method and system for bandwidth management of backhaul network of cell
US9806983B2 (en) 2015-09-14 2017-10-31 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. System and method for control flow management in software defined networks
JP5938507B1 (en) * 2015-09-18 2016-06-22 株式会社ソラコム COMMUNICATION SYSTEM AND COMMUNICATION METHOD FOR PROVIDING WIRELESS TERMINAL ACCESS TO EXTERNAL NETWORK
KR101998355B1 (en) * 2015-09-23 2019-07-09 구글 엘엘씨 Systems and methods for mobility management in distributed software defined network packet core systems
US10204122B2 (en) 2015-09-30 2019-02-12 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
US9871731B2 (en) 2015-09-30 2018-01-16 Microsoft Technology Licensing, Llc Data plane manipulation in a load balancer
US11113085B2 (en) 2015-09-30 2021-09-07 Nicira, Inc. Virtual network abstraction
CN112566201A (en) * 2015-10-09 2021-03-26 苹果公司 Network initiated packet data network connection
US10938638B2 (en) 2015-10-26 2021-03-02 Nokia Solutions And Networks Oy Method and apparatus for virtualized network function decomposition
US11019167B2 (en) 2016-04-29 2021-05-25 Nicira, Inc. Management of update queues for network controller
EP3454588B1 (en) * 2016-05-20 2023-06-07 Huawei Technologies Co., Ltd. Method and device for transmitting messages
US10979890B2 (en) 2016-09-09 2021-04-13 Ibasis, Inc. Policy control framework
US11895177B2 (en) 2016-09-30 2024-02-06 Wisconsin Alumni Research Foundation State extractor for middlebox management system
US10439932B2 (en) * 2016-10-05 2019-10-08 Avago Technologies International Sales Pte. Limited System and method for flow rule management in software-defined networks
CN106453086B (en) * 2016-10-17 2019-07-09 上海赛特斯信息科技股份有限公司 Label packet control plane integration method based on MPLS L2VPN business
BR112019009823A2 (en) * 2016-11-16 2019-08-13 Huawei Tech Co Ltd device and data migration method
US10805239B2 (en) 2017-03-07 2020-10-13 Nicira, Inc. Visualization of path between logical network endpoints
US10820190B2 (en) 2017-03-30 2020-10-27 Ibasis, Inc. eSIM profile switching without SMS
US10511523B1 (en) 2017-05-15 2019-12-17 Barefoot Networks, Inc. Network forwarding element with data plane packet snapshotting capabilities
US10855694B2 (en) 2017-05-30 2020-12-01 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for monitoring encrypted packet flows within a virtual network environment
US10630552B2 (en) 2017-06-08 2020-04-21 Huawei Technologies Co., Ltd. Wireless communication access node (WCAN) device based policy enforcement and statistics collection in anchorless communication systems
US10541909B2 (en) * 2017-06-23 2020-01-21 International Business Machines Corporation Distributed affinity tracking for network connections
US10524116B2 (en) 2017-06-27 2019-12-31 Ibasis, Inc. Internet of things services architecture
US10903985B2 (en) 2017-08-25 2021-01-26 Keysight Technologies Singapore (Sales) Pte. Ltd. Monitoring encrypted network traffic flows in a virtual environment using dynamic session key acquisition techniques
US10992652B2 (en) 2017-08-25 2021-04-27 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for monitoring encrypted network traffic flows
CN109428792B (en) * 2017-08-29 2021-12-14 中兴通讯股份有限公司 Method, device and equipment for user broadband access processing
US10608887B2 (en) 2017-10-06 2020-03-31 Nicira, Inc. Using packet tracing tool to automatically execute packet capture operations
CN107770012A (en) * 2017-10-23 2018-03-06 中国联合网络通信集团有限公司 A kind of broad band access method, device and virtual broadband RAS system
US10374827B2 (en) 2017-11-14 2019-08-06 Nicira, Inc. Identifier that maps to different networks at different datacenters
US10511459B2 (en) 2017-11-14 2019-12-17 Nicira, Inc. Selection of managed forwarding element for bridge spanning multiple datacenters
US10404597B2 (en) 2017-11-30 2019-09-03 Keysight Technologies, Inc. Virtual horizontally-scalable packet broker systems and methods for distribution of session-based network traffic
US10673764B2 (en) 2018-05-22 2020-06-02 International Business Machines Corporation Distributed affinity tracking for network connections
US10893030B2 (en) 2018-08-10 2021-01-12 Keysight Technologies, Inc. Methods, systems, and computer readable media for implementing bandwidth limitations on specific application traffic at a proxy element
CN109918109B (en) * 2019-03-12 2022-07-19 赛特斯信息科技股份有限公司 System and method for realizing software version smooth upgrading function aiming at SD-WAN system
CN114710975B (en) * 2019-07-31 2023-07-28 华为技术有限公司 Method, base station, network element and device for multi-domain transmission and multi-transmission network context identification
WO2021021169A1 (en) 2019-07-31 2021-02-04 Huawei Technologies Co., Ltd Transporting mtnc-id over srv6-enabled dataplane for 5g transport
US20220247719A1 (en) * 2019-09-24 2022-08-04 Pribit Technology, Inc. Network Access Control System And Method Therefor
US11283699B2 (en) 2020-01-17 2022-03-22 Vmware, Inc. Practical overlay network latency measurement in datacenter
WO2021149160A1 (en) 2020-01-21 2021-07-29 三菱電機株式会社 Controller, communication device, communication system, control circuit, storage medium, and communication method
US11190417B2 (en) 2020-02-04 2021-11-30 Keysight Technologies, Inc. Methods, systems, and computer readable media for processing network flow metadata at a network packet broker
US11496437B2 (en) 2020-04-06 2022-11-08 Vmware, Inc. Selective ARP proxy
US11570090B2 (en) 2020-07-29 2023-01-31 Vmware, Inc. Flow tracing operation in container cluster
US11558426B2 (en) 2020-07-29 2023-01-17 Vmware, Inc. Connection tracking for container cluster
US11196628B1 (en) 2020-07-29 2021-12-07 Vmware, Inc. Monitoring container clusters
US11736436B2 (en) 2020-12-31 2023-08-22 Vmware, Inc. Identifying routes with indirect addressing in a datacenter
US11336533B1 (en) 2021-01-08 2022-05-17 Vmware, Inc. Network visualization of correlations between logical elements and associated physical elements
CN113098775B (en) * 2021-03-28 2022-04-22 杭州迪普信息技术有限公司 Flow shunting method and device
US11805101B2 (en) 2021-04-06 2023-10-31 Vmware, Inc. Secured suppression of address discovery messages
CN113572634B (en) * 2021-06-22 2023-04-07 济南浪潮数据技术有限公司 Method and system for realizing two-layer intercommunication between in-cloud network and out-cloud network
US11687210B2 (en) 2021-07-05 2023-06-27 Vmware, Inc. Criteria-based expansion of group nodes in a network topology visualization
US11711278B2 (en) 2021-07-24 2023-07-25 Vmware, Inc. Visualization of flow trace operation across multiple sites
US11855862B2 (en) 2021-09-17 2023-12-26 Vmware, Inc. Tagging packets for monitoring and analysis

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765591B2 (en) * 1999-04-02 2004-07-20 Nortel Networks Limited Managing a virtual private network
US7103002B2 (en) * 2000-07-12 2006-09-05 Telefonktiebolaget Lm Ericsson (Publ) Communication management in networks having split control planes and user planes
US7149195B2 (en) * 2001-08-28 2006-12-12 Nokia Corporation Apparatus, and associated method, for multicasting data in a radio communications system
US20030126435A1 (en) * 2001-12-28 2003-07-03 Mizell Jerry L. Method, mobile telecommunication network, and node for authenticating an originator of a data transfer
GR1004638B (en) * 2003-07-08 2004-07-23 ATMELCorporation Method and system for seamless mobility of mobile terminals in a wireless network
ATE338437T1 (en) * 2003-09-11 2006-09-15 Cit Alcatel REGISTRATION OF A DUAL MODE TERMINAL IN A CELLULAR NETWORK AND A WLAN NETWORK
US7616613B2 (en) * 2004-05-05 2009-11-10 Cisco Technology, Inc. Internet protocol authentication in layer-3 multipoint tunneling for wireless access points
US8031719B2 (en) * 2005-01-19 2011-10-04 Alcatel Lucent System, node, and method optimizing data connections for packet services
EP1705858A1 (en) * 2005-03-24 2006-09-27 Orange SA Method and system for activation of a packet data protocol context
EP2309679B1 (en) * 2005-12-31 2014-05-07 Huawei Technologies Co., Ltd. A method and a system for optimizing the radio network layer to implement the network interconnection, and a method for interconnection between the radio network and the wired network
WO2008044283A1 (en) * 2006-10-10 2008-04-17 Panasonic Corporation Radio base station apparatus
US20110004913A1 (en) * 2007-07-31 2011-01-06 Symbol Technologies, Inc. Architecture for seamless enforcement of security policies when roaming across ip subnets in ieee 802.11 wireless networks
CN102685880B (en) * 2007-08-20 2015-04-29 华为技术有限公司 Unregistering method of user equipment
CN102217228B (en) * 2007-09-26 2014-07-16 Nicira股份有限公司 Network operating system for managing and securing networks
US8902733B2 (en) * 2008-12-02 2014-12-02 Nec Corporation Communication network management system, method and program, and management computer
US20100220622A1 (en) 2009-02-27 2010-09-02 Yottaa Inc Adaptive network with automatic scaling
CA2756289C (en) * 2009-04-01 2016-02-02 Nicira Networks, Inc. Method and apparatus for implementing and managing virtual switches
US20110082941A1 (en) * 2009-10-06 2011-04-07 Electronics And Telecommunications Research Institute Method of providing direct communication in internet protocol network
US7937438B1 (en) * 2009-12-07 2011-05-03 Amazon Technologies, Inc. Using virtual networking devices to manage external connections
US7991859B1 (en) * 2009-12-28 2011-08-02 Amazon Technologies, Inc. Using virtual networking devices to connect managed computer networks
US7953865B1 (en) * 2009-12-28 2011-05-31 Amazon Technologies, Inc. Using virtual networking devices to manage routing communications between connected computer networks
CN102149213B (en) * 2010-02-10 2014-02-12 邬学农 Relaying transmission method based on GTP (GPRS Tunneling Protocol) protocol and system thereof
US8862714B2 (en) * 2010-03-15 2014-10-14 Electronics And Telecommunications Research Institute Apparatus and method for virtualizing of network device
US8856300B2 (en) 2010-05-18 2014-10-07 At&T Intellectual Property I, L.P. End-to-end secure cloud computing
US8989187B2 (en) * 2010-06-04 2015-03-24 Coraid, Inc. Method and system of scaling a cloud computing network
US8897134B2 (en) * 2010-06-25 2014-11-25 Telefonaktiebolaget L M Ericsson (Publ) Notifying a controller of a change to a packet forwarding configuration of a network element over a communication channel
EP2609522A4 (en) 2010-08-26 2014-10-29 Telcordia Tech Inc System method and program for telecom infrastructure virtualization and management
US8873398B2 (en) * 2011-05-23 2014-10-28 Telefonaktiebolaget L M Ericsson (Publ) Implementing EPC in a cloud computer with openflow data plane

Also Published As

Publication number Publication date
AU2012303738A1 (en) 2014-03-20
WO2013030693A1 (en) 2013-03-07
BR112014001861A2 (en) 2017-02-21
US20130054761A1 (en) 2013-02-28
EP2751964A1 (en) 2014-07-09
KR101900536B1 (en) 2018-09-19
EP2751964B1 (en) 2017-01-18
AU2012303738B2 (en) 2016-07-28
JP2014531792A (en) 2014-11-27
JP6092873B2 (en) 2017-03-08
CN103931149B (en) 2016-10-05
KR20140054357A (en) 2014-05-08
US8762501B2 (en) 2014-06-24
IL230406A (en) 2016-05-31
CA2847103A1 (en) 2013-03-07
CN103931149A (en) 2014-07-16
CA2847103C (en) 2019-08-20

Similar Documents

Publication Publication Date Title
BR112014001861B1 (en) Method for implementing a packet radio general service tunnel protocol, and cloud computing system for managing the implementation of a packet radio general service tunneling protocol
US9497661B2 (en) Implementing EPC in a cloud computer with openflow data plane
CN109889443B (en) Cloud computing system and method for implementing control plane of Evolved Packet Core (EPC) in cloud computing system
US9167501B2 (en) Implementing a 3G packet core in a cloud computer with openflow data and control planes
EP3140964B1 (en) Implementing a 3g packet core in a cloud computer with openflow data and control planes
US9385950B2 (en) Configurable service proxy local identifier mapping
US9003057B2 (en) System and method for exchanging information in a mobile wireless network environment
US9380111B2 (en) Feature peer network with scalable state information
EP3759870A1 (en) Network slicing with smart contracts
US8675669B2 (en) Policy homomorphic network extension
US20220150160A1 (en) Backup service function notification and synchronization

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Ipc: H04L 12/911 (2013.01), H04L 12/46 (2006.01), H04W

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 31/07/2012, OBSERVADAS AS CONDICOES LEGAIS.