KR100911606B1 - 유니버셜 검색 인터페이스 시스템 및 방법 - Google Patents

유니버셜 검색 인터페이스 시스템 및 방법 Download PDF

Info

Publication number
KR100911606B1
KR100911606B1 KR1020057018922A KR20057018922A KR100911606B1 KR 100911606 B1 KR100911606 B1 KR 100911606B1 KR 1020057018922 A KR1020057018922 A KR 1020057018922A KR 20057018922 A KR20057018922 A KR 20057018922A KR 100911606 B1 KR100911606 B1 KR 100911606B1
Authority
KR
South Korea
Prior art keywords
user
client
label
search
user input
Prior art date
Application number
KR1020057018922A
Other languages
English (en)
Other versions
KR20060006912A (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 KR20060006912A publication Critical patent/KR20060006912A/ko
Application granted granted Critical
Publication of KR100911606B1 publication Critical patent/KR100911606B1/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/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • 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/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

사용자 컴퓨터상에 상주하는 다수의 어플리케이션과 인터페이스하도록 구성되고 원격 시스템상의 검색 지능과 통신하는 지속적인 양방향 통신 채널을 제공하는 유니버셜 인터페이스 사용을 통해서 정보 검색 및 통신 기능을 강화시키는 시스템 및 방법이 개시되어 있다. 각 레벨은 자연어 포맷으로 규정되고 사용자 시스템 상에서 실행될 수 있는 특정 어플리케이션 또는 어플리케이션 세트에 매핑하는 것을 포함할 수 있다. 사용자 시스템 간에 라벨 및 코드북 전송은 사용자들 간에서 정보 교환 및 검색을 강화시킬 뿐만 아니라 서버 시스템에 의한 정보 교환 추적 및 분석을 강화시킨다.
유니버셜 인터페이스, 유니버셜 대화 상자, 클라이언트 시스템, 서버 시스템

Description

유니버셜 검색 인터페이스 시스템 및 방법{UNIVERSAL SEARCH INTERFACE SYSTEMS AND METHODS}
관련 출원에 대한 교차-참조
본 출원은 2003년 4월 4일자로 출원되고, 그 콘텐트가 본원에 완전히 참조되어 있는 미합중국 예비출원 번호 제60/460,222호의 본-출원이며, 미합중국 예비출원 번호 제60/460,222호에 대한 우선권을 주장한다.
본 발명은 일반적으로 네트워크와 인터넷 검색 및 인터페이스 시스템에 관한 것이며, 특히 강화된 검색 기능을 제공하는 검색 시스템에 관한 것이다. 본 발명은 또한 다양한 검색 기능을 제공하며 유니버셜 정보 교환 툴(tool)을 제공하기 위하여 사용자의 컴퓨터상의 다양한 어플리케이션과 연동하는 인터페이스 시스템 및 방법에 관한 것이다.
인터넷과 같은 네트워크들과, 월드 와이드 웹(웹)을 통하여 사용자가 이용 가능한 다수의 웹 페이지 및 미디어 콘텐트의 출현으로, 네트워크 또는 웹으로부터 소망하는 정보를 필터링하여 얻기 위해서 사용자에게 능률적인 방법을 제공하는 것이 필요로 되었다. 검색 시스템 및 프로세스는 소망하는 정보를 얻고자하는 사용자의 요구를 충족시키기 위하여 개발되었다. 이와 같은 기술의 예는 야후, 구글 및 다른 사이트를 통해 액세스될 수 있다. 전형적으로, 사용자는 질의(query)를 입력하고 검색 프로세스는 상기 질의에 관련된 하나 이상의 링크를 리턴한다. 리턴된 링크는 사용자가 실제로 찾고 있는 것과 매우 관련되거나, 완전히 무관할 수 있다. 질의에 대한 결과의 "관련성(relatedness)"은 부분적으로는 입력된 실제 질의뿐만 아니라, 사용된 검색 시스템(근원적인 수집 시스템)의 로버스트니스(robustness)의 함수일 수 있다.
사용자가 입력하는 질의는 전형적으로 하나 이상의 워드로 이루어진다. 예를 들어, "Hawaii"가 질의이고, "New York City"가 또한 질의이며, "New York City law enforcement"이 또한 질의이다. 이와 같이, 질의는 전체적으로 인간의 두뇌에 필수적이지는 않다. 즉, 인간은 본래 질의에 관하여 생각하지 않는다. 그것들은 부분적으로, 검색 엔진 또는 검색 라이브러리 카탈로그에 질의할 필요성에 의해 우리에게 부과되는 인위적인 구조이다. 인간은 본래 단 하나의 워드에 관해서도 또한 생각하지 않는다. 인간이 생각하는 것은 자연적인 개념이다. 예를 들어, "Hawaii" 및 "New York City"는 워드의 수에 의해 측정되는 바와 같이 길이 면에서 대단히 상이한 질의이지만, 그것들은 하나의 중요한 특성을 공유한다: 그것들은 하나의 개념으로 각각 이루어진다. 그러나, 질의 "New York City law enforcement"은 두 개의 별개의 개념인 "New York City" 및 "law enforcement"으로 이루어지기 때문에, 상이하다. 본래 인간은 단일 워드의 가변의 긴 시퀀스가 전혀 아닌 하나 이상의 자연적인 개념을 입력함으로써 질의를 구성한다.
임의의 주요 검색 제공자, 예를 들어, MSN, 구글, 또는 임의의 다른 주요 검 색 엔진 사이트에서의 현재의 기술은 인간이 질의를 생성하는 것과 동일한 방식으로 질의를 이해하지 못한다. 이것은 아마도 검색 제공자가 사용자 의도를 이해하지 못하게 하여 최적의 검색 결과 및 콘텐트를 제공하지 못하게 하는 가장 중요한 이유이다.
알 수 있는 바와 같이, 사용자가 관심을 가질 수 있는 실제 개념과 보다 일치하는 결과를 제공하는 개선된 검색 및 인터페이스 기술이 필요로 된다.
본 발명은 사용자에게 제공된 검색 기능을 강화하는 시스템 및 방법을 제공한다. 본 발명은 어떤 특징에 따에서, 사용자 컴퓨터에 상주하는 다수의 어플리케이션과 인터페이싱하도록 구성될 수 있고, 원격 시스템상의 검색 지능(search intelligence)과 통신하기 위한 지속적인 양-방향 통신 채널을 제공하는 유니버셜 인터페이스를 사용하여 정보 검색 및 통신 기능을 강화하는 시스템 및 방법을 제공한다. 본 발명의 어떤 특징에서, 본 발명은 질의를 사용자가 관심을 가질 수 있는 개념에 관련되는 구성요소 유닛으로 자동적으로 분해한다.
본 발명은 또한 특정 지시대상(referent)을 맵핑하는 사용자-규정되고 사전-규정된 라벨, 코드 및 파라미터를 생성하고, 저장하며 레버리징(leveraging)하는 시스템 및 방법을 제공한다. 예를 들어, 사용자는 라벨 또는 코드가 입력될 때마다, 하나 이상의 어플리케이션에 액세스하는 것과 같이, 취할 동작을 지정하는 라벨 또는 코드를 생성할 수 있다. 이와 같은 라벨 또는 코드는 근원적인 라벨 또는 코드 맵핑에 따라서 프로세싱되도록 의도되는 아규먼트(argument)를 포함할 수 있다. 예를 들어, 유니버셜 인터페이스에서 사용자에 의해 입력될 때, 시스템은 맵핑 테이블로의 키로서 라벨 또는 코드를 사용하여, 만약 있다면, 어떤 동작이 취해지는지 또는 어떻게 아규먼트를 프로세싱하는지를 식별한다. 본 발명의 어떤 특징에서, 이와 같은 라벨, 코드, 파라미터 등은 상기 라벨, 코드 등을 사용자가 이해하는 것을 간단화하는 자연언 구조로서 사용자에 의해 생성될 수 있다. 이와 같은 라벨, 코드 등은 다른 사용자 및 시스템에 전달되어, 다른 사용자 및 시스템에 의해 사용될 수 있다. 이와 같은 라벨 또는 코드의 수신자는 라벨, 코드 등의 지시대상 또는 라벨 명칭 또는 다른 특성을 변경할 수 있다.
본 발명의 한가지 특징에 따르면, 사용자 입력을 프로세싱하여 클라이언트 시스템에서 사용자 입력의 콘텐트를 토대로 취해질 동작을 결정하는 컴퓨터로 구현된 방법이 제공된다. 상기 방법은 전형적으로 대화 상자를 클라이언트 시스템과 관련된 그래픽 사용자 인터페이스 디스플레이 상에 디스플레이하는 단계, 사용자 입력을 대화 상자 내로 수신하는 단계, 및 사용자 입력 콘텐트를 토대로 취해질 동작을 결정하기 위해 사용자 입력의 콘텐트를 프로세싱하는 단계를 포함한다. 어떤 특징에서, 상기 동작은 검색 질의로서 사용자 입력을 사용하여 검색을 수행하는 것 및 콘텐트를 토대로 부가적인 프로세싱을 수행하기 위해 클라이언트 시스템에 상주하는 하나 이상의 어플리케이션에 액세스하는 것을 포함한다.
본 발명의 다른 특징에 따르면, 다수의 클라이언트 시스템들 사이에서 동작 가능한 라벨을 공유하는 방법이 제공된다. 상기 방법은 전형적으로 제1 클라이언트 시스템상에서 제1 라벨을 생성하는 단계로서, 상기 라벨은 상기 제1 클라이언트 시스템상에서 실행 가능한 하나 이상의 특정 어플리케이션으로의 맵핑을 포함하는, 상기 생성 단계, 상기 라벨을 네트워크를 통하여 제2 클라이언트 시스템으로 전달하는 단계 및, 상기 제1 라벨을 상기 제2 클라이언트 시스템의 메모리 유닛으로 저장하는 단계를 포함한다. 상기 방법은 또한 전형적으로 상기 제2 클라이언트 시스템상에서 사용자 입력을 프로세싱하는 단계와, 상기 사용자 입력이 상기 제1 라벨을 인식하는 경우, 상기 제2 시스템상에서 하나 이상의 특정 어플리케이션을 불러내는 단계, 및 하나 이상의 특정 어플리케이션을 사용하여 사용자 입력을 프로세싱하는 단계를 포함한다.
도면과 청구항을 포함하는 명세서의 나머지 부분을 참조하면, 본 발명의 다른 특성 및 장점이 인식될 것이다. 본 발명의 부가적인 특성 및 장점뿐만 아니라, 본 발명의 다양한 실시예의 구조 및 동작이 첨부 도면을 참조하여 이하에 상세히 설명된다. 도면에서, 동일하거나 기능적으로 유사한 요소에는 동일한 참조 번호가 병기된다.
도1은 본 발명의 실시예에 따른, 정보 검색 및 통신 시스템의 일반적인 개요를 도시한 도면.
도2는 본 발명의 실시예에 따른, 멀티미디어 콘텐트를 통신하는 정보 검색 및 통신 네트워크를 도시한 도면.
도3은 본 발명의 실시예에 따른, 유닛 딕셔너리(unit dictionary)를 파퓰레이팅(populating)하기 위하여 질의 로그 파일을 프로세싱하도록 구성된 질의 프로 세싱 엔진을 포함한 시스템을 도시한 도면.
도4는 본 발명의 실시예에 따른 어떤 특징에서 질의 프로세싱 엔진을 포함하는 유닛 딕셔너리 및 관련 프로세싱 지능을 포함하는 시스템을 도시한 도면.
도5는 일 실시예에 따른 코드, 라벨 및 파라미터의 전달, 저장 및 검색의 예를 도시한 도면.
도6은 일 실시예에 따른 유니버셜 대화 상자(UDB)를 포함한 GUI 디스플레이 페이지의 예를 도시한 도면.
도7 및 도8은 본 발명의 UDB 인터페이스 시스템 및 방법론에 의해 제공된 기능을 사용한 클라이언트 시스템에 제공된 웹 페이지의 예를 도시한 도면.
도1은 본 발명의 실시예에 따른 클라이언트 시스템(20)을 포함한 정보 검색 및 통신 네트워크(10)의 일반적의 개요를 도시한다. 컴퓨터 네트워크(10)에서, 클라이언트 시스템(20)은 인터넷(40), 또는 다른 통신 네트워크, 예를 들어, 임의의 LAN 또는 WAN 접속을 통하여, 서버 시스템(501 내지 50N)에 결합된다. 본원에 설명되는 바와 같이, 클라이언트 시스템(20)은 서버 시스템(501 내지 50N) 중 어느 하나와 통신하도록, 예를 들어, 미디어 콘텐트 또는 웹 페이지와 같은 다른 정보에 액세스하고, 이를 검색하여 디스플레이하도록 본 발명에 따라 구성된다.
도1에 도시된 시스템 내의 여러 요소는 본원에서 상세히 설명될 필요가 없는 종래의 널리 공지된 요소를 포함한다. 예를 들어, 클라이언트 시스템(20)은 데스크 탑 개인용 컴퓨터, 워크스테이션, 랩탑, PDA, 셀 전화, 또는 임의의 WAP로 인에이블되는 장치 또는 인터넷에 직간접적으로 인터페이싱할 수 있는 다른 컴퓨팅 장치를 포함할 수 있다. 클라이언트 시스템(20)은 전형적으로 상기 클라이언트 시스템(20)의 사용자가 인터넷(40)을 통하여 서버 시스템(501 내지 50N)으로부터 이것에 이용 가능한 정보 및 페이지를 액세스하고, 프로세싱하고 보도록 하는 마이크로소프트의 인터넷 익스플로러 브라우저, 네스케이프 네비게이터 브라우저, 모질라 브라우저, 오페라 브라우저, 또는 셀 전화, PAD 또는 다른 무선 장치 등의 경우에 WAP로 인에이블되는 브라우저를 실행시킨다. 클라이언트 시스템(20)은 또한 전형적으로 서버 시스템(501 내지 50N) 또는 다른 서버에 의해 제공된 페이지, 형태 및 다른 정보와 함께, 디스플레이(예를 들어, 모니터 스크린, LCD 디스플레이 등)상에서 브라우저에 의해 제공된 그래픽 사용자 인터페이스(GUI)와 인터페이싱하기 위한 키보드, 마우스, 터치스크린, 펜 등을 포함한다. 본 발명은 네트워크의 특정 글로벌 인터넷워크에 관련되는 인터넷과 함께 사용하는데 적합하다. 그러나, 인트라넷, 엑스트라넷, 가상 사설 네트워크(VPN), TCP/IP에 토대로 하지 않은 네트워크, 임의의 LAN 또는 WAN 등과 같은 다른 네트워크가 인터넷 대신 또는 인터넷에 더하여 사용될 수 있다.
일 실시예에 따르면, 클라이언트 시스템(20) 및 그 시스템의 모든 구성요소는 인텔 펜티엄 프로세서, AMD 에슬론 프로세서 등과 같은 중앙 프로세싱 유닛 또는 다수의 프로세서를 사용하여 실행되는 컴퓨터 코드를 포함하는 어플리케이션을 사용하여 구성될 수 있는 오퍼레이터이다. 본원에 설명된 바와 같이 데이터 및 미디어 콘텐트를 통신하고, 프로세싱하여 디스플레이하기 위해 클라이언트 시스템(20)을 동작시키고 구성하는 컴퓨터 코드는 바람직하게는 하드 디스크 상에 다운로드되어 저장되지만, 전체 프로그램 코드, 또는 그 일부는 ROM 또는 RAM과 같이 널리 공지된 바와 같은 임의의 다른 휘발성 또는 비휘발성 메모리 매체 또는 장치에 저장되거나, 콤팩트 디스크(CD) 매체, 디지털 버서타일 디스크(DVD) 매체 플로피 디스크 등과 같은 프로그램 코드를 저장할 수 있는 임의의 매체 상에 제공될 수 있다. 부가적으로, 전체 프로그램 코드, 또는 그 일부는 널리 공지된 바와 같은 인터넷을 통하여 소프트웨어 소스, 예를 들어, 서버 시스템(501 내지 50N) 중 하나로부터 클라이언트 시스템(20)으로 송신되어 다운로딩되거나, 널리 공지된 바와 같은 임의의 통신 매체 및 프로토콜(예를 들어, TCP/IP, HTTP, HTTPS, 이더넷 등)을 사용하여 널리 공지된 바와 같은 임의의 다른 종래의 네트워크 접속(예를 들어, 엑스트라넷, VPN, LAN 등)을 통하여 송신될 수 있다. 본 발명의 특징을 구현하는 프로그램 코드가 C, C+, HTML, XML, Java, JavaScript, VBScript와 같은 임의의 스크립팅 언어, 또는 클라이언트 시스템에서 실행될 수 있는 임의의 프로그래밍 언어로 구현될 수 있다는 것이 인식될 것이다. 어떤 실시예에서, 클라이언트 시스템(20)으로 코드가 다운로드되지 않고, 필요한 코드가 서버에 의해 실행되거나, 클라이언트 시스템(20)에 이미 존재하는 코드가 실행된다.
도2는 본 발명의 실시예에 따른 미디어 콘텐트를 통신하기 위한 다른 정보 검색 및 통신 네트워크(110)를 도시한다. 도시된 바와 같이, 네트워크(110)는 클라리언트 시스템(120), 서버 시스템(150) 및 서버 시스템(160)을 포함한다. 네트워크(110)에서, 클라이언트 시스템(120)은 인터넷(140) 또는 다른 통신 네트워크를 통하여 서버 시스템(150 및 160)에 통신 가능하게 결합된다. 상술된 바와 같이, 클라이언트 시스템(120) 및 상기 시스템의 구성요소는 인터넷(140) 또는 다른 통신 네트워크를 통하여 서버 시스템(150 및 160)과 통신하도록 구성된다.
일 실시예에 따르면, 클라이언트 시스템(120)을 실행시키는 클라이언트 어플리케이션(모듈(125)로서 표현됨)은 서버 시스템(150 및 160)과 통신하고 본원에 설명되는 바와 같이 그 서버 시스템으로부터 수신된 데이터 콘텐트를 프로세싱하여 디스플레이하기 위해 클라이언트 시스템 및 그 시스템의 구성요소를 제어하는 명령을 포함한다. 클라이언트 어플리케이션(125)은 바람직하게는 클라이어언트 어플리케이션 모듈(125)이 상술된 바와 같이, 플로피 디스크, CD, DVD 등과 같은 임의의 소프트웨어 저장 매체 상에 제공될 수 있을지라도, 원격 서버 시스템(예를 들어, 서버 시스템(150), 서버 시스템(160) 또는 다른 원격 서버 시스템)과 같은 소프트웨어 소스로부터 클라이언트 시스템(120)으로 송신되어 다운로드된다. 예를 들어, 한 특징에서, 클라이언트 어플리케이션 모듈(125)은 이후에 설명되는 바와 같은 다양한 오브젝트, 프레임 및 윈도우에서 데이터를 조작하고 데이터를 렌더링(rendering)하기 위하여 예를 들어, 임베디디 JavaScript 또는 Active X control과 같은 다양한 제어를 포함하는 HTML 랩퍼(wrapper)로 인터넷(140)을 통하여 클라이언트 시스템(120)으로 제공될 수 있다.
부가적으로, 클라이언트 어플리케이션 모듈(125)은 데이터 및 미디어 콘텐트를 프로세싱하는 다양한 소프트웨어 모듈을 포함한다. 예를 들어, 어플리케이션 모듈(125)은 검색 요구 및 검색 결과 데이터를 프로세싱하는 하나 이상의 검색 모듈(126), 데이터 및 미디어 콘텐트를 텍스트와 데이터 프레임 및 능동 윈도우, 예를 들어, 브라우저 윈도우 및 대화 상자로 렌더링하는 사용자 인터페이스 모듈(127), 및 클라이언트(120)상에서 실행하는 다양한 어플리케이션과 인터페이싱하여 통신하는 어플리케이션 인터페이스 모듈(128)을 포함할 수 있다. 어플리케이션 인터페이스 모듈(128)이 본 발명의 특징에 따라 인터페이스하도록 구성되는 것이 바람직한 클라이언트 시스템(120)상에서 실행하는 다양한 어플리케이션의 예는 다양한 이-메일 어플리케이션, 인스턴트 메시징(IM) 어플리케이션, 브라우저 어플리케이션, 문서 관리 어플리케이션, 데이터베이스 어플리케이션 등을 포함한다. 또한, 사용자 인터페이스 모듈(127)은 클라이언트 시스템(120)상에 구성된 디폴트 브라우저(default browser)와 같은 브라우저 또는 다른 브라우저를 포함할 수 있다. 일례로서, 일실시예에 따른 클라이언트 어플리케이션 모듈(125)은 URL:http//help.yahoo.com/ help/us/sbc/browser를 사용하여 Yahoo! Inc로부터 다운로드될 수 있다.
도2를 참조하면, 일실시예에 따라서, 서버 시스템은 검색 결과 데이터 및 미디어 콘텐트를 클라이언트 시스템(120)에 제공하도록 구성되며, 서버 시스템(150)은 예를 들어, 서버 시스템(160)에 의해 제공된 검색 결과 페이지에서 선택된 링크에 응답하여, 웹 페이지와 같은 데이터 및 미디어 콘텐트를 클라이언트 시스템 (120)에 제공한다. 이하에 보다 상세히 설명되는 바와 같이, 일 실시예에서 서버 시스템(160)은 예를 들어, 페이지, 페이지로의 링크 등으로 하나 이상의 인덱스를 파퓰레이팅하는 다양한 수집 기술을 참조한다. 이와 같은 수집 기술은 자동 웹 크롤러(web crawler), 스파이더(spider) 등뿐만 아니라, 계층 구조 내에서 웹 페이지를 분류하고 순위를 매기기 위한 반-자동 분류 알고리즘 및 인터페이스를 포함한다. 어떤 실시예에서, 서버(160)는 또한 예를 들어, 구글로부터의 페이지 순위와 같이 웹 페이지를 프로세싱하여 순위를 매기기 위하여 검색 관련 알고리즘으로 구성된다. 서버(160)는 질의 로그 파일의 형태로 사용자 질의 활동을 기록하도록 구성되는 것을 바람직하다.
서버 시스템(160)은 클라이언트 시스템, 특히 검색 모듈(126)로부터 수신된 다양한 검색 요구에 응답하는 데이터를 제공하도록 구성된다. 서버 시스템(150 및 160)은 단일 구성(organization)의 부분, 예를 들어, Yahoo! Inc에 의해 사용자에게 제공되는 바와 같은 분산형 서버 시스템이거나, 다른 구성의 일부일 수 있다. 서버 시스템(150) 및 서버 시스템(160)은 각각 하나 이상의 서버 및 관련 데이터베이스 시스템을 포함하고, 다수의 서버 및 관련 데이터베이스 시스템을 포함할 수 있으며, 단일 블럭으로 도시되어 있을지라도, 지리적으로 분산될 수 있다. 예를 들어, 서버 시스템(160)의 모든 서버는 서로 매우 인접하게(예를 들어, 단일 건물 또는 캠퍼스에 위치된 서버팜 내에) 위치되거나, 서로 떨어진 위치에 분산될 수 있다(예를 들어, 하나 이상의 서버는 시(A)에 위치되고, 하나 이상의 서버는 도시(B)에 위치됨). 본원에 사용된 바와 같은, "서버 시스템"이라는 용어는 전형적으로 하나 이상의 지리적인 위치에 걸쳐서 또는 국부적으로 분산되는 하나 이상의 논리적으로 그리고/또는 물리적으로 접속된 서버를 포함할 것이다. 부가적으로, "서버"라는 용어는 전형적으로 종래 기술에 공지된 바와 같이, 컴퓨터 시스템과 관련 저장 시스템 및 데이터베이스 어플리케이션을 포함할 것이다.
일 실시예에 따르면, 서버(160)는 클라이언트 시스템(120)으로부터 수신된 검색 질의에 응답하여 사용자에게 검색 결과를 제공하기 위하여 하나 이상의 페이지 인덱스 및 알고리즘으로 구성된다. 어떤 특징에서, 서버 시스템(160)은 부가적으로 클라이언트 시스템(120)으로부터 검색 결과에 응답하여 새로운, 강화된 검색 질의 분석 및 분류 기능을 제공하도록 구성된다.
일 실시예에서, 예를 들어, 서버(160) 상에서 실행하는 프로세스는 검색 질의 및/또는 검색 결과의 문맥 분석을 수행하고 문맥에서 그룹화된 검색 결과로 응답한다. 많은 검색 용어는 포함된 문맥에 따라 상이한 의미를 가질 수 있다. 예를 들어, 사용자가 용어 "Java"를 사용하여 검색을 수행하는 경우, 포함된 문맥은 명확하지 않다. 사용자가 자바 컴퓨터 언어, 인도네시아 섬인 자바, 또는 종종 구어체로 자바라고 칭하는 커피에 관심을 가질 수 있다. 따라서, 상이한 워드는 상이한 워드 의미 및 문맥을 가질 수 있다. 본 발명은 유용하게도 검색 질의 및/또는 결과를 분석하고 사용자의 컴퓨터(120)에서 디스플레이하기 위하여 문맥 내의 결과를 그룹화한다. 예를 들어, 검색 용어 "Java"에 대한 상기 예에서, 서버(160)는 세 개(또는 다른 문맥이 식별되는 경우, 그 이상)의 문맥 또는 워드 의미: 컴퓨터 언어 자바, 자바 섬 및 커피 자바로 그룹화된 검색 결과를 리턴한다. 상기 시스템은 각 문맥과 관련하여 제공된 링크를 갖는 세트의 결과를 디스플레이하거나, 임의의 링크 없이 (사용자에게 문맥을 구별한 만큼 충분한 정보를 갖는) 문맥만을 디스플레이하여 사용자가 관련 링크를 디스플레이하기 위하여 소망하는 문맥을 선택하도록 할 수 있다. 예를 들어, 야후 네트워크 시스템에서, 한 세트의 문맥이 검색 인덱스로부터 페이지로의 한 세트의 링크, 후원 받은 매치에 관련된 링크, 딕셔너리 매치와 관련된 링크 및 인사이드 야후 매치와 관련된 링크를 갖는 각각의 문맥으로 디스플레이될 수 있다.
"Java"와 같은 모호한 의미를 갖는 워드 또는 어구 이외에, 본 발명의 시스템은 일 실시예에서 결과를 반드시 모호하지는 않은 검색 용어에 대한 문맥으로 그룹화하도록 구성된다. 일례는 검색 용어 "Hawaii"에 대하여 리턴된 결과이다. 용어 "Hawaii"는 그 자체로는 모호할 수 있지만, 이와 같은 용어에 대해 리턴된 결과의 문자는 매우 광범위하고, 문자 그대로 "Hawaii"를 논의하거나 언급하는 모든 것에 관련된다. 사용자에게 하나 이상의 유용한 결과를 제공하기 위하여, 본 발명의 시스템은 바람직하게는, 어떤 결과가 실제로 관련되는지의 지식을 레버리징함으로써 검색 결과를 문맥으로 조직화한다. 예를 들어, 하와이의 경우, 상기 시스템은 "Hawaii:travel", "Hawaii:climate", "Hawaii:geography", "Hawaii:culture" 등과 같이 그룹화된 다양한 문맥의 결과를 리턴시킬 수 있다. 예를 들어, 어떤 특징에서, 문맥 식별자가 인덱스 내의 페이지 링크와 관련하여 저장되어, 검색이 수행될 때, 링크가 식별자에 따라 그룹화될 수 있다. 페이지 링크는 다수의 문맥 식별자와 관련될 수 있다. 이와 같은 식별자는 바람직하게는 사용자가 관련 검색을 수행할 때, 시스템에 의해 링크와 자동적으로 관련되지만, 상기 식별자는 또한 변경되어 하나 이상의 관리자의 팀에 의해 수동으로 링크와 관련될 수 있다. 이 방식으로, 다수의 검색으로부터 수집된 지식이 시스템으로 피드백되어, 디스플레이된 검색 결과를 요구하는 사용자에게 더 유익하고 유용하도록 하기 위하여 문맥을 규정하고 재규정한다.
일 실시예에서, 서버(160) 상에서 실행하는 프로세스는 검색 용어의 개념 발견 및 개념 분석을 수행하여 사용자에게 더 의미 있는 결과를 제공한다. 예를 들어, 검색 어구 "New York City"의 경우에, 사용자가 뉴욕(주) 내의 시에 반대되는 바와 같이 뉴욕 시(시 또는 지역)와 관련된 사이트에 관심을 갖는다는 것이 상당히 명백하다. 마찬가지로, "New York City law enforcement"의 경우, 사용자가 뉴욕 시의 법률 집행(예를 들어, 범죄의 구획)에 관련된 사이트에 관심을 갖는다는 것이 명백하다. 그러나, 대부분의 검색 엔진은 검색 어구에서 사용된 바와 같은 용어의 순서에 관계없이 개별적인 용어 "New", "York", "City", "law" 및 "enforcement"을 사용하여 단순하게 검색할 것이다. 본 발명은 유용하게도, 검색 질의를 구성하는 하나 이상의 개념을 식별하기 위하여 검색 어구 내의 용어를 분석하다. 바람직한 특징에서, 시스템은 개념을 식별하고 검색 결과를 분류하기 위하여 검색 용어가 제공되는 순서를 사용한다. 예를 들어, 검색 어구로서 "New York City law enforcement"을 사용하면, 상기 시스템은, 예를 들어, 해싱에 의하여, "New York City" 및 "law enforcement"을 검색 어구에서 두 개의 개념으로 식별하고 두 개념에 대한 결과를 리턴시킨다. 동일한 결과가 "law enforcement in New York City"에 대해 리턴될 것이다. 그러나, "law enforcement in New York City"의 경우, 개념 "law enforcement"과 "New York" 및 "City", 또는 "City law enforcement" 및 "New York"에 토대로 상이한 결과가 리턴될 것이다. 마찬가지로, "enforcement of law in New York City"은 개념 "New York City", "law" 및 "enforcement"을 포함하는 것으로서 식별될 것이다. 그러므로, 개념의 순서는 개념을 구성하는 용어의 순서만큼 중요하지 않다. 바람직한 특징에서, 개념은 페이지 인덱스에 포함되거나, 별도의 개념 인덱스가 구현될 수 있다. "law enforcement"은 문맥에 따르지 않거나, "enforcement of law"과 동일한 것으로 간주될 수 있다는 것을 주의하여야만 한다.
본 발명의 바람직한 특징에서, 질의를 프로세싱하고 질의를 구성요소 유닛으로 분해하기 위하여 질의 프로세싱 엔진이 제공된다. 본 발명의 질의 프로세싱 엔진은 시스템이 개념 발견 및 분석 프로세스뿐만 아니라, 문맥 분석, 모호성 해소 및 검색 질의에 응답하여 사용자에게 리턴된 결과의 품질을 향상시키는 많은 다른 프로세스를 구현하도록 한다. 본 발명에 따른 질의 프로세싱 엔진은 자립형 장치 또는 네트워크에 접속된 시스템, 예를 들어, 본원에 논의된 바와 같은 다양한 질의 프로세싱과 분석 알고리즘 및 프로세스를 실행하는 컴퓨터 시스템에서 구현되거나, 서버 시스템(160)과 같은 검색 서버의 부분, 또는 다른 서버 시스템에 포함될 수 있다.
도3은 본 발명의 실시예에 따른 질의 프로세싱 엔진을 포함하는 시스템을 도시한다. 도시된 엔진(300)은 인터넷 또는 다수의 네트워크 접속, 예를 들어, LAN, WAN, 직접 링크, 배급 매체(예를 들어, CD, DVD, 플로피) 등을 통하여 다수의 소스 로부터 질의 로그 파일(또는 실제 질의)을 수신한다. 소스의 예로는 검색 서버(160)(도1), 또는 검색 서버의 분산형 네트워크에서의 다수의 검색 서버(160), 및 하나 이상의 서버(150)가 포함된다. 질의 로그 파일 소스는 전형적으로 동일한 구성 또는 엔티티, 예를 들어, 야후 서버와 관련되지만, 반드시 그와 같을 필요는 없다. 질의 로그 파일(질의 로그)은 상호 정보와 같은 정보 이론 또는 개념에서 사용될 수 있는 바와 같은 통계적인 방법을 사용하여 질의 엔진(300)에 의해 프로세싱된다. 바람직한 특징에서, 상이한 시간 기간, 예를 들어, 시간, 주 등에 대한 로그가 소망되는 바와 같이 사용될 수 있을지라도, 일간 질의 로그가 사용된다. 질의 로그는 전형적으로 사용자에 의해 제출된 실제 질의, 및 어떤 경우에, 질의하는 사용자의 지리적인 위치, 시간스탬프, 클라이언트 시스템의 IP 어드레스, 쿠키, 클라이언트의 유형(예를 들어, 브라우저 유형) 등과 같은 부가적인 유용한 정보를 포함한다. 질의 프로세싱 엔진(300)은 다양한 질의 로그를 프로세싱하고 그로부터 유닛을 발생시킨다. 유닛, 및 발생 빈도와 같은 관련 통계는 메모리 또는 데이터베이스 파일(310)에 저장된다.
유닛을 발생시키기 위하여 질의 및 질의 로그를 처리하고, 유닛에 토대로 제안을 발생시키는 방법론을 포함하는 질의 프로세싱 엔진의 특징의 예는 2003년 11우러 12일자로 출원되고, 명칭이 "SYSTEMS AND METHOD FOR GENERATING CONCEPT UNITS FROM SEARCH QUERIES"(대리인 명부 017887-011010US)이며, 그 콘텐트가 본원에 완전히 참조되어 있는 미합중국 특허 출원 일련 번호 제10/713,576호에 설명되어 있다.
어떤 특징에서, 질의 프로세싱 엔진(300)은 서버 시스템(160)에서 구현될 수 있다. 사용자 및 페이지 인덱스(165)와 인터페이싱하는 검색 응답 프로세스 이외에, 예를 들어, 질의 프로세싱, 유닛 분해, 유닛 딕셔너리 파퓰레이션 및 통계 분석을 구현하는 소프트웨어가 서버 시스템(160)에서 실행될 수 있다. 다른 특징에서, 질의 프로세싱 엔진(300)은 도4에 도시된 바와 같이 별도의 시스템에서 실행된다. 사용자 시스템(120)으로부터의 질의에 응답하여, 서버 시스템은 질의를 유닛 및 통계가 리턴되는 것을 요구하는 시스템(180)으로 전달한다. 서버(160)는 시스템(180)으로부터의 유닛 및 임의의 통계를 프로세싱하고 사용자의 질의에 응답하는 결과를 제안 및 다른 정보에 따라서 사용자에게 리턴시킨다. 다른 특징에서, 제안은 연속적인 대화로 사용자를 검색 시스템과 관련시키는 방법이다. 제안은 유닛과 그것들의 확장자(extension) 및 연관자(association)에서 포착된 바와 같이 사용자 요구에 대한 매우 복잡한 이해에 토대로 사용자가 다음에 무엇을 탐색하고자 할 수 있다는 것에 관한 힌트 또는 팁이다.
한 특징에서, 유닛 딕셔너리(310)는 유용하게도 실제 검색 결과 이외에 또는 그 대신에 사용자에게 제공될 제안을 발생시키는데 사용된다. 예를 들어, 검색 서버(160) 또는 다른 검색 지능은 유닛 딕셔너리를 제어하는 전문화된 서버, 예를 들어, 도4의 서버(180)로 질의를 전송하거나, 유닛 딕셔너리의 인스턴스(instance)가 검색 서버에 저장될 수 있다. 예를 들어, 유닛을 발생시키는 상기 의사-코드에 규정된 확장자 및 연관자를 사용하여 일 실시예에 따라 제안을 발생시키는 방법론의 예는 2003년 11월 12일자로 출원되고, 명칭이 "SYSTEMS AND METHODS FOR GENERATING CONCEPT UNITS FORM SEARCH QUERIES"이며, 본원에 이미 참조되어 있는 미합중국 특허 출원 일련 번호 제10/713,576호에서 발견될 수 있다.
어떤 특징에 따르면, 본 발명은 종래의 시스템보다 더 유용한 방식으로 더 분명하게 검색 옵션을 드러낸다. 일 실시예에서, 예를 들어, 사용자는 링크된 사이트 내에서 검색할 수 있다. 예를 들어, "Compaq computer"에 대한 검색에 응답하여 사용자는 특히 컴팩 컴퓨터의 판매자로의 다양한 링크를 포함하는 검색 결과를 제공받을 수 있다. 본 발명에 따르면, 사용자는 링크된 사이트 내에서 직접 검색하는 성능을 제공받는다. 예를 들어, 사용자는 대화 상자 내에 다른 검색 용어(들), 예를 들어, "laptops"를 입력하고, 사이트를 선택하고, 이에 응답해서 검색이 새로운 검색 용어(들)을 사용하여 선택된 사이트 내에서 수행된다. 상기 시스템은 바람직하게는, 만약 존재하는 경우, 링크된 사이트에 의해 제공된 검색 기능과 인터페이싱하거나, 검색 기능이 링크된 사이트에 의해 제공되지 않는 경우, 자율적으로 사이트 내의 검색을 수행하도록 구성된다. 리턴된 결과는 사이트 내에서 하나 이상의 페이지로의 링크를 포함하거나, 결과가 페이지와 관련된 검색 기능에 의해 제공된 결과 페이지일 수 있다. 예를 들어, 선택되는 링크된 사이트가 아마존 닷컴인 경우, 상기 시스템은 아마존 닷컴에 의해 제공된 검색 기능에 자동적으로 액세스하고 제공된 검색 형태(들)에 적절한 바와 같은 검색 용어(들)을 삽입한다.
다른 실시예에서, 사용자는 유사하거나 관련된 사이트의 원장소 검색(in situ search) 또는 "사이드웨이(sideway)" 검색을 수행하는 성능을 제공받는다. 예를 들어, 사용자가 날짜(W)에 지점(A)으로부터 지점(B)까지의 비행 또는 비행들에 대한 정보에 관심을 갖는다고 가정하자. 사용자는 에어라인 사이트, 예를 들어, 아메리칸 에어라인 사이트에 직접 액세스하고, 그 사이트 내에서 검색을 수행하거나, "airline" 또는 "air travel" 또는 "American airline" 등에 대한 검색을 요구하고, 디스플레이된 검색 결과 내의 링크로부터의 특정 사이트, 예를 들어, 아메리칸 에어라인 사이트에 액세스하고, 액세스된 사이트 내에서 날짜(W)에 지점(A)으로부터 지점(B)까지의 비행 또는 비행들에 대한 정보를 요구한다. 사용자는 아마도 이용 가능한 다양한 비행에 관한 가격결정 정보(pricing information)를 포함하는 요구된 정보에 관한 아메리칸 에어라인의 사이트로부터의 정보를 지금 보고 있다. 본 발명을 사용하면, 사용자는 유용하게도 새로운 사이트로 수동으로 액세스하여 소망하는 정보를 재입력할 필요 없이, 유사한 결과를 얻기 위하여 동일한 정보, 예를 들어, 지점(A 및 B) 및 날짜(W)를 사용하여 다른 사이트를 검색할 수 있다. 본 발명의 한 특징에 따르면, 사용자는 유나이티드 에어라인 사이트에서 동일한 검색을 수행하기 위하여 명령, 예를 들어, "$.United" 또는 "$. Unitedairlines.com" 또는 유사한 어떤 것을 이하에 더 상세히 설명되는 바와 같은 유니버셜 대화 상자와 같은 대화 상자에 입력하거나, "sideway search" 아이콘을 선택한 이후 또는 오른쪽 클릭과 같은 특정 방법으로 검색 결과 페이지 내의 링크, 예를 들어, 유나이티드 에어라인 링크를 선택함으로써 사이드웨이 검색을 수행한다. 상기 시스템은 식별된 사이트와 인터페이싱하여, 소망하는 검색 결과, 예를 들어, 날짜(W)에 지점(A)으로부터 지점(B)까지의 비행에 대한 가격결정 정보를 목록화 하는 식별된 사이트에서의 페이지를 제공하도록 한다. 사용자가 사이트에 직접 액세스하여 검색 정보를 액 세스된 사이트와 관련된 형태로 입력하는 경우에, 검색 모듈(126)은 이 입력 정보를 저장하고 사이드웨이 검색이 요구될 때, 관련 사이트에서 형태를 채우는데 필요로 되는 이와 같은 정보를 사용한다. 사용자는 물론, 선택된 사이트의 요건에 따라서 새로운 사이트에서 부가적인 정보를 입력할 필요가 있을 수 있다. 이 방식으로, 사용자는 유사한 정보에 대하여 상이한 웹사이트에 걸쳐 유사한 검색을 능률적으로 행하는 성능을 제공받는다.
어떤 특징에서, 페이지 상에 나타난 거의 전체 콘텐트는 사용자에 의해 "변경 가능하다". 예를 들어, 어떤 특징에서, 전체 콘텐트는 사용자가 변경하고자 할 수 있는 모든 것에 대하여 사전-채워진 엔트리(예를 들어, 텍스트 상자, 드롭-다운 상자 등의 내의)를 갖는 형태처럼 보인다. 그래서, 에어라인의 명칭, 여행 날짜, 가격(예를 들어, "내가 입력된 금액보다 가격이 저렴한 어떤 것을 발견했다는 것"을 나타냄), 할당된 좌석, 여행 목적지, 비행 등등을 변경시키는 옵션이 존재할 수 있다. 한 특징에서, 사용자는 페이지 상의 임의의 앵커 텍스트(anchor text) 또는 페이지 링크를 변경하고, 이것을 사용자에 의해 규정된 코드 또는 라벨로 변환할 수 있다. 예를 들어, 사용자는 야후 메일과 같은 메일 페이지로의 링크를 선택하고 이것을 라벨 또는 코드로서 사용할 수 있다. 그리고 나서, 사용자는 예를 들어, "Mail 1"에 대한 참조 명칭을 변경할 수 있다. 이 경우에, 시스템이 (예를 들어, HTML 페이지의 부분으로서) 야후 메일로의 링크를 디스플레이하게 될 때마다, 시스템은 상기 링크를 "Mail 1"을 식별하는 링크로 대체하고, 그것의 선택으로 인해, 여전히 사용자는 야후 메일 계정으로 액세스될 것이다. 마찬가지로, 사용자는 핫메 일 계정과 같은 상이한 이-메일 계정(또는 그 문제에 대한 임의의 다른 지시대상)을 참조하기 위하여 "Mail 1" 라벨의 지시대상을 변경하는 것을 선택할 수 있다. 상기 시스템은 이 코드 또는 라벨의 맵핑을 저장하고, 상기 맵핑은 사용자가 이 라벨을 입력하고 상기 라벨을 나타내는 디스플레이된 링크를 선택할 때마다 식별된 지시대상이 액세스되어야만 한다는 것을 나타낼 것이다.
다른 특징에서, 상기 시스템은 인덱스를 제어함이 없이 검색 결과와 관련된 동적 정보를 제공하기 위하여 회사 사이트 또는 서버와의 실시간 통신 링크를 설정하도록 구성된다. 예를 들어, 일 실시예에서, 서버(160)는 주석, 새로운 요약, 갱신, 촉진 또는 인덱스에 의해 참조된 페이지 또는 제품에 대한 다른 정보를 얻기 위하여 가입 회사(subscribing company)의 서버(150N-2)와의 통신 링크를 실시간으로 또는 주기적으로, 예를 들어, 몇 시간마다 설정한다. 예를 들어, 사용자가 랩탑 컴퓨터에 대한 검색을 수행하는 경우, 많은 결과(예를 들어, 링크)가 리턴되어 디스플레이될 수 있다. 상기 결과는 랩탑 컴퓨터의 다수의 벤더 및 전매자로의 링크를 포함할 수 있다. 일 실시예에서, 본 발명은 검색 결과 페이지(들) 상에 디스플레이될 수 있는 동적 정보를 제공하는 성능을 벤더 회사(예를 들어, 컴팩 또는 소니)와 같은 가입 회사에 제공한다. 상기 정보는 사용자가 찾고 있는 것, 이 예에서 가입 회사 또는 다른 회사에 의해 제조되거나 판매되는 랩탑 컴퓨터에 관한 주석, 요약, 촉진 등을 포함한다. 상기 정보는 디스플레이된 결과 링크와 분명한 관련 없이 디스플레이되거나, 예를 들어, 회사의 사이트 또는 관련 사이트에서 페이지로의 인접 링크로 디스플레이될 수 있다.
바람직한 특징에서, 가입 회사의 서버, 예를 들어, 서버(150)에서 실행되도록 구성된 공정은 서버(160)와 통신하기 위하여 가입 회사에 (예를 들어, 네트워크 접속을 통하여 전송되거나 컴퓨터 판독 가능한 매체 상의 코드로서) 제공된다. 이와 같은 프로세스는 바람직하게는 항상 배경에서 실행되며, 개별적인 검색의 결과로서 또는 인덱스에 의해 참조되는 페이지 및/또는 제품을 식별하는 소망하는 정보를 서버(160)로부터의 질의에 응답하여 제공한다. 수동 정보 갱신이 또한 구현될 수 있고, 여기서 회사의 운영자는 특정 시간 또는 서버(160)로부터의 요구시에 소망하는 정보를 제공한다.
어떤 특징에서, 경매 기능이 이와 같은 서브스크라이빙 회사를 갖는 서버(160)에 의해 구현된다. 예를 들어, 사용자가 "laptop computers"에 대한 것과 같은 검색 결과를 입력할 때, 서버(160)는 인덱스에서 검색을 수행하고 사용자에게 제공될 인덱스로부터 페이지 링크를 식별한다. 다수의 가입 회사가 결과에 의해 참조되는 경우, 그들은 우선 배치(preferential placement), 예를 들어, 결과 페이지 상의 링크의 우선 배치 또는 촉진 또는 다른 정보의 우선 예치에 대해 실시간으로 입찰하도록 허용된다. 바람직한 특징에서, 이와 같은 경매 및 동적 갱신 기능은 인덱스를 변경함이 없이 구현된다. 예를 들어, 사용자가 검색을 입력할 때, 결과는 가입 회사 또는 엔터티와 관련된 사이트에 대한 어떤 디퍼런스(deference) 없이 사용자에게 리턴될 다른 정보 및 링크를 식별하도록 하는 인덱스를 사용하여 결정된다. 결정된 검색 결과(예를 들어, 검색 결과에서 관련된 링크를 갖는 엔터티)에 의 해 영향 받는 가입 회사 또는 엔터티는 경매 또는 갱신 정보를 입력할 성능을 제공받고 검색 결과 페이지상에 디스플레이되는 정보를 갖는다. 경매 명령 및 동적 갱신 정보는 검색이 수행되기 전 제공될 수 있지만, 이와 같은 것은 인덱스 검색에 영향을 미치지 않는다. 예를 들어, 가입자는 명령을 발부하거나 인덱스 내의 특정 검색 텀 또는 텀들과 관련된 갱신 정보를 입력할 수 있다. 명령 및 갱신 정보는 (예를 들어, 포인터를 사용하는 논리적인 로우에서 인덱스 엔트리와 관계하여 저장되는) 인덱스와 통합되도록 하고 검색 결과가 식별될 때에만 사용되도록 한다. 그 후, 이 시스템은 검색 결과와 관계된 임의의 바운드 경매 명령을 토대로 우선순위 순서를 결정한다.
어떤 환경에서, 여러 사이트가 사용하는 경매 전략은 사용자가 누구인지를 고려한다. 예를 들어, 어떤 사용자가 어떤 사이트에 더욱 유용하면, 이로 인해 이들 사이트는 다른 사이트에 비해서 이들을 유인하도록 더욱 좋게 될 수 있다. 다른특징에서, 경매 공정은 다수의 반복을 통해서 진행한다. 예를 들어, 초기 라운드가 종료된 후, 다양한 경쟁자는 다른 사람들이 행한 것을 고려하여 자신들의 명령을 재평가하고 나서 자신들의 명령을 변경한다.
어떤 특징에서, URL, 검색 요청, 조사, 갱신 링크 등과 같은 동작가능한 정보 단일 엔트리 검색 상자가 제공된다. 엔트리 상자는 전체 네트워크에 걸쳐서 지속적으로 이용되는 것이 바람직하다. 본원에 사용된 바와 같이, 엔트리 상자를 검색 상자 또는 유니버셜 대화 상자(UDB)라 칭할 것이다. 유니버셜 대화 상자에는 디폴트 크기 및 로케이션이 제공되지만, 사용자는 원하는 대로 크기 및 로케이션을 재구성할 수 있다. 예를 들어, 사용자는 더욱 많은 버전의 상자를 요청하여, 이들이 예를 들어 여러 질의들을 즉각 입력하거나 그렇치 않다면 많은 량의 동작가능한 정보를 입력할 수 있다. 또한, 사용자는 상자가 툴바로서 포함되거나 브라우저 윈도우의 측상에서 씬 윈도우(thin window)로서 또는 분리된 페인(separate pane)으로서 웹 페이지 상에 제공되도록 지정할 수 있다.
사용자는 (예를 들어, 전체, 코딩된 또는 부분적으로 코딩된 포맷을 사용하여) 단일 검색 요청 텀과 같은 정보 또는 여러 요청/검색을 동시에 입력할 수 있다. 후속될 다수의 URL의 질의 링크 등은 또한 동시에 입력될 있다. 결과는 공간/시간 순서로 차례로 디스플레이되거나 그렇치 않다면 동일하거나 다수의 페이지 내에서 구성될 수 있다. 유니버셜 대화 상자를 사용하면, 사용자는 임의의 그리고 모든 그의/그녀의 요구사항들을 입력할 수 있다. 이 결과는 생성되는 것이 무엇이든지 또한 유니폼 인터페이스에서 나타나는 것이 바람직하다. 어떤 특징에서, 콘텐트과 콘텐트의 의미론(semantic)은 후술되는 바와 같이 어떤 동작이 적용될지를 결정함으로, 또한 어떤 어플리케이션(들)이 기동되는지를 결정한다.
그러므로, 본 발명은 사용자의 마인드셰어(mindshare)를 포착할 뿐만아니라 고품질의 엄청나게 많은 사용자 작용 데이터에 액세스하는 이점을 얻도록 하는 간단하면서 또한 특정한 방법을 제공한다. 이를 고려하는 또 다른 방법은 수동 정보가 작용될 수 있다는 것이다. 오늘날, 사용자는 웹 페이지를 설정할 수 있고 사용자가 선호하는 검색 엔진을 목록화 하거나 북마크를 생성하거나 이들에 관한 이메일을 기록하거나 이들에 대해서 배치하거나, 이들에 대해서 웹 로그를 기록할 수 있다. 이들 모두는 수동 및 부동등 오브젝트(passive and disparate objects)이다. 이 콘텐트는 거기에만 배치된다. 대조적으로, 본 발명은 사용자가 능동 정보를 구축하도록 하는 시스템 및 방법을 제공하는데, 이 정보는 이렇게 하도록 선택하는 어떤 누군가에 의해 작용될 수 있다.
현재까지 수동 정보를 동작가능한 정보로 변환시키는 노력은 부분적으로 성공되지 못했는데, 그 이유는 어떻게 그리고 무엇으로 포맷 콘텐트를 생성하기 때문이다. 많은 정보는 단지 실행 텍스트에 배치되고 콘텐트를 작용시킬 수 있을 정도로 충분히 양호한 실행 텍스트를 "이해"할 정도로 충분히 양호한 자연어 이해 시스템은 아직 존재하지 않는다. 본 발명은 자동적으로 행해지는 이해하는 개별적인 질의 및 구로 지원하기 위한 식으로 자연어를 이해하는 방법을 제공한다.
어떤 특징에서, 본 발명은 또한 사용자에게 단축 기능을 제공한다. 일 실시예에서, 예를 들어, 유니버셜 대화 상자 어플리케이션, 예를 들어 인터페이스 모듈(128)은 컴퓨터 시스템(120) 상에 실행되는 다수의 어플리케이션과 인터페이스하도록 구성된다. 사용자가 소망의 기능에 따라서 각종 파라미터를 입력할 수 있는 대화 상자를 포함한 디스플레이가 사용자에게 제공된다. 어떤 특징에서, 대화 상자는 입력되는 파라미터의 유형을 토대로 각종 기능을 수행하도록 구성된다. 예를 들어, 사용자가 URL을 입력하면, 대화 상자 인터페이스, 예를 들어, 인터페이스 모듈(128)은 입력된 파라미터가 URL이라는 것을 식별하고 바람직하게는 브라우저 어플리케이션을 호출하고 URL에 의해 식별된 사이트와 접속을 설정한다. 사용자가 간단한 텀 또는 구를 입력하면, 예를 들어, 인터페이스 모듈(128)은 검색 모듈(128)에 액세스하여 입력된 텀에 대한 검색을 수행한다. 예를 들어, "get mail" 명령을 입력하면, 인터페이스 모듈은 시스템(128)상에 구성된 이메일 어플리케이션 또는 다수의 이메일 어플리케이션에 액세스하여 인입하는 이메일 메시지 또는 바람직하게는 인입하는 이메일 메시지의 리스트를 검색한다. 예를 들어, 사용자가 텍스트 메시지 및/또는 첨부 표시보다 앞서 "send mail" 명령을 입력하면, 인터페이스 모듈은 이메일 어플리케이션에 액세스하여 메시지를 송출한다. 첨부물이 식별되면, 파일 시스템, 문서 관리 어플리케이션 또는 이외 다른 어플리케이션, 예를 들어 워드 첨부용 MS 워드가 식별된 첨부물을 검색하기 위하여 액세스 된다. 유사하게, 인스턴트 메시징(IM) 어플리케이션을 위하여, 파라미터가 입력되어 인스턴트 메시징 어플리케이션이 액세스되어야 하는 인터페이스 모듈(128)에 대해 식별한다.
인터페이스 모듈(128)은 시스템(120) 상에 상주하는 임의 수의 어플리케이션과 인터페이스하도록 바람직하게 구성될 수 있다. 일 실시예에서, 인터페이스 모듈(128)이 취하는 동작은 입력된 파라미터의 유형에 의해 결정된다. 예를 들어, URLs 및 간단한 텍스트 구와 같은 사전-구성된 파라미터 유형이 사용될 수 있을 뿐만 아니라, 예를 들어 사전-구성된 명령 파라미터 "get mail" 및 "send mail" 또는 "send IM" 등과 같은 더욱 진일보한 파라미터 유형이 구현될 수 있다. 게다가, 한 특징을 따르면, 사용자-구성가능한 파라미터가 사용된다. 예를 들어, 사용자는 액세스될 특정 어플리케이션 및/또는 취해질 특정 동작의 식별자로서 특정 파라미터를 규정할 수 있다. 예로서 "update.calender[date.time.description]" 또는 간단히 "calender[d.t.desc]" 또는 임의의 적절한 포맷 또는 신택스를 사용하는 사용자 가 원하는 어떠한 것을 들 수 있다. 이와 같은 파라미터는 캘린더 어플리케이션, 예를 들어 Microsoft OutlookTM, Yahoo!Calendar, 또는 이외 다른 어플리케이션이 입력된 날짜 및 시간에 대한 디스크립션으로 갱신되어야 하는 인터페이스 모듈(128)에 대해서 식별한다. 사용자는 또한, 다수의 어플리케이션에 링크되는 파라미터를 규정할 수 있다. 예로서, 캘린더 어플리케이션, 예를 들어 Microsoft OutlookTM, Yahoo!Calendar, 또는 이외 다른 어플리케이션이 입력된 날짜 및 시간 에 대한 디스크립션으로 갱신되어야 하고 동일한 정보가 이메일 어플리케이션, 예를 들어 MS OutlookTM, Yahoo!Mail 또는 다른 이메일 어플리케이션을 사용하여 식별된 수신자(들)에 이메일 전송되어야 한다는 것을 식별하는 "calendar.send[date, time, desc., recipientlist]"와 같은 것을 들 수 있다. 이메일 어플리케이션은 결정된 어드레스 및 전송된 정보에 액세스된다. 다른 파라미터 및 라벨은 네트워크 내의 특정 사이트, 예를 들어, 인터넷 또는 사설망 상의 특정 사이트를 식별하도록 생성될 수 있다. 예로서, 사용될 때 amazon.com 웹사이트 내에서 "아규먼트"에 대한 검색을 수행하여 Amazon.com으로부터의 결과 페이지를 사용자에게 보내는 인터페이스 모듈(128)에 대한 Amazon.com 웹사이트를 식별하는 라벨 "Amazon(아규먼트)"를 들 수 있다. 바람직한 특징에서, 단축 마법사 또는 툴이 제공되어 사용자가 파라미터를 규정하도록 하고 이를 어플리케이션 또는 어플리케이션들에 링크시키고 나중 사용을 위하여 이를 메모리에 저장시킨다.
어떤 특징에서, 테이블 또는 다른 데이터 구조는 사전-규정되고 특정한 사용 자 지정된 파라미터, 라벨 및 명령 및 이들이 관련된 대응 어플리케이션 또는 기능 간의 매핑을 저장하는 시스템에서 유지된다. 이 테이블은 인터페이스 모듈(128)에 의해 액세스되어 매핑을 검색함으로써 새로운 매핑을 저장하고 또한 매핑들을 다른 시스템 및 사용자에 전달한다. 도5는 코드, 라벨 및 파라미터의 전달, 저장 및 검색을 수행하는 시스템(400)의 일 예를 도시한 것이다. 도시된 바와 같이, 클라이언트 시스템(420)은 서로에 통신가능하게 결합되고 인터넷과 같은 네트워크(460)를 통해서 서버 시스템(460)에 결합된다. 한 특징에서, 서버 시스템(460)은 임의의 사용자가 사용하도록 사전-규정된 코드, 라벨 및/또는 파라미터의 세트를 저장한다. 임의의 사용자 규정된 코드, 파라미터, 라벨은 사전-규정된 세트(462)와 함께 메모리(464)에 저장된다. 예를 들어, 사용자에 의해 생성된 고객 세트는 하나 이상의 개별적인 매핑 테이블에 저장될 수 있거나, 이들 세트는 사전-규정된 세트(462)의 일부 또는 전부와 함께 더 큰 테이블에 결합될 수 있다. 클라이언트 시스템(420) 상에 저장된 코드북은 통상, 널리 공지된 바와 같은 메모리 모듈, 가령 RAM, ROM, 하드 드라이브 또는 휴대용 매체(예를 들어, CD, DVD 등)에 저장된다. 도면의 (400)은 또한, 클라이언트 시스템(420) 및 서버 시스템(460)에 의해 검색되어 이들 간에 전달되는 코드북("(C)"로 표시)을 도시한다. 각 코드북은 단일 매핑, 예를 들어 단일 코드, 라벨, 또는 파라미터를 포함할 수 있거나, 다수의 매핑을 포함할 수 있다. 바람직한 특징에서, 코드북은 HTTP, FTP, DMA 등과 같은 널리 공지된 프로토콜 및 기술을 사용하여 전달, 요청, 전송, 액세스 등등이 될 수 있는 오브젝트이다.
바람직한 특징에서, 유버버셜 대화 상자는 사용자, 예를 들어, 시스템(120) 및 서버 시스템(160) 간에 양방향 지속 통신 채널을 제공한다. 게다가, 유니버셜 대화 상자는 주로 각종 웹 페이지 상에서 사용자에게 디스플레이되어, 사용자의 브라우저가 디스플레이되고 있는 것과 관계없이 사용자가 이 대화 상자를 이용할 수 있도록 하는 것이 바람직하다. 예를 들어, 유니버셜 대화 상자는 어떤 어플리케이션을 사용자가 사용하고 있을지라도 또는 네트워크 내의 어떤 페이지 또는 사이트에 사용자가 현재 액세스하고 있을지라도 네트워크에 액세스하면 사용자에게 항상 디스플레이되는 것이 바람직하다. 이 방식으로, 대화 상자의 검색 및 인터페이스 기능뿐만 아니라 서버(160)의 지능(intelligence)은 항상 사용자에게 제공된다. 대안적으로, 유니버셜 대화 상자는 통상 제공되어 있는 툴바로 제공될 수 있다. 도6은 일 실시예를 따른 UDB(500)를 포함하는 GUI 디스플레이 페이지의 예를 도시한 것이다 도시된 바와 같이, UDB(500)는 예를 들어 키보드, 마우스 등과 같은 인터페이스 장치를 사용한 사용자 입력을 수신하기 위한 입력 인터페이스를 제공한다. 도6에 도시된 특정 GUI 디스플레이 페이지는 Yahoo! 시스템 내의 메일 서버에 의해 서비스되는 Yahoo!Mail 사용자 페이지를 표시한다.
어떤 특징에서, 서버(160) 상에서 실행되는 프로세스는 대화 상자를 사용하여 사용자를 위한 정보 전달을 최적화할 때 사용자에 의한 활동도를 추적할 수 있다. 예를 들어, 서버(160)는 현재 및 과거 활동도를 토대로 사용자 검색 요청을 예측하거나 장차의 데이터 전달을 최적화하기 위하여 사용자에/로부터 정보 전달에 관한 과거 정보를 레버리지하도록 구성된다. 후자의 예는 시스템(120)으로부터 시 스템(220)에서의 제2 사용자로 이메일을 전송하는 한 사용자이다. 서버(160)는 제2 사용자의 지속적인 양방향 채널을 통해서 제2 사용자의 활동도를 추적하고 제2 사용자가 통상 이메일과 상반되는 IM 어플리케이션을 통해서 통신을 수신하는 것이 바람직하다라고 식별할 수 있다. 서버(160)는 이 정보를 제1 사용자에 통신시키도록 구성될 수 있으며, 또는 서버(160)는 매개체로서 작용하고 제2 사용자의 바람직한 IM 어플리케이션을 사용하여 이메일 메시지를 인스턴스 메시지로 변환시키도록 구성될 수 있다. 유사하게, 사용자 시스템상의 인터페이스 모듈(128)은 단독으로 또는 서버(160)와 협동하여 정보 및 메시지를 통신시키고 변환시키도록 구성될 수 있다. 대안적으로, 인터페이스 모듈(128) 및/또는 서버(160)는 어떤 통신 문맥 인지 및/또는 메시지 문맥 인지를 이 상황을 토대로 동작을 취할 수 있다. 즉, 사용자는 단문 메시지가 인스턴트 메시징에 의해 전달되지만 이보다 긴 메시지는 이메일에 의해 전달되는 것을 원할 수 있으며, 또는 사용자는 특정 사용자로부터의 메시지 또는 특정 주제 또는 주제들에 관한 메시지가 특정 수단에 의해 전달된다 라고 결정할 수 있다. 서버(160) 및/또는 모듈(128)은 이와 같은 사용자-구성된 동작을 토대로 및/또는 사용자에 의한 사용 패턴(사용자는 무효로할 수 있다)을 토대로 적절한 동작을 취할 수 있다.
사용자 규정된 파라미터 및 라벨은 호환될 수 있는 것이 바람직하다. 예를 들어, 시스템(12)에서의 사용자는 파라미터 또는 라벨, 또는 개인용 코드북 내의 파라미터 또는 라벨 세트를 시스템(220)에서의 제2 사용자에게 제공할 수 있다. 파라미터를 각종 어플리케이션(들)에 링크하는 언더라잉 코드(underlying code)(예를 들어, 매핑을 보유하는 테이블/데이터 구조)가 또한 전달될 수 있다. 단일 라벨 또는 파라미터 또는 코드북의 전달은 가령 파일 전송에 의해 직접 행해질 수 있거나, 통신, 예를 들어 이메일 또는 IM에서 파라미터 또는 라벨을 사용함으로써 실행될 수 있다. 통신에서 라벨 또는 파라미터를 수신하는 제2 사용자는 예를 들어 메시지 내의 URL과 대단히 유사하게 파라미터 또는 라벨에 대해 클릭함으로써 이 파라미터 또는 라벨에 액세스한다. 라벨 또는 파라미터 또는 코드북의 선택은 또한, 수용 및 저장, 수정(예를 들어, 한 어플리케이션으로부터 상이한 어플리케이션까지의 링크 또는 레퍼런스를 변경)등에 대한 옵션들과 함께 언더라잉 연결 코드(underlying linkage code)를 제2 사용자로의 전달을 실행하는 것이 바람직하다. 이 방식으로 개인용 라벨의 공유는 사용자 간의 정보 통신을 크게 강화시킨다. 예를 들어, 제1 사용자와 관계하는 공유된 라벨 "금주의 선호 영화"는 매 주마다 변경된다. 이와 같은 정보를 주기적으로 제2 사용자에게 다시 통신하는 것이 아니라, 제1 사용자는 다른 영화로의 링크에 대한 레퍼런스를 단지 수정할 수 있다. 제2 사용자에 의해 액세스되거나 선택될 때, 인터페이스 모듈(128)은 예를 들어 서버(160)를 통해서 갱신된 레퍼런스에 액세스하고 (제2) 사용자의 시스템상에 갱신된 정보를 디스플레이 한다.
이하의 장은 본 발명의 각종 특징 및 실시예에 따라서 특히 유니폼 대화 상자, 코드 및 라벨의 각종 장점, 특징, 특징 및 사용을 목록화 한 것이다.
어떤 특징에서, 유니버셜 대화 상자는 네트워크상의 어느곳에서나 또는 그 밖의 곳에서 깊게 매립될 수 있는 정보를 사용자가 즉각 입수하도록 하는 메커니즘 을 제공한다. 예를 들어, 일부 사용자는 자신들의 캘린더 온라인을 유지한다. 본 발명에 의해, 사용자는 자신들의 다음 약속을 지키기 위하여 "my cal next" 및 오늘의 약속을 지키기 위하여 "my cal today" 등과 같은 간단한 구로 타이프할 수 있다. 이들은 심지어 자신들의 캘린더를 갱신할 수 있다. 예를 들어, "my cal update David Tue 10 am"은 이 약속을 자신들의 캘린더로 적절하게 배치한다. 이와 같은 간단한 동작을 위하여 사용자가 자신들의 캘린더로 갈 필요가 없다. 마찬가지로, t사용자는 "my portfolio"와 같은 간단한 구를 단지 타이핑함으로써 즉각 자신들의 스톡 포트폴리오가 얼마나 가치가 나가는지를 알 수 있다. 사용자는 또한, 동일한 방식으로 "my Yahoo!" 페이지에서 엔트리들을 갱신할 수 있다. 그로 인해, 예를 들어, 사용자가 "$. Chicago next Tuesday"와 같은 (코딩된) 구를 입력함으로써 그들이 살고있는 곳으로부터 시카고까지 가장 값싼 항공편을 찾을 수 있는데, $.은 그 사람의 홈 에어포트(home airport)와 관계한다.
어떤 특징에서 유니버셜 대화 상자는 즉각적으로 모든 부류의 일을 행할 수 있는 능력을 사용자에게 제공하는 셸 프롬프트 또는 리스프 인터프리터 프롬프트(shell prompt or a lisp interpreter prompt)와 유사하다. 예를 들어, 사용자는 산술 계산을 행할 수 있다: 5543+343*321=정확한 결과를 발생시킬 것이다. 사용자는 환전을 행할 수 있다: A$40=US?. 사용자는 시간대 변환을 할 수 있다. 사용자는 전세계의 어느곳에서도 현재 시간을 알 수 있다. 국내 또는 국제 전화 번호가 제공되면, 사용자는 현지 시간과 호출할 최적의 시간을 알 수 있다. 어떤 특징에서, 본 발명은 또한 모든 부류의 정확한 질문에 대해 정확한 답을 지원한다. 예를 들어, 이의 일부는 아르헨티나의 인구는?과 같은 "Prolog style"일 수 있다. 그로 인해, 사용자는 참/거짓 질문할 수 있다. "아르헨티나의 인구는 적어도 6천만명이다". 마찬가지로, "xyz에 대한 영화 시간" 및 단지 이 영화 시간만이 답신된다. "~하면 어떨까" 질의가 또한 제공될 수 있다. 그로 인해, 예를 들어, 사용자는 YHOO가 50까지 급등하였다면 자신들의 스톡 포트폴리오가 이와 유사한지를 질의할 수 있다.
사용자는 간단한 규칙들을 만들어 저장할 수 있다. 기존의 규칙들의 많은 라이브러리가 어떤 특징에서 제공된다. 예를 들어, 사용자는 이 규칙을 입력하여 복리를 계산한다. 그 후, 특정 상황에서 자신들의 자본의 컴파운디드 밸류(compounded value)를 계산하기 위하여, 사용자는 단지 초기 자본, 이자율, 및 기간을 나타낼 필요가 있다.
UDB에 의해 제공되는 맞춤화 및 개인화(customization and personalization)는 이를 신뢰성 있는 시스템으로 만드는 열쇠이다. RealNames 및 AOL 단축 등은 여러 해 경험했지만 절반의 성공을 거두었다. 어떤 특징에서, 본 발명은 이들 시스템과 상반된다. 사용자는 자신들이 참조하길 원하는 것이 무엇이든지 얼마나 자신들이 참조하길 원하는지를 제어한다. 매핑은 단지 특정한 키워드가 아니라 일반적인 키워드(이는 최대 이득이 있을 수 있는 경우이다)에 대해서 설정될 수 있다. 종래 시스템은 이와 같은 매핑을 제공할 수 없다.
한 가지 특징으로서 우편 번호, 나이 및 성별을 토대로 한 개인화가 제공된다. 예를 들어, 질문 "날씨!"는 사용자의 위치를 토대로 처리되어 사용자에게 그 곳의 날씨에 대한 요약을 발생시킨다.
단축은 사용자가 다른 곳에서 순수 항법(pure navigation)을 신속하게 입수하도록 하는 유일한 방법이 아니라, 오히려 모든 부류의 필요사항들을 콤팩트하고 손쉽게 입력하여 사용자가 어디에 있든지 즉시 행한/완료된 모든 부류의 일들을 입수하도록 하는 유니폼 방법을 사용자에게 제공하는 기술이다. 단축은 또한 사용자가 다양한(잠재적으로 복잡한) 방법으로 조정하길 원하는 오브젝트에 관계하도록 하는 콤팩트한 방법이다. 단축이 고려될 수 있는 여러 방법이 가장 직관적인 방법에 병합되어 사용자가 혼동을 일으키지 않도록 한다. 이의 열쇠는 항법 뷰(navigation view) 및 "어디에서 행해졌든지 행해진 작업을 입수하는" 뷰가 실제로 다르지 않다는 것을 인지하는 것이다. 이 뷰에서, 예를 들어 "games!"와 같이 자신들의 요구를 표현할 때 Yahoo! Games을 사용자가 입수하는 것은 사용자가 "날씨" 또는 "보스톤 날씨"를 타이프할 때 사용자가 "보스톤의 날씨"를 입수하는 것과 거의 다르지 않게 된다.
한 특징에서, 사용자가 원하는 경우, 북마크 또는 디렉토리 목록화와 같이 웹상의 기존 콘텐트는 레버리지되고 맵으로 자동적으로 트랜스레이트될 수 있다. 마찬가지로, Yahoo!와 같은 서버상의 콘텐트 또는 서버의 세트는 예를 들어 매핑에 대한 디렉토리를 포함하여 변환될 수 있다. 그로 인해, 예를 들어 "Cat $ 15"는 사용자를 특정 카테고리에서 15번째 링크로 직접 이동시킬 수 있다. 앵커 텍스트, URL, 질문-대-결과 맵 등은 레버리지될 수 있는 기존의 매핑의 다른 예이다.
유니버셜 대화 상자는 사용자가 자신의 요구를 그것들이 발생할 때 즉시 그리고 직접 입력하도록 하기 위하여 하나의 중앙 장소를 제공한다. 사용자는 예상하 는 요구- 자신이 미래에 종종 가질 것 같은 요구를 또한 입력할 수 있다. 완전한 인터페이스 필요로 되는 요구인 경우, 전환될 요구가 인식되고, 예를 들어, 적절한 어플리케이션을 기동함으로써 전이가 끊김 없이 발생한다.
사용자는 자신의 어떤 목적을 달성하기 위하여 행할 필요가 있는 고-레벨 목표 및 태스크와 관련되어야만 한다. 이 점에서, 일반적으로, 사람에게 이-메일을 전송하는 것은 그 자체로는 양호하게-규정된 목표가 아니다. 목적의 더 양호한 진술(statement)은 한 사람이 다른 사람에게 어떤 정보를 전달할 필요가 있고, 이-메일이 그것을 행하는 (많은) 특정 메커니즘들 중 하나라는 것이다. 그 정보는 이미 오브젝트로서 존재하거나 사용자가 그 종류의 오브젝트의 생성에 적절한 어떤 특정한 방식으로 그것을 우선 생성할 수 있다. 그리고 나서, 그것을 다른 사람에게 전달하는 문제가 발생하며, 사용자가 행하는데 필요한 모든 것은 소망하는-동기, 비동기, 지연된, 특정 시간 또는 특정 문맥, 음성, 텍스트 등에서 이용 가능하게 되는 통신의 종류를 규정하는 것이며, 이-메일, 즉석 메신저, 또는 음성 메일과 같은 적절한 저-레벨 루틴 및 어플리케이션은 오브젝트가 전달되는 적절한 시간 및 적절한 방식으로 기동된다. 설정되는 맵핑(맵) 및 패턴으로 인하여, 사용자가 정보가 전달되는 방법을 규정할 필요가 없다는 것을 주의하라. 문맥, 상황, 콘텐트의 의미론 등으로부터, 대부분의 경우에, 상기 시스템은 행할 적절한 것을 이해할 수 있다. 잠재적인 모호성이 존재할 E 사용자는 가이드로서 도움을 요청받는다. 예를 들어, "meet David 10 am"은 캘린더 엔트리가 작성되도록 하고, 이-메일이 전송되도록 하며, 경보가 설정되도록 하는데 충분하다. 한 특징에서, 메시지는 한 모드에서 최적으로 송신자를 떠나지만, 수신자의 특정 문맥 및 상황으로 인하여 다른 모드에서 수신자에게 전달될 수 있다.
이 점에서, "sending an object by e-mail"은 "sending a web page", "sending a Yahoo message", "publishing a web page(sending to a host)" 등에 매우 속박된다. 이-메일을 읽는 것은 더 관련되지 않는다. 이-메일을 읽는 것은 차례로, "reading a web page", "reading a local file", "reading a Yahoo message" 등과 매우 관련된다. 사용자 인터페이스의 관점에서, 어플리케이션-이메일, 캘린더, 여행 부킹, 접촉 리스트 등-은 본질적이고, 전체적이며, 통합되고 불가분의 어떤 것으로서 보여질 필요가 없어야만 한다. 실제로, 그것들은 사용자에게 거의 투명하고, 많은 경우에 사용자가 인식할 필요도 없는 단순히 어떤 저-레벨 메커니즘의 일부이다. 일반적으로, 사용자는 단지 그들이 행할 필요가 있는 태스크 또는 검색을 규정하고, UDB 시스템은 적절한 기능/툴/어플레케이션/검색을 자동적으로 제공한다.
유니버셜 대화 상자 방법이 단지 인터페이스 변화가 아니라 오히려, 방식 서비스의 근원적인 시프트가 사용자에게 제공된다는 것을 주의하는 것이 중요하다. "단축"이 라벨링/코딩 맵보다 훨씬 더 일반적이라는 것을 인식하는 것이 중요하며; 사용자가 자신의 요구를 간단한(예를 들어, 자연적이거나 제어된 어휘, 명령법-스타일) 언어로 표현할 수 있고 가능한 한 직접 자신의 소망을 충족시킬 수 있다.
본 발명에 의한 키 인사이트 레버리지(key insight leaverage) 중 하나는 다음: 임의의 특정 사용자가 갖는 정보 요구가 상당히 복잡할 수 있다는 것이다. 그 러나, 사용자가 할 필요가 있는 것의 대부분(80-90%)은 자신들(또는 예를 들어, 그들의 그룹 내의 다른 어떤 사람)이 과거에 행하여서 적절하게 파라미터화된 것과 유사하다. 이것은 사용자가 미래에 이것을 행하는 것을 더 용이하게 레버리징할 수 있는 패턴이 자신이 과거에 행하였던 것에 토대로 생성되는 경우, 사용자에게 상당히 이익이 되는 이유이다. 라벨/코드 맵은 패턴을 생성하고 나서 레버리징하는 방식이다. 사용자가 자신의 캘린더 내로 엔트리를 작성할 때, 이-메일에 의해 자신의 비서에게 항상 통지하는 경우, 우리는 이들에 대한 자동적인 동작을 작성할 수 있다. 사용자가 많은 것을 하고자 하는 경우 - 예를 들어, 많은 이-메일을 전송하고 수신하고자 하는 경우, 자신의 캘린더를 광범위하게 조직하고, 광범위한 스톡 포트폴리오 분석(stock portfolio analysis) 등을 실행하는 경우, 사용자가 어플리케이션 또는 툴이 제공하는 완전한 인터페이스를 사용하는 것이 더 좋다. 그러나, 오늘날의 바쁜 작업 환경에서, 사람들은 각각의 이러한 종류의 것들을 간헐적으로 행하도록 강요받는다는 것이 사실이다. 전형적인 사용자의 태스크 패턴 시퀀스는 이-메일에 응답하고, 전화 호출에 응답하고, 스프레드시트에 데이터를 입력하고, 막 도착한 새로운 이-메일을 읽고, 자신의 캘린더에 미팅 스케쥴을 입력하는 것일 것이다. 어떤 특징에서, 유니버셜 대화 상자 인터페이스는 마음에서 이 작업 패턴으로 설계된다.
단축아이콘은 시스템 또는 네트워크를 통하여 시스템에 이용 가능한 정보/툴/어플리케이션의 완전한 웰스(wealth)를 노출시키는 기회를 제공한다. 일단 개별적인 사용자에게 특정된 맵이 설정되면, 특정 사용자가 소망하는 많은 것이 자동적으 로 발생할 수 있다.
유니버셜 대화 상자가 사용자와 웹(야후를 포함함) 사이의 양 방향에서 대화를 강화하는데 유용한 키포인트이다. 사용자를 위한 시작이 적극적으로 취해지고, 단순히 그들의 요구에 응답하는 것이 아니라, 예상하는 조치가 취해질 수 있다. 그러므로, 한 특징에서, UDB 시스템은 바람직하게는 적극적이며, 사용자의 요구를 예상한다. 간단한 사고 실험(thought experiment)은 이 방법의 파워를 매우 적절하게 설정한다. 사람이 망(또는 컴퓨터)에서 어떤 것을 행하지만, 행하는 것이 직접적인 충분한 것이 아니기 때문에 행할 수 없다는 것을 생각할 때, 사람의 일상생활 직장 및 집에서의 모든 예를 고려하자. 요즘 어떤 것은 행하는데 네 단계를 취하며 아마도 두 단계는 너무 많다. 시간의 기간에 걸쳐, 우리 각각에 대해, 우리가 우리의 소망을 실행하지 못하게 하는 유일한 것이 우리가 성취하고자 하는 것을 달성하는 것과 관련된 어려움일 때, 수 백 가지의 경우가 존재한다. 유니버셜 대화 상자는 이러한 수 백 가지의 경우를 몇 십 개 또는 몇 개 또는 하나로 감소시키는 방법을 제공한다.
코드/라벨 맵은 일상생활에서 통상적이지만 거의 웹상의 임의의 의미 있는 형태로 존재하지 않는 것을 포착하는 방법이다. 매일의 대화에서, 사람들은 몇 개의 그들의 그리고 다른 사람들의 오브젝트, 그들이 좋아하는 것과 싫어하는 것, 그들의 선호도, 그들의 삶에서 발생되었거나 미래에 발생할 것 같은 이벤트(말하자면, 그들이 2 달 내에 결혼하는 것), 그들이 취하거나 취할 계획이 있는 동작 등등을 언급한다. 본 발명은 사용자가 이와 같은 언급을 포착하거나 친구, 동료, 가족, 또는 심지어 전체 웹과 공유할 수 있도록 하는 특정한 방식을 제공한다.
하나의 사용자 인터페이스 설계는 유니버셜 대화 상자가 페이지의 측 상에 좁고 길며, 스크롤 가능한 윈도우로서 나타나도록 할 수 있다. 그 공간의 다양한 지점에서, 사용자는 자신의 요구를 입력할 수 있다. 자신의 과거 대화의 완전한 (또는 부분적인) 내력이 그들에게 이용 가능하다. 이와 같은 대화 상자의 하나의 장점은 사용자가 자신들의 다음 요구를 입력하기 위하여 스크롤 업 또는 스크롤 다운할 필요가 없다는 것이다. 상자가 좁지만 긴 경우, 사용자는 자신들이 단일 개념을 각각 포함하는 한 세트의 라인 내에 입력하는 질의를 분해할 수 있다. 예를 들어, 그들은 제1 라인에 "날씨", 제2 라인에 "뉴욕", 제3 라인에 "이번 주"를 입력할 수 있다. 상술된 바와 같이 사용자 질의를 개념으로 분해하기 위하여 복잡한 알고리즘이 제공되지만, 사용자가 질의를 한 세트의 개념으로 입력하도록 조장하면, 사용자와의 대화가 다소 더 쉽고 풍부해질 수 있다.
단축아이콘은 단지 사용자가 특정 어플리케이션에 대한 상이한 인터페이스로 진행할 필요성을 제거하는 것에 관한 것이 아니라, 상이한 툴 및 어플리케이션이 제공될 수 있어서 몇 가지가 동일한 문맥에서 동시에 기동될 수 있도록 하는 부가-값을 해석하는 것에 관한 것이다. 예를 들어, 이-메일 및 구성적인 차트가 링크될 수 있다. 또는, 사람이 사용자가 어떤 사무실 빌딩의 사무실에 도착하는지를 질문하는 이-메일을 수신하는 경우, 위치를 나타내는 빌딩의 맵이 자동적으로 제공되거나 디스플레이된다. 이 종류의 부가적인 부가-값 특성이 유니버셜 대화 상자를 통해 제공되며, 이 특성 사용자는 그들이 임의의 특정 어플리케이션에 대한 완전한 인터페이스로 향하는지를 얻을 수 없다.
사용자는 그것이 무엇이든 간에, 현재의 오브젝트를 참조하기 위하여 Perl-like $를 사용한다. 이것은 질의, 웹 사이트, 링크, 또는 어떤 다른 오브젝트를 참조할 수 있다. 또한, 참조하기 위한 $4와 같은 코드는 그들이 좋아하는 엔진을 말한다. 그래서, 예를 들어, 당신이 상이한 검색 엔진에서 실행했던 질의를 실행하기 위하여, 타이핑할 모든 사용자 요구는 $5$_이다.
다양한 유닉스-스타일의 강력한 데이터/오브젝트 조정 옵션이 본 발명의 어떤 특징에서 제공된다. 예를 들어, 사용자는 <any site, search string>에서 입력할 수 있고, (하나가 존재하는 경우에 우리의 검색 엔진 또는 사이트의 검색 엔진 중 하나에서 실행되거나, 둘 모두 상에서 실행되는) 그 검색 스트링에 대한 그 사이트로부터 결과를 얻을 수 있다.
본 발명은 실제로 유니버셜 라벨링을 가능하게 한다. 사람들은 그들이 좋아하는 어떤 것을 요청할 수 있다. 라벨 및 코드는 문자에서 임의적일 수 있는데, 사용자가 원하는 것에 대해 완전히 개인화될 수 있다. 그것들은 문자와 수, 시퀀스, 또는 아이콘 또는 각각의 어떤 혼합의 스트링일 수 있다. 모든 사용자는 광범위한 라벨/맵을 포함할 수 있는 코드북을 갖는다. 모든 것이 라벨링될 수 있다. 사람들이 라벨링될 수 있고, 책과 잡지 및 CD와 같은 다른 실제 세상 오브젝트도 라벨링될 수 있다. 질의와 같은 워드의 임의의 시퀀스가 라벨링될 수 있고, 특정 이벤트가 라벨링될 수 있으며, 모든 온라인 특성 및 웹 사이트가 라벨링될 수 있고, 웹 페이지의 그룹이 라벨링 될 수 있고, 유명인사, 장소, 집 코드 등이 또한 라벨링될 수 있다. 그래서, 예를 들어, "my flight tomorrow"는 한 시간에서의 특정 오브젝트 및 다른 시간에서의 다른 오브젝트를 참조하는 라벨이다. 상기 라벨은 파라미터화되어서, 자동적으로 조정된다. 예를 들어, "my flight next week"는 일단 금주가 종료되면, "my flight this week"가 된다.
라벨은 개인용이다. 사용자는 자신들이 어떤 라벨을 선택하든지 간에, 할당시에 충분한 유연성을 갖는다. 맵에 대한 제안이 부분적으로 사용자 또는 사용자의 그룹의 암시적인 작용을 토대로 제공될 수 있다. 마찬가지로, 본 발명은 사용자에게 개인화된 팁을 제공하여 자신들의 요구가 만족된다는 것을 확인하는 것을 돕도록 한다.
코드 북 내에 친구 및 가족의 접촉 정보가 포함될 수 있다. 또한, 비상 전화번호가 포함될 수 있다. 그래서 Amy는 "Richard's phone number"를 (그들이 좋아하는 경우, 코딩된 형태로) 타이핑하여 그 응답을 즉시 직접적으로 얻을 수 있다. 코딩된 형태는 나의 제4 친구에 대한 전화번호를 의미하는 "$f4 ph"일 수 있다. 모든 코드 및 라벨은 사용자가 어떻게 - 전화에 의해서, 데스크탑, 또는 임의의 이동 장치를 사용하여 서비스를 기동하든지 간에 이용 가능한 것이 바람직하다.
코드북은 전체적으로 또는 부분적으로 공유 가능한 것이 바람직하다. 예를 들어, 코드북의 몇 개의 공적이고 사적인 부분이 존재할 수 있다. 코드북의 부분들은 전 세계, 단지 친구 및 가족의 일부, 직장 동료의 일부 등과 공유될 수 있다. 코드북은 그룹 및 조직체에서 사용하기 위하여 구성될 수 있다. 이것들은 조직체에 걸쳐 공유될 수 있다. 일부 사용자는 실시간으로 또는 어떤 필터링 이후에 일부 또 는 모든 사람과 공유 가능한 자신의 유니버셜 대화 상자 대화를 기꺼이 가질 수 있다. 이 방식으로부터 임의의 분야의 전문가는 정보를 발견하여 사용하고, 그 밖의 모든 사람은 이 방법으로 이익을 얻을 수 있다. 그래서, 사용자는 어떤 특정 시점에서 친구의 코드 또는 남의 코드를 사용하도록 선택할 수 있다. 예를 들어, 그들은 "Richard's favorite SE", 또는 "the movie Rechard saw last weekend"를 요청할 수 있다.
이미-존재하는, 예를 들어, SMS 등에서 사용되는 코드 및 라벨은 레버리징될 수 있다. 그것들 자체를 코딩하는 단축아이콘이 존재할 수 있다. 예를 들어, 다수의 의미로 다중-레벨 코드가 존재할 수 있다. 예를 들어, 코드($1 내지 $5)는 5 개의 상이한 검색 엔진이지만, 사용자는 특정 시점에서 이러한 5SE 중 특정한 하나를 지적하는 "my favorite sear engine"에 대한 코드를 가질 수 있다. UDB는 코드에 토대로, 적절한 검색 엔진(뿐만 아니라, 브라우저 어플리케이션)을 기동할 것이다. 동일한 코드/라벨은 상이한 시간에 상이한 오브젝트를 참조할 수 있다. 예를 들어, 지시대상은 동적으로 변화할 수 있다. 예를 들어, 코드 "last issue of this periodical"은 최근의 문제가 무엇인지를 참조한다. 코드의 특정 카테고리는 지속적인 것이 필요로 될 수 있다. 마찬가지로, 코드 "My friend Richard's favorite bookstore"의 지시대상은 리차드의 좋아하는 서점이(리차드에 의해 표시되는 바와 같이) 변화할 때마다, 자동적으로 변화할 수 있다.
코드를 사용하여, 오브젝트의 그룹 - 질의, URL 링크 등이 동시에 검색될 수 있다.
코드는 반대 방법으로 또한 사용될 수 있다. 즉, 지시대상이 제공되면, 사람은 그것을 지적하는 모든 코드를 식별할 수 있다. 이것이 사용자를 기쁘게 하는 경우, 참조된 것 - 오브젝트에 대한 참조가 존재할 때마다, 그들은 자동적으로 위치된 대체로서 또는 부가적으로 라벨(들)을 가질 수 있다.
완전한 형태의 코드는 다중-레벨일 수 있다. 이와 같은 코드에 대한 몇 개의 사전-규정된 템플릿(template)가 존재할 수 있다. 예를 들어, <whose codebook, topic, specific object>은 어떤 세트의 코드의 포맷일 수 있다. 코드<$f5, $t1, $3>에서, $f5는 특정 친구일 수 있고, $t1은 "수학"일 수 있고, $3는 확률 그 친구의 좋아하는 텍스트북일 수 있다. 마찬가지로, 다른 템플릿 <manufacturer, product>일 수 있다. <$2, $p1>는 소니의VCR인 반면 <$2, $p2>는 소니의 디지털 카메라이다.
'이' 오퍼레이터의 등가물은 단축을 위하여 제공될 수 있다. 예를 들어, $3!q는 사용자가 거기서 입수하는 질의에 대한 사이트 $3에서의 검색을 의미한다. 일부 사전-규정된 코드가 있을 수 있는데, !c는 이 컨테스트를 위한 것일 수 있으며, !s는 현재 사이트를 위한 것일 수 있으며, !!s는 이전 사이트를 위한 것일 수 있으며, !p는 현재 페이지를 위한 것일 수 있으며, !!p는 이전 페이지를 위한 것일 수 있으며, !!-유니버셜 대화 상자에서 이전 명령일 수 있는, 등등이다.
본 발명의 또 다른 관련된 특징은 일부 오브젝트의 부분을 선택적으로 변경하고 또다시 질의를 실행하도록 하는 성능이다. 예를 들어, 사용자가 "hotels in miami"에 대해서 검색하고 나서 사용자가 !m tampa를 입력하면, 새로운 질의는 "hotels in tampa"로서 해석된다. 실제로, 우리는 훨씬 더 강력한 기능을 지원하여 우리가 개념들의 카테고리에 관해서 갖고 있는 지식을 레버리지 한다. 예를 들어, 제2 질의 "!q tampa"는 "hotels in tampa"에 대해 검색하는 데 충분하게 된다. 카테고리 정보를 레버리지 하면, "tampa"는 "hotels"이 아나라 "miami"를 대체를 대체하여야 한다는 것을 알 수 있다. 그러나, 사용자가 "!q restaurants"을 입력하면, 새로운 질의는 "restaurant in miami"와 등가로 된다.
워드뿐만 아니라 모든 부류의 필터는 예를 들어 직접적인 방식으로 이전 질의에 부가될 수 있다.
어떤 코드북은 구축되어 가족, 친구, 및 동료에 걸쳐서 공유될 수 있다. 이들은 전체 그룹의 사람들, 예를 들어 회사 내의 엔지니어링 팀에 걸쳐서 유용하게 되는 라벨을 포함한다.
이하의 부류의 애너포릭 레퍼런스(anaphoric references)는 또한 지원된다("my"는 이것이 감지되는 어느곳에서든지 "our"로 대체될 수 있다), 즉 나의 주소, 나의 이웃(!n), 나의 시간대, 내가 좋아하는 페를 튜토리얼(perl tutorial), 내가 좋아하는 물리 교과서, 나의 우편번호(!z), 나의 ms행, 나의 스톡 포트폴리오, 나의 펫 상점, 나의 파머시, 나의 헤어 드레서, 나의 코블러, 나의 와이프의 은행, 나의 도서관, 나의 친구가 좋아하는 페를 사이트, 나의 친구의 회로, 내가 방문한 최근 스포츠 사이트, 내가 방문한 최근 파이썬 사이트(python site), 내가 파이썬 사이트를 방문한 후 내가 방문한 사이트, 내가 크리켓에 대해서 행했던 가장 최근의 검색, 등이 지원된다.
어떤 레퍼런스는 물리적 점수(또는 자신의 온라인 버전)에 대한 것일 수 있다. 예를 들어, "my bookstore"는 Amazon일 수 있고 "my search engine"은 Yahoo!일 수 있다. "my cdstore"는 Yahoo! Shopping일 수 있다. 일부 레퍼런스는 오프라인 오브젝트에 대한 것일 수 있다. 예를 들어, <$2, 0, 11, 7>은 인쇄된 신문의 현재 이슈의 11번째 페이지상의 7번째 URL에 대한 레퍼런스일 수 있다. 어떤 문맥에서, 오브젝트의 전체 범위는 범위 오퍼레이터를 사용하여 특정될 수 있다. 그래서, $7:12는 7 및 12 간의 모든 코드에 관계될 수 있다.
코드는 설계에 의해 프리픽스-자유로울 수 있다. 예를 들어, $2378은 $2$3$4$8을 기록하는 콤팩트한 방법일 수 있다.
각종 라벨에 대한 바람직한 표기법은 사용자에 의해 시간에 걸쳐서 작업될 필요가 있을 수 있다. 예를 들어, "the last I visited on baseball"에 대해서, 코드 !sbaseball은 충분히 양호화게 될 수 있다. 코드는 또한 프로그래밍 언어에서 매크로처럼 작용하는 것으로 간주되고 플레인 텍스트와 상호혼합될 수 있다. 예를 들어, $t1이 철학이고 $2가 니체이면, $t1@2ean 심미학은 "The philosopy of aesthetics as Nietzsche"와 관계할 수 있는데, 여기서 $t1@03는 철학자 니체에 관계한다.
라벨/코드는 현재 시간, 이 시간, 오늘, 어제, 지난 주 등을 위하여 제공될 수 있다. 예를 들어, 사용자는 "last week's log" 또는 "last week's periodical"에 대해 콤팩트하게 질의할 수 있다. 사용자는 어느 해의 어느 달에 대한 캘린더를 불러올 수 있다.
일반적으로, 코드는 사용자가 하고 싶어할 때 사용자에 의해 생성된다. 사용자는 코드가 나중에 유용할 수 있다라고 시스템이 간주할 때 코드를 생성하도록 프롬프트될 수 있다. 예를 들어, 사용자가 복잡한 질의 타이프하고 유용한 결과 세트를 찾도록 하면, 시스템은 어떤 리콜하는데 용이한 코드에 의해 유용한 질의에 관계하는 옵션을 이들에 제공할 수 있다. 이때, 당연히 이와 같은 질의는 재사용될 수 있음으로 재사용되고 코드북이 공유될 수 있기 때문에 공유될 수 있게 된다.
코드/라벨 그들 차제는 복잡한 구조일 수 있다. 각 코드에 대한 짧은 디스크립션 및 긴 디스크립션이 존재할 수 있다. 또한 여러 가지 다른 속성이 존재할 수 있다. 사용자에게는, 사용자가 하기 원하는 것이 이것이라면 이들 복잡한 구조의 일부 특징을 직접 조정하도록 하는 인터페이스가 제공될 수 있다. 어떤 문맥에서, 다층 코드 상황에서 임의의 더 높은 레벨의 코드가 어떤 시간 동안 다루기 힘들 수 있다. 예를 들어, 사용자가 Richard의 코드북을 채택하면, 우선, 그들이 사용하는 모든 코드는 이로부터 도출되는 것으로 추정될 수 있다. 어떤 코드북이 코드를 해석할 수 없는 경우, 또 다른 더욱 일반적이며/특정한 것이 조사되도록 하는 대안이 적절하게 제공될 수 있다.
사이트의 그룹에 속하는 코드의 예는 "all the sites I usually visit each evening"이다. 특정 작업 및 스크립트를 위한 코드/라벨이 있을 수 있다. 예를 들어, "book travel"은 코드 $1일 수 있다. "the movie I saw last week", "the movie I saw this weekend", "the movie I am planning to see tomorrow", "the movie my friend Richard saw two weeks ago" 등과 같은 개념을 위한 코드/라벨이 있을 수 있다. 영화 시간이 조사되거나 예약이 Yahoo! 네트워크상에서 행해지면, 이와 같은 맵을 설정하기 위하여 사용자들로의 프롬프트가 제공될 수 있다.
본 발명은 오브젝트가 위치하는 어느곳에서든지 라벨로부터 오브젝트로의 매핑을 제공한다. 예를 들어, 어떤 사용자에 대해서, "my travel agent"는 Expedia일 수 있다. 그 후, UDB는 거기서 즉각, 직접적으로 그리고 노력없이 이들을 취한다.
코드북은 공유될 수 있고 이 구현방식에 구축된 바이러스성 효과가 존재한다. 사용자가 자신들의 매핑을 설정할 때, 사용자가 현재 이 특징에 기여하고 있다는 것을 통지받는 자신의 가족 및 친구가 좋아하는지를 질의할 수 있다. 마찬가지로, 새로운 매핑이 코드북에 부가될 때, 관심을 둔 사용자는 통지받을 수 있다. 유사하게, 매에 대한 지시사항이 변경될 때, 관심을 둔 사용자는 자동적으로 통지받을 수 있다.
북마크에 대한 수, 페이지상의 링크 등이 참조될 수 있다. 예를 들어 $b37은 어떤 카테고리에서 37번째 북마크와 관계된다. 가능한 모호하게 하지 않도록 할 수 있는 충분한 초기 문자를 입력함으로써 이를 찾을 수 있다.
사용자는 질의를 표현하는 특수한 방법을 제공받을 수 있다. 예를 들어, 선행 및 " 후속"을 갖는 이중 인용을 배치하는 대신에, 사용자는 단지 prefix\w.만을 배치할 수 있다. 코드는 또한 질의에 대한 특정 해석을 하도록 사용될 수 있다. 예를 들어, "$a 97 Honda"는 이것이 주소라는 것을 의미할 수 있다. 질의는 특수한 탈출 시퀀스를 포함하여 검색 엔진이 특정 디폴트 작용을 무효화하도록 한다. 예를 들어, (코드 또는 전체적으로 관계되는) URL이 특정 웹 사이트로 직접적으로 진행 하도록 하는 요청으로서 해석되는지 여부는 URL에 앞서 단일 문자로 표시될 수 있다.
단계의 시퀀스는 간단한 코드로서 코딩될 수 있다. 예를 들어, 페이지 P로가서 링크 L상에서 클릭, 그 결과의 페이지에 대해 링크 L'상에서 클릭하고 나서 해당 페이지를 나에게 리턴시키기 위한 코드일 수 있다 (이는 파라메터화될 때 훨씬 더 의미가 있게 될 것이다). 이의 특수한 경우는 직접적인 "I feel lucky" 특징인데, 이는 임의의 질의 q에 대해서, 제1 결과가 어떤 것이든지 사용자가 취한다.
어떤 맵은 아이템의 세트로 될 수 있다. 예를 들어, $s는 5 내지 10개의 검색 엔진에 맵할 수 있다. "Play BBC" 또는 "launch BBC"는 Yahoo! 또는 다른 포탈에서 BBC를 플레이하도록 설정될 수 있다. 특정 사용자가 전에 "BBC"와 관련하여 행한 유일한 것이 이를 론치하는 것이면, 질의 "BBC"는 충분히 양호하게 된다. 이 방식으로, 이런 종류의 여러 부류의 명령이 급작스럽게 가능하게 된다. 통상적인 부류의 북마크는 이 종류의 기능을 지원할 수 없다.
사용자는 마음대로 다른 사람들의 라벨/코드/북마크를 선택할 수 있다. 이들은 또한 모든 부류의 스트립트, 패턴, 매크로, 등을 또한 선택할 수 있다.
지원되는 기능의 다른 예는: "mail $5: see you in 1 minute" 또는 " show me unread mails" 또는 "show me all mails(and/or messages received in the last 24 hours" 또는 " move this mail/message to $7 folder"를 포함한다. 더욱 긴 이메일은 또한 유니버셜 대화 상자의 더욱 큰 버전을 사용하여 기록될 수 있다.(유니버셜 대화 상자는 재크기화가능한 x-윈도우로 간주될 수 있다. 사용자가 선택하는 크기가 무엇이든지 이들은 또 다른 크기를 선택할 때까지 고정된 채로 유지된다). 아마도, 유니버셜 대화 상자를 위한 더 좋은 명칭은 유니버셜 대화 윈도우이다. 정보, 툴 및 어플리케이션의 (네트워킹된) 세계에서 어떤 누군가에 필요로 되는 것은 단지 윈도우이다.
지원된 명령의 다른 카테고리는: " publish this at my Geocities page", "show me the following file on my desktop", "send this web page to $5(with the following comment):..."등을 포함한다. 지원된 또 다른 종류의 명령은: "finde David in $_"인데, 여기서 현재 문맥은 웹 페이지, 이메일, 웹 사이트, 이메일 폴더일 수 있다.
본 발명은 2가지 방법으로 특정 결과에 대한 질의 맵의 개념을 확장한다. 질의는 의미론적으로 이 질의에 대응하는 모든 패턴을 포함하도록 확장될 수 있다. 예를 들어, 사용자는 "hotel in seattle" 또는 "hotels in seattle", "wa" 또는 "seattle hotels"를 타이프하여 동일한 결과를 얻는다. 이 맵의 결과는 또한 단지 단일 결과를 넘어서 무언가로 확장될 수 있다. 예를 들어, 사용자가 어떤 질의의 결과의 2 또는 3 또는 4를 보는 것으로 규칙적으로 나타내면, 질의를 정확하게 결과으 서브셋에 링크시키는 맵이 제공될 수 있다. 본 발명은 또한 한 결과로부터 다음 결과로 항해하도록 하는 간편한 방법을 제공한다.
접촉 정보는 직접적으로 액세스, 부가 수정되도록 될 수 있다. 사용자는 또한 임의 부류의 리스트, 행하고자 하는 것의 리스트, 쇼핑 리스트, 그로서리 리스든 무엇이든지 를 생성하기 위하여 유니버셜 대화 상자를 사용할 수 있다. 툴 및 어플리케이션은 어떤 특징에서 이와 같은 리스트를 위한 요소를 사용자가 자동 생성하도록 하는 제공된다. 예를 들어, 사용자는 자신들이 다음에 갈 장소 또는 이동 중에 예를 들어 집에서 직장으로 가는 길에 이들이 구입할 것을 필요로 그 밖의 어떤 것을 잊어버릴 수 있다. 사용자는 셀-폰이 설치된 자신들의 차로부터 시스템에 액세스하여 텍스트-대-음성 기술을 이용하여 사용자에게 판독 출력되는 리스트의 관련 부분을 가질 수 있다.
어떤 특징에서, 모든 부류의 수동 콘텐트가 작용될 수 있다. 이는 링크가 아니라 단지 플레인 텍스트인 콘텐트를 포함한다. 예를 들어, 페이지 상의 어떤 곳에 표현 리스트가 제공되면, 사용자는 질의로서 5번째 및 7번째 표현 실행을 의미하는 "$q$57"를 요청할 수 있다. 맵은 단일 지시대상 부류에 대한 단지 단일 아이템을 필요로 하지 않는다. 이들은 패턴을 규정하기 위한 규칙적인 표현의 사용을 포함한다. 예를 들어, 사용자는 어떤 부류를 구성하는 임의의 질의에 대해서, 즉 국내 US 도시에 대해서 , 그러한 결과 및 정보가 그러한 순서로 나타나는지를 질의할 수 있다. 그래서, 일반적으로, 맵은 질의/요구 패턴으로부터 지시대상(하나 또는 다수)까지이다. 질의 패턴은 사용자에 의해 제안되거나 본 발명의 질의 카테고리화 알고리즘에 의해 발견될 수 있다.
맵은 특정 질의 또는 질의 패턴에 대해서 네트워크 사이트의 부분, 예를 들어 IY(Inside Yahoo!)(콘텐트를 직접 보기 위하여)에 직접 액세스할 수 있다. 마찬가지로 디렉토리 콘텐트에 대한 맵이 가능하다.
사용자는 그들이 좋아하는 자신의(맞춤가능한) 환경 변수를 설정할 수 있다. 어떤 환경 변수 값은 심지어 사용자가 자신의 질의/요구를 입력하기 시작하기전 일련의 명령을 통해서 설정될 수 있다. 기존의 맞춤화 옵션은 직접 환경 변수로 변환될 수 있는데, 이 변수 값은 사용자가 유니버셜 대화 상자에서 변경할 수 있다. 이하 종류 "find meeting times this week for $2"의 더욱 복잡한 동작이 또한 지원되는데, 여기서 $2는 어떤 프로젝트 상에서 작업하는 사람들의 특정 팀과 관계한다.
또 다른 일반적인 동작 유형은 "리스트 x"인데, 여기서 x는 임의 각종 사물이다. 리스트의 인터섹션 및 유니온은 또한 어떤 특징에서 지원된다. 예를 들어, "리스트 x 및 y"는 이들 두개의 리스트에서 공통되는 무엇을 보여주는 것을 의미하는 반면에, "리스트 x 또는 y"는 어느 하나 또는 둘 다를 나타내는 것을 보여준다는 것을 의미한다.
일출, 일몰, 달의 상태, 개인적인 호로스코프(horoscope) 등은 또한 유니버셜 대화 상자에서 즉시 이용될 수 있다. 예를 들어, "my horoscope"는 사용자는 매일 또는 매주 호로스코프를 얻을 것이다. 사용자는 그 밖의 모든 곳으로부터 맵을 임포트하도록 조장될 것이다. 심지어 사전-규정된 레퍼런스는 맞춤화되어, 사용자가 임의의 사전-규정된 라벨과 관계하는 자신의 라벨을 선택하도록 한다. 사용자는 자신이 관심을 둔 특정 분야에 콤팩트하게 관계할 수 있다. 예를 들어, 사용자는 "my entertainment bookmarks" 요청을 행할 때, 시스템은 사용자에게 오락 카테고리에 속하는 자신들의 북마크를 보여줄 수 있다.
사용자는 그 결과의 수를 단지 입력함으로써 직접 특정 결과로 갈 수 있다. 예를 들어, $r$7은 사용자를 임의의 결과 블록에서 7번째 결과로 직접 이동시킬 것이다. 이는 후원된 검색 결과(sponsored search results) 예를 들어 IY뿐만 아니라 주요 검색 결과에 대해서 작업한다. 사용자는 "소거"와 같은 명령을 사용하여 UDB를 소거할지 또는 이 세션동안 심지어 전체 히스토리를 소거할지를 질의할 수 있다.
오브젝트의 번들은 라벨될 수 있다. 예를 들어, 질의 스트링이 선호도와 동반된다. 마찬가지로, 코드뿐만 아니라 코드북의 관련부분이 동반되어 코드의 어플리케이션 결과가 더욱 손쉽게 사용자들 간에서 공유되도록 할 수 있다. URL 완성은 자동으로 되어, "go ebay"는 "go www.ebay.com"으로서 해석되도록 한다. 사용자 의도는 어떤 특징, 즉 개인 및 군집에서 레버리지 되어 사용자에게 제공할 가장 적절한 작용을 결정하는 것이 중요하다.
다음 부류, "opening hours Fry's $."의 옐로우 페이지 질의가 또한 지원되어 현지 Fry's 상점의 개장 시간을 알게 된다.
검색 결과 페이지(들)(및 다른 페이지)에서 블록이 명백하게 표시되면, 사용자는 간단한 코드를 사용하여 임의의 여러 장소로 점프할 수 있다. 예를 들어, "$s4"는 사용자를 4번째 후원된 검색으로 이동시키며, "$i3"는 사용자를 제3의 IY 결과로 이동시키는, 등등을 할 수 있다. 사용자는 즉각 방문될 여러 링크를 규정할 수 있다. 예를 들어, 사용자는 후원된 검색 3 및 웹 결과 14를 의미하는 $s3r14를 입력할 수 있다. 사용자는 또한 유니버셜 대화 상자에서 명시적으로 맵을 설정할 수 있다. 예를 들어, 사용자가 좋아하는 일부 품목에 구를 제공하면, 사용자는 이 "구:$_"를 단지 타이프함으로써 이 구를 웹 페이지에 매핑할 수 있다.
맵은 지시대상의 특성에 대해서 매우 정확하게 행해질 수 있다. 오늘날의 앵커 텍스트, URL 및 질의는 이 특성을 지원하지 못한다. 예를 들어, 맵은 지시대상이 단일 웹 페이지 또는 웹 사이트 또는 웹 사이트의 세트라는 것을 명백하게 나타낼 수 있다. 이들은 또한, 이들 오브젝트의 특정 부분들을 지적할 수 있다.
사용자는 관계하길 원하는 지시대상이 무엇이든지 임의의 자연 또는 사적 언어(natural or private language)로 라벨을 생성할 수 있다. 예를 들어, 사용자는 영어 콘텐트에 대해서 중국어로 라벨을 입력할 수 있다. 사용자는 심지어, 영어 구 및 중국어 구 간에서 자신의 맵을 설정할 수 있다. 사용자가 영어 콘텐트를 볼 때, 장소에 상관없이, 영어 엔트리에 대응하는 중국어 구가 원래 텍스트 이외에 또는 이 원래 텍스트의 대체로서 이용될 수 있다. 목록화 되는 지시대상이 또한 지원된다. 예를 들어, 사용자는 특히 최근 가십(gossip)을 찾는데 열중하고 있는 유명인사의 리스트를 유지하길 원할 수 있다. 사용자는 유니버셜 대화 상자를 사용하여 마음대로 아이템을 이 리스트에 부가 또는 이 리스트로부터 아이템을 삭제할 수 있다.
유니버셜 대화 상자를 통해서, 과거에 사용된 임의의 특정 도구 또는 어플리케이션의 히스토리를 사용자는 즉각 불러올 수 있다. 따라서, 예를 들어, 사용자는, 자신이 읽고/쓴 마지막 5개의 이메일을 입수할 수 있거나 Yahoo 맵 상에서 행한 마지막 7개의 맵 룩업을 입수할 수 있으며, 또는 Yahoo 옐로우 페이지를 사용하여 조사된 마지막 10개의 비지니스 조사, 등등을 할 수 있다. 더욱 엄밀하게는, 툴 또는 어플리케이션은 배경부에 서술되어 있음으로 명시적으로 언급될 필요는 없다. 즉, 이들은 "마지막 5개의 방향" 또는 "마지막 5개의 비지니스 조사" 등에 대한 질의를 간단화할 수 있다. UDB 시스템은 어떤 도구가 수반되는지를 결정하여 이들 도구에 정확한 리스트를 리턴시킨다. 이는, 사용자가 최근에 본 무언가를 사용자가 다시 볼 필요가 있을 가능성이 매우 높다는 "최신(recency)"효과 때문에 매우 중요한 특징이다.
본 발명은 또한 인터넷상의 재료를 즉각 조사할 능력을 제공한다. 예를 들어, 유니버셜 대화 상자를 사용하여 회의실에서 동료의 전화 번호를 찾을 수 있다. 사용자는 어느곳에 입력되어 있는 임의의 데이터를 통해서 반복할 수 있다. 사용자가 입력한 데이터는 자동적으로 맵으로 변환딘다. 예를 들어, 사용자가 이 세션 동안 5개의 상이한 형태로 10개의 데이터 아이템을 입력한 경우, 사용자는 단지 이에 대한 레퍼런스를 입력함으로써 사용자가 어떠한 형태로 입력한 것을 다시 입수할 수 있다.
사용자가 행하고자 하는 어떤 이동 방식들을 사용자가 완전히 규정하기 전 여러 형태들이 때때로 사용자에 의해 채워지도록 되기 때문에 복잡한 질의들은 여러 단계를 거쳐서 구축될 수 있다.
어떤 특징에서, UDB 시스템은 코드 맵 특징들의 턴닝-컴플리트 세트(Turing-complete set)를 지원한다. 예를 들어, "if" 및 "while" 표현법 둘 다가 지원된다. 예를 들어, 맵, "YHOO>25가 스톡 브로커 사이트로 가서 이와 같은 정보를 입수하면"으로서 구축된 패턴이 있을 수 있다.
인간의 뇌가 텍스트보다 더 효율적으로 시각적인 아이콘을 인지하는데 동조되기 때문에, 맵에서 레퍼런스로서 아이콘의 사용은 또한 구현된다.
본 발명은 맵의 지시대상이 맵 자체가 되도록 한다. 본 발명은 또한 최초 동작 결과에 적용될 수 있는 리스프-스타일 "eval"-형 오퍼레이터의 등가물을 지원한다. 예를 들어, "eval('movie Richard saw last weekend')"은 사용자를 검색 결과 페이지 또는 이 특정 영화를 위한 특정 페이지로 이동시킬 수 있다.
어떤 특징에서, 더욱 복잡한 질의 경우에 이를 지원하기 위하여 더욱 큰 유니버셜 대화 상자가 제공되는데, 그 이유는 사용자가 자신의 요구와 관계한 자신이 알고있는 모든 것을 입력하도록 지원하기 때문이다. 예를 들어, 사용자가 찾고자 하는 오랜동안 잃어버렸던 친구에 대해서 사용자가 알고 있는 모든 것, 즉 가장 먼저 이름, 친구가 간 대학, 거주지, 작업처 등을 입력할 수 있다. 그 후, 검색 기능은 이 정보를 처리하여 상기와 같은 개념 유닛(concept units)을 결정하며, 일련의 질의를 발생시키며, 대응 검색 결과를 융합하고, 융합된 결과를 사용자에게 제공한다.
본 발명은 매우 복잡한 질의 완성 특징을 제공한다. 사용자가 타이프할 때, 관련된 워드 및 유닛이 도시된다(드롭-다운 상자에 나타날 수 있다). 이들은 관련된 검색을 토대로 할 수 있지만 개개 사용자의 전유물이 될 수 있다. 예를 들어, 사용자가 "sf"로 타이프할 때, 날씨, 호텔, 식당 등을 보여주는 드롭-상자는 부분적으로 이 사용자가 "sf"에 대해서 과거에 검색했던 것을 토대로 보여질 수 있다. 사용자는 질의의 한 부분을 보유하는 것과 유사한 크로스-프로턱트(cross- prodcuts)인 질의들을 명시적으로 또는 암시적으로 입력할 수 있다. 예를 들어, 장소 A로부터 B 및 C를 거쳐서 D로 비행하면, 각 장소의 날씨를 즉각 조사할 수 있다. 또한, D 근처의 방향, 지도, 식당 및 호텔 모두를 즉각 조사한다.
크로스-프로턱트 질의는 사용자가 맵으로서 갖고 있는 2개 이상의 리스트를 인터섹션함으로써 생성될 수 있다. 예를 들어, 사용자가 이동하는 사이트들의 리스트 및 사용자가 각각에 관해서 찾을 필요가 있는 것들의 리스트를 사용자는 가질 수 있다. 이들 리스트 각각이 4개의 아이템을 각각 가지면, 사용자는 "11×12"와 같은 간단한 명령에 의해 16개의 질의를 발생시킬 수 있다.
사용자가 라벨 및 질의를 더욱 손쉽게 입력하도록 하기 위하여, 본 발명은 더욱 더 상세하게 필요로되는 사용자 규정으로서 증분적으로 나타내는 드롭-다운 상자를 제공한다. 본 발명은 또한 드래그 및 드롭 질의 정보 인터페이스를 제공하여, 사용자가 자신들의 요청을 생성하고자 할 때 텍스트 스트링, 아이콘, 코드 등을 입력할 수 있도록 한다.
사용자는 특정 뉴스 아이템 또는 경매 아이템(또는 사용자가 추적하고자 하는 것이 그 밖의 무엇)에 매핑할 수 있다. 예를 들어, 새로운 스토리가 브레이크되고 사용자가 큰 관심을 둔 것으로 보여질 때, 시스템은 사용자가 이에 대한 코드/라벨을 생성하고자 할지를 질의하여, 사용자가 더욱 손쉽게 이 디벨롭먼트(devlopmetns)를 추적할 수 있도록 한다.
사용자가 필요로하는 것들의 세트를 사용자가 (코딩된 형태로) 한번에 규정할 수 있고 이들은 한 페이지 상에 또는 클로스-니트 페이지(close-knit pages)의 그룹으로서 개별적으로 나타난다. 예를 들어, $2$5$7$9는 다시 샌프란시스코 지도들, 날씨 및 호텔 모두를 즉각 다시 입수할 수 있다. 그래서, 사용자가 추적하고자 하는 어떤 경기의 "최근 크리켓 점수"를 즉각 찾을 수 있다. 사용자가 추적하고자는 어떤 항공편에 대해서도 사용자는 "최근 비행 정보"를 찾을 수 있다. 군집 가능성(aggregate possibilities)이 또한 존재한다. 예를 들어, 사용자는 특정 검색 카테고리를 위하여 (사용자의 동료들 중에서)가장 선호하는 검색 엔진에서 검색을 실행할 것을 요청할 수 있다. 사용자는 도한 맵을 설정하여, 어떤 검색 카테고리에 대해서, 한가지 특정 검색 서비스의 세트를 우선 참조하도록 한다.
더욱 큰 유니버셜 대화 상자는 관련된 검색이 사용자의 원래 요청 다음에 즉각 사용자에게 보여지도록 한다. 요청이 모호할 때, 시스템은 사용자에게 가능한 해석 리스트를 제공하는데, 이 리스트로부터 사용자는 그 당시 자신들이 표현하고자 하는 것을 선택할 수 있다. 질의가 모호하면, 시스템은 요구의 가장 유사한 해석들에 대응하는 결과를 동일한 결과 페이지 상에(명백하게 분리된 블록 또는 여러 타이트한-니트 페이지에서)상에 보여줄 수 있다. 사용자가 본 어느 하나가 관심을 둔 것일지라도, 시스템은 더 많은 것을 보여줄 수 있다. 예를 들어, 사용자가 요청으로서 "java"를 타이프할 때, 결과의 한 블록은 프로그램된 언어 해석에 대응할 수 있으며, 또 다른 한 블록은 커피 빈 해석에 대응할 수 있고 또한 다른 한 블록은 인도네시아 섬 해석에 대응할 수 있다.
사용자는 복잡한 다단계 동작들을 콤팩트한 형태로 표현할 수 있다. 유닉스-스타일 파이프와 유사하게 만들어 질 수 있다. 예를 들어, 사용자는 프로그래밍 언 어로서 자바에 속하는 결과들을 보여주는 것을 의미하는 "Java|프로그래밍 언어"에 대해 요청할 수 있다. 사용자는 또한 "Java|프로그래밍 언어 배제"에 대해 요청할 수 있다. 이의 열쇠는 시스템이 사용자들에게 자신들의 어떤 선택 기준을 토대고 이 결과들을 필터링하도록 요구하는 능력을 제공하는 것에 달려있다. 사용자는 또한 한 소스로부터 또 다른 장소로 전송된 정보를 입수할 수 있다. 예를 들어, "$. Hawaii wed 1 week|mail $5"는 수요일에 출발하여 1주 동안 그리고 이를 $5로 메일링하여 내가 살고있는 곳으로부터 하와이로 가장 값싼 여행 옵션을 내가 입수한다는 것을 의미할 수 있다. 마찬가지로, 사용자가 자신들의 캘린더에 무언가를 입력할 때, 자신들의 비서가 메일을 보내도록 하거나 그들이 만나는 사람에게 메일이 보내지도록 프로그램될 수 있다(또는 사용자가 명시적으로 요청할 수 있다). 에를 들어, "update David 10 Wed|mail $7".
여러 소스들로부터의 데이터 및 이들 소스에서의 계산을 포함하는 관심을 두고 있는 기능이 또한 지원된다. 예를 들어, "$_| 앵커 텍스트 공개:..."는 제공된 바와 같은 앵커 텍스트를 지닌 사용자의 홈 페이지에 대한 링크로서 막 판독되는 이메일의 첨부물을 공개할 수 있다. 사용자는 또한 재지향 오퍼레이터를 사용하여 어떤 콘텐트를 어떤 파일에 배치한다. 사용자는 또한 어떤 콘텐트를 어떤 파일로부터 판독할 것을 요청한다. 예를 들어, 일부 이들의 질의는 파일에 있을 수 있다. 사용자는 이들 모두를 하나씩 실행할 것을 요청할 수 있다. 유사하게, URL은 파일에 잇을 수 있고, 사용자는 대응하는 페이지가 하나씩 방문되는 것을 원할 수 있다.
"Go to the URL in David's last e-mail"과 같은 표현은 또한 이해되어 즉각적으로 작용된다. 사용자는 모든 부류의 공유된 오브젝트에 액세스한다. 예를 들어, 사용자는 "calendar David today"에서 타이프할 수 있고 그의 친구 또는 동료를 David의 캘린더를 직접 본다.
드래그 및 드롭과 다른 간단한 인터페이스는 사용자가 복잡한 질의를 생성하도록 하는데 제공된다 이들은 데이터 흐름을 표시하는 이들 간의 동작 및 화살표를 표시하는 상자로 시각적으로 도시될 수 있다. 아무리 복잡하고 문맥이 많을 지라도, 모든 질의는 저장, 공유 및 재사용될 수 있다. 모든 부류의 패턴(아무리 복잡할지라도)은 저장, 필요에 따라서 파라메터화되어, 지시대상이 시간에 따라서 변경될 수 있도록 한다.
사용자는 단지 "$4;$3;$7;$9"를 타이프함으로써 하나의 연속적인 스트림라인 방식으로 최대 4개의 다른 사이트에서 에어라인, 호텔, 식당 및 차량 렌탈을 예약할 수 있는데, 여기서 4개의 코드는 상술된 바의 하나 또는 다른 하나를 예약하도록 하는 편리성을 제공하는 4개의 사이트와 관계된다. 맵은 임의 콘텐트의 특정 부분, 예를 들어 특정 웹 서비스 또는 포탈의 콘텐트 또는 웹상의 어느곳에서의 콘텐트에서 어느곳에선 패러그래프 또는 단일 이미지에 대한 것일 수 있다. 이는 사람들이 웹에 걸쳐서 콘텐트의 특정 부분들을 즉각 관계하고 공유하게 하는 방법을 제공한다. 맵은 임의 콘텐트의 특정 부분, 예를 들어 웹 사이트의 콘텐트 또는 웹상의 어느곳에서의 콘텐트에서 어느곳에선 패러그래프 또는 단일 이미지에 대한 것일 수 있다. 이는 사람들이 웹에 걸쳐서 콘텐트의 특정 부분들을 즉각 관계하고 공 유하게 하는 방법을 제공한다.
일부 사람들은 본래 더욱 효율적인 맵메이커들로서 두드러지고 이들의 노력(이들은 이를 공유할 수 있도록 하는 한)으로 인해 더 많은 사용자가 이를 즐길 수 있게 된다. 사용자는 다른 사람의 맵을 사용하고 또한 이들에 대해 투표한다.
사용자에게 제공되는 일부 다른 특징은: 섭씨 내지 화씨 간의 온도 변환, 파운드 및 kgs, cms 및 inches를 포함할 수 있다. 또한, 온도 및 풍속과 같은 다소 더욱 복잡한 계산은 체감 온도 팩터 값을 찾는다. 우편 요금, 우편 번호, 시소러스, 사전, 백과사전, 스펠-검사, 예로우 페이지, 화이트 페이지, 리버스 전화 번호 조사, tv 쇼 스케쥴, 영화 스케쥴 등이 또한 유니버셜 대화 상자에 의해서 이용될 수 있다. 사용자는 긴급/붕괴 상황에 대해서 알 수 있고 통지받을 수 있다. 예를 들어, "$. alert" 질의는 현재 날씨-관계된 경보가 존재하는 경우 값을 리턴한다. 마찬가지로, 사용자는 자신들의 지역에서 일반적인 정전이 있는 경우를 알 수 있다. 사용자는 임의 부류의 노트들을 입력하여 이들을 조사할 수 있다. 이들은 임의 부류의 브리프(또는 풀러(fuller)) 로그(brief logs)를 유지할 수 있다. 이들은 팁 및 힌트를 입력할 수 있다. 이들은 또한 메모리 도움으로 이 특징을 사용하여 누군가의 이름을 표명하여야 하는 것과 같이 기억하기 어려운 것을 추적할 수 있다.
한 특징에서, 전체 Yahoo 메신저 세션은 유니버셜 대화 상자에서 실행될 수 있다. 사용자는 한 명 이상의 사람들과 대화할 수 있다. 마찬가지로, 기본적인 웹 회의는 UDB에서 지원된다. 유니버셜 대화 상자는 또한 본래 장소에서 질의를 하도록 사용될 수 있다. 이는 사용자가 여행 조사를 막 완료하여 사용자가 American Airlines을 이용하여 A에서 B로 여행하는 동안 이용가능한 옵션을 발견하면, 사용자는 단지 "$. United"를 요청하고 United 상에서 동일한 조사 결과를 다시 얻을 수 있다는 것을 의미한다. "bus $. At Amazon"과 같은 명령은 $.rk 현재 책 제목/질의에 관계되는 경우 지원된다.
유니버셜 대화 상자에서, 사용자는 아이템의 세트를 입력할 수 있어 우리는 이들과 같은 것을 더 많이 발견할 수 있는지를 질의할 수 있다. 예를 들어, 사용자가 질의를 입력하고 이와 같은 다른 질의들을 요청할 수 있다. 또는 사용자는 웹 페이지 또는 사이트에 대한 레퍼런스를 입력하고 이와 같은 더 많은 페이지들을 요청할 수 있다. 이 명령 "x y 비교"는 광범위한 다양한 x 및 y에 이용될 수 있다. 예를 들어, x 및 y는 2개의 라이벌 제품들일 수 있다. 사용자는 모든 부류의 개인 정보를 직접 조사할 수 있다. 예를 들어, David이 사용자의 친구 또는 동료라고 가정하자. 그 때, 예를 들어, "David's 사진"은 David의 사진을 리턴시키며, "David's 생일"은 David의 생일날을 리턴시키는, 등등이다. 사용자는 날짜 또는 날짜의 범위를 특정하여 동료 그룹중에서 이 기간 내에 생일을 가진 친구, 가족, 동료 또는 유명인사를 찾는다.
응답이 나타나면 언제든지, 사용자는 전체적으로 원래의 문맥(직접적으로 또는 링크를 통해서) 볼수 있다. 따라서, 예를 들어, 사용자가 이메일을 보는 즉시, 사용자는 전체-특징 이메일 프로그램의 문맥 내에서 이를 나타낼 것을 요청할 수 있다.
어떤 특징들/기능들은 특정 해의 시간에서 더욱 현저하게 공표될 수 있다. 예를 들어, 세금-관련된 정보는 통상 납세 신고를 준비하여야 하는 기간에 도달될 때 더욱 손쉽게 액세스될 수 있다.
게임 특징은 또한 유니버셜 대화 상자를 통해서 이용될 수 있다. 예를 들어 "Give ma a puzzle"은 (사용자에 의한 맞춤화 또는 사용자의 습성의 시스템의 이전 지식으로 인한 곤란성의 정확한 레벨의) 랜덤 퍼즐로 나타난다. 유사하게, 사용자는 철자바꾸기 놀이 또는 다른 부류의 크로스워드 실마리를 풀기위하여 요청할 수 있다. 이들은 또한 컴퓨터 또는 다른 사용자와 간단한 게임을 할 수 있다.
사용자가 원하는 경보가 무엇이든지 사용자는 네트워크에 걸쳐서 정확하게 확장되는 옵션을 제공받는다. 예를 들어, 경보는 유니버셜 대화 상자 다음에 배치될 수 있는데, 예를 들어, 주요 브레이킹 뉴스 경보, 메일 도착 경보, 및 경보 진행 보고 경보 등이 배치될 수 있다. 사용자는 또한 원래 거기에 존재하지 않을 수 있는 페이지 상의 링크에 참여할 수 있다. 사용자가 이들 페이지로 이동하면 언제든지, 링크가 나타난다.
사용자는 유니버셜 대화 상자를 사용하여 피드백, 기록 요약, 기록 검토 등을 제공할 수 있다. 예를 들어, 사용자는 hp에게 메시지로 타이프할 수 있다: "Tell hp their Pavilion is not good". 사용자는 또한 임의의 관련/관계된 스테이크홀더의 투시를 통해서 임의의 콘텐트를 볼 수 있도록 선택할 수 있다. 예를 들어, 사용자가 어떤 사이트에서 비지니스를 입수하기 위하여 디렉션을 보길 원한다면, 비니스는 이 디렉션이 정확하게 옳치 않지만 그렇고 그렇게 되어야한 다는 것을 가리킬 수 있다. 패턴은 모든 부류의 상황에 적용하도록 만들어질 수 있다. 예 를 들어, 사용자가 과가 이메일을 분류한 방법을 토대로 이메일을 분류하도록 패턴은 설정될 수 있다. 사용자가 읽을 이메일을 수신할 때, 우리는 "move $_to folder $45"를 제안할 수 있고 디폴트에 이해 또는 사용자가 동의하면 정확하게 이것이 발생된다.
임의의 다양한 사전-선택된 부류들의 질의를 나타낼 수 있는 질의 티커(query ticker)는 또한 침묵 기간(quiet periods) 동안 유니버셜 대화 상자에서 나타날 수 있다. 여러 질의 티커는 동시에 실행될 수 있다. 유사하게, 스포츠 점수 티커, 스톡 티커, 브레이킹 뉴스 티커 등등이 존재하는데, 이들 모두는 특정 사용자에게 전용된다.
트랜스레이션은 유니버셜 대화 상자 인터페이스 내에서 지원되는 또 다른 특징이다. 사용자는 한 언어로부터 텍스트를 입력하거나 페이스트할 수 있고 이의 트랜스레이션을 자신의 선택 언어로 받아들인다.
"next" 및 "more like this"와 같은 오퍼레이터는 극단적인 의미에서 여러가지 모양이 있다. 그래서, 검색 결과 페이지의 문맥에서, "next"는 사용자가 동일한 질의에 대해서 다음 결과의 세트를 취하도록 할 것이다. 특정 검색 결과의 문맥에서, "next"는 사용자가 다음 결과를 취하도록 할 것이다. 마찬가지로, "more like this"는 소정 질의와 관련된 더 많은 검색 또는 소정 사이트와 유사한 더 많은 사이트 등을 취하도록 하는데 사용될 수 있다.
사용자가 임의의 다른 오브젝트를 볼 때 사용자가 임의의 소스로부터 인리치먼트(enrichment)(애드-값)을 요청할 수 있다. 이는 사용자가 소망 형태로 정보를 흐르도록 명시적으로 요청하여야 하는 정확히 이전의 것이 아니다. 오히려 패턴이 부분적으로 우리에 의한 제안들을 토대로 사용자에 의해 설정되어, 일부 특정 애드-값이 정확하게 모든 정확한 환경에서 나타나도록 한다. 예를 들어, 특히 비지니스 세팅에서, 이는 메일링 리스트 상의 특정 이메일의 송신자가 어떤 역할을 하는지 또는 어느 그룹에 속하는지를 알도록 돕는다. 단지 구성적인 챠트 정보를 송신자의 이메일 어드레스에 타이핑함으로써, 수신자에게 유용할 수 있는 송신자에 관한 정보가 드러나거나 적어도 직접 이용될 수 있다. 스펠-검사는 보드에 걸쳐서 이용될 수 있는 또 다른 부류의 애드-값이다. 사용자가 질의를 입력하는 검색 상자가 어느것일지라도, 실수는 정정되고 가장 적절한 대안들이 제공된다.
인리치먼튼는 원래 정보의 필터링 및 분류 형태를 취할 수 있다. 예를 들어, 어떤 회사의 고용인의 긴 생일 리스트가 제공되면, 사용자는 어쨋든 자신들의 동료가 이 리스트에 포함되었다는 것을 손쉽게 찾을 수 있어야 한다.
사용자는 전체 질의/최초 요구사항을 규정하여야 하지만 시스템이 자신의 의도를 인지하는 즉시 사용자로부터의 짧은 힌트만으로 바람직한 것을 발생시킬 정도로 충분하게 된다. 이 경우처럼, 사용자에게 가장 친숙한 이들 오브젝트들 및 사용자가 가장 빈번하게 액세스할 필요가 있는 오브젝트들에 대해서, 코드는 사용하는데 가장 짧고 가장 간편하다. 본 방법이 개인화를 토대로 하기 때문에 정밀하게 작업한다는 것을 인지하는 것이 중요하다. 전세계의 모든 사용자가 지금까지 필요로 한 모든것을 커버할 수 있는 짧은 충분한 코드는 존재할 수 없다.
예를 들어 특정 사용자 및 작업 및 상황에 의해 규정된 바와 같은 임의의 특 정 문맥에서, 가장 필요로 되는 것의 이행하는 방법은 즉각 이용될 수 있다. 예를 들어, 사용자가 어떤 특정 이웃 사점에 관심을 나타낼 때, 사용자가 물을것 같은 질문이 예측된다. 이 경우에, 가장 가능한 질문은 개장 시간, 전화 번호, 지도 및 방향 등일 수 있다.
관심을 둔 코드/라벨의 부분은 단지 어떤 코드가 존재하는지 이들의 가장 최근의 지시대상이 무엇인지를 찾는데 관심을 두는 것이다. 예를 들어, 라벨 "movie Richard saw last weekend"에 대해서, Richard가 지난 주말에 영화를 보았는지에 따라서 (상이한) 지시대상이 존재한다. 예를 들어, 사용자는 특정 맵 자체에 대해서 경보를 하여, 사용자는 라벨에 대한 지시대상이 존재할 때 그리고 일부 기간에서 이것이 변경되었는지 여부를 통지받을 수 있다. 사용자는 지시대상이 그 순간에 존재하지 않는 경우조차도 특정 라벨에 대해서 경보를 설정할 수 있다. 누군가가 특정 라벨과 정합하는 (공유될 수 있는) 라벨을 설정 하자마자, 사용자는 경보를 수신할 수 있다.
사용자는 자신들의 라벨 또는 다른 사람의 라벨에 주석을 달 수 있다. 일부 사용자는 아마도 그러 그러한 지시대상이 현재 일부 레퍼런스에 대해서 더욱 양호한 맵이라는 것을 가리킬 수 있다. 맵의 일부 주석 및 특성은 이들 맵이 사용될 때 제어될 수 있다. 이들은 특정 맵이 다소 유용할 것 같을 때를 나타낼 수 있다. 사용가 보길 원하고 사용자가 원할 때 이들을 사용할 수 있는 것은 사용자에 달려있다.
코드/맵은 또한 추천 특징(recommendation features)을 구축하는 방법을 제 공한다. 예를 들어, 특정 작업장에서 동료들을 위한 "my dentist" 맵은 그 지역에서 누가 좋은 치과의사 인지를 반영할 수 있다. 이는 맵이 또한 주석이 달려져 있을 때 특히 양호하게 작동한다. 예를 들어, 동료는 과거 방문 동안 "my dentist"에 의해 겪은 나쁜 경험에 관해서 리마크(remark)할 수 있다. 이들 리마크는 또한 레버리지될 수 있다.
한 특징에서, 유니버셜 대화 상자는 브라우저 윈도우의 한 측상서 씬 윈도우로서 구현된다. 사용자는 단지 사용자가 보고있는 라인 옆에 워드 또는 구의 위치를 입력함으로써 사용자가 보고있는 텍스트로부터 워드 및 구를 포함한 질의를 입력할 수 있다. 예를 들어, 페이지 상의 27번째 라인 옆에 6번째 및 8번째 위치간의 라인 상에 워드의 시퀀스에 대한 다음 검색을 의미하도록 $6:8을 입력할 수 있다. 또한, 다른 인터페이스를 사용하여 유사한 기능을 지원할 수 있다. 예를 들어, 사용자는 파이어될 (fired) 질의에 대해서 이들에 관심을 둔 라인의 부분을 선택할 수 있다.
매핑들 자신들의 맵에 부가할 수 있도록 하기 위하여, 사용자는 클레버 인터페이스(clever interfaces)를 제공받을 수 있다. 예를 들어, 프로덕트의 리스트의 디스플레이에서 각 프로덕트 옆에 적은 레드 도트를 "터치"(오브젝트 최상부, 예를 들어 간략하게는 레드 도트에 마우스를 가져다 둠)하면 이 프로덕트가 맵의 부분이 되도록 한다.
때때로, 사용자는 웹 페이지상에서 읽은 어떤 표현을 실제로 좋아한다. 사용자가 이를 기억하길 원한다. 본 발명은 사용자에게 맵으로서 이 표현을 유지하도록 하는 설비를 제공한다. 사용자는 단지, 이를 유니버셜 대화 상자에 페이스트(paste)할 수 있다. 이들이 좋아하면, 이 문맥은 자동적으로 유지되어, 이들이 이 구를 다음에 찾을 때 해당 웹 페이지는 강조된 구의 탐색에 의해 직접적으로 이용될 수 있다. 오늘날, 책의 독자는 종종 관심을 둔 표현들 및 문장들에 밑줄을 긋거나, 강조하거나 또는 괄호를 친다. 본 발명은 이 부류의 사용자들에게 더욱 풍부한 기능성을 제공한다.
앵커 텍스트 및 항법 질의는 어떤 부류의 오브젝트에 대한 맵의 기존의 예이다. 본 발명은 사용자가 이와 같은 오브젝트에 대해 자신들의 라벨을 가질 수 있도록 한다. 사용자가 좋아하면, 웹 페이지 상의 기존의 앵커 텍스트는 각 지시대상을 유지하면서 자신들의 라벨로 대체될 수 있다.
사용자는 또한, 설정된 패턴, 프로필 및 상황을 토대로 어떤 콘텐트가 다운로딩되고 배경에 구성되는 배경 브라우징 특징을 사용할 수 있다. 예를 들어, 사용자가 작업을 위하여 기차를 타고 출발하지 전 매일 아침에, 신문 세트로부터 가장 관련된 스토리를 다운로딩하여 사용자가 작업장으로 휴대하고 다니는 사용자의 랩탐 상에서 구성할 수 있다.
사용자는 일부 레퍼런스 코드에 대한 지시대상의 완전한 히스토리를 보기를 요청할 수 있다. 예를 들어, 6개월의 기간에 걸쳐서 "movie Richard saw this weekend"의 레퍼런스에 대해서 요청함으로써, 사용자는 Richard가 지난 6개월간 본 영화의 완전한 리스트를 알 수 있다. 임의 부류의 패턴이 제공되면, 사용자는 이에 해당하는 오브젝트의 리스트가 시간 또는 공간에서 가로지를 것을 요청할 수 있다. 디스플레이를 지원하는 슬라이드쇼 특징이 구현될 수 있다.
코드 및 라벨은 사용자에 많은 이점을 갖게한다. 이들 중 하나는 코드가 여러 타이핑 에러를 방지한다는 것이다. 예를 들어, 사람들이 이를 타이핑하는 것이 아니라 오히려 "britney spears"에 대해 언제나-신뢰할 수 있는 코드를 사용하면, 인지 부담을 훨씬 줄이고 실수를 훨씬 줄일 수 있다.
라벨은 네트워크 인터페이스 또는 서버 시스템, 예를 들어 도2에 도시된 서버(160) 또는 도5에 도시된 서버(460)와 같은 Yahoo! 서버 시스템에 저장되어, 사용자가 전체 컴퓨터, 및 전체 장치에 걸쳐서 이동할 수 있고 네트워크를 통해서 언제라도 라벨 및 매핑에 액세스할 수 있고 모든 이점을 여전히 얻도록 하는 것이 바람직하다.
지속적인 유니버셜 대화 상자의 또 다른 이점은 "&" 셸 오퍼레이터의 등가물을 자동 사용할 수 있다는 것이다. 사용자 동작의 플레인 엔드리스 요청-응답, 요청-응답 시퀀스는 더이상 존재하지 않을 것이다. 오히려, 사용자들은 가장 먼저의 것이 여전히 처리되는 동안 여러 명령을 즉각 타이프하거나 또 다른 명령을 타이프할 수 있다. 마찬가지로, 시스템은 여러 응답을 제공하고 즉각 팔로우-업할 수 있다. 응답이 복잡한 요청을 위하여 준비되면 언제든지, 당연히 완전한 원래 문맥으로 나타난다. 어떤 경우에, 복잡한 요청에 대한 응답이 나타나도록 준비되는 시간 까지 사용자는 여러 다른 장소를 통해서 항해할 수 있다.
유니버셜 대화 상자 방식의 또 다른 이점은 사용자가 모든 부류의 정보를 각종 툴 및 어플리케이션들로부터 인터페이스를 간편하게 사용하게 하는 동일한 표준 으로 본다는 것이다. 이 개념은 본 발명이 제공하는 정보, 툴 및 어플리케이션의 사용자 및 용도에 매우 긍정적이다.
한 특징에서, 생성되는 맵은 레버리지되어 어떤 결과의 카테고리인지 그리고 어떤 순서인지를 보여주기 위한 어느 질의 또는 어느 패턴에 대해서 더욱 효율적인 질의 카테고리화를 결정한다 존재하게 될 매우 중요한 암시적 피드백 루프가 존재한다. 군집의 힘 즉 집합 두뇌는 이 문맥에서 또한 가시화될 것이다. 예를 들어, 여러 사용자들의 그룹이 질의 " 랩탑"(또는 해당 질의 패턴)을 ibm, dell, sony 및 hp에 매핑하면, 시스템은 (대중성 또는 무언가 좀더 복잡한 것에 의해 명령받은) 검색 결과로서 사용자에게 이용될 수 있는 가장 대중적인 매핑을 행할 수 있다. 매핑은 얼마나 많은 사람들이 이를 생성하는지에 대해서 뿐만 아니라 얼마나 많은 사람들이 이를 사용하고 이를 계속 사용하는지를 토대로 대중화된 것으로 간주된다. 또한, 맵의 설정이 감시될 뿐만 아니라 이들의 용도 및 레퍼런스 뿐만 아니라 지시대상의 용도를 감시할 것이다. 따라서, 북마크 등과 달리, 제공된 시스템에서 사용자 의도에 관한 지식 획득이 사용자가 어떤 순간에 실제로 관심을 두고 있는 것이 무엇인지를 토대로 한다. 단지 북마크 파일을 분석하면, 무엇인가 중요한 것을 놓치게 된다. 대체로 사용자는 수 십개의 북마크를 갖는다는 것이 관찰되었는데, 이들 대부분은 사용자가 거의 전혀 사용하지 않는다.
일부 사용자는 링크 상에 자신의 마우스를 위치시켜 이들을 클릭하는 것을 좋아하는 것이 아니라 타이프하는 것을 선호한다. 다른 사람들은 첫 번째 보다 용이한 두번째 대화 방식을 찾는다. 본 발명은 어느 사용자도 어떤 시점에서 그들에 게 최적으로 작업을 하도록 사용자가 선택할 수 있도록 두 가지 옵션을 동일하게 제공한다.
맴/코드는 또한 어떤 분야의 전문가가 사고하고 작업하는 방법을 초보자가 이해하도록 하는 방법을 제공한다. 이 레퍼런스 및 전문가의 맵의 레퍼런스 둘 다를 봄으로서, 사람들은 어떤 특정 분야에 대한 깊은 통찰력을 얻을 수 있다.
본 발명은 도구 또는 어플리케이션을 무언가로 명명하는 방법보다 오히려 필요에 의해 (이들이 이를 사용하는 방법) 라벨에 대한 성능을 사용자에 제공한다. 예를 들어, 일부 사용자는 무언가를 어디서 찾을지를 해결하기 위한 문제를 갖는다. 예를 들어, 사용자는 옐로우 페이지 또는 맵이 또는 그 밖의 문가를 사용하여 무언가를 발견할지 확신하지 못한다. 본 시스템은 사용하자 이들을 이해할 필요성없애고 유니폼 방식으로 자신들의 요구들을 유니버셜 대화 상자에 입력할 기회를 사용자에게 제공할뿐만 아니라 자신들의 요구의 충족도를 동일한 유너버셜 인터페이스에 제공함으로써 어느 버티컬 서비스가 어떤 기능성을 제공할지를 기억한다.
앵커 텍스트와 같은 기존 맵의 예는 각종 이유로 열악하다. 한 가지 주요 이유는 예를 들어 앵커 텍스트의 경우에 웹 콘텐트의 크리에이터가 또 다른 오브젝트와 어떻게 관련되는지를 결정하는 것이다. 대조적으로, 본 발명에 의해 제공되는 부류의 맵은 각 사용자가 관계하길 원하는 것이 무엇이든지 사용자가 관계하길 원하는 방법을 결정하도록 한다. 단축은 또한 이동 장치 또는 음성으로 필요사항을 입력하는데 매우 유용하다. 단축의 사용은 또한 플레인 질의/요구사항을 더욱 양호하게 취급하는 방법을 제공할 것이다. 예를 들어, "w:" 코드를 사용하여 날씨 정보 를 불러오는 단축의 사용을 레버리지함으로써, 이 시스템은 이 경우에 전 세계의 사이트에서 개념들의 정확한 카테고리를 결정할 수 있다. 그 후, 이 시스템은 더욱 더 효율적으로 개념들 및 질의들의 카테고리화를 사용하여 예를 들어 IY 등으로부터 더욱 관련된 콘텐트를 사용자에게 제공한다.
코드는 디폴트에 의해 콘텐트 감응되는 것이 바람직하다. 그로 인해, 콘텐트가 적절하게 모호하게 되지 않는다면, $3은 제3 검색 엔진이라 칭하고 또는 제3 레스토랑이라 칭한다.
객체-지향 방법들은 본 시스템의 통합 부분이다. 다형성은 (프로그래밍 언어들에서처럼) 광범위하게 사용된다. 예를 들어, 동일한 심볼은 하나의 사물 또는 문맥에 따라서 또 다른 것을 표시할 수 있다. 고유성은 본 발명의 또 다른 특징이다. 코드북은 상속될 수 있다. 코드가 사용자의 코드북을 사용하여 해독될 수 없다면, 사용자가 속하는 그룹의 코드북은 디폴트에 의해 사용될 수 있다.
어떤 특정 사용자에 대해서, 임의 수의 매핑들이 지원된다. 본질적으로, 많은 매핑들이 존재할지라도, 단지 작은 매핑 서브셋이 빈번하게 사용되고 이들은 캐쉬될 수 있다.
한 특징에서, 맵 자체는 제1 부류의 오브젝트이다. 사용자는 맵을 생성하여 그 밖의 누군가에게 제안으로서 전달될 것을 요청한다. 예를 들어, 관심을 가진 엄마는 학교 공부를 위하여 또는 영양을 위하여 또는 그 밖의 무언가를 위하여 학교에 있는 그녀의 아들에 대해서 매핑할 수 있다. 맵은 또한 자신의 존재론(ontology)을 갖는데, 이는 또한 군집에서 그리고 특정 사용자를 위하여 맵을 브라 우징가능하게 한다.
디폴트에 의해 서버상에 저장되고 어떤 곳에서 이용될 수 있지만, 복제된 코드북의 버전은 효율성 및 수행성능의 이유로 에지에 근접하여 또는 사용자의 데스크톱에 저장될 수 있다.
사용자는 기회가 발생되면 언제든지 매핑을 구축할 옵션을 능동적으로 제공받는 것이 바람직하다. 예를 들어, 시스템이 특정 사용자가 "hp"를 질의하고 나서 이들을 www.hp.com으로 이동시키는 검색 결과에 대해서 클릭한다라고 (1회 또는 2회 또는 3회) 결정하면, 시스템은 질의 "hp"로부터 www.hp.com.으로 매핑을 행하는 옵션을 사용자에게 제공할 수 있다. 사용자가 동의하면, 맵이 생성된다. 유사한 방법은 시스템이 패턴을 레버리지하는 단축의 사용을 통해서 간단하게 될 수 있는 작용의 규칙적인 패턴을 발견하는 어떤 상황에 적용된다.
한 특징에서, 유니버셜 대화 상자는 제공자 또는 심지어 전체 웹이 제공하는 모든 서비스들에 대해서 사용자들에게 단일 입력 포인트를 제공한다. 유니버셜 대화 상자를 고려하는 한 가지 방법은 사용자가 무엇을 행할지라도 활성화되고 개방된 채로 유지하는 사용자와의 통신 채널을 제공한다는 것이다. 대화는 더이상 사용자 요청, 제공자 응답, 제2 사용자 요청, 제2 제공자 응답 패턴이 아니다. 오히려, 제공자는 이니셔티브를 취할 수 있고 무엇가에 관심을 둔 사용자들을 얻기 위하여 이것이 감지되면 언제든지 문맥에서 매우 타겟화된 프로모션 등을 제공할 수 있다. 마찬가지로, 시스템은 모든 부류의 맵을 구축할 기회를 사용자에게 사전작용적으로 제공한다. 프리미엄 검색 서비스는 요금지불 댓가로 제공될 수 있는데, 이의 일부 특징은 본원에 서술된 단축 방법으로부터 도출될 수 있다.
맵은 또한 세션으로부터 오브젝트까지 일 수 있다. 예를 들어, 사용자는 브라우징 세션 동안 일부 카테고리에서 일부 관심을 둔 프로덕트들을 발견할 수 있다. 후에, 사용자는 자신의 파트너에게 관심을 둔 프로덕트만을 보여주길 원한다. 각 오브젝트/프로덕트 다음에 옵션이 제공될 수 있다. 이는 임의의 ads/프로모션들에 대해서도 그러하여야 한다. 유니버셜 대화 상자에서, 사용자는 장차 발생할 요구사항들을 입력할 수 있다. 이 개념은 막대한 비지니스 잠재력을 갖는다. 사용자는 올 봄에 유럽으로 여행할 필요성을 표현할 수 있다. 시스템은 이들 요구사항을 추적하여 이를 이행하고자 한다. 예를 들어, 사용자는 그들이 알고있는 누군가가 잡은 항공편이 지금부터 이틀이 지나서 모니터링될 것을 요청할 수 있다.
사용자와의 지속적인 대화는 이 시스템이 특징, 기능 및 콘텐트를 사전작용적으로 강조하도록 하는 기회를 제공함으로써 특정 콘텐트의 노출을 증가시키고 많은 특성 세트에 걸쳐서 확산되는 강력한 툴 및 어플리케이션을 증가시킨다. 프로모션이 또한 실행되어, 이들 프로모션의 실제 모든 것이 주말의 끝에 최종 드러날 때까지 매일 궁금해하게 하는 신문의 어떤 광고와 같이 시간에 걸쳐서 증강시킨다.
도7 및 도8은 본원에 서술된 바와 같은 본 발명의 UDB 인터페이스 시스템 및 방법론에 의해 제공되는 기능의 예를 도시한 것이다. 특히, 도7은 UDB(500)에서 사전규정된 코드 또는 라벨을 입력하는 사용자에 응답하여 사용자 시스템에 제공되는 웹 페이지를 도시한다. 예를 들어, 도6을 참조하면, 사용자는 코드 "travel!"을 입력할 때, 시스템은 자신, 예를 들어 서버(160) 또는 다른 서버 시스템(들) 또는 클 라이언트 시스템내에 저장된 매핑에 액세스하고 입력된 코드가 Yahoo!에 의해 제공되는 "travel" 페이지에 매핑한다라고 결정한다. 그 후, 네트워크 요청, 예를 들어 HTTP 요청은 Yahoo!에 전송되어 여행 사이트(매핑 테이블에 액세스되는 서버 또는 클라이언트 시스템 중 어느 하나로부터)에 액세스하고 이에 응답하여 도7에 도시된 여행 페이지는 사용자에게 (예를 들어, HTML을 사용하여) 전송된다. 제공된 페이지는 또한 그 위에 두드러지게 디스플레이되는 UDB(500)를 포함한다. 도8은 UDB(500)에서 또 다른 사전규정된 코드 또는 라벨을 입력하는 사용자에 응답하여 사용자 시스템에 제공되는 웹 페이지를 도시한다. 이 경우에, 도7을 참조하면, 사용자는 "규정(아규먼트)"을 입력하는데, 여기서 아규먼트는 정의가 구해지는 텍스트 용어이다. 여기서, 텍스트 아규먼트는 "quantity"이다. 이 시스템은 자신에, 예를 들어 서버(160) 또는 다른 서버 시스템(들) 또는 클라이언트 시스템 내에 저장된 매핑에 액세스하고 입력된 코드가 아규먼트를 위한 사전 정의가 제공되어야 하는지를 식별한다라고 결정한다. 시스템은 사전 정의를 탐색하고 이를 별도의 웹 페이지로서 사용자에게 제공한다. 이 예에서, 시스템은 또한, 이 아규먼트에 대한 검색을 수행하고 도시된 바와 같은 정의 아래의 결과를 제공한다.
어떤 특징에서, 본 발명의 라벨, 코드, 파라미터 및 이외 다른 임의의 매핑이 검색될 수 있다. 게다가, 라벨에 대한 레퍼런스 뿐만 아니라 라벨이 매핑되는 것이 또한 탐색될 수 있다. 예를 들어, 라벨 명칭이 탐색될 수 있고 라벨 지시대상이 탐색될 수 있다. 한 특징에서, 라벨의 존재론 계층이 제공되는데, 여기서 라벨은 네트워크상의 노드에 할당된다. 예로서 Yahoo! Directory를 들 수 있는데, 여기 서 각종 노드는 상이한 토픽을 표시한다. 이 경우에, 사용자는 네트워크 내의 각종 노드에 걸쳐서 이들 라벨을 통해서 항해할 수 있다.
본 발명이 예로서 특정 실시예와 관련하여 서술되었지만, 본 발명이 이 서술된 실시예로 국한되지 않는다는 것을 이해하여야 한다. 반대로, 이는 당업자에게 명백한 바와 같이 각종 수정 및 유사한 장치를 커버한다. 그러므로, 첨부된 청구항의 범위는 가장 넓게 해석되어, 모든 이와 같은 수정 및 유사한 장치를 포함하여야 한다.

Claims (40)

  1. 클라이언트 시스템에서 사용자 입력의 콘텐트를 토대로 취해질 동작을 결정하기 위하여 컴퓨터에서 구현되는, 사용자 입력 처리 방법에 있어서,
    상기 클라이언트 시스템과 관련된 그래픽 사용자 인터페이스 디스플레이 상에서 대화 상자를 디스플레이하는 단계;
    사용자 입력을 상기 대화 상자로 수신하는 단계; 및,
    상기 사용자 입력 콘텐트를 토대로 취해질 동작을 결정하기 위하여 상기 사용자 입력의 콘텐트를 처리하는 단계 - 상기 동작은 검색 질의로서 상기 사용자 입력을 사용하여 검색을 수행하는 단계 및 상기 클라이언트 시스템상의 하나 이상의 어플리케이션에 액세스하는 단계 중 한 단계를 포함하여 상기 콘텐트를 토대로 후속 처리를 수행함 -
    를 포함하는 사용자 입력 처리 방법.
  2. 제 1 항에 있어서,
    상기 콘텐트는 특정 어플리케이션에 매핑되는 사용자-정의 라벨을 포함하는 사용자 입력 처리 방법.
  3. 제 2 항에 있어서,
    상기 특정 어플리케이션은 이메일 클라이언트, 인스턴스 메시징 클라이언트, 데이터베이스 관리 클라이언트, 문서 관리 클라이언트, 캘린더 클라이언트, 브라우저 클라이언트, 스프레드시트 클라이언트 및 파일 전송 클라이언트를 포함하는 그룹으로부터 선택되는 사용자 입력 처리 방법.
  4. 제 2 항에 있어서,
    상기 사용자-정의 라벨은 상기 사용자-정의 라벨을 상기 특정 어플리케이션에 매핑하는 매핑 테이블에 저장되며, 상기 처리 단계는 상기 특정 어플리케이션을 식별하기 위한 키로서 상기 사용자-정의 라벨을 사용하여 매핑 테이블에 액세스하는 단계를 포함하는 사용자 입력 처리 방법.
  5. 제 4 항에 있어서,
    처리 단계는 상기 콘텐트를 부가 처리하기 위하여 상기 특정 어플리케이션을 기동하는 단계를 더 포함하는 사용자 입력 처리 방법.
  6. 제 1 항에 있어서,
    상기 콘텐트는 다수의 특정 어플리케이션에 매핑하는 사용자-정의 라벨을 포함하는 사용자 입력 처리 방법.
  7. 제 6 항에 있어서,
    상기 다수의 특정 어플리케이션은 이메일 클라이언트, 인스턴스 메시징 클라이언트, 데이터베이스 관리 클라이언트, 문서 관리 클라이언트, 캘린더 클라이언 트, 브라우저 클라이언트, 스프레드시트 클라이언트 및 파일 전송 클라이언트를 포함하는 그룹으로부터 선택되는 사용자 입력 처리 방법.
  8. 제 1 항에 있어서,
    상기 콘텐트는 특정 요구를 위한 자연어 라벨을 포함하며, 상기 자연어 라벨은 컴퓨터상에 또는 컴퓨터에 결합된 네트워크상에 상주하는 하나 이상의 어플리케이션에 매핑되는 사용자 입력 처리 방법.
  9. 제 1 항에 있어서,
    검색을 수행하는 단계는 상기 클라이언트 시스템상에서 브라우저 클라이언트를 기동하는 단계 및 상기 검색 질의를 원격 서버로 전송하는 단계를 포함하는 사용자 입력 처리 방법.
  10. 제 1 항에 있어서,
    상기 사용자 입력의 문맥은 사용자 입력의 포맷을 토대로 결정되고, 취할 동작을 결정하는 단계는 상기 문맥을 토대로 하는 사용자 입력 처리 방법.
  11. 제 1 항에 있어서,
    상기 사용자 입력은 상기 클라이언트 시스템과 관련된 하나 이상의 사용자 입력 장치를 통해서 수신되는 사용자 입력 처리 방법.
  12. 제 1 항에 있어서,
    원격 시스템으로부터 코드북을 수신하는 단계로서, 상기 코드북은 하나 이상의 특정 어플리케이션들을 지닌 하나 이상의 라벨들의 매핑을 포함하며, 상기 코드북 라벨은 또 다른 사용자에 의해 규정되는 사용자 입력 처리 방법.
  13. 제 12 항에 있어서,
    처리 단계는 상기 사용자 입력에서 하나 이상의 라벨을 식별하는 단계를 포함하고, 하나 이상의 어플리케이션에 액세스하는 단계는 상기 코드북을 사용하여 상기 하나 이상의 어플리케이션을 식별하는 단계를 포함하는 사용자 입력 처리 방법.
  14. 제 13 항에 있어서,
    상기 하나 이상의 어플리케이션을 식별하는 단계는 상기 코드북에서 상기 하나 이상의 어플리케이션을 조사(lookup)하기 위한 키로서 상기 하나 이상의 라벨을 사용하는 단계를 포함하는 사용자 입력 처리 방법.
  15. 제 1 항에 있어서,
    하나 이상의 어플리케이션을 액세스하는 단계는 상기 하나 이상의 어플리케이션과 인터페이스하도록 구성되는 하나 이상의 APIs를 실행하는 단계 및 상기 하나 이상의 어플리케이션들과 인터페이스하도록 구성된 하나 이상의 스크립트를 실행하는 단계 중 한 단계를 포함하는 사용자 입력 처리 방법.
  16. 다수의 클라이언트 시스템들 간에 동작가능한 라벨을 공유하는 방법으로서,
    제1 클라이언트 시스템상에서 제1 라벨을 생성하는 단계 - 상기 라벨은 상기 제1 클라이언트 시스템상에서 실행될 수 있는 적어도 하나의 특정 어플리케이션에 매핑하는 것을 포함함 - ;
    네트워크를 통해서 제2 클라이언트 시스템으로 상기 라벨을 전송하는 단계;
    상기 제1 라벨을 상기 제2 클라이언트 시스템의 메모리 유닛에 저장하는 단계; 및
    상기 제2 클라이언트 시스템상에서 사용자 입력을 처리하는 단계, 상기 사용자 입력이 상기 제1 라벨을 식별하면,
    상기 제2 클라이언트 시스템상에서 상기 적어도 하나의 특정 어플리케이션을 기동하는 단계; 및
    상기 적어도 하나의 특정 어플리케이션을 이용하여 사용자 입력을 처리하는 단계
    를 포함하는, 동작가능한 라벨 공유 방법.
  17. 제 16 항에 있어서,
    상기 적어도 하나의 특정 어플리케이션은 이메일 클라이언트, 인스턴스 메시징 클라이언트, 데이터베이스 관리 클라이언트, 문서 관리 클라이언트, 캘린더 클라이언트, 브라우저 클라이언트, 스프레드시트 클라이언트 및 파일 전송 클라이언트를 포함하는 그룹으로부터 선택되는 동작가능한 라벨 공유 방법.
  18. 제 16 항에 있어서,
    상기 제1 라벨은 구조화된 데이터 유형, 구조화되지 않은 데이터 유형, 텍스트, 번호, 이미지, 및 데이터베이스 기록을 포함하는 그룹으로부터 선택되는 임의의 다수의 데이터 유형을 참조하는 동작가능한 라벨 공유 방법.
  19. 제 16 항에 있어서,
    상기 라벨은 하나 이상의 부가적인 라벨을 포함하는 코드북에서 상기 제2 클라이언트 시스템으로 전송되는데, 각 부가적인 라벨은 클라이언트 시스템상에서 실행가능한 특정 어플리케이션을 식별하는 동작가능한 라벨 공유 방법.
  20. 제 16 항에 있어서,
    상기 제1 라벨은 자연어 포맷인 동작가능한 라벨 공유 방법.
  21. 제 20 항에 있어서,
    상기 라벨은 원격 서버에서 웹 사이트를 식별하고, 상기 라벨은 브라우저 어플리케이션에 매핑하는 동작가능한 라벨 공유 방법.
  22. 제 16 항에 있어서,
    상기 적어도 하나의 특정 어플리케이션은 브라우저 어플리케이션이고, 처리 단계는 상기 사용자 입력을 사용하여 검색을 수행하는 단계를 포함하는 동작가능한 라벨 공유 방법.
  23. 제 22 항에 있어서,
    검색을 수행하는 단계는 검색 질의를 원격 시스템으로 전송하는 단계를 포함하는데, 상기 원격 검색 시스템은 상기 사용자 입력 및 상기 제1 라벨을 토대로 검색 결과를 제공하는 동작가능한 라벨 공유 방법.
  24. 제 16 항에 있어서,
    상기 제1 라벨은 제1 지시대상을 식별하고, 상기 방법은 사용자 요청에 응답하여 상기 제2 클라이언트 시스템에서 상기 제1 지시대상을 제2 지시대상으로 변경시키는 단계를 더 포함하는 동작가능한 라벨 공유 방법.
  25. 제 24 항에 있어서,
    기동 단계는 브라우저 어플리케이션을 기동하는 단계를 포함하는데, 처리 단계는 상기 제2 지시대상을 사용하여 원격 시스템에 액세스하는 단계를 포함하는 동작가능한 라벨 공유 방법.
  26. 제 25 항에 있어서,
    상기 제2 지시대상은 URL 및 원격 사이트로의 링크 중 하나를 포함하는 동작가능한 라벨 공유 방법.
  27. 제 16 항에 있어서,
    처리 단계는 상기 제1 라벨을 토대로 원격 사이트로부터 정보를 검색 또는 요청하는 단계 중 한 단계를 포함하는 동작가능한 라벨 공유 방법.
  28. 제 27 항에 있어서,
    전달될 상기 정보의 문맥을 토대로 상기 정보를 사용자에게 전달하는 전달 어플리케이션을 선택하는 단계를 더 포함하는 동작가능한 라벨 공유 방법.
  29. 제 28 항에 있어서,
    상기 전달 어플리케이션은 메일 어플리케이션, 인스턴트 메시징 어플리케이션 및 브라우저 어플리케이션 중 한 어플리케이션을 포함하는 동작가능한 라벨 공유 방법.
  30. 제 16 항에 있어서,
    상기 제1 라벨은 제1 명칭을 포함하며, 상기 방법은 사용자 요청에 응답하여 상기 제2 클라이언트 시스템에서 제1 명칭을 제2 명칭으로 변경하는 단계를 더 포함하는 동작가능한 라벨 공유 방법.
  31. 제 30 항에 있어서,
    상기 제1 라벨은 제1 지시대상을 식별하며, 상기 방법은 상기 사용자 요청에 응답하여 상기 제2 클라이언트 시스템에서 상기 제1 지시대상을 제2 지시대상으로 변경시키는 단계를 더 포함하는 동작가능한 라벨 공유 방법.
  32. 제 1 항에 있어서,
    상기 취할 동작은 전달될 정보의 문맥을 토대로 사용자에게 정보를 전달하는 단계를 포함하는 사용자 입력 처리 방법.
  33. 제 32 항에 있어서,
    상기 정보를 전달하는 단계는 메일 어플리케이션, 인스턴트 메시징 어플리케이션 및 블라우저 어플리케이션 중 하나를 사용하여 상기 정보를 제공하는 단계를 포함하는 사용자 입력 처리 방법.
  34. 제 1 항에 있어서,
    상기 사용자 입력은 다수의 개별적인 엔트리를 포함하며, 상기 사용자 입력의 처리 단계는 각 엔트리의 콘텐트를 개별적으로 처리하는 단계를 포함하는 사용 자 입력 처리 방법.
  35. 제 34 항에 있어서,
    각 엔트리에 대해서, 상기 방법은 취할 동작을 결정하는 단계를 포함하며, 각 동작은 상기 엔트리의 문맥을 토대로 결정되는 사용자 입력 처리 방법.
  36. 제 1 항에 있어서,
    상기 동작은 검색 질의로서 상기 사용자 입력을 사용하여 검색을 수행하는 단계를 포함하며, 상기 검색은 하나 이상의 검색 결과를 제공하며, 상기 방법은 상기 검색 결과들 중 한 결과와 관련된 원격 사이트와 통신 링크를 설정하는 단계를 더 포함하는 사용자 입력 처리 방법.
  37. 제 36 항에 있어서,
    상기 원격 사이트로부터 부가적인 정보를 수신하는 단계 및 상기 부가적인 정보 및 상기 검색 결과를 상기 클라이언트 시스템에 제공하는 단계를 더 포함하는 사용자 입력 처리 방법.
  38. 제 1 항에 있어서,
    상기 취할 동작은 상기 어플리케이션들중 2개 이상의 어플리케이션에 액세스하는 단계 및 상기 2개 이상의 어플리케이션 각각으로부터 정보를 디스플레이하는 단계를 포함하는 사용자 입력 처리 방법.
  39. 제 1 항에 있어서,
    상기 처리 단계는 제1 어플리케이션에 액세스하는 단계를 포함하고 부가적인 처리 단계는 상기 콘텐트를 토대로 제2 어플리케이션에 액세스하는 단계를 포함하는 사용자 입력 처리 방법.
  40. 제 39 항에 있어서,
    상기 제1 어플리케이션은 이메일 클라이언트이며, 상기 제2 어플리케이션은 스프레드시트 클라이언트, 캘린더 클라이언트 및 브라우저 클라이언트중 하나인 사용자 입력 처리 방법.
KR1020057018922A 2003-04-04 2004-04-05 유니버셜 검색 인터페이스 시스템 및 방법 KR100911606B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US46022203P 2003-04-04 2003-04-04
US60/460,222 2003-04-04

Publications (2)

Publication Number Publication Date
KR20060006912A KR20060006912A (ko) 2006-01-20
KR100911606B1 true KR100911606B1 (ko) 2009-08-07

Family

ID=33159747

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057018922A KR100911606B1 (ko) 2003-04-04 2004-04-05 유니버셜 검색 인터페이스 시스템 및 방법

Country Status (6)

Country Link
US (1) US7698327B2 (ko)
EP (1) EP1616282B1 (ko)
JP (2) JP2007524901A (ko)
KR (1) KR100911606B1 (ko)
CN (3) CN100485603C (ko)
WO (1) WO2004090787A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150068308A (ko) * 2013-12-11 2015-06-19 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 이동 단말 상에 검색 결과를 표시하기 위한 방법 및 장치

Families Citing this family (140)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8255417B2 (en) 2003-05-20 2012-08-28 Google Inc. System and method for providing definitions
US7526470B1 (en) * 2003-05-28 2009-04-28 Microsoft Corporation System and method for measuring and improving search result relevance based on user satisfaction
US7599938B1 (en) * 2003-07-11 2009-10-06 Harrison Jr Shelton E Social news gathering, prioritizing, tagging, searching, and syndication method
US20050033616A1 (en) * 2003-08-05 2005-02-10 Ezrez Software, Inc. Travel management system providing customized travel plan
US20050097089A1 (en) * 2003-11-05 2005-05-05 Tom Nielsen Persistent user interface for providing navigational functionality
US20050160107A1 (en) * 2003-12-29 2005-07-21 Ping Liang Advanced search, file system, and intelligent assistant agent
US20050177555A1 (en) * 2004-02-11 2005-08-11 Alpert Sherman R. System and method for providing information on a set of search returned documents
US8712986B2 (en) * 2004-04-07 2014-04-29 Iac Search & Media, Inc. Methods and systems providing desktop search capability to software application
US8261196B2 (en) * 2004-08-04 2012-09-04 International Business Machines Corporation Method for displaying usage metrics as part of search results
US7831601B2 (en) * 2004-08-04 2010-11-09 International Business Machines Corporation Method for automatically searching for documents related to calendar and email entries
US7496563B2 (en) * 2004-08-04 2009-02-24 International Business Machines Corporation Method for locating documents a user has previously accessed
US7395260B2 (en) * 2004-08-04 2008-07-01 International Business Machines Corporation Method for providing graphical representations of search results in multiple related histograms
US7421421B2 (en) * 2004-08-04 2008-09-02 International Business Machines Corporation Method for providing multi-variable dynamic search results visualizations
US7634461B2 (en) * 2004-08-04 2009-12-15 International Business Machines Corporation System and method for enhancing keyword relevance by user's interest on the search result documents
US20060031199A1 (en) * 2004-08-04 2006-02-09 Newbold David L System and method for providing a result set visualizations of chronological document usage
US7493303B2 (en) * 2004-08-04 2009-02-17 International Business Machines Corporation Method for remotely searching a local user index
US8032553B2 (en) * 2004-12-29 2011-10-04 Sap Ag Email integrated task processor
US8150846B2 (en) * 2005-02-17 2012-04-03 Microsoft Corporation Content searching and configuration of search results
US20060195435A1 (en) * 2005-02-28 2006-08-31 Microsoft Corporation System and method for providing query assistance
EP1861800A1 (en) * 2005-03-09 2007-12-05 Medio Systems, Inc. Method and system of bidding for advertisement placement on computing devices
WO2006096838A1 (en) 2005-03-09 2006-09-14 Medio Systems, Inc. Method and system for content search with mobile computing devices
US7836127B2 (en) 2005-04-14 2010-11-16 Accenture Global Services Limited Dynamically triggering notifications to human participants in an integrated content production process
US7647312B2 (en) * 2005-05-12 2010-01-12 Microsoft Corporation System and method for automatic generation of suggested inline search terms
JP2007115016A (ja) * 2005-10-20 2007-05-10 Nobuyuki Umehara 人探し検索システム
US8175939B2 (en) * 2005-10-28 2012-05-08 Microsoft Corporation Merchant powered click-to-call method
US8700586B2 (en) * 2005-10-31 2014-04-15 Yahoo! Inc. Clickable map interface
US20070100801A1 (en) * 2005-10-31 2007-05-03 Celik Aytek E System for selecting categories in accordance with advertising
US8595633B2 (en) * 2005-10-31 2013-11-26 Yahoo! Inc. Method and system for displaying contextual rotating advertisements
US8095876B1 (en) * 2005-11-18 2012-01-10 Google Inc. Identifying a primary version of a document
US8316292B1 (en) 2005-11-18 2012-11-20 Google Inc. Identifying multiple versions of documents
US8195657B1 (en) * 2006-01-09 2012-06-05 Monster Worldwide, Inc. Apparatuses, systems and methods for data entry correlation
US7739226B2 (en) * 2006-02-09 2010-06-15 Ebay Inc. Method and system to analyze aspect rules based on domain coverage of the aspect rules
US7739225B2 (en) 2006-02-09 2010-06-15 Ebay Inc. Method and system to analyze aspect rules based on domain coverage of an aspect-value pair
US7725417B2 (en) 2006-02-09 2010-05-25 Ebay Inc. Method and system to analyze rules based on popular query coverage
US9443333B2 (en) * 2006-02-09 2016-09-13 Ebay Inc. Methods and systems to communicate information
US7849047B2 (en) 2006-02-09 2010-12-07 Ebay Inc. Method and system to analyze domain rules based on domain coverage of the domain rules
US8380698B2 (en) * 2006-02-09 2013-02-19 Ebay Inc. Methods and systems to generate rules to identify data items
US7640234B2 (en) * 2006-02-09 2009-12-29 Ebay Inc. Methods and systems to communicate information
US7689554B2 (en) * 2006-02-28 2010-03-30 Yahoo! Inc. System and method for identifying related queries for languages with multiple writing systems
US20070214119A1 (en) * 2006-03-07 2007-09-13 Microsoft Corporation Searching within a Site of a Search Result
US7814097B2 (en) * 2006-03-07 2010-10-12 Yahoo! Inc. Discovering alternative spellings through co-occurrence
JP2012138109A (ja) * 2006-03-08 2012-07-19 Ricoh Co Ltd 検索装置、検索システム、情報処理装置、検索結果受信方法、及び情報受信プログラム
US8131747B2 (en) * 2006-03-15 2012-03-06 The Invention Science Fund I, Llc Live search with use restriction
US7475069B2 (en) * 2006-03-29 2009-01-06 International Business Machines Corporation System and method for prioritizing websites during a webcrawling process
US7972205B2 (en) * 2006-03-31 2011-07-05 Vijay Krishna Search engine crossword puzzle
US9892196B2 (en) * 2006-04-21 2018-02-13 Excalibur Ip, Llc Method and system for entering search queries
US20070271231A1 (en) * 2006-05-22 2007-11-22 Jimmy Jong-Yuan Lin Search method on the Internet
US8024664B1 (en) * 2006-05-24 2011-09-20 Ezrez Software Inc. Co-brands for user interface in travel booking
US20080010386A1 (en) * 2006-07-07 2008-01-10 Bryce Allen Curtis Method and apparatus for client wiring model
US20080010338A1 (en) * 2006-07-07 2008-01-10 Bryce Allen Curtis Method and apparatus for client and server interaction
US8775930B2 (en) 2006-07-07 2014-07-08 International Business Machines Corporation Generic frequency weighted visualization component
US7954052B2 (en) * 2006-07-07 2011-05-31 International Business Machines Corporation Method for processing a web page for display in a wiki environment
US8196039B2 (en) 2006-07-07 2012-06-05 International Business Machines Corporation Relevant term extraction and classification for Wiki content
US8560956B2 (en) * 2006-07-07 2013-10-15 International Business Machines Corporation Processing model of an application wiki
US20080010388A1 (en) * 2006-07-07 2008-01-10 Bryce Allen Curtis Method and apparatus for server wiring model
US20080010387A1 (en) * 2006-07-07 2008-01-10 Bryce Allen Curtis Method for defining a Wiki page layout using a Wiki page
US8219900B2 (en) 2006-07-07 2012-07-10 International Business Machines Corporation Programmatically hiding and displaying Wiki page layout sections
US20080010345A1 (en) * 2006-07-07 2008-01-10 Bryce Allen Curtis Method and apparatus for data hub objects
CN100405371C (zh) * 2006-07-25 2008-07-23 北京搜狗科技发展有限公司 一种提取新词的方法和系统
US8676868B2 (en) * 2006-08-04 2014-03-18 Chacha Search, Inc Macro programming for resources
US8411833B2 (en) * 2006-10-03 2013-04-02 Microsoft Corporation Call abuse prevention for pay-per-call services
US8245154B2 (en) 2006-11-03 2012-08-14 International Business Machines Corporation Most-recently-used task switching among parent and child windows
US8407307B1 (en) * 2006-11-10 2013-03-26 Flightview, Inc. Flight information sending system and method
US9305088B1 (en) * 2006-11-30 2016-04-05 Google Inc. Personalized search results
US7917520B2 (en) * 2006-12-06 2011-03-29 Yahoo! Inc. Pre-cognitive delivery of in-context related information
US20080154863A1 (en) * 2006-12-08 2008-06-26 Renny Goldstein Search engine interface
US7822734B2 (en) * 2006-12-12 2010-10-26 Yahoo! Inc. Selecting and presenting user search results based on an environment taxonomy
CN100555283C (zh) * 2006-12-12 2009-10-28 北京搜狗科技发展有限公司 一种直接针对用户的相关信息的发布方法和系统
TWI327706B (en) * 2007-01-11 2010-07-21 Ind Tech Res Inst Web service accessing device and method for simplifying service interface
US7672937B2 (en) * 2007-04-11 2010-03-02 Yahoo, Inc. Temporal targeting of advertisements
US20080301236A1 (en) * 2007-05-31 2008-12-04 Microsoft Corporation Contextual social language
US7970786B2 (en) * 2007-06-13 2011-06-28 The Boeing Company Methods and systems for context based query formulation and information retrieval
US8271473B2 (en) * 2007-06-25 2012-09-18 Jobs2Web, Inc. System and method for career website optimization
US20090006311A1 (en) * 2007-06-28 2009-01-01 Yahoo! Inc. Automated system to improve search engine optimization on web pages
US20100202339A1 (en) * 2007-07-31 2010-08-12 Chieng Heng T Message broadcasting
US20090055400A1 (en) * 2007-08-20 2009-02-26 Tinbu, Llc Interactive presentation and distribution of web content having a search feature
CN100514337C (zh) * 2007-09-10 2009-07-15 腾讯科技(深圳)有限公司 关键词的联想信息生成系统和生成方法
US20090132514A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. method and system for building text descriptions in a search database
US20090132513A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. Correlation of data in a system and method for conducting a search
US20090132484A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. User interface and method in a local search system having vertical context
US20090132645A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. User interface and method in a local search system with multiple-field comparison
US20090132505A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. Transformation in a system and method for conducting a search
US9412095B2 (en) 2008-01-09 2016-08-09 International Business Machines Corporation Status and time-based delivery services for instant messengers
US20090234913A1 (en) * 2008-03-13 2009-09-17 John Lee Data structure for initiating multiple web sites
JP5366178B2 (ja) * 2008-05-22 2013-12-11 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブページの入力項目への入力を支援する方法、コンピュータ・プログラム及び端末
US9396280B2 (en) * 2008-06-23 2016-07-19 Microsoft Technology Licensing, Llc Command driven web site browsing
US20100169362A1 (en) * 2008-06-27 2010-07-01 Visisoft, Llc Palette for accessing document history
US8180771B2 (en) 2008-07-18 2012-05-15 Iac Search & Media, Inc. Search activity eraser
US8301437B2 (en) 2008-07-24 2012-10-30 Yahoo! Inc. Tokenization platform
US8438148B1 (en) * 2008-09-01 2013-05-07 Google Inc. Method and system for generating search shortcuts and inline auto-complete entries
US8898148B1 (en) * 2009-01-08 2014-11-25 Google Inc. Targeting to physical environment
US20100199185A1 (en) * 2009-02-04 2010-08-05 Microsoft Corporation Common navigation mechanism for desktop and browser-based applications
US8219598B1 (en) * 2009-05-11 2012-07-10 Google Inc. Cross-domain communicating using data files
US8239399B2 (en) * 2009-05-14 2012-08-07 Microsoft Corporation Providing tools for navigational search query results
US8312048B2 (en) * 2009-05-19 2012-11-13 Microsoft Corporation Database application navigation
EP2462517A4 (en) * 2009-08-04 2014-08-06 Google Inc QUESTIONS FROM DOCUMENTS
US8386482B2 (en) * 2009-09-02 2013-02-26 Xurmo Technologies Private Limited Method for personalizing information retrieval in a communication network
US20110072025A1 (en) * 2009-09-18 2011-03-24 Yahoo!, Inc., a Delaware corporation Ranking entity relations using external corpus
US8386455B2 (en) * 2009-09-20 2013-02-26 Yahoo! Inc. Systems and methods for providing advanced search result page content
US8229959B1 (en) * 2009-11-11 2012-07-24 Google Inc. Sharable search result labels
US20110125754A1 (en) * 2009-11-20 2011-05-26 Cbs Interactive Inc. Reverse Dynamic Filter-Linked Pages System And Method
US8417683B2 (en) * 2010-02-16 2013-04-09 Yahoo ! Inc. System and method for presenting geolocated relevance-based content
US9535994B1 (en) * 2010-03-26 2017-01-03 Jonathan Grier Method and system for forensic investigation of data access
US20110264609A1 (en) * 2010-04-22 2011-10-27 Microsoft Corporation Probabilistic gradient boosted machines
US8458159B2 (en) * 2010-05-05 2013-06-04 Microsoft Corporation Automatic role determination for search configuration
CN102314439B (zh) * 2010-06-30 2015-12-16 百度在线网络技术(北京)有限公司 与应用接口相结合的输入方法和设备
US9020805B2 (en) * 2010-09-29 2015-04-28 International Business Machines Corporation Context-based disambiguation of acronyms and abbreviations
US9317533B2 (en) * 2010-11-02 2016-04-19 Microsoft Technology Licensing, Inc. Adaptive image retrieval database
US9189549B2 (en) 2010-11-08 2015-11-17 Microsoft Technology Licensing, Llc Presenting actions and providers associated with entities
US8463045B2 (en) 2010-11-10 2013-06-11 Microsoft Corporation Hierarchical sparse representation for image retrieval
US10073927B2 (en) 2010-11-16 2018-09-11 Microsoft Technology Licensing, Llc Registration for 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
CN102033915B (zh) * 2010-12-03 2013-01-16 百度在线网络技术(北京)有限公司 一种开放式知识共享平台及其编辑提示方法
US9424002B2 (en) 2010-12-03 2016-08-23 Microsoft Technology Licensing, Llc Meta-application framework
CN102063497B (zh) * 2010-12-31 2013-07-10 百度在线网络技术(北京)有限公司 一种开放式知识共享平台及其词条处理方法
US10489944B2 (en) 2011-06-17 2019-11-26 Google Llc Graphical user interface comprising multiple, interrelated, automatically-adjusting components
US20130073582A1 (en) * 2011-09-16 2013-03-21 Yahoo! Inc. Web search results with live data
EP2781391B1 (en) 2011-11-14 2018-05-23 Honda Motor Co., Ltd. Vehicle battery unit
CN102609189A (zh) * 2012-01-13 2012-07-25 百度在线网络技术(北京)有限公司 一种移动终端的消息的内容的处理方法及客户端
CN103425704B (zh) * 2012-05-24 2017-07-21 阿里巴巴集团控股有限公司 应用界面提供方法及装置
US10810245B2 (en) * 2013-01-17 2020-10-20 Adobe Inc. Hybrid method of building topic ontologies for publisher and marketer content and ad recommendations
CN104217172B (zh) * 2013-06-03 2019-05-14 腾讯科技(深圳)有限公司 隐私内容查看方法及装置
US20140379747A1 (en) * 2013-06-19 2014-12-25 Microsoft Corporation Identifying relevant apps in response to queries
JP6282859B2 (ja) * 2013-12-17 2018-02-21 株式会社ジョルテ スケジュール管理システムおよびスケジュール管理用プログラム
JP5692734B1 (ja) * 2014-09-08 2015-04-01 株式会社ゆうインタークロス 検索支援装置、検索支援システム、検索支援方法及びプログラム
US10657177B1 (en) * 2014-12-31 2020-05-19 Groupon, Inc. Method and apparatus for implementing a search index generator
JP6590940B2 (ja) * 2015-03-23 2019-10-16 ネイバー コーポレーションNAVER Corporation モバイル機器のアプリケーション実行装置およびその方法
CN106126514B (zh) * 2015-05-06 2020-11-20 可可株式会社 与搜索有关的消息服务器提供方法及服务器和用户终端
CN106302081B (zh) * 2015-05-14 2020-04-17 阿里巴巴集团控股有限公司 即时通讯方法及客户端
US9965604B2 (en) 2015-09-10 2018-05-08 Microsoft Technology Licensing, Llc De-duplication of per-user registration data
US10069940B2 (en) 2015-09-10 2018-09-04 Microsoft Technology Licensing, Llc Deployment meta-data based applicability targetting
US10157240B2 (en) * 2015-10-01 2018-12-18 Ebay Inc. Systems and methods to generate a concept graph
US10546036B2 (en) 2016-02-26 2020-01-28 International Business Machines Corporation Web browser having improved navigational functionality
US10467291B2 (en) * 2016-05-02 2019-11-05 Oath Inc. Method and system for providing query suggestions
US11640436B2 (en) * 2017-05-15 2023-05-02 Ebay Inc. Methods and systems for query segmentation
US11327993B2 (en) * 2018-03-26 2022-05-10 Verizon Patent And Licensing Inc. Systems and methods for managing and delivering digital content
CN108664808B (zh) * 2018-04-27 2019-04-26 温州大学瓯江学院 一种面向图书搜索服务的用户敏感主题保护方法及系统
US10956669B2 (en) * 2018-07-10 2021-03-23 Beijing Didi Infinity Technology And Development Co., Ltd. Expression recognition using character skipping
CN111382183B (zh) * 2018-12-29 2023-06-27 阿里巴巴集团控股有限公司 一种数据查询方法及装置
US12008317B2 (en) * 2019-01-23 2024-06-11 International Business Machines Corporation Summarizing information from different sources based on personal learning styles

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020154162A1 (en) 2000-08-23 2002-10-24 Rajesh Bhatia Systems and methods for context personalized web browsing based on a browser companion agent and associated services
US6529899B1 (en) 2000-01-12 2003-03-04 International Business Machines Corporation System and method for registering and providing a tool service

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06290149A (ja) * 1993-04-06 1994-10-18 Hitachi Ltd 情報処理装置における機能実行支援システム及び機能登録方法
JPH0766831A (ja) * 1993-08-30 1995-03-10 Matsushita Electric Ind Co Ltd 電子メールシステム
US6083270A (en) * 1995-03-24 2000-07-04 The Board Of Trustees Of The Leland Stanford Junior University Devices and methods for interfacing human users with electronic devices
JPH11120053A (ja) * 1997-10-01 1999-04-30 Internatl Business Mach Corp <Ibm> 異なるアプリケーション間における文書の共有方法およびシステム
GB9800590D0 (en) * 1998-01-13 1998-03-11 Bae Sema Ltd Intelligent human computer interface system
JP2000207300A (ja) * 1999-01-12 2000-07-28 Oki Electric Ind Co Ltd 情報伝達システム
US6332219B1 (en) * 1999-03-29 2001-12-18 International Business Machines Corporation Cross-platform program, system, and method having a global registry object for mapping registry functions in a windows operating system environment
US6449617B1 (en) * 1999-06-15 2002-09-10 Microsoft Corporation Edit command delegation program for editing electronic files
US6691104B1 (en) * 2000-01-12 2004-02-10 International Business Machines Corporation System and method for personalizing and applying a post processing tool system
JP3674453B2 (ja) * 2000-04-14 2005-07-20 株式会社デンソー 対話型ユーザインターフェース装置
US7487440B2 (en) 2000-12-04 2009-02-03 International Business Machines Corporation Reusable voiceXML dialog components, subdialogs and beans
WO2002052441A1 (en) * 2000-12-22 2002-07-04 Koninklijke Philips Electronics N.V. Meta data category and a method of building an information portal
JP2003051851A (ja) * 2001-08-08 2003-02-21 Sangaku Renkei Kiko Kyushu:Kk 電子メール受信方法と、それに使用するメールサーバ、ウェブサーバ、受信端末及び電子メール受信システム
US7634728B2 (en) * 2002-12-28 2009-12-15 International Business Machines Corporation System and method for providing a runtime environment for active web based document resources

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529899B1 (en) 2000-01-12 2003-03-04 International Business Machines Corporation System and method for registering and providing a tool service
US20020154162A1 (en) 2000-08-23 2002-10-24 Rajesh Bhatia Systems and methods for context personalized web browsing based on a browser companion agent and associated services

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150068308A (ko) * 2013-12-11 2015-06-19 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 이동 단말 상에 검색 결과를 표시하기 위한 방법 및 장치
KR101650253B1 (ko) 2013-12-11 2016-08-22 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 이동 단말 상에 검색 결과를 표시하기 위한 방법 및 장치

Also Published As

Publication number Publication date
US20040249801A1 (en) 2004-12-09
CN101404022B (zh) 2011-09-07
WO2004090787A2 (en) 2004-10-21
CN1784653A (zh) 2006-06-07
CN101404022A (zh) 2009-04-08
WO2004090787A3 (en) 2006-12-14
KR20060006912A (ko) 2006-01-20
EP1616282B1 (en) 2018-10-31
JP2011248900A (ja) 2011-12-08
JP2007524901A (ja) 2007-08-30
US7698327B2 (en) 2010-04-13
EP1616282A2 (en) 2006-01-18
EP1616282A4 (en) 2008-05-14
JP5453347B2 (ja) 2014-03-26
CN100485603C (zh) 2009-05-06
CN100580618C (zh) 2010-01-13
CN1942856A (zh) 2007-04-04

Similar Documents

Publication Publication Date Title
KR100911606B1 (ko) 유니버셜 검색 인터페이스 시스템 및 방법
US10983654B2 (en) Providing variable responses in a virtual-assistant environment
US10728203B2 (en) Method and system for classifying a question
US20070106627A1 (en) Social discovery systems and methods
CN112889043B (zh) 以用户为中心的浏览器位置
US8666993B2 (en) System and method for social networking for managing multidimensional life stream related active note(s) and associated multidimensional active resources and actions
JP4117190B2 (ja) カスタム化コンピュータ・インターフェースを用いてユーザーの活動及び情報を管理するための方法及びシステム
US20170034101A1 (en) Aggregate electronic mail message handling
US20120215762A1 (en) Method and System for Automated Search for, and Retrieval and Distribution of, Information
WO2020072158A1 (en) User-centric contextual information for browser
US20080040322A1 (en) Web presence using cards
US20100312549A1 (en) Method and system for storing and retrieving characters, words and phrases
US20090049405A1 (en) System and method for implementing session-based navigation
WO2011117463A1 (en) Method and apparatus for providing personalized information resource recommendation based on group behaviors
US11258744B2 (en) Digital conversation management
WO2000065773A2 (en) Portal system and method
WO2019152126A1 (en) Generating conversational representations of web content
US20100174591A1 (en) Data Access Engine And Graphic Interface For Portable Computer Devices
US11216735B2 (en) Method and system for providing synthetic answers to a personal question
WO2009007897A1 (en) Method of operating an information retrieval system
Buyukkokten Wireless Web access on handheld devices

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120724

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130722

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140722

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150626

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 10