Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR ENABLING A FULL-DUPLEX COMMUNICATION PROTOCOL BETWEEN A LOCAL BROWSER AND A LOCAL SERVER, SYSTEM AND INTRANET
Document Type and Number:
WIPO Patent Application WO/2016/074051
Kind Code:
A1
Abstract:
The present invention relates to a local server that is configured to exchange data with a local browser over a full-duplex communication-protocol channel. The computer-readable logic running on the local server is used to apply an algorithm to data that is received from or to be sent to the local browser.

Inventors:
FIGUEIREDO ALVES PAULO MARCIO (BR)
DE SOUZA NETTO RAFAEL SANTIAGO (BR)
DE ARAUJO RODRIGO ANTONIO (BR)
Application Number:
PCT/BR2015/000170
Publication Date:
May 19, 2016
Filing Date:
November 10, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GAS INFORMATICA LTDA (BR)
International Classes:
H04L29/06
Foreign References:
US20110099620A12011-04-28
US20030055963A12003-03-20
US7475425B22009-01-06
Attorney, Agent or Firm:
TRENCH ROSSI E WATANABE ADVOGADOS et al. (BR)
Download PDF:
Claims:
REIVINDICAÇÕES

1. ^Método para habilitar protocolo de comunicações duplex-pleno entre um navegador local e um servidor local, em que o método é caracterizado pelo fato de que compreende as etapas de:

iniciar uma solicitação de sincronização de cliente de um navegador local para um servidor local no endereço do servidor local, em uma porta;

solicitar protocolo de comunicações duplex-pleno na solicitação de sincronização do navegador local para o servidor local; e

estabelecer um canal de comunicações de protocolo de comunicações duplex-pleno enviando- se uma resposta de sincronização de protocolo de comunicações duplex-pleno do servidor local para o navegador local, em que a resposta confirma o uso de protocolo de comunicações duplex-pleno.

2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente a etapa de:

trocar dados entre o navegador local e o servidor local pelo canal

3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente a etapa de :

trocar dados, entre lógica legível por computador hospedada no servidor local e lógica legível por computador que roda dentro do navegador, pelo canal.

4. Método, de acordo com a reivindicação 3, adicionalmente caracterizado pelo fato de que compreende a etapa de: realizar um algoritmo, por lógica legível por computador hospedada no servidor local, em um conjunto de dados recebido a partir da lógica legível por computador que roda dentro do navegador local .

5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que o algoritmo é operacional para alcançar uma determinação sobre a autenticidade de um URL ou endereço da Web .

6. Método, de acordo com a reivindicação 3, adicionalmente .caracterizado pelo fato de que compreende a etapa de:

realizar um algoritmo, por lógica legível por computador hospedada no servidor local, em um conjunto de dados enviado a partir de um servidor remoto e dirigido ao navegador local .

7. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que o algoritmo é operacional para alcançar uma determinação sobre a autenticidade de uma página da Web.

8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o navegador local e servidor local estão na mesma rede local de computadores.

9. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o navegador local e servidor local estão no mesmo computador local.

10. Sistema caracterizado pelo fato de que compreende ·.

um servidor local configurado para trocar dados com um navegador local por um canal de protocolo de comunicações duplex-pleno ; lógica legível por computador, que roda no servidor local, operacional para realizar um algoritmo sobre dados que são ou recebidos a partir de ou para serem enviados para o navegador local .

11. Sistema, de acordo com a reivindicação 10, caracterizado pelo fato de que o algoritmo é operacional para alcançar uma determinação sobre a autenticidade de um URL ou endereço da Web.

12. Sistema, de acordo com a reivindicação 10, caracterizado pelo fato de que o algoritmo é operacional para alcançar uma determinação sobre a autenticidade de uma página da Web.

13. Sistema, de acordo com a reivindicação 10, caracterizado pelo fato de que o navegador local e o servidor local estão na mesma rede local de computadores.

14. Sistema, de acordo com a reivindicação 10, caracterizado pelo fato de que o navegador local e o servidor local estão no mesmo computador local.

15. Rede intranet caracterizada pelo fato de que compreende :

um servidor local;

um navegador local ; e

um nó de rede que conecta o servidor local e o navegador local;

em que o servidor local é configurado para trocar dados com o navegador local por um canal de protocolo de comunicações duplex-pleno .

16. Rede intranet, de acordo com a reivindicação 15, caracterizada pelo fato de que há lógica legível por computador, que roda no servidor local, operacional para realizar um algoritmo sobre dados que são ou recebidos a partir de ou para serem enviados para o navegador local .

17. Rede intranet, de acordo com a reivindicação 16, caracterizada pelo fato de que o algoritmo inclui:

iniciar uma solicitação de sincronização de cliente de um navegador local para um servidor local no endereço do servidor local, em uma porta.

18. Rede intranet, de acordo com a reivindicação 16, caracterizada pelo fato de que o algoritmo inclui:

solicitar protocolo de comunicações duplex-pleno em uma solicitação de sincronização do navegador local para o servidor local .

19. Rede intranet, de acordo com a reivindicação 16, caracterizada pelo fato de que o algoritmo inclui:

estabelecer um canal de comunicações de protocolo de comunicações duplex-pleno enviando- se uma resposta de sincronização de protocolo de comunicações duplex-pleno do servidor local para o navegador local, em que a resposta confirma o uso de protocolo de comunicações duplex-pleno.

Description:
"MÉTODO PARA HABILITAR PROTOCOLO DE COMUNICAÇÕES DUPLEX-PLENO ENTRE UM NAVEGADOR LOCAL E UM SERVIDOR LOCAL, SISTEMA E REDE INTRANET"

REFERÊNCIA CRUZADA PARA PEDIDOS RELACIONADOS

[0001] Este pedido reivindica prioridade e o benefício do Pedido de Patente Provisório n 2 US 62/077.367 depositado em 10 de novembro de 2014, cujo conteúdo é incorporado em sua totalidade ao presente documento.

ANTECEDENTES

[0002] Este documento refere-se, em geral, a comunicações entre servidores e navegadores . Hã diversos protocolos de comunicações conhecidos para uso entre um servidor e um navegador.

[0003] Em uma configuração, um navegador e um servidor podem ser considerados locais, por exemplo, o navegador e o servidor estão no mesmo computador local ou na mesma rede local de computadores. Ao contrário o navegador e servidor podem ser remotos. Por exemplo, uma configuração remota incluiria um navegador da Web e um servidor da Web na internet.

[0004] Em geral, em computação, um protocolo de comunicações é, um método ou conjunto de regras acordado para trocar dadòs dentro de um computador ou entre computadores. Por exemplo, o protocolo de comunicações pode ser duplex-duplo ou duplex-pleno, os quais habilitam troca de dados de duas vias ou bidirecional .

SUMÁRIO

[0005] Esta invenção se refere mais especificamente a comunicação entre um navegador e servidor local . [0006] Em uma modalidade, um servidor local é configurado para trocar dados com um navegador local por um canal de protocolo de comunicações duplex-pleno . Lógica legível por computador pode rodar no servidor local para realizar um algoritmo sobre dados que são ou recebidos a partir de ou para serem enviados para o navegador local. O algoritmo pode ser operacional para alcançar uma determinação sobre a autenticidade de um URL ou endereço da Web. 0 algoritmo pode ser operacional para alcançar uma determinação sobre a autenticidade de uma página da Web.

[0007] O navegador local e o servidor local podem estar no mesmo computador local. 0 navegador local e o servidor local podem estar na mesma rede local de computadores .

[0008] Vários aspectos ficarão evidentes para as pessoas versadas na técnica a partir da descrição detalhada a seguir e dos desenhos anexos.

BREVE DESCRIÇÃO DOS DESENHOS

[0009] ' A Figura 1 é um diagrama de blocos esquemático que mostra uma modalidade que emprega um servidor local e um navegador local .

[0010] A Figura 1B é um diagrama de blocos esquemático similar à Figura 1, exceto pelo fato de que mostra outra modalidade que emprega um servidor local e um navegador local . :

[0011] · A Figura 2 é um diagrama de blocos esquemático de um sistema de computador que facilita implantar uma ou mais das modalidades.

[0012] A Figura 3 é um fluxograma que mostra uma sequência de autenticação implantada por computador de acordo com uma modalidade.

[0013] A Figura 4 é ura diagrama de blocos esquemático que mostra uma modalidade que emprega um servidor remoto.

[0014] A Figura 5 é um diagrama de blocos esquemático que mostra uma modalidade que emprega um servidor remoto . .

[0015] A Figura 6 é um diagrama de blocos esquemático de acordo com uma modalidade adicional que ilustra um diagrama de ebSocket.

DESCRIÇÃO DETALHADA

[0016] Agora com referência aos desenhos, é ilustrado na Figura 1 um computador do cliente 100 que. tem um navegador, l cal 110 que se comunica com um servidor local 120 por meio de um canal de protocolo de comunicações duplex-pleno 150. Deve ser compx-eendido que o navegador local 110 e o servidor local 120 podem ser parte do mesmo computador local e/ou parte da mesma rede local, de computadores. Adicionalmente, para fornecer contexto dentro de um ambiente ie computador típico, também é mostrado o navegador local 110 se comunicando com um servidor da Web remoto 140 por meio da Internet 130.

[0017] Nessa modalidade exemplificativa, o navegador local 110 começa comunicações com o servidor local 120 iniciando uma solicitação de sincronização de cliente para o endereço do servidor local 120, por exemplo, wss : //127.0.0.1 ,, em uma porta, e solicita protocolo de comunicações duplex-pleno, tal como usar protocolo de comunicações WebSocket como o protocolo de comunicações usado para trocar dados entre o navegador local 110 e o servidor local 120, por exemplo, consultar a Figura 6.

[0018] Em resposta a receber a solicitação de sincronização, o servidor local 120 então envia uma resposta de sincronização para o navegador local 110 confirmando o uso de protocolo de comunicações duplex- pleno. Em consequência de estabelecer o protocolo de comunicações duplex-pleno entre o navegador local 110 e o servidor local 120, o servidor local 120 se comunica com o navegador local 110 trocando dados pelo canal de protocolo de comunicações duplex-pleno 150.

[0019] Em outra modalidade, e com referência à Figura 1B, o computador do cliente 100 tem lógica legível por computador 122 (hospedada no servidor local 120) que se comunica com lógica legível por computador 112 (que roda dentro do navegador local 110) por meio do canal de protocolo de comunicações duplex-pleno 150. Embora similar à modalidade prévia, essa modalidade tem: i) lógica legível por computador 112 que roda dentro do navegador local 110, e ii) lógica legível por computador 122 hospedada no servidor local 120. A lógica legível por computador 112 começa comunicações com o servidor local 120 e com a lógica legível por computador 122 ao iniciar uma solicitação de sincronização de cliente para o endereço do servidor local 120, por exemplo, wss : / / 121.0.0.1 , em uma porta, e solicita protocolo de comunicações duplex-pleno, tal como usar protocolo de comunicações WebSocket como o protocolo de comunicações usado para trocar dados entre a lógica legível por computador 112 e a lógica legível por computador 122. Em resposta a receber a solicitação de sincronização, o servidor local 120 envia uma resposta de sincronização para a lógica legível por computador 112 confirmando o uso de protocolo de comunicações duplex-pleno . A lógica legível por computador 112 e a lógica legível por computador 122 então se comunicam trocando dados pelo canal de protocolo de comunicações duplex-pleno 150.

[0020] Em pelo menos uma modalidade, a lógica legível por computador 112 (que roda dentro do navegador local 110) é antí-malware que monitora as comunicações entre o navegador local 110 e o servidor da Web 140. Em uma modalidade exemplificativa, a lógica legível por computador 112 é anti -malware configurado para receber ou interceptar uma URL ou endereço da Web que é enviado do navegador local 110 para o servidor da Web 140. Em resposta a receber ou interceptar a URL ou endereço da Web, a lógica legível por computador 112 envia a URL ou o endereço da Web para o servidor local 120 por meio do canal de protocolo de comunicações duplex-pleno 150, em que a lógica legível por computador 122 realiza um algoritmo dirigido a verificar a autenticidade da URL ou o endereço da Web. Por exemplo, o algoritmo executado pela lógica legível por computador 122 pode ser uma comparação lista branca ou lista negra que determina se a URL ou o endereço da Web é autêntico. A determinação do algoritmo então é enviada para a lógica legível por computador 112 pelo canal de protocolo de comunicações duplex-pleno 150. Se for determinado que a URL ou o endereço da Web é autêntico, então a lógica legível por computador 112 permite que a comunicação da URL ou do endereço da Web prossiga para o servidor da Web 140. Se for determinado que a URL ou o endereço da Web não é autêntico, então a lógica legível por computador 112 pode não permitir que a comunicação da URL ou do endereço da Web prossiga para o servidor da Web 140.

[0021] Em outra modalidade, a lógica legível por computador ;112 é anti-malware que intercepta uma página da Web que é' enviada do servidor da Web 140 para o navegador local 110. Em resposta a receber ou interceptar a página da Web, a lógica legível por computador 112 envia a página da Web para o servidor local 120 por meio do canal de protocolo de comunicações duplex-pleno 150, em que a lógica legível' por computador 122 realiza um algoritmo dirigido a verificar a autenticidade da página da Web. A determinação do algoritmo então é enviada para a lógica legível por computador 112 pelo canal de protocolo de comunicações duplex-pleno 150. Se for determinado que a página da Web ' é autêntica, então a lógica legível por computador 112 ' permite que a comunicação da página da Web prossiga para 6 navegador local 110. Se for determinado que a página da Web não é autêntica, então a lógica legível por computador 112 pode não permitir que a comunicação da página da Web prossiga para o navegador local 110.

[0022] Deve ser . compreendido que nas modalidades acima algoritmos especializados (executáveis por lógica legível por computador) podem ser criados e usados para avaliar apropriadamente se um conjunto de dados é autêntico e subsequentemente autorizado a prosseguir para seu destino pretendido, pox- exemplo, para o navegador local 110 ou para o servidor da Web 140. A Figura 3 representa esquematicamente esse conceito. O bloco 300 mostra a lógica legível por computador 122 que recebe um conjunto de dados para ser sujeito a um algoritmo de autenticação. 0 bloco 310 mostra a lógica legível por computador 122 que realiza um algoritmo sobre o conjunto de dados. O bloco 320 mostra que uma decisão é feita com respeito a se o conjunto de dados é determinado como sendo autêntico com base na determinação do algoritmo. O bloco 330 mostra que se o conjunto de dados não é determinado como sendo autêntico, então o conjunto de dados não é encaminhado para seu destino pretendido, por exemplo, para o navegador local 110 ou para o servidor da Web 140. 0 bloco 340 mostra que se for determinado que o conjunto de dados é autêntico, então o conjunto de dados é encaminhado para a destino alvo, por exemplo, para o navegador local 110 ou para o servidor da Web 140.

[0023] Em uma modalidade, usando- se protocolo de comunicações duplex-duplo para governar as comunicações entre o servidor local 120 e o navegador local 110, a lógica legível por computador 112, por exemplo, o anti- malware que monitora software, que roda no navegador local 110 pode monitorar dados de protocolo de comunicações duplex-duplo para e a partir do navegador local 110 bem como dados de protocolo de comunicações duplex-duplo para e a partir do servidor da Web 140.

[0024] uma modalidade alternativa que mostrada na Figura 4, em vez da lógica legível por computador 122 ser hospedada no servidor local 120 (como nas modalidades prévias) , a mesma em vez disso é hospedada no servidor remoto 150 e identificada dentro da Figura 4 como lógica legível por computador 152. Nessa modalidade, algoritmos de autenticação são realizados remotamente pela lógica legível por computador 152 hospedada no servidor remoto 150. Por exemplo, o navegador local 110 inicia uma solicitação de (Cliente para o servidor da Web 140 (usando a URL ou o endereço da Web associado com o servidor da Web 140) que se desloca primeiramente do navegador local 110 para a lógica .legível por computador 112 (que roda com o navegador local 110) ; então da lógica legível por computador 112 para a lógica legível por computador 152 hospedada no servidor remoto 150; a lógica legível por computador 152 então executa um algoritmo de autenticação dirigido para determinar se a solicitação de cliente é autêntica (por exemplo, executa um algoritmo de autenticação dirigido para determinar aquela URL dentro da solicitação de cliente é autêntica com base em uma comparação de lista branca ou lista negra) ; a lógica legível por computador 152 subsequentemente encaminha a determinação de autenticação para a lógica legível por computador 112; em resposta a receber a determinação de autenticação da, lógica legível por computador 152, a lógica legível por computador 112 pode permitir que a solicitação de cliente prossiga para o servidor da Web 140.

[0025] Além disso, como mostrado na Figura 5, em resposta a .receber a solicitação de cliente que se origina a partir do navegador local 110, o servidor da Web 140 dirige uma página da Web ou conjunto de dados de volta para o navegador local 110; a página da Web ou o conjunto de dados é interceptado pela lógica legível por computador 112 e encaminhado para a lógica legível por computador 152 para autenticação com o uso de um algoritmo de autenticação de página da Web; a determinação de autenticação de página da Web então é enviada da lógica legível por computador 152 para a lógica legível por computador 112. Em resposta a receber a determinação de autenticação de página da Web, a lógica legível por computador 112 pode permitir que a página da Web ou o conjunto de dados prossiga para o navegador local 110 para exibição para um usuário.

[0026] Com referência à Figura 2, um diagrama de blocos ilustra um sistema de computador 200 sobre o qual uma modalidade exemplificativa pode ser implantada. O sistema de computador 200 pode ser empregado para implantar as modalidades descritas no presente documento e mostradas nas Figuras .

[0027] O sistema de computador 200 inclui um barramento 202 ou outro mecanismo de comunicação para comunicar informações e um processador 204 acoplado ao barramento 202 ' para processar informações. O sistema de computador 200 também inclui uma memória principal 206, tal como memória de acesso randômico (RAM) ou outro dispositivo de armazenamento dinâmico acoplado ao barramento 202 para armazenar informações e instruções para serem executadas pelo processador 204. A memória principal 206 também pode ser usada para 'armazenar uma variável temporária ou outras informações intermediárias durante a execução de instruções a serem executadas pelo processador 204. O sistema de computador 200 inclui adicionalmente uma memória somente de leitura (ROM) 208 ou outro dispositivo de armazenamento estático acoplado ao barramento 202 para armazenar informações e instruções estáticas para o processador 204. Um dispositivo de armazenamento 210, tal como um disco magnético ou disco óptico, é fornecido e acoplado ao barramento 202 para armazenar informações e instruções. [0028] O sistema de computador 200 pode ser acoplado por meio do barramento 202 a uma interface de usuário 212. A interface de usuário 212 pode adequadamente compreender um visor tal como um tubo de raios catódicos

(CRT) ou visor de cristal líquido (LCD) , para exibir informações para um usuário de computador. A interface de usuário 212 também pode incluir um dispositivo de entrada, tal como um teclado que inclui teclas alfanuméricas e outras, que é acoplado ao barramento 202 para comunicar informações e seleções de comando para o processador 204. Outro tipo de usuário dispositivo de entrada é um controle de cursor, tal como um mouse, um trackball, ou cursor teclas de direção para que comunicar informações de direção e seleções de comando para o processador 204 e para controlar o movimento do cursor em um visor. Esse tipo de dispositivo de entrada tipicamente tem dois graus de liberdade em dois eixos geométricos, um primeiro eixo geométrico (por exemplo, x) e um segundo eixo geométrico

(por exemplo, y) que permite que a dispositivo para especifique posições em um plano. Em modalidades particulares, a interface de usuário 212 pode ser uma tela sensível ao toque.

[0029] Em uma modalidade, o sistema de computador 200 é usado para estabelecer protocolo de comunicações duplex-duplo entre o navegador local 110 e o servidor local 120. De acordo com uma modalidade exemplificativa, o estabelecimento de protocolo de comunicações duplex-duplo entre o navegador local 110 e o servidor local 120 é fornecido pelo sistema de computador 200 em resposta ao processador 204 executar uma ou mais sequências de uma ou mais instruções contidas na memória principal 206. Essas instruções podem ser lidas na memória principal 206 a partir de outra mídia legível por computador, tal como o dispositivo de armazenamento 210. A execução da sequência de instruções contidas na memória principal 206 faz com que o processador 204 realize as etapas de processo descritas no presente documento. Um ou mais processadores em uma disposição de multiprocessamento também podem ser empregados para executar as sequências de instruções contidas na memória principal 206. Em modalidades alternativas, circuitos conectados por cabos podem ser usados no lugar de ou em combinação com instruções de software para implantar uma modalidade exemplificativa. Assim, as modalidades descritas no presente documento não são limitadas a qualquer combinação específica de circuitos de hardware e software.

[0030] O termo "mídia legível por computador" como usado no presente documento se refere a qualquer mídia que participe do fornecimento de instruções para o processador 204 para execução. Essa mídia pode assumir várias formas, que incluem, porém sem limitações, mídia não volátil. Mídia não volátil inclui, por exemplo, discos ópticos ou magnéticos, tal como o dispositivo de armazenamento 210. Formas comuns de legível mídia por computador incluem, por exemplo, disquete, disco flexível, disco rígido, cartões magnéticos, fita de papel, qualquer outra mídia física com padrões de orifícios, uma RAM, uma PROM, uma EPROM, uma FLASHPROM, CD, DVD ou qualquer outro chip ou cartucho de memória, ou qualquer outra mídia a partir da qual um computador possa ler. [0031] O sistema de computador 200 também inclui uma interface de comunicação 218 acoplada ao barramento 202. A interface de comunicação 218 fornece uma de comunicação de dados de duas vias que acopla o sistema de computador 200 a um enlace de rede 220 que é conectado a uma rede local 222. Por exemplo, a interface de comunicação 218 pode ser um cartão de rede de área local (LAN) para fornecer uma conexão de comunicação de dados para uma LAN compatível. Como outro exemplo, a interface de comunicação 218 pode ser um cartão de rede digital de serviços integrados { ISDN) ou um modem para fornecer uma conexão de comunicação de dados para um tipo correspondente de linha de telefone. Enlaces sem fio também podem ser implantados. Em qualquer dessas implantações, a interface de comunicação 218 envia e recebe sinais elétricos, eletromagnéticos , ou ópticos que transportam fluxos de dados digitais que representam vários tipos de informações .

[0032] Um enlace de rede 220 tipicamente fornece dados de comunicação através de uma ou mais redes para outros dispositivos de dados. Por exemplo, o enlace de rede 220 pode fornecer uma conexão através da rede local 222 para equipamento de dados operado por um Provedor- de Serviço de Internet (ISP) 226. O ISP 226 por sua vez fornece comunicações de dados através da rede de comunicação de dados de pacote mundial, atualmente referenciada comumente como a "Internet" 228. O sistema de computador 200 pode enviar mensagens e receber dados, que incluem códigos de programa, através de a(s) rede(s), do enlace de rede 220, e da interface de comunicação 218.

[0033] Embora princípios e modos de operação tenham sido explicados e ilustrados com respeito a modalidades particulares, deve ser compreendido, entretanto, que isso pode ser praticado de forma diferente da explicada e ilustrada especificamente sem se afastar de seu espírito e escopo.