BR112021009159A2 - servidor de emulação do terminal de usuário, dispositivo de usuário de entrada e/ou saída, e, produto de programa de computador - Google Patents
servidor de emulação do terminal de usuário, dispositivo de usuário de entrada e/ou saída, e, produto de programa de computador Download PDFInfo
- Publication number
- BR112021009159A2 BR112021009159A2 BR112021009159-9A BR112021009159A BR112021009159A2 BR 112021009159 A2 BR112021009159 A2 BR 112021009159A2 BR 112021009159 A BR112021009159 A BR 112021009159A BR 112021009159 A2 BR112021009159 A2 BR 112021009159A2
- Authority
- BR
- Brazil
- Prior art keywords
- user
- devices
- user terminal
- label
- communication
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2807—Exchanging configuration information on appliance services in a home automation network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2816—Controlling appliance services of a home automation network by calling their functionalities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1059—End-user terminal functionalities specially adapted for real-time communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1073—Registration or de-registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/59—Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/023—Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L2012/2847—Home automation networks characterised by the type of home appliance used
- H04L2012/2849—Audio/video appliances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
Abstract
SERVIDOR DE EMULAÇÃO DO TERMINAL DE USUÁRIO, DISPOSITIVO DE USUÁRIO DE ENTRADA E/OU SAÍDA, E, MEIO DE ARMAZENAMENTO NÃO TRANSITÓRIO LEGÍVEL POR COMPUTADOR.
É provido um servidor de emulação do terminal de usuário (100) que provê funcionalidade operacional de um terminal de usuário usando um conjunto de dispositivos de usuário de I/O em rede (130) que são determinados como proximamente localizados em relação a um usuário (Rótulo de Usuário nº 1) e para ter capacidades de interface de usuário que são combináveis para prover ao usuário (Rótulo de Usuário nº 1) a capacidade de receber ou iniciar um serviço de comunicação (140) com um outro terminal de usuário através de uma entidade de rede (150). As operações para emular um terminal de usuário podem ser alternativamente realizadas por um dispositivo de usuário de I/O (130) que provê serviços de comunicação (140) usando outros dispositivos de usuário de I/O (130).
Description
1 / 47 SERVIDOR DE EMULAÇÃO DO TERMINAL DE USUÁRIO, DISPOSITIVO DE USUÁRIO DE ENTRADA E/OU SAÍDA, E, MEIO DE
COMPUTADOR Campo Técnico
[001] A presente descrição se refere a um servidor de emulação do terminal de usuário para provisão de serviços de comunicação usando conjuntos de dispositivos de usuário de entrada e/ou saída (I/O), a um dispositivo de usuário de I/O que é configurado como um dispositivo de usuário de I/O de controle que provê serviços de comunicação usando um conjunto de dispositivos de usuário de I/O, e a correspondentes produtos de programa de computador. Fundamentos da Invenção
[002] O mercado para terminais de usuário é acionado pela busca para prover aos usuários comunicação crescentemente avançada e outras características operacionais nas restrições de um fator de forma de mão portátil. As exigências de desenvolvimento para o terminal de usuário são crescentemente complexas, já que os desenhistas buscam integrar uma maior variedade de interfaces de usuário e avançadas características operacionais no fator de forma de mão portátil. Avanços nas características operacionais têm exigido circuitos de processamento mais altamente integrados e mais rápidos com maiores densidades de circuito, o que fica mais difícil sob restrições nos custos e consumo de energia.
[003] Esta abordagem com tudo incluído rica em recursos para o desenvolvimento do terminal de usuário não satisfaz toda a miríade de diferentes desejos esperados por consumidores que buscam soluções para a variedade de serviços de comunicação em rápida expansão. Além do mais, as expectativas sempre conectadas da sociedade atual obrigam os usuários a manterem vigilantemente seus terminais de usuário ao alcance ou se
2 / 47 arriscarem a serem incapazes de receber ou iniciar em tempo hábil os serviços de comunicação. Sumário
[004] Várias modalidades aqui descritas são direcionadas à provisão de uma abordagem com base em servidor centralizado para emular um terminal de usuário usando um conjunto de dispositivos de usuário de entrada e/ou saída (I/O) em rede que são determinados como proximamente localizados em relação a um usuário e para ter capacidades da interface de usuário (UI) que são combináveis para prover a um usuário a capacidade de receber e/ou iniciar um serviço de comunicação com um outro terminal de usuário através de uma entidade de rede. Algumas outras modalidades são direcionadas a um dos dispositivos de usuário de I/O (referidos como um dispositivo de usuário de I/O de controle) que emula um terminal de usuário durante o uso de um conjunto de outros dispositivos de usuário de I/O em rede que são determinados como proximamente localizados em relação a um usuário e para ter capacidades de UI que são combináveis para prover a um usuário a capacidade de receber e/ou iniciar um serviço de comunicação com um outro terminal de usuário através de uma entidade de rede.
[005] Algumas modalidades são direcionadas a um servidor de emulação do terminal de usuário para provisão de serviços de comunicação usando conjuntos de dispositivos de usuário de I/O. O servidor de emulação do terminal de usuário realiza operações para manter uma base de dados que identifica endereços de rede de dispositivos de usuário de I/O e identifica adicionalmente capacidades de UI dos dispositivos de usuário de I/O, com base no conteúdo das mensagens de registro recebidas. As operações registram um endereço de rede de uma aplicação de emulação do terminal de usuário e uma identidade de um usuário com uma entidade de rede que provê serviços de comunicação. A aplicação de emulação do terminal de usuário é executada pelo servidor de emulação do terminal de usuário. As operações
3 / 47 recebem uma solicitação de comunicação a partir da entidade de rede para estabelecer um serviço de comunicação entre o usuário e um terminal de usuário solicitante. Responsivo à solicitação de comunicação, operações adicionais podem identificar um conjunto de dispositivos de usuário de I/O dentre os dispositivos de usuário de I/O identificados pela base de dados que são determinados como proximamente localizados em relação a um local do usuário e são adicionalmente determinados, com base nas capacidades de UI identificadas pela base de dados para o conjunto de dispositivos de usuário de I/O e com base no conteúdo da solicitação de comunicação, para satisfazer uma regra de capacidade combinada para ser combinável para prover uma interface de usuário de I/O combinada para o usuário para fazer interface com a aplicação de emulação do terminal de usuário para prover o serviço de comunicação.
[006] Além do mais, com base na determinação de que o conjunto de dispositivos de usuário de I/O satisfaz a regra de capacidade combinada, as operações proveem sessões de comunicação entre a aplicação de emulação do terminal de usuário e os dispositivos de usuário de I/O no conjunto e entre a aplicação de emulação do terminal de usuário e o terminal de usuário solicitante por meio da entidade de rede, e roteiam tráfego de comunicação que é recebido a partir de pelo menos um dos dispositivos de usuário de I/O no conjunto na direção do terminal de usuário solicitante. Para cada tipo de dados que é recebido como tráfego de comunicação a partir do terminal de usuário solicitante, as operações selecionam um dos dispositivos de usuário de I/O a partir do conjunto de dispositivos de usuário de I/O com base em características combinadas do tipo de dados em relação às capacidades de UI identificadas pela base de dados para o um dos dispositivos de usuário de I/O e, então, roteiam os dados do tipo de dados na direção do endereço de rede daquele selecionado dentre os dispositivos de usuário de I/O.
[007] Algumas vantagens em potencial destas modalidades incluem
4 / 47 que um usuário possa receber e iniciar serviços de comunicação sem a necessidade de um tradicional terminal de usuário com tudo incluído rico em recursos. O servidor de emulação do terminal de usuário pode combinar adaptativamente as capacidades de UI disponíveis dos dispositivos de usuário de I/O que estão próximos de um usuário para tentar prover um serviço de comunicação. Os dispositivos de usuário de I/O podem incluir, por exemplo, alto-falantes, microfones, dispositivos de exibição, teclados, outra interface de entrada e/ou saída de usuário de dispositivos de usuário com capacidade sem fio (por exemplo, Bluetooth, WiFi, LiFi de comunicação por luz, e/ou celular), etc., que estão se tornando ubíquos em quase todo lugar de acordo com a revolução da Internet das Coisas (IoT). O servidor de emulação do terminal de usuário pode responder dinamicamente a uma solicitação de comunicação de entrada direcionada para o usuário ou uma solicitação de comunicação de saída proveniente do usuário pela comunicação operacional com dispositivos de usuário de I/O disponíveis que estão próximos de um usuário para formar uma interface de usuário combinada através da qual uma aplicação de emulação do terminal de usuário executada pelo servidor provê para prover funcionalidade do terminal de usuário para um serviço de comunicação. A abordagem com base em servidor pode prover serviços de comunicação adaptáveis de baixo custo para usuários.
[008] Algumas outras modalidades aqui descritas são direcionadas para um dispositivo de usuário de I/O de controle que realiza pelo menos algumas das operações do servidor de emulação do terminal de usuário exposto.
[009] Em algumas modalidades, um dispositivo de usuário de I/O dentre uma pluralidade dos dispositivos de usuário de I/O é configurado como um dispositivo de usuário de I/O de controle que provê serviços de comunicação usando pelo menos um dos dispositivos de usuário de I/O. O dispositivo de usuário de I/O de controle realiza operações para manter uma
5 / 47 base de dados que identifica endereços de rede dos dispositivos de usuário de I/O e identifica adicionalmente capacidades de UI dos dispositivos de usuário de I/O, com base no conteúdo das mensagens de registro recebidas. As operações registram um endereço de rede de uma aplicação de emulação do terminal de usuário e uma identidade de um usuário com uma entidade de rede que provê serviços de comunicação. A aplicação de emulação do terminal de usuário é executada pelo controle do dispositivo de usuário de I/O de entrada. As operações recebem uma solicitação de comunicação a partir da entidade de rede para estabelecer um serviço de comunicação entre o usuário e um terminal de usuário solicitante. Responsivo à solicitação de comunicação, as operações identificam um conjunto dos dispositivos de usuário de I/O dentre os dispositivos de usuário de I/O identificados pela base de dados que são determinados como proximamente localizados em relação a um local do usuário e são adicionalmente determinados, com base nas capacidades de UI identificadas pela base de dados para o conjunto dos dispositivos de usuário de I/O e com base no conteúdo da solicitação de comunicação, para satisfazer uma regra de capacidade combinada para ser combinável para prover uma interface de usuário de I/O combinada para o usuário para fazer interface com a aplicação de emulação do terminal de usuário para prover o serviço de comunicação.
[0010] Com base na determinação de que o conjunto dos dispositivos de usuário de I/O satisfaz a regra de capacidade combinada, as operações proveem sessões de comunicação entre a aplicação de emulação do terminal de usuário e cada um dos dispositivos de usuário de I/O no conjunto, e entre a aplicação de emulação do terminal de usuário e o terminal de usuário solicitante por meio da entidade de rede, e roteiam o tráfego de comunicação que é recebido a partir de pelo menos um dos dispositivos de usuário de I/O no conjunto na direção do terminal de usuário solicitante. Para cada tipo de dados que é recebido como tráfego de comunicação a partir do terminal de
6 / 47 usuário solicitante, as operações selecionam um dos dispositivos de usuário de I/O a partir do conjunto dos dispositivos de usuário de I/O com base em características combinadas do tipo de dados em relação às capacidades de UI identificadas pela base de dados para o um dos dispositivos de usuário de I/O e, então, roteiam os dados do tipo de dados na direção do endereço de rede daquele selecionado dentre os dispositivos de usuário de I/O.
[0011] Outros servidores, dispositivos de usuário de I/O, e correspondentes métodos e produtos de programa de computador de acordo com modalidades da matéria inventiva serão ou ficarão aparentes aos versados na técnica mediante revisão dos seguintes desenhos e descrição detalhada. Pretende-se que todos tais servidores, dispositivos de usuário de I/O, e correspondentes métodos e produtos de programa de computador adicionais sejam incluídos nesta descrição, estejam no escopo da presente matéria inventiva, e sejam protegidos pelas reivindicações anexas. Além do mais, pretende-se que todas as modalidades aqui descritas possam ser implementadas separadamente ou combinadas em qualquer maneira e/ou combinação. Breve Descrição dos Desenhos
[0012] Aspectos da presente descrição são ilustrados a título de exemplo e não são limitados pelos desenhos anexos. Nos desenhos: a figura 1 ilustra um sistema com um servidor de emulação do terminal de usuário que integra operacionalmente conjuntos dos dispositivos de usuário de I/O que estão proximamente localizados em relação a usuários para formar logicamente terminais de usuário virtualizados que proveem serviços de comunicação de acordo com algumas modalidades da presente descrição; a figura 2 é um diagrama de blocos que ilustra o servidor de emulação do terminal de usuário que comunica com vários elementos de um sistema celular para prover serviços de comunicação de acordo com algumas
7 / 47 modalidades da presente descrição; a figura 3 é um diagrama de blocos que ilustra o servidor de emulação do terminal de usuário que comunica de uma maneira diferente com vários elementos de um sistema celular para prover serviços de comunicação de acordo com algumas outras modalidades da presente descrição; as figuras 4-6 são fluxogramas combinados de operações e fluxos de dados relacionados entre Rótulos de Usuário, dispositivos de usuário de I/O, e o servidor de emulação do terminal de usuário de acordo com algumas modalidades da presente descrição; as figuras 7 e 8 são fluxogramas de operações que podem ser realizadas por um servidor de emulação do terminal de usuário para prover serviços de comunicação através de um conjunto dos dispositivos de usuário de I/O de acordo com algumas modalidades da presente descrição; a figura 9 é um diagrama de blocos de componentes de um dispositivo de usuário de I/O que são configurados para operar de acordo com algumas modalidades; e a figura 10 é um diagrama de blocos de componentes de um servidor de emulação do terminal de usuário que são configurados para operar de acordo com algumas modalidades da presente descrição. Descrição Detalhada
[0013] Os conceitos inventivos serão agora descritos mais completamente a seguir em relação aos desenhos anexos, em que exemplos das modalidades de conceitos inventivos são mostrados. Os conceitos inventivos podem, entretanto, ser incorporados em muitas formas diferentes e não devem ser interpretados como limitados às modalidades aqui apresentadas. Em vez disto, estas modalidades são providas, de forma que esta descrição seja criteriosa e completa, e conduza completamente o escopo dos vários conceitos inventivos presentes aos versados na técnica. Também deve ser notado que estas modalidades não são mutuamente exclusivas. Os
8 / 47 componentes de uma modalidade podem ser tacitamente considerados presentes ou usados em uma outra modalidade.
[0014] Várias modalidades aqui descritas são direcionadas à provisão de uma abordagem com base em servidor centralizado para emular um terminal de usuário usando um conjunto dos dispositivos de usuário de entrada e/ou saída (I/O) em rede que são determinados como proximamente localizados em relação a um usuário e para ter capacidades da interface de usuário (UI) que são combináveis para prover a um usuário a capacidade de receber e/ou iniciar um serviço de comunicação com um outro terminal de usuário através de uma entidade de rede. Algumas outras modalidades são direcionadas a um dos dispositivos de usuário de I/O (referidos como um dispositivo de usuário de I/O de controle) que emula um terminal de usuário durante o uso de um conjunto de outros dispositivos de usuário de I/O em rede que são determinados como proximamente localizados em relação a um usuário e para ter capacidades de UI que são combináveis para prover a um usuário a capacidade de receber e/ou iniciar um serviço de comunicação com um outro terminal de usuário através de uma entidade de rede.
[0015] Algumas vantagens em potencial destas modalidades incluem que um usuário possa receber e iniciar serviços de comunicação sem a necessidade de um tradicional terminal de usuário com tudo incluído rico em recursos, isto é, um smartphone, telefone celular, computador tipo tablet convencionais, etc. O servidor de emulação do terminal de usuário pode combinar adaptativamente as capacidades de UI disponíveis dos dispositivos de usuário de I/O que estão próximos de um usuário para tentar prover um serviço de comunicação. O servidor de emulação do terminal de usuário pode responder dinamicamente a uma solicitação de comunicação de entrada direcionada para um usuário ou uma solicitação de comunicação de saída proveniente do usuário pela utilização operacional dos dispositivos de usuário de I/O disponíveis que estão próximos de um usuário para formar uma
9 / 47 interface combinada através da qual uma aplicação de emulação do terminal de usuário executada pelo servidor para prover funcionalidade do terminal de usuário para um serviço de comunicação. A abordagem com base em servidor pode prover serviços de comunicação adaptáveis de baixo custo aos usuários.
[0016] A alocação dinâmica de capacidades do dispositivo de usuário de I/O sempre que e onde quer que os dispositivos de usuário de I/O estejam na proximidade de um usuário habilita o uso eficiente e flexível do hardware existente, tais como televisões, telefones de conferência, laptops, câmeras de vigilância, utensílios domésticos conectados, carros conectados, etc., que é capaz de prover alguma funcionalidade da UI para o usuário durante um serviço de comunicação. O usuário, desse modo, tem reduzida ou nenhuma necessidade de conduzir um terminal de usuário oneroso e com tudo incluído, por exemplo, smartphone, que inclui todos de capacidades de UI, dispositivo de exibição, teclado, alto-falantes necessários, etc. O usuário pode, em vez disto, conduzir um dispositivo de hardware que opera para identificar o usuário, referido como um “Rótulo de Usuário”, através de uma interface de comunicação sem fio, tal como uma interface de comunicação de campo próximo (NFC), para um ou mais dos dispositivos de usuário de I/O. Várias modalidades aqui descritas podem perturbar a tradicional indústria da comunicação móvel centrada em aparelhos de telefone, já que as características e as capacidades do que forma um terminal de usuário não são restritas ao domínio de fabricantes de telefone celular. Um servidor de emulação do terminal de usuário pode operar para prover um terminal de usuário, que também pode ser referido como um SoftUE ou uma aplicação de emulação do terminal de usuário que é executada pelo servidor de emulação do terminal de usuário.
[0017] A figura 1 ilustra um sistema com um servidor de emulação do terminal de usuário 100 que integra operacionalmente conjuntos dos dispositivos de usuário de I/O 130 que estão proximamente localizados em
10 / 47 relação a usuários para emular logicamente terminais de usuário que proveem serviços de comunicação de acordo com algumas modalidades da presente descrição.
[0018] Em relação à figura 1, o servidor de emulação do terminal de usuário 100 pode ser um recurso em nuvem que é em rede para o remoto dos dispositivos de usuário de I/O 130, ou pode ficar mais proximamente localizado em uma rede compartilhada com os dispositivos de usuário de I/O
130. O servidor de emulação do terminal de usuário 100 é configurado para comunicar com os dispositivos de usuário de I/O 130 para identificar quais, se houver, estão localizados proximamente em relação a um usuário para uso na provisão das capacidades de UI durante um serviço de comunicação.
[0019] Os usuários podem conduzir um rótulo de hardware, também conhecido como Rótulo de Usuário, que pode transmitir um identificador de usuário exclusivo através de uma interface de comunicações, tal como uma interface de comunicações de campo próximo (por exemplo, Bluetooth, BLE, NFC, RFID, etc., ou combinações dos mesmos), para recepção por um ou mais dos dispositivos de usuário de I/O 130 que estão proximamente localizados em relação ao usuário. Um tipo de Rótulo de Usuário pode ser um simples dispositivo eletrônico autônomo que tem capacidade limitada de transmitir um identificador através de uma interface de comunicações de campo próximo. Um outro tipo de Rótulo de Usuário pode ser um smartphone ou relógio inteligente que tem conectividade celular que transmite uma identidade de celular (por exemplo, proveniente de um cartão SIM) ou uma identidade de aplicação através de uma interface celular ou uma interface de comunicações de campo próximo.
[0020] O identificador de usuário pode ser alternativamente ou adicionalmente operacionalmente determinado por operações biométricas realizadas, por exemplo, por um ou mais dos dispositivos de usuário de I/O
130. As operações biométricas podem incluir, sem limitações, um ou mais de
11 / 47 reconhecimento de voz, reconhecimento de imagem/face, reconhecimento ocular, reconhecimento de impressão digital, ou uma combinação dos mesmos. A identidade do usuário pode ser determinada com base em credencial provida pelo usuário, por exemplo, durante o registro em uma aplicação ou conta. A identidade do usuário pode ser provida por um telefone celular usando informação do SIM de assinatura e a proximidade do telefone celular em relação a um ou mais dos dispositivos de usuário de I/O 130 pode ser determinada usando a capacidade de comunicações de campo próximo (NFC) do telefone.
[0021] Um identificador de usuário, um identificador do Rótulo de Usuário, e uma aplicação de emulação do terminal de usuário podem ser logicamente associados uns com os outros em uma base de dados durante um processo de registro do usuário ou como parte de um outro processo de instalação. Por exemplo, durante um processo de registro do usuário, um usuário pode obter um identificador de registro de conta (que serve como o identificador de usuário) que é registrado na base de dados como sendo associado com um identificador do Rótulo de Usuário para um Rótulo de Usuário físico que foi provido para (por exemplo, adquirido por) o usuário e que é associado com uma aplicação de emulação do terminal de usuário que emula um terminal de usuário que tem capacidades definidas (por exemplo, um telefone celular que provê serviços de comunicação celular e over-the- type voz sobre IP).
[0022] As operações que podem ser realizadas pelo sistema para prover serviços de comunicação para usuário são descritas a seguir com referência adicional à figura 7, que é um fluxograma das operações pelo servidor de emulação do terminal de usuário 100. Em relação às figuras 1 e 7, o servidor de emulação do terminal de usuário 100 mantém 700 uma base de dados 120 que identifica endereços de rede dos dispositivos de usuário de I/O 130 e identifica adicionalmente capacidades de UI dos dispositivos de usuário
12 / 47 de I/O 130, com base no conteúdo das mensagens de registro recebidas. As capacidades dos dispositivos de usuário de I/O 130 podem ser logicamente arranjadas na base de dados 120 com base no tipo de capacidade de UI provida, por exemplo, dispositivo de exibição, microfone, alto-falante, teclado, e podem ser adicionalmente arranjadas com base em uma qualidade do serviço provido pela capacidade de UI. Um dispositivo de usuário de I/O 130 pode comunicar uma mensagem de registro, contendo seu endereço de rede e capacidades de UI, com o servidor de emulação do terminal de usuário 100 responsivo a uma operação de instalação inicial, para ser conectado em uma nova rede de comunicação, e/ou responsivo a um outro evento definido para disparar a geração de uma mensagem de registro. As mensagens de registro podem incluir um local geográfico do dispositivo de usuário de I/O 130, que pode ser armazenado na base de dados 120. Os dispositivos de usuário de I/O 130 podem comunicar com o servidor 100 por meio de uma rede de dados (por exemplo, Internet e/ou rede privada) usando um transceptor WiFi, transceptor Bluetooth, transceptor celular, transceptor de comunicação por luz (LiFi), e/ou um outro transceptor de comunicações RF ou por luz.
[0023] O servidor de emulação do terminal de usuário 100 registra 702 um endereço de rede de uma aplicação de emulação do terminal de usuário 110 e uma identidade de um usuário com uma entidade de rede 150 que provê serviços de comunicação. A entidade de rede 150 provê uma função do serviço de comunicação 140 que pode, por exemplo, corresponder a um serviço do Protocolo de Voz sobre a Internet (VoIP) over-the-top, serviço Netflix, serviço Facebook, serviço Skype, serviço de navegador da Internet, um serviço de comunicação celular, etc. A aplicação de emulação do terminal de usuário 110 é executada pelo servidor de emulação do terminal de usuário 100. Uma aplicação de emulação do terminal de usuário 110 pode executar uma ou mais aplicações que são normalmente executadas por um
13 / 47 smartphone, tais como uma aplicação Netflix, aplicação Facebook, aplicação Skype, aplicação de navegador da Internet, etc.
[0024] Da forma ilustrada na figura 1, uma instanciação diferente da aplicação de emulação do terminal de usuário 110 pode ser hospedada pelo servidor 100 para cada usuário a quem devem ser providos serviços de comunicação (isto é, aplicações de emulação do terminal de usuário ilustradas nº 1-nº N correspondentes aos usuários 1-N). A aplicação de emulação do terminal de usuário 110 pode realizar registro do usuário com a entidade de rede 150 e instalação de um serviço de comunicação com um usuário responsivo às solicitações de comunicação de acordo com as operações da figura 7.
[0025] Quando a função do serviço de comunicação 140 da entidade de rede 150 for um serviço VoIP, a operação para registrar 702 o endereço de rede da aplicação de emulação do terminal de usuário e a identidade do usuário com a entidade de rede 150 pode incluir registrar o endereço de rede da aplicação de emulação do terminal de usuário 110 e a identidade do usuário com um servidor de rede de um provedor do serviço de comunicação VoIP.
[0026] Quando a função do serviço de comunicação 140 da entidade de rede 150 for um serviço de comunicação celular, a operação para registrar 702 o endereço de rede da aplicação de emulação do terminal de usuário e a identidade do usuário com a entidade de rede 150 pode incluir registrar o endereço de rede da aplicação de emulação do terminal de usuário 110 e a identidade do usuário com um Servidor de Assinante Doméstico (HSS) ou outro nó de rede de uma rede central operada por um provedor do serviço de comunicação celular.
[0027] O servidor de emulação do terminal de usuário 100 pode receber as mensagens de registro a partir dos dispositivos de usuário de I/O usando o Protocolo de Iniciação de Sessão (SIP)/Protocolo de Descrição de
14 / 47 Sessão (SDP), em que cada uma das mensagens de registro identifica o endereço de rede e a capacidade de UI de um dos dispositivos de usuário de I/O. A solicitação de comunicação pode ser recebida a partir da entidade de rede 150 usando o SIP/SDP, e a operação para prover sessões de comunicação entre a aplicação de emulação do terminal de usuário 110 e cada um dos dispositivos de usuário de I/O no conjunto, e entre a aplicação de emulação do terminal de usuário 110 e o terminal de usuário solicitante, pode ser realizada usando o SIP/SDP.
[0028] Uma mensagem de registro proveniente de um dispositivo de usuário de I/O pode incluir, por exemplo, um endereço de IP e número de porta, endereço MAC, nome de domínio completamente qualificado (FQDN), e/ou um outro endereço de rede, e inclui adicionalmente informação que identifica a capacidade de UI do dispositivo de usuário de I/O. O dispositivo de usuário de I/O pode responder a ser energizado pela comunicação da mensagem de registro para o servidor de emulação do terminal de usuário
100.
[0029] O servidor de emulação do terminal de usuário 100 recebe 704 uma solicitação de comunicação a partir da entidade de rede 150 para estabelecer um serviço de comunicação entre o usuário e um terminal de usuário solicitante, por exemplo, um telefone celular, computador com aplicação Skype, etc. Responsivo à solicitação de comunicação, o servidor de emulação do terminal de usuário 100 identifica 706 um conjunto dos dispositivos de usuário de I/O dentre os dispositivos de usuário de I/O 130 identificados pela base de dados 120 que são determinados como proximamente localizados em relação a um local do usuário e são adicionalmente determinados, com base nas capacidades de UI identificadas pela base de dados 120 para o conjunto dos dispositivos de usuário de I/O e com base no conteúdo da solicitação de comunicação, para satisfazer uma regra de capacidade combinada para ser combinável para prover uma
15 / 47 interface de usuário de I/O combinada para o usuário para fazer interface com a aplicação de emulação do terminal de usuário 110 para prover o serviço de comunicação.
[0030] Com base na determinação de que o conjunto dos dispositivos de usuário de I/O satisfaz a regra de capacidade combinada, o servidor de emulação do terminal de usuário 100 provê 708 sessões de comunicação entre a aplicação de emulação do terminal de usuário 110 e os dispositivos de usuário de I/O no conjunto e entre a aplicação de emulação do terminal de usuário 110 e o terminal de usuário solicitante por meio da entidade de rede
150. A solicitação de comunicação que é recebida 704 pela aplicação de emulação do terminal de usuário 110 pode conter uma indicação de uma mínima capacidade de UI que deve ser provida para o usuário durante o serviço de comunicação, tais como: alto-falante apenas; combinação de alto- falante e microfone; visor apenas; combinação de dispositivo de exibição, alto-falante, e microfone; etc. A regra de capacidade combinada que é usada pelo servidor 100 para determinar se um serviço de comunicação pode ser provido e por qual conjunto dos dispositivos de usuário de I/O, pode, desse modo, ser definida com base na mínima capacidade de UI que é indicada pela solicitação de comunicação.
[0031] O servidor de emulação do terminal de usuário 100 então, roteia 710 tráfego de comunicação que é recebido a partir de pelo menos um dos dispositivos de usuário de I/O no conjunto na direção do terminal de usuário solicitante por meio da entidade de rede 150. Para cada tipo de dados que é recebido como tráfego de comunicação a partir do terminal de usuário solicitante, o servidor de emulação do terminal de usuário 100 seleciona um dos dispositivos de usuário de I/O dentre o conjunto dos dispositivos de usuário de I/O com base em características combinadas do tipo de dados em relação às capacidades de UI identificadas pela base de dados 120 para o um dos dispositivos de usuário de I/O e, então, roteia os dados do tipo de dados
16 / 47 na direção do endereço de rede daquele selecionado dentre os dispositivos de usuário de I/O.
[0032] Como será explicado com detalhes adicionais a seguir, o servidor 100 também pode combinar 716 fluxos contínuos de dados que são recebidos a partir dos dispositivos de usuário de I/O no conjunto, e rotear os fluxos contínuos de dados combinados na direção do terminal de usuário solicitante, por exemplo, por meio da entidade de rede 150.
[0033] O servidor de emulação do terminal de usuário 100 (por exemplo, a aplicação 110 ou um manipulador do dispositivo de usuário de I/O descrito a seguir) pode ser responsável por rastrear quais dispositivos de usuário de I/O estão proximamente localizados em relação a um presente local do usuário. A figura 8 é um fluxograma das operações correspondentes. O servidor 100 pode receber 800 relatos de presença a partir de dispositivos de usuário de I/O individuais dos dispositivos de usuário de I/O contendo seus endereços de rede e um identificador de um usuário que é determinado pelo dispositivo de usuário de I/O como proximamente localizado. Por exemplo, um dispositivo de usuário de I/O pode ler um rótulo de hardware, também aqui referido como um “Rótulo de Usuário”, através de uma interface de comunicação NFC, pode sensorear informação biométrica proveniente do usuário, e/ou pode realizar outras operações para detectar a presença de um usuário e para identificar o usuário. Responsivo aos relatos de presença, o servidor 100 atualiza 802 a base de dados 120 para indicar quais identificadores de usuário estão proximamente localizados em relação a quais dos dispositivos de usuário de I/O.
[0034] Com referência adicional ao sistema de exemplo da figura 1, um conjunto dos dispositivos de usuário de I/O 130 foi determinado pela aplicação de emulação do terminal de usuário instanciada nº 1 como proximamente localizado em relação a um local de um primeiro usuário que conduz Rótulo de Usuário nº 1, e para ter adicionalmente capacidades de UI
17 / 47 que são combináveis para satisfazer a regra de capacidade combinada para prover uma interface de usuário de I/O combinada para que o primeiro usuário use durante um serviço de comunicação solicitado. A aplicação nº 1 usa responsivamente este conjunto dos dispositivos de usuário de I/O 130 para prover uma interface de usuário de I/O combinada para uso pelo primeiro usuário durante um serviço de comunicação por meio da entidade de rede 150 entre o primeiro usuário e um outro terminal de usuário.
[0035] Similarmente, um outro conjunto dos dispositivos de usuário de I/O 130 foi determinado pela aplicação de emulação do terminal de usuário instanciada nº 2 como proximamente localizado em relação a um local de um segundo usuário que conduz Rótulo de Usuário nº 2, e para ter adicionalmente capacidades de UI que são combináveis para satisfazer a regra de capacidade combinada para prover uma interface de usuário de I/O combinada para que o segundo usuário use durante um serviço de comunicação solicitado. A aplicação nº 2 usa responsivamente este conjunto dos dispositivos de usuário de I/O 130 para prover uma interface de usuário de I/O combinada para uso pelo segundo usuário durante um serviço de comunicação por meio da entidade de rede 150 entre o segundo usuário e ainda um outro terminal de usuário.
[0036] A figura 1 também ilustra que um outro conjunto dos dispositivos de usuário de I/O 130 não está proximamente localizado em relação ao Rótulo de Usuário nº 1 ou ao Rótulo de Usuário nº 2.
[0037] Da forma explicada anteriormente, a solicitação de comunicação que está solicitando o estabelecimento do serviço de comunicação com um usuário identificado pode ser iniciada pela entidade de rede 150 usando o endereço de rede da aplicação de emulação do terminal de usuário e a identidade do usuário que foram anteriormente registrados com a entidade de rede 150. Entretanto, a solicitação de comunicação pode ser adicionalmente ou alternativamente gerada por um dos dispositivos de usuário
18 / 47 de I/O 130 responsivo a um comando recebido a partir de um usuário proximamente localizado. Por exemplo, um usuário pode operar uma interface de usuário provida por um dos dispositivos de usuário de I/O 130 para iniciar uma chamada de áudio e vídeo combinada com um outro usuário. O servidor de emulação do terminal de usuário 100 (por exemplo, o IODH ou a aplicação 110 para este usuário) recebe a solicitação de comunicação juntamente com a identidade do usuário, que pode ser sensoreada por meio do Rótulo de Usuário. A aplicação 110 realiza as operações de identificação 706, provisão 708, roteamento 710, seleção 712, e combinação 716 supradescritas para a figura 7 para instalar e operar um serviço de comunicação entre o usuário e o outro usuário por meio da entidade de rede 150.
[0038] Sistemas de exemplo adicionais e operações relacionadas serão agora descritos para ilustrar adicionalmente como dispositivos de usuário de I/O que têm diferentes capacidades de UI podem ser operacionalmente combinados para prover uma UI combinada que pode ser usada pelo usuário para satisfazer as exigências de comunicação de um serviço de comunicação.
[0039] Operações ilustrativas adicionais são descritas em relação a uma modalidade de exemplo na qual um dispositivo de alto-falante é um dos dispositivos de usuário de I/O 130 no conjunto capaz de reproduzir um fluxo contínuo de áudio recebido e um dispositivo de microfone é um dos dispositivos de usuário de I/O 130 no conjunto capaz de sensorear áudio para transmitir um fluxo contínuo de microfone. As operações pela aplicação de emulação do terminal de usuário incluem atualizar a base de dados 120 com base no conteúdo das mensagens de registro do dispositivo de alto-falante e do dispositivo de microfone para identificar endereços de rede do dispositivo de alto-falante e do dispositivo de microfone, e para identificar capacidades de UI do dispositivo de alto-falante como tendo uma capacidade de alto- falante e do dispositivo de microfone como tendo uma capacidade de microfone. As capacidades de alto-falante de UI podem identificar um
19 / 47 número de alto-falantes providos, capacidade de intensidade sonora do som, e/ou outras características operacionais. As capacidades de UI do microfone podem identificar um número de microfones providos, a sensibilidade dos microfones, e/ou outras características operacionais. O dispositivo de alto- falante e o dispositivo de microfone são, cada qual, identificados como pertencendo ao conjunto dos dispositivos de usuário de I/O que são determinados como proximamente localizados em relação ao local do usuário (por exemplo, Rótulo de Usuário nº 1) e são adicionalmente determinados, com base nas capacidades de UI identificadas pela base de dados 120, para satisfazer a regra de capacidade combinada para ser combinável para prover uma UI de I/O combinada para o usuário para fazer interface com a aplicação de emulação do terminal de usuário 110 para prover o serviço de comunicação. Com base na determinação de que o dispositivo de alto-falante e o dispositivo de microfone satisfazem a regra de capacidade combinada, operações adicionais são realizadas para rotear um fluxo contínuo de microfone recebido a partir do dispositivo de microfone na direção do terminal de usuário solicitante (por exemplo, por meio da entidade de rede 150). Quando um fluxo contínuo de áudio for recebido como tráfego de comunicação a partir do terminal de usuário solicitante, as operações selecionam o dispositivo de alto-falante com base na combinação de uma característica de áudio do fluxo contínuo de áudio com a capacidade de alto- falante identificada pela base de dados para o dispositivo de alto-falante e, então, roteiam o fluxo contínuo de áudio na direção do endereço de rede do dispositivo de alto-falante.
[0040] A modalidade de exemplo pode incluir, quando um dispositivo de exibição for um dos dispositivos de usuário de I/O no conjunto capaz de exibir um fluxo contínuo de vídeo recebido, as operações de atualização da base de dados 120 com base no conteúdo das mensagens de registro para identificar endereços de rede do dispositivo de exibição, e para identificar
20 / 47 capacidades de UI do dispositivo de exibição como tendo uma capacidade de exibição. As capacidades de UI de exibição podem identificar um tamanho de exibição da tela, razão de aspecto, resolução de pixel, taxas de quadro de vídeo suportadas, se o dispositivo de exibição suporta suporte a usuário compartilhado por meio de configuração de tela dividida, e/ou outras características operacionais. O dispositivo de exibição também é identificado como dentre o conjunto dos dispositivos de usuário de I/O que é determinado como proximamente localizado em relação ao local do usuário e são adicionalmente determinados, com base nas capacidades de UI identificadas pela base de dados 120, para satisfazer a regra de capacidade combinada para ser combinável para prover a UI de I/O combinada para o usuário para fazer interface com a aplicação de emulação do terminal de usuário 110 para prover o serviço de comunicação. Com base na determinação de que o dispositivo de alto-falante, o dispositivo de exibição, e o dispositivo de microfone satisfazem a regra de capacidade combinada, operações adicionais respondem à recepção do fluxo contínuo de vídeo como tráfego de comunicação proveniente do terminal de usuário solicitante que seleciona o dispositivo de exibição com base na combinação de uma característica de vídeo do fluxo contínuo de vídeo em relação à capacidade de exibição identificada pela base de dados 120 para o dispositivo de exibição e, então, roteia o fluxo contínuo de vídeo na direção do endereço de rede do dispositivo de exibição.
[0041] Na modalidade de exemplo, as operações para roteamento do fluxo contínuo de áudio e do fluxo contínuo de vídeo na direção dos endereços de rede do dispositivo de alto-falante e do dispositivo de exibição, respectivamente, podem incluir, quando dados de áudio e dados de vídeo forem recebidos em um mesmo fluxo contínuo a partir do terminal de usuário solicitante através de uma primeira sessão de comunicação: separar os dados de áudio dos dados de vídeo; rotear os dados de áudio na direção do endereço de rede do dispositivo de alto-falante através de uma segunda sessão de
21 / 47 comunicação; e rotear os dados de vídeo na direção do endereço de rede do dispositivo de exibição através da segunda sessão de comunicação ou de uma terceira sessão de comunicação.
[0042] A modalidade de exemplo pode incluir, quando um dispositivo de câmera for um dos dispositivos de usuário de I/O no conjunto capaz de transmitir um fluxo contínuo de câmera, as operações de atualização da base de dados 120 com base no conteúdo de uma mensagem de registro para identificar um endereço de rede do dispositivo de câmera e para identificar uma capacidade de UI do dispositivo de câmera como tendo uma capacidade de câmera. As capacidades de UI da câmera podem identificar uma contagem de pixels da câmera, qualidade da imagem, sensibilidade à luz, e/ou outras características operacionais. O dispositivo de câmera é adicionalmente identificado como um membro do conjunto dos dispositivos de usuário de I/O que são determinados como proximamente localizados em relação ao local do usuário e é adicionalmente determinado, com base na capacidade de UI identificada pela base de dados 120, para satisfazer a regra de capacidade combinada para ser combinável com os outros dispositivos de usuário de I/O no conjunto para prover a UI de I/O combinada para o usuário para fazer interface com a aplicação de emulação do terminal de usuário 110 para prover o serviço de comunicação. Com base na determinação de que o dispositivo de câmera satisfaz a regra de capacidade combinada, operações adicionais são realizadas para rotear o fluxo contínuo de câmera recebido a partir do dispositivo de câmera na direção do terminal de usuário solicitante, por exemplo, por meio da entidade de rede 150.
[0043] As operações para roteamento do fluxo contínuo de microfone recebido a partir do dispositivo de microfone e do fluxo contínuo de câmera recebido a partir do dispositivo de câmera na direção do terminal de usuário solicitante podem incluir: receber o fluxo contínuo de microfone a partir do dispositivo de microfone através de uma primeira sessão de comunicação;
22 / 47 receber o fluxo contínuo de câmera a partir do dispositivo de câmera através da primeira sessão de comunicação ou de uma segunda sessão de comunicação; combinar o fluxo contínuo de microfone e o fluxo contínuo de câmera em um fluxo contínuo combinado; e rotear o fluxo contínuo combinado na direção do terminal de usuário solicitante através de uma terceira sessão de comunicação, por exemplo, por meio da entidade de rede
150.
[0044] A modalidade de exemplo pode incluir, quando um dispositivo de teclado for um dos dispositivos de usuário de I/O no conjunto capaz de transmitir dados de seleção de tecla responsivo a seleções de tecla por um usuário dentre teclas do dispositivo de teclado, as operações podem atualizar a base de dados 120 com base no conteúdo de uma mensagem de registro para identificar um endereço de rede do dispositivo de teclado e para identificar uma capacidade de UI do dispositivo de teclado como tendo uma capacidade de teclado. As capacidades do dispositivo de teclado podem identificar uma contagem de tecla, indicação se o teclado é um teclado físico ou um dispositivo de entrada sensível ao toque, e/ou outras capacidades de teclado. O dispositivo de teclado é adicionalmente identificado como um membro do conjunto dos dispositivos de usuário de I/O que são determinados como proximamente localizados em relação ao local do usuário e é adicionalmente determinado, com base na capacidade de UI identificada pela base de dados 120, para satisfazer a regra de capacidade combinada para ser combinável com os outros dispositivos de usuário de I/O no conjunto para prover a UI de I/O combinada para o usuário para fazer interface com a aplicação de emulação do terminal de usuário 110 para prover o serviço de comunicação. Com base na determinação de que o dispositivo de teclado satisfaz a regra de capacidade combinada, operações adicionais são realizadas para identificar comandos formados pelos dados de seleção de tecla recebidos a partir do teclado e para realizar operações que foram definidas como sendo disparadas
23 / 47 com base na recepção dos comandos identificados.
[0045] As operações para roteamento dos dados de seleção de tecla recebidos a partir do dispositivo de teclado e do fluxo contínuo de microfone recebido a partir do dispositivo de microfone podem incluir: receber os dados de seleção de tecla a partir do dispositivo de teclado através de uma primeira sessão de comunicação receber o fluxo contínuo de microfone a partir do dispositivo de microfone através da primeira sessão de comunicação ou de uma segunda sessão de comunicação; combinar os dados de seleção de tecla e o fluxo contínuo de microfone em um fluxo contínuo combinado; e rotear o fluxo contínuo combinado na direção do terminal de usuário solicitante através de uma terceira sessão de comunicação, por exemplo, por meio da entidade de rede 150.
[0046] Embora várias operações tenham sido descritas no contexto do serviço de comunicação que é instalado com sucesso quando o usuário solicitado for determinado como proximamente localizado em relação a um conjunto dos dispositivos de usuário de I/O que satisfaz a regra de capacidade combinada para o serviço de comunicação, isto não irá ocorrer quando um conjunto dos dispositivos de usuário de I/O suficiente não for determinado desta maneira. As operações correspondentes que podem ser realizadas pela aplicação de emulação do terminal de usuário 110 quando um serviço de comunicação não puder ser instalado são explicadas a seguir. Neste exemplo, a aplicação de emulação do terminal de usuário 110 recebe uma outra solicitação de comunicação a partir da entidade de rede 150 para estabelecer um outro serviço de comunicação entre um outro usuário e um outro terminal de usuário solicitante. Responsivo à uma outra solicitação de comunicação, as operações realizam uma determinação se um outro conjunto dos dispositivos de usuário de I/O dentre os dispositivos de usuário de I/O identificados pela base de dados 120 é determinado como proximamente localizados em relação a um local do um outro usuário e disponível para uso para o um outro serviço
24 / 47 de comunicação e é adicionalmente determinado, com base nas capacidades de UI identificadas pela base de dados 120 para o um outro conjunto dos dispositivos de usuário de I/O, para satisfazer a regra de capacidade combinada para ser combinável para prover uma UI de I/O combinada para o um outro usuário para fazer interface com uma outra aplicação de emulação do terminal de usuário para prover o um outro serviço de comunicação. Com base na determinação de que nenhum outro conjunto dos dispositivos de usuário de I/O é determinado para satisfazer a regra de capacidade combinada e ser proximamente localizado em relação ao local do um outro usuário, as operações comunicam uma mensagem para a entidade de rede 150 indicando que o um outro serviço de comunicação não pode ser estabelecido. Desta maneira, a entidade de rede 150 é informada que a solicitação de um serviço de comunicação não pode ser instalada neste momento com o usuário identificado.
[0047] A figura 2 é um diagrama de blocos que ilustra o servidor de emulação do terminal de usuário 100 como um elemento de um nó do serviço do operador 202 em um sistema celular 200. Em relação à figura 2, a função do serviço de comunicação 140 da entidade de rede 150 (figura 1) pode ser provida pelo nó do serviço do operador 202 ou pode ser alcançada através da infraestrutura externa 240, por exemplo, a Internet. O servidor 100 pode, por exemplo, ser implementado na rede de acesso por rádio 220 para prover computação de borda com responsividade mais rápida ou pode ser implementado em um outro nó do sistema celular 200. O servidor de emulação do terminal de usuário 100 pode incluir um manipulador do dispositivo de usuário de I/O (IODH) 212, uma função de controle (CF) 214, as aplicações de emulação do terminal de usuário instanciadas 110, e uma porta de conexão (GW) de serviço 216. Uma aplicação de emulação do terminal de usuário 110 pode executar uma ou mais aplicações que são normalmente executadas por um smartphone, tais como uma aplicação
25 / 47 Netflix, aplicação Facebook, aplicação Skype, aplicação de navegador da Internet, etc.
[0048] O IODH 212 pode realizar operações para gerenciar os dispositivos de usuário de I/O, tal como para manipular a manutenção (700 na figura 7) da base de dados 120 e/ou realizar registro (702 na figura 7) das aplicações de emulação do terminal de usuário 110. Por exemplo, o IODH 212 pode operar para registrar com um servidor do serviço Skype o endereço de IP de uma aplicação Skype, que é executada por ou interfaceada com a aplicação de emulação do terminal de usuário 110, e o nome Skype do usuário. A CF 214 pode ser responsável por atribuir um endereço de IP a cada aplicação de emulação do terminal de usuário 110. O endereço de IP a ser atribuído pela CF 214 pode ser recebido a partir da funcionalidade de rede central 210, tal como uma PDN-GW. A GW de serviço 216 pode interconectar o servidor de emulação do terminal de usuário 100 em uma rede PSTN, porta de conexão da rede de dados em pacote de um sistema 3GPP (Projeto de Parceria da 3ª Geração), etc. O sistema celular 200 pode incluir uma rede central 210 que tem um Servidor de Assinante Doméstico (HSS), uma Função dos Papeis de Política e Cobrança (PCRF), uma porta de conexão (GW) e uma Entidade de Gerenciamento de Mobilidade (MME) que proveem sinalização de controle relacionada a mobilidade e segurança do terminal móvel para o acesso por rádio. O HSS contém informação relacionada a assinante e provê funcionalidade de suporte para autenticação de usuário e acesso do usuário ao sistema. A PCRF habilita controle de QoS por fluxo de dados e portadora de rádio, pela definição das regras de QoS para cada fluxo de dados, com base nas políticas definidas pelo operador e na informação de assinante. A GW pode incluir uma GW de Serviço (S-GW) e uma GW da Rede de Dados em Pacote (PDN-GW), em que a S-GW interconecta a rede central 210 com a rede de acesso por rádio 220 e roteia pacotes de entrada e saída para os dispositivos de usuário de I/O 232 e/ou 130 e os terminais de
26 / 47 usuário 230. A PDN-GW interconecta a rede central 210 com a infraestrutura externa 240, tal como a Internet, e aloca endereços de IP e realiza controle de política e cobrança.
[0049] Alguns dispositivos de usuário de I/O 232 que têm capacidade de comunicação celular podem comunicar por meio de, por exemplo, eNBs ou outros nós de acesso por rádio de uma rede de acesso por rádio 220 com o nó do serviço do operador 202 por meio da rede central 210. No sistema da figura 2, o servidor de emulação do terminal de usuário 100 pode manipular a instalação de um serviço de comunicação entre um conjunto selecionado dos dispositivos de usuário de I/O que estão próximos de um usuário e um terminal de usuário remoto 230 (por exemplo, smartphone) por meio do sistema celular 200.
[0050] A figura 3 é um diagrama de blocos que ilustra o servidor de emulação do terminal de usuário 100 que comunica de uma maneira diferente com vários elementos de um sistema celular 200, que podem operar como a entidade de rede 140 (figura 1), para prover serviços de comunicação de acordo com algumas modalidades da presente descrição. O sistema da figura 3 difere do sistema da figura 2 pelo servidor de emulação do terminal de usuário 100 ser um serviço de Internet em infraestrutura externa 240 fora do sistema celular 200. No sistema da figura 3, a CF 214 pode determinar o endereço de IP a ser atribuído a diferentes unidades das aplicações de emulação do terminal de usuário 110 com base na sinalização proveniente do serviço de Internet na infraestrutura externa 240.
[0051] A exposta e ainda outras operações serão agora descritas com detalhes adicionais no contexto de três diferentes “casos de uso” de exemplo: 1) cenário de chamada de entrada; 2) cenário de chamada de saída; e 3) cenário de compartilhamento dos dispositivos de usuário de I/O (compartilhamento de recursos e/ou capacidades físicos). Caso de Uso 1: Cenário de Chamada de Entrada
27 / 47
[0052] Este caso de uso envolve um usuário, com um Rótulo de Usuário ou outra maneira de ser identificado, estar proximamente localizado em relação a dispositivos de usuário de I/O 130 que têm diferentes capacidades de UI quando uma chamada de entrada for recebida pelo servidor de emulação do terminal de usuário. Embora as operações sejam explicadas a seguir no contexto da identificação de um usuário através de um Rótulo de Usuário físico conduzido pelo usuário, estas operações não são limitadas às mesmas e podem ser usadas com qualquer outra maneira de identificação de um usuário, tal como pelo sensoreamento da informação biométrica que identifica o usuário.
[0053] Uma aplicação de emulação do terminal de usuário 110 pode ser instanciada ou de outra forma ativada responsivo a uma chamada de entrada (serviço, sessão) que visa ao Rótulo de Usuário. A aplicação de emulação do terminal de usuário 110 pode identificar assinaturas associadas com o Rótulo de Usuário (isto é, o usuário físico) e métodos de comunicação preferidos (por exemplo, áudio não vídeo, áudio e vídeo, etc.) que foram especificados pelo usuário, e determinar as capacidades de UI dos dispositivos de usuário de I/O que serão necessárias para satisfazer as capacidades de UI que podem ser especificadas para a sessão de comunicação de entrada. A aplicação de emulação do terminal de usuário 110 pode pedir ao IODH para identificar quais dispositivos de usuário de I/O 130 estão proximamente localizados em relação ao Rótulo de Usuário, e pode pedir adicionalmente ao IODH para determinar ou pode determinar por si mesma se os dispositivos de usuário de I/O identificados 130 são combináveis para satisfazer as capacidades de UI especificadas pela sessão de comunicação de entrada. A aplicação de emulação do terminal de usuário 110 e/ou o IODH podem receber um ACK ou NACK de volta se um conjunto dos dispositivos de usuário de I/O suficiente 130 puder ser usado para prover o serviço de comunicação. Se ACK, então o IODH também define o estado dos
28 / 47 dispositivos de usuário de I/O 130 no conjunto no estado em uso para evitar uma outra aplicação de emulação do terminal de usuário 110 que tenta utilizar os mesmos dispositivos de usuário de I/O 130 que estão atualmente em uso. No caso de NACK, a aplicação de emulação do terminal de usuário 110 e/ou o IODH pode tomar ações diferentes para instalar um serviço de comunicação com reduzida capacidade de UI com o usuário dependendo das definições de usuário, por exemplo, permitir apenas comunicações com base em som, em vez de uma combinação de som e vídeo, responsivo a quando nenhum dispositivo de exibição estiver atualmente disponível para uso. Um exemplo de nenhum dispositivo de exibição estar disponível pode ocorrer quando o único dispositivo de exibição que está proximamente localizado em relação ao usuário estiver sendo atualmente usado por um outro usuário para receber informação a partir de uma outra aplicação de emulação do terminal de usuário durante um serviço de comunicação em andamento ou quando nenhum dispositivo de exibição estiver proximamente localizado em relação ao usuário.
[0054] A figura 4 é um fluxograma combinado de operações e fluxos de dados relacionados entre Rótulos de Usuário, dispositivos de usuário de I/O, e o servidor de emulação do terminal de usuário de acordo com algumas modalidades da presente descrição. Em relação à figura 4, um Rótulo de Usuário entra em um espaço e sinaliza 400 sua presença para qualquer dispositivo de usuário de I/O proximamente localizado e capaz no espaço usando um sinal de radiossinalização de descoberta. Alternativamente, um ou mais dos dispositivos de usuário de I/O determinam a presença do Rótulo de Usuário por consulta sequencial 402, tal como pela transmissão periódica de sinais de radiossinalização de descoberta que disparam sinalização responsiva pelo Rótulo de Usuário. Os dispositivos de usuário de I/O que recebem sinalização que indicou presença do Rótulo de Usuário relatam 404 para o IODH no servidor de emulação do terminal de usuário juntamente com um
29 / 47 endereço de rede do dispositivo de usuário de I/O (por exemplo, endereço de IP, número de porta, endereço MAC, FQDN, etc.). A aplicação de emulação do terminal de usuário correspondente ao usuário específico (isto é, o Rótulo de Usuário) é atualizada 406 em relação à presença do usuário detectada. O IODH pode operar para receber as notificações a partir dos dispositivos de usuário de I/O proximamente localizados em relação ao Rótulo de Usuário. Comunicações de descoberta (sincronismo) da capacidade de UI 410 adicionais são realizadas entre o servidor de emulação do terminal de usuário e os dispositivos de usuário de I/O. Os dispositivos de usuário de I/O são associados ao usuário na base de dados, juntamente com assinaturas de indicações associadas, capacidades de UI combináveis providas pelo conjunto dos dispositivos de usuário de I/O que estão proximamente localizados em relação ao Rótulo de Usuário. Um ou mais dos dispositivos de usuário de I/O podem ser selecionados para ACK/NACK de recepção de chamada padrão. Pela operação 412, o usuário, por meio do Rótulo de Usuário, é agora conhecido por ser alcançável no sistema através de um conjunto identificado dos dispositivos de usuário de I/O com capacidades de UI identificadas (por exemplo, alto-falantes sim/não, visor sim/não, microfone sim/não, teclado sim/não, etc.), desse modo, criando um terminal de usuário virtualizado lógico através do qual o usuário pode ser provido em um serviço de comunicação. O usuário pode iniciar um serviço de comunicação através de uma tela sensível ao toque, comando de voz sensoreado por um microfone, realização de um gesto definido observável por uma câmera, e/ou outra entrada provida para um dos dispositivos de usuário de I/O proximamente localizados.
[0055] Na operação 414, uma sessão de entrada (por exemplo, chamada de vídeo) proveniente de um terminal de usuário solicitante que é direcionada para o usuário (Rótulo de Usuário) chega no servidor de emulação do terminal de usuário para o usuário que conduz o Rótulo de Usuário. Na operação 416, as capacidades de UI combináveis dos dispositivos
30 / 47 de usuário de I/O disponíveis são comparadas com as exigências da UI da sessão de entrada. Quando as exigências da UI da sessão de entrada não forem satisfeitas pelas capacidades de UI combináveis dos dispositivos de usuário de I/O, o servidor de emulação do terminal de usuário pode renegociar 416 as capacidades de UI exigidas (por exemplo, QoS) da sessão de entrada. Ao contrário, quando as exigências da UI da sessão de entrada forem satisfeitas pelas capacidades de UI combináveis dos dispositivos de usuário de I/O, o servidor de emulação do terminal de usuário prompts, por meio de um ou mais dos dispositivos de usuário de I/O disponíveis (por exemplo, um dispositivo de resposta pré-selecionado), o usuário que conduz o Rótulo de Usuário para prover uma resposta de solicitação de sessão (ACK/NACK). O usuário responde através do dispositivo de resposta pré-selecionado 420 para aceitar (ACK) ou rejeitar (NACK) a sessão de entrada, para prover sinalização 422 para o servidor de emulação do terminal de usuário. Quando um ACK for recebido, operações 424 roteiam um fluxo contínuo de áudio do terminal de usuário solicitante para um dos dispositivos de usuário de I/O no conjunto que tem uma capacidade de alto-falante por meio de uma ou mais sessões 426, e roteia um fluxo contínuo de vídeo do terminal de usuário solicitante para um outro dos dispositivos de usuário de I/O no conjunto que tem uma capacidade de exibição por meio de uma ou mais sessões 426. Um fluxo contínuo de dados que é recebido a partir de um dos dispositivos de usuário de I/O no conjunto através de um uma ou mais sessões 429 é roteado 430 na direção do terminal de usuário solicitante. Quando dois ou mais fluxos contínuos de dados forem recebidos através de uma ou mais sessões 429 dos dispositivos de usuário de I/O, os mesmos podem ser combinados em um fluxo contínuo de dados combinado que é roteado 424 na direção do terminal de usuário solicitante.
[0056] O servidor de emulação do terminal de usuário pode realizar operações 428 para monitorar continuamente a presença dos dispositivos de
31 / 47 usuário de I/O para determinar quando um ou mais dos dispositivos de usuário de I/O não estiver mais proximamente localizado em relação ao usuário, de maneira tal que o mesmo não possa mais ser incluído como parte da UI combinada a ser provida durante a sessão de comunicação em andamento. O servidor de emulação do terminal de usuário pode substituir a capacidade de UI de um outro dispositivo de usuário de I/O para o conjunto que é usado pelo usuário para a sessão de comunicação em andamento responsivo a um membro prévio do conjunto não mais ter presença exigida. Caso de Uso 2, Chamada de Saída
[0057] Este caso de uso envolve um usuário, com um Rótulo de Usuário, estar proximamente localizado em relação a dispositivos de usuário de I/O 130 que têm diferentes capacidades de UI quando uma chamada de saída (sessão de comunicação) for recebida pelo servidor de emulação do terminal de usuário. Os dispositivos de usuário de I/O 130 são associados ao usuário identificado por meio do servidor de emulação do terminal de usuário 100 que manipula todas as sessões de comunicações para o usuário ao mesmo tempo em que os dispositivos de usuário de I/O associados 130 são gerenciados por um IODH.
[0058] Uma aplicação de emulação do terminal de usuário 110 pode ser instanciada ou de outra forma ativada responsivo a uma chamada de saída ser solicitada por um usuário que conduz o Rótulo de Usuário. O usuário pode iniciar uma chamada de saída através de uma tela sensível ao toque, comando de voz sensoreado por um microfone, realização de um gesto definido observável por uma câmera, e/ou outra entrada provida para um dos dispositivos de usuário de I/O proximamente localizados.
[0059] A aplicação de emulação do terminal de usuário 110 pode identificar assinaturas associadas com o Rótulo de Usuário (isto é, o usuário físico) e métodos de comunicação preferidos (por exemplo, áudio não vídeo, áudio e vídeo, etc.) que foram especificados pelo usuário, e determinar as
32 / 47 capacidades de UI dos dispositivos de usuário de I/O que serão necessárias para satisfazer as capacidades de UI que podem ser especificadas para a chamada de saída. A aplicação de emulação do terminal de usuário 110 pode pedir que o IODH identifique quais dispositivos de usuário de I/O 130 estão proximamente localizados em relação ao Rótulo de Usuário, e pode pedir adicionalmente que o IODH determine ou pode determinar por si mesma se os dispositivos de usuário de I/O identificados 130 são combináveis para satisfazer as capacidades de UI especificadas pela chamada de saída. A aplicação de emulação do terminal de usuário 110 e/ou o IODH podem receber um ACK ou um NACK de volta se um conjunto dos dispositivos de usuário de I/O suficiente 130 puder ser usado para prover o serviço de comunicação. Se ACK, então, o IODH também define o estado dos dispositivos de usuário de I/O 130 no conjunto no estado em uso para evitar que uma outra aplicação de emulação do terminal de usuário 110 tente utilizar os mesmos dispositivos de usuário de I/O 130 que estão atualmente em uso. No caso de NACK, a aplicação de emulação do terminal de usuário 110 e/ou o IODH podem tomar ações diferentes para instalar um serviço de comunicação com reduzida capacidade de UI com o usuário dependendo dos ajustes de usuário, por exemplo, permitir apenas som, em vez do som e vídeo preferidos responsivo a quando nenhum dispositivo de exibição estiver atualmente disponível para uso (por exemplo, quando atualmente usado por uma outra aplicação de emulação do terminal de usuário 110 ou quando nenhuma estiver proximamente localizada em relação ao Rótulo de Usuário).
[0060] A figura 5 é um fluxograma combinado de operações para uma chamada de saída e fluxos de dados relacionados entre Rótulos de Usuário, dispositivos de usuário de I/O, e o servidor de emulação do terminal de usuário de acordo com algumas modalidades da presente descrição. Em relação à figura 5, um Rótulo de Usuário entra em um espaço e sinaliza 500 sua presença para qualquer dispositivo de usuário de I/O proximamente
33 / 47 localizado e capaz no espaço usando um sinal de radiossinalização de descoberta. Alternativamente, um ou mais dos dispositivos de usuário de I/O determinam a presença do Rótulo de Usuário por consulta sequencial 502, tal como pela transmissão periódica de sinais de radiossinalização de descoberta que disparam sinalização responsiva pelo Rótulo de Usuário. Os dispositivos de usuário de I/O que recebem sinalização que indicou presença do Rótulo de Usuário relatam 504 para o IODH no servidor de emulação do terminal de usuário juntamente com um endereço de rede do dispositivo de usuário de I/O (por exemplo, endereço de IP, número de porta, endereço MAC, FQDN, etc.). A aplicação de emulação do terminal de usuário correspondente ao usuário específico (isto é, o Rótulo de Usuário) é atualizada 506 em relação à presença do usuário detectada.
[0061] O IODH pode operar para receber as notificações a partir dos dispositivos de usuário de I/O proximamente localizados em relação ao Rótulo de Usuário. As comunicações de descoberta (sincronismo) da capacidade de UI adicionais 510 são realizadas entre o servidor de emulação do terminal de usuário e os dispositivos de usuário de I/O. Os dispositivos de usuário de I/O são associados ao usuário na base de dados, juntamente com assinaturas de indicações associadas, capacidades de UI combináveis providas pelo conjunto dos dispositivos de usuário de I/O que estão proximamente localizados em relação ao Rótulo de Usuário. Um ou mais dos dispositivos de usuário de I/O podem ser selecionados para ACK/NACK de recepção de chamada padrão. Pela operação 512, o usuário, por meio do Rótulo de Usuário, é agora conhecido por ser alcançável no sistema através de um conjunto identificado dos dispositivos de usuário de I/O com capacidades de UI identificadas (por exemplo, alto-falantes sim/não, visor sim/não, microfone sim/não, teclado sim/não, etc.), desse modo, criando um terminal de usuário virtualizado lógico através do qual o usuário pode ser provido em um serviço de comunicação. O usuário pode iniciar um serviço de
34 / 47 comunicação através de uma tela sensível ao toque, comando de voz sensoreado por um microfone, realização de um gesto definido observável por uma câmera, e/ou outra entrada provida para um dos dispositivos de usuário de I/O proximamente localizados.
[0062] Na operação 514, um usuário que conduz o Rótulo de Usuário usa a UI de um dos dispositivos de usuário de I/O para disparar 514 uma chamada de saída (por exemplo, chamada de vídeo), que dispara sinalização 516 da chamada de saída para o servidor de emulação do terminal de usuário. Na operação 518, o IODH consulta o usuário (por exemplo, exibe uma mensagem, gera um som, etc.) através de um dos dispositivos de usuário de I/O proximamente localizados em relação ao usuário para solicitar que o usuário selecione entre tipos disponíveis de métodos de comunicação que podem ser atualmente usados para a chamada de saída. Um dos dispositivos de usuário de I/O provê sinalização responsiva 520 ao IODH indicando o tipo selecionado pelo usuário do método de comunicação para a chamada de saída. Na operação 522, o servidor de emulação do terminal de usuário comunica uma solicitação do fluxo contínuo da sessão de saída para a entidade de rede 150, em que a solicitação pode incluir um identificador do usuário que chama, um identificador do terminal de usuário do usuário chamado, e uma qualidade de serviço para a sessão de comunicação. Na operação 522, o servidor de emulação do terminal de usuário recebe uma aceitação (ACK) ou recusa (NACK) de sessão de comunicação a partir da entidade de rede 150. Quando a sessão de comunicação for recusada, o servidor de emulação do terminal de usuário pode tentar renegociar 524 a sessão de comunicação solicitada, tal como em uma qualidade de serviço inferior.
[0063] Quando a sessão de comunicação for aceita (ACK), para cada tipo de dados que é recebido 528 como tráfego de comunicação do terminal de usuário solicitante, o servidor de emulação do terminal de usuário seleciona um dos dispositivos de usuário de I/O dentre o conjunto dos
35 / 47 dispositivos de usuário de I/O com base em características combinadas do tipo de dados em relação às capacidades de UI identificadas pela base de dados para o um dos dispositivos de usuário de I/O e, então, roteia 530 os dados do tipo de dados na direção do endereço de rede daquele selecionado dentre os dispositivos de usuário de I/O. Os dados que originam aqueles dos dispositivos de usuário de I/O transmitem 532 fluxo contínuo de dados através de uma ou mais sessões 536 para o servidor de emulação do terminal de usuário, que pode combinar 538 os fluxos contínuos de dados em um fluxo contínuo de dados combinado que é roteado 540 na direção dos terminais de usuário chamados por meio da entidade de rede 150.
[0064] O servidor de emulação do terminal de usuário pode monitorar continuamente 534 a presença dos dispositivos de usuário de I/O para determinar quando um ou mais dos dispositivos de usuário de I/O não estiverem mais proximamente localizados em relação ao usuário, de maneira tal que os mesmos não possam mais ser incluído como parte da UI combinada a ser provida durante a sessão de comunicação em andamento. O servidor de emulação do terminal de usuário pode substituir a capacidade de UI de um outro dispositivo de usuário de I/O para conjunto que é usado pelo usuário para a sessão de comunicação em andamento responsivo a um membro prévio do conjunto não mais ter presença exigida. Caso de Uso 3, Compartilhamento dos Dispositivos de Usuário de I/O (Recursos Físicos, Capacidades de UI)
[0065] O terceiro caso de uso é direcionado para um cenário em que dois ou mais usuários estão localizados em uma área física que tem inúmeros dispositivos de usuário de I/O com capacidades de UI combinadas que são insuficientes para satisfazer as exigências da UI necessárias para suportar sessões de comunicação sobrepostas no tempo sem compartilhamento de alguns dos dispositivos de usuário de I/O pelos dois usuários. Neste caso, entidades de ID de ambos os usuários, isto é, Rótulos de Usuário serão
36 / 47 detectadas na proximidade de alguns dispositivos de usuário de I/O que o IODH, então, associa às aplicações de emulação do terminal de usuário de respectivos usuários 110.
[0066] Na ilustração da figura 6, a aplicação de emulação do terminal de usuário nº 1 já está manipulando uma sessão de comunicação em andamento na qual alguns dos dispositivos de usuário de I/O associados são alocados e ficam em uso por um primeiro usuário correspondente ao Rótulo de Usuário nº 1; isto significa que o exemplo inicia depois do bloco 430 na figura 4. Neste momento, um outro segundo usuário que conduz Rótulo de Usuário nº 2 entra na área física.
[0067] No bloco 610, o Rótulo de Usuário nº 2 fica proximamente localizado em relação a pelo menos um dos dispositivos de usuário de I/O que é atualmente utilizado pela aplicação de emulação do terminal de usuário nº 1. O pelo menos um dos dispositivos de usuário de I/O detecta o Rótulo de Usuário nº 2. A aplicação de emulação do terminal de usuário nº 2 é responsivamente instanciada no servidor de emulação do terminal de usuário 100 pelo IODH.
[0068] No bloco 612, é recebida uma solicitação por uma nova sessão de comunicação que é pretendida para a aplicação de emulação do terminal de usuário nº 2. No bloco 614, o IODH considera prioridades entre as aplicações de imolação do terminal de usuário que foram instanciadas. O IODH compara assinaturas das sessões da aplicação de emulação do terminal de usuário nº 1 atualmente hospedada (em andamento) com aquelas da nova solicitação de entrada para uma sessão de comunicação na direção da aplicação de emulação do terminal de usuário nº 2.
[0069] Se uma priorização não for identificada, as aplicações de emulação do terminal de usuário são tratadas igualmente, de forma que os dispositivos de usuário de I/O disponíveis com suas capacidades de UI sejam alocados de uma maneira primeiro que chega - primeiro servido. Ao
37 / 47 contrário, se uma priorização for identificada, o IODH opera para: atribuir uma prioridade a certos dispositivos de usuário de I/O para a aplicação de emulação do terminal de usuário que tem a mais alta prioridade de acordo com regras de priorização de QoS/capacidade definidas; com certas capacidades de UI presentes em certos tipos dos dispositivos de usuário de I/O, algumas capacidades de UI são operacionalmente compartilhadas entre o primeiro e o segundo usuários (por exemplo, uma tela de exibição suficientemente grande pode ser dividida ao meio com as metades respectivamente atribuídas ao primeiro e ao segundo usuários).
[0070] No presente cenário, as aplicações de emulação do terminal de usuário nº 1 e nº 2 são tratadas igualmente sem priorização, o que se aplica a todas as operações no bloco de referência 611.
[0071] No bloco 616, o IODH avalia a solicitação às capacidades do segundo usuário e da aplicação de emulação do terminal de usuário nº 2 (considerando priorizações estabelecidas na etapa prévia, se houver). Se a solicitação de entrada não for suportada (por exemplo, há dispositivos de usuário de I/O não disponíveis ou insuficientemente disponíveis determinados (por meio da consulta 617 aos dispositivos de usuário de I/O) para satisfazer as capacidades de UI exigidas) pela aplicação de emulação do terminal de usuário nº 2 independente de quaisquer prioridades, o IODH pode operar para negociar as capacidades de UI/QoS com a entidade de rede que enviou a solicitação de sessão para o segundo usuário. Ao contrário, se a solicitação de entrada for suportada pelas capacidades de UI providas pela aplicação de emulação do dispositivo de usuário nº 2 para a sessão de comunicação solicitada, da forma determinada pela aplicação de emulação do terminal de usuário nº 2 que consulta 618 os dispositivos de usuário de I/O disponíveis, então, um ACK é comunicado para a entidade de rede 150.
[0072] Se a solicitação de comunicação de entrada puder ser suportada pela aplicação de emulação do terminal de usuário nº 2 quando
38 / 47 concedida alguma prioridade para uso de um ou mais dos dispositivos de usuário de I/O que são atualmente usados pela aplicação de emulação do terminal de usuário nº 1, as operações do bloco 619 podem ser realizadas para preemptar ou causar o compartilhamento de um ou mais dos dispositivos de usuário de I/O que estão atualmente sendo usados pela aplicação de emulação do terminal de usuário nº 1. O IODH e/ou a aplicação de emulação do terminal de usuário nº 1 podem, então, renegociar 622 com a entidade de rede 150 as capacidades de UI exigidas da sessão de comunicação da aplicação de emulação do terminal de usuário nº 1 para o primeiro usuário. A aplicação de emulação do terminal de usuário nº 1 pode receber uma sessão ACK/NACK gerada 620 pelos um ou mais dos dispositivos de usuário de I/O preemptados ou compartilhados com a aplicação de emulação do terminal de usuário nº 2 indicando quais capacidades de UI estão disponíveis para uso pela aplicação de emulação do terminal de usuário nº 1, e pode terminar responsivamente a sessão de comunicação existente se a capacidade de UI exigida provida pelos dispositivos de usuário de I/O não for mais suficiente para uso pela aplicação de emulação do terminal de usuário nº 1 para a sessão de comunicação.
[0073] No bloco 624, a aplicação de emulação do terminal de usuário nº 2 consulta o segundo usuário através de um pré-selecionado dos dispositivos de usuário de I/O em relação a se a sessão de comunicação solicitada é aceita. O pré-selecionado dos dispositivos de usuário de I/O pode exibir 626 um prompt consultando o segundo usuário por uma resposta, que é provida 628 como um ACK/NACK para a aplicação de emulação do terminal de usuário nº 2. Quando o segundo usuário aceitar a sessão de comunicação (ACK), um serviço de comunicação é estabelecido entre o segundo usuário e um terminal de usuário remoto através da aplicação de emulação do terminal de usuário nº 2 e a entidade de rede 150.
[0074] Um monitor de presença do dispositivo de usuário de I/O pode operar como uma função do IODH para monitorar (continuamente,
39 / 47 periodicamente, ou responsivo à ocorrência de um evento definido) uma sessão de comunicação em andamento para garantir que todas as capacidades de UI providas pelo conjunto dos dispositivos de usuário de I/O permaneçam proximamente localizadas e operacionalmente disponíveis ao usuário.
[0075] A troca de mensagens entre as diferentes entidades do sistema pode ser realizada usando o Protocolo de Iniciação de Sessão (SIP) com o Protocolo de Descrição de Sessão (SDP) com possíveis algumas menores mudanças em relação aos atuais métodos suportados nos protocolos e formatos de mídia. Usar SIP/SDP pode ser vantajoso, já que as conexões entre os dispositivos de usuário de I/O e as aplicações de emulação do terminal de usuário podem ser uma sessão SIP que pode instalar de uma maneira similar àquela entre dois clientes VoIP.
[0076] Mais no geral, as operações realizadas pelo servidor de emulação do terminal de usuário podem incluir receber uma outra solicitação de comunicação a partir da entidade de rede para estabelecer um outro serviço de comunicação entre um outro usuário e um outro terminal de usuário solicitante. Responsivo à uma outra solicitação de comunicação, as operações determinam se um outro conjunto dos dispositivos de usuário de I/O dentre os dispositivos de usuário de I/O identificados pela base de dados são determinados como proximamente localizados em relação a um local do um outro usuário e disponíveis para uso para o um outro serviço de comunicação e são adicionalmente determinados, com base nas capacidades de UI identificadas pela base de dados para o um outro conjunto dos dispositivos de usuário de I/O, para satisfazer a regra de capacidade combinada para ser combinável para prover uma UI de I/O combinada para o um outro usuário para fazer interface com uma outra aplicação de emulação do terminal de usuário para prover o um outro serviço de comunicação. Com base na determinação de que nenhum outro conjunto dos dispositivos de usuário de I/O é determinado para satisfazer a regra de capacidade combinada,
40 / 47 disponível para uso pelo um outro serviço de comunicação, e proximamente localizado em relação ao local do um outro usuário, as operações configuram responsivamente um dos dispositivos de usuário de I/O no conjunto dos dispositivos de usuário de I/O que está proximamente localizado em relação ao um outro usuário, mas está sendo atualmente usado pelo usuário, para operar para prover uma UI compartilhada que é usada pelo usuário ao mesmo tempo em que o serviço de comunicação continua a ser provido para o usuário e que é adicionalmente usado pelo um outro usuário ao mesmo tempo em que o um outro serviço de comunicação é provido para o um outro usuário. Em um exemplo, a informação que é direcionada para o usuário pode ser roteada para exibição em uma metade de uma tela do dispositivo de exibição, e a informação que é direcionada para o outro usuário pode ser roteada para exibição na outra metade da tela do dispositivo de exibição. Em um outro exemplo, um teclado pode ser compartilhado por dois usuários que identificam os mesmos por meio do teclado (por exemplo, pela digitação de um ID do usuário, escaneamento do Rótulo de Usuário, escaneamento biométrico, etc.) no momento em que os mesmos estiverem inserindo informação, de forma que o servidor possa rotear seletivamente as entradas do teclado para a correta das duas aplicações de emulação do terminal de usuário. Caso de Uso 4, Manipulação da Mobilidade
[0077] Neste contexto, dispositivos de usuário de I/O e/ou um Rótulo de Usuário podem ser móveis, de maneira tal que, durante o tempo, o conjunto dos dispositivos de usuário de I/O que estão proximamente localizados em relação ao Rótulo de Usuário mude. Além do mais, tais mudanças podem ser causadas por um ou mais dos dispositivos de usuário de I/O que ficam não operacionais (por exemplo, perda de energia) ou quando a interface de ar de rádio entre os mesmos fica obstruída ou for sujeita a excessiva interferência de rádio. O IODH pode ser configurado para
41 / 47 determinar dinamicamente quais dos dispositivos de usuário de I/O permanecem disponíveis para associação com o Rótulo de Usuário.
[0078] Em uma modalidade, os aspectos de mobilidade são monitorados pelo monitor de presença do dispositivo de usuário de I/O (IODPM) localizado no IODH, da forma ilustrada no bloco 428 na figura 4 e no bloco 534 na figura 5. Quando o IODPM descobrir que uma atual aplicação de emulação do terminal de usuário (isto é, implicitamente, alguns dos dispositivos de usuário de I/O que o mesmo utiliza) não mais tem acesso a uma capacidade de UI suficiente através do conjunto dos dispositivos de usuário de I/O, por exemplo, o que pode resultar na violação de um contrato de QoS para a presente sessão de comunicação, o IODPM pode disparar renegociação da capacidade de exigências da UI para a sessão de comunicação através da entidade de rede 150 e, possivelmente, com o terminal de usuário remoto. Implementação em Nuvem
[0079] Algumas ou todas as operações supradescritas como sendo realizadas pelo servidor de emulação do terminal de usuário 100 ou pelos dispositivos de usuário de I/O 130 podem ser alternativamente realizadas uns pelos outros, e/ou por um outro nó que é parte de um recurso de computação em nuvem. Por exemplo, estas operações podem ser realizadas como uma função de rede que está próxima da borda, tais como em um servidor em nuvem ou um recurso em nuvem de um operador da rede de telecomunicações, por exemplo, em um CloudRAN ou uma rede central, e/ou podem ser realizadas por um servidor em nuvem ou um recurso em nuvem de um provedor de mídia, por exemplo, provedor de serviço iTunes ou provedor de serviço Spotify. Dispositivo de Usuário de I/O e Servidor de Emulação do Terminal de Usuário de Exemplo
[0080] A figura 9 é um diagrama de blocos de componentes de um
42 / 47 dispositivo de usuário de I/O 130 que são configurados para operar de acordo com algumas modalidades. O dispositivo de usuário de I/O 130 pode incluir um circuito de interface da rede com fios/sem fio 902, um circuito de comunicação de campo próximo 920, pelo menos um circuito processador 900 (processador), e pelo menos um circuito de memória 910 (memória). O processador 900 é conectado para comunicar com os outros componentes. A memória 910 armazena o código de programa 912 que é executado pelo processador 900 para realizar operações aqui descritas. O processador 900 pode incluir um ou mais circuitos de processamento de dados (por exemplo, microprocessador e/ou processador de sinal digital), que podem ser colocalizados ou distribuídos através de uma ou mais redes de dados. O processador 900 é configurado para executar o código de programa 912 na memória 910, em particular, a aplicação de emulação do terminal de usuário 912, descrita a seguir como uma mídia legível por computador, para realizar algumas ou todas as operações e os métodos para uma ou mais das modalidades aqui descritas para um dispositivo eletrônico móvel. O dispositivo de usuário de I/O 130 pode incluir um ou mais dispositivos de UI, incluindo sem limitações, um microfone 940, um alto-falante 950, uma câmera 930, e um dispositivo de exibição 960, e uma interface de entrada de usuário 970.
[0081] A figura 10 é um diagrama de blocos de componentes de um servidor de emulação do terminal de usuário 100 que são configurados para operar de acordo com algumas modalidades. O servidor de emulação do terminal de usuário 100 pode incluir um circuito de interface da rede com fios/sem fio 1020, uma base de dados 120 (por exemplo, listando dispositivos de usuário de I/O, capacidades de UI dos dispositivos de usuário de I/O, proximidades conhecidas em relação aos identificadores de usuário, etc.), um dispositivo de exibição 1030, uma interface de entrada de usuário 1040 (por exemplo, teclado ou visor sensível ao toque), pelo menos um circuito
43 / 47 processador 1000 (processador), e pelo menos um circuito de memória 1010 (memória). O processador 1000 é conectado para comunicar com os outros componentes. A memória 1010 armazena a aplicação de emulação do terminal de usuário 1012 que é executada pelo processador 1000 para realizar as operações aqui descritas. O processador 1000 pode incluir um ou mais circuitos de processamento de dados (por exemplo, microprocessador e/ou processador de sinal digital), que podem ser colocalizados ou distribuídos através de uma ou mais redes de dados. O processador 1000 é configurado para executar as instruções do programa de computador na memória 1010, descrita a seguir como uma mídia legível por computador, para realizar algumas ou todas as operações e métodos para uma ou mais das modalidades aqui descritas para um dispositivo eletrônico móvel. Definições e Modalidades Adicionais
[0082] Na descrição exposta das várias modalidades dos presentes conceitos inventivos, deve-se entender que a terminologia aqui usada é com o propósito de descrever as modalidades em particular apenas, e não pretende- se que seja limitante dos presentes conceitos inventivos. A menos que de outra forma definida, todos os termos (incluindo termos técnicos e científicos) aqui usados têm o mesmo significado comumente entendido pelos versados na técnica à qual os presentes conceitos inventivos pertencem. Será adicionalmente entendido que os termos, tais como aqueles definidos em dicionários comumente usados, devem ser interpretados como tendo um significado que é consistente com seu significado no contexto desta especificação e da tecnologia relevante e não serão interpretados em um sentido idealizado ou excessivamente formal expressamente assim aqui definido.
[0083] Quando um elemento for referido como sendo “conectado”, “acoplado”, “responsivo”, ou variantes dos mesmos em um outro elemento, o mesmo pode ser diretamente conectado, acoplado, ou responsivo ao outro
44 / 47 elemento ou elementos intervenientes podem estar presentes. Ao contrário, quando um elemento for referido como sendo “diretamente conectado”, “diretamente acoplado”, “diretamente responsivo”, ou variantes dos mesmos em um outro elemento, não há elementos intervenientes presentes. Números iguais se referem a elementos iguais por toda parte. Além do mais, “acoplado”, “conectado”, “responsivo”, ou variantes dos mesmos, da forma aqui usada, podem incluir acoplado, conectado, ou responsivo sem fio. Da forma aqui usada, pretende-se que as formas no singular “um”, “uma” “o” e “a” também incluam as formas no plural, a menos que o contexto claramente indique de outra forma. Funções ou construções bem conhecidas podem não ser descritas com detalhes por concisão e/ou clareza. O termo “e/ou” inclui toda e qualquer combinação de um ou mais dos itens listados associados.
[0084] Será entendido que, embora os termos primeiro, segundo, terceiro, etc. possam ser aqui usados para descrever vários elementos/operações, estes elementos/operações não devem ser limitados por estes termos. Estes termos são usados apenas para distinguir um elemento/operação de um outro elemento/operação. Assim, um primeiro elemento/operação, em algumas modalidades, pode ser chamado de um segundo elemento/operação em outras modalidades sem fugir dos preceitos dos presentes conceitos inventivos. Os mesmos números de referência ou os mesmos designadores de referência denotam os mesmos ou similares elementos por toda a especificação.
[0085] Da forma aqui usada, os termos “compreendem”, “compreendendo”, “compreende”, “incluem”, “incluindo”, “inclui”, “têm”, “tem”, “tendo”, ou variantes dos mesmos, são abertos, e incluem uma ou mais características, números inteiros, elementos, etapas, componentes ou funções declaradas, mas não impedem a presença ou a adição de uma ou mais outras características, números inteiros, elementos, etapas, componentes, funções ou grupos dos mesmos. Além do mais, da forma aqui usada, a abreviação comum
45 / 47 “e.g.”, que deriva da frase em latim “exempli gratia”, pode ser usada para introduzir ou especificar um exemplo ou exemplos gerais de um item previamente mencionado, e não pretende-se que seja limitante de tal item. A abreviação comum “i. e.”, que deriva da frase em latim “id est”, pode ser usada para especificar um item em particular a partir de uma citação mais geral.
[0086] As modalidades de exemplo são aqui descritas em relação a ilustrações de diagramas de blocos e/ou de fluxograma de métodos, aparelho (sistemas e/ou dispositivos) e/ou produtos de programa de computador implementados por computador. Entende-se que um bloco das ilustrações de diagramas de blocos e/ou de fluxograma, e combinações de blocos nas ilustrações de diagramas de blocos e/ou de fluxograma, pode ser implementado pelas instruções do programa de computador que são realizadas por um ou mais circuitos de computador. Estas instruções do programa de computador podem ser providas para um circuito processador de um circuito de computador de uso geral, um circuito de computador de uso especial e/ou outro circuito de processamento de dados programável para produzir uma máquina, de maneira tal que as instruções, que executam por meio do processador do computador e/ou outro aparelho de processamento de dados programável, transformem e controlem transistores, valores armazenado em locais de memória, e outros componentes de hardware em tal conjunto de circuitos para implementar as funções/atos especificados no bloco ou blocos dos diagramas de blocos e/ou do fluxograma, e, desse modo, criem meios (funcionalidade) e/ou estrutura para implementar as funções/atos especificados no(s) bloco(s) dos diagramas de blocos e/ou fluxograma.
[0087] Estas instruções do programa de computador também podem ser armazenadas em uma mídia legível por computador tangível que pode direcionar um computador ou outro aparelho de processamento de dados programável para funcionar de uma maneira em particular, de maneira tal que
46 / 47 as instruções armazenadas na mídia legível por computador produzam um artigo de fabricação que inclui instruções que implementam as funções/atos especificados no bloco ou blocos dos diagramas de blocos e/ou do fluxograma. Desta maneira, as modalidades dos presentes conceitos inventivos podem ser incorporadas em hardware e/ou em software (incluindo software embarcado, software residente, microcódigo, etc.) que executa em um processador, tal como um processador de sinal digital, que pode ser coletivamente referido como “conjunto de circuitos”, “um módulo” ou variantes dos mesmos.
[0088] Também deve ser notado que, em algumas implementações alternativas, as funções/atos notados nos blocos podem ocorrer fora da ordem notada nos fluxogramas. Por exemplo, dois blocos mostrados em sucessão podem, de fato, ser executados de forma substancialmente concorrente ou os blocos podem, algumas vezes, ser executados na ordem reversa, dependendo das funcionalidades/atos envolvidos. Além do mais, a funcionalidade de um dado bloco dos fluxogramas e/ou diagramas de blocos pode ser separada em múltiplos blocos e/ou a funcionalidade de dois ou mais blocos dos fluxogramas e/ou diagramas de blocos pode ser pelo menos parcialmente integrada. Finalmente, outros blocos podem ser adicionados/inseridos entre os blocos que são ilustrados, e/ou blocos/operações podem ser omitidos sem fugir do escopo dos conceitos inventivos. Além do mais, embora alguns dos diagramas incluam setas nos caminhos de comunicação para mostrar uma direção de comunicação primária, deve-se entender que a comunicação pode ocorrer na direção oposta às setas representadas.
[0089] Muitas variações e modificações podem ser feitas nas modalidades sem fugir substancialmente dos princípios dos presentes conceitos inventivos. Pretende-se que todas tais variações e modificações sejam aqui incluídas no escopo dos presentes conceitos inventivos. Desta maneira, a matéria supradescrita deve ser considerada ilustrativa, e não
47 / 47 restritiva, e pretende-se que os exemplos anexos das modalidades cubram todas tais modificações, intensificações e outras modalidades que caem no espírito e no escopo dos presentes conceitos inventivos.
Assim, até a máxima extensão permitida pela lei, o escopo dos presentes conceitos inventivos deve ser determinado pela mais ampla interpretação permissível da presente descrição incluindo os seguintes exemplos das modalidades e seus equivalentes, e não deve ser restrito ou limitado pela descrição detalhada exposta.
Claims (22)
1. Servidor de emulação do terminal de usuário (100) para provisão de serviços de comunicação usando conjuntos de dispositivos de usuário de entrada e/ou saída, I/O, (130), caracterizado pelo fato de que o servidor de emulação do terminal de usuário (100) realiza operações compreendendo: manter uma base de dados (120) que identifica endereços de rede de dispositivos de usuário de I/O (130) e identifica adicionalmente capacidades de interface de usuário, UI, dos dispositivos de usuário de I/O (130), com base no conteúdo das mensagens de registro recebidas; registrar um endereço de rede de uma aplicação de emulação do terminal de usuário (110) e um identificador de usuário único com uma entidade de rede (150) que provê serviços de comunicação (140), cujo identificador de usuário único é transmitido por um dispositivo eletrônico (Rótulo de Usuário nº1) carregado por um usuário e recebido por um ou mais dos dispositivos de usuário de I/O (130) que estão localizados próximos ao usuário, ou determinado por operações de biometria realizadas por um ou mais dos dispositivos de usuário de I/O (130) que estão localizados próximos ao usuário, a aplicação de emulação do terminal de usuário (110) sendo executada pelo servidor de emulação do terminal de usuário (100); receber uma solicitação de comunicação a partir da entidade de rede (150) para estabelecer um serviço de comunicação entre o usuário (Rótulo de Usuário nº 1) e um terminal de usuário solicitante; e responsivo à solicitação de comunicação, realizar: identificação de um conjunto de dispositivos de usuário de I/O dentre os dispositivos de usuário de I/O (130) identificados pela base de dados (120) que são determinados como proximamente localizados em relação a um local do usuário (Rótulo de Usuário nº 1) e são adicionalmente determinados, com base nas capacidades de UI identificadas pela base de dados (120) para o
2 / 22 conjunto de dispositivos de usuário de I/O (130) e com base no conteúdo da solicitação de comunicação, para satisfazer uma regra de capacidade combinada para ser combinável para prover uma interface de usuário de I/O combinada para o usuário (Rótulo de Usuário nº 1) para fazer interface com a aplicação de emulação do terminal de usuário (110) para prover o serviço de comunicação (140); e com base na determinação de que o conjunto de dispositivos de usuário de I/O (130) satisfaz a regra de capacidade combinada, realizar: provisão de sessões de comunicação entre a aplicação de emulação do terminal de usuário (110) e os dispositivos de usuário de I/O (130) no conjunto e entre a aplicação de emulação do terminal de usuário (110) e o terminal de usuário solicitante por meio da entidade de rede (150); roteamento do tráfego de comunicação que é recebido a partir de pelo menos um dos dispositivos de usuário de I/O (130) no conjunto na direção do terminal de usuário solicitante; e para cada tipo de dados que é recebido como tráfego de comunicação a partir do terminal de usuário solicitante, seleção de um dos dispositivos de usuário de I/O a partir do conjunto de dispositivos de usuário de I/O (130) com base em características combinadas do tipo de dados em relação às capacidades de UI identificadas pela base de dados (120) para o um dos dispositivos de usuário de I/O e, então, roteamento dos dados do tipo de dados na direção do endereço de rede daquele selecionado dentre os dispositivos de usuário de I/O; distinguindo em que as operações compreendem adicionalmente: receber uma outra solicitação de comunicação a partir da entidade de rede (150) para estabelecer um outro serviço de comunicação (140) entre um outro usuário (Rótulo de Usuário nº 2) e um outro terminal de usuário solicitante; e
3 / 22 responsivo à uma outra solicitação de comunicação, realizar: determinar se um outro conjunto de dispositivos de usuário de I/O dentre os dispositivos de usuário de I/O (130) identificados pela base de dados (120) é determinado como proximamente localizado em relação a um local do um outro usuário (Rótulo de Usuário nº 2) e disponível para uso para o um outro serviço de comunicação (140) e é adicionalmente determinado, com base nas capacidades de UI identificadas pela base de dados (120) para o um outro conjunto de dispositivos de usuário de I/O, para satisfazer a regra de capacidade combinada para ser combinável para prover uma UI de I/O combinada para o um outro usuário (Rótulo de Usuário nº 2) para fazer interface com uma outra aplicação de emulação do terminal de usuário (110) para prover o um outro serviço de comunicação (140); e com base na determinação de que nenhum outro conjunto de dispositivos de usuário de I/O é determinado para satisfazer a regra de capacidade combinada, disponível para uso pelo um outro serviço de comunicação (140), e proximamente localizado em relação ao local do um outro usuário (Rótulo de Usuário nº 2), configurar um dos dispositivos de usuário de I/O no conjunto de dispositivos de usuário de I/O (130) que está proximamente localizado em relação ao um outro usuário (Rótulo de Usuário nº 2) mas está sendo atualmente usado pelo usuário (Rótulo de Usuário nº 1), para operar para prover uma UI compartilhada que é usada pelo usuário (Rótulo de Usuário nº 1) ao mesmo tempo em que o serviço de comunicação (140) continua a ser provido para o usuário (Rótulo de Usuário nº 1) e que é adicionalmente usado pelo um outro usuário (Rótulo de Usuário nº 2) ao mesmo tempo em que o um outro serviço de comunicação (140) é provido para o um outro usuário (Rótulo de Usuário nº 2).
2. Servidor de emulação do terminal de usuário (100) de acordo com a reivindicação 1, caracterizado pelo fato de que um dispositivo
4 / 22 de alto-falante é um dos dispositivos de usuário de I/O (130) no conjunto capaz de reproduzir um fluxo contínuo de áudio recebido e um dispositivo de microfone é um dos dispositivos de usuário de I/O (130) no conjunto capaz de sensorear áudio para transmitir um fluxo contínuo de microfone, e em que as operações compreendem adicionalmente: atualizar a base de dados (120) com base no conteúdo das mensagens de registro para identificar endereços de rede do dispositivo de alto-falante e do dispositivo de microfone, e para identificar capacidades de UI do dispositivo de alto-falante como tendo uma capacidade de alto-falante e do dispositivo de microfone como tendo uma capacidade de microfone; o dispositivo de alto-falante e o dispositivo de microfone são, cada qual, identificados como pertencendo ao conjunto de dispositivos de usuário de I/O (130) que são determinados como proximamente localizados em relação ao local do usuário (Rótulo de Usuário nº 1) e são adicionalmente determinados, com base nas capacidades de UI identificadas pela base de dados (120), para satisfazer a regra de capacidade combinada para ser combinável para prover uma UI de I/O combinada para o usuário (Rótulo de Usuário nº 1) para fazer interface com a aplicação de emulação do terminal de usuário (110) para prover o serviço de comunicação (140); e com base na determinação de que o dispositivo de alto-falante e o dispositivo de microfone satisfazem a regra de capacidade combinada, operações adicionais são realizadas para: rotear um fluxo contínuo de microfone recebido a partir do dispositivo de microfone na direção do terminal de usuário solicitante; e quando um fluxo contínuo de áudio for recebido como tráfego de comunicação a partir do terminal de usuário solicitante, selecionar o dispositivo de alto-falante com base na combinação de uma característica de áudio do fluxo contínuo de áudio com a capacidade de alto-falante identificada pela base de dados para o dispositivo de alto-falante e, então,
5 / 22 rotear o fluxo contínuo de áudio na direção do endereço de rede do dispositivo de alto-falante
3. Servidor de emulação do terminal de usuário (100) de acordo com a reivindicação 2, caracterizado pelo fato de que um dispositivo de exibição é um dos dispositivos de usuário de I/O (130) no conjunto capaz de exibir um fluxo contínuo de vídeo recebido, e em que as operações compreendem adicionalmente: atualizar a base de dados (120) com base no conteúdo das mensagens de registro para identificar endereços de rede do dispositivo de exibição, e para identificar capacidades de UI do dispositivo de exibição como tendo uma capacidade de exibição; o dispositivo de exibição também é identificado como dentre o conjunto de dispositivos de usuário de I/O (130) que é determinado como proximamente localizado em relação ao local do usuário (Rótulo de Usuário nº 1) e são adicionalmente determinados, com base nas capacidades de UI identificadas pela base de dados (120), para satisfazer a regra de capacidade combinada para ser combinável para prover a UI de I/O combinada para o usuário para fazer interface com a aplicação de emulação do terminal de usuário (110) para prover o serviço de comunicação (140); e com base na determinação de que o dispositivo de alto-falante, o dispositivo de exibição, e o dispositivo de microfone satisfazem a regra de capacidade combinada, operações adicionais são realizadas para: quando um fluxo contínuo de vídeo for recebido como tráfego de comunicação a partir do terminal de usuário solicitante, selecionar o dispositivo de exibição com base na combinação de uma característica de vídeo do fluxo contínuo de vídeo em relação à capacidade de exibição identificada pela base de dados (120) para o dispositivo de exibição e, então, rotear o fluxo contínuo de vídeo na direção do endereço de rede do dispositivo de exibição
6 / 22
4. Servidor de emulação do terminal de usuário (100) de acordo com a reivindicação 3, caracterizado pelo fato de que as operações para roteamento do fluxo contínuo de áudio e do fluxo contínuo de vídeo na direção dos endereços de rede do dispositivo de alto-falante e do dispositivo de exibição, respectivamente, compreendem: quando dados de áudio e dados de vídeo forem recebidos em um mesmo fluxo contínuo a partir do terminal de usuário solicitante através de uma primeira sessão de comunicação, separar os dados de áudio dos dados de vídeo, rotear os dados de áudio na direção do endereço de rede do dispositivo de alto-falante através de uma segunda sessão de comunicação, e rotear os dados de vídeo na direção do endereço de rede do dispositivo de exibição através da segunda sessão de comunicação ou de uma terceira sessão de comunicação.
5. Servidor de emulação do terminal de usuário (100) de acordo com qualquer uma das reivindicações 2 a 4, caracterizado pelo fato de que um dispositivo de câmera é um dos dispositivos de usuário de I/O (130) no conjunto capaz de transmitir um fluxo contínuo de câmera, e em que as operações compreendem adicionalmente: atualizar a base de dados (120) com base no conteúdo de uma mensagem de registro para identificar um endereço de rede do dispositivo de câmera e para identificar uma capacidade de UI do dispositivo de câmera como tendo uma capacidade de câmera; o dispositivo de câmera é adicionalmente identificado como um membro do conjunto de dispositivos de usuário de I/O (130) que são determinados como proximamente localizados em relação ao local do usuário (Rótulo de Usuário nº 1) e é adicionalmente determinado, com base na capacidade de UI identificada pela base de dados (120), para satisfazer a regra de capacidade combinada para ser combinável com os outros dispositivos de
7 / 22 usuário de I/O (130) no conjunto para prover a UI de I/O combinada para o usuário para fazer interface com a aplicação de emulação do terminal de usuário (110) para prover o serviço de comunicação (140); e com base na determinação de que o dispositivo de câmera satisfaz a regra de capacidade combinada, operações adicionais são realizadas para rotear o fluxo contínuo de câmera recebido a partir do dispositivo de câmera na direção do terminal de usuário solicitante.
6. Servidor de emulação do terminal de usuário (100) de acordo com a reivindicação 5, caracterizado pelo fato de que as operações para roteamento do fluxo contínuo de microfone recebido a partir do dispositivo de microfone e do fluxo contínuo de câmera recebido a partir do dispositivo de câmera na direção do terminal de usuário solicitante compreendem: receber o fluxo contínuo de microfone a partir do dispositivo de microfone através de uma primeira sessão de comunicação; receber o fluxo contínuo de câmera a partir do dispositivo de câmera através da primeira sessão de comunicação ou de uma segunda sessão de comunicação; combinar o fluxo contínuo de microfone e o fluxo contínuo de câmera em um fluxo contínuo combinado; e rotear o fluxo contínuo combinado na direção do terminal de usuário solicitante através de uma terceira sessão de comunicação.
7. Servidor de emulação do terminal de usuário (100) de acordo com qualquer uma das reivindicações 2 a 6, caracterizado pelo fato de que um dispositivo de teclado é um dos dispositivos de usuário de I/O (130) no conjunto capaz de transmitir dados de seleção de tecla responsivo a seleções de tecla por um usuário dentre teclas do dispositivo de teclado, e em que as operações compreendem adicionalmente: atualizar a base de dados (120) com base no conteúdo de uma
8 / 22 mensagem de registro para identificar um endereço de rede do dispositivo de teclado e para identificar uma capacidade de UI do dispositivo de teclado como tendo uma capacidade de teclado; o dispositivo de teclado é adicionalmente identificado como um membro do conjunto de dispositivos de usuário de I/O (130) que são determinados como proximamente localizados em relação ao local do usuário e é adicionalmente determinado, com base na capacidade de UI identificada pela base de dados, para satisfazer a regra de capacidade combinada para ser combinável com os outros dispositivos de usuário de I/O (130) no conjunto para prover a UI de I/O combinada para o usuário (Rótulo de Usuário nº 1) para fazer interface com a aplicação de emulação do terminal de usuário (110) para prover o serviço de comunicação (140); e com base na determinação de que o dispositivo de teclado satisfaz a regra de capacidade combinada, operações adicionais são realizadas para identificar comandos formados pelos dados de seleção de tecla recebidos a partir do dispositivo de teclado e para realizar operações que foram definidas como sendo disparadas com base na recepção dos comandos identificados.
8. Servidor de emulação do terminal de usuário (100) de acordo com a reivindicação 7, caracterizado pelo fato de que as operações para roteamento dos dados de seleção de tecla recebidos a partir do dispositivo de teclado e do fluxo contínuo de microfone recebido a partir do dispositivo de microfone compreendem: receber os dados de seleção de tecla a partir do dispositivo de teclado através de uma primeira sessão de comunicação; receber o fluxo contínuo de microfone a partir do dispositivo de microfone através da primeira sessão de comunicação ou de uma segunda sessão de comunicação; combinar os dados de seleção de tecla e o fluxo contínuo de
9 / 22 microfone em um fluxo contínuo combinado; e rotear o fluxo contínuo combinado na direção do terminal de usuário solicitante através de uma terceira sessão de comunicação.
9. Servidor de emulação do terminal de usuário (100) de acordo com qualquer uma das reivindicações 1 a 8, caracterizado pelo fato de que as operações compreendem adicionalmente: receber relatos de presença a partir de dispositivos de usuário de I/O individuais dos dispositivos de usuário de I/O (130) contendo seus endereços de rede e um identificador de usuário de um usuário (Rótulo de Usuário nº 1) que é determinado pelo dispositivo de usuário de I/O como proximamente localizado; e responsivo aos relatos de presença, atualizar a base de dados (120) para indicar quais identificadores de usuário (Rótulo de Usuário nº 1) estão proximamente localizados em relação a quais dos dispositivos de usuário de I/O (130).
10. Servidor de emulação do terminal de usuário (100) de acordo com qualquer uma das reivindicações 1 a 9, caracterizado pelo fato de que: a solicitação de comunicação contém uma indicação de uma mínima capacidade de UI que deve ser provida para o usuário (Rótulo de Usuário nº 1) durante o serviço de comunicação (140); e a regra de capacidade combinada é definida com base na mínima capacidade de UI que é indicada pela solicitação de comunicação.
11. Servidor de emulação do terminal de usuário (100) de acordo com qualquer uma das reivindicações 1 a 10, caracterizado pelo fato de que as operações compreendem adicionalmente: com base na determinação de que nenhum outro conjunto de dispositivos de usuário de I/O é determinado para satisfazer a regra de capacidade combinada e ser proximamente localizado em relação ao local do
10 / 22 um outro usuário (Rótulo de Usuário nº 2), comunicar uma mensagem para a entidade de rede (150) que indica que o um outro serviço de comunicação não pode ser estabelecido.
12. Servidor de emulação do terminal de usuário (100) de acordo com qualquer uma das reivindicações 1 a 11, caracterizado pelo fato de que a operação para registrar o endereço de rede da aplicação de emulação do terminal de usuário (110) e o identificador do usuário (Rótulo de Usuário nº 1) com a entidade de rede (150) compreende: registrar o endereço de rede da aplicação de emulação do terminal de usuário (110) e o identificador do usuário (Rótulo de Usuário nº 1) com um servidor de rede de um provedor do serviço de comunicação do Protocolo de Voz sobre a Internet, VoIP.
13. Servidor de emulação do terminal de usuário (100) de acordo com qualquer uma das reivindicações 1 a 12, caracterizado pelo fato de que a operação para registrar o endereço de rede da aplicação de emulação do terminal de usuário (110) e o identificador do usuário (Rótulo de Usuário nº 1) com a entidade de rede (150) compreende: registrar o endereço de rede da aplicação de emulação do terminal de usuário (110) e o identificador do usuário (Rótulo de Usuário nº 1) com uma rede central de um provedor do serviço de comunicação celular.
14. Servidor de emulação do terminal de usuário (100) de acordo com qualquer uma das reivindicações 1 a 13, caracterizado pelo fato de que as operações compreendem adicionalmente: receber as mensagens de registro a partir dos dispositivos de usuário de I/O (130) usando o Protocolo de Iniciação de Sessão/Protocolo de Descrição de Sessão, em que cada uma das mensagens de registro identifica o endereço de rede e a capacidade de UI de um dos dispositivos de usuário de I/O.
15. Servidor de emulação do terminal de usuário (100) de
11 / 22 acordo com qualquer uma das reivindicações 1 a 14, caracterizado pelo fato de que: a solicitação de comunicação é recebida a partir da entidade de rede (150) usando o Protocolo de Descrição de Sessão; e a operação para prover sessões de comunicação entre a aplicação de emulação do terminal de usuário (110) e cada um dos dispositivos de usuário de I/O (130) no conjunto, e entre a aplicação de emulação do terminal de usuário (110) e o terminal de usuário solicitante, é realizada usando o Protocolo de Iniciação de Sessão.
16. Dispositivo de usuário de entrada e/ou saída, I/O, (130) dentre uma pluralidade de dispositivos de usuário de I/O (130) que é configurada como um dispositivo de usuário de I/O de controle que provê serviços de comunicação (140) usando um conjunto dos dispositivos de usuário de I/O (130), caracterizado pelo fato de que o dispositivo de usuário de I/O de controle realiza operações compreendendo: manter uma base de dados (120) que identifica endereços de rede dos dispositivos de usuário de I/O e identifica adicionalmente capacidades de interface de usuário, UI, dos dispositivos de usuário de I/O, com base no conteúdo das mensagens de registro recebidas; registrar um endereço de rede de uma aplicação de emulação do terminal de usuário e um identificador de usuário único com uma entidade de rede (150) que provê serviços de comunicação (140), cujo identificador de usuário único é transmitido por um dispositivo eletrônico (Rótulo de Usuário nº1) carregado por um usuário e recebido por um ou mais dos dispositivos de usuário de I/O (130) que estão localizados próximos ao usuário, ou determinado por operações de biometria realizadas por um ou mais dos dispositivos de usuário de I/O (130) que estão localizados próximos ao usuário, a aplicação de emulação do terminal de usuário (912) sendo executada pelo dispositivo de usuário de I/O de controle;
12 / 22 receber uma solicitação de comunicação a partir da entidade de rede (150) para estabelecer um serviço de comunicação (140) entre o usuário (Rótulo de Usuário nº 1) e um terminal de usuário solicitante; e responsivo à solicitação de comunicação, realizar: identificação do conjunto de dispositivos de usuário de I/O dentre os dispositivos de usuário de I/O (130) identificados pela base de dados (120) que são determinados como proximamente localizados em relação a um local do usuário (Rótulo de Usuário nº 1) e são adicionalmente determinados, com base nas capacidades de UI identificadas pela base de dados (120) para o conjunto de dispositivos de usuário de I/O (120) e com base no conteúdo da solicitação de comunicação, para satisfazer uma regra de capacidade combinada para ser combinável para prover uma interface de usuário de I/O combinada para o usuário (Rótulo de Usuário nº 1) para fazer interface com a aplicação de emulação do terminal de usuário (912) para prover o serviço de comunicação (140); e com base na determinação de que o conjunto de dispositivos de usuário de I/O satisfaz a regra de capacidade combinada, realizar: provisão de sessões de comunicação entre a aplicação de emulação do terminal de usuário (912) e cada um dos dispositivos de usuário de I/O no conjunto, e entre a aplicação de emulação do terminal de usuário (912) e o terminal de usuário solicitante por meio da entidade de rede (150); roteamento do tráfego de comunicação que é recebido a partir de pelo menos um dos dispositivos de usuário de I/O no conjunto na direção do terminal de usuário solicitante; e para cada tipo de dados que é recebido como tráfego de comunicação a partir do terminal de usuário solicitante, seleção de um dos dispositivos de usuário de I/O a partir do conjunto de dispositivos de usuário de I/O com base em características combinadas do tipo de dados em relação às capacidades de UI identificadas
13 / 22 pela base de dados para o um dos dispositivos de usuário de I/O e, então, roteamento dos dados do tipo de dados na direção do endereço de rede daquele selecionado dentre os dispositivos de usuário de I/O; distinguindo em que as operações compreendem adicionalmente: receber uma outra solicitação de comunicação a partir da entidade de rede (150) para estabelecer um outro serviço de comunicação (140) entre um outro usuário (Rótulo de Usuário nº 2) e um outro terminal de usuário solicitante; e responsivo à uma outra solicitação de comunicação, realizar: determinar se um outro conjunto de dispositivos de usuário de I/O dentre os dispositivos de usuário de I/O (130) identificados pela base de dados (120) é determinado como proximamente localizado em relação a um local do um outro usuário (Rótulo de Usuário nº 2) e disponível para uso para o um outro serviço de comunicação (140) e é adicionalmente determinado, com base nas capacidades de UI identificadas pela base de dados (120) para o um outro conjunto de dispositivos de usuário de I/O, para satisfazer a regra de capacidade combinada para ser combinável para prover uma UI de I/O combinada para o um outro usuário (Rótulo de Usuário nº 2) para fazer interface com uma outra aplicação de emulação do terminal de usuário (110) para prover o um outro serviço de comunicação (140); e com base na determinação de que nenhum outro conjunto de dispositivos de usuário de I/O é determinado para satisfazer a regra de capacidade combinada, disponível para uso pelo um outro serviço de comunicação (140), e proximamente localizado em relação ao local do um outro usuário (Rótulo de Usuário nº 2), configurar um dos dispositivos de usuário de I/O no conjunto de dispositivos de usuário de I/O (130) que está proximamente localizado em relação ao um outro usuário (Rótulo de Usuário nº 2) mas está sendo
14 / 22 atualmente usado pelo usuário (Rótulo de Usuário nº 1), para operar para prover uma UI compartilhada que é usada pelo usuário (Rótulo de Usuário nº 1) ao mesmo tempo em que o serviço de comunicação (140) continua a ser provido para o usuário (Rótulo de Usuário nº 1) e que é adicionalmente usado pelo um outro usuário (Rótulo de Usuário nº 2) ao mesmo tempo em que o um outro serviço de comunicação (140) é provido para o um outro usuário (Rótulo de Usuário nº 2).
17. Dispositivo de usuário de I/O de controle (130) de acordo com a reivindicação 16, caracterizado pelo fato de que as operações compreendem adicionalmente: receber relatos de presença a partir de dispositivos de usuário de I/O individuais dos dispositivos de usuário de I/O contendo seus endereços de rede e um identificador de usuário de um usuário (Rótulo de Usuário nº 1) que é determinado pelo dispositivo de usuário de I/O como proximamente localizado; e responsivo aos relatos de presença, atualizar a base de dados (120) para indicar quais identificadores de usuário (Rótulo de Usuário nº 1) estão proximamente localizados em relação a quais dos dispositivos de usuário de I/O (130).
18. Dispositivo de usuário de I/O de controle (130) de acordo com a reivindicação 16 ou 17, caracterizado pelo fato de que: a solicitação de comunicação contém uma indicação de uma mínima capacidade de UI que deve ser provida para o usuário (Rótulo de Usuário nº 1) durante o serviço de comunicação (140); e a regra de capacidade combinada é definida com base na mínima capacidade de UI que é indicada pela solicitação de comunicação.
19. Dispositivo de usuário de I/O de controle (130) de acordo com qualquer uma das reivindicações 16 a 18, caracterizado pelo fato de que um dispositivo de alto-falante é um dos dispositivos de usuário de I/O (130)
15 / 22 no conjunto capaz de reproduzir um fluxo contínuo de áudio recebido e um dispositivo de microfone é um dos dispositivos de usuário de I/O no conjunto capaz de sensorear áudio para transmitir um fluxo contínuo de microfone, e em que as operações compreendem adicionalmente: atualizar a base de dados (120) com base no conteúdo das mensagens de registro para identificar endereços de rede do dispositivo de alto-falante e do dispositivo de microfone, e para identificar capacidades de UI do dispositivo de alto-falante como tendo uma capacidade de alto-falante e do dispositivo de microfone como tendo uma capacidade de microfone; o dispositivo de alto-falante e o dispositivo de microfone são, cada qual, identificados como pertencendo ao conjunto de dispositivos de usuário de I/O que são determinados como proximamente localizados em relação ao local do usuário (Rótulo de Usuário nº 1) e são adicionalmente determinados, com base nas capacidades de UI identificadas pela base de dados, para satisfazer a regra de capacidade combinada para ser combinável para prover uma UI de I/O combinada para o usuário para fazer interface com a aplicação de emulação do terminal de usuário para prover o serviço de comunicação (140); e com base na determinação de que o dispositivo de alto-falante e o dispositivo de microfone satisfazem a regra de capacidade combinada, operações adicionais são realizadas para: rotear um fluxo contínuo de microfone recebido a partir do dispositivo de microfone na direção do terminal de usuário solicitante; e quando um fluxo contínuo de áudio for recebido como tráfego de comunicação a partir do terminal de usuário solicitante, selecionar o dispositivo de alto-falante com base na combinação de uma característica de áudio do fluxo contínuo de áudio com a capacidade de alto-falante identificada pela base de dados para o dispositivo de alto-falante e, então, rotear o fluxo contínuo de áudio na direção do endereço de rede do
16 / 22 dispositivo de alto-falante.
20. Dispositivo de usuário de I/O de controle (130) de acordo com a reivindicação 19, caracterizado pelo fato de que um dispositivo de exibição é um dos dispositivos de usuário de I/O (130) no conjunto capaz de exibir um fluxo contínuo de vídeo recebido, e em que as operações compreendem adicionalmente: atualizar a base de dados (120) com base no conteúdo das mensagens de registro para identificar endereços de rede do dispositivo de exibição, e para identificar capacidades de UI do dispositivo de exibição como tendo uma capacidade de exibição; o dispositivo de exibição também é identificado como dentre o conjunto de dispositivos de usuário de I/O (130) que é determinado como proximamente localizado em relação ao local do usuário (Rótulo de Usuário nº 1) e é adicionalmente determinados, com base nas capacidades de UI identificadas pela base de dados (120), para satisfazer a regra de capacidade combinada para ser combinável para prover a UI de I/O combinada para o usuário (Rótulo de Usuário nº 1) para fazer interface com a aplicação de emulação do terminal de usuário para prover o serviço de comunicação (140); e com base na determinação de que o dispositivo de alto-falante, o dispositivo de exibição, e o dispositivo de microfone satisfazem a regra de capacidade combinada, operações adicionais são realizadas para: quando um fluxo contínuo de vídeo for recebido como tráfego de comunicação a partir do terminal de usuário solicitante, selecionar o dispositivo de exibição com base na combinação de uma característica de vídeo do fluxo contínuo de vídeo em relação à capacidade de exibição identificada pela base de dados para o dispositivo de exibição e, então, rotear o fluxo contínuo de vídeo na direção do endereço de rede do dispositivo de exibição.
17 / 22
21. Meio de armazenamento não transitório legível por computador, caracterizado pelo fato de que compreende instruções legíveis, que quando lidas por um processador (1000) em um servidor de emulação do terminal de usuário (100) para provisão de serviços de comunicação (140) usando conjuntos de dispositivos de usuário de entrada e/ou saída, I/O, (130), faz o processador (1000) realizar operações compreendendo: manter uma base de dados (120) que identifica endereços de rede de dispositivos de usuário de I/O e identifica adicionalmente capacidades de interface de usuário, UI, dos dispositivos de usuário de I/O, com base no conteúdo das mensagens de registro recebidas; registrar um endereço de rede de uma aplicação de emulação do terminal de usuário (110, 1012) e um identificador de usuário único com uma entidade de rede (150) que provê serviços de comunicação (140), cujo identificador de usuário único é transmitido por um dispositivo eletrônico (Rótulo de Usuário nº1) carregado por um usuário e recebido por um ou mais dos dispositivos de usuário de I/O (130) que estão localizados próximos ao usuário, ou determinado por operações de biometria realizadas por um ou mais dos dispositivos de usuário de I/O (130) que estão localizados próximos ao usuário, a aplicação de emulação do terminal de usuário (110, 1012) sendo executada pelo servidor de emulação do terminal de usuário (100); receber uma solicitação de comunicação da entidade de rede (150) para estabelecer um serviço de comunicação (140) entre o usuário (Rótulo de Usuário nº 1) e um terminal de usuário solicitante; e responsivo à solicitação de comunicação, realizar: identificação de um conjunto de dispositivos de usuário de I/O dentre os dispositivos de usuário de I/O (130) identificados pela base de dados (120) que são determinados como proximamente localizados em relação a um local do usuário (Rótulo de Usuário nº 1) e são adicionalmente determinados, com base nas capacidades de UI identificadas pela base de dados (120) para o
18 / 22 conjunto de dispositivos de usuário de I/O (130) e com base no conteúdo da solicitação de comunicação, para satisfazer uma regra de capacidade combinada para ser combinável para prover uma interface de usuário de I/O combinada para o usuário (Rótulo de Usuário nº 1) para fazer interface com a aplicação de emulação do terminal de usuário (110, 1012) para prover o serviço de comunicação (140); e com base na determinação de que o conjunto de dispositivos de usuário de I/O satisfaz a regra de capacidade combinada, realizar: provisão de sessões de comunicação entre a aplicação de emulação do terminal de usuário (110, 1012) e os dispositivos de usuário de I/O no conjunto e entre a aplicação de emulação do terminal de usuário (110, 1012) e o terminal de usuário solicitante por meio da entidade de rede (150); roteamento do tráfego de comunicação que é recebido a partir de pelo menos um dos dispositivos de usuário de I/O (130) no conjunto na direção do terminal de usuário solicitante; e para cada tipo de dados que é recebido como tráfego de comunicação a partir do terminal de usuário solicitante, selecionar um dos dispositivos de usuário de I/O a partir do conjunto de dispositivos de usuário de I/O (130) com base em características combinadas do tipo de dados em relação às capacidades de UI identificadas pela base de dados (120) para o um dos dispositivos de usuário de I/O e, então, rotear os dados do tipo de dados na direção do endereço de rede daquele selecionado dentre os dispositivos de usuário de I/O; distinguindo em que as operações compreendem adicionalmente: receber uma outra solicitação de comunicação a partir da entidade de rede (150) para estabelecer um outro serviço de comunicação (140) entre um outro usuário (Rótulo de Usuário nº 2) e um outro terminal de usuário solicitante; e
19 / 22 responsivo à uma outra solicitação de comunicação, realizar: determinar se um outro conjunto de dispositivos de usuário de I/O dentre os dispositivos de usuário de I/O (130) identificados pela base de dados (120) é determinado como proximamente localizado em relação a um local do um outro usuário (Rótulo de Usuário nº 2) e disponível para uso para o um outro serviço de comunicação (140) e é adicionalmente determinado, com base nas capacidades de UI identificadas pela base de dados (120) para o um outro conjunto de dispositivos de usuário de I/O, para satisfazer a regra de capacidade combinada para ser combinável para prover uma UI de I/O combinada para o um outro usuário (Rótulo de Usuário nº 2) para fazer interface com uma outra aplicação de emulação do terminal de usuário (110) para prover o um outro serviço de comunicação (140); e com base na determinação de que nenhum outro conjunto de dispositivos de usuário de I/O é determinado para satisfazer a regra de capacidade combinada, disponível para uso pelo um outro serviço de comunicação (140), e proximamente localizado em relação ao local do um outro usuário (Rótulo de Usuário nº 2), configurar um dos dispositivos de usuário de I/O no conjunto de dispositivos de usuário de I/O (130) que está proximamente localizado em relação ao um outro usuário (Rótulo de Usuário nº 2) mas está sendo atualmente usado pelo usuário (Rótulo de Usuário nº 1), para operar para prover uma UI compartilhada que é usada pelo usuário (Rótulo de Usuário nº 1) ao mesmo tempo em que o serviço de comunicação (140) continua a ser provido para o usuário (Rótulo de Usuário nº 1) e que é adicionalmente usado pelo um outro usuário (Rótulo de Usuário nº 2) ao mesmo tempo em que o um outro serviço de comunicação (140) é provido para o um outro usuário (Rótulo de Usuário nº 2).
22. Meio de armazenamento não transitório legível por computador, caracterizado pelo fato de que compreende instruções legíveis,
20 / 22 que quando lidas por um processador (900) em um dispositivo de usuário de entrada e/ou saída, I/O, (130) dentre uma pluralidade de dispositivos de usuário de I/O (130), que é configurada como um dispositivo de usuário de I/O de controle, que provê serviços de comunicação (140) usando um conjunto dos dispositivos de usuário de I/O, faz o processador (900) realizar operações que compreendem: manter uma base de dados (120) que identifica endereços de rede dos dispositivos de usuário de I/O e identifica adicionalmente capacidades de interface de usuário, UI, dos dispositivos de usuário de I/O, com base no conteúdo das mensagens de registro recebidas; registrar um endereço de rede de uma aplicação de emulação do terminal de usuário (912) e um identificador de usuário único com uma entidade de rede (150) que provê serviços de comunicação (140), cujo identificador de usuário único é transmitido por um dispositivo eletrônico (Rótulo de Usuário nº1) carregado por um usuário e recebido por um ou mais dos dispositivos de usuário de I/O (130) que estão localizados próximos ao usuário, ou determinado por operações de biometria realizadas por um ou mais dos dispositivos de usuário de I/O (130) que estão localizados próximos ao usuário, a aplicação de emulação do terminal de usuário (912) sendo executada pelo dispositivo de usuário de I/O de controle; receber uma solicitação de comunicação a partir da entidade de rede (150) para estabelecer um serviço de comunicação (140) entre o usuário (Rótulo de Usuário nº 1) e um terminal de usuário solicitante; e responsivo à solicitação de comunicação, realizar: identificação do conjunto de dispositivos de usuário de I/O dentre os dispositivos de usuário de I/O (130) identificados pela base de dados (120) que são determinados como proximamente localizados em relação a um local do usuário (Rótulo de Usuário nº 1) e são adicionalmente determinados, com base nas capacidades de UI identificadas pela base de dados (120) para o
21 / 22 conjunto de dispositivos de usuário de I/O (130) e com base no conteúdo da solicitação de comunicação, para satisfazer uma regra de capacidade combinada para ser combinável para prover uma interface de usuário de I/O combinada para o usuário (Rótulo de Usuário nº 1) para fazer interface com a aplicação de emulação do terminal de usuário (912) para prover o serviço de comunicação (140); e com base na determinação de que o conjunto de dispositivos de usuário de I/O satisfaz a regra de capacidade combinada, realizar: provisão de sessões de comunicação entre a aplicação de emulação do terminal de usuário (912) e cada um dos dispositivos de usuário de I/O (130) no conjunto, e entre a aplicação de emulação do terminal de usuário (912) e o terminal de usuário solicitante por meio da entidade de rede (150); roteamento do tráfego de comunicação que é recebido a partir de pelo menos um dos dispositivos de usuário de I/O no conjunto na direção do terminal de usuário solicitante; e para cada tipo de dados que é recebido como tráfego de comunicação a partir do terminal de usuário solicitante, seleção de um dos dispositivos de usuário de I/O dentre o conjunto de dispositivos de usuário de I/O com base nas características combinadas do tipo de dados em relação às capacidades de UI identificadas pela base de dados para o um dos dispositivos de usuário de I/O e, então, roteamento dos dados do tipo de dados na direção do endereço de rede daquele selecionado dentre os dispositivos de usuário de I/O; distinguindo em que as operações compreendem adicionalmente: receber uma outra solicitação de comunicação a partir da entidade de rede (150) para estabelecer um outro serviço de comunicação (140) entre um outro usuário (Rótulo de Usuário nº 2) e um outro terminal de
22 / 22 usuário solicitante; e responsivo à uma outra solicitação de comunicação, realizar: determinar se um outro conjunto de dispositivos de usuário de I/O dentre os dispositivos de usuário de I/O (130) identificados pela base de dados (120) é determinado como proximamente localizado em relação a um local do um outro usuário (Rótulo de Usuário nº 2) e disponível para uso para o um outro serviço de comunicação (140) e é adicionalmente determinado, com base nas capacidades de UI identificadas pela base de dados (120) para o um outro conjunto de dispositivos de usuário de I/O, para satisfazer a regra de capacidade combinada para ser combinável para prover uma UI de I/O combinada para o um outro usuário (Rótulo de Usuário nº 2) para fazer interface com uma outra aplicação de emulação do terminal de usuário (110) para prover o um outro serviço de comunicação (140); e com base na determinação de que nenhum outro conjunto de dispositivos de usuário de I/O é determinado para satisfazer a regra de capacidade combinada, disponível para uso pelo um outro serviço de comunicação (140), e proximamente localizado em relação ao local do um outro usuário (Rótulo de Usuário nº 2), configurar um dos dispositivos de usuário de I/O no conjunto de dispositivos de usuário de I/O (130) que está proximamente localizado em relação ao um outro usuário (Rótulo de Usuário nº 2) mas está sendo atualmente usado pelo usuário (Rótulo de Usuário nº 1), para operar para prover uma UI compartilhada que é usada pelo usuário (Rótulo de Usuário nº 1) ao mesmo tempo em que o serviço de comunicação (140) continua a ser provido para o usuário (Rótulo de Usuário nº 1) e que é adicionalmente usado pelo um outro usuário (Rótulo de Usuário nº 2) ao mesmo tempo em que o um outro serviço de comunicação (140) é provido para o um outro usuário (Rótulo de Usuário nº 2).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2019/050870 WO2020147924A1 (en) | 2019-01-15 | 2019-01-15 | Providing communication services using sets of i/o devices |
Publications (2)
Publication Number | Publication Date |
---|---|
BR112021009159A2 true BR112021009159A2 (pt) | 2021-08-17 |
BR112021009159B1 BR112021009159B1 (pt) | 2024-10-15 |
Family
ID=
Also Published As
Publication number | Publication date |
---|---|
WO2020147924A1 (en) | 2020-07-23 |
AU2019423434A1 (en) | 2021-07-08 |
CA3126770A1 (en) | 2020-07-23 |
CO2021007305A2 (es) | 2021-06-21 |
AU2019423434B2 (en) | 2022-06-30 |
US20220086019A1 (en) | 2022-03-17 |
CN113366812A (zh) | 2021-09-07 |
SG11202104338QA (en) | 2021-05-28 |
JP7257526B2 (ja) | 2023-04-13 |
US11212130B2 (en) | 2021-12-28 |
EP3912312B1 (en) | 2022-07-20 |
PT3912312T (pt) | 2022-08-04 |
PL3912312T3 (pl) | 2022-11-21 |
US12009940B2 (en) | 2024-06-11 |
JP2022517946A (ja) | 2022-03-11 |
US20210344520A1 (en) | 2021-11-04 |
CN113366812B (zh) | 2024-03-12 |
ES2927296T3 (es) | 2022-11-04 |
EP3912312A1 (en) | 2021-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12009940B2 (en) | Providing communication services using sets of I/O devices | |
EP3984204B1 (en) | Providing communication services using sets of i/o user devices | |
KR102492203B1 (ko) | 기기간 통신 네트워크에서의 자동화된 서비스 등록 | |
US11089469B2 (en) | Subscriber-driven sharing of a communications service | |
WO2019011203A1 (zh) | 设备接入方法、设备及系统 | |
US20200053136A1 (en) | Originating caller verification via insertion of an attestation parameter | |
US10645580B2 (en) | Binding an authenticated user with a wireless device | |
US20240275843A1 (en) | Providing communication services through i/o user devices to a user | |
JP6305786B2 (ja) | 着信制御装置、着信制御方法、及びプログラム | |
US9860736B1 (en) | Providing network resource access based on a purpose identifier | |
US10601928B2 (en) | Multiple device and multiple line connected home and home monitoring | |
GB2598293A (en) | Apparatus, methods, and computer programs | |
BR112021009159B1 (pt) | Servidor de emulação do terminal de usuário, dispositivo de usuário de entrada e/ou saída, e, produto de programa de computador | |
WO2023208354A1 (en) | Authentication of user tags obtaining communication services via i/o user devices performing user terminal emulation as a cloud computing service | |
JP2014171026A (ja) | 音声通話制御システム、制御装置及び制御方法 | |
WO2024199678A1 (en) | Secure allocation of a user terminal emulator for authenticated user who is registered to another user terminal emulator | |
WO2023213395A1 (en) | Echo cancellation for i/o user devices performing user terminal emulation as a cloud computing service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B15K | Others concerning applications: alteration of classification |
Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04L 12/28 , G06F 9/455 , H04W 4/00 Ipc: H04L 12/28 (2006.01), H04L 65/1059 (2022.01), H04L |
|
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 15/01/2019, OBSERVADAS AS CONDICOES LEGAIS |
|
B16C | Correction of notification of the grant [chapter 16.3 patent gazette] |
Free format text: REFERENTE A RPI 2806 DE 15/10/2024, QUANTO AO ITEM (54) TITULO. |