Регистрация для поискового интерфейса пользователя системного уровня



Регистрация для поискового интерфейса пользователя системного уровня
Регистрация для поискового интерфейса пользователя системного уровня
Регистрация для поискового интерфейса пользователя системного уровня
Регистрация для поискового интерфейса пользователя системного уровня
Регистрация для поискового интерфейса пользователя системного уровня
Регистрация для поискового интерфейса пользователя системного уровня
Регистрация для поискового интерфейса пользователя системного уровня
Регистрация для поискового интерфейса пользователя системного уровня
Регистрация для поискового интерфейса пользователя системного уровня
Регистрация для поискового интерфейса пользователя системного уровня
Регистрация для поискового интерфейса пользователя системного уровня
Регистрация для поискового интерфейса пользователя системного уровня
Регистрация для поискового интерфейса пользователя системного уровня
Регистрация для поискового интерфейса пользователя системного уровня

 


Владельцы патента RU 2581840:

МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи (US)

Изобретение относится к области пользовательского интерфейса для проведения информационного поиска. Технический результат заключается в возможности увеличения количества различных приложений, в которых может быть проведен поиск в отношении поисковых запросов, вводимых в единый централизованный интерфейс. Для этого модуль поиска системного уровня принимает регистрационную информацию поискового интерфейса пользователя системного уровня для приложения вычислительного устройства. Регистрационная информация включает в себя указание того, как модуль поиска системного уровня может запускать приложение. Регистрационная информация добавляется в хранилище регистраций, и приложение включается в качестве приложения из одного или нескольких приложений, в которых можно проводить поиск с использованием поискового интерфейса пользователя системного уровня. 2 н. и 8 з.п. ф-лы, 13 ил.

 

Уровень техники

[0001] Поскольку компьютеры стали в большей степени обычным явлением, чрезвычайно вырос объем электронных данных, который стал доступен пользователям. Хотя наличие доступа к таким большим объемам электронных данных может быть очень полезным для пользователей, оно не лишено своих проблем. Одна такая проблема состоит в том, что для пользователей остается сложным найти конкретные электронные данные, которые они ищут. Например, пользователи могут столкнуться с ситуациями, где они обращаются к нескольким разным приложениям, чтобы найти конкретные электронные данные, которые они ищут. Это обычно включает в себя запрос выполнения разных приложений пользователями, переход к поисковым интерфейсам разных приложений и ввод одних и тех же поисковых терминов в каждое из разных приложений. Это может привести к утомительному и разочаровывающему взаимодействию для пользователя.

Сущность изобретения

[0002] Данное краткое изложение сущности изобретения предоставляется, чтобы представить подборку концепций в упрощенном виде, которые дополнительно описываются ниже в подробном описании. Данное краткое изложение сущности изобретения не предназначено для определения ключевых признаков или существенных признаков заявленного изобретения, и также не предназначено для использования в ограничении объема заявленного изобретения.

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

[0004] В соответствии с одним или несколькими аспектами, идентифицируется регистрационная информация поискового интерфейса пользователя системного уровня для приложения, причем регистрационная информация включает в себя указание того, как модуль поиска системного уровня, предоставляющий поисковый интерфейс пользователя системного уровня, может запускать это приложение. Регистрационная информация поискового интерфейса пользователя системного уровня передается модулю поиска системного уровня, так что приложение включается в качестве приложения из одного или нескольких приложений, в которых можно проводить поиск с использованием поискового интерфейса пользователя системного уровня.

[0005] В соответствии с одним или несколькими аспектами, идентифицируются несколько приложений вычислительного устройства, в которых можно проводить поиск через поисковый интерфейс пользователя системного уровня. Формируется ранжирование для каждого из нескольких приложений, причем ранжирование каждого из нескольких приложений по меньшей мере частично основывается на том, назначается ли приложение той же категории приложений, что и активное в настоящее время приложение вычислительного устройства. Ранжирование каждого из нескольких приложений также по меньшей мере частично основывается на одном или обоих фактах того, как часто приложение выбирается в качестве приложения для проведения поиска через поисковый интерфейс пользователя системного уровня, и насколько недавно приложение выбиралось в качестве приложения для проведения поиска через поисковый интерфейс пользователя системного уровня. Одно или более из нескольких приложений выбираются для идентификации через поисковый интерфейс пользователя системного уровня, причем каждое из выбранных приложений из нескольких приложений имеет ранжирование выше, чем приложения из нескольких приложений, которые не выбираются. Идентификаторы выбранных приложений из нескольких приложений отображаются как часть поискового интерфейса пользователя системного уровня в порядке от самого высокого ранжирования до самого низкого ранжирования.

Краткое описание чертежей

[0006] Во всех чертежах используются одинаковые номера для ссылки на схожие признаки.

[0007] Фиг. 1 иллюстрирует примерную систему, реализующую регистрацию для поискового интерфейса пользователя системного уровня в соответствии с одним или несколькими вариантами осуществления.

[0008] Фиг. 2, 3, 4, 5 и 6 иллюстрируют примерные экранные отображения, включающие в себя поисковый интерфейс пользователя системного уровня в соответствии с одним или несколькими вариантами осуществления.

[0009] Фиг. 7 - блок-схема, иллюстрирующая примерный модуль поиска системного уровня в соответствии с одним или несколькими вариантами осуществления.

[0010] Фиг. 8 - логическая блок-схема, иллюстрирующая примерный процесс регистрации для регистрации приложения в модуле поиска системного уровня в соответствии с одним или несколькими вариантами осуществления.

[0011] Фиг. 9 иллюстрирует другое примерное экранное отображение, включающее в себя поисковый интерфейс пользователя системного уровня в соответствии с одним или несколькими вариантами осуществления.

[0012] Фиг. 10 - блок-схема, иллюстрирующая примерную систему, поддерживающую лингвистические альтернативы для предложенных поисковых терминов, в соответствии с одним или несколькими вариантами осуществления.

[0013] Фиг. 11 - логическая блок-схема, иллюстрирующая примерный процесс для использования поискового интерфейса пользователя системного уровня в соответствии с одним или несколькими вариантами осуществления.

[0014] Фиг. 12 - логическая блок-схема, иллюстрирующая примерный процесс для отображения идентификаторов приложений в части идентификации приложений поискового интерфейса пользователя системного уровня в соответствии с одним или несколькими вариантами осуществления.

[0015] Фиг. 13 иллюстрирует примерное вычислительное устройство, которое можно сконфигурировать для реализации регистрации для поискового интерфейса пользователя системного уровня в соответствии с одним или несколькими вариантами осуществления.

Подробное описание

[0016] В этом документе обсуждается регистрация для поискового интерфейса пользователя системного уровня. Поисковый интерфейс пользователя (UI) системного уровня предоставляет централизованный UI, который позволяет пользователям вводить поисковый термин и искать тот поисковый термин в нескольких разных приложениях. Конкретные приложения, в которых пользователь может проводить поиск с использованием поискового UI системного уровня, регистрируются в поисковом UI системного уровня, предоставляя различную информацию о приложениях. Поисковый UI системного уровня использует эту регистрационную информацию для определения того, как эти разные приложения должны идентифицироваться для пользователя, как приложения должны запускаться в отображении их результатов поиска и так далее. Поисковый UI системного уровня определяет ранжирование для разных приложений на основе различных критериев и отображает идентификаторы приложений в соответствии с этим ранжированием. Пользователь затем может выбрать одно или несколько из этих разных приложений для проведения поиска поискового термина, в ответ на что поисковый UI системного уровня предоставляет поисковый термин выбранному приложению, и в свою очередь, выбранное приложение отображает свои результаты поиска.

[0017] Фиг.1 иллюстрирует примерную систему 100, реализующую регистрацию для поискового интерфейса пользователя системного уровня в соответствии с одним или несколькими вариантами осуществления. Система 100 включает в себя вычислительное устройство 102, которое при желании может взаимодействовать с одним или несколькими (x) другими устройствами 104(1), …, 104(m) по сети 106. Сеть 106 может быть рядом разных сетей, включая Интернет, локальную сеть (LAN), телефонную сеть общего пользования или другую телефонную сеть, интрасеть, другие общедоступные и/или частные сети, их сочетания и так далее. Вычислительное устройство 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 отображения отображает информацию, может быть реализован разными способами, например, с использованием технологии жидкокристаллического дисплея (LCD), технологии плазменных экранов, технологии проецирования изображения и так далее. Экран может включаться как часть вычислительного устройства 102, либо модуль 116 отображения в качестве альтернативы может формировать один или несколько сигналов, которые выводятся в одно или несколько других устройств отображения, которые включают в себя один или несколько экранов. Хотя обсуждения в этом документе относятся к отображению информации на одном или нескольких экранах, нужно учитывать, что информация в качестве альтернативы может представляться пользователям с помощью модуля 116 отображения другими способами, например вслух.

[0023] Модуль 118 поиска системного уровня предоставляет поисковый UI системного уровня, который является централизованным UI, который позволяет пользователям вычислительного устройства 102 вводить поисковый термин и искать тот поисковый термин в разных приложениях 112. Поисковый термин может быть любым сочетанием букв, знаков, символов и так далее, например одним или несколькими словами, частью слова и так далее. Поисковый UI системного уровня включает в себя часть ввода данных, посредством которой пользователь может ввести поисковый термин, и часть идентификации приложений, посредством которой можно идентифицировать разные приложения из приложений 112. Конкретные приложения из приложений 112, которые идентифицируются в части идентификации приложений, являются теми приложениями 112, которые зарегистрированы в модуле 118 поиска системного уровня, что подробнее обсуждается ниже.

[0024] Поисковый UI системного уровня, предоставленный модулем 118 поиска системного уровня, позволяет пользователю вычислительного устройства 102 ввести нужный ему или ей поисковый термин один раз в централизованном UI, а затем выбрать одно или несколько разных приложений 112 для поиска того поискового термина. В ответ на выбор приложения 112 через поисковый UI системного уровня поисковый термин предоставляется выбранному приложению 112, которое в свою очередь определяет и отображает (посредством модуля 116 отображения) результаты поиска на основе того поискового термина. Пользователь может заставить разные приложения 112 искать один и тот же поисковый термин просто путем выбора приложений через поисковый UI системного уровня. Таким образом, вместо взаимодействия пользователя с операционной системой 110 для запроса выполнения разных приложений 112, перехода в поисковый интерфейс каждого из тех разных приложений 112 и ввода одного и того же поискового термина в каждое из тех разных приложений, пользователь может ввести поисковый термин один раз в поисковый UI системного уровня. Пользователь затем может выбрать (например, посредством одиночного пользовательского ввода, такого как нажатие клавиши, касание идентификатора приложения на сенсорном экране, нажатие на идентификатор приложения, когда указатель или другой курсор находится над идентификатором приложения и т.п.) одно или несколько приложений 112, полагаясь на то, что операционная система 110 автоматически выполнит те приложения 112 при их выборе, и полагаясь на то, что модуль 118 поиска системного уровня предоставит поисковый термин выбранному приложению 112.

[0025] Поисковый UI системного уровня может активироваться в разные моменты. Когда активируется поисковый UI системного уровня, поисковый UI системного уровня отображается модулем 116 отображения. Модуль 118 поиска системного уровня может поддерживать поисковый UI системного уровня активированным и постоянно отображенным. В качестве альтернативы модуль 118 поиска системного уровня может активировать поисковый UI системного уровня в ответ на конкретный запрос (например, запрос пользователя на выполнение поиска, запрос от приложения 112 на выполнение поиска и так далее), скрывая поисковый UI системного уровня до его активирования. Приложения 112 могут использовать поисковый UI системного уровня, вызывая модуль 118 поиска системного уровня или направляя пользователя в поисковый UI системного уровня, уже отображенный модулем 118. Приложениям 112 не нужно предоставлять свои поисковые интерфейсы пользователя, так как они могут полагаться на поисковый UI системного уровня.

[0026] Таким образом, следует отметить, что поисковый UI системного уровня может использоваться разными способами. Пользователь может ввести поисковый термин в поисковый UI системного уровня, а затем посредством поискового UI системного уровня выбрать одно или несколько приложений 112 для поиска того поискового термина. В качестве альтернативы пользователь может ввести запрос через приложение 112 для ввода поискового термина. В ответ можно отобразить поисковый UI системного уровня (или пользователя можно направить в поисковый UI системного уровня, который уже отображен), посредством которого пользователь может ввести его или ее поисковый термин для поиска в том приложении 112. В качестве альтернативы пользователь может выбрать одно или несколько приложений 112 без ввода поискового термина, в ответ на что выбранное приложение уведомляется о выборе пользователя, и выбранное приложение отображает свое отображение результатов поиска. Результаты поиска могут еще не отображаться выбранным приложением, потому что пользователь еще не ввел поисковый термин. Однако после ввода поискового термина выбранное приложение отобразило бы свои результаты поиска.

[0027] Фиг.2 иллюстрирует примерное экранное отображение 202, включающее в себя поисковый интерфейс пользователя системного уровня в соответствии с одним или несколькими вариантами осуществления. Экранное отображение 202 включает в себя панель 204 инструментов (или панель задач). Панель 204 инструментов может включать в себя ряд разной информации, например текущее время (проиллюстрировано в виде 10:10).

[0028] Поисковый UI системного уровня иллюстрируется включающим в себя две части: часть 206 ввода данных и часть 208 идентификации приложений. Пользователь может ввести различные слова, буквы, символы, знаки и так далее в качестве поисковых терминов (например, посредством модуля 114 ввода из фиг.1, как обсуждалось выше). Этот пользовательский ввод отображается в части 206 ввода данных. В проиллюстрированном примере пользователь ввел знаки "Ha". В тот момент времени, который иллюстрирует экранное отображение 202, "Ha" является поисковым термином. Однако следует отметить, что пользователь может продолжить вводить дополнительные знаки, что приводит к другим поисковым терминам.

[0029] Часть 208 идентификации приложений включает в себя идентификаторы разных приложений. Эти идентификаторы иллюстрируются на примерном отображении 202 в виде "Названия приложения 1", "Названия приложения 2", "Названия приложения 3", "Названия приложения 4" и "Названия приложения 5". Каждый из этих идентификаторов в части 208 идентификации приложений является приложением, которое может выбрать пользователь, чтобы искать поисковый термин, отображенный в части 206 ввода данных. Пользователь может выбирать одно из приложений, идентифицированных в части 208 идентификации приложений, разными способами (например, посредством модуля 114 ввода из фиг.1), такими как касание идентификатора приложения пером или пальцем, передвижение указателя над идентификатором приложения и нажатие кнопки устройства управления курсором (например, мыши) и так далее.

[0030] Часть 208 идентификации приложений может отображаться автоматически, когда пользователь вводит данные в часть 206 ввода данных, или, в качестве альтернативы, может отображаться в ответ на запрос пользователя на отображение части 208 идентификации приложений. Например, пользователь может выбрать пиктограмму 210 меню разными способами (например, посредством модуля 114 ввода из фиг.1), например, путем касания пиктограммы 210 меню пером или пальцем, передвижения указателя над пиктограммой 210 меню и нажатия кнопки устройства управления курсором (например, мыши), путем нажатия конкретной клавиши клавиатуры и так далее. В ответ на выбор пользователем пиктограммы 210 меню отображается часть 208 идентификации приложений.

[0031] Более того, поисковый UI системного уровня может включать в себя кнопку 212 поиска, которая может выбираться разными способами (например, посредством модуля 114 ввода из фиг.1) аналогично выбору пиктограммы 210 меню. В ответ на выбор пользователем кнопки 212 поиска поисковый термин, введенный в настоящее время в часть 206 ввода данных, отправляется в приложение для поиска. Приложение, в которое отправляется поисковый термин, может определяться разными способами, например являющееся активным в настоящее время приложением, приложением в части 208 идентификации приложений, которое выделено в настоящее время, приложением, перечисленным наверху части 208 идентификации приложений и так далее. Активное в настоящее время приложение относится к приложению (например, одному из приложений 112 из фиг.1 (приложение помимо операционной системы)), которое работает в настоящее время на переднем плане и является приложением, с которым может взаимодействовать пользователь. Хотя несколько приложений могут работать одновременно на вычислительном устройстве, только одно является активным в настоящее время приложением. Часть 208 идентификации приложений обычно не включает в себя активное в настоящее время приложение, хотя в качестве альтернативы может включать в себя активное в настоящее время приложение.

[0032] Следует отметить, что местоположения части 206 ввода данных и части 208 идентификации приложений в поисковом UI системного уровня, проиллюстрированные на чертежах, являются примерами, и поисковый UI системного уровня может отображаться где угодно на экранном отображении 202. Например, часть 206 ввода данных и часть 208 идентификации приложений могут отображаться в верхней части экранного отображения 202, по левой стороне или правой стороне экранного отображения 202, в центре экранного отображения 202, как часть строки меню, как часть строки или дока пиктограмм и так далее.

[0033] Фиг.3 иллюстрирует другое примерное экранное отображение 302, включающее в себя поисковый интерфейс пользователя системного уровня в соответствии с одним или несколькими вариантами осуществления. Экранное отображение 302 аналогично экранному отображению 202 из фиг.2. Однако экранное отображение 302 иллюстрирует часть 304 идентификации приложений как включающую в себя пиктограммы или символы, представляющие приложения, вместо названий приложений, которые проиллюстрированы в части 208 идентификации приложений из фиг.2. Эти пиктограммы или символы могут выбираться пользователем аналогично выбору названий приложений, рассмотренному выше со ссылкой на часть 208 идентификации приложений.

[0034] Фиг.4 иллюстрирует другое примерное экранное отображение 402, включающее в себя поисковый интерфейс пользователя системного уровня в соответствии с одним или несколькими вариантами осуществления. Экранное отображение 402 аналогично экранному отображению 202 из фиг.2. Однако экранное отображение 402 также отображает окно 404 для активного в настоящее время приложения, именуемого "Movie Application" («Приложение показа кинофильмов»). Окно 404 может отображать любую из ряда разной информации, например текст (отображенный в виде горизонтальных линий в окне 404) и изображения (отображенные в виде прямоугольника в окне 404).

[0035] В одном или нескольких вариантах осуществления приложения, идентифицированные в части 208 идентификации приложений, не включают в себя активное в настоящее время приложение, отображенное в окне 404. В качестве альтернативы приложения, идентифицированные в части 208 идентификации приложений, могут включать в себя активное в настоящее время приложение, отображенное в окне 404.

[0036] В одном или нескольких вариантах осуществления в ответ на выбор пользователем кнопки 212 поиска поисковый термин, введенный в настоящее время в часть 206 ввода данных ("Ha" в проиллюстрированном примере), отправляется в активное в настоящее время приложение. Если пользователь должен был выбрать кнопку 212 поиска, то в ответ поисковый термин, введенный в настоящее время в часть 206 ввода данных, отправляется в приложение, отображенное в окне 404. Если пользователь должен был выбрать одно из приложений, идентифицированных в части 208 идентификации приложений, вместо кнопки 212 поиска, то в ответ поисковый термин, введенный в настоящее время в часть 206 ввода данных, отправляется в выбранное приложение.

[0037] Фиг.5 иллюстрирует другое примерное экранное отображение 502, включающее в себя поисковый интерфейс пользователя системного уровня в соответствии с одним или несколькими вариантами осуществления. Экранное отображение 502 аналогично экранному отображению 402 из фиг.4, отображающему окно 404 для активного в настоящее время приложения, именуемого "Movie Application". Однако экранное отображение 502 иллюстрирует окно 404 после того, как поисковый термин отправлен в активное в настоящее время приложение. Окно 404 может отображать любую из ряда разной информации в качестве результатов поиска, например текст (отображенный в виде горизонтальных линий в окне 404) и изображения.

[0038] Как видно на примерном экранном отображении 502, результаты поиска отображаются приложением, выбранным для поиска поискового термина. Более того, часть 206 ввода данных и часть 208 идентификации приложений остаются отображенными на экранном отображении 502.

[0039] Фиг.6 иллюстрирует другое примерное экранное отображение 602, включающее в себя поисковый интерфейс пользователя системного уровня в соответствии с одним или несколькими вариантами осуществления. Экранное отображение 602 аналогично экранному отображению 402 из фиг.4, отображающему окно 404 для приложения, именуемого "Movie Application". Однако экранное отображение 602 также иллюстрирует окно 604, включающее в себя результаты поиска из приложения, отличного от приложения, отображенного в окне 404. Окно 604 отображается после того, как выбрано приложение, идентифицированное в части 208 идентификации приложений. Предположим, например, что "Название приложения 3" идентифицирует приложение чтения электронных книг (E-book). В ответ на выбор пользователем "Названия приложения 3" поисковый термин, введенный в настоящее время в часть 206 ввода данных ("Ha" в проиллюстрированном примере), отправляется в выбранное приложение. Выбранное приложение запускается (если еще не работает), ищет поисковый термин "Ha" и формирует информацию, которую нужно отобразить в окне 604 в качестве результатов поиска. Окно 604 может отображать любую из ряда разной информации в качестве результатов поиска, например текст (отображенный в виде горизонтальных линий в окне 604) и изображения.

[0040] В примерном экранном отображении 602 приложение, формирующее информацию для отображения в окне 604, является активным в настоящее время приложением. Окно 404, которое отображает информацию для приложения, которое раньше было активным приложением, остается отображенным. В качестве альтернативы в ответ на выбор пользователем "Названия приложения 3" в части 208 или в ответ на запуск выбранного приложения окно 404 можно закрыть (например, и завершить работу приложения, отображающего информацию в окне 404), либо изменить его внешний вид (например, больше не отображается, уменьшено до пиктограммы на панели задач или панели инструментов).

[0041] Фиг.7 - блок-схема, иллюстрирующая примерный модуль 700 поиска системного уровня в соответствии с одним или несколькими вариантами осуществления. Модуль 700 поиска системного уровня может быть, например, модулем 118 поиска системного уровня из фиг.1. Модуль 700 поиска системного уровня включает в себя модуль 702 интерфейса пользователя, модуль 704 ранжирования приложений, модуль 706 регистрации приложений и хранилище 708 регистраций приложений.

[0042] Модуль 706 регистрации приложений управляет регистрацией приложений в модуле 700 поиска системного уровня, разрешая зарегистрированным приложениям отображаться в части идентификации приложений в поисковом UI системного уровня. Эта регистрация также называется разрешением зарегистрированным приложениям использовать поисковый UI системного уровня. Информация о зарегистрированных приложениях хранится в хранилище 708 регистраций приложений. Модуль 704 ранжирования приложений определяет ранжирование для зарегистрированных приложений, и зарегистрированные приложения отображаются в части идентификации приложений в поисковом UI системного уровня в соответствии с их ранжированиями. Модуль 702 интерфейса пользователя формирует информацию, которую нужно отобразить в виде поискового UI системного уровня, и предоставляет эту информацию модулю отображения вычислительного устройства, в котором расположен модуль 700 поиска системного уровня (например, модулю 116 отображения из фиг.1). Модуль 702 UI также взаимодействует с приложениями (например, приложениями 112 из фиг.1), включая запуск выбранных пользователем приложений, передачу приложениям поисковых терминов и прием информации от приложений, которую нужно отобразить как часть поискового UI системного уровня.

[0043] Чтобы отображаться в части идентификации приложений поискового UI системного уровня, приложение регистрируется в модуле 700 поиска системного уровня. Модуль 706 регистрации приложений управляет процессом регистрации для модуля 700 поиска системного уровня, взаимодействуя с приложением и сохраняя подходящую регистрационную информацию в хранилище 708 регистраций приложений. Приложение может регистрироваться в модуле 700 поиска системного уровня в разные моменты, например когда приложение устанавливается на то же вычислительное устройство, что и модуль 700 поиска системного уровня, когда устанавливается обновление приложения на то же вычислительное устройство, что и модуль 707 поиска системного уровня, в ответ на запрос от пользователя на регистрацию в модуле 700 поиска системного уровня, в ответ на запрос от другого модуля или устройства на регистрацию в модуле 700 поиска системного уровня и так далее.

[0044] Более того, само приложение может выполнять процесс регистрации для регистрации себя в модуле 700 поиска системного уровня, либо, в качестве альтернативы, другое приложение или модуль может выполнять процесс регистрации для регистрации приложения в модуле 700 поиска системного уровня. Например, приложение или модуль установщика при установке приложения на вычислительное устройство, которое включает в себя модуль 700 поиска системного уровня, может выполнить процесс регистрации для регистрации приложения в модуле 700 поиска системного уровня.

[0045] Как часть процесса регистрации, регистрационная информация для регистрируемого приложения предоставляется модулю 706 регистрации приложений. Различная регистрационная информация может предоставляться модулю 706 регистрации приложений. В одном или нескольких вариантах осуществления регистрационная информация включает в себя указание того, как приложение, которое регистрируется, должно запускаться модулем 702 UI, и как поисковый термин должен предоставляться приложению. Это указание того, как приложение должно запускаться модулем 702 UI, может изменяться приложением и может включать в себя, например, указание исполняемого файла, который нужно выполнить, указание одного или нескольких параметров, которые нужно использовать перед выполнением файла или которые нужно передать в приложение, когда оно работает, указание одного или нескольких интерфейсов прикладного программирования (API) приложения для вызова, чтобы передать приложению один или несколько параметров, и так далее. Аналогичным образом указание того, как поисковый термин должен предоставляться приложению модулем 702, может изменяться приложением и может включать в себя, например, указание того, как поисковый термин (и другая контекстная информация при желании) должен предоставляться приложению при начале работы приложения, указание одного или нескольких API приложения для вызова, чтобы передать приложению поисковый термин (и другую контекстную информацию при желании) и так далее.

[0046] В регистрационную информацию может включаться различная другая информация. Например, регистрационная информация может включать в себя метаданные, описывающие приложение, например конкретная категория приложения, по которой классифицируется приложение (например, игра, музыка, фильм, публикации, покупка товаров, работа, общение в социальных сетях и так далее), конкретный тип содержимого, которое обслуживает приложение (например, фильмы, электронные книги, игры, музыка и т.п.), веб-домен, используемый приложением (например, веб-домен устройства или услуги, к которому обращаются по сети) и так далее. В качестве другого примера регистрационная информация может включать в себя информацию, указывающую, как приложение должно идентифицироваться в части идентификации приложений в поисковом UI системного уровня (например, одна или несколько пиктограмм для использования, одно или несколько названий для использования, один или несколько цветов или шрифтов для использования, одна или несколько анимаций для отображения и так далее). В качестве еще одного примера регистрационная информация может включать в себя информацию, описывающую требования приложения (например, основывается ли приложение на Интернете или другом сетевом доступе к другому устройству или услуге).

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

[0048] Модуль 706 регистрации приложений сохраняет регистрационную информацию, принятую как часть процесса регистрации для приложения, в хранилище 708 регистраций приложений. Регистрационная информация сохраняется как ассоциированная с приложением или соответствующая ему, например, путем сохранения регистрационной информации вместе с соответствующим идентификатором приложения. Идентификатор приложения может принимать ряд разных форм, например сочетание названия приложения и производителя, идентификатор, назначенный приложению производителем приложений или модулем 700 поиска системного уровня, и так далее. Хранилище 708 регистраций приложений может быть базой данных, списком или другой структурой данных, хранящей регистрационную информацию для разных приложений. К хранилищу 708 регистраций приложений позднее может обращаться модуль 702 интерфейса пользователя, чтобы идентифицировать приложения, которые нужно отобразить в составе части идентификации приложений в поисковом UI системного уровня.

[0049] Модуль 704 ранжирования приложений назначает ранжирование каждому приложению, зарегистрированному в хранилище 708 регистраций приложений. Это ранжирование используется для определения порядка, в котором приложения отображаются в части идентификации приложений в поисковом UI системного уровня. Кроме того, могут возникать ситуации, где имеется больше приложений, которые зарегистрированы в модуле 700 поиска системного уровня, чем может отображаться поисковым UI системного уровня. В таких ситуациях ранжирование используется для определения, какие приложения нужно отобразить поисковым UI системного уровня. В качестве альтернативы порядок, в котором отображаются приложения, и/или какие приложения отображаются, может определяться разными способами, например в алфавитном порядке по названию приложения, случайно, в соответствии с другими правилами или критериями и так далее.

[0050] Модуль 704 ранжирования приложений может использовать ряд разных критериев при ранжировании приложений, например метаданные, описывающие приложения (и включенные в качестве регистрационной информации приложений), и данные об использовании для приложений. Модуль 704 ранжирования приложений может определять ранжирования в ответ на разные события, например активацию поискового UI системного уровня, запрос пользователя на отображение части идентификации приложений в поисковом UI системного уровня (например, путем выбора пиктограммы 210 меню из фиг.2), ввод поискового термина пользователем и так далее. В качестве альтернативы модуль 704 ранжирования приложений может заранее определять ранжирования приложений и использовать заранее определенные ранжирования, когда отображается часть идентификации приложений в поисковом UI системного уровня. Заранее определенные ранжирования могут формироваться с равными или переменными интервалами (например, приблизительно ежедневно или еженедельно, когда новое приложение регистрируется в модуле 706 регистрации приложений и так далее). Эти заранее определенные ранжирования могут храниться в хранилище 708 регистраций приложений (например, ранжирование приложений может храниться вместе с регистрационной информацией) или в качестве альтернативы храниться где-то в другом месте.

[0051] Ранжирования, определенные модулем 704 ранжирования приложений, могут быть конкретной оценкой (например, значением, колеблющимся от 1 до 100) или, в качестве альтернативы, могут быть упорядочением приложений от самого высокого ранжирования до самого низкого ранжирования, чтобы можно было быстро определить, ранжируется ли конкретное приложение выше или ниже любого другого приложения. Приложения с более высокими оценками или более высокими ранжированиями обычно считаются более релевантными поисковому термину, введенному пользователем, чем приложения с более низкими оценками или более низкими ранжированиями, хотя в качестве альтернативы приложения с более низкими оценками или более низкими ранжированиями могут считаться более релевантными поисковому термину, введенному пользователем, чем приложения с более высокими оценками или более высокими ранжированиями.

[0052] В одном или нескольких вариантах осуществления для того, чтобы определить ранжирование для конкретного приложения, модуль 704 ранжирования приложений идентифицирует характеристики конкретного приложения. Различные характеристики конкретного приложения могут использоваться для определения ранжирования для конкретного приложения. Несколько характеристик могут использоваться для определения ранжирования для конкретного приложения, или в качестве альтернативы может использоваться единственная характеристика для определения ранжирования для конкретного приложения. Конкретная оценка релевантности формируется для каждой из этих характеристик, используемых для определения ранжирования, и эти оценки релевантности вводятся в один или несколько алгоритмов ранжирования. Один или несколько алгоритмов ранжирования объединяют введенные оценки релевантности (например, путем сложения оценок, путем назначения веса каждой из оценок релевантности и сложения взвешенных оценок релевантности и так далее) для формирования ранжирования для приложения. Сочетание оценок релевантности для приложения может быть ранжированием для приложения. В качестве альтернативы могут формироваться объединенные оценки релевантности для всех зарегистрированных приложений, и зарегистрированные приложения могут упорядочиваться на основе их объединенных оценок релевантности (например, от самой высокой объединенной оценки релевантности до самой низкой объединенной оценки релевантности), и это упорядочение может быть ранжированиями приложений.

[0053] Одной характеристикой, которая может использоваться для определения ранжирования для приложения, являются описывающие приложение метаданные. Метаданные, описывающие приложение, предоставляются в качестве регистрационной информации для приложения, как обсуждалось выше. Модуль 704 ранжирования приложений идентифицирует категорию приложения у активного в настоящее время приложения (например, идентификатор активного в настоящее время приложения можно получить у операционной системы и использовать в качестве поиска в хранилище 708 регистраций приложений, чтобы определить регистрационную информацию для того приложения). Если приложение находится в той же категории, что и активное в настоящее время приложение, то приложению назначается более высокая оценка релевантности (например, значение 1), а если приложение не находится в той же категории, что и активное в настоящее время приложение, то приложению назначается более низкая оценка релевантности (например, значение 0).

[0054] Другой характеристикой, которая может использоваться для определения ранжирования для приложения, являются данные об использовании для приложения. Информация об использовании приложения может отслеживаться и обслуживаться модулем 700 поиска системного уровня. Когда пользователь выбирает приложения для проведения поиска и поисковые термины с использованием модуля 700 поиска системного уровня, информацию о том, какие приложения выбирались для проведения поиска, и о поисковых терминах, которые вводились для поиска, можно быстро идентифицировать, и запись такой информации обслуживается модулем 700 поиска системного уровня. Информация об использовании приложения может быть, например, тем, как часто приложение выбирается в качестве приложения для проведения поиска через поисковый UI системного уровня, тем, насколько недавно приложение выбиралось в качестве приложения для проведения поиска через поисковый UI системного уровня, тем, как часто приложение выбирается в качестве приложения для проведения поиска текущего поискового термина через поисковый UI системного уровня, тем, насколько недавно приложение выбиралось в качестве приложения для проведения поиска текущего поискового термина через поисковый UI системного уровня, и так далее. Более того, если приложения поддерживают поисковые интерфейсы пользователя, в которых можно проводить поиск отдельно от поискового UI системного уровня, то эти приложения с тем же успехом могут отслеживать данные об использовании и предоставлять такие данные об использовании модулю 704 ранжирования приложений.

[0055] Информация об использовании может использоваться для формирования числового значения, которое является оценкой релевантности для приложения. Например, числовое значение для частоты, с которой приложение выбирается в качестве приложения для проведения поиска через поисковый UI системного уровня, может формироваться путем деления количества раз, которое выбирается приложение, на общее количество выборов приложения (например, за некоторый период времени, например предыдущую неделю, предыдущий месяц и т.п.). В качестве другого примера числовое значение для того, насколько недавно приложение выбиралось в качестве приложения для проведения поиска текущего поискового термина через поисковый UI системного уровня, может формироваться путем идентификации, насколько давно (например, в минутах, часах, днях и т.п.) приложение последний раз выбиралось в качестве приложения для проведения поиска текущего поискового термина через поисковый UI системного уровня.

[0056] Другой характеристикой, которая может использоваться для определения ранжирования для приложения, является веб-домен для приложения. Веб-домен приложения предоставляется в качестве регистрационной информации для приложения, как обсуждалось выше. Модуль 704 ранжирования приложений может перенаправить текущий поисковый термин, введенный пользователем, в поисковую систему в Интернете, проанализировать результаты, возвращенные поисковой системой в Интернете, и назначить приложению оценку релевантности на основе того, где появился веб-домен в результатах, возвращенных поисковой системой в Интернете. Может формироваться числовое значение, которое является оценкой релевантности для приложения на основе веб-домена приложения, например, путем идентификации того, насколько высоко или раньше находится веб-домен в результатах, возвращенных поисковой системой в Интернете. Например, если результаты, возвращенные поисковой системой в Интернете, перечисляют веб-домен приложения в качестве первого результата, то оценка релевантности для приложения равна 1 (или конкретное значение минус 1 в качестве альтернативы). В качестве другого примера, если результаты, возвращенные поисковой системой в Интернете, перечисляют веб-домен приложения в качестве пятого сверху результата от первого результата поиска, то оценка релевантности для приложения равна 5 (или конкретное значение минус 5 в качестве альтернативы). В качестве альтернативы, если результаты, возвращенные поисковой системой в Интернете, указывают, что не доступны никакие результаты, которые включают в себя веб-домен, то приложение может исключаться из приложений, отображенных в части идентификации приложений в поисковом UI системного уровня. Например, модуль 704 ранжирования приложений может указать модулю 702 интерфейса пользователя, что приложение нужно исключить, в ответ на что модуль 702 интерфейса пользователя не включает идентификатор приложения в часть идентификации приложений в поисковом UI системного уровня. В качестве альтернативы модуль 704 ранжирования приложений может перенаправить веб-домен приложения в веб-службу, которая возвращает оценку релевантности для приложения. Способ, которым веб-служба определяет оценку релевантности, может меняться и определяется веб-службой.

[0057] В дополнительных вариантах осуществления модуль 704 ранжирования приложений поддерживает ранжирования для приложений, которые задаются пользователем (и могут вводиться разными способами). Пользователь соответственно может настраивать ранжирования для приложения, как нужно ему или ей. Модулю 704 ранжирования приложений не нужно использовать никакие другие критерии для определения ранжирований для приложений, и он может просто использовать заданные пользователем ранжирования в качестве ранжирований, которые формируются или определяются модулем 704 ранжирования приложений. Эти заданные пользователем ранжирования для приложений могут храниться вместе с другой информацией о зарегистрированных приложениях в хранилище 708 регистраций приложений или, в качестве альтернативы, могут храниться где-то в другом месте.

[0058] Модуль 702 интерфейса пользователя использует информацию в хранилище 708 регистраций приложений и ранжирования, сформированные модулем 704 ранжирования приложений, для определения приложений для включения в часть идентификации приложений поискового UI системного уровня и/или упорядочения приложений, включенных в часть идентификации приложений поискового UI системного уровня. В одном или нескольких вариантах осуществления часть идентификации приложений поискового UI системного уровня может отображать не более некоего порогового количества приложений. Если в модуле 700 поиска системного уровня регистрируется больше порогового количества приложений, то модуль 702 интерфейса пользователя выбирает пороговое количество приложений, которые регистрируются в модуле 700 поиска системного уровня и имеют самые высокие ранжирования (или, в качестве альтернативы, самые низкие ранжирования). Например, если часть идентификации приложений поискового UI системного уровня может отображать только 5 идентификаторов приложений, то модуль 702 интерфейса пользователя выбирает 5 ранжированных выше всего приложений (например, приложений, имеющих 5 наибольших объединенных оценок релевантности, 5 приложений в начале или в конце упорядочения приложений на основе их объединенных оценок релевантности, и так далее) и включает идентификаторы тех 5 ранжированных выше всего приложений в часть идентификации приложений в поисковом UI системного уровня. Пороговое количество приложений при желании может конфигурироваться пользователем или администратором модуля 700 поиска системного уровня.

[0059] Модуль 702 интерфейса пользователя также может использовать информацию в хранилище 708 регистраций приложений для определения приложений для включения в часть идентификации приложений поискового UI системного уровня. В одном или нескольких вариантах осуществления регистрационная информация, предоставленная приложением, включает в себя требования приложения, как обсуждалось выше. Модуль 702 интерфейса пользователя проверяет, выполняются ли эти требования, и не включает приложение в часть идентификации приложений поискового UI системного уровня, если требования не выполняются.

[0060] Способ, которым модуль 702 интерфейса пользователя определяет, выполняются ли требования приложения, меняется на основе конкретных требований. Например, регистрационная информация может указывать, что необходимо подключение к Интернету (например, для доступа к хранилищу данных на удаленном вычислительном устройстве, например вычислительном устройстве 104 из фиг.1). Модуль 702 интерфейса пользователя просит у некоего компонента или модуля (например, в операционной системе на том же вычислительном устройстве, что и модуль 700 поиска системного уровня) определить, имеет ли вычислительное устройство подключение к Интернету в настоящее время. Если вычислительное устройство в настоящее время имеет подключение к Интернету, то требование выполняется, и приложение может включаться в часть идентификации приложений поискового UI системного уровня. Однако если вычислительное устройство в настоящее время не имеет подключение к Интернету, то требование не выполняется, и приложение не включается в часть идентификации приложений поискового UI системного уровня. В качестве альтернативы, если вычислительное устройство в настоящее время не имеет подключение к Интернету, то приложение может отображаться в части идентификации приложений, но с другим внешним видом (например, затемненным для указания, что приложение может быть не в состоянии искать поисковый термин) или с текстом, пиктограммой или каким-нибудь другим указанием, что приложение может быть не в состоянии искать поисковый термин.

[0061] Более того, в одном или нескольких вариантах осуществления модуль 702 интерфейса пользователя определяет упорядочение приложений, включенных в часть идентификации приложений поискового UI системного уровня, на основе ранжирований. Идентификаторы приложений отображаются в части идентификации приложений поискового UI системного уровня по порядку в соответствии с ранжированиями приложений. Способ, которым идентификаторы приложений отображаются в соответствии с их ранжированиями, может меняться от реализации. Например, идентификаторы приложений могут отображаться сверху вниз в части идентификации приложений поискового UI системного уровня по порядку от самого высокого ранжирования до самого низкого ранжирования. Например, ссылаясь на фиг.2, приложение, идентифицированное "Названием приложения 1", имело бы более высокое ранжирование, чем приложение, идентифицированное "Названием приложения 3". В качестве другого примера идентификаторы приложений могут отображаться слева направо в части идентификации приложений поискового UI системного уровня по порядку от самого высокого ранжирования до самого низкого ранжирования. Например, ссылаясь на фиг.3, приложение, идентифицированное конвертом, имело бы более высокое ранжирование, чем приложение, идентифицированное кофейной чашкой, и более низкое ранжирование, чем приложение, идентифицированное буквой "M".

[0062] Модуль 702 интерфейса пользователя также может проводить различные другие модификации с идентификаторами приложений на основе ранжирований. Например, идентификаторы приложений для ранжированных выше приложений (например, одного или нескольких ранжированных выше всего приложений, приложений, имеющих ранжирования выше порогового значения и т.п.) могут отображаться другим шрифтом, другим цветом, с помощью анимаций, в большем размере и так далее. В качестве другого примера идентификаторы приложений могут отображаться другими размерами, при этом идентификаторы приложений у ранжированных выше приложений имеют более крупные пиктограммы, символы, размеры шрифта и т.п., чем идентификаторы приложений у приложений, ранжированных ниже.

[0063] Таким образом, модуль 702 интерфейса пользователя отображает идентификаторы приложений в части идентификации приложений поискового UI системного уровня на основе ранжирований приложений. Идентификатор приложения, который отображается модулем 702 интерфейса пользователя, получается из хранилища 708 регистраций приложений (которое предоставлено во время процесса регистрации для приложения). Когда пользователь выбирает конкретный идентификатор приложения, модуль 702 интерфейса пользователя обращается к хранилищу 708 регистраций приложений, чтобы идентифицировать то, как запускать приложение. Модуль 702 интерфейса пользователя извлекает эту информацию из хранилища 708 регистраций приложений и предоставляет информацию операционной системе, которая в свою очередь запускает выбранное приложение. К тому же модуль 702 интерфейса пользователя предоставляет выбранному приложению поисковый термин, введенный пользователем в часть ввода данных поискового UI системного уровня. Выбранное приложение затем ищет поисковый термин и отображает подходящие результаты. Поисковый термин предоставляется выбранному приложению способом, указанным выбранным приложением в регистрационной информации, ранее предоставленной выбранным приложением.

[0064] Модуль 702 интерфейса пользователя также может предоставлять различную дополнительную контекстную информацию приложению, которое выполняет поиск (которое может быть выбранным приложением или активным в настоящее время приложением, как обсуждалось выше). Контекстная информация относится к информации о пользователе вычислительного устройства и/или запрашиваемому поиску (сам поисковый термин может называться контекстной информацией для поиска). Контекстная информация может включать в себя, например, идентификатор пользователя вычислительного устройства (например, полученный от другого компонента или модуля операционной системы), указание, что пользователь вошел в вычислительное устройство (например, позволяющее самому приложению идентифицировать пользователя), указание активного в настоящее время приложения, указание категории активного в настоящее время приложения, указание одного или нескольких приложений, которые пользователь выбрал ранее для проведения поиска поискового термина, указание категории каждого из одного или нескольких приложений, которые пользователь выбрал ранее для проведения поиска поискового термина и так далее.

[0065] Приложение, которое принимает контекстную информацию для поиска, может использовать контекст любым способом, которое приложение пожелает, и может использовать всю контекстную информацию или только часть контекстной информации. Например, приложение может использовать поисковый термин для формирования результатов поиска, но игнорировать любую другую контекстную информацию для поиска. В качестве другого примера приложение может использовать поисковый термин для формирования результатов поиска, а также категории приложений, которые пользователь выбрал ранее для проведения поиска поискового термина, для формирования результатов поиска, которые включают в себя данные той же категории (например, файлы фильмов, если категориями приложений, в которых ранее искал пользователь, были фильмы).

[0066] Фиг.8 - логическая блок-схема, иллюстрирующая примерный процесс 800 регистрации для регистрации приложения в модуле поиска системного уровня в соответствии с одним или несколькими вариантами осуществления. Процесс 800 может быть реализован в программном обеспечении, микропрограммном обеспечении (firmware), аппаратных средствах либо их сочетаниях. Этапы процесса 800, проиллюстрированные с левой стороны фиг.8, осуществляются модулем поиска системного уровня, например модулем 700 поиска системного уровня из фиг.7. Этапы процесса 800, проиллюстрированные с правой стороны фиг.8, осуществляются приложением и/или от лица приложения, например приложения 112 из фиг.1. Этапы процесса 800, проиллюстрированные с правой стороны, могут осуществляться самим приложением либо другим компонентом или модулем от лица приложения (например, установщиком приложений, продавцом или производителем приложения и так далее). Процесс 800 показан в виде набора этапов и не ограничивается показанным порядком для выполнения операций различных этапов. Процесс 800 является примерным процессом для регистрации приложения в модуле поиска системного уровня; дополнительные обсуждения регистрации приложения в модуле поиска системного уровня включаются в этот документ со ссылкой на другие чертежи.

[0067] В процессе 800 идентифицируется регистрационная информация поискового UI системного уровня для приложения (этап 802). Регистрационная информация поискового UI системного уровня включает в себя указание того, как приложение должно запускаться модулем поиска системного уровня. Ряд дополнительной информации также можно идентифицировать в качестве регистрационной информации поискового UI системного уровня, как обсуждалось выше.

[0068] Идентифицированная регистрационная информация поискового UI системного уровня передается модулю поиска системного уровня (этап 804). Эта регистрационная информация может передаваться модулю регистрации приложений в модуле поиска системного уровня, как обсуждалось выше.

[0069] Модуль поиска системного уровня принимает регистрационную информацию поискового UI системного уровня от приложения (этап 806) и добавляет принятую регистрационную информацию поискового UI системного уровня в хранилище регистраций (этап 808).

[0070] Приложение включается в качестве приложения, которое может выбираться для поиска с использованием поискового UI системного уровня (этап 810). Идентификатор приложения (который может включаться в регистрационную информацию поискового UI системного уровня, предоставленную приложением) может отображаться пользователю, позволяя пользователю выбрать приложение для поиска одного или нескольких поисковых терминов, как обсуждалось выше.

[0071] Возвращаясь к фиг.7, которая обсуждалась выше, модуль 702 интерфейса пользователя формирует информацию, которую нужно отобразить в виде поискового UI системного уровня, а также взаимодействует с приложениями, что может включать в себя запуск выбранных пользователем приложений. Модуль 702 интерфейса пользователя также может иметь дополнительные взаимодействия с активным в настоящее время приложением, предоставляя информацию и принимая информацию от активного в настоящее время приложения. Активное в настоящее время приложение относится к приложению (например, одному из приложений 112 из фиг.1), которое работает в настоящее время на переднем плане и является приложением, с которым может взаимодействовать пользователь, как обсуждалось выше. Указание активного в настоящее время приложения хранится неким модулем операционной системы, и указание можно получить с помощью модуля 702 интерфейса пользователя от этого модуля операционной системы.

[0072] Следует отметить, что активное в настоящее время приложение может меняться со временем в ответ на пользовательский ввод и/или запросы от другого приложения или модуля, работающего на вычислительном устройстве. Например, пользователь может выбрать идентификатор приложения из части идентификации приложений поискового UI системного уровня, и в ответ приложение, соответствующее выбранному идентификатору приложения, становится активным в настоящее время приложением. В качестве другого примера отдельно от поискового UI системного уровня пользователь может выбрать запуск приложения или выбрать приложение для взаимодействия, и в ответ выбранное приложение становится активным в настоящее время приложением.

[0073] В одном или нескольких вариантах осуществления модуль 702 интерфейса пользователя предоставляет пользовательский ввод, когда он принимается, в активное в настоящее время приложение. Каждый знак или другой символ, введенный пользователем, предоставляется активному в настоящее время приложению в ответ на вводимый знак или символ. В ответ на пользовательский ввод активное в настоящее время приложение может сформировать ноль или более предложенных поисковых терминов на основе того ввода. Активное в настоящее время приложение может сформировать ноль или более предложенных поисковых терминов разными способами, например на основе предыдущих данных, введенных пользователем, на основе доступных для поиска данных или словаря, который поддерживается приложением, и так далее. Ноль или более предложенных поисковых терминов возвращаются модулю 702 интерфейса пользователя, который отображает предложенные поисковые термины как часть поискового UI системного уровня. Предложенные поисковые термины могут отображаться в разных местоположениях, например в списке пунктов меню рядом с частью ввода данных поискового UI системного уровня. Пользователь может выбрать один из предложенных поисковых терминов, и в ответ модуль 702 интерфейса пользователя отображает предложенный поисковый термин в части ввода данных поискового UI системного уровня.

[0074] Например, если пользователь вводит поисковый термин, и первым знаком, введенным пользователем, является буква "H", то модуль 702 интерфейса пользователя отправляет активному в настоящее время приложению указание, что пользователем введена буква "H". Активное в настоящее время приложение формирует ноль или более предложенных поисковых терминов (например, Home, House, Hydrogen, Hello и т.п.) и возвращает те предложенные поисковые термины модулю 702 интерфейса пользователя. Модуль 702 интерфейса пользователя отображает те предложенные поисковые термины как часть поискового UI системного уровня. Пользователь затем может выбрать один из тех предложенных поисковых терминов в качестве по меньшей мере части нужного пользователю поискового термина разными способами (например, посредством модуля 114 ввода из фиг.1), таким как касание предложенного поискового термина пером или пальцем, передвижение указателя над предложенным поисковым термином и нажатие кнопки устройства управления курсором (например, мыши) и так далее. В ответ на выбор пользователем предложенного поискового термина модуль 702 интерфейса пользователя отображает выбранный предложенный поисковый термин в части ввода данных поискового UI системного уровня.

[0075] Продолжая с этим примером, если пользователь не выбирает один из предложенных поисковых терминов, а вместо этого вводит букву "e", так что вводом пользователя до настоящего времени является "He", то модуль 702 интерфейса пользователя отправляет активному в настоящее время приложению указание, что пользователем введены буквы "He". Активное в настоящее время приложение формирует ноль или более предложенных поисковых терминов (например, Help, Hello, Henry и т.п.) и возвращает те предложенные поисковые термины модулю 702 интерфейса пользователя. Модуль 702 интерфейса пользователя отображает эти вновь предложенные поисковые термины как часть поискового UI системного уровня. Этот процесс может продолжаться до тех пор, пока пользователь не выберет приложение для поиска поискового термина, который он или она ввел (ввела).

[0076] Хотя предложенные поисковые термины обсуждаются в этом документе как являющиеся текстовыми поисковыми терминами, различное другое содержимое и/или типы содержимого могут возвращаться в модуль 702 интерфейса пользователя. Это другое содержимое и/или типы содержимого могут отображаться или иным образом представляться модулем 702 интерфейса пользователя в дополнение или, в качестве альтернативы, вместо возвращенных предложенных поисковых терминов. Например, могут быть возвращены и отображены одно или несколько изображений, связанных с одним или несколькими предложенными поисковыми терминами, может быть возвращено и отображено дополнительное текстовое описание, связанное с одним или несколькими предложенными поисковыми терминами, может быть возвращен и воспроизведен аудиоконтент, связанный с одним или несколькими предложенными поисковыми терминами и так далее.

[0077] Фиг.9 иллюстрирует другое примерное экранное отображение 902, включающее в себя поисковый интерфейс пользователя системного уровня в соответствии с одним или несколькими вариантами осуществления. Экранное отображение 902 аналогично экранному отображению 402 из фиг.4. Однако экранное отображение 902 также отображает несколько предложенных поисковых терминов в виде списка 904 предложений. В проиллюстрированном примере пользователь ввел знаки "Ha", и активное в настоящее время приложение предоставило предложенные поисковые термины Handle, Harry, Hasty и Halibut. Список 904 предложений иллюстрируется как находящийся выше и рядом с частью 206 ввода данных. Однако нужно учитывать, что список 904 предложений может отображаться где угодно на экранном отображении 202 (хотя обычно так, чтобы не закрывать часть 206 ввода данных, часть 208 идентификации приложений, кнопку 212 поиска или пиктограмму 210 меню). Например, список 904 предложений может отображаться наверху экранного отображения 902, по левой стороне или правой стороне экранного отображения 902, в центре экранного отображения 902, в местоположениях не рядом с частью 206 ввода данных и так далее.

[0078] Возвращаясь к фиг.7, в одном или нескольких вариантах осуществления модуль 702 интерфейса пользователя также может отображать один или несколько результатов поиска для каждого из одного или нескольких приложений, идентифицированных в части идентификации приложений. Модуль 702 интерфейса пользователя может предоставить поисковый термин, введенный пользователем и отправленный приложению для поиска (например, в ответ на выбор пользователем кнопки поиска, например кнопки 212 поиска из фиг.2-6 и 9, или выбор другого приложения в части идентификации приложений), каждому из одного или нескольких приложений, идентифицированных в части идентификации приложений, и одно или несколько тех приложений могут вернуть модулю 702 один или несколько результатов поиска на основе того поискового термина. Модуль 702 интерфейса пользователя затем может отобразить один или несколько тех результатов поиска в части идентификации приложений как ассоциированные с приложением, которое вернуло результаты поиска (например, рядом и ниже идентификатора приложения, рядом и выше идентификатора приложения, с пиктограммой или текстом, идентифицирующими приложение, и так далее). Таким образом, пользователю можно предоставить предварительный просмотр результатов, которые приложения в части идентификации приложений вернули бы, если бы пользователь выбрал то приложение.

[0079] В качестве альтернативы модуль 702 интерфейса пользователя, в дополнение или вместо предоставления каждому из одного или нескольких приложений, идентифицированных в части идентификации приложений, поискового термина, введенного пользователем и отправленного в приложение для поиска, может предоставить пользовательский ввод, когда он принимается, каждому из одного или нескольких приложений, идентифицированных в части идентификации приложений. Каждое из одного или нескольких тех приложений может вернуть один или несколько результатов поиска на основе принятого пользовательского ввода, и каждое может вернуть модулю 702 один или несколько результатов поиска на основе поискового термина. Модуль 702 интерфейса пользователя затем может отобразить один или несколько тех результатов поиска в части идентификации приложений как ассоциированные с приложением, которое вернуло результаты поиска, как обсуждалось выше.

[0080] Более того, в одном или нескольких вариантах осуществления модуль 702 интерфейса пользователя поддерживает отображение предложенных поисковых терминов вместе с лингвистическими альтернативами для некоторых языков. Некоторые языки, такие как восточноазиатские языки (например, японский, китайский и корейский), состоят из многочисленных знаков, которые не соответствуют отдельным клавишам клавиатуры. Другие языки, например русский, могут быть представлены с использованием нескольких разных алфавитов (например, латинский или кириллический в случае русского языка). Модуль 702 интерфейса пользователя поддерживает отображение поисковых терминов с лингвистическими альтернативами для таких языков.

[0081] Фиг.10 - блок-схема, иллюстрирующая примерную систему 1000, поддерживающую лингвистические альтернативы для предложенных поисковых терминов, в соответствии с одним или несколькими вариантами осуществления. Система 1000 включает в себя модуль 1002 интерфейса пользователя, приложение 1004 и модуль 1006 формирования лингвистических альтернатив. Модуль 1002 интерфейса пользователя может быть, например, модулем 702 интерфейса пользователя из фиг.7. Приложение 1004 может быть, например, приложением 112 из фиг.1.

[0082] Когда модуль 1002 интерфейса пользователя принимает пользовательский ввод, модуль 1002 предоставляет пользовательский ввод, когда он принимается, модулю 1006 формирования лингвистических альтернатив. Модуль 1006 формирования лингвистических альтернатив может идентифицировать лингвистические альтернативы для пользовательского ввода разными способами и возвращает те лингвистические альтернативы модулю 1002 интерфейса пользователя. Модуль 1006 формирования лингвистических альтернатив обычно идентифицирует одну или несколько лингвистических альтернатив для пользовательского ввода и возвращает одну или несколько тех лингвистических альтернатив модулю 1002 интерфейса пользователя. Однако следует отметить, что от модуля 1006 формирования лингвистических альтернатив обычно не требуется возвращать лингвистические альтернативы (однако могло бы требоваться в качестве альтернативы). Соответственно, могут возникать ситуации, в которых модуль 1006 формирования лингвистических альтернатив не идентифицирует и не возвращает никакие лингвистические альтернативы для конкретного пользовательского ввода.

[0083] В одном или нескольких вариантах осуществления модуль 1006 формирования лингвистических альтернатив идентифицирует лингвистические альтернативы для пользовательского ввода путем преобразования пользовательского ввода из одного алфавита в другой. Например, в случае русского языка, если пользовательский ввод является знаками латинского алфавита, то модуль 1006 формирования лингвистических альтернатив преобразует знаки латинского алфавита в знаки кириллического алфавита. Модуль 1006 формирования лингвистических альтернатив возвращает преобразование пользовательского ввода (в знаки кириллического алфавита) в качестве одной или нескольких лингвистических альтернатив.

[0084] Более того, в одном или нескольких вариантах осуществления модуль 1006 формирования лингвистических альтернатив идентифицирует один или несколько знаков, которые можно представить фонетическим слогом. В некоторых ситуациях, например в некоторых восточноазиатских языках, чтобы ввести конкретный знак, пользователь вводит фонетический слог в виде нескольких знаков латинского алфавита. Например, пользователь может ввести фонетический слог с использованием знаков латинского алфавита "bei", которые могут соответствовать нескольким разным китайским знакам. Модуль 1006 формирования лингвистических альтернатив идентифицирует ноль или более разных знаков, которые могут соответствовать конкретному пользовательскому вводу, и возвращает те идентифицированные знаки модулю 1002 интерфейса пользователя в качестве лингвистических альтернатив. Например, если бы пользовательским вводом было "bei", то модуль 1006 формирования лингвистических альтернатив идентифицирует разные китайские знаки, которые могли бы представляться с помощью "bei", и возвращает те китайские знаки модулю 1002 интерфейса пользователя в качестве лингвистических альтернатив. В качестве другого примера, если бы пользовательским вводом было "h", то модуль 1006 формирования лингвистических альтернатив идентифицирует разные китайские знаки, которые могли бы представляться с помощью "h" (которые включали бы в себя несколько разных фонетических слогов, начинающихся с "h"), и возвращает те китайские знаки модулю 1002 интерфейса пользователя в качестве лингвистических альтернатив.

[0085] Модуль 1006 формирования лингвистических альтернатив может конфигурироваться для конкретных языков или, в качестве альтернативы, для нескольких языков. Например, настройка конфигурации, идентифицирующая языки, для которых модуль 1006 формирования лингвистических альтернатив должен предоставить альтернативы, может предоставляться пользователем вычислительного устройства, которое включает в себя систему 1000, приложением 1004, модулем 1002 интерфейса пользователя и так далее. В качестве другого примера разные модули 1006 формирования лингвистических альтернатив могут включаться в систему 1000, каждый для разного языка (например, один модуль 1006 для русского языка, другой модуль 1006 для китайского, еще один модуль 1006 для японского и т.п.). Модуль 1002 интерфейса пользователя может предоставлять пользовательский ввод одному или нескольким этим разным модулям 1006 в зависимости от языков, для которых нужны лингвистические альтернативы (например, которые указаны пользователем вычислительного устройства, которое включает в себя систему 1000, приложением 1004, модулем 1002 интерфейса пользователя и так далее).

[0086] Модуль 1002 интерфейса пользователя принимает лингвистические альтернативы от модуля 1006 формирования лингвистических альтернатив и предоставляет пользовательский ввод и лингвистические альтернативы приложению 1004. Если лингвистические альтернативы принимаются от модуля 1006 формирования лингвистических альтернатив, то модуль 1002 интерфейса пользователя предоставляет приложению 1004 только пользовательский ввод. Приложение 1004 затем может определить ноль или более предложенных поисковых терминов на основе пользовательского ввода, лингвистических альтернатив или одновременно пользовательского ввода и лингвистических альтернатив. Приложение 1004 само определяет конкретное сочетание пользовательского ввода и лингвистических альтернатив, на котором основывается определение предложенных поисковых терминов. Предложенные поисковые термины возвращаются модулю 1002 интерфейса пользователя, который отображает предложенные поисковые термины как часть поискового UI системного уровня. Поскольку предложенные поисковые термины могут основываться на лингвистических альтернативах, предложенные поисковые термины могут находиться в различных алфавитах и/или языках. Например, предложенные поисковые термины могут включать в себя слова на английском языке, которые начинаются с "bei", а также китайские знаки, которые представляются с помощью "bei".

[0087] Возвращаясь к фиг.7, в дополнение к предоставлению предложенных поисковых терминов или, в качестве альтернативы, вместо предоставления предложенных поисковых терминов активное в настоящее время приложение может предоставлять результаты поиска, когда пользователем вводится каждый знак или другой символ. Активное в настоящее время приложение формирует результаты поиска на основе знаков или других символов, введенных пользователем, и использует те знаки или символы в качестве поискового термина (даже если пользователь еще не полностью ввел то, что ему или ей нужно в качестве поискового термина). Эти результаты поиска отображаются активным в настоящее время приложением (например, в окне 404 из фиг.5) и могут обновляться активным в настоящее время приложением каждый раз, когда пользователем вводится дополнительный знак или символ.

[0088] Более того, в одном или нескольких вариантах осуществления активное в настоящее время приложение при желании предоставляет модулю 702 интерфейса пользователя подсказку ввода данных. Эта подсказка ввода данных может быть вспомогательным текстом, изображениями, анимациями и так далее для помощи пользователю. Например, подсказка ввода данных может быть текстом "Введите здесь поисковый термин" или "Введите здесь название фильма". Если предоставлена активным в настоящее время приложением, то подсказка ввода данных отображается модулем 702 интерфейса пользователя для помощи пользователю в определении, где он или она может ввести поисковый термин. Подсказка ввода данных может отображаться в части ввода данных поискового UI системного уровня (и отображение подсказки ввода данных может прекращаться, например, когда пользователь вводит первый знак или символ) или, в качестве альтернативы, в другом местоположении, например рядом с частью ввода данных поискового UI системного уровня.

[0089] Взаимодействие между активным в настоящее время приложением и модулем 702 интерфейса пользователя может быть реализовано разными способами. В одном или нескольких вариантах осуществления каждое приложение создает объект класса, который облегчает взаимодействия между тем приложением и модулем 702 интерфейса пользователя. Созданный приложением объект класса дает приложению возможность принимать передачи (например, пользовательский ввод) и предоставлять данные (например, подсказка ввода данных, предложенный поисковый термин) модулю 702 интерфейса пользователя. Модуль 702 интерфейса пользователя передает данные только объекту класса активного в настоящее время приложения и принимает передачи только от объекта класса активного в настоящее время приложения. В качестве альтернативы взаимодействие между активным в настоящее время приложением и модулем 702 интерфейса пользователя может быть реализовано другими традиционными способами помимо использования такого объекта класса, например, путем реализации интерфейса между модулем 702 интерфейса пользователя и приложениями, предоставления модулем 702 интерфейса пользователя API, который может вызываться приложениями и так далее.

[0090] Фиг.11 - логическая блок-схема, иллюстрирующая примерный процесс 1100 для использования поискового интерфейса пользователя системного уровня в соответствии с одним или несколькими вариантами осуществления. Процесс 1100 осуществляется модулем поиска системного уровня, например модулем 700 поиска системного уровня из фиг.7, и может быть реализован в программном обеспечении, микропрограммном обеспечении, аппаратных средствах либо их сочетаниях. Процесс 1100 показан в виде набора этапов и не ограничивается показанным порядком для выполнения операций различных этапов. Процесс 1100 является примерным процессом для использования поискового интерфейса пользователя системного уровня; дополнительные обсуждения использования поискового интерфейса пользователя системного уровня включаются в этот документ со ссылкой на другие чертежи.

[0091] В процессе 1100 отображается поисковый UI системного уровня, который включает в себя часть ввода данных и часть идентификации приложений (этап 1102). Поисковый UI системного уровня может отображаться в ряде разных местоположений на экранном отображении, как обсуждалось выше.

[0092] Данные, которые вводятся пользователем, отображаются в части ввода данных поискового UI системного уровня (этап 1104). Данные могут вводиться пользователем разными способами, как обсуждалось выше.

[0093] Идентификаторы одного или нескольких приложений, в которых можно проводить поиск с использованием данных, введенных пользователем, отображаются в части идентификации приложений (этап 1106). Эти идентификаторы могут принимать ряд разных форм, например названия, пиктограммы, анимации и так далее, как обсуждалось выше. Идентификаторы, отображенные на этапе 1106, являются идентификаторами одного или нескольких приложений, которые зарегистрированы для использования в поисковом UI системного уровня, и могут выбираться разными способами, как обсуждалось выше.

[0094] Введенные пользователем данные предоставляются одному из нескольких приложений на устройстве, реализующему поисковый UI системного уровня (этап 1108). Как обсуждалось выше, введенные данные могут предоставляться активному в настоящее время приложению (например, путем выбора кнопки поиска, как обсуждалось выше) или приложению, соответствующему идентификатору приложения, который отображается в части идентификации приложений и выбирается пользователем.

[0095] Отображение поискового UI системного уровня сохраняется, пока приложение, которому предоставляются данные, введенные пользователем, получает и отображает результаты поиска на основе данных, введенных пользователем (этап 1110). Приложение управляет отображением результатов поиска (например, в окне приложения), как обсуждалось выше, пока поисковый UI системного уровня остается отображенным.

[0096] Фиг.12 - логическая блок-схема, иллюстрирующая примерный процесс 1200 для отображения идентификаторов приложений в части идентификации приложений поискового интерфейса пользователя системного уровня в соответствии с одним или несколькими вариантами осуществления. Процесс 1200 осуществляется модулем поиска системного уровня, например модулем 700 поиска системного уровня из фиг.7, и может быть реализован в программном обеспечении, микропрограммном обеспечении, аппаратных средствах либо их сочетаниях. Процесс 1200 показан в виде набора этапов и не ограничивается показанным порядком для выполнения операций различных этапов. Процесс 1200 является примерным процессом для отображения идентификаторов приложений в части идентификации приложений поискового интерфейса пользователя системного уровня; дополнительные обсуждения отображения идентификаторов приложений в части идентификации приложений поискового интерфейса пользователя системного уровня включаются в этот документ со ссылкой на другие чертежи.

[0097] В процессе 1200 идентифицируется несколько приложений, в которых можно проводить поиск с использованием поискового UI системного уровня (этап 1202). Эти несколько приложений являются приложениями, которые зарегистрированы для использования поискового UI системного уровня, как обсуждалось выше.

[0098] Формируется ранжирование для каждого из нескольких приложений (этап 1204). Эти ранжирования могут формироваться разными способами, как обсуждалось выше, включая необязательное использование заданных пользователем ранжирований. Эти ранжирования могут быть, например, конкретной оценкой или упорядочением приложений от самого высокого до самого низкого, как обсуждалось выше.

[0099] Одно или несколько из нескольких приложений, которые должны идентифицироваться в поисковом UI системного уровня, выбираются по меньшей мере частично на основе ранжирований (этап 1206). Если имеется больше приложений, чем можно идентифицировать в поисковом UI системного уровня, то одно или несколько приложений выбираются на основе их ранжирований, как обсуждалось выше.

[00100] Идентификаторы выбранного одного или нескольких приложений отображаются в соответствии с ранжированиями как часть поискового UI системного уровня (этап 1208). Способ, которым идентификаторы приложений отображаются в соответствии с их ранжированиями, может меняться от реализации, как обсуждалось выше, например отображение идентификаторов приложений сверху вниз по порядку от самого высокого ранжирования (сверху) до самого низкого ранжирования (снизу), слева направо по порядку от самого высокого ранжирования (слева) до самого низкого ранжирования (справа) и так далее.

[00101] Следует отметить, что любой из ряда разных типов информации может разыскиваться пользователем, например контактная информация для других пользователей, фильмы, игры, книги или другие публикации и так далее. Более того, в одном или нескольких вариантах осуществления одно из приложений, которое регистрируется в поисковом UI системного уровня, является приложением или модулем, которое индексирует приложения на вычислительном устройстве. Например, одно из приложений 112 на фиг.1 может быть приложением, которое может искать другие приложения 112 на вычислительном устройстве 102. Таким образом, пользователь может искать другие приложения 112, а также содержимое, хранимое или иным образом доступное посредством тех приложений 112.

[00102] В обсуждениях в этом документе ссылаются на запуск выбранного пользователем приложения и поиск выбранным приложением поискового термина. Следует отметить, что могут возникать ситуации, где выбранное приложение уже работает (например, в фоне) и соответственно не требует запуска. В таких ситуациях модуль поиска системного уровня (например, модуль 700 из фиг.7) передает запрос выбранному приложению для поиска поискового термина. В ответ выбранное приложение ищет поисковый термин и отображает свои результаты поиска. В одном или нескольких вариантах осуществления приложение включает как часть регистрационной информации, которую оно предоставляет модулю поиска системного уровня, указание того, как модуль поиска системного уровня должен запрашивать, чтобы приложение искало поисковый термин. Например, регистрационная информация может включать в себя указание одного или нескольких API приложения для вызова, чтобы передать приложению поисковый термин (и другую контекстную информацию при желании). В качестве альтернативы могут использоваться другие методики, например когда приложение начинает работу, приложение может уведомить модуль поиска системного уровня о том, как модуль поиска системного уровня может запросить, чтобы приложение искало поисковый термин, модуль поиска системного уровня может передать запрос по заранее установленному каналу связи или следуя протоколу, известному приложению и модулю поиска системного уровня и так далее.

[00103] Поисковый UI системного уровня, обсужденный в этом документе, позволяет пользователю ввести поисковый термин один раз и выбирать разные приложения для проведения поиска того поискового термина, как обсуждалось выше. Каждое отдельное приложение выполняет свой собственный поиск и не должно обладать сведениями (и обычно не обладает сведениями) о других приложениях, которые могут выбираться пользователем для поиска. Способ, которым приложение выполняет свой поиск, а также хранилища данных, к которым обращается приложение при выполнении своего поиска, могут меняться приложением. Приложение может искать в локальных хранилищах данных (хранилищах данных, расположенных на том же вычислительном устройстве, которое реализует поисковый UI системного уровня) и/или удаленных хранилищах данных (например, хранилищах данных, расположенных на другом вычислительном устройстве, например устройстве 104 из фиг.1).

[00104] Результаты поиска, сформированные приложениями, отображаются приложением, формирующим те результаты поиска. Результаты поиска обычно (но не обязательно) отображаются в отдельном окне, например окне 404 из фиг.5 или окне 604 из фиг.6. Каждое приложение соответственно способно настроить отображение своих результатов поиска любым способом, который нужен приложению. Однако, несмотря на эти разные отображения и/или разные окна для результатов поиска часть ввода данных и часть идентификации приложений в поисковом UI системного уровня остаются такими же. Поисковый UI системного уровня поддерживается в том же местоположении, и внешний вид не изменяется на основе результатов поиска (хотя подсказка ввода данных и предложенные поисковые термины могут изменяться на основе активного в настоящее время приложения, как обсуждалось выше).

[00105] Фиг.13 иллюстрирует примерное вычислительное устройство 1300, которое можно сконфигурировать для реализации регистрации для поискового интерфейса пользователя системного уровня в соответствии с одним или несколькими вариантами осуществления. Вычислительное устройство 1300 может быть, например, вычислительным устройством 102 или 104 из фиг.1.

[00106] Вычислительное устройство 1300 включает в себя один или несколько процессоров или блоков 1302 обработки, один или несколько машиночитаемых носителей 1304, которые могут включать в себя одно или несколько запоминающих устройств и/или компонентов 1306 хранения, одно или несколько устройств 1308 ввода/вывода (I/O) и шину 1310, которая позволяет различным компонентам и устройствам взаимодействовать друг с другом. Машиночитаемые носители 1304 и/или одно или несколько устройств 1308 I/O могут включаться как часть или, в качестве альтернативы, могут соединяться с вычислительным устройством 1300. Шина 1310 представляет собой один или несколько типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину, ускоренный графический порт, процессорную или локальную шину и так далее, использующих ряд разных шинных архитектур. Шина 1310 может включать в себя проводные и/или беспроводные шины.

[00107] Запоминающее устройство/компонент 1306 хранения представляет собой один или несколько компьютерных носителей информации. Компонент 1306 может включать в себя энергозависимые носители (например, оперативное запоминающее устройство (RAM)) и/или энергонезависимые носители (например, постоянное запоминающее устройство (ROM), флэш-память, оптические диски, магнитные диски и так далее). Компонент 1306 может включать в себя несъемные носители (например, RAM, ROM, несъемный жесткий диск и т.д.), а также съемные носители (например, накопитель на флэш-памяти, съемный жесткий диск, оптический диск и так далее).

[00108] Рассмотренные в этом документе методики могут быть реализованы в программном обеспечении, при этом команды выполняются одним или несколькими блоками 1302 обработки. Нужно учитывать, что разные команды могут храниться в разных компонентах вычислительного устройства 1300, например в блоке 1302 обработки, в различных кэшах блока 1302 обработки, в других кэшах устройства 1300 (не показаны), на других машиночитаемых носителях и так далее. Более того, нужно учитывать, что местоположение, где хранятся команды в вычислительном устройстве 1300, может меняться со временем.

[00109] Одно или несколько устройств 1308 ввода/вывода позволяют пользователю вводить команды и информацию в вычислительное устройство 1300, а также позволяют представлять информацию пользователю и/или другим компонентам или устройствам. Примеры устройств ввода включают в себя клавиатуру, устройство управления курсором (например, мышь), микрофон, сканер и так далее. Примеры устройств вывода включают в себя устройство отображения (например, монитор или проектор), динамики, принтер, сетевой адаптер и так далее.

[00110] Различные методики могут описываться в этом документе в общем контексте программного обеспечения или программных модулей. Как правило, программное обеспечение включает в себя процедуры, программы, объекты, компоненты, структуры данных и так далее, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Реализация этих модулей и методик может храниться или передаваться посредством какого-нибудь вида машиночитаемых носителей. Машиночитаемые носители могут быть любым доступным носителем или носителями, к которым можно обращаться с помощью вычислительного устройства. В качестве примера, а не ограничения, машиночитаемые носители могут содержать "компьютерные носители информации" и "среды связи".

[00111] "Компьютерные носители информации" включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули или другие данные. Компьютерные носители информации включают в себя, но не ограничиваются, RAM, ROM, EEPROM, флэш-память или другую технологию памяти, компакт-диск, универсальные цифровые диски (DVD) или другое оптическое запоминающее устройство, магнитные кассеты, магнитную ленту, накопитель на магнитных дисках или другие магнитные запоминающие устройства, или любой другой носитель, который может использоваться для хранения нужной информации и к которому можно обращаться с помощью компьютера.

[00112] "Среды связи" обычно реализуют машиночитаемые команды, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая или другой транспортный механизм. Среды связи также включают в себя любые среды доставки информации. Термин "модулированный сигнал данных" означает сигнал, который имеет одну или несколько своих характеристик, установленных или измененных таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среды связи включают в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустические, радиочастотные, инфракрасные и другие беспроводные среды. Сочетания любых из вышеперечисленных сред и носителей также охватываются понятием «машиночитаемый носитель».

[00113] Как правило, любые функции или методики, описанные в этом документе, могут быть реализованы с использованием программного обеспечения, микропрограммного обеспечения, аппаратных средств (например, неизменяемая логическая схема), ручной обработки или сочетания этих реализаций. Термины "модуль" и "компонент" при использовании в данном документе в целом представляют программное обеспечение, микропрограммное обеспечение, аппаратные средства или их сочетания. В случае программной реализации модуль или компонент представляет программный код, который выполняет заданные задачи при исполнении в процессоре (например, центральном процессоре или процессорах). Программный код может храниться в одном или нескольких машиночитаемых запоминающих устройствах, дополнительное описание которых можно найти при обращении к фиг.13. Признаки описанных в этом документе методик регистрации для поискового интерфейса пользователя системного уровня являются платформо-независимыми, то есть методики могут быть реализованы на различных промышленных вычислительных платформах, имеющих различные процессоры.

[00114] Несмотря на то, что изобретение описано на языке, характерном для структурных признаков и/или методологических действий, необходимо понимать, что объем изобретения, определенный в прилагаемой формуле, не обязательно ограничивается описанными выше конкретными признаками или действиями. Скорее, описанные выше конкретные признаки и действия раскрываются в качестве примерных видов реализации формулы изобретения.

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

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

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

4. Способ по п.1, в котором регистрационная информация поискового пользовательского интерфейса системного уровня включает в себя указание того, как приложение должно запускаться модулем поиска системного уровня, чтобы отобразить результаты поиска в ответ на поисковый термин, введенный пользователем через поисковый пользовательский интерфейс системного уровня.

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

6. Способ по п.1, в котором при приеме регистрационной информации поискового пользовательского интерфейса системного уровня регистрационную информацию поискового пользовательского интерфейса системного уровня принимают от приложения-установщика от лица упомянутого приложения.

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

8. Вычислительное устройство по п.7, в котором регистрационная информация поискового пользовательского интерфейса системного уровня включает в себя одно или оба из названия и пиктограммы, которые должны отображаться для идентификации приложения в поисковом пользовательском интерфейсе системного уровня.

9. Вычислительное устройство по п.7, в котором регистрационная информация поискового пользовательского интерфейса системного уровня включает в себя указание того, как приложение должно запускаться модулем поиска системного уровня, чтобы отобразить результаты поиска в ответ на поисковый термин, введенный пользователем через поисковый пользовательский интерфейс системного уровня.

10. Вычислительное устройство по п.9, в котором регистрационная информация поискового пользовательского интерфейса системного уровня включает в себя указание того, как поисковый термин, введенный пользователем через поисковый пользовательский интерфейс системного уровня, должен предоставляться приложению.



 

Похожие патенты:

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

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

Изобретение относится к области электронной коммуникации через сеть передачи данных. Технический результат - эффективная кластеризация хранящихся на сервере объектов, связанных с пользователем.

Изобретение относится к области музыкальной терапии. Технический результат заключается в создании персонифицированной базы данных благотворных звуков.
Изобретение относится к вычислительной технике, в частности к алгоритмам и методам индексации и поиска информационных объектов, для которых задана метрика (функция вычисления расстояния).

Изобретение относится к вычислительным устройствам. Технический результат заключается в повышении скорости обработки данных браузером.

Изобретение относится к области выдачи рекомендаций пользователям сети. Технический результат - эффективное управление выдачей рекомендаций.

Изобретение относится к предоставлению контактной информации между абонентами сети, в частности к системе и способу для глобальной службы каталогов с использованием объектов электронной визитной карточки (ЕВС).

Изобретение относится к области поиска информации в компьютерных сетях. Техническим результатом является ускорение поиска информации.

Изобретение относится к области телекоммуникации, в частности к способам управления данными в базе данных каталога. Техническим результатом является предотвращение или снижение неправильного обнаружения конфликтов во время управления данными в базе данных каталога.

Группа изобретений относится к области вычислительной техники, может быть использована в специализированных устройствах аппаратной поддержки типовых операций задач распознавания образов, в аппаратной поддержке в высокопроизводительных системах и устройствах параллельной обработки символьной информации, в аппаратных средствах поддержки вывода в информационно-поисковых и экспертных системах, осуществляющих обработку строк (строковых данных), и позволяет реализовать операции поиска по образцу и модификации строки на основе ассоциативной памяти. Техническим результатом является обеспечение реверсивной обработки строк. Способ содержит этапы, на которых: символы обрабатываемой строки замещаются первой подстрокой модификатора при двумерном представлении обрабатываемой строки, выполняется параллельный межстрочный сдвиг влево символов обрабатываемой строки при ее двумерном представлении, вторая подстрока модификатора вставляется в строку матрицы, удаляются незначащие символы обрабатываемой строки при ее одномерном представлении в выделенной маской ее части с помощью последовательного сдвига вправо, при этом маска формируется динамически для выделения рабочей части обрабатываемой строки на четвертом шаге. 2 н.п. ф-лы, 6 ил.

Изобретение относится к области построения корпуса документов. Технический результат заключается в обеспечении автоматизации анализа корпуса документов для определения тем корпуса документов. Технический результат достигается за счет выполнения классификации, с использованием классификатора, каждого документа во втором наборе документов по одной или более темам из числа исходных тем, где классификация включает определение неклассифицированного подмножества документов из второго набора документов, которые не были отнесены ни к одной из исходных тем, кластеризацию неклассифицированного подмножества документов по новым темам, не входящим в исходные темы, и классификацию каждого документа из неклассифицированного подмножества документов по одной или более темам из числа новых тем. 3 н. и 16 з.п. ф-лы, 7 ил.

Изобретение относится к устройству для обработки данных в логической системе с компьютерной поддержкой. Техническим результатом является обеспечение возможности создания или выполнения критичных к времени запросов и логических выводов без увеличения объема требуемой памяти. Устройство (V) для обработки данных содержит устройство (R) логических выводов с блоком (RP) рассуждений, источник (4, 5) данных и приложение (1). Устройство (R) на основании данных вырабатывает логические выводы на основе семантической модели, содержащей терминологические понятия онтологии, и экземпляра модели семантической модели, содержащего конкретные экземпляры терминологических понятий онтологии. Источник (4, 5) предоставляет данные для обработки посредством устройства (R). Приложение (1) направляет запрос (А) на устройство (R) и получает результаты логических выводов от устройства (R). Устройство (R) на основе наступающего события источника (4, 5), в особенности к определенным моментам времени, получает основанные на событии данные от источника (4, 5) для генерации причинного и/или основанного на времени логического вывода. Информации об основанных на событии данных источника (4, 5) включают в себя временные и причинные компоненты. 3 н. и 21 з.п. ф-лы, 1 ил.

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

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

Изобретение относится к области поисковых систем. Техническим результатом является повышение точности (релевантности для пользователя) выдаваемых результатов поиска и скорости поиска пользователем интересующей информации. В способе определения поисковой выдачи на поисковый запрос определяют наиболее релевантный документ для поискового запроса в ответ на получение поискового запроса. Определяют параметр вероятности того, что наиболее релевантный документ будет удовлетворять поисковому запросу. Отображают только наиболее релевантный документ, если вероятность выше порогового значения. Отображают общую страницу результатов поиска (SERP), включающую в себя наиболее релевантный документ и другие документы, если вероятность ниже порогового значения. Ранжируют результаты в ранжированные результаты поиска. Определение наиболее релевантного документа включает в себя сравнение верхнего результата с остальными ранжированными результатами поиска, причем сравнение верхнего результата включает в себя сравнение верхнего из ранжированных результатов поиска с подгруппой результатов поиска, следующих за верхним результатом среди ранжированных результатов поиска. 3 н. и 35 з.п. ф-лы, 6 ил.

Изобретение относится к управлению операцией блокировки системы баз данных. Техническим результатом является повышение производительности системы баз данных за счет того, что узел обработки реализует операцию блокировки посредством использования операнда блокировки и весь процесс управления операцией блокировки независимо выполняется посредством узла обработки, что освобождает центральный узел-координатор от обработки сообщения блокировки. В способе управления операцией блокировки системы баз данных получают операнд блокировки для целевой блокировки, при этом операнд используется для записи текущего состояния блокировки в каждом узле обработки, причем текущее состояние в каждом узле обработки представляется посредством битов данных в операнде. Используют блокировку для получения блокировки для целевого объекта данных. Получают исходное значение операнда в момент, когда используется блокировка, для получения блокировки для целевого объекта. Обновляют значение бита данных на значение, указывающее на то, что состояние целевой блокировки в первом узле обработки представляет собой "блокировка продолжается". Определяют завершается удачно или неудачно операция получения блокировки. 4 н. и 10 з.п. ф-лы, 12 ил.

Изобретение относится к вычислительной технике. Технический результат заключается в улучшении эффективности сохранения данных. Способ сохранения данных с использованием хэширования включает предварительное конфигурирование базовых модулей хранения в количестве L и задающего соотношения между идентификаторами базовых модулей хранения и операцией модуля по L, причем L представляет собой натуральное число больше 1; вычисление ключевого значения данных, сохраняемых с использованием хэширования; осуществление операции модуля по L над полученным ключевым значением и, используя задающее соотношение между идентификаторами базовых модулей хранения и операцией модуля по L, вывод ключевого значения в операции модуля по L и соответствующих данных в базовый модуль хранения с соответствующим идентификатором базового модуля хранения; определение того, что предварительно сконфигурированная таблица хэширования в базовом модуле хранения не содержит подлежащих сохранению данных, и сохранение подлежащих сохранению данных и соответствующего ключевого значения. 2 н. и 9 з.п. ф-лы, 7 ил.

Изобретение относится к области вычислительной техники и может быть использовано при анализе и моделировании сложно формализуемых процессов, характеризующихся большим числом учитываемых факторов, что требует применения специализированных методов и инструментальных средств для многомерного анализа разнокачественной информации. Техническим результатом является повышение устойчивости последовательной кластеризации. Способ автоматической кластеризации объектов содержит формирование из исходного множества классифицируемых объектов выборок в виде начальных кластеров, причем исходное множество формируется путем идентификации каждого классифицируемого объекта его параметром, задающим координату классифицируемого объекта в исходном множестве, и рассматривается как выборка обучения, которую формируют по показательному закону распределения, а данные о кластерах, полученные на этапе обучения, заносятся в соответствующие элементы блока памяти, которые используются при дальнейшем последовательном накоплении в них измерительной информации, на этапе обучения определяют также модель кластера Ki с количеством элементов Ni, удовлетворяющую минимуму риска RMi(α) формирования модели кластера. 2 ил.

Изобретение относится к области информационного поиска, а именно к обработке поискового запроса пользователя и созданию набора результатов поиска, соответствующего поисковому запросу. Техническим результатом является предоставление пользователю различных компонентов поискового объекта, релевантных поисковому объекту, на основании определения намерения пользователя. Для этого на поисковом сервере, соединенном с электронным устройством пользователя через сеть передачи данных, выполняется получение поискового запроса от электронного устройства, на основании которого определяется набор результатов поиска, инициирование отображения электронным устройством страницы результатов поиска. При этом после определения набора результатов поиска выполняют определение компонента поискового объекта, связанного с поисковым запросом, определение наиболее подходящего результата поиска из набора результатов поиска, связанного с компонентом поискового объекта, дополнение компонента поискового объекта ссылкой на наиболее подходящий поисковый результат таким образом, чтобы создать дополненный компонент поискового объекта, включающий в себя ссылку, и составление страницы результатов поиска, включающей в себя дополненный компонент поискового объекта. 2 н. и 18 з.п. ф-лы, 12 ил.
Наверх