СИСТЕМЫ И СПОСОБЫ ДЛЯ УПРАВЛЕНИЯ ФАЙЛАМИ ПОСРЕДСТВОМ МОБИЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ УСТРОЙСТВ
SYSTEMS AND METHODS FOR MANAGING FILES THROUGH MOBILE COMPUTER DEVICES

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение в основном относится к компьютерным системам и более конкретно относится к системам и способам управления файлами посредством мобильных вычислительных устройств.
УРОВЕНЬ ТЕХНИКИ
[0002] Мобильное вычислительное устройство может иметь многочисленные интерфейсы ввода/вывода (I/O) и/или периферийные устройства, такие как, например, камера получения неподвижных изображений, видеокамера и/или микрофон. Файлы, полученные посредством мобильного вычислительного устройства через эти и другие интерфейсы I/O, могут быть сохранены в локальной памяти мобильного вычислительного устройства.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0003] Настоящее изобретение проиллюстрировано посредством примеров, а не посредством ограничения, и может быть наиболее полно понято на основании нижеследующего подробного описания при рассмотрении совместно с Фигурами, на которых:
[0004] Фиг.1 изображает схему уровня сети одного иллюстративного варианта осуществления мобильного вычислительного устройства, выполняющего управление файлами в соответствии с одним или более аспектами настоящего изобретения;
[0005] Фиг.2 схематично иллюстрирует структуру данных для отслеживания доступа к файлам, хранящимся на мобильном вычислительном устройстве, в соответствии с одним или более аспектами настоящего изобретения;
[0006] Фиг.3 схематично иллюстрирует пример способа управления файлами в соответствии с одним или более аспектами настоящего изобретения;
[0007] Фиг.4 схематично иллюстрирует несколько структур данных, поддерживаемых компьютерной системой, исполняющей приложение календаря, в соответствии с одним или более аспектами настоящего изобретения;
[0008] Фиг.5a-5b схематично иллюстрируют примеры видов календаря, визуализированных компьютерной системой, исполняющей приложение календаря, в соответствии с одним или более аспектами настоящего изобретения;
[0009] Фиг.6a-6b схематично иллюстрируют примеры видов блокнота, визуализированных компьютерной системой, исполняющей приложение календаря, в соответствии с одним или более аспектами настоящего изобретения;
[00010] Фиг.7 изображает схему последовательности операций способа управления файлами, в соответствии с одним или более аспектами настоящего изобретения; и
[00011] Фиг.8 изображает блок-схему иллюстративной компьютерной системы, функционирующей в соответствии с примерами настоящего изобретения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[00012] В настоящем документе описаны способы и системы для управления файлами посредством мобильных вычислительных устройств. "Мобильное вычислительное устройство" в настоящем документе должно относится к портативному устройству, имеющему по меньшей мере один процессор, память и по меньшей мере один интерфейс связи. Однако следует отметить, что системы и способы, описанные в настоящем документе, могут быть в равной степени применимы к непортативным компьютерным системам, таким как, например, настольные компьютеры.
[00013] Мобильное вычислительное устройство может вводить информацию через разнообразные интерфейсы, включающие в себя, например, клавиатуру, сенсорный экран, сетевой интерфейс, микрофон, видеокамеру, камеру получения неподвижных изображений и/или микрофон. Такое мобильное вычислительное устройство может быть способно вводить файлы неподвижных изображений, файлы видеопотоков, файлы аудиопотоков и/или файлы документов (например, текстовые файлы).
[00014] В определенных реализациях мобильное вычислительное устройство может, в ответ на получение файла (например, файла неподвижного изображения), сохранить полученный файл в своей локальной памяти. "Память" в настоящем документе должна относиться к оперативной памяти (RAM) и/или запоминающему устройству. Последнее может быть представлено посредством одной или более файловых систем, находящихся в энергонезависимой памяти, такой как EEPROM, flash-память, дисковая память и т.д.
[00015] В ответ на получение файла мобильное вычислительное устройство может также передать, например, через беспроводной интерфейс связи, копию полученного файла на файл-сервер. Мобильное вычислительное устройство может дополнительно сохранить в локальной памяти файл предварительного просмотра, полученный из полученного файла изображения. Файл предварительного просмотра может быть, например, в виде миниатюрного изображения или другого изображения с уменьшенным размером, или изображения с уменьшенным разрешением.
[00016] Мобильное вычислительное устройство может дополнительно предпринять операцию записи в память (например, сохранение в локальной файловой системе нового полученного файла изображения). В случае если пространство, доступное в локальной файловой системе мобильного вычислительного устройства, недостаточно для обеспечения возможности завершения предпринятой операции записи в память, мобильное вычислительное устройство может выбрать один или более ранее полученных файлов для удаления из локальной файловой системы, таким образом освобождая пространство, необходимое для сохранения нового полученного файла. В одном иллюстративном примере мобильное вычислительное устройство может удалить последний, по числу операций доступа к файлу, файл, к которому был осуществлен доступ. В другом примере мобильное вычислительное устройство может удалить самый последний файл, к которому был осуществлен доступ. В дополнительном примере мобильное вычислительное устройство может удалить самый последний полученный файл.
[00017] В ответ на удаление одного или более выбранных файлов, мобильное вычислительное устройство может завершить предпринятую операцию записи в память (например, сохранение нового полученного файла изображения в локальной файловой системе). Затем в ответ со временем на прием команды пользовательского интерфейса, запрашивающей файл, который был ранее удален из локальной памяти, система может представить соответствующий файл предварительного просмотра. В ответ на прием команды пользовательского интерфейса, явным образом направленной на полноразмерный файл, система может извлечь полноразмерный файл из сервера, на котором файл был первоначально сохранен.
[00018] Таким образом, мобильное вычислительное устройство может хранить файлы предварительного просмотра по меньшей мере для некоторых файлов, полученных мобильным вычислительным устройством, и может дополнительно хранить полноразмерные версии файлов для поднабора полученных файлов, в той мере, в которой полноразмерные файлы могут вмещаться в файловой системе мобильного вычислительного устройства. Полноразмерный файл может быть удален из файловой системы для того, чтобы вместить новый полученный файл, и файл предварительного просмотра может быть представлен пользователю в ответ на команду пользовательского интерфейса. Полноразмерный файл может быть извлечен из файл-сервера в ответ на прием команды пользовательского интерфейса, которая явным образом направлена на полноразмерный файл.
[00019] В определенных реализациях вышеописанные способы управления файлами могут быть реализованы для способствования обработке файловых вложений посредством приложения календаря, исполняемого мобильным вычислительным устройством. "Приложение календаря" в настоящем документе должно относится к приложению, обеспечивающему планирование и отслеживание событий для отдельных пользователей и/или групп пользователей.
[00020] Различные аспекты вышеуказанных систем и способов описаны подробно с настоящем документе ниже посредством примеров, а не посредством ограничения.
[00021] Фиг.1 изображает схему уровня сети одного иллюстративного варианта осуществления компьютерной системы 1000 в соответствии с одним или более аспектами настоящего изобретения. Компьютерная система 1000 может содержать один или более серверов 110, исполняющих серверные участки 120 приложения управления файлами (например, приложения календаря). Один или более клиентских компьютеров 130, исполняющих серверные участки 125 приложения управления файлами, могут быть соединены с серверным компьютером 110 через множество взаимосоединяющих сетей 115.
[00022]  "Компьютер" в настоящем документе должен относится к устройству, включающему в себя процессор, память и по меньшей мере один интерфейс I/O. Компьютер может быть представлен, например, сервером, виртуальной машиной, запущенной на компьютерной хост-системе, портативным или настольным персональным компьютером (PC), планшетным компьютером или интеллектуальным телефоном. К тому же термин "компьютер" должен включать в себя любое соединение компьютеров, которые отдельно или совместно исполняют набор (или многочисленные наборы) инструкций для выполнения любого одного или более способов, описанных в настоящем документе.
[00023] "Сеть" в настоящем документе должна относиться к распределенной системе связи, взаимосоединяющей два или более компьютеров. Сеть может быть представлена, например, локальной сетью (LAN), глобальной сетью (WAN) или виртуальной частной сетью (VPN). В определенных реализациях множество взаимосоединяющих сетей 115 может включать в себя Интернет.
[00024] Функции компьютерной системы 1000 могут быть доставлены конечному пользователю посредством одного или более клиентских устройств 130, таких как, например, портативный или настольный персональный компьютер (PC), планшетный компьютер или интеллектуальный телефон. В одном примере одно или более клиентских устройств 130 могут предоставлять функции пользовательского интерфейса и осуществлять связь с одним или более серверами 110, которые могут выполнять обработку запросов клиента, балансировку нагрузки, аутентификацию клиента, авторизацию, хранение и извлечение файлов, выставление счетов и другие функции. Эти и другие функции могут быть распределены среди одного или более серверов 110, находящихся на одной или более физических площадках.
[00025] В другом примере по меньшей мере некоторые из вышеприведенных серверных функций, могут быть выполнены одним или более клиентскими устройствами 130. В определенных реализациях клиентское устройство 130 может выполнить по меньшей мере поднабор своих функций без соединения с сервером 110. Этот режим обработки также называется оффлайновым режимом функционирования клиента.
[00026] Некоторые из вышеприведенных функций, таких как, например, обработка запросов клиента, балансировка нагрузки, аутентификация клиента, авторизация, хранение и извлечение файлов, и/или выставление счетов, могут называться имеющими отношение к серверной функциональности. Другие функции, такие как, например, принятие пользовательского ввода, получение файлов через один или более интерфейсов связи, и/или визуализация информации на дисплее, могут называться имеющими отношение к клиентской функциональности. Однако в определенных реализациях компьютерная система 1000 может включать в себя один или более компьютеров, выполняющих по меньшей мере некоторую часть серверной функциональности, имеющей отношение к серверной функциональности, и по меньшей мере некоторые из функций, имеющих отношение к клиентской функциональности. Поэтому обозначение клиентской и серверной функциональности, как может быть указано в настоящем документе, предназначено для иллюстрации целей, не имеющих воздействия на функционирование компонентов компьютерной системы 1000.
[00027] В определенных реализациях компьютерная система 1000 может быть выполнена с возможностью получения файлов различных типов через один или более интерфейсов связи мобильного вычислительного устройства 130. В одном иллюстративном примере мобильное вычислительное устройство 130 может быть оборудовано камерой получения неподвижных изображений, которая может быть использована для получения файлов неподвижных изображений. В другом примере мобильное вычислительное устройство 130 может быть оборудовано видеокамерой, которая может быть использована для получения видеопотоков. В дополнительном примере мобильное вычислительное устройство 130 может быть оборудовано микрофоном, который может быть использован для получения аудиопотоков. В дополнительном примере мобильное вычислительное устройство 130 может быть оборудовано клавиатурой или сенсорным экраном, которые могут быть использованы для получения текстовых файлов.
[00028] В ответ на получение файла мобильное вычислительное устройство 130 может сохранить файл в локальной памяти мобильного вычислительного устройства. В одном иллюстративном примере мобильное вычислительное устройство 130 может сохранить файл в локальной файловой системе, находящейся в локальной энергонезависимой памяти. В другом примере мобильное вычислительное устройство 130 может сохранить файл в базе данных, находящейся в локальной энергонезависимой памяти.
[00029] К тому же в ответ на получение файла мобильное вычислительное устройство 130 может передать копию файла на один или более серверов 110, исполняющих серверные участки 120 приложения управления файлами. Один или более серверов 110 может сохранить принятый файл в файловой системе, базе данных и/или в любом другом репозитории с подходящей архитектурой.
[00030] К тому же в ответ на получение файла мобильное вычислительное устройство 130 может произвести файл предварительного просмотра, полученный из полученного файла. Файл предварительного просмотра может иметь размер, меньший, чем размер базового файла. Файл предварительного просмотра предназначен действовать как посредник для базового файла в целях визуализации базового файла на экране мобильного вычислительного устройства: пока пользователь конкретно не запросит отображение базовых файлов, вместо файлов предварительного просмотра, мобильное вычислительное устройство может, в ответ на прием команды пользовательского интерфейса для отображения одного или более файлов, отобразить один или более файлов предварительного просмотра, соответствующих файлам, запрошенных пользователем.
[00031] Для файла изображения файл предварительного просмотра может быть предоставлен, например, посредством миниатюрного изображения или другого изображения с уменьшенным размером, или изображения с уменьшенным разрешением. Для видеофайла файл предварительного просмотра может быть предоставлен, например, посредством "трейлера", содержащего поднабор кадров базового видеофайла. Для аудиофайла файл предварительного просмотра может быть предоставлен, например, посредством одной или более частей базового аудиофайла. Для текстового файла файл предварительного просмотра может быть предоставлен посредством реферата, краткого описания или посредством другого описания базового текстового файла.
[00032] В определенных реализациях мобильное вычислительное устройство может локально произвести файл предварительного просмотра. В качестве альтернативы мобильное вычислительное устройство может передать полученный файл на внешний сервер для обработки и может затем принять файл предварительного просмотра из внешнего сервера. В одном иллюстративном примере сервер 110, в ответ на прием базового файла из мобильного вычислительного устройства 130 для сохранения в серверном репозитории данных может обработать файл, чтобы произвести файл предварительного просмотра, и передать файл предварительного просмотра обратно в мобильное вычислительное устройство 130.
[00033] Мобильное вычислительное устройство 130 может отследить доступ к файлам, хранящимся в мобильном вычислительном устройстве и/или на сервере 110. В одном иллюстративном примере мобильное вычислительное устройство 130 может хранить в памяти, для каждого файла из множества файлов, полученных мобильным вычислительным устройством, структуру 200 данных, схематично проиллюстрированную посредством Фиг.2. Структура 200 данных может включать в себя идентификатор 210 файла, временную метку 212 создания файла, временную метку 214 доступа к файлу и/или общее число операций 216 доступа к файлу. Информация, хранящаяся в структуре данных, может быть использована при идентификации файла-кандидата, который должен быть удален из локальной памяти мобильного вычислительного устройства 130, как описано более подробно ниже в настоящем документе.
[00034] Мобильное вычислительное устройство 130 может выделить квоту в локальной памяти (например, в одной или более локальных файловых систем) для хранения файлов, полученных мобильными вычислительными устройствами через один или более интерфейсов I/O. Мобильное вычислительное устройство 130 может со временем определить, что доступная локальная память мобильного вычислительного устройства недостаточна для осуществления предпринятой операции записи в память (например, сохранения нового полученного файла в локальной файловой системе). Для того чтобы завершить предпринятую операцию записи в память, мобильное вычислительное устройство 130 может выбрать, на основе предварительно заданных критериев выбора, одного из ранее полученных файлов для удаления из файловой системы, таким образом освобождая память, необходимую для сохранения нового полученного файла.
[00035] В одном иллюстративном примере мобильное вычислительное устройство может анализировать массив структур 200 данных для множества файлов, хранящихся в локальной памяти мобильного вычислительного устройства, чтобы выбрать файл, имеющий минимальное число операций доступа к файлу, ассоциированных с ним, на основе общего числа операций 216 доступа к файлу. В другом примере мобильное вычислительное устройство может анализировать массив структур 200 данных для множества файлов, хранящихся в локальной памяти мобильного вычислительного устройства, чтобы выбрать самый последний файл, к которому был осуществлен доступ, на основе временной метки 214 доступа к файлу. В дополнительном примере мобильное вычислительное устройство может анализировать массив структур 200 данных для множества файлов, хранящихся в локальной памяти мобильного вычислительного устройства, чтобы выбрать самый последний полученный файл, на основе временной метки 212 создания файла. В дополнительном примере мобильное вычислительное устройство может анализировать массив структур 200 данных для множества файлов, хранящихся в локальной памяти мобильного вычислительного устройства, чтобы выбрать файл, удовлетворяющий двум или более условиям, например, последний файл, к которому был осуществлен доступ, созданный не позднее, чем заданная дата.
[00036] В определенных реализациях мобильное вычислительное устройство 130 может выбрать файл, который должен быть удален, среди файлов такого же типа как новый полученный файл. В качестве альтернативы, мобильное вычислительное устройство 130 может выбрать файл, который должен быть удален, среди файлов, имеющих размер не меньше, чем размер нового полученного файла. В определенных реализациях мобильное вычислительное устройство 130 может выбрать два или более файлов, которые должны быть удалены, имеющих общий размер, не меньше, чем размер нового полученного файла.
[00037] В ответ на удаление одного или более выбранных файлов мобильное вычислительное устройство может завершить предпринятую операцию записи в память (например, сохранение нового полученного файла в локальной памяти). Мобильное вычислительное устройство может дополнительно дополнить массив структур 200 для включения структуры данных, хранящей временные метки создания и доступа и/или счетчик доступа для нового полученного файла. Мобильное вычислительное устройство может к тому же создать и сохранить в локальной памяти файл предварительного просмотра, соответствующий новому полученному файлу, как более подробно описано ниже в настоящем документе.
[00038] Мобильное вычислительное устройство может со временем принять команду пользовательского интерфейса, запрашивающую выполнение операции в отношении файла, который был ранее удален из локальной памяти. Мобильное вычислительное устройство может затем представить соответствующий файл предварительного просмотра и/или, в ответ на прием команды пользовательского интерфейса, явным образом направленной на базовый файл, извлечь базовый файл из сервера, на котором файл был сохранен ранее. Если локальная файловая система не имеет доступное пространство, достаточное для вмещения полноразмерного файла, извлекаемого из сервера, мобильное вычислительное устройство может выбрать один или более последних или самых последних файлов, к которым был осуществлен доступ, как описано более подробно выше в настоящем документе, и удалить файлы из локальной файловой системы.
[00039] Таким образом, как схематично предварительно посредством Фиг.3, мобильное вычислительное устройство 130 может хранить в локальной памяти (например, в локальной файловой системе 310) файлы 312 предварительного просмотра по меньшей мере для некоторых из файлов 314, полученных мобильным вычислительным устройством. Мобильное вычислительное устройство может дополнительно хранить полноразмерные версии по меньшей мере некоторых из файлов 314, в той мере, в которой полноразмерные файлы могут быть вмещены в локальной памяти мобильного вычислительного устройства. В одном иллюстративном примере мобильное вычислительное устройство может хранить, в локальной файловой системе 310 в рамках предварительно заданной квоты 316, множество файлов 312 предварительного просмотра, соответствующих базовым файлам 314. Мобильное вычислительное устройство может дополнительно хранить, в локальной файловой системе 310 в рамках предварительно заданной квоты 316, множество файлов 312-2 предварительного просмотра, не имеющих соответствующих базовых файлов, так как базовые файлы, соответствующие файлам 312-2 предварительного просмотра, не могут быть вмещены в локальной файловой системе 310 в рамках предварительно заданной квоты 316.
[00040] Базовый файл 314-1 может быть удален из файловой системы для того, чтобы вместить новый полученный файл 318, и соответствующий файл 312-1 предварительного просмотра может быть представлен пользователю в ответ на команду пользовательского интерфейса. Полноразмерный файл 314-1 может быть извлечен из файл-сервера в ответ на команду пользовательского интерфейса, явным образом направленную на полноразмерный файл 314-1.
[00041] В определенных реализациях компьютерная система 1000 может исполнять приложение календаря, способствующее планированию и отслеживанию событий для отдельных пользователей и/или групп пользователей. Пользователи могут осуществлять доступ к приложению календаря посредством различных клиентских устройств, включающих в себя мобильные вычислительные устройства 130.
[00042] В одном примере компьютерная система 1000 может поддерживать модель данных, содержащую записи календаря и памятные записки, как схематично проиллюстрировано посредством Фиг.4. Запись календаря может быть представлена структурой данных 410, содержащей идентификатор 412 и время 414. В определенных реализациях идентификатор 412 может быть предоставлен посредством считываемой человеком последовательности алфавитно-цифровых символов, содержащей заголовок и/или описание записи календаря. В качестве альтернативы, идентификатор записи календаря может быть предоставлен посредством алфавитно-цифрового или неалфавитно-цифрового идентификатора, который не предназначен для считывания человеком.
[00043] В определенных реализациях время 414 может быть представлено начальным временем события, идентифицированного записью календаря и продолжительностью события. В качестве альтернативы, время 414 может быть представлено начальным временем и конечным временем события. Начальное время и/или конечное время события могут быть представлены датой (например, содержащей день, месяц и год) и временем дня (например, содержащим час, минуту и секунду). Время 414 может дополнительно содержать идентификатор временной зоны.
[00044] Структура 410 данных может дополнительно содержать заголовок 416 записи календаря, описание 418, местоположение 420, идентификатор инициатора 422 события, идентифицированного записью календаря, список участников 424 события, расписание 426 повторения и/или другие поля. В определенных реализациях структура 410 данных может содержать идентификатор 411 типа записи календаря. Примеры записей календаря, представленные структурой 410 данных, могут включать в себя назначения, запросы встреч, напоминания и т.д. В определенных реализациях структура 410 данных может содержать один или более указателей 428 на наборы данных, которые могут называться вложениями. В одном примере вложение может быть предоставлено посредством файла произвольного типа, такого как текст, аудиопоток, видеопоток, неподвижное изображение и т.д.
[00045] Памятная записка может быть представлена структурой 440 данных, содержащей текст 248 памятной записки. В определенных реализациях структура 440 данных может дополнительно содержать идентификатор 441 типа, идентификатор 442 памятной записки, время создания и/или изменения 444 памятной записки, и/или заголовок 446 памятной записки. Время 444 может быть представлено датой (например, содержащей день, месяц и год) и временем дня (например, содержащим час, минуту и секунду). Время 444 может дополнительно содержать идентификатор временной зоны.
[00046] В определенных реализациях структура 440 данных может содержать один или более указателей 450 на наборы данных, которые могут называться вложениями. В одном примере вложение может предоставлено посредством файла произвольного типа, такого как текст, аудиопоток, видеопоток, неподвижное изображение и т.д.
[00047] В определенных реализациях компьютерная система 1000 может хранить вышеуказанные файлы и/или структуры данных в реляционной базе данных, находящейся на одном или более компьютерах, включающий в себя один или более серверов 110 и/или одно или более клиентских устройств 130. В определенных реализациях другие способы хранения файлов и/или структур данных, реализующих вышеописанную модель данных, могут быть использованы компьютерной системой 1000, такие как, например, иерархическая база данных, или один или более простых файлов.
[00048] В определенных реализациях компьютерная система 1000 может хранить каталог пользователя, ассоциированный с системой календаря, на сервере каталогов, таком как сервер облегченного протокола доступа к каталогу (LDAP). В определенных реализациях компьютерной системой 1000 могут быть использованы другие способы хранения каталога пользователя, включающего в себя, например, каталог собственного пользователя, предоставленный операционной системой сервера 110.
[00049] После приема команды пользовательского интерфейса компьютерная система 1000 может визуализировать, на клиентском устройстве, одну или более записей календаря и/или памятных записок посредством различных видов, включающих в себя, например, вид календаря и вид блокнота.
[00050] Вид календаря может содержать одну или более записей календаря, визуальных на экране с визуальными ссылками на один или более указателей времени. В одном примере, как схематично проиллюстрировано посредством Фиг.5a, вид 500 календаря может содержать один или более видов 510 недели. Вид 510 недели может содержать до семи визуально различимых областей экрана, соответствующих дням недели (видам 512 дня). Каждый вид дня может быть визуально разделен на несколько областей 514 экрана, соответствующих времени дня. Одно или более значений времени дня могут быть помещены в пределах вида дня. Одна или более записей 516 календаря может быть показана в пределах вида 512 дня. В другом примере, как схематично проиллюстрировано посредством Фиг.5b, вид 500 календаря может содержать один или более видов 520 месяца. Вид 520 месяца может содержать множество видов 510 недели. Вид 510 недели может содержать до семи визуально различимых областей экрана, соответствующих дням недели (видам 512 дня). Каждый вид дня может быть визуально разделен на несколько областей 514 экрана, соответствующих времени дня. Одно или более значений времени дня могут быть помещены в пределах вида дня. Одна или более записей 516 календаря может быть показана в пределах вида 512 дня. В дополнительном примере вид календаря может содержать вид квартала, вид года и/или другие виды.
[00051] Вид блокнота может содержать одну или более памятных записок, визуализированных на экране. В одном примере, как схематично проиллюстрировано посредством Фиг.6a, одна или более памятных записок 610, визуализированных в пределах вида 600 блокнота, могут быть отсортированы в алфавитном порядке по заголовку/теме. В другом примере, как схематично проиллюстрировано посредством Фиг.6b, одна или более памятных записок, визуализированных в пределах вида 600 блокнота, могут быть отсортированы хронологически по дате времени создания или изменения памятной записки.
[00052] В определенных реализациях компьютерная система 1000 может визуализировать одно или более событий календаря и одну или более памятных записок на смешанном виде, например, выбирая и/или сортируя события календаря и памятные записки по заголовку, ключевому слову, автору, и/или дате и времени создания или изменения события календаря или памятной записки.
[00053] В определенных реализациях компьютерная система 1000 может принять пользовательский ввод, редактирующий существующую запись календаря или существующую памятную записку. В одном примере в ответ на принятие пользовательского ввода, редактирующего памятную записку, компьютерная система 1000 может определить, что новый добавленный текст содержит привязку ко времени. Следуя такому определению, компьютерная система 1000 может преобразовать памятную записку в запись календаря, и сохранить в структуре данных записи календаря время, идентифицированное посредством привязки ко времени, вместе с нулевым или более опциональными полями, как описано более подробно выше в настоящем документе.
[00054] Фиг.7 изображает схему последовательности операций одного варианта осуществления способа 700 управления файлами посредством мобильных вычислительных устройств. Способ 700 может быть выполнен компьютерной системой, которая может содержать аппаратные средства (например, компоновку схем, выделенную логику, и/или программируемую логику), программное обеспечение (например, инструкции, исполняемые в компьютерной системе для выполнения симуляции аппаратных средств) или их комбинацию. Способ 700 и/или каждая из его отдельных функций, стандартные программы, стандартные подпрограммы или операции могут быть выполнены одним или более физическими процессорами компьютерной системы, исполняющей способ. Две или более функций, стандартные программы, стандартные подпрограммы или операции способа 700 могут быть выполнены параллельно или в порядке, который может отличаться от порядка, описанного выше.
[00055] Обработка может начаться посредством приема мобильным вычислительным устройством, на этапе 710, файла через один или более интерфейсов I/O мобильного вычислительного устройства. В определенных реализациях мобильное вычислительное устройство может быть выполнено с возможностью получения файлов различных типов: в одном иллюстративном примере мобильное вычислительное устройство может быть оборудовано камерой получения неподвижных изображений, которая может быть использована для получения файлов неподвижных изображений. В другом примере мобильное вычислительное устройство может быть оборудовано видеокамерой, которая может быть использована для получения видеопотоков; в дополнительном примере мобильное вычислительное устройство может быть оборудовано микрофоном, который может быть использован для получения аудиопотоков; в дополнительном примере мобильное вычислительное устройство может быть оборудовано клавиатурой или сенсорным экраном, которые могут быть использованы для получения текстовых файлов.
[00056] На этапе 715 мобильное вычислительное устройство может сохранить файл в локальной памяти мобильного вычислительного устройства. В одном иллюстративном примере мобильное вычислительное устройство 130 может сохранить файл в локальной файловой системе, находящейся в локальной энергонезависимой памяти. В другом примере мобильное вычислительное устройство может сохранить файл в базе данных, находящейся в локальной энергонезависимой памяти.
[00057] На этапе 720 мобильное вычислительное устройство может передать копию файла на один или более внешних компьютеров (например, файл-серверы, исполняющие серверные участки приложения управления файлами).
[00058] На этапе 725 мобильное вычислительное устройство может сохранить в локальной памяти второй файл (также называемый файлом "предварительного просмотра"), полученный из первого файла. Размер файла предварительного просмотра может быть меньше, чем размер первого файла. Для файла изображения файл предварительного просмотра может быть предоставлен, например, посредством миниатюрного изображения или другого изображения с уменьшенным размером, или изображения с уменьшенным разрешением. Для видеофайла файл предварительного просмотра может быть предоставлен, например, посредством "трейлера", содержащего поднабор кадров базового видеофайла. Для аудиофайла файл предварительного просмотра может быть предоставлен, например, посредством одной или более частей базового аудиофайла. Для текстового файла файл предварительного просмотра может быть предоставлен посредством реферата, краткого описания или посредством другого описания базового текстового файла. В определенных реализациях мобильное вычислительное устройство может локально произвести файл предварительного просмотра. В качестве альтернативы, мобильное вычислительное устройство может передать полученный файл на внешний сервер для обработки, и может затем принять файл предварительного просмотра из внешнего сервера.
[00059] В ответ на определение на этапе 730, что локальная память не достаточна для выполнения предпринятой операции записи в память, обработка может продолжиться на этапе 735; иначе способ может прекратиться. В определенных реализациях мобильное вычислительное устройство может выделить квоту в локальной памяти (например, в одной или более локальных файловых систем) для хранения файлов, полученных мобильными вычислительными устройствами через один или более интерфейсов I/O. Мобильное вычислительное устройство может со временем определить, что доступная локальная память мобильного вычислительного устройства недостаточна для осуществления предпринятой операции записи в память (например, сохранения нового полученного файла в локальной файловой системе).
[00060] На этапе 735 мобильное вычислительное устройство может выбрать третий файл, такой что третий файл имеет четвертый файл, ассоциированный с ним, причем четвертый файл получен из третьего файла. Для того чтобы завершить предпринятую операцию записи в память, мобильное вычислительное устройство может выбрать, на основе предварительно заданных критериев выбора, одного из ранее полученных файлов для удаления из файловой системы, таким образом освобождая память, необходимую для сохранения нового полученного файла. В одном иллюстративном примере мобильное вычислительное устройство может выбрать файл, имеющий минимальное число операций доступа к файлу, ассоциированных с ним. В другом примере мобильное вычислительное устройство может выбрать самый последний файл, к которому был осуществлен доступ. В дополнительном примере мобильное вычислительное устройство может выбрать самый последний полученный файл. В дополнительном примере мобильное вычислительное устройство может выбрать файл, удовлетворяющий двум или более условиям, например, последний файл, к которому был осуществлен доступ, созданный не позднее, чем заданная дата. В определенных реализациях мобильное вычислительное устройство может выбрать файл, который должен быть удален, среди файлов такого же типа как новый полученный файл. В качестве альтернативы, мобильное вычислительное устройство может выбрать файл, который должен быть удален, среди файлов, имеющих размер не меньше, чем размер нового полученного файла. В определенных реализациях мобильное вычислительное устройство может выбрать два или более файлов, которые должны быть удалены, имеющих общий размер, не меньше, чем размер нового полученного файла.
[00061] На этапе 740 мобильное вычислительное устройство может удалить выбранный файл из локальной памяти.
|00062] На этапе 745 мобильное вычислительное устройство может завершить предпринятую операцию записи в память.
[00063] На этапе 750 мобильное вычислительное устройство может принять команду пользовательского интерфейса, запрашивающую выполнение операции в отношении третьего файла.
[00064] На этапе 755 мобильное вычислительное устройство может извлечь копию третьего файла из сервера, на котором файл был сохранен ранее. Если локальная файловая система не имеет доступное пространство, достаточное для вмещения полноразмерного файла, извлекаемого из сервера, мобильное вычислительное устройство может выбрать один или более последних или самых последних файлов, к которым был осуществлен доступ, как описано более подробно выше в настоящем документе, и удалить файлы из локальной файловой системы. В ответ на завершение операций, указанных этапом 755, способ может прекратиться.
[00065] Фиг.8 изображает примерную компьютерную систему 100, способную исполнять инструкции, предписывающие компьютеру выполнять один или более из способов, описанных в настоящем документе. В определенных вариантах осуществления компьютерная система 100 может соответствовать одному или более серверам 110 и/или клиентским устройствам по Фиг.1.
[00066] В определенных вариантах осуществления компьютерная система 100 может быть соединена (например, через сеть, такую как локальная сеть (LAN), внутренняя сеть, внешняя сеть, или Интернет) с другими компьютерными системами. Компьютерная система 100 может функционировать в качестве сервера или клиентского компьютера в среде клиент-сервер, или как одноранговый компьютер в среде одноранговой или распределенной сети. Компьютерная система 100 может быть обеспечена посредством персонального компьютера (PC), планшетного PC, телевизионной приставки (STB), персонального цифрового помощника (PDA), сотового телефона, веб-устройства, сервера, сетевого маршрутизатора, коммутатора или моста или любого устройства, способного исполнять набор инструкций (последовательно или иным образом), которые точно определяют действия, которые должны быть осуществлены этим устройством.
[00067] В дополнительном аспекте компьютерная система 100 может включать в себя процессор 1002, энергозависимую память 1004 (например, оперативную память (RAM)), энергонезависимая память 1006 (например, постоянную память (ROM) или электрически стираемую ROM (EEPROM)), и вторичную память 1016 (например, устройство хранения данных), которые могут осуществлять связь друг с другом через шину 1008. Процессор 1002 может быть обеспечен посредством одного или более процессоров, таких как процессор общего назначения (такой как, например, микропроцессор с вычислением сложного набора инструкций (CISC), микропроцессор с вычислением уменьшенного набора инструкций (RISC), микропроцессор с системой команд сверхбольшой разрядности (VLIW), микропроцессор, реализующий другие типы наборов инструкций, или a микропроцессор, реализующий комбинации типов наборов инструкций) или специализированный процессор (такой как, например, специализированная интегральная микросхема (ASIC), программируемая пользователем вентильная матрица (FPGA), процессор цифровой обработки сигналов (DSP), или сетевой процессор).
[00068] Компьютерная система 100 может дополнительно включать в себя устройство 1022 сетевого интерфейса. Компьютерная система 100 также может включать в себя блок 1010 отображения видео (например, LCD), устройство 1012 алфавитно-цифрового ввода (например, клавиатуру), указывающее устройство 1014 (например, мышь), и устройство 1020 вывода аудио (например, динамик).
[00069] Вторичная память 1016 может включать в себя постоянный машиночитаемый носитель 1024 информации, на котором могут храниться инструкции приложений 120, 125 управления файлами. Инструкции приложений 120, 125 управления файлами могут также находиться, полностью или частично, внутри основной памяти 1004 и/или внутри процессора 1002 во время их исполнения компьютерной системой 1000, поэтому, основная память 1004 и процессор 1002 могут также составлять машиночитаемые носители информации. Хотя машиночитаемый носитель 1024 информации показан в иллюстративном варианте осуществления как одиночный носитель, термин "машиночитаемый носитель информации" должен включать в себя одиночный носитель или многочисленные носители (например, централизованная или распределенная база данных, и/или ассоциированные кэши и серверы), которые хранят один или более поднаборов исполняемых инструкций. Термин "машиночитаемый носитель информации" должен также включать в себя любой постоянный носитель, который способен хранить или кодировать набор инструкций для исполнения компьютером, которые предписывают компьютеру выполнить любой один или более способов, описанных в настоящем документе. Термин "машиночитаемый носитель информации" должен включать в себя, но не ограничен этим, твердотельные блоки памяти, оптические носители и магнитные носители.
[00070] Способы, компоненты и признаки, описанные в настоящем документе, могут быть реализованы посредством дискретных аппаратных компонентов или могут быть интегрированы в функциональность других аппаратных компонентов, таких как ASIC, FPGA, DSP или аналогичные устройства. В дополнение способы, компоненты и признаки могут быть реализованы посредством программно-аппаратных модулей или функциональных схем внутри аппаратных устройств. К тому же способы, компоненты и признаки могут быть реализованы в любой комбинации аппаратных устройств и программных компонентов, или только в виде программного обеспечения.
[00071] Пока конкретно не указано иначе, термины, такие как "обновление", "идентификация", "определение", "отправка", "присваивание", или подобные, относятся к действиям и процессам, выполняемым или реализованным компьютерными системами, которые манипулируют и преобразовывают данные, представленные как физические (электронные) величины внутри регистров и блоков памяти компьютерной системы, в другие данные, аналогично представленные как физические величины внутри блоков памяти и регистров компьютерной системы или других таких устройствах хранения, передачи или отображения информации.
[00072] Варианты осуществления, описанные в настоящем документе, также относятся к устройству для выполнения способов, описанных в настоящем документе. Это устройство может быть специально сконструировано для требуемых целей, или оно может содержать компьютерную систему общего назначения, выборочно программируемую компьютерной программой, хранящейся в компьютерной системе. Такая компьютерная программа может храниться на машиночитаемом постоянном носителе информации.
[00073] Способы и иллюстративные примеры, описанные в настоящем документе, необязательно относятся к какому-либо конкретному компьютеру или другому устройству. Различные системы общего назначения могут быть использованы в соответствии со сведениями, описанными в настоящем документе, или может быть доказано удобство конструирования более специализированного устройства для выполнения требуемых функций способа, стандартных программ, стандартных подпрограмм или операций. Требуемая структура для разнообразия этих систем будет выглядеть как изложено в описании выше.
[00074] Вышеприведенное описание предназначено быть иллюстративным, и не ограничительным. Хотя настоящее изобретение было описано со ссылками на конкретные иллюстративные примеры и варианты осуществления, будет понятно, что настоящее изобретение не ограничивается описанными вариантами осуществления. Объем данного изобретения должен определяться на основе нижеследующих пунктов формулы изобретения, вместе с полным объемом эквивалентов, на которые данные пункты формулы изобретения предоставляют право.