ОБЛЕГЧЕНИЕ ВЗАИМОДЕЙСТВИЯ С ПОЛЬЗОВАТЕЛЬСКИМ ИНТЕРФЕЙСОМ ПОИСКА НА СИСТЕМНОМ УРОВНЕ
FACILITATING OF INTERACTION WITH USER SEARCH INTERFACE AT SYSTEM LEVEL

УРОВЕНЬ ТЕХНИКИ
[0001] С распространением компьютеров, объем электронных данных, которые стали доступны пользователям, значительно вырос. Хотя возможность доступа к таким большим объемам электронных данных может быть очень полезна пользователям, это не исключает возникновения проблем. Одна такая проблема состоит в том, что пользователям по-прежнему трудно находить конкретные электронные данные, которые они ищут. Например, пользователи могут сталкиваться с ситуациями, когда они осуществляют доступ к множественным разным приложениям, чтобы найти конкретные электронные данные, которые они ищут. При этом пользователи обычно запрашивают выполнение разных приложений, переходят в поисковые интерфейсы разных приложений и вводят одни и те же условия поиска (поисковые термины) в каждое из разных приложений. В результате, пользователь может прилагать большие усилия и получать негативные ощущения.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0002] Эта сущность изобретения предназначена для ознакомления с избранными концепциями в упрощенной форме, которые дополнительно описаны ниже в подробном описании. Эта сущность изобретения не призвана ни идентифицировать ключевые признаки или существенные признаки заявленного объекта патентования, ни использоваться для ограничения объема заявленного объекта патентования.
[0003] В соответствии с одним или более аспектами, символьный ввод принимается на вычислительном устройстве, когда активное(ый) в данный момент приложение или компонент вычислительного устройства не поддерживает символьные вводы. В ответ на символьный ввод отображается пользовательский интерфейс поиска на системном уровне, включающий в себя участок ввода данных, отображающий символ в качестве условия поиска.
[0004] В соответствии с одним или более аспектами, пользовательский ввод, который является сокращенным вводом с клавиатуры, принимается на вычислительном устройстве. В ответ на пользовательский ввод отображается пользовательский интерфейс поиска на системном уровне, имеющий первый участок и второй участок. На первом участке отображается условие поиска, и на втором участке отображаются идентификаторы одной или более областей, где можно производить поиск с использованием условия поиска.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0005] Одни и те же ссылочные позиции используются на протяжении чертежей для обозначения сходных признаков.
[0006] Фиг.1 иллюстрирует пример системы реализующий облегчение взаимодействия с пользовательским интерфейсом поиска на системном уровне в соответствии с одним или более вариантами осуществления.
[0007] Фиг.2, 3, 4, 5 и 6 иллюстрируют пример экранных отображений, включающих в себя пользовательский интерфейс поиска на системном уровне в соответствии с одним или более вариантами осуществления.
[0008] Фиг.7 - блок-схема, иллюстрирующая пример модуля поиска на системном уровне в соответствии с одним или более вариантами осуществления.
[0009] Фиг.8 - блок-схема последовательности операций, иллюстрирующая пример процесса регистрации для регистрации приложения с помощью модуля поиска на системном уровне в соответствии с одним или более вариантами осуществления.
[0010] Фиг.9 - блок-схема последовательности операций, иллюстрирующая пример процесса для использования пользовательского интерфейса поиска на системном уровне в соответствии с одним или более вариантами осуществления.
[0011] Фиг.10 - блок-схема последовательности операций, иллюстрирующая пример процесса для отображения идентификаторов приложений на участке идентификации поиска пользовательского интерфейса поиска на системном уровне в соответствии с одним или более вариантами осуществления.
[0012] Фиг.11 - блок-схема последовательности операций, иллюстрирующая пример процесса для облегчения взаимодействия с пользовательским интерфейсом поиска на системном уровне в соответствии с одним или более вариантами осуществления.
[0013] Фиг.12 - блок-схема последовательности операций, иллюстрирующая другой пример процесса для облегчения взаимодействия с пользовательским интерфейсом поиска на системном уровне в соответствии с одним или более вариантами осуществления.
[0014] Фиг.13 иллюстрирует пример вычислительного устройства, которое может быть выполнено с возможностью реализации пользовательского интерфейса поиска на системном уровне в соответствии с одним или более вариантами осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
[0015] Здесь рассмотрено облегчение взаимодействия с пользовательским интерфейсом поиска на системном уровне. Пользовательский интерфейс поиска на системном уровне (UI) обеспечивает централизованный UI, который позволяет пользователям вводить условие поиска (поисковый термин) и производить поиск по этому условию поиска в множественных разных областях, включающих в себя множественные разные приложения. Конкретные приложения, которые пользователь может искать с использованием UI поиска на системном уровне, регистрируются с помощью UI поиска на системном уровне, предоставляя различную информацию, касающуюся приложений. UI поиска на системном уровне использует эту регистрационную информацию для определения, как идентифицировать эти разные приложения пользователю, как запускать приложения, и т.д. Набор сокращенных вводов с клавиатуры позволяет пользователям быстро производить поиск с использованием любой из областей, и быстро просматривать предварительные обзоры (например, отсчеты) результатов, которые возвращает каждая из областей. Дополнительно, UI поиска на системном уровне позволяет пользователям легко выделять (устанавливать в фокусе) разные записи результатов поиска и эффективно менять области для поиска.
[0016] Фиг.1 иллюстрирует пример системы 100, реализующей облегчение взаимодействия с пользовательским интерфейсом поиска на системном уровне в соответствии с одним или более вариантами осуществления. Система 100 включает в себя вычислительное устройство 102, которое может, в необязательном порядке, осуществлять связь с одним или более (x) других устройств 104(1), …, 104(m) через сеть 106. Сеть 106 может представлять собой множество разных сетей, включая интернет, локальную сеть (LAN), персональную сеть (PAN), сеть хранения данных (SAN), публичную телефонную или другую телефонную сеть, интрасеть, другие публичные и/или частные сети, их комбинации, и т.д.
[0017] Вычислительное устройство 102 может представлять собой множество разных типов устройств, например, физическое устройство или виртуальное устройство. Например, вычислительное устройство 102 может быть физическим устройством, например настольным компьютером, блокнотным или планшетным компьютером, нетбуком или портативным компьютером, компьютером-сервером, мобильной станцией, увеселительным приспособлением, телевизионной приставкой, коммуникативно подключенной к устройству отображения, телевизором или другим устройством отображения, сотовым или другим беспроводным телефоном, игровой консолью, автомобильным компьютером и т.д. Вычислительное устройство 102 также может быть виртуальным устройством, например, виртуальной машиной, выполняющейся на физическом устройстве. Виртуальная машина может выполняться на любом из множества разных типов физических устройств (например, на любом из различных вышеперечисленных типов). Дополнительно, хотя оно проиллюстрировано как единое устройство 102, следует отметить, что компоненты или модули вычислительного устройства 102 могут быть реализованы как система из множественных устройств, причем компоненты или модули распределены по разным устройствам в системе.
[0018] Устройства 104 могут представлять собой множество разных вычислительных устройств, способных осуществлять связь с вычислительным устройством 102. Вычислительное устройство 102 может, в необязательном порядке, обращаться к одному или более устройств 104 для получения различной информации, что более подробно рассмотрено ниже. По аналогии с рассмотренным вычислительным устройством 102, устройства 104 могут представлять собой множество разных типов устройств. Устройства 104 могут представлять собой устройства того же типа, что и вычислительное устройство 102, или, альтернативно, другого типа. В системе 100, вычислительное устройство 102 проиллюстрировано как осуществляющее связь с устройствами 104 через сеть 106. Альтернативно, вычислительное устройство 102 может осуществлять связь с устройствами 104 через другие типы механизмов связи или соединений, например, различные проводные и/или беспроводные соединения (например, соединения универсальной последовательной шины (USB), беспроводные соединения USB, соединения Bluetooth, соединения IEEE 1394 и т.д.).
[0019] Вычислительное устройство 102 включает в себя операционную систему 110 и одно или более приложений 112. Операционная система 110 управляет запуском и выполнением приложений 112 на вычислительном устройстве 102. Каждое из приложений 112 может представлять собой множество разных типов приложений, например, приложения производительности (например, приложения электронной почты, приложения редактирования текста, приложения электронной таблицы, приложения базы данных и т.д.), увеселительные приложения (например, игровые приложения, приложения воспроизведения аудио и/или видео и т.д.), социально-сетевые приложения и т.д. Приложение 112 может обращаться к данным локально, осуществляя доступ к данным на вычислительном устройстве 102 (или на запоминающих устройствах, подключенных к вычислительному устройству 102), вместо того, чтобы осуществлять доступ к данным на устройстве 104 через сеть 106. Например, приложение 112 может быть приложением редактирования текста, которое осуществляет доступ к данным локально. Помимо или, альтернативно, вместо, локального доступа к данным, приложение может обращаться к данным на одном или более устройствах 104 через сеть 106. Например, приложение 112 может быть приложением интерфейса для устройства 104, которое обеспечивает службу кинофильмов, позволяющую пользователю вычислительного устройства 102 осуществлять доступ к фильмам с устройства 104 через это приложение 112.
[0020] Операционная система 110 включает в себя модуль 114 ввода, модуль 116 отображения и модуль 118 поиска на системном уровне. Операционная система 110 обычно реализуется в виде программного обеспечения и/или программно-аппаратного обеспечения, хотя, по меньшей мере, части операционной системы 110 можно альтернативно реализовать в виде аппаратного обеспечения.
[0021] Модуль 114 ввода принимает пользовательские вводы от пользователя вычислительного устройства 102. Пользовательские вводы можно обеспечивать самыми разнообразными способами, например, путем нажатия одной или более клавиш клавишной панели или клавиатуры устройства 102, нажатия одной или более клавиш контроллера (например, устройства дистанционного управления, мыши, сенсорной панели и т.д.) устройства 102, нажатия на конкретный участок сенсорной панели или сенсорного экрана устройства 102, совершения конкретного жеста на сенсорной панели или сенсорном экране устройства 102, и/или совершения конкретного жеста на контроллере (например, устройстве дистанционного управления, мыши, сенсорной панели и т.д.) устройства 102. Пользовательские вводы также можно обеспечивать посредством другого физического ввода с обратной связью в устройство 102, например, ударяя пальцем по любому участку устройства 102, действия, которое может распознаваться компонентом обнаружения движение устройства 102 (например, встряхивания устройства 102, вращения устройства 102 и т.д.), и т.д. Пользовательские вводы также можно обеспечивать другими способами, например, через звуковые вводы в микрофон, через движения рук или других частей тела, наблюдаемых устройством захвата изображения, и т.д. Эти пользовательские вводы позволяют пользователю взаимодействовать с вычислительным устройством 102, например, вводя конкретные символы или знаки, выбирая конкретные кнопки или варианты меню, перетаскивая и отпуская различные описания или изображения, и т.д.
[0022] Модуль 116 отображения генерирует, управляет и/или выводит отображение для экрана вычислительного устройства 102. Это отображение может включать в себя различную информацию, например, информацию, предоставляемую приложениями 112, информацию, предоставляемую модулем 118 поиска на системном уровне или другими модулями операционной системы 110, и т.д. Информация, отображаемая пользователю, может включать в себя пользовательские вводы, принимаемые модулем 114 ввода. Экран, на котором модуль 116 отображения отображает информацию, можно реализовать самыми разнообразными способами, например, с использованием технологии жидкокристаллического дисплея (ЖКД), технологии плазменного экрана, технологии проецирования изображений и т.д. Экран может быть включен в состав вычислительного устройства 102, или, Альтернативно, модуль 116 отображения может генерировать один или более сигналов, которые выводятся на одно или более других устройств отображения, которые включают в себя один или более экранов. Хотя приведенные здесь рассмотрения относятся к отображению информации на одном или более экранах, очевидно, что информация может альтернативно представляться пользователям модулем 116 отображения другими способами, например, посредством звука.
[0023] Модуль 118 поиска на системном уровне обеспечивает UI поиска на системном уровне, который является централизованным UI, который позволяет пользователям вычислительного устройства 102 вводить условие поиска и производить поиск по этому условию поиска в разные области. Область относится к типу контента или источнику контента, и поиск по условию поиска в области относится к поиску по условию поиска в конкретном типе контента или источнике контента. В одном или более вариантах осуществления, модуль 118 поиска на системном уровне поддерживает области файлов, настроек, приложений и определяемые приложением. Однако следует отметить, что области файлов, настроек, приложений и определяемые приложением являются примерами областей, и что модуль 118 поиска на системном уровне может поддерживать любое количество областей. Например, модуль 118 может альтернативно поддерживать только поднабор областей файлов, настроек, приложений и определяемых приложением. В порядке другого примера, модуль 118 может поддерживать одну или более дополнительных областей вместо и/или помимо одной или более областей файлов, настроек, приложений и определяемых приложением.
[0024] Область файлов относится к файлам, хранящимся на запоминающем устройстве, используемом вычислительным устройством 102. Такие запоминающие устройства могут быть включены в состав вычислительного устройства 102 (например, внутренние жесткие диски или устройства флэш-памяти), могут быть подключены с возможностью удаления к вычислительному устройству 102 (например, сменные устройства флэш-памяти или оптические диски), могут быть доступны по сети (например, сети 106), и т.д. Поиск по условию поиска в области файлов относится к поиску файлов, хранящихся на вычислительном устройстве 102, которые включают в себя условие поиска (например, условие поиска содержится в имени файла, в метаданных файла, в самом контенте файла и т.д.), и результаты поиска, идентифицирующие эти файлы, могут возвращаться. Поиск по условию поиска в области файлов может относиться к поиску во всех папках на всех запоминающих устройствах, используемых вычислительным устройством 102, или, альтернативно, к поиску только в выбранных папках и/или запоминающих устройствах, используемых вычислительным устройством 102.
[0025] Область настроек относится к органам управления для различных настроек конфигурации, например, настроек конфигурации вычислительного устройства 102, настроек конфигурации одного или более приложений 112, настроек конфигурации других устройств (например, одного или более устройств 104 или других устройств, подключенных к вычислительному устройству 102) и т.д. Поиск по условию поиска в области настроек относится к поиску органов управления настройками конфигурации (например, компонентов, программ и т.д.), которые включают в себя условие поиска (например, условие поиска содержится в имени органа управления, в метаданных органа управления, и т.д.), и результаты поиска, идентифицирующие эти органы управления настройками конфигурации, могут возвращаться.
[0026] Область приложений относится к приложениям 112. Поиск по условию поиска в области приложений относится к поиску приложений 112, которые включают в себя условие поиска (например, условие поиска содержится в имени приложения 112, в метаданных приложения 112, и т.д.), и результаты поиска, идентифицирующие эти приложения 112, могут возвращаться.
[0027] Область, определяемая приложением, относится к конкретному приложению 112, которое может генерировать результаты поиска. Поиск по условию поиска в области, определяемой приложением, относится к конкретному приложению 112, осуществляющему поиск по условию поиска (любым способом по желанию конкретного приложения 112), и обеспечивающему результаты поиска (любым способом по желанию конкретного приложения 112). Конкретные приложения 112, которые могут генерировать результаты поиска, это те приложения 112, которые зарегистрировались с помощью модуля 118 поиска на системном уровне, что более подробно рассмотрено ниже
[0028] Условие поиска может представлять собой любую комбинацию букв, символов, знаков и т.д., например, одно или более слов, часть слова и т.д. UI поиска на системном уровне включает в себя участок ввода данных, через который пользователь может вводить условие поиска, и участок идентификации поиска, через который можно идентифицировать разные области.
[0029] UI поиска на системном уровне, обеспечиваемый модулем 118 поиска на системном уровне, позволяет пользователю вычислительного устройства 102 вводить желаемое условие поиска один раз в централизованном UI, и затем выбирать одну или более разных областей для поиска по этому условию поиска. В ответ на выбор области через UI поиска на системном уровне, в выбранной области производиться поиск по условию поиска (путем передачи условия поиска модулю или приложению для осуществления поиска надлежащим образом), и результаты поиска на основании этого условия поиска отображаются (через модуль 116 отображения). Пользователь может осуществлять поиск по одному и тому же условию поиска в разных областях, просто выбирая области через UI поиска на системном уровне. Таким образом, например, пользователь, вместо того, чтобы взаимодействовать с операционной системой 110 для запрашивания выполнения разных приложений 112, переходить к поисковому интерфейсу каждого из этих разных приложений 112 и вводить одно и то же условие поиска в каждое из этих разных приложений, пользователь может вводить условие поиска один раз в UI поиска на системном уровне. Затем пользователь может выбирать (например, через единичный пользовательский ввод, например, нажатие клавиши, тычок по идентификатору приложения на сенсорном экрана, кликанье по идентификатору приложения, когда указатель или другой курсор находится на идентификаторе приложения, и т.д.) одно или более из приложений 112, опираясь на операционную систему 110 для автоматического выполнения этих приложений 112, когда они выбраны, и опираясь на модуль 118 поиска на системном уровне для передачи условия поиска на выбранные приложения 112.
[0030] Поиск по условию поиска, введенному пользователем, может осуществляться в разное время. В одном или более вариантах осуществления, в ответ на получение условия поиска, модуль 118 поиска на системном уровне (или, альтернативно, другой модуль операционной системы 110) осуществляет поиск по условию поиска в разных областях и генерирует результаты поиска. Модулю 118 не нужно ждать, пока пользователь выберет конкретную область, чтобы сгенерировать результаты поиска для области на основании условия поиска. Модуль 118 также может, в необязательном порядке, передавать, в ответ на прием условия поиска, условие поиска приложениям 112. Таким образом, приложениям 112 также не нужно ждать выбора конкретного приложения 112, чтобы сгенерировать результаты поиска на основании условия поиска. Хотя результаты поиска для областей могут генерироваться в ответ на прием условия поиска, эти результаты поиска могут не отображаться (например, если результаты поиска от приложения 112 или другой области не запрошены пользователем, то результаты поиска, сгенерированные для этого приложения 112 или другой области, обычно не будут отображаться).
[0031] Альтернативно, поиск по условию поиска может не производиться, пока не принят пользовательский поисковый запрос по условию поиска (например, пользовательский выбор кнопки “поиск”, пользовательский выбор области и т.д.). Таким образом, в таких ситуациях, модуль 118 поиска на системном уровне не передает условие поиска приложению 112 или иным образом не осуществляет поиск по условию поиска в области, пока не будет принят пользовательский поисковый запрос по условию поиска в этой области. Также можно использовать их комбинацию. Например, модуль 118 поиска на системном уровне (или, альтернативно, другой модуль операционной системы 110) может производить поиск по условию поиска в конкретных областях и генерировать результаты поиска в ответ на получение условия поиска, но не передавать условие поиска приложению 112, пока пользователь не запросит поиск в этом конкретном приложении 112 (например, не выберет идентификатор этого конкретного приложения 112 в UI поиска на системном уровне, что более подробно рассмотрено ниже).
[0032] UI поиска на системном уровне может активироваться в разное время. Когда UI поиска на системном уровне активирован, UI поиска на системном уровне отображается модулем 116 отображения. Модуль 118 поиска на системном уровне может сохранять активацию UI поиска на системном уровне и постоянно отображать его. Альтернативно, модуль 118 поиска на системном уровне может активировать UI поиска на системном уровне в ответ на конкретный запрос (например, пользовательский ввод конкретного сокращенного ввода с клавиатуры, пользовательский запрос для осуществления поиска, запрос от приложения 112 для осуществления поиска и т.д.), оставляя UI поиска на системном уровне скрытым до активации. Приложения 112 могут активировать UI поиска на системном уровне, вызывая модуль 118 поиска на системном уровне или направляя пользователя в UI поиска на системном уровне, уже отображаемый модулем 118. Приложениям 112 не нужно обеспечивать свои собственные пользовательские интерфейсы поиска, поскольку они могут опираться на UI поиска на системном уровне.
[0033] Таким образом, следует отметить, что UI поиска на системном уровне может использоваться различными способами. Пользователь может вводить условие поиска в UI поиска на системном уровне и затем выбирать, через UI поиска на системном уровне, одну или более областей для поиска по этому условию поиска. Альтернативно, пользователь может вводить запрос через приложение 112 или другой модуль, который осуществляет поиск в области, для ввода условия поиска. В ответ, может отображаться UI поиска на системном уровне (или пользователь может направляться в UI поиска на системном уровне, который уже отображается), через который пользователь может вводить свое условие поиска для поиска в этом приложении 112. Альтернативно, пользователь может выбирать одно или более приложений 112, не вводя условие поиска, в результате чего, выбранному приложению сообщается пользовательский выбор, и выбранное приложение отображает свой вид отображения результатов поиска. Результаты поиска могут не отображаться выбранным приложением, пока пользователь не введет условие поиска. Однако после записи условия поиска, выбранное приложение будет отображать свои результаты поиска.
[0034] Фиг.2 иллюстрирует пример экранного отображения 202, включающего в себя пользовательский интерфейс поиска на системном уровне, в соответствии с одним или более вариантами осуществления. Проиллюстрирован UI поиска на системном уровне, включающий в себя три участка: участок 204 ввода данных, участок 206 идентификации поиска и участок 208 результатов поиска. Пользователь может вводить различные слова, буквы, знаки, символы, и т.д. в качестве условий поиска (например, через модуль 114 ввода, показанный на Фиг.1, как рассмотрено выше). Этот пользовательский ввод отображается на участке 204 ввода данных. В иллюстрируемом примере, пользователь не вводил никаких символов на участке 204 ввода данных. Соответственно, участок 208 результатов поиска не отображает результатов поиска и обеспечивает пользователю индикацию для ввода поискового запроса.
[0035] Участок идентификации поиска включает в себя идентификаторы 212 областей. Идентификаторы 212 областей включают в себя идентификаторы различных областей, которые пользователь может выбирать для поиска по условию поиска, введенному на участке 204 ввода данных. В иллюстрируемом примере идентификаторы 212 областей включают в себя идентификаторы области приложений, области настроек, области файлов и двух областей, определяемых приложением (для приложений, идентифицированных как “имя приложения 1” и “имя приложения 2”). Эти идентификаторы областей, определяемых приложением, также именуются идентификаторами приложений, и, благодаря отображению идентификаторов областей, определяемых приложением, участок 206 идентификации поиска также именуется отображающим приложения, идентифицированные этими идентификаторами. Пользователь может выбирать один из идентификаторов 212 областей самыми разнообразными способами (например, через модуль 114 ввода, показанный на Фиг.1), например касаясь идентификатора области стилусом или пальцем, устанавливая указатель на идентификатор области и нажимая кнопку устройства управления курсором (например, мыши), изменяя выделение идентификатора области с использованием клавиш со стрелкой клавиатуры и нажимая клавишу ввода, когда выделен (в фокусе) желаемый идентификатор области, и т.д.
[0036] Экранное отображение 202 иллюстрирует идентификаторы 212 областей как текстовые идентификаторы (например, имена), хотя идентификаторы 212 могут принимать разные формы. Например, идентификаторы 212 могут включать в себя пиктограммы или знаки, представляющие области и/или приложения, помимо (или вместо) текстовых идентификаторов области и/или приложения. Эти пиктограммы или знаки могут выбираться пользователем аналогично выбору текстовых идентификаторов, рассмотренных выше.
[0037] Следует отметить, что местоположения участка 204 ввода данных, участка 206 идентификации поиска и участка 208 результатов поиска UI поиска на системном уровне, проиллюстрированные на фигурах, являются примерами, и что UI поиска на системном уровне может отображаться в любом месте на экранном отображении 202. Например, участок 204 ввода данных и участок 206 идентификации поиска могут отображаться вверху или внизу экранного отображения 202, вдоль левой стороны экранного отображения 202, в центре экранного отображения 202, в составе строки или окна меню, в составе строки или дока пиктограмм, и т.д. В порядке другого примера, участок 208 результатов поиска могут отображаться вверху или внизу экранного отображения 202, вдоль правой стороны экранного отображения 202, в центре экранного отображения 202, в составе строки или окна меню, в составе строки или дока пиктограмм, и т.д.
[0038] В примере, показанном на Фиг.2, не выбрано никакой области. Соответственно, экранное отображение 202 также можно именовать просто UI поиска или универсальным UI поиска. Когда область выбрана, могут отображаться другие экранные отображения, например UI поиска в области приложений (рассмотренная ниже со ссылкой на Фиг.3), UI поиска в области настроек (рассмотренная ниже со ссылкой на Фиг.4), UI поиска в области файлов (рассмотренная ниже со ссылкой на Фиг.5) и область, определяемая приложением, UI поиска (рассмотренная ниже со ссылкой на Фиг.6).
[0039] Альтернативно, вместо отображения экранного отображения 202 без результатов поиска на участке 208 результатов поиска, результаты поиска для стандартной области могут отображаться на участке 208 результатов поиска. Стандартной областью может быть активное в данный момент приложение (активное в данный момент приложение более подробно рассмотрено ниже) или, альтернативно, любая другая область.
[0040] Фиг.3 иллюстрирует другой пример экранного отображения 302, включающего в себя пользовательский интерфейс поиска на системном уровне в соответствии с одним или более вариантами осуществления. Экранное отображение 302 аналогично экранному отображению 202, показанному на Фиг.2. Однако экранное отображение 302 демонстрирует пользовательский интерфейс поиска на системном уровне, когда выбрана область приложений (например, посредством пользовательского выбора идентификатора 212 области “приложения”, посредством пользовательского ввода сокращенного ввода с клавиатуры, как рассмотрено ниже, и т.д.). Дополнительно, экранное отображение 302 демонстрирует условие поиска “p”, введенное на участке 204 ввода данных. В момент времени, который иллюстрирует экранное отображение 302, “p” является условием поиска, хотя следует отметить, что пользователь может продолжать вводить дополнительные символы, приводящие к разным условиям поиска.
[0041] В ответ на выбранную область приложений, результаты поиска по условию поиска на участке 204 ввода данных для области приложений отображаются на участке 208 результатов поиска. В примере, представленном на Фиг.3, два приложения на вычислительном устройстве включают в себя условие поиска, приложение под названием “Paint” и приложение под названием “Phone”, и идентификаторы этих приложений отображаются на участке 208 результатов поиска. Как показано, участок 208 результатов поиска также может включать в себя индикацию того, что областью является “приложения”, и индикацию условия поиска, и индикацию того, что областью является “приложения” можно обеспечивать в непосредственной близости к участку 204 ввода данных (например, над ним).
[0042] Следует отметить, что могут возникать ситуации, когда результаты поиска включают в себя больше записей, чем может отображаться единовременно на участке 208 результатов поиска. В таких ситуациях, пользователь может прокручивать записи с использованием любого из разнообразных пользовательских вводов, например, перемещая полоску, бегунок, кнопку и т.д. линейки прокрутки, совершая перетаскивание пальцем или другой жест на экране и т.д.
[0043] Дополнительно, в ситуациях, когда результаты поиска генерируются для разных областей в ответ на прием условия поиска, экранное отображение 302 может включать в себя индикацию сколько записей включают в себя результаты поиска для разных областей. Характер каждой записи может изменяться в зависимости от области. Также может отображаться предварительный просмотр результатов для разных областей (например, отсчеты, сколько записей включено в результаты поиска для области). В примере, представленном на Фиг.3, индикация “(2)”, соседствующая с идентификатором 212 области приложений, используется для указания того, что результаты поиска для области приложений включают в себя две записи (например, два приложения). Аналогично, индикация “(5)”, соседствующий с идентификатором 212 области настроек, используется для указания того, что результаты поиска для области настроек включают в себя пять записей (например, пять органов управления настройками конфигурации), и индикация “(14)”, соседствующая с идентификатором 212 области файлов, используется для указания того, что результаты поиска для области файлов включает в себя 14 записей (например, 14 файлов). Дополнительно, поскольку область приложений выбрана, индикация “(2)” отображается на участке 208 результатов поиска (помимо или вместо индикации “(2)” на участке 206 идентификации поиска) для указания того, что результаты поиска для области приложений включают в себя две записи (например, два приложения). Хотя это не показано, индикация количества результатов поиска для областей, определяемых приложением, также, в необязательном порядке, может быть включена рядом с идентификаторами 212 областей, определяемых приложением.
[0044] Хотя участок 208 результатов поиска отображает результаты поиска для области приложений, пользователь может выбирать любой другой идентификатор 212 области. В ответ на выбор любого другого идентификатора 212 области, результаты поиска для выбранной идентифицированной области отображаются на участке 208 результатов поиска. Пользователь может выбирать один из идентификаторов 212 областей самыми разнообразными способами (например, через модуль 114 ввода, показанный на Фиг.1), например, касаясь идентификатора области стилусом или пальцем, устанавливая указатель на идентификатор области и нажимая кнопку устройства управления курсором (например, мыши), изменяя выделение идентификатора области с использованием клавиш со стрелкой клавиатуры и нажимая клавишу ввода, когда выделен желаемый идентификатор области, и т.д.
[0045] В одном или более вариантах осуществления, экранное отображение 302 также выделяет конкретную запись (например, первую запись) на участке 208 результатов поиска. Выделение может осуществляться различными способами, например, окружением записи прямоугольной рамкой, цветовым выделением записи, изменением шрифта или цвета записи и т.д. Аналогично, другие идентификаторы (например, идентификаторы 212 областей) также можно выделять различными способами. Пользователь может переключать выделение записей на участке 208 результатов поиска путем нажатия клавиш со стрелкой клавиатуры, и выбирать конкретную запись путем нажатия клавиши ввода клавиатуры. В ответ на выбор записи могут совершаться различные действия, и эти действия базируются, по меньшей мере, частично, на области, для которой сгенерированы результаты поиска. Например, в ответ на выбор записи, может выполняться приложение или управление, идентифицированный записью, может открываться файл, идентифицированный записью, может отображаться дополнительная информация, идентифицированная записью, и т.д.
[0046] Следует отметить, что конкретная запись на участке 208 результатов поиска автоматически выделяется в ответ на отображение UI поиска на системном уровне экранного отображения 302 и ввод условия поиска. Пользователю не нужно совершать дополнительные действия, чтобы выделить конкретную запись (например, пользователю не нужно производить никакого выбора участка 208 результатов поиска). Альтернативно, вместо автоматического выделения конкретной записи на участке 208 результатов поиска, выделение может автоматически размещаться в другом месте (например, на конкретном идентификаторе 212 области).
[0047] В общем случае, если результаты поиска включены для выбранной области, то, по умолчанию, варианты выбора клавиш со стрелкой клавиатуры используются для управления выделением той или иной записи на участке результатов поиска, и варианты выбора клавиш символа (например, буквенно-цифрового, знака и т.д.) используются для ввода, по меньшей мере, части условия поиска, отображаемого на участке ввода данных. Пользователь может решать, между какими участками осуществлять переключение с помощью вариантов выбора клавиш со стрелкой клавиатуры, с использованием клавиши табуляции клавиатура, например, между участком результатов поиска и участком идентификации поиска. При управлении участком идентификации поиска, варианты выбора клавиш со стрелкой клавиатуры управляют выделением того или иного идентификатора из идентификаторов областей. Однако, если результаты поиска не включены для выбранной области, то, по умолчанию, варианты выбора клавиш со стрелкой клавиатуры используются для управления выделением того или иного идентификатора на участке идентификации поиска, и варианты выбора клавиш символа (например, буквенно-цифрового, знака и т.д.) используются для ввода, по меньшей мере, части условия поиска, отображаемого на участке 204 ввода данных. Таким образом, если результаты поиска не включены для выбранной области, то клавиши со стрелкой автоматически используются для смены выделения идентификаторов на участке идентификации поиска - пользователю не нужно совершать дополнительного действия для указания или иного выбора участка идентификации поиска, чтобы клавиши со стрелкой использовались для смены выделения идентификаторов на участке идентификации поиска.
[0048] Например, пользователь может нажимать клавишу со стрелкой вниз на клавиатуре для перевода выделенной записи на одну запись ниже выделенной в данный момент запись на участке 208 результатов поиска, может нажимать клавишу со стрелкой вверх на клавиатуре для перевода выделенной записи на одну запись выше выделенной в данный момент запись на участке 208 результатов поиска, может нажимать клавишу со стрелкой вправо на клавиатуре для перевода выделенной записи на одну запись справа от выделенной в данный момент запись на участке 208 результатов поиска и может нажимать клавишу со стрелкой влево на клавиатуре для перевода выделенной записи на одну запись влево от выделенной в данный момент запись на участке 208 результатов поиска. Пользователь также может нажимать клавишу табуляции на клавиатуре для аналогичного использования клавиш со стрелкой вверх, вниз, влево и/или вправо на клавиатуре для смены выделения идентификаторов 212.
[0049] Таким образом, пользователь может быстро и легко переходить между результатами поиска и выбирать нужную запись. Например, когда пользователь выбирает для поиска область приложений и вводит условие поиска “p”, первое приложение “Paint” автоматически выделяется на участке 208 результатов поиска. Пользователь может легко запустить приложение “Paint”, просто нажав клавишу ввода на клавиатуре - пользователю не нужно совершать дополнительного действия для указания или иного выбора участка 208 результатов поиска, чтобы выделить приложение “Paint”. Альтернативно, пользователь может легко выбрать другую запись используя клавиши со стрелкой клавиатуры, чтобы выделить другую запись, и нажимая клавишу ввода, чтобы запустить приложение, идентифицированное этой другой записью. Клавиши со стрелкой автоматически используются, по умолчанию, для смены выделения результатов поиска - пользователю не нужно совершать дополнительного действия для указания или иного выбора участка 208 результатов поиска, чтобы клавиши со стрелкой использовались для смены выделения записей на участке 208 результатов поиска. Если пользователь желает выбрать другую область или приложение для условия поиска, пользователь может просто нажать клавишу табуляции для перехода к участку идентификации поиска, и затем использовать клавиши со стрелкой клавиатуры, чтобы выделять разные идентификаторы областей.
[0050] Альтернативно, клавиши клавиатуры, которые используются для управления выделением той или иной записи на участке результатов поиска, могут отличаться от клавиш клавиатуры, которые используются для управления выделением того или иного идентификатора из идентификаторов областей. Например, клавиши со стрелкой может использоваться для управления выделением той или иной записи на участке результатов поиска, и цифровые клавиши могут использоваться для управления выделением того или иного идентификатора из идентификаторов областей.
[0051] В одном или более вариантах осуществления, ввиду возможности выделения разных идентификаторов 212 областей, выделение идентификаторов 212 рассматривается как выбор идентификатора. Соответственно, результаты поиска для выделенного идентификатора отображаются на участке 208 результатов поиска. Альтернативно, можно совершать дополнительное действие, чтобы выделенный идентификатор рассматривался как выбранный, и выделение идентификатора без этого дополнительного действия идентификатор не рассматривается как выбранный. Например, идентификатор может выбираться пользователем нажатием клавиши ввода (или, альтернативно, с помощью другой клавиши или пользовательского ввода), когда идентификатор выделен.
[0052] Следует отметить, что Фиг.3 иллюстрирует пример, когда пользователь ввел условие поиска “p”. Каждый один или более символов или знаков, введенных пользователем, рассматривается как условие поиска, так что, если пользователь вводит далее букву “a”, то условие поиска станет “pa”, и участок 208 результатов поиска будет включать в себя результаты поиска по условию поиска “pa”. Новое условие поиска создается каждый раз, когда пользователь вводит символ или знак или удаляет символ или знак. Альтернативно, условие поиска может не вводиться, пока пользователь не укажет, что ввод условия поиска завершен. Например, пользователь может вести множественные символы или знаки, но они не будут рассматриваться в качестве условия поиска, пока пользователь не введет кнопку “поиск” или другую индикацию, что ввод условия поиска завершен.
[0053] Фиг.4 иллюстрирует другой пример экранного отображения 402, включающего в себя пользовательский интерфейс поиска на системном уровне в соответствии с одним или более вариантами осуществления. Экранное отображение 402 аналогично экранному отображению 302, показанному на Фиг.3. Однако экранное отображение 402 демонстрирует пользовательский интерфейс поиска на системном уровне, где область настроек выбрана (например, посредством пользовательского выбора идентификатора 212 “настройки” области, посредством пользовательского ввода сокращенного ввода с клавиатуры, как рассмотрено ниже, и т.д.).
[0054] В ответ на выбор области настроек, результаты поиска по условию поиска на участке 204 ввода данных для области настроек отображаются на участке 208 результатов поиска. В примере, представленном на Фиг.4, пять органов управления настройками конфигурации на вычислительном устройстве включают в себя условие поиска, и идентификаторы этих органов управления отображаются на участке 208 результатов поиска как “Parental Controls”, “Performance Tools”, “Personalization”, “Phone and Modem” и “Power Options”. Как показано, участок 208 результатов поиска также может включать в себя индикацию того, что областью является “настройки” и индикацию условия поиска, и индикацию того, что областью является “настройки” можно обеспечивать в непосредственной близости к участку 204 ввода данных (например, над ним).
[0055] Пользователь может взаимодействовать с пользовательским интерфейсом поиска на системном уровне, представленным на Фиг.4, как рассмотрено выше со ссылкой на Фиг.2 и 3. Например, первая запись (“Parental Controls”) на участке 208 результатов поиска автоматически выделяется и может выбираться пользователем путем нажатия клавиши ввода клавиатуры, пользователь может переключать выделение записей на участке 208 результатов поиска с использованием клавиш со стрелкой клавиатуры без необходимости совершать какое-либо дополнительное действие для выбора участка 208 результатов поиска, пользователь может выбирать другой идентификатор 212 области, и т.д.
[0056] Фиг.5 иллюстрирует другой пример экранного отображения 502, включающего в себя пользовательский интерфейс поиска на системном уровне в соответствии с одним или более вариантами осуществления. Экранное отображение 502 аналогично экранному отображению 302, показанному на Фиг.3. Однако экранное отображение 502 демонстрирует пользовательский интерфейс поиска на системном уровне, где выбрана область файлов (например, посредством пользовательского выбора идентификатора 212 “настройки” области, посредством пользовательского ввода сокращенного ввода с клавиатуры, как рассмотрено ниже, и т.д.).
[0057] В ответ на выбор области файлов, результаты поиска по условию поиска на участке 204 ввода данных для области файлов отображаются на участке 208 результатов поиска. В примере, представленном на Фиг.5, четырнадцать файлов на вычислительном устройстве включают в себя условие поиска, и идентификаторы этих файлов отображаются на участке 208 результатов поиска как “Pacific Coast Scenes”, “PC Reviews”, “Pearl Harbor Memories”, и т.д. Как показано, участок 208 результатов поиска также может включать в себя индикацию того, что областью является “файлы” и индикацию условия поиска, и индикацию того, что областью является “файлы” можно обеспечивать в непосредственной близости к участку 204 ввода данных (например, над ним).
[0058] Пользователь может взаимодействовать с пользовательским интерфейсом поиска на системном уровне, представленным на Фиг.5, как рассмотрено выше со ссылкой на Фиг.2 и 3. Например, первая запись (“Pacific Coast Scenes”) на участке 208 результатов поиска автоматически выделяется и может выбираться пользователем путем нажатия клавиши ввода клавиатуры, Пользователь может переключать выделение записей на участке 208 результатов поиска с использованием клавиш со стрелкой клавиатуры без необходимости совершать какое-либо дополнительное действие для выбора участка 208 результатов поиска, пользователь может выбирать другой идентификатор 212 области, и т.д.
[0059] Фиг.6 иллюстрирует другой пример экранного отображения 602, включающего в себя пользовательский интерфейс поиска на системном уровне в соответствии с одним или более вариантами осуществления. Экранное отображение 602 аналогично экранному отображению 302, показанному на Фиг.3. Однако экранное отображение 602 демонстрирует пользовательский интерфейс поиска на системном уровне, где выбран идентификатор 212 области, определяемой приложением (например, посредством пользовательского выбора идентификатора 212 “имя приложения 1” области, посредством пользовательского ввода сокращенного ввода с клавиатуры, как рассмотрено ниже, и т.д.). В примере, представленном на Фиг.6, выбранным приложением является приложение кинофильма.
[0060] В ответ на выбор идентификатора области, определяемой приложением, результаты поиска по условию поиска на участке 204 ввода данных для выбранного идентифицированного приложения отображаются на участке 208 результатов поиска. Выбранное приложение определяет, какие элементы включают в себя условие поиска, и генерирует результаты поиска и отображение для участка 208 результатов поиска. В примере, представленном на Фиг.6, три фильма приложения кинофильма включают в себя условие поиска, и идентификаторы этих фильмов отображаются на участке 208 результатов поиска как “The Patriot”, “Planet of the Apes” и “Psycho”. Как показано, участок 208 результатов поиска также может включать в себя индикацию выбранного приложения (например, посредством отображения имени приложения, например, “приложение кинофильма”, пиктограммы или знака, представляющего приложение, и т.д.), и индикация выбранного приложения можно обеспечивать в непосредственной близости к участку 204 ввода данных (например, над ним). Хотя это не показано, индикация количества результатов поиска для выбранного приложения (например, “(3)”) также может, в необязательном порядке, быть включена на участке 208 результатов поиска и/или соседствовать с идентификатором 212 области, определяемой приложением для выбранного приложения.
[0061] Пользователь может взаимодействовать с пользовательским интерфейсом поиска на системном уровне, представленным на Фиг.6, как рассмотрено выше со ссылкой на Фиг.2 и 3. Например, первая запись (“The Patriot”) на участке 208 результатов поиска автоматически выделяется и может выбираться пользователем путем нажатия клавиши ввода клавиатуры, пользователь может переключать выделение записей на участке 208 результатов поиска с использованием клавиш со стрелкой клавиатуры без необходимости совершать какое-либо дополнительное действие для выбора участка 208 результатов поиска, пользователь может выбирать другой идентификатор 212 области, и т.д.
[0062] Хотя конкретная информация, отображаемая и пользовательские взаимодействия с пользовательским интерфейсом поиска на системном уровне рассмотрены выше на Фиг.2 - 6, следует отметить, что может отображаться различная другая информация и/или поддерживаться другие пользовательские взаимодействия. Например, модуль поиска на системном уровне может получать и отображать дополнительные условия поиска, например, путем получения результатов набора с опережением (например, одно или более предложенных дополнительных условий поиска на основании условия поиска, введенного на участке 204 ввода данных), путем получения символов для одного или более дополнительных языков (например, с использованием редактора методов ввода) и т.д. Эти дополнительные условия поиска могут генерироваться на основании условия поиска и/или других пользовательских вводов, и могут генерироваться модулем поиска на системном уровне, другим компонентом или модулем операционной системы, приложением, идентифицированным идентификатором 212 области, определяемой приложением, и т.д. При управлении участком идентификации поиска, варианты выбора клавиш со стрелкой клавиатуры могут управлять выделением того или иного из этих дополнительных условий поиска. Если пользователь выходит из дополнительных условий поиска (например, путем нажатия клавиши со стрелкой вниз, когда выделено последнее дополнительное условие поиска, или путем нажатия клавиши со стрелкой вверх, когда выделено первое дополнительное условие поиска), то варианты выбора клавиш со стрелкой клавиатуры управляют выделением того или иного идентификатора на участке идентификации поиска.
[0063] В условие поиска также можно, в необязательном порядке, вносить различные изменения. Пользователь может вводить новые символы, в результате чего, образуются новые условия поиска, как рассмотрено выше. Дополнительно, условие поиска может включать в себя различные другие термины или знаки (например, разные операторы, фильтры, подстановочные значения и т.д.) на основании различных синтаксисов запроса (например, Расширенного синтаксиса запросов (AQS)). Эти термины или знаки могут вводиться и отображаться на участке 204 ввода данных или в другом месте (например, в дополнительном окне или участке ввода данных, на участке 208 результатов поиска и т.д.). Например, в ответ на выбор пользователем идентификатора 212 области, определяемой приложением, может отображаться дополнительное окно или участок ввода данных (например, модулем поиска на системном уровне или приложением, идентифицированным выбранным идентификатором 212 области, определяемой приложением), позволяющее(ий) пользователю вводить такие различные другие термины или знаки. В порядке другого примера, в ответ на выбор пользователем идентификатора 212 области, определяемой приложением, на участке 208 результатов поиска можно выделять модификатор запросов, позволяющий вводить такие различные другие термины или знаки, а не конкретную запись результатов поиска.
[0064] Возвращаясь к Фиг.1, в одном или более вариантах осуществления модуль 118 поиска на системном уровне поддерживает различные сокращенные вводы с клавиатуры, позволяющие пользователю нажимать конкретную последовательность клавиш или группу из любого количества клавиш, для обеспечения отображения конкретного UI поиска на системном уровне. Эти сокращенные вводы с клавиатуры могут быть заданы различными способами, например, заранее заданными, заданными пользователем, заданными приложением и т.д. Разные сокращенные вводы с клавиатуры могут быть связаны с разными областями. Например, одна клавиша сокращенного ввода с клавиатуры (например, комбинация клавиши операционной системы и клавиши Q) может быть связана с универсальным UI поиска, другая клавиша сокращенного ввода с клавиатуры (например, только клавиша операционной системы) может быть связана с UI поиска в области приложений, другая клавиша сокращенного ввода с клавиатуры (например, комбинация клавиши операционной системы и клавиши W) может быть связана с UI поиска в области настроек, и другая клавиша сокращенного ввода с клавиатуры (например, комбинация клавиши операционной системы и клавиши F) может быть связана с UI поиска в области файлов. Хотя рассматриваются конкретные клавиши сокращенного ввода с клавиатуры, следует отметить, что можно использовать любые другие клавиши сокращенного ввода с клавиатуры.
[0065] Также, в необязательном порядке, можно добавить дополнительные клавиши сокращенного ввода с клавиатуры. Например, клавиши сокращенного ввода с клавиатуры для конкретных приложений (например, приложений, идентифицированных идентификаторами 212 областей, определяемых приложением, показанными на Фиг.2-6) могут поддерживаться модулем 118 поиска на системном уровне. Такие дополнительные клавиши сокращенного ввода с клавиатуры могут быть заданы различными способами, например, пользователем вычислительного устройства 102, приложением 112 (например, в ходе регистрации с помощью UI поиска на системном уровне) и т.д.
[0066] В ответ на ввод конкретной клавиши сокращенного ввода с клавиатуры, модуль 118 поиска на системном уровне отображает соответствующий UI поиска. Например, если пользователь вводит сокращенный ввод с клавиатуры, связанный с UI поиска в области файлов, то отображается UI поиска в области файлов (например, экранное отображение 502, показанное на Фиг.5). Пользователь может, сразу после ввода клавиши сокращенного ввода с клавиатуры, начать вводить нужные ему символы для поиска по условию поиска в файлах на вычислительном устройстве 102.
[0067] В одном или более вариантах осуществления, в ответ на ввод пользователем клавиши сокращенного ввода с клавиатуры, связанной с универсальным UI поиска, модуль 118 поиска на системном уровне рассматривает пользовательский ввод как запрос на отображение UI поиска при выборе конкретного приложения. Соответственно, модуль 118 отображает пользовательский интерфейс поиска на системном уровне, как если бы было выбрано конкретное приложение (например, экранное отображение 602, показанное на Фиг.6). Это конкретное приложение можно идентифицировать различными способами. Например, если активное в данный момент приложение (например, приложение, выполняющееся в данный момент на переднем плане, с которым может взаимодействовать с пользователь) зарегистрировалось с помощью UI поиска на системном уровне, то конкретное приложение является активным в данный момент приложением. Однако, если активное в данный момент приложение не зарегистрировалось с помощью UI поиска на системном уровне, то конкретное приложение идентифицируется другими способами, например, как наиболее часто используемое приложение, которое зарегистрировалось с помощью UI поиска на системном уровне, как наиболее редко используемое приложение, которое зарегистрировалось с помощью UI поиска на системном уровне, и т.д.
[0068] Дополнительно, в одном или более вариантах осуществления, операционной системе 110 известно, какое(й) именно приложение 112 или компонент операционной системы 110 является активным в данный момент приложением или компонентом (например, приложение или компонент, которое(ый) выполняется в данный момент на переднем плане, с которым может взаимодействовать пользователь). Обычно, единичное(ый) приложение или компонент является активным в данный момент приложением или компонентом в любое данное время, хотя активное(ый) в данный момент приложение или компонент может изменяться с течением времени. Операционной системе 110 также известно, поддерживает ли активное(ый) в данный момент приложение или компонент символьные вводы (например, буквенно-цифровые символы или другие знаки). Например, меню операционной системы может поддерживать в качестве вводов клавиши со стрелкой и/или другие навигационные клавиши, но не буквенные (символьные) клавиши. Операционной системе 110 может быть известно, поддерживает ли активное(ый) в данный момент приложение или компонент символьные вводы различными способами, например, в силу того, что компонент является частью операционной системы 110, приложение 112 обеспечивает индикацию, когда приложение 112 регистрируется с помощью UI поиска на системном уровне, и т.д.
[0069] В случае приема символьного ввода, когда активное(ый) в данный момент приложение или компонент не поддерживает символьные вводы, модуль 118 поиска на системном уровне отображает UI поиска на системном уровне. В одном или более вариантах осуществления, модуль 118 рассматривает символьный ввод, принимаемый, когда активное(ый) в данный момент приложение или компонент не поддерживает символьные вводы, как запрос на отображение универсального UI поиска, аналогично случаю, когда пользователь выбирает клавишу сокращенного ввода с клавиатуры, связанную с универсальным UI поиска (в качестве запроса на отображение UI поиска при выборе конкретного приложения, как рассмотрено выше).
[0070] Альтернативно, вместо универсального UI поиска, модуль 118 может рассматривать символьный ввод, принимаемый, когда активное(ый) в данный момент приложение или компонент не поддерживает символьные вводы, как запрос на отображение результатов поиска для разных областей. Область, для которой отображаются результаты поиска, может определяться различными способами, например, на основании отсчета записей, включенных в результаты поиска для разных областей (например, отображение результатов поиска для области, имеющей наибольшее количество записей в своих результатах поиска) или другой информации релевантности. Область, для которой отображаются результаты поиска, также может определяться на основании типов контента (например, если активное в данный момент приложение является приложением воспроизведения видео, то результаты поиска для области, которая задана как область для видеоконтента, может быть областью, для которой отображаются результаты поиска).
[0071] На Фиг.7 показана блок-схема, иллюстрирующая пример модуля 700 поиска на системном уровне в соответствии с одним или более вариантами осуществления. Модуль 700 поиска на системном уровне может представлять собой, например, модуль 118 поиска на системном уровне, показанный на Фиг.1. Модуль 700 поиска на системном уровне включает в себя модуль 702 пользовательского интерфейса, модуль 704 ранжирования приложений, модуль 706 регистрации приложений и хранилище 708 регистрационных данных приложений.
[0072] Модуль 706 регистрации приложений управляет регистрацией приложений с помощью модуля 700 поиска на системном уровне, позволяющей зарегистрированным приложениям отображаться в качестве областей, определяемые приложением, на участке идентификации поиска UI поиска на системном уровне. Эта регистрация также именуется позволяющей зарегистрированным приложениям использовать UI поиска на системном уровне. Информация, касающаяся зарегистрированных приложений, поддерживается в хранилище 708 регистрационных данных приложений. Модуль 704 ранжирования приложений определяет рейтинг для зарегистрированных приложений, и зарегистрированные приложения отображаются на участке идентификации поиска UI поиска на системном уровне в соответствии с их рейтингами. Модуль 702 пользовательского интерфейса генерирует информацию, подлежащую отображению в качестве UI поиска на системном уровне, и передает эту информацию модулю отображения вычислительного устройства, на котором располагается модуль 700 поиска на системном уровне (например, модулю 116 отображения, показанному на Фиг.1). Модуль 702 UI также взаимодействует с приложениями (например, приложениями 112, показанными на Фиг.1), в том числе, запускает выбранные пользователем приложения, передает условия поиска приложениям и принимает информацию от приложений, подлежащих отображению в составе UI поиска на системном уровне.
[0073] Чтобы отображаться на участке идентификации поиска UI поиска на системном уровне, приложение регистрируется с помощью модуля 700 поиска на системном уровне. Модуль 706 регистрации приложений управляет процессом регистрации для модуля 700 поиска на системном уровне, осуществляя связь с приложением и сохраняя надлежащую регистрационную информацию в хранилище 708 регистрационных данных приложений. Приложение может регистрироваться с помощью модуля 700 поиска на системном уровне в разное время, например, когда приложение устанавливается на том же вычислительном устройстве, что и модуль 700 поиска на системном уровне, когда устанавливается обновление приложения на том же вычислительном устройстве, что и модуль 707 поиска на системном уровне, в ответ на запрос от пользователя на регистрацию с помощью модуля 700 поиска на системном уровне, в ответ на запрос от другого модуля или устройства на регистрацию с помощью модуля 700 поиска на системном уровне, и т.д.
[0074] Дополнительно, само приложение может осуществлять процесс регистрации для регистрации себя с помощью модуля 700 поиска на системном уровне, или альтернативно другое(й) приложение или модуль может осуществлять процесс регистрации для регистрации приложения с помощью модуля 700 поиска на системном уровне. Например, приложение или модуль установки может, при установке приложения на вычислительном устройстве, которое включает в себя модуль 700 поиска на системном уровне, осуществлять процесс регистрации для регистрации приложения с помощью модуля 700 поиска на системном уровне.
[0075] В ходе процесса регистрации, регистрационная информация для регистрирующегося приложения сообщается модулю 706 регистрации приложений. Модулю 706 регистрации приложений можно сообщать разнообразную регистрационную информацию. В одном или более вариантах осуществления, регистрационная информация включает в себя индикацию, каким образом приложение, которое регистрируется, должно запускаться модулем 702 UI и каким образом условие поиска должно передаваться приложению. Эта индикация, каким образом приложение должно запускаться модулем 702 UI, может изменяться приложением и может включать в себя, например, индикацию исполнимого файла, подлежащего запуску, индикацию одного или более параметров, подлежащих использованию в начале выполнения файла или подлежащих передаче приложению после его выполнения, индикацию одного или более интерфейсов прикладного программирования (API) приложения, подлежащих вызову для передачи приложению одного или более параметров, и т.д. Аналогично, индикация, каким образом условие поиска должно передаваться приложению модулем 702, может изменяться приложением, и может включать в себя, например, индикацию, каким образом условие поиска (и, в необязательном порядке, другая контекстная информация) должно передаваться приложению в начале выполнения приложения, индикацию одного или более API приложения, подлежащих вызову для передачи приложению условия поиска (и, в необязательном порядке, другой контекстной информации) и т.д.
[0076] Различная другая информация может быть включена в регистрационную информацию. Например, регистрационная информация может включать в себя метаданные, описывающие приложение, например, конкретную категорию приложений, к которой относится приложение (например, игра, музыка, кинофильм, публикации, покупки, производительность, социальные сети и т.д.), конкретный тип контента, который обслуживает приложение (например, фильмы, электронные книги, игры, музыку и т.д.), веб-домен, используемый приложением (например, веб-домен устройства или службы, доступного(ой) по сети), и т.д. В порядке другого примера, регистрационная информация может включать в себя информацию, указывающую, каким образом приложение нужно идентифицировать на участке идентификации поиска UI поиска на системном уровне (например, использование одной или более пиктограмм, использование одного или более имен, использование одного или более цветов или шрифтов, отображение одной или более анимаций и т.д.). В порядке еще одного примера, регистрационная информация может включать в себя информацию, описывающую требования приложения (например, опирается ли приложение на доступ к другому(й) устройству или службе через интернет или другую сеть).
[0077] Регистрационная информация может включать в себя информацию, описывающую поведение приложения в отношении поиска. Например, регистрационная информация может включать в себя индикацию того, поддерживает ли приложение оперативное реагирование на ввод слова (отображение результатов поиска по мере ввода каждого символа условия поиска) или поиск только после приема пользовательского поискового запроса по условию поиска (например, после приема пользовательского выбора кнопки “поиск” или выбора идентификатора области, определяемой приложением приложения). В порядке другого примера, регистрационная информация может включать в себя индикацию того, обеспечивает ли приложение результаты набора с опережением и/или редактор методов ввода. В порядке еще одного примера, регистрационная информация может включать в себя клавишу сокращенного ввода с клавиатуры, подлежащую использованию для отображения UI поиска, связанного с приложением. В порядке еще одного примера, регистрационная информация может включать в себя индикацию того, обеспечивает ли приложение отсчеты, сколько записей включено в результаты поиска для приложения, что позволяет отображать предварительный просмотр результатов для этой области, определяемой приложением.
[0078] Следует также заметить, что регистрационная информация может обеспечиваться регистрирующимся приложением или, альтернативно, другим устройством, компонентом или модулем. Например, по меньшей мере, часть регистрационной информации может обеспечиваться поставщиком или изготовителем приложения. В порядке другого примера, приложение может иметь соответствующий манифест или другие метаданные, которые включают в себя регистрационную информацию, и приложение или модуль установки, которое(ый) устанавливает приложение, может обеспечивать регистрационную информацию со стороны приложения.
[0079] Модуль 706 регистрации приложений сохраняет регистрационную информацию, принятую в ходе процесса регистрации для приложения, в хранилище 708 регистрационных данных приложений. Регистрационная информация сохраняется как связанная с приложением или соответствующая ему, например, путем сохранения регистрационной информации с соответствующим идентификатором приложения. Идентификатор приложения может принимать разнообразные формы, например, комбинации имени приложения и изготовителя, идентификатор, присвоенный приложению изготовителем приложения или модулем 700 поиска на системном уровне, и т.д. Хранилище 708 регистрационных данных приложений может представлять собой базу данных, список или другую структуру данных, где хранится регистрационная информация для разных приложений. Затем модуль 702 пользовательского интерфейса может обращаться к хранилищу 708 регистрационных данных приложений для идентификации приложений, которые подлежат отображению на участке идентификации поиска UI поиска на системном уровне.
[0080] Модуль 704 ранжирования приложений назначает рейтинг каждому приложению, зарегистрированному в хранилище 708 регистрационных данных приложений. Этот рейтинг используется для определения порядка, в котором отображаются приложения (например, как идентификаторы областей, определяемых приложением) на участке идентификации поиска UI поиска на системном уровне. Кроме того, могут возникать ситуации, когда с помощью модуля 700 поиска на системном уровне зарегистрировалось больше приложений, чем может отображать UI поиска на системном уровне. В таких ситуациях, рейтинг используется для определения, какие приложения подлежат отображению посредством UI поиска на системном уровне. Альтернативно, порядок, в котором отображаются приложения и/или какие приложения отображаются, может определяться различными способами, например, размещением имен приложений в алфавитном порядке, случайно, согласно другим правилам или критериям и т.д.
[0081] Модуль 704 ранжирования приложений может использовать разнообразные критерии при ранжировании приложений, например, метаданные, описывающие приложения (и включенные в качестве регистрационной информации приложений), и данные использования для приложений. Модуль 704 ранжирования приложений может определять рейтинги в ответ на разные события, например, активацию UI поиска на системном уровне, ввод пользователем условия поиска и т.д. Альтернативно, модуль 704 ранжирования приложений может заранее определять рейтинги приложений и использовать заранее определенные рейтинги при отображении участка идентификации поиска UI поиска на системном уровне. Заранее определенные рейтинги могут генерироваться с регулярными или нерегулярными интервалами (например, приблизительно ежедневно или еженедельно, когда новое приложение регистрируется с помощью модуля 706 регистрации приложений, и т.д.). Эти заранее определенные рейтинги могут поддерживаться в хранилище 708 регистрационных данных приложений (например, приложение рейтинг может храниться совместно с регистрационной информацией) или, альтернативно, храниться в другом месте.
[0082] Рейтинги, определенные модулем 704 ранжирования приложений, могут быть конкретным показателем (например, значением в пределах от 1 до 100) или, альтернативно, могут представлять собой упорядочение приложений от наивысшего рейтинга до наименьшего рейтинга, что упрощает определение, ранжировано ли конкретное приложение выше или ниже, чем любое другое приложение. Приложения с более высокими показателями или более высокими рейтингами обычно считаются более релевантными условию поиска, введенному пользователем, чем приложения с более низкими показателями или более низкими рейтингами, хотя альтернативно, приложения с более низкими показателями или более низкими рейтингами могут считаться более релевантными условию поиска, введенному пользователем, чем приложения с более высокими показателями или более высокими рейтингами.
[0083] В одном или более вариантах осуществления, для определения рейтинга для конкретного приложения модуль 704 ранжирования идентифицирует характеристики конкретного приложения. Различные характеристики конкретного приложения могут использоваться для определения рейтинга для конкретного приложения. Множественные характеристики могут использоваться для определения рейтинга для конкретного приложения, или, альтернативно, единичная характеристика может использоваться для определения рейтинга для конкретного приложения. Конкретный показатель релевантности генерируется для каждой из этих характеристик, используемых для определения рейтинга, и эти показатели релевантности передаются одному или более алгоритмам ранжирования. Один или более алгоритмов ранжирования комбинируют входные показатели релевантности (например, суммируя показатели, назначая весовой коэффициент каждому из показателей релевантности и суммируя взвешенные показатели релевантности, и т.д.) для генерации рейтинга для приложения. Комбинация показателей релевантности для приложения может быть рейтингом для приложения. Альтернативно, можно генерировать комбинированные показатели релевантности для всех зарегистрированных приложений, и зарегистрированные приложения можно упорядочивать на основании их комбинированных показателей релевантности (например, от наивысшего комбинированного показателя релевантности до наименьшего комбинированного показатель релевантности), и это упорядочение может служить рейтингами приложений.
[0084] Одной характеристикой, которая может использоваться для определения рейтинга для приложения, являются метаданные, описывающие приложение. Метаданные, описывающие приложение, обеспечиваются в качестве регистрационной информации для приложения, как рассмотрено выше. Модуль 704 ранжирования приложений идентифицирует категорию приложений активного в данный момент приложения (например, идентификатор активного в данный момент приложения можно получать от операционной системы и использовать в качестве поискового индекса в хранилище 708 регистрационных данных приложений для определения регистрационной информации для этого приложения). Если приложение принадлежит той же категории, что и активное в данный момент приложение, то приложению присваивается более высокий показатель релевантности (например, значение 1), и если приложение не принадлежит той же категории, что и активное в данный момент приложение, то приложению присваивается более низкая релевантность (например, значение 0).
[0085] Другой характеристикой, которая может использоваться для определения рейтинга для приложения, являются данные использования для приложения. Информация, касающаяся использования приложения, может отслеживаться и поддерживаться модулем 700 поиска на системном уровне. Когда пользователь выбирает приложения для поиска и условия поиска с использованием модуль 700 поиска на системном уровне, информация, о том, какие приложения были выбраны для поиска, и какие условия поиска были введены для поиска, можно легко идентифицировать, и соответствующая запись может поддерживаться модулем 700 поиска на системном уровне. Информация, касающаяся использования приложения, может указывать, например, насколько часто приложение выбирается в качестве искомого приложения через UI поиска на системном уровне, насколько недавно приложение было выбрано в качестве искомого приложения через UI поиска на системном уровне, насколько часто приложение выбирается в качестве приложения для поиска по текущему условию поиска через UI поиска на системном уровне, насколько недавно приложение было выбрано в качестве приложения для поиска по текущему условию поиска через UI поиска на системном уровне, и т.д. Дополнительно, если приложения поддерживают пользовательские интерфейсы поиска, где можно производить поиск, отдельно от UI поиска на системном уровне, то эти приложения могут отслеживать данные использования и также передавать такие данные использования модулю 704 ранжирования приложений.
[0086] Информация использования может использоваться для генерации численного значения, которое является показателем релевантности для приложения. Например, численное значение частоты, с которой приложение выбирается в качестве искомого приложения через UI поиска на системном уровне, может генерироваться делением числа случаев выбора приложения на суммарное количество случаев выбора приложения (например, за некоторый период времени, например, предыдущую неделю, предыдущий месяц и т.д.). В порядке другого примера, численное значение, указывающее, насколько недавно приложение было выбрано в качестве приложения для поиска по текущему условию поиска через UI поиска на системном уровне, может генерироваться путем идентификации, насколько давно (например, в минутах, часах, днях и т.д.) приложение было выбрано последний раз в качестве приложения для поиска по текущему условию поиска через UI поиска на системном уровне.
[0087] Другой характеристикой, которая может использоваться для определения рейтинга для приложения, является веб-домен для приложения. Веб-домен приложения обеспечивается в качестве регистрационной информации для приложения, как рассмотрено выше. Модуль 704 ранжирования приложений может передавать текущее условие поиска, введенное пользователем в подсистему интернет-поиска, анализировать результаты, возвращаемые подсистемой интернет-поиска, и присваивать приложению показатель релевантности на основании того, где веб-домен появляется в результатах, возвращаемых подсистемой интернет-поиска. Численное значение, которое является показателем релевантности для приложения на основании веб-домена приложения, может генерироваться, например, путем идентификации, насколько высоким или ранним является веб-домен в результатах, возвращаемых подсистемой интернет-поиска. Например, если результаты, возвращаемые подсистемой интернет-поиска, указывают веб-домен приложения в качестве первого результата, то показатель релевантности для приложения равен 1 (или, альтернативно, конкретному значению минус 1). В порядке другого примера, если результаты, возвращаемые подсистемой интернет-поиска, указывают веб-домен приложения в качестве результата, пятого от верхнего или первого результата поиска, то показатель релевантности для приложения равен 5 (или, альтернативно, конкретному значению минус 5). Альтернативно, если результаты, возвращаемые подсистемой интернет-поиска, указывают, что результаты, которые включают в себя веб-домен недоступны, то приложение можно исключить из числа приложений, отображаемых на участке идентификации поиска UI поиска на системном уровне. Например, модуль 704 ранжирования приложений может указывать модулю 702 пользовательского интерфейса, что приложение подлежит исключению, в результате чего, модуль 702 пользовательского интерфейса не включает в себя идентификатор приложения на участке идентификации поиска UI поиска на системном уровне. Альтернативно, модуль 704 ранжирования приложений может передавать веб-домен приложения веб-службе, которая возвращает показатель релевантности для приложения. Способ, которым веб-служба определяет показатель релевантности, может изменяться и определяется веб-службой.
[0088] В альтернативных вариантах осуществления, модуль 704 ранжирования приложений поддерживает рейтинги для приложений, которые указаны (и могут вводиться самыми разнообразными способами) пользователем. Пользователь, таким образом, способен приспосабливать рейтинги для приложений по своему желанию. Модулю 704 ранжирования приложений не нужно использовать никаких других критериев для определения рейтингов для приложений, и может просто использовать заданные пользователем рейтинги в качестве рейтингов, которые генерируются или определяются модулем 704 ранжирования приложений. Эти заданные пользователем рейтинги для приложений могут поддерживаться с другой информацией, касающейся зарегистрированных приложений, в хранилище 708 регистрационных данных приложений, или, альтернативно, могут поддерживаться в другом месте.
[0089] Модуль 702 пользовательского интерфейса использует информацию в хранилище 708 регистрационных данных приложений и рейтинги, генерируемые модулем 704 ранжирования приложений, для определения, какие приложения нужно включать в участок идентификации поиска UI поиска на системном уровне и/или в каком порядке нужно включать приложения в участок идентификации поиска UI поиска на системном уровне. В одном или более вариантах осуществления, участок идентификации поиска UI поиска на системном уровне может отображать не более чем пороговое количество приложений. Если с помощью модуля 700 поиска на системном уровне зарегистрировано больше порогового количества приложений, то модуль 702 пользовательского интерфейса выбирает пороговое количество приложений, которые зарегистрированы с помощью модуля 700 поиска на системном уровне и имеют наивысшие рейтинги (или, альтернативно, наименьшие рейтинги). Например, если участок идентификации поиска UI поиска на системном уровне может отображать только 5 идентификаторов приложений, то модуль 702 пользовательского интерфейса выбирает 5 приложений с наивысшим рейтингом (например, приложения, имеющие 5 наибольших комбинированных показателей релевантности, 5 приложения в начале или конце упорядочения приложений на основании их комбинированных показателей релевантности, и т.д.) и включает идентификаторы этих 5 приложений с наивысшим рейтингом в участок идентификации поиска UI поиска на системном уровне. Пороговое количество приложений может, в необязательном порядке, регулироваться пользователем или администратором модуля 700 поиска на системном уровне.
[0090] Модуль 702 пользовательского интерфейса также может использовать информацию в хранилище 708 регистрационных данных приложений для определения, какие приложения нужно включить в участок идентификации поиска UI поиска на системном уровне. В одном или более вариантах осуществления, регистрационная информация, предоставляемая приложением, включает в себя требования приложения, как рассмотрено выше. Модуль 702 пользовательского интерфейса проверяет, выполняются ли эти требования, и не включает приложение в участок идентификации поиска UI поиска на системном уровне, если требования не выполняются.
[0091] Способ, которым модуль 702 пользовательского интерфейса определяет, выполняются ли требования приложения, изменяется на основании конкретных требований. Например, регистрационная информация может указывать, что требуется соединение с интернетом (например, для осуществления доступа к хранилищу данных на удаленном вычислительном устройстве, например, вычислительном устройстве 104, показанном на Фиг.1). Модуль 702 пользовательского интерфейса запрашивает компонент или модуль (например, операционной системы на том же вычислительном устройстве, что и модуль 700 поиска на системном уровне) для определения, имеет ли вычислительное устройство в данный момент соединение с интернетом. Если вычислительное устройство в данный момент имеет соединение с интернетом, то требование выполняется, и приложение может быть включено в участок идентификации поиска UI поиска на системном уровне. Если же вычислительное устройство в данный момент не имеет соединения с интернетом, то требование не выполняется, и приложение не включается в участок идентификации поиска UI поиска на системном уровне. Альтернативно, если вычислительное устройство в данный момент не имеет соединения с интернетом, то приложение может отображаться на участке идентификации поиска, но в другом виде (например, затененным для указания того, что приложение может быть неспособно осуществлять поиск по условию поиска) или с текстом, пиктограммой или какой-либо другой индикацией того, что приложение может быть неспособно осуществлять поиск по условию поиска.
[0092] Дополнительно, в одном или более вариантах осуществления модуль 702 пользовательского интерфейса определяет упорядочение приложений, включенных в участок идентификации поиска UI поиска на системном уровне, на основании рейтингов. Идентификаторы приложений отображаются на участке идентификации поиска UI поиска на системном уровне по порядку в соответствии с рейтингами приложений. Способ, которым идентификаторы приложений отображаются в соответствии с их рейтингами, может варьироваться в зависимости от реализации. Например, идентификаторы приложений могут отображаться сверху вниз на участке идентификации поиска UI поиска на системном уровне по порядку от наивысшего рейтинга до наименьшего рейтинга. Например, согласно Фиг.2, приложение, идентифицированное “именем приложения 1”, будет иметь более высокий рейтинг, чем приложение, идентифицированное “именем приложения 2”. В порядке другого примера, идентификаторы приложений могут отображаться слева направо на участке идентификации поиска UI поиска на системном уровне по порядку от наивысшего рейтинга до наименьшего рейтинга.
[0093] Модуль 702 пользовательского интерфейса также может вносить различные другие изменения в идентификаторы приложений на основании рейтингов. Например, идентификаторы приложений для приложений с более высоким рейтингом (например, одного или более приложений с наивысшим рейтингом, приложения, имеющие рейтинги выше порогового значения, и т.д.) могут отображаться другим шрифтом, другим цветом, с анимациями, в увеличенном размере и т.д. В порядке другого примера, идентификаторы приложений могут отображаться в разных размерах, причем идентификаторы приложений для приложений с более высоким рейтингом имеют более крупные пиктограммы, знаки, размеры шрифта и т.д., чем идентификаторы приложений для приложений с более низким рейтингом.
[0094] Таким образом, модуль 702 пользовательского интерфейса отображает идентификаторы приложений на участке идентификации поиска UI поиска на системном уровне на основании рейтингов приложений. Идентификатор приложения, который отображается модулем 702 пользовательского интерфейса, получается из хранилища 708 регистрационных данных приложений (обеспечиваемых в ходе процесса регистрации для приложения). Когда пользователь выбирает конкретный идентификатор приложения (или нужно искать конкретное приложение), модуль 702 пользовательского интерфейса осуществляет доступ к хранилищу 708 регистрационных данных приложений для идентификации, как запускать приложение. Модуль 702 пользовательского интерфейса извлекает эту информацию из хранилища 708 регистрационных данных приложений и передает информацию операционной системе, которая, в свою очередь, запускает приложение. Кроме того, модуль 702 пользовательского интерфейса передает условие поиска, введенное пользователем на участке ввода данных UI поиска на системном уровне, выбранному приложению. Затем выбранное приложение осуществляет поиск по условию поиска и генерирует (и отображает, если выбрано) надлежащие результаты. Условие поиска передается выбранному приложению способом, указанным выбранным приложением в регистрационной информации, ранее обеспеченной выбранным приложением.
[0095] Модуль 702 пользовательского интерфейса также может передавать различную дополнительную контекстную информацию приложению, которое осуществляет поиск. Контекстная информация относится к информации, касающейся пользователя вычислительного устройства и/или запрашиваемого поиска (само условие поиска можно именовать контекстной информацией для поиска). Контекстная информация может включать в себя, например, идентификатор пользователя вычислительного устройства (например, полученный из другого компонента или модуля операционной системы), индикацию, что пользователь вошел в вычислительное устройство (например, позволяющий приложению самостоятельно идентифицировать пользователя), индикацию активного в данный момент приложения, индикацию категории активного в данный момент приложения, индикацию одного или более приложений, которые пользователь ранее выбрал для поиска по условию поиска, индикацию категории каждого из одного или более приложений, которые пользователь ранее выбрал для поиска по условию поиска, и т.д.
[0096] Приложение, которое принимает контекстную информацию для поиска, может использовать контекст любым образом в соответствии с потребностями приложения, и может использовать всю контекстную информацию или только часть контекстной информации. Например, приложение может использовать условие поиска для генерации результатов поиска, но игнорировать любую другую контекстную информацию для поиска. В порядке другого примера, приложение может использовать условие поиска для генерации результатов поиска и также категории приложений, которые пользователь ранее выбрал для поиска по условию поиска, для генерации результатов поиска, которые включают в себя данные той же категории (например, файлы кинофильма, если категориями приложений, в которых ранее искал пользователь, были фильмы).
[0097] На Фиг.8 показана блок-схема последовательности операций, иллюстрирующая пример процесса регистрации 800 для регистрации приложения с помощью модуля поиска на системном уровне в соответствии с одним или более вариантами осуществления. Процесс 800 можно реализовать в виде программного обеспечения, программно-аппаратного обеспечения, аппаратного обеспечения или их комбинаций. Действия процесса 800, проиллюстрированные в левой стороне Фиг.8, осуществляются модулем поиска на системном уровне, например, модулем 700 поиска на системном уровне, показанным на Фиг.7. Действия процесса 800, проиллюстрированные в правой стороне Фиг.8, осуществляются посредством и/или со стороны приложения, например, приложения 112, показанного на Фиг.1. Действия процесса 800, проиллюстрированные в правой стороне, могут осуществляться самим приложением или другим компонентом или модулем со стороны приложения (например, установщиком приложения, поставщиком или изготовителем приложения и т.д.). Процесс 800 показан как набор действий и не ограничивается порядком, показанным для осуществления операций различных действий. Процесс 800 является примером процесса для регистрации приложения с помощью модуля поиска на системном уровне; дополнительные рассмотрения регистрации приложения с помощью модуля поиска на системном уровне включены в данное описание изобретения со ссылкой на разные фигуры.
[0098] В процессе 800 идентифицируется регистрационная информация UI поиска на системном уровне для приложения (действие 802). Регистрационная информация UI поиска на системном уровне включает в себя индикацию, каким образом приложение должно запускаться модулем поиска на системном уровне. Различная дополнительная информация также может идентифицироваться как рассмотренная выше регистрационная информация UI поиска на системном уровне.
[0099] Идентифицированная регистрационная информация UI поиска на системном уровне передается модулю поиска на системном уровне (действие 804). Эта регистрационная информация может передаваться модулю регистрации приложений модуля поиска на системном уровне как рассмотрено выше.
[00100] Модуль поиска на системном уровне принимает регистрационную информацию UI поиска на системном уровне от приложения (действие 806), и добавляет принятую регистрационную информацию UI поиска на системном уровне в хранилище регистрационных данных (действие 808).
[00101] Приложение включено как приложение, которое можно выбирать для поиска с использованием UI поиска на системном уровне (действие 810). Идентификатор приложения (который может быть включен в регистрационную информацию UI поиска на системном уровне, предоставляемую приложением) может отображаться пользователю, что позволяет пользователю выбирать приложение для поиска по одному или более условиям поиска, как рассмотрено выше.
[00102] Возвращаясь к Фиг.7, рассмотренному выше, модуль 702 пользовательского интерфейса генерирует информацию, подлежащую отображению в качестве UI поиска на системном уровне, и также взаимодействует с приложениями, в том числе, может включать в себя запуск выбранных пользователем приложений. Модуль 702 пользовательского интерфейса также может иметь дополнительные взаимодействия с активным в данный момент приложением, предоставляя информацию активному в данный момент приложению и принимая информацию от него. Активное в данный момент приложение относится к приложению (например, одному из приложений 112, показанных на Фиг.1), которое выполняется в данный момент на переднем плане и является приложением, с которым пользователь может взаимодействовать, как рассмотрено выше. Индикация активного в данный момент приложения поддерживается модулем операционной системы, и индикацию может получать модуль 702 пользовательского интерфейса от этого модуля операционной системы.
[00103] Следует отметить, что активное в данный момент приложение может изменять с течением времени в ответ на пользовательский ввод и/или запрашивает у другого приложения или модуля, выполняющегося на вычислительном устройстве. Например, пользователь может выбирать идентификатор приложения из участка идентификации поиска UI поиска на системном уровне, и, в ответ, приложение, соответствующее выбранному идентификатору приложения, становится активным в данный момент приложением. В порядке другого примера, отдельно от UI поиска на системном уровне пользователь может по своему выбору запускать приложение или выбирать приложение для взаимодействия с ним, и, в ответ, выбранное приложение становится активным в данный момент приложением.
[00104] В одном или более вариантах осуществления, модуль 702 пользовательского интерфейса передает принимаемый пользовательский ввод активному в данный момент приложению. Каждый символ или другой знак, введенный пользователем, передается активному в данный момент приложению в ответ на вводимый символ или знак. В ответ на пользовательский ввод, активное в данный момент приложение может генерировать нуль или более предложенных условий поиска на основании этого ввода. Активное в данный момент приложение может генерировать нуль или более предложенных условий поиска самыми разнообразными способами, например, на основании предыдущего ввода данных пользователем, на основании данных, доступных для поиска, или словаря, который поддерживается приложением, и т.д. Нуль или более предложенных условий поиска возвращаются модулю 702 пользовательского интерфейса, который отображает предложенные условия поиска в составе UI поиска на системном уровне. Предложенные условия поиска могут отображаться в разных местах, например, в списке элементов меню, соседствующем с участком ввода данных UI поиска на системном уровне. Пользователь может выбирать одно из предложенных условий поиска, и, в ответ, модуль 702 пользовательского интерфейса отображает предложенное условие поиска на участке ввода данных UI поиска на системном уровне.
[00105] Например, если пользователь вводит условие поиска, и первым символом, введенным пользователем, является буква “H”, модуль 702 пользовательского интерфейса отправляет активному в данный момент приложение индикацию того, что буква “H” введена пользователем. Активное в данный момент приложение генерирует нуль или более предложенных условий поиска (например, Home, House, Hydrogen, Hello и т.д.) и возвращает эти предложенные условия поиска модулю 702 пользовательского интерфейса. Модуль 702 пользовательского интерфейса отображает эти предложенные условия поиска в составе UI поиска на системном уровне. Затем пользователь может выбирать одно из этих предложенных условий поиска как, по меньшей мере, часть нужного пользователю условия поиска самыми разнообразными способами (например, через модуль 114 ввода, показанный на Фиг.1), например, касаясь предложенного условия поиска стилусом или пальцем, устанавливая указатель на предложенное условие поиска и нажимая кнопку устройства управления курсором (например, мыши), и т.д. В ответ на пользовательский выбор предложенного условия поиска, модуль 702 пользовательского интерфейса отображает выбранное предложенное условие поиска на участке ввода данных UI поиска на системном уровне.
[00106] Продолжая рассматривать этот пример, если пользователь не выбирает одно из предложенных условий поиска, но вместо этого вводит букву “e”, в результате чего, ввод пользователя становится “He”, модуль 702 пользовательского интерфейса отправляет на активное в данный момент приложение индикацию того, что буквы “He” пользователь ввел. Активное в данный момент приложение генерирует нуль или более предложенных условий поиска (например, Help, Hello, Henry, и т.д.) и возвращает эти предложенные условия поиска модулю 702 пользовательского интерфейса. Модуль 702 пользовательского интерфейса отображает эти вновь предложенные условия поиска в составе UI поиска на системном уровне. Этот процесс может продолжаться, пока пользователь не выберет приложение для поиска по введенному им условию поиска.
[00107] Хотя предложенные условия поиска рассматриваются здесь как текстовые условия поиска, различный другой контент и/или типы контента могут возвращаться модулю 702 пользовательского интерфейса. Этот другой контент и/или типы контента могут отображаться или иначе представляться модулем 702 пользовательского интерфейса помимо или, альтернативно, вместо, возвращаемых предложенных условий поиска. Например, одно или более изображений, связанных с одним или более предложенными условиями поиска, могут возвращаться и отображаться, дополнительный описательный текст, связанный с одним или более предложенными условиями поиска, могут возвращаться и отображаться, аудиоконтент, связанный с одним или более предложенными условиями поиска, может возвращаться и воспроизводиться, и т.д.
[00108] На Фиг.9 показана блок-схема последовательности операций, иллюстрирующая пример процесса 900 для использования пользовательского интерфейса поиска на системном уровне в соответствии с одним или более вариантами осуществления. Процесс 900 осуществляется модулем поиска на системном уровне, например, модулем 700 поиска на системном уровне, показанным на Фиг.7, и может быть реализован посредством программного обеспечения, программно-аппаратного обеспечения, аппаратного обеспечения или их комбинаций. Процесс 900 показан как набор действий и не ограничивается порядком, показанным для осуществления операций различных действий. Процесс 900 является примером процесса для использования пользовательского интерфейса поиска на системном уровне; дополнительные рассмотрения использования пользовательского интерфейса поиска на системном уровне включены в данное описание изобретения со ссылкой на разные фигуры.
[00109] В процессе 900 отображается UI поиска на системном уровне, который включает в себя, как участок ввода данных, так и участок идентификации поиска (действие 902). UI поиска на системном уровне может отображаться в различных местах на экранном отображении, как рассмотрено выше.
[00110] Данные, вводимые пользователем, отображается на участке ввода данных UI поиска на системном уровне (действие 904). Данные могут вводиться пользователем самыми разнообразными способами, как рассмотрено выше.
[00111] Идентификаторы одного или более приложений, которые можно искать с использованием данных, введенных пользователем, отображаются на участке идентификации поиска (действие 906). Эти идентификаторы могут принимать разнообразные формы, например имена, пиктограммы, анимации, и т.д., как рассмотрено выше. Идентификаторы, отображаемые в действии 906, являются идентификаторами одного или более приложений, которые зарегистрировались для использования с помощью UI поиска на системном уровне, и можно выбирать различными способами, как рассмотрено выше.
[00112] Данные, введенные пользователем, передаются одному из множественных приложений на устройстве, реализующем UI поиска на системном уровне (действие 908). Как рассмотрено выше, ввод данных можно передавать активному в данный момент приложению (например, путем выбора кнопки поиска, как рассмотрено выше), или приложению, соответствующему идентификатору приложения, который отображается на участке идентификации поиска и выбранному пользователем.
[00113] Отображение UI поиска на системном уровне поддерживается, в то время как приложение, которому передаются данные, введенные пользователем, получает и отображает результаты поиска на основании данных, введенных пользователем (действие 910). Приложение управляет отображением результатов поиска (например, в окне приложения), как рассмотрено выше, тогда как UI поиска на системном уровне продолжает отображаться.
[00114] На Фиг.10 показана блок-схема последовательности операций, иллюстрирующая пример процесса 1000 для отображения идентификаторов приложений на участке идентификации поиска пользовательского интерфейса поиска на системном уровне в соответствии с одним или более вариантами осуществления. Процесс 1000 осуществляется модулем поиска на системном уровне, например, модулем 700 поиска на системном уровне, показанным на Фиг.7, и может быть реализован посредством программного обеспечения, программно-аппаратного обеспечения, аппаратного обеспечения или их комбинаций. Процесс 1000 показан как набор действий и не ограничивается порядком, показанным для осуществления операций различных действий. Процесс 1000 является примером процесса для отображения идентификаторов приложений на участке идентификации поиска пользовательского интерфейса поиска на системном уровне; дополнительные рассмотрения отображения идентификаторов приложений на участке идентификации поиска пользовательского интерфейса поиска на системном уровне включены в данное описание изобретения со ссылкой на разные фигуры.
[00115] В процессе 1000 идентифицируются множественные приложения, которые можно искать с использованием UI поиска на системном уровне (действие 1002). Эти множественные приложения являются приложениями, которые зарегистрированы для использования UI поиска на системном уровне, как рассмотрено выше.
[00116] Рейтинг генерируется для каждого из множественных приложений (действие 1004). Эти рейтинги могут генерироваться самыми разнообразными способами, как рассмотрено выше, в том числе, в необязательном порядке, с использованием заданных пользователем рейтингом. Эти рейтинги могут представлять собой, например, конкретный показатель или упорядочение приложений от наивысшего до наименьшего, как рассмотрено выше.
[00117] Одно или более из множественных приложений, которые подлежат идентификации в UI поиска на системном уровне, выбираются, по меньшей мере, частично на основании рейтингов (действие 1006). Если существует больше приложений, чем можно идентифицировать в UI поиска на системном уровне, то одно или более из приложений выбираются на основании их рейтингов, как рассмотрено выше.
[00118] Идентификаторы выбранного одного или более приложений отображаются в соответствии с рейтингами в составе UI поиска на системном уровне (действие 1008). Способ, которым идентификаторы приложений отображаются в соответствии с их рейтингами, может варьироваться в зависимости от реализации, как рассмотрено выше, например, путем отображения идентификаторов приложений сверху вниз по порядку от наивысшего рейтинга (вверху) к наименьшему рейтингу (внизу), слева направо по порядку от наивысшего рейтинга (слева) к наименьшему рейтингу (справа), и т.д.
[00119] Следует отметить, что пользователь может искать любой из множества разных типов информации, например, контактную информацию других пользователей, фильмы, игры, книги или другие публикации, и т.д.
[00120] В приведенных здесь рассмотрениях идет речь о запуске выбранного пользователем приложения и поиске выбранного приложения по условию поиска. Следует отметить, что могут возникать ситуации, когда выбранное приложение уже выполняется (например, в фоновом режиме) и, таким образом, его не нужно запускать. В таких ситуациях, модуль поиска на системном уровне (например, модуль 700, показанный на Фиг.7) передает запрос выбранному приложению для поиска по условию поиска. В ответ, выбранное приложение осуществляет поиск по условию поиска и генерирует (и отображает, если выбрано) свои результаты поиска. В одном или более вариантах осуществления приложение включает в себя, в составе регистрационной информации, которую оно передает модулю поиска на системном уровне, индикацию, каким образом модуль поиска на системном уровне должен запрашивать, чтобы приложение осуществляло поиск по условию поиска. Например, регистрационная информация может включать в себя индикацию одного или более API приложения, подлежащих вызову для передачи приложению условия поиска (и, в необязательном порядке, другой контекстной информации). Альтернативно могут использоваться другие методы, например, когда приложение начинает выполняться, приложение может извещать модуль поиска на системном уровне, как модуль поиска на системном уровне может запрашивать, чтобы приложение производило поиск по условию поиска, модуль поиска на системном уровне может передавать запрос через заранее установленный канал связи или согласно протоколу, известному, как приложению, так и модулю поиска на системном уровне, и т.д.
[00121] Рассмотренный здесь UI поиска на системном уровне позволяет пользователю вводить условие поиска один раз и выбирать разные приложения для поиска по этому условию поиска, как рассмотрено выше. Каждое отдельное приложение осуществляет свой собственный поиск, и ему не нужно знать (и обычно оно не знает) о других приложениях, которые могут быть выбраны пользователем для поиска. Способ, которым приложение осуществляет свой поиск, а также хранилища данных, к которым обращается приложение при осуществлении своего поиска, может изменяться приложением. Приложение может производить поиск в локальных хранилищах данных (хранилищах данных, расположенных на том же вычислительном устройстве, где реализован UI поиска на системном уровне), и/или удаленных хранилищах данных (например, хранилищах данных, расположенных на другом вычислительном устройстве, например, устройстве 104, показанном на Фиг.1).
[00122] Результаты поиска, сгенерированные приложениями, отображаются на участке результатов поиска (например, участке 208 результатов поиска, показанном на Фиг.2 - 6) приложением, генерирующим эти результаты поиска. Каждое приложение, таким образом, способно приспосабливать отображение своих результатов поиска любым желаемым образом. Однако, несмотря на эти разные режимы отображения результатов поиска, участок ввода данных и участок идентификации поиска UI поиска на системном уровне остаются неизменными. UI поиска на системном уровне поддерживается в одном и том же месте, и его внешний вид не изменяется на основании результатов поиска (хотя команда ввода данных и предложенные условия поиска могут изменяться на основании активного в данный момент приложения, как рассмотрено выше).
[00123] На Фиг.11 показана блок-схема последовательности операций, иллюстрирующая пример процесса 1100 для облегчения взаимодействия с пользовательским интерфейсом поиска на системном уровне в соответствии с одним или более вариантами осуществления. Процесс 1100 осуществляется модулем поиска на системном уровне, например, модулем 700 поиска на системном уровне, показанным на Фиг.7, и может быть реализован посредством программного обеспечения, программно-аппаратного обеспечения, аппаратного обеспечения или их комбинаций. Процесс 1100 показан как набор действий и не ограничивается порядком, показанным для осуществления операций различных действий. Процесс 1100 является примером процесса для облегчения взаимодействия с пользовательским интерфейсом поиска на системном уровне; дополнительные рассмотрения облегчения взаимодействия с пользовательским интерфейсом поиска на системном уровне включены в данное описание изобретения со ссылкой на разные фигуры.
[00124] В процессе 1100 символьный ввод принимается, когда активное в данный момент приложение или компонент операционной системы не поддерживает символьные вводы (действие 1102). Символьные вводы могут быть вводами буквенно-цифровых символов, как рассмотрено выше.
[00125] В ответ на получение символьного ввода, отображается пользовательский интерфейс поиска на системном уровне, включающий в себя участок ввода данных, отображающий символ в качестве условия поиска (действие 1104). Пользовательский интерфейс поиска на системном уровне также включает в себя участок результатов поиска, отображающий результаты поиска, сгенерированные конкретным приложением на основании условия поиска, например, активным в данный момент или наиболее часто используемым приложением, как рассмотрено выше. Альтернативно, могут отображаться результаты поиска для других областей, и область, для которой отображаются результаты поиска, может определяться различными способами, как рассмотрено выше.
[00126] На Фиг.12 показана блок-схема последовательности операций, иллюстрирующая другой пример процесса 1200 для облегчения взаимодействия с пользовательским интерфейсом поиска на системном уровне в соответствии с одним или более вариантами осуществления. Процесс 1200 осуществляется модулем поиска на системном уровне, например, модулем 700 поиска на системном уровне, показанным на Фиг.7, и может быть реализован посредством программного обеспечения, программно-аппаратного обеспечения, аппаратного обеспечения или их комбинаций. Процесс 1200 показан как набор действий и не ограничивается порядком, показанным для осуществления операций различных действий. Процесс 1200 является примером процесса для облегчения взаимодействия с пользовательским интерфейсом поиска на системном уровне; дополнительные рассмотрения облегчения взаимодействия с пользовательским интерфейсом поиска на системном уровне включены в данное описание изобретения со ссылкой на разные фигуры.
[00127] В процессе 1200, сокращенный ввод с клавиатуры принимается в качестве пользовательского ввода (действие 1202). Разнообразные сокращенные вводы с клавиатуры, связанные с разными областями, могут приниматься, как рассмотрено выше.
[00128] Пользовательский интерфейс поиска на системном уровне отображается в ответ на пользовательский ввод (действие 1204). Разнообразные пользовательские интерфейсы поиска могут отображаться на основании конкретного сокращенного ввода с клавиатуры, например, пользовательского интерфейса поиска в области приложений, пользовательского интерфейса поиска в области настроек, пользовательский интерфейс поиска в области файлов или пользовательского интерфейса поиска в области, определяемой приложением.
[00129] Также принимается (действие 1206) дополнительный пользовательский ввод, который является условием поиска, и результаты поиска отображаются на основании условия поиска (действие 1208). Отображаемые результаты поиска являются результатами поиска, сгенерированными для области, связанной с принятым сокращенным вводом с клавиатуры, как рассмотрено выше.
[00130] Фиг.13 иллюстрирует пример вычислительного устройства 1300, которое может быть выполнено с возможностью реализации пользовательского интерфейса поиска на системном уровне в соответствии с одним или более вариантами осуществления. Вычислительное устройство 1300 может представлять собой, например, вычислительное устройство 102 или 104, показанное на Фиг.1.
[00131] Вычислительное устройство 1300 включает в себя один или более процессоров или блоков 1302 обработки, один или более машиночитаемых носителей 1304, который может включать в себя один или более компонентов 1306 памяти и/или хранения, одно или более устройств 1308 ввода/вывода (I/O) и шину 1310, которая позволяет различным компонентам и устройствам осуществлять связь друг с другом. Машиночитаемые носители 1304 и/или одно или более устройств 1308 I/O могут быть включены в состав вычислительного устройства 1300 или, альтернативно, могут быть подключены к нему. Процессор 1302, машиночитаемые носители 1304, одно или более устройств 1308 и/или шина 1310 могут, в необязательном порядке, быть реализованы как единичный компонент или микросхема (например, система на кристалле). Шина 1310 представляет один или более из нескольких типов шинных структур, включающих в себя шину памяти или контроллер памяти, периферийную шину, быстродействующий графический порт, процессор или локальную шину и т.д., с использованием разнообразных шинных архитектур. Шина 1310 может включать в себя проводные и/или беспроводные шины.
[00132] Компонент 1306 памяти/хранения представляет один или более компьютерных носителей данных. Компонент 1306 может включать в себя энергозависимые носители (например, оперативную память (ОЗУ)) и/или энергонезависимые носители (например, постоянную память (ПЗУ), флэш-память, оптические диски, магнитные диски и т.д.). Компонент 1306 может включать в себя стационарные носители (например, ОЗУ, ПЗУ, стационарный жесткий диск и т.д.), а также сменные носители (например, сменное ЗУ на основе флэш-памяти, сменный жесткий диск, оптический диск и т.д.).
[00133] Рассмотренные методы здесь можно реализовать в программном обеспечении, инструкции которого выполняются одним или более блоками 1302 обработки. Очевидно, что разные инструкции могут храниться в разных компонентах вычислительного устройства 1300, например, в блоке 1302 обработки, в различных блоках кэш-памяти блока 1302 обработки, в других блоках кэш-памяти устройства 1300 (не показаны), на других машиночитаемых носителях и т.д. Дополнительно, очевидно, что место, где хранятся инструкции в вычислительном устройстве 1300, может изменяться с течением времени.
[00134] Одно или более устройств 1308 ввода/вывода позволяют пользователю вводить команды и информацию в вычислительное устройство 1300 и также позволяет представлять информация пользователю и/или другим компонентам или устройствам. Примеры устройств ввода включают в себя клавиатуру, устройство управления курсором (например, мышь), микрофон, сканер и т.д. Примеры устройств вывода включают в себя устройство отображения (например, монитор или проектор), громкоговорители, принтер, сетевую карту и т.д.
[00135] Различные методы могут быть описаны здесь в общем контексте программного обеспечения или программных модулей. В общем случае, программное обеспечение включает в себя процедуры, программы, объекты, компоненты, структуры данных, и т.д., которые осуществляют конкретные задания или реализуют конкретные абстрактные типы данных. Реализация этих модулей и методов может храниться на или передаваться через ту или иную разновидность машиночитаемых носителей. Машиночитаемые носители может быть любым доступным носителем или носителями, к которому(ым) может осуществлять доступ вычислительное устройство. В порядке примера, но не ограничения, машиночитаемые носители могут содержать "компьютерные носители данных" и "среды связи".
[00136] "Компьютерные носители данных" включают в себя энергозависимые и энергонезависимые, сменные и стационарные носители, реализованные согласно любому способу или технологии хранения информации, например, машиночитаемых инструкций, структур данных, программных модулей или других данных. Компьютерные носители данных включают в себя, но без ограничения, ОЗУ, ПЗУ, ЭСППЗУ, флэш-память или другую технологию памяти, CD-ROM, цифровые универсальные диски (DVD) или другое оптическое запоминающее устройство, магнитные кассеты, магнитную ленту, запоминающее устройство на основе магнитного диска или другие магнитные запоминающие устройства, или любой другой носитель, который можно использовать для хранения нужной информации, и к которому компьютер может осуществлять доступ. Компьютерные носители данных относятся к носителям для хранения информации, а не только для передачи сигнала, несущих волн или самих сигналов. Таким образом, компьютерные носители данных относится к носителям без возможности передачи сигналов и не являются средам связи.
[00137] "Среды связи" обычно реализуют машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, например, несущей волне или другом транспортном механизме. Среды связи также включают в себя любые среды доставки информации. Термин "модулированный сигнал данных" означает сигнал, одна или более из характеристик которого устанавливается или изменяется таким образом, чтобы кодировать информацию в сигнале. В порядке примера, но не ограничения, среды связи включают в себя проводные среды передачи данных, например, проводную сеть или прямое проводное соединение, и беспроводные среды передачи данных, например, акустические, РЧ, инфракрасные и другие беспроводные среды передачи данных. Комбинации любых вышеприведенных примеров также включены в объем машиночитаемых носителей.
[00138] В общем случае, любой(ую) из описанных здесь функций или методов можно реализовать с использованием программного обеспечения, программно-аппаратного обеспечения, аппаратного обеспечения (например, неизменяемая логическая схема), ручной обработки или комбинации этих реализаций. Используемые здесь термины "модуль" и "компонент", в общем случае представляют программное обеспечение, программно-аппаратное обеспечение, аппаратное обеспечение или их комбинации. В случае программной реализации, модуль или компонент представляет программный код, который осуществляет указанные задания при выполнении на процессоре (например, ЦП). Программный код может храниться в одном или более машиночитаемых запоминающих устройствах, дополнительное описание которых можно найти со ссылкой на Фиг.13. В случае аппаратной реализации, модуль или компонент представляет функциональный блок или другое оборудование, которое осуществляет указанные задания. Например, в аппаратном модуле или компоненте может присутствовать специализированная интегральная схема (ASIC), вентильная матрица, программируемая пользователем (FPGA), сложное программируемое логическое устройство (CPLD) и т.д. Признаки описанных здесь методов пользовательского интерфейса поиска на системном уровне являются платформонезависимыми, в том смысле, что методы можно реализовать на различных коммерческих вычислительных платформах, имеющих различные процессоры.
[00139] Хотя объект патентования описан применительно к структурным признакам и/или этапам способа, следует понимать, что объект патентования, заданный в нижеследующей формуле изобретения, не обязательно ограничен вышеописанными конкретными признаками или этапами. Напротив, вышеописанные конкретные признаки и этапы раскрыты как примерные формы осуществления формулы изобретения.