KR101622742B1 - 신디케이션에 적합한 포괄적인 온라인 랭킹 시스템 및 방법 - Google Patents

신디케이션에 적합한 포괄적인 온라인 랭킹 시스템 및 방법 Download PDF

Info

Publication number
KR101622742B1
KR101622742B1 KR1020097010152A KR20097010152A KR101622742B1 KR 101622742 B1 KR101622742 B1 KR 101622742B1 KR 1020097010152 A KR1020097010152 A KR 1020097010152A KR 20097010152 A KR20097010152 A KR 20097010152A KR 101622742 B1 KR101622742 B1 KR 101622742B1
Authority
KR
South Korea
Prior art keywords
resources
subscriber
ranking
subscriber server
signals
Prior art date
Application number
KR1020097010152A
Other languages
English (en)
Other versions
KR20090080982A (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 KR20090080982A publication Critical patent/KR20090080982A/ko
Application granted granted Critical
Publication of KR101622742B1 publication Critical patent/KR101622742B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0203Market surveys; Market polls
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • 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/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Computational Linguistics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

컴퓨터 프로그램 제품을 포함하여, 랭킹 서비스를 제공하기 위한 방법, 시스템 및 장치가 제공된다. 일 측면의 경우, 제 1 신호가 제 1 가입자로부터 수신되고, 제 2 신호가 제 2 가입자로부터 수신된다. 이 신호들은 제 1 혹은 제 2 가입자 각각에 특정한 제 1 혹은 제 2 리소스 중 각 하나, 하나 이상의 미리 정의된 파라미터에 대한 값들 및 하나 이상의 제 1 가입자 특정 파라미터에 대한 값들과 관련되는 개별적인 사용자 액션을 특성화하는 정보를 포함하고 있다. 제 1 랭킹 데이터는, 제 1 가입자에 대한 가입자 특정 파라미터가 아닌 어떤 가입자 특정 파라미터에 대한 값으로부터도 생성되지 않고, 제 1 신호로부터 생성된다. 제 2 랭킹 데이터는, 제 2 가입자에 대한 가입자 특정 파라미터가 아닌 어떤 가입자 특정 파라미터에 대한 값으로부터도 생성되지 않고, 제 2 신호로부터 생성된다.

Description

신디케이션에 적합한 포괄적인 온라인 랭킹 시스템 및 방법{GENERIC ONLINE RANKING SYSTEM AND METHOD SUITABLE FOR SYNDICATION}
본 출원은 "탐색 가능한 디렉토리에 대한 랭킹 및 추천 서버"라는 제목의 2006년 10월 18일자 미국특허출원 제60/862,003호에 대한 35 U.S.C. §119(e)의 우선권을 주장하며, 이는 그 전부가 여기에 참조로 편입되어 있다.
본 명세서는 디지털 리소스의 랭킹에 일반적으로 관련되어 있다.
컨텐츠의 "브라우즈(Browse, 탐색) 및 검색" 디렉토리는 월드와이드웹(World Wide Web) 상에서 급격히 증가하고 있다. 그 예로는 그래픽 정보 어플리케이션으로 보기 위한 3차원 모델의 디렉토리, 위젯 어플리케이션의 디렉토리 및 이미지나 영상과 같은 가시적인 컨텐츠의 디렉토리가 포함된다. 이들 디렉토리는 카테고리에 의한 브라우징이나 검색을 통해 사용자가 자신이 관심을 가지는 컨텐츠를 찾을 수 있도록 한다.
브라우즈 및 검색 디렉토리의 컨텐츠는 랭크되고, 그 랭킹 순서에 기초하여 해당 디렉토리 내에서 제시될 수 있다. 랭킹 순서대로 컨텐츠를 제시함으로써, 그 디렉토리를 열람하는 사용자는 "양호"한 컨텐츠를 먼저 볼 수 있다. 컨텐츠 프로바이더들은 자신들의 컨텐츠에 대한 잠재적인 독자를 증가시키기 위하여 "양호"한 것으로 랭크될 가능성이 더 많은 컨텐츠를 제시하려고 한다. 그러나, 다수의 브라우즈 및 검색 디렉토리는 웹 검색이나 광고용으로 구현되는 랭킹 능력과 동등한 랭킹 능력을 갖거나 랭킹을 결정하기 위한 전용의 연산 리소스를 갖는 것에 대한 비용을 정당화할 만큼 충분한 트래픽이나 사용자 활동을 가지고 있지 않다.
일반적으로, 본 명세서에서 설명하는 주제의 일 측면은, 제 1 가입자 및 제 2 가입자에 의해 사용되는 랭킹 서비스에서 구현되는 방법, 시스템 및 장치로 구체화될 수 있다. 상기 제 1 및 제 2 가입자는 별개의 데이터 처리 서비스이다. 상기 제 1 가입자는 사용자에게 제 1 리소스를 제공하고 상기 제 1 리소스에 관한 사용자 액션을 획득하고, 상기 제 2 가입자는 사용자에게 제 2 리소스를 제공하고 상기 제 2 리소스에 관한 사용자 액션을 획득한다. 제 1 신호는 상기 제 1 가입자로부터 수신되고, 제 2 신호는 상기 제 2 가입자로부터 수신된다. 상기 제 1 신호는, 상기 제 1 리소스 중 개별적인 것들에 관한 개별적인 사용자 액션을 특성화하는 정보를 포함하며, 하나 이상의 미리 정의된 파라미터에 대한 값 및 상기 제 1 가입자에게 특정된 하나 이상의 제 1 가입자 특정 파라미터에 대한 값을 포함한다. 상기 제 2 신호는, 상기 제 2 리소스 중 개별적인 것들에 관한 개별적인 사용자 액션을 특성화하는 정보를 포함하고, 하나 이상의 미리 정의된 파라미터에 대한 값 및 상기 제 2 가입자에게 특정된 하나 이상의 제 2 가입자 특정 파라미터에 대한 값을 포함한다. 상기 제 1 신호로부터 제 1 랭킹 데이터를 생성하되, 상기 제 1 가입자에 대한 가입자 특정 파라미터가 아닌 어떤 가입자 특정 파라미터에 대한 값으로부터도 상기 제 1 랭킹 데이터를 생성하지 않으며, 상기 제 2 신호로부터 제 2 랭킹 데이터를 생성하되, 상기 제 2 가입자에 대한 가입자 특정 파라미터가 아닌 어떤 가입자 특정 파라미터에 대한 값으로부터도 상기 제 2 랭킹 데이터를 생성하지 않는다. 상기 제 1 랭킹 데이터는 상기 제 1 리소스를 랭크하고, 상기 제 2 랭킹 데이터는 상기 제 2 리소스를 랭크한다. 본 측면의 다른 구현예는 대응하는 시스템, 장치 및 컴퓨터 프로그램 제품을 포함한다.
일반적으로, 본 명세서에 기술된 주제의 다른 측면은 제 1 가입자 및 제 2 가입자에 의해 사용되는 랭킹 서비스에서 구현되는 방법, 시스템 및 장치로 구체화될 수 있으며, 상기 제 1 및 제 2 가입자는 별개의 데이터 처리 서비스이다. 상기 제 1 가입자는 사용자에게 제 1 리소스를 제공하고 상기 제 1 리소스에 관한 사용자 액션을 획득하고, 상기 제 2 가입자는 사용자에게 제 2 리소스를 제공하고 상기 제 2 리소스에 관한 사용자 액션을 획득한다. 제 1 신호는 상기 제 1 가입자로부터 수신되고, 제 2 신호는 상기 제 2 가입자로부터 수신된다. 상기 제 1 신호는, 상기 제 1 리소스에 관한 사용자 액션을 특성화하는 정보를 포함하고 하나 이상의 미리 정의된 파라미터에 대한 제 1 값 및 상기 제 1 가입자에게 특정된 제 1 가입자 특정 파라미터에 대한 값을 포함한다. 상기 제 2 신호는, 상기 제 2 리소스에 관한 사용자 액션을 특성화하는 정보를 포함하고 하나 이상의 미리 정의된 파라미터에 대한 제 2 값 및 상기 제 2 가입자에게 특정된 제 2 가입자 특정 파라미터에 대한 값을 포함한다. 제 1 요청은 제 1 요청자로부터 수신되며, 제 1 요청은 제 1 사용자를 특성화하는 정보를 포함한다. 상기 제 1 요청에 응답하여, 상기 제 1 신호 및 상기 제 1 사용자를 특성화하는 정보에 기초한 랭킹 프로세스에 의하여 생성되는 제 1 랭킹 데이터를 상기 제 1 요청자에게 제공한다. 제 2 요청은 제 2 요청자로부터 수신되며, 상기 제 2 요청은 제 2 사용자를 특성화하는 정보를 포함하고 있다. 상기 제 2 요청에 응답하여, 상기 제 2 신호 및 상기 제 2 사용자를 특성화하는 정보에 기초한 랭킹 프로세스에 의하여 생성되는 제 2 랭킹 데이터를 상기 제 2 요청자에게 제공한다. 상기 랭킹 서비스는, 상기 제 1 및 제 2 가입자로부터 각각 수신된 정보 이외에 상기 제 1 또는 제 2 가입자 특정 파라미터에 관한 정보를 사용하지 않는다. 본 측면의 다른 구현예는 대응하는 시스템, 장치 및 컴퓨터 프로그램 제품을 포함한다.
일반적으로, 본 명세서에서 설명한 주제의 다른 측면은, 데이터 처리 서비스인 가입자에 의해 이용되는 랭킹 서비스에서 구현되는 방법, 시스템 및 장치에서 구체화될 수 있다. 가입자는 리소스를 사용자에게 제공하며 상기 리소스에 관한 사용자 액션을 획득한다. 본 방법은, 프로토콜에 따라, 상기 가입자와 상기 랭킹 서비스 간에, 상기 사용자 액션을 보고하는 신호와, 상기 신호에 기초하여 상기 리소스를 랭크하는 랭킹 데이터를 교환하는 단계를 포함한다. 상기 신호는 상기 가입자로부터 보내어지고, 상기 랭킹 데이터는 상기 랭킹 서비스로부터 보내어진다. 상기 프로토콜은 상기 신호에 의해 보고 가능한 사용자 액션의 유형; 상기 사용자 액션에 자격을 부여하기 위한 소정 파라미터의 하나 이상의 세트에 대한 값을 특정하기 위한 포맷을 정의하되 여기서 상기 소정 파라미터는 상기 랭킹 서비스에 대하여 선험적 중요성을 가지고; 상기 리소스나 상기 사용자 액션에 관한 하나 이상의 가입자 특정 파라미터를 특정하기 위한 포맷을 정의하되, 상기 가입자 특정 파라미터는 상기 가입자에 의해 특정되고, 상기 소정 파라미터에 추가하여 사용되며; 상기 가입자에 의해 정의된 네임스페이스를 이용하여 상기 사용자 액션이 관련되어 있는 리소스를 식별하기 위한 포맷을 정의한다. 본 측면의 다른 구현예는 대응하는 시스템, 장치 및 컴퓨터 프로그램 제품을 포함한다.
일반적으로, 본 명세서에서 설명한 주제의 다른 측면은, 데이터 처리 서비스에 의하여 복수의 사용자에게 제시되는 복수의 리소스 각각에 대하여, 상기 리소스 각각에 관한 상기 복수의 사용자에 의한 하나 이상의 액션을 보고하는 하나 이상의 신호를 수신하는 단계로서, 여기서, 보고되는 액션은 상기 리소스 각각의 표시, 상기 리소스 각각의 부가, 혹은 상기 리소스 각각의 삭제이며, 상기 보고되는 액션은 상기 리소스 각각의 하나 이상의 단기 삭제를 포함하고, 상기 리소스 각각의 단기 삭제는 상기 리소스 각각의 대응하는 부가 이후에 소정 시간 기간 이내에 발생하는 상기 리소스 각각의 삭제인 단계와, 상기 리소스 각각의 보고되는 표시의 수 및 상기 리소스 각각의 보고되는 부가의 수와 상기 리소스 각각의 단기 삭제의 수 간의 차이에 기초하여 상기 리소스 각각에 대하여 각각의 LACTR(Long-Addition Click-Through Rate)을 결정하는 단계; 상기 복수의 리소스에 대한 상기 각각의 LACTR에 기초하여 상기 복수의 리소스를 랭크하는 단계; 및 상기 복수의 리소스의 랭킹을 제공하는 단계를 포함하는 방법으로 구체화될 수 있다. 본 측면의 다른 구현예는 대응하는 시스템, 장치 및 컴퓨터 프로그램 제품을 포함한다.
본 명세서에서 설명하는 주제의 특정한 실시형태는 다음의 이점들 중 하나 이상을 실현하기 위해 구현될 수 있다. 랭킹 서비스는 복수의 가입자에게 신디케이트(Syndicate) 가능하다. 랭킹 서비스와 가입자는 미리 정의된 프로토콜을 이용하여 데이터를 교환한다. 랭킹 서비스는 웹 검색에 대한 랭킹 능력과 경쟁적이지 않은 포괄적인 서비스가 될 수 있다. 랭킹 서비스는 가입자에 의해 보고되는 사용자 액션 데이터를 이용하여 가입자의 리소스를 점수 매기고 랭크한다. 가입자의 리소스는 문맥(context)에 의해 점수화되어 랭크될 수 있다. 가입자는 가입자의 리소스의 랭킹이 생성될 문맥을 정의할 수 있다.
도 1은 랭킹 서비스 및 하나 이상의 가입자를 나타내는 블록도.
도 2는 랭킹 서버, 가입자 서버 및 클라이언트 장치의 블록도.
도 3은 리소스를 랭크하기 위한 예시적인 프로세스의 순서도.
도 4는 랭킹 서비스와 가입자 간에 데이터를 교환하는 예를 나타내는 도면.
도 5a 내지 5c는 예시적으로 개인화된 홈페이지의 예시적인 사용자 인터페이스를 나타내는 도면.
도 6은 리소스의 랭킹을 결정하기 위한 예시적인 프로세스의 순서도.
도 7은 문맥에 의해 리소스의 랭킹을 결정하기 위한 예시적인 프로세스의 순서도.
여러 도면에 있어서 동일한 참조번호와 명칭은 동일한 구성요소를 가리킨다.
도 1은 랭킹 서비스(102) 및 하나 이상의 가입자(104)를 나타내는 블록도이 다. 랭킹 서비스(102)는 설명할 바와 같이 가입자(104)에게 랭킹 서비스를 제공한다. 이 랭킹 서비스는 단일 지점에서 혹은 지리적으로 분산되어 존재할 수 있는 하나 이상의 컴퓨터로 구성된 컴퓨터 시스템 상에서 구현될 수 있다. 사용자(106)는 클라이언트 컴퓨터나 다른 클라이언트 장치를 이용하여 어떤 가입자(104)에 대해서도 액세스할 수 있다. 사용자는 컴퓨터 시스템이나 장치에서 구동하는 사람들이나 컴퓨터 프로그램일 수 있다.
랭킹 서비스에 대한 각각의 가입자(104)는 데이터 처리 서비스나 시스템이다. 데이터 처리 서비스의 예로는 개인화된 홈페이지 서비스, 쇼핑 웹사이트, 컨텐츠 공유 혹은 분배 웹사이트나 서비스, 혹은 소프트웨어 다운로드 웹사이트나 서비스가 포함되지만, 여기에 한정되는 것은 아니다. 리소스에 대한 링크를 제공하거나 혹은 사용자에게 직접 가용한 리소스를 제작함으로써, 가입자(104)는 해당 가입자에 액세스하는 사용자에게 하나 이상의 리소스를 제공한다. 리소스는, 본 명세서에서 사용되는 바와 같이, 독자성을 갖는 디지털 데이터이며, 일반적으로는 그 독자성을 이용하거나 일부 데이터 처리 동작을 통하여 저장소나 서비스로부터 추출 가능하다. 리소스는 다른 리소스를 포함할 수 있다. 리소스의 예로는 쇼핑 웹사이트 상에서 팔기 위한 실제 아이템의 데이터 표시, 소프트웨어나 데이터 파일, 이미지나 영상 혹은 오디오 클립, 위젯, 가젯 혹은 개인화된 홈페이지 서비스의 모듈이 포함되지만, 여기에 한정되는 것은 아니다. 어플리케이션에 있어서 가입자(104)는 그것의 리소스를 사용자에게 제공할 수 있다. 예컨대, 리소스는 웹 브라우저 어플리케이션에서 제공되는 웹페이지 내에서 제공될 수 있다.
사용자(106)는 가입자(104)에 액세스하여 가입자(104) 및/또는 가입자(104)에 의해 제공되는 리소스와 상호 작용할 수 있다. 예컨대, 사용자는 쇼핑 웹사이트에 액세스하여 해당 쇼핑 웹사이트가 파는 아이템의 데이터 표시를 열람하고 그 아이템에 대한 주문을 넣을 수 있다. 다른 예로는, 사용자는 개인화된 홈페이지 서비스에 액세스하여 가용 위젯, 가젯 혹은 개인 홈페이지에 부가될 수 있는 모듈을 열람하며, 그 가용한 위젯, 가젯 혹은 모듈을 그 개인 홈페이지에 얼마든지 부가할 수 있다. 일부 구현예에 있어서, 가입자의 리소스는 사용자가 브라우즈 및 검색할 수 있는 리소스의 디렉토리("탐색 가능 디렉토리")로서 사용자에게 제시된다. 탐색 가능 디렉토리의 상위 레벨은 가입자가 가용하게 만드는 리소스 전체를 포함한다. 이 리소스는 카테고리 및 하위 카테고리로 구성될 수 있으며, 이는 상위 레벨의 탐색 가능 디렉토리에서 하위 레벨로서 배치된다.
사용자(106)는 예컨대 데스크탑 컴퓨터, 노트북 컴퓨터, 타블렛 컴퓨터, 네트워크 단말기, PDA, 이동전화, 스마트폰, 음악 혹은 멀티미디어 재생 장치 등과 같은 장치나 클라이언트 컴퓨터 중 어떠한 형태로부터도 가입자(104)에게 액세스할 수 있다.
랭킹 서비스(102)는 가입자(104)에게 랭킹 서비스를 제공한다. 랭킹 서비스를 제공하는데 있어서, 이 랭킹 서비스(102)는 가입자로부터 신호를 수신하고, 가입자에 의해 제시된 리소스에 관련되는 사용자 액션을 상기 수신된 신호로부터 식별하고, 상기 식별된 사용자 액션에 기초하여 리소스에 점수를 매긴다. 리소스는 점수에 기초하여 랭크되고, 해당 랭킹은 가입자에게 혹은 선택적으로는 요청에 따라 다른 요청자(다른 데이터 처리 서비스일 수 있음)에게 제공된다. 선택적으로는, 이 랭킹 서비스는 점수도 제공한다. 랭킹 서비스(102)는 복수의 가입자에게 랭킹 서비스를 제공할 수 있다.
일부 구현예에 있어서, 랭킹 서비스(102)는 해당 신호로부터 보고된 정보를 무기한 보유하여, 랭킹 서비스(102)가 사용자 및 리소스에 관한 장기간의 사용자 액션 히스토리를 구축할 수 있도록 한다.
랭킹 서비스(102)는 전체적으로 가입자의 리소스 전부에 관하여 혹은 가입자 리소스 중 가입자가 정의한 하위 세트에 관하여, 가입자의 리소스에 대한 랭킹을 제공할 수 있다. 하위 세트는 하나 이상의 지리적 경계, 정치적 경계, 인구학적 정보, 시간, 언어, 산업 혹은 액세스 권한 중 하나 이상에 전체적으로 혹은 부분적으로 기초한 것일 수 있다. 랭킹 서비스(102)는 특정 사용자에 관한 랭킹도 선택적으로 제공할 수 있다. 예컨대, 요청자는 사용자의 사용자 액션 히스토리나 사용자 프로필을 고려한 랭킹을 요청할 수 있다.
리소스의 점수는 해당 리소스에 관한 사용자 활동의 함수인 값이다. 랭킹은 그 각각의 점수에 의해 결정된 순서를 나타내는 리소스의 순서화된 표시이다.
랭킹 서비스(102) 및 가입자(104)는 인터페이스(108 및 110)를 통해 통신한다. 인터페이스(108 및 110)를 통한 랭킹 서비스(102)와 가입자(104) 간의 통신은 하나 이상의 미리 정의된 프로토콜을 사용하여 데이터를 송신 및 수신하는 것을 포함한다. 즉, 랭킹 서비스(102)는 복수의 가입자에게 데이터를 전송하거나 그로부터 데이터를 수신하기 위하여 동일한 프로토콜을 사용하며, 각각의 가입자는 그 동일한 프로토콜을 사용하여 랭킹 서비스(102)로 데이터를 전송하거나 그로부터 데이터를 수신한다. 일부 구현예에 있어서, 상이한 계층의 가입자는 특정한 요구사항에 적합한 서로 다른 프로토콜을 제공받는다.
랭킹 서비스(102)는 가입자에 의해 제공된 데이터에 기초하여 각 가입자에 대한 리소스의 점수와 랭킹을 생성한다. 랭킹 서비스(102)는 가입자에 의해 제공된 그대로 데이터(이 데이터는 해당 프로토콜에 따라 전송된 것으로 가정함)를 받아들일 수 있으며, 가입자에 의해 제공된 것 이상의 데이터를 랭킹 목적을 위하여 획득하려고 하지 않는다. 이와 같은 이유에서, 랭킹 서비스(102)는 가입자에게는 중요성을 갖지만 랭킹 서비스에는 선험적인 중요성(A priori significance)을 갖지 않는 데이터를 가입자로부터 받아들일 수 있다. 그럼에도 불구하고, 랭킹 서비스는 그러한 데이터에 있어서의 상호 관련성을 검출하고 그 상호 관련성을 랭킹을 결정하는데 사용할 수 있다.
일부 구현예에 있어서, 랭킹 서비스(102) 및 가입자(104)의 구조는 REST(Represental State Transfer) 소프트웨어 구조적인 스타일에 따라 구현된다.
랭킹 데이터 프로토콜
랭킹 서비스 및 가입자는 랭킹 서비스와 가입자 간에 전송되는 데이터의 형태와 중요도를 특정하는 특정한 프로토콜(포괄적으로, 편의상 "랭킹 데이터 프로토콜")을 이용하여 데이터를 송수신할 수 있다. 이 프로토콜은 예컨대 WSDL(Web Services Description Language) 문서의 형태로, 예컨대 웹사이트에서의 발행과 같은 어떠한 적합한 방식으로도 공표될 수 있다. 어떤 가입자도 해당 프로토콜을 이 용할 수 있다.
랭킹 데이터 프로토콜은 또한 사용자 액션이 보고되는 방식을 특정한다. 랭킹 데이터 프로토콜은 사용자 액션을 보고하는 신호가 사용자 액션을 식별하고 그 사용자 액션이 어떤 리소스와 관련되는지를 식별하는 부분을 특정한다. 일부 구현예에서, 랭킹 데이터 프로토콜은 열람(View), 부가(Addition) 및 삭제(Deletion)의 3가지 유형 중 하나로 사용자 액션을 보고하는 것을 특정한다.
가입자는 그 가입자가 사용자에게 리소스를 제공하거나 디스플레이할 때 리소스의 열람으로서 액션을 보고할 것이다. 예시적인 개인화된 홈페이지 구현예에 있어서, 열람은 사용자에게 리소스가 디스플레이되는 어떠한 액션일 수도 있다. 리소스가 사용자에 의한 리소스의 브라우징 결과로서 혹은 사용자에 의한 검색에 응답하여 사용자에게 디스플레이됨에 따라, 디스플레이하는 액션은 열람으로서 간주될 수 있다. 온라인 상점 구현예에 있어서, 사용자에 대한 제품과 관련된 정보의 디스플레이는 리소스의 열람으로서 보고될 수 있다(이 리소스는 제품과 관련된 정보를 포함하여 해당 제품의 데이터 표시임). 마찬가지로, 소프트웨어 다운로드 웹사이트 구현예의 경우, 소프트웨어 다운로드와 관련된 정보의 디스플레이는 리소스의 열람, 즉 소프트웨어 및 관련 정보의 열람으로서 보고될 수 있다.
가입자는, 그 가입자가 사용자에 의해 리소스가 확실하게 수취되었다는 정보를 수신하였을 때, 리소스의 부가(Addition)로서 액션을 보고할 것이다. 개인화된 홈페이지 구현예의 경우, 사용자가 해당 사용자의 개인화된 홈페이지에 리소스를 추가할 때 부가 액션을 보고할 것이다. 쇼핑 웹사이트 구현예의 경우, 아이템 판매가 발생할 때 리소스, 즉 쇼핑 웹사이트가 판매하는 아이템의 부가가 보고될 것이다. 소프트웨어 다운로드 웹사이트 구현예의 경우, 사용자에 의해 클라이언트에 대한 소프트웨어 다운로드가 발생할 때 리소스, 즉 그 웹사이트로부터 다운로드할 수 있는 소프트웨어의 부가가 보고될 것이다.
사용자에 의한 리소스의 부가 이후에 리소스가 사용자에 의해 확실하게 거절된 경우에, 가입자는 액션을 리소스의 삭제로 보고할 것이다. 개인화된 홈페이지 구현예의 경우, 사용자가 이전에 홈페이지에 부가하였던 리소스를 개인화된 홈페이지로부터 삭제할 때 삭제 액션이 보고될 것이다.
일반적으로, 각각의 개별적인 가입자는 무엇이 열람, 부가 혹은 삭제인지 여부를 결정한다. 즉, 각 가입자는 어떤 액션이 열람, 부가 혹은 삭제로서 랭킹 서비스에 보고되는지에 관한 자체적인 정의를 가지고 있다.
일부 구현예에 있어서, 랭킹 데이터 프로토콜에서 보고 가능한 액션의 유형이 열람, 부가 및 삭제를 벗어난다. 리소스에 관련된 비활동(Inaction)이나 무위(Idleness)가 보고될 수도 있다. 예컨대, 리소스가 일부 시간 동안에 어떤 사용자에 의해서도 부가되지 않는다면, 리소스에 대한 이같은 사용 활동의 부재가 랭킹 서비스에 보고될 수 있다. 랭킹 서비스는 리소스를 점수 매길 때 이러한 사용 활동의 부재를 고려할 수 있다.
사용자 액션이 열람, 부가 및 삭제로서 보고되는 구현예의 경우, 리소스의 점수는 특정 리소스에 관련된 열람, 부가 및 삭제에 기초하여 연산될 수 있다. 일부 구현예의 경우, 리소스의 점수가 연산되는 방식은 미리 정해져 있다. 일부 다른 구현예의 경우, 다양한 점수화하는 함수를 이용할 수 있다. 가입자 혹은 요청자는 어떤 함수를 사용할지 특정할 수 있다. 점수화 함수가 가입자나 요청자에 의해 특정되지 않는다면, 랭킹 서비스는 디폴트 점수화 함수를 사용할 수 있다. 예컨대, 어떤 가입자는 열람에만 기초하여 리소스를 점수 매기고 랭크하고자 할 수 있는 반면에, 다른 가입자는 열람과 부가에 기초하여 그 리소스를 점수화하고 랭크하기를 원할 수 있다.
일부 구현예의 경우, 리소스에 대한 점수는 소위 "장기 부가(Long Addition)"에 기초하여 연산된다. "장기 부가"는 사용자가 리소스를 부가한 뒤 동일 사용자에 의해 해당 부가 이후 소정 시간 이상의 기간이 지나서 삭제하거나 동일 사용자에 의한 리소스의 삭제가 뒤따르지 않는 경우이다. 일부 구현예의 경우, 리소스에 대한 장기 부가의 수는 다음과 같이 연산된다.
리소스에 대한 장기 부가의 수 = 리소스에 대한 부가의 수 - 리소스에 대한 단기 삭제의 수
여기서, 단기 삭제는 사용자에 의한 리소스의 부가 이후 미리 정의된 기간 내에 사용자가 리소스를 삭제하는 경우이다. 일부 구현예의 경우, 삭제를 단기 삭제로 보게 되는 미리 정의된 기간은 리소스의 유형에 따라 달라진다. 예컨대, 영상에 대한 미리 정의된 기간은 10초일 수 있지만, 개인화된 홈페이지 서비스의 위젯이나 가젯에 대해서는 1시간일 수 있다. 일부 구현예의 경우, 어떤 삭제가 단지 삭제인지 아닌지는 가입자가 결정해서 랭킹 서비스에 보고하기 나름이다.
일부 구현예의 경우, 장기 부가는 리소스 유형에 따라 다른 방식으로 가입자 에 의해 정의될 수 있다. 예컨대, 영상의 경우 장기 부가는 영상의 총 재생시간 동안 영상의 재생을 완료하는 경우로서 정의될 수 있다.
리소스에 대한 점수는 장기 부가의 수, 리소스에 대한 장기 부가의 수에 관한 함수, 혹은 리소스에 대한 장기 부가 및 예컨대 그 리소스에 대한 열람의 수와 같은 다른 값들에 관한 함수일 수 있다. 장기 부가의 수를 사용하는 점수화 함수의 예를 도 6 내지 7을 참조하여 이하에서 설명한다. 일부 구현예에 있어서, 액션의 카운트에 대해 감쇠(Decay) 함수가 적용될 수 있다. 예컨대, 리소스에 대한 열람의 수는 시간이 지남에 따라 선형적으로 혹은 다른 방식으로 감쇠할 수 있다. 감쇠는 랭킹에 관하여 비교적 오래 전에 발생한 액션의 영향을 축소하는 효과를 가질 수 있다.
일부 구현예의 경우, 사용자 액션을 보고하는 신호는 그 보고된 신호가 발생한 시간의 지시(indication)도 포함한다. 예컨대, 가입자는 부가 및 삭제를 그 각각의 시간과 함께 보고할 수 있다. 시간은 어떤 삭제가 단기 삭제인지 여부를 결정하는데 사용될 수 있다. 일부 구현예의 경우, 신호는 어떤 삭제가 단기 삭제인지 여부를 특정해서 보고하며, 이러한 구현예에서 가입자는 삭제가 단기 삭제인지 여부를 결정하고 그와 같이 단기 삭제를 보고한다.
랭킹 데이터 프로토콜은 리소스에 대한 호칭 규정(Naming Convention)이나 네임스페이스(Namespace)를 특정할 필요가 없다. 가입자는 그 리소스에 대해 자체적인 호칭 규정 및/또는 네임스페이스를 정의할 수 있다. 가입자에 의해 정의된 호칭 규정이나 네임스페이스는 리소스에 대해 임의의 명칭을 사용할 수 있다. 가입자 에 의해 정의된 리소스 명칭은 랭킹 서비스에 대해 선험적인 중요성을 가지지 않는다. 가입자에 의해 정의되는 호칭 규정이나 네임스페이스는 필명, 코드네임 등의 사용을 포함할 수 있다. 랭킹 서비스는 리소스에 대하여 가입자에 의해 어떤 명칭이 제공되더라도 이를 리소스에 관한 사용자 액션과 연계시킨다. 랭킹 서비스가 점수나 랭킹을 요청자에게 제공하고 점수나 랭킹으로 리소스의 명칭을 포함하는 경우, 포함된 명칭은 필명, 코드네임 혹은 가입자가 제공한 어떤 명칭일 수도 있다. 필명이나 코드네임에 대응하는 리소스의 식별은 가입자나 요청자에게 맡겨진다. 선택적으로는, 프로토콜은 가입자가 리소스에 대하여 네임스페이스를 특정할 수 있는 선택적 파라미터를 포함한다.
일부 가입자의 경우, 리소스에 대한 명칭은 상대적으로 길 수 있다. 예컨대, 리소스의 URL(Uniform Resource Locator)을 리소스 명칭으로 사용할 수 있다. 리소스에 대한 URL은 다양한 파라미터를 포함할 수 있고, 그 결과 상대적으로 길게 될 수 있다. 일부 구현예의 경우, 리소스의 명칭으로서 그 리소스에 대한 전체 URL을 전송하는 것보다는, 가입자가 예컨대 리소스의 URL을 인코딩한 뒤 그 인코딩한 것의 해쉬를 생성함으로써 해당 리소스에 대해 더 짧은 명칭을 생성한다. 다른 인코딩 혹은 네임 맵핑(Name Mapping)을 이용할 수 있다. 더 짧은 인코딩된 명칭은 사용자 액션을 보고하는 신호에 사용 가능하다. 더 짧은 인코딩된 명칭은 전송 및 처리되는 데이터의 양을 감소시킴으로써 성능을 최적화하고/하거나 그 리소스에 대한 익명을 제공하는데 사용할 수 있다.
신호는 하나 이상의 파라미터 및 이들 파라미터에 대한 값을 포함할 수 있 다. 그러한 파라미터는 신호에서 보고되는 사용자 액션에 자격을 부여하여 해당 사용자 액션에 문맥을 제공하는데 사용될 수 있다. 이 문맥은 표준화된 랭킹을 생성하거나 리소스에 대한 더 나은 랭킹을 생성하기 위하여 사용 가능하다. 예컨대, 리소스가 개인화된 홈페이지에 대한 모듈이고 그 모듈이 다양한 언어로 개인화된 홈페이지에 이용 가능하게 되어 있다면, 그 모듈은 전체적인 점수/랭킹은 물론이고 다양한 언어의 각각에 대한 점수 및/또는 랭킹을 가질 수 있다. 모듈 중 어느 것에 관련된 사용자 액션을 보고하는 신호라도 그 사용자 액션이 발생한 언어 문맥을 지시하는 파라미터를 포함할 것이다.
가입자로부터의 신호는 그 신호를 전송하는 가입자의 식별자를 포함할 수 있다. 가입자는 임의의 스트링을 이용하여 신호 내에서 그 자체를 식별할 수 있다. 가입자 명칭이 유일하다는 점을 보장하기 위하여, 랭킹 서비스는 가입자 명칭에 부가적인 성질을 첨부할 수 있다. 일부 구현예의 경우, 가입자는 사용자 액션이 연계되어 있는 가입자의 일부분(Subdivision)을 식별할 수도 있다. 예컨대, 개인화된 홈페이지 및 데스크탑 검색 어플리케이션 환경에 추가하기 위한 모듈을 제공하는 모듈 서비스 가입자의 예에서, 모듈 서비스 가입자는 모듈이 개인화된 홈페이지나 데스크탑 검색 어플리케이션 환경으로부터 삭제되거나 여기에 부가되었는지 여부를 식별할 수 있다. 랭킹 서비스는 가입자의 특정한 일부분에 관하여 랭킹을 생성할 수 있다.
일부 구현예의 경우, 랭킹 서비스는 가입자가 랭킹 서비스에 데이터를 전송하기 이전에 가입자가 해당 랭킹 서비스에 등록할 것을 요구하지 않는다. 일부 다른 구현예의 경우, 가입자는 가입자를 식별하는 정보를 제공하고, 예를 들어 가입자 ID 및 선택적으로는 패스워드나 쿠키를 수신함으로써, 등록하는 것을 요구받는다. 랭킹 서비스는 등록 중에 유일한 가입자 ID의 선택을 요구함으로써 사전 등록 단계에서 가입자 ID의 유일성을 강제할 수 있다.
가입자로부터의 신호는, 보고되는 사용자 액션에 대하여, 해당 액션을 개시하거나 수행한 사용자의 식별자를 포함할 수 있다. 사용자에 대한 호칭 규정은 각각의 가입자에게 맡겨진다. 신호에 사용자 식별자를 포함시킴으로써, 신호를 수신하는 랭킹 서비스는 사용자가 열람하거나 부가한 리소스를 확인하고 이 사용자를 유사한 리소스를 열람하거나 부가한 다른 사용자와 그룹 지을 수 있다.
신호에 포함된 파라미터 및 값은 랭킹 서비스에 의해 정의되는 파라미터와 값, 그리고 해당 신호를 전송하는 가입자에 의해 정의된 파라미터와 값을 포함할 수 있다. 랭킹 서비스는 어떤 가입자라도 그 신호에 사용할 수 있는 파라미터를 정의할 수 있다. 랭킹 서비스에 의해 정의된 파라미터는 해당 서비스가 가입자에 대하여 일반적으로 중요하다고 판단하는 것들일 것이다. 랭킹 서비스에 의해 정의되는 파라미터 및 값은 랭킹 서비스에 대한 랭킹 데이터 프로토콜의 일부로서 정의될 수 있다.
일부 구현예의 경우, 랭킹 데이터 프로토콜의 일부로서 랭킹 서비스에 의해 정의되는 파라미터는 언어, 지리적 영역 및 카테고리를 포함한다. 언어 파라미터 및 대응하는 값은 리소스에 관련된 사용자 액션이 발생한 언어 문맥을 지시한다. 언어 문맥은 리소스의 언어 그 자체 혹은 리소스에 관련된 액션이 발생한 환경의 언어를 나타낼 수 있다. 예컨대, 사용자가 개인화된 홈페이지에 불어 모듈을 부가한다면, 그 액션(즉, 부가)은 언어가 불어인 문맥에서 발생한 것으로서 보고될 수 있다. 다른 예로서, 영어로 된 개인 홈페이지와 독어로 된 개인 홈페이지에 모듈이 부가될 수 있다. 영어 홈페이지에 대한 부가를 보고하는 신호는 언어 파라미터에 대해 "영어"를 특정하는 값을 포함할 수 있으며, 독어 홈페이지에 대한 부가를 보고하는 신호는 언어 파라미터에 대해 "독어"를 특정하는 값을 포함할 수 있다. 일부 구현예의 경우, 신호는 "lang=value" 포맷으로 언어 파라미터에 대한 값을 포함할 수 있으며, 여기서 이 값은 언어를 가리킨다. 언어 파라미터에 대한 값은 예컨대 언어 코드의 ISO(International Organization for Standardization) 639 세트와 같은 공지의 언어 코드를 이용하여 특정될 수 있다.
지리적 영역 혹은 장소 파라미터 역시 사용자 액션에 문맥을 제공하기 위하여 정의될 수 있다. 장소 파라미터는 사용자의 위치 혹은 액션의 위치를 나타낸다. 예컨대, 사용자 액션이 캐나다에서 발생한 것으로 결정된다면(예컨대, 왜냐하면 그 액션이 ".ca" 국가 코드 상위 레벨 도메인의 가입자에서 수행되었기 때문에), 해당 액션을 보고하는 신호는 지역에 대하여 "캐나다"를 특정하는 값 내지 장소 파라미터를 포함할 수 있다. 일부 구현예의 경우, "지리적 영역" 혹은 "장소"는 지방이나 국가이다. 지리적 영역에 대한 값 내지 장소 파라미터는 예컨대 ISO 3166 국가 코드와 같은 공지의 국가 코드를 이용하여 특정될 수 있다.
주제 카테고리 파라미터 또한 랭킹 서비스에 의해 정의될 수 있다. 주제 카테고리의 예로는 스포츠, 정치학, 기술, 생활 스타일 및 엔터테인먼트가 포함된다. 하위 카테고리 역시 카테고리 내에 정의될 수 있다.
사용자 식별자 및 가입자 식별자에 대한 파라미터 또한 랭킹 서비스에 의해 정의될 수 있다. 이러한 파라미터의 경우, 이들 파라미터에 대한 값의 밸류 스페이스(Value Space)는 개별적인 가입자에 의해 정의될 수 있다.
일부 구현예의 경우, 점수와 랭킹을 연산할 때 랭킹 서비스는 페이지의 상단 혹은 하단에 리소스를 제시할지 여부 및/또는 리소스의 복수의 페이지 내에서 첫번째 페이지나 다음 페이지에 리소스를 제시할지 여부를 고려할 수 있다. 리소스가 제시되는 위치 혹은 더욱 일반적으로는 눈에 띄는 정도를 특정하는 파라미터가 가입자에 의한 사용을 위하여 랭킹 서비스에 의해 정의될 수 있다.
가입자는 또한 하나 이상의 파라미터 및 대응하는 값을 정의할 수 있다. 가입자 정의 파라미터와 대응하는 값은 정의하는 가입자에게는 아마도 중요할 것이지만, 다른 가입자나 랭킹 서비스에 대해서는 반드시 의미를 갖는 것은 아니다. 리소스에 대한 명칭의 경우와 마찬가지로, 랭킹 서비스는 가입자 정의 파라미터에 대하여 선험적인 중요성을 기여하지 않으며, 가입자에 의해 제공되는 대로 가입자 정의 파라미터 및 값을 받아들인다. 실제로, 가입자 둘이 각각의 파라미터를 특정하기 위하여 동일한 텍스트 스트링을 사용할 수 있으며, 랭킹 서비스는 그 파라미터를 상호 비상관된 것으로 취급할 것인데, 왜냐하면 그 파라미터는 상이한 가입자들과 연계되어 있기 때문이다.
가입자 정의 파라미터의 예로는, 예컨대 소프트웨어 다운로드 사이트인 가입자에 대해서는 라이센스 유형(프리웨어, 쉐어웨어 및 기타)이거나, 쇼핑 웹사이트 인 가입자에 의해 정의되는 의류 사이즈가 포함될 수 있다.
일부 구현예의 경우, 신호는 랭킹 서비스에 의해 정의된 파라미터 전부나 가입자 정의 파라미터 전부에 대한 값을 포함할 필요가 없다. 랭킹 서비스는 어떤 문맥 파라미터 값이 특정되던지 간에 이를 신호 내에서 보고되는 액션과 연계시킨다. 액션을 보고하는 신호가 문맥 파라미터 값을 특정하지 않는다면, 해당 신호에서 보고된 액션은 문맥 파라미터 값의 디폴트 세트와 연계될 수 있다.
일부 구현예의 경우, 신호는 복수의 리소스에 대한 액션을 보고하는 집합적인 신호일 수 있다. 예컨대, 신호는 리소스 A, B, C 및 D가 동일한 사용자에 의해 열람되었다고 보고할 수 있다. 신호에서 액션이 보고되는 리소스의 수 혹은 신호에서 보고되는 액션의 수에는 상한을 정할 수 있다. 예를 들면, 신호는 소정 수의 리소스에 대해서까지 액션을 보고할 수 있다.
랭킹 데이터 프로토콜은 또한 랭킹(선택적으로는, 점수)이 요청 및 보고되는 방법을 정의한다. 일부 구현예의 경우, 랭킹이나 점수에 대한 요청은 랭킹이나 목록이 요청되는 리소스와 연계된 가입자의 식별자, 선택적으로는 언어, 카테고리와 같은 문맥 파라미터나 가입자 정의 파라미터, 그리고, 랭킹 서비스에 의해 지원된다면, 얼마나 많은 리소스를 랭킹에 포함시키고 어느 리소스를 포함시킬 것인지를 나타내는 선택적인 값들을 포함한다. 가입자의 식별자는 점수나 랭킹이 요청되는 리소스와 관련된 가입자를 식별한다. 예컨대, 만약 개인화된 홈페이지 서비스가 그 리소스에 대한 랭킹을 요청하고 있다면, 그 홈페이지 서비스는 해당 요청에서 그 자체를 식별할 것이며, 선택적으로는 홈페이지 서비스 중 하나 이상의 적절한 일부 분을 식별할 것이다. 그 요청은 하나 이상의 문맥 파라미터를 포함할 수 있으며, 그 문맥 파라미터는 어느 문맥이 요청되고 있는 랭킹인지를 나타낸다. 예컨대, 언어 문맥이 영어이고 지리적 영역 문맥은 미국임을 특정하는 요청은 영어-미국 문맥에 관한 랭킹에 대한 요청으로서 이해될 수 있다. 문맥 파라미터는 어떠한 가입자 정의 파라미터도 물론이고 예컨대 언어, 지리적 영역 및 카테고리와 같은 랭킹 서비스에 의해 정의된 파라미터를 포함할 수 있다.
일부 구현예의 경우, 요청은 얼마나 많은 리소스를 회신할 것인지 혹은 시작 오프셋(Offset) 혹은 양자를 나타낼 수 있다. 예를 들면, 요청은 11번째 상위에 랭크된 리소스로부터 시작해서 30개의 리소스가 회신될 것을 나타낼 수 있다. 이는 복수의 페이지에 걸쳐서 사용자에게 랭크된 리소스를 디스플레이하기 위해 사용될 수 있다. 예컨대, 만약 페이지당 10개의 리소스가 디스플레이될 수 있다면, 첫번째 10개의 랭크된 리소스는 첫째 페이지에서 디스플레이되도록 요청할 수 있고, 두번째 10개의 랭크된 리소스는 두번째 페이지에서 디스플레이되도록 요청할 수 있다.
랭킹 서비스는 그 랭킹 순서대로 나열된 리소스의 리스트로서 랭킹을 보고할 수 있다. 보고된 랭킹은 가입자에 의해 제공되는 바와 같은 리소스 명칭을 이용하여 리소스를 식별한다.
랭킹 데이터 프로토콜은 데이터나 메세지를 교환하기 위한 다양한 기술 중 어느 것이라도 이용하여 구현 가능한데, SOAP(Simple Object Access Protocol), XML(Extensible Markup Language), HTTP(Hypertext Transport Protocol) 및 HTTP + XML을 포함하지만 여기에 한정되지 않는다. 예를 들면, 신호는 XML이나 HTTP POST 방식을 이용하여 가입자로부터 전송될 수 있다.
일부 구현예의 경우, 데이터는 랭킹 서비스와 가입자 간에 HTTP 메세지로 전송되는 URL 혹은 URI(Uniform Resource Identifiers)로 교환된다. 즉, 신호, 랭킹 요청 및 보고된 랭킹은 모두 URL이나 URI로 구체화된 스트링이다. 예를 들면, 액션을 보고하는 신호 URL은 다음과 같을 수 있다.
http://www.rankingserver.com/idofsubscriber/roa?action=v&subs=nameofsubscriber&ojbs=aZ,t,f,g2D,31R,42,N3rD
여기서, "roa"는 "액션의 보고(Report of Action)"를 나타내고, "roa?"는 이것이 사용자 액션을 보고하는 신호라는 점을 표시한다. "action" 파라미터는 보고되고 있는 액션을 나타낸다(여기서, "v"는 열람(view)). "subs" 파라미터는 가입자의 명칭이다. "objs" 파라미터는 액션(열람, 부가, 삭제 및 기타)에 의해 영향을 받는 리소스의 목록이다. 따라서, 상기 예시적인 신호 URL은 리소스 "aZ", "t", "f", "g2D", "31R", "42" 및 "N3rD"의 열람을 보고한다.
부가를 보고하는 신호 URL은 다음과 같을 수 있다.
http://www.rankingserver.com/idofsubsriber/roa?action=a&subs=nameofsubscriber&changed=g2D&objs=aZ,t,f,g2D,31R,42,N3rD
여기서, "action" 파라미터에 대한 값 "a"는 부가가 보고되고 있음을 나타내며, "변경된" 파라미터에 대한 값 "g2D"는 부가된 리소스를 식별한다. 따라서, 이 예시적인 URL은 리소스 "g2D"의 부가 및 리소스 "aZ", "t", "f", "g2D", "31R", "42" 및 "N3rD"의 열람을 보고한다. 다른 파라미터는 적당히 URL에 포함될 수 있 다.
랭킹을 요청하는 요청 URL은 다음과 같을 수 있다.
http://www.rankingserver.com/idofsubscriber/obj?req=blogger&num=10&start=10
이 예에서, "obj?"는 이 URL이 랭킹에 대한 요청임을 나타낸다. "req" 파라미터는 요청자의 명칭이다. "num" 파라미터는 얼마나 많은 아이템을 회신할 것인지를 나타낸다. 일부 구현예의 경우, 만약 num = 0 이라면, 랭크된 리소스의 전체 결과 세트가 다운로드된다. "start" 파라미터는 랭크된 리소스의 세트에서 시작 오프셋을 나타낸다. 예컨대, num = 10 이고, start = 1에 대한 요청은 10개의 상위 랭크된 리소스(첫번째로 상위에 랭크된 것에서부터 시작해서 10개의 리소스)가 회신될 것을 요청한다. num = 10 이고, start = 11에 대한 요청은 다음 10개의 상위 랭크된 리소스(11번째 상위에 랭크된 것에서부터 시작해서 10개의 리소스)를 요청한다.
일부 구현예의 경우, 랭킹 서비스에 의해 보고된 랭크된 리소스는, 각각의 명칭 스트링 간에 선택적인 격리 문자(Separator Character)와 함께, 그 명칭의 텍스트 스트링으로서 보고되고, 그 랭킹 순서로 나열된다.
도 2는 랭킹 서버(202), 가입자 서버(210) 및 클라이언트 장치(220)의 블록도이다. 랭킹 서버(202)는 랭킹 엔진(204) 및 추천 엔진(206)을 포함한다. 랭킹 서버(202)는 또한 리소스 랭킹 데이터(208)를 포함하는데, 이는 가입자 서버(210)에 의해 전송된 신호로부터의 데이터 및 랭킹 서버(202)에 의해 생성된 랭킹 데이터를 포함한다. 해당 신호로부터의 데이터는 무기한 보관될 수도 있고(즉, 데이터가 일정한 시간 이상 묵은 경우에도 삭제되지 않음), 그렇지 않을 수도 있다. 일부 구현예의 경우, 리소스 랭킹 데이터(208)는 데이터베이스에 저장될 수 있다.
랭킹 엔진(204)은 가입자에 의해 제공되는 리소스에 대한 점수와 랭킹을 생성한다. 추천 엔진(206)은 랭킹에 대한 요청을 수신한다. 추천 엔진(206)은 요청에 응답하여 랭킹을 제공한다. 일부 구현예의 경우, 추천 엔진(206)은 특정한 사용자에 관한 정보를 고려하는 랭킹을 제공할 수 있다.
가입자 서버(210)는 리소스 서버(212), 신호 제공자(214), 랭킹 데이터 요청자(216) 및 리소스(218)를 포함한다. 리소스 서버(212)는 리소스(218)를 클라이언트 장치(220)에 공급한다. 신호 제공자(214)는 사용자 액션 데이터를 수집해서 이 사용자 액션 데이터를 랭킹 서버(202)로 전송한다. 랭킹 데이터 요청자(216)는 랭킹 서버(202)로부터 랭킹에 대한 요청을 전송한다.
랭킹 서버(202)와 가입자 서버(210)는 인터페이스(228 및 230)를 각각 포함한다. 랭킹 서버(202)와 가입자 서버(210)는 각각의 인터페이스를 통하여 데이터를 송수신한다. 일부 구현예의 경우, 인터페이스(228 및 230)는 랭킹 서버(202)와 가입자 서버(210) 간의 통신을 위한 포맷을 정의하는 프로토콜을 구성한다.
클라이언트 컴퓨터(202)는 클라이언트 어플리케이션(222) 및 사용자 액션 데이터 수집기(224)를 포함한다. 사용자는 클라이언트 어플리케이션(222)을 통해 가입자에 액세스할 수 있다. 일부 구현예의 경우, 사용자는 웹 기반의 인터페이스를 통해 가입자에게 액세스하며, 클라이언트 어플리케이션은 다른 것들 중에서도 웹 기반의 인터페이스를 렌더링하여 디스플레이하는 웹 브라우저이다. 사용자 액션 데이터 수집기(224)는 가입자에 의해 제공되는 리소스에 관한 사용자 액션을 모니터링하고, 그 사용자 액션을 특성화하는 데이터를 적당한 가입자에게 전달한다.
일부 구현예의 경우, 사용자 액션 데이터 수집기(224)는 특정 가입자에게 특정한 것일 수 있으며, 이 경우 사용자 액션 데이터 수집기(224)는 해당 가입자에 대해서만 사용자 액션 데이터를 수집한다. 일부 다른 구현예의 경우, 사용자 액션 데이터 수집기(224)는 복수의 가입자에 대한 사용자 액션 데이터를 수집할 수 있다. 일부 구현예의 경우, 사용자 액션 데이터 수집기(224)는 가입자의 웹 기반 인터페이스에 내장된 자바스크립트 모듈이다. 클라이언트 장치(220)가 웹 기반 인터페이스에 액세스할 때, 자바스크립트 모듈이 클라이언트 장치(220)로 다운로드되어서, 웹 기반 인터페이스가 클라이언트 어플리케이션(222)에 의해 렌더링될 때 활성화된다. 일부 다른 구현예에 있어서, 사용자 액션 데이터 수집기(224)는 독립형(Standalone) 어플리케이션, 독립형 어플리케이션 내의 모듈, 혹은 애드온(Add-on)이나 플러그인(Plug-in) 어플리케이션 내의 모듈일 수 있다. 예컨대, 사용자 액션 데이터 수집기(224)는 웹 브라우저 어플리케이션에 애드온되는 툴바의 모듈일 수 있다. 클라이언트 장치는 복수의 사용자 액션 데이터 수집기를 포함할 수 있다.
일부 다른 구현예에 있어서, 사용자 액션 데이터 수집기(224)는 사용자 액션 데이터를 사용자 액션 데이터베이스로 전송할 수 있다. 신호 제공자(214)는 이 사용자 액션 데이터베이스에 액세스하여, 랭킹 서버(202)에 전송하기 위한 데이터를 추출할 수 있다.
일부 구현예의 경우, 사용자 액션 데이터의 수집은 클라이언트 장치(220) 및 가입자 서버(210)에서 이루어진다. 사용자 액션은 클라이언트 장치(220)에서 모니터링되고, 사용자 액션에 관한 데이터는 클라이언트 장치(220)로부터 가입자 서버(210)로 집합용으로 전송된다. 일부 다른 구현예의 경우, 사용자 액션 데이터의 수집은 완전히 가입자 서버(210)에서 이루어진다. 가입자 서버(210)(예컨대, 신호 제공자(214))는 클라이언트 장치(220)로부터의 입력을 처리하는 정상적인 과정에서 리소스에 관한 사용자 액션과 연계되는 사용자 액션 데이터를 모니터링하고 수집할 수 있다.
하나 이상의 네트워크(226-A 혹은 226-B)는 국소(Local) 영역 네트워크, 광범위 네트워크, 유선 혹은 무선 네트워크 및 인터넷을 포함할 수 있다. 일부 구현예의 경우, 네트워크(226-A 및 226-B)는 동일하다(예컨대, 인터넷).
도 3은 리소스를 랭크하는 예시적인 프로세스의 순서도이다. 프로세스 흐름(300)이 하나의 가입자에 관한 프로세스를 다루고 있지만, 프로세스 흐름(300)은 물론 복수의 다른 가입자 각각에게도 적용 가능하다.
신호는 가입자(302)로부터 수신된다. 가입자로부터의 신호는 가입자에 의해 제공된 리소스에 관한 사용자 액션을 특성화하는 정보를 포함한다. 또한, 그 신호는 하나 이상의 미리 정의된 파라미터에 대한 값과 하나 이상의 가입자 정의 파리미터(subscriber-defined parameter)에 대한 값을 포함한다. 가입자 정의 파리미터는 해당 가입자에게 특정된 것이다. 특정 구현예에 있어서, 신호는 그 신호에서 보고되는 사용자 액션을 수행한 사용자의 식별자도 포함한다.
랭킹 서비스는 복수의 가입자로부터 신호를 수신할 수 있다. 제 1 가입자로부터 수신된 신호는 제 1 가입자에 의해 제시되는 제 1 리소스 중 개별적인 것들에 관련된 사용자 액션을 특성화하는 정보를 포함한다. 제 2 가입자로부터 수신된 신호는 제 2 가입자에 의해 제시되는 제 2 리소스 중 개별적인 것들에 관련된 사용자 액션을 특성화하는 정보를 포함한다. 제 1 가입자로부터 수신된 신호는 또한 랭킹 서비스에 의해 정의된 하나 이상의 파라미터에 대한 값과 제 1 가입자에 의해 정의되고 제 1 가입자에 특정된 하나 이상의 파라미터에 대한 값을 포함할 수 있다. 제 2 가입자로부터 수신된 신호 또한 랭킹 서비스에 의해 정의된 하나 이상의 파라미터에 대한 값과 제 2 가입자에 의해 정의되고 제 2 가입자에 특정된 하나 이상의 파라미터에 대한 값을 포함할 수 있다.
랭킹 데이터는 신호로부터 생성된다(304). 리소스를 랭크하는 랭킹 데이터는 수신된 신호, 가입자에 특정된 파라미터에 대한 신호 내의 값, 그리고 미리 정의된 파라미터에 대한 신호 내의 값으로부터 생성된다. 그러나, 가입자에 대한 랭킹 데이터는 다른 가입자에 특정된 파라미터에 대한 값에 기초하여 생성되지 않는다. 예컨대, 제 1 가입자에 의해 제공된 리소스에 대한 랭킹 데이터는 제 1 신호, 랭킹 서비스에 의해 정의된 파라미터에 대한 신호 내의 값, 그리고 제 1 가입자에 의해 정의된 파라미터에 대한 신호 내의 값으로부터 생성될 수 있지만, 다른 가입자에 의해 정의된 파라미터에 대한 값으로부터 생성되는 것은 아니다. 마찬가지로, 제 2 가입자로부터 제공된 리소스에 대한 랭킹 데이터는 제 2 신호, 랭킹 서비스에 의해 정의된 파라미터에 대한 신호 내의 값, 그리고 제 2 가입자에 의해 정의된 파라미터에 대한 신호 내의 값으로부터 생성되는 것이지, 다른 가입자에 의해 정의된 파라미터에 대한 값으로부터 생성되는 것이 아니다.
랭킹 데이터의 생성은 점수에 기초하여 리소스를 점수 매기고 랭크하는 단계를 포함한다. 도 6 내지 7을 참조하여 예시적인 랭킹 함수를 설명한다.
선택적으로는, 랭킹 서비스는 플러그인 랭킹 알고리즘을 지원하며, 이는 신디케이터(Syndicator)로 하여금 해당 신호에 기초하고 합의된 언어, 예컨대 펄 파이톤(Perl Python) 등으로 구현된 자체적인 랭킹 함수를 제공할 수 있도록 한다. 일부 구현예의 경우, 랭킹 함수는 예컨대 &rank_func=<url to the code for ranking> 과 같이 랭크된 리소스를 회신하라는 요청과 함께 선택적인 파라미터로서 제공된다. 그러한 첫번째 요청은 연산적으로 고비용일 수 있는데, 이는 기존의 리소스가 전부 다시 랭크되어야 할 수 있기 때문이다. 그러나, 동일한 랭킹 함수를 갖는 이후의 요청 시에는, 랭킹 서버가 랭킹 결과를 캐쉬할 수 있기 때문에 요구되는 연산이 훨씬 적어질 것이다. 만약 랭킹 서버가 미리 정의된 &rank_func 값이 대중적(popular)이라는 점을 검출한다면, 랭킹 서버는 이 코드를 미리 가져와서 초기의 랭킹 요청에 대한 우수한 응답을 제공하기 위하여 랭킹을 사전에 연산해 놓을 수 있다. 뿐만 아니라, 랭킹 서버는 예컨대 새로운 함수의 테스트를 가능하게 하기 위하여 캐쉬를 디스에이블(disable)할 수 있으며, 랭킹 서버는 저장 공간이 부족할 경우에 캐쉬된 랭킹을 삭제할 수 있다. 일부 구현예의 경우, 가입자는 캐쉬된 데이터를 보관하는데 요청되는 시간의 양을 특정할 수 있다.
일부 구현예의 경우, 리소스의 랭킹은 쿼리(Query) 독립형이다. 즉, 랭킹 함수는 사용자가 가입자에게 제출했을 가능성이 있는 리소스에 대한 쿼리를 고려하지 않는다. 이러한 구현예의 경우, 리소스는 그것의 사용자 액션 활동에 기초하여 랭크되며, 쿼리에 대한 리소스의 관련성은 중요하지 않다. 일부 다른 구현예에 있어서, 리소스의 랭킹은 쿼리 의존형(query-dependent)이다. 즉, 랭킹 함수는 사용자가 제시하는 리소스에 대한 쿼리를 고려한다. 어떤 리소스가 랭크될 것인지에 관한 쿼리는 예컨대 부수적인 파라미터로서 가입자에 의해 랭킹 서비스에 제공된다. 이러한 구현예의 경우, 리소스는 쿼리와 사용자 액션 활동에 대한 관련성의 조합이나 쿼리에 대한 관련성의 어떤 측정값에 기초하여 랭크된다. 예컨대, 쿼리를 만족하는 리소스는 쿼리를 만족하지 않는 리소스보다 상위에 랭크되며, 그 외 모든 것들은 같다. 일부 구현예의 경우, 가입자는 그것이 쿼리 독립형 혹은 쿼리 의존형 랭킹을 원하는지 여부를 특정할 수 있다. 만약 가입자가 자체적인 랭킹 함수를 특정한다면, 쿼리 독립형 혹은 쿼리 의존형 랭킹 함수를 특정할 수 있다.
도 4는 랭킹 서비스와 가입자 간 데이터의 교환을 나타내는 도면이다. 데이터 교환(400)은 가입자와 랭킹 서비스 간의 데이터 통신을 설명하고 있다.
가입자는 가입자에 의해 제시되는 리소스에 관한 사용자 액션을 수신한다(402). 가입자는 랭킹 서비스에 사용자 액션을 보고한다(404). 사용자 액션은 상술한 신호에서 보고될 수 있다. 일부 구현예의 경우, 신호는 가입자에 의해 랭킹 서비스로 주기적으로 전송될 수 있다. 일부 다른 구현예의 경우, 신호는 사용자 액션이 가입자에 의해 수신될 때 혹은 다른 레이트(rate)로 전송될 수 있다.
랭킹 서비스는 액션에 기초하여 해당 가입자에 대한 리소스의 랭킹을 생성한 다(406). 이 랭킹은 가입자에 의해 보고되는 바와 같은 액션에 기초하여 생성된다(예컨대, 가입자가 전송한 신호에서). 일부 구현예의 경우, 랭킹은 주기적으로 생성된다. 또한, 일부 다른 구현예의 경우, 랭킹은 랭킹에 대한 요청에 응답해서 생성된다. 즉, 랭킹 요청이 수신될 때, 그 요청에 응답하는 랭킹이 재생성되어 해당 요청에 응답하여 전송된 요청이 신규한 것이 되도록 한다.
가입자(혹은 다른 요청자)는 랭킹 서비스로부터 랭킹 데이터를 요청할 수 있다(408). 랭킹 서비스는 가입자나 요청자에게 랭킹 데이터를 회신한다(410).
랭킹은 그 랭킹 순서에 따른 리소스의 목록을 포함한다. 가입자가 랭킹에 포함된 리소스를 사용자에게 제공할 때, 가입자는 랭킹 순서나 다른 어떤 순서로 리소스를 디스플레이할 수 있다. 또한, 랭킹이 리소스에 대한 검색과 연계하여 가입자에 의해 요청된 경우라면, 검색 기준에 매칭하지 않는 보고된 랭킹 내 어떠한 리소스도, 가입자에 의해, 해당 검색에 응답하여 디스플레이되는 리소스로부터 생략될 수 있다.
상술한 바와 같이, 리소스에 대한 랭킹은 리소스에 대한 사용자 액션을 보고하는 신호에 기초하여 생성된다. 리소스가 보고된 액션을 가지지 않는다면, 해당 리소스에 대하여 랭킹이 생성될 수 없다. 가입자는 그 리소스 랭킹에 대한 시드 데이터(Seed Data)로서 가공된 사용자 액션을 보고하는 신호를 제공할 수 있다. 랭킹 서비스는 있는 그대로 이 시드 데이터를 받아들여서, 그 시드 데이터를 이용하여 관련 소스에 대한 초기 랭킹을 생성할 수 있다.
일부 구현예의 경우, 랭킹 서비스는 가입자에 의해 보고된 일부 사용자 액션을 신뢰성 없는 것으로 식별한다. 예컨대, 가입자는 가입자로 하여금 통계적으로 가능성이 없는 폭발적인 활동성을 보고하도록 할 수 있는 공격(Attack)의 희생인 경우가 될 수 있다. 랭킹 서비스는 이렇게 보고된 액션을 의심스러운 것으로 식별하고 그것을 랭킹에서 무시할 수 있다.
사용자가 리소스에 관련된 액션을 수행하는 경우, 사용자 액션의 히스토리는 랭킹 서비스에 축적된다. 그러한 히스토리에 기초하여, 특정한 특성이나 문맥이 사용자와 연계될 수 있다. 예컨대, 언어가 불어이고 영역이 캐나다인 경우에 사용자는 문맥과 연계된 사용자의 그룹(혹은 "추천 그룹")과 연계될 수 있다. 그 사용자는 불어-캐나다 추천 그룹의 다른 사용자들 사이에서 인기가 많은 리소스를 열람하였고/였거나 부가하였기 때문에 불어-캐나다 추천 그룹과 연계된다. 즉, 그 사용자는 불어-캐나다 문맥 내에서 인기가 많은 리소스를 열람 및/또는 부가한 것이다. 그 사용자가 가입자에 액세스하는 경우, 해당 가입자는 그 사용자를 인식하고 그 사용자가 불어-캐나다 추천 그룹과 연계되어 있음을 결정하여, 불어-캐나다 문맥에 관련된 리소스의 랭킹을 이 사용자에 대하여 요청할 수 있다.
상술한 바와 같이, 다양한 문맥에 관한 리소스의 랭킹이 생성될 수 있다. 그러한 랭킹은 모든 문맥을 고려하는 리소스에 대한 전체적인 랭킹 중 하위 랭킹이다. 그러한 문맥에 대해 충분히 신뢰성 있는 랭킹을 생성하기 위해 일부 문맥에 대한 사용자 액션 활동이 충분치 못한 경우가 있을 수 있다. 예컨대, 불어-중국 문맥에서의 사용자 액션 활동성 레벨이 불어-캐나다 혹은 불어-프랑스 문맥에서의 사용자 액션 활동성 레벨보다 훨씬 적을 수 있다. 그러한 경우, 사용자가 불어-중국 문맥 하에서 가입자에 액세스하고 있다면, 랭킹 서비스는 문맥들을 서로 "혼 합(Blend)"할 수 있다.
일부 구현예의 경우, 이러한 혼합은 결과적으로 랭킹을 생성할 때 복수의 문맥과 연계되는 신호를 집합시킴으로써 이루어진다. 예컨대, 불어-중국 문맥에 대한 랭킹이 요구된다면, 랭킹 서비스는 랭킹을 생성할 때 언어가 불어인 다른 문맥으로부터의 사용자 액션을 고려할 수 있다. 일부 다른 구현예의 경우, 랭킹 서비스는 예컨대 불어-중국 문맥에 대한 랭킹이 요청될 때 불어 문맥에 대한 랭킹을 보고하는 것과 같이 상위 레벨의(예컨대, 더 포괄적인) 문맥에 대한 랭킹을 생성해서 보고할 수 있다. 추가적인 구현예에 있어서, 랭킹 서비스는 특정 문맥을 누락할 수 있다. 예컨대, 사용자 액션이 영어-에스토니아 문맥에서 수행되었던 것으로 보고된 경우에, 랭킹 서비스는 에스토니아 영역 문맥을 누락할 수 있다.
문맥의 혼합은 문맥 조건이 충족될 때 이루어질 수 있다. 일부 구현예의 경우, 혼합 조건은 특정한 문맥에 있어서 사용자 액션 활동성의 레벨이 최소 임계값 이하인 경우이다.
또한, 일부 구현예의 경우, 혼합이 가입자들 전역에서 이루어질 수 있다. 랭킹 서비스가 일반적으로 서로 다른 가입자로부터의 리소스를 관련성이 없는 것으로 취급하기 때문에, 상호 혼합을 가능하게 하기를 원하는 가입자들은 그들의 리소스에 대해 공통의 네임스페이스를 사용하고 그들의 데이터를 다른 가입자에 대한 랭킹을 결정하는데 사용할 것을 동의하는 것으로 확인할 필요가 있다. 랭킹 데이터 프로토콜은 가입자들이 어떻게 자신들을 데이터를 공유하고 싶어하는 것으로서 식별할 수 있는지를 특정한다.
도 5a 내지 5c는 예시적인 개인 홈페이지의 예시적인 사용자 인터페이스를 나타내는 도면이다. 개인화된 홈페이지 서비스는 사용자에게 개인화된 홈페이지 공간과 개인화된 홈페이지 공간에 제시하기 위한 리소스를 제공할 수 있다. 사용자는 그 사용자의 개인화된 홈페이지에 제공될 리소스를 선택할 수 있다. 다시 말해, 사용자는 어떤 리소스가 개인화된 홈페이지로 갈 것인지에 대한 제어력을 일부 가지고 있다.
일부 구현예에 있어서, 개인화된 홈페이지에 부가될 수 있는 리소스에는 위젯, 가젯 혹은 모듈이 포함될 수 있다. 그러한 리소스는 특정한 태스크를 수행하거나 특정한 컨텐츠를 디스플레이한다. 예컨대, 모듈은 TV 스케쥴 그리드(Grid)나 달력을 디스플레이할 수 있다. 다른 예로서, 모듈은 RSS(Really Simple Syndication) 배급 컨텐츠를 디스플레이할 수 있다. 일부 구현예의 경우, 그러한 리소스는 개인화된 홈페이지에 구체화될 수 있는 자바스크립트 모듈로서 구현될 수 있다. 이러한 리소스는 웹 브라우저 어플리케이션에서 개인화된 홈페이지가 렌더링될 때 활성화된다.
개인 홈페이지(500)는 어떤 수의 리소스(도 5a에서 리소스(504 내지 508)로서 나타냄)라도 포함할 수 있다. 개인 홈페이지(500)는 링크(502) 혹은 커스터마이즈 페이지(510, Customization Page)로 이동하는 일부 다른 방식을 포함할 수 있으며, 이 경우 사용자는 개인 홈페이지에 부가하기 위한 리소스를 탐색(browse) 및/또는 검색(search)할 수 있다.
커스터마이즈 페이지(510)는 개인 홈페이지(500)로 돌아가는 링크(512)를 포함할 수 있다. 커스터마이즈 페이지(510)는 하나 이상의 가용한 리소스(516)나 이들에 관한 정보를 제시한다. 표시할 리소스의 수가 해당 페이지의 디스플레이 영역 범위를 벗어난다면, 커스터마이즈 페이지(510)는 리소스의 페이지들 사이를 이동(navigation)하기 위한 "이전" 및 "다음" 링크(514)를 포함할 수 있다. 커스터마이즈 페이지나 사용자가 탐색한 페이지에서 디스플레이되는 각각의 리소스는 사용자가 열람할 때 개인화된 홈페이지 서비스에 의하여 랭킹 서비스에 보고될 수 있다.
리소스(516)는, 랭킹 서비스에 의해 보고되는 바와 같은 각 리소스(516)의 랭킹에 적어도 부분적으로 기초하는 순서에 따라, 커스터마이즈 페이지(510)에 디스플레이될 수 있다. 일부 구현예의 경우, 리소스가 디스플레이되는 순서에 다른 고려사항들이 영향을 미칠 수 있다. 예컨대, 일부 구현예의 경우, 상위에 랭크된 리소스가 항상 먼저 디스플레이되는 경우에 발생할 수 있는 상위 랭크된 리소스를 향하는 성향의 영향을 감소시키기 위하여, 상위 30개의 리소스를 무작위 순서로 제시할 수 있다.
일부 구현예의 경우, 커스터마이즈 페이지(510)는 사용자가 특정한 기준을 만족하는 리소스를 검색하거나 가용한 리소스를 탐색할 수 있도록 해 준다. 커스터마이즈 페이지(510)는 리소스를 검색하기 위한 하나 이상의 검색 필드를 포함할 수 있으며, 혹은 검색 페이지에 대한 이동을 위하여 커스터마이즈 페이지(510) 내에 검색 페이지에 대한 링크를 포함시킬 수 있다. 검색 필드는 키워드, 저자, 날짜, 카테고리, 혹은 기타 적당한 기준이나 기준의 조합에 의한 검색을 가능하게 할 수 있다.
예시적인 시나리오로서, 개인 홈페이지(500)에 리소스 A(518)를 부가하려는 사용자를 생각해 본다. 이 사용자는 커스터마이즈 페이지(510)에서 "부가" 버튼(520)을 선택할 수 있다. 그러면, 개인 홈페이지(500)에서 리소스 A(518)는 리소스(504 내지 508)와 함께 제공된다. 개인화된 홈페이지 서비스는 리소스 A에 관련된 부가 액션으로서 랭킹 서비스에 리소스 A의 부가를 보고한다.
또한, 사용자는 개인 홈페이지(500)로부터 리소스를 삭제할 수 있다. 예컨대, 만약 사용자가 리소스 Z(508)를 삭제하려고 한다면, 이 사용자는 그 리소스 바로 위에 있는 "X"(509)를 클릭할 수 있다. 사용자가 리소스 Z(508)를 삭제한 이후에, 리소스 Z(508)는 사용자가 그것을 다시 부가할 때까지 개인 홈페이지(500)에서 더 이상 디스플레이되지 않는다. 개인화된 홈페이지 서비스는 리소스 Z에 관련된 삭제 액션으로서 랭킹 서비스에 리소스 Z의 삭제를 보고한다.
도 6은 리소스에 대한 랭킹을 결정하기 위한 예시적인 프로세스(600)의 순서도이다. 리소스는 주기적으로(예컨대, 매일 혹은 매시간) 랭크된다. 리소스는 리소스에 대한 LACTR(Long Add Click Through Rate)을 결정함으로써 랭크된다. 리소스의 LACTR은 리소스를 랭크하는데 사용되는 점수이다.
리소스에 대한 랭킹을 결정할 시간이 되면(602), 해당 리소스에 대한 액션을 보고하는 수신 신호에 따라 그 리소스 각각에 대해 LACTR을 연산한다(604). LACTR은 사용자가 이용할 수 있는 각 리소스에 대하여 연산된다(606, 608). 이 예에서, 해당 연산은 루프(604, 610)에서 수행된다.
장기 부가의 수가 리소스에 대해 연산된다(606). 상술한 바와 같이, 장기 부 가의 수는 리소스에 대한 부가의 수에서 리소스에 대한 단기 삭제의 수를 뺀 값이다.
리소스에 대하여 LACTR을 연산한다(608). 리소스에 대한 LACTR은 리소스에 대한 장기 부가의 수를 리소스가 디스플레이된 횟수로 나눈 값이다. 일부 구현예의 경우, 리소스에 대한 열람의 수가 리소스가 디스플레이된 횟수로서 사용된다.
각 리소스에 대해 LACTR을 연산한 때에 루프가 종료된다(610). 리소스는 LACTR에 의해, 즉 그들의 LACTR에 따라 리소스의 순서를 매김으로써 랭크된다(612). 리소스의 LACTR이 높을수록, 그 리소스는 더 상위에 랭크된다. 일부 구현예의 경우, 랭킹에 LACTR을 연산한 리소스 전부가 포함되는 것은 아니다. 예컨대, LACTR이 미리 정의된 임계값을 초과하거나 충족하지 않는다면, 랭킹으로부터 리소스를 생략할 수 있다.
도 7은 문맥에 의해 리소스의 랭킹을 결정하기 위한 예시적인 프로세스(700)의 순서도이다. 일부 구현예의 경우, LACTR은 리소스에 관련된 사용자 액션이 보고되는 각각의 문맥(예컨대, 언어, 지리적 영역, 카테고리 등)에 대한 리소스에 관하여 연산된다. 리소스는 그 문맥에 대한 LACTR에 따라 문맥 내에서 랭크된다.
리소스에 대한 랭킹을 결정할 때에(702), 리소스에 대하여 문맥 내의 액션이 보고되었다면, 문맥(706, 708)에 있어서 리소스에 대한 액션을 보고하는 수신 신호에 따라 하나 이상의 문맥에 대하여 각 리소스에 대한 LACTR을 연산한다. 각 리소스에 대한 LACTR(루프 708, 714)은 하나 이상의 문맥 각각에 대하여 연산되며(루프 706, 718), 리소스는 각 문맥 내에서 랭크된다.
리소스에 대하여 문맥 내 장기 부가의 수를 연산한다(710). 문맥에서 장기 부가의 수는 문맥 내 리소스에 대한 부가의 수에서 문맥 내 리소스에 대한 단기 삭제의 수를 뺀 값이다.
문맥 내에서 리소스에 대한 LACTR을 연산한다(712). 문맥 내 리소스에 대한 LACTR은 문맥 내 리소스에 대한 장기 부가의 수를 문맥 내 리소스가 디스플레이되는 횟수로 나눈 값이다. 일부 구현예의 경우, 문맥 내 리소스에 대한 열람의 수가 리소스가 디스플레이되는 횟수로서 사용된다. 문맥 내 LACTR은 문맥 내의 리소스에 대한 점수로서 기능한다.
리소스에 대한 문맥 내 LACTR을 연산하기 위한 루프는 리소스에 대한 문맥 내 LACTR을 연산할 때 종료된다(714). 리소스는 LACTR에 따라 리소스를 순서대로 나열함으로써 문맥 내에서 LACTR에 의해 문맥 내에서 랭크된다(716). 리소스의 LACTR이 높을수록, 리소스는 더 상위에 랭크된다. 일부 구현예의 경우, LACTR을 연산한 리소스 전부가 랭킹에 포함되는 것은 아니다. 예컨대, 문맥 내 LACTR이 미리 정의된 임계값을 초과하거나 충족하지 못한다면, 문맥 내에서 리소스를 랭킹으로부터 생략할 수 있다.
문맥의 루프는 하나 이상의 문맥 전부에 대한 랭킹이 결정되었을 때 종료된다(718).
본 명세서에 설명한 주제 및 기능적 동작들의 실시형태는, 본 명세서에서 설명한 구조 및 그 구조적인 등가물이나 이들의 하나 이상의 조합을 포함하여, 디지털 전자 회로나 컴퓨터 소프트웨어, 펌웨어, 혹은 하드웨어로 구현될 수 있다. 본 명세서에서 설명한 주제의 실시형태는 하나 이상의 컴퓨터 프로그램 제품, 즉 데이터 처리 장치의 동작을 제어하거나 이것에 의해 실행되기 위한 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령어의 하나 이상의 모듈로서 구현 가능하다. 유형의 프로그램 저장매체는 전파형 신호나 컴퓨터로 판독 가능한 매체일 수 있다. 전파형 신호는 인공적으로 생성된 신호, 예컨대 컴퓨터에 의한 실행을 위하여 적당한 수신기 장치로의 전송을 위한 정보를 인코딩하기 위해 생성되는 기계가 생성한 전기, 광학 혹은 전자기 신호이다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 주는 물질의 구성물 혹은 이들 중 하나 이상의 조합일 수 있다.
"데이터 처리 장치"라는 용어는 예컨대 프로그래머블 프로세서, 컴퓨터 혹은 복수의 프로세서나 컴퓨터를 포함해서 데이터를 처리하기 위한 모든 장치, 도구 및 기계를 포함한다. 장치는, 하드웨어 외에도, 요청된 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예컨대 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, OS, 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템 의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
본 명세서에서 설명하는 프로세스와 논리 흐름은 입력 데이터 상에서 동작학 출력을 생성함으로써 기능을 수행하기 위한 하나 이상의 프로그램을 실행하는 하나 이상의 프로그래머블 프로세서에 의해 수행 가능하다. 프로세스와 논리 흐름은 예컨대 FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 특수 목적의 논리 회로에 의해 수행될 수도 있으며, 장치는 이러한 것으로서 구현될 수도 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는, 예컨대 범용 혹은 특수 목적의 마이크로프로세서 양자 및 어떤 종류의 디지털 컴퓨터의 어떠한 하나 이상의 프로세서라도 포함한다. 일반적으로, 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 혹은 양자로부터 명령어와 데이터를 수신할 것이다. 컴퓨터의 핵심적인 요소는 명령어와 데이터를 저장하기 위한 하나 이상의 메모리 장치 및 명령을 수행하기 위한 프로세서이다. 또한, 컴퓨터는 일반적으로 예컨대 자기, 자기광학 디스크나 광학 디스크와 같은 데이터를 저장하기 위한 하나 이상의 대량 저장 장치로부터 데 이터를 수신하거나 그것으로 데이터를 전송하거나 혹은 그러한 동작 둘 다를 수행하기 위하여 동작 가능하도록 결합되거나 이를 포함할 것이다. 그러나, 컴퓨터는 그러한 장치를 가질 필요가 없다. 나아가 컴퓨터는, 몇 가지만 언급하자면, 예컨대 이동전화, PDA, 모바일 오디오나 영상 플레이어, 게임 콘솔, GPS 수신기와 같은 기타 장치로 구체화될 수 있다.
컴퓨터 프로그램 명령어와 데이터를 저장하기 위한 컴퓨터로 판독 가능한 매체는 예컨대 EPROM, EEPROM 및 플래시메모리 장치아 같은 반도체 메모리 장치, 예컨대 내부 하드디스크나 외장형 디스크와 같은 자기 디스크, 자기광학 디스크 및 CD-ROM과 DVD-ROM 디스크를 포함하여 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위하여, 본 명세서에서 설명한 주제의 실시형태는, 사용자에게 정보를 디스플레이하기 위하여 예컨대 CRT나 LCD 모니터와 같은 디스플레이 장치를 가지고, 사용자가 컴퓨터에 입력을 제공할 수 있는 예컨대 마우스나 트랙볼(Trackball)과 같은 지시 장치 및 키보드를 갖는 컴퓨터 상에서 구현될 수 있다. 물론 다른 종류의 장치도 사용자와의 상호 작용을 제공하기 위하여 사용 가능한데, 예컨대 사용자에게 제공되는 피드백은 가시적인 피드백, 가청 피드백 혹은 촉각형 피드백과 같은 감각적인 피드백의 어떠한 형태일 수도 있으며, 사용자로부터의 입력은 음향, 발성 혹은 촉각적 입력을 포함하는 어떠한 형태로 수신 가능하다.
본 명세서에서 설명한 주제의 실시형태는 예컨대 데이터 서버아 같은 백엔드 컴포넌트를 포함하거나, 예컨대 어플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 예컨대 사용자가 본 명세서에서 설명한 주제의 구현물과 상호 작용할 수 있는 웹 브라우저나 그래픽 유저 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트엔드 컴포넌트 혹은 그러한 백엔드, 미들웨어 혹은 프론트엔드 컴포넌트의 하나 이상의 모든 조합을 포함하는 연산 시스템에서 구현될 수 있다. 시스템의 컴포넌트는 예컨대 통신 네트워크와 같은 디지털 데이터 통신의 어떠한 형태나 매체에 의해서도 상호 접속 가능하다. 통신 네트워크의 예로는 LAN(Local Area Network)과 예컨대 인터넷과 같은 WAN(Wide Area Network)이 포함된다.
연산 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 보통 서로 떨어져 있으며, 일반적으로는 통신 네트워크를 통하여 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터 상에서 구동되고 서로에 대하여 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의하여 발생한다.
본 명세서가 다수의 특정한 구현 세부사항을 포함하고 있지만, 이는 어떠한 발명의 범위나 청구 가능한 것의 범위에 대한 제한으로서 이해되어서는 안되며, 특정 발명의 특정한 실시형태에 고유할 수 있는 특징들의 설명으로서 이해되어야 한다. 별개의 실시형태의 문맥으로 본 명세서에서 설명한 특정한 특징들은 단일 실시형태의 조합으로 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 설명한 다양한 특징들은 복수의 실시형태에서 별개로 구현되거나 어떤 적당한 하위 조합으로서도 구현 가능하다. 나아가, 특정 조합에서 동작하는 것으로서 특징들을 설명하고 그와 같이 초기에 청구할 수도 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 해당 조합으로부터 삭제될 수 있으며, 청구된 조합은 하위 조합이나 하위 조합의 변형으로 될 수 있다.
마찬가지로, 도면에서 특정한 순서로 동작을 묘사하고 있지만, 이는 나타낸 특정 순서나 순차적인 순서로 그러한 동작들이 수행되어야 한다거나, 바람직한 결과를 얻기 위하여 설명한 모든 동작들이 수행되어야 한다는 것으로 이해해서는 안된다. 특정한 경우, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태에 있어서 다양한 시스템 컴포넌트의 분리는 모든 실시형태에서 그러한 분리를 요구하는 것으로 이해해서는 안되며, 설명한 프로그램 컴포넌트 및 시스템은 복수의 소프트웨어 제품에 패키징되거나 단일 소프트웨어 제품에 함께 공통적으로 통합될 수 있다는 점을 이해해야 한다.
본 명세서에서 설명한 주제의 특정 실시형태에 대해 설명하였다. 다른 실시형태는 다음의 청구항의 범위 내에 속한다. 예컨대 청구항에서 인용한 액션은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 달성할 수 있다. 일 예로서, 첨부한 도면에 묘사한 프로세스가, 바람직한 결과를 얻기 위해, 나타낸 특정 순서나 순차적인 순서를 반드시 요구하는 것은 아니다. 특정한 구현예에서, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.

Claims (44)

  1. 랭킹 서비스에서 구현되는 방법 - 상기 랭킹 서비스는 제 1 가입자 서버 및 제 2 가입자 서버에 의해 사용되고, 상기 제 1 및 제 2 가입자 서버는 사용자들에게 리소스들의 제시(presentation)를 위해 클라이언트 디바이스들에 상기 리소스들을 서비스하는 별개의(distinct) 데이터 처리 서비스들을 제공하며, 상기 제 1 가입자 서버는 클라이언트 디바이스들에 제 1 리소스들을 서비스하고 상기 제 1 리소스들에 관한 사용자 액션(user action)들을 획득(capture)하고, 상기 제 2 가입자 서버는 클라이언트 디바이스들에 제 2 리소스들을 서비스하고 상기 제 2 리소스들에 관한 사용자 액션들을 획득함 - 으로서,
    상기 제 1 가입자 서버로부터 제 1 신호들을 수신하는 단계 - 상기 제 1 신호들은 상기 제 1 리소스들의 개별 리소스들에 관한 개별 사용자 액션들을 특성화(characterizing)하는 정보를 포함하고, 클라이언트 디바이스들에 의해 보고(report)되고, 하나 이상의 미리 정의된 파라미터들에 대한 값들 및 상기 제 1 가입자 서버에 대해 특정된 하나 이상의 제 1 가입자 특정 파라미터(subscriber-specific parameter)들에 대한 값들을 포함함 - 와;
    상기 제 2 가입자 서버로부터 제 2 신호들을 수신하는 단계 - 상기 제 2 신호들은 상기 제 2 리소스들의 개별 리소스들에 관한 개별 사용자 액션들을 특성화하는 정보를 포함하고, 클라이언트 디바이스들에 의해 보고되고, 하나 이상의 미리 정의된 파라미터들에 대한 값들 및 상기 제 2 가입자 서버에 대해 특정된 하나 이상의 제 2 가입자 특정 파라미터들에 대한 값들을 포함함 - 와;
    제 1 랭킹 데이터(ranking data)를, 상기 제 1 가입자 서버에 대한 가입자 특정 파라미터가 아닌 어떤 가입자 특정 파라미터에 대한 값들로부터 생성하는 것이 아닌, 상기 제 1 신호들로부터 생성하는 단계와; 그리고
    제 2 랭킹 데이터를, 상기 제 2 가입자 서버에 대한 가입자 특정 파라미터가 아닌 어떤 가입자 특정 파라미터에 대한 값들로부터 생성하는 것이 아닌, 상기 제 2 신호들로부터 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 청구항 1에 있어서,
    상기 제 1 가입자 서버로부터의 제 1 요청에 응답하여 상기 제 1 가입자 서버에 상기 제 1 랭킹 데이터를 제공하는 단계; 및
    상기 제 2 가입자 서버로부터의 제 2 요청에 응답하여 상기 제 2 가입자 서버에 상기 제 2 랭킹 데이터를 제공하는 단계를 더 포함하는 방법.
  3. 청구항 1에 있어서,
    상기 제 1 요청은 제 1 사용자를 특성화하는 정보를 포함하고,
    상기 제 2 요청은 제 2 사용자를 특성화하는 정보를 포함하고,
    상기 제 1 신호들은 상기 제 1 리소스들의 개별 리소스들에 관한 개별 사용자 액션들을 수행하는 각각의 사용자를 특성화하는 정보를 포함하고,
    상기 제 2 신호들은 상기 제 2 리소스들의 개별 리소스들에 관한 개별 사용자 액션들을 수행하는 각각의 사용자를 특성화하는 정보를 포함하고,
    상기 제 1 랭킹 데이터를 생성하는 단계는, 상기 제 1 사용자를 특성화하는 정보와 상기 제 1 리소스들의 개별 리소스들에 관한 개별 사용자 액션들을 수행하는 각각의 사용자를 특성화하는 정보를 이용하여 제 1 랭킹 데이터를 생성하는 것을 더 포함하며,
    상기 제 2 랭킹 데이터를 생성하는 단계는, 상기 제 2 사용자를 특성화하는 정보와 상기 제 2 리소스들의 개별 리소스들에 관한 개별 사용자 액션들을 수행하는 각각의 사용자를 특성화하는 정보를 이용하여, 제 2 랭킹 데이터를 생성하는 것을 더 포함하는 방법.
  4. 청구항 1에 있어서,
    상기 제 1 랭킹 데이터를 생성하는 단계는, 상기 제 2 신호에 있는 미리 정의된 파라미터들에 대한 값들로부터 제 1 랭킹 데이터를 생성하는 것을 더 포함하며,
    상기 제 2 랭킹 데이터를 생성하는 단계는, 상기 제 1 신호에 있는 미리 정의된 파라미터들에 대한 값들로부터 제 2 랭킹 데이터를 생성하는 것을 더 포함하는 방법.
  5. 랭킹 서비스에서 구현되는 방법 - 상기 랭킹 서비스는 제 1 가입자 서버 및 제 2 가입자 서버에 의해 사용되고, 상기 제 1 및 제 2 가입자 서버는 사용자들에 리소스들의 제시(presentation)를 위해 클라이언트 디바이스들에 상기 리소스들을 서비스하는 별개의(distinct) 데이터 처리 서비스들을 제공하며, 상기 제 1 가입자 서버는 클라이언트 디바이스들에 제 1 리소스들을 서비스하고 상기 제 1 리소스들에 관한 사용자 액션(user action)들을 획득하며, 상기 제 2 가입자 서버는 클라이언트 디바이스들에 제 2 리소스들을 서비스하고 상기 제2 리소스들에 관한 사용자 액션들을 획득함 - 으로서,
    상기 제 1 가입자 서버로부터 제 1 신호들을 수신하는 단계 - 상기 제 1 신호들은 상기 제 1 리소스들에 관한 사용자 액션들을 특성화하는 정보를 포함하고, 클라이언트 디바이스들에 의해 보고되고, 하나 이상의 미리 정의된 파라미터들에 대한 제 1 값들 및 상기 제 1 가입자 서버에 대해 특정된 제 1 가입자 특정 파라미터에 대한 값들을 포함함 - 와;
    상기 제 2 가입자 서버로부터 제 2 신호들을 수신하는 단계 - 상기 제 2 신호들은 상기 제 2 리소스들에 관한 사용자 액션들을 특성화하는 정보를 포함하고, 클라이언트 디바이스들에 의해 보고되고, 하나 이상의 미리 정의된 파라미터들에 대한 제 2 값들 및 상기 제 2 가입자 서버에 대해 특정된 제 2 가입자 특정 파라미터에 대한 값들을 포함함 - 와;
    제 1 사용자를 특성화하는 정보를 포함하는 제 1 요청을 상기 제 1 가입자 서버로부터 수신하는 단계와;
    상기 제 1 요청에 응답하여, 상기 제 1 신호들 및 상기 제 1 사용자를 특성화하는 정보에 기초하여 랭킹 프로세스에 의하여 생성되는 제 1 랭킹 데이터를 상기 제 1 가입자 서버에 제공하는 단계와;
    제 2 사용자를 특성화하는 정보를 포함하는 제 2 요청을 상기 제 2 가입자 서버로부터 수신하는 단계와; 그리고
    상기 제 2 요청에 응답하여, 상기 제 2 신호들 및 상기 제 2 사용자를 특성화하는 정보에 기초하여 상기 랭킹 프로세스에 의하여 생성되는 제 2 랭킹 데이터를 상기 제 2 가입자 서버에 제공하는 단계를 포함하고,
    상기 랭킹 서비스는, 상기 제 1 및 제 2 가입자 서버들로부터 각각 수신된 정보 이외에 상기 제 1 또는 제 2 가입자 특정 파라미터들에 관한 정보를 사용하지 않는 것을 특징으로 하는 방법.
  6. 청구항 5에 있어서,
    상기 제 1 가입자 서버와 상기 제 2 가입자 서버에 신호 포맷(signaling format)을 제공하는 단계를 더 포함하며,
    상기 제 1 신호들은 상기 신호 포맷에 따라 상기 제 1 가입자 서버에 의해 상기 랭킹 서비스에 전송되고, 상기 제 2 신호들은 상기 신호 포맷에 따라 상기 제 2 가입자 서버에 의해 상기 랭킹 서비스에 전송되는 방법.
  7. 청구항 6에 있어서,
    상기 신호 포맷은 신호를 URL(Universal Resource Locator)에 포함(embed)시키기 위한 포맷을 포함하고,
    상기 제 1 신호들은 제 1 URL들로 전송되며,
    상기 제 2 신호들은 제 2 URL들로 전송되는 방법.
  8. 청구항 5에 있어서,
    상기 제 1 리소스들에 관한 상기 제 1 가입자 서버와의 사용자 액션들은, 상기 제 1 가입자 서버에 의해 제공되는 가상 환경에서 상기 제 1 리소스들과의 사용자 상호 작용(user interaction)들을 포함하며,
    상기 제 2 리소스들에 관한 상기 제 2 가입자 서버와의 사용자 액션들은, 상기 제 2 가입자 서버에 의해 제공되는 가상 환경에서 상기 제 2 리소스들과의 사용자 상호 작용들을 포함하는 방법.
  9. 청구항 5에 있어서,
    상기 제 1 신호들은 상기 제 1 가입자 서버에 의해 정의되는 하나 이상의 제 1 리소스 식별자들을 포함하고, 상기 제 1 리소스 식별자들은 상기 제 1 리소스들을 식별하되 상기 랭킹 서비스에 대하여 선험적 중요성(priori significance)을 갖지 않으며,
    상기 제 2 신호들은 상기 제 2 가입자 서버에 의해 정의되는 하나 이상의 제 2 리소스 식별자들을 포함하고, 상기 제 2 리소스 식별자들은 상기 제 2 리소스를 식별하되 상기 랭킹 서비스에 대하여 선험적 중요성을 갖지 않는 방법.
  10. 청구항 5에 있어서,
    상기 미리 정의된 파라미터들에 대한 제 1 값들 및 상기 제 1 가입자 특정 파라미터에 대한 값들은 상기 제 1 신호들에서 특성화된 상기 제 1 리소스들에 관한 사용자 액션들에 자격을 부여(qualify)하고,
    상기 미리 정의된 파라미터들에 대한 상기 제 2 값들 및 상기 제 2 가입자 특정 파라미터에 대한 값들은 상기 제 2 신호들에서 특성화된 제 2 리소스들에 관한 사용자 액션들에 자격을 부여하는 방법.
  11. 청구항 5에 있어서,
    상기 미리 정의된 파라미터들은 언어, 지리적 영역(geographic region), 및 카테고리 중 적어도 하나를 포함하는 방법.
  12. 청구항 5에 있어서,
    상기 제 1 가입자 특정 파라미터는 상기 랭킹 서비스에 대하여 선험적 중요성을 갖지 않으며,
    상기 제 2 가입자 특정 파라미터는 상기 랭킹 서비스에 대하여 선험적 중요성을 갖지 않는 방법.
  13. 청구항 5에 있어서,
    상기 제 1 신호들은 상기 미리 정의된 파라미터들 중 첫 번째 것들에 대한 제 3 값들을 갖는 제 3 신호와 상기 미리 정의된 파라미터들 중 두 번째 것들에 대한 제 4 값들을 갖는 제 4 신호를 포함하고, 상기 미리 정의된 파라미터들 중 상기 첫 번째 것들과 상기 두 번째 것들은 파라미터를 공통으로 갖되, 상기 첫 번째 것들은 상기 두 번째 것들에는 없는 파라미터를 갖고, 상기 두 번째 것들은 상기 첫 번째 것들에는 없는 파라미터를 가지며,
    혼합 조건(blending condition)이 충족되는 경우에 상기 제 3 신호와 상기 제 4 신호를 혼합하는 단계를 더 포함하는 방법.
  14. 삭제
  15. 청구항 5에 있어서,
    상기 제 1 신호들은 상기 제 1 가입자 서버의 식별(identification)을 포함하고, 상기 제 2 신호들은 상기 제 2 가입자 서버의 식별을 포함하는 방법.
  16. 청구항 15에 있어서,
    상기 제 1 가입자 서버의 상기 식별은 상기 제 1 가입자 서버의 일부분(subdivision)의 식별을 포함하고, 상기 제 2 가입자 서버의 상기 식별은 상기 제 2 가입자 서버의 일부분의 식별을 포함하는 방법.
  17. 청구항 5에 있어서,
    상기 제 1 신호들은 상기 제 1 가입자 서버에 의해 정의되는 하나 이상의 제 1 사용자 식별자들을 포함하고, 상기 제 1 사용자 식별자들은 상기 사용자 액션들을 수행한 사용자들을 식별하며,
    상기 제 2 신호는 상기 제 2 가입자 서버에 의해 정의되는 하나 이상의 제 2 사용자 식별자들을 포함하고, 상기 제 2 사용자 식별자들을 상기 사용자 액션을 수행한 사용자들을 식별하는 방법.
  18. 청구항 5에 있어서,
    상기 랭킹 서비스는 상기 제 1 신호들에 의해 제공되는 정보 이외에 상기 제 1 리소스들에 관한 정보를 갖지 않고,
    상기 랭킹 서비스는 상기 제 2 신호들에 의해 제공되는 정보 이외에 상기 제 2 리소스들에 관한 정보를 갖지 않는 방법.
  19. 청구항 5에 있어서,
    상기 제 1 가입자 서버로부터 제 1 신호들을 수신하는 단계는, 상기 제 1 가입자 서버에 의해 상기 랭킹 서비스에 사전 등록(pre-registration)을 하지 않은 상기 제 1 가입자 서버로부터 상기 제 1 신호들을 수신하는 것을 포함하고,
    상기 제 2 가입자 서버로부터 제 2 신호들을 수신하는 단계는, 상기 제 2 가입자 서버에 의해 상기 랭킹 서비스에 사전 등록을 하지 않은 상기 제 2 가입자 서버로부터 상기 제 2 신호들을 수신하는 것을 포함하는 방법.
  20. 청구항 5에 있어서,
    상기 제 1 신호들은 상기 사용자들의 적어도 하위 세트의 집합(aggregation)에 의해 상기 제 1 리소스들에 관한 상기 사용자 액션들을 특성화하는 정보를 포함하고,
    상기 제 2 신호들은 상기 사용자들의 적어도 하위 세트의 집합에 의해 상기 제 2 리소스들에 관한 상기 사용자 액션들을 특성화하는 정보를 포함하는 방법.
  21. 청구항 5에 있어서,
    상기 사용자는 엔티티(entity)를 포함하는 방법.
  22. 청구항 5에 있어서,
    상기 제 1 신호들은 상기 제 1 리소스들에 관한 복수의 사용자 액션을 특성화하는 집합된 신호(aggregated signal)를 포함하고,
    상기 제 2 신호는 상기 제 2 리소스에 관한 복수의 사용자 액션을 특성화하는 집합된 신호를 포함하는 것을 특징으로 하는 방법.
  23. 컴퓨터 시스템으로서,
    명령어들이 구성된 하나 이상의 컴퓨터를 포함하며, 상기 명령어들은 상기 컴퓨터 시스템으로 하여금,
    제 1 가입자 서버로부터 제 1 신호들을 수신하도록 하는 명령어 - 상기 제 1 가입자 서버는 사용자들에게 리소스들의 제시를 위해 클라이언트 디바이스들에 상기 리소스들을 서비스하는 데이터 처리 서비스를 제공하고, 상기 제 1 가입자 서버는 클라이언트 디바이스들에 제 1 리소스들을 서비스하고 상기 제 1 리소스들에 관한 사용자 액션들을 획득하며, 상기 제 1 신호들은 상기 제 1 리소스들의 개별 리소스들에 관한 개별 사용자 액션들을 특성화하는 정보를 포함하고, 클라이언트 디바이스들에 의해 보고(report)되고, 하나 이상의 미리 정의된 파라미터들에 대한 값들 및 상기 제 1 가입자 서버에 대해 특정된 하나 이상의 제 1 가입자 특정 파라미터(subscriber-specific parameter)들에 대한 값들을 포함함 - 와;
    제 2 가입자 서버로부터 제 2 신호들을 수신하도록 하는 명령어 - 상기 제 2 가입자 서버는 사용자들에게 리소스들의 제시를 위해 클라이언트 디바이스들에 상기 리소스들을 서비스하는 데이터 처리 서비스를 제공하고, 상기 제 2 가입자 서버는 클라이언트 디바이스들에 제 2 리소스들을 서비스하고 상기 제 2 리소스들에 관한 사용자 액션들을 획득하며, 상기 제 2 신호들은 상기 제 2 리소스들의 개별 리소스들에 관한 개별 사용자 액션들을 특성화하는 정보를 포함하고, 클라이언트 디바이스들에 의해 보고되고, 하나 이상의 미리 정의된 파라미터들에 대한 값들 및 상기 제 2 가입자 서버에 대해 특정된 하나 이상의 제 2 가입자 특정 파라미터들에 대한 값들을 포함함 - 와;
    제 1 랭킹 데이터를, 상기 제 1 가입자 서버에 대한 가입자 특정 파라미터가 아닌 어떤 가입자 특정 파라미터에 대한 값들로부터 생성하는 것이 아닌, 상기 제 1 신호들로부터 생성하도록 하는 명령어와; 그리고
    제 2 랭킹 데이터를, 상기 제 2 가입자 서버에 대한 가입자 특정 파라미터가 아닌 어떤 가입자 특정 파라미터에 대한 값들로부터가 생성하는 것이 아닌, 상기 제 2 신호들로부터 생성하도록 하는 명령어들을 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  24. 컴퓨터 프로그램이 수록된 컴퓨터 판독 가능 매체로서, 상기 컴퓨터 프로그램은 데이터 처리 장치로 하여금,
    제 1 가입자 서버로부터 제 1 신호들을 수신하는 동작 - 상기 제 1 가입자 서버는 사용자들에게 리소스들의 제시를 위해 클라이언트 디바이스들에 상기 리소스들을 서비스하는 데이터 처리 서비스들을 제공하고, 클라이언트 디바이스들에 제1 리소스들을 서비스하고, 상기 제1 리소스들에 관한 사용자 액션들을 획득하며, 상기 제 1 신호들은 상기 제 1 리소스들의 개별 리소스들에 관한 개별 사용자 액션들을 특성화하는 정보를 포함하고, 클라이언트 디바이스들에 의해 보고(report)되고, 하나 이상의 미리 정의된 파라미터들에 대한 값들 및 상기 제 1 가입자 서버에 대해 특정된 하나 이상의 제 1 가입자 특정 파라미터(subscriber-specific parameter)들에 대한 값들을 포함함 - 과;
    제 2 가입자 서버로부터 제 2 신호들을 수신하는 동작 - 상기 제 2 가입자 서버는 사용자들에게 리소스들의 제시를 위해 클라이언트 디바이스들에 상기 리소스들을 서비스하는 데이터 처리 서비스들을 제공하고, 클라이언트 디바이스들에 제 2 리소스들을 서비스하고, 상기 제 2 리소스들에 관한 사용자 액션들을 획득하며, 상기 제 2 신호들은 상기 제 2 리소스들의 개별 리소스들에 관한 개별 사용자 액션들을 특성화하는 정보를 포함하고, 클라이언트 디바이스들에 의해 보고되고, 하나 이상의 미리 정의된 파라미터들에 대한 값들 및 상기 제 2 가입자 서버에 대해 특정된 하나 이상의 제 2 가입자 특정 파라미터들에 대한 값들을 포함함 - 과;
    제 1 랭킹 데이터를, 상기 제 1 가입자 서버에 대한 가입자 특정 파라미터가 아닌 어떤 가입자 특정 파라미터에 대한 값으로부터가 아닌, 상기 제 1 신호들로부터 생성하는 동작과; 그리고
    제 2 랭킹 데이터를, 상기 제 2 가입자 서버에 대한 가입자 특정 파라미터가 아닌 어떤 가입자 특정 파라미터에 대한 값으로부터가 아닌, 상기 제 2 신호들로부터 생성하는 동작을 포함하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
  25. 삭제
  26. 랭킹 서비스의 하나 이상의 컴퓨터에 의해 수행되는 방법으로서,
    가입자 서버로부터 하나 이상의 가입자 특정 파라미터를 특정하는 정보를 수신하는 단계 - 상기 가입자 서버는 사용자들에게 리소스들의 제시를 위해 클라이언트 디바이스들에 상기 리소스들을 서비스하는 데이터 처리 서비스들을 제공하고, 상기 가입자 서버는 리소스들을 클라이언트 디바이스들에게 서비스하고 상기 리소스들에 관한 사용자 액션들을 획득하며, 상기 가입자 특정 파라미터들은 상기 리소스들 또는 상기 사용자 액션들에 관한 것임 - 와:
    상기 가입자 서버로부터 프로토콜에 따라 상기 사용자 액션들을 보고하는 신호들을 수신하는 단계 - 상기 프로토콜은 상기 신호들에 의해 보고 가능한 사용자 액션들의 유형들을 정의하고, 상기 프로토콜은 상기 사용자 액션들에 자격을 부여하기 위한 미리 정의된 파라미터들의 세트 중 하나 이상의 파라미터들에 대한 값들을 특정하기 위한 포맷을 정의하고, 상기 미리 정의된 파라미터들은 상기 랭킹 서비스에 대하여 선험적 중요성을 가지며, 상기 미리 정의된 파라미터들은 하나 이상의 다른 가입자 서버들을 위한 상기 랭킹 서비스에 의해 사용되며, 가입자 서버 서로는 서로 다른 리소스들을 클라이언트 디바이스들에 서비스하는 서로 다른 데이터 처리 서비스들을 제공하도록 구성되고, 상기 프로토콜은 상기 하나 이상의 가입자 특정 파라미터들을 특정하기 위한 포맷을 정의하고, 상기 가입자 특정 파라미터들은 상기 미리 정의된 파라미터들에 추가하여 사용되고, 상기 가입자 특정 파라미터들은 상기 미리 정의된 파라미터들과 구별되고 상기 가입자 서버를 위해서만 상기 랭킹 서비스에 의해 사용되며, 상기 프로토콜은 상기 가입자 서버에 의해 정의된 네임스페이스를 이용하여 상기 사용자 액션들이 관련되어 있는 리소스들을 식별하기 위한 포맷을 정의함 - 와;
    상기 사용자 액션들을 보고하는 상기 신호들로부터 상기 리소스들에 관한 랭킹 데이터를 생성하는 단계와; 그리고
    상기 랭킹 데이터에 기초한 순서로 리소스들을 클라이언트 디바이스들에게 서비스하는데 사용하도록, 상기 랭킹 데이터를 상기 가입자 서버에게 제공하는 단계를 포함하는 방법.
  27. 청구항 26에 있어서,
    상기 미리 정의된 파라미터들은 언어, 지리적 영역, 또는 카테고리 중 적어도 하나를 포함하는 방법.
  28. 청구항 26에 있어서,
    상기 신호들은 상기 미리 정의된 파라미터들 중 적어도 하나에 기초하여 상기 사용자 액션들에 자격을 부여하는 값들을 포함하는 방법.
  29. 청구항 26에 있어서,
    상기 신호들은 상기 가입자 특정 파라미터들에 대응하는 하나 이상의 값을 포함하는 방법.
  30. 청구항 26에 있어서,
    상기 신호들은 상기 가입자의 식별자를 포함하는 방법.
  31. 청구항 26에 있어서,
    상기 프로토콜은 각각의 신호에 포함되어 있는 정보의 양에 대한 상한(upper bound)을 특정하는 방법.
  32. 청구항 26에 있어서,
    상기 프로토콜은 사용자를 특성화하는 요정 정보에서 특정하기 위한 포맷을 정의하며,
    상기 랭킹 데이터는 상기 신호들과 상기 사용자를 특성화하는 정보에 기초하여 상기 리소스들을 랭킹하는 랭킹 데이터를 포함하는 방법.
  33. 가입자 - 상기 가입자는 데이터 처리 서비스이고, 리소스들을 사용자들에게 제시하고, 상기 리소스들에 관한 사용자 액션들을 획득한다 - 의해 사용 가능한 시스템으로서,
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행되도록 구성된 명령어들을 포함하고,
    상기 명령어들은:
    가입자 서버로부터 하나 이상의 가입자 특정 파라미터들을 특정하는 정보를 수신하도록 하는 명령어 - 상기 가입자 서버는 사용자들에게 리소스들의 제시를 위해 클라이언트 디바이스들에 상기 리소스들을 서비스하는 데이터 처리 서비스들을 제공하며, 리소스들을 클라이언트 디바이스들에게 서비스하고, 상기 리소스들에 관한 사용자 액션들을 획득하며, 상기 가입자 특정 파라미터들은 상기 리소스들 또는 상기 사용자 액션들에 관한 것임 - 와;
    상기 가입자 서버로부터 프로토콜에 따라 상기 사용자 액션들을 보고하는 신호들을 수신하도록 하는 명령어 - 상기 프로토콜은 상기 신호들에 의해 보고 가능한 사용자 액션들의 유형들을 정의하고, 상기 프로토콜은 상기 사용자 액션들에 자격을 부여하기 위한 미리 정의된 파라미터들의 세트 중 하나 이상의 파라미터들에 대한 값들을 특정하기 위한 포맷을 정의하고, 상기 미리 정의된 파라미터들은 랭킹 서비스에 대하여 선험적 중요성을 가지며, 상기 미리 정의된 파라미터들은 하나 이상의 다른 가입자 서버들을 위한 상기 랭킹 서비스에 의해 사용되며, 상기 다른 가입자 서버들 서로는 서로 다른 리소스들을 클라이언트 디바이스들에 서비스하는 서로 다른 데이터 처리 서비스들을 제공하도록 구성되고, 상기 프로토콜은 상기 하나 이상의 가입자 특정 파라미터들을 특정하기 위한 포맷을 정의하고, 상기 가입자 특정 파라미터들은 상기 미리 정의된 파라미터들에 추가하여 사용되고, 상기 가입자 특정 파라미터들은 상기 미리 정의된 파라미터들과 구별되고, 상기 가입자 서버를 위해서만 상기 랭킹 서비스에 의해 사용되며, 상기 프로토콜은 상기 가입자 서버에 의해 정의된 네임스페이스를 이용하여 상기 사용자 액션들이 관련되어 있는 리소스들을 식별하기 위한 포맷을 정의하도록 함 - 와;
    상기 사용자 액션들을 보고하는 상기 신호들로부터 상기 리소스들에 관한 랭킹 데이터를 생성하도록 하는 명령어와; 그리고,
    상기 랭킹 데이터에 기초한 순서로 리소스들을 클라이언트 디바이스들에 서비스하는데 사용하도록 상기 랭킹 데이터를 상기 가입자 서버에 제공하도록 하는 명령어를 포함하는 시스템.
  34. 컴퓨터 프로그램이 수록된 컴퓨터 판독 가능 매체로서, 상기 컴퓨터 프로그램은 데이터 처리 장치로 하여금,
    가입자 서버로부터 하나 이상의 가입자 특정 파라미터들을 특정하는 정보를 수신하는 동작 - 상기 가입자 서버는 사용자들에게 리소스들의 제시를 위해 클라이언트 디바이스들에 상기 리소스들을 서비스하는 데이터 처리 서비스들을 제공하고, 리소스들을 클라이언트 디바이스들에게 서비스하고, 상기 리소스들에 관한 사용자 액션들을 획득하며, 상기 가입자 특정 파라미터들은 상기 리소스들 또는 상기 사용자 액션들에 관한 것임 - 과;
    상기 가입자 서버로부터 프로토콜에 따라 상기 사용자 액션들을 보고하는 신호들을 수신하는 동작 - 상기 프로토콜은 상기 신호들에 의해 보고 가능한 사용자 액션들의 유형들을 정의하고, 상기 프로토콜은 상기 사용자 액션들에 자격을 부여하기 위한 미리 정의된 파라미터들의 세트 중 하나 이상의 파라미터들에 대한 값들을 특정하기 위한 포맷을 정의하고, 상기 미리 정의된 파라미터들은 랭킹 서비스에 대하여 선험적 중요성을 가지며, 상기 미리 정의된 파라미터들은 하나 이상의 다른 가입자 서버들을 위한 상기 랭킹 서비스에 의해 사용되며, 상기 다른 가입자 서버 서로는 서로 다른 리소스들을 클라이언트 디바이스들에 제공하는 서로 다른 데이터 처리 서비스들을 제공하도록 구성되고, 상기 프로토콜은 상기 하나 이상의 가입자 특정 파라미터들을 특정하기 위한 포맷을 정의하고, 상기 가입자 특정 파라미터들은 상기 미리 정의된 파라미터들에 추가하여 사용되고, 상기 미리 정의된 파라미터들과 구별되고, 상기 가입자 서버를 위해서만 상기 랭킹 서비스에 의해 사용되며, 상기 프로토콜은 상기 가입자 서버에 의해 정의된 네임스페이스를 이용하여 상기 사용자 액션들이 관련되어 있는 리소스들을 식별하기 위한 포맷을 정의함 - 과;
    상기 사용자 액션들을 보고하는 상기 신호들로부터 상기 리소스들에 관한 랭킹 데이터를 생성하는 동작과; 그리고
    상기 랭킹 데이터에 기초한 순서로 리소스들을 클라이언트 디바이스들에 서비스하는데 사용하도록 상기 랭킹 데이터를 상기 가입자 서버에 제공하는 동작을 수행하도록 하는 컴퓨터 판독 가능 매체.
  35. 가입자 - 상기 가입자는 데이터 처리 서비스이고, 리소스들을 사용자들에게 제시하고, 상기 리소스들에 관한 사용자 액션들을 획득한다 - 에 의해 이용 가능한 시스템으로서,
    가입자 서버로부터 하나 이상의 가입자 특정 파라미터들을 특정하는 정보를 수신하는 수단 - 상기 가입자 서버는 사용자들에게 리소스들의 제시를 위해 클라이언트 디바이스들에 상기 리소스들을 서비스하는 데이터 처리 서비스들을 제공하고, 리소스들을 상기 클라이언트 디바이스들에 서비스하고, 상기 리소스들에 관한 사용자 액션들을 획득하며, 상기 가입자 특정 파라미터는 상기 리소스들 또는 상기 사용자 액션들에 관한 것임 - 과;
    상기 가입자 서버로부터 프로토콜에 따라 상기 사용자 액션들을 보고하는 신호들을 수신하는 수단 - 상기 프로토콜은 상기 신호들에 의해 보고 가능한 사용자 액션들의 유형들을 정의하고, 상기 프로토콜은 상기 사용자 액션들에 자격을 부여하기 위한 미리 정의된 파라미터들의 세트 중 하나 이상의 파라미터들에 대한 값들을 특정하기 위한 포맷을 정의하고, 상기 미리 정의된 파라미터들은 랭킹 서비스에 대하여 선험적 중요성을 가지며, 상기 미리 정의된 파라미터들은 하나 이상의 다른 가입자 서버들을 위한 상기 랭킹 서비스에 의해 사용되며, 상기 다른 가입자 서버 서로는 서로 다른 리소스들을 클라이언트 디바이스들에 서비스하는 서로 다른 데이터 처리 서비스들을 제공하도록 구성되고, 상기 프로토콜은 상기 하나 이상의 가입자 특정 파라미터들을 특정하기 위한 포맷을 정의하고, 상기 가입자 특정 파라미터들은 상기 미리 정의된 파라미터들에 추가하여 사용되고, 상기 미리 정의된 파라미터들과 구별되고, 상기 가입자 서버를 위해서만 상기 랭킹 서비스에 의해 사용되며, 상기 프로토콜은 상기 가입자 서버에 의해 정의된 네임스페이스를 이용하여 상기 사용자 액션들이 관련되어 있는 리소스들을 식별하기 위한 포맷을 정의함 - 과;
    상기 사용자 액션들을 보고하는 상기 신호들로부터 상기 리소스들에 관한 랭킹 데이터를 생성하는 수단과; 그리고
    상기 랭킹 데이터에 기초한 순서로 리소스들을 클라이언트 디바이스들에 서비스하는데 사용하도록, 상기 랭킹 데이터를 상기 가입자 서버에 제공하는 수단을 포함하는 시스템.
  36. 컴퓨터로 구현되는 방법으로서,
    데이터 처리 서비스에 의하여 복수의 사용자들에게 제시되는 복수의 리소스 들 각각에 대하여,
    상기 리소스 각각에 관한 상기 복수의 사용자들에 의한 하나 이상의 액션들을 보고하는 상기 데이터 처리 서비스로부터 생긴(originate) 하나 이상의 신호들을 수신하는 단계 - 보고되는 액션은 상기 리소스 각각의 제시(presentation), 상기 리소스 각각의 부가, 혹은 상기 리소스 각각의 삭제이며, 상기 보고되는 액션들은 상기 리소스 각각의 하나 이상의 단기 삭제(short deletion)를 포함하고, 상기 리소스 각각의 단기 삭제는 상기 리소스 각각의 대응하는 부가 이후에 미리 정의된 시간 기간 이내에 발생하는 상기 리소스 각각의 삭제임 - 와;
    상기 리소스 각각의 보고된 부가의 수에서 상기 리소스 각각의 단기 삭제 수를 뺌으로써 상기 리소스 각각에 대한 장기 부가(long addition)의 수를 결정하는 단계와;
    상기 리소스 각각의 보고된 제시의 수로 상기 리소스 각각의 장기 부가의 수를 나눔으로써 상기 리소스 각각에 대한 각각의 LACTR(Long-Addition Click-Through Rate)을 결정하는 단계와;
    상기 복수의 리소스에 대한 상기 각각의 LACTR에 기초하여 상기 복수의 리소스를 랭크하는 단계와; 그리고
    상기 복수의 리소스의 랭킹을 상기 데이터 처리 서비스에 제공하는 단계를 포함하고,
    상기 수신하는 단계, 결정하는 단계, 랭크하는 단계, 및 제공하는 단계는 적어도 하나의 컴퓨터에 의해 수행되는 방법.
  37. 청구항 36에 있어서,
    상기 리소스들의 랭킹을 제공하는 단계는, 상기 리소스들의 적어도 서브세트의 표시를 랭킹 순서대로 제공하는 것을 포함하는 방법.
  38. 청구항 36에 있어서,
    상기 하나 이상의 신호들 각각은 상기 각각의 보고되는 액션이 발생하는 문맥(Context)을 특정하며,
    상기 리소스 각각에 대하여 각각의 LACTR을 결정하는 단계는, 상기 문맥에 있어서 상기 리소스 각각에 관한 상기 보고되는 액션들에 기초하여 상기 문맥에 있어서 상기 리소스 각각에 대한 각각의 LACTR을 결정하는 것을 포함하는 방법.
  39. 청구항 38에 있어서,
    상기 문맥은 하나 이상의 언어, 지리적 영역, 또는 주제 카테고리(topical category) 중 하나 이상인 방법.
  40. 청구항 36에 있어서,
    상기 하나 이상의 신호는 하나 이상의 URL에 포함되는 방법.
  41. 청구항 36에 있어서,
    상기 복수의 사용자들 중에서, 상기 복수의 리소스들 중 제 1 리소스와 제 2 리소스에 대한 선호도(preference)를 표시하는 액션 히스토리(action history)와 관련된 제 1 사용자들을 식별하는 단계와;
    상기 복수의 사용자 중에서, 상기 제 1 리소스에 대한 선호도를 표시하는 액션 히스토리와 관련된 제 2 사용자들을 식별하는 단계와; 그리고
    상기 제 1 및 제 2 사용자들에 의한 상기 제 1 리소스에 대한 상기 표시된 선호도에 기초하여, 상기 제 2 사용자들에 관하여 상기 제 2 리소스의 랭킹을 수정(modify)하는 단계를 더 포함하는 방법.
  42. 하나 이상의 프로세서와; 그리고 상기 하나 이상의 프로세서에 의해 실행되는 명령어들을 포함하는 시스템으로서,
    상기 명령어들은:
    데이터 처리 서비스에 의하여 복수의 사용자들에게 제시되는 복수의 리소스 각각에 대하여,
    상기 리소스 각각에 관한 상기 복수의 사용자들에 의한 하나 이상의 액션을 보고하는 상기 데이터 처리 서비스로부터 생긴 하나 이상의 신호를 수신하도록 하는 명령어 - 보고되는 액션은 상기 리소스 각각의 제시, 상기 리소스 각각의 부가, 혹은 상기 리소스 각각의 삭제이며, 상기 보고되는 액션들은 상기 리소스 각각의 하나 이상의 단기 삭제(short deletion)를 포함하고, 상기 리소스 각각의 단기 삭제는 상기 리소스 각각의 대응하는 부가 이후에 미리 정의된 시간 기간 이내에 발생하는 상기 리소스 각각의 삭제임 - 와;
    상기 리소스 각각의 보고된 부가의 수에서 상기 리소스 각각의 단기 삭제 수를 뺌으로써 상기 리소스 각각에 대한 장기 부가의 수를 결정하도록 하는 명령어와;
    상기 리소스 각각의 보고된 제시의 수로 상기 리소스 각각의 장기 부가의 수를 나눔으로써 상기 리소스 각각에 대한 각각의 LACTR을 결정하도록 하는 명령어와;
    상기 복수의 리소스에 대한 상기 각각의 LACTR에 기초하여 상기 복수의 리소스를 랭킹하도록 하는 명령어와; 그리고
    상기 복수의 리소스의 랭킹을 상기 데이터 처리 서비스에 제공하도록 하는 명령어를 포함하는 시스템.
  43. 컴퓨터 프로그램이 수록된 컴퓨터 판독 가능 저장 매체로서,
    상기 컴퓨터 프로그램은 데이터 처리 장치에 의해 실행되었을 때, 상기 데이터 처리 장치로 하여금,
    데이터 처리 서비스에 의하여 복수의 사용자들에게 제시되는 복수의 리소스 각각에 대하여,
    상기 리소스 각각에 관한 상기 복수의 사용자들에 의한 하나 이상의 액션들을 보고하는 상기 데이터 처리 서비스로부터 생긴 하나 이상의 신호를 수신하는 동작 - 보고되는 액션은 상기 리소스 각각의 제시, 상기 리소스 각각의 부가, 혹은 상기 리소스 각각의 삭제이며, 상기 보고되는 액션들은 상기 리소스 각각의 하나 이상의 단기 삭제를 포함하고, 상기 리소스 각각의 단기 삭제는 상기 리소스 각각의 대응하는 부가 이후에 미리 정의된 시간 기간 이내에 발생하는 상기 리소스 각각의 삭제임 - 과;
    상기 리소스 각각의 보고된 부가의 수에서 상기 리소스 각각의 단기 삭제 수를 뺌으로써 상기 리소스 각각에 대한 장기 부가의 수를 결정하는 동작과;
    상기 리소스 각각의 보고된 제시의 수로 상기 리소스 각각의 장기 부가의 수를 나눔으로써 상기 리소스 각각에 대한 각각의 LACTR을 결정하는 동작과;
    상기 복수의 리소스에 대한 상기 각각의 LACTR에 기초하여 상기 복수의 리소스를 랭킹하는 동작과; 그리고
    상기 복수의 리소스의 랭킹을 상기 데이터 처리 서비스에 제공하는 동작을 수행하도록 하는 컴퓨터 판독가능 저장 매체.
  44. 삭제
KR1020097010152A 2006-10-18 2007-10-18 신디케이션에 적합한 포괄적인 온라인 랭킹 시스템 및 방법 KR101622742B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US86200306P 2006-10-18 2006-10-18
US60/862,003 2006-10-18

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020147020919A Division KR20140104048A (ko) 2006-10-18 2007-10-18 신디케이션에 적합한 포괄적인 온라인 랭킹 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20090080982A KR20090080982A (ko) 2009-07-27
KR101622742B1 true KR101622742B1 (ko) 2016-06-01

Family

ID=39314852

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147020919A KR20140104048A (ko) 2006-10-18 2007-10-18 신디케이션에 적합한 포괄적인 온라인 랭킹 시스템 및 방법
KR1020097010152A KR101622742B1 (ko) 2006-10-18 2007-10-18 신디케이션에 적합한 포괄적인 온라인 랭킹 시스템 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020147020919A KR20140104048A (ko) 2006-10-18 2007-10-18 신디케이션에 적합한 포괄적인 온라인 랭킹 시스템 및 방법

Country Status (5)

Country Link
US (6) US7953741B2 (ko)
EP (2) EP2482208A3 (ko)
KR (2) KR20140104048A (ko)
CN (1) CN101589360A (ko)
WO (1) WO2008049092A2 (ko)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060170956A1 (en) 2005-01-31 2006-08-03 Jung Edward K Shared image devices
US8606383B2 (en) 2005-01-31 2013-12-10 The Invention Science Fund I, Llc Audio sharing
US9124729B2 (en) 2005-01-31 2015-09-01 The Invention Science Fund I, Llc Shared image device synchronization or designation
US9082456B2 (en) 2005-01-31 2015-07-14 The Invention Science Fund I Llc Shared image device designation
US9910341B2 (en) 2005-01-31 2018-03-06 The Invention Science Fund I, Llc Shared image device designation
US9489717B2 (en) 2005-01-31 2016-11-08 Invention Science Fund I, Llc Shared image device
US8902320B2 (en) 2005-01-31 2014-12-02 The Invention Science Fund I, Llc Shared image device synchronization or designation
US9002725B1 (en) 2005-04-20 2015-04-07 Google Inc. System and method for targeting information based on message content
US9093121B2 (en) 2006-02-28 2015-07-28 The Invention Science Fund I, Llc Data management of an audio data stream
US9621749B2 (en) 2005-06-02 2017-04-11 Invention Science Fund I, Llc Capturing selected image objects
US9191611B2 (en) 2005-06-02 2015-11-17 Invention Science Fund I, Llc Conditional alteration of a saved image
US9001215B2 (en) 2005-06-02 2015-04-07 The Invention Science Fund I, Llc Estimating shared image device operational capabilities or resources
US9076208B2 (en) 2006-02-28 2015-07-07 The Invention Science Fund I, Llc Imagery processing
US20070222865A1 (en) 2006-03-15 2007-09-27 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Enhanced video/still image correlation
US9451200B2 (en) 2005-06-02 2016-09-20 Invention Science Fund I, Llc Storage access technique for captured data
US9167195B2 (en) 2005-10-31 2015-10-20 Invention Science Fund I, Llc Preservation/degradation of video/audio aspects of a data stream
US9967424B2 (en) 2005-06-02 2018-05-08 Invention Science Fund I, Llc Data storage usage protocol
US8964054B2 (en) 2006-08-18 2015-02-24 The Invention Science Fund I, Llc Capturing selected image objects
US10003762B2 (en) 2005-04-26 2018-06-19 Invention Science Fund I, Llc Shared image devices
US8681225B2 (en) 2005-06-02 2014-03-25 Royce A. Levien Storage access technique for captured data
US9819490B2 (en) 2005-05-04 2017-11-14 Invention Science Fund I, Llc Regional proximity for shared image device(s)
US9942511B2 (en) 2005-10-31 2018-04-10 Invention Science Fund I, Llc Preservation/degradation of video/audio aspects of a data stream
US20070120980A1 (en) * 2005-10-31 2007-05-31 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Preservation/degradation of video/audio aspects of a data stream
US7949714B1 (en) 2005-12-05 2011-05-24 Google Inc. System and method for targeting advertisements or other information using user geographical information
US8601004B1 (en) * 2005-12-06 2013-12-03 Google Inc. System and method for targeting information items based on popularities of the information items
US20080004897A1 (en) * 2006-06-12 2008-01-03 William George Bentz Combinations
CN101589360A (zh) * 2006-10-18 2009-11-25 谷歌公司 适合于联合的通用在线排名***和方法
EP2176730A4 (en) * 2007-08-08 2011-04-20 Baynote Inc METHOD AND APPARATUS FOR CONTENT RECOMMENDATION BASED ON CONTEXT
US7904818B2 (en) 2007-10-15 2011-03-08 International Business Machines Corporation Summarizing portlet usage captured responsive to trigger events in a portal page
US8191002B2 (en) 2007-10-15 2012-05-29 International Business Machines Corporation Summarizing portlet usage in a portal page
US20090150307A1 (en) * 2007-12-11 2009-06-11 William George Bentz Combinations
US8205008B2 (en) * 2008-01-21 2012-06-19 Gottfried Zimmermann Online resource server for allowing device control and access to digital content through pluggable user interfaces
US7904530B2 (en) * 2008-01-29 2011-03-08 Palo Alto Research Center Incorporated Method and apparatus for automatically incorporating hypothetical context information into recommendation queries
US20100017385A1 (en) * 2008-07-16 2010-01-21 International Business Machines Creating and managing reference elements of deployable web archive files
US20100169323A1 (en) * 2008-12-29 2010-07-01 Microsoft Corporation Query-Dependent Ranking Using K-Nearest Neighbor
US8495048B2 (en) * 2009-08-26 2013-07-23 International Business Machines Applying user-generated deployment events to a grouping of deployable portlets
US20110099062A1 (en) * 2009-10-26 2011-04-28 Google Inc. Sponsorship Advertisement Network
US20110106835A1 (en) * 2009-10-29 2011-05-05 International Business Machines Corporation User-Defined Profile Tags, Rules, and Recommendations for Portal
US9875671B2 (en) * 2009-12-17 2018-01-23 Google Llc Cloud-based user interface augmentation
US20110270850A1 (en) * 2010-04-30 2011-11-03 Microsoft Corporation Prioritization of Resources based on User Activities
US9697500B2 (en) 2010-05-04 2017-07-04 Microsoft Technology Licensing, Llc Presentation of information describing user activities with regard to resources
US10817555B2 (en) * 2010-07-03 2020-10-27 Edmond K. Chow Resource hubs for heterogeneous groups
US9152726B2 (en) 2010-12-01 2015-10-06 Microsoft Technology Licensing, Llc Real-time personalized recommendation of location-related entities
US9477574B2 (en) 2011-05-12 2016-10-25 Microsoft Technology Licensing, Llc Collection of intranet activity data
US9310958B2 (en) * 2011-06-02 2016-04-12 Lenovo (Singapore) Pte. Ltd. Dock for favorite applications
US9329766B2 (en) * 2011-06-02 2016-05-03 Lenovo (Singapore) Pte. Ltd. Homepage re-assignment
US8930352B2 (en) * 2011-06-30 2015-01-06 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reliance oriented data stream management system
US20130046759A1 (en) * 2011-08-15 2013-02-21 Siemens Corporation Connecting questions, answers, announcements and activities to relevant entities
KR20130035064A (ko) * 2011-09-29 2013-04-08 삼성전자주식회사 개인 성향 기반의 개인화 서비스 제공 방법 및 시스템
US10353938B1 (en) 2012-03-02 2019-07-16 Google Llc Aggregating activity data for multiple users
US10140367B2 (en) * 2012-04-30 2018-11-27 Mastercard International Incorporated Apparatus, method and computer program product for characterizing an individual based on musical preferences
CN103795689A (zh) * 2012-10-29 2014-05-14 中兴通讯股份有限公司 资源订阅方法及装置
US20140280531A1 (en) * 2013-03-13 2014-09-18 Xin Liu Object ranking and recommendations within a social network
CN104346263B (zh) * 2013-07-23 2018-04-27 腾讯科技(深圳)有限公司 一种终端性能排名方法及装置
US9753989B2 (en) * 2014-02-19 2017-09-05 Telefonaktiebolaget Lm Ericsson (Publ) Method, content ranking system, and computer program product for ranking content based on subscriber information
US9836765B2 (en) 2014-05-19 2017-12-05 Kibo Software, Inc. System and method for context-aware recommendation through user activity change detection
US10341458B2 (en) * 2014-06-30 2019-07-02 EMC IP Holding Company LLC Predicting a sub-set of resources to be migrated to a new location based on a mobile device's interactions with resources at a first location and a predicted period of time the mobile device is to be in the new location
US10417593B1 (en) * 2014-12-31 2019-09-17 VCE IP Holding Company LLC System and method for comparing computing resource offerings
CN106294579B (zh) * 2016-07-27 2019-08-23 北京奇虎科技有限公司 一种定制搜索方法及装置
CN106874416A (zh) * 2017-01-23 2017-06-20 腾讯科技(深圳)有限公司 排行榜单生成方法及排行榜单生成装置
US11442748B2 (en) * 2017-04-26 2022-09-13 Citrix Systems, Inc. Application display and discovery by predicting behavior through machine-learning
CN107493467B (zh) * 2017-07-06 2019-04-19 北京奇艺世纪科技有限公司 一种视频质量评估方法及装置
WO2019195690A1 (en) * 2018-04-06 2019-10-10 Convida Wireless, Llc Mechanisms for service layer resource ranking and enhanced resource discovery
CN109753601B (zh) * 2018-11-28 2021-10-22 北京奇艺世纪科技有限公司 推荐信息点击率确定方法、装置及电子设备
CN113723696B (zh) * 2021-09-07 2023-08-08 上海达梦数据库有限公司 一种排名分析函数处理方法、装置、电子设备及存储介质

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3486043B2 (ja) 1996-03-11 2004-01-13 株式会社東芝 ソフトウエア流通システムの動作方法及びソフトウエアシステム
US6078916A (en) * 1997-08-01 2000-06-20 Culliss; Gary Method for organizing information
US6370526B1 (en) * 1999-05-18 2002-04-09 International Business Machines Corporation Self-adaptive method and system for providing a user-preferred ranking order of object sets
US6873982B1 (en) * 1999-07-16 2005-03-29 International Business Machines Corporation Ordering of database search results based on user feedback
US7353246B1 (en) 1999-07-30 2008-04-01 Miva Direct, Inc. System and method for enabling information associations
US6997821B2 (en) * 1999-11-01 2006-02-14 Callaway Golf Company Golf club head
US6981040B1 (en) 1999-12-28 2005-12-27 Utopy, Inc. Automatic, personalized online information and product services
US6697821B2 (en) * 2000-03-15 2004-02-24 Süccesses.com, Inc. Content development management system and method
US20020103798A1 (en) 2001-02-01 2002-08-01 Abrol Mani S. Adaptive document ranking method based on user behavior
KR20030003396A (ko) * 2001-06-30 2003-01-10 주식회사 케이티 사용자의 분야별 선호 프로파일을 이용한 컨텐츠 추천서비스 방법
US8117072B2 (en) 2001-11-13 2012-02-14 International Business Machines Corporation Promoting strategic documents by bias ranking of search results on a web browser
US7363254B2 (en) * 2001-11-30 2008-04-22 Skinner Christopher J Automated web ranking bid management account system
US7295996B2 (en) * 2001-11-30 2007-11-13 Skinner Christopher J Automated web ranking bid management account system
US20040249821A1 (en) * 2002-01-07 2004-12-09 Zach Nies Automated support of user interaction with information resources
US7111000B2 (en) * 2003-01-06 2006-09-19 Microsoft Corporation Retrieval of structured documents
US7167193B2 (en) 2003-02-28 2007-01-23 Eastman Kodak Company Active cooling system for laser imager
KR100667917B1 (ko) * 2003-05-16 2007-01-11 엔에이치엔(주) 웹사이트 검색 서비스 제공 방법 및 그 시스템
KR100810438B1 (ko) * 2003-05-20 2008-03-04 김영민 현재 시간 기반 무선 단말 장치 영상 컨텐츠 제공 및 추천 아이템을 통한 추천 시스템
US8028078B2 (en) * 2003-08-07 2011-09-27 Teamon Systems, Inc. Communications system including protocol interface device providing enhanced operating protocol selection features and related methods
US7774486B2 (en) * 2003-08-11 2010-08-10 Teamon Systems, Inc. Communications system providing multi-layered extensible protocol interface and related methods
US20060235873A1 (en) * 2003-10-22 2006-10-19 Jookster Networks, Inc. Social network-based internet search engine
US20050102358A1 (en) * 2003-11-10 2005-05-12 Gold Stuart A. Web page monitoring and collaboration system
US7634472B2 (en) * 2003-12-01 2009-12-15 Yahoo! Inc. Click-through re-ranking of images and other data
US20060047649A1 (en) * 2003-12-29 2006-03-02 Ping Liang Internet and computer information retrieval and mining with intelligent conceptual filtering, visualization and automation
US7249126B1 (en) * 2003-12-30 2007-07-24 Shopping.Com Systems and methods for dynamically updating relevance of a selected item
US20050149498A1 (en) * 2003-12-31 2005-07-07 Stephen Lawrence Methods and systems for improving a search ranking using article information
US7716223B2 (en) * 2004-03-29 2010-05-11 Google Inc. Variable personalization of search results in a search engine
US20060155764A1 (en) * 2004-08-27 2006-07-13 Peng Tao Personal online information management system
US20060064411A1 (en) * 2004-09-22 2006-03-23 William Gross Search engine using user intent
US7761448B2 (en) * 2004-09-30 2010-07-20 Microsoft Corporation System and method for ranking search results using click distance
US20060288001A1 (en) * 2005-06-20 2006-12-21 Costa Rafael Rego P R System and method for dynamically identifying the best search engines and searchable databases for a query, and model of presentation of results - the search assistant
US8560385B2 (en) * 2005-09-02 2013-10-15 Bees & Pollen Ltd. Advertising and incentives over a social network
KR100715143B1 (ko) * 2005-10-27 2007-05-10 니트젠테크놀러지스 주식회사 스트리밍 기반의 컨텐츠 분산형 네트워크 시스템과 파일 분할, 병합 및 재생 방법
US7792858B2 (en) * 2005-12-21 2010-09-07 Ebay Inc. Computer-implemented method and system for combining keywords into logical clusters that share similar behavior with respect to a considered dimension
US20070266025A1 (en) * 2006-05-12 2007-11-15 Microsoft Corporation Implicit tokenized result ranking
US7624103B2 (en) * 2006-07-21 2009-11-24 Aol Llc Culturally relevant search results
US7783622B1 (en) * 2006-07-21 2010-08-24 Aol Inc. Identification of electronic content significant to a user
CN101589360A (zh) 2006-10-18 2009-11-25 谷歌公司 适合于联合的通用在线排名***和方法

Also Published As

Publication number Publication date
US20110208756A1 (en) 2011-08-25
US8468197B2 (en) 2013-06-18
EP2482208A3 (en) 2013-10-23
WO2008049092A2 (en) 2008-04-24
US20080097986A1 (en) 2008-04-24
EP2092420A2 (en) 2009-08-26
US8484343B2 (en) 2013-07-09
US7953741B2 (en) 2011-05-31
US20120254198A1 (en) 2012-10-04
US8180782B2 (en) 2012-05-15
US7984049B2 (en) 2011-07-19
EP2092420A4 (en) 2010-03-10
EP2482208A2 (en) 2012-08-01
US20080098058A1 (en) 2008-04-24
CN101589360A (zh) 2009-11-25
KR20090080982A (ko) 2009-07-27
WO2008049092A3 (en) 2008-12-31
EP2092420B1 (en) 2018-08-01
US8312004B2 (en) 2012-11-13
KR20140104048A (ko) 2014-08-27
US20110270916A1 (en) 2011-11-03
US20080097987A1 (en) 2008-04-24

Similar Documents

Publication Publication Date Title
KR101622742B1 (ko) 신디케이션에 적합한 포괄적인 온라인 랭킹 시스템 및 방법
US11281620B2 (en) Method of and system for enhanced local-device content discovery
CN108681604B (zh) 导航到流行的搜索结果
KR101214688B1 (ko) 콘텐츠의 집계, 배포, 공유, 및 업데이트의 사회적 측면들
US10430830B2 (en) Advertisement selection using uncertain user data
US20160189214A1 (en) Personalizing Advertisements Using Subscription Data
US11836167B2 (en) Search suggestions based on native application history
US20130166528A1 (en) System And Method For Generating A Search Index And Executing A Context-Sensitive Search
US8122049B2 (en) Advertising service based on content and user log mining
WO2013067462A1 (en) Social web browsing
US9065827B1 (en) Browser-based provisioning of quality metadata
US8898297B1 (en) Device attribute-customized metadata for browser users
US20150193537A1 (en) Navigation through a collection of electronic documents
Kwangsawad et al. The performance evaluation of a website using automated evaluation tools
US8140508B2 (en) System and method for contextual commands in a search results page
US20220292144A1 (en) Provision of different content pages based on varying user interactions with a single content item
WO2013110093A1 (en) Optimizing location and mobile search

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
A107 Divisional application of patent
AMND Amendment
J201 Request for trial against refusal decision
A107 Divisional application of patent
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20140711

Effective date: 20150528

S901 Examination by remand of revocation
E902 Notification of reason for refusal
FPAY Annual fee payment

Payment date: 20190425

Year of fee payment: 4