BR112017007118B1 - Dispositivos de armazenamento portátil - Google Patents

Dispositivos de armazenamento portátil Download PDF

Info

Publication number
BR112017007118B1
BR112017007118B1 BR112017007118-5A BR112017007118A BR112017007118B1 BR 112017007118 B1 BR112017007118 B1 BR 112017007118B1 BR 112017007118 A BR112017007118 A BR 112017007118A BR 112017007118 B1 BR112017007118 B1 BR 112017007118B1
Authority
BR
Brazil
Prior art keywords
portable storage
storage device
various embodiments
module
network
Prior art date
Application number
BR112017007118-5A
Other languages
English (en)
Other versions
BR112017007118A2 (pt
Inventor
Coy Christmas
Luke Malpass
Original Assignee
Fasetto, Inc.
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 Fasetto, Inc. filed Critical Fasetto, Inc.
Priority claimed from PCT/US2015/036801 external-priority patent/WO2016057091A1/en
Publication of BR112017007118A2 publication Critical patent/BR112017007118A2/pt
Publication of BR112017007118B1 publication Critical patent/BR112017007118B1/pt

Links

Abstract

SISTEMAS E MÉTODOS PARA DISPOSITIVOS DE ARMAZENAMENTO PORTÁTEIS. São revelados sistemas, métodos e produtos de programa de computador para dispositivos de armazenamento portáteis. Um dispositivo de armazenamento portátil pode se comunicar com outros dispositivos utilizando um sistema de comunicação padronizado (SCS) para transmitir dados diretamente entre dispositivos, incluindo um SCS. O SCS pode descobrir dispositivos disponíveis. O dispositivo de armazenamento portátil pode ser um dispositivo portátil. Um usuário pode ser capaz de manter o dispositivo de armazenamento portátil consigo e acessar arquivos no dispositivo de armazenamento portátil por tecnologia sem fios usando qualquer outro dispositivo que utilize um SCS.

Description

REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS
[001] O presente pedido de patente não-provisório reivindica prioridade ao Pedido de Patente US Provisório No 62/060,379, intitulado “SYSTEMS AND METHODS FOR PORTABLE STORAGE DEVICES,” e depositado em 6 de outubro de 2014, o qual é incorporado aqui para fins de referência em sua totalidade.
CAMPO DA INVENÇÃO
[002] A presente revelação refere-se, de modo geral, a dispositivos de armazenamento portáteis, e mais particularmente, a sistemas e métodos para comunicação sem fio de dispositivos de armazenamento portáteis.
ANTECEDENTES DA INVENÇÃO
[003] A comunicação entre os dispositivos é tipicamente realizada através de uma rede, tal como a Internet ou uma rede local. No entanto, nem sempre as redes podem estar disponíveis para comunicação entre os dispositivos, e, além disso, podem expor as comunicações a vulnerabilidades de segurança na rede. Os dispositivos com capacidade Bluetooth® podem se comunicar diretamente. No entanto, os dispositivos com capacidade Bluetooth® deverão estar dentro de um alcance limitado, e as velocidades de comunicações podem ser relativamente lentas.
[004] Muitos dispositivos podem incluir um chip sem fio. Os fabricantes podem criar chips sem fio especializados que permitem a comunicação entre dispositivos contendo chips sem fio compatíveis. No entanto, tais dispositivos podem não ser capazes de se comunicarem com outros dispositivos contendo chips fabricados por outros fabricantes.
[005] Os consumidores podem ter arquivos armazenados em um dispositivo e desejar acessar os arquivos a partir de outro dispositivo. Pode ser difícil transferir o arquivo sem uma conexão com a Internet ou usar dados em um plano de dados. Adicionalmente, transferir as informações pode expor as informações a hackerse vulnerabilidades de segurança.
SUMÁRIO
[006] Um dispositivo de armazenamento portátil pode compreender um primeiro chip sem fio configurado para se comunicar com um primeiro dispositivo usando um protocolo de comunicações padronizado. O dispositivo de armazenamento portátil compreende um cartão de memória configurado para armazenar informações no protocolo de comunicações padronizado. O dispositivo de armazenamento portátil pode compreender um segundo chip sem fio configurado para se comunicar com a Internet.
[007] Um método pode compreender implementar, por um processador para transmissão de dados, um protocolo de comunicações padronizado (“SCP”) em um primeiro dispositivo. O primeiro dispositivo pode obter um arquivo. O primeiro dispositivo pode descobrir um dispositivo de armazenamento portátil. O primeiro dispositivo pode transmitir o arquivo para o dispositivo de armazenamento portátil usando o SCP. Em concretizações certamente ilustrativas, o primeiro dispositivo de armazenamento portátil possui uma capacidade igual ou maior do que 32 gigabytes, e, em ainda outra concretização, a capacidade de armazenamento é igual ou maior do que 1 terabyte.
DESCRIÇÃO RESUMIDA DOS DESENHOS
[008] Uma compreensão mais completa pode ser alcançada por referir-se à descrição detalhada e às reivindicações quando considerados em conexão com as Figuras, e nos quais números de referência referem-se a elementos similares por todas as Figuras, e:
[009] A FIG. 1 ilustra um diagrama esquemático de um sistema para transmitir mensagens de acordo com várias concretizações da revelação;
[010] A FIG. 2 ilustra um processo para transmitir dados entre os dispositivos de acordo com várias concretizações;
[011] A FIG. 3 ilustra um processo para um protocolo de envio de arquivo de acordo com várias concretizações;
[012] A FIG. 4 ilustra um protocolo de descoberta de acordo com várias concretizações;
[013] A FIG. 5 ilustra uma definição para um protocolo de descoberta de acordo com várias concretizações;
[014] A FIG. 6 ilustra uma definição para uma solicitação de transferência de arquivo de acordo com várias concretizações;
[015] A FIG. 7 ilustra uma definição para uma resposta a uma solicitação de transferência de arquivo de acordo com várias concretizações;
[016] A FIG. 8 ilustra um dispositivo de armazenamento portátil de acordo com várias concretizações;
[017] A FIG. 9 ilustra um dispositivo de armazenamento portátil comunicando-se com um dispositivo de acordo com várias concretizações; e
[018] A FIG. 10 ilustra um dispositivo de armazenamento portátil em sincronização com um servidor de acordo com várias concretizações.
DESCRIÇÃO DETALHADA
[019] A descrição detalhada das concretizações ilustrativas aqui apresentadas faz referência aos desenhos e figuras acompanhantes, os quais ilustram várias concretizações para fins de ilustração. Embora essas várias concretizações sejam descritas em detalhes suficientes para que os versados na técnica possam praticar a revelação, e deve-se compreender que outras concretizações podem ser realizadas e que modificações lógicas ou mecânicas podem ser feitas sem divergir do espírito e escopo da revelação. Assim, a descrição detalhada neste documento é apresentada somente para fins de ilustração, e não com sentido limitante. Por exemplo, as etapas enumeradas em qualquer uma das descrições de métodos e processos podem ser executadas em qualquer ordem e não se limitam à ordem apresentada. Ademais, qualquer uma das funções ou etapas pode ser terceirizada ou realizada por uma ou mais entidades externas. Adicionalmente, qualquer referência ao singular inclui várias concretizações, e qualquer referência a mais de um componente pode incluir uma única concretização.
[020] Sistemas, métodos e produtos de programa de computador são proporcionados. Na descrição detalhada aqui, referências a “várias concretizações”, “uma concretização”, “uma concretização”, “uma concretização ilustrativa” etc., indicam que a concretização descrita pode incluir um aspecto, estrutura ou característica em particular, mas cada concretização pode não necessariamente incluir o aspecto, estrutura ou característica em particular. Ademias, tais expressões não estão necessariamente se referindo à mesma concretização. Além disso, quando um aspecto, estrutura ou característica específica é descrita em conexão com uma concretização, sugere-se que esteja dentro do alcance dos versados na técnica efetuarem tal aspecto, estrutura ou característica em conexão com outras concretizações, sejam elas explicitamente descritas ou não. Após a leitura da descrição, ficará evidente ao versado na(s) técnica(s) relevante(s) como implementar a revelação em concretizações alternativas.
[021] São revelados aqui sistemas e métodos para comunicação ponto-a- ponto entre os dispositivos de comunicação. Como usado aqui, um “dispositivo de comunicação” pode se referir a qualquer dispositivo capaz de comunicação com outro dispositivo. Por exemplo e sem limitação, um dispositivo de comunicação pode se referir a um smartphone, PDA, laptop, computador de mesa (desktop), telefone portátil, dispositivo GPS, sistema de navegação para carros, impressoras sem fio, objetos vestíveis, ou qualquer outro dispositivo.
[022] Os sistemas e métodos aqui revelados podem possibilitar a comunicação entre os dispositivos sem conexão com a Internet ou com outras redes. Um sistema de comunicação padronizado (“SCS”) pode ser instalado em um dispositivo. O SCS pode compreender qualquer combinação de hardware e/ou software. O SCS pode utilizar os componentes físicos existentes do dispositivo, tais como chips sem fio 802.11 ou 802.2(2) e sistemas Bluetooth® de modo a se comunicar com outros dispositivos. O SCS pode ser adequado para qualquer protocolo de comunicação, tal como IP, TCP/UDP, Bluetooth®, codificação bruta Manchester, e qualquer outra forma de comunicação sem fio.
[023] O SCS pode permitir a comunicação entre dispositivos de variados tipos e plataformas. Adicionalmente, uma vez que a comunicação pode ocorrer diretamente entre os dispositivos sem transmitir dados através de uma rede, a comunicação pode estar disponível quando as redes estão indisponíveis, e as comunicações podem ser protegidas de espiões em uma rede. Além disso, a comunicação direta entre os dispositivos pode evitar cobranças pelo uso de dados em planos de dados de celulares.
[024] Referindo-se à FIG. 1, um sistema 100 para transmitir mensagens é ilustrado de acordo com várias concretizações. Um primeiro dispositivo 110 compreendendo um SCS 112 e um segundo dispositivo 120 compreendendo um SCS 122 são ilustrados de acordo com várias concretizações. Em várias concretizações, o SCS 112 e o SCS 122 podem ser programas de software adicionais instalados no primeiro dispositivo 110 e no segundo dispositivo 120. Por exemplo, um usuário pode baixar um aplicativo SCS no seu smartphone ou outro dispositivo. Entretanto, em várias concretizações, o SCS 112 e o SCS 122 podem ser embutidos em um chip, tal como um chip sem fio 802.11, no primeiro dispositivo 110 e/ou no segundo dispositivo 120.
[025] Em várias concretizações, o SCS pode implementar um protocolo de comunicação padronizado (“SCP”) em um dispositivo. O SCP pode vincular um cabeçalho SCP 152 a um pacote de modo a identificar um datagrama 150 como um datagrama SCP. O primeiro dispositivo 110 pode se comunicar com o segundo dispositivo 120 por meio do SCP. O SCS pode reconhecer o cabeçalho SCP e pode seguir o SCP. O SCP pode definir a capacidade de os dispositivos descobrirem uns os outros, solicitarem a transferência de dados brutos, para transmitir confirmações sobre o recebimento dos dados, e realizar quaisquer outras etapas envolvidas na transmissão de dados.
[026] Nas várias concretizações, o SCS pode ser implementado na camada de rede no modelo de Interconexão de Sistemas Abertos (“OSI”) (ou a camada da Internet no modelo TCP/IP). Independente do protocolo sendo utilizado na camada de transporte (por exemplo, TCP, UDP, SCTP, DCCP), o cabeçalho SCP pode permitir que dispositivos compreendendo um SCS se comuniquem por meio do SCP.
[027] Em várias concretizações, pelo menos um dentre o primeiro dispositivo 110 e o segundo dispositivo 120 pode compreender um smartphone. Entretanto, em várias concretizações, o primeiro dispositivo 110 e o segundo dispositivo 120 podem compreender qualquer tipo de dispositivo capaz de transmitir e/ou receber dados.
[028] Referindo-se à FIG. 2, um processo 200 para transmitir dados entre os dispositivos é ilustrado de acordo com várias concretizações. Em várias concretizações, um primeiro usuário pode desejar transmitir dados a partir do primeiro dispositivo 110 para o segundo dispositivo 120. Os dados podem compreender qualquer tipo de dado, tal como uma mensagem de texto, imagem, vídeo, documento de texto ou qualquer outro tipo de arquivo.
[029] O primeiro dispositivo 110 pode descobrir dispositivos disponíveis (etapa 210). O primeiro dispositivo 110 pode tentar descobrir outros dispositivos por uma variedade de métodos. Em várias concretizações, o primeiro dispositivo 110 pode descobrir outros dispositivos por meio de uma câmera ou outro dispositivo óptico. Em várias concretizações, o segundo dispositivo 120 pode exibir um símbolo, tal como um código QR, um código de barras, ou texto. O símbolo pode compreender características de identificação sobre o segundo dispositivo 120. Por exemplo, em várias concretizações, as características de identificação podem compreender pelo menos um dentre um nome do dispositivo, um endereço IP do dispositivo, um nome de proprietário, um ponto final do dispositivo, e as camadas de transporte disponíveis no dispositivo. O primeiro dispositivo 110 pode digitalizar o símbolo usando uma câmera. O primeiro dispositivo 110 pode obter as características de identificação do símbolo e usar as características de identificação de modo a transmitir dados para o segundo dispositivo 120.
[030] Em várias concretizações, o SCS no primeiro dispositivo 110 pode procurar por outros dispositivos usando um chip sem fio no primeiro dispositivo 110. Os dispositivos compreendendo um SCS podem transmitir uma mensagem de difusão. A mensagem de difusão pode compreender as características de identificação do dispositivo. Em várias concretizações, o primeiro dispositivo 110 pode estar dentro do alcance de transmissão do segundo dispositivo 120. O alcance de transmissão pode depender do tipo específico de chip sem fio no primeiro dispositivo 110 e no segundo dispositivo 120. No entanto, em várias concretizações, o alcance de transmissão pode ser de até aproximadamente 61 metros a 91 metros (200 pés a 300 pés). O SCS pode abrir um soquete no primeiro dispositivo 110 para monitorar mensagens de difusão. A mensagem de difusão pode ser enviada por uma variedade de hardwares. Por exemplo, a mensagem de difusão pode ser transmitida por meio de um chip sem fio 802.11, chip Bluetooth®, ou NFC.
[031] Em várias concretizações, o primeiro dispositivo 110 e o segundo dispositivo 120 podem não estar dentro do alcance de transmissão um do outro. Entretanto, um dispositivo intermediário, tal como um smartphone equipado com tecnologia de ponto de acesso (hotspot),pode estar dentro do alcance de transmissão do primeiro dispositivo 110. O primeiro dispositivo 110 pode procurar por dispositivos disponíveis pela transmissão de uma mensagem ao dispositivo intermediário, instruindo o dispositivo intermediário a procurar por dispositivos disponíveis. O dispositivo intermediário pode receber uma mensagem de difusão do segundo dispositivo 120, e o dispositivo intermediário pode transmitir a mensagem de difusão para o primeiro dispositivo 110. Assim, o primeiro dispositivo 110 pode descobrir o segundo dispositivo 120 sem se conectar à Internet ou a uma rede celular, ainda que o primeiro dispositivo 110 possa não estar dentro do alcance de transmissão do segundo dispositivo 120. Nas várias concretizações, qualquer quantidade de dispositivos intermediários pode ser encadeada em margarida, de modo que o primeiro dispositivo 110 possa descobrir o segundo dispositivo 120 a quilômetros de distância mediante a transmissão de dados por meio de uma série de dispositivos intermediários.
[032] O primeiro dispositivo 110 pode exibir uma lista de todos os dispositivos descobertos para o usuário. O usuário pode selecionar o segundo dispositivo 120 de modo a transmitir dados para o segundo dispositivo 120. O usuário pode selecionar um arquivo ou mensagem a ser transmitido para o segundo dispositivo 120.
[033] O SCS 112 no primeiro dispositivo 110 pode determinar o hardware de transmissão para utilizar na transmissão (etapa 220). Em várias concretizações, cada um do primeiro dispositivo 110 e do segundo dispositivo 120 pode ter somente um tipo de hardware de transmissão, tal como um chip sem fio 802.11, e o SCS 112 pode, dessa forma, selecionar o chip sem fio 802.11 para transmitir os dados. No entanto, em várias concretizações, múltiplos caminhos de transmissão podem estar disponíveis entre o primeiro dispositivo 110 e o segundo dispositivo 120. Por exemplo, cada um dentre o primeiro dispositivo 110 e o segundo dispositivo 120 pode compreender um chip sem fio 802.11 e um chip Bluetooth®. Em várias concretizações, o SCS 112 pode determinar o caminho de transmissão mais rápido, e pode selecionar o caminho de transmissão mais rápido para transmitir os dados. Em várias concretizações, o caminho de transmissão pode ser selecionado pelas configurações padrão. Por exemplo, o SCS 112 pode sempre selecionar um caminho sem fio 802.11 para transmissão quando disponível, e se o caminho sem fio 802.11 não estiver disponível, o SCS 112 pode selecionar um caminho Bluetooth®. No entanto, em várias concretizações, o SCS 112 no primeiro dispositivo 110 pode transmitir uma mensagem de teste de velocidade para o segundo dispositivo 120 por meio de cada caminho de transmissão disponível, e o SCS 112 pode selecionar o caminho de transmissão mais rápido baseado nos resultados do teste de velocidade.
[034] Em várias concretizações, o SCS 112 pode instruir o primeiro dispositivo 110 a enviar os dados ao segundo dispositivo 120 por meio de múltiplos caminhos de transmissão. Uma mensagem pode ser dividida em múltiplos pacotes. O SCS 112 pode analisar os caminhos de transmissão disponíveis, e enviar a mensagem através dos múltiplos caminhos de transmissão de modo a agilizar a transmissão de toda a mensagem. Por exemplo, o SCS 112 pode determinar que o método mais rápido de transmissão da mensagem pode consistir em transmitir 90% dos pacotes por meio de um caminho sem fio 802.11, e 10% dos pacotes através de um caminho Bluetooth®. O SCS 112 pode vincular um cabeçalho SCP a cada pacote sendo transmitido ao segundo dispositivo 120, seja por meio de tecnologia sem fio 802.11 ou Bluetooth®. Assim, o SCS 122 no segundo dispositivo 120 pode reconhecer os pacotes como sendo recebidos pelo SCP, e o SCS 122 pode remontar os pacotes de modo a recriar toda a mensagem. Em várias concretizações, o SCS 112 pode analisar todos os caminhos de transmissão disponíveis, incluindo, mas não limitado a múltiplos chips sem fio 802.11, chips Bluetooth®, NFC, PDQ ou quaisquer outros caminhos de transmissão de modo a selecionar o método de transmissão mais rápido. O SCS no primeiro dispositivo 110 pode iniciar um protocolo de envio de arquivo e transmitir os dados ao segundo dispositivo 120 (etapa 230).
[035] Em várias concretizações, o primeiro dispositivo 110 e o segundo dispositivo 120 podem ser conectados à mesma rede local. O primeiro dispositivo 110 pode transmitir um link, tal como um código QR, através de uma rede celular ou da rede local, para o segundo dispositivo 120. Em várias concretizações, o link pode compreender 10 kb de dados, ou menos. O segundo dispositivo 120 pode usar o link para solicitar ou aceitar uma transferência de arquivo. O primeiro dispositivo 110 pode transmitir um arquivo através da rede local. Em várias concretizações, o arquivo pode ser transferido usando TCP/IP diretamente através da rede local.
[036] Em várias concretizações, o segundo dispositivo 120 pode ter acesso a uma conexão com a Internet. O primeiro dispositivo 110 pode transmitir um link através de um caminho de transmissão de celular para o segundo dispositivo 120, e o segundo dispositivo 120 pode usar o link para baixar um arquivo armazenado na nuvem e/ou em um servidor através da Internet. Em várias concretizações, o segundo dispositivo 120 pode baixar o arquivo usando TCP/IP.
[037] Em várias concretizações, o primeiro dispositivo 110 pode sincronizar seus conteúdos com uma base de dados em nuvem. Em várias concretizações, o primeiro dispositivo 110 pode compreender uma pasta SCS, e apenas os arquivos armazenados na pasta SCS podem ser sincronizados com a base de dados. O primeiro dispositivo 110 pode transmitir um link através de um caminho de transmissão celular para o segundo dispositivo 120 identificando um arquivo armazenado na base de dados. Em várias concretizações, o segundo dispositivo 120 pode não ter acesso a uma rede sem fio 802.11 no momento em que o segundo dispositivo 120 recebe o link. O segundo dispositivo 120 pode usar o link para acessar o arquivo sempre que o segundo dispositivo 120 ganha acesso a uma rede sem fio 802.11 de modo a prevenir cobranças pelo uso de dados no celular. Em várias concretizações, o segundo dispositivo 120 pode usar o link para acessar o arquivo através da rede celular. Em várias concretizações, o segundo dispositivo 120 pode transmitir em fluxo todo ou parte do arquivo através da rede celular ou de uma rede sem fio 802.11.
[038] Em várias concretizações, o primeiro dispositivo 110 pode compartilhar uma pasta online com o segundo dispositivo 120. O primeiro dispositivo 110 pode indicar que o segundo dispositivo 120 pode ter acesso a uma pasta online. O primeiro dispositivo 110 pode se sincronizar com a pasta online para enviar arquivos armazenados no primeiro dispositivo 110 para a pasta online. O segundo dispositivo 120 pode se sincronizar com a pasta online para baixar arquivos armazenados na pasta online para o segundo dispositivo 120.
[039] Referindo-se à FIG. 3, um processo 300 para um protocolo de envio de arquivo é ilustrado de acordo com várias concretizações. O primeiro dispositivo 110 pode transmitir uma solicitação para estabelecer uma conexão com o segundo dispositivo 120 (etapa 310). Em várias concretizações, a conexão pode compreender uma conexão TCP. No entanto, em várias concretizações, a conexão pode compreender qualquer tipo de conexão para transmitir dados entre os dispositivos. O segundo dispositivo 120 pode aceitar a solicitação de conexão (etapa 320). Em várias concretizações, a conexão pode ser entre os soquetes seguros no primeiro dispositivo 110 e o segundo dispositivo 120.
[040] Em várias concretizações, o primeiro dispositivo 110 pode transmitir uma mensagem compreendendo um livro de cifras para o segundo dispositivo 120 (etapa 330). O livro de cifras pode compreender uma lista de cifras de uso único, e pode permitir que o segundo dispositivo 120 descriptografe dados enviados ao segundo dispositivo 120 através da conexão de soquete seguro usando cifras de uso único. Em várias concretizações, o primeiro dispositivo 110 pode criptografar a mensagem compreendendo o livro de cifras usando métodos de criptografia conhecidos, tal como o Padrão de Criptografia Avançada (“AES”) ou criptografia RSA. No entanto, as mensagens subsequentes durante a sessão de transferência podem ser criptografadas usando as cifras de uso único contidas no livro de cifras. As mensagens criptografadas usando as cifras de uso único podem ser criptografadas e descriptografadas usando uma capacidade de processamento significativamente inferior e menos tempo do que as mensagens criptografadas com AES ou RSA. Adicionalmente, as mensagens enviadas usando as cifras de uso único podem ser indecifráveis para partes que não contenham o livro de cifras.
[041] O primeiro dispositivo 110 pode enviar uma solicitação de transferência de arquivos (etapa 340). Para um exemplo de uma solicitação de transferência de arquivos, refira-se à FIG. 5. O segundo dispositivo 120 pode aceitar a solicitação de transferência de arquivo (etapa 350). Em resposta ao segundo dispositivo 120 aceitando a solicitação de transferência de arquivo, o primeiro dispositivo 110 pode dividir o arquivo em segmentos, e começar a transmitir os segmentos ao segundo dispositivo 120 (etapa 360). Após o primeiro dispositivo 110 ter transmitido todos os segmentos do arquivo, o primeiro dispositivo 110 pode aguardar pela confirmação de que o segundo dispositivo 120 recebeu todos os segmentos. O segundo dispositivo 120 pode transmitir uma mensagem de confirmação ao primeiro dispositivo 110 indicando que todos os segmentos foram recebidos (etapa 370). O segundo dispositivo 120 pode descriptografar e remontar os segmentos de acordo com o SCP de modo a recriar o arquivo (etapa 380).
[042] Referindo-se à FIG. 4, um exemplo de um protocolo de descoberta 400 é ilustrado de acordo com várias concretizações. O protocolo de descoberta 400 pode ser implementado na camada de transporte usando TCP/UDP. No entanto, em várias concretizações, os protocolos de descoberta podem ser implementados usando uma porta serial Bluetooth®, RS-232, ou podem ser enviados inteiramente através de datagramas ou de uma API de Socket do Windows® (“WSA”). O LocalClient na concretização ilustrada pode ser uma nova instância de uma classe IDiscoveredClient (definido na FIG. 5) preenchida com as características de identificação do dispositivo, tal como nome do dispositivo, nome de usuário, visualização da imagem, e ponto final (neste caso, um endereço IP e porta). O primeiro dispositivo 110 pode abrir um novo soquete para uma mensagem de difusão (410). O primeiro dispositivo 110 pode transmitir o endereço IP que o primeiro dispositivo 110 está monitorando em busca de uma resposta à mensagem de difusão (420). O primeiro dispositivo 110 pode abrir um novo soquete de datagrama para monitorar uma mensagem de resposta (430). Após receber uma mensagem de resposta, o primeiro dispositivo 110 pode decifrar a mensagem de resposta na mensagem IDiscoveredClient original que o primeiro dispositivo 110 enviou (440).
[043] Referindo-se à FIG. 5, uma definição para um protocolo de descoberta 500 ilustrativo é ilustrado de acordo com várias concretizações. A definição pode ser uma única classe comum chamada IDiscoveredClient que pode ser implementada por um dispositivo transmissor e um dispositivo receptor. Em várias concretizações, a definição pode ser expandida para incluir campos personalizados e qualquer outra informação que os usuários desejarem. Em várias concretizações, a definição pode compreender um nome do dispositivo (510), um endereço IP do dispositivo (520), um proprietário do dispositivo (530), e um ponto final do dispositivo (540), e uma camada de transporte na qual o dispositivo foi descoberto (550). No entanto, um indivíduo experiente na técnica irá apreciar que os campos específicos utilizados podem ser alterados para quaisquer campos desejados.
[044] Referindo-se à FIG. 6, uma definição para um protocolo de solicitação de transferência de arquivo 600 ilustrativo é ilustrado de acordo com várias concretizações. A definição pode ser chamada de “IFileTransferRequest”. Em várias concretizações, a definição pode compreender o nome do dispositivo transmitindo um arquivo (610), o nome de arquivo a ser enviado (620), o tamanho do arquivo (630), o dispositivo que recebe o arquivo (640), uma identificação única para a transferência de arquivo (650), e a camada de transporte associada à transferência de arquivo (660).
[045] Referindo-se à FIG. 7, uma definição para uma resposta a uma solicitação de transferência de arquivo 700 é ilustrada de acordo com várias concretizações. O dispositivo receptor pode responder a uma definição chamada IFileTransferResponse para indicar que o dispositivo receptor está disposto a aceitar a transferência de arquivo. Em várias concretizações, a IFileTransferResponse pode compreender a resposta do usuário (710) e a identificação única para a transferência de arquivo (720). O dispositivo transmissor pode receber a resposta do dispositivo receptor, e o dispositivo transmissor pode prosseguir com a transmissão do arquivo para o dispositivo receptor. Uma vez que uma transferência de arquivo completa tenha ocorrido, o dispositivo receptor pode transmitir uma confirmação para o dispositivo transmissor (730).
[046] Referindo-se à FIG. 8, um dispositivo de armazenamento portátil (“PSD”) 800 é ilustrado de acordo com várias concretizações. O PSD 800 pode ser um dispositivo vestível, tal como uma pulseira ou bracelete, como ilustrado na FIG. 8. No entanto, os PSDs podem ser qualquer tipo de dispositivo portátil que seja capaz de armazenar informações. Por exemplo, um PSD pode compreender um relógio de pulso, colar, capa de telefone, smartphone, chips implantados, item de vestuário, carteira, etc.
[047] O PSD 800 pode compreender um módulo de armazenamento 810, um módulo de comunicação 820, um processador 830 e uma bateria 840. O módulo de armazenamento 810 pode compreender um cartão de memória. Por exemplo, o módulo de armazenamento 810 pode compreender um cartão SD, um cartão SD, um cartão CompactFlash, ou qualquer outro cartão de memória adequado. O módulo de armazenamento 810 pode compreender uma memória interna, tal como iSSD, SSD, iNAND ou SD flash. O módulo de comunicação 820 pode compreender um ou mais componentes capazes de comunicação sem fio. Por exemplo, o módulo de comunicação pode compreender um chip sem fio 802.11 ou 802.2(2), um chip Bluetooth®, um chip NFC, etc. O processador 830 pode compreender qualquer combinação de hardware e/ou software capaz de fornecer instruções para o módulo de armazenamento 810 e para o módulo de comunicação 820. Em várias concretizações, o módulo de armazenamento 810, o módulo de comunicação 820, e o processador 830 podem ser embutidos dentro do PSD 800, de modo que o PSD 800 não tenha quaisquer componentes eletrônicos visíveis. Em várias concretizações, o PSD 800 pode compreender um revestimento impermeável, tal como borracha ou silicone.
[048] O PSD 800 pode compreender um sistema de comunicação padrão (“SCS”), como descrito aqui anteriormente. O SCS pode ser qualquer combinação de hardware e/ou software que seja capaz de se comunicar por meio de um protocolo de comunicação padrão (“SCP”), como descrito aqui anteriormente. Em várias concretizações, o SCS pode ser implementado em pelo menos um dentre o módulo de armazenamento 810, o módulo de comunicação 820 ou o processador 830.
[049] O PSD 800 pode receber e transmitir arquivos e comunicações, sem o uso de fios, a partir de outros dispositivos, tais como smartphones, televisões, consoles de jogo, tablets, computadores pessoais, impressoras, etc. Graças ao SCS, o PSD 800 pode não ser limitado à comunicação com uma marca específica de fabricante de dispositivos. Em contrapartida, o PSD 800 pode se comunicar entre plataformas, tais como dispositivos Apple®, dispositivos Android®, dispositivos Windows®, dispositivos UNIX®, ou quaisquer outros dispositivos adequados.
[050] Em várias concretizações, o PSD 800 pode permitir que um usuário acesse seus arquivos sempre que o usuário sair. Por exemplo, um usuário pode ter um documento armazenado em um computador laptop. O usuário pode transmitir o documento do computador laptop para o PSD 800 usando o SCS. O PSD 800 pode armazenar o documento no módulo de armazenamento 810. O usuário pode então transmitir o documento a partir do PDD 800 para outro dispositivo, tal como um smartphone, usando o SCS.
[051] Em várias concretizações, o PSD 800 pode se comunicar diretamente com outros dispositivos sem usar uma rede. Assim, as informações podem ser transmitidas de maneira segura entre o PSD 800 e outros dispositivos. Entretanto, em várias concretizações, o PSD 800 pode se comunicar através de uma rede usando um chip sem fio no módulo de comunicação 820. O módulo de comunicação 820 pode compreender dois chips sem fio, permitindo que o PSD 800 se comunique simultaneamente através de uma rede em um primeiro chip sem fio e diretamente com outro dispositivo em um segundo chip sem fio.
[052] Em várias concretizações, o PSD 800 pode permitir que os dados sejam transferidos de um dispositivo para o PSD 800 sem armazenar os dados no dispositivo. Por exemplo, um smartphone pode capturar uma imagem e transmitir a imagem diretamente para o PSD 800 usando a RAM do smartphone sem armazenar a imagem no disco rígido do smartphone. Assim, o smartphone pode ser perdido, roubado, vendido ou doado sem o risco de terceiros obterem a imagem, ou outros dados que estão armazenados no PSD 800 e não no smartphone. De forma similar, um usuário pode iniciar um SCS em um dispositivo, tal como um laptop, e abrir um arquivo armazenado no PSD 800 usando o dispositivo. O usuário pode editar o arquivo no dispositivo e salvar o arquivo editado diretamente no PSD 800 sem salvar o arquivo editado no dispositivo.
[053] Um usuário pode usar o PSD 800 para armazenar todos os arquivos do usuário. Independente de qual dispositivo um usuário está usando para acessar os arquivos no PSD 800, o usuário pode criar, editar e excluir arquivos diretamente no PSD 800 usando outro dispositivo, tal como um computador pessoal.
[054] Em várias concretizações, o PSD 800 pode emular uma unidade de rede. Assim, o PSD 800 pode ser capaz de se comunicar com dispositivos que não são capazes de baixar ou instalar software personalizado. Por exemplo, o PSD 800 pode emular um serviço de mídia DLNA, ou uma rede Windows®. O PSD 800 pode exigir que uma senha seja informada no dispositivo, e o dispositivo pode então acessar os arquivos armazenados no PSD 800.
[055] Referindo-se à FIG. 9, um PSD 910 e um dispositivo 920 compreendendo um SCS 922 são ilustrados de acordo com várias concretizações. Em várias concretizações, o dispositivo 920 pode ser o primeiro dispositivo 110 descrito com referência à FIG. 1. No entanto, o dispositivo 920 pode compreender qualquer dispositivo capaz de se comunicar com o PSD 910 usando um SCP. Um usuário pode se autenticar no SCS 922, e o dispositivo 920 pode solicitar uma chave de acesso. Em várias concretizações, o dispositivo 920 pode solicitar a chave de acesso a partir de um servidor através da Internet ou de uma conexão por celular. Entretanto, em várias concretizações, o PSD 910pode ter uma ou mais chaves de acesso armazenadas no PSD 910, e o dispositivo 920 pode solicitar a chave de acesso armazenada a partir do PSD 910. O PSD 910 pode transmitir a chave de acesso armazenada ao dispositivo 920, e o dispositivo 920 pode usar a chave de acesso armazenada para criptografar e/ou descriptografar os dados transmitidos entre o dispositivo 920 e o PSD 910. Em várias concretizações, a chave de acesso pode ser uma chave temporária que pode expirar após uma quantidade de tempo definida. O usuário pode visualizar os arquivos armazenados no PSD 910, e o usuário pode enviar ou baixar arquivos entre o PSD 910 e o dispositivo 920. Em várias concretizações, o PSD 910 pode transmitir em fluxo um arquivo, tal como um arquivo de áudio ou de vídeo, para o dispositivo 920. Uma vez que um arquivo seja armazenado no PSD 910, o usuário pode acessar o arquivo com qualquer dispositivo dentro do alcance de comunicação do PSD 910. Em várias concretizações, um arquivo pode ser transmitido em fluxo entre diferentes plataformas. Por exemplo, um usuário pode comprar um arquivo de áudio por meio de um dispositivo iTunes® ou Apple®. O usuário pode transmitir o arquivo de áudio para o PSD 910 usando o SCP. O PSD 910 pode transmitir em fluxo o arquivo de áudio a partir do PSD 910 para um dispositivo que não seja o Apple®, independente do sistema operacional, usando o SCP.
[056] Referindo-se à FIG. 10, um sistema 1000 para fazer uma cópia de segurança (backup) dos dados em um PSD 1010 é ilustrado de acordo com várias concretizações. O PSD 1010 pode estabelecer uma conexão com um dispositivo 1020. Em várias concretizações, o dispositivo 1020 pode compreender qualquer tipo de dispositivo capaz de se comunicar com um servidor 1030. Por exemplo, o dispositivo 1020 pode compreender um computador pessoal, um smartphone, ou um roteador sem fio. O dispositivo 1020 pode se comunicar com o servidor 1030 através de uma rede. Em várias concretizações, o servidor 1030 pode compreender um sistema de computação em nuvem.
[057] O dispositivo 1020 pode compreender um SCS. O PSD 1010 pode se comunicar com o dispositivo 1020 utilizando o SCS. Um usuário pode se autenticar no SCS no dispositivo 1020, e instruir o PSD 1010 a se sincronizar com o servidor 1030. O PSD 1010 pode transmitir quaisquer arquivos novos ou editados para o servidor 1030 por meio do dispositivo 1020. Os arquivos podem ser associados a uma conta do usuário e armazenados no servidor 1030. Em várias concretizações, quaisquer arquivos novos ou editados associados à conta do usuário podem ser baixados a partir do servidor 1030 e transmitidos ao PSD 1010 por meio do dispositivo 1020. Uma vez que o PSD 1010 esteja sincronizado com o servidor 1030, um usuário pode acessar um arquivo, seja autenticando-se na conta do usuário com qualquer dispositivo através da Internet, ou acessando o PSD 1010 com um dispositivo.
[058] Em várias concretizações, o PSD 1010 pode se sincronizar automaticamente enquanto está carregando. O PSD 1010 pode atingir um nível de bateria predefinido antes de iniciar a sincronização. Por exemplo, quando colocado em um carregador, o PSD 1010 pode iniciar uma sincronização em resposta ao nível de bateria ter atingido pelo menos 50%, ou pelo menos 90%. O PSD 1010 pode se sincronizar com qualquer localização especificada por um usuário, tal como o servidor 1030, um dispositivo local ou outro PSD.
[059] Em várias concretizações, os métodos descritos aqui são implementados usando as várias máquinas específicas descritas aqui. Os métodos descritos aqui podem ser implementados usando as máquinas específicas abaixo, e as que são reveladas aqui posteriormente, em qualquer combinação, como seria imediatamente apreciado por um indivíduo especialista na técnica. Além disso, como fica claro a partir da presente revelação, os métodos aqui descritos podem resultar em várias transformações de certos artigos.
[060] Para fins de concisão, a transmissão de dados em rede convencional, o desenvolvimento de aplicativos e outros aspectos funcionais dos sistemas (e componentes dos componentes operacionais individuais dos sistemas) podem não ser descritos em detalhes aqui. Além do mais, as linhas de conexão ilustradas nas várias figuras contidas aqui pretendem representar relações funcionais e/ou acoplamentos físicos ilustrativos entre os vários elementos. Deve-se notar que muitas relações funcionais ou conexões físicas adicionais ou alternativas podem estar presentes em um sistema prático.
[061] Os vários componentes do sistema aqui discutidos podem incluir um ou mais dentre o seguinte: um servidor anfitrião (host)ou outros sistemas de computação incluindo um processador para processamento de dados digitais; uma memória acoplada ao processador para armazenamento de dados digitais; um digitalizador de entrada acoplado ao processador para entrada de dados digitais; um programa aplicativo armazenado na memória e acessível pelo processador para direcionar o processamento de dados digitais pelo processador; um dispositivo de exibição acoplado ao processador e à memória para exibir informações derivadas de dados digitais processados pelo processador; e uma pluralidade de bases de dados. Várias bases de dados usadas aqui podem incluir: dados de clientes; dados de comerciantes; dados de instituições financeiras; e/ou dados similares úteis na operação do sistema. Como será apreciado pelos versados na técnica, o computador do usuário pode incluir um sistema operacional (por exemplo, Windows NT, Windows 95/98/2000, Windows XP, Windows Vista, Windows 7, OS2, UNIX, Linux, Solaris, MacOS, etc.), bem como vários softwares de suporte convencionais e controladores tipicamente associados aos computadores.
[062] Uma rede pode incluir qualquer nuvem, sistema de computação em nuvem ou sistema ou método de comunicações eletrônicas que incorpore componentes de hardware e/ou software. A comunicação entre as partes pode ser realizada através de quaisquer canais de comunicação adequados, tal como, por exemplo, uma rede de telefone, uma extranet, uma intranet, a Internet, um dispositivo de ponto de interação (dispositivo de ponto de venda, assistente pessoal digital (por exemplo, iPhone®, Palm Pilot®, Blackberry®, telefone celular, quiosque, etc.), comunicações online, comunicações por satélite, comunicações offline, comunicações sem fio, comunicações por transponder, rede local (LAN), rede de longa distância (WAN), rede virtual privada (VPN),dispositivos em rede ou interligados, teclado, mouse e/ou qualquer comunicação modalidade de entrada de dados ou comunicação adequada. Ademais, embora o sistema seja frequentemente descrito aqui como sendo implementado com protocolos de comunicações TCP/IP, o sistema também pode ser implementado usando IPX, Appletalk, IP-6, NetBIOS, OSI, qualquer protocolo de tunelamento (por exemplo, IPsec, SSH), ou qualquer número de protocolos existentes ou futuros. Se a rede estiver na natureza de uma rede pública, tal como a Internet, pode ser vantajoso presumir que a rede seja insegura e aberta a espiões. Informações específicas relacionadas aos protocolos, padrões e softwares de aplicação utilizados em conexão com a Internet são geralmente conhecidas pelos versados na técnica, e, como tal, não precisam ser detalhadas aqui. Vide, por exemplo, DILIP NAIK, INTERNET STANDARDS AND PROTOCOLS (1998); JAVA 2 COMPLETE, vários autores, (Sybex 1999); DEBORAH RAY AND ERIC RAY, MASTERING HTML 4.0 (1997); e LOSHIN, TCP/IP CLEARLY EXPLAINED (1997) e DAVID GOURLEY AND BRIAN TOTTY, HTTP, THE DEFINITIVE GUIDE (2002), sendo o conteúdo dos mesmos incorporado aqui para fins de referência.
[063] Os vários componentes do sistema podem ser acoplados adequadamente de forma independente, separada ou coletiva à rede por meio de ligações de dados que incluem, por exemplo, uma conexão com um Provedor de Serviços da Internet (ISP) através do enlace local, como é tipicamente usado em conexão com a comunicação convencional por modem, modem a cabo, redes de antena, ISDN, Linha Digital do Assinante (DSL), ou vários outros métodos de comunicação sem fio, vide, por exemplo, GILBERT HELD, UNDERSTANDING DATA COMMUNICATIONS (1996), o qual é incorporado neste para fins de referência. Nota-se que a rede pode ser implementada como outros tipos de redes, tal como rede de televisão interativa (ITV). Ademais, o sistema contempla o uso, venda ou distribuição de quaisquer bens, serviços ou informações através de qualquer rende que possua funcionalidade similar descrita aqui.
[064] Qualquer comunicação, transmissão e/ou canal discutido aqui pode incluir qualquer sistema ou método para distribuição de conteúdo (por exemplo, dados, informações, metadados, etc.) e/ou do próprio conteúdo. O conteúdo pode ser apresentado em qualquer forma ou meio, e em várias concretizações, os conteúdos podem ser distribuídos eletronicamente e/ou ser capazes de serem apresentados eletronicamente. Por exemplo, um canal pode compreender um site da Rede, um localizador de recursos uniforme (“URL”), um documento (por exemplo, um documento do Microsoft Word, um documento do Microsoft Excel, um documento Adobe .pdf, etc.), um “e-book”, uma “e-magazine”, um aplicativo ou microaplicativo (como descrito abaixo), um SMS ou outro tipo de mensagem de texto, uma mensagem de correio eletrônico, Facebook, twitter, MMS e/ou outro tipo de tecnologia de comunicação. Em várias concretizações, um canal pode ser hospedado ou fornecido por um parceiro de dados. Em várias concretizações, o canal de distribuição pode compreender pelo menos um de um site da Rede de comerciante, um site da Rede de mídia social, sites da Rede de afiliados ou parceiros, um vendedor externo, uma comunicação de dispositivo móvel, rede de mídia social e/ou serviço baseado em localização. Os canais de distribuição podem incluir pelo menos um de um site da Rede de comerciante, um site de mídia social, sites da Rede de afiliados ou parceiros, um vendedor externo e uma comunicação de dispositivo móvel. Exemplos de sites de mídia social incluem Facebook®, Foursquare®, Twitter®, MySpace®, LinkedIn®, entre outros. Ademais, exemplos de comunicações de dispositivo móvel incluem aplicativos de textos, mensagens de correio eletrônico e móveis para smartphones.
[065] O presente sistema ou qualquer parte(s) ou função(ões) dos mesmos podem ser implementados usando hardware, software ou uma combinação dos mesmos e podem ser implementados em um ou mais sistemas de computador ou outros sistemas de processamento. Além disso, as manipulações realizadas são geralmente referenciadas em termos, tal como adição ou comparação, que são normalmente associadas a operações mentais realizadas por um operador humano. Nenhuma tal capacidade de um operador humano é necessária, ou desejável na maioria dos casos, em qualquer uma das operações descritas aqui. Em vez disso, as operações podem ser operações de máquina. Máquinas úteis para realizar as várias concretizações incluem computadores digitais de uso geral ou dispositivos similares.
[066] De fato, em várias concretizações, as concretizações são direcionadas a um ou mais sistemas de computador capazes de executar a funcionalidade descrita aqui. O sistema de computador inclui um ou mais processadores. O processador é conectado a uma infraestrutura de comunicação (por exemplo, um barramento de comunicações, barramento de cruzamento, ou rede). Várias concretizações de software são descritas em termos deste sistema de computador ilustrativo. Após a leitura desta descrição, se tornará evidente para um indivíduo versado na(s) técnica(s) relevante(s) a maneira de implementar várias concretizações usando outros sistemas de computador e/ou arquiteturas. O sistema de computador pode incluir uma interface de exibição que encaminha gráficos, textos e outros dados a partir da infraestrutura de comunicação (ou a partir de um armazenamento intermediário (buffer) de quadros, não ilustrado) para exibição em uma unidade de exibição.
[067] O sistema de computador também inclui uma memória principal, tal como, por exemplo, memória de acesso aleatório (RAM), e também pode incluir uma memória secundária. A memória secundária pode incluir, por exemplo, uma unidade de disco rígido e/ou uma unidade de armazenamento removível, representando uma unidade de disco flexível, uma unidade de fita magnética, uma unidade de disco óptico, etc. A unidade de armazenamento removível lê e/ou grava junto a uma unidade de armazenamento removível de uma maneira bem conhecida. A unidade de armazenamento removível representa um disco flexível, fita magnética, disco óptico, etc. a partir do qual uma unidade de armazenamento removível efetua leitura e gravação. Como será apreciado, a unidade de armazenamento removível inclui um meio de armazenamento utilizável por computador tendo nele armazenados software de computador e/ou dados.
[068] Em várias concretizações, a memória secundária pode incluir outros dispositivos similares para permitir que programas de computador ou outras instruções sejam carregados no sistema de computador. Tais dispositivos podem incluir, por exemplo, uma unidade de armazenamento removível e uma interface. Exemplos de tais dispositivos podem incluir um cartucho de programa e interface de cartucho (tal como a que é encontrada em dispositivos de jogos de vídeo), um chip de memória removível (tal como memória somente para leitura programável e apagável (EPROM), ou memória somente para leitura programável (PROM)) e um soquete associado, e outras unidades de armazenamento e interfaces removíveis, que permitem que o software e os dados sejam transferidos a partir da unidade de armazenamento removível para o sistema de computador.
[069] O sistema de computador também pode incluir uma interface de comunicações. A interface de comunicações permite que o software e os dados sejam transferidos entre o sistema de computador e os dispositivos externos. Exemplos da interface de comunicações incluem um modem, uma interface de rede (tal como um cartão Ethernet), uma porta de comunicações, uma entrada e cartão da Associação Internacional de Cartões de Memória para Computador Pessoal (PCMCIA), etc. O software e os dados transferidos por meio da interface de comunicações são na forma de sinais que podem ser eletrônicos, eletromagnéticos, ópticos ou outros sinais capazes de serem recebidos pela interface de comunicações. Esses sinais são fornecidos à interface de comunicações por meio de um caminho de comunicações (por exemplo, canal). Este canal transporta sinais e pode ser implementado usando fios, cabos, fibras ópticas, uma linha de telefone, um enlace de celular, um enlace de radiofrequência (RF), wirelesse outros canais de comunicação.
[070] Os termos “meio de programa de computador” e “meio utilizável por computador” para se referir de forma geral a meios, tal como uma unidade de armazenamento removível e um disco rígido instalado na unidade de disco rígido. Esses produtos de programa e computador fornecem software ao sistema de computador.
[071] Os programas de computador (também chamados de lógica de controle de computador) são armazenados na memória principal e/ou na memória secundária. Os programas de computador também podem ser recebidos por meio da interface de comunicações. Tais programas de computador, quando executados, permitem que o sistema de computador realize os aspectos conforme discutidos aqui. Em particular, os programas de computador, quando executados, permitem que o processador realize os aspectos das várias concretizações. Por conseguinte, tais programas de computador representam controladores do sistema de computador.
[072] Em várias concretizações, o software pode ser armazenado em um produto de programa de computador e carregado no sistema de computador usando a unidade de armazenamento removível, a unidade de disco rígido ou a interface de comunicações. A lógica de controle (software), quando executada pelo processador, faz com que o processador execute as funções das várias concretizações como descritas aqui. Em várias concretizações, exemplos de componentes de hardware incluem circuitos integrados de aplicação específica (ASICs). A implementação da máquina de estado de hardware de modo a executar as funções descritas aqui será aparente aos versados na(s) técnica(s) relevante(s).
[073] Em várias concretizações, o servidor pode incluir servidores de aplicação (por exemplo, WEB SPHERE, WEB LOGIC, JBOSS). Em várias concretizações, o servidor pode incluir servidores da Rede (por exemplo, APACHE, IIS, GWS, SUN JAVA SYSTEM WEB SERVER).
[074] Como será apreciado pelos versados na técnica, um dispositivo pode incluir, mas não se limita a um sistema operacional (por exemplo, Windows NT, Windows 95/98/2000/CE/Mobile, OS2, UNIT, Linux, Solaris, MacOS, PalmOS, etc.), bem como vários softwares de suporte convencionais e controladores tipicamente associados aos computadores. Um dispositivo pode incluir, sem a isto se limitar, qualquer computador pessoal adequado, computador de rede, estação de trabalho, assistente pessoal digital, telefone celular, smart phone, minicomputador, computador de grande porte, ou similares. Um dispositivo pode estar em um ambiente residencial ou comercial com acesso a uma rede. Em várias concretizações, o acesso se dá através de uma rede ou da Internet através de um pacote de software de navegador da Rede comercialmente disponível. Um dispositivo pode implementar protocolos de segurança, tais como Camada de Socket Seguro (SSL) e Segurança da Camada de Transporte (TLS). Um dispositivo pode implementar vários protocolos de camada de aplicação, incluindo http, https, ft e sftp.
[075] Em várias concretizações, componentes, módulos e/ou mecanismos do sistema 100 podem ser implementados como microaplicativos ou “micro-apps”. Os microaplicativos são tipicamente implementados no contexto de um sistema operacional móvel, incluindo, por exemplo, um sistema operacional móvel Palm, um sistema operacional móvel Windows, um Sistema Operacional Android, Apple iOS, um sistema operacional Blackberry, entre outros. O microaplicativo pode ser configurado para aproveitar os recursos do sistema operacional maior e do hardware associado por meio de um conjunto de regras predeterminadas que controlam as operações de vários sistemas operacionais e recursos de hardware. Por exemplo, quando um microaplicativo deseja se comunicar com outro dispositivo ou rede além do dispositivo móvel ou do sistema operacional móvel, o microaplicativo pode aproveitar o protocolo de comunicação do sistema operacional e o hardware do dispositivo associado sob as regras predeterminadas do sistema operacional móvel. Ademais, quando o microaplicativo deseja uma entrada de um usuário, o microaplicativo pode ser configurado para solicitar uma resposta do sistema operacional que monitora vários componentes de hardware e então comunica uma entrada detectada do hardware para o microaplicativo.
[076] A “Nuvem” ou “Computação em nuvem” inclui um modelo para possibilitar o acesso à rede sob demanda, conveniente, a um conjunto compartilhado de recursos de computação configuráveis (por exemplo, redes, servidores, armazenamento, aplicativos e serviços) que podem ser rapidamente aprovisionados e liberados com mínimo esforço de gerenciamento ou interação com o provedor de serviços. A computação em nuvem pode incluir computação independente da localização, por meio do que os servidores compartilhados fornecem recursos, software e dados aos computadores e outros serviços sob demanda. Para mais informações a respeito da computação em nuvem, consulte a definição do NIST (National Institute of Standards and Technology) sobre computação em nuvem em http://csrc.nist.gov/groups/SNS/cloud-computing/cloud- def-v15.doc(última vista em 4 de fevereiro de 2011), o qual é incorporado aqui para fins de referência em sua totalidade.
[077] Como utilizado aqui, o termo “transmitir” pode incluir o envio de dados eletrônicos de um componente do sistema para outro. Adicionalmente, como utilizado aqui, o termo “dados” pode incluir informações abrangentes tais como comandos, consultas, arquivos, dados para armazenamentos, entre outros, na forma digital ou em qualquer outra forma.
[078] O sistema contempla o uso em associação com servidores da Rede (web), computação sob demanda, computação onipresente e individualizada, soluções de segurança e identidade, computação autonômica, computação em nuvem, computação commodity,soluções sem fio e de mobilidade, open source (código aberto), biometria, computação em grade e/ou computação em malha.
[079] Quaisquer bases de dados discutidas aqui podem incluir estruturas relacionais, hierárquicas, gráficas ou orientadas a objetos e/ou quaisquer outras configurações. Produtos de base de dados comuns que podem ser usados para implementar as bases de dados incluem DB2 da IBM (Armonk, N.Y.), vários produtos de bases de dados disponíveis pela Oracle Corporation (Redwood Shores, Calif.), Microsoft Access ou Microsoft SQL Server pela Microsoft Corporation (Redmond, Wash.), MySQL pela MySQL AB (Uppsala, Suécia), ou qualquer outro produto de base de dados adequado. Ademais, as bases de dados podem ser organizadas de qualquer maneira adequada, por exemplo, como tabelas de dados ou tabelas de consulta. Cada registro pode ser um único arquivo, uma série de arquivos, uma série interligada de campos de dados, ou qualquer outra estrutura de dados. A associação de certos dados pode ser realizada através de qualquer técnica de associação de dados desejada, tais como as conhecidas ou praticadas na técnica. Por exemplo, a associação pode ser realizada tanto manualmente quanto automaticamente. Técnicas de associação automáticas podem incluir, por exemplo, uma busca de banco de dados, uma mesclagem de bando de dados, GREP, AGREP, SQL, usando um campo-chave nas tabelas para agilizar as buscas, buscas sequenciais por todas as tabelas e arquivos, classificação de registros no arquivo de acordo com uma ordem conhecida para simplificara consulta e/ou similares. A etapa de associação pode ser realizada por uma função de mesclagem de banco de dados, por exemplo, usando um “campo-chave” em bases de dados pré- selecionadas ou setores de dados. Várias etapas de ajuste do banco de dados são contempladas para otimizar o desempenho do banco de dados. Por exemplo, os arquivos frequentemente utilizados, tais como índices, podem ser colocados em sistemas de arquivos separados para reduzir os gargalos de Entrada/Saída (“E/S”).
[080] Os versados na técnica também irão apreciar que, por razões de segurança, quaisquer bases de dados, sistemas, dispositivos, servidores ou outros componentes do sistema podem consistir de qualquer combinação dos mesmos em uma única localização ou em múltiplas localizações, em que cada base de dados ou sistema inclui qualquer um de vários recursos de segurança adequados, tais como firewalls, códigos de acesso, criptografia, descriptografia, compactação, descompactação e/ou similares.
[081] A criptografia pode ser realizada por meio de qualquer uma das técnicas presentemente disponíveis na técnica ou que poderão vir a se tornar disponíveis - como por exemplo, Twofish, RSA, El Gamal, assinatura de Schorr, DSA, PGP, PKI, GPG (GnuPG), e sistemas criptográficos simétricos e assimétricos.
[082] A unidade de computação do dispositivo pode ser adicionalmente equipada com um navegador da Internet conectado à Internet ou a uma intranet utilizando acesso discado convencional, cabo, DSL ou qualquer outro protocolo de Internet conhecido na técnica. As transações originadas em um dispositivo podem passar através de um firewall de modo a impedir o acesso não-autorizado dos usuários de outras redes. Além disso, firewalls adicionais podem ser implementados entre os componentes variados do sistema para aumentar ainda mais a segurança.
[083] Um firewall pode incluir qualquer hardware e/ou software configurado adequadamente para proteger os componentes ACS e/ou recursos de computação empresariais dos outros de outras redes. Além disso, um firewall pode ser configurado para limitar ou restringir o acesso a vários sistemas e componentes por trás do firewall para dispositivos conectando-se através de um servidor da Rede (web). O firewall pode residir em configurações variáveis incluindo inspeção Stateful, baseada em Proxy, listas de controle de acesso, e Filtragem de Pacotes, dentre outros. O firewall pode ser integrado dentro de um servidor da Rede ou quaisquer outros componentes ACS ou pode adicionalmente residir como uma unidade separada. Um firewall pode implementar a tradução de endereço de rede (“NAT”) e/ou a tradução de porta de endereço de rede (“NAPT”). Um firewall pode acomodar vários protocolos de tunelamento para facilitar as comunicações seguras, tais como as utilizadas em redes virtuais privadas. Um firewall pode implementar uma zona desmilitarizada (“DMZ”) para facilitar as comunicações com uma rede pública, tal como a Internet. Um firewall pode ser integrado como software dentro de um servidor da Internet, ou quaisquer outros componentes do servidor de aplicações, ou pode residir dentro de outro dispositivo de computação ou pode assumir a forma de um componente de hardware independente.
[084] Os computadores discutidos aqui podem fornecer um site da Rede adequado ou outra interface gráfica do usuário baseada em Internet que seja acessível pelos usuários. Em várias concretizações, o Servidor de informações de Internet Microsoft (IIS), o Servidor de Transações Microsoft (MTS) e o Microsoft SQL Server são usados em conjunto com o sistema operacional Microsoft, o software servidor da Rede Microsoft NT, um sistema de banco de dados Microsoft SQL Server, e um Servidor Comercial Microsoft. Adicionalmente, componentes, tal como o Access ou Microsoft SQL Server, Oracle, Sybase, Informix MySQL, Interbase, etc., podem ser usados para fornecer um sistema de gerenciamento de banco de dados compatível com a tecnologia Objeto de Dados Ativo (ADO). Em várias concretizações, o servidor da Rede Apache é usado em conjunto com um sistema operacional Linux, uma base de dados MysQL, e as linguagens de programação Perl, PHP e/u Python.
[085] Quaisquer das comunicações, entradas, armazenamento, bases de dados ou meios de exibição discutidos aqui podem ser facilitados através de um site da Rede contendo páginas da Rede. O termo “página da Rede”, como empregado aqui, não pretende limitar o tipo de documentos e aplicações que poderiam ser usadas para interagir com o usuário. Por exemplo, um típico site da Rede poderia incluir, além dos documentos HTML convencionais, vários formulários, aplicativos Java, JavaScript, active server pages (ASP), common gateway interface scripts (CGI), linguagem de marcação extensível (XML), HTML dinâmico, folhas de estilo em cascata (CSS), AJAX (Javascript e XML Assíncronos), aplicações auxiliares, extensões (“plug-ins”), entre outros. Um servidor pode incluir um serviço da Rede que recebe uma solicitação de um servidor da Rede, a solicitação incluindo um URL (http://yahoo.com/stockquotes/ge) e um endereço IP (123.56.789.234). O servidor da Rede recupera as páginas da Rede apropriadas e envia os dados ou aplicações para as páginas da Rede ao endereço IP. Os serviços da Rede são aplicações que são capazes de interagir com outras aplicações através de um meio de comunicações, tal como a Internet. Os serviços da Rede são tipicamente baseados em padrões ou protocolos, tal como XML, SOAP, AJAX, WSDL e UDDI. Os métodos de serviços da Rede são bem conhecidos na técnica, e são abordados por muitos textos convencionais. Consulte, por exemplo, ALEX NGHIEM, IT WEB SERVICES: A ROADMAP FOR THE ENTERPRISE (2003), aqui incorporado a título de referência.
[086] O middleware pode incluir qualquer hardware e/ou software configurado adequadamente para facilitar as comunicações e/ou processar transações entre sistemas de computação distintos. Os componentes middleware encontram-se comercialmente disponíveis e são conhecidos na técnica. O middleware pode ser implementado através de hardware e/ou software comercialmente disponível, através de hardware personalizado e/ou componentes de software, ou através de uma combinação dos mesmos. O middleware pode residir em uma variedade de configurações e pode existir como um sistema independente, ou pode ser um componente de software residindo no servidor Internet. O middleware pode ser configurado para processar transações entre os vários componentes de um servidor de aplicações e qualquer número de sistemas internos ou externos para quaisquer das finalidades aqui reveladas. O WebSphere MQ® (anteriormente MQSeries) da IBM, Inc. (Armonk, N.Y.) é um exemplo de um produto middleware comercialmente disponível. Uma aplicação do Barramento Corporativo de Serviços (“ESB”) é outro exemplo de middleware.
[087] Os profissionais também irão apreciar que existe uma série de métodos para exibir dados dentro de um documento baseado em navegador. Os dados podem ser representados como texto padrão ou dentro de uma lista fixa, lista rolável, lista suspensa, campo de texto editável, campo de texto fixo, janela pop-up, entre outros. De maneira similar, existe uma série de métodos disponíveis para modificar dados em uma página da Rede, tal como, por exemplo, entrada de texto livre usando um teclado, seleção de itens de menu, caixas de seleção, caixas de opção, entre outros.
[088] O sistema e método podem ser descritos aqui em termos de componentes de bloco funcionais, capturas de tela, seleções opcionais e várias etapas de processamento. Deve-se apreciar que tais blocos funcionais podem ser realizados por qualquer número de componentes de hardware e/ou software configurados para realizar as funções especificadas. Por exemplo, o sistema pode empregar vários componentes de circuito integrado, por exemplo, elementos de memória, elementos de processamento, elemento de lógica, tabelas de consulta, entre outros, os quais podem desempenhar uma variedade de funções sob o controle de um ou mais microprocessadores ou outros dispositivos de controle. De forma similar, os elementos de software do sistema podem ser implementados com qualquer linguagem de programação ou scripting, tal como C, C++, C#, Java, JavaScript, VBScript, Macromedia Cold Fusion, COBOL, Microsoft Active Server Pages, assembly, PERL, PHP, awk, Python, Visual Basic, Procedimentos Armazenados SQL, PL/SQL, qualquer script de shell UNIX, e linguagem de marcação extensível (XML) com os vários algoritmos sendo implementados com qualquer combinação de estruturas de dados, objetos, processos, rotinas ou outros elementos de programação. Além disso, deve-se observar que o sistema pode empregar qualquer número de técnicas convencionais para transmissão de dados, sinalização, processamento de dados, controle de rede, entre outros. Além do mais, o sistema poderia ser usado para detectar ou prevenir problemas de segurança com uma linguagem de scripting do lado do cliente, tal como Javascript, VBScript, entre outros. Para uma introdução básica da criptografia e da segurança de rede, consulte qualquer uma das referências a seguir: (1) “Applied Cryptography: Protocols, Algorithms, And Source Code In C,” por Bruce Schneier, publicado por John Wiley & Sons (segunda edição, 1995); (2) “Java Cryptography” by Jonathan Knudson, published by O'Reilly & Associates (1998); (3) “Cryptography & Network Security: Principles & Practice” por William Stallings, publicado por Prentice Hall; todos os quais são por meio deste incorporados a título de referência.
[089] Como será apreciado pelos versados na técnica, o sistema pode ser incorporado como uma personalização de um sistema existente, um produto complementar, um aparelho de processamento executando software atualizado, um sistema independente, um sistema distribuído, um método, um sistema de processamento de dados, um dispositivo para processamento de dados e/ou um produto de programa de computador. Por conseguinte, qualquer parte do sistema ou de um módulo pode assumir a forma de um aparelho de processamento executando código, uma concretização baseada em Internet, uma concretização inteiramente baseada em hardware, ou uma concretização que combine aspectos da Internet, software e hardware. Adicionalmente, o sistema pode assumir a forma de um produto de programa de computador em um meio de armazenamento legível por computador contendo meios de código de programa legíveis por computador incorporados no meio de armazenamento. Qualquer meio de armazenamento legível por computador adequado pode ser utilizado, incluindo discos rígidos, CD-ROM, dispositivos de armazenamento óptico, dispositivos de armazenamento magnético e/ou similares.
[090] O sistema e método são descritos aqui com referência a capturas de tela, diagramas de blocos e ilustrações de fluxograma de métodos, aparelhos (por exemplo, sistemas), e produtos de programa de computador de acordo com várias concretizações. Será compreendido que cada bloco funcional dos diagramas de bloco e das ilustrações de fluxograma, e as combinações de blocos funcionais nos diagramas de blocos e ilustrações de fluxograma, respectivamente, pode ser implementado por instruções de programa de computador.
[091] Essas instruções de programa de computador podem ser carregadas em um computador de uso geral, computador de uso especial, ou em outro aparelho de processamento de dados programável para produzir uma máquina, de modo que as instruções que são executadas no computador ou em outro aparelho de processamento de dados programável criem meios para implementar as funções especificadas no bloco ou blocos de fluxograma. Essas instruções de programa de computador também podem ser armazenadas em uma memória legível por computador que pode direcionar um computador, ou outro aparelho de processamento de dados programável, para funcionar de uma maneira específica, de modo que as instruções armazenadas na memória legível por computador produzam um artigo de fabricação incluindo meios de instrução que implementam a função especificada no bloco ou blocos de fluxograma. As instruções de programa de computador também podem ser carregada sem um computador, ou outro aparelho de processamento de dados programável, para fazer com que uma série de etapas operacionais sejam realizadas no computador ou em outro aparelho programável para produzir um processo implementado por computador de modo que as instruções que são executadas no computador ou em outro aparelho programável forneçam etapas para implementar as funções especificadas no bloco ou blocos de fluxograma.
[092] Por conseguinte, os blocos funcionais dos diagramas de blocos e ilustrações de fluxograma suportam combinações de meios para realizar as funções especificadas, combinações de etapas para realizar as funções especificadas, e meios de instrução de programa para realizar as funções especificadas. Também será compreendido que cada bloco funcional dos diagramas de bloco e/ou ilustração de fluxograma, e combinações de blocos funcionais nos diagramas de bloco e/ou ilustrações de fluxograma, pode ser implementado por sistemas de computador baseados em hardware de propósito especial que desempenham as funções ou etapas especificadas, ou por combinações adequadas de hardware de propósito especial e instruções de computador. Além disso, ilustrações dos fluxos de processo e das descrições dos mesmos podem fazer referência a janelas do usuário, páginas da Rede, sites da Rede, formulários da Rede, prompts,etc. Os profissionais apreciarão que as etapas ilustradas aqui descritas podem compreender qualquer número de configurações incluindo o uso de janelas, páginas da Rede, formulários da Rede, janelas pop-up, promptse similares. Deve-se apreciar ainda que as múltiplas etapas, como ilustradas e descritas, podem ser combinadas em páginas da rede e/ou janelas individuais, mas foram expandidas para fins de simplicidade. Em outros casos, as etapas ilustradas e descritas como etapas de processo individuais podem ser separadas em múltiplas páginas da Rede e/ou janelas, mas foram combinadas para fins de simplicidade.
[093] O termo “não-temporário" deve ser compreendido como removendo somente sinais de propagação temporários em si do escopo reivindicado, e não renuncia aos direitos a todos os meios legíveis por computador convencionais que não são sinais de propagação temporários em si. Dito de outra forma, o significado do termo “meio não-temporário legível por computador” e “meio de armazenamento não-temporário legível por computador” deve ser interpretado de maneira a excluir somente os tipos de meios temporários legíveis por computador que foram encontrados em In Re Nuijten como estando fora do escopo da matéria patenteável segundo a 35 U.S.C. §101.
[094] Benefícios, outras vantagens e soluções aos problemas foram descritos aqui com relação às concretizações específicas. No entanto, os benefícios, vantagens, soluções para os problemas, e quaisquer elementos que possam gerar ou ampliar qualquer benefício, vantagem ou solução não deverão ser interpretados como aspectos ou elementos cruciais, necessários ou essenciais da revelação. Uma referência a um elemento no singular não pretende significa “um e apenas um”, salvo indicação clara em contrário, mas sim “um ou mais”. Ademais, sempre que uma expressão similar a “pelo menos um dentre A, B e C” ou “pelo menos um dentre A, B ou C” for usada nas reivindicações ou no relatório descritivo, pretende-se que a expressão seja interpretada para significar que A sozinho pode estar presente em uma concretização, B sozinho pode estar presente em uma concretização, C sozinho pode estar presente em uma concretização, ou que qualquer combinação dos elementos A, B e C pode estar presente em uma única concretização; por exemplo, A e B, A e C, B e C, ou A e B e C. Embora a revelação inclua um método, contempla-se que ela pode ser incorporada como instruções de programa de computador em um suporte tangível legível por computador, tal como uma memória óptica ou magnética ou um disco óptico ou magnético. Todos os equivalentes estruturais, químicos e funcionais dos elementos das concretizações ilustrativas descritas acima que são conhecidos pelos versados na técnica são explicitamente incorporados aqui a título de referência e pretendem ser abrangidos pelas presentes reivindicações. Ademais, não é necessário que um dispositivo ou método aborde todo e qualquer problema que se pretende resolver pela presente revelação para que ele seja abrangido pelas presentes reivindicações. Adicionalmente, nenhum elemento, componente ou etapa de método na presente revelação pretende ser dedicada ao público, independente de se o elemento, método ou etapa de método é explicitamente declarado nas reivindicações. Nenhum elemento de reivindicação aqui apresentado deverá ser interpretado sob as provisões do 35 U.S.C. 112(f), a menos que o elemento seja explicitamente declarado usando a expressão “meios para”. Como empregados aqui, os termos “compreende”, “compreendendo”, ou qualquer outra variação dos mesmos, pretende abranger uma inclusão não-exclusiva de modo que um processo, método, artigo ou aparelho que compreende uma lista de elementos não inclua apenas esses elementos, mas possa incluir outros elementos não explicitamente listados ou intrínsecos a tal processo, método, artigo ou aparelho.

Claims (13)

1. Dispositivo de armazenamento portátil, CARACTERIZADO por compreender: um processador (830); um módulo de armazenamento (810) configurado para receber instruções de armazenamento a partir do processador (830), em que o módulo de armazenamento (810) compreende uma capacidade maior que ou igual a 32 gigabytes, e em que o módulo de armazenamento (830) é configurado para armazenar arquivos para leitura por um primeiro dispositivo (110) compreendendo pelo menos um dentre um computador pessoal, um laptop, um smartphone ou um tablet; um módulo de comunicação (820) configurado para receber instruções de comunicação a partir do processador (830), em que o módulo de comunicação (820) compreende um primeiro chip sem fio e é configurado para se comunicar com o primeiro dispositivo (110) usando um protocolo de comunicações padronizado ao pré-fixar um cabeçalho de protocolo de comunicação padronizado a pelo menos um dentre um pacote ou datagrama para identificar o pacote ou o datagrama como seguindo o protocolo de comunicação padronizado para comunicação através de uma rede, em que o protocolo de comunicação padronizado define funcionalidade do primeiro dispositivo (110) para descobrir dispositivos ao usar o módulo de comunicação para transmitir uma mensagem de difusão, e em que o módulo de comunicação (820) é configurado para receber os arquivos a partir do pelo menos um dentre o computador pessoal, laptop, smartphone, ou tablet para armazenamento no módulo de armazenamento (810); e um segundo chip sem fio configurado para se comunicar com o primeiro dispositivo (110) através de um protocolo Bluetooth; em que durante a descoberta de dispositivo o módulo de comunicação (820) é configurado para transmitir a mensagem de difusão ao dividir a mensagem de difusão em múltiplos pacotes e transmitir os múltiplos pacotes através de um primeiro caminho de transmissão usando o primeiro chip sem fio e um segundo caminho de transmissão usando o segundo chip sem fio.
2. Dispositivo de armazenamento portátil, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o dispositivo de armazenamento portátil compreende pelo menos um dentre um bracelete, um relógio de pulso, ou um colar.
3. Dispositivo de armazenamento portátil, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o dispositivo de armazenamento portátil compreende uma interface de usuário gráfica.
4. Dispositivo de armazenamento portátil, de acordo com a reivindicação 1, CARACTERIZADO por adicionalmente compreender um revestimento à prova d'água.
5. Dispositivo de armazenamento portátil, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a rede compreende uma rede local.
6. Dispositivo de armazenamento portátil, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que a rede local compreende um roteador.
7. Dispositivo de armazenamento portátil, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a rede compreende uma Internet.
8. Dispositivo de armazenamento portátil, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o módulo de armazenamento (810) é configurado para se sincronizar com o primeiro dispositivo (110).
9. Dispositivo de armazenamento portátil, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o módulo de armazenamento (810) é configurado para sincronizar automaticamente os arquivos com o primeiro dispositivo (110).
10. Dispositivo de armazenamento portátil, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que os arquivos são criptografados.
11. Dispositivo de armazenamento portátil, de acordo com a reivindicação 1, CARACTERIZADO por adicionalmente compreender uma chave de acesso armazenada no módulo de armazenamento (810).
12. Dispositivo de armazenamento portátil, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o módulo de armazenamento (810) compreende uma capacidade de pelo menos um terabyte.
13. Dispositivo de armazenamento portátil, CARACTERIZADO por compreender: um processador (830); um módulo de armazenamento (810) configurado para receber instruções de armazenamento a partir do processador (830), em que o módulo de armazenamento (810) compreende uma capacidade maior que ou igual a 32 gigabytes, e em que o módulo de armazenamento (810) é configurado para armazenar arquivos para leitura por um primeiro dispositivo (110) compreendendo pelo menos um dentre um computador pessoal, um laptop, um smartphone, ou um tablet; e um módulo de comunicação (820) configurado para receber instruções de comunicação a partir do processador (830), em que o módulo de comunicação (820) compreende um primeiro chip sem fio e é configurado para se comunicar diretamente com o primeiro dispositivo (110) usando um protocolo de comunicações padronizado ao pré-fixar um cabeçalho de protocolo de comunicação padronizado a pelo menos um dentre um pacote ou datagrama para identificar o pacote ou o datagrama como seguindo o protocolo de comunicação padronizado para comunicação através de uma rede, em que o protocolo de comunicação padronizado define funcionalidade do primeiro dispositivo (110) para pelo menos um dentre descobrir dispositivos ou solicitar transferências de dados, em que o módulo de comunicação (820) implementa um protocolo de descoberta em uma camada de transporte usando pelo menos um dentre TCP ou UDP, e o protocolo de descoberta compreende um cliente local instanciado no primeiro dispositivo (110) para estabelecer uma conexão com o dispositivo de armazenamento portátil, em que o protocolo de descoberta é definido pelo protocolo de comunicações padronizado, e em que o módulo de comunicação (820) é configurado para receber os arquivos a partir do pelo menos um dentre um computador pessoal, o laptop, o smartphone, ou o tablet para armazenamento no módulo de armazenamento (810); um segundo chip configurado para se comunicar diretamente com o primeiro dispositivo (110) através de um protocolo Bluetooth, em que pelo menos um dentre o primeiro chip sem fio ou o segundo chip sem fio é configurado para transmitir diretamente a cifra de uso único para pelo menos um dentre o computador pessoal, o laptop, o smartphone, ou o tablet, e em que durante a descoberta de dispositivo o módulo de comunicação (820) é configurado para transmitir uma mensagem de difusão ao dividir a mensagem de difusão em múltiplos pacotes e transmitir os múltiplos pacotes através de um primeiro caminho de transmissão usando o primeiro chip sem fio e um segundo caminho de transmissão usando o segundo chip sem fio.
BR112017007118-5A 2014-10-06 2015-06-19 Dispositivos de armazenamento portátil BR112017007118B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462060379P 2014-10-06 2014-10-06
US62/060.379 2014-10-06
PCT/US2015/036801 WO2016057091A1 (en) 2014-10-06 2015-06-19 Systems and methods for portable storage devices

Publications (2)

Publication Number Publication Date
BR112017007118A2 BR112017007118A2 (pt) 2017-12-19
BR112017007118B1 true BR112017007118B1 (pt) 2023-09-12

Family

ID=

Similar Documents

Publication Publication Date Title
AU2020200894B2 (en) Systems and methods for portable storage devices
JP7104701B2 (ja) メディア・ストリーミング・システムおよび方法
US10929071B2 (en) Systems and methods for memory card emulation
US20190020576A1 (en) Systems and methods for peer-to-peer communication
JP6847031B2 (ja) メッセージを編集するためのシステムおよび方法
BR112017007118B1 (pt) Dispositivos de armazenamento portátil
SE1551071A1 (sv) Systems and methods for portable storage devices Sweden