KR20140038432A - 사용자 탐색 이벤트의 예측 - Google Patents

사용자 탐색 이벤트의 예측 Download PDF

Info

Publication number
KR20140038432A
KR20140038432A KR1020137031458A KR20137031458A KR20140038432A KR 20140038432 A KR20140038432 A KR 20140038432A KR 1020137031458 A KR1020137031458 A KR 1020137031458A KR 20137031458 A KR20137031458 A KR 20137031458A KR 20140038432 A KR20140038432 A KR 20140038432A
Authority
KR
South Korea
Prior art keywords
search
url
event
predicting
user
Prior art date
Application number
KR1020137031458A
Other languages
English (en)
Other versions
KR101793240B1 (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 KR20140038432A publication Critical patent/KR20140038432A/ko
Application granted granted Critical
Publication of KR101793240B1 publication Critical patent/KR101793240B1/ko

Links

Images

Classifications

    • 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/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/74Browsing; Visualisation therefor
    • G06F16/748Hypervideo
    • 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9554Retrieval from the web using information identifiers, e.g. uniform resource locators [URL] by using bar codes
    • 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/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/134Hyperlinking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Navigation (AREA)

Abstract

탐색 이벤트를 예측하는 시스템(300) 및 방법(200)이 개시된다. 본 발명의 측면에 따르면, 한 탐색 이벤트와 네트워크 응답 사이의 지연을, 다음 탐색 이벤트를 예측함으로써 최소화한다. 그리고 본 시스템 및 방법은 다음 탐색 이벤트에 관련된 내용을 사전 렌더링할 수 있다. 예를 들어, 본 방법 및 시스템은 사용자가 해당 링크를 선택하기 전에 네트워크로부터 선제적으로 컨텐트를 요청(306)하기 위해 웹 브라우징 중에 다음에 선택가능성있는 URL(유니폼 리소스 로케이터)을 예측(304)할 수 있다. 본 방법은 다음 탐색 이벤트를 예측하는 각종 방식들, 예컨대, 개별 및 종합 이력 데이터의 조사(400, 500, 600, 700, 800), 텍스트 입력에 의한 예측(900), 커서 입력의 모니터링(1000)이 설명된다.

Description

사용자 탐색 이벤트의 예측 {PREDICTING USER NAVIGATION EVENTS}
<관련 출원의 상호 참조>
본 출원은 2012년 5월 4일에 출원된 미국 특허출원 제13/100,615의 계속출원이다. 이 문헌을 참고자료로서 본 명세서에 포함시킨다.
월드와이드웹의 출현은 어느 때보다도 오늘날 사용자의 손끝에 더 많은 정보를 두게 되었다. 각종 웹사이트는, 참고 정보, 경영 및 재무 서류, 소셜 네트워킹 등으로의 액세스를 제공하기 위한 거의 모든 요구와 관심에 부응하고 있다. 널리 보급된 광대역 인터넷 접속은 그 어느 때보다도 이러한 사이트에 대한 빠른 액세스를 제공해 준다.
그러나 웹을 브라우징(browsing)하는 행위가 현재의 고속 인터넷 서비스가 빠른 만큼 즉각적이지는 못하다. 사용자가 페이지의 링크를 선택하거나 텍스트 필드에 유니폼 리소스 로케이터(URL)를 입력시에는, 데이터가 호스트로부터 요청되어 클라이언트로 전송되어서 브라우저에 표시되는 동안에 시간 지연이 있게 된다. 일반적으로 사용자는 자신이 요청한 사이트가 로딩되는 것을 기다리는 동안에는 아무런 행위를 하지 않는 상태(idle)에 있게 된다. 초고속 인터넷이 이러한 지연을 수 초 이내로 제한할 수는 있지만, 이 정도의 짧은 지연이라 하더라도 매년 최대 수천 인시(man-hour)의 생산성 저하를 증대시킬 수 있다.
사용자의 탐색 이벤트(navigation event)를 예측하는 방법 및 시스템이 개시된다. 본 개시형태는 웹페이지에서의 사용자 탐색 이벤트를 예측함으로써 웹 컨텐트 액세스시의 지연을 최소화한다. 탐색 이벤트는 사용자의 탐색 이력, 종합적 탐색 이력, 데이터 입력 필드에의 텍스트 입력, 또는 마우스 커서의 위치 등을 포함하는(단, 이들에만 한정되는 것은 아님) 다양한 지표에 의해 예측될 수 있다. 사용자에게는, 사용자에 관한 개인 정보를 수집하는 기능을 취사선택하는 옵트인/옵트아웃(op in/out) 기회가 제공될 수 있다. 또한, 특정 데이터는 그 저장 및 사용 전에 익명화 및 종합화될 수 있고, 이로써 개인 식별 정보가 제거된다.
일 측면에서, 본 발명은 컴퓨터에 구현되는 탐색 이벤트 예측 방법을 개시한다. 이 방법은 탐색 의도 표시자를 수신하고, 프로세서를 사용하여 상기 표시자로부터 다음 탐색 이벤트를 예측하고, 다음 탐색 이벤트에 관련된 컨텐트를 사전 렌더링하는 것을 포함한다. 상기 다음 탐색 이벤트는 유니폼 리소스 로케이터(URL)이며, 상기 탐색 의도 표시자는 브라우징 이력, 텍스트 입력, 커서 입력 중 적어도 하나이다.
다른 측면에서, 본 발명은 컴퓨터에 구현되는 탐색 이벤트 예측 방법을 개시한다. 이 방법은 탐색 이력을 추적하고, 상기 탐색 이력을 사용하여 다수의 탐색 이벤트 중 하나 이상에 대한 하나 이상의 신뢰값을 계산하고, 상기 신뢰값을 사용하여 하나 이상의 가능성 있는 탐색 이벤트를 프로세서를 사용하여 결정하고, 예측된 탐색 이벤트로서 상기 적어도 하나 이상의 가능성 있는 탐색 이벤트를 식별하는 것을 포함한다. 이 방법은, 예측된 탐색 이벤트에 관련된 컨텐트를 검색하는 것을 추가로 포함할 수 있다. 일부 형태에서, 상기 하나 이상의 신뢰값을 계산하는 단계는, 제1 URL의 선택을 모니터링하고, 이 선택에 응답하여 제1 URL에 관련된 빈도값 또는 URL 쌍에 관련된 빈도값을 증분하고, 메모리에 이 빈도값을 저장하고, 메모리에 저장된 적어도 하나의 빈도값으로부터, 상기 URL 또는 URL 쌍의 신뢰값을 결정하는 것을 포함한다. 여기서 상기 URL 쌍은 제1 URL과 출발 URL을 포함할 수 있다.
다른 측면에서, 이 방법은, 선택되지 않은 URL에 대한 빈도값을 사전 정해진 시간 간격 후에 감쇠시키는 것을 포함한다. 이 선택되지 않은 URL에 대한 빈도값을 감쇠시키는 것은, 제1 URL의 선택에 대한 응답으로서 수행될 수 있다. 또다른 측면에서, 상기 탐색 이력은 특정 클라이언트 또는 특정 사용자 중 적어도 하나에 관련된다. 또다른 측면에서, 상기 탐색 이력은 다수의 사용자에 관련된다.
다른 측면에서, 이 방법은, 제1 URL 또는 URL들의 천이 쌍에 관련된 탐색 이벤트에 대한 제1 해시값을 계산하고, 탐색 이벤트에 대한 신뢰값을 계산하고, 상기 해시값과 신뢰값을 전송함으로써, 제1 해시값과 신뢰값을 수신한 수신기가 제2 URL의 제2 해시값을 계산하여 상기 신뢰값이 적용된 제1 URL을 식별하도록 하는 것을 추가로 포함할 수 있다. 여기서 URL들의 천이 쌍은 출발 URL과 목적 URL을 포함할 수 있다. 이 방법의 일부 측면에서, 상기 가장 가능성 있는 탐색 이벤트를 결정하는 단계는, 적어도 하나의 URL에 대해서, 다수의 사용자의 탐색 이력에 근거하여 가장 많이 방문된 후속 URL을 계산하는 것을 포함한다. 다른 측면에서, 이 방법은, 후속 URL의 방문 횟수가 임계 방문 횟수보다 큰지 여부를 판단하는 것을 추가로 포함한다.
다른 측면에서 이 방법은, 후속 URL에 대한 데이터를 제출하는 사용자 수가 임계 사용자 수보다 큰지 여부를 판단하는 것을 추가로 포함할 수 있다. 이 방법의 다른 측면은, 가장 많이 방문된 후속 URL을 결정하기 위해 분석해야 할 최근 방문 윈도우를 식별하고, 식별된 윈도우 내에서 방문을 분석하는 것을 추가로 포함한다. 일부 측면에서, 상기 윈도우는 시간 주기 또는 방문수에 의해 정해진다.
이 방법의 또다른 측면에서, 상기 탐색 이력은 URL 또는 URL들의 천이 쌍 중 적어도 하나를 포함한다. URL들의 천이 쌍은 출발 URL과 목적 URL을 포함한다.
또다른 측면에서 본 발명은 다음 탐색 이벤트를 예측하는 방법을 개시한다. 이 방법은, URL에 대한 데이터 세트를 수신하고, 프로세서를 사용하여, URL에 관련된 페이지에 있는 하나 이상의 링크에 대한 해시값을 계산하고, 계산된 해시값을 수신된 해시값과 비교하여 각 계산된 해시값을 수신된 해시값으로 매핑하고, 링크에 대한 계산된 해시값이 매핑되는 수신된 해시값에 관련된 수신된 신뢰값을 근거로 각각의 가시적인(visible) 링크에 관련된 신뢰값을 식별하는 것을 포함한다. 상기 데이터 세트는 URL에 관련된 하나 이상의 링크에 관련된 해시값과 이 하나 이상의 링크에 관련된 신뢰값 세트를 포함한다. 다른 측면에서, 이 방법은, 가장 높은 것으로 식별된 신뢰값을 갖는 링크에 관련된 하나 이상의 다음 탐색 이벤트를 예측하는 것을 추가로 포함한다.
본 발명의 또다른 측면은 다음 탐색 이벤트를 예측하는 방법을 개시한다. 이 방법은, 텍스트 입력 필드 내의 텍스트 입력을 모니터링하고, 상기 텍스트 입력에 근거하여 가능성 있는 URL 또는 가능성 있는 질의어를 프로세서를 사용하여 예측하고, 예측된 다음 탐색 이벤트로서 상기 가능성 있는 URL 또는 가능성 있는 질의어를 식별하는 것을 포함한다. 일부 측면에서, 상기 가능성 있는 URL을 예측하는 것은, 이전에 방문된 URL을 찾기 위하여 사용자 이력에 상기 텍스트 입력을 비교하는 것을 포함한다. 상기 가능성 있는 질의어를 예측하는 것은 또한, 다음 탐색 이벤트로서 다음의 가능성 있는 질의어를 식별하기 위하여 이전에 입력된 검색 질의어 세트와 상기 텍스트 입력을 비교하는 것을 포함한다. 일부 측면에서, 이 방법은, 가능성 있는 것으로 식별된 다음 질의어에 관련된 검색 결과 세트를 확인하는 것을 추가로 포함한다. 또다른 측면에서 이 방법은, 상기 검색 결과 세트로부터 가장 관련성이 높은 검색 결과를, 예측된 다음 탐색 이벤트로서 식별하는 것을 포함할 수 있다. 여기서 상기 가능성 있는 질의어를 예측하는 단계는, 텍스트 입력에 근거하여, 검색 엔진으로부터 대상 질의어들의 세트를 수신하는 것을 포함할 수 있다.
또다른 측면에서, 본 발명은 컴퓨터에 구현된 다음 탐색 이벤트 예측 방법을 포함할 수 있다. 이 방법은, 브라우저에서의 커서의 움직임을 모니터링하고, 커서가 이동하는 쪽에 있는 하이퍼링크 또는 커서가 위치하고 있는 하이퍼 링크 중 적어도 하나를 식별하여 프로세서를 사용하여 다음 탐색 이벤트를 예측하는 것을 포함한다. 상기 브라우저는 하나 이상의 하이퍼링크를 갖는 웹페이지를 표시한다. 이 방법의 추가적 측면에는, 식별된 하이퍼링크에 관련된 웹페이지를 사전 렌더링하는 것이 포함된다. 이 방법의 측면에는, 라인(line)을 식별하기 위하여 커서의 움직임을 추정하고, 이 식별된 라인에 있는 하나 이상의 하이퍼링크를, 다음 탐색 이벤트로서 식별하는 것이 추가로 포함된다. 일부 측면에서, 이 방법은, 커서가 이동할 가능성이 있는 하이퍼링크를 판단하기 위하여, 커서의 속도 및 각 하이퍼링크까지의 거리를 계산하는 것을 추가로 포함한다.
다른 측면에서, 본 발명은 다음 탐색 이벤트를 예측하는 처리 시스템을 제공한다. 이 처리 시스템은, 적어도 하나의 프로세서, 적어도 하나의 프로세서에 관련된 탐색 예측 모듈, 탐색 데이터를 저장하는 메모리를 포함한다. 메모리는 적어도 하나의 프로세서에 연결된다. 탐색 예측 모듈은 다수의 탐색 이벤트들 중 하나 이상에 대한 하나 이상의 신뢰값을 탐색 데이터를 이용하여 계산하도록 구성되어서, 상기 신뢰값을 사용하여 하나 이상의 가능성 있는 탐색 이벤트를 결정하고, 이 하나 이상의 가능성 있는 탐색 이벤트들 중 적어도 하나를, 예측된 탐색 이벤트로서 식별한다.
도 1은 본 개시형태에 있어서 예시적인 클라이언트 장치와 통신하는 서버의 일례를 나타내는 시스템도이다.
도 2는 본 개시형태에 있어서 예시적인 컴퓨팅 장치를 나타내는 블록도이다.
도 3은 본 개시형태에 따라 예측된 탐색 이벤트에 근거하여 웹페이지를 사전 렌더링하기 위한 예시적인 방법을 나타내는 흐름도이다.
도 4는 본 개시형태에 있어서 클라이언트 탐색 이력에 근거하여 탐색 이벤트를 예측하기 위한 예시적인 방법을 나타내는 흐름도이다.
도 5는 본 개시형태에 있어서 클라이언트 탐색 이력을 사용하여 URL에 대한 신뢰값을 계산하기 위한 예시적인 방법을 나타내는 흐름도이다.
도 6은 본 개시형태에 있어서 종합 탐색 이력에 근거하여 탐색 이벤트를 예측하기 위한 예시적인 방법을 나타내는 흐름도이다.
도 7은 본 개시형태에 있어서 종합 탐색 이력을 사용하여 URL에 대한 신뢰값을 계산하기 위한 예시적인 방법을 나타내는 흐름도이다.
도 8A는 본 개시형태에 있어서, 익명으로 링크 데이터를 관리하기 위하여 해시값을 사용하여 종합 탐색 이력에 근거해서 탐색 이벤트를 예측하기 위한 예시적인 방법을 나타내는 흐름도이다.
도 8B는 본 개시형태에 있어서, 종합 탐색 이력에 근거하여 사용자의 탐색 이벤트를 예측하기 위한 예시적인 방법을 채용한 예시적인 웹브라우저를 나타내는 도면이다.
도 9A는 본 개시형태에 있어서, 텍스트 필드에 입력된 데이터를 근거로 탐색 이벤트를 예측하기 위한 예시적인 방법을 나타내는 흐름도이다.
도 9B는 본 개시형태에 있어서, 텍스트 필드에 입력된 데이터를 근거로 사용자의 탐색 이벤트를 예측하기 위한 예시적인 방법을 채용한 예시적인 웹브라우저를 나타내는 도면이다.
도 10A는 본 개시형태에 있어서, 마우스 커서의 움직임을 근거로 탐색 이벤트를 예측하기 위한 예시적인 방법을 나타내는 흐름도이다.
도 10B는 본 개시형태에 있어서, 마우스 커서의 움직임을 근거로 사용자 탐색 이벤트를 예측하기 위한 예시적인 방법을 채용한 예시적인 웹브라우저를 나타내는 도면이다.
사용자의 탐색 이벤트(navagation event)를 예측하는 시스템 및 방법의 구현형태들이 본 명세서에 기재되어 있다. 본 개시형태에서는, 한 탐색 이벤트와 네트워크 응답 사이의 지연을, 다음 탐색 이벤트(next navigation event)를 예측함으로써 최소화한다. 본 시스템 및 방법은 다음 탐색 이벤트에 관련된 내용을 사전 렌더링(prerender)할 수 있다. 예를 들어, 본 방법 및 시스템은 사용자가 해당 링크를 선택하기 전에 네트워크로부터 선제적으로 컨텐트를 요청하기 위해 웹 브라우징 중에 다음에 선택가능성있는 URL(유니폼 리소스 로케이터)을 예측할 수 있다. 이에 사용자가 웹페이지 상의 하이퍼링크를 선택할 때의 대기 시간을 줄이거나 없앨 수 있다. 다음 탐색 이벤트를 예측하는 각종 방식을 기술한 다양한 방법들, 예컨대, 개별 및 종합 이력 데이터(historical data)의 조사, 텍스트 입력에 의한 예측, 커서 입력의 모니터링이 설명된다. 본 개시형태들은 즉각적인 사용자 탐색(예를 들어, 사용자가 특정 웹페이지를 볼 때에, 이후의 30초 내에, 이후의 1분 내에, 또는 이후의 5분 내에 선택할 가능성이 있는 다음 링크)의 예측에 관련된 것이다.
도 1에서와 같이, 일 구현형태에 있어서 예시 시스템(100)은 웹브라우저 인터페이스(114, 116, 118)를 표시하는 하나 이상의 클라이언트 장치(106, 108, 110) 및 네트워크(112)를 통해 이와 통신하는 서버(104)를 포함한다.
클라이언트 장치(106, 108, 110)는 웹브라우저 애플리케이션의 실행 중에 사전 렌더링 작업을 수행하도록 동작된다. 서버(104)는 다음 탐색 이벤트의 예측을 가능케 하기 위해 클라이언트 장치(106, 108, 110)로 탐색 이력(navigation history) 데이터를 전송할 수 있다. 일부 형태에서 클라이언트 장치(106, 108, 110)는 국지에서의(local) 탐색 이력을 이용하여 다음 탐색 이벤트를 결정하고 다음 탐색 이벤트에 관련된 내용을 사전 렌더링하라는 웹 요청을 생성하여 서버(104)로 보낸다. 예를 들어, 클라이언트 장치(106)의 사용자는 웹브라우저 인터페이스(112)에 표시되는 "www.fakeaddress.com"에 위치하는 웹페이지를 볼 수 있다. 이 웹페이지에는 사용자가 선택할 수 있는 선택대상 컨텐트(selectable content)가 포함되어 있다. 사용자의 탐색 이력에 근거하여 클라이언트 장치(106)는 어느 선택대상 컨텐트를 사용자가 선택할 것 같은지를 판단하여 서버(104)에 컨텐트를 요청하여 이 선택대상 컨텐트에 관련된 컨텐트를 사전 렌더링할 수 있다.
다른 예로서, 클라이언트 장치(108)는 브라우저(114)에 www.fakeaddress.com을 표시할 수 있다. 클라이언트 장치(108)는 서버(104)로부터, 종합적인 탐색 통계자료 세트를 수신하여 이 종합 탐색 통계자료 세트를 근거로 사용자가 어느 선택대상 컨텐트를 선택할 것 같은지를 판단할 수 있다. 또다른 예로서, 클라이언트 장치(110)는 브라우저(116)에 www.fakeaddress.com을 표시할 수 있다. 클라이언트 장치(108)는 브라우저(114)에서의 커서의 위치를 근거로 사용자가 어느 선택대상 컨텐트를 선택할 것 같은지를 판단할 수 있다.
본 명세서에 기재한 개념들은 전반적으로 웹브라우저에 관해 설명되어 있지만, 본 개시형태는 서버(104)를 포함해서, 네트워크를 통해 탐색 이벤트를 관리할 수 있는 모든 컴퓨팅 노드에 적용가능하다.
클라이언트 장치(106, 108, 110)로는 네트워크(112)를 통해 데이터 요청을 관리할 수 있는 모든 장치를 사용할 수 있다. 이러한 클라이언트 장치의 예를 들면, 개인용 컴퓨터(PC)(108), 모바일 기기(110), 또는 서버(104)를 들 수 있다. 또한 클라이언트 장치(106, 108, 110)에는 태블릿 PC, 넷북 등의 개인용 컴퓨터와 개인 디지털 보조장치(PDA)가 포함될 수 있다. 사실상, 본 명세서에 기재한 시스템 및 방법에 따른 클라이언트 장치에는 명령어를 처리하고 인간 및 타 컴퓨터(범용 컴퓨터, 로컬 저장 기능이 없는 네트워크 컴퓨터 등) 간에 데이터를 전송하는 작용을 하는 모든 장치가 포함될 수 있다.
클라이언트 장치(106, 108, 110)는 네트워크(112) 상에서의 데이터 접근(액세스)을 지원하기 위하여 탐색 이벤트를 예측하도록 동작한다. 예를 들어, 클라이언트 장치는 발생 가능성이 있는 탐색 이벤트를 예측함으로써 웹페이지의 사전 렌더링을 용이하게 함으로써 사용자의 브라우징 감을 향상시킨다. 일부 형태에서 서버(104)는, 클라이언트 장치(106, 108, 110)가 발생 가능성 있는 탐색 이벤트를 예측하기 위해 사용할 수 있는 탐색 데이터를 제공한다(도 6~8 참조). 일부 형태에서 클라이언트 장치(106, 108, 110)는 로컬 데이터를 사용하여 발생가능성 있는 탐색 이벤트를 예측한다(도 3~5, 9~10 참조).
네트워크(112), 그리고 서버(104)와 클라이언트 장치(106, 108, 110) 사이에 개입하는 노드들은 다양한 구성을 포함하고 다양한 프로토콜(인터넷, 월드와이드웹, 인트라넷, 가상 사설망, 로컬 이더넷 네트워크, 단일 또는 복수 기업의 자체 통신 프로토콜을 사용하는 사설망, 셀룰러 및 무선 네트워크(예를 들어, Wi-Fi), 인스턴트 메시징, 하이퍼텍스트 전송 프로토콜(HTTP) 및 단순 메일 전송 프로토콜(SMTP), 및 이들의 다양한 조합 등)을 사용할 수 있다. 전형적인 시스템에서는 많은 수의 컴퓨터들이 연결되어 있을 수 있음을 이해하여야 한다.
위에서 언급한 바와 같이 정보를 송수신할 때에 특정 이점들을 얻을 수 있지만, 본 시스템 및 방법의 다른 형태들은 임의의 특정 정보 전송 방식에 한정되는 것은 아니다. 예를 들어, 일부 형태에서, 정보는 광디스크 또는 휴대형 드라이브 등의 매체를 통해서 전송할 수도 있다. 다른 형태에서, 정보는 비 전자적 방식으로 전달될 수도 있고 수동으로 시스템에 입력될 수도 있다.
일부 기능은 서버(104)에서 수행되고 그 밖의 기능은 클라이언트 장치(106, 108, 110)에서 수행되는 것으로 기재되어 있지만, 본 시스템 및 방법의 다양한 개시형태는 단일 프로세서가 있는 단일 컴퓨터에 의해 구현될 수도 있다. 클라이언트 기준으로 설명된 시스템 및 방법의 형태를 서버에서 구현할 수 있음을, 그리고 그 반대의 경우도 마찬가지임을 이해하여야 한다.
도 2는 도 1에서 설명한 클라이언트 장치(106, 108, 110) 중 하나에 해당되는 컴퓨팅 장치(200)의 일례를 나타내는 블록도이다. 이 컴퓨팅 장치(200)는 범용 컴퓨터에 일반적으로 있는 프로세서(204), 메모리(202), 및 그 밖의 구성부를 포함할 수 있다. 메모리(202)는 프로세서(204)가 액세스할 수 있는 명령어와 데이터를 저장할 수 있다. 프로세서(204)는 컴퓨팅 장치(200)의 동작을 제어하기 위하여 명령어를 실행시켜서 데이터에 액세스할 수 있다.
메모리(202)는 프로세서(120)가 액세스할 수 있는 정보를 저장하도록 작동하는, 컴퓨터 판독가능 매체 또는 전자장치에 의해서 읽힐 수 있는 그 밖의 데이터 저장매체(예컨대, 하드 드라이브, 메모리 카드, 읽기 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 디지털 다기능 디스크(DVD) 또는 그 밖의 광디스크, 및 기타 쓰기가능한 읽기전용 메모리 등)를 포함하는 모든 형태의 메모리일 수 있다. 본 시스템 및 방법은 이상의 것들의 서로 다른 조합을 포함할 수 있는데, 이로써 명령어와 데이터의 다른 부분들이 각기 다른 유형의 매체에 저장된다.
명령어는, 프로세서(204)에 의해 직접 실행되는 명령어(예컨대, 기계 코드) 또는 간접적으로 실행되는 명령어(스크립트 등)의 임의의 세트일 수 있다. 예를 들어, 명령어는 컴퓨터 판독가능 매체에 컴퓨터 코드로서 저장될 수 있다. 이러한 점에서, 용어 "명령어"와 "프로그램"은 본 명세서에서 서로 교차 사용할 수 있다. 명령어는 프로세서(204)에 의한 직접 처리를 위한 객체 코드 형식으로 저장될 수도 있고, 또는, 스크립트 또는 필요시마다 해독되거나 사전에 컴파일되는 독립 소스 코드 모듈의 집합체를 포함하는 그 밖의 임의의 컴퓨터 언어일 수도 있다. 명령어의 기능, 방법, 및 루틴은 다음에 자세히 설명한다(도 3~10 참조).
데이터는 명령어에 따라 프로세서에 의해서 검색, 저장, 또는 변경될 수 있다. 예를 들어, 아키텍처는 어떤 특정 데이터 구조에 의해서 제한되지 않지만, 데이터는 다수의 다른 필드들과 레코드, 확장 마크업 언어(XML) 문서, 또는 플랫 파일(flat file)을 갖는 표(테이블)인 관계형 데이터베이스 내의 컴퓨터 레지스터에 저장될 수 있다. 데이터는 또한, 임의의 컴퓨터 판독가능 형식(예컨대 이진값 또는 유니코드. 그러나 이들에만 한정되는 것은 아님)으로 포맷될 수 있다. 또다른 예를 들자면, 이미지 데이터는 압축되거나 압축되지 않은, 손실이 없거나(예컨대, BMP) 손실이 있는(예컨대, JPEG), 비트맵이거나 벡터 기반(예컨대, SVG)인 포맷, 그리고 그래픽을 그리기 위한 컴퓨터 명령어에 따라 저장되는 픽셀들의 망으로 구성되는 비트맵으로서 저장될 수 있다. 데이터는 해당 정보를 식별(identify)하기에 충분한 모든 정보, 예컨대, 갯수, 설명 텍스트, 자산 코드, 동일한 메모리나 다른 메모리의 다른 영역(그 밖의 네트워크 위치도 포함됨)에 저장된 데이터에 대한 참조수단, 또는 해당 데이터를 계산하는 함수에 의해 사용되는 정보 등을 포함할 수 있다.
프로세서(204)는 출시되어 있는 다양한 범용 프로세서 등과 같은 임의의 적절한 프로세서일 수 있다. 이와 달리, 프로세서는 주문형 집적회로(ASIC)와 같은 전용 컨트롤러일 수도 있다.
비록 도 2는 프로세서 및 메모리가 하나의 블록 내에 있는 것으로 기능적으로 도시되어 있지만, 프로세서(204)와 메모리(202)는 동일한 물리적 하우징 내에 저장될 수도 있고 아닐 수도 있는 다수의 프로세서와 메모리를 포함할 수도 있다는 것을 이해해야 한다. 따라서, 프로세서, 컴퓨터, 또는 메모리를 지칭함은, 병렬처리를 할 수도 있고 안할 수도 있는 프로세서, 컴퓨터, 또는 메모리의 집합체를 지칭함을 포함함을 이해하게 될 것이다.
컴퓨팅 장치(200)는 네트워크의 한 노드에 있을 수 있고, 네트워크의 다른 노드와 직간접적으로 통신하도록 작동할 수 있다. 예를 들면, 컴퓨팅 장치(200)는 네트워크를 통해 클라이언트 장치와 통신하도록 동작하는 웹 서버를 포함할 수 있는데, 이로써 컴퓨팅 장치(200)는 네트워크를 이용하여 사용자를 위한 정보를 전송하고 클라이언트 장치의 디스플레이에 표시한다.
일부 예에서, 시스템은 클라이언트 데이터에 대한 프라이버시 보호책을 제공하는데, 여기에는 예를 들어 개인 식별가능 정보의 익명화, 데이터의 종합화, 민감한 정보의 필터링, 암호화, 민감한 정보에서 개인적 속성을 제거하기 위한 해시처리 또는 필터링, 정보 저장 시간의 제한, 및/또는 데이터의 사용 또는 공유의 제한 등이 포함된다. 데이터는 개별 클라이언트 데이터가 공개되지 않도록 익명화하고 종합화할 수 있다.
컴퓨팅 장치(200)의 탐색 이벤트 예측 동작을 돕기 위해서, 메모리(202)는 또한, 브라우저(206), 탐색 예측 모듈(208), 사전 렌더링 모듈(210), 클라이언트 탐색 이력(212), 및 종합 탐색 이력(214)을 추가로 포함할 수 있다. 비록 도 2에서는 다수의 개별 모듈(예를 들어, 206, 208, 210, 212, 214)을 도시하였지만, 이들 모듈의 기능은 중복될 수도 있고 그리고/또는 도시된 것보다 더 적게 또는 더 많게, 지역적으로 떨어져 있을 수 있는 하나 이상의 처리 장치에 상주할 수 있다. 브라우저(206)는 컴퓨터 네트워크를 통해 데이터를 송수신하여서 클라이언트 장치의 사용자에게 웹페이지(216)를 표시해 준다. 웹페이지(216)는 예를 들어, HTTP GET 요청 등의 네트워크 요청에 대한 응답으로서 수신될 수 있다. 웹페이지(216)는, 예를 들어 HTML(하이퍼텍스트 마크업 언어) 등의 마크업 언어로 제공될 수 있다. 웹페이지(216)는 또한, ADOBE FLASH 컨텐트, JavaScript 컨텐트 등의 인터랙티브한 실행 컨텐트를 포함한 다양한 스크립트, 데이터, 형태 등을 포함할 수 있다.
브라우저(206)는 또한, 사전 렌더링된 웹페이지(218)를 포함할 수 있다. 사전 렌더링된 웹페이지(218)는, 탐색 예측 모듈(208)에 의해 제공된 예측된 탐색 이벤트에 응답하여 사전 렌더링 모듈(210)에 의해 요청되고 액세스된 웹페이지를 가리킨다. 예측 모듈(208)에 의해 예측된 탐색 이벤트를 사용자가 입력하는 경우에, 브라우저(206)는 사전 렌더링된 웹페이지(218)를 웹페이지(216)와 교환할 수 있고, 따라서 다른 네트워크 요청을 보낼 필요도 없이 탐색 이벤트에 관련된 컨텐트를 제공한다. 일부 형태에서, 이 웹페이지 교환은 사전 렌더링된 웹페이지(218)의 로딩이 완료되기 전에 수행될 수 있다. 이러한 경우에, 부분적으로 로딩된 사전 렌더링된 웹페이지(218)는 활성 페이지로서의 로딩을 계속하기 위해 교환될 수 있다.
메모리(202)는 또한, 탐색 예측 모듈(208)에 의해 식별된(identified) 다음 웹페이지의 페칭(fetching)을 수행하는 사전 렌더링 모듈(210)을 추가로 포함할 수 있다. 사전 렌더링 모듈(210)은 사용자가 선택할 가능성이 높은 다음 탐색 대상이라고 식별된 웹페이지의 네트워크 요청을 전송한다. 이 요청에 응답하여 수신된 웹페이지는 이어서 사전 렌더링된 웹페이지(218)로서 브라우저(206)에 저장된다. 일부 형태에서, 사전 렌더링 모듈(210)에 의해 생성된 웹페이지 요청은 표준 웹페이지 요청과 동일하다. 일부 형태에서, 사전 렌더링 모듈(210)에 의해 생성된 웹페이지 요청은 사전 렌더링 과정을 용이하게 하기 위한 특정 기능들을 포함한다.
메모리(202)는 또한, 클라이언트 탐색 이력(212)과 종합 탐색 이력(214)을 저장할 수 있다. 클라이언트 탐색 이력(212)은 브라우저(206)의 과거의 활동과 관련된 탐색 이벤트들의 세트를 포함한다. 클라이언트 탐색 이력(212)은 방문한 URL의 세트("클릭스트림(clickstream)"이라고도 함)를 추적할 수 있는데, 사용자가 통상적으로 URL을 방문한 순서(예를 들어, 사용자가 뉴스 웹사이트를 방문하는 경우에 사용자는 이어서 그날의 주요 기사에 해당되는 URL을 선택하는 경향이 있음), URL에 관련된 액세스 시간의 세트 등을 추적한다. 일부 형태에서, 클라이언트 탐색 이력(212)은 URL들의 세트와 사용자가 각 URL을 방문한 빈도를 포함한다. 일부 형태에서, 클라이언트 탐색 이력은 출발(source) URL과 목적(desination) URL을 나타내는, URL 쌍들의 세트를 포함한다. 종합 탐색 이력(214)은 클라이언트 탐색 이력(212)과 유사한 데이터를 포함할 수 있지만, 단일 사용자가 아닌 다수 사용자에게 맞춰진다(keyed). 클라이언트 탐색 이력(212)과 마찬가지로, 종합 탐색 이력(214)은 URL 세트 및 각 URL에 빈도로서, 또는 출발 URL로부터 목적 URL로의 천이(transition)을 나타내는 URL 쌍의 세트로서 저장될 수 있다.
클라이언트 탐색 이력(212)과 종합 탐색 이력(214)은 하나 이상의 브라우저 부가 기능들(add-ons), 스크립트들, 또는 툴바들을 이용하여 수집된 데이터를 제공할 수 있다. 일부 형태에서, 클라이언트 탐색 이력(212) 및/또는 종합 탐색 이력(214)은 원격지 서버(예컨대 서버 104)에 보관되고, 컴퓨팅 장치(200)로 제공된다. 컴퓨팅 장치(200)는 다음에 일어날 탐색 이벤트의 예측을 용이하게 하기 위해 별도의 레코드를 보관할 수도 있고 원격지에 저장된 데이터와 협력할 수도 있다. 일부 형태에서는, 사용자가 현재 보고 있는 특정 웹페이지에 관련된 종합 탐색 이력(214)만이 컴퓨팅 장치(200)로 제공된다(도 6 과 도 8 참조).
전술한 것과 같이, 종합 탐색 이력 데이터(214)는 종합 탐색 이력을 포함하는 개별 클라이언트 데이터에 대한 프라이버시 보호(예를 들어, 개인 식별 정보의 익명화, 데이터의 종합화, 민감한 정보의 필터링, 암호화, 민감한 정보에서 개인 속성을 제거하기 위한 해싱 또는 필터링, 정보 저장의 시간 제한, 및/또는 데이터의 사용 또는 공유의 제한 등)를 위해 익명으로 보관할 수 있다. 종합 탐색 이력(214) 데이터는 개별 클라이언트 데이터가 공개되지 않도록 익명화되어 종합화될 수 있다.
도 3은 본 개시형태에 따라 예측된 탐색 이벤트에 근거하여 웹페이지를 사전 렌더링하기 위한 예시적인 방법(300)을 나타내는 흐름도이다. 이 방법(300)의 형태는 탐색 표시자(navigation indicator)들의 세트로부터 하나 이상의 가능성 있는 탐색 대상을 식별하고 식별된 탐색 대상을 사전 렌더링하는 방식으로 동작한다. 이 방법(300)은 사용자에 의해서 선택가능성 있는 탐색 대상으로 식별된 웹페이지를 사전 렌더링함으로써 사용자의 웹브라우징 사용시의 지연을 없애기 위해 컴퓨팅 장치(예컨대, 컴퓨팅 장치 200)에서 실행할 수 있다. 예를 들어, 이 방법(300)은 함께 동작하는 브라우저(206), 탐색 예측 모듈(208), 및 사전 렌더링 모듈(210)의 구성요소들에 의해 실행될 수 있다. 이 방법(300)의 형태를 컴퓨팅 장치(200)를 기준으로 기재하였지만, 이 방법(300)은 서버(104)에 의해서 또는 명령어를 수용하도록 설계된 하드웨어 및/또는 소프트웨어를 이용하는 여타 장치에 의해서도 실행될 수 있다.
단계 302에서 컴퓨팅 장치(200)는 하나 이상의 탐색 의도(navigational intent)의 표시자(indicator)를 수신한다. 탐색 의도는 사용자가 특정 네트워크 요청(예컨대 특정 웹페이지를 요청)을 생성할 것을 나타내는 경향을 띠는 모든 행위일 수 있다. 예를 들어, 표시자들은 어느 특정 요구가 있을지를 결정하는 수단이 되는 척도(metrics)(예컨대, 신뢰값)를 제공할 수 있다. 예를 들어, 사용자는 특정 웹페이지를 탐색할 수 있는데, 사용자는 여기서부터 다른 특정 웹페이지로 사용자의 브라우징 이력에 기초하여 이동할 수 있고, 또는 웹페이지에 포함된 특정 하이퍼링크로 사용자의 마우스 커서를 이동시킬 수 있다. 일부 형태에서, 표시자는 원격지 서버(예컨대, 상기 표시자를 검색 결과 내에 포함시키는 검색 검색 엔진)로부터 수신되는데, 이는 특정 검색 질의어를 제출하는 대부분의 사용자는 특정 검색 결과를 선택한다는 것을 나타낸다.
단계 304에서 탐색 의도 표시자를 수신하면 컴퓨팅 장치(200)는 가장 가능성있는 탐색 이벤트의 예측을 시도한다. 즉, 컴퓨팅 장치(200)는 표시자에 근거하여, 사용자가 다음번으로 어디를 탐색할 가능성이 높을지에 대한 최적의 추측을 행한다. 이 예측을 수행하는 방법은 다음에 설명한다(도 4~10 참조).
단계 306에서 컴퓨팅 장치(200)는, 단계 304에서 예측된 다음 탐색 이벤트로부터의 컨텐트를 사전 렌더링한다. 사전 렌더링 절차에는 브라우저에 사전 렌더링된 웹페이지(가령, 사전 렌더링된 웹페이지 218)를 저장하는 것이 포함될 수 있다. 컴퓨팅 장치(200)는 가능성있는 탐색 이벤트라고 예측된 하나의 웹페이지를 사전 렌더링할 수도 있고, 또는, 컴퓨팅 장치(200)는 여러 페이지를 사전 렌더링할 수도 있다. 일부 형태에서 컴퓨팅 장치(200)는 컴퓨팅 장치(200)의 하나 이상의 시스템 성능(가용 시스템 리소스, 가용 네트워크 대역폭, 프로세서 속도, 설치된 메모리 등)에 따라 사전 렌더링할 페이지 수를 정한다. 일부 형태에서 사전 렌더링할 페이지 수는 하나 이상의 사용자 설정으로 설정할 수 있다. 탐색 이벤트(들)에 관련된 컨텐트의 사전 렌더링이 끝나면 본 방법(300)이 종료된다.
다음 탐색 이벤트를 예측하기 위한 여러 가지 방법을 아래에 설명한다. 각 방법들을 별도로 설명하였지만, 이 방법들의 형태는 탐색 예측의 연산을 개선하기 위해 결합할 수도 있음을 이해하여야 한다.
도 4는 본 개시형태에 있어서 클라이언트 탐색 이력에 근거하여 탐색 이벤트를 예측하기 위한 예시적인 방법(400)을 나타내는 흐름도이다. 이 방법(400)은 사용자별 탐색 이력을 저장하고 특정 사용자의 이 탐색 이력에 근거하여 다음 탐색 이벤트를 예측한다. 위에서처럼, 이 방법(400)은 컴퓨팅 장치(예컨대 컴퓨팅 장치 200)에서 실행될 수 있다. 특히 이 방법(400)은 프로세서에서 실행되는 탐색 예측 모듈(예컨대, 탐색 예측 모듈 208)에 의해 수행될 수 있다.
단계 402에서 컴퓨팅 장치(200)는 사용자 탐색 이력을 추적한다. 예를 들면, 컴퓨팅 장치(200)는 웹브라우저에 통상적으로 보관되는 브라우징 히스토리(이력)와 같은, 사용자가 방문한 웹페이지 기록을 저장할 수 있다. 브라우징 이력에는 사용자가 방문한 웹페이지의 URL들이 포함될 수 있는데, 이들 URL은 사용자가 방문한 순서로 그리고 사용자가 URL을 선택한 방식(가령, URL이 하이퍼링크를 클릭하여 된 것인지, 주소 표시 줄에 입력된 것인지, 다른 웹페이지에서 리디렉션된 것인지 등)으로 포함될 수 있다.
단계 404에서 컴퓨팅 장치(200)는 사용자 탐색 이력에 근거하여 가장 가능성 있는 탐색 이벤트(들)를 결정한다. 가장 가능성 있는 탐색 이벤트는 세계적으로 사용자가 가장 많이 방문한 페이지를 식별하여 결정할 수도 있고, 또는 탐색 이벤트를 하나 이상의 기준에 관련시킬 수도 있다. 예를 들면, 컴퓨팅 장치(200)는 사용자가 특정 뉴스 웹페이지를 볼 때 이들은 거의 항상 해당 페이지의 톱뉴스 기사로의 링크를 선택한다는 것, 또는, 사용자가 아침에 처음 브라우저를 열면 예금 잔고를 확인하기 위해 은행 계좌 페이지로 이동할 가능성이 있다는 것을 판단하기 위해 사용자의 탐색 이력을 조사할 수 있다. 컴퓨팅 장치(200)는 사용자 이력으로부터 가장 가능성 있는 탐색 이벤트를 결정하기 위해 다양한 규칙(rules), 추론(heuristics), 및 필터(filters)를 사용할 수 있다. 컴퓨팅 장치(200)는 각 탐색 이벤트에, 사용자가 각 탐색 이벤트를 선택할 가능확률(likelihood)을 표시하는 소정의 신뢰값(confidence value)을 관련시킬 수 있다. 이 신뢰값은 가장 가능성 있는 탐색 이벤트를 결정하기 위해 탐색 이벤트를 정렬(sort)하는 데 사용할 수 있다. 주어진 탐색 이벤트에 대한 신뢰값을 결정하는 방법은 다음에 자세히 설명한다(도 5 참조).
단계 406에서 컴퓨팅 장치(200)는 예측된 탐색 이벤트로서 가장 가능성 있는 탐색 이벤트를 보고한다. 예를 들어, 예측된 이들 가장 가능성 있는 탐색 이벤트는 위에서 설명한 방법(도 3 참조)에 의해 사용되어 가장 가능성 있는 탐색 이벤트와 관련된 웹페이지의 사전 렌더링을 용이하게 할 수 있다.
도 5는 본 개시형태에 있어서, 사용자 탐색 이력을 사용하여 URL에 대한 신뢰값을 계산하기 위한 예시적인 방법(500)을 나타내는 흐름도이다. 이 방법(500)은 사용자가 입력한 탐색 이벤트를 추적하고 저장된 각 이벤트의 빈도값을 관리하도록 동작한다. 이 방법(500)은 방법 400에 의해 사용되는 클라이언트 탐색 이력을 만드는 데 사용되며, 클라이언트 탐색 이력(212)으로서 컴퓨팅 장치(200)에 저장될 수 있다.
단계 502에서 컴퓨팅 장치(200)는 특정 URL의 선택을 추적한다. 예를 들어, 사용자가 브라우저에 뉴스 웹사이트의 URL을 입력하거나 페이지의 링크를 클릭할 수도 있다. 컴퓨팅 장치(200)는 플러그인이나 툴바 등의 브라우저 확장장치를 통해서, 또는 브라우저와 연동하여 실행되는 제3자 애플리케이션을 통해서, 브라우저(206)에 내장된 기능을 사용하여 탐색 이벤트를 모니터링할 수 있다.
단계 504에서 컴퓨팅 장치(200)는 단계 502에서 선택된 URL에 관련된 빈도값을 증분(increment)한다. 예를 들면, 컴퓨팅 장치(200)는 사용자가 선택한 각 URL에 관련된 빈도값을 추적할 수 있다. 빈도값은 특정 웹사이트의 방문수의 순위 또는 특정 탐색 이벤트가 선택된 횟수의 순위를 매기는 데 사용되는 척도 데이터이다. 선택 동작에 응답하여 컴퓨팅 장치(200)는, URL에 관련된 빈도값을, 예를 들어 1.0, 5.0, 10.0, 0.5, 또는 다른 임의의 값만큼 증분할 수 있다. URL에 관련된 빈도값은 사용자가 특정 URL을 얼마나 선택했는지를 나타내며, 따라서, 사용자가 장래에 이 URL을 선택할 가능성이 얼마나 되는지의 지표가 된다.
단계 506에서 컴퓨팅 장치(200)는 URL에 대해 저장된 빈도값을 소정의 "스위핑 기간(sweep interval)" 마다 감쇠처리한다(즉, 시간 감쇠(time decay)). 이렇게 URL 빈도값을 시간에 따라 감쇠처리함에 의해, 현재의 브라우징 습관에, 과거의 브라우징 습관보다 더 무거운 가중치가 부여될 수 있게 된다. 일례로 컴퓨팅 장치(200)는 사용자가 적어도 하나의 URL을 선택하는 시간인 매 30초마다, 매 분마다, 또는 매 5분마다 스위핑을 행할 수 있다. 스위핑은, 탐색 이력값들이 사용자가 행위하지 않는 기간 동안에 임계값 이하로 감쇠되지 않도록 하기 위해서, 특정 스윕 간격 동안에 적어도 하나의 URL이 선택되는 것에 대한 응답으로서 수행될 수 있다. 스위핑에 의해, URL에 관련되어 저장된 빈도값을, 예를 들어 0.99, 0.5, 1.0 등의 특정값만큼 또는 5%, 10%, 50% 등의 백분율값만큼 감쇠시킬 수 있다. URL에 관련된 값이 소정의 임계값(예컨대, 0.3, 1.0, 5.0 등) 이하로 떨어지면, 대상 탐색 목적지들의 목록에서 URL을 삭제할 수 있는데, 이로써 목록이 너무 커지는 것이 방지된다. 감쇠 처리를 행한 후에 URL들에 대한 빈도값들은 컴퓨팅 장치(200)의 로컬 저장소에 보관될 수도 있고, 또는 서버(104)가 제공하는 것과 같은 원격지 저장소로 전송될 수도 있다.
단계 508에서는, 저장된 빈도값을 사용하여 사용자가 특정 웹사이트를 방문하는 상대적 빈도값을 결정할 수 있다. 따라서 이 빈도값은, 각 웹사이트에 이르게 한 탐색 이벤트에 관련된 신뢰값을 도출할 수 있는 기준을 제공한다. 일부 형태에서는, 빈도값 자체가 신뢰값으로서 제공될 수 있다. 일부 형태에서는, 신뢰값을, 특정 웹페이지에 대한 빈도값을 전체 사용자 탐색 이력과 비교하여 정할 수 있다. 예를 들어, 높은 빈도값의 탐색 이벤트는 소정 %의 신뢰값에 관련될 수 있고, 두 번째로 높은 빈도값은 이보다 낮은 %에 관련될 수 있다. 일부 형태에서 신뢰값은 로그기록된 탐색 이벤트의 총 횟수를 이용하여 빈도값에 의해 결정된다. 예를 들어 특정 URL의 빈도값을 모든 빈도값들의 합로 나누어서 신뢰값을 결정할 수 있다.
예를 들어, 사용자가 주택을 구매하는 중에 있을 때에는 모기지 금리를 알기 위해 금융 및 은행 웹사이트를 정기적으로 확인할 수 있다. 이 동안에 해당 금융 및 은행 사이트는 높은 값을 갖게 되어 사전 렌더링될 가능성이 높아질 것이고, 이에 모기지 금리를 검색하는 동안에 사용자의 편의성이 향상될 것이다. 주택 구매 과정이 끝나면 사용자는 매일매일 그 흥미가 감소될 것이고 사용자가 해당 웹사이트에 방문할 가능성이 없기 때문에, 더 이상 해당 웹사이트를 사전 렌더링할 가능성은 없다. 이처럼 시간 감쇠값을 부여함에 의해 해당 사이트는 시간이 지남에 따라 목록에서 없어질 수 있게 된다.
도 6은 본 개시형태에 있어서, 종합 탐색 이력(aggregate navigation history)에 근거하여 탐색 이벤트를 예측하는 예시적인 방법(600)을 나타내는 흐름도이다. 이 방법(600)은 사용자가 자발적으로 제출한 탐색 이벤트를 추적하여 가능성있는 탐색 패턴을 결정하도록 동작한다. 그 다음, 탐색 패턴은 서버(104) 등에 의해 분석되고 사용자에게 공급되어 브라우징 중에 탐색 이벤트의 예측을 할 수 있도록 한다. 예를 들어, 사용자가 다른 페이지를 브라우징할 때에 서버(예컨대, 상기 서버 104)는, 종합 탐색 이력에 근거하여 소정 페이지에 표시되는 어느 링크가 가장 선택될 가능성이 높은지에 관한 정보를 제공하기 위하여, 컴퓨팅 장치(예컨대, 상기 컴퓨팅 장치 200)로 업데이트정보를 보낼 수 있다.
단계 602에서 서버(104)는, 브라우징 이력을 포함한 탐색 정보의 세트를 수신한다. 브라우징 이력은, 사용자가 자신의 브라우징 이력을 서버(104)로 제공하는 통보기능을 선택하여 활성화(또는 비활성화)시키는 "옵트인/옵트아웃(opt-in/out)" 방법을 이용하여 제공되는 것이 바람직하다. 또한 개인 정보가 저장되지 않거나 액세스되지 못하도록, 이들이 저장 또는 사용되기 전에 개인 식별 데이터를 익명화하고 종합할 수 있다. 브라우징 이력은, 사용자의 브라우징 이력을 추적하는 사용자 컴퓨팅 장치에 설치된 브라우저 플러그인 또는 툴바를 통해서, 또는 웹브라우저 자체에 의해서, 추적될 수 있고 서버(104)로 제공될 수 있다. 브라우징 이력은, 발생가능성 있는 탐색 이벤트를 예측하기 위해, 다른 수신된 브라우징 이력과 결합시켜서, 도 4에서 설명한 것과 같은 클라이언트 탐색 이력과 유사한 방법으로 사용되는 종합 데이터 세트를 만들 수 있다. 수신된 탐색 이력은 개인 식별 정보를 제거하기 위해 익명화할 수 있다. 일부 형태에서, 수신된 탐색 이력은 서버(104)로 전송하기 전에 모든 개인 식별 정보를 제거하기 위해 해시 데이터 형식으로서 제공되는 개별 URL 및/또는 천이 URL 쌍(transitional URL pair)을 통해 수신된 것이다.
단계 604에서, 서버(104)는 단계 602에서 수신된 탐색 정보를 근거로 특정 웹페이지의 각 URL의 신뢰값을 결정한다. 예를 들어, 탐색 이벤트가 특정 사용자 데이터 대신에 종합 데이터에 따라 결정되는 것을 제외하고, 서버는 페이지의 URL에 대한 신뢰값을 생성하기 위하여 위에서 도 5를 참조하여 설명한 것과 유사한 방법을 사용할 수 있다. 위에서와 같이, 서버(104)는 탐색 정보로부터 도출된 빈도값을 근거로 신뢰값을 계산할 수 있다. 일부 형태에서 신뢰값은 사용자에게 특정 탐색 이벤트를 선택할 선택권이 주어졌을 때 사용자가 특정 탐색 이벤트를 선택한 횟수의 퍼센티지 비율에 의해 결정된다. 천이 URL 쌍은 출발/목적 URL 쌍의 빈도값을 출발 URL의 총 출현수로 나누어서 신뢰값을 결정하도록 한다. 일부 형태에서, 서버는 순수한 방문 빈도 척도가 아닌, 첫 번째 페이지에서 두 번째 페이지로의 천이에 근거하여 탐색 이벤트를 결정할 수 있다. 서버(104)는 웹페이지와 관련 URL 그리고 웹페이지 상의 각 링크별 신뢰값의 색인을 예컨대 데이터베이스 내에 보유할 수 있다. 예를 들어 뉴스 웹사이트에서는 다양한 뉴스 기사를 가리키는 5개의 URL을 가질 수 있다. 서버(104)는 5 개의 뉴스 기사 중 하나는 60%의 횟수로 선택되고 나머지 4개는 각각 10%의 횟수로 선택됨을 가리키는 종합 데이터를 수신할 수 있다. 따라서, 서버(104)는 페이지를, 첫 번째 기사의 링크는 60%의 가능확률로, 나머지 4개의 기사는 각각 10%의 가능확률로 데이터베이스에 색인처리하게 될 것이다.
일부 형태에서 서버(104)는 단계 606에서 각 URL을 해시값으로 변환하는 등의 방법으로 이력 데이터를 기밀상태로 관리한다. 따라서, 서버(104)는 개인 사용자 데이터를 전혀 공개하지 않으면서 예측된 URL 데이터를 클라이언트 장치로 제공할 수 있다. 예를 들어, 사용자는 특정 사용자명 및 암호 로그인을 갖는 은행 웹페이지를 방문할 수 있다. 사용자에 따라서는, 은행 웹페이지는 사용자가 소유하고 있는 각 계좌마다 URL을 제공할 수도 있다. 페이지에 액세스하는 각 사용자에게는, 이 사용자가 은행에 개설한 계좌들에 따라, 서로 다른 링크들의 세트가 제공될 수 있다. 페이지 상의 링크들을 비가역적 해시값으로 변환함으로써, 서버(104)는 페이지 상의 링크들과 관련할 수 없는 신뢰값을 제공할 수 있다. 단, 사용자가 동일한 링크에 대한 액세스권도 함께 갖는 경우는 예외이다(예를 들어, 클라이언트는 현재 보여지는 페이지 상에서 사용자가 이미 갖고 있는 링크에 해시 기능을 적용함으로써 신뢰값들이 적용되는지를 결정할 수 있다). 상술한 바와 같이, 일부 형태에서, 해시값은 탐색 이력 데이터를 서버(104)로 전송하기 전에 컴퓨팅 장치(200)에 의해 계산된다. 따라서, 서버(104)는 해시값을 계산할 필요없이, 해시처리된 형태의 탐색 이력 데이터를 받을 수 있다.
단계 608에서 서버(104)는 클라이언트 장치(예컨대, 컴퓨팅 장치 200)로 해시값 및 이 해시값과 관련된 신뢰값을 전송한다. 이 전송은 컴퓨팅 장치(200)의 특정 URL의 요청에 대한 응답으로서 이루어질 수 있다. 일부 형태에서 서버(104)는 해시값과 신뢰값을, 클라이언트 장치(200)에서 실행되는 서비스로부터의 이들값의 요청에 응답하여 보내 줄 수 있다. 예를 들면, 컴퓨팅 장치(200)가 상술한 뉴스 웹페이지를 요청할 때, 서버(104)는 해당 페이지에 있는 5개의 기사 링크에 대한 해시값과 신뢰값을 보내준다. 또한 컴퓨팅 장치(200)는 클라이언트 측에서 먼저 해시값을 생성하여 특정 링크의 해시값에 대한 데이터를 요청할 수 있고 그 다음에, 서버(104)로부터 특정 해시값에 대한 신뢰값을 요청할 수 있다.
도 7은 본 개시형태의 종합 탐색 이력을 사용하여 URL에 관련된 탐색 이벤트의 신뢰값을 계산하기 위한 예시적인 방법(700)을 나타내는 흐름도이다. 이 방법(700)은 각 개별 탐색 이벤트가 얼마나 발생가능한지를 판단하기 위해, 다수 사용자로부터 받은 특정 URL에서의 탐색 이벤트를 비교하기 위한 것이다. 신뢰값들은 특정 "출발" 웹페이지에 관련하여 결정될 수 있는데, 사용자가 현재 보고 있는 페이지에 의존하여 각 URL에 대하여 다양한 신뢰값들이 결정될 수 있다. 예를 들어, 신뢰값은 위에서 방법 600의 단계 604에 대해 설명한 것과 같이 사용될 수 있다(도 6 참조).
단계 702에서 서버(104)는 수신된 브라우징 이력을 조사하여 특정 URL에 관련된 각 탐색 이벤트의 발생(인스턴스) 횟수를 계산한다. 상술한 바와 같이, 이 인스턴스값은 백분율 또는 자체 숫자일 수 있다.
단계 704에서 서버(104)는 URL 방문수가 통계적으로 의미있는 최소 임계값을 초과하는지를 판단할 수 있다. 예를 들어 특정 URL에 5회 방문한 것은 URL로부터 가능성 있는 탐색 이벤트를 예측하기에 충분한 통계적 의미가 있는 데이터가 아닐 수도 있다. 예를 들어, 이벤트의 인스턴스 수가 1000 미만인 경우, 이 샘플 크기가 부족하므로 서버(104)는 단계 710으로 진행하여 이벤트의 확률을 계산하지 않을 수 있다.
단계 706에서 서버(104)는 통계적으로 의미있는 데이터를 제공하는 URL에 관련된 데이터를 제출한 최소 사용자수를 판단할 수 있다. 예를 들어, 이 방법(700)은 탐색 이벤트에 대한 신뢰값을 계산하여 저장하기 위하여는 최소한 50명의 사용자가 데이터를 제공할 것을 필요로 할 수 있다. 그렇지 않은 경우, 이 방법(700) 단계 710으로 진행하여 충분한 수의 사용자가 데이터를 제공할 때까지 해당 이벤트를 무시할 수 있다. 위와 같이 임계값은 데이터 세트의 크기에 따라 변동할 수 있다.
단계 708에서 서버(104)는 최근 인스턴스의 윈도우 사이즈(window size)를 결정한다. 윈도우 사이즈는 신뢰값을 결정하기 위해 조사해야 할 URL 최근 방문 수, 또는, 인스턴스를 되돌아 검색하는 시간 길이를 의미한다. 윈도우 사이즈는 URL이 받는 트랙픽의 양, 즉, URL의 컨텐트가 얼마나 자주 바뀌는지에 따라 정할 수 있다. 예를 들어, 계속해서 컨텐트가 변경되는 뉴스 웹사이트는 정기적으로 변경되는 URL로부터의 링크가 진부하게 될 것이기 때문에, 작은 인스턴스 윈도우를 필요로 할지도 모른다. 소량의 트래픽을 가진 웹사이트는 일반적으로 통계적 유의성을 갖는 충분한 결과를 수집하기 위하여 긴 윈도우 사이즈를 필요로 할 것이다. 윈도우 사이즈는 50회 인스턴스, 100회 인스턴스, 1000회 인스턴스로 설정할 수 있을 것인데, 이들 모든 인스턴스는 최종 시간, 최종 일, 최종 주 등 내에서 이루어진 것이다.
단계 712에서 서버(104)는, 단계 710에서 결정된 윈도우 사이즈에 의해 정의되는 인스턴스 내에서 각 특정 탐색 이벤트(예컨대, 현재 URL에 대해 방문한 다음 URL)가 발생하는 횟수를 계산한다. 예를 들어 1000회의 뉴스 웹사이트 방문 중에서 특정 기사가 600회 선택되었을 수 있고, 이 결과로서, 이 기사의 URL로부터의 탐색에 대해 60%의 신뢰값이 나온다. 이 예는 주로 전체 탐색 이벤트에 대한 백분율로의 액세스 횟수에 근거하여 탐색 이벤트를 결정하는 것에 관한 것이지만, 추가적으로, 사용자가 제공하는 정보(가령, 이전 탐색 이벤트(예컨대, 현재 분석되는 URL에 도달된 웹사이트), 하루 중의 시간대(예를 들어, 사용자는 직장에 출근한 아침에 뉴스 웹사이트를 확인할 가능성 이 크다), 사용자의 위치(예컨대, 특정 지역의 사용자는 현지 팀의 스포츠 경기 점수를 확인할 가능성이 있다), 또는 그 밖의 인구통계 자료 등)에 근거하여 가능성 있는 이벤트를 도출하기 위해 발견적 방법(heuristics)을 사용할 수도 있다.
선택사항으로서, 단계 714에서 서버(104)는 URL로부터의 탐색 이벤트에 대한 신뢰값을 임계값과 비교한다. 신뢰값이 임계값에 이르지 못하는 경우에는 서버(104)는 사용가능한 탐색 이벤트들 중의 하위 세트를, 예측된 가능성 있는 탐색 이벤트의 가능한 대상으로서 식별할 수 있다. 이렇게 하여 서버(104)는 탐색 이벤트가 통계적으로 의미있는 출현 가능확률을 갖지 못할 때에 탐색 이벤트를 예측하는 것을 회피하게 되어, 방문할 가능성이 없는 페이지에 대한 사전 렌더링 동작의 대역폭을 잠재적으로 절약할 수 있게 된다. 임계값은 예를 들어 5%, 25%, 50%, 또는 75% 등 다양한 값으로 설정할 수 있다. 일부 형태에서 임계값은 URL에 있는 탐색 링크의 수, URL의 유형, URL의 트래픽, URL에서의 컨텐트의 변경 속도 등 변화 등을 기준으로 하여 동적으로 변경될 수도 있다. 신뢰값이 최소 임계값에 이르지 못하면 서버(104)는 최소 임계값에 이르지 못하는 대상 이벤트들을 걸러낼 수 있다(필터링).
탐색 이벤트(들)이 최소 임계값에 이르거나, 또는 이 방법(700)에서 이 최소 임계값 확인 단계를 실시하지 않는 경우에는, 단계 716에서, 가장 가능성 있는 탐색 이벤트(들) 및 각 이벤트에 대한 가능확률이 URL과 함께 저장된다. 탐색 이벤트와 신뢰값은, 도 6의 단계 608에서 설명한 것과 같이 발생된, 사용자에 대한 요청에 응답하여 공급될 수 있다. 이 방법(700)은 URL에 관련된 탐색 이벤트에 대한 신뢰값을 계산하여 저장한 후에 종료된다.
도 8A는 본 개시형태에 있어서, 링크 데이터를 익명으로 관리하기 위한 해시값을 사용하는, 종합 탐색 이력에 근거한 탐색 이벤트 예측의 예시적인 방법(800)을 나타내는 흐름도이다. 이 방법(800)은 서버(104)로부터 수신한 데이터(가령, 도 7과 관련하여 설명한 방법 700에 의해 생성된 데이터)를 근거로 탐색 이벤트를 예측하는 데 컴퓨팅 장치(200)가 사용할 수 있는 로직을 제공한다.
단계 802에서 컴퓨팅 장치(200)는 원격지 서버(104)로부터 웹페이지의 종합 브라우징 이력에 관련된 정보를 포함하는 데이터 세트를 수신한다. 이 종합 데이터는 특정 웹페이지로의 탐색에 응답하여 컴퓨팅 장치(200)가 한 요청에 대한 응답으로서 수신될 수 있다. 종합 데이터는 다수 사용자로부터 원격지 서버가 수신한 데이터의 세트를 나타낸다. 예를 들어, 웹브라우저 플러그인에서 사용자는 자신들의 익명화된 탐색 이력을 원격지 서버로 보낼 수 있는 기능의 "옵트인/옵트아웃"을 설정할 수 있다. 이에 원격지 서버는 상술한 바와 같이(도 7 참조) 종합 탐색 이력으로서 저장되어 있는 다수 사용자의 탐색 이력을 취합할 수 있다. 예를 들어, 탐색 예측 모듈(208)은 웹페이지에 관련된 종합 브라우징 데이터에 대한 요청을 사용자가 웹페이지를 탐색할 때마다 서버(104)에 요청할 수 있다. 그리고 탐색 예측 모듈(208)은 수신된 데이터를 이용하여 다음 가능성 있는 탐색 이벤트를 예측하여, 사용자의 브라우징 감을 향상시키기 위해 사전 렌더링할 다음 페이지를 사전 렌더링 모듈로 공급해줄 수 있다.
데이터의 종합적 성질 때문에, 도 6을 참조하여 상술한 바와 같이, 데이터는 개별 사용자 정보를 보호하기 위한 일련의 해시값들로서 제공될 수 있다. 이처럼 컴퓨팅 장치(200)는 수신된 해시값과 신뢰값을 현재 URL에 존재하는 링크와 관련시킨다. 이 프로세스를 시작하기 위해 단계 804에서, 컴퓨팅 장치는 링크 데이터를 익명화하기 위해 서버(104)가 사용한 것과 동일한 해시 함수를 사용하여 현재 페이지 상의 각 링크에 대한 해시값을 계산한다. 상술한 바와 같이, 일부 형태에서 해시값은 탐색 이력 데이터를 서버로 전송하기 전에 컴퓨팅 장치에서 계산된다. 이러한 경우에 해시값은, 서버에서 계산된 값과 일치하는 것이 아니라, 서버로 탐색 이벤트가 전송되기 전에 컴퓨팅 장치에 의해 결정된 원래의 계산값과 일치하게 될 것이다.
단계 806에서 컴퓨팅 장치(200)는 계산된 해시값을 서버(104)로부터 수신한 해시값과 비교한다. 이처럼 컴퓨팅 장치(200)는 서버(104)로부터 수신한 신뢰값과 해쉬값을, 현재 보여지는 웹페이지에서 사용자가 선택 가능한 링크들에 매칭시킬 수 있다. 신뢰값은 해시값에 관련된 특정 탐색 이벤트가 선택될 가능확률을 나타낸다. 따라서 컴퓨팅 장치(200)는 현재 표시될 수 있는 링크를 수신된 신뢰값에 매핑할 수 있다.
단계 808에서 컴퓨팅 장치(200)는 예측된 다음 탐색 이벤트로서 가장 큰 신뢰값(들)을 갖는 링크(들)를 식별한다. 이 방법(800)은 다음 탐색 이벤트를 예측한 후에 종료된다.
도 8B는 본 개시형태에 있어서, 탐색 이력에 근거하여 사용자의 탐색 이벤트를 예측하는 예시적 방법을 채용한 웹브라우저의 예시적인 인터페이스(810)를 도시한 도면이다. 이 도면은 웹사이트와 탐색 이력 데이터의 세트(812)를 표시하는 웹브라우저 인터페이스(810)를 나타낸다. 웹페이지(810)는 하나 이상의 링크(814, 816, 818, 820)를 포함한다. 이들 링크(814, 816, 818, 820)는, 사용자가 선택시에 선택된 링크에 관련된 컨텐트의 세트를 표시하는 웹브라우저를 가리키는 URL일 수 있다.
탐색 이력 데이터(812)는 링크들(814, 816, 818)과, 현재 사용자가 보고 있는 페이지에 존재하지 않는 그 밖의 두 링크, 즉, 링크 E 및 링크 F를 포함한다. 탐색 이력 데이터(812)는 개별 사용자의 탐색 이력(도 4-5 참조), 또는 종합 탐색 이력(도 6-8 참조)의 분석을 의미할 수 있다. 탐색 이력(812)은 링크(814, 816, 818)와, 각 링크에 관련된 신뢰값에 관한 정보를 포함한다.
탐색 이력(812)은 다음 탐색 이벤트를 예측하기 위하여 컴퓨팅 장치(200)의 다른 형태(가령, 탐색 예측 모듈(208))에 의해 사용될 수 있다. 예를 들어, 본 도면에 나타낸 탐색 이력(812)에 따르면, 사용자가 링크 A(814)를 선택할 30%의 기회가 있고, 사용자가 링크 B(816)를 선택할 60%의 기회가 있으며, 링크 C(818)를 선택할 5%의 기회가 있다. 링크 D(820)는 탐색 이력(812)에 저장 되어 있는 데이터와 관련되어 있지 않다. 링크 D(820)에 대한 데이터가 없다는 것은 다양한 방식으로 설명할 수 있는데, 가령, 링크 D(820)를 선택할 가능성이 임계값보다 낮다는 것, 또는, 링크 D(820)에 대해서는 아무 데이터도 제출되지 않았다는 것 등이다. 탐색 이력(812)은 또한, 존재하지 않는 링크 E 및 링크 F를 선택하는 기회가 0이 아닌 것으로 표시되어 있다. 이들 링크는 업데이트시에 웹페이지에서 삭제되었을 수도 있고, 또는 모든 사용자에게 보여지지는 않는 것일 수도 있다(가령, 사용자가 페이지에 현재 액세스 중인 경우). 본 개시형태에 따르면, 링크 B(814)의 신뢰값이 링크 A(812) 및 링크 C(818)보다 크기 때문에, 탐색 예측 모듈(208)은 링크 B(814)를 다음 탐색 이벤트로 예측하게 된다.
도 9A는 본 개시형태에 있어서, 텍스트 필드에 입력된 데이터를 근거로 탐색 이벤트를 예측하기 위한 예시적인 방법(900)을 나타내는 흐름도이다. 이 방법(900)은 클라이언트 장치(예를 들어, 컴퓨팅 장치 200)에 의해 실행시에, 텍스트 입력에 따라 다음 탐색 이벤트를 예측하도록 동작한다. 이에 클라이언트 장치(200)는 입력된 텍스트를 역대의 탐색 데이터 세트와 비교하여 다음번 가능성 있는 탐색 이벤트를 예측할 수 있다.
단계 902에서 컴퓨팅 장치(200)는 웹브라우저에 있는 URL 탐색 바와 같은 텍스트 필드 또는 검색 엔진 페이지의 질의어 입력 필드에 입력이 되는지를 모니터링한다. 텍스트 입력 사항에는 목적지(예컨대 타이핑된 URL), 검색 엔진에 제출할 검색 질의어, 또는 웹 서식에 입력된 그 밖의 데이터가 포함될 수 있다.
단계 904에서 컴퓨팅 장치(200)는 입력된 텍스트를 근거로 탐색 이벤트를 예측한다. 예를 들면, 컴퓨팅 장치(200)는 입력된 텍스트를 사용자의 브라우징 이력과 비교할 수 있다. 사용자가 텍스트를 입력시에, 컴퓨팅 장치(200)는 사용자의 브라우징 이력을 검색하여서 일부분만 입력된 텍스트를 그 전에 방문했던 웹페이지와 비교할 수 있다. 예를 들어, 사용자가 "www.goo"를 입력하면 컴퓨팅 장치(200)는 사용자의 "www.google.com"에의 과거 방문에 근거하여, 사용자가 www.google.com을 입력하고 있다는 것을 예측할 수 있다. 또 다른 형태에서 사용자는 검색 엔진 질의어 입력 필드에 질의어의 일부분을 입력할 수 있다. 사용자가 질의어를 입력할 때, 브라우저는 사용자가 입력한 것을 텍스트에 관련될 가능성이 가장 높은 질의 결과 페이지의 사전 렌더링을 시작할 수 있다.
단계 906에서 확인된 탐색 이벤트는 다른 곳에서 사용될 예측된 탐색 이벤트로서 단계 906에서 제공되는데, 가령, 탐색 예측 모듈(208)에 의해 제공되며, 사전 렌더링 모듈(210)에 의해 사용되어 예측된 컨텐트를 사전 렌더링한다.
도 9B는 본 개시형태에 있어서, 텍스트 필드에 입력된 데이터를 근거로 사용자의 탐색 이벤트를 예측하는 예시적 방법을 채용한 예시적 웹브라우저 인터페이스(908)를 나타낸 도면이다. 이 도면은 웹브라우저 인터페이스(908)와, 신뢰값에 관련된 일련의 링크들(910)을 보여준다. 예를 들면, 상술한 바와 같이 웹브라우저 인터페이스(908)에 관련된 웹브라우저는 컴퓨팅 장치(200)에서 실행될 수 있다. 웹브라우저 인터페이스(908)는 텍스트 입력 필드(912)를 포함한다. 일부 형태에서 텍스트 입력 필드(912)는 URL을 입력하기 위한 주소창이다. 일부 형태에서 텍스트 입력 필드(912)는 검색 엔진 웹사이트에 있는 검색 문자열 입력 필드와 같은 웹페이지의 일부일 수 있다.
사용자가 텍스트 입력 필드(912)에 텍스트를 입력할 때, 컴퓨팅 장치(200)는 이 입력된 텍스트로부터, 가장 가능성이 높은 목적지를 결정한다. 예를 들어, 사용자가 텍스트 입력 필드(912)에 "pizza"를 입력할 수 있는데, pizza에 관련된 페이지를 탐색하려는 사용자의 의도에 따라 시스템은 사용자가 "joespizza.com"을 탐색하려고 할 확률 80%, 그리고 "davespizza.com" 또는 "stevespizza.com"의 각각을 탐색하려고 할 확률 10%가 있다고 결정할 수 있다. 각 링크에 대한 백분율 값은, 사용자의 탐색 이력, 종합 탐색 이력, 다양한 결과 웹페이지로부터의 후원 등을 고려하여 다양한 데이터 분석 방법에 의해 결정될 수 있다. 위의 예에서 "joespizza.com"은 가장 높은 퍼센티지에 관련되어 있다는 사실을 근거로, 예측된 탐색 이벤트로서 식별된다.
도 10A는 본 개시형태에 있어서, 마우스 커서의 움직임에 따라 탐색 이벤트를 예측하는 예시적 방법(1000)을 나타내는 흐름도이다. 이 방법(1000)에 의해서 컴퓨팅 장치(예컨대, 컴퓨팅 장치 200)는 화면 상에서의 마우스 커서의 위치에 의해 탐색 이벤트를 예측할 수 있다. 이와 유사한 개념을 다른 형태의 사용자 입력, 예컨대, TRACK-IR, 키보드 입력, 라이트 펜(발광 펜), 트랙볼, 그 밖에 커서를 제어할 수 있는 다른 입력 장치 등에도 적용할 수 있다.
단계 1002에서 컴퓨팅 장치(200)는 커서의 움직임을 모니터링한다. 예를 들어, 컴퓨팅 장치(200)는 사용자가 웹페이지를 브라우징하고 스크롤할 때에 마우스 커서를 모니터링할 수 있다. 컴퓨팅 장치(200)는 페이지 상에서의 커서의 위치, 속도, 가속도를 추적할 수 있다.
단계 1004에서 컴퓨팅 장치(200)는 단계 1002에서 모니터링한 커서 이동으로부터 가능성 있는 탐색 이벤트를 예측한다. 탐색 이벤트는, 커서에 가장 가까운 링크를 식별함으로써, 커서의 이동 방향을 이용하여 커서의 위치를 추론(extrapolate)함으로써, 커서의 속도 및 방향과 가장 가능성 있는 목적지를 판단함으로써, 커서 아래의 링크를 식별함으로써, 또는 그 밖의 방법으로써 예측될 수 있다. 본 개시형태는 커서의 추론된 위치가 다수의 링크를 통과하는 경우의 예측을 위하여 다수의 링크 또는 탐색 이벤트를 선택할 수 있다. 또한 컴퓨팅 장치(200)는 커서의 소정 거리 내에 있는 다수의 링크를 선택할 수 있으며, 일부 개시형태에서는 커서가 링크로부터 멀어지도록 이동하는 경우의 이 링크에 대한 값을 감소시킬 수 있다. 커서 움직임에 의해 하나 이상의 다음 탐색 이벤트를 예측한 후에 본 방법(1000)은 종료한다.
도 10B는 본 개시형태에 따라, 마우스 커서의 움직임에 근거하여 사용자 탐색 이벤트를 예측하는 예시 방법을 사용하는 예시적인 웹브라우저 인터페이스(1008)를 나타내는 도면이다. 이 도면에는 3 개의 링크(1010, 1012, 1014)와 커서가 포함되는 웹페이지를 표시하는 웹브라우저 인터페이스(1008)가 도시된다. 커서는 초기 위치(1016)에서, 두 번째 위치(1018)로 이동한다. 두 위치(1016, 1018)를 사용하여 이 커서의 향후에 있게 될 위치를 나타내는 라인(1020)을 정한다. 이 라인(1020)을 연장하여서 3개의 링크 중 어느 것이 교차되는지 또는 거의 교차되는지를 결정하여 다음번 가능성 있는 탐색 이벤트를 예측한다. 이 예에서는 라인(1020)이 링크 C(1014)와 교차(또는 매우 근접)한다. 따라서, 예측된 탐색 이벤트로서 링크 C(1014)를 식별한다.
이상에서 설명한 방법들의 각 단계들은 한정적인 것으로 의도된 것이 아니다. 이들 방법의 기능들은 도시한 것보다 더 적게 또는 더 많게 존재할 수 있으며, 도시된 방법들에 있어서도, 이벤트들의 특정 순서가 도면에 도시된 것과는 다를 수 있다.
상술한 시스템 및 방법은 향상된 브라우징 감을 준다. 다음 탐색 이벤트를 예측함으로써 브라우저는 사용자가 웹페이지가 로딩되는 것을 기다리는 시간을 최소화하도록 사전 렌더링 작업을 수행할 수 있다. 사전 렌더링 작업을 수행하는 여러 가지 방법은 다음 탐색 이벤트를 결정하기 위하여 유연하고 강력한 시스템을 제공한다.
위에서 논의한 특징들, 그리고 다른 변형 및 조합은 특허청구범위에 의해 정의되는 개시사항에서 이탈되지 않고 활용될 수 있는바, 위에서 설명한 구현형태들은 청구범위에 의해 정의된 개시사항을 제한하는 것이 아니라 설명하는 것으로 받아들여야 한다. 본 개시의 예들에 대한 설명("예컨대", "예를 들어", "포함한다" 등의 문구도)은 특정 예에 대한 개시사항을 제한하는 것으로 해석해서는 안되고, 오히려, 이들 예는 많은 가능한 구현형태들 중 일부에 불과한 것을 설명하기 위한 것임을 이해해야 한다.
본 발명은 웹 브라우징, 웹 컨텐츠 렌더링, 및 네트워크 데이터 액세스 등(이들에만 국한되는 것은 아님), 광범위한 산업에 이용 가능하다.

Claims (31)

  1. 컴퓨터에서 구현되는 탐색(navigation) 이벤트 예측 방법으로서,
    탐색 의도 표시자(indicator of navigation intent)를 수신하는 단계 -상기 표시자는 브라우징 이력, 텍스트 입력, 또는 커서 입력 중 적어도 하나이며- ;
    프로세서를 사용하여 상기 표시자로부터 다음 탐색 이벤트를 예측하는 단계 -상기 다음 탐색 이벤트는 유니폼 리소스 로케이터(URL)이며- ; 및
    상기 다음 탐색 이벤트에 관련된 컨텐트를 사전 렌더링(prerendering)하는 단계
    를 포함하는 것을 특징으로 하는 탐색 이벤트 예측 방법.
  2. 컴퓨터에서 구현되는 탐색 이벤트 예측 방법으로서,
    탐색 이력을 추적하는 단계;
    상기 탐색 이력을 사용하여 다수의 탐색 이벤트들 중 하나 이상에 대한 하나 이상의 신뢰값들을 계산하는 단계;
    상기 신뢰값들을 사용하여 하나 이상의 가능성 있는(likely) 탐색 이벤트들을 프로세서를 사용하여 결정하는 단계; 및
    상기 하나 이상의 가능성 있는 탐색 이벤트들 중 적어도 하나를 예측된 탐색 이벤트로서 식별하는 단계
    를 포함하는 것을 특징으로 하는 탐색 이벤트 예측 방법.
  3. 제2항에 있어서,
    상기 예측된 탐색 이벤트에 관련된 컨텐트를 검색하는 단계
    를 더 포함하는 것을 특징으로 하는 탐색 이벤트 예측 방법.
  4. 제2항 또는 제3항에 있어서,
    상기 하나 이상의 신뢰값들을 계산하는 단계는,
    제 1 URL의 선택을 모니터링하는 단계;
    상기 선택에 응답하여, 제 1 URL에 관련된 빈도값 또는 URL들의 쌍에 관련된 빈도값을 증분하는 단계 -상기 URL들의 쌍은 제 1 URL과 출발 URL을 포함하며- ;
    상기 빈도값을 메모리에 저장하는 단계; 및
    상기 메모리에 저장된 적어도 하나의 빈도값으로부터, 상기 URL 또는 상기 URL둘의 쌍에 대한 신뢰값을 결정하는 단계
    를 포함하는 것을 특징으로 하는 탐색 이벤트 예측 방법.
  5. 제4항에 있어서,
    선택되지 않은 URL들에 대한 빈도값을 기결정된 시간 간격 후에 감쇠시키는 단계
    를 더 포함하는 것을 특징으로 하는 탐색 이벤트 예측 방법.
  6. 제5항에 있어서,
    상기 선택되지 않은 URL들에 대한 빈도값을 감쇠시키는 단계는,
    상기 제 1 URL의 선택에 대한 응답으로서 수행되는 것을 특징으로 하는 탐색 이벤트 예측 방법.
  7. 제2항 내지 제6항 중 어느 한 항에 있어서,
    상기 탐색 이력은 특정 클라이언트 또는 특정 사용자 중 적어도 하나에 관련되는 것을 특징으로 하는 탐색 이벤트 예측 방법.
  8. 제2항 내지 제7항 중 어느 한 항에 있어서,
    상기 탐색 이력은 복수의 사용자들에 관련되는 것을 특징으로 하는 탐색 이벤트 예측 방법.
  9. 제8항에 있어서,
    제 1 URL에 관련된 혹은 URL들의 천이 쌍(transitional pair)에 관련된 탐색 이벤트에 대한 제 1 해시값을 계산하는 단계 -상기 천이 쌍은 출발 URL과 목적 URL을 포함하며- ;
    상기 탐색 이벤트에 대한 신뢰값을 계산하는 단계;
    상기 해시값과 신뢰값을 전송함으로써, 상기 제 1 해시값과 신뢰값을 수신한 수신기가 제 2 URL의 제 2 해시값을 계산하여 상기 신뢰값이 적용된 상기 제 1 URL을 식별하도록 하는 단계
    를 더 포함하는 것을 특징으로 하는 탐색 이벤트 예측 방법.
  10. 제8항 또는 제9항에 있어서,
    상기 가장 가능성 있는 탐색 이벤트를 결정하는 단계는,
    적어도 하나의 URL에 대해서, 상기 복수의 사용자들의 탐색 이력에 근거하여 가장 많이 방문된 후속 URL을 계산하는 단계를 포함하는 것을 특징으로 하는 탐색 이벤트 예측 방법.
  11. 제10항에 있어서,
    상기 후속 URL에 대한 방문 횟수가 임계 방문 횟수보다 큰지를 판단하는 단계를 더 포함하는 것을 특징으로 하는 탐색 이벤트 예측 방법.
  12. 제10항 또는 제11항에 있어서,
    상기 후속 URL에 대한 데이터를 제출한 사용자 수가 임계 사용자 수보다 큰지를 판단하는 단계를 더 포함하는 것을 특징으로 하는 탐색 이벤트 예측 방법.
  13. 제10항 내지 제12항 중 어느 한 항에 있어서,
    가장 많이 방문된 후속 URL을 결정하기 위해 분석해야 할 최근 방문들(visits)의 윈도우를 식별하는 단계; 및
    상기 식별된 윈도우 내의 방문들을 분석하는 단계
    를 더 포함하는 것을 특징으로 하는 탐색 이벤트 예측 방법.
  14. 제13항에 있어서,
    상기 윈도우는 시간 주기 또는 방문수에 의해 정해지는 것을 특징으로 하는 탐색 이벤트 예측 방법.
  15. 제2항 내지 제14항 중 어느 한 항에 있어서,
    상기 탐색 이력은, URL 또는 URL들의 천이 쌍 중 적어도 하나를 포함하며, URL들의 상기 천이 쌍은 출발 URL 및 목적 URL을 포함하는 것을 특징으로 하는 탐색 이벤트 예측 방법.
  16. 컴퓨터에서 구현되는 다음(next) 탐색 이벤트 예측 방법으로서,
    URL에 대한 데이터 세트를 수신하는 단계 -상기 데이터 세트는 상기 URL에 관련된 하나 이상의 링크들에 관련된 해시값들과 상기 하나 이상의 링크들에 관련된 신뢰값들의 세트를 포함하며- ;
    프로세서를 사용하여, 상기 URL에 관련된 페이지 상에 있는 하나 이상의 링크들에 대한 해시값을 계산하는 단계;
    계산된 해시값과 수신된 해시값을 비교하여 계산된 각각의 해시값을 수신된 해시값에 매핑하는 단계; 및
    상기 링크에 대한 상기 계산된 해시값이 매핑되는 수신된 해시값에 관련된 수신된 신뢰값에 근거하여 각각의 가시적인(visible) 링크에 관련된 신뢰값을 식별하는 단계
    를 포함하는 것을 특징으로 하는 다음 탐색 이벤트 예측 방법.
  17. 제16항에 있어서,
    하나 이상의 다음 탐색 이벤트들을 예측하는 단계를 더 포함하며,
    하나 이상의 예측된 다음 탐색 이벤트들은, 식별된 가장 높은 신뢰값을 갖는 링크에 관련되는 것을 특징으로 하는 다음 탐색 이벤트 예측 방법.
  18. 다음(next) 탐색 이벤트 예측 방법으로서,
    텍스트 입력 필드 내의 텍스트 입력을 모니터링하는 단계;
    상기 텍스트 입력에 근거하여 가능성 있는 URL 또는 가능성 있는 질의어를 프로세서를 사용하여 예측하는 단계; 및
    예측된 다음 탐색 이벤트로서 상기 가능성 있는 URL 또는 가능성 있는 질의어를 식별하는 단계
    를 포함하는 것을 특징으로 하는 다음 탐색 이벤트를 예측하는 방법.
  19. 제18항에 있어서,
    상기 가능성 있는 URL을 예측하는 단계는,
    이전에 방문된 URL을 식별하기 위하여 상기 텍스트 입력과 사용자 이력을 비교하는 단계를 포함하는 것을 특징으로 하는 다음 탐색 이벤트를 예측하는 방법.
  20. 제18항 또는 제19항에 있어서,
    상기 가능성 있는 질의어를 예측하는 단계는,
    다음 탐색 이벤트로서 가능성 있는 다음 질의어를 식별하기 위하여 상기 텍스트 입력과 이전에 입력된 검색 질의어들의 세트를 비교하는 단계를 포함하는 것을 특징으로 하는 다음 탐색 이벤트를 예측하는 방법.
  21. 제18항 내지 제20항 중 어느 한 항에 있어서,
    식별된 가능성 있는 다음 질의어에 관련된 검색 결과들의 세트를 식별하는 단계를 더 포함하는 것을 특징으로 하는 다음 탐색 이벤트를 예측하는 방법.
  22. 제21항에 있어서,
    상기 검색 결과들의 세트로부터 가장 관련성이 높은 검색 결과를, 예측된 다음 탐색 이벤트로서 식별하는 단계를 더 포함하는 것을 특징으로하는 다음 탐색 이벤트를 예측하는 방법.
  23. 제18항 내지 제22항 중 어느 한 항에 있어서,
    상기 가능성 있는 질의어를 예측하는 단계는,
    상기 텍스트 입력에 근거하여, 검색 엔진으로부터 가능한(possible) 질의어들의 세트를 수신하는 단계를 포함하는 것을 특징으로 하는 다음 탐색 이벤트를 예측하는 방법.
  24. 컴퓨터에서 구현되는 다음 탐색 이벤트 예측 방법으로서,
    브라우저 내에서 커서의 움직임을 모니터링하는 단계 -상기 브라우저는 하나 이상의 하이퍼링크들을 갖는 웹페이지를 디스플레이하며- ; 및
    커서가 이동하는 쪽에 있는 하이퍼링크 또는 커서가 위치하고 있는 하이퍼 링크 중 적어도 하나를 식별함으로써 프로세서를 사용하여 다음 탐색 이벤트를 예측하는 단계
    를 포함하는 것을 특징으로 하는 다음 탐색 이벤트 예측 방법.
  25. 제24항에 있어서,
    상기 식별된 하이퍼링크에 관련된 웹페이지를 사전 렌더링하는 단계
    를 더 포함하는 것을 특징으로 하는 다음 탐색 이벤트 예측 방법.
  26. 제24항 또는 제25항에 있어서,
    라인(line)을 식별하기 위하여 커서의 움직임을 추정하고, 그리고 식별된 라인에 있는 하나 이상의 하이퍼링크들을, 다음 탐색 이벤트로서 식별하는 단계를 더 포함하는 것을 특징으로 하는 다음 탐색 이벤트 예측 방법.
  27. 제24항 내지 제26항 중 어느 한 항에 있어서,
    커서가 이동할 가능성이 있는 하이퍼링크를 판별하기 위하여, 상기 커서의 속도 및 각 하이퍼링크까지의 거리를 계산하는 단계를 더 포함하는 것을 특징으로 하는 다음 탐색 이벤트 예측 방법.
  28. 다음 탐색 이벤트를 예측하기 위한 프로세싱 시스템으로서,
    적어도 하나의 프로세서;
    상기 적어도 하나의 프로세서에 관련된 탐색 예측 모듈; 및
    탐색 데이터를 저장하는 메모리 -상기 메모리는 상기 적어도 하나의 프로세서에 연결되며-
    를 포함하며,
    상기 탐색 예측 모듈은 상기 탐색 데이터를 이용하여 복수의 탐색 이벤트들 중 하나 이상에 대한 하나 이상의 신뢰값들을 계산하도록 구성되며, 상기 신뢰값들을 사용하여 하나 이상의 가능성 있는 탐색 이벤트가 결정되고, 그리고 상기 하나 이상의 가능성 있는 탐색 이벤트들 중 적어도 하나가, 예측된 탐색 이벤트로서 식별되는 것을 특징으로 하는 다음 탐색 이벤트를 예측하기 위한 프로세싱 시스템.
  29. 제28항에 있어서,
    상기 탐색 데이터는 브라우징 이력, 텍스트 입력, 커서 입력 중 적어도 하나를 포함하는 것을 특징으로 하는 다음 탐색 이벤트를 예측하기 위한 프로세싱 시스템.
  30. 프로세싱 시스템으로서,
    상기 프로세싱 시스템은 적어도 하나의 프로세서와 컴퓨터 판독가능 매체를 포함하고, 상기 컴퓨터 판독가능 매체는 명령어들을 포함하며, 상기 명령어들은 상기 적어도 하나의 프로세서에 의해서 실행되는 때에 상기 프로세싱 시스템으로 하여금 청구항 제1항 내지 제27항 중 어느 한 항의 방법에 따라 동작하게 하는 것을 특징으로 하는 프로세싱 시스템.
  31. 컴퓨터 판독가능한 매체로서,
    상기 컴퓨터 판독가능한 매체는 명령어들을 포함하고, 상기 명령어들은 프로세싱 시스템의 적어도 하나의 프로세서 의해서 실행되는 때에 상기 프로세싱 시스템으로 하여금 청구항 제1항 내지 제27항 중 어느 한 항의 방법에 따라 동작하게 하는 것을 특징으로 하는 컴퓨터 판독가능한 매체.
KR1020137031458A 2011-05-04 2012-05-04 사용자 탐색 이벤트의 예측 KR101793240B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/100,615 US8732569B2 (en) 2011-05-04 2011-05-04 Predicting user navigation events
US13/100,615 2011-05-04
PCT/US2012/036519 WO2012151485A2 (en) 2011-05-04 2012-05-04 Predicting user navigation events

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020177031238A Division KR101891493B1 (ko) 2011-05-04 2012-05-04 사용자 탐색 이벤트의 예측

Publications (2)

Publication Number Publication Date
KR20140038432A true KR20140038432A (ko) 2014-03-28
KR101793240B1 KR101793240B1 (ko) 2017-11-02

Family

ID=47091097

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020137031458A KR101793240B1 (ko) 2011-05-04 2012-05-04 사용자 탐색 이벤트의 예측
KR1020177031238A KR101891493B1 (ko) 2011-05-04 2012-05-04 사용자 탐색 이벤트의 예측

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020177031238A KR101891493B1 (ko) 2011-05-04 2012-05-04 사용자 탐색 이벤트의 예측

Country Status (5)

Country Link
US (3) US8732569B2 (ko)
EP (2) EP2705438B1 (ko)
KR (2) KR101793240B1 (ko)
CN (1) CN103635896B (ko)
WO (1) WO2012151485A2 (ko)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5786458B2 (ja) * 2011-05-30 2015-09-30 富士通株式会社 キーワード抽出及びウエブコンテンツアクセス情報の収集装置
US9769285B2 (en) 2011-06-14 2017-09-19 Google Inc. Access to network content
US8788711B2 (en) 2011-06-14 2014-07-22 Google Inc. Redacting content and inserting hypertext transfer protocol (HTTP) error codes in place thereof
US8650139B2 (en) * 2011-07-01 2014-02-11 Google Inc. Predicting user navigation events
US10346856B1 (en) * 2011-07-08 2019-07-09 Microsoft Technology Licensing, Llc Personality aggregation and web browsing
US8645300B1 (en) * 2011-07-20 2014-02-04 Usability Sciences Corporation System and method for intent data processing
US10061860B2 (en) * 2011-07-29 2018-08-28 Oath Inc. Method and system for personalizing web page layout
US9335832B2 (en) * 2011-12-23 2016-05-10 Sap Se Executing system actions corresponding to user inputs
KR20130106519A (ko) * 2012-03-20 2013-09-30 삼성전자주식회사 웹 브라우저의 히스토리 관리 방법 및 장치
US10331769B1 (en) * 2012-03-23 2019-06-25 Amazon Technologies, Inc. Interaction based prioritized retrieval of embedded resources
US9785619B1 (en) * 2012-03-23 2017-10-10 Amazon Technologies, Inc. Interaction based display of visual effects
US9529926B2 (en) * 2012-04-23 2016-12-27 Excalibur Ip, Llc Snapshot refreshment for search results page preview
US8977967B2 (en) * 2012-05-11 2015-03-10 Microsoft Technology Licensing, Llc Rules for navigating to next content in a browser
US9946792B2 (en) 2012-05-15 2018-04-17 Google Llc Access to network content
US9348936B2 (en) * 2012-07-25 2016-05-24 Oracle International Corporation Heuristic caching to personalize applications
US10261938B1 (en) * 2012-08-31 2019-04-16 Amazon Technologies, Inc. Content preloading using predictive models
US9665547B1 (en) * 2012-12-27 2017-05-30 Google Inc. Facilitating webpage navigation
US9240023B1 (en) * 2013-01-30 2016-01-19 Amazon Technologies, Inc. Precomputing processes associated with requests
US9699019B2 (en) * 2013-06-14 2017-07-04 Microsoft Technology Licensing, Llc Related content display associated with browsing
CN104423814A (zh) * 2013-08-20 2015-03-18 腾讯科技(深圳)有限公司 控制网络媒体信息互动的方法及浏览器
CN104571779B (zh) * 2013-10-16 2019-05-07 腾讯科技(深圳)有限公司 播放器界面元素的显示方法及装置
US9576070B2 (en) 2014-04-23 2017-02-21 Akamai Technologies, Inc. Creation and delivery of pre-rendered web pages for accelerated browsing
US9934207B1 (en) 2014-05-02 2018-04-03 Tribune Publishing Company, Llc Online information system with continuous scrolling and previous section removal
CN105094861A (zh) * 2014-05-06 2015-11-25 腾讯科技(深圳)有限公司 网页应用程序加载方法、装置及系统
CN104267812B (zh) * 2014-09-22 2017-08-29 联想(北京)有限公司 一种信息处理方法及电子设备
CN104281677A (zh) * 2014-09-29 2015-01-14 百度在线网络技术(北京)有限公司 页面的展现方法及装置
US9727218B2 (en) 2015-01-02 2017-08-08 Microsoft Technology Licensing, Llc Contextual browser frame and entry box placement
US10169481B2 (en) * 2015-02-18 2019-01-01 Adobe Systems Incorporated Method for intelligent web reference preloading based on user behavior prediction
EP3879392A1 (en) 2015-03-13 2021-09-15 Telefonaktiebolaget LM Ericsson (publ) Device for handheld operation and method thereof
US9940362B2 (en) * 2015-05-26 2018-04-10 Google Llc Predicting user needs for a particular context
US10474320B2 (en) * 2015-06-07 2019-11-12 Apple Inc. Document channel selection for document viewing application
US10198144B2 (en) * 2015-08-28 2019-02-05 Google Llc Multidimensional navigation
US10387676B2 (en) * 2015-09-14 2019-08-20 Viasat, Inc. Machine-driven crowd-disambiguation of data resources
US10740793B1 (en) 2015-09-30 2020-08-11 Groupon, Inc. Method, apparatus, and computer program product for predicting web browsing behaviors of consumers
US10337879B2 (en) 2015-12-24 2019-07-02 Intel Corporation Travel assistance
CN106878372B (zh) * 2016-11-07 2020-10-02 阿里巴巴集团控股有限公司 信息推送方法及装置
US10417239B2 (en) * 2017-01-13 2019-09-17 International Business Machines Corporation Reducing flow delays in a data streaming application caused by lookup operations
US10706433B2 (en) * 2017-01-25 2020-07-07 Mastercard International Incorporated Individual level learning mechanism
US11216745B2 (en) * 2017-11-07 2022-01-04 Google Llc Incognito mode for personalized machine-learned models
CN107992416B (zh) * 2017-11-28 2021-02-23 中国联合网络通信集团有限公司 一种网页时延的确定方法及装置
WO2019117567A1 (en) * 2017-12-11 2019-06-20 Samsung Electronics Co., Ltd. Method and apparatus for managing navigation of web content
US11537264B2 (en) * 2018-02-09 2022-12-27 Sony Interactive Entertainment LLC Methods and systems for providing shortcuts for fast load when moving between scenes in virtual reality
US10459609B2 (en) * 2018-04-03 2019-10-29 Palantir Technologies Inc. Multi-stage data page rendering
US10681165B2 (en) 2018-09-11 2020-06-09 Palantir Technologies Inc. System architecture for enabling efficient inter-application communications
US11157544B2 (en) 2018-09-19 2021-10-26 International Business Machines Corporation Online site prediction and mitigation
US11625449B2 (en) * 2018-11-16 2023-04-11 Syracuse University Intent-oriented internet browsing
US11106822B2 (en) * 2018-12-05 2021-08-31 At&T Intellectual Property I, L.P. Privacy-aware content recommendations
US11443005B2 (en) * 2019-05-31 2022-09-13 Microsoft Technology Licensing, Llc Unsupervised clustering of browser history using web navigational activities
US11182536B2 (en) * 2020-02-05 2021-11-23 Exponea s.r.o. System and method for dynamic webpage rendering with no flicker or flash of original content
US11481111B2 (en) 2020-04-24 2022-10-25 Microsoft Technology Licensing, Llc Utilization of predictive gesture analysis for preloading and executing application components
CN113467875A (zh) * 2021-06-29 2021-10-01 阿波罗智能技术(北京)有限公司 训练方法、预测方法、装置、电子设备以及自动驾驶车辆

Family Cites Families (160)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715445A (en) 1994-09-02 1998-02-03 Wolfe; Mark A. Document retrieval system employing a preloading procedure
US7103594B1 (en) 1994-09-02 2006-09-05 Wolfe Mark A System and method for information retrieval employing a preloading procedure
US6604103B1 (en) 1994-09-02 2003-08-05 Mark A. Wolfe System and method for information retrieval employing a preloading procedure
US7467137B1 (en) 1994-09-02 2008-12-16 Wolfe Mark A System and method for information retrieval employing a preloading procedure
US5727129A (en) * 1996-06-04 1998-03-10 International Business Machines Corporation Network system for profiling and actively facilitating user activities
US5878223A (en) * 1997-05-07 1999-03-02 International Business Machines Corporation System and method for predictive caching of information pages
US6256712B1 (en) 1997-08-01 2001-07-03 International Business Machines Corporation Scaleable method for maintaining and making consistent updates to caches
US6085226A (en) 1998-01-15 2000-07-04 Microsoft Corporation Method and apparatus for utility-directed prefetching of web pages into local cache using continual computation and user models
US6012052A (en) * 1998-01-15 2000-01-04 Microsoft Corporation Methods and apparatus for building resource transition probability models for use in pre-fetching resources, editing resource link topology, building resource link topology templates, and collaborative filtering
US6195622B1 (en) * 1998-01-15 2001-02-27 Microsoft Corporation Methods and apparatus for building attribute transition probability models for use in pre-fetching resources
US6055569A (en) 1998-01-27 2000-04-25 Go Ahead Software Inc. Accelerating web access by predicting user action
IL125432A (en) 1998-01-30 2010-11-30 Easynet Access Inc Personalized internet interaction
US6182133B1 (en) 1998-02-06 2001-01-30 Microsoft Corporation Method and apparatus for display of information prefetching and cache status having variable visual indication based on a period of time since prefetching
US6100871A (en) 1998-04-29 2000-08-08 Multitude, Inc. Dynamic pointer having time-dependent informational content
US6098064A (en) * 1998-05-22 2000-08-01 Xerox Corporation Prefetching and caching documents according to probability ranked need S list
WO2000013104A1 (en) 1998-08-26 2000-03-09 Symtec Limited Methods and devices for mapping data files
JP2000132450A (ja) 1998-10-29 2000-05-12 Mitsubishi Electric Corp データ制御装置及びデータ制御方法
US6842782B1 (en) 1998-12-08 2005-01-11 Yodlee.Com, Inc. Method and apparatus for tracking functional states of a web-site and reporting results to web developers
US7428701B1 (en) 1998-12-18 2008-09-23 Appligent Inc. Method, system and computer program for redaction of material from documents
US6553393B1 (en) 1999-04-26 2003-04-22 International Business Machines Coporation Method for prefetching external resources to embedded objects in a markup language data stream
US6779119B1 (en) * 1999-06-30 2004-08-17 Koninklijke Philips Electronics N.V. Actual and perceived response time, user interface, and security via usage patterns
US6976090B2 (en) 2000-04-20 2005-12-13 Actona Technologies Ltd. Differentiated content and application delivery via internet
US6718454B1 (en) 2000-04-29 2004-04-06 Hewlett-Packard Development Company, L.P. Systems and methods for prefetch operations to reduce latency associated with memory access
US20050055426A1 (en) 2000-06-12 2005-03-10 Kim Smith System, method and computer program product that pre-caches content to provide timely information to a user
US6717600B2 (en) 2000-12-15 2004-04-06 International Business Machines Corporation Proximity selection of selectable item in a graphical user interface
US7246104B2 (en) 2001-03-21 2007-07-17 Nokia Corporation Method and apparatus for information delivery with archive containing metadata in predetermined language and semantics
US20030193994A1 (en) 2001-03-21 2003-10-16 Patrick Stickler Method of managing media components
US7584418B2 (en) 2001-05-31 2009-09-01 Oracle International Corporation Methods, systems, and articles of manufacture for prefabricating an information page
US7716332B1 (en) 2001-06-20 2010-05-11 At&T Intellectual Property I, L.P. System and method for server-based predictive caching of back-end system data
US7003566B2 (en) 2001-06-29 2006-02-21 International Business Machines Corporation Method and system for predictive directional data caching
US7047502B2 (en) 2001-09-24 2006-05-16 Ask Jeeves, Inc. Methods and apparatus for mouse-over preview of contextually relevant information
US6766422B2 (en) 2001-09-27 2004-07-20 Siemens Information And Communication Networks, Inc. Method and system for web caching based on predictive usage
US6871218B2 (en) * 2001-11-07 2005-03-22 Oracle International Corporation Methods and systems for preemptive and predictive page caching for improved site navigation
US7565367B2 (en) * 2002-01-15 2009-07-21 Iac Search & Media, Inc. Enhanced popularity ranking
US7159025B2 (en) 2002-03-22 2007-01-02 Microsoft Corporation System for selectively caching content data in a server based on gathered information and type of memory in the server
US7277924B1 (en) 2002-05-07 2007-10-02 Oracle International Corporation Method and mechanism for a portal website architecture
US6993586B2 (en) 2002-05-09 2006-01-31 Microsoft Corporation User intention modeling for web navigation
US7139798B2 (en) 2002-05-17 2006-11-21 Groove Networks, Inc. Method and apparatus for connecting a secure peer-to-peer collaboration system to an external system
AU2002304431A1 (en) 2002-06-10 2003-12-22 Caplin System Limited Client-server communication system
US20040031052A1 (en) 2002-08-12 2004-02-12 Liberate Technologies Information platform
EP1588286A2 (en) 2002-10-07 2005-10-26 Metatomix, Inc. Methods and apparatus for identifying related nodes in a directed graph having named arcs
US8005919B2 (en) 2002-11-18 2011-08-23 Aol Inc. Host-based intelligent results related to a character stream
US7836391B2 (en) 2003-06-10 2010-11-16 Google Inc. Document search engine including highlighting of confident results
US7401072B2 (en) * 2003-06-10 2008-07-15 Google Inc. Named URL entry
US7281202B2 (en) * 2003-06-19 2007-10-09 Microsoft Corporation Framework for creating modular web applications
US8346587B2 (en) 2003-06-30 2013-01-01 Microsoft Corporation Models and methods for reducing visual complexity and search effort via ideal information abstraction, hiding, and sequencing
US7082573B2 (en) * 2003-07-30 2006-07-25 America Online, Inc. Method and system for managing digital assets
US8103742B1 (en) 2003-11-24 2012-01-24 Amazon Technologies, Inc. Deferred and off-loaded rendering of selected portions of web pages to incorporate late-arriving service data
US7774721B2 (en) 2003-12-15 2010-08-10 Microsoft Corporation Intelligent backward resource navigation
US7614004B2 (en) * 2003-12-15 2009-11-03 Microsoft Corporation Intelligent forward resource navigation
US7483941B2 (en) 2004-01-13 2009-01-27 International Business Machines Corporation System and method for dynamically inserting prefetch tags by the web server
FR2867584B1 (fr) * 2004-03-10 2006-06-09 Weborama Procede de determination d'un profil d'un utilisateur d'un reseau de communication
US7155336B2 (en) 2004-03-24 2006-12-26 A9.Com, Inc. System and method for automatically collecting images of objects at geographic locations and displaying same in online directories
US7539674B2 (en) * 2004-04-08 2009-05-26 Yahoo! Inc. Systems and methods for adaptive scheduling of references to documents
US7950026B1 (en) 2004-06-24 2011-05-24 Julian Michael Urbach Virtual application execution system and method
US7558822B2 (en) * 2004-06-30 2009-07-07 Google Inc. Accelerating user interfaces by predicting user actions
US7249005B2 (en) 2004-08-17 2007-07-24 Dirtt Environmental Solutions Ltd. Design software incorporating efficient 3-D rendering
US7987172B1 (en) 2004-08-30 2011-07-26 Google Inc. Minimizing visibility of stale content in web searching including revising web crawl intervals of documents
US7761814B2 (en) 2004-09-13 2010-07-20 Microsoft Corporation Flick gesture
US20060064411A1 (en) 2004-09-22 2006-03-23 William Gross Search engine using user intent
US8037527B2 (en) * 2004-11-08 2011-10-11 Bt Web Solutions, Llc Method and apparatus for look-ahead security scanning
EP1800228A1 (en) 2004-09-27 2007-06-27 Browster, Inc. Method and apparatus for enhanced browsing
US7810035B2 (en) * 2004-10-15 2010-10-05 Microsoft Corporation Browsing web content using predictive navigation links
US20060143568A1 (en) 2004-11-10 2006-06-29 Scott Milener Method and apparatus for enhanced browsing
US7499940B1 (en) * 2004-11-11 2009-03-03 Google Inc. Method and system for URL autocompletion using ranked results
US7321655B2 (en) 2005-02-07 2008-01-22 Adomo, Inc. Caching user information in an integrated communication system
US7480669B2 (en) 2005-02-15 2009-01-20 Infomato Crosslink data structure, crosslink database, and system and method of organizing and retrieving information
US7392258B2 (en) 2005-02-25 2008-06-24 International Business Machines Corporation Method and computer program product for dynamic weighting of an ontological data model
US7536635B2 (en) 2005-04-25 2009-05-19 Microsoft Corporation Enabling users to redact portions of a document
US7840589B1 (en) 2005-05-09 2010-11-23 Surfwax, Inc. Systems and methods for using lexically-related query elements within a dynamic object for semantic search refinement and navigation
US20060282771A1 (en) 2005-06-10 2006-12-14 Tad Vinci Verifying document compliance to a subsidiary standard
US20060294223A1 (en) * 2005-06-24 2006-12-28 Microsoft Corporation Pre-fetching and DNS resolution of hyperlinked content
WO2007002728A2 (en) * 2005-06-28 2007-01-04 Claria Corporation Method and system for controlling and adapting a media stream
US7487147B2 (en) 2005-07-13 2009-02-03 Sony Computer Entertainment Inc. Predictive user interface
US7975019B1 (en) * 2005-07-15 2011-07-05 Amazon Technologies, Inc. Dynamic supplementation of rendered web pages with content supplied by a separate source
CA2513018A1 (en) 2005-07-22 2007-01-22 Research In Motion Limited Method for training a proxy server for content delivery based on communication of state information from a mobile device browser
EP1910949A4 (en) 2005-07-29 2012-05-30 Cataphora Inc IMPROVED METHOD AND APPARATUS FOR ANALYZING SOCIOLOGICAL DATA
US7676517B2 (en) * 2005-10-14 2010-03-09 Microsoft Corporation Search results injected into client applications
US7580930B2 (en) * 2005-12-27 2009-08-25 Baynote, Inc. Method and apparatus for predicting destinations in a navigation context based upon observed usage patterns
US8001471B2 (en) 2006-02-28 2011-08-16 Maven Networks, Inc. Systems and methods for providing a similar offline viewing experience of online web-site content
US20070208704A1 (en) 2006-03-06 2007-09-06 Stephen Ives Packaged mobile search results
US20070226633A1 (en) 2006-03-06 2007-09-27 International Business Machines Corporation Copying and pasting portlets in a portal environment
US20070220010A1 (en) 2006-03-15 2007-09-20 Kent Thomas Ertugrul Targeted content delivery for networks
US20080052219A1 (en) * 2006-03-31 2008-02-28 Combinenet, Inc. System for and method of expressive auctions of user events
US8190650B2 (en) 2006-05-02 2012-05-29 Microsoft Corporation Efficiently filtering using a web site
GB0702594D0 (en) * 2006-05-05 2007-03-21 Omnifone Ltd User interface
US7747749B1 (en) 2006-05-05 2010-06-29 Google Inc. Systems and methods of efficiently preloading documents to client devices
US7876335B1 (en) 2006-06-02 2011-01-25 Adobe Systems Incorporated Methods and apparatus for redacting content in a document
US8386509B1 (en) 2006-06-30 2013-02-26 Amazon Technologies, Inc. Method and system for associating search keywords with interest spaces
US7660815B1 (en) 2006-06-30 2010-02-09 Amazon Technologies, Inc. Method and system for occurrence frequency-based scaling of navigation path weights among online content sources
US7685192B1 (en) 2006-06-30 2010-03-23 Amazon Technologies, Inc. Method and system for displaying interest space user communities
US10789323B2 (en) * 2006-10-02 2020-09-29 Adobe Inc. System and method for active browsing
US7802305B1 (en) 2006-10-10 2010-09-21 Adobe Systems Inc. Methods and apparatus for automated redaction of content in a document
US8943332B2 (en) 2006-10-31 2015-01-27 Hewlett-Packard Development Company, L.P. Audit-log integrity using redactable signatures
US20080140941A1 (en) 2006-12-07 2008-06-12 Dasgupta Gargi B Method and System for Hoarding Content on Mobile Clients
US20080201332A1 (en) 2007-02-20 2008-08-21 Souders Steven K System and method for preloading content on the basis of user context
US7941609B2 (en) 2007-02-23 2011-05-10 Microsoft Corporation HTTP acceleration by prediction and pre-fetching
US8032472B2 (en) 2007-04-04 2011-10-04 Tuen Solutions Limited Liability Company Intelligent agent for distributed services for mobile devices
US7917773B2 (en) 2007-05-02 2011-03-29 Microsoft Corporation Visibility-aware services
US8015502B2 (en) 2007-05-22 2011-09-06 Yahoo! Inc. Dynamic layout for a search engine results page on implicit user feedback
KR20080111822A (ko) 2007-06-20 2008-12-24 강정욱 사용자 검색어를 연동하여 가이드 정보, 랭킹 정보를제공하는 검색지원 정보 시스템.
US7996483B2 (en) 2007-06-20 2011-08-09 Microsoft Corporation Adaptive caching in broadcast networks
US8005946B2 (en) 2007-09-10 2011-08-23 Microsoft Corporation Managing navigation history for intra-page state transitions
US9195743B2 (en) 2007-10-04 2015-11-24 Yahoo! Inc. System and method for creating and applying predictive user click models to predict a target page associated with a search query
US7925694B2 (en) 2007-10-19 2011-04-12 Citrix Systems, Inc. Systems and methods for managing cookies via HTTP content layer
US20090132949A1 (en) 2007-11-16 2009-05-21 Jason Bosarge Methods and systems for transmitting, receiving and annotating internet content
US20090158221A1 (en) 2007-12-17 2009-06-18 Nokia Corporation Device feature manipulation based on presented content
US8131731B2 (en) 2007-12-27 2012-03-06 Microsoft Corporation Relevancy sorting of user's browser history
TWI365402B (en) * 2007-12-28 2012-06-01 Htc Corp User interface dynamic layout system, method for arranging user interface layout and touch display system
US8560964B2 (en) 2008-02-20 2013-10-15 International Business Machines Corporation Method and system for predictive browsing
US8255396B2 (en) 2008-02-25 2012-08-28 Atigeo Llc Electronic profile development, storage, use, and systems therefor
US20090254643A1 (en) 2008-04-04 2009-10-08 Merijn Camiel Terheggen System and method for identifying galleries of media objects on a network
US20090254515A1 (en) 2008-04-04 2009-10-08 Merijn Camiel Terheggen System and method for presenting gallery renditions that are identified from a network
US8549497B2 (en) 2008-05-05 2013-10-01 University Of New Brunswick High-level hypermedia synthesis for adaptive web
US20090299964A1 (en) 2008-05-30 2009-12-03 Microsoft Corporation Presenting search queries related to navigational search queries
US8032591B2 (en) 2008-06-25 2011-10-04 Ebay, Inc. Systems and methods for mapping event changes in network navigation
US8631340B2 (en) 2008-06-25 2014-01-14 Microsoft Corporation Tab management in a user interface window
US8407214B2 (en) 2008-06-25 2013-03-26 Microsoft Corp. Constructing a classifier for classifying queries
US8060513B2 (en) 2008-07-01 2011-11-15 Dossierview Inc. Information processing with integrated semantic contexts
US8799200B2 (en) 2008-07-25 2014-08-05 Liveperson, Inc. Method and system for creating a predictive model for targeting webpage to a surfer
US8112308B1 (en) 2008-08-06 2012-02-07 Google Inc. Targeting using generated bundles of content sources
US8819585B2 (en) 2008-10-27 2014-08-26 Microsoft Corporation Child window surfacing and management
US8159391B2 (en) * 2008-11-13 2012-04-17 Ecole Polytechnique Federale De Lausanne (Epfl) Method to secure GNSS based locations in a device having GNSS receiver
GB2477456A (en) 2008-11-14 2011-08-03 Virtual Nerd Llc Whiteboard presentation of interactive and expandable modular content
US7949647B2 (en) 2008-11-26 2011-05-24 Yahoo! Inc. Navigation assistance for search engines
US8356247B2 (en) 2008-12-16 2013-01-15 Rich Media Worldwide, Llc Content rendering control system and method
US8260938B2 (en) 2009-01-23 2012-09-04 Google Inc. Predicting user requests to reduce network connection latency
US8499041B2 (en) 2009-01-26 2013-07-30 The Boeing Company Collaborative browsing and related methods and systems
KR101035686B1 (ko) 2009-03-12 2011-05-19 주식회사 로그 웹 페이지별 접속 통계 정보 제공 장치 및 접속 통계 정보 제공 방법
KR20100112512A (ko) 2009-04-09 2010-10-19 (주)아이오다인 검색 장치 및 검색 방법
US8140646B2 (en) 2009-06-04 2012-03-20 Microsoft Corporation Network application performance enhancement using speculative execution
US20110029670A1 (en) 2009-07-31 2011-02-03 Microsoft Corporation Adapting pushed content delivery based on predictiveness
US8566531B2 (en) * 2009-08-21 2013-10-22 Google Inc. System and method of selectively caching information based on the interarrival time of requests for the same information
JP5316338B2 (ja) 2009-09-17 2013-10-16 ソニー株式会社 情報処理装置、データ取得方法及びプログラム
US20110119361A1 (en) 2009-11-17 2011-05-19 Oto Technologies, Llc System and method for managing redacted electronic documents using callback triggers
US20110173569A1 (en) 2010-01-13 2011-07-14 Rockmelt, Inc. Preview Functionality for Increased Browsing Speed
US9104238B2 (en) * 2010-02-12 2015-08-11 Broadcom Corporation Systems and methods for providing enhanced motion detection
US8375208B2 (en) * 2010-05-20 2013-02-12 Verizon Patent And Licensing Inc. Method and apparatus for providing content aggregation in support of virtual channels
US9128918B2 (en) 2010-07-13 2015-09-08 Motionpoint Corporation Dynamic language translation of web site content
EP3367252B1 (en) * 2010-07-26 2019-10-16 Seven Networks, LLC Context aware traffic management for resource conservation in a wireless network
US10204210B2 (en) 2010-08-30 2019-02-12 Mobile Newmedia Ltd. Health kiosk
US20120084644A1 (en) 2010-09-30 2012-04-05 Julien Robert Content preview
US20120137201A1 (en) 2010-11-30 2012-05-31 Alcatel-Lucent Usa Inc. Enabling predictive web browsing
US8799759B2 (en) 2010-12-13 2014-08-05 International Business Machines Corporation Pre-rendering web content
US8849775B2 (en) 2010-12-15 2014-09-30 Yahoo! Inc. Caching web documents in two or more caches
US8504907B2 (en) 2011-03-07 2013-08-06 Ricoh Co., Ltd. Generating page and document logs for electronic documents
US9275162B2 (en) * 2011-03-22 2016-03-01 Blackberry Limited Pre-caching web content for a mobile device
US8732571B2 (en) 2011-03-31 2014-05-20 Google Inc. Methods and systems for generating and displaying a preview image of a content area
US8600968B2 (en) 2011-04-19 2013-12-03 Microsoft Corporation Predictively suggesting websites
US8413047B2 (en) 2011-05-12 2013-04-02 Qualcomm Incorporated Concurrent parsing and processing of HTML and JAVASCRIPT®
US9769285B2 (en) * 2011-06-14 2017-09-19 Google Inc. Access to network content
US8788711B2 (en) 2011-06-14 2014-07-22 Google Inc. Redacting content and inserting hypertext transfer protocol (HTTP) error codes in place thereof
US8745212B2 (en) 2011-07-01 2014-06-03 Google Inc. Access to network content
US8600921B2 (en) * 2011-09-15 2013-12-03 Google Inc. Predicting user navigation events in a browser using directed graphs
US9182495B2 (en) * 2011-09-21 2015-11-10 Lockheed Martin Corporation System and method for monitoring integrity of a global navigation satellite system
US10225306B2 (en) * 2011-12-29 2019-03-05 Koninklijke Kpn N.V. Controlled streaming of segmented content
US8959431B2 (en) 2012-01-16 2015-02-17 Microsoft Corporation Low resolution placeholder content for document navigation
US8892638B2 (en) 2012-05-10 2014-11-18 Microsoft Corporation Predicting and retrieving data for preloading on client device
US9946792B2 (en) * 2012-05-15 2018-04-17 Google Llc Access to network content
US9141722B2 (en) * 2012-10-02 2015-09-22 Google Inc. Access to network content

Also Published As

Publication number Publication date
US9613009B2 (en) 2017-04-04
KR101891493B1 (ko) 2018-08-24
CN103635896A (zh) 2014-03-12
US20160188542A1 (en) 2016-06-30
US10896285B2 (en) 2021-01-19
KR20170123720A (ko) 2017-11-08
EP3605355A1 (en) 2020-02-05
EP2705438A2 (en) 2014-03-12
CN103635896B (zh) 2016-06-08
US20120284597A1 (en) 2012-11-08
EP2705438A4 (en) 2014-10-29
EP2705438B1 (en) 2019-10-23
US8732569B2 (en) 2014-05-20
WO2012151485A3 (en) 2013-01-17
KR101793240B1 (ko) 2017-11-02
US20170337163A1 (en) 2017-11-23
WO2012151485A2 (en) 2012-11-08

Similar Documents

Publication Publication Date Title
US10896285B2 (en) Predicting user navigation events
US10332009B2 (en) Predicting user navigation events
US8862529B1 (en) Predicting user navigation events in a browser using directed graphs
US8566696B1 (en) Predicting user navigation events
EP2904509B1 (en) Improving access to network content
US9443197B1 (en) Predicting user navigation events
US10089579B1 (en) Predicting user navigation events
US8954524B1 (en) Access to network content
US20200084213A1 (en) Low-latency differential access controls in a time-series prediction system
US8898297B1 (en) Device attribute-customized metadata for browser users

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant