система и способ для управления данными с использованием статических списков
Классы МПК: | G06F7/00 Способы и устройства для обработки данных с воздействием на порядок их расположения или на содержание обрабатываемых данных G06F9/04 с применением носителей информации, содержащих только программные команды |
Автор(ы): | МУР Джейсон Ф. (US), БЭНКС Ричард М. (GB), ВАН ДОК Корнелис К. (US), ДЕ ВОРЧИК Дэвид Дж. (US), МАККИ Тимоти П. (US), СМИТ Уолтер Р. (US), ГУЗАК Крис Дж. (US), ИВАНОВИЧ Релья (US), БЕЛТ Джеффри К. (US) |
Патентообладатель(и): | МАЙКРОСОФТ КОРПОРЕЙШН (US) |
Приоритеты: |
подача заявки:
2004-07-27 публикация патента:
10.12.2009 |
Изобретение относится к системам хранения данных, в частности к системам и способам для управления данными с использованием статистических списков. Техническим результатом является расширение функциональных возможностей. Статическим списком является набор элементов, определенный корневым элементом, направлением и отношениями записи с этим корневым элементом в этом направлении. Статический список также определяет свойства, которые должно иметь каждое отношение записи в списке. Предусмотрены глаголы для управления статическим списком. Глагол представляет собой действие, которое можно выполнять на элементах в статическом списке и которое включает в себя, помимо прочего, такие действия как переместить, скопировать, добавить, удалить и уничтожить. Предусмотрено изображение для указания характеристик для отображения данных из статического списка, включающих, помимо прочих характеристик, видимость, порядок и форматирование. 3 н. и 21 з.п. ф-лы, 19 ил.
Формула изобретения
1. Способ управления данными в списке, заключающийся в том, что
создают список, имеющий тип элементов и тип отношения,
формируют шаблон записи в список, основываясь на типе отношения, при этом шаблон записи в список включает в себя одно или более свойств элемента, взаимосвязанных с типом отношения,
добавляют элемент в список посредством формирования записи в списке в соответствии с шаблоном записи, при этом запись в список содержит одно или более свойств элемента, указанных в шаблоне записи в список,
сохраняют созданный список в памяти процессора,
изменяют положение элемента,
обновляют запись для отсылки к измененному положению и
отображают информацию, основываясь на созданном списке.
2. Способ по п.1, по которому при удалении элемента изменяется его состояние и при обновлении записи удаляют данную запись из списка.
3. Способ по п.1, по которому также определяют свойство для данного типа отношения, причем при создании записи в списке в соответствии с типом отношения создают значение для данного свойства.
4. Способ по п.3, по которому также перемещают элемент в новый список, при этом удаляют запись из первоначального списка и создают запись в новом списке, и копируют значение для любого свойства, которое является общим для типа отношения нового списка и типа отношения первоначального списка.
5. Способ по п.4, по которому также копируют элемент в новый список, при этом создают запись в новом списке и копируют значение для любого свойства, которое является общим для типа отношения нового списка и типа отношения первоначального списка.
6. Способ по п.1, по которому также уничтожают элемент, при этом удаляют запись из списка и удаляют любую другую запись в других списках, в которых эта другая запись также представляет связь с данным элементом.
7. Способ по п.1, по которому также прикладывают изображение к списку, при этом находят записи в списке, имеющие свойства, соответствующие свойствам, указанным в изображении, и применяют характеристику отображения к значениям соответствующих свойств.
8. Способ по п.1, по которому список является файлом в формате XML, при этом запись является не удерживающей ссылкой на элемент, связанный с данным типом элемента, а свойство является метаданными, связанными с этим элементом, и при обновлении записи преобразуют в последовательную форму связь оболочки со ссылкой.
9. Способ по п.1, по которому списком является контейнер файловой системы, а запись является удерживающей ссылкой на данный элемент, при этом удерживающая ссылка отражает текущее состояние элемента.
10. Система для управления данными, содержащая
запоминающую среду для хранения элементов данных и шаблона записи в список, при этом шаблон записи в список сформирован, основываясь на типе отношения списка выбранных элементов, при этом тип отношения соответствует типу отношения между элементами в списке выбранных элементов,
процессор для осуществления процесса формирования списка выбранных элементов в ответ на пользовательский ввод, причем каждая запись сформированного списка выбранных элементов формируется в соответствии с шаблоном записи в список и представляет отсылку к элементу независимо от положения элемента в запоминающей среде, при этом каждая запись сформированного списка выбранных элементов содержит значение свойства, сформированное в соответствии с шаблоном записи в список, при этом процесс формирования списка выбранных элементов включает в себя процесс обновления записи сформированного списка с отсылкой к новому положению после того, как сохраненные элементы данных перемещены в новое положение, и
блок отображения для отображения изображения элементов в списке, при этом изображение содержит отображение значений свойства записи в соответствии с характеристикой отображения.
11. Система по п.10, в которой процесс обновления записи включает в себя удаление записи из списка, если данный элемент больше на хранится на запоминающем средстве.
12. Система по п.10, в которой процесс создания списка включает в себя процесс копирования элемента в новый список, согласно которому делают запись в новом списке и копируют значение свойства из первоначальной записи в новую запись в соответствии с шаблоном записи нового списка.
13. Система по п.11, в которой процесс создания списка включает в себя перемещение элемента в новый список, согласно которому копируют элемент в новый список и удаляют запись из первоначального списка.
14. Система по п.10, в которой процессор выполнен с возможностью выполнения процесса уничтожения элемента из запоминающей среды, включающего в себя удаление всех записей, которые ссылаются на этот элемент.
15. Система по п.10, в которой сформированный список представляет собой файл в формате XML, и в которой запись в списке является неудерживающей ссылкой на данный элемент, а свойство является метаданными, связанными с данным элементом, и обновление записи включает в себя преобразование в последовательную форму связи оболочки со ссылкой.
16. Система по п.10, в которой сформированный список представляет собой контейнер файловой системы, и запись является удерживающей ссылкой на данный элемент, причем удерживающая ссылка отсылает к текущему положению данного элемента.
17. Машиночитаемый носитель, содержащий исполняемый машиной компонент для:
определения первого списка, имеющего тип элемента и тип отношения,
формирования шаблона записи в список, основываясь на типе отношения, при этом шаблон записи в список включает в себя одно или более свойств элемента, взаимосвязанных с типом отношения,
формирования запись в список в соответствии с шаблоном записи в список, представляющую собой взаимосвязь между элементом и типом элемента, при этом запись в список содержит одно или более свойств элемента, указанных в шаблоне записи в список,
добавления записи в список в первый список,
обновления записи в любом случае изменения состояния элемента и
перемещения элемента во второй список, при этом при перемещении уничтожают запись из первого списка и формируют запись во втором списке и копируют значение для любого свойства, которое является общим для типа отношения первого списка и типа отношения второго списка.
18. Машиночитаемый носитель по п.17, в котором исполняемый машиной компонент обновляет запись для отсылки к текущему положению элемента независимо от действительного положения элемента.
19. Машиночитаемый носитель по п.17, в котором исполняемый машиной компонент автоматически удаляет запись из списка при уничтожении элемента.
20. Машиночитаемый носитель по п.17, в котором исполняемый машиной компонент также определяет свойство для типа отношения, при этом создание записи в списке в соответствии с типом связи включает в себя создание величины для данного свойства.
21. Машиночитаемый носитель по п.17, в котором исполняемый машиной компонент также копирует элемент в новый список, при этом копирование включает в себя создание записи в новом списке и копирование значения для любого свойства, которое является общим для типа отношения нового списка и типа отношения первоначального списка.
22. Машиночитаемый носитель по п.17, в котором исполняемый машиной компонент также прикладывает изображение к списку, причем приложение изображения включает в себя нахождение записей в списке, имеющих свойства, соответствующие свойствам, указанным в записи, и применение характеристики отображения к значениям соответствующих свойств.
23. Машиночитаемый носитель по п.17, в котором список хранится в формате XML, при этом запись является неудерживающей ссылкой на элемент, связанный с данным типом элемента, а свойством являются метаданные, связанные с данным элементом, и обновление записи включает в себя преобразование в последовательную форму связи оболочки со ссылкой.
24. Машиночитаемый носитель по п.17, в котором список хранится в контейнере файловой системы, а запись является удерживающей ссылкой на элемент, причем удерживающая ссылка отражает текущее состояние данного элемента.
Описание изобретения к патенту
Область техники, к которой относится изобретение
Настоящее изобретение относится, в общем, к системам хранения данных, и в частности, к системам и способам для управления данными с использованием статических списков.
Уровень техники
По мере того, как растет использование электронных носителей для хранения текстов, музыки, фотоснимков и других видов данных и снижаются ограничения на емкости запоминающих устройств для хранения данных, пользователи компьютеров испытывают все большие трудности с управлением огромными количествами файлов. Обычные файловые системы, например, построенные на основе таблицы размещения файлов, или файловой системы FAT, могут испытывать проблемы с управлением файлами. Например, традиционный доступ к файлам через каталоги, предусмотренный в обычных файловых системах, подразумевает, что пользователи желают хранить свои файлы в иерархическом дереве каталогов. Однако иерархическая организация, помимо того, что она зависит от положения, не является наиболее удобным путем доступа к файлам с точки зрения пользователей.
В контексте пользовательского интерфейса операционной системы Windows® одним из способов облегчения доступа к файлам является использование ярлыков. Ярлык, который обеспечивает связь с файлом, можно создавать на рабочем столе или в папке, и он обеспечивает быстрый способ запуска программы или открытия файла или папки, не требующий прохождения к его постоянному месту. Однако ярлыки могут быть ненадежными, так как они не обновляются для отражения изменений места или состояния файла, находящегося под ними. Например, перемещение файла в другой каталог приводит к возникновению ошибки при доступе через ярлык.
Другим способом облегчения доступа к файлам является использование списка файлов для воспроизведения, или так называемого "плейлиста". В медиаплеерах пользователям предлагаются плейлисты в качестве способа организации определенных типов файлов для их последующего воспроизведения. Например, в медиаплеере Windows Media Player® плейлист содержит ссылки на музыкальные файлы для их воспроизведения через медиаплеер в указанном порядке. Однако у плейлистов имеется тот же недостаток, что и у ярлыков - ссылки в плейлисте не обновляются для отражения изменения положения или состояния файлов. Если музыкальный файл был перемещен или удален, то пользователь должен искать его по всем своим плейлистам, чтобы обновить или удалить устаревшие ссылки.
Еще одним недостатком обеих моделей доступа к файлам, т.е. через ярлыки и плейлисты, является их неспособность предоставить пользователю альтернативные пути доступа к элементам, кроме доступа через другую папку или в определенном порядке.
Раскрытие изобретения
Для решения описанных выше проблем предложены система, способ и машиночитаемый носитель для управления данными с использованием статических списков. Статические списки облегчают произвольное группирование элементов данных независимо от их положения с помощью понятных пользователю способов.
Согласно одному аспекту настоящего изобретения статический список представляет собой набор элементов, определенный корневым элементом, направлением и отношениями списочной записи с этим корневым элементом в этом направлении. Элементы в группе определяются путем соблюдения отношений списочной записи с корневым элементом. Направление может быть либо в сторону корневого элемента, либо от него, в зависимости от того, является ли данный корневой элемент целью или источником отношения списочной записи. Статический список также определяет свойства, которые должно иметь каждое отношение списочной записи в списке.
Согласно другому варианту настоящего изобретения для управления статическим списком предусмотрены глаголы. Глагол представляет собой действие, которое может выполняться на элементах в статическом списке, включающее в себя, помимо прочего, такие действия как переместить, скопировать, добавить, удалить и уничтожить. Действия, выполняемые на элементах, включают в себя действия, выполняемые на отношениях списочной записи между элементом и корневым элементом.
Согласно следующему аспекту настоящего изобретения предложено изображение для задания характеристик отображения данных из статического списка, включающих видимость, порядок и форматирование, помимо прочих характеристик.
Согласно еще одному аспекту настоящего изобретения с помощью статических списков пользователь может распространить некоторые атрибуты безопасности на элементы в списке, чтобы другие лица могли обращаться к ним через список. Пользователь может также добавлять другую информацию к списку в виде метаданных, чтобы повысить полезность списка и содержащихся в нем элементов.
Согласно еще одному аспекту настоящего изобретения при использовании статических списков обеспечивается автоматическое управление каждым элементом списка, так что ссылки на данные всегда остаются действительными, даже когда изменяются положение, состояние или другие характеристики этих данных.
Согласно другим аспектам настоящего изобретения предложен машиночитаемый носитель для управления данными с использованием статических списков. Машиночитаемый носитель содержит данные и исполняемые машиной компоненты для создания и управления статическими списками. Данные определяют статический список и содержащиеся в нем элементы. Исполняемые машиной компоненты могут выполнять действия, соответствующие описанному выше способу.
Краткое описание чертежей
Упомянутые выше аспекты и многие другие преимущества настоящего изобретения будут более понятны из следующего подробного описания со ссылками на прилагаемые чертежи, на которых
фиг.1 изображает вид концептуальной модели хранения для управления данными с использованием статических списков, согласно настоящему изобретению,
фиг.2 изображает другие аспекты концептуальной модели хранения для определения статического набора, согласно настоящему изобретению,
фиг.3 изображает другие аспекты концептуальной модели хранения для определения статического списка, согласно настоящему изобретению,
фиг.4 изображает другие аспекты концептуальной модели хранения для определения списочной записи в статическом списке, согласно настоящему изобретению,
фиг.5 изображает другие аспекты концептуальной модели хранения для определения примерного статического списка, согласно настоящему изобретению,
фиг.6 изображает сетку, содержащую значения для имен свойств и элементов списка, отображенных в примерном статическом списке, показанном на фиг.5,
фиг.7 изображает пользовательский интерфейс, содержащий набор элементов, который можно использовать в статическом списке, согласно настоящему изобретению,
фиг.8 изображает пользовательский интерфейс, отображающий примерный статический список, содержащий элементы, показанные на фиг.7, согласно настоящему изобретению,
фиг.9 изображает пользовательский интерфейс, отображающий еще один примерный статический список, показанный на фиг.8, согласно настоящему изобретению,
фиг.10 изображает другие аспекты концептуальной модели хранения для определения изображения, которое можно приложить к статическому списку, согласно настоящему изобретению,
фиг.11 изображает структурную схему универсальной вычислительной системы, пригодной для содержания статических списков, согласно настоящему изобретению,
фиг.12 изображает алгоритм, иллюстрирующий логику, выполняемую универсальной вычислительной системой, для управления данными с использованием статических списков, согласно настоящему изобретению,
фиг.13 изображает алгоритм, иллюстрирующий логику, выполняемую универсальной вычислительной системой, для перемещения элементов между статическими списками, согласно настоящему изобретению,
фиг.14 изображает алгоритм, иллюстрирующий логику, выполняемую универсальной вычислительной системой, для копирования элементов между статическими списками, согласно настоящему изобретению,
фиг.15 изображает алгоритм, иллюстрирующий логику, выполняемую универсальной вычислительной системой, для добавления элементов в статические списки, согласно настоящему изобретению,
фиг.16 изображает алгоритм, иллюстрирующий логику, выполняемую универсальной вычислительной системой, для удаления элементов из статических списков, согласно настоящему изобретению,
фиг.17 изображает алгоритм, иллюстрирующий логику, выполняемую универсальной вычислительной системой, для уничтожения элементов из статических списков, согласно настоящему изобретению,
фиг.18 изображает общий вид структурной схемы реализации статических списков, сформированных согласно настоящему изобретению с использованием ХМL файлов, и
фиг.19 изображает общий вид структурной схемы реализации статических списков, сформированных согласно настоящему изобретению с использованием контейнеров файловой системы.
Осуществление изобретения
В дальнейшем будет представлено краткое обобщенное описание вычислительной системы, пригодной для реализации различных существенных признаков изобретения. Несмотря на то, что вычислительная система будет описана в общем контексте персонального компьютера, пригодного для использования в распределенной вычислительной среде, в которой взаимодополняющие задачи выполняются удаленными вычислительными устройствами, связанными между собой через коммуникационную сеть, специалистам будет понятно, что настоящее изобретение можно осуществить с помощью многих других конфигураций вычислительной системы, включая микропроцессорные системы, миникомпьютеры, универсальные вычислительные системы и т.п. Специалистам будет понятно, что кроме обычных вычислительных систем, описанных выше, изобретение можно осуществить и на других вычислительных устройствах, включая портативные компьютеры, планшетные компьютеры, персональные цифровые помощники (ПЦП) и другие устройства, на которых установлено программное обеспечение или другое цифровое содержание.
Несмотря на то, что аспекты изобретения можно описать на примере программ, исполняемых приложениями, в связи с персональным компьютером, специалистам будет понятно, что эти аспекты можно также реализовать в комбинации с другими программными модулями. Программные модули, в общем, включают в себя подпрограммы, программы, компоненты, структуры данных, и т.п., которые выполняют конкретные задачи или реализуют конкретные виды абстрактных данных.
На фиг.1 представлен вид концептуальной модели хранения для управления данными с использованием статических списков, выполненной согласно настоящему изобретению. Элемент 150 является первичным контейнером данных. Каждый элемент имеет множество свойств 130 для хранения данных и ссылку на тип 120, который определяет, какие свойства имеет данный элемент. Элемент 150 может иметь дополнительные свойства 130, которые не определены типом 120 элемента.
Отношение 110 представляет собой связь между двумя элементами. Каждое отношение ссылается на два элемента 150, которые называются источник 102 или цель 104 в зависимости от направления отношения 110. Элементы-источники 102 порождают отношение 110, а элементы-цели 104 принимают отношение 110.
Расширение 140 подобно элементу 150 в том, что оно имеет свойства 130, определенные типом 120. Однако расширения 140 связаны только с одним элементом и имеют различные типы 120.
Тип 120 определяет структуру элемента 150, отношение 110 или расширение 140 путем определения его свойств. Так как типы 120 можно использовать с элементами, отношениями или расширениями, их обычно называют типами элементов, типами отношений или типами расширений.
На фиг.2 показаны другие аспекты концептуальной модели хранения для определения статического набора, сформированного согласно настоящему изобретению. В частности, фиг.2 изображает статический набор 220. Как показано на чертеже, статический набор 220 является набором 210, который явно связывает элемент 150 с другими элементами с помощью типов 230 отношения. Статический набор 220 содержит корневой элемент 150, тип 230 отношения и конкретное направление корневого элемента к связанным с ним элементам, которое является либо направлением 104 к цели, либо направлением 102 к источнику. Членство в статическом наборе определяется путем отслеживания отношений данного типа, которые имеют корневой элемент в качестве либо источника, либо цели, в зависимости от направления, указанного в данном наборе.
Любая комбинация элемента 150, типа 230 отношения и направления 102/104 определяет статический набор 220. Например, набор авторов документа можно найти посредством отслеживания отношений авторов из корневого элемента документа, также как и набор документа, автором которого является какое-то лицо, можно найти посредством отслеживания того же отношения в другом направлении.
На фиг.3 представлены другие аспекты концептуальной модели хранения для определения статического списка, сформированного согласно настоящему изобретению. Статический список 310 является типом статического набора 220, который позволяет пользователям организовать элементы 150 в виде совокупностей произвольными способами. Статический список 310 содержит элемент 320 списка и тип 330 отношения списочной записи. Элемент 320 списка является корневым элементом, а тип 330 отношения списочной записи определяет набор свойств 130 и направление 102/104, которое должно иметь каждое отношение 110 в списке в шаблоне 340 списочной записи, который определяет имена 350 свойств для каждого из свойств 130. Так как каждое отношение 110 имеет одинаковые свойства 130, статический список 310 можно рассматривать как таблицу или сетку, в которой каждое отношение 110 списочной записи является строкой, а каждое свойство 130 - столбцом, пример которой будет описан ниже со ссылками на фиг.5 и 6.
На фиг.4 показаны другие аспекты концептуальной модели хранения для определения списочной записи в статическом списке, согласно настоящему изобретению. В частности, списочная запись 410 является отношением 110, которое имеет одно или более свойств 130.
На фиг.5 показаны другие аспекты концептуальной модели хранения для определения примерного статического списка, сформированного согласно настоящему изобретению. Элемент 320 списка, который является корневым элементом статического списка 310, представляет собой источник 102 двух отношений 510А и 510В списочной записи, которые связывают элемент 320 списка с целевыми элементами - фотоснимком А 520А и фотоснимком В 520В. Каждое отношение 510А и 510В имеет два свойства 530 и 540, как определено в шаблоне 340 записи. Свойства 530А и 530В являются комментариями к упомянутым фотоснимкам - фотоснимку А 520А и фотоснимку В 520В, имеющими соответствующие значения "Какая длинная шея!" и "Скажи сыр!". Свойства 540А и 540В являются рейтингами упомянутых фотоснимков - фотоснимка А 520А и фотоснимка В 520В, которые имеют соответствующие значения "4" и "5".
На фиг.6 представлен вид сетки, содержащей значения для имен свойств и элементов списка, показанных в примерном статическом списке на фиг.5. Как показано на чертеже, элементы 320 списка, содержащие фотоснимок А 650 и фотоснимок В 660, образуют строки сетки 600, а имена свойств 350, связанные с этими элементами 320 списка, образуют столбцы сетки 600. Имена 350 свойств основаны на шаблоне 340 записи, и в проиллюстрированном примере они являются комментарием 620 и рейтингом 630, как было описано выше. Можно также добавить имена других свойств 350, такие как порядок 610, указывающий порядок, в котором элементы 320 списка должны отображаться, и любая другая информация 640, которую пользователь может счесть полезной для элементов такого типа (например, где или когда был получен данный фотоснимок).
На фиг.7 представлен вид пользовательского интерфейса, содержащего набор элементов, который можно использовать в статическом списке, сформированном согласно изобретению. Как показано на чертеже, набор элементов представляет собой "Мои фотоснимки" 710, и содержит шесть фотоснимков - фотоснимок А 720А, фотоснимок В 720В, фотоснимок С 720С, фотоснимок D 720D, фотоснимок Е 720Е и фотоснимок F 720F.
На фиг.8 представлен вид пользовательского интерфейса 800, отображающего примерный статический список 810, содержащий некоторые элементы, показанные на фиг.7, сформированный согласно настоящему изобретению. Используя примерный статический список, описанный со ссылкой на фиг.5, статический список, обозначенный как "Хорошие снимки жирафа" 810, показан в виде двух из шести фотоснимков, представленных на фиг.6, включая фотоснимок А 720А и фотоснимок В 720В, соответствующие целевым элементам 520А и 520В (фиг.5). Сопровождающие тексты "Какая длинная шея!" 820А и "Скажи сыр!" соответствует свойствам 530А и 530В комментария.
На фиг.9 представлен вид пользовательского интерфейса 900, отображающего еще один примерный статический список 910, который содержит примерный статический список 810, показанный на фиг.8, согласно настоящему изобретению. Кроме того, статический список 910, названный как "Мой рассказ о сафари", дополнительно содержит тексты "Мы видели жирафов " 920Х и "Потом мы видели слонов " 920Y, которые будут соответствовать свойствам 130, определенным для отношений 110 в статическом списке 910, например свойству 130 примечания, определенному шаблоном 340 записи для корневого элемента 320 списка для рассказа о сафари. В данном случае целевыми элементами 150 являются фотоснимки слонов (фотоснимок D 720D и фотоснимок F 720F), а также первоначальный статический список 810, показанный на фиг.8. Таким образом, проиллюстрировано, что статические списки могут иметь целевые элементы, которые действительно являются другими статическими списками, т.е. статические списки можно вкладывать друг в друга.
На фиг.10 изображены другие аспекты концептуальной модели хранения для определения изображения, которое можно приложить к статическому списку, сформированному согласно настоящему изобретению. Изображение 1010 представляет собой совокупность информационных данных 1020 свойств. Информационные данные 1020 свойств указывают имя 1030 свойства и характеристики отображения соответствующих свойств 130, которые определены для элементов 150 и отношений 110, составляющих статический список 310. Изображение 1010 прикладывается к статическому списку 310 посредством нахождения свойств 130 по именам 1030 свойств и применения характеристик отображения к значениям свойств 130 при подготовке введения этих значений в пользовательский интерфейс для отображения списка пользователю, такой как пользовательские интерфейсы, показанные на фиг.8 и 9.
На фиг.11 представлена структурная схема универсальной вычислительной системы, пригодной для содержания в ней статических списков, сформированных согласно изобретению. Система 1100 содержит персональный компьютер 1102, имеющий процессор 1122, системную память 1124 и системную шину 1126, которая связывает системную память с процессором 1122. Системная память 1124 включает в себя постоянное запоминающее устройство (ПЗУ) 1128 и оперативное запоминающее устройство (ОЗУ) 1130. Базовая система 1132 ввода/вывода (BIOS), содержащая основные программы, способствующие передаче информации между элементами в персональном компьютере 1102, например, во время запуска, хранится в ПЗУ 1128. Персональный компьютер 1102 также содержит накопитель 1134 на жестких дисках, накопитель 1138 на магнитных дисках, например, для считывания со съемного диска 1140 и записи на него, и накопитель 1142 на оптических дисках, например, для считывания с диска 1144 CD-ROM, или для считывания или записи на других оптических носителях. Накопитель 1134 на жестких дисках, накопитель 1138 на магнитных дисках и накопитель 1142 на оптических дисках подсоединены к системной шине 1126 через интерфейс 1154 накопителя на жестких дисках, интерфейс 1156 накопителя на магнитных дисках и интерфейс 1160 накопителя на оптических дисках, соответственно. Накопители и связанные с ними машиночитаемые носители обеспечивают энергонезависимое запоминающее устройство для персонального компьютера 1102. Несмотря на то, что представленное выше описание машиночитаемых носителей относится к жесткому диску, съемному магнитному диску и диску CD-ROM, специалистам будет понятно, что в данной примерной операционной среде можно также использовать и другие типы носителей, считываемые компьютером, такие как магнитные кассеты, карты флэш-памяти, цифровые видеодиски, картриджи, диски Бернулли, zip-диски и т.п.
На накопителях и ОЗУ 1130 можно хранить целый ряд программных модулей, включая операционную систему 1146, одну или более прикладных программ 1148, другие программные модули 1150, такие как расширения и интерфейсы согласно настоящему изобретению, и программные данные 1152, включающие в себя данные элементов команд и положения вставки, согласно настоящему изобретению. Пользователь может вводить команды и информацию в персональный компьютер 1102 через устройства ввода, такие как клавиатура 1160 или мышь 1162. Другие устройства ввода (не показаны) могут включать в себя микрофон, сенсорную панель, джойстик, игровую приставку, спутниковую тарелку, сканнер или т.п. Эти и другие устройства ввода часто подключаются к процессору 1122 через интерфейс 1164 пользовательского ввода, который подсоединен к системной шине, но они могут также подсоединяться и через другие устройства сопряжения (не показано), такие как игровой порт или универсальная последовательная шина (USB). Устройство 1190 отображения также подсоединено к системной шине 1126 через подсистему отображения, которая обычно содержит интерфейс графического отображения (не показан) и кодирующий модуль, иногда именуемый как драйвер отображения, для взаимодействия с интерфейсом графического отображения. Несмотря на то, что устройство 1190 показано как отдельно стоящее устройство, его можно интегрировать в корпус персонального компьютера 1102. Кроме того, в других вычислительных системах, пригодных для реализации изобретения, таких как ПЦП, устройство отображения может быть реализовано в виде сенсорного экрана. Кроме элементов, проиллюстрированных на фиг.11, клиентские устройства также обычно имеют другие периферийные устройства вывода, такие как динамики или принтеры (не показаны).
Персональный компьютер 1102 может работать в сетевой среде с использованием логических соединений с одним или более удаленными компьютерами, такими как удаленный компьютер 1165. Удаленный компьютер 1165 может быть сервером, маршрутизатором, одноранговым устройством или другим обычным сетевым узлом, и обычно он включает в себя многие или все элементы, описанные для персонального компьютера 1102. Логические соединения, показанные на фиг.11, включают в себя локальную вычислительную сеть (ЛВС) 1166 и глобальную вычислительную сеть (ГВС) 1167. ЛВС 1166 и ГВС 1167 могут быть проводными, беспроводными или их комбинацией. Такие сетевые среды обычно используются в учрежденческих, промышленных и корпоративных локальных сетях и Интернет.
При использовании в сетевой среде ЛВС персональный компьютер 1102 подключен к ЛВС 1166 через сетевой интерфейс 1168. При использовании в сетевой среде ГВС персональный компьютер 1102 обычно содержит модем 1169 или другое средство для установления связи через ГВС 1167, например Интернет. Модем 1169, который может быть встроенным или внешним, подключен к системной шине 1126 через интерфейс 1164 пользовательского ввода. В сетевой среде программные модули, показанные в связи с персональным компьютером 1102, или их части, могут храниться в удаленном запоминающем устройстве. Понятно, что показанные сетевые соединения являются всего лишь примерами и можно использовать другие средства для обеспечения коммуникационных линий между компьютерами. Кроме того, ЛВС 1166 и ГВС 1167 можно использоваться в качестве источника энергонезависимой памяти для системы.
На фиг.12 представлен алгоритм, иллюстрирующий логику, выполняемую универсальной вычислительной системой, для управления данными с использованием статических списков, сформированных согласно изобретению. В процессорном блоке 1210 пользователь дополнительно определяет, какие свойства ему необходимы для каждого отношения списочной записи, т.е. шаблон списочной записи. В этом случае, при использовании того же самого примера, отношение списочной записи определяется как имеющее, по меньшей мере, два свойства, которые описывают комментарий, связанный с целевыми снимками, а также рейтинг. Процессор 1220 использует данные определения для создания статического списка, включая создание отношений списочной записи, в ответ на пользовательский ввод в шаблон записи. Например, в зависимости от типа графического пользовательского интерфейса, применяемого в данном варианте, пользователь может перетащить произвольно выбранные целевые фотоснимки (в данном случае фотоснимок А 520А/720А и фотоснимок В 520В/720В) из пользовательского интерфейса 710, показанного на фиг.7, в пользовательский интерфейс 810, изображенный на фиг.8. Это действие пользователя запустит создание отношений списочной записи в статическом списке в соответствии с шаблоном 340 списочной записи (фиг.3 и фиг.5).
В одном варианте изобретения обработка продолжается в блоке 1230 процесса, где пользователь может выбрать приложение ранее определенного для списка 1010 изображения, чтобы отобразить в блоке 1240 процесса содержание списка на пользовательском интерфейсе, таком как пользовательский интерфейс 810, показанный на фиг.8.
На фиг.13 показан алгоритм, иллюстрирующий логику, выполняемую универсальной вычислительной системой, для перемещения элементов между статическими списками, сформированными согласно изобретению. Процесс начинается в заранее определенном блоке 1310 процесса в ответ на пользовательский ввод, предписывающий переместить элемент из одного статического списка в другой. Обработка начинается в блоке 1320 процесса, где процессор удаляет отношение списочной записи, связанное с выбранным элементом, из текущего статического списка. В блоке 1330 процесса процессор создает новый экземпляр типа отношения списочной записи для нового списка. В блоке 1340 решения процесс определяет, является ли созданный тип отношения тем же самым, что и тип отношения списочной записи, который был только что удален из старого списка. Если да, то обработка продолжается в блоке 1350 процесса, где процессор копирует свойства старого отношения списочной записи в новое отношение. Так, например, если тип отношения указан как "хорошие снимки жирафа", то те же самые свойства комментариев и рейтингов будут скопированы в определенный алгоритм, иллюстрирующий логику, выполняемую универсальной вычислительной системой для копирования элементов между статическими списками, сформированными согласно настоящему изобретению. Процесс начинается в заранее определенном блоке 1410 в ответ на пользовательский ввод, предписывающий скопировать элемент из одного статического списка в другой. Подобно логике перемещения, описанной со ссылкой на фиг.13, в блоке 1420 процесса процессор создает новый экземпляр типа отношения для нового списка. В блоке 1430 решения процесс определяет, является ли созданный тип отношения списочной записи тем же самым, что и тип отношения, определенный в первоначальном списке. Если да, то обработка продолжается в блоке 1440 процесса, где процессор копирует свойства первоначального отношения списочной записи в новое отношение.
На фиг.15 показан алгоритм, иллюстрирующий логику, выполняемую универсальной вычислительной системой, для добавления элементов к статическим спискам, сформированным согласно настоящему изобретению. Процесс начинается в заранее определенном блоке 1510 в ответ на пользовательский ввод, предписывающий добавить новый элемент в статический список. В блоке 1520 обработки процессор создает новый экземпляр типа отношения списочной записи для данного списка.
На фиг.16 представлен алгоритм, иллюстрирующий логику, выполняемую универсальной вычислительной системой, для удаления элементов из статических списков, сформированных в соответствии с настоящим изобретением. Процесс начинается в заранее определенном блоке 1610 в ответ на пользовательский ввод, предписывающий удалить элемент из статического списка. В блоке 1620 обработки процессор удаляет отношение списочной записи из списка.
На фиг.17 представлен алгоритм, иллюстрирующий логику, выполняемую универсальной вычислительной системой, для уничтожения элементов из статических списков, сформированных согласно изобретению. Процесс начинается в заранее определенном блоке 1710 обработки в ответ на пользовательский ввод, предписывающий уничтожить элемент из статического списка. В блоке 1720 процесса процессор сначала определяет все отношения списочной записи, существующие там, где уничтожаемый элемент является целью. После выполнения процессор удаляет все отношения списочной записи из списка, где данный элемент списка является целевым элементом 104. В блоке 1730 обработки процессор уничтожает сам элемент.
На фиг.18 показан общий вид реализации статических списков, сформированных согласно настоящему изобретению, с использованием XML файлов. В системе 1102 обработки (фиг.11), которая использует обычную файловую систему, может быть предпочтительным реализовать статические списки с использованием XML файла 1810 для представления не удерживающих ссылок 1830 на элементы 150 в списке 310. Под "не удерживающими ссылками" 1830 подразумеваются те ссылки, по которым невозможно динамически решить, должен ли сам элемент изменить положение или быть удален. XML файл 1810 позволяет системе 1102 обработки располагать последовательно связи со ссылочными элементами в форме данных 1840 связи с оболочкой. Данные 1840 связи с оболочкой используются в пользу любого абсолютного пути, ссылающегося на элемент 150, если он содержит постоянный моникер к ссылочному элементу. Данные 1840 связи с оболочкой также содержат подсказки, которые позволяют системе 1102 обработки разрешать ссылку 1830 в тех случаях, когда целевой элемент был перемещен. Например, подсказки могут содержать такие сведения, как дата создания элемента и различные формы пути файловой системы.
XML файл 1810 также позволяет системе 1102 обработки сохранять и отслеживать определенные пользователем произвольные метаданные 1820 для представления свойств 130 элементов 150 и отношений 110. При такой реализации свойства 130 идентифицируются посредством присвоенного им глобально уникального идентификатора (GUID) и идентификатора свойства, который также называется PROPERTYKEY в операционной системе Windows®. Метаданные 1820 можно также успешно применять для распространения определенных признаков безопасности статических списков на ссылочные элементы 150.
На фиг.19 показан общий вид 1900 реализации статических списков, сформированных в соответствии с настоящим изобретением при использовании контейнеров файловой системы. В системе 1102 обработки (фиг.11) с применением более совершенной файловой системы для управления данными с помощью реляционной базы данных предпочтительно моделировать статический список 320 как контейнер 1910 файловой системы. Контейнер 1910 файловой системы является файловым объектом, который содержит удерживающие ссылки 1920 на элементы 150, а также отношения 110 между элементами, в зависимости от того, хранятся ли ссылочные элементы в том томе, что и контейнер 1910.
В примерном рабочем сценарии пользователь желает создать список документов, чтобы проводить презентации нового продукта для клиентов, например тормозной колодки. Эти документы включают в себя различные документы Word®, детально описывающие технологию тормозной колодки, представление PowerPoint®, изображения тормозных колодок и даже несколько видеофайлов, показывающих тормозные колодки в работе с помощью инфракрасной камеры. Пользователь предоставляет эту презентацию различным клиентам, которые имеют разные потребности, запросы и пожелания. Поэтому пользователь должен обеспечить соответствие презентации требования заказчиков. С помощью статических списков пользователь может создавать различные статические списки, каждый из которых содержит ссылки на одни и те же элементы, но в разном порядке (чтобы адаптировать презентацию к аудитории). Пользователь может также включить в нее различные важные свойства. Например, для одного клиента открыто показываются торговые цены всех элементов (возможно даже специфические для клиента), а для других клиентов торговая цена маскируется. В еще одном примере пользователь может включить свойства, которые раскрывают самые последние детали гарантий и призов, которые они получили.
В таком примерном сценарии статические списки ведутся автоматически. Когда пользователь удаляет один из документов из одного из списков, этот документ все еще доступен во всех других списках, где имеется его ссылка. С другой стороны, когда пользователь удаляет один из документов из папки, в которой он находится постоянно, все списки со ссылкой этого документа обновляются посредством уничтожения данной ссылки, чтобы она больше не отображалась как недействующая связь.
В результате вышесказанного пользователь может успешно создавать неограниченное количество статических списков, адаптированных для конкретной публики, и в то же время исключить проблемы управления всеми ссылками, содержащимися в этих списках.
Несмотря на то, что были проиллюстрированы и описаны варианты изобретения, предпочтительные в настоящее время, понятно, что можно внести различные изменения, не выходя за рамки объема притязаний изобретения. Например, следует отметить, что любой из описанных выше вариантов реализации изобретения можно использовать в системе 1102 обработки независимо от типа применяемой файловой системы. Может быть целесообразным представление статического списка как XML файла 1810 даже в системе 1102 обработки, способной использовать контейнеры 1910, если требуется обеспечить способность к взаимодействию с системами, использующими более обычные файловые системы. Более того, в других вариантах, независимо от типа используемой файловой системы, элементы в статическом списке можно представлять пользователю с помощью любого пользовательского интерфейса, включая папку в пользовательском интерфейсе оболочки Windows®. Так как различные операции выполняются на статическом списке или на элементах этого списка, эти операции либо обрабатываются папкой, либо делегируются цели данного ссылочного элемента, т.е. целевому элементу.
Несмотря на то, что был описан и проиллюстрирован предпочтительный вариант изобретения, понятно, что в него можно внести различные изменения, не выходящие за рамки объема, определяемого формулой изобретения.
Класс G06F7/00 Способы и устройства для обработки данных с воздействием на порядок их расположения или на содержание обрабатываемых данных
Класс G06F9/04 с применением носителей информации, содержащих только программные команды