BR112012017735B1 - método implementado por máquina para anunciar um serviço em um ambiente de rede ponto-a-ponto e dispositivo portátil - Google Patents

método implementado por máquina para anunciar um serviço em um ambiente de rede ponto-a-ponto e dispositivo portátil Download PDF

Info

Publication number
BR112012017735B1
BR112012017735B1 BR112012017735-4A BR112012017735A BR112012017735B1 BR 112012017735 B1 BR112012017735 B1 BR 112012017735B1 BR 112012017735 A BR112012017735 A BR 112012017735A BR 112012017735 B1 BR112012017735 B1 BR 112012017735B1
Authority
BR
Brazil
Prior art keywords
service
period
discovery
advertisement
announcement
Prior art date
Application number
BR112012017735-4A
Other languages
English (en)
Other versions
BR112012017735A2 (pt
Inventor
Pierre Vandwalle
Tito Thomas
Charles Francis Dominguez
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
Application filed by Apple Inc. filed Critical Apple Inc.
Publication of BR112012017735A2 publication Critical patent/BR112012017735A2/pt
Publication of BR112012017735B1 publication Critical patent/BR112012017735B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/08Access restriction or access information delivery, e.g. discovery data delivery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/24Radio transmission systems, i.e. using radiation field for communication between two or more posts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0212Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
    • H04W52/0216Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave using a pre-established activity schedule, e.g. traffic indication frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • H04L67/16
    • H04L67/2861
    • H04L67/325
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/16Interfaces between hierarchically similar devices
    • H04W92/18Interfaces between hierarchically similar devices between terminal devices
    • 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

PROPAGANDA E DESCOBERTA DE SERVIÇO EFICIENTE EM UM AMBIENTE DE REDE PONTO-A-PONTO COM PERÍODOS DINÂMICOS DE PROPAGANDA E DESCOBERTA COM BASE EM CONDIÇÕES DE OPERAÇÃO. A presente invenção refere-se a um dispositivo local que é configurado para monitorar as condições de operação acopladas a uma rede sem fio. Um período de propaganda é dinamicamente ajustado com base nas condições de operação do dispositivo local, onde o período de propaganda é dinamicamente ajustado com base pelo menos em uma condição de bateria do dispositivo local, um comportamento do usuário do dispositivo local, em uma condição de tráfego de rede, ou em um tipo de serviço a ser anunciado. O dispositivo local transmite uma propaganda de serviço na rede sem fio de acordo com o período de propaganda ajustado, a propaganda de serviço incluindo um ou mais IDs de serviço para identificar um ou mais serviços a serem anunciados do dispositivo local.

Description

PEDIDOS RELACIONADOS
[0001] Este pedido reivindica prioridade do Pedido de Patente Provisório Norte-Americano No. 61/289.689, depositado em 23 de dezembro de 2009, que é incorporado para referência em sua totalidade.
CAMPO DA INVENÇÃO
[0002] Concretizações da invenção se referem, de modo geral, ao campo de rede ponto-a-ponto, e, mais particularmente, ao anúncio de serviço e à descoberta de serviço em um ambiente de rede ponto a ponto.
ANTECEDENTES
[0003] Dispositivos, tais como dispositivos eletrônicos, sistemas de computação, dispositivos portáteis, e dispositivos de mão apresentam aplicativos de software, tais como aplicativos de jogo. Alguns destes aplicativos são compartilhados, por exemplo, múltiplos dispositivos podem participar de um aplicativo de jogos em uma maneira colaborati- va. As características compartilhadas de um aplicativo podem ser referidas como serviços. Antes que um dispositivo possa usar um serviço oferecido por outro dispositivo, o dispositivo participante (o descobridor) tem que descobrir tal serviço disponível em uma rede. Serviços são anunciados por um dispositivo remoto (isto é, o anunciante) na rede.
[0004] Várias técnicas de descoberta estão disponíveis para dis positivos eletrônicos conectados a uma rede ou tentando se conectar a uma rede. Estas técnicas de descoberta tipicamente envolvem o uso de um protocolo de rede para determinar que dispositivos e/ou serviços estão disponíveis através de uma conexão de rede. Estas técnicas de descoberta são úteis para muitas situações. No entanto, em certas situações, estas técnicas de descoberta não são ótimas.
[0005] Tipicamente, cada dispositivo em uma rede é configurado para periodicamente varrer e/ou anunciar um serviço na rede de acordo com o cronograma de varredura e de anúncio comumente conhecido, tal como, por exemplo, em uma faixa de período de 100 - 800 mi- lissegundos (ms). Quando houver muitos dispositivos na rede em localização próxima, tal estratégia de varredura e/ou anúncio poderá não ser eficiente, visto que pode haver um grande congestionamento de canal de comunicações, o que resulta na demora de os dispositivos descobrirem um serviço de outro dispositivo e/ou anunciarem um serviço. Em tal cenário, não seria necessário gastar tempo adicional com a varredura para assegurar uma descoberta de serviço confiável. O tempo adicional gasto com a varredura consome uma grande quantidade de energia, que é um recurso crítico em um dispositivo eletrônico portátil. Além disso, as frequentes varreduras de descoberta frequente e transmissão de anúncio podem consumir mais energia, a qual é importante para um dispositivo portátil. Há uma carência de um modo eficaz para otimizar a descoberta e/ou o anúncio de serviço para dispositivos portáteis.
SUMÁRIO DA DESCRIÇÃO
[0006] De acordo com algumas concretizações, é utilizado um me canismo de descoberta e de anúncio de serviço para permitir que um dispositivo (por exemplo, um dispositivo portátil eletrônico, tal como um notebook, um telefone celular/smartphone, um reprodutor de mídia, um assistente digital pessoal (PDA), ou uma combinação dos mesmos) eficientemente descubra e/ou anuncie um ou mais serviços em uma rede sem fio (por exemplo, IEEE 802.11 ou WiFi, rede de área pessoal, tal como rede compatível com Bluetooth).
[0007] Em uma concretização, quando um primeiro dispositivo anunciar um ou mais serviços em uma rede sem fio, o primeiro dispositivo irá transmitir ou transmitir em multicast uma mensagem de anúncio (também simplesmente referida como anúncio) na rede, onde o anúncio inclui um ou mais identificadores de serviço (por exemplo, hashes, cada qual identificando um serviço específico potencialmente disponibilizado no primeiro dispositivo). O anúncio adicionalmente inclui informação referente à disponibilidade, tal como um plano de disponibilidade, do primeiro dispositivo na qual o primeiro dispositivo estará sintonizado na rede para ouvir quaisquer solicitações de serviço acerca do anúncio. Posteriormente, o primeiro dispositivo poderá desligar ou reduzir a alimentação de energia para pelo menos uma porção, tal como uma porção de radiofrequência (RF) (por exemplo, transceptor, antena), do primeiro dispositivo até certo período de tempo subsequente de acordo com a informação de disponibilidade (por exemplo, plano de disponibilidade). Alternativamente, o primeiro dispositivo poderá executar algumas outras tarefas durante esse período de tempo.
[0008] Quando um segundo dispositivo na rede receber o anúncio, o segundo dispositivo poderá determinar se ele está interessado em adquirir um ou mais dos serviços anunciados a partir do primeiro dispositivo com base nos identificadores de serviço no anúncio. Caso interessado, o segundo dispositivo poderá transmitir uma solicitação de serviço para o primeiro dispositivo usando a informação de disponibilidade do primeiro dispositivo, onde a solicitação de serviço inclui o identificador de serviço de um ou mais serviços selecionados. Por exemplo, o segundo dispositivo poderá transmitir a solicitação de serviço de acordo com o plano de disponibilidade do primeiro dispositivo (por exemplo, durante a janela de disponibilidade do primeiro dispositivo, quando o primeiro dispositivo estiver sintonizado). Em resposta à solicitação de serviço, o primeiro dispositivo poderá transmitir mais in-formação detalhada acerca dos serviços solicitados para o segundo dispositivo.
[0009] De acordo com outra concretização, cada dispositivo na rede é configurado para monitorar o ambiente de operação do respectivo dispositivo, bem como o tráfego de rede na rede. Com base no resultado do monitoramento, um dispositivo pode dinamicamente ajustar seu período de anúncio e/ou período de descoberta de serviço. Por exemplo, se um dispositivo apresentar uma vida de bateria curta restante, o dispositivo poderá reduzir a frequência dos anúncios de serviço e de descoberta de serviço (por exemplo, aumentar os períodos de anúncio e/ou descoberta de serviço). Como outro exemplo, se for determinado que o congestionamento de canal de comunicações é relativamente alto, por exemplo, devido a um grande número de dispositivos na rede, um dispositivo poderá também ajustar os períodos de anúncio e/ou descoberta de serviço de acordo (por exemplo, aumentar os períodos de anúncio e/ou descoberta de serviço para impedir o colapso por congestionamento da rede).
[00010] Em uma concretização, o período de anúncio de serviço e/ou período de descoberta de serviço são calculados com base em múltiplos de um valor de base predeterminado. Contudo, o período de descoberta de serviço é configurado para não ser múltiplos do período de anúncio de serviço, ou vice-versa. Como resultado, um anunciante e/ou descobridor pode calcular seus próprios períodos de anúncio e/ou de descoberta de serviço independentemente; porém, um anúncio de um anunciante será ainda capturada por um descobridor sobre um período de tempo dependente do cálculo específico do período de anúncio de serviço e/ou do período de descoberta de serviço.
[00011] De acordo com uma concretização adicional, múltiplos dispositivos que são capazes de anunciar um ou mais serviços podem ser coordenados entre si para selecionar um ou mais dispositivos para anunciar os serviços em nome dos outros dispositivos. Tal dispositivo atua como um anunciante de grupo. Um dispositivo pode ser selecionado como um anunciante de grupo de acordo com uma variedade de parâmetros (por exemplo, uma condição de bateria, etc.), que são monitorados pela lógica do respectivo dispositivo. Um dispositivo pode operar como um anunciante que anuncia seus próprios serviços e/ou um anunciante de grupo que anuncia serviços dos outros dispositivos na rede. Um dispositivo pode também operar como um anunciante para anunciar seus próprios serviços, bem como ser um anunciado (ad- vertisee) apresentando um ou mais de seus próprios serviços a serem anunciados por outro dispositivo. Um dispositivo pode também operar como um anunciado (advertisee) apenas que conta com outro dispositivo para anunciar seus serviços.
[00012] Outras características da presente invenção ficarão evidentes a partir dos desenhos anexos e a partir da descrição detalhada, a seguir.
BREVE DESCRIÇÃO DOS DESENHOS
[00013] Concretizações da invenção são ilustradas por meio de exemplo e não de limitação nas figuras dos desenhos anexos nos quais referências semelhantes indicam elementos similares.
[00014] A figura 1 é uma configuração de rede que pode ser implementada com uma concretização da invenção.
[00015] A figura 2 é um diagrama de bloco que ilustra um exemplo de um dispositivo eletrônico de acordo com uma concretização da invenção.
[00016] A figura 3 é um diagrama de fluxo que ilustra um exemplo de um fluxo de transação de anúncio de serviço de acordo com uma concretização.
[00017] A figura 4 é um diagrama da linha do tempo de um anúncio de serviço de acordo com uma concretização.
[00018] A figura 5 é um diagrama de bloco que ilustra um exemplo de uma mensagem de anúncio de acordo com uma concretização.
[00019] A figura 6 é um diagrama de fluxo que ilustra um exemplo de um método para anunciar um serviço de acordo com uma concretização.
[00020] A figura 7 é um diagrama de fluxo que ilustra um exemplo de um método para descobrir um serviço de acordo com uma concretização.
[00021] A figura 8 é um diagrama de bloco que ilustra um dispositivo eletrônico de acordo com outra concretização da invenção.
[00022] A figura 9 é um diagrama da linha do tempo que ilustra um período de anúncio e um período de descoberta de acordo com uma concretização.
[00023] A figura 10 é um diagrama de fluxo que ilustra um método para anunciar um serviço de acordo com outra concretização da invenção.
[00024] A figura 11 é um diagrama de fluxo que ilustra um método para descobrir um serviço de acordo com outra concretização da invenção.
[00025] A figura 12 é um diagrama de bloco que ilustra um dispositivo eletrônico de acordo com outra concretização da invenção.
[00026] As figuras 13A-13C são diagramas transacionais que ilustram exemplos de transições de dispositivos entre estados de operação de anúncio de acordo com algumas concretizações da invenção.
[00027] A figura 14 é um diagrama de bloco que ilustra uma mensagem de anúncio de grupo de acordo com uma concretização da invenção.
[00028] A figura 15 é um diagrama de fluxo que ilustra um método para um dispositivo solicitar que outro dispositivo atue como um anunciante de grupo e serviços de anúncio em seu favor.
[00029] A figura 16 é um diagrama de fluxo que ilustra um método para um dispositivo se tornar um anunciante de grupo e iniciar serviços de anúncio em nome de outro dispositivo.
[00030] A figura 17 é um diagrama de fluxo que ilustra um método para selecionar um anunciante de grupo de acordo com uma concretização da invenção.
[00031] A figura 18 mostra um exemplo de um sistema de processamento de dados que pode ser usado com uma concretização da presente invenção.
DESCRIÇÃO DETALHADA
[00032] Várias concretizações e aspectos das invenções serão descritos com referência aos detalhes discutidos abaixo, e os desenhos anexos irão ilustrar as várias concretizações. A seguinte descrição e desenhos são ilustrativos da invenção e não devem ser construídos como limitando a invenção. Inúmeros detalhes específicos são descritos para prover um completo entendimento de várias concretizações da presente invenção. Entretanto, em certos exemplos, detalhes bem conhecidos ou convencionais não são descritos a fim de prover uma discussão concisa de concretizações da presente invenção.
[00033] Referência na especificação "uma concretização" indica que um traço, uma estrutura ou uma característica específica descrita em conjunção com a concretização pode ser incluída em pelo menos uma concretização da invenção. O aparecimento da locução "em uma concretização" em vários locais na especificação não se refere necessariamente à mesma concretização. Os processos representados nas seguintes figuras são executados pela lógica de processamento que compreende hardware (por exemplo, circuitos, lógica dedicada, etc.), software, ou uma combinação de ambos. Embora os processos sejam descritos abaixo em termos das mesmas operações sequenciais, deve ser apreciado que algumas das operações descritas podem ser executadas em uma ordem diferente. Além disso, algumas operações po- dem ser executadas em paralelo do que sequencialmente. Definições • Anunciante - um dispositivo que anuncia um ou mais de seus próprios serviços. • Anunciante de grupo - um dispositivo que anuncia um ou mais serviços em nome de um ou mais outros dispositivos. Os anunciantes de grupo também anunciarão seus próprios serviços, se eles tiverem algum. • Anunciado (advertisee) - um dispositivo cujos serviços estão sendo anunciados por outro dispositivo na rede (isto é, por um anunciante de grupo, não incluindo a si próprio). • Descobridor - um dispositivo que está tentando descobrir um ou mais serviços na rede. • Janela de Disponibilidade - um período de tempo em que um dispositivo está disponível e sintonizado na rede, e é capaz de responder às solicitações de descoberta de serviço, às solicitações de anúncio, e a outras solicitações. • Plano de disponibilidade - os tempos nos quais um dispositivo estará disponível para responder às solicitações de serviço. Nas mensagens de anúncio, isto indica os tempos e as larguras de uma janela(s) de disponibilidade de um dispositivo. • Anúncio/Mensagem de Anúncio - um quadro de transmissão / transmissão em multicast periodicamente enviado por um anunciante que contém informação acerca de serviços que ele disponibiliza. • Anúncio de Grupo/Mensagem de Anúncio de Grupo - um quadro de transmissão / transmissão em multicast periodicamente enviado por um anunciante de grupo que contém informação acerca de seus próprios serviços (caso haja algum), bem como serviços disponíveis em outros dispositivos na rede. • Solicitação de Anúncio/Mensagem de Solicitação de Anúncio - uma mensagem enviada por um dispositivo para outro dispositivo solicitando que o destinatário atue como um anunciante de grupo e anuncie serviços em nome do remetente. • Resposta de Anúncio/Mensagem de Resposta de Anúncio - uma mensagem enviada por um dispositivo para outro dispositivo em resposta a uma mensagem de solicitação de anúncio, indicando se o remetente irá honrar a mensagem de solicitação inicial e atuar como um anunciante de grupo. • Solicitação de Serviço/Mensagem de Solicitação de Serviço - uma mensagem enviada por um descobridor para um anunciante solicitando informação detalhada acerca do(s) serviço(s) que cor- responde(m) ao(s) ID(s) suprido(s). • Resposta de Serviço/Mensagem de Resposta de Serviço - uma mensagem enviada por um anunciante/anunciante de grupo para um descobridor suprindo informação detalhada acerca de um ou mais serviços. • Período de anúncio - o intervalo de tempo entre sucessivas transmissões de um quadro de anúncio por um anunciante. • Período de Descoberta - o intervalo de tempo entre sucessivas tentativas de descoberta por um descobridor.
[00034] A figura 1 é uma configuração de rede que pode ser implementada com uma concretização da invenção. Com referência à figura 1, a configuração de rede 100 inclui múltiplos dispositivos eletrônicos 101-103 comunicativamente acoplados à rede 104, que pode ser uma rede sem fio, tal como IEEE 802.11 (por exemplo, WiFi) ou uma rede compatível com a rede de área pessoal (PAN) (por exemplo, Bluetooth). Qualquer um dos dispositivos 101-103 pode ser qualquer dos dispositivos portáteis, tais como, por exemplo, um dispositivo de computação portátil (por exemplo, computadores notebook/netbook, tais como MacBook® da Apple Inc. of Cupertino, California), um tablet PC (por exemplo, um iPad® da Apple Inc.), um telefone celular/smartphone (por exemplo, iPhone® da Apple Inc.), um reprodutor de mídia (por exemplo, iPod® da Apple Inc.), um PDA. uma copiado- ra/impressora/scanner/modem/dispositivo de fac-símile, ou uma combinação dos mesmos. Alternativamente, qualquer dos dispositivos 101103 pode ser um computador de mesa ou outros dispositivos de não portal apresentando uma interface de comunicações sem fio (por exemplo, um frontend de RF ou transceptor incorporado ou conectado) que é capaz de se comunicar sem fio com outro dispositivo em uma rede sem fio.
[00035] Cada um dos dispositivos 101-103 inclui lógica de anúncio de serviço (por exemplo, lógica 105-107, respectivamente) e lógica de descoberta de serviço (por exemplo, lógica 108-110, respectivamente), que podem ser implementadas em hardware, firmware, software, ou uma combinação dos mesmos. A lógica de anúncio de serviço é responsável por anunciar um ou mais serviços de um dispositivo local na rede 104 enquanto a lógica de descoberta de serviço é responsável por descobrir um ou mais serviços disponíveis de um ou mais dispositivos na rede 104. Os dispositivos 101-103 podem anunciar e/ou descobrir um ou mais serviços na rede 104 usando uma variedade de protocolos de comunicações sem fio, tal como, por exemplo, protocolos compatíveis com Bluetooth ou WiFi. Informação detalhada adicional referente à descoberta de serviço usando um protocolo de rede de área pessoal pode ser encontrada no Pedido de Patente Norte- Americano copendente No. 12/405.130, intitulado "Service Discovery Functionality Utilizing Personal Area Network Protocols", depositado em 16 de março 2009, que é incorporado para referência em sua totalidade.
[00036] A finalidade de um anúncio de um serviço de um dispositivo (também referido como um anunciante) é a de informar outros disposi- tivos em uma rede, ou de permitir que outros serviços (também referidos como descobridores) na rede descubram que o serviço específico está potencialmente disponível nesse dispositivo específico. Também é notado, por toda esta aplicação, que as concretizações do presente pedido são descritas em um ambiente de rede sem fio; contudo, será apreciado que tais concretizações podem também ser aplicadas em um ambiente de rede ligada por fio.
[00037] Em uma concretização, quando um primeiro dispositivo, neste exemplo, o dispositivo 101, anunciar um ou mais serviços disponíveis em uma rede sem fio, a lógica de anúncio de serviço 105 do dispositivo 101 irá transmitir ou transmitir em multicast uma mensagem de anúncio (também simplesmente referida como um anúncio, ou um anúncio de serviço) na rede 104, onde o anúncio inclui um ou mais identificadores de serviço (IDs), cada qual identificando um serviço específico potencialmente disponível do dispositivo 101. Um identificador de serviço pode ser representado por um valor hash construído usando uma variedade de algoritmos de hash (por exemplo, SHA-1 ou MD5). Um valor hash pode ser gerado com base nos dados que representam uma assinatura ou certas características de um serviço específico. O anúncio adicionalmente inclui informação de disponibilidade, tal como o plano de disponibilidade do dispositivo 101, que o dispositivo 101 irá usar para configurar sua janela de disponibilidade, quando ele estiver sintonizado na a rede 104 para ouvir quaisquer indagações de serviço para o anúncio de outros dispositivos (por exemplo, dispositivo 102-103). Depois disso, o dispositivo 101 pode desligar ou reduzir a alimentação de energia para certa porção do dispositivo 101, tal como, por exemplo, pelo menos a porção de radiofrequência (RF) (por exemplo, transceptor, antena) do dispositivo 101 até certo período de tempo subsequente à informação de disponibilidade associada com o dispositivo 101. Alternativamente, o dispositivo 101 pode, por sua vez, execu- tar outras tarefas sem transmitir ou estar sintonizado na rede 104.
[00038] Quando um segundo dispositivo, neste exemplo, o dispositivo 102, na rede receber a transmissão de anúncio do dispositivo 101, com base nos identificadores de serviço no anúncio, o dispositivo 102 poderá determinar se ele está interessado em adquirir informação detalhada adicional do serviço anunciado do dispositivo 101. Caso positivo, de acordo com uma concretização, o dispositivo 102 pode transmitir uma solicitação de serviço para o dispositivo 101 de acordo com o plano de disponibilidade do dispositivo 101 (por exemplo, durante uma das janelas de disponibilidade do dispositivo 101, quando o dispositivo 101 estiver sintonizado), onde a solicitação de serviço inclui um ou mais identificadores de serviço de um ou mais serviços selecionados. Em resposta à solicitação de serviço, o dispositivo 101 pode transmitir informação mais detalhada dos serviços solicitados (por exemplo, o dispositivo 1020). Isto é, um serviço ID pode meramente indicar um serviço potencialmente disponível de um anunciante. A fim de confirmar tal serviço, um descobridor tem que adquirir informação detalhada adicional do anunciante através de um protocolo de solicitação e resposta de serviço.
[00039] De acordo com outra concretização, cada dos dispositivos 101-103 na rede 104 é configurado para monitorar o ambiente de operação do respectivo dispositivo, bem como o tráfego de rede na rede. Com base no resultado de monitoramento, um dispositivo pode dinamicamente ajustar seu período de anúncio de serviço (também simplesmente referido como um período de anúncio) e/ou período de descoberta de serviço (também referido como um período de descoberta). Por exemplo, se a bateria do dispositivo 101 estiver acabando, o dispositivo 101 poderá reduzir a frequência de transmissão e de escuta do anúncio de serviço e da descoberta de serviço (por exemplo, au-mentar os períodos de anúncio e/ou de descoberta de serviço). Outro exemplo, se for determinado que o congestionamento de canal de co-municações é relativamente alto, por exemplo, devido a um grande número de dispositivos na rede, o dispositivo 101 poderá também ajustar os períodos de anúncio e/ou de descoberta de serviço de acordo (por exemplo, aumentando os períodos de anúncio e/ou descoberta).
[00040] Em uma concretização, um período de anúncio de serviço e/ou período de descoberta de serviço são calculados com base em um ou mais múltiplos de um valor de base predeterminado. Entretanto, um período de descoberta de serviço pode não ser configurado como um múltiplo de um período de anúncio de serviço, ou vice-versa. Como resultado, um anunciante e um descobridor podem calcular seu próprio período de anúncio de serviço e/ou período de descoberta de serviço independentemente; porém um anúncio de um anunciante (por exemplo, dispositivo 101) será ainda capaz de ser capturada por um descobridor (por exemplo, dispositivo 102) sobre um período de tempo. Além disso, devido ao fato de um período de anúncio de serviço não ser um múltiplo de um período de descoberta de serviço ou vice-versa, cada dos dispositivos na rede pode adaptar seu próprio período antes de estabelecer qualquer comunicação entre eles, com base em sua própria percepção das condições de rede explicadas acima.
[00041] De acordo com uma concretização adicional, os dispositivos 101-103 podem ser coordenados entre si para selecionar um ou mais dispositivos para anunciar os serviços em nome de outros dispositivos. Por exemplo, o dispositivo 101 pode ser selecionado como um anunciante de grupo de acordo com uma variedade de parâmetros (por exemplo, uma condição de bateria, etc.), que são monitorados por uma lógica de monitoramento do dispositivo, para anunciar serviços para o dispositivo 102 e/ou dispositivo 103. O dispositivo 101 pode operar como um anunciante de grupo que anuncia seus próprios servi- ços e serviços dos dispositivos 102-103 na rede. O dispositivo 101 pode também operar como um anunciante para anunciar seus próprios serviços, bem como um anunciado (advertisee) apresentando um ou mais serviços a serem anunciados por outro dispositivo (por exemplo, dispositivos 102-103). O dispositivo 101 pode também operar como um anunciado (advertisee) apenas que conta com outro dispositivo (por exemplo, dispositivos 102-103) para anunciar seus serviços.
[00042] É notado por todo este pedido que o termo "serviço" pode ser uma ampla faixa de serviços incluindo, mas não limitada a serviços de impressão, serviços de acesso de rede de área local (LAN), serviços de acesso de rede de área ampla (WAN), serviços de telefone celular, serviços de armazenamento de dados, e/ou serviços de aplicativos (por exemplo, reprodução de mídia, jogos, serviços de criação de documento colaborativos, serviços de gravação, etc.). Mecanismos de Anúncio e/ou Descoberta de Serviço Eficiente
[00043] A figura 2 é um diagrama de bloco que ilustra um exemplo de um dispositivo eletrônico de acordo com uma concretização da invenção. Por exemplo, O dispositivo eletrônico 200 pode ser implementado como uma parte de qualquer um dos dispositivos 101-103 da figura 1. Com referência à figura 2, o dispositivo 200 inclui, mas não é limitado à unidade de anúncio de serviço 201, à unidade de descoberta de serviço 202, à unidade de interface de usuário 203, à unidade de gerenciamento de serviço 204, ao dispositivo de armazenamento 205, a um ou mais processadores ou núcleos de processador 206, à unidade de interface de rede 207, e à memória 208, acoplados entre si por meio de barra, interconexão, ou malha 209.
[00044] O processador 206 pode ser qualquer tipo de microprocessador, que pode ser um único processador, múltiplos processadores, ou múltiplos núcleos de processador. A unidade de interface de rede 207 pode ser parte de um frontend de RF incluindo, mas não limitada a um transceptor sem fio e uma antena ou um modem, etc. Alternativamente, a unidade de interface de rede 207 pode também incluir uma interface de comunicações ligada por fio, tal como uma porta de Ethernet, uma barra serial universal (USB) ou uma porta WiFi®. A memória 208 pode ser qualquer tipo de memória de acesso aleatório (RAM), que é tipicamente implementada como uma memória volátil. A unidade de interface de usuário 203 pode incluir um dispositivo de vídeo, um dispositivo de entrada (por exemplo, um teclado, um touchpad, uma tela de toque, um dispositivo de estilo, ou uma combinação dos mesmos), e interfaces de áudio e/ou vídeo, etc.
[00045] A unidade de anúncio de serviço 201 é responsável por anunciar um ou mais serviços disponíveis ou providos pelo dispositivo 200. Por exemplo, a unidade de anúncio de serviço 201 pode ser implementada como uma parte de qualquer uma das lógicas de anúncio de serviço 105-107 da figura 1. Em uma concretização, a unidade de anúncio de serviço 201 é configurada para anunciar, através da unidade de interface de rede 207, um ou mais serviços por meio da transmissão ou transmissão em multicast de um anúncio na rede (por exemplo, a rede 104 da figura 1) de acordo com um cronograma de anúncio (por exemplo, período de anúncio). Um anúncio pode incluir um ou mais identificadores (IDs) de serviço que identificam um serviço que é potencialmente provido pelo dispositivo 200. Um identificador de serviço pode ser gerado pelo gerenciador de serviço 204 e armazenado no dispositivo de armazenamento 205 como uma parte dos identificadores de serviço 210. Em uma concretização, um identificador de serviço inclui um valor hash gerado pelo gerenciador de serviço 204 de acordo com uma variedade de algoritmos hash, tais como, por exemplo, algoritmos SHA-1 ou MD5.
[00046] Alternativamente, um identificador de serviço pode ser representado por um bit específico de uma máscara de bits, onde uma máscara de bits inclui um ou mais bits apresentando um valor lógico predeterminado, cada qual representando um serviço específico. Por exemplo, a localização de um bit específico de uma máscara de bits é usada para indicar um serviço específico que é potencialmente disponível de um anunciante, onde a máscara de bits é transmitida na rede através de um anúncio, similar às técnicas descritas no Pedido de Patente Norte-Americano copendente No. 12/687.814, intitulado "Efficient Service Discovery for Peer-to-Peer Networking Device", depositado em 14 de janeiro de 2010, que é incorporado aqui para referência em sua totalidade.
[00047] Novamente, um ID de serviço pode meramente indicar um serviço potencialmente disponível de um anunciante. Além disso, um hash (ID de serviço) pode possivelmente representar múltiplos serviços, visto que pode haver uma colisão onde múltiplos serviços são acomodados no mesmo valor. A fim de confirmar tal serviço, um descobridor tem que adquirir informação detalhada adicional do anunciante através de um protocolo de solicitação e resposta de serviço. O anúncio de um serviço potencial por meio da transmissão ou transmissão em multicast de um valor hash que representa tal serviço potencial, e a provisão de informação detalhada acerca do serviço apenas em resposta a uma solicitação específica para tal serviço grandemente reduzem o tráfego de rede envolvido no anúncio e na descoberta de serviço.
[00048] O gerenciador de serviço 204 também é responsável por manter ou gerenciar a informação de serviço 211 associada com serviços disponíveis do dispositivo 200, que pode ser armazenada no dispositivo de armazenamento 205. O dispositivo de armazenamento 205 pode ser implementado como qualquer tipo de dispositivo ou disco de memória e acessado através de qualquer tipo de sistema de arquivo. O gerenciador de serviço 204 pode também gerar e manter uma lista de serviços disponíveis na rede, incluindo serviços anunciados pelo dispositivo 200 ou por outros dispositivos na rede. A lista de serviços pode ser periodicamente atualizada em resposta a um resultado de uma operação de descoberta de serviço executada pela unidade de descoberta de serviço 202.
[00049] Similarmente, a unidade de descoberta de serviço 202 é responsável por descobrir um ou mais serviços disponíveis da rede, que podem ser anunciados por um ou outro dispositivo na rede. Por exemplo, a unidade de descoberta de serviço 202 pode ser implementada como uma parte de qualquer das lógicas de descoberta de serviço 108-110 da figura 1. Em resposta a um anúncio de um dispositivo remoto, a unidade de descoberta de serviço 202 é configurada para se comunicar, através da unidade de interface de rede 207, com o dispositivo remoto para adquirir informação detalhada adicional dos serviços e pode gerar ou atualizar uma lista de serviços que estão disponíveis na rede, que podem ser armazenados como parte da informação de serviço 211.
[00050] A figura 3 é um diagrama de fluxo que ilustra um exemplo de um fluxo de transação de anúncio de serviço de acordo com uma concretização. Para fins de ilustração, é assumido que tanto o dispositivo local 301 (como um anunciante) quanto um dispositivo remoto 302 (como um descobridor) apresentam uma infraestrutura similar ou idêntica como o dispositivo 200 da figura 2. Com referência às figuras 2 e 3, de acordo com uma concretização, depois de receber um anúncio de uma unidade de anúncio de serviço do dispositivo 301 através da transação 303, uma unidade de descoberta de serviço do dispositivo 302 compara os IDs de serviço na solicitação de anúncio com aqueles localmente gerados através da operação 304. Se o dispositivo 302 estiver interessado no serviço ou serviços anunciados, a unidade de descoberta de serviço do dispositivo 302 transmitirá uma solicitação de serviço para o dispositivo 301 através da transação 305, incluindo um ou mais identificadores de serviço que identificam um ou mais serviços em que o dispositivo 302 está interessado. Em resposta à solicitação de serviço, a unidade de anúncio de serviço do dispositivo 301 transmite uma resposta de serviço para o dispositivo 302, incluindo informação detalhada de um ou mais serviços solicitados através da transação 306. É notado que um identificador de serviço pode meramente indicar que um serviço está potencialmente disponível do dispositivo 301. A fim de obter informação detalhada do serviço potencial, o descobridor tem que adquirir informação detalhada em transmitindo uma solicitação de serviço com base no identificador de serviço. O dispositivo 302 compara então a informação de serviço retornada com a lista local de serviços desejados através da transação 307. Se qualquer dos serviços corresponder aos serviços 301-302, ele poderá participar dos serviços (por exemplo, jogos em uma maneira colaboradora) através da transação 308.
[00051] De acordo com uma concretização, com referência novamente à figura 2, quando do anúncio de um serviço, um anúncio gerada pela unidade de anúncio de serviço 201 adicionalmente irá incluir um plano de disponibilidade de um anunciante, neste exemplo, do dispositivo 200. Em uma concretização, o plano de disponibilidade inclui o início da próxima janela de disponibilidade a partir do tempo em que o anúncio foi transmitida e do comprimento da janela (por exemplo, duração da janela de disponibilidade). Isto é, um anunciante poderá apenas estar sintonizado na rede durante um período específico de tempo. Quando um descobridor receber um anúncio, o descobridor poderá dispor uma fatia de tempo de transmissão de acordo com o plano de disponibilidade do anunciante, durante o qual o descobridor transmite uma solicitação de serviço para o anunciante durante uma das janelas de disponibilidade do anunciante. Diferentemente, ou o anunciante ou o descobridor ou tanto o anunciante quanto o descobridor podem desligar ou reduzir a alimentação de energia para pelo menos uma porção (por exemplo, transceptor sem fio ou frontend de RF) do respectivo dispositivo, por exemplo, por uma unidade de gerenciamento de potência do respectivo dispositivo (não mostrado). É notado que alguns ou todos os componentes, conforme mostrado na figura 2, podem ser implementados em hardware, firmware, software, ou uma combinação dos mesmos.
[00052] A figura 4 é um diagrama da linha do tempo de um anúncio de serviço de acordo com uma concretização. Com referência à figura 4, quando um anunciante (por exemplo, o dispositivo 200) anunciar um serviço, em uma concretização, o anunciante poderá transmitir um anúncio no tempo 401, onde o anúncio inclui um plano de disponibilidade apresentando um intervalo até o início da próxima janela de disponibilidade 402 e a duração da próxima janela de disponibilidade 403. Isto é, depois de transmitir o anúncio no tempo 401, o anunciante pode desligar ou reduzir a alimentação de energia para pelo menos uma porção do dispositivo, tal como, por exemplo, um frontend de RF do dispositivo. O anunciante pode então ligar novamente a alimentação de energia na próxima janela de disponibilidade para a duração 403, durante a qual um descobridor pode se comunicar com o anunciante para adquirir informação detalhada de um serviço ou serviços específicos. Como resultado, o consumo de energia do anunciante pode ser reduzido. Durante a janela de disponibilidade, o anunciante pode receber uma solicitação de serviço de um descobridor e responder com uma resposta de serviço apresentando informação detalhada do serviço ou serviços solicitados.
[00053] Similarmente, depois de uma descoberta receber um anúncio, o descobridor pode também desligar ou reduzir a alimentação de energia para pelo menos uma porção do dispositivo e ser despertado de acordo com a próxima janela de disponibilidade do anunciante para transmitir uma solicitação de serviço para o anunciante. Como resultado, o consumo de energia do descobridor pode ser também reduzido.
[00054] A figura 5 é um diagrama de bloco que ilustra um exemplo de uma mensagem de anúncio de acordo com uma concretização. Com referência à figura 5, o anúncio 500 inclui, mas não é limitada a um cabeçalho 501, ao Início da Janela de Disponibilidade 502, ao Comprimento da Janela de Disponibilidade 503, ao número dos IDs de serviço 504, e a um ou mais IDs de serviço 505. Em uma concretização, um ID de serviço é representado por um valor hash, que repre-senta um possível serviço a ser anunciado. De modo geral, um hash (ID de serviço) pode possivelmente representar múltiplos serviços, visto que pode haver uma colisão onde múltiplos serviços são acomodados no mesmo valor. É notado que a disposição de formato e campo do anúncio 500 é mostrada para fins de ilustração apenas; outra disposição de formatos ou campos pode ser também implementada.
[00055] A figura 6 é um diagrama de fluxo que ilustra um exemplo de um método para anunciar um serviço de acordo com uma concretização. É notado que o método 600 pode ser executado pela lógica de processamento que pode incluir hardware, firmware, software, ou uma combinação dos mesmos. Por exemplo, o método 600 pode ser executo pela unidade de anúncio de serviço 201 da figura 2. Com referência à figura 6, no bloco 601, é construída um anúncio dentro de um dispositivo local (por exemplo, um anunciante), que inclui um período de início de uma próxima janela de disponibilidade, comprimento da janela de disponibilidade, inúmeros IDs de serviço (por exemplo, hashes), e os IDs de serviço atuais. Cada ID de serviço representa um serviço potencialmente oferecido pelo dispositivo local. No bloco 602, o anúncio é transmitida ou transmitida em multicast pelo dispositivo local em uma rede sem fio.
[00056] No bloco 603, o dispositivo local pode opcionalmente desligar ou reduzir a alimentação de energia para pelo menos uma porção do dispositivo e ser despertado no tempo de acordo com a próxima janela de disponibilidade especificada na solicitação de anúncio no bloco 604. No bloco 605, durante a janela de disponibilidade, o dispositivo local ouve e recebe uma solicitação de serviço de um dispositivo remoto sobre a rede em resposta à anúncio. A solicitação de serviço inclui um ou mais IDs de serviço que representam um ou mais serviços indagados pelo dispositivo remoto. Um ou mais IDs de serviço podem ser selecionados daqueles apresentados no anúncio anteriormente transmitida ou transmitida em multicast do dispositivo local. Em resposta à solicitação de serviço, no bloco 606, o dispositivo local transmite uma resposta de serviço para o dispositivo remoto, incluindo informação detalhada dos serviços solicitados na solicitação de serviço.
[00057] A figura 7 é um digrama de fluxo que ilustra um exemplo de um método para descobrir um serviço de acordo com uma concretização. É notado que o método 700 pode ser executado por lógica de processamento que pode incluir hardware, firmware, software, ou uma combinação dos mesmos. Por exemplo, o método 700 pode ser executado pela unidade de descoberta de serviço 202 da figura 2. Com referência à figura 7, no bloco 701, um dispositivo local (por exemplo, um descobridor) recebe um anúncio de um dispositivo remoto sobre uma rede. Em resposta à anúncio, no bloco 702, o dispositivo local extrai do anúncio o início de uma próxima janela de disponibilidade, o comprimento da janela de disponibilidade, e um ou mais IDs de serviço (por exemplo, hashes) que identificam um ou mais serviços anunciados pelo dispositivo remoto. No bloco 703, o dispositivo local pode opcionalmente desligar ou reduzir a alimentação de energia para a próxima janela de disponibilidade especificada no anúncio. No bloco 704, o dispositivo local transmite uma solicitação de serviço para o disposi- tivo remoto, onde a solicitação de serviço inclui um ou mais IDs de serviço (por exemplo, hashes) que identificam um ou mais serviços a serem indagados. No bloco 705, uma resposta de serviço é recebida do dispositivo remoto durante a janela de disponibilidade do dispositivo remoto, onde a resposta de serviço inclui mais informação detalhada dos serviços indagados. Anúncio/Descoberta de Serviço com Períodos Dinâmicos de Anún- cio/Descoberta
[00058] De acordo com algumas concretizações, o período de anúncio e o período de descoberta podem ser dinamicamente ajustados com base nas condições de operação e/ou comportamentos do usuário no ponto no tempo. De acordo com uma concretização, cada dispositivo na rede é configurado para monitorar o ambiente de operação do respectivo dispositivo, bem como o tráfego de rede na rede. Com base no resultado de monitoramento, um dispositivo pode dinamicamente ajustar seu período de anúncio e/ou período de serviço. Por exemplo, se a bateria de um dispositivo estiver acabando, o dispositivo poderá reduzir a frequência do anúncio de serviço e da descoberta de serviço (por exemplo, aumentar os períodos de anúncio e/ou descoberta de serviço). Outro exemplo, se for determinado que o congestionamento de canal de comunicações é relativamente alto, por exemplo, devido a um grande número de dispositivos na rede, um dispositivo poderá também ajustar os períodos de anúncio e/ou descoberta de serviço de acordo (por exemplo, aumentando os períodos de anúncio e/ou descoberta de serviço para evitar o colapso da rede por congestionamento).
[00059] Em uma concretização, um período de anúncio de serviço e/ou um período de descoberta de serviço são calculados com base em múltiplos de um valor de base predeterminado. Entretanto, um período de descoberta de serviço pode não ser múltiplo de um período de anúncio de serviço, ou vice-versa. Como resultado, um anunciante e um descobridor podem calcular seu próprio período de anúncio de serviço e/ou período de descoberta de serviço independentemente; contudo, uma solicitação de anúncio de um anunciante ainda é capaz de ser capturada por um descobridor sobre um período de tempo dependente do cálculo específico do período de anúncio de serviço e/ou do período de descoberta de serviço.
[00060] A figura 8 é um diagrama de bloco que ilustra um dispositivo eletrônico de acordo com outra concretização da invenção. Por exemplo, o dispositivo 800 pode ser implementado como qualquer dos dispositivos 101-103 da figura 1. Com referência à figura 8, similar ao dispositivo 200 da figura 2, o dispositivo 800 inclui, mas não é limitado a uma unidade de anúncio de serviço 201, à unidade de descoberta de serviço 202, à unidade de interface de usuário 203, à unidade de gerenciamento de serviço 204, ao dispositivo de armazenamento 205 para armazenar identificadores de serviço 210 e informação de serviço 211, a um ou mais processadores ou núcleos de processador 206, à unidade de interface de rede 207, e à memória 208, acoplados entre si por meio de uma barra, interconexão, ou malha 209. Estes componentes apresentam funcionalidades idênticas ou similares como aquelas mostradas na figura 2 e, portanto, certos números de referência são mantidos da figura 2.
[00061] Além disso, de acordo com uma concretização, o dispositivo 800 inclui a unidade de monitoramento de ambiente de operação 801 e calculador de cronograma ou período de anúncio e/ou descoberta 802. Em uma concretização, a unidade de monitoramento de ambiente de operação 801 é configurada para monitorar o ambiente de operação do dispositivo 800, bem como o tráfego de rede na rede. Com base no resultado do monitoramento, o calculador de período de anúncio/descoberta 802 é configurado para ajustar o período de anún- cio e/ou o período de descoberta de serviço de modo dinâmico. Por exemplo, se o dispositivo 800 apresentar uma menor vida de bateria restante (monitorada pela unidade de monitoramento 801), o calculador de cronograma ou período de anúncio e/ou descoberta 802 poderá reduzir a frequência do anúncio de serviço e da descoberta de serviço (por exemplo, aumentar os períodos de anúncio e/ou descoberta de serviço). Outro exemplo, se for determinado que o congestionamento de canal de comunicações é relativamente alto, por exemplo, devido a um grande número de dispositivos na rede ou dentro de uma proximidade predeterminada, o calculador de período de anúncio e/ou descoberta 802 poderá também ajustar os períodos de anúncio e/ou descoberta de serviço de acordo. Adicionalmente, os períodos de anúncio e/ou descoberta podem também ser ajustados com base nos tipos de aplicativos a serem compartilhados e nos comportamentos de usuário (por exemplo, usuários ativos), etc.
[00062] Em uma concretização, um período de anúncio de serviço e/ou período de descoberta de serviço são calculados com base em um ou mais múltiplos de um valor de base predeterminado. Contudo, um período de descoberta de serviço pode não ser um ou mais múltiplos de um período de anúncio de serviço ou vice-versa. Como resultado, um anunciante e um descobridor podem independentemente calcular e/ou ajustar o período de anúncio e/ou o período de descoberta com base no ambiente local. Além disso, pelo fato de um período de anúncio de serviço não ser um múltiplo de um período de descoberta de serviço, ou vice-versa, cada dos dispositivos na rede pode adaptar seu próprio período sem estabelecer qualquer comunicação entre eles com base em sua própria percepção das condições de rede explicadas acima.
[00063] A figura 9 é um diagrama da linha do tempo que ilustra um período de anúncio e um período de descoberta de acordo com uma concretização. Com referência à figura 9, a linha do tempo 900 representa um período de anúncio e a linha do tempo 950 representa um período de descoberta. Para fins de ilustração, o período de anúncio é calculado com base em 3 vezes um valor de base predeterminado, ao passo que o período de descoberta é calculado com base em 4 vezes o valor de base predeterminado. Conforme mostrado na figura 9, embora as mensagens de anúncio sejam transmitidas em um tempo diferente e em uma taxa diferente do período de descoberta, uma vez que tanto o período de anúncio quanto o período de descoberta são calculados com base em um múltiplo de um valor de base predeterminado acordado, a transmissão de anúncio e a escuta de descoberta eventualmente se sobrepõem nas fatias de tempo 901-903.
[00064] Como resultado, um anunciante e/ou um descobridor podem independentemente ajustar o fator de ajuste com base nas condições de operação dos dispositivos individuais. Por exemplo, se for determinado que a bateria de um dispositivo está acabando, o fator de ajuste (N) poderá ser aumentado para desacelerar as atividades de anúncio e/ou descoberta, o que, por sua vez, reduz o consumo de energia adicional e uso de canal. Contudo, o aumento de um período de anúncio e/ou período de descoberta pode também aumentar o tempo de detecção para capturar uma mensagem de anúncio específica, o que resulta em um desempenho inferior.
[00065] De acordo com outra concretização, um período de descoberta é calculado como um múltiplo de um tempo de permanência (por exemplo, o período de tempo durante o qual o dispositivo está sintonizado para a mensagem de anúncio), mas não como um múltiplo de um período de anúncio. Em uma concretização específica, um período de anúncio é configurado para ser um múltiplo de um valor de base predeterminado (por exemplo, 100 ms) * 2AN, onde N poderia ser qualquer número inteiro; um período de descoberta é configurado para ser o valor de base predeterminado * 3AM ou 5AM, onde M poderia ser qualquer número inteiro; e um tempo de permanência é configurado para ser o valor de base predeterminado (por exemplo, 100 ms) * (1+10%). O acréscimo de 10% ao tempo de permanência assegura que o tempo de permanência fique estritamente maior do que o valor de base predeterminado.
[00066] Na tabela abaixo, os números de porcentagem em parênteses representam a porcentagem de tempo em que pelo menos o frontend de RF tem que estar durante estes períodos de anún- cio/descoberta específicos. O número de anúncio é baseado em uma estimativa aproximada de 2 ms para a transmissão de mensagem de anúncio: ativar o rádio, reivindicar o canal e transmitir um quadro de alguns microssegundos. O número de descoberta se baseia em um tempo de permanência de escuta de descoberta de 100 ms. Os números na parte principal da tabela indicam quanto tempo levará para des-cobrir um dispositivo na pior das hipóteses, se o anunciante estiver usando o período de anúncio no cabeçalho de coluna relevante e o descobridor estiver usando o período de descoberta no cabeçalho de fileira relevante. Todos os tempos são apresentados em segundos.
Figure img0001
[00067] Um dispositivo que está em um ambiente estático ou que deseja reduzir drasticamente o uso da bateria pode independentemente aumentar seu período de descoberta e seu período de anúncio, por exemplo, 24,3 segundos e 200 ms, respectivamente. Neste exemplo, com base na tabela acima, isto assegura que o tempo no ar (por exemplo, o tempo durante o qual o rádio está sintonizado e em potência total) para tal dispositivo está abaixo de 1,5% à custa de um maior tempo de detecção (48,6 segundos a fim de detectar outro dispositivo que opcionalmente implementa o mesmo valor). O termo "ambiente estático" se refere, por exemplo, ao caso de um usuário que fica em casa por um longo período de tempo, e, consequentemente, não irá encontrar mudança no ambiente de operação sem fio. Similarmente, um dispositivo com uma grande bateria ou que está em um ambiente dinâmico (ou que detecta que está em movimento) pode também independentemente aumentar seu período de descoberta, por exemplo, para 2,5 segundos, o que resultar em um tempo de descoberta rápido. Este seria o caso de um dispositivo conectado com uma potência CA. Dispositivos que detectam que eles estão em um ambiente lotado, por exemplo, se eles detectarem mais de 15 outros anunciantes ou pontos de acesso (APs), poderão independentemente aumentar seus períodos de anúncio, o que aumenta o tempo de detecção, mas reduz o congestionamento de rede. O aumento do período de anúncio, por exemplo, para 400 ms, poderia fazer com que o tempo de detecção estivesse na faixa de 50 segundos para um dispositivo que está cobrindo com um período de 12,5 segundos, e o tempo no ar, neste caso, é de 1,3%. Isto seria o caso em que um usuário pode estar sentado em uma sala de conferência ou um ambiente de trabalho de espaço aberto com muitos cubículos.
[00068] A detecção do fato de um usuário estar em movimento pode ser feita com o registro da presença de alguns pontos de acesso com um indicador de resistência de sinal recebido razoavelmente alto (RSSI) através de múltiplos períodos de descoberta. Isto exige que um dispositivo oculte os identificadores de conjunto de serviços básicos (BSSIDs) de certos RSSI APs mais altos que são detectados durante um período de descoberta. Se não houver nenhum RSSI AP alto detectado, isto indicará que o usuário está se movendo rápido ou está em um ambiente livre WiFi. O período de anúncio e o período de descoberta devem ser ajustados mais baixos a fim de diminuir o tempo de detecção. Se um ou mais destes RSSI APs altos forem constantemente detectados através de diversos períodos de descoberta (por exemplo, associados ou não associados, e não roaming), então, o usuário poderá estar sentado em casa ou em um lugar conhecido. O período de descoberta pode ser ajustado em 200 ms e o período de anúncio pode ser aumentado até um valor grande (por exemplo, 24,3 segundos ou 62,5 segundos). Este usuário não demorará muito para detectar outros dispositivos, mas será detectado menos facilmente pelos dispositivos móveis. Se o ambiente estiver lotado, então, os ajustes terão que ser formados a fim de reduzir o congestionamento potencial, e o período de anúncio precisará ser aumentado. Como resultado, os dispositivos podem ser detectados mutuamente em sendo descobertos mais frequentemente (por exemplo, consumindo mais potência) ou esperando mais tempo.
[00069] A figura 10 é um diagrama de fluxo que ilustra um método para anunciar um serviço de acordo com outra concretização da invenção. É notado que o método 1000 pode ser executado pela lógica de processamento que pode incluir hardware, firmware, software, ou uma combinação dos mesmos. Por exemplo, o método 1000 pode ser executado pela unidade de anúncio de serviço 201 da figura 8. Com referência à figura 10, no bloco 1001, as condições de operação correntes são monitoradas por um dispositivo local (por exemplo, anunci- ante), incluindo o estado da bateria, o congestionamento de tráfego de rede, os comportamentos de usuário, e os tipos de serviços a serem anunciados, etc. Com base nas condições de operação, no bloco 1002, um período de anúncio é dinamicamente ajustado de acordo. Em uma concretização, o período de anúncio é configurado como um múltiplo de um valor base predeterminado, conforme explicado acima. No bloco 1003, um anúncio é transmitida ou transmitida em multicast em uma rede de acordo com o período de anúncio ajustado, incluindo um ou mais serviços que são anunciados usando as técnicas de anúncio e de descoberta de serviço explicadas acima. No bloco 1004, uma solicitação de serviço é recebida de um dispositivo remoto em resposta à solicitação de anúncio, incluindo um indicador ou identificador de serviço que identifica um serviço a ser indagados. Em resposta à solicitação de serviço, no bloco 1005, informação detalhada do serviço solicitado é provida através de uma resposta de serviço para o dispositivo remoto sobre a rede.
[00070] A figura 11 é um diagrama de fluxo que ilustra um método para descobrir um serviço de acordo com outra concretização da invenção. É notado que o método 1100 pode ser executado pela lógica de processamento que pode incluir hardware, firmware, software, ou uma combinação dos mesmos. Por exemplo, o método 1100 pode ser executado pela unidade de descoberta de serviço 202 da figura 8. Com referência à figura 11, no bloco 1101, as condições de operação correntes são monitoradas por um dispositivo local (por exemplo, um descobridor), incluindo o estado da bateria, o congestionamento de tráfego de rede, os comportamentos de usuário, e tipos de serviços a serem anunciados, etc. Com base nas condições de operação, no bloco 1102, um período de descoberta é dinamicamente ajustado de acordo. Em uma concretização, o período de descoberta é configurado como um múltiplo de um valor de base predeterminado, conforme ex- plicado acima. No bloco 1103, a lógica de processamento está periodicamente sintonizada na rede de acordo com o período de descoberta ajustado em uma tentativa de descobrir um serviço disponível na rede. Em resposta a um anúncio recebida de um dispositivo remoto durante a descoberta, no bloco 1104, uma solicitação de serviço é transmitida para o dispositivo remoto para indagar um serviço anunciado no anúncio. No bloco 1105, uma resposta de serviço é recebida do dispositivo remoto em resposta à solicitação de serviço incluindo certa informação detalhada do serviço ou serviços solicitados. Concretizações de Anúncios de Serviço Coordenadas
[00071] De acordo com algumas concretizações, múltiplos dispositivos que são capazes de anunciar um ou mais serviços podem ser coordenados mutuamente para selecionar um ou mais dispositivos para anunciar os serviços em nome de outros dispositivos. Um dispositivo pode ser selecionado como um anunciante de grupo de acordo uma variedade de parâmetros (por exemplo, uma condição de bateria. etc.), que é monitorado pela lógica de monitoramento do dispositivo. Um dispositivo pode operar como um anunciante de grupo que anuncia seus próprios serviços e serviços de outros dispositivos na rede. Um dispositivo pode também operar como um anunciante para anunciar seus próprios serviços, bem como um anunciado (advertisee) apresentando um ou mais seus serviços anunciados por outro dispositivo. Um dispositivo pode operar como um anunciado (advertisee) apenas que conta com outro dispositivo para anunciar seus serviços.
[00072] A figura 12 é um diagrama de bloco que ilustra um dispositivo eletrônico de acordo com outra concretização da invenção. Por exemplo, o dispositivo 1200 pode ser implementado como qualquer dos dispositivos 101-103 da figura 1. Com referência à figura 12, similar ao dispositivo 200 da figura 2 ou ao dispositivo 800 da figura 8, o dispositivo 1200 inclui, mas não é limitado à unidade de anúncio de serviço 201, à unidade de descoberta de serviço 202, à unidade de interface de usuário 203, à unidade de gerenciamento de serviço 204, ao dispositivo de armazenamento 205 para armazenar identificadores de serviço 210 e informação de serviço 211, a um ou mais processadores ou núcleos de processadores 206, à unidade de interface de rede 207, e à memória 208, acoplados entre si por meio de barra, inter- conexão, ou malha 209, e uma unidade de monitoramento de ambiente de operação 801. Estes componentes podem ter funcionalidades idênticas ou similares como aquelas mostradas nas figuras 2 e 8 e, portanto, certos números de referência são mantidos das figuras 2 e 8 para fins de ilustração.
[00073] Além disso, de acordo com uma concretização, o dispositivo 1200 adicionalmente inclui a unidade de seleção de anúncio 1201 configurada para ser coordenada com outros dispositivos dentro de uma proximidade da rede para selecionar um ou mais dispositivos como anunciantes de grupo que anunciam serviços em nome de outros. Por exemplo, a unidade de seleção de anunciante 1201 se comunica com unidades de seleção de anunciante de outros dispositivos dentro de uma proximidade predeterminada da rede para selecionar ou negociar um ou mais dispositivos entre eles para serem anunciantes de grupo. Um ou mais dispositivos podem ser determinados e selecionados com base em um ou mais parâmetros ou atributos, tais como, por exemplo, condições de operação e/ou comportamentos de usuário, que podem ser monitorados ou coletados pela unidade de monitoramento 801.
[00074] Por exemplo, quando a unidade de seleção de anunciante 1201 determina que um dispositivo remoto deve ser selecionado como um anunciante de grupo, a unidade de seleção de anunciante 1201 pode instruir a unidade de anúncio de serviço 201 para transmitir uma mensagem de solicitação de anúncio de serviço (também simplesmen- te referida como uma solicitação de anúncio) para o dispositivo remoto selecionado, de tal modo que o dispositivo remoto possa anunciar os serviços para o dispositivo 1200. Diferentemente do anúncio que é transmitida ou transmitida em multicast na rede, uma solicitação de anúncio pode transmitir em unicast uma mensagem (por exemplo, ponto-a-ponto) que solicita um dispositivo remoto específico para anúncio. Alternativamente, uma solicitação de anúncio pode ser transmitida em multicast ou transmitida na rede solicitando um ou mais anunciantes remotos. Em uma concretização, a solicitação de anúncio de serviço enviada para o anunciante remoto inclui um endereço do dispositivo 1200 (por exemplo, endereço de acesso de mídia ou MAC de dispositivo 1200), inúmeros de identificadores de serviço, identifica-dores de serviço atuais (por exemplo, hashes), e a informação de dis-ponibilidade, tal como o plano de disponibilidade de dispositivo 1200. Como resultado, quando os serviços forem anunciados pelo anunciante de grupo remoto, um descobridor remoto poderá diretamente se comunicar com o dispositivo 1200 para indagar um ou mais serviços que são anunciados por um anunciante de grupo remoto, sem ter que entrar em contato com o anunciante de grupo remoto. O dispositivo 1200 pode continuar a anunciar seus próprios serviços enquanto um anunciante de grupo remoto anuncia pelo menos alguns dos serviços em nome do dispositivo 1200.
[00075] Alternativamente, uma vez que o anunciante remoto é selecionado para anunciar serviços para dispositivo 1200, unidade de seleção de anúncio 1201 pode instruir unidade de anúncio de serviço 201 para interromper o anúncio de seus próprios serviços e para transitar o dispositivo 1200 para um advertisee. Além disso, a unidade de seleção de anunciante 1201 pode simplesmente receber uma solicitação de anúncio de serviço de um dispositivo remoto e instruir a unidade de anúncio de serviço 201 para execução do anúncio em nome do dispositivo remoto, bem como seus próprios serviços. Nesta situação, uma solicitação de anúncio é uma mensagem unicast ou multicast (por exemplo, especificamente dirigida a um ou mais dispositivos específicos), do que uma mensagem transmitida (por exemplo, enviada para todos dispositivos na rede).
[00076] Concretizações do presente pedido podem ser aplicadas em uma situação onde muitos dispositivos são dispostos entre si e participando na detecção de proximidade (por exemplo, em uma sala de conferência lotada). Nesta situação, a escalabilidade é alcançada por ter dispositivos que compartilham seus anúncios nos quais apenas alguns dispositivos anunciam para todos os outros. Quando dois dispositivos se depararem mutuamente (por meio de detecção de proximidade explicada acima) e não obstante o fato de eles poderem compartilhar um identificador de serviço comum (por exemplo, hash), um dos dispositivos poderá solicitar que o outro conduza sua própria carga útil de anúncio, por exemplo, em transmitindo um quadro de solicitação de anúncio dirigida para outro dispositivo. O quadro de solicitação de anúncio não precisa ser respondido; contanto que o dispositivo solicitado cumpra em conduzir a carga útil de anúncio do dispositivo de solicitação, o dispositivo solicitado é considerado como sendo um anunciante de grupo para o dispositivo de solicitação, e os dispositivos de solicitação sendo então considerados como um advertisee.
[00077] Em uma concretização, um dispositivo pode operar em um dos quatro estados: • Estado 0: anunciante (por exemplo, fazendo anúncio apenas para si mesmo). • Estado 1: anunciante de grupo (por exemplo, fazer anúncio para si mesmo e fazer anúncio para alguns outros pontos) • Estado 2: anunciante e advertisee (por exemplo, anunciado por pelo menos um outro ponto, fazendo anúncio para si mesmo, e não fazendo anúncio para outros pontos) • Estado 3: advertisee (por exemplo, anunciado por alguns outros pontos)
[00078] Os dispositivos começam inicialmente no estado 0, em que eles estão anunciando apenas seus próprios serviços. Este estado é estado padrão, e compartilha o mesmo comportamento básico, conforme descrito nas seções anteriores. Através da participação no algoritmo de anúncio cooperativo, os dispositivos no estado 0 podem ser promovidos a um dos estados de anúncio cooperativos adicionais 1 - 3.
[00079] O algoritmo usa apenas um quadro (isto é, a solicitação de anúncio), que é um quadro dirigido e pode ser enviado por um dispositivo no estado 0, estado 2 ou estado 3 para um dispositivo no estado 0, estado 1 ou estado 2. Toda vez que múltiplos dispositivos estão em uma faixa de um número elevado de outros dispositivos que participam da detecção de proximidade, eles podem introduzir anúncio cooperativa. Em uma concretização, cada dispositivo que implementa o anúncio cooperativa tenta encontrar um determinado número de anunciantes que são capazes de conduzir suas próprias cargas úteis de anúncio, tais como, por exemplo, dois ou três anunciantes. Quando um adverti- see for anunciado por pontos suficientes, ele poderá interromper a transmissão de seus próprios quadros de anúncio e ser então penas descobrível através de seus anunciantes de grupo remotos. Uma solicitação para anúncio pode ser válida para um período fixo de tempo (por exemplo, vários minutos) e pode ser então exigida para renovação.
[00080] De acordo com uma concretização, o anúncio cooperativa acontecerá apenas quando dois dispositivos puderem se deparar mutuamente, isto é, eles estão ambos operando no estado 0, no estado 1 ou no estado 2. Em uma concretização, um dispositivo pode ser sele- cionado como um anunciante de grupo para outro dispositivo com base em pelo menos algumas das seguintes considerações: 1. Um dispositivo poderá ser selecionado como um anunciante de grupo, se o dispositivo não estiver anunciando para mais de um número predeterminado de pontos (por exemplo, 16 pontos); 2. Um dispositivo poderá ser selecionado como um anunciante de grupo, se o dispositivo estiver atualmente anunciando para o número mais alto de outros pontos; 3. Um dispositivo poderá ser selecionado como um anunciante de grupo, se o dispositivo for atualmente anunciado pelo número menor de pontos; 4a. Um dispositivo poderá ser selecionado como um anunciante de grupo, se o dispositivo anunciar o maior número de serviços no total; e/ou 4b. Um dispositivo poderá ser selecionado como um anunciante de grupo, se o dispositivo apresentar a vida de bateria mais longa restante; 5. Um dispositivo poderá ser selecionado como um anunciante de grupo, se o dispositivo tiver o maior número de IDs de serviço; e 6. Um dispositivo poderá ser selecionado como um anunciante de grupo, se o dispositivo tiver o endereço MAC mais alto.
[00081] A fim de eleger um dispositivo, as cláusulas acima são avaliadas em sequência e/ou em paralelo. Por exemplo, as cláusulas 4a e 4b podem ser avaliadas simultaneamente. Isto é, um dispositivo que apresenta um número anormalmente alto de IDs de serviço seria mais provavelmente selecionado como um anunciante de grupo. Se o número de IDs de serviço for aproximadamente o mesmo, então, o uso da bateria se torna um fator principal. Se, por outro lado, um dispositivo tiver uma vida de bateria infinita (por exemplo, conectado em uma saída CA), então, ele provavelmente seria também eleito como um anunciante de grupo. Em uma concretização, o uso de bateria pode ser codificado com dois números representando a classe do dispositivo e a quantidade de tempo ativo que permanece na bateria. A otimização da distribuição topológica dos anúncios cooperativos é um dos objetivos do algoritmo. Este objetivo é o de convergir para uma situação onde um pequeno número de anunciantes de grupo está conduzindo cargas úteis de anúncio extras para outros advertisees, que irão então interromper o anúncio eles mesmos (isto é, introduzindo o estado 3). Os anunciantes de um advertisee podem ser espacialmente distribuídos em torno e/ou próximo do advertisee (por exemplo, distribuição espacial uniforme de anunciantes).
[00082] A uniformidade da distribuição espacial é alcançada porque múltiplos anunciantes de grupo que compartilham um mesmo adverti- see não devem poder se deparar mutuamente ou podem se deparar mutuamente apenas com um RSSI muito baixo, isto é, eles não estão próximos um do outro. Toda vez que eles puderem se deparar mutuamente com certo nível de RSSI (por exemplo, RSSI de mais de meia faixa) e eles compartilharem um advertisee comum, de acordo com uma concretização, um dos anunciantes de grupo poderá liberar a carga útil adicional para esse advertisee comum e parar de ser um anunciante para esse advertisee. Além disso, dentre seus pontos circundantes que correspondem às cláusulas 1-6 acima, um dispositivo está livre para escolher o mais próximo (por exemplo, com base no RSSI) como seu anunciante de grupo potencial.
[00083] De acordo com algumas concretizações, os anúncios são finitos no tempo e precisam ser renovados periodicamente, por exemplo, a cada minuto ou semelhante. Eles serão renovados quando o ad- vertisee correspondente transmitir uma nova solicitação para um anunciante de grupo. As solicitações não podem ser retransmitidas para um ponto determinado dentro de uma quantidade mínima de tempo, por exemplo, dentro de menos de alguns minutos. Um dispositivo pode solicitar (por exemplo, enviando uma solicitação de anúncio) para ser anunciado por outro ponto toda vez que o RSSI de quadros que ele recebe do ponto estiver entre um meio caminho e uma faixa máxima, isto é, o anunciante e o advertisee estão relativamente próximos um do outro. Isto ajuda a impedir situações quando os dispositivos de terceiros estiverem na faixa do anunciante, mas não na faixa do advertisee.
[00084] Em uma concretização, um dispositivo pode solicitar que múltiplos pontos atuem como anunciantes de grupo, uma vez que esses pontos atendem as cláusulas 1-6 acima. As cláusulas 1-6 são projetadas de modo que, dentro de qualquer par de dispositivos na faixa, apenas um dos dispositivos possa ser potencialmente eleito como um anunciante de grupo para o par. Os anunciantes de grupo no estado 3 em uma meia faixa de RSSI de um com relação ao outro podem comparar suas cargas úteis adicionais e liberar as cargas úteis de anúncio adicionais redundantes. Isto é, se dois anunciantes de grupo em uma meia faixa de RSSI de um com relação ao outro compartilharem um advertisee comum, então, um dos anunciantes deverá liberar o anúncio para o advertisee. A escolha de um dispositivo que é liberado como um anunciante pode também seguir as cláusulas 1-6 acima. Isto é, um anunciante de grupo que conduz o número mais alto de pontos (por exemplo, até 16) irá manter o advertisee comum, ao passo que o anunciante de grupo que conduz o menor número de pontos irá liberar o advertisee. É notado que isto não exige nenhum quadro trocado. Isto é, o anunciante de grupo eleito irá manter o advertisee compartilhado e não fazer nada; o outro irá silenciosamente liberar o advertisee. Ambos os anunciantes permanecem no estado 3.
[00085] Em uma concretização, os anunciantes de grupo no estado 1 em uma meia faixa de RSSI de um com relação ao outro que não compartilham um advertisee comum podem também escolher cooperar, isto é, um dos anunciantes de grupo é eleito como um anunciante de grupo e é eleito como advertisee para o par. O advertisee introduz o estado 2 (por exemplo, liberando seus próprios advertisees) e se o advertisee alcançar três pontos, ele irá então liberar sua própria carga útil e entrará no estado 3 (por exemplo, ele pára de anunciar por completo). O anunciante do par pode começar a conduzir a carga útil de anúncio do advertisee, mas não a carga útil adicional do advertisse. Esta exigência assegura que a carga útil adicional de um advertisee não seja transferida de um anunciante de grupo originalmente localizado próximo a ela para um anunciante de grupo que poderia estar localizado longe dele. Os pontos de terceiros que foram liberados precisam encontrar um novo anunciante ou se tornar anunciantes eles mesmos. É notado que isto também não exige nenhum quadro trocado. Pontos liberados no estado 2 podem encontrar outro anunciante de grupo e permanecer em seu estado corrente, ou eles podem transitar para o estado 0 e operar sem um anunciante de grupo. Um dispositivo no estado 3 que se encontre em uma situação onde ele não pode encontrar pelo menos 2 anunciantes de grupo que conduzem sua carga útil de anúncio pode entrar no estado 2 e reassumir a transmissão de seus próprios anúncios. Um dispositivo no estado 3 que não pode encontrar nenhum anunciante de grupo que conduz sua carga útil de anúncio pode entrar no estado 0 e reassumir a transmissão de seus anúncios. Estas duas transições poderão ocorrer quando um anunciante de grupo sair da faixa, ficar descapacitado e/ou quando os tempos de solicitação de anúncio forem esgotados, e todos os anunciantes de grupo em torno dele estiverem na capacidade máxima e/ou quando não houver muitos anunciantes circundando-o. Alternativa-mente, um dispositivo no estado 3 que não pode encontrar anuncian- tes de grupo suficientes que conduzem sua carga útil de anúncio pode selecionar novos anunciantes de grupo usando as regras acima, e, caso tenha sucesso, poderá permanecer no estado 3.
[00086] Por exemplo, uma "boa" situação será quando um anunciante de grupo conduzir até 16 cargas úteis adicionais e uma carga útil de um advertisee for conduzida por 2 anunciantes de grupo circundantes. O número de quadros de anúncio transmitidos no canal é então globalmente dividido por 16; consequentemente, haverá uma probabilidade muito menor de colisões. A carga útil transmitida total (isto é, byte por segundo) é dividida por 8.
[00087] As figuras 13A-13C são diagramas transacionais que ilustram exemplos de transições de dispositivos entre os estados de operação de acordo com algumas concretizações da invenção. Com referência à figura 13A, é assumido que os dispositivos 1301-1308 estão operando dentro de uma proximidade predeterminada, que é detectada com o uso de certas técnicas descritas acima. Neste exemplo, os dispositivos 1301-1302 estão operando como anunciantes de grupo no estado 1; os dispositivos 1301-1307 estão operando como advertisees no estado 3; e o dispositivo 1308 está operando como um anunciante & advertisee no estado 2. Como pode ser visto na figura 13A, o dispositivo 1301 é selecionado como um anunciante de grupo para o dispositivo 1308, bem como os dispositivos 1303 e 1305. O dispositivo 1302 é selecionado como um anunciante de grupo para os dispositivos 1304 e 1305-1307. É assumido que os dispositivos 1301-1302, que estão operando no estado 1, estão próximos um do outro e podem se deparar mutuamente (por exemplo, acima de certo nível de RSSI).
[00088] Com base no algoritmo de escolha de anunciante acima, uma vez que o dispositivo 1302 apresenta um número maior de adver- tisees (por exemplo, os dispositivos 1304 e 1305-1307) do que o dispositivo 1301 (por exemplo, os dispositivos 1303, 1305 e 1308), entre os dispositivos 1301-1302, o dispositivo 1302 é selecionado como um anunciante de grupo para o dispositivo 1301. Como resultado, conforme mostrado na figura 1B, o dispositivo 1301 transita do estado 1 para o estado 2, e não mais operar como um anunciante para o dispositivo 1308. Subsequentemente, na figura 13C, o dispositivo 1308 se torna um anunciante de grupo no estado 1 e o dispositivo 1301 se torna um advertisee anunciado pelos dispositivo 1302 e 1308 devido à cláusula 3 acima (por exemplo, o menor número de advertisees).
[00089] Quando um anunciante conduzir um anúncio de um adver- tisee, será criada uma mensagem de anúncio de grupo que inclui um anúncio para seus próprios serviços e os serviços do advertisee. A figura 14 é um diagrama de bloco que ilustra uma mensagem de anúncio de grupo de acordo com uma concretização da invenção. Com referência à figura 14, a mensagem de anúncio de grupo 1400 inclui uma mensagem de anúncio 1401 para o próprio anunciante (por exemplo, mensagem de anúncio para seus próprios serviços), que é idêntica ou similar à mensagem de anúncio 500 da figura 5. Além disso, a mensagem de anúncio composta 1400 inclui mensagens de anúncio adicionais 1402-1404, cada qual correspondendo a um advertisee. Em uma concretização, a mensagem de anúncio 1410 para um advertisee (por exemplo, mensagens 1402-1404) inclui o endereço (por exemplo, o endereço MAC) do advertisee 1411, o número de identificadores de serviço 1412 e os identificadores de serviço atuais (por exemplo, hashes) 1413, e o plano de disponibilidade 1414 do advertisee. Como resultado, embora a mensagem de anúncio 1410 seja anunciada por um anunciante, outros dispositivos podem responder à anúncio através da comunicação direta com o advertisee. É notado que os formatos das mensagens de anúncio, conforme mostrado na figura 14, são descritos para fins de ilustração apenas; outros formatos podem também ser aplicados.
[00090] Também é notado que, embora um dispositivo local possa selecionar um dispositivo remoto para ser seu anunciante de grupo com base na condição de operação do dispositivo local em vista da condição de operação do dispositivo remoto, de acordo com uma concretização, o dispositivo remoto pode rejeitar ou ignorar a solicitação de anúncio com base em sua própria determinação ou avaliação da condição de operação do dispositivo remoto. Nesta situação, a menos que uma confirmação seja recebida do dispositivo remoto, o dispositivo local poderá ter que monitorar o tráfego (por exemplo, anúncios de serviço) na rede para determinar se o dispositivo remoto selecionado efetivamente executa o anúncio em nome do dispositivo local. O dispositivo local poderá ter que selecionar outro dispositivo remoto, se o dispositivo remoto rejeitar ou ignorar a solicitação de anúncio.
[00091] A figura 15 é um diagrama de fluxo que ilustra um método para anunciar um serviço de acordo com outra concretização da invenção. É notado que o método 1500 pode ser executado pela lógica de processamento que pode incluir hardware, firmware, software, ou uma combinação dos mesmos. Por exemplo, o método 1500 pode ser executado pela unidade de anúncio 201 e/ou unidade de seleção de anunciante 1201 da figura 12. Com referência à figura 15, no bloco 1501, um dispositivo local é sintonizado em uma rede sem fio para determinar um ou mais dispositivos remotos que são capazes de anunciar um ou mais serviços na rede. No bloco 1502, o dispositivo local compara certas estatísticas de operação predeterminadas e/ou configurações dos dispositivos local e remoto. No bloco 1503, o dispositivo local seleciona um ou mais dispositivos remotos com base na comparação para anunciar um ou mais serviços do dispositivo local. No bloco 1504, o dispositivo local transmite uma solicitação de anúncio para os dispositivos remotos selecionados solicitando o anúncio em nome do dispositivo local, incluindo identificadores (por exemplo, hashes) de um ou mais serviços a serem anunciados. O dispositivo espera então até detectar que a solicitação foi aceita em considerando seus serviços na mensagem da próximo anúncio de grupo do dispositivo remoto, ou em esperando por uma resposta de anúncio bem sucedida no bloco 1505. Se a solicitação falhar, o dispositivo eletrônico verificará se há outros dispositivos remotos que poderiam servir como um anunciante de grupo. Caso positivo, ele irá para o bloco 1501 e tentará de novo o procedimento com um dispositivo diferente. Caso negativo, ele irá interromper o procedimento. Se a solicitação tiver sucesso, ele continuará para o bloco 1505. No bloco 1505, opcionalmente o dispositivo local termina o anúncio de seus próprios serviços e conta com os dispositivos remotos selecionados para anunciar seus serviços.
[00092] A figura 16 é um diagrama de fluxo que ilustra um método para anunciar um serviço de acordo com outra concretização da invenção. É notado que o método 1600 pode ser executado pela lógica de processamento que pode incluir hardware, firmware, software, ou uma combinação dos mesmos. Por exemplo, o método 1600 pode ser executado pela unidade de anúncio 201 e/ou pela unidade de seleção de anunciante 1201 da figura 12. Com refer6encia à figura 16, no bloco 1601, uma solicitação de anúncio é recebida de um dispositivo remoto, incluindo os IDs de serviço para um ou mais serviços a serem anunciados. No bloco 1602, o dispositivo compara certas estatísticas de operação predeterminadas e/ou configurações do dispositivo corrente e de solicitação para verificar se a solicitação era válida. Caso negativo, ele poderá transmitir uma resposta de anúncio indicando falha no bloco 1606 e depois seguir para o bloco 1602. Caso positivo, ele poderá transmitir uma resposta de anúncio que indica sucesso, continuando então para o bloco 1604. No bloco 1604, a lógica de processamento constrói uma mensagem de anúncio de grupo apresentando anúncio de um serviço local e anúncio de um ou mais serviços solicitados do dispositivo remoto. No bloco 1605, o dispositivo local periodicamente transmite o quadro de anúncio composto na rede.
[00093] A figura 17 é um diagrama de fluxo que ilustra um método para selecionar um dispositivo como um anunciante de grupo de acordo com uma concretização da invenção. Com referência à figura 17, no bloco 701, um dispositivo poderá ser selecionado como um anunciante de grupo, se o dispositivo não estiver atualmente anunciando para mais do que um número predeterminado de outros pontos. No bloco 1702, um dispositivo poderá ser selecionado como um anunciante de grupo, se o dispositivo estiver atualmente anunciando para o maior número de outros pontos. No bloco 1703, um dispositivo poderá ser selecionado como um anunciante de grupo, se o dispositivo estiver sendo atualmente anunciado (por exemplo, como um advertisee) pelo menor número de outros pontos. No bloco 1704, um dispositivo poderá ser selecionado como um anunciante de grupo, se o dispositivo atualmente anunciar o maior número de serviços no total ou, alternativamente, se o dispositivo apresentar a vida de bateria restante mais longa. No bloco 1705, um dispositivo poderá ser selecionado como um anunciante de grupo, se o dispositivo atualmente apresentar o maior número de IDs de serviço. No bloco 1706, um dispositivo poderá ser selecionado como um anunciante de grupo, se o dispositivo atualmente apresentar o maior endereço MAC (controle de acesso de mídia). É notado que as operações envolvidas nos blocos 1701-1706 podem ser executadas em sequência e/ou em paralelo, sem qualquer ordem específica. Outros fatores podem ser também considerados aqui.
[00094] As técnicas descritas por todo este pedido podem ser aplicadas a vários cenários ou situações. Os serviços podem ser anunciados e/ou descobertos com base na detecção de proximidade dos dispositivos portáteis usando algumas das técnicas descritas acima. Esta característica permite que os usuários dos dispositivos portáteis anun- ciem um ou mais serviços permanentemente através de um protocolo de rede sem fio e detectem se os dispositivos portáteis se movem dentro de uma faixa de outro dispositivo portátil que está anunciando um desses serviços. O termo "permanentemente" é referido ao fato de o anúncio poder ser aberta ou disponível por um período de tempo sem a interação adicional do usuário local do dispositivo (por exemplo, o anunciante).
[00095] Por exemplo, um jogador (por exemplo, um jogador de xadrez ou pôquer, etc.) pode facilmente se conectar a qualquer site da internet ou rede social de jogos e jogar contra qualquer oponente disponível. Tal usuário poderá jamais encontrar o oponente em pessoa, mas conhecer (descobrir) através da rede. Neste cenário, um usuário de um dispositivo portátil que está à procura de oponentes transmitiria um anúncio para um jogo específico na rede. O anúncio poderá ser gerado por um aplicativo de jogo e poderá incluir informação adicional, tal como classificação do usuário como um jogador, classificação desejada de um oponente, tipo desejado de jogo, etc. Tão logo os usuários entrem em uma faixa de outra pessoa que está anunciando o mesmo jogo, ambos os usuários poderão ser alertados (por exemplo, por um alarme, vibração, etc.) e poderão ser mutuamente conectados para jogar. A proximidade também significa que os usuários jogam com outros usuários que eles efetivamente poderão encontrar em pessoa versus o jogo contra oponentes aleatórios através da rede.
[00096] As técnicas descritas acima podem ser também aplicadas no compartilhamento de conteúdo ou arquivos permanentemente (por exemplo, disponíveis por um período de tempo). Isto é similar à exportação de certo conteúdo (por exemplo, imagens) de um dispositivo portátil, mas isto é feito em uma maneira ad hoc sobre um elo ponto-a- ponto. Por exemplo, um usuário que participe de uma conferência (ou uma festa ou está presente em um campus universitário) poderá com- partilhar uma imagem ou de um documento, e poderá manter este compartilhamento "aberto" por um período de tempo (por exemplo, um dia ou por toda a conferência ou festa). Qualquer colega ou amigo que possa ser autenticado/emparelhado com o dispositivo do usuário poderá circular (por exemplo, dentro das proximidades), e acessar (por exemplo, fazer o download) da imagem ou do documento.
[00097] Se o proprietário do conteúdo compartilhado permitir, e for dependente de certa configuração do dispositivo correspondente (por exemplo, anunciante), o conteúdo poderá ser compartilhado sem exigir a interação do proprietário (por exemplo, alertando ou solicitando uma permissão, etc.) para criar uma conexão ponto-a-ponto. Para o ponto de vista do usuário, isto significa que alguém pode tirar uma foto de um evento e circular o dia inteiro continuamente transmitindo a imagem.
[00098] Quando dois ou mais dispositivos forem acoplados entre si através de uma rede e dentro de uma proximidade predeterminada, os dispositivos poderão se descobrir sobre a rede bem como os serviços disponíveis entre si. Se os dispositivos puderem determinar que eles suportam um aplicativo comum capaz de múltiplos dispositivos (por exemplo, por uma correspondência do ID de serviço correspondente), tal como um jogo de múltiplos jogadores, cada dos dispositivos poderá ser configurado para executar uma ou mais funcionalidades distribuídas do aplicativo capaz de múltiplos dispositivos. Uma funcionalidade distribuída é uma funcionalidade do aplicativo capaz de múltiplos dispositivos que é atribuída a um ou mais dispositivos diferentes, que podem executar a funcionalidade distribuída substancialmente de modo simultâneo. As funcionalidades distribuídas podem incluir entrada, saída e computação, etc. Cada dispositivo pode colaborar com outros dispositivos para executar suas funcionalidades distribuídas. Além dis-so, alguns dos dispositivos podem colaborar entre si para executar as mesmas funcionalidades distribuídas. Em outras palavras, cada dispositivo pode assumir um papel específico na execução do aplicativo capaz de múltiplos dispositivos, e tem uma relação com outros dispositivos com base em seu papel. Além disso, tais papéis e relações podem ser dinamicamente modificados em resposta à adição de um dispositivo para a rede, à remoção dos dispositivos da rede, ao estado corrente da execução do aplicativo, e/ou a entradas de usuário, etc.
[00099] Neste exemplo, pelo menos parte de um aplicativo capaz de múltiplos dispositivos é compartilhada entre os múltiplos dispositivos sobre uma rede. Para compartilhar o aplicativo capaz de múltiplos dispositivos, todo ou parte do aplicativo capaz de múltiplos dispositivos pode ser previamente instalado nos mesmos dispositivos ou em todos os dispositivos na rede, onde o aplicativo capaz de múltiplos dispositivos pode ser identificado por um ID de serviço explicado acima. Alternativamente, um ou mais dispositivos podem transmitir todo ou parte do aplicativo capaz de múltiplos dispositivos para outros dispositivos na rede a fim de compartilhar o aplicativo capaz de múltiplos dispositivos. Como resultado, as funcionalidades distribuídas são executadas em uma maneira colaborada. A informação detalhada adicional referente a técnicas para funcionalidades distribuídas colaboradas por múltiplos dispositivos pode ser encontrada no Pedido de Patente Norte-Americano copendente No. 12/479.586, intitulado "Multifunctional Devices as Virtual Accessories", depositado em 5 de junho de 2009, que é aqui incorporado para referência em sua totalidade. Exemplo de Sistema de Processamento de Dados
[000100] A figura 18 mostra um exemplo de um sistema de processamento de dados que pode ser usado com uma concretização da presente invenção. Por exemplo, o sistema 1800 pode ser implementado como qualquer dos dispositivos 101-103, conforme mostrado na figura 1. O sistema de processamento de dados 1800 mostrado na fi- gura 18 inclui um sistema de processamento 1811, que pode ser um ou mais microprocessadores, ou que pode ser um sistema em um chip de circuito integrado, e o sistema também inclui uma memória 1801 para armazenar dados e programas para execução pelo sistema de processamento. O sistema 1800 também inclui um subsistema de en- trada/saída de áudio 1805 que pode incluir um microfone e um alto- falante para, por exemplo, reproduzir música ou prover funcionalidade de telefone através do alto-falante e do microfone.
[000101] Um controlador de vídeo e dispositivo de vídeo 1807 proveem uma interface de usuário visual para o usuário; esta interface digital pode incluir uma interface gráfica de usuário que é similar àquela mostrada em um dispositivo de telefone iPhone®, em um dispositivo iPad, ou em um computador Macintosh, quando do funcionamento de software de sistema de operação. O sistema 1800 também inclui um ou mais transceptores sem fio 1803 para se comunicar com outro sistema de processamento de dados. Um transceptor sem fio pode ser um transceptor WiFi, um transceptor infravermelho, um transceptor Bluetooth, e/ou um transceptor de telefonia celular sem fio. Será apreciado que componentes adicionais, não mostrados, podem ser também parte do sistema 1800 em certas concretizações, e, em certas concretizações, menos componentes do que mostrado na figura 18 podem ser também usados em um sistema de processamento de dados.
[000102] O sistema de processamento de dados 1800 também inclui um ou mais dispositivos de entrada 1813 que são providos para permitir que um usuário proveja entrada para o sistema. Estes dispositivos de entrada podem ser um keypad, um teclado, um painel de toque, ou um painel de múltiplos toques. O sistema de processamento de dados 1800 também inclui um dispositivo de entrada/saída opcional 1815 que pode ser um conector para uma ligação na tomada. Será apreciado que uma ou mais barras, não mostradas, podem ser usadas para interconectar os vários componentes, como é bem conhecido na técnica. O sistema de processamento de dados mostrado na figura 18 pode ser um computador de mão ou um assistente digital pessoal (PDA), ou um telefone celular com funcionalidade semelhante a PDA, ou um computador de mão que inclui um telefone celular, ou um reprodutor de mídia, tal como um iPod, ou dispositivos que combinam aspectos ou funções destes dispositivos, tal como um reprodutor de mídia combinado com um PDA e um telefone celular em um dispositivo. Em outras concretizações, o sistema de processamento de dados 1800 pode ser um computador de rede ou um dispositivo de processamento embutido dentro de outro dispositivo, ou outros tipos de sistemas de processa-mento de dados que apresentam menos componentes ou talvez mais componentes do que aquele na figura 18.
[000103] Pelo menos certas concretizações das invenções podem ser parte de um reprodutor de mídia digital, tal como um reprodutor de mídia de vídeo e/ou de música portátil, que pode incluir um sistema de processamento de mídia para apresentar a mídia, um dispositivo de armazenamento para armazenar a mídia e pode adicionalmente incluir um transceptor de radiofrequência (RF) (por exemplo, um transceptor RF para um telefone celular) acoplado com um sistema de antena e o sistema de processamento de mídia. Em certas concretizações, a mídia armazenada em um dispositivo de armazenamento remoto pode ser transmitida para o reprodutor de mídia através do transceptor RF. A mídia pode ser, por exemplo, um ou mais de música ou outro áudio, imagens congeladas, ou filmes cinematográficos.
[000104] O reprodutor de mídia portátil pode incluir um dispositivo de seleção de mídia, tal como um dispositivo de entrada de roda de clique em um iPod®, ou reprodutor de mídia iPod Nano® da Apple Inc. of Cupertino, CA, um dispositivo de entrada de múltiplos toque ou tela de toque, um dispositivo de botão de pressão, um dispositivo de entrada de apontar móvel ou outro dispositivo de entrada. O dispositivo de seleção de mídia pode ser usado para selecionar a mídia armazenada no dispositivo de armazenamento e/ou um dispositivo de armazenamento remoto. O reprodutor de mídia portátil pode, em pelo menos certas concretizações, incluir um dispositivo de vídeo que seja acoplado ao sistema de processamento de mídia para exibir títulos ou outros indicadores de mídia que são selecionados através do dispositivo de entrada e que é apresentado, seja através de um alto-falante ou fone(s) de ouvido, seja no dispositivo de vídeo, ou tanto no dispositivo de vídeo quanto em um alto-falante ou fone(s) de ouvido.
[000105] Algumas partes das descrições detalhadas precedentes foram apresentadas em termos de algoritmos e representações simbólicas de operações nos bits de dados dentro de uma memória de computador. Estas descrições algorítmicas e representações são os modos usados por aqueles versados nas técnicas de processamento de dados para mais eficazmente conduzir a substância de seu trabalho para outros versados na técnica. Um algoritmo é aqui, e, em geral, concebido para ser uma sequência autoconsistente de operações que levam a um resultado desejado. As operações são aquelas que exigem manipulações físicas de quantidades físicas. Em geral, embora não necessariamente, estas quantidades tomam a forma de sinais elétricos ou magnéticos capazes de serem armazenados, transferidos, combinados, comparados, e de outro modo manipulados. Foi considerado conveniente, às vezes, principalmente por razões de uso comum, referir-se a estes sinais como bits, valores, elementos, símbolos, caracteres, termos, números, ou semelhantes.
[000106] Deve-se ter em mente, contudo, que todos estes termos e termos similares devem ser associados com quantidades físicas apropriadas e são rótulos meramente convenientes aplicados a estas quantidades. A menos que especificamente mencionado de outro modo como evidente a partir da discussão acima, é apreciado que, por toda a descrição, discussões que utilizam termos, tais como aqueles explicados nas concretizações, se referem à ação e aos processos de um sistema de computador, ou dispositivo de computação eletrônico similar, que manipula e transforma os dados representados como quantidades físicas (eletrônicas) dentro dos registros e memórias do sistema de computador em outros dados similarmente representados como quantidades físicas dentro das memórias ou registros do sistema de computador ou de outros dispositivos de armazenamento de informação, de transmissão ou de vídeo.
[000107] As concretizações da invenção também se referem a um aparelho para executar as operações. Este aparelho pode ser especialmente construído para os fins exigidos, ou pode compreender um computador de uso geral seletivamente ativado ou reconfigurado por um programa de computador armazenado no computador. Tal programa de computador pode ser armazenado em um meio legível por computador. Um meio legível por computador inclui qualquer mecanismo para armazenar informação em uma forma legível por uma máquina (por exemplo, um computador). Por exemplo, um meio legível por máquina (e, legível por computador inclui um dispositivo de armazenamento legível por máquina (por exemplo, um computador) (por exemplo, memória de leitura apenas ("ROM"), memória de acesso aleatório ("RAM"), mídia de armazenamento de disco magnético, mídia de armazenamento óptico, dispositivos de memória flash, etc.), etc.
[000108] Os algoritmos e imagens apresentados aqui não se referem inerentemente a nenhum computador específico ou outro aparelho. Vários sistemas de uso geral podem ser usados com programas de acordo com os ensinamentos, ou pode ser considerado conveniente construir um aparelho mais especializado para executar as operações exigidas do método. A estrutura exigida para uma variedade destes sistemas irá surgir da descrição acima. Além disso, concretizações da presente invenção não são descritas com referência a qualquer linguagem de programação. Será apreciado que uma variedade de linguagens de programação pode ser usada para implementar os ensinamentos de concretizações da invenção, conforme descrito aqui.
[000109] Na especificação anterior, concretizações da invenção foram descritas com referência às concretizações exemplificativas específicas da mesma. Ficará evidente que várias modificações podem ser feitas à mesma sem se afastar do espírito e escopo mais amplo da invenção, conforme explicado nas concretizações. A especificação e os desenhos são, consequentemente, considerados em um sentido ilustrativo do que em um sentido restritivo.

Claims (15)

1. Método implementado por máquina para anunciar um serviço em um ambiente de rede ponto-a-ponto, o método compreendendo as etapas de: monitorar condições de operação de um dispositivo local acoplado a uma rede sem fio, caracterizado pelo fato de que compreende ainda: dinamicamente ajustar um período de anúncio com base nas condições de operação do dispositivo local, em que o período de anúncio do dispositivo local compreende um intervalo de tempo entre transmissões sucessivas de um anúncio pelo dispositivo local; e transmitir, pelo dispositivo local, um anúncio de serviço na rede sem fio de acordo com o período de anúncio ajustado, o anúncio de serviço incluindo um ou mais identificadores de serviço para identificar um ou mais serviços a serem anunciados a partir do dispositivo local.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o período de transmissão de anúncio é dinamicamente ajustado com base em pelo menos uma condição de bateria do dispositivo local, um comportamento de usuário do dispositivo local, uma condição de tráfego de rede, ou um tipo de serviço a ser anunciado.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que adicionalmente compreende: dinamicamente ajustar um período de descoberta com base nas condições de operação do dispositivo local; e sintonizar, pelo dispositivo local, na rede sem fio de acordo com o período de descoberta ajustado em uma tentativa de receber um anúncio de serviço de um dispositivo remoto sobre a rede sem fio.
4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que o período de descoberta é dinamicamente ajustado com base em pelo menos uma condição de bateria do dispositivo local, um comportamento de usuário do dispositivo local, uma condição de tráfego de rede, ou um tipo de serviço a ser descoberto.
5. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que o período de anúncio é calculado como um produto de um valor de base predeterminado e um primeiro fator de ajuste, e em que o período de anúncio é dinamicamente ajustado com o ajuste do primeiro fator de ajuste.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que o período de descoberta é calculado como um produto do valor de base predeterminado e um segundo fator de ajuste que é diferente do primeiro fator de ajuste, e em que o período de descoberta é dinamicamente ajustado com o ajuste do segundo fator de ajuste.
7. Dispositivo portátil que compreende: um transceptor sem fio; um monitor acoplado ao transceptor sem fio para monitorar as condições de operação do dispositivo portátil acoplado a uma rede sem fio, caracterizado pelo fato de que compreende ainda: uma unidade de anúncio de serviço acoplada ao monitor e ao transceptor sem fio para dinamicamente ajustar um período de anúncio com base nas condições de operação do dispositivo portátil, em que o período de anúncio do dispositivo local compreende um intervalo de tempo entre transmissões sucessivas de um anúncio pelo dispositivo local, e em que a unidade de anúncio de serviço é configurada para transmitir de acordo com o período de anúncio ajustado, via o trans- ceptor sem fio, um anúncio de serviço na rede sem fio, o anúncio de serviço incluindo um ou mais identificadores (IDs) de serviço que identificam um ou mais serviços a serem anunciados.
8. Dispositivo portátil, de acordo com a reivindicação 7, ca-racterizado pelo fato de que adicionalmente compreende uma unidade de descoberta de serviço acoplada ao monitor e ao transceptor sem fio para dinamicamente ajustar um período de descoberta com base nas condições de operação do dispositivo local, e sintonizar na rede sem fio através do transceptor sem fio, de acordo com o período de descoberta ajustado em uma tentativa para receber um anúncio de serviço de um dispositivo remoto sobre uma rede sem fio.
9. Dispositivo portátil, de acordo com a reivindicação 8, ca-racterizado pelo fato de que pelo menos um dentre o período de anúncio e o período de descoberta é dinamicamente ajustado com base em pelo menos uma condição de bateria do dispositivo local, um comportamento de usuário do dispositivo local, uma condição de tráfego de rede, ou um tipo de serviço a ser anunciado ou descoberto.
10. Dispositivo portátil, de acordo com a reivindicação 8, caracterizado pelo fato de que o período de anúncio é calculado como um produto de um valor de base predeterminado e um primeiro fator de ajuste, e em que o período de anúncio é dinamicamente ajustado pelo ajuste do primeiro fator de ajuste.
11. Dispositivo portátil, de acordo com a reivindicação 10, caracterizado pelo fato de que o período de descoberta é calculado como um produto do valor de base predeterminado e um segundo fator de ajuste que é diferente daquele primeiro fator de ajuste, e em que o período de descoberta é dinamicamente ajustado com o ajuste do segundo fator de ajuste.
12. Método implementado por máquina para descobrir um serviço em um ambiente de rede ponto-a-ponto, compreendendo as etapas de: determinar as condições de operação de um dispositivo local acoplado a uma rede sem fio, caracterizado pelo fato de que compreende ainda: dinamicamente ajustar um período de descoberta com base nas condições de operação do dispositivo local, em que o período de descoberta do dispositivo local compreende um intervalo de tempo entre tentativas sucessivas de descoberta de serviço pelo dispositivo local, em que o período de descoberta do dispositivo local e um período de anúncio de um dispositivo remoto são múltiplos de um mesmo valor base predeterminado; e sintonizar, pelo dispositivo local, na rede sem fio de acordo com o período de descoberta ajustado em uma tentativa de receber um anúncio de serviço de um dispositivo remoto sobre a rede sem fio.
13. Método, de acordo com a reivindicação 12, caracterizado pelo fato de que adicionalmente compreende: dinamicamente ajustar um período de anúncio com base nas condições de operação do dispositivo local; e transmitir, pelo dispositivo local, um anúncio de serviço na rede sem fio de acordo com o período de anúncio ajustado, o anúncio de serviço incluindo um ou mais identificadores (IDs) de serviço que identificam um ou mais serviços a serem anunciados do dispositivo local.
14. Dispositivo portátil que compreende: um transceptor sem fio; um monitor acoplado ao transceptor sem fio para determinar as condições de operação do dispositivo portátil, caracterizado pelo fato de que um período de descoberta do dispositivo portátil compreende um tempo de intervalo entre tentativas sucessivas de descoberta de serviço pelo dispositivo portátil, em que o período de descoberta do dispositivo portátil e um período de anúncio de um dispositivo remoto são múltiplos de um mesmo valor base predeterminado; e uma unidade de descoberta de serviço acoplada ao monitor e ao transceptor sem fio para dinamicamente ajustar o período de descoberta com base nas condições de operação, sendo que a unidade de descoberta de serviço é configurada para sintonizar na rede sem fio de acordo com o período de descoberta ajustado em uma tentativa de descobrir um serviço anunciado pelo dispositivo remoto sobre uma rede sem fio.
15. Dispositivo portátil, de acordo com a reivindicação 14, caracterizado pelo fato de que adicionalmente compreende uma unidade de anúncio de serviço acoplada ao monitor e ao transceptor sem fio para dinamicamente ajustar um período de anúncio com base nas condições de operação, e transmitir um anúncio de serviço na rede sem fio de acordo com o período de anúncio ajustado, o anúncio de serviço incluindo um ou mais identificadores (IDs) de serviço que identificam um ou mais serviços a serem anunciados.
BR112012017735-4A 2009-12-23 2010-12-08 método implementado por máquina para anunciar um serviço em um ambiente de rede ponto-a-ponto e dispositivo portátil BR112012017735B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US28968909P 2009-12-23 2009-12-23
US61/289,689 2009-12-23
US12/796,522 2010-06-08
US12/796,522 US9391853B2 (en) 2009-12-23 2010-06-08 Efficient service advertisement and discovery in a peer-to-peer networking environment with dynamic advertisement and discovery periods based on operating conditions
PCT/US2010/059590 WO2011087639A1 (en) 2009-12-23 2010-12-08 Efficient service advertisement and discovery in a peer-to-peer networking environment with dynamic advertisement and discovery periods based on operating conditions

Publications (2)

Publication Number Publication Date
BR112012017735A2 BR112012017735A2 (pt) 2016-09-13
BR112012017735B1 true BR112012017735B1 (pt) 2021-05-25

Family

ID=44152643

Family Applications (2)

Application Number Title Priority Date Filing Date
BR112012017735-4A BR112012017735B1 (pt) 2009-12-23 2010-12-08 método implementado por máquina para anunciar um serviço em um ambiente de rede ponto-a-ponto e dispositivo portátil
BR112012018380-0A BR112012018380B1 (pt) 2009-12-23 2010-12-08 Método implementado por máquina para anunciar um serviço em um ambiente de rede ponto-a-ponto, dispositivo portátil, e método implementado por máquina para descobrir um serviço em um ambiente de rede ponto-a-ponto

Family Applications After (1)

Application Number Title Priority Date Filing Date
BR112012018380-0A BR112012018380B1 (pt) 2009-12-23 2010-12-08 Método implementado por máquina para anunciar um serviço em um ambiente de rede ponto-a-ponto, dispositivo portátil, e método implementado por máquina para descobrir um serviço em um ambiente de rede ponto-a-ponto

Country Status (9)

Country Link
US (6) US8533507B2 (pt)
EP (2) EP2517441B1 (pt)
JP (2) JP5782455B2 (pt)
KR (2) KR101462322B1 (pt)
CN (2) CN102652424B (pt)
AU (2) AU2010341704B2 (pt)
BR (2) BR112012017735B1 (pt)
MX (2) MX2012007344A (pt)
WO (3) WO2011087639A1 (pt)

Families Citing this family (158)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533507B2 (en) 2009-12-23 2013-09-10 Apple Inc. Efficient service advertisement and discovery in a peer-to-peer networking environment
US20110231547A1 (en) * 2010-03-18 2011-09-22 Yang Ju-Ting Search methods applied to a personal network gateway in converged personal network service systems and related converged personal network service systems and mobile devices
US8812657B2 (en) * 2010-04-15 2014-08-19 Qualcomm Incorporated Network-assisted peer discovery
US8341449B2 (en) * 2010-04-16 2012-12-25 Lg Chem, Ltd. Battery management system and method for transferring data within the battery management system
US10250678B2 (en) * 2010-07-07 2019-04-02 Qualcomm Incorporated Hybrid modes for peer discovery
US8811957B2 (en) * 2010-09-03 2014-08-19 Qualcomm Incorporated Advertising methods and apparatus for use in a wireless communications system
CN101945132A (zh) * 2010-09-10 2011-01-12 华为技术有限公司 广告插播的方法、设备及系统
US8744803B2 (en) 2010-09-30 2014-06-03 Fitbit, Inc. Methods, systems and devices for activity tracking device data synchronization with computing devices
US9253168B2 (en) 2012-04-26 2016-02-02 Fitbit, Inc. Secure pairing of devices via pairing facilitator-intermediary device
US10983945B2 (en) 2010-09-30 2021-04-20 Fitbit, Inc. Method of data synthesis
US8712724B2 (en) 2010-09-30 2014-04-29 Fitbit, Inc. Calendar integration methods and systems for presentation of events having combined activity and location information
US8762102B2 (en) 2010-09-30 2014-06-24 Fitbit, Inc. Methods and systems for generation and rendering interactive events having combined activity and location information
US8738323B2 (en) 2010-09-30 2014-05-27 Fitbit, Inc. Methods and systems for metrics analysis and interactive rendering, including events having combined activity and location information
US9148483B1 (en) 2010-09-30 2015-09-29 Fitbit, Inc. Tracking user physical activity with multiple devices
US11243093B2 (en) 2010-09-30 2022-02-08 Fitbit, Inc. Methods, systems and devices for generating real-time activity data updates to display devices
US8738321B2 (en) 2010-09-30 2014-05-27 Fitbit, Inc. Methods and systems for classification of geographic locations for tracked activity
US9390427B2 (en) 2010-09-30 2016-07-12 Fitbit, Inc. Methods, systems and devices for automatic linking of activity tracking devices to user devices
US8805646B2 (en) 2010-09-30 2014-08-12 Fitbit, Inc. Methods, systems and devices for linking user devices to activity tracking devices
US9241635B2 (en) 2010-09-30 2016-01-26 Fitbit, Inc. Portable monitoring devices for processing applications and processing analysis of physiological conditions of a user associated with the portable monitoring device
US8762101B2 (en) 2010-09-30 2014-06-24 Fitbit, Inc. Methods and systems for identification of event data having combined activity and location information of portable monitoring devices
US8620617B2 (en) 2010-09-30 2013-12-31 Fitbit, Inc. Methods and systems for interactive goal setting and recommender using events having combined activity and location information
US10004406B2 (en) 2010-09-30 2018-06-26 Fitbit, Inc. Portable monitoring devices for processing applications and processing analysis of physiological conditions of a user associated with the portable monitoring device
US8694282B2 (en) 2010-09-30 2014-04-08 Fitbit, Inc. Methods and systems for geo-location optimized tracking and updating for events having combined activity and location information
US8954290B2 (en) 2010-09-30 2015-02-10 Fitbit, Inc. Motion-activated display of messages on an activity monitoring device
US8615377B1 (en) 2010-09-30 2013-12-24 Fitbit, Inc. Methods and systems for processing social interactive data and sharing of tracked activity associated with locations
US8954291B2 (en) 2010-09-30 2015-02-10 Fitbit, Inc. Alarm setting and interfacing with gesture contact interfacing controls
WO2012078000A2 (ko) * 2010-12-09 2012-06-14 엘지전자 주식회사 무선통신 시스템에서 단말 및 기지국 간 접속 방법 및 그 장치
US20120166515A1 (en) * 2010-12-22 2012-06-28 Pradeep Iyer Providing and Resolving an IP Address for Swarm-Based Services
US20120185335A1 (en) * 2011-01-18 2012-07-19 Qualcomm Incorporated Differentiated display of advertisements based on differentiating criteria
KR20120084464A (ko) * 2011-01-20 2012-07-30 삼성전자주식회사 광고 서비스 제공 방법 및 장치
US20120265871A1 (en) * 2011-04-18 2012-10-18 Qualcomm Innovation Center, Inc. Multicast, client/service-attribute resolution
US8738925B1 (en) * 2013-01-07 2014-05-27 Fitbit, Inc. Wireless portable biometric device syncing
US9396187B2 (en) * 2011-06-28 2016-07-19 Broadcom Corporation System and method for using network equipment to provide targeted advertising
US8989280B2 (en) * 2011-06-30 2015-03-24 Cable Television Laboratories, Inc. Frame identification
US8656015B2 (en) 2011-09-12 2014-02-18 Microsoft Corporation Detecting device presence for a layer 3 connection using layer 2 discovery information
US8799459B2 (en) 2011-09-12 2014-08-05 Microsoft Corporation Event-driven detection of device presence for layer 3 services using layer 2 discovery information
US20130073671A1 (en) * 2011-09-15 2013-03-21 Vinayak Nagpal Offloading traffic to device-to-device communications
EP2745613A4 (en) * 2011-09-22 2015-05-06 Nokia Corp METHOD AND DEVICE FOR FACILITATING REMOTE PARTICIPATION IN A COMMUNITY
CN103037448B (zh) * 2011-09-30 2015-05-27 华为技术有限公司 内容发布方法和用户设备
US10271293B2 (en) 2011-11-18 2019-04-23 Apple Inc. Group formation within a synchronized hierarchy of peer-to-peer devices
US9516615B2 (en) 2011-11-18 2016-12-06 Apple Inc. Selection of synchronization stations in a peer-to-peer network environment
US20130132500A1 (en) * 2011-11-18 2013-05-23 Apple Inc. Selection of a master in a peer-to-peer network environment
US9998945B2 (en) * 2011-11-30 2018-06-12 Shailesh Patil Methods and apparatus to change peer discovery transmission frequency based on congestion in peer-to-peer networks
US9307483B2 (en) * 2011-12-14 2016-04-05 Qualcomm Incorporated Systems and methods for transmitting and receiving discovery and paging messages
JP5891036B2 (ja) * 2012-01-06 2016-03-22 任天堂株式会社 通信システム、通信装置、通信プログラム及び通信方法
CN104106306B (zh) 2012-02-03 2020-03-03 诺基亚技术有限公司 用于促进远程参与社区的方法和装置
KR102014796B1 (ko) * 2012-02-10 2019-08-27 엘지전자 주식회사 D2d 서비스 타입 또는 d2d 어플리케이션 타입에 따른 d2d 통신 방법 및 이를 위한 장치
EP2832072A1 (en) * 2012-03-29 2015-02-04 Nokia Solutions and Networks Oy Delivery of commercial information
US10123187B2 (en) * 2012-04-17 2018-11-06 Qualcomm Incorporated Methods and apparatus for multiplexing application identifiers for peer-to-peer discovery systems
DE102012008867B4 (de) 2012-05-07 2021-01-21 T-Mobile International Austria Gmbh Verfahren zum Verbessern der Nutzung von Nahbereichsdiensten in einem öffentlichen landgestützten Mobilfunknetz, Programm und Computerprogrammprodukt
US9418372B2 (en) 2012-05-25 2016-08-16 Apple Inc. Advertising, discovering, and using services through virtual access point interfaces
EP2858429B1 (en) 2012-06-04 2018-02-14 Yulong Computer Telecommunication Technologies (Shenzhen) Co., Ltd. Infrastructure service information communication device and method
US9351144B2 (en) * 2012-06-04 2016-05-24 Qualcomm Incorporated Methods and apparatus for improving NFC RF discovery based on detection of other RF activity
US8892042B2 (en) * 2012-06-08 2014-11-18 Apple Inc. Immediate connection following device discovery
US9641239B2 (en) 2012-06-22 2017-05-02 Fitbit, Inc. Adaptive data transfer using bluetooth
JP6068630B2 (ja) * 2012-07-06 2017-01-25 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. サービスを登録して発見するための方法、デバイス、およびシステム
US9312948B2 (en) 2012-07-09 2016-04-12 Qualcomm Incorporated Method and apparatus for enabling wireless dockees to find and dock with a wireless docking host being used by another dockee
US8751615B2 (en) * 2012-07-18 2014-06-10 Accedian Networks Inc. Systems and methods of discovering and controlling devices without explicit addressing
CN103581239B (zh) * 2012-07-27 2019-01-22 中兴通讯股份有限公司 一种设备和服务的发现方法、装置
US9210656B2 (en) * 2012-07-31 2015-12-08 Qualcomm Incorporated Listen interval (LI) selection for WLAN client
US8904049B2 (en) 2012-08-23 2014-12-02 Lg Chem, Ltd. Battery pack monitoring system and method for assigning a binary ID to a microprocessor in the battery pack monitoring system
CN102833858B (zh) * 2012-09-06 2016-12-21 东莞宇龙通信科技有限公司 数据通信装置和数据通信方法
US9258837B2 (en) 2012-09-13 2016-02-09 Telefonaktiebolaget L M Ericsson (Publ) Discovery in device-to-device communication
US9313641B2 (en) * 2012-09-17 2016-04-12 Qualcomm Incorporated System and method for advertising and communicating within a neighborhood aware network
CN102833837B (zh) * 2012-09-24 2015-09-30 东莞宇龙通信科技有限公司 数据通信装置和数据通信方法
JP2014081831A (ja) * 2012-10-17 2014-05-08 Denso Corp 画像情報を用いた車両用運転支援システム
US9147340B2 (en) 2012-10-19 2015-09-29 Intel Corporation Apparatus and methods for hybrid service discovery
US9119182B2 (en) 2012-10-19 2015-08-25 Qualcomm Incorporated Methods and apparatus for expression use during D2D communications in a LTE based WWAN
US9830619B2 (en) * 2012-11-05 2017-11-28 Lg Electronics Inc. Method for searching for or advertising service in direct communication system and device for same
RU2533310C2 (ru) * 2012-11-08 2014-11-20 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Вспомогательный способ и система для обнаружения беспроводных сигналов мобильными устройствами
US9648000B2 (en) * 2012-11-14 2017-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Authenticating a device when connecting it to a service
CN103874047B (zh) * 2012-12-17 2017-08-04 华为终端有限公司 服务信息发现方法及设备
US20140177612A1 (en) * 2012-12-21 2014-06-26 Carlos Cordeiro Scalable wireless communication service discovery
US9326224B2 (en) * 2012-12-29 2016-04-26 Intel Corporation Methods and arrangements for advertising services in wireless networks
US9820131B2 (en) * 2013-01-11 2017-11-14 Qualcomm Incorporated Systems and methods for formatting frames in neighborhood aware networks
US9039614B2 (en) 2013-01-15 2015-05-26 Fitbit, Inc. Methods, systems and devices for measuring fingertip heart rate
US9728059B2 (en) 2013-01-15 2017-08-08 Fitbit, Inc. Sedentary period detection utilizing a wearable electronic device
US8837328B2 (en) * 2013-01-23 2014-09-16 Qualcomm Incorporated Systems and methods for pre-association discovery of services on a network
EP3621272B1 (en) 2013-01-25 2022-04-13 Koninklijke KPN N.V. Network-assisted proximity discovery, authentication and link establishment between communication mobile devices in 3gpp lte
US9397902B2 (en) 2013-01-28 2016-07-19 Rackspace Us, Inc. Methods and systems of tracking and verifying records of system change events in a distributed network system
US9813307B2 (en) * 2013-01-28 2017-11-07 Rackspace Us, Inc. Methods and systems of monitoring failures in a distributed network system
CN104937911B (zh) * 2013-01-28 2019-06-21 索尼公司 无线通信装置、通信系统、无线通信装置控制方法以及程序
US20140222941A1 (en) * 2013-02-07 2014-08-07 Google Inc. Ad-hoc device sharing over a network
US9967727B2 (en) * 2013-02-22 2018-05-08 Intel IP Corporation Systems and methods for access network selection and traffic routing
KR101638349B1 (ko) 2013-02-27 2016-07-11 한국전자통신연구원 와이파이 다이렉트 기반 메시지 통신 방법 및 장치
US9800389B2 (en) 2013-03-08 2017-10-24 Qualcomm Incorporated Systems and methods for discovering and synchronizing within a neighbor aware network
CN105052050B (zh) * 2013-03-11 2018-09-14 Lg 电子株式会社 在无线通信系统中执行装置对装置服务的方法和设备
CN105144651A (zh) * 2013-03-20 2015-12-09 诺基亚技术有限公司 应用推荐
US9154934B2 (en) 2013-03-28 2015-10-06 Futurewei Technologies, Inc. System and method for pre-association discovery
US9872227B2 (en) 2013-04-23 2018-01-16 Qualcomm Incorporated Systems and methods for identification in a neighborhood aware network
US10104530B2 (en) 2013-05-08 2018-10-16 Huawei Device (Dongguan) Co., Ltd. Information query method, device, and system
CN104144465B (zh) * 2013-05-08 2017-12-15 华为终端有限公司 一种服务发现方法及装置
CN104159299B (zh) 2013-05-15 2018-06-05 华为终端(东莞)有限公司 一种服务公告消息的传输方法及设备
JP6180786B2 (ja) * 2013-05-17 2017-08-16 株式会社Nttドコモ ユーザ装置、基地局、発見信号間隔調整方法、及びユーザ装置制御方法
US9538561B2 (en) * 2013-05-22 2017-01-03 Intel IP Corporation Systems and methods for enabling service interoperability functionality for WiFi Direct devices connected to a network via a wireless access point
US9544754B1 (en) * 2013-05-28 2017-01-10 Marvell International Ltd. Systems and methods for scheduling discovery-related communication in a wireless network
WO2014194279A1 (en) * 2013-05-31 2014-12-04 Intel IP Corporation Efficient user, service, or content representation for device communication
US9143979B1 (en) 2013-06-18 2015-09-22 Marvell International Ltd. Method and apparatus for limiting a number of mobile devices that can contend for a time slot in a wireless network
US9420044B2 (en) * 2013-06-26 2016-08-16 Qualcomm Innovation Center, Inc. Leveraging system signaling service advertisements for application-layer discovery and connection management in an internet of things (IoT) environment
US20150019681A1 (en) * 2013-07-10 2015-01-15 Qualcomm Innovation Center, Inc. Active computer service solicitation
JP5967584B2 (ja) * 2013-07-24 2016-08-10 日本電信電話株式会社 無線通信システム及びその無線通信方法
KR102058876B1 (ko) * 2013-08-19 2019-12-26 삼성전자 주식회사 장치 간 통신에서의 혼잡 상황 해결 방법 및 장치
JP5753999B2 (ja) 2013-09-12 2015-07-22 メタフロンティア合同会社 端末装置、データ処理プログラム、及びデータ管理システム
US9723545B2 (en) * 2013-11-01 2017-08-01 Qualcomm Incorporated Discovery of Wi-Fi direct services via discovery probe
US9774709B2 (en) * 2013-11-18 2017-09-26 Cable Television Laboratories, Inc. Service discovery
TWI614706B (zh) * 2013-12-10 2018-02-11 深圳市華星光電技術有限公司 可攜式電子裝置的操作方法
EP3085195B1 (en) * 2013-12-16 2021-10-20 Intel Corporation Near field communication assisted device and service discovery
JP5892151B2 (ja) * 2013-12-18 2016-03-23 カシオ計算機株式会社 無線通信装置、無線通信システム、無線通信方法、プログラム、及びペリフェラル
US10349341B2 (en) * 2014-01-17 2019-07-09 Blackberry Limited Wireless network service type
CN104837108B (zh) 2014-02-07 2019-12-31 中兴通讯股份有限公司 一种设备到设备广播通信的方法和用户设备
WO2015133865A1 (en) * 2014-03-06 2015-09-11 Samsung Electronics Co., Ltd. Method and system for establishing a service session between seeker device and advertiser device
US9461842B2 (en) * 2014-04-11 2016-10-04 Avaya Inc. Limiting network service configuration based on network service type and mode advertisements
US9936009B2 (en) 2014-05-22 2018-04-03 Qualcomm Incorporated Systems and methods of operating a device of a data path group network
US10237711B2 (en) * 2014-05-30 2019-03-19 Apple Inc. Dynamic types for activity continuation between electronic devices
US10187770B2 (en) 2014-05-30 2019-01-22 Apple Inc. Forwarding activity-related information from source electronic devices to companion electronic devices
US10055567B2 (en) 2014-05-30 2018-08-21 Apple Inc. Proximity unlock and lock operations for electronic devices
US10193987B2 (en) * 2014-05-30 2019-01-29 Apple Inc. Activity continuation between electronic devices
US20150358777A1 (en) * 2014-06-04 2015-12-10 Qualcomm Incorporated Generating a location profile of an internet of things device based on augmented location information associated with one or more nearby internet of things devices
US9955421B2 (en) * 2014-07-09 2018-04-24 Qualcomm Incorporated Traffic advertisement and scheduling in a neighbor aware network data link
US9756603B2 (en) 2014-07-09 2017-09-05 Qualcomm Incorporated Traffic advertisement and scheduling in a neighbor aware network data link
US9936452B2 (en) * 2014-07-09 2018-04-03 Qualcomm Incorporated Traffic advertisement and scheduling in a neighbor aware network data link
US9936479B2 (en) 2014-07-09 2018-04-03 Qualcomm Incorporated Traffic advertisement and scheduling in a neighbor aware network data link
CN107005978B (zh) * 2014-08-13 2021-03-19 联发科技股份有限公司 在自主管理的移动通信网络中的服务发现
US20160073249A1 (en) * 2014-09-05 2016-03-10 Qualcomm Incorporated System and method for discovering a wireless device
US20160073288A1 (en) * 2014-09-09 2016-03-10 Qualcomm Incorporated Reducing contention in a peer-to-peer data link network
US9408060B2 (en) * 2014-10-14 2016-08-02 Radius Networks Inc. Interleaving multiple bluetooth low energy advertisements
US10021644B2 (en) * 2014-10-30 2018-07-10 Qualcomm Incorporated Network discovery
KR102251326B1 (ko) 2014-11-25 2021-05-12 삼성전자주식회사 근접 네트워크 구성 방법 및 그 전자 장치
WO2016097456A1 (en) * 2014-12-15 2016-06-23 Nokia Technologies Oy Identifying wireless service
WO2016132011A1 (en) * 2015-02-16 2016-08-25 Nokia Technologies Oy Service discovery
US20160285630A1 (en) * 2015-03-23 2016-09-29 Qualcomm Incorporated Private service identifiers in neighborhood aware networks
KR102305115B1 (ko) * 2015-04-02 2021-09-27 삼성전자주식회사 무선 통신 시스템에서 링크 설정을 위한 장치 및 방법
US20160352782A1 (en) * 2015-05-27 2016-12-01 Qualcomm Incorporated Proxy advertisements in a neighbor aware network
US20160352842A1 (en) * 2015-05-27 2016-12-01 Qualcomm Incorporated Proxy advertisements in a neighbor aware network
JP6584171B2 (ja) * 2015-07-02 2019-10-02 キヤノン株式会社 通信装置、通信方法及びプログラム
DE102015216284A1 (de) * 2015-08-26 2017-03-02 Robert Bosch Gmbh Verfahren zum Betreiben eines Gateways
JP6655913B2 (ja) 2015-09-02 2020-03-04 キヤノン株式会社 通信装置、制御方法及びプログラム
US10645575B2 (en) 2015-10-20 2020-05-05 Telefonaktiebolaget Lm Ericcson (Publ) User profiling prevention in personal area network communication
WO2017072557A1 (en) * 2015-10-29 2017-05-04 Nokia Technologies Oy Method and apparatus for facilitating transmission of a proximity health alert via a local wireless network
CN106658181B (zh) * 2015-10-29 2019-07-09 北京国双科技有限公司 用户行为数据的发送方法、装置及系统
US10080530B2 (en) 2016-02-19 2018-09-25 Fitbit, Inc. Periodic inactivity alerts and achievement messages
US10469997B2 (en) 2016-02-26 2019-11-05 Microsoft Technology Licensing, Llc Detecting a wireless signal based on context
US10475144B2 (en) 2016-02-26 2019-11-12 Microsoft Technology Licensing, Llc Presenting context-based guidance using electronic signs
US10085111B2 (en) * 2016-04-11 2018-09-25 Honeywell International Inc. User access to wireless low energy device
WO2017186308A1 (en) * 2016-04-29 2017-11-02 Huawei Technologies Co., Ltd. Grouping manager and user equipments for a communication network
US10285040B2 (en) 2016-05-27 2019-05-07 Apple Inc. Neighbor awareness networking—accelerated discovery
US10783552B2 (en) * 2016-08-18 2020-09-22 At&T Mobility Ii Llc Method and apparatus for managing advertisements
US10349259B2 (en) * 2016-09-23 2019-07-09 Apple Inc. Broadcasting a device state in a wireless communication network
CN106708923B (zh) * 2016-11-09 2019-07-09 武汉大学 一种基于移动群智网络的本地缓存文件分享方法
JP6832794B2 (ja) * 2017-06-05 2021-02-24 ルネサスエレクトロニクス株式会社 無線通信システム
EP3665912B1 (en) * 2017-08-11 2022-04-27 Sonova AG Communication device having a wireless interface
JP7025198B2 (ja) * 2017-12-19 2022-02-24 キヤノン株式会社 通信システム、通信装置とその制御方法、プログラム
US10819557B1 (en) * 2019-05-03 2020-10-27 Servicenow, Inc. Systems and methods for selective discovery of services
US11233588B2 (en) 2019-12-03 2022-01-25 Toyota Motor Engineering & Manufacturing North America, Inc. Devices, systems and methods for determining a proximity of a peripheral BLE device
US11196661B2 (en) * 2019-12-31 2021-12-07 Axis Ab Dynamic transport in a modular physical access control system
CN111356100B (zh) * 2020-03-09 2021-01-05 广州万唯邑众信息科技有限公司 移动广告流量智能分配方法及系统
WO2021224795A1 (en) 2020-05-06 2021-11-11 Fleetwood Group, Inc. Decentralized proximity system with multiple radio links
US11516302B2 (en) * 2020-06-16 2022-11-29 Hewlett Packard Enterprise Development Lp Network service discovery

Family Cites Families (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862325A (en) 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
DE69930918T2 (de) * 1999-01-25 2006-11-30 International Business Machines Corp. Dienstankündigungen in drahtlosen lokalen Netzen
US6604140B1 (en) * 1999-03-31 2003-08-05 International Business Machines Corporation Service framework for computing devices
US6466549B1 (en) * 1999-04-12 2002-10-15 Intel Corporation Broadcast discovery in a network having one or more 1394 buses
ATE294480T1 (de) 1999-06-11 2005-05-15 Microsoft Corp Allgemeines api zur gerätefernsteuerung
US6775244B1 (en) 1999-06-21 2004-08-10 Intel Corporation Gathering of device discovery information
US6829475B1 (en) * 1999-09-22 2004-12-07 Motorola, Inc. Method and apparatus for saving enhanced information contained in content sent to a wireless communication device
US6691169B1 (en) 2000-02-01 2004-02-10 At&T Corp. Method and apparatus for detecting route advertisement violations in a network of interconnected peers
JP2001359004A (ja) 2000-06-09 2001-12-26 Matsushita Electric Ind Co Ltd 録画予約システムおよび方法
US7383574B2 (en) 2000-11-22 2008-06-03 Hewlett Packard Development Company L.P. Method and system for limiting the impact of undesirable behavior of computers on a shared data network
JP2002186009A (ja) 2000-12-12 2002-06-28 Ntt Docomo Inc 無線移動機のセルサーチ方法及び無線移動機
AU2002234258A1 (en) * 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US6993326B2 (en) * 2001-04-02 2006-01-31 Bellsouth Intellectual Property Corporation System and method for providing short message targeted advertisements over a wireless communications network
US7185352B2 (en) * 2001-05-11 2007-02-27 Intel Corporation Method and apparatus for combining broadcast schedules and content on a digital broadcast-enabled client platform
US6961560B2 (en) 2001-05-23 2005-11-01 International Business Machines Corporation Method and device for prompt and efficient service discovery in wireless networks
US6842460B1 (en) 2001-06-27 2005-01-11 Nokia Corporation Ad hoc network discovery menu
US7426393B2 (en) 2001-11-19 2008-09-16 Nokia Corporation Method and system of identifying network services
US20030104782A1 (en) * 2001-11-30 2003-06-05 Palm, Inc. Object tagging system and method
US7237007B2 (en) * 2001-12-05 2007-06-26 Qualcomm Incorporated Method and system for flow control between a base station controller and a base transceiver station
US7249182B1 (en) 2002-02-27 2007-07-24 Nokia Corporation Personal profile sharing and management for short-range wireless terminals
JP2003345685A (ja) 2002-05-22 2003-12-05 Seiko Epson Corp デバイス共有システム、デバイス管理端末、ゲートウェイ端末、デバイス、端末用プログラム及びデバイス用プログラム、並びに、デバイス共有サービス提供方法
US20040003058A1 (en) 2002-06-26 2004-01-01 Nokia, Inc. Integration of service registration and discovery in networks
US7533161B2 (en) 2002-08-08 2009-05-12 Sun Microsystems, Inc. System and method for multiplatform implementation of abstract software modules in peer-to-peer network environments
US7263560B2 (en) * 2002-08-30 2007-08-28 Sun Microsystems, Inc. Decentralized peer-to-peer advertisement
US8086245B2 (en) * 2002-09-12 2011-12-27 Broadcom Corporation Advertising and controlling the advertisement of wireless hot spots
US7349965B1 (en) 2002-09-13 2008-03-25 Hewlett-Packard Development Company, L.P. Automated advertising and matching of data center resource capabilities
US7657597B2 (en) * 2002-09-26 2010-02-02 Sun Microsystems, Inc. Instant messaging using distributed indexes
US7281058B1 (en) * 2002-10-09 2007-10-09 Juniper Networks, Inc. Delivering and receiving multicast content across a unicast network
US8108455B2 (en) 2002-10-31 2012-01-31 Oracle America, Inc. Mobile agents in peer-to-peer networks
CN1726403A (zh) * 2002-12-16 2006-01-25 皇家飞利浦电子股份有限公司 用于gps设备的信息的位置相关显示
US7533141B2 (en) * 2003-01-24 2009-05-12 Sun Microsystems, Inc. System and method for unique naming of resources in networked environments
US7774495B2 (en) 2003-02-13 2010-08-10 Oracle America, Inc, Infrastructure for accessing a peer-to-peer network environment
DE60301198T2 (de) 2003-03-28 2006-06-01 Nortel Networks Ltd., St. Laurent Einfügen eines hash-codierten Dienstbezeichners in eine Funkrufnachricht für einen Dienst-Gruppenruf
US7457973B2 (en) 2003-06-20 2008-11-25 Texas Instruments Incorporated System and method for prioritizing data transmission and transmitting scheduled wake-up times to network stations based on downlink transmission duration
JP3701663B2 (ja) 2003-09-30 2005-10-05 シャープ株式会社 通信システム、端末局、通信管理方法、制御プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
US7586864B2 (en) 2003-09-30 2009-09-08 Sharp Kabushiki Kaisha Communication system, base station, terminal, communication device, communication management method, control program, and computer-readable recording medium containing the same
US7403512B2 (en) * 2003-10-14 2008-07-22 Intel Corporation Service discovery architecture and method for wireless networks
US8229888B1 (en) 2003-10-15 2012-07-24 Radix Holdings, Llc Cross-device playback with synchronization of consumption state
US7525974B2 (en) * 2003-11-10 2009-04-28 Nortel Networks Limited Method and apparatus for capability based addressing in a communications network
EP1542409B1 (en) * 2003-12-10 2009-04-15 Sony Deutschland GmbH Protocol for multi-hop ad-hoc networks
ATE385361T1 (de) 2003-12-15 2008-02-15 Alcatel Lucent Verfahren zum reaktivieren einer mehrzahl deaktivierter geräte, ein entsprechendes netzwerkelement und eine entsprechende aktivierungseinrichtung
US20050177616A1 (en) 2003-12-19 2005-08-11 N2 Broadband, Inc. Method and system for distributing services in a digital asset environment
US8051463B2 (en) 2004-08-18 2011-11-01 Broadcom Corporation Method and system for distribution of configuration information among access points in a wireless local area network (WLAN) across a distribution system (DS)
DE112004003043B4 (de) 2004-09-30 2022-05-05 Avaya Canada Corp. System und Verfahren zur Bekanntgabe und Lokalisierung von Diensten in einem verteilten Peer-to-Peer-Netzwerk
US7428229B2 (en) 2004-12-28 2008-09-23 Motorola, Inc. Ad hoc cluster idle node coordination
US20060172697A1 (en) * 2005-02-02 2006-08-03 Gallego Fernando P Information broadcasting and support system using mobile devices
US7493413B2 (en) 2005-03-15 2009-02-17 Microsoft Corporation APIS to build peer to peer messaging applications
US20060258341A1 (en) 2005-05-13 2006-11-16 Microsoft Corporation Mobile internet services discovery and/or provisioning
US8281025B2 (en) 2005-06-13 2012-10-02 Hewlett-Packard Development Company, L.P. Contemporaneous peer-to-peer multicast data distribution
US20070043591A1 (en) * 2005-08-03 2007-02-22 Attila Meretei Systems and methods for sensing physiologic parameters of the human body and achieving a therapeutic effect
WO2007024918A2 (en) 2005-08-23 2007-03-01 Matsushita Electric Industrial Co., Ltd. System and method for service discovery in a computer network using dynamic proxy and data dissemination
US8576846B2 (en) 2005-10-05 2013-11-05 Qualcomm Incorporated Peer-to-peer communication in ad hoc wireless network
US7756094B2 (en) * 2005-11-10 2010-07-13 The Boeing Company Interoperable mobile ad hoc network
US7623472B2 (en) 2005-11-14 2009-11-24 Lsi Corporation Dynamic peer application discovery
US7613426B2 (en) 2005-12-20 2009-11-03 Microsoft Corporation Proximity service discovery in wireless networks
KR101221706B1 (ko) 2006-01-25 2013-01-11 삼성전자주식회사 고속 패킷 데이터 시스템의 순방향 링크에서 다중 입력 다중 출력 기술을 지원하는 송수신 장치 및 방법
EP1966940B1 (en) * 2006-01-31 2012-08-15 Panasonic Corporation Method for selective service updates for communication networks
US7633897B2 (en) * 2006-02-03 2009-12-15 Qualcomm Incorporated Method and apparatus for the discovery of radio access network elements and exchange of capability and data attributes between those elements
CN101438256B (zh) 2006-03-07 2011-12-21 索尼株式会社 信息处理设备、信息通信系统、信息处理方法
US8085699B2 (en) 2006-03-08 2011-12-27 Nec Corporation Changing period to monitor arrival of beacon signal based on determination as to whether there is a high connection probability
US7711004B2 (en) 2006-04-18 2010-05-04 Cisco Technology, Inc. Multiple broadcast channels for wireless networks
US20070250726A1 (en) 2006-04-24 2007-10-25 Rossetti David A Method of controlling wakeup frequency in a wireless communication system
KR20090014201A (ko) 2006-05-10 2009-02-06 인터디지탈 테크날러지 코포레이션 융합형 무선 송수신 유닛에서 배터리 관리를 위한 방법 및 장치
US20070264991A1 (en) 2006-05-15 2007-11-15 Microsoft Corporation Services near me: discovering and connecting to available wireless services utilizing proximity discovery
US7613156B2 (en) * 2006-06-08 2009-11-03 Motorola, Inc. Method for energy efficient prospective peer discovery in an ad hoc network
US20070286100A1 (en) 2006-06-09 2007-12-13 Mika Juhani Saaranen Local discovery of mobile network services
US7760676B2 (en) 2006-06-20 2010-07-20 Intel Corporation Adaptive DRX cycle length based on available battery power
US8700105B2 (en) 2006-06-22 2014-04-15 Qualcomm Incorporated Low duty cycle device protocol
US7899964B2 (en) 2006-07-13 2011-03-01 Samsung Electronics Co., Ltd. Method and system for providing universal plug and play resource surrogates
US20080052340A1 (en) * 2006-08-28 2008-02-28 Motorola, Inc. Method and system for content advertising in ad hoc networks
US8369800B2 (en) * 2006-09-15 2013-02-05 Qualcomm Incorporated Methods and apparatus related to power control and/or interference management in a mixed wireless communications system
US7848263B2 (en) 2006-11-28 2010-12-07 Marvell International, Ltd. Simplified auto-configuration and service discovery in ad-hoc networks
US7734717B2 (en) * 2006-12-05 2010-06-08 Nokia Corporation Software distribution via peer-to-peer networks
US20080195664A1 (en) 2006-12-13 2008-08-14 Quickplay Media Inc. Automated Content Tag Processing for Mobile Media
US20120143383A1 (en) * 2007-02-02 2012-06-07 Inovus Solar, Inc. Energy-efficient utility system utilizing solar-power
US20080235112A1 (en) 2007-03-22 2008-09-25 Peter Montoya Website, system for and method of providing marketing material for securities to authorized users & method of selling access to, including the right to copy and distribute copied marketing material
EP2157739B1 (en) 2007-06-04 2016-02-10 Sony Corporation Communication system, communication device, communication method, and computer program
US8553623B2 (en) 2007-07-20 2013-10-08 Broadcom Corporation Method and system for utilizing standardized interface in a wireless device to discover and use local and remote resources
GB2450167B (en) 2007-06-18 2009-07-29 Nec Corp Discontinuous Reception In A Mobile Radio Communications Network
KR101495536B1 (ko) 2007-06-22 2015-02-25 삼성전자주식회사 동적으로 변경되는 UPnP 명세를 제공하는 방법 및 장치
US8601156B2 (en) 2007-07-06 2013-12-03 Qualcomm Incorporated Methods and apparatus related to peer discovery and/or paging in peer to peer wireless communications
US7920849B2 (en) * 2007-07-13 2011-04-05 Pop Adrian Method and system for providing advertisements/messages based on wireless data communication technology
US7974574B2 (en) 2007-07-25 2011-07-05 Microsoft Corporation Base station initiated proximity service discovery and connection establishment
US9386557B2 (en) * 2007-08-13 2016-07-05 Qualcomm Incorporated Method and apparatus for supporting broadcast and multicast services in a wireless communication system
US8583753B1 (en) 2007-09-07 2013-11-12 Cisco Technology, Inc. Service advertisements for a network
US8131281B1 (en) 2007-09-12 2012-03-06 Oceans' Edge, Inc. Mobile device monitoring and control system
US8711034B2 (en) 2007-10-02 2014-04-29 Ricoh Co., Ltd. Geographically self-labeling access points
US20090161579A1 (en) * 2007-12-20 2009-06-25 Mika Saaranen Method, system, and apparatus for implementing network capable input devices
US8588816B2 (en) * 2007-12-21 2013-11-19 Qualcomm Incorporated Systems and methods for targeted advertising on wireless devices based on device location and current user interests
US8824378B2 (en) * 2008-02-01 2014-09-02 Maarten Menzo Wentink Unscheduled peer power save mode
US8634796B2 (en) * 2008-03-14 2014-01-21 William J. Johnson System and method for location based exchanges of data facilitating distributed location applications
US20090240794A1 (en) * 2008-03-20 2009-09-24 Huaiyu Liu Techniques utilizing a layer-2 proxy for energy-efficient service discovery and connectivity in networks
US20090248503A1 (en) * 2008-03-25 2009-10-01 International Business Machines Corporation Systems, methods and computer products for a personal portable advertising and messaging agent
US9088946B2 (en) 2008-04-30 2015-07-21 Qualcomm Incorporated Methods and apparatus for power saving for mesh nodes
US9445253B2 (en) 2008-04-30 2016-09-13 Maarten Menzo Wentink Methods and apparatus for scanning for mesh nodes
US8971955B2 (en) 2008-05-11 2015-03-03 Qualcomm Incorporated Systems and methods for multi-mode terminal operations in overlaid networks
US8032072B2 (en) 2008-06-19 2011-10-04 Visteon Global Technologies, Inc. System for downloading audio content
WO2010006095A2 (en) * 2008-07-11 2010-01-14 Marvell World Trade, Ltd. Service discovery methods
US7836164B2 (en) 2008-09-02 2010-11-16 Sony Corporation Extensible network discovery subsystem
US7987241B2 (en) 2008-10-15 2011-07-26 Xerox Corporation Sharing EIP service applications across a fleet of multi-function document reproduction devices in a peer-aware network
US8971862B2 (en) * 2008-11-04 2015-03-03 International Business Machines Corporation Location based routing and advertising for streamed media and media blocking
US20100138007A1 (en) * 2008-11-21 2010-06-03 Qwebl, Inc. Apparatus and method for integration and setup of home automation
KR20100072718A (ko) 2008-12-22 2010-07-01 삼성전자주식회사 방송 데이터 수신 방법 및 장치
US20100191552A1 (en) 2009-01-27 2010-07-29 Patrick Behrens Apparatus, method and article to facilitate propagation of current appointment availability in a network environment
US8073014B2 (en) 2009-03-02 2011-12-06 Motorola Mobility, Inc. Method and apparatus for synchronizing nodes
US20100233960A1 (en) 2009-03-16 2010-09-16 Brian Tucker Service discovery functionality utilizing personal area network protocols
US8194576B2 (en) 2009-03-27 2012-06-05 Research In Motion Limited Wireless access point methods and apparatus using dynamically-activated service intervals
US8605625B2 (en) * 2009-04-02 2013-12-10 Qualcomm Incorporated Methods and apparatus for peer discovery in a communications system
JP5417980B2 (ja) * 2009-05-14 2014-02-19 富士ゼロックス株式会社 情報処理装置、およびプログラム
US20100306249A1 (en) * 2009-05-27 2010-12-02 James Hill Social network systems and methods
US8458353B2 (en) * 2009-08-13 2013-06-04 Qualcomm Incorporated Method and apparatus for link aggregation in a heterogeneous communication system
US8478820B2 (en) 2009-08-26 2013-07-02 Qualcomm Incorporated Methods and systems for service discovery management in peer-to-peer networks
US8897741B2 (en) 2009-11-13 2014-11-25 William J. Johnson System and method for mobile device usability by locational conditions
US8458500B2 (en) 2009-11-30 2013-06-04 International Business Machines Corporation Server allocation to workload based on energy profiles
US8533507B2 (en) * 2009-12-23 2013-09-10 Apple Inc. Efficient service advertisement and discovery in a peer-to-peer networking environment
US8819219B2 (en) * 2009-12-23 2014-08-26 Apple Inc. Efficient service advertisement and discovery in multiple wireless networks
US20120095845A1 (en) * 2010-08-11 2012-04-19 Vertical Ground, LLC Method and system for distributed marketing displays on highway signage
US20120185325A1 (en) * 2011-01-19 2012-07-19 Vertical Ground, LLC Method and system for distributed marketing displays on municipal parking meters
US20120197715A1 (en) * 2011-01-31 2012-08-02 Vertical Ground, LLC Method and system for distributed marketing displays on municipal gratings
US20130055326A1 (en) 2011-08-30 2013-02-28 Microsoft Corporation Techniques for dynamic switching between coded bitstreams
US9710821B2 (en) * 2011-09-15 2017-07-18 Stephan HEATH Systems and methods for mobile and online payment systems for purchases related to mobile and online promotions or offers provided using impressions tracking and analysis, location information, 2D and 3D mapping, mobile mapping, social media, and user behavior and
SG193014A1 (en) 2011-09-30 2013-09-30 Ranganath C Abeyweera Method, system and apparatus for a communications client program and anassociated transfer server for onymous and secure communications
US9516615B2 (en) 2011-11-18 2016-12-06 Apple Inc. Selection of synchronization stations in a peer-to-peer network environment
US9450836B2 (en) * 2011-12-27 2016-09-20 Cisco Technology, Inc. System and method for management of network-based services
US9418372B2 (en) 2012-05-25 2016-08-16 Apple Inc. Advertising, discovering, and using services through virtual access point interfaces
US9661558B2 (en) 2012-06-01 2017-05-23 Apple Inc. Service constraint advertisement and discovery
US8982762B2 (en) * 2012-09-27 2015-03-17 Blackberry Limited Methods and apparatus for use in communicating in a peer-to-peer (P2P) network
US20140165094A1 (en) 2012-12-11 2014-06-12 Echostar Technologies L.L.C. Roaming targeted advertising for a video services system
US9723464B2 (en) 2013-10-18 2017-08-01 Qualcomm Incorporated System and method for identifying a service mesh

Also Published As

Publication number Publication date
KR20120094946A (ko) 2012-08-27
JP5782455B2 (ja) 2015-09-24
US10230596B2 (en) 2019-03-12
US20140059369A1 (en) 2014-02-27
WO2011087639A1 (en) 2011-07-21
EP2517441B1 (en) 2020-04-08
JP5638624B2 (ja) 2014-12-10
EP2517440B1 (en) 2018-03-28
KR20120094947A (ko) 2012-08-27
BR112012017735A2 (pt) 2016-09-13
MX2012007342A (es) 2012-07-20
US8327178B2 (en) 2012-12-04
WO2011087640A1 (en) 2011-07-21
EP2517440A1 (en) 2012-10-31
US8533507B2 (en) 2013-09-10
AU2010341705B2 (en) 2014-08-14
CN102652424A (zh) 2012-08-29
US9391853B2 (en) 2016-07-12
JP2013515443A (ja) 2013-05-02
JP2013514738A (ja) 2013-04-25
US9306813B2 (en) 2016-04-05
EP2517441A1 (en) 2012-10-31
AU2010341704B2 (en) 2014-08-28
US20110154084A1 (en) 2011-06-23
WO2011087638A1 (en) 2011-07-21
AU2010341705A1 (en) 2012-05-17
US20160198511A1 (en) 2016-07-07
US20110153789A1 (en) 2011-06-23
CN102668510B (zh) 2015-12-09
AU2010341704A1 (en) 2012-05-03
BR112012018380A2 (pt) 2020-08-25
BR112012018380B1 (pt) 2022-03-15
CN102668510A (zh) 2012-09-12
US20120117400A1 (en) 2012-05-10
KR101393988B1 (ko) 2014-05-12
US20110153773A1 (en) 2011-06-23
MX2012007344A (es) 2012-07-20
CN102652424B (zh) 2016-01-20
KR101462322B1 (ko) 2014-11-14

Similar Documents

Publication Publication Date Title
BR112012017735B1 (pt) método implementado por máquina para anunciar um serviço em um ambiente de rede ponto-a-ponto e dispositivo portátil
US8819219B2 (en) Efficient service advertisement and discovery in multiple wireless networks
JP6385460B2 (ja) データ経路グループネットワークのデバイスを動作させるシステムおよび方法
JP6321295B2 (ja) 近隣認識ネットワークのデバイス間の通信
JP6275925B2 (ja) 近隣認識ネットワークのデバイス間の通信
EP3073703A1 (en) Method and system for sharing music and other audio content among mobile devices
JP2016537863A (ja) サービスメッシュを識別するためのシステムおよび方法
JP6453478B2 (ja) Nanデータリンクグループ形成およびデータフレームアドレス設定のための方法および装置
EP3008930B1 (en) Framework and applications for proximity-based social interaction
CN117675554A (zh) 一种配置方法、介质和电子设备

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04L 29/08 , H04W 8/00

Ipc: H04L 29/08 (2006.01), H04W 8/00 (2009.01), H04W 48

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 08/12/2010, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF