KR102063425B1 - 무한 검색 결과 페이지 - Google Patents

무한 검색 결과 페이지 Download PDF

Info

Publication number
KR102063425B1
KR102063425B1 KR1020197010833A KR20197010833A KR102063425B1 KR 102063425 B1 KR102063425 B1 KR 102063425B1 KR 1020197010833 A KR1020197010833 A KR 1020197010833A KR 20197010833 A KR20197010833 A KR 20197010833A KR 102063425 B1 KR102063425 B1 KR 102063425B1
Authority
KR
South Korea
Prior art keywords
search
search results
search result
previous
current
Prior art date
Application number
KR1020197010833A
Other languages
English (en)
Other versions
KR20190042759A (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 KR20190042759A publication Critical patent/KR20190042759A/ko
Application granted granted Critical
Publication of KR102063425B1 publication Critical patent/KR102063425B1/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/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 개시의 예시적인 실시예는 무한 검색 결과 페이지를 제공하기 위한 적어도 하나의 프로그램을 저장하는 컴퓨터 판독 가능한 저장 매체 및 컴퓨터 구현된 방법을 포함하는 시스템을 포함한다. 예시적인 실시예에서, 검색의 현재 수준의 검색 결과는 클라이언트 디바이스 상에서 디스플레이된 검색 결과 페이지 상에 제시된다. 현재 수준의 검색 결과의 프레젠테이션에 적용된 스크롤 표시가 검출된다. 스크롤 표시의 방향에 기초하여, 현재 수준의 검색 결과가 검색 결과 페이지에서 스크롤된다. 스크롤링에 응답하여, 현재 수준의 검색 결과의 프레젠테이션의 말미에 도달했음이 판정된다. 이에 대한 응답으로, 이전 수준의 검색 결과가 현재 수준의 검색 결과 프레젠테이션 말미에 첨부되어 검색 결과 페이지를 계속해서 프레젠테이션 하게 한다.

Description

무한 검색 결과 페이지{ENDLESS SEARCH RESULT PAGE}
관련 출원에 대한 상호 참조
본 국제 출원은 2014년 12월 31일자로 출원된 미국 특허 출원 제14/588,222호의 우선권의 이익을 주장하며, 그 전체 내용은 본 명세서에서 그 전체가 참조로 포함된다.
분야
본 개시는 일반적으로 데이터 분석에 관한 것으로, 특정의 예시적인 실시예에서는 동적 콘텐츠 전달(dynamic content delivery)을 제공하는 것에 관한 것이다.
전형적으로, 사용자가 검색을 수행할 때, 사용자는 검색 문자열(search string)을 입력하고 그 다음에는 "엔터" 키를 선택해야 한다. "엔터" 키가 선택되면, 검색 시스템은 전체 검색 문자열을 가져와 전체 검색 문자열과 일치하는 엔트리에 대해 검색을 수행한다. 이와 같이, 사용자가 검색 문자열을 입력하고 "엔터" 키를 선택하고 검색 결과를 얻는 사이에는 지연 시간이 있다. 또한, 이전 검색 결과에 액세스하기 위해, 사용자는 뒤로 가기(back) 버튼을 선택하여 이전 검색 결과를 다시 로딩해야 한다.
첨부된 다양한 도면은 단지 본 발명의 예시적인 실시예를 도시하며 본 발명의 범위를 제한하는 것으로 고려될 수 없다.
도 1은 동적 콘텐츠 전달 검색 시스템을 제공하는데 사용되는 시스템의 네트워크 아키텍처의 예시적인 실시예를 도시하는 블록도이다.
도 2는 게시 시스템의 예시적인 실시예를 도시하는 블록도이다.
도 3은 검색 엔진의 예시적인 실시예를 도시하는 블록도이다.
도 4a 내지 도 4g는 동적 콘텐츠 전달 검색 시스템의 예시적인 사용자 인터페이스를 도시한다.
도 5는 검색 시스템에서 동적 콘텐츠를 제공하기 위한 예시적인 방법의 흐름도이다.
도 6은 검색 시스템에서 동적 콘텐츠를 정제하기 위한 예시적인 방법의 흐름도이다.
도 7은 무한 검색 결과 페이지(endless search result page, SRP)를 제공하기 위한 예시적인 방법의 흐름도이다.
도 8은 머신으로 하여금 본 명세서에서 논의된 임의의 하나 이상의 방법을 수행하게 하는 명령어 집합이 실행될 수 있는 컴퓨팅 시스템의 예시적인 형태의 머신의 간략화된 블록도이다.
이하의 설명은 본 발명의 예시적인 실시예를 구현하는 시스템, 방법, 기술, 명령어 시퀀스 및 컴퓨팅 머신 프로그램 제품을 포함한다. 이하의 설명에서, 설명 목적 상, 많은 특정 세부 사항이 본 발명의 주제의 다양한 실시예를 이해하도록 하기 위해 설명된다. 그러나 본 기술분야에서 통상의 지식을 가진 자에게는 본 발명의 주제의 실시예가 이러한 특정 세부 사항 없이 실시될 수 있음이 명백할 것이다. 일반적으로, 잘 알려진 명령어 인스턴스, 프로토콜, 구조 및 기술은 상세하게 보여주지 않았다.
본 명세서 기재된 예시적인 실시예는 효율적이고 신속한 방식으로 동적 검색 콘텐츠를 사용자에게 제공하기 위한 시스템 및 방법을 제공한다. 예시적인 실시예는 사용자가 하나 이상의 키워드를 포함하는 검색 문자열을 검색 바에 입력하게 한다. 사용자가 검색 문자열을 입력(예를 들어, 타이핑 또는 말로)함에 따라, 동적 콘텐츠 전달 검색 시스템은 이미 키워드를 가져가서 순간적으로(on-the-fly) 매칭 프로세스를 수행하여 키워드에 일치하는 결과를 결정한다. 이것은 예를 들면 사용자가 "엔터" 키를 선택해야 하지 않고도 이루어진다. 이와 같이, 사용자가 전체 검색 문자열을 입력하기를 완료하자마자, 사용자가 "엔터" 키를 선택하지 않아도, 검색 결과는 사용자에게 제시되도록 대기행렬에 올려지며, 자동으로 검색 바 주위에 "출현"될 수 있다. 따라서, 사용자가 완전한 검색 문자열을 입력하기도 전에 매칭 프로세스가 수행되고 있고, 검색 문자열의 입력을 완료하면 잠재적인 결과가 즉각적인 전달을 위해 대기행렬에 (예를 들어, 메모리 또는 캐시에) 올려지기 때문에, 결과를 제시하는 데 지연 시간이 없다.
예시적인 실시예에서, 검색의 현재 수준의 검색 결과는 클라이언트 디바이스 상에 디스플레이된 검색 결과 페이지 상에 제공된다. 현재 수준의 검색 결과의 프레젠테이션에 적용되는 스크롤 표시(scroll indication)가 검출된다. 스크롤 표시의 방향에 기초하여, 현재 수준의 검색 결과는 검색 결과 페이지 상에서 표시된 방향으로 스크롤된다. 스크롤링에 응답하여, 현재 수준의 검색 결과 프레젠테이션의 말미에 도달되었다는 결정이 내려진다. 이에 응답하여, 이전 수준의 검색 결과가 현재 수준의 검색 결과의 프레젠테이션의 말미에 첨부되어 검색 결과 페이지의 프레젠테이션이 계속 이어지게 한다.
결과적으로, 본 명세서에 개시된 하나 이상의 방법론은 검색을 수행하고 대응하는 검색 결과를 제시하는 것을 용이하게 한다. 이전 검색 결과는 현재 검색 결과 집합의 끝에 첨부되어 사용자가 다시 추적(예를 들어, '뒤로 가기' 버튼을 선택하거나 이전 검색 결과가 있는 페이지를 다시 로딩)할 필요가 없게 한다. 이러한 효과가 총체적으로 고려될 때, 본 명세서에 개시된 하나 이상의 방법론은 그렇지 않았더라면 검색 요청에 대한 콘텐츠를 제공하는 것에 연루되었을 특정 노력이나 자원의 필요성을 배제할 수 있다. (예를 들어, 네트워크 환경(100) 내에서) 하나 이상의 머신, 데이터베이스 또는 디바이스에 의해 사용되는 컴퓨팅 자원이 감소될 수 있다. 이러한 컴퓨팅 자원의 예는 프로세서 사이클, 네트워크 트래픽, 메모리 사용량, 데이터 저장 용량, 전력 소비 및 냉각 능력을 포함한다.
도 1을 참조하면, 동적 콘텐츠 전달 검색 시스템을 제공하는 하이-레벨의 클라이언트-서버 기반 네트워크 아키텍처(100)의 예시적인 실시예가 도시된다. 네트워크-서버 측 기능성의 예시적인 형태의 네트워크형 시스템(102)은 통신 네트워크(104)(예를 들어, 인터넷, 무선 네트워크, 셀룰러 네트워크 또는 광역 네트워크(Wide Area Network, WAN))를 통해 하나 이상의 클라이언트 디바이스(110, 112)에 연결된다. 도 1은 예를 들어, (예를 들면, 워싱턴 주 레드몬드 소재의 마이크로소프트® 코포레이션에 의해 개발된 인터넷 익스플로러(Internet Explorer®) 브라우저와 같은) 브라우저를 통해 동작하는 웹 클라이언트(106) 및 각각의 클라이언트 디바이스(110, 112)상에서 실행 중인 프로그램적 클라이언트(108)를 예시한다.
클라이언트 디바이스(110, 112)는 각기 사용자가 네트워크형 시스템(102)에 액세스하기 위해 이용할 수 있는 이동 전화, 데스크톱 컴퓨터, 랩톱 또는 임의의 다른 통신 디바이스를 포함할 수 있다. 일부 실시예에서, 각 클라이언트 디바이스(예를 들어, 클라이언트 디바이스(10))는 정보를 (예를 들어, 사용자 인터페이스의 형태로) 디스플레이하는 디스플레이 모듈(도시되지 않음)을 포함할 수 있다. 다른 실시예에서, 클라이언트 디바이스는 터치 스크린, 가속도계, 카메라, 마이크로폰 및 위성 위치 확인 시스템(Global Positioning System, GPS) 디바이스 중 하나 이상을 포함할 수 있다. 클라이언트 디바이스(110, 112)는 네트워크형 시스템(102)에 의해 제공되는 동적 콘텐츠 전달 검색 시스템으로부터 정보의 처리를 트리거하고, 검색을 수행하며, 결과를 수신하는 데 사용되는 사용자의 디바이스일 수 있다. 일 실시예에서, 네트워크형 시스템(102)은 디지털 상품을 관리하고, 네트워크 기반 시장에서 이용 가능한 제품의 제품 목록을 포함하는 게시물을 게시하고, 이들 시장 거래에 대한 결제를 관리하는 네트워크 기반의 시장을 포함하거나 네트워크 기반의 시장에 링크된다.
애플리케이션 서버 인터페이스(Application Program Interface, API) 서버(114) 및 웹 서버(116)는 각기 하나 이상의 애플리케이션 서버(118)에 연결되고, 하나 이상의 애플리케이션 서버에 프로그램적 인터페이스 및 웹 인터페이스를 제공한다. 애플리케이션 서버(118)는 게시 시스템(120)을 호스팅하고, 이 게시 시스템은 하나 이상의 모듈, 애플리케이션 또는 엔진을 포함할 수 있으며 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 애플리케이션 서버(118)는 차례로 하나 이상의 정보 저장 보관소 또는 데이터베이스(124)에 액세스하기를 용이하게 해주는 하나 이상의 데이터베이스 서버(122)에 연결된다. 일 실시예에서, 데이터베이스(124)는 동적 콘텐츠 전달 검색 시스템에 의해 검색될 수 있는 콘텐츠(예를 들어, 제품 목록, 상점 정보, 광고, 비디오)를 저장하는 저장 디바이스이다.
예시적인 실시예에서, 게시 시스템(120)은 네트워크(예를 들어, 인터넷) 상에 콘텐츠를 게시한다. 이와 같이, 게시 시스템(120)은 네트워크 시스템(102)에 액세스하는 사용자에게 다수의 게시 기능 및 서비스를 제공한다. 예시적인 구현예에서, 게시 시스템(120)은 시장 환경으로, 사용자는 그 시장 환경에 열거된 제품을 구매할 수 있다. 그러나 대안의 실시예에서 게시 시스템(120)은 정보적(예를 들어, 검색 엔진) 또는 소셜 네트워킹 환경과 같은 비시장적 환경과 연관될 수 있음을 알아야 한다. 게시 시스템(120)은 도 1과 관련하여 아래에서 더 상세히 논의될 것이다.
게시 시스템(120)이 도 1에 도시되지만, 대안의 실시예에서, 게시 시스템(120)은 네트워크형 시스템(102)과 구별되는 별도의 서비스의 일부를 형성할 수 있다는 것이 인식될 것이다. 또한, 도 1의 예시적인 네트워크 아키텍처(100)는 클라이언트-서버 아키텍처를 채용하고 있지만, 본 기술에서 통상의 지식을 가진 자라면 본 개시는 그러한 아키텍처로 제한되지 않는다는 것을 인식할 것이다. 예시적인 네트워크 아키텍처(100)는 예를 들면 분산형 또는 피어-투-피어(peer-to-peer) 아키텍처 시스템에서 그 응용을 똑같이 찾아볼 수 있다. 게시 시스템(120)은 반드시 네트워킹 역량을 갖지 않는 별도의 하드웨어 플랫폼 하에서 동작하는 스탠드얼론 시스템 또는 스탠드얼론 소프트웨어 프로그램으로서 구현될 수도 있다. 예를 들어, 데이터베이스(124)와 함께 게시 시스템(120)은 전체가 클라이언트 디바이스(예를 들어, 클라이언트 디바이스(112)) 상에 있을 수 있거나, 아니면 게시 시스템(120)은 클라이언트 디바이스 상에 있고 별도의 별 데이터베이스(124)에 액세스할 수 있다.
이제 도 2를 참조하면, 일 실시예에서 네트워크형 시스템(102)의 게시 시스템(120) 내에 제공되는 복수의 컴포넌트를 보여주는 예시적인 블록도가 도시된다. 이 실시예에서, 게시 시스템(120)은 판매를 위한 아이템(예를 들면, 상품 또는 서비스)이 제공될 수 있는 네트워크 기반 시장과 연관된 콘텐츠 전달 검색 시스템(content delivery search system)을 포함한다. 아이템은 물리적 상품뿐만 아니라 디지털 상품(예를 들어, 통화, 사용권)을 포함할 수 있다. 게시 시스템(120)은 서버 머신 간의 통신을 가능할 수 있도록 통신 가능하게 연결된 전용 또는 공유 서버 머신(도시되지 않음) 상에서 호스팅될 수 있다. 다수의 컴포넌트 자체는 직접 또는 간접적으로, 서로 그리고 다양한 데이터 소스에 (예를 들어, 적절한 인터페이스를 통해) 통신 가능하게 연결되어, 정보가 컴포넌트 사이에서 전달되게 하거나 컴포넌트가 공통 데이터를 공유하고 액세스하게 한다. 그뿐만 아니라, 컴포넌트는 하나 이상의 데이터베이스 서버(122)를 통해 하나 이상의 데이터베이스(124)에 액세스할 수 있다.
게시 시스템(120)은 다수의 게시, 목록 및 가격 책정 메커니즘을 제공함으로써, 판매자(예를 들어, 개인, 상점, 회사)는 판매를 위한 상품 또는 서비스를 열거(또는 관련 정보를 게시)할 수 있고, 구매자는 그러한 상품 또는 서비스를 구매하려는 관심을 표명하거나 그러한 욕구를 표시할 수 있으며, 상품 또는 서비스와 관련하는 거래를 위한 가격이 책정될 수 있다. 이를 위해, 게시 시스템(120)은 경매 방식 목록 및 가격 책정 메커니즘(예를 들면, 영국식 경매, 네덜란드식 경매, 중국식 경매, 이중(Double) 경매, 역경매 등)을 지원하는 적어도 하나의 게시 엔진(202) 및 하나 이상의 경매 엔진(204)을 포함할 수 있다.
상점 엔진(206)은 판매자가 판매자에 의해 그리고 판매자를 위해 브랜드화될 수 있고 그렇지 않으면 맞춤화될 수 있는 "가상의" 상점 내의 목록을 그룹화할 수 있게 한다. 그러한 가상의 상점은 또한 판매자에게 고유하고 맞춤화된 홍보, 인센티브 및 특징을 제공할 수 있다. 일 예에서, 판매자는 가상 상점 내의 즉시 구매(Buy-It-Now) 아이템으로서 복수의 아이템을 제안하거나, 판매 또는 경매를 위한 복수의 아이템을 제안하거나 또는 이들 둘 다의 조합을 제안할 수 있다. 판매자는 또한 자기의 상점을 통해 다른 콘텐츠를 제안할 수도 있다. 예를 들어, 판매자는 (예를 들면, 아이템을 만들거나 사용하는 방법을 보여주는) 조리법 또는 비디오를 제공할 수 있다.
게시 시스템(120)의 탐색은 내비게이션 엔진(208)에 의해 용이해질 수 있다. 예를 들어, 내비게이션 엔진(208)의 검색 모듈(도시되지 않음)은 게시 시스템(120) 내에서 콘텐츠가 분류될 수 있는 다양한 검색 결과, 카테고리, 카탈로그 또는 재고 데이터 구조를 사용자가 검색할 수 있게 한다. 내비게이션 엔진(208) 내의 다양한 다른 내비게이션 애플리케이션은 검색 애플리케이션을 보충하기 위해 제공될 수 있다.
네트워크형 시스템(102)을 통해 이용 가능한 콘텐츠를 가능한 한 시각적으로 알려주고 주위를 끌기 위해, 게시 시스템(120)은 사용자가 게시물 내에 포함하기 위한 이미지 또는 비디오를 업로드할 수 있게 하고 이미지 또는 비디오를 열람된 게시물에 편입할 수 있게 하는 이미징 엔진(210)을 포함할 수 있다. 또한, 이미징 엔진(210)은 사용자로부터 검색 쿼리로서 이미지 데이터를 수신하고 이미지 데이터(예를 들어, 메타데이터)를 활용하여 이미지 데이터에 의해 묘사되거나 서술된 아이템을 식별할 수 있다. 예시적인 실시예에 따르면, 이미징 엔진(210)은 제 3 자 미디어 호스팅 사이트로부터 획득된 이미지 또는 다른 디지털 콘텐츠를 사용할 수 있다.
콘텐츠 제작 엔진(212)은 사용자(예를 들어, 판매자)가 게시물, 콘텐츠 또는 아이템 목록을 편리하게 저작할 수 있게 한다. 일 실시예에서, 콘텐츠는 사용자(예를 들어, 판매자)가 게시 시스템(120)을 통해 거래하고자 하는 상품 또는 서비스에 관련된다. 다른 실시예에서, 사용자는 광고 또는 다른 형태의 게시물(예를 들어, 사용지침 비디오(tutorial video))인 콘텐츠를 제작할 수 있다.
콘텐츠 관리 엔진(214)은 사용자가 그러한 게시물 또는 콘텐츠를 관리할 수 있게 한다. 특히, 특정 사용자가 많은 수의 콘텐츠를 저작하거나 게시한 경우, 그러한 콘텐츠의 관리에는 어려움이 존재할 수 있다. 콘텐츠 관리 엔진(214)은 사용자가 그러한 콘텐츠를 관리하는 것을 돕기 위해 다수의 특징(예를 들어, 자동 재등록(auto-relisting), 재고 수준 모니터 등)을 제공한다.
검색 엔진(216)은 쿼리와 일치하는 네트워크형 시스템(102) 내의 콘텐츠에 대한 검색을 수행하고, 키워드를 검색 문자열에 첨부하고, 검색 결과를 대기행렬에 올려놓고, 검색 결과의 프레젠테이션을 관리한다. 검색은 사용자가 검색 문자열을 입력할 때 순간적으로 수행된다. 결과는 사용자가 검색 문자열을 완료하자마자 사용자가 "엔터" 버튼 또는 키를 선택하지 않고도 사용자에게 프레젠테이션을 위해 대기행렬에 올려놓을 수(예를 들어, 캐싱될 수) 있다. 검색 엔진(216)은 도 3과 관련하여 아래에서 더 상세히 설명될 것이다.
게시 시스템(120)의 다양한 컴포넌트가 다양한 개개의 모듈 및 엔진의 관점에서 정의되었지만, 본 기술분야에서 통상의 지식을 가진 자라면 많은 아이템이 다른 방식으로 조합되거나 구성될 수 있다는 것과 모든 모듈 또는 엔진이 예시적인 실시예에 따라 존재하거나 구현될 필요가 없다는 것을 인식할 것이다. 또한, 게시 시스템(120)의 모든 컴포넌트가 도 2에 포함되지는 않았다. 일반적으로, 예시적인 실시예의 기능에 직접적으로 관련되지 않은 컴포넌트, 프로토콜, 구조 및 기술(예를 들면, 가격 결정 엔진, 분쟁 해결 엔진, 충성도 증진 엔진, 맞춤화 엔진)은 도시되지 않았거나 상세히 논의되지 않았다. 본 명세서에 주어진 설명은 독자가 단순히 본 명세서에서 사용되는 시스템 및 방법을 이해하는 것을 돕기 위해 다양한 예시적인 실시예를 제공한다.
도 3은 일 실시예에서 게시 시스템(120)의 검색 엔진(216) 내에 제공되는 복수의 컴포넌트를 갖는 예시적인 블록도를 도시한다. 검색 엔진(216)은 사용자가 검색 문자열을 입력함에 따라 검색 문자열 내 키워드의 동적 즉석 매칭(dynamic on-the-fly matching)을 수행하고 검색 문자열의 입력이 완료되면 사용자에게 즉각적인 프레젠테이션을 위해 검색 결과를 대기행렬에 올려놓는 동적 콘텐츠 전달 검색 시스템을 포함한다. 검색 엔진(216)은 또한 사용자가 디스플레이되는 카테고리, 하위 카테고리 또는 관심 아이템에 대응하는 이미지를 선택함으로써 검색 문자열에 키워드를 첨부할 수 있게 한다. 또한, 검색 엔진(216)은 검색 결과의 현재 수준의 하단 또는 말미에 검색 결과의 이전 수준을 첨부하는 무한 검색 결과 페이지(endless search result page, SRP)를 제공한다. 이러한 동작을 가능하게 하기 위해, 검색 엔진(216)은 통신 가능하게 모두 함께 연결된 쿼리 입력 모듈(302), 매치 모듈(304), 결과 모듈(306) 및 사용자 인터페이스 모듈(308)을 포함한다.
관련된 컴퓨터 및 인터넷 관련 기술분야의 통상의 지식을 가진 자가 이해하는 바와 같이, 도 2 및 도 3에 예시된 각 컴포넌트(예를 들어, 모듈 또는 엔진)는 한 세트의 로직(예를 들어, 실행 가능한 소프트웨어 명령어) 및 그 로직 세트를 실행하기 위한 대응하는 하드웨어(예를 들어, 메모리 및 프로세서)를 나타낼 수 있다. 또한, 도 2 및 도 3에 예시된 각 컴포넌트(예를 들어, 모듈 또는 엔진)는 다른 컴포넌트 및 다양한 데이터 소스에 (예를 들어, 적절한 인터페이스를 통해) 통신 가능하게 연결되어, 컴포넌트 사이에서 정보가 전달되게 하거나 컴포넌트가 공통 데이터를 공유하고 액세스할 수 있게 한다. 더욱이, 도 2 및 도 3에 예시된 각 컴포넌트는 서버 머신 간의 통신을 가능하게 하기 위해 통신 가능하게 연결된 전용 또는 공유 서버 시스템에서 호스팅될 수 있다.
쿼리 입력 모듈(302)은 사용자에게 제시되는 사용자 인터페이스 상에 디스플레이되는 검색 박스 내에 검색 문자열을 입력하는 것을 포함하는 동작을 관리한다. 따라서, 쿼리 입력 모듈(302)은 검색 문자열이 검색 박스에 입력 중일 때를 검출하고 검색 문자열의 하나 이상의 키워드를 식별한다. 예를 들어, 사용자가 검색 문자열에 제 1 키워드를 입력하자마자, 쿼리 입력 모듈(302)은 키워드의 입력(예를 들어, 일련의 문자 다음에 공백을 검출하는 것 또는 스페이스 바의 선택을 검출하는 것) 검출하고, 키워드를 식별하고, 그 키워드를 매치 모듈(304)에 전달한다. 이와 같은 프로세스는 검색 문자열의 각각의 추가 키워드에 대해 계속 이어진다. 쿼리 입력 모듈(302)은 또한 아래에서 더 상세히 설명되는 바와 같이, 이전에 제시된 검색 결과로부터의 선택에 기초하여 키워드를 검색 문자열에 첨부하는 것을 포함하는 동작을 관리한다.
매치 모듈(304)은 매칭 프로세스를 수행하여 검색 문자열의 하나 이상의 키워드와의 일치를 실시간으로 결정한다. 예시적인 실시예에서, 매치 모듈(304)은 쿼리 입력 모듈(302)에 의해 검출된 제 1 키워드를 수신하고 제 1 매칭 프로세스를 수행하여 제 1 키워드와 일치하는 결과를 유도한다. 이어서, 쿼리 입력 모듈(302)이 검색 문자열에서 제 2 키워드를 검출하면, 매치 모듈(304)은 제 2 키워드를 사용하여 제 1 키워드로부터 도출된 일치 결과를 정제한다. 이러한 매칭 프로세스는 검색 문자열의 모든 키워드가 매칭 프로세스에 편입될 때까지 계속된다. 검색 문자열의 끝은, 예를 들어, 임의의 추가 키워드를 입력할 때의 공백 또는 일시 정지에 의해 검출될 수 있다.
결과 모듈(306)은 검색 결과를 사용자에게 제시하기 전에 검색 결과를 처리하는 것을 포함하는 동작을 관리한다. 예시적인 실시예에서, 결과 모듈(306)은 현재 또는 이전 검색 및 검색 결과의 수준을 결정한다. 현재 또는 이전의 검색 또는 검색 결과의 수준에 따라, 사용자에게 프레젠테이션을 위한 상이한 버전의 콘텐츠가 검색될 수 있다. 예를 들면, 이전 검색 결과의 수준이 카테고리 수준(예를 들어, 가구)에 있었다면, 이전 검색 결과에 기반하는 (예를 들어, 이전 검색 결과 또는 검색 문자열을 정제하는) 현재 검색 결과는 하위 카테고리 수준(예를 들어, 소파)에 있을 수 있다. 다른 실시예에서, 아래에서 더 상세히 설명되는 바와 같이 쿼리 입력 모듈(302)이 이전 검색 문자열에 첨부할 하나 이상의 키워드를 결정하기 위해, 현재 또는 이전 검색 수준은 쿼리 입력 모듈(302)에 제공된다.
사용자 인터페이스 모듈(308)은 사용자에게 (예를 들어, 사용자의 클라이언트 디바이스의 디스플레이상에) 검색 결과의 프레젠테이션을 수행하는 동작을 관리한다. 예시적인 실시예에서, 사용자 인터페이스 모듈(308)은 검색 결과가 검색 바 또는 검색 박스의 하나 이상의 옆에서 그래픽 형식으로 제시되게 한다. 따라서, 사용자 인터페이스 모듈(308)은 검색 결과에 대한 이미지에 액세스하고 명령어 및 데이터를 사용자 클라이언트 디바이스(예를 들어, 클라이언트 디바이스(110))에 전송하여 그러한 사용자 인터페이스를 제시한다. 사용자 인터페이스 모듈(308)은 또한 사용자가 추적을 다시(예를 들어, "뒤로 가기" 버튼을 선택하거나 이전 검색 결과가 있는 페이지를 다시 로딩)할 필요가 없도록 하기 위해 현재 검색 결과 집합의 말미에 이전 검색 결과를 첨부하는 것을 관리한다.
도 4a 내지 도 4g는 (예를 들어, 사용자 인터페이스 모듈(308)을 통해) 동적 콘텐츠 전달 검색 시스템에 의해 제시되는 예시적인 사용자 인터페이스이다. 도 4a는 사용자가 검색 쿼리를 시작하는 홈페이지를 포함하는 사용자 인터페이스(400)를 도시한다. 예시된 바와 같이, 사용자 인터페이스(400)는 사용자가 검색 문자열을 입력할 수 있는 검색 바(402)를 포함한다.
사용자 인터페이스(400)는 또한 사용자가 현재의 검색 문자열에 첨부하기 위해 선택할 수 있는 이미지로서 도시된 복수의 콘텐츠를 제공한다. 복수의 콘텐츠는 사용자가 게시 시스템(120)에 알려져 있는 경우 사용자에게 맞춤화될 수 있다(예를 들면, 쿠키를 통해, 게시 시스템(120)에 로그인될 수 있다). 예를 들어, 홈페이지 상에 디스플레이된 콘텐츠는 사용자가 이전에 구매하였거나, 이전에 검색을 수행하였거나, 소유하고 있거나, 관심을 보였거나 또는 이것들의 임의의 조합인 아이템의 카테고리를 포함할 수 있다.
이제 도 4b를 참조하면, 사용자는 "summer cocktail(여름 칵테일)"을 검색 문자열로서 입력했다. 이에 응답하여, 사용자가 "summer cocktail"을 타이핑함에 따라, "summer cocktail"과 관련될 수 있는 카테고리에 대응하는 다양한 이미지가 검색 바(402) 주위에 "출현"되거나 디스플레이된다. 일부 실시예에서, 검색 문자열의 각 키워드가 입력됨에 따라 다양한 결과가 디스플레이될 수 있다. 예를 들어, 사용자가 "summer"을 타이핑한 후, 한 세트의 이미지가 검색 바(402) 주위에 디스플레이될 수 있다. 사용자가 계속하여 검색 문자열의 나머지를 입력(예를 들어, "cocktail"을 타이핑)함에 따라, 검색 바(402) 주위에 디스플레이되는 이미지는 정제되어 "summer cocktail"에 해당하는 카테고리를 디스플레이한다. 다른 실시예에서, 이미지는 사용자가 검색 문자열의 입력을 완료할 때까지 디스플레이되지 않는다. 그러나 검색 엔진(216)은 사용자가 키워드를 입력함에 따라 사용자가 검색 바(402)에 입력하고 있는 것에 기초하여 검색 결과를 동적으로 관리 및 기획하고 생성하며, 그럼으로써 검색 결과가 백엔드(backend)(예를 들어, 게시 시스템)에서 대기행렬에 올려진다. 검색 바(402)에 더 많은 키워드가 첨부됨에 따라, 대기행렬에 올라 있는 검색 결과가 정제된다. 결과적으로, 검색 결과는 사용자가 "엔터" 키를 선택할 때까지 검색 문자열을 처리하지 않는 실시예에서보다 빠르게 반환될 수 있다.
도 4b의 예시적인 사용자 인터페이스에 도시된 바와 같이, 검색 결과의 다양한 카테고리는 예를 들어, 안경, 음주용 유리잔, 여성 의류, 남성 의류, 바웨어(barware) 및 가구를 포함한다. 사용자는 이러한 카테고리 중 하나에 대응하는 이미지를 선택하여 검색을 정제할 수 있다. 예를 들어, 사용자는 음주용 유리잔에 대응하는 이미지(404)를 선택할 수 있다. 이러한 이미지를 선택함으로써, 선택한 이미지와 연관된 하나 이상의 키워드가 검색 문자열에 첨부된다. 예를 들어, 쿼리 입력 모듈(302)은 선택된 이미지와 연관된 메타데이터(예를 들어, 이미지 내 아이템을 서술하는 속성)로부터 하나 이상의 키워드를 결정한다. 하나 이상의 키워드는 사용자 인터페이스 모듈(308)에 의해 검색 문자열에 첨부되며 매치 모듈(304)에 의해 현재 검색 결과를 정제하는데 사용된다. 이제 도 4c를 참조하면, 검색 바(402)는 이제 키워드 "glasses(유리잔)"이 추가되어 결과적으로 새로운 검색 문자열 "summer cocktail glasses"을 생성하는 것을 보여준다. 따라서, 시각적 표현 또는 이미지의 선택은 검색을 정제하는데 사용될 수 있다.
검색 문자열에 첨부된 하나 이상의 키워드는 현재 검색의 수준에 따라 달라진다. 일 실시예에서, 디스플레이된 이미지의 각기 하나씩은 검색시 현재 수준을 나타내기 위해 (예를 들어, 추가 부분의 메타데이터와 함께) 태깅된다. 예를 들어 "summer cocktail"에 대해 반환된 결과는 카테고리를 나타낸다(시각적 카테고리 표현을 나타낸다). 이와 같이, 검색 엔진(216)은 "음주용 유리잔(drinking glasses)"에 대응하는 이미지가 "카테고리"의 태그를 갖고 있는 것을 검출할 것이다. 그러므로 카테고리 수준의 "음주용 유리잔"을 선택하는 것은 검색 엔진(216)에게 카테고리 수준에 대응하는 키워드를 첨부하도록 지시하고 음주용 유리잔에 대응하는 하위 카테고리(예를 들어, 제품, 상점) 내의 결과를 반환하도록 지시하게 될 것이다. 다른 예로서, 현재 수준이 음주용 유리잔의 하위 카테고리이었다면, 음주용 유리잔을 표시하는 이미지를 선택하는 것은 하위 카테고리 수준에 대응하는 키워드가 첨부되게 하고 아이템 수준(예를 들어, 구매 가능한 개별 아이템)에 있는 결과를 반환하게 한다.
도 4c에 도시된 바와 같이, 검색 문자열 "summer cocktail glasses"에 대응하는 이미지가 이제 검색 바(402) 주위에 디스플레이된다. 이미지는 여름 칵테일 유리잔에 관련된 하위 카테고리에 대응할 수 있다. 예를 들어, 도 4c에는 음주용 유리잔, 음주용 유리잔에 관련된 액세서리 및 칵테일에 관련된 구성 재료의 유형에 대응하는 이미지가 디스플레이된다.
또한, 도 4c에는 음주용 유리잔과 관련된 비디오(408)에 대응하는 이미지(406)가 디스플레이된다. 사용자가 이미지(406)를 선택하면, 도 4d에 예시된 바와 같이 비디오(408)가 재생되기 시작한다. 도 4d의 예시적인 사용자 인터페이스에서, 비디오(408)는 음주용 유리잔을 판매하는 상점(예를 들어, 브루클린 글래스 앤 머컨틸 컴퍼니(Brooklyn Glass & Mercantile Company))과 연관되며, 예를 들면, 칵테일을 만드는 방법을 보여줄 수 있다. 또한, 검색 바(402)는 비디오(408)를 디스플레이하기 위해 재배치될 수 있다(예를 들면, 사용자 인터페이스의 상단으로 이동될 수 있다).
이미지(406) (또는 현재 재생 중인 비디오(408))를 추가로 선택하면, 예를 들어, 도 4e에 도시된 바와 같이 디스플레이 중인 비디오(408)가 전체 화면(410)으로 나타난다. 검색 바(402)는 전체 화면(410)이 디스플레이되도록 하기 위해 다시 배치된 위치(예를 들면, 사용자 인터페이스의 상단으로 이동된 위치)에 그대로 있는다. 대안으로, 도 4c에서 이미지(406)의 선택은 비디오(408)가 도 4e에 도시된 바와 같이 전체 화면(410)으로 재생되게 할 수 있다.
또한, 선택된 이미지(406)에 링크된 하나 이상의 키워드는 검색 바(402)에 첨부된다. 본 예에서, "from Brooklyn Glass & Mercantile Co."가 "summer cocktail glasses"에 첨부된다. 브루클린 글래스 앤 머컨틸 컴퍼니와 연관된 키워드가 첨부되면, 사용자가 정제화를 더 요구하지 않더라도 (예를 들어, 사용자가 비디오를 재생하라고만 지시하더라도) 검색 엔진(216)은 이전의 검색 결과를 더 정제하게 한다. 결과적으로, 사용자가 브루클린 글래스 앤 머컨틸 컴퍼니와 연관된 더욱 정제된 검색 결과를 위한 희망을 표시하기 전에, 추가로 정제된 검색 결과가 대기행렬에 올려져 프레젠테이션할 준비가 될 수 있다.
비디오(408)(또는 비디오(408)에 대응하는 이미지)가 추가로 선택되면, 도 4f에 도시된 바와 같이, 추가 정제된 검색 결과(예를 들어, 브루클린 글래스 앤 머컨틸 컴퍼니로부터 여름 칵테일 유리잔과 관련된 아이템)이 제시된다. 일 실시예에서, 추가 정제된 검색에서 디스플레이된 아이템은 스크롤 가능한 사용자 인터페이스에 존재한다. 다른 실시예에서, 아이템은 다른 형식(예를 들어, 격자 형태, 목록 형태)으로 디스플레이될 수 있다. 디스플레이된 아이템은 예를 들면 판매용 제품 및 조리법을 포함할 수 있다.
사용자는 추가 정제된 검색 결과를 처음부터 끝까지 스크롤할 수 있다. 예를 들어, 디스플레이된 것이 터치 스크린 디바이스(예를 들어, 태블릿) 상에 있다면, 사용자는 상향 손동작(upward motion)으로 스와이프하여 추가 정제된 검색 결과를 위쪽 방향으로 스크롤할 수 있다. 추가 정제된 검색 결과의 말미에, 이전 검색 결과가 상위 수준부터 계속 이어져 보인다. 이와 같이, 사용자가 계속해서 상향 스크롤함에 따라, 도 4g에 도시된 바와 같이, 브루클린 글래스 앤 머컨틸 컴퍼니로부터 정제된 결과는 사용자 인터페이스를 밀어 버리고 검색 문자열 "summer cocktail glasses"에 기초한 검색 결과가 계속 이어져 스크롤링하는 사용자 인터페이스의 일부로 제시된다. 또한, 검색 바(402)는 현재의 검색 문자열을 보여준다. 이와 같이, 검색 문자열은 "summer cocktail glasses"으로 바뀌었다. 이 시점에서 사용자가 하향 손동작(downward motion)으로 검색 결과를 스크롤하면, "summer cocktail glasses from Brooklyn Glass & Mercantile Co."에 대한 정제된 검색 결과가 다시 디스플레이되며 그에 따라 검색 막대(402)가 변경될 것이다. 그 결과, 검색 엔진(216)에 의해 무한 검색 결과 페이지(search result page, SRP)가 제공된다. 따라서, 검색 엔진(216)은 사용자가 어디서 (예를 들어, 검색 결과의 이전 수준에서) 왔는지를 의식하고 이것을 검색 결과의 현재 수준의 맨 아래에 첨부한다. 이것은 뒤로 가기 버튼을 사용하는 것과 함께 그 뒤로 가기 버튼의 선택에 응답하여 이전 검색 결과가 포함된 페이지를 다시 로딩해야 하는 것을 피하게 해준다. 무한 SRP 과정은 아래에서 더 자세히 논의될 것이다.
도 5는 검색 시스템에서 동적 검색 콘텐츠를 제공하기 위한 예시적인 방법(500)의 흐름도이다. 예시적인 실시예에서, 검색 엔진(216)은 검색 문자열이 검색 박스 또는 바에 입력되고 있음에 따라 동적으로 매칭을 수행하고 프레젠테이션을 위한 검색 결과를 대기 행렬에 올린다. 사용자는 결과를 얻기 위해 "엔터" 키를 선택할 필요가 없다. 이와 같이, 동작(502)에서 검색 문자열의 입력이 검출된다. 쿼리 입력 모듈(302)은 검색 바에 입력되는 검색 문자열의 입력을 (예를 들어, 키 스트로크, 문자 또는 숫자를 검출하여) 실질적으로 실시간으로 검출한다.
동작(504)에서, 검색 문자열의 키워드가 식별된다. 예시적인 실시예에서, 쿼리 입력 모듈(302)은 키워드가 검색 바에 입력됨에 따라 각각의 키워드를 식별한다. 예를 들어, 사용자가 검색 문자열의 제 1 키워드를 입력하자마자, 쿼리 입력 모듈(302)은 제 1 키워드(예를 들어, "summer")를 검출하고 식별한다. 일 실시예에서, 쿼리 입력 모듈(302)은 키워드 뒤의 공백에 기초하여 제 1 키워드의 입력 완료를 검출한다.
그 다음, 키워드는 매치 모듈(304)에 전달되며, 단계(506)에서 키워드와 일치하는 키워드가 실시간으로 결정된다. 예시적인 실시예에서, 매치 모듈(304)은 쿼리 입력 모듈(302)에 의해 검출된 키워드를 수신하고 매칭 프로세스를 수행하여 키워드와 일치하는 결과를 도출한다. 결과적으로, 키워드와 일치하는 매칭 결과가 결정되며 사용자에게 제시할 준비가 된다(예를 들어, 전달을 위해 대기행렬에 올려진다).
동작(508)에서, 검색 문자열의 다음 키워드가 존재하는지에 관한 결정이 이루어진다. 예를 들어, 쿼리 입력 모듈(302)은 검색 문자열의 다음 또는 후속 키워드가 입력되는지를 결정한다. 다음 키워드가 검출되면, 방법은 동작(504)으로 되돌아가서, 다음 키워드(예를 들어, "cocktail")가 식별되며, 동작(506)에서 다음 키워드는 제 1 키워드에 기초하여 이전의 매칭 결과를 정제하는데 사용된다.
이러한 매칭 프로세스는 검색 문자열로부터의 모든 키워드가 매칭 프로세스에 편입될 때까지 계속된다. 각 키워드의 부가로 인해 이전의 매칭 결과가 정제된다. 이와 같이, 다음 키워드는 더 적은 이전 매칭 결과 집합과 매칭되기 때문에 매칭 프로세스는 훨씬 빨라지고 각 반복에서 더 적은 처리 능력을 필요로 한다.
추가 키워드가 검출되지 않으면(예를 들어, 검색 문자열의 입력이 완료되면), 동작(510)에서, 검색 결과의 최종 일치된 것의 이미지가 액세스된다. 따라서, 사용자 인터페이스 모듈(308)은 게시 정보를 저장하는 데이터베이스 또는 저장소 (예를 들면, 데이터베이스(124))의 이미지에 액세스한다. 이미지는 제 3 자 또는 상점으로부터의 이미지, 카탈로그로부터의 이미지, 이미징 엔진(210)을 통해 다양한 주체에 의해 업로드된 이미지, 또는 이들의 임의의 조합을 포함할 수 있다.
동작(512)에서, 검색 결과는 결과적으로 사용자의 클라이언트 디바이스(예를 들어, 클라이언트 디바이스(110)) 상에 디스플레이된다. 예시적인 실시예에서, 사용자 인터페이스 모듈(308)은 명령어 및 데이터(예를 들어, 이미지 데이터)를 사용자의 클라이언트 디바이스에 전송하여 사용자 인터페이스를 제시하며, 그럼으로써 검색 결과의 이미지가 (예를 들면, 검색 바의 위, 아래 또는 주위에) 디스플레이된다. 검색 결과의 시각적 표현을 제공하는 이미지가 검색 결과로서 디스플레이되는 것으로 설명되지만, 대안의 실시예는 다른 형태의 검색 결과를 제시할 수 있음을 알아야 한다. 예를 들어, 검색 결과는 (관련 이미지가 있거나 또는 관련 이미지가 없는) 목록 형식으로 제공될 수 있다.
이제 도 6을 참조하면, 동적 콘텐츠를 정제하기 위한 예시적인 방법(600)의 흐름도가 도시된다. 예시적인 실시예에서, 검색 엔진(216)은 현재 검색 결과의 사용자 선택에 기초하여 검색 문자열에 추가 키워드를 첨부할 수 있다. 이것은, 예를 들어, 사용자가 특정 아이템이 호출하는 것이 무엇인지, 특정 아이템을 어떻게 설명하는지 또는 특정 아이템과 연관된 상점 또는 조직의 이름을 알지 못할 때 유리할 수 있다. 그 대신에, 사용자는 사용자에게 관심 있는 아이템을 묘사하는 이미지를 사용하여 더 일반적인 검색을 정제화할 수 있다. 일부 실시예에서, 방법(600)은 사용자가 이미 검색 문자열을 입력하였으며 입력된 검색 문자열에 기초하여 검색 결과를 수신했다는 것에 기초하여 수행될 수 있다. 검색 결과는 특정 검색 결과의 시각적 표현을 나타내는 이미지 형태로 디스플레이된다. 대안으로, 방법(600)은 (예를 들어, 도 4a에 도시된 바와 같이) 사용자가 다양한 카테고리의 이미지를 디스플레이하고 있는 홈페이지에 있는 것에 기초하여 수행될 수 있다.
동작(602)에서, 이미지 중 하나의 이미지를 선택한 것이 수신된다. 예시적인 실시예에서, 입력 쿼리 모듈(302)은 이미지의 선택을 수신하고 선택된 이미지와 연관된 메타데이터에 액세스한다.
단계(604)에서, 현재 검색의 수준 및 선택된 이미지가 결정된다. 예를 들어, 선택된 이미지가 광의의 카테고리 이미지인지 또는 선택된 이미지가 특정 아이템 이미지인지에 관한 결정이 이루어질 수 있다. 검색 문자열에 첨부될 하나 이상의 키워드 또는 반환될 검색 결과는 검색의 현재 수준에 따라 달라진다. 일 실시예에서, 선택된 이미지는 그 이미지가 사용자에게 디스플레이되게 할 때 검색의 현재 수준(예를 들어, 카테고리 수준, 하위 카테고리 수준)을 표시하기 위해 태깅된다. 이 실시예에서, 검색 수준은 태그로부터 결정된다.
동작(606)에서, 하나 이상의 키워드가 결정되고 검색 문자열에 첨부된다. 하나 이상의 키워드는 검색의 현재 수준에 기초하여 선택된 이미지와 연관된 메타데이터로부터 결정될 수 있다. 예를 들어, 검색의 현재 수준이 "summer cocktail"에 대한 (카테고리) 결과를 제시하고 사용자가 포터리 반(Pottery Barn) 칵테일 유리잔에 대응하는 이미지를 선택한다면, 첨부될 키워드는 "glasses"이다. 그러나 검색의 현재 수준이 "summer cocktail glasses"에 대한 (하위 카테고리) 결과를 제시하고 포터리 반 칵테일 유리잔에 대응하는 동일 이미지가 선택된다면, 첨부될 키워드는 "Pottery Barn"일 수 있고, 이것은 "summer cocktail glasses from Pottery Barn"이라는 검색 문자열의 결과를 가져온다. 또 다른 예에서, 검색의 현재 수준이 "summer cocktail glasses from Pottery Barn"이라는 검색 문자열을 기초로 하여 포터리 반의 점포를 제시하고 사용자가 동일 이미지를 선택한다면, 포터리 반의 이미지에 묘사된 유리잔의 유형(예를 들어, "classic margarita")이 첨부될 수 있다. 예시적인 실시예에서, 사용자 인터페이스 모듈(308)은 검색 바에 디스플레이된 검색 문자열에 하나 이상의 키워드가 첨부되게 한다. 입력 쿼리 모듈(302)은 또한 하나 이상의 키워드를 매치 모듈(304)에 제공한다.
동작(608)에서, 매치 모듈(304)은 첨부된 검색 문자열에 대해 일치하는 것을 결정한다. 따라서, 이전 검색 결과는 첨부된 키워드(들)에 의해 정제되어 이전 검색보다 낮은 검색 수준인 정제된 검색 결과를 얻는다. 첨부된 키워드를 사용하여 이전 검색 결과를 정제하는 것은 사용자가 이미지를 선택하는 것 이상의 어떤 것도 이행하지 않고 수행된다(예를 들면, "엔터" 키가 요구되지 않는다).
동작(610)에서, 검색 결과의 최종 일치된 것의 이미지가 액세스된다. 따라서, 사용자 인터페이스 모듈(308)은 게시 정보를 저장하는 데이터베이스 또는 저장소(예를 들어, 데이터베이스(124))의 이미지에 액세스한다. 이미지는 제 3 자 또는 상점으로부터의 이미지, 카탈로그로부터의 이미지, 이미징 엔진(210)을 통해 다양한 주체에 의해 업로드된 이미지, 또는 이들의 임의의 조합을 포함할 수 있다.
단계(612)에서, 검색 결과는 사용자의 사용자 디바이스 상에 디스플레이된다. 예시적인 실시예에서, 사용자 인터페이스 모듈(308)은 명령어 및 데이터(예를 들어, 이미지 데이터)를 사용자의 클라이언트 디바이스에 전송하여 사용자 인터페이스를 제시하며, 이렇게 함으로써 검색 결과의 이미지가 (예를 들어, 검색 창의 위, 아래 또는 주위에) 디스플레이된다.
도 7은 무한 검색 결과 페이지(SRP)를 제공하기 위한 예시적인 방법(700)의 흐름도이다. 예시적인 실시예에서, 검색 엔진(216)은 검색 결과의 이전 수준을 검색 결과의 현재 수준의 맨 아래 또는 말미에 첨부함으로써 무한 검색 결과 페이지를 제공한다. 이러한 프로세스는 뒤로 가기 버튼을 사용하는 것과 함께 그 뒤로 가기 버튼의 선택에 응답하여 이전 검색 결과가 포함된 페이지를 다시 로딩해야 하는 것을 피하게 해준다. 방법(700)의 동작은 사용자 인터페이스 모듈(308)에 의해 수행된다.
동작(702)에서, 검색 결과의 현재 수준은 사용자 디바이스 상에 디스플레이된다(예를 들면, "Summer cocktail glasses from Brooklyn Glass & Mercantile Co."에 대한 검색 결과가 디스플레이된다). 예시적인 실시예에서, 사용자 인터페이스 모듈(308)은 명령어 및 데이터를 사용자의 클라이언트 디바이스에 전송하여 스크롤 가능한 사용자 인터페이스를 제시함으로써 검색 결과가 그래픽 형식으로 제시되도록 한다. 검색 결과는 각 결과에 대한 텍스트, 이미지 또는 이들의 조합을 포함할 수 있다. 방법(700)은 적어도 하나의 초기 검색 및 그 초기 검색의 정제화가 수행되었다는 것과, 제시되는 검색 결과의 현재 수준이 그 정제화에 기초한 검색 결과라는 것을 가정한다.
동작(704)에서, 스크롤 표시가 검출된다. 예를 들어, 사용자는 검색 결과의 현재 수준을 디스플레이하는 터치 스크린에서 상방으로 스와이프할 수 있다. 이에 응답하여, 동작(706)에서 사용자 인터페이스 모듈(308)은 검색 결과를 스크롤 표시 방향으로 스크롤하게 한다.
동작(708)에서, 현재 수준의 검색 결과(예를 들어, "Summer cocktail glasses from Brooklyn Glass & Mercantile Co."에 대한 검색 결과)의 말미에 도달했는지에 관한 결정이 이루어진다. 현재 수준에서 검색 결과의 말미에 도달하지 않았다면, 사용자 인터페이스는 스크롤 표시를 계속 모니터링하고 스크롤 표시의 방향으로 스크롤링 중인 검색 결과의 프레젠테이션을 이행한다.
그러나 현재 수준에서 검색 결과의 말미에 도달하면, 사용자 인터페이스 모듈(308)은 이전 수준의 검색 결과(예를 들어, "summer cocktail glasses"에 대한 검색 결과)를 현재 수준에서 검색 결과의 맨 아래 또는 말미에 첨부한다. 따라서, 검색 엔진(216)은 전체의 총 검색 결과에 대해 현재 수준의 검색 결과 내의 모든 아이템들 사이의 관계를 이해한다. 현재 수준의 검색 결과(예를 들어, 스포츠-스포츠 카테고리-베이스볼)가 끝에 도달하면, 사용자 인터페이스 모듈(308)은 검색 결과를 이전 수준(예를 들어, 스포츠-스포츠 카테고리)으로 되돌린다.
이전 검색 결과를 첨부하게 되면 이전의 검색 결과를 제시하기 위해 새로운 페이지를 제공할 필요가 없다. 그 대신에, 이전 검색 결과는 캐시에서 검색되어 현재 검색 결과의 말미에 추가되며, 이에 따라 캐싱되어 있던 경험을 적극 활용하며 처리 요구 사항을 줄일 수 있다.
도 8은 머신 판독 가능한 매체(822)(예를 들어, 비일시적 머신 판독 가능한 매체, 머신 판 독가능한 저장 매체, 컴퓨터 판독가능한 저장 매체, 또는 이들의 임의의 적절한 조합)로부터 명령어(824)를 판독할 수 있고 본 명세서에서 논의된 임의의 하나 이상의 방법론을 전체적으로 또는 부분적으로 수행할 수 있는, 일부 예시적인 실시예에 따른, 머신(800)의 컴포넌트를 예시하는 블록도이다. 구체적으로, 도 8은 머신(800)으로 하여금 본 명세서에 논의된 임의의 하나 이상의 방법론을 수행하게 하는 명령어(824)(예를 들어, 소프트웨어, 프로그램, 애플리케이션, 애플릿, 앱 또는 다른 실행 가능한 코드)가 전체적으로 또는 부분적으로 실행될 수 있는 컴퓨터 시스템(예를 들어 컴퓨터)의 예시적 형태의 머신(800)을 도시한다.
대안의 실시예에서, 머신(800)은 스탠드얼론 디바이스로서 동작하거나 또는 다른 머신에 접속(예를 들어, 네트워크로 연결)될 수 있다. 네트워크형 배치에서, 머신(800)은 서버-클라이언트 네트워크 환경에서 서버 머신 또는 클라이언트 머신의 자격으로 작동할 수 있거나 아니면 피어-투-피어 네트워크 환경에서 피어 머신으로서 동작할 수 있다. 머신(800)은 서버 컴퓨터, 클라이언트 컴퓨터, 퍼스널 컴퓨터(personal computer, PC), 태블릿 컴퓨터, 랩톱 컴퓨터, 넷북, 셋톱 박스(set-top box, STB), 개인 휴대 정보 단말기(personal digital assistant, PDA), 셀룰러 텔레폰, 스마트폰, 웹 어플라이언스, 네트워크 라우터, 네트워크 스위치, 네트워크 브릿지, 또는 그 머신이 행할 행위를 지정하는 명령어(824)를 순차적으로 또는 다른 방법으로 실행할 수 있는 임의의 머신일 수 있다. 또한, 하나의 머신만이 예시되어 있지만, "머신"이라는 용어는 또한 본 명세서에서 논의된 임의의 하나 이상의 방법론을 수행하기 위해 개별적으로 또는 공동으로 명령어(824)를 실행하는 머신의 집합을 포함하는 것을 취급될 것이다.
머신(800)은 프로세서(802)(예를 들어, 중앙 처리 유닛(CPU), 그래픽 프로세싱 장치(graphics processing unit, GPU), 디지털 신호 프로세서(digital signal processor, DSP), 주문형 집적 회로(application specific integrated circuit, ASIC), 무선 주파수 집적 회로(radio-frequency integrated circuit, RFIC), 또는 이들의 임의의 적합한 조합), 메인 메모리(804), 및 스태틱 메모리(806)를 포함하며, 이들은 버스(808)를 통해 서로 통신하도록 구성된다. 프로세서(802)는 프로세서(802)가 본 명세서에 기재된 임의의 하나 이상의 방법론을 전체적으로 또는 부분적으로 수행하도록 구성될 수 있도록 명령어(824) 중 일부 또는 전체 명령어에 의해 일시적으로 또는 영구적으로 구성 가능한 마이크로회로를 포함할 수 있다. 예를 들어, 프로세서(802)의 하나 이상의 마이크로회로의 집합은 본 명세서에 기재된 하나 이상의 모듈(예를 들어, 소프트웨어 모듈)을 실행하도록 구성될 수 있다.
머신(800)은 그래픽 디스플레이(810)(예를 들어, 플라즈마 디스플레이 패널(plasma display panel, PDP), 발광 다이오드(light emitting diode, LED) 디스플레이, 액정 디스플레이(liquid crystal display, LCD), 프로젝터, 음극선관(cathode ray tube, CRT) 또는 그래픽이나 비디오를 디스플레이할 수 있는 임의의 다른 디스플레이)를 또한 포함할 수 있다. 머신(800)은 또한 영숫자 입력 디바이스(812)(예를 들어, 키보드 또는 키패드), 커서 제어 디바이스(814)(예를 들어, 마우스, 터치패드, 트랙볼, 조이스틱, 모션 센서, 아이 트래킹 디바이스, 또는 다른 포인팅 도구), 저장 유닛(816), 신호 생성 디바이스(818)(예를 들어, 사운드 카드, 증폭기, 스피커, 헤드폰 잭 또는 이들의 임의의 적절한 조합) 및 네트워크 인터페이스 디바이스(820)를 포함할 수 있다.
저장 유닛(816)은 본 명세서에 기재된 임의의 하나 이상의 방법론 또는 기능을 구현하는 명령어(824)가 저장되어 있는 머신 판독가능한 매체(822)(예를 들어, 유형 및 비일시적 머신 판독가능한 저장 매체)를 포함한다. 명령어(824)는 또한 머신(800)에 의한 그 명령어의 실행 전 또는 실행 중에, 메인 메모리(804) 내, 프로세서(802) 내 (예를 들어, 프로세서의 캐시 메모리 내) 또는 이들 둘 다에 완전히 또는 적어도 부분적으로 상주할 수 있다. 따라서 메인 메모리(804) 및 프로세서(802)는 머신 판독가능한 매체(예를 들어, 유형 및 비일시적 머신 판독 가능한 매체)로 간주될 수 있다.
일부 예시적인 실시예에서, 머신(800)은 스마트 폰 또는 태블릿 컴퓨터와 같은 휴대형 컴퓨팅 디바이스일 수 있고, 하나 이상의 부가적인 입력 컴포넌트(예를 들어, 센서 또는 게이지)를 가질 수 있다. 이러한 입력 컴포넌트의 예는 이미지 입력 컴포넌트(예를 들어, 하나 이상의 카메라), 오디오 입력 컴포넌트(예를 들어, 마이크로폰), 방향 입력 컴포넌트(예를 들어, 나침반), 위치 입력 컴포넌트(예를 들어, 위성 위치 확인 시스템(global positioning system GPS) 수신기), 방위 컴포넌트(예를 들어, 자이로스코프), 움직임 검출 컴포넌트(예를 들어, 하나 이상의 가속도계), 고도 검출 컴포넌트(예를 들어, 고도계) 및 가스 검출 컴포넌트(예를 들어, 가스 센서)를 포함한다. 이들 입력 컴포넌트 중 임의의 하나 이상에 의해 수집된 입력은 본 명세서에 기재된 모듈 중 임의의 모듈에 의해 액세스 가능하고 이용 가능할 수 있다.
본 명세서에 사용된 것으로서 "메모리"라는 용어는 데이터를 일시적 또는 영구적으로 저장할 수 있는 머신 판독 가능한 매체를 지칭하며, 이것으로 제한되는 것은 아니지만 랜덤 액세스 메모리(random-access memory, RAM), 판독 전용 메모리(read-only memory, ROM), 버퍼 메모리, 플래시 메모리 및 캐시 메모리를 포함하는 것으로 취급될 수 있다. 예시적인 실시예에서 머신 판독 가능한 매체(822)가 단일 매체인 것으로 도시되지만, “머신 판독 가능한 매체”라는 용어는 명령어를 저장할 수 있는 단일 매체 또는 다중 매체(예를 들어, 중앙 집중식 또는 분산식 데이터 베이스, 또는 연관된 캐시 및 서버)를 포함하는 것으로 취급되어야 한다. "머신 판독 가능한 매체"라는 용어는 명령어가 머신의 하나 이상의 프로세서(예를 들어, 프로세서(802))에 의해 실행될 때, 머신으로 하여금 본 명세서에 기재된 임의의 하나 이상의 방법론을 수행하게 하도록, 머신(예를 들어, 머신(800))에 의해 실행하기 위한 명령어를 저장할 수 있는 임의의 매체 또는 여러 매체의 조합을 포함하는 것으로 취급되어야 한다. 따라서, "머신 판독 가능한 매체"는 단일의 저장 장치 또는 디바이스뿐만 아니라, 복수의 저장 장치 또는 디바이스를 포함하는 "클라우드 기반" 저장 시스템 또는 저장 네트워크를 지칭한다. 이에 따라 "머신 판독 가능한 매체"라는 용어는 이것으로 제한되는 것은 아니지만, 고체 상태 메모리, 광학 매체, 자기 매체 또는 이들의 임의의 적합한 조합의 형태로 된 하나 이상의 데이터 저장소를 포함하는 것으로 취급될 것이다.
또한, 유형의 머신 판독 가능한 매체는 전파 신호를 구현하지 않는다는 점에서 비 일시적이다. 그러나 유형의 머신 판독 가능한 매체를 "비 일시적"인 것으로 표시하는 것은 매체가 이동할 수 없다는 것을 의미하는 것으로 해석되지 않아야 한다 - 매체는 하나의 물리적 위치에서 다른 위치로 이동 가능한 것으로 간주되어야 한다. 또한, 머신 판독 가능한 매체는 유형이므로, 매체는 머신 판독 가능한 디바이스인 것으로 간주될 수 있다.
명령어(824)는 또한 네트워크 인터페이스 디바이스(820)를 통한 전송 매체를 사용하고 다수의 잘 알려진 전송 프로토콜 중 임의의 하나(예를 들어, HTTP)를 활용하는 통신 네트워크(826)를 통해 송신되거나 수신될 수 있다. 통신 네트워크의 예는 근거리 네트워크(local area network, LAN), 광역 네트워크(wide area network, WAN), 인터넷, 이동 전화 네트워크, 기존 전화 서비스(plain old telephone service, POTS) 네트워크 및 무선 데이터 네트워크(예를 들어, WiFi, LTE 및 WiMAX 네트워크를 포함한다. "전송 매체"라는 용어는 머신에 의해 실행하기 위한 명령어를 저장하거나, 인코딩하거나 또는 반송할 수 있는 임의의 무형의 매체를 포함하는 것으로 취급되어야 하며, 그러한 소프트웨어의 통신을 용이하게 하는 디지털 또는 아날로그 통신 신호 또는 기타 무형 매체를 포함한다.
본 명세서 전반에 걸쳐, 복수의 인스턴스는 단일 인스턴스로서 설명되는 컴포넌트, 동작 또는 구조를 구현할 수 있다. 하나 이상의 방법의 개개의 동작이 별개의 동작으로 도시되고 기재되지만, 개개의 동작 중 하나 이상의 동작은 동시에 수행될 수 있으며, 어떤 동작도 동작이 예시된 순서대로 수행될 것을 요구하지 않는다. 예시적 구성에서 별개의 컴포넌트로서 제시되는 구조 및 기능성은 조합된 구조 또는 컴포넌트로서 구현될 수 있다. 유사하게, 단일 컴포넌트로서 제시되는 구조 및 기능성은 별개의 컴포넌트로서 구현될 수 있다. 이러한 것 및 다른 변형, 수정, 부가 및 개선은 본 명세서의 주제의 범위 내에 속한다.
특정 실시예는 본 명세서에서 로직 또는 다수의 컴포넌트, 모듈 또는 메커니즘을 포함하는 것으로 기재된다. 모듈은 소프트웨어 모듈(예를 들어, 머신 판독 가능한 매체상에 구현된 또는 전송 신호에서 구현된 코드) 또는 하드웨어 모듈 중 어느 하나를 구성할 수 있다. "하드웨어 모듈"은 특정 동작을 수행할 수 있는 유형의 유닛이며 특정의 물리적 방식으로 구성되거나 배열될 수 있다. 다양한 예시적인 실시예에서, 하나 이상의 컴퓨터 시스템(예를 들어, 스탠드얼론 컴퓨터 시스템, 클라이언트 컴퓨터 시스템, 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(예를 들어, 프로세서 또는 프로세서 그룹)은 본 명세서에 기재된 바와 같은 특정 동작을 수행하도록 동작하는 하드웨어 모듈로서 소프트웨어(예를 들어, 애플리케이션 또는 애플리케이션 부분)에 의해 구성될 수 있다.
일부 실시예에서, 하드웨어 모듈은 기계적으로, 전자적으로, 또는 이들의 임의의 적절한 조합으로 구현될 수 있다. 예를 들어, 하드웨어 모듈은 특정 동작을 수행하도록 영구적으로 구성된 전용 회로 또는 로직을 포함할 수 있다. 예를 들어, 하드웨어 모듈은 필드 프로그래머블 게이트 어레이(field programmable gate array, FPGA) 또는 ASIC과 같은 특수 목적의 프로세서일 수 있다. 하드웨어 모듈은 또한 특정 동작을 수행하기 위해 소프트웨어에 의해 일시적으로 구성되는 프로그래머블 로직 또는 회로를 포함할 수 있다. 예를 들어, 하드웨어 모듈은 범용 프로세서 또는 다른 프로그래머블 프로세서 내에 포함된 소프트웨어를 포함할 수 있다. 전용 회로 및 영구적으로 구성된 회로에서 또는 일시적으로 구성된 (예를 들어, 소프트웨어로 구성된) 회로에서 하드웨어 모듈을 기계적으로 구현하려는 결정은 비용과 시간 고려 사항에 의해 추진될 수 있다는 것이 인식될 것이다.
따라서, "하드웨어 모듈"이라는 문구는 유형의 엔티티를 포함하는 것으로 이해하여야 하며, 물리적으로 구성되거나, 영구적으로 구성되거나(예를 들어, 고정 배선(hardwired)되거나) 또는 일시적으로 구성(예를 들어, 프로그래밍)되어, 본 명세서에 기재된 특정 방식으로 동작하거나 또는 특정 동작을 수행할 수 있는 유형의 엔티티가 그렇다. 본 명세서에 사용된 것으로서 "하드웨어 구현 모듈"은 하드웨어 모듈을 지칭한다. 하드웨어 모듈이 일시적으로 구성(예를 들어, 프로그래밍)되는 실시예를 고려해 보면, 각각의 하드웨어 모듈은 임의의 한 시간 인스턴스에서 구성되거나 인스턴스화될 필요가 없다. 예를 들어, 하드웨어 모듈이 소프트웨어에 의해 특수 목적 프로세서가 되도록 구성되는 범용 프로세서를 포함하는 경우, 범용 프로세서는 상이한 시간에 (예를 들어, 상이한 하드웨어 모듈을 포함하는) 제각기 다른 특수 목적 프로세서로 구성될 수 있다. 따라서, 소프트웨어는 예를 들어 하나의 시간 인스턴스에서 특정 하드웨어 모듈을 구성하고 상이한 시간 인스턴스에서 상이한 하드웨어 모듈을 구성하도록 프로세서를 구성할 수 있다.
하드웨어 모듈은 다른 하드웨어 모듈에 정보를 제공하고 다른 하드웨어 모듈로부터 정보를 수신할 수 있다. 따라서, 설명된 하드웨어 모듈은 통신으로 연결된 것으로 간주될 수 있다. 여러 하드웨어 모듈이 동시에 존재하는 경우, 통신은 둘 이상의 하드웨어 모듈 사이에서 또는 이들 중에서 신호 전송을 통해(예를 들어, 적절한 회로 및 버스를 통해) 성취될 수 있다. 여러 하드웨어 모듈이 상이한 시간에 구성되거나 인스턴스화되는 실시예에서, 그러한 하드웨어 모듈 간의 통신은, 예를 들어, 여러 하드웨어 모듈이 액세스하는 메모리 구조에 정보를 저장하고 검색하는 것을 통해 성취될 수 있다. 예를 들어, 하나의 하드웨어 모듈은 동작을 수행하고 그 동작의 출력을 통신으로 연결된 메모리 디바이스에 저장할 수 있다. 나중에, 다른 하드웨어 모듈은 저장된 출력을 검색하고 처리하기 위해 메모리 디바이스에 액세스할 수 있다. 하드웨어 모듈은 또한 입력 또는 출력 디바이스와 통신을 개시할 수 있고, 자원(예를 들어, 정보의 집합)에 대해 연산할 수 있다.
본 명세서에 기재된 예시적인 방법의 다양한 동작은 관련 동작을 수행하도록 (예를 들면 소프트웨어에 의해) 일시적으로 구성되거나 또는 영구히 구성된 하나 이상의 프로세서로 적어도 부분적으로 수행될 수 있다. 일시적으로 또는 영구적으로 구성되든, 그러한 프로세서는 본 명세서에 기재된 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서 구현된 모듈을 구성할 수 있다. 본 명세서에 사용된 것으로, "프로세서 구현된 모듈"은 하나 이상의 프로세서를 사용하여 구현된 하드웨어 모듈을 지칭한다.
유사하게, 본 명세서에 기재된 방법은 적어도 부분적으로 프로세서로 구현될 수 있으며, 프로세서는 일 예의 하드웨어이다. 예를 들어, 방법의 동작의 적어도 일부는 하나 이상의 프로세서 또는 프로세서 구현된 모듈에 의해 수행될 수 있다. 더욱이, 하나 이상의 프로세서는 또한 "클라우드 컴퓨팅(cloud computing)" 환경에서 또는 "서비스형 소프트웨어(Software as a Service, SaaS)"로서 관련 동작의 수행을 지원하도록 동작할 수 있다. 예를 들어, 적어도 일부 동작은 (프로세서를 포함하는 머신의 예로서) 컴퓨터 그룹에 의해 수행될 수 있으며, 이때 이러한 동작은 네트워크(예를 들어, 인터넷) 및 하나 이상의 적절한 인터페이스(예를 들어, 애플리케이션 프로그램 인터페이스(application program interface, API))를 통해 액세스 가능하다.
특정 동작은 단일 머신 내에 존재할 뿐만 아니라 다수의 머신에 전체에 배치되는 하나 이상의 프로세서 사이에 분산되어 수행될 수 있다. 일부 실시예에서, 하나 이상의 프로세서 또는 프로세서 구현된 모듈은 단일의 지리적 위치에 (예를 들어, 가정환경, 사무실 환경 또는 서버 팜 내에) 위치할 수 있다. 다른 예시적인 실시예에서, 하나 이상의 프로세서 또는 프로세서 구현 모듈은 다수의 지리적 위치 전반에 분산될 수 있다.
본 명세서에서 논의된 주제 중 일부는 머신 메모리(예를 들어, 컴퓨터 메모리) 내에 비트 또는 이진 디지털 신호로서 저장된 데이터에 대한 연산의 알고리즘 또는 기호적 표현의 측면에서 제공될 수 있다. 이러한 알고리즘 또는 기호적 표현은 데이터 프로세싱 기술분야에서 통상의 지식을 가진 자가 자기들의 작업의 실체를 그 기술분야에서 통상의 지식을 가진 다른 자에게 전달하기 위해 사용하는 기술의 예이다. 본 명세서에 사용된 것으로 "알고리즘"은 동작의 일관성 있는 순서 또는 원하는 결과에 이르게 하는 유사한 프로세싱이다. 이러한 맥락에서, 알고리즘 및 연산에는 물리량의 물리적인 조작이 연루된다. 전형적으로, 그러나 반드시 그러한 것은 아니지만, 그러한 양은 머신에 의해 저장되거나, 액세스되거나, 전송되거나, 조합되거나, 비교되거나 또는 달리 조작될 수 있는 전기, 자기 또는 광신호의 형태를 취할 수 있다. "데이터", "콘텐츠", "비트", "값", "요소", "기호", "문자", "용어", “번호”, “숫자” 등과 같은 단어를 사용하여 그와 같은 신호를 지칭하는 것은 원칙적으로 일반적으로 사용한다는 이유 때문에 때로는 편리하다. 그러나 단어는 단지 편리한 꼬리표일 뿐이며 적절한 물리적 양과 연관될 것이다.
달리 구체적으로 언급되지 않는 한, "프로세싱", "컴퓨팅", "계산", "결정", "제시", "디스플레이" 등과 같은 단어를 사용하여 본 명세서에서 논의된 내용은 하나 이상의 메모리(예를 들면, 휘발성 메모리, 비휘발성 메모리 또는 이들의 적합한 조합), 레지스터, 또는 정보를 수신하거나, 저장하거나 전송하거나 또는 디스플레이하는 다른 머신 컴포넌트 내의 물리(예를 들어, 전기, 자기, 또는 광)량으로서 표현된 데이터를 조작하거나 변환하는 머신(예를 들어, 컴퓨터)의 행위 또는 프로세스를 지칭할 수 있다. 그뿐만 아니라, 달리 구체적으로 언급되지 않는 한, "하나" 또는 "하나의"라는 용어는 특허 문헌에 일반적인 것으로, 본 명세서에서는 하나 또는 하나 이상의 인스턴스를 포함하는 것으로 사용된다. 마지막으로, 본 명세서에 사용된 것으로, "또는"이라는 접속사는 달리 특별히 명시되지 않는 한 배타적이지 않은 "또는"을 의미한다.
하기의 번호가 매겨진 예는 실시예이다.
1. 명령어를 저장하는 머신 판독 가능한 매체로서, 명령어는 머신의 적어도 하나의 프로세서에 의해 실행될 때, 머신으로 하여금,
클라이언트 디바이스에 디스플레이된 검색 결과 페이지 상에 검색의 현재 수준의 검색 결과의 프레젠테이션을 이행시키는 것과,
현재 수준의 검색 결과의 프레젠테이션에 적용되는 스크롤 표시(scroll indication)를 검출하는 것과,
스크롤 표시의 방향에 기초하여 현재 수준의 검색 결과의 프레젠테이션을 스크롤링 하게 하는 것과,
스크롤링에 응답하여 현재 수준의 검색 결과의 프레젠테이션의 말미에 도달한 것을 판정하는 것과,
검색 결과 페이지를 계속해서 프레젠테이션 하게 하기 위해 이전 수준의 검색 결과를 현재 수준의 검색 결과의 프레젠테이션의 말미에 첨부하는 것을 포함하는 동작을 수행하게 하는 머신 판독 가능한 매체.
2. 예 1의 머신 판독 가능한 매체에 있어서, 이전 수준의 검색 결과를 첨부하는 것은 사용자 상호 작용 없이 이루어지는 머신 판독 가능한 매체.
3. 예 1 또는 예 2의 머신 판독 가능한 매체에 있어서, 이전 수준의 검색 결과를 첨부하는 것은 이전 수준의 검색 결과를 저장하는 캐시에 액세스하는 것을 포함하는 머신 판독 가능한 매체.
4. 예 1 내지 예 3 중 어느 한 예의 머신 판독 가능한 매체에 있어서, 이전 수준의 검색 결과를 첨부하는 것은 검색 결과 페이지를 다시 로딩할 필요 없이 이루어지는 머신 판독 가능한 매체.
5. 예 1 내지 예 4 중 어느 한 예의 머신 판독 가능한 매체에 있어서, 동작은 이전 수준의 검색 결과를 첨부하는 것에 응답하여, 검색 바 내의 검색 용어를 이전 수준의 검색 결과에 대응하도록 업데이트하는 것을 더 포함하는 머신 판독 가능한 매체.
6. 예 1 내지 예 5 중 어느 한 예의 머신 판독 가능한 매체에 있어서, 동작은,
이전 수준의 첨부된 검색 결과를 프레젠테이션 하게 하면서, 스크롤 표시 방향과 반대 방향의 추가 스크롤 표시를 수신하는 것과,
반대 방향의 추가 스크롤 표시에 기초하여 현재 수준의 검색 결과를 재 디스플레이 하게 하는 것을 더 포함하는 머신 판독 가능한 매체.
7. 예 1 내지 예 6 중 어느 한 예의 머신 판독 가능한 매체에 있어서, 동작은 검색 바 내의 검색 용어를 현재 수준의 검색 결과에 대응하도록 업데이트하는 것을 더 포함하는 머신 판독 가능한 매체.
8. 컴퓨터로 구현된 방법으로서,
클라이언트 디바이스에 디스플레이된 검색 결과 페이지 상에 검색의 현재 수준의 검색 결과를 프레젠테이션 하게 하는 단계와,
현재 수준의 검색 결과의 프레젠테이션에 적용되는 스크롤 표시를 검출하는 단계와,
스크롤 표시의 방향에 기초하여 현재 수준의 검색 결과의 프레젠테이션을 스크롤링 하게 하는 단계와,
스크롤링에 응답하여 현재 수준의 검색 결과의 프레젠테이션의 말미에 도달한 것을 판정하는 단계와,
하드웨어 프로세서에 의해, 검색 결과 페이지를 계속해서 프레젠테이션 하게 하기 위해, 이전 수준의 검색 결과를 현재 수준의 검색 결과의 프레젠테이션의 말미에 첨부하는 단계를 포함하는 컴퓨터 구현된 방법.
9. 예 8의 방법에 있어서, 이전 수준의 검색 결과를 첨부하는 단계는 사용자 상호 작용 없이 이루어지는 컴퓨터 구현된 방법.
10. 예 8 또는 예 9의 방법에 있어서, 이전 수준의 검색 결과를 첨부하는 단계는 이전 수준의 검색 결과를 저장하는 캐시에 액세스하는 단계를 포함하는 컴퓨터 구현된 방법.
11. 예 8 내지 예 10 중 어느 예의 방법에 있어서, 이전 수준의 검색 결과를 첨부하는 단계는 검색 결과 페이지를 다시 로딩할 필요 없이 이루어지는 컴퓨터 구현된 방법.
12. 예 8 내지 예 11 중 어느 예의 방법에 있어서, 이전 수준의 검색 결과에 첨부하는 단계에 응답하여, 검색 바 내의 검색 용어를 이전 수준의 검색 결과에 대응하도록 업데이트하는 단계를 더 포함하는 컴퓨터 구현된 방법.
13. 예 8 내지 예 12 중 어느 예의 방법에 있어서, 이전 수준의 첨부된 검색 결과를 프레젠테이션 하게 하면서, 스크롤 표시 방향과 반대 방향의 추가 스크롤 표시를 수신하는 단계와,
반대 방향의 추가 스크롤 표시에 기초하여 현재 수준의 검색 결과를 재 디스플레이 하게 하는 단계를 더 포함하는 컴퓨터 구현된 방법.
14. 예 13의 방법에 있어서, 검색 바 내의 검색 용어를 현재 수준의 검색 결과에 대응하도록 업데이트하는 단계를 더 포함하는 컴퓨터 구현된 방법.
15. 시스템으로서,
하나 이상의 하드웨어 프로세서를 포함하는 사용자 인터페이스 모듈을 포함하되,
사용자 인터페이스 모듈은,
클라이언트 디바이스에 디스플레이된 검색 결과 페이지 상에 검색의 현재 수준의 검색 결과를 프레젠테이션 하게 하고,
현재 수준의 검색 결과의 프레젠테이션에 적용되는 스크롤 표시를 검출하고,
스크롤 표시의 방향에 기초하여 현재 수준의 검색 결과의 프레젠테이션을 스크롤링 하게 하고,
스크롤링에 응답하여 현재 수준의 검색 결과의 프레젠테이션의 말미에 도달한 것을 판정하고,
검색 결과 페이지를 계속해서 프레젠테이션 하게 하기 위해 이전 수준의 검색 결과를 현재 수준의 검색 결과의 프레젠테이션의 말미에 첨부하도록 구성되는 시스템.
16. 예 15의 시스템에 있어서, 사용자 인터페이스 모듈은 사용자 상호 작용 없이 이전 수준의 검색 결과를 첨부하는 시스템.
17. 예 15 또는 예 16의 시스템에 있어서, 사용자 인터페이스 모듈은 이전 수준의 검색 결과를 저장하는 캐시에 액세스함으로써 이전 수준의 검색 결과를 첨부하는 시스템.
18. 예 15 내지 예 17 중 어느 한 예의 시스템에 있어서, 사용자 인터페이스 모듈은 검색 결과 페이지를 다시 로딩할 필요 없이 이전 수준의 검색 결과를 첨부하는 시스템.
19. 예 15 내지 예 18 중 어느 한 예의 시스템에 있어서, 사용자 인터페이스 모듈은 또한,
이전 수준의 검색 결과를 첨부하는 것에 응답하여, 검색 바의 검색 용어를 이전 수준의 검색 결과에 대응하도록 업데이트하는 시스템.
20. 예 15 내지 예 19 중 어느 한 예의 시스템에 있어서, 사용자 인터페이스 모듈은 또한,
이전 수준의 첨부된 검색 결과를 프레젠테이션 하게 하면서, 스크롤 표시 방향과 반대 방향의 추가 스크롤 표시를 수신하고,
반대 방향의 추가 스크롤 표시에 기초하여 현재 수준의 검색 결과를 재 디스플레이 하게 하는 시스템.
본 발명의 주제의 개요가 특정의 예시적인 실시예를 참조하여 설명되었지만, 본 발명의 더 넓은 범위의 실시예를 벗어남이 없이 이들 실시예에 대해 다양한 수정 및 변경이 이루어질 수 있다. 본 발명의 주제의 이러한 실시예는 본 출원의 범위를, 실제로 하나 이상이 실제로 개시되어 있을지라도 단일의 발명 또는 발명의 개념으로 자발적으로 제한하려 의도하지 않고, 편의상 단지 "발명"이라는 용어로 개별적으로 또는 일괄하여 언급될 수 있다.
본 명세서에 예시된 실시예는 본 기술에서 통상의 지식을 가진 자가 개시된 가르침을 실시할 수 있기에 충분히 상세하게 설명된다. 본 개시의 범위를 벗어나지 않고 구조적 및 논리적 대체 및 변경이 이루어질 수 있도록, 다른 실시예가 사용될 수 있고 그로부터 도출될 수 있다. 그러므로 상세한 설명은 제한적인 의미로 취급되지 않아야 하며, 다양한 실시예의 범위는 첨부된 청구 범위 및 그러한 청구 범위의 자격을 부여 받은 등가물의 전체 범위에 의해서만 정의된다.
본원에 사용된 것으로 "또는"이라는 용어는 포괄적이거나 배타적인 의미 중 하나로 해석될 수 있다. 더욱이, 본 명세서에서 단일의 인스턴스로서 설명되는 자원, 동작 또는 구조에 대해 복수의 인스턴스가 제공될 수 있다. 또한, 다양한 자원, 동작, 모듈, 엔진 및 데이터 저장소 사이의 경계는 다소 임의적이며, 특정 동작은 특정의 예시적인 구성의 맥락에서 설명된다. 기능성의 다른 배분이 구상되며 본 발명의 다양한 실시예의 범위 내에 속할 수 있다. 일반적으로, 예시적인 구성에서 별개의 자원으로서 제시된 구조 및 기능성은 조합된 구조 또는 자원으로서 구현될 수 있다. 유사하게, 단일 자원으로서 제시된 구조 및 기능성은 별개의 자원으로서 구현될 수 있다. 이러한 것 및 다른 변형, 수정, 부가 및 개선은 첨부의 청구 범위에 의해 표현되는 것으로서 본 발명의 실시예의 범위 내에 있다. 따라서, 명세서 및 도면은 제한적인 의미라기보다는 예시적인 것으로 간주되어야 한다.

Claims (26)

  1. 명령어를 저장하는 머신 판독 가능한 기록매체로서,
    상기 명령어는 머신의 적어도 하나의 프로세서에 의해 실행될 때, 상기 머신으로 하여금,
    클라이언트 디바이스에 디스플레이된 검색 결과 페이지 상에, 현재 검색 문자열(current search string)을 이용하여 검색된 현재 검색 결과를 프레젠테이션하게 하는 것과,
    상기 현재 검색 결과의 프레젠테이션에 적용되는 스크롤 표시(scroll indication)를 검출하는 것과,
    상기 스크롤 표시의 방향에 기초하여 상기 현재 검색 결과의 프레젠테이션을 스크롤링하게 하는 것과,
    상기 스크롤링에 응답하여 상기 현재 검색 결과의 프레젠테이션의 말미에 도달한 것을 판정하는 것과,
    상기 현재 검색 결과의 프레젠테이션의 말미에 도달했다는 판정에 응답하여, 상기 검색 결과 페이지가 계속해서 프레젠테이션되도록 상기 클라이언트 디바이스에 이전 검색 결과를 프레젠테이션하게 하는 것을 포함하는 - 상기 이전 검색 결과는 이전 검색 문자열(previous search string)을 이용하여 검색된 것임 - 동작을 수행하게 하는
    머신 판독 가능한 기록매체.
  2. 제 1 항에 있어서,
    상기 이전 검색 결과를 프레젠테이션하게 하는 것은 사용자 상호 작용 없이 이루어지는
    머신 판독 가능한 기록매체.
  3. 제 1 항에 있어서,
    상기 이전 검색 결과를 프레젠테이션하게 하는 것은 상기 이전 검색 결과를 저장하는 캐시에 액세스하는 것을 포함하는
    머신 판독 가능한 기록매체.
  4. 제 1 항에 있어서,
    상기 이전 검색 결과를 프레젠테이션하게 하는 것은 상기 검색 결과 페이지를 다시 로딩할 필요 없이 이루어지는
    머신 판독 가능한 기록매체.
  5. 제 1 항에 있어서,
    상기 동작은 상기 이전 검색 결과를 프레젠테이션하게 하는 것에 응답하여, 검색 바 내의 검색 용어를 상기 이전 검색 결과에 대응하도록 업데이트하는 것을 더 포함하는
    머신 판독 가능한 기록매체.
  6. 제 1 항에 있어서,
    상기 동작은,
    상기 이전 검색 결과를 프레젠테이션하게 하면서, 상기 스크롤 표시 방향과 반대 방향의 추가 스크롤 표시를 수신하는 것과,
    상기 반대 방향의 추가 스크롤 표시에 기초하여 상기 현재 검색 결과를 상기 클라이언트 디바이스에 재 디스플레이하게 하는 것을 더 포함하는
    머신 판독 가능한 기록매체.
  7. 제 6 항에 있어서,
    상기 동작은 검색 바 내의 검색 용어를 상기 현재 검색 결과에 대응하도록 업데이트하는 것을 더 포함하는
    머신 판독 가능한 기록매체.
  8. 컴퓨터로 구현된 방법으로서,
    클라이언트 디바이스에 디스플레이된 검색 결과 페이지 상에, 현재 검색 문자열을 이용하여 검색된 현재 검색 결과를 프레젠테이션하게 하는 단계와,
    상기 현재 검색 결과의 프레젠테이션에 적용되는 스크롤 표시를 검출하는 단계와,
    상기 스크롤 표시의 방향에 기초하여 상기 현재 검색 결과의 프레젠테이션을 스크롤링하게하는 단계와,
    상기 스크롤링에 응답하여 상기 현재 검색 결과의 프레젠테이션의 말미에 도달한 것을 판정하는 단계와,
    상기 현재 검색 결과의 프레젠테이션의 말미에 도달했다는 판정에 응답하여, 하드웨어 프로세서에 의해, 상기 검색 결과 페이지가 계속해서 프레젠테이션되도록 상기 클라이언트 디바이스에 이전 검색 결과를 프레젠테이션하게 하는 단계 - 상기 이전 검색 결과는 이전 검색 문자열을 이용하여 검색된 것임 - 를 포함하는
    컴퓨터 구현된 방법.
  9. 제 8 항에 있어서,
    상기 이전 검색 결과를 프레젠테이션하게 하는 것은 사용자 상호 작용 없이 이루어지는
    컴퓨터 구현된 방법.
  10. 제 8 항에 있어서,
    상기 이전 검색 결과를 프레젠테이션하게 하는 것은 상기 이전 검색 결과를 저장하는 캐시에 액세스하는 단계를 포함하는
    컴퓨터 구현된 방법.
  11. 제 8 항에 있어서,
    상기 이전 검색 결과를 프레젠테이션하게 하는 것은 상기 검색 결과 페이지를 다시 로딩할 필요 없이 이루어지는
    컴퓨터 구현된 방법.
  12. 제 8 항에 있어서,
    상기 이전 검색 결과를 프레젠테이션하게 하는 것에 응답하여, 검색 바 내의 검색 용어를 상기 이전 검색 결과에 대응하도록 업데이트하는 단계를 더 포함하는
    컴퓨터 구현된 방법.
  13. 제 8 항에 있어서,
    상기 이전 검색 결과를 프레젠테이션하게 하면서, 상기 스크롤 표시 방향과 반대 방향의 추가 스크롤 표시를 수신하는 단계와,
    상기 반대 방향의 추가 스크롤 표시에 기초하여 상기 현재 검색 결과를 상기 클라이언트 디바이스에 재 디스플레이하게 하는 단계를 더 포함하는
    컴퓨터 구현된 방법.
  14. 제 13 항에 있어서,
    검색 바 내의 검색 용어를 상기 현재 검색 결과에 대응하도록 업데이트하는 단계를 더 포함하는
    컴퓨터 구현된 방법.
  15. 시스템으로서,
    하나 이상의 하드웨어 프로세서를 포함하는 사용자 인터페이스 모듈을 포함하되,
    상기 사용자 인터페이스 모듈은,
    클라이언트 디바이스에 디스플레이된 검색 결과 페이지 상에, 현재 검색 문자열을 이용하여 검색된 현재 검색 결과를 프레젠테이션하게 하고,
    상기 현재 검색 결과의 프레젠테이션에 적용되는 스크롤 표시를 검출하고,
    상기 스크롤 표시의 방향에 기초하여 상기 현재 검색 결과의 프레젠테이션을 스크롤링하게하고,
    상기 스크롤링에 응답하여 상기 현재 검색 결과의 프레젠테이션의 말미에 도달한 것을 판정하고,
    상기 현재 검색 결과의 프레젠테이션의 말미에 도달했다는 판정에 응답하여,상기 검색 결과 페이지가 계속해서 프레젠테이션되도록 상기 클라이언트 디바이스에 이전 검색 결과를 프레젠테이션하게 하도록 - 상기 이전 검색 결과는 이전 검색 문자열을 이용하여 검색된 것임 - 구성되는
    시스템.
  16. 제 15 항에 있어서,
    상기 사용자 인터페이스 모듈은 사용자 상호 작용 없이 상기 이전 검색 결과를 프레젠테이션하게 하는
    시스템.
  17. 제 15 항에 있어서,
    상기 사용자 인터페이스 모듈은 상기 이전 검색 결과를 저장하는 캐시에 액세스함으로써 상기 이전 검색 결과를 프레젠테이션하게 하는
    시스템.
  18. 제 15 항에 있어서,
    상기 사용자 인터페이스 모듈은 상기 검색 결과 페이지를 다시 로딩할 필요 없이 상기 이전 검색 결과를 프레젠테이션하게 하는
    시스템.
  19. 제 15 항에 있어서,
    상기 사용자 인터페이스 모듈은 또한,
    상기 이전 검색 결과를 프레젠테이션하게 하는 것에 응답하여, 검색 바의 검색 용어를 상기 이전 검색 결과에 대응하도록 업데이트하는
    시스템.
  20. 제 15 항에 있어서,
    상기 사용자 인터페이스 모듈은 또한,
    상기 이전 검색 결과를 프레젠테이션하게 하면서, 상기 스크롤 표시 방향과 반대 방향의 추가 스크롤 표시를 수신하고,
    상기 반대 방향의 추가 스크롤 표시에 기초하여 상기 현재 검색 결과를 상기 클라이언트 디바이스에 재 디스플레이하게 하는
    시스템.
  21. 제 1 항에 있어서,
    상기 현재 검색 문자열은 상기 이전 검색 문자열과 연관된
    머신 판독 가능한 기록매체.
  22. 제 21 항에 있어서,
    상기 현재 검색 문자열은 상기 이전 검색 문자열에 키워드를 부가함으로써 생성되며, 상기 키워드는 상기 현재 검색 결과로부터의 결과의 선택을 감지한 것에 의해 결정되는
    머신 판독 가능한 기록매체.
  23. 제 8 항에 있어서,
    상기 현재 검색 문자열은 상기 이전 검색 문자열과 연관된
    컴퓨터 구현된 방법.
  24. 제 23 항에 있어서,
    상기 현재 검색 문자열은 상기 이전 검색 문자열에 키워드를 부가함으로써 생성되며, 상기 키워드는 상기 현재 검색 결과로부터의 결과의 선택을 감지한 것에 의해 결정되는
    컴퓨터 구현된 방법.
  25. 제 15 항에 있어서,
    상기 현재 검색 문자열은 상기 이전 검색 문자열과 연관된
    시스템.
  26. 제 25 항에 있어서,
    상기 현재 검색 문자열은 상기 이전 검색 문자열에 키워드를 부가함으로써 생성되며, 상기 키워드는 상기 현재 검색 결과로부터의 결과의 선택을 감지한 것에 의해 결정되는
    시스템.
KR1020197010833A 2014-12-31 2015-12-29 무한 검색 결과 페이지 KR102063425B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/588,222 2014-12-31
US14/588,222 US9811598B2 (en) 2014-12-31 2014-12-31 Endless search result page
PCT/US2015/067881 WO2016109548A1 (en) 2014-12-31 2015-12-29 Endless search result page

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020177021273A Division KR101971042B1 (ko) 2014-12-31 2015-12-29 무한 검색 결과 페이지

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197038848A Division KR102150572B1 (ko) 2014-12-31 2015-12-29 무한 검색 결과 페이지

Publications (2)

Publication Number Publication Date
KR20190042759A KR20190042759A (ko) 2019-04-24
KR102063425B1 true KR102063425B1 (ko) 2020-01-07

Family

ID=56164384

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020197010833A KR102063425B1 (ko) 2014-12-31 2015-12-29 무한 검색 결과 페이지
KR1020197038848A KR102150572B1 (ko) 2014-12-31 2015-12-29 무한 검색 결과 페이지
KR1020177021273A KR101971042B1 (ko) 2014-12-31 2015-12-29 무한 검색 결과 페이지

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020197038848A KR102150572B1 (ko) 2014-12-31 2015-12-29 무한 검색 결과 페이지
KR1020177021273A KR101971042B1 (ko) 2014-12-31 2015-12-29 무한 검색 결과 페이지

Country Status (5)

Country Link
US (2) US9811598B2 (ko)
EP (1) EP3241106A4 (ko)
KR (3) KR102063425B1 (ko)
CN (2) CN107111476B (ko)
WO (1) WO2016109548A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9811598B2 (en) 2014-12-31 2017-11-07 Ebay Inc. Endless search result page
JP6823554B2 (ja) * 2017-07-05 2021-02-03 シャープ株式会社 商品検索用デジタルサイネージ
EP3709143B1 (en) * 2017-11-09 2021-10-20 Rakuten Group, Inc. Display control system, display control method, and program
CN112445983B (zh) * 2019-09-03 2023-09-26 百度在线网络技术(北京)有限公司 搜索结果的处理方法、装置、设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130238609A1 (en) 2012-03-07 2013-09-12 Microsoft Corporation Query result rendering
US20130262445A1 (en) * 2012-04-02 2013-10-03 Pomian & Corella, Llc Browsing real-time search results reliably on a mobile computing device
US20130325844A1 (en) 2012-05-29 2013-12-05 Nokia Corporation Causing display of search results
US20140244675A1 (en) 2013-02-26 2014-08-28 Arnaldo Cavazos Instantaneous incremental search user interface

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010054020A1 (en) * 2000-03-22 2001-12-20 Barth Brian E. Method and apparatus for dynamic information connection engine
US7831581B1 (en) * 2004-03-01 2010-11-09 Radix Holdings, Llc Enhanced search
US7487145B1 (en) * 2004-06-22 2009-02-03 Google Inc. Method and system for autocompletion using ranked results
US20070214119A1 (en) * 2006-03-07 2007-09-13 Microsoft Corporation Searching within a Site of a Search Result
US20080235205A1 (en) 2007-02-21 2008-09-25 Fein Gene S Database Search Results User Interface
US8458157B2 (en) * 2007-09-28 2013-06-04 Disney Enterprises, Inc. System and method of filtering search results
US8364660B2 (en) * 2008-07-11 2013-01-29 Videosurf, Inc. Apparatus and software system for and method of performing a visual-relevance-rank subsequent search
US20100306249A1 (en) * 2009-05-27 2010-12-02 James Hill Social network systems and methods
US9405841B2 (en) * 2009-10-15 2016-08-02 A9.Com, Inc. Dynamic search suggestion and category specific completion
US8316056B2 (en) * 2009-12-08 2012-11-20 Facebook, Inc. Second-order connection search in a social networking system
KR101734970B1 (ko) * 2010-02-10 2017-05-12 오의진 사용자 검색의도에 부합하는 검색 결과 제공 방법 및 시스템
KR20120021056A (ko) * 2010-08-31 2012-03-08 삼성전자주식회사 검색 결과의 임시 저장이 가능한 검색 서비스 제공방법 및 이를 적용한 디스플레이 장치
KR20120033859A (ko) * 2010-09-30 2012-04-09 엔에이치엔(주) 이미지 검색 방법 및 검색 시스템
JP2012230544A (ja) * 2011-04-26 2012-11-22 Casio Comput Co Ltd 画像検索装置およびプログラム
US9811598B2 (en) 2014-12-31 2017-11-07 Ebay Inc. Endless search result page

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130238609A1 (en) 2012-03-07 2013-09-12 Microsoft Corporation Query result rendering
US20130262445A1 (en) * 2012-04-02 2013-10-03 Pomian & Corella, Llc Browsing real-time search results reliably on a mobile computing device
US20130325844A1 (en) 2012-05-29 2013-12-05 Nokia Corporation Causing display of search results
US20140244675A1 (en) 2013-02-26 2014-08-28 Arnaldo Cavazos Instantaneous incremental search user interface

Also Published As

Publication number Publication date
WO2016109548A1 (en) 2016-07-07
US20170351692A1 (en) 2017-12-07
KR20190042759A (ko) 2019-04-24
KR101971042B1 (ko) 2019-04-23
KR20200003276A (ko) 2020-01-08
EP3241106A4 (en) 2018-05-02
US9811598B2 (en) 2017-11-07
US10909200B2 (en) 2021-02-02
CN107111476B (zh) 2021-05-25
KR20170101970A (ko) 2017-09-06
US20160188615A1 (en) 2016-06-30
CN113076461A (zh) 2021-07-06
KR102150572B1 (ko) 2020-09-01
EP3241106A1 (en) 2017-11-08
CN107111476A (zh) 2017-08-29

Similar Documents

Publication Publication Date Title
JP6725549B2 (ja) 通信セッションの状態の保存
KR101923281B1 (ko) 태블릿 웹 비주얼 브라우징
KR102128691B1 (ko) 스크롤 맵을 제공하는 방법 및 시스템
EP2836986B1 (en) Method and system to provide video-based search results
US10726464B2 (en) Expressions of user interest
KR102063425B1 (ko) 무한 검색 결과 페이지
US9881027B2 (en) Image appended search string
US11593431B2 (en) Dynamic content delivery search system
US20130262463A1 (en) Method and system to provide smart tagging of search input
US10643142B2 (en) Search term prediction
WO2015116337A1 (en) Clustered browse history
US10776860B2 (en) Retail website user interface, systems, and methods for displaying trending looks
JP5530468B2 (ja) 検索サーバ、プログラム及び方法
AU2014365804B2 (en) Presenting images representative of searched items
KR20190025738A (ko) 간략화된 오버레이 광고
US20150339751A1 (en) Dynamic pricing model
US20130262507A1 (en) Method and system to provide inline saved searches
US20160147422A1 (en) Systems and methods to display contextual information

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant