BR102012027415A2 - Método e aparelho para associação dinâmica de nós de terminal com nós de agregação e equilíbrio de carga - Google Patents

Método e aparelho para associação dinâmica de nós de terminal com nós de agregação e equilíbrio de carga Download PDF

Info

Publication number
BR102012027415A2
BR102012027415A2 BRBR102012027415-9A BR102012027415A BR102012027415A2 BR 102012027415 A2 BR102012027415 A2 BR 102012027415A2 BR 102012027415 A BR102012027415 A BR 102012027415A BR 102012027415 A2 BR102012027415 A2 BR 102012027415A2
Authority
BR
Brazil
Prior art keywords
gateway
service
ipgw
message
gateways
Prior art date
Application number
BRBR102012027415-9A
Other languages
English (en)
Other versions
BR102012027415B1 (pt
Inventor
Robert Torres
George Choquette
John Border
Vivek Gupta
Original Assignee
Hughes Network Systems Llc
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 Hughes Network Systems Llc filed Critical Hughes Network Systems Llc
Publication of BR102012027415A2 publication Critical patent/BR102012027415A2/pt
Publication of BR102012027415B1 publication Critical patent/BR102012027415B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/088Load balancing or load distribution among core entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/1851Systems using a satellite or space-based relay
    • H04B7/18517Transmission equipment in earth stations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/18Management of setup rejection or failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/16Gateway arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Astronomy & Astrophysics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

MÉTODO E APARELHO PARA ASSOCIAÇÃO DINÂMICA DE NÓS DE TERMINAL COM NÓS DE AGREGAÇÃO E EQUILÍBRIO DE CARGA. Um sistema e um método para associação de nós remotos a respectivos nós de agregação em uma rede de comunicacões de largura de banda compartilhada de alta capacidade, a qual se adequa a várias exigências e desejos associados a serviços de banda larga eficientes, robustos, confiáveis e flexíveis, e o que é relativamente eficiente e automatizado de um ponto de vista de gerenciamento de rede e de equilíbrio de carga, são providos. Um nó remoto recebe uma mensagem transmitida por um gateway pela rede de comunicações, em que a mensagem inclui códigos de serviço identificando uma ou mais capacidades de serviço do gateway. O nó remoto determina, com base nos códigos de serviço, se o gateway é elegível para servir a uma ou mais exigências de serviço do nó remoto. O nó remoto então adiciona o gateway a um grupo de gateways elegíveis na rede de comunicações.

Description

MÉTODO E APARELHO PARA ASSOCIAÇÃO DINÂMICA DE NÓS DE TERMINAL COM NÓS DE AGREGAÇÃO E EQUILÍBRIO DE CARGA
CAMPO DA INVENÇÃO
As modalidades da presente invenção se referem a um 5 sistema e um método para associação de nós remotos com respectivos nós de agregação em uma rede de comunicações de largura de banda compartilhada (por exemplo, uma rede de comunicações por satélite de largura de banda compartilhada).
ANTECEDENTES
As capacidades gerais de satélites de banda larga estão crescendo exponencialmente, e essa capacidade aumenta os desafios únicos presentes no sistema de solo associado e nos projetos de rede. A meta dos projetistas de sistema, das operadoras de sistema e dos provedores de serviços é suportar e prover serviços eficientes, robustos, confiáveis e flexíveis, em um ambiente de rede de largura de banda compartilhada, utilizando esses sistemas de satélite de capacidade alta. Nos sistemas atuais, por exemplo, onde múltiplos nós remotos são capazes de acessarem uma rede pública (por exemplo, a Internet) ou uma rede remota através de um ou mais nós de agregação, a atribuição de nós remotos a um gateway ou um nó de agregação é relativamente estática. Equipes de operações gastam uma quantidade significativa de tempo equilibrando manualmente a carga e provendo uma atribuição estática apropriada de nós remotos a respectivos gateways. Essas atribuições estáticas, contudo, são relativamente inflexíveis, e, assim, criam desafios e ineficiências no gerenciamento de rede, 3 0 especialmente onde as cargas do sistema mudam dinamicamente por dados períodos de tempo. Ainda, no caso de uma atribuição relativamente estática de endereços de IP para nós remotos, com base na atribuição estática de um nó remoto a um gateway, no caso de o terminal ser movido para 5 um gateway diferente, um furo é criado no espaço de endereço do gateway (com base no endereço de IP atribuído ao nó remoto que é reatribuído a um outro gateway) . Assim sendo, os sistemas atuais falham em suportar serviços de banda larga eficientes, robustos, confiáveis e flexíveis, 10 nesses ambientes de rede de largura de banda compartilhada utilizando esses sistemas de satélite de alta capacidade.
A obtenção de serviços de banda larga eficientes, robustos, flexíveis e rápidos, em uma rede de largura de banda compartilhada como essa, contudo, impõe desafios únicos aos projetistas e às operadoras de sistema. Por exemplo, surgem dificuldades na utilização dos protocolos existentes (por exemplo, mecanismos de atribuição de endereço em redes de DHCP e TCP ΪΡ), enquanto ainda se lida de forma ótima com a largura de banda. Ainda, existem desafios de projeto na garantia que um nó remoto possa identificar um conjunto de nós de agregação disponíveis capazes de proverem os serviços requeridos, e garantindo que um equilíbrio de carga seja dinamicamente empregado através dos nós de agregação para se evitar uma sobrecarga de qualquer nó de agregação. Com respeito ao gerenciamento de configuração, embora um pouco automatizado nos sistemas atuais, o gerenciamento de nós remotos a partir do ponto de vista de configuração e serviços, é suscetível a atualizações de etapa travada de nós remotos e gateways 3 0 estarem fora de sincronização. De um ponto de vista comercial, também é desejável (embora desafiador do ponto de vista de projeto) garantir que um nó remoto não possa acessar níveis de serviço além daqueles para os quais tenha uma assinatura, e evitar a criação de furos de roteamento 5 que são difíceis de gerenciar e problemáticos. Outros desafios surgem no projeto de uma recuperação graciosa de uma falha de um nó de agregação, com um rápido equilíbrio de carga da carga para os outros nós de agregação, e para um sítio de gateway diverso geograficamente para a provisão 10 de serviço para nós remotos sem se requerer um conhecimento de configuração com referência a como servir àqueles nós remotos.
O que é necessário é um projeto de sistema que empregue uma arquitetura dinâmica e flexível e um método 15 para associação de nós remotos com respectivos nós de agregação em uma rede de largura de banda compartilhada, o que se adequaria a várias exigências e a vários desejos associados a serviços de banda larga eficientes, robustos, confiáveis e flexíveis, e o que seria relativamente 20 eficiente e automatizado de um ponto de vista de gerenciamento de rede e equilíbrio de carga.
ALGUMAS MODALIDADES DE EXEMPLO
A presente invenção vantajosamente se dirige às necessidades acima, bem como a outras necessidades, pela 25 provisão de uma arquitetura dinâmica e flexível e a um método para associação de nós remotos a respectivos nós de agregação em uma rede de comunicações de largura de banda compartilhada (por exemplo, uma rede de comunicações por satélite de largura de banda compartilhada) , o que se 3 0 adequa a várias exigências e desejos associados a serviços de banda larga eficientes, robustos, confiáveis e flexíveis, e o que é relativamente eficiente e automatizado de um ponto de vista de gerenciamento de rede e equilíbrio de carga.
De acordo com uma modalidade de exemplo, um método
compreende o recebimento, por um dispositivo terminal, de uma mensagem transmitida por um gateway por uma rede de comunicações, em que a mensagem inclui códigos de serviço identificando uma ou mais capacidades de serviço do 10 gateway. O método ainda compreende a determinação, com base nos códigos de serviço, quanto a se o gateway é um gateway elegível para servir a uma ou mais exigências de serviço do dispositivo terminal, e a adição do gateway a um grupo de gateways elegíveis na rede de comunicações. De acordo com 15 uma modalidade de exemplo adicional, o método ainda compreende a determinação quanto a se o gateway é um do grupo de gateways elegíveis. Se for determinado que o gateway é um do grupo de gateways elegíveis, então, o método ainda compreenderá determinar se um número de
2 0 seqüência de mudança incluído na mensagem indica uma
mudança de configuração do gateway, e, se for determinado que o número de seqüência de mudança indica uma mudança de configuração do gateway, então, o método ainda compreenderá a atualização de uma informação associada ao gateway em um 25 banco de dados de informação referente aos gateways no grupo de gateways elegíveis. De acordo com ainda uma outra modalidade de exemplo, a mensagem ainda inclui uma informação de carga especificando uma carga do gateway, e o método ainda compreende a manutenção de um banco de dados
3 0 de informação referente aos gateways no grupo de gateways elegíveis, em que a informação do banco de dados inclui uma informação de carga especificando uma carga para cada um dos gateways do grupo de gateways elegíveis, e a seleção de um gateway a partir do grupo de gateways elegíveis através 5 de um algoritmo de seleção de equilíbrio de carga, com base na informação de carga dos gateways, e a transmissão de uma mensagem de requisição de associação para o gateway selecionado.
De acordo com uma modalidade de exemplo adicional, o 10 método compreende o recebimento, por um gateway, de uma mensagem de requisição de associação a partir de um dispositivo terminal, em que a mensagem de requisição de associação inclui uma assinatura de serviço e parâmetros de serviço do dispositivo terminal. 0 método ainda compreende 15 a determinação, com base na assinatura de serviço, quanto a se a mensagem de requisição de associação reflete uma requisição válida. 0 método também compreende determinar uma ou mais requisições de serviço do dispositivo terminal, em que a determinação das requisições de serviço é com base 2 0 em uma correspondência entre os parâmetros de serviço e a informação associada de um banco de dados de exigência de serviço do gateway, a determinação quanto a se o gateway é configurado para servir às exigências de serviço do dispositivo terminal, e a transmissão, em resposta à
2 5 determinação quanto a se o gateway está configurado para
servir às exigências de serviço do dispositivo terminal, de uma mensagem de aceitação de associação incluindo um ou mais parâmetros de associação.
De acordo com uma modalidade de exemplo adicional, um
3 0 método compreende o recebimento, por um dispositivo terminal, de uma mensagem transmitida por um gateway por uma rede de comunicações, em que a mensagem inclui uma informação de carga especificando uma carga para o gateway. 0 método ainda compreende a determinação que o dispositivo terminal está associado ao gateway para transmissão e recepção de um tráfego de dados de serviço pela rede de comunicações através do gateway, determinar se a carga do gateway associado excede a um ou mais dentre um limite pré- determinado e uma carga de corte do gateway, e determinar randomicamente que é para terminar a associação com o gateway, se for determinado que a carga do gateway associado excede a um ou mais dentre um limite pré- determinado e uma carga de corte do gateway. Alternativamente, o método ainda compreende determinar se o dispositivo terminal está em um estado inativo, em que o dispositivo terminal não transmitiu ou recebeu qualquer tráfego de dados de serviço por um período de tempo pre- determinado, e em que a determinação para terminar a associação com o gateway apenas ocorre se o dispositivo 2 0 terminal estiver no estado inativo.
De acordo com uma modalidade de exemplo adicional, um aparelho compreende pelo menos um processador e pelo menos uma memória incluindo um código de programa de computador para um ou mais programas. Pelo menos uma memória e o
2 5 código de programa de computador são configurados para, com
pelo menos um processador, fazer com que o aparelho execute pelo menos o seguinte. 0 aparelho é feito receber uma mensagem transmitida por um gateway por uma rede de comunicações, em que a mensagem inclui códigos de serviço
3 0 identificando uma ou mais capacidades de serviço do gateway, para determinar, com base nos códigos de serviço, se o gateway é um gateway elegível para servir a uma ou mais exigências de serviço do aparelho, e adicionar o gateway a um grupo de gateways elegíveis na rede de 5 comunicações. De acordo com uma outra modalidade de exemplo, o aparelho ainda é feito determinar se o gateway é um do grupo de gateways elegíveis. Se for determinado que o gateway é um do grupo de gateways elegíveis, então, o aparelho ainda será feito determinar se um número de 10 seqüência de mudança incluído na mensagem indica uma mudança de configuração do gateway, e, se for determinado que o número de seqüência de mudança indica uma mudança de configuração do gateway, então, o aparelho será adicionalmente feito atualizar uma informação associada ao 15 gateway em um banco de dados de informação referente aos gateways no grupo de gateways elegíveis. De acordo com ainda uma outra modalidade de exemplo, a mensagem ainda inclui uma informação de carga especificando uma carga do gateway, e o aparelho ainda é feito manter um banco de
2 0 dados de informação referente aos gateways no grupo de
gateways elegíveis, e selecionar um gateway a partir do grupo de gateways elegíveis através de um algoritmo de seleção de equilíbrio de carga com base na informação de carga dos gateways, e transmitir uma mensagem de requisição de associação para o gateway selecionado.
De acordo com uma modalidade de exemplo adicional, um aparelho compreende pelo menos um processador, e pelo menos uma memória incluindo um código de programa de computador para um ou mais programas. Pelo menos uma memória e o
3 0 código de programa de computador são configurados para, com pelo menos um processador, fazerem com que o aparelho realize pelo menos o seguinte. O aparelho é feito receber uma mensagem de requisição de associação a partir de um dispositivo terminal, em que a mensagem de requisição de associação inclui uma assinatura de serviço e parâmetros de serviço do dispositivo terminal. O aparelho ainda é feito determinar, com base na assinatura de serviço, se a mensagem de requisição de associação reflete uma requisição válida. 0 aparelho também é feito determinar uma ou mais exigências de serviço do dispositivo terminal, em que a determinação das exigências de serviço é com base em uma correspondência entre os parâmetros de serviço e a informação associada de um banco de dados de exigência de serviço do gateway, para determinar se um gateway é configurado para servir às exigências de serviço do dispositivo terminal, e para transmitir, em resposta à determinação se o gateway é configurado para servir às exigências de serviço do dispositivo terminal, uma mensagem de requisição de associação incluindo um ou mais parâmetros de associação.
De acordo com uma modalidade de exemplo adicional, um aparelho compreende pelo menos um processador, e pelo menos uma memória incluindo um código de programa de computador para um ou mais programas. Pelo menos uma memória e o 25 código de programa de computador são configurados para, com pelo menos um processador, fazer com que o aparelho realize pelo menos o seguinte. O aparelho é feito receber uma mensagem transmitida por um gateway por uma rede de comunicações, em que a mensagem inclui uma informação de 30 carga especificando uma carga para o gateway. 0 aparelho é ainda feito determinar que o aparelho está associado ao gateway para transmissão e recepção do tráfego de dados de serviço pela rede de comunicações através do gateway, para determinar se a carga do gateway associado excede a um ou mais dentre um limite pré-determinado e uma carga de corte do gateway, e para randomicamente determinar que é para terminar a associação com o gateway, se for determinado que a carga do gateway associado excede a um ou mais dentre o limite pré-determinado e uma carga de corte do gateway. Alternativamente, o aparelho ainda é feito determinar se o aparelho está em um estado inativo, em que o aparelho não transmitiu ou recebeu qualquer tráfego de dados de serviço por um período de tempo pré-determinado, e em que a determinação para terminar a associação com o gateway apenas ocorre se o aparelho estiver no estado inativo.
Ainda outros aspectos, recursos e vantagens da presente invenção são prontamente evidentes a partir da descrição detalhada a seguir, simplesmente pela ilustração de várias modalidades em particular e implementações, 20 incluindo o melhor modo contemplado para a realização da presente invenção. A presente invenção também é capaz de outras modalidades e diferentes, e seus vários detalhes podem ser modificados em vários aspectos óbvios, tudo sem se desviar do espírito e do escopo da presente invenção. 25 Assim sendo, os desenhos e a descrição devem ser considerados como de natureza ilustrativa e não como restritivos.
BREVE DESCRIÇÃO DOS DESENHOS
A presente invenção é ilustrada a título de exemplo e não de limitação, nas figuras dos desenhos associados, e nos quais números de referência iguais se referem a elementos similares e nos quais:
as figuras IA, IB e IC ilustram sistemas de comunicações capazes de empregarem uma arquitetura e um método para associação de nós remotos a respectivos nós de agregação, de acordo com várias modalidades de exemplo;
a figura 2 ilustra um diagrama de blocos de um grupo de IPGW, de acordo com uma modalidade de exemplo;
a figura 3A descreve um fluxograma que ilustra um algoritmo de ST para a criação de um grupo de IPGW, e para a adição de um IPGW ao grupo de IPGW do ST, de acordo com uma modalidade de exemplo;
a figura 3B descreve um fluxograma que ilustra um algoritmo por meio do qual um ST presentemente associado pode determinar que é para se desassociar do IPGW atual e se associar a um novo IPGW, de acordo com uma modalidade de exemplo;
a figura 3 C descreve um fluxograma que ilustra um algoritmo de seleção de IPGW, por meio do que um ST seleciona um IPGW a partir do grupo de IPGW do ST, de acordo com uma modalidade de exemplo;
a figura 3D descreve um fluxograma que ilustra um algoritmo de associação de IPGW, de acordo com uma modalidade de exemplo;
a figura 3E descreve um fluxograma que ilustra um
algoritmo por meio do que um ST determina se é para terminar uma associação com um IPGW, com base em certas expirações ou um reboot de IPGW, de acordo com uma modalidade de exemplo;
a figura 4A descreve um diagrama de estado que ilustra os estados de um IPGW, de acordo com uma modalidade de exemplo;
a figura 5 descreve um gráfico que ilustra um cenário de exemplo de carregamento de IPGW em relação ao corte de carga para a determinação da elegibilidade para comutação de ST para um novo IPGW, de acordo com uma modalidade de exemplo;
a figura 6 descreve um diagrama de um sistema de computador no qual arquiteturas e métodos para associação de nós remotos a respectivos nós de agregação podem ser implementados, de acordo com modalidades de exemplo;
a figura 7 é um diagrama de um conjunto de chips que pode ser utilizado na implementação de arquiteturas e métodos para associação de nós remotos a respectivos nós de agregação, de acordo com modalidades de exemplo.
DESCRIÇÃO DETALHADA
De acordo com um aspecto da presente invenção, arquiteturas e métodos dinâmicos e flexíveis são providos para associação de nós remotos com respectivos nós de
2 0 agregação em uma rede de comunicações de largura de banda
compartilhada (por exemplo, uma rede de comunicações por satélite de largura de banda compartilhada), os quais se adequam a várias exigências e a vários desejos associados a serviços de banda larga eficientes, robustos, confiáveis e 25 flexíveis, e o que é relativamente eficiente e automatizado de um ponto de vista de gerenciamento de rede e equilíbrio de carga.
Em uma rede de largura de banda compartilhada como essa, por exemplo, onde múltiplos nós remotos acessam
3 0 serviços de banda larga através de um ou mais nós de agregação (por exemplo, gateways), de acordo com várias modalidades de exemplo, a presente arquitetura e o presente método para associação de nós remotos a respectivos nós de agregação satisfaz a vários desejos relacionados à provisão 5 de serviços de banda larga eficientes, robustos, confiáveis e flexíveis. Por exemplo, de acordo com uma modalidade de exemplo, com base nos serviços para os quais um nó remoto (por exemplo, um terminal ou nó de usuário) é configurado (por exemplo, serviços os quais um usuário do terminal 10 assinou), o terminal utiliza um ou mais critérios de serviços quantitativos para seleção de um grupo de nós de agregação que se adequam a esses critérios de serviço. Em outras palavras, um terminal seleciona um nó de agregação a partir de um grupo elegível de nós de agregação ou gateways 15 que suportam configurações de serviço e assinaturas que satisfazem às exigências de serviço do terminal. Por exemplo, um ritmo de transferência (via download) e uma política de uso de volume de transferência (via download) representam dois desses critérios de serviço quantitativos.
2 0 0 ritmo de transferência (via download) reflete a
velocidade máxima (em Mbps) a qual um terminal é configurado para sustentar na direção de recepção a partir da rede, para dados de usuário. 0 ritmo de transferência (via download), por exemplo, é com base no plano de serviço 25 o qual o terminal assinou (por exemplo, com base nas assinaturas de serviço do usuário) . 0 volume de uso de transferência (via download) reflete a quantidade de dados em MB ou GB que um terminal é configurado para receber a partir do nó de agregação na direção de transferência (via
3 0 download). 0 volume de uso de transferência (via download) pode ser com base em uma opção selecionada pelo usuário quando da assinatura de um plano de serviço. Um terminal se associa a um nó de agregação pela seleção de um nó em particular (de um grupo de nós de agregação adequados 5 disponíveis para o terminal) para provisão dos serviços requisitados para o terminal. Uma vez que o terminal complete um processo de associação de acordo com os protocolos de exemplos de modalidades da presente invenção, e o nó de agregação aceita a associação, o terminal se 10 torna associado ao nó de agregação selecionado.
Ainda, o presente método e a arquitetura proveem uma redundância agrupada e equilíbrio de carga automático e dinâmico. De acordo com uma modalidade de exemplo, os terminais equilibram a carga conforme entram no sistema, e 15 também equilibram a carga dinamicamente durante uma operação do sistema. Os terminais suplantam as falhas dos nós de agregação pelo equilíbrio de carga através de outros nós de agregação ativos do mesmo grupo, o que pouparia a exigência de uma redundância quente de um para um para 20 recuperação de falhas de hardware. Os terminais também fazem uma transição dinamicamente para um gateway diverso, por exemplo, quando um gateway ou uma falha de enlace de comunicações requer uma transição para um gateway secundário (o que pode ser, por exemplo, um gateway
2 5 redundante ou um gateway operacional em um sítio diverso). Mais ainda, de acordo com as modalidades da presente invenção, essas associação e reassociação dinâmicas para equilíbrio de carga dinâmico são realizadas sem a exigência de uma parada ou de uma reconfiguração do nó de agregação 30 ou de componentes de gateway, ou os terminais. Mais ainda, essas modalidades da presente invenção proveem a escalonabilidade e a flexibilidade de modificação, melhoria ou expansão dos critérios para criação de grupo de nó de agregação e seleção, por exemplo, para expansão ou melhoria das ofertas de serviço.
Adicionalmente, de acordo com modalidades de exemplo, o presente método e a arquitetura satisfazem a várias exigências de sistema, tal como a necessidade de preservar o espaço de endereço público de IPv4, e a necessidade de 10 comutar nós ou terminais para nós de agregação em um sítio de gateway geograficamente diverso, os quais servem aos nós remotos em nome de múltiplos sítios de gateway primários. A necessidade de comutar para um sítio geograficamente diverso, por exemplo, pode ser com base em múltiplas 15 finalidades, incluindo redundância de sítio, diversidade de RF, recuperação de desastre, manutenção de sítio, etc. Na área de gerenciamento de configuração, o presente método e a arquitetura proveem um sistema de gerenciamento de configuração distribuído, por meio do que mudanças de
2 0 configuração ou serviço de um nó remoto não requerem uma
reconfiguração do respectivo gateway servindo àquele nó remoto - um gerenciamento de configuração é distribuído para nós remotos de uma forma automatizada. Mais ainda, de acordo com modalidades de exemplo, o presente método e a 25 arquitetura proveem uma escalonabilidade e uma flexibilidade para extensão para suporte de futuros serviços que podem mudar a seleção e o processo de decisão de um nó remoto.
De acordo com uma modalidade de exemplo, uma rede de
3 0 largura de banda compartilhada como essa compreende um sistema de comunicações por satélite de banda larga, em que múltiplos nós remotos (por exemplo, terminais de satélite (STs)) acessam serviços de banda larga através de um ou mais nós de agregação (por exemplo, gateways (GWs) ou 5 gateways de IP (IPGWs)). Por exemplo, diferentes STs assinam diferentes serviços do terminal. Um ST dinamicamente selecionaria um IPGW a partir de um grupo elegível de IPGWs que suportam configurações de serviço e assinaturas que satisfazem às exigências de serviço do ST. 10 0 ST se associa ao IPGW selecionado para a provisão dos serviços requeridos para o terminal. Uma vez que o ST complete um processo de associação, e o IPGW aceite a associação, o terminal se torna associado ao IPGW selecionado.
As figuras IA a IC ilustram sistemas de comunicações
capazes de empregarem uma arquitetura dinâmica e flexível e um método para associação de nós remotos a respectivos nós de agregação, de acordo com várias modalidades de exemplo da presente invenção. Com referência à figura IA, um sistema de comunicações digital 110 inclui um ou mais transmissores 112 (dos quais um é mostrado) que geram formas de onda de sinal através de um canal de comunicação 114 para um ou mais receptores 116 (dos quais um é mostrado). Neste sistema de comunicações discreto 110, o transmissor 112 tem uma fonte de sinal que produz um conjunto discreto de sinais de dados, onde cada um dos sinais de dados tem uma forma de onda de sinal correspondente. Estas formas de onda de sinal são atenuadas, ou alteradas de outra forma, pelo canal de comunicações 114. Uma codificação pode ser utilizada para combater ruído e outras questões associadas ao canal 114, tais como códigos de correção de erro antecipada (FEC).
A figura IB ilustra um sistema de comunicações por satélite de exemplo 13 0 capaz de suportar uma comunicação 5 dentre terminais com capacidades variadas, de acordo com modalidades de exemplo da presente invenção. O sistema de comunicações por satélite 130 inclui um satélite 132 que suporta comunicação dentre múltiplos terminais de satélite (STs) 134a a 134n, vários gateways (GWs) 138a a 138n e um 10 centro de operações de rede (NOC) 142. O NOC 142 realiza as funções de plano de gerenciamento do sistema 13 0, enquanto os GWs 138a a 138n realizam as funções de plano de dados do sistema 133. Por exemplo, o NOC 142 realiza funções tais como gerenciamento de rede e configuração, transferências 15 (via download) de software (por exemplo, para os STs 134a a 134n) , monitoração de status, funções estatísticas (por exemplo, coleta, agregação e relatório), funções de segurança (por exemplo, geração de chave, gerenciamento e distribuição), registro e autenticação de ST, e
2 0 gerenciamento de diversidade de GW. 0 NOC 142 se comunica
com cada GW através do satélite 132, ou através de uma rede de comunicações privada segura 152 (por exemplo, um túnel de IPsec por um enlace dedicado ou uma rede privada virtual (VPN) ou um túnel de IPsec através de uma rede pública, tal 25 como a Internet) . Adicionalmente, cada GW e o NOC têm uma conectividade com uma ou mais redes de comunicações públicas, tal como a Internet ou uma PSTN.
De acordo com uma outra modalidade de exemplo, cada um dos GWs 13 8a a 138n inclui um ou mais gateways (IPGWs)
3 0 por meio do que as funções de plano de dados são divididas entre um GW e seus respectivos IPGWs. Por exemplo, o GW 138a inclui os IPGWs 148a(1) a 148a(n) e o GW 138n inclui os sistemas de armazenamento de dados 148n(l) a 148n(n). Um GW pode realizar funções tais como codificação e modulação 5 de rota para fora de camada de enlace e de camada física (por exemplo, codificação e modulação adaptatívas de DVB- S2), manipulação de rota para dentro de camada de enlace e de camada física (por exemplo, IPOS), alocação e equilíbrio de carga de largura de banda de rota de entrada, 10 priorização de rota para fora, aceleração da web e compressão de HTTP, controle de fluxo, encriptação, comutações de redundância, e cumprimento de política de restrição de tráfego. Enquanto isso, o IPGW pode realizar funções tais como compressão de dados, melhoramentos de 15 performance de TCP (por exemplo, proxies de melhoramento de performance de TCP, tal como um programa enganador de TCP), funções de qualidade de serviço (por exemplo, classificação, priorização, diferenciação, detecção antecipada randômica (RED), controle de fluxo de TCP/UDP), 20 aplicação de política de uso de largura de banda, equilíbrio de carga dinâmico e roteamento. Ainda, um GW e um respectivo IPGW podem estar colocalizados com o NOC 142. Os STs 134a a 134n proveem conectividade para uma ou mais centrais 144a a 144n e/ou roteadores 154a a 154n, 25 respectivamente. 0 sistema de comunicações por satélite 130 pode operar como um sistema de tubo curvado, onde o satélite essencialmente opera como uma repetidora ou um tubo curvado. Alternativamente, o sistema 13 0 pode empregar um satélite de comutação ou processamento suportando
3 0 comunicações de malha (comunicações de ponto a ponto diretamente, por exemplo, entre dois STs 134a a 134n).
Em um sistema de comunicações 13 0 que emprega um satélite de processamento (por exemplo, incluindo uma operação de comutação de pacote, por exemplo, em uma camada 5 de enlace de dados), o sistema pode suportar comunicações de unidifusão direta (ponto a ponto\ e comunicações de multidifusão dentre os STs 134a a 134n e os GWs 138a a 138n. No caso de um satélite de processamento, o satélite 132 decodifica o sinal recebido e determina o ST ou os STs 10 de destino e/ou os GWs. O satélite 132 então endereça os dados de modo conforme, codifica-os e os modula, e transmite o sinal modulado para o ST ou os STs de destino (por exemplo, o ST 134n) e/ou os GWs (e seus respectivos IPGWs). De acordo com modalidades de exemplo, o sistema 13 0 15 desse modo provê uma arquitetura plenamente de malha, por meio do que os STs 134a a 134n se comunicam diretamente através de um salto único pelo satélite 132.
Em um sistema de tubo dobrado de uma modalidade de exemplo, o satélite 132 opera como uma repetidora ou um tubo dobrado, e as comunicações para e dos STs 134a a 134n são transmitidas pelo satélite 132 para e a partir de respectivos IPGWs associados a STs particulares. Ainda, em um sistema de feixe pontual, qualquer feixe pontual (por exemplo, os feixes 172a a 172n) opera como um tubo dobrado para uma região geográfica coberta pelo feixe. Por exemplo, cada feixe pontual opera como um canal de comunicações de tubo dobrado para e a partir dos STs e/ou de IPGW(s) na região geográfica coberta pelo feixe. De acordo com uma modalidade, vários GWs/IPGWs são distribuídos através da região geográfica coberta por todos os feixes pontuais do satélite 132, onde, em um feixe no qual um GW (e respectivos IPGWs) está localizado, apenas um GW (e nenhum ST) ocupa aquele feixe. Ainda, cada IPGW pode servir como um nó de agregação para uma multidão de nós remotos ou STs.
0 número total de GWs/IPGWs e a distribuição geográfica de GWs/IPGWs dependem de vários fatores, tais como a capacidade total do satélite dedicado ao tráfego de dados, um carregamento de tráfego geográfico do sistema (por exemplo, com base em densidades de população e na 10 distribuição geográfica dos STs), localizações de centros de dados terrestres disponíveis (por exemplo, troncos de dados terrestres para acesso a redes dedicadas públicas e privadas).
Mais especificamente, com referência à figura 1C, por 15 exemplo, para uma comunicação de dados a partir do ST 134a para uma rede de comunicações pública 15 8 (por exemplo, a Internet), o ST 134a está associado a um IPGW (por exemplo, o IPGW 148a (1) - selecionado a partir de um grupo de IPGWs disponíveis para o ST 134a, tais como os IPGWs 148a (1) a 20 148a(27) - onde o grupo de IPGWs é um subconjunto adequado dos IPGWs 148a (1) a 148a (n) localizados no GW 138a) . Os dados são primeiramente transmitidos, através do satélite 132, a partir do ST 134a para o IPGW 148a (1) . O IPGW 148a(1) determina o destino como sendo a Internet 158. 0
2 5 IPGW então reempacota os dados (por exemplo, como uma comunicação de TCP/IP), e roteia a comunicação de dados, através do enlace terrestre 164, para a Internet 158. Ainda, em uma rede corporativa, por exemplo, uma corporação pode empregar vários STs remotos em escritórios remotos. 30 Mais especificamente, o ST 134n, localizado em uma localização remota de corporação, pode desejar se comunicar de forma segura com os escritórios centrais da corporação 162. Assim sendo, para uma comunicação de dados a partir do ST 134n para os escritórios centrais da corporação 162, os dados são primeiramente transmitidos, através do satélite 132, a partir do ST 134n para um IPGW associado ao ST 134n (por exemplo, o IPGW 148a(27)). 0 IPGW 148a(27) determina o destino como sendo os escritórios centrais da corporação 162. O IPGW então reempacota os dados (por exemplo, como uma comunicação de IPsec), e roteia a comunicação de dados de IPsec, através dos enlaces terrestres seguros 166 (pela rede privada 152), para os escritórios centrais da corporação 162. No cenário de rede corporativa, um exemplo adicional envolve uma comunicação corporativa a partir dos escritórios centrais da corporação para vários locais remotos (por exemplo, uma comunicação de multidifusão para os STs 134a a 134n) - onde os STs 134a a 134n estão correspondentemente associados a dois IPGWs 148a(1) e 148a(27) (por exemplo, agrupados entre os dois IPGWs com base em equilíbrio de carga e capacidades de IPGW) . Neste cenário, um gateway ou roteador na rede local dos escritórios centrais da corporação 162 transmite a comunicação de dados através dos enlaces terrestres seguros 166 (pela rede privada 152) para os IPGWs 148a(1) e 148a(27). Os IPGWs determinam que a comunicação é destinada aos STs 134a a 134n remotos, e empacota os dados como uma comunicação de multidifusão endereçada à comunidade de STs 134a a 134n. Os IPGWs então transmitem a comunicação de dados, através do satélite 132, para decodificação pela comunidade de STs 134a a 134n. Assim sendo, o satélite de um sistema como esse atua como um tubo dobrado ou uma repetidora, transmitindo comunicações entre os STs 134a a 134n e seus respectivos IPGWs 148a a 148n associados.
Mais ainda, de acordo com várias modalidades de 5 exemplo, os STs seriam capazes de realizarem um equilíbrio de carga dinâmico em vários níveis diferentes. Por exemplo, de acordo com uma modalidade como essa, um grupo de STs realiza um equilíbrio de carga através de IPGWs de um grupo de IPGWs servindo a uma rota para fora acessível para o 10 grupo de STs. De acordo com uma modalidade adicional, dependendo da arquitetura e da configuração da rede, os STs realizam um equilíbrio de carga através de múltiplas rotas para fora de múltiplos IPGWs (em um único feixe de satélite ou através de IPGWs geograficamente diversos), onde o envio 15 de mensagem para e a partir de vários IPGWs é dirigido pelo satélite para o(s) feixe(s) no(s) qual(is) os STs estiverem localizados, e em canais que os STs são capazes de acessarem. As várias modalidades de exemplo da presente invenção proveem aos STs a capacidade de associação 20 dinâmica e flexível de IPGW, com base em um envio de mensagem de IPGW disponível para um ST em qualquer dado momento. Assim sendo, virtualmente não há nenhuma exigência para uma pré-configuração dos IPGWs para equilíbrio de carga dos STs com base em um plano de carregamento pré- 25 determinado, ou para reconfiguração dos IPGWs para reequilíbrio das cargas em qualquer dado tempo. Os STs gerenciam o equilíbrio de carga de uma maneira dinâmica e flexível, pelo controle da associação e da reassocíação com respectivos IPGWs conforme o carregamento da rede mudar ao
3 0 longo do tempo, sem requererem paradas de manutenção ou reatribuições no atacado de STs para a realização de uma reconfiguração de IPGW.
De acordo com modalidades de exemplo, o presente sistema provê protocolos para processos dinâmicos e 5 flexíveis (por exemplo, uma criação de grupo de IPGW, e seleção e associação de IPGW) por meio do que um ST se associa a um IPGW (descrito em maiores detalhes abaixo). Este conceito de associação facilita uma atribuição dinâmica de STs para IPGWs, os quais, dentre outras 10 exigências e vantagens, satisfaz às necessidades a seguir: (1) suporte de redundância de IPGW agrupada (em oposição a uma redundância um para um) ; (2) equilíbrio de carga dinâmico através de IPGWs (em oposição à exigência de movimentos manuais de STs para IPGWs, para equilíbrio ou 15 reequilíbrio de carga); (3) flexibilidade na redundância de IPGW pela eliminação da necessidade de provisão de uma informação de configuração em tempo real para STs e IPGWs quando de uma comutação para um IPGW redundante. De acordo com este protocolo de associação, não é requerido que um
2 0 IPGW mantenha qualquer conhecimento ou pré-configuração de STs que ele possa ser designado para servir. Ao invés disso, os STs geram um grupo de IPGWs disponíveis que são capazes de satisfazerem às capacidades de serviço e assinaturas do ST. 0 grupo de IPGW é determinado pelo ST 25 com base em capacidades de mensagens de multidifusão de todos os IPGWs a partir do que o ST recebe uma mensagem de multidifusão no fluxo de rota para fora do ST. Por exemplo, o grupo de IPGW consiste no conjunto de IPGWs, os quais são capazes de servirem ao ST, com base na configuração de 30 serviço de ST e em assinaturas, e, assim, representam um grupo de IPGWs candidatos aos quais o ST pode se associar. O grupo de IPGW é determinado por um ST pela filtração de todas essas mensagens de multidifusão recebidas pelo ST para a determinação dos IPGWs que combinam com as 5 exigências de serviço de terminal. O terminal seleciona um IPGW a partir do grupo de IPGW. Os exemplos de necessidades de serviço de um terminal incluem, sem limitação, suporte para ritmo de transferência (via download) , suporte para uma dada sub-rede de endereço de IPv4 estática, etc. De 10 acordo com o presente protocolo, contudo, o conceito de serviços é mantido genérico para a provisão de serviços flexíveis e a expansão dos serviços suportados, conforme serviços adicionais forem providos, por exemplo, que possam ser suportados apenas em um subconjunto de IPGWs. 15 Alternativamente, a mensagem de capacidades pode ser transmitida através de um outro protocolo de mensagem além de um protocolo de mensagem de multidifusão, tal como um protocolo de unidifusão (ponto a ponto) ou um protocolo de difusão.
2 0 De acordo com uma modalidade de exemplo, os terminais
são configurados com uma informação de parâmetro de serviço especificando os serviços que o terminal é configurado para receber. A informação de parâmetro de serviço inclui, por exemplo: um identificador indicando o ritmo de 25 transferência (via download) que o terminal deve ser capaz de receber; um identificador indicando volumes de uso de transferência (via download) por prioridade que o terminal deve ser capaz de receber; um ou mais identificadores indicando vários serviços que o terminal poderia receber, 30 tais como voz por IP, transmissão contínua de vídeo, conferência em vídeo, serviços de IP de multidifusão, uma sub-rede de IPv4IPv6 estática, se o terminal tiver assinado um plano de IPv4 / IPv6 . Um terminal usa essa informação de configuração para combinar com as capacidades sendo 5 reportadas pelos IPGWs no fluxo de rota de saída do terminal. Com base no recebimento de uma mensagem de multidifusão de capacidades (CMM) a partir de um dado IPGW (conforme descrito em maiores detalhes abaixo), o terminal pode adicionar aquele IPGW ao grupo de IPGWs elegíveis 10 capazes de suportarem os serviços para os quais o terminal é configurado / assinou. Isto permite que o IPGW seja selecionado pelos terminais para associação. Desde que os terminais recebam a CMM a partir deste IPGW e o status de IPGW não indique que o IPGW não está aceitando associações, 15 os terminais podem se associar ao IPGW. Se a CMM parar de ser recebida ou o status de IPGW na CMM indicar que não está mais em serviço, os terminais removerão o IPGW daquele grupo elegível e os terminais já associados ao IPGW perderão sua associação ao IPGW.
2 0 Uma vez que um ST tenha determinado um grupo de IPGW
de IPGWs elegíveis, o terminal seleciona o IPGW em particular ao qual se associar através de um algoritmo de equilíbrio de carga. Por exemplo, o ST emprega um algoritmo de seleção randômica com peso atribuído, com base em uma 25 informação de carregamento relativo provida pelas mensagens de multidifusão dos IPGWs, para a seleção de um IPGW em particular ao qual se associar. Uma vez que o IPGW tenha sido selecionado, o ST provê uma mensagem de requisição de associação ao IPGW, incluindo códigos de serviço
3 0 identificando a informação de parâmetro de serviço do terminal. A mensagem de requisição de associação pode incluir uma informação adicional, tal como o estado de serviço atual do ST (por exemplo, suspenso ou não). 0 IPGW responde com uma mensagem de aceitação de associação ou uma 5 mensagem de rejeição de associação. Uma vez associado, o ST roteia seu tráfego de dados de comunicação através daquele IPGW. Adicionalmente, os STs continuam a monitorar a carga dos IPGWs do grupo disponível, e, se certos critérios forem atendidos, um ST poderá se desassociar do IPGW atual e 10 randomicamente selecionar um outro IPGW a partir do mesmo grupo.
De acordo com uma outra modalidade de exemplo, uma chave de assinatura de serviço pode ser usada para a geração de uma assinatura de serviço para um ST. A 15 assinatura de serviço serve como uma versão assinada ou comprovada dos parâmetros de serviço de terminal, o que serve para proteção contra uma violação por hacker da informação de parâmetro de serviço de um ST, em uma tentativa de atualizar os planos de serviço do ST sobre e 20 acima dos planos de serviço os quais o ST assinou. Por exemplo, um sistema de gerenciamento de rede gera a assinatura de serviço para um ST ao assinar ou comprovar os respectivos parâmetros de serviço do terminal com base na chave de assinatura de serviço, e provê os parâmetros de 25 serviço e a assinatura de serviço para o ST (por exemplo, durante uma configuração inicial do ST) . Então, uma vez que o ST selecione um IPGW ao qual se associar, o ST provê seus parâmetros de serviço e a respectiva assinatura de serviço para o IPGW juntamente com a mensagem de requisição de
3 0 associação. 0 IPGW então assina os parâmetros de serviço recebidos a partir do ST com a mesma chave de assinatura de serviço, e verifica que os parâmetros de serviço assinados combinam com a assinatura de serviço recebida a partir do ST para se verificar que os parâmetros de serviço recebidos 5 são válidos (por exemplo, não foram violados). Ainda, o IPGW também compara os parâmetros de serviço recebidos a partir do ST com seus próprios parâmetros de serviço para verificar que o IPGW é capaz de satisfazer às exigências de serviço do ST.
De acordo com uma modalidade de exemplo, o IPGW é pré-
configurado com uma informação de parâmetro de serviço referente aos serviços que ele suporta, e uma chave de assinatura de serviço, a qual serve para proteção contra violação da informação de parâmetro de serviço de um ST em uma tentativa de atualização dos planos de serviço do ST sobre e acima dos planos de serviço os quais o ST assinou (conforme descrito abaixo). A informação de parâmetro de serviço inclui, por exemplo: identificador(es) indicando o(s) ritmo (s) de transferência (via download) que o IPGW suporta juntamente com o(s) ritmo(s) de transferência (via download) o(s) qual(is) o(s) identificador(es) mapeia(m); os volumes de uso de transferência (via download) que o IPGW provê; a configuração para os serviços que o IPGW provê, tais como classificação e regras de política de tráfego para serviços de voz e de vídeo, um IP de multidifusão e uma informação de acesso condicional para serviços de IP de multidifusão; e se o IPGW suporta sub- redes de IPv4/IPv6 estáticas, e, se assim for, as sub-redes de IPv4 / IPv6 que ele serve. Quando o IPGW recebe uma mensagem de requisição de associação a partir de um ST, antes de o IPGW aceitar a requisição de associação, o IPGW compara a informação de parâmetro de serviço do ST com sua própria informação de parâmetro de serviço para garantir que o IPGW seja capaz de satisfazer às exigências de serviço do ST.
Tão logo o IPGW entre em um estado operacional em que o IPGW está pronto para servir aos terminais, o IPGW começa a multidifusão de uma mensagem de capacidades (CMM). O IPGW periodicamente transmite sua mensagem de multidifusão de 10 capacidades (CMM) . A CMM indica o carregamento, uma informação de parâmetro de serviço (capacidades de serviço do IPGW), e o estado atual do IPGW. A CMM é multidifundida a partir de cada IPGW para todo terminal no fluxo de rota para fora no qual o tráfego de IPGWs é transmitido. Cada 15 IPGW periodicamente multidifunde a CMM, desde que o IPGW tenha uma chave de assinatura de serviço, esteja em um estado de serviço (por exemplo, não em um estado de manutenção) , e tenha uma configuração relacionada às capacidades. Enquanto cada IPGW envia a CMM para fora em 2 0 uma periodicidade similar, a periodicidade ê configurável, e uma sincronização não é requerida através de IPGWs quanto a quando realmente eles enviam a CMM. Sob certas condições (consideradas abaixo) , um IPGW pode enviar a CMM mais frequentemente do que a periodicidade padrão. Ainda, cada
2 5 IPGW tem uma configuração em particular que permite que ele
reporte uma informação de serviço (por exemplo, capacidades do IPGW) em uma mensagem (por exemplo, a CMM) para os STs. A qualquer momento em que um IPGW recebe uma atualização de configuração que muda sua configuração de serviço ou as
3 0 capacidades, o IPGW prontamente transmite uma nova CMM reportando a configuração de serviço atualizada. Conforme especificado acima, alternativamente, a mensagem pode ser transmitida através de um outro protocolo de mensagem além de um protocolo de mensagem de multidifusão, tal como um 5 protocolo de unidifusão (ponto a ponto) ou um protocolo de difusão.
De acordo com uma modalidade, cada CMM contém uma string alfanumérica servindo como um identificador lógico (ID) para o IPGW. O identificador lógico pode ser acessível 10 por um usuário do ST ou um sistema de atendimento ao consumidor, de modo a facilitar o relatório de faltas ou questões de serviço com respeito a um IPGW em particular. A CMM também contém um endereço de IP de WAN de dados do IPGW, o que serve como um endereço de IP através do qual os 15 STs se comunicam com o IPGW. A CMM também contém uma medida de carregamento atual, a qual indica um nível de carregamento relativo do IPGW, se comparado com outros IPGWs no mesmo grupo de IPGW, e um indicador de status de serviço de IPGW (por exemplo, fora de serviço, degradado, 20 operação normal). 0 relatório de um outro status além de normal, por exemplo, facilita um tempo de reassociação mais rápido (em oposição a uma terminação da transmissão das mensagens CMM a partir do IPGW) , e a provisão de uma informação para portar condições em que o serviço pode
2 5 estar degradado. A CMM também contém uma estampa de tempo
de último reboot, o que porta o tempo no qual o IPGW rebutou por último. Assim sendo, um conhecimento do último tempo de reboot do IPGW permitiria que o ST se recuperasse de uma maneira mais eficiente e tempestiva, em oposição a
3 0 esperar por uma expiração de associação. Em outras palavras, se um ST determinar que o último tempo de reboot de um IPGW ao qual o ST está associado é mais recente do que o tempo de associação, então, o IPGW não mais reconhecerá a associação com aquele ST (a associação teria 5 sido terminada pelo reboot de IPGW). A CMM também contém um número de seqüência de mudança, o qual reflete uma mudança de versão ou de status do IPGW (por exemplo, o número de seqüência de mudança consiste em um número que aumenta de forma monotônica que é mudado quando uma informação 10 estática na CMM muda) . 0 número de seqüência de mudança notifica o ST quanto a quando os campos estáticos de CMM mudaram, de modo que o ST não precise ser sobrecarregado com uma análise gramatical da maioria da CMM, quando campos estáticos não mudaram. De acordo com uma modalidade 15 adicional, a CMM também inclui uma informação refletindo os servidores de aceleração da web disponíveis através do respectivo IPGW, juntamente com uma informação de carga atual para cada um dos servidores. Em um caso como esse, os STs ainda podem equilibrar a carga através do respectivo 20 IPGW, juntamente com a informação de carga atual para cada um dos servidores. Em um caso como esse, os STs ainda podem equilibrar a carga através dos servidores de aceleração da web pelo estabelecimento de uma sessão de aceleração com um servidor de aceleração da web que não esteja 25 sobrecarregado, e que seja acessível através do IPGW ao qual ele está associado.
Por exemplo, a tabela a seguir reflete as ações de terminal potenciais com base na estampa de tempo de último reboot e no número de seqüência de mudança (note que os
3 0 casos 7 a 9 não devem ocorrer, mas são providos para completitude - por exemplo, no caso em que uma CMM contém uma estampa de tempo não acurada, o ST deve sabe como lidar com isso para evitar complicações adicionais e/ou um atraso):
Caso Estampa de tempo de Número de Ação do terminal último reboot seqüência de mudança 1 Não modificada Não Nenhuma ação sobre conteúdo modificado estático; ainda precisa processar conteúdo dinâmico (por exemplo, carga) 2 Não modificada Incrementado 0 ST deve processar a CMM inteira 3 Não modificada Decrementado 0 ST deve processar a CMM inteira 4 Mais recente do que Não 0 ST associado deve a estampa de tempo modificado considerar a si mesmo não de CMM prévia associado 5 Mais recente do que Incrementado 0 ST associado deve a estampa de tempo considerar a si mesmo não de CMM prévia associado 6 Mais recente do que Decrementado 0 ST associado deve a estampa de tempo considerar a si mesmo não de CMM prévia associado 7 Menos recente do que Não 0 ST associado deve a estampa de tempo modificado considerar a si mesmo não de CMM prévia associado 8 Menos recente do que Incrementado 0 ST associado deve a estampa de tempo considerar a si mesmo não de CMM prévia associado 9 Menos recente do que Decrementado a estampa de tempo de CMM prévia De acordo com uma modalidade de exemplo adicional, a CMM ainda contém uma regulagem de capacidade, o que compreende uma lista de variáveis, onde algumas das quais podem ser reguladas para todos ou nenhum daqueles além de 5 um valor específico. Os valores de exemplo para a regulagem de capacidade incluem:
Sub-redes de IPv4 públicas / privadas servidas, de modo que, quando um consumidor tiver assinado uma sub-rede de IPv4 estática, o ST deve ser dirigido para uma capacidade de alcance de roteamento de relatório de IPGW para aquela sub-rede;
Sub-redes de IPv6 públicas / privadas servidas, de modo que, quando um consumidor tiver assinado uma sub-rede de IPv6 estática, o ST deve ser dirigido para uma capacidade de alcance de roteamento de relatório de IPGW para aquela sub-rede;
Identificadores de tipo de plano de serviço, os quais consistem em um ou mais pares de tipo / valor ou booleanos que destacam os serviços que o IPGW provê, tais como
2 0 capacidades de ritmo de transferência (via download) do IPGW, planos de política de uso de volume de transferência (via download) do IPGW, capacidades de serviço de VoIP do IPGW (se presente), capacidades de serviço de IP de multidifusão do IPGW (se presente), capacidades de serviço 25 de transmissão contínua de vídeo por IP do IPGW (se presente). Ainda, serviços adicionais futuros podem ser adicionados de uma maneira retrocompatível com a lista de identificador de plano de serviço;
Identificador de consumidor, o qual serve como um identificador de um consumidor em particular cujos STs são designados para usarem o IPGW (por exemplo, em uma empresa 5 ou uma situação de revendedor para se permitir que a empresa ou o revendedor tenha IPGW(s) dedicado(s), separado de outros IPGWs de empresa ou provedor de serviços);
Versão de SW suportada máx. , o que especificaria a versão de software de ST mais alta suportada pelo IPGW - como um exemplo, a versão de SW suportada máx. é usada para cenários de lançamento e teste, onde um software mais novo é dirigido a um conjunto limitado de IPGWs;
Versão de HW suportada máx., a qual especificaria a versão de hardware de ST mais alta suportada pelo IPGW - como um exemplo, a versão de HW suportada máx. também é usada para cenários de lançamento e teste, onde um software mais novo é dirigido a um conjunto limitado de IPGWs;
Algoritmos de Prova Suportados, para se prover uma lista de algoritmos de prova de assinatura de serviço 2 0 suportados pelo IPGW, o que pode ser usado no cenário de atualizações para os algoritmos de prova;
Acesso de Cerca Viva (descrito abaixo), o que indicaria que o IPGW suporta uma configuração de cerca viva.
2 5 0 comportamento de um ST geralmente depende de vários
estímulos em potencial. Esses estímulos incluem, por exemplo: o recebimento ou a falta de recebimento de uma CMM a partir de um dado IPGW; se uma CMM de IPGWs combina com a configuração de serviço do terminal; se o terminal está
3 0 atualmente associado ao IPGW cuja CMM está sendo processada; se o IPGW cuja CMM está sendo processada está atualmente no grupo de IPGW de terminal; se a CMM está reportando uma mudança de carga; e se a CMM está reportando uma mudança de estado. Por exemplo, os cenários possíveis 5 das ações que um ST pode fazer com base no recebimento de uma CMM a partir do IPGW A, e com base nesses estímulos, são ilustrados na tabela a seguir (onde um "S" indica sim, um N indica não e um "X" indica um caso em que não importa):
Caso Combinação Associado IPGW A Mudança Mudança de status Ação de CMM? a IPGW A? no de carga de IPGW? grupo? de IPGW? 1 N N N X X Nenhuma 2 N N S X X Remover IPGW A de grupo de IPGW 3 N S S X X Transitar para estado de seleção de IPGW 4 S N N X X Adicionar IPGW A ao grupo de IPGW 5 S N S S N Gravar nova carga para IPGW A 6 S S S S N Gravar nova carga para IPGW A 7 S N S N S (por exemplo, de Gravar novo estado ativo para fora de para IPGW A serviço) 8 S N S N S (por exemplo, de Gravar novo estado fora de serviço para IPGW A para ativo) 9 S N S S S (por exemplo, de Gravar novo estado ativo para fora de e carga para IPGW serviço) A S N S S S (por exemplo, de Gravar novo estado fora de serviço e carga para IPGW para ativo) A 11 S S S X S (por exemplo, de Transitar para ativo para fora de estado de seleção serviço) de IPGW Para elaborar adicionalmente os cenários desta tabela,
por exemplo, com respeito ao caso I, o ST não é associado ao grupo de IPGW do ST, de modo que o terminal ignora as mensagens CMM a partir daquele IPGW em que há uma não combinação nas capacidades de serviço. Com respeito ao caso 2, o IPGW é removido do grupo de IPGW do ST, porque as capacidades do IPGW não mais combinam com as exigências de serviço do ST. Com respeito ao caso 3, o ST comuta para o estado de seleção de um IPGW, porque o terminal está associado a um IPGW com capacidades que não mais combinam com as exigências de serviço do ST (note que o IPGW também pode ser removido do grupo de IPGW do ST). 0 caso 4 reflete o cenário de uma combinação de CMM para um IPGW que não está no grupo de IPGW do ST, e, assim, o IPGW é adicionado ao grupo. Os casos 5 e 6 respectivamente refletem cenários de uma mudança de carga para um IPGW que está no grupo de IPGW do ST, e para um IPGW ao qual o ST está associado, e, assim, a carga do IPGW é atualizada no grupo. Com respeito aos casos 7 e 8, o IPGW está no grupo de IPGW do ST e, assim, o status do IPGW é mudado no grupo para refletir o novo status do IPGW. Com respeito aos casos 9 e 10, o IPGW está no grupo de IPGW do ST, e, assim, o status do IPGW é mudado no grupo para refletir o novo status do IPGW. Com respeito ao caso 11, o ST transita para o estado de seleção de um IPGW, porque está associado a um IPGW que não está 5 mais em serviço. Ainda, em um cenário em que um ST é associado a um IPGW, mas o ST não recebe uma CMM do IPGW por um número pré-determinado configurável de mensagens CMM recebidas ou um período de expiração, o ST transitaria para o estado de seleção de um IPGW, para escolher um novo IPGW 10 ao qual se associar. De modo similar, em um cenário em que um IPGW está no grupo de IPGW de um ST (mas o ST não está associado àquele IPGW), mas o ST não recebe uma CMM do IPGW por um número pré-determinado configurável de mensagens de CMM recebidas ou um período de expiração, o ST removeria o 15 IPGW de seu grupo de IPGW. Deve ser notado que uma CMM perdida única não deve fazer com que um ST se desassocie de um IPGW ou remova o IPGW de seu grupo de IPGW, mas, ao invés disso, após um número configurável de CMMs perdidas, o terminal deve considerar o IPGW como não estando mais
2 0 disponível.
Conforme mostrado na figura 2, por exemplo, um grupo de IPGW consiste em I a N IPGWs. Este exemplo mostra 3 grupos diferentes de IPGW dístinguidos pelo serviço e pelas sub-redes de IPv4 estáticas de serviço para terminais com 25 atribuições de sub-rede de IPv4 estática. Há um grupo de IPGW doméstico 210 consistindo nos IPGWs domésticos 212, 214, 216, 218 os quais servem aos STs domésticos 220, 222, 224, 226, 228 - onde o ST doméstico 220 está associado ao IPGW doméstico 212, o ST doméstico 222 está associado ao 30 IPGW doméstico 214, os STs domésticos 224 e 226 estão associados ao IPGW doméstico 216, e o ST doméstico 228 está associado ao IPGW doméstico 218. Então, há um grupo de IPGW de elite 220 consistindo nos IPGWs de elite 222 e 224, os quais servem aos STs de elite 230, 232, 234 - onde o ST de 5 elite 230 é associado ao IPGW de elite 222, e os STs de elite 232 e 234 estão associados ao IPGW de elite 224. Por último, há uma elite com o grupo de IPGW de plano de IP estático 240 consistindo na elite com IPGW de plano de IP estático 242 - onde o ST de elite com a sub-rede 10 (66.82.145.224/29) 252 e o ST de elite com a sub-rede (66.82.146.224/30) 254 são associados à elite com IPGW de plano de IP estático 242. Quando um ST está associado, ele é associado a um dado IPGW em seu grupo e, ao longo do tempo, um ST pode ser associado a qualquer um dos IPGWs no 15 grupo. Ainda, se as capacidades de serviço / plano de assinatura de um ST forem melhoradas ou pioradas, então, o ST se desassociará de seu IPGW atual, e se associará a um IPGW de um grupo de IPGWs apropriados para a execução de serviços melhorados ou piorados do ST.
2 0 Os terminais que atualmente não estão associados
selecionam um IPGW a partir de seu grupo de IPGW combinando. De acordo com uma modalidade, a seleção é realizada com base em um algoritmo de seleção randômica de peso atribuído como uma função do carregamento reportado do 25 IPGW. Em outras palavras, os terminais têm maior probabilidade de tentarem se associar a um IPGW que seja mais levemente carregado (de peso mais leve). A definição de carregamento, por exemplo, refere-se ao ritmo de transferência de agregado do IPGW, conforme descrito em
3 0 maiores detalhes abaixo. Um terminal se associa a um IPGW usando um protocolo. 0 terminal envia uma requisição de associação para o IPGW contendo a informação que o IPGW precisa para servi-lo. Isto provê ao IPGW uma informação, tal como o endereço de IP de WAN de dados de terminal, a 5 velocidade de transferência (via download) de terminal, e o uso de transferência (via download) do terminal. A segurança protegendo esta informação de serviço de ser manipulada pelo usuário final é denominada uma assinatura de serviço (descrita abaixo). Mediante a realização de um 10 conjunto de checagens, o IPGW aceita ou rejeita a requisição de associação de terminal. Como parte da aceitação, o IPGW atribui ao terminal um prefixo de IPv6 e uma sub-rede privada de IPv4. Uma vez que o terminal esteja associado a um IPGW, estruturas internas de proxy de 15 melhoria de performance podem ser estabelecidas para fluxos de dados entre o terminal e o IPGW.
Uma vez associado a um IPGW, um terminal tenderá a ficar associado ao IPGW. Um terminal pode se tornar desassociado de um IPGW, por exemplo, devido a: a) mudanças
2 0 na configuração do terminal que mudam o grupo de IPGW elegível; b) mudanças na configuração de IPGW, por meio do que o IPGW não é mais capaz de satisfazer às exigências de serviço do terminal; c) o terminal rebuta; d) clima de longa duração ou condições de falha de enlace de terminal 25 ou de gateway; e) falha de IPGW ou relatório de um estado inoperável; e f) condições de carregamento do IPGW. Os terminais que falhem em se associar a qualquer IPGW falham em encontrar um grupo de IPGW de combinação ou que estejam suspensos podem se associar a um IPGW que proveja serviços 30 de cerca viva (descritos em maiores detalhes abaixo), até as questões serem resolvidas, e o terminal ser capaz de se associar a um IPGW normal.
Assim sendo, as modalidades da presente invenção obtêm várias vantagens nessas redes de largura de banda 5 compartilhada. Uma dessas vantagens é que não há necessidade de transferência de uma nova configuração para terminais e IPGWs no caso de uma comutação de gateway. Enquanto sistemas de legado requerem a transferência (via download) de uma configuração estática para os terminais 10 sobre seu IPGW e para os IPGWs sobre os terminais, o que leva a uma grande quantidade de configuração que precisaria ser transferida (via download) principalmente par ao IPGW (por exemplo, um IPGW pode servir a milhares de terminais, e assim requereria uma informação de configuração 15 específica para cada um deles) . Em contraste, de acordo com as modalidades da presente invenção, no caso de uma comutação de GW ou de IPGW, por exemplo, tudo que seria requerido seria uma transferência (via download) da configuração de capacidades para o GW / IPGW e uma chave.
2 0 Uma outra vantagem é que ele provê uma capacidade de
realização de um certo nível de equilíbrio de carga dinâmico. Em sistemas de legado, grandes quantidades de terminais são mutuamente movidas entre IPGWs para melhor equilíbrio da carga sobre os GWs, haja um grande número 25 estatisticamente de terminais ou (mais provavelmente) um conjunto mais ativo estatisticamente de terminais - de novo requerendo uma configuração manual para a obtenção de movimentos de terminal. Em contraste, de acordo com modalidades da presente invenção, os terminais são capazes 30 de comutarem dinamicamente IPGWs, para equilíbrio de carga, onde a comutação requer apenas uma reassociação dinâmica com um outro IPGW a partir do grupo de IPGW do terminal.
Uma vantagem adicional existe no fato de os terminais não precisarem ser ligados a endereços de IP em particular.
5 Assim, quando um terminal se desassocia, o terminal muda seu endereço de IP da mesma forma (com exceção dos planos de IPv4 / ΙΡνβ estáticos) . Isto provê flexibilidade na atribuição de endereço de IP, e alivia complicações de projeto associadas à atribuição de endereços de IP públicos 10 para terminais.
As arquiteturas e os métodos para associação de nós remotos a respectivos nós de agregação, de acordo com modalidades de exemplo da presente invenção, podem ser implementadas, pelo menos em parte, por um ou mais 15 conjuntos de chip, incluindo um ou mais processadores e memória, conforme ilustrado na figura 7 (que mostra um processador como esse) . O conjunto de chip 700 provê um meio para a realização de várias pares dos algoritmos e protocolos descritos e ilustrados aqui. Ainda, diferentes 20 aspectos desses algoritmos e protocolos podem ser alocados aos componentes do conjunto de chip, conforme seria prudente com base em escolhas de projeto que seriam evidentes para alguém versado na técnica.
A figura 3A descreve um fluxograma que ilustra um
2 5 algoritmo de ST para a criação de um grupo de IPGW, de
acordo com uma modalidade de exemplo. Adicionalmente, este algoritmo também se aplica à adição e ao apagamento de um IPGW para ou de um grupo de IPGW existente de um ST, com base na CMM atual sendo analisada pelo ST. O algoritmo
3 0 começa na Etapa 3 02, onde o ST recebe e decodifica uma CMM. Na Etapa 3 04, o ST determina (por exemplo, com base no ID de IPGW) se o IPGW a partir do qual a CMM foi recebida já está no grupo de IPGW do ST. Se o IPGW já estiver no grupo de IPGW do ST, na Etapa 3 06, o ST determinará se o número 5 de seqüência de mudança do IPGW mudou desde a última CMM do IPGW. Se o ST determinar que o número de seqüência de mudança não mudou, então, o ST simplesmente atualizará o IPGW e a informação de carga no grupo de IPGW atual do ST (Etapa 3 08), e o algoritmo avançará para a Etapa 310, onde 10 o ST esperará o recebimento de uma próxima CMM (por exemplo, uma CMM de um outro IPGW ou uma próxima CMM do mesmo IPGW) . Mais ainda, se o ST estiver associado a este IPGW, o terminal também checará a estampa de tempo de último reboot e considerará a si mesmo como não associado 15 se a estampa de tempo de último reboot for mais recente do que o último tempo de associação (conforme descrito acima). Na Etapa 310, se o ST já estiver atualmente não associado, o terminal apenas esperará até um temporizador de mensagem CMM (por exemplo, cmmMsgCollectionTímer) expirar (Etapa 20 336) , antes de prosseguir para a etapa E, e rodará o algoritmo de seleção de IPGW. Na Etapa 304, se o ST determinar que o IPGW não está atualmente no grupo de IPGW do ST, então, o algoritmo avançará para a Etapa 312. Também, na Etapa 3 06, se o ST determinar que o número de 25 seqüência de mudança não mudou desde a última CMM do IPGW, então, o algoritmo avançará para a Etapa 312. Na Etapa 312, com base no indicador de status de serviço de IPGW, o ST determina se o IPGW está em serviço. Se o IPGW não estiver em serviço, então, o algoritmo avançará para a Etapa 310,
3 0 onde o ST espera para receber uma outra CMM (sujeito à determinação do temporizador de mensagem CMM da Etapa 336, se o ST for não associado) . Contudo, se o IPGW estiver em serviço, o algoritmo avançará para a Etapa 314 . Alternativamente, o ST determina que o IPGW está operando 5 em um estado de serviço degradado (não mostrado na figura 3), e (dependendo do nível de degradação) o ST determina que o IPGW ainda está suficientemente operacional (onde o algoritmo avançaria para a Etapa 314) , ou que o IPGW não está suficientemente operacional (onde o algoritmo 10 avançaria para a Etapa 310).
Na Etapa 314, o ST determina se o IPGW provê um nível de serviço de cerca viva. Um serviço de cerca viva se refere a um serviço que provê apenas um conjunto de capacidades limitadas. Os cenários em que um ST seria limitado a uma cerca viva incluem, por exemplo, uma configuração de ST ou outros problemas que bloqueiam uma associação de IPGW normal, suspensão de serviço e ativação de serviço. Por exemplo, uma suspensão de serviço reflete um estado usualmente empregado quando um assinante falhou em pagar suas contas de serviço, ou por um período limitado após o assinante suspender seu serviço. As capacidades de acesso permitido de um serviço de cerca viva são reguladas com base em considerações comerciais em particular, as quais, por exemplo, são serviços essenciais limitados, tais como serviços de e-mail da web, websites de atendimento ao consumidor de provedor de serviços, e sistemas de suporte comerciais. Ainda, um serviço de cerca viva geralmente proibirá um acesso à web geral. Pretende-se, por exemplo, que o cenário de cerca viva seja uma configuração de serviço temporária, para prover serviços essenciais, enquanto o assinante resolve as questões que induziram ao cenário de cerca viva. Se o ST determinar que o IPGW suporta um serviço de cerca viva, então, o ST adicionará o IPGW a um grupo de cerca viva, e avançará para a Etapa 310, 5 onde o ST espera por uma próxima CMM (sujeito à determinação de temporizador de mensagem CMM doa Etapa 33 6, se o ST for não associado).
Se o ST determinar que a CMM do IPGW não indica um serviço de cerca viva, então, o ST determinará se os 10 serviços suportados pelo IPGW combinam ou suportam a configuração de serviço e as assinaturas do ST (Etapa 316). Por exemplo, o ST analisa a regulagem de capacidade especificada pela CMM e determina se os serviços desejados para os quais o ST é configurado, e o que o ST assinou, são 15 suportados pelas capacidades do IPGW. Por exemplo, de acordo com uma modalidade de exemplo, com base nos serviços para os quais o terminal é configurado (por exemplo, os serviços os quais um usuário do terminal assinou), o terminal utiliza um ou mais critérios de serviço
2 0 quantitativos extraídos da CMM para determinar se o IPGW
suporta os serviços requeridos do ST. Por exemplo, um ritmo de transferência (via download) e uma política de uso de volume de transferência (via download) representam dois desses critérios de serviço quantitativos. 0 ritmo de 25 transferência (via download) reflete a velocidade máxima (em Mbps) a qual um terminal é configurado para sustentar na direção de recepção a partir da rede para dados de usuário. 0 ritmo de transferência (via download), por exemplo, é com base no plano de serviços o qual o terminal
3 0 assinou (por exemplo, com base nas assinaturas de serviço de usuário). O volume de uso de transferência (via download) reflete a quantidade de dados em MB ou GB que um terminal é configurado para receber a partir do IPGW na direção de transferência (via download). O volume de uso de 5 transferência (via download) , por exemplo, é com base em uma opção selecionada pelo usuário quando assina um plano de serviço.
Se o ST determinar que o IPGW não suporta a configuração de serviço e as assinaturas do ST, então, o 10 algoritmo avançará para a Etapa 310, onde o ST esperará por uma próxima CMM (sujeito à determinação de temporizador de mensagem CMM da Etapa 336, se o ST for não associado) . Contudo, se houver uma combinação entre as capacidades de serviço do IPGW e a configuração / as assinaturas do ST 15 (por exemplo, o IPGW satisfaz âs exigências do ST), então, o algoritmo avançará para a Etapa 32 0. Na Etapa 320, se o terminal for um ST que assinou uma IPv4 estática, então, o algoritmo avançará para a Etapa 324, e, caso contrário, o algoritmo avançará para a Etapa 322. Na Etapa 324, o ST
2 0 determina se a sub-rede de IPv4 do ST está na CMM e, caso não, então, o algoritmo avançará para a Etapa 310, onde o ST espera por uma próxima CMM (sujeito à determinação de temporizador de mensagem CMM da Etapa 33 6, se o ST for não associado) . Caso contrário, se a sub-rede de IPv4 estiver
2 5 na CMM, então, o algoritmo avançará para a Etapa 322. Na
Etapa 322, o IPGW é adicionado como um IPGW candidato no grupo de IPGW do ST (por exemplo, ipgwPool) .
A figura 3B descreve um fluxograma que ilustra um algoritmo por meio do que um ST atualmente associado pode
3 0 determinar que é para se desassociar do IPGW atual e se associar a um novo IPGW, de acordo com uma modalidade de exemplo. Com referência de volta à figura 3A, por exemplo, após um ST adicionar um IPGW ao grupo de IPGW do ST (Etapa 322), o ST começa o algoritmo da figura 3B para determinar 5 se é para se associar a um novo IPGW. Em primeiro lugar, na Etapa 32 6, é determinado se o ST está em um estado de Monitoração de Carga (descrito abaixo com respeito à figura 4A) . Se o ST estiver no estado de Monitoração de Carga, então, o algoritmo avançará para a Etapa 327, onde o ST 10 recebe e decodifica uma CMM. Em seguida, na Etapa 328, o ST determina se a CMM é a partir do IPGW atualmente associado ao ST, e, se assim for, então, o ST prossegue para determinar se é para se associar a um IPGW diferente, começando com a Etapa 33 0. Na Etapa 33 0, o ST determina se 15 a carga do IPGW associado (por exemplo, currIPGWLoad) excede a um limite mínimo (por exemplo,
switchIPGWThreshold) e também excede à carga de corte (por exemplo, Load_Cutoff) do IPGW. Se a resposta na Etapa 33 0 for sim, então, o algoritmo avançará para a Etapa 332, e o
2 0 ST randomicamente decidirá se é para tentar se associar a
um IPGW diferente. Se a resposta em qualquer uma das Etapas 328, 330 ou 332 for não, então, o algoritmo avançará de volta para a Etapa 327, onde o ST recebe e decodifica uma próxima CMM. Se, na Etapa 334, for determinado que o 25 temporizador de mensagem CMM expirou, ou, na Etapa 332, o resultado da determinação for sim, então, o ST selecionará um novo IPGW (a partir do grupo de IPGW) ao qual se associar. Por exemplo, o ST rodaria o algoritmo de seleção de IPGW da figura 3C.
3 0 De acordo com uma modalidade de exemplo, para as Etapas 330 e 332:
LoadSutof = max _LoadJPGW_Poo LoaájCutof f _Percemage
ímax Load IPGW Pool - mln Locid IPGW Pool]\
100 ‘ ~ J
5
Rand = valor randômíco entre Oel
y^|. _. jQl(fíírríPGWí’£,oc!C-MA^./í,G»,.i.«3ed)/l0i
A figura 3C descreve um fluxograma que ilustra um
algoritmo de seleção randômica com peso atribuído por meio do que um ST seleciona um IPGW a partir do grupo de IPGW do ST, de acordo com uma modalidade de exemplo. O algoritmo começa na Etapa 342, onde o ST determina se seu grupo de IPGW está vazio, e, caso vazio, então, o algoritmo avança
para a Etapa 346, onde o ST seleciona um IPGW a partir de um grupo de IPGW de cerca viva. Isto assume que pelo menos um IPGW de cerca viva esteja configurado por feixe pontual (e que o ST tenha adicionado de forma bem sucedida o IPGW a um grupo de IPGW de cerca viva (por exemplo, em consonância
2 0 com o algoritmo para a criação de um grupo de IPGW da
figura 3A). Ainda, o processo de seleção para a seleção de um IPGW em particular a partir do grupo de IPGW de cerca viva pode ser similar ao algoritmo de seleção para um IPGW regular, conforme estabelecido abaixo.
Esta próxima parte do algoritmo determina um peso de
integrante para cada IPGW ativo no grupo de IPGW, onde o peso de integrante é inversamente proporcional à carga. Em outras palavras, quanto mais alta a carga de um IPGW, mais baixo o peso. Conforme descrito acima, de acordo com uma
3 0 modalidade, a carga reportada de um IPGW consiste em um inteiro que varia de um a MAX_IPGW_LOAD, onde MAX_IPGW_LOAD reflete a carga máxima e um reflete a carga mínima. Na Etapa 342, se o grupo de IPGW for determinado como não estando vazio, então, o algoritmo avançará para a Etapa 5 344, onde o ST seleciona o primeiro IPGW a partir de dentro do grupo de IPGW. Na Etapa 34 8, o peso para o IPGW selecionado é regulado no MAX__IPGW_LOAD menos a carga reportada do IPGW selecionado (por exemplo, ipgwLoad, e conforme armazenado com respeito ao IPGW no grupo de IPGW).
Assim sendo, isto regula o peso de um IPGW em particular como sendo a diferença entre sua carga reportada e a carga máxima - regulando os pesos em um inverso em relação à carga reportada e à carga máxima. Por exemplo, em uma escala de carga de 1 a 100, se um IPGW tiver uma carga de
10 (uma carga relativamente baixa), então, o peso daquele IPGW será regulado em 90, ao passo que, se um IPGW tiver uma carga de 80 (uma carga relativamente alta), então, o peso daquele IPGW será regulado em 20. Na Etapa 352, um grupo de IPGW de peso atribuído é gerado pela listagem do
2 0 IPGW para o grupo de IPGW de peso atribuído um número de
vezes correspondente a seu peso de IPGW (a partir da Etapa 348) . Assim sendo, a partir dos exemplos precedentes, o IPGW de peso 90 será listado no grupo de IPGW de peso atribuído 90 vezes, e o IPGW de peso 20 será listado no
grupo de IPGW de peso atribuído 20 vezes. Em seguida, na Etapa 354, o ST determina se todos os IPGWs do grupo de IPGW foram processados (por exemplo, tiveram um peso atribuído e listado no grupo de IPGW de peso atribuído de modo conforme) . Caso não, o algoritmo avança para a Etapa
3 0 356, onde o próximo IPGW é selecionado a partir do grupo e, então, as Etapas 348 e 352 são repetidas para atribuição de peso àquele próximo IPGW e listagem dele no grupo de IPGW de peso atribuído de acordo com seu peso. Uma vez que todos os IPGWs do grupo de IPGW tenham sido processados (uma 5 condição de Sim na Etapa 354), um índice randômico (entre 1 e o comprimento do grupo de IPGW de peso atribuído) é gerado para se indexar randomicamente o grupo de IPGW de peso atribuído e selecionar um IPGW ao qual o ST é para se associar (Etapa 358). Por último, uma vez que um IPGW tenha 10 sido selecionado, o ST então executaria o algoritmo para associação com o IPGW selecionado (figura 3D).
Assim sendo, o algoritmo precedente para a seleção de um IPGW a partir do grupo de IPGW de um ST reflete um algoritmo que opera com base em uma probabilidade 15 estatística para a seleção de um IPGW menos carregado mais frequentemente do que um IPGW mais carregado. Mais ainda, embora este algoritmo reflita um algoritmo específico de acordo com uma modalidade, contudo, será evidente que várias modificações e mudanças podem ser feitas ali, e
2 0 modalidades adicionais podem ser implementadas, sem que se desvie do escopo mais amplo da presente invenção. Por exemplo, uma modalidade alternativa poderia envolver a implementação de uma tabela de distribuição de probabilidade cumulativa (CPD).
2 5 A figura 3D descreve um fluxograma que ilustra um
algoritmo de associação de IPGW por meio do que um ST se associa a um IPGW selecionado a partir do grupo de IPGW do ST, de acordo com uma modalidade de exemplo. Com referência à figura 3C, uma vez que um ST selecione um IPGW a partir de seu grupo de IPGW (Etapa 358) , o ST transmite uma mensagem de requisição de associação de terminal (por exemplo, a mensagem de TAR) para o IPGW (Etapa 3 60) . A mensagem de TAR é uma mensagem de unidifusão para o IPGW em particular selecionado pelo ST ao qual se associa. A 5 mensagem de TAR, por exemplo, contém vários elementos de informação, tal como uma informação de serviço relacionada à configuração de ST, onde o conteúdo da informação de serviço inclui, por exemplo, um ID de dispositivo e um ID de consumidor, onde o ID de dispositivo serve como um 10 identificador de terminal único para rastreamento do uso de transferência (via download) do ST, e o ID de consumidor serve como um identificador único para o consumidor associado ao ST. A mensagem de TAR também contém um identificador indicando o ritmo de transferência (via 15 download) e a configuração de volume de uso de transferência (via download) ou uma assinatura de serviço do terminal, e um identificador especificando o estado de serviço do terminal (por exemplo, suspenso ou não suspenso). Quando um ST é suspenso, o terminal se associa 20 apenas aos IPGWs reportando suporte de serviços de cerca viva. A mensagem de TAR ainda contém uma assinatura de serviço, a qual consiste em uma versão assinada ou de prova da informação de parâmetro de serviço. A assinatura de serviço serve para proteção contra uma violação da
2 5 informação de parâmetro de serviço em uma tentativa de
atualizar o(s) plano(s) de serviço do ST em relação a e acima dos planos de serviço os quais o ST assinou. Ainda, no caso de um ST ter assinado um serviço de sub-rede de IPv4 ou IPv6 estática, a mensagem de TAR também incluirá a
3 0 informação de sub-rede de IPv4 ou IPv6. O algoritmo de associação começa na Etapa 362, onde o IPGW recebe a mensagem de TAR a partir do ST, o que (conforme especificado acima) inclui a informação de parâmetro de serviço e a assinatura de serviço para o ST.
5 Inicialmente, o IPGW checa se seu status não é fora de serviço (Etapa 3 64) . Uma vez que o IPGW verifique que está em serviço, ele checa o status do ST para garantir que o ST não esteja em um estado suspenso (Etapa 366) . Se o ST estiver em um estado suspenso, então, o IPGW determinará se 10 provê um serviço de cerca viva (Etapa 368) , e, se assim for, então, o IPGW aceita a associação, e limita o ST a apenas serviços de cerca viva (Etapa 372). Por exemplo, os IPGWs de cerca viva devem aceitar a requisição de associação independentemente do estado de ST e do plano de 15 serviço. Na Etapa 366, se for determinado que o ST não está em um estado suspenso, então, o IPGW assinará os parâmetros de serviço de ST (extraídos do TAR) com a chave de assinatura de serviço (por exemplo, a signingKey pré- configurada no IPGW) (Etapa 370) , e compara os parâmetros 20 de serviço assinado com relação ã assinatura de serviço do ST (extraída através da mensagem de TAR) (Etapa 3 74) . Na Etapa 374, se houver uma combinação de assinatura, então, o algoritmo avançará para a Etapa 376, onde o IPGW determina se os serviços requisitados combinam com as capacidades de 25 serviço do IPGW (se os parâmetros de serviço do ST combinam com os parâmetros de serviço do IPGW) . Uma vez que o IPGW determine que os serviços requisitados combinam com as capacidades do IPGW, o IPGW determina se o ST assinou uma sub-rede de IPv4 ou IPv6 estática (Etapa 378) . Se o ST
3 0 tiver assinado uma sub-rede de IPv4 ou IPv6 estática, o IPGW servirá às redes de IPv4/IPv6 e o prefixo / a sub-rede estará disponível através do IPGW (Etapas 380 e 382), então o algoritmo avançará para a Etapa 3 84. Na Etapa 3 84, o IPGW determina se o ST já está associado ao IPGW e, se assim 5 for, na Etapa 390, o IPGW aceita a associação e envia uma mensagem de aceitação de associação para o ST, aceitando a associação e provendo os parâmetros apropriados. Caso contrário, se o ST não estiver associado ao IPGW, então, o IPGW determinará se está sobrecarregado (Etapa 386). Se o 10 IPGW não estiver sobrecarregado, na Etapa 3 90, o IPGW aceita a associação e envia uma mensagem de aceitação de associação para o ST, aceitando a associação e provendo os parâmetros apropriados. Incluídos com a mensagem de aceitação de associação, por exemplo, o IPGW provê os 15 parâmetros a seguir: prefixo de IPv6 atribuído e tamanho de sub-rede, a sub-rede de IPv4 privada e o tamanho de sub- rede, onde uma sub-rede de IPv4 privada sempre pode ser enviada, mesmo se o terminal assinar um plano de IPv4 estática. Se o IPGW determinar que não está em serviço (Não 20 na Etapa 3 64) , o IPGW não suportar os serviços de cerca viva (Não na Etapa 3 68) , haverá uma não combinação de assinatura (Não na Etapa 374) , o IPGW determinar que os códigos de serviço não combinam com as capacidades do IPGW (Não na Etapa 376), o IPGW não servir a sub-redes de IPv4 / 25 IPv6 estáticos (Não na Etapa 380) ou o prefixo / sub-rede não estiver disponível (Não na Etapa 382) , ou o IPGW estiver sobrecarregado (Sim na Etapa 386), então, o algoritmo avançará para a Etapa 388, onde o IPGW envia uma mensagem de rejeição de associação par ao ST, rejeitando
3 0 uma associação e provendo um código de razão para a rejeição.
De acordo com uma modalidade de exemplo, a mensagem de associação é uma mensagem de unidifusão, a qual é transmitida pelo IPGW, em resposta a uma mensagem de 5 requisição de associação de ST, para o ST em particular a partir do qual a mensagem de TAR se originou. A resposta de associação compreende uma mensagem de aceitação de associação ou uma mensagem de rejeição de associação, dependendo do código de resposta retornado pelo IPGW na 10 mensagem - aceitando a requisição de associação ou rejeitando a requisição de associação. Por exemplo, a resposta de associação contém um código de resposta indicando se a resposta é uma mensagem de aceitação de associação ou uma mensagem de rejeição de associação. No 15 caso de uma mensagem de aceitação de associação, a resposta de associação pode incluir uma atribuição de endereço de IP. No caso de uma sub-rede de IPv6, a atribuição de endereço de IP incluiria o prefixo de IPv6 e o comprimento do prefixo, especificando o prefixo de IPv6 usado para a 20 atribuição de uma sub-rede de IPv6 para a porta de LAN de terminal, bem como para delegar outras sub-redes de IPv6 para roteadores na rede de consumidor. A atribuição de endereço de IP também incluiria a sub-rede de IPv4 e o tamanho de sub-rede, o que é atribuído à porta de LAN de 25 terminal e pode ser usado para atribuição de endereços de DHCP. A resposta de associação também inclui os endereços de IP de servidor de DNS, os quais podem ser endereços de IPv4 e/ou IPv6. Ainda, o envio de uma mensagem de aceitação de associação também alerta o IPGW para abrir estruturas de
3 0 proxy de melhoria de performance (PEP) junto ao terminal. Embora o PEP e uma associação não sejam geralmente dependentes de cada outro, pode haver interações entre os protocolos requeridos antes de o ST poder começar a prover serviços de plano de dados para o usuário. Ainda. Toda vez 5 em que o IPGW permite uma associação, o IPGW pode enviar uma notificação confiável em tempo real contendo o ID de dispositivo, o tempo de começo de associação e quaisquer sub-redes atribuídas.
No caso de uma mensagem de rejeição de associação, a resposta contém um código de causa de rejeição, onde o código de causa de rejeição pode ser permanente ou temporário, o que tem impacto as ações de acompanhamento do ST. O código de causa de rejeição cai, por exemplo, em suas categorias principais. Uma categoria como essa reflete problemas transitórios (por exemplo, problemas que tendem a se autocorrigir). Os exemplos de problemas transitórios incluem uma rejeição devido ao IPGW candidato mudar para um estado não ativo, uma rejeição devido a um carregamento do IPGW candidato, ou uma rejeição devido ao esgotamento de sub-redes de IP para alocação para o terminal. A segunda categoria reflete problemas fundamentais, os quais são problemas que não têm probabilidade de se autocorrigirem. Os exemplos de problemas fundamentais incluem uma rejeição devido a uma não combinação de assinatura, uma rejeição devido a um erro de protocolo, uma rejeição devido a parâmetros de serviço não suportados, ou uma rejeição devido a uma não combinação de estado suspenso. Embora uma categoria fundamental possa ser transitória (por exemplo, não combinações de assinatura enquanto as chaves mudam durante uma janela de manutenção), a maioria requer uma intervenção. Quando o primeiro IPGW rejeita um ST, independentemente do tipo de rejeição, o terminal seleciona um IPGW candidato diferente do grupo de IPGW, se um estiver disponível. Se o ST for rejeitado por mais de um IPGW, com 5 base em um código de rejeição transitório, o terminal continuará a tentar todos os IPGWs no grupo de IPGW, até o terminal ter tentado todos os IPGWs pelo menos uma vez. Se o ST tiver sido rejeitado por todos os IPGWs no grupo (por exemplo, devido a um carregamento anormalmente alto), o 10 terminal entrará em um estado de retorno (por exemplo, se o ST ainda tiver que entrar no estado de retorno durante esta tentativa de associação). Se o ST for rejeitado por mais de um IPGW com um código de rejeição fundamental, o terminal entrará em um estado de cerca viva, onde ele pode acessar 15 páginas de atendimento ao consumidor e serviços básicos até o problema ser corrigido.
A figura 3E descreve um fluxograma que ilustra um algoritmo por meio do que um ST determina se é para terminar uma associação com um IPGW com base em certas
2 0 expirações ou um reboot de IPGW, de acordo com uma
modalidade de exemplo. Um ST pode executar o algoritmo da figura 3E, enquanto no estado de ST associado 430 (descrito abaixo) ou no estado de monitoração de carga 432 (descrito abaixo). Uma vez que o ST receba uma mensagem de aceitação 25 de associação a partir do IPGW para o qual ele enviou uma mensagem de requisição de associação, o ST se associa ao respectivo IPGW (Etapa 392) . Enquanto associado, o ST receberá mensagens de manutenção de atividade periódicas indicando que a associação ainda está ativa (Etapa 393) .
3 0 Ainda, o ST monitora o sincronismo de mensagens de manutenção de atividade de associação através de um temporizador de mensagem de manutenção de atividade pré- determinado configurável, por meio do que o ST determina se o temporizador de manutenção de atividade expirou antes de 5 receber uma próxima mensagem de manutenção de atividade (Etapa 394). 0 ST também monitora o sincronismo de mensagens CMM a partir do IPGW ao qual está associado, através de um temporizador de mensagem CMM predeterminada configurável, por meio do que o ST determina se o 10 temporizador de mensagem CMM expirou, antes de receber uma próxima mensagem CMM a partir de seu IPGW associado (Etapa
3 95). Se (na Etapa 3 94) o ST determinar que o temporizador de manutenção de atividade expirou antes de receber uma próxima mensagem CMM de seu IPGW associado (Etapa 395) , então, o ST concluirá que a associação não está mais ativa, e enviará uma mensagem de terminação de associação para o IPGW (Etapa 398) , em cujo ponto o ST selecionará um novo IPGW a partir de seu grupo de IPGW ao qual se associar (por exemplo, através do algoritmo de seleção de IPGW da figura 3C). Se o temporizador de mensagem CMM não tiver expirado, então, o ST estará recebendo CMMs de seu IPGW associado (Etapa 3 96), o qual incluirá uma estampa de tempo de último reboot indicando o tempo do reboot mais recente do IPGW. O ST determina se o tempo do último reboot do IPGW é mais recente do que o tempo quando o ST se tornou associado ao IPGW (Etapa 397). Se o ST determinar que o último do IPGW é mais recente do que o tempo de associação, então, o ST de modo similar concluirá que a associação não está mais ativa, e enviará uma mensagem de terminação de associação para o IPGW (Etapa 398), em cujo ponto o ST selecionará um novo IPGW a partir de seu grupo de IPGW ao qual se associar (por exemplo, através do algoritmo de seleção de IPGW da figura 3C).
A figura 4A descreve um diagrama de estado que ilustra 5 os estados de um ST, de acordo com uma modalidade de exemplo. O estado de criação de grupo de IPGW 422 é o estado inicial no qual um ST começa (por exemplo, após um reboot) . O ST também pode entrar neste estado por uma de várias razões, incluindo: (a) o terminal retorna após uma 10 falta do fluxo de rota para fora, devido a um impedimento de transmissão de longa duração ou uma falha de gateway relativamente longa; (b) a configuração do ST muda de modo que os IPGWs do grupo atual não mais satisfaçam às exigências de serviço do ST; ou (c) os IPGWs do grupo de 15 IPGW atual do ST se tornam não mais disponíveis para servirem ao terminal (por exemplo, com base em os IPGWs saírem de serviço ou serem reconfigurados). Neste estado, o ST atualmente não tem um grupo de IPGW. Em estados em que o ST já tem um grupo de IPGW, o terminal mantém continuamente 20 seu grupo de IPGW atualizado, e, assim, o estado de criação de grupo de IPGW geralmente não é aplicável a um ST que já tenha um grupo de IPGW, mesmo se o terminal perder sua associação com um IPGW ao qual o ST está atualmente associado. No caso de faltas relativamente longas e 25 reboots, contudo, um terminal não tenta manter seu estado atual de um grupo de IPGW existente ou uma associação atual. Após uma falta relativamente longa ou um reboot, portanto, o ST entra no estado de criação de grupo de IPGW, em oposição a tentar restabelecer o grupo de IPGW prévio e
3 0 uma associação de IPGW a partir de antes da falta ou do reboot. Adicionalmente, embora um limite prático deva ser imposto quanto ao número de IPGWs que podem ser colocados no grupo de IPGW, as modalidades de exemplo da presente invenção envolvem um projeto flexível, por meio do que um 5 grupo de IPGW suporta IPGWs suficientes, de modo que haja uma flexibilidade operacional no emprego de grandes grupos de IPGW, enquanto efetivamente se equilibra a carga através deles. Por exemplo, em uma modalidade de exemplo, o ST é capaz de suportar pelo menos 64 IPGWs, permitindo futuros
casos potenciais de equilíbrio de carga através de todos os fluxos de rota de saída de todas as rotas de saída em um feixe de satélite (por exemplo, 172a a 172n) . O processo para a criação do grupo de IPGW, por exemplo, segue o algoritmo da figura 3A.
De acordo com uma modalidade de exemplo, um ST recebe
CMMs a partir de todos os IPGWs ativos utilizando um fluxo de rota de saída em particular (por exemplo, a transição de CMMs de recebimento 423, condicionada no ST recebendo CMMs) . 0 ST decodifica e analisa as CMMs para determinar
2 0 combinações de IPGW com base em vários critérios na CMM.
Por exemplo, o ST é configurado com uma informação de parâmetro de serviço, a qual compreende um conjunto de parâmetros configurados no terminal para significarem o(s) plano(s) de serviço os quais o ST assinou. 0 ST combina sua
informação de parâmetro de serviço com relação às capacidades reportadas através da CMM de cada IPGW. 0 ST também pode combinar com respeito a um ID de consumidor e uma compatibilidade de software / hardware. Qualquer IPGW cuja CMM não seja uma combinação é ignorado, e qualquer
3 0 IPGW cuja CMM seja considerada uma combinação, e que esteja reportando um estado em serviço, será adicionado ao grupo de IPGW. Ainda, o ST monitora e filtra as CMMs para um período de expiração pré-determinado configurável (por exemplo, com base em um temporizador de coleta de CMM) para 5 garantir que o terminal considere CMMs para todos os IPGWs elegíveis. Uma vez que o temporizador de coleção de CMM tenha expirado, o ST tem um grupo de IPGW vazio ou tem um grupo de IPGW não vazio, e o ST transita para o estado de Seleção de IPGW 424 (por exemplo, a transição 425, 10 condicionada na expiração do Temporizador de Coleta).
Adicionalmente, o ST também pode entrar no estado de Seleção de IPGW 424, por exemplo: (a) se o ST determinar que é para se associar a um novo IPGW, enquanto no estado de Monitoração de Carga 432 (por exemplo, a transição 433, 15 condicionada em a Carga de IPGW é mais alta do que a média); (b) a partir do estado de Requisição de Associação Enviada 42 6, se o ST falhar em se associar a um IPGW candidato (por exemplo, a transição 431, condicionada na expiração de um temporizador de resposta um número pré- 2 0 determinado de vezes ou no recebimento de uma mensagem de resposta de rejeição de associação) ; ou (c) a partir do estado de ST Associado, se o ST perder conectividade ou falhar em obter uma conectividade com um IPGW junto ao qual estava associado (por exemplo, a transição 443,
2 5 condicionada em um número pré-determinado de manutenções de
atividade perdidas (uma expiração de manutenção de atividade), recebimento de uma terminação de associação, falha em recebimento de mensagens CMM de um IPGW associado, ou uma estampa de tempo de último reboot após uma
3 0 associação a um IPGW) . Ainda, o ST pode sair do estado de seleção de IPGW em qualquer um dos cenários a seguir: (i) o ST seleciona o IPGW ao qual já está associado e transita diretamente para o estado de ST associado 430 (por exemplo, a transição 441, condicionada na seleção do IPGW 5 associado); (ii) o ST envia uma mensagem de requisição de associação para um IPGW candidato, e transita para um estado de Requisição de Associação Enviada 426 (por exemplo, uma transição 429, condicionada na seleção de um IPGW) ; ou (iii) o grupo de IPGW do ST está vazio, antes de 10 enviar uma mensagem de requisição de associação, por meio do que o ST transita para o estado de Criação de grupo de IPGW 422 (por exemplo, a transição 427, condicionada em um grupo de IPGW vazio).
No estado de Seleção de IPGW 424, por exemplo, o ST 15 usa um algoritmo de seleção randômica para a seleção de um único IPGW candidato a partir do grupo de IPGW. Em primeiro lugar, se o ST tiver um grupo de IPGW vazio, o terminal reinicializará um período de expiração e transitará de volta para o estado de Criação de grupo de IPGW 422 (por 20 exemplo, a transição 427) . 0 ST faz um ciclo através deste laço por até um número pré-determinado configurável de vezes. Se o terminal estiver operacional e não tiver combinado pelo menos um IPGW por um número de períodos de expiração, o terminal então tentará selecionar um IPGW 25 servindo como um serviço de cerca viva (descrito abaixo). Se o ST tentar se associar a um IPGW de cerca viva e falhar em encontrar quaisquer IPGWs de cerca viva ou for rejeitado pelos IPGWs de cerca viva, o terminal continuará a tentar procurar por e se associar a um IPGW de cerca viva, até uma
3 0 mudança ocorrer que alertasse o terminal para tentar de novo com um IPGW normal. No estado de Seleção de IPGW 424, o processo para seleção do IPGW, por exemplo, segue o algoritmo da figura 3C.
De acordo com uma modalidade de exemplo, quando entra no estado de Seleção de IPGW 424, o ST regula um ou os dois temporizadores randômicos antes de rodar o algoritmo de seleção. Os temporizadores dependem de o ST estar ativo ou inativo. Se o ST estiver ativo (por exemplo, o terminal tiver tráfego), então, ele regulará um temporizador mais curto (por exemplo, Active_Startup_Backoff) randomicamente selecionado entre zero e um valor máximo pré-determinado configurãvel do temporizador, e, na expiração deste temporizador, o terminal seleciona um IPGW e envia a mensagem de requisição de associação. Se o ST estiver inativo (por exemplo, o terminal não tiver qualquer tráfego), ele regulará dois temporizadores, o temporizador Active_Startup_Backoff e um temporizador mais longo (por exemplo, Idle_Startup_Backoff) entre o temporizador Active_Startup_Backoff e um valor máximo pré-determinado configurãvel. Se o tráfego chegar antes de o temporizador Active_Startup_Backoff ter expirado, então, o terminal selecionará um IPGW e enviará a mensagem de requisição de associação imediatamente. Se nenhum tráfego chegar, então, o terminal selecionará um IPGW e enviará a requisição de associação na expiração de Idle_Startup_Backoff. Este processo é usado para difundir requisições especialmente durante a partida do gateway.
Uma vez que o ST tenha selecionado um IPGW candidato, o ST envia uma mensagem de requisição de associação para o 3 0 IPGW selecionado, e transita para o estado de requisição de associação enviada 426 (por exemplo, a transição 429), onde o terminal espera por uma resposta. Uma vez que a mensagem de requisição de associação seja enviada, o ST começa um temporizador pré-determinado configurãvel (por exemplo, um 5 temporizador de Esperando por Resposta de Associação), e, se o temporizador expirar antes de uma resposta ser recebida, então, o terminal tentará de novo a requisição de associação para o mesmo IPGW candidato por até uma quantidade predeterminada configurãvel de vezes. Se o 10 temporizador expirar a quantidade predeterminada de vezes sem receber uma resposta, então, o ST transitará de volta para o estado de Seleção de IPGW 424, para selecionar um IPGW candidato diferente (por exemplo, a transição 431) . Note que a quantidade configurãvel de vezes pode ser 15 regulada para 0, de modo que um novo IPGW candidato sempre seja selecionado, quando não houver uma resposta à requisição de associação no período de expiração. Ainda, se o ST receber uma mensagem de resposta de rejeição de associação, então, o ST transitará de volta para o estado 20 de Seleção de IPGW 424, para selecionar um IPGW candidato diferente (por exemplo, a transição 431) . Adicionalmente, se o ST tentar se associar a todos os IPGWs no Grupo sem receber uma mensagem de resposta de aceitação de associação, então, o terminal entrará em um estado de 25 Retorno 428 (por exemplo, a transição 435, condicionada em todos os IPGWs de grupo não aceitando ou rejeitando a associação).
Um ST entra no estado de Retorno 428 com base em ser rejeitado por todos os IPGWs no grupo de IPGW, devido a uma razão de rejeição transitória. Isto ocorre, por exemplo, quando todos os IPGWs no grupo de IPGW estão raaximamente carregados. De modo a reduzir a quantidade de tráfego de terminais que estejam sendo rejeitados, o terminal vai para um período de retorno mais longo antes de tentar se 5 reassociar. O terminal fica neste estado de retorno até a expiração de um temporizador de retorno. Nesse momento, o terminal transita de volta para o estado de Seleção de IPGW 424 e tenta de novo selecionar e se associar a IPGWs em seu grupo de IPGW (por exemplo, a transição 437, condicionada 10 na expiração do Temporizador de Retorno). Se o terminal tiver falhado em se associar após um tempo através do estado de Retorno, o terminal tentará se associar à carca viva. Se o terminal tentar se associar a um IPGW de cerca viva e for rejeitado, o terminal tentará se associar a um 15 outro IPGW de cerca viva (se disponível no grupo de IPGW de cerca viva do ST) . Se o terminal não estiver recebendo quaisquer CMMs de IPGW de cerca viva ou não estiver recebendo quaisquer CMMs de IPGW de cerca viva a partir de um IPGW de cerca viva que não rejeitou o terminal com um
2 0 código de rejeição permanente, o terminal continua a
procurar por CMMs de cerca viva até as condições mudarem, que permita que o terminal se associe a um IPGW em seu grupo de IPGW normal. Se não houver outros IPGWs de cerca viva, e o terminal tiver sido rejeitado por um IPGW de 25 cerca viva com uma razão de rejeição transitória, o terminal continuará a usar o período de retorno para continuar a tentar se associar àquele IPGW de cerca viva, até um outro IPGW de cerca viva começar a reportar uma CMM, o terminal se associará de forma bem sucedida, ou as
3 0 condições mudarem, permitindo que o terminal se associe a um IPGW em seu grupo de IPGW normal.
Uma vez que o ST receba uma mensagem de aceitação de associação, o ST transita para o estado de ST Associado 430 (por exemplo, a transição 439, condicionada no recebimento 5 de uma mensagem de resposta de Aceitação de Associação). Neste estado, o ST começa a enviar e receber tráfego de UDP ou de TCP de usuário. Em uma modalidade de exemplo, contudo, as conexões de TCP são falsas, e, assim, o terminal deve garantir que as conexões de estrutura de 10 proxy de melhoramento de performance (PEP) sejam estabelecidas com um novo IPGW, antes de o ST aceitar conexões de TCP que são para serem melhoradas através de um PEP. Enquanto no estado de Terminal Associado, e uma vez que as conexões de estrutura de PEP sejam estabelecidas de 15 forma bem sucedida, o ST indica isso juntamente com o identificador do IPGW ao qual está associado em uma interface de usuário da web.
Enquanto no estado de ST Associado 43 0, o ST periodicamente recebe mensagens de manutenção de atividade, indicando que a associação ainda está ativa, e também continua a receber e monitorar CMMs (por exemplo, a transição 449) . Sempre que o ST determinar que um número configurãvel de manutenções de atividade tiver sido perdido, o ST considera que a associação terminou, e envia uma mensagem de terminação de associação explícita para o IPGW. De modo similar, se o ST determinar que um temporizador de mensagem CMM expirou antes de receber uma próxima CMM de seu IPGW associado, então, o ST considerará a associação como terminada, e enviará uma mensagem de terminação de associação explícita para o IPGW. A terminação de associação é uma mensagem de unidifusão enviada a partir de um terminal em particular para um IPGW em particular, quando o terminal estiver associado àquele IPGW. Isto provê uma limpeza clara e rápida de estado quando o terminal estiver se reassociando a um IPGW diferente ou terminando sua associação por alguma outra razão. A mensagem de Terminação contém um Código de Razão, provendo a razão pela qual o terminal está se desassociando do IPGW, o que pode ser usado em registros históricos de associação para depuração e análise de tendência. O ST também pode se desassociar do IPGW quando o terminal falhar em receber várias mensagens CMM do IPGW associado. Também pode haver um caso em que o ST não perde mensagens suficientes CMM (e devido a um rápido reboot do IPGW). Assim sendo, de modo que o ST não precise esperar pelo temporizador de manutenção de atividade neste caso, o terminal também olha para a estampa de tempo de último reboot em mensagens CMM que ele recebe do IPGW associado. Se a estampa de tempo de último reboot for após o tempo no qual o terminal se associou ao IPGW, o terminal se desassociará do IPGW. Assim sendo, para esses casos de uma terminação da associação ou desassociação, o ST transita de volta para o estado de Seleção de IPGW 424 (por exemplo, a transição 443). Nesses casos, o terminal envia uma mensagem de terminação de associação para o IPGW associado de modo a se desassociar de forma limpa, sem uma tentativa de reconhecimento ou garantia de sua entrega (porque não há garantia que o IPGW receba a mensagem de terminação). O IPGW simplesmente expira o ST, se não tiver recebido uma 3 0 mensagem de terminação de associação antes de uma expiração de manutenção de atividade.
Ainda, enquanto no estado de ST Associado 43 0, o ST monitora seu tráfego para determinar seu status inativo / ativo, e, quando inativo por um período de tempo pré- 5 determinado configurãvel (por exemplo, com base em Idle_Timer) , o terminal transita para o estado de Monitoração de Carga 432 para um equilíbrio de carga dinâmico (por exemplo, a transição 445, condicionada em uma expiração de Idle__Timer) . Um ST, por exemplo, está em um 10 estado inativo quando, por um período de tempo pré- determinado, nenhum dado tiver sido transferido entre a interface de rede de área local (LAN) de terminal (por exemplo, a interface de rede de um ST 134a a 134n servindo às respectivas centrais 144a a 144n ou aos roteadores 154a 15 a 154n) e a interface de ar de ST (por exemplo, a interface de RF que se comunica com o satélite 13 2 pelo canal de satélite 114) . Em uma modalidade, o período de tempo pré- determinado compreende um período de tempo configurãvel programável na configuração do ST. Ainda, o ST pode estar
2 0 em um estado inativo quando nenhuma sessão de TCP estiver
atualmente sendo falsificada (por exemplo, incluindo qualquer conexão de longa duração entre um cliente de aceleração da web e o respectivo servidor de aceleração da web) . Por outro lado, um ST pode estar em um estado ativo 25 quando, no período de tempo pré-determinado, os dados tiverem sido transferidos entre a LAN de ST e a interface de ar, ou pelo menos uma sessão de TCP estiver sendo ativamente falsificada. De acordo com uma modalidade de exemplo, um ST se reassociará apenas quando em um estado
3 0 inativo (porque uma reassociação enquanto ativo pode perturbar o tráfego de dados) , e, assim (porque o ST está inativo), a reassociação de um terminal inativo para um novo IPGW não tem impacto imediato sobre a carga naquele IPGW. Então, enquanto no estado de Monitoração de Carga 5 432, o ST transita de volta para o estado de ST Associado 43 0, se dados chegarem através da LAN ou uma interface de ar fazendo com que o terminal retorne para o estado ativo (por exemplo, a transição 447, condicionada em um retorno de ST para o estado ativo).
0 estado de Monitoração de Carga 432 compartilha
características similares com o estado de ST Associado 430, pelo fato de o ST continuar a trocar e monitorar mensagens de manutenção de atividade com seu IPGW associado e continuar a monitorar o recebimento de CMMs a partir daquele IPGW (por exemplo, a transição 451), e, se o envio de mensagem de manutenção de atividade ou o envio de mensagem CMM expirar, então, o ST enviará uma mensagem de terminação de associação para o IPGW. Ainda, o ST continua a monitorar e atualizar a informação de grupo de IPGW pelas CMMs recebidas (por exemplo, a transição 451). Além disso, enquanto no estado de Monitoração de Carga 432, o ST usa a informação de carga atual com referência ao grupo de IPGW para determinar se uma grande diferença de carga surge entre o IPGW ao qual o terminal está atualmente associado e os outros IPGWs no grupo de IPGW. Se houver uma diferença de carga relativamente grande, e a carga do IPGW atual estiver acima de um limite pré-determinado configurãvel mínimo, então, o ST randomicamente determinará se é para tentar se associar a um IPGW diferente. Se o ST determinar que está indo tentar se associar a um IPGW diferente, o ST transitará para o estado de Seleção de IPGW 424 para selecionar um novo IPGW candidato (por exemplo, uma transição 433). O ST realiza essa determinação com base em um Corte de Carga e um algoritmo associado realizado a cada 5 vez em que o ST recebe uma nova CMM a partir de seu IPGW associado (descrito abaixo). Ainda, sob essas condições, onde é determinado que um ST é elegível para se reassociar com base na carga do IPGW, o algoritmo aplica uma determinação randômica quanto a se é ou não para se 10 reassociar de fato, o que assegura que nem todos esses terminais deixem o IPGW, causando uma mudança de carga dramática demais.
Mais ainda, enquanto a discussão precedente se dirige a uma reassociação de um ST quando em um estado inativo, de 15 acordo com uma modalidade de exemplo adicional, os mesmos princípios podem ser aplicados a um ST quando em um estado ativo. Por exemplo, o ST pode transitar para o estado de Monitoração de Carga 432, e realizar um equilíbrio de carga dinâmico, independentemente de o ST estar inativo ou ativo. 20 Então, conforme provido acima, o ST monitora o carregamento do IPGW junto ao qual está associado, e determina se ou quando ele se torna um candidato para reassociação.
De acordo com uma modalidade de exemplo, um equilíbrio de carga dinâmico é realizado através de IPGWs através de 25 uma randomização de associação de ST e IPGW, com base em uma ou mais medidas que são usadas para a determinação da capacidade de um IPGW de servir aos terminais atualmente associados a ele, juntamente com novos terminais requisitando uma associação ao IPGW. Enquanto no estado de 3 0 Criação de grupo de IPGW 422, o ST cria um grupo inicial de IPGWs com suas respectivas cargas. Os IPGWs disponíveis e a carga e o estado daqueles IPGWs, contudo, podem mudar ao longo do tempo. Um ST, portanto, atualiza a informação de carga para cada IPGW em seu grupo, a cada vez em que uma 5 nova CMM é recebida a partir de um dos IPGWs no grupo. Por exemplo, de acordo com uma modalidade, um equilíbrio de carga dinâmico é realizado com base em um carregamento através das rotas de saída dos IPGWs. A implementação de equilíbrio de carga com base em um ritmo de transferência 10 de rota de saída de IPGW, por exemplo, obtém várias vantagens. Algumas dessas vantagens incluem o fato de que relações assimétricas em redes de internet levam a um congestionamento, da perspectiva do IPGW, em rotas de saída em oposição a rotas de entrada, de modo que uma medição com 15 base na rota de saída obtém medições mais acuradas de carga e uma evitação melhorada de congestionamento. Ainda, quando o número associado de terminais é um número mais estático, dois gateways com números similares de terminais associados podem evidenciar características diferentes de ritmo de 20 transferência e congestionamento. Mais ainda, a medição da carga com base em outros parâmetros, tal como o número de terminais ativos, reflete um ritmo de transferência e um congestionamento, contudo, a medição da carga com base no ritmo de transferência em si é mais direta e, daí, de novo
2 5 leva a medições de carga mais acuradas e a uma evitação de
congestionamento melhorada. Alternativamente, a medição de carga com base na utilização de CPU pode ser equivocada, especialmente considerando situações em que múltiplas instâncias de IPGW são utilizadas. Também, em uma situação
3 0 em que um IPGW é configurado para suportar uma taxa de informação de comprometimento (CIR) baixa, o IPGW pode estar congestionado em relação àquela CIR, embora não congestionado com base na utilização de CPU, e, assim, a medição de carga com base no ritmo de transferência é de novo mais acurado.
O IPGW constantemente mede sua carga atual com base no ritmo de transferência atual (transmissão em Mbits/segundo), e converte aquele número de ritmo de transferência em uma escala em relação à largura de banda 10 que tem permissão para utilizar. 0 IPGW usa uma escala que varia de 0 a um parâmetro configurãvel (por exemplo, MAX_IPGW_LOAD) para a medição da carga atual para relatório para os STs através de suas CMMs (por exemplo, MAX__IPGW_L0AD = 100) . Um ritmo de transferência ou um valor 15 de carga nulo significa que o IPGW não tem uma carga de usuário e 100 significa que o IPGW atingiu um limite de carga máximo (por exemplo, maxLoadThreshold). Por exemplo, o limite de carga máximo é uma função da taxa de informação comprometida (CIR) de IPGW (por exemplo, configurada no 20 IPGW) , e uma taxa de informação comprometida ajustada (Adj_CIR), onde a taxa de informação comprometida ajustada potencialmente é mais baixa do que a taxa de informação comprometida durante tempos de controle de fluxo. Por exemplo, o IPGW usa a função a seguir para calcular o valor
2 5 de cada unidade na escala (por exemplo, Load_Unit, onde
Load_Unit é o valor de carga para toda unidade na escala):
maxLoadThreshold. = min (CIR, Adj_CíR)
LoadJJnit = maxLoadThreshold /100
3 0 Uma vez que a escala seja definida, o IPGW começa a reportar sua carga (por exemplo, ipgwLoad) na CMM. Para determinar a escala, o IPGW primeiramente converte a carga atenuada atual em um índice de escala de carga (por exemplo, loadlndex) . Por exemplo, de modo a evitar que a 5 CMM caia em pontos particulares de uma função oscilante senoidal, o IPGW atenua a função de carga para a provisão de uma descrição mais acurada da carga atual. A atenuação é realizada, por exemplo, pelo IPGW coletar amostras de carga instantânea (por exemplo, a cada segundo) por um período
pré-determinado configurãvel. Então, com base em um temporizador de atenuação (por exemplo, um
IoadReportingSmoothingTimer) , uma vez que o temporizador tenha expirado, o IPGW prossegue para calcular a média dos valores de carga instantâneos coletados, e regula a carga
atual do IPGW (por exemplo, a currIPGWLoad) para aquela média. 0 IPGW então converte a carga atenuada atual para o índice de escala de carga, com base na função a seguir: loadlndex = (currIPGWLoad * 100) / maxLoadThreshold . ou
loadlndex = currIPGWLoad / Load_Unit
20
Os STs podem utilizar a informação de carga para selecionarem IPGWs enquanto não associados, bem como para determinarem se é para mudar IPGWs enquanto inativos (por exemplo, enquanto no estado de Monitoração de Carga 432) .
2 5 De modo a evitar mudanças abruptas na distribuição de carga
com base no movimento de STs associados, um terminal associado (enquanto inativo) pode ser restrito para fazer uma mudança de associação apenas quando o IPGW ao qual o ST está associado for altamente carregado, ou o IPGW ao qual o
3 0 ST está associado for altamente carregado em relação a outros IPGWs no mesmo grupo. Para se determinar se estas condições se aplicam, uma percentagem de corte de carga é usada (por exemplo, Load_Cutoff_Percentage). A percentagem de corte de carga é um parâmetro configurãvel, o qual é 5 utilizado para o cálculo de um corte de carga (por exemplo, Load_Cutoff) que se delineia entre cargas relativas mais altas e cargas relativas mais baixas. A percentagem de corte de carga é aplicada a uma faixa normalizada de cargas do grupo de IPGW (por exemplo, variando de
min_Load__IPGW__Pool a max__IPGW_Pool) . De acordo com uma modalidade de exemplo, a fórmula para o cálculo do corte de carga é:
Load_Cutoff = max _LoadJPGWJ1OOl -
1 cj çLoad_Cutoff_Percentage
l fõõ
* [max _LoadJPGW_Pool - min _Loa.dJPGW_Pool]j
Ainda, as etapas a seguir são repetidas a cada vez em que uma CMM de um IPGW for recebida (onde
Switch_IPGW_Threshold é um valor mínimo configurãvel abaixo do qual o terminal não consideraria se associar a um outro IPGW: (1) calcular o corte de carga; (2) se Current_Load de IPGW for maior ou igual a Load_Cutoff, e Current_Load de IPGW for maior do que ou igual a Switch__IPGW__Threshold,
2 5 então Rand retornará um número randômíco entre 0 e 1; e (3)
se Rand < 10(doo-current.Load^PGw)/io) ^ então, 0 ST transitará
para o estado de Seleção de IPGW 424.
0 que vem a seguir ilustra este processo (com referência à figura 5 - note que a figura 5 mostra o eixo Y
3 0 em uma escala de 1 a 10 ao invés de 1 a 100, de modo que a multiplicação dos números do eixo Y por 10 corresponde aos números do exemplo a seguir) . O ST é configurado com uma Load_Cutoff_Percentage, a qual neste exemplo é regulada para 20%. O ST também está monitorando a carga de todos os IPGWs neste grupo. A partir daquela monitoração, o terminal determina a carga reportada mínima e a carga reportada máxima através dos IPGWs no grupo (por exemplo, min_Load_IPGW_Pool e max_Load_IPGW_Pool, respectivamente). Neste exemplo, min_Load_IPGW__Pool = 50 e max_Load_IPGW__Pool =80. Com base nestes números, o Load_Cutoff é calculado como sendo de 68. Um Corte de Carga de 6 8 significa que um terminal inativo associado a um IPGW cuja carga é maior do que 68 associar-se-ia a um novo IPGW, com alguma probabilidade. Neste exemplo, apenas terminais em IPGW4 considerariam uma reassociação.
A figura 4B descreve um diagrama de estado que ilustra os estados de um IPGW, de acordo com uma modalidade de exemplo. O estado de Espera por Terminal 412 é o estado inicial de IPGW, o qual é um estado nulo em que o IPGW não
2 0 está ativamente processando qualquer informação para um
dado ST. O IPGW deixa este estado e transita para o estado de Verificação de Associação 414 (por exemplo, uma transição 461), mediante o recebimento de uma mensagem de requisição de associação a partir de um ST que já não 25 esteja nos estados de Requisição de Associação Enviada ou ST Associado (figura 4A, 426 e 430, respectivamente) . 0 IPGW também pode chegar a este estado a partir do estado de Terminal Associado 416, se um ST enviar uma mensagem de terminação de associação explícita ou a Associação ao ST
3 0 expirar devido a uma falta de envio de mensagem de manutenção de atividade (por exemplo, a transição 4 63).
Uma vez que o IPGW receba uma mensagem de requisição de associação a partir de um ST, o IPGW entra no estado de Verificação de Associação 414 (eletrodo a transição 461) .
Neste estado, o IPGW determina se pode prover o serviço de terminal. 0 serviço é definido como o conjunto de capacidades providas por um IPGW para um terminal para a provisão de tráfego de IP para o terminal (tal como enviando para o terminal em um ritmo de transferência de 10 rota de saída específica) . 0 IPGW deixa o estado de Verificação de Associação 414 quando envia uma mensagem de aceitação de associação, em cujo caso ele transita para o estado de ST Associado 416 (com respeito ao ST recém- associado) (por exemplo, a transição 465) , ou quando envia 15 uma mensagem de rejeição de aceitação, em cujo caso transita para o estado de Espera por Terminal (por exemplo, a transição 467) . Enquanto no estado de Verificação de Associação 414, a verificação, por exemplo, é realizada de acordo com o algoritmo da figura 3D.
Quando no estado de ST associado 416 (por exemplo, com
respeito a um ST associado em particular) , o IPGW periodicamente armazena a informação de uso de ST (com referência a cada ST associado) em um armazenamento compartilhado. Quando o IPGW deixa o estado de Terminal 25 Associado 416 (por exemplo, com respeito a um ST em particular que se tornou desassociado), ele apaga toda a informação sobre o terminal em particular e escreve a última informação de uso (desde a última escrita) para o armazenamento compartilhado. Assim sendo, um registro
3 0 completo da informação de uso para o terminal deve ser armazenado (e preservado) no armazenamento compartilhado. Toda vez em que o IPGW terminar uma associação a um ST, o IPGW pode enviar uma notificação confiável em tempo real contendo o ID de dispositivo para o ST e o tempo de terminação de associação.
A figura 6 ilustra um sistema de computador no qual as modalidades de exemplo de acordo com a presente invenção podem ser implementadas. O sistema de computador 60 0 inclui um barramento 6 01 ou outro mecanismo de comunicação para 10 comunicação de uma informação, e um processador 603 acoplado ao barramento 601 para processamento de uma informação. O sistema de computador 600 também inclui uma memória principal 605, tal como uma memória de acesso randômico (RAM) ou outro dispositivo de armazenamento 15 dinâmico, acoplada ao barramento 601 para o armazenamento de informação e instruções a serem executadas pelo processador 603. A memória principal 605 também pode ser usada para o armazenamento de variáveis temporárias ou outra informação intermediária durante a execução de 20 instruções a serem executadas pelo processador 603. 0 sistema de computador 600 ainda inclui uma memória apenas de leitura (ROM) 6 07 ou outro dispositivo de armazenamento estático acoplado ao barramento 601 para o armazenamento de uma informação estática e instruções para o processador 25 603. Um dispositivo de armazenamento 609, tal como um disco magnético ou um disco ótico, é adicionalmente acoplado ao barramento 601 para o armazenamento de informação e instruções.
O sistema de computador 600 é acoplado através do
3 0 barramento 6 01 a um visor 611, tal como um tubo de raios catódicos (CRT), um visor de cristal líquido, um visor de matriz ativa ou um visor de plasma, para a exibição de informação para um usuário de computador. Um dispositivo de entrada 613, tal como um teclado incluindo teclas 5 alfanuméricas e outras, é acoplado ao barramento 601 para comunicação de uma informação e seleções de comando para o processador 603. Um outro tipo de dispositivo de entrada de usuário é um controle de cursor 615, tal como um mouse, um trackball ou teclas de direção de cursor para comunicação 10 de informação de direção e seleções de comando para o processador 603 e para controle do movimento do cursor no visor 611.
De acordo com uma modalidade da invenção, arquiteturas dinâmicas e flexíveis e métodos para associação de nós 15 remotos a respectivos nós de agregação, de acordo com modalidades de exemplo, são providos pelo sistema de computador 600 em resposta ao processador 603 executar um arranjo de instruções contidas na memória principal 605. Essas instruções podem ser lidas na memória principal 6 05 a
2 0 partir de um outro meio que pode ser lido em computador, tal como o dispositivo de armazenamento 609. A execução do arranjo de instruções contidas na memória principal 605 faz com que o processador 603 execute as etapas de processo descritas aqui. Um ou mais processadores em um arranjo de
2 5 processamento múltiplo também podem ser empregados para a
execução de instruções contidas na memória principal 605. Em modalidades alternativas, um circuito de ligação física é usado no lugar de ou em combinação com instruções de software para a implementação da modalidade da presente
3 0 invenção. Assim, as modalidades da presente invenção não estão limitadas a qualquer combinação específica de circuito de hardware e software.
0 sistema de computador 60 0 também inclui uma interface de comunicação 617 acoplada ao barramento 601. A interface de comunicação 617 provê uma comunicação de dados de duas vias se acoplando a um enlace de rede 619 conectado a uma rede local 621. Por exemplo, a interface de comunicação 617 pode ser um cartão de linha de assinante digital (DSL) ou modem, um cartão de rede digital de serviços integrados (ISDN), um modem de cabo ou um modem de telefone para a provisão de uma conexão de comunicação de dados a um tipo correspondente de linha telefônica. Como um outro exemplo, a interface de comunicação 617 pode ser uma placa de rede de área local (LAN) (por exemplo, para Ethernet™ ou uma rede de modelo de transferência assíncrona (ATM)) para a provisão de uma conexão de comunicação de dados para uma LAN compatível. Os enlaces sem fio também podem ser implementados. Em qualquer implementação como essa, uma interface de comunicação 617 envia e recebe sinais elétricos, eletromagnéticos ou óticos que portam fluxos de dados digitais representando vários tipos de informação. Ainda, a interface de comunicação 617, por exemplo, inclui dispositivos de interface periféricos, tais como uma interface de barramento serial universal (USB), uma interface de PCMCIA (associação internacional de cartão de memória de computador pessoa), etc.
0 enlace de rede 619 tipicamente provê uma comunicação de dados através de uma ou mais redes para outros dispositivos de dados. Por exemplo, o enlace de rede 619
3 0 provê uma conexão através da rede local 621 para um computador principal 623, o qual tem conectividade com uma rede 625 (por exemplo, uma rede de área ampla (WAN) ou a rede de comunicação de dados de pacote global agora comumente referida como a "Internet") ou para um 5 equipamento de dados operado pelo provedor de serviços. A rede local 621 e a rede 625 ambas usam sinais elétricos, eletromagnéticos ou óticos para o transporte de informação e instruções. Os sinais através das várias redes e os sinais no enlace de rede 619 e através da interface de 10 comunicação 617, os quais comunicam dados digitais com o sistema de computador 600, são formas de exemplo de ondas portadoras portando a informação e instruções.
O sistema de computador 600 envia mensagens e recebe dados incluindo um código de programa, através da(s) rede(s), do enlace de rede 619 e da interface de comunicação 617. No exemplo da Internet, um servidor (não mostrado) poderia transmitir o código requisitado pertencente a um programa aplicativo para a implementação de uma modalidade da presente invenção através da rede 62 5, da rede local 621 e da interface de comunicação 617. 0 processador 603 executa o código transmitido enquanto é recebido e/ou armazena o código no dispositivo de armazenamento 23 9, ou outro armazenamento não volátil para execução posterior. Desta maneira, o sistema de computador 600 obtém um código de aplicação na forma de uma onda portadora.
O termo "meio que pode ser lido em computador" conforme usado aqui se refere a qualquer meio que participe na provisão de instruções para o processador 6 03 para execução. Um meio como esse pode assumir muitas formas, incluindo, mas não limitando, meios não voláteis, meios voláteis e meios de transmissão. Os meios não voláteis incluem, por exemplo, discos óticos ou magnéticos, tal como o dispositivo de armazenamento 609. Os meios não voláteis 5 podem incluir uma memória dinâmica, tal como a memória principal 605. Os meios de transmissão podem incluir cabos coaxiais, um fio de cobre e fibras óticas, incluindo os fios que compreendem o barramento 6 01. Os meios de transmissão também podem assumir a forma de ondas 10 acústicas, óticas, ou ondas eletromagnéticas, tais como aquelas geradas durante comunicações de dados por frequência de rádio (RF) e infravermelho (IR) . As formas comuns de meios que podem ser lidos em computador incluem, por exemplo, um disco portátil, um flexível, um disco 15 rígido, uma fita magnética, qualquer outro meio magnético, um CD ROM, um CDRW, um DVD, qualquer outro meio ótico, cartões de perfuração, fita de papel, folhas com marca ótica, qualquer outro meio físico com padrões de furos ou outros índices reconhecíveis oticamente, uma RAM, uma PROM,
2 0 e uma EPROM, uma EPROM FLASH, qualquer outro chip de
memória ou cartucho, uma onda portadora, ou qualquer outro meio a partir do qual um computador possa Ier.
Várias formas de meios que podem ser lidos em computador podem estar envolvidas na provisão de instruções 25 para um processador para execução. Por exemplo, as instruções para a realização de pelo menos parte da presente invenção podem inicialmente ser portadas em um disco magnético de um computador remoto. Em um cenário como esse, o computador remoto carrega as instruções na memória
3 0 principal e envia as instruções por uma linha telefônica usando-se um modem. Um modem de um sistema de computador local recebe os dados da linha telefônica e usa um transmissor de infravermelho para converter os dados em um sinal de infravermelho e transmitir o sinal de 5 infravermelho para um dispositivo de computação portátil, tal como um assistente digital pessoal (PDA) e um laptop. Um detector de infravermelho no dispositivo de computação portátil recebe a informação e as instruções portadas pelo sinal de infravermelho e coloca os dados em um barramento.
0 barramento porta os dados para a memória principal, a partir do que um processador recupera e executa as instruções. As instruções recebidas pela memória principal opcionalmente podem ser armazenadas no dispositivo de armazenamento, antes ou após a execução pelo processador.
A figura 7 ilustra um conjunto de chip 7 00 no qual
modalidades d ai podem ser implementadas. O conjunto de chip 700 inclui, por exemplo, componentes de processador e de memória descritos com respeito à figura 7 incorporados em um ou mais pacotes físicos. A título de exemplo, um
pacote físico inclui um arranjo de um ou mais materiais, componentes e/ou fios em um conjunto estrutural (por exemplo, uma placa de base) para a provisão de uma ou mais características, tais como resistência física, conservação de tamanho e/ou limitação de interação elétrica.
2 5 Em uma modalidade, o conjunto de chip 7 00 incluí um
mecanismo de comunicação, tal como um barramento 701 para passagem de uma informação dentre os componentes do conjunto de chip 700. Um processador 703 tem conectividade com o barramento 701 para execução de instruções e
3 0 processamento de informação armazenada ali, por exemplo, uma memória 705. O processador 703 inclui um ou mais núcleos de processamento com cada núcleo configurado para execução independentemente. Um processador de núcleo múltiplo permite um processamento múltiplo em um único 5 pacote físico. Os exemplos de um processador de núcleo múltiplo incluem dois, quatro, oito ou números maiores de núcleos de processamento. De forma alternativa ou adicional, o processador 703 inclui um ou mais microprocessadores configurados em tandem através do 10 barramento 7 01 para se permitir uma execução independente de instruções, uso de pipeline e linha múltipla. 0 processador 703 também pode ser acompanhado por um ou mais componentes especializados para a execução de certas funções de processamento e tarefas, tais como um ou mais 15 processadores de sinal digital (DSP) 707, e/ou um ou mais circuitos integrados específicos de aplicação (ASIC) 709. Um DSP 707 tipicamente é configurado para processar sinais de mundo real (por exemplo, som) em tempo real, independentemente do processador 703 . De modo similar, um 20 ASIC 709 pode ser configurado para a realização de funções especializadas não facilmente realizadas por um processador de finalidade geral. Outros componentes especializados para ajudarem na execução das funções inventivas descritas aqui incluem um ou mais arranjos de porta programáveis de campo 25 (FPGA) (não mostrados) , um ou mais controladores (não mostrados), ou um ou mais outros chips de computador de finalidade geral.
O processador 703 e os componentes associados têm conectividade com a memória 7 05 através do barramento 7 01. A memória 705 inclui uma memória dinâmica (por exemplo, uma RAM) e uma memória estática (por exemplo, uma ROM) para o armazenamento de instruções executáveis que, quando executadas pelo processador 703 e/ou pelo DSP 707 e/ou pelo ASIC 709, realizam o processo de modalidades de exemplo 5 como descrito aqui. A memória 705 também armazena dados associados a ou gerados pela execução do processo.
Na especificação precedente, várias modalidades foram descritas com referência aos desenhos associados. Contudo, será evidente que várias modificações e mudanças podem ser 10 feitas ali, e modalidades adicionais podem ser implementadas, sem que se desvie do escopo mais amplo da invenção, conforme estabelecido nas reivindicações que se seguem. A especificação e os desenhos assim sendo devem ser considerados em um sentido ilustrativo, ao invés de 15 restritivo.

Claims (46)

1. Método caracterizado pelo fato de que compreende: o recebimento, por um dispositivo terminal, de uma mensagem transmitida por um gateway por uma rede de comunicações, em que a mensagem inclui códigos de serviço identificando uma ou mais capacidades de serviço do gateway; a determinação, com base nos códigos de serviço, quanto a se o gateway é um gateway elegível para servir a uma ou mais exigências de serviço do dispositivo terminal; e a adição do gateway a um grupo de gateways elegíveis na rede de comunicações.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a mensagem é transmitida pelo gateway através de um protocolo de envio de mensagem de multidifusão.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que os códigos de serviço refletem um ou mais critérios de serviço quantitativos.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a determinação quanto a ser o gateway é um gateway elegível para servir ao terminal compreender a avaliação dos códigos de serviço da mensagem para se determinar se uma ou mais capacidades de serviço do gateway correspondem às exigências de serviço do dispositivo terminal.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende a determinação quanto a se o gateway é um do grupo de gateways elegíveis.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que: se for determinado que o gateway é um do grupo de gateways elegíveis, então, o método ainda compreenderá determinar se um número de seqüência de mudança incluído na mensagem indica uma mudança de configuração do gateway; e se for determinado que o número de seqüência de mudança indica uma mudança de configuração do gateway, então, o método ainda compreenderá a atualização de uma informação associada ao gateway em um banco de dados de informação referente aos gateways no grupo de gateways elegíveis.
7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende: a determinação, com base nos códigos de serviço, quanto a se as capacidades de serviço do gateway incluem ou um ou mais serviços especiais; e a adição do gateway a um grupo de gateways de serviço especial.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que um ou mais serviços especiais compreendem um conjunto pré-determinado de serviços restritos.
9. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende: a determinação, com base nos códigos de serviço, quanto a se as capacidades de serviço do gateway incluem um serviço de endereço de rede estática, e se uma sub-rede do serviço de rede estática está disponível.
10. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que o serviço de endereço de rede estática compreende um ou mais dentre IPv4 e IPv6.
11. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que, se for determinado que o gateway é um do grupo de gateways elegíveis, então, o método ainda compreende: esperar por uma ou mais mensagens a partir de um ou mais outros gateways elegíveis; e determinar se um temporizador de mensagem expirou.
12. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a mensagem ainda inclui uma informação de carga especificando uma carga do gateway, o método ainda compreendendo: a manutenção, pelo dispositivo terminal, de um banco de dados de informação referente aos gateways no grupo de gateways elegíveis, em que a informação do banco de dados inclui uma informação de carga especificando uma carga para cada um dos gateways do grupo de gateways elegíveis; a seleção de um gateway a partir do grupo de gateways elegíveis através de um algoritmo de seleção de equilíbrio de carga, com base na informação de carga dos gateways; e a transmissão de uma mensagem de requisição de associação para o gateway selecionado.
13. Método, de acordo com a reivindicação 12, caracterizado pelo fato de que o algoritmo de seleção de equilíbrio de carga compreende um algoritmo de seleção randômica de peso atribuído.
14. Método, de acordo com a reivindicação 13, caracterizado pelo fato de que o algoritmo de seleção randômica de peso atribuído compreende as etapas de: seleção de um primeiro gateway do grupo de gateways elegíveis; atribuição de um fator de peso ao primeiro gateway, com base na informação de carga do primeiro gateway, em que o fator de peso é inversamente proporcional à informação de carga; a realização das etapas de seleção e de atribuição com respeito a gateways subsequentes do grupo de gateways elegíveis, até que todos os gateways do grupo tenham sido processados; a geração de uma lista de gateways do grupo de gateways elegíveis, em que cada gateway é incluído na lista um número de vezes, com base em seu fator de peso; e a geração de um índice randômico e a seleção de um gateway a partir da lista gerada dos gateways do grupo de gateways elegíveis, com base no índice randômico.
15. Método, de acordo com a reivindicação 12, caracterizado pelo fato de que ainda compreende: o recebimento, pelo dispositivo terminal, de uma mensagem de aceitação de associação transmitida a partir do gateway selecionado em resposta à mensagem de requisição de associação; e a associação ao gateway selecionado, em resposta à mensagem de aceitação de associação, para transmissão e recepção de tráfego de dados de serviço pela rede de comunicações através do gateway associado.
16. Método, de acordo com a reivindicação 15, caracterizado pelo fato de que ainda compreende: o recebimento de uma mensagem de manutenção de atividade periódica indicando que a associação entre o dispositivo terminal e o gateway associado ainda está ativa; a determinação que as mensagens de manutenção de atividade não foram recebidas por um período de expiração de associação pré-configurado; e a transmissão de uma mensagem de terminação de associação para o gateway associado.
17. Método, de acordo com a reivindicação 15, caracterizado pelo fato de que ainda compreende: a determinação que as mensagens não foram recebidas a partir do gateway associado por um período de expiração de associação associado; e a transmissão de uma mensagem de terminação de associação para o gateway associado.
18. Método, de acordo com a reivindicação 15, caracterizado pelo fato de que ainda compreende: o recebimento, pelo dispositivo terminal, de uma outra mensagem a partir do gateway associado, em que a outra mensagem inclui uma estampa de tempo de último reboot, indicando um tempo de último reboot do gateway associado; a determinação que a estampa de tempo de último reboot indica que o tempo de último reboot do gateway associado foi após o tempo de associação entre o dispositivo terminal e o gateway associado; e a transmissão de uma mensagem de terminação de associação para o gateway associado.
19. Método caracterizado pelo fato de que compreende: o recebimento, por um gateway, de uma mensagem de requisição de associação a partir de um dispositivo terminal, em que a mensagem de requisição de associação inclui uma assinatura de serviço e parâmetros de serviço do dispositivo terminal; a determinação, com base na assinatura de serviço, quanto a se a mensagem de requisição de associação reflete uma requisição válida; a determinação de uma ou mais requisições de serviço do dispositivo terminal, em que a determinação das requisições de serviço é com base em uma correspondência entre os parâmetros de serviço e a informação associada de um banco de dados de exigência de serviço do gateway; a determinação quanto a se o gateway é configurado para servir às exigências de serviço do dispositivo terminal; e a transmissão, em resposta à determinação quanto a se o gateway está configurado para servir às exigências de serviço do dispositivo terminal, de uma mensagem de aceitação de associação incluindo um ou mais parâmetros de associação.
20. Método, de acordo com a reivindicação 19, caracterizado pelo fato de que a assinatura de serviço compreende uma assinatura resultante de uma assinatura dos parâmetros de serviço do dispositivo terminal, com base em uma chave de assinatura de serviço.
21. Método, de acordo com a reivindicação 19, caracterizado pelo fato de que a determinação quanto a se a mensagem de requisição de associação reflete uma requisição válida inclui a assinatura de uma informação de parâmetro de serviço com base em uma chave de assinatura de serviço, e a determinação de uma correspondência entre a informação de parâmetro de serviço assinada e a assinatura de serviço.
22. Método caracterizado pelo fato de que compreende: o recebimento, por um dispositivo terminal, de uma mensagem transmitida por um gateway por uma rede de comunicações, em que a mensagem inclui uma informação de carga especificando uma carga para o gateway; a determinação que o dispositivo terminal está associado ao gateway para transmissão e recepção de um tráfego de dados de serviço pela rede de comunicações através do gateway; determinar se a carga do gateway associado excede a um ou mais dentre um limite pré-determinado e uma carga de corte do gateway; determinar randomicamente que é para terminar a associação com o gateway, se for determinado que a carga do gateway associado excede a um ou mais dentre um limite pré- determinado e uma carga de corte do gateway.
23. Método, de acordo com a reivindicação 22, caracterizado pelo fato de que ainda compreende: determinar se o dispositivo terminal está em um estado inativo, em que o dispositivo terminal não transmitiu ou recebeu qualquer tráfego de dados de serviço por um período de tempo pré-determinado, e em que a determinação para terminar a associação com o gateway apenas ocorre se o dispositivo terminal estiver no estado inativo.
24. Aparelho caracterizado pelo fato de que compreende: pelo menos um processador; e pelo menos uma memória incluindo um código de programa de computador para um ou mais programas, pelo menos uma memória e o código de programa de computador configurados para, com pelo menos um processador, fazer com que o aparelho execute pelo menos o seguinte, receber uma mensagem transmitida por um gateway por uma rede de comunicações, em que a mensagem inclui códigos de serviço identificando uma ou mais capacidades de serviço do gateway, determinar, com base nos códigos de serviço, se o gateway é um gateway elegível para servir a uma ou mais exigências de serviço do aparelho; e adicionar o gateway a um grupo de gateways elegíveis na rede de comunicações.
25. Aparelho, de acordo com a reivindicação 24, caracterizado pelo fato de que a mensagem é transmitida pelo gateway através de um protocolo de envio de mensagem de multidifusão.
26. Aparelho, de acordo com a reivindicação 24, caracterizado pelo fato de que os códigos de serviço refletem um ou mais critérios de serviço quantitativos.
27. Aparelho, de acordo com a reivindicação 24, caracterizado pelo fato de que a determinação quanto a se o gateway é um do grupo de gateways elegíveis compreende a avaliação dos códigos de serviço da mensagem para se determinar se uma ou mais das capacidades de serviço do gateway correspondem às exigências de serviço do aparelho.
28. Aparelho, de acordo com a reivindicação 24, caracterizado pelo fato de que ainda compreende: determinar se o gateway é um do grupo de gateways elegíveis.
29. Aparelho, de acordo com a reivindicação 28, caracterizado pelo fato de que: se for determinado que o gateway é um do grupo de gateways elegíveis, então, o aparelho ainda ser feito determinar se um número de seqüência de mudança incluído na mensagem indica uma mudança de configuração do gateway; e se for determinado que o número de seqüência de mudança indica uma mudança de configuração do gateway, então, o aparelho ser adicionalmente feito atualizar uma informação associada ao gateway em um banco de dados de informação referente aos gateways no grupo de gateways elegíveis.
30. Aparelho, de acordo com a reivindicação 24, caracterizado pelo fato de que o aparelho ainda é feito: determinar, com base nos códigos de serviço, se as capacidades de serviço do gateway incluem um ou mais serviços especiais; e adicionar o gateway a um grupo de gateways elegíveis.
31. Aparelho, de acordo com a reivindicação 30, caracterizado pelo fato de que um ou mais serviços especiais compreendem um conjunto pré-determinado de serviços restritos.
32. Aparelho, de acordo com a reivindicação 24, caracterizado pelo fato de que o aparelho ainda é feito: determinar, com base nos códigos de serviço, se as capacidades de serviço do gateway incluem um serviço de endereço de rede estática e se uma sub-rede do serviço de rede estática está disponível.
33. Aparelho, de acordo com a reivindicação 32, caracterizado pelo fato de que o serviço de endereço de rede estática compreende um ou mais dentre IPv4 e IPv6.
34. Aparelho, de acordo com a reivindicação 28, caracterizado pelo fato de que, se for determinado que o gateway é um do grupo de gateways elegíveis, então, o aparelho é adicionalmente feito: esperar por uma ou mais mensagens a partir de um ou mais outros gateways elegíveis; e determinar se um temporizador de mensagem expirou.
35. Aparelho, de acordo com a reivindicação 24, caracterizado pelo fato de que a mensagem ainda inclui uma informação de carga especificando uma carga do gateway, e em que o aparelho ainda é feito: manter um banco de dados de informação referente aos gateways no grupo de gateways elegíveis, em que a informação do banco de dados incluí uma informação de carga especificando uma carga para cada um dos gateways do grupo de gateways elegíveis; selecionar um gateway a partir do grupo de gateways elegíveis através de um algoritmo de seleção de equilíbrio de carga com base na informação de carga dos gateways; e transmitir uma mensagem de requisição de associação para o gateway selecionado.
36. Aparelho, de acordo com a reivindicação 35, caracterizado pelo fato de que o algoritmo de seleção de equilíbrio de carga compreende um algoritmo de seleção randômica de peso atribuído.
37. Aparelho, de acordo com a reivindicação 36, caracterizado pelo fato de que o algoritmo de seleção randômica de peso atribuído compreende as etapas de: seleção de um primeiro gateway do grupo de gateways elegíveis; atribuição de um fator de peso ao primeiro gateway, com base na informação de carga do primeiro gateway, em que o fator de peso é inversamente proporcional ã informação de carga; a realização das etapas de seleção e de atribuição com respeito a gateways subsequentes do grupo de gateways elegíveis, até que todos os gateways do grupo tenham sido processados; a geração de uma lista de gateways do grupo de gateways elegíveis, em que cada gateway é incluído na lista um número de vezes, com base em seu fator de peso; e a geração de um índice randômico e a seleção de um gateway a partir da lista gerada dos gateways do grupo de gateways elegíveis, com base no índice randômico.
38. Aparelho, de acordo com a reivindicação 35, caracterizado pelo fato de que o aparelho ainda é feito: receber uma mensagem de aceitação de associação transmitida a partir do gateway selecionado em resposta à mensagem de requisição de associação; e associar-se ao gateway selecionado, em resposta à mensagem de aceitação de associação, para transmissão e recepção de tráfego de dados de serviço pela rede de comunicações através do gateway associado.
39. Aparelho, de acordo com a reivindicação 38, caracterizado pelo fato de que o aparelho ainda é feito: receber uma mensagem de manutenção de atividade periódica indicando que a associação entre o dispositivo terminal e o gateway associado ainda está ativa; determinar que as mensagens de manutenção de atividade não foram recebidas por um período de expiração de associação pré-configurado; e transmitir uma mensagem de terminação de associação para o gateway associado.
40. Aparelho, de acordo com a reivindicação 38, caracterizado pelo fato de que o aparelho ainda é feito: determinar que as mensagens não foram recebidas a partir do gateway associado por um período de expiração de associação associado; e transmitir uma mensagem de terminação de associação para o gateway associado.
41. Aparelho, de acordo com a reivindicação 38, caracterizado pelo fato de que o aparelho ainda é feito: receber uma outra mensagem a partir do gateway associado, em que a outra mensagem inclui uma estampa de tempo de último reboot, indicando um tempo de último reboot do gateway associado; determinar que a estampa de tempo de último reboot indica que o tempo de último reboot do gateway associado foi após o tempo de associação entre o dispositivo terminal e o gateway associado; e transmitir uma mensagem de terminação de associação para o gateway associado.
42. Aparelho caracterizado pelo fato de que compreende: pelo menos um processador; e pelo menos uma memória incluindo um código de programa de computador para um ou mais programas, pelo menos uma memória e o código de programa de computador configurados para, com pelo menos um processador, fazerem com que o aparelho realize pelo menos um dos seguintes, o recebimento de uma mensagem de requisição de associação a partir de um dispositivo terminal, em que a mensagem de requisição de associação inclui uma assinatura de serviço e parâmetros de serviço do dispositivo terminal; a determinação, com base na assinatura de serviço, quanto a se a mensagem de requisição de associação reflete uma requisição válida; a determinação de uma ou mais requisições de serviço do dispositivo terminal, em que a determinação das requisições de serviço é com base em uma correspondência entre os parâmetros de serviço e a informação associada de um banco de dados de exigência de serviço do gateway; a determinação quanto a se o gateway é configurado para servir às exigências de serviço do dispositivo terminal; e a transmissão, em resposta à determinação quanto a se o gateway está configurado para servir às exigências de serviço do dispositivo terminal, de uma mensagem de aceitação de associação incluindo um ou mais parâmetros de associação.
43. Aparelho, de acordo com a reivindicação 42, caracterizado pelo fato de que a assinatura de serviço compreende uma assinatura resultante de uma assinatura dos parâmetros de serviço do dispositivo terminal, com base em uma chave de assinatura de serviço.
44. Aparelho, de acordo com a reivindicação 42, caracterizado pelo fato de que a determinação quanto a se a mensagem de requisição de associação reflete uma requisição válida inclui a assinatura de uma informação de parâmetro de serviço com base em uma chave de assinatura de serviço, e a determinação de uma correspondência entre a informação de parâmetro de serviço assinada e a assinatura de serviço.
45. Aparelho caracterizado pelo fato de que compreende: pelo menos um processador; e pelo menos uma memória incluindo um código de programa de computador para um ou mais programas, pelo menos uma memória e o código de programa de computador configurados para, com pelo menos um processador, fazerem com que o aparelho realize pelo menos um dos seguintes, o recebimento de uma mensagem transmitida por um gateway por uma rede de comunicações, em que a mensagem inclui uma informação de carga especificando uma carga para o gateway; a determinação que o dispositivo terminal está associado ao gateway para transmissão e recepção de um tráfego de dados de serviço pela rede de comunicações através do gateway; determinar se a carga do gateway associado excede a um ou mais dentre um limite pré-determinado e uma carga de corte do gateway; determinar randomicamente que é para terminar a associação com o gateway, se for determinado que a carga do gateway associado excede a um ou mais dentre um limite pré- determinado e uma carga de corte do gateway.
46. Aparelho, de acordo com a reivindicação 45, caracterizado pelo fato de que o aparelho ainda é feito: determinar se o dispositivo terminal está em um estado inativo, em que o dispositivo terminal não transmitiu ou recebeu qualquer tráfego de dados de serviço por um período de tempo pré-determinado, e em que a determinação para terminar a associação com o gateway apenas ocorre se o dispositivo terminal estiver no estado inativo.
BR102012027415-9A 2012-04-30 2012-10-25 Método e aparelho para associação dinâmica de nós de terminal com nós de agregação e equilíbrio de carga BR102012027415B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/459,869 2012-04-30
US13/459,869 US9635149B2 (en) 2012-04-30 2012-04-30 Method and apparatus for dynamic association of terminal nodes with aggregation nodes and load balancing

Publications (2)

Publication Number Publication Date
BR102012027415A2 true BR102012027415A2 (pt) 2014-04-22
BR102012027415B1 BR102012027415B1 (pt) 2021-12-21

Family

ID=49477186

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102012027415-9A BR102012027415B1 (pt) 2012-04-30 2012-10-25 Método e aparelho para associação dinâmica de nós de terminal com nós de agregação e equilíbrio de carga

Country Status (2)

Country Link
US (2) US9635149B2 (pt)
BR (1) BR102012027415B1 (pt)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9160671B2 (en) * 2012-12-03 2015-10-13 Hewlett-Packard Development Company, L.P. Ingress traffic classification and prioritization with dynamic load balancing
US20140258511A1 (en) * 2013-03-11 2014-09-11 Bluebox Security Inc. Methods and Apparatus for Reestablishing Secure Network Communications
US9397912B2 (en) * 2013-03-13 2016-07-19 Arista Networks, Inc. Method and system for active fabric management using unicast reachability monitoring
US20140280758A1 (en) * 2013-03-15 2014-09-18 Verizon Patent And Licensing Inc. Methods and Systems for Providing Location-Based Subsidized Access to Network Content
US9716618B2 (en) * 2014-04-22 2017-07-25 International Business Machines Corporation Script termination
US9825851B2 (en) 2015-06-27 2017-11-21 Nicira, Inc. Distributing routing information in a multi-datacenter environment
US11082849B2 (en) * 2015-08-07 2021-08-03 Qualcomm Incorporated Validating authorization for use of a set of features of a device
US9979462B2 (en) * 2016-06-03 2018-05-22 Lockheed Martin Corporation Resilient virtual ground receivers
DE102017212256B4 (de) * 2017-07-18 2020-02-20 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zur Konfiguration von gleichartigen Netzwerkkomponenten sowie Kraftfahrzeug
US10820235B2 (en) * 2019-01-25 2020-10-27 Hughes Network Systems, Llc Efficient inroute (return channel) load balancing scheme of guaranteed QoS traffic mixed with best effort traffic in an oversubscribed satellite network
CN110739991B (zh) * 2019-10-21 2021-08-10 大连大学 一种基于QoS的卫星网络端-端通信可靠性分析方法
US11870679B2 (en) 2020-04-06 2024-01-09 VMware LLC Primary datacenter for logical router
US11882000B2 (en) * 2020-04-06 2024-01-23 VMware LLC Network management system for federated multi-site logical network
US11088916B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Parsing logical network definition for different sites
US11777793B2 (en) 2020-04-06 2023-10-03 Vmware, Inc. Location criteria for security groups
US11088902B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Synchronization of logical network state between global and local managers
WO2021237222A1 (en) * 2020-05-22 2021-11-25 Hughes Network Systems, Llc Dynamic outroute load balancing and multicast
CN113783712A (zh) 2020-06-09 2021-12-10 中兴通讯股份有限公司 默认网关管理方法、网关管理器、服务器及存储介质
US11343227B2 (en) 2020-09-28 2022-05-24 Vmware, Inc. Application deployment in multi-site virtualization infrastructure
US11770305B2 (en) * 2021-08-09 2023-09-26 International Business Machines Corporation Distributed machine learning in edge computing

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070213057A1 (en) * 2006-03-08 2007-09-13 Interdigital Technology Corporation Method and apparatus for supporting routing area update procedures in a single tunnel gprs-based wireless communication system
US8265626B2 (en) * 2008-12-16 2012-09-11 Industrial Technology Research Institute Method of setting up connection in a communication system, radio network controller, and communication system
US8499087B2 (en) * 2009-11-30 2013-07-30 At&T Mobility Ii Llc Service-based routing for mobile core network
US8542590B2 (en) * 2010-11-30 2013-09-24 Verizon Patent And Licensing Inc. Bi-directional load balancing
US20130052989A1 (en) * 2011-08-24 2013-02-28 Radisys Corporation System and method for load balancing in a communication network
US9811622B2 (en) * 2011-10-19 2017-11-07 Verizon Patent And Licensing Inc. Optimized network node selection
CN104205903A (zh) * 2012-03-14 2014-12-10 瑞典爱立信有限公司 确定终端在其空闲状态和其连接状态之间的转换

Also Published As

Publication number Publication date
US9635149B2 (en) 2017-04-25
US20130286833A1 (en) 2013-10-31
US20170223573A1 (en) 2017-08-03
US10499279B2 (en) 2019-12-03
BR102012027415B1 (pt) 2021-12-21

Similar Documents

Publication Publication Date Title
BR102012027415A2 (pt) Método e aparelho para associação dinâmica de nós de terminal com nós de agregação e equilíbrio de carga
Jasmine et al. DSQLR-A distributed scheduling and QoS localized routing scheme for wireless sensor network
US11777783B2 (en) Network slicing with smart contracts
US9948503B2 (en) Gateway redundancy protocol for communications networks
US9516025B2 (en) Reduced authentication times in constrained computer networks
US10348571B2 (en) Methods and apparatus for accessing dynamic routing information from networks coupled to a wide area network (WAN) to determine optimized end-to-end routing paths
US8949459B1 (en) Methods and apparatus for distributed backbone internet DDOS mitigation via transit providers
US8949959B2 (en) Reduced authentication times for shared-media network migration
US8549146B2 (en) Stateless forwarding of load balanced packets
US8089882B2 (en) Load-aware network path configuration
US20150257081A1 (en) Hybrid autonomous network and router for communication between heterogeneous subnets
US20090274045A1 (en) Qos provisioning in a network having dynamic link states
US11317272B2 (en) Method and system for enabling broadband roaming services
EP1349323B1 (en) Source address selection system suitable for a multi-home environment
US10819659B2 (en) Direct replying actions in SDN switches
WO2016182770A1 (en) Dynamically adjusting network services stratum parameters based on access and/or connectivity stratum utilization and/or congestion information
Demir et al. Robust QoS-aware communication in the smart distribution grid
Cisco Cisco IOS IP and IP Routing Configuration Guide Release 12.1
Gummadi et al. Practical routing-layer support for scalable multihoming
Safdar et al. ARP Overhead Reduction Framework for Software Defined Data Centers
Grasa et al. Design principles of the recursive internetwork architecture (RINA)
US20240214802A1 (en) Wireless client group isolation within a network
Al-Oqily et al. Automating overlay networks management
Rajkowski et al. The core protocol set for the global grid
Brayer THE CORE PROTOCOL SET FOR THE GLOBAL GRID

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
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 25/10/2012, OBSERVADAS AS CONDICOES LEGAIS.