ФАЙЛОВАЯ СИСТЕМА ДЛЯ ОТОБРАЖЕНИЯ ЭЛЕМЕНТОВ РАЗЛИЧНЫХ ТИПОВ И ИЗ РАЗЛИЧНЫХ ФИЗИЧЕСКИХ МЕСТОПОЛОЖЕНИЙ
FILE SYSTEM FOR DISPLAYING DIFFERENT TYPES OF ELEMENTS AND FROM DIFFERENT PHYSICAL LOCATIONS

ОБЛАСТИ ТЕХНИКИ
Настоящее изобретение относится к файловым системам, а более конкретно к файловым системам для отображения элементов различных типов и из различных физических местоположений.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Существующие компьютерные файловые системы имеют ряд нежелательных ограничений. Одно из ограничений заключается в том, что пользователи, как правило, не имеют возможности управлять структурой, которая им демонстрируется. Другими словами, при организации папок пользователь должен выбрать структуру и эту структуру впоследствии трудно изменить. В качестве характерного примера в своей "музыкальной" папке пользователь возможно захочет организовать музыкальные файлы в формате исполнитель/альбом, при котором все папки альбомов по каждому исполнителю собраны в папку этого конкретного исполнителя, а все песни с конкретного альбома собраны в папку этого альбома. Однако формат исполнитель/альбом неудобен для проигрывания музыкальных записей одного направления (например, проигрывания двух джазовых песен двух различных исполнителей) или для проигрывания подборки альбомов различных исполнителей.
В качестве другого примера пользователь может иметь большое количество файлов, с трудом поддающихся организации. Некоторые пользователи вырабатывают жестко регламентированный подход к размещению файлов и тем самым создают для них строгие иерархии. Управление такими файлами по мере возрастания количества имеющихся документов становится все более и более сложным и трудоемким, делая также трудоемким поиск и извлечение данных. Эта проблема еще более обостряется в случаях, когда используются дополнительные файлы, имеющие другое место расположения, такие как файлы совместного использования и т.д.
Пользователям также приходится иметь дело с файлами, расположенными в разных местах, таких как различные устройства, другие персональные компьютеры или системы он-лайн. Например, пользователи могут выбрать прослушивание имеющихся у них в компьютере музыкальных записей (тех, которые доступны для музыкальной программы) или могут перейти в режим он-лайн и слушать музыкальные записи с Web-сайтов, однако при этом имеется строго определенная граница между этими двумя источниками. Музыкальные записи, поступающие из различных мест, организованы различным образом и не содержатся в одинаковом виде или в одном и том же месте. В качестве другого примера файлы, хранящиеся в корпоративных сетях, могут в силу своей сущности быть отделены от файлов, которые имеются у пользователя на текущем компьютере.
Пользователи также должны следить не только за тем, какие файловые данные сохраняются в памяти, но и за тем, где они сохраняются. Например, в случае музыкальных файлов пользователи вынуждены держать их копии в различных системах и предпринимать усилия для отслеживания того, какие музыкальные файлы где располагаются. Это может усложнить определение местоположения файлов даже в тех случаях, когда они располагаются локально.
Также в некоторых случаях бывает сложно найти и повторно обратиться к имеющимся у пользователя файлам. Для пользователей может оказаться сложным вспомнить, где и как они сохранили определенные файлы. Имея перед собой набор папок или даже группу похожих друг на друга файлов, пользователи часто затрудняются быстро найти тот файл, который они ищут. Для файлов же, хранящихся в труднодоступных для обнаружения местах, определить местонахождение файла еще гораздо более сложно. Кроме того, когда у пользователей в папке собирается достаточное количество файлов, становится все более сложно быстро провести разбор папки особенно в случае, если содержащиеся в ней элементы похожи друг на друга.
Также в некоторых случаях пользователям бывает сложно найти или повторно обратиться к файлам, хранящимся в сети. Предоставление файлов для совместного использования и их публикация часто трудноосуществимы, но поиск такого файла у другого лица, сделавшего его доступным, часто может оказаться даже еще более сложной задачей. Пользователям обычно приходится запоминать или фиксировать в виде карты различные сайты и имена, которые необходимы им для нахождения файлов в сети.
Пространства имен могут различаться между собой, что может вызвать у пользователя замешательство относительно того, что является "правильным". Это особенно верно в случае сети, где имеются различные соглашения и ограничения на использование имен. Например, в некоторых операционных системах для того, чтобы имена были видимы, может потребоваться, чтобы они были короткими и не включали в себя пробелы.
К тому же программы часто сохраняют файлы в своих собственных каталогах или других пространствах имен, что может затруднить для пользователей поиск обратного пути к этим файлам. Программы часто имеют назначаемые по умолчанию каталоги и места, где они сохраняют свои документы. Пользователь часто вынужден перерывать весь свой жесткий магнитный диск и строить предположения о том, где хранится файл.
К тому же связанные между собой элементы часто хранятся в различных местах. Связанные между собой файлы могут храниться в различных частях жесткого магнитного диска и т.д. Эта проблема встречается все чаще по мере того, как развиваются цифровые мультимедийные сервисы, имеющие разнообразные типы контента (содержимого) (например, изображения, музыкальные записи, видеоинформацию).
Настоящее изобретение имеет своей целью предложить систему и способ, которые устраняют вышеупомянутые и другие недостатки.
Более конкретно настоящее изобретение относится к файловой системе для отображения элементов различных типов из различных физических местоположений.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Предлагается файловая система для отображения элементов различного типа и из различных физических местоположений. Согласно одному аспекту изобретения возможно получение широкого охвата элементов. Другими словами, система способна представлять элементы из многочисленных физических местоположений (например, различных накопителей на жестких магнитных дисках, различных компьютеров, различных сетевых местоположений и т.д.) таким образом, что у пользователя создается впечатление, что все элементы расположены в одном месте. Например, все музыкальные файлы пользователя могут быть представлены ему на едином экранном изображении и он может манипулировать всеми этими файлами на одном представлении даже несмотря на то, что эти файлы могут физически храниться на различных накопителях на жестких магнитных дисках, в различных компьютерах или в различных сетевых местоположениях.
Согласно другому аспекту изобретения в способе, предназначенном для отображения элементов в компьютерной системе, оснащенной устройством отображения, используется область охвата. Этот способ предусматривает определение области охвата физических местоположений памяти, из которых должны извлекаться элементы, при этом область охвата включает в себя память данного компьютера и, по меньшей мере, одно другое физическое местоположение. После получения запроса и в ответ на этот запрос элементы извлекаются из физических местоположений, определенных в области охвата, и затем извлеченные по запросу элементы отображаются в некотором представлении на устройстве отображения. В одном варианте осуществления изобретения это, по меньшей мере, одно другое физическое местоположение элементов может представлять собой другой компьютер, сетевое местоположение или внешнее запоминающее устройство. В одном варианте осуществления изобретения упомянутое представление на устройстве изображения может быть переключено на представление физической папки, которое показывает физические местоположения, где физически хранятся эти элементы.
Согласно другому аспекту изобретения в виртуальных папках могут быть представлены нефайловые элементы. Другими словами, хранящиеся в памяти файлы располагаются в физическом запоминающем устройстве. Виртуальные папки могут включать в себя элементы, которые в данный момент не представлены в физическом запоминающем устройстве. Примерами нефайловых элементов являются сообщения, передаваемые по электронной почте, и контактная информация.
Согласно другому аспекту изобретения в компьютерной системе, оснащенной устройством отображения и памятью для хранения элементов, реализован способ для представления нефайловых элементов. Способ предусматривает создание базы данных, которая позволяет искать по запросу как нефайловые элементы, так и файловые элементы. После получения запроса происходит извлечение удовлетворяющих запросу как нефайловых элементов, так и файловых элементов, и затем элементы, удовлетворяющие запросу, представляются на устройстве отображения. В одном варианте осуществления изобретения предусмотрена реляционная база данных, которая включает в себя отобранную информацию о файловых элементах и которая может содержать определенные нефайловые элементы целиком.
Согласно другому аспекту изобретения элементы представляются пользователю в составе виртуальных папок. Виртуальные папки предъявляют элементы пользователю в различных представлениях, основанных на метаданных этих элементов, а не на действительной лежащей в их основе физической структуре файловой системы на диске. Таким образом, система способна брать свойство, хранящееся в базе данных, и представлять его в виде некоторого контейнера, который подобен папке. Поскольку пользователи уже знакомы с работой с папками, то благодаря представлению виртуальных папок в аналогичной манере пользователи могут более быстро адаптироваться к новой системе.
Согласно другому аспекту изобретения пользователи могут работать с виртуальными папками посредством прямого манипулирования. Другими словами, механизмы, предусмотренные для манипулирования виртуальными папками, аналогичны тем, что используются в настоящий момент для манипулирования общепринятыми физическими папками (например, механизмом "щелканья" и "перетаскивания", копирования, вставки и т.д.).
Согласно другому аспекту изобретения предусмотрены фильтры для манипулирования виртуальными папками. Фильтры являются инструментальными средствами для сужения набора элементов. В одном варианте осуществления изобретения производится динамическое генерирование фильтров на основе свойств отдельных элементов. Например, для набора элементов механизм фильтрации может проанализировать свойства и, если элементы в большинстве случаев имеют в качестве свойства "авторов", фильтр может выдать список авторов. После этого щелчок (кнопкой мыши) на конкретном авторе приводит к тому, что элементы, не имеющие этого автора, исчезают с экрана. Это позволяет пользователю сузить набор контентов (содержимое).
Согласно другому аспекту изобретения предусмотрены быстрые ссылки. В одном варианте осуществления изобретения быстрые ссылки представляют собой набор заранее определенных ссылок (например, расположенных на левой стороне изображения), на которых можно "щелкнуть" для генерации полезных представлений наборов элементов. Быстрые ссылки могут быть заранее определены программой или установлены пользователем. Например, щелчком на быстрой ссылке "все авторы" можно возвратить представление, разбитое на пачки по авторам. Быстрая ссылка "все документы" может возвратить простое представление всех документов из всех областей памяти. Пользователи также могут создавать свои собственные быстрые ссылки. Например, пользователь можно получить в результате фильтрации перечень всех документов, в которые вносились изменения в январе 2003 г., и затем сохранить его в качества быстрой ссылки.
Согласно другому аспекту изобретения предусмотрены библиотеки. Библиотеки состоят из больших групп удобных в использовании типов файлов, которые могут быть ассоциативно соединены вместе. Например, одну библиотеку могут составлять фотографии, другую - музыкальные записи, третью - документы. Библиотеки предусматривают инструментальные средства и операции, которые связаны с конкретными типами элементов. Например, в библиотеке фотоматериалов имеются инструментальные средства и фильтры, связанные с манипулированием фотографиями, такие как те, что предназначены для подготовки демонстраций слайдов и для совместного использования фотографий.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Вышеперечисленные аспекты и многие из преимуществ данного изобретения поясняются в приведенном ниже подробном описании при рассмотрении его совместно с прилагаемыми чертежами, где:
ФИГ. 1 - структурная схема компьютерной системы общего назначения, пригодная для осуществления настоящего изобретения;
ФИГ. 2 - структурная схема системы виртуальной папки по настоящему изобретению;
ФИГ. 3 - блок-схема алгоритма, иллюстрирующего процедуру, посредством которой пользователь подает запрос, который возвращает ему выбранные файлы и папки;
ФИГ. 4 - блок-схема алгоритма, иллюстрирующего процедуру, посредством которой согласно либо запросу по умолчанию либо запросу от пользователя строятся и отображаются виртуальные папки.
ФИГ. 5 - древовидная схема структуры папки, соответствующей организации физических папок на жестком магнитном диске;
ФИГ. 6 - древовидная схема структуры виртуальной папки;
ФИГ. 7 - древовидная схема структуры виртуальной папки, изображенной на ФИГ. 6, в которой пачка клиентов дополнительно отфильтрована по контрактам и году;
ФИГ. 8 - древовидная схема структуры виртуальной папки, изображенной на ФИГ. 7, в которой пачка "контракты" из пачки "клиенты" дополнительно отфильтрована по году;
ФИГ. 9 - древовидная схема структуры виртуальной папки, изображенной на ФИГ. 6, в которой пачка "контракты" дополнительно отфильтрована по клиентам и году, из которых "клиенты" еще дополнительно отфильтрованы по году;
ФИГ. 10 - схема, иллюстрирующая экранное изображение, которое показывает пачки библиотеки документов;
ФИГ. 11 - схема, иллюстрирующая экранное изображение, которое показывает документы в пачке "Акционерная компания ABC" с ФИГ. 10;
ФИГ. 12 - схема, иллюстрирующая экранное изображение, на котором для документов, приведенных на ФИГ. 11, выбрана функция группирования в пачки;
ФИГ. 13 - схема, иллюстрирующая экранное изображение, на котором для функции группирования в пачки, приведенной на ФИГ. 12, выбран параметр "сгруппировать в пачки по автору";
ФИГ. 14 - схема, иллюстрирующая экранное изображение, на котором файлы, показанные на ФИГ. 13, сгруппированы в пачки по автору;
ФИГ. 15 - схема, иллюстрирующая экранное изображение, на котором для перегруппирования в пачки файлов, показанных на ФИГ. 14, выбрана функция группирования в пачки и дополнительно выбрана опция "сгруппировать в пачки по категории";
ФИГ. 16 - схема, иллюстрирующая экранное изображение, на котором файлы, показанные на ФИГ. 14, перегруппированы в пачки по категории;
ФИГ. 17 - схема, иллюстрирующая экранное изображение, на котором выбрана быстрая ссылка для показа физических папок;
ФИГ. 18 - схема, иллюстрирующая экранное изображение, на котором показаны физические папки, содержащие файлы из пачек - виртуальных папок, приведенных на ФИГ. 17;
ФИГ. 19 - блок-схема алгоритма, иллюстрирующего процедуру, посредством которой пользователь может напрямую манипулировать виртуальными папками;
ФИГ. 20 - схема, иллюстрирующая экранное изображение, на котором к пачкам, показанным на ФИГ. 10, добавлена пачка "Западное побережье";
ФИГ. 21 - схема, иллюстрирующая экранное изображение, на котором для копирования файлов из пачки "Акционерная компания ABC" в пачку "Западное побережье", показанных на ФИГ. 20, использовано прямое манипулирование;
ФИГ. 22 - блок-схема алгоритма, иллюстрирующего процедуру динамического генерирования системой новых параметров фильтрации;
ФИГ. 23 - блок-схема алгоритма, иллюстрирующего процедуру фильтрации системой элементов, основанную на выборе параметра фильтрации;
ФИГ. 24 - схема, иллюстрирующая экранное изображение, на котором пачки, приведенные на ФИГ. 10, отфильтрованы по параметру "AB";
ФИГ. 25 - схема, иллюстрирующая экранное изображение, на котором пачки, показанные на ФИГ. 10, отфильтрованы по параметру "ABC";
ФИГ. 26 - схема, иллюстрирующая экранное изображение, на котором для пачек, показанных на ФИГ. 10, выбран параметр фильтрации "2002 год";
ФИГ. 27 - схема, иллюстрирующая экранное изображение, на котором пачки, показанные на ФИГ. 10, отфильтрованы по параметру "2002 год", и осуществлен последующий выбор параметра фильтрации "месяц";
ФИГ. 28 - схема, иллюстрирующая экранное изображение, на котором представлен список для выбора месяца для фильтрации;
ФИГ. 29 - схема, иллюстрирующая экранное изображение, на котором пачки, приведенные на ФИГ. 10, дополнительно отфильтрованы по месяцу "январь" и далее показан параметр фильтрации "день";
ФИГ. 30 - блок-схема алгоритма, иллюстрирующего процедуру создания новой быстрой ссылки;
ФИГ. 31 - схема, иллюстрирующая экранное изображение при создании новой быстрой ссылки, названной "Работа, выполненная в январе" и основанной на фильтрации представления по ФИГ. 29;
ФИГ. 32 - схема, иллюстрирующая экранное изображение, на котором выбрана быстрая ссылка "Все авторы";
ФИГ. 33 - схема, иллюстрирующая экранное изображение, на котором представлен список всех авторов документов, показанных на ФИГ. 32;
ФИГ. 34 - схема, иллюстрирующая экранное изображение, на котором из списка, приведенного на ФИГ. 33, выбран "Автор 1" и показаны все документы Автора 1;
ФИГ. 35 - блок-схема алгоритма, иллюстрирующего процедуру создания новой библиотеки;
ФИГ. 36 - схема, иллюстрирующая экранное изображение, на котором показана некоторая коллекция различных имеющихся в распоряжении пользователя библиотек;
ФИГ. 37 - блок-схема алгоритма, иллюстрирующего процедуру для определения области охвата коллекции виртуальной папки;
ФИГ. 38 - блок-схема, иллюстрирующая различные источники, которые могут формировать область охвата коллекции виртуальной папки;
ФИГ. 39 - блок-схема алгоритма, иллюстрирующего процедуру для включения нефайловых элементов в коллекцию виртуальной папки;
ФИГ. 40 - схема, иллюстрирующая экранное изображение, на котором показаны различные нефайловые элементы, включенные в виртуальную папку.
ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНОГО ВАРИАНТА ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Настоящее изобретение относится к виртуальным папкам. Виртуальные папки используют такие же пользовательские интерфейсы, как те, что применяются в настоящее время для файловых систем, или аналогичные им. Виртуальные папки предъявляют пользователям обычные файлы и папки (так же известные как каталоги) в различных представлениях, основанных на метаданных этих ресурсов, а не на действительной лежащей в их основе физической структуре файловой системы на диске. Создаются представления, не зависящие от места хранения ресурсов, что позволяет пользователям манипулировать своими файлами и папками, используя такие же средства управления, как те, что используются в настоящее время для управления файловыми системами. В общем же это означает, что пользователи могут организовывать и перегруппировывать свои файлы, основываясь на свойствах, внутренне присущих самим этим файлам, вместо того, чтобы управление файлами и их организация осуществлялись бы как обособленная часть файловой системы. Виртуальные папки могут представлять файлы или элементы из различных физических местоположений, таких как разнообразные дисководы на одном компьютере, на множестве компьютеров или сетевые местоположения, таким образом, что одно представление файлов или элементов может предъявлять файлы или элементы, находящиеся в различных физических местоположениях. В одном варианте осуществления изобретения для включения в представление различные элементы или файлы всего лишь должны быть подключены через сеть, поддерживающую Интернет-протокол IP.
Моделирование виртуальной папки также может быть использовано для традиционно нефайловых объектов. Применение этого моделирования заключается в том, чтобы для отображения традиционно нефайловых объектов иметь набор пользовательских интерфейсов, подобных файлам и папкам (то есть объектам и контейнерам). Одним примером таких нефайловых объектов могли бы быть сообщения, передаваемые по электронной почте, а другим - контактная информация из базы данных контактной информации. Таким образом, виртуальные папки предусматривают не зависящую от физических местоположений, основанную на метаданных систему представления, которая работает независимо от того, взяты ли отображаемые данные из файлов или из нефайловых объектов. В общем, эти аспекты допускают более высокую гибкость в том, что касается предоставления пользователям возможности манипулировать своими файлами и данными, используя при этом как общепринятые способы (метод "перетаскивания", двойной "щелчок" и т.д.), так и усиленные возможности широкой интеграции различных типов данных.
ФИГ. 1 и приводимое ниже пояснение имеют своей целью дать краткое общее описание подходящей вычислительной среды, в которой может быть реализовано настоящее изобретение. Хотя это и не является обязательным требованием, изобретение описано в общем контексте машиноисполняемых команд, таких как программные модули, исполняемые персональным компьютером. Обычно программные модули включают в себя подпрограммы, программы, символы, компоненты, структуры данных и т.д., которые выполняют определенные задачи или реализуют определенные абстрактные типы данных. Для специалистов в данной области техники должно быть понятно, что изобретение может быть применено и с другими конфигурациями компьютерных систем, включающих в себя портативные устройства, многопроцессорные системы, основанные на микропроцессорах, или программируемые бытовые электронные приборы, сетевые персональные компьютеры, мини-компьютеры, большие универсальные компьютеры и тому подобное. Изобретение также может быть применено в распределенных вычислительных средах, где задачи выполняются с помощью удаленных обрабатывающих данные устройств, которые соединены посредством коммуникационных сетей. В распределенной вычислительной среде программные модули могут быть расположены как на локальных, так и на удаленных запоминающих устройствах.
Согласно ФИГ. 1 иллюстративная система для реализации изобретения включает в себя вычислительное устройство общего назначения в виде обыкновенного персонального компьютера 20, включающего в себя процессор 21, системную память 22 и системную шину 23, которая соединяет различные компоненты системы, включая системную память 22, с процессором 21. Системная шина 23 может относиться к любому из нескольких типов структур шины, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, использующие любую из множества архитектур шины. Системная память включает в себя постоянное запоминающее устройство (ПЗУ, ROM) 24 и оперативное запоминающее устройство (ОЗУ, RAM) 25. Базовая система ввода-вывода (BIOS) 26, содержащая в себе базовые процедуры, которые способствуют передаче информации между элементами внутри компьютера 20, также содержит в себе накопитель 27 на жестких магнитных дисках для считывания с жесткого магнитного диска 39 или записи на него, дисковод 28 для магнитного диска для считывания со съемного магнитного диска 29 или записи на него и дисковод 30 для оптического диска для считывания со съемного оптического диска 31, такого как CD-ROM или другие оптические носители информации, или записи на него. Накопитель 27 на жестком магнитном диске, дисковод 28 для магнитного диска и дисковод 30 для оптического диска соединены с системной шиной 23 посредством интерфейса 32 накопителя на жестких магнитных дисках, интерфейса 33 дисковода для магнитного диска и интерфейса 34 дисковода для оптического диска соответственно. Эти накопители и дисководы и соответствующие им машиночитаемые носители информации обеспечивают энергонезависимое хранение машиночитаемых команд, структур данных, программных модулей и других данных для персонального компьютера 20. Хотя в описанной здесь иллюстративной среде используются жесткий магнитный диск 39, съемный магнитный диск 29 и съемный оптический диск 31, специалистам в данной области техники должно быть ясно, что другие типы машиночитаемых носителей информации, способных хранить данные, доступ к которым осуществляется компьютером, такие как кассеты с магнитной лентой, карточки флэш-памяти, цифровые видеодиски, картриджи Бернулли, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ) и т.п., также могут быть использованы в этой иллюстративной операционной среде.
На жестком магнитной диске 39, магнитном диске 29, оптическом диске 31, в ПЗУ 24 или ОЗУ 25 может храниться некоторое количество программных модулей, включая операционную систему 35, одну или более прикладных программ 36, другие программные модули 37 и данные 38 программ.
Пользователь может осуществлять ввод команд и информации в компьютер 20 посредством устройств ввода, таких как клавиатура 40 и указательное устройство 42. Другие устройства ввода (на схеме не показаны) могут включать в себя микрофон, джойстик, игровую панель, параболическую спутниковую антенну, сканер и т.п. Часто эти и другие устройства ввода соединены с процессором 21 посредством интерфейса последовательного порта 46, подсоединенного к системной шине 23, но могут быть также соединены посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Устройство отображения в виде монитора 47 также соединено с системной шиной 23 посредством интерфейса, такого как видеокарта или видеоадаптер 48. Один или более громкоговорителей 57 также могут быть соединены с системной шиной 23 посредством интерфейса, такого как аудиоадаптер 56. В дополнение к устройству отображения и громкоговорителям персональные компьютеры обычно включают в себя другие периферийные устройства вывода (на схеме не показаны), такие как принтеры.
Персональный компьютер может функционировать в сетевой среде, используя логические соединения с одним или более персональными компьютерами, таким как удаленный компьютер 49. Удаленный компьютер 49 может быть другим персональным компьютером, сервером, маршрутизатором, сетевым персональным компьютером (ПК, PC), одноранговым устройством или другим узлом общей сети и обычно содержит в себе многие или все элементы, описанные выше в отношении персонального компьютера 20. Логические соединения, изображенные на ФИГ. 1, включают в себя локальную сеть (LAN) 51 и глобальную сеть (WAN) 52. Такие сетевые среды часто используются в офисах, сетях масштаба предприятия, интрасетях и в сети Интернет.
При использовании в сетевой среде LAN персональный компьютер 20 соединен с локальной сетью 51 посредством сетевого интерфейса или адаптера 53. При использовании в сетевой среде WAN компьютер 20 обычно содержит модем 54 или другие средства для установления связи через глобальную сеть 53, такую как Интернет. Модем 54, который может быть внутренним или внешним, подсоединен к системной шине 23 через интерфейс 46 последовательного порта. В сетевой среде программные модули, показанные как относящиеся к персональному компьютеру 20, или их части могут храниться в удаленном запоминающем устройстве. Следует иметь в виду, что показанные сетевые соединения являются примерами и что могут использоваться и другие средства установления линии связи между компьютерами.
Настоящее изобретение в том виде, в каком оно реализовано в системе типа той, что проиллюстрирована на ФИГ. 1, использует виртуальные папки, которые позволяют пользователям более легко решать основные задачи, связанные с манипулированием файлами и навигацией по папкам (просмотром папок), и обеспечивать более высокий уровень возможностей по хранению информации, которые могут быть еще более усилены в новых характеристиках системы. Виртуальные папки предъявляют пользователям файлы и элементы в виде различных экранных представлений, основанных на метаданных этих файлов и элементов, а не действительной лежащей в их основе физической структуре файловой системы на диске.
ФИГ. 2 представляет собой структурную схему системы 200 виртуальной папки по настоящему изобретению. Как будет более подробно описано ниже, виртуальные папки позволяют пользователю сменить "опорную точку", определяющую то, как представлены данные на устройстве отображения. В качестве примера пользователь может получить представление своих музыкальных записей в виде простого списка всех песен, которые могут быть сгруппированы по альбомам. В качестве альтернативы пользователь может переключить представление на показ произведений только по жанрам, исполнителям или годам записи. Пользователь может в индивидуальном порядке создать представление, чтобы видеть только те объекты, что соответствуют требованиям задачи, которую в данный момент решает пользователь. Это обеспечивает улучшенный процесс просмотра информационных ресурсов, в котором отсутствует необходимость в дополнительной навигации по папкам (как вперед, так и назад). Те же выводы и возможности относятся к моделированию других типов данных, не хранящихся в виде файлов. Например, контактная информация может быть показана пользователю этим же способом с предоставлением ей функциональных возможностей хорошо знакомого интерфейса, равно как и более богатой инфраструктуры для манипулирования ею по сравнению с той, что предусматривается простой адресной книгой.
Как показано на ФИГ. 2, система 200 виртуальных папок включает в себя процессор 210 папок, реляционную базу данных 230, базу данных 232 описаний виртуальных папок, компонент 234 "Другие папки оболочки", компонент 236 "Обработчики папок" и компонент 240 "Браузер оболочки и представление". Процессор 210 папок включает в себя компонент 212 "Собственный код обработки", компонент 214 "Продуцент обработчиков", компонент 216 "Редактор свойств", компонент 218 "Синтаксический анализатор наборов строк", компонент 220 "Формирователь запросов", компонент 222 "Составитель перечня" и компонент 224 "Продуцент свойств".
Реляционная база данных 230 хранит свойства всех файлов системы. Она также хранит целиком некоторые элементы, такие как контактную информацию (то есть нефайловые элементы). В общем она хранит метаданные о типах файлов и элементов, которые она содержит. Реляционная база данных 230 принимает запросы на языке структурированных запросов SQL, поступающих из формирователя 220 запросов. Реляционная база данных 230 также посылает наборы строк на языке SQL в компонент 218 "Синтаксический анализатор наборов строк", при этом на каждый столбец элемента приходится по одной строке, где столбцы являются свойствами элемента.
База данных 232 описаний виртуальных папок включает в себя описания виртуальных папок. База данных 232 описаний виртуальный папок посылает в компонент 220 "Формирователь запросов" данные, включающие в себя список типов, подлежащих отображению в папке, начальный фильтр и места физического расположения, откуда будут показываться результаты (области охвата).
Что касается компонента 234 "Другие папки оболочки", то процессор 210 папок обращается к существующим папкам оболочки из многих типов элементов, включая все файлы, за обработчиками или свойствами. Компонент 234 "Другие папки оболочки" посылает свойства из других папок продуценту 224 свойств. Компонент "Другие папки оболочки" также посылает обработчики продуценту 214 обработчиков.
Компонент 236 "Обработчики папок" обеспечивает режим кода для элементов, которые существуют только в базе данных, как, например, контактная информация. Это то, что позволяет нефайловым элементам вести себя аналогично файлам. Компонент 236 "Обработчики папок" посылает обработчики продуценту 214 обработчиков.
Что касается компонента 212 "Собственный код обработки", то процессор 210 папок непосредственно реализует определенные обработчики, основанные на свойствах элементов. Компонент 212 "Собственный код обработки посылает обработчики компоненту 214 “продуценту обработчиков”. Для компонента 212 "Собственный код обработки" и компонента 236 "Обработчики папок" виртуальные папки, как и все пространства имен, должны предоставлять набор обработчиков (контекстных меню, пиктограмм, значков подсказок, …) для своих элементов. Для большинства этих случаев (подсказки, объекта данных, обработчика метода "перетаскивания", фонового контекстного меню …) виртуальная папка представляет общий (собственный) обработчик для всех типов, которые она содержит. Однако имеются и другие обработчики, которые должен предоставлять автор типа (контекстное меню на сам элемент, запись редактируемых свойств…). Также обработчик по умолчанию может быть отменен. Виртуальные папки многократно делают это для файлов и позволяют нефайловым элементам делать то же самое.
Компонент 214 “Продуцент обработчиков” получает таблицы идентификаторов и продуцирует режимы кода, которые обеспечивает контекстное меню, пиктограммы и т.д. В общем процессор 210 папок может использовать собственные обработчики, внешние обработчики или обратиться за получением обработчиков к другим папкам оболочки, как это описано выше в отношении компонента 212 "Собственный код обработки", компонента 234 "Другие папки оболочки" и компонента 236 "Обработчики папок". Компонент 214 "Продуцент обработчиков" посылает обработчики компоненту 240 “Браузер оболочки и представление” по запросу представления. Компонент 214 "Продуцент обработчиков" посылает обработчик свойства компоненту 216 “Редактор свойств”.
Компонент 216 “Редактор свойств” преобразует задуманные пользователем манипуляции, такие как вырезание, копирование и вставка, в права свойств на файл или элемент. Компонент 240 "Браузер оболочки и представление" посылает в компонент 216 “Редактор свойств” данные, содержащие прямые манипуляции (вырезание/копирование/вставка) или редактирование метаданных. В общем, поскольку виртуальные папки представляют собой способ организации данных, основанный на свойствах элемента, то операции типа перемещения и копирования (метод "перетаскивания") превращается в редактирование этих свойств. Например, перемещение документа в представлении, разбитом на пачки по авторам, от Автора 1 к Автору 2, означает изменение автора. Эту функцию выполняет компонент 216 "Редактор свойств".
Компонент 218 “Синтаксический анализатор” наборов строк берет наборы строк из базы данных и сохраняет в памяти все свойства элемента в виде оболочковой структуры таблицы идентификаторов. Набор строк получает поэлементное определение виртуальной папки и формирует строку на языке SQL, которая затем может быть выдана в базу данных. Компонент 218 "Синтаксический анализатор наборов строк" посылает таблицы идентификаторов в компонент 222 "Составителя перечня". Как было отмечено выше, компонент 218 "Синтаксический анализатор наборов строк" также получает данные из реляционной базы данных 230, включая наборы строк на языке SQL, в которых на каждый элемент приходится по одной строке, где столбцы являются свойствами элемента.
Компонент 220 "Формирователь запросов" формирует запросы на языке SQL. Компонент 220 "Формирователь запросов" получает данные из компонента 222 "Составитель перечня", в том числе новые фильтры, полученные при навигации. Компонент 220 "Формирователь запросов" также получает данные из базы данных 232 описаний виртуальных папок, включая список типов, подлежащих отображению в папке, начальный фильтр и места физического расположения, откуда будут показываться результаты (области охвата). Компонент 220 "Формирователь запросов" посылает запросы на языке SQL в реляционную базу данных 230.
В общем случае компонент 220 "Формирователь запросов" содержит набор строк (другими словами, таблицу). Это и есть результат выполнения запроса. Компонент 218 "Синтаксический анализатор наборов строк" берет каждую строку и, используя имена столбцов, трансформирует строку в таблицу идентификаторов. Таблица идентификаторов является хорошо известной структурой оболочки, которая используется для обращения к элементам в пространстве имен. Осуществление этого позволяет виртуальной папке быть для остальной оболочки точно тем же, что и любое другое пространство имен. К тому же кэширование этих данных помогает поддерживать доступ к базе данных, который может быть весьма затратным, на уровне минимальных затрат.
Компонент 222 "Составитель перечня" задействуется в ответ на осуществление навигации в виртуальную папку. Как было отмечено выше, компонент 222 "Составитель перечня" получает таблицы идентификаторов от компонента 218 "Синтаксический анализатор наборов строк" и посылает новые фильтры, полученные при навигации, в компонент 220 "Формирователь запросов". Компонент 222 и “составитель перечня” также посылает данные в компонент 240 "Браузер оболочки и представление", и эти данные включают в себя таблицы идентификаторов, возвращаемые для внесения в представление после осуществления навигации.
Компонент 224 "Продуцент свойств" берет таблицы идентификаторов и идентификаторы свойств и возвращает значения для этих свойств. Компонент 224 "Продуцент свойств" получает данные из компонента 214 "Продуцент обработчиков", и эти данные включают в себя обработчик свойства. Как было отмечено выше, компонент 224 "Продуцент свойств" также получает данные от компонента 234 "Другие папки оболочки", и эти данные включают в себя свойства из других папок. Компонент 224 "Продуцент свойств" также посылает данные в компонент 240 "Браузер оболочки и представление", и эти данные включают в себя свойства элемента, запрошенные представлением.
Компонент 240 "Браузер оболочки и представление" отображает содержимое папки в окне и обрабатывает весь спектр взаимодействий пользователя с отображенными файлами или элементами, например такие взаимодействия как "щелканье", "перетаскивание" и навигация. Таким образом, компонент 240 "Браузер оболочки и представление" принимает манипуляции пользователя. Компонент 240 "Браузер-оболочка и представление" также получает необходимые ему данные, касающиеся режимов кода, от папки, в данном случае от процессора 210 папок.
Как отмечено выше, виртуальные папки предъявляют пользователям обычные файлы и папки (также известные как каталоги) в различных представлениях, основанных на метаданных, в место действительной лежащей в их основе физической структуры файловой системы на диске. Таким образом, система способна взять свойство, которое хранится в базе данных, и представить его в виде контейнера, который похож на папку. Поскольку пользователи уже хорошо знакомы с работой с папками, то благодаря представлению виртуальных папок в аналогичной манере пользователи могут более быстро адаптироваться к новой системе.
ФИГ. 3 представляет собой блок-схему алгоритма, иллюстрирующую процедуру 300, посредством которой пользователь подает запрос, который возвращает ему выбранные файлы и папки. В блоке 302 процессор папок получает запрос от пользователя. В блоке 304 процессор папок передает запрос в реляционную базу данных. В блоке 306 реляционная база данных передает результат назад в процессор папок. В блоке 308 процессор папок предоставляет пользователю результаты в виде виртуальных папок и элементов.
ФИГ. 4 представляет собой блок-схему алгоритма, иллюстрирующую процедуру 320, посредством которой согласно либо запросу по умолчанию либо запросу от пользователя строятся и отображаются на экране виртуальные папки. В блоке 322, когда пользователь в первый раз открывает виртуальную папку, используется запрос по умолчанию. Запрос по умолчанию берется из реестра. Например, запрос по умолчанию для музыкальной библиотеки может потребовать показать все песни, сгруппированные по альбомам. В блоке 324 процессор папок строит объект запроса для данного запроса и затем передает этот запрос в реляционную базу данных. В блоке 326 реляционная база данных генерирует результаты выполнения запроса и передает их назад в процессор папок в виде строк и столбцов, взятых из базы данных.
В блоке 328 процессор папок берет эти результаты и преобразует их из строк и столбцов данных в структуру данных перечня, которая используется представлением папки для заполнения экрана результирующими виртуальными папками и элементами, с которыми будет взаимодействовать пользователь. В блоке 330 принятия решения пользователь решает, следует ли сменить представление (посредством выдачи иного запроса или "опорной точки"). Например, пользователь может задать опорную точку "Показать всех исполнителей". Если пользователь действительно хочет сменить представление, то процедура возвращается в блок 324, где процессор папок передает этот новый запрос в реляционную базу данных и получает в ответ новые строки и столбцы результатов выполнения запроса и строит новую структуру данных перечня. Процесс далее продолжается, как описано выше, при этом представление папки очищается и обновляется, используя составитель перечня для извлечения объектов "исполнителей" на экран.
В одном примере предусматриваются объекты-альбомы, которые представляют собой контейнеры, куда пользователи могут осуществить навигацию. Например, двойное щелканье на альбомах группы "Битлз" осуществит навигацию представления к просмотру всех песен группы "Битлз". Процессор папок выдает запрос "Показать все песни группы "Битлз"" в реляционную базу данных, которая возвращает строки и столбцы данных по этим песням. Процессор папок создает перечень всех этих песен, который затем выводится на экран.
Пользователь может также выбирать представление в любой момент просмотра виртуальных папок. Так, в вышеприведенном примере, ограничив представление простым показом песен группы "Битлз", пользователь после этого может сменить представление на показ этих песен только в составе альбомов. Процесс замены данного представления элементов на другое представление называется "группирование в пачки". Это объясняется тем, что элементы умозрительно группируются в пачки, основанные на этом представлении. В данном случае песни перегруппировываются в пачки для каждого из различных альбомов. После этого пользователи могут осуществить навигацию в одну из этих пачек, при этом они увидят только песни из этого конкретного альбома. И вновь пользователь может перегруппировать представление этих оставшихся песен в пачки, основанные на свойстве (например, в качестве иллюстрации, на рейтинге). Если выбрано свойство "рейтинг", то песни из этого альбома группы "Битлз" будут показаны в пачках для рейтингов в одну, две или три звезды.
Результат выполнения каждого запроса зависит от того, какие физические местоположения включены в область охвата. Например, область охвата может быть установлена таким образом, чтобы включать в себя только папки, находящиеся в папке пользователя "мои документы". В качестве альтернативы область охвата может включать в себя все папки, имеющиеся на компьютере, или даже все папки на многочисленных соединенных с сетью компьютерах. Пользователь может просматривать и изменять область охвата на формуляре свойства "Область охвата". В одном примере формуляр свойства "Область охвата" может предъявляться при выполнении щелчка правой кнопкой мыши на виртуальной папке и выборе пункта "Свойства". Пользователь может добавлять в область охвата новые папки и удалять из нее папки, которые были туда добавлены ранее.
Одной из групп пользователей, для которых виртуальные папки будут особенно полезны, являются специалисты в области информационных технологий. Виртуальные папки позволяют специалистам в области информационных технологий легко переключаться между режимами просмотра документов, организованными по типам файлов, проектам, номерам дел, авторам и т.д. Поскольку среди специалистов в области информационных технологий каждый склонен использовать отличный от других способ организации документов, виртуальные папки могут применяться для удовлетворения этих различных предпочтений.
ФИГ. 5 представляет собой древовидную схему структуры папки, соответствующей организации физических папок на жестком диске. Эта организация физических папок основана на традиционной реализации папок, которая может основываться на Файловой Системе Новой Технологии (NTFS) или других существующих файловых системах. Такие папки называются физическими папками, потому что их структурирование основано на действительной лежащей в их основе физической структуре файловой системы на диске. Это, как более подробно описано ниже, являет полную противоположность виртуальным папкам, которые создают представления, не зависящие от местоположений элементов и позволяющие пользователям манипулировать файлами и папками посредством способов, сходных с теми, что используются в настоящий момент для манипулирования физическими папками.
Как показано на ФИГ. 5, папка 400 представляет собой папку "Мои документы". На первом уровне папка 400 включает в себя папки 410, 420 и 430, которые соответствуют Клиентам 1, 2 и 3 соответственно. На втором уровне каждая из папок 410, 420 и 430 содержит папку 411, 421 и 431 соответственно, каждая из которых соответствует контрактам по выбранному клиенту, на третьем уровне каждая из папок 411, 421 и 431 содержит папку 412, 433 и 432 соответственно, каждая из которых соответствует 2001 году. На третьем уровне каждая из папок 411, 421 и 431 также содержит папку 413, 423 и 433 соответственно, каждая из которых соответствует 2002 году.
Следует иметь в виду, что перед пользователем, который хочет осуществить навигацию по файловой структуре физических папок, подобной той, что показана на ФИГ. 5, имеется ряд препятствий. Например, если пользователь хочет работать со всеми контрактами, которые заключил пользователь, то сначала пользователь должен будет выполнить навигацию до папки 411 для работы с контрактами по Клиенту 1 и затем он должен будет выполнить последующую навигацию до папки 421, чтобы добраться до контрактов по Клиенту 2, и снова он должен будет выполнить последующую навигацию до папки 431 за контрактами по Клиенту 3. Такая организация доступа делает доступ ко всем контрактам сложным для пользователя и, как правило, не допускает одновременный просмотр и манипулирование всеми контрактами. Аналогичным образом, если пользователь хочет просмотреть все контракты, заключенные в 2001 году, то пользователь должен будет выполнять навигацию и последующую навигацию в папки 412, 422 и 432 соответственно. Как будет более подробно описано ниже, виртуальные папки, предлагаемые в данном изобретении, предоставляют усовершенствованную структуру файловой системы.
ФИГ. 6 представляет собой древовидную схему структуры виртуальной папки. Как более подробно описано ниже, виртуальные папки создают представления, не зависящие от места расположения элементов и позволяющие пользователям манипулировать своими файлами и папками удобным образом. Виртуальная папка 500 представляет собой папку "Все элементы". На первом уровне виртуальная папка 500 содержит виртуальные папки 510, 520 и 530 соответствующие клиентам, контрактам и году соответственно. Как более подробно описано ниже, эта структура позволяет пользователю осуществлять доступ к файлам в соответствии с требуемым параметром.
ФИГ. 7 представляет собой древовидную схему структуры виртуальной папки, изображенной на ФИГ. 6, где на втором уровне виртуальная папка 510 дополнительно включает в себя виртуальные папки 511 и 512, которые соответствуют контрактам и году соответственно. Другими словами, пачка "Клиенты" виртуальной папки 510 дополнительно отфильтрована по контрактам и году. Способ определения того, какие файлы и элементы содержатся в каждой из виртуальных папок, более подробно описан ниже.
ФИГ. 8 представляет собой древовидную схему структуры виртуальной папки, изображенной на ФИГ. 7, в которой на третьем уровне виртуальная папка 511 содержит виртуальную папку 513, которая соответствует году. Другими словами, пачка "Контракты" виртуальной папки 511 дополнительно отфильтрована по году. Следует иметь в виду, что хотя структура виртуальной папки для виртуальных папок 510, 511 и 513 структурирована по клиентам, контрактам и году, виртуальные папки допускают применение и других последовательностей структурирования, как это более подробно описано ниже со ссылкой на ФИГ. 9.
ФИГ. 9 представляет собой древовидную схему структуры виртуальной папки, изображенной на ФИГ. 6, в которой на втором уровне виртуальная папка 520 дополнительно отфильтрована в виртуальные папки 521 и 522, соответствующие клиентам и году. На третьем уровне виртуальная папка 521 дополнительно отфильтрована в виртуальную папку 523, соответствующую году. Различие между организованными структурами, изображенными на ФИГ. 8 и 9, помогает проиллюстрировать гибкость системы виртуальных папок. Другими словами, в системе виртуальных папок пользователь может перемещаться по виртуальным папкам в соответствии с необходимыми ему параметрами, а не зависит от представлений физической файловой структуры (такой, как показана на ФИГ. 5), зависящих от местоположений элементов.
ФИГ. 10 представляет собой схему, иллюстрирующую экранное изображение, которое показывает пачки библиотеки документов. Как отмечалось выше, пачки могут использоваться для представления типа виртуальной папки. Как подробно описано ниже, экранное изображение 600 включает в себя компоненты быстрой ссылки 610-613, компоненты фильтра 620-626, компоненты-операции 630-633, компоненты информации и управления 640-645 и пачки виртуальные папки 651-655.
Компоненты быстрой ссылки включают в себя быструю ссылку 610 "Все категории", быструю ссылку 611 по "Всем авторам", быструю ссылку 612 "Работа, выполненная в январе" и компонент выбора 614 для отображения дополнительных быстрых ссылок. Как более подробно описано ниже, быстрые ссылки могут быть вызваны пользователем для осуществления требуемых навигаций по виртуальным папкам. Быстрые ссылки могут быть предоставлены системой, а некоторые быстрые ссылки могут быть созданы и сохранены пользователем.
Компоненты фильтра включают в себя индикатор 620 "Фильтр по", поле 621 ввода, индикатор 622 "По дате", переключатель 623 "Год", переключатель 624 "Выберите автора", переключатель 625 "Выберите категорию" и переключатель 626 "Другие фильтры". Индикатор 620 "Фильтр по" указывает пользователю на тот факт, что перечисленные ниже варианты могут быть использованы для фильтрации виртуальных папок или элементов. Поле 621 ввода предоставляет область, в которую пользователь может печатать необходимый ему новый параметр фильтра. Индикатор 622 "По дате" указывает пользователю на тот факт, что выбрав дату из переключателя 623 "Год": можно отфильтровать папки или элементы по выбранному году. Переключатель 624 "Выберите автора" позволяет пользователю осуществлять фильтрацию по конкретному автору. Переключатель 625 "Выберите категорию" позволяет пользователю осуществлять фильтрацию по выбранной категории. Переключатель 626 "Другие фильтры" позволяет пользователю вывести поверх отображаемого изображения дополнительные фильтры.
Переключатели операций включают в себя переключатель 630 "Создать новую категорию", переключатели 631 и 632 и переключатель 633 "Другие операции". Как более подробно описано ниже, представленные здесь операции могут осуществлять общие необходимые функции или могут быть конкретно направлены на выполнение операций, требуемых для типа виртуальных папок, отображаемых в данный момент времени. Например, переключатель 630 "Создать новую категорию" может быть выбран пользователем для создания новой категории, которая будет представлена новой пачкой.
Как отмечено выше, переключатели 631 и 632 операций могут определять тип папок или элементов, отображаемых в данный момент времени. Например, в данный момент времени отображается библиотека документов, для которой переключатели 631 и 632 "Операция" определяют операции, специально подобранные для документов, такие как редактирование или создание приложений. Если отображаемая в данный момент времени библиотека является библиотекой фотографий, то переключатели 631 и 632 "Операция" могут представлять операции, определенные для работы с фотографиями, такие как формирование фотоальбомов или совместное использование фотографий с другими пользователями.
Компоненты информации и управления включают в себя информационные строки 640 и 641, строку 642 средств управления, средство 643 управления возвратом, и информационные строки 644 и 645. Информационные строки 640 и 641 предоставляют информацию, касающуюся текущего пункта навигации по виртуальным папкам или элементам. В настоящем примере информационная строка 640 указывает, что текущей пункт навигации находится в библиотеке документов, при этом информационная строка 641 приводит более полную информацию об этом пункте навигации, показывая, что библиотека документов находится в области памяти. Строка 642 средств управления предоставляет ряд стандартных средств управления, а кнопка 643 возврата позволяет пользователю возвращаться назад по пути навигации. Информационная строка 644 предоставляет числовую информацию о содержимом данного пункта навигации. В настоящем примере информационная строка 644 показывает, что в пачках библиотеки документов содержится 41 элемент, которые занимают 100 мегабайтов. Информационная строка 645 предусмотрена для предоставления дополнительной информации, такой как дополнительная информация о выбранном файле.
Пачки из библиотеки документов, включают в себя пачку 651 "Акционерная компания ABC", пачку 652 "Резервные копии" пачку 653 "Бизнес-планы", пачку 654 "Акционерная компания XYZ", пачку 655 "Маркетинговые отчеты". Числа, указанные наверху каждой из пачек, показывают сколько элементов содержится в каждой пачке. Например, показано, что пачка 651 "Акционерная компания ABC" содержит в себе 8 элементов. Общее количество элементов в пачках в сумме дает количество элементов, указанное в информационной строке 644, которое как было сказано выше, в настоящем примере равно 41. Предусматривается также "Рамка выбора" (РВ), которая может быть использована пользователем для выбора необходимого ему элемента. Выбор пачки 651 "Акционерная компания ABC" выдает на экран представление элементов этой пачки, что описано ниже в связи с ФИГ. 11.
ФИГ. 11 представляет собой схему, иллюстрирующую экранное изображение, которое показывает элементы, содержащиеся в пачке 651 с ФИГ. 10. Следует отметить, что информационные строки 640 и 641 теперь указывают, что текущим пунктом навигации является показ пачки "Акционерная компания ABC". Как видно, пачка 651 "Акционерная компания ABC" содержит в себе 8 документов 751-758, соответствующих документам 1-8 соответственно. Информационная строка 644 соответственно показывает, что имеется 8 информационных ресурсов, которые занимают 20 мегабайтов памяти. Документы, изображенные на ФИГ. 11, могут быть дополнительно организованы в пачки внутри пачки "Акционерная компания ABC". Иначе говоря, внутри виртуальной папки, представленной пачкой 651 "Акционерная компания ABC", для хранения документов могут быть организованы дополнительные виртуальные папки, что описано ниже в связи с ФИГ. 12-16.
ФИГ. 12 представляет собой схему, иллюстрирующую экранное изображение, на котором для документов, приведенных на ФИГ. 11, выбрана функция группирования в пачки. Как показано на ФИГ. 12, пользователь может вызвать поверх экранного изображения рамку 760 с функциями. Рамка 760 с функциями включает в себя вариант выбора 761 "Просмотреть", вариант выбора 762 "Расположить пиктограммы по", вариант выбора 763 "Пачки", вариант выбора 764 "Обновить", вариант выбора 765 "Открыть охватывающие папки" вариант выбора 766 "Вырезать" вариант выбора 767 "Копировать" вариант выбора 768 "Отменить", вариант выбора 769 "Новый" и вариант выбора 770 "Свойства". Рамка выбора (РС) показана вокруг варианта выбора 763 "Пачки".
ФИГ. 13 представляет собой схему, иллюстрирующую экранное изображение, на котором для функции группирование в пачки, приведенной на ФИГ. 12, выбран параметр "Сгруппировать в пачки по автору". Как показано на ФИГ. 13, на экране отображается рамка 780, которая представляет различные опции группирования в пачки. Опции группирования в пачки включают в себя опцию 781 "Аннулировать группирование в пачки", опцию 782 "Сгруппировать в пачки по категориям", опцию 783 "Сгруппировать в пачки по автору" и опцию 784 "Сгруппировать в пачки по пользователю". Рамка выбора показана вокруг опции 783 "Сгруппировать пачки по автору".
ФИГ. 14 представляет собой схему, иллюстрирующую экранное изображение, на котором файлы, показанные на ФИГ. 13, сгруппированы в пачки по автору. Как показано на ФИГ. 14, пачки 791 и 792 соответствуют авторам Бобу и Лизе соответственно. Как показывают числа наверху каждой из папок, пачка 791 Боба включает в себя два элемента, тогда как пачка 792 Лизы включает в себя пять элементов. Элемент 758 (соответствующий документу 8) не имеет автора и поэтому он не включен в "авторскую" пачку. Пачки 791 и 792 иллюстрируют тот факт, что пачки могут быть организованы на многих уровнях, как, например, внутри пачки 651 "Акционерная компания ABC". Таким образом, виртуальные папки могут быть сформированы на многих уровнях, как, например пачка 792 "Лиза", находящаяся внутри пачки 651 "Акционерная компания ABC", которая находится внутри библиотеки документов.
ФИГ. 15 представляет собой схему, иллюстрирующую экранное изображение, на котором для перегруппирования в пачки файлов, показанных на ФИГ. 14, дополнительно выбрана опция "Сгруппировать в пачки по категории". Как показано на ФИГ. 15, рамка выбора (РВ) располагается вокруг опции 783 "Сгруппировать в пачки по категории". Поскольку некоторые из элементов уже сгруппированы в пачки 791 и 792, выбор опции 782 "Сгруппировать в пачки по категории" перегруппирует элементы в пачки, что более подробно описано ниже в связи с ФИГ. 16.
ФИГ. 16 представляет собой схему, иллюстрирующую экранное изображение, на котором файлы, показанные на ФИГ. 14, перегруппированы в пачки по категории. Как показано на ФИГ. 16, пачки 793 и 794 соответствуют категориям "Акционерная компания XYZ" и "Маркетинговые отчеты" соответственно. Элементы 751 и 752, соответствующие документам 1 и 2, не были определены ни в какие дополнительные категории и поэтому не попали ни в какую из пачек в другими категориями.
ФИГ. 17 представляет собой схему, иллюстрирующую экранное изображение, на котором выбрана быстрая ссылка на физические папки. Рамка выбора (РВ) показана расположенной вокруг быстрой ссылки 616 "Все папки". Как более подробно описано ниже в связи с ФИГ. 18, быстрая ссылка 616 "Все папки" обеспечивает переключение на представление физических папок.
ФИГ. 18 представляет собой схему, иллюстрирующую экранное изображение, показывающее физические папки. Показанные физические папки содержат файлы из пачек - виртуальных папок, приведенных на ФИГ. 17. Другими словами, элементы, содержащиеся в пачках 651-655 ФИГ. 17, также содержатся в определенных физических папках этой системы. Эти папки показаны на ФИГ. 18 в виде папки 851 "Мои документы" на данном компьютере, папки 852 "Рабочий стол" - на данном компьютере, папки 853 "Файлы других лиц" - на накопителе на жестких магнитных дисках С:, папки 854 "Мои файлы" - на сервере, папки 855 "Внешний Накопитель" - на внешнем накопителе, папки 856 "Мои документы" - на другом компьютере и папки 857 "Рабочий стол" - на другом компьютере.
Как показано на ФИГ. 18, пользователь имеет возможность переключаться с представления виртуальных файлов, приведенного на ФИГ. 17, на представление физических файлов, приведенное на ФИГ. 18. Это позволяет пользователю переходить туда и обратно между представлениями виртуальных файлов и представлениями физических файлов в зависимости от того, какое представление необходимо для текущей задачи. Различные местоположения физических папок 851-857 также иллюстрирует тот факт, что область охвата виртуальной файловой системы может быть относительно широкой, что будет более подробно описано ниже.
ФИГ. 19 представляет собой блок-схему алгоритма, иллюстрирующего процедуру 880, посредством которой пользователь может напрямую манипулировать виртуальными папками. Как более подробно описано ниже, механизмы, предусматриваемые для манипулирования виртуальными папками, аналогичны тем, которые в настоящий момент используются для манипулирования обыкновенными папками (например, "щелканье" и "перетаскивание", копирование, вставка и т.д.). Как показано на ФИГ. 19, в блоке 882 система предоставляет описанные действия, которые пользователь может совершить для прямого манипулирования виртуальными папками, представленными в виде отображаемых объектов. В блоке 884 пользователь совершает описанное действие. Как отмечалось выше, одним из примеров может служить способ, при котором пользователь "щелкает" на виртуальной папке и "перетаскивает" ее для копирования ее содержимого в другую виртуальную папку. В блоке 886 над виртуальной папкой и/или ее содержимым производятся манипуляции, предписанные действием, которое совершил пользователь.
ФИГ. 20 представляет собой схему, иллюстрирующую экранное изображение, на котором к пачкам, показанным на ФИГ. 10, добавлена новая пачка 656 "Западное побережье". Пачка 656 "Западное побережье" сформирована пользователем, создающим новую категорию "Западное побережье". В самом начале после создания пачка 656 "Западное побережье" является пустой и имеет в своем составе ноль элементов. В варианте осуществления изобретения, показанном на ФИГ. 20, в пачку 656 "Западное побережье" помещены два элемента. Один из способов помещения элементов в пачку заключается в том, чтобы выбрать некоторый конкретный элемент и либо изменить метаданные элемента, описывающие его категорию, либо добавить в них дополнительные категории, как, например, добавив категорию "Западное побережье" двум элементам, что сделано в варианте осуществления изобретения, показанном на ФИГ. 20. Этот способ иллюстрирует тот факт, что данные о категории представляют собой содержащиеся в метаданных свойства элемента, которое относится к типу случайных свойств. Другими словами, свойство этого типа не несет никакого неявно заданного смыслового ограничения, и пользователь может присваивать ему произвольное значение. Например, свойство "Категория" может иметь любое значение, в то время как свойство "Автор" должно быть именем лица. Как более подробно описано ниже в связи с ФИГ. 21, элементы с целью их копирования из других пачек в пачку 656 "Западное побережье" также могут быть подвергнуты процедуре "щелканья" и "перетаскивания" (в этом случае категории элементов автоматически корректируются, чтобы включить в свой состав значение "Западное побережье"). В связи с этим ФИГ. 20 показывает, что рамка выбора (РВ) располагается вокруг пачки 651 "Акционерная компания ABC" с целью подготовки к копированию ее содержимого.
ФИГ. 21 представляет собой схему, иллюстрирующую экранное изображение, на котором для копирования файлов из пачки 651 "Акционерная компания ABC" в пачку 656 "Западное побережье" используется прямое манипулирование. Другими словами, как показано на ФИГ. 20, пользователь выбрал пачку 651 "Акционерная компания ABC", и затем, как показано на ФИГ. 21, пользователь "щелкнул" на пачке 656 "Западное побережье". Таким образом, пачка 656 "Западное побережье", которая на ФИГ. 20 имела в своем составе два элемента, теперь, как показано, включает в себя десять элементов, включая восемь дополнительных элементов из пачки 651 "Акционерная компания ABC". Когда элементы из пачки 651 "Акционерная компания ABC" копировались в пачку 656 "Западное побережье", это было достигнуто путем изменения описанной категории восьми элементов, произведенного таким образом, чтобы в дополнение к первоначальной категории "Акционерная компания ABC" эти описания включили в себя категорию "Западное побережье". Это иллюстрирует один из типов прямого манипулирования.
Другим примером манипулирования является "щелканье" правой кнопкой мыши на информационном ресурсе и выбор опции "Удалить". В одном варианте осуществления изобретения, когда пользователем выбрана функция удаления, пользователю задается вопрос: должен ли элемент быть удален полностью или просто удален из данной виртуальной папки. Если информационный ресурс, как отмечалось выше, должен быть просто удален из пачки категории данной виртуальной папки, то это может быть достигнуто путем удаления соответствующей категории из метаданных по этому элементу. Другими словами, если один из элементов был скопирован из пачки 651 "Акционерная компания ABC" в пачку 656 "Западное побережье", но затем должен быть удален из пачки 656 "Западное побережье", то это может быть достигнуто путем изменения данных о категории данного конкретного файла таким образом, чтобы они более не включали в себя категорию "Западное побережье".
ФИГ. 22 представляет собой блок-схему алгоритма, иллюстрирующего процедуру 900 динамического генерирования системой новых параметров фильтрации. Параметры фильтрации используются для манипулирования виртуальными папками. Параметры фильтрации по сути своей используются в качестве набора инструментальных средств, предназначенных для сужения набора элементов. В одном варианте осуществления изобретения фильтры состоят из относящихся к метаданным категорий и их значений (которые представляются пользователю в пользовательском интерфейсе в виде ссылок, активируемых "щелканьем" по ним, или в виде выпадающих меню). Пользователь "щелкает" на параметре фильтрации для того, чтобы при помощи фильтрования уменьшить текущий результирующий набор элементов, представленных на экранном изображении.
ФИГ. 22 иллюстрирует то, каким образом могут динамически генерироваться фильтры. Как показано на ФИГ. 22, в блоке 902 анализируются свойства (взятые из метаданных) элементов из коллекции, представленной на текущем изображении. В блоке 904 динамически генерируются предлагаемые параметры фильтрации на основе общих свойств этих элементов. В блоке 906 предлагаемые параметры фильтрации представляются пользователю для возможного выбора в целях фильтрации элементов. В качестве примера этого способа система может проанализировать свойства некоторого набора элементов и если эти элементы в большинстве случаев содержат в качестве свойства "Авторов", то фильтр может предоставить список авторов для фильтрации по авторам. После этого посредством "щелканья" на конкретном авторе из набора, представленного на изображении, удаляют элементы, которые не имеют этого Автора. Этот способ фильтрования предоставляет пользователю механизм для сужения набора элементов, представленных на изображении.
ФИГ. 23 представляет собой блок-схему алгоритма, иллюстрирующую процедуру 920 фильтрации системой элементов, основанную на выборе параметра фильтрации. В блоке 922 пользователь либо вводит новый параметр фильтрации либо в противном случае выбирает один из параметров, которые были представлены системой. Как отмечалось выше, параметры фильтрации могут динамически генерироваться системой или они могут быть установлены заранее. В блоке 924 элементы из коллекции, представленной на изображении, оцениваются с точки зрения того, совпадают ли их выбранные свойства с параметром фильтрации. Например, если параметр фильтрации установлен на элементы, автором которых является "Боб", то элементы оцениваются в соответствии с тем, содержит ли их свойство "Автор" значение "Боб". В блоке 926 элементы, у которых выбранные свойства не совпадают с параметром фильтрации, удаляются из коллекции, представленной на изображении.
ФИГ. 24 представляет собой схему, иллюстрирующую экранное изображение, на котором пачки, приведенные на ФИГ. 10, были отфильтрованы по параметру "AB". Как показано, параметр АВ впечатан пользователем в область 621 фильтра. Информационные строки 640 и 641 показывают, что теперь на изображении представлены те элементы, которые были отфильтрованы по параметру "АВ". Как показано, пачка 651 "Акционерная компания ABC" по-прежнему содержит восемь элементов, в то время как пачка 652 "Резервные копии" теперь содержит три элемента, и пачка 654 также содержит три элемента. В соответствии с этим информационная строка 644 показывает, что всего имеется 14 элементов, занимающих в совокупности 35 мегабайтов памяти.
ФИГ. 25 представляет собой схему, иллюстрирующую экранное изображение, на котором пачки, показанные на ФИГ. 10, отфильтрованы по параметру "АВС". Что касается параметра фильтрации "АВ" с ФИГ. 24, то пользователь просто допечатал к нему дополнительный символ "С" так, чтобы в целом получить для параметра фильтрации "АВС". Как видно из чертежа, пачка 651 "Акционерная компания ABC" по-прежнему содержит восемь элементов в то время, как пачка 652 "Резервные копии" теперь содержит только два элемента. Информационная строка 644 теперь показывает, что в пачках, представленных на экранном изображении, имеется в общей сложности 10 элементов, которые занимают в совокупности 25 мегабайтов памяти. Таким образом, ФИГ. 24 и 25 дают примеры того, как пользователь может вводить новые параметры фильтрации и как эти параметры фильтрации затем используются для фильтрации элементов, представленных на изображении.
ФИГ. 26 представляет собой схему, иллюстрирующую экранное изображение, на котором выбран предоставленный системой параметр фильтрации, имеющий значение "2002 год". Как отмечалось выше, расположенные под индикатором 622 "По дате" варианты 623 выбора года включают в себя года 2000, 2001 или 2002. Рамка выбора (РВ) показана расположенной вокруг 2002 года, свидетельствуя о том, что пользователь выбирает этот год в качестве требуемого параметра фильтрации.
ФИГ. 27 представляет собой схему, иллюстрирующую экранное изображение, на котором применен параметр фильтрации, имеющий значение "2002". Также показан дополнительно произведенный выбор переключателя "Выберите месяц". Как показано на ФИГ. 27, после применения параметра фильтрации "2002", количество элементов в пачках сократилось. Более конкретно пачка 651 "Акционерная компания ABC" теперь содержит шесть элементов, пачка 652 "Резервные копии" теперь содержит восемь элементов, пачка 653 "Бизнес-планы" теперь содержит три элемента, и пачка 654 "Акционерная компания XYZ" теперь содержит пять элементов. Информационная строка 644 теперь показывает всего 22 элемента, занимающих 50 мегабайтов памяти. Информационные строки 640 и 641 теперь показывают, что на экранном изображении представлены те элементы, которые прошли фильтрацию в соответствии с параметром фильтрации "2002".
ФИГ. 29 представляет собой схему, иллюстрирующую экранное изображение, на котором пачки, приведенные на ФИГ. 28, дополнительно отфильтрованы по месяцу "январь", и которое помимо этого показывает терм "день" фильтра. Как показано на ФИГ. 29, информационные строки 640 и 641 теперь показывают, что на экранном изображении представлены те элементы, которые отфильтрованы по параметру "январь". Пачка 652 "Резервных копий", как показано, теперь содержит два элемента, при этом пачка 653 "Бизнес-планы", как показано, также содержит два элемента. Информационная строка 644 сообщает, что на изображении имеется четыре элемента, занимающих в совокупности 10 мегабайтов памяти. На изображении появился переключатель 623В "Выберите день" на случай, если пользователь захочет далее отфильтровать результаты по конкретному дню.
ФИГ. 30 представляет собой блок-схему алгоритма, иллюстрирующего процедуру 940 создания новой быстрой ссылки. Как более подробно описано ниже, быстрые ссылки это заранее определенные ссылки, на которых пользователь может "щелкнуть" для создания выбранных пользователем представлений наборов элементов. В одном варианте осуществления изобретения быстрая ссылка может быть представлена как своего рода опорная точка. Быстрые ссылки предоставляют механизм для поиска виртуальной папки. "Щелканье" на быстрой ссылке может перенести пользователя в нужную ему папку (так же, как "щелканье" на опции "Любимые сайты" может перенести пользователя на некоторый Web-сайт). Быстрые ссылки могут быть заранее определены системой или установлены пользователем. Например, "щелканье" на быстрой ссылке "Все авторы" может возвратить представление, сгруппированное в пачки по авторам. "Щелканье" на быстрой ссылке "Все документы" может возвратить простое представление всех документов из всех областей памяти. Пользователи также могут создавать свои собственные быстрые ссылки.
Как показано на ФИГ. 30, в блоке 942 пользователь делает выбор на экранном изображении, указывающий что на основе текущего параметра фильтрации или пункта навигации должна быть сформирована новая быстрая ссылка. В блоке 944 пользователь дает новой быстрой ссылке новое имя. В блоке 946 новая быстрая ссылка сохраняется, а новое имя быстрой ссылки помещается в раздел быстрых ссылок на изображении.
ФИГ. 31 представляет собой схему, иллюстрирующую экранное изображение при создании новой быстрой ссылки, названной "Работа, выполненная в январе" и основанной на результатах фильтрации, показанных на ФИГ. 29. Как описано выше, на ФИГ. 29 пачки фильтровались по месяцу январь. На ФИГ. 31 пользователь указал, что результаты фильтрации, показанные на ФИГ. 29, должны быть сохранены в качестве новой быстрой ссылки, и дал новой быстрой ссылке имя "Работа, выполненная в январе". Поэтому в разделе быстрых ссылок экранного изображения показана новая быстрая ссылка 612 "Работа, выполненная в январе". Для формирования новых быстрых ссылок пользователю обычно предоставляется опция, такая как опция "Сохранить эту коллекцию в качестве быстрой ссылки".
ФИГ. 32 представляет собой схему, иллюстрирующую экранное изображение, на котором выбрана быстрая ссылка "Все авторы". Как видно на ФИГ. 32, рамка выбора (РВ) показана расположенной вокруг варианта выбора 611 "Все авторы". Другие примеры коллекций, к которым можно получить доступ по быстрой ссылке, включают в себя коллекции: "Все авторы", "Последние по времени документы", "Все документы, предоставленные мною для совместного пользования", "Все документы, автором которых я являюсь", "Все документы, автором которых я не являюсь", "Рабочий стол" и "Все типы".
ФИГ. 33 представляет собой схему, иллюстрирующую экранное изображение, на котором представлен список всех авторов элементов, показанных на ФИГ. 32. Как видно на ФИГ. 33, на экранном изображении предусмотрена информационная строка 950, которая показывает столбцы для отображения в них имени элемента; автора, даты внесения изменений, типа, размера, и места хранения элемента. Приводится также список Авторов 951-954, соответствующих Авторам 1-4, соответственно.
ФИГ. 34 представляет собой схему, иллюстрирующую экранное изображение, на котором из списка, приведенного на ФИГ. 33, выбран "Автор 1". Документы Автора 1 включают в себя документы 951А и 951В, соответствующие документам 1 и 2 соответственно. Как показано на чертеже, документ 951А составлен Автором 1, изменен 11 июля 2004 года, представляет собой файл в формате Microsoft Excel, занимает 282 килобайтов памяти и получен из местоположения: //Сервер/папка 2. Документ 951В составлен Автором 1, изменен 22 декабря 2002 года, представляет собой файл формата Microsoft Word, занимает 206 килобайтов памяти и физически хранится в местоположении: Мои документы/папка 1. Местоположения документов 951А и 951В также иллюстрируют тот факт, что виртуальные папки по данному изобретению могут содержать в себе элементы из разных физических местоположений, что более подробно описано ниже.
ФИГ. 35 представляет собой блок-схему алгоритма процедуры 960 создания новой библиотеки. Одним из примеров библиотеки является библиотека документов, описанная выше в связи с ФИГ. 10. Вообще библиотеки состоят из больших групп удобных в использовании типов файлов, которые могут быть ассоциативно соединены вместе. Например, одну библиотеку могут составлять фотографии, другую - музыкальные записи, третью - документы. Библиотеки могут предоставлять инструментальные средства и операции, которые связаны с конкретными типами элементов. Например, в библиотеке фотоматериалов могут иметься инструментальные средства и фильтры, связанные с манипулированием фотографиями, такие, как те, что предназначены для подготовки демонстраций слайдов или для совместного использования фотографий. Как показано на ФИГ. 35, в блоке 962 создается новая библиотека, которая должна будет включить в себя элементы с выбранными характеристиками. В блоке 964 выбранные элементы группируются в библиотеку. В блоке 966 предусматриваются инструментальные средства и/или операции, связанные с выбранными характеристиками элементов или с другими необходимыми функциями.
ФИГ. 36 представляет собой схему, иллюстрирующую экранное изображение, на котором показана некоторая коллекция имеющихся в распоряжении пользователя библиотек. Как показано на ФИГ. 36, библиотеки включают в себя библиотеку 971 документов, библиотеку 972 фотографий и видеоматериалов, библиотеку 974 сообщений, библиотеку 975 контактной информации и библиотеку 976 телевизионных и киноматериалов, равно как библиотеку 977 всех элементов. Как показано на схеме, библиотека 977 всех элементов включает в себя 275 элементов, что равно общему количеству элементов из всех других библиотек вместе взятых. Информационная строка 644 показывает общее количество, составляющее 275 элементов, которые занимают в общей сложности 700 мегабайтов памяти. Следует отметить, что библиотека 971 документов является той библиотекой, которая была описана выше в связи с ФИГ. 10.
ФИГ. 37 представляет собой блок-схему алгоритма, иллюстрирующего процедуру 990 для определения области охвата коллекции виртуальных папок. Как более подробно описано ниже, система виртуальных папок способна представлять элементы из множества физических местоположений (например, с различных накопителей на жестких магнитных дисках, из различных компьютеров, из различных мест, расположенных в сети и т.д.) таким образом, что для пользователя все элементы легко доступны. Например, музыкальные файлы из различных физических местоположений могут быть представлены пользователю на едином изображении, и пользователь может манипулировать всеми файлами сразу.
Как показано на ФИГ. 37, в блоке 992 определяется область охвата физических местоположений элементов, откуда они должны извлекаться. В блоке 994 в ответ на запрос элементы извлекаются из своих физических местоположений, определенных в области охвата. В блоке 996 все извлеченные по запросу элементы представлены на едином экранном изображении.
ФИГ. 38 представляет собой блок-схему, иллюстрирующую различные источники, которые могут формировать область охвата коллекции виртуальных папок. Как показано на ФИГ. 38, система 1000 может включать в себя данный компьютер 1010, дополнительный компьютер 1020, внешнее и съемное запоминающее устройство 1030, сетевые местоположения 1040. Общая область охвата 1001 описывается как область, включающую в себя все физические местоположения, откуда для создания коллекций извлекаются запрошенные пользователем элементы. Область охвата может устанавливаться и изменяться пользователем. Как отмечалось выше, другие чертежи демонстрируют, что элементы могут поступать из различных физических местоположений, как, например, ФИГ. 34, показывающая различные документы, поступающие с сервера и из папки "Мои документы" на данном компьютере, и ФИГ. 18, показывающая физические папки, которые физически хранятся во многих местоположениях.
ФИГ. 39 представляет собой блок-схему алгоритма, иллюстрирующего процедуру 1080 для включения нефайловых элементов в коллекцию виртуальной папки. Нефайловые элементы противопоставляются файловым элементам, которые обычно располагаются в физическом файловом запоминающем устройстве. Примерами нефайловых элементов могут служить такие данные, как сообщения, передаваемые по электронной почте или контактная информация. Как показано на ФИГ. 39, в блоке 1083 для содержания как нефайловых, так и файловых элементов, поиск которых можно осуществлять по запросам, используется база данных. В блоке 1084 в ответ на запрос извлекаются удовлетворяющие запросу как нефайловые элементы, так и файловые элементы. В блоке 1086, как нефайловые, так и файловые элементы, которые удовлетворили запросу, представляются на изображении.
ФИГ. 40 представляет собой схему, иллюстрирующую экранное изображение, показывающее различные нефайловые элементы. Как показано на ФИГ. 40, элементы были отфильтрованы так, что остались элементы, содержащие "Джон". Показанные элементы включают в себя элемент 1101, содержащий контактную информацию, элемент 1102, содержащий сообщение, передаваемое по электронной почте, и элементы 1103 и 1104, содержащие документы. Элемент 1101, содержащий контактную информацию, и элемент 1102, содержащий сообщение, передаваемое по электронной почте, являются нефайловыми элементами. Настоящая система позволяет включать такие нефайловые элементы в систему наряду с обычными файловыми элементами. При этом они могут быть организованы и ими можно манипулировать по желанию пользователя. Как отмечено выше в связи с ФИГ. 2, такие нефайловые элементы могут целиком содержаться в реляционной базе данных 230, которая в других случаях содержит информацию о свойствах файлов.
Следует иметь в виду, что хотя здесь проиллюстрирован и описан предпочтительный вариант осуществления изобретения, в него могут вноситься различные изменения в пределах объема и сущности изобретения.