BR112012030267B1 - Método, aparelho, meio de armazenanento legível por computador para fazer ponte de sessões de comunicação - Google Patents

Método, aparelho, meio de armazenanento legível por computador para fazer ponte de sessões de comunicação Download PDF

Info

Publication number
BR112012030267B1
BR112012030267B1 BR112012030267-1A BR112012030267A BR112012030267B1 BR 112012030267 B1 BR112012030267 B1 BR 112012030267B1 BR 112012030267 A BR112012030267 A BR 112012030267A BR 112012030267 B1 BR112012030267 B1 BR 112012030267B1
Authority
BR
Brazil
Prior art keywords
link
static
communication
temporary
determining
Prior art date
Application number
BR112012030267-1A
Other languages
English (en)
Other versions
BR112012030267A8 (pt
BR112012030267A2 (pt
Inventor
Ning Yang
Juntao Zhen
Original Assignee
Beijing Xiaomi Mobile Software Co., Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co., Ltd filed Critical Beijing Xiaomi Mobile Software Co., Ltd
Publication of BR112012030267A2 publication Critical patent/BR112012030267A2/pt
Publication of BR112012030267A8 publication Critical patent/BR112012030267A8/pt
Publication of BR112012030267B1 publication Critical patent/BR112012030267B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

método, aparelho, meio de armazenamento legível por computador e produto de programa de computador. uma abordagem é fornecida para fazer ponte de sessões de comunicação entre vários dispositivos. a plataforma de ponte de comunicação determina para receber um pedido para o estabelecimento de uma sessão de comunicação entre um primeiro dispositivo e um segundo dispositivo. o pedido especifica, pelo menos em parte, um terceiro dispositivo com uma primeira ligação estática para o primeiro dispositivo e uma segunda ligação estática para o segundo dispositivo. a plataforma de ponte de comunicação determina para estabelecer uma ligação temporária entre o primeiro dispositivo e o segundo dispositivo através da primeira ligação estática e a segunda ligação estática, e, em seguida, determina para conduzir a sessão de comunicação através da ligação temporária.

Description

ANTECEDENTES
Provedores de serviços sem fio (por exemplo, ce-lular) e fabricantes de dispositivos são continuamente desa-fiados a entregar valor e conveniência para os consumidores, por exemplo, a prestação de serviços de rede convincentes. Uma área de interesse tem sido o desenvolvimento de meios para facilitar as comunicações entre uma comunidade de usuários cada vez mais conectada. Por exemplo, nota-se que o número e a variedade de formas disponíveis de comunicação (por exemplo, as chamadas de voz, mensagens de texto, e-mails, chats inte-rativos, redes sociais, etc) têm aumentado consideravelmente. Esse aumento, no entanto, também tornou mais difícil para os usuários gerenciar e compartilhar informações de contato atra-vés dos vários meios de comunicação. Assim, provedores de ser-viços e fabricantes de dispositivos enfrentam desafios técnicos significativos para permitir que os usuários interajam mais facilmente ao longo dos vários meios de comunicação.
ALGUMAS CONCRETIZAÇÕES DE EXEMPLO
Por isso, há uma necessidade de uma abordagem efi-ciente e conveniente para facilitar as comunicações, fazendo pontes de sessões de comunicação entre vários dispositivos.
De acordo com uma concretização, um método compreende a determinação de receber um pedido para o esta-belecimento de uma sessão de comunicação entre um primeiro dispositivo e um segundo dispositivo. O pedido especifica, pelo menos em parte, um terceiro dispositivo com uma primeira ligação estática para o primeiro dispositivo e uma segunda ligação estática para o segundo dispositivo. O método também compreende determinar para estabelecer uma ligação temporária entre o primeiro dispositivo e o segundo dispositivo através da primeira ligação estática e a segunda ligação estática. 0 método compreende ainda a determinação de conduzir a sessão de comunicação ’ através da ligação temporária.
De acordo com outra concretização, um aparelho que compreende pelo menos um processador e, pelo menos, uma memória, incluindo o código de programa de computador de um ou mais programas de computador, a pelo menos uma memória e o código de programa de computador configurados para, com o pelo menos um processador, fazer com que o aparelho determine para receber um pedido de estabelecimento de uma sessão de comunicação entre um primeiro dispositivo e um segundo dispositivo. O pedido especifica, pelo menos em parte, um terceiro dispositivo com uma primeira ligação estática para o primeiro dispositivo e uma segunda ligação estática para o segundo dispositivo. O aparelho é também provocado para determinar para estabelecer uma ligação temporária entre o primeiro dispositivo e o segundo dispositivo através da primeira ligação estática e a segunda ligação estática. O aparelho é também provocado para determinar a conduzir a sessão de comunicação através da ligação temporária.
De acordo com outra concretização, um meio de armazenamento legível por computador, transportando uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que um aparelho receba um pedido para o estabelecimento de uma sessão de comunicação entre um primeiro dispositivo e um segundo dispositivo. 0 pedido especifica, pelo menos em parte, um terceiro dispositivo com uma primeira ligação estática para o primeiro dispositivo e uma segunda ligação estática para o segundo dispositivo. O aparelho é também provocado para determinar para estabelecer uma ligação temporária entre o primeiro dispositivo e o segundo dispositivo através da primeira ligação estática e a segunda ligação estática. 0 aparelho é também provocado para determinar para conduzir a sessão de comunicação através da ligação temporária.
De acordo ainda com outra concretização, um aparelho compreende meios para determinar para receber um pedido de estabelecimento de uma sessão de comunicação entre um primeiro dispositivo e um segundo dispositivo. O pedido especifica, pelo menos em parte, um terceiro dispositivo com uma primeira ligação estática para o primeiro dispositivo e uma segunda ligação estática para o segundo dispositivo. O aparelho compreende também meios para a determinação para estabelecer uma ligação temporária entre o primeiro dispositivo e o segundo dispositivo através da primeira ligação estática e a segunda ligação estática. O aparelho compreende ainda meios para determinar para conduzir a sessão de comunicação através da ligação temporária.
Ainda outros aspectos, características e vantagens da presente invenção são prontamente evidentes a partir da descrição detalhada a seguir, simplesmente, ilustrando um certo número de concretizações particulares e implementações, incluindo o melhor modo contemplado para realizar a invenção. A presente invenção também é capaz de outras concretizações e diferentes, e os seus vários detalhes podem ser modificados em vários aspectos óbvios, todos sem se afastar do espírito e do escopo da invenção. Por conseguinte, os desenhos e descrição devem ser considerados como ilustrativos por natureza, e não como restritivos.
BREVE DESCRIÇÃO DOS DESENHOS
As concretizações da invenção são ilustradas por meio de exemplo, e não como forma de limitação, nas figuras dos desenhos anexos:
A Figura 1 é um diagrama de um sistema capaz de fazer ponte das sessões de comunicação entre vários dispositivos, de acordo com uma concretização;
A Figura 2 é um diagrama dos componentes de uma plataforma de ponte de comunicação, de acordo com uma concretização;
A Figura 3 é um diagrama da estrutura de dados de respectivas listas de contato dos dispositivos utilizados no sistema da Figura 1, de acordo com uma concretização;
A Figura 4 é um fluxograma de um processo para fazer ponte das sessões de comunicação entre vários dispositivos, de acordo com uma concretização;
A Figura 5 é um fluxograma de um processo para a determinação de um dispositivo de ponte de comunicação, de acordo com uma concretização;
A Figura 6 é um diagrama de uma interface de usuário utilizada nos processos das Figuras 4 e 5, de acordo com uma concretização;
A Figura 7 é um diagrama de hardware que pode ser utilizado para implementar uma concretização da presente invenção;
A Figura 8 é um diagrama de um conjunto de chips que pode ser usado para implementar uma concretização da invenção, e
A Figura 9 é um diagrama de uma estação móvel (por exemplo, telefone celular) que pode ser utilizado para implementar uma concretização da presente invenção.
DESCRIÇÃO DA CONCRETIZAÇÃO PREFERIDA
Um método e aparelho para a sessão de comunicação de ponte entre os vários dispositivos são divulgados. Na descrição a seguir, para fins de explicação, numerosos detalhes específicos são estabelecidos para proporcionar uma compreensão completa das concretizações da invenção. É evidente, no entanto, para uma pessoa versada na técnica que as concretizações da invenção podem ser praticadas sem estes detalhes específicos, ou com uma disposição equivalente. Em outros casos, estruturas e dispositivos bem conhecidos estão mostrados na forma de diagrama de blocos, a fim de evitar desnecessariamente obscurecer as concretizações da invenção.
Embora várias concretizações sejam descritas em relação à ponte de voz e comunicação com base em texto entre vários dispositivos, é contemplado que a abordagem aqui descrita é aplicável a qualquer outra forma ou meio de comunicação disponível através de uma rede de comunicação.
A Figura 1 é um diagrama de um sistema capaz de fazer ponte de comunicação entre os vários dispositivos, de acordo com uma concretização. Como observado anteriormente, as redes de comunicação modernas fornecem aos usuários uma variedade de formas de comunicação (por exemplo, as chamadas de voz, correio eletrônico, mensagens instantâneas, mensagens de texto, mensagens multimídia, sessões de comunicação de redes sociais, sessões de chat, chamadas de vídeo, etc.) Consequentemente, os usuários estão descobrindo que seus contatos estão se tornando cada vez mais espalhados por esses vários meios de comunicação e serviços correspondentes (por exemplo, serviços de redes sociais, serviços de comunicação, navegação, serviços de mídia, etc), aplicações (por exemplo, gerenciadores de informações pessoais, calendários, clientes de email, etc), e dispositivos (por exemplo, computador de mesa, laptop, nós de Internet, comunicadores, assistentes digitais pessoais, etc.) Por exemplo, em um caso típico, um usuário pode ter vários conjuntos de contatos (por exemplo, amigos) armazenados em qualquer número de locais, tais como (1) um primeiro serviço de rede social (por exemplo, MySpace ®) , (2) um segundo serviço de rede social (por exemplo, o Facebook ®) , (3) um serviço da web de gerenciamento de informações pessoais (por exemplo, a Ovi ®) , (4) o dispositivo do usuário móvel, e (5) aplicação de um e-mail em execução no computador pessoal do usuário.
Tradicionalmente, cada serviço ou aplicativo gerencia seu respectivo conjunto de contatos ou listas de contatos de forma independente. Como usado aqui, a "lista de contatos" inclui, por exemplo, um diretório de nomes, identificadores de comunicação (por exemplo, número de telefone, E-mail, nome de tela, etc), e outras informações relacionadas (por exemplo, localização, passatempos, interesses, características, etc) contidos em um dispositivo móvel, um serviço da web, serviço de rede social, e/ou similares. Para cada respectivo serviço, o usuário geralmente gera a lista de contato correspondente manualmente adicionando contatos, importando contatos de outras fontes, solicitando informações de contato para os outros, e assim por diante. Por exemplo, as listas de contato podem ser concebidas para suportar comunicações extremidade a extremidade em que o dispositivo de origem (por exemplo, o dispositivo que inicia uma sessão de comunicação) sabe que a informação de contatos (por exemplo, um número de telefone) do dispositivo terminal (por exemplo, dispositivo para o qual uma sessão de comunicação é dirigida). Em outras palavras, para estabelecer uma chamada entre o dispositivo de origem e o dispositivo terminal, o dispositivo de origem, muitas vezes, usa uma ligação estática para suportar a chamada. Tal como aqui utilizado, o termo "ligação estática" refere-se a quando o dispositivo de origem usa um identificador de comunicação estático (por exemplo, o número de telefone) do dispositivo de terminação para estabelecer a comunicação. A título de exemplo, esse identificador de comunicação é, muitas vezes, armazenado na lista de contatos do dispositivo de origem.
No entanto, é muito comum que o dispositivo de origem para não tenha ou conheça o identificador de comunicação estática do dispositivo de terminação, em particular quando o dispositivo de origem apenas ocasionalmente se comunica com o dispositivo de terminação. Neste caso, o usuário do dispositivo de origem normalmente tem de perguntar para o identificador de comunicação do dispositivo de terminação de um amigo, um serviço de diretório, ou outro terceiro; armazenar o identificador de comunicação em uma lista de contatos (por exemplo, para construir a ligação estática), e, em seguida, iniciar a sessão de comunicação para o dispositivo terminal. Em outro exemplo, com relação a um serviço de mensagens instantâneas (IM) , um dispositivo de origem pode ter que pedir para o identificador de IM de um usuário de um dispositivo de terminação de um amigo comum para iniciar uma sessão de mensagens instantâneas. Além disso, quando da realização da sessão, o usuário do dispositivo de origem, muitas vezes, tem de explicar como o identificador de comunicação foi obtido (por exemplo, "obtém o seu nome IM de John") antes de continuar com a comunicação. Estas etapas podem ser entediantes e fazer a experiência do usuário na realização de tais comunicações ocasionais ou não-rotineira difícil, desestimulando, assim, o usuário de tais comunicações. No entanto, observa-se que tais comunicações (por exemplo, comunicações ocasionais ou introdutórias) são, muitas vezes, uma primeira etapa importante para a construção de uma rede social de amigos através de amigos comuns ou amigos.
Para resolver este problema, um sistema 100 da Figura 1 apresenta a capacidade de fazer uma ponte de uma sessão de comunicação entre um primeiro dispositivo e um segundo dispositivo através de um terceiro dispositivo que tem uma ligação estática com cada um do primeiro dispositivo e do segundo dispositivo. Em outras palavras, ao receber um pedido de início de uma sessão de comunicação entre dois dispositivos que, por exemplo, não têm ligações diretas estáticas, o sistema 100 pode, contudo, estabelecer a comunicação pedida por meio de uma ponte de uma sessão de comunicação entre os dois dispositivos específicos por meio de um terceiro dispositivo comum para os dois dispositivos. Mais especificamente, em um cenário, o primeiro dispositivo é o dispositivo de origem de um pedido de comunicação, o segundo dispositivo é um dispositivo de terminação, e o terceiro dispositivo é um dispositivo de ligação ou de mediação que tem ligações estáticas para o dispositivo de origem e o dispositivo terminal.
Em uma concretização, para estabelecer uma sessão de comunicação entre o dispositivo de origem e o dispositivo terminal, o sistema 100 usa primeiro uma ligação estática entre o dispositivo de ligação e o dispositivo de origem para enviar automaticamente um identificador de comunicação temporário associado com o dispositivo de terminação para o dispositivo de origem. Ao mesmo tempo, o sistema 100 utiliza uma ligação estática entre o dispositivo de ligação e o dispositivo terminal para enviar um identificador de comunicação temporária associado com o dispositivo de origem para o dispositivo terminal. A troca de identificadores de comunicação ao longo dos respectivos links estáticos do dispositivo de ligação permite que o dispositivo de origem e o dispositivo terminal estabeleçam uma ligação de comunicação temporária. Além disso, os respectivos identificadores de comunicações temporárias ativam cada um do dispositivo de origem e do dispositivo terminal para reconhecer um ao outro sobre a ligação temporária, sem necessidade de revelar os identificadores permanentes de comunicação ou reais associados a cada dispositivo. Em algumas concretizações, os identificadores temporários podem também ser utilizados para indicar respectivas relações do dispositivo de origem e/ou o dispositivo de terminal com o dispositivo de ligação (por exemplo, que a ligação temporária é estabelecida através de um dispositivo de ponte associado a um usuário que é amigo comum dos respectivos usuários dos dispositivos de origem e de terminação).
Em uma concretização, os identificadores de comunicação temporários são válidos apenas para usar sobre o link temporário para manter, por exemplo, a privacidade dos dispositivos de origem e/ou de destino. Em qualquer um dos dois ou ambos os dispositivos de origem e de terminação aceita a ligação de comunicação temporária, a sessão de comunicação é estabelecida entre os dispositivos de origem e de terminação. Em ainda outra concretização, a aprovação do dispositivo de origem e/ou o dispositivo de terminação, o sistema 100 pode converter a ligação temporária para uma ligação estática, por exemplo, fornecendo os respectivos identificadores de comunicação permanente (por exemplo, números de telefone, nomes de chat, endereços de correio eletrônico, nomes de usuários, etc.) Em certas concretizações, os identificadores de comunicação permanentes podem ser armazenados como contatos permanentes nas respectivas listas de contato dos dispositivos de origem e/ou de terminação. Na abordagem aqui descrita, a troca e/ou armazenamento dos identificadores de comunicação permanentes constitui o estabelecimento de ligação estática entre os dispositivos de origem e de terminação. O sistema 100, portanto, vantajosamente reduz a carga associada aos processos tradicionais para descobrir e estabelecer enlaces de comunicação entre dispositivos sem links estáticos previamente estabelecidos.
Em ainda outra concretização, o sistema 100 pode manter uma base de dados de listas de contato associada a um grupo de dispositivos para auxiliar os dispositivos para determinar os dispositivos de ponte candidatos para um dado conjunto de dispositivos de origem e destino. A título de exemplo, no momento da recepção de um pedido para estabelecer uma comunicação entre o conjunto de dispositivos de origem e destino, o sistema 100 pode consultar a base de dados para um dispositivo de ligação com ligações estáticas adequadas. Embora as várias concretizações sejam aqui descritas com apenas um único grau de separação entre a ponte do dispositivo e os dispositivos de origem e de terminação, é contemplado que qualquer grau de separação (por exemplo, para fazer uma ponte de uma sessão de comunicação ao longo de vários dispositivos de ponte) possa ser especificado. Além disso, embora as diferentes concretizações sejam discutidas no que diz respeito a um único dispositivo de origem e um único dispositivo de terminação, é contemplado que o método descrito é aplicável para estabelecer uma sessão de comunicação entre qualquer número de dispositivos de origem e/ou de terminação.
Além disso, ou, alternativamente, ao receber um pedido para estabelecer uma sessão de comunicação entre os dispositivos de origem e destino, o sistema 100 pode digitalizar as listas de contato dos dispositivos de origem e/ou destino e enviar solicitações a um ou mais contatos na lista para determinar se os contatos são capazes de atuar como um dispositivo de ligação.
Em uma concretização, o sistema 100 proporciona uma interface gráfica de usuário (GUI) para iniciar um pedido de ligar uma sessão de comunicação entre vários dispositivos. A título de exemplo, a GUI pode fornecer uma representação gráfica dos contatos disponíveis através dos quais um usuário pode arrastar e soltar os contatos para iniciar a solicitação. Em um caso de uso de exemplo, uma interação de "arrastar e soltar" é fornecida entre dois contatos de uma lista de redes sociais do contato. A interação pode iniciar uma ligação temporária criada a partir de um contato arrastado para o contato diminuído, e/ou vice-versa. Tais ligações temporárias podem ser salvas como um link estático quando o contato abandonado responde e/ou aprova a comunicação. Em outro caso de uso de amostra, Mark tem John e Mary em sua lista de contatos de mensagens instantâneas. Mark arrasta o ícone de John e deixa-o cair sobre o ícone de Maria em uma interface gráfica que descreve a lista de contatos. Em seguida, John pode iniciar a comunicação instantânea com Mary através do aplicativo de mensagens instantâneas usando identificadores temporários e links. Se Mary responde ou aprova, John pode ter Mary acrescentada de imediato, como uma ligação fixa, para sua lista de contatos de mensagens instantâneas, e Mary também da mesma forma.
Como mostrado na Figura 1, o sistema 100 é composto por equipamentos de usuário (UEs) 101a - 101n (também referidos coletivamente como UEs 101), com conectividade para uma plataforma de ponte de comunicação 103 através de uma rede de comunicação 105. Os UEs 101 são qualquer tipo de terminal móvel, terminal fixo ou terminal portátil, incluindo um aparelho móvel, a estação, a unidade, dispositivo, computador multimídia, tablet multimídia, o nó de Internet, comunicador, computador de mesa, laptop, computador, notebook, netbook, computador tablet, assistentes pessoais digitais (PDAs), player de áudio / vídeo, câmera digital / câmara de vídeo, dispositivo de posicionamento, receptor de televisão, um receptor de rádio, aparelho de livro eletrônico, dispositivo de jogo, ou qualquer combinação destes, incluindo os acessórios e periféricos desses dispositivos, ou qualquer combinação destes. É também contemplado que o UE 101 pode suportar qualquer tipo de interface para o usuário (tal como um circuito "usável", etc.) Em concretizações exemplares, os UEs 101a - 101n têm conectividade a respectivas bases de dados 107a-107N de uma ou mais listas de contatos (também referidos coletivamente como bancos de dados de lista de contatos 107) . As bases de dados da lista de contatos 107 podem incluir, por exemplo, qualquer número de campos, incluindo, por exemplo, o nome do contato, número de telefone, e-mail, endereço e outros campos de informação relacionados, Além disso, as listas de contato podem ser associadas com o UE 101 em si ou com um ou mais aplicativos em execução no UE 101.
A título de exemplo, a rede de comunicação 105 do sistema 100 inclui uma ou mais redes tais como uma rede de dados (não mostrada) , uma rede sem fio (não mostrada) , uma rede telefônica (não mostrada) , ou qualquer combinação destas. Contempla-se que a rede de dados pode ser qualquer rede de área local (LAN) , rede de área metropolitana (MAN) , rede de área larga (WAN) , uma rede de dados pública (por exemplo, a Internet) , ou qualquer outra rede de comutação de pacotes adequada, tal como uma de propriedade comercial, a rede de comutação de pacotes proprietária, por exemplo, um cabo proprietário ou rede de fibra óptica. Além disso, a rede sem fio pode ser, por exemplo, uma rede celular e pode empregar diversas tecnologias, incluindo as taxas de dados avançadas para a evolução global (EDGE), General Packet Radio Service (GPRS), sistema global para comunicações móveis (GSM), subsistema de multimídia de protocolo da Internet (IMS), sistema de telecomunicações móveis universal (UMTS), etc, bem como qualquer outro meio adequado sem fio, por exemplo, interoperabilidade em todo o mundo para acesso via microondas (WiMAX), redes de Long Term Evolution (LTE), acesso múltiplo por divisão de código (CDMA), acesso múltiplo de banda larga por divisão de código (WCDMA), Wireless Fidelity (Wi-Fi), por satélite, rede móvel ad-hoc (MANET), e similares.
Os UEs 101 também têm conectividade com um serviço de rede social 109 através da rede de comunicação 105. Em uma concretização, o serviço de rede social 109 pode ser fornecido por um ou outro operador de rede de comunicação 105, ou uma terceira parte (não mostrada) . A título de exemplo, o serviço de rede social 109 permite aos usuários formar comunidades on-line para compartilhar interesses comuns (por exemplo, passatempos, família, trabalho, organizações, etc.) Um usuário do serviço de rede social 109 pode usar o serviço 109, por exemplo, as relações de forma e comunicar-se com outros membros do serviço. Historicamente, tem havido uma grande variedade de serviços de redes sociais 109 disponíveis para os usuários (por exemplo, MySpace ®, Facebook ®, Linkedln ®, etc) abrangendo para diversos interesses. Assim, não é incomum para os usuários pertencer a vários serviços de redes sociais 109. O serviço de rede social 109 inclui, pelo menos em parte, um banco de dados 111 de um ou mais membros da lista (ou listas de contatos) associados ao serviço de rede social 109. Os membros da lista de banco de dados 111 armazenam, por exemplo, uma lista de membros registrados do serviço 109.
Como mostrado na Figura 1, o UEs 101 ainda tem conectividade com um serviço da web 113 através da rede de comunicação 105. Em várias configurações, o serviço da web 113 permite que o UE 101 se comunique usando e/ou sincronizando uma lista de contatos existente (por exemplo, o banco de dados da lista de contatos 107) ou criando uma nova lista de contatos no banco de dados da lista de contato de serviço da web 115. Por exemplo, o serviço da web 113 pode fornecer para a gestão de informação pessoal on-line e comunicações (por exemplo, o Google ®, Yahoo ®) incluindo a gestão de contatos do usuário. Considera-se que o serviço da web 113 pode ser qualquer serviço, incluindo, pelo menos em parte, uma lista de contatos para uso em comunicação sobre qualquer número de mecanismos de comunicação (por exemplo, e- mail, mensagens instantâneas, chamadas de vídeo, etc.) Além disso, através da conectividade à rede de comunicação 105, a plataforma de ponte de comunicação 103 também tem conectividade com o serviço de rede social 109 e o serviço da web 113 e pode ser a ponte de sessões de comunicação realizadas ao longo dos serviços 109 e 113.
Desta forma, a plataforma de ponte de comunicação 103 tem acesso às bases de dados da lista de contatos 107 dos UEs 101, o banco de dados de lista de membros 111 do serviço de rede social 10 9, e o banco de dados da lista de contatos de serviço da Web 115 do serviço da web 113 para permitir a ponte de sessões de comunicação correspondentes. Contempla-se que a rede de comunicação 105 pode incluir vários serviços de redes sociais 109 ou serviços da web 113. Além disso, a plataforma de ponte de comunicação 103 pode ser implementada como um serviço independente no lado da rede de comunicação 105 (como mostrado na Figura 1) . Além disso, ou em alternativa, a plataforma de comunicação de ponte 103 pode ser implementada nos UEs 101, no serviço de rede social 109, e/ou no serviço de web 113.
Em uma concretização, os UEs 101a-101n podem executar a respectiva comunicação, fazendo ponte de aplicações clientes 117a 117n para executar todas ou parte das funções de plataforma de ponte de comunicação 103. Deste modo, a abordagem aqui descrita para fazer ponte das sessões de comunicação pode ser realizada pela plataforma de ponte de comunicação 103 ou através de uma ou mais das aplicações de cliente de ponte 117 do UE de origem 101a, o UE de destino 101 b, e/ou o UE ponte 101c.
Em outra concretização, a aplicação cliente de ponte de comunicação 117 e a plataforma de ponte de comunicação 103 podem interagir de acordo com um modelo cliente-servidor. De acordo com o modelo cliente-servidor, um processo cliente envia uma mensagem que inclui um pedido para um servidor de processo, e o processo do servidor responde fornecendo um serviço (por exemplo, fornecimento de informação de mapa). 0 processo do servidor também pode retornar uma mensagem com uma resposta para o processo cliente. Muitas vezes, o processo de cliente e o processo servidor executados em dispositivos de computador diferentes, chamado hosts, e se comunicam através de uma rede usando um ou mais protocolos de comunicações de rede, o termo "servidor" é utilizado convencionalmente para se referir ao processo que fornece o serviço, ou o computador hospedeiro, no qual o processo opera. Da mesma forma, o termo "cliente" é convencionalmente usado para se referir ao processo que faz o pedido, ou o computador hospedeiro em que o processo opera. Como usado aqui, os termos "cliente" e "servidor" referem-se a processos, em vez de os computadores hospedeiros, a menos que de outro modo evidente do contexto. Além disso, o processo realizado por um servidor pode ser dividido para ser executado como vários processos em vários hosts (às vezes chamado de camadas), por motivos que incluem a confiabilidade, escalabilidade e redundância, entre outros.
A título de exemplo, o UE 101, a plataforma de ponte de comunicação 103, o serviço de rede social 10 9, o serviço da web 113 comunicam uns com os outros e outros componentes da rede de comunicação 105, utilizando protocolos bem conhecidos, novos ou ainda a desenvolver. Neste contexto, um protocolo inclui um conjunto de regras que definem como os nós da rede dentro da rede de comunicação 105 interagem uns com os outros com base em informações enviadas através dos links de comunicação. Os protocolos são eficazes em diferentes camadas de operação no interior de cada nó, da geração e recebimento de sinais físicos de vários tipos, até a escolha de uma ligação para a transferência de tais sinais, para o formato de informação indicada pelos referidos sinais, para identificar que a aplicação de software em execução em um sistema de computador envia ou recebe a informação. As camadas conceptualmente diferentes de protocolos de troca de dados através de uma rede são descritas no Modelo de referência de Interconexão de Sistemas Abertos (OSI).
As comunicações entre os nós da rede são tipicamente efetuadas por troca de pacotes de dados discretos. Cada pacote compreende, tipicamente, (1) a informação de cabeçalho associada a um determinado protocolo, e (2) informação de carga útil que segue a informação de cabeçalho e contém informação que pode ser processada de forma independente do referido protocolo particular. Em alguns protocolos, o pacote inclui (3) informações de trailer após a carga útil e que indica o fim da informação de carga útil. O cabeçalho contém informações como a fonte do pacote, o seu destino, o tamanho da carga, e outras propriedades usadas pelo protocolo. Muitas vezes, os dados da carga útil para o protocolo especial incluem um cabeçalho e carga útil para um protocolo diferente associado com uma camada diferente e mais elevada do modelo de referência OSI. 0 cabeçalho de um protocolo particular normalmente indica um tipo para o próximo protocolo contido em sua carga útil. 0 protocolo de camada superior é dito para ser encapsulado no protocolo de camada inferior. Os cabeçalhos incluídos em um pacote atravessando várias redes heterogêneas, como a Internet, normalmente incluem um cabeçalho (camada 1) físico, um cabeçalho de link de dados (camada 2) , um conjunto de redes de cabeçalho (camada 3) e um cabeçalho de transporte (camada 4), e os cabeçalhos de várias aplicações (camada 5, a camada 6 e camada 7) , tal como definido pelo modelo de referência OSI.
A Figura 2 é um diagrama dos componentes de uma plataforma de ponte de comunicação 103, de acordo com uma concretização. A título de exemplo, a plataforma de ponte de comunicação 103 inclui um ou mais componentes para fazer ponte de sessões de comunicação entre vários dispositivos. É contemplado que as funções destes componentes podem ser combinadas em um ou mais componentes ou executadas por outros componentes de funcionalidade equivalente. Como mostrado na Figura 2 e, como descrito em relação à Figura 1, a plataforma de ponte de comunicação 103 interage com o banco de dados de lista de membros 111, as bases de dados da lista de contatos 107, o banco de dados da lista de contatos de serviço da web 115, ou qualquer combinação destes para executar suas funções de ponte. Em uma concretização, a plataforma de ponte de comunicação 103 inclui uma lógica de controle 201 que executa pelo menos um algoritmo para a execução de funções de comunicação da plataforma de ponte 103. Por exemplo, a lógica de controle 201 interage com um módulo de interface gráfica de usuário (GUI) 203 para apresentar uma interface gráfica de usuário que representa, por exemplo, contatos e/ou suas UEs correspondentes 101.
Em uma concretização, o módulo de GUI 203 apresenta a GUI ou faz com que a GUI seja apresentada a um UE 101c que pode atuar como ponte de dispositivo para um dispositivo de origem (por exemplo, UE 101a) que está tentando estabelecer uma sessão de comunicação com um dispositivo terminal (por exemplo, UE 101b) . Neste exemplo, o UE 101c é capaz de atuar como um dispositivo de ligação, porque tem ligações estáticas tanto com o UE 101a e UE 101b na sua base de dados de lista de contatos 107c. Como discutido anteriormente, um modo de estabelecer um armazenando estático é um identificador de comunicação permanente (por exemplo, informação de contato, tal como um número de telefone, endereço de correio eletrônico, e similares) de um outro dispositivo dentro de uma lista de contato do primeiro dispositivo. Usar, por exemplo, o processo de arrastar e soltar descrito acima, a GUI 203 recebe um pedido para o UE 101c para fazer uma ponte de uma sessão de comunicação entre os UEs 101a e 101b.
Em algumas concretizações, o módulo de GUI 203 pode interagir com um módulo de determinação de dispositivo 205 para consulta para determinar ou um dispositivo de ponte adequado. Por exemplo, o módulo de determinação de dispositivo 205 pode consultar as bases de dados da lista de contatos 107a-107b dos UEs 101a-101b, a lista de membros 111, a lista de contatos do serviço da web 115, ou qualquer combinação dos mesmos para determinar um ou mais dispositivos de ponte candidatos (por exemplo, um ou mais UEs 101a-101n) que têm ligações estáticas com o dispositivo de origem (por exemplo, UE 101a) e o dispositivo de terminação (por exemplo, o UE 101b). Se mais de um dispositivo ponte candidato é descoberto, o módulo de determinação de dispositivo 205 pode aplicar um ou mais critérios de seleção (por exemplo, a proximidade com os UEs 101a e 101b, proximidade das relações, as capacidades do dispositivo, conectividade, disponibilidade, etc) para determinar qual dos dispositivos candidatos selecionar para executar a ponte. Em certas concretizações, o módulo de determinação de dispositivo 205 pode selecionar mais do que um dispositivo de ligação para facilitar a comunicação.
Após a determinação de qual o dispositivo está agindo como o UE de ponte 101c, o módulo de determinação de dispositivo 205 interage com o gerador de identificador 207 para gerar os identificadores temporários para associar com o UE de origem 101a e o UE 101b de destino, Em uma concretização, o gerador de identificador 207 pode determinar o formato dos identificadores temporários, com base, pelo menos em parte, na forma de comunicação que está a ser utilizada para realizar a sessão de comunicação. Por exemplo, se a sessão de comunicação é uma chamada de voz, o identificador temporário pode estar no formato de um número de telefone. Da mesma forma, se a sessão de comunicação é um e-mail, o identificador temporário pode ser formatado como um endereço de e-mail. Em algumas concretizações, o gerador de identificador pode também gerar metadados ou outras informações relacionadas para associar uma relação do UE ponte 101c com os identificadores temporários. Esta informação de relação pode ser utilizada pelo UE de origem 101a e/ou UE de terminação 101b para avaliar se aceitar ou rejeitar a ligação de comunicação temporária. Desta forma, o gerador de identificador 207 pode vantajosamente reduzir o potencial para a criação de ligações indesejadas entre os UEs 101a e 101b.
Em seguida, o gerador de identificador 207 interage com um módulo de ligação temporária 209 para fazer com que a transmissão dos identificadores temporários para o UE de origem 101a e o UE de destino 101b. Em uma concretização, as transmissões dos identificadores ocorrem sobre as ligações fixas entre o UE de ponte 101c e cada um dos UE de origem 101a e o UE de destino 101b. Como a ligação temporária identifica apenas os identificadores temporários do UE de origem 101a e do UE de terminação 101b, o UE de origem 101a e o UE de terminação 101b têm a oportunidade de iniciar a sessão de comunicação sem revelar qualquer identificador permanente e/ou de comunicação privada.
Sobre a aceitação ou aprovação do link de comunicação temporário por um ou ambos do UE de origem 101a e UE de terminação 101 b, o módulo de ligação temporária 209 dirige o módulo de link estático 211 para converter o link temporário para um link estático. Como observado anteriormente, um link estático pode ser formado através da troca do e/ou armazenamento do identificador de comunicação permanente de um outro dispositivo. Em algumas concretizações, o módulo de ligação estática 211 pode criar uma ligação unilateral estática, em que apenas um dos UE de origem 101a ou UE de terminação 101b estabelece uma ligação estática com o outro. Por exemplo, o módulo de link estático 211 pode criar um link estático entre o UE 101a e o UE 101 b apenas no UE de origem 101a por meio de armazenamento do identificador permanente do UE de terminação 101b na lista de contatos 107a do UE 101a. Em outras concretizações, o gerenciador de link estático 211 pode criar uma ligação bilateral estática em que o UE de origem 101a e o UE de terminação 101b trocam os respectivos identificadores de comunicação permanentes, de modo que futuras comunicações podem ocorrer sobre a ligação estática.
A Figura 3 é um diagrama da estrutura de dados das respectivas listas de contato dos dispositivos utilizados no sistema da Figura 1, de acordo com uma concretização. Como em sistemas de gerenciamento de base de dados típicos, os dados podem ser armazenados em um ou mais recipientes de dados, cada recipiente contém registros, e os dados de cada registro são organizados em um ou mais campos de dados. Como mostrado na Figura 3, um UE 101a (por exemplo, um dispositivo de origem) , um UE 101b (por exemplo, um dispositivo de terminação) , e um UE 101 c (por exemplo, um dispositivo de ponte) incluem, cada um, respectivos recipientes de dados que incluem os registros de contato que representam cada entrada das respectivas listas de contatos. Mais especificamente, o
UE 101a inclui um recipiente de dados de lista de contatos 301 correspondendo, por exemplo, ou ao banco de dados de lista de contato 107a, a lista de membros da rede social 111, ou ao banco de dados da lista de contatos de serviço da web 115. O recipiente de dados de lista de contatos 301 inclui registros de contatos 303a-303n representando cada entrada de uma lista de contatos correspondente. Além disso, cada contato 303 pode ser dividido em campos de dados 305A-305C correlacionando com vários parâmetros que descrevem um contato (por exemplo, nome, número de telefone, E-mail, passatempos, interesses, características). A este respeito, o número de campos de dados 305a-305n está dependente do nível de detalhe que o usuário, o serviço de rede social 109, e/ou de serviços da web 113 gostariam de manter. Por isso, é possível que duas listas de contato diferentes tenham campos de dados diferentes.
Da mesma forma, o UE de terminação 101b inclui um recipiente de dados de lista de contatos 307 incluindo registros de contatos 309a-309n representando cada entrada de uma lista de contatos correspondente. Cada contato 309 consistindo de campos de dados 311a-311n que são semelhantes aos campos de dados 305a-305C. O UE ponte 101c também inclui um recipiente de dados de lista de contatos 313 incluindo registros de contatos 315A-315n dentro de cada contato 315 consiste de campos de dados 317A-317c. Ê contemplado que as listas de contato do UE de origem 101a, o UE de terminação 101b, e o UE ponte 101c podem incluir o número de registros, ter campos de dados diferentes, e fornecer informação de diferentes níveis de detalhes.
Como mostrado na Figura 3, a plataforma de ponte de comunicação 103 fornece a lógica de entrada correspondente nos recipientes de dados lista de contatos 301, 307, e 313 para determinar se existem links estáticos entre os UEs 101a- 101c. Como descrito anteriormente, os campos de dados entre as listas de contato da UEs 101a-101c podem variar, dependendo do nível de detalhe desejado para ou capturados nas respectivas listas. Além disso, diferentes serviços (por exemplo, o serviço de rede social 109, um serviço da web 113 e o UE 101) podem nomear cada campo de dados de forma diferente mesmo que eles possam conter a mesma informação ou similar. Por exemplo, o campo de nome 305a no recipiente de dados lista de contato 301 pode ser chamado de "NOME", enquanto que o campo de dados equivalente no recipiente de dados da lista de membros 3 07 pode ser chamado de "nome completo." Por conseguinte, considera-se que a plataforma de ponte de comunicação 103 inclui a lógica para automaticamente ou com a entrada do usuário correlacionar campos entre as listas de contato dos UEs 101-101c para fazer a ponte de sessões de comunicação.
Como parte do processo de ponte de comunicações, a plataforma de ponte de comunicação 103, por exemplo, compara os registros na lista de contatos da UE de origem 101 contra os registros da lista de contatos da UE ponte 101c para determinar se há um link estático entre os dois (por exemplo, se a lista de contatos de um dispositivo inclui informações de contato do outro dispositivo). A plataforma de ponte de comunicação 103 também compara a lista de contatos da UE de destino 101b contra os registros da lista de contatoxs da UE ponte 101c. Em uma concretização, a comparação inclui a recuperação de informações a partir dos campos de dados 305 do recipiente de dados da lista de contato 301, os campos de dados 311 do recipiente de dados da lista de contato 307, e os campos de dados 317 do recipiente de dados da lista de contato 313 para determinar a existência de um link estático (por exemplo, o armazenamento de um identificador de comunicação, tal como nome, número de telefone, endereço de correio eletrônico, etc.) Como mostrado, a comunicação fazendo a ponte da plataforma 103 correspondente ao contato 303b com o contato 315a para determinar uma relação estática entre o UE de origem 101a e o UE ponte 101 c, e contato combinado 309b com o contato 315n para determinar uma relação estática entre o UE de terminação 101 b e o UE ponte 101c. Por conseguinte, no âmbito da abordagem aqui descrita, o UE ponte 101 c pode atuar como uma ponte de comunicação ou mediador entre o UE de origem 101a e o UE de terminação 101 b.
A Figura 4 é um fluxograma de um processo para fazer a ponte das sessões de comunicação entre vários dispositivos, de acordo com uma concretização. Em uma concretização, a plataforma de ponte de comunicação 103 executa o processo 400 e é implementada em, por exemplo, um conjunto de chips que inclui um processador e uma memória, como mostrado Figura 8. Além disso, ou em alternativa, a aplicação do cliente que faz ponte de comunicação 117 pode realizar a totalidade ou uma parte do processo 400. A título de exemplo, a aplicação do cliente que faz ponte de comunicação 117 pode ser executada por um UE 101a de origem, um UE de terminação 101b, e/ou um UE ponte 101c. Na etapa 401, a comunicação de ligação 103 recebe a plataforma ou determina para receber um pedido de estabelecimento de uma sessão de comunicação entre um primeiro dispositivo (por exemplo, um UE de origem 101a) e um segundo dispositivo (por exemplo, um UE de terminação 101b). Em uma concretização, o pedido especifica, pelo menos em parte, um terceiro dispositivo (por exemplo, um UE ponte 101c) com uma primeira ligação estática para o primeiro dispositivo e uma segunda ligação estática para o segundo dispositivo. Em certas concretizações, o pedido não precisa especificar o UE ponte 101c. Em vez disso, a plataforma de comunicação de ponte pode determinar o UE ponte 101 c, tal como descrito em relação à Figura 5 abaixo. Em uma concretização, a sessão de comunicação solicitada inclui uma chamada de voz, um correio eletrônico, uma mensagem instantânea, uma mensagem de texto, uma mensagem multimídia, uma mensagem de redes sociais, uma sessão de bate-papo, uma chamada de vídeo, ou uma combinação destes. Está também contemplado que a sessão de comunicação pode incluir quaisquer outros meios de comunicação disponíveis através da rede de comunicação 105.
Se um dispositivo de UE ponte 101c com os links apropriados estáticos não está disponível (etapa 403), o processo termina. De outro modo, a plataforma de ponte de comunicação 103 gera ou determina para gerar um ou mais identificadores temporários que estão associados com, pelo menos, um dos UE de origem 101a e o UE de terminação 101b (etapa 405). Como discutido anteriormente, os identificadores temporários permitem que a plataforma de ponte de comunicação 103 estabeleça uma ligação temporária entre o UE 101 de origem e o UE de terminação 101b através da primeira ligação estática (por exemplo, a ligação estática entre o UE ponte 101 c e o UE de origem 101 a) e a segunda ligação estática (por exemplo, a ligação estática entre o UE ponte 101 ceo UE de terminação 101 b) (etapa 407) . A título de exemplo, a transmissão do identificador temporário facilita a identificação da ligação temporária pelos UEs participantes 101a-101c. Em algumas concretizações, a plataforma de ponte de comunicação 103 não identifica a ligação temporária usando os identificadores temporários e pode, então, determinar a ligação temporária, sem identificadores ou alternativas para identificadores, tais como sinalizadores.
Além disso, ou em alternativa, a plataforma de ponte de comunicação 103 pode identificar a ligação temporária com base, pelo menos em parte, em um identificador estático associado com o UE ponte 101 a. Desta forma, os UEs 101a e 101b podem receber uma indicação de como e/ou para que fim a ligação temporária está sendo estabelecida. Com relação a um exemplo de uma chamada de voz, identificar a ligação temporária com base no UE ponte 101a é equivalente a afirmar que "o nosso amigo John me deu seu número de telefone, para que eu possa entrar em contato com ele."
Depois de estabelecer e, opcionalmente, identificar o link temporário, a plataforma de ponte de comunicação 103 realiza a sessão de comunicação solicitada através do link temporário (etapa 409). Neste ponto, a sessão de comunicação já foi iniciada apenas, mas ainda não foi formalmente aceita ou aprovada. Por conseguinte, a plataforma de comunicação de ponte determina se o UE de origem 101a e/ou o UE de terminação 101 b aceita a sessão de comunicação (etapa 411). Tal como aqui utilizada, a aceitação pode ser indicada se o UE 101a ou o UE 101 b respondem a sessão de comunicação. Por exemplo, se o exemplo de uma sessão IM de exemplo, o UE 101a e o UE 101b podem aceitar / aprovar digitando uma mensagem na sessão de IM iniciada pela plataforma de ponte de comunicação 103. No contexto do e-mail, a aceitação pode ser fornecida respondendo a uma iniciação de e-mail a partir da plataforma de ponte de comunicação 103. Se os UEs 101a e 101b não aceitam a sessão de comunicação, o processo termina e a ligação temporária é encerrada. Se o UE 101a e/ou o UE 101 b aceita a comunicação, a plataforma de ponte de comunicação 103 converte o link temporário para um link direto estático entre o UE de origem 101a e o UE de terminação 101b (etapa 413) . Em uma concretização, para a conversão para a ligação estática, a plataforma de ponte de comunicação 103 troca ou determina a troca de identificadores permanentes ou estáticos associados, respectivamente, com o UE de origem 101a e o UE de terminação 101b para armazenamento nos dispositivos. Deste modo, um ou ambos os dispositivos terão identificador de comunicação permanente que pode ser utilizado para contatar o outro dispositivo diretamente sem a ponte. Note-se que em algumas concretizações em que o UE de origem 101a diretamente iniciou o pedido de comunicação, o UE 101a não precisa aprovar a sessão de comunicação. Em vez disso, apenas a aprovação do UE de terminação 101a é suficiente para converter a ligação temporária para uma ligação estática. Em outras palavras, a conversão da ligação temporária em ligação estática pode também acontecer no UE 101a e 101b sem qualquer aprovação externa de qualquer plataforma de ponte de comunicação 103.
A Figura 5 é um fluxograma de um processo para a determinação de um dispositivo de ponte de comunicação, de acordo com uma concretização. Em uma concretização, a plataforma de ponte de comunicação 103 executa o processo 500 e é implementada em, por exemplo, um conjunto de chips que inclui um processador e uma memória, como mostrado na Figura 8. Além disso, ou em alternativa, a aplicação do cliente que faz a ponte de comunicação 117 pode realizar a totalidade ou uma parte do processo 500. A título de exemplo, a aplicação do cliente que faz a ponte de comunicação 117 pode ser executada por um UE de origem 101a, um UE de terminação 101b, e/ou um UE ponte 101c. É contemplado que o processo 500 pode ser realizado de forma independente ou em conjunto com o processo 400 da Figura 4 descrito acima para identificar dispositivos ponte candidatos que possuem links estáticos com um ou outros UEs 101 disponíveis para a ponte. Na etapa 501, a plataforma de comunicação de ponte 103 determina se existe uma base de dados centralizada de listas de contato a partir de um grupo de dispositivos disponíveis para acesso. Em uma concretização, o banco de dados centralizado é parte de um serviço auxiliar que agrega e compila listas de contato.
Se nenhum banco de dados centralizado está disponível ou a plataforma de ponte de comunicação 103 é configurada para não acessar o banco de dados, a plataforma de ponte de comunicação 103 pode determinar dispositivos ponte potenciais por meio de consulta ou determinação para consultar uma ou mais listas de contatos 107 correspondente ao UE de origem 101a e/ou ao UE de terminação 101 b para determinar se qualquer um dos contatos são comuns tanto para o UE 101a e o UE 101b (etapa 503) . Tal dispositivo tem a informação de contato (isto é, uma ligação estática) para a comunicação com os UEs 101a e 101b. A plataforma de ponte de comunicação 103 pode, em seguida, selecionar um ou mais dispositivos de ponte com base, pelo menos em parte, na consulta (etapa 505) . Se mais de um dispositivo candidato estiver disponível, a plataforma de ponte de comunicação 103 pode aplicar um ou mais critérios de seleção, como descrito anteriormente.
Se um banco de dados centralizado está disponível, a plataforma de ponte de comunicação 103 pode consultar o banco de dados diretamente para dispositivos ponte potenciais (etapa 507) . A título de exemplo, a pesquisa pode especificar, por exemplo, o UE de origem 101a e o UE de terminação 101a de modo que qualquer UE 101 associado a uma lista de contatos, incluindo ambos os dispositivos podem ser um dispositivo de ponte candidato potencial. Um banco de dados centralizado permite que a plataforma de ponte de comunicação 103 vantajosamente pesquise vários dispositivos mais rápida e eficientemente para dispositivos ponte potenciais candidatos. Como descrito acima, a plataforma de ponte de comunicação pode, em seguida, selecionar um ou mais dispositivos de ponte com base, pelo menos em parte, na consulta da base de dados centralizada. Da mesma forma, se mais de um dispositivo de candidato estiver disponível, a plataforma de ponte de comunicação 103 pode aplicar um ou mais critérios de seleção, como descrito anteriormente.
A Figura 6 é um diagrama de uma interface de usuário utilizada nos processos das Figuras 4 e 5, de acordo com uma concretização. A Figura 6 descreve uma interface de usuário 600, para iniciar um pedido de ponte como uma sessão de comunicação entre o UE de origem 101a e o UE de terminação 101 b. Em uma concretização, como parte do processo de comunicação de ponte, a plataforma de comunicação de ponte 103 pode apresentar uma GUI, incluindo, pelo menos em parte, uma ou mais representações do UE de origem 101a, o UE de terminação 101b e/ou o UE ponte 101c. Como mostrado, uma tela 601 descreve uma GUI no UE ponte 101c para fazer ponte de uma sessão de comunicação. A GUI inclui uma descrição da lista de contatos do UE ponte 101c. Neste exemplo, o UE ponte 101c recebeu um pedido do UE de origem 101a associado a um contato 603 com o nome "Patrick" para preencher uma sessão de comunicação com o UE de terminação 101b associado a um contato 605 com o nome "Henry". Em resposta, um usuário do UE ponte 101c 607 faz um gesto de mover o contato 603 para o contato 605. Alternativamente, um usuário do UE ponte 101c pode criar uma ponte entre o UE 101a e o UE 101b por iniciativa do próprio usuário. Em uma concretização adicional, o usuário pode criar e/ou anexar uma mensagem para a associação a ser entregue juntamente com as ligações estáticas.
Em uma concretização, a plataforma de ponte de comunicação 103 detecta ou determina um ou mais movimentos (por exemplo, gesto 607) de uma ou mais representações dos UEs 101a e 101b UE (por exemplo, contato 603 e contato 605). Estes movimentos ou gestos podem iniciar o pedido de ligação. A título de exemplo, um ou mais movimentos incluem mover, pelo menos, uma de uma ou mais representações para indicar, pelo menos, uma sobreposição parcial com uma outra da uma ou mais representações. Como mostrado na tela 609, a gesto 607 resultou em movimento ou arraste do contato 603, de modo que ele é deixado cair sobre o contato 6 05 para criar uma sobreposição, iniciando, assim, o pedido de ligação. O pedido, por sua vez, inicia o processo de ligação, tal como descrito em relação às Figuras 4 e 5, e uma sessão de comunicação em ponte 61 1 (por exemplo, uma chamada de voz) é iniciada entre Patrick e Henry através dos links estáticos do UE ponte 101c.
Os processos aqui descritos para fazer pontes de sessões de comunicação podem ser vantajosamente implementados por meio de software, hardware, firmware, ou uma combinação de software e/ou firmware e/ou hardware. Por exemplo, os processos aqui descritos, incluindo o fornecimento de informação de navegação de interface de usuário associada com a disponibilidade de serviços, podem ser vantajosamente implementados por meio de processadores, chip de processamento de sinal digital (DSP), um Circuito Integrado de Aplicação Específica (ASIC), arranjo de portas programável em campo (FPGAs), etc. Tal hardware exemplificativo para realizar as funções descritas é detalhado abaixo.
A Figura 7 ilustra um sistema de computador 700 no qual uma concretização da presente invenção pode ser implementada. Embora o sistema de computador 700 seja descrito com respeito a um determinado dispositivo ou equipamento, é contemplado que outros dispositivos ou equipamentos (por exemplo, os elementos de rede, servidores, etc) dentro da Figura 7 podem implantar o hardware ilustrado e os componentes do sistema 700. O sistema de computador 700 é programado (por exemplo, através do código de programa de computador ou instruções) para fazer pontes de sessões de comunicação, conforme aqui descrito, e inclui um mecanismo de comunicação, tal como um barramento 710 para informação que passa entre os outros componentes internos e externos do sistema de computador 700. A informação (também chamada de dados) é representada como uma expressão física de um fenômeno mensurável, tipicamente tensões elétricas, incluindo, mas, em outras concretizações, fenômenos tais como interações magnéticas, eletromagnéticas, químicas, por pressão, biológicas, moleculares, atômicas, subatômicas e quânticas. Por exemplo, campos magnéticos norte, e sul, ou uma tensão elétrica zero e diferente de zero, representam dois estados (0, 1) de um dígito binário (bit). Outros fenômenos podem representar dígitos de uma base maior. A superposição de múltiplos estados quânticos simultâneas antes da medição representa um bit quântico (qubit). Uma sequência de um ou mais dígitos, constitui os dados digitais que são usados para representar um número ou código de um caractere. Em algumas concretizações, as informações chamadas de dados analógicos são representadas por um continuum de valores mensuráveis dentro de um intervalo específico. O sistema de computador 700, ou uma respectiva porção, constitui um meio para a concretização de uma ou mais etapas de ponte de sessões de comunicação entre múltiplos dispositivos.
Um barramento 710 inclui um ou mais condutores paralelos de informação de modo que a informação é transferida rapidamente entre os dispositivos acoplados ao barramento 710. Um ou mais processadores 702 para processamento de informação são acoplados ao barramento 710.
Um processador (ou processadores múltiplos) 702 executa uma série de operações de informação, tal como especificado por um código de programa de computador relacionado com ponte de sessão de comunicação entre múltiplos dispositivos. 0 código de programa de computador é um conjunto de instruções ou instruções que fornecem instruções para a operação do processador e/ou o sistema de computador para executar funções específicas. O código, por exemplo, pode ser escrito em uma linguagem de programação de computador que é compilado em um conjunto nativo de instrução do processador. O código pode também ser escrito diretamente, utilizando o conjunto de instruções nativas (por exemplo, linguagem de máquina). 0 conjunto de operações inclui trazer informações a partir do barramento 710 e colocar a informação sobre o barramento 710. O conjunto de operações também inclui tipicamente comparação de duas ou mais unidades de informação, mudar as posições das unidades de informação, e combinar as duas ou mais unidades de informação, tais como através da adição ou multiplicação ou operações lógicas como OU, OU exclusivo (XOR) , e E. Cada operação do conjunto de operações que podem ser executadas pelo processador está representada para o processador por informação chamada instruções, tais como um código de operação de um ou mais dígitos. A sequência de operações a serem executadas pelo processador 702, como uma sequência de códigos de operação, constituem instruções do processador, também chamadas de instruções do sistema de computador ou, simplesmente, instruções de computador. 0 processador pode ser implementado como componentes mecânicos, elétricos, magnéticos, ópticos, químicos ou quânticos, entre outros, sozinhos ou em combinação.
O sistema de computador 700 também inclui uma memória 704 acoplada ao barramento 710. A memória 704, tal como uma memória de acesso aleatório (RAM) ou outro dispositivo de armazenamento dinâmico, armazena informações incluindo instruções de processador para fazer ponte de sessões de comunicação entre múltiplos dispositivos. A memória dinâmica permite que as informações armazenadas na mesma sejam mudadas pelo sistema de computador 700. A RAM permite que uma unidade de informação armazenada em uma localização chamada de um endereço de memória seja armazenada e recuperada de forma independente da informação em endereços vizinhos. A memória 704 é também usada pelo processador 702 para armazenar valores temporários durante a execução de instruções do processador. O sistema de computador 700 também inclui uma memória apenas de leitura (ROM) 706 ou outro dispositivo de armazenamento estático acoplado ao barramento 710 para armazenar informações estáticas, incluindo instruções, que não são alteradas pelo sistema de computador 700. Parte da memória é composta do armazenamento volátil que perde a informação armazenada no mesmo quando a energia é perdida. Também acoplado ao barramento 710 está um dispositivo de armazenamento não-volátil (persistente) 708, tal como um disco magnético, disco óptico ou cartão de memória flash, para armazenar informação, incluindo instruções, que persistem, mesmo quando o sistema de computador 700 é desligado ou perde a energia.
Informações, incluindo instruções para fazer ponte de sessões de comunicação entre múltiplos dispositivos, são fornecidas ao barramento 710 para serem usadas pelo processador de um dispositivo externo de entrada 712, tal como um teclado de teclas alfanuméricas operados por um usuário humano, ou um sensor. Um sensor detecta as condições de sua vizinhança e transforma essas detecções na expressão física compatível com o fenômeno mensurável usado para representar informações no computador do sistema 700. Outros dispositivos externos acoplados ao barramento 710, utilizados principalmente para interagir com os seres humanos, possui um dispositivo de exibição 714, tal como um tubo de raios catódicos (CRT) ou uma tela de cristais líquidos (LCD) ou de plasma ou impressora para apresentar texto ou imagens, e um dispositivo apontador 716, tal como um mouse ou um trackball ou teclas de direção do cursor, ou sensores de movimento, para controlar a posição de uma imagem de cursor pequena apresentada na tela 714 e emitindo comandos associados com os elementos gráficos apresentados na tela 714. Em algumas concretizações, por exemplo, em concretizações em que o sistema de computador 700 executa todas as funções automaticamente, sem intervenção humana, um ou mais dos dispositivos de entrada externo 712, dispositivo de visualização 714 e um dispositivo apontador 716 são omitidos.
Na concretização ilustrada, o hardware para fins especiais, tal como um circuito integrado de aplicação específica (ASIC) 720, é acoplado ao barramento 710. 0 hardware de propósito específico é configurado para executar operações não executadas pelo processador 702 suficientemente rápido para propósitos especiais. Exemplos de ICs de aplicações específicas incluem placas aceleradoras de gráficos para gerar imagens para exibição 714, placas de criptografia para criptografar e descriptografar as mensagens enviadas através de uma rede, reconhecimento de voz, e interfaces para dispositivos especiais externos, como braços robóticos e equipamentos de varredura médica que repetidamente realizam alguma complexa sequência de operações que são mais eficazmente implementadas em hardware.
O sistema de computador 700 também inclui uma ou mais ocorrências de uma interface de comunicações 770 acoplada ao barramento 710. A interface de comunicação 770 fornece uma maneira ou comunicação de duas vias de ligação a uma variedade de dispositivos externos que operam com seus próprios processadores, como impressoras, scanners e discos externos. Em geral, o acoplamento é com um link de rede 778 que está ligado a uma rede local 78 0 para que uma variedade de dispositivos externos com seus próprios processadores está ligada. Por exemplo, a interface de comunicação 770 pode ser uma porta paralela ou uma porta serial ou um barramento serial universal (USB) em um computador pessoal. Em algumas concretizações, a interface de comunicação 770 é uma placa de rede digital de serviços integrados (ISDN) ou uma placa de linha de assinante digital (DSL) ou um modem de telefone que fornece uma conexão de comunicação de informações a um tipo correspondente de linha telefônica. Em algumas concretizações, a interface de comunicação 770 é um modem a cabo que converte os sinais no barramento 710 para sinais de comunicação através de uma ligação de um cabo coaxial ou em sinais óticos para uma ligação de comunicação através de um cabo de fibra óptica. Como outro exemplo, a interface de comunicações 770 pode ser uma placa de rede de área local (LAN) para proporcionar uma ligação de comunicação de dados a uma rede LAN compatível, como por exemplo, Ethernet. As ligações sem fio podem ser implementadas. Para as ligações sem fio, a interface de comunicação 770 envia ou recebe ou tanto envia como recebe sinais elétricos, acústicos ou eletromagnéticos, incluindo sinais infravermelhos e ópticos, que carregam fluxos de informações, como dados digitais. Por exemplo, em dispositivos portáteis sem fio, como telefones móveis, como telefones celulares, a interface de comunicação 770 inclui um transmissor e receptor eletromagnético de banda de rádio chamado um transceptor de rádio. Em certas concretizações, a interface de comunicações 770 permite a ligação à rede de comunicações 105 para fazer ponte de sessões de comunicação entre múltiplos dispositivos.
O termo "meio legível por computador", como aqui utilizado, refere-se a qualquer meio que participe no fornecimento de informação para o processador 702, incluindo instruções para execução. Tal meio pode assumir muitas formas, incluindo, mas não limitado a meio de armazenamento legível por computador (por exemplo, não-voláteis, meios de comunicação, meios voláteis), e meios de transmissão. Meios não transitórios, tais como meios não voláteis incluem, por exemplo, discos ópticos ou magnéticos, tais como o dispositivo de armazenamento 708. Meios voláteis incluem, por exemplo, a memória dinâmica 704. Meios de transmissão incluem, por exemplo, cabos coaxiais, fios de cobre, cabos de fibra óptica e ondas portadoras que viajam através do espaço, sem fios ou cabos, tais como ondas acústicas e ondas eletromagnéticas, incluindo ondas de rádio, ópticas e infravermelhas. Sinais incluem alterações transitórias feitas pelo homem em amplitude, frequência, polarização, fase, ou outras propriedades físicas transmitidas através dos meios de transmissão. As formas comuns de meios legíveis por computador incluem, por exemplo, um disquete, um disco flexível, disco rígido, fita magnética, qualquer outro meio magnético, um CD-ROM, CD-RW, DVD, qualquer outro meio de comunicação ótica, cartões perfurados, fita de papel, folhas com as etiquetas ópticas, em qualquer outro suporte físico com os padrões de orifícios ou outros indícios opticamente reconhecíveis, uma RAM, uma FROM, uma EPROM, uma FLASH-EPROM, qualquer outro chip de memória ou cartucho, uma onda portadora ou qualquer outro meio a partir do qual um computador pode ler. O termo meio de armazenamento legível por computador é aqui utilizado para se referir a qualquer meio legível por computador, exceto meios de transmissão.
A lógica codificada em um ou mais meios de comunicação tangíveis inclui uma ou ambas instruções do processador de um meio de armazenamento legível por computador e hardware para fins especiais, tais como ASIC 720 .
O link de rede 778 normalmente fornece comunicação de informações utilizando meios de transmissão através de uma ou mais redes com outros dispositivos que usam ou processam a informação. Por exemplo, a ligação de rede 778 pode fornecer uma conexão através da rede local 780 para um computador host 782 ou ao equipamento 784 operado por um provedor de serviços de Internet (ISP) . O equipamento ISP 784, por sua vez, fornece serviços de comunicação de dados através da rede de comunicação mundial pública de comutação de pacotes de redes agora comumente referida como a Internet 790.
Um computador chamado de servidor hospedeiro 772 ligado à Internet recebe um processo que proporciona um serviço em resposta à informação recebida através da Internet. Por exemplo, o servidor host 772 hospeda um processo que fornece informações a representação de dados de vídeo para apresentação na tela 714. É contemplado que os componentes do sistema 700 podem ser implementados em diversas configurações dentro de outros sistemas de computadores, por exemplo, hospedeiro 782 e servidor 772.
Pelo menos algumas concretizações da invenção estão relacionadas com o uso do sistema de computador 7 00 para implementação de algumas ou todas as técnicas aqui descritas. De acordo com uma concretização da invenção, essas técnicas são realizadas pelo sistema de computador 700 em resposta ao processador 702 executar uma ou mais sequências de uma ou mais instruções contidas na memória do processador 704. Tais instruções, também chamadas de instruções de computador, software e código de programa, podem ser lidas na memória 704 de outro meio legível por computador, tal como dispositivo de armazenamento 708 ou link de rede 778. A execução das sequências de instruções contidas na memória 704 faz com que processador 702 execute uma ou mais das etapas do método aqui descrito. Em concretizações alternativas, o hardware, tal como o ASIC 720, pode ser utilizado em lugar de ou em combinação com software para implementar a invenção. Assim, concretizações da presente invenção não estão limitadas a qualquer combinação específica de hardware e software, a menos que de outro modo expressamente indicado neste documento.
Os sinais transmitidos através do link de rede 778 e outras redes através de interface de comunicação 770 veiculam a informação do sistema de computador 700. O sistema de computador 700 pode enviar e receber informações, incluindo o código do programa, através das redes 780, 790 entre outras, através do link de rede 778 e da interface de comunicação 770. Em um exemplo usando a Internet 790, um servidor host 772 transmite o código do programa para uma determinada aplicação, solicitado por uma mensagem enviada do computador 700, através da Internet 790, equipamento ISP 784, rede local 780 e interface de comunicação 770. O código recebido pode ser executado pelo processador 702, uma vez que é recebido, ou pode ser armazenado na memória 704 ou no dispositivo de armazenamento 708 ou outro armazenamento não- volátil para execução posterior ou ambas. Deste modo, o sistema de computador 700 pode obter o código de programa de aplicação, sob a forma de sinais através de uma onda portadora.
Várias formas de meios legíveis por computador podem estar envolvidas na execução de uma ou mais sequência de instruções ou de dados ou de ambos para um processador 702 para a execução. Por exemplo, as instruções e os dados podem, inicialmente, ser transportados em um disco magnético de um computador remoto como o hospedeiro 782. O computador remoto carrega as instruções e dados em sua memória dinâmica e envia as instruções e dados através de uma linha telefônica usando um modem. Um modem local para o sistema de computador 700 recebe as instruções e os dados na linha telefônica e utiliza um transmissor de infravermelho para converter as instruções e dados a um sinal de uma onda portadora de infravermelho que serve de ligação de rede 778. Um detector de infravermelho que serve como interface de comunicações 770 recebe as instruções e os dados transportados no sinal de infravermelho e coloca a informação que representa as instruções e dados no barramento 710. 0 barramento 710 carrega a informação para a memória 704 a partir do qual o processador 702 recupera e executa as instruções usando alguns dos dados enviados com as instruções. As instruções e os dados recebidos na memória 704 podem, opcionalmente, ser armazenados no dispositivo de armazenamento 708 quer antes quer após a execução pelo processador 702.
A Figura 8 ilustra um conjunto de chips ou chip 800 sobre o qual uma concretização da invenção pode ser implementada. 0 conjunto de chip 800 é programado para fazer a ponte de sessões de comunicação entre múltiplos dispositivos, conforme aqui descrito, e inclui, por exemplo, os componentes de processador e de memória descritos em relação à Figura 7 incorporados em um ou mais pacotes físicos (por exemplo, serradura). A título de exemplo, um pacote físico inclui um arranjo de um ou mais materiais, componentes e/ou fios de um conjunto estrutural (por exemplo, placa base) , para proporcionar uma ou mais características, tais como a resistência física, conservação do tamanho e/ou limitação de interação elétrica. Está contemplado que, em certas concretizações, o conjunto de chips 800 pode ser implementado em um único chip. Está ainda contemplado que, em certas concretizações, o conjunto de chips ou chip 800 pode ser implementado como um único "sistema em um chip". Está ainda contemplado que, em certas concretizações, um ASIC separado não seria utilizado, por exemplo, e que todas as funções relevantes, tal como aqui divulgadas devem ser executadas por um processador ou processadores. O conjunto de chip ou chip 800, ou uma respectiva porção, constitui um meio para a concretização de uma ou mais etapas de fornecimento de informação de navegação de interface de usuário associada com a disponibilidade de serviços. O conjunto de chip ou chip 800, ou uma respectiva porção, constitui um meio para a concretização de uma ou mais etapas para fazer ponte de sessões de comunicação entre múltiplos dispositivos.
Em uma concretização, o conjunto de chip ou chip 8 00 inclui um mecanismo de comunicação, tal como um barramento 801 para passar informação entre os componentes do conjunto de chips 800. Um processador 803 tem conectividade ao barramento 801 para execução de instruções e informação armazenada no processo, por exemplo, uma memória 805. O processador 803 pode incluir um ou mais núcleos de processamento em cada núcleo configurado para executar de forma independente. Um processador de múltiplos núcleos permite multiprocessamento dentro de um único pacote físico. Exemplos de um processador de múltiplos núcleos incluem dois, quatro, oito, ou um maior número de núcleos de processamento. Alternativamente ou adicionalmente, o processador 803 pode incluir um ou mais microprocessadores em conjunto configurados através do barramento 801 para permitir a execução de instruções, independente de pipelining e multithreading. O processador 803 pode também ser acompanhado por um ou mais componentes especializados para efetuar certas funções de processamento e tarefas, tais como um ou mais processadores de sinal digital (DSP) 807, ou um ou mais circuitos integrados específicos de aplicações (ASIC) 809. 0 DSP 807 é tipicamente configurado para processar os sinais do mundo real (por exemplo, som) em tempo real independentemente do processador 803. Da mesma forma, um ASIC 809 pode ser configurado para desempenhar funções especializadas que não são facilmente realizadas por um processador de propósito mais geral. Outros componentes especializados para auxiliar no desempenho das funções da invenção aqui descrita podem incluir uma ou mais arranjos de portas programáveis em campo (FPGA) (não mostrados), um ou mais controladores (não mostrados), ou um ou mais outros chips de computador para fins especiais.
Em uma concretização, o conjunto de chip ou chip 800 inclui apenas um ou mais processadores e algum software e/ou firmware de suporte e/ou em relação a e/ou para um ou mais processadores.
O processador 803 e respectivos componentes têm conectividade à memória 805 através do barramento 801. A memória 805 inclui tanto a memória dinâmica (por exemplo, RAM, disco magnético, disco óptico gravável, etc) e a memória estática (por exemplo, ROM, CD-ROM, etc) para o armazenamento de instruções executáveis que, quando executadas executam as etapas inventivas aqui descritas para fazer ponte de sessões de comunicação entre múltiplos dispositivos. A memória 805 também armazena os dados associados ou gerados pela execução das etapas inventivas.
A Figura 9 é um diagrama dos componentes exemplares de um terminal móvel (por exemplo, telefone celular) para as comunicações, o qual é capaz de operar no sistema da Figura 1, de acordo com uma concretização. Em algumas concretizações, o terminal móvel 900, ou uma respectiva porção, constitui um meio para a concretização de uma ou mais etapas de fazer ponte de sessão de comunicação entre múltiplos dispositivos. Geralmente, um receptor de rádio é geralmente definido em termos de características final frontal e extremidade posterior. O receptor final frontal abrange todos os circuitos de frequências de rádio (RF) , enquanto o final posterior abrange todos os circuitos de processamento de banda base. Tal como utilizado no presente pedido, o termo "circuito" refere-se tanto: (1) implementações somente em hardware (tais como as implementações em circuito apenas analógico e/ou digital) , e (2) as combinações de circuitos e software (e/ou firmware) (tais como, se for o caso para o contexto em particular, para uma combinação de processador (s), incluindo o processador de sinal digital (s) , software e memória (s) que trabalham em conjunto para fazer com que um dispositivo, tal como um telefone móvel ou servidor, execute várias funções). Esta definição de "circuito" aplica-se a todos os usos deste termo neste pedido, inclusive em qualquer reivindicação. Como um exemplo adicional, tal como utilizado no presente pedido e, se aplicável ao contexto particular, o termo "circuito" abrange igualmente uma implementação de apenas um processador (ou vários processadores) e seu software (ou seus) acompanhante/ou firmware. O termo "circuito" também abrangeria se aplicável ao contexto particular, por exemplo, um circuito integrado de banda base ou circuito integrado processador de aplicativos em um telefone celular ou um circuito integrado semelhante em um dispositivo de rede celular ou outros dispositivos de rede.
Pertinentes componentes internos do telefone incluem uma unidade de controle principal (MCU) 903, um processador de sinal digital (DSP) 905, e uma unidade de receptor / transmissor, incluindo uma unidade de controle de ganho do microfone e um alto-falante da unidade de controle de ganho. Uma unidade de tela principal 907 fornece uma exibição para o usuário em apoio de diversos aplicativos e funções de terminais móveis que realizam ou apoiam as etapas de transferência de dados via etiquetas de memória por RF. 0 visor 907 inclui um circuito de exibição configurado para exibir pelo menos uma porção de uma interface de usuário do terminal móvel (por exemplo, telefone celular). Além disso, o visor 907 e circuito de exibição são configurados para facilitar o controle de usuário de, pelo menos, algumas das funções do terminal móvel. Um circuito de função de áudio 909 inclui um amplificador de microfone 911 que amplifica o sinal de saída de voz do microfone 911. A saída do sinal amplificado a partir do microfone 99 é alimentada a um codificador / decodificador (CODEC) 913.
A seção de rádio 915 amplifica e converte energia e frequência de modo a comunicar com uma estação de base, que está incluído em um sistema de comunicação móvel, através da antena 917. 0 amplificador de potência (PA) 919 e os circuitos de transmissor/ de modulação são operacionalmente sensíveis ao MCU 903, com uma saída do PA 919 acoplada ao duplexador 921 ou circulador ou comutador da antena, tal como é conhecido na técnica. 0 PA 919 também acopla-se a uma interface de bateria e unidade de controle de energia 920.
Em utilização, um usuário do terminal móvel 901 fala para o microfone 911 e a sua voz, juntamente com qualquer ruído de fundo detectado é convertida em uma tensão analógica. A tensão analógica é, então, convertida em um sinal digital por meio do conversor analógico-digital (ADC) 923. A unidade de controle 903 roteia o sinal digital para o DSP 905 para processamento no mesmo, tal como a codificação de voz, codificação de canal, criptografia e interfolheamento. Em uma concretização, os sinais de voz processados são codificados, por unidades não mostradas separadamente, utilizando-se um protocolo de transmissão celular, tal como a evolução global (EDGE), General Packet Radio Service (GPRS), sistema global para comunicações móveis (GSM), subsistema multimídia de protocolo de Internet (IMS), sistema de telecomunicações móveis universal (UMTS), etc, bem como qualquer outro meio sem fio adequado, por exemplo, o acesso por microondas (WiMAX), redes de Long Term Evolution (LTE), acesso múltiplo por divisão de código (CDMA), múltiplo acesso de banda larga divisão de código (WCDMA), Wireless Fidelity (WiFi), satélite, etc.
Os sinais codificados são, em seguida, encaminhados para um equalizador 925 para a compensação de quaisquer deficiências dependentes da frequência que ocorrem durante a transmissão pelo ar, tais como distorção de amplitude e fase. Depois da equalização do fluxo de bits, o modulador 927 combina o sinal com um sinal por RF gerado na interface por RF 929. O modulador 927 gera uma onda senoidal através da modulação de frequência ou de fase. A fim de preparar o sinal de transmissão, um conversor para cima 931 combina a onda senoidal da saída do modulador de 927 com uma outra onda senoidal gerada por um sintetizador 933 para conseguir a frequência de transmissão desejada. 0 sinal é, então, enviado através de um PA 919 para aumentar o sinal para um nível de potência apropriado. Em sistemas práticos, o PA 919 atua como um amplificador de ganho variável, cujo ganho é controlado pelo DSP 905 a partir da informação recebida a partir de uma estação base da rede. 0 sinal é, então, filtrado no interior do duplexador 921 e, opcionalmente, enviado para uma antena 935 para coincidir com impedâncias para proporcionar a transferência de potência máxima. Finalmente, o sinal é transmitido através da antena 917 para uma estação de base local. Um controle de ganho automático (AGC) pode ser fornecido para controlar o ganho dos estágios finais do receptor. Os sinais podem ser encaminhados de lá para um telefone remoto que pode ser um outro telefone celular, telefone celular ou uma linha terra conectada a uma rede de telefonia comutada pública (PSTN), ou outras redes de telefonia.
Os sinais de voz transmitidos para o terminal móvel 901 são recebidos através da antena 917 e imediatamente amplificados por um amplificador de baixo ruído (LNA) 937. Um conversor para baixo 939 diminui a frequência da portadora, enquanto o demodulador 941 tira o RF deixando apenas um fluxo de bits digital. O sinal passa, então, através do equalizador 925 e é processado pelo DSP 905. Um conversor digital para analógico (DAC) 143 converte o sinal e a saída resultante é transmitida para o usuário através do alto-falante 945, todos sob o controle de uma unidade de controle principal (MCU) 903, que pode ser implementada como uma unidade de processamento central (CPU) (não mostrada).
A MCU 903 recebe sinais diversos, incluindo os sinais de entrada a partir do teclado 947. 0 teclado 947 e/ou o MCU 903, em combinação com componentes de outras entradas de usuários (por exemplo, o microfone 99) compreendem um circuito de interface de usuário para a gestão de entrada do usuário. O MCU 903 executa um software de interface do usuário para facilitar o controle de usuário de, pelo menos, algumas das funções do terminal móvel 901 para fazer ponte de sessões de comunicação entre múltiplos dispositivos. O MCU 903 também fornece um comando de visualização e um comando de mudança para o visor 907 e para o controlador de comutação de saída de voz, respectivamente. Além disso, o MCU 903 troca informações com o DSP 905 e pode acessar um cartão SIM 949 opcionalmente incorporado e memória 951. Além disso, o MCU 903 executa várias funções de controle requeridas para o terminal. O DSP 905 pode, dependendo da aplicação, executar qualquer uma de uma variedade de funções convencionais de processamento digital de sinais de voz. Além disso, o DSP 905 determina o nível de ruído de fundo do ambiente local, a partir dos sinais detectados pelo microfone 911 e define o ganho do microfone 911 para um nível selecionado para compensar a tendência natural do usuário do terminal móvel 901.
O CODEC 913 inclui o ADC 923 e DAC 943. A memória 951 armazena vários dados, incluindo dados de tom vindos de chamada e é capaz de armazenar outros dados, incluindo dados de música recebidos através, por exemplo, a Internet global. O módulo de software pode residir na memória RAM, memória flash, registros, ou qualquer outra forma de meio de armazenamento de permissão de escrita conhecida na técnica. O dispositivo de memória 951 pode ser, mas não se limitando a, uma única memória, CD, DVD, ROM, RAM, EEPROM, armazenamento óptico, ou qualquer outro meio de armazenamento não volátil, capaz de armazenar dados digitais.
O cartão SIM opcionalmente incorporado 949 traz, por exemplo, informações importantes, tais como o número de telefone celular, a operadora que fornece detalhes do serviço, assinatura e informações de segurança. 0 cartão SIM 949 serve principalmente para identificar o terminal móvel 901 sobre uma rede de rádio. O cartão 94 9 também contém uma memória para armazenar um registro de número pessoal de telefone, mensagens de texto e configurações específicas de usuários de terminais móveis.
Embora a invenção tenha sido descrita em conexão com um número de concretizações e implementações, a invenção não é tão limitada, mas abrange diversas modificações óbvias e arranjos equivalentes, que caem dentro do escopo das reivindicações anexas. Embora as características da invenção sejam expressas em determinadas combinações entre as reivindicações, é contemplado que estas características podem ser organizadas em qualquer combinação e ordem.

Claims (23)

1. Método compreendendo as etapas de:determinar para receber um pedido para o estabe-lecimento de uma sessão de comunicação entre um primeiro dis-positivo e um segundo dispositivo, em que o pedido especifica, pelo menos em parte, um terceiro dispositivo com um primeiro link estático para o primeiro dispositivo e um segundo link estático para o segundo dispositivo, edeterminar para estabelecer um link temporário en-tre o primeiro dispositivo e o segundo dispositivo através do primeiro link estático e o segundo link estático para a rea-lização da sessão de comunicação,O método caracterizado pelo fato de que ainda com-preende as etapas de:determinar para apresentar uma interface gráfica de usuário, incluindo, pelo menos em parte, uma ou mais repre-sentações de pelo menos um do primeiro dispositivo, o segundo dispositivo, e o terceiro dispositivo, edeterminar um ou mais movimentos de uma ou mais representações,em que o um ou mais movimentos inicia o pedido,em que o um ou mais movimentos incluírem mover, pelo menos, uma das uma ou mais representações para indicar, pelo menos, uma sobreposição parcial com uma outra da uma ou mais representações.
2. Método, de acordo com a reivindicação 1, carac-terizado pelo fato de que ainda compreende as etapas de:determinar se, pelo menos, um do primeiro dispo-sitivo e o segundo dispositivo aceita a sessão de comunicação sobre o link temporário, edeterminar para converter o link temporário para um terceiro link estático entre o primeiro dispositivo e o segundo dispositivo.
3. Método, de acordo com a reivindicação 2, carac-terizado pelo fato de que ainda compreende as etapas de:determinar para gerar um ou mais identificadores temporários associados a pelo menos um do primeiro dispositivo e o segundo dispositivo, edeterminar para identificar o link temporário com base, pelo menos em parte, um ou mais identificadores tempo-rários.
4. Método, de acordo com a reivindicação 2 ou 3, caracterizado pelo fato de que ainda compreende a etapa de:determinar para trocar um primeiro identificador estático associado com o primeiro dispositivo e um segundoidentificador estático associado ao segundo dispositivo entre o primeiro dispositivo e o segundo dispositivo,em que a troca inicia ações que resulta na formaçãodo terceiro link estático.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que ainda compreende a etapa de:determinar para identificar o link temporário com base, pelo menos em parte, em um terceiro identificador está-tico associado com o terceiro dispositivo.
6. Método, de acordo com qualquer uma das reivin-dicações 1 a 5, caracterizado pelo fato de que ainda compreende a etapa de:determinar para consultar urna ou mais listas de contato associadas com pelo menos um do primeiro dispositivo e o segundo dispositivo, pelo menos, um do primeiro link estático e a segundo link estático, e selecionar o terceiro dispositivo com base, pelo menos em parte, na consulta.
7. Método, de acordo com qualquer uma das reivin-dicações 1 a 5, caracterizado pelo fato de que ainda compreende as etapas de: determinar para recuperar uma ou mais listas de contatos associados com, pelo menos, um do primeiro disposi-tivo, segundo dispositivo, e terceiro dispositivo;determinar para armazenar uma ou mais listas decontato em uma base de dados, edeterminar para consultar o banco de dados paraselecionar o terceiro dispositivo.
8. Método, de acordo com qualquer uma das reivin-dicações 1 a 7, caracterizado pelo fato de que a sessão de comunicação inclui uma chamada de voz, um correio eletrônico, uma mensagem instantânea, uma mensagem de texto, uma mensagem multimídia, uma mensagem de redes sociais, uma sessão de bate- papo, uma chamada de vídeo, ou uma combinação destas.
9. Aparelho, caracterizado pelo fato de que compreende:pelo menos um processador, epelo menos uma memória, incluindo código de pro-grama de computador de um ou mais programas, a pelo menos uma memória e o código de programa de computador configurados para, com o pelo menos um processador, fazer com que o aparelho efetue, pelo menos, o seguinte,determinar para receber um pedido de estabeleci-mento de uma sessão de comunicação entre um primeiro disposi-tivo e um segundo dispositivo, em que o pedido especifica, pelo menos em parte, um terceiro dispositivo com um primeiro link estático para o primeiro dispositivo e um segundo link estático para o segundo dispositivo; edeterminar para estabelecer um link temporário en-tre o primeiro dispositivo e o segundo dispositivo através da primeiro link estático e o segundo link estático para a rea-lização da sessão de comunicação.
10. Aparelho, de acordo com a reivindicação 9, caracterizado pelo fato de que o aparelho é ainda causado para: determinar se, pelo menos, um do primeiro dispo-sitivo e o segundo dispositivo aceita a sessão de comunicação sobre o link temporário, edeterminar para converter o link temporário para um terceiro link estático entre o primeiro dispositivo e o segundo dispositivo.
11. Aparelho, de acordo com a reivindicação 10, caracterizado pelo fato de que o aparelho é ainda causado para: determinar para gerar um ou mais identificadores temporários associados a pelo menos um do primeiro dispositivo e o segundo dispositivo, edeterminar para identificar o link temporário com base, pelo menos em parte, em um ou mais identificadores tem-porários.
12. Aparelho, de acordo com a reivindicação 10 ou 11, caracterizado pelo fato de que o aparelho é ainda causado para:determinar a troca de um primeiro identificador estático associado com o primeiro dispositivo e um segundo identificador estático associado ao segundo dispositivo entre o primeiro dispositivo e o segundo dispositivo,em que a troca inicia ações que resultam na for-mação do terceiro link estático.
13. Aparelho, de acordo com qualquer uma das rei-vindicações 9 a 12, caracterizado pelo fato de que o aparelho é ainda causado para:determinar para identificar o link temporário com base, pelo menos em parte, em um terceiro identificador está-tico associado ao terceiro dispositivo.
14. Aparelho, de acordo com qualquer uma das rei-vindicações 9 a 13, caracterizado pelo fato de que o aparelho é ainda causado para: determinar para apresentar uma interface gráfica de usuário, incluindo, pelo menos em parte, uma ou mais repre-sentações de pelo menos um do primeiro dispositivo, o segundo dispositivo, e o terceiro dispositivo, edeterminar um ou mais movimentos de uma ou mais representações,em que os um ou mais movimentos inicia o pedido.
15. Aparelho, de acordo com a reivindicação 14, caracterizado pelo fato de que o um ou mais movimentos incluem mover, pelo menos, uma das uma ou mais representações para indicar, pelo menos, uma sobreposição parcial com uma outra da uma ou mais representações.
16. Aparelho, de acordo com qualquer uma das rei-vindicações 9 a 15, caracterizado pelo fato de que o aparelho é ainda causado para:determinar para consultar uma ou mais listas de contato associadas com pelo menos um do primeiro dispositivo e o segundo dispositivo, pelo menos, um do primeiro link estático e o segundo link estático, eselecionar o terceiro dispositivo com base, pelomenos em parte, na consulta.
17. Aparelho, de acordo com qualquer uma das rei-vindicações 9 a 15, caracterizado pelo fato de que o aparelho é ainda causado para:determinar para recuperar uma ou mais listas de contato associadas com pelo menos um do primeiro dispositivo, o segundo dispositivo, e o terceiro dispositivo;determinar para armazenar uma ou mais listas decontato em uma base de dados; edeterminar para consultar o banco de dados paraselecionar o terceiro dispositivo.
18. Aparelho, de acordo com qualquer uma das rei-vindicações 9 a 17, caracterizado pelo fato de que a sessão de comunicação inclui uma chamada de voz, um correio eletrônico, uma mensagem instantânea, uma mensagem de texto, uma mensagem multimídia, uma sessão de comunicação de redes sociais, uma sessão de bate-papo, uma chamada de vídeo, ou uma combinação destas.
19. Aparelho, de acordo com qualquer uma das rei-vindicações 9 a 18, caracterizado pelo fato de que o disposi-tivo é um telefone móvel que ainda compreende:circuitos de interface de usuário e software de interface de usuário configurados para facilitar o controle de usuário de pelo menos algumas funções do telefone celular através do uso de um visor e configurado para responder à entrada do usuário, eum visor e circuito de exibição configurados para apresentar pelo menos uma porção de uma interface de usuário do telefone celular, o visor e o circuito de exibição configurados para facilitar o controle de usuário de, pelo menos, algumas das funções do telefone móvel.
20. Meio de armazenamento legível por computador, caracterizado pelo fato de que transporta uma ou mais sequên-cias de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que um aparelho realize pelo menos um método, conforme definido em qualquer uma das reivin-dicações 1 a 8.
21. Aparelho, caracterizado pelo fato de que com-preende meios para a realização de um método conforme definido em qualquer uma das reivindicações 1 a 8.
22. Aparelho, de acordo com a reivindicação 21, caracterizado pelo fato de que o dispositivo é um telefone móvel que ainda compreende:circuito de interface de usuário e software de interface de usuário configurado para facilitar o controle de usuário de pelo menos algumas funções do telefone celular através do uso de um display e configurado para responder à entrada do usuário, eum visor e circuito de exibição configurado paraapresentar pelo menos uma porção de uma interface de usuário5 do telefone celular, o visor e o circuito de exibição e configurado para facilitar o controle de usuário de, pelo menos, algumas das funções do telefone móvel.
23. Método, caracterizado pelo fato de que compreende facilitar o acesso a pelo menos uma interface configurada 10 para permitir o acesso a pelo menos um serviço, o pelo menosum serviço configurado para executar um método, conforme definido em qualquer uma das reivindicações 1 a 8 .
BR112012030267-1A 2010-06-21 2010-06-21 Método, aparelho, meio de armazenanento legível por computador para fazer ponte de sessões de comunicação BR112012030267B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2010/074127 WO2011160273A1 (en) 2010-06-21 2010-06-21 Method and apparatus for bridging communication sessions

Publications (3)

Publication Number Publication Date
BR112012030267A2 BR112012030267A2 (pt) 2017-06-20
BR112012030267A8 BR112012030267A8 (pt) 2018-08-14
BR112012030267B1 true BR112012030267B1 (pt) 2021-06-01

Family

ID=45370815

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112012030267-1A BR112012030267B1 (pt) 2010-06-21 2010-06-21 Método, aparelho, meio de armazenanento legível por computador para fazer ponte de sessões de comunicação

Country Status (5)

Country Link
US (1) US9407702B2 (pt)
EP (1) EP2583438B1 (pt)
CN (1) CN102948129B (pt)
BR (1) BR112012030267B1 (pt)
WO (1) WO2011160273A1 (pt)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130227149A1 (en) * 2012-02-24 2013-08-29 Intel Mobile Communications GmbH Method for providing a communication session and device
US10187476B2 (en) * 2013-06-17 2019-01-22 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus for bridging communication sessions
KR20150009072A (ko) * 2013-07-12 2015-01-26 삼성전자주식회사 동작모드 제어 방법 및 그 방법을 처리하는 전자 장치
CN103491257B (zh) * 2013-09-29 2015-09-23 惠州Tcl移动通信有限公司 一种在通话过程中发送联系人信息的方法及系统
WO2015139026A2 (en) 2014-03-14 2015-09-17 Go Tenna Inc. System and method for digital communication between computing devices
US10630625B2 (en) * 2014-07-13 2020-04-21 Snap Inc. Media object distribution
KR102257474B1 (ko) * 2014-11-04 2021-05-31 삼성전자 주식회사 전자 장치의 데이터 송수신 방법 및 이를 사용하는 전자 장치
US20160197897A1 (en) * 2015-01-07 2016-07-07 Cyph, Inc. Cross-client communication method
US9954837B2 (en) 2015-01-07 2018-04-24 Cyph, Inc. Method of multi-factor authenication during encrypted communications
US10813169B2 (en) 2018-03-22 2020-10-20 GoTenna, Inc. Mesh network deployment kit
US10554820B2 (en) * 2018-06-26 2020-02-04 Microsoft Technology Licensing, Llc Route an emergency call over VoIP client to cellular device
US20200128050A1 (en) * 2018-10-18 2020-04-23 Avaya Inc. Context based communication session bridging
CN111817844B (zh) * 2020-07-20 2021-06-25 西安电子科技大学 一种应急场景下的双链路无线自组网及安全防御方法
CN112367714B (zh) * 2020-10-23 2023-04-07 北京声智科技有限公司 一种会话连接的建立方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030115203A1 (en) * 2001-12-19 2003-06-19 Wendell Brown Subscriber data page for augmenting a subscriber connection with another party
US7808906B2 (en) * 2004-07-23 2010-10-05 Citrix Systems, Inc. Systems and methods for communicating a lossy protocol via a lossless protocol using false acknowledgements
US20080019522A1 (en) * 2006-06-21 2008-01-24 Motorola, Inc. Method For Managing A Communication Session in a Communication Network
US7676229B2 (en) * 2006-08-31 2010-03-09 Syniverse Technologies, Inc. Cellular-to-VoIP call establishment systems, methods, devices, and computer software
CN100556005C (zh) * 2007-03-30 2009-10-28 腾讯科技(深圳)有限公司 一种即时通信会话转接方法及系统
CN101106609A (zh) * 2007-07-10 2008-01-16 迈普(四川)通信技术有限公司 软电话呼叫转接方法
CN101150629A (zh) * 2007-10-22 2008-03-26 孙国仲 通讯录管理系统及方法
US8146004B2 (en) * 2008-02-01 2012-03-27 At&T Intellectual Property I, L.P. Graphical user interface to facilitate selection of contacts and file attachments for electronic messaging
FR2934451B1 (fr) * 2008-07-25 2010-09-10 Alcatel Lucent Etablissement et controle d'appel par equipement tiers.
CN101504673B (zh) * 2009-03-24 2011-09-07 阿里巴巴集团控股有限公司 一种识别疑似仿冒网站的方法与系统
JP5620134B2 (ja) * 2009-03-30 2014-11-05 アバイア インク. グラフィカル表示を用いて通信セッションの信頼関係を管理するシステムと方法。

Also Published As

Publication number Publication date
EP2583438A1 (en) 2013-04-24
CN102948129A (zh) 2013-02-27
WO2011160273A1 (en) 2011-12-29
CN102948129B (zh) 2016-05-11
BR112012030267A8 (pt) 2018-08-14
EP2583438B1 (en) 2015-08-26
US9407702B2 (en) 2016-08-02
BR112012030267A2 (pt) 2017-06-20
US20140115170A1 (en) 2014-04-24
EP2583438A4 (en) 2014-04-30

Similar Documents

Publication Publication Date Title
BR112012030267B1 (pt) Método, aparelho, meio de armazenanento legível por computador para fazer ponte de sessões de comunicação
US10892955B1 (en) Management of a network via a GUI of user relationships
US10616730B2 (en) Method and apparatus for communication session-based initiation of networked terminals
US9117203B2 (en) Method and apparatus for augmented social networking messaging
US9112928B2 (en) Method and apparatus for automatic loading of applications
TWI501610B (zh) 用以提供分享服務之方法及裝置
US9113319B2 (en) Method of generating a virtual private community and network using the virtual private community
US9645966B2 (en) Synchronizing handles for user accounts across multiple electronic devices
US9015228B2 (en) Method and apparatus for providing proxy-based sharing of access histories
US20140173125A1 (en) Systems and methods for transferring a session between devices in an on-demand computing environment
DE102015209220A1 (de) SMS Proxying
US20110258430A1 (en) Method and apparatus for applying execution context criteria for execution context sharing
US9781125B2 (en) Enrollment in a device-to-device network
US20100049788A1 (en) Media sharing using local application
US10187476B2 (en) Method and apparatus for bridging communication sessions
US10404764B2 (en) Method and apparatus for constructing latent social network models
US9521106B2 (en) Method, system and device for obtaining potential friends information
US20230013744A1 (en) Connection of network members
US9104846B2 (en) Access provisioning via communication applications
CN114930790A (zh) 用于增加端点设备能力的端点设备之间的系统服务共享

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: NOKIA TECHNOLOGIES OY (FI)

B25A Requested transfer of rights approved

Owner name: BEIJING XIAOMI MOBILE SOFTWARE CO., LTD. (CN)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B15K Others concerning applications: alteration of classification

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

Ipc: H04L 29/08 (1990.01), H04W 4/60 (2018.01)

B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 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 21/06/2010, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF