BR112015026148B1 - Método, sistema e meio de armazenamento não transitório legível por computador para gerenciamento de arquivo por dispositivos de computação móveis - Google Patents

Método, sistema e meio de armazenamento não transitório legível por computador para gerenciamento de arquivo por dispositivos de computação móveis Download PDF

Info

Publication number
BR112015026148B1
BR112015026148B1 BR112015026148-5A BR112015026148A BR112015026148B1 BR 112015026148 B1 BR112015026148 B1 BR 112015026148B1 BR 112015026148 A BR112015026148 A BR 112015026148A BR 112015026148 B1 BR112015026148 B1 BR 112015026148B1
Authority
BR
Brazil
Prior art keywords
file
base
files
memory
preview
Prior art date
Application number
BR112015026148-5A
Other languages
English (en)
Other versions
BR112015026148A8 (pt
BR112015026148A2 (pt
Inventor
Ruslan Albertovich Shigabutdinov
Original Assignee
Ruslan Albertovich Shigabutdinov
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 Ruslan Albertovich Shigabutdinov filed Critical Ruslan Albertovich Shigabutdinov
Publication of BR112015026148A2 publication Critical patent/BR112015026148A2/pt
Publication of BR112015026148A8 publication Critical patent/BR112015026148A8/pt
Publication of BR112015026148B1 publication Critical patent/BR112015026148B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1727Details of free space management performed by the file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephone Function (AREA)
  • Television Signal Processing For Recording (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

sistemas e métodos para gerenciamento de arquivo por dispositivos de computação móveis trata-se de sistemas e métodos para gerenciamento de arquivo por dispositivos de computação móveis. um método exemplificativo, executado por um sistema de computador, pode compreender: armazenar, por um sistema de computador, um primeiro arquivo que tem um primeiro tamanho, em uma memória; armazenar, na memória, um segundo arquivo derivado a partir do primeiro arquivo, o segundo arquivo que tem o segundo tamanho, sendo que o segundo tamanho é menor que o primeiro tamanho; determinar se a memória não é suficiente para executar uma operação de gravação de memória; selecionar um terceiro arquivo que tem um quarto arquivo associado com o mesmo, o quarto arquivo derivado do terceiro arquivo; e remover o terceiro arquivo a partir da memória.

Description

CAMPO DA TÉCNICA
[001] A presente revelação refere-se, de modo geral, a sistemas de computador, e se refere mais especificamente a sistemas e métodos para gerenciamento de arquivo por dispositivos de computação móveis.
ANTECEDENTES
[002] Um dispositivo de computação móvel pode ter diversas interfaces de entrada/saída (I/O) e/ou dispositivos periféricos, tal como, por exemplo, uma câmera de imagem estática, uma câmera de vídeo, e/ou um microfone. Os arquivos adquiridos pelo dispositivo de computação móvel por meio dessas e outras interfaces I/O podem ser armazenados na memória local do dispositivo de computação móvel.
BREVE DESCRIÇÃO DOS DESENHOS
[003] A presente revelação é ilustrada por meio de exemplos, e não por meio de limitação, e pode ser mais completamente entendida com referências a seguinte descrição detalhada quando considerada em conjunto com as figuras, nas quais:a figura 1 descreve um diagrama em nível de rede de uma modalidade ilustrativa de um dispositivo de computação móvel que executa o gerenciamento de arquivo em concordância com um ou mais aspectos da presente revelação;a figura 2 ilustra esquematicamente uma estrutura de dados para rastreamento de acesso aos arquivos armazenados no dispositivo de computação móvel, em concordância com um ou mais aspectos da presente revelação;a figura 3 ilustra esquematicamente um exemplo do método de gerenciamento de arquivo em concordância com um ou mais aspectos da presente revelação;a figura 4 ilustra esquematicamente diversas estruturas de dados suportadas pelo sistema de computador que executa um aplicativo de calendário em concordância com um ou mais aspectos da presente revelação;as figuras 5a a 5b ilustram esquematicamente exemplos de vistas de calendário renderizadas pelo sistema de computador que executa um aplicativo de calendário em concordância com um ou mais aspectos da presente revelação;as figuras 6a a 6b ilustram esquematicamente exemplos de vistas de computador do tipo notebook renderizadas pelo sistema de computador que executa um aplicativo de calendário em concordância com um ou mais aspectos da presente revelação;a figura 7 descreve um fluxograma de um método de gerenciamento de arquivo, em concordância com um ou mais aspectos da presente revelação; ea figura 8 descreve um diagrama de blocos de um sistema de computador ilustrativo que opera em concordância com exemplos da presente revelação.
DESCRIÇÃO DETALHADA
[004] São descritos, no presente documento, métodos e sistemas para gerenciamento de arquivo por dispositivos de computação móveis. Um “dispositivo de computação móvel” no presente documento deve se referir a um dispositivo portável que tem pelo menos um processador, uma memória, e pelo menos uma interface de comunicação. Deve ser notado, entretanto, que sistemas e métodos descritos no presente documento podem ser aplicáveis igualmente a sistemas de computador não portáveis, tal como, por exemplo, computadores de mesa.
[005] Um dispositivo de computação móvel pode entrar com informações sobre uma variedade de interfaces, que incluem, por exemplo, um teclado, uma tela sensível ao toque, uma interface de rede, um microfone, uma câmera de vídeo, uma câmera de imagem estática, e/ou um microfone. Tal dispositivo de computação móvel pode ter a capacidade de entrar com arquivos de imagem estática, arquivos de fluxo de vídeo, arquivos de fluxo de áudio, e/ou arquivos de documento (por exemplo, arquivos de texto).
[006] Em certas implantações, um dispositivo de computação móvel pode, responsivo à aquisição de um arquivo (por exemplo, um arquivo de imagem estática), armazenar o arquivo adquirido em sua memória local. A “memória” no presente documento deve se referir à memória de acesso aleatório (RAM) e/ou à memória de armazenamento. A última pode ser representada por um ou mais sistemas de arquivo que residem em uma memória não volátil, tal como EEPROM, memória Hash, memória de disco, etc.
[007] Responsivo à aquisição de um arquivo, o dispositivo de computação móvel também pode transmitir, por exemplo, sobre uma interface de comunicação sem fio, uma cópia do arquivo adquirido para um servidor de arquivo. O dispositivo de computação móvel pode ainda armazenar na memória local um arquivo de prévia derivado do arquivo de imagem adquirido. O arquivo de prévia pode estar, por exemplo, em uma forma de uma imagem em miniatura ou outra imagem em tamanho reduzido ou uma imagem de resolução reduzida.
[008] O dispositivo de computação móvel pode ainda tentar uma operação de gravação de memória (por exemplo, armazenar em um sistema de arquivo local um arquivo de imagem recém-adquirido). O espaço disponível no sistema de arquivo local do dispositivo de computação móvel deveria ser insuficiente para permitir a conclusão da tentativa da operação de gravação de memória, sendo que o dispositivo de computação móvel pode selecionar um ou mais arquivos adquiridos previamente para a remoção a partir do sistema de arquivo local, portanto, libera o espaço necessário para armazenar o arquivo recém-adquirido. Em um exemplo ilustrativo, o dispositivo de computação móvel pode remover o arquivo menos acessado, pelo número de operações de acesso de arquivo. Em outro exemplo, o dispositivo de computação móvel pode remover o arquivo acessado menos recentemente. Em um exemplo adicional, o dispositivo de computação móvel pode remover o arquivo adquirido menos recentemente.
[009] Responsivo à remoção de um ou mais arquivos selecionados, o dispositivo de computação móvel pode completar a tentativa da operação de gravação de memória (por exemplo, armazenar um arquivo de imagem recém- adquirido no sistema de arquivo local). Dessa forma, responsivo à recepção eventualmente de um comando de interface de usuário que solicita um arquivo que tenha sido removido previamente da memória local, o sistema pode apresentar o arquivo de prévia correspondente. Responsivo à recepção de um comando de interface de usuário direcionado explicitamente a um arquivo de tamanho total, o sistema pode recuperar o arquivo de tamanho total a partir do servidor no qual o arquivo foi inicialmente armazenado.
[010] Desse modo, o dispositivo de computação móvel pode armazenar os arquivos de prévia para pelo menos alguns dos arquivos adquiridos pelo dispositivo de computação móvel, e pode armazenar ainda as versões de tamanho total dos arquivos para um subconjunto dos arquivos adquiridos, para a extensão que os arquivos de tamanho total podem ser acomodados no sistema de arquivo do dispositivo de computação móvel. Um arquivo de tamanho total pode ser removido do sistema de arquivo com o objetivo de acomodar um arquivo recém-adquirido, e um arquivo de prévia pode ser apresentado a um usuário responsivo a um comando de interface de usuário. O arquivo de tamanho total pode ser recuperado de um servidor de arquivo responsivo à recepção de um comando de interface de usuário que é direcionado explicitamente a um arquivo de tamanho total.
[011] Em certas implantações, os métodos de gerenciamento de arquivo descritos acima podem ser implantados para facilitar o manuseio de anexos de arquivo por um aplicativo de calendário executado por um dispositivo de computação móvel. Um “aplicativo de calendário” no presente documento deve se referir a um aplicativo que fornece agendamento de evento e rastreamento para usuários individuais e/ou grupos de usuários.
[012] Vários aspectos dos sistemas e métodos acima referidos são descritos em detalhes no presente documento abaixo a título de exemplos, ao invés que a um título de limitação.
[013] A Figura 1 descreve um diagrama em nível de rede de uma modalidade ilustrativa de um sistema de computador 1000, em concordância com um ou mais aspectos da presente revelação. O sistema de computador 1000 pode compreender um ou mais servidores 110 que executam porções de lado do servidor 120 de um aplicativo de gerenciamento de arquivo (por exemplo, um aplicativo de calendário). Um ou mais dos computadores de cliente 130 que executam as porções de lado do cliente 125 do aplicativo de gerenciamento de arquivo pode ser conectado ao computador servidor 110 sobre uma pluralidade de redes de interconexão 115.
[014] Um “computador” no presente documento deve se referir a um aparelho que inclui um processador, uma memória, e pelo menos uma interface I/O. Um computador pode ser representado, por exemplo, por um servidor, uma máquina virtual que é executada em um sistema de computador host, um computador portável ou um computador pessoal de mesa (PC), um computador do tipo tablet ou um telefone inteligente. Adicionalmente, o termo “computador” deverá incluir qualquer coleção de computadores que individualmente ou conjuntamente executam um conjunto (ou múltiplos conjuntos) de instruções para realizar qualquer um ou mais dos métodos descritos no presente documento.
[015] Uma “rede” no presente documento deve se referir a um sistema de comunicação distribuído que interconecta dois ou mais computadores. Uma rede pode ser representada, por exemplo, por uma rede de área local (LAN), uma rede de área ampla (WAN) ou uma rede privada virtual (VPN). Em certas implantações, a pluralidade de redes de interconexão 1 15 pode incluir a Internet.
[016] As funções do sistema de computador 1000 podem ser distribuídas para um usuário de extremidade por meio de um ou mais dispositivos de cliente 130, tal como, por exemplo, um computador portável pessoal ou de mesa (PC), um computador do tipo tablet ou um telefone inteligente. Em um exemplo, um ou mais dispositivos de cliente 130 pode fornecer funções de interface de usuário e se comunicar com um ou mais servidores 110 que podem realizar o processamento de solicitação do cliente, balanceamento de carga, autenticação de cliente, autorização, armazenamento de arquivo e recuperação, cobrança, e outras funções. Essas e outras funções podem ser distribuídas entre um ou mais servidores 110 que residem em uma ou mais instalações físicas.
[017] Em outro exemplo, pelo menos algumas das funções do lado do servidor acima listadas podem ser executadas por um ou mais dispositivos de cliente 130. Em certas implantações, um dispositivo de cliente 130 pode executar pelo menos um subconjunto de suas funções enquanto não está conectado a um servidor 110. Esse modo de processamento também é chamado de modo operacional do cliente off-line.
[018] Algumas das funções acima listadas, tal como, por exemplo, o processamento de solicitação do cliente, o balanceamento de carga, a autenticação de cliente, a autorização, o armazenamento de arquivo e a recuperação, e/ou cobrança, podem ser referidos como um relativo à funcionalidade do lado do servidor. Outras funções, tal como, por exemplo, aceitar a entrada de usuário, adquirir arquivos sobre uma ou mais interfaces de comunicação, e/ou renderizar informações no exibidor, podem ser referidas como relativas à funcionalidade do lado do cliente. Entretanto, em certas implantações, o sistema de computador 1000 pode incluir um ou mais computadores que executam pelo menos alguma da funcionalidade do lado do servidor relativa à funcionalidade do lado do servidor e pelo menos algumas das funções relativas à funcionalidade do lado do cliente. Consequentemente, a designação de funcionalidade do lado do cliente e do lado do servidor conforme pode ser referida no presente documento se intenciona a propósitos de ilustração que não tem rolamento na operação dos componentes do sistema de computador 1000.
[019] Em certas implantações, o sistema de computador 1000 pode ser configurado para adquirir arquivos de vários tipos sobre uma ou mais interfaces de comunicação do dispositivo de computação móvel 130. Em um exemplo ilustrativo, o dispositivo de computação móvel 130 pode ser equipado com uma câmera de imagem estática que pode ser empregada para adquirir arquivos de imagem estática. Em outro exemplo, o dispositivo de computação móvel 130 pode ser equipado com uma câmera de vídeo que pode ser empregada para adquirir fluxos de vídeo. Em um exemplo adicional, o dispositivo de computação móvel 130 pode ser equipado com um microfone que pode ser empregado para adquirir fluxos de áudio. Em um exemplo adicional, o dispositivo de computação móvel 130 pode ser equipado com um teclado ou uma tela sensível ao toque que podem ser empregados para adquirir arquivos de texto.
[020] Responsivo à aquisição de um arquivo, o dispositivo de computação móvel 130 pode armazenar o arquivo em uma memória local do dispositivo de computação móvel. Em um exemplo ilustrativo, o dispositivo de computação móvel 130 pode armazenar o arquivo em um sistema de arquivo local que reside em uma memória local não volátil. Em outro exemplo, o dispositivo de computação móvel 130 pode armazenar o arquivo em um banco de dados que reside em uma memória local não volátil.
[021] Adicionalmente responsivo à aquisição do arquivo, o dispositivo de computação móvel 130 pode transmitir uma cópia do arquivo para um ou mais servidores 110 que executam as porções de lado do servidor 120 do aplicativo de gerenciamento de arquivo. Um ou mais servidores 1 10 podem armazenar o arquivo recebido em um sistema de arquivo, em um banco de dados, e/ou em qualquer uma outra arquitetura adequada de repositório.
[022] Adicionalmente responsivo à aquisição do arquivo, o dispositivo de computação móvel 130 pode produzir um arquivo de prévia derivado do arquivo adquirido. O arquivo de prévia pode ter um tamanho menor do que o arquivo-base. O arquivo de prévia tenciona-se a agir como um proxy para o arquivo-base para os propósitos de renderizar o arquivo- base na tela do dispositivo de computação móvel: a menos que especificamente solicitado pelo usuário para exibir os arquivos-base, ao invés dos arquivos de prévia, o dispositivo de computação móvel pode, responsivo à recepção de um comando de interface de usuário para exibir um ou mais arquivos, exibir um ou mais arquivos de prévia correspondentes aos arquivos solicitados pelo usuário.
[023] Para um arquivo de imagem, o arquivo de prévia pode ser fornecido, por exemplo, por uma imagem em miniatura ou outra imagem em tamanho reduzido ou uma imagem de resolução reduzida. Para um arquivo de vídeo, o arquivo de prévia pode ser fornecido, por exemplo, por um “trailer” que compreende um subconjunto de quadros do arquivo-base de vídeo. Para um arquivo de áudio, o arquivo de prévia pode ser fornecido, por exemplo, por um ou mais partes do arquivo-base de áudio. Para um arquivo de texto, o arquivo de prévia pode ser fornecido por um resumo, uma sinopse ou por outra descrição do arquivo de texto base.
[024] Em certas implantações, o dispositivo de computação móvel pode produzir o arquivo de prévia localmente. Alternativamente, o dispositivo de computação móvel pode transmitir o arquivo adquirido para um servidor externo para processamento, e pode, desse modo, receber o arquivo de prévia a partir do servidor externo. Em um exemplo ilustrativo, um servidor 110, responsivo à recepção de um arquivo-base a partir do dispositivo de computação móvel 130 para armazenamento em um repositório de dados com base em servidor, pode processar o arquivo para produzir um arquivo de prévia, e transmitir o arquivo de prévia por sua vez para o dispositivo de computação móvel 130.
[025] O dispositivo de computação móvel 130 pode rastrear o acesso aos arquivos armazenados no dispositivo de computação móvel e/ou no servidor 1 10. Em um exemplo ilustrativo, o dispositivo de computação móvel 130 pode armazenar na memória, para cada arquivo da pluralidade de arquivos adquirido pelo dispositivo de computação móvel, uma estrutura de dados 200 ilustrada esquematicamente pela Figura 2. A estrutura de dados 200 pode incluir um identificador de arquivo 210, o carimbo de data/hora de criação de arquivo 212, o carimbo de data/hora de acesso de arquivo 214, e/ou o número total das operações de acesso de arquivo 216. As informações armazenadas na estrutura de dados podem ser usadas em uma identificação de um arquivo candidato para ser removido da memória local do dispositivo de computação móvel 130, conforme descrito em mais detalhes no presente documento abaixo.
[026] O dispositivo de computação móvel 130 pode alocar uma cota na memória local (por exemplo, em um ou mais sistemas de arquivo local) para armazenar os arquivos adquiridos pelos dispositivos de computação móveis por meio de um ou mais interfaces I/O. O dispositivo de computação móvel 130 pode eventualmente determinar se a memória local disponível do dispositivo de computação móvel é insuficiente para acomodar uma tentativa e operação de gravação de memória (por exemplo, armazenar um arquivo recém-adquirido em um sistema de arquivo local). Com o objetivo de completar a tentativa da operação de gravação de memória, o dispositivo de computação móvel 130 pode selecionar, com base em um critério de seleção predefinido, um dos arquivos adquiridos previamente para a remoção do sistema de arquivo, desse jeito, liberar a memória necessária para armazenar o arquivo recém-adquirido.
[027] Em um exemplo ilustrativo, o dispositivo de computação móvel pode analisar o arranjo de estruturas de dados 200 para a pluralidade de arquivos armazenados na memória local do dispositivo de computação móvel, para selecionar o arquivo que tem o número mínimo de operações de acesso de arquivo associadas com o mesmo, com base no número total das operações de acesso de arquivo 216. Em outro exemplo, o dispositivo de computação móvel pode analisar o arranjo de estruturas de dados 200 para a pluralidade de arquivos armazenados na memória local do dispositivo de computação móvel, para selecionar o arquivo acessado menos recentemente, com base no carimbo de data/hora de acesso de arquivo 214. Em um exemplo adicional, o dispositivo de computação móvel pode analisar o arranjo de estruturas de dados 200 para a pluralidade de arquivos armazenados na memória local do dispositivo de computação móvel, para selecionar o arquivo adquirido menos recentemente, com base no carimbo de data/hora de criação de arquivo 212. Em um exemplo adicional, o dispositivo de computação móvel pode analisar o arranjo de estruturas de dados 200 para a pluralidade de arquivos armazenados na memória local do dispositivo de computação móvel, para selecionar um arquivo que satisfaça duas ou mais condições, por exemplo, o arquivo menos acessado criado não após que a data fornecida.
[028] Em certas implantações, o dispositivo de computação móvel 130 pode selecionar um arquivo para ser removido dentre os arquivos do mesmo tipo como o arquivo recém-adquirido. Alternativamente, o dispositivo de computação móvel 130 pode selecionar um arquivo para ser removido dentre os arquivos que tenham um tamanho não menor que o do arquivo recém-adquirido.Em certas implantações, o dispositivo de computação móvel 130 pode selecionar dois ou mais arquivos para serem removidos, que têm o tamanho total não menor que o do arquivo recém-adquirido.
[029] L029J Responsivo à remoção de um ou mais arquivos selecionados, o dispositivo de computação móvel pode completar a tentativa da operação de gravação de memória (por exemplo, armazenar um arquivo recém-adquirido na memória local). O dispositivo de computação móvel pode anexar ainda o arranjo de estruturas 200 para incluir uma estrutura de dados que armazena os carimbos de data/hora de criação e de acesso e/ou o contador de acesso para o arquivo recém-adquirido. O dispositivo de computação móvel pode criar ainda e armazenar na memória local um arquivo de prévia que corresponde ao arquivo recém-adquirido, conforme descrito em mais detalhes no presente documento acima.
[030] O dispositivo de computação móvel pode receber eventualmente um comando de interface de usuário que solicita realizar uma operação em um arquivo que tenha sido removido previamente da memória local. O dispositivo de computação móvel pode, então, apresentar um arquivo de prévia correspondente e/ou responsivo à recepção de um comando de interface de usuário direcionado explicitamente ao arquivo-base, recuperar o arquivo-base do servidor no qual o arquivo foi armazenado previamente. Se o sistema de arquivo local não tem espaço suficiente para acomodar o arquivo de tamanho total que é recuperado do servidor, o dispositivo de computação móvel pode selecionar um ou mais arquivos menos acessados ou menos acessados recentemente conforme descrito em mais detalhes no presente documento acima, e remover os arquivos do sistema de arquivo local.
[031] Desse modo, conforme ilustrado esquematicamente pela Figura 3, o dispositivo de computação móvel 130 pode armazenar na memória local (por exemplo, em um sistema de arquivo local 310) arquivos de prévia 312 para pelo menos alguns dos arquivos 314 adquiridos pelo dispositivo de computação móvel. O dispositivo de computação móvel pode armazenar ainda versões de tamanho total de pelo menos alguns dos arquivos 314, para a extensão que os arquivos de tamanho total podem ser acomodados na memória local do dispositivo de computação móvel. Em um exemplo ilustrativo, o dispositivo de computação móvel pode armazenar, em um sistema de arquivo local 310 dentro de uma cota predefinida 316, uma pluralidade de arquivos de prévia 312 correspondentes aos arquivos-base 314. O dispositivo de computação móvel pode armazenar ainda, no sistema de arquivo local 310 dentro da cota predefinida 316, uma pluralidade de arquivos de prévia 312-2 que não tem arquivos-base correspondentes, visto que os arquivos-base correspondentes aos arquivos de prévia 312-2 não podem se acomodar no sistema de arquivo local 310 dentro da cota predefinida 316.
[032] Um arquivo-base 314-1 pode ser removido do sistema de arquivo com o objetivo de acomodar um arquivo recém-adquirido 318, e um arquivo de prévia 312-1 correspondente pode ser apresentado a um usuário responsivo a um comando de interface de usuário. O arquivo de tamanho total 314-1 pode ser recuperado de um servidor de arquivo responsivo para um comando de interface de usuário direcionado explicitamente ao arquivo de tamanho total.
[033] Em certas implantações, o sistema de computador 1000 pode executar um aplicativo de calendário que facilita o agendamento de evento e rastreamento para usuários individuais e/ou grupos de usuários. Os usuários podem acessar o aplicativo de calendário por vários dispositivos de cliente, que incluem os dispositivos de computação móveis 130.
[034] Em um exemplo, o sistema de computador 1000 pode suportar um modelo de dados que compreendem entradas de calendário e memorandos, conforme ilustrado esquematicamente pela Figura 4. Uma entrada de calendário pode ser representada por uma estrutura de dados 410 que compreende um identificador 412 e um tempo 414. Em certas implantações, o identificador 412 pode ser fornecido por uma sequência legível por humano de caracteres alfanuméricos que compreendem um título e/ou descrição de uma entrada de calendário. Alternativamente, o identificador de entrada de calendário pode ser fornecido por um identificador alfanumérico ou não alfanumérico que não se limita a ser legível por humano.
[035] Em certas implantações, o tempo 414 pode ser representado por um tempo de início de um identificador de evento pela entrada de calendário e duração do evento. Alternativamente, o tempo 414 pode ser representado por um tempo de início e um tempo de fim do evento. O tempo de início e/ou tempo de fim do evento podem ser representados por uma data (por exemplo, que compreende um dia, um mês, e um ano) e um tempo do dia (por exemplo, que compreende uma hora, um minuto, e um segundo). O tempo 414 pode compreender ainda um identificador de fuso-horário.
[036] A estrutura de dados 410 pode compreender ainda um título de entrada de calendário 416, uma descrição 418, uma localização 420, um identificador de um iniciador 422 do identificador de evento pela entrada de calendário, uma lista de participantes 424 do evento, um agendamento recorrente 426, e/ou outros campos. Em certas implantações, a estrutura de dados 410 pode compreender um identificador de tipo 411 da entrada de calendário. Exemplos de entradas de calendário representados pela estrutura de dados 410 podem incluir compromissos, solicitações de reunião, lembretes etc. Em certas implantações, a estrutura de dados 410 pode compreender um ou mais apontadores 428 para conjuntos de dados que podem ser referidos como anexos. Em um exemplo, um anexo pode ser fornecido por um arquivo de um tipo arbitrário, tal como texto, fluxo de áudio, fluxo de vídeo, imagem estática, etc.
[037] Um memorando pode ser representado por uma estrutura de dados 440 que compreende um texto de memorando 248. Em certas implantações, a estrutura de dados 440 pode compreender ainda um identificador de tipo 441, um identificador de memorando 442, o tempo de criação e/ou modificação 444 do memorando, e/ou um título 446 do memorando. O tempo 444 pode ser representado por uma data (por exemplo, que compreende um dia, um mês, e um ano) e um tempo do dia (por exemplo, que compreende uma hora, um minuto, e um segundo). O tempo 444 pode compreender ainda um identificador de fuso-horário.
[038] Em certas implantações, a estrutura de dados 440 pode compreender um ou mais apontadores 450 para conjuntos de dados que podem ser referidos como anexos. Em um exemplo, um anexo pode ser fornecido por um arquivo de um tipo arbitrário, tal como texto, fluxo de áudio, fluxo de vídeo, imagem estática, etc.
[039] Em certas implantações, o sistema de computador 1000 pode armazenar os arquivos e/ou as estruturas de dados referenciados acima em um banco de dados relacional que reside em um ou mais computadores, que inclui um ou mais servidores 110 e/ou um ou mais dispositivos de cliente 130. Em certas implantações, outros métodos de armazenamento dos arquivos e/ou das estruturas de dados que implantam o modelo de dados descrito acima podem ser empregados pelo sistema de computador 1000, tal como, por exemplo, um banco de dados hierárquico ou um ou mais arquivos simples.
[040] Em certas implantações, o sistema de computador 1000 pode armazenar um diretório de usuário associado com o sistema de calendário em um servidor de diretório, tal como um servidor de Protocolo de Acesso de Diretório Leve (LDAP). Em certas implantações, outros métodos de armazenamento do diretório de usuário, que inclui, por exemplo, um diretório de usuário nativo fornecido pelo sistema de operação de um servidor 110, podem ser empregados pelo sistema de computador 1000.
[041] Mediante a recepção de um comando de interface de usuário, o sistema de computador 1000 pode renderizar, em um dispositivo de cliente, uma ou mais entradas de calendário e/ou memorandos por meio de várias vistas, que incluem, por exemplo, uma vista de calendário e uma vista de computador do tipo notebook.
[042] A vista de calendário pode compreender uma ou mais entradas de calendário renderizadas em uma tela com referências visuais a um ou mais indicadores de tempo. Em um exemplo, conforme ilustrado esquematicamente pela Figura 5a, a vista de calendário 500 pode compreender uma ou mais vistas de semana 510. A vista de semana 510 pode compreender até sete áreas de tela distintas visualmente correspondentes aos dias da semana (vistas de dia 512). Cada vista de dia pode ser dividida visualmente em diversas áreas de tela 514 correspondentes ao horário do dia. Um ou mais horário de valores de dia podem ser localizados dentro de uma vista de dia. Uma ou mais entradas de calendário 516 podem ser mostradas dentro de uma vista de dia 512. Em outro exemplo, conforme ilustrado esquematicamente pela Figura 5b, a vista de calendário 500 pode compreender uma ou mais vistas de mês 520. A vista de mês 520 pode compreender uma pluralidade de vistas de semana 510. A vista de semana 510 pode compreender até sete áreas de tela distintas visualmente correspondentes aos dias da semana (vistas de dia 512). Cada vista de dia pode ser dividida visualmente em diversas áreas de tela 514 correspondentes ao horário do dia. Um ou mais horário de valores de dia podem ser localizados dentro de uma vista de dia. Uma ou mais entradas de calendário 516 podem ser mostradas dentro de uma vista de dia 512. Em um exemplo adicional, a vista de calendário pode compreender vistas de trimestre, vista de ano, e/ou outras vistas.
[043] A vista de computador do tipo notebook pode compreender um ou mais memorandos renderizados em uma tela. Em um exemplo, conforme ilustrado esquematicamente pela Figura 6a, um ou mais memorandos 610 renderizados dentro da vista de computador do tipo notebook 600 podem ser classificados alfabeticamente por título/assunto. Em outro exemplo, conforme ilustrado esquematicamente pela Figura 6b, um ou mais memorandos renderizados dentro da vista de computador do tipo notebook 600 podem ser classificados cronologicamente pela data do tempo de criação ou modificação do memorando.
[044] Em certas implantações, o sistema de computador 1000 pode renderizar um ou mais eventos de calendário e um ou mais memorandos em uma vista mixa, por exemplo, selecionar e/ou classificar eventos de calendário e memorandos por título, palavra-chave, autor, e/ou data e horário de criação ou modificação do evento de calendário ou do memorando.
[045] Em certas implantações, o sistema de computador 1000 pode aceitar uma entrada de usuário que edita um evento de calendário existente ou um memorando existente. Em um exemplo, responsivo à aceitação de uma entrada de usuário que edita um memorando, o sistema de computador 1000 pode determinar se o texto recém-adicionado compreende uma referência de tempo. Seguindo tal determinação, o sistema de computador 1000 pode converter o memorando em uma entrada de calendário, e armazenar na estrutura de dados de entrada de calendário o tempo identificado pela referência de tempo juntamente com zero ou mais campos ópticos, conforme descrito em mais detalhes no presente documento acima.
[046] A Figura 7 descreve um fluxograma de uma modalidade de um método 700 para gerenciamento de arquivo por dispositivos de computação móveis. O método 700 pode ser realizado por um sistema de computador que pode compreende hardware (por exemplo, conjunto de circuitos, lógica dedicada, e/ou lógica programável), software (por exemplo, instruções executáveis em um sistema de computador para executar simulação de hardware) ou uma combinação dos mesmos. O método 700 e/ou cada uma de suas funções, rotinas, sub-rotinas, ou operações podem ser realizados por um ou mais processadores físicos do sistema de computador que executa o método. Duas ou mais funções, rotinas, sub- rotinas, ou operações do método 700 podem ser realizadas em paralelo em uma ordem na qual podem diferenciar da ordem descrita acima.
[047] O processamento pode começar pelo dispositivo de computação móvel que recebe, no bloco 710, um arquivo por meio de uma ou mais interfaces I/O do dispositivo de computação móvel. Em certas implantações, o dispositivo de computação móvel pode ser configurado para adquirir arquivos de vários tipos: em um exemplo ilustrativo, o dispositivo de computação móvel pode ser equipado com uma câmera de imagem estática que pode ser empregado para a aquisição de arquivos de imagem estática; em outro exemplo, o dispositivo de computação móvel pode ser equipado com uma câmera de vídeo que pode ser empregada para adquiri os fluxos de vídeo; em um exemplo adicional, o dispositivo de computação móvel pode ser equipado com um microfone que pode ser empregado para adquirir fluxos de áudio; em um exemplo adicional, o dispositivo de computação móvel pode ser equipado com um teclado ou com uma tela sensível ao toque que podem ser empregados para adquirir arquivos de texto.
[048] No bloco 715, o dispositivo de computação móvel pode armazenar o arquivo em uma memória local do dispositivo de computação móvel. Em um exemplo ilustrativo, o dispositivo de computação móvel 130 pode armazenar o arquivo em um sistema de arquivo local que reside em uma memória local não volátil. Em outro exemplo, o dispositivo de computação móvel pode armazenar o arquivo em um banco de dados que reside em uma memória local não volátil.
[049] No bloco 720, o dispositivo de computação móvel pode transmitir uma cópia do arquivo para um ou mais computadores externos (por exemplo, servidores de arquivo que executam porções de lado do servidor do aplicativo de gerenciamento de arquivo).
[050] No bloco 725, o dispositivo de computação móvel pode armazenar na memória local um segundo arquivo (também referido como um arquivo de “prévia”) derivado do primeiro arquivo. O tamanho do arquivo de prévia pode ser menor do que o tamanho do primeiro arquivo. Para um arquivo de imagem, o arquivo de prévia pode ser fornecido, por exemplo, por uma imagem em miniatura ou outra imagem em tamanho reduzido ou uma imagem de resolução reduzida. Para um arquivo de vídeo, o arquivo de prévia pode ser fornecido, por exemplo, por um “trailer” que compreende um subconjunto de quadros do arquivo-base de vídeo. Para um arquivo de áudio, o arquivo de prévia pode ser fornecido, por exemplo, por um ou mais partes do arquivo-base de áudio. Para um arquivo de texto, o arquivo de prévia pode ser fornecido por um resumo, uma sinopse ou por outra descrição do arquivo de texto base. Em certas implantações, o dispositivo de computação móvel pode produzir o arquivo de prévia localmente. Alternativamente, o dispositivo de computação móvel pode transmitir o arquivo adquirido para um servidor externo para processamento, e pode, desse modo, receber o arquivo de prévia a partir do servidor externo.
[051] Responsivo à determinação, no bloco 730, de que a memória local não é suficiente para executar uma tentativa de operação de gravação de memória, o processamento pode continuar no bloco 735; caso contrário o método pode terminar. Em certas implantações, o dispositivo de computação móvel pode alocar uma cota na memória local (por exemplo, em um ou mais sistemas de arquivo local) para armazenar os arquivos adquiridos pelos dispositivos de computação móveis por meio de um ou mais interfaces I/O. O dispositivo de computação móvel pode eventualmente determinar se a memória local disponível do dispositivo de computação móvel é insuficiente para acomodar uma tentativa e operação de gravação de memória (por exemplo, armazenar um arquivo recém-adquirido em um sistema de arquivo local).
[052] No bloco 735, o dispositivo de computação móvel pode selecionar um terceiro arquivo, de modo que o terceiro arquivo tenha um quarto arquivo associado com o mesmo, sendo que o quarto arquivo é derivado do terceiro arquivo. Com o objetivo de completar a tentativa da operação de gravação de memória, o dispositivo de computação móvel pode selecionar, com base em um critério de seleção predefinido, um dos arquivos adquiridos previamente para a remoção do sistema de arquivo, desse jeito, liberar a memória necessária para armazenar o arquivo recém-adquirido. Em um exemplo ilustrativo, o dispositivo de computação móvel pode selecionar o arquivo que tem o número mínimo de operações de acesso de arquivo associado com o mesmo. Em outro exemplo, o dispositivo de computação móvel pode selecionar o arquivo acessado menos recentemente. Em um exemplo adicional, o dispositivo de computação móvel pode selecionar o arquivo adquirido menos recentemente. Em um exemplo adicional, o dispositivo de computação móvel pode selecionar um arquivo que satisfaça duas ou mais condições, por exemplo, o arquivo menos acessado criado não após que a data fornecida. Em certas implantações, o dispositivo de computação móvel pode selecionar um arquivo para ser removido dentre os arquivos do mesmo tipo como o arquivo recém-adquirido. Alternativamente, o dispositivo de computação móvel pode selecionar um arquivo para ser removido dentre os arquivos que tenham um tamanho não menor que o do arquivo recém-adquirido. Em certas implantações, o dispositivo de computação móvel pode selecionar dois ou mais arquivos para serem removidos, que têm o tamanho total não menor que o do arquivo recém-adquirido.
[053] No bloco 740, o dispositivo de computação móvel pode remover o arquivo selecionado da memória local.
[054] No bloco 745, o dispositivo de computação móvel pode completar a tentativa de operação de gravação de memória.
[055] No bloco 750, o dispositivo de computação móvel pode receber um comando de interface de usuário que solicita a realização de uma operação no terceiro arquivo.
[056] No bloco 755, o dispositivo de computação móvel pode recuperar uma cópia do terceiro arquivo do servidor no qual o arquivo foi armazenado previamente. Se o sistema de arquivo local não tem espaço suficiente para acomodar o arquivo de tamanho total que é recuperado do servidor, o dispositivo de computação móvel pode selecionar um ou mais arquivos menos acessados ou menos acessados recentemente conforme descrito em mais detalhes no presente documento acima, e remover os arquivos do sistema de arquivo local. Responsivo à conclusão das referências de operações pelo bloco 755, o método pode terminar.
[057] A Figura 8 descreve um sistema de computador exemplificativo 100 com capacidade de executar instruções que fazem com que o computador execute um ou mais dos métodos descritos no presente documento. Em certas modalidades, o sistema de computador 100 pode corresponder a um ou mais servidores 1 10 e/ou dispositivos de cliente da Figura 1.
[058] Em certas modalidades, o sistema de computador 100 pode ser conectado (por exemplo, por meio de uma rede, tal como uma Rede de Área Local (LAN), uma intranet, uma extranet ou a Internet) a outros sistemas de computador. O sistema de computador 100 pode operar na qualidade de um servidor ou um computador de cliente em um ambiente de servidor e de cliente ou como um computador de ponto em um ambiente de rede de ponto a ponto ou distribuído. O sistema de computador pode ser fornecido por um computador pessoal (PC), um computador do tipo tablet PC, um decodificador de sinais (STB), um Assistente Digital Pessoal (PDA), um telefone celular, um aplicativo de web, um servidor, um roteador de rede, comutador ou ponte ou qualquer dispositivo com a capacidade para executar um conjunto de instruções (sequenciais ou de outra forma) que especifica as ações a serem tomadas por tal computador.
[059] Em um aspecto adicional, o sistema de computador 100 pode incluir um processador 1002, uma memória volátil 1004 (por exemplo, uma memória de acesso aleatório (RAM)), uma memória não volátil 1006 (por exemplo, uma memória de apenas leitura (ROM) ou uma ROM programável apagável eletricamente (EEPROM)), e uma memória secundária 1016 (por exemplo, um dispositivo de armazenamento de dados), que podem se comunicar uma com a outra por meio de um barramento 1008. O processador 1002 pode ser fornecido por um ou mais processadores tal como um processador de propósito geral (tal como, por exemplo, um microprocessador de comutação de ajuste de instruções complexo (CISC), a microprocessador de comutação de ajuste de instruções reduzido (RISC), um microprocessador de palavra de instruções muito longas (VLIW), um microprocessador que implanta outros tipos de ajustes de instrução, ou um microprocessador que implanta uma combinação de tipos de ajustes de instrução) ou um processador especializado (tal como, por exemplo, um processador de circuito integrado específico de aplicativo (ASIC), um processador de arranjo de porta programável de campo (FPGA), um processador de sinal digital (DSP) ou um processador de rede).
[060] O sistema de computador 100 pode incluir ainda um dispositivo de interface de rede 1008. O sistema de computador 100 também pode incluir uma unidade de exibição de vídeo 1010 (por exemplo, uma LCD), um dispositivo de entrada alfanumérico 1012 (por exemplo, um teclado), um dispositivo apontador 1014 (por exemplo, um mouse), e um dispositivo de saída de áudio 1020 (por exemplo, um alto- falante).
[061] Uma memória secundária 1016 pode incluir um meio de armazenamento legível por computador não transitório 1024, no qual podem ser armazenadas instruções dos aplicativos de gerenciamento de arquivo 120, 125. As instruções dos aplicativos de gerenciamento de arquivo podem também residir, completa ou parcialmente, na memória principal 1004 e/ou no processador 1002 durante a execução da mesma pelo sistema de computador 1000; consequentemente a memória principal 1004 e o processador 1002 também podem constituir as mídias de armazenamento legíveis por máquina. Embora o meio de armazenamento legível por computador 1024 seja mostrado em uma modalidade ilustrativa, destinado como um meio único, o termo “meio de armazenamento legível por computador” deve incluir um meio único ou múltiplas mídias (por exemplo, um banco de dados centralizado ou distribuído e/ou caches e servidores associados) que armazenam um ou mais conjuntos de instruções executáveis. O termo “meio de armazenamento legível por computador” deve incluir qualquer meio não transitório que tenha a capacidade de armazenamento ou codificação de um conjunto de instruções para execução através de um computador e que faça com que o computador execute qualquer um dentre um ou mais dos métodos descritos. O termo “mídia de armazenamento legível por computador” deve incluir, mas sem se limitar a, memórias de estado sólido e mídias ópticas e mídias magnéticas.
[062] Os métodos, componentes, e recursos descritos no presente documento podem ser implantados por componentes de hardware discreto ou podem ser integrados na funcionalidade de outros componentes de hardware tal como ASICS, FPGAs, DSPs ou dispositivos similares. Além disso, os métodos, componentes, e recursos podem ser implantados por módulos de firmware ou por um conjunto de circuitos funcional dentro dos dispositivos de hardware. Adicionalmente, os métodos, componentes, e recursos podem ser implantados por qualquer combinação de dispositivos de hardware e componentes de software ou apenas no software.
[063] A menos que especificamente declarado o contrário, os termos tal como “atualizar”, “identificar”, “determinar”, “enviar”, “atribuir” ou similares, se referem a ações e processos executados ou implantados por sistemas de computador que manipulam e transformar dados representados como quantidades físicas (eletrônicas) dentro dos registros de sistema de computador e memórias em outros dados representados de modo similar como quantidades físicas dentro das memórias ou registros de sistema de computador ou outros dispositivos de armazenamento de informações, transmissão ou exibição.
[064] As modalidades descritas no presente documento também se referem a um aparelho para executar os métodos descritos no presente documento. Esses aparelhos podem ser especialmente construídos para os propósitos exigidos ou os mesmos podem compreender um sistema de computador de propósito geral programado de modo seletivo por um programa de computador armazenado no sistema de computador. Tal programa de computador pode ser armazenado em um meio de armazenamento não transitório legível por computador.
[065] Os métodos e exemplos ilustrativos descritos no presente documento não estão relacionados de modo inerente a qualquer computador particular ou outros aparelhos. Vários sistemas de propósito geral podem ser usados de acordo com os ensinamentos descritos no presente documento ou os mesmos podem provar que é conveniente construir o aparelho mais especializado para realizar o método, funções, rotinas, sub-rotinas ou operações exigidas. A estrutura exigida para uma variedade desses sistemas irá aparecer como apresentado na descrição abaixo.
[066] A descrição acima é destinada a ser ilustrativa e não restritiva. Ainda que a presente revelação tenha sido descrita com referências a exemplos ilustrativos específicos e modalidades, será reconhecido que a presente revelação não se limita às modalidades descritas. O escopo da revelação deve ser determinado com referência às reivindicações a seguir, juntamente do escopo completo de equivalentes aos quais as reivindicações são intituladas.

Claims (18)

1. Método, CARACTERIZADO pelo fato de que compreende:armazenar por um sistema de computador, uma pluralidade de arquivos base em uma memória local;fazer com que um servidor remoto armazene cópias da pluralidade de arquivos base;armazenar, na memória local, uma pluralidade de arquivos de prévia, cada arquivo de prévia tendo sido derivado de um arquivo base correspondente da pluralidade de arquivos base, em que um tamanho de cada arquivo de prévia é menor que um tamanho do arquivo base correspondente;responsivo à determinação que a memória local não é suficiente para executar uma operação de gravação de memória, selecionar, dentre a pluralidade de arquivos base cópias dos quais estão armazenadas pelo servidor remoto, um primeiro arquivo base como o arquivo base acessado menos recentemente criado em ou antes da data especificada;remover o primeiro arquivo base da memória local;completar a operação de gravação de memória;responsivo ao recebimento de um primeiro comando de interface de usuário solicitando o primeiro arquivo base, apresentar um arquivo de prévia correspondente ao primeiro arquivo base; eresponsivo ao recebimento de um segundo comando de interface de usuário solicitando explicitamente um arquivo de tamanho total correspondente ao primeiro arquivo base:selecionar um segundo arquivo base da pluralidade de arquivos base,remover o segundo arquivo base da memória local, e recuperar uma cópia do arquivo base removido anteriormente do servidor remoto.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o arquivo base é fornecido por um dentre: um arquivo de imagem estática, um arquivo de vídeo, um arquivo de áudio ou um arquivo de documento.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que cada arquivo de prévia é fornecido por um dentre: uma prévia de um arquivo de base correspondente, pelo menos parte de um arquivo de base correspondente ou uma descrição de um arquivo de base correspondente.
4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que selecionar o primeiro arquivo de base compreende um dentre: selecionar um arquivo adquirido menos recentemente, selecionar um arquivo menos acessado de ou selecionar um arquivo acessado menos recentemente.
5. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que selecionar o primeiro arquivo base compreende selecionar um arquivo que tem um tamanho maior ou igual que um tamanho de memória necessário para realizar a operação de gravação de memória.
6. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que selecionar o primeiro arquivo base compreende selecionar dois ou mais arquivos.
7. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que compreende adicionalmente receber a pluralidade de arquivos base por meio de um dentre: uma câmera de imagem estática, uma câmera de vídeo, um microfone ou uma interface de rede.
8. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a operação de gravação de memória é requerida por um comando de interface de usuário.
9. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a operação de gravação de memória é representada pelo armazenamento na memória de um arquivo base adquirido recentemente recebido pelo sistema de computador.
10. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que o arquivo de base adquirido recentemente é fornecido por um dentre: um arquivo de imagem estática, um arquivo de vídeo, um arquivo de áudio ou um arquivo de documento.
11. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que armazenar cada arquivo de prévia compreende receber o arquivo de prévia por meio de uma interface de comunicação responsiva à transmissão do arquivo base correspondente para um computador externo.
12. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que compreende adicionalmente receber o arquivo base adquirido recentemente por meio de uma interface de entrada/saída.
13. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que compreende adicionalmente transmitir o arquivo adquirido recentemente para um computador externo.
14. Sistema, CARACTERIZADO pelo fato de que compreende: uma memória; eum processador acoplado à memória, sendo que o processador é configurado para:armazenar, na memória, uma pluralidade de arquivos base;fazer com que um servidor remoto armazene cópias da pluralidade de arquivos base;armazenar, na memória, uma pluralidade de arquivos de prévia, cada arquivo de prévia tendo sido derivado de um arquivo base correspondente da pluralidade de arquivos base, em que um tamanho de cada arquivo de prévia é menor que um tamanho do arquivo base correspondente;responsivo à determinação que a memória não é suficiente para executar uma operação de gravação de memória, selecionar, dentre a pluralidade de arquivos base cópias dos quais estão armazenadas pelo servidor remoto, um primeiro arquivo base como o arquivo base acessado menos recentemente criado em ou antes da data especificada;remover o primeiro arquivo base da memória;completar a operação de gravação de memória;responsivo ao recebimento de um primeiro comando de interface de usuário solicitando o primeiro arquivo base, apresentar um arquivo de prévia correspondente ao primeiro arquivo base; eresponsivo ao recebimento de um segundo comando de interface de usuário solicitando explicitamente um arquivo de tamanho total correspondente ao primeiro arquivo base:selecionar um segundo arquivo base da pluralidade de arquivos base,remover o segundo arquivo base da memória local, erecuperar uma cópia do arquivo base removido anteriormente do servidor remoto.
15. Sistema, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que o processador é configurado adicionalmente para receber um arquivo de base por meio de uma interface de entrada/saída.
16. Sistema, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que o processador é configurado adicionalmente para transmitir a pluralidade de arquivos base para um computador externo.
17. Meio de armazenamento não transitório legível por computador, CARACTERIZADO pelo fato de que compreende instruções executáveis que, quando executadas por um sistema de computador, fazem o sistema de computador:armazenar, em uma memória, uma pluralidade de arquivos base;fazer com que um servidor remoto armazene cópias da pluralidade de arquivos base;armazenar, na memória, a pluralidade de arquivos de prévia, cada arquivo de prévia tendo sido derivado de um arquivo base correspondente da pluralidade de arquivos base, em que um tamanho de cada arquivo de prévia é menor que um tamanho do arquivo base correspondente;responsivo à determinação que a memória não é suficiente para executar uma operação de gravação de memória, selecionar, dentre a pluralidade de arquivos base cópias dos quais estão armazenadas pelo servidor remoto, um primeiro arquivo base como o arquivo base acessado menos recentemente criado em ou antes da data especificada;remover o primeiro arquivo base da memória;completar a operação de gravação de memória;responsivo ao recebimento de um primeiro comando de interface de usuário solicitando o primeiro arquivo base, apresentar um arquivo de prévia correspondente ao primeiro arquivo base; eresponsivo ao recebimento de um segundo comando de interface de usuário solicitando explicitamente um arquivo de tamanho total correspondente ao primeiro arquivo base:selecionar um segundo arquivo base da pluralidade de arquivos base,remover o segundo arquivo base da memória local, erecuperar uma cópia do arquivo base removido anteriormente do servidor remoto.
18. Meio de armazenamento não transitório legível por computador, de acordo com a reivindicação 17, CARACTERIZADO pelo fato de que as instruções executáveis que fazem o sistema de computador armazenar cada arquivo de prévia compreendem adicionalmente as instruções executáveis que fazem o sistema de computador receber o arquivo de prévia por meio de uma interface de comunicação responsiva à transmissão de um arquivo base correspondente a um computador externo.
BR112015026148-5A 2013-04-18 2013-04-18 Método, sistema e meio de armazenamento não transitório legível por computador para gerenciamento de arquivo por dispositivos de computação móveis BR112015026148B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2013/000332 WO2014171850A1 (en) 2013-04-18 2013-04-18 Systems and methods for file management by mobile computing devices

Publications (3)

Publication Number Publication Date
BR112015026148A2 BR112015026148A2 (pt) 2017-07-25
BR112015026148A8 BR112015026148A8 (pt) 2020-01-21
BR112015026148B1 true BR112015026148B1 (pt) 2022-02-08

Family

ID=51731659

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015026148-5A BR112015026148B1 (pt) 2013-04-18 2013-04-18 Método, sistema e meio de armazenamento não transitório legível por computador para gerenciamento de arquivo por dispositivos de computação móveis

Country Status (11)

Country Link
US (3) US11023151B2 (pt)
EP (1) EP2987084B1 (pt)
JP (1) JP2016521416A (pt)
KR (1) KR102069144B1 (pt)
CN (2) CN111309674A (pt)
BR (1) BR112015026148B1 (pt)
CA (1) CA2909885C (pt)
ES (1) ES2814957T3 (pt)
PL (1) PL2987084T3 (pt)
RU (1) RU2635886C2 (pt)
WO (1) WO2014171850A1 (pt)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9619159B2 (en) 2014-06-04 2017-04-11 Grandios Technologies, Llc Storage management system
US20170054786A1 (en) * 2015-08-21 2017-02-23 TransferSoft, Inc. Transfer of files over a network while still being written
WO2020190021A1 (en) * 2019-03-18 2020-09-24 Samsung Electronics Co., Ltd. Method and device for storing a data file in a cloud-based storage
CN111766772B (zh) * 2020-07-02 2021-07-13 昱能科技股份有限公司 一种时间校准方法、装置、系统及计算机可读存储介质

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4250238B2 (ja) * 1998-11-11 2009-04-08 キヤノン株式会社 ファイル管理装置、ファイル管理方法および記憶媒体
US6721794B2 (en) * 1999-04-01 2004-04-13 Diva Systems Corp. Method of data management for efficiently storing and retrieving data to respond to user access requests
JP2001003187A (ja) * 1999-06-21 2001-01-09 Mitsubishi Gas Chem Co Inc 過硫酸ナトリウムの製造方法
US6981005B1 (en) * 2000-08-24 2005-12-27 Microsoft Corporation Partial migration of an object to another storage location in a computer system
JP4627110B2 (ja) * 2000-10-16 2011-02-09 富士通株式会社 データ記憶装置
JP2002209131A (ja) * 2001-01-11 2002-07-26 Nikon Corp 電子カメラおよび画像システム
JP2003085008A (ja) 2001-09-14 2003-03-20 Columbia Music Entertainment Inc データ記録再生装置、情報記録端末装置、携帯データ再生装置、および、情報記録再生システム
JP2003122774A (ja) 2001-10-17 2003-04-25 Konica Corp Itを活用した画像閲覧システム
US7007049B2 (en) 2002-11-18 2006-02-28 Innopath Software, Inc. Device memory management during electronic file updating
JP2004194130A (ja) 2002-12-13 2004-07-08 Hitachi Ltd ネットワークを利用するビデオカメラ
WO2005027068A1 (en) * 2003-09-12 2005-03-24 Canon Kabushiki Kaisha Streaming non-continuous video data
JP3712071B2 (ja) * 2003-10-02 2005-11-02 ソニー株式会社 ファイル管理装置、ファイル管理方法、ファイル管理方法のプログラム及びファイル管理方法のプログラムを記録した記録媒体
JP3959742B2 (ja) 2003-10-09 2007-08-15 ソニー株式会社 ファイル管理装置、ファイル管理方法、ファイル管理方法のプログラム及びファイル管理方法のプログラムを記録した記録媒体
US7475021B2 (en) 2003-10-22 2009-01-06 International Business Machines Corporation Method and storage medium for importing calendar data from a computer screen into a calendar application
JP2005173949A (ja) 2003-12-11 2005-06-30 Nippon Telegr & Teleph Corp <Ntt> マルチメディアデータ保存装置
US20060031326A1 (en) 2004-07-06 2006-02-09 Francis Ovenden Managing personal communications from a calendar scheduling application
JP2006060630A (ja) * 2004-08-23 2006-03-02 Hitachi Ltd 記録装置
US7818608B2 (en) * 2005-02-18 2010-10-19 Microsoft Corporation System and method for using a file system to automatically backup a file as a generational file
JP2007281772A (ja) * 2006-04-05 2007-10-25 Sony Corp 記録装置および方法、並びにプログラム
JP4502967B2 (ja) 2006-04-05 2010-07-14 三菱電機株式会社 偏波変換器
US8060567B2 (en) 2006-04-12 2011-11-15 Google Inc. Method, system, graphical user interface, and data structure for creating electronic calendar entries from email messages
GB0702587D0 (en) 2006-05-05 2007-03-21 Omnifone Ltd Digital rights management
JP2007323378A (ja) * 2006-06-01 2007-12-13 Fujifilm Corp 画像保管方法及び画像保管装置
US20080086491A1 (en) 2006-10-04 2008-04-10 Mediatek Inc. Multimedia management and playback apparatus
JP4910724B2 (ja) * 2007-01-29 2012-04-04 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置
SE533185C2 (sv) * 2007-02-16 2010-07-13 Scalado Ab Metod för behandling av en digital bild samt bildrepresentationsformat
WO2008102376A2 (en) 2007-02-21 2008-08-28 Hughes Systique Event-based reminder system
US9171006B2 (en) * 2007-04-06 2015-10-27 Alcatel Lucent Mobile station with expanded storage space and method of retrieving files by the mobile station
US7873746B2 (en) 2007-07-27 2011-01-18 Lagavulin Limited User interface for a portable, image-processing transmitter
KR101427263B1 (ko) 2007-12-17 2014-08-06 엘지전자 주식회사 이동 단말기의 파일 관리 방법 및 그 장치
JP5268569B2 (ja) * 2007-12-21 2013-08-21 キヤノン株式会社 記録装置及び記録方法
WO2010074848A2 (en) * 2008-12-16 2010-07-01 Sandisk Il Ltd. Discardable files
CN101771817A (zh) * 2009-01-07 2010-07-07 华晶科技股份有限公司 预览影像实时显示对象信息的方法及其影像撷取装置
EP2309701A1 (en) * 2009-10-06 2011-04-13 Telefónica, S.A. Data storage device
US8578119B2 (en) * 2009-11-16 2013-11-05 Symantec Corporation File system quota and reservation
KR20110100767A (ko) * 2010-03-05 2011-09-15 에스케이 텔레콤주식회사 모바일 어플리케이션 관리 장치 및 방법
KR101729022B1 (ko) * 2010-04-09 2017-04-21 엘지전자 주식회사 휴대 단말기 및 그 동작 제어방법
JP5797382B2 (ja) 2010-06-09 2015-10-21 株式会社リコー ファイル交換システム、ファイル交換方法、モバイル機器及びプログラム
KR20120018965A (ko) 2010-08-24 2012-03-06 (주)클로닉스 모바일 단말과 휴대용 컴퓨팅 기기를 위한 파일 백업, 복원 및 데이터 영구삭제 서비스 제공 시스템 및 그 방법
US9020890B2 (en) * 2012-03-30 2015-04-28 Commvault Systems, Inc. Smart archiving and data previewing for mobile devices
CN107026689B (zh) 2016-01-29 2019-08-16 华为技术有限公司 一种帧格式配置方法、装置和系统

Also Published As

Publication number Publication date
US11023151B2 (en) 2021-06-01
EP2987084B1 (en) 2020-06-03
CA2909885A1 (en) 2014-10-23
US20230085586A1 (en) 2023-03-16
EP2987084A1 (en) 2016-02-24
CN111309674A (zh) 2020-06-19
ES2814957T3 (es) 2021-03-29
BR112015026148A8 (pt) 2020-01-21
PL2987084T3 (pl) 2021-01-25
RU2015144406A (ru) 2017-05-19
BR112015026148A2 (pt) 2017-07-25
US20210311648A1 (en) 2021-10-07
KR20160003702A (ko) 2016-01-11
KR102069144B1 (ko) 2020-01-22
RU2635886C2 (ru) 2017-11-16
CA2909885C (en) 2021-01-12
EP2987084A4 (en) 2016-05-25
US11868634B2 (en) 2024-01-09
JP2016521416A (ja) 2016-07-21
CN105378709A (zh) 2016-03-02
WO2014171850A1 (en) 2014-10-23
US11520511B2 (en) 2022-12-06
US20160062697A1 (en) 2016-03-03

Similar Documents

Publication Publication Date Title
US10110656B2 (en) Systems and methods for providing shell communication in a cloud-based platform
US9436693B1 (en) Dynamic network access of snapshotted versions of a clustered file system
US9311326B2 (en) Virtual file system for automated data replication and review
US9367646B2 (en) Document and user metadata storage
US9436724B2 (en) Migrating data in tables in a database
US20080033921A1 (en) Method and apparatus for processing metadata
US11868634B2 (en) Systems and methods for file management by mobile computing devices
US20130318582A1 (en) Inboxes for documents, music, videos, and photos
KR101724167B1 (ko) 콘텐츠 메쉬 검색
JP2014523577A (ja) 最近使用した文書のリストの自動同期
US11010484B2 (en) System and method to provide document management on a public document system
US11151092B2 (en) Data replication in distributed file systems
WO2017080198A1 (zh) 便签更新方法及装置
US20160259810A1 (en) Global file index
US10635641B1 (en) System and method to provide document management on a public document system
JP6428011B2 (ja) セキュリティ管理装置及びプログラム
Moreb Forensic Investigations of Popular Applications on Android and iOS Platforms
Du Research on Computer Processing Technology of Big Data Based on Cloud Environment
US9547630B2 (en) Identification of multimedia content in paginated data using metadata
Jones Urbanscape/Landscape
JP2019083016A (ja) モバイルコンピューティングデバイスによるファイル管理のシステムおよび方法
Tsyganov et al. The Research Data Management System at the University of Groningen (RUG RDMS): architecture, solution engines and challenges

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 18/04/2013, OBSERVADAS AS CONDICOES LEGAIS.