BRPI0914681B1 - Dispositivo computadorizado em uma rede e método para estabelecer uma conexão entre um primeiro dispositivo de computação e um segundo dispositivo de computação - Google Patents
Dispositivo computadorizado em uma rede e método para estabelecer uma conexão entre um primeiro dispositivo de computação e um segundo dispositivo de computação Download PDFInfo
- Publication number
- BRPI0914681B1 BRPI0914681B1 BRPI0914681-4A BRPI0914681A BRPI0914681B1 BR PI0914681 B1 BRPI0914681 B1 BR PI0914681B1 BR PI0914681 A BRPI0914681 A BR PI0914681A BR PI0914681 B1 BRPI0914681 B1 BR PI0914681B1
- Authority
- BR
- Brazil
- Prior art keywords
- protocol
- service
- service profile
- profile information
- bluetooth
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/08—Access restriction or access information delivery, e.g. discovery data delivery
- H04W48/10—Access restriction or access information delivery, e.g. discovery data delivery using broadcasted information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/24—Radio transmission systems, i.e. using radiation field for communication between two or more posts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H04L67/16—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/183—Processing at user equipment or user record carrier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
- Telephonic Communication Services (AREA)
Abstract
aparelho e métodos para prover descoberta de serviço sobre transportes alternativos. a presente invenção refere-se a métodos e aparelhos para prover informações de descoberta de serviço de transporte primárias sobre um ou mais transportes alternativos que não estão normalmente associados com os serviços de transporte primários. em uma modalidade, o transporte primário compreende uma primeira interface sem fio ( por exemplo, bluetooth), e o transporte alternativo compreende uma segunda interface sem fio ( por exemplo, wifi ou wimax). as informações de perfil de serviço relativas ao transporte primário são transmitidas para outros usuários sobre o transporte alternativo em um modo mais eficiente e funcional do que disponíveis sobre o transporte primário. os outros usuários armazenam estas informações de perfil de serviço de modo que estas possam ser subsequentemente acessadas par a descoberta de perfil de serviço do dispositivo de transmissão por aqueles outros dispositivos, por meio disto eliminando a transferência subsequente dos dados sobre qualquer transporte (primário ou alternativo).
Description
[0001] Este pedido reivindica prioridade para o Pedido PCT Número PCT/US2009/048322 depositado em 23 de Junho de 2009 do mesmo título, o qual reivindica prioridade do Pedido de Patente U.S. Copendente e de Copropriedade Número de Série 12/214.969 depositado em 23 de Junho de 2008 do mesmo título, o conteúdo dos quais está aqui incorporado por referência na sua totalidade.
[0002] A presente invenção refere-se geralmente ao campo de protocolos de comunicação e rede de dados. Mais especificamente, em um aspecto exemplar, a presente invenção está direcionada à transmissão eficiente de, entre outros, informações de perfil de serviço sobre transportes alternativos e/ou que utilizam protocolos alternativos.
[0003] Os protocolos de comunicação, tal como, por exemplo, o protocolo Bluetooth bem-conhecido e especificações de interface de ar, incluem perfis que proveem informações específicas sobre como um dispositivo pretende ser utilizado, assim como o seu modo de operação pretendido. No mínimo a maioria das especificações de perfil contém as informações relativas a: (1) dependências entre os perfis; (2) formatos de interface de usuário sugeridos; e (3) partes específicas da pilha de protocolos utilizados pelo perfil. Para executar a sua tarefa, cada perfil utiliza opções e parâmetros específicos em cada camada da pilha.
[0004] No contexto exemplar de Bluetooth, um grande número de perfis diferentes para utilização com a pilha de protocolos de Bluetooth está incluído como parte da(s) especificação(ões) de Bluetooth. Estes perfis incluem, sem limitação: Perfil de Distribuição de Áudio Avançado (A2DP); Perfil de Controle Remoto de Áudio/Vídeo (AVRCP); Perfil de Formação de Imagem Básico (BIP), Perfil de Impressão Básico (BPP); Perfil de Acesso de ISDN Comum (CIP); Perfil de Telefonia Sem Fio (CTP): Perfil de ID de dispositivo (DID); Perfil de Rede de Discagem (DUN); Perfil de Fax (FAX); Perfil de Transferência de Arquivo (FTP); Perfil de Distribuição de Áudio/Vídeo Geral (GAVDP); Perfil de Acesso Genérico (GAP); Perfil de Troca de Objeto Genérico (GOEP); Perfil de Substituição de Cabo de Cópia Impressa (HCRP); Perfil Sem Mãos (HFP); Perfil de Dispositivo de Interface Humana (HID); Perfil de Fone de Ouvido (HSP); Perfil de Intercom (ICP); Perfil de Acesso de LAN (LAP); Perfil de Impulsão de Objeto (OPP); Perfil de Rede de Área Pessoal (PAN) Perfil de Acesso de Catálogo Telefônico (PBAP); Perfil de Porta Serial (SPP); Perfil de Aplicação de Descoberta de Serviço (SDAP); Perfil de Acesso SIM (SAP, SIM); Perfil de Sincronização (SYNCH); Perfil de Distribuição de Vídeo (VDP); e Portador de Protocolo de Aplicação Sem Fio (WAPB). Métodos existentes para determinar os perfis disponíveis oferecidos por um dado dispositivo de Bluetooth estão ilustrados na figura 1.
[0005] A figura 1 ilustra dois dispositivos de Bluetooth 120, 130 em uma rede sem fio 100 tentando descobrir os perfis de serviço disponíveis oferecidos pelo outro. O dispositivo A 120 inicia um processo de descoberta de dispositivo, enquanto o dispositivo B 130 assegura que este pode aceitar conexões em 154. Os dispositivos 120, 130 devem primeiro estabelecer uma conexão física através de um procedimento de estabelecimento de conexão em 156. A conexão física pode compreender no presente contexto uma conexão sem fio entre os transceptores dos dois dispositivos. Quando estabelecendo uma conexão física, os dois dispositivos 120, 130 devem então executar um procedimento de estabelecimento de canal para estabelecer uma conexão lógica entre os dispositivos 120, 130 em 158. Após estabelecer tanto uma conexão quanto um canal lógico, os dois dispositivos podem então iniciar uma sessão de descoberta de serviço em 160, após o que os dispositivos 120, 130 podem opcionalmente interromper as suas conexões lógica e física em 162, 164, respectivamente.
[0006] A figura 1A ilustra um cenário típico no qual dois (2) dispositivos de Bluetooth trocam informações de perfil de serviço durante uma sessão de descoberta de serviço. Tipicamente, estes perfis de serviço são trocados entre um aplicativo de cliente 102 e um aplicativo de servidor 104. O aplicativo de cliente 102 enviará uma solicitação através de um canal lógico 106 para um cliente de perfil de descoberta de serviço (SDP) 108. O cliente de SDP 108 emite uma solicitação de SDP 114 para o servidor de SDP 112, o qual encaminha a solicitação por sobre o aplicativo de servidor 104. O servidor de SDP 112 responde através de uma resposta de SDP 116 e as capacidades entre os dispositivos são trocadas.
[0007] Apesar dos métodos da técnica anterior para descobrir os perfis disponíveis em um dispositivo de Bluetooth serem adequados onde o tempo não é uma restrição, e uma interferência eletromagnética dentro de uma dada região geográfica é pequena estes podem representar uma tarefa trabalhosa, especialmente onde um grande número de dispositivos está disponível para descoberta. Especificamente, o mecanismo de Descoberta de Serviço de Bluetooth tradicional é um sistema ativo, sob demanda, e deve ser executado no "tempo de conexão" no dispositivo. Algumas vezes este mecanismo é utilizado, somente para descobrir que o dispositivo não suporta a característica na qual o usuário está interessado. Existem também múltiplas etapas requeridas antes que um processo de descoberta de serviço possa ser executado, incluindo a descoberta de dispositivo e a resolução de nome remoto como geralmente ilustrado nas figuras 1 e 1A. Este processo de descoberta de serviço pode ser um processo demorado, e pode assoberbar a rede sem fio resultando em latências indesejáveis quando um grande número de dispositivos estão em proximidade íntima uns com os outros. Ainda, este processo de descoberta de serviço pode também ter uma tendência de erro se os rádios de Bluetooth não puderem "sync" apropriadamente devido à interferência eletromagnética. Um cenário de problema típico existe onde um usuário está operando um I/O de Bluetooth tal como um teclado e um mouse simultaneamente, enquanto tentando uma sessão de SDP com ainda outro dispositivo de Bluetooth. Os dispositivos de Bluetooth neste dado cenário podem nem ser capazes de estabelecer uma sessão de descoberta de serviço devido à interferência causada pela utilização do teclado e mouse de Bluetooth em proximidade íntima com os dispositivos que tentam uma sessão de SDP.
[0008] Mais geralmente, outros protocolos de descoberta de serviço existem fora de Bluetooth também. Estes incluem, sem limitação, o protocolo Bonjour® desenvolvido pelo Cedente aqui (Apple Inc.) o qual é utilizado, entre outros, no sistema operacional Mac OS X da Apple da versão 10.2 em diante, e nos sistemas operacionais Microsoft Windows (quando instalados). O protocolo Bonjour exemplar está destinado para utilização em redes de área local (LANs) para localizar dispositivos tais como impressora, assim como outros computadores e servidores de compartilhamento de arquivos, e os serviços que estes dispositivos oferecem. Este é também utilizando pelo Apple iTunes® para encontrar música compartilhada, iPhoto® para encontrar fotos compartilhadas, iChat®, para encontrar outros usuários na rede local, e TiVo Desktop para encontrar gravadores de vídeo digital e bibliotecas de mídia compartilhada, entre outros usos. Consequentemente, o Bonjour compreende um aplicativo exemplar adaptado para descobrir os serviços em uma rede de área local.
[0009] Outras soluções também foram contempladas na técnica anterior para implementar vários protocolos de descoberta de serviço dentro de uma dada arquitetura ou protocolo de comunicações. Por exemplo, a Patente dos Estados Unidos Número 7.191.245 para Takayama emitida em 13 de Março de 2007 e intitulada "Aparelho de processamento de informações e método de processamento de informações" descreve um aparelho de processamento de informações para permitir que uma unidade não em rede funcione como uma unidade disposta em um ambiente de rede. Um adaptador de rede obtém os dados de perfil detalhados na Internet de acordo com os dados de perfil simples obtidos de fora. O adaptador de rede entra nos dados de serviço gerados de acordo com estas porções de dados de perfil, em um servidor de descoberta de serviço. Então, o adaptador de rede lê os dados de serviço do servidor de descoberta de serviço e refere a estes para executar uma operação para implementar um serviço indicado pelos dados de serviço pela utilização de uma interface com uma unidade não em rede. Com isto, uma função a qual não pode ser implementada se a unidade não em rede não estiver conectada a uma rede é dada para a unidade não em rede através do adaptador de rede.
[00010] A Publicação de Patente dos Estados Unidos Número 20050010655 para Edwards, et al. publicada em 13 de Janeiro de 2005 e intitulada "Método e aparelho para fornecer dinamicamente perfis de serviços para clientes" descreve um sistema que facilita um fornecimento dinâmico de perfis de serviços para um cliente. Durante a operação, o sistema executa uma operação de descoberta que permite o cliente descobrir novos serviços em uma rede. Se um novo serviço for descoberto para o qual o cliente não possui um perfil de serviço, o cliente obtém o perfil de serviço do novo serviço e subsequentemente instala-o, por meio disto permitindo que o cliente interaja com o novo serviço.
[00011] A Publicação de Patente dos Estados Unidos Número 20050128958 para Hamdan publicada em 16 de Junho de 2005 e intitulada "Protocolo para redes ad-hoc de múltiplos saltos sem fio" descreve o provisionamento de serviço em redes de ponto a ponto sem fio organizadas de acordo com o princípio de formação de mensagem de armazenar e encaminhar, especificamente a um protocolo de descoberta de serviço para prover as informações de descoberta de serviço discretas, de baixo excesso necessárias para determinar a disponibilidade de serviços remotos solicitados em uma rede ad-hoc de múltiplos saltos sem fio.
[00012] A Publicação de Patente dos Estados Unidos Número 20070117510 para Elixmann publicada em 24 de Maio de 2007 e intitulada "Sistema para dispositivos e serviços responsivos à detecção, acusticamente sinalizantes desejados próximos em uma rede sem fio" descreve um sistema eletrônico distribuído que tem pelo menos um dispositivo G1 capaz de ser percebido e pelo menos um dispositivo G2 capaz de percepção, cujo último tem uma saída acústica. Para permitir que dispositivos de um tipo sendo procurado por um usuário sejam mais facilmente percebidos, G1 e G2 cooperam um com o outro por intercomunicação automática de tal modo que o usuário fica sabendo a qualquer momento por meio de sinais audíveis quais tipos de dispositivos estão localizados na área que o circunda. Em uma modalidade, G2 compreende um perfil de percepção que armazena os tipos de dispositivos desejados para comparação em um processo de descoberta de serviço de Bluetooth. G2 pode ser parte de um fone de ouvido ou um aparelho auditivo, e as sequências de áudio podem ser editadas por um aplicativo ligado a G2 através da interface ad-hoc.
[00013] Apesar destas várias técnicas, a técnica anterior não consegue prover protocolos de descoberta de serviço através de plataformas, transportes e interfaces de rede diferentes ou heterogêneos, especialmente onde a utilização destas plataformas, transportes e interfaces de rede diferentes pode acelerar o processo de descoberta de perfil de serviço. Consequentemente, um aparelho e métodos aperfeiçoados são necessários os quais permitiriam a descoberta de perfis de serviço de dispositivo remoto sobre transportes de comunicação alternativos, ou exclusivamente ou somente sob certas condições de operação. Ainda, tal aparelho e métodos aperfeiçoados permitiriam a descoberta de informações adicionais as quais ajudariam na utilização destes perfis de serviço. Tal aparelho e métodos aperfeiçoados também idealmente proveriam um transporte mais rápido e mais eficiente de perfis de serviço entre os dispositivos se comparado com as técnicas de descoberta de serviço da técnica anterior.
[00014] A presente invenção satisfaz as necessidades acima mencionadas provendo um aparelho e métodos aperfeiçoados para a transmissão de dados de serviço sobre sistemas de múltiplos transportes.
[00015] Em um primeiro aspecto da invenção, um método para reduzir a latência em descoberta de perfil de serviço entre um primeiro e um segundo dispositivos de usuário está descrito. Em uma modalidade, cada um dos dispositivos compreende um primeiro transporte associado com o perfil de serviço, e um segundo transporte, e o método compreende: transmitir os dados relativos a pelo menos um perfil de serviço do primeiro dispositivo de usuário para o segundo utilizando o segundo transporte; armazenar os dados transmitidos no segundo dispositivo; e subsequentemente acessar os dados armazenados no segundo dispositivo quando uma descoberta de serviço para o primeiro dispositivo é requerida. Acessar os dados armazenados para a descoberta de serviço substancialmente impede a negociação e a comunicação sobre o primeiro transporte para a descoberta de serviço.
[00016] Em uma variante, o primeiro transporte compreende um transporte de Bluetooth, e o segundo transporte compreende um transporte habilitado em TCP/IP.
[00017] Em um segundo aspecto da invenção, um método para prover um ou mais perfis de serviço para um primeiro protocolo sobre uma rede através de um segundo protocolo está descrito. Em uma modalidade, o método compreende: armazenar os um ou mais perfis de serviço para o primeiro protocolo localmente em um primeiro dispositivo de computação, os um ou mais perfis de serviço associados com o primeiro dispositivo de computação; e transmitir os um ou mais perfis de serviço para um segundo dispositivo de computação através do segundo protocolo. O primeiro e o segundo protocolos diferem, e o segundo dispositivo de computação suporta tanto o primeiro quanto o segundo protocolos.
[00018] Em uma variante, o primeiro protocolo compreende o Bluetooth, e o ato de transmitir substancialmente elimina uma sessão de descoberta de serviço de Bluetooth.
[00019] Em outra variante, os um ou mais perfis de serviço estão armazenados onde estes são acessíveis por um aplicativo de descoberta de serviço, o aplicativo de descoberta de serviço capaz de comunicar com outros aplicativos similares através do segundo protocolo.
[00020] Em ainda outra variante, o segundo protocolo é selecionado do grupo que consiste em um protocolo IEEE Std. 802.3 (Ethernet), 802.11 (WiFi), ou 802.16 (WiMAX), e o método ainda compreende armazenar os um ou mais perfis de serviço do primeiro dispositivo de computação e no segundo dispositivo de computação.
[00021] Em ainda uma variante adicional, o método ainda compreende transmitir um ou mais perfis de serviço associados com o segundo dispositivo de computação para o primeiro dispositivo de computação, os um ou mais perfis de serviço associados com o primeiro protocolo do segundo dispositivo de computação, e armazenar no primeiro dispositivo de computação os um ou mais perfis de serviço associados com o segundo dispositivo de computação.
[00022] Em ainda outra variante, o método ainda compreende armazenar os um ou mais perfis de serviço do primeiro dispositivo de computação no segundo dispositivo de computação; e durante pelo menos uma solicitação subsequente pelo segundo dispositivo de computação por dados de perfil de serviço associados com o primeiro dispositivo de computação, acessar pelo menos um dos um ou mais perfis armazenados no segundo dispositivo ao invés de transmitir uma solicitação de perfil de serviço para o primeiro dispositivo.
[00023] Em um terceiro aspecto da invenção, um aparelho legível por computador que compreende um meio de armazenamento está descrito. Em uma modalidade, o meio compreende instruções as quais, quando executadas por um dispositivo de processamento, causam a transmissão de um ou mais perfis de serviço associados com um primeiro transporte através de um segundo transporte não associado com os um ou mais perfis de serviço, as instruções compreendendo: uma primeira instrução adaptada para reunir os um ou mais perfis de serviço; e uma segunda instrução adaptada para causar a transmissão dos um ou mais perfis de serviço através do segundo transporte.
[00024] Em uma variante, o primeiro transporte compreende um transporte de Bluetooth, e o ato de transmitir causa a interrupção ou a prevenção de uma sessão de descoberta de serviço de Bluetooth.
[00025] Em outra variante, o aparelho ainda compreende uma terceira instrução que, quando executada pelo dispositivo de processamento, armazena os um ou mais perfis de serviço localmente de modo que estes sejam acessíveis através de um aplicativo de descoberta de serviço.
[00026] Em uma variante adicional, o segundo transporte compreende um transporte compatível com IEEE Std. 802.11.
[00027] Em um quarto aspecto da invenção um dispositivo computadorizado está descrito. Em uma modalidade, o dispositivo compreende: um processador digital; uma primeira interface de rede sem fio associada com um primeiro protocolo; uma segunda interface de rede sem fio associada com um segundo protocolo; e uma memória que compreende instruções que, quando executadas pelo processador digital: recebe uma solicitação para dados de perfil de serviço relativos ao primeiro protocolo do dispositivo computadorizado; coleta um ou mais perfis de serviço associados com o primeiro protocolo; e transmite, através da segunda interface de rede sem fio, os um ou mais perfis de serviço para outro dispositivo computadorizado.
[00028] Em uma variante, o primeiro protocolo compreende um protocolo de Bluetooth, e as instruções fazem com que uma sessão de descoberta de serviço de Bluetooth que seria de outro modo executada não seja executada.
[00029] Em outra variante, o dispositivo ainda compreende um aplicativo de descoberta de serviço residente na memória, em que os um ou mais perfis de serviço estão armazenados na memória de modo que estes sejam acessíveis pelo aplicativo de descoberta de serviço, o aplicativo de descoberta de serviço capaz de comunicar com outros aplicativos similares através da segunda interface de rede. A segunda interface de rede compreende, por exemplo, uma rede de área local sem fio (WLAN) ou uma interface de WiMAX.
[00030] E, ainda outra variante, o dispositivo computadorizado ainda compreende instruções que quando executadas pelo processador digital: solicitam as informações de perfil de serviço de um dispositivo de usuário remoto; e armazenam as informações de perfil sobre o usuário remoto localmente quando recebidas sobre a segunda interface de rede.
[00031] Em ainda variante adicional, o dispositivo compreende um elemento de display, o elemento de display apresentando uma interface gráfica de usuário para um usuário, a interface gráfica de usuário exibindo as informações de perfil de usuário remoto. As informações de perfil de usuário remoto compreendem pelo menos um perfil de serviço que suporta as comunicações através do primeiro protocolo, e as informações de perfil de usuário remoto ainda compreendem as informações de estado referentes à operação do primeiro protocolo pelo usuário remoto.
[00032] Em outra variante, o dispositivo computadorizado compreende uma interface de telefonia celular e um sistema de controle de tela de toque.
[00033] Em um quinto aspecto da invenção, um sistema está descrito, o sistema compreendendo: um primeiro transporte; um segundo transporte; e um primeiro e um segundo dispositivos de usuário cada um tendo acesso ao primeiro e ao segundo transportes; em que pelo menos um dos dispositivos compreende um programa de computador adaptado para: solicitar as informações de serviço relativas ao primeiro transporte do outro dispositivo; receber as informações de serviço do outro dispositivo através do segundo transporte; e armazenar as informações recebidas para acesso durante pelo menos uma solicitação de serviço subsequente, o acesso evitando a necessidade de uma transferência de informações de serviço sobre o primeiro transporte.
[00034] Em um sexto aspecto da invenção, métodos para fazer negócios com base nos métodos e/ou aparelhos acima mencionados estão descritos.
[00035] Outras características e vantagens da presente invenção serão imediatamente reconhecidas por pessoas versadas na técnica com referência aos desenhos anexos e descrição detalhada de modalidades exemplares como abaixo fornecidas.
[00036] Figura 1 é uma ilustração gráfica de um fluxo de formação de mensagem de controle da técnica anterior para um procedimento de descoberta de serviço de Bluetooth exemplar.
[00037] Figura 1A é um diagrama de blocos que ilustra uma sessão de descoberta de serviço da técnica anterior.
[00038] Figura 2 é um diagrama de blocos que ilustra uma arquitetura de sistema exemplar útil na implementação do procedimento de descoberta de serviço de transporte alternativo de acordo com uma modalidade da presente invenção.
[00039] Figura 3 é um diagrama de blocos funcional que ilustra uma modalidade de uma arquitetura de dispositivo útil com o sistema da figura 2.
[00040] Figura 4 é um diagrama de fluxo lógico que ilustra uma metodologia exemplar para transmitir as capacidades de dispositivo local para um dispositivo remoto utilizando um transporte alternativo de acordo com a presente invenção.
[00041] Figura 4a é um diagrama de fluxo lógico que ilustra uma metodologia exemplar para estabelecer uma conexão lógica utilizando as capacidades recebidas através de um transporte alternativo de acordo com a presente invenção.
[00042] Figura 5 é um diagrama de fluxo lógico que ilustra outra modalidade da metodologia para transmitir as capacidades de dispositivo local para um dispositivo remoto utilizando um transporte alternativo, em que uma pluralidade de transporte alternativo está disponível.
[00043] Figura 6 ilustra uma interface GUI exemplar (janela) para exibir os dispositivos e os perfis de serviço associados com estes de acordo com a presente invenção.
[00044] Como aqui utilizado, o termo "Bluetooth" refere sem limitação a qualquer dispositivo, software, interface ou técnica que esteja em conformidade com um ou mais padrões técnicos de Bluetooth, incluindo a Especificação de Núcleo de Bluetooth Versão 1.2, Versão 2.0, e Versão 2.1 + EDR, cada um dos acima aqui incorporados por referência em sua totalidade.
[00045] Como aqui utilizados, os termos "dispositivo de cliente", e "dispositivos de usuário final" incluem, mas não estão limitados a telefones celulares, telefones inteligentes (tal como, por exemplo, um iPhone®), computadores pessoais (PCs), tal como por exemplo um iMac®, Mac Pro®, Mac Mini® ou MacBook®, e minicomputadores, sendo de mesa, laptop, ou de outro modo, assim como dispositivos móveis tais como os computadores portáteis, PDAs, câmeras de vídeo, conversores de frequência, dispositivos de mídia pessoal (PMDs), tais como por exemplo um iPod®, ou quaisquer combinações dos acima.
[00046] Como aqui utilizado, o termo "programa de computador" ou "software" pretende incluir qualquer sequência ou etapas reconhecíveis por humano ou máquina a qual executa uma função. Tal programa pode ser renderizado em virtualmente qualquer linguagem de programação ou ambiente incluindo, por exemplo C/C++, Fortran, COBOL, PASCAL, linguagem assembly, linguagens de markup (por exemplo, HTML, SGML, XML, VoXML), e similares, assim como ambientes orientados em objeto tais como Common Object Request Broker Architecture (CORBA), Java® (que inclui J2ME, Java Beans, etc.), Binary Runtime Environment (BREW), e similares.
[00047] Como aqui utilizando o termo "circuito integrado (IC)" refere-se a qualquer tipo de dispositivo que tem qualquer nível de integração (incluindo sem limitação ULSI, VLSI, e LSI) e independente de processo ou materiais de base (incluindo, sem limitação Si, SiGe, CMOS e GaAs). Os ICs podem incluir, por exemplo, os dispositivos de memória (por exemplo, DRAM, SRAM, DDRAM, EEPROM/Flash, e ROM), processadores digitais, dispositivos de SoC, FPGAs, ASICs, ADCs, DACs, transceptores, controladores de memória e outros dispositivos, assim como quaisquer suas combinações.
[00048] Como aqui utilizado, o termo "memória" inclui qualquer tipo de circuito integrado ou outro dispositivo de armazenamento adaptado para armazenar dados digitais incluindo, sem limitação, ROM. PROM, EEPROM, DRAM, SDRAM, DDR/2 SDRAM, EDO/FPMS, RLDRAM, SRAM, memória "rápida" (por exemplo, NAND/NOR), e PSRAM.
[00049] Como aqui utilizados, os termos "microprocessador" e "processador digital" pretendem geralmente incluir todos os tipos de dispositivos de processamento digital incluindo, sem limitação, os processadores de sinal digital (DSPs), computadores de conjunto de instruções reduzidas (RISC), processadores de uso geral (CISC), microprocessadores, redes de porta (por exemplo, FPGAs), PLDs, tecido de computação reconfigurável (RCFs), processadores de rede, microprocessadores seguros, e circuitos integrados de aplicação específica (ASICs). Tais processadores digitais podem estar contidos em uma única matriz de IC unitária, ou distribuídos através de múltiplos componentes.
[00050] Como aqui utilizados, os termos "rede" e "rede de suporte" referem-se geralmente a qualquer tipo de rede de dados, telecomunicações ou outra incluindo, sem limitação, as redes de dados (incluindo MANs, PANs, WANs, LANs, WLANs, micronets, piconets, internets, e intranets), redes coaxiais de fibra híbrida (HFC), redes de satélite, redes celulares, e redes Telco. Tais redes ou suas porções podem utilizar qualquer uma ou mais diferentes topologias (por exemplo, anel, barramento, estrela, loop, etc.), mídias de transmissão (por exemplo, com fio / cabo de RF, RF sem fio, onda de milímetro, ótica, etc.) e/ou comunicações ou protocolos de rede (por exemplo, SONET, DOCSIS, IEEE Std. 802.3, 802.11, ATM, X.25, Frame Relay, 3GPP, 3GPP2, WAP, SIP, UDP, FTP, RTP/RTCP, H.323, etc.).
[00051] Como aqui utilizados, os termos "interface de rede" ou "interface" tipicamente referem a qualquer interface de sinal, dados ou software com um componente, rede ou processo incluindo, sem limitação aqueles do Firewire (por exemplo, FW400, FW800, etc.), USB (por exemplo, USB2), Ethernet (por exemplo, 10/100, 10/100/1000 (Gigabit Ethernet), 10-Gig-E, etc.), MoCA, Serial ATA (por exemplo, SATA, e-SATA, SATAII), Ultra-ATA/DMA, Coaxsys (por exemplo, TVnet®), sintonizador de frequência de rádio (por exemplo, em banda ou OOB, modem de cabo, etc.), WiFi (802.11a,b,g,n), WiMAX (802.16), PAN (802.15), IrDA ou outras famílias sem fio.
[00052] Como aqui utilizado, o termo "serviço" pretende incluir, sem limitação, qualquer capacidade ou funcionalidade (ou conjunto de capacidades ou funcionalidades) provida por um dispositivo ou rede, incluindo, por exemplo, o Perfil de Descoberta de Serviço (SDP) de Bluetooth.
[00053] Como aqui utilizado, o termo "transporte" refere-se sem limitação a qualquer protocolo de transporte capaz de transmitir os dados sobre uma interface física (PHY) tal como, por exemplo, o protocolo de controle de transporte (TCP), o protocolo de datagrama de usuário (UDP), o protocolo de controle de congestionamento de datagrama (DCCP), o protocolo de transporte em tempo real / protocolo de controle de transporte em tempo real (RTP/RTCP), e o protocolo de transmissão de controle de fluxo (SCTP).
[00054] Como aqui utilizado, o termo "sem fio" significa qualquer interface de sinal, dados, comunicação, ou outra interface sem fio incluindo, sem limitação WiFi, Bluetooth, 3G (por exemplo, 3GPP, 3GPP2, e UMTS), HSDPA/HSUPA, TDMA, CDMA (por exemplo, IS- 95A, WCDMA, etc.), FHSS, DSSS, GSM, PAN/802.15, WiMAX (802.16), 802.20, banda estreita/FDMA, OFDM, PCS/DCS, celular analógico, CDPD, sistemas de satélite, sistemas de onda de milímetro ou de microondas, acústica, e infravermelha (por exemplo, IrDA). VISÃO GERAL
[00055] A presente invenção descreve, entre outros, métodos e aparelhos para prover as informações de descoberta de serviço sobre percursos de transporte alternativos que não são normalmente associados com tais serviços. Em uma implementação exemplar, as informações referentes aos perfis de serviço de Bluetooth são providas sobre um transporte normalmente associado com uma interface de rede LAN sem fio. As implementações de Bluetooth da técnica anterior utilizam um Perfil de Descoberta de Serviço (SDP) para encontrar os serviços de dispositivo remoto (por exemplo, impressão, troca objeto, etc.); o SDP é um protocolo definido por especificação de Bluetooth que é tipicamente executado antes que dois dispositivos possam ser utilizados juntos para trocar dados. O SDP pode ser incômodo, no entanto, tal como quando um grande número de dispositivos e perfis de dispositivos precisam ser descobertos.
[00056] Consequentemente, a presente invenção provê métodos e aparelhos que implementam uma experiência de protocolo de comunicação mais rápida, aperfeiçoada entre dois ou mais dispositivos de usuário final. Em uma modalidade os usuários que empregam um protocolo de descoberta de serviço (tal como o protocolo Bonjour exemplar) são capazes de anunciar os seus serviços de dispositivo de Bluetooth sobre outros transportes e protocolos de comunicação, tal como o ubíquo TCP/IP através de uma interface de rede 802.11 (WiFi) ou 802.16 (WiMAX). Este anúncio e transferência de informações é executado em um modo antecipatório onde possível. Provendo as informações de perfil de serviço sobre um percurso de transporte alternativo, as latências associadas com as técnicas da técnica anterior de estabelecer e trocar as informações de perfil de serviço de protocolo de BT são minimizadas, resultando em uma experiência de usuário aperfeiçoada.
[00057] Mais ainda, uma vez que a transferência de dados de perfil de serviço de um dispositivo para um segundo dispositivo ocorreu, qualquer solicitação subsequente para os dados de perfil de serviço transferidos é conduzida localmente, por meio disto evitando os procedimentos de negociação, estabelecimento de conexão, e de transferência normalmente utilizados (tanto na modalidade de transporte primário ou alternativo). Deste modo, cada dispositivo "aprende" e lembra as capacidades de perfil de serviço de outros dispositivos com os quais este esteve em contato. Além disso, os dados de perfil de serviço serão periodicamente atualizados entre o primeiro e o segundo dispositivos. Em uma modalidade, isto é conduzido através da utilização de um esquema de estampa de tempo. Os dispositivos analisarão os dados de perfil de serviço e se estes foram mudados, o dispositivo atualizará os dados de perfil de serviço para incluir as informações contidas com os últimos dados de estampa de tempo.
[00058] Vantajosamente, os métodos e aparelhos da presente invenção podem ser adaptados a qualquer número de combinações de protocolo / serviço com fio ou sem fio também. DESCRIÇÃO DETALHADA DE MODALIDADES EXEMPLARES
[00059] As modalidades exemplares da presente invenção serão agora descritas em detalhes. Apesar destas modalidades serem primariamente discutidas no contexto de transmissão de perfis de serviço de Bluetooth sobre um transporte alternativo tal como uma rede de área local (LAN) ou uma rede de área local sem fio (WLAN), será reconhecido por aqueles versados na técnica que a presente invenção não está em nenhum modo assim limitada. De fato, os princípios da presente invenção podem prontamente ser aplicados a outros protocolos e transportes de comunicação, sendo com fio ou sem fio. Por exemplo, a invenção pode ser aplicada à transmissão de dados de perfil de serviço de Bluetooth sobre WiMAX, MWBA (IEEE- Std. 802.20), IEEE Std. 802.15, ou celular (por exemplo, UMTS/3GPP/3GPP2, etc.) PHY/transporte. Ainda, a presente invenção não está limitada à transmissão de dados de perfil de serviço de Bluetooth sobre um transporte alternativo; de fato a presente invenção pode ser prontamente adaptada de modo que as informações sobre os serviços providos em uma localização geográfica específica poderiam ser obtidos através de um transporte alternativo. Por exemplo, um usuário poderia utilizar o seu iPhone para acessar e colocar em cache localmente as capacidades de WiFi ou Bluetooth de uma cafeteria especifica através dos serviços de celular do iPhone (por exemplo, CDMA, GSM, etc.). APARELHO
[00060] Referindo agora à figura 2, uma arquitetura de sistema 200 exemplar útil para implementar as metodologias da presente invenção está ilustrada. No mínimo, a arquitetura de sistema 200 requer uma comunicação entre dois dispositivos 202, 204. A comunicação entre um dado dispositivo e múltiplos outros dispositivos simultaneamente pode também ocorrer. Em uma modalidade, estes dispositivos 202, 204 vantajosamente compreendem dispositivos de cliente tais como o MacBook® Air fabricado pelo cedente deste. Alternativamente, um destes dispositivos 202 pode compreender um iPhone® fabricado pelo cedente deste, enquanto que o outro dispositivo poderia, por exemplo, compreender uma impressora de fotos capaz de comunicar sobre múltiplos transportes. Qualquer número de outras combinações de dispositivos homogêneos (isto é, similares ou idênticos) e/ou heterogêneos (diferentes) será reconhecido por aqueles versados na técnica dada a presente descrição.
[00061] Cada um dos dispositivos ilustrados na figura 2 ainda compreenderá uma pluralidade de diferentes transportes de comunicação 206, 208, 210. Estes transportes de comunicação 206, 208, 210 podem utilizar qualquer número de diferentes protocolos de comunicação e hardware de camada física (PHY) subjacente associado, sendo sem fio ou com fio. Alguns dos transportes de comunicação mais populares utilizados atualmente em dispositivos de computação que possuem uma interface de rede de LAN ou de WLAN incluem TCP/IP e UDP. Outros transportes de comunicação incluem o agora ubíquo transporte de Bluetooth, o qual é utilizado em uma ampla rede de dispositivos de cliente tais como telefone celulares ou telefones inteligentes, computadores móveis ou laptop, e similares. Em uma implementação exemplar, estes transportes de comunicação 206, 208, 210 compreende um transporte de TCP/IP sobre uma interface de rede de LAN, um transporte de TCP/IP sobre uma interface de rede de WLAN, um transporte de Bluetooth sobre uma interface de rede de Bluetooth, respectivamente. Mais ainda, apesar de três (3) transportes serem ilustrados na figura 2, a invenção pode ser praticada com tão poucos quanto dois (2) transportes.
[00062] A figura 3 ilustra uma arquitetura exemplar para um dispositivo de cliente 202, 204. Os dispositivos de cliente úteis na implementação da presente invenção tipicamente compartilharão algumas características arquitetônicas comuns. Estas incluem um dispositivo de processamento tal como um microprocessador 220, uma memória 230 e um ou mais barramentos de dados 240 acoplados a uma pluralidade de interfaces de rede 250, 260 e 270. Pelo menos duas destas interfaces de rede utilizam transportes diferentes, por meio disto permitindo a transmissão de dados de serviço ou de perfil relativos a um protocolo sobre um transporte separado, como subsequentemente aqui discutido em maiores detalhes. Apesar de uma arquitetura específica ser mostrada na figura 3, é reconhecido que qualquer número de arquitetura de dispositivo poderia prontamente ser implementado por alguém versado na técnica dada a presente descrição. Consequentemente, a arquitetura mostrada é meramente ilustrativa de semelhanças entre os dispositivos exemplares capazes de executar as metodologias abaixo discutidas. MÉTODOS
[00063] Referindo agora à figura 4, uma primeira modalidade exemplar do processo 400 para transmitir as capacidades de dispositivo local para um dispositivo remoto para resolver as deficiências acima mencionadas da técnica anterior está ilustrada.
[00064] Na etapa 410, o dispositivo local armazena as capacidades (tais como os perfis de serviço associados com um primeiro protocolo de comunicação) em um meio de armazenamento prontamente acessível por um segundo protocolo de comunicação. Em uma modalidade, o primeiro e o segundo protocolos de comunicação compreendem Bluetooth e WiFi, respectivamente. A descoberta das capacidades de preferência seriam conduzidas por um aplicativo de software residente no dispositivo local o qual pode consultar, por exemplo, o hardware / software de Bluetooth localizado no dispositivo local, e finalmente determinar os perfis de serviço suportados por esta implementação de hardware / software de Bluetooth. Este processo pode ser conduzido em qualquer número de modos. Por exemplo, uma primeira variante poderia possuir uma listagem que associa os perfis de serviço com um dado protocolo de comunicação (no nosso exemplo, Bluetooth e os perfis de serviço conhecidos associados com o Bluetooth). O aplicativo de software pode então ciclar através da lista de perfis de serviço e consultar o dispositivo de hardware / software de Bluetooth para determinar se o dispositivo suporta o perfil de serviço que é consultado. Alternativamente, o aplicativo de software poderia emitir um comando de consulta abrangente que essencialmente perguntaria: "Quais perfis de serviço você suporta?" O dispositivo de hardware / software de Bluetooth localmente residente no dispositivo então responderia para o aplicativo de software provendo uma listagem de perfis de serviço suportados.
[00065] Como um exemplo do acima, uma consulta poderia revelar que o dispositivo de Bluetooth do dispositivo local suporta um Perfil de Impressão Básico (BPP) em sua implementação local de Bluetooth. Esta capacidade de perfil de serviço é armazenada externa à pilha de protocolos de Bluetooth, de modo que esta possa ser prontamente acessada por transportes de comunicação alternativos (TCP/IP e similares, aqui descritos em outro lugar). Este acesso, em uma modalidade, compreenderá uma acessibilidade por um aplicativo de software tal como o aplicativo de protocolo de descoberta de serviço Bonjour da Apple Inc., apesar de ser reconhecido que outros aplicativos e tipos podem ser utilizados (para incluir, por exemplo, os aplicativos de cliente - servidor, aplicativos distribuídos (DAs), etc.). Como anteriormente discutido, o Bonjour está vantajosamente destinado para utilização em redes de área local, por meio disto facilitando o acesso e a descoberta desejados de informações de perfil de serviço da localização de armazenamento.
[00066] Apesar do armazenamento de informações de perfil de serviço ser considerado especificamente vantajoso, a presente invenção não está assim limitada. De fato, a invenção pode ser prontamente adaptada para incluir a consulta de informações adicionais úteis na facilitação do estabelecimento de capacidades de serviço entre os dispositivos. Por exemplo, no contexto de Bluetooth, as capacidades armazenadas poderiam ser expandidas para incluírem outras informações de estado de Bluetooth. Estas informações de estado podem compreender informações úteis tais como se o dispositivo local tem correntemente o seu rádio de Bluetooth ligado ou não, se este requer ou não pares para estabelecer uma conexão, as informações de endereçamento de dispositivo de Bluetooth, as informações de modo de segurança (por exemplo Modo 0, 1 ou 2) etc. Vide também a discussão referente à figura 6 abaixo provida.
[00067] Na etapa 420, as capacidades armazenadas do dispositivo local são transmitidas para um dispositivo remoto através de um transporte alternativo; isto é, havia da interface de rede que não está associada com as capacidades armazenadas ou o seu transporte primário. Os perfis e capacidades de serviço transmitidos podem ser ou baseados em extração ou baseados em inserção; o dispositivo local pode iniciar a transferência de dados para o(s) dispositivo(s) remoto(s), ou alternativamente a transferência de dados pode ser iniciada pelo dispositivo remoto e os dados subsequentemente transmitidos. Em uma implementação exemplar, os perfis de serviço e as capacidade de dispositivo são periodicamente transmitidos sobre um transporte alternativo. Outros dispositivos iguais na rede escutaram este transporte alternativo quanto a estas transmissões periódicas. Em outra variante, os perfis de serviço e as capacidades de dispositivo são transmitidos quando da ocorrência de um evento; por exemplo, um estabelecimento de conexão alternativa ou configuração de canal. Miríades de outros esquemas serão reconhecidos por aqueles versados na técnica dada a presente descrição.
[00068] No contexto da implementação baseada em Bonjour exemplar acima discutida, a transmissão compreende acessar as informações de perfil de Bluetooth armazenadas na memória através do aplicativo de Bonjour, e transmitir as informações de perfil através de uma interface de LAN sem fio (WLAN), LAN (por exemplo, Ethernet), ou outra interface de rede. Será reconhecido que como aqui utilizado, o termo "rede" pode referir a tão pouco quanto dois dispositivos acoplados ou em comunicação de dados com o meio de acesso, tal como, por exemplo, uma interface de WLAN, USB ou FireWire diretamente entre dois dispositivos, apesar de topologias mais complexas que incluem dispositivos intermediários serem também contempladas.
[00069] Em uma implementação exemplar, o dispositivo remoto também compreenderá o software Bonjour exemplar ou um agente ou processo de software compatível de modo a prover uma compatibilidade entre os dispositivos. Alternativamente, o software Bonjour pode prontamente ser adaptado para comunicar através de qualquer número de aplicativos de software conhecidos de modo que as informações de perfil possam ser utilizadas por um dispositivo remoto que não possua o software Bonjour acima mencionado.
[00070] Em ainda outra variante, a invenção compreende um sistema efetivamente "passivo", em que o perfil de dispositivo local pode ser transmitido e compartilhado com todos os dispositivos participantes em um dado transporte de comunicação. Por exemplo, em uma tal variante, todos os dispositivos conectados a um ponto de acesso sem fio (AP) específico poderiam periodicamente receber as informações de transmissão sobre os perfis e as capacidades de serviço dentro daquele dado AP. Tal implementação tem vantagens em que os perfis e as capacidades de serviço serão transmitidos apesar de limitações de Bluetooth inerentes ou procedimentos de operação padrão de Bluetooth.
[00071] Na etapa 430, as informações e as capacidades de perfil de serviço transmitidas são armazenadas na memória no dispositivo remoto. Em uma modalidade, estas informações são armazenadas em registro de dados de Bonjour e subsequentemente tornadas acessíveis no cache de dispositivo remoto pelo software e/ou hardware de Bluetooth de dispositivo remoto. Ainda, se informações úteis para o estabelecimento de conexão e o estabelecimento de canal forem tornadas disponíveis através das capacidades transmitidas em 420, então estas informações são armazenadas de modo que os dispositivos de rádio de Bluetooth do dispositivo local e remoto possam utilizar estas informações para auxiliar nos procedimentos de estabelecimento de conexão e de canal convencionais quando estabelecendo uma conexão de comunicações.
[00072] Na etapa 440, o dispositivo remoto e o dispositivo local operam de acordo com o perfil e as capacidades de serviço transmitidas. Em uma modalidade isto é executado através de uma seleção do usuário sobre uma interface gráfica de usuário (figura 6) no dispositivo remoto. Como pode ser visto na figura 4a, um usuário que entrou no sistema localmente no dispositivo remoto acessa as capacidades previamente transmitidas que estão armazenadas na memória na etapa 460. Isto será, em uma implementação exemplar, iniciado através da seleção do usuário do aplicativo de software de descoberta de serviço residente no dispositivo remoto. É aqui sublinhada outra vantagem saliente da presente invenção; isto é, que uma vez que dois dispositivos específicos (ou mesmo dispositivos da mesma classe, onde uma configuração de perfil de serviço de "gabarito" é assumida) foram colocados em comunicação e os dados de perfil de serviço transferido do dispositivo local para o remoto, e acessos ou solicitações subsequentes para dados de perfil de serviço para o dispositivo "remoto" (isto é, o dispositivo "local" anterior) são recebidos, os dados armazenados no dispositivo solicitante podem ser utilizados no lugar de precisar iniciar uma nova solicitação para os dados de perfil de serviço do dispositivo remoto através, por exemplo, do transporte de Bluetooth ou do transporte alternativo. Este acesso de informações localmente armazenadas economiza apreciavelmente em comunicações sobre qualquer transporte entre os dois dispositivos que ocorrem após o seu contato inicial.
[00073] Quando da iniciação do aplicativo de software de descoberta de serviço, o usuário no dispositivo remoto será apresentado com informações (vide GUI exemplar da figura 6) tais como a relação com os dispositivos presentes em uma rede 602, os serviços providos por estes dispositivos 604 e o estado de operação ou as capacidades para cada dispositivo 606. Alternativamente, estas informações podem ser mantidas em uma camada inferior para utilização por outros processos, sem necessariamente precisar apresentá-las para o usuário.
[00074] Após um usuário (ou processo de software cognitivo) ter selecionado um dispositivo que opera um perfil de serviço que o usuário deseja, o dispositivo remoto estabelecerá uma conexão lógica com o dispositivo que tem os serviços desejados na etapa 470. No contexto de Bluetooth, isto poderia, por exemplo, compreender executar os procedimentos de estabelecimento de conexão e de canal como normalmente (figura 1). Deve ser notado, no entanto, que a sessão de descoberta de serviço será desnecessária, já que o dispositivo remoto já foi tornado ciente das capacidades e perfis do dispositivo local. Isto pode ser executado através de um software de aplicativo o qual transmite as informações para o módulo de Bluetooth deixando-o saber que o SDP é desnecessário e que os dados de SDP em cache estão atualizados. Se houver uma falha subsequente entre os dispositivos (por exemplo, devido às informações de SDP as quais se tornaram antigas), os dispositivos podem então iniciar uma sessão de SDP padrão utilizando uma metodologia convencional, ou alternativamente empregar outro método para obter estas informações.
[00075] O Apêndice I a este provê um código Bonjour exemplar implementando uma modalidade da metodologia acima mencionada.
[00076] O Apêndice II provê uma modalidade exemplar de uma gravação de Bonjour de Bluetooth de acordo com a invenção.
[00077] Será apreciado que a presente invenção também contempla a utilização de um modo ou função de controle "permissivo", um tanto relacionado com os controles oferecidos em dispositivos contemporâneos para a descoberta de Bluetooth e a transferência de informações. Por exemplo, em uma modalidade, as solicitações de serviço de um dispositivo remoto serão avaliadas em relação aos critérios de controle aplicados pelo usuário do dispositivo local antes dos dados de perfil de serviço (ou outros dados) serem transferidos sobre um transporte alternativo. Um usuário pode especificar, por exemplo, que a certos outros dispositivos / usuários, ou classes de dispositivos / usuários, não será dado acesso aos dados de perfil. Pares ou ligações de Bluetooth ou outros mecanismos de autenticação (por exemplo, 802.1x) podem ser também invocados como um pré-requisito para a transferência de dados de perfil de serviço sobre o transporte alternativo.
[00078] Mais ainda, o transporte alternativo pode ser avaliado por suficiência (vide discussão da figura 5 aqui apresentada) em termos de um ou mais critérios de avaliação antes dos dados de perfil de serviço serem permitidos serem transmitidos; por exemplo, se o transporte alternativo tem segurança suficiente, QoS, largura de banda, etc. para prover os dados de perfil de serviço para o solicitante em um modo completo, livre de erros, e/ou suficientemente oportuno. EXEMPLO 1
[00079] Em um cenário de utilização, um número de pessoas se apresentam para um encontro semanal na Organização X. Cada um dos participantes traz o seu laptop Mac, com cada um destes laptops tendo um hardware de Bluetooth incorporado e um software instalado em suas respectivas máquinas. Todos os laptops ligam na mesma rede de área local sem fio (por exemplo, a 42net da Apple). O software de Bluetooth previamente instalou o seu próprio registro de Bonjour que indica quais serviços de Bluetooth este possui. Cada laptop recebe estas informações automaticamente através de Bonjour e da conexão de rede de área local sem fio através de 42net da Apple. Estas informações são então armazenadas para o software de Bluetooth utilizar, se necessário. Durante o encontro, um usuário deseja enviar um arquivo para uma (ou mais) das pessoas na sala através de Bluetooth. O usuário seleciona o(s) destino(s) do dispositivo de Bluetooth para o(s) qual(is) o usuário deseja enviar o arquivo, e ao invés de precisar executar as etapas tradicionais de consultar para encontrar os dispositivos que têm o serviço de compartilhamento de arquivo (SOP), o computador remetente já tem as informações sobre o(s) dispositivo(s) remoto(s) e pode enviar o arquivo sem precisar executar o processo de descoberta de serviço tradicional. Isto permite a transferência de arquivo efetivamente em tempo real, versus os procedimentos de descoberta de serviço convencionais os quais poderiam ser deficientes em algum modo (isto é, sendo sensíveis a erros ou de outro modo possuindo latências significativas associadas com este). Este benefício em latência reduzida é adicionalmente multiplicado quando este mesmo usuário deseja enviar o arquivo para múltiplas pessoas no encontro. METODOLOGIA DE MÚLTIPLOS TRANSPORTES
[00080] Referindo agora à figura 5, uma metodologia alternativa para transmitir os dados de serviço ou de dispositivo sobre um transporte está descrita. Nesta modalidade do método 500, um transporte apropriado é primeiramente avaliado e selecionado. Opcionalmente (ou alternativamente), um PHY apropriado é também selecionado, como agora descrito em maiores detalhes.
[00081] Especificamente, como mostrado na figura 5, a primeira etapa 502 do método compreende determinar todos os transportes disponíveis para um dado dispositivo para possível utilização pelo processo de nível mais alto dentro de um dado dispositivo de usuário 202, 204. Por exemplo, um processo de software operativo para executar em um dispositivo de usuário pode incluir uma tabela de consulta ou outro tal mecanismo que está distribuído com a lista de transportes correntemente disponíveis para o dispositivo de usuário como um todo; por exemplo: (i) TCP/IP; (ii) UDP; e (iii) RTP/RTCP.
[00082] Pela etapa 504, o processo de software acima mencionado a seguir determina os PHYs ou as interfaces de ar disponíveis para o dispositivo, tais como por exemplo: (i) Bluetooth; (ii) WLAN (802.11); (iii) WiMAX (802.16); e (iv) FireWire (IEEE 1394). Opcionalmente incluída nestas etapas 502, 504 pode também estar uma determinação quanto a quais transportes e/ou PHYs estão fisicamente disponíveis (por exemplo, uma conexão com os um ou mais outros dispositivos de usuário 202, 204 está estabelecida e operativa). Um critério de seleção pode incluir, por exemplo, se uma conexão física e um canal lógico estão presentemente estabelecidos (por meio disto evitando uma latência adicional na configuração de tal conexão / canal).
[00083] A seguir, pela etapa 506, os vários transportes disponíveis descobertos na etapa 502 e os PHYs descobertos na etapa 504 são avaliados pelo processo de software de modo a selecionar a combinação mais apropriada para a transferência. Em uma implementação, somente certas combinações permitidas são tornadas disponíveis, por meio disto permitindo que o processo de software simplesmente avalie um conjunto de combinações de transporte / PHY predeterminadas com base em um ou mais critérios, tais como por exemplo, QoS, latência, ou largura de banda disponível. Por exemplo, como acima notado, um critério de seleção simples pode compreender se a conexão / canal de PHY está correntemente estabelecida ou não. Como outro exemplo, se o QoS for requerido para a transferência de dados de serviço, e uma dada combinação de transporte / PHY não suporta este nível requerido de QoS, outra combinação seria selecionada. Ou, se uma combinação está correntemente sendo 100% utilizada por outro processo (por exemplo, fluxo de dados de banda larga, etc.), então uma alternativa seria selecionada.
[00084] Ainda outro critério poderia compreender a complexidade de negociação necessária para estabelecer uma conexão e um canal lógico para o processo de dispositivo de usuário distante. Como aqui previamente notado no contexto do protocolo de Bluetooth, um ímpeto primário para utilizar um transporte alternativo na presente invenção é impedir os procedimentos de negociação e de configuração extensos e demorados associados com o SDP de Bluetooth da técnica anterior. Consequentemente, diferentes transportes podem ser graduados ou classificados quanto à latência ou à complexidade associadas com os seus procedimentos de configuração e de transferência, com o processo de software acima mencionado utilizando esta graduação ou classificação para selecionar aquele o qual minimizará a latência (ou otimizará algum outro parâmetro tal como o consumo de largura de banda ou o QoS).
[00085] Ainda outro critério para a avaliação de diferentes transportes e/ou PHYs pode ser o custo. Por exemplo, a utilização de uma combinação pode custar para o usuário mais do que a utilização de outra, tal como devido a cobranças adicionais impostas por um provedor de serviço ou portadora os quais o usuário emprega para prover a sua conectividade de rede (por exemplo, Internet).
[00086] Miríades de diferentes critérios e cenários de avaliação podem ser reconhecidos por aqueles versados na técnica dada a presente descrição.
[00087] Em outra implementação, múltiplas combinações de transporte / PHY diferentes estão disponíveis e o processo de software pode avaliar cada ou um subconjunto selecionado dos transportes e/ou PHYs individualmente com base em um ou mais critérios de avaliação.
[00088] Pela etapa 508, uma das combinações de transporte / PHY é selecionada, e os dados de perfil de serviço relevantes são transmitidas para o dispositivo de usuário distante pela etapa 510. INTERFACE GRÁFICA DE USUÁRIO
[00089] Referindo agora à figura 6, uma modalidade exemplar de uma interface gráfica de usuário (GUI) 600 útil para apresentar as informações de perfil de serviço para um usuário está ilustrada. A janela de GUI 600 exibe as informações sobre os outros dispositivos dentro de uma rede. Em uma modalidade, o usuário selecionará de um menu drop-down o protocolo de comunicações que o usuário deseja conhecer as informações de rede. Na modalidade mostrada, o protocolo de comunicações de interesse para o usuário é o Bluetooth. Após selecionar o protocolo de Bluetooth, a janela de GUI 600 apresenta as informações sobre os dispositivos de Bluetooth disponíveis para o usuário em uma coluna de dispositivos 602. Na modalidade mostrada na figura 6, existem três (3) dispositivos disponíveis para o usuário; um dispositivo de impressora; e dois (2) laptops (por exemplo, dispositivos de laptop Mac Book).
[00090] Em uma implementação exemplar, o usuário pode renomear os nomes padrão dos dispositivos de modo que seja mais prontamente aparente para o usuário no futuro a qual dispositivo este pretende conectar. Por exemplo, o Mac Book 1 pode pertencer ao colega de trabalho do usuário Frank. Consequentemente, o usuário pode renomear o Mac Book 1 de modo que no futuro este exibirá como "Laptop do Frank". Em ainda outra modalidade, o nome exibido na janela de GUI 600 será controlado pelo próprio operador daquele dispositivo. No cenário de utilização acima descrito, Frank pode escolher um nome para o seu Mac Book de modo que o nome Frank como escolhido exibirá na janela de GUI 600 na coluna de dispositivos 602 quando visto por outros usuários associados com o AP.
[00091] A janela de GUI 600 ainda inclui uma coluna de serviços providos 604. Esta coluna permitirá o usuário avaliar rapidamente quais perfis de serviço estão suportados por aquele dispositivo específico sem precisar primeiramente estabelecer uma sessão de descoberta de serviço como foi ilustrado na figura 1. Na modalidade mostrada, o dispositivo denominado "Impressora" possui o perfil de Bluetooth de Perfil de Impressão Básico (BPP). Outros perfis de serviço estão também associados com outros dispositivos acessíveis da rede. Em uma modalidade, uma coluna adicional (não mostrada) ilustra os perfis de serviço suportados pelo dispositivo de usuário. Consequentemente, um usuário será capaz de correlacionar as suas capacidades com as capacidades de outros dispositivos na rede. Outros métodos incluem destacar ou exibir os perfis de serviço na coluna de serviços providos 604 com uma característica distintiva (por exemplo, letras em negrito ou letras coloridas) de modo que um usuário rapidamente avalie a compatibilidade entre um dispositivo de usuário e outros dispositivos na rede.
[00092] Alternativamente, os perfis de serviço exibidos na coluna 604 serão somente exibidos se estes perfis forem suportados pelo dispositivo de computação do usuário. Consequentemente, a coluna de serviços providos 604 não será exaustiva dos perfis de serviço realmente suportados pelos dispositivos na coluna de dispositivos 602 ao contrário os perfis de serviço listados na coluna 604 serão meramente aqueles que são também suportados pelo dispositivo de computação do usuário. Em uma modalidade, tal esquema também tem vantagens pelo fato de que durante a sessão de descoberta de serviço, um dispositivo de computação do usuário precisa somente consultar os dispositivos na rede para aqueles perfis de serviço que o computador do usuário suporta.
[00093] A janela de GUI 600 exemplar ainda compreende uma coluna de status ativa 606 a qual provê as informações sobre se o dispositivo está ativo ou não para o recebimento de conexões. No contexto de Bluetooth, esta coluna 606 poderia ser indicativa se o rádio de Bluetooth está correntemente ligado ou não, ou se o dispositivo é capaz de aceitar participantes de piconet de Bluetooth adicionais. Em uma modalidade alternativa, a coluna ativa 606 poderia ser indicativa de outros parâmetros que poderiam afetar a capacidade para o usuário conectar a um dispositivo na rede tal como, por exemplo, a indicação de força de sinal recebido (RSSI), etc.
[00094] Será apreciado que apesar de uma "janela" de GUI ser mostrada e descrita na modalidade exemplar da figura 6, outras interfaces de usuário (sendo gráficas ou outras) podem ser utilizadas consistente com a invenção. Por exemplo, um GUI não baseado em janela tal como uma representação de ícone, um indicador de status de barra em uma barra de ferramentas, etc., poderia ser utilizada para indicar vários status ou funções. Alternativamente, uma interface de usuário audível poderia ser empregada, em que diferentes sons ou tons são utilizados para correlacionar a diferentes transportes, status, etc. Miríades de outras alternativas serão reconhecidas por aqueles versados na técnica dada a presente descrição. Será reconhecido que apesar de certos aspectos da invenção serem descritos em termos de uma sequência de etapas específica de um método, estas descrições são somente ilustrativas dos métodos mais amplos da invenção, e podem ser modificadas conforme requerido pelo aplicativo específico. Certas etapas podem tornar-se desnecessárias ou opcionais sob certas circunstâncias. Além disso, certas etapas ou funcionalidades podem ser adicionadas às modalidades descritas, ou a ordem de desempenho de duas ou mais etapas permutada. Todas tais variações são consideradas serem abrangidas pela invenção aqui descrita e reivindicada. MÉTODOS COMERCIAIS
[00095] Em outro aspecto da invenção, métodos comerciais com base nas capacidades de descoberta de serviço acima mencionadas estão descritos. Especificamente, em uma modalidade, um cliente ou um fabricante de dispositivo de usuário final pode diferenciar a sua linha de produtos (e precificação se desejado) com base na capacidade de utilizar transportes alternativos dentro do dispositivo para propósitos de descoberta de serviço melhorada. Por exemplo, um dispositivo capaz de Bluetooth e WiFi da técnica anterior ainda executaria a descoberta de perfil de serviço de Bluetooth de acordo com os métodos tradicionais anteriormente aqui discutidos, enquanto que uma versão "melhorada" do mesmo dispositivo executaria uma descoberta de serviço mais alta utilizando as técnicas e aparelhos aperfeiçoados da presente invenção, especialmente no contexto de descoberta de serviço de múltiplos usuários (vide, por exemplo, o exemplo de sala de reunião acima apresentado). Consequentemente, os compradores do dispositivo podem estar desejando pagar mais por tal capacidade, ou alternativamente o fabricante poderia prover esta capacidade grátis (por exemplo, como um incentivo ou um fator de diferenciação sobre os produtos de um competidor).
[00096] Similarmente, um fabricante pode prover uma reforma ou upgrade para produtos existentes (por exemplo, através de download de software ou instalação de firmware) o qual provê a capacidade de transporte alternativo acima mencionado.
[00097] Em outro aspecto, um operador de um Ponto de Acesso de WiFi (AP) / hotspot ou operador e rede similar pode cobrar uma taxa adicional pela (ou oferecer como um incentivo ou promoção) capacidade de utilizar o AP de WiFi como um transporte secundário para Bluetooth ou outras descobertas de serviço de transporte "primário". Por exemplo, no contexto do Exemplo de Sala de Reunião acima, o provedor ou gerenciador de sala de reunião poderia somente permitir o acesso ao AP de WiFi para certas classes de clientes (por exemplo, aqueles que pagam um prêmio adicional para ter uma descoberta de serviço melhorada para os muitos indivíduos na reunião), etc.
[00098] Em outro aspecto, a presente invenção pode ser utilizada para acessar capacidades adicionais associadas com um dispositivo ou entre dispositivos e/ou prover uma segurança de rede melhorada. Por exemplo, em uma modalidade exemplar, um usuário pode ter um dispositivo o qual possui capacidades de rede tanto de Bluetooth quanto de WiFi; no entanto o dispositivo requer uma senha para que o usuário acesse as capacidades de Bluetooth do dispositivo. O usuário deve adquirir o aplicativo Bonjour (ou um dispositivo o qual possua o aplicativo Bonjour) de modo que o usuário possa acessar um registro de serviço de Bonjour que contém a senha necessária para operar o seu rádio de Bluetooth. Esta senha seria utilizada em par com outros dispositivos similares.
[00099] No contexto de segurança, uma segurança melhorada é provida através da utilização da senha obtida do registro de serviço de Bonjour. Como a senha necessária para utilizar o rádio de Bluetooth nunca é transmitida sobre um transporte de Bluetooth, os métodos tradicionais para interceptar a transmissão de uma senha de Bluetooth seriam ineficazes. Deste modo, um transporte alternativo é utilizado de modo a, não somente ganhar acesso a um ou mais perfis de serviço de Bluetooth por meio disto provendo capacidades adicionais para um dispositivo de usuário, mas em um modo de maneira a prover característica de segurança melhoradas para um usuário quando trocando dados por Bluetooth.
[000100] Apesar da descrição detalhada acima ter mostrado, descrito, e destacado novas características da invenção como aplicada a várias modalidades, será compreendido que várias omissões, substituições, e mudanças na forma e detalhes do dispositivo ou processo ilustrado podem ser feitas por aqueles versados na técnica sem afastar da invenção. A descrição acima é do melhor modo presentemente contemplado para executar a invenção. Esta descrição em nenhum modo pretende ser limitante, mas ao contrário deve ser tomada como ilustrativa dos princípios gerais da invenção. O escopo da invenção deve ser determinado com referência às concretizações. APÊNDICE I - Código Bonjour®Exemplar © Copyright 2008 Apple Inc. Todos os direitos reservados. #include <dlfcn.h> #include <CoreServices/CoreServices.h> #include <dns_sd.h> #include <IOBluetooth/IOBluetoothUserLib.h> typedef void ( *IOBluetoothReadAddressCallback )( void *inContext, OSStatus inStatus, BluetoothDeviceAddress *inAddr ); typedef IOReturn ( *IOBluetoothLocalDeviceReadAddress_func )( BluetoothDeviceAddress * outAddr, IOBluetoothReadAddressCallback inCallback, void * inUserRefCon, void * inReserved ); int main( int argc, const char * argv[] ) { OSStatus err; IOBluetoothLocalDeviceReadAddress_func func; BluetoothDeviceAddress addr; BluetoothDeviceName name; BluetoothHCIVersionInfo info; uint8_t * a; TXTRecordRef txt; uint8_t buf[ 256 ]; char str[ 256 ]; int n; DNSServiceRef sdRef; // Get the local computer's Bluetooth Device Address from the Mac OS X Bluetooth stack. func = (IOBluetoothLocalDeviceReadAddress_func) dlsym( RTLD_DEFAULT, "IOBluetoothLocalDeviceReadAddress" ); require_action( func, exit, err = -1 ); err = func( &addr, NULL, NULL, NULL ); require_noerr( err, exit ); a = addr.data; // create the Bonjour record. TXTRecordCreate( &txt, (uint16_t) sizeof( buf ), buf ); // Stuff the Bluetooth address into the record. n = snprintf( str, sizeof( str ), "%02X:%02X:%02X:%02X:%02X:%02X", a[ 0 ], a[ 1 ], a[ 2 ], a[ 3 ], a[ 4 ], a[ 5 ] ); err = TXTRecordSetValue( &txt, "bdaddr", (uint16_t) n, str ); require_noerr( err, exit ); // Get the local computer's Bluetooth name and stuff it into the record. err = IOBluetoothLocalDeviceReadName( name, NULL, NULL, NULL ); require_noerr( err, exit ); n = snprintf( str, sizeof( str ), "%s", (char*) name ); err = TXTRecordSetValue( &txt, "name", (uint16_t) n, str ); require_noerr( err, exit ); // Get the local computer's Bluetooth version information and stuff it into the record. err = IOBluetoothLocalDeviceReadVersionInformation( &info, NULL, NULL, NULL ); require_noerr( err, exit ); n = snprintf( str, sizeof( str ), "lmp: %d.%d / hci: %d.%d", info.lmpVersion, info.lmpSubVersion, info.hciVersion, info.hciRevision ); err = TXTRecordSetValue( &txt, "lmp version", (uint16_t) n, str ); require_noerr( err, exit ); if( info.manufacturerName == 15 ) n = snprintf( str, sizeof( str ), "Broadcom" ); else if( info.manufacturerName == 10 ) n = snprintf( str, sizeof( str ), "CSR" ); err = TXTRecordSetValue( &txt, "mfg", (uint16_t) n, str ); require_noerr( err, exit ); // Make the record public so all Bonjourclients can see it. sdRef = NULL; err = DNSServiceRegister( &sdRef, 0, 0, NULL, "_bluetooth._tcp", NULL, NULL, htons( 1234 ), TXTRecordGetLength( &txt ), TXTRecordGetBytesPtr( &txt ), NULL, NULL ); require_noerr( err, exit ); // Wait here forever. for( ;; ) { sleep( 1 ); } exit: return( err ? 1 : 0 ); } APÊNDICE II - Registro de Bluetooth Bonjour™ Exemplar © Copyright 2008-2010 Apple Inc. Todos os direitos reservados.
Claims (16)
1. Dispositivo computadorizado em uma rede (602), o dispositivo computadorizado caracterizado pelo fato de que compreende: um processador digital (220); uma primeira interface de rede sem fio (250) associada com um primeiro protocolo, em que o primeiro protocolo compreende um protocolo Bluetooth; uma segunda interface de rede sem fio (260) associada com um segundo protocolo; e uma memória (230) compreendendo um método que, quando executado pelo processador digital (220), leva o dispositivo computadorizado (202) a executar as etapas de: receber, através da segunda interface de rede sem fio (260), informações de perfil de serviço e capacidades de dispositivo, ambas associadas com o primeiro protocolo e se relacionando a um outro dispositivo computadorizado (202), em que as capacidades de dispositivo incluem informações de estado de Bluetooth para uma interface de rede sem fio correspondente do outro dispositivo computadorizado (202); determinar se as informações de perfil de serviço e capacidades de dispositivo recebidas mudaram a partir de uma versão armazenada; atualizar a versão armazenada das informações de perfil de serviço e capacidades de dispositivo com as informações de perfil de serviço e capacidades de dispositivo tendo os dados de estampa de tempo mais recentes; gerir informações relacionadas a uma pluralidade de outros dispositivos computadorizados incluindo o outro dispositivo computadorizado (202) presente na rede (602), as informações incluindo informações de perfil de serviço e capacidades de dispositivo da pluralidade de outros dispositivos computadorizados; selecionar um dos outros dispositivos computadorizados que opera um perfil de serviço desejado; e estabelecer uma conexão lógica com o outro dispositivo computadorizado selecionado dentre os outros dispositivos computadorizados através da primeira interface de rede sem fio (250) em concordância com o primeiro protocolo usando as informações de perfil de serviço e capacidades de dispositivo armazenadas através da primeira interface de rede sem fio (250).
2. Dispositivo computadorizado (202), de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende um aplicativo de descoberta de serviço residente na memória, em que: as informações de perfil de serviço e capacidades de dispositivo, ambas associadas com o primeiro protocolo e se relacionando ao outro dispositivo computadorizado (202), estão armazenadas na memória e são acessíveis pelo aplicativo de descoberta de serviço, e o aplicativo de descoberta de serviço é configurado para comunicar com outros aplicativos similares através da segunda interface de rede.
3. Dispositivo computadorizado (202), de acordo com a reivindicação 2, caracterizado pelo fato de que o método, quando executado pelo processador digital (220), ainda leva o dispositivo computadorizado (202) a executar as etapas de: transmitir, através da segunda interface de rede sem fio (260) para um dispositivo de usuário remoto (204), uma solicitação por informações de perfil de serviço para o dispositivo de usuário remoto (204); receber, através da segunda interface de rede sem fio (260) a partir do dispositivo de usuário remoto (204), as informações de perfil de serviço para o dispositivo de usuário remoto (204); e armazenar, localmente na memória (230), as informações de perfil de serviço para o dispositivo de usuário remoto (204) recebidas através da segunda interface de rede sem fio (260) a partir do dispositivo de usuário remoto (204).
4. Dispositivo computadorizado (202), de acordo com a reivindicação 3, caracterizado pelo fato de que ainda compreende um elemento de display, o elemento de display apresentando uma interface gráfica de usuário (600) para um usuário, a interface gráfica de usuário (600) exibindo as informações de perfil de serviço para o dispositivo de usuário remoto (204).
5. Dispositivo computadorizado (202), de acordo com a reivindicação 4, caracterizado pelo fato de que as informações de perfil de serviço para o dispositivo de usuário remoto (204) compreendem pelo menos um perfil de serviço suportando comunicações através do primeiro protocolo.
6. Dispositivo computadorizado (202), de acordo com a reivindicação 5, caracterizado pelo fato de que as informações de perfil de serviço para o dispositivo de usuário remoto (204) ainda compreendem informações de estado referentes operação de primeiro protocolo pelo dispositivo de usuário remoto (204).
7. Dispositivo computadorizado (202), de acordo com a reivindicação 1, caracterizado pelo fato de que o dispositivo computadorizado (202) compreende uma interface de telefonia celular e um sistema de controle de tela de toque.
8. Dispositivo computadorizado (202), de acordo com a reivindicação 1, caracterizado pelo fato de que a segunda interface de rede sem fio (260) compreende uma interface de rede de área local sem fio (WLAN).
9. Dispositivo computadorizado (202), de acordo com a reivindicação 8, caracterizado pelo fato de que o segundo protocolo compreende um protocolo de rede de área local sem fio (WLAN).
10. Dispositivo computadorizado (202), de acordo com a reivindicação 9, caracterizado pelo fato de que o segundo protocolo compreende um protocolo de Wi-Fi 802.11 padronizado do IEEE.
11. Método para estabelecer uma conexão entre um primeiro dispositivo de computação (202) e um segundo dispositivo de computação (204), cada um dentre os primeiro e segundo dispositivos de computação (202, 204) configurados para comunicar em concordância com um primeiro protocolo e um segundo protocolo, em que o primeiro protocolo compreende um protocolo de Bluetooth, o método caracterizado pelo fato de que compreende etapas de: pelo segundo dispositivo de computação (204): receber, através de uma segunda interface de rede sem fio (260) em concordância com o segundo protocolo, informações de perfil de serviço e capacidades de dispositivo, ambas associadas com o primeiro protocolo e se relacionando ao primeiro dispositivo de computação (202), em que as capacidades de dispositivo incluem informações de estado de Bluetooth para uma interface de rede sem fio correspondente do primeiro dispositivo de computação (202); determinar se as informações de perfil de serviço e capacidades de dispositivo recebidas mudaram a partir de uma versão armazenada; atualizar a versão armazenada das informações de perfil de serviço e capacidades de dispositivo com as informações de perfil de serviço e capacidades de dispositivo tendo os dados de estampa de tempo mais recentes; gerir informações relacionadas a uma pluralidade de dispositivos de computação incluindo o primeiro dispositivo de computação (202) presente na rede (602), as informações incluindo informações de perfil de serviço e capacidades de dispositivo da pluralidade de dispositivos de computação; selecionar um dentre a pluralidade de dispositivos de computação que opera um perfil de serviço desejado; e estabelecer uma conexão lógica com o dispositivo de computação selecionado dentre os dispositivos de computação através de uma primeira interface de rede sem fio (250) em concordância com o primeiro protocolo usando as informações de perfil de serviço e capacidades de dispositivo armazenadas através da primeira interface de rede sem fio (250).
12. Método, de acordo com a reivindicação 11, caracterizado pelo fato de as informações de perfil de serviço e capacidades de dispositivo, ambas associadas com o primeiro protocolo e se relacionando ao primeiro dispositivo de computação (202), são acessíveis por um aplicativo de descoberta de serviço do segundo dispositivo de computação (204), o aplicativo de descoberta de serviço sendo capaz de comunicar com outros aplicativos similares em concordância com o segundo protocolo através da segunda interface de rede sem fio.
13. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que o segundo protocolo compreende um protocolo de rede de área local sem fio (WLAN).
14. Método, de acordo com a reivindicação 13, caracterizado pelo fato de que o segundo protocolo compreende um protocolo de Wi-Fi 802.11 padronizado do IEEE.
15. Método, de acordo com a reivindicação 13, caracterizado pelo fato de que as informações de perfil de serviço e capacidades de dispositivo do primeiro dispositivo de computação (202) são recebidas através de um ponto de acesso sem fio.
16. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que as informações de estado indicam se um rádio Bluetooth para o primeiro dispositivo de computação (202) correspondente está operando em um estado ligado.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/214,969 | 2008-06-23 | ||
| US12/214,969 US8499079B2 (en) | 2008-06-23 | 2008-06-23 | Apparatus and methods for providing service discovery over alternate transports |
| PCT/US2009/048322 WO2010008861A2 (en) | 2008-06-23 | 2009-06-23 | Apparatus and methods for providing service discovery over alternate transports |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| BRPI0914681A2 BRPI0914681A2 (pt) | 2015-10-20 |
| BRPI0914681B1 true BRPI0914681B1 (pt) | 2021-09-28 |
Family
ID=41432405
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI0914681-4A BRPI0914681B1 (pt) | 2008-06-23 | 2009-06-23 | Dispositivo computadorizado em uma rede e método para estabelecer uma conexão entre um primeiro dispositivo de computação e um segundo dispositivo de computação |
Country Status (8)
| Country | Link |
|---|---|
| US (3) | US8499079B2 (pt) |
| EP (1) | EP2291981B1 (pt) |
| JP (1) | JP5135472B2 (pt) |
| KR (1) | KR101202094B1 (pt) |
| CN (1) | CN102067560B (pt) |
| AU (1) | AU2009271269B2 (pt) |
| BR (1) | BRPI0914681B1 (pt) |
| WO (1) | WO2010008861A2 (pt) |
Families Citing this family (51)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3973986B2 (ja) * | 2002-07-12 | 2007-09-12 | 株式会社エヌ・ティ・ティ・ドコモ | ノード探索方法、ノード、通信システム及びノード探索プログラム |
| US8499079B2 (en) * | 2008-06-23 | 2013-07-30 | Apple Inc. | Apparatus and methods for providing service discovery over alternate transports |
| US9131008B2 (en) * | 2008-09-30 | 2015-09-08 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Discovery profile based unified credential processing for disparate security domains |
| US8428244B2 (en) * | 2008-12-12 | 2013-04-23 | Cisco Technology, Inc. | Cross-call agent extension mobility with call admission control and emergency calling |
| US9900779B2 (en) | 2008-12-30 | 2018-02-20 | Qualcomm Incorporated | Centralized control of peer-to-peer communication |
| ES2351565B1 (es) * | 2009-01-19 | 2011-12-12 | Vodafone España, S.A.U. | Metodo para compartir y registrar logros obtenidos en servicios web. |
| JP5448489B2 (ja) * | 2009-02-10 | 2014-03-19 | キヤノン株式会社 | 情報処理装置及びその制御方法、情報処理システム、及び、プログラム |
| US20110019650A1 (en) * | 2009-07-21 | 2011-01-27 | Sabine Van Niekerk | Methods and apparatus for optimization of device capability exchange in a network |
| US8621098B2 (en) * | 2009-12-10 | 2013-12-31 | At&T Intellectual Property I, L.P. | Method and apparatus for providing media content using a mobile device |
| 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 |
| US11243093B2 (en) | 2010-09-30 | 2022-02-08 | Fitbit, Inc. | Methods, systems and devices for generating real-time activity data updates to display devices |
| US9542203B2 (en) | 2010-12-06 | 2017-01-10 | Microsoft Technology Licensing, Llc | Universal dock for context sensitive computing device |
| US8923770B2 (en) | 2010-12-09 | 2014-12-30 | Microsoft Corporation | Cognitive use of multiple regulatory domains |
| US8792429B2 (en) | 2010-12-14 | 2014-07-29 | Microsoft Corporation | Direct connection with side channel control |
| US8948382B2 (en) | 2010-12-16 | 2015-02-03 | Microsoft Corporation | Secure protocol for peer-to-peer network |
| US9294545B2 (en) | 2010-12-16 | 2016-03-22 | Microsoft Technology Licensing, Llc | Fast join of peer to peer group with power saving mode |
| US8971841B2 (en) | 2010-12-17 | 2015-03-03 | Microsoft Corporation | Operating system supporting cost aware applications |
| JP2012205251A (ja) * | 2011-03-28 | 2012-10-22 | Panasonic Corp | 無線通信端末及び無線通信端末の制御方法 |
| KR20140020307A (ko) * | 2011-04-19 | 2014-02-18 | 엘지전자 주식회사 | 무선통신 시스템에서 디스커버리 신호의 전송방법 및 장치 |
| CN103415864A (zh) * | 2011-04-21 | 2013-11-27 | 英派尔科技开发有限公司 | 使用移动装置的方位社交网络 |
| US9565708B2 (en) * | 2011-05-20 | 2017-02-07 | Microsoft Technology Licensing, Llc | Auto-connect in a peer-to-peer network |
| DE102012011232A1 (de) * | 2011-06-10 | 2012-12-13 | Mediatek Inc. | Verfahren zum Übertragen und Empfangen von Daten einer Anwendung für ein Kommunikationsprotokoll durch ein anderes Kommunikationsprotokoll und dazugehöriges nicht-flüchtiges, maschinenlesbares Medium |
| US9184779B2 (en) * | 2011-07-22 | 2015-11-10 | Texas Instruments Incorporated | Dynamic medium switch in co-located PLC and RF networks |
| US20130051277A1 (en) * | 2011-08-30 | 2013-02-28 | Renesas Mobile Corporation | Method and apparatus for allocating resources for device-to-device discovery |
| GB2499803B (en) * | 2012-02-28 | 2014-05-07 | Broadcom Corp | Method and apparatus for providing a discovery resource |
| US8867514B2 (en) * | 2012-03-20 | 2014-10-21 | Qualcomm Incorporated | System and method of infrastructure service discovery |
| CN103379197B (zh) * | 2012-04-28 | 2016-01-20 | 安富科技股份有限公司 | 自动开关无线通讯的方法及其系统 |
| US9641239B2 (en) | 2012-06-22 | 2017-05-02 | Fitbit, Inc. | Adaptive data transfer using bluetooth |
| US9426229B2 (en) | 2012-06-29 | 2016-08-23 | Nokia Technologies Oy | Apparatus and method for selection of a device for content sharing operations |
| JP6008617B2 (ja) * | 2012-06-29 | 2016-10-19 | キヤノン株式会社 | 通信装置およびその制御方法、並びにプログラム |
| US9313641B2 (en) * | 2012-09-17 | 2016-04-12 | Qualcomm Incorporated | System and method for advertising and communicating within a neighborhood aware network |
| IN2015DN02975A (pt) * | 2012-12-20 | 2015-09-18 | Amadeus Sas | |
| JP6269507B2 (ja) * | 2012-12-26 | 2018-01-31 | ソニー株式会社 | 無線通信装置、通信システム、無線通信装置の制御方法およびプログラム |
| US9728059B2 (en) | 2013-01-15 | 2017-08-08 | Fitbit, Inc. | Sedentary period detection utilizing a wearable electronic device |
| WO2014115923A1 (ko) * | 2013-01-23 | 2014-07-31 | 주식회사 포키비언 | 입출력 신호 송수신 장치 및 입출력 신호 송수신 방법 |
| US9942515B2 (en) * | 2013-03-14 | 2018-04-10 | Microsoft Technology Licensing, Llc | Smart device pairing and configuration for meeting spaces |
| CN104218976B (zh) * | 2013-06-03 | 2019-01-08 | 飞比特公司 | 使用蓝牙的自适应数据传送设备和方法 |
| ITTO20130974A1 (it) * | 2013-11-29 | 2015-05-30 | Magneti Marelli Spa | Sistema per sottoporre a test l'interazione wireless fra un sistema di riproduzione di segnali audio e un telefono mobile, relativo procedimento e prodotto informatico |
| US10455400B2 (en) * | 2014-06-02 | 2019-10-22 | Qualcomm Incorporated | Peer discovery in neighbor awareness networking (NAN) aided data link networks |
| US9596098B1 (en) * | 2014-07-31 | 2017-03-14 | iDevices, LLC | Systems and methods for communication between devices and remote systems with a power cord |
| US20160036637A1 (en) * | 2014-08-04 | 2016-02-04 | Qualcomm Incorporated | Signaling change in link configuration |
| EP3195619B1 (en) | 2014-09-15 | 2018-03-21 | Sonova AG | Hearing assistance system and method using bluetooth profiles |
| US9668204B2 (en) * | 2014-09-19 | 2017-05-30 | Qualcomm Inc. | Collaborative demand-based dual-mode Wi-Fi network control to optimize wireless power and performance |
| JP6413691B2 (ja) * | 2014-11-20 | 2018-10-31 | 株式会社リコー | データ通信装置、データ通信方法、及びデータ通信プログラム |
| US9538468B2 (en) | 2014-12-23 | 2017-01-03 | Fortinet, Inc. | Power saving in Wi-Fi devices utilizing bluetooth |
| US10455401B2 (en) * | 2015-02-24 | 2019-10-22 | Apple Inc. | Neighbor awareness networking datapath—reciprocation and coexistence |
| US9794867B2 (en) | 2015-04-27 | 2017-10-17 | Apple Inc. | Reconfiguration of wireless devices for wireless network access |
| US20180343672A1 (en) * | 2017-05-25 | 2018-11-29 | Microsoft Technology Licensing, Llc | Wireless infrastructure service |
| CN109041034B (zh) * | 2018-09-18 | 2021-11-30 | 歌尔科技有限公司 | 一种基于蓝牙的信息交互方法、系统、蓝牙设备及介质 |
| EP3930347A3 (en) * | 2020-06-02 | 2022-03-16 | Oticon A/s | Hearing aid system with internet protocol |
| CN113162997B (zh) * | 2021-04-02 | 2022-04-12 | 深圳市网旭科技有限公司 | 数据传输方法、装置、电子设备及可读存储介质 |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3707414B2 (ja) * | 2001-10-04 | 2005-10-19 | ソニー株式会社 | 情報処理装置、情報処理方法 |
| KR100657258B1 (ko) * | 2002-07-02 | 2006-12-14 | 삼성전자주식회사 | 블루투스 무선 랜 연결 장치 및 방법 |
| US7684754B2 (en) * | 2003-06-03 | 2010-03-23 | Microsoft Corporation | Capacitive bonding of devices |
| WO2005004415A1 (en) * | 2003-07-04 | 2005-01-13 | Philips Intellectual Property & Standards Gmbh | System for, responsive to detection, acoustaically signalling desired nearby devices and services on wireless network |
| US7668903B2 (en) * | 2003-07-07 | 2010-02-23 | Xerox Corporation | Method and apparatus for dynamically delivering service profiles to clients |
| US7398327B2 (en) * | 2003-11-25 | 2008-07-08 | Robert Bosch Gmbh | Apparatus, method and system for providing automated services to heterogenous devices across multiple platforms |
| DE60327223D1 (de) * | 2003-12-10 | 2009-05-28 | Sony Deutschland Gmbh | Protokoll für Multi-Hop Ad-Hoc-Netzwerke |
| GB2415325A (en) * | 2004-06-15 | 2005-12-21 | Mitel Networks Corp | Spontaneous discovery of remote service profiles |
| JP4074274B2 (ja) * | 2004-08-06 | 2008-04-09 | ソフトバンクモバイル株式会社 | 移動体通信端末と通信可能な外部リモート装置、及び移動体通信端末と外部リモート装置とを備えたシステム |
| US20070002868A1 (en) * | 2005-06-29 | 2007-01-04 | Haibo Qian | Location based quality of service (QoS) control |
| JP4649295B2 (ja) * | 2005-08-30 | 2011-03-09 | 株式会社東芝 | 通信機器及び通信方法 |
| US7333464B2 (en) * | 2006-02-01 | 2008-02-19 | Microsoft Corporation | Automated service discovery and wireless network set-up |
| CN101611609B (zh) * | 2006-12-28 | 2012-11-14 | 艾利森电话股份有限公司 | 用于服务发现的方法和装置 |
| US8499079B2 (en) * | 2008-06-23 | 2013-07-30 | Apple Inc. | Apparatus and methods for providing service discovery over alternate transports |
-
2008
- 2008-06-23 US US12/214,969 patent/US8499079B2/en active Active
-
2009
- 2009-06-23 AU AU2009271269A patent/AU2009271269B2/en active Active
- 2009-06-23 CN CN200980123623.5A patent/CN102067560B/zh active Active
- 2009-06-23 EP EP09789914.0A patent/EP2291981B1/en active Active
- 2009-06-23 KR KR1020117001631A patent/KR101202094B1/ko active Active
- 2009-06-23 BR BRPI0914681-4A patent/BRPI0914681B1/pt active IP Right Grant
- 2009-06-23 JP JP2011514897A patent/JP5135472B2/ja active Active
- 2009-06-23 WO PCT/US2009/048322 patent/WO2010008861A2/en not_active Ceased
-
2013
- 2013-07-29 US US13/953,651 patent/US9374153B2/en active Active
-
2016
- 2016-06-17 US US15/186,364 patent/US9667340B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| KR20110036057A (ko) | 2011-04-06 |
| BRPI0914681A2 (pt) | 2015-10-20 |
| US20130316651A1 (en) | 2013-11-28 |
| US20090319663A1 (en) | 2009-12-24 |
| US9667340B2 (en) | 2017-05-30 |
| US8499079B2 (en) | 2013-07-30 |
| WO2010008861A2 (en) | 2010-01-21 |
| KR101202094B1 (ko) | 2012-11-16 |
| AU2009271269A1 (en) | 2010-01-21 |
| WO2010008861A3 (en) | 2010-03-11 |
| AU2009271269B2 (en) | 2013-11-21 |
| US9374153B2 (en) | 2016-06-21 |
| JP5135472B2 (ja) | 2013-02-06 |
| US20160301464A1 (en) | 2016-10-13 |
| JP2011525756A (ja) | 2011-09-22 |
| CN102067560A (zh) | 2011-05-18 |
| EP2291981A2 (en) | 2011-03-09 |
| CN102067560B (zh) | 2014-04-02 |
| EP2291981B1 (en) | 2020-10-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| BRPI0914681B1 (pt) | Dispositivo computadorizado em uma rede e método para estabelecer uma conexão entre um primeiro dispositivo de computação e um segundo dispositivo de computação | |
| AU2006208939B2 (en) | UPnP VPN gateway configuration service | |
| RU2357282C2 (ru) | Конфигурирование параметров сетевой настройки устройств тонких клиентов, используя переносные носители данных | |
| JP5270812B2 (ja) | ネットワーク・デバイス構成のためのxmlスキーマ | |
| CN107196964B (zh) | 用于实现多频段服务发现的系统和方法 | |
| US20110289229A1 (en) | Methods and systems for wi-fi setup and configuration | |
| TW201110796A (en) | Connection manager for a wireless communication device | |
| JP2005507197A (ja) | ショートレンジ無線信号を用いて、管理された無線ネットワークを提供するためのシステム、デバイス、コンピュータによる読み取り可能なメディア | |
| JP2016028323A (ja) | ユニバーサルモバイル印刷エージェント | |
| CN101341686A (zh) | 无线网络中近程服务的发现 | |
| CN101335666A (zh) | 一种配置发送的方法、接入控制设备和接入点 | |
| WO2014161478A1 (zh) | 一种网络接口的切换方法、接入设备及计算机存储介质 | |
| KR100636319B1 (ko) | Ap와 접속된 단말의 소프트웨어 자동 업그레이드 시스템및 방법 | |
| JP2006086816A (ja) | 通信制御プログラム及び撮像装置 | |
| HK1155581B (en) | Apparatus and methods for providing service discovery over alternate transports | |
| HK1155581A (en) | Apparatus and methods for providing service discovery over alternate transports | |
| JP2012191416A (ja) | 回線選択装置 |
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/06 , H04L 29/08 , H04W 88/06 Ipc: H04L 29/08 (1990.01), H04L 29/06 (1990.01), H04W 8 |
|
| B07A | Application suspended after technical examination (opinion) [chapter 7.1 patent gazette] | ||
| B07A | Application suspended after technical examination (opinion) [chapter 7.1 patent gazette] | ||
| B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
| B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 23/06/2009, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO. |