KR20130142134A - 시스템 레벨 검색 사용자 인터페이스를 위한 등록 - Google Patents

시스템 레벨 검색 사용자 인터페이스를 위한 등록 Download PDF

Info

Publication number
KR20130142134A
KR20130142134A KR1020137012590A KR20137012590A KR20130142134A KR 20130142134 A KR20130142134 A KR 20130142134A KR 1020137012590 A KR1020137012590 A KR 1020137012590A KR 20137012590 A KR20137012590 A KR 20137012590A KR 20130142134 A KR20130142134 A KR 20130142134A
Authority
KR
South Korea
Prior art keywords
application
system level
level search
search
user interface
Prior art date
Application number
KR1020137012590A
Other languages
English (en)
Other versions
KR101872549B1 (ko
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 KR20130142134A publication Critical patent/KR20130142134A/ko
Application granted granted Critical
Publication of KR101872549B1 publication Critical patent/KR101872549B1/ko

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

시스템 레벨 검색 모듈은 컴퓨팅 장치의 애플리케이션에 대한 시스템 레벨 검색 사용자 인터페이스 등록 정보를 수신한다. 상기 등록 정보는 시스템 레벨 검색 모듈이 애플리케이션을 런칭할 수 있는 방식에 대한 지시를 포함한다. 상기 등록 정보는 등록 저장소에 추가되고, 애플리케이션은 시스템 레벨 검색 사용자 인터페이스를 이용해 검색될 수 있는 하나 이상의 애플리케이션의 일원으로서 포함된다.

Description

시스템 레벨 검색 사용자 인터페이스를 위한 등록{REGISTRATION FOR SYSTEM LEVEL SEARCH USER INTERFACE}
컴퓨터가 점점 흔해짐에 따라, 사용자가 이용 가능한 전자 데이터의 양도 엄청나게 증가했다. 이러한 많은 양의 전자 데이터를 액세스하는 것은 사용자에게 매우 유익할 수 있지만, 문제가 없지만은 않다. 한 가지 문제는 사용자가 찾고자 하는 특정 전자 데이터를 찾아 내는 것이 어렵다는 것이다. 예를 들어, 사용자는 찾고자 하는 특정 전자 데이터를 찾아 내기 위해 복수의 서로 다른 애플리케이션을 액세스하는 상황에 접할 수 있다. 일반적으로 이는 사용자가 서로 다른 애플리케이션이 실행되도록 요청하는 것, 서로 다른 애플리케이션의 검색 인터페이스로 네비게이팅하는 것, 및 동일한 검색어를 상기 서로 다른 애플리케이션 각각에 입력하는 것을 포함한다. 이는 사용자에게 번거롭고 불만족스러운 경험을 초래할 수 있다.
개요
이 개요는 이하의 상세한 설명에 추가로 기재될 개념들의 모음을 단순화된 형태로 소개하기 위해 제공된다. 이 개요는 청구되는 발명의 핵심 특징 또는 필수 특징을 식별하기 위한 의도가 아니며, 청구되는 발명의 범위를 결정하려는 의도도 갖지 않는다.
하나 이상의 양태에 따라, 시스템 레벨 검색 모듈은 컴퓨팅 장치의 애플리케이션에 대한 시스템 레벨 검색 사용자 인터페이스 등록 정보를 수신한다. 상기 등록 정보는 등록 저장소로 추가되고, 애플리케이션은 시스템 레벨 검색 사용자 인터페이스를 이용해 검색될 수 있는 하나 이상의 애플리케이션 중 하나로서 포함된다.
하나 이상의 양태에 따라, 애플리케이션에 대한 시스템 레벨 검색 사용자 인터페이스 등록 정보가 식별되며, 등록 정보는 시스템 레벨 검색 사용자 인터페이스를 제공하는 시스템 레벨 검색 모듈이 애플리케이션을 런칭할 수 있는 방식에 대한 지시(indication)를 포함한다. 상기 시스템 레벨 검색 사용자 인터페이스 등록 정보는 시스템 레벨 검색 모듈로 전달되어 애플리케이션이 시스템 레벨 검색 사용자 인터페이스를 이용해 검색될 수 있는 하나 이상의 애플리케이션 중 하나로서 포함되게 한다.
하나 이상의 양태에 따라, 시스템 레벨 검색 사용자 인터페이스를 통해 검색될 수 있는 컴퓨팅 장치의 복수의 애플리케이션이 식별된다. 복수의 애플리케이션 각각에 대한 순위가 생성되며, 복수의 애플리케이션 각각의 순위는 상기 애플리케이션이 컴퓨팅 장치의 현재 활성인 애플리케이션과 동일한 애플리케이션 카테고리에 할당됐는지 여부를 적어도 부분적으로 기초로 한다. 복수의 애플리케이션 각각의 순위는 또한 애플리케이션이 시스템 레벨 검색 사용자 인터페이스를 통해 검색될 애플리케이션으로 얼마나 자주 선택되는지와 애플리케이션이 시스템 레벨 검색 사용자 인터페이스를 통해 검색될 애플리케이션으로 얼마나 최근에 선택되었는지 중 한 가지 또는 둘 모두를 적어도 부분적으로 기초로 한다. 복수의 애플리케이션 중 하나 이상이 시스템 레벨 검색 사용자 인터페이스를 통해 식별되도록 선택되며, 복수의 애플리케이션 중 선택된 애플리케이션 각각은 복수의 애플리케이션 중 선택되지 않은 애플리케이션보다 높은 순위를 가진다. 복수의 애플리케이션 중 선택된 애플리케이션의 식별자가 최고 순위에서부터 최저 순위 순으로 시스템 레벨 검색 사용자 인터페이스의 일부로서 디스플레이된다
도면 전체에서 동일한 번호가 유사한 특징부를 참조하기 위해 사용된다.
도 1은 하나 이상의 실시예에 따르는 시스템 레벨 검색 사용자 인터페이스에 대한 등록을 구현하는 예시적 시스템을 도시한다.
도 2, 3, 4, 5 및 6은 하나 이상의 실시예에 따라 시스템 레벨 검색 사용자 인터페이스를 포함하는 예시적 스크린 디스플레이를 도시한다.
도 7은 하나 이상의 실시예에 따라 예시적 시스템 레벨 검색 모듈을 도시하는 블록도이다.
도 8은 하나 이상의 실시예에 따라 시스템 레벨 검색 모듈에 애플리케이션을 등록하기 위한 예시적 등록 프로세스를 도시하는 흐름도이다.
도 9는 하나 이상의 실시예에 따라 시스템 레벨 검색 사용자 인터페이스를 포함하는 또 다른 예시적 스크린 디스플레이를 도시한다.
도 10은 하나 이상의 실시예에 따라 제시 검색어에 대한 언어적 대안을 지원하느 예시적 시스템을 도시하는 블록도이다.
도 11은 하나 이상의 실시예에 따라 시스템 레벨 검색 사용자 인터페이스를 이용하기 위한 예시적 프로세스를 도시한 흐름도이다.
도 12는 하나 이상의 실시예에 따라 시스템 레벨 검색 사용자 인터페이스의 애플리케이션 식별 부분에 애플리케이션 식별자를 디스플레이하기 위한 예시적 프로세스를 도시한 흐름도이다.
도 13는 하나 이상의 실시예에 따라 시스템 레벨 검색 사용자 인터페이스에 대한 등록을 구현하도록 구성될 수 있는 예시적 컴퓨팅 장치를 도시한다.
시스템 레벨 검색 사용자 인터페이스에 대한 등록이 본원에서 설명된다. 상기 시스템 레벨 검색 사용자 인터페이스(UI)는, 사용자가 검색어(search term)를 입력하고 복수의 서로 다른 애플리케이션에 상기 검색어에 대해 검색하는 것을 가능하게 하는 중앙집중형 UI(centralized UI)를 제공한다. 사용자가 시스템 레벨 검색 UI를 이용해 검색을 할 수 있는 특정 애플리케이션은, 상기 애플리케이션에 관한 다양한 정보를 제공하면서, 시스템 레벨 검색 UI에 등록된다. 시스템 레벨 검색 UI는 이 등록 정보를 이용하여, 이들 서로 다른 애플리케이션이 사용자에 의해 식별될 방식, 애플리케이션이 그들의 검색 결과 디스플레이 뷰를 착수할 방식, 등을 결정한다. 시스템 레벨 검색 UI는 다양한 기준을 기초로 서로 다른 애플리케이션에 대한 순위(ranking)를 결정하고, 이들 순위에 따라, 애플리케이션의 식별자를 디스플레이한다. 그 후, 사용자는 이들 서로 다른 애플리케이션 중 하나 이상을 검색에 대해 검색되도록 선택할 수 있고, 선택에 응답하여, 시스템 레벨 검색 UI는 선택된 애플리케이션으로 검색어를 제공하며, 그 후 선택된 애플리케이션이 자신의 검색 결과를 디스플레이한다.
도 1은 하나 이상의 실시예에 따르는 시스템 레벨 검색 사용자 인터페이스에 대한 등록을 구현하는 예시적 시스템(100)을 도시한다. 시스템(100)은 컴퓨팅 장치(102)를 포함하며, 선택사항으로서 상기 컴퓨팅 장치(102)는 네트워크(106)를 통해 하나 이상의 (x) 다른 컴퓨팅 장치(104(1), ..., 104(m))와 통신할 수 있다. 상기 네트워크(106)는 다양한 네트워크일 수 있으며, 예를 들어, 인터넷, 로컬 영역 네트워크(LAN), 공공 전화 또는 그 밖의 다른 전화망, 인트라넷, 그 밖의 다른 공공 및/또는 사설 네트워크, 이들의 조합, 등이 있다. 컴퓨팅 장치(102)는 다양한 유형의 장치일 수 있다. 예를 들어, 컴퓨팅 장치(102)는 데스크톱 컴퓨터, 노트패드 또는 태블릿 컴퓨터, 넷북 또는 랩톱 컴퓨터, 서버 컴퓨터, 모바일 국, 엔터테인먼트 기기, 디스플레이 장치와 통신 가능하게 연결된 셋-톱 박스, 텔레비전, 셀방식 또는 그 밖의 다른 무선 폰, 게임 콘솔, 자동차용 컴퓨터 등일 수 있다. 덧붙이자면, 단일 장치(102)로 도시되었더라도, 컴퓨팅 장치(102)의 구성요소 또는 모듈은 복수의 장치의 시스템으로서 구현될 수 있으며, 이때, 상기 구성요소 또는 모듈은 시스템 내 서로 다른 장치에 걸쳐 분산되어 있다.
장치(104)는 컴퓨팅 장치(102)와 통신할 수 있는 다양한 컴퓨팅 장치일 수 있다. 선택적으로 컴퓨팅 장치(102)는 장치(104) 중 하나 이상을 액세스하여 다양한 정보를 얻을 수 있으며, 이는 이하에서 더 상세히 언급된다. 컴퓨팅 장치(102)의 설명과 유사하게, 장치(104)는 다양한 유형의 장치일 수 있다. 장치(104)는 컴퓨팅 장치(102)와 동일한 유형 또는 대안적으로 상이한 유형의 장치일 수 있다. 시스템(100)에서, 컴퓨팅 장치(102)는 네트워크(106)를 통해 장치(104)와 통신하는 것으로 도시된다. 또는, 컴퓨팅 장치(102)는, 예를 들어, 다양한 유선 및/또는 무선 연결(가령, 전역 직렬 버스(USB: universal serial bus) 연결, 무선 USB 연결, 블루투스(Bluetooth) 연결, IEEE 1394 연결, 등) 같은 그 밖의 다른 유형의 통신 메커니즘 또는 연결을 통해 장치(104)와 통신할 수 있다.
컴퓨팅 장치(102)는 운영 체제(110) 및 하나 이상의 애플리케이션(112)을 포함한다. 운영 체제(110)는 컴퓨팅 장치(102) 상에서의 애플리케이션의 런칭 및 실행을 관리한다. 애플리케이션(112) 각각은 다양한 유형의 애플리케이션, 가령, 생산성 애플리케이션(가령, 전자메일 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 데이터베이스 애플리케이션 등), 엔터테인먼트 애플리케이션(가령, 게임 애플리케이션, 오디오 및/또는 비디오 재생 애플리케이션 등), 소셜 네트워킹 애플리케이션, 등일 수 있다. 애플리케이션(112)은, 네트워크(106)를 통해 장치(104) 상의 데이터를 액세스하는 대신 컴퓨팅 장치(102) 상의 데이터를 액세스하면서, 데이터를 로컬하게 액세스할 수 있다. 예를 들어, 애플리케이션(112)은 데이터를 로컬하게 액세스하는 워드 프로세싱 애플리케이션일 수 있다. 데이터를 로컬하게 액세스하는 것에 추가로, 또는 이를 대체하여, 애플리케이션은 네트워크(106)를 통해 하나 이상의 장치 상의 데이터를 액세스할 수 있다. 예를 들어, 애플리케이션(112)은 영화 서비스를 제공하는 장치(104)를 위한 인터페이스 애플리케이션일 수 있으며, 컴퓨팅 장치(102)의 사용자가 상기 애플리케이션(112)을 통해 장치(104)로부터의 영화를 액세스하도록 한다.
운영 체제(110)는 입력 모듈(114), 디스플레이 모듈(116), 및 시스템 레벨 검색 모듈(118)을 포함한다. 일반적으로 운영 체제(110)는 소프트웨어 및/또는 펌웨어로 구현되지만, 대안예로서, 운영 체제(110)의 적어도 일부가 하드웨어로 구현될 수 있다.
입력 모듈(114)은 컴퓨팅 장치(102)의 사용자로부터 사용자 입력을 수신한다. 사용자 입력은 다양한 방식으로, 가령, 장치(102)의 키패드 또는 키보드의 하나 이상의 키를 누름으로써, 장치(102)의 제어기(가령, 원격 제어 장치, 마우스, 트랙패드, 등)의 하나 이상의 키를 누름으로써, 장치(102)의 터치패드 또는 터치스크린의 특정 부분을 누름으로써, 장치(102)의 터치패드 또는 터치스크린 상에 특정 제스처를 취함으로써, 및/또는 장치(102)의 제어기(가령, 원격 제어 장치, 마우스, 트랙패드, 등) 상에 특정 제스처를 취함으로써, 제공될 수 있다. 사용자 입력이, 가령, 장치(102)의 임의의 부분을 태핑, 장치(102)의 모션 검출 구성요소에 의해 인식될 수 있는 동작(가령, 장치(102) 흔들기, 장치(102) 회전시키기 등), 등의 그 밖의 다른 물리적 피드백 입력을 통해 장치(102) 제공될 수 있다. 또한 사용자 입력은 가령, 마이크로폰으로의 청각적 입력을 통해, 이미지 캡처 장치에 의해 관찰되는 손 또는 그 밖의 다른 신체 부위의 모션을 통해, 등의 그 밖의 다른 방식으로 제공될 수 있다. 이들 사용자 입력에 의해 사용자는 가령, 특정 문자 또는 기호를 입력함으로써, 특정 버튼 또는 메뉴 옵션을 선택함으로써, 다양한 기술(description) 또는 이미지를 드래그 앤 드롭(dragging and dropping)함으로써 등에 의해, 컴퓨터 장치(102)와 상호대화할 수 있다.
디스플레이 모듈(116)은 컴퓨팅 장치(102)의 스크린에 대해 디스플레이를 생성, 관리, 및/또는 출력한다. 이 디스플레이는 다양한 정보, 가령, 애플리케이션(112)에 의해 제공되는 정보, 시스템 레벨 검색 모듈(118)에 의해 제공되는 정보, 또는 운영 체제(110)의 그 밖의 다른 모듈 등을 포함할 수 있다. 사용자에게 디스플레이되는 정보는 입력 모듈(114)에 의해 수신될 수 있는 사용자 입력을 포함할 수 있다. 디스플레이 모듈(116)이 정보를 디스플레이하는 스크린은 다양한 방식으로, 가령, 액정 디스플레이(LCD) 기법, 플라스마 스크린 기법, 영상 투영 기법, 등으로 구현될 수 있다. 상기 스크린은 컴퓨팅 장치(102)의 일부로서 포함되거나, 대안예로서, 디스플레이 모듈(116)이 하나 이상의 스크린을 포함하는 하나 이상의 다른 디스플레이 장치로 출력되는 하나 이상의 신호를 생성할 수 있다. 본원의 기재가 하나 이상의 스크린 상에 정보를 디스플레이하는 것을 지칭하더라도, 대안예로서, 정보가 디스플레이 모듈(116)에 의해 사용자에게 다른 방식으로, 가령, 청각적으로 제시될 수 있음을 알아야 한다.
시스템 레벨 검색 모듈(118)은, 컴퓨팅 장치(102)의 사용자가 검색어를 입력하고 서로 다른 애플리케이션(112)에서 상기 검색어에 대해 검색을 할 수 있게 하는 중앙집중형 UI인 시스템 레벨 검색 UI를 제공한다. 상기 검색어는 글자(letter), 문자(character), 기호(symbol), 등의 임의의 조합, 가령, 하나 이상의 단어, 단어의 부분, 등일 수 있다. 시스템 레벨 검색 UI는 사용자가 검색어를 입력할 때 이용할 수 있는 데이터 입력 부분(data entry portion)과, 애플리케이션(112)들 중 서로 다른 애플리케이션을 식별할 때 이용할 수 있는 애플리케이션 식별 부분을 포함한다. 애플리케이션(112)들 중 상기 애플리케이션 식별 부분에서 식별된 특정 애플리케이션은 시스템 레벨 검색 모듈(118)에 등록된 애플리케이션(112)이며, 이는 이하에서 더 상세히 설명된다.
시스템 레벨 검색 모듈(118)에 의해 제공되는 시스템 레벨 검색 UI는 컴퓨팅 장치(102)의 사용자가 자신의 원하는 검색어를 중앙집중형 UI에 한 번 입력하고, 그 후, 하나 이상의 서로 다른 애플리케이션(112)을 선택하여, 상기 검색어에 대해 검색할 수 있게 한다. 시스템 레벨 검색 UI를 통해 애플리케이션(112)을 선택하는 것에 응답하여, 검색어는 선택된 애플리케이션(112)으로 제공되고, 그 후 상기 선택된 애플리케이션(112)이 상기 검색어를 기초로 검색 결과를 결정하고 (디스플레이 모듈(116)을 통해) 디스플레이한다. 사용자는 단순히 시스템 레벨 검색 UI를 통해 애플리케이션을 선택함으로써, 서로 다른 애플리케이션(112)이 상기 동일한 검색어에 대해 검색을 하게끔 할 수 있다. 따라서, 사용자가 서로 다른 애플리케이션(112)의 실행을 요청하기 위해 운영 체제(110)와 상호대화하고, 이들 서로 다른 애플리케이션(112) 각각의 검색 인터페이스로 네비게이팅하며, 동일한 검색어를 이들 서로 다른 애플리케이션 각각으로 입력하는 것 대신, 사용자는 시스템 레벨 검색 UI로 검색어를 1회 입력할 수 있다. 그 후, 사용자는 (가령, 단일 사용자 입력, 가령, 키스트로크(keystroke), 터치스크린 상에서의 애플리케이션 식별자의 태핑(tapping), 포인터나 그 밖의 다른 커서가 애플리케이션 식별자 위에 있을 때의 애플리케이션 식별자의 클릭, 등을 통해) 애플리케이션(112)들 중 하나 이상을 선택하여, 선택시 운영 체제(110)가 이들 애플리케이션(112)을 자동으로 실행시키도록 하고, 시스템 레벨 검색 모듈(118)이 검색어를 선택된 애플리케이션(112)으로 제공하도록 할 수 있다.
시스템 레벨 검색 UI는 서로 다른 때에 활성화될 수 있다. 시스템 레벨 검색 UI가 활성화될 때, 시스템 레벨 검색 UI는 디스플레이 모듈(116)에 의해 디스플레이된다. 시스템 레벨 검색 모듈(118)은 시스템 레벨 검색 UI를 활성화 상태로 유지하고, 지속적으로 디스플레이되게 할 수 있다. 또는, 시스템 레벨 검색 모듈(118)은 특정 요청(가령, 검색을 수행하라는 사용자 요청, 검색을 수행하기 위한 애플리케이션(112)으로부터의 요청, 등)에 응답하여 시스템 레벨 검색 UI를 활성화시킬 수 있으며, 이때 시스템 레벨 검색 UI는 활성화될 때까지 숨겨진 채 유지한다. 애플리케이션(112)은 시스템 레벨 검색 UI를 활용하여, 시스템 레벨 검색 모듈(118)을 불러오거나(invoke), 사용자를 모듈(118)에 의해 이미 디스플레이된 시스템 레벨 검색 UI로 안내한다. 애플리케이션(112)은 시스템 레벨 검색 UI에 의존할 수 있기 때문에, 그들 고유의 검색 사용자 인터페이스를 제공할 필요가 없다.
따라서, 시스템 레벨 검색 UI는 여러 다른 방식으로 사용될 수 있음을 알아야 한다. 사용자는 시스템 레벨 검색 UI에 검색어를 입력하고, 그 후, 시스템 레벨 검색 UI를 통해, 상기 검색어에 대해 검색하기 위한 하나 이상의 애플리케이션(112)을 선택할 수 있다. 또는, 사용자는 한 애플리케이션(112)을 통해 검색어를 입력하라는 요청을 입력할 수 있다. 이에 응답하여, 시스템 레벨 검색 UI는 디스플레이될 수 있고(또는 사용자가 이미 디스플레이된 시스템 레벨 검색 UI로 안내될 수 있음), 상기 시스템 레벨 검색 UI를 통해 사용자는 상기 애플리케이션(112)에서 검색하기 위해 자신의 검색어를 입력할 수 있다. 또는, 사용자는 검색어의 입력 없이, 하나 이상의 애플리케이션(112)을 선택할 수 있고, 이에 응답하여, 선택된 애플리케이션에게 사용자 선택이 통보되고, 선택된 애플리케이션이 자신의 검색 결과 디스플레이 뷰를 디스플레이한다. 사용자가 아직 검색어를 입력하지 않았기 때문에, 선택된 애플리케이션에 의해 검색 결과가 아직 디스플레이되지 않을 수 있다. 그러나 검색어의 입력 후, 선택된 애플리케이션은 자신의 검색 결과를 디스플레이할 것이다.
도 2는 하나 이상의 실시예에 따라, 시스템 레벨 검색 사용자 인터페이스를 포함하는 예시적 스크린 디스플레이(202)를 도시한다. 스크린 디스플레이(202)는 툴바(toolbar)(또는 작업줄(taskbar))(204)를 포함한다. 툴바(204)는 다양한 정보, 가령, 현재 시각(가령, 오전 10:10)을 포함할 수 있다.
시스템 레벨 검색 UI는 다음의 두 개의 부분을 포함하는 것으로 도시된다: 데이터 입력 부분(206) 및 애플리케이션 식별 부분(208). 사용자는 (가령, 앞서 언급된 바와 같이 도 1의 입력 모듈(114)을 통해) 다양한 단어, 글자, 기호, 문자, 등을 검색어로서 입력할 수 있다. 이 사용자 입력은 데이터 입력 부분(206)에 디스플레이된다. 도시된 예에서, 사용자는 문자 "Ha"를 입력했다. 이때 동시에, 스크린 디스플레이가 "Ha"가 검색어임을 도시한다. 그러나 사용자는 추가 문자를 계속 입력하여 다른 검색어를 도출할 수 있다.
애플리케이션 식별 부분(208)은 서로 다른 애플리케이션의 식별자를 포함한다. 이들 식별자는 예시적 디스플레이(202)에서 "애플리케이션 1 명칭", "애플리케이션 2 명칭", "애플리케이션 3 명칭", "애플리케이션 4 명칭", 및 "애플리케이션 5 명칭"으로 나타난다. 애플리케이션 식별 부분(208) 내 이들 식별자 각각은 사용자가 데이터 엔트리 부분(206)에 디스플레이된 검색어에 대한 검색을 하도록 선택할 수 있는 애플리케이션이다. 사용자는 (가령, 도 1의 입력 모듈(114)을 통해) 다양한 방식으로, 가령, 스타일러스(stylus) 또는 손가락으로 애플리케이션의 식별자를 터치함으로써, 포인터를 애플리케이션의 식별자 위로 이동시켜(maneuvering) 커서 제어 장치(가령, 마우스)의 버튼을 누름으로써, 및 그 밖의 다른 방식에 의해, 애플리케이션 식별 부분(208)에서 식별된 애플리케이션들 중 하나를 선택할 수 있다.
애플리케이션 식별 부분(208)은, 사용자가 데이터를 데이터 입력 부분(206)으로 입력할 때, 자동으로 디스플레이되거나, 또는 애플리케이션 식별 부분(208)을 디스플레이하라는 사용자 요청에 응답하여 디스플레이될 수 있다. 예를 들어, 사용자는 (가령, 도 1의 입력 모듈(114)을 통해) 다양한 방식으로, 가령, 스타일러스 또는 손가락으로 메뉴 아이콘(210)을 터치함으로써, 포인터를 메뉴 아이콘 위로 이동시키고 커서 제어 장치(가령, 마우스)의 버튼을 누름으로써, 키보드의 특정 키를 누름으로써, 및 그 밖의 다른 방식에 의해, 메뉴 아이콘(210)을 선택할 수 있다. 메뉴 아이콘(210)의 사용자 선택에 응답하여, 애플리케이션 식별 부분(208)이 디스플레이된다.
덧붙여, 시스템 레벨 검색 UI는, 메뉴 아이콘(210)의 선택과 유사하게 (가령, 도 1의 입력 모듈(114)을 통해) 다양한 방식으로 선택될 수 있는 검색 버튼(212)을 포함할 수 있다. 검색 버튼(212)의 사용자 선택에 응답하여, 데이터 입력 부분(206)에 현재 입력된 검색어가 검색되기 위해 애플리케이션으로 전송된다. 검색어가 전송되는 애플리케이션은 여러 다른 방식으로, 가령, 현재 활성(active)인 애플리케이션, 애플리케이션 식별 부분(208) 내 현재 강조된 애플리케이션, 애플리케이션 식별 부분(208)의 상단에 나열된 애플리케이션, 및 기타 등등이도록 결정될 수 있다. 현재 활성인 애플리케이션은 현재 전경(foreground)에서 실행 중이며 사용자가 상호대화할 수 있는 애플리케이션인 애플리케이션(가령, 도 1의 애플리케이션(112)들 중 하나(운영 체제가 아닌 애플리케이션))을 지칭한다. 복수의 애플리케이션이 컴퓨팅 장치 상에서 동시에 실행될 수 있지만, 단 하나만 현재 활성인 애플리케이션이다. 애플리케이션 식별 부분(208)은 현재 활성인 애플리케이션을 포함하지 않는 것이 일반적이지만, 대안적으로, 현재 활성인 애플리케이션을 포함할 수 있다.
도면에 도시된 시스템 레벨 검색 UI의 데이터 입력 부분(206) 및 애플리케이션 식별 부분(208)의 위치는 예시이며, 시스템 레벨 검색 UI는 스크린 디스플레이(202) 상의 어디라도 디스플레이될 수 있음을 알아야 한다. 예를 들어, 데이터 입력 부분(206) 및 애플리케이션 식별 부분(208)은 스크린 디스플레이(202)의 상단에, 스크린 디스플레이(202)의 좌측부 또는 우측부를 따라, 스크린 디스플레이(202)의 중앙에, 메뉴 바의 일부로서, 아이콘 바 또는 독의 일부로서, 및 그 밖의 다른 방식으로 디스플레이될 수 있다.
도 3은 하나 이상의 실시예에 따르는 시스템 레벨 검색 사용자 인터페이스를 포함하는 또 다른 예시적 스크린 디스플레이(302)를 도시한다. 스크린 디스플레이(302)는 도 2의 스크린 디스플레이(202)와 유사하다. 그러나 스크린 디스플레이(302)는 애플리케이션 식별 부분(304)을, 도 2의 애플리케이션 식별 부분(208)에 도시된 애플리케이션 명칭 대신 애플리케이션을 나타내는 아이콘 또는 기호를 포함하는 것으로 도시한다. 애플리케이션 식별 부분(208)을 참조하여 앞서 설명된 애플리케이션 명칭의 선택과 유사하게, 이 아이콘 또는 기호는 사용자에 의해 선택될 수 있다.
도 4는 하나 이상의 실시예에 따라 시스템 레벨 검색 사용자 인터페이스를 포함하는 또 다른 예시적 스크린 디스플레이(402)를 도시한다. 스크린 디스플레이(402)는 도 2의 스크린 디스플레이(202)와 유사하다. 그러나 또한 스크린 디스플레이(402)는 "영화 애플리케이션"이라 명명된 현재 활성인 애플리케이션에 대한 윈도(404)를 디스플레이한다. 윈도(404)는 다양한 정보 중 임의의 정보, 가령, 텍스트(윈도(404)에 수평 줄로 디스플레이됨) 및 이미지(윈도(404) 내에 박스로서 디스플레이됨)를 디스플레이할 수 있다.
하나 이상의 실시예에서, 애플리케이션 식별 부분(208)에서 식별된 애플리케이션은 윈도(404) 내에 디스플레이되는 현재 활성인 애플리케이션을 포함하지 않는다. 또는, 애플리케이션 식별 부분(208) 내에 식별된 애플리케이션은 윈도(404) 내에 디스플레이되는 현재 활성인 애플리케이션을 포함할 수 있다.
하나 이상의 실시예에서, 검색 버튼(212)의 사용자 선택에 응답하여, 데이터 입력 부분(206)에 현재 입력되는 검색어(도시된 예에서는 "Ha")가 현재 활성인 애플리케이션으로 전송된다. 사용자가 검색 버튼(212)을 선택한다면, 이에 응답하여 데이터 입력 부분(206)에 현재 입력된 검색어가 윈도(404)에 디스플레이된 애플리케이션으로 전송될 것이다. 사용자가 검색 버튼(212)이 아니라 애플리케이션 식별 부분(208)에 식별된 애플리케이션들 중 하나를 선택한다면, 이에 응답하여, 데이터 입력 부분(206)에 현재 입력된 검색어는 선택된 애플리케이션으로 전송될 것이다.
도 5는 하나 이상의 실시예에 따라, 시스템 레벨 검색 사용자 인터페이스를 포함하는 또 다른 예시적 스크린 디스플레이(502)를 도시한다. 스크린 디스플레이(502)는 "영화 애플리케이션"이라고 명명된 현재 활성인 애플리케이션에 대해 윈도(404)를 디스플레이하는 도 2의 스크린 디스플레이(402)와 유사하다. 그러나 스크린 디스플레이(502)는, 검색어가 현재 활성인 애플리케이션으로 전송된 후의 윈도(404)를 도시한다. 윈도(404)는 검색 결과로서 다양한 정보 중 임의의 정보, 가령, 텍스트(윈도(404) 내 수평 줄로서 디스플레이됨) 및 이미지를 디스플레이할 수 있다.
예시적 스크린 디스플레이(502)에서 도시될 수 있는 바와 같이, 검색 결과가 검색어에 대해 검색하도록 선택된 애플리케이션에 의해 디스플레이된다. 추가로, 데이터 입력 부분(206) 및 애플리케이션 식별 부분(208)은 스크린 디스플레이(502) 상에 디스플레이된 채 유지된다.
도 6은 하나 이상의 실시예에 따라 시스템 레벨 검색 사용자 인터페이스를 포함하는 또 다른 예시적 스크린 디스플레이(602)를 도시한다. 스크린 디스플레이(602)는 "영화 애플리케이션"이라고 명명된 애플리케이션에 대해 윈도(404)를 디스플레이하는 도 2의 스크린 디스플레이(402)와 유사하다. 그러나 또한 스크린 디스플레이(602)는 윈도(404)에 디스플레이된 애플리케이션이 아닌 다른 애플리케이션으로부터 검색 결과를 포함하는 윈도(604)를 도시한다. 윈도(604)는 애플리케이션 식별 부분(208)에 식별된 애플리케이션이 선택된 후 디스플레이된다. 예를 들어, "애플리케이션 3 명칭"이 전자 책(E-북) 리더 애플리케이션을 식별한다고 가정하자. "애플리케이션 3 명칭"의 사용자 선택에 응답하여, 데이터 입력 부분(206)에 현재 입력된 검색어(도시된 예에서 "Ha")가 선택된 애플리케이션으로 전송된다. 선택된 애플리케이션이 (이미 실행 중이 아니라면) 런칭되고, 검색어 "Ha"에 대해 검색하며, 검색 결과로서 윈도(604)에 디스플레이될 정보를 생성한다. 윈도(604)는 검색 결과로서 다양한 정보 중 임의의 정보, 가령, 텍스트(윈도(604)에 수평 줄로서 디스플레이됨) 및 이미지를 디스플레이할 수 있다.
예시적 스크린 디스플레이(602)에서, 윈도(604)에 디스플레이되도록 정보를 생성하는 애플리케이션은 현재 활성인 애플리케이션이다. 이전에 현재 활성인 애플리케이션이었던 애플리케이션에 대한 정보를 디스플레이하는 윈도(404)가 디스플레이된 채 유지된다. 또는, 부분(208)에서의 "애플리케이션 3 명칭"의 사용자 선택에 응답하여, 또는 선택된 애플리케이션의 런칭에 응답하여, 윈도(404)는 닫히거나(가령, 윈도(404)에 정보를 디스플레이하는 애플리케이션이 종료되거나), 자신의 외관을 변경(가령, 더 이상 디스플레이되지 않게 하거나, 작업줄 또는 툴바 내 아이콘으로 축소)할 수 있다.
도 7은 하나 이상의 실시예에 따라 예시적 시스템 레벨 검색 모듈(700)을 도시하는 블록도이다. 시스템 레벨 검색 모듈(700)은, 예를 들어, 도 1의 시스템 레벨 검색 모듈(118)일 수 있다. 시스템 레벨 검색 모듈(700)은 사용자 인터페이스 모듈(user interface module)(702), 애플리케이션 순위 모듈(application ranking module)(704), 애플리케이션 등록 모듈(application registration module)(706), 및 애플리케이션 등록 저장소(application registration store)(708)를 포함한다.
애플리케이션 등록 모듈(706)은 시스템 레벨 검색 모듈(700)로의 애플리케이션의 등록을 관리하며, 등록된 애플리케이션이 시스템 레벨 검색 UI의 애플리케이션 식별 부분에 디스플레이되도록 한다. 이 등록은 또한 등록된 애플리케이션이 시스템 레벨 검색 UI를 이용할 수 있게 하는 것으로 일컬어진다. 등록된 애플리케이션에 대한 정보는 애플리케이션 등록 저장소(708)에 유지된다. 애플리케이션 순위 모듈(704)은 등록된 애플리케이션에 대한 순위를 결정하고, 등록된 애플리케이션은 그들의 순위에 따라 시스템 레벨 검색 UI의 애플리케이션 식별 부분에서 디스플레이된다. 사용자 인터페이스 모듈(702)은 시스템 레벨 검색 UI로서 디스플레이될 정보를 생성하고, 상기 정보를 상기 시스템 레벨 검색 모듈(700)이 위치하는 컴퓨팅 장치의 디스플레이 모듈(가령, 도 1의 디스플레이 모듈(116))로 제공한다. UI 모듈(702)은 또한, 사용자가 선택한 애플리케이션을 런칭하며, 검색어를 애플리케이션으로 통신하고, 시스템 레벨 검색 UI의 일부로서 디스플레이될 애플리케이션으로부터 정보를 수신하여, 애플리케이션(가령, 도 1의 애플리케이션(112))과 상호대화한다.
시스템 레벨 검색 UI의 애플리케이션 식별 부분에 디스플레이되도록, 애플리케이션은 시스템 레벨 검색 모듈(700)에 등록된다. 애플리케이션 등록 모듈(706)은, 애플리케이션과 통신하고 적절한 등록 정보를 애플리케이션 등록 저장소(708)에 저장하여, 시스템 레벨 검색 모듈(700)에 대한 등록 프로세스를 관리한다. 한 애플리케이션이 여러 다른 때에 시스템 레벨 검색 모듈(700)에 등록될 수 있는데, 가령, 애플리케이션이 시스템 레벨 검색 모듈(700)과 동일한 컴퓨팅 장치에 설치될 때, 시스템 레벨 검색 모듈(707)과 동일한 컴퓨팅 장치 상에 애플리케이션의 업그레이드가 설치될 때, 시스템 레벨 검색 모듈(700)로 등록하라는 사용자로부터의 요청에 응답할 때, 시스템 레벨 검색 모듈(700)에 등록하라는 또 다른 모듈 또는 장치로부터의 요청에 응답할 때, 등등이 있다.
추가로, 애플리케이션 스스로, 자신을 시스템 레벨 검색 모듈(700)에 등록하라는 등록 프로세스를 수행하거나, 또는 또 다른 애플리케이션 또는 모듈이 애플리케이션을 시스템 레벨 검색 모듈(700)에 등록하기 위한 등록 프로세스를 수행할 수 있다. 예를 들어, 인스톨러 애플리케이션 또는 모듈은, 애플리케이션을 시스템 레벨 검색 모듈(700)을 포함하는 컴퓨팅 장치에 설치할 때, 애플리케이션을 시스템 레벨 검색 모듈(700)로 등록하기 위한 등록 프로세스를 수행할 수 있다.
등록 프로세스의 일부로서, 등록되는 애플리케이션에 대한 등록 정보가 애플리케이션 등록 모듈(706)로 제공된다. 다양한 등록 정보가 애플리케이션 등록 모듈(706)로 제공될 수 있다. 하나 이상의 실시예에서, 등록 정보는 등록 중인 애플리케이션이 UI 모듈(702)에 의해 런칭되는 방식과 제공될 검색어가 애플리케이션으로 제공될 방식에 대한 지시를 포함한다. 애플리케이션이 UI 모듈(702)에 의해 런칭될 방식에 대한 이 지시는 애플리케이션별로 다를 수 있으며, 예를 들어, 실행될 실행 가능한 파일(executable file)의 지시, 파일의 실행을 시작할 때 사용되거나 실행 후 애플리케이션으로 전달될 하나 이상의 파라미터의 지시, 애플리케이션에게 하나 이상의 파라미터를 전달하기 위해 호출(invoke)될 애플리케이션의 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)의 지시, 등을 포함할 수 있다. 마찬가지로, 모듈(702)에 의해 검색어가 애플리케이션으로 제공될 방식에 대한 지시는 애플리케이션별로 다를 수 있으며, 예를 들어, 애플리케이션을 실행하기 시작할 때 검색어가 애플리케이션으로 제공될 방식에 대한 지시, 애플리케이션에 검색어(그리고 선택사항으로서 그 밖의 다른 맥락 정보)를 전달하기 위해 호출될 애플리케이션의 하나 이상의 API의 지시, 등을 포함할 수 있다.
다양한 그 밖의 다른 정보가 등록 정보에 포함될 수 있다. 예를 들어, 등록 정보는 애플리케이션을 설명하는 메타데이터, 가령, 애플리케이션이 분류되는 특정 애플리케이션 카테고리(가령, 게임, 음악, 영화, 출판물, 쇼핑, 생산성, 소셜 네트워킹, 등), 애플리케이션이 서비스하는 특정 유형의 콘텐츠(가령, 영화, 전자 책, 게임, 음악, 등), 애플리케이션에 의해 사용되는 웹 도메인(가령, 네트워크를 통해 액세스되는 장치 또는 서비스의 웹 도메인) 등을 포함할 수 있다. 또 다른 예를 들면, 등록 정보는 시스템 레벨 검색 UI의 애플리케이션 식별 부분에서 애플리케이션이 식별될 방식을 나타내는 정보(가령, 사용될 하나 이상의 아이콘, 사용될 하나 이상의 명칭, 사용될 하나 이상의 색상 또는 폰트, 디스플레이될 하나 이상의 애니메이션, 등)를 포함할 수 있다. 또 다른 예를 들면, 등록 정보는 애플리케이션의 요건을 기술하는 정보(가령, 애플리케이션이 인터넷에 의존하는지 또는 또 다른 장치나 서비스로의 그 밖의 다른 네트워크 액세스에 의존하는지에 대한 정보)를 포함할 수 있다.
등록 정보는 등록된 애플리케이션에 의해 제공되거나, 대안적으로, 또 다른 장치, 구성요소, 또는 모듈에 의해 제공될 수 있음을 알아야 한다. 예를 들어, 등록 정보의 적어도 일부는 애플리케이션의 판매상 또는 제조사에 의해 제공될 수 있다. 또 다른 예를 들면, 애플리케이션은 등록 정보를 포함하는 연관된 적하목록(manifest) 또는 그 밖의 다른 메타데이터를 가질 수 있고, 애플리케이션을 설치하는 인스톨러 애플리케이션 또는 모듈이 상기 애플리케이션을 대신하여 등록 정보를 제공할 수 있다.
애플리케이션 등록 모듈(706)은 애플리케이션에 대한 등록 프로세스의 일부로서 수신된 등록 정보를 애플리케이션 등록 저장소(708)에 저장한다. 가령, 등록 정보를 대응하는 애플리케이션 식별자와 함께 저장함으로써, 등록 정보는 애플리케이션과 연관되어 또는 애플리케이션에 대응하여 저장된다. 애플리케이션 식별자는 다양한 형태를 취할 수 있는데, 가령, 애플리케이션 명칭 및 제조사의 조합, 애플리케이션 제조사에 의해 또는 시스템 레벨 검색 모듈(700)에 의해 애플리케이션에 할당된 식별자, 등의 형태를 취할 수 있다. 애플리케이션 등록 저장소(708)는 서로 다른 애플리케이션을 위한 데이터베이스, 리스트, 또는 그 밖의 다른 데이터 구조일 수 있다. 그 후 시스템 레벨 검색 UI의 애플리케이션 식별 부분의 부분으로서 디스플레이될 애플리케이션을 식별하도록 애플리케이션 등록 저장소(708)는 사용자 인터페이스 모듈(702)에 의해 액세스될 수 있다.
애플리케이션 순위 모듈(704)은 애플리케이션 등록 저장소(708)에 등록된 각각의 애플리케이션으로 순위를 할당한다. 이 순위는 애플리케이션이 시스템 레벨 검색 UI의 애플리케이션 식별 부분에 디스플레이되는 순서를 결정하기 위해 사용된다. 덧붙여, 시스템 레벨 검색 UI에 디스플레이될 수 있는 것보다 더 많은 애플리케이션이 시스템 레벨 검색 모듈(700)에 등록된 상황이 발생할 수 있다. 이러한 상황에서, 순위는 어느 애플리케이션이 시스템 레벨 검색 UI에 의해 디스플레이될지를 결정하기 위해 사용된다. 또는, 애플리케이션이 디스플레이되는 순서 및/또는 어느 애플리케이션이 디스플레이될지는 여러 다른 방식으로, 가령, 애플리케이션 명칭의 알파벳순으로, 랜덤하게, 그 밖의 다른 규칙 또는 기준에 따라, 및 그 밖의 다른 방식으로 결정될 수 있다.
애플리케이션 순위 모듈(704)은 애플리케이션에 순위를 매길 때 다양한 서로 다른 기준, 가령, 애플리케이션을 설명하는 (애플리케이션의 등록 정보에 포함된) 메타데이터 및 애플리케이션에 대한 사용성 데이터(usage data)를 이용할 수 있다. 애플리케이션 순위 모듈(704)은 서로 다른 이벤트, 가령, 시스템 레벨 검색 UI가 활성화됨, (가령 도 2의 메뉴 아이콘(210)을 선택함으로써) 시스템 레벨 검색 UI의 애플리케이션 식별 부분을 디스플레이하기 위한 사용자 요청, 사용자에 의해 검색어가 입력됨, 등에 응답하여 순위를 결정할 수 있다. 또는 애플리케이션 순위 모듈(704)은 애플리케이션의 순위를 사전-결정하고, 시스템 레벨 검색 UI의 애플리케이션 식별 부분이 디스플레이될 때, 사전 결정된 순위를 이용할 수 있다. 사전-결정된 순위는 규칙적으로 또는 불규칙적인 간격으로(대략, 1일마다 또는 1주마다, 새로운 애플리케이션이 애플리케이션 등록 모듈(706)에 등록될 때, 등) 생성될 수 있다. 이들 사전-결정된 순위는 애플리케이션 등록 저장소(708)에 유지되거나(가령, 애플리케이션 순위는 등록 정보와 함께 저장될 수 있음), 또는 그 밖의 다른 곳에 저장될 수 있다.
애플리케이션 순위 모듈(704)에 의해 결정된 순위는 특정 점수(가령, 1 내지 100의 값)이거나, 또는 특정 애플리케이션이 그 밖의 다른 애플리케이션보다 높은 순위인지 낮은 순위인지에 대한 결정이 쉽게 이뤄질 수 있도록, 최고 순위부터 최저 순위까지의 애플리케이션들의 순서일 수 있다. 일반적으로는 낮은 점수 또는 낮은 순위를 갖는 애플리케이션이 높은 점수 또는 높은 순위를 갖는 애플리케이션보다 사용자에 의해 입력된 검색어와 더 관련성이 있다고 추정될 수 있지만, 높은 점수 또는 높은 순위를 갖는 애플리케이션은 낮은 점수 또는 낮은 순위를 갖는 애플리케이션보다 사용자에 의해 입력된 검색어와 더 관련성 있다고 추정된다.
하나 이상의 실시예에서, 특정 애플리케이션에 대한 순위를 결정하기 위해, 순위 모듈(704)은 특정 애플리케이션의 특성을 식별한다. 특정 애플리케이션의 다양한 특성이 특정 애플리케이션에 대한 순위를 결정하기 위해 사용될 수 있다. 복수의 특성이 특정 애플리케이션에 대한 순위를 결정하기 위해 사용될 수 있거나, 대안적으로, 단일 특성이 특정 애플리케이션에 대한 순위를 결정하는 데 사용될 수 있다. 특정 관련성 점수(relevance score)가 순위를 결정하는 데 사용되는 이들 특성 각각에 대해 생성되며, 이들 관련성 점수는 하나 이상의 순위 알고리즘으로 입력된다. 하나 이상의 순위 알고리즘은 (가령, 점수들을 더함으로써, 관련성 점수 각각에 가중치를 할당하고 가중된 관련성 점수를 더함으로써, 등) 입력된 관련성 점수를 조합하여, 애플리케이션에 대한 순위를 생성한다. 애플리케이션에 대한 관련성 점수의 조합은 애플리케이션에 대한 순위일 수 있다. 또는, 모든 등록된 애플리케이션에 대한 조합된 관련성 점수가 생성될 수 있고, 등록된 애플리케이션이 그들의 조합된 관련성 점수를 기초로 (가령, 최고 조합된 관련성 점수에서 최저 조합된 관련성 점수) 순서화될 수 있으며, 이러한 순서화는 애플리케이션의 순위일 수 있다.
애플리케이션에 대한 순위를 결정하기 위해 사용될 수 있는 한 가지 특성은 애플리케이션을 설명하는 메타데이터이다. 애플리케이션을 설명하는 메타데이터는 앞서 언급된 바와 같이 애플리케이션에 대한 등록 정보로서 제공된다. 애플리케이션 순위 모듈(704)은 현재 활성인 애플리케이션의 애플리케이션 카테고리를 식별한다(가령, 현재 활성인 애플리케이션의 식별자는 운영 체제로부터 획득될 수 있고, 상기 애플리케이션에 대한 등록 정보를 결정하기 위해 애플리케이션 등록 저장소(708)에서 룩업(lookup)으로서 사용될 수 있다). 애플리케이션이 현재 활성인 애플리케이션과 동일한 카테고리에 있는 경우, 애플리케이션에 더 높은 관련성점수(가령, 1의 값)가 할당되고, 애플리케이션이 현재 활성인 애플리케이션과 동일한 카테고리에 있지 않은 경우, 애플리케이션에 더 낮은 관련성(가령, 0의 값)이 할당된다.
애플리케이션에 대한 순위를 결정하기 위해 사용될 수 있는 또 다른 특성은 애플리케이션에 대한 사용성 데이터이다. 애플리케이션의 사용성에 관한 정보는 시스템 레벨 검색 모듈(700)에 의해 모니터되고 유지될 수 있다. 사용자가 시스템 레벨 검색 모듈(700)을 이용해 검색될 애플리케이션과 검색어를 선택할 때, 어느 애플리케이션이 검색되도록 선택되는지에 대한 정보 및 검색을 위해 입력된 검색어는 쉽게 식별될 수 있고, 이러한 것의 기록은 시스템 레벨 검색 모듈(700)에 의해 유지된다. 애플리케이션의 사용성에 관한 정보는, 예를 들어, 애플리케이션이 시스템 레벨 검색 UI를 통해 검색될 애플리케이션으로서 얼마나 자주 선택되는지, 애플리케이션이 시스템 레벨 검색 UI를 통해 검색될 애플리케이션으로 얼마나 최근에 선택되었는지, 애플리케이션이 시스템 레벨 검색 UI를 통해 현재 검색어에 대해 검색될 애플리케이션으로 얼마나 자주 선택되는지, 애플리케이션이 시스템 레벨 검색 UI를 통해 현재 검색어에 대해 검색될 애플리케이션으로 얼마나 최근에 선택되었는지, 등일 수 있다. 덧붙여, 애플리케이션이 시스템 레벨 검색 UI와 별도로 검색될 수 있는 검색 사용자 인터페이스를 지원하는 경우, 이들 애플리케이션은 사용성 데이터를 모니터하고 이러한 사용성 데이터를 애플리케이션 순위 모듈(704)로도 제공할 수 있다.
사용성 정보는 애플리케이션에 대한 관련성 점수인 숫자 값을 생성하는 데 사용될 수 있다. 예를 들어, 애플리케이션이 시스템 레벨 검색 UI를 통해 검색될 애플리케이션으로 선택되는 빈도에 대한 숫자 값은, 상기 애플리케이션이 선택되는 횟수를 (가령, 일부 시간 주기 동안, 가령, 지난 1주일 동안, 지난 1달 동안 등의) 총 애플리케이션 선택의 횟수로 나눔으로써 생성될 수 있다. 또 다른 예를 들면, 애플리케이션이 시스템 레벨 검색 UI를 통해 현재 검색어에 대해 검색될 애플리케이션으로 얼마나 최근에 선택되었는지에 대한 숫자 값은 애플리케이션이 시스템 레벨 검색 UI를 통해 현재 검색어에 대해 검색될 애플리케이션으로 마지막으로 선택된지 얼마나 지났는지(가령, 수 분, 수 시간, 수 일, 등)를 식별함으로써, 생성될 수 있다.
애플리케이션에 대한 순위를 결정하기 위해 사용될 수 있는 또 다른 특성은 애플리케이션에 대한 웹 도메인이다. 애플리케이션의 웹 도메인은 앞서 언급된 바와 같이 애플리케이션에 대한 등록 정보로서 제공된다. 애플리케이션 순위 모듈(704)은 사용자에 의해 입력된 현재 검색어를 인터넷 검색 엔진으로 전달(forward)하고, 인터넷 검색 엔진에 의해 반환되는 결과를 분석하며, 인터넷 검색 엔진에 의해 반환된 결과에서 웹 도메인이 나타나는 곳을 기초로 애플리케이션에 관련성 점수를 할당할 수 있다. 애플리케이션의 웹 도메인을 기초로 하는 애플리케이션에 대한 관련성 점수인 숫자 값은, 예를 들어, 웹 도메인이 인터넷 검색 엔진에 의해 반환되는 결과에서 얼마나 높거나 이른지를 식별함으로써, 생성될 수 있다. 예를 들어, 인터넷 검색 엔진에 의해 반환되는 결과가 애플리케이션의 웹 도메인을 첫 번째 결과로서 나열한 경우, 상기 애플리케이션에 대한 관련성 점수는 1(또는 대안적으로, 특정 값 빼기 1)이다. 또 다른 예를 들면, 인터넷 검색 엔진에 의해 반환된 결과가 상위 또는 첫 번째 검색 결과로부터 다섯 번째 결과로서 애플리케이션의 웹 도메인을 나열한 경우, 상기 애플리케이션에 대한 관련성 점수는 5(또는 대안적으로 특정 값 빼기 5)이다. 또는, 인터넷 검색 엔진에 의해 반환된 결과가 웹 도메인을 포함하는 어떠한 결과도 이용 가능하지 않음을 나타내는 경우, 상기 애플리케이션은 시스템 레벨 검색 UI의 애플리케이션 식별 부분에 디스플레이되는 애플리케이션들로부터 배제될 수 있다. 예를 들어, 애플리케이션 순위 모듈(704)은 사용자 인터페이스 모듈(702)에게 상기 애플리케이션이 배제될 것이라고 가리킬 수 있고, 이에 응답하여, 사용자 인터페이스 모듈(702)은 시스템 레벨 검색 UI의 애플리케이션 식별 부분에 상기 애플리케이션의 식별자를 포함하지 않는다. 또는 애플리케이션 순위 모듈(704)이 애플리케이션의 웹 도메인을 웹 서비스로 전달하고, 상기 웹 서비스는 애플리케이션에 대한 관련성 점수를 반환한다. 웹 서비스가 관련성 점수를 결정하는 방식은 다양할 수 있으며, 웹 서비스에 의해 결정된다.
대안적 실시예에서, 애플리케이션 순위 모듈(704)은 사용자에 의해 특정된 (그리고 사용자에 의해 다양한 방식으로 입력될 수 있는) 애플리케이션에 대한 순위를 유지한다. 따라서 사용자는 자신이 원하는 대로 애플리케이션에 대한 순위를 맞춤구성(customize)할 수 있다. 애플리케이션 순위 모듈(704)은 애플리케이션에 대한 순위를 결정하기 위한 그 밖의 다른 임의의 기준을 사용할 필요가 없고, 사용자-특정 순위(user-specified ranking)만 애플리케이션 순위 모듈(704)에 의해 생성 또는 결정된 순위로서 사용할 수 있다. 이러한 애플리케이션에 대한 사용자-특정 순위는 등록된 정보에 관한 그 밖의 다른 정보와 함께 애플리케이션 등록 저장소(708)에 유지되거나, 대안적으로 그 밖의 다른 곳에 유지될 수 있다.
사용자 인터페이스 모듈(702)은 애플리케이션 등록 저장소(708) 내 정보와 애플리케이션 순위 모듈(704)에 의해 생성되는 순위를 이용해 시스템 레벨 검색 UI의 애플리케이션 식별 부분에 포함될 애플리케이션 및/또는 상기 시스템 레벨 검색 UI의 애플리케이션 식별 부분에 포함된 애플리케이션의 순서화를 결정한다. 하나 이상의 실시예에서, 시스템 레벨 검색 UI의 애플리케이션 식별 부분은 임계 개수 이하의 애플리케이션을 디스플레이할 수 있다. 임계 개수 이하의 애플리케이션이 시스템 레벨 검색 모듈(700)에 등록된 경우, 사용자 인터페이스 모듈(702)은 시스템 레벨 검색 모듈(700)에 등록되며 최고 순위(또는 최저 순위)를 갖는 임계 개수의 애플리케이션을 선택한다. 예를 들어, 시스템 레벨 검색 UI의 애플리케이션 식별 부분이 단 5개의 애플리케이션 식별자를 디스플레이할 수 있는 경우, 사용자 인터페이스 모듈(702)은 상위 5순위의 애플리케이션(가령, 상위 5개의 가장 큰 조합된 관련성 점수를 갖는 애플리케이션, 자신의 조합된 관련성 점수를 기초로 애플리케이션의 순서화의 시작 부분 또는 종료 부분에 있는 5개의 애플리케이션, 등)을 선택하고, 이들 5개의 상위 애플리케이션의 식별자를 시스템 레벨 검색 UI의 애플리케이션 식별 부분에 포함한다. 선택사항으로서 애플리케이션의 임계 개수는 사용자 또는 시스템 레벨 검색 모듈(700)의 관리자에 의해 구성될 수 있다.
또한 사용자 인터페이스 모듈(702)은 애플리케이션 등록 저장소(708) 내 정보를 이용하여, 시스템 레벨 검색 UI의 애플리케이션 식별 부분에 포함될 애플리케이션을 결정한다. 하나 이상의 실시예에서, 애플리케이션에 의해 제공되는 등록 정보는 앞서 언급된 애플리케이션의 요건을 포함한다. 사용자 인터페이스 모듈(702)은 이들 요건이 만족스러운지 여부를 체크하고, 요건이 만족되지 않은 경우, 시스템 레벨 검색 UI의 애플리케이션 식별 부분에 애플리케이션을 포함하지 않는다.
사용자 인터페이스 모듈(702)이 애플리케이션의 요건이 만족되는지 여부를 결정하는 방식은 특정 요건에 따라 달라진다. 예를 들어, 등록 정보가 (예를 들어, 원격 컴퓨팅 장치, 가령, 도 1의 컴퓨팅 장치(104) 상의 데이터 저장소를 액세스하기 위해) 인터넷 연결이 요구된다고 가리킬 수 있다. 사용자 인터페이스 모듈(702)은 컴퓨팅 장치가 현재 인터넷 연결을 갖는지 여부를 결정하기 위해 구성요소 또는 모듈(가령, 시스템 레벨 검색 모듈(700)과 동일한 컴퓨팅 장치 상의 운영 체제의 구성요소 또는 모듈)에게 질의한다. 컴퓨팅 장치가 현재 인터넷 연결을 갖는다면, 요건은 만족되고, 상기 애플리케이션은 시스템 레벨 검색 UI의 애플리케이션 식별 부분에 포함될 수 있다. 그러나 컴퓨팅 장치가 현재 인터넷 연결을 갖지 않는 경우, 요건은 만족되지 않고 애플리케이션은 시스템 레벨 검색 UI의 애플리케이션 식별 부분에 포함되지 않는다. 또는, 컴퓨팅 장치가 현재 인터넷 연결을 갖지 않는 경우, 애플리케이션은 애플리케이션 식별 부분에 디스플레이될 수 있지만, 다른 외관(가령, 애플리케이션이 검색어에 대해 검색될 수 없음을 나타내도록 어두워진 외관) 또는 텍스트, 아이콘, 또는 상기 애플리케이션이 검색어에 대해 검색될 수 없다는 그 밖의 다른 일부 지시를 갖고 디스플레이될 수 있다.
추가로, 하나 이상의 실시예에서, 사용자 인터페이스 모듈(702)은 순위를 기초로 시스템 레벨 검색 UI의 애플리케이션 식별 부분에 포함된 애플리케이션들의 순서화를 결정한다. 애플리케이션 식별자는 애플리케이션의 순위에 따라는 순서로 시스템 레벨 검색 UI의 애플리케이션 식별 부분에 디스플레이된다. 애플리케이션 식별자가 그들의 순위에 따라 디스플레이되는 방식은 구현예별로 다를 수 있다. 예를 들어, 애플리케이션 식별자는 최고 순위에서 최저 순위의 순서로 시스템 레벨 검색 UI의 애플리케이션 식별 부분의 상단에서 하단으로 디스플레이될 수 있다. 가령, 도 2를 참조하면, "애플리케이션 1 명칭"으로 식별되는 애플리케이션은 "애플리케이션 3 명칭"에 의해 식별되는 애플리케이션보다 높은 순위를 가질 것이다. 예를 들어, 애플리케이션 식별자는 최고 순위에서 최저 순위의 순서로 시스템 레벨 검색 UI의 애플리케이션 식별 부분에서 좌측에서 우측으로 디스플레이될 수 있다. 가령, 도 3을 참조하면, 편지봉투에 의해 식별되는 애플리케이션은 커피 잔에 의해 식별되는 애플리케이션보다 높은 순위를 가질 것이며, 글자 "M"에 의해 식별되는 애플리케이션보다 낮은 순위를 가질 것이다.
사용자 인터페이스 모듈(702)은 순위를 기초로 애플리케이션 식별자에 대해 그 밖의 다른 다양한 수정을 가할 수 있다. 예를 들어, 높은 순위의 애플리케이션(가령, 하나 이상의 최고 순위 애플리케이션, 임계 값보다 높은 순위를 갖는 애플리케이션, 등)에 대한 애플리케이션 식별자가 서로 다른 폰트로, 서로 다른 색상으로, 애니메이션을 이용해, 더 큰 크기로, 및 그 밖의 다른 방식으로 디스플레이될 수 있다. 또 다른 예를 들면, 애플리케이션 식별자들은 서로 다른 크기로 디스플레이될 수 있으며, 이때, 높은 순위의 애플리케이션의 애플리케이션 식별자는 낮은 순위의 애플리케이션의 애플리케이션 식별자보다 더 큰 아이콘, 기호, 폰트 크기이다.
따라서 사용자 인터페이스 모듈(702)은 애플리케이션의 순위를 기초로 시스템 레벨 검색 UI의 애플리케이션 식별 부분에 애플리케이션 식별자들을 디스플레이한다. 사용자 인터페이스 모듈(702)에 의해 디스플레이되는 애플리케이션 식별자는 (애플리케이션에 대한 등록 프로세스 동안 제공된 것으로서) 애플리케이션 등록 저장소(708)로부터 획득된다. 사용자가 특정 애플리케이션 식별자를 선택할 때, 사용자 인터페이스 모듈(702)은 애플리케이션 등록 저장소(708)를 액세스하여 애플리케이션을 런칭할 방법을 식별한다. 사용자 인터페이스 모듈(702)은 이 정보를 애플리케이션 등록 저장소(708)로부터 검색(retrieve)하고 상기 정보를 운영 체제로 제공하며, 그 후 상기 운영 체제는 선택된 애플리케이션을 런칭한다. 덧붙이자면, 사용자 인터페이스 모듈(702)은 사용자에 의해 시스템 레벨 검색 UI의 데이터 입력 부분에 입력된 검색어를 선택된 애플리케이션으로 제공한다. 그 후 선택된 애플리케이션은 검색어에 대해 검색하고, 적절한 결과를 디스플레이한다. 검색어는 선택된 애플리케이션에 의해 이전에 제공된 등록 정보 내 선택된 애플리케이션에 의해 지시되는 방식으로 상기 선택된 애플리케이션으로 제공된다.
사용자 인터페이스 모듈(702)은 또한 다양한 추가 맥락 정보(context information)를 검색을 수행 중인 (선택된 애플리케이션 또는 앞서 언급된 바와 같이 현재 활성인 애플리케이션일 수 있는) 애플리케이션으로 제공할 수 있다. 맥락 정보는 컴퓨팅 장치의 사용자 및/또는 요청 받은 검색에 관한 정보를 지칭한다(검색어 자체는 검색을 위한 맥락 정보라고 지칭될 수 있다). 맥락 정보는, 예를 들어, 컴퓨팅 장치의 사용자의 식별자(가령, 운영 체제의 또 다른 구성요소 또는 모듈로부터 획득된 것), 사용자가 컴퓨팅 장치로 로그인했다는 지시(가령, 애플리케이션 자체가 사용자를 식별할 수 있게 해주는 것), 현재 활성인 애플리케이션의 지시, 현재 활성인 애플리케이션의 카테고리의 지시, 사용자가 검색어에 대해 검색하도록 이전에 선택했던 하나 이상의 애플리케이션의 지시, 사용자가 검색어에 대해 검색하도록 이전에 선택했던 하나 이상의 애플리케이션 각각의 카테고리의 지시, 등을 포함할 수 있다.
검색을 위한 맥락 정보를 수신하는 애플리케이션은 애플리케이션이 원하는 임의의 방식으로 맥락을 사용할 수 있고, 모든 맥락 정보 또는 맥락 정보 중 단 일부만 사용할 수 있다. 예를 들어, 애플리케이션은 검색 결과를 생성하기 위해 검색어를 이용할 수 있지만, 그 밖의 다른 임의의 검색을 위한 맥락 정보는 무시할 수 있다. 또 다른 예를 들면, 애플리케이션은 검색 결과를 생성하기 위해 검색어를 이용할 수 있고, 사용자가 상기 검색어에 대해 검색하도록 이전에 선택했던 애플리케이션의 카테고리도, 동일한 카테고리의 데이터(가령, 사용자에 의해 이전에 검색된 애플리케이션의 카테고리가 영화인 경우 영화 파일)를 포함하는 검색 결과를 생성하기 위해 사용할 수 있다.
도 8은 하나 이상의 실시예에 따라, 애플리케이션을 시스템 레벨 검색 모듈에 등록하기 위한 예시적 등록 프로세스(800)를 도시하는 순서도이다. 프로세스(800)는 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 도 8의 좌측부에 도시된 프로세스(800)의 동작은 시스템 레벨 검색 모듈, 가령, 도 7의 시스템 레벨 검색 모듈(700)에 의해서 수행된다. 도 8의 우측부에 도시된 프로세스(800)의 동작은 도 1의 애플리케이션(112) 같은 애플리케이션에 의해, 및/또는 애플리케이션을 대신하여 수행된다. 우측부에 도시된 프로세스(800)의 동작은 애플리케이션 자체에 의해서, 또는 상기 애플리케이션을 대신하는 또 다른 구성요소 또는 모듈(가령, 애플리케이션 인스톨러, 애플리케이션의 판매상 또는 제조사, 등)에 의해서 수행될 수 있다. 프로세스(800)는 동작들의 집합으로 도시되지만, 다양한 동작들을 수행할 때 나타나는 순서에 한정되지 않는다. 프로세스(800)는 애플리케이션을 시스템 레벨 검색 모듈에 등록하기 위한 예시적 프로세스이고, 애플리케이션을 시스템 레벨 검색 모듈에 등록하기 위한 추가적인 설명이 여러 다른 도면을 참조해 본원에 포함된다.
프로세스(800)에서, 애플리케이션에 대한 시스템 레벨 검색 UI 등록 정보가 식별된다(동작(802)). 시스템 레벨 검색 UI 등록 정보는 애플리케이션이 시스템 레벨 검색 모듈에 의해 런칭될 방식에 대한 지시를 포함한다. 또한 다양한 추가 정보가 앞서 언급된 바와 같이 시스템 레벨 검색 UI 등록 정보라고 식별될 수 있다.
식별된 시스템 레벨 검색 UI 등록 정보는 시스템 레벨 검색 모듈로 통신된다(동작(804)). 이 등록 정보는 앞서 언급된 바와 같이 시스템 레벨 검색 모듈의 애플리케이션 등록 모듈로 통신될 수 있다.
시스템 레벨 검색 모듈은 애플리케이션으로부터 시스템 레벨 검색 UI 등록 정보를 수신하고(동작(806)), 수신된 시스템 레벨 검색 UI 등록 정보를 등록 저장소로 추가한다(동작(808)).
애플리케이션은 시스템 레벨 검색 UI를 이용해 검색되도록 선택될 수 있는 애플리케이션으로서 포함된다(동작(810)). (애플리케이션에 의해 제공되는 시스템 레벨 검색 UI 등록 정보에 포함될 수 있는) 애플리케이션의 식별자는 사용자에게 디스플레이될 수 있어서, 앞서 언급된 바와 같이 사용자가 하나 이상의 검색어에 대해 검색할 애플리케이션을 선택하도록 한다.
도 7을 참조하면, 앞서 언급된 바와 같이 사용자 인터페이스 모듈(702)은 시스템 레벨 검색 UI로서 디스플레이될 정보를 생성하고, 애플리케이션과 상호대화하며, 이는 사용자-선택 애플리케이션을 런칭하는 것을 포함할 수 있다. 또한 사용자 인터페이스 모듈(702)은, 현재 활성인 애플리케이션과 정보를 주고 받으면서, 상기 현재 활성인 애플리케이션과 추가로 상호대화할 수 있다. 현재 활성인 애플리케이션은 전경(foreground)에서 현재 실행 중이며 앞서 언급된 바와 같이 사용자와 상호대화할 수 있는 애플리케이션(가령, 도 1의 애플리케이션(112) 중 하나)을 지칭한다. 현재 활성인 애플리케이션에 대한 지시는 운영 체제의 모듈에 의해 유지되고, 상기 지시는 상기 운영 체제의 이 모듈로부터 사용자 인터페이스 모듈(702)에 의해 획득될 수 있다.
현재 활성인 애플리케이션은 사용자 입력 및/또는 컴퓨팅 장치 상에서 실행되는 또 다른 애플리케이션 똔느 모듈로부터의 요청에 응답하여 시간의 흐름에 따라 변할 수 있다. 예를 들어, 사용자는 시스템 레벨 검색 UI의 애플리케이션 식별 부분으로부터 애플리케이션 식별자를 선택할 수 있고, 이에 응답하여, 선택된 애플리케이션 식별자에 대응하는 애플리케이션이 현재 활성인 애플리케이션이 된다. 예를 들어, 시스템 레벨 검색 UI와 별도로, 사용자가 애플리케이션을 런칭하도록 선택하거나 상호대화할 애플리케이션을 선택할 수 있고, 이에 응답하여, 선택된 애플리케이션이 현재 활성인 애플리케이션이 된다.
하나 이상의 실시예에서, 사용자 인터페이스 모듈(702)은 수신된 사용자 입력을 현재 활성인 애플리케이션으로 제공한다. 사용자에 의해 입력된 문자 또는 그 밖의 다른 기호 각각은, 문자 또는 기호가 입력되는 것에 응답하여 현재 활성인 애플리케이션으로 제공된다. 사용자 입력에 응답하여, 현재 활성인 애플리케이션은 상기 입력을 기초로 0개 또는 그 이상의 제시 검색어(suggested search term)를 생성할 수 있다. 현재 활성인 애플리케이션은 0개 또는 그 이상의 제시 검색어를 다양한 방식으로, 가령, 사용자에 의해 입력된 이전 데이터를 기초로, 애플리케이션에 의해 유지되는 검색 가능한 데이터 또는 사전을 기초로, 및 그 밖의 다른 방식으로 생성할 수 있다. 0개 또는 그 이상의 제시 검색어는 사용자 인터페이스 모듈(702)로 반환되고, 상기 사용자 인터페이스 모듈(702)은 시스템 레벨 검색 UI의 일부로서 제시 검색어를 디스플레이한다. 제시 검색어는 서로 다른 위치에서, 가령, 시스템 레벨 검색 UI의 데이터 입력 부분에 인접한 메뉴 아이템의 목록으로, 디스플레이될 수 있다. 사용자는 제시 검색어들 중 하나를 선택할 수 있고, 이에 응답하여, 사용자 인터페이스 모듈(702)은 제시 검색어를 시스템 레벨 검색 UI의 데이터 입력 부분에 디스플레이한다.
예를 들어, 사용자가 검색어를 입력하고 사용자에 의해 입력된 첫 번째 문자가 글자 "H"인 경우, 사용자 인터페이스 모듈(702)은 현재 활성인 애플리케이션에게, 글자 "H"가 사용자에 의해 입력됐다는 지시를 전송한다. 상기 현재 활성인 애플리케이션은 0개 또는 그 이상의 제시 검색어(가령, Home, House, Hydrogen, Hello, 등)를 생성하고 이들 제시 검색어를 사용자 인터페이스 모듈(702)로 반환한다. 사용자 인터페이스 모듈(702)은 이들 제시 검색어를 시스템 레벨 검색 UI의 일부로서 디스플레이한다. 그 후, 사용자는 이들 제시 검색어 중 하나를 사용자의 원하는 검색어의 적어도 일부로서, (가령, 도 1의 입력 모듈(114)을 통한) 다양한 방식으로, 가령 스타일러스나 손가락으로 제시 검색어를 터치함으로써, 포인터를 제시 검색어 위로 이동시키고 커서 제어 장치(가령, 마우스)의 버튼을 누름으로써, 및 그 밖의 다른 방식으로, 선택할 수 있다. 제시 검색어의 사용자 선택에 응답하여, 사용자 인터페이스 모듈(702)은 선택된 제시 검색어를 시스템 레벨 검색 UI의 데이터 입력 부분에 디스플레이한다.
계속하여 이 예시에서, 사용자가 제시 검색어 중 하나를 선택하지 않고, 대신, 글자 "e"를 입력하여 현재까지 사용자의 입력이 "He"인 경우, 사용자 인터페이스 모듈(702)은 현재 활성인 애플리케이션에게 사용자에 의해 글자 "He"가 입력됐다는 지시를 전송한다. 현재 활성인 애플리케이션은 0 또는 그 이상의 제시 검색어(가령, Help, Hello, Henry, 등)를 생성하고, 이들 제시 검색어를 사용자 인터페이스 모듈(702)로 반환한다. 사용자 인터페이스 모듈(702)은 이들 새로운 제시 검색어를 시스템 레벨 검색 UI의 일부로서 디스플레이한다. 이 프로세스는 사용자가 자신이 입력한 검색어에 대해 검색하기 위한 애플리케이션을 선택할 때까지 계속될 수 있다.
본원에서 제시 검색어가 텍스트 검색어로 설명되지만, 그 밖의 다른 다양한 콘텐츠 및/또는 콘텐츠 유형이 사용자 인터페이스 모듈(702)로 반환될 수 있다. 이러한 그 밖의 다른 콘텐츠 및/또는 콘텐츠 유형은, 반환된 제시 검색어에 추가로, 또는 상기 반환되는 제시 검색어를 대신하여, 사용자 인터페이스 모듈(702)에 의해 디스플레이 또는 그 밖의 다른 방식으로 제공될 수 있다. 예를 들어, 하나 이상의 제시 검색어와 관련된 하나 이상의 이미지가 반환 및 디스플레이될 수 있고, 하나이상의 제시 검색어와 관련된 추가 설명적 텍스트가 반환 및 디스플레이될 수 있고, 하나 이상의 제시 검색어와 관련된 오디오 콘텐츠가 반환 및 재생될 수 있는 등이다.
도 9는 하나 이상의 실시예에 따라 시스템 레벨 검색 사용자 인터페이스를 포함하는 또 다른 예시적 스크린 디스플레이(902)를 도시한다. 스크린 디스플레이(902)는 도 4의 스크린 디스플레이(402)와 유사하다. 그러나 또한 스크린 디스플레이(902)는 복수의 제시 검색어를 제시 목록(904)으로서 디스플레이한다. 도시된 예에서, 사용자는 문자 "Ha"를 입력했고, 현재 활성인 애플리케이션은 Handle, Harry, Hasty, 및 Halibut의 제시 검색어를 제공했다. 제시 목록(904)은 데이터 입력 부분(206) 위에 인접하게 위치하는 것으로 도시된다. 그러나 제시 목록(904)이 (일반적으로 데이터 입력 부분(206), 애플리케이션 식별 부분(208), 검색 버튼(212) 또는 메뉴 아이콘(210)을 덮지 않도록 디스플레이되지만) 스크린 디스플레이(202) 상의 임의의 곳에 디스플레이될 수 있음을 알아야 한다. 예를 들어, 제시 목록(904)은 스크린 디스플레이(902)의 상단에, 스크린 디스플레이(902)의 좌측부 또는 우측부를 따라, 스크린 디스플레이(902)의 중앙에, 데이터 입력 부분(206)에 인접하지 않은 위치에, 및 그 밖의 다른 곳에 디스플레이될 수 있다.
도 7로 다시 돌아와서, 하나 이상의 실시예에서 또한 사용자 인터페이스 모듈(702)은, 애플리케이션 식별 부분에 식별된 하나 이상의 애플리케이션 각각에 대해, 하나 이상의 검색 결과를 디스플레이할 수 있다. 사용자 인터페이스 모듈(702)은 사용자에 의해 입력되고 (가령, 검색 버튼, 가령 도 2-6 및 9의 검색 버튼(212)의 사용자 선택에 응답하여, 또는 애플리케이션 식별 부분 내 또 다른 애플리케이션의 선택에 응답하여) 검색되도록 애플리케이션으로 전송되는 검색어를 애플리케이션 식별 부분에서 식별된 하나 이상의 애플리케이션 각각으로 제공할 수 있고, 이들 하나 이상의 애플리케이션은 각각 검색어를 기초로 한 하나 이상의 검색 결과를 모듈(702)로 반환할 수 있다. 그 후, 사용자 인터페이스 모듈(702)은 이들 하나 이상의 검색 결과를, 검색 결과를 반환한 애플리케이션과 연계된 것으로서(가령, 애플리케이션의 식별자 아래에 인접하에, 애플리케이션의 식별자 위에 인접하게, 애플리케이션을 식별하는 아이콘이나 텍스트와 함께, 및 그 밖의 다른 방식으로), 애플리케이션 식별 부분에 디스플레이할 수 있다. 따라서 사용자는 사용자가 애플리케이션 식별 부분 내 애플리케이션을 선택할 경우 상기 애플리케이션이 반환할 결과의 미리보기를 제공 받을 수 있다.
대안적으로, 사용자 인터페이스 모듈(702)은, 애플리케이션 식별 부분에 식별된 하나 이상의 애플리케이션 각각으로 사용자에 의해 입력되고 검색되기 위해 애플리케이션으로 전송된 검색어를 제공하는 것에 추가로 또는 이를 대신하여, 사용자 입력을 수신된 대로 애플리케이션 식별 부분에 식별된 하나 이상의 애플리케이션 각각으로 제공할 수 있다. 이들 하나 이상의 애플리케이션 각각은 수신된 사용자 입력을 기초로 한 하나 이상의 검색 결과를 반환하고, 각각 검색어를 기초로 한 하나 이상의 검색 결과를 모듈(702)로 반환할 수 있다. 그 후 사용자 인터페이스 모듈(702)은 애플리케이션 식별 부분에 이들 하나 이상의 검색 결과를, 앞서 언급된 바와 같이, 검색 결과를 반환한 애플리케이션과 연계하여 디스플레이할 수 있다.
덧붙여, 하나 이상의 실시예에서, 사용자 인터페이스 모듈(702)은 특정 언어에 대한 언어적 대안(linguistic alternative)을 이용해 제시 검색어를 디스플레이하는 것을 지원한다. 일부 언어, 가령, 동아시아 언어(가령, 일본어, 중국어, 및 한국어)는 키보드의 개별 키에 대응하지 않는 많은 문자로 구성되어 있다. 그 밖의 다른 언어, 가령, 러시아어는 복수의 다른 알파벳(가령, 러시아어의 경우 라틴 또는 키릴 문자)을 이용해 표현될 수 있다. 사용자 인터페이스 모듈(702)은 이러한 언어에 대한 언어적 대안을 이용해 검색어를 디스플레이하는 것을 지원한다.
도 10은 하나 이상의 실시예에 따라 제시 검색어에 대한 언어적 대안을 지원하는 예시적 시스템(1000)을 도시하는 블록도이다. 시스템(1000)은 사용자 인터페이스 모듈(1002), 애플리케이션(1004), 및 언어적 대안 생성 모듈(1006)을 포함한다. 사용자 인터페이스 모듈(1002)은, 예를 들어, 도 7의 사용자 인터페이스 모듈(702)일 수 있다. 애플리케이션(1004)은 예를 들어, 도 1의 애플리케이션(112)일 수 있다.
사용자 인터페이스 모듈(1002)이 사용자 입력을 수신할 때, 상기 모듈(1002)은 사용자 입력을 수신된 대로 언어적 대안 생성 모듈(1006)로 제공한다. 언어적 대안 생성 모듈(1006)은 사용자 입력에 대한 언어적 대안을 다양한 방식으로 식별할 수 있고, 이들 언어적 대안을 사용자 인터페이스 모듈(1002)로 반환한다. 일반적으로 언어적 대안 생성 모듈(1006)은 사용자 입력에 대한 하나 이상의 언어적 대안을 식별하고, 이들 하나 이상의 언어적 대안을 사용자 인터페이스 모듈(1002)로 반환한다. 그러나 일반적으로 언어적 대안 생성 모듈(1006)은 언어적 대안을 반환할 필요는 없다(그러나 대안적으로 언어적 대안을 반환할 수 있다). 따라서 언어적 대안 생성 모듈(1006)이 특정 사용자 입력에 대해 어떠한 언어적 대안도 식별하고 반환하지 않는 상황이 발생할 수 있다.
하나 이상의 실시예에서, 언어적 대안 생성 모듈(1006)은 사용자 입력을 하나의 알파벳에서 또 다른 알파벳으로 번역함으로써, 사용자 입력에 대한 언어적 대안을 식별한다. 예를 들어 러시아어의 경우, 사용자 입력이 라틴 알파벳 문자인 경우 언어적 대안 생성 모듈(1006)은 라틴 알파벳 문자를 키릴 알파벳 문자로 번역한다. 언어적 대안 생성 모듈(1006)은 사용자 입력의 번역어(키릴 알파벳 문자로 된 것)를 하나 이상의 언어적 대안으로서 반환한다.
덧붙이자면, 하나 이상의 실시예에서, 언어적 대안 생성 모듈(1006)은 음성 음절(phonetic syllable)에 의해 표현될 수 있는 하나 이상의 문자를 식별한다. 일부 상황에서, 가령, 동아시아어의 경우, 특정 문자를 입력하기 위해, 사용자는 복수의 라틴 알파벳 문자로서 음성 음절을 입력한다. 예를 들어, 사용자는 복수의 서로 다른 중국어 문자에 대응할 수 있는 라틴 알파벳 문자 "bei"를 이용해 음성 음절을 입력할 수 있다. 언어적 대안 생성 모듈(1006)은 특정 사용자 입력에 대응할 수 있는 0 또는 그 이상의 서로 다른 문자를 식별하고, 이들 식별된 문자를 언어적 대안으로서 사용자 인터페이스 모듈(1002)로 반환한다. 예를 들어, 사용자 입력이 "bei"인 경우, 언어적 대안 생성 모듈(1006)은 "bei"에 의해 표현될 수 있는 서로 다른 중국어 문자를 식별하고 이들 중국어 문자를 언어적 대안으로서 사용자 인터페이스 모듈(1002)로 반환한다. 또 다른 예를 들면, 사용자 입력이 "h"인 경우, 언어적 대안 생성 모듈(1006)은 "h"에 의해 표현될 수 있는 서로 다른 중국어 문자(이 중국어 문자는 "h"로 시작하는 복수의 서로 다른 음성 음절을 포함할 것이다)를 식별하고 이들 중국어 문자를 언어적 대안으로서 사용자 인터페이스 모듈(1002)로 반환한다.
언어적 대안 생성 모듈(1006)은 특정 언어에 대해 구성되거나, 대안적으로 복수의 언어에 대해 구성될 수 있다. 예를 들어, 언어적 대안 생성 모듈(1006)이 대안예를 제공할 언어를 식별하는 구성 설정이 시스템(1000)을 포함하는 컴퓨팅 장치의 사용자에 의해, 애플리케이션(1004)에 의해, 사용자 인터페이스 모듈(1002)에 의해, 및 그 밖의 다른 것에 의해 제공될 수 있다. 또 다른 예를 들면, 각각 서로 다른 언어에 대한 서로 다른 언어적 대안 생성 모듈(1006)(가령, 러시아어에 대한 하나의 모듈(1006), 중국어에 대한 또 다른 모듈(1006), 일본어에 대한 또 다른 모듈(1006) 등)이 시스템(1000)에 포함될 수 있다. 사용자 인터페이스 모듈(1002)은 사용자 입력을, 언어적 대안이 요구되는 언어에 따라(가령, 시스템(1000)을 포함하는 컴퓨팅 장치의 사용자, 애플리케이션(1004), 사용자 인터페이스 모듈(1002) 등에 의해 지시되는 대로) 이들 서로 다른 모듈(1006) 중 하나 이상에게 제공할 수 있다.
사용자 인터페이스 모듈(1002)은 언어적 대안 생성 모듈(1006)로부터 언어적 대안을 수신하고 사용자 입력과 언어적 대안 모두를 애플리케이션(1004)으로 제공한다. 언어적 대안 생성 모듈(1006)로부터 어떠한 언어적 대안도 수신되지 않은 경우, 사용자 인터페이스 모듈(1002)은 사용자 입력만 애플리케이션(1004)으로 제공한다. 그 후 애플리케이션(1004)은 사용자 입력, 또는 언어적 대안예, 또는 사용자 입력과 언어적 대안예 모두를 기초로 0개 또는 그 이상의 제시 검색어를 결정할 수 있다. 애플리케이션(1004) 자체는 제시 검색어의 결정이 기초로 한 사용자 입력과 언어적 대안의 특정 조합을 결정한다. 제시 검색어는 사용자 인터페이스 모듈(1002)로 반환되고, 상기 사용자 인터페이스 모듈(1002)은 제시 검색어를 시스템 레벨 검색 UI의 일부로서 디스플레이한다. 제시 검색어가 언어적 대안을 기초로 할 수 있을 때, 제시 검색어는 다양한 알파벳 및/또는 언어로 될 수 있다. 예를 들어, 제시 검색어는 "bei"로 시작하는 영어 단어뿐 아니라 "bei"에 의해 표현되는 중국어 문자까지 포함할 수 있다.
도 7을 다시 참조하면, 제시 검색어를 제공하는 것에 추가로, 또는 제시 검색어를 제공하는 것 대신, 현재 활성인 애플리케이션은, 문자 또는 그 밖의 다른 기호가 사용자에 의해 입력된 대로 검색 결과를 제공할 수 있다. 현재 활성인 애플리케이션은 사용자에 의해 입력된 문자 또는 그 밖의 다른 기호를 기초로 한 검색 결과를 생성하고, (사용자가 아직 그가 검색어로서 원하는 것을 완전히 입력하지 않았을 경우라도) 상기 문자 또는 기호를 검색어로서 사용한다. 이들 검색 결과는 현재 활성인 애플리케이션에 의해 (가령, 도 5의 윈도(404)에) 디스플레이되고, 추가 문자 또는 기호가 사용자에 의해 입력될 때마다 현재 활성인 애플리케이션에 의해 업데이트될 수 있다.
덧붙이자면, 하나 이상의 실시예에서, 선택사항으로서 현재 활성인 애플리케이션은 데이터 입력 큐(data input cue)를 사용자 인터페이스 모듈(702)로 제공한다. 이 데이터 입력 큐는 사용자를 보조하는 헬퍼 텍스트, 이미지, 애니메이션, 등일 수 있다. 예를 들어, 데이터 입력 큐는 "여기에 검색어를 입력하시오(Input search term here)" 또는 "여기에 영화 제목을 입력하시오(Enter movie title here)"일 수 있다. 현재 활성인 애플리케이션에 의해 제공되는 경우, 데이터 입력 큐는 사용자 인터페이스 모듈(702)에 의해 디스플레이되어, 사용자가 검색어를 입력할 수 있는 곳을 결정하는 것을 보조한다. 데이터 입력 큐는 시스템 레벨 검색 UI의 데이터 입력 부분에 디스플레이되거나(가령, 그리고 데이터 입력 큐의 디스플레이는 사용자가 첫 번째 문자 또는 기호를 입력할 때 중단될 수 있음), 대안적으로 또 다른 위치에, 가령, 시스템 레벨 검색 UI의 데이터 입력 부분에 인접한 곳에 디스플레이될 수 있다.
현재 활성인 애플리케이션과 사용자 인터페이스 모듈(702) 간의 통신은 다양한 방식으로 구현될 수 있다. 하나 이상의 실시예에서, 애플리케이션 각각은 애플리케이션과 사용자 인터페이스 모듈(702) 간의 통신을 용이하게 하는 클래스 객체(class object)를 생성한다. 애플리케이션에 의해 생성된 클래스 객체에 의해 애플리케이션은 사용자 인터페이스 모듈(702)로부터 통신물(communication)(가령, 사용자 입력)을 수신하고, 데이터(가령, 데이터 입력 큐, 제시 검색어)를 제공할 수 있다. 사용자 인터페이스 모듈(702)은 데이터를 현재 활성인 애플리케이션의 클래스 객체로만 통신하고, 상기 현재 활성인 애플리케이션의 클래스 객체로부터의 통신물만 수락한다. 또는, 현재 활성인 애플리케이션과 사용자 인터페이스 모듈(702) 간의 통신은 이러한 클래스 객체를 이용하는 것이 아닌 그 밖의 다른 종래의 방식으로, 가령, 사용자 인터페이스 모듈(702)과 애플리케이션 간의 인터페이스를 구현하는 방식, 사용자 인터페이스 모듈(702)이 애플리케이션에 의해 호출될 수 있는 API를 노출하는 방식, 및 그 밖의 다른 방식으로 구현될 수 있다.
도 11은 하나 이상의 실시예에 따라 시스템 레벨 검색 사용자 인터페이스를 이용하기 위한 예시적 프로세스(1100)를 도시한 순서도이다. 프로세스(1100)는 시스템 레벨 검색 모듈, 가령, 도 7의 시스템 레벨 검색 모듈(700)에 의해 수행되고, 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 프로세스(1100)는 동작(act)의 집합으로서 나타나며, 다양한 동작들을 수행하기 위해 보여지는 순서에 국한되지 않는다. 프로세스(1100)는 시스템 레벨 검색 사용자 인터페이스를 이용하기 위한 예시적 프로세스이며, 시스템 레벨 검색 사용자 인터페이스를 이용하는 것에 대한 추가 설명이 여러 다른 도면을 참조해 본원에 포함된다.
프로세스(1100)에서, 데이터 입력 부분과 애플리케이션 식별 부분을 모두 포함하는 시스템 레벨 검색 UI가 디스플레이된다(동작(1102)). 상기 시스템 레벨 검색 UI는 앞서 언급된 바와 같이 스크린 디스플레이 상의 다양한 위치에서 디스플레이될 수 있다.
사용자에 의해 입력되는 데이터가 시스템 레벨 검색 UI의 데이터 입력 부분에 디스플레이된다(동작(1104)). 데이터는 사용자에 의해 앞서 언급된 바와 같이 다양한 방식으로 입력될 수 있다.
사용자에 의해 입력된 데이터를 이용해 검색될 수 있는 하나 이상의 애플리케이션의 식별자가 애플리케이션 식별 부분에 디스플레이된다(동작(1106)). 이들 식별자는 다양한 형태, 가령, 명칭, 아이콘, 애니메이션, 및 앞서 언급된 그 밖의 다른 것을 취할 수 있다. 동작(1106)에서 디스플레이된 식별자는 시스템 레벨 검색 UI와 함께 사용되도록 등록된 하나 이상의 애플리케이션의 식별자이고, 앞서 언급된 바와 같이 여러 다른 방식으로 선택될 수 있다.
사용자에 의해 입력된 데이터는 시스템 레벨 검색 UI를 구현하는 장치 상의 복수의 애플리케이션 중 하나의 애플리케이션으로 제공된다(동작(1108). 앞서 언급된 바와 같이, 데이터 입력은 (가령, 앞서 언급된 바와 같이 검색 버튼의 선택에 의해) 현재 활성인 애플리케이션으로 제공될 수 있거나, 애플리케이션 식별 부분에 디스플레이되며 사용자에 의해 선택된 애플리케이션 식별자에 대응하는 애플리케이션으로 제공될 수 있다.
사용자에 의해 입력되는 데이터가 제공되는 애플리케이션이 사용자에 의해 입력된 데이터를 기초로 검색 결과를 획득하고 디스플레이하면서 시스템 레벨 검색 UI 디스플레이가 유지된다(동작(1110)). 시스템 레벨 검색 UI가 디스플레이된 채 유지되면서 상기 애플리케이션은 앞서 언급된 바와 같이 (가령, 애플리케이션의 윈도에서) 검색 결과의 디스플레이를 관리한다.
도 12는 하나 이상의 실시예에 따라 시스템 레벨 검색 사용자 인터페이스의 애플리케이션 식별 부분에 애플리케이션 식별자를 디스플레이하기 위한 예시적 프로세스(1200)를 도시하는 흐름도이다. 프로세스(1200)는 시스템 레벨 검색 모듈, 가령, 도 7의 시스템 레벨 검색 모듈(700)에 의해 수행되고 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 프로세스(1200)는 동작들의 집합으로 나타나며, 다양한 동작들을 수행하는 데 나타나는 순서에 국한되지 않는다. 프로세스(1200)는 시스템 레벨 검색 사용자 인터페이스의 애플리케이션 식별 부분에 애플리케이션 식별자를 디스플레이하기 위한 예시적 프로세스이며, 시스템 레벨 검색 사용자 인터페이스의 애플리케이션 식별 부분에 애플리케이션 식별자를 디스플레이하는 것에 대한 추가 설명이 여러 다른 도면을 참조해 본원에 포함된다.
프로세스(1200)에서 시스템 레벨 검색 UI를 이용하여 검색될 수 있는 복수의 애플리케이션이 식별된다(동작(1202)). 이들 복수의 애플리케이션은 앞서 언급된 바와 같이 시스템 레벨 검색 UI를 이용하도록 등록된 애플리케이션들이다.
복수의 애플리케이션 각각에 대해 순위가 생성된다(동작(1204)). 이들 순위는 앞서 언급된 다양한 방식으로, 가령, 선택사항으로 사용자-특정 순위를 이용해 생성될 수 있다. 이들 순위는, 예를 들어, 앞서 언급된 바와 같이, 특정 점수 또는 최고부터 최저까지 애플리케이션의 순서화일 수 있다.
복수의 애플리케이션 중 시스템 레벨 검색 UI에 식별될 하나 이상의 애플리케이션이 순위를 적어도 부분적으로 기초로 하여 선택된다(동작(1206)). 시스템 레벨 검색 UI에서 식별될 수 있는 것보다 더 많은 애플리케이션이 존재하는 경우, 애플리케이션들 중 하나 이상이, 앞서 언급된 바와 같이 그들의 순위를 기초로 하여 선택된다.
선택된 하나 이상의 애플리케이션의 식별자는 시스템 레벨 검색 UI의 일부분으로서 순위에 따라 디스플레이된다(동작(1208)). 애플리케이션 식별자가 그들의 순위에 따라 디스플레이되는 방식은 앞서 언급된 바와 같이 구현예별로 다를 수 있으며, 예를 들어, 애플리케이션 식별자들을 위에서 아래로 최고 순위(위)에서부터 최저 순위(아래) 순으로 디스플레이하는 것, 좌측에서 우측으로 최고 순위(좌측)에서부터 최저 순위(우측) 순으로 디스플레이하는 것, 등이 있다.
다양한 유형의 정보 중 임의의 것, 가령 다른 사용자의 연락처 정보, 영화, 게임, 책 또는 그 밖의 다른 출판물, 등이 사용자에 의해 검색될 수 있음을 알아야 한다. 덧붙여, 하나 이상의 실시예에서, 시스템 레벨 검색 UI에 등록되는 애플리케이션들 중 하나는 컴퓨팅 장치 상의 애플리케이션들을 인덱싱하는 애플리케이션 또는 모듈이다. 예를 들어, 도 1의 애플리케이션(112)들 중 하나의 애플리케이션은 컴퓨팅 장치(102) 상의 다른 애플리케이션(112)을 검색할 수 있는 애플리케이션일 수 있다. 따라서 사용자는 다른 애플리케이션(112)뿐 아니라 이들 애플리케이션(112)을 통해 유지 또는 그 밖의 다른 방식으로 액세스 가능한 콘텐츠를 검색할 수 있다.
본원의 설명에서, 사용자에 의해 선택된 애플리케이션을 런칭하는 것과 선택된 애플리케이션이 검색어에 대해 검색하는 것이 언급된다. 선택된 애플리케이션이 이미 실행 중(가령, 배경(background)에서 실행 중)이고 따라서 런칭될 필요가 없는 상황이 발생할 수 있음을 알아야 한다. 이러한 상황에서, 시스템 레벨 검색 모듈(가령, 도 7의 모듈(700))은 선택된 애플리케이션으로 검색어에 대해 검색하라는 요청을 통신한다. 이에 응답하여, 선택된 애플리케이션은 검색어에 대해 검색하고 그 검색 결과를 디스플레이한다. 하나 이상의 실시예에서, 애플리케이션은, 자신이 시스템 레벨 검색 모듈로 제공한 등록 정보의 일부로서, 시스템 레벨 검색 모듈이 애플리케이션이 검색어에 대해 검색할 것을 요청할 방식에 대한 지시를 포함한다. 예를 들어, 등록 정보는 애플리케이션으로 검색어(및 선택사항으로서 그 밖의 다른 맥락 정보)를 전달하기 위해 호출(invoke)될 애플리케이션의 하나 이상의 API의 지시를 포함할 수 있다. 대안적으로 그 밖의 다른 기법이 사용될 수 있는데, 가령, 애플리케이션이 실행되기 시작할 때 상기 애플리케이션이 시스템 레벨 검색 모듈이 애플리케이션이 검색어에 대해 검색할 것을 요청할 수 있는 방식에 대해 시스템 레벨 검색 모듈에게 통지할 수 있고, 시스템 레벨 검색 모듈이 사전에 구축된 통신 채널을 통해, 또는 애플리케이션과 시스템 레벨 검색 모듈 모두에게 알려진 프로토콜을 따라, 요청을 통신할 수 있는 등이다.
본원에 기재된 시스템 레벨 검색 UI에 의해 앞서 언급된 바와 같이 사용자는 검색어를 한 번 입력하고 서로 다른 애플리케이션을 상기 검색어에 대해 검색하도록 선택할 수 있다. 각각의 개별 애플리케이션이 각자 자신의 검색을 수행하며, 사용자에 의해 검색하도록 선택될 수 있는 타 애플리케이션에 대해 알 필요가 없다(일반적으로 알지도 않는다). 애플리케이션이 자신의 검색을 수행하는 방식과 애플리케이션이 자신의 검색을 수행할 때 애플리케이션에 의해 액세스되는 데이터 저장소는 애플리케이션별로 다를 수 있다. 애플리케이션은 로컬 데이터 저장소(시스템 레벨 검색 UI를 구현하는 것과 동일한 컴퓨팅 장치 상에 위치하는 데이터 저장소) 및/또는 원격 데이터 저장소(가령, 또 다른 컴퓨팅 장치, 가령 도 1의 장치(104)에 위치하는 데이터 저장소)를 검색할 수 있다.
애플리케이션에 의해 생성된 검색 결과는 이들 검색 결과를 생성하는 애플리케이션에 의해 디스플레이된다. 검색 결과는 일반적으로 별개 윈도로, 가령, 도 5의 윈도(404) 또는 도 6의 윈도(604)로 디스플레이된다(그러나 반드시 그런 것은 아니다). 따라서 애플리케이션 각각은 각자의 검색 결과의 디스플레이를 자신이 원하는 임의의 방식으로 맞춤 구성할 수 있다. 검색 결과를 위한 이러한 서로 다른 디스플레이 및/또는 서로 다른 윈도에도 불구하고, 시스템 레벨 검색 UI의 데이터 입력 부분 및 애플리케이션 식별 부분은 동일하게 유지된다. 시스템 레벨 검색 UI는 동일한 위치에 유지되고, 외관은 검색 결과에 따라 변하지 않는다(그러나 앞서 언급된 바와 같이, 현재 활성인 애플리케이션에 따라 데이터 입력 큐 및 제시 검색어는 변할 수 있다).
도 13은 하나 이상의 실시예에 따라 시스템 레벨 검색 사용자 인터페이스에 대한 등록을 구현하도록 구성될 수 있는 예시적 컴퓨팅 장치(1300)를 도시한다. 컴퓨팅 장치(1300)는, 예를 들어, 도 1의 컴퓨팅 장치(102 또는 104)일 수 있다.
컴퓨팅 장치(1300)는 하나 이상의 프로세서 또는 프로세싱 유닛(1302)과, 하나 이상의 메모리 및/떠는 저장 구성요소(1306)를 포함할 수 있는 하나 이상의 컴퓨터 판독형 매체(1304)와, 하나 이상의 입/출력(I/O) 장치(1308)와, 다양한 구성요소 및 장치가 서로 통신할 수 있게 하는 버스(1310)를 포함한다. 컴퓨터 판독형 매체(1304) 및/또는 하나 이상의 I/O 장치(1308)는 컴퓨팅 장치(1300)의 일부로 포함되거나, 대안적으로 상기 컴퓨팅 장치(1300)로 연결될 수 있다. 버스(1310)는 몇 가지 유형의 버스 구조, 가령, 메모리 버스 또는 메모리 제어기, 병렬 버스, 가속 그래픽 포트, 프로세서 또는 로컬 버스, 및 다양한 버스 아키텍처를 이용하는 그 밖의 다른 것 중 하나 이상의 나타낸다. 버스(1310)는 유선 및/또는 무선 버스를 포함할 수 있다.
메모리/저장 구성요소(1306)는 하나 이상의 컴퓨터 저장 매체를 나타낸다. 구성요소(1306)는 휘발성 매체(가령, 랜덤 액세스 메모리(RAM)) 및/또는 비휘발성 매체(가령, 리드 온리 메모리(ROM), 플래시 메모리, 광학 디스크, 자기 디스크, 등)를 포함할 수 있다. 구성요소(1306)는 고정식 매체(가령, RAM, ROM, 고정식 하드 드라이브, 등)뿐 아니라 이동식 매체(가령, 플래시 메모리 드라이브, 이동식 하드 드라이브, 광학 디스크, 등)을 포함할 수 있다.
본원에서 언급되는 기법은 소프트웨어로 구현될 수 있으며, 명령은 하나 이상의 프로세싱 유닛(1302)에 의해 실행된다. 서로 다른 명령은 컴퓨팅 장치(1300)의 서로 다른 구성요소, 가령, 프로세싱 유닛(1302), 상기 프로세싱 유닛(1302)의 다양한 캐시 메모리(도시되지 않음), 그 밖의 다른 컴퓨터 판독형 매체, 및 그 밖의 다른 곳에 저장될 수 있음을 알아야 한다. 덧붙여, 명령이 저장되는 컴퓨팅 장치(1300) 내 위치는 시간의 흐름에 따라 변할 수 있다.
하나 이상의 입/출력 장치(1308)에 의해 사용자는 명령 및 정보를 컴퓨팅 장치(1300)로 입력하고, 또한 정보는 사용자 및/또는 그 밖의 다른 구성요소 또는 장치로 제공될 수 있다. 입력 장치의 예로는, 키보드, 커서 제어 장치(가령, 마우스), 마이크로폰, 스캐너, 및 기타 등등을 포함한다. 출력 장치의 예로는 디스플레이 장치(가령, 모니터 또는 영사기), 스피커, 인쇄기, 네트워크 카드, 및 기타 등등을 포함한다.
다양한 기법이 본원에서 소프트웨어 또는 프로그램 모듈의 일반 맥락으로 기재될 수 있다. 일반적으로 소프트웨어는 루틴, 프로그램, 객체, 구성요소, 데이터 구조, 및 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는 그 밖의 다른 것을 포함한다. 이들 모듈 및 기법의 구현이 일부 형태의 컴퓨터 판독형 매체에 저장되거나 일부 형태의 컴퓨터 판독형 매체를 통해 전송될 수 있다. 컴퓨터 판독형 매체는 임의의 이용 가능한 매체 또는 컴퓨팅 장치에 의해 액세스될 수 있는 매체일 수 있다. 비제한적 예를 들면, 컴퓨터 판독형 매체는 "컴퓨터 저장 매체" 및 "통신 매체"를 포함할 수 있다.
"컴퓨터 저장 매체"는 정보, 가령 컴퓨터 판독형 명령, 데이터 구조, 프로그램 모듈, 또는 그 밖의 다른 데이터의 저장을 위한 임의의 방법 또는 기법으로 구현되는 휘발성 및 비휘발성의, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는, RAM, ROM, EEPROM, 플래시 메모리 또는 그 밖의 다른 메모리 기법, CD-ROM, 디지털 다목적 디스크(DVD) 또는 그 밖의 다른 광학 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 그 밖의 다른 자기 저장장치, 또는 원하는 정보를 저장하기 위해 사용되고 컴퓨터에 의해 액세스될 수 있는 그 밖의 다른 임의의 매체를 포함할 수 있으며, 이에 한정되지 않는다.
일반적으로 "통신 매체"는 컴퓨터 판독형 명령, 데이터 구조, 프로그램 모듈 또는 그 밖의 다른 데이터를 변조된 데이터 신호, 가령 반송파 또는 그 밖의 다른 수송 메커니즘으로 구현한다. 또한 통신 매체는 임의의 정보 전달 매체를 포함한다. 용어 "변조된 데이터 신호"는 신호 내 정보를 인코딩하기 위한 방식으로 설정 또는 변경된 특성들 중 하나 이상을 가진 신호를 의미한다. 비제한적 예를 들면, 통신 매체는 유선 네트워크 또는 직접 배선 연결 같은 유선 매체와, 음향, RF, 적외선, 및 그 밖의 다른 무선 매체 같은 무선 매체를 포함한다. 상기들 중 임의의 것의 조합이 컴퓨터 판독형 매체의 범위 내에 역시 포함된다.
일반적으로, 본원에 기재된 기능 또는 기법들 중 임의의 것은 소프트웨어, 펌웨어, 하드웨어(가령, 고정 로직 회로), 수동 프로세싱, 또는 이들 구현예들의 조합으로 구현될 수 있다. 용어 "모듈" 및 "구성요소"는 본원에서 사용될 때 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 나타낸다. 소프트웨어 구현예의 경우, 모듈 또는 구성요소는 프로세서(가령, 하나 이상의 CPU) 상에서 실행될 때 특정 작업을 수행하는 프로그램 코드를 나타낸다. 프로그램 코드는 하나 이상의 컴퓨터 판독형 메모리 장치에 저장될 수 있고, 이에 대한 추가 기재는 도 13을 참조해 발견될 수 있다. 본원에 기재된 시스템 레벨 검색 사용자 인터페이스 기법의 특징은 플랫폼 독립적인데, 이는, 상기 기법이 다양한 프로세서를 갖는 다양한 상용화된 컴퓨팅 플랫폼에서 구현될 수 있음을 의미한다.
본 발명이 구조적 특징부 및/또는 방법적 동작에 특정하여 기재되었지만, 이하의 청구항에서 정의되는 본 발명은 앞서 기재된 특정 특징부 또는 동작에 반드시 한정되는 것은 아니다. 오히려 앞서 기재된 특정 특징부 및 동작은 청구항을 구현하는 예시적 형태로서 개시된 것이다.

Claims (10)

  1. 컴퓨팅 장치에서의 방법으로서,
    상기 컴퓨팅 장치의 애플리케이션에 대해 시스템 레벨 검색 사용자 인터페이스 등록 정보를 수신하는 단계;
    상기 시스템 레벨 검색 사용자 인터페이스 등록 정보를 등록 저장소에 추가하는 단계; 및
    상기 애플리케이션을 시스템 레벨 검색 사용자 인터페이스를 이용하여 검색될 수 있는 하나 이상의 애플리케이션의 일원으로서 포함시키는 단계를 포함하는
    컴퓨팅 장치에서의 방법.
  2. 제 1 항에 있어서,
    상기 컴퓨팅 장치의 복수의 추가 애플리케이션 각각에 대해 시스템 레벨 검색 사용자 인터페이스 등록 정보를 수신하는 단계;
    상기 컴퓨팅 장치의 복수의 추가 애플리케이션 각각에 대해, 수신된 시스템 레벨 검색 사용자 인터페이스 등록 정보를 상기 등록 저장소에 추가하는 단계; 및
    상기 복수의 추가 애플리케이션 중 적어도 하나의 애플리케이션을 상기 시스템 레벨 검색 사용자 인터페이스를 이용하여 검색될 수 있는 상기 하나 이상의 애플리케이션의 일원으로서 포함시키는 단계를 더 포함하는
    컴퓨팅 장치에서의 방법.
  3. 제 2 항에 있어서, 상기 시스템 레벨 검색 사용자 인터페이스를 이용하여 검색될 수 있는 하나 이상의 애플리케이션은 복수의 애플리케이션을 포함하고, 상기 방법은
    복수의 애플리케이션 각각에 대한 순위(ranking)를 생성하는 단계; 및
    상기 복수의 애플리케이션의 순위에 따라, 최고 순위에서부터 최저 순위 순으로 상기 복수의 애플리케이션의 식별자를 디스플레이하는 단계를 더 포함하는
    컴퓨팅 장치에서의 방법.
  4. 제 1 항에 있어서, 상기 시스템 레벨 검색 사용자 인터페이스 등록 정보는 시스템 레벨 검색 사용자 인터페이스를 통해 사용자에 의해 입력된 검색어에 응답하여 애플리케이션이 검색 결과를 디스플레이하도록 시스템 레벨 검색 모듈에 의해 런칭될 방식에 대한 지시(indication)를 포함하는
    컴퓨팅 장치에서의 방법.
  5. 제 1 항에 있어서, 상기 시스템 레벨 검색 사용자 인터페이스 등록 정보는 시스템 레벨 검색 사용자 인터페이스에서 애플리케이션을 식별하기 위해 디스플레이될 명칭을 포함하는
    컴퓨팅 장치에서의 방법.
  6. 제 1 항에 있어서, 상기 시스템 레벨 검색 사용자 인터페이스 등록 정보를 수신하는 것은 상기 애플리케이션을 대신하여 인스톨러 애플리케이션(installer application)으로부터 시스템 레벨 검색 사용자 등록 정보를 수신하는 것인
    컴퓨팅 장치에서의 방법.
  7. 컴퓨팅 장치로서:
    하나 이상의 프로세서; 및
    복수의 명령어가 저장된 하나 이상의 컴퓨터 판독형 매체
    를 포함하며, 상기 복수의 명령어는 상기 컴퓨팅 장치의 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금:
    애플리케이션에 대해, 시스템 레벨 검색 사용자 인터페이스를 제공하는 시스템 레벨 검색 모듈이 상기 애플리케이션을 런칭할 수 있는 방식에 대한 지시를 포함하는 시스템 레벨 검색 사용자 인터페이스 등록 정보를 식별하게 하고;
    상기 시스템 레벨 검색 사용자 인터페이스 등록 정보를 상기 시스템 레벨 검색 모듈에게 전달하여 상기 애플리케이션이 상기 시스템 레벨 검색 사용자 인터페이스를 이용하여 검색될 수 있는 하나 이상의 애플리케이션 중 하나로서 포함되게 하는
    컴퓨팅 장치.
  8. 제 7 항에 있어서, 상기 시스템 레벨 검색 사용자 인터페이스 등록 정보는 상기 시스템 레벨 검색 사용자 인터페이스에서 상기 애플리케이션을 식별하기 위해 디스플레이될 명칭과 아이콘 중 하나 또는 둘 모두를 포함하는
    컴퓨팅 장치.
  9. 제 7 항에 있어서, 상기 시스템 레벨 검색 사용자 인터페이스 등록 정보는, 상기 시스템 레벨 검색 사용자 인터페이스를 통해 사용자에 의해 입력된 검색어에 응답하여 상기 애플리케이션이, 검색 결과를 디스플레이하기 위해 시스템 레벨 검색 모듈에 의해 런칭될 방식에 대한 지시를 포함하는
    컴퓨팅 장치.
  10. 제 9 항에 있어서, 상기 시스템 레벨 검색 사용자 인터페이스 등록 정보는 상기 시스템 레벨 검색 사용자 인터페이스를 통해 사용자에 의해 입력된 검색어가 상기 애플리케이션으로 제공될 방식에 대한 지시를 포함하는
    컴퓨팅 장치.
KR1020137012590A 2010-11-16 2011-11-07 시스템 레벨 검색 사용자 인터페이스에서의 등록 기법 KR101872549B1 (ko)

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
KR20130142134A true KR20130142134A (ko) 2013-12-27
KR101872549B1 KR101872549B1 (ko) 2018-06-28

Family

ID=45984561

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137012590A KR101872549B1 (ko) 2010-11-16 2011-11-07 시스템 레벨 검색 사용자 인터페이스에서의 등록 기법

Country Status (12)

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

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
US20120124072A1 (en) 2010-11-16 2012-05-17 Microsoft Corporation System level search user interface
US10346479B2 (en) 2010-11-16 2019-07-09 Microsoft Technology Licensing, Llc Facilitating interaction with 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
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
WO2018067403A1 (en) * 2016-10-03 2018-04-12 Google Inc. Multi computational agent performance of tasks
US11663535B2 (en) 2016-10-03 2023-05-30 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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060112179A1 (en) * 2003-01-06 2006-05-25 Markus Baumeister Multi-factor application selection
US20080208834A1 (en) * 2007-02-28 2008-08-28 Monty Boyer Enhanced Search System and Method for Providing Search Results With Selectivity or Prioritization of Search and Display Operations
US20100306191A1 (en) * 2009-05-27 2010-12-02 Lebeau Michael J Computer Application Data In Search Results

Family Cites Families (125)

* 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
ATE243869T1 (de) 1998-03-03 2003-07-15 Amazon Com Inc Identifizierung der relevantesten antworten auf eine aktuelle suchanfrage basierend auf bereits bei ähnlichen anfragen ausgewählten antworten
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
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
US7725485B1 (en) 2005-08-01 2010-05-25 Google Inc. Generating query suggestions using contextual information
US8060487B2 (en) 2005-08-01 2011-11-15 Sap Ag Searching for and launching data files not associated with an application
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 주식회사 엘지텔레콤 모바일 검색 서버 및 상기 검색 서버의 동작 방법
US20070088680A1 (en) 2005-10-14 2007-04-19 Microsoft Corporation Simultaneously spawning multiple searches across multiple providers
KR100643801B1 (ko) 2005-10-26 2006-11-10 엔에이치엔(주) 복수의 언어를 연동하는 자동완성 추천어 제공 시스템 및방법
CA2630683C (en) 2005-11-23 2014-10-28 Anthony Scriffignano System and method for searching and matching data having ideogrammatic content
KR100737521B1 (ko) 2005-11-24 2007-07-10 한국전자통신연구원 어플리케이션 상태 정보 수집 및 복원 방법 및 시스템
CN101495955B (zh) 2005-12-12 2013-06-19 特捷通讯公司 移动设备检索与导航
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
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
CN101842787A (zh) 2007-09-14 2010-09-22 谷歌公司 在查询结果中建议替选查询
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 广东国笔科技股份有限公司 一种人机界面交互系统和方法
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的智能操作系统及方法
CN103180849B (zh) 2010-10-21 2017-12-29 高通公司 使用移动计算装置搜索多数据源
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
US10346479B2 (en) 2010-11-16 2019-07-09 Microsoft Technology Licensing, Llc Facilitating interaction with system level search user interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060112179A1 (en) * 2003-01-06 2006-05-25 Markus Baumeister Multi-factor application selection
US20080208834A1 (en) * 2007-02-28 2008-08-28 Monty Boyer Enhanced Search System and Method for Providing Search Results With Selectivity or Prioritization of Search and Display Operations
US20100306191A1 (en) * 2009-05-27 2010-12-02 Lebeau Michael J Computer Application Data In Search Results

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Group Policy for Windows Search, Browse, and Organize, Microsoft Technet (2009.05.04.)* *

Also Published As

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

Similar Documents

Publication Publication Date Title
US11921788B2 (en) Registration for system level search user interface
US9037565B2 (en) System level search user interface
US11461003B1 (en) User interface for presenting suggestions from a local search corpus
US8515984B2 (en) Extensible search term suggestion engine
US10346479B2 (en) Facilitating interaction with system level search user interface
RU2632144C1 (ru) Компьютерный способ создания интерфейса рекомендации контента

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right