KR20220062673A - 퍼베이시브 서치 아키텍처 - Google Patents

퍼베이시브 서치 아키텍처 Download PDF

Info

Publication number
KR20220062673A
KR20220062673A KR1020227014555A KR20227014555A KR20220062673A KR 20220062673 A KR20220062673 A KR 20220062673A KR 1020227014555 A KR1020227014555 A KR 1020227014555A KR 20227014555 A KR20227014555 A KR 20227014555A KR 20220062673 A KR20220062673 A KR 20220062673A
Authority
KR
South Korea
Prior art keywords
user
content
item
index
query
Prior art date
Application number
KR1020227014555A
Other languages
English (en)
Other versions
KR102506120B1 (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 KR20220062673A publication Critical patent/KR20220062673A/ko
Application granted granted Critical
Publication of KR102506120B1 publication Critical patent/KR102506120B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/432Query formulation
    • G06F16/434Query formulation using image data, e.g. images, photos, pictures taken by a user
    • 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
    • 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/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Development Economics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

질의 사용자의 개인 콘텐트를 색인화하고 다른 사용자에 의해 그 사용자에게 액세스가능한 것이게 하게 된 퍼베이시브 서치 아키텍처. 개인 콘텐트 로케이션의 컴퓨트 노드는 색인 생성 및 색인의 제공을 가능하게 한다. 색인은 개인 콘텐트 로케이션에 저장된 개인 콘텐트를 위해 생성된다. 주어진 콘텐트 로케이션에 대해, 색인은 액세스 허가와 함께 로케이션의 세트 내에 저장된 콘텐트를 캡슐화할 수 있다. 색인화 애플리케이션은 개인 콘텐트 로케이션에서 주기적으로 구동되고 공유 로케이션에 추가되는 콘텐트를 증분적으로 색인화한다. 동일한 애플리케이션은 사용자로 하여금 서치에의 참여를 위해 원하는 액세스 허가로써 로케이션을 구성할 수 있게 한다.

Description

퍼베이시브 서치 아키텍처{PERVASIVE SEARCH ARCHITECTURE}
현재 온라인 서치(online search)는 온라인에 있는 (서버 상에서 호스팅되고(hosted) 이용가능한) 공용 문서에 제한되어 있다. 현재의 서치 엔진은 웹(web)의 공개적으로 이용가능한 이 문서들을 크롤링하고(crawl) 색인화하며(index), 본질적으로 서치 용어 또는 질의를 관련 문서의 리스트(list)로 맵핑하는 색인을 생성한다. 그러나, 이 서치 색인(search index)은 개인 디바이스들, 예를 들어 하드 드라이브들 및 다른 데이터 저장 디바이스들, 방대한 양의 콘텐트를 다루는 저장 디바이스들 상에 존재하는 개인 데이터(personal data)로의 액세스(access)를 전혀 갖지 않는다. 더욱이, 설령 사용자들이 자신의 개인 데이터를 공유하더라도, 이 데이터를 색인화하고, 이들 사용자가 그 데이터를 공유하기로 선택한 사용자들에 의해 수행되는 서치에 이 데이터가 이용될 수 있게 하는 수단이 전혀 없다.
선행기술문헌:US2005/0289110 A1(2005.12.29.공개)
이하는 본 문서에 기술된 몇몇 신규한 실시예의 기본적인 이해를 제공하기 위해서 단순화된 개요를 제시한다. 이 개요는 광범위한 개관이 아니며, 중요한/결정적인 구성요소를 식별하거나 그 범주를 묘사하도록 의도된 것이 아니다. 유일한 목적은 이후에 제시되는 더욱 상세한 설명의 서두로서 단순화된 형태로 몇몇 개념을 제시하는 것이다.
개시된 아키텍처(architecture)는, 사용자의 퍼베이시브 네트워크(pervasive network) - 사용자의 개인 콘텐트 로케이션(personal content location)(가령, 개인 디바이스) 상에 저장되고 보통은 다른 사용자에 의해 액세스가능하지 않은 액세스 제한된(access-restricted) (개인) 콘텐트, 질의 사용자에게 공유하는 것을 위해 가능하게 된 다른 사용자의 액세스 제한된 콘텐트, 그리고 액세스 기준에 기반하여 사용자에게 액세스가능한 교통 카메라, 실외 환경 모니터링 센서 시스템 등등과 같은 다른 공개적으로 이용가능한 센서 시스템으로부터 직접적으로 액세스가능한 콘텐트의 저장 로케이션들(storage locations) - 도 직접적으로 고려함으로써, 질의(query)를 제출하는 사용자(질의 사용자(querying user))에게 서치 결과로서 회신(return)되도록 고려되는 관련 콘텐트의 양을 넓히는 퍼베이시브 서치 모델(pervasive search model)이다.
그 서치 모델은 서치 프로세스가 이제 개인 콘텐트(personal content)로 확장된다는 점에서 "퍼베이시브"(pervasive)인데, 이는 보통 서치와 연관된(즉, 인터넷) 콘텐트를 훨씬 넘어선다. 예컨대, 이것은 질의 사용자의 개인 콘텐트 및 사용자의 친구의 공유 콘텐트(shared content)를 포함한다. 그 모델은 액세스 허가 또는 다른 기준, 예를 들어 물리적 접근성에 의해 허용되는 바와 같이 서치를 위해 액세스가능하게 될 수 있기도 한, 개인 카메라(personal camera), 스마트폰(smartphone) 등등과 같은 다른 사용자 디바이스의 개인 콘텐트 로케이션에 저장된 질의 사용자의 개인 콘텐트에 대해 퍼베이시브이기도 하다.
개시된 퍼베이시브 서치 모델은, 퍼베이시브 네트워크의 잠재적으로 액세스가능한 센서 시스템 및 (가령, 디바이스와 연관될 수 있는) 개인 콘텐트 로케이션 중 하나 이상에 저장된 로컬(local) 및/또는 분배된(distributed) 색인을 사용하여, 개인 콘텐트 결과의 서치 및 회신을 가능하게 한다. 그러므로, 전체적인 퍼베이시브 서치 프로세스는, 온라인 서치 엔진(들)에 의해 수행되는 서치와의 조합으로는 물론, 직접적으로 개인 콘텐트 로케이션과 연관되어 수행됨으로써 분배된다. 그러나, 온라인 서치는 그 서치를 개인 콘텐트 로케이션들의 퍼베이시브 네트워크에만 한정하기로 택하는 경우에는 전혀 수행될 필요가 없다.
퍼베이시브 서치 아키텍처는 컴퓨트 노드(compute node)에 의해 가능하게 된다. 퍼베이시브 네트워크의 각각의 개인 콘텐트 로케이션은 연관된 컴퓨트 노드를 가질 수 있다. 각각의 개인 콘텐트 로케이션은 또한 서치 엔진을 가질 수 있는데, 다만 이것은 필수요건이 아니다. 질의가 질의 사용자에 의해 처리를 위해 제출되는 경우, 질의는 처리를 위해 온라인 서치 엔진(기존의 웹 기반 엔진(들))에 송신된다. 온라인 서치 엔진은 질의를 온라인 콘텐트의 그것의 온라인 색인(online index)에 견주어(against) 처리하고, 또한 질의를 개인 콘텐트 로케이션에도 제출하여, 이로부터 사용자는 질의 사용자의 개인 콘텐트 및 (그 사용자 또는 다른 사용자의) 개인 콘텐트 로케이션으로부터의 임의의 다른 개인 (가령, 공유) 콘텐트의 처리 및 회신을 위한 질의를 작성한다.
"퍼베이시브" 서치 엔진(퍼베이시브 네트워크 및/또는 퍼베이시브 네트워크의 개인 콘텐트 로케이션과 어떤 식으로 연관된 서치 엔진)이 웹 기반 서치 엔진으로부터 또는 서치가 개시되는 개인 콘텐트 로케이션의 애플리케이션으로부터 질의를 수신하고 개인 콘텐트 로케이션 컴퓨트 노드와 상호작용(가령, 컴퓨트 노드에 질의를 전달하는 것인데, 다만 이것은 개인 콘텐트 로케이션에서만 서치하는 것을 위해서는 요구되지 않을 수 있기는 함)하여 컴퓨트 노드 생성 색인(compute-node generated index)을 액세스하고 사용자의 개인 콘텐트 로케이션의 개인적으로 저장된 콘텐트의 컴퓨트 노드 생성 색인에 견주어 질의를 처리한다.
퍼베이시브 서치 엔진에 의한 질의 처리를 위해 색인을 제공하는 것은 컴퓨트 노드들인데, 그것들은 상이한 개인 콘텐트 로케이션들(가령, 사용자의 다른 개인 콘텐트 로케이션들, 다른 사용자들의 다른 개인 콘텐트 로케이션 등등) 간에 질의 전달(query-passing)을 가능하게 하고 그것들은 개인 콘텐트를(가령, 공유됨) 액세스를 위해 이용가능하게 한다. 컴퓨트 노드는 퍼베이시브 서치 엔진에 의한 개인 콘텐트 색인에의 액세스를 가능하게 한다(색인을 "제공한다"). 퍼베이시브 서치 엔진은 개인 콘텐트 색인에 견주어 질의를 처리하고, 컴퓨트 노드는 퍼베이시브 서치 엔진에 결과로서 개인 콘텐트 중 전부 또는 일부를 회신하거나 개인 콘텐트 중 아무 것도 회신하지 않는다.
퍼베이시브 네트워크의 다른 개인 콘텐트 로케이션으로부터 관련 개인 콘텐트를 회신하는 것을 촉진하고자, 질의 사용자의 개인 콘텐트 로케이션(이제부터, 제1 개인 콘텐트 로케이션)에서 수신된 질의는 이후 제1 개인 콘텐트 로케이션의 컴퓨트 노드로부터 자신의 개인 콘텐트 중 일부 또는 전부로의 액세스를 질의 사용자와 공유하고 있는 제2 사용자의 제2 개인 콘텐트 로케이션의 컴퓨트 노드로 송신된다. 제2 개인 콘텐트 로케이션 상의 제2 컴퓨트 노드는 개인 콘텐트(공유 개인 콘텐트(shared personal content)는 이의 일부임)를 포함하는 제2 색인(또는 이의 업데이트된 버전)을 이미 준비하였고 제2 개인 콘텐트 로케이션의 제2 색인을 제1 개인 콘텐트 로케이션의 컴퓨트 노드에 제공한다. 제1 개인 콘텐트 로케이션과 연관된 퍼베이시브 서치 엔진이 이후 제2 개인 콘텐트 로케이션의 제공된 색인에 견주어 질의를 처리하고, 서치된 문서는 제2 개인 콘텐트 로케이션으로부터 요청된다. 제2 개인 콘텐트 로케이션의 컴퓨트 노드는 이후 제1 개인 콘텐트 로케이션의 컴퓨트 노드에 관련 공유 개인 결과를 회신한다. 온라인 서치 결과 및 퍼베이시브 네트워크 서치 결과는 이후 질의 사용자에게 제시된다.
대안적인 구현에서, 제2 개인 콘텐트 로케이션과 연관된 퍼베이시브 서치 엔진이 제2 개인 콘텐트 로케이션의 컴퓨트 노드(이제부터, 제2 컴퓨트 노드)에 인터페이스되고(interface) 제2 컴퓨트 노드는 질의의 처리를 가능하게 하기 위해 제2 색인을 제공하고 또한 개인 콘텐트 결과를 제2 개인 콘텐트 로케이션의 퍼베이시브 서치 엔진에 제공하는데, 그 퍼베이시브 서치 엔진은 이후 그 결과를 제시를 위해 제1 개인 콘텐트 로케이션의 퍼베이시브 서치 엔진에 송신한다.
제1 개인 콘텐트 로케이션에 의해 사용되고 있는 서치 애플리케이션, 예컨대 브라우저는, 이후 온라인 결과를 온라인 서치 엔진으로부터, 그리고 퍼베이시브 네트워크 결과를 직접적으로 제1 개인 콘텐트 로케이션의 퍼베이시브 서치 엔진으로부터, 제시를 위해, 수신한다.
개인 콘텐트 로케이션의 컴퓨트 노드는 색인화 컴포넌트(index component) 및 제공 컴포넌트(serve component)를 포함하는데, 그것들은 주어진 개인 콘텐트 로케이션에서 개인 콘텐트의 색인 생성을 수행하고, 서치를 위한 연관된 개인 콘텐트의 회신을 가능하게 하기 위해 색인으로의 액세스를 가능하게 하는 하나 이상의 애플리케이션이다. 색인은 태그를 콘텐트의 한 부분(a piece of content)으로 맵핑하고 개인 콘텐트 로케이션(가령, 디바이스)에 저장된 콘텐트의 세트(set)에 대해 생성된다. 주어진 개인 콘텐트 로케이션에 대해, 색인은 액세스 허가와 함께 디렉토리의 세트 내에 저장된 콘텐트를 캡슐화할(encapsulate) 수 있다. 색인을 생성하기 위한 애플리케이션(들)은 개인 콘텐트 로케이션에서 주기적으로 구동되고, 비공유(un-shared)("사적"(private)) 데이터에 대해서는 물론, 공유된 디렉토리 및/또는 메모리 파티션에 추가된 데이터를 증분적으로(incrementally) 색인화한다. 사용자로 하여금 퍼베이시브 네트워크 서치에의 참여를 위해 원하는 액세스 허가로써 디렉토리를 구성할 수 있게 하는 데에 동일한 애플리케이션(들)이 사용될 수 있다.
제공 컴포넌트는 개인 콘텐트 로케이션에 송신된 질의에 대해 색인을 제공하고 관련 개인 콘텐트를 퍼베이시브 네트워크 서치 결과로서 회신한다. 제공 컴포넌트는 질의를 발행하는 사용자(질의 사용자)의 ID(식별(identification)) 및 연관된 액세스 허가를 체크하고, 이후 해당 사용자와 공유될 데이터를 위해 색인을 처리한다. 제공 컴포넌트는 이후 질의에 대해 관련 있는 색인화된 태그를 찾고 사용자를 위해 공유된 공유 개인 콘텐트로의 경로를 회신한다.
상이한 개인 콘텐트 로케이션에서의(가령, 상이한 저장 디바이스 상의) 선택적으로 네트워크화된(selectively-networked) 퍼베이시브 컴퓨트 노드는 질의 사용자에 의해 발행된 질의에 대한 결과를 제공한다. 주어진 질의가 송신될 컴퓨트 노드의 선택은 사용자의 ID, 그리고 사용자 자신의 것이든 및/또는 사용자의 퍼베이시브 네트워크 내의 친구의 공유 데이터(shared data)든 공유 데이터에 관한 사용자의 네트워크에 달려 있다.
퍼베이시브 서치 아키텍처는 서치 색인 분배(search index distribution)를 가능하게 한다. 컴퓨트 노드에서의 색인은 콘텐트로의 태그의 맵핑을 항상 갖지는 않을 수 있는데--그것은 다른 디바이스(또는 데이터 로케이션) 상의 다른 색인의 세트로의 태그의 맵핑일 수 있다. 해당 노드(제1 노드)에 도달하는 주어진 질의에 대해, 그 노드는 질의를 다른 개인 콘텐트 로케이션(가령, 다른 디바이스의 컴퓨트 노드)의 세트로 그 다른 개인 콘텐트 로케이션 상의 액세스 허가 및 공유 데이터에 따라 분배하거나 발송할(forward) 수 있다. 그러므로, 질의 처리는 몇 개의 퍼베이시브 네트워크 개인 콘텐트 로케이션 상에서 병렬 방식으로 수행될 수 있다. 마찬가지로, 몇 개의 개인 콘텐트 로케이션으로부터의 결과는 각각의 공유 컴퓨트 노드가 완료함에 따라 제1 노드에 회신될 수 있다.
대안적으로, 또는 이와 조합하여, 제1 컴퓨트 노드의 질의 발송 프로세스는, 질의를 퍼베이시브 네트워크의 모든 컴퓨트 노드에 송신하는 것보다는, 제1 컴퓨트 노드(질의 분배 노드)에 의해 "알려진" 색인에 기반할 수 있다. 그러므로, 퍼베이시브 네트워크 상의 개인 콘텐트 로케이션(그리고 이의 컴퓨트 노드)은 개인 콘텐트 로케이션이 공유 정보(shared information)의 색인을 가질 뿐만 아니라, 임의의 컴퓨트 노드가 이전에 알고 있는 색인으로의 업데이트를 다른 컴퓨트 노드에 통지한다는 것을 나타내는 색인 생성 데이터를 공유할 수 있다.
이 지식은, 제1 개인 콘텐트 로케이션에(가령, 디바이스 상에) 저장(복제)되어 있으며 제1 컴퓨트 노드에 의해 색인 리던던시(index redundancy)의 일부로서 알려져 있는 하나 이상의 색인을 분석하는 것의 형태로 될 수 있어서, 질의 사용자의 공유하는 개인 콘텐트 로케이션 및/또는 심지어 다른 개인 콘텐트 로케이션의 고장(failure)도 제1 개인 콘텐트 로케이션(그리고 제1 컴퓨트 노드)으로부터의 복제된 색인을 사용하여 손쉽게 회복될 수 있다. 추가적으로, 제1 컴퓨트 노드는 고장났거나 또는 오프라인 상태의 공유 컴퓨트 노드에 대한 로컬로 저장된 복제된 색인을 통하여 콘텐트 지식을 가지므로, 제1 컴퓨트 노드는, 대단히 관련 있는 콘텐트로서, 이 고장난 컴퓨트 노드(개인 콘텐트 로케이션)가 적시에 온라인으로 퍼베이시브 네트워크에 복귀하고 있지 않다고 판단 내리기 전에 짧은 시구간(가령, 수초)을 대기함으로써 획득될 수 있었을 콘텐트가 걸러져야(skipped) 한다고 판정하는 것이 가능할 수 있다.
예컨대, (개인 콘텐트 로케이션을 갖는) 개인 사용자 카메라는 다수의 이미지를 포착하기(capture) 위해 (홈 네트워크(home network)에서 떨어져) 당일치기 여행에 가져갈 수 있으니 - 카메라는 퍼베이시브 네트워크에 대해 오프라인일 수 있다. 카메라의 카메라 컴퓨트 노드는 그날 찍힌 모든 포착된 이미지와 거기에 저장된 다른 데이터를 색인화한다. 그러나, 집에 도착한 후, 카메라는 (퍼베이시브 네트워크의 일부일 수 있는) 홈 네트워크에 (가령, 테더링된 연결(tethered connection), 무선 연결 등등을 통하여) 온라인으로 있게 될 수 있고, 포착된 이미지는 질의 사용자에 의해 서치가능하다(searchable). 대안적으로, 카메라의 데이터는 저장 매체(가령, 플래시 메모리 칩)를 카메라에서 제거하고 (퍼베이시브 네트워크에 온라인인) 네트워크화된 홈 컴퓨터(home computer)로 저장 매체를 연결함(플래시 메모리 칩을 삽입함)으로써 온라인으로 액세스가능한 것이게 될 수 있다. 컴퓨트 노드에 의해 생성되고 저장 매체 상에 저장된 색인은 이후 홈 컴퓨터로부터 관련된 질의에 대해 이미지(개인 콘텐트)를 거기로부터 회신하기 위해 액세스가능하고 서치가능하다.
컴퓨트 노드는 또한 하드웨어 센서를 활용하여 온도, 습도, 압력, 교통량 등등의 환경적 조건과 같은 물리적 신호를 감지하고 그 신호를 데이터로 변환하는 센서 시스템 상에서 적용되고 동작할 수 있다. 다른 센서 시스템은 교통량 추이(traffic movement), 거리 움직임(street activity) 등등과 같은 장면의 이미지 신호를 포착하는 카메라를 이용할 수 있다. 이들 센서 시스템은, 시스템에 저장되고/되거나 실시간으로 센서로부터 직접적으로 획득되는 감지된 콘텐트 또는 데이터(센서 시스템에 대해 "개인적"인 데이터이고 그것은 어느 정도로 액세스 제한되거나 조건부일 수 있음)의 색인을 생성하기 위해 컴퓨트 노드를 각각 이용하고, 이후 색인 및 관련 데이터/콘텐트를 질의 사용자에게 제공할 수 있다. 그러므로, 서치는, 연관된 이벤트가 이미 발생하고 나서 잠시 후에 서버로부터 데이터를 액세스하는 것보다, 실시간 또는 실질적으로 실시간인 결과를 획득하기 위해 직접적으로 센서 시스템으로 처리될 수 있다.
센서 시스템 데이터는 어떤 기준이 충족되는 경우에만 그것의 데이터로의 액세스가 허용되도록 제한된 액세스일 수 있다. 예컨대, 만약 사용자 디바이스가 시스템의 사전정의된 거리(가령, 1 마일, 100 피트 등등) 내에 있는 경우에 사용자에게 센서 시스템의 실시간 데이터로의 액세스가 허용될 뿐일 것이다. 만약 그렇다면, 센서 시스템은 그 사용자를 위한 퍼베이시브 네트워크의 일부가 되고 기준들이 (기준이) 더 이상 충족되지 않을 때까지 센서 시스템 개인 콘텐트의 일부 또는 전부를 공유한다. 이 능력은, 거리가 멀리 떨어져 있고 딜(deal)을 위해 가게에 올 것 같지 않은 사용자가 아니라, 가게의 근거리 내(기준)에 있는 사용자에게만 쿠폰과 딜을 푸시하기(push)를 원하는 소매점과의 특별한 쓰임새를 마련한다. 그러므로, 소매상은 딜이 가게 될 사람들의 그룹과 거리에 대해 선택적일 수 있다.
전술한 목표 및 관련된 목표의 성취를 위해, 어떤 예시적인 양상이 이하의 설명 및 첨부된 도면과 관련되어 본 문서에 기술된다. 이들 양상은 본 문서에 개시된 원리가 실시될 수 있는 다양한 방식을 나타내는 것이고 이의 모든 양상 및 균등물은 청구된 대상물(claimed subject matter)의 범주 내에 있도록 의도된다. 다른 이점 및 신규한 특징은 도면과 함께 고려될 때 이하의 상세한 설명으로부터 명백하게 될 것이다.
도 1은 개시된 아키텍처에 따른 시스템을 보여준다.
도 2는 컴퓨트 노드 및 퍼베이시브 네트워크와의 서치 엔진의 사용을 다루는 시스템을 보여준다.
도 3은 퍼베이시브 네트워크 컴퓨트 노드가 하나 이상의 개인 콘텐트 로케이션을 위한 컴퓨트 노드 동작을 수행하는 대안적인 퍼베이시브 네트워크를 보여준다.
도 4는 개시된 아키텍처에 따른 대안적인 시스템을 보여준다.
도 5는 웹 문서 및 공유 문서를 서치 결과로서 제공하는 시스템을 보여준다.
도 6은 사용자 디바이스의 공유 문서의 색인을 생성하는 퍼베이시브 네트워크 컴퓨트 노드의 색인기 컴포넌트(indexer component)를 보여준다.
도 7은 유입 질의(incoming query)에 대해 색인 및 관련 문서를 제공하는 컴퓨트 노드의 제공 시스템(serve system)을 보여준다.
도 8은 컴퓨트 노드를 위한 분배된 색인화 시스템(distributed indexing system)을 보여준다.
도 9는 다양한 콘텐트 로케이션을 위해 색인을 업데이트하고 액세스하는 것을 가능하게 하는 색인 인터페이스(index interface)를 보여준다.
도 10은 개인 데이터가 질의에 대해 서치되고 회신될 수 있게 하는 퍼베이시브 서치를 위한 예시적인 사용자 인터페이스를 보여준다.
도 11은 개인 데이터가 질의에 대해 서치되고 회신될 수 있게 하는 퍼베이시브 서치를 위한 예시적인 사용자 인터페이스를 보여준다.
도 12는 사용자 인터페이스의 SERP 내에 제시된 퍼베이시브 결과의 더욱 상세화된 예를 보여준다.
도 13은 개시된 아키텍처에 따른 방법을 보여준다.
도 14는 개시된 아키텍처에 따른 대안적인 방법을 보여준다.
도 15는 개시된 아키텍처에 따른 방법을 보여준다.
도 16은 개시된 아키텍처에 따른 대안적인 방법을 보여준다.
도 17은 개시된 아키텍처에 따라 퍼베이시브 서치 컴퓨팅(pervasive search computing)을 실행하는 컴퓨팅 시스템의 블록 다이어그램(block diagram)을 보여준다.
사용자, 사용자 저장 디바이스 및 그의 사회 집단(social group)과 함께 있고, 서치하기 위해 이용가능하게 되는 것이 요망되는 매우 액세스 제한된 개인 콘텐트가 있다. 개인 콘텐트는, 단지 몇 개만 예를 들면, 사진, 비디오, 메모(note), 텍스트 문서, 스프레드시트(spreadsheet), (전반적인) 애플리케이션 문서, 리뷰(review), 영수증, 쿠폰, 애플리케이션, 블로그 포스트(blog post), 팟캐스트(podcast), 오디오 파일, 음악 파일, 이메일 및 다른 메시지, 그리고 3D (3차원) 모델을 포함하나, 이에 한정되지 않는데, 그것은 통상 서치에서 고려되는 것이 아니나, 액세스에서는 제한되고, 따라서 통상 웹 기반 서치의 일부로서 서치되지 않는다.
개인화된 데이터가 평균적인 사용자에 의해 월 단위로 점점 더 많은 양(가령, 5 GB)이 생성되고 개인 스토리지(personal storage) 상에, 예를 들어 내부 하드 드라이브, 외부 직렬 디바이스(가령, 플래시 드라이브) 및/또는 (가령, 사용자 또는 사용자를 대신하여 다른 적합한 개체에 의해 개인적으로 관리되는) 클라우드 스토리지(cloud storage)를 포함하는 (가령, 내부의, 부착된, 기타 등등의) 개인 저장 디바이스 상에 저장되고 있다. 더욱이, 개인 데이터의 단편(fraction)만이, 소셜 웹사이트(social website)(가령, 페이스북(Facebook™), 인스타그램(Instagram™), 플리커(Flickr™), 유튜브(YouTube™) 등등)를 통해 공유되는 개인 데이터 중 많은 것과 함께, (가령, 온라인으로 또는 다른 식으로) 공유되고 있다. 더욱이 개인 데이터의 방대한 양이 카메라(공용 및 사용자 개인용) 및 스마트폰과 같은 모바일 디바이스를 포함하는 센서 시스템과 같은 액세스 제한된 시스템 상에서 로컬로 생성 및 저장되고 있다.
개시된 아키텍처는, 사용자의 퍼베이시브 네트워크 - 사용자의 개인 콘텐트 로케이션(가령, 개인 디바이스, 사용자의 폴더, 사용자의 디렉토리 등등)에 저장되고 다른 사용자에 의해 액세스가능하지 않은 액세스 제한된 콘텐트, 질의 사용자에게 공유하는 것을 위해 가능하게 된 다른 사용자의 액세스 제한된 콘텐트, 그리고 액세스 기준에 기반하여 사용자에게 액세스가능한 교통 카메라, 실외 환경 모니터링 센서 시스템 등등과 같은 다른 공개적으로 이용가능한 센서 시스템으로부터 직접적으로 액세스가능한 콘텐트의 개인 콘텐트 저장 로케이션들 - 도 직접적으로 고려함으로써, 질의를 제출하는 사용자(질의 사용자)에게 서치 결과로서 회신되도록 고려되는 관련 콘텐트의 양을 넓히는 퍼베이시브 서치 모델이다.
퍼베이시브 서치 아키텍처는 개인 콘텐트 로케이션과 함께 동작하는 컴퓨트 노드에 의해 가능하게 된다. 컴퓨트 노드는 개인 콘텐트 로케이션의 개인 콘텐트의 사적 색인(private index)을 적어도 생성한다. 온라인 콘텐트 및 퍼베이시브 네트워크 콘텐트 양자 모두를 서치하는 경우, 사용자에 의한 질의가 처리를 위해 제출되는데, 질의는 처리를 위해 온라인 서치 엔진(가령, 웹 기반 엔진(들))에 송신된다. 온라인 서치 엔진은 질의를 온라인 콘텐트의 그것의 온라인 색인에 견주어 처리하고, 또한 질의를 개인 콘텐트 및 임의의 공유 개인 콘텐트의 서치 처리 및 회신을 위해 직접적으로 사용자 개인 콘텐트 로케이션에 제출한다. 사용자 개인 콘텐트 로케이션과 연관된 서치 엔진이 질의를 수신하고 컴퓨트 노드와 상호작용하여 질의를 개인 콘텐트 로케이션의 저장된 개인 콘텐트에 견주어 처리한다. 컴퓨트 노드는 서치 엔진에 의한 사적 색인으로의 액세스를 가능하게 한다. 서치 엔진은 질의를 사적 색인에 견주어 처리하고, 컴퓨트 노드는 서치에 대해 결과로서 개인 콘텐트를 회신한다(이것은 컴퓨트 노드가 "색인 및 임의의 연관된 개인 콘텐트를 제공하는 것"으로 지칭될 수 있음). 질의 사용자에게는 이후 표준적인 웹 기반 온라인 결과뿐만 아니라 개인 콘텐트 결과가 제시된다.
더욱 구체적으로, 개시된 아키텍처는, 몇 개만 예를 들면, 센서 시스템, 클라우드 저장 로케이션, 그리고 소셜 네트워크(social network)와 같은 사적 네트워크 데이터 소스(private network data source), 사용자 디바이스(들) 및 다른 사용자의 디바이스 상에 있는 등등인, 사용자 및 다른 사용자에 의해 액세스가능하게 된 개인 데이터로 서치를 확장하여, 이로써 사용자 및 다른 사용자의 개인 데이터를 색인화가능(indexable)하고 서치가능하게 하는 퍼베이시브 서치 패러다임(pervasive search paradigm)이다. 그 아키텍처는 피어-투-피어 레벨(peer-to-peer level)에서 개인 데이터의 공유 및 서치를 가능하게 한다. 개인 콘텐트 로케이션에서 개인 데이터의 각각의 세트에 대해 생성된 색인은, 데이터의 사용자(소유자)에 의해 사적으로 유지되고 또한 해당 데이터에 대해 모든 다른 사용자를 위한 액세스 허가를 유지한다. 액세스 허가는 색인과 별도로, 다만 이와 연관되어 저장되고/되거나, 색인 항목의 그룹에 대해 저장되고/되거나, 색인의 각 항목에 대해 매 항목 단위로(on an item-by-item basis) 저장될 수 있다.
본 문서에 기술된 바와 같은 퍼베이시브 서치 모델은 웹 기반 서치 엔진(가령, 빙(Bing™))이 아닌 엔진인 퍼베이시브 서치 엔진의 사용에 집중하는데, 다만, 이것은 퍼베이시브 네트워크 서치를 가능하게 하는 데에 전체로 또는 부분적으로 웹 기반 서치 엔진이 이용될 수 있다는 점에서 한정으로서 해석되어서는 안 된다.
퍼베이시브 아키텍처는 색인을 생성하고 색인을 질의의 결과와 더불어 질의를 위해 액세스가능한 것으로 만들기(색인 및 결과적인 콘텐트를 "제공하는 것"으로 또한 지칭됨) 위한 선택적으로 네트워크화된(가령, 인터넷, 기업, 피어-투-피어 연결 등등을 통해 액세스가능한) 컴퓨트 노드를 포함한다. 퍼베이시브 서치 모델은 개인 (그리고 공유) 데이터를 액세스하기 위한 적합한 허가와 함께 사용자에게 개인 데이터를 색인화하여 제공함으로써 개인 데이터(콘텐트)를 서치 및 인출(retrieval)을 위해 이용가능하게 한다.
사용자에 의해 이용가능하게 된 개인 콘텐트는 웹 상에서의 제한된 액세스에 따라 저장된 문서, 사용자의 하나 이상의 로컬 디바이스/시스템 상의 사용자의 개인 콘텐트, 그리고 사용자의 퍼베이시브 (개인적으로 액세스가능한) 네트워크 내의 다른 사용자에 의해 공유된 개인 콘텐트를 포함할 수 있다. 개인 콘텐트는 사진, 비디오, 텍스트 문서, 스프레드시트, 오디오, 영수증, 쿠폰, 음악, 팟캐스트, 이메일, 메모, 애플리케이션, 3D 모델, 블로그 포스트 등등(이 중 임의의 것 또는 전부는 색인화되고 사용자에 의해 질의하는 것을 위해 이용가능하게 될 수 있음)을 포함하나, 이에 한정되지 않는다.
개인 콘텐트는, 예를 들어, 콘텐트 소유자의 퍼베이시브 네트워크 내의 선택된 사용자에게 서치, 브라우즈(browse) 및 발견(discovery)을 위해 데이터를 (온 더 플라이(on-the-fly)--실시간으로) 색인화하여 제공할 수 있는 인터넷 연결된 카메라뿐만 아니라, 셀룰러 전화, 스마트폰, 태블릿과 같은 모바일 디바이스 상의 데이터를 포함할 수 있다. 인터넷 연결된 공용 카메라는 통상 데이터를 차후의 액세스를 위해 데이터베이스에 송신하는 센서 시스템의 더 큰 세트의 일부인데, 다만, 이들 센서 시스템으로부터의 데이터는 이제, 액세스 기준에 기반하여 센서 시스템으로부터 직접적으로 획득되는 바와 같이, 실시간으로, 퍼베이시브 네트워크를 통하여 주어진 사용자에게 이용가능하게 될 수 있다.
색인은, 예컨대, 개인 문서를 디바이스 외부에서 발행된 질의에 제공하는 목적으로 개인 콘텐트 로케이션에서의(가령, 디바이스 상의) 개인 콘텐트를 위해, 역 색인(inverted index)과 같은 임의의 이용가능한 색인화 기법을 사용하여 생성될 수 있다. 문서의 태그 및 다른 속성은 문서를 상이한 디바이스 상의 다른 사용자에 의해 발행된 질의를 위해 이용가능하게 하는 것으로 일람되어 색인화된다.
퍼베이시브 네트워크는 개인 콘텐트를 색인화하고 색인 및 개인 콘텐트를 사용자에 의해 발행된 질의에 제공하는 능력을 주는 컴퓨트 노드를 포함한다. 컴퓨트 노드는 실질적으로, 개인 콘텐트 로케이션에서 저장된 콘텐트의 색인을 생성하기 위해서는 물론, 새롭고 업데이트된 콘텐트가 수신되는 경우 색인을 업데이트하기 위해 디바이스 상에서 동작하는 코드이다. 컴퓨트 노드는 개인 콘텐트 로케이션에서의 모든 공유 및 비공유(non-shared) 콘텐트(에 대한 포인터)를 위한 색인을 생성하는 색인화 컴포넌트(색인기로 불리기도 함), 그리고 해당 개인 콘텐트 로케이션으로 지향된(directed) 질의를 위해 생성된 색인 및 결과(사용자 및/또는 다른 사용자의 개인 콘텐트)를 제공하는 제공 컴포넌트를 갖는다. 질의는 콘텐트의 소유자에 의해 또는 소유자의 퍼베이시브 네트워크(그것은 사용자의 사회 모임(social circle) 내의 친구 또는 다른 사용자를 포함하는데, 예컨대, 소유자는 그것에게 콘텐트가 이용가능한 것이게 하였음) 내의 다른 사용자에 의해 발행될 수 있다.
콘텐트 소유자의 공개적으로 서치가능한 개인 콘텐트에 관해서, 만약 콘텐트 소유자가 모든 이에게 개인 콘텐트의 어느 부분이든 이용가능한 것이게 하기로 선택하는 경우, 사용자에 의해 발행된 임의의 관련 질의는 그 콘텐트 부분을 인출하는 것이 가능할 수 있다. 그러나, 개인 콘텐트 인출은 액세스가 허용되기(사용자에 의해 풀되기(pulled)) 및/또는 개인 콘텐트가 사용자에게 푸시되기(pushed) 전에 충족되어야 하는 다른 인자(기준)를 고려함으로써 제어될 수 있다. 이 인자들은 질의를 발행하는 사용자의 물리적 근접성(proximity), 콘텐트 소유자 및 질의 발행 사용자(query-issuing user) 간의 (소셜 네트워크에서의) 이격(separation)의 정도, 콘텐트의 품질 측정(quality measure) 및 관련성(relevance), 콘텐트 소유자의 신뢰도 측정(confidence measure) 등등을 포함하나, 이에 한정되지 않는다.
사용자의 물리적 근접성은 사업체(business)(또는 공원, 식당 등등과 같은 관심 있는 다른 개체)에 대해 사용자의 지리적 위치를 판정하는 것을 포함하는데, 만약 사용자가 사업체에 비교적 가깝고 사용자가 다닐 것 같지 않은 먼 거리에 있지 않다면 사업체 위치로 사용자를 유인하고/하거나 이를 통지하는 것이 더욱 유익할 수 있기 때문이다. 특정 제품을 구입하려는 바람(desire)을 나타내는 것과 같은 사용자의 선호와 조합되어 물리적 근접성은 사용자로의 콘텐트의 푸시 및/또는 콘텐트로의 특정 액세스를 위해 이용되는 물리적 근접성의 거리에 영향을 미칠 수 있다. 근접성은 또한 다른 이의 콘텐트를 액세스하도록 허용될 특정 사용자가 얼마나 멀리 "친구들"의 리스트 아래쪽에 있는지 - 원격 사용자가 친구인지, 또는 친구의 친구인지 등등과 같은 사회적 거리(social distance)일 수 있다. 근접성은 카테고리별(by category)일 수 있는바 예컨대, "스키 타는 사람인 다른 사용자만", 또는 "마이크로소프트의 종업원만", "같은 클럽에 속함" 등등이다.
콘텐트 소유자의 신뢰도 측정은 콘텐트 소유자가 질의와 관련 있는 콘텐트를 가질 가능성에 관련된다. 예컨대, 텍스트를 취급할 뿐인 콘텐트 소유자의 신뢰도 측정은 낮거나, 픽처(picture)에 관련된 질의를 위해 콘텐트를 제공하고 있을 공산이 적다. 대조적으로, 만약 콘텐트 소유자가 사진사인 경우, 소유자가 질의에 관련된 이미지를 가질 것이라는 신뢰도 측정은 더 높다.
품질 측정은 콘텐트의 원하는 레벨의 품질을 주는 콘텐트 소유자의 능력에 관련될 수 있다. 예컨대, 단지 저해상도 이미지를 저장하는 콘텐트 소유자의 품질 측정은 낮거나 훨씬 더 높은 해상도의 픽처에 관련된 질의를 위해 콘텐트를 제공하고 있을 공산이 적다. 대조적으로, 만약 콘텐트 소유자가 사진사인 경우, 소유자가 고해상도 이미지를 위한 질의에 관련된 그러한 이미지를 가질 것이라는 품질 측정은 더 높다.
이격의 정도는 공유하는 사용자가 얼마나 사회적으로 가깝거나 얼마나 사회적으로 떨어져 있는지를 식별하는 사회적 근접성(social proximity) 양상과 유사하다. 만약 공유하는 사용자가 질의 사용자 또는 공유하는 콘텐트 소유자로부터 더 큰 정도의 이격을 가지면(가령, 친구의 친구의 친구의 친구일 수 있는 먼 사용자, 기타 등등), 그 먼 사용자의 연관된 콘텐트는 그리 관련 있는 바는 아닐 수 있다. 유사하게, 만약 공유하는 사용자가 더 낮은 정도의 이격을 갖는 경우(친구의 친구일 수 있는 더 가까운 사용자), 연관된 개인 콘텐트는 질의에 더 관련 있을 수 있다.
이 접근법은 소매상 및 사업체 소유자로 하여금 상품의 쿠폰, 광고 및 사진을, 예컨대, 실시간으로, 근접한 영역에서 정보를 찾아 서치하거나 질의하는 소비자를 위해, 공유할 수 있게 한다. 이런 방식으로, 콘텐트 소유자들은 그들의 콘텐트를 게재하고(publish) 온라인 크롤러(crawler)가 콘텐트를 색인화하고 제공하기를 기다릴 필요가 없는데 - 콘텐트 소유자는 콘텐트를 즉시 사용자에게 푸시하거나 사용자 디바이스로 하여금 소유자 콘텐트를 즉시 풀할 수 있게 할 수 있다.
컴퓨트 노드는 수신된 질의를 다른 컴퓨트 노드에 발송하고 이후 인출된 문서를 해당 노드로부터 취합하는(aggregate) 분배된 노드일 수 있다. 컴퓨트 노드는 질의 처리를 위해 색인을 생성 및 제공하는 다른 컴퓨트 노드에 사용자 질의를 재지향하고(redirect), 이후 관련 결과를 제공(회신)할 수 있다. 컴퓨트 노드는 이후 취합하여, 연관된 콘텐트 속성과 더불어 그 취합된 콘텐트를 질의를 발행한 컴퓨트 노드에 송신한다.
색인의 로컬 캐싱(caching) 및 분배에 관해, 태그를 콘텐트로 맵핑하는 색인은 콘텐트의 위치로의 업데이트와 함께 디바이스들 간에 전달될 수 있다. 이것은 색인들의 분배된 캐시(distributed cache)를 가능하게 하는바 이에 의해서 콘텐트의 부분이 네트워크의 상이한 디바이스 또는 노드를 통해 라우팅된(routed) 질의를 통해 액세스될 수 있다. 디바이스 및 클라우드의 콘텍스트(context)에서, 가능한 색인화 방안은, 색인이 그것의 연관된 개인 콘텐트 로케이션(가령, 머신(machine)이거나 머신 상에 있음)에 머무르고 질의가 머신에 송신되는 방안, 그리고 색인들이 개인 콘텐트 로케이션(가령, 디바이스)에 의해 액세스가능한 주요 클라우드 기반 색인으로 병합되는 방안을 포함한다.
인출된 개인 콘텐트는, 웹과 비교하여 사용자의 퍼베이시브 네트워크에서의 사용자 선호 및 신뢰도에 따라, 웹 콘텐트와 나란히 순위화될(ranked) 수 있다. 외부 저장 디바이스(예컨대, 컴퓨트 노드를 갖지 않으며 퍼베이시브 서치 엔진에 연결되지 않을 수 있음)는 이용가능하게 된 개인 콘텐트를 얻기 위해 여전히 액세스되고 서치될 수 있다. 예컨대, 홈 컴퓨터와 연관된 개인 콘텐트 로케이션은 컴퓨트 노드 및 연관된 서치 엔진은 물론, 하드 드라이브, 플래시 드라이브 등등과 같은 몇 개의 외부 (가령, 범용 직렬 버스(universal serial bus)--USB) 저장 디바이스를 가질 수 있다. 외부적으로 연결된 저장 디바이스는 컴퓨트 노드를 포함하지 않을 수 있는데, 따라서, 이 저장 디바이스들은 네트워크에 직접적으로 연결되지 않지만, 홈 컴퓨터는 그러하고, 이 외부 디바이스들의 색인화 및 질의 처리를 거기에 저장된 관련 콘텐트를 획득하기 위해 가능하게 할 수 있다.
추가적으로, 온라인 (웹 기반) 서치 엔진에 연결될 수 없거나 연결되지 않은 디바이스/시스템/개인 콘텐트 로케이션은 그러한 디바이스에게 이용가능한 것이게 된 개인 콘텐트를 여전히 액세스하고 서치할 수 있다. 다시 말해, 개시된 아키텍처는 "비-온라인"(non-online) 또는 사설 네트워크, 예를 들어 인트라넷, 기업 네트워크, 홈 네트워크 등등에의 적용가능성을 또한 마련한다. 그러므로, 퍼베이시브 네트워크는, 웹(또는 온라인 네트워크)으로 서치를 확장하는 것 없이, 사설 네트워크(private network) 상의 디바이스/시스템/개인 콘텐트 로케이션 중 임의의 하나 이상으로 확장될 수 있다.
클라우드 컴퓨트 노드는 질의를 위해 개인 문서를 색인화하고 제공할 수 있다. 퍼베이시브 서치 모델은 개인 디바이스/하드 드라이브 상에서 로컬로 이용가능한 것이든 또는 클라우드 내에서 이용가능한 것이든 모든 개인 콘텐트를 가로질러 확장된다. 클라우드 내의 개인 콘텐트 로케이션에서 콘텐트를 액세스하는 컴퓨트 노드를 구동하는 것은 --컴퓨트 노드 애플리케이션이 개인 머신 상에서 구동되든, 센서 시스템 상에서 구동되든, 또는 클라우드 서버 상에서 구동되든-- (콘텐트 소유자에 의해 허여된 허가에 따라) 여러 사용자에게 클라우드 내의 콘텐트를 서치가능하고 액세스가능하게 한다.
디바이스, 하드 드라이브, 또는 다른 저장 디바이스와 연관된 개인 콘텐트 로케이션이 네트워크에서 떨어진 경우에, 마치 디바이스, 하드 드라이브, 또는 다른 저장 디바이스와 연관된 개인 콘텐트 로케이션이 퍼베이시브 네트워크 상에서 이용가능한 것처럼 사용자가 여전히 서치하고 동일한 경험을 가질 수 있도록 콘텐트는 동일한 색인 및 퍼베이시브 네트워크 허가와 함께 클라우드 내에 캐싱될(cached) 수 있다.
퍼베이시브 서치 모델은 또한 질의를 위한 선택적 데이터 액세스 또는 개인화된 색인 공급을 가능하게 한다. 콘텐트 소유자/게재자는 선택적으로 사용자가 콘텐트를 액세스할 수 있게 함으로써 콘텐트를 위해 액세스하고 질의할 수 있는 자를 정의하고 제한할 수 있다. 이것은 소유자의 퍼베이시브 네트워크 내의 사용자에 의해 발행된 질의를 위해 콘텐트 소유자에 의해 영향을 받을 수 있는 인출 및 순위화 시스템을 가능하게 한다.
퍼베이시브 서치 모델은, 본 문서에서 전술된 바와 같이, 센서 시스템에 의해 자동으로 생성되는 색인화되고 서치가능한 실시간 데이터를 가능하게 한다. 실시간으로 생성되고 있는 센서 데이터는 센서 시스템 상에서의 컴퓨트 노드의 색인 생성 컴포넌트에 의해 태그가 붙고(tagged) 색인화될 수 있다. 그러므로, 이 센서 시스템들은, 색인화 제공 컴포넌트에 의해 즉시 제공되고 유입 질의를 위해 이용가능하게 될 수 있는 색인에 기반하여 (데이터베이스 서버 내에 저장된 센서 데이터를 획득하는 것과는 대조적으로) 직접적으로 액세스될 수 있다.
이것은 서버 상에서 데이터를 호스팅하고 제공할 필요성을 회피한다. 일례로서, "벨뷰 시티 센터"(Bellevue City Center)와 같은 공용 공간(public space) 내에 설치된 온도 센서는, 온도를 판독하고 로컬로 저장된 문서를 주소 태그(address tag) "벨뷰 시티 센터" 및 "온도" 태그로써 업데이트할 수 있는데, 그 문서는 센서 시스템 상에서 색인화되고 모든 적합한 사용자에게 제공될 수 있다. "벨뷰 시티 센터 온도"를 위한 임의의 질의는 (직접적으로 온도 센서 시스템으로부터) 즉시 온도 값을 제공 받을 수 있는바, 따라서 서버 상에 데이터를 업로드 및 저장하고 이어서 데이터를 실시간으로 색인화할 필요성을 회피한다.
동일한 예가 교통 카메라, (실시간 재고품목(inventory) 서치를 위해) 쇼핑 매장에 설치된 카메라, 실시간 버스 운송 위치 및 스케줄, 촉발되는(triggered) 경우에 "전격적인"(lightning) 딜/쿠폰(시간 제한 딜) 및 식당 메뉴 상의 특선 요리, 개인 콘텐트 업데이트, 예컨대 사진 및 블로그, 그리고 임의의 실시간 또는 의사 실시간(quasi realtime) 개인 데이터를 발행하는 센서 시스템(가령, 지오펜스(geofence)에 의해 정의된 바와 같은 근접성) 같은 센서 시스템에 적용될 수 있다.
퍼베이시브 서치 아키텍처는 거듭 업데이트되고 있는 데이터에 대해 규모조정을 할(scale) 수 없는 기존의 시스템과는 대조적으로 실시간 및/또는 의사 실시간 데이터의 서치를 위해 규모조정을 한다. 일례로서, 퍼베이시브 네트워크에게 액세스가능한 것인 하드 드라이브 상에 애완 고양이의 가장 최근의 몇 개의 이미지를 계속해서 세이브하는 가정용 애완동물 모니터링 카메라를 고려하자. 만약 사용자가 어디서든 임의의 개인 콘텐트 로케이션(가령, 디바이스)에서 "내 고양이"에 대해 질의하는 경우, 사용자는 퍼베이시브 서치에 의해 인출된 해당 이미지를 수신하고 보는데, 해당 데이터가 온 더 플라이로 색인화되고 제공되기 때문이다. 사용자에 의해 업로드되거나 명시적으로 식별된 콘텐트에 기반하여 색인에 추가될 콘텐트의 새로운 부분을 식별하는 기존의 커스텀 콘텐트 피드(custom content feed)는 전혀 없다. 더욱이, 퍼베이시브 서치 시스템은, 사람들에 의해 생성된 콘텐트만은 아니고, "사물" 인터넷에 의해 생성된 데이터(가령, 비-사용자 생성 콘텐트(non-user generated content), 다만 기상 카메라 등등과 같은 센서 시스템으로부터의 것)의 효과적인 질의를 가능하게 한다.
도면에 대한 언급이 이제 행해지는데, 도면에서는 비슷한 구성요소를 나타내는 데에 비슷한 참조 번호가 내내 사용된다. 이하의 서술에서, 설명의 목적으로, 다수의 특정 세부사항이 이의 철저한 이해를 제공하기 위해서 개진된다. 그러나, 신규한 실시예는 이들 특정 세부사항 없이 실시될 수 있음이 분명할 수 있다. 다른 사례에서, 잘 알려진 구조 및 디바이스는 그 설명을 용이하게 하기 위해서 블록 다이어그램 형태로 도시된다. 청구된 대상물의 사상 및 범주에 속하는 모든 수정, 균등물 및 대안을 포섭하는 것이 의도이다.
도 1은 개시된 아키텍처에 따른 시스템(100)을 보여준다. 시스템(100)은 콘텐트 소유자(110)의 개인 콘텐트 로케이션(108)의 개인 콘텐트(106)와 연관된 컴퓨트 노드(104)의 색인기 컴포넌트(102)를 포함한다.
개인 콘텐트 로케이션(108)은 디바이스, 시스템 및/또는 계정(이 위에서 콘텐트 소유자(110)가 이와 연관되어 저장된 개인 콘텐트(106)의 어느 정도의 제어를 행사할 수 있음)에 관련된 것으로, 그리고 개인 콘텐트(106)는 그 디바이스, 시스템 및/또는 계정에 관련된 것으로 일반적으로 기술될 수 있다. 그러므로, 개인 콘텐트 로케이션(108)은 개인 유선 및/또는 무선 디바이스, 예를 들어 개인용 컴퓨터, 태블릿 컴퓨터, 랩톱, 스마트폰, 개인용 서버 및 사설 네트워크(가령, 홈, 비즈니스 등등)는 물론, 인터넷 상의 ("클라우드 내의") 개인 콘텐트 로케이션의 액세스 제한된 계정을 포함하나, 이에 한정되지 않는다. 개인 콘텐트(106)는, 예컨대, 네트워크 드라이브(가령, 홈, 사설, 클라우드 등등), 플래시 드라이브 및 하드 드라이브와 같은 외부적으로 부착된 드라이브, 내부 하드 드라이브와 같은 개인 저장 로케이션(108)의 하나 이상의 저장 디바이스 상에 저장될 수 있다.
시스템(100)은 서로와 직접적으로 상호작용하는 두 개의 개인 콘텐트 로케이션의 헤드-투-헤드(head-to-head) 구성으로 보여지는데, 다만, 개시된 아키텍처는 많은 상이한 개인 콘텐트 로케이션 및 공유하는 사용자에 걸쳐서 퍼베이시브 서치를 수행하는 능력을 제공함이 이해되어야 한다.
개인 콘텐트(106)는 인가된 사용자에 의한 액세스를 위해 인가된 어떤 액세스가능 콘텐트(공유 콘텐트(112)로 지칭됨), 그리고 콘텐트 소유자(110)가 아닌 사용자에게는 전적으로 액세스 금지된(access-prohibited) (콘텐트 소유자(110)에 의해서만 액세스가능한) 다른 콘텐트(사적 콘텐트(private content)(114)로 지칭됨)를 포함할 수 있다.
색인기 컴포넌트(102)는 개인 콘텐트 로케이션(108)의 개인 콘텐트(112)의 콘텐트 색인(116)을 생성하도록 구성된다. 색인(116)은 개인 콘텐트(106)뿐만 아니라 사적 콘텐트(114) 및 공유 콘텐트(112)와 연관된 허가도 포함할 수 있다. 그러므로, 퍼베이시브 서치 엔진에 의한 콘텐트 색인(116)의 처리는 색인화된 콘텐트를 이에 따라 취급하는 것을 초래하는데 - 공유 콘텐트(112)만 다른 인가된 사용자/시스템의 다른 컴퓨트 노드에 의해 액세스될 수 있게 되고, 사적 콘텐트(114)는 오직 콘텐트 소유자(110) 및/또는 연관된 콘텐트 소유자 시스템에 의해 액세스될 수 있다.
컴퓨트 노드(104)의 제공 컴포넌트(118)는 원격 개인 콘텐트 로케이션(remote personal content location)(126)의 원격 공유 개인 콘텐트(remote shared personal content)(124)와 연관된 원격 컴퓨트 노드(remote compute node)(122)에 질의(120)를 송신하도록 구성된다(수신 및 발송함). 개인 콘텐트 로케이션(108)은 색인(116)을 사용하여 질의(120)를 처리하도록 구성되고, 원격 개인 콘텐트 로케이션(126)은 원격 컴퓨트 노드(122)(더욱 구체적으로는, 원격 색인기 컴포넌트(remote indexer component)(130))에 의해 생성된 원격 콘텐트 색인(remote content index)(128)을 사용하여 질의(120)를 처리하도록 구성된다. (컴퓨트 노드(104)의) 제공 컴포넌트(118)는 원격 컴퓨트 노드(122)로부터 원격 공유 개인 콘텐트(124)의 원격 결과(132)를 수신하도록 구성된다.
결과(가령, 결과(134))는 또한 개인 콘텐트 로케이션(108)으로부터 생성될 수 있다. 원격 컴퓨트 노드(122)로부터의 원격 결과(132) 및 개인 콘텐트 로케이션(108)에서 질의(120)를 처리하는 것으로부터 생성된 결과(134)는, 이하에서 더욱 상세히 기술되는 바와 같이(가령, 원격 결과(132) 및 결과(134)의 별개의 그룹으로서, 혼입됨(intermixed), 기타 등등), 웹 기반 결과와의 제시를 위한 다양한 가능한 방식 중 하나 이상의 방식으로 조합된다(가령, 취합되고 순위화됨). 제시는 브라우저 애플리케이션(browser application)을 통하여 질의(120)를 발행하는 사용자(가령, 콘텐트 소유자(110))로의 것일 수 있다.
원격 개인 콘텐트 로케이션(126)의 원격 컴퓨트 노드(122)는 개인 콘텐트 로케이션(108)과 동일한 컴포넌트들을 가질 수 있고, 동일한 방식으로 동작함에 유의하시오. 예컨대, 원격 색인기 컴포넌트(130)는 원격 개인 콘텐트(138) 중 적어도 원격 공유 개인 콘텐트(124) 및 원격 사적 콘텐트(136)의 원격 콘텐트 색인(128)을 생성한다. 원격 색인(128)은 원격 개인 콘텐트(138) 중 어느 것이 원격 공유 개인 콘텐트(124)처럼 액세스가능하고 어느 것이 그렇지 않은지(원격 사적 콘텐트(136)) 쉽게 판정하도록 각각의 색인 엔트리(index entry)와 함께 액세스 허가를 또한 포함할 수 있다. 원격 색인(128)은 이후 원격 제공 컴포넌트(remote serve component)(140)를 통하여 질의 처리를 위해 제공된다. 콘텐트 소유자(110)가 공유 개인 콘텐트(1120)가 원격 개인 콘텐트 로케이션(126)에 의해 액세스되도록 허용하였다면, 색인(116)이 제공 컴포넌트(118)에 의해 제공됨에 따라, 원격 개인 콘텐트 로케이션(126)에 의해 처리된 질의는 이후 색인(116)의 처리에 기반하여 공유 개인 콘텐트(112)를 액세스할 수 있다.
원격 개인 콘텐트 로케이션(126)이 콘텐트 소유자(110)의 것은 아니나 상이한 콘텐트 소유자의 것인 경우, 개인 콘텐트 로케이션(108)에서의 질의 처리는 원격 개인 콘텐트 로케이션(126)에서의 질의 처리보다 더 광범위할 수 있다. 이것은 개인 콘텐트 로케이션(108)에서의 콘텐트 소유자(110)의 개인 콘텐트(106)에 걸친 질의 처리가 공유 콘텐트(112)뿐만 아니라 사적 콘텐트(114)에도 이르는 반면, 상이한 콘텐트 소유자의 원격 개인 콘텐트 로케이션(126)에서의 질의 처리는, 콘텐트 소유자(110)에 의해 개시됨에 있어서, 그 상이한 콘텐트 소유자가 공유를 허용한 원격 공유 개인 콘텐트(124)에만 제한되기 때문이다.
그러나, 이하에서 기술되는 바와 같이, 만약 원격 개인 콘텐트 로케이션(126)이 또한 콘텐트 소유자(110)에 의해 "소유되는" 경우라면, 원격 개인 콘텐트 로케이션(126)에서의 질의 처리는, 원격 색인(128)의 허가(콘텐트 소유자(110)에 의한 원격 개인 콘텐트 로케이션(126)의 원격 개인 콘텐트(138) 전부로의 액세스를 가능하게 함)에 기반하여, 원격 사적 콘텐트(136)에도 이른다.
컴퓨트 노드, 그리고 그러한 컴퓨트 노드를 갖는 연관된 디바이스, 시스템, 계정은, 그 주어진 컴퓨트 노드가 사용자에 의해 가능하게 되는 퍼베이시브 네트워크의 일부인 것으로 기술된다. 다시 말해, 콘텐트 소유자(110)에게는, 원하는 경우, 컴퓨트 노드를 불능화하는(disable) 능력이 주어질 수 있다. 그러므로, 불능화되는 경우, 컴퓨트 노드(디바이스, 시스템, 계정)는 다시 가능하게 될 때까지 퍼베이시브 네트워크를 중단한다(drop off). 디바이스, 시스템 및 계정(예컨대, 연관된 개인 콘텐트를 질의 및 서치 프로세스의 일부로 간주하기로 선택함)은 개시된 컴퓨트 노드 아키텍처를 활용한다.
환언하면, 원격 공유 개인 콘텐트(124)는 원격 공유 콘텐트 소유자(가령, 다른 소유자, 콘텐트 소유자(110)와 동일, 다른 시스템, 기타 등등)의 개인 콘텐트이다. 콘텐트 소유자(110)의 개인 콘텐트(106)는 공중 사용자(또는 시스템)로부터 사적인 것으로 유지되고 원격 공유 콘텐트 소유자의 원격 공유 개인 콘텐트(124)는 콘텐트 소유자(110)의 컴퓨트 노드(104)에 의해 액세스되는 것이 (가령, 허가에 의해) 가능하게 된다.
콘텐트 색인(116)은, 예컨대, 원격 개인 콘텐트 로케이션(126)과 같은 하나 이상의 다른 개인 콘텐트 로케이션에서 분배될 수 있다. 콘텐트 색인(116)은 콘텐트 소유자(110)의 개인 콘텐트 로케이션(108)에서 실시간으로 생성되고 업데이트된다. 개인 콘텐트 로케이션(108)에서의 데이터에 대한 변경은 검출되어 콘텐트 색인(116)을 업데이트하기 위한 업데이트 프로세스가 실행되게 할 수 있다.
원격 콘텐트 색인(128)은 액세스 기준에 기반하여 공중 사용자(또는 시스템)에게 공개적으로 액세스가능한 것이게 될 수 있다. 원격 공유 개인 콘텐트(122)는 원격 개인 콘텐트 로케이션(126)에 질의를 발행하는 공중 사용자의 근접성, 원격 개인 콘텐트 로케이션(126) 및 공중 사용자 간의 이격의 정도, 원격 공유 개인 콘텐트(124)의 품질 측정 및 관련성, 또는 원격 공유 개인 콘텐트(124)의 원격 공유 콘텐트 소유자의 신뢰도 측정 중 적어도 하나를 포함하는 기준에 기반하여 공중 사용자(또는 시스템)에 의해 액세스될 수 있다.
원격 개인 콘텐트 로케이션(126)은 실시간 센서 색인(realtime sensor index)을 원격 콘텐트 색인(128)으로서 생성하기 위해 실시간으로 색인화된 실시간 센서 데이터를 생성하도록 구성된 센서 시스템(가령, 기상 관측소, 교통 카메라, 도로 카메라 등등)을 포함할 수 있다. 센서 시스템은, 부분적으로는, 컴퓨트 노드(104)에 원격 결과(132)를 회신하는 데에 질의(120)를 사용하여 서치를 위한 실시간 센서 색인을 제공하도록 구성된 것인 원격 컴퓨트 노드(122)를 포함한다.
원격 컴퓨트 노드(122)는 원격 색인기 컴포넌트(130) 및 원격 제공 컴포넌트(138)를 포함한다. 원격 색인기 컴포넌트(130)는 원격 콘텐트 색인(128)을 생성하도록 구성되고 원격 제공 컴포넌트(138)는 질의(120)에 기반하여 원격 결과(132)를 생성하기 위해 서치 엔진(도시되지 않음)에 원격 콘텐트 색인(128)을 제공하도록 구성된다. 원격 제공 컴포넌트(138)는 서치 엔진으로부터 원격 결과(132)를 수신하고 컴퓨트 노드(104)의 제공 컴포넌트(118)에 원격 결과(132)를 회신하도록 구성된다.
제공 컴포넌트(118)는 개인 콘텐트 로케이션(108)에서의 질의(120)의 처리를 위해 콘텐트 색인(116)을 제공하도록 구성되고, 콘텐트 소유자(110)의 개인 콘텐트(106) 및 원격 개인 콘텐트 로케이션(126)의 원격 공유 개인 콘텐트(124)는 개인 콘텐트 로케이션(108)에서의 웹 서치 결과와 함께 제시된다. 컴퓨트 노드(104)는 다른 개인 콘텐트 로케이션의 다른 컴퓨트 노드에 질의(120)를 발송하는 것은 물론, 개인 콘텐트 로케이션(108)의 개인 콘텐트 결과(134)와 함께 다른 컴퓨트 노드로부터 인출된 다른 콘텐트 결과를 취합하고 순위화하도록 구성된다.
도 2는 컴퓨트 노드 및 퍼베이시브 네트워크와의 서치 엔진의 사용을 다루는 시스템(200)을 보여준다. 서치 엔진은 다양한 방식으로 이용될 수 있다. 퍼베이시브 네트워크의 개인 콘텐트 로케이션 중 임의의 하나 이상(가령, 도 1의 개인 콘텐트 로케이션(108) 및 원격 개인 콘텐트 로케이션(126))은 서치 엔진(통상 데이터 및 콘텐트의 질의 및 서치를 가능하게 하는 프로그램 및 명령어)을 포함할 수 있는데, 다만, 어떠한 개인 콘텐트 로케이션도 서치 엔진을 가질 필요는 없다. 디바이스 및 시스템은 로컬 디바이스/시스템 서치를 위해 사용될 수 있는 서치 엔진, 그리고 네트워크(가령, 사설 및 공용)와의 질의 처리 및 서치 상호작용을 가능하게 하는 애플리케이션(가령, 브라우저)을 통상 갖는다. 이들 동일한 서치 엔진 및 애플리케이션은 컴퓨트 노드와 동작하는 것이 가능하게 될 수 있다.
시스템(200)에 대한 설명은 "퍼베이시브" 서치 엔진 - 컴퓨트 노드를 포함하며, 따라서 퍼베이시브 네트워크의 일부로 간주될 수 있는 개인 콘텐트 로케이션(즉, 서치를 위해 가능하게 된 컴퓨트 노드를 갖는 네트워크의 개인 콘텐트 로케이션)에 있거나 이와 연관될 수 있는 그런 서치 엔진, 그리고/또는 퍼베이시브 네트워크의 개인 콘텐트 로케이션을 지원하여 서치를 촉진하는 네트워크 상의 별도의 (비-컴퓨트 노드(non-compute node)) 서치 엔진으로서의 사용에 집중한다. (강인한 구현에서, 예컨대 빙(Bing™)과 같은 웹 기반 서치 엔진이 본 문서에 기술된 바와 같은 퍼베이시브 서치를 지원하고 수행하도록 구성될 수 있다는 점은 개시된 아키텍처의 고려 내에 있음에 유의하시오.)
제1 구현에서, 각각의 개인 콘텐트 로케이션은 그것 자체의 서치 엔진을 갖는다. 예컨대, (도 1의 개인 콘텐트 로케이션(108)과 유사한) 제1 개인 콘텐트 로케이션(202)은 제1 컴퓨트 노드(204), 제1 개인 콘텐트(206) 및 제1 퍼베이시브 서치 엔진(208)을 가지고, (도 1의 개인 콘텐트 로케이션(108)과 유사한) 제2 개인 콘텐트 로케이션(210)은 제2 컴퓨트 노드(212), 제2 개인 콘텐트(214) 및 제2 퍼베이시브 서치 엔진(216)을 가지며, (도 1의 개인 콘텐트 로케이션(108)과 유사한) 제3 개인 콘텐트 로케이션(218)은 제3 컴퓨트 노드(220), 제3 개인 콘텐트(222) 및 제3 퍼베이시브 서치 엔진(224)을 가진다. 퍼베이시브 서치 엔진(208, 216 및 224)은 시스템(200)의 이 전체적 설명을 위해 선택적인 블록으로서 나타내기 위해 점선으로 도시된다.
도 1의 헤드-투-헤드 구성으로 유사하게 전술된 바와 같이, 콘텐트 소유자(110)에 의해 (제1 개인 콘텐트 로케이션(202)의 프로그램(들)을 통하여) 웹 기반 서치 엔진(226)에 발행된 질의(120)는 웹 문서(228)를 위한 웹 기반 서치 엔진(226)에서 처리된다.
질의(120)는 또한 콘텐트 로케이션들(202, 210 및 218) 및 대응하는 컴퓨트 노드들(204, 212 및 220)의 퍼베이시브 네트워크 상에서 (가령, 웹 기반 서치와 동시적으로) 질의 처리하기를 위해 제1 개인 콘텐트 로케이션(202)의 (콘텐트 소유자(110)가 질의(120)를 발행하였으므로) 제1 퍼베이시브 서치 엔진(208)에 전달된다. 제1 퍼베이시브 서치 엔진(208)은 질의(120)를 제1 컴퓨트 노드(204)에 의해 제공되는 제1 개인 콘텐트(206)의 색인(도시되지 않음)에 견주어 처리하고 웹 기반 결과와의 제시를 위해 결과로서 제1 개인 콘텐트(206)의 일부 또는 전부를 회신하거나, 제1 개인 콘텐트(206) 중 아무 것도 회신하지 않는다.
제1 퍼베이시브 서치 엔진(208)은 질의(120)를 제1 컴퓨트 노드(204)에 전달하는데, 이는 질의(120)를 콘텐트 소유자(110)를 위한 퍼베이시브 네트워크의 일부로서 지정된 임의의 하나 이상의 다른 개인 콘텐트 로케이션의 컴퓨트 노드(들)에 발송한다. 여기서, 개인 콘텐트 로케이션(210 및 218) 양자 모두는 그 퍼베이시브 네트워크의 일부이다. 따라서, 제2 컴퓨트 노드(212)는 질의(120)를 수신하고 질의(120)를 제2 퍼베이시브 서치 엔진(216)에 송신하는데, 이는 질의(120)를 제2 개인 콘텐트(214)의 색인(도시되지 않음)에 견주어 처리하여 제2 개인 콘텐트(214) 중 아무 것도 결과(230)로서 제2 컴퓨트 노드(212)에 회신하지 않거나 제2 개인 콘텐트(214)의 일부 또는 전부를 결과(230)로서 제2 컴퓨트 노드(212)에 회신하되, 이는 결과(230)를 제1 컴퓨트 노드(204)에 회신하고 이후에는 웹 기반 결과와의 제시를 위해 제1 퍼베이시브 서치 엔진(208)이다.
만약 제2 개인 콘텐트 로케이션(210)이 콘텐트 소유자(110)에 의해 "소유되는" (이에 대한 제어를 행사하는) 경우, 제1 컴퓨트 노드(204)에 회신된 결과(230)는 제2 개인 콘텐트(214)의 공유 콘텐트 및 사적 콘텐트 양자 모두로부터 획득될 수 있다. 만약 제2 개인 콘텐트 로케이션(210)이 퍼베이시브 네트워크의 상이한 콘텐트 소유자에 의해 "소유되는" 경우, 제1 컴퓨트 노드(204)에 회신된 결과(230)는 제2 개인 콘텐트(214)의 (허용된 것과 같은) 공유 콘텐트로부터만 획득된다.
유사하게, 제1 컴퓨트 노드(204)는 질의(120)를 제3 컴퓨트 노드(220)에 전달한다. (이것은 양 방향 모두에서의 점선 및 실선 화살표를 사용하여 나타내어지는데, 이로써 제2 개인 콘텐트 로케이션(210)을 거쳐서 통신하지는 않지만, 네트워크 또는 피어-투-피어 연결 상에서 그러하되, 다만 이것은 "프록시"(proxy) 구현으로서 수행될 수 있기는 하다.) 제3 컴퓨트 노드(220)는 질의(120)를 수신하고 질의를 제3 퍼베이시브 서치 엔진(224)에 송신하는데, 이는 질의(120)를 제3 개인 콘텐트(222)의 색인(도시되지 않음)에 견주어 처리하여 제3 개인 콘텐트(222) 중 아무 것도 결과(232)로서 제3 컴퓨트 노드(220)에 회신하지 않거나 제3 개인 콘텐트(222)의 일부 또는 전부를 결과(232)로서 제3 컴퓨트 노드(220)에 회신하되, 이는 이후에 결과(232)를 직접적으로(가령, 피어-투-피어, 유선/무선 네트워크 등등) 제1 컴퓨트 노드(204)(점선-실선 화살표에 의해 나타내어짐)에 회신하고 이후에는 웹 기반 결과와의 제시를 위해 제1 퍼베이시브 서치 엔진(208)이다.
앞서와 같이 만약 제3 개인 콘텐트 로케이션(218)이 콘텐트 소유자(110)에 의해 "소유되는" 경우, 제1 컴퓨트 노드(204)에 회신된 결과(232)는 제3 개인 콘텐트(222)의 공유 콘텐트 및 사적 콘텐트 양자 모두로부터 획득될 수 있다. 만약 제3 개인 콘텐트 로케이션(218)이 퍼베이시브 네트워크의 상이한 콘텐트 소유자에 의해 "소유되는" 경우, 제1 컴퓨트 노드(204)에 회신된 결과(232)는 제3 개인 콘텐트(222)의 (허용된 것과 같은) 공유 콘텐트로부터만 획득된다.
제1 컴퓨트 노드(204)이 직접적으로 제2 컴퓨트 노드(212)에 연결되는 것(이는 피어-투-피어(단거리 무선(가령, 블루투스(Bluetooth™)) 및 유선 통신을 통하여 수행될 수 있음)을 도시하나, 그 연결은 또한 유선/무선 네트워크를 통해 성취될 수 있음에 유의하시오. 이것은 제1 개인 콘텐트 로케이션(202) 및 제3 개인 콘텐트 로케이션(218) 간의 통신에도 적용된다.
대안적인 구현에서, 제1 개인 콘텐트 로케이션(202)의 제1 퍼베이시브 서치 엔진(208)은 그것 자체의 제1 개인 콘텐트(206)뿐만 아니라 하나 이상의 다른 개인 콘텐트 로케이션의 개인 콘텐트, 예를 들어 제2 개인 콘텐트(214) 및/또는 제3 개인 콘텐트(222)도 서치할 수 있다. 이 대안적인 구현에서, 제2 컴퓨트 노드(212)의 제2 색인은 제1 컴퓨트 노드(204)에, 그리고 그로부터 제1 퍼베이시브 서치 엔진(208)에 질의 처리를 위해 제공될 수 있다. 제1 퍼베이시브 서치 엔진(208)은 이후, 제2 색인으로부터 도출되는 것과 같은 결과를, 제1 컴퓨트 노드(204)를 통해 그리고 제2 컴퓨트 노드(212)에 요청하는데, 그 요청된 결과는 제2 개인 콘텐트(214)로부터 획득된다. 결과(230)는 이후 소유자(110)가 제2 개인 콘텐트 로케이션(210)을 소유하는지, 또는 그렇지 않은지에 기반하여 이전에 기술된 바와 같이 취급된다. 퍼베이시브 네트워크의 다른 개인 콘텐트 로케이션에 대해 동일한 프로세스가 뒤따른다.
또 다른 대안적인 구현에서, 서치 엔진은 퍼베이시브 네트워크 상에서 호스팅되어(퍼베이시브 네트워크 서치 엔진) 퍼베이시브 네트워크 질의 처리를 취급한다. 다시 말해, 퍼베이시브 네트워크 서치 엔진은 개인 콘텐트 로케이션(202, 210 및 218) 중 어느 것에도 있을 필요는 없다. 이 구현은 예컨대 홈 네트워크, 또는 기업 네트워크 등등과 같은 다른 사설 네트워크에 적용될 수 있다.
(비록 이것이 필수요건은 아니기는 하지만) 개인 콘텐트가 없는 홈 네트워크 노드 상에 있는 것과 같은 퍼베이시브 네트워크 서치 엔진(234)을 고려하자. 퍼베이시브 네트워크 서치 엔진(234)은 이후 제1 컴퓨트 노드(204)로부터 질의(120)를 수신하고 이후 질의(120)를 제1 컴퓨트 노드(204)로부터 생성된 색인에 견주어 처리하여 제1 개인 콘텐트(206)로부터의 결과를 제1 컴퓨트 노드(204)에 회신(하거나 그 결과를 퍼베이시브 네트워크 서치 엔진(234)에서 보유)할 수 있다.
제1 컴퓨트 노드(204)는 질의(120)를 제2 컴퓨트 노드(212)에 발송하고 제2 컴퓨트 노드(212)는 질의(120)를 퍼베이시브 네트워크 서치 엔진(234)에 전달하는데, 이는 이후 질의(120)를 제2 컴퓨트 노드(212)의 색인에 견주어 처리한다. 제2 개인 콘텐트(214)로부터의 결과는 이후 제1 컴퓨트 노드(204)에 회신(되거나 퍼베이시브 네트워크 서치 엔진(234)에서 보유)된다. 이것은 제3 개인 콘텐트 로케이션(218)에 대해서도 계속될 수 있는데, 이는 (서치 엔진이 없는) 클라우드 로케이션(cloud location)일 수 있다. 퍼베이시브 네트워크 서치 엔진(234)은 클라우드 개인 콘텐트 로케이션(가령, 제3 개인 콘텐트 로케이션(218)에서 클라우드 컴퓨트 노드(가령, 컴퓨트 노드(220))에 의해 생성된 클라우드 색인(cloud index)에 견주어 질의(120)를 행한다. 제3 개인 콘텐트(222)로부터의 결과는 이후 제1 컴퓨트 노드(204)에 회신(되거나 퍼베이시브 네트워크 서치 엔진(234)에서 보유)된다.
퍼베이시브 네트워크 서치 엔진(234)에서 또는 제1 컴퓨트 노드(204)에서 저장된 결과는 이제 웹 문서 결과와의 취합과 순서화 및 콘텐트 소유자(110)에게의 제시를 위해 퍼베이시브 네트워크 서치 엔진(234)에 의해 추가로 처리될 수 있다.
역시 대안적으로, 네트워크 서치 엔진(234)에는 질의(120)를 대응하는 로케이션 색인에 견주어 행하도록 퍼베이시브 네트워크 개인 콘텐트 로케이션(가령, 202, 210 및 218)의 리스트가 주어질 수 있다. 그러므로, 질의 전달은 하나의 컴퓨트 노드를 통하여 다른 컴퓨트 노드로의 것이 아니라 직접적으로 퍼베이시브 네트워크 서치 엔진(234)으로의 것이다. 그 결과는 이후 웹 문서 결과와 조합되어 브라우저에 의한 제시 처리를 위해 제1 개인 콘텐트 로케이션(202)에 전달될 수 있다.
또 다른 변형에서, 웹 기반 서치 엔진(226)은 질의(120), 액세스될 퍼베이시브 네트워크 개인 콘텐트 로케이션(202, 210 및 218)의 리스트를 수신하고, 처리를 위해 질의를 대응하는 개인 콘텐트 로케이션 서치 엔진(208, 216 및 218) 및/또는 as 퍼베이시브 네트워크 서치 엔진(234)에 발송한다. 실질적으로, 개인 콘텐트 로케이션의 임의의 서치 엔진은 질의 발행자가 알려져 있는 - 결과가 적절한 질의 발신자(query originator)에게 송신되도록 질의의 출처가 알려져 있는 - 한 질의를 처리하는 데에 활용될 수 있다. 이는 질의 처리를 웹 기반 서치 엔진(226)으로부터 다른 퍼베이시브(또는 퍼베이시브 네트워크) 서치 엔진에 전가하는데(offload), 다만 이것은 필수요건일 필요는 없다.
클라우드 내의 개인 콘텐트 로케이션(가령, 제3 개인 콘텐트 로케이션(218))은 퍼베이시브 네트워크의 다른 개인 콘텐트 로케이션과 마찬가지로 취급될 수 있는데, 클라우드 개인 콘텐트 로케이션은 컴퓨트 노드(가령, 제3 컴퓨트 노드(220))를 갖고, 퍼베이시브 네트워크의 다른 컴퓨트 노드처럼, 그리고 앞서 기술된 대안 및 변형 중 임의의 것에 따라 동작하기 때문이다.
예컨대, 질의(120)가 제1 개인 콘텐트 로케이션(202)으로부터 발행되고 클라우드 개인 콘텐트 로케이션(가령, 제3 개인 콘텐트 로케이션(218))은 서치 엔진이 결여된 경우에, 클라우드 컴퓨트 노드(가령, 제3 컴퓨트 노드(220))에 의해 생성된 클라우드 색인(가령, 제3 개인 콘텐트 로케이션(218)의 색인)은 제1 퍼베이시브 서치 엔진(208)에 의한 처리를 위해 제1 개인 콘텐트 로케이션(202)에 송신될 수 있다. 제1 퍼베이시브 서치 엔진(208)은 클라우드 컴퓨트 노드(가령, 제3 컴퓨트 노드(220))로 통신하는 제1 컴퓨트 노드(204)를 통하여 클라우드 개인 콘텐트(가령, 제3 개인 콘텐트(222))로부터의 결과를 이후에 요청할 수 있고, 클라우드 컴퓨트 노드는 결과(가령, 결과(232))를 제1 컴퓨트 노드(204)에 회신한다.
대안적으로, 클라우드 색인은 클라우드 개인 콘텐트 로케이션에 남아 있고 제1 퍼베이시브 서치 엔진(208)은 서치 프로세스를 네트워크 상에서 클라우드 로케이션 색인을 향해 행하며 결과는 클라우드 컴퓨트 노드를 통해 제1 컴퓨트 노드(204)로 회신된다.
역시 대안적으로, 클라우드 색인은 클라우드 개인 콘텐트 로케이션에 남아 있고 제1 컴퓨트 노드(204)는 질의(120)를 클라우드 컴퓨트 노드에 송신하는데, 이는 질의(120)를 클라우드 색인에 견주어 처리하고 클라우드 개인 콘텐트로부터의 결과를 클라우드 컴퓨트 노드에 그리고 이로부터 제1 컴퓨트 노드(204) 및 제1 퍼베이시브 서치 엔진(208)에 취합, 순위화 및 제시를 위해 회신하도록 이후 질의(120)를 클라우드 서치 엔진(가령, 제3 퍼베이시브 서치 엔진(224))에 송신한다.
도 3은 퍼베이시브 네트워크 컴퓨트 노드(302)가 하나 이상의 개인 콘텐트 로케이션(304)을 위한 컴퓨트 노드 동작을 수행하는 대안적인 퍼베이시브 네트워크 시스템(300)을 보여준다. 예컨대, (도 1의 컴퓨트 노드(104)와 유사한) 사설 네트워크 컴퓨트 노드(302)는 제1 색인(306), 제2 색인(308) 및 제3 색인(310)을 도 2의 각각의 개인 콘텐트 로케이션(202, 210 및 218)의 대응하는 개인 콘텐트(206, 214 및 222)를 위해 생성한다. 개인 콘텐트 로케이션(304)의 서브세트(subset)의 색인화를 도시하나, 대안적으로, 퍼베이시브 네트워크 컴퓨트 노드(302)는 개인 콘텐트 로케이션(304) 전부를 위한 모든 컴퓨트 노드 동작을 취급하도록 설계될 수 있다.
동작 중에, 앞서와 같이, 질의(120)의 발신자(콘텐트 소유자)는 액세스 권한을 색인(306)을 통하여 임의의 다른 개인 콘텐트 로케이션(가령, 210 및 218)의 개인 콘텐트(가령, 214) 중 공유 콘텐트에게 나타낸다. 퍼베이시브 네트워크 컴퓨트 노드(302)는 색인(306)을 처리하고 개인 콘텐트 로케이션(210 및 218)의 공유 및 사적 콘텐트로의 액세스를 다룬다. 결과가 이후 퍼베이시브 네트워크 컴퓨트 노드(302)를 통해 제1 개인 콘텐트 로케이션(202)에 전달된다. 대안적으로, 결과는 네트워크 상에서 서치 엔진 간에(가령, 제2 퍼베이시브 서치 엔진(216)에서 제1 퍼베이시브 서치 엔진(208)으로), 또는 다른 애플리케이션 수단에 의해 전달될 수 있다. 일단 웹 기반 및 퍼베이시브 네트워크 결과들이 제1 개인 콘텐트 로케이션(202)에서 수신되면, 결과 처리가 앞서와 같이 제1 퍼베이시브 서치 엔진(208)에 의해 웹 기반 결과 및 퍼베이시브 네트워크 결과 양자 모두의 취합, 순위화 및 제시를 위해 수행된다.
퍼베이시브 네트워크 컴퓨트 노드(302)는 홈 네트워크의 서버와 같은 별개의 네트워크 머신 상에, 또는 개인 콘텐트 로케이션 중 하나에 위치되어 다른 개인 콘텐트 로케이션(304) 중 하나 이상을 위한 컴퓨트 노드 동작을 취급할 수 있다.
이하의 설명은 대안적으로 개인 콘텐트 위치보다는 디바이스의 측면에서 퍼베이시브 서치를 기술한다. 그러나, 이것은 어떤 식으로든 한정하는 것으로서 해석되어서는 안 된다.
도 4는 개시된 아키텍처에 따른 시스템(400)을 보여준다. 시스템(400)은 디바이스(404)의 퍼베이시브 서치 엔진(414)에 의해 수신된 질의(412)의 처리를 위해 디바이스(404)의 개인 콘텐트(410)에 대한 디바이스(404) 상에 있는 색인(408)("로컬" 색인)을 생성하는 콘텐트 소유자(406)의 디바이스(404)의 색인기 컴포넌트(402)를 포함할 수 있다.
(디바이스(404)의) 제공 컴포넌트(416)는 공유 개인 콘텐트(424)의 공유 콘텐트 색인(422)에 견주어 처리하기 위해 질의(412)를 공유 콘텐트 소유자(420)의 원격 디바이스(418)에 송신한다. 원격 디바이스(418)는 공유 콘텐트 색인(422)에 따라 색인화된 바와 같은 원격 디바이스(418)의 공유 개인 콘텐트(424)로의 디바이스(404)에 의한 액세스를 가능하게 한다. 원격 디바이스(418)의 공유 개인 콘텐트(424)는 콘텐트 소유자(406)와 연관된 허가(액세스 크리덴셜(access credential))에 기반하여 디바이스(404)(콘텐트 소유자(406))에 의해 액세스가능한 것이다. 제공 컴포넌트(416)는 (원격 디바이스(418)의 퍼베이시브 서치 엔진에 의해) 공유 콘텐트 색인(422)에 견주어 질의(412)를 처리하는 것에 기반하여 원격 디바이스(418)로부터 공유 콘텐트 결과(426)를, 그리고 퍼베이시브 서치 엔진(414)에 의해 색인(408)에 견주어 질의(412)를 처리하는 것에 기반하여 디바이스(404)의 개인 콘텐트 결과(428)를 수신한다.
콘텐트 소유자(406)의 개인 콘텐트(410)는 콘텐트 소유자(406)의 개인 콘텐트이고, 공유 콘텐트 소유자(420)의 공유 개인 콘텐트(424)는 공유 콘텐트 소유자(420)의 개인 콘텐트이다. 콘텐트 소유자(406)의 개인 콘텐트(410)는 공중 사용자로부터 사적인 것으로 유지되고 공유 콘텐트 소유자(420)의 공유 개인 콘텐트(424)는 콘텐트 소유자(406)에 의해 액세스될 수 있게 된다.
색인(408)은 색인의 소유자가 어떤 문서 유형 또는 콘텐트를 가질 수 있기는 하지만 문서를 획득하기 위한 액세스를 금지할 수 있음을 공중 사용자에게 나타내기 위해 공중 사용자에게 열람가능한(viewable) 것이게 될 수 있다. 문서는, 예컨대 어떤 요금을 지불한 후에 액세스가능할 뿐이다.
색인(408)은 하나 이상의 다른 디바이스(가령, 원격 디바이스(418)) 상에 분배될 수 있다. 색인(408)은 콘텐트 소유자(406)의 디바이스(404) 상에서 실시간으로 생성될 수 있다.
공유 콘텐트 소유자(420)는 공유 콘텐트 색인(422)으로 하여금 액세스 기준에 기반하여 공중 사용자에 의해 서치가능한 공용 색인(public index)이 될 수 있게 할 수 있다. 앞서 개인 콘텐트 로케이션과 같이, 공중 사용자에 의해 액세스된 공유 개인 콘텐트(424)는 질의를 원격 디바이스(418)에 발행하는 공중 사용자의 근접성, 공유 콘텐트 소유자(420) 및 공중 사용자 간의 이격의 정도, 공유 콘텐트 소유자(420)의 공유 개인 콘텐트(424)의 품질 측정 및 관련성, 또는 공유 콘텐트 소유자(420)의 신뢰도 측정 중 적어도 하나의 기준에 기반할 수 있다.
원격 디바이스(418)는 실시간 센서 색인(가령, 공유 콘텐트 색인(422))을 생성하기 위해 실시간으로 색인화된 실시간 센서 데이터를 생성하는 센서 시스템일 수 있다. 센서 시스템은 퍼베이시브 서치 엔진(414)에 의해 수신된 질의(412)를 사용하여 서치를 위해 실시간 센서 색인을 제공하는 (제공 컴포넌트(416)와 능력 면에서 유사한) 센서 시스템 제공 컴포넌트를 포함한다.
이후의 도면에는 도시되고 여기에 도시되지는 않지만, 원격 디바이스(418)는 원격 색인기 컴포넌트 및 원격 제공 컴포넌트를 원격 컴퓨트 노드의 일부로서 포함할 수 있다. 원격 색인기 컴포넌트는 공유 콘텐트 색인(422)을 생성하고 원격 제공 컴포넌트는 공유 콘텐트 색인(422)을 질의(412)를 처리하는 원격 디바이스(418)의 원격 서치 엔진(도시되지 않았으나, 퍼베이시브 서치 엔진(414)과 유사함)에 제공한다. 원격 제공 컴포넌트는 원격 서치 엔진으로부터의 공유 콘텐트 결과(426)로서 공유 콘텐트(424)의 공유 개인 콘텐트 중 아무 것도 수신하지 않거나 공유 콘텐트(424)의 공유 개인 콘텐트 중 일부 또는 전부를 수신하고 공유 콘텐트 결과(426)를 디바이스(404)의 제공 컴포넌트(416)에 회신한다.
색인기 컴포넌트(402) 및 제공 컴포넌트(416)는 디바이스(404) 상에서 질의(412)를 처리하는 컴퓨트 노드의 일부이다. 컴퓨트 노드는 질의(412)를 다른 디바이스(가령, 원격 디바이스(418))의 다른 컴퓨트 노드에 발송하고, 디바이스(404)의 개인 콘텐트 결과(428)와 함께 다른 컴퓨트 노드로부터의 인출된 개인 콘텐트 결과(가령, 공유 개인 콘텐트 결과(426))를 취합하고 순위화한다.
제공 컴포넌트(416)는 디바이스(404) 상에서의 질의(412)의 처리를 위해 색인(408)을 제공하고, 옵션으로 디바이스(404) 상에서의 웹 서치 결과(430)와 함께, (콘텐트 결과(428)와 같은) 콘텐트 소유자(406)의 개인 콘텐트(410) 중 일부의 또는 모든 개인 콘텐트가 제시되거나 개인 콘텐트(410) 중 어떠한 개인 콘텐트도 전혀 제시되지 않으며 원격 디바이스(418)의 (공유 콘텐트 결과(426)와 같은) 개인 콘텐트(424) 중 일부의 또는 모든 공유 개인 콘텐트가 제시되거나 개인 콘텐트(424) 중 어떠한 공유 개인 콘텐트도 제시되지 않는다. 웹 결과는 질의(412)가 기업 또는 인트라넷(그 경우에, 어떠한 웹 결과도 요망되지 않음) 상의 디바이스에 한정될 수 있다는 점에서 옵션이다.
콘텐트 소유자(406)는 인간 사용자이거나 인간이 아닌 사용자, 예를 들어 교통 카메라일 수 있고 공유 콘텐트 소유자(420)는 인간 사용자이거나 인간이 아닌 사용자, 예를 들어 기상 카메라 등등일 수 있다.
색인기 컴포넌트(402) 및 제공 컴포넌트(416)는 디바이스(404) 내부인 것으로 도시되는데, 다만, 하나의 구현에서, 이들 컴포넌트는, 예컨대 도 3에 앞서 보여진 바와 같이, 디바이스(404) 외부에서 구동되는 애플리케이션일 수 있다.
도시되지 않았으나, 개시된 아키텍처는 사용자로 하여금 개인 콘텐트 및 다른 정보를 노출시키기로 하거나 그러지 않기로 하게 할 수 있는 프라이버시 컴포넌트(privacy component)를 제공할 수 있다. 프라이버시 컴포넌트는 사용자 정보의 인가되고 안전한 취급을 가능하게 한다.
예컨대, 순전히 홈 또는 다른 사설 네트워크 구현에서, 사설 네트워크 디바이스 중 하나인, 지정된 사적 디바이스(private device)("로컬 네트워크 디바이스"로 지칭되기도 하는데, "다른" 네트워크 디바이스와 구별하기 위해 "로컬"로 표기됨)가, 다른 사설 네트워크 디바이스("다른 네트워크 디바이스"로 지칭되기도 함) 중 하나 이상을 위해 지정된 서치 엔진 및 지정된 컴퓨트 노드로서의 역할을 하는 것은 있을 수 있는 경우이다. 지정된 사설 네트워크 디바이스에는 다른 사설 네트워크 디바이스의 개인 콘텐트로의 액세스가 주어지고 지정된 컴퓨트 노드는 다른 사설 네트워크 디바이스의 모든 액세스가능한 공유 개인 콘텐트, 다른 사설 네트워크 디바이스의 사적 콘텐트는 물론 지정된 사적 디바이스의 사적 콘텐트를 위해 사설 네트워크 색인을 생성하는데, 이들 디바이스는 모두 사설 네트워크의 동일한 소유자에 의해 관리되고 제어되기 때문이다. 그러므로, 사설 네트워크 디바이스 중 임의의 것에 제시된 질의는 이후, 지정된 사적 디바이스 및 다른 사설 네트워크 디바이스의 사적 콘텐트 및/또는 공유 개인 콘텐트를 회신하기 위해, 지정된 사적 디바이스에 라우팅되고 사설 네트워크 색인에 견주어 처리된다.
도 5는 웹 및 공유 문서들을 서치 결과로서 제공하는 시스템(500)을 보여준다. 이 예시적 시스템(500)에서, 두 개의 사용자 디바이스(제1 사용자(사용자1)에 의한 그것의 공유 개인 문서로의 액세스를 허용함)가 도시된다. (이 예는 질의를 실제로 만드는 제1 사용자가 아니라 두 명의 다른 사용자(제2 사용자(사용자2) 및 제3 사용자(사용자3))의 공유 개인 문서에 견주는 서치를 보여줄 뿐이되, 다만, 통상적인 동작 동안에, 서치가 또한 제1 사용자의 사적 및 공유 문서들에 견주어 처리되는 것이 (만일 제1 사용자가 그것이 수행될 수 있게 한다면) 가능하다는 점에 유의하시오.)
예컨대, 제2 사용자(사용자2)(502)는, (단지 제2 사용자에 의해 액세스가능한) 액세스 금지된 사적 문서(508)를 또한 저장하는 제2 사용자 개인 스토리지(506)의 제2 사용자 공유 개인 문서(504)로의 액세스를 허용한다. 유사하게, 제3 사용자(사용자3)(510)는 (단지 제3 사용자에 의해 액세스가능한) 액세스 금지된 사적 문서(516)를 또한 저장하는 제3 사용자 개인 스토리지(514)의 제3 사용자 공유 개인 문서(512)로의 액세스를 허용한다.
각각의 사용자(502 및 510)의 디바이스는 개인 콘텐트 색인을 생성하고 개인 콘텐트 색인을 웹 기반 서치 엔진에 제공하기 위한 컴퓨트 노드(CNx)를 포함한다. 예컨대, 제2 사용자(502)의 디바이스는 제2 컴퓨트 노드(CN2)(518)를 포함하고, 제3 사용자(510)의 디바이스는 제3 컴퓨트 노드(CN3)(520)를 포함한다.
컴퓨트 노드(518 및 520)에 의해 산출되는 색인은 몇 가지 상이한 방식으로 다루어질 수 있다. 예컨대, 최적의 성능을 제공하기 위해서, 색인은 디바이스 퍼베이시브 서치 엔진에 의해 디바이스 상에서 로컬로 처리되고 결과는, 웹 결과와 함께 로컬 디바이스로의 제시를 위해 웹 기반 서치 엔진에 전달되기보다는, 웹 결과와 함께 제시되도록 직접적으로 브라우저 애플리케이션에 전달된다.
대안적으로, 색인 중 하나 이상은 수신된 사용자1 질의(526)에 기반하여 개인 및 공유 개인 문서 식별 및 인출의 처리를 위해 전용 퍼베이시브 네트워크 서치 엔진(가령, 도 2의 네트워크 서치 엔진(234))(웹 기반 서치 엔진 및 디바이스 퍼베이시브 서치 엔진이 아닌 서치 엔진)에 업로드될 수 있다. 질의(526)는 서치 엔진 웹 색인(search engine web index)(528)뿐만 아니라 공유 색인 테이블(shared indices table)(530)에도 적용되는 것으로 도시된다. 공유 색인 테이블(530)은 제2 및 제3 사용자(502 및 510)의 색인(522 및 524)를 위한 색인 정보를 저장한다.
또 다른 구현에서, 색인(522 및 524)은 질의 처리 및 제1 사용자로의 웹 결과 및 공유 개인 결과의 회신을 위해 웹 기반 서치 엔진에 업로드될 수 있다. 이 구현에서, 웹 서치 엔진은 회신되어 제1 사용자 브라우저 내에 제시될 특정 개인 콘텐트를 나타내는 허가, 태그 및 식별 정보를 위해 색인을 분석한다.
이 예에서, 웹 서치 엔진은 이후 디바이스(502 및 510)에게서 공유 결과 콘텐트(shared result content)를 요청하고, 제1 사용자의 브라우저 내에 제시할 최상위 공유 결과 콘텐트를 선택하기 위해 공유 결과 콘텐트를 순위화할 수 있다. 이 예에 대한 또 다른 대안에서, 웹 서치 엔진은, 색인(522 및 524)의 웹 서치 엔진 처리에 기반하여, 제시를 위해 추출될 콘텐트를 명시하는 정보를 사용자(502 및 510)의 로컬 디바이스에 송신한다.
이것들은 여러 서치 엔진(퍼베이시브 및 웹 기반)과 공용/사적 및 공유 개인 콘텐트를 사용하는 경우 질의 처리를 다루는 데에 이용될 수 있는 프로토콜의 몇 가지 예일 뿐이다.
이 예에서, 제1 사용자의 디바이스(도시되지 않음)의 퍼베이시브 서치 엔진은 질의(526)를 수신하고 (공유 색인(522 및 524)을 식별하는) 공유 색인 테이블(530) 내에 저장된 색인 정보에 비추어 질의(526)를 처리한다. 질의(526)는 제2 및 제3 사용자(502 및 510))의 디바이스 각각 상에서의 처리를 위해 질의(526)를 적어도 발송하는 것에 의해 제1 사용자의 디바이스에 의해 처리된다. 제2 및 제3 사용자(502 및 510)의 공유 디바이스의 퍼베이시브 서치 엔진(도시되지 않음) 각각은 질의(526)를 처리하고, (단일 블록의 결과로서 도시되나, 실제로는 제2 및 제3 사용자(502 및 510) 각각의 디바이스로부터의 결과의 별개의 세트를 포함하는) 공유 결과(534)가 회신된다.
유사하게, 웹 서치 엔진(도시되지 않음)은 웹 결과(538)를 회신하기 위해 서치 엔진 웹 색인(528) 및 웹 문서(536)를 사용하여 질의(526)를 처리한다. 공유 개인 결과(534) 및 웹 결과(538)는 취합 및 순위화 컴포넌트(540)를 사용하여 취합되고 순위화되며, 제1 사용자에게 질의 결과(542)로서 출력된다. 취합 및 순위화 컴포넌트(540)는 제1 사용자 디바이스가 공유 결과를 웹 결과(538)와의 취합 및 순위화, 그리고 궁극적인 제시를 위해 웹 서치 엔진에 송신하도록 웹 서치 엔진 시스템과 연관될 수 있다.
질의 사용자에게 제시된 질의 결과(542)는 제2 사용자 공유 개인 문서(504)로부터의 하나 이상의 공유 개인 문서(544)를 포함하거나 제2 사용자 공유 개인 문서(504)로부터의 어떠한 공유 개인 문서(544)도 전혀 포함하지 않고/않거나, 제3 사용자 공유 개인 문서(512)로부터의 하나 이상의 공유 개인 문서(546)를 포함하거나 제3 사용자 공유 개인 문서(512)로부터의 어떠한 공유 개인 문서(546)도 전혀 포함하지 않고/않거나, 웹 문서(536)로부터의 하나 이상의 웹 문서(548)를 포함하거나 웹 문서(536)로부터의 어떠한 웹 문서(548)도 전혀 포함하지 않는다.
퍼베이시브 서치 결과의 순위화는 사용자 선호 및 질의 신호/관련성에 따라 주어진 사용자 질의에 대해 개인 디바이스 상의 공유된 및/또는 저장된 콘텐트의 인출된 부분의 중요도(또는 관련성)를 판정하는 것을 수반한다. 예컨대, 사용자 질의 "여름 정원 2013"을 고려하자. 만약 시스템이 사용자가 열렬한 정원사이자 사진사이며, 2013년 여름에 촬영된 정원 사진의 엄청난 모음을 가지고 있다고 산정하거나 산정하였다면, 질의에 대해 그 인출되는 사진은 "여름", "정원" 및 "2013"이 내부에서 언급된 텍스트 문서, 또는 심지어 "여름 정원 2013"에 대한 웹 결과(이들 중 대부분은 질의의 (비록 개인적이라 할지라도) 포괄적이고 진부한 본질로 인해 사용자와는 무관할 것임)와 비교하여 더 높게 순위화될 수 있다. 따라서, 취합 및 순위화 컴포넌트(540)의 순위화 능력은 사용자 및 사용자 질의에 대한 공유 개인 콘텐트 결과의 연관된 중요도에 비추어 공유 개인 콘텐트 결과를 순위화할 수 있다.
취합 및 순위화 프로세스는, 결과의 각각의 세트가 다른 것과 관계 없이 순위화되도록, 공유 개인 결과(534)에 대해 그리고 웹 결과(538)에 대해 별도로 수행될 수 있다. 이 경우에, 본 문서에서 아래에 나타내어진 바와 같이, 공유 결과는 브라우저(또는 다른 애플리케이션) 내의 단일의 해제 및 순위화된 그룹화(single annotated and ranked grouping) 또는 각 사용자(502 및 510) 공유 결과 그룹의 별개의 해제 순위화된 세트들(separate annotated ranked sets)로서 제시될 수 있다.
대안적인 구현에서, 공유 결과(534) 및 웹 결과(538) 전부는 함께 순위화되고, 이후 어느 결과가 순위화된 공유 개인 결과이고 어느 것이 순위화된 웹 결과인지에 관한 사용자 식별을 위해 사용자 인터페이스(User Interface: UI) 내에서 분리된다.
또 나아가, 대안적으로, 공유 및 웹 결과들의 전체 세트가 그 결과를 특정 퍼베이시브 네트워크 사용자의 공유 결과로서 식별하는 어떤 종류의 식별자로써 해제된(annotated) 공유 결과와 함께 단일 세트의 결과로서 제시될 수 있다. 추가적으로, 본 문서에서 나타내어진 바와 같이, 취합 및 순위화는 또한, 본 문서에서 후술되는 바와 같이, 제1 사용자(질의 사용자)의 사적 문서 및/또는 공유 개인 문서를 포함할 수 있다.
퍼베이시브 서치 아키텍처는 개인 이벤트를 수반하는 강력한 서치 시나리오를 가능하게 한다. 예컨대, 사용자는 웹 상에서 공개적으로 이용가능한 온라인 콘텐트보다 개인 스토리지 상에서 이용가능한 개인 콘텐트에 대해 훨씬 더 관련 있는 것인 "나의 하와이 휴가 2012", "새해 첫날 2013", "아버지의 날"과 같은 질의를 사용하여 개인 디바이스 상의 개인 이벤트 관련 콘텐트에 대해 질의할 수 있다.
이 예시적 시스템(500)에서, (도시되지 않았으나, 웹 색인(528) 및 웹 결과(538)와 연관된) 웹 서치 엔진은, 질의(526)의 저장 및 처리, 대응하는 사용자(502 및 510)의 제2 및 제3 디바이스로부터의 공유 개인 문서의 액세스 및 인출, 공유 결과(534), 서치 엔진 웹 색인(528) 및 웹 결과(538), 공유 결과(534) 및 웹 결과(538)를 취합하고 순위화하기 위한 취합 및 순위화 컴포넌트(540), 그리고 제1 사용자 디바이스 상에서의 질의 결과(542)의 제시를 가능하게 하는 하드웨어 및 애플리케이션을 포함할 수 있다.
도 6은 사용자 디바이스의 공유 문서의 색인을 생성하는 퍼베이시브 네트워크 컴퓨트 노드의 (색인기 컴포넌트(102)와 유사한) 색인기 컴포넌트(600)를 보여준다. 이 특정한 예에서, (가령, 세 명의 사용자 중 제3 사용자의) 색인기 컴포넌트(600)는 문서 태그를 취하고 문서를 위한 역 색인을 생성한다. 그러나, 이것은 이용될 수 있는 단지 하나의 유형의 색인화 기술임이 이해되어야 한다. 예컨대, 대안적으로 서픽스 트리(suffix tree), n-그램 색인(n-gram index), 문서-용어 색인(document-term index) 및 기타 등등과 같은 다른 색인화 기술이 이용될 수 있다. 문서 뷰(document view)는 역 색인 내의 어떤 문서가 주어진 사용자를 위해 액세스가능한 것인지를 확인한다. 문서 또는 콘텐트 소유자는 허가를 통해서(가령, 계정, 폴더, 파일 등등) 문서를 질의하고 볼 수 있는 사용자를 결정한다.
각각의 문서(문서(602))는 그 주어진 문서에 관련된 태그(604)(가령, 단어)를 위해 처리될 수 있다. 더욱이, 여러 상이한 문서가 동일한 태그를 가질 수 있다. 따라서, 단일 태그인 태그(606)가 그 동일한 태그를 갖는 많은 상이한 문서(608)에 관련될 수 있다. 태그(가령, 태그(606))를 주어진 사용자 디바이스(제1 사용자 디바이스(질의 사용자) 및 제2 사용자 디바이스(공유하는 사용자))의 공유 문서 내의 문서(612) 중 하나 이상에 맵핑하는 역 색인(610)이 이후 생성된다.
일단 생성되면, 역 색인(610)은 이후 개인 문서의 문서 뷰, 예컨대 제3 사용자 디바이스 상의 문서(616)(제1 사용자에 의해 액세스가능함)의 제1 사용자 문서 뷰(614) 및 제3 사용자 디바이스 상의 문서(620)(제2 사용자에 의해 액세스가능함)의 제2 사용자 문서 뷰(618)를 회신하기 위해 제1 사용자에 의해 제출된 질의를 처리하기 위해 (가령, 로컬 서치 엔진에 의해) 사용된다. 앞서 나타내어진 바와 같이, 문서 뷰는 역 색인 내의 어떤 문서가 주어진 사용자를 위해 액세스가능한 것인지를 확인한다. 그러므로, 질의 사용자에게는 결과(622)가 제시되는데, 이는 퍼베이시브 네트워크 문서 결과뿐만 아니라, 웹 문서 결과(도시되지 않음)도 포함할 수 있다.
도 7은 질의(412)에 기반하여 색인 및 회신된 관련 개인 문서를 제공하는 컴퓨트 노드의 제공 시스템(700)을 보여준다. 제3 사용자(사용자3)를 위한 (제공 컴포넌트(118)와 유사한) 제공 컴포넌트(702)는 질의(412)를 발행하는 제1 사용자에게 액세스가능한 것인 문서를 식별한다. 제공 시스템(700)은, 질의(412)와 매칭되는 태그(704)의 (사용자3의) 역 색인(610)에 견주어 처리되는 바와 같은, 제1 사용자(사용자1)의 사용자 질의(412)가, 제공된 문서(706)에 의해 제1 사용자에게 나타내어지는 바와 같이, 제1 사용자 문서 뷰(614)에 의해 식별된 그런 문서만을 회신하도록, (주어진 디바이스의) 퍼베이시브 서치 엔진에 인터페이스되는 데에 제공 컴포넌트(702)를 활용한다.
도 8은 컴퓨트 노드를 위한 분배된 색인화 시스템(800)을 보여준다. 예컨대, 유선(가령, 이더넷(Ethernet™)), 무선(가령, 이더넷(Ethernet™)) 및 단거리 무선(가령, 블루투스(Bluetooth™))과 같은 임의의 하나 이상의 기술을 사용하여 통신할 수 있는 개인용 사용자 디바이스(가령, 태블릿 컴퓨터, 디지털 카메라, 비디오 카메라, 오디오 디바이스, 스마트폰, 휴대가능 컴퓨터 등등) 및 비개인용 사용자 디바이스(가령, 자율적 센서 시스템, 교통 카메라, 도로 카메라, 기상 센서 등등)와 같은 많은 상이한 가능한 디바이스(808) 중 세 개의 사용자 디바이스(제1 사용자 디바이스(802), 제2 사용자 디바이스(804) 및 제3 사용자 디바이스(806))가 묘사된다.
제1 사용자 디바이스(802)는 개인 색인을 생성하고 그 색인을 퍼베이시브 서치 엔진(811)(또한 PSE1로 표기됨)에 제공하기 위한 제1 컴퓨트 노드(810)를 포함한다. 제1 컴퓨트 노드(810)는, 다른 사용자 및/또는 시스템에 의한 인가되지 않은 외부 액세스로부터 제한되는 사적 문서(820)를 또한 포함하는 제1 사용자 개인 스토리지(810)의 공유 문서(816)의 제1 개인 색인(814)을 생성하는 제1 색인기 컴포넌트(812)를 포함한다. 제1 컴퓨트 노드(810)는 퍼베이시브 서치 엔진(811)에 제1 개인 색인(814)을 제공하는 제1 색인 제공 컴포넌트(822)를 또한 포함한다.
유사하게, 제2 사용자 디바이스(804)는 개인 색인을 생성하고 그 색인을 퍼베이시브 서치 엔진(825)(또한 PSE2로 표기됨)에 제공하기 위한 제2 컴퓨트 노드(824)를 포함한다. 제2 컴퓨트 노드(824)는, 다른 사용자 및/또는 시스템에 의한 인가되지 않은 외부 액세스로부터 제한되는 사적 문서(834)를 또한 포함하는 제2 사용자 개인 스토리지(832)의 공유 문서(830)의 제2 개인 색인(828)을 생성하는 제2 색인기 컴포넌트(826)를 포함한다. 제2 컴퓨트 노드(824)는 퍼베이시브 서치 엔진(825)에 제2 개인 색인(828)을 제공하는 제2 색인 제공 컴포넌트(836)를 또한 포함한다.
제3 사용자 디바이스(806)는 개인 색인을 생성하고 그 색인을 퍼베이시브 서치 엔진(839)(또한 PSE3로 표기됨)에 제공하기 위한 제3 컴퓨트 노드(838)를 포함한다. 제3 컴퓨트 노드(838)는, 다른 사용자 및/또는 시스템에 의한 인가되지 않은 외부 액세스로부터 제한되는 사적 문서(848)를 또한 포함하는 제3 사용자 개인 스토리지(846)의 공유 문서(844)의 제3 개인 색인(842)을 생성하는 제3 색인기 컴포넌트(840)를 포함한다. 제3 컴퓨트 노드(838)는 퍼베이시브 서치 엔진(839)에 제3 개인 색인(842)을 제공하는 제3 색인 제공 컴포넌트(850)를 또한 포함한다.
각 디바이스 경우에, 예컨대, 퍼베이시브 서치 엔진이 제1 사용자에 의해 생성된 (또는 아마도 제1 사용자 디바이스에 의해 수신된) 질의를 처리하고, 제1 사용자에게 제2 및 제3 디바이스(804 및 806)의 공유 문서(830 및 844)로의 액세스가 허용된 경우, 로컬로 저장된 제2 및 제3 개인 색인(828 및 842)은 대응하는 제2 및 제3 디바이스(804 및 806)로부터 공유된 (공유 문서(830 및 844) 중의) 관련된 공유 개인 문서를 인출하고 관련된 공유 개인 문서 결과를 제1 사용자 디바이스(802)의 사용자에게 (그리고 아마도 웹 서치 엔진으로부터의 웹 기반 결과와 더불어) 제시하기 위해 처리된다.
개인 색인(814, 828 및 842)은 다른 사용자 디바이스들에 걸쳐 분배될 수 있다. 예컨대, 제1 개인 색인(814)은 하나 이상의 다른 사용자 디바이스 상에, 예를 들어 제2 사용자 디바이스(804) 상에 복제될 수 있다. 유사하게, 제1 개인 색인(814) 및 제2 개인 색인(828)은 각각 하나 이상의 다른 사용자 디바이스 상에, 예를 들어 제3 사용자 디바이스(806) 상에 색인(852)으로서 복제될 수 있다.
그러므로, 하나 이상의 다른 디바이스에 걸쳐 색인을 분배하는 것은 색인화 및/또는 애플리케이션 고장이 디바이스 상에서 발생한다면 서치를 위해 개인 문서의 더 높은 가용성을 제공한다는 점이 인식되어야 한다. 각각의 디바이스의 색인 제공 컴포넌트는, 원하는 대로, 복제된 색인(들)을 다른 디바이스로 및/또는 서치 엔진으로 전달하도록 구성될 수 있다.
도 9는 다양한 콘텐트 로케이션을 위해 색인을 업데이트하고 액세스하는 것을 가능하게 하는 색인 인터페이스 시스템(900)을 보여준다. 예컨대, 질의 사용자를 위한 개인 공유 문서의 색인(904)이 질의 사용자 디바이스(902) 상에 존재할 수 있고, 클라우드(가령, 개인 네트워크 로케이션, 소셜 네트워크와 같은 개인 네트워크 로케이션 등등) 내에 저장된 질의 사용자를 위한 개인 공유 문서를 위한 클라우드 색인(906), 제2 퍼베이시브 네트워크 사용자(사용자2)의 개인 공유 문서를 위한 색인(908), 제3 퍼베이시브 네트워크 사용자(사용자3)의 개인 공유 문서를 위한 색인(910)은 물론, 다른 질의 사용자 디바이스의 다른 질의 사용자 색인(912)에 있어서도 그러하고, 기타 등등이다. 사용자 디바이스(902) 상에 저장된 색인(904)은 질의 사용자의 다른 개인 디바이스의 다른 색인을 식별하는 단일 색인일 수 있다. 더욱이, 색인(904)은 다른 사용자 개인 디바이스들의 개별적인 색인들을 병합함으로써 생성된 단일 색인일 수 있다. 색인 인터페이스(index interface)(914)는 이후 다른 사용자 개인 디바이스에 의해 그것의 개별적 색인에 대해 개별적으로 행해진 업데이트에 따라 색인(904)의 업데이트를 가능하게 한다. 그러므로, 색인(904)이 사용자 디바이스(902) 상에서 질의에 대해 처리되는 경우, 결과는 다른 사용자 개인 디바이스의 (퍼베이시브 서치 엔진을 사용하여) 색인에 견주어 질의를 행하지 않고서 (풀된) 다른 사용자 개인 디바이스 각각으로부터 직접적으로 획득될 수 있다.
그러므로, 색인 인터페이스(914)는 공유하는 사용자뿐만 아니라 질의 사용자의 모든 다른 외부 및 개인 색인에 (사용되고 있는 머신/디바이스의 질의 사용자 ID와 연관된) 링크(link)를 제공한다. 다시 말해, 색인 인터페이스(914)는 사용자에 의해 소유된 것과 같고 공유 콘텐트 사용자에 의해 액세스하도록 인가된 것과 같이 사용자와 연관되고 사용자에 의해 액세스가능한 다른 노드(디바이스, 머신)를 추적한다(track). 그러므로, 질의 사용자 디바이스(902)의 색인 인터페이스(914)는 다양한 외부 색인으로부터 색인(904)으로의 업데이트를 수신할 뿐만 아니라 다양한 외부 색인을 액세스하고 업데이트하는 능력을 제공한다.
질의 사용자는 질의 사용자의 임의의 디바이스로부터의 공유 색인뿐만 아니라, (예를 들어 그 모든 디바이스의 콘텐트 소유자로서의 질의 사용자의 홈 네트워크 또는 사무실 컴퓨터/디바이스 상의) 임의의 질의 사용자 디바이스의 임의의 질의 사용자 색인을 액세스할 수 있다. 더욱이, 색인 인터페이스(914)는 질의 사용자로 하여금 디바이스의 사적(공유되지 않음) 콘텐트의 색인을 액세스할 수 있게 한다.
도 10은 개인 데이터가 질의에 대해 서치되고 회신될 수 있게 하는 퍼베이시브 서치를 위한 예시적인 사용자 인터페이스(User Interface: UI)(1000)를 보여준다. 이 특정한 예에서, (가령, 태블릿의) UI(1000)는 제1 사용자가 처리를 위해 질의(가령, 질의(112), 질의(226) 등등)를 입력하는 질의 박스(query box)(1002)를 포함한다. 웹 결과 및 개인화된 콘텐트 결과는 서치 엔진 결과 페이지(Search Engine Results Page: SERP)(1004) 내에서의 제1 사용자에의 제시를 위해 회신된다. 이 제시에서, SERP(1004)의 좌측은 순위화된 웹 결과(1006)를 보여주고, SERP(1004)의 우측은 개인화된 콘텐트의 퍼베이시브 결과(1008)를 보여준다. 퍼베이시브 결과(1008)의 개인화된 콘텐트는 하나 이상의 사용자 디바이스의 (가령, 좌에서 우로 순위화된) 사용자 개인 디바이스 결과(1010), 공유 개인 콘텐트의 퍼베이시브 네트워크의 제2 사용자로부터의 (가령, 좌에서 우로 순위화된) 제2 사용자 퍼베이시브 네트워크 결과(1012), 그리고 공유 개인 콘텐트의 퍼베이시브 네트워크의 제3 사용자로부터의 (가령, 좌에서 우로 순위화된) 제3 사용자 퍼베이시브 네트워크 결과(1014)를 포함할 수 있다.
제2 및 제3 사용자에게는 제1 사용자의 질의에 기반하여 사용을 위해 생성되고 저장된 제2 및 제3 사용자의 사적 색인을 통하여 그들의 개인 콘텐트의 일부 또는 전부로의 액세스가 허용되었다.
도 11은 개인 데이터가 질의에 대해 서치되고 회신될 수 있게 하는 퍼베이시브 서치를 위한 예시적인 사용자 인터페이스(1100)를 보여준다. 이 특정한 예에서, (가령, 태블릿의) UI(1100)는 제1 사용자가 처리를 위해 질의를 입력하는 질의 박스(1002)를 포함한다. 웹 결과 및 개인화된 콘텐트 결과는 SERP(1004) 내에서의 제1 사용자에의 제시를 위해 회신된다. 이 제시에서, SERP(1004)는 UI(1100)의 좌측 상에 제시되고 순위화된 웹 결과(1006)를 SERP(1004) 내에 그리고 개인화된 콘텐트의 퍼베이시브 결과(1008)를 보여준다. 앞서와 같이, 퍼베이시브 결과는 하나 이상의 사용자 디바이스의 개인 콘텐트의 사용자 개인 디바이스 결과(1010), 공유 개인 콘텐트의 퍼베이시브 네트워크의 제2 사용자로부터의 개인 콘텐트의 제2 사용자 결과(1012), 그리고 공유 개인 콘텐트의 퍼베이시브 네트워크의 제3 사용자로부터의 개인 콘텐트의 제3 사용자 결과(1014)는 물론, 퍼베이시브 네트워크의 다른 공유하는 사용자로부터의 콘텐트도 포함할 수 있다.
제2 및 제3 사용자는 제1 사용자에 의해 그들의 디바이스 결과의 일부 또는 전부로 액세스하고, 따라서 제1 사용자에 의한 서치를 위해 생성되고 저장된 제2 및 제3 사용자의 사적 색인을 통하여 그들의 지정된 개인 콘텐트(가령, 로컬 및/또는 클라우드)를 액세스하는 것을 허용하도록 인가하였다(허가를 가능하게 하였다). UI(1100)의 우측은 디바이스 프로그램 및/또는 데이터와의 사용자 상호작용을 위해 가능하게 되는 바와 같은 데스크톱 타일들(1104)의 타일 영역(tile area)(1102)을 보여줄 수 있다.
도 12는 사용자 인터페이스의 SERP(1004) 내에 제시된 퍼베이시브 결과(1200)의 더욱 상세화된 예를 보여준다. 제1 사용자의 그리고 다른 사용자의 개인 문서는 사진, 이미지, 비디오, 텍스트 문서, 예를 들어 영수증 및 워드 문서, 스프레드시트, 오디오 파일 등등을 포함하나 이에 한정되지 않는다. 이들 문서는 네트워크 (가령, "클라우드) 계정 또는 로케이션 내에 저장된 로컬 문서 및 개인 문서를 색인화하는 개인 디바이스 상에 있을 수 있다.
이 특정한 예에서, 퍼베이시브 결과(1200)는 SERP(1004) 내에서의 제1 사용자에의 제시를 위해 회신된다. 이 제시에서, 제1 사용자의 하나 이상의 디바이스 및/또는 클라우드 로케이션으로부터 획득되는 바와 같은, 제1 사용자(질의 사용자)를 위한 결과(1010)의 개인화된 콘텐트의 제1 사용자 순위화된 결과(1202)는, 순위화된 결과의 네 가지 인스턴스(instance)들을 포함할 수 있다(가령, 그 네 가지 인스턴스들 중 최고에서 최저로서 좌측에서 우측으로 순위화됨).
예컨대, 만약 질의가 "정원"인 경우, (서치 엔진에 저장된) 사용자1 색인은 용어 "정원"에 의해 색인화된 문서를 찾아 서치되고 이후 SERP(1004) 내의 퍼베이시브 결과의 일부로서 회신될 수 있다. 다시 말해, 제1 사용자(사용자1) 순위화된 결과(1202)의 제1 결과(RESLT1PD1)는 "야채, 여름, 돋음모판, 8월, 2012"(veggie, summer, raised bed, august, 2012)의 태그가 있는 정원의 문서 이미지일 수 있다. (이 결과는, "PD1"(개인 디바이스-1(Personal Device-1))에 의해 나타내어지는 바와 같이, 제1 사용자의 제1 디바이스로부터의 것일 수 있음에 유의하시오.) 유사하게, 제1 사용자(사용자1) 순위화된 결과(1202)의 제2 결과(RESLT2PD2)는 "체리, 수확, 10월, 2011"(cherries, harvest, October, 2011)의 태그와 연관된 체리 한 그릇의 문서 이미지일 수 있다. (이 결과는, "PD2"(개인 디바이스-2(Personal Device-2))에 의해 나타내어지는 바와 같이, 제1 사용자의 제2 디바이스로부터의 것일 수 있음에 유의하시오.) 제1 사용자(사용자1) 순위화된 결과(1202)의 제3 결과(RESLT3PD1)는 "묘판, 영수증, 재무, 2013"(nursery, receipt, finance, 2013)의 태그가 있는 영수증의 문서 이미지일 수 있고, 제1 사용자(사용자1) 순위화된 결과(1202)의 제4 결과(RESLT4PD1)는 "파종, 시간선, 묘판, 엑셀"(sowing, timeline, nursery, excel)의 태그와 연관된 스프레드시트의 문서 아이콘일 수 있다.
퍼베이시브 네트워크의 공유하는 사용자(사용자2 및 사용자3)로부터 유사한 결과가 이후 회신될 수 있다. 예컨대, 제2 사용자(사용자2) 순위화된 결과(1204)의 제1 결과(RESLT1U2)는 "라즈베리, 가을, 2011"(raspberries, fall, 2011)의 태그와 연관된 라즈베리의 문서 이미지일 수 있고, 제2 사용자(사용자2) 순위화된 결과(1204)의 제2 결과(RESLT2U2)는 "체리 토마토, 여름, 2013"(cherry tomato, summer, 2013)의 태그와 연관된 토마토의 다른 문서 이미지일 수 있고, 다른 개인 문서 콘텐트에 대해서 기타 등등이다. 제3 사용자(사용자3)를 위해 회신된 제3 사용자 순위화된 결과(1206)는 "로마 토마토, 가을, 2012"(roma tomato, fall, 2012)의 연관된 태그가 있는 토마토의 문서 이미지를 갖는 제1 결과(RESLT1U3), "로마 재배, 요령, doc"(growing romas, HowTo, doc)의 연관된 태그가 있는 워드 프로세싱 문서 아이콘으로서의 제2 결과(RESLT2U3), 그리고 다른 개인 문서 콘텐트에 대한 기타 등등을 포함할 수 있다.
개시된 아키텍처의 신규한 양상을 수행하기 위한 예시적인 방법론을 나타내는 흐름도의 세트가 본 문서에 포함된다. 설명의 간단함을 위하여, 예컨대 흐름도(flow chart) 또는 흐름 다이어그램(flow diagram)의 형태로 본 문서에 도시된 하나 이상의 방법론이 일련의 행위로서 도시되고 기술되나, 그 방법론은 행위의 순서에 의해 한정되지 않는바, 몇몇 행위는, 그에 따라, 본 문서에 도시되고 기술된 것과는 상이한 순서로 및/또는 다른 행위와 동시적으로 일어날 수 있기 때문이라는 점이 이해되고 인식되어야 한다. 예컨대, 당업자는 방법론이 대안적으로는 상태 다이어그램(state diagram)에서와 같이 일련의 연계된 상태 또는 이벤트로서 나타내어질 수 있음을 이해하고 인식할 것이다. 더욱이, 방법론 내에 보여진 모든 행위가 신규한 구현을 위해 요구되지는 않을 수 있다.
도 13은 개시된 아키텍처에 따른 방법을 보여준다. 1300에서, 콘텐트 소유자의 개인 콘텐트 로케이션의 개인 콘텐트의 콘텐트 색인이 생성되고 원격 콘텐트 소유자의 원격 개인 콘텐트 로케이션 상의 원격 개인 콘텐트의 원격 색인이 생성된다. 1302에서, 콘텐트 색인 및 원격 색인은 콘텐트 소유자에 의해 발행된 질의의 처리를 위해 제공된다. 1304에서, 관련 개인 콘텐트의 서치 결과가 개인 콘텐트 로케이션으로부터 회신되고 원격 개인 콘텐트 로케이션으로부터의 관련 공유 개인 콘텐트가 회신되는데 콘텐트 색인 및 원격 색인에 대한 질의의 처리에 기반하는 것이다.
방법은 질의를 콘텐트 색인 및 원격 색인에 견주어, 그리고 웹 색인에 견주어 처리하는 것과, 웹 결과를 관련 개인 콘텐트 및 관련 공유 개인 콘텐트와 더불어 콘텐트 소유자에의 제시를 위해 회신하는 것을 더 포함할 수 있다.
방법은 질의를 콘텐트 소유자의 개인 콘텐트 로케이션에서 콘텐트 색인에 견주어서 처리하는 것과, 질의를 원격 콘텐트 소유자의 원격 개인 콘텐트 로케이션 상에서 원격 색인에 견주어서 처리하는 것을 더 포함할 수 있다.
방법은 병합된 색인을 생성하기 위해 콘텐트 색인 및 원격 콘텐트 색인을 병합하는 것과, 관련 개인 콘텐트 및 관련 공유 개인 콘텐트를 서치 결과로서 회신하기 위해 서치 엔진에 의한 액세스 및 처리를 위해서 네트워크 저장 로케이션 내에 병합된 색인을 저장하는 것을 더 포함할 수 있다.
방법은 질의를 원격 개인 콘텐트 로케이션으로부터 다른 원격 개인 콘텐트 로케이션으로 발송하는 것과, 질의를 그 다른 원격 개인 콘텐트 로케이션의 다른 원격 색인에 견주어 처리하는 것과, 관련 개인 콘텐트를 그 다른 원격 개인 콘텐트 로케이션으로부터 원격 개인 콘텐트 로케이션으로 회신하는 것을 더 포함할 수 있다. 방법은 콘텐트 색인 및 원격 색인을 하나 이상의 다른 개인 콘텐트 로케이션에서 복제하는 것을 더 포함할 수 있다.
도 14는 개시된 아키텍처에 따른 대안적인 방법을 보여준다. 방법은 마이크로프로세서에 의해 실행되는 경우 마이크로프로세서로 하여금 다음의 행위 중 하나 이상을 수행하게 하는 컴퓨터 실행가능 명령어를 포함하는 컴퓨터 판독가능 저장 매체(computer-readable storage medium) 상에 실체화될(embodied) 수 있다. 1400에서, 개인 콘텐트의 콘텐트 색인이 콘텐트 소유자의 개인 콘텐트 로케이션에서 생성된다. 1402에서, 공유 콘텐트 소유자의 원격 개인 콘텐트 로케이션의 공유 개인 콘텐트로의 인가된 액세스가 수신된다. 공유 개인 콘텐트는 공유 콘텐트 색인에 따라 색인화된다. 1404에서, 콘텐트 소유자에 의해 발행된 질의는 콘텐트 색인 및 공유 콘텐트 색인에 견주어 처리된다. 1406에서, 개인 콘텐트 로케이션의 관련 개인 콘텐트 결과 및 원격 개인 콘텐트 로케이션으로부터의 관련 공유 개인 콘텐트 결과가 질의의 처리에 기반하여 수신된다. 1408에서, 관련 개인 콘텐트 결과 및 관련 공유 개인 콘텐트 결과는 사용자 선호 및 개인 콘텐트 관련성에 기반하여 순위화된다. 1410에서, 순위화된 개인 콘텐트 결과 및 순위화된 관련 공유 개인 콘텐트 결과는 웹 기반 결과와 함께 콘텐트 소유자에게 제시된다.
방법은 원격 개인 콘텐트 로케이션에 대한 개인 콘텐트 로케이션의 근접성, 원격 개인 콘텐트 로케이션의 관련 공유 개인 콘텐트의 품질 측정, 원격 개인 콘텐트 로케이션의 공유 개인 콘텐트의 관련성 또는 공유 콘텐트 소유자의 신뢰도 측정 중 적어도 하나에 기반하여 원격 개인 콘텐트 로케이션으로부터 관련 공유 개인 콘텐트 결과를 수신하는 것을 더 포함할 수 있다.
방법은 원격 개인 콘텐트 로케이션의 실시간 데이터를 색인화하는 것과 실시간 데이터 색인을 질의에 제공하는 것을 더 포함할 수 있다. 방법은 여러 개인 콘텐트 로케이션들 간에 콘텐트 색인 및 공유 개인 콘텐트 색인을 분배하고 캐싱하는 것을 더 포함할 수 있다.
방법은 질의를 개인 콘텐트 로케이션으로부터 직접적으로 원격 개인 콘텐트 로케이션 및 다른 액세스가능한 원격 개인 콘텐트 로케이션으로 송신하는 것과, 원격 개인 콘텐트 로케이션 및 다른 액세스가능한 원격 개인 콘텐트 로케이션 각각에서 질의를 처리하는 것과, 개인 콘텐트 로케이션에서 관련 콘텐트 결과를 원격 개인 콘텐트 로케이션 및 다른 액세스가능한 원격 개인 콘텐트 로케이션 중 임의의 하나 이상으로부터 수신하는 것을 더 포함할 수 있다.
이하의 대안적인 방법은 개인 콘텐트 로케이션보다는 디바이스의 측면에서 제시된다.
도 15는 개시된 아키텍처에 따른 방법을 보여준다. 1500에서, 콘텐트 소유자의 로컬 디바이스의 사적 콘텐트의 사적 색인이 생성되고 공유 콘텐트 소유자의 원격 디바이스 상의 공유 콘텐트의 공유 색인이 생성된다. 사적 색인은 오직 사용자에 의해 액세스가능하게 사적 사용자 문서의 색인일 수 있다. 사적 색인은 이후 사적 관련 콘텐트를 로컬 디바이스의 사용자에게만 회신하고 퍼베이시브 네트워크 내의 어떠한 다른 사용자에게도 회신하지 않도록 처리된다. 1502에서, 사적 색인 및 공유 색인은 콘텐트 소유자로부터의 질의의 처리를 위해 제공된다(액세스가능하게 된다). 1504에서, 콘텐트 소유자의 로컬 디바이스로부터의 관련 사적 콘텐트 및 공유 콘텐트 소유자의 원격 디바이스로부터의 관련 공유 콘텐트의 서치 결과가 사적 색인 및 공유 색인에 대한 질의의 처리에 기반하여 회신된다.
방법은 질의를 사적 색인 및 공유 색인에 견주어, 그리고 웹 색인에 견주어 처리하는 것과, 웹 결과를 관련 사적 콘텐트 및 관련 공유 콘텐트와 더불어 콘텐트 소유자로의 제시를 위해 회신하는 것을 더 포함할 수 있다. 방법은 질의를 콘텐트 소유자의 로컬 디바이스 상에서 그리고 사적 색인에 견주어 처리하는 것과, 질의를 공유 콘텐트 소유자의 원격 디바이스 상에서 그리고 공유 색인에 견주어 처리하는 것을 더 포함할 수 있다. 방법은 병합된 색인을 생성하기 위해 사적 색인과 공유 색인을 병합하는 것과, 서치 결과를 회신하기 위해 서치 엔진에 의한 액세스 및 처리를 위해서 네트워크 저장 로케이션 내에 병합된 색인을 저장하는 것을 더 포함할 수 있다. 이 방식으로, 병합된 색인은 임의의 사용자 디바이스로부터의 액세스를 위해 대단히 이용가능하다.
방법은 질의를 공유 콘텐트 소유자의 원격 디바이스로부터 다른 공유 콘텐트 소유자의 다른 원격 디바이스(로컬 디바이스가 아님)로 발송하는 것과, 질의를 그 다른 원격 디바이스의 다른 공유 색인에 견주어 처리하는 것과, 그 다른 원격 디바이스로부터 공유 콘텐트 소유자의 원격 디바이스로 관련 콘텐트를 회신하는 것을 더 포함할 수 있다. 방법은 다른 퍼베이시브 네트워크 디바이스 상에서 사적 색인 및 공유 색인을 복제하는 것을 더 포함할 수 있다.
도 16은 개시된 아키텍처에 따른 대안적인 방법을 보여준다. 컴퓨터 판독가능 저장 매체는 마이크로프로세서에 의해 실행되는 경우 마이크로프로세서로 하여금 다음의 행위를 수행하게 하는 컴퓨터 실행가능 명령어를 포함한다. 1600에서, 콘텐트 소유자의 로컬 디바이스 상의 콘텐트의 로컬 색인(local index)이 생성된다. 1602에서, 공유 콘텐트 소유자의 원격 디바이스의 공유 콘텐트로의 인가된 액세스가 수신되는데, 공유 콘텐트는 공유 색인에 따라 색인화된다. 1604에서, 질의가 로컬 색인 및 공유 색인에 견주어 처리된다. 1606에서, 로컬 디바이스의 관련 콘텐트 결과 및 공유 콘텐트 소유자의 원격 디바이스로부터의 관련 공유 콘텐트 결과가 질의의 처리에 기반하여 수신된다. 1608에서, 로컬 디바이스로부터의 관련 콘텐트 결과 및 공유 콘텐트 소유자의 원격 디바이스로부터의 관련 공유 콘텐트 결과는 사용자 선호 및 콘텐트 관련성에 기반하여 순위화된다. 1610에서, 순위화된 관련 콘텐트 결과 및 순위화된 관련 공유 콘텐트 결과는 웹 기반 결과와 함께 콘텐트 소유자의 로컬 디바이스 상에서 제시된다.
컴퓨터 판독가능 저장 매체는 원격 디바이스에 대한 로컬 디바이스의 근접성, 원격 디바이스의 관련 공유 콘텐트의 품질 측정, 원격 디바이스의 공유 콘텐트의 관련성 또는 공유 콘텐트 소유자의 신뢰도 측정 중 적어도 하나에 기반하여 원격 디바이스로부터 관련 공유 콘텐트 결과를 수신하기 위한 명령어를 더 포함할 수 있다. 컴퓨터 판독가능 저장 매체는 원격 디바이스의 실시간 데이터를 색인화하고 실시간 데이터 색인을 유입 질의에 제공하기 위한 명령어를 더 포함할 수 있다. 컴퓨터 판독가능 저장 매체는 로컬 색인 및 공유 색인을 여러 디바이스 간에 분배하고 캐싱하기 위한 명령어를 더 포함할 수 있다. 컴퓨터 판독가능 저장 매체는 질의를 로컬 디바이스로부터 직접적으로 원격 디바이스 및 다른 액세스가능한 원격 디바이스에 송신하고, 원격 디바이스 및 그 다른 액세스가능한 원격 디바이스 각각 상에서 질의를 처리하며, 원격 디바이스 및 그 다른 액세스가능한 원격 디바이스 중 임의의 하나 이상으로부터 관련 콘텐트 결과를 로컬 디바이스에서 수신하기 위한 명령어를 더 포함할 수 있다.
이 출원에서 사용되는 바와 같이, 용어 "컴포넌트" 및 "시스템"은, 하드웨어든, 소프트웨어와 유형적인(tangible) 하드웨어의 조합이든, 소프트웨어든, 또는 실행 중인 소프트웨어든 컴퓨터 관련 개체(computer-related entity)를 나타내도록 의도된다. 예컨대, 컴포넌트는 마이크로프로세서, 칩 메모리, 대용량 저장 디바이스(가령, 광학 드라이브, 솔리드 스테이트(solid state) 드라이브 및/또는 자기 저장 매체 드라이브) 및 컴퓨터와 같은 유형적인 컴포넌트, 그리고 마이크로프로세서 상에서 구동되는 프로세스, 객체, 실행가능물(executable), (휘발성(volatile) 또는 비휘발성(non-volatile) 저장 매체 내에 저장된) 데이터 구조, 모듈, 실행 쓰레드(thread of execution) 및/또는 프로그램과 같은 소프트웨어 컴포넌트일 수 있으나, 이에 한정되지 않는다.
예시로서, 서버 상에서 구동되는 애플리케이션과 그 서버 양자 모두는 컴포넌트일 수 있다. 하나 이상의 컴포넌트가 프로세스 및/또는 실행 쓰레드 내에 있을 수 있고, 컴포넌트는 둘 이상의 컴퓨터 간에 분배되고/되거나 컴퓨터 상에 로컬화될(localized) 수 있다. 단어 "예시적"은 예, 사례 또는 예시로서의 역할을 하는 것을 의미하도록 본 문서에서 사용될 수 있다. "예시적"인 것으로 본 문서에 기술된 임의의 양상 또는 설계는 반드시 다른 양상 또는 설계보다 선호되거나 유리한 것으로 해석되어야 하는 것은 아니다.
이제 도 17을 참조하면, 개시된 아키텍처에 따라 퍼베이시브 서치 컴퓨팅을 실행하는 컴퓨팅 시스템(1700)의 블록 다이어그램이 보여진다. 그러나, 개시된 방법 및/또는 시스템의 몇몇 또는 모든 양상은 아날로그, 디지털, 혼합된 신호 및 다른 기능이 단일 칩 기판 상에 제조되는 시스템 온 칩(system-on-a-chip)으로서 구현될 수 있음이 인식된다.
그것의 다양한 양상을 위해 추가적인 콘텍스트를 제공하기 위해서, 도 17 및 이하의 설명은 다양한 양상이 구현될 수 있는 적합한 컴퓨팅 시스템(1700)의 간결한 일반적 설명을 제공하도록 의도된다. 위의 설명은 하나 이상의 컴퓨터 상에서 구동될 수 있는 컴퓨터 실행가능 명령어의 일반적 콘텍스트 내에 있으나, 당업자는 신규한 실시예가 또한 다른 프로그램 모듈과 조합되어 및/또는 하드웨어와 소프트웨어의 조합으로서 구현될 수 있음을 인식할 것이다.
다양한 양상을 구현하기 위한 컴퓨팅 시스템(1700)은 마이크로프로세싱 유닛(들)(1704)(마이크로프로세서(들) 및 프로세서(들)로 지칭되기도 함), 시스템 메모리(1706)와 같은 컴퓨터 판독가능 저장 매체(컴퓨터 판독가능 저장 매체/매체들은 자기 디스크, 광학 디스크, 솔리드 스테이트 드라이브, 외부 메모리 시스템 및 플래시 메모리 드라이브를 또한 포함함) 및 시스템 버스(system bus)(1708)를 갖는 컴퓨터(1702)를 포함한다. 마이크로프로세싱 유닛(들)(1704)은 처리 및/또는 저장 회로의 단일 프로세서, 다중 프로세서, 단일 코어 유닛 및 다중 코어 유닛과 같은 다양한 상업적으로 이용가능한 마이크로프로세서 중 임의의 것일 수 있다. 더욱이, 당업자는 신규 시스템 및 방법이, 미니 컴퓨터, 메인프레임 컴퓨터는 물론, 개인용 컴퓨터(가령, 데스크톱, 랩톱, 태블릿 PC 등등), 핸드헬드(hand-held) 컴퓨팅 디바이스, 마이크로프로세서 기반 또는 프로그램가능 가전기기 및 유사한 것(그 각각은 하나 이상의 연관된 디바이스에 동작가능하게 커플링될(coupled) 수 있음)을 포함하는 다른 컴퓨터 시스템 구성으로써 실시될 수 있음을 인식할 것이다.
컴퓨터(1702)는 무선 통신 디바이스, 셀룰러 전화 및 다른 모바일 가능 디바이스와 같은 휴대가능 및/또는 모바일 컴퓨팅 시스템을 위한 클라우드 컴퓨팅 서비스를 지원하여 데이터센터(datacenter) 및/또는 컴퓨팅 리소스(하드웨어 및/또는 소프트웨어)에서 이용되는 몇 가지 컴퓨터 중 하나일 수 있다. 클라우드 컴퓨팅 서비스는, 예컨대, 서비스로서의 인프라스트럭처(infrastructure as a service), 서비스로서의 플랫폼(platform as a service), 서비스로서의 소프트웨어(software as a service), 서비스로서의 스토리지(storage as a service), 서비스로서의 데스크톱(desktop as a service), 서비스로서의 데이터(data as a service), 서비스로서의 보안(security as a service) 및 서비스로서의 API(애플리케이션 프로그램 인터페이스(application program interface))를 포함하나, 이에 한정되지 않는다.
시스템 메모리(1706)는 휘발성(VOL) 메모리(1710)(가령, 랜덤 액세스 메모리(Random Access Memory: RAM)) 및 비휘발성 메모리(NON-VOL)(1712)(가령, ROM, EPROM, EEPROM 등등)와 같은 컴퓨터 판독가능 저장(물리적 저장) 매체를 포함할 수 있다. 기본 입력/출력 시스템(Basic Input/Output System: BIOS)가 비휘발성 메모리(1712) 내에 저장될 수 있으며, 예를 들어 시동(startup) 동안에, 컴퓨터(1702) 내의 컴포넌트들 간의 데이터 및 신호의 통신을 가능하게 하는 기본 루틴을 포함한다. 휘발성 메모리(1710)는 데이터를 캐싱하기 위한 정적 RAM과 같은 고속 RAM을 또한 포함할 수 있다.
시스템 버스(1708)는, 시스템 메모리(1706) 내지 마이크로프로세싱 유닛(들)(1704)을 포함하나 이에 한정되지 않는 시스템 컴포넌트를 위한 인터페이스를 제공한다. 시스템 버스(1704)는, 다양한 상업적으로 이용가능한 버스 아키텍처 중 임의의 것을 사용하여, (메모리 제어기가 있는 또는 메모리 제어기가 없는) 메모리 버스(memory bus), 그리고 주변 버스(peripheral bus)(가령, PCI, PCIe, AGP, LPC 등등)에 추가로 상호연결될 수 있는 몇 가지 유형의 버스 구조 중 임의의 것일 수 있다.
컴퓨터(1702)는 머신 판독가능 저장 서브시스템(들)(1714)과, 저장 서브시스템(들)(1714)을 시스템 버스(1708) 및 다른 원하는 컴퓨터 컴포넌트 및 회로에 인터페이스하기 위한 저장 인터페이스(들)(1716)을 더 포함한다. 저장 서브시스템(들)(1714)(물리적 저장 매체)은, 예컨대, 하드 디스크 드라이브(Hard Disk Drive: HDD), 자기 플로피 디스크 드라이브(Floppy Disk Drive: FDD), 솔리드 스테이트 드라이브(Solid State Drive: SSD), 플래시 드라이브 및/또는 광학 디스크 저장 드라이브(가령, CD-ROM 드라이브 DVD 드라이브) 중 하나 이상을 포함할 수 있다. 저장 인터페이스(들)(1716)는, 예컨대, EIDE, ATA, SATA 및 IEEE 1394와 같은 인터페이스 기술을 포함할 수 있다.
하나 이상의 프로그램 및 데이터는, 운영 체제(operating system)(1720), 하나 이상의 애플리케이션 프로그램(1722), 다른 프로그램 모듈(1724) 및 프로그램 데이터(1726)를 포함하여, 메모리 서브시스템(1706), 머신 판독가능 및 탈착가능(removable) 메모리 서브시스템(1718)(가령, 플래시 드라이브 폼 팩터(form factor) 기술) 및/또는 저장 서브시스템(들)(1714)(가령, 광학, 자기, 솔리드 스테이트) 내에 저장될 수 있다.
운영 체제(1720), 하나 이상의 애플리케이션 프로그램(1722), 다른 프로그램 모듈(1724) 및/또는 프로그램 데이터(1726)는, 예컨대, 도 1의 시스템(100)의 항목 및 컴포넌트, 도 2의 시스템(200)의 항목 및 컴포넌트, 도 3의 시스템(300)의 항목 및 컴포넌트, 도 4의 시스템(400)의 항목 및 컴포넌트, 도 6의 색인기 컴포넌트(600)의 항목 및 컴포넌트, 도 7의 색인 제공 시스템(700)의 항목 및 컴포넌트, 도 8의 시스템(800)의 항목 및 컴포넌트, 도 9의 색인 인터페이스(900)의 항목 및 컴포넌트, 도 10의 사용자 인터페이스(1000)의 항목 및 컴포넌트, 도 11의 사용자 인터페이스(1100)의 항목 및 컴포넌트, 도 12의 퍼베이시브 결과(1200) 및 도 13 내지 도 16의 흐름도에 의해 나타내어지는 방법을 포함할 수 있다.
일반적으로, 프로그램은 특정한 작업, 기능을 수행하거나 특정한 추상적 데이터 유형을 구현하는 루틴, 메쏘드, 데이터 구조, 다른 소프트웨어 컴포넌트 등등을 포함한다. 운영 체제(1720), 애플리케이션(1722), 모듈(1724) 및/또는 데이터(1726)의 전부 또는 부분은 예컨대 휘발성 메모리(1710) 및/또는 비휘발성 메모리와 같은 메모리 내에 또한 캐싱될 수 있다. 개시된 아키텍처는 다양한 상업적으로 이용가능한 운영 체제 또는 운영 체제의 조합으로써 (가령, 가상 머신으로서) 구현될 수 있음이 인식되어야 한다.
저장 서브시스템(들)(1714) 및 메모리 서브시스템(1706 및 1718)은 데이터, 데이터 구조, 컴퓨터 판독가능 명령어 및 기타 등등의 휘발성 및 비휘발성 저장을 위한 컴퓨터 판독가능 매체로서의 역할을 한다. 컴퓨터 또는 다른 머신에 의해 실행되는 경우, 그러한 명령어는 그 컴퓨터나 다른 머신으로 하여금 방법의 하나 이상의 행위를 수행하게 할 수 있다. 컴퓨터 실행가능 명령어는, 예컨대, 일반 목적 컴퓨터, 특수 목적 컴퓨터 또는 특수 목적 마이크로프로세서 디바이스(들)로 하여금 어떤 기능 또는 기능의 그룹을 수행하게 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예컨대, 바이너리(binary), 어셈블리 언어와 같은 중간 포맷 명령어, 또는 심지어 소스 코드(source code)일 수 있다. 행위를 수행하기 위한 명령어는 하나의 매체 상에 저장될 수 있거나, 여러 매체에 걸쳐 저장될 수 있어서, 명령어 전부가 동일 매체 상에 있는지에 관계 없이, 명령어는 하나 이상의 컴퓨터 판독가능 저장 매체/매체들 상에 집합적으로 나타난다.
컴퓨터 판독가능 저장 매체들(매체)은 전파되는 신호(propagated signal) 자체는 배제하며, 컴퓨터(1702)에 의해 액세스될 수 있고, 탈착가능하고/하거나 비탈착가능한(non-removable) 휘발성 및 비휘발성 내부 및/또는 외부 매체들을 포함한다. 컴퓨터(1702)를 위해, 다양한 유형의 저장 매체는 임의의 적합한 디지털 포맷으로 데이터의 저장을 수용한다. 개시된 아키텍처의 신규한 방법(행위)을 수행하기 위한 컴퓨터 실행가능 명령어를 저장하기 위해, 집 드라이브(zip drive), 솔리드 스테이트 드라이브, 자기 테이프, 플래시 메모리 카드, 플래시 드라이브, 카트리지 및 유사한 것과 같은 다른 유형의 컴퓨터 판독가능 매체가 이용될 수 있다는 점이 당업자에 의해 인식되어야 한다.
사용자는, 음성 인식에 의해 가능하게 되는 음성 명령에 의해서는 물론, 키보드 및 마우스와 같은 외부 사용자 입력 디바이스(1728)를 사용하여 컴퓨터(1702), 프로그램 및 데이터와 상호작용할 수 있다. 다른 외부 사용자 입력 디바이스(1728)는 마이크(microphone), IR(적외선(infrared)) 리모트 컨트롤(remote control), 조이스틱(joystick), 게임 패드(game pad), 카메라 인식 시스템, 스타일러스 펜(stylus pen), 터치 스크린(touch screen), 제스처 시스템(가령, 눈 움직임, 손(들), 손가락(들), 팔(들), 머리 등등에 관련된 것과 같은 신체 자세) 및 유사한 것을 포함할 수 있다. 사용자는, 예컨대 컴퓨터(1702)가 휴대가능 컴퓨터인 경우에, 터치패드(touchpad), 마이크, 키보드 등등과 같은 온보드(onboard) 사용자 입력 디바이스(1730)를 사용하여 컴퓨터(1702), 프로그램 및 데이터와 상호작용할 수 있다.
이 입력 디바이스들 및 다른 입력 디바이스들은 시스템 버스(1708)를 통하여 입력/출력(Input/Output: I/O) 디바이스 인터페이스(들)(1732)를 거쳐 마이크로프로세싱 유닛(들)(1704)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스, 단거리 무선(가령, 블루투스) 및 다른 개인 영역 네트워크(Personal Area Network: PAN) 기술 등등과 같은 다른 인터페이스에 의해 연결될 수 있다. I/O 디바이스 인터페이스(들)(1732)는 또한 프린터, 오디오 디바이스, 카메라 디바이스 및 기타 등등과 같은 출력 주변기기(1734)의 사용을 가능하게 하는데, 예를 들어 사운드 카드 및/또는 온보드 오디오 처리 능력이다.
하나 이상의 그래픽 인터페이스(들)(1736)(보통 그래픽 처리 유닛(Graphics Processing Unit: GPU)으로 지칭되기도 함)는 컴퓨터(1702) 및 외부 디스플레이(들)(1738)(가령, LCD, 플라즈마) 및/또는 (가령, 휴대가능 컴퓨터를 위한) 온보드 디스플레이(1740) 간에 그래픽 및 비디오 신호를 제공한다. 그래픽 인터페이스(들)(1736)는 또한 컴퓨터 시스템 보드의 일부로서 제조될 수 있다.
컴퓨터(1702)는 네트워크화된 환경(가령, IP 기반) 내에서 유선/무선 통신 서브시스템(1742)을 통한 하나 이상의 네트워크 및/또는 다른 컴퓨터로의 논리적 연결을 사용하여 동작할 수 있다. 그 다른 컴퓨터는 워크스테이션(workstation), 서버, 라우터(router), 개인용 컴퓨터, 마이크로프로세서 기반 오락 기기(microprocessor-based entertainment appliance), 피어 디바이스(peer device) 또는 다른 공통 네트워크 노드(common network node)를 포함하며, 컴퓨터(1702)에 관해 기술된 구성요소 중 다수 또는 전부를 통상 포함할 수 있다. 논리적 연결은 로컬 영역 네트워크(Local Area Network: LAN), 광역 네트워크(Wide Area Network: WAN), 핫스팟(hotspot) 및 기타 등등으로의 유선/무선 연결성을 포함할 수 있다. LAN 및 WAN 네트워크화 환경은 사무실 및 회사에서 아주 흔하며 전사적(enterprise-wide) 컴퓨터 네트워크, 예를 들어 인트라넷을 가능하게 하는데, 그 전부는 인터넷과 같은 글로벌(global) 통신 네트워크에 연결될 수 있다.
네트워크화 환경에서 사용되는 경우에 컴퓨터(1702)는 유선/무선 네트워크, 유선/무선 프린터, 유선/무선 입력 디바이스(1744) 및 기타 등등과 통신하기 위해 유선/무선 통신 서브시스템(1742)(가령, 네트워크 인터페이스 어댑터(network interface adapter), 온보드 송수신기 서브시스템 등등)을 통하여 네트워크에 연결된다. 컴퓨터(1702)는 네트워크 상에서 통신을 수립하기 위한 모뎀(modem) 또는 다른 수단을 포함할 수 있다. 네트워크화된 환경에서, 컴퓨터(1702)에 관한 프로그램 및 데이터는, 분산 시스템(distributed system)과 연관되듯이, 원격 메모리/저장 디바이스 내에 저장될 수 있다. 도시된 네트워크 연결은 예시적이며 컴퓨터들 간의 통신 링크를 수립하는 다른 수단이 사용될 수 있다는 점이 인식될 것이다.
컴퓨터(1702)는 IEEE 802.xx 계열의 표준과 같은 무선 기술, 예를 들어, 가령 프린터, 스캐너(scanner), 데스크톱 및/또는 휴대가능 컴퓨터, 개인용 디지털 보조기기(Personal Digital Assistant: PDA), 통신 위성, 무선으로 검출가능한 태그와 연관된 임의의 장비나 로케이션(가령, 키오스크(kiosk), 신문 가판대, 화장실) 및 전화와의 무선 통신(가령, IEEE 802.11 OTA(Over-The-Air) 변조 기법) 내에 동작가능하게 배치된 무선 디바이스를 사용하여 유선/무선 디바이스 또는 개체와 통신하도록 동작가능하다. 이것은 적어도, 핫스팟을 위한 (무선 컴퓨터 네트워크화 디바이스의 상호운영성(interoperability)을 확증하는 데에 사용되는) 와이파이(Wi-Fi™), 와이맥스(WiMax) 및 블루투스(Bluetooth™) 무선 기술을 포함한다. 그러므로, 그 통신은 종래의 네트워크에서와 같은 사전정의된 구조이거나 단순히 적어도 두 디바이스 간의 애드혹(ad hoc) 통신일 수 있다. 와이파이 네트워크는 안전하고 신뢰성 있고 빠른 무선 연결성을 제공하기 위해 IEEE 802.11x(a, b, g 등등)로 불리는 무선 기술을 사용한다. 와이파이 네트워크는 컴퓨터들을 서로에게, 인터넷에, 그리고 (IEEE 802.3 관련 기술 및 기능을 사용하는) 유선 네트워크에 연결하는 데에 사용될 수 있다.
전술된 것은 개시된 아키텍처의 예를 포함한다. 물론, 컴포넌트 및/또는 방법론의 모든 착안가능한 조합을 기술하는 것은 가능하지 않지만, 통상의 기술자는 많은 추가의 조합 및 순열(permutation)들이 가능함을 인식할 수 있다. 따라서, 신규한 아키텍처는 부기된 청구항의 사상 및 범주에 속하는 모든 그러한 변경, 수정 및 변형을 망라하도록 의도된다. 나아가, 용어 "포함하다"(includes)가 상세한 설명에서든 또는 청구항에서든 사용되는 한, 그러한 용어는 용어 "포함하는"(comprising)과 유사한 방식으로 "포함하는"(comprising)이 청구항에서 전이 단어(transitional word)로서 이용되는 경우에 해석되는 바와 같이 포괄적이도록 의도된다.

Claims (19)

  1. 컴퓨팅 시스템으로서,
    프로세서와,
    상기 프로세서에 의해 실행시 상기 프로세서로 하여금 동작들을 수행하게 하는 명령어를 저장하는 메모리를 포함하며,
    상기 동작들은,
    네트워크 연결을 통해, 제 1 사용자에 의해 동작되는 컴퓨팅 디바이스로부터 질의를 수신하는 것과,
    상기 질의에 기초하여 서치 엔진(search engine)의 서치 엔진 색인(search engine index)에 제 1 서치를 수행하는 것 - 상기 서치 엔진 색인은 공중이 이용가능한(publicly available) 제 1 항목을 색인화함(indexing) - 과,
    상기 제 1 서치에 기초하여 상기 제 1 항목이 상기 질의에 관련되는 것으로 식별하는 것과,
    상기 질의에 기초하여 제 2 사용자의 개인 콘텐트 색인(personal content index)에 제 2 서치를 수행하는 것 - 상기 제 2 사용자의 상기 개인 콘텐트 색인은, 공중이 이용가능하지 않지만 상기 제 2 사용자에 의해 상기 제 1 사용자와 공유가능한 것으로 사전에 식별된 제 2 항목을 색인화함 - 과,
    상기 제 2 서치에 기초하여 상기 제 2 항목이 상기 질의에 관련되는 것으로 식별하는 것과,
    상기 네트워크 연결을 통해, 상기 제 1 항목 및 상기 제 2 항목이 상기 질의에 관련되는 것으로 식별되는 것에 기초하여, 상기 제 1 항목에 대한 제 1 식별자 및 상기 제 2 항목에 대한 제 2 식별자를 포함하는 서치 결과를 상기 컴퓨팅 디바이스에 회신(return)하는 것
    을 포함하며,
    상기 제 1 식별자는 상기 컴퓨팅 디바이스의 디스플레이의 제 1 영역에 제시되고, 상기 제 2 식별자는 상기 컴퓨팅 디바이스의 상기 디스플레이의 제 2 영역에 제시되며, 상기 제 1 식별자는 상기 제 1 항목이 상기 서치 엔진 색인 내에 색인화되는 것에 기인하여 상기 제 1 영역에 보여지고, 상기 제 2 식별자는 상기 제 2 항목이 상기 개인 콘텐트 색인에 색인화되는 것에 기인하여 상기 제 2 영역에 보여지는
    컴퓨팅 시스템.
  2. 제 1 항에 있어서,
    상기 제 2 항목은 상기 제 2 사용자의 카메라에 의해 캡쳐된 이미지인
    컴퓨팅 시스템.
  3. 제 1 항에 있어서,
    상기 개인 콘텐트 색인은 상기 제 2 사용자에 의하여 제 3 사용자와 공유가능하지만 상기 제 1 사용자와는 공유가능하지 않다고 사전에 식별된 제 3 항목을 색인화하고, 상기 서치 결과는 상기 제 3 항목이 상기 질의에 관련되는지 여부와 무관하게 상기 제 3 항목에 대한 식별자를 포함하지 않는
    컴퓨팅 시스템.
  4. 제 1 항에 있어서,
    상기 동작들은,
    상기 서치 결과를 회신하는 것 이후에, 상기 제 2 사용자가 상기 제 1 항목 및 상기 제 2 항목과 상이한 제 3 항목을 상기 제 1 사용자와 공유가능한 것으로 식별했다는 표시를 수신하는 것과,
    상기 표시에 기초하여, 상기 개인 콘텐트 색인을 업데이트하여 상기 제 3 항목을 색인화하는 것을 더 포함하는
    컴퓨팅 시스템.
  5. 제 1 항에 있어서,
    상기 제 2 항목은 상기 제 2 사용자의 디바이스에 저장되는
    컴퓨팅 시스템.
  6. 제 1 항에 있어서,
    상기 제 2 항목은 상기 컴퓨팅 디바이스 및 상기 제 2 사용자에 의해 운영되는 제 2 컴퓨팅 디바이스 모두로부터 원격인 데이터 스토리지에 저장되는
    컴퓨팅 시스템.
  7. 제 1 항에 있어서,
    상기 제 2 항목은 상기 서치 결과 내에서 상기 제 2 사용자에 의해 상기 제 1 사용자와 공유되는 것으로 식별되는
    컴퓨팅 시스템.
  8. 제 1 항에 있어서,
    상기 제 1 식별자 및 상기 제 2 식별자는 상기 컴퓨팅 디바이스의 디스플레이 상에 동시에 디스플레이 되는
    컴퓨팅 시스템.
  9. 컴퓨팅 시스템의 프로세서에 의해 실행되는 방법으로서,
    네트워크 연결을 통해, 제 1 사용자에 의해 동작되는 컴퓨팅 디바이스로부터 질의를 수신하는 단계와,
    상기 질의에 기초하여 서치 엔진(search engine)의 서치 엔진 색인(search engine index)에 제 1 서치를 수행하는 단계 - 상기 서치 엔진 색인은 공중이 이용가능한(publicly available) 제 1 항목을 색인화함 - 와,
    상기 제 1 서치에 기초하여 상기 제 1 항목이 상기 질의에 관련되는 것으로 식별하는 단계와,
    상기 질의에 기초하여 제 2 사용자의 개인 콘텐트 색인(personal content index)에 제 2 서치를 수행하는 단계 - 상기 제 2 사용자의 상기 개인 콘텐트 색인은, 공중이 이용가능하지 않지만 상기 제 2 사용자에 의해 상기 제 1 사용자와 공유가능한 것으로 사전에 식별된 제 2 항목을 색인화함 - 와,
    상기 제 2 서치에 기초하여 상기 제 2 항목이 상기 질의에 관련되는 것으로 식별하는 단계와,
    상기 네트워크 연결을 통해, 상기 제 1 항목 및 상기 제 2 항목이 상기 질의에 관련되는 것으로 식별되는 것에 기초하여, 상기 제 1 항목에 대한 제 1 식별자 및 상기 제 2 항목에 대한 제 2 식별자를 포함하는 서치 결과를 상기 컴퓨팅 디바이스에 회신(return)하는 단계
    를 포함하며,
    상기 제 1 식별자는 상기 컴퓨팅 디바이스의 디스플레이의 제 1 영역에 제시되고, 상기 제 2 식별자는 상기 컴퓨팅 디바이스의 상기 디스플레이의 제 2 영역에 제시되며, 상기 제 1 식별자는 상기 제 1 항목이 상기 서치 엔진 색인 내에 색인화되는 것에 기인하여 상기 제 1 영역에 보여지고, 상기 제 2 식별자는 상기 제 2 항목이 상기 개인 콘텐트 색인에 색인화되는 것에 기인하여 상기 제 2 영역에 보여지는
    방법.
  10. 제 9 항에 있어서,
    상기 제 1 사용자 및 상기 제 2 사용자는 컴퓨터 구현 소셜 네트워크의 회원이고,
    상기 방법은,
    상기 개인 콘텐트 색인에 상기 제 2 서치를 수행하는 단계 이전에, 상기 컴퓨터 구현 소셜 네트워크 내에서의 상기 제 1 사용자와 상기 제 2 사용자 간의 이격의 정도(a degree of separation)에 기초하여 상기 제 1 사용자의 상기 개인 콘텐트 색인에 대한 액세스를 인증(validating)하는 단계를 더 포함하는
    방법.
  11. 제 9 항에 있어서,
    상기 개인 콘텐트 색인에 색인화된 상기 제 2 항목이 상기 질의에 관련될 가능성을 표시하는 신뢰도 측정(a confidence measure)을 계산하는 단계를 더 포함하는
    방법.
  12. 제 9 항에 있어서,
    상기 제 1 사용자는 소비자이고, 상기 제 2 사용자는 소매상이고, 상기 제 2 항목은 상기 소매상의 제품인
    방법.
  13. 제 9 항에 있어서,
    상기 서치 결과를 상기 컴퓨팅 디바이스에 회신하는 단계 이전에, 상기 제 1 사용자의 선호에 기초하여 상기 제 1 항목 및 상기 제 2 항목의 순위화하는 단계 - 상기 제 1 항목 및 상기 제 2 항목은 상기 순위화하는 단계에 기초하여 그 순서로 상기 컴퓨팅 디바이스의 디스플레이 상에 제시됨 - 를 더 포함하는
    방법.
  14. 제 9 항에 있어서,
    상기 개인 콘텐트 색인에 상기 제 2 서치를 수행하는 단계는, 상기 제 2 사용자의 제 2 컴퓨팅 디바이스 상에서 실행되는 컴퓨트 노드(a compute node)에 상기 질의를 제출하는 단계 - 상기 컴퓨트 노드는 상기 개인 콘텐트 색인에 대하여 상기 질의를 처리하고, 상기 컴퓨트 노드는 상기 제 2 식별자를 상기 컴퓨팅 시스템으로 회신함 - 을 포함하는
    방법.
  15. 제 9 항에 있어서,
    상기 제 1 항목은 웹사이트로부터의 제 1 이미지를 포함하고, 상기 제 2 항목은 상기 제 2 사용자의 제 2 컴퓨팅 디바이스의 데이터 스토리지에 저장된 제 2 이미지를 포함하는
    방법.
  16. 제 9 항에 있어서,
    상기 제 2 항목은 상기 컴퓨팅 디바이스 및 상기 제 2 사용자에 의해 동작되는 제 2 컴퓨팅 디바이스 모두로부터 원격인 데이터 스토리지에 저장되는
    방법.
  17. 명령어를 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 명령어는 컴퓨팅 시스템의 프로세서의 의해 실행시 상기 프로세서로 하여금 동작들을 수행하게 하고,
    상기 동작들은,
    네트워크 연결을 통해, 제 1 사용자에 의해 동작되는 컴퓨팅 디바이스로부터 질의를 수신하는 것과,
    상기 질의에 기초하여 서치 엔진(search engine)의 서치 엔진 색인(search engine index)에 제 1 서치를 수행하는 것 - 상기 서치 엔진 색인은 공중이 이용가능한(publicly available) 제 1 항목을 색인화함 - 과,
    상기 제 1 서치에 기초하여 상기 제 1 항목이 상기 질의에 관련되는 것으로 식별하는 것과,
    상기 질의에 기초하여 제 2 사용자의 개인 콘텐트 색인(personal content index)에 제 2 서치를 수행하는 것 - 상기 제 2 사용자의 상기 개인 콘텐트 색인은, 공중이 이용가능하지 않지만 상기 제 2 사용자에 의해 상기 제 1 사용자와 공유가능한 것으로 사전에 식별된 제 2 항목을 색인화함 - 과,
    상기 제 2 서치에 기초하여 상기 제 2 항목이 상기 질의에 관련되는 것으로 식별하는 것과,
    상기 네트워크 연결을 통해, 상기 제 1 항목 및 상기 제 2 항목이 상기 질의에 관련되는 것으로 식별되는 것에 기초하여, 상기 제 1 항목에 대한 제 1 식별자 및 상기 제 2 항목에 대한 제 2 식별자를 포함하는 서치 결과를 상기 컴퓨팅 디바이스에 회신(return)하는 것
    을 포함하며,
    상기 제 1 식별자는 상기 컴퓨팅 디바이스의 디스플레이의 제 1 영역에 제시되고, 상기 제 2 식별자는 상기 컴퓨팅 디바이스의 상기 디스플레이의 제 2 영역에 제시되며, 상기 제 1 식별자는 상기 제 1 항목이 상기 서치 엔진 색인 내에 색인화되는 것에 기인하여 상기 제 1 영역에 보여지고, 상기 제 2 식별자는 상기 제 2 항목이 상기 개인 콘텐트 색인에 색인화되는 것에 기인하여 상기 제 2 영역에 보여지는
    비일시적 컴퓨터 판독가능 저장 매체.
  18. 제 17 항에 있어서,
    상기 개인 콘텐트 색인은,
    사진, 비디오, 텍스트 문서, 스프레드시트, 오디오 및 이메일 중 적어도 하나를 색인화하는
    비일시적 컴퓨터 판독가능 저장 매체.
  19. 제 17 항에 있어서,
    상기 컴퓨팅 디바이스는 스마트폰인
    비일시적 컴퓨터 판독가능 저장 매체.
KR1020227014555A 2013-10-23 2014-10-15 퍼베이시브 서치 아키텍처 KR102506120B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/061,000 US20150112996A1 (en) 2013-10-23 2013-10-23 Pervasive search architecture
US14/061,000 2013-10-23
KR1020167010565A KR20160074507A (ko) 2013-10-23 2014-10-15 퍼베이시브 서치 아키텍처
PCT/US2014/060560 WO2015061085A1 (en) 2013-10-23 2014-10-15 Pervasive search architecture

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020167010565A Division KR20160074507A (ko) 2013-10-23 2014-10-15 퍼베이시브 서치 아키텍처

Publications (2)

Publication Number Publication Date
KR20220062673A true KR20220062673A (ko) 2022-05-17
KR102506120B1 KR102506120B1 (ko) 2023-03-03

Family

ID=51866327

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167010565A KR20160074507A (ko) 2013-10-23 2014-10-15 퍼베이시브 서치 아키텍처
KR1020227014555A KR102506120B1 (ko) 2013-10-23 2014-10-15 퍼베이시브 서치 아키텍처

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020167010565A KR20160074507A (ko) 2013-10-23 2014-10-15 퍼베이시브 서치 아키텍처

Country Status (5)

Country Link
US (4) US20150112996A1 (ko)
EP (1) EP3061004B1 (ko)
KR (2) KR20160074507A (ko)
CN (2) CN114168834A (ko)
WO (1) WO2015061085A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150112996A1 (en) 2013-10-23 2015-04-23 Microsoft Corporation Pervasive search architecture
IN2013MU03472A (ko) * 2013-10-31 2015-07-24 Tata Consultancy Services Ltd
US10102288B2 (en) * 2013-11-18 2018-10-16 Microsoft Technology Licensing, Llc Techniques for managing writable search results
US9628551B2 (en) * 2014-06-18 2017-04-18 International Business Machines Corporation Enabling digital asset reuse through dynamically curated shared personal collections with eminence propagation
US9984110B2 (en) * 2014-08-21 2018-05-29 Dropbox, Inc. Multi-user search system with methodology for personalized search query autocomplete
US10346550B1 (en) * 2014-08-28 2019-07-09 X1 Discovery, Inc. Methods and systems for searching and indexing virtual environments
US10235460B2 (en) 2014-09-30 2019-03-19 Splunk Inc. Sharing configuration information for searches in data intake and query systems
US9990423B2 (en) 2014-09-30 2018-06-05 Splunk Inc. Hybrid cluster-based data intake and query
US9922099B2 (en) 2014-09-30 2018-03-20 Splunk Inc. Event limited field picker
US9183303B1 (en) 2015-01-30 2015-11-10 Dropbox, Inc. Personal content item searching system and method
US9384226B1 (en) * 2015-01-30 2016-07-05 Dropbox, Inc. Personal content item searching system and method
WO2016127438A1 (zh) 2015-02-15 2016-08-18 华为技术有限公司 信息分享方法及装置
US9851965B2 (en) * 2015-06-19 2017-12-26 Microsoft Technology Licensing, Llc Storing optimization for customization resources
CN105718522B (zh) * 2016-01-15 2020-02-18 北京傲游天下科技有限公司 一种呈现浏览器主体内容的方法
CN108476549B (zh) 2016-01-19 2021-03-30 华为技术有限公司 一种ip地址分配方法及设备
US10942975B2 (en) * 2016-05-20 2021-03-09 Cisco Technology, Inc. Search engine for sensors
CN107545004A (zh) * 2016-06-28 2018-01-05 华为技术有限公司 一种搜索的方法、装置和搜索引擎系统
US10762140B2 (en) * 2016-11-02 2020-09-01 Microsoft Technology Licensing, Llc Identifying content in a content management system relevant to content of a published electronic document
WO2018209635A1 (zh) * 2017-05-18 2018-11-22 华为技术有限公司 一种搜索方法及装置
US11086834B2 (en) * 2017-09-14 2021-08-10 Commvault Systems, Inc. Distributed framework for data proximity-based task splitting in a content indexing system
GB201716171D0 (en) * 2017-10-04 2017-11-15 Palantir Technologies Inc Data indexing for search tool
US10866926B2 (en) 2017-12-08 2020-12-15 Dropbox, Inc. Hybrid search interface
CN108470047B (zh) * 2018-03-07 2023-09-26 谭亮 基于物联网的远程平台监测系统
CN110309408B (zh) * 2018-03-09 2023-07-14 陈包容 一种自动化搜索的方法
US11216516B2 (en) 2018-06-08 2022-01-04 At&T Intellectual Property I, L.P. Method and system for scalable search using microservice and cloud based search with records indexes
CN108959443A (zh) * 2018-06-13 2018-12-07 沈文策 一种信息推送方法、信息处理方法及装置
US11636078B2 (en) * 2020-04-24 2023-04-25 Servicenow, Inc. Personally identifiable information storage detection by searching a metadata source
CN113762997A (zh) * 2020-07-01 2021-12-07 北京沃东天骏信息技术有限公司 一种信息生成的方法、装置、系统和存储介质
US11645182B2 (en) 2020-09-25 2023-05-09 Digital Realty Trust, Inc. Pervasive data center architecture systems and methods
CN112988769A (zh) * 2021-02-04 2021-06-18 北京奇艺世纪科技有限公司 广告业务数据处理方法、装置、系统及存储介质
US20230351033A1 (en) * 2022-04-27 2023-11-02 Microsoft Technology Licensing, Llc Method and system of providing access to documents stored in personal storage mediums

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030070480A (ko) * 2002-02-25 2003-08-30 엘지전자 주식회사 멀티미디어 콘텐츠 검색 및 브라우징 시스템
KR100656954B1 (ko) * 2005-12-06 2006-12-14 삼성전자주식회사 분산 컴퓨팅 환경에서의 멀티미디어 컨텐츠 처리 방법 및그 장치
US20080140849A1 (en) * 2006-09-12 2008-06-12 Iwatchnow Inc. System and method for distributed media streaming and sharing
CN101785008A (zh) * 2007-08-29 2010-07-21 微软公司 用于本地和远程服务的聚集搜索结果
US20110191318A1 (en) * 2008-05-16 2011-08-04 David Gilbey Community search system with relational ranking
US20130144864A1 (en) * 2011-08-31 2013-06-06 Boathouse Group, Inc. Systems and Methods for Aggregation of Online Social Network Content
KR20160106128A (ko) * 2014-01-07 2016-09-09 구글 인코포레이티드 오프라인 콘텐츠 공유

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366696B1 (en) * 1999-10-08 2008-04-29 Checkfree Corporation Electronic billing with flexible biller controlled electronic bill presentment
EP1381967B1 (en) * 2000-01-14 2009-07-01 Thinkstream, Inc. Distributed globally accessible information network
US8019757B2 (en) * 2000-01-14 2011-09-13 Thinkstream, Inc. Distributed globally accessible information network implemented to maintain universal accessibility
US6636854B2 (en) 2000-12-07 2003-10-21 International Business Machines Corporation Method and system for augmenting web-indexed search engine results with peer-to-peer search results
WO2003042871A2 (en) * 2001-11-14 2003-05-22 Brian Mervyn Morrow Systems and methods for indexing data in a network environment
US7802283B2 (en) * 2002-12-20 2010-09-21 Shailen V Banker Linked information system
US9811728B2 (en) * 2004-04-12 2017-11-07 Google Inc. Adding value to a rendered document
US7962449B2 (en) * 2004-06-25 2011-06-14 Apple Inc. Trusted index structure in a network environment
US7730012B2 (en) * 2004-06-25 2010-06-01 Apple Inc. Methods and systems for managing data
US7991767B2 (en) 2005-04-29 2011-08-02 International Business Machines Corporation Method for providing a shared search index in a peer to peer network
US8122427B2 (en) * 2006-01-04 2012-02-21 Microsoft Corporation Decentralized system services
US7660787B2 (en) 2006-07-19 2010-02-09 International Business Machines Corporation Customized, personalized, integrated client-side search indexing of the web
US7725453B1 (en) 2006-12-29 2010-05-25 Google Inc. Custom search index
US7987185B1 (en) 2006-12-29 2011-07-26 Google Inc. Ranking custom search results
US8082242B1 (en) 2006-12-29 2011-12-20 Google Inc. Custom search
US7797295B2 (en) * 2007-01-04 2010-09-14 Yahoo! Inc. User content feeds from user storage devices to a public search engine
US8468416B2 (en) 2007-06-26 2013-06-18 International Business Machines Corporation Combined group ECC protection and subgroup parity protection
US10133820B2 (en) * 2007-06-29 2018-11-20 Veritas Technologies Llc Techniques for performing intelligent content indexing
US7792813B2 (en) * 2007-08-31 2010-09-07 Microsoft Corporation Presenting result items based upon user behavior
US8442994B1 (en) 2007-09-14 2013-05-14 Google Inc. Custom search index data security
US8799396B2 (en) * 2008-02-04 2014-08-05 Cisco Technology, Inc. Method and system for an efficient distributed cache with a shared cache repository
US8886817B2 (en) * 2008-05-22 2014-11-11 Yahoo! Inc. Federation and interoperability between social networks
US20090307189A1 (en) * 2008-06-04 2009-12-10 Cisco Technology, Inc. Asynchronous workflow participation within an immersive collaboration environment
US9104738B2 (en) * 2008-06-19 2015-08-11 Tropare, Inc. Leveraging collaborative cloud services to build and share apps
EP2347345A2 (en) 2008-10-13 2011-07-27 Faroo Assets Limited System and method for distributed index searching of electronic content
WO2010105246A2 (en) * 2009-03-12 2010-09-16 Exbiblio B.V. Accessing resources based on capturing information from a rendered document
US20100262593A1 (en) 2009-04-08 2010-10-14 Microsoft Corporation Automated filtered index recommendations
US20110047136A1 (en) * 2009-06-03 2011-02-24 Michael Hans Dehn Method For One-Click Exclusion Of Undesired Search Engine Query Results Without Clustering Analysis
US8407241B2 (en) * 2009-06-12 2013-03-26 Microsoft Corporation Content mesh searching
US8768313B2 (en) * 2009-08-17 2014-07-01 Digimarc Corporation Methods and systems for image or audio recognition processing
US20110087647A1 (en) * 2009-10-13 2011-04-14 Alessio Signorini System and method for providing web search results to a particular computer user based on the popularity of the search results with other computer users
US8468146B2 (en) 2010-04-13 2013-06-18 Infosys Limited System and method for creating search index on cloud database
US9177346B2 (en) * 2010-07-01 2015-11-03 Facebook, Inc. Facilitating interaction among users of a social network
US8566370B2 (en) * 2010-12-15 2013-10-22 Verizon Patent And Licensing Inc. Ranking media content for cloud-based searches
US9171079B2 (en) 2011-01-28 2015-10-27 Cisco Technology, Inc. Searching sensor data
US9092525B2 (en) * 2011-05-09 2015-07-28 Wyse Technology L.L.C. Method and apparatus for searching non-public data using a single search query
EP2727018A4 (en) * 2011-06-29 2015-05-27 Nokia Corp METHOD AND APPARATUS FOR INTEGRATION OF HISTORY OF SEARCH AND WEB NAVIGATION
US8495058B2 (en) * 2011-08-05 2013-07-23 Google Inc. Filtering social search results
US20150310100A1 (en) * 2012-01-09 2015-10-29 Google Inc. Presenting user-generated content in search results
US20170242898A1 (en) * 2012-01-09 2017-08-24 Google Inc. Profiles in suggest
US9294537B1 (en) * 2012-01-13 2016-03-22 Google Inc. Suggesting a tag for content
US9047633B2 (en) * 2012-02-07 2015-06-02 Zencolor Corporation System and method for identifying, searching and matching products based on color
US20130240473A1 (en) * 2012-03-16 2013-09-19 Howard Harrenstien Uniform tension distribution mechanism for stretched membrane solar collectors
US20130325847A1 (en) * 2012-06-04 2013-12-05 Microsoft Corporation Graph-based searching
EP2680172A3 (en) * 2012-06-29 2014-01-22 Orange Other user content-based collaborative filtering
WO2014011208A2 (en) * 2012-07-10 2014-01-16 Venor, Inc. Systems and methods for discovering content of predicted interest to a user
WO2014028871A1 (en) * 2012-08-17 2014-02-20 Twitter, Inc. Search infrastructure
US20190171753A1 (en) * 2012-09-28 2019-06-06 Google Inc. Diversification of items for representation to user
US9582572B2 (en) * 2012-12-19 2017-02-28 Intel Corporation Personalized search library based on continual concept correlation
US9405771B2 (en) * 2013-03-14 2016-08-02 Microsoft Technology Licensing, Llc Associating metadata with images in a personal image collection
US9152652B2 (en) * 2013-03-14 2015-10-06 Google Inc. Sub-query evaluation for image search
US9317585B2 (en) * 2013-03-15 2016-04-19 Google Inc. Search query suggestions based on personal information
US9262555B2 (en) * 2013-03-15 2016-02-16 Yahoo! Inc. Machine for recognizing or generating Jabba-type sequences
US9348821B2 (en) * 2013-04-05 2016-05-24 Batzu Media, Inc. Method and system for content management
US20140358882A1 (en) * 2013-05-28 2014-12-04 Broadcom Corporation Device content used to bias a search infrastructure
US9304648B2 (en) * 2013-06-26 2016-04-05 Google Inc. Video segments for a video related to a task
US9128968B2 (en) * 2013-07-25 2015-09-08 Facebook, Inc. Systems and methods for data compression
US20150046443A1 (en) * 2013-08-11 2015-02-12 International Business Machines Corporation Document-based search with facet information
US11163898B2 (en) * 2013-09-11 2021-11-02 Mimecast Services Ltd. Sharing artifacts in permission-protected archives
US20150112996A1 (en) 2013-10-23 2015-04-23 Microsoft Corporation Pervasive search architecture

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030070480A (ko) * 2002-02-25 2003-08-30 엘지전자 주식회사 멀티미디어 콘텐츠 검색 및 브라우징 시스템
KR100656954B1 (ko) * 2005-12-06 2006-12-14 삼성전자주식회사 분산 컴퓨팅 환경에서의 멀티미디어 컨텐츠 처리 방법 및그 장치
US20080140849A1 (en) * 2006-09-12 2008-06-12 Iwatchnow Inc. System and method for distributed media streaming and sharing
CN101785008A (zh) * 2007-08-29 2010-07-21 微软公司 用于本地和远程服务的聚集搜索结果
JP2010538366A (ja) * 2007-08-29 2010-12-09 マイクロソフト コーポレーション ローカルサービスおよびリモートサービスの集約された検索結果
US20110191318A1 (en) * 2008-05-16 2011-08-04 David Gilbey Community search system with relational ranking
US20130144864A1 (en) * 2011-08-31 2013-06-06 Boathouse Group, Inc. Systems and Methods for Aggregation of Online Social Network Content
KR20160106128A (ko) * 2014-01-07 2016-09-09 구글 인코포레이티드 오프라인 콘텐츠 공유

Also Published As

Publication number Publication date
US20210109911A1 (en) 2021-04-15
CN114168834A (zh) 2022-03-11
US11507552B2 (en) 2022-11-22
US20230085967A1 (en) 2023-03-23
WO2015061085A1 (en) 2015-04-30
KR102506120B1 (ko) 2023-03-03
EP3061004A1 (en) 2016-08-31
CN105659234B (zh) 2021-11-30
EP3061004B1 (en) 2021-04-07
US10949408B2 (en) 2021-03-16
US20150112996A1 (en) 2015-04-23
US20180181603A1 (en) 2018-06-28
KR20160074507A (ko) 2016-06-28
CN105659234A (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
US11507552B2 (en) Pervasive search architecture
JP6408081B2 (ja) オンライン・ソーシャル・ネットワーク上の検索結果をブレンドすること
US10796091B2 (en) Enhanced predictive input utilizing a typeahead process
US9721025B2 (en) Generating logical expressions for search queries
KR101662195B1 (ko) 소셜 네트워크 데이터에 기반한 검색 결과의 클라이언트-측 변경
KR101719238B1 (ko) 포워드 인덱스를 사용하여 검색하기 위한 방법, 컴퓨터-판독가능한 비-일시적 저장매체 및 시스템
CA2808720C (en) Dynamic place visibility in geo-social networking system
CA2808381C (en) Location ranking using social graph information
CA2907920C (en) Tagged search result maintenance
Jiang et al. Finding top-k local users in geo-tagged social media data
US9558270B2 (en) Search result organizing based upon tagging
US9104762B1 (en) Universal database management
EP2795486A1 (en) Client-based search over local and remote data sources for intent analysis, ranking, and relevance
US20170024388A1 (en) Methods and systems for determining query date ranges
US10102288B2 (en) Techniques for managing writable search results
US20140372425A1 (en) Personalized search experience based on understanding fresh web concepts and user interests
US9547713B2 (en) Search result tagging
US10216785B2 (en) Dynamically-sorted contact information
Wang et al. Services-oriented URL filtering and verification
JP2017041247A (ja) ビットを利用して文書に対するアクセス権限とタイプによって文書を検索するシステムおよび方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right