GERENCIAMENTO DE CARGA DE CANAL DE ACESSO EM SISTEMA DE COMUNICAÇÃO SEM FIO
CAMPO DA INVENÇÃO
[001] A presente descrição se refere de modo geral à comunicação, e mais especificamente a técnicas de gerenciamento de carga de um canal de acesso em um sistema de comunicação sem fio.
DESCRIÇÃO DA TÉCNICA ANTERIOR
[002] Os sistemas de comunicação sem fio são amplamente desenvolvidos para fornecer vários serviços de comunicação tal como voz, vídeo, dados em pacote, envio de mensagens, difusão, etc. Esses sistemas sem fio podem ser sistemas de acesso múltiplo capazes de suportar múltiplos usuários pelo compartilhamento de recursos disponíveis do sistema. Exemplos de tais sistemas de acesso múltiplo incluem sistemas de Acesso múltiplo por divisão de código (CDMA), sistemas de acesso múltiplo por divisão de tempo (TDMA), sistemas de acesso múltiplo por divisão de frequência (FDMA), sistemas FDMA ortogonais (OFDMA), e sistemas FDMA de portador único (SC-FDMA).
[003] Um sistema de comunicação sem fio pode incluir um número de estações base que podem suportar a comunicação para vários terminais. Um terminal pode transmitir em um canal de acesso a fim de acessar o sistema e/ou para outros fins. Por exemplo, o terminal pode transmitir no canal de acesso a fim de registrar com o sistema quando o terminal está energizado, para originar uma chamada de voz ou dados, para informar ao sistema sobre a localização do terminal de modo que o sistema possa alertar o terminal se necessário, etc.
[004] O canal de acesso é tipicamente compartilhado por todos os terminais no sistema. Dessa forma, se muitos terminais transmitirem no canal de acesso e/ou se alguns terminais transmitirem frequentemente no canal de acesso, então uma carga pesada no canal de acesso pode aumentar a carga do sistema, retardar o acesso pelos terminais desejando conectar ao sistema, etc. Pode ser desejável se gerenciar a utilização e, dessa forma, a carga do canal de acesso a fim de evitar efeitos prejudiciais devido à sobrecarga do canal de acesso.
RESUMO DA INVENÇÃO
[005] As técnicas de gerenciamento de carga de um canal de acesso em um sistema de comunicação sem fio são descritas aqui. Em um aspecto, a carga do canal de acesso pode ser controlada fazendo com que cada terminal regule seu uso do canal de acesso (por exemplo, sua taxa de acesso ao sistema) com base em um algoritmo de controle de taxa. O algoritmo de controle de taxa pode manter a informação sobre atividades passadas de um terminal. O algoritmo de controle de taxa pode então regular o uso do canal de acesso pelo terminal com base em suas atividades passadas a fim de controlar a carga do canal de acesso e alcançar justiça para cada terminal. O sistema pode determinar pelo menos um valor de parâmetro para o algoritmo de controle de taxa com base nas condições de carga, por exemplo, a carga do sistema, a carga do canal de acesso, etc. O sistema pode fornecer (por exemplo, difundir) o pelo menos um valor de parâmetro para os terminais. Cada terminal pode então regular seu uso do canal de acesso com base no pelo menos um valor de parâmetro recebido do sistema.
[006] Em um desenho, um terminal pode obter o pelo menos um valor de parâmetro para o algoritmo de controle de taxa, por exemplo, através de uma transmissão de difusão do sistema. O terminal pode utilizar o canal de acesso de acordo com pelo menos um valor de parâmetro. Por exemplo, o terminal pode realizar o acesso de sistema utilizando o canal de acesso e/ou pode enviar dados e/ou mensagens utilizando o canal de acesso de acordo com o pelo menos um valor de parâmetro. Em um desenho, o algoritmo de controle de taxa pode compreender o token bucket. O terminal pode obter pelo menos um valor de parâmetro para uma taxa de fluxo de entrada de token e/ou um maximum bucket level para um token bucket. O terminal pode limitar sua taxa de acesso ao sistema com base na taxa de fluxo de entrada de token. O terminal também pode limitar uma rajada de acessos ao sistema com base no maximum bucket level.
[007] Vários aspectos e características da descrição são descritos em maiores detalhes abaixo.
BREVE DESCRIÇÃO DAS FIGURAS
[008] A figura 1 ilustra um sistema de comunicação sem fio;
[009] A figura 2 ilustra um procedimento de acesso ilustrativo;
[0010] A figura 3 ilustra um processo para controlar a carga de um canal de acesso;
[0011] A figura 4 ilustra um processo realizado por um terminal;
[0012] A figura 5 ilustra um processo para suportar a operação em um sistema sem fio;
[0013] A figura 6 ilustra um diagrama em bloco de um terminal, uma estação base, e um controlador de rede.
DESCRIÇÃO DETALHADA DA INVENÇÃO
[0014] As técnicas descritas aqui podem ser utilizadas pra vários sistemas de comunicação sem fio tal como CDMA, TDMA, FDMA, OFDMA, SC-FDMA e outros sistemas. Os termos "sistema" e "rede" são frequentemente utilizados de forma intercambiável. Um sistema CDMA pode implementar uma tecnologia de rádio tal como cdma2000, Acesso por Rádio Terrestre (UTRA), etc. cdma2000 cobre os padrões IS-2000, IS-95 e IS-856. UTRA inclui CDMA de Banda Larga (WCDMA) e outras variações de CDMA. Um sistema TDMA pode implementar uma tecnologia de rádio tal como o Sistema Global para Comunicações Móveis (GSM). Um sistema OFDMA pode implementar uma tecnologia de rádio tal como UTRA Evoluída (E-UTRA), Banda Larga Ultra Móvel (UMB), IEEE 802.11 (WiFi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM®, etc. UTRA e E-UTRA são parte do sistema de Telecomunicação Móvel Universal (UMTS), Evolução de Longo Termo 3GPP (LTE) e LTE Avançada são versões futuras de UMTS que utilizam E-UTRA. UTRA, E-UTRA, UMTS, LTE, LTE Avançada e GSM são descritos em documentos de uma organização chamada de "Projeto de Parceria de 3a. Geração" (3GPP). cdma2000 e UMB são descritos em documentos de uma organização chamada "Projeto de Parceria de 3a. Geração 2" (3GPP2). As técnicas descritas aqui podem ser utilizadas para sistemas e tecnologias de rádio mencionadas acima além de outros sistemas e tecnologias de rádio. Por motivos de clareza, determinados aspectos das técnicas são descritos abaixo para IS-856, que é comumente referido como Dados de Alta Taxa (HRPD), CDMA2000, 1xEV-DO (Evolução de Dados Otimizada), 1xEV-DO, etc. Além disso, por motivos de clareza, a terminologia 3GPP2 é utilizada em muito da descrição abaixo.
[0015] A figura 1 ilustra um sistema de comunicação sem fio 100, que pode implementar HRPD ou qualquer uma das tecnologias de rádio mencionadas acima. Um sistema sem fio pode ser referido também como uma rede sem fio, uma rede de acesso, uma rede de acesso de rádio, uma rede de rádio, etc. O sistema 100 pode incluir um número de estações base 110 e outras entidades de rede. Uma estação base pode ser uma estação que se comunica com os terminais e também pode ser referida como um ponto de acesso, um Nó B, um Nó B evoluído (eNB), etc. Cada estação base 110 pode fornecer cobertura de comunicação para uma área geográfica particular e pode suportar a comunicação para os terminais localizados dentro da área de cobertura.
[0016] Um controlador de rede 130 pode acoplar a um conjunto de estações base e fornecer coordenação e controle para essas estações base. O controlador de rede 130 pode ser uma entidade de rede única ou uma coleção de entidades de rede. Por exemplo, o controlador de rede 130 pode compreender um Controlador de Estação Base (BSC), uma Função de Controle de Pacote (PCF), um Nó Servidor de Dados em Pacote (PDSN), e/ou outras entidades de rede em 3GPP2.
[0017] Os terminais 120 podem ser distribuídos através do sistema, e cada terminal pode ser estacionário ou móvel. Um terminal também pode ser referido como um terminal de acesso (AT), uma estação móvel (MS), um equipamento de usuário (UE), uma unidade de assinante, uma estação, etc. Um terminal pode ser um telefone celular, um assistente digital pessoal (PDA), um modem sem fio, um dispositivo de comunicação sem fio, um dispositivo portátil, um computador laptop, um telefone sem fio, uma estação de circuito local sem fio (WLL), etc. Um terminal pode se comunicar com uma estação base através dos enlaces de avanço e reverso. O enlace de avanço (ou downlink) se refere ao enlace de comunicação a partir da estação base para o terminal, e o enlace reverso (ou uplink) se refere ao enlace de comunicação do terminal para a estação base.
[0018] O sistema 100 pode suportar um ou mais canais de acesso que podem ser compartilhados por todos os terminais. Um canal de acesso é um canal utilizado pelos terminais para enviar mensagens curtas, por exemplo, para acessos ao sistema, origem de chamada, respostas a alertas, respostas a mensagens enviadas pelo sistema, registros, etc. Um canal de acesso também pode ser utilizado por terminais para enviar pequenas quantidades de dados no enlace reverso. Um canal de acesso pode suportar baixas taxas de dados, por exemplo, taxas de dados de 9,6, 19,2, e 38,4 kilobits/segundo (Kpbs) em HRPD. Em geral, um sistema pode suportar qualquer número de canais de acesso, que podem ter capacidades diferentes. Por exemplo, um sistema HRPD pode suportar um canal de acesso, um sistema cdma2000 pode suportar um canal de acesso e um canal de acesso melhorado, um sistema WCDMA pode suportar um canal de acesso randômico físico (PRACH),e um sistema LTE pode suportar também PRACH. Por motivos de clareza, muito da descrição abaixo serve para o canal de acesso em HRPD.
[0019] Um terminal pode realizar um procedimento de acesso a fim de acessar o sistema. Para o procedimento de acesso, o terminal pode transmitir uma ou mais sondas de acesso para o sistema. Uma sonda de acesso é uma transmissão enviada por um terminal em um canal de acesso a fim de acessar um sistema. Uma sonda de acesso pode incluir um preâmbulo utilizado pelo sistema para detectar a sonda de acesso e uma parte de dados portando informação para o terminal. O sistema pode receber uma sonda de acesso do terminal e pode responder com uma mensagem de aviso de recebimento.
[0020] A figura 2 ilustra um procedimento de acesso em HRPD. Para uma determinada tentativa de acesso ao sistema, um terminal pode transmitir até Ns sequências de sonda de acesso para o sistema e pode transmitir até Np sondas de acesso para cada sequência de sonda de acesso, onde Np e Ns podem ser parâmetros configuráveis.
[0021] O terminal realiza um teste de persistência antes de iniciar uma primeira sequência de sonda de acesso. O teste de persistência é utilizado para controlar o congestionamento no canal de acesso. Para o teste de persistência, o terminal gera um número pseudo-aleatório x uniformemente distribuído entre 0 e 1 e compara x com um valor de persistência q. O teste de persistência é bem sucedido se x for inferior a q e falha de outra forma. Se o teste de persistência for bem sucedido ou se 4/q dos testes de persistência consecutivos falharem, então o terminal pode iniciar a transmissão da primeira sequência de sonda de acesso. Do contrário, o terminal espera por uma duração particular e então realiza o teste de persistência novamente.
[0022] Para a primeira sequência de sonda de acesso, o terminal transmite uma primeira sonda de acesso no canal de acesso e então ouve por uma mensagem de aviso de recebimento de canal de acesso (ACAck) do sistema. Se uma mensagem ACAck não for recebida, então o terminal espera por uma duração aleatória de Tp partições e então transmite uma segunda sonda de acesso. O terminal transmite cada sonda de acesso subsequente de forma similar, apesar de em potência de transmissão progressivamente maior. Se o terminal transmitir todas as Np sondas de acesso para a primeira sequência de sonda de acesso e não receber uma mensagem ACAck, então o terminal espera por uma duração aleatória de Ts partições antes de iniciar uma segunda sequência de sonda de acesso. O terminal então transmite a segunda sequência de sonda de acesso de forma similar à primeira sequência de sonda de acesso, isso é, realiza um teste de persistência e então transmite até Np sondas de acesso se o teste de persistência passar. O terminal pode transmitir até Np sequências de sonda de acesso para o procedimento de acesso.
[0023] O terminal pode acessar o sistema e estabelecer uma conexão de rádio com o sistema a fim de enviar e/ou receber dados através do ar. O terminal pode receber recursos de rádio para a conexão de rádio, por exemplo, pode receber um canal de trafego de avanço no qual o terminal pode receber dados e/ou um canal de trafego reverso no qual o terminal pode enviar dados. O terminal pode enviar e/ou receber dados para qualquer número de aplicações através da conexão de rádio. Essas aplicações podem incluir Protocolo de Internet através de Voz (VoIP), navegação na rede, correio eletrônico, etc.
[0024] O terminal pode operar em um estado conectado ou um estado inativo em qualquer momento determinado. No estado conectado, o terminal pode ter uma conexão de rádio e pode enviar e/ou receber dados. O terminal pode transitar pra o estado inativo e terminar a conexão de rádio se não houver dados para serem enviados ou recebidos. Para se conservar os recursos de rádio, a conexão de rádio do terminal também pode ser encerrada se não houver qualquer atividade dentro de um período de expiração. O terminal também pode ser direcionado para transitar para o estado inativo por um mecanismo de controle de sobrecarga se os recursos de sistema forem baixo.
[0025] O terminal pode operar no estado conectado e pode periodicamente enviar pacotes de manutenção no canal de tráfego reverso. Os pacotes de manutenção podem ser gerados por um ou mais aplicativos (por exemplo, um aplicativo de correio eletrônico) no terminal a fim de manter a conexão de rádio. A conexão de rádio pode ser encerrada pelo mecanismo de controle de sobrecarga. O terminal pode então acessar periodicamente o sistema a fim de estabelecer uma conexão de rádio para enviar os pacotes de manutenção. O terminal pode enviar uma ou mais sondas de acesso no canal de acesso para cada acesso de sistema. As sondas de acesso aumentam a carga do canal de acesso e também a carga do enlace reverso.
[0026] O mecanismo de controle de carga excessiva pode reduzir a probabilidade de bloqueio, que é a probabilidade de um terminal ser negado acesso ao sistema. No entanto, o mecanismo de controle de carga excessiva não impede a carga excessiva do canal de acesso se aplicativos nos terminais gerarem pacotes de manutenção frequentemente.
[0027] Vários mecanismos podem ser utilizados para se controlar a carga do canal de acesso. Em um mecanismo, o valor de persistência pode ser ajustado mais baixo a fim de reduzir a carga do canal de acesso. Um menor valor de persistência reduz a probabilidade de um teste de persistência ser bem sucedido, e, dessa forma, reduz a probabilidade de outra sequência de sonda de acesso ser enviada. No entanto, o menor valor de persistência também aumentaria o tempo de configuração de conexão (quando o sistema é carregado) mesmo para os terminais "bem comportados" que não contribuíram para a carga de canal de acesso pelo acesso periódico ao sistema. O menor valor de persistência pode, dessa forma, causar um impacto injusto aos terminais bem comportados.
[0028] Em outro mecanismo, um período de backoff pode ser ajustado para reduzir a carga do canal de acesso. Um terminal pode enviar uma sonda de acesso a fim de acessar o sistema. O sistema pode receber a sonda de acesso, negar a conexão com o terminal e instruir o terminal a esperar por um período de back-off de T segundos antes de realizar outro acesso ao sistema. Um período de back-off mais longo pode ser utilizado para estender a quantidade de tempo para esperar antes da realização de outro acesso ao sistema. No entanto, o período de back-off maior aumenta o tempo de configuração de conexão (quando o sistema é carregado) mesmo para terminais bem comportados.
[0029] O valor de persistência e/ou o período de back-off podem ser ajustados para controlar a carga do canal de acesso. No entanto, o ajuste do valor de persistência e/ou do período de back-off pode não alcançar a justiça, visto que nenhuma distinção é feita entre os terminais bem comportados e os terminais ofensivos. Todos os terminais podem então ser impactados da mesma forma.
[0030] Em um aspecto, a carga do canal de acesso pode ser controlada fazendo-se com que cada terminal regule a taxa na qual acessa o sistema com base em um algoritmo ou mecanismo de controle de taxa. Em geral, qualquer algoritmo de controle de taxa que utilize um histórico passado para regular o uso do canal de acesso pode ser empregado. O algoritmo de controle de taxa pode manter a informação sobre atividades passadas por um terminal e pode regular o uso do canal de acesso pelo terminal com base em suas atividades passadas a fim de controlar a carga do canal de acesso e alcançar a justiça por terminal. O sistema pode determinar pelo menos um valor de pelo menos um parâmetro para o algoritmo de controle de taxa com base nas condições de carga e pode fornecer (por exemplo, difundir) o pelo menos um valor de parâmetro para os terminais. Cada terminal pode então regular sua taxa de acesso de sistema com base em pelo menos um valor de parâmetro recebido do sistema.
[0031] Em um primeiro desenho, o controle de carga para o canal de acesso pode ser alcançado com base no token bucket. Token bucket é um algoritmo de controle de taxa no qual um terminal mantém um token buckets que governa quanta atividade é permitida para o terminal. Tokens podem ser coletados no bucket em uma taxa particular, e cada token pode ser utilizado para uma determinada quantidade de atividade pelo terminal. Para o primeiro desenho, o terminal pode manter um token buckets que governa a taxa na qual o terminal pode acessar o sistema, um token pode ser adicionado ao bucket a uma taxa de uma vez a cada 1/R segundos. Essa taxa pode ser referida como uma taxa de fluxo de entrada de token. O bucket pode manter no máximo B tokens, que podem ser referidos como o nível máximo do bucket. Se um token chega quando o bucket está cheio, então o token será eliminado. N tokens podem ser necessários para se realizar o acesso ao sistema, onde em geral N ≥ 1. O terminal pode acessar o sistema se houver pelo menos N tokens no bucket e pode então remover N tokens do bucket. Se o bucket contiver um número insuficiente de tokens, então o terminal não acessa o sistema e pode esperar até que N tokens tenham sido acumulados no bucket.
[0032] O token bucket pode permitir que uma determinada quantidade de rajada no sistema acesse enquanto impõe um limite na taxa média do acesso ao sistema. A taxa de fluxo de entrada de token R determina o número de acessos ao sistema por segundo pelo terminal. O maximum bucket level B determina a rajada de acessos ao sistema permitida para o terminal.
[0033] Em um desenho, o sistema pode configurar os valores dos parâmetros para o token bucket com base nas condições de carga, que podem cobrir a carga do sistema, a carga do canal de acesso, etc. Para um sistema CDMA, a carga do sistema pode ser quantificada por um rise-over-thermal (RoT), que é uma razão do ruído total e interferência para ruído térmico em uma célula. A carga do sistema pode ser quantificada por outras métricas para outros tipos de sistema. A carga do enlace reverso pode compreender a carga do canal de acesso além da carga de outros canais de enlace reverso. O sistema pode reduzir a taxa de fluxo de entrada de token e/ou o maximum bucket level quando a carga do sistema é alta, por exemplo, quando RoT excede um limite RoT. Em um desenho, dois conjuntos de valores de parâmetro podem ser utilizados para o token bucket - um conjunto de valores de parâmetro para carga normal e outro conjunto de valores de parâmetro para sobrecarga. Em geral, qualquer número de conjuntos de valores de parâmetro pode ser utilizado para diferentes condições de carga. O sistema pode difundir os valores de parâmetro aplicáveis para o token bucket para os terminais. Cada terminal pode então operar de acordo com os valores de parâmetro de token bucket recebidos do sistema.
[0034] Em outro desenho, o sistema pode manter múltiplos conjuntos de valores de parâmetro para o token bucket para diferentes níveis de prioridade. Por exemplo, o sistema pode ter um primeiro conjunto de valores de parâmetro para alta prioridade (por exemplo, chamadas de emergência do pessoal de emergência) , um segundo conjunto de valores de parâmetro para prioridade normal, etc. O sistema pode ajustar os múltiplos conjuntos de valores de parâmetro com base nas condições de carga, no desempenho desejado, etc. Por exemplo, o sistema pode manter a taxa de fluxo de entrada de token e/ou o maximum bucket level para alta prioridade independentemente das condições de carga. O sistema pode reduzir a taxa de fluxo de entrada de token e/ou o maximum bucket level para prioridade normal para condições de alta carga. O sistema pode difundir múltiplos conjuntos de valores de parâmetro de token bucket para diferentes níveis de prioridade para os terminais. Um terminal pode determinar seu nível de prioridade e pode então acessar o sistema utilizando o conjunto de valores de parâmetro de token bucket aplicável a seu nível de prioridade.
[0035] Em outro desenho, o sistema pode manter múltiplos conjuntos de valores de parâmetro para o token bucket para diferentes classes ou tipos. Por exemplo, o sistema pode ter um primeiro conjunto de valores de parâmetro para classe de tráfego de melhor esforço (BE), um segundo conjunto de valores de parâmetro para a classe de tráfego de envio rápido (EF), etc. O sistema pode ajustar os múltiplos conjuntos de valores de parâmetro com base nas condições de carga, no desempenho desejado, etc. Por exemplo, o sistema pode primeiro reduzir a taxa de fluxo de entrada de token e/ou o maximum bucket level para a classe de tráfego BE se as condições de carga excederem um primeiro limite. O sistema pode reduzir, a seguir, a taxa de fluxo de entrada de token e/ou o maximum bucket level para a classe de tráfego EF se as condições de carga excederem um segundo limite, que pode ser superior ao primeiro limite. O sistema pode difundir os múltiplos conjuntos de valores de parâmetro de token bucket para diferentes classes de tráfego para os terminais. Um terminal pode determinar a classe de tráfego de dados a ser enviada pelo terminal O terminal pode então acessar o sistema utilizando o conjunto de valores de parâmetro de token bucket aplicáveis à classe de tráfego dos dados a serem enviados pelo terminal.
[0036] Em geral, múltiplos conjuntos de valores de parâmetro podem ser mantidos para qualquer caracterização pertinente, por exemplo, nível de prioridade, classe de tráfego, etc. Os múltiplos conjuntos de valores de parâmetro podem ser ajustados de uma forma adequada para alcançar o desempenho desejado.
[0037] Em um segundo desenho, o controle de carga para o canal de acesso pode ser alcançado com base no leaky bucket. O leaky bucket é um algoritmo de controle de taxa no qual um terminal mantém um bucket de atividades para realizar as atividades no bucket a uma taxa predeterminada. Para o segundo desenho, o terminal pode manter um bucket que governa a taxa na qual o terminal pode acessar o sistema. Toda vez que o terminal deseja acessar o sistema, o terminal pode colocar um token no bucket. O terminal pode então puxar tokens (se algum) do bucket a uma taxa predeterminada e pode acessar o sistema toda vez que um token é puxado do bucket. Por exemplo, o terminal pode ser capaz de acessar o sistema uma vez a cada S segundos. Essa taxa pode ser referida como uma taxa de fluxo de saída. Se houver um token no bucket, então o terminal pode puxar o token do bucket, acessar o sistema, e esperar S segundos antes de puxar outro token do bucket.
[0038] O leaky bucket pode formatar as atividades em rajada em uma sequência estável de atividade que pode ser realizada a uma taxa predeterminada. O leaky bucket suaviza as rajadas ao passo que o token bucket permite algumas rajadas. A taxa de fluxo de saída 1/S determina o número de acessos ao sistema por segundo pelo terminal.
[0039] O sistema pode configurar a taxa de fluxo de saída 1/S para o leaky bucket com base nas condições de carga. Em um desenho, duas taxas de fluxo de saída podem ser utilizadas para o leaky bucket - uma taxa de fluxo de saída para as condições de carga normal e outra taxa de fluxo de saída para as condições de sobrecarga. Em geral, qualquer número de taxas de fluxo de saída pode ser utilizado para diferentes condições de carga. Em outro desenho, as diferentes taxas de fluxo de saída podem ser aplicáveis a diferentes níveis de prioridade e podem ser configuradas com base em condições de carga. Em outro desenho, diferentes taxas de fluxo de saída podem ser aplicáveis a diferentes classes de tráfego e podem ser configuradas com base nas condições de carga. Para todos os desenhos, o sistema pode difundir as taxas de fluxo de saída para o leaky bucket para os terminais. Cada terminal pode então operar de acordo com a taxa de fluxo de saída aplicável recebida do sistema.
[0040] Um terminal pode enviar qualquer número de sondas de acesso para o acesso ao sistema. O acesso ao sistema pode ser bem sucedido depois de qualquer número de sondas de acesso ou pode falhar depois de toda as sondas de acesso terem sido enviadas. Em um desenho, cada token para o token bucket ou leaky bucket pode ser utilizado para enviar uma sonda de acesso, ou uma sequência de sondas de acesso, ou Ns sequências de sonda de acesso, ou algum outro número de sondas de acesso, independentemente do resultado do acesso ao sistema. Em outro desenho, cada token pode ser utilizado para quantas sondas de acesso forem necessárias até que o acesso ao sistema seja bem sucedido.
[0041] O controle de carga para o canal de acesso também pode ser alcançado com outro algoritmo de controle de taxa ao invés do token bucket ou do leaky bucket. O sistema pode ajustar os valores de um ou mais parâmetros para um algoritmo de controle de taxa com base nas condições de carga e pode difundir os valores de parâmetro para os terminais. Cada terminal pode então operar de acordo com os valores de parâmetro do sistema.
[0042] Em um desenho, um terminal pode manter um único bucket para todos os fluxos de dados no terminal. O terminal pode realizar o acesso ao sistema para qualquer fluxo de dados com base nos tokens no bucket único. Em outro desenho, um terminal pode manter um bucket separado para cada fluxo de dados. O terminal pode realizar o acesso ao sistema para cada fluxo de dados com base nos tokens no bucket para esse fluxo de dados. Alternativamente, o terminal pode utilizar os tokens em um bucket para um fluxo de dados de prioridade mais alta, mesmo quando o terminal não possui quaisquer dados para o fluxo de dados de prioridade mais alta.
[0043] Em um desenho, o controle de carga para o canal de acesso pode ser alcançado pelo ajuste dos parâmetros de acesso que são aplicáveis para todos os terminais. Os parâmetros de acesso podem compreender o valor de persistência e/ou a duração de back-off para o procedimento de acesso, a taxa de fluxo de entrada de token e/ou o maximum bucket level para o token bucket, a taxa de fluxo de saída para o leaky bucket, etc. O sistema pode difundir os parâmetros de acesso para todos os terminais.
[0044] Em outro desenho, o controle de carga para o canal de acesso pode ser alcançado pelo ajuste dos parâmetros de acesso para cada terminal ou cada grupo de terminais a ser controlado separadamente. Por exemplo, o sistema pode ajustar os parâmetros de acesso para cada terminal com base n o número ou taxa de acessos ao sistema anterior pelo terminal, a taxa permitida de acesso ao sistema para o terminal , condições de carga, etc. O sistema pode coletar informação (por exemplo, o número de acessos ao sistema) para cada terminal e pode ajustar os parâmetros de acesso para esse terminal com base na informação coletada. O sistema pode enviar os parâmetros de acesso a cada terminal através de uma mensagem de unidifusão ou a cada grupo de terminais através de uma mensagem de multidifusão.
[0045] A figura 3 ilustra um desenho de um processo 300 para controlar a carga de um canal de acesso. O sistema pode configurar pelo menos um valor de parâmetro para um algoritmo de controle de taxa (por exemplo, token bucket) com base nas condições de carga (bloco 312). O pelo menos um valor de parâmetro pode controlar a utilização do canal de acesso de acordo com o algoritmo de controle de taxa. O sistema pode difundir o pelo menos um valor de parâmetro para os terminais (bloco 314) . Apesar de não ilustrado na figura 3, o sistema também pode determinar um conjunto de pelo menos um valor de parâmetro para cada nível de prioridade ou cada classe de tráfego e pode difundir os múltiplos conjuntos de valores de parâmetro para diferentes níveis de prioridade ou diferentes classes de tráfego.
[0046] Um terminal pode receber o pelo menos um valor de parâmetro para o algoritmo de controle de taxa a partir do sistema (bloco 316). O terminal pode utilizar o canal de acesso (por exemplo, enviar sondas de acesso no canal de acesso para acessar o sistema) de acordo com pelo menos um valor de parâmetro (bloco 318) . Por exemplo, o pelo menos um valor de parâmetro pode limitar a taxa na qual o terminal pode acessar o sistema, limita as rajadas dos acessos ao sistema, etc.
[0047] A figura 4 ilustra um desenho de um processo 400 realizado por um terminal para operar em um sistema de comunicação sem fio. O terminal pode obter pelo menos um valor de parâmetro para um algoritmo de controle de taxa que utiliza as atividades passadas do terminal para regular o uso de um canal de acesso pelo terminal (bloco 412) . O terminal pode utilizar o canal de acesso de acordo com o pelo menos um valor de parâmetro para o algoritmo de controle de taxa (bloco 414) . O algoritmo de controle de taxa pode manter o rastro das atividades do terminal com o tempo e pode utilizar o histórico de atividade para regular o uso do canal de acesso pelo terminal. O algoritmo de controle de taxa pode, dessa forma, manter a informação de estado para o terminal e pode utilizar a informação de estado para controlar a carga do canal de acesso e alcançar a justiça por terminal.
[0048] Em um desenho do bloco 512, o terminal pode receber uma transmissão de difusão do sistema e pode obter o pelo menos um valor de parâmetro para o algoritmo de controle de taxa da transmissão de difusão. Em outros desenhos, o terminal pode receber o pelo menos um valor de parâmetro através de uma mensagem de unidifusão enviada para o terminal ou através de uma mensagem de multidifusão enviada para um grupo de terminais. O terminal pode obter o pelo menos um valor de parâmetro no momento de conexão. O terminal também pode obter valores de parâmetro atualizados em outros momentos.
[0049] Em um desenho do bloco 414, o terminal pode realizar o acesso ao sistema de acordo com pelo menos um valor de parâmetro para o algoritmo de controle de taxa. Por exemplo, o terminal pode determinar uma taxa permitida de acesso ao sistema com base no pelo menos um valor de parâmetro. O terminal pode então realizar o acesso ao sistema de acordo com a taxa permitida de acesso ao sistema. O terminal pode enviar pelo menos uma sonda de acesso no canal de acesso para cada acesso ao sistema. Em outro desenho, o terminal pode enviar os dados e/ou mensagens no canal de acesso de acordo com o pelo menos um valor de parâmetro.
[0050] Em um desenho, o algoritmo de controle de taxa pode compreender o token bucket. O terminal pode obter pelo menos um valor de parâmetro para uma taxa de fluxo de entrada de token e/ou um maximum bucket level para o token bucket. O terminal pode adicionar tokens a um bucket de acordo com a taxa de fluxo de entrada de token e pode limitar o número de tokens no bucket com base no maximum bucket level. O terminal pode determinar se pode acessar o sistema com base nos tokens no bucket. O terminal pode limitar sua taxa de acesso ao sistema com base na taxa de fluxo de entrada de token. O terminal também pode limitar uma rajada de acessos ao sistema com base no maximum bucket level. O algoritmo de controle de taxa também pode compreender o leaky bucket ou algum outro algoritmo que possa utilizar a informação para controlar a carga do canal de acesso e alcançar justiça por terminal.
[0051] Em um desenho, um conjunto de pelo menos um valor de parâmetro pode ser aplicável a todos os terminais. Em outro desenho, múltiplos conjuntos de pelo menos um valor de parâmetro podem ser aplicáveis a diferentes níveis de prioridade. O terminal pode então utilizar o canal de acesso de acordo com um conjunto de pelo menos um valor de parâmetro aplicável a um nível de prioridade do terminal. Em outro desenho, múltiplos conjuntos de pelo menos um valor de parâmetro podem ser aplicáveis a diferentes classes de tráfego. O terminal pode então utilizar o canal de acesso de acordo com um conjunto de pelo menos um valor de parâmetro aplicável a uma classe de tráfego de dados a serem enviados pelo terminal. Múltiplos conjuntos de pelo menos um valor de parâmetro também podem ser aplicáveis para outras caracterizações.
[0052] A figura 5 ilustra um desenho de um processo 500 para suportar a operação dos terminais em um sistema de comunicação sem fio. O processo 500 pode ser realizado por uma ou mais entidades de rede, por exemplo, por uma estação base e possivelmente um controlador de rede.
[0053] Pelo menos um valor de parâmetro para um algoritmo de controle de taxa pode ser configurado com base nas condições de carga (bloco 512) . O algoritmo de controle de taxa pode utilizar atividades passadas de um terminal para regular o uso de um canal de acesso pelo terminal. As condições de carga podem compreender a carga do sistema (por exemplo, um RoT para um sistema CDMA), a carga do canal de acesso, etc.
[0054] O pelo menos um valor de parâmetro para o algoritmo de controle de taxa pode ser enviado para os terminais (bloco 514) . Em um desenho, uma transmissão de difusão compreendendo o pelo menos um valor de parâmetro para o algoritmo de controle de taxa pode ser enviado para todos os terminais. Em outros desenhos, o pelo menos um valor de parâmetro pode ser enviado para cada terminal através de uma mensagem de unidifusão ou para cada grupo de terminais através de uma mensagem de multidifusão.
[0055] O canal de acesso pode se processado para transmissões enviadas pelos terminais de acordo com pelo menos um valor de parâmetro para o algoritmo de controle de taxa (bloco 516) . Em um desenho, o canal de acesso pode ser processado para as sondas de acesso enviadas pelos terminais para o acesso ao sistema. O acesso ao sistema por cada terminal pode ser regulado por pelo menos um valor de parâmetro para o algoritmo de controle de taxa. Em outros desenhos, o canal de acesso pode ser processado para dados e/ou mensagens enviados pelos terminais de acordo com pelo menos um parâmetro para o algoritmo de controle de taxa.
[0056] Em um desenho, o algoritmo de controle de taxa pode compreender o token bucket. Pelo menos um valor de parâmetro para uma taxa de fluxo de entrada de token e/ou um maximum bucket level para o token bucket pode ser configurado com base nas condições de carga. O acesso ao sistema por cada terminal pode ser limitado pela taxa de fluxo de entrada de token. Uma rajada de acessos ao sistema por cada terminal pode ser limitada pelo maximum bucket level. O algoritmo de controle de taxa também pode compreender o leaky bucket ou algum outro algoritmo que possa utilizar a informação de estado para controlar a carga do canal de acesso e alcançar a justiça por terminal.
[0057] Em um desenho, um conjunto de pelo menos um valor de parâmetro pode ser aplicável para todos os terminais. Em outro desenho, múltiplos conjuntos de pelo menos um valor de parâmetro para diferentes níveis de prioridade podem ser configurados com base nas condições de carga e podem ser enviados para os terminais. O canal de acesso pode então ser processado para as transmissões enviadas por cada terminal de acordo com um conjunto de pelo menos um valor de parâmetro aplicável a um nível de prioridade do terminal. Em outro desenho, múltiplos conjuntos de pelo menos um valor de parâmetro para diferentes classes de tráfego podem ser configurados com base nas condições de carga e enviados para os terminais. O canal de acesso pode então ser processado para as transmissões enviadas por cada terminal de acordo com um conjunto de pelo menos um valor de parâmetro aplicável a uma classe de tráfego de dados a ser enviado por esse terminal. Múltiplos conjuntos de pelo menos um valor de parâmetro também podem ser aplicáveis para outras caracterizações.
[0058] As técnicas descritas aqui podem permitir que o sistema gerencie a carga do canal de acesso pela regulagem da taxa na qual os terminais podem acessar o sistema. A regulagem pode ser alcançada pelo ajuste de valores de parâmetro para o token bucket, leaky bucket, ou algum outro algoritmo de controle de taxa para controlar o número de acessos ao sistema por segundo permitidos para os terminais. O sistema pode ajustar os valores de parâmetro com base na carga do sistema, na carga do canal de acesso, etc. O sistema pode, dessa forma, controlar a taxa de acesso ao sistema pelos terminais para obter a carga de sistema desejada ou a carga de canal de acesso. Os valores de parâmetro podem ser aplicados a todos os terminais. Nesse caso, o sistema pode configurar os valores de parâmetro sem ter que manter a informação sobre cada terminal individual. O algoritmo de controle de taxa pode ser executado por cada terminal, o que pode reduzir a complexidade do sistema. No entanto, o sistema pode controlar a carga de sistema e/ou a carga de canal de acesso pela variação dos valores de parâmetro para o algoritmo de controle de taxa.
[0059] Por motivos de clareza, as técnicas foram descritas especificamente para o controle de carga ou gerenciamento de um canal de acesso. As técnicas também podem ser utilizadas para o controle de carga de outros canais de overhead ou canais de controle que podem ser compartilhados por múltiplos terminais. Para um determinado canal compartilhado, pelo menos um valor de parâmetro para um algoritmo de controle de taxa pode ser configurado, por exemplo, com base nas condições de carga. O uso do canal compartilhado pelos terminais pode então ser controlado por pelo menos um valor de parâmetro.
[0060] A figura 6 ilustra um diagrama em bloco de um desenho de um terminal 120, uma estação base 110, e um controlador de rede 130. O terminal 120 pode ser um dos terminais na figura 1, e a estação base 110 pode ser uma das estações base na figura 1. No terminal 120, um codificador 612 pode receber dados e mensagens (por exemplo, sondas de acesso) a serem enviadas pelo terminal 120 no enlace reverso. O codificador 612 pode processar (por exemplo, codificar e intercalar) os dados e mensagens. O Modulador (Mod) 614 pode processar adicionalmente (por exemplo, modular, canalizar, e criptografar) os dados codificados e mensagens e fornecer amostras de saída. Um transmissor (TMTR) 622 pode condicionar (por exemplo, converter para analógico, filtrar, amplificar e converter ascendentemente em frequência) as amostras de saída e gerar um sinal de enlace reverso, que pode ser transmitido para a estação base 110.
[0061] No enlace de avanço, o terminal 120 pode receber um sinal de enlace de avanço da estação base 110. Um receptor (RCVR) 626 pode condicionar (por exemplo, filtrar, amplificar, converter descendentemente em frequência, e digitalizar) um sinal recebido e fornecer amostras de entrada. Um demodulador (Demod) 616 pode processar (por exemplo, descriptografar, canalizar e demodular) as amostras de entrada e fornecer estimativas de símbolo. Um decodificador 618 pode processar (por exemplo, desintercalar e decodificar) as estimativas de símbolo e fornecer dados e mensagens decodificados enviados para o terminal 120. O codificador 612, o modulador 614, um demodulador 616 e o decodificador 618 podem ser implementados por um processador de modem 610. Essas unidades podem realizar o processamento de acordo com a tecnologia de rádio (por exemplo, HRPD, WCDMA, LTE, etc.) utilizada pelo sistema. Um controlador/processador 630 pode direcionar a operação de várias unidades no terminal 120. O processador 630 e/ou as unidades no terminal 120 podem realizar ou direcionar parte do processo 300 na figura 3, o processo 400 na figura 4, e/ou outros processos para as técnicas descritas aqui. A memória 632 pode armazenar os códigos de programa e dados para o terminal 120.
[0062] Na estação base 110, um transmissor/receptor 638 pode suportar a comunicação de rádio para o terminal 120 e outros terminais. Um controlador/processador 640 pode realizar várias funções para comunicação para os terminais. Para o enlace reverso, o sinal de enlace reverso do terminal 120 pode ser recebido e condicionado pelo receptor 638 e processado adicionalmente pelo controlador/processador 640 para recuperar os dados e mensagens (por exemplo, sondas de acesso) enviados pelo terminal. Para o enlace de avanço, dados e mensagens (por exemplo, mensagens compreendendo valores de parâmetro para o token bucket ou algum outro algoritmo de controle de taxa) podem ser processados pelo controlador/processador 640 e condicionados pelo transmissor 638 para gerar um sinal de enlace de avanço, que pode ser transmitido para o terminal 120 e outros terminais. O processador 640 e/ou outras unidades na estação base 110 podem realizar parte do processo 300 na figura 3, todo ou parte do processo 500 na figura 5, e/ou outros processos para as técnicas descritas aqui. A memória 642 pode armazenar códigos e dados de programa para a estação base. Uma unidade de comunicação (Comm) 644 pode suportar a comunicação com o controlador de rede 130 e/ou outras entidades de rede.
[0063] No controlador de rede 130, um controlador/processador 650 pode realizar várias funções para suportar os serviços de comunicação para os terminais. O processador 650 e/ou outras unidades no controlador de rede 130 pode realizar parte do processo 300 na figura 3, todo ou parte do processo 500 na figura 5, e/ou outros processos para as técnicas descritas aqui. A memória 652 pode armazenar códigos de programa ou dados para o controlador de rede 130. Uma unidade de comunicação 654 pode suportar a comunicação com as estações base e outras entidades de rede.
[0064] Os versados na rede compreenderão que a informação e os sinais podem ser representados utilizando-se qualquer uma dentre uma variedade de tecnologias e técnicas diferentes. Por exemplo, dados, instruções, comandos, informação, sinais, bits, símbolos, e chips que podem ser referidos por toda a descrição acima podem ser representados por voltagens, correntes, ondas eletromagnéticas, partículas ou campos magnéticos, partículas ou campos óticos ou qualquer combinação dos mesmos.
[0065] Os versados na técnica apreciarão adicionalmente que os vários blocos lógicos ilustrativos, módulos, circuitos e etapas de algoritmo descritos com relação à descrição aqui podem ser implementados como hardware eletrônico, software de computador, ou combinações de ambos. Para se ilustrar claramente essa capacidade de intercâmbio de hardware e software, vários componentes ilustrativos, blocos, módulos, circuitos e etapas foram descritos acima geralmente em termos de sua funcionalidade. Se tal funcionalidade é implementada com hardware ou software depende da aplicação particular e das restrições do desenho impostas ao sistema como um todo. Os versados na técnica podem implementar a funcionalidade descrita de várias formas para cada aplicação em particular, mas tais decisões de implementação devem ser interpretadas como responsáveis pelo distanciamento do escopo da presente descrição.
[0066] Os vários blocos lógicos ilustrativos, módulos e circuitos descritos com relação à descrição apresentada aqui podem ser implementados ou realizados com um processador de finalidade geral, um processador de sinal digital (DSP), um circuito integrado específico de aplicativo (ASIC), um conjunto de porta programável em campo (FPGA), ou outro dispositivo lógico programável, porta discreta ou lógica de transistor, componentes de hardware discretos, ou qualquer combinação dos mesmos projetada para realizar as funções descritas aqui. Um processador de finalidade geral pode ser um microprocessador, mas na alternativa, o processador pode ser qualquer processador convencional, controlador, micro controlador ou máquina de estado. Um processador também pode ser implementado como uma combinação de dispositivos de computação, por exemplo, uma combinação de um DSP e um microprocessador, uma pluralidade de microprocessadores, um ou mais microprocessadores em conjunto com um núcleo DSP, ou qualquer outra configuração similar.
[0067] As etapas de um método ou algoritmo descritas com relação à descrição aqui podem ser consubstanciadas diretamente em hardware, em um módulo de software executado por um processador, ou em uma combinação dos dois. Um módulo de software pode residir na memória RAM, memória flash, memória ROM, memória EPROM, memória EEPROM, registros, disco rígido, disco removível, CD-ROM, ou qualquer outra forma de meio de armazenamento conhecido da técnica. Um meio de armazenamento ilustrativo é acoplado ao processador de forma que o processador possa ler informação a partir de e escrever informação no meio de armazenamento. Na alternativa, o meio de armazenamento pode ser integral ao processador. O processador e o meio de armazenamento podem residir em um ASIC. O ASIC pode residir em um terminal de usuário. Na alternativa, o processador e o meio de armazenamento podem residir como componentes discretos em um terminal de usuário.
[0068] Em um ou mais desenhos ilustrativos, as funções descritas podem ser implementadas em hardware, software, firmware, ou qualquer combinação dos mesmos. Se implementadas em software, as funções podem ser armazenadas em ou transmitidas como uma ou mais instruções ou código em um meio legível por computador. O meio legível por computador inclui ambos o meio de armazenamento em computador e o meio de comunicação incluindo qualquer meio que facilite a transferência de um programa de computador de um lugar para o outro. Um meio de armazenamento pode ser qualquer meio disponível que possa ser acessado por um computador de finalidade geral ou finalidade especial. Por meio de exemplo, e não de limitação, tal meio legível por computador pode compreender RAM, ROM, EEPROM, CD-ROM ou outro armazenamento em disco ótico, armazenamento em disco magnético ou outros dispositivos de armazenamento magnético, ou qualquer outro meio que possa ser utilizado para portar ou armazenar os meios de código de programa desejados na forma de instruções ou estruturas de dados e que possam ser acessados por um computador de finalidade geral ou finalidade especial, ou um processador de finalidade geral ou finalidade especial. Além disso, qualquer conexão é adequadamente chamada de meio legível por computador. Por exemplo, se o software for transmitido a partir de um sitio da rede, servidor ou outra fonte remota utilizando um cabo coaxial, cabo de fibra ótica, par torcido, linha de assinante digital (DSL), ou tecnologias sem fio tal como infravermelho, rádio e micro-ondas, então o cabo coaxial, o cabo de fibra ótica, o par torcido, DSL ou tecnologias sem fio tal como infravermelho, rádio e micro-ondas são incluídos na definição de meio. Disquete e disco, como utilizados aqui, incluem disco compacto (CD) , disco a laser, disco ótico, disco versátil digital (FDVD), disquete e disco blue-ray onde disquetes normalmente reproduzem os dados magneticamente, enquanto discos reproduzem os dados oticamente com lasers. Combinações do acima exposto também devem ser incluídas no escopo do meio legível por computador.
[0069] A descrição anterior da descrição é fornecida para permitir que qualquer pessoa versada na técnica crie ou faça uso da descrição. Várias modificações na descrição serão prontamente aparentes aos versados na técnica, e os princípios genéricos definidos aqui podem ser aplicados a outras variações sem que se distancie do espírito ou escopo da descrição. Dessa forma, a descrição não deve ser limitada aos exemplos e desenhos descritos aqui, mas deve ser acordado o escopo mais amplo consistente com os princípios e características de novidade descritos aqui .