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

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

Info

Publication number
RU2581840C2
RU2581840C2 RU2013122474/07A RU2013122474A RU2581840C2 RU 2581840 C2 RU2581840 C2 RU 2581840C2 RU 2013122474/07 A RU2013122474/07 A RU 2013122474/07A RU 2013122474 A RU2013122474 A RU 2013122474A RU 2581840 C2 RU2581840 C2 RU 2581840C2
Authority
RU
Russia
Prior art keywords
search
application
user interface
applications
system level
Prior art date
Application number
RU2013122474/07A
Other languages
English (en)
Other versions
RU2013122474A (ru
Inventor
Прия ВАЙДИАНАТХАН
Брайан Е. УПХОФФ
Брендон Х. ПАДДОК
Стефани М. МОНК
Дона САРКАР
Вэньтао ЧЭНЬ
Эдвард Бойл ЭВЕРЕТТ
Манав МИШРА
Дерек С. ГЕБХАРД
Ричард Джейкоб УАЙТ
Инь ЛЮ
Original Assignee
МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи filed Critical МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Publication of RU2013122474A publication Critical patent/RU2013122474A/ru
Application granted granted Critical
Publication of RU2581840C2 publication Critical patent/RU2581840C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)

Abstract

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

Description

Уровень техники
[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] Несмотря на то, что изобретение описано на языке, характерном для структурных признаков и/или методологических действий, необходимо понимать, что объем изобретения, определенный в прилагаемой формуле, не обязательно ограничивается описанными выше конкретными признаками или действиями. Скорее, описанные выше конкретные признаки и действия раскрываются в качестве примерных видов реализации формулы изобретения.

Claims (10)

1. Способ, выполняемый в вычислительном устройстве и предназначенный для регистрации в поисковом пользовательском интерфейсе системного уровня, содержащий этапы, на которых:
принимают регистрационную информацию поискового пользовательского интерфейса системного уровня для приложения вычислительного устройства;
добавляют регистрационную информацию поискового пользовательского интерфейса системного уровня в хранилище регистрации; и
включают это приложение в качестве приложения из одного или более приложений, в которых можно проводить поиск с использованием поискового пользовательского интерфейса системного уровня.
2. Способ по п.1, дополнительно содержащий этапы, на которых:
для каждого из нескольких дополнительных приложений вычислительного устройства принимают регистрационную информацию поискового пользовательского интерфейса системного уровня;
для каждого из этих нескольких дополнительных приложений вычислительного устройства добавляют принятую регистрационную информацию поискового пользовательского интерфейса системного уровня в хранилище регистрации; и
включают по меньшей мере одно из этих нескольких дополнительных приложений в качестве приложений из упомянутых одного или более приложений, в которых можно проводить поиск с использованием поискового пользовательского интерфейса системного уровня.
3. Способ по п.2, в котором упомянутые одно или более приложений, в которых можно проводить поиск с использованием поискового пользовательского интерфейса системного уровня, содержат множество приложений, и способ дополнительно содержит этапы, на которых:
формируют ранг для каждого из множества приложений; и
в соответствии с рангами множества приложений отображают
идентификаторы множества приложений по порядку от самого
высокого ранга до самого низкого ранга.
4. Способ по п.1, в котором регистрационная информация поискового пользовательского интерфейса системного уровня включает в себя указание того, как приложение должно запускаться модулем поиска системного уровня, чтобы отобразить результаты поиска в ответ на поисковый термин, введенный пользователем через поисковый пользовательский интерфейс системного уровня.
5. Способ по п.1, в котором регистрационная информация поискового пользовательского интерфейса системного уровня включает в себя название, которое должно быть отображено для идентификации приложения в поисковом пользовательском интерфейсе системного уровня.
6. Способ по п.1, в котором при приеме регистрационной информации поискового пользовательского интерфейса системного уровня регистрационную информацию поискового пользовательского интерфейса системного уровня принимают от приложения-установщика от лица упомянутого приложения.
7. Вычислительное устройство, содержащее:
один или более процессоров; и
один или более машиночитаемых носителей, на которых сохранено множество команд, которые при их исполнении одним или более процессорами вычислительного устройства предписывают одному или более процессорам:
идентифицировать для приложения регистрационную информацию поискового пользовательского интерфейса системного уровня, которая включает в себя указание того, как модуль поиска системного уровня, предоставляющий поисковый пользовательский интерфейс системного уровня, может запускать это приложение; и
передавать регистрационную информацию поискового пользовательского интерфейса системного уровня в модуль поиска системного уровня, так что данное приложение включается в качестве приложения из одного или более приложений, в которых можно проводить поиск с использованием поискового пользовательского интерфейса системного уровня.
8. Вычислительное устройство по п.7, в котором регистрационная информация поискового пользовательского интерфейса системного уровня включает в себя одно или оба из названия и пиктограммы, которые должны отображаться для идентификации приложения в поисковом пользовательском интерфейсе системного уровня.
9. Вычислительное устройство по п.7, в котором регистрационная информация поискового пользовательского интерфейса системного уровня включает в себя указание того, как приложение должно запускаться модулем поиска системного уровня, чтобы отобразить результаты поиска в ответ на поисковый термин, введенный пользователем через поисковый пользовательский интерфейс системного уровня.
10. Вычислительное устройство по п.9, в котором регистрационная информация поискового пользовательского интерфейса системного уровня включает в себя указание того, как поисковый термин, введенный пользователем через поисковый пользовательский интерфейс системного уровня, должен предоставляться приложению.
RU2013122474/07A 2010-11-16 2011-11-07 Регистрация для поискового интерфейса пользователя системного уровня RU2581840C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/947,486 US10073927B2 (en) 2010-11-16 2010-11-16 Registration for system level search user interface
US12/947,486 2010-11-16
PCT/US2011/059514 WO2012067867A2 (en) 2010-11-16 2011-11-07 Registration for system level search user interface

Publications (2)

Publication Number Publication Date
RU2013122474A RU2013122474A (ru) 2014-11-20
RU2581840C2 true RU2581840C2 (ru) 2016-04-20

Family

ID=45984561

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2013122474/07A RU2581840C2 (ru) 2010-11-16 2011-11-07 Регистрация для поискового интерфейса пользователя системного уровня

Country Status (12)

Country Link
US (3) US10073927B2 (ru)
EP (1) EP2641193B1 (ru)
JP (1) JP5837608B2 (ru)
KR (1) KR101872549B1 (ru)
CN (1) CN102436499B (ru)
AU (1) AU2011329315B2 (ru)
CA (1) CA2816332C (ru)
MX (1) MX2013005536A (ru)
RU (1) RU2581840C2 (ru)
TW (1) TWI531916B (ru)
WO (1) WO2012067867A2 (ru)
ZA (1) ZA201302906B (ru)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515984B2 (en) 2010-11-16 2013-08-20 Microsoft Corporation Extensible search term suggestion engine
US10346479B2 (en) 2010-11-16 2019-07-09 Microsoft Technology Licensing, Llc Facilitating interaction with system level search user interface
US20120124072A1 (en) 2010-11-16 2012-05-17 Microsoft Corporation System level search user interface
US20140075363A1 (en) * 2012-09-13 2014-03-13 International Business Machines Corporation Context Aware Non-Linear Task Bar Orientation
US8874924B2 (en) * 2012-11-07 2014-10-28 The Nielsen Company (Us), Llc Methods and apparatus to identify media
US9734246B1 (en) * 2014-05-09 2017-08-15 Google Inc. Using “sign in with” status as an oracle for selecting third party intents
JP5692734B1 (ja) * 2014-09-08 2015-04-01 株式会社ゆうインタークロス 検索支援装置、検索支援システム、検索支援方法及びプログラム
US9854030B2 (en) * 2015-06-11 2017-12-26 Airwatch Llc Searching content associated with multiple applications
JP6567342B2 (ja) * 2015-06-30 2019-08-28 東芝映像ソリューション株式会社 電子機器及び検索方法
US20170097967A1 (en) * 2015-10-05 2017-04-06 Quixey, Inc. Automated Customization of Display Component Data for Search Results
US10104051B2 (en) 2015-10-27 2018-10-16 Airwatch Llc Searching content associated with multiple applications
US20170147581A1 (en) * 2015-11-24 2017-05-25 Facebook, Inc. Systems and methods for sharing content
US20180039383A1 (en) * 2016-08-02 2018-02-08 International Business Machines Corporation Efficient information browsing and management flow
US11663535B2 (en) 2016-10-03 2023-05-30 Google Llc Multi computational agent performance of tasks
US10311856B2 (en) 2016-10-03 2019-06-04 Google Llc Synthesized voice selection for computational agents
US10853747B2 (en) 2016-10-03 2020-12-01 Google Llc Selection of computational agent for task performance
EP3504705B1 (en) * 2016-10-03 2022-09-21 Google LLC Multi computational agent performance of tasks
KR102606119B1 (ko) * 2016-12-05 2023-11-24 엘지전자 주식회사 단말기 및 그 제어 방법
US11269960B2 (en) * 2017-05-15 2022-03-08 Microsoft Technology Licensing, Llc Dynamic search interfaces
CN109408337B (zh) * 2018-10-31 2021-12-28 京东方科技集团股份有限公司 一种接口运维的方法及装置
CN111367440A (zh) * 2018-12-26 2020-07-03 北京奇虎科技有限公司 任务栏搜索方法及装置
JP2019213209A (ja) * 2019-07-29 2019-12-12 東芝映像ソリューション株式会社 電子機器及び検索方法
US11150923B2 (en) * 2019-09-16 2021-10-19 Samsung Electronics Co., Ltd. Electronic apparatus and method for providing manual thereof
GB2600669A (en) * 2020-08-21 2022-05-11 Isky Res Pte Ltd Determination of friction score of a service

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2008114390A (ru) * 2005-10-14 2009-10-20 Майкрософт Корпорейшн (Us) Одновременная инициация множества поисков через множество поставщиков

Family Cites Families (127)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01152527A (ja) 1987-12-10 1989-06-15 Oki Electric Ind Co Ltd データ検索装置の検索データ入力方法
JPH06251064A (ja) 1993-02-26 1994-09-09 Sony Corp 情報検索装置
US5845300A (en) 1996-06-05 1998-12-01 Microsoft Corporation Method and apparatus for suggesting completions for a partially entered data item based on previously-entered, associated data items
EP1060449B1 (en) 1998-03-03 2003-06-25 Amazon.Com, Inc. Identifying the items most relevant to a current query based on items selected in connection with similar queries
US6418429B1 (en) * 1998-10-21 2002-07-09 Apple Computer, Inc. Portable browsing interface for information retrieval
US6772150B1 (en) 1999-12-10 2004-08-03 Amazon.Com, Inc. Search query refinement using related search phrases
US6847959B1 (en) 2000-01-05 2005-01-25 Apple Computer, Inc. Universal interface for retrieval of information in a computer system
TW495716B (en) 2000-01-21 2002-07-21 Dream Technologies Corp Control device and method for starting computer application software and multi-monitor computer, client-server system, and memory media thereof
US9767167B2 (en) 2000-04-27 2017-09-19 Proquest Llc Method and system for retrieving search results from multiple disparate databases
US6708162B1 (en) 2000-05-08 2004-03-16 Microsoft Corporation Method and system for unifying search strategy and sharing search output data across multiple program modules
KR20010106590A (ko) 2000-05-22 2001-12-07 함광선 통신상의 웹사이트 통합 검색방법 및 이 방법을수행하도록 프로그램된 소프트웨어가 저장된 매체
US7451136B2 (en) 2000-10-11 2008-11-11 Microsoft Corporation System and method for searching multiple disparate search engines
US7379965B2 (en) 2001-03-02 2008-05-27 Oracle International Corporation System and method for searching data partially displayed on a user interface
US7519605B2 (en) 2001-05-09 2009-04-14 Agilent Technologies, Inc. Systems, methods and computer readable media for performing a domain-specific metasearch, and visualizing search results therefrom
US7209913B2 (en) * 2001-12-28 2007-04-24 International Business Machines Corporation Method and system for searching and retrieving documents
EP1584171B1 (en) 2003-01-06 2007-01-17 Koninklijke Philips Electronics N.V. Multi-factor application selection
CN100485603C (zh) 2003-04-04 2009-05-06 雅虎公司 用于从搜索查询中产生概念单元的系统和方法
US7119794B2 (en) 2003-04-30 2006-10-10 Microsoft Corporation Character and text unit input correction system
US7552400B1 (en) 2003-05-20 2009-06-23 Google Inc. System and method for navigating within a graphical user interface without using a pointing device
US7392249B1 (en) 2003-07-01 2008-06-24 Microsoft Corporation Methods, systems, and computer-readable mediums for providing persisting and continuously updating search folders
JP2005327221A (ja) 2003-08-29 2005-11-24 Seiko Epson Corp 検索システム及び検索プログラム並びにパーソナルコンピュータ
KR20050026142A (ko) 2003-09-09 2005-03-15 엘지전자 주식회사 컴퓨터 시스템에서의 단축키 판별장치 및 방법
US20050149496A1 (en) 2003-12-22 2005-07-07 Verity, Inc. System and method for dynamic context-sensitive federated search of multiple information repositories
US20050144162A1 (en) 2003-12-29 2005-06-30 Ping Liang Advanced search, file system, and intelligent assistant agent
US7890526B1 (en) 2003-12-30 2011-02-15 Microsoft Corporation Incremental query refinement
KR100621194B1 (ko) 2004-02-19 2006-09-13 (주)케이티에프테크놀로지스 사용자 단말기내의 저장 정보 검색 방법 및 그 방법을이용하는 사용자 단말기
JP2005258524A (ja) 2004-03-09 2005-09-22 Nec Corp アプリケーション起動方法及び該方法を用いる携帯端末
US7272601B1 (en) 2004-03-31 2007-09-18 Google Inc. Systems and methods for associating a keyword with a user interface area
US20060200827A1 (en) 2005-02-18 2006-09-07 Sidlosky Jeffrey A J Methods and systems providing desktop search capability to software application
US7428529B2 (en) 2004-04-15 2008-09-23 Microsoft Corporation Term suggestion for multi-sense query
US7428530B2 (en) 2004-07-01 2008-09-23 Microsoft Corporation Dispersing search engine results by using page category information
US8078602B2 (en) * 2004-12-17 2011-12-13 Claria Innovations, Llc Search engine for a computer network
US7606793B2 (en) 2004-09-27 2009-10-20 Microsoft Corporation System and method for scoping searches using index keys
JP4939739B2 (ja) 2004-10-05 2012-05-30 パナソニック株式会社 携帯情報端末及び表示制御プログラム
US8677274B2 (en) 2004-11-10 2014-03-18 Apple Inc. Highlighting items for search results
US7499940B1 (en) 2004-11-11 2009-03-03 Google Inc. Method and system for URL autocompletion using ranked results
US20060136389A1 (en) 2004-12-22 2006-06-22 Cover Clay H System and method for invocation of streaming application
US7461059B2 (en) 2005-02-23 2008-12-02 Microsoft Corporation Dynamically updated search results based upon continuously-evolving search query that is based at least in part upon phrase suggestion, search engine uses previous result sets performing additional search tasks
US7340686B2 (en) 2005-03-22 2008-03-04 Microsoft Corporation Operating system program launch menu search
US8140574B2 (en) 2005-04-28 2012-03-20 International Business Machines Corporation Community search scopes for enterprises applications
US7840589B1 (en) 2005-05-09 2010-11-23 Surfwax, Inc. Systems and methods for using lexically-related query elements within a dynamic object for semantic search refinement and navigation
US20070174286A1 (en) 2005-05-17 2007-07-26 Yahoo!, Inc. Systems and methods for providing features and user interface in network browsing applications
US8060487B2 (en) 2005-08-01 2011-11-15 Sap Ag Searching for and launching data files not associated with an application
US7725485B1 (en) 2005-08-01 2010-05-25 Google Inc. Generating query suggestions using contextual information
US7440948B2 (en) 2005-09-20 2008-10-21 Novell, Inc. System and method of associating objects in search results
US7752220B2 (en) 2005-08-10 2010-07-06 Yahoo! Inc. Alternative search query processing in a term bidding system
US7672932B2 (en) 2005-08-24 2010-03-02 Yahoo! Inc. Speculative search result based on a not-yet-submitted search query
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
KR20070034313A (ko) 2005-09-23 2007-03-28 주식회사 엘지텔레콤 모바일 검색 서버 및 상기 검색 서버의 동작 방법
KR100643801B1 (ko) 2005-10-26 2006-11-10 엔에이치엔(주) 복수의 언어를 연동하는 자동완성 추천어 제공 시스템 및방법
US7584188B2 (en) 2005-11-23 2009-09-01 Dun And Bradstreet System and method for searching and matching data having ideogrammatic content
KR100737521B1 (ko) 2005-11-24 2007-07-10 한국전자통신연구원 어플리케이션 상태 정보 수집 및 복원 방법 및 시스템
EP1969456A4 (en) 2005-12-12 2015-11-04 Tegic Comm Llc APPARATUS FOR SEARCHING AND NAVIGATING A MOBILE DEVICE
US7680763B2 (en) 2005-12-21 2010-03-16 International Business Machines Corporation Administration of resources in system-wide search systems
US8010523B2 (en) 2005-12-30 2011-08-30 Google Inc. Dynamic search box for web browser
US8065286B2 (en) 2006-01-23 2011-11-22 Chacha Search, Inc. Scalable search system using human searchers
JP2007200243A (ja) 2006-01-30 2007-08-09 Kyocera Corp 携帯端末装置、携帯端末装置の制御方法及びプログラム
US20070219954A1 (en) 2006-03-15 2007-09-20 Microsoft Corporation Refined Search User Interface
US20070244862A1 (en) 2006-04-13 2007-10-18 Randy Adams Systems and methods for ranking vertical domains
US7853555B2 (en) 2006-04-19 2010-12-14 Raytheon Company Enhancing multilingual data querying
US20070265831A1 (en) 2006-05-09 2007-11-15 Itai Dinur System-Level Correction Service
KR100785755B1 (ko) 2006-05-17 2007-12-18 엔에이치엔(주) 초성 자동완성 및 그에 따른 검색 결과 제공 방법 및시스템
KR100782504B1 (ko) 2006-07-24 2007-12-05 삼성전자주식회사 이동통신 단말기의 통합 검색 장치 및 방법
US8938474B2 (en) 2006-08-07 2015-01-20 International Business Machines Corporation Securing application information in system-wide search engines
US20120130814A1 (en) 2007-11-14 2012-05-24 Paul Vincent Hayes System and method for search engine result ranking
US9298721B2 (en) 2007-02-28 2016-03-29 Qualcomm Incorporated Prioritized search results based on monitored data
US8352881B2 (en) 2007-03-08 2013-01-08 International Business Machines Corporation Method, apparatus and program storage device for providing customizable, immediate and radiating menus for accessing applications and actions
US7693842B2 (en) * 2007-04-09 2010-04-06 Microsoft Corporation In situ search for active note taking
PL2140667T3 (pl) 2007-04-26 2017-04-28 Nokia Technologies Oy Sposób i przenośne urządzenie do wyszukiwania różnego rodzaju elementów
US20080306933A1 (en) 2007-06-08 2008-12-11 Microsoft Corporation Display of search-engine results and list
KR101343641B1 (ko) 2007-06-22 2013-12-20 주식회사 케이티 범위 지정 정보 검색 방법 및 장치
US8577417B2 (en) 2007-06-26 2013-11-05 Sony Corporation Methods, devices, and computer program products for limiting search scope based on navigation of a menu screen
US8290986B2 (en) 2007-06-27 2012-10-16 Yahoo! Inc. Determining quality measures for web objects based on searcher behavior
US8027964B2 (en) 2007-07-13 2011-09-27 Medio Systems, Inc. Personalized query completion suggestion
US8051061B2 (en) 2007-07-20 2011-11-01 Microsoft Corporation Cross-lingual query suggestion
JP2009037501A (ja) 2007-08-03 2009-02-19 Nippon Telegr & Teleph Corp <Ntt> 情報検索装置、情報検索方法およびプログラム
US20090043741A1 (en) 2007-08-09 2009-02-12 Dohyung Kim Autocompletion and Automatic Input Method Correction for Partially Entered Search Query
US8046351B2 (en) 2007-08-23 2011-10-25 Samsung Electronics Co., Ltd. Method and system for selecting search engines for accessing information
US20090063448A1 (en) 2007-08-29 2009-03-05 Microsoft Corporation Aggregated Search Results for Local and Remote Services
US8595252B2 (en) 2007-09-14 2013-11-26 Google Inc. Suggesting alternative queries in query results
US20090089396A1 (en) 2007-09-27 2009-04-02 Yuxi Sun Integrated Method of Enabling a Script-Embedded Web Browser to Interact with Drive-Based Contents
US8583670B2 (en) 2007-10-04 2013-11-12 Microsoft Corporation Query suggestions for no result web searches
US8694483B2 (en) 2007-10-19 2014-04-08 Xerox Corporation Real-time query suggestion in a troubleshooting context
US8176068B2 (en) 2007-10-31 2012-05-08 Samsung Electronics Co., Ltd. Method and system for suggesting search queries on electronic devices
TW200923690A (en) 2007-11-23 2009-06-01 Eastern Home Shopping & Amp Leisure Co Ltd System and method for shop search
US7984004B2 (en) 2008-01-17 2011-07-19 Microsoft Corporation Query suggestion generation
US20090210404A1 (en) 2008-02-14 2009-08-20 Wilson Kelce S Database search control
US8412567B2 (en) 2008-03-11 2013-04-02 Xerox Corporation System and method for computerized sales optimization
US8447759B2 (en) 2008-03-13 2013-05-21 Microsoft Corporation Assets suggestion across applications
US9798806B2 (en) 2008-03-31 2017-10-24 Excalibur Ip, Llc Information retrieval using dynamic guided navigation
US8112404B2 (en) 2008-05-08 2012-02-07 Microsoft Corporation Providing search results for mobile computing devices
US8543393B2 (en) 2008-05-20 2013-09-24 Calabrio, Inc. Systems and methods of improving automated speech recognition accuracy using statistical analysis of search terms
US8356274B2 (en) * 2008-07-07 2013-01-15 International Business Machines Corporation System and methods to create a multi-tenancy software as a service application
US8219572B2 (en) * 2008-08-29 2012-07-10 Oracle International Corporation System and method for searching enterprise application data
KR101570116B1 (ko) 2008-09-09 2015-11-19 삼성전자주식회사 터치스크린을 이용한 컨텐츠 탐색 및 실행방법과 이를 이용한 장치
US8204897B1 (en) 2008-09-09 2012-06-19 Google Inc. Interactive search querying
JP5238418B2 (ja) * 2008-09-09 2013-07-17 株式会社東芝 情報推薦装置および情報推薦方法
US20100082649A1 (en) 2008-09-22 2010-04-01 Microsoft Corporation Automatic search suggestions from server-side user history
JP2010092383A (ja) 2008-10-10 2010-04-22 Keyence Corp 電子文書ファイル検索装置、電子文書ファイル検索方法及びコンピュータプログラム
US9015616B2 (en) 2008-10-22 2015-04-21 Google Inc. Search initiation
US7958143B1 (en) 2008-11-04 2011-06-07 A9.Com, Inc. Context search to refine a search
KR101023911B1 (ko) 2008-11-12 2011-03-22 엔에이치엔(주) 추천 질의어 제공 방법 및 시스템
US8126885B2 (en) 2008-12-19 2012-02-28 Hewlett-Packard Development Company, L.P. History based search service operable with multiple applications and services
US20100185644A1 (en) 2009-01-21 2010-07-22 Microsoft Corporatoin Automatic search suggestions from client-side, browser, history cache
JP2010212841A (ja) 2009-03-09 2010-09-24 Kddi Corp 携帯電話機およびインクリメンタル検索プログラム
US8589374B2 (en) 2009-03-16 2013-11-19 Apple Inc. Multifunction device with integrated search and application selection
US20100268661A1 (en) 2009-04-20 2010-10-21 4-Tell, Inc Recommendation Systems
CN101782833B (zh) 2009-04-30 2012-05-23 广东国笔科技股份有限公司 一种智能操作系统及方法
CN101539836A (zh) 2009-04-30 2009-09-23 广东国笔科技股份有限公司 一种人机界面交互系统和方法
CN102483753A (zh) 2009-05-27 2012-05-30 谷歌公司 搜索结果中的计算机应用数据
US8103667B2 (en) 2009-05-28 2012-01-24 Microsoft Corporation Ranking results of multiple intent queries
US8332748B1 (en) 2009-10-22 2012-12-11 Google Inc. Multi-directional auto-complete menu
US9129012B2 (en) 2010-02-03 2015-09-08 Google Inc. Information search system with real-time feedback
US20170220680A1 (en) 2010-02-22 2017-08-03 Google Inc. Search query reformulation using a user-selected term
JP5659500B2 (ja) 2010-02-22 2015-01-28 日本電気株式会社 Webサービス記憶プログラム、および、Webサービス記憶装置
US8972397B2 (en) * 2010-03-11 2015-03-03 Microsoft Corporation Auto-detection of historical search context
US9589032B1 (en) * 2010-03-25 2017-03-07 A9.Com, Inc. Updating content pages with suggested search terms and search results
US8392435B1 (en) * 2010-04-14 2013-03-05 Google Inc. Query suggestions for a document based on user history
US8239363B2 (en) * 2010-06-11 2012-08-07 Microsoft Corporation Query context selection using graphical properties
US8515979B2 (en) * 2010-06-18 2013-08-20 Verizon Patent And Licensing, Inc. Cross application execution service
CN102298582B (zh) 2010-06-23 2016-09-21 商业对象软件有限公司 数据搜索和匹配方法和系统
US9015043B2 (en) * 2010-10-01 2015-04-21 Google Inc. Choosing recognized text from a background environment
CN101984395A (zh) 2010-10-20 2011-03-09 广东国笔科技股份有限公司 一种基于pc的智能操作系统及方法
JP5740003B2 (ja) 2010-10-21 2015-06-24 クアルコム,インコーポレイテッド モバイルコンピューティングデバイスを用いた複数のデータソースの検索
US10346479B2 (en) 2010-11-16 2019-07-09 Microsoft Technology Licensing, Llc Facilitating interaction with system level search user interface
US20120124072A1 (en) 2010-11-16 2012-05-17 Microsoft Corporation System level search user interface
US8515984B2 (en) 2010-11-16 2013-08-20 Microsoft Corporation Extensible search term suggestion engine

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2008114390A (ru) * 2005-10-14 2009-10-20 Майкрософт Корпорейшн (Us) Одновременная инициация множества поисков через множество поставщиков

Also Published As

Publication number Publication date
JP5837608B2 (ja) 2015-12-24
EP2641193A4 (en) 2016-12-21
WO2012067867A3 (en) 2012-07-12
US10073927B2 (en) 2018-09-11
TW201222294A (en) 2012-06-01
ZA201302906B (en) 2014-07-25
CA2816332C (en) 2019-10-29
AU2011329315A1 (en) 2013-05-23
US11625435B2 (en) 2023-04-11
JP2014503874A (ja) 2014-02-13
MX2013005536A (es) 2013-07-03
EP2641193B1 (en) 2018-12-26
US20180322220A1 (en) 2018-11-08
TWI531916B (zh) 2016-05-01
US11921788B2 (en) 2024-03-05
KR101872549B1 (ko) 2018-06-28
KR20130142134A (ko) 2013-12-27
WO2012067867A2 (en) 2012-05-24
EP2641193A2 (en) 2013-09-25
CN102436499B (zh) 2016-06-15
AU2011329315B2 (en) 2016-06-02
US20120124035A1 (en) 2012-05-17
CA2816332A1 (en) 2012-05-24
US20230092016A1 (en) 2023-03-23
RU2013122474A (ru) 2014-11-20
CN102436499A (zh) 2012-05-02

Similar Documents

Publication Publication Date Title
RU2581840C2 (ru) Регистрация для поискового интерфейса пользователя системного уровня
US9037565B2 (en) System level search user interface
US20230019133A1 (en) Process and Apparatus for Selecting an Item from A Database
KR101975620B1 (ko) 시스템 레벨 검색 사용자 인터페이스와의 상호작용 용이화 기법
US20150006505A1 (en) Method of and system for displaying a plurality of user-selectable refinements to a search query
AU2016204569A1 (en) Improved process and apparatus for selecting an item from a database

Legal Events

Date Code Title Description
HZ9A Changing address for correspondence with an applicant
MM4A The patent is invalid due to non-payment of fees

Effective date: 20191108