Система и способ фильтрации и организации элементов на основе общих свойств

Иллюстрации

Показать все

Изобретение относится к системе и способу визуального отображения элементов, и в частности к системе и способу фильтрации и организации элементов на основе общих свойств. Техническим результатом является повышение эффективности фильтрации и организации элементов в компьютерной системе на основе общих свойств. Предложена система и способ фильтрации и организации элементов, содержащихся в запоминающих устройствах, на основе общих свойств. Система использует виртуальные папки, включающие обычные файлы и папки, в различных представлениях, основанных на метаданных этих элементов, а не на действительной лежащей в их основе физической структуре файловой системы на диске. На изображении представлено множество элементов и обеспечена область фильтра, в которую пользователь может ввести параметр фильтрации. При вводе пользователем параметра фильтрации количество элементов, представленных на изображении, уменьшается до тех, которые содержат параметр фильтрации. По мере того как пользователь печатает параметр фильтрации, при добавлении каждого нового символа в параметр фильтрации могут отфильтровываться дополнительные элементы. 4 н. и 11 з.п. ф-лы, 40 ил.

Реферат

ССЫЛКИ НА РОДСТВЕННЫЕ ЗАЯВКИ

Данная заявка представляет собой заявку в частичное продолжение заявки на патент США N10/403,341, поданной 27 марта 2003 года, приоритет по дате подачи которой запрашивается данной заявкой в соответствии с § 120 раздела 35 Свода Законов США.

ОБЛАСТЬ ТЕХНИКИ

Настоящее изобретение относится к системам и способам визуального отображения элементов, хранящихся в компьютерной памяти, и более конкретно к системе и способу фильтрации и организации элементов на основе общих свойств.

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ

Существующие компьютерные файловые системы имеют ряд нежелательных ограничений. Одно из ограничений заключается в том, что пользователи, как правило, не имеют возможности управлять структурой, которая им демонстрируется. Другими словами, при организации папок пользователь должен выбрать структуру, и эту структуру впоследствии трудно изменить. В качестве характерного примера, в своей "музыкальной" папке пользователь возможно захочет организовать музыкальные файлы в формате исполнитель/альбом, при котором все папки альбомов по каждому исполнителю собраны в папку этого конкретного исполнителя, а все песни с конкретного альбома собраны в папку этого альбома. Однако формат исполнитель/альбом неудобен для проигрывания музыкальных записей одного направления (например, проигрывания двух джазовых песен двух различных исполнителей) или для проигрывания подборки альбомов различных исполнителей.

В качестве другого примера, пользователь может иметь большое количество файлов, с трудом поддающихся организации. Некоторые пользователи вырабатывают жестко регламентированный подход к размещению файлов и тем самым создают для них строгие иерархии. Управление такими файлами по мере возрастания количества имеющихся документов становится все более и более сложным и трудоемким, делая также трудоемким поиск и извлечение данных. Эта проблема еще более обостряется в случаях, когда используются дополнительные файлы из других местоположений, такие как файлы совместного использования и т.д.

Пользователям также приходится иметь дело с файлами из различных местоположений, таких как различные устройства, другие персональные компьютеры или системы "он-лайн". Например, пользователи могут выбрать прослушивание имеющихся у них в компьютере музыкальных записей (тех, которые доступны для музыкальной программы) или могут перейти в режим "он-лайн" и слушать музыкальные записи с 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, которая затем может быть выдана в базу данных. Компоне