“OFDMA DE MÚLTIPLOS USUÁRIOS COGNITIVA”
Antecedentes da Invenção
Conexões sem fio entre dispositivos de computação se tornaram cada vez mais comuns à medida que os dispositivos de computação se tornaram mais móveis. Como um resultado, as conexões sem fio são usadas agora em uma variedade de maneiras. Por exemplo, a comunicação sem fio permite que os dispositivos de computação se conectem em redes fisicamente conectadas através de pontos de acesso, de modo que os dispositivos trazidos para dentro da faixa do ponto de acesso podem acessar recursos de rede, tais como servidores e impressoras. A comunicação sem fio também permite que os dispositivos de computação se conectem em outros dispositivos de computação em uma base ad hoc, de modo que os dispositivos podem trocar dados sem qualquer infraestrutura fixa.
Para estabelecer uma conexão sem fio entre dois dispositivos de computação, uma porção de um espectro de frequência é usada para transportar sinais de radiofrequência entre os dispositivos de acordo com um protocolo de comunicação sem fio. Muitos protocolos de comunicação sem fio dividem um espectro de frequência disponível em múltiplos canais, tal que múltiplos dispositivos de computação podem transmitir dados ao mesmo tempo e minimizar a interferência um com o outro.
A multiplexação por divisão de frequência ortogonal (OFDM) é um protocolo de comunicação, usado em ambas as redes sem fio e fisicamente conectadas, nas quais um espectro de frequência é dividido em múltiplos canais. Na OFDM, os canais são também divididos em subcanais geralmente iguais, cada um com uma largura de banda relativamente estreita. Pelo uso de subcanais de largura de banda estreita, as comunicações são menos suscetíveis ao desvanecimento de múltiplas trajetórias prejudicial ou outra interferência eletromagnética e o risco de interferência de banda estreita entre dispositivos próximos se comunicando através de conexões sem fio é reduzido, o que pode levar a taxas de dados mais altas ou melhor desempenho da taxa de erros dos dados transmitidos através de um canal.
Sumário da Invenção
A comunicação sem fio e fisicamente conectada entre dispositivos de computação é melhorada pelo uso de um conjunto de subcanais selecionados. Os subcanais podem ser selecionados de qualquer lugar em um espectro de frequência utilizável pelos dispositivos de computação para comunicação.
Os subcanais podem ser selecionados com base nas medidas das características desses subcanais. Para melhorar a eficiência com a qual os subcanais são selecionados, um processo cognitivo pode ser usado. Um processo cognitivo de acordo com a invenção pode ser aplicado em um dispositivo de computação móvel para prolongar o tempo de operação disponível de uma bateria ou outra fonte de potência limitada.
Um processo cognitivo pode basear a seleção dos subcanais em medida corrente das características do subcanal e informação previamente obtida. A informação usada para o processamento cognitivo pode incluir informação sobre subcanais previamente selecionados para estabelecer uma conexão, quer pelo mesmo dispositivo de computação ou um outro dispositivo de computação. Tal informação pode também incluir informação sobre subcanais previamente determinados como sendo inadequados para uso no estabelecimento de um canal.
Em uma modalidade ilustrativa da invenção, um subconjunto de subcanais adequados é selecionado a partir de um conjunto de subcanais, sendo que o subconjunto é selecionado de qualquer lugar no conjunto e os subcanais não são restritos a serem contíguos. A adequação do subcanal pode ser determinada por qualquer técnica adequada, incluindo examinar o subcanal por sinais gerados por um outro dispositivo de computação ou para altos níveis de interferência eletromagnética de outras fontes. Técnicas são também utilizadas para a seleção dos subcanais a serem examinados, o que pode também ser feito em qualquer maneira adequada, incluindo manter uma lista de subcanais previamente usados a ser examinada primeiro, escanear sequencialmente através de uma lista de subcanais e selecionar aleatoriamente os subcanais.
Em uma modalidade ilustrativa adicional, um método para operação de um dispositivo de computação para comunicação usando um protocolo de multiplexação por divisão de frequência (FDM) é proporcionado. O método compreende: selecionar uma primeira pluralidade de subcanais selecionados para transportar um sinal tendo uma primeira largura de banda, a primeira pluralidade sendo selecionada de uma segunda pluralidade de subcanais, a segunda pluralidade coletivamente tendo uma segunda largura de banda, a segunda largura de banda maior do que a primeira largura de banda e comunicar o sinal usando a primeira pluralidade de subcanais selecionados.
Em uma outra modalidade ilustrativa, um aparelho de computador compreendendo pelo menos um meio legível por computador codificado com instruções para execução em um computador é proporcionado. As instruções, quando executadas, executam um método compreendendo: determinar um conjunto de subcanais utilizáveis em uma primeira pluralidade de subcanais, selecionar uma segunda pluralidade de subcanais selecionados, os subcanais selecionados sendo selecionados do conjunto de subcanais utilizáveis, a segunda pluralidade sendo menor do que a primeira pluralidade e comunicar o sinal através da segunda pluralidade de subcanais selecionados.
Em uma modalidade ilustrativa, um método para comunicação entre um primeiro dispositivo de computação e um segundo dispositivo de computação é proporcionado. O método compreende: com o primeiro dispositivo de computação, selecionar uma pluralidade de subcanais selecionados para transportar um sinal tendo uma primeira largura de banda, os subcanais selecionados sendo selecionados de uma pluralidade de subcanais, a plurali dade de subcanais coletivamente tendo uma segunda largura de banda, a segunda largura de banda maior do que a primeira largura de banda e transmitir pelo menos uma mensagem sobre a pluralidade de subcanais selecionados.
Breve Descrição dos Desenhos
Nos desenhos:
A figura 1 é um diagrama de um ambiente do sistema de computador ilustrativo no qual modalidades da invenção podem ser implementadas,
A figura 2 é um diagrama de blocos de um computador cliente exemplar que pode ser usado de acordo com modalidades da invenção,
A figura 3 é uma linha de tempo de um processo exemplar pelo qual os dispositivos de computação selecionam os subcanais e comunicam os dados através dos subcanais,
A figura 4 é um fluxograma de um processo ilustrativo de seleção de subcanais para comunicação,
A figura 5 é um fluxograma de um processo ilustrativo de seleção de subcanais para exame com relação à adequação e
A figura 6 é uma linha de tempo de um processo de retorno randomizado de acordo com uma modalidade da invenção que ocorre quando dois dispositivos de computação transmitem dados através do mesmo subcanal.
Descrição Detalhada
Os requerentes verificaram que ambas a comunicação sem fio e a fisicamente conectada entre dispositivos de computação podem ser melhoradas formando canais a partir de subcanais de um espectro de frequência sem considerar se os subcanais são contíguos ou não contíguos.
Implementações convencionais da multiplexação por divisão de frequência ortogonal (OFDM) usam somente os subcanais contíguos dentro de uma dada faixa de frequências para transportar um sinal transmitido. Se esse sinal é submetido à interferência eletrônica ou existem muitos dispositivos usando essa mesma faixa de frequências para comunicação, muitos dos subcanais planejados para transportar o sinal podem ser inadequados para comunicação. Pelo fato de que um dispositivo de computação é rescrito a quais subcanais podem ser usados para transportar um sinal, o sinal resultante pode não suportar a comunicação em uma taxa de dados desejada e os dispositivos de computação podem ter que diminuir a taxa de dados das transmissões através de um canal quando as condições do espectro não são ideais.
Pela seleção dos subcanais de qualquer porção do espectro disponível para comunicação entre os dispositivos de computação, contíguos ou não contíguos, para construir um sinal para uso pelo dispositivo de computação, a transmissão pode ser realizada em taxas de dados mais altas a despeito das condições do espectro.
Subcanais podem ser eficientemente selecionados usando um processo cognitivo. Pelo aprendizado de quais subcanais são adequados ou inadequados para uso, o tempo e o custo de processamento dos processos de seleção podem ser reduzidos. Em algumas modalidades, o processo cognitivo é usado dentro de um dispositivo de computação móvel operando a partir de uma bateria ou outra fonte de potência limitada. A redução do custo de processamento resulta em um esgotamento de potência reduzido, o que prolonga o tempo de operação do dispositivo até que as baterias devam ser substituídas ou recarregadas. A experiência do usuário pode, assim, ser melhorada provendo comunicação em taxas de dados mais rápidas sem um esgotamento de potência inaceitável.
Em vista do precedente, uma modalidade da presente invenção é direcionada para um processo cognitivo para escolher os subcanais adequados de um protocolo de FDM. Um tal processo pode ser implementado em qualquer uma de numerosas configurações de sistema de computador, que não são limitadas a qualquer tipo particular de configuração. A figura 1 ilustra um exemplo de um sistema de computador no qual aspectos da invenção podem ser implementados, embora outros sejam possíveis.
O sistema de computador da figura 1 inclui a rede de comunicação 100, pontos de acesso sem fio 102 e 104, dispositivos de computação sem fio 106, 108, 110, 112, 114 e 116 e dispositivos de computação fisicamente conectados 118 e 120. A rede de comunicação 100 pode ser qualquer meio de comunicação adequado, ou meios para troca de dados entre dois ou mais computadores (por exemplo, um servidor e um cliente), incluindo a Internet ou uma rede empresarial. Os dispositivos de computação sem fio podem ser quaisquer dispositivos de computação adequados com capacidades de comunicação sem fio. Vários dispositivos exemplares de computação sem fio são mostrados, incluindo laptops 108 e 112, assistente digital pessoal 110 e telefone inteligente 114. Além disso, dispositivos tipicamente estacionários podem ser habilitados para comunicação sem fio, tais como o servidor 106 e o terminal de computador 116. Cada um desses dispositivos móveis e estacionários fica em um estado de, ou capaz de ficar em um estado de comunicação sem fio com pontos de acesso sem fio 102 ou 104, cada um conectado na rede de comunicação 100. Essa comunicação sem fio permite que os dispositivos de computação troquem dados entre si ou, através da rede de comunicação 100, com dispositivos fisicamente conectados tais como o terminal de computador 118 e o servidor 120. À medida que cada dispositivo sem fio transmite dados para o ponto de acesso 102/104 ou para um outro dispositivo, ele pode usar um ou mais subcanais do espectro disponível. Assim, os dispositivos sem fio podem competir entre si pelo acesso aos subcanais “adequados”. A adequação de um subcanal pode ser determinada com base em se ele está sendo submetido a muita interferência para permitir a comunicação efetiva. Essa interferência pode compreender ruído gerado por um outro dispositivo de computação transmitindo dados ou qualquer outro ruído elétrico, tal como pode ser gera do por qualquer dispositivo eletrônico operando dentro da faixa do sistema de computação exemplar mostrado na figura 1.
As modalidades da invenção descritas aqui não são limitadas à prática com o sistema exemplar mostrado na figura 1, e podem ser utilizadas em sistemas utilizando qualquer número de pontos de acesso sem fio e/ou dispositivos de computação. Além disso, embora a figura 1 mostre os dispositivos de computação em comunicação sem fio com pontos de acesso sem fio 102 e 104 em uma rede de infreestrutura, deve ser verificado que as modalidades da invenção podem operar em ad hoc ou outras redes nas quais os dispositivos de computação se comunicam diretamente e não através de um ponto de acesso. Também, embora a figura 1 inclua a rede de comunicação 100 com dispositivos fisicamente conectados 114 e 116, modalidades da invenção podem não incluir uma rede fisicamente conectada.
Além disso, deve ser verificado que a invenção não é limitada a ser executada na rede sem fio exemplar mostrada na figura 1. Modalidades da invenção podem ser implementadas em qualquer rede de comunicação adequada - incluindo redes fisicamente conectadas - para trocar dados entre dispositivos de computação nos quais a multiplexação por divisão de frequência é implementada.
A figura 2 mostra esquematicamente um dispositivo de computação ilustrativo 200 que pode ser usado de acordo com uma ou mais modalidades da invenção. O dispositivo de computação 200 pode ser qualquer um dos dispositivos de computação mostrados acima, tais como dispositivos 106, 108, 110, 112, 114 e 116 ou pontos de acesso sem fio 102 e 104. Deve ser verificado que a figura 2 não é planejada para ser uma representação dos componentes necessários para um dispositivo de computação operar com as modalidades da invenção, nem uma representação abrangente.
O dispositivo de computação 200 compreende uma interface sem fio, que pode servir como uma interface de rede sem fio. Na modalidade ilustrada, a interface de rede sem fio pode ser implementada com hardware de rádio 202 para se comunicar de modo sem fio, tal como com um ponto de acesso sem fio ou com outros dispositivos. O dispositivo 200 também compreende um adaptador de rede 204 para se comunicar através de uma rede de computador usando outros métodos (possivelmente não sem fio), um adaptador de monitor 206 para exibir informação para um usuário do dispositivo e um adaptador de entrada 208 para receber comandos do usuário. Em algumas modalidades da invenção, o dispositivo de computação 200 pode também compreender uma batería 220.
O dispositivo 200 também compreende meios legíveis por computador 212 para armazenar os dados a serem processados e/ou as instruções a serem executadas por um processador 210. O processador 210 possibilita o processamento dos dados e a execução das instruções. Os dados e as instruções podem ser armazenados nos meios legíveis por computador 212 e, por exemplo, podem possibilitar a comunicação entre os componentes do dispositivo de computação 200. Os dados e as instruções podem compreender um sistema operacional 216, que pode, por sua vez, compreender o software de controle 214. O software de controle 214 pode compreender instruções executáveis pelo computador que controlam a transmissão e a recepção dos dados de modo sem fio usando qualquer protocolo adequado incluindo os protocolos de OFDM. Os meios legíveis por computador 212 podem também ter instruções executáveis pelo computador armazenadas neles compreendendo aplicações 218 para execução no dispositivo de computação 200. As aplicações 218 podem ser usadas, por exemplo, por um usuário do dispositivo de computação para usar os componentes do dispositivo de computação para executar várias funções e completar as operações desejadas.
Deve ser verificado que a invenção não é limitada a ser praticada com o tipo de dispositivo de computação ilustrado na figura 2 e que as modalidades da invenção podem ser praticadas com qualquer dispositivo de computação adequado. O hardware de rádio 202 e os adaptadores 204, 206 e 208 podem ser implementados como qualquer hardware, software adequado ou combinação desses e pode ser implementado como uma unidade única ou múltiplas unidades. Similarmente, os meios legíveis por computador 212 podem ser implementados como qualquer meio ou combinação de meios para armazenar os dados e as instruções para o acesso por um dispositivo de processamento.
Em algumas modalidades da invenção, múltiplos dispositivos de computação, tal como o dispositivo de computação 200, podem transmitir dados através de um número limitado de subcanais. Os dispositivos de computação podem selecionar, portanto, subcanais que ficam adequados para a comunicação. Essa seleção pode ser feita em qualquer maneira, exemplo das quais são discutidos em mais detalhes abaixo. Depois que um dispositivo de computação selecionou um subcanal ou subcanais para transmissão, o dispositivo pode “reservar” esses subcanais para o seu uso na transmissão dos dados, para impedir que outros dispositivos de computação transmitam dados através do subcanal e, dessa maneira, interfiram com a comunicação. Em algumas modalidades, os subcanais podem ser reservados para o dispositivo de computação para uma transferência de dados única discreta e, assim, a seleção do subcanal e o processo de reserva podem ser repetidos toda vez que uma transferência de dados deve ser feita. Em modalidades alternativas, os subcanais podem ser reservados pelo dispositivo de computação para múltiplas transferências de dados discretas compreendendo uma sessão de comunicação, e a seleção do subcanal e o processo de reserva repetidos no início de cada sessão. Em algumas modalidades, o processo de seleção pode também ser executado durante uma transferência de dados ou durante uma sessão de comunicação, por exemplo, se uma taxa de dados mais alta é desejada e, assim, mais subcanais são necessários ou se um ou mais subcanais se tornam inadequa dos para comunicação durante uma transferência de dados ou sessão. Deve ser verificado que a invenção não é limitada a executar o processo de seleção em um tempo estabelecido ou sob condições estabelecidas, já que a seleção e a reserva dos subcanais podem ser feitas em qualquer maneira adequada em qualquer tempo adequado no processo de comunicação.
Depois que o dispositivo de computação termina de comunicar os dados através dos subcanais, os subcanais selecionados que foram previamente reservados para comunicação pelo dispositivo podem ser liberados pelo dispositivo, de modo que outros dispositivos podem fazer uso deles. Essa liberação pode acontecer no fim de uma única transferência de dados ou no fim de uma sessão de comunicação. Em algumas modalidades, essa liberação pode também ser executada durante uma transferência de dados ou sessão de comunicação se o dispositivo de computação deseja uma taxa de dados menor. Uma taxa de dados menor pode ser desejada, por exemplo, se um dispositivo de recepção indica que os dados estão sendo transmitidos em uma taxa de dados muito alta para o dispositivo de recepção processar os dados apropriadamente.
A figura 3 ilustra esse processo com uma visão geral de um processo de comunicação exemplar com múltiplos dispositivos de computação em uma linha de tempo 300. Os detalhes do processo serão discutidos abaixo, já que a figura 3 é planejada meramente para ser uma visão geral apresentada para facilidade de explicação.
No ato 302, uma aplicação em um dispositivo A solicita uma conexão em uma taxa de dados desejada. É então determinado que para transmitir os dados na taxa desejada, dois subcanais são necessários, e o espectro é examinado para dois subcanais adequados. No ato 304, o dispositivo A seleciona dois subcanais adequados 1 e 2 do espectro e os reserva para o seu uso. Ele pode também armazenar, em algumas modalidades, uma indicação de que esses dois subcanais foram selecionados para uso.
No ato 306, uma aplicação no dispositivo B solicita uma conexão em uma certa taxa de dados, e é novamente determinado que dois subcanais são necessários para conseguir essa taxa desejada. Enquanto o dispositivo A começa a transmitir os dados no ato 306, o dispositivo B está examinando o espectro e identifica os subcanais 4 e 5 como adequados para comunicação. No ato 312, o dispositivo B seleciona e reserva esses subcanais para comunicação. Em algumas modalidades da invenção, o dispositivo B pode ter recebido uma mensagem de notificação do dispositivo A indicando que os subcanais 1 e 3 foram reservados pelo dispositivo A para comunicação, e em algumas modalidades, o dispositivo B pode ter detectado a transmissão do dispositivo A nesses subcanais e os identificado como inadequados porque eles estavam sendo usados. No ato 310, o dispositivo A completa a sua transmissão de dados e libera os subcanais, tornando-os adequados para comunicação por quaisquer dispositivos na rede, e no ato 314, o dispositivo B começa a transmitir os dados através dos subcanais 4 e 5.
No ato 316, uma aplicação no dispositivo A solicita que uma conexão seja estabelecida em uma certa taxa de dados, e é novamente determinado que a transmissão dos dados nessa taxa requer dois subcanais. O dispositivo A começa a examinar o espectro por subcanais adequados, determina que os subcanais 1 e 3 são adequados e no ato 318 seleciona e reserva os subcanais 1 e 3. Em algumas modalidades da invenção, o dispositivo A pode ter examinado os subcanais 1 e 2 antes de examinar o subcanal 3 porque ele tinha previamente selecionado esses subcanais como adequados para transmissão. O dispositivo A pode ter determinado durante o seu exame que o subcanal 2 não era mais adequado para transmissão por causa da interferência de um outro dispositivo de computação transmitindo os dados através do subcanal ou de qualquer outro ruído eletrônico - e, portanto, examinou e selecionou o subcanal 3. Em modalidades alternativas, os subcanais 1 e 3 podem ter sido aleatoriamente examinados com relação à adequação e subsequentemente selecionados. Deve ser verificado que as modalidades da invenção não são limitadas à seleção dos subcanais de acordo com qualquer técnica ou técnicas específicas, já que a seleção do subcanal pode ser implementada em qualquer maneira adequada.
A figura 4 ilustra um processo de seleção de subcanal exemplar implementado por um dispositivo de computação para selecionar subcanais para comunicar dados de modo sem fio de acordo com algumas modalidades da invenção. O processo da figura 4 poderia ser implementado como instruções executáveis por computador armazenadas em pelo menos um meio legível por computador, tal como meios legíveis por computador 212, ou pode ser implementado em qualquer outra maneira adequada. Também deve ser verificado que os subcanais podem ser selecionados para transmissão em qualquer maneira adequada e que modalidades da invenção não são limitadas a serem executadas com o processo exemplar mostrado na figura 4.
O processo da figura 4 começa no ato 400, no qual os atos de inicialização são executados. Os atos de inicialização podem incluir uma aplicação executando no dispositivo de computação solicitando que uma conexão em uma taxa de dados seja estabelecida entre o dispositivo de computação e um outro dispositivo de computação, uma determinação de várias opções para a conexão sendo feita e/ou uma determinação de quais dados devem ser transmitidos para o outro dispositivo de computação sendo feita. Depois que os atos de inicialização são executados, o processo continua para o ato 402, onde uma determinação é feita de um número de subcanais com base em uma taxa desejada.
Subcanais podem ser selecionados em qualquer maneira adequada. Por exemplo, na modalidade ilustrativa da figura 4, para selecionar os subcanais, o processo executa um laço começando no ato 404. O laço compreende examinar os subcanais em um espectro disponível para uso pelo dispositivo para comunicação para determinar quais subcanais são adequados para comunicação. Ambos a ordenação dos subcanais para exame e o exame podem ser feitos em qualquer maneira adequada, exemplos das quais são discutidos abaixo.
O laço do processo ilustrativo da figura 4 tem duas condições finais possíveis. Na primeira condição final possível, o laço pode examinar todos os subcanais no espectro antes de encontrar um número desejado de subcanais, em cujo ponto o processo continua para o ato 416. Se o processamento alcança o ato 416, um erro ocorreu, que pode ser manipulado pela aplicação solicitando a conexão ou em qualquer outra maneira adequada. Em algumas modalidades, o processamento no ato 416 pode incluir relatar para a aplicação uma taxa de dados que pode ser suportada por subcanais adequados e o processo da figura 4 pode ser novamente inicializado pela aplicação diminuindo a taxa de dados desejada para a taxa mais alta permitida pelos subcanais adequados. Em outras modalidades, o processamento para selecionar os subcanais pode aguardar um período de tempo predeterminado ou aleatório antes de reexaminar o espectro procurando subcanais adequados. Alternativamente, na segunda condição final possível, o processamento no ato 406 determina que um número desejado de subcanais foi selecionado, em cujo ponto o processo continua para o ato 418. O ato 418 e os atos subsequentes são discutidos em mais detalhes abaixo.
Até que uma condição final seja satisfeita, o processo da figura 4 circula através dos subcanais do espectro. No ato 408, um subcanal escolhido é examinado para coletar informação para ajudar na determinação feita nos atos 410 e 412. No ato 410, o processo determina se o subcanal está sendo usado por um outro dispositivo para comunicação e, no ato 412, determina se o subcanal está sendo submetido a muita interferência eletrônica para permitir a comunicação efetiva. Na modalidade ilustrada, um subcanal é julgado inadequado para uso na comunicação de um sinal se o subcanal já está em uso por um outro dispositivo ou é, de alguma forma, muito ruidoso. Se em qualquer um dos atos, é determinado que o subcanal é inadequado para comunicação, então o laço continua com o próximo subcanal. Se ele é determinado como sendo adequado para comunicação, entretanto, então ele é selecionado (no ato 414) para transmissão e o laço continua com o próximo subcanal.
Deve ser verificado que a informação pode ser obtida no ato 408 em qualquer maneira adequada. No processo ilustrado, a informação é obtida monitorando a energia no subcanal sobre um intervalo predeterminado como uma forma de “prestar atenção” no subcanal. Em algumas modalidades, o dispositivo de computação sintonizará o seu hardware para o subcanal sendo examinado e usará um receptor no hardware para coletar dados sobre a energia nesse subcanal por um período de tempo predeterminado. Os dados podem ser coletados em qualquer forma adequada, incluindo níveis de energia máxima, níveis de energia média, níveis de energia mediana, etc. Nessa modalidade, prestar atenção pode compreender detectar níveis de energia no subcanal para proporcionar como entrada para os atos de determinação ou pode compreender receber (ou tentar receber) os dados do subcanal. Em outras modalidades, o dispositivo de computação pode amostrar todo o espectro pelo menos uma vez e, através da execução das etapas de exame tal como uma transformação Fourier na amostra, determinar os níveis de energia presentes em múltiplos subcanais. Deve ser verificado, entretanto, que essas técnicas são meramente exemplares e qualquer técnica adequada para examinar um subcanal ou subcanais pode ser usada de acordo com modalidades da invenção.
Se um número desejado de subcanais é selecionado do espectro (a segunda condição final discutida acima), então o processo ramifica do ato 406 para o ato 418, onde uma indicação dos subcanais selecionados é armazenada no dispositivo de computação. A indicação pode ser formatada como uma lista ou como qualquer outra estrutura de dados adequada. A lista (por exemplo) podería ser armazenada em armazenamento temporário no dispositivo de computação para uso na transmissão ou podería ser armazenada em armazenamento a longo prazo para uso nas transmissões futuras.
No ato 420, o dispositivo de computação transmite uma mensagem de notificação compreendendo a lista de subcanais para um ou mais outros dispositivos de computação. Em algumas modalidades da invenção, essa mensagem de notificação pode servir para reservar os subcanais selecionados para uso pelo dispositivo de computação até que os subcanais sejam, mais tarde, liberados pelo dispositivo de computação. Os outros dispositivos de computação podem compreender um outro dispositivo de computação agindo como um outro ponto final da conexão que é para receber os dados a serem transmitidos pelo dispositivo de computação, ou poderíam compreender todos os outros dispositivos de computação na faixa do dispositivo de computação. Em algumas modalidades da invenção, a transmissão do ato 420 será feita sobre uma frequência de controle atendida por todos os dispositivos usando um protocolo especificado. Sinais de baliza podem ser transmitidos usando essa frequência de controle, e em algumas modalidades, a transmissão do ato 420 será feita como parte de um sinal de baliza ou outro sinal já em uso. Deve ser verificado, entretanto, que modalidades da invenção podem transmitir essa informação em qualquer maneira adequada.
Depois que a lista é armazenada e transmitida, os dados são transmitidos no ato 422 através da conexão usando os subcanais selecionados. Esses subcanais, como discutido acima, não serão necessariamente contíguos, mas serão quaisquer subcanais adequados encontrados pelo processo em qualquer parte do espectro, com um número de subcanais sendo selecionado e transmitido adiante para conseguir a transmissão em uma taxa de dados desejada. Deve ser verificado que a transmissão através dos subcanais pode ser feita em qualquer maneira adequada e de acordo com qualquer protocolo adequado, desde que a invenção não é limitada a ser executada com qualquer implementação de rede particular.
No ato 424, o processo termina. Nas modalidades da invenção, o ato 424 pode compreender transmitir uma segunda mensagem de notificação para um ou mais outros dispositivos de computação indicando que o dispositivo de computação não está mais se comunicando através dos subcanais selecionados. Dessa maneira, os subcanais que podem ter sido reservados pelo dispositivo de computação podem ser liberados e, assim, se tornam adequados para uso por outros dispositivos de computação.
Deve ser verificado que o processo ilustrado no fluxograma da figura 4 é meramente exemplar e outros processos ou sequências de atos são possíveis. Por exemplo, uma modalidade alternativa da invenção pode executar o laço começando no ato 404 antes que uma conexão seja solicitada por uma aplicação. Nessa modalidade, o espectro pode ser examinado regularmente pelo dispositivo de computação e indicações de subcanais adequados podem ser armazenadas, tal que quando uma aplicação solicita uma conexão, o número desejado de subcanais pode ser rapidamente atribuído e usado com base na adequação do subcanal previamente determinada, ao invés de fazer uma determinação quando uma conexão é solicitada.
Modalidades da invenção podem também operar em um modo de baixa potência, onde a elegibilidade dos subcanais para transmissão é, além disso, restrita a um subconjunto do espectro completo. A restrição do número de subcanais examinados reduz a quantidade de potência gasta prestando atenção e determinando, bem como a potência gasta configurando o dispositivo de computação para transmitir ou receber em frequências diferentes (isto é, subcanais diferentes). O modo de baixa potência pode ser inserido em resposta à entrada do usuário ou um estado de operação do dispositivo tal como operação em potência de bateria ou em qualquer outra maneira adequada.
No exemplo da figura 4, o processamento é executado em um dispositivo que inicia uma conexão. Ao invés disso ou, além disso, um dispositivo planejado para ser um ponto final de uma conexão sendo estabelecida por um outro dispositivo de computação pode executar um processo para selecionar subcanais. O dispositivo de computação pode examinar o espectro e reservar um conjunto de subcanais através dos quais ele recebe os dados, a seguir enviar um anúncio para todos os dispositivos na faixa que ele está atendendo através dos subcanais selecionados. Depois disso, os dispositivos que desejam transmitir dados para o dispositivo de computação transmitirão usando esses subcanais. Os pontos finais de uma conexão poderíam usar os mesmos subcanais ou diferentes.
Modalidades da invenção podem também executar menos atos do que são mostrados na figura 4. Por exemplo, as modalidades da invenção podem não armazenar a lista de subcanais selecionados como feito no ato 418 ou podem não transmitir a lista dos subcanais selecionados para outros dispositivos, como no ato 420. Em algumas modalidades da invenção, os atos 410 e 412 podem ser combinados em um único ato ao invés de atos sepa rados.
Também deve ser verificado que modalidades da invenção podem executar mais atos do que são executados pelo processo ilustrativo da figura 4. Em algumas modalidades da invenção, além de armazenar indicações de subcanais selecionados para transmissão, o processo pode armazenar mais informação tal como um tempo ou elemento de uso. O tempo ou elemento de uso pode compreender informação quanto à quando um subcanal pode ser liberado pelo dispositivo de computação ou pode compreender informação sobre as condições sob as quais o subcanal foi selecionado.
Em algumas modalidades da invenção, uma lista dos subcanais classificados como sendo inadequados para transmissão pode ser mantida para uso futuro na seleção dos subcanais para uso no estabelecimento de uma conexão. Dessa maneira, subcanais classificados como sendo inadequados para comunicação podem ser evitados no futuro. Em uma modalidade alternativa da invenção, a lista armazenada no ato 418 pode ser atualizada em qualquer ponto no qual é determinado que um subcanal é inadequado. Por exemplo, se um subcanal está na lista como sendo previamente selecionado, mas é classificado como sendo inadequado, o subcanal pode ser removido da lista ou de outra forma rebaixado na lista. Qualquer técnica adequada para rebaixar um subcanal na lista pode ser usada de acordo com as modalidades da invenção, incluindo mover o subcanal para mais baixo na lista ou de outra forma indicá-lo como menos adequado do que outros subcanais.
Também deve ser verificado que os subcanais podem ser escolhidos para exame com relação à adequação para comunicação em qualquer ordem adequada. Em algumas modalidades da invenção, a ordem pode ser determinada aleatoriamente, enquanto em outras modalidades, os subcanais podem ser ordenados seqüencialmente de uma extremidade do espectro para a outra e os subcanais podem ser examinados de acordo com essa ordem.
Entretanto, desde que alguns protocolos usam a multiplexação por divisão de freqüência (FDM) através de uma banda do espectro muito larga, tais como comunicações de ultra banda larga (UWB) ou interoperabilidade mundial para acesso de microondas (WiMAX), pode se tornar oneroso em termos de tempo e processamento determinar quais subcanais do espectro estão livres.
Portanto, em algumas modalidades da invenção, a ordem na qual os subcanais são examinados pode ser baseada em um processo cognitivo que faz uso dos dados previamente determinados. Os dados podem ser obtidos do mesmo dispositivo de computação, outros dispositivos de computação executando um processo similar ou qualquer outra fonte adequada. Nessa modalidade, o aspecto cognitivo do processo se refere ao ato de “aprender” a partir da informação previamente determinada para ajudar a elaborar as determinações de maneira mais fácil, rápida e eficiente.
Um processo de ordenação cognitivo exemplar é ilustrado na figura 5. Um processo cognitivo pode ser implementado como um processo separado executado antes de um processo de seleção, tal como o ilustrado na figura 4 para predeterminar a ordem na qual os subcanais devem ser examinados, ou pode funcionar conjuntamente com um processo de seleção para determinar um subcanal a examinar a seguir depois que um subcanal foi examinado ou pode ser executado em qualquer tempo adequado e em qualquer maneira adequada.
No ato 500, uma lista de subcanais previamente selecionados (tal como a armazenada no ato 418 da figura 4) é recuperada do armazenamento no dispositivo de computação. Essa lista de subcanais pode compreender subcanais selecionados pelo processo de seleção mais recentemente executado ou pode compreender informação sobre os subcanais agregados de mais do que um processo de seleção prévio. Como um exemplo da informação agregada, a lista pode ser ordenada por um índice compreendendo o número de vezes que foi determinado que um subcanal era adequado para comunicação, mas deve ser verificado que modalidades da invenção podem armazenar qualquer informação compilada de qualquer número de processos de seleção.
No ato 502, o processo de ordenação começa examinando os subcanais na lista. O processo pode examinar os subcanais na lista seqüencialmente ou pode examiná-los com base em um índice tal como o descrito acima. Depois que um subcanal é selecionado da lista no ato 504, ele é verificado no ato 508 contra qualquer lista de subcanais indicados como atualmente selecionados por um outro dispositivo de computação. A verificação do ato 508 pode ser habilitada por uma troca de mensagens de notificação entre os dispositivos de computação em uma rede, onde as mensagens de notificação compreendem conjuntos de subcanais selecionados para comunicação. Esses conjuntos de subcanais podem ser trocados em qualquer maneira adequada, incluindo processos discutidos acima em conjunto com o ato 420 da figura 4.
Se ele não é indicado como selecionado por um outro dispositivo de computação, então no ato 510 o subcanal é marcado como examinado e examinado como discutido acima em conjunto com a figura 3 ou em qualquer outra maneira adequada. Se, entretanto, o subcanal foi indicado como selecionado por um outro dispositivo, então um outro subcanal na lista pode ser selecionado no ato 504 se é determinado no ato 502 que existem mais subcanais não examinados na lista. A lista pode também ser atualizada, com os subcanais que estão sendo usados por um outro dispositivo sendo removidos da lista ou de outra forma rebaixados.
Se, no processo de exame, todos os subcanais na lista foram marcados como examinados no ato 510 e um número desejado de subcanais ainda não foi selecionado, então o processo pode examinar no ato 506 os subcanais não presentes na lista. A ordem na qual esses subcanais são examinados pode ser feita em qualquer maneira adequada, incluindo uma ordenação aleatória ou uma ordenação seqüencial do subcanal com a frequência mais baixa para o subcanal com a frequência mais alta. Os subcanais que ainda não foram marcados como examinados pelo ato 510 podem ser examinados como discutido acima em conjunto com a figura 4, ou em qualquer outra maneira adequada, para determinar se eles são adequados para comunicação.
Deve ser verificado que a figura 5 é meramente um processo ilustrativo e que as modalidades da invenção não são limitadas à execução do processo esboçado na figura. Modalidades da invenção podem executar mais, menos ou diferentes atos do que são mostrados na figura 5. Por exemplo, algumas modalidades da invenção podem também implementar o ato de recuperar uma lista de subcanais previamente classificados como sendo inadequados para comunicação. Essa lista pode ser usada, por exemplo, na escolha para exame de subcanais que não estão em uma lista de subcanais previamente selecionados.
Em algumas modalidades alternativas, o ato 508 da figura 5 pode não envolver comparar um subcanal contra uma lista de subcanais recebida de um outro dispositivo de computação. Por exemplo, uma tal comparação pode não ser feita nas modalidades nas quais os dispositivos de computação não reservam subcanais trocando listas de subcanais selecionados como ilustrado pelo ato 420 da figura 4. Nessas modalidades, os processos podem ser implementados para manipular os conflitos quando um dispositivo de computação seleciona a transmissão em um subcanal que já foi selecionado para transmissão por um outro dispositivo de computação.
A figura 6 mostra um processo exemplar para resolver conflitos que surgem quando dois dispositivos de computação selecionam o mesmo subcanal para transmissão em termos de uma linha de tempo 618. No ato 600, o dispositivo de computação A seleciona o subcanal exemplar 1 para transmissão, de acordo com qualquer método adequado para a seleção, incluindo técnicas descritas acima. No ato 602, o dispositivo de computação B não detecta que o dispositivo A selecionou o subcanal 1 e também o seleciona para transmissão. Por exemplo, o dispositivo de computação B pode não detectar o dispositivo A porque ele executou a sua detecção no subcanal 1 durante um tempo em que o dispositivo A não estava transmitindo. Entretanto, a razão pela qual o dispositivo B não detectou o dispositivo A não é crítica para a invenção.
No ato 604, o dispositivo A detecta a interferência no subcanal 1, que, no cenário ilustrado, é causada por ambos os dispositivos tentando transmitir no subcanal ao mesmo tempo. Em resposta, o dispositivo A entra em um período de espera onde ele não transmite nesse subcanal por um período de tempo aleatório. No ato 606, o dispositivo B também detecta a interferência e aguarda um período de tempo aleatório. Esses valores de tempo aleatórios podem ficar em qualquer faixa adequada. Em algumas modalidades da invenção, os tempos de espera podem ficar na ordem de milissegundos, enquanto outras modalidades da invenção podem implementar tempos de espera na ordem de segundos. Deve ser verificado, entretanto, que a invenção não é limitada à implementação de qualquer faixa específica de valores de tempo para esse tempo de espera aleatório.
Desde que esses tempos são selecionados aleatoriamente, os tempos de espera diferirão e o dispositivo com o tempo de espera mais curto tentará usar o subcanal novamente primeiro. Pelo fato de que o dispositivo B tem o período de espera mais curto, ele é o primeiro a verificar o subcanal com relação à interferência no ato 608, e no ato 610 determina que o subcanal está livre para transmissão, em cujo ponto ele começa a transmitir os seus dados novamente. No ato 612, o dispositivo A sai do seu período de espera e verifica o subcanal 1 com relação à interferência, determinando no ato 614, que o subcanal 1 está sendo usado pelo dispositivo B e, portanto está inadequado para transmissão. O dispositivo A então prossegue para o ato 616, onde ele seleciona novos subcanais para comunicação. Uma tal seleção pode ser feita em qualquer maneira adequada, incluindo as técnicas discutidas acima.
Deve ser verificado que o processo ilustrado na figura 6 é meramente exemplar, e que modalidades da invenção não são limitadas à implementação de um tal processo para resolver os conflitos. As modalidades podem implementar mais atos, tal como armazenar um registro da interferência em listas de subcanais previamente selecionados ou previamente inadequados. Também deve ser verificado que a figura 6 ilustra um conflito entre dois dispositivos para o caso de explicação, mas um tal conflito pode surgir entre quaisquer dois ou mais dispositivos de computação.
As modalidades acima descritas da presente invenção podem ser implementadas em qualquer uma de numerosas maneiras. Por exemplo, as modalidades podem ser implementadas usando hardware, software ou uma combinação desses. Quando implementadas em software, o código do software pode ser executado em qualquer processador adequado ou coleção de processadores, quer provido em um único computador ou distribuído entre múltiplos computadores.
Além do que, deve ser verificado que um computador ou terminal pode ser personificado em qualquer uma de um número de formas, tal como um computador montado em prateleira, um computador de mesa, um computador laptop ou um computador de mesa digitalizadora. Adicionalmente, um computador ou terminal pode ser embutido em um dispositivo não geralmente considerado como um computador, mas com capacidades de processamento adequadas, incluindo um assistente digital pessoal (PDA), um telefone inteligente ou qualquer outro dispositivo eletrônico adequado portátil ou fixo.
Também, um computador pode ter um ou mais dispositivos de entrada e de saída. Esses dispositivos podem ser usados, entre outras coisas, para apresentar uma interface do usuário. Exemplos de dispositivos de saída que podem ser usados para proporcionar uma interface do usuário incluem impressoras ou telas de exibição para apresentação visual da saída e alto-falantes ou outros dispositivos de geração de som para apresentação audível da saída. Exemplos de dispositivos de entrada que podem ser usados para uma interface do usuário incluem teclados e dispositivos indicadores tais como mouses, almofadas sensíveis ao toque e mesas de digitalização. Como um outro exemplo, um computador pode receber informação de entrada através do reconhecimento de fala ou em outros formatos audíveis.
Tais computadores podem ser interligados por uma ou mais redes em qualquer forma adequada, incluindo como uma rede local ou uma rede remota, tal como uma rede empresarial ou a Internet. Tais redes podem ser baseadas em qualquer tecnologia adequada e podem operar de acordo com qualquer protocolo adequado e podem incluir redes sem fio, redes conectadas fisicamente ou redes de fibra ótica.
Também, os vários métodos ou processos esboçados aqui podem ser codificados como software que é executável em um ou mais processadores que utilizam qualquer um de uma variedade de sistemas operacionais ou plataformas. Adicionalmente, tal software pode ser escrito usando qualquer uma de um número de linguagens de programação adequadas e/ou ferramentas de programação ou formação de roteiro convencionais, e também pode ser compilado como código de linguagem de máquina executável ou código intermediário que é executado em uma estrutura ou máquina virtual.
Sob esse aspecto, a invenção pode ser personificada como um meio legível por computador (ou múltiplos meios legíveis por computador) (por exemplo, uma memória de computador, um ou mais discos flexíveis, discos compactos, discos óticos, fitas magnéticas, memórias flash, configurações do circuito em arranjos de porta programável no campo ou outros dispositivos semicondutores, etc.) codificados com um ou mais programas que, quando executados em um ou mais computadores ou outros processadores, executam métodos que implementam as várias modalidades da invenção discutidas acima. O meio ou meios legíveis por computador podem ser transportáveis, tal que o programa ou programas armazenados neles podem ser carregados em um ou mais computadores diferentes ou outros processadores para implementar vários aspectos da presente invenção como discutido acima.
Os termos “programa” ou “software” são usados aqui em um sentido genérico para se referir a qualquer tipo de código de computador ou conjunto de instruções executáveis por computador que podem ser utilizadas para programar um computador ou outro processador para implementar vários aspectos da presente invenção como discutido acima. Adicionalmente, deve ser verificado que, de acordo com um aspecto dessa modalidade, um ou mais programas de computador que quando executados executam métodos da presente invenção não precisam residir em um único computador ou processador, mas podem ser distribuídos em um modo modular entre um número de computadores ou processadores diferentes para implementar vários aspectos da presente invenção.
As instruções executáveis por computador podem estar em muitas formas, tal como módulos de programa, executados por um ou mais computadores ou outros dispositivos. De modo geral, módulos de programa incluem rotinas, programas, objetos, componentes, estruturas de dados, etc. que executam tarefas particulares ou implementam tipos de dados abstratos particulares. Tipicamente, a funcionalidade dos módulos de programa pode ser combinada ou distribuída como desejado em várias modalidades.
Vários aspectos da presente invenção podem ser usados sozinhos, em combinação ou em uma variedade de arranjos não especificamente discutidos nas modalidades descritas no precedente e, portanto não é limitado na sua aplicação aos detalhes e arranjo dos componentes apresentados na descrição precedente ou ilustrados nos desenhos. Por exemplo, aspectos descritos em uma modalidade podem ser combinados em qualquer maneira com os aspectos descritos em outras modalidades.
O uso de termos ordinais tais como “primeiro”, “segundo”, terceiro”, etc. nas reivindicações para modificar um elemento de reivindicação não conota por si próprio qualquer prioridade, precedência ou ordem de um elemento de reivindicação sobre um outro ou a ordem temporal na qual os atos de um método são executados, mas são usados meramente como rótulos para distinguir um elemento de reivindicação tendo um certo nome de um outro elemento tendo um mesmo nome (mas para uso do termo ordinal) para distinguir os elementos de reivindicação.
Também, a fraseologia e a terminologia usadas aqui são com a finalidade de descrição e não devem ser consideradas como limitadoras. O uso de “incluindo”, “compreendendo” ou “tendo”, “contendo”, “envolvendo”; e variações desses aqui é planejado para abranger os itens listados a seguir e seus equivalentes, bem como itens adicionais.
Tendo descrito vários aspectos de pelo menos uma modalidade dessa invenção, é para ser verificado que várias alterações, modificações e aperfeiçoamentos facilmente ocorrerão para aqueles versados na técnica. Tais alterações, modificações e aperfeiçoamentos são planejados como parte dessa revelação e são planejados para se situarem dentro do espírito e do escopo da invenção. Dessa maneira, a descrição precedente e os desenhos são por meio de exemplo somente.