KR20090010210A - 내장된 광고를 갖는 컴퓨터 애플리케이션, 컴퓨터-구현 광고 컴포넌트 및 컴퓨터 구현 방법 - Google Patents

내장된 광고를 갖는 컴퓨터 애플리케이션, 컴퓨터-구현 광고 컴포넌트 및 컴퓨터 구현 방법 Download PDF

Info

Publication number
KR20090010210A
KR20090010210A KR1020087028348A KR20087028348A KR20090010210A KR 20090010210 A KR20090010210 A KR 20090010210A KR 1020087028348 A KR1020087028348 A KR 1020087028348A KR 20087028348 A KR20087028348 A KR 20087028348A KR 20090010210 A KR20090010210 A KR 20090010210A
Authority
KR
South Korea
Prior art keywords
component
application
computer
command
user
Prior art date
Application number
KR1020087028348A
Other languages
English (en)
Other versions
KR101479348B1 (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 KR20090010210A publication Critical patent/KR20090010210A/ko
Application granted granted Critical
Publication of KR101479348B1 publication Critical patent/KR101479348B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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
    • G06Q30/0255Targeted advertisements based on user history
    • G06Q30/0256User search

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

광고-수익형 소프트웨어 개발을 용이하게 해주는 시스템 및 방법이 제공된다. 소프트웨어 애플리케이션이 지원하는 명령에 기초하여 그 애플리케이션에 광고가 내장된다. 일 실시예에서, 개발자, 광고주 및/또는 소프트웨어 사용자는 명령에 대한 질의를 수행할 수 있다. 이 기능은 광고의 사례 및/또는 광고의 기회를 식별하는 프로세스를 간단화시켜준다.
Figure P1020087028348
광고-수익형 소프트웨어 개발, CPM, CPC, CPA, 명령 질의

Description

내장된 광고를 갖는 컴퓨터 애플리케이션, 컴퓨터-구현 광고 컴포넌트 및 컴퓨터 구현 방법{SOFTWARE APPLICATIONS WITH EMBEDDED ADVERTISEMENTS}
현재, 소프트웨어를 소비자에게 배포하는 한가지 수단은 라이센싱 방식의 구현을 통하는 것이다. 통상적인 소프트웨어 라이센스는 라이센스 취득자가 지정된 조건에 따라 어떤 소프트웨어를 사용할 수 있게 해주는 계약이다. 라이센스 취득자는 계약의 조건에 따라 소프트웨어를 사용할 권한에 대해 비용을 지불하거나 지불하지 않을 수 있다. 지불은 성질상 금전적인 것이거나 금전적인 것이 아닐 수도 있다. 비금전적인 지불의 예로는 소비자가 소프트웨어 애플리케이션을 현상태로 사용할 권리에 대한 보답으로 소프트웨어 애플리케이션에 대한 개선을 누구나 사용하도록 공개하기로 합의하는 시나리오가 있다.
어떤 경우에, 소비자는 액세스가 허여되기 전에 소프트웨어에 대해 선불로 지불을 한다. 다른 경우에, 소비자는 동일한 또는 유사한 제품의 실제 구매에 앞서 시험 기간 동안에 무료 액세스를 제공받을 수 있다. 시험 기간 동안에 액세스되는 소프트웨어의 버전은 실제로 구매되는 버전과 비교하여 동일하거나 다를 수 있다. 시험 버전은 때때로 실제의 구매된 제품의 축소 버전이다. 본 명세서에 제공된 예들은 소프트웨어를 소비자에게 배포하는 것을 용이하게 해주기 위해 현재 구현되는 많은 방식들 중 단지 몇개에 불과하다.
인터넷은 다른 소프트웨어 배포 시스템에 기회를 제공한다. 실제로, 현재 광고로 보충되는 어떤 수준의 무료 온라인 소프트웨어 기능을 제공하는 경향이 있다. 이 경우에, 통상적으로 소비자가 아니라 광고주가 소프트웨어의 스폰서에 보상을 한다. 이것의 한가지 특정의 예가 검색 엔진 광고로서, 이 경우 광고주가 검색 엔진 소비자에 의해 행해지는 검색과 관련한 광고 게재에 대해 지불을 한다.
시간이 지남에 따라, 소프트웨어 개발에 대한 자금이 소비자가 소프트웨어에 대해 선불로 지불을 하는 것보다는 광고에 의해 제공되는 일이 많게 될 가능성이 있다. 따라서, 소프트웨어 개발자, 광고주 및/또는 소프트웨어 소비자의 마음에 들 가능성이 있는 방식으로 광고-수익형 소프트웨어 개발을 용이하게 해주는 시스템 및 방법이 필요하다.
이상의 설명은 일반적인 배경 정보를 위해 제공된 것에 불과하며 청구된 발명 대상의 범위를 정하는 데 보조 수단으로 사용하기 위한 것이 아니다.
<발명의 개요>
광고-수익형 소프트웨어 개발을 용이하게 해주는 시스템 및 방법이 제공된다. 애플리케이션이 지원하는 명령에 기초하여 소프트웨어 애플리케이션에 광고가 내장된다. 일 실시예에서, 개발자, 광고주 및/또는 소프트웨어 사용자는 명령에 대한 질의를 수행할 수 있다. 이러한 기능은 광고의 사례 및/또는 광고의 기회를 식별하는 프로세스를 간략화시킨다.
이 요약은 이하에서 상세한 설명에 더 기술되는 선택된 개념들을 간략화된 형태로 소개하기 위해 제공된 것이다. 이 요약은 청구된 발명 대상의 주요한 특징 들 또는 필수적인 특징들을 확인하기 위한 것이 아니며 청구된 발명 대상의 범위를 정하는 데 보조 수단으로 사용하기 위한 것도 아니다. 청구된 발명 대상은 배경 기술에서 언급한 단점들 모두를 해결하는 구현들에 한정되는 것이 아니다.
도 1은 애플리케이션 명령이 사용자에게 광고 컨텐츠를 전달하는 기초로서 이용될 수 있게 해주는 광고 시스템의 개략 블록도.
도 2는 사용자가 광고와 연관된 명령을 만날 때 보게 될 수 있는 것의 일례를 나타낸 간략화된 스크린샷.
도 3은, 소프트웨어 개발자 및 광고주의 관점에서 볼 때, 다양한 위험을 개략적으로 나타낸 도면.
도 4A는, 시스템 관점에서 볼 때, 명령 실행에 대한 광고-지향 대안을 제공하는 단계들을 나타낸 블록 흐름도.
도 4B는, 시스템 관점에서 볼 때, 실행된 명령에 관련된 광고를 제공하는 단계들을 나타낸 블록 흐름도.
도 4C는, 시스템의 관점에서 볼 때, 개발자 또는 게시자에게 광고 기회를 제공하는 단계들을 나타낸 블록 흐름도.
도 4D는, 시스템의 관점에서 볼 때, 광고주에게 광고 기회를 제공하는 단계들을 나타낸 블록 흐름도.
도 5는 일 실시예에 따른, 명령 검색 및 처리가 클라이언트 상에서 수행되는 컴퓨팅 환경의 블록도.
도 6은 도 5에 도시된 시스템의 동작의 일 실시예를 나타낸 흐름도.
도 7은 검색 요청의 입력을 수신하는 데 사용될 수 있는 한 그래픽 사용자 인터페이스를 나타낸 도면.
도 8A는, 시스템의 관점에서 볼 때, 명령 검색 아키텍처 내에 광고를 제공하는 일반화된 단계들을 나타낸 블록 흐름도.
도 8B는, 시스템의 관점에서 볼 때, 개발자가 애플리케이션 기능에 주석을 첨부할 수 있게 해주는 일반화된 단계들을 나타낸 블록 흐름도.
도 8C는, 시스템의 관점에서 볼 때, 광고주가 광고 기회를 검색할 수 있게 해주는 일반화된 단계들을 나타낸 블록 흐름도.
도 9는 실시예들이 구현될 수 있는 적당한 컴퓨팅 시스템 환경(900)의 일례를 나타낸 도면.
도 10은 다른 예시적인 컴퓨팅 환경인 모바일 장치의 블록도.
사용자들은 애플리케이션에서 작업을 완료하기 위해 명령을 사용한다. 통상적으로, 명령은 메뉴, 도구모음, 및 버튼(이에 한정되지 않음) 등의 그래픽 사용자 인터페이스(GUI)를 사용하여 사용자에게 노출된다. 어떤 경우에, 명령은 하이퍼링크의 구현을 통해 노출될 수 있다. 사용자가 이들 및 다른 유형의 장치를 사용하여 명령을 실행할 때, 애플리케이션은 연관된 작업의 완료를 용이하게 해주는 코드를 실행한다.
도 1은 애플리케이션 명령이 사용자에게 광고 컨텐츠를 전달하는 기초로서 이용될 수 있게 해주는 광고 시스템(100)의 개략 블록도이다. 소프트웨어 개발자(108)란 예로서 소프트웨어 애플리케이션(102)의 개발을 맡고 있는 회사 또는 개인을 말한다. 소프트웨어 애플리케이션(102)은 명령(104)을 포함한다. 적어도 하나의 명령(104)이 광고(106)와 연관되어 있다.
사용자(114)는 소프트웨어 애플리케이션(102)을 이용하고, 그렇게 하는 중에 하나 이상의 명령(104)을 만난다. 사용자(114)가 광고(106)와 연관된 명령(104)을 만날 때, 사용자에게 대응하는 광고 컨텐츠가 제공된다. 구현의 기본 설정(implementation preference)에 따라, 광고는 사용자가 명령 요소를 만나고 나서 명령 요소의 실제 선택/실행 이전에 나타나도록 구성될 수 있거나, 다른 대안으로서, 광고는 명령 요소의 선택/실행 후에만 나타나도록 구성될 수 있다. 일 실시예에서, 광고는 선택/실행 이전에 제공되고 기초가 되는 명령(underlying command)의 선택/실행의 대안으로 삼기 위한 것이다(예를 들어, 인쇄 서비스 광고가 기초가 되는 인쇄 명령을 실행하는 대안으로서 제시된다).
광고주(112)란 예로서 광고(106)의 스폰서를 말한다. 당업자라면 사용자(114), 개발자(108) 및 광고주(112) 간의 관계를 강화시켜주는 많은 방식이 있다는 것을 잘 알 것이다. 일 실시예에서, 중앙집중식 광고 컴포넌트(110)가 제공된다. 도 1에서, 컴포넌트(110)는 컴포넌트(110) 등의 중앙집중식 강화 컴포넌트가 일반적인 방식의 구현에 꼭 필요한 것은 아님을 강조하기 위해 점선으로 나타내어져 있다. 그렇지만, 컴포넌트(110)는 전체 시스템 기능을 위한 중앙집중식 기반구조를 제공하도록 구성될 수 있다는 점에서 상기한 시스템에 유익하다. 이러한 기 반구조에 의해, 사용자(114)는 광고-수익형 애플리케이션(102)을 찾아내어 사용할 수 있게 되고, 광고주는 이들 애플리케이션에 광고를 할 수 있게 되며, 및/또는 소프트웨어 개발자는 그의 애플리케이션을 배포하여 광고주로 하여금 그의 애플리케이션에 광고하게 할 수 있게 된다.
중앙집중식 광고 컴포넌트(110)는 예로서 소프트웨어 컴포넌트(예를 들어, 사용자, 개발자 및/또는 광고주가 액세스할 수 있는 웹 사이트)이지만, 꼭 그럴 필요는 없다. 컴포넌트(110)는 개발자(108)에 의해, 광고주(112)에 의해 및/또는 개발자(108) 및 광고주(112)와 완전히 무관한 실체에 의해 제공되거나 후원될 수 있다. 컴포넌트(110)에 의해 제공되는 기반구조는 광고주(112)가 직접 또는 간접으로 개발자(108)에게 광고 게재에 대한 보상을 하는 보상 방식의 구현을 지원할 수 있다.
일 실시예에서, 중앙집중식 광고 컴포넌트(110)는 사용자(114), 개발자(108) 및 광고주(112) 간의 사업 관계를 강화시켜준다. 컴포넌트(110)는 다양한 보상 방식들 중 임의의 방식을 용이하게 해주도록 구성될 수 있다. 예를 들어, 특정의 소프트웨어 개발자(108)에게 광고 게재에 대한 보상을 하는 것에 부가하여, 광고주(112)는 또한 컴포넌트(110)의 스폰서에게 애플리케이션(102) 내에 광고 게재하는 것을 용이하게 해주는 서비스에 대한 보상을 할 필요가 있을 수 있다. 일 실시예에서, 컴포넌트(110)의 스폰서가 광고주(112) 대신에 개발자(108)에게 보상을 할 책임이 있다. 다른 실시예에서, 개발자(108)가 광고주(112) 대신에 컴포넌트(110)의 스폰서에게 보상을 할 책임이 있다. 당업자라면 이들 및 다른 유사한 보상 방 식이 본 발명의 범위 내에 속한다는 것을 잘 알 것이다.
컴포넌트(110)의 기능이 보상을 용이하게 해주는 것에 꼭 한정되지는 않는다. 예를 들어, 컴포넌트(110)는 광고를 명령에 연결시키는 직관적 프로세스를 용이하게 해주도록 구성될 수 있다. 게다가, 광고 컴포넌트(110)는 다수의 광고주(112)가 어떤 식별된 애플리케이션 및/또는 어떤 식별된 명령과 관련하여 광고를 내보낼 권리를 얻기 위한 경매(예를 들어, 실시간 경매)에서 서로 경합하여 입찰할 수 있게 해주도록 구성될 수 있다. 예를 들어, 일 실시예에서, 컴포넌트(110)를 통해, 광고주(112)는 예로서 그의 광고 필요성 및 선호도에 따라 서로 다른 애플리케이션으로부터 서로 다른 명령을 선택(또는 그에 입찰)할 수 있다. 물론, 다수의 광고주가 동일한 또는 서로 다른 명령과 관련하여 동일한 애플리케이션 내에서 광고하는 것을 용이하게 해주도록 광고 컴포넌트(110)가 구성될 수 있는 것이 생각된다. 당업자라면 상기한 광고 시스템(100)에 내재된 유연성을 잘 알 것이다.
도 2는 사용자(114)가 광고(106)와 연관된 명령(104)을 만날 때 사용자(114)가 볼지도 모르는 것의 일례를 나타낸 간략화된 스크린샷이다. 이 경우에, 사용자는 사진 애플리케이션 내에 있는 파일 드롭다운 메뉴(204)에 나타나는 인쇄 명령(202)에 이르렀다. 로컬 또는 네트워크 프린터로 인쇄하기 위한 명령(206)의 선택/실행에 대한 대안으로서 사진을 인쇄하는 회사와 연관된 하이퍼링크인 광고(208, 210)가 자동적으로 제공된다. 어떤 경우에, 시스템 제약으로 인해 다수의 광고가 주어진 명령과 연관되지 못할 수도 있다. 이러한 경우에, 광고주들은 명령과 연관될 권리를 얻기 위해 어쩔 수 없이 서로 경합하여 입찰해야 할지도 모른다.
광고(206, 208) 중 하나를 선택하면 예로서 로컬적으로 인쇄하는 것에 대한 대안으로서 광고주에 의해 후원되는 옵션들로 사용자를 안내한다. 당업자라면 광고(106)의 형태가 링크(208, 210) 등의 인터넷 하이퍼링크의 단순한 실행에 한정되지 않는다는 것을 잘 알 것이다. 실제로, 광고는 별도의 메뉴, 대화 상자, 시스템, 마법사, 기타 등등으로 이어지게 될 수 있고 및/또는 이들 안에 포함되어 있을 수 있다. 예를 들어, 사용자가 인쇄 명령(202)과 연관된 광고(212)를 선택할 때, 사용자는 특정의 사진 인쇄업체에 의해 후원되는 복잡한 다중-화면 인쇄 마법사를 제공받을 수 있다. 따라서, 광고주에게는 본질적으로 제품 및/또는 서비스를 판촉 및/또는 판매하기 위해 애플리케이션에 가치를 부가할 동기가 있다.
소프트웨어 애플리케이션 내에서 상기한 명령-지향 광고를 지원하기 위해 다양한 서로 다른 광고 비지니스 모델 중 어느 것이라도 이용될 수 있다. 예를 들어, 사용자가 어떤 애플리케이션 명령을 수행할 때 광고주가 광고에 대해 지불을 하도록 CPM(cost per thousand impressions, 1000회 노출당 비용) 모델이 이용될 수 있다. 일반적으로, 광고주의 광고가 보여질 때마다 광고주가 지불을 하는 것에 착안하고 있다.
다른 옵션은 CPC(cost per click, 클릭당 비용) 모델이다. 이 모델에서, 광고주는 그의 광고가 사용자에 의해 선택(예를 들어, 클릭)될 때에만 지불한다. 일 실시예에서, 광고주가 지불하는 가격은 광고의 목표 설정이 얼마나 잘 되어 있는지에 따라 할인 또는 할증이 적용될 수 있도록 "클릭율"(click-through rate)에 기초한다.
다른 옵션은 CPA(cost per action, 행동당 비용) 모델이다. 이 모델에서, 광고주는 특정의 행동이 수행될 때에만 지불을 한다. 예를 들어, 광고주는 사용자가 가입을 하거나, 광고 전단을 주문하거나, 기타 등등을 할 때에만 지불을 한다. CPA 모델과 유사한 또 다른 옵션은 제휴 프로그램 또는 수익 공유 프로그램으로서, 이 경우 광고주는 자기에게 고객을 보내주는 자에게 그의 수익의 일부를 기꺼이 지불한다.
도 3은, 소프트웨어 개발자 및 광고주의 관점에서 볼 때, 소프트웨어 애플리케이션 내에서 상기한 명령-지향 광고를 지원하기 위해 이용될 수 있는 서로 다른 광고 비지니스 모델과 관련한 다양한 위험을 개략적으로 나타낸 것이다. 도시된 바와 같이, CPM이 광고주에게는 가장 높은 위험을 제공하지만 소프트웨어 개발자에게는 가장 낮은 위험을 제공한다. 이와 유사하게, 수익 공유가 소프트웨어 개발자에게는 가장 높은 위험이지만, 광고주에게는 가장 낮은 위험이다. 비교적 인기있는 소프트웨어 애플리케이션의 소프트웨어 게시자는 광고주로부터 CPC 또는 CPM 가격 결정을 끌어낼 수 있는 반면, 인기가 적은 애플리케이션의 소프트웨어 게시자는 어쩔 수 없이 CPA 또는 수익 공유 가격 결정을 이용해야 할지도 모른다.
일 실시예에서, 중앙집중식 광고 컴포넌트(110)는 적어도 상기한 광고 비지니스 모델 전부를 필요로 하는 거래를 지원하도록 구성되어 있다. 당업자라면 다른 모델들도 존재하며 상기 모델들처럼 컴포넌트(110)에 의해 용이하게 지원될 수 있다는 것을 잘 알 것이다. 일 실시예에서, 컴포넌트(110)는 광고주(112) 및/또는 게시자(108)가 상기한 또는 다른 광고 비지니스 모델 중 임의의 모델을 반영하는 조건을 포함하는 제안을 하고 및/또는 그 제안을 검토할 수 있게 해준다.
사용자(114)가 만나거나 그에 의해 실행되는 명령(104)에 기초하여 소프트웨어 애플리케이션(102) 내에 광고를 디스플레이하는 것은, 일반적으로, 사용자(114)의 관점에서 볼 때 매력적인 것일 수 있는데, 왜냐하면 적어도 개인 신상 정보의 공개를 필요로 하지 않기 때문이다. 이것은 사용자의 작업의 내용에 기초하여 광고를 보여주는 컨텐츠 기반 광고 기법과 정반대이다. 예를 들어, 이메일 애플리케이션에서 광고를 보여주는 것은 이메일의 내용에 기초한다. 명령-관련 광고 방식은 이와 같이 사용자의 거동 또는 표현된 관심을 추적하는 것을 꼭 필요로 하는 것은 아니다.
시스템(100) 내에서의 상호작용에 대한 더 나은 이해를 제공하기 위해, 이제부터 몇가지 예시적인 시나리오가 제공될 것이다. 제1 예시적인 시나리오에서, Joe라는 이름의 사용자[사용자(114)]는 그의 최근의 방학 사진을 편집 및 인쇄하고자 한다. 그는 인터넷 웹 사이트[컴포넌트(110)의 일부이거나 그와 연관되어 있음]로 가서 사진을 편집하기 위한 애플리케이션을 검색한다. 그는 Great Software Limited[개발자(108)]의 PhotoEdit 11.0이라고 하는 상위 순위의 사진 애플리케이션[애플리케이션(102)]을 찾아낸다. 그는 또한 이 애플리케이션에 대한 평가를 읽고 이 애플리케이션이 다른 사용자들에 의해서 높게 평가되고 있다는 것을 안다.
Joe는 그의 인터넷 브라우저 애플리케이션 내에서 실행되는 PhotoEdit를 실행한다. 이 애플리케이션에 의해, 그는 그의 사진을 편집하고 "레드 아이(red eye)"를 제거하며 그의 사진을 더 밝게 만들 수 있다. 그가 이 컴퓨터에서 사진을 인쇄할 때, 그는 "PICTURE-CO-EXPRESS를 사용하여 단돈 $2로 당신의 모든 사진을 온라인으로 인쇄 출력하세요"라고 되어 있는 팝업 박스로 된 광고를 제공받는다. 그는 그 광고를 클릭하고 그의 사진을 인쇄 출력하여 우편으로 배달해주는 Picture-Co-Express 인쇄 서비스를 사용한다. PhotoEdit 애플리케이션에 대한 URL이 브라우저 애플리케이션 내의 그의 애플리케이션 즐겨찾기에 추가된다.
도 4A는, 시스템의 관점에서 볼 때, 명령 실행에 대한 광고-지향 대안을 제공하는 단계들을 나타낸 블록 흐름도이다. 블록(402)에 따르면, 사용자에게 애플리케이션에의 액세스를 제공한다. 블록(404)에 따르면, 사용자가 애플리케이션과 상호작용하여 특정의 명령 요소를 만난 사실을 검출한다. 블록(406)에 따르면, 검출 시에, 명령 요소와 연관된 명령을 실행하는 것에 대한 대안으로서 사용자에게 광고가 제공된다. 블록(408)에 따르면, 사용자로부터 수신된 표시에 따라, 1) 명령 요소와 연관된 명령이 실행되거나, 2) 시스템이 명령 요소와 연관된 광고의 스폰서에 의해 제공되는 제품 또는 서비스의 획득을 용이하게 해준다.
다른 예시적인 시나리오에서, "EZ Loans Today"라고 하는 대부 회사[광고주(112)]는 사용자가 특정의 세금 신고 프로그램[애플리케이션(102)] 내에서 "세금 환급 계산" 명령[명령(104)]을 수행할 때 특정의 광고[광고(106)]가 나타나게 하는 표적 광고(targeted advertisement)를 구매한다. 이 광고는 예로서 사용자의 세금 환급에 대비한 용이한 대부를 광고한다.
도 4B는, 시스템의 관점에서 볼 때, 실행된 명령에 관계된 광고를 제공하는 단계들을 나타낸 블록 흐름도이다. 블록(416)에 따르면, 사용자에게 애플리케이션 에의 액세스를 제공한다. 블록(418)에 따르면, 사용자가 기초가 되는 명령을 실행하기 위한 명령 요소를 선택한 사실을 검출한다. 블록(420)에 따르면, 검출 시에, 선택된 명령을 실행하는 것에 관계된 본래의 목적에서 벗어난 기능(tangent functionality)으로서 광고가 사용자에게 제공된다. 블록(422)에 따르면, 사용자가 광고에 관심을 나타내는 경우, 시스템은 관계된 스폰서에 의해 제공되는 제품 또는 서비스의 획득을 용이하게 해준다.
다른 예시적인 시나리오에서, 독립적인 소프트웨어 개발자[개발자(108)]인 Dave는 사진 및 미디어에 열정을 가지고 있다. 그는 몇가지 서로 다른 플랫폼에서의 프로그래밍에 아주 능하고 은행의 IT 부서에서 일하고 있다. 그는 신문 광고를 디자인하는 데 탁월한 그래픽 편집 애플리케이션[애플리케이션(102)]을 작성한다. 그는 개발자가 그의 애플리케이션 내에서 광고를 할 수 있게 해주는 광고 플랫폼[중앙집중식 광고 컴포넌트(110)]에 관하여 들었다. 그는 그의 소프트웨어 애플리케이션을 광고 플랫폼과 통합할 수 있게 해주는 소프트웨어 개발 도구를 다운로드한다.
Dave는, 그의 애플리케이션을 광고 플랫폼에 등록할 때, 예로서 서로 다른 제휴 프로그램들 중에서 선택을 한다. 그 프로그램들 중에서, 그는 그의 애플리케이션의 사용자들에게 보여주고 싶은 특정의 광고를 고른다. (유의할 점: 수익 공유 거래에서, 광고주에게는 거의 위험이 없기 때문에, 광고주는 누가 그에 링크하는지 상관하지 않는다.) Dave의 애플리케이션이 인쇄를 위한 배너 및 포스터 광고를 디자인하는 것을 포함하기 때문에, 그는 그의 제품의 사용자가 "Books-Today- Co."라고 하는 온라인 서점으로부터 좋은 그래픽 디자인에 관한 관련 서적을 구매하는 것에 관심이 있을 수도 있다고 생각한다. 그는 "포스터 쉽게 디자인하기", "좋은 그래픽 디자인 원칙들", 기타 등등이라고 하는 서적에 대한 몇개의 링크를 고른다. 그는 더 적합한 광고가 나타나지 않을 때는 항상 이들 광고가 등장하기를 원한다.
Dave는 이어서 그의 애플리케이션이 지원하는 명령들을 샅샅이 조사한다. "인쇄" 명령에 대해, 그는 복사 업체로부터의 제휴 링크 및 사진 업체로부터 또하나의 링크를 선택한다. "저장" 명령에 대해, 그는 클라우드에의 저장을 제공하는 회사인 "driveit.com"으로부터의 링크를 선택한다. "추가 명령" 사용자 인터페이스 요소에 대해, Dave는 이미지를 생성 및 수정하는 애플리케이션에의 링크를 선택한다. 광고에 링크되어 있지 않는 기타 명령들에 대해, 일반 Books-Today-Co. 광고 또는 광고들이 보여진다. Dave의 애플리케이션이 인기를 얻음에 따라, 그는 더 많은 돈을 벌기 시작하고 광고 플랫폼과 연관된 개체로부터의 지불의 형태로 그 돈을 받는다. 광고주가 주목하기 시작함에 따라, Dave는 그의 애플리케이션에 광고를 내장하라는 제안을 받을 수 있다. 이들 제안은 제휴 모델(affiliate model)이 아닌 보상 모델(compensation model)을 반영할 수 있다.
도 4C는, 시스템의 관점에서 볼 때, 개발자, 게시자, 기타 등등에 광고 기회를 제공하는 단계들을 나타낸 블록 흐름도이다. 블록(428)에 따르면, 개발자에게 광고 기회에 관련된 정보의 디렉토리에의 액세스를 제공한다. 블록(432, 434, 436, 438)으로 나타낸 바와 같이, 기회는 CPM, CPC, CPA 및/또는 수익 공유 비지니 스 모델과 부합하는 기회일 수 있지만, 이에 한정되는 것은 아니다. 블록(430)에 따르면, 디렉토리로부터 선택된 하나 이상의 비지니스 기회를 식별해주는 표시가 개발자로부터 수신된다. 시스템은 명령을 적절한 광고에 링크시켜 주는 것을 용이하게 해준다. 블록(440)은 예로서 선택적인 단계인데, 왜냐하면 그의 존재 여부가 주어진 시스템이 어떻게 구현되느냐에 달려 있기 때문이다. 블록(440)은 선택된 광고 기회에 기초하여 보상이 언제까지 지급되어야 하는지를 결정하기 위해 개발자의 애플리케이션과의 사용자 상호작용을 추적하는 것을 포함한다. 시스템은 또한 실제의 보상 프로세스를 용이하게 해주도록 구성될 수도 있다.
다른 예시적인 시나리오에서, Tim은 Hruby Publishing Unlimited라고 하는 출판사의 인터넷 판매 대리점[광고주(112)]이다. Tim 은 "멋진 포스터 디자인하기"라고 하는 새 책의 판매고를 증가시킬 책임이 있다. 그는 관련 소프트웨어 애플리케이션[애플리케이션(102)]에 광고를 함으로써 책의 판매고를 크게 증가시킬 수 있을 것으로 생각한다. 그는 소프트웨어 애플리케이션 내에 광고를 하기 위해 광고 플랫폼[컴포넌트(110)]에 의해 스폰서되는 인터넷 사이트로 간다.
그 인터넷 사이트에 들어간 경우, Tim은 "그래픽 디자인"에 관련된 소프트웨어 애플리케이션을 검색한다. 그는 Dave의 애플리케이션이 그의 목표 구매자들에게 아주 인기가 있다는 것을 알게 된다. Tim은 Dave의 애플리케이션에서 프리미엄 위치를 구매하기로 결정한다. Dave가 현재 Books-Today-Co.로부터의 제휴 링크를 사용하고 있기 때문에, Tim은 Books-Today-Co.로부터의 링크 대신에 그의 광고를 삽입하기 위해 CPC 위치에 더 높은 가격으로 입찰해야만 한다. 또한, Tim은 그의 광고를 Dave의 애플리케이션의 "도움말" 명령에 배치하기로 결정한다.
다른 예시적인 시나리오에서, Jill은 배너에서 또는 기사 인쇄에서 사용될 고품질 템플릿 및 클립아트 데이터를 제작하는 소규모 그래픽 디자인 회사[광고주(112)]를 운영한다. 그녀는 관련 소프트웨어 애플리케이션 내에 광고를 하기로 결정한다. Jill은 광고 플랫폼[광고 컴포넌트(110)]과 연관된 디렉토리를 검색함으로써 Dave의 애플리케이션[애플리케이션(102)]을 발견한다. 그녀는 Dave의 애플리케이션의 "템플릿 적용" 명령에 입찰을 하고 "Jill.com으로부터 전문적으로 디자인된 템플릿 가져오기"라고 되어 있는 인터넷 링크를 추가한다.
도 4D는, 시스템의 관점에서 볼 때, 광고주에게 광고 기회를 제공하는 단계들을 나타낸 블록 흐름도이다. 블록(450)에 따르면, 광고와 연관되어 있을 수 있는 명령들의 목록 또는 디렉토리가 광고주에게 제공된다. 이들 명령은 서로 다른 애플리케이션들로부터 온 것일 수 있다. 실제로, 선택적인 단계(452)에 따르면, 광고 결정을 하는 데 도움을 주기 위해 주어진 애플리케이션의 인기를 평가하는 데 사용될 수 있는 객관적인 기준이 광고주에게 제공될 수 있다. 블록(454)에 따르면, 표시가 수신되고 이 표시는 광고를 하고자 하는 명령을 나타낸다.
그 다음에, 블록(456)에 따르면, 광고주의 선택이 가능한 것인지에 관한 결정이 행해진다. 선택적인 블록(458)에 따르면, 이것은 제한된 수의 광고주 중에서 특정의 명령과 관련하여 광고를 하도록 허가된 자가 누구인지를 결정하기 위해 경매 또는 입찰 프로세스를 수행하는 것을 의미할 수 있다. 블록(460)에 따르면, 개발자는 광고주의 제안을 수락 또는 거부할 수 있다(예를 들어, 제안은 CPM, CPC, CPA, 수익 공유, 또는 기타 유형의 제안일 수 있다).
블록(462)에 따르면, 광고 요청이 가능한 경우, 시스템은 예로서 명령을 적절한 광고에 링크시키는 것을 용이하게 해주도록 구성되어 있다. 블록(464)은 예로서 선택적인 단계인데, 왜냐하면 그의 존재 여부가 주어진 시스템이 어떻게 구현되느냐에 달려 있기 때문이다. 블록(464)은 선택된 광고 기회에 기초하여 보상이 언제까지 지급되어야 하는지를 결정하기 위해 개발자의 애플리케이션과의 사용자 상호작용을 추적하는 것을 포함한다. 시스템은 또한 실제의 보상 프로세스를 용이하게 해주도록 구성될 수 있다.
사용자의 관점에서 볼 때 가장 인기있는 소프트웨어 애플리케이션은 가장 사용자에 친숙하고 및/또는 최상의 특징들을 제공하는 것일 수 있다. 더 많은 사용자가 특정의 애플리케이션을 사용하는 경우, 그 정보가 광고 컴포넌트(110)에 의해 추적 및 보고될 수 있다(광고 기회를 물색하고 있는 광고주에게 객관적으로 보고됨). 따라서, 사용이 많을수록 논리적으로 광고비가 더 많이 들게 되고, 그에 따라 그의 애플리케이션을 계속하여 개선 및 개량하는 소프트웨어 개발자 및/또는 게시자에게 더 많은 자금 지원을 제공하게 된다.
이제부터, 본 설명은 상기한 명령-지향 광고 방식이 컴퓨터 프로그램과 연관된 명령들이 검색 및 식별될 수 있게 해주는 검색 컴포넌트로부터 어떻게 이득을 볼 수 있는지를 설명하는 것으로 넘어간다. 지금부터, 이러한 검색 컴포넌트의 일례에 대해 상세히 기술한다.
도 5는 명령 검색 및 처리가 클라이언트(550) 상에서 수행되는 일 실시예에 따른 컴퓨팅 환경의 블록도이다. 클라이언트(550)는 예로서 데스크톱 컴퓨터, 랩톱 컴퓨터, 또는 PDA, 전화, 핸드헬드 컴퓨터 기타 등등의 모바일 장치가 있다. 도 5에 도시된 실시예에서, 클라이언트(550)는 사용자(554)가 다양한 서로 다른 작업을 수행하기 위해 하나 이상의 명령을 실행할 수 있도록 그 사용자에 의해 액세스되는 소프트웨어 애플리케이션(552)을 가지고 있다. 예를 들어, 애플리케이션(552)은 작업을 수행하기 위해 사용자 인터페이스(571)를 통해 사용자(554)에 의해 액세스될 수 있는 워드 프로세싱 프로그램, 스프레드쉬트 프로그램, 프리젠테이션 프로그램, 또는 임의의 다른 소프트웨어 애플리케이션일 수 있다. 게다가, 애플리케이션은 클라이언트 애플리케이션 또는 웹 기반 애플리케이션일 수 있다. 예시된 바와 같이, 애플리케이션(552)은 명령-지향 광고를 지원하도록 구성되어 있다는 점에서 도 1의 애플리케이션(102)와 유사하다.
클라이언트(550)가 플랫폼(556)을 갖는 것으로 도시되어 있다. 일 실시예에서, 플랫폼(556)은, 예를 들어, 복수의 서로 다른 애플리케이션(552)을 지원하는 운영 체제이다. 도 5에 도시된 실시예에서, 플랫폼(556)은 명령 검색 및 처리 컴포넌트(558)와 명령 저장소(559)를 포함한다. 이하에서 더 상세히 설명하는 바와 같이, 컴포넌트(558)는 사용자가 애플리케이션(552)과 연관된 명령들을 검색하고 원하는 명령들을 선택적으로 실행할 수 있도록 애플리케이션(552)을 통해[또는 애플리케이션(552)과 무관하게] 사용자(554)에게 노출된다. 일 실시예에서, 플랫폼(556)은 애플리케이션(552)에 의해 호출될 수 있는 애플리케이션 프로그래밍 인터페이스 등의 인터페이스(560)를 노출시킨다.
클라이언트(550)는 또한 선택적인 음성 인식 컴포넌트(570)를 갖는 것으로 도시되어 있다. 이것은 이하에 기술된 바와 같이 사용될 수 있다.
도 6은 도 5에 도시된 시스템의 동작의 일 실시예를 나타낸 흐름도이다. 이제부터, 도 5 및 도 6에 대해 서로 관련시켜 기술한다. 이 설명을 위해, 사용자(554)가 애플리케이션(552)을 기동시키고 애플리케이션(552)을 사용하여 작업을 수행하고자 하는 것으로 가정한다. 사용자는 예로서 작업을 수행하는 데 필요한 명령 또는 명령들을 모른다. 환언하면, 사용자는 원하는 작업을 수행하는 데 필요한 단계들(또는 필요한 사용자 인터페이스 요소들의 위치)을 기억하고 있지 않다. 따라서, 사용자(554)는 원하는 작업을 수행하는 데 필요한 명령을 찾아내야만 한다.
일 실시예에 따르면, 사용자(554)는 검색 요청을 입력하기 시작한다. 일 실시예에서, 사용자(554)는 원하는 검색 요청을 단순히 말하는 것에 의해, 음성 인식 컴포넌트(570)를 통해 검색 요청을 입력할 수 있다. 그렇지만, 본 설명을 위해, 사용자가 한번에 한 글자씩 검색 요청을 타이핑해 넣는 것으로 가정되지만, 본 발명이 그에 한정되는 것은 아니다.
어쨋든, 도 7은 검색 요청의 입력을 수신하는 데 사용될 수 있는 한 그래픽 사용자 인터페이스(771)를 나타낸 것이다. 도 7의 사용자 인터페이스(771)는 애플리케이션(552)이 "프로그램 A"라고 하는 프리젠테이션 프로그램인 것으로 나타내고 있다. 명령 검색 및 처리 컴포넌트(558)는 애플리케이션(552)의 사용자 인터페이스(771)를 통해 텍스트 박스(774)를 사용자에게 노출시킨다. 사용자는 검색 요청 을 한 글자씩 텍스트 박스(774)에 입력할 수 있다.
따라서, 사용자(554)가 사용자 인터페이스(771) 상의 텍스트 박스(774)에 제1 글자를 타이핑해 넣은 후에, 그 글자가 검색 요청(580)으로서 플랫폼(556) 내의 명령 검색 및 처리 컴포넌트(558)로 전송된다. 이렇게 하기 위해, 일 실시예에서, 애플리케이션(552)은 컴포넌트(558)에 의해 노출되는 인터페이스(560)를 통해 검색 요청(580)을 제공한다. 명령 검색 및 처리 컴포넌트(558)에서 제1 문자를 수신하는 것이 도 6의 블록(601)에 나타내어져 있다.
이어서, 컴포넌트(558)는 지금까지 입력된 문자열을 완성시키는 가능성있는 단어를 계산한다. 예를 들어, 사용자가 "ins"를 타이핑한 경우, 이 접두어의 가장 가능성있는 완성은 "insert"일 수 있다. 이것이 도 6의 블록(602)에 나타내어져 있으며, 이에 대해서는 도 7에 나타낸 예와 관련하여 이하에서 더 상세히 설명한다.
일 실시예에서, 컴포넌트(558)는 또한 애플리케이션(552)의 컨텍스트(581)를 수신한다. 예를 들어, 컨텍스트는 예로서 명령이 탐색되고 있는 특정의 애플리케이션(552)을 식별해주고 이 애플리케이션에서 현재 열려 있고 포커스가 있는(under focus) 창의 특정의 내용의 표시, 열린 창에 있는 요소들에 대한 커서의 위치, 문서의 현재 페이지에 존재하는 특징들(예를 들어, 테이블, 불릿, 텍스트, 기타), 기타 등등을 제공한다. 컨텍스트(581)의 예들에 대해 이하에서 더 상세히 기술되며, 컨텍스트를 수신하는 선택적인 단계가 도 6의 블록(604)에 나타내어져 있다.
제1 글자가 수신되면, 가능성있는 완성이 계산되고, 검색 컴포넌트(558)는 복수의 서로 다른 애플리케이션과 연관된 명령들을 저장하는 명령 저장소(559)에 대한 검색을 수행한다. 이 검색은 수신된 글자들, 가능성있는 완성 및 컨텍스트에 기초하여 수행된다. 검색을 수행하는 것은 도 6의 블록(606)에 나타내어져 있다.
검색을 수행함에 있어서, 컴포넌트(558)는 가능한 명령들을 식별하고 이 가능한 명령들 각각이 검색 요청에서 사용자에 의해 요청될 가능성이 얼마인지를 나타내는 점수를 계산한다. 이것은 도 6의 블록(608)에 나타내어져 있다. 이 검색이 임의의 원하는 방식으로 수행될 수 있지만, 일 실시예에서, 이 검색은 명령들의 사전 확률(prior probability)(예를 들어, Naive bayes 분류기, 기타 등등)을 사용하여 훈련되는 검색 엔진을 사용하여 수행된다.
이 계산이 행해지면, 컴포넌트(558)는 인터페이스(560)를 통해 검색 결과를 반환하고, 이 검색 결과는 애플리케이션(552)을 통해 사용자 인터페이스(771)에 디스플레이된다. 물론, 이 결과가 애플리케이션(552)을 거치지 않고도 반환될 수 있다. 어쨋든, 일 실시예에서, 컴포넌트(558)는 검색 요청이 주어진 경우 가장 가능성있는 명령을 디스플레이할 뿐만 아니라, 각각의 명령에 대해 계산된 점수가 주어진 경우 그 명령을 정렬된 순서로 디스플레이한다. 정렬된 명령을 디스플레이하는 것은 도 6의 블록(610)에 나타내어져 있다.
사용자(554)는 디스플레이된 명령들 중 하나를 선택하거나 계속하여 검색 요청에 부가의 글자들을 타이핑할 수 있다. 이것은 도 6의 블록(612)에 나타내어져 있다. 사용자가 명령들 중 하나를 선택하지 않고 그 대신에 계속하여 글자들을 타이핑하는 실시예에서, 처리는 다시 블록(606)으로 되돌아가서 다른 검색이 수행되 며, 블록(608, 610)으로 나타낸 바와 같이, 점수가 계산되고, 가능성있는 명령들이 정렬된 순서로 다시 디스플레이된다.
도 7에 도시된 예에 대해서 사용자(554)가 열려 있는 특정의 애플리케이션(552)에 테이블을 삽입하고자 하는 것으로 가정하자. 도 7에 도시된 실시예에서, 사용자 인터페이스(771)는 사용자(554)가 텍스트 박스(774)에 글자들 "ins"를 타이핑해 넣은 것을 나타내고 있다. 컨텍스트도 역시 컴포넌트(558)에 제공되었다. 컨텍스트는, 그 중에서도 특히, 열려 있는 애플리케이션(552)이 프리젠테이션 애플리케이션이라는 것을 나타낸다. 컨텍스트는 현재의 슬라이드가 테이블, 사진, 기타 등등을 가지고 있는지를 포함할 수 있다. 컴포넌트(558)는 입력 "ins"와 연관된 명령들이 명령 저장소(559)에 저장되어 있을 확률을 계산한다. 도 7에 도시된 특정의 예에서, 컴포넌트(558)는 "ins"의 가장 가능성있는 완성이 "insert"이라고 결정하고, 컴포넌트(558)는, 검색 결과로서, 주어진 컨텍스트에 삽입 또는 추가하는 것과 관련 있는 명령들을 디스플레이한다.
이 예로부터 컴포넌트(558)가 예로서 입력된 특정의 글자들에 기초할 뿐만 아니라 이들 글자의 가장 가능성있는 완성의 동의어에도 기초하여 검색을 한다는 것을 잘 알 것이다. 환언하면, 현재의 컨텍스트에서 글자들 "ins"의 가장 가능성있는 완성은 "insert"이다. 따라서, 컴포넌트(558)는 "insert"의 동의어("add" 등)를 식별해내고, 애플리케이션(552)의 현재의 컨텍스트가 주어진 경우, 어떤 것을 "삽입" 또는 "추가"하기 위한 것으로서 가장 가능성있는 명령을 검색한다.
도 7에 나타낸 바와 같이, 컴포넌트(558)는 검색 결과를 반환하여 순서대로 정렬한다. 반환된 제1 명령이 목록에 있는 다른 명령들보다 가능성이 더 많은 "슬라이드 삽입"이라는 것을 알 수 있다. 목록에 있는 다른 명령들은 컴포넌트(558)에 의해 계산된 점수(가능성 또는 확률이거나 다른 원하는 척도일 수 있음)에 따라 정렬되어 있으며, 그의 순위에 따라 번호가 매겨져 있다. 도 7에 도시된 실시예에서, 명령을 기동시키기 쉬운 키보드 액세스(예를 들어, 키보드 단축키)를 고려하기 위해 처음 9개의 결과에 번호가 매겨져 있다.
사용자는 디스플레이된 명령을 단순히 클릭하는 것만으로 반환된 결과의 목록(775)의 명령들 중 하나를 선택할 수 있다. 그렇지만, 일 실시예에서, 사용자는 또한 박스(774)에 있는 그 숫자를 단순히 타이핑하는 것만으로 번호가 매겨진 검색 결과들 중 하나를 선택할 수 있다. 목록(775)으로부터 명령을 선택하는 임의의 다른 원하는 방법도 사용될 수 있다.
도 7에 나타낸 예에 따르면, 사용자는 "테이블 삽입" 명령을 선택한다. 컴포넌트(558)가 명령 선택을 수신하게 하는 것이 도 6의 블록(612)에 나타내어져 있다.
사용자가 목록(775)으로부터 명령을 선택한 경우, 명령을 더욱 세분화하거나 명확하게 하기 위해 사용자와의 더 많은 대화가 필요하게 되면, 컴포넌트(558)는 그 부가적인 대화를 수행할 수 있다. 추가의 대화가 필요한지 여부를 판정하는 것 및 그 대화를 수행하는 것이 도 6의 블록(614, 616)에 나타내어져 있다.
대화가 완료된 경우 또는 추가의 대화가 필요하지 않은 경우, 이는 선택된 명령이 컴포넌트(558)에 의해 충분히 명확하게 되었음을 의미한다. 컴포넌트(558) 는 이어서 선택된 명령에 관한 부가적인 정보(설명 정보 등)를 사용자(554)에게 제공할 수 있거나, 컴포넌트(558)가 사용자에 의해 선택된 명령을 실행하기만 할 수 있다. 선택된 명령을 실행하는 것은 도 6의 블록(618)에 나타내어져 있다.
명령을 실행하는 것의 일례로서, 사용자가 "테이블 삽입" 명령을 선택한 경우, 컴포넌트(558)는 (부가의 대화가 필요 없는 것으로 판정한 후에) 애플리케이션(552)이 "테이블 삽입" 명령을 실행하기 위해 사용자를 애플리케이션 내의 적절한 곳으로 데리고 가도록 애플리케이션(552)을 제어한다.
명령을 세분화하기 위해 부가적인 대화를 수행하는 예로서, 컴포넌트(558)는 사용자가 추가하고자 하는 테이블의 크기를 결정하기 위해, 도 6의 블록(616)에서와 같이, 사용자와 대화를 수행할 수 있다. 이어서, 컴포넌트(558)는 테이블을 자동적으로 추가한다. 다른 실시예에서, 컴포넌트(558)가 사용자를 애플리케이션(552)에 의해 제공되는 사용자 인터페이스 내의 그 곳으로 데리고 간 경우, 컴포넌트(558)는 단지 사용자가 애플리케이션(552)에 의해 제공되는 "테이블 삽입" 기능을 수행할 수 있게 해줄 뿐이다.
다른 실시예에 따르면, 컴포넌트(558)[또는 컴포넌트(558)에 의해 호출되는 다른 컴포넌트]는, 필요한 경우 사용자 입력을 받아서, 사용자에 의해 선택된 명령을 자동적으로 수행한다. 예를 들어, 사용자(554)는 가능한 명령들의 목록(775)으로부터 테이블을 삽입하기 위한 원하는 사용자 인터페이스 요소들을 선택한다. 컴포넌트(558)[또는 컴포넌트(558)에 의해 호출되는 다른 컴포넌트]는 이어서 애플리케이션(552)의 제어를 떠맡고 그 명령을 자동적으로 수행하기 시작한다. 그렇지 만, 사용자 인터페이스가 사용자에게 (행 및 열로) 테이블의 크기를 지정하도록 요구하는 시점이 되면, 컴포넌트(558)는 단순히 사용자에 의해 수정될 필드를 하이라이트하고 사용자가 원하는 정보를 입력하고 "OK"를 클릭할 때까지 멈추고 있다. 그 예에서, 컴포넌트(558)(또는 다른 컴포넌트)는 단순히 사용자가 원하는 행 및 열의 수를 선택하고 "OK"를 클릭할 때까지 기다리기만 하고, 이어서 컴포넌트(258)(또는 다른 컴포넌트)는 애플리케이션(552)으로 하여금 애플리케이션 내의 지정된 위치에 원하는 크기의 테이블을 삽입하는 명령을 수행하는 데 필요한 나머지 단계들을 마치게 한다. 명령을 자동적으로 실행하는 것은 도 6의 블록(614)에 나타내어져 있다.
광고가, 애플리케이션(552)과 유사하게, 명령의 검색을 지원하는 애플리케이션 내에 효과적으로 통합될 수 있다. 일 실시예에서, 사용자가 명령을 검색하기 위해 타이핑해 넣은 질의에 기초하여 및/또는 검색 이후에 사용자가 선택/실행하는 명령에 기초하여 이러한 시스템 내의 광고의 목표가 정해진다. 명령 검색을 지원하도록 구성된 애플리케이션은 특히 광고주의 마음을 끌 가능성이 있는데, 왜냐하면 이들 애플리케이션이 자연스럽고 간략화된 사용자 경험을 제공하는 점에서 사용자의 마음을 끌 가능성이 있는 함수(즉, 명령 검색)를 통해 광고를 드러나게 하기 때문이다.
명령 검색 기능에 대한 지원을 구축하기 위해, 어떤 사람(예를 들어, 개발자)은 통상적으로 메타데이터를 애플리케이션에 의해 지원되는 명령들의 목록과 연관시킨다. 직접적인 표시자, 동의어, 관련 용어, 기타 등등을 포함할 수 있는 메 타데이터에 의해, 명령이 검색되는 것이 가능하게 된다. 따라서, 검색 기능을 지원하기 위해, 애플리케이션 명령의 양호한 검색가능 기록이 발생된다.
일 실시예에 따르면, 광고주는 광고를 위해 관심의 명령을 찾는 데 동일한 검색가능 기록을 이용할 수 있다. 사용자에 의한 검색을 지원하기 위해 추가되는 동일한 메타데이터도 그 기록이 광고주에 의해 검색가능하도록 해준다.
게다가, 명령 검색 아키텍처를 지원하는 애플리케이션의 사용자는 본질적으로 명령을 질의하는 데 어떤 언어를 사용하고 있다. 따라서, 명령에 기초하여 광고하는 것에 부가하여, 광고주는 예로서 명령을 질의하는 데 사용되는 어떤 용어에 기초하여 광고의 목표를 설정할 수 있다.
일 실시예에서, 명령 검색 아키텍처를 지원하는 애플리케이션을 갖는 소프트웨어 개발자는 사용자 질의의 목록을 수신하고, 따라서 애플리케이션에 의해 현재 지원되지 않는 사용자가 원하는 특징들을 식별할 수 있게 된다. 이어서, 개발자는 사용자의 욕구 및 요구를 만족시키기 위해 이러한 정보를 사용하여 애플리케이션에 더 많은 명령을 추가할 수 있다. 이것은 또한 본질적으로 (예를 들어, 적어도 명령의 수를 증가시킴으로써) 광고 기회의 횟수를 증가시킨다.
명령 검색 아키텍처가 상기한 명령-광고 방식에 어떻게 유익한지에 대한 더 나은 이해를 제공하기 위해, 이제부터 몇가지 특정의 예시적인 시나리오가 제공된다. 이들 예시적인 시나리오는 앞서 언급한 예시적인 시나리오에서 가져온 것으로서 이들에 대해 상세히 기술한 것이다.
상기한 최종 사용자인 Joe는 이제 그의 사진을 다시 편집하고자 하고 그가 과거에 PhotoEdit 11.0을 사용한 것을 기억하고 있다. 그는 그 애플리케이션을 다시 기동시키고 그 애플리케이션이 이제 명령-검색/광고 아키텍처를 지원한다는 것을 알고서 기쁨을 감추지 못한다. 그는 또한 그 애플리케이션 내에서 그가 지난 번에 수행한 명령들의 이력("PICTURE-CO-EXPRESS"와 연관된 웹 사이트에서 그의 사진을 인쇄하기 위해 그가 클릭한 광고를 포함함)을 본다.
이 때, Joe는 그의 결혼식 사진들을 많이 가지고 있으며 그의 친구 및 가족에게 보낼 설명을 곁들인 멋진 슬라이드쇼를 만들고자 한다. 그는 명령 박스에[예를 들어, 도 7의 774와 유사한 박스에] "slide show"를 타이핑해 넣는다. 다른 애플리케이션에 대한 상향 판매 링크(up sell link)인 "Presenter 3.0을 사용하여 사진들을 갖는 슬라이드쇼를 작성하세요"의 광고가 (예를 들어, 775와 유사한 명령 결과에서) 그에게 제공된다. 그는 광고를 선택하고(예를 들어, 광고를 클릭하고), 이에 의해 Presenter 3.0 애플리케이션이 기동된다. Presenter 3.0 애플리케이션은 또한 예로서 명령 검색/광고 아키텍처도 지원한다.
Joe는 이어서 "사진 가져오기" 및 기타 슬라이드쇼 명령을 검색하고 이들을 사용하여 그의 슬라이드쇼를 작성한다. 그는 이어서 "narrate"를 입력하고 "각각의 슬라이드에 오디오 기록하기" 형태의 명령을 본다. 그가 이 명령에 링크된 기능을 사용할 때, 그는 표준 이하의 마이크를 가지고 있기 때문에 오디오 품질이 아주 나쁘다는 것을 알고 있다. "각각의 슬라이드에 오디오 기록하기" 명령의 옆에서, 그는 또한 "GreatAudio.com에서 30% 할인하여 품질이 좋은 마이크를 사세요"의 스폰서 명령(sponsored command) 및 "AudioUs에서 헤드셋을 사세요"의 다른 스폰서 명령을 본다. Joe는 GreatAudio 링크를 클릭하고 계속하여 좋은 마이크를 주문한다.
도 8A는, 시스템의 관점에서 볼 때, 명령 검색 아키텍처 내에 광고를 제공하는 일반화된 단계들을 나타낸 블록 흐름도이다. 블록(802)에 따르면, 사용자로부터 명령 질의가 수신된다. 블록(804)에 따르면, 명령 질의에 기초하여 사용자에게 결과 세트가 제공된다. 블록(806)에 나타낸 바와 같이, 결과 세트는 다른 명령이 나타나는 것과 유사한 방식으로 나타나는 광고를 포함할 수 있다. 블록(808)에 따르면, 결과 세트 내의 적어도 하나의 명령은 결과 세트 내에 나타나는, 명령을 다른 컨텍스트에서 만날 때에만 나타나는, 및/또는 기초가 되는 명령의 선택/실행 시에 나타나는 명령과 연관되어 있다.
다른 예시적인 시나리오에서, 상기한 개발자인 Dave는 이제 그의 그래픽 디자인 애플리케이션이 명령-검색/광고 아키텍처를 지원할 수 있게 해주었다. 이 애플리케이션은 이제 "그래픽 디자인 에디터 디럭스"라고 한다. Dave는 그의 애플리케이션이 지원하는 명령에 주석을 첨부하는 것을 돕는 명령-검색 기능을 사용할 수 있다. 그는 또한 그의 애플리케이션에서 스폰서 명령을 보여주는 기능도 이용한다.
한달 후에, Dave는 질의 로그(예를 들어, Dave에 대해 자동적으로 발생된 및/또는 명령-검색 아키텍처의 스폰서에 의해 그에게 제공된 로그)를 조사한다. 그는 많은 사용자들이 그들의 작품에 "비디오를 추가"하기를 원한다는 것을 알게 된다. 또한, 그의 애플리케이션에 대한 가장 흔한 사용자 질의 중 하나가 "클립아 트"이며 그는 제공할 전문적인 클립아트 컨텐츠 라이브러리를 가지고 있지 않다.
Dave는 비디오 질의를 위해 "VideoExpress"에의 링크를 추가하기로 결정한다. "클립아트" 질의를 위해, 그는 Jill의 광고에 링크한다. Jill의 회사는 고객이 그의 링크를 통해 소비하는 금액의 20%의 수익 공유 거래를 제공한다.
도 8B는, 시스템의 관점에서 볼 때, 개발자가 애플리케이션 기능에 주석을 첨부할 수 있게 해주는 일반화된 단계들을 나타낸 블록 흐름도이다. 블록(812)에 따르면, 개발자의 애플리케이션과 관련하여 행해지는 명령 질의의 목록이 개발자에게 제공된다[예를 들어, 중앙집중식 광고 컴포넌트(110)의 아키텍처 내에 포함된 서비스들에 의해 제공된다]. 그 결과들에 기초하여, 블록(814)에 따르면, 명령 주석 첨부가 지원된다[예를 들어, 중앙집중식 광고 컴포넌트(110)의 아키텍처 내에 포함된 서비스에 의해 지원된다]. 블록(816)에 따르면, 이것은 개발자가 애플리케이션 기능을 직접 확장할 수 있게 해주는 리소스를 제공하는 것(예를 들어, 개발자가 리소스를 구매할 수 있게 해주는 것)을 의미한다. 블록(818)에 따르면, 애플리케이션에 광고를 포함시켜 애플리케이션 기능을 보완할 수 있게 하기 위해 개발자에게 리소스가 제공된다. 블록(820)에 따르면, 포함된 리소스 및/또는 광고에 기초하여 보상이 용이하게 된다. 이것은 개발자가 광고 게재에 대해 보상을 받는다는 것(CPM, CPC, CPA, 수익 공유, 기타), 또는 개발자가 포함된 리소스에 대해 보상을 한다는 것(예를 들어, 라이센스, 사용별 라이센스, 기타)을 의미할 수 있다.
다른 예시적인 시나리오에서, 상기한 그래픽 디자인 회사의 사람인 Jill은 이제 전문적인 이미지, 아이콘 및 템플릿에 관심이 있을 수 있는 사용자를 찾고자 한다. 그녀는 서비스[예를 들어, 중앙집중식 광고 컴포넌트(110)의 아키텍처 내에 제공된 온라인 서비스]에 액세스하고 "템플릿" 및 "아이콘"에 관련된 명령 및 사용자 질의를 검색한다. 그녀는 Dave의 애플리케이션에서 "템플릿"에 대해 매일 약 500개의 사용자 질의가 있다는 것을 발견한다. 그녀는 전문적인 템플릿을 구입할 수 있는 그녀의 웹 사이트에의 스폰서 링크를 보여줄 권리를 얻기 위해 그 키워드에 대해 입찰을 한다.
도 8C는, 시스템의 관점에서 볼 때, 광고주가 광고 기회를 검색할 수 있게 해주는 일반화된 단계들을 나타낸 블록 흐름도이다. 블록(830)에 따르면, 데이터 집합체가 유지되고 이 데이터 집합체는 명령 및/또는 명령 질의에 관련된 데이터를 포함하고 있다. 블록(832)에 따르면, 광고주로부터 명령 질의가 수신된다. 블록(834)에 따르면, 대응하는 결과 세트를 발생하기 위해 이 데이터 집합체에 명령 질의가 적용된다. 결과 세트는 일치하는 명령 및/또는 명령 질의를 포함하고 있다. 일 실시예에서, 검색 프로세스는 사용자 명령 검색을 지원하는 데 이용되는 명령 메타데이터를 이용한다는 점에서 아주 유연하다. 블록(836)에 따르면, 이 결과 세트가 광고주에게 제공된다. 선택적인 블록(838)에 따르면, 더 많은 정보에 기초한 광고 결정을 지원하기 위해 객체 평가 데이터도 역시 광고주에게 제공된다. 이 객체 데이터는 주어진 애플리케이션 내에서 특정의 명령 또는 명령 질의를 얼마나 자주 만나는지 또는 실행하는지를 포함할 수 있지만, 이에 한정되는 것은 아니다.
다른 예시적인 시나리오에서, Kim은 의사 및 치과 의사를 위한 과금 소프트 웨어를 제작하는 의료 소프트웨어 회사에서 일하고 있다. 그녀는 서비스[예를 들어, 중앙집중식 광고 컴포넌트(110)의 아키텍처 내에서 제공되는 온라인 서비스]에 액세스하고 그녀가 그녀의 회사의 소프트웨어를 광고하기 위해 사용하고자 할 수 있는 명령 및 사용자 질의를 검색한다. 질의 "과금 템플릿"에 대해, 그녀는 "EZ Spreadsheet"라고 하는 애플리케이션에 관해 매일 약 200개의 질의가 있고 "SpreadSheetExpress"라고 하는 애플리케이션에 관해 매일 약 500개의 질의가 있다는 것을 발견한다. 그녀는 그녀의 광고가 그에 응답하여 나타나도록 양 애플리케이션에 대한 그 질의를 구입하기로 결정한다.
다른 예시적인 시나리오에서, Rick는 워싱턴주 시애틀에 있는 주택 감정평가사이다. 그는 그 지역에 있는 매도자들에게 그의 서비스를 광고하고자 한다. 그는 서비스[예를 들어, 중앙집중식 광고 컴포넌트(110)의 아키텍처 내에서 제공되는 온라인 서비스]에 액세스하고 개인 소프트웨어 개발자는 물론 부동산 회사에 의해 제공되는 몇가지 부동산 애플리케이션을 식별한다. 그는 그들 중 일부가 그 지역에서의 주택의 위성 이미지를 제공하기 위해 "지도 제작 API"를 사용하고 사용자들에게 아주 인기가 있다는 것을 알게 된다.
이어서, Rick은 "감정 평가"에 관련된 명령에 대한 광범위한 검색을 수행하고 가장 인기있는 지역 장소들 중 하나인 "Windermere"를 비롯하여 몇개의 애플리케이션이 이 특징을 지원한다는 것을 발견한다. 그는 시애틀에 사는 사용자가 시스템 내에서 지원되는 부동산 애플리케이션에서 "감정 평가" 또는 "주택 매도"를 타이핑할 때마다 그의 광고가 보여지도록 하기 위해 입찰을 한다.
그에 따라, 본 발명의 실시예들은 광범위한 명령-지향 광고 특징들을 포함한다. 애플리케이션에서 특정의 명령을 목표로 한 광고를 보여주는 개념이 포함되어 있다. 또한, 광고주가 광고-지원 애플리케이션의 디렉토리(예를 들어, 네트워크 상에 유지되는 디렉토리)로부터 명령을 선택하는 개념도 포함되어 있다. 또한, 광고주가 (예를 들어, 실시간 경매에서) 주어진 명령에 대해 다른 광고주들에 대한 제한된 기회 또는 아주 좋은 위치를 얻기 위해 입찰하는 개념도 포함되어 있다. 또한, 광고주가 소프트웨어 개발자가 그의 애플리케이션에 명령을 부가시키기 위한 제휴 프로그램 링크를 추가하는 개념도 포함되어 있다. 이들은 포함된 특징들의 예들에 불과하다.
또 다른 특징들이 기술된 명령 검색 아키텍처에 관련되어 있다. 예를 들어, 사용자가 명령 검색에서 입력한 것을 목표로 한 광고를 보여주는 개념이 포함되어 있다. 또한, 광고주가 그의 광고 요구와 관련된 명령을 검색하는 개념도 포함되어 있다. 일 실시예에서, 광고주는 모든 광고 지원 애플리케이션에 걸쳐 데이터베이스 내의 모든 명령들을 질의할 수 있고, 결과를 서로 다른 방식으로 정렬/분류할 수 있다. 또한, 광고주가 (예를 들어, 실시간 경매에서) 특정의 명령 질의에 대해 그의 광고를 위한 제한된 기회 또는 좋은 위치를 얻기 위해 입찰을 하는 개념도 포함되어 있다. 다시 말하면, 이들은 포함된 특징들의 예들에 불과하다.
유의해야 할 점은 용어 "소프트웨어 애플리케이션" 또는 "컴퓨터 소프트웨어"가, 이들 및 유사한 용어가 본 명세서에서 사용되는 바와 같이, 광의적으로 해석되어야 한다는 것이다. 이들 용어는 컴퓨터 하드웨어 상에서 실행되는 애플리케 이션을 포함하는 것으로 보아야 한다. 게다가, 실행 시에, 사용자가 작업을 완수할 수 있게 해주는 컴퓨터-구현 코드가 포함된다. 또한 유의해야 할 점은, 데스크톱 애플리케이션이 점점 더 웹을 지원하게 되고 웹 애플리케이션이 점점 더 기능이 많아짐에 따라, 클라이언트 상의 소프트웨어와 브라우저 내부에서 실행되는 소프트웨어 간의 경계가 모호하게 된다. 따라서, 상기한 용어들은 또한 컴퓨터 상에서 실행되거나 원격적으로 액세스되는 소프트웨어를 포괄하는 것으로 보아야 한다. 원격 애플리케이션의 일례는 인터넷에 있는 서버에서 애플리케이션을 실행하도록 구성되어 있는 로컬 웹 브라우저를 통해 액세스되는 애플리케이션이다.
도 9는 실시예들이 구현될 수 있는 적합한 컴퓨팅 시스템 환경(900)의 일례를 나타낸 것이다. 컴퓨팅 시스템 환경(900)은 적합한 컴퓨팅 환경의 일례에 불과하며, 청구된 발명 대상의 용도 또는 기능성의 범위에 관해 어떤 제한을 암시하고자 하는 것이 아니다. 컴퓨팅 환경(900)이 예시적인 운영 환경(900)에 도시된 컴포넌트들 중 임의의 하나 또는 그 컴포넌트들의 임의의 조합과 관련하여 어떤 의존성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
실시예들은 많은 기타의 범용 또는 전용 컴퓨팅 시스템 환경 또는 구성에서 동작할 수 있다. 다양한 실시예들에서 사용하는 데 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예로는 퍼스널 컴퓨터, 서버 컴퓨터, 핸드-헬드 또는 랩톱 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그램가능한 가전제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 전화 시스템, 상기 시스템들이나 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경, 기타 등등이 있지만 이에 제한되는 것은 아니다.
실시예들은 일반적으로 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 관련하여 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 어떤 실시예들은 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서 실시되도록 설계된다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 비롯한 로컬 및 원격 컴퓨터 저장 매체 둘다에 위치되어 있다.
도 9와 관련하여, 어떤 실시예들을 구현하는 예시적인 시스템은 컴퓨터(910) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(910)의 컴포넌트들은 처리 장치(920), 시스템 메모리(930), 및 시스템 메모리를 비롯한 각종 시스템 컴포넌트들을 처리 장치(920)에 연결시키는 시스템 버스(921)를 포함할 수 있지만 이에 제한되는 것은 아니다. 시스템 버스(921)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스, 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 비롯한 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 예로서, 이러한 아키텍처는 ISA(industry standard architecture) 버스, MCA(micro channel architecture) 버스, EISA(Enhanced ISA) 버스, VESA(video electronics standard association) 로컬 버스, 그리고 메자닌 버스(mezzanine bus)로도 알려진 PCI(peripheral component interconnect) 버스 등을 포함하지만 이에 제한되는 것은 아니다.
컴퓨터(910)는 통상적으로 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨 터(910)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체 둘다를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하는 데 사용될 수 있고 컴퓨터(910)에 의해 액세스될 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다. 통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터를 구현하며 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들 중 임의의 것의 조합도 역시 컴퓨터 판독가능 매체의 범위 안에 포함되는 것으로 한다.
시스템 메모리(930)는 판독 전용 메모리(ROM)(931) 및 랜덤 액세스 메모리(RAM)(932)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 중과 같은 때에, 컴퓨터(910) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(933)은 통상적으로 ROM(931)에 저장되어 있다. RAM(932)은 통상적으로 처리 장치(920)가 즉시 액세스 할 수 있고 및/또는 현재 동작시키고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 9는 운영 체제(934), 애플리케이션 프로그램(935), 기타 프로그램 모듈(936) 및 프로그램 데이터(937)를 도시하고 있지만 이에 제한되는 것은 아니다. 프로그램(935)은 본 명세서에 기술되어 있는 것과 같은 명령-지향 광고/검색을 지원하도록 구성되어 있는 것으로 도시되어 있다. 이들 프로그램 전부에 대해 꼭 이러한 것은 아니다. 게다가, 프로그램(936)이 그에 부가하여 또는 다른 대안으로서 그와 같이 구성되어 있을 수 있다.
컴퓨터(910)는 또한 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장매체를 포함할 수 있다. 단지 예로서, 도 9는 비이동식·비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(941), 이동식·비휘발성 자기 디스크(952)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(951), 및 CD-ROM 또는 기타 광 매체 등의 이동식·비휘발성 광 디스크(956)에 기록을 하거나 그로부터 판독을 하는 광 디스크 드라이브(955)를 포함한다. 예시적인 운영 환경에서 사용될 수 있는 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고상(solid state) RAM, 고상 ROM 등이 있지만 이에 제한되는 것은 아니다. 하드 디스크 드라이브(941)는 통상적으로 인터페이스(940)와 같은 비이동식 메모리 인터페이스를 통해 시스템 버스(921)에 접속되고, 자기 디스크 드라이브(951) 및 광 디스크 드라이브(955)는 통상적으로 인터페이스(950)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(921)에 접속된다.
위에서 설명되고 도 9에 도시된 드라이브들 및 이들과 관련된 컴퓨터 저장 매체는, 컴퓨터(910)에 대한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장한다. 도 9에서, 예를 들어, 하드 디스크 드라이브(941)는 운영 체제(944), 애플리케이션 프로그램(945), 기타 프로그램 모듈(946), 및 프로그램 데이터(947)를 저장하는 것으로 도시되어 있다. 여기서 주의할 점은 이들 컴포넌트가 운영 체제(934), 애플리케이션 프로그램(935), 기타 프로그램 모듈(936), 및 프로그램 데이터(937)와 동일하거나 그와 다를 수 있다는 것이다. 이에 관해, 운영 체제(944), 애플리케이션 프로그램(945), 기타 프로그램 모듈(946) 및 프로그램 데이터(947)에 다른 번호가 부여되어 있다는 것은 적어도 이들이 다른 사본(copy)이라는 것을 나타내기 위한 것이다. 프로그램(945)은 본 명세서에 기술되어 있는 것과 같은 명령-지향 광고/검색을 지원하도록 구성되어 있는 것으로 도시되어 있다. 이들 프로그램 전부에 대해 꼭 이러한 것은 아니다. 게다가, 프로그램(946)이 그에 부가하여 또는 다른 대안으로서 그와 같이 구성되어 있을 수 있다.
사용자는 키보드(962), 마이크(963) 및 마우스, 트랙볼(trackball) 또는 터치 패드와 같은 포인팅 장치(961) 등의 입력 장치를 통해 명령 및 정보를 컴퓨 터(910)에 입력할 수 있다. 다른 입력 장치(도시 생략)로는 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스에 결합된 사용자 입력 인터페이스(960)를 통해 처리 장치(920)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 모니터(991) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(990) 등의 인터페이스를 통해 시스템 버스(921)에 접속되어 있다. 모니터 외에, 컴퓨터는 스피커(997) 및 프린터(996) 등의 기타 주변 출력 장치를 포함할 수 있고, 이들은 출력 주변장치 인터페이스(995)를 통해 접속될 수 있다.
컴퓨터(910)는 원격 컴퓨터(980)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작된다. 원격 컴퓨터(980)는 퍼스널 컴퓨터, 핸드-헬드 장치, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있고, 통상적으로 컴퓨터(910)와 관련하여 상술된 구성요소들의 대부분 또는 그 전부를 포함한다. 도 9에 도시된 논리적 접속으로는 LAN(971) 및 WAN(973)이 있지만, 기타 네트워크도 포함할 수 있다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(910)는 네트워크 인터페이스 또는 어댑터(970)를 통해 LAN(971)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(910)는 통상적으로 인터넷과 같은 WAN(973)을 통해 통신을 설정하기 위한 모 뎀(972) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(972)은 사용자 입력 인터페이스(960) 또는 기타 적절한 메커니즘을 통해 시스템 버스(921)에 접속될 수 있다. 네트워크화된 환경에서, 컴퓨터(910) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 도 9는 원격 애플리케이션 프로그램(985)이 원격 컴퓨터(980)에 있는 것으로 도시하고 있지만 이에 제한되는 것은 아니다. 도시된 네트워크 접속이 예시적인 것이며 이 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 이해할 것이다. 프로그램(985)은 본 명세서에 기술되어 있는 것과 같은 명령-지향 광고/검색을 지원하도록 구성되어 있는 것으로 도시되어 있다. 이들 프로그램 전부에 대해 꼭 이러한 것은 아니다.
도 10은 예시적인 컴퓨팅 환경인 모바일 장치(1000)의 블록도이다. 모바일 장치(1000)는 마이크로프로세서(1002), 메모리(1004), 입/출력(I/O) 컴포넌트(1006), 및 원격 컴퓨터 또는 기타 모바일 장치와 통신하기 위한 통신 인터페이스(1008)를 포함한다. 일 실시예에서, 상기한 컴포넌트들은 적당한 버스(1010)를 통해 서로 통신하기 위해 연결되어 있다.
메모리(1004)는 모바일 장치(100)의 전체 전원이 차단될 때 메모리(1004)에 저장된 정보가 소실되지 않도록 배터리 백업 모듈(도시 생략)을 갖는 랜덤 액세스 메모리(RAM) 등의 비휘발성 전자 메모리로서 구현된다. 메모리(1004)의 일부는 예로서 프로그램 실행을 위해 주소 지정 가능 메모리(addressable memory)로서 할당되어 있는 반면, 메모리(1004)의 다른 부분은 예로서 디스크 드라이브 상에 저장하 는 것 등을 모의하기 위해 저장하는 데 사용된다.
메모리(1004)는 운영 체제(1012), 애플리케이션 프로그램(1014)은 물론 객체 저장소(1016)를 포함한다. 프로그램(1014)은 본 명세서에 기술된 것과 같은 명령-지향 광고/검색을 지원하도록 구성되어 있는 것으로 도시되어 있다. 프로그램들 모두에 대해 꼭 이러한 것은 아니다. 동작 동안에, 운영 체제(1012)는 예로서 메모리(1004)로부터 프로세서(1002)에 의해 실행된다. 운영 체제(1012)는 예로서 모바일 장치용으로 설계되어 있으며 일련의 노출된 애플리케이션 프로그래밍 인터페이스 및 메서드를 통해 애플리케이션(1014)에 의해 이용될 수 있는 데이터베이스 특징들을 구현한다. 객체 저장소(1016)에 있는 객체들은, 적어도 부분적으로 노출된 애플리케이션 프로그래밍 인터페이스 및 메서드에 대한 호출에 응답하여, 애플리케이션(1014) 및 운영 체제(1012)에 의해 유지된다.
통신 인터페이스(1008)는 모바일 장치(1000)가 정보를 전송 및 수신할 수 있게 해주는 수많은 장치 및 기술을 나타낸다. 이들 장치는, 몇가지 예를 들면, 유선 및 무선 모뎀, 위성 수신기 및 방송 튜너(broadcast tuner)를 포함한다. 모바일 장치(1000)는 또한 컴퓨터와 데이터를 교환하기 위해 컴퓨터에 직접 접속될 수 있다. 이러한 경우에, 통신 인터페이스(1008)는 적외선 송수신기 또는 직렬 또는 병렬 통신 접속일 수 있고, 이들 모두는 스트리밍 정보를 전송할 수 있다.
입/출력 컴포넌트(1006)는 터치-감응 스크린, 버튼, 롤러, 및 마이크 등의 다양한 입력 장치는 물론 오디오 발생기, 진동 장치, 및 디스플레이를 비롯한 다양한 출력 장치를 포함한다. 상기한 장치들은 예이며, 이들 모두가 모바일 장 치(1000) 상에 존재할 필요가 있는 것은 아니다.
본 발명 대상이 구조적 특징 및/또는 방법적 동작과 관련하여 기술되어 있지만, 첨부된 청구항들에 정의된 발명 대상이 상기한 구체적인 특징 또는 동작에 꼭 한정되는 것은 아니라는 것을 잘 알 것이다. 오히려, 상기한 구체적인 특징 및 동작은 청구항을 구현하는 예시적인 형태로서 개시되어 있다.

Claims (20)

  1. 컴퓨터 애플리케이션(102)으로서,
    사용자(114)가 특정의 명령 요소(command element)를 만났는지를 검출하는 단계(404), 및
    상기 명령 요소와 연관된 명령(104)을 실행하는 것에 대한 대안으로서 광고(106)를 제공하는 단계(406)를 수행하도록 구성되어 있는 것인 컴퓨터 애플리케이션.
  2. 제1항에 있어서, 상기 애플리케이션은 또한 상기 광고의 스폰서에 의해 제공되는 제품 또는 서비스의 획득을 용이하게 해주도록 구성되어 있는 것인 컴퓨터 애플리케이션.
  3. 제1항에 있어서, 상기 애플리케이션은 또한 상기 명령(104) 요소가 실행을 위해 선택되었는지를 검출하는 단계를 수행하도록 구성되어 있으며,
    광고(106)를 제공하는 단계는 상기 명령의 실행과 관련되어 있는 광고를 사용자(114)에게 제공하는 단계(420)를 포함하는 것인 방법.
  4. 제1항에 있어서, 사용자(114)가 특정의 명령 요소를 만났는지를 검출하는 단계는,
    사용자(554)로부터 명령 질의(580)를 수신하는 단계(601, 802), 및
    상기 명령 요소를 포함하는 대응하는 결과 세트(580, 775)를 제공(610, 804)함으로써 상기 명령 질의에 응답하는 단계를 포함하는 것인 방법.
  5. 제1항에 있어서, 상기 애플리케이션은 또한 상기 광고(106)의 스폰서에 의해 제공되는 제품 또는 서비스의 획득을 용이하게 해주는 단계(408, 422)를 수행하도록 구성되어 있는 것인 방법.
  6. 컴퓨터-구현 광고 컴포넌트(110)로서,
    소프트웨어 애플리케이션(102) 내에서 명령(104)을 광고(106)에 링크시키는 것을 용이하게 해주도록 구성되어 있는 것인 컴퓨터-구현 광고 컴포넌트.
  7. 제6항에 있어서, 상기 컴포넌트(110)는 상기 소프트웨어 애플리케이션(102) 내에서 다수의 광고주(112)와 연관된 광고(106)를 명령(104)에 링크시키도록 구성되어 있는 것인 컴퓨터-구현 광고 컴포넌트.
  8. 제6항에 있어서, 상기 컴포넌트는 상기 애플리케이션 내에서 명령(104)에 링크될 수 있는 광고들의 목록을 상기 소프트웨어 애플리케이션의 스폰서(108)에게 제공하도록 구성되어 있는 것인 컴퓨터-구현 광고 컴포넌트.
  9. 제8항에 있어서, 상기 컴포넌트는 상기 애플리케이션 내에서의 광고 게재에 대해 상기 스폰서(108)에 보상을 하는 것을 용이하게 해주도록(440) 구성되어 있는 것인 컴퓨터-구현 광고 컴포넌트.
  10. 제9항에 있어서, 상기 컴포넌트는 복수의 서로 다른 보상 모델(432, 434, 436, 438)에 따라 보상을 용이하게 해주도록(440) 구성되어 있는 것인 컴퓨터-구현 광고 컴포넌트.
  11. 제6항에 있어서, 상기 컴포넌트는 상기 애플리케이션과 연관된 명령들(104)의 목록을 광고주(112)에 제공하도록(450) 구성되어 있는 것인 컴퓨터-구현 광고 컴포넌트.
  12. 제6항에 있어서, 상기 컴포넌트는 다수의 애플리케이션과 연관된 명령들(104)의 목록을 광고주(112)에게 제공하도록(450) 구성되어 있는 것인 컴퓨터-구현 광고 컴포넌트.
  13. 제6항에 있어서, 상기 컴포넌트는 주어진 명령 또는 애플리케이션의 광고 소구(advertising appeal)를 평가하기 위한 객관적인 기준을 광고주(112)에게 제공하도록 구성되어 있는 것인 컴퓨터-구현 광고 컴포넌트.
  14. 제6항에 있어서, 상기 컴포넌트는 광고주(112)로부터 명령 질의를 수신하도록(832) 구성되어 있는 것인 컴퓨터-구현 광고 컴포넌트.
  15. 제6항에 있어서, 상기 컴포넌트는 대응하는 명령 질의에 기초하여 광고주에게 명령들의 결과 세트를 제공하도록 구성되어 있는 것인 컴퓨터-구현 광고 컴포넌트.
  16. 제6항에 있어서, 상기 컴포넌트는 명령을 질의하기 위해 애플리케이션 내에서 이용되는 질의어와 관련된 정보를 광고주에게 제공하도록 구성되어 있는 것인 컴퓨터-구현 광고 컴포넌트.
  17. 제6항에 있어서, 상기 컴포넌트는 다수의 광고주가 명령에 관련된 광고 권리에 대해 입찰할 수 있게 해주도록 구성되어 있는 것인 컴퓨터-구현 광고 컴포넌트.
  18. 소프트웨어 애플리케이션 내에서 광고를 명령(104)에 링크시키는 컴퓨터-구현 방법으로서,
    광고주(112)로부터 명령 질의를 수신하는 단계(832), 및
    상기 명령 질의에 기초하여, 상기 광고주(112)에게 결과 세트를 제공하는 단계(836)를 포함하는, 소프트웨어 애플리케이션 내에서 광고를 명령에 링크시키는 컴퓨터-구현 방법.
  19. 제18항에 있어서, 결과 세트를 제공하는 단계는 명령(104)을 질의하기 위해 사용자에 의해 이용되는 적어도 하나의 질의어의 표시를 제공하는 단계를 포함하는 것인, 소프트웨어 애플리케이션 내에서 광고를 명령에 링크시키는 컴퓨터-구현 방법.
  20. 제17항에 있어서, 결과 세트를 제공하는 단계는 복수의 애플리케이션(102)과 연관된 복수의 명령(104)의 표시를 제공하는 단계를 포함하는 것인, 소프트웨어 애플리케이션 내에서 광고를 명령에 링크시키는 컴퓨터-구현 방법.
KR20087028348A 2006-05-26 2007-05-04 내장된 광고를 갖는 컴퓨터 애플리케이션, 컴퓨터-구현 광고 컴포넌트 및 컴퓨터 구현 방법 KR101479348B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/441,598 2006-05-26
US11/441,598 US20070276728A1 (en) 2006-05-26 2006-05-26 Software applications with embedded advertisements
PCT/US2007/010869 WO2007139659A1 (en) 2006-05-26 2007-05-04 Software applications with embedded advertisements

Publications (2)

Publication Number Publication Date
KR20090010210A true KR20090010210A (ko) 2009-01-29
KR101479348B1 KR101479348B1 (ko) 2015-01-07

Family

ID=38750671

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20087028348A KR101479348B1 (ko) 2006-05-26 2007-05-04 내장된 광고를 갖는 컴퓨터 애플리케이션, 컴퓨터-구현 광고 컴포넌트 및 컴퓨터 구현 방법

Country Status (5)

Country Link
US (1) US20070276728A1 (ko)
KR (1) KR101479348B1 (ko)
CN (1) CN101449285A (ko)
RU (1) RU2008146515A (ko)
WO (1) WO2007139659A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101112606B1 (ko) * 2010-02-16 2012-02-15 민무홍 네트워크 기반의 광고주-프로그램개발자 매칭 시스템 및 매칭 방법
KR101246599B1 (ko) * 2009-12-07 2013-03-25 에스케이플래닛 주식회사 Gpos 기반의 광고 서버 및 광고 방법

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009845B2 (en) * 2007-02-27 2015-04-14 Red Hat, Inc. Distributing advertisement-supported software while ensuring certain software freedoms by license
US20080232561A1 (en) * 2007-03-20 2008-09-25 Microsoft Corporation Advertising funded data access services
CN101692738B (zh) * 2007-06-08 2013-08-07 夏普株式会社 移动通讯系统、基站装置及移动站装置
WO2009026341A1 (en) * 2007-08-20 2009-02-26 Tinbu, Llc Increasing website revenue generation through distribution of interactive web content
TW200937254A (en) * 2008-02-29 2009-09-01 Inventec Appliances Corp A method for inputting control commands and a handheld device thereof
US20090248524A1 (en) * 2008-03-26 2009-10-01 Jonathan Defoy Systems, methods and apparatus for the display of advertisements in a software application
US20090248484A1 (en) * 2008-03-28 2009-10-01 Microsoft Corporation Automatic customization and rendering of ads based on detected features in a web page
US20090259537A1 (en) * 2008-04-14 2009-10-15 Microsoft Corporation Advertisement-funded software
US20100030648A1 (en) * 2008-08-01 2010-02-04 Microsoft Corporation Social media driven advertisement targeting
US9892103B2 (en) * 2008-08-18 2018-02-13 Microsoft Technology Licensing, Llc Social media guided authoring
US20100057772A1 (en) * 2008-08-29 2010-03-04 Microsoft Corporation Automatic determination of an entity's searchable social network using role-based inferences
EP2224681B1 (en) * 2009-02-27 2011-05-04 Research In Motion Limited Communications system providing personalized mobile wireless communications device notifications and related methods
EP2224680B1 (en) * 2009-02-27 2011-05-18 Research In Motion Limited communications system providing personalized mobile wireless communications device notifications and related methods
EP2224332A1 (en) * 2009-02-27 2010-09-01 Research In Motion Limited Communications system providing changeable mobile wireless communications device application skins based upon bidding and related methods
EP2224331A1 (en) * 2009-02-27 2010-09-01 Research In Motion Limited Mobile wireless communications system providing device icon notification indicia framing and related methods
US20110066506A1 (en) * 2009-09-11 2011-03-17 Social App Holdings, LLC Social networking monetization system and method
US20120130801A1 (en) * 2010-05-27 2012-05-24 Victor Baranov System and method for mobile advertising
CN102591672A (zh) * 2011-01-11 2012-07-18 酷手机多媒体股份有限公司 广告更新与播放的方法及其系统
CN102147728A (zh) * 2011-04-02 2011-08-10 游传信息技术(上海)有限公司 一种在游戏中插入广告的方法
WO2014043524A1 (en) * 2012-09-13 2014-03-20 Aviary Inc. System and method for producing edited images using embedded plug-in
US20150095160A1 (en) * 2013-10-01 2015-04-02 Paschar Llc Method and system for providing advertising on mobile devices
US9894523B2 (en) * 2014-02-24 2018-02-13 Sierra Wireless, Inc. Wireless device customization resources
CN106162238A (zh) * 2015-04-02 2016-11-23 万歌有限公司 用于将软件应用程序传送至使用广告的设备的系统和方法
CN105468419A (zh) * 2015-12-23 2016-04-06 北京金山安全软件有限公司 一种基于应用软件实现播报的方法、装置及电子设备
US10599299B2 (en) * 2016-03-25 2020-03-24 Adobe Inc. Recommending a transition from use of a limited-functionality application to a full-functionality application in a digital medium environment

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933811A (en) * 1996-08-20 1999-08-03 Paul D. Angles System and method for delivering customized advertisements within interactive communication systems
US5931901A (en) * 1996-12-09 1999-08-03 Robert L. Wolfe Programmed music on demand from the internet
MXPA98006863A (es) * 1996-12-25 2005-02-25 Sony Corp Sistema de maquina de juegos, sistema de transmision, sistema y metodo de distribucion de datos, yaparato y metodo para ejecutar el programa.
EP1076871A1 (en) * 1998-05-15 2001-02-21 Unicast Communications Corporation A technique for implementing browser-initiated network-distributed advertising and for interstitially displaying an advertisement
US6216112B1 (en) * 1998-05-27 2001-04-10 William H. Fuller Method for software distribution and compensation with replenishable advertisements
KR20000012178A (ko) * 1999-04-20 2000-03-06 주진용 화일다운로드및웹브라우져화면을이용한광고방법
KR20000030060A (ko) * 1999-06-23 2000-06-05 주진용 소프트웨어를 이용한 광고방법
JP2001326914A (ja) * 2000-03-08 2001-11-22 Sony Corp 電子情報内容配信処理システム、情報配信装置、情報処理装置及び電子情報内容配信処理方法
US8843590B2 (en) * 2000-05-31 2014-09-23 Ebm/Ip, Llc Systems, methods and computer program products for facilitating display of content within application programs executing on electronic devices
US20020022516A1 (en) * 2000-07-17 2002-02-21 Forden Christopher Allen Advertising inside electronic games
US6725203B1 (en) * 2000-10-12 2004-04-20 E-Book Systems Pte Ltd. Method and system for advertisement using internet browser to insert advertisements
US8122236B2 (en) * 2001-10-24 2012-02-21 Aol Inc. Method of disseminating advertisements using an embedded media player page
KR20020037976A (ko) * 2000-11-16 2002-05-23 김정수 마우스 클릭 시 나타나는 메뉴를 통한 인터넷상의 광고 및정보 제공방법
US20020082909A1 (en) * 2000-12-11 2002-06-27 Hobbs George Bradley Print processing system and method with interface advertising
KR20010025456A (ko) * 2000-12-28 2001-04-06 황광해 인터넷상에서의 이동버튼을 이용한 광고 방법 및 장치
KR20020072016A (ko) * 2001-03-08 2002-09-14 오세준 검색어를 통한 웹사용자 타켓광고방법
US7996492B2 (en) * 2002-02-20 2011-08-09 Hewlett-Packard Development Company, L.P. System for providing information regarding network resources
US7136875B2 (en) * 2002-09-24 2006-11-14 Google, Inc. Serving advertisements based on content
US20040148424A1 (en) * 2003-01-24 2004-07-29 Aaron Berkson Digital media distribution system with expiring advertisements
US7565625B2 (en) * 2004-05-06 2009-07-21 Pixar Toolbar slot method and apparatus
US20060294538A1 (en) * 2005-06-24 2006-12-28 Microsoft Corporation Inserting advertising content into video programming
AU2006331610C1 (en) * 2005-12-24 2013-09-26 Rich Media Club, Llc System and method for the creation, distribution and tracking of advertising via electronic networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101246599B1 (ko) * 2009-12-07 2013-03-25 에스케이플래닛 주식회사 Gpos 기반의 광고 서버 및 광고 방법
KR101112606B1 (ko) * 2010-02-16 2012-02-15 민무홍 네트워크 기반의 광고주-프로그램개발자 매칭 시스템 및 매칭 방법

Also Published As

Publication number Publication date
RU2008146515A (ru) 2010-05-27
CN101449285A (zh) 2009-06-03
US20070276728A1 (en) 2007-11-29
WO2007139659A1 (en) 2007-12-06
KR101479348B1 (ko) 2015-01-07

Similar Documents

Publication Publication Date Title
KR101479348B1 (ko) 내장된 광고를 갖는 컴퓨터 애플리케이션, 컴퓨터-구현 광고 컴포넌트 및 컴퓨터 구현 방법
US20200272631A1 (en) Selective presentation of data items
AU2008331715B2 (en) Feature-value attachment, re-ranking, and filtering for advertisements
JP5899275B2 (ja) オンラインシステムにおける広告及びコンテンツの品質スコア付けシステム及び方法
US10152730B2 (en) Systems and methods for advertising using sponsored verbs and contexts
US8849810B2 (en) Sharing user distributed search results
JP4540927B2 (ja) コンピュータ・ネットワークの検索エンジンによって生成された検索結果リスト上の位置に影響を与える多元要素の入札を可能にするためのシステム及び方法
US20080183596A1 (en) Bid system for presentation of data items
JP6408346B2 (ja) オンラインシステムにおける広告及びコンテンツの統合型市場
US20140280015A1 (en) Serving advertisements for search preview based on user intents
US20080270228A1 (en) System for displaying advertisements associated with search results
US20110015996A1 (en) Systems and Methods For Providing Keyword Related Search Results in Augmented Content for Text on a Web Page
US20120150657A1 (en) Enabling Advertisers to Bid on Abstract Objects
US11138210B2 (en) Augmenting a content item using search results content
US8732010B1 (en) Annotated advertisements and advertisement microsites
RU2591185C2 (ru) Поддерживающие подсказку рекламные объявления поиска
US20150073923A1 (en) System and method for providing interactive ebook content annotations and advertisements
US20100114698A1 (en) Advertising meta-keywords
US20210118008A1 (en) Search query advertisements

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee