BR112016006437B1 - Método e dispositivo para comunicação entre um primeiro aplicativo em um primeiro dispositivo e um segundo aplicativo em um segundo dispositivo - Google Patents

Método e dispositivo para comunicação entre um primeiro aplicativo em um primeiro dispositivo e um segundo aplicativo em um segundo dispositivo Download PDF

Info

Publication number
BR112016006437B1
BR112016006437B1 BR112016006437-2A BR112016006437A BR112016006437B1 BR 112016006437 B1 BR112016006437 B1 BR 112016006437B1 BR 112016006437 A BR112016006437 A BR 112016006437A BR 112016006437 B1 BR112016006437 B1 BR 112016006437B1
Authority
BR
Brazil
Prior art keywords
application
websocket server
websocket
connection
communication
Prior art date
Application number
BR112016006437-2A
Other languages
English (en)
Other versions
BR112016006437A2 (pt
Inventor
Young-sun RYU
Original Assignee
Samsung Electronics Co., Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co., Ltd filed Critical Samsung Electronics Co., Ltd
Publication of BR112016006437A2 publication Critical patent/BR112016006437A2/pt
Publication of BR112016006437B1 publication Critical patent/BR112016006437B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Stored Programmes (AREA)
  • Communication Control (AREA)

Abstract

MÉTODO E APARELHO PARA COMUNICAÇÃO ESPECÍFICA A DISPOSITIVO ENTRE PROGRAMAS DE APLICATIVO. A presente invenção se refere a um método para fornecer comunicação entre programas de aplicativo em execução através de dispositivos conectados a uma mesma rede, e que compreende: Uma etapa para conectar um primeiro programa de aplicativo, que está em execução em um primeiro dispositivo através de um servidor de websocket no primeiro dispositivo com um segundo programa de aplicativo, que está em execução em um segundo dispositivo; e uma etapa para transmitir e receber dados entre o segundo programa de aplicativo e o primeiro programa de aplicativo através do servidor de websocket.

Description

DESCRIÇÃO DETALHADA DA INVENÇÃO CAMPO DA TÉCNICA
[001] A presente revelação refere-se a um método e aparelho para comunicação entre aplicativos em execução em dispositivos conectados à mesma rede.
TÉCNICA ANTECEDENTE
[002] Com o desenvolvimento de tecnologia de comunicação sem fio, foram introduzidas comunicação de dados bidirecional em tempo real e comunicação de websocket que podem suportar uma pluralidade de usuários concomitantes. A comunicação de websocket se baseia na comunicação entre servidores e clientes.
[003] A Figura 1 é uma vista para descrever um exemplo de um método de comunicação de websocket geral.
[004] Com referência à Figura 1, assume-se que um servidor 102 suporta comunicação de websocket e o primeiro ao quarto clientes 104, 106, 108 e 110 se conectam ao servidor 102 com uso de um protocolo websocket para transmitir/receber dados para/a partir do servidor 102. Na Figura 1, para conveniência de descrição, é mostrado um servidor que suporta comunicação de websocket, no entanto, dois ou mais servidores podem existir.
[005] A comunicação de websocket supera a desvantagem (ou seja, comunicação unidirecional) de Protocolo de Transferência de Hiper Texto (HTTP) que é um dos típicos métodos de comunicação para fornecer comunicação bidirecional contínua entre servidores e clientes. Além disso, uma vez que a comunicação de websocket pode interfuncionar facilmente com a Linguagem de Marcação de Hipertexto 5 (HTML 5) sem ter um servidor para executar programação complicada, espera-se que a comunicação de websocket seja aplicada de maneira ampla em ambientes que exigem comunicação bidirecional.
[006] Por essa razão, encontram-se em andamento estudos a respeito de um método para aplicação da comunicação de websocket na comunicação entre aplicativos em execução em diferentes dispositivos. Consequentemente, fazem-se necessários procedimentos detalhados para aplicação de comunicação de websocket projetada para comunicação bidirecional entre servidores e clientes à comunicação entre aplicativos.
REVELAÇÃO PROBLEMA TÉCNICO
[007] A presente revelação fornece um aparelho e um método para comunicação entre aplicativos em execução em dispositivos diferentes conectados à mesma rede.
[008] A presente revelação também fornece um aparelho e um método para usar um protocolo websocket para comunicação entre um aplicativo em execução em um primeiro dispositivo e um aplicativo escravo que interfunciona com o aplicativo e que está em execução em um segundo dispositivo.
SOLUÇÃO TÉCNICA
[009] De acordo com um aspecto das modalidades exemplificativas da presente revelação, é fornecido um método para comunicação entre uma pluralidade de aplicativos em execução em uma pluralidade de dispositivos conectados a uma mesma rede, que inclui: Conectar um primeiro aplicativo em execução em um primeiro dispositivo a um segundo aplicativo em execução em um segundo dispositivo através de um servidor de websocket no primeiro dispositivo; e transmitir e receber dados entre o primeiro aplicativo e o segundo aplicativo através do servidor de websocket.
[010] De acordo com outro aspecto das modalidades exemplificativas da presente revelação, é fornecido um primeiro aparelho para comunicação entre uma pluralidade de aplicativos em execução em uma pluralidade de dispositivos conectados a uma mesma rede, que inclui: Um servidor de websocket configurado para fornecer uma conexão entre um primeiro aplicativo em execução no primeiro aparelho e um segundo aplicativo em execução em um segundo dispositivo e transmitir e receber dados entre o primeiro aplicativo e o segundo aplicativo através da conexão.
EFEITOS VANTAJOSOS
[011] De acordo com a presente revelação, são fornecidos meios de comunicação para comunicação entre aplicativos em execução em dispositivos diferentes de modo que um usuário possa criar, por exemplo, um aplicativo de um segundo dispositivo que interfunciona com um aplicativo de um primeiro dispositivo. Consequentemente, o usuário pode criar um aplicativo de controle remoto que pode controlar o primeiro dispositivo através do segundo dispositivo e pode, também, manipular um aplicativo de entrada do segundo dispositivo através do primeiro dispositivo.
BREVE DESCRIÇÃO DOS DESENHOS
[012] A Figura 1 é uma vista para descrição de um exemplo de um método em que opera o websocket geral;
[013] A Figura 2 mostra um exemplo de uma configuração básica para descrição de comunicação entre aplicativos de acordo com uma modalidade da presente revelação;
[014] A Figura 3 é um fluxograma que ilustra um exemplo de um método de inicialização e de encerramento de um servidor de websocket em um primeiro dispositivo de acordo com uma modalidade da presente revelação;
[015] A Figura 4 é um fluxograma que ilustra um exemplo de um método em que um aplicativo de um segundo dispositivo se comunica com um aplicativo de um primeiro dispositivo, de acordo com uma modalidade da presente revelação;
[016] A Figura 5 é um fluxograma que ilustra um exemplo de um método de operação de um primeiro dispositivo de acordo com uma modalidade da presente revelação;
[017] A Figura 6 é um fluxograma que ilustra um exemplo de um método de operação de um segundo dispositivo de acordo com uma modalidade da presente revelação; e
[018] A Figura 7 é uma vista para descrição de uma modalidade à qual a presente revelação é aplicada de fato.
MELHOR MODO
[019] Agora, modalidades preferidas da presente revelação serão descritas em detalhes com referência às figuras. Ao longo dos desenhos, números de referência semelhantes serão entendidos se referirem a componentes semelhantes. Na seguinte descrição da presente revelação, uma descrição detalhada de funções conhecidas e configurações incorporadas no presente documento será omitida quando a mesma puder ocultar a matéria da presente invenção. Além disso, apesar de termos usados na presente revelação terem sido selecionados em consideração às funções da presente revelação, os mesmos podem variar de acordo com intenções do usuário ou do operador, precedentes jurídicos e similares. Logo, os termos devem ser definidos com base nos conteúdos da totalidade do relatório descritivo e não por simples menção dos termos em si.
[020] As modalidades da presente revelação sugerem um aparelho e um método para comunicação entre aplicativos em execução em dispositivos diferentes conectados à mesma rede. De acordo com uma modalidade, a presente revelação sugere um aparelho e um método para usar um protocolo websocket para comunicação entre um aplicativo em execução em um primeiro dispositivo e um aplicativo escravo que interfunciona com o aplicativo e que está em execução em um segundo dispositivo em um ambiente onde uma pluralidade de dispositivos é conectada à mesma rede, por exemplo, uma rede residencial.
[021] A Figura 2 mostra um exemplo de uma configuração básica para descrever a comunicação entre aplicativos específicos a dispositivo, de acordo com uma modalidade da presente revelação. Para conveniência de descrição, a Figura 2 mostra componentes de acordo com a modalidade da presente revelação. Consequentemente, os componentes podem ser integrados em uma unidade ou divididos em uma pluralidade de subunidades de acordo com suas funções, de acordo com uma situação ou uma intenção do operador.
[022] Com referência à Figura 2, para conveniência de descrição, assume-se que um primeiro dispositivo 200 e um segundo dispositivo 210 são conectados à mesma rede, por exemplo, uma rede residencial. No entanto, podem existir outros dispositivos conectados à rede residencial além do primeiro dispositivo 200 e do segundo dispositivo 210, que não são mostrados na Figura 2.
[023] O primeiro dispositivo 200 pode ser definido como um dispositivo mestre no qual um aplicativo arbitrário está em execução. Por exemplo, o primeiro dispositivo 200 pode ser uma Televisão Digital (DTV) ou um terminal público tal como um Decodificador de Sinais (STB). O primeiro dispositivo 200 de acordo com uma modalidade da presente revelação pode incluir, por exemplo, um navegador de rede 204 e um servidor de websocket 206. O navegador de rede 204 pode corresponder a um componente que pode acionar um aplicativo de rede, e o servidor de websocket 206 pode ser um componente fornecido adicionalmente para comunicação entre um aplicativo do primeiro dispositivo 200 e um aplicativo de outro dispositivo, de acordo com uma modalidade da presente revelação. Por exemplo, o servidor de websocket 206 pode fornecer uma conexão e uma comunicação entre um aplicativo em execução no primeiro dispositivo 200 e um aplicativo(s) executado(s) no segundo dispositivo 210.
[024] O segundo dispositivo 210 pode ser definido como um dispositivo escravo que interfunciona com um dos dispositivos conectados à rede residencial para executar um aplicativo que não é mostrado na Figura 2. O segundo dispositivo 210 pode ser um terminal pessoal, tal como um terminal de comunicação móvel, um computador pessoal do tipo tablet (PC) e um smartphone. O segundo dispositivo 210 de acordo com uma modalidade da presente revelação pode incluir, assim como o primeiro dispositivo 200, um navegador de rede 212 que pode acionar um aplicativo de rede. Neste relatório descritivo, será descrito um exemplo em que a comunicação de aplicativo para aplicativo é executada em um aplicativo de rede. No entanto, o aplicativo pode ser qualquer outro aplicativo que suporta uma Interface de Programa de Aplicativo (API) e procedimentos descritos na presente revelação. Por exemplo, o aplicativo pode ser um aplicativo nativo executado no Sistema Operacional Android (OS) ou iOS para iPhone.
[025] O aplicativo em execução no primeiro dispositivo 200 não pode se comunicar diretamente com o aplicativo (ou seja, um aplicativo de rede) executado no segundo dispositivo 210. Portanto, na modalidade da presente invenção, o servidor de websocket 206 incluso no primeiro dispositivo 200 pode ser usado como se fosse um proxy a fim de permitir que aplicativos específicos a dispositivo se conectem entre si e se comuniquem entre si. Ou seja, o servidor de websocket 206 pode atuar como um relé para conexão e comunicação entre aplicativos específicos a dispositivo. Mais especificamente, na modalidade atual, o navegador de rede 204 do primeiro dispositivo 200 pode se comunicar com o servidor de websocket 206 do primeiro dispositivo 200 com uso de um protocolo Websocket (WS), e, de modo semelhante, o navegador de rede 212 (ou um aplicativo nativo) do segundo dispositivo 210 pode se comunicar com o servidor de websocket 206 através do protocolo WS.
[026] Doravante, para conveniência de descrição, um aparelho e métodos para suportar a comunicação entre aplicativos específicos a dispositivo, de acordo com modalidades da presente revelação, serão descritos com base na configuração mostrada na Figura 2.
[027] A Figura 3 é um fluxograma que ilustra um exemplo de um método de inicialização e de encerramento de um servidor de websocket em um primeiro dispositivo, de acordo com uma modalidade da presente revelação. Para conveniência de descrição, assume-se que o primeiro dispositivo 300 é uma DTV conectada a uma rede residencial e o segundo dispositivo 310 é um dispositivo móvel conectado à rede residencial. No entanto, o primeiro dispositivo 300 e o segundo dispositivo 310 podem ser quaisquer outros dispositivos contanto que os mesmos possam suportar métodos de acordo com a presente revelação.
[028] Primeiro, a operação em que um primeiro dispositivo 300 inicia um servidor de websocket 304 será descrita. Com referência à Figura 3, um aplicativo de rede (doravante, referido como um "Aplicativo Primário") 302 do primeiro dispositivo 300 pode transferir uma API para o servidor de websocket 304 do primeiro dispositivo 300 para iniciar o servidor de websocket 304 na operação 322. No presente documento, a API pode ser StartWS conforme visto na Tabela 1 abaixo.
Figure img0001
Figure img0002
[029] Nesse momento, o StartWS pode fornecer AppID que é um identificador (ID) do Aplicativo Primário 302 para interfuncionar com o Aplicativo Primário 302. No presente documento, o AppID do Aplicativo Primário 302 pode ser um ID ou Localizador Uniforme de Recurso (URL) que é usado para identificar o Aplicativo Primário 302. Logo, o servidor de websocket 304 pode iniciar a fim de se comunicar com o Aplicativo Primário 302 correspondente ao AppID e transmitir um sinal de conhecimento (ACK) que indica a conclusão de inicialização do Aplicativo Primário 302 em operação 324.
[030] Depois disso, a operação em que o primeiro dispositivo 300 encerra o servidor de websocket 304 será descrita.
[031] O Aplicativo Primário 302 pode transferir uma API ao servidor de websocket 304 do primeiro dispositivo 300 para encerrar o servidor de websocket 304 que está em execução na operação 326. A API que o Aplicativo Primário 302 chama pode ser um ShutdownWS conforme visto na Tabela 1. De modo semelhante, o ShutdownWS pode também fornecer o AppID. Então, o servidor de websocket 304 pode encerrar a comunicação com o Aplicativo Primário 302 que corresponde ao AppID e transfere um sinal de confirmação que indica a conclusão do encerramento ao Aplicativo Primário 302 do primeiro dispositivo 300 em operação 328.
[032] Na modalidade da Figura 3, um método em que o próprio primeiro dispositivo 300 inicia e encerra o servidor de websocket 304 para um aplicativo específico no primeiro dispositivo 300 foi descrito. De acordo com outra modalidade, após um servidor de websocket de um primeiro dispositivo que pode ser usado em inicializações comuns, APIs que serão descritas no procedimento seguinte podem permitir que um aplicativo de um segundo dispositivo interfuncione com o servidor de websocket do primeiro dispositivo.
[033] A Figura 4 é um fluxograma que ilustra um exemplo de um método em que um aplicativo de um segundo dispositivo se comunica com um aplicativo de um primeiro dispositivo, de acordo com uma modalidade da presente revelação. A Tabela 2 seguinte mostra exemplos de APIs para comunicação entre aplicativos específicos a dispositivo.
Figure img0003
Figure img0004
[034] Com referência à Figura 4, um aplicativo (doravante, referido como "Aplicativo de Tela de Acompanhante") 412 de um segundo dispositivo 410 pode criar um objeto de websocket, e, então, solicitar um servidor de websocket 404 de um primeiro dispositivo 400 para chamar uma API Aberta() para estabelecer uma operação de canal de comunicação 420. A API Aberta() pode transferir um ID (também referido como um AppID) de um Aplicativo Primário 402 e um ID (também referido como um CSAppID) do Aplicativo CS 412. Então, o Aplicativo Primário 402 pode criar um objeto de Websocket que usa o AppID e o CSAppID, e, então, solicita que o servidor de websocket 404 chame a API Aberta() para estabelecer um canal de comunicação na operação 422. De modo semelhante, a API Aberta() do Aplicativo Primário 402 pode também transferir o AppID e o CSAppID.
[035] Então, o servidor de websocket 404 do primeiro dispositivo 400 pode estabelecer um canal de comunicação entre o Aplicativo Primário 402 correspondente ao AppID e o Aplicativo CS 412 correspondente ao CSAppID na operação 424. Caso o canal de comunicação seja estabelecido de acordo com o processo acima descrito, o Aplicativo CS 412 poderá se comunicar com o Aplicativo Primário 402 através do Canal de Comunicação. De modo semelhante, o Aplicativo Primário 402 pode também se comunicar com o Aplicativo CS 412 através do Canal de Comunicação. Mais especificamente, um método em que cada um dentre o Aplicativo Primário 402 e o Aplicativo CS 412 se conecta ao servidor de websocket 404 nas operações 420 a 424 pode usar, por exemplo, a Tabela 3 abaixo.
Figure img0005
[036] Conforme descrito acima, o servidor de websocket 404 pode determinar se informações adquiridas a partir da API Aberta() do Aplicativo Primário 402 são idênticas às informações adquiridas a partir do Aplicativo CS 412. Na modalidade da Figura 4, foi descrito, como um exemplo, um caso em que cada um dentre o Aplicativo Primário 402 e o Aplicativo CS 412 transmite AppID e CSAppID como informações a fim de estabelecer um canal de comunicação. Caso o servidor de websocket 404 determine que as informações adquiridas a partir da API Aberta() do Aplicativo Primário 402 sejam idênticas às informações adquiridas a partir do Aplicativo CS 412, o servidor de websocket 404 pode retransmitir uma conexão ao Aplicativo Primário 402 e uma conexão ao Aplicativo CS 412 para, então, estabelecer um canal de comunicação entre o Aplicativo Primário 402 e o Aplicativo CS 412. Consequentemente, a conexão entre o Aplicativo Primário 402 e o servidor de websocket 404 e a conexão entre o Aplicativo CS 412 e o servidor de websocket 404 podem ser alocadas no mesmo ID de canal. O ID de canal pode ser gerado como um valor único com base no endereço do servidor de websocket 404, no AppID do Aplicativo Primário 402 e no CSAppID do Aplicativo CS 412, por exemplo, conforme visto na Tabela 3.
[037] Após o mesmo, caso dados que devem ser transmitidos a partir do Aplicativo CS 412 para o Aplicativo Primário 402 sejam gerados, o Aplicativo CS 412 pode chamar um API de envio() a fim de transmitir os dados gerados para o servidor de websocket 404 na operação 426. Então, o servidor de websocket 404 pode chamar um Evento (em mensagem) para informar ao Aplicativo Primário 402 que dados foram recebidos na operação 428. Então, o Aplicativo Primário 402 pode refletir os dados recebidos para si na operação 430. Por exemplo, caso o Aplicativo Primário 402 seja um aplicativo de rede, a operação 430 pode ser executada através de uma atualização de Modelo de Objeto de Documento (DOM).
[038] Entretanto, caso uma parte do Aplicativo Primário 402 seja alterada, o Aplicativo Primário 402 pode chamar o API de envio() para transmitir informações acerca da parte alterada ao servidor de websocket 404 na operação 432. Então, o servidor de websocket 404 do primeiro dispositivo 400 pode transferir as informações ao Aplicativo CS 412 através do Canal de Comunicação entre o Aplicativo Primário 402 e o Aplicativo CS 412 estabelecido de acordo com o processo acima descrito na operação 434. Nesse momento, as informações podem ser transferidas através de um Evento (em mensagem). O Aplicativo CS 412 pode receber as informações e refletir as informações para si, assim como a operação 430, na operação 436.
[039] Consequentemente, caso a comunicação seja concluída, o Aplicativo CS 412 pode chamar uma API de fechamento() para transmitir uma solicitação para fechar o Canal de Comunicação com o Aplicativo Primário 402 para o servidor de websocket 404 na operação 438. De modo semelhante, o Aplicativo Primário 402 pode também chamar o API de fechamento() para transmitir uma solicitação para fechar o Canal de Comunicação com o Aplicativo Primário para o servidor de websocket 404 na operação 440. Então, o servidor de websocket 404 pode desconectar o Aplicativo Primário 402 do Aplicativo CS 412. Consequentemente, o Aplicativo Primário 402 pode ser desconectado do Aplicativo CS 412 na operação 442.
[040] A Figura 5 é um fluxograma que ilustra um exemplo de um método de operação de um primeiro dispositivo de acordo com uma modalidade da presente revelação.
[041] Com referência à Figura 5, um primeiro dispositivo pode receber uma página hypertext markup language (HTML) na operação 500. A página HTML pode incluir um AppID que indica um Aplicativo Primário do primeiro dispositivo. Então, o primeiro dispositivo pode iniciar um servidor de websocket com uso do AppID de acordo com um API chamado a partir da página HTML na operação 502.
[042] Então, o Aplicativo Primário pode buscar um segundo dispositivo disponível em uma pluralidade de dispositivos conectados a uma rede a qual o primeiro dispositivo é conectado na operação 504. Então, o Aplicativo Primário pode transmitir informações de inicialização de um Aplicativo CS do segundo dispositivo encontrado ao segundo dispositivo na operação 506. Após o mesmo, o primeiro dispositivo pode exibir uma página HTML para solicitar uma entrada de usuário em uma tela de exibição na operação 508. Caso o primeiro dispositivo receba uma entrada de usuário na operação 510, o primeiro dispositivo pode determinar se os dados a serem transmitidos ao Aplicativo CS através da entrada de usuário são gerados na operação 512. Caso o primeiro dispositivo determine que não são gerados dados a serem transmitidos ao Aplicativo CS, o primeiro dispositivo poderá proceder para a operação 516.
[043] Caso o primeiro dispositivo determine que dados a serem transmitidos ao Aplicativo CS são gerados, o primeiro dispositivo poderá transmitir os dados ao servidor de websocket na operação 514. Então, o primeiro dispositivo poderá determinar se existem dados a serem recebidos através do servidor de websocket na operação 516. Caso o primeiro dispositivo determine que não existem dados a serem recebidos através do servidor de websocket, o primeiro dispositivo poderá proceder para a operação 508 a fim de aguardar outra entrada de usuário.
[044] Caso o primeiro dispositivo determine que não existem dados a serem recebidos através do servidor de websocket, o primeiro dispositivo poderá receber os dados através do servidor de websocket na operação 518. Então, o primeiro dispositivo poderá determinar se um aplicativo ID adquirido a partir dos dados recebidos é o AppID do primeiro dispositivo na operação 520. Caso o primeiro dispositivo determine que o aplicativo ID adquirido a partir dos dados recebidos é o AppID do primeiro dispositivo, o primeiro dispositivo poderá atualizar o DOM na operação 522 a fim de exibir a HTML para a qual os dados recebidos serão refletidos na tela de exibição na operação 508.
[045] A Figura 6 é um fluxograma que ilustra um exemplo de um método de operação de um segundo dispositivo de acordo com uma modalidade da presente revelação.
[046] Com referência à Figura 6, assume-se que um segundo dispositivo recebe uma página HTML que são informações transmitidas a partir do primeiro dispositivo na operação 506 da Figura 5 na operação 600. No atual exemplo, para conveniência de descrição, assume-se que um Aplicativo CS do segundo dispositivo é um aplicativo de rede e que o segundo dispositivo recebe uma página HTML. No entanto, de acordo com outro exemplo, caso as informações recebidas pelo segundo dispositivo a partir do primeiro dispositivo na operação 600 indique um aplicativo nativo do segundo dispositivo, o segundo dispositivo poderá iniciar o Aplicativo nativo.
[047] Então, o Aplicativo CS do segundo dispositivo pode se conectar a um servidor de websocket do primeiro dispositivo com uso de um CSAppID do segundo dispositivo e um ID de Aplicativo do primeiro dispositivo adquirido a partir da mensagem HTML na operação 602.
[048] Então, o segundo dispositivo poderá exibir uma página HTML a fim de solicitar que uma entrada de usuário interfuncione com um Aplicativo Primário do primeiro dispositivo em uma tela de exibição na operação 604. Caso o segundo dispositivo receba uma entrada de usuário na operação 606, o segundo dispositivo poderá determinar se existem dados a serem transmitidos ao Aplicativo Primário do primeiro dispositivo de acordo com a entrada de usuário na operação 608. Caso o segundo dispositivo determine que não existem dados a serem transmitidos ao Aplicativo Primário do primeiro dispositivo, de acordo com a entrada de usuário, o segundo dispositivo poderá proceder para a operação 612.
[049] Caso o segundo dispositivo determine que existam dados a serem transmitidos ao Aplicativo Primário do primeiro dispositivo, de acordo com a entrada de usuário, o segundo dispositivo poderá transmitir os dados ao Aplicativo Primário do primeiro dispositivo através do servidor de websocket do primeiro dispositivo conectado na operação 602, na operação 610.
[050] Entretanto, o segundo dispositivo poderá determinar se existem dados a serem recebidos através do servidor de websocket na operação 612. Caso o segundo dispositivo determine que não existam dados a serem recebidos, o segundo dispositivo poderá receber os dados na operação 614. Então, o segundo dispositivo poderá refletir os dados recebidos a fim de atualizar o DOM na operação 616. Após o mesmo, o segundo dispositivo poderá retornar à operação 604 a fim de reconfigurar a HTML com base no resultado da atualização e exibir a HTML reconfigurada em sua própria tela de exibição.
[051] Entretanto, caso o segundo dispositivo determine na operação 612 que não existem dados a serem recebidos através do servidor de websocket, o segundo dispositivo poderá retornar à operação 604 a fim de aguardar outra entrada de usuário.
[052] A Figura 7 é uma vista para descrição de uma modalidade para a qual a presente revelação é aplicada de fato.
[053] Com referência à Figura 7, assume-se que um primeiro dispositivo 700 e um segundo dispositivo 705 são conectados a uma rede residencial. Assume-se também que um usuário controla o primeiro dispositivo 700 através do segundo dispositivo 705 quando o primeiro dispositivo 700 recebe conteúdo de transmissão. Por exemplo, o usuário poderá usar o segundo dispositivo 705 que permite um usuário realizar facilmente entradas de usuário a fim de controlar, de maneira remota, o primeiro dispositivo 700 ou a fim de realizar uma entrada de usuário tal como uma operação de inserção de um (uns) caractere(s). O usuário poderá também usar o segundo dispositivo 705 a fim de selecionar uma tela exibida de acordo com o conteúdo de transmissão do primeiro dispositivo 700 a fim de executar um aplicativo fornecido a cada conteúdo de transmissão, ou a fim de tomar um voto. O primeiro dispositivo 700 pode incluir um servidor de websocket a fim de fornecer uma conexão e comunicação entre um aplicativo em execução no primeiro dispositivo 700 e um aplicativo em execução no segundo dispositivo 705 e configurado para manipular o primeiro dispositivo 700, conforme descrito acima.
[054] Será aparente para pessoas versadas na técnica que várias modificações e variações podem ser feitas na presente invenção sem se afastar do escopo e do espírito da invenção. Portanto, é entendido que a presente invenção cobre as modificações e variações desta invenção desde que estejam dentro do escopo das reivindicações anexas e seus equivalentes.

Claims (10)

1. Método para comunicação entre um primeiro aplicativo em um primeiro dispositivo e um segundo aplicativo em um segundo dispositivo, caracterizado pelo fato de que o método compreende: conectar, pelo primeiro dispositivo, o primeiro aplicativo ao segundo aplicativo através de um servidor de websocket no primeiro dispositivo; e transmitir, pelo primeiro dispositivo, dados a partir do primeiro aplicativo ao segundo aplicativo através do servidor de websocket, ou receber, pelo primeiro dispositivo, dados para o primeiro aplicativo a partir do segundo aplicativo através do servidor de websocket, em que uma conexão entre o primeiro aplicativo e o segundo aplicativo através do servidor de websocket é fornecida com base no servidor de websocket receber uma solicitação de conexão a partir de cada um dentre o primeiro aplicativo e o segundo aplicativo, e em que a conexão entre o primeiro aplicativo e o segundo aplicativo através do servidor de websocket é com base em um localizador uniforme de recurso (URL) de websocket relacionado com um nome de recurso relacionado ao primeiro aplicativo, e informação específica ao segundo aplicativo.
2. Método, de acordo com reivindicação 1, caracterizado pelo fato de que uma primeira conexão entre o servidor de websocket e o primeiro aplicativo é fornecida usando um protocolo do servidor de websocket, e em que uma segunda conexão entre o servidor de websocket e o segundo aplicativo é fornecida usando o protocolo do servidor de websocket.
3. Método, de acordo com reivindicação 2, caracterizado pelo fato de que a primeira conexão e a segunda conexão são retransmitidas através do servidor de websocket para estabelecer um canal de comunicação entre o primeiro aplicativo e o segundo aplicativo.
4. Método, de acordo com reivindicação 3, caracterizado pelo fato de que a primeira conexão e a segunda conexão são alocadas com um mesmo identificador de canal.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a conexão entre o primeiro aplicativo e o segundo aplicativo é desconectada em resposta a receber, pelo servidor de websocket, uma solicitação de desconexão a partir de cada um dentre o primeiro aplicativo e o segundo aplicativo.
6. Primeiro dispositivo para comunicação entre um primeiro aplicativo no primeiro dispositivo e um segundo aplicativo em um segundo dispositivo, caracterizado pelo fato de que o primeiro dispositivo compreende: um servidor de websocket; uma interface de comunicação; e um controlador acoplado à interface de comunicação, em que o controlador é configurado para: conectar o primeiro aplicativo ao segundo aplicativo através do servidor de websocket, e transmitir dados a partir do primeiro aplicativo ao segundo aplicativo através do servidor de websocket, ou receber dados para o primeiro aplicativo a partir do segundo aplicativo através do servidor de websocket, em que uma conexão entre o primeiro aplicativo e o segundo aplicativo através do servidor de websocket é fornecida com base no servidor de websocket receber uma solicitação de conexão a partir de cada um dentre o primeiro aplicativo e o segundo aplicativo, e em que a conexão entre o primeiro aplicativo e o segundo aplicativo através do servidor de websocket é com base em um localizador uniforme de recurso (URL) de websocket relacionado com um nome de recurso relacionado ao primeiro aplicativo e informação específica ao segundo aplicativo.
7. Primeiro dispositivo, de acordo com reivindicação 6, caracterizado pelo fato de que uma primeira conexão entre o servidor de websocket e o primeiro aplicativo é fornecida com uso de um protocolo do servidor de websocket, e em que uma segunda conexão entre o servidor de websocket e o segundo aplicativo é fornecida com uso do protocolo dor servidor de websocket.
8. Primeiro dispositivo, de acordo com reivindicação 7, caracterizado pelo fato de que a primeira conexão e a segunda conexão são retransmitidas através do servidor de websocket para estabelecer um canal de comunicação entre o primeiro aplicativo e o segundo aplicativo.
9. Primeiro dispositivo, de acordo com reivindicação 8, caracterizado pelo fato de que a primeira conexão e a segunda conexão são alocadas com um mesmo identificador de canal.
10. Primeiro dispositivo, de acordo com reivindicação 6, caracterizado pelo fato de que a conexão entre o primeiro aplicativo e o segundo aplicativo é desconectada em resposta a receber uma solicitação de desconexão a partir de cada um dentre o primeiro aplicativo e o segundo aplicativo.
BR112016006437-2A 2013-09-23 2014-09-22 Método e dispositivo para comunicação entre um primeiro aplicativo em um primeiro dispositivo e um segundo aplicativo em um segundo dispositivo BR112016006437B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020130112794A KR102121472B1 (ko) 2013-09-23 2013-09-23 기기 별 응용 프로그램간 통신을 위한 장치 및 방법
KR10-2013-0112794 2013-09-23
PCT/KR2014/008770 WO2015041488A1 (ko) 2013-09-23 2014-09-22 기기 별 응용 프로그램간 통신을 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
BR112016006437A2 BR112016006437A2 (pt) 2017-08-01
BR112016006437B1 true BR112016006437B1 (pt) 2022-11-22

Family

ID=52689088

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016006437-2A BR112016006437B1 (pt) 2013-09-23 2014-09-22 Método e dispositivo para comunicação entre um primeiro aplicativo em um primeiro dispositivo e um segundo aplicativo em um segundo dispositivo

Country Status (10)

Country Link
US (3) US9720745B2 (pt)
EP (1) EP3051417A4 (pt)
JP (1) JP6665086B2 (pt)
KR (1) KR102121472B1 (pt)
CN (1) CN105579969A (pt)
BR (1) BR112016006437B1 (pt)
CA (1) CA2925279C (pt)
MX (2) MX359294B (pt)
RU (1) RU2676418C2 (pt)
WO (1) WO2015041488A1 (pt)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015030412A1 (ko) * 2013-08-28 2015-03-05 엘지전자 주식회사 신호 송신 장치 및 제어 방법
KR101898492B1 (ko) * 2013-11-04 2018-09-13 엘지전자 주식회사 전자 장치 및 전자 장치의 제어 방법
KR102335007B1 (ko) 2015-04-01 2021-12-06 삼성전자주식회사 방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치
WO2016159727A1 (ko) * 2015-04-01 2016-10-06 삼성전자 주식회사 멀티미디어 시스템에서 디바이스들 간에 통신 방법 및 장치
CN107370775B (zh) * 2016-05-11 2020-04-28 阿里巴巴集团控股有限公司 一种启动应用的方法和系统
CN106776057B (zh) * 2016-11-22 2020-04-17 北京云知声信息技术有限公司 事件处理方法及装置
CN106547634B (zh) * 2016-11-28 2020-07-31 武汉斗鱼网络科技有限公司 一种跨进程通信的方法及装置
US20230297448A1 (en) * 2022-03-17 2023-09-21 OpenFin Inc. Initiating operations for applications via communication bridges

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001090838A2 (en) 2000-05-24 2001-11-29 Voltaire Advanced Data Security Ltd. Filtered application-to-application communication
US7472194B2 (en) 2002-06-28 2008-12-30 Qualcomm Incorporated Data channel resource optimization for devices in a network
KR100677141B1 (ko) * 2004-10-11 2007-02-02 삼성전자주식회사 일대일 이름-기반 소켓 통신 수행 장치 및 방법
US8166175B2 (en) * 2005-09-12 2012-04-24 Microsoft Corporation Sharing a port with multiple processes
KR100809395B1 (ko) * 2005-12-08 2008-03-05 한국전자통신연구원 원격 제어 기능을 구비한 휴대 단말 장치 및 이를 이용한원격 제어 방법
US20080098450A1 (en) * 2006-10-16 2008-04-24 Toptrend Global Technologies, Inc. Dual display apparatus and methodology for broadcast, cable television and IPTV
US20090143055A1 (en) 2007-12-04 2009-06-04 Roy Emek Mobile Application and Content Provisioning using Web Services Technology
US9459936B2 (en) * 2009-05-01 2016-10-04 Kaazing Corporation Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
KR101231203B1 (ko) * 2011-01-10 2013-02-15 주식회사 로직플랜트 통신기기와 정보기기 간 데이터 통신 시스템 및 통신 방법
US8327006B2 (en) 2011-02-24 2012-12-04 Jibe Mobile Endpoint device and article of manufacture for application to application communication over a network
US20140214967A1 (en) * 2011-08-26 2014-07-31 Nippon Hoso Kyokai Receiver and reception method
JP2013066159A (ja) * 2011-08-26 2013-04-11 Nippon Hoso Kyokai <Nhk> 受信機
CN103095669A (zh) * 2011-11-08 2013-05-08 联想(北京)有限公司 一种建立连接的方法、装置及设备
EP2608479A1 (en) * 2011-12-23 2013-06-26 France Telecom Method of communication between at least a first device requesting an execution of a remote function by a second device capable of executing the remote function
US9258380B2 (en) * 2012-03-02 2016-02-09 Realtek Semiconductor Corp. Cross-platform multimedia interaction system with multiple displays and dynamically-configured hierarchical servers and related method, electronic device and computer program product
TWI495329B (zh) * 2012-03-02 2015-08-01 Realtek Semiconductor Corp 具有多個顯示器和動態配置分層伺服器的跨平台多媒體互動系統,及相關的方法、電子裝置和電腦程式產品
US8937637B2 (en) * 2012-07-26 2015-01-20 Google Inc. Method and apparatus providing synchronization and control for server-based multi-screen videoconferencing
US8914832B2 (en) * 2012-12-14 2014-12-16 Sony Corporation Information processing apparatus, information processing method, and program
US9613011B2 (en) * 2012-12-20 2017-04-04 Cable Television Laboratories, Inc. Cross-reference of shared browser applications
CN105190631A (zh) * 2013-03-15 2015-12-23 卓尔医学产品公司 病人监护屏幕聚合

Also Published As

Publication number Publication date
US20160239353A1 (en) 2016-08-18
CA2925279C (en) 2022-10-18
US9720745B2 (en) 2017-08-01
RU2016115536A3 (pt) 2018-06-26
US10592303B2 (en) 2020-03-17
KR20150033163A (ko) 2015-04-01
MX359294B (es) 2018-09-24
KR102121472B1 (ko) 2020-06-17
JP2016533550A (ja) 2016-10-27
EP3051417A1 (en) 2016-08-03
EP3051417A4 (en) 2017-05-17
JP6665086B2 (ja) 2020-03-13
US20170308413A1 (en) 2017-10-26
BR112016006437A2 (pt) 2017-08-01
US10592301B2 (en) 2020-03-17
CA2925279A1 (en) 2015-03-26
MX2018011368A (es) 2022-01-18
US20190012215A1 (en) 2019-01-10
RU2016115536A (ru) 2017-10-30
MX2016003842A (es) 2016-08-04
CN105579969A (zh) 2016-05-11
WO2015041488A1 (ko) 2015-03-26
RU2676418C2 (ru) 2018-12-28

Similar Documents

Publication Publication Date Title
BR112016006437B1 (pt) Método e dispositivo para comunicação entre um primeiro aplicativo em um primeiro dispositivo e um segundo aplicativo em um segundo dispositivo
JP5740257B2 (ja) OSGiプログラム、OSGiシステム
US9639623B2 (en) Method for remotely controlling a video playing within a first web page at a first device from a second device using a document object model
JP2015531952A (ja) オフラインキャッシングの方法及び装置
JP7028117B2 (ja) 情報処理システム、情報処理装置、情報処理方法及びプログラム
JP2015018568A (ja) リモートユーザインターフェースサーバとリモートユーザインターフェースクライアントとの間のインターフェースのための装置及び方法
JP5937005B2 (ja) 近距離ネットワークにおける遠隔制御のための装置及び方法とこれをサポートするシステム
JP5590753B2 (ja) メッセージを提供する方法及びそのための端末装置
TW201526620A (zh) 基於以網路爲基礎的作業系統運行環境的螢幕影像傳輸播放方法及裝置
JP2013534678A (ja) 遠隔ユーザインターフェース管理装置及び方法とそのためのシステム
US9258436B2 (en) Method of easily configuring a network camera
JP6526201B2 (ja) データ通信方法及び装置
Carlson et al. Reinventing the share button for physical spaces
KR102401691B1 (ko) 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치
TWI513356B (zh) 網路裝置與系統及嵌入式控制程式之安裝及啓動方法
KR20170025967A (ko) 네트워크 패킷을 송수신 받을 수 있는 장치 및 그 방법
KR20150086708A (ko) 무선 통신 시스템에서 정보 송신 방법 및 장치
JPWO2015093192A1 (ja) 被制御装置、制御装置、および情報機器
KR20110004266A (ko) 휴대 기기 간 원격 인터넷 브라우징을 수행하기 위한 장치 및 방법

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
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 22/09/2014, OBSERVADAS AS CONDICOES LEGAIS

B16C Correction of notification of the grant [chapter 16.3 patent gazette]

Free format text: REFERENTE A RPI 2707 DE 22/11/2022, QUANTO AO ITEM (73) ENDERECO DO TITULAR E QUANTO AO ITEM (73) NOME DO INVENTOR.