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

Классы МПК:G06F17/21 обработка текста
G06F17/30 информационный поиск; структуры баз данных для этой цели
Автор(ы):, , , , , ,
Патентообладатель(и):МАЙКРОСОФТ КОРПОРЕЙШН (US)
Приоритеты:
подача заявки:
2003-05-15
публикация патента:

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

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

Формула изобретения

1. Машиночитаемый носитель информации, имеющий машиноисполняемые компоненты для осуществления способа фильтрации элементов со свойствами метаданных в компьютерной системе, имеющей устройство отображения и запоминающее устройство для хранения упомянутых элементов, причем элементы представляются на устройстве отображения, при этом способ содержит: отображение на устройстве отображения множества отображаемых объектов, каждый из которых представляет один или более элементов, причем один или более из элементов содержат виртуальную папку и причем отображение включает в себя отображение численного представления ряда элементов, которые содержит виртуальная папка; оценивание свойств метаданных элементов, которые представлены отображаемыми объектами, для определения первого одного из свойств метаданных, которые ассоциированы с, по меньшей мере, двумя из элементов; генерирование параметра фильтра на основе первого свойства метаданных; отображение параметра фильтра на устройстве отображения; прием пользовательского выбора параметра фильтра; и в ответ на пользовательский выбор, обеспечение того, чтобы отображаемые объекты, которые представлены на устройстве отображения, были сокращены только до отображаемых элементов, представляющих элементы, которые имеют первое свойство метаданных, причем упомянутое обеспечение того, чтобы отображаемые объекты были сокращены, включает в себя обеспечение соответствующего сокращения упомянутого численного представления.

2. Машиночитаемый носитель по п.1, отличающийся тем, что способ дополнительно содержит представление выбираемого пользователем отображаемого элемента на устройстве отображения; прием пользовательского выбора выбираемого пользователем отображаемого элемента; и в ответ на пользовательский выбор, отображение представления желательной коллекции элементов, ассоциированных с выбираемым пользователем отображаемым элементом.

3. Машиночитаемый носитель по п.1, отличающийся тем, что элементы, представленные отображаемыми объектами на устройстве отображения, физически сохранены в запоминающих устройствах в различных физических местоположениях.

4. Машиночитаемый носитель по п.1, отличающийся тем, что элементы, представленные отображаемыми объектами на устройстве отображения, включают в себя как файловые элементы, так и сообщения электронной почты.

5. Способ фильтрации элементов со свойствами метаданных в компьютерной системе, причем компьютерная система содержит устройство отображения и запоминающее устройство для хранения элементов со свойствами метаданных, содержащий: представление множества элементов на устройстве отображения; анализ свойств метаданных для определения первого одного из свойств метаданных, которое ассоциировано с, по меньшей мере, двумя из множества элементов; генерирование параметра фильтра на основе первого свойства метаданных; представление параметра фильтра на устройстве отображения; прием пользовательского выбора параметра фильтра; и в ответ на пользовательский выбор, сокращение элементов, которые представлены на устройстве отображения, путем представления на устройстве отображения только тех из элементов, которые имеют свойство метаданных, которое соответствует параметру фильтра.

6. Способ по п.5, отличающийся тем, что, по меньшей мере, один из упомянутых элементов является виртуальной папкой.

7. Способ по п.5, отличающийся тем, что дополнительно содержит: представление отображаемого элемента на устройстве отображения; и в ответ на пользовательский выбор отображаемого элемента, обеспечение представления на устройстве отображения подмножества элементов, ассоциированных с отображаемым элементом.

8. Способ по п.5, отличающийся тем, что множество элементов, которые представлены отображаемыми объектами, сохранены в различных физических местоположениях.

9. Способ по п.5, отличающийся тем, что упомянутые элементы включают в себя как файловые элементы, так и сообщения электронной почты.

10. Компьютеризованный способ фильтрации множества элементов, имеющих множество свойств метаданных в компьютере, имеющем запоминающее устройство и устройство отображения, при этом способ содержит: отображение на устройстве отображения представлений каждого из множества элементов; анализ множества свойств метаданных, ассоциированных с множеством элементов, для определения подмножества свойств метаданных, каждое из которых ассоциировано с, по меньшей мере, двумя из множества элементов; генерирование множества параметров фильтра, каждый из которых основан на, по меньшей мере, одном из подмножества свойств метаданных; отображение каждого из параметров фильтра на устройстве отображения; прием пользовательского выбора одного из отображенных параметров фильтра; и в ответ на пользовательский выбор, отображение представлений тех из элементов, которые имеют свойство метаданных, соответствующее параметру фильтра, но не тех из элементов, которые имеют свойство метаданных, не соответствующее параметру фильтра.

11. Компьютерная система, содержащая устройство отображения; запоминающее устройство, конфигурированное для хранения элементов со свойствами метаданных, и процессор, причем процессор конфигурирован для: представления множества элементов на устройстве отображения; анализа свойств метаданных для определения первого одного из свойств метаданных, которое ассоциировано с, по меньшей мере, двумя из множества элементов; генерирования параметра фильтра на основе первого свойства метаданных; представления параметра фильтра на устройстве отображения; приема пользовательского выбора параметра фильтра; и в ответ на пользовательский выбор, сокращения объектов, которые представлены на устройстве отображения, путем представления на устройстве отображения только тех из элементов, которые имеют свойство метаданных, которое соответствует параметру фильтра.

12. Компьютерная система по п.11, отличающаяся тем, что, по меньшей мере, один из упомянутых элементов является виртуальной папкой.

13. Компьютерная система по п.11, отличающаяся тем, что процессор дополнительно конфигурирован для: представления отображаемого элемента на устройстве отображения; и в ответ на пользовательский выбор отображаемого элемента, обеспечения представления на устройстве отображения подмножества элементов, ассоциированных с отображаемым элементом.

14. Компьютерная система по п.11, отличающаяся тем, что множество элементов, представленных отображаемыми объектами, хранятся в различных физических местоположениях.

15. Компьютерная система по п.11, отличающаяся тем, что упомянутые элементы включают в себя как файловые элементы, так и сообщения электронной почты.

Описание изобретения к патенту

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

Данная заявка представляет собой заявку в частичное продолжение заявки на патент США 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 система и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 формирователь запросовсистема и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 . Реляционная база данных 230 также посылает наборы строк на языке SQL в компонент 218 "Синтаксический анализатор наборов строк", при этом на каждый столбец элемента приходится по одной строке, где столбцы являются свойствами элемента.

База данных 232 описаний виртуальных папок включает в себя описания виртуальных папок. База данных 232 описаний виртуальных папок посылает в компонент 220 "Формирователь запросов" данные, включающие в себя список типов, подлежащих отображению в папке, начальный фильтр и физические местоположения, откуда будут показаны результаты (области охвата).

Что касается компонента 234 "Другие папки оболочки", то процессор 210 папок обращается к существующим папкам оболочки из многих типов элементов, включая все файлы, за обработчиками или свойствами. Компонент 234 "Другие папки оболочки" посылает свойства из других папок компоненту 224 система и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 продуцент свойствсистема и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 . Компонент "Другие папки оболочки" также посылает обработчики компоненту 214 система и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 продуцент обработчиковсистема и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 .

Компонент 236 "Обработчики папок" задает режим кода для элементов, которые существуют только в базе данных, как, например, контактная информация. Это позволяет нефайловым элементам вести себя аналогично файлам. Компонент 236 "Обработчики папок" посылает обработчики компоненту 214 система и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 продуцент обработчиковсистема и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 .

Что касается компонента 212 "Собственный код обработки", то процессор 210 папок непосредственно реализует определенные обработчики, основанные на свойствах элементов. Компонент 212 "Собственный код обработки" посылает обработчики компоненту 214 система и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 продуцент обработчиковсистема и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 . Для компонента 212 "Собственный код обработки" и компонента 236 "Обработчики папок" виртуальные папки, как и все пространства имен, должны предоставлять набор обработчиков (контекстных меню, пиктограмм, значков подсказок, система и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 ) для своих элементов. Для большинства этих случаев (подсказки, объекта данных, обработчика метода "перетаскивания", фонового контекстного менюсистема и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 ) виртуальная папка представляет общий (собственный) обработчик для всех типов, которые она содержит. Однако имеются и другие обработчики, которые должен предоставлять автор типа (контекстное меню на сам элемент, запись редактируемых свойствсистема и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 ). Также обработчик по умолчанию может быть отменен. Виртуальные папки многократно делают это для файлов и позволяют нефайловым элементам делать то же самое.

Компонент 214 система и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 продуцент обработчиковсистема и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 получает таблицы идентификаторов и продуцирует режим кода, который обеспечивает контекстное меню, пиктограммы и т.д. В общем процессор 210 папок может использовать собственные обработчики, внешние обработчики или обратиться за получением обработчиков к другим папкам оболочки, как это описано выше в отношении компонента 212 "Собственный код обработки", компонента 234 "Другие папки оболочки" и компонента 236 "Обработчики папок". Компонент 214 "Продуцент обработчиков" посылает обработчики компоненту 240 система и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 браузер оболочки и представлениесистема и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 по запросу представления. Компонент 214 система и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 Продуцент обработчиковсистема и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 посылает обработчик свойства компоненту 216 система и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 редактор свойствсистема и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 .

Компонент 216 система и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 редактор свойствсистема и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 преобразует задуманные пользователем манипуляции, такие как вырезание, копирование и вставка, в права свойств на файл или элемент. Компонент 240 "Браузер оболочки и представление" посылает в компонент 216 система и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 редактор свойствсистема и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 данные, содержащие прямые манипуляции (вырезание/копирование/вставка) или редактирование метаданных. В общем, поскольку виртуальные папки представляют собой способ организации данных, основанный на свойствах элемента, то операции типа перемещения и копирования (метод "перетаскивания") превращаются в редактирование этих свойств. Например, перемещение документа в представлении, разбитом на пачки по авторам, от Автора 1 к Автору 2, означает изменение автора. Эту функцию выполняет компонент 216 "Редактор свойств".

Компонент 218 система и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 синтаксический анализатор наборов строксистема и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 берет наборы строк из базы данных и сохраняет в памяти все свойства элемента в виде оболочковой структуры таблицы идентификаторов. Набор строк получает поэлементное определение виртуальной папки и формирует строку на языке SQL, которая затем может быть выдана в базу данных. Компонент 218 "Синтаксический анализатор наборов строк" посылает таблицы идентификаторов в компонент 222 "Составитель перечня". Как отмечено выше, компонент 218 "Синтаксический анализатор наборов строк" также получает данные из реляционной базы данных 230, включая наборы строк на языке SQL, в которых на каждый элемент приходится по одной строке, где столбцы являются свойствами элемента.

Компонент 220 "Формирователь запросов" формирует запросы на языке SQL. Компонент 220 "Формирователь запросов" получает данные из компонента 222 "Составитель перечня", в том числе новые фильтры, полученные при навигации. Компонент 220 "Формирователь запросов" также получает данные из базы данных 232 описаний виртуальных папок, включая список типов, подлежащих отображению в папке, начальный фильтр и физические местоположения, откуда будут показываться результаты (области охвата). Компонент 220 "Формирователь запросов" посылает запросы на языке SQL в реляционную базу данных 230.

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

Компонент 222 "Составитель перечня" задействуется в ответ на осуществление навигации в виртуальную папку. Как отмечено выше, компонент 222 "Составитель перечня" получает таблицы идентификаторов от компонента 218 "Синтаксический анализатор наборов строк" и посылает новые фильтры, полученные при навигации, в компонент 220 "Формирователь запросов". Компонент 222 система и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 составитель перечнясистема и способ фильтрации и организации элементов на основе   общих свойств, патент № 2368947 также посылает данные в компонент 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-29 в общих чертах показывают, как процесс фильтрации выглядит на экранном изображении. Как описано ниже в связи с ФИГ. 24-29, в одном варианте осуществления изобретения фильтрация обычно может выполняться в соответствии со следующей процедурой. После того как пользователь выполняет щелчок на значении фильтра, элементы, выпадающие из диапазона фильтра, в анимационном режиме удаляются с экрана. Анимация в этом случае обычно предназначена для того, чтобы ясно продемонстрировать, что эти элементы удаляются и что никаких новых элементов не добавляется. Для отмены операций фильтрации пользователь может воспользоваться кнопкой 643 возврата. В одном варианте осуществления изобретения создается навигационный стек, который содержит последовательно расположенные операции фильтра и который используется для отмены каждой из операций фильтра при использовании кнопки 643 возврата. Всякий раз при выборе значения фильтра содержание информационных областей 640 и 641 обновляется с тем, чтобы отразить текущее значение фильтра. В одном варианте осуществления изобретения после того, как было выбрано значение фильтра, пользователю предоставляется опция, позволяющая сохранить новую быструю ссылку на текущий пункт навигации по фильтрам, что более подробно описано ниже в связи с ФИГ. 30. При выборе значений фильтра средства управления фильтром могут обновляться с тем, чтобы соответствовать элементам, остающимся в представлении.

ФИГ. 24 представляет собой схему, иллюстрирующую экранное изображение, на котором пачки, приведенные на ФИГ. 10, отфильтрованы по параметру "AB". Как показано, параметр АВ впечатан пользователем в область 621 фильтра. Информационные строки 640 и 641 показывают, что теперь на изображении представлены те элементы, которые отфильтрованы по параметру "АВ". Как показано, пачка 651 "Акционерная компания ABC" по-прежнему содержит восемь элементов, в то время как пачка 652 "Резервные копии" теперь содержит три элемента и пачка 654 также содержит три элемента. В соответствии с этим информационная строка 644 показывает, что в общей сложности имеется 14 элементов, занимающих в совокупности 35 мегабайтов памяти.

ФИГ. 25 представляет собой схему, иллюстрирующую экранное изображение, на котором пачки, показанные на ФИГ. 10 ,отфильтрованы по параметру "АВС". Что касается параметра "АВ" фильтра с ФИГ. 24, то пользователь просто допечатал к нему дополнительный символ "С" так, чтобы в целом получить для фильтра параметр "АВС". Как видно из чертежа, пачка 651 "Акционерная компания ABC" по-прежнему содержит восемь элементов, в то время как пачка 652 "Резервные копии" теперь содержит только два элемента. Пачка 654 "Акционерная компания XYZ" исчезла с экранного изображения, потому что ничто из ее содержимого не удовлетворяет значению фильтра "АВС". Информационная строка 644 теперь показывает, что в пачках, представленных на экранном изображении, имеется в общей сложности 10 элементов, которые занимают в совокупности 25 мегабайтов памяти. Таким образом, ФИГ. 24 и 25 дают примеры того, как пользователь может вводить новые параметры фильтрации и как эти параметры фильтрации затем используются для фильтрации элементов, представленных на изображении.

Кнопка 643 возврата может использоваться пользователем для движения в обратном направлении по пути процесса фильтрации. Как описано выше в связи с ФИГ. 10, кнопка 643 позволяет пользователю возвратиться назад по пути навигации. Если обратиться к примерам, приведенным на ФИГ. 24 и 25, то после фильтрации по параметру "АВС" на ФИГ. 25 пользователь мог бы воспользоваться кнопкой 643 возврата так, чтобы возвратиться назад на один шаг процесса фильтрации, что вернуло бы его к состоянию, изображенному на ФИГ. 24. В качестве альтернативы, в другом варианте осуществления кнопка 643 возврата может очистить весь параметр фильтрации и тем самым может вернуть пользователя к состоянию, предшествовавшему проведению этой фильтрации. В этом случае, нажав кнопки 643 возврата на ФИГ. 25, пользователь вернулся бы к состоянию, изображенному на ФИГ. 10.

В одном варианте осуществления изобретения в дополнение к кнопке возврата пользователю предоставляются дополнительные средства возврата или иного изменения навигации, использующей фильтрацию. Эти дополнительные средства подразумевают предоставление пользователю возможности прямого доступа к информационной строке 641 и внесения в нее изменений, что соответствующим образом изменяет навигацию по фильтрам. Другими словами, осуществляя прямой доступ и внесение изменений в информационную строку 641, пользователь может удалить один или более примененных фильтров или изменить значения любого из примененных фильтров. Этот аспект более подробно описан в заявке на патент США N10/420,040, поданной 17 апреля 2003 года, которая во всей своей полноте включена в настоящее описание посредством ссылки.

При вводе пользователем символов в параметры фильтрации, как показано на ФИГ. 24 и 25, может также использоваться таймер. Таймер используется для контроля паузы во вводе пользователем символов. Фильтр применяется по истечении некоторого выбранного интервала времени, в течение которого ввод символов отсутствует. Например, в состоянии, показанном на ФИГ. 24, пользователь напечатал параметр фильтрации "АВ" без какой-либо существенной временной задержки между символами "А" и "В". После того как пользователь напечатал параметр "АВ", он делает паузу, чем порождает состояние, показанное на ФИГ. 24, где фильтр "АВ" применен. Спустя некоторое время пользователь добавляет символ "С", чем завершает параметр фильтрации "АВС", и затем делает новую паузу, в этот момент применяется параметр фильтрации "АВС", что показано на ФИГ. 25.

В одном варианте осуществления изобретения после того, как пользователь напечатал параметр фильтрации в область 621 фильтра, и затем выбирает другой фильтр или средство навигации, состояние навигации обновляется, и параметр фильтрации в области 621 фильтра снова делается пустым. Кроме того, как более подробно описано ниже в связи с ФИГ. 26-29, в результате выбора определенных параметров фильтрации могут измениться другие средства управления фильтром.

ФИГ. 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В "выберите день" на случай, если пользователь захочет далее отфильтровать результаты по конкретному дню.

Как показано выше в связи с ФИГ. 24-29, параметры фильтрации могут предоставляться системой или вводиться пользователем. После выбора параметра фильтрации остальные представленные параметры фильтрации могут измениться (например, после того как на ФИГ. 26 выбран год "2002", на ФИГ. 27 опции для выбора года больше не представлены, а вместо них появилась опция "выберите месяц"). Как было отмечено выше, кнопка 643 возврата может быть использована пользователем для движения в обратном направлении по пути процесса фильтрации. Например, после того, как на ФИГ. 29 был выбран месяц "январь", пользователь может воспользоваться кнопкой 643 возврата для того, чтобы возвратить процесс фильтрации к году "2002", показанному на ФИГ. 27. Меню фильтра может также включать в себя функцию "сгруппировать в пачки по...", которая работала бы аналогично функции группирования в пачки, описанной в связи с ФИГ. 15 и 16. Например, фильтр "тип файла" мог бы иметь варианты выбора для "EXCEL", "PowerPоint", "Word", а также "Сгруппировать в пачки по типу файла". Выбор функции "сгруппировать на пачки по" изменяет представление таким образом, чтобы оно показывало пачки для различных типов файлов.

Вообще, фильтры могут быть сконфигурированы для применения к различным свойствам файлов или элементов. В одном варианте осуществления изобретения фильтры могут быть классифицированы по различным типам, таким как: буквенный индекс; дискретные значения; даты и числовые диапазоны. Примеры свойств для буквенного индекса могут включать в себя: имя файла, автора, исполнителя, имя друга, к которому относится контактная информация, владельца, автора документа, наименование документа, предмет документа и описание. Примеры свойств для дискретных значений могут включать в себя: место расположения, тип файла (имя приложения), жанр, дорожку, десятку (для музыкальных записей), рейтинг (для музыкальных записей), скорость передачи в битах, защиту, категорию документа, комментарии к документу, модель фотоаппарата, измерения, наименование изделия, модификацию изделия, размер Х изображения, размер Y изображения, время создания документа. Примеры свойств для дат могут включать в себя даты: последнего обращения: внесения последних изменений, создания, съемки (для фотографий). Примером свойства для числового диапазона может служить размер файла.

Очевидно, что фильтры, описанные выше в связи с ФИГ. 24-29, позволяют пользователям сократить список элементов с тем, чтобы найти конкретный элемент, интересующий пользователя. В качестве конкретного примера, пользователь согласно описанным выше процедурам может сузить текущий список документов так, чтобы он включал в себя только файлы в формате Microsoft Word, автором которых является определенное лицо, и которые подвергались редакции на прошлой неделе. Эта функциональная возможность позволяет пользователю находить конкретный элемент в списке из многих элементов и помогает пользователю избежать необходимости в ручном режиме просматривать каждый элемент в списке.

ФИГ. 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 Exсel, занимает 282 килобайта памяти и получен из местоположения: Серверпапка 2. Как показано на ФИГ. 34, документ 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, которая в других случаях содержит информацию о свойствах файлов.

Следует иметь в виду, что хотя здесь проиллюстрирован и описан предпочтительный вариант осуществления изобретения, в него могут вноситься различные изменения в пределах объема и сущности изобретения.

Класс G06F17/21 обработка текста

поддержка быстрого слияния для устаревших документов -  патент 2527744 (10.09.2014)
длина документа в качестве статического признака релевантности для ранжирования результатов поиска -  патент 2517271 (27.05.2014)
оптимизация формата поискового индекса -  патент 2503058 (27.12.2013)
веб-канал, базируемый на языке xml, для веб-доступа удаленных источников -  патент 2503056 (27.12.2013)
совместная авторская подготовка документа -  патент 2501077 (10.12.2013)
структурированная соавторская разработка -  патент 2495484 (10.10.2013)
передатчик графических команд и способ передачи графических команд -  патент 2471226 (27.12.2012)
система и способ автоматического измерения высоты строки, размера и других параметров международного шрифта -  патент 2464631 (20.10.2012)
двухпроходное хеш извлечение текстовых строк -  патент 2464630 (20.10.2012)
способ автоматизированной обработки текста и компьютерное устройство для реализации этого способа -  патент 2460154 (27.08.2012)

Класс G06F17/30 информационный поиск; структуры баз данных для этой цели

способ и устройство отображения множества элементов -  патент 2528147 (10.09.2014)
система генерирования статистической информации и способ генерирования статистической информации -  патент 2527754 (10.09.2014)
способ конверсии данных, устройство конверсии данных и система конверсии данных -  патент 2527201 (27.08.2014)
телекоммуникационная чип-карта, мобильное телефонное устройство и считываемый компьютером носитель данных -  патент 2527197 (27.08.2014)
способ восстановления данных в системе управления базами данных -  патент 2526753 (27.08.2014)
способ и устройство хранения, чтения и записи составного документа -  патент 2525752 (20.08.2014)
устройство связи, способ связи и система связи -  патент 2524861 (10.08.2014)
адаптивное неявное изучение для рекомендательных систем -  патент 2524840 (10.08.2014)
основанная на контексте рекомендующая система -  патент 2523930 (27.07.2014)
способ динамической визуализации коллекции изображений в виде коллажа -  патент 2523925 (27.07.2014)
Наверх