KR102006396B1 - 브라우징 액티비티에 기초하여 정합 애플리케이션을 식별하는 기법 - Google Patents

브라우징 액티비티에 기초하여 정합 애플리케이션을 식별하는 기법 Download PDF

Info

Publication number
KR102006396B1
KR102006396B1 KR1020187021040A KR20187021040A KR102006396B1 KR 102006396 B1 KR102006396 B1 KR 102006396B1 KR 1020187021040 A KR1020187021040 A KR 1020187021040A KR 20187021040 A KR20187021040 A KR 20187021040A KR 102006396 B1 KR102006396 B1 KR 102006396B1
Authority
KR
South Korea
Prior art keywords
application
user
app
browser
computer
Prior art date
Application number
KR1020187021040A
Other languages
English (en)
Other versions
KR20180087456A (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 KR20180087456A publication Critical patent/KR20180087456A/ko
Application granted granted Critical
Publication of KR102006396B1 publication Critical patent/KR102006396B1/ko

Links

Images

Classifications

    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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/24Querying
    • G06F16/248Presentation of query results
    • 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
    • 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
    • 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]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement

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)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

애플리케이션은 사용자에 의한 특정 검색을 요구하지 않고 브라우징 중에 사용자에 서피싱된다. 사용자에게 서피싱될 애플리케이션은 브라우저의 어드레스 바 내에 입력된 네트워크 어드레스, 네트워크 어드레스에 대응하는 페이지의 콘텐트 또는 이들의 조합에 기초하여 선택될 수 있다. 서피싱될 애플리케이션은 어드레스 바 내에 입력된 부분 어드레스에 기초하여 및/또는 브라우저 디스플레이에 현재 가시화된 웹페이지 콘텐트에 기초하여 선택될 수 있다.

Description

브라우징 액티비티에 기초하여 정합 애플리케이션을 식별하는 기법{IDENTIFYING MATCHING APPLICATIONS BASED ON BROWSING ACTIVITY}
최근의 경향에 따르면, 사용자의 작업을 충족하기 위해 더욱 더 많은 애플리케이션 또는 앱이 생성되고 있다. 이들 앱의 다수는 디바이스 및/또는 시나리오를 위해 맞춤화될 수 있는 손쉬운 앱-쇼핑 경험을 사용자에게 제공하기 위해, 소매 웹사이트와 같은 온라인 로케이션에서 이용 가능하다. 예를 들어, 다양한 플랫폼(예를 들어, Apple
Figure 112018071958812-pat00001
, Android
Figure 112018071958812-pat00002
및 Microsoft
Figure 112018071958812-pat00003
)이 그 각각의 앱스토어에서 폭발적으로 성장해왔고 현재 각각의 모바일 디바이스에 대해 총 500,000개가 넘는 앱을 제공하고 있다. 이러한 하나의 예시적인 웹-기반 애플리케이션으로 다양한 모바일 디바이스 상에 설치되도록 맞춤화된 Yelp
Figure 112018071958812-pat00004
- www.yelp.com 웹사이트의 대응 애플리케이션 - 이 있다.
애플리케이션의 사용이 증가하고 있음에도 불구하고, 인기 있는 또는 관련 애플리케이션을 발견하기가 어려울 수 있다. 예를 들어, 종래의 검색 엔진의 표준 검색 프로토콜은 통상적으로 검색 쿼리(search query)에 응답하여 웹사이트, 카드 및/또는 응답을 서피싱(surfacing)한다. 이는 데스크탑 및 모바일 디바이스 모두에 해당된다. 앱 탐색과 특별히 관련된 검색 쿼리는 결과(예를 들어, "Yelp
Figure 112018071958812-pat00005
앱을 다운로드")의 일부로서 애플리케이션을 반환할 수도 있지만, 앱을 서피싱하기 위한 명시적인 검색을 요구하면 관심이 있을 수 있는 애플리케이션을 인식하게 될 사용자의 수가 감소될 수 있다.
다양한 실시예에서, 사용자에 의한 특정 검색을 요구하지 않고 브라우징 중에 사용자에 애플리케이션을 서피싱하기 위한 시스템 및 방법이 제공된다. 사용자에게 서피싱하기 위한 애플리케이션은 브라우저의 어드레스 바 내에 입력된 네트워크 어드레스, 네트워크 어드레스에 대응하는 페이지의 콘텐트 또는 이들의 조합에 기초하여 선택될 수 있다. 실시예에 따르면, 서피싱을 위한 애플리케이션은 어드레스 바 내에 입력된 부분 어드레스에 기초하여 선택될 수 있다. 실시예에 따르면, 서피싱을 위한 애플리케이션은 브라우저 디스플레이에 현재 가시화된 웹페이지 콘텐트에 기초하여 선택될 수 있다. 시스템 및 방법은 컴퓨터 판독가능 매체로서 구체화된 시스템 및 방법을 포함할 수 있다.
본 요약부는 이하 발명의 상세한 설명에서 보다 자세히 기술될 개념을 단순화된 형식으로 소개하기 위해 제공되는 것이다. 본 요약부는 청구항에 기재된 청구대상의 주된 사항 또는 핵심 사항을 밝히기 위한 것이 아니며, 청구항에 기재된 청구대상의 범위를 한정하기 위한 것은 더더욱 아니다.
본 발명의 실시예가 첨부 도면을 참조하여 이하에 상세히 설명된다.
도 1은 본 발명의 실시예를 구현하기 위해 적합한 예시적인 컴퓨팅 디바이스의 블록 다이어그램이다.
도 2는 본 발명의 실시예를 구현하는데 사용을 위해 구성된 분산형 컴퓨팅 환경의 예시적인 시스템 아키텍처의 블록 다이어그램이다.
도 3은 본 발명의 실시예에 따른 도 2의 예시적인 시스템 아키텍처 내의 구성요소간 통신 방안의 블록 다이어그램이다.
도 4는 정합 애플리케이션에 대한 문서 및 링크를 표시하는 브라우저의 예를 개략적으로 도시한다.
도 5는 정합 애플리케이션에 대한 문서 및 링크를 표시하는 브라우저의 예를 개략적으로 도시한다.
도 6은 정합 애플리케이션에 대한 문서 및 링크를 표시하는 브라우저의 예를 개략적으로 도시한다.
도 7a 및 도 7b는 정합 애플리케이션에 대한 문서 및 링크를 표시하는 브라우저의 예를 개략적으로 도시한다.
도 8 내지 도 11은 본 발명의 실시예에 따른 다양한 방법의 흐름도를 도시한다.
개요
다양한 실시예에서, 사용자에 의한 브라우징 액티비티에 기초하여 앱(또한 애플리케이션이라 칭함)을 서피싱하기 위한 시스템 및 방법이 제공된다. 애플리케이션은 사용자가 검색 쿼리를 제공하지 않아도 서피싱될 수 있다. 대신에, 애플리케이션은 사용자에 의해 현재 뷰잉되는 웹페이지 또는 문서에 기초하여 사용자에 서피싱될 수 있다. 부가적으로 또는 대안적으로, 애플리케이션은 URL(uniform resource locator), URI(uniform resource indicator) 또는 사용자가 브라우저의 어드레스 바(address bar)에 입력하거나 입력되어 있는 다른 유형의 네트워크 어드레스에 기초하여 서피싱될 수 있다. 몇몇 실시예에서, 애플리케이션은 사용자에게 제시될 앱이 어떻게 선택되었는지에 대한 정보와 같은 부가의 콘텍스트(context)를 사용자에게 제공하는 방식으로 서피싱될 수 있다.
애플리케이션(또는 앱)은 인기도가 성장하고 있지만, 웹 브라우저의 다수의 일반 사용자들은 이용 가능한 애플리케이션의 유형 및 수를 인지하지 못할 수 있다. 부가적으로, 사용자가 애플리케이션을 구매하더라도, 사용자는 구매에 대해 망각할 수도 있고 그리고/또는 사용자는 특정 문제점을 해결하기 위한 애플리케이션의 값을 인지하지 못할 수도 있다. 사용자에 대한 애플리케이션의 실용성 및/또는 이용 가능성을 증가시키기 위해, 사용자의 브라우징 액티비티는 제시될 애플리케이션을 식별하는데 사용될 수 있다. 애플리케이션의 이러한 제시 또는 서피싱은 사용자로부터의 검색 쿼리를 대기하지 않고 행해질 수 있다. 대신에, 사용자의 브라우징 액티비티는 모니터링될 수 있고, 잠재적으로 관련 애플리케이션은 적합한 방식으로 선택을 위해 표시될 수 있다.
사용자에 서피싱하기 위한 애플리케이션을 식별하기 위한 일 옵션은 URL과 같은 브라우저 어드레스 바에 입력된 로케이션에 기초하여 애플리케이션을 식별하는 것일 수 있다. 다른 옵션은 브라우저에 현재 뷰잉되고 있는 웹페이지의 콘텐트에 기초하여 서피싱을 위한 애플리케이션을 식별하는 것일 수 있다. 사용자에 관심이 있는 애플리케이션이 서피싱되면, 애플리케이션은 구매 및/또는 런치(launch)를 위해 사용자에 의해 선택될 수 있다. 선택적으로, 애플리케이션은 애플리케이션을 서피싱하게 하는 콘텍스트를 사용하여 런칭될 수 있다.
애플리케이션(앱)의 일반적인 설명
본 출원의 실시예는 사용자에 의해 입력된 네트워크 문서 로케이션에 대한 어드레스에 관련하는 그리고/또는 네트워크 문서의 콘텐트에 관련하는 애플리케이션을 발견하기 위한 기술을 소개한다. 용어 "애플리케이션" 및 "앱"은 본 명세서에서 상호 교환 가능하게 사용되고, 넓게는 컴퓨팅 디바이스 상에 호스팅된 운영 체제에 의해 식별되고 사용자가 단일의 또는 다수의 관련된 특정 작업을 수행하는 것을 지원하도록 설계된 애플리케이션 소프트웨어에 속한다. 동작시에, 앱은 워드 프로세싱, 게이밍, 통신 기반 인터페이스 등과 같은 실세계에서 디지털 솔루션을 제공할 수 있다. 앱의 예는 기업 소프트웨어, 회계 소프트웨어, 오피스 스위트(office suite), 그래픽 소프트웨어 및 미디어 플레이어를 포함할 수 있다. 이들 앱 또는 애플리케이션 소프트웨어는, 컴퓨터의 기능을 관리하고 통합하지만, 통상적으로 사용자에 이익이 되는 작업의 수행시에 컴퓨터의 기능을 직접적으로 적용하지 않는 운영 체제 소프트웨어 또는 미들웨어와는 대조될 수 있다. 앱의 정의는 본 명세서에 제공된 예의 범주에 한정되지 않고, 실행될 때 하나 이상의 동작을 수행하는 임의의 코드를 포함할 수 있다는 것이 이해되고 인식되어야 한다.
먼저, 본 발명의 실시예는 네트워크 어드레스(URL과 같은)에 소정 방식으로 맵핑될 수 있는 앱의 레지스트리를 구축하고 유지하는 것을 수반할 수 있다. 앱의 레지스트리는 네트워크 어드레스에 대응하는 문서에 소정 방식으로 더 맵핑될 수 있다. 이 레지스트리는 데이터 저장부에 유지될 수 있고, 검색 엔진(들) 및/또는 데이터베이스 검색 프로그램에 액세스 가능한 매니페스트(manifest)와 같은 애플리케이션 매니페스트를 통해 인덱싱될 수 있다. 네트워크 어드레스 및 대응 페이지 콘텐트의 다양한 기준 또는 속성은 하나 이상의 대응 앱을 식별하는데 사용될 수 있다. 일 경우에, 속성은 브라우저의 어드레스 바에 입력된 URL(uniform resource locator) 또는 다른 유형의 네트워크 어드레스일 수 있다. 네트워크 어드레스는 사용자가 어드레스를 타이핑할 때, 사용자가 웹페이지 상의 링크를 클릭할 때, 사용자가 어드레스의 저장된 리스트로부터 북마크를 선택할 때 입력될 수 있고 또는 어드레스는 임의의 다른 적합한 방식으로 입력될 수 있다. 다른 경우에, 기준은 이전에 앱에 관련되는 것으로 간주된 웹 콘텐트의 하나 이상의 카테고리(예를 들어, 엔티티 또는 엔티티 클래스)를 가리키는 앱 개발자에 의해 제공된 선언일 수 있다. 또 다른 경우에, 네트워크 어드레스에서의 문서의 속성은 문서의 타이틀, 서술 및/또는 메타데이터로부터 추출될 수 있고, 반면 서비스는 이들 속성과 다양한 앱 사이의 링크를 구성하는데 이용될 수 있다. 즉, 실시예에서, 단순히 네트워크 어드레스 자체로부터의 용어 및 구문을 사용하는 것에 대조적으로, 웹페이지의 콘텐트로부터의 용어(term) 또는 구문(pharase)이 관련 앱을 발견하도록 적용될 수 있다.
네트워크 어드레스 및/또는 문서를 위한 관련 애플리케이션을 식별하기 위한 일 옵션은 어드레스 또는 문서에 기초하여 관련 앱에 대한 검색 쿼리를 구축하는 것일 수 있다. 브라우징 이벤트 중에(예를 들어, 웹 브라우저의 어드레스 바의 네트워크 어드레스의 적어도 일부의 수신시에), 앱에 대한 검색 쿼리는 네트워크 어드레스 및/또는 문서로부터 단어, 구문 또는 다른 토큰을 추출함으로써 구성될 수 있다. 쿼리는 이어서 관련 앱을 발견하기 위해 애플리케이션 매니페스트에 대해 비교될 수 있다. 이 쿼리는 통상의 검색 엔진 기술을 사용하여 애플리케이션 매니페스트와 비교될 수 있고, 또는 네트워크 어드레스 및/또는 문서에 대한 애플리케이션에 대한 랭킹을 제공하는 임의의 다른 방식이 사용될 수 있다. 예로서, 도메인명 서버(DNS) 기술에 유사하게 동작하는 프로토콜이 애플리케이션을 찾아내고, 사용자의 디바이스 상에 다운로드하여 설치하는데 이용될 수 있다. 이 경우에, 프로토콜은 네트워크 어드레스 또는 기본 웹사이트로부터 파싱된(parsed) 용어 또는 구문을 이용하여, 앱을 위한 온라인 검색(예를 들어, 앱 데이터베이스, 앱 카탈로그 또는 앱 스토어)을 행하거나 또는 사용자의 디바이스 상의 설치된 앱의 인벤토리 내에 로컬 검색을 수행할 수 있다. 최고 랭킹된 앱이 이어서 사용자에게 서피싱될 수 있다. 일 실시예에서, 배치는 선택에 따라 앱을 선택하기 위한 이론적 근거에 관한 사용자를 위한 표시와 함께, 어드레스 바에 근접하여 앱의 표현을 제시하는 것을 수반할 수 있다. 다른 실시예에서, 배치는 용어 또는 구문이 콘텐트 내에서 선택될 때 웹페이지 내의 콘텐트의 상부의 팝업 윈도우 내에 앱을 노출하는 것을 수반할 수 있다. 다른 실시예들이 본 명세서에 설명되고, 이들은 브라우저 내에서 또는 더 일반적으로 GUI 내에서 앱을 사용자에게 서피싱하기 위한 방안의 비한정적인 예를 제공한다.
서피싱된 애플리케이션의 사용자 개시 선택의 검출시에, 하나 이상의 동작이 발생할 수도 있다. 예를 들어, 앱이 사용자의 디바이스의 인벤토리 내에 상주하거나 설치되어 있는 것으로서 인식되지 않으면, 사용자는 앱스토어로 리다이렉트될 수 있고, 이에 의해 사용자에게 관련 앱을 구매할 것을 촉구한다. 대안적으로, 앱스토어를 위한 인터페이스가 별도의 브라우저 윈도우 또는 탭에 제시될 수 있다. 그러나, 앱이 디바이스의 인벤토리에 열거된 것으로서(즉, 디바이스 상에 미리 설치됨) 인식되면, 앱은 자동으로 런칭될 수 있다. 이 방식으로, 사용자는 앱을 수동으로 찾아내고 시작하는 단계를 절약한다. 예시적인 실시예에서, 이들 동작은 서피싱되는 앱의 표현 부근에 시각적으로 제시되는 옵션으로서 제공될 수 있다.
앱이 런칭되는 경우에, 네트워크 어드레스 및/또는 문서의 콘텍스트는 현재 또는 미래의 사용을 위해 앱에 전달될 수 있다. 이 콘텍스트는 문서의 콘텐트, 템플레이트를 사용하여 어드레스로부터 추출된 키워드, 사용자의 브라우징 및/또는 링크-선택 이력, 사용자 프로파일 데이터 또는 다른 사용자 프로파일 정보와 같은 다양한 양태를 표현하는 파라미터로서 전달될 수 있다.
이들 파라미터가 앱에 전달될 수 있는 다양한 방식이 존재한다. 일 경우에, 파라미터는 앱의 기대치에 기초하여 맞춤화될 수 있다. 예로서, 브라우저 또는 운영 체제는 파라미터를 수신할 때 각각의 개별 앱이 선호하는 적절한 포맷을 인식할 수 있다. 네트워크 어드레스 또는 연계 메타데이터로부터 추출된 키워드와 같은 임의의 키워드가 이어서 앱의 사전 결정된 입력 구조와 대응하도록 포맷될 수 있다. 이 파싱 및 특징화 프로세스는 브라우저 또는 앱이 앱의 입력 구조의 적절한 입력 위치에 적절한 용어를 효율적으로 파퓰레이팅(populate)하는 것을 가능하게 한다.
파라미터(사용자의 검색의 콘텍스트를 표현하는)를 전달하기 위한 다양한 상이한 접근법이 설명되었지만, 앱을 입력 포인트로 안내하는 파라미터를 전달하는 다른 유형의 적합한 방식이 사용될 수 있고, 본 발명의 실시예는 본 명세서에 설명된 바와 같은 간단한 파싱, 분류 및 파퓰레이팅에 한정되는 것은 아니라는 것이 이해되고 인식되어야 한다. 예를 들어, 비즈니스의 식별자(ID)가 네트워크 어드레스 또는 문서로부터 추출되면, 비즈니스 ID와 연계된 특정화된 URL이 발견되어 앱에 제공될 수 있고, 여기서 특정화된 URL은 비즈니스에 관련된 입력 포인트에서 런칭하도록 앱을 안내할 수 있다.
어드레스 바 내의 로케이션(URL) 검출
사용자에게 제시될 애플리케이션을 식별하기 위한 일 옵션은 브라우저 어드레스 바와 같은 어드레스 바로부터의 네트워크 로케이션에 기초하여 애플리케이션을 선택하는 것일 수 있다. 여기서, 어드레스 바라는 것은 사용자가 방문 또는 브라우징하도록 의도하는 네트워크 어드레스를 사용자가 입력하게 하는 임의의 인터페이스를 칭한다. 어드레스 바는 또한 사용자가 디스플레이 필드를 수정하는 것이 불가능할 수 있을지라도, 표시되는 문서를 위한 네트워크 어드레스를 반영하는 임의의 필드를 칭한다. 네트워크 로케이션은 URL, URI, 저장 드라이브 상의 폴더에 대한 디렉토리 경로 또는 어드레스 바에 입력된 임의의 다른 유형의 텍스트일 수 있다. 어드레스 바 내의 정보는 검출되거나 캡처된 후에 사용될 수 있다. 어드레스 바로부터 로케이션 정보를 검출하기 위한 임의의 적합한 방법이 사용될 수 있다.
몇몇 환경에서, 어드레스 바 정보의 검출 및/또는 캡처는 브라우저에 의해 용이하게 될 수 있다. 예를 들어, 데스크탑 및/또는 랩탑 컴퓨터와 관련하여, Internet Explorer
Figure 112018071958812-pat00006
와 같은 브라우저가 다른 프로그램이 어드레스 바에 입력된 정보를 청취하게 하는 애플리케이션 프로그래밍 인터페이스를 제공할 수 있다. 어드레스 바에 입력된 정보는 사용자에 의해 타이핑된 정보, 사용자가 링크를 클릭할 때 어드레스 바 내에 배치된 정보, 또는 브라우저를 네트워크 어드레스로 안내하고 그리고/또는 브라우저가 액세스하고 있는 네트워크 어드레스를 반영하기 위해 어드레스 바에 나타나는 임의의 다른 정보를 포함할 수 있다. 정보가 어드레스 바에 입력될 때, 그 정보는 정보를 원하는 임의의 다른 애플리케이션 또는 프로그램에 이용 가능해질 수 있다. 이 기능성은 브라우저의 부분일 수 있고, 또는 기능성은 브라우저를 위한 플러그-인의 부분일 수 있다. 대안적으로, 운영 체제와 통합되는 브라우저는, 브라우저가 정보를 제공해야 하는 것에 대조적으로, 운영 체제가 어드레스 바 정보를 제공하도록 구조화될 수 있다. 몇몇 브라우저는 어드레스 바 내의 정보의 부분적인 입력에 기초하여 제안된 네트워크 로케이션을 제공하기 위한 기능성을 가질 수 있다는 것이 주목된다. 부분 정보에 기초하는 이들 네트워크 어드레스가 또한 캡처되어 사용자가 풀 로케이션을 타이핑하는 동안 애플리케이션을 서피싱하기 위해 사용될 수 있다.
다양한 실시예에서, 네트워크 어드레스 포맷을 갖는 하나 이상의 문자(복수의 문자들과 같은)가 어드레스 바(브라우저의 어드레스 바와 같은)에서 검출될 수 있다. 네트워크 어드레스 포맷은 대응 네트워크 로케이션을 식별하기 위해 브라우저 및/또는 검색 엔진에 의해 파싱될 수 있는 복수의 문자에 대응할 수 있다. 이는 복수의 문자가 네트워크 로케이션을 식별하도록 파싱될 수 없는 것에 대조된다. 부가적으로 또는 대안적으로, 이는 브라우저가 네트워크 어드레스에 대응하지 않는 포맷에 있는 것으로서 식별하는 복수의 문자에 대조될 수 있다. 예를 들어, 네트워크 어드레스에 대응하는 포맷은 레지스터된 방안의 초기 문자로 시작하여, 이어서 레지스터된 방안에 따라 네트워크 로케이션을 식별하는 문자로 이어진다. 레지스터된 방안은 RFC 4395에 따라 레지스터된 방안과 같은 인식된 프로토콜 하에서 레지스터된 방안을 칭할 수 있다. "http", "ftp" 및 "https" 방안이 RFC 4395에 따라 레지스터된 방안의 예이다.
부가적으로, 초기 방안 지정을 갖지 않는 복수의 문자가 또한 레지스터된 네트워크 포맷에 대응할 수 있다. 예를 들어, 다수의 사용자는 네트워크 어드레스를 입력할 때 "http"를 생략한다. 대신에, 사용자는 종종 간단히 "microsoft.com" 또는 "www.microsoft.com"과 같은 어드레스 자체를 타이핑하기 시작한다. 브라우저 어드레스 바에서, 통상의 브라우저는 방안 "http"가 이 유형의 문자 입력에 의해 암시되는 것을 인식할 수 있고, 따라서 사용자에 의한 이 유형의 문자의 입력은 또한 레지스터된 방안에 대응하는 네트워크 어드레스 포맷의 문자에 대응한다.
네트워크 어드레스 포맷을 갖는 문자는 레지스터되지 않은 개인 방안에 대조적일 수 있다. 예를 들어, 브라우저 스크립트 언어가 브라우저가 개인 포맷을 검출하게 하는데 사용될 수 있다. 개인 포맷은 피상적으로는 레지스터된 포맷과 유사할 수 있다. 대안적으로, 개인 포맷은 브라우저가 "go" 또는 "앱"과 같은 초기 키워드를 검출하게 할 수 있다. 초기 키워드의 검출시에, 브라우저는 네트워크 어드레스로서 입력된 문자를 취급하지 않는다. 대신에, 어드레스 바에 입력된 문자가 개별 또는 개인 프로토콜 핸들러에 라우팅될 수 있다.
다른 환경에서, 브라우저는 어드레스 바에 입력된 정보의 검출을 허용하는 기능을 직접적으로 제공하지 않을 수도 있다. 예를 들어, 이동 전화 및 다른 소지형(handheld) 디바이스는 때때로 더 한정된 세트의 특징을 갖는 브라우저를 포함할 수 있다. 브라우저 및/또는 운영 체제가 어드레스 바 로케이션을 청취하기 위한 기능성을 갖지 않는 환경에서, 애플리케이션은 어드레스 바에 입력된 정보를 검출하는데 사용될 수 있다. 예를 들어, 이는 "http" 로케이션에 대한 운영 체제에 의한 아웃바운드 요구를 청취함으로써 행해질 수 있다.
또 다른 옵션은 어드레스 바 내로의 정보의 입력 전, 중 또는 후에 어드레스 바 로케이션 정보를 캡처하는 것일 수 있다. 예를 들어, 사용자가 저장된 네트워크 로케이션의 리스트로부터 북마크를 선택하면, 북마크의 선택이 검출될 수 있다. 다른 옵션은 "단축된" URL에 관련할 수 있다. 다양한 서비스가 URL의 단축된 버전을 제공하기 위해 이용 가능하다. 이들 단축된 버전은 예를 들어, 긴 문자열의 타이핑이 불편한 상황에서 사용될 수 있다. 단축된 URL이 풀 로케이션으로 변환될 때, 풀 로케이션이 검출될 수 있다.
URL 파싱 및 파싱 템플레이트의 사용
어드레스 바로부터 네트워크 로케이션 정보(URL과 같은)를 캡처한 후에, 로케이션은 네트워크 로케이션과 관련된 하나 이상의 애플리케이션의 식별을 허용하도록 파싱될 수 있다. 애플리케이션은 네트워크 문서에 명시적으로 관련될 수 있고, 또는 관계가 네트워크 어드레스 및/또는 문서를 파싱한 후에 추론될 수 있다. 애플리케이션 정합 엔진(검색 엔진과 같은)이 애플리케이션을 식별할 때, 애플리케이션에 대한 식별이 브라우저에 전송될 수 있어, 애플리케이션을 위한 링크가 사용자에 서피싱될 수 있게 된다.
몇몇 네트워크 로케이션(웹사이트와 같은)은 애플리케이션과 명시적 연계성을 가질 수 있다. 이 명시적 연계성은 웹사이트로부터의 정보에 기초하거나 또는 애플리케이션으로부터의 정보에 기초할 수 있다. 예를 들어, 웹사이트를 위한 메타데이터는 웹사이트와 애플리케이션을 연계할 수 있다. 이 식별은 대응 애플리케이션을 식별하기 위해 실시간으로 사용될 수 있고, 또는 이 식별은 미리 행해지고 미래의 사용을 위해 저장될 수 있다. 애플리케이션의 리스트 및 연계된 네트워크 로케이션을 미리 저장하는 것은, 메타데이터가 다운로드되어 분석되는 것을 대기하는 것에 대조적으로, URL이 검출되자마자 연계된 네트워크 로케이션을 위한 애플리케이션이 서피싱되는 것을 허용할 수 있다. 대안적으로, 애플리케이션은 애플리케이션을 위한 메타데이터 내의 대응 웹사이트를 식별할 수 있다. 이는 애플리케이션 레지스트리와 같은 연계된 애플리케이션의 리스트 및 네트워크 로케이션을 구축하는데 유사하게 사용될 수 있다.
애플리케이션과 네트워크 로케이션 사이의 다른 유형의 연계는 네트워크 로케이션의 도메인명에 기초할 수 있다. 다수의 네트워크 로케이션은 "www.<도메인명>.com"으로 시작하는 어드레스를 갖는다. "<도메인명> 앱" 또는 "<도메인명>.com 앱"으로 명명된 애플리케이션이 이용 가능하면, 네트워크 로케이션 및 유사하게 명명된 앱이 관련되는 적당한 가능성이 존재한다. 이 관계에 기초하여, 사용자가 "www.<도메인명>.com"으로 시작하는 어드레스를 입력할 때 유사하게 명명된 애플리케이션이 서피싱될 수 있다.
상기는 잠재적으로 정합하는 애플리케이션을 식별하기 위해 어드레스 바로부터 로케이션을 파싱하기 위해 템플레이트를 사용하는 예일 수 있다. 더 일반적으로, 다양한 템플레이트가 어드레스 정보를 파싱하는데 사용될 수 있다. 다수의 URL은 인지 포맷에 합치할 수 있다. 예를 들어, URL은 종종 도메인명, ".com" 또는 ".edu"와 같은 로케이션 접미사 및 로케이션 접미사 후에 부가의 경로 정보를 포함할 수 있고, 경로 정보의 개별 부분은 하나 이상의 백슬래시 기호에 의해 분리된다. 인지된 포맷을 갖는 URL 또는 다른 어드레스는 관련 애플리케이션을 식별하려는 시도시에 하나 이상의 템플레이트를 사용하여 파싱될 수 있다.
상기 예에서, 어드레스로부터 <도메인명>을 캡처하는 것에 기초하는 단일 템플레이트가 관련 애플리케이션을 식별하는데 사용되었다. 다른 유형의 템플레이트는 백슬래시 후에 위치된 어드레스의 부분에 기초할 수 있다. URL은 도메인명, 로케이션 접미사 및/또는 백슬래시 후에 위치된 하나 이상의 용어가 애플리케이션을 식별하는 용도로 추출될 수 있도록 파싱될 수 있다. 백슬래시 후에 위치된 하나 이상의 용어는 URL의 제 1 백슬래시, 다음의 백슬래시 후에 또는 상이한 백슬래시의 조합 후에 위치될 수 있다. 더 일반적으로, 다양한 어드레스 포맷에서, 템플레이트는 애플리케이션을 식별하는데 사용을 위한 용어를 추출하기 위해 구분자로서 사용된 임의의 문자 또는 문자의 그룹을 이용할 수 있다.
예로서, 몇몇 소셜 네트워킹 사이트는 사용자가 영화에 대한 정보와 같은 다른 콘텐트와 상호 작용할 수 있게 하기 위한 인터페이스를 갖는다. 소셜 네트워크 사이트에 로그인한 사용자는 www.<소셜 네트워크>.com/<영화 정보 사이트>의 어드레스를 경유하여 이 콘텐트에 액세스할 수도 있다. 이 상황에서, 도메인명은 인지된 애플리케이션에 정합할 수도 있지만, 여기서 사용자의 의도는 영화 정보 사이트에 관련될 가능성이 더 많다. 템플레이트를 사용하여, 제 1 백슬래시 후의 키워드는 인지된 애플리케이션과 비교될 수 있다. 정합이 발견되면, 백슬래시 후의 키워드에 정합하는 애플리케이션이 서피싱될 수 있다. 더 특정 유형의 템플레이트에서, 템플레이트는 또한 어드레스의 도메인명이 인지된 소셜 네트워크 사이트 도메인에 정합하는 것을 요구할 수 있다. 부가적으로 또는 대안적으로, 도메인명에 대응하는 앱 및 영화 정보 사이트에 대응하는 앱의 모두가 사용자에 서피싱될 수 있다. 서피싱된 앱의 표시의 순서는 이하에 설명되는 바와 같이, 랭킹에 기초하여 그리고/또는 카테고리에 기초하여 제어될 수 있다.
템플레이트의 사용은 어드레스 내의 관련 용어 또는 토큰의 식별을 간단화할 수 있다. 용어 또는 토큰은 키워드라 칭할 수 있다. 키워드는 애플리케이션을 식별하는데 사용을 위한 잠재적인 개별 용어로서 식별되거나 추출된 하나 이상의 문자의 임의의 그룹일 수 있다. 키워드가 사용자가 여전히 어드레스에 입력하는 시점에 추출되면, 하나 이상의 키워드는 특정 용어를 표현할 수 있다는 것이 주목된다. 이러한 부분 용어는 임의의 적합한 방법을 사용하여 확장된 키워드를 형성하도록 확장될 수 있다. 부가적으로 또는 대안적으로, URL(또는 다른 어드레스)은 키워드 내에 파싱될 수 있고, 키워드는 검색 쿼리를 형성하는데 사용될 수 있다. 검색 쿼리는 이어서 관련 애플리케이션을 식별하기 위해 검색을 자동으로 수행하는데 사용될 수 있다. 템플레이트는 검색 쿼리를 형성하기 위해 키워드를 사용하여 조합될 수 있다는 것을 주목하라. 예를 들어, 특정 키워드 검색에 관련된 검색 엔진 페이지에 대한 네트워크 어드레스는 어드레스의 검색 용어를 포함할 수 있다. 템플레이트는 어드레스로부터 검색 용어를 추출하는데 사용될 수 있다. 검색 용어는 이어서 예를 들어 용어 "앱"을 검색에 추가함으로써, 애플리케이션을 식별하는 것에 초점을 맞춘 검색을 생성하도록 수정될 수 있다.
앱 정합을 위한 페이지 콘텐트 및 엔티티 검출
관련 애플리케이션을 식별하기 위한 다른 방법은 웹페이지의 콘텐트에 기초할 수 있다. 다양한 방법이 애플리케이션과 페이지 콘텐트를 정합하는데 사용될 수 있다. 일 예는 웹페이지에 포함된 URL 또는 다른 네트워크 어드레스를 정합하는 애플리케이션을 식별하는 것일 수 있다. 이들 URL은 사용자에 표시를 위해 관련 애플리케이션을 식별하기 위해 전술된 방식으로 분석될 수 있다. 페이지 상에 명시적으로 언급된 임의의 애플리케이션이 또한 서피싱될 수 있다.
다른 예는 키워드를 식별하기 위해 페이지의 콘텐트를 분석하는 것을 수반할 수 있다. 이는 잠재적으로 검색 엔진의 반전된 인덱스의 부분으로서 인덱싱하기 위해 페이지 콘텐트를 분석하는 것에 유사할 수 있다. 추출된 용어는 출현의 빈도, 페이지 상의 로케이션 또는 임의의 다른 적합한 특징에 기초하여 선택될 수 있다. 추출된 용어는 이어서 애플리케이션을 위한 메타데이터 내의 키워드에 정합하고 그리고/또는 애플리케이션을 위한 검색을 구성하는데 사용될 수 있다.
페이지의 콘텐트를 분석하는 것에 대한 변형예는 엔티티 검출을 위해 페이지를 분석하는 것일 수 있다. 엔티티는 엔티티가 미리 식별될 수 있는 웹 콘텐트 내에서 충분히 빈번히 검색되고 그리고/또는 만나게 되는 사람, 장소 또는 물건을 표현할 수 있다. 애플리케이션은 잠재적으로 이러한 엔티티와 연계될 수 있다. 예를 들어, 페이지는 엘비스 프레슬리와 같은 유명한 가수로부터 다수의 노래의 콘텐트를 가질 수 있으며, 가능하게는 가수의 이름을 한 번만 언급한다. 페이지의 키워드 분석은 노래에 가사를 제공하는 애플리케이션과 같은 일반적으로 음악에 관련된 애플리케이션을 제안할 수 있다. 그러나, 엔티티 검출은 가수의 노래 제목이 가수 엔티티를 식별하는데 또한 사용될 수 있다는 사실에 부분적으로 기초하여 엔티티 엘비스 프레슬리의 식별을 유도할 수 있다. 이는 가수 엔티티에 관련된 애플리케이션의 서피싱을 유도할 수 있다.
본 명세서에 사용될 때, 용어 "엔티티"는 일반적으로 키워드를 통해 적절하게 관리될 수 없는 추상적 객체를 칭한다. 즉, 추상적 개체는 사용자의 의도를 항상 타겟하지 않는 단지 키워드 정합 기술을 이용하는 것에 대조적으로, 사용자의 진정한 의도를 노출하는 사용자의 검색 이벤트의 콘텍스트를 고려한다. 이에 따라, 엔티티는 특정 온라인 서술에 의해 표현될 수 있는 논리적 객체일 수 있다. 이들 논리적 객체는 사람, 장소, 물건 또는 이들의 임의의 조합일 수 있다. 예를 들어, 논리적 객체의 몇몇 예는 특정 영화, 미국 캘리포니아주 마운틴뷰시의 카스트로 스트리트의 레스토랑, Microsoft
Figure 112018071958812-pat00007
의 CEO, 산호세로부터 시애틀까지의 앨라스카 에어라인의 비행편 #AS331 또는 디지털 카메라이다. 다양한 실시예에서, 엔티티는 미리 식별될 수 있다. 이들 사전 규정된 엔티티는 대응 연계된 특징의 리스트를 가질 수 있다. 이들 연계된 특징은 네트워크 문서가 엔티티 정보를 포함할 때를 식별하는데 사용될 수 있다.
앱 카테고리 및 랭킹
애플리케이션은 다양한 방법에 의해 네트워크 어드레스(예를 들어, URL) 및/또는 네트워크 어드레스와 연계된 문서의 콘텐트에 정합될 수 있다. 몇몇 애플리케이션은 웹사이트를 위한 "오피셜" 앱인 애플리케이션에 기인하여 적절한 정합일 수도 있다. 다른 애플리케이션은 일반적으로 웹사이트의 주제에 관련될 수 있고 높은 인기도를 갖는다. 또 다른 앱은, 집단이 표시된 앱을 갖는 권리에 대해 비용을 지불한 프로모션된 앱으로서 표시될 수 있다. 이들 애플리케이션 카테고리들 사이의 구별은 사용자에게 유리할 수 있다. 애플리케이션이 어떻게 또는 왜 웹페이지와 함께 표시되었는지의 성질을 표시하는 것은 사용자가 애플리케이션이 바람직한지 여부를 평가하는 것을 보조할 수 있다.
네트워크 어드레스에 애플리케이션을 정합하는 것은 임의의 적절한 방식으로 수행될 수 있다. 몇몇 실시예에서, 템플레이트는 키워드로서 사용할 네트워크 어드레스의 다양한 부분의 관련성을 결정하는 것을 보조하는데 사용될 수 있다. 더 일반적으로, 네트워크 어드레스를 키워드에 파싱하기 위한 임의의 적절한 방법이 사용될 수 있다. 네트워크 어드레스로부터 추출된 키워드는 정합 애플리케이션을 식별하는데 사용될 수 있다. 이는 메타데이터로서 추출된 키워드 중 하나 이상을 포함하는 애플리케이션을 식별함으로써 행해질 수 있다. 정합 키워드는 용어 빈도 - 역 문서 빈도값에 기초하여 또는 키워드를 추출하는데 사용된 템플레이트에 기초하여 선택적으로 가중될 수 있다.
통상의 네트워크 어드레스에 대한 통상의 문서 내에는 더 대량의 콘텐트가 있기 때문에 문서의 콘텐트에 애플리케이션을 정합하는 것이 더 많이 수반될 수 있다. 임의의 적절한 전략이 문서 콘텐트를 애플리케이션에 정합하는데 사용될 수 있다. 예를 들어, 애플리케이션과 전체 문서 콘텐트의 정합을 위해, 문서에 대한 대표적인 키워드의 리스트가 생성될 수 있다. 대표적인 키워드는 검색을 위한 문서를 인덱싱하기 위해 사용된 통상의 팩터와 같은 다양한 팩터에 기초하여 선택될 수 있다. 따라서, 대표적인 키워드는 키워드의 발생의 빈도, 용어 빈도 - 키워드에 대한 역 문서 빈도값, 문서 내의 키워드의 로케이션(예를 들어, 타이틀, 첫번째 라인)에 기초하는 가중 팩터 또는 다른 팩터에 부분적으로 기초할 수 있다. 대표적인 키워드는 이어서 애플리케이션과 정합을 식별하는데 사용될 수 있다. 문서 콘텐트에 기초하는 다른 정합이 문서 내의 엔티티의 식별에 기초할 수 있다. 엔티티는 이어서 관련 애플리케이션을 식별하는데 사용될 수 있다. 문서의 가시적인 부분에 정합하기 위해, 정합은 통상적으로 실시간으로 이루어질 것이다. 이를 용이하게 하기 위해, 문서의 가시적 부분에 대한 정합은 예를 들어 애플리케이션의 명시적인 언급에 기초하는 정합에 애플리케이션 정합을 제한함으로써 몇몇 실시예에서 제한될 수 있다. 문서의 가시적 부분에 정합을 위한 다른 옵션은 총 페이지 콘텐트에 대한 애플리케이션을 위한 랭킹값의 리스트를 결정하는 것일 수 있다. 소정의 시간에 디스플레이 디바이스에서 가시화하는 콘텐트는 이어서 랭킹된 애플리케이션의 서브셋에 비교될 수 있는데, 예를 들어 단지 전체 페이지 콘텐트에 기초하여 상위 10개의 랭킹된 애플리케이션에만 비교된다. 또 다른 옵션은 문서의 가시적 부분 내에 검출된 엔티티에 기초하는 정합에 애플리케이션 정합을 제한하는 것일 수 있다.
다양한 실시예에서, 애플리케이션은 애플리케이션의 선택 및/또는 표시의 부분으로서 카테고리와 연계될 수 있다. 일 옵션은 애플리케이션의 표시를 보조하기 위해 카테고리를 사용하는 것일 수 있다. 하나 이상의 애플리케이션이 표시를 위해 적합한 것으로서 선택된 후에, 애플리케이션은 카테고리와 연계될 수 있다. 애플리케이션을 위한 아이콘 또는 링크의 표시의 방식은 카테고리를 지시할 수 있다. 예를 들어, 애플리케이션의 카테고리는 아이콘 또는 링크 주위의 경계를 위한 컬러에 기초하여 지시될 수 있다. 다른 옵션은 사용자가 애플리케이션 위에 마우스 포인터를 호버링(hover)할 때 팝업 정보 박스로서 이용 가능한 카테고리 정보를 갖는 것일 수 있다. 또 다른 옵션은 카테고리의 지시기로서 애플리케이션의 표시의 로케이션을 사용하는 것일 수 있다.
부가적으로 또는 대안적으로, 카테고리는 표시를 위한 애플리케이션의 선택을 보조하는데 사용될 수 있다. 이 유형의 문서에서, 잠재적으로 표시될 수도 있는 애플리케이션은 카테고리와 연계될 수 있다. 사용자에 서피싱된 애플리케이션은 이어서 각각의 카테고리로부터의 상위 애플리케이션 또는 애플리케이션들이 선택될 수 있도록 선택될 수 있다. 연계를 용이하게 하기 위해, 웹페이지에 대한 애플리케이션의 초기 랭킹이 수행될 수 있다. 제 1 임계치 초과의 랭크를 갖는 애플리케이션이 이어서 카테고리와 연계될 수 있다. 각각의 카테고리로부터의 애플리케이션의 선택은 이어서 동일한 임계치에 기초할 수 있고, 또는 다른 임계치 및/또는 다른 기준이 사용될 수 있다. 선택적으로, 이는 사용자에 서피싱되지 않는 다른 애플리케이션보다 하위에 랭킹된 몇몇 애플리케이션의 표시를 야기할 수 있다. 예를 들어, 일 카테고리 내의 상위 랭킹된 애플리케이션이 표시될 수 있지만, 다른 카테고리에서 표시되지 않은 애플리케이션보다 하위 랭킹 스코어를 여전히 가질 수 있다.
임의의 적절한 수 또는 유형의 카테고리가 애플리케이션을 카테고리와 연계할 때 사용될 수 있다. 카테고리의 일 예는 "오피셜" 앱을 위한 카테고리일 수 있다. 이 카테고리는 웹사이트에 의해 명시적으로 언급되는 그리고/또는 웹사이트에 대응하는 애플리케이션인 것으로서 웹사이트를 위한 메타데이터에 명시적으로 언급된 애플리케이션을 표현할 수 있다. 선택적으로, 이 유형의 카테고리는 또한 애플리케이션의 명칭이 웹사이트의 도메인명에 정합하는 애플리케이션을 포함할 수 있다.
다른 유형의 카테고리는 콘텍스트 애플리케이션을 위한 카테고리일 수 있다. 콘텍스트 애플리케이션은 웹 로케이션에서 네트워크 어드레스 및/또는 콘텐트의 하나 이상의 특징에 기초하여 웹 로케이션에 정합하는 애플리케이션에 대응할 수 있다. 콘텍스트 관계는 직접 관계 또는 간접 관계일 수 있다. 직접 콘텍스트 관계는 로케이션 또는 콘텐트의 특징에 직접 기초하여 웹 문서에 정합하는 애플리케이션에 대응할 수 있다. 일 예는 URL을 파싱하기 위해 템플레이트를 사용하는 것에 기초하여 웹사이트에 정합되는 애플리케이션일 수 있다. 애플리케이션의 명칭이 예를 들어 URL 내의 백슬래시 후의 용어들 중 하나에 대응하면, 애플리케이션은 직접 콘텍스트 관계를 가질 수 있다. 대안적으로, 애플리케이션에 대한 메타데이터의 부분으로서 웹사이트를 지정하는 애플리케이션은 직접 콘텍스트 관계를 가질 수 있다. 또 다른 예는 웹사이트가 가수와 같은 엔티티와 연관되는 것으로 판정되는 웹사이트일 수 있다. 직접 콘텍스트 관계를 갖는 애플리케이션은 가수에 관련된 앱일 수 있다. 대조적으로, 일반적으로 음악 또는 음악 가사에 대한 애플리케이션은 간접 콘텍스트 관계를 갖는 애플리케이션으로서 고려될 수 있다. 더 일반적으로, 앱이 서피싱될 수 있는 웹사이트에 충분히 관련되지만 웹 로케이션에 특정 관계가 결여되어 있는 다른 애플리케이션이 간접적인 콘텍스트 관계를 갖는 것으로서 고려될 수 있다.
애플리케이션에 대한 또 다른 유형은 추천된 카테고리일 수 있다. 추천된 카테고리는 브라우저 또는 다른 구성요소에 의해 제공된 앱 추천에 대응할 수 있다. 예를 들어, 일반적으로 영화에 대한 것인 웹사이트는 간접 콘텍스트 애플리케이션으로서 고려될 수 있는 다수의 영화 관련 앱을 가질 수 있다. 랭킹 방안이 사용되면, 영화 관련 앱들 중 하나는 최고 레이팅으로 고려될 수 있다. 이는 앱의 전체 인기도에 기초하여 또는 어떻게 영화 관련 앱들이 웹사이트에 대해 랭킹되는지의 상세에 기초할 수 있고, 또는 다른 기준이 사용될 수 있다. 이 최고 레이팅 앱은 사용자가 대응 웹 로케이션에 액세스할 때 추천된 것으로 제공될 수 있다.
또 다른 유형의 카테고리는 연계된 애플리케이션 카테고리일 수 있다. 연계된 애플리케이션은 현재의 웹사이트의 콘텐트에 관련되지 않았지만, 사용자가 통상적으로 현재 유형의 웹사이트와 함께 액세스하는 앱을 표현할 수 있다. 예를 들어, 이전의 네트워크 트래픽의 분석은 영화 티켓 웹사이트에 액세스하는 사용자가 레스토랑 예약 웹사이트에 또한 방문하는 가능성이 있다는 것을 지시할 수 있다. 레스토랑 예약 앱은 사용자가 영화 티켓 구매를 취급하는 웹사이트에 방문할 때 연계된 앱으로서 표시될 수 있다.
또 다른 유형의 카테고리는 프로모션된 애플리케이션을 위한 카테고리일 수 있다. 프로모션된 애플리케이션은 앱을 위한 광고의 형태를 제시할 수 있다. 프로모션된 애플리케이션은 제 3 집단이 애플리케이션을 서피싱하기 위한 수수료를 지불하는 것을 동의할 때 사용자에 서피싱될 수 있다. 몇몇 상황에서, 프로모션된 애플리케이션은 특정 웹사이트가 방문될 때 표시될 수 있다. 다른 유형의 프로모션 방안은 특정 유형의 콘텐트를 갖는 웹사이트가 방문될 때 애플리케이션을 표시하는 것을 수반할 수 있다. 임의의 다른 적절한 상관이 또한 앱을 위한 링크 또는 아이콘의 표시의 댓가로 수수료를 지불하기 위해 제 3 집단에 의한 동의에 기초하여 프로모션된 앱을 표시하기 위해 또한 사용될 수 있다.
애플리케이션은 잠재적으로 하나 초과의 카테고리와 연계될 수 있다는 것이 주목된다. 이 상황에서, 애플리케이션과 연계를 위한 카테고리는 임의의 적절한 방식으로 선택될 수 있다. 예를 들어, 앱을 위한 최고 스코어를 야기하는 카테고리가 선택될 수 있고, 또는 애플리케이션이 계층에서 최고인 카테고리에 할당되도록 하는 카테고리의 계층이 존재할 수 있다.
관련 앱의 그룹을 식별할 때, 식별된 앱은 정보를 분류하고 그리고/또는 편성하는데 사용될 수 있는 임의의 메트릭(metric)에 따라 랭킹될 수 있다. 일반적으로, 이는 인기도가 다양한 소스로부터 유도될 수 있는 앱의 인기도와 같은 메트릭을 사용하여 다른 앱에 관련하여 앱을 랭킹하는 것을 수반할 수 있다. 랭킹을 위해 사용된 이들 소스는 소셜 네트워크, 다른 사용자로부터의 추천, 크라우드-소스 레이팅 및 리뷰와 같은 특정 서비스를 포함할 수 있다. 랭킹의 설정시에, 최고 랭킹 앱(예를 들어, 특정 레벨의 관련성)에 앱의 수를 한정하는 임계치가 구현될 수 있다. 일 경우에, 임계치는 앱을 위한 검색-결과 페이지에 할당된 공간에 부분적으로 기초한다. 몇몇 실시예에서, 어떠한 애플리케이션도 충분히 높은 랭킹을 갖지 않으면, 어떠한 앱도 그 네트워크 어드레스/페이지에 대해 서피싱되지 않는다. 부가적으로 또는 대안적으로, 앱의 평가는 카테고리에 의해서일 수 있다. 카테고리가 충분히 높은 랭킹을 갖는 애플리케이션을 포함하지 않으면, 어떠한 앱도 그 카테고리에 대해 표시되지 않을 수 있다.
필터링을 경유하는 앱 개인화
다양한 실시예에서, 사용자에 서피싱된 애플리케이션은 표시된 애플리케이션을 개인화하기 위해 하나 이상의 팩터에 기초하여 필터링될 수 있다. 필터링은 사용자 프로파일, 사용자 로케이션, 애플리케이션과의 상호 작용의 이전의 이력 또는 이들의 조합에 기초하여 수행될 수 있다.
사용자 프로파일은 서피싱을 위한 애플리케이션을 필터링하는데 사용될 수 있다. 사용자의 가능성 있는 관심이 사용자에 더 관련성이 있는 애플리케이션을 선택하는데 사용될 수 있다. 애플리케이션을 필터링하기 위해 유용할 수 있는 몇몇 프로파일 정보는 콘텍스트 기반 검색 결과를 서피싱하기 위해 사용된 정보에 유사할 수 있다. 이는 사용자의 연령, 성별, 직업, 관심에 대한 정보 또는 사용자 프로파일에 이용 가능할 수도 있는 임의의 다른 정보를 포함할 수 있다. 다른 정보는 사용자의 과거 브라우징 액티비티에 관련된 정보를 포함할 수 있다. 사용자에 의해 빈번히 방문되고 그리고/또는 사용자에 의해 북마크되어 있는 웹사이트와 연계된 애플리케이션은 다른 애플리케이션에 비해 우선순위가 제공될 수 있다. 또 다른 사용자 프로파일 정보는 현재 브라우징 세션 내에 방문된 웹 로케이션과 같은 최근의 브라우징 이력에 기초할 수 있다.
또 다른 종류의 프로파일 정보는 시간적 정보일 수 있다. 시간적 정보는 서피싱을 위한 애플리케이션의 유형에 관한 부가의 콘텍스트를 제공하기 위해 로케이션 정보와 조합될 수 있다. 예를 들어, 사용자가 해안 도시로부터 여름에 낮시간 동안에 날씨 관련 웹사이트에 방문할 때, 조건을 서피싱하기 위한 애플리케이션이 일반적인 날씨를 위한 애플리케이션에 부가하여 서피싱될 수 있다. 어두워진 후에 동일한 웹사이트를 방문하는 것은 더 하위의 랭킹을 수용하는 서프 보고서를 야기할 수 있다. 다른 예로서, 사용자가 도시권역에서 낮시간 동안 레스토랑 리뷰 웹사이트에 방문할 때, 트래픽 조건을 위한 연계된 애플리케이션이 서피싱될 수 있다. 저녁시간 동안 동일한 검색은 대신에 택시를 잡기 위한 애플리케이션 또는 극장쇼 또는 다른 소셜 액티비티를 위한 애플리케이션에 더 상위의 랭킹을 제공할 수 있다.
모바일 디바이스에 대해, 사용자 로케이션 정보는 상이한 로케이션을 위한 상이한 프로파일의 형태로 합체될 수 있고 사용자 프로파일로부터의 사용자 로케이션이 더 높은 우선순위가 제공될 수 있다. 일 장소에서 통상적으로 사용되는 데스크탑 컴퓨터 또는 다른 컴퓨팅 플랫폼은 디바이스와 연계된 단일 물리적 로케이션을 가질 수 있다. 그 결과, 물리적 로케이션은 사용자 프로파일의 정적부일 수 있다. 그러나, 모바일 디바이스는 다양한 물리적 로케이션에서 사용될 수 있다. 모바일 디바이스가 GPS 기능과 같은 현재 로케이션을 검출하기 위한 방법을 가지면, 현재의 물리적 로케이션 정보는 대안적인 프로파일로부터 선택하는데 사용될 수 있다. 예를 들어, 사용자는 사용자가 통상적으로 방문하는 홈 로케이션, 직장 로케이션, 학교 로케이션 또는 다른 물리적 로케이션과 연계된 프로파일을 규정할 수 있다. 사용자가 네트워크 사이트를 브라우징할 때, 모바일 디바이스는 현재 물리적 로케이션을 검출하고 대응 프로파일을 선택할 수 있다. 부가적으로 또는 대안적으로, 다수의 표준 사용자 프로파일 정보 세트는 어떻게 애플리케이션이 로케이션에 기초하여 서피싱을 위해 랭킹되는지를 수정하는데 사용될 수 있다. 예를 들어, 모바일 디바이스가 쇼핑몰에 또는 부근에 있는 것으로서 검출될 때, 쇼핑 또는 가격 비교에 관련된 애플리케이션은 더 상위의 랭킹이 제공될 수 있다. 모바일 디바이스가 레스토랑 부근에 있는 것으로서 검출될 때, 레스토랑 리뷰에 관련된 애플리케이션이 더 상위의 랭킹이 제공될 수 있다. 몇몇 실시예에서, 물리적 로케이션 정보를 검출하는 것은 사용자에 통상적으로 프로파일 정보를 오버라이드하는데 사용될 수 있다. 미국 워싱턴주 시애틀에 거주하는 사용자는 사용자의 프로파일에 저장된 대응 위치를 가질 수 있다. 모바일 디바이스가 미국 캘리포니아주 로스앤젤레스와 같은 다른 도시에 있는 것으로서 검출될 때, 사용자의 프로파일로부터 로케이션의 상대 랭킹 중요도가 감소될 수 있어, 현재 로케이션에 관련된 애플리케이션이 디폴트 홈 로케이션에 관련된 애플리케이션에 우선하여 서피싱될 수 있게 된다.
다른 필터링 옵션은 서피싱을 위해 앱을 선택하는데 있어서 애플리케이션과 사용자의 과거의 상호 작용을 합체하는 것일 수 있다. 이 유형의 필터링은 다양한 팩터를 포함할 수 있다. 일 옵션은 사용자가 미리 구매한 임의의 관련 애플리케이션을 사용자에게 우선적으로 서피싱하는 것일 수 있다. 이는 사용자가 인식하지 못한 부가의 기능을 가질 수 있는 애플리케이션을 사용자에 리마인드할 수 있다. 다른 옵션은 애플리케이션을 위한 미리 서피싱된 링크와의 사용자의 상호 작용에 관련될 수 있다. 애플리케이션이 애플리케이션을 구매하고 그리고/또는 다운로드하는 사용자 없이 임계 횟수 초과로 사용자에 서피싱되어 있으면, 이는 사용자가 애플리케이션에 낮은 관심을 갖는다는 지시일 수 있다. 이 애플리케이션에 대한 랭킹은 낮아질 수 있고, 따라서 다른 애플리케이션이 서피싱될 수 있다. 대안적으로, 사용자가 서피싱된 애플리케이션을 구매하고 그리고/또는 액세스할 때, 관련된 것으로 고려되는 임의의 애플리케이션이 더 상위의 랭킹이 제공될 수 있다. 애플리케이션들 사이의 관계는 유사한 주제를 다루는 애플리케이션에 기초할 수 있고, 애플리케이션은 동일한 제작자에 의해 제공되고, 애플리케이션은 특정 네트워크 웹사이트와의 연계 또는 임의의 다른 적절한 유형의 관계를 갖는다.
또 다른 유형의 필터링은 사용자에 의해 구매된 애플리케이션과 연관된 플랫폼에 기초할 수 있다. 사용자가 특정 운영 체제 또는 디바이스 유형과 연계된 애플리케이션을 미리 구매하고 있으면, 그 운영 체제 또는 디바이스 유형에 적합한 애플리케이션이 더 상위의 랭킹을 제공받을 수 있다.
뷰잉 향상: 앱 디스플레이 클러스터 및 프리페칭
다양한 실시예에서, 애플리케이션이 사용자에 서피싱을 위해 선택된 후에, 애플리케이션을 위한 링크를 표시함으로써 서피싱될 수 있다. 링크는 사용자가 링크 상의 선택 동작을 수행할 수 있게 하는 텍스트, 아이콘 또는 임의의 다른 유형의 특징의 형태일 수 있다. 링크는 임의의 적절한 방식으로 표시될 수 있다. 충분한 디스플레이 영역을 갖는 디바이스에 대해, 애플리케이션 링크 또는 아이콘은 브라우저의 부분으로서 링크를 표시함으로써 서피싱될 수 있다. 예를 들어, 서피싱된 애플리케이션을 위한 링크는 브라우저를 위한 어드레스 바 아래, 위 또는 다른 부근에 하나 이상의 행으로 표시될 수 있다. 행(또는 열) 내의 애플리케이션의 표시의 순서는 웹 로케이션에 대한 애플리케이션의 관계를 지시할 수 있다. 따라서, 앱 표시 행 내의 제 1 로케이션은 웹사이트를 위한 "오피셜" 앱에 대응할 수 있고, 제 2 로케이션은 콘텍스트 앱에 대응할 수 있고, 제 3 로케이션은 추천된 앱일 수 있다. 부가적으로 또는 대안적으로, 링크 또는 아이콘은 웹사이트에 대한 애플리케이션의 관계를 지시하기 위해 연계된 컬러를 갖고 표시될 수 있다. 예를 들어, 아이콘 또는 링크는 "오피셜" 앱, 추천된 앱, 연계된 앱 또는 다른 유형의 앱 카테고리를 지시하는 컬러의 주위 경계를 가질 수 있다.
하나 이상의 애플리케이션을 사용자에게 서피싱하는 것이 유리할 수 있지만, 때때로 가능한 한 많은 앱을 사용자에게 여전히 제공하면서 앱을 서피싱하기 위해 사용된 디스플레이 영역의 양을 제한하는 것이 바람직할 수 있다. 디스플레이 공간의 양을 감소시키면서 사용자에 서피싱된 앱의 수를 증가시키기 위한 일 옵션은 애플리케이션의 그룹을 위한 링크 또는 아이콘을 표시하는 것일 수 있다. 애플리케이션의 그룹을 위한 링크가 주제에 의해 관련된 애플리케이션의 그룹에 대응할 수 있다. 대안적으로, 애플리케이션의 그룹은 웹사이트에 대한 애플리케이션의 관계 카테고리에 기초할 수 있다. 또 다른 애플리케이션 그룹화는 예를 들어 제 1 그룹에 첫번째 5개의 최고 랭킹된 애플리케이션을 갖고, 다음에 제 2 그룹에 다음의 5개를 갖는 등과 같이 임의적일 수 있다. 몇몇 실시예에서, 앱의 그룹을 표현하는 링크 또는 아이콘은 링크에 의해 표현된 앱의 수의 지시를 포함할 수 있다.
애플리케이션의 그룹을 위한 링크가 액세스될 때, 링크는 임의의 적절한 방식으로 확장될 수 있다. 그룹 내의 개별 애플리케이션을 위한 링크 또는 아이콘은 현재 브라우저 또는 새로운 브라우저 또는 팝업 윈도우에 표시될 수 있다. 아이콘의 그룹을 위한 링크를 선택하는 것은 다른 애플리케이션을 위한 아이콘이 제거될 수 있게 하고, 또는 애플리케이션 링크가 개별 아이콘 내로의 그룹의 확장을 수용하도록 표시되는 영역에서 부가의 공간이 생성될 수 있다.
애플리케이션을 서피싱하는 것에 관련된 사용자 경험을 향상시키기 위한 다른 방법은 잠재적인 애플리케이션 정보의 프리페칭일 수 있다. 모바일 컴퓨팅 디바이스는 이용 가능한 네트워크의 유형에 따라, 다양한 레벨의 접속 속도를 가질 수 있다. 비교적 높은 속도를 갖는 접속이 검출될 때, 애플리케이션 정보는 미리 다운로드될 수 있다. 예를 들어, 사용자는 브라우징 세션 중에 일련의 웹 로케이션을 규칙적으로 방문하는 패턴을 가질 수 있다. 시리즈로부터 일 위치가 사용자에 의해 액세스되어 있는 것을 검출한 후에, 다른 웹 로케이션을 위한 관련 애플리케이션 정보가 프리페칭될 수 있다.
부가의 표시 옵션
실시예에 따라, 다양한 방법은 웹 로케이션에 관련된 애플리케이션을 위한 링크를 표시하는데 사용될 수 있다. 전술된 바와 같이, 하나 이상의 링크가 어드레스 바 위 또는 아래와 같은, 브라우저를 위한 어드레스 바 부근에 표시될 수 있다. 다른 옵션은 웹페이지의 부분 또는 수정으로서 링크를 표시하는 것일 수 있다. 링크는 앱과의 관계를 유도하는 웹페이지의 부분에 표시될 수 있다. 예를 들어, 다양한 앱의 리뷰를 제공하는 웹페이지는 각각의 리뷰된 앱을 위한 링크를 포함하도록 디스플레이를 위해 수정될 수 있다. 링크는 페이지 상의 각각의 리뷰된 앱의 첫번째 언급 부근에 위치될 수 있다.
다른 실시예에서, 애플리케이션(또는 애플리케이션의 그룹)을 위한 링크는 어드레스 바에 포함될 수 있다. 가능한 로케이션은 어드레스 바 내에 제시된 마지막 심벌로서 링크(아이콘과 같은)를 포함할 수 있다. 이 유형의 실시예에서, 링크는 "오피셜" 앱이 페이지에 대해 이용 가능할 때 어드레스 바 내에 포함될 수 있다. 다른 옵션은 웹 로케이션과 연계된 최고 랭킹된 앱을 위한 어드레스 바 내의 링크를 포함하는 것일 수 있다. 또 다른 옵션은 앱의 그룹을 위한 링크로서 어드레스 바 내의 또는 부근의 뱃지와 같은 아이콘을 사용하는 것일 수 있다. 링크에 액세스하는 것은 이어서 개별 앱을 위한 링크 또는 아이콘을 포함하는 개별 윈도우를 런칭할 수 있고, 또는 개별 앱 링크는 브라우저의 프레임에 표시될 수 있다.
또 다른 실시예에서, 애플리케이션 링크를 표시하기 위해 이용 가능한 공간의 양은 제한될 수 있다. 예를 들어, 다수의 모바일 디바이스는 제한된 표시 영역을 갖는 스크린을 갖는다. 이러한 실시예에서, 앱이 액세스 가능하게 하기 위한 일 옵션은 관련 애플리케이션이 이용 가능한 디스플레이 상의 지시기를 제공하는 것일 수 있다. 키 입력 또는 터치 제스처가 이어서 애플리케이션의 표시를 유도하는데 사용될 수 있다. 예를 들어, 터치 및 드래그 모션(페이지의 전환을 시뮬레이팅함)이 표시된 뷰를 "플립 오버(flip over)"하게 하는데 사용될 수 있다. 이 페이지의 외관상 플립 사이드는 웹 위치에 관련된 하나 이상의 애플리케이션을 표시할 수 있다. 대안적으로, 애플리케이션을 포함하는 새로운 페이지가 슬라이드해서 보기, 확장해서 보기로 나타나거나 또는 임의의 다른 적절한 방식으로 나타날 수 있다.
예: 웹페이지 브라우징 중에 앱 표시
이하의 예는 본 발명의 실시예에 따른 애플리케이션의 서피싱을 설명한다. 본 예에서 설명된 실시예의 유형에서, 사용자에 서피싱된 애플리케이션은 사용자가 단일 네트워크 로케이션에서 페이지를 뷰잉하려고 시도함에 따라 다수회 리프레시될 수 있다. 본 예는 "www.reststops.org"의 네트워크 어드레스를 갖는 가상 웹사이트로의 액세스를 설명할 것이다. 이러한 사이트가 존재하면, 미국의 주간 고속도로 상의 휴게소에서 이용 가능한 서비스를 설명하는 웹사이트일 수 있다.
본 예에서, 사용자는 범용 컴퓨팅 디바이스를 동작시킨다. 컴퓨팅 디바이스는 데스크탑 컴퓨터, 전화기와 같은 소지형 모바일 디바이스 또는 네트워크에 액세스하는 것이 가능한 다른 유형의 컴퓨팅 디바이스일 수 있다. 사용자는 열려 있는 브라우저를 가질 수 있다. 사용자는 차량에 의해 국토 횡단 여행을 위한 몇몇 계획에 참여하기로 결정하고, 주간 고속도로에서 이용 가능한 리소스를 조사하기를 원한다. 사용자는 네트워크 어드레스 "www.restshop.org"를 타이핑 입력하기 시작한다. 사용자가 "www.rest"를 타이핑 입력함에 따라, 어드레스의 처음의 문자들이 이들이 어드레스 바에 입력된 것으로 검출된다. 어드레스의 자동 완성을 위한 알고리즘에 기초하여, 도메인명의 시작부로서 단어 "레스토랑"을 포함하는 네트워크 어드레스가 제안된다. 사용자는 또한 레스토랑 예약을 위한 애플리케이션을 미리 구매하고 있다. 이 미리 구매된 애플리케이션을 위한 링크는 어드레스 바 아래의 공간에 표시되어 있다. 링크는 흑색 텍스트로 표시되어, 이전에 구매된 애플리케이션인 것을 사용자에 지시한다. 레스토랑의 자동 완성 추측 및 레스토랑 관련 애플리케이션을 구매한 사용자의 이전의 이력에 기초하여, 레스토랑 리뷰 애플리케이션을 위한 아이콘이 또한 표시된다. 아이콘의 좌측에는 달러 기호 아이콘이 있다. 본 예에서, 달러 기호는 애플리케이션이 구매될 필요가 있음을 지시한다. 달러 기호 및 아이콘은 이것이 추천된 애플리케이션인 것을 지시하기 위해 녹색 컬러로 표시된다. 본 예에서, 애플리케이션은 레스토랑과 관련된 가장 인기 있는 애플리케이션인 애플리케이션에 기초하여 추천된다.
상기 내용은 사용자가 네트워크 어드레스의 나머지 부분에 타이핑 입력할 때 발생할 수 있다. 사용자가 풀 도메인명을 타이핑 입력하는 것을 완료할 때, 도메인명은 관련 애플리케이션을 식별하는데 사용된다. "휴게소"에 정합하는 오피셜 애플리케이션은 알려져 있지 않다. 그러나, 네트워크 사이트 상관에 대한 애플리케이션의 데이터베이스의 2개의 애플리케이션은 메타데이터의 키워드로서 "휴게소" 또는 "휴게 소"를 갖는다. 애플리케이션과 연계된 메타데이터에 대한 이 도메인 정합에 기초하여, 2개의 애플리케이션은 콘텍스트 애플리케이션으로서 식별된다. 애플리케이션에 대한 링크는 콘텍스트 관계를 지시하기 위해 청색으로 표시된다. 이들 앱은 구매되어 있지 않기 때문에, 달러 기호 아이콘이 링크의 부분으로서 포함된다.
본 예에서, "www.reststops.org"에 대응하는 페이지는 미리 크롤링되고 인덱싱되어 있다. 페이지가 브라우저 내에 아직 로딩되어 있지 않더라도, 페이지의 콘텐트에 기초하는 애플리케이션이 이전의 인덱싱에 기초하여 서피싱될 수 있다. 페이지 콘텐트에 기초하여, 주간 고속도로 맵에 관련된 다양한 부가의 애플리케이션은 또한 잠재적인 콘텍스트 애플리케이션으로서 식별된다. 5개의 최고 레이팅된 콘텍스트 애플리케이션이 어드레스 바 아래에 표시를 위해 선택된다. 부가적으로, 주유소를 위치 확인하기 위한 프로모션된 애플리케이션에 대한 링크가 적색으로 표시된다. 레스토랑 애플리케이션에 관련된 링크 및 아이콘이 또한 제거된다.
페이지 콘텐트가 로딩된 후에, 부가의 애플리케이션이 디스플레이를 위해 식별될 수 있다. 브라우저 내의 현재 페이지의 부분은 주간 고속도로 시스템의 맵을 포함하는 웹사이트로의 링크를 포함한다. 이 링크에 대한 도메인명은 식별되어 있는 주간 고속도로 애플리케이션 중 하나에 대한 명칭에 정합한다. 주간 고속도로 맵에 관련된 정합 애플리케이션을 위한 아이콘은 어드레스 바 아래의 디스플레이 위치로부터 이동되어 페이지 콘텐트 내의 웹사이트 링크에 인접하여 배치될 수 있다. 사용자는 이어서 페이지를 스크롤 다운하고, 또는 문서의 부가의 부분을 드러내도록 브라우저 내에 페이지의 콘텐트를 번역한다. 이는 와이오밍의 휴게소에 존재하는 특정 특징의 설명을 포함하는 부가의 콘텐트를 드러낸다. 이 와이오밍에 대한 포커스는 엔티티로서 "와이오밍"의 검출을 생성한다. 그 결과, 와이오밍의 관광에 관련된 애플리케이션을 위한 링크가 웹페이지의 가시적 부분에 와이오밍의 제 1 인스턴스 부근에 표시된다. 이 실시예에서, 와이오밍 애플리케이션의 전체 랭킹은 와이오밍 앱에 대한 링크 또는 아이콘이 일반적으로 어드레스 바 아래의 영역에 표시되게 하지 않는다. 대신에, 와이오밍 앱은 단지 대응 주제가 브라우저에 가시화될 때에만 표시된다. 대안적으로, 브라우저 내에 가시화된 자료를 갖고 표시되는 임의의 애플리케이션은 연계된 자료가 현재 가시화되지 않을 때의 시간 중에 다른 영역에 표시될 수 있다. 와이오밍 관광 애플리케이션에 대한 아이콘의 새로운 표시에 부가하여, 페이지를 스크롤 다운하는 것은 주간 고속도로 맵이 더 이상 웹 문서의 표시된 부분 내에 가시화되지 않게 한다. 그 결과, 주간 고속도로 시스템에 관련된 앱은 어드레스 바 아래의 영역으로 재차 이동된다.
예: 앱 디스플레이 카테고리 및 클러스터
휴게소에 관한 웹페이지의 리뷰를 완료한 후에, 사용자는 지역 커피숍에 방문하도록 결정한다. 사용자는 전화기 또는 태블릿 크기 디바이스와 같은 모바일 컴퓨팅 디바이스를 소지한다. 커피숍에 있는 동안, 사용자는 디바이스 상의 브라우저를 사용하여 (가상의) 소셜 네트워킹 사이트 "www.contact-my-friends.com"에 액세스한다. 사용자가 네트워크 어드레스를 타이핑 입력할 때, 초기에 소셜 네트워킹 사이트에 대응하는 오피셜 앱이 식별된다. 사이트에 대한 오피셜 앱이 이용 가능하다는 것을 지시하는 아이콘이 어드레스 바의 네트워크 어드레스 옆에 표시된다.
소셜 네트워킹의 특징은 상이한 음악 아티스트가 매주 프로모션되는 것이다. 프로모션은 때때로 음악의 구매의 할인을 포함하여, 따라서 사용자가 링크를 클릭함으로써 사이트의 프로모션된 음악 영역을 방문한다. 이는 소셜 네트워킹 사이트의 정규적인 특징이기 때문에, 링크는 네트워크 주소 "www.contact-my-friends.com/featuredartist"의 액세스를 야기한다. 템플레이트에 기초하여, 이 경로는 소셜 네트워크 사이트의 프로모션된 음악 섹션인 것으로서 인식된다. 소셜 네트워크 사이트는 특징화된 아티스트 프로모션과 연계된 개별 애플리케이션을 갖는다. 그 결과, 오피셜 링크를 위한 아이콘이 특징화된 아티스트 애플리케이션을 반영하도록 수정된다.
특징화된 아티스트 페이지의 콘텐트에 기초하여, 다른 애플리케이션은 충분히 높은 랭킹을 갖고, 따라서 링크는 이들 충분히 높은 랭킹 애플리케이션에 대해 서피싱될 수 있다. 그러나, 모바일 디바이스 상에 이용 가능한 제한된 디스플레이 공간에 기인하여, 잔여 애플리케이션들은 애플리케이션 카테고리를 위한 링크 또는 아이콘을 경유하여 사용자에 제공되거나 서피싱된다. 특징화된 아티스트는 엔티티 및/또는 엔티티에 의해 수행된 노래에 관련된 애플리케이션의 제 1 그룹의 식별을 야기하는 엔티티로서 인식된다. 이들 엔티티 관련 애플리케이션은 단일 링크에 의해 표현된다. 이 링크는 엔티티 기반 애플리케이션이 임의의 적절한 방법에 의해 표현되는 것을 지시할 수 있다. 다른 아이콘이 노래를 위한 가사에 관련된 애플리케이션의 그룹을 위해 제공될 수 있다. 제 3 아이콘은 프로모션된 애플리케이션으로의 링크를 제공할 수 있다.
샘플 동작 환경
본 발명의 실시예의 개요가 설명되었고, 본 발명의 실시예가 구현될 수 있는 예시적인 동작 환경이 본 발명의 다양한 양태에 대한 일반적인 콘텍스트를 제공하기 위해 이하에 설명된다.
이하의 설명은 본 발명의 다양한 실시예를 설명한다. 이하에 설명된 예시적인 실시예의 다수는 설명을 더 구체적이게 하기 위해 현재의 애플리케이션에 기초한다. 그러나, 본 발명의 양태는 특정 애플리케이션 또는 특정 애플리케이션을 제공하는 플랫폼에 한정되는 것으로서 해석되어서는 안된다. 즉, 본 발명의 실시예는 상이한 플랫폼(예를 들어, PC, iPhone
Figure 112018071958812-pat00008
및 Microsoft Windows
Figure 112018071958812-pat00009
) 및 애플리케이션 시장의 다른 다양한 구현에 적용되도록 설계될 수 있다.
특히 도 1을 먼저 참조하면, 본 발명의 실시예를 구현하기 위한 예시적인 동작 환경이 도시되고 컴퓨팅 디바이스(100)로서 일반적으로 지정되어 있다. 그러나, 컴퓨터 디바이스(100)는 적합한 컴퓨팅 환경의 일 예이고, 본 발명의 사용 또는 기능성의 범주에 대한 임의의 한정을 제안하는 것으로 의도된 것은 아니다. 컴퓨팅 디바이스(100)는 예시된 구성요소 중 임의의 하나 또는 조합에 관한 임의의 종속성 또는 요구를 갖는 것으로서 해석되어서는 안된다.
본 발명이 개인 휴대 정보 단말 또는 다른 소지형 디바이스와 같은 컴퓨터 또는 다른 머신에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행 가능 인스트럭션을 포함하는 컴퓨터 코드 또는 머신 사용 가능 인스트럭션의 일반적인 환경에서 설명될 수 있다. 일반적으로, 루틴, 프로그램, 객체, 구성요소, 데이터 구조 등을 포함하는 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는 코드를 참조한다. 본 발명은 소지형 디바이스, 소비자 전자 기기, 범용 컴퓨터, 더 특정 컴퓨팅 디바이스 등을 포함하는 다양한 시스템 구성에서 실시될 수 있다. 본 발명은 또한 작업이 통신 네트워크를 통해 링크된 원격 프로세싱 디바이스에 의해 수행되는 분산형 컴퓨팅 환경에서 실시될 수 있다.
도 1을 참조하면, 컴퓨팅 디바이스(100)는 이하의 디바이스, 메모리(112), 하나 이상의 프로세서(114), 하나 이상의 제시 구성요소(116), 입출력(I/O) 포트(118), 입출력 구성요소(120) 및 예시적인 전원(122)을 직접적으로 또는 간접적으로 결합하는 버스(110)를 포함한다. 버스(110)는 하나 이상의 버스(어드레스 버스, 데이터 버스 또는 이들의 조합과 같은)일 수 있는 것을 표현한다. 도 1의 다양한 블록은 명료화를 위해 라인으로 도시되어 있지만, 실제로 다양한 구성요소를 경계 형성하는 것은 상당히 명료하지는 않고, 은유적으로 라인은 더 정확하게는 흐리고 희미할 것이다. 예를 들어, 디스플레이 디바이스와 같은 제시 구성요소를 I/O 구성요소인 것으로 고려할 수 있다. 또한, 프로세서는 메모리를 갖는다. 본 발명자들은 이러한 것이 당 기술 분야의 속성이라는 것을 인식하고, 도 1의 다이어그램이 단지 본 발명의 하나 이상의 실시예와 관련하여 사용될 수 있는 예시적인 컴퓨팅 디바이스의 예시일 뿐이라는 것을 재반복한다. 이들 모두는 도 1의 범주 내에서 "컴퓨팅 디바이스"로 고려되기 때문에, "워크스테이션", "서버", "랩탑", "소지형 디바이스" 등과 같은 카테고리들 사이에 구별이 행해지지 않는다.
컴퓨팅 디바이스(100)는 통상적으로 다양한 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 판독 가능 매체는 컴퓨팅 디바이스(100)에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있고, 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함한다. 예로서, 비한정적으로, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 인스트럭션, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술에 구현된 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨팅 디바이스(100)에 의해 액세스될 수 있는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광학 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 디바이스 또는 임의의 다른 매체를 포함하지만, 이들에 한정되는 것은 아니다. 실시예에서, 컴퓨터 저장 매체는 탠저블 컴퓨터 저장 매체를 포함한다. 실시예에서, 컴퓨터 저장 매체는 비일시적 컴퓨터 저장 매체를 포함한다.
통신 매체는 통상적으로 컴퓨터 판독 가능 인스트럭션, 데이터 구조, 프로그램 모듈 또는 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호 내의 다른 데이터를 이용하고, 임의의 정보 전달 매체를 포함한다. 용어 "변조된 데이터 신호"는 신호 내에 정보를 인코딩하는 이러한 방식으로 설정되거나 변경된 그 특징 중 하나 이상을 갖는 신호를 의미한다. 예로서, 비한정적으로, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체와, 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 상기의 것들의 임의의 조합이 또한 컴퓨터 판독 가능 매체의 범주 내에 포함될 것이다.
메모리(112)는 휘발성 및/또는 비휘발성 메모리의 형태의 컴퓨터 저장 매체를 포함한다. 메모리는 이동식, 비이동식 또는 이들의 조합일 수 있다. 예시적인 하드웨어 디바이스는 고체 상태 메모리, 하드 드라이브, 광학 디스크 드라이브 등을 포함한다. 컴퓨팅 디바이스(100)는 메모리(112) 또는 I/O 구성요소(120)와 같은 다양한 엔티티로부터 데이터를 판독하는 하나 이상의 프로세서를 포함한다. 제시 구성요소(들)(116)는 사용자 또는 다른 디바이스에 데이터 지시를 제시한다. 예시적인 제시 구성요소는 디스플레이 디바이스, 스피커, 인쇄 구성요소, 진동 구성요소를 포함한다.
I/O 포트(118)가 컴퓨팅 디바이스(100)를 I/O 구성요소9120)를 포함하는 다른 디바이스에 논리적으로 결합하게 하는데, 이들 I/O 구성요소들 중 일부는 내장될 수도 있다. 예시적인 구성요소는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너, 프린터, 무선 디바이스 등을 포함한다.
브라우징 액티비티에 관한 애플리케이션을 서피싱하기 위한 본 발명의 실시예에 의해 소개된 기술이 이제 도 2를 참조하여 설명될 것이다. 특히, 도 2는 본 발명의 실시예를 구현하는데 사용을 위해 적합한 분산형 컴퓨팅 환경의 예시적인 시스템 아키텍처(200)를 도시하는 블록 다이어그램을 도시한다. 일반적으로, 본 발명의 실시예를 구현하는 것은 브라우징 세션에 관련된 앱을 발견하고 이들 앱을 사용자에게 제시하는 것(예를 들어, 브라우저의 부분으로서 및/또는 수정된 웹페이지의 부분으로서 인라인으로 앱을 렌더링하는 것)에 관련된다. 도 2에 도시된 예시적인 시스템 아키텍처(200)는 단지 적합한 컴퓨팅 환경의 예일 뿐이고, 본 발명의 사용 또는 기능성의 범주에 대한 임의의 한정을 제안하는 것으로 의도되지 않는다는 것이 이해되고 인식되어야 한다. 예시적인 시스템 아키텍처(200)는 본 명세서에 예시된 임의의 단일 구성요소 또는 구성요소의 조합에 관련된 임의의 종속성 또는 요구를 갖는 것으로서 해석되어서는 안된다.
먼저, 예시적인 시스템 아키텍처(200)는 애플리케이션 매니페스트(201), 클라이언트 디바이스(210), 데이터 저장부(230), 서버(250), 애플리케이션 시장(290) 및 이들 아이템의 각각을 상호 접속하는 네트워크(240)를 포함한다. 도 2에 도시된 클라이언트 디바이스(210), 데이터 저장부(230), 서버(250) 및 애플리케이션 시장(290)의 각각은 예를 들어 도 1을 참조하여 전술된 컴퓨팅 디바이스(100)와 같은 다양한 유형의 컴퓨팅 디바이스의 형태를 취할 수 있다. 한정이 아니라 단지 예로서, 클라이언트 디바이스(210) 및/또는 서버(250)는 퍼스널 컴퓨터, 데스크탑 컴퓨터, 랩탑 컴퓨터, 소비자 전자 디바이스, 소지형 디바이스(예를 들어, 개인 휴대 정보 단말), 다양한 서버, 프로세싱 장비 등일 수 있다. 그러나, 본 발명은 이러한 컴퓨팅 디바이스 상의 구현에 제한되지 않고, 본 발명의 실시예의 범주 내의 임의의 다양한 상이한 유형의 컴퓨팅 디바이스 상에 구현될 수 있다는 것이 주목되어야 한다.
통상적으로, 각각의 디바이스(210, 250)는 그 위에서 실행하는 구성요소(들)[예를 들어, 앱 식별 엔진(275), 인덱싱 엔진(205) 등]의 동작을 지원하기 위한 소정 형태의 컴퓨팅 유닛(예를 들어, 중앙 처리 유닛, 마이크로프로세서 등)을 포함하거나 링크된다. 본 명세서에 이용될 때, 구문 "컴퓨팅 유닛"은 일반적으로 그 위의 소프트웨어, 애플리케이션 및 컴퓨터 프로그램의 실행을 기초로 하는 동작 소프트웨어를 지원하는 프로세싱 전력 및 저장 메모리를 갖는 전용 컴퓨팅 디바이스를 칭한다. 일 경우에, 컴퓨팅 유닛은 각각의 디바이스가 통신 관련 프로세스 및 다른 동작[예를 들어, 데이터 저장부(230)로의 액세스 또는 애플리케이션 매니폴드(201) 내의 앱의 발견]을 수행할 수 있게 하기 위해 디바이스(210, 250)에 일체이거나 작동적으로 결합된 탠저블 하드웨어 요소 또는 머신을 갖고 구성된다. 다른 경우에, 컴퓨팅 유닛은 각각의 디바이스(210, 250)에 의해 수용된 컴퓨터 판독 가능 매체에 결합된 프로세서(도시 생략)를 포함할 수 있다.
일반적으로, 컴퓨터 판독 가능 매체는 프로세서에 의해 실행 가능한 복수의 컴퓨터 소프트웨어 구성요소를 적어도 일시적으로 저장하는 물리적 메모리를 포함한다. 본 명세서에 이용될 때, 용어 "프로세서"는 한정으로 의도되는 것은 아니고 연산적 능력에서 동작하는 컴퓨팅 유닛의 임의의 요소를 포함할 수 있다. 이러한 능력에서, 프로세서는 인스트럭션을 프로세싱하는 탠저블 물품으로서 구성될 수 있다. 예시적인 실시예에서, 프로세싱은 인스트럭션을 페칭하고, 디코딩/해석하고, 실행하고, 재기록하는 것을 수반할 수 있다.
또한, 프로세싱 인스트럭션을 지나, 프로세서는 디바이스(210, 250)에 일체이거나 그 위에 배치된 다른 리소스로 그리고 리소스로부터 정보를 전달할 수 있다. 일반적으로, 리소스는 디바이스(210, 250)가 특정 기능을 수행하는 것을 가능하게 하는 소프트웨어 구성요소 또는 하드웨어 메커니즘을 칭한다. 단지 예로서만, 서버(250)에 의해 수용된 리소스는 인덱싱 엔진(205), 추상 객체 구성요소(260), 웹 인덱스(265), 랭킹 구성요소(270) 및 앱 식별 엔진(275) 중 하나 이상을 포함할 수 있다. 이들 리소스 중 하나 이상의 존재는 서버가 애플리케이션 정합 엔진으로서 작용할 수 있게 한다. 대안적으로, 애플리케이션 정합은 검색 엔진에 의해 수행될 수 있다.
클라이언트 디바이스(210)는 입력 디바이스(도시 생략) 및 제시 디바이스(215)를 포함할 수 있다. 일반적으로, 입력 디바이스는 무엇보다도, 브라우저 윈도우(225)에 표시되는 네트워크 어드레스 및 대응 페이지, 뿐만 아니라 서피싱된 애플리케이션을 위한 임의의 링크에 영향을 미치는 입력(들)을 수신하도록 제공된다. 예시적인 디바이스는 도 1의 마우스, 조이스틱, 키패드, 마이크로폰, I/O 구성요소(120) 또는 사용자 입력을 수신하고 클라이언트 디바이스(210)에 그 입력의 지시를 통신하는 것이 가능한 임의의 다른 구성요소를 포함한다.
실시예에서, 제시 디바이스(215)는 그 위에 UI 디스플레이(220)를 렌더링하고 그리고/또는 제시하도록 구성된다. 클라이언트 디바이스(210)의 출력에 작동적으로 결합된 제시 디바이스(215)는 디지털 모니터, 전자 디스플레이 패널, 터치스크린, 아날로그 셋탑 박스, 플라즈마 스크린, 오디오 스피커, 점자 패드(Braille pad) 등과 같은 사용자에 정보를 제시하는 것이 가능한 임의의 제시 구성요소로서 구성될 수 있다. 일 예시적인 실시예에서, 제시 디바이스(215)는 사용자에 의해 요구된 네트워크 로케이션으로 파퓰레이팅된 디스플레이 영역을 포함하는 브라우저 윈도우(225)와 같은 풍부한 콘텐트(예를 들어, 디지털 이미지)를 제시하도록 구성된다. 다른 예시적인 실시예에서, 제시 디바이스(215)는 다른 형태의 매체(예를 들어, 오디오 신호)를 렌더링하는 것이 가능하다. 또 다른 예시적인 실시예에서, 제시 디바이스(215)는 이하에 더 완전히 설명되는 바와 같이, 앱의 표현 부근에 웹페이지의 부분(예를 들어, 웹사이트의 설명 및 링크)을 제시할 수 있다.
데이터 저장부(들)(230)는 일반적으로 현재 또는 이전의 브라우징 세션으로부터 생성된 데이터와 연계된 정보를 저장하도록 구성된다. 다양한 실시예에서, 이러한 정보는 일반적으로 사회의 기록된 브라우징 거동(231)(예를 들어, 액티비티 로그), 네트워크 로케이션과의 특정 사용자의 트래킹된 상호 작용의 로그(232) 및 본 발명의 실시예에 속하는 다른 정보(233)를 비한정적으로 포함할 수 있다. 게다가, 데이터 저장부(들)(230)는 저장된 정보의 적합한 액세스를 위해 검색 가능하도록 구성될 수 있다. 데이터 저장부(들)(230)에 저장된 정보는 구성 가능할 수 있고 브라우징 액티비티에 기초하여 관련 애플리케이션을 식별하는 것에 관련하는 임의의 정보를 포함할 수 있다는 것이 당 기술 분야의 숙련자들에 의해 이해되고 인식될 수 있을 것이다. 이러한 정보의 콘텐트 및 볼륨은 본 발명의 실시예의 범주를 임의의 방식으로 한정하도록 의도된 것은 아니다. 또한, 단일의 독립적인 구성요소로서 도시되어 있지만, 데이터 저장부(들)(230)는 실제로 복수의 데이터베이스, 예를 들어, 그 부분이 클라이언트 디바이스(210), 서버(250), 다른 외부 컴퓨팅 디바이스(도시 생략) 및/또는 이들의 임의의 조합 상에 상주할 수 있는 데이터베이스 클러스터일 수 있다.
이에 따라, 임의의 수의 구성요소가 본 발명의 실시예의 범주 내의 원하는 기능성을 성취하도록 이용될 수 있다. 도 2의 다양한 구성요소는 명료화를 위해 라인으로 도시되어 있지만, 실제로 다양한 구성요소를 경계 형성하는 것은 상당히 명료하지는 않고, 은유적으로 라인은 더 정확하게는 흐리고 희미할 것이다. 또한, 도 2의 몇몇 구성요소는 단일 블록으로서 도시되어 있지만, 설명은 본질적으로 수로는 예시적인 것이며, 한정으로서 해석되어서는 안된다[예를 들어, 단지 하나의 제시 디바이스(215)만이 도시되어 있지만, 다수의 더 많은 것이 클라이언트 디바이스(210)에 통신적으로 결합될 수도 있음].
또한, 예시적인 시스템 아키텍처의 디바이스는 관련 분야에 공지된 임의의 방법에 의해 상호 접속될 수 있다. 예를 들어, 서버(250) 및 클라이언트 디바이스(210)는 하나 이상의 네트워크(240)를 경유하여 서로 결합된 다수의 컴퓨팅 디바이스를 포함하는 분산 컴퓨팅 환경을 경유하여 작동적으로 결합될 수 있다. 실시예에서, 네트워크(240)는 하나 이상의 근거리 통신망(LAN) 및/또는 원거리 통신망(WAN)을 비한정적으로 포함할 수 있다. 이러한 네트워킹 환경은 사무실, 기업 컴퓨터 네트워크, 인트라넷 및 인터넷에서 통상적이다. 이에 따라, 네트워크는 본 명세서에 더 설명되지 않는다.
동작시에, 구성요소(205, 260, 265, 270, 275)는 클라이언트 디바이스(210) 상에서 실행하는 웹 브라우저(222)로부터 네트워크 어드레스(285)를 수신하는 단계, 네트워크 어드레스(285)에 기초하여 대응 문서를 식별하는 단계, 그에 맵핑된 앱(202)을 식별하기 위해 네트워크 어드레스(285) 및 대응 문서(295)의 특성(203)을 갖는 애플리케이션 매니페스트(201)를 검사하는 단계 및 브라우저 윈도우(225)에서 제시를 위해 웹 브라우저(222)에 관련 앱(280)을 송신하는 단계를 적어도 포함하는 프로세스를 수행하도록 설계된다. 처음에, 도 2에 도시된 바와 같이, 애플리케이션 매니페스트(201)는 통상적으로 웹사이트의 특성 또는 키워드(203)와 앱(202) 사이의 맵핑을 포함한다. 이들 특성 또는 키워드(203)는 이하에 더 완전히 설명되는 바와 같이, 이들 웹사이트를 앱(202)에 디지털식으로 링크하는데 사용을 위해 식별될 수 있는 임의의 공지된 웹사이트의 속성을 수반할 수 있다.
실시예에서, 인덱싱 엔진(205)은 애플리케이션 매니페스트(201)를 구성하고 유지하기 위한 책임이 있을 수 있다. 예로서, 애플리케이션 매니페스트(201)를 구성하는 것은 이용 가능한 앱(202)을 위한 애플리케이션 시장(290)을 크롤링하는 것과, 웹사이트의 특성(203)을 사용하여 웹사이트와 앱(202)을 연계하는 것을 수반할 수 있다. 애플리케이션 시장(290)을 크롤링하는 것은 앱스토어(291), 앱 레이팅 포럼(292) 및/또는 앱 카탈로그(293)와 같은 소스로부터 애플리케이션을 마이닝하는 것을 포함할 수 있다. 애플리케이션에 액세스하기 위한 다른 소스가 사용될 수 있고, 예시된 소스(291 내지 293)는 철저한 리스팅을 표현하는 것은 아니라는 것이 이해되고 인식되어야 한다. 또한, 애플리케이션 시장(290)은 클라이언트 디바이스(210) 상에서 실행하는 애플리케이션 플랫폼(예를 들어, Microsoft
Figure 112018071958812-pat00010
Apps, Android
Figure 112018071958812-pat00011
등)에 기초하여 다양할 수 있다.
통상적으로, 사전 규정된 엔티티가 진행중인 브라우징 액티비티에 관련된 하나 이상의 엔티티와 인터로게이팅될 수 있는 특성(203)으로서 애플리케이션 매니페스트(201) 내에 인덱싱될 수 있다. 더 일반적으로, 다른 특성은 애플리케이션 매니페스트(201) 내에 인덱싱될 수 있다. 애플리케이션 서피싱 구성요소는 문서 내에 존재하는 하나 이상의 엔티티를 유도하고 이후에 애플리케이션 매니페스트(201) 내의 사전 규정된 엔티티에 대해 유도된 엔티티를 비교하는 추상적 객체 구성요소(260)에 유도된 엔티티를 전달할 수 있다. 정합의 발견시에, 추상적 객체 구성요소(260)는 이어서 정합하는 사전 규정된 엔티티에 맵핑된 앱(202)을 식별하고, 제시를 위한 후보자로서 식별된 앱(202)을 지정할 수 있다.
일단, 이들 특성(310)이 네트워크 어드레스 및/또는 페이지 콘텐트로부터 식별되면, 네트워크 어드레스(285)/문서(295)의 특성(310)에 관련하는 앱(280)이 애플리케이션 매니페스트(201)를 검사하기 위해 특성(310)을 이용함으로써 결정된다. 동작 420에서 도시된 바와 같이 정합 앱(280)을 발견하기 위해 사전 규정된 특성(203)에 대해 특성(310)을 비교함으로써 애플리케이션 매니페스트를 검사하기 위해 특성 정합 구성요소(276)(도 3 참조)이 앱 식별 엔진(275) 내에서 제공될 수 있다. 전술된 바와 같이, 도 2의 인덱싱 엔진(205)은 앱(202)을 마이닝하고, 마이닝된 앱(202)과 사전 규정된 특성(203) 사이의 맵핑을 유지하도록 제공된다. 이들 경우에, 사전 규정된 특성(203)은 검색 이벤트를 구현할 때 사용자의 각각의 의도를 서술하는 추상적 객체를 포함할 수 있다.
예시적인 실시예에서, 특성 정합 구성요소(276)는 페이지 콘텐트(295)로부터 키워드 및/또는 엔티티 정보를 식별하고, 애플리케이션 매니페스트(201)의 사전 규정된 특성(203)에 대해 인터로케이팅하기 위해 키워드 및/또는 엔티티 정보를 사용할 수 있다. 다른 실시예에서, 전술된 바와 같이, 네트워크 어드레스(285)로부터의 키워드는 발췌될 수 있고 페이지 콘텐트(295)의 고려 없이 관련 앱을 발견하는데 직접 사용될 수 있다.
상위 레이팅된 애플리케이션(330)이 선택 구성요소(277)를 구현함으로써 관련 앱(280)으로부터 선택될 수 있다. 일 경우에, 선택 구성요소(277)는 특성 정합 구성요소(276)로부터 반환된 관련 앱(들)(280)을 선택하기 위해 그리고 검색 결과(295)의 초기 세트와 동시 표시를 위한 후보자로서 앱(들)(280)을 저장하기 위해 구성된다. 다른 경우에, 선택 구성요소(277)는 랭킹 구성요소(270)와 상호 작용함으로써 상위 레이팅된 애플리케이션(330)에 관련 앱(280)을 좁히게 하기 위한 책임이 있을 수 있다. 랭킹 구성요소(270)는 도 2를 참조하여 더 완전히 전술된 바와 같이, 하나 이상의 레이팅 방안에 기초하여 관련 앱(280)을 편성하고, 적어도 하나의 사전 규정된 임계치에 기초하여 검색 결과(295) 내에 서피싱된 애플리케이션을 제한하는 역할을 한다.
또 다른 경우에, 선택 구성요소(277)는 도 3에 도시된 바와 같이, 클라이언트 디바이스(210) 상에서 실행하는 앱 클라이언트(223)와 상호 작용할 수 있다. 앱 클라이언트(233)는 클라이언트 디바이스에 설치된 앱(221)으로의 액세스를 가질 수 있다(도 2 참조). 이에 따라, 앱 클라이언트(223)는 클라이언트 디바이스(210)의 메모리 내에 상주하는 설치된 앱(221)의 아이덴티티에 기초하여 관련 앱(280)으로부터 상위 레이팅된 애플리케이션(330)을 선택하기 위해 선택 구성요소(277)를 도울 수 있다.
또 다른 경우에, 선택 구성요소(277)는 사용자가 검색 이벤트를 구현하는 동안에 발생된 사용자 상호 작용의 로그로의 액세스가 제공되거나 컴파일링하도록 설계될 수 있다. 사용자 상호 작용 로그 내에 지속된 데이터를 리뷰할 때, 선택 구성요소(277)는 관련 앱(280)을 발견하기 위해 애플리케이션 매니페스트(201)의 사전 규정된 특성(203)에 대해 로그로부터 정보를 비교할 수 있다. 또는, 선택 구성요소(277)는 관련 앱(280)으로부터 하위 레이팅된 애플리케이션을 필터링하기 위해 로그 정보를 적용할 수 있다.
또 다른 경우에, 선택 구성요소(277)는 관련 앱(280)으로부터 상위 레이팅된 애플리케이션(330)을 추출하기 위해 앱의 랭킹 스케일(들)(예를 들어, 인기도 기반 랭킹 및/또는 관련성 기반 랭킹)을 검사하도록 구성될 수 있다. 이들 랭킹 스케일(들)은 임의의 수의 소스[예를 들어, 도 2의 앱 레이팅 포럼(292), 일반적인 검색 및/또는 다운로딩으로부터 로그된 데이터, 앱 기반 블로그, 기사, 의견 포스트 또는 다른 평판이 있는 소스]로부터 유도될 수 있고, 초기에 무관한 것으로 결정된 이들 앱(280)을 고려로부터 효율적으로 퇴출하도록 이용될 수 있다. 예를 들어, 비디오 게임이 관련 앱(280)으로서 반환되면, 선택 구성요소(277)는 랭킹 스케일(들)에 따라, 하위 레이팅된 것으로서 잔여 버전(예를 들어, 휴일 버전, 특정 릴리즈 및 가이드 및 팁)을 열거하면서 상위 레이팅되는 것으로서 비디오 게임의 메인 버전을 결정할 수 있다. 그 결과, 상위 레이팅된 애플리케이션(330)의 전송(320)은 웹 브라우저(222)에서 렌더링을 위해 전송될 수 있고, 반면에 하위 레이팅된 애플리케이션은 검색 결과(295)를 검사할 때 사용자가 부가의 애플리케이션을 서피싱하기를 원하는 경우에 캐싱될 수 있다.
이제 도 3을 참조하면, 렌더링 구성요소(278)는 브라우저의 레이아웃의 위치에서 또는 표시된 문서의 부분으로서 위치에서 적어도 하나의 애플리케이션의 시각적 표현을 배치하기 위한 앱 식별 엔진(275) 내에 제공될 수 있다. 렌더링 구성요소(278)는 하나 이상의 기준의 함수로서 브라우저 또는 문서 내에 상위 레이팅된 애플리케이션(330)의 표현을 배치하도록 인에이블링될 수 있다. 예를 들어, 기준이 브라우저 또는 문서 내의 이용 가능한 공간을 지시할 때, 렌더링 구성요소(278)는 검색 결과 페이지에서 렌더링된 상위 레이팅된 애플리케이션(330)의 수를 제한하도록 선택될 수 있다. 대조적으로, 브라우저가 충분한 공간을 갖고 사전 구성되면, 렌더링 구성요소(278)는 표시를 위해 부가의 상위 레이팅된 애플리케이션(330)을 선택할 수도 있다.
다른 실시예에서, 상위 레이팅된 애플리케이션(330)의 표현을 배치하기 위해 렌더링 구성요소(278)에 의해 사용된 기준은 선택 구성요소(277)에 의해 식별된 다수의 상위 레이팅된 애플리케이션(330)을 수반할 수 있다. 예를 들어, 단지 2개의 상위 레이팅된 애플리케이션(330)만이 식별되면, 단지 상위 레이팅된 애플리케이션(330)이 사용자에 표시를 위해 전송(320)을 경유하여 웹브라우저(222)에 송신된다.
다양한 실시예에서, 대상 애플리케이션을 위한 링크의 선택이 수신될 수 있다. 선택은 예를 들어 링크의 사용자 개시된 선택(예를 들어, 마우스 클릭 또는 호버 동작)을 포함할 수 있다. 웹브라우저(222)에서 대상 애플리케이션의 선택을 수신할 때, 웹브라우저(222)는 클라이언트 디바이스(210) 상에서 대상 애플리케이션을 열려고 시도할 수 있다. 대상 애플리케이션이 클라이언트 디바이스(210) 상에 설치될 때, 대상 애플리케이션은 검색 결과 페이지로부터 직접 런칭된다. 그러나, 대상 애플리케이션이 클라이언트 디바이스(210) 상에 설치되지 않을 때, 웹브라우저(222)는 대상 애플리케이션을 판매하는 웹사이트[예를 들어, 도 2의 앱스토어(291)]를 자동으로 네비게이팅할 수 있다. 또는, 클라이언트 디바이스(210) 상에서 실행하는 앱 클라이언트(223)는 그 위에 대상 애플리케이션을 자동으로 설치할 수 있다.
예시적인 실시예에서, 도 2에 도시된 바와 같이, 앱 클라이언트(223)는 대상 애플리케이션이 웹브라우저(222)와 설치된 앱(221)의 카탈로그(들) 사이의 인터페이스로서 동작함으로써 클라이언트 디바이스(210) 상에 현재 상주하는지 여부를 검출하도록 설계된다. 몇몇 실시예에서, 설치된 앱(221)은 구매된 앱에 대응하거나 부분적으로 대응할 수 있다는 것을 주목하라. 일 경우에, 앱 클라이언트(223)는 프로토콜 핸들러 및/또는 시스템 제공된 애플리케이션 프로그래밍 인터페이스(API)로서 구성된다. 애플리케이션이 클라이언트 디바이스(210)에 설치될 때, 설치된 애플리케이션은 프로토콜 핸들러와 정합된다. 따라서, 설치된 애플리케이션은 이제 프로토콜 핸들러에 알려진 프로토콜을 호출함으로써 런칭될 수 있다. 동작시에, 사용자가 검색 결과 페이지로부터 대상 애플리케이션을 선택하였다는 지시를 수신할 때, 웹 브라우저(222)는 이어서 설치된 앱(221)에 "열림" 명령을 발행하거나 호출하는 프로토콜 핸들러[예를 들어, 앱 클라이언트(223)]에 선택 지시를 전송할 수 있다. 대상 애플리케이션이 명령에 응답하여 런칭되면, 앱 클라이언트(223)는 대상 애플리케이션이 클라이언트 디바이스(210)에 설치되었다는 것을 이해한다. 대상 애플리케이션이 런칭되지 않으면, 앱 클라이언트(223)는 대상 애플리케이션이 클라이언트 디바이스(210)에 설치되지 않고 애플리케이션 시장(290)으로부터 애플리케이션을 다운로드하기 위한 옵션을 사용자에게 제공한다는 것을 이해한다. 이와 같이, 앱 클라이언트(223)의 프로토콜-핸들러 능력을 이용(leveraging)함으로써, 설치된 앱(221) 내의 대상 애플리케이션의 검출은 비교적 효율적이고, 노동 집약적 룩업을 위한 설치된 앱(221)의 리스트의 취득을 필요로 하지 않는다.
일 경우에, 클라이언트 디바이스(210)에 설치된 애플리케이션의 검출은 검색 결과에 상위 레이팅된 애플리케이션을 추가하는 순간에 수행될 수 있다. 이 방식으로, 앱 클라이언트(223)의 프로토콜-핸들러 메커니즘은 하나 이상의 애플리케이션이 검색 결과 페이지 내에 포함을 위해 선택되는 통지를 웹브라우저(222)가 검색 엔진(275)으로부터 수신할 때 호출될 수 있다. 앱 클라이언트(223)는 이어서 렌더링을 위해 선택된 애플리케이션(들)이 클라이언트 디바이스(210) 상에 실제로 설치되는지를 판정하기 위해 임의의 공지의 프로세스(예를 들어, "열림" 명령을 사용하는 검출)를 경유하여 설치된 앱(221)을 검사할 수 있다. 만일 그러하면, 앱 클라이언트(223)는 사용자가 애플리케이션(들)이 클라이언트 디바이스(210)에 미리 다운로드되었다는 것을 통지받도록 렌더링된 애플리케이션(들)의 제시 양태를 수정하도록[예를 들어, 그에 적용된 클릭-동작이 애플리케이션을 런칭하는 것을 지시하기 위해 콘트롤 버튼(525)을 수정함] 웹브라우저(222)에 명령할 수 있다. 만일 그렇지 않으면, 앱 클라이언트(223)는 사용자가 애플리케이션(들)이 클라이언트 디바이스(210)에 설치되지 않았다는 것을 통지받도록 렌더링된 애플리케이션(들)의 제시 양태를 수정하도록[예를 들어, 그에 적용된 클릭-동작이 애플리케이션을 설치할 것을 지시하기 위해 콘트롤 버튼(535)을 수정함] 웹브라우저(222)에 명령할 수 있다.
사용자가 런칭을 위해 대상 애플리케이션을 호출하는 대상 애플리케이션을 선택하도록 지시할 때, 콘텍스트[예를 들어, 도 2의 웹브라우저(222)와의 사용자의 상호 작용]는, 대상 애플리케이션을 위한 디폴트 시작 홈페이지로서 구성된 루트 엔트리 포인트에 대조적으로, 진보된 엔트리 포인트를 설정하기 위해 대상 애플리케이션에 전송될 수 있다. 이 콘텍스트는 특정 상황에, 브라우저 및/또는 네트워크 문서와 사용자 상호 작용에 기초할 수 있다. 예를 들어, 브라우저는 브라우징 세션 중에 사용자에 의해 방문된 현재 및/또는 이전의 문서를 기록하고 쿼리 내의 용어 및 구문으로부터 콘텍스트를 유도할 수 있다. 이 콘텍스트는 이어서 런칭 중에 대상 애플리케이션에 플러그인되는 파라미터로 변환될 수도 있어, 이에 의해 사용자를 쿼리에 관련된 콘텐트, 진행된 엔트리 포인트에 직접 유도한다.
콘텍스트를 유도하기 위한 일 방식은 예를 들어, 템플레이트를 사용하여 그리고 런칭된 애플리케이션을 조작하기 위해 네트워크 어드레스로부터 추출된 키워드를 사용하여, 적어도 하나의 네트워크 어드레스를 파싱하는 것을 포함할 수 있다. 예를 들어, URL "www.urbansppon.com/Seattle/Bellevue/Italian-Restaurants"은 사용자가 URL과 연계된 문서를 방문할 때 콘텍스트를 제공할 수 있다. 이 경우에, 콘텍스트는 웹사이트에 지시된 미국 워싱턴주 벨레뷰의 소재의 이탈리안 레스토랑을 검색하는 것을 지시한다. 이 콘텍스트는 파라미터로 변환되고 런칭시에 Urbanspoon
Figure 112018071958812-pat00012
애플리케이션에 플러그인될 수 있다. 상기 예를 참조하여, 네트워크 어드레스를 파라미터로 변환하는 프로세스는 키워드 배후의 의도를 인식하는 것과 도메인=레스토랑, 요리=이탈리안, 위치=벨레뷰 및 작업=예약과 같은 키워드에 분류 지시기를 결합하는 것을 포함할 수 있다. 의도를 인식하고 카테고리를 결합하는 것은 네트워크 어드레스를 파싱하기 위해 템플레이트를 사용함으로써 용이하게 될 수 있다.
런칭된 애플리케이션에 파라미터를 플러그인하는 프로세스는 이하의 단계, 애플리케이션이 진행된 엔트리 포인트로 네비게이팅하도록 요구하는 적절한 정보를 결정하는 단계와, 사용자와 적절하게 인터페이스하기 위해 애플리케이션에 의해 수락될 가능성이 있는 파라미터의 포맷을 결정하는 단계를 수반할 수 있다. 예를 들어, 애플리케이션은 특정화된 파라미터의 사용 없이, 원래 미조작된 URL을 파싱하여, 따라서 앱 클라이언트(223)에서 콘텍스트를 변환할 필요성을 배제하도록 설계될 수 있다. 다른 경우에, 앱 클라이언트(223)는 파라미터로서 콘텍스트를 적절하게 전달하기 위해 그리고 런칭된 애플리케이션과 적절하게 인터페이스하기 위해 런칭된 애플리케이션의 바람직한 포맷을 인식하도록 트리거링될 수 있다. 이와 같이, 앱 클라이언트(223)는 검색 이벤트 콘텍스트와 런칭된 애플리케이션 사이의 통신 간극을 브리징하도록 동작할 수도 있다.
예를 들어, 사용자가 사이트 "www.yelp.com"으로부터 레스토랑 리뷰에 대한 정보를 얻으면, 앱 클라이언트(223)는 Yelp
Figure 112018071958812-pat00013
애플리케이션이 런칭 중에 Yelp
Figure 112018071958812-pat00014
애플리케이션에 데이터를 전달하기 전에 네트워크 어드레스에 적용된 전처리를 필요로 한다는 것을 인식할 수 있다. 이 경우에, 전처리는 네트워크 어드레스로부터 비즈니스 식별자(ID)를 추출하는 것과, 비즈니스-ID 데이터 유형을 위해 지정된 주장 내로의 입력을 위해 Yelp
Figure 112018071958812-pat00015
애플리케이션에 검색된 레스토랑의 비즈니스 ID를 전달하는 것을 포함할 수 있다. 그 결과, Yelp
Figure 112018071958812-pat00016
애플리케이션은 식별된 레스토랑과 연관된 진행된 엔트리 포인트에 런칭할 것이다.
도 4는 네트워크 어드레스에 대응하는 문서를 표시하는 브라우저, 뿐만 아니라 본 발명의 실시예에 따른 문서에 정합하는 애플리케이션으로의 링크의 예를 개략적으로 도시한다. 도 4에서, 브라우저는 어드레스 바(405)를 포함한다. 어드레스 바는 (가상) 네트워크 어드레스를 포함한다. 네트워크 어드레스에 대응하는 문서(430)가 또한 브라우저 내에 표시된다. 도 4에서, 문서(430)의 콘텐트(421)의 제 1 부분이 현재 가시화된다. 네트워크 어드레스 및 대응 문서에 기초하여, 문서에 정합하는 다수의 앱을 위한 링크가 표시된다. 앱 링크(411, 412)는 브라우저를 표시하는데 사용되는 사용자 디바이스 상에 미리 설치된 앱에 대응한다. 앱 링크(413, 414)는 링크의 부분으로서 포함되는 달러 기호 아이콘에 의해 지시된 바와 같이, 구매를 위해 이용 가능한 앱을 표현한다. 다른 실시예에서, 앱이 구매를 위해 이용 가능하다는 것을 지시하기 위한 임의의 다른 적절한 방법이 사용될 수 있다. 도 4에서, 앱 링크를 위한 텍스트를 표시하는데 사용된 컬러는 문서에 대한 애플리케이션의 관계의 지시를 제공한다. 예를 들어, 앱 링크 1(411)은 녹색으로 표시되어 앱 링크 1이 도메인명을 위한 오피셜 앱에 대응한다는 것을 표현한다. 도 4에 도시된 예에서, 청색의 앱 링크(412, 414)는 콘텍스트 앱에 대응하고, 앱 링크(413)에 대한 적색 텍스트는 프로모션된 앱에 대응한다. 도 4에서 주목되는 바와 같이, 앱 링크(414)는 실제로 편의를 위해 그룹으로서 표현된 콘텍스트 앱의 그룹에 대응한다.
도 5는 사용자가 앱의 그룹을 위한 링크에 액세스할 때 어떻게 표시된 뷰가 변경되는지의 예를 도시한다. 사용자가 앱 링크(414)에 의해 표현된 복수의 앱 중 하나에 액세스하기를 원하면, 사용자는 링크를 클릭하거나 다른 방식으로 액세스할 수 있다. 도 5에 도시된 바와 같이, 이는 개별 링크(541, 542, 543)가 개별 앱에 대해 표시되게 한다. 개별 링크(541, 542, 543)는 현존하는 브라우저 프레임의 부분으로서 또한 표시될 수 있고, 또는 링크는 도 5에 도시된 바와 같이 개별 윈도우(540)에 표시될 수 있다. 다른 실시예에서, 임의의 적절한 수의 앱이 그룹 링크에 의해 표현될 수 있다.
도 6은 브라우저 프레임 공간의 양이 더 제한되어 있는 대안적인 실시예를 도시한다. 본 실시예에서, 문서에 정합하는 애플리케이션의 이용 가능성은 어드레스 바 내에 아이콘(609)에 의해 지시될 수 있다. 아이콘(609)에 액세스하는 것은 도 5에 도시된 개별 윈도우(540)와 같은, 임의의 적절한 방식으로 정합 애플리케이션의 표시를 야기할 수 있다.
도 7a 및 도 7b는 본 발명의 또 다른 실시예에 따른 네트워크 어드레스에 대응하는 문서의 디스플레이를 개략적으로 도시한다. 도 7a에서, 문서(430)는 제 1 콘텐트부(721), 웹사이트 링크(722) 및 제 3 콘텐트부(723)를 포함한다. 도 7a에서, 앱 링크(412)는 웹사이트 링크(722)를 위한 오피셜 애플리케이션에 대응한다. 그 결과, 앱 링크(412)는 웹사이트 링크(722) 부근에 표시될 수 있다.
도 7b는 사용자가 문서 내에서 스크롤 다운한 후에 동일한 문서의 도면을 표현한다. 도 7b에서, 제 1 콘텐트부(721) 및 웹사이트 링크(722)는 문서의 스크롤링에 기인하여 더 이상 가시화되지 않는다. 문서의 가시화부는 이제 제 3 콘텐트부(723), 엔티티 콘텐트(724) 및 제 5 콘텐트부(725)를 포함한다. 웹사이트 링크(722)는 더 이상 가시화되지 않기 때문에, 앱 링크(412)는 다른 앱 링크 부근의 브라우저 프레임으로 반환될 수 있다. 본 실시예에서, 앱 링크(412)는 문서와 함께 항상 표시되는 점에서 충분히 상위의 랭킹을 갖는다. 단지 앱 링크(412)를 위한 디스플레이의 위치만이 변경된다. 대조적으로, 앱 링크(715)는 항상 표시되도록 충분히 상위 랭킹되지 않는다. 대신에, 앱 링크(715)는 엔티티 콘텐트(724)가 디스플레이 디바이스에서 가시화될 때에만 표시된다. 도 7b에서, 앱 링크(715)는 엔티티 콘텐트(724) 부근에 표시된다. 앱 링크(715)는 엔티티 콘텐트(724)에 대응하는 엔티티에 관련된 애플리케이션을 표현할 수 있다.
부가의 실시예
실시예에서, 브라우징 액티비티에 기초하여 하나 이상의 애플리케이션을 서피싱하기 위한 방법이 제공된다. 이러한 방법의 예가 도 8에 도시된다. 방법은 브라우저 어드레스 바 내의 하나 이상의 문자를 검출하는 단계(810)를 포함할 수 있고, 하나 이상의 문자는 네트워크 어드레스 포맷을 갖는다. 하나 이상의 키워드는 하나 이상의 검출된 문자로부터 추출될 수 있다(820). 선택적으로, 문자가 검출된 후에, 문자는 브라우저로부터 검색 엔진과 같은 애플리케이션 정합 엔진으로 포워딩될 수 있다. 하나 이상의 키워드의 추출은 이어서 선택적으로 검색 엔진에 의해 수신된 문자에 수행될 수 있다. 적어도 하나의 애플리케이션이 하나 이상의 추출된 키워드로부터의 적어도 하나의 추출된 키워드와 정합될 수 있다(830). 적어도 하나의 정합된 애플리케이션의 식별이 이어서 브라우저에 전송될 수 있다(840). 적어도 하나의 정합된 애플리케이션에 대응하는 적어도 하나의 링크가 브라우저에 의해 표시될 수 있다(850).
방법은 브라우저 어드레스 바 내의 복수의 문자를 검출하는 단계(910)를 포함할 수 있고, 복수의 문자는 네트워크 어드레스 포맷을 갖는다. 복수의 문자는 문서 로케이션에 대응할 수 있다. 하나 이상의 키워드가 복수의 검출된 문자로부터 추출될 수 있다(920). 선택적으로, 문자가 검출된 후에, 문자는 브라우저로부터 검색 엔진과 같은 애플리케이션 정합 엔진으로 포워딩될 수 있다. 하나 이상의 키워드의 추출은 이어서 선택적으로 검색 엔진에 의해 수신된 문자에 수행될 수 있다. 키워드는 또한 선택적으로 문서 로케이션과 연계된 문서로부터 추출될 수 있다. 복수의 애플리케이션이 복수의 문자로부터 추출된, 연계된 문서로부터 추출된 또는 이들의 조합으로부터 추출된 적어도 하나의 키워드와 정합될 수 있다(930). 복수의 정합된 애플리케이션이 연계된 문서에 대한 애플리케이션의 관계에 대응하는 카테고리에 할당될 수 있다(940). 하나 이상의 정합된 애플리케이션 및 할당된 카테고리의 식별은 이어서 브라우저에 전송될 수 있다(950). 적어도 2개의 카테고리에 할당된 정합된 애플리케이션에 대응하는 하나 이상의 링크가 표시될 수 있고(960), 표시된 링크는 정합된 애플리케이션을 위한 할당된 카테고리의 지시를 제공한다.
또 다른 실시예에서, 브라우징 액티비티에 기초하여 하나 이상의 애플리케이션을 서피싱하기 위한 방법이 제공된다. 이러한 방법의 예가 도 10에 도시된다. 방법은 어드레스 바 내의 복수의 문자를 검출하는 단계(1010)를 포함할 수 있고, 복수의 문자는 네트워크 어드레스 포맷을 갖는다. 복수의 문자는 문서 로케이션에 대응할 수 있다. 연계된 문서의 제 1 부분이 표시될 수 있다(1020). 선택적으로, 복수의 문자는 검색 엔진과 같은 애플리케이션 정합 엔진에 포워딩될 수 있다. 하나 이상의 키워드가 복수의 문자로부터 추출되고(1030), 연계된 문서로부터 추출되거나 이들의 조합으로부터 추출될 수 있다. 적어도 하나의 애플리케이션이 추출된 키워드에 기초하여 정합될 수 있다(1040). 이 애플리케이션의 식별이 애플리케이션 정합 엔진에 의해 전송되고 브라우저에 의해 수신될 수 있다. 적어도 하나의 링크는 정합된 애플리케이션에 대응하여 표시될 수 있다(1050). 연계된 문서의 제 2 부분이 표시될 수 있다(1060). 연계된 문서의 표시된 제 2 부분 내에 위치된 적어도 하나의 추출된 키워드가 식별될 수 있다(1070). 표시된 적어도 하나의 링크는 연계된 문서의 표시된 제 2 부분 내에 위치된 식별된 추출된 키워드(들)에 기초하여 수정될 수 있다(1080).
대안 실시예에서, 도 8에 도시된 방법과 같은 방법은 애플리케이션의 로케이션 기반 필터링을 합체하도록 수정될 수 있다. 이러한 방법의 예가 도 11에 도시된다. 방법은 브라우저 어드레스 바 내의 하나 이상의 문자를 검출하는 단계(1110)를 포함할 수 있고, 하나 이상의 문자는 네트워크 어드레스 포맷을 갖는다. 하나 이상의 키워드는 하나 이상의 검출된 특성으로부터 추출될 수 있다(1120). 선택적으로, 문자가 검출된 후에, 문자는 브라우저로부터 검색 엔진과 같은 애플리케이션 정합 엔진으로 포워딩될 수 있다. 하나 이상의 키워드의 추출은 이어서 선택적으로 검색 엔진에 의해 수신된 문자에 수행될 수 있다. 복수의 애플리케이션이 하나 이상의 추출된 키워드로부터 적어도 하나의 추출된 키워드와 정합될 수 있다(1130). 브라우저에 대응하는 컴퓨팅 디바이스의 로케이션이 이어서 판정될 수 있다(1140). 복수의 정합된 애플리케이션은 판정된 로케이션에 기초하여 필터링될 수 있다(1150). 적어도 하나의 정합된 필터링된 애플리케이션의 식별은 이어서 브라우저에 전송될 수 있다(1160). 적어도 하나의 정합된 필터링된 애플리케이션에 대응하는 적어도 하나의 링크가 브라우저에 의해 표시될 수 있다(1170).
실시예에서, 컴퓨터-구현 방법은 네트워크 어드레스 포맷을 갖는 브라우저 어드레스 바에서 검출된 문자에 대응하는 하나 이상의 문자를 수신하는 단계와, 하나 이상의 문자로부터 추출된 적어도 하나의 키워드와 하나 이상의 애플리케이션을 정합하는 단계와, 하나 이상의 문자를 수신하는 것에 응답하여 하나 이상의 정합된 애플리케이션의 식별을 전송하는 단계를 포함한다.
다른 실시예에서, 컴퓨터-구현 방법은 검색 결과의 함수로서 하나 이상의 애플리케이션을 서피싱하기 위해 제공되고, 방법은 네트워크 어드레스 포맷을 갖는 복수의 문자를 수신하는 단계 - 복수의 문자는 문서 로케이션에 대응함 - 와, 복수의 문자, 문서 로케이션과 연계된 문서 또는 이들의 조합으로부터 추출된 적어도 하나의 키워드를 복수의 애플리케이션과 정합하는 단계와, 연계된 문서에 대한 애플리케이션의 관계에 대응하는 카테고리에 복수의 정합된 애플리케이션을 할당하는 단계와, 하나 이상의 문자를 수신하는 것에 응답하여 하나 이상의 정합된 애플리케이션 및 할당된 카테고리의 식별을 전송하는 단계를 포함한다.
또 다른 실시예에서, 컴퓨터-구현 방법은 브라우저 어드레스 바 내의 복수의 문자를 검출하는 단계 - 복수의 문자는 네트워크 어드레스 포맷을 가짐 - 와, 검출된 복수의 문자에 대응하는 문서 로케이션과 연계된 문서의 제 1 부분을 표시하는 단계와, 검출된 복수의 문자를 검색 엔진에 포워딩하는 단계와, 복수의 문자, 연계된 문서 또는 이들의 조합으로부터 추출된 키워드와 정합된 하나 이상의 애플리케이션의 식별을 수신하는 단계와, 정합된 애플리케이션에 대응하는 적어도 하나의 링크를 표시하는 단계와, 연계된 문서의 제 2 부분을 표시하는 단계와, 연계된 문서의 표시된 제 2 부분 내에 위치된 추출된 키워드를 식별하는 단계와, 연계된 문서의 표시된 제 2 부분 내에 위치된 식별된 추출된 키워드에 기초하여 표시된 적어도 하나의 링크를 수정하는 단계를 포함한다.
또 다른 실시예에서, 검색 결과의 함수로서 하나 이상의 애플리케이션을 서피싱하기 위한 컴퓨터-구현 방법이 제공되고, 방법은 네트워크 어드레스 포맷을 갖는 브라우저 어드레스 바 내에 검출된 문자에 대응하는 하나 이상의 문자를 수신하는 단계와, 수신된 하나 이상의 문자로부터 적어도 하나의 키워드를 추출하는 단계와, 적어도 하나의 추출된 키워드에 기초하여 복수의 애플리케이션을 정합하는 단계와, 컴퓨팅 디바이스의 로케이션을 판정하는 단계와, 판정된 로케이션에 기초하여 복수의 정합된 애플리케이션을 필터링하는 단계와, 하나 이상의 정합된 필터링된 애플리케이션의 식별을 전송하는 단계를 포함한다.
또 다른 실시예에서, 컴퓨터-구현 방법은, 부분 네트워크 어드레스에 대응하는 네트워크 어드레스 포맷을 갖는 제 1 복수의 문자를 수신하는 단계와, 하나 이상의 부가의 문자를 갖는 제 1 복수의 문자를 확장하여 복수의 확장된 네트워크 어드레스를 생성하는 단계와, 복수의 확장된 네트워크 어드레스 중 적어도 하나로부터 하나 이상의 1차 키워드를 추출하는 단계와, 제 2 복수의 문자를 수신하는 단계 - 제 1 복수의 문자는 제 2 복수의 문자와 조합하여 문서 로케이션에 대응하는 네트워크 어드레스를 가짐 - 와, 문서 로케이션과 연계된 문서를 식별하는 단계와, 수신된 제 1 복수 및 제 2 복수의 문자, 연계된 문서 또는 이들의 조합으로부터 하나 이상의 2차 키워드를 추출하는 단계와, 추출된 2차 키워드에 기초하여 적어도 하나의 제 2 애플리케이션을 정합하는 단계와, 적어도 하나의 정합된 애플리케이션의 식별을 전송하는 단계를 포함한다.
또 다른 실시예에서, 컴퓨터-구현 방법은, 브라우저 어드레스 바 내의 하나 이상의 문자를 검출하는 단계 - 하나 이상의 검출된 문자는 네트워크 어드레스 포맷을 가짐 - 와, 브라우저 어드레스 바아 내의 하나 이상의 문자로부터 하나 이상의 키워드를 추출하는 단계와, 하나 이상의 추출된 키워드를 검색 엔진으로 포워딩하는 단계와, 추출된 키워드와 정합된 하나 이상의 애플리케이션의 식별을 수신하는 단계와, 하나 이상의 정합된 애플리케이션에 대응하는 적어도 하나의 링크를 표시하는 단계를 포함한다.
본 명세서에 개시된 본 발명의 실시예의 요지는 법정 요구에 부합하도록 상세를 갖고 설명되었다. 그러나, 설명 자체는 본 특허의 범주를 한정하도록 의도된 것은 아니다. 오히려, 본 발명자들은 청구된 요지가 다른 현재 또는 미래 기술과 함께, 본 문서에 설명된 것들과 유사한 단계들의 조합 또는 상이한 단계들을 포함하도록, 다른 방식으로 또한 실시될 수도 있다는 것을 고려하였다.
본 발명의 다양한 실시예는 한정적이기보다는 예시적인 것으로 설명되어 있다. 대안 실시예가 본 발명의 실시예의 범주로부터 벗어나지 않고 때때로 명백해질 것이다. 특정 특징 및 하위 조합이 실용성을 갖고, 다른 특징 및 하위 조합을 참조하지 않고 이용될 수 있다는 것이 이해될 것이다. 이는 청구범위의 범주에 의해 고려되고 그 내에 있다.

Claims (20)

  1. 하나 이상의 애플리케이션을 서피싱하기 위한 컴퓨터로 구현된 방법으로서,
    사용자 장치 상의 브라우저의 브라우저 어드레스 바에서 검출된 문자에 대응하는 하나 이상의 문자를 수신하는 단계와,
    검색 쿼리에 대해 애플리케이션들을 랭킹하는 단계- 상기 검색 쿼리는 상기 하나 이상의 문자에 대응하는 적어도 하나의 키워드를 포함하고, 각각의 애플리케이션은 앱 스토어와 연계되어 유지됨 -와,
    상기 애플리케이션들의 랭킹에 기초하여, 검색 결과인 상기 애플리케이션들 중 애플리케이션을 선택하는 단계와,
    상기 선택된 애플리케이션의 식별을 상기 사용자 장치로 전송하는 단계와,
    상기 브라우저 내에서, 상기 전송된 식별에 기초하여 웹 문서의 콘텐트 내에 상기 애플리케이션이 표시되게 하는 단계- 상기 표시된 애플리케이션은 상기 애플리케이션의 아이콘을 포함함 -와,
    상기 표시된 애플리케이션의 사용자 선택에 응답하여, 또한 상기 애플리케이션이 상기 앱 스토어로부터 상기 사용자 장치 상에 설치되었다고 검출된 것에 기초하여, 상기 애플리케이션을 상기 사용자 장치 상에서 자동으로 런칭하는 단계- 상기 애플리케이션은 상기 애플리케이션에 대한 진보된 엔트리 포인트를 설정하기 위해 상기 검색 쿼리에 대응하는 콘텍스트를 제공받음 -를 포함하는
    컴퓨터로 구현된 방법.
  2. 제 1 항에 있어서,
    상기 진보된 엔트리 포인트는 상기 애플리케이션에 대한 디폴트 시작 홈페이지(default start-up homepage)와 상이한
    컴퓨터로 구현된 방법.
  3. 제 1 항에 있어서,
    상기 콘텍스트는 상기 애플리케이션과 연관된 네트워크 문서에 대응하는
    컴퓨터로 구현된 방법.
  4. 제 1 항에 있어서,
    상기 콘텍스트는 상기 애플리케이션과 연관된 네트워크 어드레스에 대응하는
    컴퓨터로 구현된 방법.
  5. 제 1 항에 있어서,
    상기 검출은 상기 애플리케이션이 상기 사용자 장치 상에 설치되어 있다고 판정하는 것을 포함하는
    컴퓨터로 구현된 방법.
  6. 제 1 항에 있어서,
    상기 사용자 선택은 상기 애플리케이션의 아이콘에 대한 것인
    컴퓨터로 구현된 방법.
  7. 제 1 항에 있어서,
    상기 표시는 상기 웹 문서의 콘텐트 내에 상기 검색 결과인 상기 애플리케이션들 중 추가 애플리케이션을 포함하고, 상기 표시된 추가 애플리케이션은 상기 앱 스토어로부터 상기 추가 애플리케이션을 설치하기 위해 사용자에 의해 선택가능한 링크를 갖는
    컴퓨터로 구현된 방법.
  8. 제 1 항에 있어서,
    상기 표시는 상기 애플리케이션들 중의 추가 애플리케이션을 더 표시하며, 상기 추가 애플리케이션 및 상기 애플리케이션의 표시 순서는 상기 애플리케이션들의 랭킹에 기초하는
    컴퓨터로 구현된 방법.
  9. 제 1 항에 있어서,
    상기 브라우저 어드레스 바에서 검출된 상기 문자를 자동 완성하는 단계를 더 포함하되, 상기 하나 이상의 문자는 상기 자동 완성된 문자를 포함하는
    컴퓨터로 구현된 방법.
  10. 컴퓨터 사용가능 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 사용가능 명령어는 하나 이상의 프로세서에 의해 실행되는 경우 상기 하나 이상의 프로세서로 하여금 방법을 수행하게 하고,
    상기 방법은
    사용자 장치 상의 브라우저의 브라우저 어드레스 바에서 검출된 문자에 대응하는 하나 이상의 문자를 수신하는 단계와,
    검색 쿼리에 대해 적어도 하나의 애플리케이션을 랭킹하는 단계- 상기 검색 쿼리는 상기 하나 이상의 문자에 대응하는 적어도 하나의 키워드를 포함하고, 적어도 하나의 애플리케이션 각각은 앱 데이터베이스와 연계되어 유지됨 -와,
    상기 적어도 하나의 애플리케이션의 랭킹에 기초하여, 검색 결과인 상기 적어도 하나의 애플리케이션 중 애플리케이션을 선택하는 단계와,
    상기 선택된 애플리케이션의 식별을 상기 사용자 장치로 전송하는 단계와,
    상기 브라우저 내에서, 상기 전송된 식별에 기초하여 웹 문서의 콘텐트 내에 상기 애플리케이션이 표시되게 하는 단계- 상기 표시된 애플리케이션은 상기 애플리케이션으로의 링크를 포함함 -와,
    상기 링크의 사용자 선택에 응답하여, 또한 상기 애플리케이션이 상기 사용자 장치 상에 설치되었다고 검출된 것에 기초하여, 상기 애플리케이션을 상기 사용자 장치 상에서 자동으로 런칭하는 단계- 상기 애플리케이션은 상기 애플리케이션에 대한 진보된 엔트리 포인트를 설정하기 위해 상기 검색 쿼리에 대응하는 콘텍스트를 제공받음 -를 포함하는
    컴퓨터 판독가능 저장 매체.
  11. 제 10 항에 있어서,
    상기 진보된 엔트리 포인트는 상기 애플리케이션에 대한 디폴트 시작 홈페이지와 상이한
    컴퓨터 판독가능 저장 매체.
  12. 제 10 항에 있어서,
    상기 콘텍스트는 상기 애플리케이션과 연관된 네트워크 문서에 대응하는
    컴퓨터 판독가능 저장 매체.
  13. 제 10 항에 있어서,
    상기 콘텍스트는 상기 애플리케이션과 연관된 네트워크 어드레스에 대응하는
    컴퓨터 판독가능 저장 매체.
  14. 제 10 항에 있어서,
    상기 검출은 상기 애플리케이션이 상기 사용자 장치 상에 설치되어 있다고 판정하는 것을 포함하는
    컴퓨터 판독가능 저장 매체.
  15. 제 10 항에 있어서,
    상기 표시는 상기 웹 문서의 콘텐트 내에 상기 검색 결과인 상기 적어도 하나의 애플리케이션 중 추가 애플리케이션을 포함하고, 상기 표시된 추가 애플리케이션은 상기 사용자 장치에 상기 추가 애플리케이션을 설치하기 위해 사용자에 의해 선택가능한 링크를 갖는
    컴퓨터 판독가능 저장 매체.
  16. 컴퓨터로 구현된 시스템으로서,
    하나 이상의 프로세서와,
    상기 하나 이상의 프로세서에 의해 실행되는 경우 상기 하나 이상의 프로세서로 하여금 방법을 수행하게 하는 컴퓨터 사용가능 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체를 포함하되,
    상기 방법은
    사용자 장치 상의 브라우저의 브라우저 어드레스 바에서 검출된 문자에 대응하는 하나 이상의 문자를 수신하는 단계와,
    검색 쿼리에 대해 적어도 하나의 애플리케이션을 랭킹하는 단계- 상기 검색 쿼리는 상기 하나 이상의 문자에 대응하는 적어도 하나의 키워드를 포함하고, 적어도 하나의 애플리케이션 각각은 앱 데이터베이스와 연계되어 유지됨 -와,
    상기 적어도 하나의 애플리케이션의 랭킹에 기초하여, 검색 결과인 상기 적어도 하나의 애플리케이션 중 애플리케이션을 선택하는 단계와,
    상기 선택된 애플리케이션의 식별을 상기 사용자 장치로 전송하는 단계와,
    상기 브라우저 내에서, 상기 전송된 식별에 기초하여 웹 문서의 콘텐트 내에 상기 애플리케이션이 표시되게 하는 단계- 상기 표시된 애플리케이션은 상기 애플리케이션으로의 링크를 포함함 -와,
    상기 링크의 사용자 선택에 응답하여, 또한 상기 애플리케이션이 상기 사용자 장치 상에 설치되었다고 검출된 것에 기초하여, 상기 애플리케이션을 상기 사용자 장치 상에서 자동으로 런칭하는 단계- 상기 애플리케이션은 상기 애플리케이션에 대한 진보된 엔트리 포인트를 설정하기 위해 상기 검색 쿼리에 대응하는 콘텍스트를 제공받음 -를 포함하는
    컴퓨터로 구현된 시스템.
  17. 제 16 항에 있어서,
    상기 진보된 엔트리 포인트는 상기 애플리케이션에 대한 디폴트 시작 홈페이지와 상이한
    컴퓨터로 구현된 시스템.
  18. 제 16 항에 있어서,
    상기 콘텍스트는 상기 애플리케이션과 연관된 네트워크 문서에 대응하는
    컴퓨터로 구현된 시스템.
  19. 제 16 항에 있어서,
    상기 콘텍스트는 상기 애플리케이션과 연관된 네트워크 어드레스에 대응하는
    컴퓨터로 구현된 시스템.
  20. 제 16 항에 있어서,
    상기 검출은 상기 애플리케이션이 상기 사용자 장치 상에 설치되어 있다고 판정하는 것을 포함하는
    컴퓨터로 구현된 시스템.
KR1020187021040A 2011-06-16 2012-06-15 브라우징 액티비티에 기초하여 정합 애플리케이션을 식별하는 기법 KR102006396B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/161,792 US9519726B2 (en) 2011-06-16 2011-06-16 Surfacing applications based on browsing activity
US13/161,792 2011-06-16
PCT/US2012/042789 WO2012174458A2 (en) 2011-06-16 2012-06-15 Identifying matching applications based on browsing activity

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020137033425A Division KR101953303B1 (ko) 2011-06-16 2012-06-15 브라우징 액티비티에 기초하여 정합 애플리케이션을 식별하는 기법

Publications (2)

Publication Number Publication Date
KR20180087456A KR20180087456A (ko) 2018-08-01
KR102006396B1 true KR102006396B1 (ko) 2019-08-01

Family

ID=47354553

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020137033425A KR101953303B1 (ko) 2011-06-16 2012-06-15 브라우징 액티비티에 기초하여 정합 애플리케이션을 식별하는 기법
KR1020187021040A KR102006396B1 (ko) 2011-06-16 2012-06-15 브라우징 액티비티에 기초하여 정합 애플리케이션을 식별하는 기법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020137033425A KR101953303B1 (ko) 2011-06-16 2012-06-15 브라우징 액티비티에 기초하여 정합 애플리케이션을 식별하는 기법

Country Status (6)

Country Link
US (2) US9519726B2 (ko)
EP (2) EP2721515A4 (ko)
JP (1) JP5956569B2 (ko)
KR (2) KR101953303B1 (ko)
CN (3) CN108563750B (ko)
WO (2) WO2012174458A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11169991B2 (en) 2015-05-15 2021-11-09 Microsoft Technology Licensing, Llc System and method for extracting and sharing application-related user data

Families Citing this family (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9733934B2 (en) 2011-03-08 2017-08-15 Google Inc. Detecting application similarity
US20120311050A1 (en) * 2011-06-01 2012-12-06 Eitan Lev User browsing experience
JP5772331B2 (ja) * 2011-07-20 2015-09-02 カシオ計算機株式会社 学習装置及びプログラム
CA2854142A1 (en) * 2011-11-01 2013-05-10 Google Inc. Launching applications from webpages
KR20130065802A (ko) * 2011-11-30 2013-06-20 삼성전자주식회사 키워드를 이용한 애플리케이션 추천 시스템 및 방법
US8326831B1 (en) * 2011-12-11 2012-12-04 Microsoft Corporation Persistent contextual searches
US20130218860A1 (en) * 2012-02-22 2013-08-22 Trader Eye Ltd. Networked services via intermediaries
US11406906B2 (en) 2012-03-13 2022-08-09 Sony Interactive Entertainment LLC Network connected controller for direct to cloud gaming
US9345966B2 (en) 2012-03-13 2016-05-24 Sony Interactive Entertainment America Llc Sharing recorded gameplay to a social graph
US10913003B2 (en) * 2012-03-13 2021-02-09 Sony Interactive Entertainment LLC Mini-games accessed through a sharing interface
US10475084B2 (en) 2012-03-30 2019-11-12 Rewardstyle, Inc. System and method for dynamic creation of product links from a web browser application
US9569500B2 (en) * 2012-04-27 2017-02-14 Quixey, Inc. Providing a customizable application search
US8856168B2 (en) * 2012-04-30 2014-10-07 Hewlett-Packard Development Company, L.P. Contextual application recommendations
US8990183B2 (en) 2012-06-06 2015-03-24 Microsoft Technology Licensing, Llc Deep application crawling
CN103473225B (zh) * 2012-06-06 2016-04-06 腾讯科技(深圳)有限公司 页面显示方法和装置
US9317878B2 (en) 2012-06-10 2016-04-19 Apple Inc. User interface for accessing an applet in a browser on a mobile device
US9495456B2 (en) 2012-06-25 2016-11-15 Google Inc. Selecting, ranking, and/or presenting microsite content
KR20140009778A (ko) * 2012-07-13 2014-01-23 라인 가부시키가이샤 메신저 플랫폼의 사용자 관계정보에 기반하여 다양한 서비스를 제공하는 방법 및 시스템
US8589911B1 (en) * 2012-07-26 2013-11-19 Google Inc. Intent fulfillment
WO2014055468A2 (en) * 2012-10-01 2014-04-10 Yandex Europe Ag Method of and system for providing information to a user of a client device
US9352226B2 (en) 2012-12-21 2016-05-31 Sony Interactive Entertainment America Llc Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay
US9364743B2 (en) 2012-12-21 2016-06-14 Sony Interactive Entertainment America Llc Generation of a multi-part mini-game for cloud-gaming based on recorded gameplay
US9358461B2 (en) * 2012-12-26 2016-06-07 Sony Interactive Entertainment America Llc Systems and methods for ranking of cloud executed mini-games based on tag content and social network content
KR20140089751A (ko) * 2013-01-07 2014-07-16 엘지전자 주식회사 상황 인지를 이용한 지능형 검색 서비스 방법 및 그 단말기
US9002821B2 (en) 2013-01-16 2015-04-07 Google Inc. Indexing application pages of native applications
WO2014134598A1 (en) 2013-03-01 2014-09-04 Quixey, Inc. Generating search results containing state links to applications
US20140280131A1 (en) * 2013-03-13 2014-09-18 Motorola Mobility Llc Recommendations for Applications Based on Device Context
KR101995283B1 (ko) * 2013-03-14 2019-07-02 삼성전자 주식회사 휴대 단말기의 앱 제공 방법 및 시스템
US9146972B2 (en) 2013-03-15 2015-09-29 Google Inc. Ranking of presentation modes for particular content
US8996520B2 (en) 2013-03-15 2015-03-31 Google Inc. Ranking of native application content
US11263221B2 (en) 2013-05-29 2022-03-01 Microsoft Technology Licensing, Llc Search result contexts for application launch
US10430418B2 (en) 2013-05-29 2019-10-01 Microsoft Technology Licensing, Llc Context-based actions from a source application
US9135346B2 (en) 2013-06-07 2015-09-15 Google Inc. Index data for native applications
US20140365944A1 (en) 2013-06-09 2014-12-11 Apple Inc. Location-Based Application Recommendations
US20140379747A1 (en) * 2013-06-19 2014-12-25 Microsoft Corporation Identifying relevant apps in response to queries
CN103455566B (zh) * 2013-08-16 2017-06-06 北京奇虎科技有限公司 信息展示方法及装置
CN103399877B (zh) * 2013-08-19 2016-08-10 四川公用信息产业有限责任公司 基于Android应用的垂直搜索方法及系统
EP3039581A4 (en) 2013-08-29 2016-08-10 Yandex Europe Ag SYSTEM AND METHOD FOR DISPLAYING VERTICALLY RELEVANT VERTICAL RESEARCH RESULTS
US9311407B2 (en) 2013-09-05 2016-04-12 Google Inc. Native application search results
RU2583739C2 (ru) * 2013-10-16 2016-05-10 Общество С Ограниченной Ответственностью "Яндекс" Сервер для определения поисковой выдачи на поисковый запрос и электронное устройство
JP6414855B2 (ja) * 2013-11-06 2018-10-31 華為終端(東莞)有限公司 ページオペレーション処理方法および装置、ならびに端末
US9727545B1 (en) * 2013-12-04 2017-08-08 Google Inc. Selecting textual representations for entity attribute values
US10304110B2 (en) * 2013-12-26 2019-05-28 Ebay Inc. Ticket listing triggered by URL links
US9720672B2 (en) 2014-01-06 2017-08-01 Quixey, Inc. Searching and accessing application functionality
US10789554B2 (en) 2014-01-08 2020-09-29 Stubhub, Inc. Validity determination of an event ticket and automatic population of admission information
US9600258B2 (en) 2014-02-14 2017-03-21 Google Inc. Suggestions to install and/or open a native application
US20150242421A1 (en) * 2014-02-21 2015-08-27 Quixey, Inc. Location-Based Searching
US9608870B1 (en) 2014-02-28 2017-03-28 Google Inc. Deep link verification for native applications
US9251224B2 (en) 2014-03-04 2016-02-02 Google Inc. Triggering and ranking of native applications
US9652508B1 (en) 2014-03-05 2017-05-16 Google Inc. Device specific adjustment based on resource utilities
US10061796B2 (en) * 2014-03-11 2018-08-28 Google Llc Native application content verification
US9645980B1 (en) 2014-03-19 2017-05-09 Google Inc. Verification of native applications for indexing
US9524347B1 (en) 2014-04-01 2016-12-20 Google Inc. Automatically implementing an application in response to a search query
US9513961B1 (en) 2014-04-02 2016-12-06 Google Inc. Monitoring application loading
US9785974B1 (en) * 2014-04-18 2017-10-10 Rocket Fuel Inc. Identifying mobile application installations
US20150347912A1 (en) * 2014-05-27 2015-12-03 Sony Corporation Activity tracking based recommendation
US9767159B2 (en) 2014-06-13 2017-09-19 Google Inc. Ranking search results
US9418128B2 (en) 2014-06-13 2016-08-16 Microsoft Technology Licensing, Llc Linking documents with entities, actions and applications
US10210263B1 (en) * 2014-06-24 2019-02-19 Google Llc Native application search results
US10013496B2 (en) 2014-06-24 2018-07-03 Google Llc Indexing actions for resources
JP6363738B2 (ja) 2014-06-24 2018-07-25 グーグル エルエルシー ネイティブアプリケーションに関する検索結果
US9892190B1 (en) 2014-06-25 2018-02-13 Google Inc. Search suggestions based on native application history
CN106663108B (zh) 2014-06-25 2020-08-04 谷歌有限责任公司 用于原生应用的深链接
CN104077390A (zh) * 2014-06-27 2014-10-01 北京奇虎科技有限公司 基于浏览器的搜索展示方法、装置和电子设备
RU2597476C2 (ru) 2014-06-27 2016-09-10 Общество С Ограниченной Ответственностью "Яндекс" Система и способ выполнения поиска
US9811352B1 (en) 2014-07-11 2017-11-07 Google Inc. Replaying user input actions using screen capture images
US10146559B2 (en) * 2014-08-08 2018-12-04 Samsung Electronics Co., Ltd. In-application recommendation of deep states of native applications
US9043333B1 (en) 2014-08-19 2015-05-26 Adlast, Inc. Systems and methods for directing access to products and services
US9928623B2 (en) * 2014-09-12 2018-03-27 International Business Machines Corporation Socially generated and shared graphical representations
CN104199982B (zh) * 2014-09-25 2017-09-26 北京金山安全软件有限公司 一种对搜索关键词进行显示的方法及装置
US20160092565A1 (en) * 2014-09-26 2016-03-31 Microsoft Corporation Unified Search on a Personal Computing Device
US10474680B2 (en) * 2014-10-09 2019-11-12 Splunk Inc. Automatic entity definitions
US9626443B2 (en) 2014-10-23 2017-04-18 Quixey, Inc. Searching and accessing application functionality
US10936584B2 (en) * 2014-12-19 2021-03-02 Samsung Electronics Co., Ltd. Searching and accessing application-independent functionality
CN105812231B (zh) * 2014-12-29 2019-11-05 阿里巴巴集团控股有限公司 聊天记录的快速识别方法及其装置
US9836542B2 (en) * 2015-01-19 2017-12-05 Microsoft Technology Licensing, Llc Web application retrieval and display of web content based information with web content
CN104640100A (zh) * 2015-01-22 2015-05-20 沈文策 一种自动推广app方法
US9767091B2 (en) * 2015-01-23 2017-09-19 Microsoft Technology Licensing, Llc Methods for understanding incomplete natural language query
RU2606879C2 (ru) * 2015-02-06 2017-01-10 Общество С Ограниченной Ответственностью "Яндекс" Способ управления электронным устройством и электронное устройство
JP6672591B2 (ja) * 2015-02-13 2020-03-25 コニカミノルタ株式会社 情報処理装置、サービス享受方法、およびコンピュータプログラム
US20160306531A1 (en) * 2015-04-16 2016-10-20 Microsoft Technology Licensing, Llc Dynamic Launch Behavior Based on Context Information
US10031954B2 (en) * 2015-04-23 2018-07-24 Oath Inc. Method and system for presenting a search result in a search result card
US9946529B2 (en) 2015-05-01 2018-04-17 Samsung Electronics Co., Ltd. Function-based dynamic application extension framework
US10318525B2 (en) * 2015-06-07 2019-06-11 Apple Inc. Content browsing user interface
US9838458B2 (en) * 2015-06-08 2017-12-05 Wesley John Boudville Cookies and anti-ad blocker using deep links in mobile apps
CN107592930B (zh) * 2015-06-15 2020-12-29 谷歌有限责任公司 应用的自动爬取
US10628559B2 (en) 2015-06-23 2020-04-21 Microsoft Technology Licensing, Llc Application management
TW201702955A (zh) * 2015-07-15 2017-01-16 Chunghwa Telecom Co Ltd 相異網站間進行共同行銷推廣的系統及方法
US9348671B1 (en) 2015-07-23 2016-05-24 Google Inc. Monitoring application loading
US9910685B2 (en) * 2015-08-13 2018-03-06 Samsung Electronics Co., Ltd. System and method for identifying, indexing, and navigating to deep states of mobile applications
US10970646B2 (en) * 2015-10-01 2021-04-06 Google Llc Action suggestions for user-selected content
US10534780B2 (en) 2015-10-28 2020-01-14 Microsoft Technology Licensing, Llc Single unified ranker
US10146842B2 (en) * 2015-11-19 2018-12-04 Google Llc Pre-instantiating native applications in background
CN105488112B (zh) * 2015-11-20 2019-09-17 小米科技有限责任公司 信息推送方法及装置
CN105446602B (zh) * 2015-11-24 2019-04-16 努比亚技术有限公司 定位文章关键词的装置和方法
US10832276B2 (en) * 2015-11-25 2020-11-10 Oath Inc. Systems and methods for ad placement in content streams
KR20170077714A (ko) * 2015-12-28 2017-07-06 삼성전자주식회사 어플리케이션 실행 방법 및 이를 지원하는 전자 장치
US9898260B2 (en) * 2015-12-28 2018-02-20 Samsung Electronics Co., Ltd. Adaptive function-based dynamic application extension framework
US10083222B1 (en) * 2016-03-29 2018-09-25 Sprint Communications Company L.P. Automated categorization of web pages
US20170322704A1 (en) * 2016-05-03 2017-11-09 Google Inc. Composition of a user interface through data binding
CN106325739A (zh) * 2016-08-01 2017-01-11 孟海同 经过点阵轨迹的表现和在软件中输入轨迹打开链接的方法
US10535005B1 (en) 2016-10-26 2020-01-14 Google Llc Providing contextual actions for mobile onscreen content
US11269961B2 (en) * 2016-10-28 2022-03-08 Microsoft Technology Licensing, Llc Systems and methods for App query driven results
US20180143816A1 (en) * 2016-11-18 2018-05-24 Google Inc. Reducing latency between clicking media content and landing on a resulting application installation page
US20180152528A1 (en) * 2016-11-28 2018-05-31 Microsoft Technology Licensing, Llc Selection systems and methods
TWI667581B (zh) * 2016-12-09 2019-08-01 中華電信股份有限公司 URL classification method and computer program product
US10331480B2 (en) * 2017-02-22 2019-06-25 Microsoft Technology Licensing, Llc Contextual application organizer framework for user life events
US10831511B2 (en) * 2017-04-04 2020-11-10 Adp, Llc Customized application programming interface presentation
WO2018201365A1 (zh) * 2017-05-04 2018-11-08 深圳市卓希科技有限公司 一种网页访问方法和终端设备
CN107329791A (zh) * 2017-07-03 2017-11-07 深圳Tcl新技术有限公司 扫描安装应用的方法、装置及计算机可读存储介质
US10503467B2 (en) * 2017-07-13 2019-12-10 International Business Machines Corporation User interface sound emanation activity classification
CN108182201B (zh) * 2017-11-29 2020-06-30 有米科技股份有限公司 基于重点关键词的应用拓展方法和装置
US10693971B2 (en) * 2018-02-21 2020-06-23 Microsoft Technology Licensing, Llc Identifying the best suitable application to open a file shared via a link
WO2019177283A1 (en) * 2018-03-15 2019-09-19 Samsung Electronics Co., Ltd. Method and electronic device for enabling contextual interaction
CN110869907B (zh) * 2018-03-28 2021-10-01 华为技术有限公司 一种浏览应用页面的方法及终端
US10148525B1 (en) 2018-04-13 2018-12-04 Winshuttle, Llc Methods and systems for mitigating risk in deploying unvetted data handling rules
CN108984663A (zh) * 2018-06-28 2018-12-11 上海掌门科技有限公司 一种页面内容搜索、显示的方法及设备
CN109040794B (zh) * 2018-08-01 2021-05-25 北京奇艺世纪科技有限公司 一种视频网站导流方法及装置
KR20210082250A (ko) * 2018-12-07 2021-07-02 구글 엘엘씨 하나 이상의 컴퓨터 애플리케이션에서 사용 가능한 액션을 선택하고 사용자에게 제공하기 위한 시스템 및 방법
CN109710794B (zh) * 2018-12-29 2021-01-15 联想(北京)有限公司 一种信息处理方法和电子设备
EP3868077A1 (en) * 2019-08-08 2021-08-25 Google LLC Low entropy browsing history for content quasi-personalization
US11194866B2 (en) 2019-08-08 2021-12-07 Google Llc Low entropy browsing history for content quasi-personalization
US11144720B2 (en) * 2019-08-26 2021-10-12 Roblox Corporation Determining canonical content for a game
JP7379943B2 (ja) 2019-08-30 2023-11-15 ブラザー工業株式会社 通信システムと端末のための接続アプリケーションと通信装置
CN111767069B (zh) * 2020-06-30 2024-03-15 北京百度网讯科技有限公司 小程序处理方法、服务器、设备及存储介质
EP4322030A1 (en) * 2022-08-12 2024-02-14 Apple Inc. Online meta-learning for scalable item-to-item relationships

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070288648A1 (en) 2002-11-18 2007-12-13 Lara Mehanna Host-based intelligent results related to a character stream
US20080235187A1 (en) 2007-03-23 2008-09-25 Microsoft Corporation Related search queries for a webpage and their applications

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804659B1 (en) * 2000-01-14 2004-10-12 Ricoh Company Ltd. Content based web advertising
JPH11194865A (ja) 1998-01-06 1999-07-21 Canon Inc 情報処理装置及び情報処理方法及びコンピュータ読み出し可能なプログラム製品
US7720723B2 (en) * 1998-09-18 2010-05-18 Amazon Technologies, Inc. User interface and methods for recommending items to users
US6366906B1 (en) * 1999-07-15 2002-04-02 International Business Machines Corporation Method and apparatus for implementing a search selection tool on a browser
US6785671B1 (en) * 1999-12-08 2004-08-31 Amazon.Com, Inc. System and method for locating web-based product offerings
US6928467B2 (en) 2000-02-02 2005-08-09 Inno Path Software, Inc. Apparatus and methods for providing data synchronization by facilitating data synchronization system design
US6615237B1 (en) * 2000-02-04 2003-09-02 Microsoft Corporation Automatic searching for data in a network
US7454523B2 (en) * 2001-03-16 2008-11-18 Intel Corporation Geographic location determination including inspection of network address
JP2003228576A (ja) 2002-02-06 2003-08-15 Fujitsu Ltd インターネット検索支援装置及び方法、並びに当該方法を用いたインターネット検索支援プログラム
US9946788B2 (en) 2002-07-23 2018-04-17 Oath Inc. System and method for automated mapping of keywords and key phrases to documents
US7079839B1 (en) * 2003-03-24 2006-07-18 Sprint Spectrum L.P. Method and system for push launching applications with context on a mobile device
US20080281816A1 (en) * 2003-12-01 2008-11-13 Metanav Corporation Dynamic Keyword Processing System and Method For User Oriented Internet Navigation
US7890526B1 (en) * 2003-12-30 2011-02-15 Microsoft Corporation Incremental query refinement
US7260568B2 (en) 2004-04-15 2007-08-21 Microsoft Corporation Verifying relevance between keywords and web site contents
US20050267872A1 (en) * 2004-06-01 2005-12-01 Yaron Galai System and method for automated mapping of items to documents
US7788260B2 (en) * 2004-06-14 2010-08-31 Facebook, Inc. Ranking search results based on the frequency of clicks on the search results by members of a social network who are within a predetermined degree of separation
US7499940B1 (en) * 2004-11-11 2009-03-03 Google Inc. Method and system for URL autocompletion using ranked results
US7584194B2 (en) * 2004-11-22 2009-09-01 Truveo, Inc. Method and apparatus for an application crawler
US20060155728A1 (en) 2004-12-29 2006-07-13 Jason Bosarge Browser application and search engine integration
US7466859B2 (en) * 2004-12-30 2008-12-16 Motorola, Inc. Candidate list enhancement for predictive text input in electronic devices
US20070260597A1 (en) * 2006-05-02 2007-11-08 Mark Cramer Dynamic search engine results employing user behavior
US8209320B2 (en) * 2006-06-09 2012-06-26 Ebay Inc. System and method for keyword extraction
US8645973B2 (en) 2006-09-22 2014-02-04 Oracle International Corporation Mobile applications
US20080270228A1 (en) * 2007-04-24 2008-10-30 Yahoo! Inc. System for displaying advertisements associated with search results
US8533176B2 (en) 2007-06-29 2013-09-10 Microsoft Corporation Business application search
CN101136938B (zh) 2007-09-10 2011-04-27 北京易路联动技术有限公司 一种移动互联网应用的集中式管理方法和平台系统
US7739358B2 (en) 2008-02-11 2010-06-15 The Go Daddy Group, Inc. Systems and methods for recommending website hosting applications
US8595241B2 (en) * 2008-06-22 2013-11-26 Newscred, Inc. System and method for augmenting digital media with custom content
CN101420325B (zh) * 2008-11-21 2012-03-07 华为技术有限公司 一种软件包的自动部署方法、装置和系统
KR20100061136A (ko) 2008-11-28 2010-06-07 이데일리비즈 주식회사 통신망을 이용한 광고 제공 시스템 및 광고 제공방법
JP5257311B2 (ja) * 2008-12-05 2013-08-07 ソニー株式会社 情報処理装置、および情報処理方法
US8260938B2 (en) * 2009-01-23 2012-09-04 Google Inc. Predicting user requests to reduce network connection latency
CN101504669B (zh) * 2009-03-06 2011-08-24 阿里巴巴集团控股有限公司 一种Web应用的模板发布方法、装置及系统
US8386455B2 (en) 2009-09-20 2013-02-26 Yahoo! Inc. Systems and methods for providing advanced search result page content
JP5238886B2 (ja) 2009-09-24 2013-07-17 株式会社東芝 キーワード抽出装置、およびプログラム
JP2011076566A (ja) 2009-10-02 2011-04-14 Sharp Corp 情報処理装置、端末装置、サーバ装置、通信システム、表示制御方法、プログラム、およびコンピュータ読取り可能な記録媒体
US8515979B2 (en) * 2010-06-18 2013-08-20 Verizon Patent And Licensing, Inc. Cross application execution service
US8615510B2 (en) * 2010-09-01 2013-12-24 Yahoo! Inc. Quick applications for search
CN101944112A (zh) * 2010-09-15 2011-01-12 宇龙计算机通信科技(深圳)有限公司 软件推送方法、系统、移动终端和软件推送服务器
US20120096435A1 (en) 2010-10-18 2012-04-19 Microsoft Corporation Capability-based application recommendation
US8762360B2 (en) * 2011-05-06 2014-06-24 Microsoft Corporation Integrating applications within search results
WO2012154838A2 (en) 2011-05-09 2012-11-15 Google Inc. Generating application recommendations based on user installed applications
EP2710466A1 (en) 2011-05-09 2014-03-26 Google, Inc. Identifying applications of interest based on application metadata
CN102360364A (zh) 2011-09-30 2012-02-22 奇智软件(北京)有限公司 一种应用自动推荐的方法及装置
KR101812657B1 (ko) 2011-11-22 2018-01-31 삼성전자주식회사 컨텍스트 정보에 기초한 애플리케이션 추천 시스템 및 방법
US20130198029A1 (en) 2012-01-26 2013-08-01 Microsoft Corporation Application recommendation and substitution
US9372901B2 (en) 2012-04-27 2016-06-21 Quixey, Inc. Searching for software applications based on application attributes
US9152674B2 (en) 2012-04-27 2015-10-06 Quixey, Inc. Performing application searches

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070288648A1 (en) 2002-11-18 2007-12-13 Lara Mehanna Host-based intelligent results related to a character stream
US20080235187A1 (en) 2007-03-23 2008-09-25 Microsoft Corporation Related search queries for a webpage and their applications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11169991B2 (en) 2015-05-15 2021-11-09 Microsoft Technology Licensing, Llc System and method for extracting and sharing application-related user data

Also Published As

Publication number Publication date
KR20140038463A (ko) 2014-03-28
KR101953303B1 (ko) 2019-02-28
EP2721515A4 (en) 2015-02-25
CN103620583A (zh) 2014-03-05
CN108563750B (zh) 2022-03-29
CN103620588A (zh) 2014-03-05
EP2721519A4 (en) 2015-02-25
EP2721519A2 (en) 2014-04-23
US20170083527A1 (en) 2017-03-23
JP2014518419A (ja) 2014-07-28
US10592515B2 (en) 2020-03-17
JP5956569B2 (ja) 2016-07-27
KR20180087456A (ko) 2018-08-01
CN103620583B (zh) 2016-10-19
WO2012174458A3 (en) 2013-04-25
US9519726B2 (en) 2016-12-13
EP2721515A2 (en) 2014-04-23
WO2012174458A2 (en) 2012-12-20
CN108563750A (zh) 2018-09-21
US20120323898A1 (en) 2012-12-20
CN103620588B (zh) 2018-05-22
WO2012174457A3 (en) 2013-05-10
WO2012174457A2 (en) 2012-12-20

Similar Documents

Publication Publication Date Title
KR102006396B1 (ko) 브라우징 액티비티에 기초하여 정합 애플리케이션을 식별하는 기법
US11750683B2 (en) Computer application promotion
US9483388B2 (en) Discovery of application states
US9645797B2 (en) Development system and method for providing external functionality
US8762360B2 (en) Integrating applications within search results
US20130166527A1 (en) System and methods thereof for dynamically updating the contents of a folder on a device
US20170060966A1 (en) Action Recommendation System For Focused Objects
JP2018518726A (ja) 情報検索ナビゲーション方法及び装置
US9679081B2 (en) Navigation control for network clients
CN106681598B (zh) 信息输入方法和装置
US20160191338A1 (en) Retrieving content from an application
US10002113B2 (en) Accessing related application states from a current application state
US10853470B2 (en) Configuration of applications to desired application states

Legal Events

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