СИСТЕМА И СПОСОБ ДЛЯ ДИНАМИЧЕСКОГО ГЕНЕРИРОВАНИЯ РАСШИРЕНИЯ ДОПУСКАЮЩЕГО ВЫБОР ПОИСКА
SYSTEM AND METHOD FOR DYNAMIC GENERATION OF EXTENSION WHICH ALLOWS FOR SEARCH SELECTION

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Это изобретение относится к области вычислительной техники и, более конкретно, к платформе для автоматического генерирования, допускающего выбор поиска по мере того, как пользователь вводит элементы поиска, например, для сопоставления файловых атрибутов или контента с файлами в файловой системе, этот поиск может представляться в стиле прокручиваемых слов и расширять уровень директорий или другую точку или уровень в файловых иерархиях, в которых может выполняться поиск.
УРОВЕНЬ ТЕХНИКИ
В области операционной системы, проектирования приложений и других областях часто возникает необходимость в мощном и гибком средстве поиска для поиска в хранилище пользователя. Пользователь может желать, например, осуществить поиск в его или ее накопителе на жестких дисках для определения местоположения всех файлов некоторого типа или расширения, такого как ".doc", ".jpg", ".memo", ".report" или других, чтобы извлечь документы для редактирования, печати, для обработки другими способами. Пользователь может подобным образом желать осуществить поиск файлов, на основе ассоциированных метаданных, таких как размер файла или дата создания или модификации. Пользователь может временами также выбирать осуществлять поиск файлов, базируясь на внутреннем контенте файла, таком как требуемый текст или числа. Необходимость эффективно инициировать и выполнять эти поиски становится особенно острой, когда пользователь пытается осуществить просмотр большого количества файлов или данных. Эта ситуация может возникать, например, когда пользователь осуществляет исследование списка государственных заказчиков в пакете CRM или обновляет файлы контактов или совместно используемые документы в большой корпорации или другой организации. В других случаях пользователь может желать осуществить сортировку или поиск в коллекции или каталоге музыкальных, видео или других носителей или файловых данных. Некоторые инструменты и средства поиска были развиты в ответ на требования крупномасштабного файлового поиска и другие.
Например, некоторые приложения и другие пакеты могут предоставлять пользователю интерфейс поиска типа окна ввода, где пользователь может вводить элементы (критерии) поиска, такие как расширения файлов или другие атрибуты, или внутрифайловые символы, или текст. По мере того, как поиск, например, по локальному накопителю на жестких дисках и ассоциированной файловой системе, производится, файлы, которые частично или полностью соответствуют введенным атрибутам или тексту, могут отображаться пользователю для выбора или манипулирования.
Однако существующие инструменты поиска могут быть стеснены некоторыми ограничениями в удобстве использования или функциональности. Например, даже такие инструменты поиска, какие существуют, просто представляют результаты, собранные из поиска в клиентской или другой файловой системе в текущем уровне или точке в иерархии файловой системы. Таким образом, если никакие результаты не найдены в заданной директории или папке, от пользователя может потребоваться перезапустить и повторно ввести другой поиск в другой директории или папке, даже когда используются одни и те же критерии поиска. Подобным образом, существующие инструменты поиска не допускают параллельное исполнение поисков по обоим файловым атрибутам (расширению, имени и т.д.), также как глубокий или внутренний файловый поиск, например, для сопоставления текстовых строк. Существуют другие проблемы в управлении файлами и технологии поиска.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Настоящее изобретение, преодолевающее эти и другие проблемы в данной области техники, относится в одном отношении к системе и способу для динамического генерирования расширения допускающего выбор поиска, в котором пользователь может инициировать поиск по файловой системе, на основе файловых атрибутов или контента в текущем уровне или точке в иерархии файловой системы. В вариантах осуществления платформа изобретения может автоматически генерировать оперативные (налету) результаты, отражая соответствия с файлами внутри текущего уровня или точки иерархии файловой системы. Например, платформа может отображать промежуточный набор файлов, чье имя, дата, размер, автор или другие атрибуты или текстовый или другой контент соответствуют введенному критерию или критериям поиска, по мере того, как пользователь вводит эти критерии (элементы). Согласно вариантам осуществления изобретения в другом отношении, когда немедленные результаты для введенных критериев поиска пользователя не отображают никаких или слишком мало соответствий каким-либо файлам в текущем уровне или точке в иерархии файловой системы, или на основании других условий, окно допускающего выбор поиска может автоматически генерироваться и представляться. В вариантах осуществления окно поиска может динамически предлагать автоматическое завершение строк для предложенных или потенциальных критериев поиска. Окно допускающего выбор поиска может в вариантах осуществления представляться пользователю в подсвеченной форме и позволять пользователю расширять поиск, используя один и тот же ввод поиска или критерии для других уровней с помощью щелчка по кнопке мыши или иного способа выбора другого уровня или точки в иерархии файловой системы, которые могут подсвечиваться или представляться в интерфейсе меню для быстрой активации.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 иллюстрирует платформу, в которой система и способ для динамического генерирования допускающего выбор поиска, на основании введенных элементов поиска, может работать согласно вариантам осуществления этого изобретения.
Фиг.2 иллюстрирует средство или интерфейс поиска, включающий в себя окно ввода поиска, согласно вариантам осуществления этого изобретения.
Фиг.3 иллюстрирует средство или интерфейс поиска согласно вариантам осуществления этого изобретения в другом отношении, включающее в себя многоуровневый поиск.
Фиг.4 показывает блок-схему последовательности операций полной обработки расширения поиска согласно вариантам осуществления этого изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
TM
TM
Фиг.1 показывает архитектуру, в которой могут работать система и способ согласно одному варианту осуществления этого изобретения. Как показано на этом чертеже, пользователь может использовать и манипулировать пользовательским интерфейсом 104 на клиенте 102 под управлением некоторой операционной системы 108, например, для управления одним или более приложениями в наборе приложений 110 и выполнения других задач. Клиент 102 может включать в себя хранилище 106, такое как накопитель на жестких дисках, накопитель на оптических дисках, такие как CD-ROM или DVD-ROM, электронные носители или другие носители или хранилище. В вариантах осуществления хранилище 106 может включать в себя файловую систему 118, эта система может физически или логически кодировать программы и данные, хранимые в хранилище 106, как например, в директории, файле, библиотеке, дереве или другой иерархической или другой структуре. Согласно вариантам осуществления этого изобретения файловая система 118 может быть или включать в себя файловую систему Windows (WFS), включенную в последующие поколения семейства операционных систем Microsoft Windows. Могут использоваться другие файловые системы, операционные системы и соответствующие ресурсы.
В течение работы и использования клиента 102 пользователь может осуществлять доступ к хранилищу 106 и файловой системе 118 для выполнения таких задач, как определение местоположения, открытие, модификация и сохранение файлов и других объектов. Задачи, которые пользователь может выполнять, могут включать в себя поиск одного или более файлов или других объектов, например, для открытия этих файлов, используя одно или более приложений в наборе приложений 110, для перечисления набора локальных файлов, например для генерирования полного подсчета количеств файлов некоторого типа, для определения местоположения и удаления устаревших файлов, или других целей или задач. Согласно вариантам осуществления этого изобретения в одном отношении пользователь может манипулировать пользовательским интерфейсом 104 для инициирования и выполнения задач поиска файлов, например, используя одно или более средств, типов файлов, объектов или других признаков, включенных в или поддерживаемых операционной системой 108.
В вариантах осуществления, как показано, пользователь может соответственно активировать окно 112 ввода элементов (критериев) поиска, например, посредством осуществления выбора файлового меню внутри одного или более экранных изображений в операционной системе 108, такой как те экранные изображения или представления, которые генерируются посредством щелчка кнопкой мыши по или активирования пиктограммы "Мой компьютер" или других пиктограмм, боковых панелей, меню или других ресурсов. Пользователь может реагировать на окно 112 ввода элементов поиска посредством введения одного или более элементов поиска, относящихся к интересующему файлу или файлам. Например, пользователь может желать видеть все файлы с требуемыми атрибутами, такие как файлы, имеющие ".doc", ".memo", ".report", ".txt", ".jpg" или другое расширение, или которые были созданы заданным пользователем или на некоторую дату. Возможны другие расширения или атрибуты, такие как время, язык, размер файла или другой атрибут одного или более файлов внутри файловой системы 118. Пользователь может в другом отношении подобным образом осуществлять поиск файлов внутри файловой системы 118 на основании внутреннего текста, символе, номерах или другом контенте этих файлов и вводить эти элементы поиска соответственно. Элементы (критерии) поиска, структуры данных и соответствующие ресурсы могут в вариантах осуществления быть, включать в себя или быть связанными с, например, теми, что описаны в вышеупомянутых патентной заявке США серийный номер 10/440035 и патентной заявке США серийный номер 10/403341, или другими схемами поиска или механизмами.
Как показано на Фиг.2, согласно вариантам осуществления этого изобретения в одном отношении, по мере того, как пользователь начинает вводить один или более элементов поиска в окно 112 ввода элементов поиска, система может реагировать (отвечать) посредством автоматического генерирования и представления окна 114 поиска. Окно 114 поиска может отражать активность поиска и логику в ответ на введенные элементы поиска. Согласно вариантам осуществления, как показано, окно 114 поиска может включать в себя, например, в верхней части панели меню, список (листинг) набора атрибутов для файлов, которые соответствуют введенному элементу поиска или частичному элементу поиска. Согласно вариантам осуществления листинг набора атрибутов может генерироваться способом оперативно (on-the-fly), немедленно или в реальном времени, так что по мере того, как каждая новая буква, символ, число или другой символ в элементе поиска печатается или иным способом вводится, результаты могут отображаться немедленно.
В вариантах осуществления, как показано, оперативные результаты могут включать в себя вводное вычисление полного количества файлов, соответствующих введенному элементу поиска или частичному элементу поиска, вплоть до этого момента времени. Можно отметить, что, как показано на Фиг.2, когда, например, более чем одно значение свойства соответствует строке или элементу поиска, пользователю может представляться строка меню, показывающая, что свойство "содержит" строку или элемент поиска, как, например, "Имя содержит 'lo'", как показано. То есть в иллюстративном примере многочисленные имена в представлении могут содержать строку 'lo', например, "Logan", "Lorraine", "Lomar" или другие. С другой стороны, когда имеется только одно уникальное свойство в представлении, которое соответствует строке или элементу поиска, пользователю может представляться строка меню, показывающая, что свойство "является" строкой или элементом поиска, как, например, "Город - Лос-Анджелес", как показано. Возможны другие интерфейсы и форматы для отображения результатов.
Согласно вариантам осуществления этого изобретения в одном отношении оперативные результаты поиска для файловых атрибутов могут генерироваться из поиска файлов, отображаемых в текущем списке. В вариантах осуществления эти файлы могут располагаться в единичной директории или местоположении, или в многочисленных местоположениях. Как дополнительно показано на Фиг.2, пока имеет место активность оперативного поиска для файловых атрибутов, согласно вариантам осуществления может быть инициирована активность дополнительного поиска. Более конкретно, как показано, окно 114 поиска может представлять в нижнем разделе меню или иным образом набор ресурсов дополнительного поиска в иллюстративном случае, включающем в себя одну или более строк, показывающих внутренний (или глубокий) файловый поиск, который может происходить параллельно или последовательно с оперативным поиском для файловых атрибутов. В иллюстративном примере файлы в текущей точке или уровне файловой системы 118 могут, таким образом, проверяться на внутренний текст ("lo") по мере того, как этот текст вводится пользователем. Файлы, содержащие эту текстовую строку, могут располагаться и представляться в окне 114 поиска по мере того, как определяется их местоположение. Скорость, с которой могут генерироваться внутренним образом ищущиеся успешные обнаружения, может варьировать согласно количеству файлов в текущей точке или уровне в файловой системе 118, введенным элементам (критериям) поиска, типу или существованию индексации для этой файловой системы или другим факторам.
Таким образом, согласно изобретению в одном отношении пользователю, который инициирует активность поиска, может представляться многоэлементное представление результатов в реальном времени по мере того, как они генерируются, включая результаты сопоставления для файловых атрибутов (иллюстративно, верхняя половина окна 114 поиска) и для внутреннего файлового контента (нижняя половина), в то же время и без необходимости активировать какие-либо дополнительные варианты выбора, чтобы это делать.
Более того, согласно вариантам осуществления изобретения в дополнительном отношении, по мере того, как результаты, представленные в окне 114 поиска, развертываются, пользователю могут представляться дополнительные автоматические варианты выбора для расширения их активности поиска, для других точек или уровней файловой системы 118 или иное. В таких случаях и как более конкретно показано на Фиг.3, согласно вариантам осуществления изобретения система может возвращать результаты поиска в текущем уровне 120 файловой системы 118. Эти результаты могут сопровождаться представлением в окне 114 поиска автоматически сгенерированных расширений или опций поиска. В вариантах осуществления, как показано, эти расширения могут включать в себя подсвечивание другого или модифицированного уровня 122 или другой точки или местоположения в файловой системе 118, к которой могут применяться такие же элементы поиска, введенные пользователем, в попытке определить местоположение большего количества или дополнительно соответствующих файлов или других успешных обнаружений.
Пользователь может, например, подсвечивать модифицированный уровень 122, такой как корпоративная директория или список контактов организации, папка персональных файлов или библиотека, список файлов, к которым в самое последнее время осуществлялся доступ, или другая модифицированная, или другая точка, или уровень в файловой системе 118, для активации этого дополнительного поиска в этом местоположении. Результаты этого продолженного или расширенного поиска могут, подобным образом, представляться в окне 114 поиска или иным образом. Модифицированный уровень 122 может выбираться, например, на основании заданных реляционных правилах, таких как перемещение на один уровень вверх или один уровень вниз в файловой системе 118, с помощью логических правил, таких как перемещение к директориям с соответствующими или связанными именами, или которые находятся в родительском, дочернем или другом отношении к текущему уровню 120, с помощью устанавливаемых по умолчанию установок, таких как просмотр в списке файлов, к которым наиболее в последнее время осуществлялся доступ, или с помощью других правил или критериев.
Варианты выбора (опции) поиска, предоставляемые пользователю, могут, таким образом, автоматически наполняться, чтобы осуществлять просмотр в дополнительно заданных или логически связанных местах в файловой системе 118, без необходимости для пользователя вручную изменять директорию или другой иерархический уровень, который он просматривает. В вариантах осуществления представление опций расширения поиска может автоматически представляться независимо от количества или типа результатов в текущем уровне 120 файловой системы или других параметров. В других вариантах осуществления инициирование опций (вариантов выбора) расширения поиска в окне 114 поиска может быть обусловлено по определенным критериям, таким как, когда поиск для атрибутов и контента на основании полного или частичного поиска, не генерирует никаких соответствующих результатов, или меньше успешных обнаружений, чем пользователь находит необходимым. В вариантах осуществления пользователь может вводить минимальные пороги или они могут устанавливаться по умолчанию. Возможны другие условия инициирования.
Фиг.4 показывает полный поиск и обработку управления файлами согласно вариантам осуществления настоящего изобретения. На этапе 402 обработка может начинаться. На этапе 404 пользователь может инициировать опцию файлового поиска, например, посредством выбора панели инструментов управления файлами в операционной системе, посредством выбора средства файлового поиска в приложении, которое, в свою очередь, вызывает ресурсы операционной системы, или посредством другого меню или средств выбора. На этапе 406 пользовательский ввод может приниматься через окно 112 ввода элементов поиска или другие интерфейсы, например, принимая печатаемые элементы поиска. На этапе 408 активность оперативного поиска может инициироваться для поиска файловых атрибутов в текущем уровне в файловой системе 118, как например, в текущей директории, папке или другой точке или уровне в иерархии файловой системы, на основании пользовательского ввода. Например, все файлы с расширением ".memo" или созданные автором "Smith" могут быть отысканы и сортироваться в текущей точке или уровне в файловой системе 118.
На этапе 410 текущие результаты оперативного поиска для атрибутов в текущем уровне в файловой системе 118 могут представляться пользователю, например, через окно 114 поиска, способом типа прокручиваемых слов или иначе. На этапе 412 последовательный или параллельный глубокий файловый поиск, например, включающий в себя открытие и поиск файлов внутренним образом, или индексов файлов, для текста или строк, совпадающих с пользовательским вводом, может инициироваться в текущей точке или уровне в файловой системе 118, например, внутри текущей директории или папки.
На этапе 414 результаты оперативного глубокого поиска внутреннего содержимого (контента) файлов могут представляться пользователю, например, через окно 114 поиска, например, отделенное от результатов поиска в реальном времени, на основании файловых атрибутов, посредством разделителя или линии в меню. На этапе 416 в зависимости от результатов оперативного атрибутного и/или глубокого файлового поиска пользователю может представляться окно расширения допускающего выбор поиска, чтобы расширить поиск, на основе в настоящее время введенных элементах поиска, до других точек или уровней в иерархии файловой системы 118.
На этапе 418 расширение поиска до другой точки или уровня в файловой системе 118 может инициироваться, например, когда пользователь активирует подсвеченную директорию, файл или другое приглашение в окне 114 поиска. В вариантах осуществления одни и те же элементы поиска, которые пользователь ввел в окно 112 ввода элементов поиска, могут быть предварительно вставлены в подсвеченную часть окна 114 поиска, или что-либо другое. В вариантах осуществления оперативные результаты могут аналогично представляться через окно 114 поиска как многоуровневое расширение для продолжения активности поиска.
На этапе 420 представление в окне 114 поиска или другой интерфейс могут обновляться для отображения выбранных пользователем или подсвеченных файлов или других результатов, например, щелкнутого мышью или подсвеченного файла или набора файлов, расположенных в другом уровне файловой системы 118. Файлы могут открываться, сортироваться или над ними могут быть осуществлены иные манипуляции, когда представление перемещается на новую точку или уровень в файловой системе 118. Предыдущие уровни могут сохраняться или отображаться как затененные директории, папки или другие объекты, в вариантах осуществления. На этапе 422 процесс может повторяться, возвращаться к предыдущей точке процесса, перескакивать на дальнейшую точку процесса или оканчиваться.
Предшествующее описание этого изобретения является иллюстративным, и модификации в конфигурации и варианте осуществления будут возникать для специалистов в данной области техники. Например, наряду с тем, что это изобретение, в целом, было описано в терминах платформы, в которой интерфейс отображает единичное окно поиска или средство, в вариантах осуществления многочисленные окна поиска или другие интерфейсы, например, каскадные окна поиска, могут генерироваться по мере того, как находятся соответствия или частичные соответствия.
Аналогично, наряду с тем, что настоящее изобретение в вариантах осуществления было, в общем, описано как исполняющее поиски на локальном жестком диске или другом хранилище, в вариантах осуществления автоматические поиски могут выполняться в одном или более локальном, удаленном или распределенном хранилище или файловых системах, независимо или в комбинациях. Например, для диска удаленного сервера может осуществиться поиск или может осуществляться поиск на локальном жестком диске в комбинации с сетью области хранения (SAN). Для многочисленных локальных дисков или других носителей поиск может осуществляться подобным образом, последовательно или параллельно.
Другое аппаратное обеспечение, программное обеспечение или другие ресурсы, описанные как единичные, могут в вариантах осуществления быть распределенными, и аналогично в вариантах осуществления ресурсы, описанные как распределенные, могут быть комбинированными. Дополнительно, в то время как настоящее изобретение, в общем, было описано как включающее в себя оперативные поиски, на основании единичного элемента поиска по мере того, как эта строка или элемент вводятся, в вариантах осуществления для поиска могут приниматься многочисленные или объединенные критерии поиска, например, используя булевские операции. Соответственно предполагается, что объем этого изобретения ограничивается только нижеследующей формулой изобретения.