KR20160093694A - 서치 결과를 조정하는 시스템 및 방법 - Google Patents
서치 결과를 조정하는 시스템 및 방법 Download PDFInfo
- Publication number
- KR20160093694A KR20160093694A KR1020167017779A KR20167017779A KR20160093694A KR 20160093694 A KR20160093694 A KR 20160093694A KR 1020167017779 A KR1020167017779 A KR 1020167017779A KR 20167017779 A KR20167017779 A KR 20167017779A KR 20160093694 A KR20160093694 A KR 20160093694A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- formatting
- interaction
- user interface
- search
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G06F17/30424—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0623—Item investigation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- H04L67/2823—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
서치 결과를 조정하기 위한 방법 및 시스템이 기술된다. 시스템은 네트워크를 통해 제한을 포함하는 서치 정보를 수신한다. 시스템은 서치 정보에 기반하여 제1 서치 결과를 생성한다. 시스템은 클라이언트 디바이스로 네트워크를 통해 제1 사용자 인터페이스를 통신한다. 제1 사용자 인터페이스는 제1 포맷화 레벨 정보에 기반하여 포맷화된다. 시스템은 클라이언트 디바이스로부터 네트워크를 통해 제1 요청을 수신한다. 제1 요청은 제1 서치 결과와의 제1 상호작용의 서술을 포함한다. 시스템은 제1 요청을 수신하기 전에 수신된 적어도 하나의 상호작용에 기반하여 제1 포맷화 레벨을 식별한다. 시스템은 제1 포맷화 레벨 및 제1 상호작용에 기반하여 제2 포맷화 레벨로 전이한다. 제2 포맷화 레벨은 제2 포맷화 레벨 정보와 연관된다.
Description
우선권의 주장
이 국제 출원은, 2013년 12월 3일 출원된 미국 특허 출원 제14/095,594호에 대한 우선권의 이익을 주장하며, 이 미국 출원의 전체 내용은 본 명세서에서 참조로서 포함된다.
기술 분야
본 출원은 컴퓨팅 및 데이터 처리 시스템을 지원하는 시스템 및 방법에 관련된다.
관련 기술
인터넷은 현대 사회에 없어서는 안 될 도구가 되었다. 웹 사이트는 어디에나 있고(ubiquitous) 수많은 웹 콘텐트(web content)를 제공한다. 웹 콘텐트는 사용자 상호작용에 응답하는 방식이 아닌 다른 방식으로 제시될 수 있다.
발명의 예시적 실시예들에 대한 이하의 상세한 설명에서, 본 문서의 일부를 형성하고 단지 예시로서 도시되는 첨부된 도면들, 발명이 실시될 수 있는 특정 실시예들에 대한 언급이 행해진다. 본 발명의 범주로부터 벗어나지 않고서 구조적 변경이 행해질 수 있고 다른 실시예들이 활용될 수 있음이 이해되어야 하는데, 여기서
도 1은 일 실시예에 따라, 사용자 상호작용에 기반하여 서치 결과를 조정하는(adapt) 시스템을 보여주는 블록도이고,
도 2는 일 실시예에 따라, 상이한 포맷에 따라 포맷화된(formatted) 인터페이스를 보여주며,
도 3a는 일 실시예에 따라, 데이터 아이템 정보(data item information)를 보여주는 블록도이고,
도 3b는 일 실시예에 따라, 데이터 아이템(data item)을 보여주는 블록도이며,
도 3c는 일 실시예에 따라, 요청(request)을 보여주는 블록도이고,
도 4a는 일 실시예에 따라, 사용자 정보(user information)를 보여주는 블록도이며,
도 4b는 일 실시예에 따라, 사용자 상호작용 정보(user interaction information)를 보여주는 블록도이고,
도 4c는 일 실시예에 따라, 서치 이력(search history)을 보여주는 블록도이며,
도 4d는 일 실시예에 따라, 서치 레코드(search record)를 보여주는 블록도이고,
도 4e는 일 실시예에 따라, 상호작용 정보(interaction information)를 보여주는 블록도이며,
도 4f는 일 실시예에 따라, 상호작용 레코드(interaction record)를 보여주는 블록도이고,
도 5a는 일 실시예에 따라, 포맷화 레벨 요약 정보(formatting level summary information)를 보여주는 블록도이며,
도 5b는 일 실시예에 따라, 포맷화 레벨 정보(formatting level information)를 보여주는 블록도이고,
도 5c는 일 실시예에 따라, 요소 서술자 정보(element descriptor information)를 보여주는 블록도이며,
도 5d는 일 실시예에 따라, 요소 정보(element information)를 보여주는 블록도이고,
도 6은 일 실시예에 따라, 사용자 상호작용에 기반하여 서치 결과를 조정하는 방법을 보여주는 블록도이며,
도 7a는 일 실시예에 따라, 요청을 수신하고 상호작용 레코드를 생성하는 방법을 보여주는 블록도이고,
도 7b는 일 실시예에 따라, 기존의 포맷화 레벨(formatting level)을 식별하는 방법을 보여주는 흐름도이며,
도 7c는 일 실시예에 따라, 새로운 포맷화 레벨로 전이할지(transition) 식별하는 방법을 보여주는 흐름도이고,
도 8a는 일 실시예에 따라, 세이브된 서치(saved search)에 기반하여 서치 결과를 조정하는 시스템을 보여주는 블록도이며,
도 8b는 일 실시예에 따라, 특성에 기반하여 생성된 사용자 인터페이스(user interface)를 보여주는 블록도이고,
도 9a는 일 실시예에 따라, 사용자 정보를 보여주는 블록도이며,
도 9b는 일 실시예에 따라, 세이브된 서치 정보(saved search information)를 보여주는 블록도이고,
도 9c는 일 실시예에 따라 세이브된 서치 레코드(saved search record)를 보여주는 블록도이며,
도 9d는 일 실시예에 따라, 세이브된 서치 특성 정보(saved search property information)를 보여주는 블록도이고,
도 9e는 일 실시예에 따라, 특성을 보여주는 블록도이며,
도 10a는 일 실시예에 따라, 세이브된 서치에 기반하여 서치 결과를 조정하는 방법을 보여주는 흐름도이고,
도 10b는 일 실시예에 따라, 특성에 기반하여 서치 결과를 생성하는 방법을 보여주는 흐름도이며,
도 11은 일 실시예에 따라, 선호되는 데이터 아이템 정보(preferred data item information)에 기반하여 데이터 아이템 내의 정보의 디스플레이를 재정리하는(reorder) 시스템을 보여주는 블록도이고,
도 12a는 일 실시예에 따라, 사용자 정보를 보여주는 블록도이며,
도 12b는 일 실시예에 따라, 선호되는 데이터 아이템 정보를 보여주는 블록도이고,
도 13은 일 실시예에 따라, 선호되는 데이터 아이템 정보에 기반하여 데이터 아이템 내의 정보의 디스플레이를 재정리하는 방법을 보여주는 흐름도이며,
도 14a는 일 실시예에 따라, 사용자 인터페이스를 보여주는 블록도이고,
도 14b는 일 실시예에 따라, 사용자 인터페이스를 보여주는 블록도이며,
도 15는 일 실시예에 따라, 시스템을 또한 보여주고,
도 16은 일 실시예에 따라, 마켓플레이스 애플리케이션 및 결제 애플리케이션을 보여주는 블록도이며,
도 17은 일 실시예에 따라, 고수준 개체-관계 도해(high level entity-relationship diagram)를 보여주는 블록도이고,
도 18은 예시적 실시예에 따라, 머신(machine)으로 하여금 본 문서에 논의된 방법론 중 임의의 하나 이상을 수행하게 하는 명령어의 세트가 내부에서 실행될 수 있는 컴퓨터 시스템의 형태로 머신의 도식적 표현을 도시한다.
도 1은 일 실시예에 따라, 사용자 상호작용에 기반하여 서치 결과를 조정하는(adapt) 시스템을 보여주는 블록도이고,
도 2는 일 실시예에 따라, 상이한 포맷에 따라 포맷화된(formatted) 인터페이스를 보여주며,
도 3a는 일 실시예에 따라, 데이터 아이템 정보(data item information)를 보여주는 블록도이고,
도 3b는 일 실시예에 따라, 데이터 아이템(data item)을 보여주는 블록도이며,
도 3c는 일 실시예에 따라, 요청(request)을 보여주는 블록도이고,
도 4a는 일 실시예에 따라, 사용자 정보(user information)를 보여주는 블록도이며,
도 4b는 일 실시예에 따라, 사용자 상호작용 정보(user interaction information)를 보여주는 블록도이고,
도 4c는 일 실시예에 따라, 서치 이력(search history)을 보여주는 블록도이며,
도 4d는 일 실시예에 따라, 서치 레코드(search record)를 보여주는 블록도이고,
도 4e는 일 실시예에 따라, 상호작용 정보(interaction information)를 보여주는 블록도이며,
도 4f는 일 실시예에 따라, 상호작용 레코드(interaction record)를 보여주는 블록도이고,
도 5a는 일 실시예에 따라, 포맷화 레벨 요약 정보(formatting level summary information)를 보여주는 블록도이며,
도 5b는 일 실시예에 따라, 포맷화 레벨 정보(formatting level information)를 보여주는 블록도이고,
도 5c는 일 실시예에 따라, 요소 서술자 정보(element descriptor information)를 보여주는 블록도이며,
도 5d는 일 실시예에 따라, 요소 정보(element information)를 보여주는 블록도이고,
도 6은 일 실시예에 따라, 사용자 상호작용에 기반하여 서치 결과를 조정하는 방법을 보여주는 블록도이며,
도 7a는 일 실시예에 따라, 요청을 수신하고 상호작용 레코드를 생성하는 방법을 보여주는 블록도이고,
도 7b는 일 실시예에 따라, 기존의 포맷화 레벨(formatting level)을 식별하는 방법을 보여주는 흐름도이며,
도 7c는 일 실시예에 따라, 새로운 포맷화 레벨로 전이할지(transition) 식별하는 방법을 보여주는 흐름도이고,
도 8a는 일 실시예에 따라, 세이브된 서치(saved search)에 기반하여 서치 결과를 조정하는 시스템을 보여주는 블록도이며,
도 8b는 일 실시예에 따라, 특성에 기반하여 생성된 사용자 인터페이스(user interface)를 보여주는 블록도이고,
도 9a는 일 실시예에 따라, 사용자 정보를 보여주는 블록도이며,
도 9b는 일 실시예에 따라, 세이브된 서치 정보(saved search information)를 보여주는 블록도이고,
도 9c는 일 실시예에 따라 세이브된 서치 레코드(saved search record)를 보여주는 블록도이며,
도 9d는 일 실시예에 따라, 세이브된 서치 특성 정보(saved search property information)를 보여주는 블록도이고,
도 9e는 일 실시예에 따라, 특성을 보여주는 블록도이며,
도 10a는 일 실시예에 따라, 세이브된 서치에 기반하여 서치 결과를 조정하는 방법을 보여주는 흐름도이고,
도 10b는 일 실시예에 따라, 특성에 기반하여 서치 결과를 생성하는 방법을 보여주는 흐름도이며,
도 11은 일 실시예에 따라, 선호되는 데이터 아이템 정보(preferred data item information)에 기반하여 데이터 아이템 내의 정보의 디스플레이를 재정리하는(reorder) 시스템을 보여주는 블록도이고,
도 12a는 일 실시예에 따라, 사용자 정보를 보여주는 블록도이며,
도 12b는 일 실시예에 따라, 선호되는 데이터 아이템 정보를 보여주는 블록도이고,
도 13은 일 실시예에 따라, 선호되는 데이터 아이템 정보에 기반하여 데이터 아이템 내의 정보의 디스플레이를 재정리하는 방법을 보여주는 흐름도이며,
도 14a는 일 실시예에 따라, 사용자 인터페이스를 보여주는 블록도이고,
도 14b는 일 실시예에 따라, 사용자 인터페이스를 보여주는 블록도이며,
도 15는 일 실시예에 따라, 시스템을 또한 보여주고,
도 16은 일 실시예에 따라, 마켓플레이스 애플리케이션 및 결제 애플리케이션을 보여주는 블록도이며,
도 17은 일 실시예에 따라, 고수준 개체-관계 도해(high level entity-relationship diagram)를 보여주는 블록도이고,
도 18은 예시적 실시예에 따라, 머신(machine)으로 하여금 본 문서에 논의된 방법론 중 임의의 하나 이상을 수행하게 하는 명령어의 세트가 내부에서 실행될 수 있는 컴퓨터 시스템의 형태로 머신의 도식적 표현을 도시한다.
이하의 설명에서, 설명의 목적으로, 몇몇 예시적 실시예의 철저한 이해를 제공하기 위해서 다수의 특정 세부사항이 개진된다. 그러나, 본 개시의 실시예들은 이들 특정 세부사항 없이 실시될 수 있음은 통상의 기술자에게 분명할 것이다.
추가로 후술되는 바와 같이, 본 문서에서 기술되고 청구된 개시된 대상물(subject matter)의 다양한 예시적 실시예에 따라, 서치 결과를 조정(adapt)하는 시스템 및 방법이 제공된다. 본 문서에서 제공된 도면과 관련하여 다양한 실시예가 후술된다.
개시의 제1 양상에 따라 사용자 상호작용에 기반하여 서치 결과를 조정하기 위한 방법 및 시스템이 기술된다. 시스템은 클라이언트 디바이스(client device)(가령, 모바일 디바이스(mobile device), 데스크톱 컴퓨터(desktop computer), 태블릿(tablet) 등등)로부터 네트워크를 통해 서치 정보를 수신하도록 구성된 수신 모듈(receiving module)을 포함할 수 있다. 서치 정보는 하나 이상의 제한(constraint)(가령, 키워드(keyword))을 포함할 수 있다. 시스템은 데이터 아이템을 포함하는 서치 정보에 기반하여 제1 서치 결과를 생성하는 처리 모듈(processing module)을 더 포함할 수 있다. 단지 예를 들면, 데이터 아이템들은 이베이(eBay®) - 캘리포니아(California), 새너제이(San Jose)의 세계 온라인 마켓플레이스(Worlds Online Marketplace) - 와 같은 네트워크 기반 마켓플레이스(network-based marketplace) 상에서의 판매를 위한 아이템들 또는 서비스들을 서술하는 리스팅(listing)들을 포함할 수 있다. 처리 모듈은 또한 네트워크를 통해 제1 사용자 인터페이스를 클라이언트 디바이스로 통신하도록 구성되는데, 제1 사용자 인터페이스는 제1 포맷화 레벨 정보에 기반하여 포맷화된다. 수신 모듈은 또한 네트워크를 통해 제1 요청을 클라이언트 디바이스로부터 수신하도록 구성되는데, 제1 요청은 제1 서치 결과와의 제1 상호작용에 대한 서술(description)을 포함한다. 단지 예를 들면, 제1 상호작용은 페이지 다운(page-down), 또는 서치 결과의 아래쪽(가령, 서치 결과 중 80%)을 향한 스크롤 다운(scroll-down), 또는 서치 결과의 다섯 페이지(가령, 서치 결과 중 50%)와 연관된 격심한 움직임이 있는 스와이프 다운(swipe-down)을 포함할 수 있다. 처리 모듈은 또한 제1 요청의 수신에 앞서 수신된 상호작용에 기반하여 제1 포맷화 레벨을 식별하도록 구성된다. 예를 들면, 이전의 상호작용은 채점되고(scored), 합산되며(summed), 제1 포맷화 레벨과 연관될 수 있다. 처리 모듈은 또한 제1 포맷화 레벨 및 제1 상호작용에 기반하여 제2 포맷화 레벨로 전이하도록 구성된다. 처리 모듈은 또한 제2 포맷화 레벨을, 제2 사용자 인터페이스를 포맷화하고 네트워크를 통해 제2 사용자 인터페이스를 클라이언트 디바이스로 통신하는 데에 활용되는 제2 포맷화 레벨 정보와 연관시키도록 구성된다.
개시의 제2 양상에 따라 세이브된 서치에 기반하여 서치 결과를 조정하기 위한 방법 및 시스템이 기술된다. 시스템은 클라이언트 머신(가령, 모바일 디바이스, 데스크톱 컴퓨터, 태블릿 등등)으로부터 세이브된 서치를 실행하기 위해 요청을 수신하도록 구성된 통신 모듈(communication module)을 포함할 수 있다. 시스템은 식별된 세이브된 서치를, 데이터 베이스 내의 데이터 아이템을 찾아 서치하는 데에 사용되는 키워드, 카테고리 및 유사한 것을 포함하는 서치 제한과 연관시키는 세이브된 서치 모듈(saved search module)을 더 포함할 수 있다. 단지 예를 들면, 데이터 아이템은 페이스북(Facebook®) - 캘리포니아(California), 멘로 파크(Menlo Park)의 소셜 유틸리티(Social Utility)로서 당신을 당신 주위의 사람들과 연결하는 것 - 과 같은 네트워크 기반 소셜 플랫폼(network-based social platform) 상에서 서로 사회적으로(socially) 상호작용하는 사용자를 서술하는 프로파일을 포함할 수 있다. 세이브된 서치 모듈은 또한 세이브된 서치의 이전의 실행과 함께 식별된 사용자 행위(user behavior)에 기반하여 데이터베이스 내에 저장되었던 특성에 기반하여 서치 결과를 생성하도록 구성될 수 있다. 단지 예를 들면, 세이브된 서치를 위한 서치 결과로써 식별될 수 있는 하나의 사용자 행위는 이탈리아어를 말하고 캘리포니아(California)에 사는 사람을 서술하는 데이터 아이템을 보는 것을 포함할 수 있는데 그것은 결과적으로 속성-값 쌍(attribute-value pair) "LANGUAGE=ITALIAN"을 포함하는 특성 및 속성-값 쌍 "RESIDENCE=CALIFORNIA"를 포함하는 특성의 저장을 유발한다. 이에 따라, 동일한 세이브된 서치의 차후의 실행은 서치 결과를 위해 데이터 아이템을 식별하고, 서치 결과 내의 데이터 아이템을 순서화하며(order) 서치 결과 내의 디스플레이를 위해 데이터 아이템으로부터 특정 정보를 표출시키는(surface) 데에 앞서 언급된 특성들을 활용할 수 있다.
개시의 제3 양상에 따라, 선호되는 데이터 아이템 정보에 기반하여 데이터 아이템 내의 정보의 디스플레이를 재정리(reorder)하기 위한 방법 및 시스템이 기술된다. 시스템은 단일 데이터 아이템을 디스플레이하기 위해 클라이언트 머신(가령, 모바일 디바이스, 데스크톱 컴퓨터, 태블릿 등등)으로부터 요청을 수신하도록 구성된 요청 모듈(request module)과, 단일 데이터 아이템 내에 정보를 디스플레이하기 위해 인터페이스(가령, 사용자 인터페이스)를 생성하고 포맷화하도록 구성된 핸들러 모듈(handler module)을 포함할 수 있다. 데이터 아이템 내의 정보의 디스플레이는 선호되는 데이터 아이템 정보에 기반하여 재정리될 수 있다. 예를 들면, 선호되는 데이터 아이템 정보의 부재 시에, 데이터 아이템은 1 내지 10으로 번호표시가 된 10개의 요소를 포함할 수 있고 그 요소들은 연속적으로 오름차순으로 디스플레이될 수 있다. 대안적으로, 선호되는 데이터 아이템 정보의 존재 시에, 핸들러 모듈은 데이터 아이템의 요소 내의 정보의 디스플레이를 재정리하는 데에 선호되는 데이터 아이템 정보를 활용할 수 있다. 예를 들면, 핸들러 모듈은 데이터 아이템을 보기 위한 요청을 수신하는 것에 응답하는 즉각적인 디스플레이를 위한 일차적 데이터 아이템 정보(primary data item information)(가령, 요소 7, 8 및 9)로서 데이터 아이템의 요소 내의 정보를, 그리고 차후의 디스플레이(가령, 클라이언트 머신으로부터 차후의 요청(가령, 페이지 다운, 스크롤 다운, 스와이프 다운 등등)을 수신하는 것에 응답하는 디스플레이)를 위한 이차적 데이터 아이템 정보(secondary data item information)로서 나머지 요소(가령, 요소 1 내지 6 및 10) 내의 다른 정보를 식별하는 데에 선호되는 데이터 아이템 정보를 활용할 수 있다. 선호되는 데이터 아이템 정보는 브라우징 이력(browsing history) 및 서치 이력을 포함할 수 있다. 브라우징 이력은 사용자로부터 수신되었던 브라우징 요청에 기반하여 식별되었던 특성을 포함할 수 있고 서치 이력은 사용자로부터 서치 요청으로서 수신되었던 질의 내의 제한을 포함할 수 있다.
사용자 상호작용에
기반하여
서치
결과를 조정하기
도 1은 일 실시예에 따라, 사용자 상호작용에 기반하여 서치 결과를 조정하는 시스템(100)을 보여주는 블록도이다. 시스템(100)은, 서버 머신(106)을 포함하는 정보 저장 및 인출 플랫폼(information store and retrieve platform)(105)으로 네트워크(104)(가령, 인터넷) 상에서 통신되는(동작 "B") 서치 정보(가령, 질의(query))를 수신하는(동작 "A") 모니터(monitor)(103)에 커플링된(coupled) 클라이언트 머신(102)을 포함하는데 서버 머신(106)은, 이어서, 수신 모듈(110)로써 서치 정보를 수신하고 처리 모듈(112)로써 서치 정보를 처리한다. 서버 머신(106)은 서치 정보에 기반하여 서치 결과를 생성하고, 서치 결과를 포함하도록 사용자 인터페이스(120)를 포맷화하며, 이 사용자 인터페이스(120)를 네트워크(104) 상에서 클라이언트 머신(102)에 통신할(동작 "C") 수 있는데 여기서 사용자 인터페이스(120)는 클라이언트 머신(102)을 동작시키는 사용자에게 모니터(103) 상에 디스플레이된다(동작 "D"). 사용자는 서치 결과와 상호작용할 수 있다. 예를 들면, 사용자는 "페이지 업"(page-up), "페이지 다운", "스크롤 업"(scroll-up), "스크롤 다운" 또는 유사한 것을 하고 반복해서 그렇게 할 수 있다. 상호작용을 수신하는 것에 응답하여, 여러 이전의 상호작용을 수신한 후, 클라이언트 머신(102)은 상호작용(가령, "페이지 업")의 서술을 포함하는 상호작용 요청을 네트워크(104) 상에서 서버 머신(106)에 통신할 수 있는데(동작 "E") 서버 머신(106)은, 이어서, 상호작용 요청을 수신하고, 여러 이전의 상호작용에 기반하여 제1 포맷화 레벨을 식별하며, 제1 포맷화 레벨 및 가장 최근에 수신된 상호작용(가령, "페이지 업)에 기반하여 제2 포맷화 레벨로 전이하고, 제2 포맷화 레벨에 기반하여 포맷화된 제2 사용자 인터페이스(120)를 클라이언트 머신(102)으로 네트워크(104) 상에서 통신한다(동작 "F"). 제2 포맷화 레벨은 사용자의 사고방식(mindset)을 더 잘 근사화하도록 식별된다. 따라서, 시스템(100)은 서치 결과와 사용자의 상호작용에 기반하여 사용자의 사고방식을 추적하고 인터페이스(가령, 사용자 인터페이스(120))를 이에 따라 포맷화한다. 예를 들면, 질의의 형태로 서치 정보를 입력하고 서치 결과를 수신하는 사용자는 처음에는 원하는 서치 결과를 식별하도록 질의가 충분히 정확한지를 판정하기 위해 서치 결과를 "평가하고"(assessing) 있을 수 있다. 서치 결과와의 추가적인 상호작용은 사용자의 사고방식에서의 변화를 암시할 수 있다. 즉, 추가적인 상호작용은 사용자가 질의의 정확성의 평가를 넘어섰고 비교를 함으로써 데이터 아이템을 지금 쇼핑하고 있음을 시사할 수 있다. 추가의 상호작용은 지금은 더 이상 쇼핑하고 있지 않지만 이제는 특정 데이터 아이템을 살펴보고 있을 수 있는 사용자의 사고방식의 또 다른 변화를 암시할 수 있다.
도 2는 일 실시예에 따라, 상이한 포맷에 따라 포맷화된 인터페이스를 보여준다. 서치 결과와의 적은 개수의 사용자 상호작용(가령, 구성가능할 수 있는 사용자 상호작용의 사전결정된 임계 개수보다 적음)과 연관된 "평가하기"(ASSESS) 또는 "레벨 1"(LEVEL 1) 레벨/포맷으로 포맷화된 사용자 인터페이스(120)가 왼쪽에 예시된다. 서치 결과와의 적당한 개수의 사용자 상호작용(가령, 구성가능할 수 있는 사용자 상호작용의 사전결정된 임계 개수보다 적음)과 연관된 "쇼핑하기"(SHOP) 또는 "레벨 2"(LEVEL 2) 레벨/포맷으로 포맷화된 사용자 인터페이스(120)가 가운데에 예시된다. 서치 결과와의 많은 개수의 사용자 상호작용(가령, 구성가능할 수 있는 사용자 상호작용의 사전결정된 임계 개수보다 적음)과 연관된 "찾기"(FIND) 또는 "레벨 3"(LEVEL 3) 레벨/포맷으로 포맷화된 사용자 인터페이스(120)가 오른쪽에 예시된다. 다른 실시예는 구성가능한 추가적 레벨/포맷 및 임계를 포함할 수 있다.
사용자 인터페이스(120)는 달라지는 개수의 데이터 아이템을 디스플레이하는 것으로 예시된다(가령, 레벨1은 다섯 개의 데이터 아이템을 보여주고, 레벨2는 세 개의 데이터 아이템을 보여주며, 레벨3은 두 개의 데이터 아이템을 보여준다). 단지 예를 들면, 데이터 아이템은 이베이(eBay®)와 같은 네트워크 기반 마켓플레이스 상에서의 판매를 위한 아이템 또는 서비스를 서술하는 리스팅으로서 실체화될(embodied) 수 있다. 리스팅은 제목(title)으로서, 아이템이나 서비스를 서술하는 서술, 판매를 위해 아이템이 제공되고 있는 가격, 상태(가령, 중고, 새것 등등), 이미지 또는 아이템이나 서비스, 판매 포맷(sales format)(가령, 즉각적인 구매, 경매, 네덜란드식 경매(Dutch auction) 등등), 위치로서 그로부터 아이템이 발송될 수 있거나 서비스가 수행될 수 있는 위치 등등을 포함하는 요소를 포함할 수 있다. 또 예를 들면, 다른 실시예에 따라, 데이터 아이템은 페이스북(Facebook®)과 같은 네트워크 기반 소셜 네트워크 내에 네트워킹된 사람들을 서술하는 프로파일을 포함할 수 있다. 또한, 프로파일은 사람의 이름, 그 사람의 친구, 그 사람의 인구학적 자료(demographics)(그의 거주지, 국적 등등을 포함함), 그 사람이 다닌 학교를 포함하는 교육 이력, 그 사람의 사진 및 그 사람에 관련된 다른 별개인 정보를 포함하는 요소를 포함할 수 있다. "레벨 1" 포맷을 "레벨 2" 포맷과 비교하면서 사용자 인터페이스당 더 적은 개수의 데이터 아이템(가령, 레벨 2에서 세 개), 데이터 아이템당 더 많은 요소(가령, 레벨 2에서 네 개) 및 데이터 아이템당 더 큰 이미지를 관측할 수 있다. "레벨 2" 포맷을 "레벨 3" 포맷과 비교하면서, 이번에도, 사용자 인터페이스당 더 적은 데이터 아이템(가령, 레벨 3에서 두 개), 데이터 아이템당 더 많은 요소(가령, 레벨 3에서 여덟 개) 및 각각의 데이터 아이템에서의 더 큰 이미지를 관측할 수 있다.
도 1로 돌아가면, 시스템(100)은, 추가로 후술되는 바와 같이, 사용자 정보(116), 포맷화 레벨 요약 정보(118) 및 데이터 아이템 정보(119)를 저장하는 서버 머신(106)에 커플링된 데이터베이스(114)를 더 포함한다. 다른 실시예는 포맷화를 수행하는 클라이언트 머신(102)을 포함할 수 있음이 인식될 것이다. 예를 들면, 그러한 실시예에서, 수신 모듈(110) 및 처리 모듈(112)은 클라이언트 머신(102) 상에서 동일하거나 유사한 기능을 수행하도록 조정될(adapted) 수 있고 사용자 정보(116) 및 포맷화 레벨 요약 정보(118)는 클라이언트 머신(102) 상에 저장될 수 있다. 또 다른 실시예에서, 수신 모듈(110) 및 처리 모듈(112)은 클라이언트 머신(102) 상에서 동일하거나 유사한 기능을 수행하도록 조정될 수 있고 사용자 정보(116) 및 포맷화 레벨 요약 정보(118)의 부분은 동일한 기능을 수행하도록 클라이언트 머신(102)에 통신될 수 있다.
도 3a는 일 실시예에 따라, 데이터 아이템 정보(119)를 보여주는 블록도이다. 데이터 아이템 정보(119)는 하나 이상의 데이터 아이템(152)을 포함할 수 있다. 데이터 아이템 정보(119)는 데이터 아이템(152) 각각을 고유하게 식별하는 데에 사용되는 키(key)(가령, 데이터 아이템 식별자(data item identifier))로써 액세스될 수 있다.
도 3b는 일 실시예에 따라, 데이터 아이템(152)을 보여주는 블록도이다. 데이터 아이템(152)은 하나 이상의 요소(element)(154)를 포함할 수 있다. 예를 들면, 하나의 실시예에서, 데이터 아이템(152)은 네트워크 기반 마켓플레이스 상에서의 판매를 위해 제공되고 있는 아이템의 리스팅을 서술하는 데에 사용될 수 있고 요소(154)는 아이템의 제목, 아이템의 서술, 아이템의 이미지, 아이템의 상태(가령, 중고, 새것 등등), 아이템을 구매하기 위한 가격, 구매 포맷(가령, 경매, 즉각적인 판매), 판매자의 위치, 관련 정보로의 링크, 그리고 도 3a에 도시된 바와 같은 데이터 아이템 정보(119) 내에서 데이터 아이템(152)을 다른 데이터 아이템(152)으로부터 고유하게 식별하는 데이터 아이템 식별자를 포함할 수 있다.
도 3c는 일 실시예에 따라, 상호작용 요청(156)을 보여주는 블록도이다. 상호작용 요청(156)은 클라이언트 머신(102)으로부터 서버 머신(106)으로 통신될 수 있다. 상호작용 요청(156)은 서치 결과와의 상호작용을 서술하는 상호작용 서술(interaction description)(158), 단일 서치 레코드와 연관된 하나 이상의 상호작용의 세트를 식별하는 세션 식별자(session identifier)(160) 및 정보 저장 및 인출 플랫폼(105) 상에서 사용자를 식별하기 위한 사용자 식별자(user identifier)(162)를 포함할 수 있다.
도 4a는 일 실시예에 따라, 사용자 정보(116)를 보여주는 블록도이다. 사용자 정보(116)는 여러 사용자 상호작용 정보(200) 엔트리를 포함할 수 있다. 사용자 상호작용 정보(200) 엔트리는 정보 저장 및 인출 플랫폼(105)을 사용하는 특정한 사용자를 위한 정보를 저장하고 인출하는 데에 사용된다.
도 4b는 일 실시예에 따라, 사용자 상호작용 정보(200)를 보여주는 블록도이다. 사용자 상호작용 정보(200)는 서치 이력(search history)(202), 최적 포맷화 레벨(optimal formatting level)(206) 및 최적 포맷화 레벨 임계(optimal formatting level threshold)(207)를 포함할 수 있다. 서치 이력(202)은 사용자에 의해 실행되는 서치에 대한 정보를 저장하는 데에 사용될 수 있다. 최적 포맷화 레벨(206)은 사용자를 위한 가장 많은 수의 구매와 연관된 포맷화 레벨을 식별한다. 예를 들면, 사용자 "John Doe"는 포맷화 레벨 3, 4 및 5에서 각각 기록된 3개, 4개 및 5개의 구매와 연관되어 사용자 "John Doe"를 위한 5라는 최적 포맷화 레벨(206)을 초래할 수 있다. 최적 포맷화 레벨(206)은, 하나 이상의 포맷화 레벨에서 기록되고, 최적 포맷화 레벨(206)을 생성하기 위해 분석되는 바와 같은, 사용자의 구매에 기반하여 바뀔 수 있다. 최적 포맷화 레벨 임계(207)는 사이에 있는 포맷화 레벨을 지나 최적 포맷화 레벨(206)로 나아갈지를 식별하는 데에 사용될 수 있다. 예컨대, "레벨 3"의 최적 포맷화 레벨 임계(207)로의 레벨 전이를 식별하는 것은 최적 포맷화 레벨(206)이 "레벨 6"인 인터페이스(가령, 사용자 인터페이스(120))를 즉각적으로 포맷화하기 위해 중간의 "레벨 4" 및 중간의 "레벨 5"를 지나 나아가는 것을 초래할 수 있다.
도 4c는 일 실시예에 따라, 서치 이력(202)을 보여주는 블록도이다. 서치 이력(202)은 여러 서치 레코드(208)를 저장할 수 있다. 각각의 서치 레코드(208)는 사용자에 의해 실행되었던 특정한 서치에 대한 정보를 저장하는 데에 사용된다.
도 4d는 일 실시예에 따라, 서치 레코드(208)를 보여주는 블록도이다. 서치 레코드(208)는 제한(210), 세이브된 플래그(saved flag)(212), 상호작용 정보(214), 현재 포맷화 레벨(215) 및 현재 레벨 점수(current level score)(217)를 포함할 수 있다. 제한(210)은 서치를 개시하기 위해 정보 저장 및 인출 플랫폼(105)에 의해 수신될 수 있다. 예를 들면, 사용자는 데이터 아이템(152)을 서치하는 데에 사용되는 제한(210)을 입력함으로써 서치를 개시할 수 있다. 예를 들면, 제한(210)은 원하는 데이터 아이템(152)을 식별하기 위한 필터링을 위해 "batman comic books"를 포함하는 하나 이상의 키워드, 또는 "books", "mysteries", "Alfred Hitchcock"을 포함하는 하나 이상의 카테고리, 또는 하나 이상의 이미지, 또는 유사한 것을 포함할 수 있다. 세이브된 플래그(212)는 다른 서치를 실행하는 데에 제한(210)이 차후에 재사용될 수 있음을 나타내기 위해 어서트될(asserted) 수 있다. 예를 들면, 사용자는 제한(210) "batman comic books"를 입력하고 단지 인터페이스(가령, 사용자 인터페이스(120))를 통해 서치 레코드(208)를 식별함으로써 동일한 제한(210)을 사용하여 차후의 서치를 실행할 수 있다. 상호작용 정보(214)는 서치와 연관된 상호작용 레코드를 포함할 수 있다. 현재 포맷화 레벨(215)은 현재 레벨 점수(217)에 기반하여 식별될 수 있다. 현재 레벨 점수(217)는 상호작용 정보(214) 내의 상호작용 레코드에 기반하여 계산될 수 있다.
도 4e는 일 실시예에 따라, 상호작용 정보(214)를 보여주는 블록도이다. 상호작용 정보(214)는 하나 이상의 상호작용 레코드(218)를 포함할 수 있다.
도 4f는 일 실시예에 따라, 상호작용 레코드(218)를 보여주는 블록도이다. 상호작용 레코드(218)는 상호작용 서술(interaction description)(158), 분류(classification)(222) 및 상호작용 점수(interaction score)(224)를 포함할 수 있다. 상호작용 서술(158)은 상호작용을 서술할 수 있다. 예를 들면, 상호작용 서술(158)은 서치 결과에서 한 페이지 앞에 나타나는 데이터 아이템(152)을 디스플레이하기 위한 "페이지 업", 서치 결과에서 한 페이지 뒤에 나타나는 데이터 아이템(152)을 디스플레이하기 위한 "페이지 다운", 서치 결과에서 여러 페이지 앞에 나타나는 데이터 아이템(152)을 디스플레이하기 위한 "스와이프 업"(swipe-up), 서치 결과에서 여러 페이지 뒤에 나타나는 데이터 아이템(152)을 디스플레이하기 위한 "스와이프 다운", 서치 결과에서 여러 페이지 앞에 나타나는 데이터 아이템(152)을 디스플레이하기 위한 "스크롤 업", 서치 결과에서 여러 페이지 뒤에 나타나는 데이터 아이템(152)을 디스플레이하기 위한 "스크롤 다운", 하나 이상의 제한(210)을 제한(210)에 추가하기 위한 "제한(들)을 추가하기"(add constraint(s)), 하나 이상의 제한(210)을 제한(210)으로부터 제거하기 위한 "제한(들)을 제거하기"(remove constraint(s)) 및 유사한 것을 포함할 수 있다. 분류(222)는 상호작용을 분류하는 데에 사용될 수 있다. 예를 들면, "페이지 업", "페이지 다운", "스와이프 업", "스와이프 다운", "스크롤 업", "스크롤 다운" 상호작용은 "리뷰"(REVIEW)로 분류될 수 있고, "제한(들)을 추가하기" 상호작용은 "제한 추가"(ADD CONSTRAINT)로 분류될 수 있으며 "제한(들)을 제거하기" 상호작용은 "제한 제거"(REMOVE CONSTRAINT)로 분류될 수 있다. "리뷰", "제한 추가" 및 "제한 제거" 분류(222)는 또한 현재 포맷화 레벨(215)을 식별하는 데 사용되는 현재 레벨 점수(217)를 생성하기 위해 함께 더해지는 점수와 연관될 수 있다. 상호작용 서술(158), 분류(222) 및 상호작용 점수(224)는, 하나의 실시예에 따라, 다음과 같이, 사전결정되고 서로 연관될 수 있다.
하나의 실시예에서 상호작용 서술(158), 분류(222), 상호작용 점수(224)는 정보 저장 및 인출 플랫폼(105)에 의해 클라이언트 머신(102)으로부터 수신될 수 있다. 다른 실시예에서, 상호작용 서술(158)은 정보 저장 및 인출 플랫폼(105)에 의해 클라이언트 머신(102)으로부터 수신될 수 있고 정보 저장 및 인출 플랫폼(105)은 분류(222), 그리고 상호작용 점수(224)를 상호작용 서술(158)에 기반하여 식별할 수 있다.
도 5a는 일 실시예에 따라, 포맷화 레벨 요약 정보(118)를 보여주는 블록도이다. 포맷화 레벨 요약 정보(118)는 정보 저장 및 인출 플랫폼(105)이 이용할 수 있는 포맷화 레벨을 집합적으로 서술하는 하나 이상의 포맷화 레벨 정보(250) 엔트리를 포함할 수 있다. 예를 들면, 포맷화 레벨 요약 정보(118)는 네 개의 포맷화 레벨을 포함하는 것으로 예시된다.
도 5b는 일 실시예에 따라, 포맷화 레벨 정보(250)를 보여주는 블록도이다. 포맷화 레벨 정보(250)는 레벨 식별자(level identifier)(252)(가령, "레벨 1", "레벨 2" 등등)와, 포맷화 레벨을 정의하는 정의 정보(definition information)(254)를 포함할 수 있다. 정의 정보(254)는 인터페이스 영역 정보(256), 디스플레이되는 데이터 아이템의 개수(258), 데이터 아이템당 요소의 개수(260), 요소 서술자 정보(262) 및 최저 점수(264)를 포함할 수 있다. 인터페이스 영역 정보(256)는 데이터 아이템(152)을 렌더링하기 위한 인터페이스 상의 영역의 둘레(perimeter)와 그 포지션(position)을 서술할 수 있다. 예를 들면, 인터페이스 영역 정보(256)는 영역(가령, 사용자 인터페이스(120)의 특정한 사분면 내에 위치된 6인치 곱하기 10인치의 직사각형)의 경계를 식별하는 좌표를 포함할 수 있다. 디스플레이되는 데이터 아이템의 개수(258)는 영역 내에 렌더링할 데이터 아이템(152)의 개수이고 데이터 아이템당 요소의 개수(260)는 단일 데이터 아이템(152)에 대해 렌더링할 요소의 개수이다. 요소 서술자 정보(262)는 추가로 후술되는 바와 같이, 데이터 아이템(152) 내의 특정한 요소들(154) 각각을 위한 포맷화를 서술한다. 최저 점수(264)는 포맷화 레벨과 연관된 정의 정보(254)를 적용할지 식별하는 데에 사용되는 임계이다.
도 5c는 일 실시예에 따라, 요소 서술자 정보(262)를 보여주는 블록도이다. 요소 서술자 정보(262)는 데이터 아이템(152) 내의 요소(154)를 위한 포맷화를 서술한다. 요소 서술자 정보(262)는 데이터 아이템(152) 내의 요소 각각을 위한 하나 이상의 요소 정보(263) 엔트리를 포함할 수 있다.
도 5d는 일 실시예에 따라, 요소 정보(263)를 보여주는 블록도이다. 요소 정보(263)는 데이터 아이템(152) 내의 특정한 요소(154)의 포맷화를 서술한다. 요소 정보(263)는 데이터 아이템(152) 내의 요소(154)를 고유하게 식별하는 요소 식별자(element identifier)(268)와, 텍스트 정보(270)와, 이미지 정보(272)를 포함할 수 있다. 텍스트 정보(270)는 텍스트 포인트 크기(text point size)와, 텍스트 스타일(text style)과, 텍스트 포맷(text format)(가령, 볼드체(bold), 이탤릭체(italics) 등등)과 텍스트 포지션(text position)과, 텍스트에 적용될 수 있는 다른 포맷화 속성을 포함할 수 있다. 이미지 정보(272)는 이미지의 크기를 변경하기 위한 스케일링 인자(scaling factor)와, 이미지 스타일(image style)과, 프레이밍 스타일(framing style)(가령, 실선 보더(solid line boarder), 파선 보더(broken line boarder) 등등)과, 이미지에 적용될 수 있는 다른 포맷화 속성을 포함할 수 있다.
도 6은 일 실시예에 따라, 사용자 상호작용에 기반하여 서치 결과를 조정하는 방법(300)을 보여주는 블록도이다. 왼쪽에는 클라이언트 머신(102)이 예시되고 오른쪽에는 서버 머신(106)이 예시된다. 방법(300)은 동작(302)에서 클라이언트 머신(102)이 서버 머신(106)에 서치 정보를 통신하는 것으로 시작할 수 있다. 서치 정보는 하나 이상의 제한(210)을 포함할 수 있다. 예를 들면, 서치 정보는 "batman comic books"를 포함하는 키워드의 형태로 된 제한(210)을 포함할 수 있다.
동작(304)에서, 서버 머신(106)에서, 수신 모듈(110)은 서치 정보를 수신할 수 있다. 동작(306)에서, 처리 모듈(112)은 서치 정보에 기반하여 서치 결과를 생성할 수 있다. 예를 들면, 처리 모듈(112)은 제한(210)과 매치되는(match) 하나 이상의 데이터 아이템(152)의 세트를 포함하는 서치 결과를 생성하기 위해 제한(210) "batman comic books"를 데이터 아이템 정보(119) 내의 데이터 아이템(152)에 적용할 수 있다. 서치 결과는 데이터 아이템(152)의 하나 이상의 페이지를 포함할 수 있다.
동작(308)에서, 처리 모듈(112)은 초기 포맷화 레벨(가령, "레벨 1")에 기반하여 인터페이스(가령, 사용자 인터페이스(120))를 포맷화할 수 있다. 예를 들면, 처리 모듈(112)은 도 2에 도시된 바와 같은 "평가하기" 포맷화 레벨과 연관된 정의 정보(254)를 서치 결과 내의 데이터 아이템(152)에 적용함으로써 사용자 인터페이스(120)를 포맷화할 수 있다. 동작(310)에서, 처리 모듈(112)은 사용자 인터페이스(120)를 클라이언트 머신(102)에 통신할 수 있다.
동작(312)에서, 클라이언트 머신(102)은 사용자 인터페이스(120)를 수신하고 디스플레이할 수 있다. 동작(314)에서, 클라이언트 머신(102)은 상호작용 요청(156)을 서버 머신(106)에 통신할 수 있다. 예를 들면, 상호작용 요청(156)은 "페이지 다운"하기 위한 상호작용 서술(158)을 포함할 수 있다.
동작(316)에서, 서버 머신(106)에서, 수신 모듈(110)은 도 7a에서 추가로 기술되는 바와 같이, 상호작용 레코드(218)를 생성하기 위해 상호작용 요청(156)을 수신하고 처리할 수 있다. 동작(318)에서, 처리 모듈(112)은 도 7b에서 추가로 기술되는 바와 같이, 현재 포맷화 레벨(215)을 식별할 수 있다. 예를 들면, 처리 모듈(112)은 현재 레벨 점수(217) 및 대응하는 현재 포맷화 레벨(215)을 식별하기 위해 가장 최근에 생성된 상호작용 레코드(218) 이전에 수신된 상호작용 레코드(218) 전부를 처리할 수 있다. 본 예에서, "페이지 다운"하기 위한 금번 상호작용 레코드(218) 이전에 어떠한 상호작용도 수신되지 않았다. 판단 동작(320)에서, 처리 모듈(112)은 도 7c에서 추가로 기술되는 바와 같이, 새 포맷화 레벨로 전이할지를 식별할 수 있다. 만약 처리 모듈(112)이 새 포맷화 레벨로의 전이를 식별하면 처리가 동작(322)에서 계속된다. 그렇지 않으면 처리가 동작(324)에서 계속된다. 동작(322)에서, 처리 모듈(112)은 새 포맷화 레벨에 기반하여 인터페이스(가령, 사용자 인터페이스(120))를 포맷화할 수 있다. 예를 들면, 여러 "페이지 다운" 상호작용이 수신된 다른 예에서, 처리 모듈(112)은 도 2에 도시된 바와 같이, "쇼핑하기" 포맷화 레벨에 기반하여 서치 결과를 포맷화할 수 있다. 이를 위하여, 하나의 예에 따르면, 처리 모듈(112)은 인터페이스(가령, 사용자 인터페이스(120)) 내의 영역의 경계, 그 영역 내에 포함할 데이터 아이템(152)의 개수를 정의하는 디스플레이되는 데이터 아이템의 개수(258), 데이터 아이템(152)당 포함할 요소(154)의 개수를 정의하는 데이터 아이템당 요소의 개수(260), 그리고 데이터 아이템(152) 내의 특정한 요소(154)를 포맷화하는 데에 사용되는 요소 서술자 정보(262)를 식별하기 위해 인터페이스 영역 정보(256)를 포함하여 "쇼핑하기" 포맷화 레벨과 연관된 정의 정보(254)를 적용할 수 있다. 동작(324)에서, 처리 모듈(112)은 현재 포맷화 레벨(215)에 기반하여 인터페이스(가령, 사용자 인터페이스(120))를 포맷화할 수 있다. 예를 들면, 처리 모듈(112)은 "평가하기" 포맷화 레벨과 연관된 정의 정보(254)를 적용할 수 있다. 동작(325)에서, 처리 모듈(112)은 (가령, 도 7b에 도시된 바와 같이) 이전에 생성된 상호작용 레코드(218)를 적절한 상호작용 정보(214)에 추가할 수 있다. 동작(326)에서, 처리 모듈(112)은 서치 결과를 포함하는 사용자 인터페이스(120)를 클라이언트 머신(102)에 통신할 수 있다.
동작(328)에서, 클라이언트 머신(102)은 사용자 인터페이스(120)를 수신하고 디스플레이할 수 있다.
도 7a는 일 실시예에 따라, 상호작용 요청(156)을 수신하고 상호작용 레코드(218)를 생성하는 방법(350)을 보여주는 블록도이다. 방법(350)은 동작(352)에서 수신 모듈(110)이 상호작용 요청(156) 내의 상호작용 서술(158)에 기반하여 분류(222)를 식별하는 것으로 시작할 수 있다. 예를 들면, 수신 모듈(110)은 "페이지 다운" 상호작용을 "리뷰" 분류(222)와 연관시킬 수 있다. 동작(354)에서, 수신 모듈(110)은 상호작용 레코드(218) 내에 분류(222)를 저장할 수 있다. 동작(356)에서, 수신 모듈(110)은 "페이지 다운" 상호작용에 기반하여 상호작용 점수(224)를 식별할 수 있다. 예를 들면, 수신 모듈(110)은 "+1"의 상호작용 점수(224)를 "페이지 다운" 상호작용과 연관시킬 수 있다. 동작(358)에서, 수신 모듈(110)은 상호작용 레코드(218) 내에 상호작용 점수(224)를 저장할 수 있다. 동작(359)에서, 수신 모듈(110)은 상호작용 요청(156)으로부터 상호작용 서술(158)을 상호작용 레코드(218) 내의 상호작용 서술(158)로 복사할 수 있다. 판단 동작(360)에서, 수신 모듈(110)은 제한(210)이 추가되는지 또는 원래의 제한(210)으로부터 제거되는지를 식별할 수 있다. 예를 들면, 수신 모듈(110)은 상호작용 서술(158) 내의 제한(210)을 서치 레코드(208) 내의 제한(210)과 비교할 수 있다. 만약 제한(210)이 추가되거나 원래의 제한(210)으로부터 제거되면 동작(362)으로 분기(branch)가 만들어진다. 동작(362)에서, 수신 모듈(110)은 새로운 세트의 제한(210)에 기반하여 새로운 서치 결과를 생성할 수 있다. 예를 들면, 제한(210) "Joker"가 원래의 제한(210) "batman comic books"에 추가되어 새로운 세트의 제한(210) "batman comic books Joker"를 형성할 수 있다. 또한, 예를 들면, 제한(210) "comic books"가 원래의 제한(210)으로부터 제거되어 새로운 세트의 제한(210) "batman"을 형성할 수 있다.
도 7b는 일 실시예에 따라, 기존의 포맷화 레벨을 식별하는 방법(400)을 보여주는 블록도이다. 방법(400)은 현재 레벨 점수(217) 및 대응하는 현재 포맷화 레벨(215)을 식별하기 위해 가장 최근의 상호작용 레코드(218)가 아닌 금번 서치와 연관된 상호작용 레코드(218) 전부를 처리한다. 방법(400)은 동작(402)에서 처리 모듈(112)이 상호작용 요청(156)에 기반하여 적절한 상호작용 정보(214)를 식별하는 것으로 시작할 수 있다. 예를 들면, 처리 모듈(112)은 적절한 상호작용 정보(214)를 식별하기 위해 상호작용 요청(156) 내의 사용자 식별자(162) 및 세션 식별자(160)를 사용할 수 있다. 동작(404)에서, 처리 모듈(112)은 레벨 점수를 "0"으로 설정할 수 있다. 동작(408)에서, 처리 모듈(112)은 다음 상호작용 레코드(218)로 나아갈 수 있다. 판단 동작(410)에서, 처리 모듈(112)은 제한(210)의 추가 또는 제거를 기술하는 분류(222)를 상호작용 레코드(218)가 포함하는지를 식별할 수 있다. 예를 들면, 처리 모듈(112)은 분류(222)가 "제한 추가" 또는 "제한 제거" 분류(222)와 매치되는지를 식별할 수 있다. 만약 처리 모듈(112)이 매치를 식별하면, 동작(404)으로 분기가 만들어진다. 그렇지 않으면 동작(412)으로 분기가 만들어진다. 동작(412)에서, 처리 모듈(112)은 상호작용 레코드(218) 내의 상호작용 점수(224)를 레벨 점수에 더할 수 있다. 예를 들면, 처리 모듈(112)은 "+2"의 상호작용 점수(224)를 "+1"의 레벨 점수에 더하여 "+3"의 새로운 레벨 점수를 생성할 수 있다. 판단 동작(414)에서, 처리 모듈(112)은 더 많은 상호작용 레코드(218)가 있는지를 식별할 수 있다. 만약 더 많은 상호작용 레코드(218)가 있으면 동작(408)로 분기가 만들어진다. 그렇지 않으면 처리는 동작(416)에서 계속된다. 동작(416)에서, 처리 모듈(112)은 레벨 점수에 기반하여 포맷화 레벨을 식별하고, 포맷화 레벨을 서치 레코드(208) 내에 현재 포맷화 레벨(215)로서 저장하며, 레벨 점수를 서치 레코드(208) 내에 현재 레벨 점수(217)로서 저장할 수 있다. 예를 들면, 처리 모듈(112)은 포맷화 레벨을 식별하기 위해 각각의 포맷화 레벨을 위한 최소 점수(264)와 레벨 점수를 비교할 수 있다. 만약, 예를 들면, 레벨 점수가 "찾기" 레벨을 위한 최소 점수(264)보다 더 작지만 "쇼핑하기" 레벨을 위한 최소 점수(264)보다 더 크면 처리 모듈(112)은 "쇼핑하기" 레벨을 식별하고 저장한다.
위의 실시예에서 현재 레벨 점수(217)는 상호작용 요청(156)의 수신에 응답하여 상호작용 정보(214) 내에 저장된 상호작용 레코드(218)에 기반하여 재계산된다. 다른 실시예에서 현재 레벨 점수(217)는 상호작용 레코드(218)에 기반하여 계산되지 않을 수 있고, 오히려 현재 레벨 점수(217)는 상호작용 요청(156)의 수신에 응답하여 상호작용 요청(156)과 연관된 상호작용 점수(224)에 기반하여 증분적으로(incrementally) 업데이트될 수 있다. 또 다른 실시예에서, 현재 레벨 점수(217)는 쿠키(cookie)의 형태로 클라이언트 머신(102) 상에 저장되고 상호작용 요청(156) 내에서 서버 머신(106)으로 통신될 수 있다.
도 7c는 일 실시예에 따라, 새 포맷화 레벨로 전이할지를 식별하는 방법(450)을 보여주는 블록도이다. 방법(450)은 판단 동작(452)에서 처리 모듈(112)이 서치 결과 내의 데이터 아이템(152)이 단일 인터페이스(가령, 사용자 인터페이스(120)) 상에 디스플레이 가능한지 식별하는 것으로 시작할 수 있다. 예를 들면, 처리 모듈(112)은 서치 결과 내의 데이터 아이템의 개수(152)를 각각의 포맷화 레벨의 디스플레이되는 데이터 아이템의 개수(258) 내의 값과 비교할 수 있다. 만약 서치 결과 내의 데이터 아이템(152)이 단일 인터페이스(가령, 사용자 인터페이스(120))로써 디스플레이 가능하면 동작(472)으로 분기가 만들어진다. 그렇지 않으면 판단 동작(454)으로 분기가 만들어진다. 판단 동작(454)에서, 처리 모듈(112)은 가장 최근에 수신된 상호작용이 제한(210)의 추가 또는 제거를 식별하는지를 식별할 수 있다. 만약 가장 최근에 수신된 상호작용이 제한(210)의 추가 또는 제거를 식별하면 동작(470)으로 분기가 만들어진다. 그렇지 않으면 동작(456)으로 분기가 만들어진다. 동작(456)에서, 처리 모듈(112)은 가장 최근에 수신된 상호작용 요청(156)을 위해 생성된 상호작용 레코드(218)로부터 가장 최근에 수신된 상호작용을 위한 상호작용 점수(224)를 인출할 수 있다. 동작(458)에서, 처리 모듈(112)은 가장 최근에 생성된 상호작용 레코드(218)가 아닌 상호작용 레코드(218)를 위해 (가령, 도 7b에서 도시된 바와 같이) 생성되었던 현재 레벨 점수(217)를 인출할 수 있다. 판단 동작(460)에서, 처리 모듈(112)은 새 포맷화 레벨로 전이할지를 식별할 수 있다. 예를 들면, 처리 모듈(112)은 합계를 계산하기 위해 상호작용 점수(224)를 현재 레벨 점수(217)에 더하고 생성된 포맷화 레벨을 식별하기 위해 그 합계를 포맷화 레벨 각각과 연관된 최소 점수(264)와 비교할 수 있다. 예를 들면, 처리 모듈(112)은 그 합계를 상이한 포맷화 레벨들과 각각 연관된 최소 점수들(264) 각각 내의 값들과 비교할 수 있다. 만약, 예를 들면, 그 합계가 "찾기" 레벨을 위한 최소 점수(264)보다 더 작지만 "쇼핑하기" 레벨을 위한 최소 점수(264)보다 더 크면 처리 모듈(112)은 "쇼핑하기" 레벨을 생성된 포맷화 레벨로서 식별한다. 최종적으로, 처리 모듈(112)은 생성된 포맷화 레벨을 서치 레코드(208) 내의 현재 포맷화 레벨(215)과 비교한다. 만약 생성된 포맷화 레벨이 현재 포맷화 레벨(215)과 상이하면 판단 동작(462)으로 분기가 만들어진다. 그렇지 않으면 동작(464)으로 분기가 만들어진다. 동작(464)에서, 처리 모듈(112)은 현재 포맷화 레벨(215)을 식별할 수 있다. 판단 동작(462)에서, 처리 모듈(112)은 최적 포맷화 레벨(206)로의 가속화된 전이를 행할지를 식별할 수 있다. 예를 들면, 만약 생성된 포맷화 레벨(가령, 새로운 레벨)이 최적 포맷화 레벨 임계(207)보다 더 크거나 동일하다면 동작(466)으로 분기가 만들어진다. 그렇지 않다면 동작(468)으로 분기가 만들어진다. 동작(466)에서, 처리 모듈(112)은 인터페이스(가령, 사용자 인터페이스(120))를 포맷화하기 위한 최적 포맷화 레벨(206)을 식별할 수 있다. 동작(468)에서, 처리 모듈(112)은 생성된 포맷화 레벨을 새 포맷화 레벨로서 식별할 수 있다. 동작(470)에서, 처리 모듈(112)은 "평가하기" 포맷화 레벨 또는 인터페이스(가령, 사용자 인터페이스(120))를 포맷화하기 위한 최저 포맷화 레벨을 식별할 수 있다. 동작(472)에서, 처리 모듈(112)은 전술된 바와 같이, 서치 결과 내의 데이터 아이템(152)의 개수에 기반하여 인터페이스(가령, 사용자 인터페이스(120))를 포맷화하기 위한 포맷화 레벨을 식별할 수 있다. 동작(474)에서, 처리 모듈(112)은 식별된 레벨을 리턴(return)할 수 있다.
세이브된
서치에
기반하여
서치
결과를 조정하기
도 8a는 일 실시예에 따라 세이브된 서치(saved search)에 기반하여 서치 결과를 조정하는 시스템(500)을 보여주는 블록도이다. 시스템(500)은 서버 머신(106)을 포함하는 정보 저장 및 인출 플랫폼(105)으로 네트워크(104)(가령, 인터넷) 상에서 통신되는(동작 "B") 세이브된 서치를 위한 제한(210)(가령, 질의)을 수신하는(동작 "A") 모니터(103)에 커플링된 클라이언트 머신(102)을 포함할 수 있는데 서버 머신(106)은, 이어서, 앞서 기술된 바와 같이, 제한(210)을 수신하는 통신 모듈(501), 차후의 실행을 위해 제한(210)을 저장하는 세이브된 서치 모듈(502)을 포함한다. 제한(210)의 저장은 제한(210)의 재입력 없이 세이브된 서치의 반복된 실행을 가능하게 한다. 예를 들면, 자동차를 쇼핑하고 있는 사용자는 세이브된 서치를, 제한(210) "Camaro sports car"를 입력하는 것 및 제한(210)을 재입력하지 않고서 다양한 경우에 세이브된 서치를 반복적으로 실행하는 것에 의해 생성할 수 있다. 이를 위하여, 클라이언트 머신(102)은 서버 머신(106)으로 네트워크(104) 상에서 특정한 세이브된 서치를 식별하는 식별자를 통신할(동작 "C") 수 있는데 그것은 통신 모듈(501)에 의해 수신되고 세이브된 서치 모듈(502)에 의해 처리되어 특정한 세이브된 서치와 연관된 제한(210)을 식별하고 도로 클라이언트 머신(102)에 통신되는(동작 "D") 서치 결과를 생성한다. 서치 결과는, 기대되는 바와 같이, 제한(210)에 기반하여, 그러나 또한 세이브된 서치의 이전 실행에 기반하여 식별된 특성에 기반하여, 생성될 수 있다. 예를 들면, 세이브된 서치의 이전 실행은 세이브된 서치의 실행에 응답하여 서치 결과를 생성하기 위해 차후에 사용되는 특성을 식별하기 위해 처리되는 사용자 행위와 연관될 수 있다. 행위는 서치 결과와의 상호작용 및 다른 유형의 행위(앞서 기술된 바와 같이, 데이터 아이템(152)에 의해 기술되는 아이템에 대한 입찰(bid)을 수신하는 것, 데이터 아이템(152)를 보기 위한 요청을 수신하는 것, 데이터 아이템(152)에 의해 기술되는 아이템의 판매자에게 이메일을 보내기 위한 요청을 수신하는 것 및 유사한 것을 포함함)를 포함할 수 있다. 예를 들면, 세이브된 서치를 위한 제한(210)은 "Camaro sports car"를 포함할 수 있고 특성은 세이브된 서치를 실행한 사용자의 이전의 행위로서 식별된 색상 빨강(가령, COLOR=RED) 또는 $10K 내지 20K의 가격 범위(가령, PRICE RANGE=$10-20K, USD)을 포함할 수 있다. 이에 따라, 세이브된 서치와 연관된 행위는, 서치 결과를 생성하고 포맷화하기 위해 다음에 사용될 수 있는 특성(560)을 식별하는 데에 사용될 수 있다. 특성(560)은 적어도 세 방식으로 서치 결과를 생성하고 포맷화하는 데에 사용될 수 있다. 특성(560)은 서치 결과 내에 포함된 데이터 아이템(152), 서치 결과 내의 데이터 아이템(152)의 배치 및 서치 결과 내의 디스플레이를 위한 데이터 아이템(152)으로부터의 특정 정보의 표출을 식별하는 데에 사용될 수 있다.
다른 실시예는 제한 및 특성에 기반하여 서치 결과를 생성하고 서치 결과에 기반하여 인터페이스(가령, 사용자 인터페이스)를 생성하고 포맷화하는 클라이언트 머신(102)을 포함할 수 있음이 인식될 것이다. 예를 들면, 그러한 실시예에서, 통신 모듈(501) 및 세이브된 서치 모듈(502)은 클라이언트 머신(102) 상에서 동일하거나 유사한 기능을 수행하도록 조정될 수 있고 세이브된 서치 정보(504)의 부분은 클라이언트 머신(102) 상에 저장될 수 있다. 또 다른 실시예에서, 통신 모듈(501) 및 세이브된 서치 모듈(502)은 클라이언트 머신(102) 상에서 동일하거나 유사한 기능을 수행하도록 조정될 수 있고 세이브된 서치 정보(504)의 부분은 동일한 기능을 수행하는 데에 필요한 대로 클라이언트 머신(102)에 통신될 수 있다.
도 8b는 일 실시예에 따라, 세이브된 서치와 연관된 제한(210) 및 특성에 기반하여 생성되는 사용자 인터페이스(120)를 보여주는 블록도이다. 예를 들면, 세이브된 서치를 위한 제한(210)은 키워드 "Camaro sports car"를 포함할 수 있고 세이브된 서치의 이전의 실행에 기반하여 식별되었던 특성은 COLOR=RED와, PRICE RANGE=$15-20K, USD를 포함할 수 있다. 특성(560)은 서치 결과 내에 포함된 데이터 아이템(152), 서치 결과 내의 데이터 아이템(152)의 배치 및 서치 결과 내의 디스플레이를 위한 데이터 아이템(152)으로부터의 특정 정보의 표출을 식별하는 데에 사용될 수 있다.
서치 결과는 제한(210) 및 특성을 사용하여 생성될 수 있다. 예를 들면, 하나의 실시예에 따라, 추가로 후술되는 바와 같이, 사용자 인터페이스(120) 상에 포함되는 서치 결과를 생성하기 위해 제한(210)은 특성과 논리합(OR)이 될 수 있다.
서치 결과는 앞서 언급된 특성에 기반하여 사용자 인터페이스(120) 상에 순서화될 수 있다. 판매를 위한 아이템을 기술하는 요소(154)를 포함하는 데이터 아이템(152)을 고려하자. 예를 들면, 요소(154)는 앞서 기술된 바와 같이 제목, 서술 및 이미지 등등을 포함할 수 있다. 호출(callout)(510)에서, 두 데이터 아이템(152)이 서치 결과 내의 다른 데이터 아이템(152) 앞에 디스플레이되는데 그 두 데이터 아이템(152) 내의 서술을 위한 요소(154)가 두 식별된 특성 모두(가령, COLOR=RED 및 PRICE RANGE=$15-20K, USD)에 대해 매치되는 텍스트를 포함하기 때문이다. 호출(512)에서, 두 데이터 아이템이 호출(510)에서의 데이터 아이템(152) 뒤에 그리고 호출(514)에서의 데이터 아이템 앞에 디스플레이되는데 그 두 데이터 아이템(152) 내의 서술을 위한 요소(154)가 식별된 특성 중 단 하나(가령, COLOR=RED 또는 PRICE RANGE=$15-20K, USD)에 대해 매치되는 텍스트를 포함하기 때문이다. 호출(514)에서, 호출(514)에서, 하나의 데이터 아이템이 호출(510) 및 호출(512)에서의 데이터 아이템(152) 뒤에 디스플레이되는데 그 데이터 아이템(152) 내의 서술을 위한 요소(154)가 식별된 특성 중 어느 한쪽이라도(가령, COLOR=RED 또는 PRICE RANGE=$15-20K, USD) 매치되는 텍스트를 포함하지 않기 때문이다. 이에 따라, 데이터 아이템(152)은 데이터 아이템(152) 내의 요소(154)와 매치되는 특성의 개수에 따른 순서로 디스플레이된다. 다른 실시예에서, 그 특성들은 데이터 아이템(152) 내의 상이한 요소(154)의 콘텐트(content)와 매치될 수 있다. 예를 들면, PRICE RANGE=$15-20K, USD를 위한 특성은 데이터 아이템(152) 내의 가격을 위한 요소(154)와 매치될 수 있다. 이에 따라, 사용자 인터페이스(120)는, 도 8b에 예시된 바와 같이, 서술을 위한 요소(154) 또는 가격을 위한 요소(154)와의 PRICE RANGE=$15-20K, USD의 매치에 기반하여 생성될 수 있다.
데이터 아이템(152)으로부터의 특정 정보의 표출은 도 8b에서 서치 결과 내에 디스플레이되는 것으로 또한 예시된다. 예를 들면, 몇몇 요소(154)가 항상 표출되거나 디스플레이됨(가령, 제목, "CAMARO FOR SALE" 및 이미지)에도 불구하고 서술을 위한 요소(154)와 같은 다른 요소(154)가 단지 부분적으로 디스플레이될 수 있고 디스플레이되는 특정 정보를 식별하는 데에 특성이 사용될 수 있다. 예를 들면, 매치의 부재 시에, 특정한 요소(154)로부터의 다른 정보(가령, ".........")가 디스플레이될 수 있다.
도 8a로 돌아오면, 정보 저장 및 인출 플랫폼(105)은, 도 4a에서 앞서 기술된 바와 같이, 도 3a에서 앞서 기술된 바와 같이, 사용자 정보(116) 및 데이터 아이템 정보(119)를 포함한다. 이제 사용자 정보(116)는 세이브된 서치 정보(504)를 또한 포함하는 것으로 예시된다.
도 9a는 일 실시예에 따라, 사용자 정보(116)를 보여주는 블록도이다. 사용자 정보(116)는 여러 세이브된 서치 정보(504) 엔트리를 포함할 수 있다. 세이브된 서치 정보(504) 엔트리는 정보 저장 및 인출 플랫폼(105)을 사용하는 특정한 사용자를 위한 정보를 저장하고 인출하는 데에 사용될 수 있다.
도 9b는 일 실시예에 따라, 세이브된 서치 정보(504)를 보여주는 블록도이다. 세이브된 서치 정보(504)는 특정한 사용자를 위한 세이브된 서치 레코드(552)를 저장하는 데 사용될 수 있다. 사용자는 그 특징을 사용하거나 하나 또는 다수의 세이브된 서치 레코드(552)를 세이브하지 않을 수 있다.
도 9c는 일 실시예에 따라, 세이브된 서치 레코드(552)를 보여주는 블록도이다. 세이브된 서치 레코드(552)는 세이브된 서치를 다른 세이브된 서치로부터 식별하는 세이브된 서치 식별자(saved search identifier)(554), 서치 레코드(208)를 식별하는 서치 레코드 식별자(search record identifier)(556), 세이브된 서치 특성 정보(saved search property information)(558)를 포함할 수 있다. 서치 레코드 식별자(556)는 세이브된 서치를 위한 제한(210) 및 다른 필드를 서치 레코드(208)로부터 인출하는 데에 사용될 수 있다. 세이브된 서치 특성 정보(558)는 세이브된 서치와 연관된 하나 이상의 특성을 포함할 수 있다.
도 9d는 일 실시예에 따라, 세이브된 서치 특성 정보(558)를 보여주는 블록도이다. 세이브된 서치 특성 정보(558)는 세이브된 서치의 실행에 기반하여 세이브된 서치와 연관되어 식별되고 저장되었던 특성(560)의 하나 이상의 엔트리를 포함할 수 있다. 예를 들면, 특성(560)은 세이브된 서치의 하나 이상의 실행 동안에 학습되었던 사용자의 행위를 집합적으로 특징지을 수 있다. 예를 들면, 세이브된 서치와 연관된 서치 결과 중 하나는 데이터 아이템(152)의 요소에 기반한 특성(560)의 식별 및 세이브된 서치 특성 정보(558) 내의 특성(560)의 저장을 유발하는 사전결정된 임계를 초과하는 시기(period of time) 동안 사용자가 보았던 하나 이상의 데이터 아이템(152)을 포함할 수 있다. 추가로 예를 들면, 하나 이상의 특성(560)은 세이브된 서치 모듈(502)로 하여금 데이터 아이템(152) 내의 요소에 기반하여 하나 이상의 특성(560)을 식별하게 하는 (40초의) 사전결정된 임계를 초과하는 양의 시간(가령, 1분) 동안 사용자가 데이터 아이템(152)을 보는 것에 응답하여 세이브된 서치 특성 정보(558) 내에 저장될 수 있다. 세이브된 서치의 서치 결과와 연관된 다른 행위는 경매에서 아이템을 쟁취하기 위한 입찰의 수신의 식별, 아이템 구매의 식별, 아이템의 판매자에게 발신된 이메일의 식별, 아이템과 연관된 이미지를 크기 조정하기(scale) 위한 요청의 식별 등등을 포함할 수 있다.
도 9e는 일 실시예에 따라, 특성(560)을 보여주는 블록도이다. 특성(560)은 데이터 아이템(152) 내의 정보에 기반하여 식별될 수 있다. 특성(560)은 데이터 아이템(152) 내의 요소(154) 중 하나 내의 정보에 기반하여 식별될 수 있다. 특성(560)은 속성(564) 및 값(566)을 포함하는 속성-값 쌍을 포함할 수 있다. 속성은 아이템 또는 서비스를 기술하는 데에 사용될 수 있다. 예를 들면, 속성은 색상, 높이, 폭, 무게, 길이, 목적, 기능 및 유사한 것을 포함할 수 있다. 값(566)은 텍스트, 수 또는 양자 모두를 포함할 수 있다. 특성(560)의 예는 다음을 포함할 수 있다:
도 10a는 일 실시예에 따라, 세이브된 서치에 기반하여 서치 결과를 조정하는 방법(600)을 보여주는 블록도이다. 왼쪽에는 클라이언트 머신(102)이 예시되고 오른쪽에는 서버 머신(106)이 예시된다. 방법(600)은 동작(602)에서 클라이언트 머신(102)이 세이브된 서치를 위한 제한(210)을 서버 머신(106)에 통신하는 것으로 시작할 수 있다.
동작(604)에서, 서버 머신(106)에서, 통신 모듈(501)은 제한(210)을 수신할 수 있다. 동작(606)에서, 세이브된 서치 모듈(502)은 앞서 기술된 바와 같이, 서치 레코드(208)를 생성하고 저장할 수 있다. 예를 들면, 세이브된 서치 모듈(502)은 제한(210)을 저장하고 서치 레코드(208) 내의 세이브된 플래그(212)를 어서트할 수 있다. 제한(210)은, 예를 들면, 키워드 "Camaro Sports Car"를 포함할 수 있다. 동작(607)에서, 세이브된 서치 모듈(502)은 세이브된 서치 레코드(552)를 생성하고 저장할 수 있다. 예를 들면, 세이브된 서치 모듈(502)은 세이브된 서치 식별자(554) 및 서치 레코드 식별자(556)를 생성하고 저장할 수 있다.
동작(608)에서, 클라이언트 머신(102)은 특정한 세이브된 서치를 실행하기 위한 요청을 통신할 수 있다. 예를 들면, 클라이언트 머신(102)은 앞서 언급된 제한(210) "Camaro Sports Car"를 포함하는 세이브된 서치를 식별하는 식별자를 통신할 수 있다.
동작(610)에서, 서버 머신(106)에서, 통신 모듈(501)은 요청을 수신할 수 있다. 동작(612)에서, 세이브된 서치 모듈(502)은 도 10b에서 추가로 기술되는 바와 같이, 제한(210)에 기반하여 그리고 세이브된 서치 특성 정보(558)에 또한 기반하여 서치 결과를 생성할 수 있다. 동작(613)에서, 세이브된 서치 모듈(502)은 동작(612)에서 생성된 서치 결과에 기반하여 사용자 인터페이스(120)를 생성하고 포맷화할 수 있다. 세이브된 서치 모듈(502)은 특성(560)에 따라 서치 결과 내의 데이터 아이템(152) 내의 정보를 표출함으로써 사용자 인터페이스(120)를 포맷화할 수 있다. 예를 들면, 세이브된 서치 모듈(502)은 세이브된 서치 특성 정보(558) 내의 특성(560) 중 임의의 것과 매치되는 데이터 아이템(1052)의 부분을 식별하고 표출할 수 있다. 이에 따라, 특성(560)(가령, "COLOR=RED" 또는 "PRICE RANGE=$15-20K, USD)은 데이터 아이템(152) 내의 하나 이상의 요소(154) 또는 데이터 아이템(152) 내의 하나 이상의 요소(154)의 부분을 식별하고 표출하는 데에 활용될 수 있다. 예를 들면, 서술을 위해 사용되는 요소(154) 내에 포함되는 다음의 텍스트를 고려하자:
특성(560) "COLOR=RED", "PRICE RANGE=$15-20K, USD"는 다음의 정보를 표출하는 데에 사용될 수 있다:
다른 정보(가령, "CAMARO FOR SALE...., 8 cylinders, ....., runs like a dream, 5 speed with racing stripe and leather interior and the outside....")는 데이터 아이템(152)으로부터 표출되지 않을 수 있는데, 그 이유는 다른 정보가 특성(560) 중 어느 것과도 매치되지 못하기 때문이다. 그래도, 데이터 아이템(152) 내의 다른 요소(154)는 항상 디스플레이될 수 있는데, 예컨대 제목과 이미지이다. 동작(614)에서, 세이브된 서치 모듈(502)은 사용자 인터페이스(120)를 클라이언트 머신(102)에 통신할 수 있다.
동작(616)에서, 클라이언트 머신(102)은 서치 결과를 포함하는 사용자 인터페이스(120)를 수신하고 디스플레이할 수 있다. 동작(618)에서, 클라이언트 머신(102)은 서치 결과에 대해 동작하는 사용자 행위를 수행하기 위한 요청을 서버 머신(106)에 통신할 수 있다. 예를 들면, 클라이언트 머신(102)은 서치 결과 내에 포함된 데이터 아이템(152)에 의해 서술된 아이템을 보기 위한 요청을 통신할 수 있다.
동작(620)에서, 서버 머신(106)에서, 통신 모듈(501)은 요청을 수신할 수 있다. 동작(622)에서, 세이브된 서치 모듈(502)은 요청된 행위를 수행할 수 있다. 예를 들면, 세이브된 서치 모듈(502)은 다른 사용자 인터페이스(120)로 하여금 데이터 아이템(152)을 보기 위해 생성되게 하고 사용자 인터페이스(120)를 사용자에게 도로 통신할 수 있다.
동작(624)에서, 세이브된 서치 모듈(502)은 사용자 행위에 기반하여 하나 이상의 특성(560)을 식별할 수 있다. 예를 들면, 세이브된 서치 모듈(502)은 봤던 데이터 아이템(152) 내의 요소(154)에 기반하여 하나 이상의 특성(560)을 식별할 수 있다. 예를 들면, 카마로(Camaro)를 위한 앞서 언급된 리스팅 내에서, 다음의 특성(560)이 식별될 수 있다:
동작(626)에서, 세이브된 서치 모듈(502)은 세이브된 서치 특성 정보(558) 내에 하나 이상의 특성(560)을 저장할 수 있다.
도 10b는 일 실시예에 따라, 특성(560)에 기반하여 서치 결과를 생성하기 위한 방법(640)을 보여주는 블록도이다. 동작(642)에서, 세이브된 서치 모듈(502)은 데이터 아이템 정보(119)를 서치하기 전에 특성(560)을 제한(210)에 추가할 수 있다. 예를 들면, 세이브된 서치 모듈(502)은 제한(210)에 매치되고 또한 특성(560)에 매치되는 데이터 아이템 정보(119) 내의 데이터 아이템(152)을 식별할 수 있다. 예를 들면, 세이브된 서치 모듈(502)은 제한(210)(("Camaro" OR "sports car")에 매치되지만 특성(560) 중 어느 것과도 매치되지 않는 데이터 아이템(152)과 또한 조합되는 제한(210)(("Camaro" OR "sports car") AND ("COLOR=RED" OR "PRICE RANGE=$15-20K, USD))에 매치되는 데이터 아이템(152)을 식별할 수 있다. 이에 따라, 서치 결과는 데이터 아이템들(152)의 두 그룹으로 분리되는데, 제1 그룹은 제한(210) 및 적어도 하나의 특성(560)에 매치되고 제2 그룹은 제한(210)에 매치되지만 특성(560) 중 어느 것과도 매치되지 않는다.
동작(644)에서, 세이브된 서치 모듈(502)은 특성(560)에 따라 서치 결과를 순서화할 수 있다. 예를 들면, 세이브된 서치 모듈(502)은 가장 많은 수의 매치되는 특성(560)에서부터 가장 적은 수의 매치되는 특성(560)(매치되는 특성(560)이 전혀 없는 데이터 아이템(152)이 이어짐)으로 서치 결과 내의 데이터 아이템(152)을 순서화할 수 있다.
선호되는 데이터 아이템 정보에
기반하여
데이터 아이템 내의 정보의 디스플레이를 재정리하기
도 11은 일 실시예에 따라, 선호되는 데이터 아이템 정보에 기반하여 데이터 아이템(152) 내의 정보의 디스플레이를 재정리하는 시스템(650)을 보여주는 블록도이다. 시스템(650)은 서버 머신(106)을 포함하는 정보 저장 및 인출 플랫폼(105)으로 네트워크(104)(가령, 인터넷) 상에서 통신되는 요청을 수신하는(동작 "A") 모니터(103)에 커플링된 클라이언트 머신(102)을 포함할 수 있는데 서버 머신(106)은, 이어서, 요청을 수신하는(동작 "B") 요청 모듈(652) 및 요청을 처리하는 핸들러 모듈(handler module)(654)을 포함한다. 요청은 서치 요청(search request) 또는 브라우징 요청(browsing request)을 포함할 수 있다. 서치 요청은, 앞서 기술된 바와 같은, 서치 이력 정보의 형태로 된 선호되는 데이터 아이템 정보(656)로서 저장되고 서치 결과를 생성하는데 활용되는 하나 이상의 제한(210)을 포함하는 질의를 포함할 수 있다. 브라우징 요청은 데이터 아이템을 식별하는 데에 또는 데이터 아이템을 포함하는 카테고리들의 계층구조(hierarchy)를 내비게이트하는(navigate) 데에 활용될 수 있는 선택을 포함할 수 있다. 또한, 브라우징 요청은, 앞서 기술된 바와 같은, 브라우징 이력 정보의 형태로 된 선호되는 데이터 아이템 정보(656)로서 저장된 하나 이상의 특성(560)을 식별하는 데에 사용될 수 있다. 예를 들면, 특성은 카테고리와, 속성-값 쌍(가령, CONDITION=NEW, AUTHOR=TOLSTOY)과, 특성으로서 저장된 유사한 것을 포함할 수 있다. 사용자는 선호되는 데이터 아이템 정보(656)(가령, 제한(210) 및 특성)의 저장 및 축적을 유발하는 전술된 동작(동작 A 및 B)을 반복할 수 있다. 선호되는 데이터 아이템 정보(656)의 저장 및 축적에 뒤이어, 단일 데이터 아이템(152)을 디스플레이하기 위한 요청이 클라이언트 머신(102)으로부터 수신될 수 있고 데이터 아이템(152) 내의 정보는 선호되는 데이터 아이템 정보(656)에 기반하여 선택적으로 디스플레이될 수 있다. 예를 들면, 선호되는 데이터 아이템 정보(656)의 부재 시에, 데이터 아이템(152)은 1 내지 10으로 번호 표시가 된 열 개의 요소(154)를 포함할 수 있고 그 요소들(154)은 오름차순으로 연속적으로 디스플레이될 수 있다. 또한, 선호되는 데이터 아이템 정보(656)의 부재 시에, 특정한 요소(154) 내의 정보는 사용자에 의해 입력된 바와 같이 디스플레이될 수 있다. 본 개시의 하나의 실시예에 따라, 선호되는 데이터 아이템 정보(656)는 데이터 아이템(152) 내의 정보의 디스플레이를 재정리하는 데에 사용될 수 있다.
대체로, 클라이언트 머신(102)에서, 모니터(103)는 서버 머신(106)으로 네트워크(104)(가령, 인터넷) 상에서 통신되는 데이터 아이템(153)(가령, 리스팅)을 보기 위한 요청을 수신할(동작 "C") 수 있는데 서버 머신(106)에서 요청 모듈(652)은 그 요청을 수신하고 핸들러 모듈(654)은 리스팅 페이지의 형태로 사용자 인터페이스를 생성하기 위해 그 요청을 처리한다. 핸들러 모듈(654)은 선호되는 데이터 아이템 정보(656)(가령, 제한(210), 특성(560))에 기반하여 데이터 아이템(152) 내의 정보의 디스플레이를 재정리할 수 있다. 일 실시예에 따라, 데이터 아이템(152) 내의 정보의 디스플레이는 즉각적인 디스플레이를 위한 일차적 데이터 아이템 정보(가령, "가죽 인테리어"(LEATHER INTERIOR) 및 "색상 빨강"(COLOR RED))로서 그리고 차후의 디스플레이(가령, 페이지 다운, 스크롤 다운, 스와이프 다운 등등을 수신한 후)를 위한 이차적 데이터 아이템 정보로서 재정리될 수 있다.
다른 실시예들은 선호되는 데이터 아이템 정보(656)에 기반하여 일차적 데이터 아이템 정보를 식별하고 일차적 데이터 아이템 정보에 기반하여 인터페이스(가령, 사용자 인터페이스)를 포맷화하는 클라이언트 머신(102)을 포함할 수 있음이 인식될 것이다. 예를 들면, 그러한 실시예에서, 요청 모듈(652) 및 핸들러 모듈(654)은 클라이언트 머신(102) 상에서 동일하거나 유사한 기능을 수행하도록 조정될 수 있고 선호되는 데이터 아이템 정보(656)의 부분은 클라이언트 머신(102) 상에 저장될 수 있다. 또 다른 실시예에서, 요청 모듈(652) 및 핸들러 모듈(654)은 클라이언트 머신(102) 상에서 동일하거나 유사한 기능을 수행하도록 조정될 수 있고 선호되는 데이터 아이템 정보(656)의 부분은 동일한 기능을 수행하는 데에 필요한 대로 클라이언트 머신(102)에 통신될 수 있다.
도 12a는 일 실시예에 따라, 사용자 정보(116)를 보여주는 블록도이다. 사용자 정보(116)는 특정한 사용자들을 위해 선호되는 데이터 아이템 정보(656)를 저장하고 인출하는 데에 각각 사용되는 여러 선호되는 데이터 아이템 정보(656) 엔트리를 포함할 수 있다.
도 12b는 일 실시예에 따라, 선호되는 데이터 아이템 정보(656)를 보여주는 블록도이다. 선호되는 데이터 아이템 정보(656)는 브라우징 이력 정보(browsing history information)(670) 및 서칭 이력 정보(searching history information)(672)를 포함할 수 있다. 브라우징 이력 정보(670)는 사용자의 브라우징 이력에 기반하여 식별되는 특성(560)을 포함할 수 있다. 예를 들면, 특성(560)은 카테고리들의 계층구조 내에서 내비게이트될 수 있는 카테고리, 브랜드, 가격 범위, 구매 포맷(경매, 바로 구입하기(buy it now)), 색상, 크기 사양(size specification), 상태(가령, 새것, 중고 등등), 아이템 또는 서비스 위치(가령, 북미(North America), 미합중국(United States), 캘리포니아(California), 산타클라라 카운티(Santa Clara County), 새너제이(San Jose) 등등) 또는 객체나 서비스를 서술하는 임의의 다른 특성을 포함할 수 있다. 서칭 이력 정보(672)는 데이터 아이템에 대한 질의 내에서 수신되는 제한(210)을 포함할 수 있다. 제한(210)은 하나 이상의 키워드, 카테고리 또는 유사한 것을 포함할 수 있다.
도 13은 일 실시예에 따라, 선호되는 데이터 아이템 정보(656)에 기반하여 데이터 아이템(152) 내의 정보의 디스플레이를 재정리하는 방법(700)을 보여주는 흐름도이다. 왼쪽에는 클라이언트 머신(102)이 예시되고 오른쪽에는 서버 머신(102)이 예시된다. 방법(700)은 동작(710)에서 클라이언트 머신(102)이 서버 머신(106)에 브라우징 요청(browsing request)을 통신하는 것으로 시작할 수 있다. 브라우징 요청은 데이터 아이템을 훑어보기(browse) 위해 카테고리들의 계층구조 내의 카테고리를 식별하기 위한 카테고리(가령, 스포츠 카(SPORTS CARS)), 데이터 아이템을 식별하기 위한 속성-값 쌍(가령, ("COLOR=RED", "INTERIOR=LEATHER") 및 유사한 것을 포함할 수 있다.
동작(712)에서, 서버 머신(106)에서, 요청 모듈(652)은 그 요청을 수신할 수 있다. 동작(714)에서, 핸들러 모듈(654)은 브라우징 요청에 기반하여 특성(560)을 식별하기 위해 그 요청을 처리하고, 특성(560)을 브라우징 이력 정보(670)로서 저장하며, 브라우징 요청을 처리할 수 있다. 예를 들면, 핸들러 모듈(654)은 특성(560) "CATEGORY=SPORTS CARS", "COLOR=RED" 및 "INTERIOR=LETHER"을 식별하고, 사용자와 연관된 브라우징 이력 정보(670) 내에 특성(560)을 저장하며, 브라우징 요청의 처리를 완료할 수 있다.
동작(720)에서 클라이언트 머신(102)은 서버 머신(106)에 서치 요청을 통신할 수 있다. 서치 요청은 제한을 포함하는 질의를 포함할 수 있다. 예를 들면, 제한은 키워드(가령, "Camaro")를 포함할 수 있다.
동작(722)에서, 서버 머신(106)에서, 요청 모듈(652)은 그 요청을 수신할 수 있다. 동작(724)에서, 핸들러 모듈(654)은 서치 요청에 기반하여 제한(210)을 식별하기 위해 그 요청을 처리하고, 제한(210)을 서칭 이력 정보(672)로서 저장하며, 서치 요청을 처리할 수 있다. 예를 들면, 핸들러 모듈(654)은 키워드 제한 "Camaro"를 식별하고 사용자와 연관된 서칭 이력 정보(672) 내에 제한(210)을 저장하며, 서치 요청의 처리를 완료할 수 있다.
동작(730)에서, 클라이언트 머신(102)은 데이터 아이템(152)을 디스플레이하기 위한 요청을 통신할 수 있다. 예를 들면, 그 요청은 네트워크 기반 마켓플레이스에 통신될 수 있고 데이터 아이템(152)은 네트워크 기반 마켓플레이스 상에서의 판매를 위해 제공되고 있는 Camaro를 서술하는 리스팅일 수 있다.
동작(732)에서, 서버 머신(106)에서, 요청 모듈(652)은 데이터 아이템(152)을 디스플레이하기 위한 요청을 수신할 수 있다. 동작(734)에서, 핸들러 모듈(654)은 사용자와 연관된 선호되는 데이터 아이템 정보(656)에 기반하여 일차적 데이터 아이템 정보를 식별할 수 있다. 예를 들면, 핸들러 모듈(654)은 데이터 아이템(152) 내의 정보를 브라우징 이력 정보(670) 내에 저장된 특성(560)과 비교하고 매치에 응답하여 일차적 데이터 아이템 정보의 식별을 등록할 수 있다. 또 예를 들면, 핸들러 모듈(654)은 데이터 아이템(152) 내의 정보를 서칭 이력 정보(672) 내에 저장된 제한(210)과 비교하고 매치에 응답하여 일차적 데이터 아이템 정보의 식별을 등록할 수 있다. 동작(736)에서, 핸들러 모듈(654)은 일차적 데이터 아이템 정보에 기반하여 인터페이스(가령, 사용자 인터페이스)를 생성하고 포맷화할 수 있다. 예를 들면, 핸들러 모듈(654)은 Camaro를 위한 리스팅의 형태로 데이터 아이템(152)에 기반하여 사용자 인터페이스(가령, 리스팅 페이지)를 생성하고 포맷화할 수 있는데 여기서 일차적 데이터 아이템 정보는 도 14a에 도시된 바와 같이 "INTERIOR=LEATHER" 및 "COLOR=RED"를 포함할 수 있고, 이차적 데이터 아이템 정보는 "ENGINE=8 CYLINDER" 및 "PRICE=$20K"를 포함할 수 있다. 동작(710)에서, 핸들러 모듈은 클라이언트 머신(102)에 인터페이스를 통신할 수 있다.
동작(712)에서, 클라이언트 머신(102)은 적어도 일차적 데이터 정보를 포함하고 이차적 데이터 아이템 정보는 포함하지 않은 사용자 인터페이스를 디스플레이할 수 있다.
도 14a는 일 실시예에 따라, 선호되는 데이터 아이템 정보(656)에 기반하여 생성되는 리스팅 페이지의 사용자 인터페이스(750)를 보여주는 블록도이다. 특정한 데이터 아이템(152)을 보기 위한 요청에 응답하여 리스팅 페이지는 서버 머신(106)에 의해 생성되어 클라이언트 머신(102)에 통신될 수 있다. 데이터 아이템(152)은 네트워크 기반 마켓플레이스 상에서의 판매를 위해 제공되고 있는 Camaro에 대한 설명이 있는 요소(154)를 포함하는 리스팅을 포함할 수 있다. 사용자 인터페이스(750)는 Camaro의 설명을 포함하는 데이터 아이템(152)의 요소(154)로부터 인출되는 일차적 데이터 아이템 정보(가령, 'LEATHER INTERIOR" 및 "COLOR")를 포함할 수 있다. 일차적 데이터 아이템 정보(752)는 즉각적으로 디스플레이된다. 반대로, 이차적 데이터 아이템 정보(754)(가령, '8 CYLINDER ENGINE" 및 "PRICE $20K")는 Camaro의 설명을 포함하는 데이터 아이템(152)의 요소(154) 내에 또한 포함될 수 있지만 그것은 즉각적으로 디스플레이되지 않는다. 이차적 정보는 사용자의 차후의 요청(가령, 페이지 다운, 스크롤 다운 등등)으로써 디스플레이될 수 있다.
도 14b는 일 실시예에 따라, 선호되는 데이터 아이템 정보(762)에 기반하여 생성되는 리스팅 페이지의 사용자 인터페이스(760)를 보여주는 블록도이다. 사용자 인터페이스(760)는 도 14a에서 사용자 인터페이스(750) 내에 예시된 것과 동일한 데이터 아이템(152)(가령, 리스팅)을 디스플레이하되, 다만, 브라우징 이력 정보(670) 및 서칭 이력 정보(672)는 동일하지 않다. 오히려, 브라우징 이력 정보(670) 및 서치 이력은 "8 CYLINDER ENGINE" 및 "PRICE "$20K"를 포함하는 상이한 일차적 데이터 아이템 정보(752)에 대한 관심을 나타내는 사용자 행위를 포함할 수 있다. 예를 들면, 사용자는 제한(210) "Camaro 8 cylinder engine price range $15,000.00 - $25,000.00"을 포함하는 서칭 이력 정보(672)와 연관될 수 있다. 또한 예를 들면, 사용자는 8 실린더 엔진(가령, ENGINE=8 CYLINDER) 및 $15,000.00 - $25,000.00의 범위 내의 가격(가령, PRICE RANGE=$15-20K, USD)을 갖는 Camaro들을 서술하는 특성들(560)을 포함하는 브라우징 이력 정보(670)와 연관될 수 있다.
다른 실시예에서, 데이터 아이템(152) 내의 요소들(154)은 선호되는 데이터 아이템 정보(656)에 기반하여 정해지는 순서로 디스플레이될 수 있다. 예를 들면, 네트워크 기반 마켓플레이스 상의 리스팅을 위한 데이터 아이템은 요소들(154) 제목, 서술, 가격, 상태, 구매 포맷(가령, 경매, 즉각적인 구매)을 포함할 수 있는데 이들은 선호되는 데이터 아이템 정보(656)의 부재 시에 언급된 순서로 디스플레이된다. 선호되는 데이터 아이템 정보(656)의 식별에 응답하여, 각각의 요소들(154)은 선호되는 데이터 아이템 정보(656)에 기반하여 일차적 데이터 아이템 정보 또는 이차적 데이터 아이템 정보로서 식별될 수 있다. 일차적 데이터 아이템 정보는 데이터 아이템(152)을 디스플레이하기 위한 요청에 응답하여 즉각적으로 디스플레이될 수 있고 이차적 데이터 아이템 정보는 차후의 요청(가령, 페이지 다운, 스크롤 다운, 스와이프 다운)에 응답하여 디스플레이된다.
용어 "인터페이스"는 사용자 인터페이스(660)를 포함하는 실시예들에서 기술되었으나, "인터페이스"는 머신 뷰 컴포넌트(machine view component)들을 포함하는 머신 인터페이스(machine interface)(가령, SGML), 오디오 뷰 컴포넌트(audio view component)들을 포함하는 오디오 인터페이스(audio interface), 키네틱 뷰 컴포넌트(kinetic view component)들을 포함하는 키네틱 인터페이스(kinetic interface), 또는 어떤 다른 인터페이스로서 또한 실체화될 수 있음이 당업자에 의해 인식될 것이다.
네트워크 기반
마켓플레이스
도 15는 일 실시예에 따라, 시스템(1010)을 또한 보여준다. 네트워킹된 시스템(networked system)(1010)은 도 1 내의 시스템(100), 도 8a 내의 시스템(500), 또는 도 11 내의 시스템(650)에 대응하여, 이에 따라, 달리 표시되지 않는 한 동일하거나 유사한 참조부호가 동일하거나 유사한 특징을 나타내는 데에 사용되었다. 네트워킹된 시스템(1010)은 네트워크 기반 마켓플레이스(1012)를 포함할 수 있다. 네트워크 기반 마켓플레이스(1012)는 네트워크(1014)(가령, 인터넷 또는 광역 네트워크(Wide Area Network: WAN))를 통하여 하나 이상의 클라이언트에, 서버측 기능성을 제공한다. 도 15는, 예를 들면, 클라이언트 머신(1020) 상에서 실행되는 웹 클라이언트(web client)(1016)(가령, 브라우저, 예컨대 워싱턴주(Washington State), 레드먼드(Redmond)의 마이크로소프트 사(Microsoft Corporation)에 의해 개발된 인터넷 익스플로러(Internet Explorer) 브라우저), 클라이언트 머신(1022) 상에서 실행되는 프로그램적 클라이언트(programmatic client)(1018), 그리고 모바일 디바이스(1011) 상에서 실행되는 모바일 웹 클라이언트(mobile web client)(1045)를 보여준다. 예를 들면, 모바일 웹 클라이언트(1045)는 온타리오(Ontario), 워털루(Waterloo)의 리서치 인 모션(Research in Motion)에 의해 제조된 블랙베리 무선 핸드 헬드 비즈니스 또는 스마트 폰(Blackberry™ wireless hand held business or smart phone)을 지원하는 데에 사용되는 하나 이상의 모바일 모듈로서 실체화될 수 있다.
애플리케이션 프로그램 인터페이스(Application Program Interface: API) 서버(1024) 및 웹 서버(1026)는 하나 이상의 애플리케이션 서버(1028)에 커플링되고, 하나 이상의 애플리케이션 서버(1028)에 각각 프로그램적 인터페이스 및 웹 인터페이스를 제공한다. 애플리케이션 서버(1028)는 하나 이상의 마켓플레이스 애플리케이션(1030) 및 결제 애플리케이션(1032)을 호스팅한다(host). 애플리케이션 서버(1028)는, 이어서, 하나 이상의 데이터베이스(1036)로의 액세스를 가능하게 하는 하나 이상의 데이터베이스 서버(1034)에 커플링되는 것으로 도시된다.
마켓플레이스 애플리케이션(1030)은 네트워크 기반 마켓플레이스(102)를 액세스하는 사용자에게 다수의 마켓플레이스 기능 및 서비스를 제공할 수 있다. 결제 애플리케이션(1032)은 마찬가지로 사용자에게 다수의 결제 서비스 및 기능을 제공할 수 있다. 결제 애플리케이션(1032)은 사용자로 하여금 계정 내에 가치를 축적하고 나서 나중에 그 축적된 가치를 마켓플레이스 애플리케이션(1030)을 통하여 이용가능하게 된 제품(가령, 상품 또는 서비스)으로 바꿀 수 있게 할 수 있다. 그 가치는 미국 달러와 같은 상업 통화(commercial currency), 또는 "포인트"와 같은 전유 통화(proprietary currency)로 축적될 수 있다. 마켓플레이스 애플리케이션(1030) 및 결제 애플리케이션(1032)이 양자 모두 네트워크 기반 마켓플레이스의 일부를 형성하는 것으로 도 15에 도시되나, 대안적인 실시예에서, 결제 애플리케이션(1032)은 네트워크 기반 마켓플레이스(1012)와 분리되고 구분되는 결제 서비스의 일부를 형성할 수 있음이 인식될 것이다.
또한, 도 15에 도시된 네트워킹된 시스템(1010)은 클라이언트-서버 아키텍처(client-server architecture)를 이용하나, 본 개시의 실시예들은 물론 그러한 아키텍처에 한정되지 않으며, 예를 들면, 분산된(distributed) 또는 피어-투-피어(peer-to-peer) 아키텍처 시스템에서 똑같이 잘 적용하게 될 수 있다. 다양한 마켓플레이스 애플리케이션(1030) 및 결제 애플리케이션(1032)은 반드시 네트워킹 능력을 갖지는 않는 독립형(standalone) 소프트웨어 프로그램으로서 또한 구현될 수 있다.
웹 클라이언트(1016) 및 모바일 웹 클라이언트(1045)는 웹 서버(1026)에 의해 지원되는 웹 인터페이스(web interface)를 통하여 다양한 마켓플레이스 애플리케이션(1030) 및 결제 애플리케이션(1032)을 액세스한다. 유사하게, 프로그램적 클라이언트(1018)는 API 서버(1024)에 의해 제공되는 프로그램적 인터페이스(programmatic interface)를 통하여 마켓플레이스 애플리케이션(1030) 및 결제 애플리케이션(1032)에 의해 제공되는 다양한 서비스 및 기능을 액세스한다. 프로그램적 클라이언트(1018)는, 예를 들면, 판매자로 하여금 네트워크 기반 마켓플레이스(1012) 상의 리스팅을 오프라인 방식으로 작성하고 관리하고, 프로그램적 클라이언트(1018)와 네트워크 기반 마켓플레이스(1012) 간의 일괄모드(batch-mode) 통신을 수행할 수 있게 하기 위한 판매자 애플리케이션(가령, 캘리포니아(California), 새너제이(San Jose)의 이베이 사(eBay Inc)에 의해 개발된 터보리스터(TurboLister) 애플리케이션)일 수 있다.
도 15는 또한 제3자 서버 머신(1041) 상에서 실행되는 제3자 애플리케이션(1043)을, API 서버(1024)에 의해 제공되는 프로그램적 인터페이스를 통하여 네트워킹된 시스템(1010)으로의 프로그램적 액세스(programmatic access)를 갖는 것으로 예시한다. 제3자 웹사이트는 클라이언트 머신(1022, 1020) 또는 모바일 디바이스(1011)로 사용자 인터페이스를 통신할 수 있다.
모바일 디바이스(1011)는 모바일 전화(mobile phone), 개인용 디지털 보조기기(Personal Digital Assistant: PDA), 휴대폰(cell phone), 또는 네트워크 기반 마켓플레이스(1012)와 통신하는 것이 가능한 임의의 다른 무선 디바이스로서 실체화될 수 있다. 예를 들면, 모바일 디바이스(1011)는 캘리포니아(California), 쿠퍼티노(Cupertino)의 애플 사(Apple, Inc)에 의해 제조된 아이폰(iPhone) 모바일 전화 또는, 앞서 언급된 바와 같은, 온타리오(Ontario), 워털루(Waterloo)의 리서치 인 모션(Research in Motion)에 의해 제조된 블랙베리(Blackberry™) 모바일 전화로서 실체화될 수 있다.
마켓플레이스
및 결제 애플리케이션
도 16은, 하나의 예시적 실시예에서, 도 15의 네트워킹된 시스템(1010)의 일부로서 제공되는 마켓플레이스 애플리케이션(1030) 및 결제 애플리케이션(1032)을 보여주는 블록도이다. 마켓플레이스 애플리케이션(1030) 및 결제 애플리케이션(1032)은, 도 15 상에 도시된 바와 같이, 서버 머신들 간의 통신을 가능하게 하기 위해 통신가능하게 커플링된(communicatively coupled) 전용 또는 공유된 서버 머신들 상에서 호스팅될 수 있다. 정보가 애플리케이션들 간에 전달될 수 있게 하기 위해 또는 애플리케이션들이 공통 데이터를 공유하고 액세스할 수 있게 하기 위해, 애플리케이션들 그 자체는 (가령, 적절한 인터페이스를 통하여) 서로 그리고 다양한 데이터 소스에 통신가능하게 커플링된다. 애플리케이션들은 나아가, 도 15에 도시된 바와 같이, 데이터베이스 서버(1034)를 통하여 하나 이상의 데이터베이스(1036)에 액세스할 수 있다. 도 15의 네트워크 기반 마켓플레이스(1012)는, 판매자가 우선 판매를 위한 상품 또는 서비스를 목록화(또는 이에 관한 정보를 발행)할 수 있고, 구매자는 그러한 상품 또는 서비스를 구매하고자 하는 욕구를 나타낼 수 있으며, 그 상품 또는 서비스에 관련된 거래를 위해 가격이 설정될 수 있는 다수의 발행, 목록화 및 가격 설정 메커니즘을 제공할 수 있다. 이를 위하여, 마켓플레이스 애플리케이션(1030)은 적어도 하나의 발행 애플리케이션(1040) 및 하나 이상의 경매 애플리케이션(1042)(경매 포맷 리스팅 및 가격 설정 메커니즘(가령, 영국식 경매, 네덜란드식 경매, 비크리식(Vickrey) 경매, 중국식 경매, 이중 경매, 역경매 등등)을 지원함)을 포함하는 것으로 도시된다. 다양한 경매 애플리케이션(1042)은 또한 그러한 경매 포맷 리스팅을 지원하여 다수의 특징, 예를 들어 판매자가 리스팅과 관련하여 최저경매가(reserve price)를 지정할 수 있는 최저경매가 특징 및 입찰자(bidder)가 자동화된 프록시 입찰(proxy bidding)을 호출할 수 있는 프록시 입찰 특징을 제공할 수 있다.
다수의 고정가(fixed-price) 애플리케이션(1044)은 고정가 리스팅 포맷(가령, 전통적인 분류된 광고 유형 리스팅 또는 카탈로그 리스팅) 및 매수 유형(buyout-type) 리스팅을 지원한다. 특히, (가령, 캘리포니아(California), 새너제이(San Jose)의 이베이 사(eBay Inc.)에 의해 개발된 Buy-It-Now(BIN) 기술을 포함하는) 매수 유형 리스팅이 경매 포맷 리스팅과 함께 제공될 수 있고 구매자로 하여금 경매를 통하여 판매를 위해 또한 제공되고 있는 상품 또는 서비스를 통상적으로 경매의 시작가보다 더 높은 고정가로 구매할 수 있게 할 수 있다.
상점 애플리케이션(들)(1046)은 판매자로 하여금 판매자에 의해 그리고 판매자를 위해 브랜드가 붙거나(branded) 그렇지 않으면 개인화된(personalized) 것일 수 있는 "가상" 상점 내의 리스팅들을 그룹화할 수 있게 할 수 있다. 그러한 가상 상점은 관련된 판매자에게 특정적이고 개인화된 홍보, 장려책 및 특징을 또한 제공할 수 있다.
평판 애플리케이션(1048)은, 네트워크 기반 마켓플레이스(1012)를 활용하여 거래하는 사용자로 하여금 평판을 확립하고 구축하며 유지할 수 있게 하는데, 이는 잠재적인 상거래 파트너들이 이용할 수 있게 되고 그들에게 발행될 수 있다. 예를 들면, 네트워크 기반 마켓플레이스(1012)가 개인 대 개인(person-to-person) 상거래를 지원하는 경우에, 사용자들은 그렇지 않다면 잠재적인 상거래 파트너들의 신용과 신뢰성이 평가될 수 있는 어떠한 이력이나 다른 참조 정보도 갖지 않을 수 있다는 점을 고려하자. 평판 애플리케이션(1048)은 사용자로 하여금 시간에 걸쳐, 예를 들면, 다른 거래 파트너에 의해 제공되는 피드백을 통해 그리고 피드백에 기반한 피드백 점수의 계산에 의해, 네트워크 기반 마켓플레이스(1012) 내에서 평판을 확립할 수 있게 한다. 예를 들면, 피드백 점수는 네트워크 기반 마켓플레이스(1012)에 의해 공개적으로 디스플레이될 수 있다. 다른 잠재적 상거래 파트너는 이후 신뢰성과 신용을 평가하는 목적으로 그러한 피드백 점수를 참조할 수 있다.
개인화 애플리케이션(1050)은 네트워크 기반 마켓플레이스(1012)의 사용자로 하여금 네트워크 기반 마켓플레이스(1012)와의 자신의 상호작용의 다양한 특성(560)을 개인화할 수 있게 한다. 예를 들면, 사용자는, 적절한 개인화 애플리케이션(1050)을 활용하여, 사용자가 당사자인 (또는 당사자이었던) 거래에 관한 정보를 볼 수 있는 개인화된 참조 페이지를 생성할 수 있다. 또한, 개인화 애플리케이션(1050)은 사용자로 하여금 네트워킹된 시스템(1010) 및 다른 당사자와의 자신의 상호작용의 리스팅 및 다른 특성(560)을 개인화할 수 있게 할 수 있다.
네트워킹된 시스템(1010)은, 예를 들면 특정 지리적 지역을 위해 맞춤화된 다수의 마켓플레이스를 지원할 수 있다. 네트워킹된 시스템(1010)의 한 버전(version)은 영국에 맞춤화될 수 있는 반면에, 네트워킹된 시스템(1010)의 다른 한 버전은 미국에 맞춤화될 수 있다. 이 버전들 중 어떤 것은 독립적인 마켓플레이스로서 동작할 수 있거나, 공통적인 기저의(underlying) 마켓플레이스의 맞춤화된(또는 국제화된) 제시일 수 있다. 네트워킹된 시스템(1010)은 따라서 사전결정된 기준(가령, 지리적 기준, 인구학적 기준 또는 마켓플레이스 기준)에 따라 네트워킹된 시스템(1010)에 의해 정보(및/또는 정보의 제시)를 맞춤화하는 다수의 국제화 애플리케이션(1052)을 포함할 수 있다. 예를 들면, 국제화 애플리케이션(1052)은, 네트워킹된 시스템(1010)에 의해 동작되고 도 15의 각 서버들(1024 및 1026) 양자 모두를 통하여 액세스가능한 다수의 지역적 웹사이트를 위한 정보의 맞춤화를 지원하는 데에 사용될 수 있다.
네트워크 기반 마켓플레이스(1012)의 내비게이션(navigation)은 하나 이상의 내비게이션 애플리케이션(1054)에 의해 가능하게 될 수 있다. 예를 들면, 네트워크 기반 마켓플레이스(1012)는 네트워크 기반 마켓플레이스(1012) 상의 아이템을 찾아 서치하기 위한 서치 정보를 수신할 수 있다. 브라우즈 애플리케이션(browse application)은 사용자로 하여금 다양한 카테고리, 카탈로그, 또는 인벤토리(inventory) 데이터 구조들(이에 따라 네트워킹된 시스템(1010) 내에서 리스팅들이 분류될 수 있음)을 훑어볼 수 있게 할 수 있다. 서치 및 브라우징 애플리케이션들을 보충하기 위해 다양한 다른 내비게이션 애플리케이션이 제공될 수 있다. 예를 들면, 내비게이션 애플리케이션(1054)은, 일 실시예에 따라, 수신 모듈(110), 처리 모듈(112), 통신 모듈(501) 및 세이브된 서치 모듈(502)을 포함할 수 있다.
리스팅들을 가능한 한 시각적으로 유익하고 매력적이게 네트워킹된 시스템(1010)을 통하여 이용가능하도록 하기 위해서, 마켓플레이스 애플리케이션(1030)은 하나 이상의 촬영 애플리케이션(imaging application)(1056)(이로써 사용자는 리스팅 내의 포함을 위해 이미지(가령, 썸네일(thumbnail) 이미지)를 업로드할 수 있음)을 포함할 수 있다. 촬영 애플리케이션(1056)은 열람된 리스팅 내에 이미지(가령, 썸네일 이미지)를 포함시키도록 또한 동작한다. 촬영 애플리케이션(1056)은 하나 이상의 홍보용 특징, 예를 들어 잠재적인 구매자들에게 제시되는 이미지 갤러리를 또한 지원할 수 있다. 예를 들면, 판매자는 이미지가 홍보되는 아이템들을 위한 이미지들의 갤러리 내에 포함되게 하기 위해 추가 요금을 지불할 수 있다.
리스팅 생성 애플리케이션(1058)은 판매자로 하여금 네트워크 기반 마켓플레이스(1012)를 통하여 거래하기를 바라는 상품이나 서비스에 관한 리스팅을 편리하게 작성할 수 있게 하는 반면, 리스팅 관리 애플리케이션(1060)은 판매자로 하여금 그러한 리스팅을 관리할 수 있게 한다. 특히, 특정한 판매자가 많은 수의 리스팅을 작성하고/하거나 발행한 경우에, 그러한 리스팅의 관리는 난제를 야기할 수 있다. 리스팅 생성 애플리케이션(1058)은 구매자가 특정 리스팅 또는 특정 유형의 리스팅을 주시하는 것을 또한 가능하게 할 수 있다. 리스팅 관리 애플리케이션(1060)은 판매자가 그러한 리스팅을 관리하는 데에 도움이 되도록 다수의 특징(가령, 자동 재목록화(auto-relisting), 인벤토리 레벨 모니터 등등)을 제공한다.
하나 이상의 리스팅 이후 관리 애플리케이션(post-listing management application)(1062)이 또한 리스팅 이후에 통상적으로 발생할 수 있는 다수의 활동에 있어 판매자를 도울 수 있다. 예를 들면, 하나 이상의 경매 애플리케이션(1042)에 의해 가능하게 된 경매의 완료 시에, 판매자는 특정한 구매자에 관한 피드백을 남기기를 바랄 수 있다. 이를 위하여, 판매자가 편리하게 여러 구매자에 관한 피드백을 평판 애플리케이션(1048)에 제공할 수 있도록, 리스팅 이후 관리 애플리케이션(1062)은 하나 이상의 평판 애플리케이션(1048)에 인터페이스를 제공할 수 있다.
분쟁 해결 애플리케이션(1064)은 거래하는 당사자들 간에 일어나는 논쟁이 해결될 수 있는 메커니즘을 제공한다. 예를 들면, 분쟁 해결 애플리케이션(1064)은 당사자들이 분쟁을 해소하려는 시도로 다수의 단계를 통해 안내되는 안내된 절차를 제공할 수 있다. 안내된 절차를 통하여 분쟁이 해소될 수 없는 경우, 분쟁은 제3자 조정자 또는 중재자에게 올려질 수 있다.
다수의 사기 방지 애플리케이션(1066)은 네트워크 기반 마켓플레이스(1012) 내의 사기의 발생을 줄이기 위한 사기 검출 및 방지 메커니즘을 구현한다.
메시징 애플리케이션(1068)은 네트워크 기반 마켓플레이스(1012)의 사용자로의 메시지의 생성 및 전달을 책임지는데, 그러한 메시지는, 예를 들면, 네트워크 기반 마켓플레이스(1012)에서의 리스팅의 상태에 관해 사용자에게 알리는 것(가령, 경매 프로세스 동안 입찰자에게 "더 고가의 입찰"(outbid) 통지를 제공하는 것 또는 사용자에게 홍보 및 판촉 정보를 제공하는 것)이다. 각 메시징 애플리케이션(1068)은 사용자에게 메시지를 전달하기 위해 다수의 메시지 전달 네트워크 및 플랫폼 중 어느 것이라도 활용할 수 있다. 예를 들면, 메시징 애플리케이션(1068)은 전자 메일(이메일), 인스턴트 메시지(Instant Message: IM), 단문 메시지 서비스(Short Message Service: SMS), 텍스트(text), 팩시밀리(facsimile), 또는 음성(가령, VoIP(Voice over IP)) 메시지를 유선(가령, 인터넷), 평이한 재래식 전화 서비스(Plain Old Telephone Service: POTS), 또는 무선(가령, 모바일(mobile), 셀룰러(cellular), 와이파이(WiFi)(가령, 802.11n, 802.11b, 802.11g 및 802.11a를 포함하는 IEEE 802.11 기술)), 마이크로파 액세스용 전세계적 상호운영성(worldwide interoperability for microwave access)(가령, WiMAX - IEEE 802.16) 네트워크를 통하여 전달할 수 있다.
판촉 애플리케이션(1070)은 판매자가 네트워크 기반 마켓플레이스(1012)를 통하여 판매를 늘릴 수 있게 하기 위해 판매자가 이용할 수 있게 되는 다양한 판촉 기능을 지원한다. 판촉 애플리케이션(1070)은 판매자에 의해 호출될 수 있고 판매자에 의해 이용되는 판촉 전략의 성공을 감독하고 추적할 수 있는 다양한 판촉 특징을 또한 동작시킨다. 추가로, 사용자는 배지(badge)를 생성하는 데에 사용되는 사회적 우수성 색인(social goodness index)을 생성하는 데에 사용될 수 있는 하나 이상의 기준을 선택하기 위해 거래 장려 애플리케이션(1072)을 활용할 수 있다. 모바일 애플리케이션(1074)은 네트워크 기반 마켓플레이스(1012)에 의해 제공되는 특징 및 서비스를 액세스하는 모바일 디바이스를 지원한다.
데이터 구조
도 17은 도 15의 데이터베이스(1036) 내에 유지될 수 있고 도 16의 마켓플레이스 애플리케이션(1030) 및 결제 애플리케이션(1032) 양자 모두에 의해 활용되고 이를 지원하는 다양한 표(1080)를 보여주는 고수준 개체-관계 도해이다. 사용자 표(user table)(1082)는 네트워크 기반 마켓플레이스(1012)의 등록된 사용자를 위한 레코드를 포함한다. 사용자는 네트워크 기반 마켓플레이스(1012) 내에서, 판매자, 구매자 또는 양자 모두로서 동작할 수 있다. 하나의 예시적 실시예에서, 구매자는 축적된 가치(가령, 상업 또는 전유 통화)를 갖고, 따라서 축적된 가치를 네트워크 기반 마켓플레이스(1012)에 의한 판매를 위해 제공되는 아이템으로 교환할 수가 있는 사용자일 수 있다.
표들(1080)은 네트워크 기반 마켓플레이스(1012)를 통하여 거래되기 위해 이용가능하거나 거래된 상품 및 서비스를 위해 아이템 레코드(가령, 리스팅)가 유지되는 아이템 표(items table)(1086)를 또한 포함한다. 판매자 및 하나 이상의 실제 또는 잠재적 구매자를 아이템 레코드(가령, 리스팅)과 연관시키기 위해, 아이템 표(1086) 내의 아이템 레코드(가령, 리스팅)는 나아가 사용자 표(1082) 내의 하나 이상의 사용자 레코드에 링크될(linked) 수 있다.
거래 표(transaction table)(1088)는 아이템 표(1086) 내에 레코드가 존재하는 아이템에 관한 각각의 거래(가령, 구매 또는 판매 거래 또는 경매)를 위한 레코드를 포함할 수 있다.
주문 표(order table)(1090)는 주문 레코드로써 실장될(populated) 수 있는데, 각각의 주문 레코드는 주문과 연관된다. 각각의 주문은, 이어서, 거래 표(1088) 내에 레코드가 존재하는 하나 이상의 거래와 연관될 수 있다.
입찰 표(bids table)(1092) 내의 입찰 레코드는 도 16의 경매 애플리케이션(1042)에 의해 지원되는 경매 포맷 리스팅과 관련하여 네트워크 기반 마켓플레이스(1012)에서 수신된 입찰에 관련될 수 있다. 피드백 테이블(1094)은, 하나의 예시적 실시예에서, 피드백 점수의 형태로 사용자에 관한 평판 정보를 구축하고 유지하기 위해, 도 1의 하나 이상의 평판 애플리케이션(1048)에 의해 활용된다. 이력 표(history table)(1096)는 사용자가 당사자이었던 거래의 이력을 유지할 수 있다. 하나 이상의 속성 표(attributes table)(1098)는 아이템 표(1086) 내에 레코드가 존재하는 아이템에 관한 속성 정보를 기록할 수 있다. 그러한 속성의 그저 단 하나의 예를 고려하면, 속성 표(1098)는 특정한 아이템과 연관된 통화 속성을 나타낼 수 있는데, 통화 속성은 판매자에 의해 지정된 바와 같은 관련 아이템을 위한 가격의 통화를 식별한다.
서치 표(search table)(1093)는 특정 유형의 리스팅을 구하고 있는 사용자(가령, 구매자)에 의해 입력된 서치 정보를 저장할 수 있다. 맞춤화 표(customization table)(1095)는 사회적 우수성을 향상시키는 거래를 장려하기 위한 맞춤화 정보를 저장할 수 있다.
포맷화 레벨 요약 정보(1097)는 사용자 인터페이스(120)를 포맷화하는 것을 가능하게 할 수 있다.
모듈, 컴포넌트 및 로직(MODULES, COMPONENTS AND LOGIC)
어떤 실시예들은 로직(logic) 또는 다수의 컴포넌트, 모듈, 또는 메커니즘을 포함하는 것으로 본 문서에 기술된다. 모듈은 소프트웨어 모듈(가령, (1) 머신 판독가능 매체(machine-readable medium) 상에 또는 (2) 송신 신호(transmission signal) 내에 실체화된 코드)이든 또는 하드웨어 구현된(hardware-implemented) 모듈이든 구성할 수 있다. 하드웨어 구현된 모듈은 어떤 동작을 수행하는 것이 가능한 유형적인 유닛(tangible unit)이며, 어떤 방식으로 구성되거나 배열될 수 있다. 예시적 실시예에서, 하나 이상의 컴퓨터 시스템(가령, 독립형, 클라이언트 또는 서버 컴퓨터 시스템), 또는 하나 이상의 프로세서는 본 문서에 기술된 바와 같은 어떤 동작을 수행하기 위해 동작하는 하드웨어 구현된 모듈로서 소프트웨어(가령, 애플리케이션 또는 애플리케이션 부분)에 의해 구성될 수 있다.
다양한 실시예에서, 하드웨어 구현된 모듈은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 하드웨어 구현된 모듈은 어떤 동작을 수행하도록 (가령, 필드 프로그램가능 게이트 어레이(Field Programmable Gate Array: FPGA) 또는 애플리케이션 특정 집적 회로(Application-Specific Integrated Circuit: ASIC)와 같은 특수 목적 프로세서(special-purpose processor)로서) 영구적으로 구성된 전용 회로망 또는 로직을 포함할 수 있다. 하드웨어 구현된 모듈은 또한 어떤 동작을 수행하도록 소프트웨어에 의해 임시적으로 구성된 (가령, 일반 목적 프로세서(general-purpose processor) 또는 다른 프로그램가능 프로세서 내에 망라된(encompassed) 것과 같은) 프로그램가능 로직 또는 회로망을 포함할 수 있다. 기계적으로, 전용이고 영구적으로 구성되는 회로망으로, 또는 임시적으로 구성되는(가령, 소프트웨어에 의해 구성되는) 회로망으로 하드웨어 구현된 모듈을 구현한다는 결정은 비용 및 시간 고려사항에 의해 추진될(driven) 수 있음이 인식될 것이다.
따라서, 용어 "하드웨어 구현된 모듈"은 본 문서에 기술된 어떤 동작을 수행하도록 그리고/또는 어떤 방식으로 동작하도록 물리적으로 구축되거나(physically constructed), 영구적으로 구성되거나(가령, 고정 배선됨(hardwired)), 임시적으로 또는 일시적으로 구성되는(가령, 프로그램됨(programmed)) 개체(entity)라고 할, 유형적 개체를 망라하는 것으로 이해되어야 한다. 하드웨어 구현된 모듈이 임시적으로 구성되는(가령, 프로그램되는) 실시예를 고려하면, 하드웨어 구현된 모듈 각각이 시간 내의 임의의 하나의 인스턴스(instance)에서 구성되거나 인스턴스화될(instantiated) 필요는 없다. 예를 들면, 소프트웨어를 사용하여 구성되는 일반 목적 프로세서를 하드웨어 구현된 모듈이 포함하는 경우, 일반 목적 프로세서는 상이한 시간에 각각 상이한 하드웨어 구현된 모듈로서 구성될 수 있다. 소프트웨어는 이에 따라, 예컨대 시간의 하나의 인스턴스에서 특정한 하드웨어 구현된 모듈을 구성하고 시간의 상이한 인스턴스에서 상이한 하드웨어 구현된 모듈을 구성하도록, 프로세서를 구성할 수 있다.
하드웨어 구현된 모듈은 다른 하드웨어 구현된 모듈에 정보를 제공하고 다른 하드웨어 구현된 모듈로부터 정보를 수신할 수 있다. 따라서, 기술된 하드웨어 구현된 모듈은 통신가능하게 커플링된 것으로 간주될 수 있다. 그러한 하드웨어 구현된 모듈 중 여럿이 동일시기에(contemporaneously) 존재하는 경우에, 통신은 (가령, 하드웨어 구현된 모듈들을 연결하는 적절한 회로 및 버스 상에서의) 신호 송신을 통해 달성될 수 있다. 여러 하드웨어 구현된 모듈이 상이한 시간에 구성되거나 인스턴스화되는 실시예에서, 그러한 하드웨어 구현된 모듈 간의 통신은, 예를 들면 여러 하드웨어 구현된 모듈이 액세스를 갖는 메모리 구조 내 정보의 저장 및 인출을 통해 달성될 수 있다. 예를 들면, 하나의 하드웨어 구현된 모듈이 동작을 수행하고 그 동작의 출력을 그것이 통신가능하게 커플링된 메모리 디바이스 내에 저장할 수 있다. 그리고 저장된 출력을 인출하고 처리하기 위해 추가의 하드웨어 구현된 모듈이 나중에 메모리 디바이스를 액세스할 수 있다. 하드웨어 구현된 모듈은 또한 입력 또는 출력 디바이스와의 통신을 개시할 수 있고, 리소스(가령, 정보의 모음(collection))에 대해 동작할 수 있다.
본 문서에 기술된 예시적 방법의 다양한 동작은, 적어도 부분적으로, 관련된 동작을 수행하도록 영구적으로 구성되거나 (가령, 소프트웨어에 의해) 임시적으로 구성되는 하나 이상의 프로세서에 의해 수행될 수 있다. 임시적으로 구성되든 또는 영구적으로 구성되든, 그러한 프로세서는 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서 구현된(processor-implemented) 모듈을 구성할 수 있다. 본 문서에서 언급되는 모듈은, 몇몇 예시적 실시예에서, 프로세서 구현된 모듈을 포함할 수 있다.
유사하게, 본 문서에 기술된 방법은 적어도 부분적으로 프로세서 구현된 것일 수 있다. 예를 들면, 방법의 동작들 중 적어도 몇몇은 하나 이상의 프로세서 또는 프로세서 구현된 모듈에 의해 수행될 수 있다. 동작들 중 어떤 것의 수행은, 단일 머신 내에 상주하는(residing) 것뿐만 아니라 다수의 머신에 걸쳐 배치되기도 하는 하나 이상의 프로세서 사이에 분산될 수 있다. 몇몇 예시적 실시예에서, 그 프로세서 또는 프로세서들은 단일 위치에(가령, 가정 환경, 사무실 환경 내 또는 서버 팜(server farm)으로서) 위치될 수 있으나, 다른 예시적 실시예에서는 프로세서가 다수의 위치에 걸쳐 분산될 수 있다.
하나 이상의 프로세서는 또한 "클라우드 컴퓨팅"(cloud computing) 환경에서 또는 "서비스로서의 소프트웨어"(Software as a Service: SaaS)로서 관련 동작의 수행을 지원하도록 동작할 수 있다. 예를 들면, 동작들 중 적어도 몇몇은 (프로세서를 포함하는 머신의 예로서) 컴퓨터의 그룹에 의해 수행될 수 있는데, 이들 동작은 네트워크(1014)(가령, 인터넷)를 통하여 그리고 하나 이상의 적절한 인터페이스(가령, 애플리케이션 프로그램 인터페이스(Application Program Interface: API))를 통하여 액세스가능한 것이다.
전자 장치 및 시스템(ELECTRONIC APPARATUS AND SYSTEM)
예시적 실시예는, 디지털 전자 회로로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그것들의 조합으로 구현될 수 있다. 예시적 실시예는 컴퓨터 프로그램 제품, 가령 정보 전달체(information carrier) 내에(예컨대, 데이터 처리 장치(가령, 프로그램가능 프로세서, 컴퓨터 또는 여러 컴퓨터)에 의한 실행을 위해 또는 그것의 동작을 제어하도록 머신 판독가능 매체 내에) 유형적으로 실체화된(tangibly embodied) 컴퓨터 프로그램을 사용하여 구현될 수 있다.
컴퓨터 프로그램은 임의의 형태의 프로그래밍 언어(컴파일되거나 해석되는 언어를 포함함)로 기록될 수 있고, 그것은 임의의 형태로(독립형 프로그램으로서 또는 모듈, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적합한 다른 유닛으로서를 포함함) 배치될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서 또는 한 장소의 여러 컴퓨터 상에서 실행되도록 배치되거나 여러 장소에 걸쳐 분산되어 통신 네트워크에 의해 상호연결될 수 있다.
예시적 실시예에서, 입력 데이터에 대해 동작하고 출력을 생성하는 것에 의해 기능을 수행하도록 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램가능 프로세서에 의해 동작이 수행될 수 있다. 방법 동작은 또한 특수 목적 로직 회로망(가령, 필드 프로그램가능 게이트 어레이(Field Programmable Gate Array: FPGA) 또는 애플리케이션 특정 집적 회로(Application Specific Integrated Circuit: ASIC))에 의해 수행될 수 있고 예시적 실시예의 장치는 특수 목적 로직 회로망(가령, 필드 프로그램가능 게이트 어레이(Field Programmable Gate Array: FPGA) 또는 애플리케이션 특정 집적 회로(Application Specific Integrated Circuit: ASIC))으로서 구현될 수 있다.
컴퓨팅 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로로부터 원격이고 통상적으로 통신 네트워크를 통해 상호작용한다. 클라이언트 및 서버의 관계는 각자의 컴퓨터 상에서 구동되고 서로에 대해 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해서 발생한다. 프로그램가능 컴퓨팅 시스템을 배치하는 실시예에서, 하드웨어 및 소프트웨어 아키텍처 양자 모두가 고려를 요한다는 점이 인식될 것이다. 특히, 어떠한 기능성을 영구적으로 구성된 하드웨어(가령, ASIC)로 구현할지, 임시적으로 구성된 하드웨어(가령, 소프트웨어 및 프로그램가능 프로세서의 조합)로 구현할지, 또는 영구적으로 구성된 하드웨어와 임시적으로 구성된 하드웨어의 조합으로 구현할지의 선택은 설계 선택(design choice)일 수 있다는 점이 인식될 것이다. 아래에서는 다양한 예시적 실시예에서 배치될 수 있는 하드웨어(가령, 머신) 및 소프트웨어 아키텍처가 진술된다.
예시적 머신 아키텍처/머신 판독가능 매체(EXAMPLE MACHINE ARCHITECTURE/MACHINE-READABLE MEDIUM)
도 18은, 머신으로 하여금 본 문서에서 논의되는 방법론 중 임의의 하나 이상을 수행하게 하기 위해 명령어가 내부에서 실행될 수 있는 머신의 블록도이다. 하나의 예시적 실시예에서, 머신은 클라이언트 머신(102, 1022, 1020, 1041) 또는 본 출원 내에서 식별된 임의의 다른 머신일 수 있다. 하나의 예시적 실시예에서, 머신은 모바일 디바이스(1011) 또는 본 출원 내에서 식별된 임의의 다른 디바이스일 수 있다. 하나의 예시적 실시예에서, 머신은 서버 머신(106, 1024, 1026, 1028, 1034) 또는 본 출원 내에서 식별된 다른 서버들 중 임의의 것일 수 있다. 대안적인 실시예에서, 머신은 독립형 디바이스로서 동작하거나, 다른 머신에 연결될(가령, 네트워킹될) 수 있다. 네트워킹된 배치에서, 머신은 서버-클라이언트 네트워크 환경 내의 서버 또는 클라이언트 머신(102)의 입장에서, 또는 피어-투-피어 (또는 분산된) 네트워크 환경 내의 피어 머신(peer machine)으로서 동작할 수 있다. 머신은 개인용 컴퓨터(Personal Computer: PC), 태블릿 PC, 셋톱 박스(Set-Top Box: STB), 개인용 디지털 보조기기(Personal Digital Assistant: PDA), 셀룰러 전화, 웹 기기(web appliance), 네트워크 라우터(router), 스위치(switch) 또는 브릿지(bridge), 또는 그 머신에 의해 취해질 행동을 지정하는 (순차적(sequential)이거나 다른 식인) 명령어를 실행하는 것이 가능한 임의의 머신일 수 있다. 또한, 오직 단일 머신이 예시되나, 용어 "머신"은 또한 본 문서에서 논의된 방법론 중 임의의 하나 이상을 수행하기 위해 개별적으로 또는 공동으로 명령어의 한 세트(또는 다수의 세트)를 실행하는 머신의 임의의 모음을 포함하도록 취해질 것이다.
예시적 컴퓨터 시스템(1100)은 프로세서(1102)(가령, 중앙 처리 유닛(Central Processing Unit: CPU), 그래픽 처리 유닛(Graphics Processing Unit: GPU) 또는 양자 모두), 주 메모리(main memory)(1104) 및 정적 메모리(static memory)(1106)를 포함하는데, 이들은 버스(1108)를 통하여 서로 통신한다. 컴퓨터 시스템(1100)은 비디오 디스플레이 유닛(video display unit)(1110)(가령, 액정 디스플레이(Liquid Crystal Display: LCD) 또는 음극선관(Cathode Ray Tube: CRT))을 더 포함할 수 있다. 컴퓨터 시스템(1100)은 또한 문자 숫자 입력 디바이스 (alphanumeric input device)(1112)(가령, 키보드), 사용자 인터페이스(User Interface: UI) 내비게이션 디바이스(1114)(가령, 마우스), 디스크 드라이브 유닛(disk drive unit)(1116), 신호 생성 디바이스(1118)(가령, 스피커) 및 네트워크 인터페이스 디바이스(1120)를 포함한다.
머신 판독가능 매체(MACHINE-READABLE MEDIUM)
드라이브 유닛(1116)은 본 문서에 기술된 방법론 또는 기능 중 임의의 하나 이상을 실체화하거나 이에 의해 활용되는 하나 이상의 세트의 명령어 및 데이터 구조(1124)(가령, 소프트웨어)가 저장되는 머신 판독가능 매체(1122)를 포함한다. 명령어(1124)는 또한 컴퓨터 시스템(1100)에 의한 이의 실행 동안 주메모리(1104) 내에 및/또는 프로세서(1102) 내에 전적으로 또는 적어도 부분적으로 상주할 수 있는데, 주메모리(1104) 및 프로세서(1102)는 또한 머신 판독가능 매체(1122)를 구성한다. 명령어는 또한 정적 메모리(1106) 내에 상주할 수 있다.
머신 판독가능 매체(1122)가 예시적 실시예에서 단일 매체인 것으로 도시되나, 용어 "머신 판독가능 매체"는 하나 이상의 명령어 또는 데이터 구조(1024)를 저장하는 단일 매체 또는 다수의 매체(가령, 중앙화된(centralized) 또는 분산된 데이터베이스 및/또는 연관된 캐시와 서버)를 포함할 수 있다. 용어 "머신 판독가능 매체"는 또한 머신에 의한 실행을 위한 명령어(1024)를 저장, 인코딩(encoding) 또는 전달하는 것이 가능하고 머신으로 하여금 본 개시의 방법론 중 임의의 하나 이상을 수행하게 하거나, 그러한 명령어(1024)에 의해 활용되거나 그러한 명령어와 연관된 데이터 구조를 저장, 인코딩 또는 전달하는 것이 가능한 임의의 유형적 매체를 포함하도록 취해질 것이다. 따라서 용어 "머신 판독가능 매체"는 솔리드 스테이트(solid-state) 메모리, 그리고 광학(optical) 및 자기(magnetic) 매체들을 포함하나 이에 한정되지는 않도록 취해질 것이다. 머신 판독가능 매체(1122)의 구체적인 예는 비휘발성(non-volatile) 메모리를 포함하는데, 이는 예로서 반도체 메모리 디바이스(가령, 소거가능한 프로그램가능 판독전용 메모리(Erasable Programmable Read-Only Memory: EPROM), 전기적으로 소거가능한 프로그램가능 판독전용 메모리(Electrically Erasable Programmable Read-Only Memory: EEPROM))와 플래시 메모리 디바이스; 내부(internal) 하드 디스크 및 탈착가능(removable) 디스크와 같은 자기 디스크; 자기-광(magneto-optical) 디스크; 그리고 CD-ROM 및 DVD-ROM 디스크를 포함한다.
송신 매체(TRANSMISSION MEDIUM)
명령어(1124)는 또한 송신 매체를 사용하여 통신 네트워크(1126) 상에서 송신되거나 수신될 수 있다. 명령어(1124)는 네트워크 인터페이스 디바이스(1120) 및 다수의 잘 알려진 전송 프로토콜(가령, HTTP) 중 임의의 것을 사용하여 송신될 수 있다. 통신 네트워크의 예는 로컬 영역 네트워크(local area network)("LAN"), 광역 네트워크(wide area network)("WAN"), 인터넷, 모바일 전화 네트워크, 평이한 재래식 전화(POTS) 네트워크 및 무선 데이터 네트워크(가령, WiFi 및 WiMax 네트워크)를 포함한다. 용어 "송신 매체"는 임의의 무형적 매체(intangible medium)(머신에 의한 실행을 위한 명령어를 저장, 인코딩 또는 전달할 수 있고, 그러한 소프트웨어의 통신을 가능하게 하는 디지털 또는 아날로그 통신 신호 또는 다른 무형적 매체를 포함함)를 포함하도록 취해질 것이다.
실시예가 특정한 예시적 실시예를 참조하여 기술되었으나, 당 개시의 더 넓은 영감 및 범주에서 벗어나지 않고서 다양한 수정 및 변경이 이들 실시예에 행해질 수 있음이 분명할 것이다. 따라서, 명세서 및 도면은 제한적인 의미보다는 예시적인 의미로 여겨져야 한다. 이 문서의 일부를 형성하는 첨부된 도면은 대상물(subject matter)이 실시될 수 있는 특정 실시예를 한정으로서가 아니라 예시로서 보여준다. 예시된 실시예는 당업자로 하여금 본 문서에 개시된 교시를 실시할 수 있게 하도록 충분히 상세하게 기술된다. 이 개시의 범주에서 벗어나지 않고서 구조적 및 논리적 대체 및 변경이 행해질 수 있도록, 다른 실시예들이 그로부터 활용되고 도출될 수 있다. 따라서, 이 상세한 설명은 한정적 의미로 취해져서는 안 되고, 다양한 실시예의 범주는 오직 부기된 청구항(그러한 청구항이 자격을 갖게 되는 균등물의 전 범위와 함께)에 의해서 정의된다.
본 문서에서 발명적 대상물의 그러한 실시예들은, 개별적으로 및/또는 집합적으로, 단지 편의를 위해서, 또한 하나보다 많이 사실상 개시된 경우 임의의 단일 발명 또는 발명적 개념에 이 출원의 범주를 자발적으로 한정하는 것을 의도하지 않고서 용어 "발명"에 의해 지칭될 수 있다. 그러므로, 특정 실시예가 본 명세서에서 예시되고 기술되었더라도, 동일한 목적을 달성하도록 산출된 임의의 배열은 보여진 특정 실시예를 대신하게 될 수 있음이 인식되어야 한다. 이 개시는 다양한 실시예의 임의의 그리고 모든 적응 또는 변형을 포섭하도록 의도된 것이다. 본 문서에서 구체적으로 기술되지 않은 다른 실시예들, 그리고 이상의 실시예들의 조합들은 위의 설명을 검토할 때 당업자에게 명백할 것이다.
당 개시의 요약서는 독자로 하여금 신속히 기술적 개시의 본질을 알아낼 수 있게 할 것이다. 그러한 이해와 함께 그것은 청구항의 범주 또는 의미를 해석하거나 한정하는 데에 사용되지 않을 것이라고 진술된다. 추가로, 전술한 상세한 설명에서, 다양한 특징이 이 개시를 간소화할 목적으로 단일한 실시예에 함께 그룹화된다(grouped)는 것을 볼 수 있다. 이 개시 방법은 주장된 실시예가 각 청구항에서 명시적으로 언급되는 것보다 더 많은 특징을 요구한다는 의도를 반영하는 것으로 해석되어서는 안 된다. 오히려, 이하의 청구항이 반영하는 바와 같이, 발명적 대상물은 단일의 개시된 실시예의 모든 특징보다 더 적은 특징 내에 있다. 그러므로 이하의 청구항은 이로써 상세한 설명에 포함되는데, 각 청구항은 별개의 실시예로서 자립해 있다.
본 문서에 기술된 실시예의 예시는 다양한 실시예의 구조의 일반적인 이해를 제공하도록 의도되고, 그것은 본 문서에 기술된 구조를 이용할 수 있는 장치 및 시스템의 모든 구성요소와 특징의 완벽한 설명으로서의 역할을 하도록 의도되지 않는다. 위의 설명을 검토할 때 당업자에게 많은 다른 실시예가 명백할 것이다. 이 개시의 범주에서 벗어나지 않고서 구조적 및 논리적 대체 및 변경이 행해질 수 있도록, 다른 실시예들이 그로부터 활용되고 도출될 수 있다. 본 문서에서 제공된 도면은 단지 표상적(representational)이며 축척에 따라 그려지지 않을 수 있다. 이의 어떤 비율은 과장될 수 있는 반면, 다른 것은 최소화될 수 있다. 따라서, 명세서 및 도면은 제한적인 의미보다는 예시적인 의미로 여겨져야 한다.
이와 같이, 서치 결과를 조정하기 위한 시스템 및 방법이 개시되었다. 본 개시는 몇 개의 예시적 실시예의 측면에서 기술되었으나, 본 개시는 기술된 실시예에 한정되지 않으며, 부기된 청구항의 범주 내의 수정 및 변화와 함께 실시될 수 있음을 당업자는 인지할 것이다. 그러므로 본 문서 내의 설명은 한정적이 아니라 예시적인 것으로 간주되어야 한다.
Claims (20)
- 하나 이상의 프로세서를 사용하여 구현되어, 클라이언트 디바이스로부터 네트워크를 통해 서치 정보(search information)를 수신하도록 구성된 수신 모듈 - 상기 서치 정보는 적어도 하나의 제한(constraint)을 포함함 - 과,
하나 이상의 프로세서를 사용하여 구현되어, 상기 서치 정보에 기반하여 제1 서치 결과를 생성하도록 구성된 처리 모듈을 포함하되, 상기 제1 서치 결과는 제1 복수의 데이터 아이템을 포함하며, 상기 처리 모듈은 상기 네트워크를 통해 제1 사용자 인터페이스를 상기 클라이언트 디바이스로 통신하도록 구성되고, 상기 제1 사용자 인터페이스는 제1 포맷화 레벨 정보(formatting level information)에 기반하여 포맷화되며, 상기 수신 모듈은 상기 클라이언트 디바이스로부터 상기 네트워크를 통해 제1 요청을 수신하도록 구성되고, 상기 제1 요청은 상기 제1 서치 결과와의 제1 상호작용에 대한 서술(description)을 포함하며, 상기 처리 모듈은 상기 제1 요청의 수신 전에 수신된 적어도 하나의 상호작용에 기반하여 제1 포맷화 레벨을 식별하도록 구성되고, 상기 처리 모듈은 상기 제1 포맷화 레벨 및 상기 제1 상호작용에 기반하여 제2 포맷화 레벨로 전이하도록 구성되고, 상기 제2 포맷화 레벨은 제2 포맷화 레벨 정보와 연관되며, 상기 처리 모듈은 상기 네트워크를 통해 제2 사용자 인터페이스를 상기 클라이언트 디바이스로 통신하도록 구성되고, 상기 제2 사용자 인터페이스는 상기 제2 포맷화 레벨 정보에 기반하여 포맷화되는
시스템.
- 제1항에 있어서,
상기 제1 상호작용은, 상기 제1 복수의 데이터 아이템 내에 포함된 추가적인 데이터 아이템을 디스플레이하기 위해 사용자 인터페이스를 스크롤 다운하는 것 및 상기 제1 복수의 데이터 아이템 내에 포함된 추가적인 데이터 아이템을 디스플레이하기 위해 상기 사용자 인터페이스를 스크롤 업하는 것을 포함하는 상호작용의 그룹으로부터 선택되는
시스템.
- 제2항에 있어서,
상기 처리 모듈은 상기 제2 포맷화 레벨에 기반하여 상기 제2 사용자 인터페이스를 포맷화하도록 구성된
시스템.
- 제1항에 있어서,
상기 제1 상호작용은, 상기 적어도 하나의 제한으로부터 키워드(keyword)를 제거하는 것 및 상기 적어도 하나의 제한으로부터 카테고리(category)를 제거하는 것을 포함하는 상호작용의 그룹으로부터 선택되는
시스템.
- 제4항에 있어서,
상기 처리 모듈은 상기 적어도 하나의 제한으로부터 상기 키워드를 제거하는 것에 기반하여 제2 서치 결과를 생성하도록 구성되고 상기 제2 사용자 인터페이스는 상기 제2 서치 결과 내에 포함된 적어도 하나의 데이터 아이템을 포함하는
시스템.
- 제1항에 있어서,
상기 제1 상호작용은, 상기 적어도 하나의 제한에 키워드를 추가하는 것 및 상기 적어도 하나의 제한으로부터 키워드를 제거하는 것을 포함하는 상호작용의 그룹으로부터 선택되는
시스템.
- 제1항에 있어서,
상기 제1 포맷화 레벨은, 사전결정된 제1 영역의 크기와, 사전결정된 상기 제1 영역 내에 디스플레이되는 데이터 아이템의 개수와, 사전결정된 단일 데이터 아이템을 위해 디스플레이할 요소의 개수를 포함하는 정의 정보(definition information)와 연관되는
시스템.
- 제1항에 있어서,
상기 제2 포맷화 레벨은, 사전결정된 제2 영역의 크기와, 사전결정된 상기 제2 영역 내에 디스플레이되는 데이터 아이템의 개수와, 사전결정된 단일 데이터 아이템을 위해 디스플레이할 요소의 개수를 포함하는 정의 정보와 연관되고, 상기 제1 포맷화 레벨과 연관된 디스플레이되는 데이터 아이템의 개수는 상기 제2 포맷화 레벨과 연관된 디스플레이되는 데이터 아이템의 개수보다 더 많으며, 상기 제1 포맷화 레벨과 연관된 단일 데이터 아이템을 위해 디스플레이할 요소의 개수는 상기 제2 포맷화 레벨과 연관된 단일 데이터 아이템을 위해 디스플레이할 요소의 개수보다 더 적은
시스템.
- 제1항에 있어서,
상기 처리 모듈은 사용자로부터 수신된 이전의 상호작용에 적어도 부분적으로 기반하여 적어도 하나의 포맷화 레벨을 건너뛰도록(skip) 구성된
시스템.
- 클라이언트 디바이스로부터 네트워크를 통해 서치 정보를 수신하는 단계 - 상기 서치 정보는 적어도 하나의 제한을 포함함 - 와,
상기 서치 정보에 기반하여 제1 서치 결과를 생성하는 단계 - 상기 제1 서치 결과는 제1 복수의 데이터 아이템을 포함함 - 와,
상기 네트워크를 통해 제1 사용자 인터페이스를 상기 클라이언트 디바이스로 통신하는 단계 - 상기 제1 사용자 인터페이스는 제1 포맷화 레벨 정보에 기반하여 포맷화됨 - 와,
상기 클라이언트 디바이스로부터 상기 네트워크를 통해 제1 요청을 수신하는 단계 - 상기 제1 요청은 상기 제1 서치 결과와의 제1 상호작용에 대한 서술을 포함함 - 와,
상기 제1 요청을 수신하기 전에 수신된 적어도 하나의 상호작용에 기반하여 제1 포맷화 레벨을 식별하는 단계와,
상기 제1 포맷화 레벨 및 상기 제1 상호작용에 기반하여 제2 포맷화 레벨로 전이하는 단계 - 상기 제2 포맷화 레벨은 제2 포맷화 레벨 정보와 연관됨 - 와,
상기 네트워크를 통해 제2 사용자 인터페이스를 상기 클라이언트 디바이스로 통신하는 단계 - 상기 제2 사용자 인터페이스는 상기 제2 포맷화 레벨 정보에 기반하여 포맷화됨 - 를 포함하는
방법.
- 제10항에 있어서,
상기 제1 상호작용은, 상기 제1 복수의 데이터 아이템 내에 포함된 추가적인 데이터 아이템을 디스플레이하기 위해 사용자 인터페이스를 스크롤 다운하는 것 및 상기 제1 복수의 데이터 아이템 내에 포함된 추가적인 데이터 아이템을 디스플레이하기 위해 상기 사용자 인터페이스를 스크롤 업하는 것을 포함하는 상호작용의 그룹으로부터 선택되는
방법.
- 제10항에 있어서,
상기 제2 포맷화 레벨에 기반하여 상기 제2 사용자 인터페이스를 포맷화하는 단계를 더 포함하는
방법.
- 제10항에 있어서,
상기 제1 상호작용은, 상기 적어도 하나의 제한으로부터 키워드를 제거하는 것 및 상기 적어도 하나의 제한으로부터 카테고리를 제거하는 것을 포함하는 상호작용의 그룹으로부터 선택되는
방법.
- 제13항에 있어서,
상기 적어도 하나의 제한으로부터 상기 키워드를 제거하는 것에 기반하여 제2 서치 결과를 생성하는 단계를 더 포함하고 상기 제2 사용자 인터페이스는 상기 제2 서치 결과 내에 포함된 적어도 하나의 데이터 아이템을 포함하는
방법.
- 제10항에 있어서,
상기 제1 상호작용은, 상기 적어도 하나의 제한에 키워드를 추가하는 것 및 상기 적어도 하나의 제한으로부터 키워드를 제거하는 것을 포함하는 상호작용의 그룹으로부터 선택되는
방법.
- 제10항에 있어서,
상기 제1 포맷화 레벨은, 사전결정된 제1 영역의 크기와, 사전결정된 상기 제1 영역 내에 디스플레이되는 데이터 아이템의 개수와, 사전결정된 단일 데이터 아이템을 위해 디스플레이할 요소의 개수를 포함하는 정의 정보와 연관되는
방법.
- 제10항에 있어서,
상기 제2 포맷화 레벨은, 사전결정된 제2 영역의 크기와, 사전결정된 상기 제2 영역 내에 디스플레이되는 데이터 아이템의 개수와, 사전결정된 단일 데이터 아이템을 위해 디스플레이할 요소의 개수를 포함하는 정의 정보와 연관되고, 상기 제1 포맷화 레벨과 연관된 디스플레이되는 데이터 아이템의 개수는 상기 제2 포맷화 레벨과 연관된 디스플레이되는 데이터 아이템의 개수보다 더 많으며, 상기 제1 포맷화 레벨과 연관된 단일 데이터 아이템을 위해 디스플레이할 요소의 개수는 상기 제2 포맷화 레벨과 연관된 단일 데이터 아이템을 위해 디스플레이할 요소의 개수보다 더 적은
방법.
- 머신(machine)에 의해 실행되는 경우, 상기 머신으로 하여금
클라이언트 디바이스로부터 네트워크를 통해 서치 정보를 수신하는 것 - 상기 서치 정보는 적어도 하나의 제한을 포함함 - 과,
상기 서치 정보에 기반하여 제1 서치 결과를 생성하는 것 - 상기 제1 서치 결과는 제1 복수의 데이터 아이템을 포함함 - 과,
상기 네트워크를 통해 제1 사용자 인터페이스를 상기 클라이언트 디바이스로 통신하는 것 - 상기 제1 사용자 인터페이스는 제1 포맷화 레벨 정보에 기반하여 포맷화됨 - 과,
상기 클라이언트 디바이스로부터 상기 네트워크를 통해 제1 요청을 수신하는 것 - 상기 제1 요청은 상기 제1 서치 결과와의 제1 상호작용에 대한 서술을 포함함 - 과,
상기 제1 요청을 수신하기 전에 수신된 적어도 하나의 상호작용에 기반하여 제1 포맷화 레벨을 식별하는 것과,
상기 제1 포맷화 레벨 및 상기 제1 상호작용에 기반하여 제2 포맷화 레벨로 전이하는 것 - 상기 제2 포맷화 레벨은 제2 포맷화 레벨 정보와 연관됨 - 과,
상기 네트워크를 통해 제2 사용자 인터페이스를 상기 클라이언트 디바이스로 통신하는 것 - 상기 제2 사용자 인터페이스는 상기 제2 포맷화 레벨 정보에 기반하여 포맷화됨 - 을 포함하는 행동을 실행하게 하는 명령어를 저장하는
머신 판독가능 매체.
- 제19항에 있어서,
상기 제2 포맷화 레벨로 전이하는 것은 사용자로부터 수신된 이전의 상호작용에 적어도 부분적으로 기반하여 적어도 하나의 포맷화 레벨을 건너뛰는 것을 포함하는
머신 판독가능 매체.
- 머신에 의해 실행되는 경우, 상기 머신으로 하여금 제10항 내지 제17항 중 어느 한 항의 방법을 수행하게 하는 명령어를 전달하는 머신 판독가능 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/095,594 | 2013-12-03 | ||
US14/095,594 US20150154251A1 (en) | 2013-12-03 | 2013-12-03 | Systems and methods to adapt search results |
PCT/US2014/068216 WO2015084877A1 (en) | 2013-12-03 | 2014-12-02 | Systems and methods to adapt search results |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160093694A true KR20160093694A (ko) | 2016-08-08 |
KR101889203B1 KR101889203B1 (ko) | 2018-08-16 |
Family
ID=53265514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167017779A KR101889203B1 (ko) | 2013-12-03 | 2014-12-02 | 서치 결과를 조정하는 시스템 및 방법 |
Country Status (7)
Country | Link |
---|---|
US (2) | US20150154251A1 (ko) |
EP (1) | EP3077929A4 (ko) |
KR (1) | KR101889203B1 (ko) |
CN (3) | CN105917331B (ko) |
AU (1) | AU2014360698B2 (ko) |
CA (1) | CA2932113A1 (ko) |
WO (1) | WO2015084877A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200019997A (ko) * | 2017-07-31 | 2020-02-25 | 이베이 인크. | 온라인 경험들에서의 이모지 이해 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150154251A1 (en) | 2013-12-03 | 2015-06-04 | Ebay Inc. | Systems and methods to adapt search results |
US10839441B2 (en) | 2014-06-09 | 2020-11-17 | Ebay Inc. | Systems and methods to seed a search |
US10210262B2 (en) | 2014-06-09 | 2019-02-19 | Ebay Inc. | Systems and methods to identify a filter set in a query comprised of keywords |
US10831842B2 (en) | 2016-05-04 | 2020-11-10 | Ebay Inc. | Database search optimizer and themed filters |
CN107872473B (zh) * | 2016-09-23 | 2021-01-19 | 阿里巴巴集团控股有限公司 | 消息处理方法、装置以及系统 |
US11561988B2 (en) * | 2016-12-30 | 2023-01-24 | Opsec Online Limited | Systems and methods for harvesting data associated with fraudulent content in a networked environment |
US11714963B2 (en) * | 2020-03-13 | 2023-08-01 | International Business Machines Corporation | Content modification using natural language processing to include features of interest to various groups |
CN111538536B (zh) * | 2020-04-03 | 2021-09-21 | 深圳市沃特沃德信息有限公司 | 格式化智能终端的方法及其智能终端、存储介质 |
US10949907B1 (en) * | 2020-06-23 | 2021-03-16 | Price Technologies Inc. | Systems and methods for deep learning model based product matching using multi modal data |
US11775599B2 (en) * | 2020-11-10 | 2023-10-03 | Shopify Inc. | System and method for displaying customized search results based on past behaviour |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080183596A1 (en) * | 2007-01-31 | 2008-07-31 | Ebay Inc. | Bid system for presentation of data items |
US7765227B1 (en) * | 2007-03-30 | 2010-07-27 | A9.Com, Inc. | Selection of search criteria order based on relevance information |
US20100318551A1 (en) * | 2009-06-15 | 2010-12-16 | Jenny Lai | Method and system for search string entry and refinement on a mobile device |
US20110093488A1 (en) * | 2009-10-15 | 2011-04-21 | Amacker Matthew W | Dynamic search suggestion and category specific completion |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1402405A2 (en) * | 2000-02-16 | 2004-03-31 | Real Consulting LLC | A system and method for automating the assembly, processing and delivery of documents |
US7668811B2 (en) * | 2000-03-22 | 2010-02-23 | Kayak Software Corporation | Updating prices of search results during a search for a travel related item |
US7080073B1 (en) * | 2000-08-18 | 2006-07-18 | Firstrain, Inc. | Method and apparatus for focused crawling |
US7299222B1 (en) | 2003-12-30 | 2007-11-20 | Aol Llc | Enhanced search results |
US20050223024A1 (en) | 2004-03-31 | 2005-10-06 | Biotrue, Inc. | User-definable hierarchy for database management |
US20060224583A1 (en) * | 2005-03-31 | 2006-10-05 | Google, Inc. | Systems and methods for analyzing a user's web history |
DE102005040612A1 (de) | 2005-08-27 | 2007-03-01 | Behr Gmbh & Co. Kg | Abgaswärmeübertrager |
US20120173373A1 (en) * | 2005-09-14 | 2012-07-05 | Adam Soroca | System for retrieving mobile communication facility user data from a plurality of providers |
US20070067305A1 (en) * | 2005-09-21 | 2007-03-22 | Stephen Ives | Display of search results on mobile device browser with background process |
US20080052623A1 (en) * | 2006-08-22 | 2008-02-28 | Michael Gutfleisch | Accessing data objects based on attribute data |
US7593928B2 (en) * | 2007-01-29 | 2009-09-22 | Aol Llc | Dynamically altering search result page layout to increase user response |
TWI334091B (en) * | 2007-03-03 | 2010-12-01 | Ind Tech Res Inst | Data file management and search method and system based on file attributes |
CN101114293A (zh) * | 2007-08-21 | 2008-01-30 | 施侃晟 | 一种根据读者关注度而变化信息显示的方法 |
US20090077056A1 (en) * | 2007-09-17 | 2009-03-19 | Yahoo! Inc. | Customization of search results |
US8412702B2 (en) * | 2008-03-12 | 2013-04-02 | Yahoo! Inc. | System, method, and/or apparatus for reordering search results |
CN101359331B (zh) * | 2008-05-04 | 2014-03-19 | 索意互动(北京)信息技术有限公司 | 对搜索结果重新排序的方法和系统 |
CN101661472B (zh) * | 2008-08-27 | 2011-12-28 | 国际商业机器公司 | 协作搜索方法及系统 |
US8452793B2 (en) * | 2008-09-30 | 2013-05-28 | Yahoo! Inc. | Query refinement based on user selections |
US7934161B1 (en) * | 2008-12-09 | 2011-04-26 | Jason Adam Denise | Electronic search interface technology |
JP5735480B2 (ja) * | 2009-03-20 | 2015-06-17 | アド−バンテージ ネットワークス,インコーポレイテッド | コンテンツを検索、選択、及び表示する方法及びシステム |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US20110320424A1 (en) * | 2010-06-29 | 2011-12-29 | Intuit Inc. | Assessing and adapting component parameters |
US9703871B1 (en) * | 2010-07-30 | 2017-07-11 | Google Inc. | Generating query refinements using query components |
US20120150657A1 (en) | 2010-12-14 | 2012-06-14 | Microsoft Corporation | Enabling Advertisers to Bid on Abstract Objects |
US20120311462A1 (en) * | 2011-05-12 | 2012-12-06 | John Devecka | System and method for an interactive mobile-optimized icon-based professional profile display and associated search, matching and social network |
WO2013016362A1 (en) | 2011-07-25 | 2013-01-31 | Google Inc. | Hotel results interface |
CN102298615A (zh) * | 2011-07-29 | 2011-12-28 | 百度在线网络技术(北京)有限公司 | 一种计算机实现的用于展示搜索结果的方法与设备 |
JP5451810B2 (ja) | 2012-04-18 | 2014-03-26 | ヤフー株式会社 | 検索情報提供装置、検索情報提供方法および検索情報提供プログラム |
US20140040715A1 (en) * | 2012-07-25 | 2014-02-06 | Oliver S. Younge | Application for synchronizing e-books with original or custom-created scores |
US10089394B2 (en) * | 2013-06-25 | 2018-10-02 | Google Llc | Personal search result identifying a physical location previously interacted with by a user |
US20150154251A1 (en) | 2013-12-03 | 2015-06-04 | Ebay Inc. | Systems and methods to adapt search results |
-
2013
- 2013-12-03 US US14/095,594 patent/US20150154251A1/en not_active Abandoned
-
2014
- 2014-12-02 CN CN201480073344.3A patent/CN105917331B/zh not_active Expired - Fee Related
- 2014-12-02 EP EP14868617.3A patent/EP3077929A4/en not_active Withdrawn
- 2014-12-02 CN CN201910897735.1A patent/CN110727843B/zh active Active
- 2014-12-02 WO PCT/US2014/068216 patent/WO2015084877A1/en active Application Filing
- 2014-12-02 CA CA2932113A patent/CA2932113A1/en active Pending
- 2014-12-02 KR KR1020167017779A patent/KR101889203B1/ko active IP Right Grant
- 2014-12-02 CN CN201910897771.8A patent/CN110737831B/zh active Active
- 2014-12-02 AU AU2014360698A patent/AU2014360698B2/en not_active Ceased
-
2020
- 2020-02-28 US US16/804,844 patent/US11455672B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080183596A1 (en) * | 2007-01-31 | 2008-07-31 | Ebay Inc. | Bid system for presentation of data items |
US7765227B1 (en) * | 2007-03-30 | 2010-07-27 | A9.Com, Inc. | Selection of search criteria order based on relevance information |
US20100318551A1 (en) * | 2009-06-15 | 2010-12-16 | Jenny Lai | Method and system for search string entry and refinement on a mobile device |
US20110093488A1 (en) * | 2009-10-15 | 2011-04-21 | Amacker Matthew W | Dynamic search suggestion and category specific completion |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200019997A (ko) * | 2017-07-31 | 2020-02-25 | 이베이 인크. | 온라인 경험들에서의 이모지 이해 |
US11636265B2 (en) | 2017-07-31 | 2023-04-25 | Ebay Inc. | Emoji understanding in online experiences |
US11928428B2 (en) | 2017-07-31 | 2024-03-12 | Ebay Inc. | Emoji understanding in online experiences |
Also Published As
Publication number | Publication date |
---|---|
US11455672B2 (en) | 2022-09-27 |
CN105917331A (zh) | 2016-08-31 |
CA2932113A1 (en) | 2015-06-11 |
AU2014360698A1 (en) | 2016-06-16 |
US20150154251A1 (en) | 2015-06-04 |
CN105917331B (zh) | 2019-10-18 |
CN110727843B (zh) | 2024-05-28 |
EP3077929A4 (en) | 2017-01-04 |
AU2014360698B2 (en) | 2017-06-15 |
US20200202407A1 (en) | 2020-06-25 |
CN110737831B (zh) | 2023-11-03 |
CN110737831A (zh) | 2020-01-31 |
EP3077929A1 (en) | 2016-10-12 |
WO2015084877A1 (en) | 2015-06-11 |
KR101889203B1 (ko) | 2018-08-16 |
CN110727843A (zh) | 2020-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101889203B1 (ko) | 서치 결과를 조정하는 시스템 및 방법 | |
JP6725549B2 (ja) | 通信セッションの状態の保存 | |
US20200183920A1 (en) | Methods and Systems to Refine Search Results | |
US11315172B2 (en) | Systems and methods for facilitating feed in a network-based marketplace | |
US8473360B2 (en) | Suggested item category systems and methods | |
US20110246330A1 (en) | System and method for searching content | |
US20090198562A1 (en) | Generating social graph using market data | |
US9406042B2 (en) | System and method for supplementing an image gallery with status indicators | |
KR20200040929A (ko) | 최적화된 항목 속성 비교 | |
US20110231291A1 (en) | Price distribution slider histogram | |
CN109076098B (zh) | 跨不同站点采用数据的方法、系统及介质 | |
US20190318388A1 (en) | Systems and methods to search with a mobile device | |
US9852233B2 (en) | Autocomplete using social activity signals | |
US20120323822A1 (en) | System and method for adaptive item pricing | |
KR102446993B1 (ko) | 멀티-탭 콘텐츠의 집계 및 비교 | |
US20140280016A1 (en) | Autocomplete-based advertisements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |