BR112014017076B1 - aparelho para selecionar uma estação de sincronização, método de indentificar um papel do primeiro dispositivo, meio legível por computador não transitório e primeiro dispositivo de comunicação par - Google Patents

aparelho para selecionar uma estação de sincronização, método de indentificar um papel do primeiro dispositivo, meio legível por computador não transitório e primeiro dispositivo de comunicação par Download PDF

Info

Publication number
BR112014017076B1
BR112014017076B1 BR112014017076-2A BR112014017076A BR112014017076B1 BR 112014017076 B1 BR112014017076 B1 BR 112014017076B1 BR 112014017076 A BR112014017076 A BR 112014017076A BR 112014017076 B1 BR112014017076 B1 BR 112014017076B1
Authority
BR
Brazil
Prior art keywords
devices
station
synchronization
sync
peer
Prior art date
Application number
BR112014017076-2A
Other languages
English (en)
Other versions
BR112014017076A2 (pt
BR112014017076A8 (pt
Inventor
A Hartman Christiaan
B Vandwalle Pierre
J Stacey Robert
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/625,752 external-priority patent/US20130132500A1/en
Priority claimed from US13/657,707 external-priority patent/US9516615B2/en
Application filed by Apple Inc filed Critical Apple Inc
Publication of BR112014017076A2 publication Critical patent/BR112014017076A2/pt
Publication of BR112014017076A8 publication Critical patent/BR112014017076A8/pt
Publication of BR112014017076B1 publication Critical patent/BR112014017076B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1072Discovery involving ranked list compilation of candidate peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/309Measuring or estimating channel quality parameters
    • H04B17/318Received signal strength
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

resumo patente de invenção: "seleção de estações de sincronização em um ambiente de rede ponto a ponto". a presente invenção refere-se a um sistema, aparelho e método para selecionar uma ou mais estações de sincronização, ou mestres, em um ambiente de comunicação ponto a ponto. sincronizar (ou sinc) estações que difundem quadros de sincronização periódicos para anunciar janelas de disponibilidade futuras, durante as quais os dispositivos se encontram para descoberta e comunicação. dispositivos que podem atuar como estações de sincronização anunciando valores de preferência, os quais indicam sua preferência ou adequabilidade para o papel. todos os dispositivos executam o mesmo algoritmo para classificar os valores de preferência e identificar uma estação raiz de sincronização e qualquer quantidade de estações de ramificação de sincronização; os dispositivos folha sincronizam com a raiz ou uma estação de ramificação de sincronização. este esquema de sincronização passiva permite que dispositivos individuais conservem potência, devido aos mesmos não precisarem descobrir ativamente outros dispositivos e serviços, e podem desligar seus rádios por períodos de tempo sem sacrificar capacidade de descoberta. comunicação de sincronização e ponto a ponto como fornecidas neste documento coexistem com outras demandas do dispositivo, tais como comunicações de operações bluetooth(r) e baseadas em infraestrutura.

Description

Relatório Descritivo da Patente de Invenção para APARELHO PARA SELECIONAR UMA ESTAÇÃO DE SINCRONIZAÇÃO, MÉTODO DE INDENTIFICAR UM PAPEL DO PRIMEIRO DISPOSITIVO, MEIO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO E PRIMEIRO DISPOSITIVO DE COMUNICAÇÃO PAR. ANTECEDENTES [001] A presente invenção refere-se a campo de comunicações.
Mais particularmente, são fornecidos um sistema, aparelho e métodos para eleger um ou mais dispositivos mestres dentro de um ambiente de rede par a par sincronizado.
[002] Protocolos ou tecnologias de rede par a par permitem que nós ou dispositivos individuais se comuniquem diretamente com outros pares, e podem ser contrastados com ambientes baseados em infraestrutura na qual um nó central requerido (por exemplo, um servidor, um roteador, um comutador, um ponto de acesso) passa comunicações entre nós diferentes. Um benefício de comunicação par a par direta é que a mesma evita roteamento e processamento de comunicações adicional desnecessário através de outros dispositivos.
[003] Entretanto, tecnologias de rede par a par existentes têm limitações que diminuem sua usabilidade, escalabilidade e/ou realização. Por exemplo, algumas tecnologias oferecem somente capacidades limitadas de comunicação par a par devido às mesmas serem focadas em soluções baseadas em infraestrutura e, portanto requererem um nó central. Comunicação par a par nestes ambientes requer negociação com o nó central, e pode não ser possível entre dispositivos que não compartilham um nó central comum. Também, as comunicações entre pares podem ser limitadas pelas capacidades do nó central (por exemplo, banda de frequência, largura de banda, modulação).
[004] Devido a seu papel proeminente, um nó central pode se tornar congestionado e deste modo aumentar a latência de comunica
Petição 870190053750, de 12/06/2019, pág. 5/341
2/94 ção e diminuir a capacidade de comunicação dentro do ambiente. Adicionalmente, um nó central atua como um ponto único de falha. Mesmo se outro nó puder assumir o controle das funções de um com nó central com falha ou ausente, até que isto ocorra a rede pode ser severamente degradada.
[005] Algumas outras tecnologias que permitem comunicações par a par requerem consumo de energia significativo por nós individuais, o que é uma questão principal para dispositivos que dependem de energia de bateria (por exemplo, telefones inteligentes, tablets, computadores de colo e portáteis). O consumo de energia excessivo por um par pode ser provocado por descoberta de serviços e/ou outros dispositivos ineficientes, por ter que atuar como um nó central, por uso ineficiente do transceptor do dispositivo, e/ou por outras razões. Por exemplo, requerer que um dispositivo continua ou regularmente consulte ou pesquise outros dispositivos distantes com os quais o mesmo consuma quantidades significativas de energia, especialmente para um dispositivo sem fio se deslocando através de regiões espaciais diferentes.
[006] Também, algumas tecnologias ou protocolos de rede que suportam comunicações par a par do não coexistem bem com outras tecnologias. Por exemplo, em um ambiente sem fio, protocolos par a par típicos não são flexíveis o suficiente para compartilhar uma antena ou espectro de frequência do dispositivo rádio com outros protocolos ou entre aplicações (por exemplo, para manter uma conexão Bluetooth®). Algumas tecnologias par a par também não permitem comunicações multidifusão, em vez de requerer que um dispositivo contate múltiplos pares individualmente, e/ou do não cresça bem quando o ambiente se torna populado mais densamente.
SUMÁRIO [007] Em algumas modalidades da invenção, são fornecidos um
Petição 870190053750, de 12/06/2019, pág. 6/341
3/94 sistema, aparelho e método para selecionar uma ou mais estações de sincronização entre múltiplos dispositivos que tentam participar de comunicações par a par. Nestas modalidades, as estações selecionadas difundem um cronograma de encontro para sincronizar os dispositivos e organizá-los logicamente em uma hierarquia (por exemplo, uma árvore).
[008] Uma estação de sincronização de raiz única (ou sincronização de raiz) ou mestre principal serve como a raiz da hierarquia, determina o cronograma de encontro e atua como um sincronismo mestre para os dispositivos sincronizados. Qualquer quantidade (ou seja, zero ou mais) de estações de sincronização de ramificação (ou de ramificação de sincronização) propaga o cronograma de encontro por todo o ambiente, o que estende o alcance da hierarquia. A estação raiz de sincronização não atua como um ponto de comutação central de comunicações, e pode ser facilmente substituído por outro dispositivo com impacto mínimo, se houver, nas comunicações dos dispositivos.
[009] Cada estação de sincronização emite quadros de sincronização periódicos em um ou mais canais sociais. Os quadros de sincronização identificam canais e horas para um ou mais encontros dos dispositivos eminentes. Um encontro pode ser denominado uma “janela de disponibilidade”.
[0010] Um quadro de sincronização também pode transportar outra informação, tal como dados que os dispositivos usarão para selecionar estações como estações de sincronização, atributos da estação raiz de sincronização e/ou a estação de ramificação de sincronização que emitiu o quadro de sincronização, um selo de data e hora e assim por diante. Todos os dispositivos aplicam o mesmo algoritmo para identificar aqueles dispositivos que devem atuar como estações de sincronização. Em algumas implementações, um dispositivo aplica o
Petição 870190053750, de 12/06/2019, pág. 7/341
4/94 algoritmo para primeiro decidir se o mesmo deve ser a estação raiz de sincronização, então para decidir se o mesmo deve ser uma estação de ramificação de sincronização. Se não for colocado no papel de uma estação de sincronização, o mesmo será um dispositivo folha dentro da hierarquia.
DESCRIÇÃO DAS FIGURAS [0011] A FIG. 1 retrata o uso de quadros de sincronização periódicos para obter e manter sincronização entre dispositivos, de acordo com algumas modalidades da invenção.
[0012] A FIG. 2 é um diagrama que demonstra uma sequência de janelas de disponibilidade identificadas em um quadro de sincronização periódico, de acordo com algumas modalidades da invenção.
[0013] A FIG. 3 é um fluxograma que demonstra a sincronização de um dispositivo com uma comunidade de pares em um ambiente de comunicação sem fio, de acordo com algumas modalidades da invenção.
[0014] A FIG. 4 é um diagrama que demonstra uma troca fora de banda de acordo com algumas modalidades da invenção.
[0015] As FIGURAS 5A a D retratam a seleção de estações de sincronização dentro de uma coleção dos dispositivos pares de comunicação, de acordo com algumas modalidades da invenção.
[0016] A FIG. 6 é um fluxograma que demonstra um método para selecionar uma ou mais estações de sincronização em um ambiente de comunicação par a par, de acordo com algumas modalidades da invenção.
[0017] As FIGURAS 7A a E retratam a execução do método ilustrado na FIG. 6, de acordo com algumas modalidades da invenção.
[0018] A FIG. 8 é um diagrama de blocos de um dispositivo par, de acordo com algumas modalidades da invenção.
[0019] As FIGURAS 9A e B retratam a criação de um grupo dentro
Petição 870190053750, de 12/06/2019, pág. 8/341
5/94 de uma coleção hierárquica dos dispositivos de comunicação dentro de um ambiente par a par, de acordo com algumas modalidades da invenção.
[0020] As FIGURAS 10A a C retratam o combinador de múltiplos grupos de acordo com algumas modalidades da invenção.
DESCRIÇÃO DETALHADA [0021] A descrição a seguir é apresentada para permitir que qualquer indivíduo versado na técnica faça e usar a invenção, e é fornecida no contexto de uma particular aplicação e suas exigências. Várias modificações às modalidades reveladas ficarão prontamente evidentes para os indivíduos versados na técnica, e os princípios gerais definidos neste documento podem ser aplicados a outras modalidades e aplicações sem se afastar do escopo da presente invenção. Deste modo, a presente invenção não é destinada a ser limitada às modalidades mostradas, mas deve ser concedido o escopo mais amplo consistente com os princípios e recursos revelados neste documento.
[0022] Em algumas modalidades da invenção, são fornecidos um sistema, aparelho e método para dispositivos de sincronização que operam em um ambiente de comunicação par a par em uma comunidade hierárquica, ao mesmo tempo em que permitem agrupamento localizado dos dispositivos sem deixar a comunidade. Deste modo, uma hierarquia default dos dispositivos fornece uma estrutura para sincronizar todos os dispositivos no ambiente, enquanto que grupos de indivíduos ou hierarquias de grupo permitem cooperação local dos dispositivos sem perder a capacidade de interagir com os dispositivos na hierarquia maior.
Introdução [0023] Um ambiente de comunicação sem fio pode ser caracterizado por qualquer quantidade dos dispositivos do mesmo tipo e/ou tipos diferentes - tais como telefones inteligentes, tablets, assistentes
Petição 870190053750, de 12/06/2019, pág. 9/341
6/94 pessoais digitais, computadores de colo e de mesa e assim por diante. Dispositivos diferentes terão recursos diferentes, podem executar aplicações diferentes, podem ter níveis de energia diferentes (por exemplo, forças de bateria), necessidades de comunicação diferentes, cargas diferentes (por exemplo, em um processador, em uma antena), podem ser ouvidas por outros dispositivos com forças de sinal variáveis, etc. Adicionalmente, o ambiente de comunicação pode ser fluido, com o dispositivos entrando continuamente, se movendo através de e saindo da região espacial que abrange o ambiente.
[0024] Algumas modalidades de uma invenção divulgada neste documento fornecem um protocolo, mecanismo e/ou processo para habilitar dispositivos em um ambiente como este a descobrir uns aos outros e se comunicar diretamente, par a par. Estas modalidades: promovem baixo consumo de energia mesmo enquanto fazendo dispositivos e serviços prontamente detectáveis; coexistem com outras tecnologias de comunicação (por exemplo, Bluetooth®); suportam operação multibanda (por exemplo, 2,4 GHz e 5 GHz); evitam a degradação de capacidade e latência usualmente encontradas com infraestrutura de rede (por exemplo, pontos de acesso) ao mesmo tempo em que mantendo compatibilidade com tecnologias baseadas em infraestrutura; se recuperam fácil e rapidamente se e quando um dispositivo que atua como uma estação de sincronização (ou mestre) sai do ambiente; e são escaláveis para acomodar ambientes densos que têm muitos dispositivos. Estes e outros recursos e vantagens são descritos abaixo.
[0025] Em modalidades da invenção, os dispositivos são sincronizados para que os mesmos se encontrem em horas predeterminadas em canais predeterminados. Um período de tempo durante o qual os dispositivos se encontram é denominado uma janela de disponibilidade, e todas as estações de sincronização (ou sinc) difundem ou anun
Petição 870190053750, de 12/06/2019, pág. 10/341
7/94 ciam os mesmos, ou similares, cronogramas de janelas de disponibilidade. Durante uma janela de disponibilidade, pares podem trocar comunicações de dados de multidifusão e/ou difusão par a par, e descobrir outros dispositivos e serviços. Um dispositivo pode estender sua presença em uma janela de disponibilidade para acomodar comunicação em andamento com um par.
[0026] Os parâmetros de um ou mais encontros eminentes (por exemplo, hora e canal) são comunicados através de difusão de Quadros de Sincronização Periódicos (PSF) em um ou mais canais sociais. Os dispositivos são pré-programados para escutar periodicamente em pelo menos um canal social, por uma extensão de tempo suficiente para escutar pelo menos uma PSF.
[0027] Deste modo, quando um dispositivo carrega ou se move em um ambiente dos dispositivos pares, o mesmo sintonizará em um canal social predeterminado e rapidamente aprenderá onde e quando o mesmo pode encontrar com outros dispositivos. Se o dispositivo não escutar uma PSF, o mesmo pode assumir que deve atuar como um mestre e começar a emitir seus próprios PSFs para facilitar a sincronização com outros dispositivos que podem estar presentes ou que apareçam posteriormente.
[0028] Os parâmetros de sincronização (por exemplo, um cronograma de janelas de disponibilidade eminentes) também podem ser anunciados durante uma janela de disponibilidade em algumas implementações, para deste modo poupar os dispositivos do custo de comutar seus rádios para um canal social para receber os parâmetros. Um dispositivo pode mesmo desligar seu rádio quando não estiver escutando uma PSF, participar em uma janela de disponibilidade ou usar a mesma para algum outro propósito. Portanto um dispositivo que participa de uma hierarquia sincronizada pode compartilhar um rádio, antena e/ou outro recurso de comunicação com outra função do disposiPetição 870190053750, de 12/06/2019, pág. 11/341
8/94 tivo, tal como uma conexão de infraestrutura ou um enlace Bluetooth®. [0029] Dentro de uma comunidade dos dispositivos pares, um procedimento de seleção é aplicado para determinar quais se tornarão estações de sincronização e assumirão a responsabilidade de sincronizar outros dispositivos. A quantidade de estações de sincronização selecionadas pode depender da quantidade dos dispositivos pares presentes, suas forças de sinal, padrões de propagação de sinal, parâmetros operacionais, etc. Como descrito abaixo, o processo de selecionar ou identificar estações de sincronização pode considerar virtualmente qualquer fator relevante dos dispositivos participantes.
[0030] Embora os dispositivos no ambiente de comunicação se engajem em comunicações par a par sNo peso de exigências de infraestrutura, a seleção de estações de sincronização ou mestres organizará logicamente os dispositivos em uma hierarquia para propósitos de sincronização. Dentro da hierarquia, uma estação raiz de sincronização (ou “mestre principal”) é responsável pela sincronização global dos dispositivos através de parâmetros de sincronização transportados pelos PSFs que a mesma difunde. Cada mestre subordinado, chamado uma estação de ramificação de sincronização, sincroniza com a estação raiz de sincronização ou uma estação de ramificação de sincronização interveniente e retransmite ou reempacota os parâmetros de sincronização da estação raiz de sincronização dentro de seus próprios PSFs, para deste modo estender o alcance da sincronização global.
[0031] O alcance de rádio de um único dispositivo sem fio (por exemplo, a estação raiz de sincronização) é limitado, o que normalmente evitaria que o dispositivo organizasse os dispositivos além de uma região local. Requerer que estações de ramificação de sincronização subordinadas redifundam seus parâmetros de sincronização que permite que aquele único dispositivo sem fio sincronize uma colePetição 870190053750, de 12/06/2019, pág. 12/341
9/94 ção dos dispositivos espalhados por uma área maior. A comunidade inteira desfruta dos benefícios resultantes (por exemplo, pronta descoberta de serviços e outros dispositivos, menor consumo de energia). [0032] Diferente de um ambiente que tem exigências de infraestrutura (por exemplo, coordenação através de um ponto de acesso), devido a uma tarefa principal da estação de sincronização ser simplesmente disseminar parâmetros de encontro, a perda de uma estação de sincronização é facilmente retificada. Por exemplo, o cronograma de encontro publicado pela estação de sincronização ausente simplesmente será mantido enquanto é escolhida uma substituição, para deste modo manter todos os dispositivos sincronizados. E, aquela substituição geralmente manterá o mesmo cronograma.
[0033] Podem ser aplicados diferentes algoritmos para selecionar estações de sincronização, ou mestres, em horas diferentes e/ou em ambientes diferentes, mas geralmente servem para promover quaisquer ou todos estes objetivos: distribuição espacial uniforme de mestres por todo o ambiente, uma densidade ajustável de mestres dentro do ambiente e controle do tamanho da área geográfica que compreende o ambiente.
[0034] Em algumas modalidades da invenção, o algoritmo para selecionar ou identificar mestres é executado regularmente para garantir que os mais dispositivos apropriados atuem como estações de sincronização, baseado em várias métricas ou atributos dos dispositivos. O processo de seleção também pode considerar quantas estações de sincronização já estão presentes em uma área, quantas estações de sincronização um dado dispositivo par pode escutar, quão distantes as mesmas estão (por exemplo, baseado na força de sinal ou alguma outra medida de distância), etc.
[0035] Os grupos dos dispositivos dentro de um ambiente podem sincronizar entre eles próprios, separados de ou em paralelo a uma
Petição 870190053750, de 12/06/2019, pág. 13/341
10/94 hierarquia default maior. Os mesmos podem organizar para compartilhar um arquivo ou executar uma aplicação comum, por exemplo. Um grupo pode imitar a hierarquia default e manter sincronização interna selecionando uma ou mais estações de ramificação de sincronização (ou grupos mestres), com os outros dispositivos (ou seja, dispositivos folha ou escravo) sincronizando às estações de ramificação de sincronização selecionadas. Uma estação raiz de sincronização de grupo (ou “mestre superior de grupo”) pode sincronizar com (ou tentar sincronizar com) um membro de uma hierarquia próxima ou circunjacente.
[0036] Nem todos os membros do grupo de uma única hierarquia precisam ser chamados. Por exemplo, em uma área espacial adjacente a múltiplas hierarquias, um grupo pode chamar membros de duas ou mais das mesmas.
[0037] Em modalidades da invenção, uma hierarquia “default” é uma hierarquia que pode compreender uma quantidade relativamente grande dos dispositivos (por exemplo, todos os dispositivos dentro de uma dada área espacial). Membros de uma hierarquia default terão (e anunciarão) identificadores “default” correspondentes. Uma hierarquia de “grupo” é composta de membros de um grupo privado. Os membros de uma hierarquia de grupo terão (e anunciarão) identificadores de “grupo” correspondentes.
[0038] Embora todos os membros de um grupo tipicamente também pertencerão a uma hierarquia default, membros individuais de uma hierarquia default podem ou não ser membros de qualquer hierarquia de grupo. Identificadores default e de grupo são distinguíveis de outros identificadores do dispositivo (por exemplo, endereço IP, endereço MAC, número de IMEI, número de IMSI).
[0039] As seções a seguir discutem sincronização dos dispositivos dentro do ambiente par a par para formar uma hierarquia default, a se
Petição 870190053750, de 12/06/2019, pág. 14/341
11/94 leção de estações de sincronização ou mestres dentro de uma hierarquia, a organização de grupos dos dispositivos dentro de uma hierarquia default ou através de múltiplas hierarquias default, e um dispositivo par ilustrativo, de acordo com algumas modalidades da invenção.
Sincronização dos dispositivos [0040] Como discutido acima, a sincronização dos dispositivos dentro de um ambiente de comunicação sem fio de acordo com algumas modalidades da invenção permite que os mesmos descubram facilmente um ao outro, identificando serviços disponíveis e se engajem em comunicações par a par diretas (difusão e/ou multidifusão par a par), todos ao mesmo tempo em que conservam recursos de energia e coexistem com outros processos de comunicação.
[0041] A sincronização começa tão logo um dispositivo fique em linha ou se mova para dentro do alcance de pelo menos outro dispositivo operando um protocolo compatível, e pode ser mantido desde que o dispositivo esteja em linha dentro da área espacial que cobre os dispositivos sincronizados (por exemplo, desde que o mesmo esteja no alcance de um dispositivo par).
[0042] Através da sincronização e processos de seleção de mestre, os dispositivos são organizados automaticamente em uma hierarquia, na qual as estações de sincronização (ou mestres) em cada nível (ou estrato) da hierarquia difundem periodicamente os parâmetros de sincronização a fim de obter e manter a sincronização entre os dispositivos em uma área. Os quadros de sincronização periódicos (PSFs) são um mecanismo para disseminar parâmetros de sincronização, e são consumidos por todos os dispositivos sincronizados.
[0043] Os quadros de sincronização periódicos servem para transportar informação tal como, mas não limitada a, informação para sincronizar os sincronismos dos dispositivos, uma descrição de uma ou mais janelas de disponibilidade eminentes durante as quais dispositi
Petição 870190053750, de 12/06/2019, pág. 15/341
12/94 vos sincronizados podem se encontrar, e métricas ou atributos da estação raiz de sincronização e da estação de ramificação de sincronização que transmitiu o PSF. Em outras modalidades da invenção, uma PSF pode incluir uma coleção de informação diferente, mas normalmente incluirá critérios que identificam pelo menos uma janela de disponibilidade.
[0044] A formação de uma hierarquia e sincronização dos dispositivos dentro da mesma pode ser afetada por parâmetros de configuração ou operação tais como, mas não limitados a: uma profundidade máxima ou estrato, periodicidade dos PSFs, quantidade de estações de sincronização (por exemplo, global e/ou dentro do alcance de um dado dispositivo), o algoritmo de seleção usado para selecionar estações de sincronização ou mestres, métricas ou atributos do dispositivo considerados pelo algoritmo de seleção, etc. Em modalidades diferentes da invenção, podem ser aplicados parâmetros diferentes.
[0045] A FIG. 1 retrata o uso de quadros de sincronização periódicos para obter e manter a sincronização entre dispositivos, de acordo com algumas modalidades da invenção.
[0046] Nestas modalidades, os quadros de sincronização periódicos 110 (por exemplo, quadros 110a, 110b, 110n) são transmitidos em base regular em um ou mais canais sociais 120 (por exemplo, canais 120a, 120b, 120n).
[0047] Estações de sincronização diferentes podem transmitir quadros de sincronização periódicos no mesmo ou diferentes canais sociais, e qualquer dada estação de sincronização pode usar um ou mais canais sociais para transportar seu PSFs. Estações de sincronização diferentes em um único ambiente podem usar canais sociais diferentes, talvez para evitar interferência uma com a outra, devido ao canal social usado por um mestre poder estar em uso por um mestre diferente para um propósito diferente (por exemplo, uma conexão de
Petição 870190053750, de 12/06/2019, pág. 16/341
13/94 infraestrutura), e/ou por alguma outra razão.
[0048] Embora sejam retratados múltiplos canais sociais 120 na
FIG. 1, em algumas implementações todas as estações mestre em um ambiente e hierarquia podem usar o mesmo canal social. Canais sociais e/ou outros canais discutidos neste documento podem ser canais sem fio IEEE 802.11.
[0049] Nos canais sociais 120a, 120b, 120n, os respectivos quadros de sincronização periódicos 110a, 110b, 110n são difundidos em uma base periódica por uma estação de sincronização responsável. Cada um dos PSFs difunde por uma única estação de sincronização em um único canal (por exemplo, quadros 110a) pode ser idêntico ou pode diferir um pouco, tal como no cronograma de janelas de disponibilidade que os mesmos transportam.
[0050] Embora o período de PSF de cada canal (Pa, Pb, Pn) seja diferente na FIG. 1, em algumas modalidades da invenção nas quais são empregados múltiplos canais sociais, os períodos de PSF de dois ou mais canais podem ser idênticos. Um período ilustrativo entre PSFs em um canal pode ser da ordem de 100 milissegundos. Estações de sincronização diferentes podem usar o mesmo ou diferentes períodos de PSF. Em algumas implementações, o comprimento ou duração de um período de PSF pode ser inversamente proporcional à quantidade global de estações de sincronização (ou a quantidade de estações de sincronização em uma região particular) que difundem PSFs.
[0051] Em algumas modalidades da invenção, os períodos de PSF serão diferentes em cada canal social; entretanto, os períodos de janela de disponibilidade das estações de sincronização que emitem os PSFs podem ser os mesmos. Portanto, dentro de uma hierarquia, podem ser implementados múltiplos períodos de PSF e um único período de janela de disponibilidade.
[0052] Quando transmitindo uma PSF, a estação emissora de sin
Petição 870190053750, de 12/06/2019, pág. 17/341
14/94 cronização ou mestre necessita meramente sintonizar seu rádio para o canal correto e ligá-lo o suficiente para enviar o PSF. A mesma não precisa permanecer naquele canal depois de emitir o PSF, mas em vez disso pode desligar seu rádio para economizar energia, comutar o mesmo para um canal social diferente (por exemplo, para preparar para transmitir uma PSF em um canal diferente) ou usar o mesmo para algum outro propósito, tal como comparecer a uma janela de disponibilidade (como descrito abaixo), manipular comunicação de infraestrutura, etc.
[0053] Em modalidades diferentes da invenção, uma PSF pode conter um subconjunto ou um superconjunto dos elementos de PSF 110x ilustrativo, ou um conjunto completamente diferente de elementos de informação. Os parâmetros de sincronização (ou parâmetros de janela de disponibilidade) de PSF 110x - a combinação de canal 130, hora 132 e duração 134 - definem uma janela de disponibilidade durante a qual os dispositivos sincronizados podem se encontrar. O canal 130 identifica o canal (por exemplo, um canal sem fio 802.11) no qual os mesmos se encontrarão, a hora 132 identifica a hora na qual os mesmos se encontrarão, e a duração 134 indica uma duração mínima da janela.
[0054] Os parâmetros ou dados de sincronização de uma PSF podem identificar qualquer quantidade de janelas de disponibilidade (zero ou mais). PSFs diferentes transmitidos no mesmo ou diferentes canais sociais, e por mestres diferentes, podem identificar a mesma ou diferentes janelas de disponibilidade. Em algumas modalidades, entretanto, os parâmetros de sincronização determinados pela estação raiz de sincronização (incluindo o cronograma ou sequência de janelas de disponibilidade) são aplicados por toda a hierarquia.
[0055] O elemento de hora 132 dos parâmetros de sincronização de PSF 110x pode identificar uma hora absoluta de início (por exem
Petição 870190053750, de 12/06/2019, pág. 18/341
15/94 plo, baseada em um sincronismo sincronizado, UTC (Hora Universal Coordenada) ou alguma outra referência comum) e/ou uma hora relativa. Em algumas implementações, o campo de selo de data e hora transporta a TSF (Função de Sincronização de Hora) da estação que emitiu PSF 110x.
[0056] Em algumas modalidades da invenção, a hora 132 inclui valores múltiplos que um dispositivo de sincronização usa para computar a hora de início de uma janela de disponibilidade. Nestas modalidades, a hora 132 pode incluir um selo de data e hora “alvo” configurado para indicar quando a PSF 110x foi formada e enfileirada para transmissão dentro da estação emissora de sincronização (por exemplo, quando a PSF foi colocada em uma memória temporária de amortecimento de transmissão), e um selo de data e hora “real” configurado para indicar quando a PSF foi realmente enviada através da antena da estação. A PSF é considerada formada no momento em que um parâmetro “deslocamento mestre” é calculado pela estação de sincronização.
[0057] O valor de deslocamento mestre, também incluído dentro da PSF 110x como parte da hora 132 ou um elemento de informação diferente, representa a emissão do deslocamento interno da estação de sincronização para o início da próxima janela de disponibilidade, medida a partir da hora em que a mesma libera o PSF. Em outras palavras, o deslocamento mestre mede o período de tempo a partir do selo de data e hora alvo para o início da janela de disponibilidade, como calculado pela estação que emitiu o quadro de sincronização.
[0058] Com estes valores, um dispositivo que escuta ou sincroniza com a estação que emitiu a PSF 110x pode computar um deslocamento para a hora de início da janela de disponibilidade como segue: Deslocamento = Deslocamento mestre - (selo de data e hora real selo de data e hora alvo)
Petição 870190053750, de 12/06/2019, pág. 19/341
16/94 [0059] Deste modo o dispositivo de sincronização recebe o deslocamento mestre e, a partir dos selos de data e hora alvo e real, pode medir quanto daquele período de tempo de deslocamento mestre transcorreu; o mesmo então subtrai aquele período transcorrido a partir do deslocamento mestre para determinar a quantidade de tempo remanescente até a janela de disponibilidade.
[0060] A duração 134 da PSF 110x indica a quantidade mínima de tempo, durante a janela de disponibilidade, que a estação de sincronização que emitiu a PSF 110x estará escutando e disponível para comunicação. A duração também pode se aplicar aos dispositivos sincronizados; ou seja, pode ser requerido que um dispositivo que comparece à janela esteja disponível pelo menos por aquele período de tempo, medido a partir do começo da janela.
[0061] Em algumas modalidades da invenção, um dispositivo mestre pode estender automaticamente sua janela de disponibilidade (por exemplo, em incrementos correspondentes à duração 134 ou algum outro tempo de duração) desde que pelo menos uma estação esteja se comunicando com o mesmo. Deste modo, mesmo se múltiplas estações quiserem se comunicar com o dispositivo mestre, devido à janela ser estendida, as mesmas podem ser capazes de fazê-lo sem esperar por outra janela de disponibilidade.
[0062] De maneira similar, um dispositivo que comparece à janela de disponibilidade pode estender sua janela desde que pelo menos um de seus pares se engaje em comunicação. Portanto, um par que queira se comunicar com outro par pode simplesmente emitir um primeiro conjunto de pacotes, datagramas, mensagens ou outras unidades de comunicação para aquele outro par durante uma janela de disponibilidade. Ambos os pares então estenderão automaticamente suas janelas devido à comunicação ativa. Vantajosamente, isto permite comunicação par a par extensiva durante extensões da janela de disponibili
Petição 870190053750, de 12/06/2019, pág. 20/341
17/94 dade sem saturar ou monopolizar a largura de banda durante a janela de disponibilidade.
[0063] Uma duração máxima de uma presença da estação de sincronização durante uma janela de disponibilidade pode ser especificada na PSF 110x e/ou pode ser anunciada durante a janela de disponibilidade. Ilustrativamente, a estação de sincronização pode precisar deixar a janela a fim de emitir uma PSF em um canal diferente, para usar seu rádio para outra função de comunicação, ou por alguma outra razão. Como para dispositivos individuais, os mesmos podem deixar uma janela de disponibilidade depois da duração 134 se os mesmos não tiverem nada para comunicar e se nenhum outro dispositivo se comunica com o mesmo durante algum período de tempo dentro da janela.
[0064] Voltando para a FIG. 1, um valor de preferência (alternativamente denominado um valor de preferência mestre ou um valor de seleção) é um valor (por exemplo, um inteiro) usado para identificar a adequabilidade ou preferência de um dispositivo para ser uma estação mestre ou de sincronização. Um valor de preferência é calculado usando várias métricas, atributos ou características do dispositivo correspondente, e possivelmente características do ambiente de comunicação ou da hierarquia do dispositivo. Métricas ilustrativas para calcular um valor de preferência do dispositivo incluem recursos de energia disponíveis (por exemplo, força de bateria, conexão CA), carga do processador, força do sinal e assim por diante.
[0065] Como descrito na seção a seguir, os valores de preferência dos dispositivos sincronizados são comparados como parte de um processo de seleção para determinar quais dispositivos devem ser estações de sincronização. O processo pode ser executado em uma base regular, tal como durante ou depois de cada sequência de janelas de disponibilidade, em um cronograma fixo, etc.
Petição 870190053750, de 12/06/2019, pág. 21/341
18/94 [0066] Na PSF 110x, o valor de preferência de ramificação de sincronização 136 é o valor de preferência mestre da estação de ramificação de sincronização que difunde a PSF 110x, e indica a adequabilidade ou preferência da estação para ser uma estação de sincronização dentro de sua hierarquia default. Anunciando seu valor de preferência, todos os dispositivos no alcance daquela estação podem aplicar corretamente o processo de seleção e, por exemplo, determinar se os mesmos são mais adequados para ser uma estação de sincronização.
[0067] De maneira similar, o valor de preferência raiz de sincronização 140 é o valor de preferência mestre da estação raiz de sincronização para a hierarquia default na qual a PSF 110x foi difundida, e indica a adequabilidade ou preferência da estação para ser uma estação de sincronização. Como será visto abaixo, propagando o valor de preferência raiz de sincronização 140 por toda a hierarquia, um dispositivo na margem do ambiente de comunicação ou em uma área que sobrepõe múltiplas hierarquias separadas pode determinar à qual hierarquia se unir. Adicionalmente, todos os dispositivos na hierarquia sincronizada podem determinar se os mesmos são mais bem adequados para ser a estação raiz de sincronização.
[0068] As métricas de ramificação de sincronização 138 incluem várias métricas ou atributos da estação de sincronização que emitiu a PSF 110x, possivelmente incluindo as métricas usadas para calcular o valor de preferência de ramificação de sincronização 136. De maneira similar, as métricas de raiz de sincronização 142 incluem métricas ou atributos da estação raiz de sincronização da hierarquia default. Além dos dados identificados acima, as métricas 138 e/ou as métricas 142 podem incluir um nome e/ou endereço da estação (por exemplo, endereço MAC), nome ou endereço da estação raiz de sincronização da estação default, um selo de data e hora, seu nível ou estrato dentro da
Petição 870190053750, de 12/06/2019, pág. 22/341
19/94 hierarquia default (ou quantidade de saltos a partir da raiz), a periodicidade das PSFs da estação, um canal social usado pela estação, etc. [0069] Quando a PSF 110x é emitida pela estação raiz de sincronização de uma hierarquia default, os valores de preferência 136, 140 corresponderão e as métricas 138, 142 também corresponderão. Alternativamente, um dos campos de valor de preferência e um dos campos de métricas podem ser omitidos.
[0070] Adicionalmente, uma PSF emitida por uma estação de sincronização operando dentro de uma hierarquia de grupo pode conter elementos de informação adicionais para transportar valores de preferência e/ou métricas pertinentes àquele grupo. Em particular, e como discutido em uma seção a seguir, um processo de seleção mestre é executado separadamente para hierarquias default e de grupo, para selecionar ou identificar dispositivos para atuar como estações de sincronização para cada uma. O(s) valor(es) de preferência e/ou métrica(s) adicional(is) se relacionarão ao grupo da estação emissora.
[0071] Em algumas modalidades da invenção nas quais as métricas 138, 142 incluem dados usados para calcular os valores de preferência 136, 140, os valores de preferência podem ser omitidos de um quadro de sincronização periódico. Ao contrário, as métricas 138, 142 podem ser omitidas se os valores de preferência 136, 140 fornecerem todas as informações necessárias para os dispositivos que consomem PSF 110x (por exemplo, para propósitos de identificar ou selecionar estações de sincronização).
[0072] Identificador(es) de sincronização 150 inclui(em) identificadores designados para a hierarquia default e/ou de grupo da qual a estação que emitiu a PSF 110x participa. Como descrito previamente, um identificador default pode ser usado para identificar a hierarquia global que abrange todos os dispositivos pares em uma região. Um identificador de grupo pode identificar um grupo privado dos dispositi
Petição 870190053750, de 12/06/2019, pág. 23/341
20/94 vos. Outros identificadores de sincronização podem ser usados para outros propósitos.
[0073] Em algumas modalidades da invenção, o identificador default para todos os dispositivos dentro de uma hierarquia normalmente será 0, e somente um dispositivo mestre que queira manter alinhamento com um ponto de acesso ou outro dispositivo de infraestrutura usara um identificador default que tem um valor diferente de 0. Neste caso, o dispositivo mestre pode derivar seu identificador default a partir do BSSID (Identificador de Conjunto de Serviço Básico) do ponto de acesso usando um algoritmo predeterminado, por exemplo. Um dispositivo mestre nesta situação pode ser capaz de sincronizar somente com pares que também mantém alinhamento com o mesmo ponto de acesso.
[0074] Entretanto, um identificador de grupo pode ser determinado por uma estação raiz de sincronização de grupo, por outro grupo membro, de ou em alguma outra maneira, como descrito em uma seção a seguir. Um identificador de grupo de 0 pode ser usado por um dispositivo para indicar que o mesmo não é um membro de qualquer grupo. Deste modo, um dispositivo par disponível pode ter um par de identificadores default e de grupo de 0/0, que indica que ao mesmo tempo em que o mesmo está sincronizado com uma hierarquia default, o mesmo não participa de qualquer grupo. Um dispositivo par que está ativo dentro de um grupo privado pode normalmente ter um par de identificadores de 0/x, em que x é o número usado pelo grupo do dispositivo. Um grupo pode ter qualquer quantidade de membros.
[0075] Em algumas implementações, uma PSF pode incluir elementos de informação diferentes daqueles retratados na FIG. 1. Por exemplo, uma PSF pode identificar um algoritmo para selecionar estações de sincronização ou mestres, especificar restrições em estações de sincronização (por exemplo, quantas podem estar dentro do alcan
Petição 870190053750, de 12/06/2019, pág. 24/341
21/94 ce de cada outra), anunciar uma profundidade máxima para a hierarquia do dispositivo, fornecer uma notificação de que uma estação está deixando a rede, etc.
[0076] Também, quando uma estação de sincronização que é um membro de um grupo emite as PSFs, aqueles quadros podem incluir elementos de informação específicos ao grupo, adicionalmente a ou em vez de valores de preferência/métricas específicas de grupo mencionadas acima. Por exemplo, uma PSF emitida pela estação pode incluir um conjunto de elementos específico do grupo que inclui alguns ou todos de: o valor de preferência da estação, seu nível ou estrato no grupo (ou quantidade de saltos a partir da raiz do grupo), nome ou endereço da estação raiz de sincronização de grupo, identificador de grupo, e/ou quaisquer outros dados relacionados à hierarquia de grupo e/ou uma hierarquia default à qual a estação pertence.
[0077] Embora uma estação de sincronização possa ter um período determinado para a emissão de quadros de sincronização periódicos, aquele período é flexível e pode haver alta tolerância à variação. Uma dada PSF pode ser avançada ou atrasada no tempo devido a outras demandas no rádio da estação, devido à contenção no canal de comunicação ou por alguma outra razão. Em algumas implementações, as PSFs podem variar da ordem de +/- 20 milissegundos a cada 100 milissegundos.
[0078] Os quadros de sincronização periódicos podem ser transmitidos oportunamente, o que significa que se um rádio da estação de sincronização estiver sintonizado em um canal diferente na hora em que o mesmo originalmente emitiria uma PSF em um canal social, o mesmo pode em vez disso emitir a PSF em seu canal corrente. As difusões de PSF retornarão para seu cronograma normal em o(s) canal(is) social(is) quando possível.
[0079] Este tipo de situação, na qual uma PSF é enviada em um
Petição 870190053750, de 12/06/2019, pág. 25/341
22/94 canal não social para identificar uma janela de disponibilidade futura, pode ser muito útil para um grupo localizado dos dispositivos. Estes dispositivos provavelmente serão associados com a mesma rede de infraestrutura no mesmo (não social) canal. Transmitir uma PSF neste canal economiza nestes dispositivos o custo de um canal comutador (ou seja, para o canal social) e evita interferir com suas comunicações de infraestrutura.
[0080] No pior caso, um novo dispositivo sintonizado em um canal social normal da estação de sincronização pode perder uma quantidade limitada de PSFs se a estação de sincronização estiver ocupada em um canal diferente. Entretanto, a estação de sincronização pode ser sintonizada em uma frequência usada comumente (por exemplo, um canal de infraestrutura requerido para uma aplicação particular, como descrito acima), e pode, portanto chegar ao mesmo dispositivo em um momento diferente.
[0081] A FIG. 2 é um diagrama que demonstra uma sequência de janelas de disponibilidade identificadas em um quadro de sincronização periódico, de acordo com algumas modalidades da invenção. Todas as janelas de disponibilidade de estações de sincronização podem ser programadas para as mesmas horas, no mesmo ou diferentes canais, embora isto não seja requerido em todas as modalidades da invenção.
[0082] As janelas de disponibilidade 230 da FIG. 2 são numeradas e conduzidas como uma sequência que se repete. Em particular, o quadro de sincronização de pacote 210 compreende parâmetros de sincronização que revelam um cronograma de n janelas de disponibilidade, numeradas 230(0) até 230(n-1). Depois de uma iteração, os números de sequência de janela de disponibilidade se repetem (ou seja, a partir de 0 até n-1). Um quadro de sincronização periódico pode definir qualquer quantidade de janelas de disponibilidade.
Petição 870190053750, de 12/06/2019, pág. 26/341
23/94 [0083] Adicionalmente para identificar um cronograma para uma sequência de janelas de disponibilidade parcial ou completa, uma PSF pode identificar qual número de sequência de janela de disponibilidade é o próximo, com um elemento de informação tal como o elemento 212 da PSF 210. Um quadro de sincronização periódico também pode incluir outra informação, tal como a informação de sincronismo descrita acima para ajudar um dispositivo receptor a calcular corretamente o tempo remanescente até a próxima janela de disponibilidade.
[0084] Entre outras informações que podem ser incluídas em uma
PSF está o período da estação emissora para enviar quadros de sincronização periódicos, e o canal ou canais nos quais as PSFs serão difundidas. Isto permite que um dispositivo par determine a quantidade de tempo máxima que o mesmo tem que escutar em um canal social particular a fim de escutar uma PSF e aprender o cronograma da janela de disponibilidade.
[0085] Em vez de identificar janelas de disponibilidade discretas, em algumas implementações uma PSF pode reportar um período de disponibilidade de janela, e os dispositivos individuais podem calcular quando as janelas ocorrerão. Por exemplo, a PSF pode fornecer informação de sincronismo ou deslocamento para a próxima janela de disponibilidade, e reportar a emissão o período de PSF da estação de sincronização. Então os dispositivos que escutam a estação emissora de sincronização podem determinar a sequência de janelas de disponibilidade. A PSF também pode identificar o número de sequência da janela de disponibilidade corrente/próxima.
[0086] As janelas de disponibilidade programadas por uma estação de sincronização podem ou não ocorrer em um período regular, e podem ou não ser sincronizadas com as PSFs da estação. Em outras palavras, as janelas de disponibilidade não precisam ocorrer em deslocamentos idênticos a partir das PSFs. Uma duração de tempo ilus
Petição 870190053750, de 12/06/2019, pág. 27/341
24/94 trativa que uma sequência de janelas de disponibilidade completa ocupa pode ser da ordem de cinco segundos, embora uma implementação específica de uma modalidade da invenção possa empregar uma duração menor ou maior.
[0087] Em algumas modalidades da invenção, há menos tolerância com respeito a um período de janela de disponibilidade do que existe com respeito a um período de quadro de sincronização periódico, talvez da ordem de +/- 100 microssegundos por segundo (comparado a +/- 200 milissegundos por segundo para as PSFs). Enquanto que as PSFs são muito curtas (por exemplo, menores do que 1 milissegundo), mas emitidas frequentemente, as janelas de disponibilidade são relativamente longas (por exemplo, mais longas do que 50 milissegundos) e conduzidas não frequentemente (por exemplo, aproximadamente uma por segundo). As PSFs podem ser programadas oportunamente devido a sua duração pequena, mas as janelas de disponibilidade são configuradas para descoberta e comunicação do dispositivo, e, portanto geralmente não podem ser programadas oportunamente.
[0088] Embora não frequentes, as janelas de disponibilidade podem monopolizar uma interface de rádio por um período de tempo significativo; devido a isto, a aderência a um cronograma estrito é vantajosa, especialmente se outras tecnologias de rádio estiverem presentes (por exemplo, Bluetooth). Também, outros (sincronizados) dispositivos são dependentes do cronograma anunciado de janelas para descoberta e/ou para comunicação, o que deixa menos espaço para variação.
[0089] Portanto, em algumas modalidades da invenção, um período de transmissão de PSF terá uma tolerância relativamente alta à variação, enquanto um período de janela de disponibilidade tem uma tolerância relativamente baixa à variação. Uma vantagem desta estra
Petição 870190053750, de 12/06/2019, pág. 28/341
25/94 tégia é que a mesma tem tolerância à contenção de Wi-Fi que ocorre em cada transmissão de quadro de sincronização periódico. A transmissão de PSF é possível somente quando o canal social selecionado não estiver em uso, e a contenção para o canal ou o rádio pode ou não atrasar a emissão da PSF. Portanto, o agendamento rigoroso de todas as transmissões de PSF deve ser difícil de obter.
[0090] Quando um dispositivo par sincroniza pela primeira vez com um mestre e começa a comparecer a janelas de disponibilidade, na primeira janela (e/ou a primeira janela em que todos os dispositivos são solicitados a comparecer) o mesmo pode emitir uma mensagem identificando a si próprio, identificando seu valor de preferência, fornecendo suas métricas de seleção, anunciando seus serviços, etc. Quaisquer dispositivos que queiram se comunicar com o mesmo então podem fazer contato.
[0091] As n janelas de disponibilidade anunciadas através da PSF
210 na FIG. 2 são conduzidas em dois canais diferentes 220x, 220y (ou seja, canal X e canal Y, respectivamente), os quais usualmente são canais não sociais, mas podem ser. As janelas de disponibilidade programadas por uma estação de sincronização podem ocorrer alternativamente no mesmo canal ou podem ser distribuídas entre mais do que dois canais.
[0092] Embora as janelas de disponibilidade sejam fornecidas como um mecanismo primário para dispositivos pares para descobrir uns aos outros e serviços que são oferecidos, um dispositivo (incluindo uma estação de sincronização) podem pular uma ou mais janelas em uma sequência. Por exemplo, se um dispositivo par necessita usar seu rádio para algum outro propósito durante uma janela de disponibilidade, o mesmo pode não comparecer àquela janela absolutamente, pode chegar atrasado ou pode sair cedo. O dispositivo pode ou não avisar uma estação de sincronização ou outros dispositivos de sua auPetição 870190053750, de 12/06/2019, pág. 29/341
26/94 sência (por exemplo, através de uma mensagem multidifusão).
[0093] Em algumas modalidades da invenção, um dispositivo pode determinar um “modo de presença” para si próprio, e anunciar este valor para sua estação de sincronização e/ou outros pares, para indicar quão frequentemente o mesmo sintonizará ou comparecerá às janelas de disponibilidade anunciadas. Em algumas implementações, um modo de presença (ou PM) é um valor inteiro tal como 1, 2, 4, etc. O recíproco do PM do dispositivo é uma fração que indica a quantas janelas de disponibilidade em uma sequência o mesmo comparecerá. Por exemplo, se um PM do dispositivo = 1, o dispositivo comparecerá a todas as janelas de disponibilidade; se seu PM = 2, o dispositivo comparecerá a cada janela que tem um número de sequência que for um múltiplo de 2 (ou seja, ½ das janelas); se PM = 4, o mesmo comparecerá a cada janela cujo número de sequência for um múltiplo de 4 (ou seja, ¼ das janelas).
[0094] Maiores valores de modo de presença permitem que um dispositivo pule mais janelas e desligue seu rádio, deste modo economizando energia. Em última análise, um modo de presença igual à quantidade de janelas de disponibilidade em uma sequência (ou seja, n na FIG. 2) significa que um dispositivo comparecerá somente a uma janela de disponibilidade por sequência. Um valor de PM zero pode indicar que um dispositivo está sempre disponível (ou seja, não apenas durante as janelas de disponibilidade).
[0095] Em algumas modalidades da invenção, cada dispositivo sincronizado tem que comparecer pelo menos a uma janela de disponibilidade na sequência anunciada por seu mestre. Por exemplo, os dispositivos podem ser solicitados a sincronizar durante a janela de disponibilidade 0 de cada sequência. Deste modo, neste caso, um valor de PM igual ao comprimento da sequência de janelas de disponibilidade indica que o dispositivo estará presentes somente durante as
Petição 870190053750, de 12/06/2019, pág. 30/341
27/94 janelas de disponibilidade que têm o número de sequência 0.
[0096] O comprimento de uma sequência de janelas de disponibilidade é geralmente uma potência de 2 (por exemplo, 8, 32, 256). Como mostrado na FIG. 2, os números de sequência de janelas de disponibilidade emitidos por um mestre começam em zero, e aumentam um de cada vez até alcançar o valor comprimento-1 (por exemplo, 7, 31, 255), depois do qual os mesmos se repetem. É requerido que uma estação de ramificação de sincronização adote e repita (em seus quadros de sincronização) o número de sequência corrente de seu mestre (ou seja, a estação raiz de sincronização ou outra estação de ramificação de sincronização). Portanto, todos os dispositivos sincronizados sob uma estação raiz de sincronização coincidirão na janela de disponibilidade que tem o número de sequência 0.
[0097] Em algumas modalidades da invenção, as sequências de janelas de disponibilidade anunciadas por estações de sincronização diferentes podem ser de comprimentos diferentes. Entretanto, todas as sequências serão alinhadas para que todos os dispositivos que tenham um valor de modo de presença particular compareçam às mesmas janelas. Em outras palavras, todos os dispositivos coincidirão nas janelas particulares que são múltiplos de um dado número.
[0098] Por exemplo, considerando uma hierarquia na qual a sequência de janelas de disponibilidades de comprimentos 8, 16 e 64 estão em uso entre diferentes conjuntos dos dispositivos (por exemplo, dispositivos sincronizados com estações de sincronização diferentes). Entre os dispositivos que implementam a sequência de oito janelas, cada oitava janela será conhecida como número de sequência de janela de disponibilidade 0. E, cada janela de disponibilidade que tem número de sequência 0 para aqueles dispositivos será conhecida como uma janela de disponibilidade que tem número de sequência 0 ou 8 para aqueles dispositivos que tem uma sequência que é de 16 jane
Petição 870190053750, de 12/06/2019, pág. 31/341
28/94 las de comprimento, e como uma janela de disponibilidade que tem número de sequência 0, 8, 16, 24, 32, 40, 48 ou 56 para aqueles dispositivos com 64 janelas de disponibilidade em sua sequência.
[0099] Um dispositivo pode comparecer a mais janelas de disponibilidade do que seu PM indica, mas anunciando seu valor de modo de presença (por exemplo, através de uma mensagem de multidifusão no número de sequência de janela de disponibilidade 0), outros dispositivos saberão quando podem interagir com o mesmo. E, como descrito previamente, desde que outro dispositivo envie uma comunicação para um dispositivo que tem o valor máxima de PM (igual ao comprimento da sequência de janelas de disponibilidade), durante uma janela comparecida pelo dispositivo receptor, que aquele dispositivo estenderá sua presença naquele canal a fim de conduzir a comunicação.
[00100] Adicionalmente, em algumas modalidades, sempre que um dispositivo par que tem um modo de presença maior do que um (ou algum outro limite) recebe uma comunicação, o mesmo pode automaticamente configurar seu modo de presença para um (ou algum outro valor mais baixo) a fim de facilitar a comunicação desejada. Ainda adicionalmente, um dispositivo com um modo de presença baixo (por exemplo, zero ou um), depois de receber um quadro de multidifusão em uma janela de disponibilidade, pode repetir o mesmo em uma ou mais janelas subsequentes para ajudar a levar o mesmo a seus pares. [00101] Uma estação de sincronização pode ter qualquer valor de PM; embora o mesmo envie quadros de sincronização em intervalos periódicos (possivelmente mesmo durante uma janela de disponibilidade), o mesmo pode desligar seu rádio ou usar seu rádio ou antena para outras exigências de comunicações durante uma janela de disponibilidade quando o mesmo não for enviar um quadro de sincronização.
[00102] O formato da PSF 210 da FIG. 2 é meramente ilustrativo;
Petição 870190053750, de 12/06/2019, pág. 32/341
29/94 em outras implementações a informação necessária (por exemplo, parâmetros de sincronização) pode ser transportada de formas diferentes. Por exemplo, um cronograma de janelas de disponibilidade pode ser disseminado como uma combinação de canal, hora, duração e período. Neste formato, o elemento de canal identifica um canal de comunicação, o elemento de hora identifica uma hora de início de uma janela de disponibilidade, o elemento de duração indica uma duração normal de uma janela de disponibilidade, e o elemento de período reporta o período com o qual as janelas de disponibilidade serão conduzidas.
[00103] Em algumas modalidades da invenção, dois ou mais dispositivos pares que querem conduzir um período de comunicação relativamente estendido (por exemplo, para transferência de arquivo, participar de um jogo ou outra aplicação) podem estabelecer sua própria sincronização para o propósito de trocar dados, paralelo à sincronização global, mas fora de ou adicionalmente a janelas de disponibilidade programadas. Nestas modalidades, um dos dois ou mais dispositivos pode assumir o papel de um mestre não de seleção, o que significa que o mesmo não participa de um processo de seleção de mestre como descrito em uma seção a seguir, mas fica disponível para outros dispositivos para sincronizar a ou com (por exemplo, para conduzir uma transferência de arquivo, para jogar um jogo). Os dispositivos sincronizados com um mestre não de seleção podem formar um conjunto de serviço básico (BSS).
[00104] Um mestre não de seleção pode emitir quadros de sincronização que os outros dispositivos pares com os quais o mesmo se comunicará usarão para sincronizar com o mestre não de seleção, mas o qual outros dispositivos na comunidade ignorarão. Ilustrativamente, estes quadros de sincronização podem ser transmitidos durante uma janela de disponibilidade ou em um canal acordado. Os quadros de
Petição 870190053750, de 12/06/2019, pág. 33/341
30/94 sincronização de mestre não de seleção podem especificar que o dispositivo é um mestre não de seleção, para que os dispositivos que não precisem se comunicar diretamente com o mesmo saibam que não devem sincronizar com o mesmo.
[00105] Um dispositivo que queira sincronizar ou manter sincronização com uma comunidade de pares pode ser incapaz de fazê-lo, talvez devido ao mesmo não poder monitorar o(s) canal(is) social(is) da comunidade, tem outros compromissos durante as janelas de disponibilidade programadas, ou por alguma outra razão. Nesta situação, o dispositivo pode se tornar um mestre não de seleção (e identificar quando o mesmo está disponível) para ajudar outros dispositivos a descobri-lo. Alternativamente, o mesmo pode solicitar para que uma estação de sincronização altere seu cronograma de sincronização para acomodar o dispositivo (por exemplo, mudar o(s) canal(is) e/ou tempos das janelas de disponibilidade da estação de sincronização), ou pode se tornar uma estação de sincronização se seu valor de preferência de seleção indica que o mesmo deve. Como uma estação de sincronização, especialmente como a estação raiz de sincronização, o mesmo pode mudar o cronograma de janela de disponibilidade.
[00106] Em algumas modalidades da invenção, durante uma janela de disponibilidade em um canal de encontro uma estação de sincronização ou outro dispositivo (por exemplo, um mestre não de seleção) pode difundir um tipo de quadro de sincronização diferente chamado um quadro de indicação de mestre (MIF). Nestas modalidades, os quadros de indicação de mestre fornecem informação que ajuda dispositivos pares a obter ou manter sincronização - ou com uma estação de sincronização que emite PSFs regulares ou com um mestre não de seleção com o qual os dispositivos podem sincronizar para trocar dados diretamente. Um quadro de indicação de mestre pode ser enviado durante uma janela de disponibilidade, mas geralmente não
Petição 870190053750, de 12/06/2019, pág. 34/341
31/94 será enviado em um canal social a menos que, por exemplo, um seja enviado durante uma janela de disponibilidade que esteja ocorrendo em um canal social.
[00107] Um quadro de indicação de mestre pode incluir quaisquer dados que um quadro de sincronização periódico pode incluir, e/ou outra informação. Por exemplo, um MIF pode ser enviado por uma estação de sincronização para reportar que a mesma começará a usar um canal social diferente para enviar PSFs, pode ser enviado por um mestre não de seleção para reportar que a mesma terá uma janela de disponibilidade em um canal particular em uma hora particular, pode ser enviado por outro dispositivo para reportar dados de sincronização que o mesmo ouviu a partir de alguma outra estação de sincronização ou para anunciar sua disponibilidade, etc.
[00108] Quando uma janela de disponibilidade sobrepõe o tempo de uma PSF normalmente deve ser enviado (ou seja, de acordo com o período de PSF da estação de sincronização emissora), a PSF regular pode ser enviada no canal no qual a janela de disponibilidade é conduzida (e não no canal social). Durante as janelas de disponibilidade que do não sobrepõem com a expiração de um período de PSF de mestre, o mestre pode não obstante enviar um MIF para garantir que aqueles dispositivos sincronizados com o mesmo tenham os dados de sincronização necessários sem ter que sintonizar em um canal social para uma PSF regular. Entretanto, um dispositivo ainda pode escutar periodicamente em um ou mais canais sociais para aprender de outros mestres.
[00109] Devido aos dispositivos pares que tem valores de modo de presença diferentes de um não poderem comparecer a cada janela de disponibilidade, mas poderem ser requeridos a estar presentes durante as janelas de disponibilidade que tem número de sequência 0, uma estação de sincronização pode por default sempre difundir uma PSF
Petição 870190053750, de 12/06/2019, pág. 35/341
32/94 ou MIF durante aquelas janelas. Enquanto que as PSFs são curtas, mas frequentes, os MIFs são mais longos e menos frequentes, e podem empacotar cargas úteis de serviço estendido e capacidade do dispositivo.
[00110] Pode ser observado que os quadros de sincronização periódicos são enviados frequentemente, usualmente fora de janelas de disponibilidade, a fim de ajudar dispositivos não sincronizados a sincronizar com seus pares. Depois de uma coleção dos dispositivos ser sincronizada, aqueles dispositivos podem somente (ou primariamente) encontrar durante janelas de disponibilidade relativamente esparsas, especialmente aqueles dispositivos que tiverem ajustado seus modos de presença para usar menos os seus rádios e deste modo economizar energia. Para permanecer sincronizados, estes dispositivos podem depender de quadros de indicação de mestre enviados durante as janelas de disponibilidade.
[00111] Em algumas modalidades da invenção, os dispositivos são solicitados a implementar períodos de guarda no começo de algumas (ou todas) janelas de disponibilidade, durante o qual os mesmos escutam e podem receber comunicações, mas não transmitem. Em modalidades diferentes da invenção, esta restrição pode ou não se aplicar sempre às estações de sincronização que emitem PSFs regulares, mas geralmente sempre se aplicarão a mestres não de seleção.
[00112] A FIG. 3 é um fluxograma que demonstra a sincronização de um dispositivo com uma comunidade de pares em um ambiente de comunicação sem fio, de acordo com algumas modalidades da invenção.
[00113] Na operação 302, o dispositivo liga ou entra no ambiente e começa a escutar em um ou mais canais sociais predeterminados por um quadro de sincronização periódico (PSF). O mesmo pode ser programado com informação com respeito ao default ou possível periodi
Petição 870190053750, de 12/06/2019, pág. 36/341
33/94 cidade de PSFs, e, portanto pode somente precisar escutar em um dado canal social por uma quantidade limitada daqueles períodos (por exemplo, um, dois) a fim de interceptar uma difusão de PSF por uma estação de sincronização naquele canal.
[00114] Na operação 304, o dispositivo escuta uma ou mais PSFs e extrai seus dados de sincronização. Na modalidade ilustrada da invenção, todas as PSFs emitidas por estações de sincronização dentro da mesma hierarquia dos dispositivos anunciarão a mesma sequência ou cronograma de janelas de disponibilidade. As estações de sincronização podem transmitir suas PSFs no mesmo ou diferentes canais sociais, e podem conduzir as janelas de disponibilidade nos mesmos canais não sociais.
[00115] Se o dispositivo não escutou qualquer quadro de sincronização periódico, o mesmo pode assumir que não existe nenhuma estação de sincronização dentro do alcance. Portanto, o mesmo pode assumir o papel de estação raiz de sincronização e começar a emitir suas próprias PSFs a fim de sincronizar outros dispositivos no alcance. Como descrito em uma seção a seguir, um processo para selecionar estações de sincronização pode ser aplicado regularmente ou mesmo continuamente para identificar os dispositivos que devem ser mestres.
[00116] Na operação 306, o dispositivo sintoniza seu rádio para o canal especificado e comparece à próxima janela de disponibilidade, assumindo que seu rádio não é antecipado por outra aplicação ou serviço. Se o mesmo não puder comparecer, o dispositivo comparecerá à próxima janela de disponibilidade que possa, embora o mesmo possa precisar escutar em um canal social novamente para receber o próximo conjunto de dados de sincronização e aprender seu canal e hora de início. O dispositivo pode postergar o comparecimento a uma janela de disponibilidade até o início da próxima sequência de janelas, e, portanto sintonizar na próxima janela requerida (usualmente uma janela
Petição 870190053750, de 12/06/2019, pág. 37/341
34/94 que tem número de sequência 0).
[00117] Na operação 308, durante uma janela de disponibilidade, um quadro de sincronização é difundido pela estação de sincronização com a qual o dispositivo agora está sincronizado (por exemplo, uma PSF ou um MIF). Este pode liberar o dispositivo de precisar varrer um ou mais canais sociais. O quadro de sincronização ilustrativamente pode ser transmitido durante um período inicial de guarda ou período de silêncio no começo da janela de disponibilidade, durante o qual os dispositivos que não são estações de sincronização (por exemplo, os dispositivos folha) não podem transmitir.
[00118] Na operação 310, o dispositivo determina seu modo de presença se necessário ou desejado (por exemplo, se o dispositivo não puder comparecer à sequência de janelas de disponibilidade completa). Durante pelo menos a primeira janela de disponibilidade que o mesmo comparece, e/ou a primeira janela de disponibilidade que tem número de sequência 0, o dispositivo identifica a si próprio (por exemplo, endereço, nome, informação de serviço) em uma mensagem difundida para todos os dispositivos sincronizados. O mesmo pode anunciar seu modo de presença ao mesmo tempo.
[00119] Na operação opcional 312, o dispositivo pode se comunicar diretamente com um ou mais de seus pares sincronizados durante a janela de disponibilidade e/ou fora da banda, ou os mesmos podem se comunicar com o dispositivo. Como discutido acima, o dispositivo pode estender sua presença na janela um ou mais tempos a fim de facilitar as comunicações, anunciar para seus pares ativos se e quando deve deixar a janela (por exemplo, para usar seu rádio para algum outro propósito), e pode arranjar um encontro separado fora do canal com outro par.
[00120] Em algumas modalidades da invenção, podem ser implementadas medidas de redução ou limitação tráfego durante algumas
Petição 870190053750, de 12/06/2019, pág. 38/341
35/94 ou todas as janelas de disponibilidade a fim de reduzir congestionamento e colisões de comunicação. Ilustrativamente, a estação de sincronização que controla a sequência de janelas de disponibilidade pode especificar quando uma medida está em vigor. Em algumas implementações, medidas tráfego redução são aplicados somente durante as janelas de disponibilidade, e não durante extensões de janela de disponibilidade. Em janelas de disponibilidade mandatórias (ou seja, janelas de disponibilidade que tem número de sequência 0), as medidas de redução de tráfego podem ser mandatórias.
[00121] A título de exemplo, uma medida de tráfego redução de tráfego pode servir para limitar um dispositivo com respeito à quantidade de quadros de multidifusão que o mesmo pode transmitir durante uma janela de disponibilidade (por exemplo, aproximadamente três). A transmissão de quadros de difusão par a par também pode ser limitada.
[00122] Por exemplo, as transmissões de difusão par a par podem ser permitidas somente para (e/ou a partir dos) dispositivos que tem valores de modo de presença desconhecidos ou valores maiores do que um (ou algum outro limite). As limitações em transmissão de quadro de difusão par a par ou de multidifusão podem não se aplicar a sincronização dos dispositivos entre eles próprios (por exemplo, com um mestre não de seleção) para um propósito limitado, tal como transferência de arquivo.
[00123] Na operação 314, o dispositivo pode desligar seu rádio quando não precisar escutar por PSFs em um canal social ou comparecer a uma janela de disponibilidade.
[00124] O método da invenção retratado na FIG. 3 é meramente ilustrativo, e não limita os métodos de acordo com outras modalidades da invenção.
[00125] Como descrito acima, dois ou mais pares podem se engajar
Petição 870190053750, de 12/06/2019, pág. 39/341
36/94 em sua própria sincronização, fora de ou adicionalmente a qualquer janela de disponibilidade. Por exemplo, um dos mesmos pode assumir o papel de um mestre não de seleção e emitir os quadros de indicação de mestre ou outros quadros de sincronização durante uma janela de disponibilidade, para avisar seus pares de quando e onde (ou seja, hora e canal) os mesmos podem sincronizar com o mesmo.
[00126] Entretanto, um par pode desejar uma troca de comunicação curta com outro par sem sincronizar. Por exemplo, um dispositivo sincronizado com uma hierarquia pode querer descobrir serviços oferecidos por um par (ou pares) sincronizados dentro de uma hierarquia diferente (por exemplo, vizinha), pode querer consultar um par vizinho, etc. Pelo menos inicialmente, os mesmos não pretendem participar de uma troca de dados significativa (por exemplo, como com uma transferência de arquivo). Algumas modalidades da invenção fornecem esta capacidade na forma de consultas e respostas fora da banda.
[00127] Mais especificamente, um primeiro par pode escutar um quadro de sincronização de uma hierarquia vizinha e deste modo aprender seu cronograma de janelas de disponibilidade. Se capaz, o mesmo pode comparecer a uma ou mais das janelas de disponibilidade da hierarquia vizinha e deste modo descobrir outros dispositivos, e o mesmo pode enviar quadros fora da banda para um ou mais dos dispositivos vizinhos.
[00128] A FIG. 4 é um diagrama que demonstra uma troca fora de banda de acordo com algumas modalidades da invenção. Como com o sincronismo de quadros de sincronização periódicos descrito acima, o dispositivo de transmissão tem que considerar atraso que ocorrerá dentro de si próprio, entre a hora em que o mesmo libera ou prepara a consulta para transmissão e a hora em que a mesma é realmente transmitida.
[00129] A linha de tempo da consulta 410 reflete atividade no dis
Petição 870190053750, de 12/06/2019, pág. 40/341
37/94 positivo que consulta, enquanto a linha de tempo da resposta 430 reflete atividade no dispositivo que responde. Quando emitindo a consulta, o dispositivo que consulta tem que escolher um tempo de vida de consulta adequado 450, de modo que o dispositivo que responde tenha tempo para receber, processar e reagir à consulta.
[00130] Na consulta e resposta ilustrativas, a consulta é enfileirada para transmissão a partir do dispositivo na hora alvo de transmissão412. Devido à contenção para a antena ou o meio, e/ou outro atraso (coletivamente representado como contenção 414 na FIG. 4), a consulta não é transmitida fisicamente até a hora de transmissão real 416.
[00131] O tempo de residência 418 é o restante do tempo de vida de consulta, durante o qual o dispositivo que responde tem que receber a consulta e gerar e transmitir sua resposta. A duração do tempo de residência 418 depende do tempo de vida de consulta determinado pelo dispositivo que consulta e da duração de contenção 414. O dispositivo que responde também pode experimentar atraso entre sua hora alvo de transmissão 432 e a hora de transmissão real 436 da resposta; este atraso é reapresentado como a contenção 434.
[00132] A consulta pode identificar (na consulta fora da banda) qualquer ou todos os parâmetros de tempo relevantes (por exemplo, tempo de vida de consulta, hora alvo de transmissão, hora de transmissão real, contenção), para que o dispositivo que responde possa determinar se será capaz de responder antes da consulta expirar. Em caso negativo, o mesmo pode descartar a consulta ou abortar sua resposta. Se o dispositivo que consulta não receber uma resposta durante o tempo de vida de consulta, o mesmo pode tentar novamente (por exemplo, com um tempo de vida mais longo), abandonar a consulta ou tomar outra ação.
[00133] Em algumas modalidades da invenção, um dispositivo par
Petição 870190053750, de 12/06/2019, pág. 41/341
38/94 pode emitir consultas fora da banda para uma estação de sincronização que o mesmo possa escutar, mas à qual o mesmo não está sincronizado, a fim de identificar serviços oferecidos por aquela estação de sincronização e dispositivos sincronizado àquela estação. Em algumas implementações, o mesmo pode retransmitir informação com respeito a outras estações de sincronização para seus pares sincronizados, tal como durante uma ou mais de suas janelas de disponibilidade. Informação sobre outra estação de sincronização (ou outro dispositivo par) que pode ser revelada pode incluir coisas tais como um canal social que o mesmo monitora, suas janelas de disponibilidade (por exemplo, hora, canal, período), deslocamento mestre, serviços que o mesmo oferece, endereço, etc. Uma consulta fora da banda deste modo pode funcionar como uma quase PSF ou quase MIF, em que a mesma pode permitir que um dispositivo sincronize à hierarquia do expedidor da consulta.
[00134] Alguns mestres não sincronizados (por exemplo, estações de sincronização às quais nenhum dispositivo folha ou mestres subordinados tenham sincronizado) pode adotar um modo de operação de baixo consumo de energia. Este modo de operação de baixo consumo de energia pode ser indicado nos quadros de sincronização da estação, ou pode ser inferido pela sequência ou cronograma de janelas de disponibilidade e/ou o modo de presença anunciado nos quadros de sincronização.
[00135] Em um modo de operação como esta, um mestre não sincronizado ainda pode enviar quadros de sincronização periódicos, mas fornece janelas de disponibilidade curtas que tem períodos longos (por exemplo, múltiplos segundos). Devido à natureza curta e esparsa da janela de disponibilidade, pode demorar algum tempo para um par descobrir os serviços oferecidos pelo mestre não sincronizado.
[00136] Durante a sincronização de pares dentro de um ambiente
Petição 870190053750, de 12/06/2019, pág. 42/341
39/94 de comunicação de acordo com algumas modalidades da invenção, quando os dispositivos pares são organizados em uma hierarquia, dispositivos folha (ou escravos) sincronizam com estações de ramificação de sincronização dentro do alcance; aquelas estações (e possivelmente outros dispositivos folha) sincronizam com estações de ramificação de sincronização mais altas, e assim por diante, com uma estação raiz de sincronização que fornece informação de sincronização para o ambiente inteiro. Um dispositivo folha pode sincronizar diretamente com a estação raiz de sincronização se a mesma estiver no alcance.
[00137] Um parâmetro operacional dos dispositivos dentro de um ambiente pode especificar a profundidade máxima da hierarquia dos dispositivos, a qual pode ser definida como a quantidade de níveis ou camadas de estações de sincronização. A posição da estação raiz de sincronização é definida como estrato zero, e estações de ramificação de sincronização residirão em camadas numeradas de 1 até D, em que D é o estrato máximo no qual uma estação de sincronização pode residir.
[00138] Por default, enquanto a hierarquia está sendo organizada, um dispositivo par pode emitir quadros de sincronização periódicos até o mesmo ficar em posição como uma folha, momento em que o mesmo para de transmitir PSFs. Um dispositivo pode escolher ser uma folha, mesmo se o algoritmo de seleção aplicável pudesse de outra forma torná-lo uma estação de sincronização, a menos que não exista nenhuma estação de sincronização no alcance do dispositivo. Se não houver nenhuma estação de sincronização no alcance, o dispositivo tem que assumir aquele papel.
[00139] Todos os mestres continuam a emitir PSFs para manter a sincronização dentro de suas áreas, e pode fazê-lo com uma periodicidade que é uma função de seu nível, ou estrato, dentro da hierarquia. Por exemplo, a estação raiz de sincronização no estrato 0 pode
Petição 870190053750, de 12/06/2019, pág. 43/341
40/94 emitir PSFs da ordem de cada 100 milissegundos (ms), uma estação de ramificação de sincronização no estrato 1 pode emitir PSFs da ordem de cada 150 ms, uma estação de ramificação de sincronização no estrato 2 pode emitir PSFs a cada 500 ms, e assim por diante. Estes valores são meramente exemplificativos e de nenhuma forma limitam ou restringem duração de períodos de PSF; estações de sincronização dentro de camadas diferentes podem empregar o mesmo período, e estações de sincronização no mesmo estrato podem empregar períodos diferentes.
[00140] Um estrato de mestre usualmente será reportado dentro de suas PSFs. Esta informação permite que um dispositivo que escuta determine quão profunda é a hierarquia dentro de sua área do ambiente. Dependendo de qual profundidade e/ou outra informação (por exemplo, quantas estações de sincronização o mesmo pode escutar emitem PSFs, profundidade máxima da hierarquia), o dispositivo pode ser capaz de determinar que deve ser uma folha ou que deve continuar a emitir PSFs e permanecer como uma estação de sincronização. [00141] Um parâmetro de profundidade máxima da hierarquia pode ser programado nos dispositivos e/ou anunciado dentro de quadros de sincronização periódicos. Outras restrições também podem ser impostas, tais como uma quantidade máxima de estações de sincronização, uma exigência de que uma estação de sincronização somente continue em seu papel desde que a mesma possa escutar não mais do que uma quantidade limite de outros mestres (por exemplo, dentro de um alcance particular, em um estrato particular, global), etc.
[00142] Por exemplo, onde a profundidade máxima da hierarquia é D, uma estação de sincronização situada no estrato S > 1 (ou seja, todas as camadas, exceto a raiz) pode ser autorizada somente a escutar D - S outras estações de sincronização que operam no estrato S e ainda continuar a servir como uma estação de sincronização (assu
Petição 870190053750, de 12/06/2019, pág. 44/341
41/94 mindo que aqueles outros mestres têm valores de preferência de seleção maiores ou melhores). Esta provisão pode permitir a concentração de estações de ramificação de sincronização de maior nível próximas à estação raiz de sincronização, e dispersão de estações de ramificação de sincronização adicionalmente distantes.
[00143] Em algumas modalidades da invenção, um algoritmo de seleção ou processo pode preferir reter uma estação de sincronização titular sobre outro dispositivo ao qual de outra forma poderia ser dada preferência, a menos que o outro valor de preferência de seleção do dispositivo exceda o do titular por um limite. Isto pode ajudar a evitar impacto ou comutação excessiva de estações de sincronização. Entretanto, devido a uma tarefa principal da estação de sincronização ser simplesmente difundir dados de sincronização, comutar estações de sincronização não impõe um alto custo de transação à hierarquia ou a um dispositivo individual.
[00144] Em algumas modalidades da invenção, um dispositivo sincronizará com a melhor estação de sincronização que o mesmo possa escutar (ou seja, a estação de sincronização que tiver o valor de preferência mais alto), ou a melhor estação de sincronização que o mesmo possa escutar dentro de um dado alcance (por exemplo, com uma força de sinal acima de um limite particular).
[00145] Quando um dispositivo fica em linha em um ambiente e escuta PSFs, se o mesmo escuta somente a partir de uma estação de ramificação de sincronização no estrato mais profundo ou máximo da hierarquia, o mesmo pode sincronizar àquela estação como uma folha. Se, entretanto, o dispositivo também puder escutar outra estação de sincronização em uma hierarquia diferente (por exemplo, como determinado pelos atributos da estação raiz de sincronização anunciados em um quadro de sincronização periódico), o mesmo pode favorecer se unir àquela hierarquia se aquela outra estação de sincronização
Petição 870190053750, de 12/06/2019, pág. 45/341
42/94 não estiver na profundidade ou estrato máximo ou se aquela outra estação de sincronização tiver um valor de preferência de seleção melhor.
[00146] Um dispositivo que pode escutar somente outros dispositivos relativamente profundos na hierarquia (por exemplo, camadas de valores altos), pode ser capaz de determinar que o mesmo está na margem do ambiente. Se a maior parte ou todos os outros dispositivos já estiverem na profundidade máxima, uma nova hierarquia pode surgir, especialmente se aparecer um dispositivo com um alto valor de preferência.
[00147] Um novo ambiente/hierarquia também pode surgir quando uma existente abrange uma área espacial muito grande. Por exemplo, uma combinação da profundidade da hierarquia, uma medida de quão próximos os dispositivos pares estão e/ou outro fatores, podem fazer com que surja uma nova hierarquia. Como discutido na seção a seguir, as forças de sinal detectadas entre pares podem ser uma forma de determinar quão próximos estão os pares.
[00148] Requerer que pares sincronizem somente com mestres relativamente próximos aos mesmos pode fazer com que a hierarquia seja relativamente compacta. Ao contrário, um limite alto na profundidade máxima da árvore pode permitir que a hierarquia cubra mais área. Ajustando estes (e/ou outros parâmetros), pode ser formada uma hierarquia adequada.
[00149] Parâmetros diferentes para configurar uma hierarquia serão adequados a ambientes diferentes, dependendo da densidade dos dispositivos, da carga de comunicação e/ou outros fatores. Por exemplo, se a carga é relativamente leve (por exemplo, os dispositivos são sensores de baixo consumo de energia), os inconvenientes associados a um problema de nó oculto devem ser limitados e uma hierarquia relativamente profunda pode ser implementada (por exemplo, da or
Petição 870190053750, de 12/06/2019, pág. 46/341
43/94 dem de dez a quinze níveis). Também, em ambientes mais dispersos, um processo para selecionar estações de sincronização descrito abaixo resolverá mais rapidamente.
[00150] O problema de nó oculto se refere a um cenário no qual múltiplos dispositivos que não estão no alcance uns dos outros tentam se comunicar com um par comum. Devido aos mesmos não poderem escutar as transmissões um do outro os mesmos não podem evitá-las, e suas comunicações para o par comum podem colidir. Embora isto possa ser exacerbado pela necessidade de se comunicarem durante um período de tempo relativamente curto (ou seja, dentro de uma janela de disponibilidade), a carga leve pode ajudar a mitigar o problema e permitir uma hierarquia mais profunda do que seria possível em um ambiente denso com uma carga mais pesada.
[00151] Sem um método para sincronização descrito neste documento, a quantidade total de quadros de descoberta necessários para descobrir todos os dispositivos em um ambiente poderia se aproximar do quadrado da quantidade dos dispositivos (ou seja, cada dispositivo poderia precisar enviar pelo menos um quadro para cada um dos outros dispositivos). Estes quadros seriam enviados em tempos randômicos e em quaisquer canais.
[00152] Ao contrário, a sincronização coletiva realizada por modalidades da presente invenção permite a sincronização baseada em transmissões regulares a partir de um conjunto seleto dos dispositivos (ou seja, estações de sincronização), e cresce bem. Em um ambiente sincronizado perfeitamente, a quantidade de quadros necessária para todos os dispositivos descobrirem uns aos outros é proporcional à quantidade dos dispositivos. Uma difusão de quadro de descoberta durante uma janela de disponibilidade que tem número de sequência 0 alcançará todos os outros dispositivos no alcance.
Seleção de Estações de Sincronização
Petição 870190053750, de 12/06/2019, pág. 47/341
44/94 [00153] Em modalidades diferentes da invenção, podem ser aplicados algoritmos diferentes para determinar quais dispositivos pares devem ser estações de sincronização (também conhecidas como mestres). O algoritmo aplicado dentro de um dado ambiente usualmente será simétrico, o que significa que cada dispositivo usa os mesmos dados com respeito a si próprio e seus pares, e os mesmos critérios com respeito àqueles dados, e assim cada dispositivo chegará a mesma conclusão com respeito a qual dispositivo deve ser a estação raiz de sincronização e quais outros dispositivos devem ser estações de ramificação de sincronização. Em algumas modalidades, o algoritmo de seleção especificado é executado antes, durante ou depois de cada janela de disponibilidade (e quaisquer extensões àquela janela), ou depois de alguma quantidade configurável de janelas de disponibilidade.
[00154] Como descrito na seção precedente, um parâmetro do dispositivo que pode exercer um papel importante na seleção de estações de sincronização é o valor de preferência mestre, que indica a preferência para que aquele dispositivo seja uma estação de sincronização, ou mestre.
[00155] Cada valor de preferência do dispositivo é derivado da mesma forma, usando as mesmas métricas (as “métricas de seleção”) ou atributos do dispositivo. Métricas de seleção ilustrativas incluem energia disponível (por exemplo, força de bateria), se o dispositivo está conectado a uma fonte de energia CA (corrente alternada), tipo do dispositivo, configuração do dispositivo (por exemplo, características, recursos), se (e quantas) aplicações ou utilitários requerem o uso do rádio do dispositivo, se o dispositivo tem múltiplos antenas e transceptores, se o dispositivo pode operar em múltiplas bandas (por exemplo, 2,4 GHz e 5 GHz), carga do processador, contenção de transmissão, modo de presença e assim por diante.
Petição 870190053750, de 12/06/2019, pág. 48/341
45/94 [00156] Em uma implementação simples, um valor de preferência do dispositivo pode ser um valor inteiro que é proporcional a sua energia de bateria remanescente. Um valor particular alto pode indicar que o dispositivo está conectado a energia CA. Um empate entre múltiplos valores de preferência dos dispositivos pode ser resolvido por comparando endereços de rede (por exemplo, MAC), IMSI (Identidade de Assinante Móvel Internacional), IMEI (Identidade de Equipamento Móvel Internacional) ou alguma outra característica única dos dispositivos.
[00157] Em algumas implementações, os dispositivos podem comunicar apenas seus valores de preferência para cada outro, mas também podem ou em vez disso comunicar as métricas de seleção usadas para calcular os valores de preferência. Como discutido previamente, o valor de preferência e/ou métricas de seleção da estação raiz de sincronização da hierarquia podem ser incluídos em todos os quadros de sincronização periódicos, os dados da estação de ramificação de sincronização podem ser incluídos nas PSFs que a mesma emite, e os dados dos dispositivos folha podem ser anunciados durante as janelas de disponibilidade.
[00158] Em algumas modalidades da invenção, o dispositivo par que tem o valor de preferência mais alto se torna a estação raiz de sincronização da hierarquia default do ambiente. As estações de ramificação de sincronização também podem ser selecionadas para expandir a área de sincronização, e os outros pares serão os dispositivos folha (ou escravos). Cada dispositivo, exceto a estação raiz de sincronização, sincroniza ou a estação raiz de sincronização ou a uma das outras estações de sincronização.
[00159] Em algumas modalidades da invenção, além de serem implementados em camadas específicas dentro da hierarquia, outros dispositivos pares podem ser categorizados relativos a um dado dis
Petição 870190053750, de 12/06/2019, pág. 49/341
46/94 positivo por quão fisicamente próximos os mesmos estão daquele dispositivo. Por exemplo, em uma implementação, um dado dispositivo pode categorizar dispositivos pares que o mesmo pode escutar em um de três alcances: “alcance próximo”, “alcance médio” ou “alcance distante”.
[00160] Medições ou estimativas de amplitude podem ser derivadas a partir de indicações de força de sinal recebidas (RSSI) e/ou outras indicações de distância (por exemplo, dados de GPS). A título de ilustração e não de limitação, “alcance próximo” pode ser definido como aproximadamente 5 metros, “alcance médio” pode ser definido como aproximadamente 10 metros, e “alcance distante” pode ser definido como aproximadamente 15 metros ou mais.
[00161] Podem ser usados outros alcances (mais ou menos do que três) em outras implementações. Por exemplo, um dispositivo pode considerar apenas um alcance, que pode corresponder a uma estimativa de alcance próximo, alcance médio ou alcance distante acima, ou algum outro alcance ou força de sinal. Para evitar condições de fronteira, um dispositivo par pode precisar ser ouvido com pelo menos um limite RSSI a fim de ser considerado no processo de seleção.
[00162] Um processo de seleção pode operar em uma base regular, tal como depois de (ou durante) cada janela de disponibilidade, depois de cada sequência completa de janelas de disponibilidade ou em algum outro cronograma. Um dispositivo que é um membro de um grupo pode executar processos de seleção separadamente para sua hierarquia de grupo e sua hierarquia default. Por exemplo, o mesmo pode executar primeiro um processo de seleção apropriado dentro do grupo para encontrar seu papel / posição, e então realizar o processo de seleção novamente para determinar seu papel / posição dentro da hierarquia default. Os dois processos podem ser o mesmo ou podem ser um pouco diferentes.
Petição 870190053750, de 12/06/2019, pág. 50/341
47/94 [00163] Quando o mesmo executa um processo de seleção mestre, um novo dispositivo que entra em um ambiente de comunicação sincronizado pode usurpar uma estação de sincronização existente, um dispositivo que é uma folha ou uma estação de ramificação de sincronização mais baixa na hierarquia pode se mover para cima (por exemplo, devido a outros dispositivos que tem melhores valores de preferência terem saído), outros dispositivo podem se mover para baixo a partir de ser uma estação de ramificação de sincronização para ser uma folha, etc.
[00164] Depois de um dispositivo tomar a posição como uma folha ou uma estação de sincronização dentro da hierarquia, o mesmo continuará a escutar os quadros de sincronização para determinar se o mesmo é mais adequado para ser uma estação de sincronização do que as estações que enviam aqueles quadros. Por exemplo, o mesmo pode coletar e processar continuamente os valores de preferência ou métricas de seleção dos dispositivos para determinar se outros dispositivos são mais adequados para serem estações de sincronização do que o próprio dispositivo.
[00165] Quando um dispositivo escuta quadros de sincronização a partir de diferentes pares, o mesmo pode montar uma lista de mestres que escuta e/ou que são identificados nos quadros. Isto permite que o dispositivo determine periodicamente deve ser um mestre e começar a emitir quadros de sincronização. Esta determinação pode depender de seu valor de preferência (ou métricas de seleção) versus aqueles dos outros dispositivos, quantos mestres o mesmo escuta, quão distantes estão aqueles dispositivos mestres, e/ou outro fatores.
[00166] A FIG. 5A retrata uma coleção dos dispositivos pares de comunicação que podem selecionar estações de sincronização e sincronizar dentro de uma única hierarquia default, de acordo com algumas modalidades da invenção. No cenário ilustrado, os dispositivos
Petição 870190053750, de 12/06/2019, pág. 51/341
48/94 pares 510 ficam em linha ou entram em seus ambientes simultaneamente ou próximos a simultaneamente, deste modo requerendo que todos os dispositivos determinem posições adequadas para si mesmos na hierarquia aproximadamente ao mesmo tempo.
[00167] Quando os dispositivos 510a a 510j ficam em linha, os mesmos escutarão em pelo menos um canal social designado. Este canal pode ser programado no firmware do dispositivo, pode ser programado por um fornecedor de serviço como parte do processo de provisionamento, ou pode se tornar conhecido para os dispositivos de alguma outra forma.
[00168] Cada um dos mesmos escuta por uma duração de tempo igual a ou maior do que um período de PSF conhecido ou default (por exemplo, 100 ms), durante o qual uma estação de sincronização (uma de ramificação ou a raiz) normalmente difundiria um quadro de sincronização periódico (se presente). Devido a nenhum outro dispositivo estar presente no ambiente ilustrado antes da aparição dos dispositivos 510, os mesmos não escutam uma PSF. Em algumas implementações, um dispositivo pode escutar em múltiplos canais sociais diferentes e/ou pode escutar por um tempo mais longo (por exemplo, múltiplos períodos de PSF) antes de assumir que nenhuma estação de sincronização está presente.
[00169] Devido a nenhum dispositivo mestre ser detectado, todos decidem aproximadamente ao mesmo tempo em que devem atuar como estações de sincronização, e portanto todos começam a emitir PSFs. Como descrito na seção precedente, as PSFs anunciam uma sequência de uma ou mais janelas de disponibilidade, especificando em qual estrato as mesmas vão operar (neste caso, estrato zero ou a raiz), reportam seus identificadores default e de grupo, e também fornecem o valor de preferência e/ou métricas de seleção do emissor.
[00170] Para propósitos de descrever uma modalidade da invenção,
Petição 870190053750, de 12/06/2019, pág. 52/341
49/94 na FIG. 5A o dispositivo 510f tem o melhor (por exemplo, mais alto) valor de preferência, seguido pelo dispositivo 510d. A profundidade máxima de uma hierarquia é dois, o que significa que existem somente dois níveis ou camadas de mestres - a estação raiz de sincronização (no estrato 0) e um nível de estações de ramificação de sincronização abaixo da mesma (no estrato 1). Todos os outros pares serão dispositivos folha sincronizados às estações de sincronização.
[00171] Devido a todos emitirem PSFs, todos os dispositivos detectarão pelo menos um quadro de sincronização periódico do par. Apesar de colisões, interferência e retransmissões, cada dispositivo estará informado de que existem pares que atuam ou que tentam atuar como estações de sincronização.
[00172] Cada dispositivo ou continuará a emitir PSFs ou irá parar, dependendo de seu valor de preferência, valores de preferência de outros pares, e/ou outros fatores. Devido a todos os dispositivos difundirem quadros de sincronização reportando seus valores de preferência (ou suas métricas de seleção), os dispositivos podem ser facilmente comparados para determinar quais devem ser estações de sincronização.
[00173] Na modalidade da FIG. 5A, um dispositivo pode ser programado para automaticamente parar de emitir PSFs se o mesmo escuta uma quantidade limite de estações de sincronização (por exemplo, global, dentro de um estrato particular, dentro de um alcance particular), especialmente se estes outros dispositivos tiverem valores de preferência mestres melhores ou maiores. Em particular, todos os dispositivos assumiram que os mesmos eram o primeiro mestre, e portanto seus PSFs indicarão que os mesmos estão no estrato 0 (ou seja, o raiz). Devido ao limite de estações de sincronização naquele nível ser configurado para ser um (ou seja, pode haver somente uma estação raiz de sincronização), tão logo um dispositivo escute uma PSF a partir
Petição 870190053750, de 12/06/2019, pág. 53/341
50/94 de um par operando no estrato 0 que tem um valor de preferência melhor, o mesmo deve parar de emitir PSFs.
[00174] Entretanto, como descrito acima, em algumas modalidades da invenção os dispositivos primeiro sincronizam com estações de sincronização próximas a eles, antes dos dispositivos examinarem mais longe. Portanto, os mesmos podem primeiro comparar somente eles próprios (suas métricas de seleção ou valores de preferência mestres) com os dispositivos que eles detectam (por exemplo, baseados em RSSI) como estando dentro de alcance próximo (por exemplo, cinco metros).
[00175] Um algoritmo de seleção ou processo mestre pode examinar mais longe uma quantidade máxima de estações de sincronização dentro de cada um de múltiplos alcances. Um dispositivo que compete para ser a estação raiz de sincronização (ou dispositivo mestre principal) dentro de um primeiro alcance (por exemplo, alcance “próximo”) irá parar de competir (e parar de difundir quadros de sincronização) quando reconhecer uma quantidade dos dispositivos mais bem qualificados dentro daquele alcance que corresponde ou excede a quantidade máxima de estações de sincronização para aquele alcance (ou seja, um). De maneira similar, um dispositivo que compete para ser a estação raiz de sincronização dentro de um segundo alcance (por exemplo, alcance “distante”) irá parar quando reconhecer uma quantidade dos dispositivos mais bem qualificados dentro daquele alcance que corresponde ou excede a quantidade máxima de estações de sincronização para aquele alcance (ou seja, também um).
[00176] Sincronizando primeiro com um mestre “próximo”, o ambiente tende a agregar em grupos locais, pelo menos inicialmente. Isto pode ajudar a reduzir interferência, e também reflete situações realísticas, nas quais um usuário de um dispositivo frequentemente está compartilhando dados com outro usuário próximo a ele, em vez de al
Petição 870190053750, de 12/06/2019, pág. 54/341
51/94 guém adicionalmente distante. Examinando a seguir adicionalmente para fora, os grupos dos dispositivos podem descobrir e sincronizar com o ambiente maior.
[00177] No ambiente retratado na FIG. 5A, são considerados dois alcances - “próximo” e “distante”. Como discutido previamente, a categorização de um dispositivo como estando próximo ou distante pode depender da força de um sinal entre os dois dispositivos e/ou outro fatores. Em outra modalidade, podem ser considerados outros alcances.
[00178] Na FIG. 5A, anéis de alcance “próximo” são ilustrados para os dois dispositivos com os melhores valores de preferência de mestre (dispositivos 510f, 510d). O anel de alcance próximo também é mostrado para um dispositivo ilustrativo que não se tornará uma estação de sincronização - dispositivo 510a.
[00179] Para continuar a narrativa a partir do exposto acima, devido a cada dispositivo entender que pode haver somente uma estação raiz de sincronização (no estrato 0), todos eles param de emitir PSFs se existir um dispositivo com um valor de preferência maior dentro de alcance próximo. Isto significa que dentro de seus respectivos alcances próximos, somente os dispositivos 510f e 510d continuam a emitir quadros de sincronização periódicos; então cada um se torna a estação raiz de sincronização dentro de seu próprio alcance próximo. Portanto, neste cenário ilustrativo, existem pelo menos duas hierarquias defaults separadas temporariamente - uma roteada no dispositivo 510f e uma roteada no dispositivo 510d. Como será visto brevemente, as mesmas se combinarão.
[00180] Os outros dispositivos dentro do alcance destas duas estações raízes de sincronização se sincronizam e podem começar a comparecer a suas janelas de disponibilidade. Deve ser observado que o dispositivo 510i, o qual está dentro do alcance próximo de am
Petição 870190053750, de 12/06/2019, pág. 55/341
52/94 bas as estações raízes de sincronização, sincroniza ao dispositivo 510f devido ao mesmo anunciar um valor de preferência mestre melhor do que o dispositivo 510d.
[00181] Agora que cada dispositivo reconhece sua estação raiz de sincronização, cada dispositivo que não for um mestre nível 0 pode determinar se o mesmo deve se oferecer para ser um mestre no estrato 1. Esta determinação pode depender de fatores tais como profundidade máxima da hierarquia, quantos outros candidatos a mestre o mesmo escuta em que nível (se houver), quão próximo o mesmo está daqueles outros candidatos a mestre, os valores de preferência dos dispositivos, etc.
[00182] Em modalidades da invenção refletidas nas FIGURAS 5A a D, um parâmetro operacional ou configuração para o ambiente pode ditar que, em um dado estrato ou nível, um dispositivo assumirá que é necessária outra estação de sincronização (e que ele é um candidato àquela posição) a menos que o mesmo possa escutar algum limite de outras estações de naquele estrato que tenha melhores valores de preferência de seleção.
[00183] No exemplo retratado nas FIGURAS 5A a D, no estrato 1 e com a profundidade máxima de uma hierarquia sendo 2 (por exemplo, duas camadas de estações de sincronização, nas camadas 0 e 1), talvez um dispositivo possa somente se oferecer para se tornar uma estação de ramificação de sincronização no estrato 1 se o mesmo não escutar qualquer outra estação de sincronização naquele estrato (ou qualquer outra estação de ramificação de sincronização dentro de um alcance particular). Em outras palavras, pode haver somente uma de estação de ramificação de sincronização no estrato 1 dentro do alcance de qualquer outro dispositivo. Qualquer dispositivo que escuta as PSFs a partir de uma estação de sincronização do estrato 1 evitará transmitir suas próprias PSFs e se oferecer para se tornar um disposi
Petição 870190053750, de 12/06/2019, pág. 56/341
53/94 tivo mestre no estrato 1, desde que aquela estação de sincronização que o mesmo escuta tenha um valor de preferência mestre maior. [00184] Portanto, na FIG. 5A, alguns dispositivos diferentes dos dispositivos 510f e 510d emitirão PSFs anunciando as mesmas janelas de disponibilidade que suas estações raízes de sincronização (510f, 510d), mas reportando seus próprios estratos (ou seja, 1) e seus valores de preferência. Os dispositivos que escutam estas PSFs dos pares interromperão suas próprias ofertas para se tornar mestres nível 1 se seus valores de preferência forem piores, mas continuarão se os mesmos forem melhores.
[00185] Portanto, pelo menos um dos dispositivos 510g, 510h, 510i se tornará estação de ramificação de sincronização do estrato 1 sob a estação raiz de sincronização 510f. De maneira similar, pelo menos um dos dispositivos 510a, 510b, 510c, 510e se tornará uma estação de ramificação de sincronização do estrato 1 sob o dispositivo 510d. Devido aos mesmos estarem correntemente somente selecionando mestres de alcance curto, e devido às distâncias entre os pares, mais do que uma estação de ramificação de sincronização do estrato 1 será realmente selecionada nas hierarquias separadas.
[00186] Outros dispositivos que estão no alcance próximo às estações raízes de sincronização, mas que têm preferência mestre insuficiente serão os dispositivos folha (ou escravos) e permanecerão sincronizados a uma estação de sincronização. As estações de ramificação de sincronização do estrato 1 estenderão o alcance da hierarquia e ajudarão a colocar mais dispositivos em sincronização.
[00187] Por exemplo, o dispositivo 510j, o qual está além de alcance próximo tanto ao dispositivo 510f como ao dispositivo 510d, pode ter estabelecido sua própria hierarquia de nó único. O mesmo será lembrado de que todos os dispositivos 510 entraram em linha simultaneamente e começaram a emitir PSFs nominando a eles próprios co
Petição 870190053750, de 12/06/2019, pág. 57/341
54/94 mo estação raiz de sincronização. Assumindo que o dispositivo 510j tenha um valor de preferência mestre maior do que quaisquer dispositivos próximos a ele (por exemplo, dispositivos 510a, 510h), o mesmo deve continuar a atuar como uma estação de sincronização mesmo depois do mesmo submeter-se a outros dispositivos e parar de emitir PSFs. Assumindo adicionalmente que o valor de preferência do dispositivo 510j é mais baixo do que os valores de preferência dos dispositivos 510d e 510f, os dispositivos próximos (por exemplo, dispositivos 510a, 510h) sincronizarão com os dispositivos 510d e 510f em de com o dispositivo 510j. Deste modo, o dispositivo 510j temporariamente forma seu próprio ambiente e hierarquia.
[00188] Agora, se qualquer ou ambos os dispositivos 510a, 510h se tornarem um mestre do estrato 1, os mesmos começarão a emitir PSFs que anunciam os valores de preferência de suas estações raízes de sincronização. O dispositivo 510j escutará aquelas PSFs e perceberá que uma hierarquia roteada em uma estação raiz de sincronização “melhor” está dentro de alcance, e portanto sincronizará com o dispositivo que anuncia a melhor estação raiz de sincronização (ou seja, o dispositivo 510h se o mesmo pode escutar tanto 510h como 510a).
[00189] Este cenário demonstra que um dispositivo (por exemplo, dispositivo 510j) pode sincronizar com, e se tornar uma folha sob, um par que tem um valor de preferência mestre mais baixo (por exemplo, dispositivo 510h) se o dispositivo não puder escutar diretamente o mestre do par ou se aquele mestre estiver além do alcance no qual o dispositivo está escutando correntemente. Se o dispositivo folha tiver sido configurado para examinar mais distante (por exemplo, para um alcance “distante”), o mesmo pode sincronizar diretamente àquela estação de sincronização de alcance distante, ou para um dispositivo completamente diferente. Alternativamente, enquanto atua como a es
Petição 870190053750, de 12/06/2019, pág. 58/341
55/94 tação raiz de sincronização de sua própria hierarquia de um nó, o dispositivo 510j pode começar a escutar para uma estação de sincronização de alcance distante melhor e sincronizar diretamente com o dispositivo 510f.
[00190] Em algumas modalidades da invenção, adicionalmente a considerar quantas estações de sincronização um dispositivo pode escutar correntemente, os alcances daquelas estações de sincronização também podem ser considerados quando o dispositivo determina se deve parar de tentar ser uma estação de sincronização. Por exemplo, e como discutido acima, um dispositivo par pode parar de emitir quadros de sincronização periódicos e submeter-se a de pares de curto alcance que tenham valores de preferência melhores se o mesmo escuta um primeiro número limite destes pares (por exemplo, um). Nestas modalidades, um dispositivo par também pode parar de emitir PSFs, mesmo se nenhuma estação de sincronização de alcance curto melhor for ouvida, se o mesmo escuta um segundo limite dos dispositivos pares de alcance distante que têm valores de preferência mestres melhores (por exemplo, três).
[00191] A FIG. 5B é um diagrama das hierarquias que podem resultar da sincronização e seleção dos dispositivos mestres de alcance curto mostrados na FIG. 5A, de acordo com algumas modalidades da invenção. Segmentos de linha representam sincronização, com as pontas das setas apontando para a estação de sincronização que está emitindo as PSFs e gerenciando as janelas de disponibilidade.
[00192] Embora múltiplos dispositivos possam estar atuando como estações de ramificação de sincronização de estrato 1 e enviando PSFs, na FIG. 5B somente um deles (dispositivo 510h) realmente estendeu sua hierarquia além do alcance de sua estação raiz de sincronização. A sincronização e organização dos dispositivos retratados na FIG. 5B pode ser estabelecida da ordem de um segundo ou uma jane
Petição 870190053750, de 12/06/2019, pág. 59/341
56/94 la de disponibilidade a partir da hora em que todos os dispositivos entram em linha. A duração de tempo requerida para que todos os pares se estabeleçam em papéis e camadas apropriados irá diferir de implementação para implementação, dependendo da quantidade dos dispositivos, da frequência e duração das janelas de disponibilidade durante as quais o algoritmo de seleção de mestre é executado, e/ou outro fatores.
[00193] Em algumas modalidades da invenção, uma árvore ou hierarquia de sincronização tal como aquela mostrada na FIG. 5B não é destinada a ser usada para propósitos de roteamento, mas em vez disso para sincronizar dispositivos dentro de uma área para que os mesmos possam se comunicar diretamente, de forma par a par.
[00194] Depois de sincronizar em alcance próximo, na modalidade ilustrada das estações raízes de sincronização da invenção (ou seja, aquelas no nível 0 - dispositivos 510f, 510d) agora examinando mais distante, para determinar se as mesmas devem sincronizar a uma estação de sincronização diferente. Para propósitos de ilustração, pode ser assumido que o alcance “distante” é aproximadamente duas vezes a distância do alcance próximo.
[00195] Em algumas outras modalidades, todas as estações de sincronização escutam dispositivos em alcance mais longo; os dispositivos folha permanecem focados em alcance próximo. Se os mesmos tiverem valores de preferência insuficientes para se tornarem estações de sincronização dentro de um alcance próximo, não existe razão para que os mesmos despendam esforços para determinar se devem ser uma estação de sincronização de alcance mais longo. Em ainda outras modalidades, todos os dispositivos podem escutar dispositivos em alcance mais longo.
[00196] A FIG. 5C mostra os dispositivos da FIG. 5A quando começa a seleção e sincronização de mestre de alcance distante. Embora
Petição 870190053750, de 12/06/2019, pág. 60/341
57/94 anéis de alcance completo não sejam retratados na FIG. 5C, pode ser assumido que o alcance distante do dispositivo 510f abrange todos os dispositivos exceto os dispositivos 510b, 510c, e que o alcance distante do dispositivo 510d inclui todos os dispositivos exceto o dispositivo 510g. Portanto, todos os dispositivos estão dentro do alcance distante de pelo menos um dos dois dispositivos no topo.
[00197] A estação raiz de sincronização 510f continuará a emitir PSFs e anunciar sua sequência de janelas de disponibilidade sem diminuição, devido a mesmo em alcance distante a mesma não escuta quaisquer quadros de sincronização reportando uma estação de sincronização que tenha uma preferência mestre maior. A estação raiz de sincronização 510d, entretanto, rapidamente aprende que o dispositivo 510f tem um valor de preferência mestre melhor. O dispositivo 510d pode aprender isto diretamente de uma PSF do dispositivo 510f ou a partir de uma PSF emitida por um dos dispositivos 510h, 510i que atuam como estações de ramificação de sincronização do estrato 1sob a estação raiz de sincronização 510f.
[00198] Entretanto, devido ao dispositivo 510d does não escutar qualquer dispositivo no alcance melhor adequado para ser uma estação de ramificação de sincronização do estrato 1, o mesmo começa a emitir PSFs anunciando o cronograma de janelas de disponibilidade ditado pela estação raiz de sincronização 510f, anunciando sua posição no estrato 1, e reportando seu próprio valor de preferência e aquele do dispositivo 510f.
[00199] Outros dispositivos dentro de alcance próximo do dispositivo 510d que possam ter estado atuando como estações de ramificação de sincronização do estrato 1 devem escutar o dispositivo 510d e parar de emitir PSFs como estações de ramificação de sincronização de nível 1, devido ao dispositivo 510d ter o segundo valor de preferência mestre mais alto, excedido somente pela estação raiz de sincroni
Petição 870190053750, de 12/06/2019, pág. 61/341
58/94 zação 510f, e devido ao número limite de mestres melhores no qual os mesmos tem que parar de atuar como mestre ser um. Neste ambiente ilustrativo, devido à profundidade máxima da hierarquia ser dois (ou seja, camadas 0 e 1), não haverá quaisquer mestres no estrato 2.
[00200] Os dispositivos 510a, 510b, 510c, 510e permanecerão sincronizados ao dispositivo 510d, como os dispositivos folha (nenhum dos mesmos pode ser mestre), mas irão aderir ao novo cronograma de janela de disponibilidade promulgado pelo dispositivo 510f e agora anunciado pelo dispositivo 510d. Na modalidade ilustrada da invenção, os dispositivos 510a, 510b, 510c, 510e não escutam os dispositivos de alcance distante, devido a nenhum dos mesmos ser estação raiz de sincronização, e portanto os mesmos não sincronizam diretamente com o dispositivo 510f. Em outras modalidades nas quais os mesmos escutam a melhor estação de sincronização de alcance distante, os mesmos podem sincronizar diretamente com o dispositivo 510f.
[00201] O dispositivo 510j foi sincronizado com o dispositivo 510h que atua como uma estação de ramificação de sincronização de nível
1. Devido ao dispositivo 510h não escutar os dispositivos de alcance distante (o mesmo não foi uma estação raiz de sincronização), o mesmo não escuta o dispositivo 510d, e portanto ainda pode ser o melhor candidato a estação de ramificação de sincronização de nível 1 dentro do alcance curto do dispositivo 510j. Em caso afirmativo, o dispositivo 510j permanece sincronizado com o dispositivo 510h.
[00202] Isto deixa o dispositivo 510g como o único dispositivo que não escuta o número limite de estações de ramificação de sincronização do estrato 1. Devido ao mesmo não ter sido uma estação raiz de sincronização, o mesmo ainda está escutando somente os dispositivos de alcance curto. Portanto o mesmo permaneceu sincronizado com o dispositivo 510f e começa a enviar PSFs similares àqueles do dispositivo 510d, se colocando no estrato 1 e anunciando seu valor de prefePetição 870190053750, de 12/06/2019, pág. 62/341
59/94 rência mestre.
[00203] A FIG. 5D retrata a hierarquia formada combinando as duas hierarquias separadas da FIG. 5B, de acordo com algumas modalidades da invenção.
[00204] Depois de uma estação raiz de sincronização global ser selecionadas, todas as estações de sincronização na mesma hierarquia anunciam o mesmo cronograma e sequência de janelas de disponibilidade. Portanto, sincronizar a um mestre em vez de a outro dentro da mesma hierarquia faz pouca diferença. Entretanto, os dispositivos têm que ser compatíveis com quaisquer parâmetros de configuração aplicáveis (por exemplo, profundidade máxima de hierarquia, quantidade máxima de estações de sincronização dentro de um dado alcance).
[00205] Como mostrado nas FIGURAS 5A a D, em algumas modalidades da invenção dispositivos pares primeiro se organizam eles próprios em uma hierarquia de alcance curto. Logo depois disso, estes grupos locais se combinam em um único ambiente sincronizado default. Na modalidade ilustrada, apenas estações raízes de sincronização de alcance curto examinadas (ou escutadas) além do alcance próximo, e muito poucos dispositivos precisaram mudar a partir de serem sincronizados com um dispositivo para serem sincronizados com outro. Em outra modalidade na qual mais (ou todos os) dispositivos examinam mais distante, provavelmente mais dispositivos devem mudar a sincronização de seu mestre local ou de alcance curto para um mestre de alcance distante.
[00206] Quando uma estação raiz de sincronização em alcance próximo examina além de alcance próximo, baseada em seu valor de preferência mestre a mesma pode mudar de camada, ou pode permanecer no mesmo nível. As estações de ramificação de sincronização sob aquela estação raiz de sincronização podem igualmente mudar de nível. Por exemplo, em um ambiente que fornece profundidade sufici
Petição 870190053750, de 12/06/2019, pág. 63/341
60/94 ente, se uma estação raiz de sincronização de alcance curto é rebaixada depois da mesma competir em alcance mais longo, suas estações de ramificação de sincronização podem ser rebaixadas automaticamente pela mesma quantidade de níveis a fim de manter a organização relativa.
[00207] Entretanto, como uma alternativa a isto, depois do novo estrato da estação raiz de sincronização de alcance curto ser determinado, suas estações de ramificação de sincronização podem reiniciar o processo de seleção para estabelecer a hierarquia de alcance curto abaixo da estação de sincronização de alcance curto.
[00208] Em algumas modalidades da invenção, um dispositivo par não pode nomear arbitrariamente a si próprio (por exemplo, emitindo PSFs) para ser uma estação de sincronização em qualquer nível da hierarquia. Quando um dispositivo escuta uma estação de sincronização, independentemente daquele estrato S da estação, e assumindo que a estação de sincronização tenha um valor de preferência mestre maior do que o dispositivo, o dispositivo pode se tornar uma folha sob aquele dispositivo ou, se o mesmo não escutar o número limite estações de ramificação de sincronização de nível mais baixo do estrato S+1, o mesmo pode se tornar uma estação de ramificação de sincronização no nível S+1.
[00209] A FIG. 6 é um fluxograma que demonstra um método para selecionar uma ou mais estações de sincronização em uma hierarquia default dentro de um ambiente de comunicação par a par, de acordo com algumas modalidades da invenção. O método ilustrado pode ser executado antes, durante ou depois de cada janela de disponibilidade, depois de algum subconjunto de todas as janelas de disponibilidade (por exemplo, depois da primeira ou última janela na sequência especificada da estação de sincronização), depois de alguns múltiplos de janelas de disponibilidade (por exemplo, depois de cada duas janelas)
Petição 870190053750, de 12/06/2019, pág. 64/341
61/94 ou com alguma outra regularidade, e diferir do processo de seleção retratado nas FIGURAS 5A a D. O processo ilustrado na FIG. 6 faz uso de múltiplos alcances, os quais podem corresponder ou não aos alcances próximo, médio e distante discutidos acima.
[00210] Em modalidades da invenção refletidas no fluxograma da FIG. 6, um dispositivo folha (ou escravo) sincronizará com a melhor estação de sincronização que o mesmo escuta com uma força de sinal maior do que a força de sinal correspondente a um alcance denominado “FolhaPróxima”. Uma estação de ramificação de sincronização sincronizará com a melhor estação de sincronização que a mesma escuta dentro de um alcance de “MestrePróximo”, que corresponde a uma força de sinal diferente; esta estação pode ser a estação raiz de sincronização.
[00211] Para comparação, o alcance de MestrePróximo é maior do que o alcance de FolhaPróxima, o que significa que o limite de força de sinal associado com o alcance de FolhaPróxima é maior do que o limite de força de sinal associado com o alcance de MestrePróximo. Isto promove agrupamento local dos dispositivos folha, enquanto uma estação de ramificação de sincronização é capaz de sincronizar com uma estação de ramificação de sincronização melhor que fica adicionalmente distante (ou possivelmente com a estação raiz de sincronização).
[00212] Um alcance “distante” pode ser usado para denotar a distância extrema na qual qualquer dispositivo escutará. Deste modo, enquanto o alcance “distante” é maior do que ambos os alcances de FolhaPróxima e MestrePróximo, a força de sinal correspondente é mais baixa do que as forças de sinal correspondentes àqueles alcances.
[00213] No processo ilustrado, o melhor dispositivo par que um dado dispositivo escuta no alcance de FolhaPróxima (se o mesmo for uma folha) ou no alcance de MestrePróximo (se o mesmo for um mes
Petição 870190053750, de 12/06/2019, pág. 65/341
62/94 tre) é aquele próprio dispositivo, o mesmo sincronizará com o melhor dispositivo mestre que escutar em alcance distante. Em algumas implementações, cada dispositivo acompanhará a melhor estação de sincronização que o mesmo escuta no alcance distante e ou no alcance de FolhaPróxima ou de MestrePróximo (seja qual for o apropriado), e armazenará (por exemplo, na memória) seus parâmetros de sincronização e valores de preferência mestres.
[00214] Além dos três alcances descritos acima, os quais são usados para identificar com qual estação de sincronização um dado dispositivo deve sincronizar, outros alcances podem ser usados para ajudar a determinar o dado papel do dispositivo como uma estação de sincronização (ou mestre) ou como uma folha, ou se o mesmo deve continuar competindo para ser uma estação de sincronização. Por exemplo, um dispositivo pode acompanhar a quantidade de estações de sincronização que o mesmo escuta dentro de dois alcances, denominados AlcanceCurto e AlcanceMédio.
[00215] Em uma implementação ilustrativa, o AlcanceCurto pode ser de aproximadamente um metro, os alcances de FolhaPróxima e MestrePróximo podem ser da ordem de quatro e cinco metros, o AlcanceMédio pode ser entre cinco e dez metros, e o alcance distante pode ser de aproximadamente trinta metros. Em outras modalidades da invenção, um processo de seleção de mestre pode considerar menos alcances ou alcances adicionais, o que pode estender virtualmente quaisquer distâncias e quais podem corresponder a forças de sinal variáveis.
[00216] Deste modo, um conjunto de alcances (por exemplo, FolhaPróxima, MestrePróximo, FolhaMédia, MestreMédio, distante) pode ser usado para determinar com qual dispositivo mestre um dado dispositivo sincronizará. Um conjunto de alcances diferentes (por exemplo, AlcanceCurto, AlcanceMédio) pode ser usado para identificar o
Petição 870190053750, de 12/06/2019, pág. 66/341
63/94 papel do dispositivo.
[00217] Na operação 604, um dispositivo determina se o mesmo recebeu recentemente um quadro de sincronização (por exemplo, uma PSF, um MIF) a partir da estação de sincronização com a qual o mesmo está sincronizado. Se um tiver sido recebido dentro do último período de PSF, ou dentro de algum outro período de tempo aplicável (por exemplo, um período de janela de disponibilidade), o método avança para a operação 610; caso contrário, o método continua na operação 606.
[00218] Na operação 606, o dispositivo determina se um número limite de janelas de disponibilidade ou de períodos de tempo de janela de disponibilidade (ou outros períodos de tempo aplicáveis) passou sem receber um quadro de sincronização. Em caso afirmativo, o método continua na operação 608; caso contrário, o dispositivo mantém seu estado corrente e sincronização corrente e sai do método ilustrado sem executar o processo de seleção de mestre. Embora nenhuma ação corretiva significativa precise ser tomada (devido à quantidade de PSFs perdidas não ter atingido o limite), o dispositivo não foi sincronizado recentemente e pode não ter valores de preferência mestre correntes para usar para selecionar uma estação de sincronização.
[00219] Na operação 608, o dispositivo se torna estação raiz de sincronização da hierarquia dos dispositivos pares, mas pode manter a sequência ou cronograma prévios e periodicidade de PSF da estação raiz de sincronização de janelas de disponibilidade a menos que os mesmos conflitam com outra operação do dispositivo. Uma meta quando qualquer estação de sincronização é substituída, incluindo a raiz, é manter a sincronização dentro do ambiente; portanto, a preferência é, se possível, continuar com os mesmos parâmetros de sincronização. Depois da operação 608, o processo de seleção de mestre termina para o dispositivo.
Petição 870190053750, de 12/06/2019, pág. 67/341
64/94 [00220] Na operação 610, o dispositivo começa a executar o algoritmo de seleção de mestre aplicável, usando valores de preferência (ou métricas de seleção) que o mesmo tenha recebido através de quadros de sincronização (por exemplo, PSFs, MIFs) e/ou ouvido a partir de outros dispositivos (por exemplo, estações de sincronização as quais o mesmo não está correntemente sincronizado) ou que tenham sido retransmitidos por outros dispositivos. Em particular, o dispositivo comparará seu valor de preferência mestre àqueles de outros dispositivos.
[00221] Como descrito acima, as estações de sincronização podem ser examinadas em alcances diferentes. Nestas modalidades, a RSSI (Indicação de Força de Sinal Recebida) de quadros de sincronização recebidos a partir de candidatos a estação de sincronização, ou alguma outra medição da força de outros sinais dos dispositivos, tal como RCPI (Indicação de Potência de Canal Recebida), pode ser usada para determinar seu alcance.
[00222] Como parte da operação 610, o dispositivo calcula diversos valores relativos ao dispositivo que executa o método da FIG. 6, incluindo os seguintes (os alcances são descritos acima):
melhorMestreDistante Identidade (por exemplo, endereço) da melhor estação de sincronização dentro do alcance distante
melhorFolhaPróxima Identidade (por exemplo, endereço) da melhor estação de sincronização dentro de FolhaPróxima alcance
melhorMestrePróximo Identidade (por exemplo, endereço) da melhor estação de sincronização dentro do alcance de MestrePróximo
Petição 870190053750, de 12/06/2019, pág. 68/341
65/94
MaiorNumM Quantidade de estações de sincronização dentro do AlcanceMédio que têm valores de preferência mestre maiores
MaiorNumS Quantidade de estações de sincronização dentro do AlcanceCurto que têm valores de preferência mestre maiores
[00223] Na comparação de valores de preferência mestre, em algumas modalidades da invenção um dispositivo comparará a si próprio a cada um ou mais outros dispositivos que o mesmo pode escutar, e classificará a si próprio em comparação aos mesmos, usando as seguintes regras.
[00224] Regra 1: se o dispositivo for a estação raiz de sincronização e o outro dispositivo estiver na árvore da raiz (ou vice-versa), ou se o dispositivo for uma folha e o outro dispositivo for a estação de sincronização do dispositivo corrente (ou vice versa), então seus valores de preferência mestres são comparados. O dispositivo com o valor de preferência maior vence e é classificado maior; se igual, seus endereços MAC são comparados e o maior (ou menor) endereço MAC vence. [00225] Regra 2: se a Regra 1 não se aplica e nenhum dispositivo é a estação raiz de sincronização, mas os mesmos estão na mesma árvore, a comparação depende de suas camadas. Se os mesmos estiverem em camadas diferentes, o dispositivo no estrato numerado mais baixo (ou seja, mais próximo à raiz) vence. Se os mesmos estiverem no mesmo estrato, o dispositivo com maior valor de preferência mestre vence; se igual, seus endereços MAC são comparados.
[00226] Regra 3: se os dispositivos estiverem em hierarquias diferentes (ou seja, os mesmos não tem a mesma estação raiz de sincronização), os valores de preferência mestres de suas estações raízes de sincronização são comparados. O dispositivo cuja estação raiz de sincronização tiver um valor de preferência maior vence; se igual, seus
Petição 870190053750, de 12/06/2019, pág. 69/341
66/94 endereços MAC ou os endereços MAC de suas estações raízes de sincronização são comparados.
[00227] As Regras 1 e 2 promovem estabilidade da hierarquia de sincronização ao mesmo tempo em que geralmente estabelecendo o percurso mais curto a partir de um dado dispositivo para a estação raiz de sincronização da hierarquia. A Regra 3 garante que duas hierarquias separadas em proximidade uma à outra tenham a oportunidade de se combinar em uma única hierarquia.
[00228] Enquanto conduzindo a operação 610, o dispositivo que implementam o método ilustrado considera identificadores default e de grupo anunciados por outros dispositivos, e pode ignorar dispositivos que anunciam um identificador default diferente de seu próprio. Como introduzido acima, um identificador default identifica uma hierarquia maior dos dispositivos pares, enquanto um identificador de grupo identifica uma hierarquia menor dos pares.
[00229] Como descrito em uma seção a seguir, o dispositivo que realiza um procedimento para identificar ou selecionar estações de sincronização também pode ignorar dispositivos que anunciam um identificador de grupo diferente, a menos que o dispositivo seja a estação raiz de sincronização de seu grupo privado. Mais especificamente, os membros de um grupo podem executar normalmente um processo de seleção similar àquele da FIG. 6, mas somente considerar dispositivos que pertencem ao grupo, enquanto a estação raiz de sincronização de grupo pode depois disso realizar o método ilustrado para sincronizar com uma hierarquia default.
[00230] Na operação 612, o dispositivo determina se é melhorMestreDistante (ou seja, tem a preferência de mestre mais alta dentre todos os dispositivos dentro do dispositivo de alcance distante). Em caso afirmativo, o método retorna para a operação 608; caso contrário, o método avança para a operação 614.
Petição 870190053750, de 12/06/2019, pág. 70/341
67/94 [00231] Na operação 614, o dispositivo determina se numMaiorM (ou seja, a quantidade de estações de sincronização dentro de AlcanceMédio que têm maior preferência mestre) é menor do que um limite ou quantidade máxima de estações de sincronização de AlcanceMédio (maxM), e se numMaiorS (ou seja, a quantidade de estações de sincronização dentro de AlcanceCurto que têm maior preferência mestre) é menor do que um limite ou quantidade máxima de estações de sincronização de AlcanceCurto (maxS). Em caso afirmativo, o método avança para a operação 630; caso contrário, o método continua na operação 620.
[00232] Em algumas modalidades da invenção, o método pode avançar para a operação 630 a partir da operação 614 se ou numMaiorM for menor do que maxM ou numMaiorS < maxS (ou seja, uma operação “ou” é realizada em vez de uma operação “e”).
[00233] Na operação 620, o dispositivo aponta para si próprio como uma folha, devido a mesmo se ele tiver um valor de preferência mestre maior do que alguns outros dispositivos, um número limite de estações de sincronização dentro de AlcanceCurto que têm valores maiores já estão na posição. Se o dispositivo estiver emitindo quadros de sincronização periódicos, o mesmo para.
[00234] Na operação 622, o dispositivo determina se é o melhor dispositivo dentro de alcance de FolhaPróxima (ou seja, o melhor candidato dentro do alcance de FolhaPróxima). Em caso afirmativo, o método avança para a operação 640; caso contrário, continua na operação 624.
[00235] Na operação 624, o dispositivo sincroniza com melhorFolhaPróxima (ou seja, a estação de sincronização dentro de alcance de FolhaPróxima que tem o valor de preferência mestre mais alto). O método então termina.
[00236] Na operação 630, o dispositivo assume o papel de uma es
Petição 870190053750, de 12/06/2019, pág. 71/341
68/94 tação de sincronização. Isto requererá que o mesmo emita quadros de sincronização periódicos e gerencie uma sequência de janelas de disponibilidade para sincronizar outros dispositivos pares.
[00237] Na operação 632, o dispositivo determina se é o melhor dispositivo no alcance de MestrePróximo (ou seja, o dispositivo dentro do alcance de MestrePróximo com o valor de preferência mestre mais alto). Em caso afirmativo, o método avança para a operação 640; caso contrário, continua na operação 634.
[00238] Na operação 634, o dispositivo sincroniza com melhorMestrePróximo (ou seja, a melhor estação de sincronização dentro do alcance de MestrePróximo). O método então termina.
[00239] Na operação 640, o dispositivo sincroniza com melhorMestreDistante (ou seja, a melhor estação de sincronização dentro do alcance distante com o valor de preferência mestre mais alto), que pode ser a estação raiz de sincronização. O método então termina.
[00240] As FIGURAS 7A a E retratam a execução do processo de seleção de mestre da FIG. 6 de acordo com algumas modalidades da invenção.
[00241] A FIG. 7A ilustra uma coleção de dispositivos pares distribuídos dentro de um ambiente. Os rótulos de dispositivo indicam as classificações dos dispositivos em ordem inversa a seus valores de preferência mestres (e seus endereço MAC se duas das métricas dos dispositivos empatarem), em que dispositivo 710a < dispositivo 710b < dispositivo 710c < ... < dispositivo 710i < dispositivo 710j. Deste modo, de todos os dispositivos no ambiente, o dispositivo 710j tem o valor de preferência mestre mais alto e é considerado o “melhor” dispositivo no ambiente.
[00242] Como discutido acima, múltiplos alcances diferentes são relevantes para a seleção de estações de sincronização e sincronização dos dispositivos. Limites de alcances “distantes” para os três dis
Petição 870190053750, de 12/06/2019, pág. 72/341
69/94 positivos superiores (dispositivos 710h, 710i, 710j) são mostrados nas FIGURAS 7A a E, juntamente com a escala 702 que demonstra um alcance “próximo” ilustrativo na modalidade ilustrada, alcances de FolhaPróxima e MestrePróximo (como descritos acima com respeito à FIG. 6) são iguais e correspondem o alcance próximo reapresentado pela escala 702.
[00243] A FIG. 7B ilustra as conexões de alcance curto que são estabelecidas quando cada dispositivo sincroniza com a estação de sincronização mais próxima que o mesmo pode escutar (por exemplo, na operação 634). No cenário ilustrado, a maior parte dos dispositivos estão dentro de alcance próximo de um dos três dispositivos superiores, e portanto sincronizam com um daqueles dispositivos. Entretanto, os dispositivos 710c, 710d não encontram nenhum outro dispositivo dentro do alcance próximo, e portanto continuam não sincronizados por enquanto (ou seja, em suas próprias hierarquias de um dispositivo).
[00244] Pode ser observado que alguns dispositivos (por exemplo, dispositivos 710b, 710e, 710f) podem escutar melhor as estações de sincronização do que aqueles com as quais sincronizaram inicialmente, mas estão somente examinando a estação de sincronização mais próxima, não a melhor que os mesmos podem escutar. Também, todos os dispositivos ainda podem estar enviando quadros de sincronização, devido a nenhum dispositivo ainda ter encontrado motivo para se tornar uma folha.
[00245] A FIG. 7C retrata o ambiente quando estações de sincronização escutam e se conectam às melhores estações de sincronização em alcance distante. Por exemplo, e de acordo com o método ilustrado na FIG. 6, os dispositivos 710c, 710d, 710i se tornam estações de sincronização na operação 630, descoberto que os mesmos eram as melhores estações de sincronização dentro do alcance próximo na operação 632, e então implementam a operação 640, em que os mesmos
Petição 870190053750, de 12/06/2019, pág. 73/341
70/94 sincronizados com a melhor estação de sincronização dentro do alcance distante. Deste modo, o dispositivo 710i sincroniza com o dispositivo 710j e os dispositivos 710c, 710d sincronizam com o dispositivo 710i.
[00246] Também, alguns dispositivos agora mudam para status de folha devido aos mesmos escutarem números limite de estações de sincronização que têm melhores valores de preferência de seleção em alcance curto e/ou médio. Por exemplo, e seguindo o método retratado na FIG. 6, os dispositivos 710a, 710b (e/ou outros) alcançam a operação 614 e determinam quantos mestres os mesmos escutam em alcance curto e em alcance médio. Um ou ambos estes valores igualam ou excedem seus limites, e, portanto os dispositivos implementam as operações 620, 622 e 624 para se tornar folhas sincronizadas à melhor estação de sincronização dentro do alcance de FolhaPróxima. Ilustrativamente, tanto alcance curto como alcance médio são distâncias mais longas do que alcance próximo, mas menores do que alcance distante.
[00247] Os contornos tracejados dos dispositivos 710a, 710b e 710f indicam que os mesmos agora são os dispositivos folha. Como folha, os mesmos param de emitir quadros de sincronização periódicos.
[00248] Também com referência à FIG. 7C, os dispositivos não de folha começam ou continuam a emitir quadros de sincronização anunciando seus valores de preferência mestres e os valores de preferência de suas estações raízes de sincronização. Por exemplo, o dispositivo 710e anunciará valores de preferência dos dispositivos 710e e 710h, e o dispositivo 710g anunciará valores de preferência dos dispositivos 710g e 710j.
[00249] A FIG. 7D retrata o ambiente depois que o dispositivo 710g é movido fisicamente para mais próximo ao dispositivo 710e, mas ainda além do alcance distante do dispositivo 710h. Em particular, o dis
Petição 870190053750, de 12/06/2019, pág. 74/341
71/94 positivo 710g se move dentro do alcance próximo do dispositivo 710e. [00250] Através de seus quadros de sincronização, o dispositivo 710g anuncia seu valor de preferência mestre e o valor de preferência do dispositivo 710j. Quando o dispositivo 710e compara estes valores como parte do processo de seleção de mestre, o mesmo observará uma preferência para o dispositivo 710j sobre o dispositivo 710h. Portanto, o dispositivo 710e agora sincronizará com o dispositivo 710g.
[00251] Na FIG. 7E, o dispositivo 710e começou a emitir quadros de sincronização anunciando seu valor de preferência e aquele de sua nova estação raiz de sincronização, o dispositivo 710j. O dispositivo 710h comparará o valor de preferência mestre do dispositivo 710j ao seu próprio, e verá que o dispositivo 710j é a raiz preferida.
[00252] Portanto o dispositivo 710h pode sincronizar com a hierarquia estendida do dispositivo 710j se, como mostrado na FIG. 7E, o parâmetro de profundidade máxima da hierarquia permitir. Se o dispositivo 710e estava na profundidade máxima da hierarquia, então o dispositivo 710h pode sincronizar com o dispositivo 710e mas pode atuar somente como uma folha. Se o dispositivo 710g estava na profundidade máxima, o dispositivo 710e somente pode ter sido uma folha, e o dispositivo 710h pode começar sua própria hierarquia se nenhum outro par estiver no alcance.
[00253] Em algumas modalidades da invenção, um algoritmo ou processo de seleção de mestre é contínuo. Nestas modalidades, o processo reinicia ou se repete com cada janela de disponibilidade, e, portanto pode levar algum tempo antes de todos os dispositivos serem colocado em seus níveis “corretos” na hierarquia. Como os dispositivos se movem para, dentro e fora do ambiente, a hierarquia pode mudar continuamente.
[00254] Entretanto, deve ser observado que a sincronização dos dispositivos acontece muito mais rapidamente e não será degradada
Petição 870190053750, de 12/06/2019, pág. 75/341
72/94 pelo processo de seleção de mestre em andamento. Ou seja, a sincronização não depende de ter cada dispositivo em sua posição lógica correta.
[00255] Em particular, mesmo embora os dispositivos que atuam como estação raiz de sincronização e estações de ramificação de sincronização de uma hierarquia podem mudar ao longo do tempo, isto não interromperá a sincronização na maior parte das implementações. Nestas implementações, o mesmo cronograma de janela de disponibilidade é aplicado por toda a hierarquia; portanto, qualquer dispositivo que há pouco assumiu o papel de estação raiz de sincronização (ou o papel de uma estação de ramificação de sincronização) já estará sincronizado com os outros dispositivos e os mesmos serão sincronizados com esse.
[00256] Em algumas modalidades da invenção, as métricas de seleção usadas para computar um valor de preferência mestre do dispositivo incluem seu alcance de transmissão e nível de potência. Como um exemplo simples, um dispositivo com maior potência ou alcance de transmissão terá preferência para ser uma estação de sincronização sobre todos os dispositivos que têm menor potência/alcance de transmissão. Como a reserva de energia do dispositivo diminui, seu valor de preferência diminuirá igualmente. Em outras modalidades, podem ser consideradas outras métricas.
[00257] Nestas modalidades, se as potências/alcances de transmissão não estiverem disponíveis (ou se existir um empate entre dispositivos), o dispositivo que tiver a carga de bateria remanescente mais alta terá o valor de preferência maior. Se tanto o alcance de transmissão como a carga de bateria forem desconhecidos (ou empatarem), os endereços MAC dos dispositivos (ou outros endereços/identificadores) podem ser comparados.
[00258] Devido à seleção de mestres ou estações de sincronização
Petição 870190053750, de 12/06/2019, pág. 76/341
73/94 ser um processo contínuo ou regular nestas modalidades, o custo de ser uma estação de sincronização (por exemplo, utilização de energia) é compartilhado entre pares diferentes. Quando um nível de energia da estação diminui (por exemplo, devido à emissão regular de quadros de sincronização periódicos), outro dispositivo tomará seu lugar.
[00259] Em outras modalidades, podem ser consideradas outras métricas. Como descrito previamente, estas métricas de seleção de mestre, e/ou um simples valor de preferência mestre que representam uma combinação das métricas, são anunciadas pelos dispositivos quando os mesmos difundem os quadros de sincronização.
Grupo Privados [00260] Em algumas modalidades da invenção, dois ou mais membros de uma hierarquia default (ou de diferentes hierarquias default) podem formar um grupo que participa de uma transferência de arquivo, joga um jogo ou conduz alguma outra atividade. Organizando como um grupo, os membros podem se beneficiar de maior largura de banda, latência mais baixa, menos contenção e/ou outras vantagens de cooperação. Por exemplo, dois (ou mais) dispositivos podem criar um grupo privado para conduzir uma sessão de taxa de dados melhorada para trocar dados.
[00261] Como descrito em uma seção prévia, dentro dos quadros de sincronização que o mesmo difunde (por exemplo, PSFs, MIFs), um dispositivo pode anunciar múltiplos identificadores - tais como um identificador da hierarquia “default” à qual o dispositivo está ou foi sincronizado e um identificador de “grupo” de um grupo ao qual o dispositivo pertence. Em algumas modalidades da invenção, todas as hierarquias adotam o mesmo identificador default, tal como 0, para refletir operações par a par normais. Um dispositivo que está em proximidade a múltiplas hierarquias default pode simplesmente se unir àquela que anuncia uma estação raiz de sincronização ou mestre principal melhor.
Petição 870190053750, de 12/06/2019, pág. 77/341
74/94
Portanto, usar o mesmo identificador default entre diferente hierarquias não provoca conflitos.
[00262] Em algumas implementações desta modalidade da invenção, um identificador default não zero é anunciado por um dispositivo que não pode ou não mantém sincronização com uma hierarquia default típica. Um mestre que tem que manter alinhamento com um guia de infraestrutura (por exemplo, um ponto de acesso) é um exemplo de um dispositivo que anuncia um identificador default não zero.
[00263] O identificador default não zero para este mestre pode ser derivado de um BSSID (Identificador de Conjunto de Serviços Básicos) do guia de infraestrutura, através da execução de um algoritmo predeterminado. Um mestre sincronizado com um guia de infraestrutura pode pertencer ou não a um grupo, e pode ser capaz somente de sincronizar com outros dispositivos alinhados com o mesmo guia.
[00264] Um identificador de grupo de 0, ou a ausência de um identificador de grupo, pode identificar um dispositivo que está participando de qualquer grupo. Valores maiores do que zero podem ser reservados para uso por grupos ativos. Em implementações diferentes, um identificador de grupo pode ter magnitudes diferentes (por exemplo, 16 bits, 32 bits).
[00265] Em modalidades da invenção, o valor específico adotado como um identificador de grupo é selecionado, possivelmente de forma randômica, pela aplicação ou serviço que será comumente executado entre os membros do grupo (por exemplo, AirPrint™, uma aplicação App Game Kit™, um utilitário compartilhando arquivo), ou uma camada de protocolo de maior nível que suporte a aplicação. A aplicação identifica membros do grupo para camadas de protocolo de nível mais baixo (por exemplo, por endereço MAC ou outro identificador), e distribui o identificador de grupo entre os membros.
[00266] Em algumas modalidades da invenção, um identificador de
Petição 870190053750, de 12/06/2019, pág. 78/341
75/94 fault e de grupo duplo de “0/0” serve para identificar um dispositivo disponível, o qual pode ser definido como um dispositivo que é sincronizado dentro de uma hierarquia default mas não ativa dentro de um grupo, e portanto não está engajada em uma sessão de dados ativa. Um dispositivo disponível simplesmente operará protocolos de descoberta, outros protocolos de endereçamento e roteamento, etc. se e quando dois ou mais dispositivos eleitos para cooperar de alguma maneira (por exemplo, compartilhando dados ou uma aplicação), os mesmos criarão ou se unirão a um grupo.
[00267] Dispositivos que pertencem ao mesmo grupo sincronizarão entre eles próprios para formar uma hierarquia de grupo, similar à maneira descrita acima para sincronizar uma hierarquia default inteira. Os dispositivos permanecerão sincronizados uns com os outros desde que os mesmos permaneçam no grupo.
[00268] Dependendo da quantidade de dispositivos dentro de um grupo, e quaisquer outros parâmetros aplicáveis, alguns membros do grupo podem ser estações de ramificação de sincronização sob a estação raiz de sincronização do grupo (ou seja, a estação raiz de sincronização do grupo, também conhecida como o mestre superior do grupo), com todos os outros membros sendo folhas (ou escravos). Membros do grupo podem continuar a executar um processo para selecionar ou identificar mestres ou estações de sincronização, mas sua adesão a um grupo ajustará o processo de modo que os mesmos somente considerem selecionar membros do grupo como estações de sincronização, e deste modo estabelecendo uma hierarquia de grupo. A estação raiz de sincronização de grupo selecionada transporá a fronteira entre o grupo e uma hierarquia default e, como indicado, tentará sincronizar com a hierarquia default. Deste modo, independentemente de se está ou não ativo em uma hierarquia de grupo, um dispositivo normalmente terá somente um mestre para/com o qual se sinPetição 870190053750, de 12/06/2019, pág. 79/341
76/94 croniza.
[00269] Em algumas modalidades da invenção, para propósitos de sincronização cada membro de um grupo considera regras tais como as seguintes, em sequência, até encontrar e aplicar uma que especifique como (por exemplo, a quem) deve sincronizar. Similar a parâmetros descritos acima para uma hierarquia default (por exemplo, quantidade máxima de estações de sincronização, quantidade de estações de sincronização dentro de alcances particulares), um membro do grupo pode considerar vários fatores ou parâmetros para determinar se deve atuar como uma estação de sincronização.
[00270] Regra 1: Um dispositivo do grupo sincroniza com o melhor dispositivo dentro do alcance próximo (diferente de si próprio) que seja um membro do mesmo grupo (ou seja, que anuncia o mesmo identificador de grupo). Aquele dispositivo será ou a estação raiz de sincronização de grupo ou uma estação de ramificação de sincronização do grupo.
[00271] Regra 2: se o dispositivo é o melhor dispositivo no alcance próximo que é um membro do grupo, então o mesmo sincroniza com o melhor dispositivo dentro do alcance distante (diferente de si próprio) que seja um membro do grupo.
[00272] Regra 3: se o dispositivo for o melhor dispositivo dentro do alcance distante que seja um membro do grupo, o mesmo assume o papel de estação raiz de sincronização do grupo e sincroniza com a melhor estação de sincronização no alcance próximo (diferente de si próprio) que anuncia o mesmo identificador default (por exemplo, 0), e portanto é parte da mesma hierarquia default, e ou nenhum identificador de grupo ou um identificador de grupo diferente. Em algumas implementações, entretanto, uma estação raiz de sincronização de grupo não sincronizará com uma estação de sincronização que esteja ativa em um grupo diferente.
Petição 870190053750, de 12/06/2019, pág. 80/341
77/94 [00273] Regra 4: se o dispositivo for a estação raiz de sincronização do grupo e a melhor estação de sincronização no alcance próximo dentro de uma hierarquia default, o mesmo sincronizará com a melhor estação de sincronização no alcance distante que seja um membro da mesma hierarquia default.
[00274] Regra 5: se o dispositivo for a estação raiz de sincronização de grupo e a melhor estação de sincronização no alcance distante dentro de uma hierarquia default, então o mesmo é a estação raiz de sincronização tanto da hierarquia de grupo como default e não sincroniza com qualquer outro dispositivo. O mesmo manterá os parâmetros de sincronização sob os quais estava operando antes de aplicar estas regras, e anunciá-las em quaisquer quadros de sincronização que o mesmo emita.
[00275] Os parâmetros de sincronização anunciados dentro de uma hierarquia de grupo podem ser similares ou idênticos àqueles de uma hierarquia default. Em particular, as janelas de disponibilidade podem ser programadas para as mesmas horas, com as mesmas durações, no mesmo ou em outro canal de comunicações.
[00276] Esta sincronização de cronogramas de janelas de disponibilidade pode ocorrer naturalmente, devido aos membros do grupo poderem ter sido desenhados a partir da mesma hierarquia default, e consequentemente já estarem sincronizados sob um conjunto de parâmetros de sincronização comum. Adicionalmente, quando a estação raiz de sincronização de um grupo é sincronizada a uma hierarquia default, a mesma derivará seus parâmetros de sincronização de grupo a partir da estação de sincronização à qual a mesma está sincronizada, os quais serão aqueles da hierarquia default.
[00277] Entretanto, o cronograma publicado de janelas de disponibilidade do grupo da estação raiz de sincronização pode ser configurado para evitar canais de comunicação congestionados, pode usar canais
Petição 870190053750, de 12/06/2019, pág. 81/341
78/94 na banda de 5 GHz (se todos os dispositivos membros forem capazes de usar aquela banda), pode ajustar seus parâmetros de janela de disponibilidade (por exemplo, comprimento, período) se necessário para evitar interferir com a aplicação ou serviço compartilhado pelos dispositivos membros, e/ou considerar outros fatores. Deste modo, em ambientes diferentes ou implementações diferentes, um parâmetro de sincronização de grupo pode ser idêntico àqueles de uma hierarquia default adjacente ou pode diferir em qualquer grau.
[00278] Quando um grupo dispersa, os membros podem permanecer sincronizados inicialmente às estações de sincronização do grupo com as quais os mesmos estavam sincronizados. Cada estação de sincronização de grupo ou é sincronizada diretamente a uma hierarquia (no caso da estação raiz de sincronização de grupo) ou é sincronizado a estação raiz de sincronização de grupo. Devido à estação raiz de sincronização de grupo ser sincronizada com uma hierarquia, a mesma anuncia parâmetros de sincronização daquela estação raiz de sincronização da hierarquia. Sendo sincronizados com a estação raiz de sincronização de grupo, os membros do grupo, portanto podem já estar sincronizados com a hierarquia. Quando os membros deixam o grupo e retomam a execução de um algoritmo de seleção de mestre, os mesmos considerarão novamente todos os mestres na hierarquia default para possível sincronização, em vez de apenas as estações de sincronização do grupo.
[00279] Em algumas modalidades da invenção, o primeiro dispositivo que abre uma aplicação para a operação do grupo determina um identificador privado e começa anunciando o grupo (por exemplo, através de quadros de sincronização periódicos e/ou quadros de indicação de mestres). A natureza ou propósito do grupo pode ser identificado nas mesmas comunicações como o identificador privado, pode ser determinado através de um protocolo de descoberta ou de serviço, ou
Petição 870190053750, de 12/06/2019, pág. 82/341
79/94 pode ser aprendido de alguma outra forma.
[00280] Embora um escravo ou dispositivo folha seja normalmente silencioso dentro de uma hierarquia (ou seja, não emite quadros de sincronização), o mesmo pode anunciar um grupo privado dentro de quadros de indicação de mestre que o mesmo difunde durante as janelas de disponibilidade. Este anúncio pode ser transportado através de um protocolo particular no nível aplicação que suporte aplicações sociais em rede ou multiusuário, tal como App Game Kit™ por The Game Creators, ou algumas outras aplicações de jogo ou compartilhamento de conteúdo. Quando outros dispositivos contatam o primeiro dispositivo, a aplicação recebe e aceita suas solicitações para se unir.
[00281] Um dispositivo se une ao grupo determinando seu identificador privado para corresponder àquele do grupo e sincronizando com uma estação de sincronização do grupo. Depois disso, o mesmo comparece a janelas de disponibilidade anunciadas pelo mestre do grupo com o qual o mesmo está sincronizado.
[00282] As FIGURAS 9A e B retratam a criação de um grupo privado dentro de um ambiente de dispositivos pares organizados hierarquicamente, de acordo com algumas modalidades da invenção.
[00283] Nestas figuras, os dispositivos 910a - 910m são rotulados em ordem de seus valores de preferência mestres, de modo que dispositivo 910a > dispositivo 910b > dispositivo 910c > ... > dispositivo 910m. Uma representação de um dispositivo ilustrativo 910e é ampliada; como mostrado na ampliação, a dupla abaixo de um rótulo do dispositivo identifica os identificadores default e de grupo do dispositivo na forma x/y, em que x é o identificador default e y é o identificador de grupo. A escala 902 retrata a distância que se iguala a alcance próximo no ambiente.
[00284] Na FIG. 9A, uma coleção dos dispositivos pares é organi
Petição 870190053750, de 12/06/2019, pág. 83/341
80/94 zada em duas hierarquias, uma roteada no dispositivo 910a e a outra roteada no dispositivo 910c. Todos os dispositivos correntemente estão inativos, como indicado por suas duplas de identificadores default e de grupo de 0/0.
[00285] Pode ser observado que o dispositivo 910g, para o qual os limites de alcance próximo são mostrados, sincronizaram com a árvore que é roteada em 910c em vez da árvore roteada no dispositivo 910a mesmo embora a mesma esteja dentro do alcance próximo dos dispositivos 910f, 910j, qualquer ou ambos os quais devem anunciar valores de preferência mestre (com respeito ao dispositivo 910a) que são maiores do que aqueles anunciados pelo dispositivo 910i (com respeito ao dispositivo 910c).
[00286] Isto pode ocorrer se, por exemplo, nenhum dos dispositivos 910f e 910j puder atuar como estação de sincronização, talvez devido à profundidade máxima da hierarquia especificada pelo protocolo sendo implementado nesta implementação, a profundidade máxima da hierarquia se refere à quantidade máxima de saltos entre a estação raiz de sincronização e o dispositivo folha extremo. Portanto, com uma profundidade máxima de 3, pode haver no máximo 3 níveis de dispositivos mestres (uma estação raiz de sincronização no estrato 0 e estações de ramificação de sincronização nas camadas 1 e 2) seguidos por uma camada dos dispositivos folha. Em outras palavras, a profundidade máxima da hierarquia pode identificar a quantidade máxima de camadas ou níveis nos quais as estações de sincronização podem ser encontradas, e os dispositivos folha podem ser encontrados naquelas camadas (exceto camada zero raiz) e um estrato adicional.
[00287] No ambiente da FIG. 9A, se os dispositivos 910g, 910h, 910i e 910j escolherem trocar dados (por exemplo, para jogar um jogo ou para compartilham um documento), os mesmos implementarão um identificador de grupo diferente, por exemplo 1. Usando regras aplicá
Petição 870190053750, de 12/06/2019, pág. 84/341
81/94 veis e um processo de seleção adequado (por exemplo, um processo descrito em uma seção prévia), estes dispositivos selecionarão o dispositivo 910g como a estação raiz de sincronização do grupo devido à mesma ter o melhor valor de preferência mestre entre os dispositivos. [00288] Em uma implementação ilustrativa, a criação do grupo começa quando um primeiro dispositivo abre uma aplicação de jogo que tem um aspecto multijogador. O jogo pode usar o protocolo Bonjour® ou outro meio para anunciar a disponibilidade da instância do jogo, juntamente com o identificador de grupo. Outros dispositivos de jogadores potenciais são então notificados que devem mudar seus identificadores de grupo adequadamente se os mesmos quiserem se unir.
[00289] A FIG. 9B retrata o ambiente e dispositivos da FIG. 9A depois do grupo privado ter adotado um identificador de grupo de 1 e sincronizado entre eles próprios. Os dispositivos 910h, 910i e 910j sincronizaram com sua estação raiz de sincronização de grupo, o dispositivo 910g (por exemplo, como requerido pela Regra 1 (ou 2) acima), e o dispositivo 910g sincronizaram com o dispositivo 910c como o melhor dispositivo mestre de hierarquia default dentro de alcance distante (por exemplo, como requerido pela Regra 4 acima).
[00290] O dispositivo 910g emitirá quadros de sincronização regulares (por exemplo, PSFs) para manter os membros do grupo sincronizados, e também comparecerá às janelas de disponibilidade anunciadas pelo dispositivo 910c, para reter a sincronização com a hierarquia do dispositivo 910c. Agendando uma ou mais de suas janelas de disponibilidade para corresponder ao cronograma anunciado pelo dispositivo 910c, o dispositivo 910g também pode sincronizar os dispositivos 910h e 910i com a hierarquia roteada no dispositivo 910c.
[00291] No ambiente da FIG. 9B, o dispositivo 910m pode permanecer sincronizado com o dispositivo 910h enquanto o grupo 1 estiver ativo, devido ao dispositivo 910h ser o melhor dispositivo mestre den
Petição 870190053750, de 12/06/2019, pág. 85/341
82/94 tro de alcance próximo que tem o mesmo identificador default. Quando o grupo privado se dispersa, os dispositivos individuais do grupo retomarão a execução normal de seus algoritmos de seleção de mestres e, se os dispositivos pares no ambiente não tiverem mudado de localização, a configuração do dispositivo pode retornar para aquela retratada na FIG. 9A, ou para uma configuração similar.
[00292] Em algumas modalidades da invenção, um grupo possui sua própria profundidade máxima de hierarquia e esta profundidade máxima do grupo pode ser aplicada para estender aquela de uma hierarquia default (por exemplo, quando a estação raiz de sincronização do grupo sincroniza com um dispositivo não do grupo que é um membro da hierarquia default). Por exemplo, com referência à FIG. 9B, supondo que o dispositivo 910d tivesse um valor de preferência mestre maior do que o dispositivo 910c (ou supondo que os mesmos trocaram de lugar), e que ambos estão dentro de alcance distante da estação raiz de sincronização de grupo 910g mas não dentro de alcance próximo. As regras de sincronização acima determinariam que o dispositivo 910g sincronizasse com o dispositivo 910d, mas isto normalmente seria impedido devido à profundidade máxima da hierarquia default (ou seja, três).
[00293] Nestas modalidades da invenção, entretanto, uma profundidade máxima default é estendida por um parâmetro de profundidade máxima de um grupo. Portanto se a profundidade máxima da hierarquia default na FIG. 9B for três, e se a profundidade máxima da hierarquia de grupo for dois, então o percurso mais longo a partir da estação raiz de sincronização default para um dispositivo folha que passe por pelo menos um membro do grupo, é cinco. Neste cenário ilustrativo, o dispositivo 910g pode sincronizar com o dispositivo 910d, por exemplo, e a distância máxima do percurso então seria demonstrada entre estação raiz de sincronização default 910a e dispositivo folha
Petição 870190053750, de 12/06/2019, pág. 86/341
83/94
910m (ou seja, 910a 910b 910d 910g 910h 910m).
[00294] Dois ou mais grupos que têm identificadores de grupo diferentes mas operam a mesma aplicação podem se combinar. Similar ao processo de sincronização dentro de uma hierarquia, os membros sincronizarão sob a melhor estação de sincronização que seja um membro dos grupos combinados, e adotarão aquele identificador de grupo da estação, ou possivelmente gerarão um novo um para o grupo combinado.
[00295] As FIGURAS 10A a C retratam o combinador de múltiplos grupos privados de acordo com algumas modalidades da invenção. Nestas modalidades, os dispositivos podem estar operando as mesmas aplicações ou compatíveis para compartilhar arquivos, jogar um jogo, usar um recurso compartilhado, etc. Por exemplo, os dispositivos de um grupo privado podem se mover para mais próximo a outro grupo privado que esteja usando a mesma aplicação, e uma camada de protocolo de nível mais baixo pode informar uma camada mais alta (por exemplo, a aplicação) da disponibilidade de outros dispositivos. A aplicação pode (ou pode não) adicionar aqueles dispositivos a seu grupo, dependendo de sua configuração ou restrições colocadas na aplicação.
[00296] Na FIG. 10A, os dispositivos são rotulados em ordem de acordo com seus valores de preferência, em que dispositivo 1010a > dispositivo 1010b > ... > dispositivo 1010e. Os dispositivos 1010a e 1010b formam um grupo privado, que tem identificador de grupo 1, enquanto os dispositivos 1010c, 1010d e 1010e formam um segundo grupo que tem identificador de grupo 2. Suas estações raízes de sincronização de grupo (ou seja, dispositivos 1010a, 1010c) podem ser sincronizadas à mesma hierarquia ou hierarquias diferentes, e ainda podem ser sincronizadas ao mesmo dispositivo dentro de uma hierarquia default.
Petição 870190053750, de 12/06/2019, pág. 87/341
84/94 [00297] Quando os dois grupos dos dispositivos ficam mais próximos, ou quando um dispositivo no grupo roteado no dispositivo 1010c detecta o outro grupo, que anuncia uma estação raiz de sincronização de grupo melhor, os grupos podem começar para se combinar. A decisão de se combinar ou não múltiplos grupos operando em uma aplicação comum, mas que tem diferente identificadores de grupo, é feita por aquela aplicação. Se os mesmos estão combinados, um dos mesmos descarta seu identificador de grupo e adota o do outro. Em um cenário nos quais dois grupos diferentes adotam independentemente o mesmo identificador de grupo, os mesmos podem ser automaticamente combinados se e quando os mesmos se aproximam [00298] A FIG. 10B retrata os dispositivos da FIG. 10A depois do dispositivo 1010d escutar um quadro de sincronização do dispositivo 1010b. Devido à estação raiz de sincronização de grupo 1010a ter um valor de preferência maior do que o dispositivo 1010c, o dispositivo 1010d adota o identificador de grupo daquele grupo e quebra a sincronização com o dispositivo 1010c.
[00299] O quadro de sincronização emitido pelo dispositivo 1010b que lidera o dispositivo 1010d para mudar grupos pode ser um quadro de indicação de mestre (MIF) emitido em um canal social. Em uma modalidade da invenção refletida nas FIGURAS 10A a C, os dispositivos são programados para ocasionalmente sintonizar a um canal social, o que permite que os mesmos escutem dispositivos diferentes daqueles com os quais os mesmos já estão sincronizados neste caso isto permite que o dispositivo 1010d escute o MIF emitido pelo dispositivo 1010b.
[00300] Durante a maior parte das janelas de disponibilidade observadas por um grupo ou outro conjunto de dispositivos sincronizados, os dispositivos se encontrarão em um canal não usado amplamente (por exemplo, um canal não social). Entretanto, durante algumas jane
Petição 870190053750, de 12/06/2019, pág. 88/341
85/94 las de disponibilidade (por exemplo, aquelas que têm números de sequência 0, 15, 31 e 47 em uma sequência de 64 janelas de disponibilidade), o encontro ocorre em canais sociais. Portanto, embora o dispositivo 1010d normalmente não escutaria dispositivo 1010b devido aos dois grupos separados gastarem a maior parte de seus tempos em canais diferentes (não sociais), a difusão periódica de MIFs em um ou mais canais sociais permite que os dispositivos aprendam dos dispositivos fora de seu próprio grupo de dispositivos sincronizados.
[00301] A FIG. 10C retrata o ambiente depois dos dispositivos 1010c, 1010e escutarem o dispositivo 1010d anunciando o grupo 1 e o valor de preferência mestre do dispositivo 1010a. Os mesmos também abandonam o grupo 2 e sincronizam com aquele grupo.
[00302] Em uma modalidade da invenção retratada nas FIGURAS 10A a C, o processo de combinar dois grupos separados usando uma aplicação comum pode envolver mais interação. Nesta modalidade, quando os grupos primeiro chegam ao alcance, de modo que um dispositivo em um dos grupos possa escutar um dispositivo no outro grupo, os dispositivos dos grupos primeiro sincronizarão dentro de sua hierarquia default comum. Isto coloca ambos no mesmo cronograma de janelas de disponibilidade, o que permite que os mesmos descubram facilmente uns aos outros e seus serviços (por exemplo, agora os mesmos podem rodar o protocolo Bonjour). Por exemplo, devido aos mesmos agora comparecerem ao mesmo cronograma de janelas de disponibilidade, os mesmos periodicamente se encontrarão no mesmo canal social (por exemplo, pelo menos durante a janela de disponibilidade de número de sequência 0).
[00303] Através de MIFs emitidos durante estes encontros sociais periódicos, e/ou quadros Bonjour, o dispositivo 1010d (e/ou outros dispositivos) detectarão sua proximidade a dispositivos pares que estão usando a mesma aplicação mas com identificadores de grupo diferen
Petição 870190053750, de 12/06/2019, pág. 89/341
86/94 tes, e vice versa. Nestes dispositivos, a aplicação comum (ou algum software utilitário ou camada superior do protocolo de comunicação) decidirá que um dos identificadores de grupo tem que ser descartado para que ambos os dispositivos dos grupos possam trabalhar juntos. [00304] Assumir que o grupo 2 seja descartado, o dispositivo 1010d adotará o identificador do grupo 1 e aplicará um conjunto de regras para sincronizar com um grupo, tal como aquelas delineadas acima. A Regra 1 acima faz com que o dispositivo 1010d sincronize com o dispositivo 1010b, devido ao mesmo ser o melhor dispositivo do grupo ou estação de sincronização no alcance próximo.
[00305] Os dispositivos 1010c, 1010e então aprenderão do outro grupo (por exemplo, através de um MIF durante uma janela de disponibilidade em um canal social, ou através de Bonjour), trocarão o identificador de grupo 2 pelo identificador de grupo 1 e aplicarão as regras de sincronização do grupo aplicáveis. O conjunto de regras de sincronização tal como aquele delineado acima pode indicar que o dispositivo 1010e deve sincronizar com o dispositivo 1010c (por exemplo, de acordo com a Regra 1). Entretanto, um conjunto operacional de regras para este cenário pode dar mais peso e ênfase para sincronizar com os dispositivos em camadas mais baixas em uma hierarquia (ou seja, mais próximas à raiz). Deste modo, devido ao dispositivo 1010d estar no estrato 1 e estar dentro do alcance próximo, enquanto o dispositivo 1010c está no estrato 2, o dispositivo 1010e escolherá o dispositivo 1010d como seu mestre.
[00306] Em algumas modalidades da invenção, os parâmetros de configuração e/ou de comportamento do dispositivo aplicados por um dispositivo podem mudar quando um grupo privado é criado, mantido ou disperso. Por exemplo, um parâmetro de profundidade máxima da hierarquia pode ser ultrapassado para permitir que os membros de um grupo sincronizem com uma hierarquia através de sua estação raiz de
Petição 870190053750, de 12/06/2019, pág. 90/341
87/94 sincronização de grupo, mesmo se o parâmetro em caso contrário bloqueasse alguns ou todos os membros do grupo de manter sincronização com uma hierarquia.
[00307] Como descrito acima, uma profundidade máxima de hierarquia do “grupo” adicional pode ser adicionada à profundidade máxima de uma hierarquia default quando um grupo é formado. A quantidade máxima de saltos a partir da estação raiz de sincronização default de um dispositivo dentro do grupo, ou de um dispositivo que não seja um membro do grupo mas que esteja sincronizado com a hierarquia default através de um membro do grupo, é igual à soma dos dois parâmetros de profundidade.
[00308] Como outro exemplo, um dispositivo que tinha sido uma folha em uma hierarquia default, e portanto não difundia quadros de sincronização, pode fazê-lo se e quando o mesmo se torna um membro de um grupo privado. Este comportamento alterado pode ser somente temporário, e pode permitir que o grupo inclua dispositivos que caso contrário não aprenderiam do mesmo. Adicionalmente, e como já discutido, o processo de selecionar mestres dentro de um grupo pode ser diferente de, e pode superar um processo de seleção de mestre “normal” que um dispositivo executa quando o mesmo não é parte de um grupo privado.
Um Dispositivo par [00309] A FIG. 8 é um diagrama de blocos de um dispositivo par de comunicação, de acordo com algumas modalidades da invenção. Duas camadas de protocolo primário ou camadas operacionais são retratadas na FIG. 8 - a Camada de Enlace Lógico e a Camada de Enlace de Dados. Acima da camada de enlace lógico uma ou mais aplicações e/ou utilitários (por exemplo, mDNS, Bonjour) podem operar; abaixo da Camada de Enlace de Dados fia a Camada Física, responsável por transmitir quadros sobre, e receber quadros de, o meio de transmisPetição 870190053750, de 12/06/2019, pág. 91/341
88/94 são.
[00310] Em algumas modalidades da invenção, a Camada de Enlace Lógico e a Camada de Enlace de Dados podem ser implementadas fisicamente por processadores separados ou por circuitos integrados que residem em um único componente. No dispositivo de comunicação ilustrativo da FIG. 8, alguns componentes do dispositivo são omitidos por motivo de clareza, tais como os componentes processador, memória, visor, antena e porta de comunicação, entre outros.
[00311] Dentro da camada de enlace de dados, os quadros de sincronização (por exemplo, quadros de sincronização periódicos ou PSFs, quadro de indicação de mestres ou MIFs) são emitidos por e/ou recebidos pela máquina de estado de sincronização 810. Quadros de entrada de sincronização são roteados para o banco de dados de mestre 820 e então passados para cima para a camada de enlace lógico. Os quadros de dados são manipulados por filas de pacotes 822.
[00312] A máquina de estado de sincronização 810 tem dois modos - folha e mestre - e executa continuamente em algumas implementações. Como discutido anteriormente, um dispositivo mestre, também conhecido como uma estação de sincronização, é um dispositivo que emite quadros de sincronização periódicos, enquanto um dispositivo folha não o faz, mas é sincronizado com um mestre.
[00313] A máquina de estado é responsável pela sincronização do dispositivo par a sua estação de sincronização corrente (por exemplo, se o dispositivo for uma folha). Se o dispositivo for um mestre, a máquina de estado 810 gerencia sua transmissão de quadros de sincronização periódicos e/ou quadros de indicação de mestre, e também gerencia sua presença na janela de disponibilidade.
[00314] A máquina de estado de varredura 812 varre canais sociais para quadros de sincronização periódicos. O gerenciador de canal de rádio 814 gerencia os recursos de rádio (por exemplo, uma antena
Petição 870190053750, de 12/06/2019, pág. 92/341
89/94 compartilhada) com outras entidades (por exemplo, um módulo de infraestrutura) e entre rádios diferentes (por exemplo, Wi-Fi, Bluetooth). A máquina de estado de sincronização 810 interage com o gerenciador de canal de rádio 814 para comutar o rádio do dispositivo para o canal correto para uma janela de disponibilidade, na hora apropriada. A máquina de estado de varredura 812 e/ou outros componentes do dispositivo podem interagir com o gerenciador de canal de rádio para outros propósitos (por exemplo, varrer um canal por novos dispositivos).
[00315] A memória temporária de amortecimento do par 816 armazena informação relevante de uma quantidade limitada de outros dispositivos com os quais o dispositivo hospedeiro par está se comunicando ou está para se comunicar. O uso desta memória temporária de amortecimento pode ajudar a aliviar problemas associados com restrições de memória em algumas implementações de hardware / firmware. Por exemplo, a camada de enlace de dados pode ser implementada por uma pastilha de microcircuitos dedicada a Wi-Fi, a qual tipicamente não tem acesso a grandes bancos de memória. A informação na memória temporária de amortecimento do par 816 é sincronizada com a informação no banco de dados de par 836.
[00316] O código de seleção de mestre 818 é executado periodicamente para realizar um processo de seleção para selecionar ou identificar estações de sincronização, usando informação do banco de dados de par 836 e/ou outra informação. Por exemplo, a execução do código pode fazer com que uma classificação dos dispositivos no banco de dados de mestre 820, baseada em sua adequabilidade seja um mestre.
[00317] O banco de dados de mestre 820 armazena dados com respeito a todos os mestres que o dispositivo par tem conhecimento. Estes dados podem ser usados para sincronização e/ou seleção de
Petição 870190053750, de 12/06/2019, pág. 93/341
90/94 mestre, e podem incluir, mas não são limitados a, RSSI (por exemplo, de último quadro, média de múltiplos quadros, mínimo, máximo), valores de preferência mestres, métricas de seleção e parâmetros de sincronização.
[00318] Em algumas modalidades da invenção, o banco de dados de mestre 820 é populado ou atualizado, e o código de seleção de mestre 818 executado, em consequência da recepção de cada quadro de sincronização periódico.
[00319] As filas de pacotes 822 da camada de enlace de dados armazena quadros de dados de entrada e/ou de saída. As filas de pacotes 832 da camada de enlace lógico armazenam tráfego do par que chega de, e que sai para, outros dispositivos.
[00320] O agendador de pacotes 830 agenda tráfego de multidifusão, difusão e difusão par a par para dispositivos sincronizados, e consultas/respostas fora da banda para mestres com os quais o par não está sincronizado (“mestres não sincronizados”) e para dispositivos sincronizados com mestres não sincronizados. O banco de dados de par armazena informação com respeito às janelas de disponibilidade de mestres não sincronizados, modos de presença e outra informação relacionada a sincronismo.
[00321] O gerenciador de modo de presença 834 controla o modo de presença do dispositivo par, baseado em fatores que podem incluir, mas que não são limitados a: enlaces de dados ativos correntes para dispositivos sincronizados, taxas de dados correntes para aqueles dispositivos, exigências de varredura, exigências de consulta fora da banda, estado de gerenciamento de potência, exigências de Bluetooth, outras exigências de rádio, etc.
[00322] O banco de dados de par 836 identifica todos os dispositivos conhecidos do dispositivo par ilustrado na FIG. 8, e armazena informação com respeito a cada dispositivo. Esta informação pode inclu
Petição 870190053750, de 12/06/2019, pág. 94/341
91/94 ir, mas não é limitada a, seu mestre raiz, outros mestres, métricas de seleção de mestre, capacidades (por exemplo, banda de frequências suportada, larguras de banda do canal, taxas de modulação/dados), modo de presença, serviços suportados pelo dispositivo, concordância ACK de bloco pendente, e assim por diante. O banco de dados de par 836 pode deste modo auxiliar em um processo de seleção de mestre fornecendo uma lista de dispositivos candidatos que pode ser ordenada por valor de preferência.
[00323] As interfaces de aplicação 838 incluem interfaces para camadas e módulos mais altos do sistema, os quais podem incluir mas não são limitados a: configuração e gerenciamento de rede, uma GUI (Interface Gráfica de Usuário), anúncio e descoberta de serviço, e assim por diante. A GUI pode apresentar para um usuário do dispositivo uma lista de pares circunjacentes, suas proximidades físicas, alcance ou forças de sinal, listas de seus serviços, e/ou outra informação.
[00324] A configuração do dispositivo par apresentada na FIG. 8 é exemplificativa. Em outras modalidades da invenção uma configuração do dispositivo par pode diferir em graus variáveis. Por exemplo, as funções dos componentes do dispositivo par da FIG. 8 podem ser combinadas de uma maneira diferente, aquelas de um único componente podem ser subdivididas, e/ou aquelas de múltiplos componentes podem ser combinadas.
[00325] Em algumas modalidades, um dispositivo par inclui um processador de aplicação para suportar aplicações (por exemplo, as aplicações e utilitários residentes em camadas mais altas na FIG. 8). O processador de aplicação fornece gerenciamento de memória, processamento gráfico e/ou outras funções necessárias para as aplicações. O dispositivo par nestas modalidades também inclui um processador de banda base para realizar comunicações sem fio, e memória e transceptor correspondentes para suportar as comunicações e procesPetição 870190053750, de 12/06/2019, pág. 95/341
92/94 samento das comunicações.
[00326] O processador de banda base pode incluir todos os componentes retratados na camada de enlace lógico e camadas de enlace de dados e a funcionalidade descrita em conjunto com aqueles componentes. O processador de banda base também pode manipular algumas tarefas normalmente associadas com a camada física (por exemplo, codificação de canal).
[00327] Deste modo, em algumas modalidades da invenção, um “módulo de comunicação” ou “módulo de comunicação sem fio” de um dispositivo par pode se referir a um processador de banda base robusto descrito imediatamente acima. Em algumas outras modalidades, um módulo de comunicação pode abranger um processador de banda base e um transceptor correspondente para operar ou gerenciar uma antena do dispositivo, e possivelmente a memória usada pelo processador de banda base. Em ainda outras modalidades, um módulo de comunicação pode abranger os componentes da camada de enlace lógico e camada de enlace de dados da FIG. 8, e outros componentes necessários para transmitir e receber dados para e a partir do dispositivo par.
[00328] Algumas modalidades da invenção promovem a coexistência de um protocolo de comunicação par a par, como descrito neste documento, com outras aplicações que requerem o rádio ou outros recursos de comunicação de um dispositivo par. Por exemplo, o dispositivo pode operar uma aplicação ou outro protocolo, tal como Bluetooth®.
[00329] Nestas modalidades, as comunicações Bluetooth podem ser realizadas como desejado, exceto durante a janela de disponibilidade do dispositivo e quaisquer extensões das mesmas. Fora da janela de disponibilidade, varreduras de Bluetooth, consultas e/ou outras operações são permitidas, e podem mesmo ter prioridade sobre quaPetição 870190053750, de 12/06/2019, pág. 96/341
93/94 dros dados aderindo de acordo com um protocolo fornecido aqui. [00330] Um quadro de sincronização periódico de mestre pode ser atrasado devido a uma operação de Bluetooth (ou outra aplicação/protocolo) que usa a antena do dispositivo, mas normalmente não será descartado. As operações de Bluetooth ou outras não podem ser permitidas durante consultas e respostas fora da banda.
[00331] A sincronização e operação dos dispositivos pares como fornecidas neste documento também podem coexistir com uma aplicação ou protocolo que se baseia em alguma infraestrutura de comunicação (por exemplo, um ponto de acesso) que não é parte da hierarquia do dispositivo par.
[00332] O ambiente no qual algumas modalidades da invenção são executadas pode incorporar um computador de propósito geral ou um dispositivo de propósito especial tal como um computador portátil, telefone inteligente ou outro dispositivo móvel. Detalhes destes dispositivos (por exemplo, processador, memória, armazenamento de dados, visor) podem ser omitidos com o objetivo de clareza.
[00333] As estruturas de dados e código descritos nesta descrição detalhada são tipicamente armazenados em um meio de armazenamento legível por computador, que pode ser qualquer dispositivo ou meio que possa armazenar código e/ou dados para serem usados por um sistema computador. O meio de armazenamento legível por computador inclui, mas não é limitado a, memória não volátil, dispositivos de armazenamento magnéticos e ópticos tais como controladores de disco, fita magnética, CDs (discos compactos), DVDs (discos versáteis digitais ou discos de vídeo digitais), ou outra mídia capaz de armazenar mídia legível por computador conhecida agora ou desenvolvida posteriormente.
[00334] Os métodos e processos descritos na descrição detalhada podem ser incorporados como código e/ou dados, os quais podem ser
Petição 870190053750, de 12/06/2019, pág. 97/341
94/94 armazenados em um meio de armazenamento legível por computador como descrito acima. Quando um sistema computador lê e executa o código e/ou dados armazenados no meio de armazenamento legível por computador, o sistema computador realiza os métodos e processos incorporados como estruturas de dados e código e armazenados dentro do meio de armazenamento legível por computador.
[00335] Além disso, os métodos e processos descritos abaixo podem ser incluídos em módulos de hardware. Por exemplo, os módulos de hardware podem incluir, mas não são limitados a, pastilhas de microcircuitos de circuito integrado de aplicação específica (ASIC), conjunto de portas programáveis em campo (FPGAs) e outros dispositivos lógicos programáveis conhecidos agora ou desenvolvidos posteriormente. Quando os módulos de hardware são ativados, os módulos de hardware realizam os métodos e processos incluídos dentro dos módulos de hardware.
[00336] As descrições acima de modalidades da invenção foram apresentadas para somente propósitos de ilustração e descrição. As mesmas não são destinadas a ser exaustivas ou a limitar a invenção às formas reveladas. Consequentemente, muitas modificações e variações ficarão evidentes para indivíduos versados na técnica. O escopo da invenção é definido pelas reivindicações em anexo, e não pela divulgação precedente.

Claims (20)

  1. REIVINDICAÇÕES
    1. Aparelho para selecionar uma estação de sincronização entre múltiplos dispositivos pares dentro de um ambiente de comunicação par a par, em que o aparelho compreende um dispositivo par dos múltiplos dispositivos pares, o aparelho caracterizado pelo fato de que compreende:
    um processador de um módulo de hardware;
    um rádio (814) acoplado ao processador;
    um componente de memória acoplado ao processador, configurado para armazenar um valor de preferência, em que o valor de preferência é usado para selecionar a estação de sincronização;
    o processador configurado para:
    selecionar a estação de sincronização a partir de uma listagem ordenada dos múltiplos dispositivos pares;
    determinar que o aparelho foi selecionado como uma estação de ramificação de sincronização; e transmitir quadros de sincronização compreendendo: um valor de preferência do aparelho e um valor de preferência de uma estação raiz de sincronização que os dispositivos de recepção usam para selecionar uma estação de sincronização entre os múltiplos dispositivos pares.
  2. 2. Aparelho, de acordo com a reivindicação 1, caracterizado pelo fato de que o valor de preferência do aparelho é calculado com base pelo menos em parte em uma métrica do aparelho.
  3. 3. Aparelho, de acordo com a reivindicação 1, caracterizado pelo fato de que a listagem ordenada compreende: ordenar os múltiplos dispositivos pares de acordo com seus valores de preferência.
  4. 4. Aparelho, de acordo com a reivindicação 1, caracterizado pelo fato de que o processador é ainda configurado para:
    Petição 870190053750, de 12/06/2019, pág. 333/341
    2/9 selecionar uma estação raiz de sincronização responsável por determinar um cronograma de encontro para os múltiplos dispositivos pares; e selecionar uma ou mais estações de ramificação de sincronização responsáveis por disseminar o cronograma de encontro por todo o ambiente de comunicação.
  5. 5. Aparelho, de acordo com a reivindicação 2, caracterizado pelo fato de que a métrica compreende: um recurso de energia disponível do aparelho, um carga de processador do aparelho, ou uma intensidade de sinal do aparelho.
  6. 6. Aparelho, de acordo com a reivindicação 1, caracterizado pelo fato de que os quadros de sincronização de transmissão compreendem: uma ou mais janelas de disponibilidade futuras que compreendem uma identificação de um tempo correspondente e um canal correspondente para cada janela de disponibilidade.
  7. 7. Aparelho, de acordo com a reivindicação 1, caracterizado pelo fato de que o processador é ainda configurado para:
    operar o rádio (814) do primeiro dispositivo para receber comunicações a partir dos múltiplos dispositivos pares;
    extrair valores de preferência das comunicações; e atualizar um banco de dados para gravar cada valor de preferência em associação com um dispositivo par correspondente
  8. 8. Método de identificar um papel do primeiro dispositivo dentro de uma hierarquia de múltiplos dispositivos pares, em que o primeiro dispositivo compreende um dispositivo par dos múltiplos dispositivos pares, o método caracterizado pelo fato de que compreende, pelo primeiro dispositivo:
    coletar valores de preferência dos múltiplos dispositivos pares, em que um valor de preferência de um dispositivo par é usado para selecionar uma estação de sincronização;
    Petição 870190053750, de 12/06/2019, pág. 334/341
    3/9 identificar como uma estação raiz de sincronização da hierarquia, um dispositivo par possuindo um valor de preferência mais alto entre os valores de preferência dos múltiplos dispositivos pares;
    selecionar, a partir dos múltiplos dispositivos pares, um conjunto de dispositivos localizado dentro de uma primeira faixa do dispositivo;
    identificar como estações de ramificação de sincronização um subconjunto do conjunto de dispositivos; e determinar que o primeiro dispositivo foi selecionado como uma estação de ramificação de sincronização do subconjunto; e transmitir quadros de sincronização incluindo um valor de preferência do primeiro dispositivo e um valor de preferência da estação raiz de sincronização que os dispositivos de recepção usam para selecionar uma estação de sincronização entre os múltiplos dispositivos pares, em que a coleta, identificação como a estação raiz de sincronização, seleção, identificação como estações de ramificação de sincronização, determinação e transmissão são realizadas usando um ou mais processos de hardware.
  9. 9. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que a coleta de valores de preferência compreende:
    operar um rádio (814) do primeiro dispositivo para receber comunicações a partir dos múltiplos dispositivos pares;
    extrair valores de preferência das comunicações; e atualizar um banco de dados para gravar cada valor de preferência em associação com um dispositivo par correspondente.
  10. 10. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que a identificação como a estação raiz de sincronização compreende:
    comparar os valores de preferência coletados; e
    Petição 870190053750, de 12/06/2019, pág. 335/341
    4/9 selecionar um dispositivo par com um valor de preferência mais alto que satisfaça uma profundidade máxima da hierarquia.
  11. 11. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que selecionar o conjunto de dispositivos localizado dentro da primeira faixa do primeiro dispositivo compreende:
    identificar uma intensidade de sinal limite;
    comparar intensidades de sinal de comunicações recebidas dos múltiplos dispositivos pares com a intensidade de sinal limite; e escolher um dispositivo par dos múltiplos dispositivos pares dos quais uma comunicação foi recebida com uma intensidade de sinal que satisfaça a intensidade de sinal limite.
  12. 12. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que a identificação como estações de ramificação de sincronização compreende:
    identificar um número máximo de estações de ramificação de sincronização;
    ordenar o conjunto de dispositivos de acordo com seus valores de preferência correspondentes; e a partir do conjunto de dispositivos ordenados, selecionar um ou mais dispositivos possuindo um valor de preferência mais alto, até o número máximo.
  13. 13. Meio legível por computador não transitório caracterizado pelo fato de que armazena instruções que, quando executadas por um processador de um primeiro dispositivo, fazem o primeiro dispositivo realizar operações para identificar o papel do primeiro dispositivo dentro de uma hierarquia de múltiplos dispositivos pares em que o primeiro dispositivo compreende um dispositivo par dos múltiplos dispositivos pares, as operações compreendendo:
    coletar valores de preferência dos múltiplos dispositivos pares, em que um valor de preferência de um dispositivo par é usado paPetição 870190053750, de 12/06/2019, pág. 336/341
    5/9 ra selecionar uma estação de sincronização;
    identificar como uma estação raiz de sincronização da hierarquia, um dispositivo par possuindo um valor de preferência mais alto entre os valores de preferência dos múltiplos dispositivos pares;
    selecionar, a partir dos múltiplos dispositivos pares, um conjunto de dispositivos localizado dentro de uma primeira faixa do primeiro dispositivo;
    identificar como estações de ramificação de sincronização um subconjunto do conjunto de dispositivos;
    determinar que o primeiro dispositivo foi selecionado como uma estação de ramificação de sincronização do subconjunto; e transmitir quadros de sincronização incluindo um valor de preferência do primeiro dispositivo e um valor de preferência da estação raiz de sincronização que os dispositivos de recepção usam para selecionar uma estação de sincronização entre os múltiplos dispositivos pares, em que a coleta, identificação como a estação raiz de sincronização, seleção, identificação como estações de ramificação de sincronização, determinação e transmissão são realizadas usando um ou mais processadores de hardware.
  14. 14. Meio legível por computador não transitório, de acordo com a reivindicação 13, caracterizado pelo fato de que a coleta de valores de preferência compreende:
    operar um rádio (814) do primeiro dispositivo para receber comunicações a partir dos múltiplos dispositivos pares;
    extrair os valores de preferência das comunicações; e atualizar um banco de dados para gravar cada valor de preferência em associação com um dispositivo par correspondente.
  15. 15. Meio legível por computador não transitório, de acordo com a reivindicação 13, caracterizado pelo fato de que o valor de preferência do primeiro dispositivo é calculado com base pelo menos
    Petição 870190053750, de 12/06/2019, pág. 337/341
    6/9 em parte em:
    uma taxa de consumo de energia do primeiro dispositivo;
    uma banda de frequência usável pelo primeiro dispositivo; uma carga de um processador do primeiro dispositivo;
    uma faixa de comunicação do primeiro dispositivo; ou um tipo do primeiro dispositivo.
  16. 16. Método de um primeiro dispositivo para identificar o papel do primeiro dispositivo dentro de uma comunidade hierárquica de dispositivos pares, em que o primeiro dispositivo compreende um dispositivo par dos dispositivos pares de comunidade hierárquica, o método caracterizado pelo fato de que compreende:
    receber através de um rádio (814), transmissão de quadros de sincronização periódica pelos dispositivos pares da comunidade hierárquica;
    extrair a partir dos quadros de sincronização periódica recebidos valores de preferência que são usados para selecionar uma estação de sincronização;
    ordenar os dispositivos pares pelos seus valores de preferência;
    identificar o primeiro dispositivo como uma estação raiz em resposta ao primeiro dispositivo possuir um valor de preferência mais alto dos dispositivos pares;
    identificar o primeiro dispositivo como uma estação de ramificação em resposta ao primeiro dispositivo estando entre um número selecionado dos dispositivos pares possuir um valor de preferência próximo mais alto;
    identificar o primeiro dispositivo como um dispositivo folha em resposta ao primeiro dispositivo não ser identificado como a estação raiz ou uma estação de ramificação;
    determinar que o primeiro dispositivo foi identificado com
    Petição 870190053750, de 12/06/2019, pág. 338/341
    7/9 uma estação de ramificação; e transmitir quadros de sincronização periódica em direção aos dispositivos pares, os quadros de sincronização periódica incluindo um valor de preferência do primeiro dispositivo e um valor de preferência da estação raiz que os dispositivos pares de recepção usam para selecionar um papel dentro da comunidade hierárquica, em que a recepção, extração, ordenação, identificação do primeiro dispositivo como a estação raiz, identificação do primeiro dispositivo como a estação de ramificação, identificação do primeiro dispositivo como o dispositivo folha, determinação, e transmissão são realizadas usando um ou mais processadores de hardware.
  17. 17. Primeiro dispositivo de comunicação par, caracterizado pelo fato de que compreende:
    um processador configurado para:
    extrair, a partir dos quadros de sincronização periódica recebidos, valores de preferência de dispositivos de comunicação par identificados associados com os quadros de sincronização periódica, em que os valores de preferência são usados para selecionar uma estação de sincronização;
    identificar um papel do primeiro dispositivo de comunicação par dentro de uma rede dos dispositivos de comunicação par com base pelo menos em parte nos valores de preferência extraídos, em que o papel do primeiro dispositivo de comunicação par é um dentre:
    uma estação raiz de sincronização;
    uma estação de ramificação de sincronização; ou um dispositivo folha;
    determinar que o primeiro dispositivo de comunicação par foi identificado como uma estação de ramificação de sincronização;
    gerar quadros de sincronização que incluem:
    um valor de preferência do primeiro dispositivo de comuni
    Petição 870190053750, de 12/06/2019, pág. 339/341
    8/9 cação par e um valor de preferência de uma estação raiz de sincronização que os dispositivos de comunicação par de recepção usam para identificar eles menos como um dentre uma estação raiz de sincronização, uma estação de ramificação de sincronização, ou um dispositivo folha; e uma ou mais janelas de disponibilidades futuras durante as quais pelo menos um dispositivo de comunicação par correspondente está disponível para comunicação; e um rádio (814) acoplado ao processador, para transmitir os quadros de sincronização.
  18. 18. Primeiro dispositivo de comunicação par, de acordo com a reivindicação 17, caracterizado pelo fato de que ainda compreende:
    um módulo de memória acoplado ao processador, configurado para armazenar valores de preferência de dispositivos de comunicação par correspondentes.
  19. 19. Primeiro dispositivo de comunicação par, de acordo com a reivindicação 18, caracterizado pelo fato de que um valor de preferência dos valores de preferência é calculado a partir de uma medida de energia disponível de um dispositivo de comunicação par correspondente.
  20. 20. Primeiro dispositivo de comunicação par, de acordo com a reivindicação 17, caracterizado pelo fato de que o valor de preferência do primeiro dispositivo de comunicação par é calculado com base pelo menos em parte em:
    uma taxa de consumo de energia do primeiro dispositivo de comunicação par;
    uma banda de frequência usável pelo primeiro dispositivo de comunicação par;
    uma carga do processador do primeiro dispositivo de coPetição 870190053750, de 12/06/2019, pág. 340/341
    9/9 municação par;
    uma faixa de comunicação do primeiro dispositivo de comunicação par; ou um tipo do primeiro dispositivo de comunicação par.
BR112014017076-2A 2012-01-13 2013-01-11 aparelho para selecionar uma estação de sincronização, método de indentificar um papel do primeiro dispositivo, meio legível por computador não transitório e primeiro dispositivo de comunicação par BR112014017076B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261586664P 2012-01-13 2012-01-13
US201261666547P 2012-06-29 2012-06-29
US13/625,752 US20130132500A1 (en) 2011-11-18 2012-09-24 Selection of a master in a peer-to-peer network environment
US13/657,707 US9516615B2 (en) 2011-11-18 2012-10-22 Selection of synchronization stations in a peer-to-peer network environment
PCT/US2013/021236 WO2013106711A1 (en) 2012-01-13 2013-01-11 Selection of synchronization stations in a peer-to-peer network environment

Publications (3)

Publication Number Publication Date
BR112014017076A2 BR112014017076A2 (pt) 2017-06-13
BR112014017076A8 BR112014017076A8 (pt) 2017-07-04
BR112014017076B1 true BR112014017076B1 (pt) 2019-11-19

Family

ID=48781942

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014017076-2A BR112014017076B1 (pt) 2012-01-13 2013-01-11 aparelho para selecionar uma estação de sincronização, método de indentificar um papel do primeiro dispositivo, meio legível por computador não transitório e primeiro dispositivo de comunicação par

Country Status (9)

Country Link
EP (1) EP2777242B1 (pt)
JP (2) JP6129872B2 (pt)
KR (1) KR101829096B1 (pt)
CN (1) CN104160678B (pt)
BR (1) BR112014017076B1 (pt)
MX (1) MX338782B (pt)
RU (1) RU2595611C2 (pt)
TW (1) TWI571166B (pt)
WO (1) WO2013106711A1 (pt)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2944040A4 (en) 2013-01-18 2016-09-21 Nokia Technologies Oy CONTROLLED SYNCHRONIZATION GROUP SELECTION
US9955505B2 (en) * 2013-12-06 2018-04-24 Apple Inc. Peer-to-peer communications on restricted channels
JP2015154143A (ja) * 2014-02-12 2015-08-24 ソニー株式会社 情報処理装置および情報処理方法
US9763208B2 (en) 2014-03-21 2017-09-12 Samsung Electronics Co., Ltd. Method and apparatus for supporting synchronization in D2D communication
US20150282064A1 (en) * 2014-03-31 2015-10-01 Qualcomm Incorporated Dedicated channel for fast initial link setup in a wireless network
US10178167B2 (en) 2014-05-30 2019-01-08 Apple Inc. Real-time peer-to-peer communications in an environment that includes a restricted channel
US9661440B2 (en) 2014-07-25 2017-05-23 Qualcomm Incorporated Methods and systems for triggering efficient application synchronization
JP6328318B2 (ja) * 2014-08-07 2018-05-23 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 無線アクセスネットワークにおいて同期を維持するためにアクセスノードに実装される方法および関連するアクセスノード
KR102251326B1 (ko) * 2014-11-25 2021-05-12 삼성전자주식회사 근접 네트워크 구성 방법 및 그 전자 장치
KR102251353B1 (ko) 2014-11-25 2021-05-12 삼성전자주식회사 근접 네트워크 구성 방법 및 그 전자 장치
CN105159105B (zh) * 2015-08-13 2019-06-14 小米科技有限责任公司 智能电器工作方法及装置
RU2647677C1 (ru) * 2017-01-10 2018-03-16 Федеральное государственное бюджетное образовательное учреждение высшего образования "Саратовский государственный технический университет имени Гагарина Ю.А." (СГТУ имени Гагарина Ю.А.) Способ определения относительного размера синхронного кластера в сети по ее макропараметрам
JP6490748B2 (ja) * 2017-06-14 2019-03-27 ノキア テクノロジーズ オーユー 制御された同期グループの選択
DE112018005647T5 (de) * 2017-10-24 2020-07-09 Skywave Networks Llc Taktsynchronisation beim Umschalten zwischen Rundsende undDatenübertragungsmodi
JP7208469B2 (ja) * 2018-02-06 2023-01-19 株式会社バッファロー 複数の無線lan中継装置を含むネットワークシステム、無線lan中継装置、ネットワークの設定方法、および、コンピュータプログラム
WO2019232464A1 (en) * 2018-06-01 2019-12-05 Apple Inc. Techniques for enabling computing devices to identify when they are in proximity to one another
JP7358315B2 (ja) * 2020-09-16 2023-10-10 株式会社東芝 無線通信装置、無線通信システム、無線通信装置の処理方法及びプログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2002A (en) * 1841-03-12 Tor and planter for plowing
GB9304638D0 (en) * 1993-03-06 1993-04-21 Ncr Int Inc Wireless data communication system having power saving function
US7519011B2 (en) * 2000-09-29 2009-04-14 Intel Corporation Frame structure for radio communications system
US20020065919A1 (en) * 2000-11-30 2002-05-30 Taylor Ian Lance Peer-to-peer caching network for user data
US6907472B2 (en) * 2001-03-30 2005-06-14 Yitran Communications Ltd. Distributed synchronization mechanism for shared communications media based networks
JP3848235B2 (ja) * 2002-10-04 2006-11-22 ソニー株式会社 通信処理装置、通信処理システム、および方法、並びにコンピュータ・プログラム
KR100552490B1 (ko) * 2003-06-13 2006-02-15 삼성전자주식회사 무선 애드혹 네트워크 환경에서 중재자 교체방법 및 그방법을 사용하는 통신시스템
JP2005094169A (ja) * 2003-09-16 2005-04-07 Sony Corp 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
US7366532B2 (en) * 2003-10-09 2008-04-29 Motorola, Inc. Group call management through receive/transmit synchronization
US7730207B2 (en) * 2004-03-31 2010-06-01 Microsoft Corporation Routing in peer-to-peer networks
US7675869B1 (en) * 2004-07-06 2010-03-09 Marvell International Limited Apparatus and method for master election and topology discovery in an Ethernet network
JP2007006437A (ja) * 2004-11-19 2007-01-11 Matsushita Electric Ind Co Ltd 通信システム、通信制御方法、通信制御装置、及び通信制御プログラム
KR20090004844A (ko) * 2006-01-06 2009-01-12 프록센스, 엘엘씨 네트워크 상의 셀 및 클라이언트 장치의 무선 네트워크동기화
US7986718B2 (en) * 2006-09-15 2011-07-26 Itron, Inc. Discovery phase in a frequency hopping network
CN101013926B (zh) * 2007-02-05 2011-06-22 华中科技大学 一种无线传感器网络通信方法和系统
CN101296249B (zh) * 2008-04-03 2010-11-10 东南大学 用于无线传感器网络的媒体访问控制方法
CN101360033B (zh) * 2008-09-28 2010-11-17 熊猫电子集团有限公司 基于状态机制的移动自组织网络分簇方法
EP2173077A1 (en) * 2008-10-06 2010-04-07 Alcatel, Lucent Shared content addressing protocol
JP5434230B2 (ja) * 2009-04-22 2014-03-05 ソニー株式会社 無線通信装置、無線通信システム、無線通信方法及びプログラム
JP5252644B2 (ja) * 2009-05-01 2013-07-31 独立行政法人情報通信研究機構 通信システム、端末装置、その制御方法、ならびに、プログラム
JP5235777B2 (ja) * 2009-05-15 2013-07-10 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
CN101815323B (zh) * 2010-02-04 2012-08-22 东南大学 无线传感器网络簇内自适应通信方法
JP5598081B2 (ja) * 2010-05-17 2014-10-01 ソニー株式会社 無線通信装置、無線通信方法、プログラム、および無線通信システム
FR2960724B1 (fr) * 2010-05-31 2012-06-29 Sierra Wireless Inc Procede de synchronisation d'un terminal sur une frequence d'un reseau de radiocommunication, produit programme d'ordinateur, moyen de stockage et terminal correspondants

Also Published As

Publication number Publication date
WO2013106711A1 (en) 2013-07-18
JP2017123697A (ja) 2017-07-13
TWI571166B (zh) 2017-02-11
EP2777242A1 (en) 2014-09-17
JP2015503885A (ja) 2015-02-02
JP6129872B2 (ja) 2017-05-17
RU2014133152A (ru) 2016-03-10
TW201342981A (zh) 2013-10-16
RU2595611C2 (ru) 2016-08-27
MX2014007896A (es) 2014-09-26
MX338782B (es) 2016-05-02
KR101829096B1 (ko) 2018-02-13
EP2777242B1 (en) 2017-08-30
BR112014017076A2 (pt) 2017-06-13
KR20140111020A (ko) 2014-09-17
JP6529534B2 (ja) 2019-06-12
BR112014017076A8 (pt) 2017-07-04
CN104160678B (zh) 2017-06-23
CN104160678A (zh) 2014-11-19

Similar Documents

Publication Publication Date Title
BR112014017076B1 (pt) aparelho para selecionar uma estação de sincronização, método de indentificar um papel do primeiro dispositivo, meio legível por computador não transitório e primeiro dispositivo de comunicação par
US10271293B2 (en) Group formation within a synchronized hierarchy of peer-to-peer devices
US10206190B2 (en) Selection of synchronization stations in a peer-to-peer network environment
US9473574B2 (en) Synchronization of devices in a peer-to-peer network environment
US10003642B2 (en) Operating a cluster of peer-to-peer devices
US9491593B2 (en) Method and apparatus for cooperative channel switching
US9955505B2 (en) Peer-to-peer communications on restricted channels
KR101443572B1 (ko) 멀티 채널 무선 네트워크에서의 채널간 통신 방법
CN109076104A (zh) 邻居感知联网调度协商
Bellavista et al. MANET-Oriented SDN: motivations, challenges, and a solution prototype
Bellavista et al. SDN-based traffic management middleware for spontaneous WMNs
TWI533732B (zh) 在點對點網路環境中的裝置同步
Nobach et al. Towards decentralized, energy-and privacy-aware device-to-device content delivery
Sewak et al. Forming structured p2p overlays over disjoint MANET clusters
Cavalcanti de Castro Enhancing P2P Systems over Wireless Mesh Networks
Al-Nuaimi A virtualised routing protocol for improving network lifetime in cluster based sensor networks

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 11/01/2013, OBSERVADAS AS CONDICOES LEGAIS. (CO) 20 (VINTE) ANOS CONTADOS A PARTIR DE 11/01/2013, OBSERVADAS AS CONDICOES LEGAIS